sp_x86_64.c 4.9 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396783977839878399784007840178402784037840478405784067840778408784097841078411784127841378414784157841678417784187841978420784217842278423784247842578426784277842878429784307843178432784337843478435784367843778438784397844078441784427844378444784457844678447784487844978450784517845278453784547845578456784577845878459784607846178462784637846478465784667846778468784697847078471784727847378474784757847678477784787847978480784817848278483784847848578486784877848878489784907849178492784937849478495784967849778498784997850078501785027850378504785057850678507785087850978510785117851278513785147851578516785177851878519785207852178522785237852478525785267852778528785297853078531785327853378534785357853678537785387853978540785417854278543785447854578546785477854878549785507855178552785537855478555785567855778558785597856078561785627856378564785657856678567785687856978570785717857278573785747857578576785777857878579785807858178582785837858478585785867858778588785897859078591785927859378594785957859678597785987859978600786017860278603786047860578606786077860878609786107861178612786137861478615786167861778618786197862078621786227862378624786257862678627786287862978630786317863278633786347863578636786377863878639786407864178642786437864478645786467864778648786497865078651786527865378654786557865678657786587865978660786617866278663786647866578666786677866878669786707867178672786737867478675786767867778678786797868078681786827868378684786857868678687786887868978690786917869278693786947869578696786977869878699787007870178702787037870478705787067870778708787097871078711787127871378714787157871678717787187871978720787217872278723787247872578726787277872878729787307873178732787337873478735787367873778738787397874078741787427874378744787457874678747787487874978750787517875278753787547875578756787577875878759787607876178762787637876478765787667876778768787697877078771787727877378774787757877678777787787877978780787817878278783787847878578786787877878878789787907879178792787937879478795787967879778798787997880078801788027880378804788057880678807788087880978810788117881278813788147881578816788177881878819788207882178822788237882478825788267882778828788297883078831788327883378834788357883678837788387883978840788417884278843788447884578846788477884878849788507885178852788537885478855788567885778858788597886078861788627886378864788657886678867788687886978870788717887278873788747887578876788777887878879788807888178882788837888478885788867888778888788897889078891788927889378894788957889678897788987889978900789017890278903789047890578906789077890878909789107891178912789137891478915789167891778918789197892078921789227892378924789257892678927789287892978930789317893278933789347893578936789377893878939789407894178942789437894478945789467894778948789497895078951789527895378954789557895678957789587895978960789617896278963789647896578966789677896878969789707897178972789737897478975789767897778978789797898078981789827898378984789857898678987789887898978990789917899278993789947899578996789977899878999790007900179002790037900479005790067900779008790097901079011790127901379014790157901679017790187901979020790217902279023790247902579026790277902879029790307903179032790337903479035790367903779038790397904079041790427904379044790457904679047790487904979050790517905279053790547905579056790577905879059790607906179062790637906479065790667906779068790697907079071790727907379074790757907679077790787907979080790817908279083790847908579086790877908879089790907909179092790937909479095790967909779098790997910079101791027910379104791057910679107791087910979110791117911279113791147911579116791177911879119791207912179122791237912479125791267912779128791297913079131791327913379134791357913679137791387913979140791417914279143791447914579146791477914879149791507915179152791537915479155791567915779158791597916079161791627916379164791657916679167791687916979170791717917279173791747917579176791777917879179791807918179182791837918479185791867918779188791897919079191791927919379194791957919679197791987919979200792017920279203792047920579206792077920879209792107921179212792137921479215792167921779218792197922079221792227922379224792257922679227792287922979230792317923279233792347923579236792377923879239792407924179242792437924479245792467924779248792497925079251792527925379254792557925679257792587925979260792617926279263792647926579266792677926879269792707927179272792737927479275792767927779278792797928079281792827928379284792857928679287792887928979290792917929279293792947929579296792977929879299793007930179302793037930479305793067930779308793097931079311793127931379314793157931679317793187931979320793217932279323793247932579326793277932879329793307933179332793337933479335793367933779338793397934079341793427934379344793457934679347793487934979350793517935279353793547935579356793577935879359793607936179362793637936479365793667936779368793697937079371793727937379374793757937679377793787937979380793817938279383793847938579386793877938879389793907939179392793937939479395793967939779398793997940079401794027940379404794057940679407794087940979410794117941279413794147941579416794177941879419794207942179422794237942479425794267942779428794297943079431794327943379434794357943679437794387943979440794417944279443794447944579446794477944879449794507945179452794537945479455794567945779458794597946079461794627946379464794657946679467794687946979470794717947279473794747947579476794777947879479794807948179482794837948479485794867948779488794897949079491794927949379494794957949679497794987949979500795017950279503795047950579506795077950879509795107951179512795137951479515795167951779518795197952079521795227952379524795257952679527795287952979530795317953279533795347953579536795377953879539795407954179542795437954479545795467954779548795497955079551795527955379554795557955679557795587955979560795617956279563795647956579566795677956879569795707957179572795737957479575795767957779578795797958079581795827958379584795857958679587795887958979590795917959279593795947959579596795977959879599796007960179602796037960479605796067960779608796097961079611796127961379614796157961679617796187961979620796217962279623796247962579626796277962879629796307963179632796337963479635796367963779638796397964079641796427964379644796457964679647796487964979650796517965279653796547965579656796577965879659796607966179662796637966479665796667966779668796697967079671796727967379674796757967679677796787967979680796817968279683796847968579686796877968879689796907969179692796937969479695796967969779698796997970079701797027970379704797057970679707797087970979710797117971279713797147971579716797177971879719797207972179722797237972479725797267972779728797297973079731797327973379734797357973679737797387973979740797417974279743797447974579746797477974879749797507975179752797537975479755797567975779758797597976079761797627976379764797657976679767797687976979770797717977279773797747977579776797777977879779797807978179782797837978479785797867978779788797897979079791797927979379794797957979679797797987979979800798017980279803798047980579806798077980879809798107981179812798137981479815798167981779818798197982079821798227982379824798257982679827798287982979830798317983279833798347983579836798377983879839798407984179842798437984479845798467984779848798497985079851798527985379854798557985679857798587985979860798617986279863798647986579866798677986879869798707987179872798737987479875798767987779878798797988079881798827988379884798857988679887798887988979890798917989279893798947989579896798977989879899799007990179902799037990479905799067990779908799097991079911799127991379914799157991679917799187991979920799217992279923799247992579926799277992879929799307993179932799337993479935799367993779938799397994079941799427994379944799457994679947799487994979950799517995279953799547995579956799577995879959799607996179962799637996479965799667996779968799697997079971799727997379974799757997679977799787997979980799817998279983799847998579986799877998879989799907999179992799937999479995799967999779998799998000080001800028000380004800058000680007800088000980010800118001280013800148001580016800178001880019800208002180022800238002480025800268002780028800298003080031800328003380034800358003680037800388003980040800418004280043800448004580046800478004880049800508005180052800538005480055800568005780058800598006080061800628006380064800658006680067800688006980070800718007280073800748007580076800778007880079800808008180082800838008480085800868008780088800898009080091800928009380094800958009680097800988009980100801018010280103801048010580106801078010880109801108011180112801138011480115801168011780118801198012080121801228012380124801258012680127801288012980130801318013280133801348013580136801378013880139801408014180142801438014480145801468014780148801498015080151801528015380154801558015680157801588015980160801618016280163801648016580166801678016880169801708017180172801738017480175801768017780178801798018080181801828018380184801858018680187801888018980190801918019280193801948019580196801978019880199802008020180202802038020480205802068020780208802098021080211802128021380214802158021680217802188021980220802218022280223802248022580226802278022880229802308023180232802338023480235802368023780238802398024080241802428024380244802458024680247802488024980250802518025280253802548025580256802578025880259802608026180262802638026480265802668026780268802698027080271802728027380274802758027680277802788027980280802818028280283802848028580286802878028880289802908029180292802938029480295802968029780298802998030080301803028030380304803058030680307803088030980310803118031280313803148031580316803178031880319803208032180322803238032480325803268032780328803298033080331803328033380334803358033680337803388033980340803418034280343803448034580346803478034880349803508035180352803538035480355803568035780358803598036080361803628036380364803658036680367803688036980370803718037280373803748037580376803778037880379803808038180382803838038480385803868038780388803898039080391803928039380394803958039680397803988039980400804018040280403804048040580406804078040880409804108041180412804138041480415804168041780418804198042080421804228042380424804258042680427804288042980430804318043280433804348043580436804378043880439804408044180442804438044480445804468044780448804498045080451804528045380454804558045680457804588045980460804618046280463804648046580466804678046880469804708047180472804738047480475804768047780478804798048080481804828048380484804858048680487804888048980490804918049280493804948049580496804978049880499805008050180502805038050480505805068050780508805098051080511805128051380514805158051680517805188051980520805218052280523805248052580526805278052880529805308053180532805338053480535805368053780538805398054080541805428054380544805458054680547805488054980550805518055280553805548055580556805578055880559805608056180562805638056480565805668056780568805698057080571805728057380574805758057680577805788057980580805818058280583805848058580586805878058880589805908059180592805938059480595805968059780598805998060080601806028060380604806058060680607806088060980610806118061280613806148061580616806178061880619806208062180622806238062480625806268062780628806298063080631806328063380634806358063680637806388063980640806418064280643806448064580646806478064880649806508065180652806538065480655806568065780658806598066080661806628066380664806658066680667806688066980670806718067280673806748067580676806778067880679806808068180682806838068480685806868068780688806898069080691806928069380694806958069680697806988069980700807018070280703807048070580706807078070880709807108071180712807138071480715807168071780718807198072080721807228072380724807258072680727807288072980730807318073280733807348073580736807378073880739807408074180742807438074480745807468074780748807498075080751807528075380754807558075680757807588075980760807618076280763807648076580766807678076880769807708077180772807738077480775807768077780778807798078080781807828078380784807858078680787807888078980790807918079280793807948079580796807978079880799808008080180802808038080480805808068080780808808098081080811808128081380814808158081680817808188081980820808218082280823808248082580826808278082880829808308083180832808338083480835808368083780838808398084080841808428084380844808458084680847808488084980850808518085280853808548085580856808578085880859808608086180862808638086480865808668086780868808698087080871808728087380874808758087680877808788087980880808818088280883808848088580886808878088880889808908089180892808938089480895808968089780898808998090080901809028090380904809058090680907809088090980910809118091280913809148091580916809178091880919809208092180922809238092480925809268092780928809298093080931809328093380934809358093680937809388093980940809418094280943809448094580946809478094880949809508095180952809538095480955809568095780958809598096080961809628096380964809658096680967809688096980970809718097280973809748097580976809778097880979809808098180982809838098480985809868098780988809898099080991809928099380994809958099680997809988099981000810018100281003810048100581006810078100881009810108101181012810138101481015810168101781018810198102081021810228102381024810258102681027810288102981030810318103281033810348103581036810378103881039810408104181042810438104481045810468104781048810498105081051810528105381054810558105681057810588105981060810618106281063810648106581066810678106881069810708107181072810738107481075810768107781078810798108081081810828108381084810858108681087810888108981090810918109281093810948109581096810978109881099811008110181102811038110481105811068110781108811098111081111811128111381114811158111681117811188111981120811218112281123811248112581126811278112881129811308113181132811338113481135811368113781138811398114081141811428114381144811458114681147811488114981150811518115281153811548115581156811578115881159811608116181162811638116481165811668116781168811698117081171811728117381174811758117681177811788117981180811818118281183811848118581186811878118881189811908119181192811938119481195811968119781198811998120081201812028120381204812058120681207812088120981210812118121281213812148121581216812178121881219812208122181222812238122481225812268122781228812298123081231812328123381234812358123681237812388123981240812418124281243812448124581246812478124881249812508125181252812538125481255812568125781258812598126081261812628126381264812658126681267812688126981270812718127281273812748127581276812778127881279812808128181282812838128481285812868128781288812898129081291812928129381294812958129681297812988129981300813018130281303813048130581306813078130881309813108131181312813138131481315813168131781318813198132081321813228132381324813258132681327813288132981330813318133281333813348133581336813378133881339813408134181342813438134481345813468134781348813498135081351813528135381354813558135681357813588135981360813618136281363813648136581366813678136881369813708137181372813738137481375813768137781378813798138081381813828138381384813858138681387813888138981390813918139281393813948139581396813978139881399814008140181402814038140481405814068140781408814098141081411814128141381414814158141681417814188141981420814218142281423814248142581426814278142881429814308143181432814338143481435814368143781438814398144081441814428144381444814458144681447814488144981450814518145281453814548145581456814578145881459814608146181462814638146481465814668146781468814698147081471814728147381474814758147681477814788147981480814818148281483814848148581486814878148881489814908149181492814938149481495814968149781498814998150081501815028150381504815058150681507815088150981510815118151281513815148151581516815178151881519815208152181522815238152481525815268152781528815298153081531815328153381534815358153681537815388153981540815418154281543815448154581546815478154881549815508155181552815538155481555815568155781558815598156081561815628156381564815658156681567815688156981570815718157281573815748157581576815778157881579815808158181582815838158481585815868158781588815898159081591815928159381594815958159681597815988159981600816018160281603816048160581606816078160881609816108161181612816138161481615816168161781618816198162081621816228162381624816258162681627816288162981630816318163281633816348163581636816378163881639816408164181642816438164481645816468164781648816498165081651816528165381654816558165681657816588165981660816618166281663816648166581666816678166881669816708167181672816738167481675816768167781678816798168081681816828168381684816858168681687816888168981690816918169281693816948169581696816978169881699817008170181702817038170481705817068170781708817098171081711817128171381714817158171681717817188171981720817218172281723817248172581726817278172881729817308173181732817338173481735817368173781738817398174081741817428174381744817458174681747817488174981750817518175281753817548175581756817578175881759817608176181762817638176481765817668176781768817698177081771817728177381774817758177681777817788177981780817818178281783817848178581786817878178881789817908179181792817938179481795817968179781798817998180081801818028180381804818058180681807818088180981810818118181281813818148181581816818178181881819818208182181822818238182481825818268182781828818298183081831818328183381834818358183681837818388183981840818418184281843818448184581846818478184881849818508185181852818538185481855818568185781858818598186081861818628186381864818658186681867818688186981870818718187281873818748187581876818778187881879818808188181882818838188481885818868188781888818898189081891818928189381894818958189681897818988189981900819018190281903819048190581906819078190881909819108191181912819138191481915819168191781918819198192081921819228192381924819258192681927819288192981930819318193281933819348193581936819378193881939819408194181942819438194481945819468194781948819498195081951819528195381954819558195681957819588195981960819618196281963819648196581966819678196881969819708197181972819738197481975819768197781978819798198081981819828198381984819858198681987819888198981990819918199281993819948199581996819978199881999820008200182002820038200482005820068200782008820098201082011820128201382014820158201682017820188201982020820218202282023820248202582026820278202882029820308203182032820338203482035820368203782038820398204082041820428204382044820458204682047820488204982050820518205282053820548205582056820578205882059820608206182062820638206482065820668206782068820698207082071820728207382074820758207682077820788207982080820818208282083820848208582086820878208882089820908209182092820938209482095820968209782098820998210082101821028210382104821058210682107821088210982110821118211282113821148211582116821178211882119821208212182122821238212482125821268212782128821298213082131821328213382134821358213682137821388213982140821418214282143821448214582146821478214882149821508215182152821538215482155821568215782158821598216082161821628216382164821658216682167821688216982170821718217282173821748217582176821778217882179821808218182182821838218482185821868218782188821898219082191821928219382194821958219682197821988219982200822018220282203822048220582206822078220882209822108221182212822138221482215822168221782218822198222082221822228222382224822258222682227822288222982230822318223282233822348223582236822378223882239822408224182242822438224482245822468224782248822498225082251822528225382254822558225682257822588225982260822618226282263822648226582266822678226882269822708227182272822738227482275822768227782278822798228082281822828228382284822858228682287822888228982290822918229282293822948229582296822978229882299823008230182302823038230482305823068230782308823098231082311823128231382314823158231682317823188231982320823218232282323823248232582326823278232882329823308233182332823338233482335823368233782338823398234082341823428234382344823458234682347823488234982350823518235282353823548235582356823578235882359823608236182362823638236482365823668236782368823698237082371823728237382374823758237682377823788237982380823818238282383823848238582386823878238882389823908239182392823938239482395823968239782398823998240082401824028240382404824058240682407824088240982410824118241282413824148241582416824178241882419824208242182422824238242482425824268242782428824298243082431824328243382434824358243682437824388243982440824418244282443824448244582446824478244882449824508245182452824538245482455824568245782458824598246082461824628246382464824658246682467824688246982470824718247282473824748247582476824778247882479824808248182482824838248482485824868248782488824898249082491824928249382494824958249682497824988249982500825018250282503825048250582506825078250882509825108251182512825138251482515825168251782518825198252082521825228252382524825258252682527825288252982530825318253282533825348253582536825378253882539825408254182542825438254482545825468254782548825498255082551825528255382554825558255682557825588255982560825618256282563825648256582566825678256882569825708257182572825738257482575825768257782578825798258082581825828258382584825858258682587825888258982590825918259282593825948259582596825978259882599826008260182602826038260482605826068260782608826098261082611826128261382614826158261682617826188261982620826218262282623826248262582626826278262882629826308263182632826338263482635826368263782638826398264082641826428264382644826458264682647826488264982650826518265282653826548265582656826578265882659826608266182662826638266482665826668266782668826698267082671826728267382674826758267682677826788267982680826818268282683826848268582686826878268882689826908269182692826938269482695826968269782698826998270082701827028270382704827058270682707827088270982710827118271282713827148271582716827178271882719827208272182722827238272482725827268272782728827298273082731827328273382734827358273682737827388273982740827418274282743827448274582746827478274882749827508275182752827538275482755827568275782758827598276082761827628276382764827658276682767827688276982770827718277282773827748277582776827778277882779827808278182782827838278482785827868278782788827898279082791827928279382794827958279682797827988279982800828018280282803828048280582806828078280882809828108281182812828138281482815828168281782818828198282082821828228282382824828258282682827828288282982830828318283282833828348283582836828378283882839828408284182842828438284482845828468284782848828498285082851828528285382854828558285682857828588285982860828618286282863828648286582866828678286882869828708287182872828738287482875828768287782878828798288082881828828288382884828858288682887828888288982890828918289282893828948289582896828978289882899829008290182902829038290482905829068290782908829098291082911829128291382914829158291682917829188291982920829218292282923829248292582926829278292882929829308293182932829338293482935829368293782938829398294082941829428294382944829458294682947829488294982950829518295282953829548295582956829578295882959829608296182962829638296482965829668296782968829698297082971829728297382974829758297682977829788297982980829818298282983829848298582986829878298882989829908299182992829938299482995829968299782998829998300083001830028300383004830058300683007830088300983010830118301283013830148301583016830178301883019830208302183022830238302483025830268302783028830298303083031830328303383034830358303683037830388303983040830418304283043830448304583046830478304883049830508305183052830538305483055830568305783058830598306083061830628306383064830658306683067830688306983070830718307283073830748307583076830778307883079830808308183082830838308483085830868308783088830898309083091830928309383094830958309683097830988309983100831018310283103831048310583106831078310883109831108311183112831138311483115831168311783118831198312083121831228312383124831258312683127831288312983130831318313283133831348313583136831378313883139831408314183142831438314483145831468314783148831498315083151831528315383154831558315683157831588315983160831618316283163831648316583166831678316883169831708317183172831738317483175831768317783178831798318083181831828318383184831858318683187831888318983190831918319283193831948319583196831978319883199832008320183202832038320483205832068320783208832098321083211832128321383214832158321683217832188321983220832218322283223832248322583226832278322883229832308323183232832338323483235832368323783238832398324083241832428324383244832458324683247832488324983250832518325283253832548325583256832578325883259832608326183262832638326483265832668326783268832698327083271832728327383274832758327683277832788327983280832818328283283832848328583286832878328883289832908329183292832938329483295832968329783298832998330083301833028330383304833058330683307833088330983310833118331283313833148331583316833178331883319833208332183322833238332483325833268332783328833298333083331833328333383334833358333683337833388333983340833418334283343833448334583346833478334883349833508335183352833538335483355833568335783358833598336083361833628336383364833658336683367833688336983370833718337283373833748337583376833778337883379833808338183382833838338483385833868338783388833898339083391833928339383394833958339683397833988339983400834018340283403834048340583406834078340883409834108341183412834138341483415834168341783418834198342083421834228342383424834258342683427834288342983430834318343283433834348343583436834378343883439834408344183442834438344483445834468344783448834498345083451834528345383454834558345683457834588345983460834618346283463834648346583466834678346883469834708347183472834738347483475834768347783478834798348083481834828348383484834858348683487834888348983490834918349283493834948349583496834978349883499835008350183502835038350483505835068350783508835098351083511835128351383514835158351683517835188351983520835218352283523835248352583526835278352883529835308353183532835338353483535835368353783538835398354083541835428354383544835458354683547835488354983550835518355283553835548355583556835578355883559835608356183562835638356483565835668356783568835698357083571835728357383574835758357683577835788357983580835818358283583835848358583586835878358883589835908359183592835938359483595835968359783598835998360083601836028360383604836058360683607836088360983610836118361283613836148361583616836178361883619836208362183622836238362483625836268362783628836298363083631836328363383634836358363683637836388363983640836418364283643836448364583646836478364883649836508365183652836538365483655836568365783658836598366083661836628366383664836658366683667836688366983670836718367283673836748367583676836778367883679836808368183682836838368483685836868368783688836898369083691836928369383694836958369683697836988369983700837018370283703837048370583706837078370883709837108371183712837138371483715837168371783718837198372083721837228372383724837258372683727837288372983730837318373283733837348373583736837378373883739837408374183742837438374483745837468374783748837498375083751837528375383754837558375683757837588375983760837618376283763837648376583766837678376883769837708377183772837738377483775837768377783778837798378083781837828378383784837858378683787837888378983790837918379283793837948379583796837978379883799838008380183802838038380483805838068380783808838098381083811838128381383814838158381683817838188381983820838218382283823838248382583826838278382883829838308383183832838338383483835838368383783838838398384083841838428384383844838458384683847838488384983850838518385283853838548385583856838578385883859838608386183862838638386483865838668386783868838698387083871838728387383874838758387683877838788387983880838818388283883838848388583886838878388883889838908389183892838938389483895838968389783898838998390083901839028390383904839058390683907839088390983910839118391283913839148391583916839178391883919839208392183922839238392483925839268392783928839298393083931839328393383934839358393683937839388393983940839418394283943839448394583946839478394883949839508395183952839538395483955839568395783958839598396083961839628396383964839658396683967839688396983970839718397283973839748397583976839778397883979839808398183982839838398483985839868398783988839898399083991839928399383994839958399683997839988399984000840018400284003840048400584006840078400884009840108401184012840138401484015840168401784018840198402084021840228402384024840258402684027840288402984030840318403284033840348403584036840378403884039840408404184042840438404484045840468404784048840498405084051840528405384054840558405684057840588405984060840618406284063840648406584066840678406884069840708407184072840738407484075840768407784078840798408084081840828408384084840858408684087840888408984090840918409284093840948409584096840978409884099841008410184102841038410484105841068410784108841098411084111841128411384114841158411684117841188411984120841218412284123841248412584126841278412884129841308413184132841338413484135841368413784138841398414084141841428414384144841458414684147841488414984150841518415284153841548415584156841578415884159841608416184162841638416484165841668416784168841698417084171841728417384174841758417684177841788417984180841818418284183841848418584186841878418884189841908419184192841938419484195841968419784198841998420084201842028420384204842058420684207842088420984210842118421284213842148421584216842178421884219842208422184222842238422484225842268422784228842298423084231842328423384234842358423684237842388423984240842418424284243842448424584246842478424884249842508425184252842538425484255842568425784258842598426084261842628426384264842658426684267842688426984270842718427284273842748427584276842778427884279842808428184282842838428484285842868428784288842898429084291842928429384294842958429684297842988429984300843018430284303843048430584306843078430884309843108431184312843138431484315843168431784318843198432084321843228432384324843258432684327843288432984330843318433284333843348433584336843378433884339843408434184342843438434484345843468434784348843498435084351843528435384354843558435684357843588435984360843618436284363843648436584366843678436884369843708437184372843738437484375843768437784378843798438084381843828438384384843858438684387843888438984390843918439284393843948439584396843978439884399844008440184402844038440484405844068440784408844098441084411844128441384414844158441684417844188441984420844218442284423844248442584426844278442884429844308443184432844338443484435844368443784438844398444084441844428444384444844458444684447844488444984450844518445284453844548445584456844578445884459844608446184462844638446484465844668446784468844698447084471844728447384474844758447684477844788447984480844818448284483844848448584486844878448884489844908449184492844938449484495844968449784498844998450084501845028450384504845058450684507845088450984510845118451284513845148451584516845178451884519845208452184522845238452484525845268452784528845298453084531845328453384534845358453684537845388453984540845418454284543845448454584546845478454884549845508455184552845538455484555845568455784558845598456084561845628456384564845658456684567845688456984570845718457284573845748457584576845778457884579845808458184582845838458484585845868458784588845898459084591845928459384594845958459684597845988459984600846018460284603846048460584606846078460884609846108461184612846138461484615846168461784618846198462084621846228462384624846258462684627846288462984630846318463284633846348463584636846378463884639846408464184642846438464484645846468464784648846498465084651846528465384654846558465684657846588465984660846618466284663846648466584666846678466884669846708467184672846738467484675846768467784678846798468084681846828468384684846858468684687846888468984690846918469284693846948469584696846978469884699847008470184702847038470484705847068470784708847098471084711847128471384714847158471684717847188471984720847218472284723847248472584726847278472884729847308473184732847338473484735847368473784738847398474084741847428474384744847458474684747847488474984750847518475284753847548475584756847578475884759847608476184762847638476484765847668476784768847698477084771847728477384774847758477684777847788477984780847818478284783847848478584786847878478884789847908479184792847938479484795847968479784798847998480084801848028480384804848058480684807848088480984810848118481284813848148481584816848178481884819848208482184822848238482484825848268482784828848298483084831848328483384834848358483684837848388483984840848418484284843848448484584846848478484884849848508485184852848538485484855848568485784858848598486084861848628486384864848658486684867848688486984870848718487284873848748487584876848778487884879848808488184882848838488484885848868488784888848898489084891848928489384894848958489684897848988489984900849018490284903849048490584906849078490884909849108491184912849138491484915849168491784918849198492084921849228492384924849258492684927849288492984930849318493284933849348493584936849378493884939849408494184942849438494484945849468494784948849498495084951849528495384954849558495684957849588495984960849618496284963849648496584966849678496884969849708497184972849738497484975849768497784978849798498084981849828498384984849858498684987849888498984990849918499284993849948499584996849978499884999850008500185002850038500485005850068500785008850098501085011850128501385014850158501685017850188501985020850218502285023850248502585026850278502885029850308503185032850338503485035850368503785038850398504085041850428504385044850458504685047850488504985050850518505285053850548505585056850578505885059850608506185062850638506485065850668506785068850698507085071850728507385074850758507685077850788507985080850818508285083850848508585086850878508885089850908509185092850938509485095850968509785098850998510085101851028510385104851058510685107851088510985110851118511285113851148511585116851178511885119851208512185122851238512485125851268512785128851298513085131851328513385134851358513685137851388513985140851418514285143851448514585146851478514885149851508515185152851538515485155851568515785158851598516085161851628516385164851658516685167851688516985170851718517285173851748517585176851778517885179851808518185182851838518485185851868518785188851898519085191851928519385194851958519685197851988519985200852018520285203852048520585206852078520885209852108521185212852138521485215852168521785218852198522085221852228522385224852258522685227852288522985230852318523285233852348523585236852378523885239852408524185242852438524485245852468524785248852498525085251852528525385254852558525685257852588525985260852618526285263852648526585266852678526885269852708527185272852738527485275852768527785278852798528085281852828528385284852858528685287852888528985290852918529285293852948529585296852978529885299853008530185302853038530485305853068530785308853098531085311853128531385314853158531685317853188531985320853218532285323853248532585326853278532885329853308533185332853338533485335853368533785338853398534085341853428534385344853458534685347853488534985350853518535285353853548535585356853578535885359853608536185362853638536485365853668536785368853698537085371853728537385374853758537685377853788537985380853818538285383853848538585386853878538885389853908539185392853938539485395853968539785398853998540085401854028540385404854058540685407854088540985410854118541285413854148541585416854178541885419854208542185422854238542485425854268542785428854298543085431854328543385434854358543685437854388543985440854418544285443854448544585446854478544885449854508545185452854538545485455854568545785458854598546085461854628546385464854658546685467854688546985470854718547285473854748547585476854778547885479854808548185482854838548485485854868548785488854898549085491854928549385494854958549685497854988549985500855018550285503855048550585506855078550885509855108551185512855138551485515855168551785518855198552085521855228552385524855258552685527855288552985530855318553285533855348553585536855378553885539855408554185542855438554485545855468554785548855498555085551855528555385554855558555685557855588555985560855618556285563855648556585566855678556885569855708557185572855738557485575855768557785578855798558085581855828558385584855858558685587855888558985590855918559285593855948559585596855978559885599856008560185602856038560485605856068560785608856098561085611856128561385614856158561685617856188561985620856218562285623856248562585626856278562885629856308563185632856338563485635856368563785638856398564085641856428564385644856458564685647856488564985650856518565285653856548565585656856578565885659856608566185662856638566485665856668566785668856698567085671856728567385674856758567685677856788567985680856818568285683856848568585686856878568885689856908569185692856938569485695856968569785698856998570085701857028570385704857058570685707857088570985710857118571285713857148571585716857178571885719857208572185722857238572485725857268572785728857298573085731857328573385734857358573685737857388573985740857418574285743857448574585746857478574885749857508575185752857538575485755857568575785758857598576085761857628576385764857658576685767857688576985770857718577285773857748577585776857778577885779857808578185782857838578485785857868578785788857898579085791857928579385794857958579685797857988579985800858018580285803858048580585806858078580885809858108581185812858138581485815858168581785818858198582085821858228582385824858258582685827858288582985830858318583285833858348583585836858378583885839858408584185842858438584485845858468584785848858498585085851858528585385854858558585685857858588585985860858618586285863858648586585866858678586885869858708587185872858738587485875858768587785878858798588085881858828588385884858858588685887858888588985890858918589285893858948589585896858978589885899859008590185902859038590485905859068590785908859098591085911859128591385914859158591685917859188591985920859218592285923859248592585926859278592885929859308593185932859338593485935859368593785938859398594085941859428594385944859458594685947859488594985950859518595285953859548595585956859578595885959859608596185962859638596485965859668596785968859698597085971859728597385974859758597685977859788597985980859818598285983859848598585986859878598885989859908599185992859938599485995859968599785998859998600086001860028600386004860058600686007860088600986010860118601286013860148601586016860178601886019860208602186022860238602486025860268602786028860298603086031860328603386034860358603686037860388603986040860418604286043860448604586046860478604886049860508605186052860538605486055860568605786058860598606086061860628606386064860658606686067860688606986070860718607286073860748607586076860778607886079860808608186082860838608486085860868608786088860898609086091860928609386094860958609686097860988609986100861018610286103861048610586106861078610886109861108611186112861138611486115861168611786118861198612086121861228612386124861258612686127861288612986130861318613286133861348613586136861378613886139861408614186142861438614486145861468614786148861498615086151861528615386154861558615686157861588615986160861618616286163861648616586166861678616886169861708617186172861738617486175861768617786178861798618086181861828618386184861858618686187861888618986190861918619286193861948619586196861978619886199862008620186202862038620486205862068620786208862098621086211862128621386214862158621686217862188621986220862218622286223862248622586226862278622886229862308623186232862338623486235862368623786238862398624086241862428624386244862458624686247862488624986250862518625286253862548625586256862578625886259862608626186262862638626486265862668626786268862698627086271862728627386274862758627686277862788627986280862818628286283862848628586286862878628886289862908629186292862938629486295862968629786298862998630086301863028630386304863058630686307863088630986310863118631286313863148631586316863178631886319863208632186322863238632486325863268632786328863298633086331863328633386334863358633686337863388633986340863418634286343863448634586346863478634886349863508635186352863538635486355863568635786358863598636086361863628636386364863658636686367863688636986370863718637286373863748637586376863778637886379863808638186382863838638486385863868638786388863898639086391863928639386394863958639686397863988639986400864018640286403864048640586406864078640886409864108641186412864138641486415864168641786418864198642086421864228642386424864258642686427864288642986430864318643286433864348643586436864378643886439864408644186442864438644486445864468644786448864498645086451864528645386454864558645686457864588645986460864618646286463864648646586466864678646886469864708647186472864738647486475864768647786478864798648086481864828648386484864858648686487864888648986490864918649286493864948649586496864978649886499865008650186502865038650486505865068650786508865098651086511865128651386514865158651686517865188651986520865218652286523865248652586526865278652886529865308653186532865338653486535865368653786538865398654086541865428654386544865458654686547865488654986550865518655286553865548655586556865578655886559865608656186562865638656486565865668656786568865698657086571865728657386574865758657686577865788657986580865818658286583865848658586586865878658886589865908659186592865938659486595865968659786598865998660086601866028660386604866058660686607866088660986610866118661286613866148661586616866178661886619866208662186622866238662486625866268662786628866298663086631866328663386634866358663686637866388663986640866418664286643866448664586646866478664886649866508665186652866538665486655866568665786658866598666086661866628666386664866658666686667866688666986670866718667286673866748667586676866778667886679866808668186682866838668486685866868668786688866898669086691866928669386694866958669686697866988669986700867018670286703867048670586706867078670886709867108671186712867138671486715867168671786718867198672086721867228672386724867258672686727867288672986730867318673286733867348673586736867378673886739867408674186742867438674486745867468674786748867498675086751867528675386754867558675686757867588675986760867618676286763867648676586766867678676886769867708677186772867738677486775867768677786778867798678086781867828678386784867858678686787867888678986790867918679286793867948679586796867978679886799868008680186802868038680486805868068680786808868098681086811868128681386814868158681686817868188681986820868218682286823868248682586826868278682886829868308683186832868338683486835868368683786838868398684086841868428684386844868458684686847868488684986850868518685286853868548685586856868578685886859868608686186862868638686486865868668686786868868698687086871868728687386874868758687686877868788687986880868818688286883868848688586886868878688886889868908689186892868938689486895868968689786898868998690086901869028690386904869058690686907869088690986910869118691286913869148691586916869178691886919869208692186922869238692486925869268692786928869298693086931869328693386934869358693686937869388693986940869418694286943869448694586946869478694886949869508695186952869538695486955869568695786958869598696086961869628696386964869658696686967869688696986970869718697286973869748697586976869778697886979869808698186982869838698486985869868698786988869898699086991869928699386994869958699686997869988699987000870018700287003870048700587006870078700887009870108701187012870138701487015870168701787018870198702087021870228702387024870258702687027870288702987030870318703287033870348703587036870378703887039870408704187042870438704487045870468704787048870498705087051870528705387054870558705687057870588705987060870618706287063870648706587066870678706887069870708707187072870738707487075870768707787078870798708087081870828708387084870858708687087870888708987090870918709287093870948709587096870978709887099871008710187102871038710487105871068710787108871098711087111871128711387114871158711687117871188711987120871218712287123871248712587126871278712887129871308713187132871338713487135871368713787138871398714087141871428714387144871458714687147871488714987150871518715287153871548715587156871578715887159871608716187162871638716487165871668716787168871698717087171871728717387174871758717687177871788717987180871818718287183871848718587186871878718887189871908719187192871938719487195871968719787198871998720087201872028720387204872058720687207872088720987210872118721287213872148721587216872178721887219872208722187222872238722487225872268722787228872298723087231872328723387234872358723687237872388723987240872418724287243872448724587246872478724887249872508725187252872538725487255872568725787258872598726087261872628726387264872658726687267872688726987270872718727287273872748727587276872778727887279872808728187282872838728487285872868728787288872898729087291872928729387294872958729687297872988729987300873018730287303873048730587306873078730887309873108731187312873138731487315873168731787318873198732087321873228732387324873258732687327873288732987330873318733287333873348733587336873378733887339873408734187342873438734487345873468734787348873498735087351873528735387354873558735687357873588735987360873618736287363873648736587366873678736887369873708737187372873738737487375873768737787378873798738087381873828738387384873858738687387873888738987390873918739287393873948739587396873978739887399874008740187402874038740487405874068740787408874098741087411874128741387414874158741687417874188741987420874218742287423874248742587426874278742887429874308743187432874338743487435874368743787438874398744087441874428744387444874458744687447874488744987450874518745287453874548745587456874578745887459874608746187462874638746487465874668746787468874698747087471874728747387474874758747687477874788747987480874818748287483874848748587486874878748887489874908749187492874938749487495874968749787498874998750087501875028750387504875058750687507875088750987510875118751287513875148751587516875178751887519875208752187522875238752487525875268752787528875298753087531875328753387534875358753687537875388753987540875418754287543875448754587546875478754887549875508755187552875538755487555875568755787558875598756087561875628756387564875658756687567875688756987570875718757287573875748757587576875778757887579875808758187582875838758487585875868758787588875898759087591875928759387594875958759687597875988759987600876018760287603876048760587606876078760887609876108761187612876138761487615876168761787618876198762087621876228762387624876258762687627876288762987630876318763287633876348763587636876378763887639876408764187642876438764487645876468764787648876498765087651876528765387654876558765687657876588765987660876618766287663876648766587666876678766887669876708767187672876738767487675876768767787678876798768087681876828768387684876858768687687876888768987690876918769287693876948769587696876978769887699877008770187702877038770487705877068770787708877098771087711877128771387714877158771687717877188771987720877218772287723877248772587726877278772887729877308773187732877338773487735877368773787738877398774087741877428774387744877458774687747877488774987750877518775287753877548775587756877578775887759877608776187762877638776487765877668776787768877698777087771877728777387774877758777687777877788777987780877818778287783877848778587786877878778887789877908779187792877938779487795877968779787798877998780087801878028780387804878058780687807878088780987810878118781287813878148781587816878178781887819878208782187822878238782487825878268782787828878298783087831878328783387834878358783687837878388783987840878418784287843878448784587846878478784887849878508785187852878538785487855878568785787858878598786087861878628786387864878658786687867878688786987870878718787287873878748787587876878778787887879878808788187882878838788487885878868788787888878898789087891878928789387894878958789687897878988789987900879018790287903879048790587906879078790887909879108791187912879138791487915879168791787918879198792087921879228792387924879258792687927879288792987930879318793287933879348793587936879378793887939879408794187942879438794487945879468794787948879498795087951879528795387954879558795687957879588795987960879618796287963879648796587966879678796887969879708797187972879738797487975879768797787978879798798087981879828798387984879858798687987879888798987990879918799287993879948799587996879978799887999880008800188002880038800488005880068800788008880098801088011880128801388014880158801688017880188801988020880218802288023880248802588026880278802888029880308803188032880338803488035880368803788038880398804088041880428804388044880458804688047880488804988050880518805288053880548805588056880578805888059880608806188062880638806488065880668806788068880698807088071880728807388074880758807688077880788807988080880818808288083880848808588086880878808888089880908809188092880938809488095880968809788098880998810088101881028810388104881058810688107881088810988110881118811288113881148811588116881178811888119881208812188122881238812488125881268812788128881298813088131881328813388134881358813688137881388813988140881418814288143881448814588146881478814888149881508815188152881538815488155881568815788158881598816088161881628816388164881658816688167881688816988170881718817288173881748817588176881778817888179881808818188182881838818488185881868818788188881898819088191881928819388194881958819688197881988819988200882018820288203882048820588206882078820888209882108821188212882138821488215882168821788218882198822088221882228822388224882258822688227882288822988230882318823288233882348823588236882378823888239882408824188242882438824488245882468824788248882498825088251882528825388254882558825688257882588825988260882618826288263882648826588266882678826888269882708827188272882738827488275882768827788278882798828088281882828828388284882858828688287882888828988290882918829288293882948829588296882978829888299883008830188302883038830488305883068830788308883098831088311883128831388314883158831688317883188831988320883218832288323883248832588326883278832888329883308833188332883338833488335883368833788338883398834088341883428834388344883458834688347883488834988350883518835288353883548835588356883578835888359883608836188362883638836488365883668836788368883698837088371883728837388374883758837688377883788837988380883818838288383883848838588386883878838888389883908839188392883938839488395883968839788398883998840088401884028840388404884058840688407884088840988410884118841288413884148841588416884178841888419884208842188422884238842488425884268842788428884298843088431884328843388434884358843688437884388843988440884418844288443884448844588446884478844888449884508845188452884538845488455884568845788458884598846088461884628846388464884658846688467884688846988470884718847288473884748847588476884778847888479884808848188482884838848488485884868848788488884898849088491884928849388494884958849688497884988849988500885018850288503885048850588506885078850888509885108851188512885138851488515885168851788518885198852088521885228852388524885258852688527885288852988530885318853288533885348853588536885378853888539885408854188542885438854488545885468854788548885498855088551885528855388554885558855688557885588855988560885618856288563885648856588566885678856888569885708857188572885738857488575885768857788578885798858088581885828858388584885858858688587885888858988590885918859288593885948859588596885978859888599886008860188602886038860488605886068860788608886098861088611886128861388614886158861688617886188861988620886218862288623886248862588626886278862888629886308863188632886338863488635886368863788638886398864088641886428864388644886458864688647886488864988650886518865288653886548865588656886578865888659886608866188662886638866488665886668866788668886698867088671886728867388674886758867688677886788867988680886818868288683886848868588686886878868888689886908869188692886938869488695886968869788698886998870088701887028870388704887058870688707887088870988710887118871288713887148871588716887178871888719887208872188722887238872488725887268872788728887298873088731887328873388734887358873688737887388873988740887418874288743887448874588746887478874888749887508875188752887538875488755887568875788758887598876088761887628876388764887658876688767887688876988770887718877288773887748877588776887778877888779887808878188782887838878488785887868878788788887898879088791887928879388794887958879688797887988879988800888018880288803888048880588806888078880888809888108881188812888138881488815888168881788818888198882088821888228882388824888258882688827888288882988830888318883288833888348883588836888378883888839888408884188842888438884488845888468884788848888498885088851888528885388854888558885688857888588885988860888618886288863888648886588866888678886888869888708887188872888738887488875888768887788878888798888088881888828888388884888858888688887888888888988890888918889288893888948889588896888978889888899889008890188902889038890488905889068890788908889098891088911889128891388914889158891688917889188891988920889218892288923889248892588926889278892888929889308893188932889338893488935889368893788938889398894088941889428894388944889458894688947889488894988950889518895288953889548895588956889578895888959889608896188962889638896488965889668896788968889698897088971889728897388974889758897688977889788897988980889818898288983889848898588986889878898888989889908899188992889938899488995889968899788998889998900089001890028900389004890058900689007890088900989010890118901289013890148901589016890178901889019890208902189022890238902489025890268902789028890298903089031890328903389034890358903689037890388903989040890418904289043890448904589046890478904889049890508905189052890538905489055890568905789058890598906089061890628906389064890658906689067890688906989070890718907289073890748907589076890778907889079890808908189082890838908489085890868908789088890898909089091890928909389094890958909689097890988909989100891018910289103891048910589106891078910889109891108911189112891138911489115891168911789118891198912089121891228912389124891258912689127891288912989130891318913289133891348913589136891378913889139891408914189142891438914489145891468914789148891498915089151891528915389154891558915689157891588915989160891618916289163891648916589166891678916889169891708917189172891738917489175891768917789178891798918089181891828918389184891858918689187891888918989190891918919289193891948919589196891978919889199892008920189202892038920489205892068920789208892098921089211892128921389214892158921689217892188921989220892218922289223892248922589226892278922889229892308923189232892338923489235892368923789238892398924089241892428924389244892458924689247892488924989250892518925289253892548925589256892578925889259892608926189262892638926489265892668926789268892698927089271892728927389274892758927689277892788927989280892818928289283892848928589286892878928889289892908929189292892938929489295892968929789298892998930089301893028930389304893058930689307893088930989310893118931289313893148931589316893178931889319893208932189322893238932489325893268932789328893298933089331893328933389334893358933689337893388933989340893418934289343893448934589346893478934889349893508935189352893538935489355893568935789358893598936089361893628936389364893658936689367893688936989370893718937289373893748937589376893778937889379893808938189382893838938489385893868938789388893898939089391893928939389394893958939689397893988939989400894018940289403894048940589406894078940889409894108941189412894138941489415894168941789418894198942089421894228942389424894258942689427894288942989430894318943289433894348943589436894378943889439894408944189442894438944489445894468944789448894498945089451894528945389454894558945689457894588945989460894618946289463894648946589466894678946889469894708947189472894738947489475894768947789478894798948089481894828948389484894858948689487894888948989490894918949289493894948949589496894978949889499895008950189502895038950489505895068950789508895098951089511895128951389514895158951689517895188951989520895218952289523895248952589526895278952889529895308953189532895338953489535895368953789538895398954089541895428954389544895458954689547895488954989550895518955289553895548955589556895578955889559895608956189562895638956489565895668956789568895698957089571895728957389574895758957689577895788957989580895818958289583895848958589586895878958889589895908959189592895938959489595895968959789598895998960089601896028960389604896058960689607896088960989610896118961289613896148961589616896178961889619896208962189622896238962489625896268962789628896298963089631896328963389634896358963689637896388963989640896418964289643896448964589646896478964889649896508965189652896538965489655896568965789658896598966089661896628966389664896658966689667896688966989670896718967289673896748967589676896778967889679896808968189682896838968489685896868968789688896898969089691896928969389694896958969689697896988969989700897018970289703897048970589706897078970889709897108971189712897138971489715897168971789718897198972089721897228972389724897258972689727897288972989730897318973289733897348973589736897378973889739897408974189742897438974489745897468974789748897498975089751897528975389754897558975689757897588975989760897618976289763897648976589766897678976889769897708977189772897738977489775897768977789778897798978089781897828978389784897858978689787897888978989790897918979289793897948979589796897978979889799898008980189802898038980489805898068980789808898098981089811898128981389814898158981689817898188981989820898218982289823898248982589826898278982889829898308983189832898338983489835898368983789838898398984089841898428984389844898458984689847898488984989850898518985289853898548985589856898578985889859898608986189862898638986489865898668986789868898698987089871898728987389874898758987689877898788987989880898818988289883898848988589886898878988889889898908989189892898938989489895898968989789898898998990089901899028990389904899058990689907899088990989910899118991289913899148991589916899178991889919899208992189922899238992489925899268992789928899298993089931899328993389934899358993689937899388993989940899418994289943899448994589946899478994889949899508995189952899538995489955899568995789958899598996089961899628996389964899658996689967899688996989970899718997289973899748997589976899778997889979899808998189982899838998489985899868998789988899898999089991899928999389994899958999689997899988999990000900019000290003900049000590006900079000890009900109001190012900139001490015900169001790018900199002090021900229002390024900259002690027900289002990030900319003290033900349003590036900379003890039900409004190042900439004490045900469004790048900499005090051900529005390054900559005690057900589005990060900619006290063900649006590066900679006890069900709007190072900739007490075900769007790078900799008090081900829008390084900859008690087900889008990090900919009290093900949009590096900979009890099901009010190102901039010490105901069010790108901099011090111901129011390114901159011690117901189011990120901219012290123901249012590126901279012890129901309013190132901339013490135901369013790138901399014090141901429014390144901459014690147901489014990150901519015290153901549015590156901579015890159901609016190162901639016490165901669016790168901699017090171901729017390174901759017690177901789017990180901819018290183901849018590186901879018890189901909019190192901939019490195901969019790198901999020090201902029020390204902059020690207902089020990210902119021290213902149021590216902179021890219902209022190222902239022490225902269022790228902299023090231902329023390234902359023690237902389023990240902419024290243902449024590246902479024890249902509025190252902539025490255902569025790258902599026090261902629026390264902659026690267902689026990270902719027290273902749027590276902779027890279902809028190282902839028490285902869028790288902899029090291902929029390294902959029690297902989029990300903019030290303903049030590306903079030890309903109031190312903139031490315903169031790318903199032090321903229032390324903259032690327903289032990330903319033290333903349033590336903379033890339903409034190342903439034490345903469034790348903499035090351903529035390354903559035690357903589035990360903619036290363903649036590366903679036890369903709037190372903739037490375903769037790378903799038090381903829038390384903859038690387903889038990390903919039290393903949039590396903979039890399904009040190402904039040490405904069040790408904099041090411904129041390414904159041690417904189041990420904219042290423904249042590426904279042890429904309043190432904339043490435904369043790438904399044090441904429044390444904459044690447904489044990450904519045290453904549045590456904579045890459904609046190462904639046490465904669046790468904699047090471904729047390474904759047690477904789047990480904819048290483904849048590486904879048890489904909049190492904939049490495904969049790498904999050090501905029050390504905059050690507905089050990510905119051290513905149051590516905179051890519905209052190522905239052490525905269052790528905299053090531905329053390534905359053690537905389053990540905419054290543905449054590546905479054890549905509055190552905539055490555905569055790558905599056090561905629056390564905659056690567905689056990570905719057290573905749057590576905779057890579905809058190582905839058490585905869058790588905899059090591905929059390594905959059690597905989059990600906019060290603906049060590606906079060890609906109061190612906139061490615906169061790618906199062090621906229062390624906259062690627906289062990630906319063290633906349063590636906379063890639906409064190642906439064490645906469064790648906499065090651906529065390654906559065690657906589065990660906619066290663906649066590666906679066890669906709067190672906739067490675906769067790678906799068090681906829068390684906859068690687906889068990690906919069290693906949069590696906979069890699907009070190702907039070490705907069070790708907099071090711907129071390714907159071690717907189071990720907219072290723907249072590726907279072890729907309073190732907339073490735907369073790738907399074090741907429074390744907459074690747907489074990750907519075290753907549075590756907579075890759907609076190762907639076490765907669076790768907699077090771907729077390774907759077690777907789077990780907819078290783907849078590786907879078890789907909079190792907939079490795907969079790798907999080090801908029080390804908059080690807908089080990810908119081290813908149081590816908179081890819908209082190822908239082490825908269082790828908299083090831908329083390834908359083690837908389083990840908419084290843908449084590846908479084890849908509085190852908539085490855908569085790858908599086090861908629086390864908659086690867908689086990870908719087290873908749087590876908779087890879908809088190882908839088490885908869088790888908899089090891908929089390894908959089690897908989089990900909019090290903909049090590906909079090890909909109091190912909139091490915909169091790918909199092090921909229092390924909259092690927909289092990930909319093290933909349093590936909379093890939909409094190942909439094490945909469094790948909499095090951909529095390954909559095690957909589095990960909619096290963909649096590966909679096890969909709097190972909739097490975909769097790978909799098090981909829098390984909859098690987909889098990990909919099290993909949099590996909979099890999910009100191002910039100491005910069100791008910099101091011910129101391014910159101691017910189101991020910219102291023910249102591026910279102891029910309103191032910339103491035910369103791038910399104091041910429104391044910459104691047910489104991050910519105291053910549105591056910579105891059910609106191062910639106491065910669106791068910699107091071910729107391074910759107691077910789107991080910819108291083910849108591086910879108891089910909109191092910939109491095910969109791098910999110091101911029110391104911059110691107911089110991110911119111291113911149111591116911179111891119911209112191122911239112491125911269112791128911299113091131911329113391134911359113691137911389113991140911419114291143911449114591146911479114891149911509115191152911539115491155911569115791158911599116091161911629116391164911659116691167911689116991170911719117291173911749117591176911779117891179911809118191182911839118491185911869118791188911899119091191911929119391194911959119691197911989119991200912019120291203912049120591206912079120891209912109121191212912139121491215912169121791218912199122091221912229122391224912259122691227912289122991230912319123291233912349123591236912379123891239912409124191242912439124491245912469124791248912499125091251912529125391254912559125691257912589125991260912619126291263912649126591266912679126891269912709127191272912739127491275912769127791278912799128091281912829128391284912859128691287912889128991290912919129291293912949129591296912979129891299913009130191302913039130491305913069130791308913099131091311913129131391314913159131691317913189131991320913219132291323913249132591326913279132891329913309133191332913339133491335913369133791338913399134091341913429134391344913459134691347913489134991350913519135291353913549135591356913579135891359913609136191362913639136491365913669136791368913699137091371913729137391374913759137691377913789137991380913819138291383913849138591386913879138891389913909139191392913939139491395913969139791398913999140091401914029140391404914059140691407914089140991410914119141291413914149141591416914179141891419914209142191422914239142491425914269142791428914299143091431914329143391434914359143691437914389143991440914419144291443914449144591446914479144891449914509145191452914539145491455914569145791458914599146091461914629146391464914659146691467914689146991470914719147291473914749147591476914779147891479914809148191482914839148491485914869148791488914899149091491914929149391494914959149691497914989149991500915019150291503915049150591506915079150891509915109151191512915139151491515915169151791518915199152091521915229152391524915259152691527915289152991530915319153291533915349153591536915379153891539915409154191542915439154491545915469154791548915499155091551915529155391554915559155691557915589155991560915619156291563915649156591566915679156891569915709157191572915739157491575915769157791578915799158091581915829158391584915859158691587915889158991590915919159291593915949159591596915979159891599916009160191602916039160491605916069160791608916099161091611916129161391614916159161691617916189161991620916219162291623916249162591626916279162891629916309163191632916339163491635916369163791638916399164091641916429164391644916459164691647916489164991650916519165291653916549165591656916579165891659916609166191662916639166491665916669166791668916699167091671916729167391674916759167691677916789167991680916819168291683916849168591686916879168891689916909169191692916939169491695916969169791698916999170091701917029170391704917059170691707917089170991710917119171291713917149171591716917179171891719917209172191722917239172491725917269172791728917299173091731917329173391734917359173691737917389173991740917419174291743917449174591746917479174891749917509175191752917539175491755917569175791758917599176091761917629176391764917659176691767917689176991770917719177291773917749177591776917779177891779917809178191782917839178491785917869178791788917899179091791917929179391794917959179691797917989179991800918019180291803918049180591806918079180891809918109181191812918139181491815918169181791818918199182091821918229182391824918259182691827918289182991830918319183291833918349183591836918379183891839918409184191842918439184491845918469184791848918499185091851918529185391854918559185691857918589185991860918619186291863918649186591866918679186891869918709187191872918739187491875918769187791878918799188091881918829188391884918859188691887918889188991890918919189291893918949189591896918979189891899919009190191902919039190491905919069190791908919099191091911919129191391914919159191691917919189191991920919219192291923919249192591926919279192891929919309193191932919339193491935919369193791938919399194091941919429194391944919459194691947919489194991950919519195291953919549195591956919579195891959919609196191962919639196491965919669196791968919699197091971919729197391974919759197691977919789197991980919819198291983919849198591986919879198891989919909199191992919939199491995919969199791998919999200092001920029200392004920059200692007920089200992010920119201292013920149201592016920179201892019920209202192022920239202492025920269202792028920299203092031920329203392034920359203692037920389203992040920419204292043920449204592046920479204892049920509205192052920539205492055920569205792058920599206092061920629206392064920659206692067920689206992070920719207292073920749207592076920779207892079920809208192082920839208492085920869208792088920899209092091920929209392094920959209692097920989209992100921019210292103921049210592106921079210892109921109211192112921139211492115921169211792118921199212092121921229212392124921259212692127921289212992130921319213292133921349213592136921379213892139921409214192142921439214492145921469214792148921499215092151921529215392154921559215692157921589215992160921619216292163921649216592166921679216892169921709217192172921739217492175921769217792178921799218092181921829218392184921859218692187921889218992190921919219292193921949219592196921979219892199922009220192202922039220492205922069220792208922099221092211922129221392214922159221692217922189221992220922219222292223922249222592226922279222892229922309223192232922339223492235922369223792238922399224092241922429224392244922459224692247922489224992250922519225292253922549225592256922579225892259922609226192262922639226492265922669226792268922699227092271922729227392274922759227692277922789227992280922819228292283922849228592286922879228892289922909229192292922939229492295922969229792298922999230092301923029230392304923059230692307923089230992310923119231292313923149231592316923179231892319923209232192322923239232492325923269232792328923299233092331923329233392334923359233692337923389233992340923419234292343923449234592346923479234892349923509235192352923539235492355923569235792358923599236092361923629236392364923659236692367923689236992370923719237292373923749237592376923779237892379923809238192382923839238492385923869238792388923899239092391923929239392394923959239692397923989239992400924019240292403924049240592406924079240892409924109241192412924139241492415924169241792418924199242092421924229242392424924259242692427924289242992430924319243292433924349243592436924379243892439924409244192442924439244492445924469244792448924499245092451924529245392454924559245692457924589245992460924619246292463924649246592466924679246892469924709247192472924739247492475924769247792478924799248092481924829248392484924859248692487924889248992490924919249292493924949249592496924979249892499925009250192502925039250492505925069250792508925099251092511925129251392514925159251692517925189251992520925219252292523925249252592526925279252892529925309253192532925339253492535925369253792538925399254092541925429254392544925459254692547925489254992550925519255292553925549255592556925579255892559925609256192562925639256492565925669256792568925699257092571925729257392574925759257692577925789257992580925819258292583925849258592586925879258892589925909259192592925939259492595925969259792598925999260092601926029260392604926059260692607926089260992610926119261292613926149261592616926179261892619926209262192622926239262492625926269262792628926299263092631926329263392634926359263692637926389263992640926419264292643926449264592646926479264892649926509265192652926539265492655926569265792658926599266092661926629266392664926659266692667926689266992670926719267292673926749267592676926779267892679926809268192682926839268492685926869268792688926899269092691926929269392694926959269692697926989269992700927019270292703927049270592706927079270892709927109271192712927139271492715927169271792718927199272092721927229272392724927259272692727927289272992730927319273292733927349273592736927379273892739927409274192742927439274492745927469274792748927499275092751927529275392754927559275692757927589275992760927619276292763927649276592766927679276892769927709277192772927739277492775927769277792778927799278092781927829278392784927859278692787927889278992790927919279292793927949279592796927979279892799928009280192802928039280492805928069280792808928099281092811928129281392814928159281692817928189281992820928219282292823928249282592826928279282892829928309283192832928339283492835928369283792838928399284092841928429284392844928459284692847928489284992850928519285292853928549285592856928579285892859928609286192862928639286492865928669286792868928699287092871928729287392874928759287692877928789287992880928819288292883928849288592886928879288892889928909289192892928939289492895928969289792898928999290092901929029290392904929059290692907929089290992910929119291292913929149291592916929179291892919929209292192922929239292492925929269292792928929299293092931929329293392934929359293692937929389293992940929419294292943929449294592946929479294892949929509295192952929539295492955929569295792958929599296092961929629296392964929659296692967929689296992970929719297292973929749297592976929779297892979929809298192982929839298492985929869298792988929899299092991929929299392994929959299692997929989299993000930019300293003930049300593006930079300893009930109301193012930139301493015930169301793018930199302093021930229302393024930259302693027930289302993030930319303293033930349303593036930379303893039930409304193042930439304493045930469304793048930499305093051930529305393054930559305693057930589305993060930619306293063930649306593066930679306893069930709307193072930739307493075930769307793078930799308093081930829308393084930859308693087930889308993090930919309293093930949309593096930979309893099931009310193102931039310493105931069310793108931099311093111931129311393114931159311693117931189311993120931219312293123931249312593126931279312893129931309313193132931339313493135931369313793138931399314093141931429314393144931459314693147931489314993150931519315293153931549315593156931579315893159931609316193162931639316493165931669316793168931699317093171931729317393174931759317693177931789317993180931819318293183931849318593186931879318893189931909319193192931939319493195931969319793198931999320093201932029320393204932059320693207932089320993210932119321293213932149321593216932179321893219932209322193222932239322493225932269322793228932299323093231932329323393234932359323693237932389323993240932419324293243932449324593246932479324893249932509325193252932539325493255932569325793258932599326093261932629326393264932659326693267932689326993270932719327293273932749327593276932779327893279932809328193282932839328493285932869328793288932899329093291932929329393294932959329693297932989329993300933019330293303933049330593306933079330893309933109331193312933139331493315933169331793318933199332093321933229332393324933259332693327933289332993330933319333293333933349333593336933379333893339933409334193342933439334493345933469334793348933499335093351933529335393354933559335693357933589335993360933619336293363933649336593366933679336893369933709337193372933739337493375933769337793378933799338093381933829338393384933859338693387933889338993390933919339293393933949339593396933979339893399934009340193402934039340493405934069340793408934099341093411934129341393414934159341693417934189341993420934219342293423934249342593426934279342893429934309343193432934339343493435934369343793438934399344093441934429344393444934459344693447934489344993450934519345293453934549345593456934579345893459934609346193462934639346493465934669346793468934699347093471934729347393474934759347693477934789347993480934819348293483934849348593486934879348893489934909349193492934939349493495934969349793498934999350093501935029350393504935059350693507935089350993510935119351293513935149351593516935179351893519935209352193522935239352493525935269352793528935299353093531935329353393534935359353693537935389353993540935419354293543935449354593546935479354893549935509355193552935539355493555935569355793558935599356093561935629356393564935659356693567935689356993570935719357293573935749357593576935779357893579935809358193582935839358493585935869358793588935899359093591935929359393594935959359693597935989359993600936019360293603936049360593606936079360893609936109361193612936139361493615936169361793618936199362093621936229362393624936259362693627936289362993630936319363293633936349363593636936379363893639936409364193642936439364493645936469364793648936499365093651936529365393654936559365693657936589365993660936619366293663936649366593666936679366893669936709367193672936739367493675936769367793678936799368093681936829368393684936859368693687936889368993690936919369293693936949369593696936979369893699937009370193702937039370493705937069370793708937099371093711937129371393714937159371693717937189371993720937219372293723937249372593726937279372893729937309373193732937339373493735937369373793738937399374093741937429374393744937459374693747937489374993750937519375293753937549375593756937579375893759937609376193762937639376493765937669376793768937699377093771937729377393774937759377693777937789377993780937819378293783937849378593786937879378893789937909379193792937939379493795937969379793798937999380093801938029380393804938059380693807938089380993810938119381293813938149381593816938179381893819938209382193822938239382493825938269382793828938299383093831938329383393834938359383693837938389383993840938419384293843938449384593846938479384893849938509385193852938539385493855938569385793858938599386093861938629386393864938659386693867938689386993870938719387293873938749387593876938779387893879938809388193882938839388493885938869388793888938899389093891938929389393894938959389693897938989389993900939019390293903939049390593906939079390893909939109391193912939139391493915939169391793918939199392093921939229392393924939259392693927939289392993930939319393293933939349393593936939379393893939939409394193942939439394493945939469394793948939499395093951939529395393954939559395693957939589395993960939619396293963939649396593966939679396893969939709397193972939739397493975939769397793978939799398093981939829398393984939859398693987939889398993990939919399293993939949399593996939979399893999940009400194002940039400494005940069400794008940099401094011940129401394014940159401694017940189401994020940219402294023940249402594026940279402894029940309403194032940339403494035940369403794038940399404094041940429404394044940459404694047940489404994050940519405294053940549405594056940579405894059940609406194062940639406494065940669406794068940699407094071940729407394074940759407694077940789407994080940819408294083940849408594086940879408894089940909409194092940939409494095940969409794098940999410094101941029410394104941059410694107941089410994110941119411294113941149411594116941179411894119941209412194122941239412494125941269412794128941299413094131941329413394134941359413694137941389413994140941419414294143941449414594146941479414894149941509415194152941539415494155941569415794158941599416094161941629416394164941659416694167941689416994170941719417294173941749417594176941779417894179941809418194182941839418494185941869418794188941899419094191941929419394194941959419694197941989419994200942019420294203942049420594206942079420894209942109421194212942139421494215942169421794218942199422094221942229422394224942259422694227942289422994230942319423294233942349423594236942379423894239942409424194242942439424494245942469424794248942499425094251942529425394254942559425694257942589425994260942619426294263942649426594266942679426894269942709427194272942739427494275942769427794278942799428094281942829428394284942859428694287942889428994290942919429294293942949429594296942979429894299943009430194302943039430494305943069430794308943099431094311943129431394314943159431694317943189431994320943219432294323943249432594326943279432894329943309433194332943339433494335943369433794338943399434094341943429434394344943459434694347943489434994350943519435294353943549435594356943579435894359943609436194362943639436494365943669436794368943699437094371943729437394374943759437694377943789437994380943819438294383943849438594386943879438894389943909439194392943939439494395943969439794398943999440094401944029440394404944059440694407944089440994410944119441294413944149441594416944179441894419944209442194422944239442494425944269442794428944299443094431944329443394434944359443694437944389443994440944419444294443944449444594446944479444894449944509445194452944539445494455944569445794458944599446094461944629446394464944659446694467944689446994470944719447294473944749447594476944779447894479944809448194482944839448494485944869448794488944899449094491944929449394494944959449694497944989449994500945019450294503945049450594506945079450894509945109451194512945139451494515945169451794518945199452094521945229452394524945259452694527945289452994530945319453294533945349453594536945379453894539945409454194542945439454494545945469454794548945499455094551945529455394554945559455694557945589455994560945619456294563945649456594566945679456894569945709457194572945739457494575945769457794578945799458094581945829458394584945859458694587945889458994590945919459294593945949459594596945979459894599946009460194602946039460494605946069460794608946099461094611946129461394614946159461694617946189461994620946219462294623946249462594626946279462894629946309463194632946339463494635946369463794638946399464094641946429464394644946459464694647946489464994650946519465294653946549465594656946579465894659946609466194662946639466494665946669466794668946699467094671946729467394674946759467694677946789467994680946819468294683946849468594686946879468894689946909469194692946939469494695946969469794698946999470094701947029470394704947059470694707947089470994710947119471294713947149471594716947179471894719947209472194722947239472494725947269472794728947299473094731947329473394734947359473694737947389473994740947419474294743947449474594746947479474894749947509475194752947539475494755947569475794758947599476094761947629476394764947659476694767947689476994770947719477294773947749477594776947779477894779947809478194782947839478494785947869478794788947899479094791947929479394794947959479694797947989479994800948019480294803948049480594806948079480894809948109481194812948139481494815948169481794818948199482094821948229482394824948259482694827948289482994830948319483294833948349483594836948379483894839948409484194842948439484494845948469484794848948499485094851948529485394854948559485694857948589485994860948619486294863948649486594866948679486894869948709487194872948739487494875948769487794878948799488094881948829488394884948859488694887948889488994890948919489294893948949489594896948979489894899949009490194902949039490494905949069490794908949099491094911949129491394914949159491694917949189491994920949219492294923949249492594926949279492894929949309493194932949339493494935949369493794938949399494094941949429494394944949459494694947949489494994950949519495294953949549495594956949579495894959949609496194962949639496494965949669496794968949699497094971949729497394974949759497694977949789497994980949819498294983949849498594986949879498894989949909499194992949939499494995949969499794998949999500095001950029500395004950059500695007950089500995010950119501295013950149501595016950179501895019950209502195022950239502495025950269502795028950299503095031950329503395034950359503695037950389503995040950419504295043950449504595046950479504895049950509505195052950539505495055950569505795058950599506095061950629506395064950659506695067950689506995070950719507295073950749507595076950779507895079950809508195082950839508495085950869508795088950899509095091950929509395094950959509695097950989509995100951019510295103951049510595106951079510895109951109511195112951139511495115951169511795118951199512095121951229512395124951259512695127951289512995130951319513295133951349513595136951379513895139951409514195142951439514495145951469514795148951499515095151951529515395154951559515695157951589515995160951619516295163951649516595166951679516895169951709517195172951739517495175951769517795178951799518095181951829518395184951859518695187951889518995190951919519295193951949519595196951979519895199952009520195202952039520495205952069520795208952099521095211952129521395214952159521695217952189521995220952219522295223952249522595226952279522895229952309523195232952339523495235952369523795238952399524095241952429524395244952459524695247952489524995250952519525295253952549525595256952579525895259952609526195262952639526495265952669526795268952699527095271952729527395274952759527695277952789527995280952819528295283952849528595286952879528895289952909529195292952939529495295952969529795298952999530095301953029530395304953059530695307953089530995310953119531295313953149531595316953179531895319953209532195322953239532495325953269532795328953299533095331953329533395334953359533695337953389533995340953419534295343953449534595346953479534895349953509535195352953539535495355953569535795358953599536095361953629536395364953659536695367953689536995370953719537295373953749537595376953779537895379953809538195382953839538495385953869538795388953899539095391953929539395394953959539695397953989539995400954019540295403954049540595406954079540895409954109541195412954139541495415954169541795418954199542095421954229542395424954259542695427954289542995430954319543295433954349543595436954379543895439954409544195442954439544495445954469544795448954499545095451954529545395454954559545695457954589545995460954619546295463954649546595466954679546895469954709547195472954739547495475954769547795478954799548095481954829548395484954859548695487954889548995490954919549295493954949549595496954979549895499955009550195502955039550495505955069550795508955099551095511955129551395514955159551695517955189551995520955219552295523955249552595526955279552895529955309553195532955339553495535955369553795538955399554095541955429554395544955459554695547955489554995550955519555295553955549555595556955579555895559955609556195562955639556495565955669556795568955699557095571955729557395574955759557695577955789557995580955819558295583955849558595586955879558895589955909559195592955939559495595955969559795598955999560095601956029560395604956059560695607956089560995610956119561295613956149561595616956179561895619956209562195622956239562495625956269562795628956299563095631956329563395634956359563695637956389563995640956419564295643956449564595646956479564895649956509565195652956539565495655956569565795658956599566095661956629566395664956659566695667956689566995670956719567295673956749567595676956779567895679956809568195682956839568495685956869568795688956899569095691956929569395694956959569695697956989569995700957019570295703957049570595706957079570895709957109571195712957139571495715957169571795718957199572095721957229572395724957259572695727957289572995730957319573295733957349573595736957379573895739957409574195742957439574495745957469574795748957499575095751957529575395754957559575695757957589575995760957619576295763957649576595766957679576895769957709577195772957739577495775957769577795778957799578095781957829578395784957859578695787957889578995790957919579295793957949579595796957979579895799958009580195802958039580495805958069580795808958099581095811958129581395814958159581695817958189581995820958219582295823958249582595826958279582895829958309583195832958339583495835958369583795838958399584095841958429584395844958459584695847958489584995850958519585295853958549585595856958579585895859958609586195862958639586495865958669586795868958699587095871958729587395874958759587695877958789587995880958819588295883958849588595886958879588895889958909589195892958939589495895958969589795898958999590095901959029590395904959059590695907959089590995910959119591295913959149591595916959179591895919959209592195922959239592495925959269592795928959299593095931959329593395934959359593695937959389593995940959419594295943959449594595946959479594895949959509595195952959539595495955959569595795958959599596095961959629596395964959659596695967959689596995970959719597295973959749597595976959779597895979959809598195982959839598495985959869598795988959899599095991959929599395994959959599695997959989599996000960019600296003960049600596006960079600896009960109601196012960139601496015960169601796018960199602096021960229602396024960259602696027960289602996030960319603296033960349603596036960379603896039960409604196042960439604496045960469604796048960499605096051960529605396054960559605696057960589605996060960619606296063960649606596066960679606896069960709607196072960739607496075960769607796078960799608096081960829608396084960859608696087960889608996090960919609296093960949609596096960979609896099961009610196102961039610496105961069610796108961099611096111961129611396114961159611696117961189611996120961219612296123961249612596126961279612896129961309613196132961339613496135961369613796138961399614096141961429614396144961459614696147961489614996150961519615296153961549615596156961579615896159961609616196162961639616496165961669616796168961699617096171961729617396174961759617696177961789617996180961819618296183961849618596186961879618896189961909619196192961939619496195961969619796198961999620096201962029620396204962059620696207962089620996210962119621296213962149621596216962179621896219962209622196222962239622496225962269622796228962299623096231962329623396234962359623696237962389623996240962419624296243962449624596246962479624896249962509625196252962539625496255962569625796258962599626096261962629626396264962659626696267962689626996270962719627296273962749627596276962779627896279962809628196282962839628496285962869628796288962899629096291962929629396294962959629696297962989629996300963019630296303963049630596306963079630896309963109631196312963139631496315963169631796318963199632096321963229632396324963259632696327963289632996330963319633296333963349633596336963379633896339963409634196342963439634496345963469634796348963499635096351963529635396354963559635696357963589635996360963619636296363963649636596366963679636896369963709637196372963739637496375963769637796378963799638096381963829638396384963859638696387963889638996390963919639296393963949639596396963979639896399964009640196402964039640496405964069640796408964099641096411964129641396414964159641696417964189641996420964219642296423964249642596426964279642896429964309643196432964339643496435964369643796438964399644096441964429644396444964459644696447964489644996450964519645296453964549645596456964579645896459964609646196462964639646496465964669646796468964699647096471964729647396474964759647696477964789647996480964819648296483964849648596486964879648896489964909649196492964939649496495964969649796498964999650096501965029650396504965059650696507965089650996510965119651296513965149651596516965179651896519965209652196522965239652496525965269652796528965299653096531965329653396534965359653696537965389653996540965419654296543965449654596546965479654896549965509655196552965539655496555965569655796558965599656096561965629656396564965659656696567965689656996570965719657296573965749657596576965779657896579965809658196582965839658496585965869658796588965899659096591965929659396594965959659696597965989659996600966019660296603966049660596606966079660896609966109661196612966139661496615966169661796618966199662096621966229662396624966259662696627966289662996630966319663296633966349663596636966379663896639966409664196642966439664496645966469664796648966499665096651966529665396654966559665696657966589665996660966619666296663966649666596666966679666896669966709667196672966739667496675966769667796678966799668096681966829668396684966859668696687966889668996690966919669296693966949669596696966979669896699967009670196702967039670496705967069670796708967099671096711967129671396714967159671696717967189671996720967219672296723967249672596726967279672896729967309673196732967339673496735967369673796738967399674096741967429674396744967459674696747967489674996750967519675296753967549675596756967579675896759967609676196762967639676496765967669676796768967699677096771967729677396774967759677696777967789677996780967819678296783967849678596786967879678896789967909679196792967939679496795967969679796798967999680096801968029680396804968059680696807968089680996810968119681296813968149681596816968179681896819968209682196822968239682496825968269682796828968299683096831968329683396834968359683696837968389683996840968419684296843968449684596846968479684896849968509685196852968539685496855968569685796858968599686096861968629686396864968659686696867968689686996870968719687296873968749687596876968779687896879968809688196882968839688496885968869688796888968899689096891968929689396894968959689696897968989689996900969019690296903969049690596906969079690896909969109691196912969139691496915969169691796918969199692096921969229692396924969259692696927969289692996930969319693296933969349693596936969379693896939969409694196942969439694496945969469694796948969499695096951969529695396954969559695696957969589695996960969619696296963969649696596966969679696896969969709697196972969739697496975969769697796978969799698096981969829698396984969859698696987969889698996990969919699296993969949699596996969979699896999970009700197002970039700497005970069700797008970099701097011970129701397014970159701697017970189701997020970219702297023970249702597026970279702897029970309703197032970339703497035970369703797038970399704097041970429704397044970459704697047970489704997050970519705297053970549705597056970579705897059970609706197062970639706497065970669706797068970699707097071970729707397074970759707697077970789707997080970819708297083970849708597086970879708897089970909709197092970939709497095970969709797098970999710097101971029710397104971059710697107971089710997110971119711297113971149711597116971179711897119971209712197122971239712497125971269712797128971299713097131971329713397134971359713697137971389713997140971419714297143971449714597146971479714897149971509715197152971539715497155971569715797158971599716097161971629716397164971659716697167971689716997170971719717297173971749717597176971779717897179971809718197182971839718497185971869718797188971899719097191971929719397194971959719697197971989719997200972019720297203972049720597206972079720897209972109721197212972139721497215972169721797218972199722097221972229722397224972259722697227972289722997230972319723297233972349723597236972379723897239972409724197242972439724497245972469724797248972499725097251972529725397254972559725697257972589725997260972619726297263972649726597266972679726897269972709727197272972739727497275972769727797278972799728097281972829728397284972859728697287972889728997290972919729297293972949729597296972979729897299973009730197302973039730497305973069730797308973099731097311973129731397314973159731697317973189731997320973219732297323973249732597326973279732897329973309733197332973339733497335973369733797338973399734097341973429734397344973459734697347973489734997350973519735297353973549735597356973579735897359973609736197362973639736497365973669736797368973699737097371973729737397374973759737697377973789737997380973819738297383973849738597386973879738897389973909739197392973939739497395973969739797398973999740097401974029740397404974059740697407974089740997410974119741297413974149741597416974179741897419974209742197422974239742497425974269742797428974299743097431974329743397434974359743697437974389743997440974419744297443974449744597446974479744897449974509745197452974539745497455974569745797458974599746097461974629746397464974659746697467974689746997470974719747297473974749747597476974779747897479974809748197482974839748497485974869748797488974899749097491974929749397494974959749697497974989749997500975019750297503975049750597506975079750897509975109751197512975139751497515975169751797518975199752097521975229752397524975259752697527975289752997530975319753297533975349753597536975379753897539975409754197542975439754497545975469754797548975499755097551975529755397554975559755697557975589755997560975619756297563975649756597566975679756897569975709757197572975739757497575975769757797578975799758097581975829758397584975859758697587975889758997590975919759297593975949759597596975979759897599976009760197602976039760497605976069760797608976099761097611976129761397614976159761697617976189761997620976219762297623976249762597626976279762897629976309763197632976339763497635976369763797638976399764097641976429764397644976459764697647976489764997650976519765297653976549765597656976579765897659976609766197662976639766497665976669766797668976699767097671976729767397674976759767697677976789767997680976819768297683976849768597686976879768897689976909769197692976939769497695976969769797698976999770097701977029770397704977059770697707977089770997710977119771297713977149771597716977179771897719977209772197722977239772497725977269772797728977299773097731977329773397734977359773697737977389773997740977419774297743977449774597746977479774897749977509775197752977539775497755977569775797758977599776097761977629776397764977659776697767977689776997770977719777297773977749777597776977779777897779977809778197782977839778497785977869778797788977899779097791977929779397794977959779697797977989779997800978019780297803978049780597806978079780897809978109781197812978139781497815978169781797818978199782097821978229782397824978259782697827978289782997830978319783297833978349783597836978379783897839978409784197842978439784497845978469784797848978499785097851978529785397854978559785697857978589785997860978619786297863978649786597866978679786897869978709787197872978739787497875978769787797878978799788097881978829788397884978859788697887978889788997890978919789297893978949789597896978979789897899979009790197902979039790497905979069790797908979099791097911979129791397914979159791697917979189791997920979219792297923979249792597926979279792897929979309793197932979339793497935979369793797938979399794097941979429794397944979459794697947979489794997950979519795297953979549795597956979579795897959979609796197962979639796497965979669796797968979699797097971979729797397974979759797697977979789797997980979819798297983979849798597986979879798897989979909799197992979939799497995979969799797998979999800098001980029800398004980059800698007980089800998010980119801298013980149801598016980179801898019980209802198022980239802498025980269802798028980299803098031980329803398034980359803698037980389803998040980419804298043980449804598046980479804898049980509805198052980539805498055980569805798058980599806098061980629806398064980659806698067980689806998070980719807298073980749807598076980779807898079980809808198082980839808498085980869808798088980899809098091980929809398094980959809698097980989809998100981019810298103981049810598106981079810898109981109811198112981139811498115981169811798118981199812098121981229812398124981259812698127981289812998130981319813298133981349813598136981379813898139981409814198142981439814498145981469814798148981499815098151981529815398154981559815698157981589815998160981619816298163981649816598166981679816898169981709817198172981739817498175981769817798178981799818098181981829818398184981859818698187981889818998190981919819298193981949819598196981979819898199982009820198202982039820498205982069820798208982099821098211982129821398214982159821698217982189821998220982219822298223982249822598226982279822898229982309823198232982339823498235982369823798238982399824098241982429824398244982459824698247982489824998250982519825298253982549825598256982579825898259982609826198262982639826498265982669826798268982699827098271982729827398274982759827698277982789827998280982819828298283982849828598286982879828898289982909829198292982939829498295982969829798298982999830098301983029830398304983059830698307983089830998310983119831298313983149831598316983179831898319983209832198322983239832498325983269832798328983299833098331983329833398334983359833698337983389833998340983419834298343983449834598346983479834898349983509835198352983539835498355983569835798358983599836098361983629836398364983659836698367983689836998370983719837298373983749837598376983779837898379983809838198382983839838498385983869838798388983899839098391983929839398394983959839698397983989839998400984019840298403984049840598406984079840898409984109841198412984139841498415984169841798418984199842098421984229842398424984259842698427984289842998430984319843298433984349843598436984379843898439984409844198442984439844498445984469844798448984499845098451984529845398454984559845698457984589845998460984619846298463984649846598466984679846898469984709847198472984739847498475984769847798478984799848098481984829848398484984859848698487984889848998490984919849298493984949849598496984979849898499985009850198502985039850498505985069850798508985099851098511985129851398514985159851698517985189851998520985219852298523985249852598526985279852898529985309853198532985339853498535985369853798538985399854098541985429854398544985459854698547985489854998550985519855298553985549855598556985579855898559985609856198562985639856498565985669856798568985699857098571985729857398574985759857698577985789857998580985819858298583985849858598586985879858898589985909859198592985939859498595985969859798598985999860098601986029860398604986059860698607986089860998610986119861298613986149861598616986179861898619986209862198622986239862498625986269862798628986299863098631986329863398634986359863698637986389863998640986419864298643986449864598646986479864898649986509865198652986539865498655986569865798658986599866098661986629866398664986659866698667986689866998670986719867298673986749867598676986779867898679986809868198682986839868498685986869868798688986899869098691986929869398694986959869698697986989869998700987019870298703987049870598706987079870898709987109871198712987139871498715987169871798718987199872098721987229872398724987259872698727987289872998730987319873298733987349873598736987379873898739987409874198742987439874498745987469874798748987499875098751987529875398754987559875698757987589875998760987619876298763987649876598766987679876898769987709877198772987739877498775987769877798778987799878098781987829878398784987859878698787987889878998790987919879298793987949879598796987979879898799988009880198802988039880498805988069880798808988099881098811988129881398814988159881698817988189881998820988219882298823988249882598826988279882898829988309883198832988339883498835988369883798838988399884098841988429884398844988459884698847988489884998850988519885298853988549885598856988579885898859988609886198862988639886498865988669886798868988699887098871988729887398874988759887698877988789887998880988819888298883988849888598886988879888898889988909889198892988939889498895988969889798898988999890098901989029890398904989059890698907989089890998910989119891298913989149891598916989179891898919989209892198922989239892498925989269892798928989299893098931989329893398934989359893698937989389893998940989419894298943989449894598946989479894898949989509895198952989539895498955989569895798958989599896098961989629896398964989659896698967989689896998970989719897298973989749897598976989779897898979989809898198982989839898498985989869898798988989899899098991989929899398994989959899698997989989899999000990019900299003990049900599006990079900899009990109901199012990139901499015990169901799018990199902099021990229902399024990259902699027990289902999030990319903299033990349903599036990379903899039990409904199042990439904499045990469904799048990499905099051990529905399054990559905699057990589905999060990619906299063990649906599066990679906899069990709907199072990739907499075990769907799078990799908099081990829908399084990859908699087990889908999090990919909299093990949909599096990979909899099991009910199102991039910499105991069910799108991099911099111991129911399114991159911699117991189911999120991219912299123991249912599126991279912899129991309913199132991339913499135991369913799138991399914099141991429914399144991459914699147991489914999150991519915299153991549915599156991579915899159991609916199162991639916499165991669916799168991699917099171991729917399174991759917699177991789917999180991819918299183991849918599186991879918899189991909919199192991939919499195991969919799198991999920099201992029920399204992059920699207992089920999210992119921299213992149921599216992179921899219992209922199222992239922499225992269922799228992299923099231992329923399234992359923699237992389923999240992419924299243992449924599246992479924899249992509925199252992539925499255992569925799258992599926099261992629926399264992659926699267992689926999270992719927299273992749927599276992779927899279992809928199282992839928499285992869928799288992899929099291992929929399294992959929699297992989929999300993019930299303993049930599306993079930899309993109931199312993139931499315993169931799318993199932099321993229932399324993259932699327993289932999330993319933299333993349933599336993379933899339993409934199342993439934499345993469934799348993499935099351993529935399354993559935699357993589935999360993619936299363993649936599366993679936899369993709937199372993739937499375993769937799378993799938099381993829938399384993859938699387993889938999390993919939299393993949939599396993979939899399994009940199402994039940499405994069940799408994099941099411994129941399414994159941699417994189941999420994219942299423994249942599426994279942899429994309943199432994339943499435994369943799438994399944099441994429944399444994459944699447994489944999450994519945299453994549945599456994579945899459994609946199462994639946499465994669946799468994699947099471994729947399474994759947699477994789947999480994819948299483994849948599486994879948899489994909949199492994939949499495994969949799498994999950099501995029950399504995059950699507995089950999510995119951299513995149951599516995179951899519995209952199522995239952499525995269952799528995299953099531995329953399534995359953699537995389953999540995419954299543995449954599546995479954899549995509955199552995539955499555995569955799558995599956099561995629956399564995659956699567995689956999570995719957299573995749957599576995779957899579995809958199582995839958499585995869958799588995899959099591995929959399594995959959699597995989959999600996019960299603996049960599606996079960899609996109961199612996139961499615996169961799618996199962099621996229962399624996259962699627996289962999630996319963299633996349963599636996379963899639996409964199642996439964499645996469964799648996499965099651996529965399654996559965699657996589965999660996619966299663996649966599666996679966899669996709967199672996739967499675996769967799678996799968099681996829968399684996859968699687996889968999690996919969299693996949969599696996979969899699997009970199702997039970499705997069970799708997099971099711997129971399714997159971699717997189971999720997219972299723997249972599726997279972899729997309973199732997339973499735997369973799738997399974099741997429974399744997459974699747997489974999750997519975299753997549975599756997579975899759997609976199762997639976499765997669976799768997699977099771997729977399774997759977699777997789977999780997819978299783997849978599786997879978899789997909979199792997939979499795997969979799798997999980099801998029980399804998059980699807998089980999810998119981299813998149981599816998179981899819998209982199822998239982499825998269982799828998299983099831998329983399834998359983699837998389983999840998419984299843998449984599846998479984899849998509985199852998539985499855998569985799858998599986099861998629986399864998659986699867998689986999870998719987299873998749987599876998779987899879998809988199882998839988499885998869988799888998899989099891998929989399894998959989699897998989989999900999019990299903999049990599906999079990899909999109991199912999139991499915999169991799918999199992099921999229992399924999259992699927999289992999930999319993299933999349993599936999379993899939999409994199942999439994499945999469994799948999499995099951999529995399954999559995699957999589995999960999619996299963999649996599966999679996899969999709997199972999739997499975999769997799978999799998099981999829998399984999859998699987999889998999990999919999299993999949999599996999979999899999100000100001100002100003100004100005100006100007100008100009100010100011100012100013100014100015100016100017100018100019100020100021100022100023100024100025100026100027100028100029100030100031100032100033100034100035100036100037100038100039100040100041100042100043100044100045100046100047100048100049100050100051100052100053100054100055100056100057100058100059100060100061100062100063100064100065100066100067100068100069100070100071100072100073100074100075100076100077100078100079100080100081100082100083100084100085100086100087100088100089100090100091100092100093100094100095100096100097100098100099100100100101100102100103100104100105100106100107100108100109100110100111100112100113100114100115100116100117100118100119100120100121100122100123100124100125100126100127100128100129100130100131100132100133100134100135100136100137100138100139100140100141100142100143100144100145100146100147100148100149100150100151100152100153100154100155100156100157100158100159100160100161100162100163100164100165100166100167100168100169100170100171100172100173100174100175100176100177100178100179100180100181100182100183100184100185100186100187100188100189100190100191100192100193100194100195100196100197100198100199100200100201100202100203100204100205100206100207100208100209100210100211100212100213100214100215100216100217100218100219100220100221100222100223100224100225100226100227100228100229100230100231100232100233100234100235100236100237100238100239100240100241100242100243100244100245100246100247100248100249100250100251100252100253100254100255100256100257100258100259100260100261100262100263100264100265100266100267100268100269100270100271100272100273100274100275100276100277100278100279100280100281100282100283100284100285100286100287100288100289100290100291100292100293100294100295100296100297100298100299100300100301100302100303100304100305100306100307100308100309100310100311100312100313100314100315100316100317100318100319100320100321100322100323100324100325100326100327100328100329100330100331100332100333100334100335100336100337100338100339100340100341100342100343100344100345100346100347100348100349100350100351100352100353100354100355100356100357100358100359100360100361100362100363100364100365100366100367100368100369100370100371100372100373100374100375100376100377100378100379100380100381100382100383100384100385100386100387100388100389100390100391100392100393100394100395100396100397100398100399100400100401100402100403100404100405100406100407100408100409100410100411100412100413100414100415100416100417100418100419100420100421100422100423100424100425100426100427100428100429100430100431100432100433100434100435100436100437100438100439100440100441100442100443100444100445100446100447100448100449100450100451100452100453100454100455100456100457100458100459100460100461100462100463100464100465100466100467100468100469100470100471100472100473100474100475100476100477100478100479100480100481100482100483100484100485100486100487100488100489100490100491100492100493100494100495100496100497100498100499100500100501100502100503100504100505100506100507100508100509100510100511100512100513100514100515100516100517100518100519100520100521100522100523100524100525100526100527100528100529100530100531100532100533100534100535100536100537100538100539100540100541100542100543100544100545100546100547100548100549100550100551100552100553100554100555100556100557100558100559100560100561100562100563100564100565100566100567100568100569100570100571100572100573100574100575100576100577100578100579100580100581100582100583100584100585100586100587100588100589100590100591100592100593100594100595100596100597100598100599100600100601100602100603100604100605100606100607100608100609100610100611100612100613100614100615100616100617100618100619100620100621100622100623100624100625100626100627100628100629100630100631100632100633100634100635100636100637100638100639100640100641100642100643100644100645100646100647100648100649100650100651100652100653100654100655100656100657100658100659100660100661100662100663100664100665100666100667100668100669100670100671100672100673100674100675100676100677100678100679100680100681100682100683100684100685100686100687100688100689100690100691100692100693100694100695100696100697100698100699100700100701100702100703100704100705100706100707100708100709100710100711100712100713100714100715100716100717100718100719100720100721100722100723100724100725100726100727100728100729100730100731100732100733100734100735100736100737100738100739100740100741100742100743100744100745100746100747100748100749100750100751100752100753100754100755100756100757100758100759100760100761100762100763100764100765100766100767100768100769100770100771100772100773100774100775100776100777100778100779100780100781100782100783100784100785100786100787100788100789100790100791100792100793100794100795100796100797100798100799100800100801100802100803100804100805100806100807100808100809100810100811100812100813100814100815100816100817100818100819100820100821100822100823100824100825100826100827100828100829100830100831100832100833100834100835100836100837100838100839100840100841100842100843100844100845100846100847100848100849100850100851100852100853100854100855100856100857100858100859100860100861100862100863100864100865100866100867100868100869100870100871100872100873100874100875100876100877100878100879100880100881100882100883100884100885100886100887100888100889100890100891100892100893100894100895100896100897100898100899100900100901100902100903100904100905100906100907100908100909100910100911100912100913100914100915100916100917100918100919100920100921100922100923100924100925100926100927100928100929100930100931100932100933100934100935100936100937100938100939100940100941100942100943100944100945100946100947100948100949100950100951100952100953100954100955100956100957100958100959100960100961100962100963100964100965100966100967100968100969100970100971100972100973100974100975100976100977100978100979100980100981100982100983100984100985100986100987100988100989100990100991100992100993100994100995100996100997100998100999101000101001101002101003101004101005101006101007101008101009101010101011101012101013101014101015101016101017101018101019101020101021101022101023101024101025101026101027101028101029101030101031101032101033101034101035101036101037101038101039101040101041101042101043101044101045101046101047101048101049101050101051101052101053101054101055101056101057101058101059101060101061101062101063101064101065101066101067101068101069101070101071101072101073101074101075101076101077101078101079101080101081101082101083101084101085101086101087101088101089101090101091101092101093101094101095101096101097101098101099101100101101101102101103101104101105101106101107101108101109101110101111101112101113101114101115101116101117101118101119101120101121101122101123101124101125101126101127101128101129101130101131101132101133101134101135101136101137101138101139101140101141101142101143101144101145101146101147101148101149101150101151101152101153101154101155101156101157101158101159101160101161101162101163101164101165101166101167101168101169101170101171101172101173101174101175101176101177101178101179101180101181101182101183101184101185101186101187101188101189101190101191101192101193101194101195101196101197101198101199101200101201101202101203101204101205101206101207101208101209101210101211101212101213101214101215101216101217101218101219101220101221101222101223101224101225101226101227101228101229101230101231101232101233101234101235101236101237101238101239101240101241101242101243101244101245101246101247101248101249101250101251101252101253101254101255101256101257101258101259101260101261101262101263101264101265101266101267101268101269101270101271101272101273101274101275101276101277101278101279101280101281101282101283101284101285101286101287101288101289101290101291101292101293101294101295101296101297101298101299101300101301101302101303101304101305101306101307101308101309101310101311101312101313101314101315101316101317101318101319101320101321101322101323101324101325101326101327101328101329101330101331101332101333101334101335101336101337101338101339101340101341101342101343101344101345101346101347101348101349101350101351101352101353101354101355101356101357101358101359101360101361101362101363101364101365101366101367101368101369101370101371101372101373101374101375101376101377101378101379101380101381101382101383101384101385101386101387101388101389101390101391101392101393101394101395101396101397101398101399101400101401101402101403101404101405101406101407101408101409101410101411101412101413101414101415101416101417101418101419101420101421101422101423101424101425101426101427101428101429101430101431101432101433101434101435101436101437101438101439101440101441101442101443101444101445101446101447101448101449101450101451101452101453101454101455101456101457101458101459101460101461101462101463101464101465101466101467101468101469101470101471101472101473101474101475101476101477101478101479101480101481101482101483101484101485101486101487101488101489101490101491101492101493101494101495101496101497101498101499101500101501101502101503101504101505101506101507101508101509101510101511101512101513101514101515101516101517101518101519101520101521101522101523101524101525101526101527101528101529101530101531101532101533101534101535101536101537101538101539101540101541101542101543101544101545101546101547101548101549101550101551101552101553101554101555101556101557101558101559101560101561101562101563101564101565101566101567101568101569101570101571101572101573101574101575101576101577101578101579101580101581101582101583101584101585101586101587101588101589101590101591101592101593101594101595101596101597101598101599101600101601101602101603101604101605101606101607101608101609101610101611101612101613101614101615101616101617101618101619101620101621101622101623101624101625101626101627101628101629101630101631101632101633101634101635101636101637101638101639101640101641101642101643101644101645101646101647101648101649101650101651101652101653101654101655101656101657101658101659101660101661101662101663101664101665101666101667101668101669101670101671101672101673101674101675101676101677101678101679101680101681101682101683101684101685101686101687101688101689101690101691101692101693101694101695101696101697101698101699101700101701101702101703101704101705101706101707101708101709101710101711101712101713101714101715101716101717101718101719101720101721101722101723101724101725101726101727101728101729101730101731101732101733101734101735101736101737101738101739101740101741101742101743101744101745101746101747101748101749101750101751101752101753101754101755101756101757101758101759101760101761101762101763101764101765101766101767101768101769101770101771101772101773101774101775101776101777101778101779101780101781101782101783101784101785101786101787101788101789101790101791101792101793101794101795101796101797101798101799101800101801101802101803101804101805101806101807101808101809101810101811101812101813101814101815101816101817101818101819101820101821101822101823101824101825101826101827101828101829101830101831101832101833101834101835101836101837101838101839101840101841101842101843101844101845101846101847101848101849101850101851101852101853101854101855101856101857101858101859101860101861101862101863101864101865101866101867101868101869101870101871101872101873101874101875101876101877101878101879101880101881101882101883101884101885101886101887101888101889101890101891101892101893101894101895101896101897101898101899101900101901101902101903101904101905101906101907101908101909101910101911101912101913101914101915101916101917101918101919101920101921101922101923101924101925101926101927101928101929101930101931101932101933101934101935101936101937101938101939101940101941101942101943101944101945101946101947101948101949101950101951101952101953101954101955101956101957101958101959101960101961101962101963101964101965101966101967101968101969101970101971101972101973101974101975101976101977101978101979101980101981101982101983101984101985101986101987101988101989101990101991101992101993101994101995101996101997101998101999102000102001102002102003102004102005102006102007102008102009102010102011102012102013102014102015102016102017102018102019102020102021102022102023102024102025102026102027102028102029102030102031102032102033102034102035102036102037102038102039102040102041102042102043102044102045102046102047102048102049102050102051102052102053102054102055102056102057102058102059102060102061102062102063102064102065102066102067102068102069102070102071102072102073102074102075102076102077102078102079102080102081102082102083102084102085102086102087102088102089102090102091102092102093102094102095102096102097102098102099102100102101102102102103102104102105102106102107102108102109102110102111102112102113102114102115102116102117102118102119102120102121102122102123102124102125102126102127102128102129102130102131102132102133102134102135102136102137102138102139102140102141102142102143102144102145102146102147102148102149102150102151102152102153102154102155102156102157102158102159102160102161102162102163102164102165102166102167102168102169102170102171102172102173102174102175102176102177102178102179102180102181102182102183102184102185102186102187102188102189102190102191102192102193102194102195102196102197102198102199102200102201102202102203102204102205102206102207102208102209102210102211102212102213102214102215102216102217102218102219102220102221102222102223102224102225102226102227102228102229102230102231102232102233102234102235102236102237102238102239102240102241102242102243102244102245102246102247102248102249102250102251102252102253102254102255102256102257102258102259102260102261102262102263102264102265102266102267102268102269102270102271102272102273102274102275102276102277102278102279102280102281102282102283102284102285102286102287102288102289102290102291102292102293102294102295102296102297102298102299102300102301102302102303102304102305102306102307102308102309102310102311102312102313102314102315102316102317102318102319102320102321102322102323102324102325102326102327102328102329102330102331102332102333102334102335102336102337102338102339102340102341102342102343102344102345102346102347102348102349102350102351102352102353102354102355102356102357102358102359102360102361102362102363102364102365102366102367102368102369102370102371102372102373102374102375102376102377102378102379102380102381102382102383102384102385102386102387102388102389102390102391102392102393102394102395102396102397102398102399102400102401102402102403102404102405102406102407102408102409102410102411102412102413102414102415102416102417102418102419102420102421102422102423102424102425102426102427102428102429102430102431102432102433102434102435102436102437102438102439102440102441102442102443102444102445102446102447102448102449102450102451102452102453102454102455102456102457102458102459102460102461102462102463102464102465102466102467102468102469102470102471102472102473102474102475102476102477102478102479102480102481102482102483102484102485102486102487102488102489102490102491102492102493102494102495102496102497102498102499102500102501102502102503102504102505102506102507102508102509102510102511102512102513102514102515102516102517102518102519102520102521102522102523102524102525102526102527102528102529102530102531102532102533102534102535102536102537102538102539102540102541102542102543102544102545102546102547102548102549102550102551102552102553102554102555102556102557102558102559102560102561102562102563102564102565102566102567102568102569102570102571102572102573102574102575102576102577102578102579102580102581102582102583102584102585102586102587102588102589102590102591102592102593102594102595102596102597102598102599102600102601102602102603102604102605102606102607102608102609102610102611102612102613102614102615102616102617102618102619102620102621102622102623102624102625102626102627102628102629102630102631102632102633102634102635102636102637102638102639102640102641102642102643102644102645102646102647102648102649102650102651102652102653102654102655102656102657102658102659102660102661102662102663102664102665102666102667102668102669102670102671102672102673102674102675102676102677102678102679102680102681102682102683102684102685102686102687102688102689102690102691102692102693102694102695102696102697102698102699102700102701102702102703102704102705102706102707102708102709102710102711102712102713102714102715102716102717102718102719102720102721102722102723102724102725102726102727102728102729102730102731102732102733102734102735102736102737102738102739102740102741102742102743102744102745102746102747102748102749102750102751102752102753102754102755102756102757102758102759102760102761102762102763102764102765102766102767102768102769102770102771102772102773102774102775102776102777102778102779102780102781102782102783102784102785102786102787102788102789102790102791102792102793102794102795102796102797102798102799102800102801102802102803102804102805102806102807102808102809102810102811102812102813102814102815102816102817102818102819102820102821102822102823102824102825102826102827102828102829102830102831102832102833102834102835102836102837102838102839102840102841102842102843102844102845102846102847102848102849102850102851102852102853102854102855102856102857102858102859102860102861102862102863102864102865102866102867102868102869102870102871102872102873102874102875102876102877102878102879102880102881102882102883102884102885102886102887102888102889102890102891102892102893102894102895102896102897102898102899102900102901102902102903102904102905102906102907102908102909102910102911102912102913102914102915102916102917102918102919102920102921102922102923102924102925102926102927102928102929102930102931102932102933102934102935102936102937102938102939102940102941102942102943102944102945102946102947102948102949102950102951102952102953102954102955102956102957102958102959102960102961102962102963102964102965102966102967102968102969102970102971102972102973102974102975102976102977102978102979102980102981102982102983102984102985102986102987102988102989102990102991102992102993102994102995102996102997102998102999103000103001103002103003103004103005103006103007103008103009103010103011103012103013103014103015103016103017103018103019103020103021103022103023103024103025103026103027103028103029103030103031103032103033103034103035103036103037103038103039103040103041103042103043103044103045103046103047103048103049103050103051103052103053103054103055103056103057103058103059103060103061103062103063103064103065103066103067103068103069103070103071103072103073103074103075103076103077103078103079103080103081103082103083103084103085103086103087103088103089103090103091103092103093103094103095103096103097103098103099103100103101103102103103103104103105103106103107103108103109103110103111103112103113103114103115103116103117103118103119103120103121103122103123103124103125103126103127103128103129103130103131103132103133103134103135103136103137103138103139103140103141103142103143103144103145103146103147103148103149103150103151103152103153103154103155103156103157103158103159103160103161103162103163103164103165103166103167103168103169103170103171103172103173103174103175103176103177103178103179103180103181103182103183103184103185103186103187103188103189103190103191103192103193103194103195103196103197103198103199103200103201103202103203103204103205103206103207103208103209103210103211103212103213103214103215103216103217103218103219103220103221103222103223103224103225103226103227103228103229103230103231103232103233103234103235103236103237103238103239103240103241103242103243103244103245103246103247103248103249103250103251103252103253103254103255103256103257103258103259103260103261103262103263103264103265103266103267103268103269103270103271103272103273103274103275103276103277103278103279103280103281103282103283103284103285103286103287103288103289103290103291103292103293103294103295103296103297103298103299103300103301103302103303103304103305103306103307103308103309103310103311103312103313103314103315103316103317103318103319103320103321103322103323103324103325103326103327103328103329103330103331103332103333103334103335103336103337103338103339103340103341103342103343103344103345103346103347103348103349103350103351103352103353103354103355103356103357103358103359103360103361103362103363103364103365103366103367103368103369103370103371103372103373103374103375103376103377103378103379103380103381103382103383103384103385103386103387103388103389103390103391103392103393103394103395103396103397103398103399103400103401103402103403103404103405103406103407103408103409103410103411103412103413103414103415103416103417103418103419103420103421103422103423103424103425103426103427103428103429103430103431103432103433103434103435103436103437103438103439103440103441103442103443103444103445103446103447103448103449103450103451103452103453103454103455103456103457103458103459103460103461103462103463103464103465103466103467103468103469103470103471103472103473103474103475103476103477103478103479103480103481103482103483103484103485103486103487103488103489103490103491103492103493103494103495103496103497103498103499103500103501103502103503103504103505103506103507103508103509103510103511103512103513103514103515103516103517103518103519103520103521103522103523103524103525103526103527103528103529103530103531103532103533103534103535103536103537103538103539103540103541103542103543103544103545103546103547103548103549103550103551103552103553103554103555103556103557103558103559103560103561103562103563103564103565103566103567103568103569103570103571103572103573103574103575103576103577103578103579103580103581103582103583103584103585103586103587103588103589103590103591103592103593103594103595103596103597103598103599103600103601103602103603103604103605103606103607103608103609103610103611103612103613103614103615103616103617103618103619103620103621103622103623103624103625103626103627103628103629103630103631103632103633103634103635103636103637103638103639103640103641103642103643103644103645103646103647103648103649103650103651103652103653103654103655103656103657103658103659103660103661103662103663103664103665103666103667103668103669103670103671103672103673103674103675103676103677103678103679103680103681103682103683103684103685103686103687103688103689103690103691103692103693103694103695103696103697103698103699103700103701103702103703103704103705103706103707103708103709103710103711103712103713103714103715103716103717103718103719103720103721103722103723103724103725103726103727103728103729103730103731103732103733103734103735103736103737103738103739103740103741103742103743103744103745103746103747103748103749103750103751103752103753103754103755103756103757103758103759103760103761103762103763103764103765103766103767103768103769103770103771103772103773103774103775103776103777103778103779103780103781103782103783103784103785103786103787103788103789103790103791103792103793103794103795103796103797103798103799103800103801103802103803103804103805103806103807103808103809103810103811103812103813103814103815103816103817103818103819103820103821103822103823103824103825103826103827103828103829103830103831103832103833103834103835103836103837103838103839103840103841103842103843103844103845103846103847103848103849103850103851103852103853103854103855103856103857103858103859103860103861103862103863103864103865103866103867103868103869103870103871103872103873103874103875103876103877103878103879103880103881103882103883103884103885103886103887103888103889103890103891103892103893103894103895103896103897103898103899103900103901103902103903103904103905103906103907103908103909103910103911103912103913103914103915103916103917103918103919103920103921103922103923103924103925103926103927103928103929103930103931103932103933103934103935103936103937103938103939103940103941103942103943103944103945103946103947103948103949103950103951103952103953103954103955103956103957103958103959103960103961103962103963103964103965103966103967103968103969103970103971103972103973103974103975103976103977103978103979103980103981103982103983103984103985103986103987103988103989103990103991103992103993103994103995103996103997103998103999104000104001104002104003104004104005104006104007104008104009104010104011104012104013104014104015104016104017104018104019104020104021104022104023104024104025104026104027104028104029104030104031104032104033104034104035104036104037104038104039104040104041104042104043104044104045104046104047104048104049104050104051104052104053104054104055104056104057104058104059104060104061104062104063104064104065104066104067104068104069104070104071104072104073104074104075104076104077104078104079104080104081104082104083104084104085104086104087104088104089104090104091104092104093104094104095104096104097104098104099104100104101104102104103104104104105104106104107104108104109104110104111104112104113104114104115104116104117104118104119104120104121104122104123104124104125104126104127104128104129104130104131104132104133104134104135104136104137104138104139104140104141104142104143104144104145104146104147104148104149104150104151104152104153104154104155104156104157104158104159104160104161104162104163104164104165104166104167104168104169104170104171104172104173104174104175104176104177104178104179104180104181104182104183104184104185104186104187104188104189104190104191104192104193104194104195104196104197104198104199104200104201104202104203104204104205104206104207104208104209104210104211104212104213104214104215104216104217104218104219104220104221104222104223104224104225104226104227104228104229104230104231104232104233104234104235104236104237104238104239104240104241104242104243104244104245104246104247104248104249104250104251104252104253104254104255104256104257104258104259104260104261104262104263104264104265104266104267104268104269104270104271104272104273104274104275104276104277104278104279104280104281104282104283104284104285104286104287104288104289104290104291104292104293104294104295104296104297104298104299104300104301104302104303104304104305104306104307104308104309104310104311104312104313104314104315104316104317104318104319104320104321104322104323104324104325104326104327104328104329104330104331104332104333104334104335104336104337104338104339104340104341104342104343104344104345104346104347104348104349104350104351104352104353104354104355104356104357104358104359104360104361104362104363104364104365104366104367104368104369104370104371104372104373104374104375104376104377104378104379104380104381104382104383104384104385104386104387104388104389104390104391104392104393104394104395104396104397104398104399104400104401104402104403104404104405104406104407104408104409104410104411104412104413104414104415104416104417104418104419104420104421104422104423104424104425104426104427104428104429104430104431104432104433104434104435104436104437104438104439104440104441104442104443104444104445104446104447104448104449104450104451104452104453104454104455104456104457104458104459104460104461104462104463104464104465104466104467104468104469104470104471104472104473104474104475104476104477104478104479104480104481104482104483104484104485104486104487104488104489104490104491104492104493104494104495104496104497104498104499104500104501104502104503104504104505104506104507104508104509104510104511104512104513104514104515104516104517104518104519104520104521104522104523104524104525104526104527104528104529104530104531104532104533104534104535104536104537104538104539104540104541104542104543104544104545104546104547104548104549104550104551104552104553104554104555104556104557104558104559104560104561104562104563104564104565104566104567104568104569104570104571104572104573104574104575104576104577104578104579104580104581104582104583104584104585104586104587104588104589104590104591104592104593104594104595104596104597104598104599104600104601104602104603104604104605104606104607104608104609104610104611104612104613104614104615104616104617104618104619104620104621104622104623104624104625104626104627104628104629104630104631104632104633104634104635104636104637104638104639104640104641104642104643104644104645104646104647104648104649104650104651104652104653104654104655104656104657104658104659104660104661104662104663104664104665104666104667104668104669104670104671104672104673104674104675104676104677104678104679104680104681104682104683104684104685104686104687104688104689104690104691104692104693104694104695104696104697104698104699104700104701104702104703104704104705104706104707104708104709104710104711104712104713104714104715104716104717104718104719104720104721104722104723104724104725104726104727104728104729104730104731104732104733104734104735104736104737104738104739104740104741104742104743104744104745104746104747104748104749104750104751104752104753104754104755104756104757104758104759104760104761104762104763104764104765104766104767104768104769104770104771104772104773104774104775104776104777104778104779104780104781104782104783104784104785104786104787104788104789104790104791104792104793104794104795104796104797104798104799104800104801104802104803104804104805104806104807104808104809104810104811104812104813104814104815104816104817104818104819104820104821104822104823104824104825104826104827104828104829104830104831104832104833104834104835104836104837104838104839104840104841104842104843104844104845104846104847104848104849104850104851104852104853104854104855104856104857104858104859104860104861104862104863104864104865104866104867104868104869104870104871104872104873104874104875104876104877104878104879104880104881104882104883104884104885104886104887104888104889104890104891104892104893104894104895104896104897104898104899104900104901104902104903104904104905104906104907104908104909104910104911104912104913104914104915104916104917104918104919104920104921104922104923104924104925104926104927104928104929104930104931104932104933104934104935104936104937104938104939104940104941104942104943104944104945104946104947104948104949104950104951104952104953104954104955104956104957104958104959104960104961104962104963104964104965104966104967104968104969104970104971104972104973104974104975104976104977104978104979104980104981104982104983104984104985104986104987104988104989104990104991104992104993104994104995104996104997104998104999105000105001105002105003105004105005105006105007105008105009105010105011105012105013105014105015105016105017105018105019105020105021105022105023105024105025105026105027105028105029105030105031105032105033105034105035105036105037105038105039105040105041105042105043105044105045105046105047105048105049105050105051105052105053105054105055105056105057105058105059105060105061105062105063105064105065105066105067105068105069105070105071105072105073105074105075105076105077105078105079105080105081105082105083105084105085105086105087105088105089105090105091105092105093105094105095105096105097105098105099105100105101105102105103105104105105105106105107105108105109105110105111105112105113105114105115105116105117105118105119105120105121105122105123105124105125105126105127105128105129105130105131105132105133105134105135105136105137105138105139105140105141105142105143105144105145105146105147105148105149105150
  1. /* sp.c
  2. *
  3. * Copyright (C) 2006-2022 wolfSSL Inc.
  4. *
  5. * This file is part of wolfSSL.
  6. *
  7. * wolfSSL is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * wolfSSL is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, write to the Free Software
  19. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
  20. */
  21. /* Implementation by Sean Parkinson. */
  22. #ifdef HAVE_CONFIG_H
  23. #include <config.h>
  24. #endif
  25. #include <wolfssl/wolfcrypt/settings.h>
  26. #if defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH) || \
  27. defined(WOLFSSL_HAVE_SP_ECC)
  28. #include <wolfssl/wolfcrypt/error-crypt.h>
  29. #include <wolfssl/wolfcrypt/cpuid.h>
  30. #ifdef NO_INLINE
  31. #include <wolfssl/wolfcrypt/misc.h>
  32. #else
  33. #define WOLFSSL_MISC_INCLUDED
  34. #include <wolfcrypt/src/misc.c>
  35. #endif
  36. #ifdef RSA_LOW_MEM
  37. #ifndef WOLFSSL_SP_SMALL
  38. #define WOLFSSL_SP_SMALL
  39. #endif
  40. #endif
  41. #include <wolfssl/wolfcrypt/sp.h>
  42. #ifdef WOLFSSL_SP_X86_64_ASM
  43. #define SP_PRINT_NUM(var, name, total, words, bits) \
  44. do { \
  45. int ii; \
  46. fprintf(stderr, name "=0x"); \
  47. for (ii = ((bits + 63) / 64) - 1; ii >= 0; ii--) \
  48. fprintf(stderr, SP_PRINT_FMT, (var)[ii]); \
  49. fprintf(stderr, "\n"); \
  50. } while (0)
  51. #define SP_PRINT_VAL(var, name) \
  52. fprintf(stderr, name "=0x" SP_PRINT_FMT "\n", var)
  53. #define SP_PRINT_INT(var, name) \
  54. fprintf(stderr, name "=%d\n", var)
  55. #if defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH)
  56. #ifndef WOLFSSL_SP_NO_2048
  57. #ifdef __cplusplus
  58. extern "C" {
  59. #endif
  60. extern void sp_2048_from_bin_bswap(sp_digit* r, int size, const byte* a, int n);
  61. #ifdef __cplusplus
  62. }
  63. #endif
  64. #ifdef __cplusplus
  65. extern "C" {
  66. #endif
  67. extern void sp_2048_from_bin_movbe(sp_digit* r, int size, const byte* a, int n);
  68. #ifdef __cplusplus
  69. }
  70. #endif
  71. /* Read big endian unsigned byte array into r.
  72. *
  73. * r A single precision integer.
  74. * size Maximum number of bytes to convert
  75. * a Byte array.
  76. * n Number of bytes in array to read.
  77. */
  78. static void sp_2048_from_bin(sp_digit* r, int size, const byte* a, int n)
  79. {
  80. #ifndef NO_MOVBE_SUPPORT
  81. word32 cpuid_flags = cpuid_get_flags();
  82. if (IS_INTEL_MOVBE(cpuid_flags)) {
  83. sp_2048_from_bin_movbe(r, size, a, n);
  84. }
  85. else
  86. #endif
  87. {
  88. sp_2048_from_bin_bswap(r, size, a, n);
  89. }
  90. }
  91. /* Convert an mp_int to an array of sp_digit.
  92. *
  93. * r A single precision integer.
  94. * size Maximum number of bytes to convert
  95. * a A multi-precision integer.
  96. */
  97. static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
  98. {
  99. #if DIGIT_BIT == 64
  100. int j;
  101. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  102. for (j = a->used; j < size; j++) {
  103. r[j] = 0;
  104. }
  105. #elif DIGIT_BIT > 64
  106. int i;
  107. int j = 0;
  108. word32 s = 0;
  109. r[0] = 0;
  110. for (i = 0; i < a->used && j < size; i++) {
  111. r[j] |= ((sp_digit)a->dp[i] << s);
  112. r[j] &= 0xffffffffffffffffl;
  113. s = 64U - s;
  114. if (j + 1 >= size) {
  115. break;
  116. }
  117. /* lint allow cast of mismatch word32 and mp_digit */
  118. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  119. while ((s + 64U) <= (word32)DIGIT_BIT) {
  120. s += 64U;
  121. r[j] &= 0xffffffffffffffffl;
  122. if (j + 1 >= size) {
  123. break;
  124. }
  125. if (s < (word32)DIGIT_BIT) {
  126. /* lint allow cast of mismatch word32 and mp_digit */
  127. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  128. }
  129. else {
  130. r[++j] = (sp_digit)0;
  131. }
  132. }
  133. s = (word32)DIGIT_BIT - s;
  134. }
  135. for (j++; j < size; j++) {
  136. r[j] = 0;
  137. }
  138. #else
  139. int i;
  140. int j = 0;
  141. int s = 0;
  142. r[0] = 0;
  143. for (i = 0; i < a->used && j < size; i++) {
  144. r[j] |= ((sp_digit)a->dp[i]) << s;
  145. if (s + DIGIT_BIT >= 64) {
  146. r[j] &= 0xffffffffffffffffl;
  147. if (j + 1 >= size) {
  148. break;
  149. }
  150. s = 64 - s;
  151. if (s == DIGIT_BIT) {
  152. r[++j] = 0;
  153. s = 0;
  154. }
  155. else {
  156. r[++j] = a->dp[i] >> s;
  157. s = DIGIT_BIT - s;
  158. }
  159. }
  160. else {
  161. s += DIGIT_BIT;
  162. }
  163. }
  164. for (j++; j < size; j++) {
  165. r[j] = 0;
  166. }
  167. #endif
  168. }
  169. #ifdef __cplusplus
  170. extern "C" {
  171. #endif
  172. extern void sp_2048_to_bin_bswap_32(sp_digit* r, byte* a);
  173. #ifdef __cplusplus
  174. }
  175. #endif
  176. #ifdef __cplusplus
  177. extern "C" {
  178. #endif
  179. extern void sp_2048_to_bin_movbe_32(sp_digit* r, byte* a);
  180. #ifdef __cplusplus
  181. }
  182. #endif
  183. /* Write r as big endian to byte array.
  184. * Fixed length number of bytes written: 256
  185. *
  186. * r A single precision integer.
  187. * a Byte array.
  188. */
  189. static void sp_2048_to_bin_32(sp_digit* r, byte* a)
  190. {
  191. #ifndef NO_MOVBE_SUPPORT
  192. word32 cpuid_flags = cpuid_get_flags();
  193. if (IS_INTEL_MOVBE(cpuid_flags)) {
  194. sp_2048_to_bin_movbe_32(r, a);
  195. }
  196. else
  197. #endif
  198. {
  199. sp_2048_to_bin_bswap_32(r, a);
  200. }
  201. }
  202. #if (defined(WOLFSSL_HAVE_SP_RSA) && (!defined(WOLFSSL_RSA_PUBLIC_ONLY) || !defined(WOLFSSL_SP_SMALL))) || defined(WOLFSSL_HAVE_SP_DH)
  203. /* Normalize the values in each word to 64.
  204. *
  205. * a Array of sp_digit to normalize.
  206. */
  207. #define sp_2048_norm_32(a)
  208. #endif /* (WOLFSSL_HAVE_SP_RSA && (!WOLFSSL_RSA_PUBLIC_ONLY || !WOLFSSL_SP_SMALL)) || WOLFSSL_HAVE_SP_DH */
  209. /* Normalize the values in each word to 64.
  210. *
  211. * a Array of sp_digit to normalize.
  212. */
  213. #define sp_2048_norm_32(a)
  214. #ifdef __cplusplus
  215. extern "C" {
  216. #endif
  217. extern void sp_2048_mul_16(sp_digit* r, const sp_digit* a, const sp_digit* b);
  218. #ifdef __cplusplus
  219. }
  220. #endif
  221. #ifdef __cplusplus
  222. extern "C" {
  223. #endif
  224. extern void sp_2048_mul_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit* b);
  225. #ifdef __cplusplus
  226. }
  227. #endif
  228. #ifdef __cplusplus
  229. extern "C" {
  230. #endif
  231. extern sp_digit sp_2048_add_16(sp_digit* r, const sp_digit* a, const sp_digit* b);
  232. #ifdef __cplusplus
  233. }
  234. #endif
  235. #ifdef __cplusplus
  236. extern "C" {
  237. #endif
  238. extern sp_digit sp_2048_sub_in_place_32(sp_digit* a, const sp_digit* b);
  239. #ifdef __cplusplus
  240. }
  241. #endif
  242. #ifdef __cplusplus
  243. extern "C" {
  244. #endif
  245. extern sp_digit sp_2048_add_32(sp_digit* r, const sp_digit* a, const sp_digit* b);
  246. #ifdef __cplusplus
  247. }
  248. #endif
  249. #ifdef __cplusplus
  250. extern "C" {
  251. #endif
  252. extern void sp_2048_mul_32(sp_digit* r, const sp_digit* a, const sp_digit* b);
  253. #ifdef __cplusplus
  254. }
  255. #endif
  256. #ifdef __cplusplus
  257. extern "C" {
  258. #endif
  259. extern void sp_2048_mul_avx2_32(sp_digit* r, const sp_digit* a, const sp_digit* b);
  260. #ifdef __cplusplus
  261. }
  262. #endif
  263. #ifdef __cplusplus
  264. extern "C" {
  265. #endif
  266. extern void sp_2048_sqr_16(sp_digit* r, const sp_digit* a);
  267. #ifdef __cplusplus
  268. }
  269. #endif
  270. #ifdef __cplusplus
  271. extern "C" {
  272. #endif
  273. extern void sp_2048_sqr_avx2_16(sp_digit* r, const sp_digit* a);
  274. #ifdef __cplusplus
  275. }
  276. #endif
  277. #ifdef __cplusplus
  278. extern "C" {
  279. #endif
  280. extern void sp_2048_sqr_32(sp_digit* r, const sp_digit* a);
  281. #ifdef __cplusplus
  282. }
  283. #endif
  284. #ifdef __cplusplus
  285. extern "C" {
  286. #endif
  287. extern void sp_2048_sqr_avx2_32(sp_digit* r, const sp_digit* a);
  288. #ifdef __cplusplus
  289. }
  290. #endif
  291. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  292. #ifdef __cplusplus
  293. extern "C" {
  294. #endif
  295. extern sp_digit sp_2048_sub_in_place_16(sp_digit* a, const sp_digit* b);
  296. #ifdef __cplusplus
  297. }
  298. #endif
  299. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  300. /* Caclulate the bottom digit of -1/a mod 2^n.
  301. *
  302. * a A single precision number.
  303. * rho Bottom word of inverse.
  304. */
  305. static void sp_2048_mont_setup(const sp_digit* a, sp_digit* rho)
  306. {
  307. sp_digit x;
  308. sp_digit b;
  309. b = a[0];
  310. x = (((b + 2) & 4) << 1) + b; /* here x*a==1 mod 2**4 */
  311. x *= 2 - b * x; /* here x*a==1 mod 2**8 */
  312. x *= 2 - b * x; /* here x*a==1 mod 2**16 */
  313. x *= 2 - b * x; /* here x*a==1 mod 2**32 */
  314. x *= 2 - b * x; /* here x*a==1 mod 2**64 */
  315. /* rho = -1/m mod b */
  316. *rho = (sp_digit)0 - x;
  317. }
  318. #ifdef __cplusplus
  319. extern "C" {
  320. #endif
  321. extern void sp_2048_mul_d_32(sp_digit* r, const sp_digit* a, sp_digit b);
  322. #ifdef __cplusplus
  323. }
  324. #endif
  325. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  326. /* r = 2^n mod m where n is the number of bits to reduce by.
  327. * Given m must be 2048 bits, just need to subtract.
  328. *
  329. * r A single precision number.
  330. * m A single precision number.
  331. */
  332. static void sp_2048_mont_norm_16(sp_digit* r, const sp_digit* m)
  333. {
  334. XMEMSET(r, 0, sizeof(sp_digit) * 16);
  335. ASSERT_SAVED_VECTOR_REGISTERS();
  336. /* r = 2^n mod m */
  337. sp_2048_sub_in_place_16(r, m);
  338. }
  339. #ifdef __cplusplus
  340. extern "C" {
  341. #endif
  342. extern sp_digit sp_2048_cond_sub_16(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  343. #ifdef __cplusplus
  344. }
  345. #endif
  346. #ifdef __cplusplus
  347. extern "C" {
  348. #endif
  349. extern void sp_2048_mont_reduce_16(sp_digit* a, const sp_digit* m, sp_digit mp);
  350. #ifdef __cplusplus
  351. }
  352. #endif
  353. /* Multiply two Montgomery form numbers mod the modulus (prime).
  354. * (r = a * b mod m)
  355. *
  356. * r Result of multiplication.
  357. * a First number to multiply in Montgomery form.
  358. * b Second number to multiply in Montgomery form.
  359. * m Modulus (prime).
  360. * mp Montgomery mulitplier.
  361. */
  362. SP_NOINLINE static void sp_2048_mont_mul_16(sp_digit* r, const sp_digit* a,
  363. const sp_digit* b, const sp_digit* m, sp_digit mp)
  364. {
  365. sp_2048_mul_16(r, a, b);
  366. sp_2048_mont_reduce_16(r, m, mp);
  367. }
  368. /* Square the Montgomery form number. (r = a * a mod m)
  369. *
  370. * r Result of squaring.
  371. * a Number to square in Montgomery form.
  372. * m Modulus (prime).
  373. * mp Montgomery mulitplier.
  374. */
  375. SP_NOINLINE static void sp_2048_mont_sqr_16(sp_digit* r, const sp_digit* a,
  376. const sp_digit* m, sp_digit mp)
  377. {
  378. sp_2048_sqr_16(r, a);
  379. sp_2048_mont_reduce_16(r, m, mp);
  380. }
  381. #ifdef __cplusplus
  382. extern "C" {
  383. #endif
  384. extern sp_digit sp_2048_cond_sub_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  385. #ifdef __cplusplus
  386. }
  387. #endif
  388. #ifdef __cplusplus
  389. extern "C" {
  390. #endif
  391. extern void sp_2048_mul_d_16(sp_digit* r, const sp_digit* a, sp_digit b);
  392. #ifdef __cplusplus
  393. }
  394. #endif
  395. #ifdef __cplusplus
  396. extern "C" {
  397. #endif
  398. extern void sp_2048_mul_d_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit b);
  399. #ifdef __cplusplus
  400. }
  401. #endif
  402. #if defined(_WIN64) && !defined(__clang__)
  403. #if _MSC_VER < 1920
  404. #ifdef __cplusplus
  405. extern "C" {
  406. #endif
  407. extern sp_digit div_2048_word_asm_16(sp_digit d1, sp_digit d0, sp_digit div);
  408. #ifdef __cplusplus
  409. }
  410. #endif
  411. #endif /* _MSC_VER < 1920 */
  412. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  413. *
  414. * d1 The high order half of the number to divide.
  415. * d0 The low order half of the number to divide.
  416. * div The dividend.
  417. * returns the result of the division.
  418. */
  419. static WC_INLINE sp_digit div_2048_word_16(sp_digit d1, sp_digit d0,
  420. sp_digit div)
  421. {
  422. ASSERT_SAVED_VECTOR_REGISTERS();
  423. #if _MSC_VER >= 1920
  424. return _udiv128(d1, d0, div, NULL);
  425. #else
  426. return div_2048_word_asm_16(d1, d0, div);
  427. #endif
  428. }
  429. #else
  430. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  431. *
  432. * d1 The high order half of the number to divide.
  433. * d0 The low order half of the number to divide.
  434. * div The dividend.
  435. * returns the result of the division.
  436. */
  437. static WC_INLINE sp_digit div_2048_word_16(sp_digit d1, sp_digit d0,
  438. sp_digit div)
  439. {
  440. ASSERT_SAVED_VECTOR_REGISTERS();
  441. register sp_digit r asm("rax");
  442. __asm__ __volatile__ (
  443. "divq %3"
  444. : "=a" (r)
  445. : "d" (d1), "a" (d0), "r" (div)
  446. :
  447. );
  448. return r;
  449. }
  450. #endif /* _WIN64 && !__clang__ */
  451. /* AND m into each word of a and store in r.
  452. *
  453. * r A single precision integer.
  454. * a A single precision integer.
  455. * m Mask to AND against each digit.
  456. */
  457. static void sp_2048_mask_16(sp_digit* r, const sp_digit* a, sp_digit m)
  458. {
  459. #ifdef WOLFSSL_SP_SMALL
  460. int i;
  461. for (i=0; i<16; i++) {
  462. r[i] = a[i] & m;
  463. }
  464. #else
  465. int i;
  466. for (i = 0; i < 16; i += 8) {
  467. r[i+0] = a[i+0] & m;
  468. r[i+1] = a[i+1] & m;
  469. r[i+2] = a[i+2] & m;
  470. r[i+3] = a[i+3] & m;
  471. r[i+4] = a[i+4] & m;
  472. r[i+5] = a[i+5] & m;
  473. r[i+6] = a[i+6] & m;
  474. r[i+7] = a[i+7] & m;
  475. }
  476. #endif
  477. }
  478. #ifdef __cplusplus
  479. extern "C" {
  480. #endif
  481. extern sp_int64 sp_2048_cmp_16(const sp_digit* a, const sp_digit* b);
  482. #ifdef __cplusplus
  483. }
  484. #endif
  485. /* Divide d in a and put remainder into r (m*d + r = a)
  486. * m is not calculated as it is not needed at this time.
  487. *
  488. * a Number to be divided.
  489. * d Number to divide with.
  490. * m Multiplier result.
  491. * r Remainder from the division.
  492. * returns MP_OKAY indicating success.
  493. */
  494. static WC_INLINE int sp_2048_div_16(const sp_digit* a, const sp_digit* d, sp_digit* m,
  495. sp_digit* r)
  496. {
  497. sp_digit t1[32];
  498. sp_digit t2[17];
  499. sp_digit div;
  500. sp_digit r1;
  501. int i;
  502. #ifdef HAVE_INTEL_AVX2
  503. word32 cpuid_flags = cpuid_get_flags();
  504. #endif
  505. ASSERT_SAVED_VECTOR_REGISTERS();
  506. (void)m;
  507. div = d[15];
  508. XMEMCPY(t1, a, sizeof(*t1) * 2 * 16);
  509. r1 = sp_2048_cmp_16(&t1[16], d) >= 0;
  510. #ifdef HAVE_INTEL_AVX2
  511. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  512. sp_2048_cond_sub_avx2_16(&t1[16], &t1[16], d, (sp_digit)0 - r1);
  513. else
  514. #endif
  515. sp_2048_cond_sub_16(&t1[16], &t1[16], d, (sp_digit)0 - r1);
  516. for (i = 15; i >= 0; i--) {
  517. sp_digit mask = 0 - (t1[16 + i] == div);
  518. sp_digit hi = t1[16 + i] + mask;
  519. r1 = div_2048_word_16(hi, t1[16 + i - 1], div);
  520. r1 |= mask;
  521. #ifdef HAVE_INTEL_AVX2
  522. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  523. sp_2048_mul_d_avx2_16(t2, d, r1);
  524. else
  525. #endif
  526. sp_2048_mul_d_16(t2, d, r1);
  527. t1[16 + i] += sp_2048_sub_in_place_16(&t1[i], t2);
  528. t1[16 + i] -= t2[16];
  529. sp_2048_mask_16(t2, d, t1[16 + i]);
  530. t1[16 + i] += sp_2048_add_16(&t1[i], &t1[i], t2);
  531. sp_2048_mask_16(t2, d, t1[16 + i]);
  532. t1[16 + i] += sp_2048_add_16(&t1[i], &t1[i], t2);
  533. }
  534. r1 = sp_2048_cmp_16(t1, d) >= 0;
  535. #ifdef HAVE_INTEL_AVX2
  536. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  537. sp_2048_cond_sub_avx2_16(r, t1, d, (sp_digit)0 - r1);
  538. else
  539. #endif
  540. sp_2048_cond_sub_16(r, t1, d, (sp_digit)0 - r1);
  541. return MP_OKAY;
  542. }
  543. /* Reduce a modulo m into r. (r = a mod m)
  544. *
  545. * r A single precision number that is the reduced result.
  546. * a A single precision number that is to be reduced.
  547. * m A single precision number that is the modulus to reduce with.
  548. * returns MP_OKAY indicating success.
  549. */
  550. static WC_INLINE int sp_2048_mod_16(sp_digit* r, const sp_digit* a,
  551. const sp_digit* m)
  552. {
  553. ASSERT_SAVED_VECTOR_REGISTERS();
  554. return sp_2048_div_16(a, m, NULL, r);
  555. }
  556. #ifdef __cplusplus
  557. extern "C" {
  558. #endif
  559. extern void sp_2048_get_from_table_16(sp_digit* r, sp_digit** table, int idx);
  560. #ifdef __cplusplus
  561. }
  562. #endif
  563. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  564. *
  565. * r A single precision number that is the result of the operation.
  566. * a A single precision number being exponentiated.
  567. * e A single precision number that is the exponent.
  568. * bits The number of bits in the exponent.
  569. * m A single precision number that is the modulus.
  570. * returns 0 on success
  571. * returns MEMORY_E on dynamic memory allocation failure.
  572. * returns MP_VAL when base is even or exponent is 0.
  573. */
  574. static int sp_2048_mod_exp_16(sp_digit* r, const sp_digit* a, const sp_digit* e,
  575. int bits, const sp_digit* m, int reduceA)
  576. {
  577. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  578. sp_digit* td = NULL;
  579. #else
  580. sp_digit td[(33 * 32) + 32];
  581. #endif
  582. sp_digit* t[32];
  583. sp_digit* rt = NULL;
  584. sp_digit* norm;
  585. sp_digit mp = 1;
  586. sp_digit n;
  587. sp_digit mask;
  588. int i;
  589. int c;
  590. byte y;
  591. int err = MP_OKAY;
  592. ASSERT_SAVED_VECTOR_REGISTERS();
  593. if (bits == 0) {
  594. err = MP_VAL;
  595. }
  596. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  597. if (err == MP_OKAY) {
  598. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (33 * 32) + 32, NULL,
  599. DYNAMIC_TYPE_TMP_BUFFER);
  600. if (td == NULL) {
  601. err = MEMORY_E;
  602. }
  603. }
  604. #endif
  605. if (err == MP_OKAY) {
  606. norm = td;
  607. for (i=0; i<32; i++)
  608. t[i] = td + i * 32;
  609. rt = td + 1024;
  610. sp_2048_mont_setup(m, &mp);
  611. sp_2048_mont_norm_16(norm, m);
  612. XMEMSET(t[1], 0, sizeof(sp_digit) * 16);
  613. if (reduceA) {
  614. err = sp_2048_mod_16(t[1] + 16, a, m);
  615. if (err == MP_OKAY)
  616. err = sp_2048_mod_16(t[1], t[1], m);
  617. }
  618. else {
  619. XMEMCPY(t[1] + 16, a, sizeof(sp_digit) * 16);
  620. err = sp_2048_mod_16(t[1], t[1], m);
  621. }
  622. }
  623. if (err == MP_OKAY) {
  624. sp_2048_mont_sqr_16(t[ 2], t[ 1], m, mp);
  625. sp_2048_mont_mul_16(t[ 3], t[ 2], t[ 1], m, mp);
  626. sp_2048_mont_sqr_16(t[ 4], t[ 2], m, mp);
  627. sp_2048_mont_mul_16(t[ 5], t[ 3], t[ 2], m, mp);
  628. sp_2048_mont_sqr_16(t[ 6], t[ 3], m, mp);
  629. sp_2048_mont_mul_16(t[ 7], t[ 4], t[ 3], m, mp);
  630. sp_2048_mont_sqr_16(t[ 8], t[ 4], m, mp);
  631. sp_2048_mont_mul_16(t[ 9], t[ 5], t[ 4], m, mp);
  632. sp_2048_mont_sqr_16(t[10], t[ 5], m, mp);
  633. sp_2048_mont_mul_16(t[11], t[ 6], t[ 5], m, mp);
  634. sp_2048_mont_sqr_16(t[12], t[ 6], m, mp);
  635. sp_2048_mont_mul_16(t[13], t[ 7], t[ 6], m, mp);
  636. sp_2048_mont_sqr_16(t[14], t[ 7], m, mp);
  637. sp_2048_mont_mul_16(t[15], t[ 8], t[ 7], m, mp);
  638. sp_2048_mont_sqr_16(t[16], t[ 8], m, mp);
  639. sp_2048_mont_mul_16(t[17], t[ 9], t[ 8], m, mp);
  640. sp_2048_mont_sqr_16(t[18], t[ 9], m, mp);
  641. sp_2048_mont_mul_16(t[19], t[10], t[ 9], m, mp);
  642. sp_2048_mont_sqr_16(t[20], t[10], m, mp);
  643. sp_2048_mont_mul_16(t[21], t[11], t[10], m, mp);
  644. sp_2048_mont_sqr_16(t[22], t[11], m, mp);
  645. sp_2048_mont_mul_16(t[23], t[12], t[11], m, mp);
  646. sp_2048_mont_sqr_16(t[24], t[12], m, mp);
  647. sp_2048_mont_mul_16(t[25], t[13], t[12], m, mp);
  648. sp_2048_mont_sqr_16(t[26], t[13], m, mp);
  649. sp_2048_mont_mul_16(t[27], t[14], t[13], m, mp);
  650. sp_2048_mont_sqr_16(t[28], t[14], m, mp);
  651. sp_2048_mont_mul_16(t[29], t[15], t[14], m, mp);
  652. sp_2048_mont_sqr_16(t[30], t[15], m, mp);
  653. sp_2048_mont_mul_16(t[31], t[16], t[15], m, mp);
  654. i = (bits - 1) / 64;
  655. n = e[i--];
  656. /* Number of bits available in top word. */
  657. c = bits & 63;
  658. if (c == 0) {
  659. c = 64;
  660. }
  661. /* Minus the number of top bits to use so rest is a multiple of 5. */
  662. if ((bits % 5) == 0) {
  663. c -= 5;
  664. }
  665. else {
  666. c -= bits % 5;
  667. }
  668. if (c < 0) {
  669. /* Number of bits in top word is less than number needed. */
  670. c = -c;
  671. y = (byte)(n << c);
  672. n = e[i--];
  673. y |= (byte)(n >> (64 - c));
  674. n <<= c;
  675. c = 64 - c;
  676. }
  677. else if (c == 0) {
  678. /* All bits in top word used. */
  679. y = (byte)n;
  680. }
  681. else {
  682. y = (byte)(n >> c);
  683. n <<= 64 - c;
  684. }
  685. #ifndef WC_NO_CACHE_RESISTANT
  686. sp_2048_get_from_table_16(r, t, y);
  687. #else
  688. XMEMCPY(r, t[y], sizeof(sp_digit) * 16);
  689. #endif
  690. for (; i>=0 || c>=5; ) {
  691. if (c >= 5) {
  692. y = (byte)((n >> 59) & 0x1f);
  693. n <<= 5;
  694. c -= 5;
  695. }
  696. else if (c == 0) {
  697. n = e[i--];
  698. y = (byte)(n >> 59);
  699. n <<= 5;
  700. c = 59;
  701. }
  702. else {
  703. y = (byte)(n >> 59);
  704. n = e[i--];
  705. c = 5 - c;
  706. y |= (byte)(n >> (64 - c));
  707. n <<= c;
  708. c = 64 - c;
  709. }
  710. sp_2048_sqr_16(rt, r);
  711. sp_2048_mont_reduce_16(rt, m, mp);
  712. sp_2048_sqr_16(r, rt);
  713. sp_2048_mont_reduce_16(r, m, mp);
  714. sp_2048_sqr_16(rt, r);
  715. sp_2048_mont_reduce_16(rt, m, mp);
  716. sp_2048_sqr_16(r, rt);
  717. sp_2048_mont_reduce_16(r, m, mp);
  718. sp_2048_sqr_16(rt, r);
  719. sp_2048_mont_reduce_16(rt, m, mp);
  720. #ifndef WC_NO_CACHE_RESISTANT
  721. sp_2048_get_from_table_16(r, t, y);
  722. sp_2048_mul_16(r, rt, r);
  723. #else
  724. sp_2048_mul_16(r, rt, t[y]);
  725. #endif
  726. sp_2048_mont_reduce_16(r, m, mp);
  727. }
  728. XMEMSET(&r[16], 0, sizeof(sp_digit) * 16);
  729. sp_2048_mont_reduce_16(r, m, mp);
  730. mask = 0 - (sp_2048_cmp_16(r, m) >= 0);
  731. sp_2048_cond_sub_16(r, r, m, mask);
  732. }
  733. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  734. if (td != NULL)
  735. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  736. #endif
  737. return err;
  738. }
  739. #ifdef __cplusplus
  740. extern "C" {
  741. #endif
  742. extern void sp_2048_mont_reduce_avx2_16(sp_digit* a, const sp_digit* m, sp_digit mp);
  743. #ifdef __cplusplus
  744. }
  745. #endif
  746. #ifdef HAVE_INTEL_AVX2
  747. /* Multiply two Montgomery form numbers mod the modulus (prime).
  748. * (r = a * b mod m)
  749. *
  750. * r Result of multiplication.
  751. * a First number to multiply in Montgomery form.
  752. * b Second number to multiply in Montgomery form.
  753. * m Modulus (prime).
  754. * mp Montgomery mulitplier.
  755. */
  756. SP_NOINLINE static void sp_2048_mont_mul_avx2_16(sp_digit* r, const sp_digit* a,
  757. const sp_digit* b, const sp_digit* m, sp_digit mp)
  758. {
  759. sp_2048_mul_avx2_16(r, a, b);
  760. sp_2048_mont_reduce_avx2_16(r, m, mp);
  761. }
  762. #endif /* HAVE_INTEL_AVX2 */
  763. #ifdef HAVE_INTEL_AVX2
  764. /* Square the Montgomery form number. (r = a * a mod m)
  765. *
  766. * r Result of squaring.
  767. * a Number to square in Montgomery form.
  768. * m Modulus (prime).
  769. * mp Montgomery mulitplier.
  770. */
  771. SP_NOINLINE static void sp_2048_mont_sqr_avx2_16(sp_digit* r, const sp_digit* a,
  772. const sp_digit* m, sp_digit mp)
  773. {
  774. sp_2048_sqr_avx2_16(r, a);
  775. sp_2048_mont_reduce_avx2_16(r, m, mp);
  776. }
  777. #endif /* HAVE_INTEL_AVX2 */
  778. #ifdef __cplusplus
  779. extern "C" {
  780. #endif
  781. extern void sp_2048_get_from_table_avx2_16(sp_digit* r, sp_digit** table, int idx);
  782. #ifdef __cplusplus
  783. }
  784. #endif
  785. #ifdef HAVE_INTEL_AVX2
  786. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  787. *
  788. * r A single precision number that is the result of the operation.
  789. * a A single precision number being exponentiated.
  790. * e A single precision number that is the exponent.
  791. * bits The number of bits in the exponent.
  792. * m A single precision number that is the modulus.
  793. * returns 0 on success
  794. * returns MEMORY_E on dynamic memory allocation failure.
  795. * returns MP_VAL when base is even or exponent is 0.
  796. */
  797. static int sp_2048_mod_exp_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit* e,
  798. int bits, const sp_digit* m, int reduceA)
  799. {
  800. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  801. sp_digit* td = NULL;
  802. #else
  803. sp_digit td[(33 * 32) + 32];
  804. #endif
  805. sp_digit* t[32];
  806. sp_digit* rt = NULL;
  807. sp_digit* norm;
  808. sp_digit mp = 1;
  809. sp_digit n;
  810. sp_digit mask;
  811. int i;
  812. int c;
  813. byte y;
  814. int err = MP_OKAY;
  815. ASSERT_SAVED_VECTOR_REGISTERS();
  816. if (bits == 0) {
  817. err = MP_VAL;
  818. }
  819. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  820. if (err == MP_OKAY) {
  821. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (33 * 32) + 32, NULL,
  822. DYNAMIC_TYPE_TMP_BUFFER);
  823. if (td == NULL) {
  824. err = MEMORY_E;
  825. }
  826. }
  827. #endif
  828. if (err == MP_OKAY) {
  829. norm = td;
  830. for (i=0; i<32; i++)
  831. t[i] = td + i * 32;
  832. rt = td + 1024;
  833. sp_2048_mont_setup(m, &mp);
  834. sp_2048_mont_norm_16(norm, m);
  835. XMEMSET(t[1], 0, sizeof(sp_digit) * 16);
  836. if (reduceA) {
  837. err = sp_2048_mod_16(t[1] + 16, a, m);
  838. if (err == MP_OKAY)
  839. err = sp_2048_mod_16(t[1], t[1], m);
  840. }
  841. else {
  842. XMEMCPY(t[1] + 16, a, sizeof(sp_digit) * 16);
  843. err = sp_2048_mod_16(t[1], t[1], m);
  844. }
  845. }
  846. if (err == MP_OKAY) {
  847. sp_2048_mont_sqr_avx2_16(t[ 2], t[ 1], m, mp);
  848. sp_2048_mont_mul_avx2_16(t[ 3], t[ 2], t[ 1], m, mp);
  849. sp_2048_mont_sqr_avx2_16(t[ 4], t[ 2], m, mp);
  850. sp_2048_mont_mul_avx2_16(t[ 5], t[ 3], t[ 2], m, mp);
  851. sp_2048_mont_sqr_avx2_16(t[ 6], t[ 3], m, mp);
  852. sp_2048_mont_mul_avx2_16(t[ 7], t[ 4], t[ 3], m, mp);
  853. sp_2048_mont_sqr_avx2_16(t[ 8], t[ 4], m, mp);
  854. sp_2048_mont_mul_avx2_16(t[ 9], t[ 5], t[ 4], m, mp);
  855. sp_2048_mont_sqr_avx2_16(t[10], t[ 5], m, mp);
  856. sp_2048_mont_mul_avx2_16(t[11], t[ 6], t[ 5], m, mp);
  857. sp_2048_mont_sqr_avx2_16(t[12], t[ 6], m, mp);
  858. sp_2048_mont_mul_avx2_16(t[13], t[ 7], t[ 6], m, mp);
  859. sp_2048_mont_sqr_avx2_16(t[14], t[ 7], m, mp);
  860. sp_2048_mont_mul_avx2_16(t[15], t[ 8], t[ 7], m, mp);
  861. sp_2048_mont_sqr_avx2_16(t[16], t[ 8], m, mp);
  862. sp_2048_mont_mul_avx2_16(t[17], t[ 9], t[ 8], m, mp);
  863. sp_2048_mont_sqr_avx2_16(t[18], t[ 9], m, mp);
  864. sp_2048_mont_mul_avx2_16(t[19], t[10], t[ 9], m, mp);
  865. sp_2048_mont_sqr_avx2_16(t[20], t[10], m, mp);
  866. sp_2048_mont_mul_avx2_16(t[21], t[11], t[10], m, mp);
  867. sp_2048_mont_sqr_avx2_16(t[22], t[11], m, mp);
  868. sp_2048_mont_mul_avx2_16(t[23], t[12], t[11], m, mp);
  869. sp_2048_mont_sqr_avx2_16(t[24], t[12], m, mp);
  870. sp_2048_mont_mul_avx2_16(t[25], t[13], t[12], m, mp);
  871. sp_2048_mont_sqr_avx2_16(t[26], t[13], m, mp);
  872. sp_2048_mont_mul_avx2_16(t[27], t[14], t[13], m, mp);
  873. sp_2048_mont_sqr_avx2_16(t[28], t[14], m, mp);
  874. sp_2048_mont_mul_avx2_16(t[29], t[15], t[14], m, mp);
  875. sp_2048_mont_sqr_avx2_16(t[30], t[15], m, mp);
  876. sp_2048_mont_mul_avx2_16(t[31], t[16], t[15], m, mp);
  877. i = (bits - 1) / 64;
  878. n = e[i--];
  879. /* Number of bits available in top word. */
  880. c = bits & 63;
  881. if (c == 0) {
  882. c = 64;
  883. }
  884. /* Minus the number of top bits to use so rest is a multiple of 5. */
  885. if ((bits % 5) == 0) {
  886. c -= 5;
  887. }
  888. else {
  889. c -= bits % 5;
  890. }
  891. if (c < 0) {
  892. /* Number of bits in top word is less than number needed. */
  893. c = -c;
  894. y = (byte)(n << c);
  895. n = e[i--];
  896. y |= (byte)(n >> (64 - c));
  897. n <<= c;
  898. c = 64 - c;
  899. }
  900. else if (c == 0) {
  901. /* All bits in top word used. */
  902. y = (byte)n;
  903. }
  904. else {
  905. y = (byte)(n >> c);
  906. n <<= 64 - c;
  907. }
  908. #ifndef WC_NO_CACHE_RESISTANT
  909. sp_2048_get_from_table_avx2_16(r, t, y);
  910. #else
  911. XMEMCPY(r, t[y], sizeof(sp_digit) * 16);
  912. #endif
  913. for (; i>=0 || c>=5; ) {
  914. if (c >= 5) {
  915. y = (byte)((n >> 59) & 0x1f);
  916. n <<= 5;
  917. c -= 5;
  918. }
  919. else if (c == 0) {
  920. n = e[i--];
  921. y = (byte)(n >> 59);
  922. n <<= 5;
  923. c = 59;
  924. }
  925. else {
  926. y = (byte)(n >> 59);
  927. n = e[i--];
  928. c = 5 - c;
  929. y |= (byte)(n >> (64 - c));
  930. n <<= c;
  931. c = 64 - c;
  932. }
  933. sp_2048_sqr_avx2_16(rt, r);
  934. sp_2048_mont_reduce_avx2_16(rt, m, mp);
  935. sp_2048_sqr_avx2_16(r, rt);
  936. sp_2048_mont_reduce_avx2_16(r, m, mp);
  937. sp_2048_sqr_avx2_16(rt, r);
  938. sp_2048_mont_reduce_avx2_16(rt, m, mp);
  939. sp_2048_sqr_avx2_16(r, rt);
  940. sp_2048_mont_reduce_avx2_16(r, m, mp);
  941. sp_2048_sqr_avx2_16(rt, r);
  942. sp_2048_mont_reduce_avx2_16(rt, m, mp);
  943. #ifndef WC_NO_CACHE_RESISTANT
  944. sp_2048_get_from_table_avx2_16(r, t, y);
  945. sp_2048_mul_avx2_16(r, rt, r);
  946. #else
  947. sp_2048_mul_avx2_16(r, rt, t[y]);
  948. #endif
  949. sp_2048_mont_reduce_avx2_16(r, m, mp);
  950. }
  951. XMEMSET(&r[16], 0, sizeof(sp_digit) * 16);
  952. sp_2048_mont_reduce_avx2_16(r, m, mp);
  953. mask = 0 - (sp_2048_cmp_16(r, m) >= 0);
  954. sp_2048_cond_sub_avx2_16(r, r, m, mask);
  955. }
  956. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  957. if (td != NULL)
  958. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  959. #endif
  960. return err;
  961. }
  962. #endif /* HAVE_INTEL_AVX2 */
  963. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  964. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  965. /* r = 2^n mod m where n is the number of bits to reduce by.
  966. * Given m must be 2048 bits, just need to subtract.
  967. *
  968. * r A single precision number.
  969. * m A single precision number.
  970. */
  971. static void sp_2048_mont_norm_32(sp_digit* r, const sp_digit* m)
  972. {
  973. XMEMSET(r, 0, sizeof(sp_digit) * 32);
  974. ASSERT_SAVED_VECTOR_REGISTERS();
  975. /* r = 2^n mod m */
  976. sp_2048_sub_in_place_32(r, m);
  977. }
  978. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  979. #ifdef __cplusplus
  980. extern "C" {
  981. #endif
  982. extern sp_digit sp_2048_cond_sub_32(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  983. #ifdef __cplusplus
  984. }
  985. #endif
  986. #ifdef __cplusplus
  987. extern "C" {
  988. #endif
  989. extern void sp_2048_mont_reduce_32(sp_digit* a, const sp_digit* m, sp_digit mp);
  990. #ifdef __cplusplus
  991. }
  992. #endif
  993. /* Multiply two Montgomery form numbers mod the modulus (prime).
  994. * (r = a * b mod m)
  995. *
  996. * r Result of multiplication.
  997. * a First number to multiply in Montgomery form.
  998. * b Second number to multiply in Montgomery form.
  999. * m Modulus (prime).
  1000. * mp Montgomery mulitplier.
  1001. */
  1002. SP_NOINLINE static void sp_2048_mont_mul_32(sp_digit* r, const sp_digit* a,
  1003. const sp_digit* b, const sp_digit* m, sp_digit mp)
  1004. {
  1005. sp_2048_mul_32(r, a, b);
  1006. sp_2048_mont_reduce_32(r, m, mp);
  1007. }
  1008. /* Square the Montgomery form number. (r = a * a mod m)
  1009. *
  1010. * r Result of squaring.
  1011. * a Number to square in Montgomery form.
  1012. * m Modulus (prime).
  1013. * mp Montgomery mulitplier.
  1014. */
  1015. SP_NOINLINE static void sp_2048_mont_sqr_32(sp_digit* r, const sp_digit* a,
  1016. const sp_digit* m, sp_digit mp)
  1017. {
  1018. sp_2048_sqr_32(r, a);
  1019. sp_2048_mont_reduce_32(r, m, mp);
  1020. }
  1021. #ifdef __cplusplus
  1022. extern "C" {
  1023. #endif
  1024. extern sp_digit sp_2048_sub_32(sp_digit* r, const sp_digit* a, const sp_digit* b);
  1025. #ifdef __cplusplus
  1026. }
  1027. #endif
  1028. #ifdef __cplusplus
  1029. extern "C" {
  1030. #endif
  1031. extern void sp_2048_mul_d_avx2_32(sp_digit* r, const sp_digit* a, const sp_digit b);
  1032. #ifdef __cplusplus
  1033. }
  1034. #endif
  1035. #if defined(_WIN64) && !defined(__clang__)
  1036. #if _MSC_VER < 1920
  1037. #ifdef __cplusplus
  1038. extern "C" {
  1039. #endif
  1040. extern sp_digit div_2048_word_asm_32(sp_digit d1, sp_digit d0, sp_digit div);
  1041. #ifdef __cplusplus
  1042. }
  1043. #endif
  1044. #endif /* _MSC_VER < 1920 */
  1045. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  1046. *
  1047. * d1 The high order half of the number to divide.
  1048. * d0 The low order half of the number to divide.
  1049. * div The dividend.
  1050. * returns the result of the division.
  1051. */
  1052. static WC_INLINE sp_digit div_2048_word_32(sp_digit d1, sp_digit d0,
  1053. sp_digit div)
  1054. {
  1055. ASSERT_SAVED_VECTOR_REGISTERS();
  1056. #if _MSC_VER >= 1920
  1057. return _udiv128(d1, d0, div, NULL);
  1058. #else
  1059. return div_2048_word_asm_32(d1, d0, div);
  1060. #endif
  1061. }
  1062. #else
  1063. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  1064. *
  1065. * d1 The high order half of the number to divide.
  1066. * d0 The low order half of the number to divide.
  1067. * div The dividend.
  1068. * returns the result of the division.
  1069. */
  1070. static WC_INLINE sp_digit div_2048_word_32(sp_digit d1, sp_digit d0,
  1071. sp_digit div)
  1072. {
  1073. ASSERT_SAVED_VECTOR_REGISTERS();
  1074. register sp_digit r asm("rax");
  1075. __asm__ __volatile__ (
  1076. "divq %3"
  1077. : "=a" (r)
  1078. : "d" (d1), "a" (d0), "r" (div)
  1079. :
  1080. );
  1081. return r;
  1082. }
  1083. #endif /* _WIN64 && !__clang__ */
  1084. /* Divide d in a and put remainder into r (m*d + r = a)
  1085. * m is not calculated as it is not needed at this time.
  1086. *
  1087. * a Number to be divided.
  1088. * d Number to divide with.
  1089. * m Multiplier result.
  1090. * r Remainder from the division.
  1091. * returns MP_OKAY indicating success.
  1092. */
  1093. static WC_INLINE int sp_2048_div_32_cond(const sp_digit* a, const sp_digit* d, sp_digit* m,
  1094. sp_digit* r)
  1095. {
  1096. sp_digit t1[64];
  1097. sp_digit t2[33];
  1098. sp_digit div;
  1099. sp_digit r1;
  1100. int i;
  1101. #ifdef HAVE_INTEL_AVX2
  1102. word32 cpuid_flags = cpuid_get_flags();
  1103. #endif
  1104. ASSERT_SAVED_VECTOR_REGISTERS();
  1105. (void)m;
  1106. div = d[31];
  1107. XMEMCPY(t1, a, sizeof(*t1) * 2 * 32);
  1108. for (i = 31; i > 0; i--) {
  1109. if (t1[i + 32] != d[i])
  1110. break;
  1111. }
  1112. if (t1[i + 32] >= d[i]) {
  1113. sp_2048_sub_in_place_32(&t1[32], d);
  1114. }
  1115. for (i = 31; i >= 0; i--) {
  1116. if (t1[32 + i] == div) {
  1117. r1 = SP_DIGIT_MAX;
  1118. }
  1119. else {
  1120. r1 = div_2048_word_32(t1[32 + i], t1[32 + i - 1], div);
  1121. }
  1122. #ifdef HAVE_INTEL_AVX2
  1123. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  1124. sp_2048_mul_d_avx2_32(t2, d, r1);
  1125. else
  1126. #endif
  1127. sp_2048_mul_d_32(t2, d, r1);
  1128. t1[32 + i] += sp_2048_sub_in_place_32(&t1[i], t2);
  1129. t1[32 + i] -= t2[32];
  1130. if (t1[32 + i] != 0) {
  1131. t1[32 + i] += sp_2048_add_32(&t1[i], &t1[i], d);
  1132. if (t1[32 + i] != 0)
  1133. t1[32 + i] += sp_2048_add_32(&t1[i], &t1[i], d);
  1134. }
  1135. }
  1136. for (i = 31; i > 0; i--) {
  1137. if (t1[i] != d[i])
  1138. break;
  1139. }
  1140. if (t1[i] >= d[i]) {
  1141. sp_2048_sub_32(r, t1, d);
  1142. }
  1143. else {
  1144. XMEMCPY(r, t1, sizeof(*t1) * 32);
  1145. }
  1146. return MP_OKAY;
  1147. }
  1148. /* Reduce a modulo m into r. (r = a mod m)
  1149. *
  1150. * r A single precision number that is the reduced result.
  1151. * a A single precision number that is to be reduced.
  1152. * m A single precision number that is the modulus to reduce with.
  1153. * returns MP_OKAY indicating success.
  1154. */
  1155. static WC_INLINE int sp_2048_mod_32_cond(sp_digit* r, const sp_digit* a,
  1156. const sp_digit* m)
  1157. {
  1158. ASSERT_SAVED_VECTOR_REGISTERS();
  1159. return sp_2048_div_32_cond(a, m, NULL, r);
  1160. }
  1161. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  1162. #ifdef __cplusplus
  1163. extern "C" {
  1164. #endif
  1165. extern sp_digit sp_2048_cond_sub_avx2_32(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  1166. #ifdef __cplusplus
  1167. }
  1168. #endif
  1169. /* AND m into each word of a and store in r.
  1170. *
  1171. * r A single precision integer.
  1172. * a A single precision integer.
  1173. * m Mask to AND against each digit.
  1174. */
  1175. static void sp_2048_mask_32(sp_digit* r, const sp_digit* a, sp_digit m)
  1176. {
  1177. #ifdef WOLFSSL_SP_SMALL
  1178. int i;
  1179. for (i=0; i<32; i++) {
  1180. r[i] = a[i] & m;
  1181. }
  1182. #else
  1183. int i;
  1184. for (i = 0; i < 32; i += 8) {
  1185. r[i+0] = a[i+0] & m;
  1186. r[i+1] = a[i+1] & m;
  1187. r[i+2] = a[i+2] & m;
  1188. r[i+3] = a[i+3] & m;
  1189. r[i+4] = a[i+4] & m;
  1190. r[i+5] = a[i+5] & m;
  1191. r[i+6] = a[i+6] & m;
  1192. r[i+7] = a[i+7] & m;
  1193. }
  1194. #endif
  1195. }
  1196. #ifdef __cplusplus
  1197. extern "C" {
  1198. #endif
  1199. extern sp_int64 sp_2048_cmp_32(const sp_digit* a, const sp_digit* b);
  1200. #ifdef __cplusplus
  1201. }
  1202. #endif
  1203. /* Divide d in a and put remainder into r (m*d + r = a)
  1204. * m is not calculated as it is not needed at this time.
  1205. *
  1206. * a Number to be divided.
  1207. * d Number to divide with.
  1208. * m Multiplier result.
  1209. * r Remainder from the division.
  1210. * returns MP_OKAY indicating success.
  1211. */
  1212. static WC_INLINE int sp_2048_div_32(const sp_digit* a, const sp_digit* d, sp_digit* m,
  1213. sp_digit* r)
  1214. {
  1215. sp_digit t1[64];
  1216. sp_digit t2[33];
  1217. sp_digit div;
  1218. sp_digit r1;
  1219. int i;
  1220. #ifdef HAVE_INTEL_AVX2
  1221. word32 cpuid_flags = cpuid_get_flags();
  1222. #endif
  1223. ASSERT_SAVED_VECTOR_REGISTERS();
  1224. (void)m;
  1225. div = d[31];
  1226. XMEMCPY(t1, a, sizeof(*t1) * 2 * 32);
  1227. r1 = sp_2048_cmp_32(&t1[32], d) >= 0;
  1228. #ifdef HAVE_INTEL_AVX2
  1229. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  1230. sp_2048_cond_sub_avx2_32(&t1[32], &t1[32], d, (sp_digit)0 - r1);
  1231. else
  1232. #endif
  1233. sp_2048_cond_sub_32(&t1[32], &t1[32], d, (sp_digit)0 - r1);
  1234. for (i = 31; i >= 0; i--) {
  1235. sp_digit mask = 0 - (t1[32 + i] == div);
  1236. sp_digit hi = t1[32 + i] + mask;
  1237. r1 = div_2048_word_32(hi, t1[32 + i - 1], div);
  1238. r1 |= mask;
  1239. #ifdef HAVE_INTEL_AVX2
  1240. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  1241. sp_2048_mul_d_avx2_32(t2, d, r1);
  1242. else
  1243. #endif
  1244. sp_2048_mul_d_32(t2, d, r1);
  1245. t1[32 + i] += sp_2048_sub_in_place_32(&t1[i], t2);
  1246. t1[32 + i] -= t2[32];
  1247. sp_2048_mask_32(t2, d, t1[32 + i]);
  1248. t1[32 + i] += sp_2048_add_32(&t1[i], &t1[i], t2);
  1249. sp_2048_mask_32(t2, d, t1[32 + i]);
  1250. t1[32 + i] += sp_2048_add_32(&t1[i], &t1[i], t2);
  1251. }
  1252. r1 = sp_2048_cmp_32(t1, d) >= 0;
  1253. #ifdef HAVE_INTEL_AVX2
  1254. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  1255. sp_2048_cond_sub_avx2_32(r, t1, d, (sp_digit)0 - r1);
  1256. else
  1257. #endif
  1258. sp_2048_cond_sub_32(r, t1, d, (sp_digit)0 - r1);
  1259. return MP_OKAY;
  1260. }
  1261. #if defined(WOLFSSL_HAVE_SP_DH) || !defined(WOLFSSL_RSA_PUBLIC_ONLY)
  1262. /* Reduce a modulo m into r. (r = a mod m)
  1263. *
  1264. * r A single precision number that is the reduced result.
  1265. * a A single precision number that is to be reduced.
  1266. * m A single precision number that is the modulus to reduce with.
  1267. * returns MP_OKAY indicating success.
  1268. */
  1269. static WC_INLINE int sp_2048_mod_32(sp_digit* r, const sp_digit* a,
  1270. const sp_digit* m)
  1271. {
  1272. ASSERT_SAVED_VECTOR_REGISTERS();
  1273. return sp_2048_div_32(a, m, NULL, r);
  1274. }
  1275. #endif /* WOLFSSL_HAVE_SP_DH || !WOLFSSL_RSA_PUBLIC_ONLY */
  1276. #ifdef __cplusplus
  1277. extern "C" {
  1278. #endif
  1279. extern void sp_2048_get_from_table_32(sp_digit* r, sp_digit** table, int idx);
  1280. #ifdef __cplusplus
  1281. }
  1282. #endif
  1283. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  1284. *
  1285. * r A single precision number that is the result of the operation.
  1286. * a A single precision number being exponentiated.
  1287. * e A single precision number that is the exponent.
  1288. * bits The number of bits in the exponent.
  1289. * m A single precision number that is the modulus.
  1290. * returns 0 on success
  1291. * returns MEMORY_E on dynamic memory allocation failure.
  1292. * returns MP_VAL when base is even or exponent is 0.
  1293. */
  1294. static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e,
  1295. int bits, const sp_digit* m, int reduceA)
  1296. {
  1297. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  1298. sp_digit* td = NULL;
  1299. #else
  1300. sp_digit td[(65 * 64) + 64];
  1301. #endif
  1302. sp_digit* t[64];
  1303. sp_digit* rt = NULL;
  1304. sp_digit* norm;
  1305. sp_digit mp = 1;
  1306. sp_digit n;
  1307. sp_digit mask;
  1308. int i;
  1309. int c;
  1310. byte y;
  1311. int err = MP_OKAY;
  1312. ASSERT_SAVED_VECTOR_REGISTERS();
  1313. if (bits == 0) {
  1314. err = MP_VAL;
  1315. }
  1316. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  1317. if (err == MP_OKAY) {
  1318. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (65 * 64) + 64, NULL,
  1319. DYNAMIC_TYPE_TMP_BUFFER);
  1320. if (td == NULL) {
  1321. err = MEMORY_E;
  1322. }
  1323. }
  1324. #endif
  1325. if (err == MP_OKAY) {
  1326. norm = td;
  1327. for (i=0; i<64; i++)
  1328. t[i] = td + i * 64;
  1329. rt = td + 4096;
  1330. sp_2048_mont_setup(m, &mp);
  1331. sp_2048_mont_norm_32(norm, m);
  1332. XMEMSET(t[1], 0, sizeof(sp_digit) * 32);
  1333. if (reduceA) {
  1334. err = sp_2048_mod_32(t[1] + 32, a, m);
  1335. if (err == MP_OKAY)
  1336. err = sp_2048_mod_32(t[1], t[1], m);
  1337. }
  1338. else {
  1339. XMEMCPY(t[1] + 32, a, sizeof(sp_digit) * 32);
  1340. err = sp_2048_mod_32(t[1], t[1], m);
  1341. }
  1342. }
  1343. if (err == MP_OKAY) {
  1344. sp_2048_mont_sqr_32(t[ 2], t[ 1], m, mp);
  1345. sp_2048_mont_mul_32(t[ 3], t[ 2], t[ 1], m, mp);
  1346. sp_2048_mont_sqr_32(t[ 4], t[ 2], m, mp);
  1347. sp_2048_mont_mul_32(t[ 5], t[ 3], t[ 2], m, mp);
  1348. sp_2048_mont_sqr_32(t[ 6], t[ 3], m, mp);
  1349. sp_2048_mont_mul_32(t[ 7], t[ 4], t[ 3], m, mp);
  1350. sp_2048_mont_sqr_32(t[ 8], t[ 4], m, mp);
  1351. sp_2048_mont_mul_32(t[ 9], t[ 5], t[ 4], m, mp);
  1352. sp_2048_mont_sqr_32(t[10], t[ 5], m, mp);
  1353. sp_2048_mont_mul_32(t[11], t[ 6], t[ 5], m, mp);
  1354. sp_2048_mont_sqr_32(t[12], t[ 6], m, mp);
  1355. sp_2048_mont_mul_32(t[13], t[ 7], t[ 6], m, mp);
  1356. sp_2048_mont_sqr_32(t[14], t[ 7], m, mp);
  1357. sp_2048_mont_mul_32(t[15], t[ 8], t[ 7], m, mp);
  1358. sp_2048_mont_sqr_32(t[16], t[ 8], m, mp);
  1359. sp_2048_mont_mul_32(t[17], t[ 9], t[ 8], m, mp);
  1360. sp_2048_mont_sqr_32(t[18], t[ 9], m, mp);
  1361. sp_2048_mont_mul_32(t[19], t[10], t[ 9], m, mp);
  1362. sp_2048_mont_sqr_32(t[20], t[10], m, mp);
  1363. sp_2048_mont_mul_32(t[21], t[11], t[10], m, mp);
  1364. sp_2048_mont_sqr_32(t[22], t[11], m, mp);
  1365. sp_2048_mont_mul_32(t[23], t[12], t[11], m, mp);
  1366. sp_2048_mont_sqr_32(t[24], t[12], m, mp);
  1367. sp_2048_mont_mul_32(t[25], t[13], t[12], m, mp);
  1368. sp_2048_mont_sqr_32(t[26], t[13], m, mp);
  1369. sp_2048_mont_mul_32(t[27], t[14], t[13], m, mp);
  1370. sp_2048_mont_sqr_32(t[28], t[14], m, mp);
  1371. sp_2048_mont_mul_32(t[29], t[15], t[14], m, mp);
  1372. sp_2048_mont_sqr_32(t[30], t[15], m, mp);
  1373. sp_2048_mont_mul_32(t[31], t[16], t[15], m, mp);
  1374. sp_2048_mont_sqr_32(t[32], t[16], m, mp);
  1375. sp_2048_mont_mul_32(t[33], t[17], t[16], m, mp);
  1376. sp_2048_mont_sqr_32(t[34], t[17], m, mp);
  1377. sp_2048_mont_mul_32(t[35], t[18], t[17], m, mp);
  1378. sp_2048_mont_sqr_32(t[36], t[18], m, mp);
  1379. sp_2048_mont_mul_32(t[37], t[19], t[18], m, mp);
  1380. sp_2048_mont_sqr_32(t[38], t[19], m, mp);
  1381. sp_2048_mont_mul_32(t[39], t[20], t[19], m, mp);
  1382. sp_2048_mont_sqr_32(t[40], t[20], m, mp);
  1383. sp_2048_mont_mul_32(t[41], t[21], t[20], m, mp);
  1384. sp_2048_mont_sqr_32(t[42], t[21], m, mp);
  1385. sp_2048_mont_mul_32(t[43], t[22], t[21], m, mp);
  1386. sp_2048_mont_sqr_32(t[44], t[22], m, mp);
  1387. sp_2048_mont_mul_32(t[45], t[23], t[22], m, mp);
  1388. sp_2048_mont_sqr_32(t[46], t[23], m, mp);
  1389. sp_2048_mont_mul_32(t[47], t[24], t[23], m, mp);
  1390. sp_2048_mont_sqr_32(t[48], t[24], m, mp);
  1391. sp_2048_mont_mul_32(t[49], t[25], t[24], m, mp);
  1392. sp_2048_mont_sqr_32(t[50], t[25], m, mp);
  1393. sp_2048_mont_mul_32(t[51], t[26], t[25], m, mp);
  1394. sp_2048_mont_sqr_32(t[52], t[26], m, mp);
  1395. sp_2048_mont_mul_32(t[53], t[27], t[26], m, mp);
  1396. sp_2048_mont_sqr_32(t[54], t[27], m, mp);
  1397. sp_2048_mont_mul_32(t[55], t[28], t[27], m, mp);
  1398. sp_2048_mont_sqr_32(t[56], t[28], m, mp);
  1399. sp_2048_mont_mul_32(t[57], t[29], t[28], m, mp);
  1400. sp_2048_mont_sqr_32(t[58], t[29], m, mp);
  1401. sp_2048_mont_mul_32(t[59], t[30], t[29], m, mp);
  1402. sp_2048_mont_sqr_32(t[60], t[30], m, mp);
  1403. sp_2048_mont_mul_32(t[61], t[31], t[30], m, mp);
  1404. sp_2048_mont_sqr_32(t[62], t[31], m, mp);
  1405. sp_2048_mont_mul_32(t[63], t[32], t[31], m, mp);
  1406. i = (bits - 1) / 64;
  1407. n = e[i--];
  1408. /* Number of bits available in top word. */
  1409. c = bits & 63;
  1410. if (c == 0) {
  1411. c = 64;
  1412. }
  1413. /* Minus the number of top bits to use so rest is a multiple of 6. */
  1414. if ((bits % 6) == 0) {
  1415. c -= 6;
  1416. }
  1417. else {
  1418. c -= bits % 6;
  1419. }
  1420. if (c < 0) {
  1421. /* Number of bits in top word is less than number needed. */
  1422. c = -c;
  1423. y = (byte)(n << c);
  1424. n = e[i--];
  1425. y |= (byte)(n >> (64 - c));
  1426. n <<= c;
  1427. c = 64 - c;
  1428. }
  1429. else if (c == 0) {
  1430. /* All bits in top word used. */
  1431. y = (byte)n;
  1432. }
  1433. else {
  1434. y = (byte)(n >> c);
  1435. n <<= 64 - c;
  1436. }
  1437. #ifndef WC_NO_CACHE_RESISTANT
  1438. sp_2048_get_from_table_32(r, t, y);
  1439. #else
  1440. XMEMCPY(r, t[y], sizeof(sp_digit) * 32);
  1441. #endif
  1442. for (; i>=0 || c>=6; ) {
  1443. if (c >= 6) {
  1444. y = (byte)((n >> 58) & 0x3f);
  1445. n <<= 6;
  1446. c -= 6;
  1447. }
  1448. else if (c == 0) {
  1449. n = e[i--];
  1450. y = (byte)(n >> 58);
  1451. n <<= 6;
  1452. c = 58;
  1453. }
  1454. else {
  1455. y = (byte)(n >> 58);
  1456. n = e[i--];
  1457. c = 6 - c;
  1458. y |= (byte)(n >> (64 - c));
  1459. n <<= c;
  1460. c = 64 - c;
  1461. }
  1462. sp_2048_sqr_32(rt, r);
  1463. sp_2048_mont_reduce_32(rt, m, mp);
  1464. sp_2048_sqr_32(r, rt);
  1465. sp_2048_mont_reduce_32(r, m, mp);
  1466. sp_2048_sqr_32(rt, r);
  1467. sp_2048_mont_reduce_32(rt, m, mp);
  1468. sp_2048_sqr_32(r, rt);
  1469. sp_2048_mont_reduce_32(r, m, mp);
  1470. sp_2048_sqr_32(rt, r);
  1471. sp_2048_mont_reduce_32(rt, m, mp);
  1472. sp_2048_sqr_32(r, rt);
  1473. sp_2048_mont_reduce_32(r, m, mp);
  1474. #ifndef WC_NO_CACHE_RESISTANT
  1475. sp_2048_get_from_table_32(rt, t, y);
  1476. sp_2048_mul_32(r, r, rt);
  1477. #else
  1478. sp_2048_mul_32(r, r, t[y]);
  1479. #endif
  1480. sp_2048_mont_reduce_32(r, m, mp);
  1481. }
  1482. XMEMSET(&r[32], 0, sizeof(sp_digit) * 32);
  1483. sp_2048_mont_reduce_32(r, m, mp);
  1484. mask = 0 - (sp_2048_cmp_32(r, m) >= 0);
  1485. sp_2048_cond_sub_32(r, r, m, mask);
  1486. }
  1487. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  1488. if (td != NULL)
  1489. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  1490. #endif
  1491. return err;
  1492. }
  1493. #endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
  1494. #ifdef __cplusplus
  1495. extern "C" {
  1496. #endif
  1497. extern void sp_2048_mont_reduce_avx2_32(sp_digit* a, const sp_digit* m, sp_digit mp);
  1498. #ifdef __cplusplus
  1499. }
  1500. #endif
  1501. #ifdef HAVE_INTEL_AVX2
  1502. /* Multiply two Montgomery form numbers mod the modulus (prime).
  1503. * (r = a * b mod m)
  1504. *
  1505. * r Result of multiplication.
  1506. * a First number to multiply in Montgomery form.
  1507. * b Second number to multiply in Montgomery form.
  1508. * m Modulus (prime).
  1509. * mp Montgomery mulitplier.
  1510. */
  1511. SP_NOINLINE static void sp_2048_mont_mul_avx2_32(sp_digit* r, const sp_digit* a,
  1512. const sp_digit* b, const sp_digit* m, sp_digit mp)
  1513. {
  1514. sp_2048_mul_avx2_32(r, a, b);
  1515. sp_2048_mont_reduce_avx2_32(r, m, mp);
  1516. }
  1517. #endif /* HAVE_INTEL_AVX2 */
  1518. #ifdef HAVE_INTEL_AVX2
  1519. /* Square the Montgomery form number. (r = a * a mod m)
  1520. *
  1521. * r Result of squaring.
  1522. * a Number to square in Montgomery form.
  1523. * m Modulus (prime).
  1524. * mp Montgomery mulitplier.
  1525. */
  1526. SP_NOINLINE static void sp_2048_mont_sqr_avx2_32(sp_digit* r, const sp_digit* a,
  1527. const sp_digit* m, sp_digit mp)
  1528. {
  1529. sp_2048_sqr_avx2_32(r, a);
  1530. sp_2048_mont_reduce_avx2_32(r, m, mp);
  1531. }
  1532. #endif /* HAVE_INTEL_AVX2 */
  1533. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  1534. #ifdef __cplusplus
  1535. extern "C" {
  1536. #endif
  1537. extern void sp_2048_get_from_table_avx2_32(sp_digit* r, sp_digit** table, int idx);
  1538. #ifdef __cplusplus
  1539. }
  1540. #endif
  1541. #ifdef HAVE_INTEL_AVX2
  1542. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  1543. *
  1544. * r A single precision number that is the result of the operation.
  1545. * a A single precision number being exponentiated.
  1546. * e A single precision number that is the exponent.
  1547. * bits The number of bits in the exponent.
  1548. * m A single precision number that is the modulus.
  1549. * returns 0 on success
  1550. * returns MEMORY_E on dynamic memory allocation failure.
  1551. * returns MP_VAL when base is even or exponent is 0.
  1552. */
  1553. static int sp_2048_mod_exp_avx2_32(sp_digit* r, const sp_digit* a, const sp_digit* e,
  1554. int bits, const sp_digit* m, int reduceA)
  1555. {
  1556. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  1557. sp_digit* td = NULL;
  1558. #else
  1559. sp_digit td[(65 * 64) + 64];
  1560. #endif
  1561. sp_digit* t[64];
  1562. sp_digit* rt = NULL;
  1563. sp_digit* norm;
  1564. sp_digit mp = 1;
  1565. sp_digit n;
  1566. sp_digit mask;
  1567. int i;
  1568. int c;
  1569. byte y;
  1570. int err = MP_OKAY;
  1571. ASSERT_SAVED_VECTOR_REGISTERS();
  1572. if (bits == 0) {
  1573. err = MP_VAL;
  1574. }
  1575. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  1576. if (err == MP_OKAY) {
  1577. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (65 * 64) + 64, NULL,
  1578. DYNAMIC_TYPE_TMP_BUFFER);
  1579. if (td == NULL) {
  1580. err = MEMORY_E;
  1581. }
  1582. }
  1583. #endif
  1584. if (err == MP_OKAY) {
  1585. norm = td;
  1586. for (i=0; i<64; i++)
  1587. t[i] = td + i * 64;
  1588. rt = td + 4096;
  1589. sp_2048_mont_setup(m, &mp);
  1590. sp_2048_mont_norm_32(norm, m);
  1591. XMEMSET(t[1], 0, sizeof(sp_digit) * 32);
  1592. if (reduceA) {
  1593. err = sp_2048_mod_32(t[1] + 32, a, m);
  1594. if (err == MP_OKAY)
  1595. err = sp_2048_mod_32(t[1], t[1], m);
  1596. }
  1597. else {
  1598. XMEMCPY(t[1] + 32, a, sizeof(sp_digit) * 32);
  1599. err = sp_2048_mod_32(t[1], t[1], m);
  1600. }
  1601. }
  1602. if (err == MP_OKAY) {
  1603. sp_2048_mont_sqr_avx2_32(t[ 2], t[ 1], m, mp);
  1604. sp_2048_mont_mul_avx2_32(t[ 3], t[ 2], t[ 1], m, mp);
  1605. sp_2048_mont_sqr_avx2_32(t[ 4], t[ 2], m, mp);
  1606. sp_2048_mont_mul_avx2_32(t[ 5], t[ 3], t[ 2], m, mp);
  1607. sp_2048_mont_sqr_avx2_32(t[ 6], t[ 3], m, mp);
  1608. sp_2048_mont_mul_avx2_32(t[ 7], t[ 4], t[ 3], m, mp);
  1609. sp_2048_mont_sqr_avx2_32(t[ 8], t[ 4], m, mp);
  1610. sp_2048_mont_mul_avx2_32(t[ 9], t[ 5], t[ 4], m, mp);
  1611. sp_2048_mont_sqr_avx2_32(t[10], t[ 5], m, mp);
  1612. sp_2048_mont_mul_avx2_32(t[11], t[ 6], t[ 5], m, mp);
  1613. sp_2048_mont_sqr_avx2_32(t[12], t[ 6], m, mp);
  1614. sp_2048_mont_mul_avx2_32(t[13], t[ 7], t[ 6], m, mp);
  1615. sp_2048_mont_sqr_avx2_32(t[14], t[ 7], m, mp);
  1616. sp_2048_mont_mul_avx2_32(t[15], t[ 8], t[ 7], m, mp);
  1617. sp_2048_mont_sqr_avx2_32(t[16], t[ 8], m, mp);
  1618. sp_2048_mont_mul_avx2_32(t[17], t[ 9], t[ 8], m, mp);
  1619. sp_2048_mont_sqr_avx2_32(t[18], t[ 9], m, mp);
  1620. sp_2048_mont_mul_avx2_32(t[19], t[10], t[ 9], m, mp);
  1621. sp_2048_mont_sqr_avx2_32(t[20], t[10], m, mp);
  1622. sp_2048_mont_mul_avx2_32(t[21], t[11], t[10], m, mp);
  1623. sp_2048_mont_sqr_avx2_32(t[22], t[11], m, mp);
  1624. sp_2048_mont_mul_avx2_32(t[23], t[12], t[11], m, mp);
  1625. sp_2048_mont_sqr_avx2_32(t[24], t[12], m, mp);
  1626. sp_2048_mont_mul_avx2_32(t[25], t[13], t[12], m, mp);
  1627. sp_2048_mont_sqr_avx2_32(t[26], t[13], m, mp);
  1628. sp_2048_mont_mul_avx2_32(t[27], t[14], t[13], m, mp);
  1629. sp_2048_mont_sqr_avx2_32(t[28], t[14], m, mp);
  1630. sp_2048_mont_mul_avx2_32(t[29], t[15], t[14], m, mp);
  1631. sp_2048_mont_sqr_avx2_32(t[30], t[15], m, mp);
  1632. sp_2048_mont_mul_avx2_32(t[31], t[16], t[15], m, mp);
  1633. sp_2048_mont_sqr_avx2_32(t[32], t[16], m, mp);
  1634. sp_2048_mont_mul_avx2_32(t[33], t[17], t[16], m, mp);
  1635. sp_2048_mont_sqr_avx2_32(t[34], t[17], m, mp);
  1636. sp_2048_mont_mul_avx2_32(t[35], t[18], t[17], m, mp);
  1637. sp_2048_mont_sqr_avx2_32(t[36], t[18], m, mp);
  1638. sp_2048_mont_mul_avx2_32(t[37], t[19], t[18], m, mp);
  1639. sp_2048_mont_sqr_avx2_32(t[38], t[19], m, mp);
  1640. sp_2048_mont_mul_avx2_32(t[39], t[20], t[19], m, mp);
  1641. sp_2048_mont_sqr_avx2_32(t[40], t[20], m, mp);
  1642. sp_2048_mont_mul_avx2_32(t[41], t[21], t[20], m, mp);
  1643. sp_2048_mont_sqr_avx2_32(t[42], t[21], m, mp);
  1644. sp_2048_mont_mul_avx2_32(t[43], t[22], t[21], m, mp);
  1645. sp_2048_mont_sqr_avx2_32(t[44], t[22], m, mp);
  1646. sp_2048_mont_mul_avx2_32(t[45], t[23], t[22], m, mp);
  1647. sp_2048_mont_sqr_avx2_32(t[46], t[23], m, mp);
  1648. sp_2048_mont_mul_avx2_32(t[47], t[24], t[23], m, mp);
  1649. sp_2048_mont_sqr_avx2_32(t[48], t[24], m, mp);
  1650. sp_2048_mont_mul_avx2_32(t[49], t[25], t[24], m, mp);
  1651. sp_2048_mont_sqr_avx2_32(t[50], t[25], m, mp);
  1652. sp_2048_mont_mul_avx2_32(t[51], t[26], t[25], m, mp);
  1653. sp_2048_mont_sqr_avx2_32(t[52], t[26], m, mp);
  1654. sp_2048_mont_mul_avx2_32(t[53], t[27], t[26], m, mp);
  1655. sp_2048_mont_sqr_avx2_32(t[54], t[27], m, mp);
  1656. sp_2048_mont_mul_avx2_32(t[55], t[28], t[27], m, mp);
  1657. sp_2048_mont_sqr_avx2_32(t[56], t[28], m, mp);
  1658. sp_2048_mont_mul_avx2_32(t[57], t[29], t[28], m, mp);
  1659. sp_2048_mont_sqr_avx2_32(t[58], t[29], m, mp);
  1660. sp_2048_mont_mul_avx2_32(t[59], t[30], t[29], m, mp);
  1661. sp_2048_mont_sqr_avx2_32(t[60], t[30], m, mp);
  1662. sp_2048_mont_mul_avx2_32(t[61], t[31], t[30], m, mp);
  1663. sp_2048_mont_sqr_avx2_32(t[62], t[31], m, mp);
  1664. sp_2048_mont_mul_avx2_32(t[63], t[32], t[31], m, mp);
  1665. i = (bits - 1) / 64;
  1666. n = e[i--];
  1667. /* Number of bits available in top word. */
  1668. c = bits & 63;
  1669. if (c == 0) {
  1670. c = 64;
  1671. }
  1672. /* Minus the number of top bits to use so rest is a multiple of 6. */
  1673. if ((bits % 6) == 0) {
  1674. c -= 6;
  1675. }
  1676. else {
  1677. c -= bits % 6;
  1678. }
  1679. if (c < 0) {
  1680. /* Number of bits in top word is less than number needed. */
  1681. c = -c;
  1682. y = (byte)(n << c);
  1683. n = e[i--];
  1684. y |= (byte)(n >> (64 - c));
  1685. n <<= c;
  1686. c = 64 - c;
  1687. }
  1688. else if (c == 0) {
  1689. /* All bits in top word used. */
  1690. y = (byte)n;
  1691. }
  1692. else {
  1693. y = (byte)(n >> c);
  1694. n <<= 64 - c;
  1695. }
  1696. #ifndef WC_NO_CACHE_RESISTANT
  1697. sp_2048_get_from_table_avx2_32(r, t, y);
  1698. #else
  1699. XMEMCPY(r, t[y], sizeof(sp_digit) * 32);
  1700. #endif
  1701. for (; i>=0 || c>=6; ) {
  1702. if (c >= 6) {
  1703. y = (byte)((n >> 58) & 0x3f);
  1704. n <<= 6;
  1705. c -= 6;
  1706. }
  1707. else if (c == 0) {
  1708. n = e[i--];
  1709. y = (byte)(n >> 58);
  1710. n <<= 6;
  1711. c = 58;
  1712. }
  1713. else {
  1714. y = (byte)(n >> 58);
  1715. n = e[i--];
  1716. c = 6 - c;
  1717. y |= (byte)(n >> (64 - c));
  1718. n <<= c;
  1719. c = 64 - c;
  1720. }
  1721. sp_2048_sqr_avx2_32(rt, r);
  1722. sp_2048_mont_reduce_avx2_32(rt, m, mp);
  1723. sp_2048_sqr_avx2_32(r, rt);
  1724. sp_2048_mont_reduce_avx2_32(r, m, mp);
  1725. sp_2048_sqr_avx2_32(rt, r);
  1726. sp_2048_mont_reduce_avx2_32(rt, m, mp);
  1727. sp_2048_sqr_avx2_32(r, rt);
  1728. sp_2048_mont_reduce_avx2_32(r, m, mp);
  1729. sp_2048_sqr_avx2_32(rt, r);
  1730. sp_2048_mont_reduce_avx2_32(rt, m, mp);
  1731. sp_2048_sqr_avx2_32(r, rt);
  1732. sp_2048_mont_reduce_avx2_32(r, m, mp);
  1733. #ifndef WC_NO_CACHE_RESISTANT
  1734. sp_2048_get_from_table_avx2_32(rt, t, y);
  1735. sp_2048_mul_avx2_32(r, r, rt);
  1736. #else
  1737. sp_2048_mul_avx2_32(r, r, t[y]);
  1738. #endif
  1739. sp_2048_mont_reduce_avx2_32(r, m, mp);
  1740. }
  1741. XMEMSET(&r[32], 0, sizeof(sp_digit) * 32);
  1742. sp_2048_mont_reduce_avx2_32(r, m, mp);
  1743. mask = 0 - (sp_2048_cmp_32(r, m) >= 0);
  1744. sp_2048_cond_sub_avx2_32(r, r, m, mask);
  1745. }
  1746. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  1747. if (td != NULL)
  1748. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  1749. #endif
  1750. return err;
  1751. }
  1752. #endif /* HAVE_INTEL_AVX2 */
  1753. #endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
  1754. #ifdef WOLFSSL_HAVE_SP_RSA
  1755. /* RSA public key operation.
  1756. *
  1757. * in Array of bytes representing the number to exponentiate, base.
  1758. * inLen Number of bytes in base.
  1759. * em Public exponent.
  1760. * mm Modulus.
  1761. * out Buffer to hold big-endian bytes of exponentiation result.
  1762. * Must be at least 256 bytes long.
  1763. * outLen Number of bytes in result.
  1764. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  1765. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  1766. */
  1767. int sp_RsaPublic_2048(const byte* in, word32 inLen, const mp_int* em,
  1768. const mp_int* mm, byte* out, word32* outLen)
  1769. {
  1770. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  1771. sp_digit* a = NULL;
  1772. #else
  1773. sp_digit a[32 * 5];
  1774. #endif
  1775. sp_digit* ah;
  1776. sp_digit* m;
  1777. sp_digit* r;
  1778. sp_digit e = 0;
  1779. int err = MP_OKAY;
  1780. #ifdef HAVE_INTEL_AVX2
  1781. word32 cpuid_flags = cpuid_get_flags();
  1782. #endif
  1783. ASSERT_SAVED_VECTOR_REGISTERS();
  1784. if (*outLen < 256) {
  1785. err = MP_TO_E;
  1786. }
  1787. else if (mp_count_bits(em) > 64 || inLen > 256 ||
  1788. mp_count_bits(mm) != 2048) {
  1789. err = MP_READ_E;
  1790. }
  1791. else if (mp_iseven(mm)) {
  1792. err = MP_VAL;
  1793. }
  1794. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  1795. if (err == MP_OKAY) {
  1796. a = (sp_digit*)XMALLOC(sizeof(sp_digit) * 32 * 5, NULL,
  1797. DYNAMIC_TYPE_RSA);
  1798. if (a == NULL)
  1799. err = MEMORY_E;
  1800. }
  1801. #endif
  1802. if (err == MP_OKAY) {
  1803. r = a + 32 * 2;
  1804. m = r + 32 * 2;
  1805. ah = a + 32;
  1806. sp_2048_from_bin(ah, 32, in, inLen);
  1807. #if DIGIT_BIT >= 64
  1808. e = em->dp[0];
  1809. #else
  1810. e = em->dp[0];
  1811. if (em->used > 1)
  1812. e |= ((sp_digit)em->dp[1]) << DIGIT_BIT;
  1813. #endif
  1814. if (e == 0)
  1815. err = MP_EXPTMOD_E;
  1816. }
  1817. if (err == MP_OKAY) {
  1818. sp_2048_from_mp(m, 32, mm);
  1819. if (e == 0x10001) {
  1820. int i;
  1821. sp_digit mp;
  1822. sp_2048_mont_setup(m, &mp);
  1823. /* Convert to Montgomery form. */
  1824. XMEMSET(a, 0, sizeof(sp_digit) * 32);
  1825. err = sp_2048_mod_32_cond(r, a, m);
  1826. /* Montgomery form: r = a.R mod m */
  1827. if (err == MP_OKAY) {
  1828. /* r = a ^ 0x10000 => r = a squared 16 times */
  1829. #ifdef HAVE_INTEL_AVX2
  1830. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  1831. for (i = 15; i >= 0; i--) {
  1832. sp_2048_mont_sqr_avx2_32(r, r, m, mp);
  1833. }
  1834. /* mont_red(r.R.R) = (r.R.R / R) mod m = r.R mod m
  1835. * mont_red(r.R * a) = (r.R.a / R) mod m = r.a mod m
  1836. */
  1837. sp_2048_mont_mul_avx2_32(r, r, ah, m, mp);
  1838. }
  1839. else
  1840. #endif
  1841. {
  1842. for (i = 15; i >= 0; i--) {
  1843. sp_2048_mont_sqr_32(r, r, m, mp);
  1844. }
  1845. /* mont_red(r.R.R) = (r.R.R / R) mod m = r.R mod m
  1846. * mont_red(r.R * a) = (r.R.a / R) mod m = r.a mod m
  1847. */
  1848. sp_2048_mont_mul_32(r, r, ah, m, mp);
  1849. }
  1850. for (i = 31; i > 0; i--) {
  1851. if (r[i] != m[i])
  1852. break;
  1853. }
  1854. if (r[i] >= m[i])
  1855. sp_2048_sub_in_place_32(r, m);
  1856. }
  1857. }
  1858. else if (e == 0x3) {
  1859. #ifdef HAVE_INTEL_AVX2
  1860. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  1861. if (err == MP_OKAY) {
  1862. sp_2048_sqr_avx2_32(r, ah);
  1863. err = sp_2048_mod_32_cond(r, r, m);
  1864. }
  1865. if (err == MP_OKAY) {
  1866. sp_2048_mul_avx2_32(r, ah, r);
  1867. err = sp_2048_mod_32_cond(r, r, m);
  1868. }
  1869. }
  1870. else
  1871. #endif
  1872. {
  1873. if (err == MP_OKAY) {
  1874. sp_2048_sqr_32(r, ah);
  1875. err = sp_2048_mod_32_cond(r, r, m);
  1876. }
  1877. if (err == MP_OKAY) {
  1878. sp_2048_mul_32(r, ah, r);
  1879. err = sp_2048_mod_32_cond(r, r, m);
  1880. }
  1881. }
  1882. }
  1883. else {
  1884. int i;
  1885. sp_digit mp;
  1886. sp_2048_mont_setup(m, &mp);
  1887. /* Convert to Montgomery form. */
  1888. XMEMSET(a, 0, sizeof(sp_digit) * 32);
  1889. err = sp_2048_mod_32_cond(a, a, m);
  1890. if (err == MP_OKAY) {
  1891. for (i=63; i>=0; i--) {
  1892. if (e >> i) {
  1893. break;
  1894. }
  1895. }
  1896. XMEMCPY(r, a, sizeof(sp_digit) * 32);
  1897. #ifdef HAVE_INTEL_AVX2
  1898. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  1899. for (i--; i>=0; i--) {
  1900. sp_2048_mont_sqr_avx2_32(r, r, m, mp);
  1901. if (((e >> i) & 1) == 1) {
  1902. sp_2048_mont_mul_avx2_32(r, r, a, m, mp);
  1903. }
  1904. }
  1905. XMEMSET(&r[32], 0, sizeof(sp_digit) * 32);
  1906. sp_2048_mont_reduce_avx2_32(r, m, mp);
  1907. }
  1908. else
  1909. #endif
  1910. {
  1911. for (i--; i>=0; i--) {
  1912. sp_2048_mont_sqr_32(r, r, m, mp);
  1913. if (((e >> i) & 1) == 1) {
  1914. sp_2048_mont_mul_32(r, r, a, m, mp);
  1915. }
  1916. }
  1917. XMEMSET(&r[32], 0, sizeof(sp_digit) * 32);
  1918. sp_2048_mont_reduce_32(r, m, mp);
  1919. }
  1920. for (i = 31; i > 0; i--) {
  1921. if (r[i] != m[i])
  1922. break;
  1923. }
  1924. if (r[i] >= m[i])
  1925. sp_2048_sub_in_place_32(r, m);
  1926. }
  1927. }
  1928. }
  1929. if (err == MP_OKAY) {
  1930. sp_2048_to_bin_32(r, out);
  1931. *outLen = 256;
  1932. }
  1933. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  1934. if (a != NULL)
  1935. XFREE(a, NULL, DYNAMIC_TYPE_RSA);
  1936. #endif
  1937. return err;
  1938. }
  1939. #ifndef WOLFSSL_RSA_PUBLIC_ONLY
  1940. #if defined(SP_RSA_PRIVATE_EXP_D) || defined(RSA_LOW_MEM)
  1941. /* RSA private key operation.
  1942. *
  1943. * in Array of bytes representing the number to exponentiate, base.
  1944. * inLen Number of bytes in base.
  1945. * dm Private exponent.
  1946. * pm First prime.
  1947. * qm Second prime.
  1948. * dpm First prime's CRT exponent.
  1949. * dqm Second prime's CRT exponent.
  1950. * qim Inverse of second prime mod p.
  1951. * mm Modulus.
  1952. * out Buffer to hold big-endian bytes of exponentiation result.
  1953. * Must be at least 256 bytes long.
  1954. * outLen Number of bytes in result.
  1955. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  1956. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  1957. */
  1958. int sp_RsaPrivate_2048(const byte* in, word32 inLen, const mp_int* dm,
  1959. const mp_int* pm, const mp_int* qm,const mp_int* dpm, const mp_int* dqm,
  1960. const mp_int* qim, const mp_int* mm, byte* out, word32* outLen)
  1961. {
  1962. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  1963. sp_digit* d = NULL;
  1964. #else
  1965. sp_digit d[32 * 4];
  1966. #endif
  1967. sp_digit* a;
  1968. sp_digit* m;
  1969. sp_digit* r;
  1970. int err = MP_OKAY;
  1971. ASSERT_SAVED_VECTOR_REGISTERS();
  1972. (void)pm;
  1973. (void)qm;
  1974. (void)dpm;
  1975. (void)dqm;
  1976. (void)qim;
  1977. if (*outLen < 256U) {
  1978. err = MP_TO_E;
  1979. }
  1980. if (err == MP_OKAY) {
  1981. if (mp_count_bits(dm) > 2048) {
  1982. err = MP_READ_E;
  1983. }
  1984. else if (inLen > 256U) {
  1985. err = MP_READ_E;
  1986. }
  1987. else if (mp_count_bits(mm) != 2048) {
  1988. err = MP_READ_E;
  1989. }
  1990. else if (mp_iseven(mm)) {
  1991. err = MP_VAL;
  1992. }
  1993. }
  1994. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  1995. if (err == MP_OKAY) {
  1996. d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 32 * 4, NULL,
  1997. DYNAMIC_TYPE_RSA);
  1998. if (d == NULL) {
  1999. err = MEMORY_E;
  2000. }
  2001. }
  2002. #endif
  2003. if (err == MP_OKAY) {
  2004. a = d + 32;
  2005. m = a + 64;
  2006. r = a;
  2007. sp_2048_from_bin(a, 32, in, inLen);
  2008. sp_2048_from_mp(d, 32, dm);
  2009. sp_2048_from_mp(m, 32, mm);
  2010. err = sp_2048_mod_exp_32(r, a, d, 2048, m, 0);
  2011. }
  2012. if (err == MP_OKAY) {
  2013. sp_2048_to_bin_32(r, out);
  2014. *outLen = 256;
  2015. }
  2016. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2017. if (d != NULL)
  2018. #endif
  2019. {
  2020. /* only zeroing private "d" */
  2021. ForceZero(d, sizeof(sp_digit) * 32);
  2022. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2023. XFREE(d, NULL, DYNAMIC_TYPE_RSA);
  2024. #endif
  2025. }
  2026. return err;
  2027. }
  2028. #else
  2029. #ifdef __cplusplus
  2030. extern "C" {
  2031. #endif
  2032. extern sp_digit sp_2048_cond_add_16(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  2033. #ifdef __cplusplus
  2034. }
  2035. #endif
  2036. #ifdef __cplusplus
  2037. extern "C" {
  2038. #endif
  2039. extern sp_digit sp_2048_cond_add_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  2040. #ifdef __cplusplus
  2041. }
  2042. #endif
  2043. /* RSA private key operation.
  2044. *
  2045. * in Array of bytes representing the number to exponentiate, base.
  2046. * inLen Number of bytes in base.
  2047. * dm Private exponent.
  2048. * pm First prime.
  2049. * qm Second prime.
  2050. * dpm First prime's CRT exponent.
  2051. * dqm Second prime's CRT exponent.
  2052. * qim Inverse of second prime mod p.
  2053. * mm Modulus.
  2054. * out Buffer to hold big-endian bytes of exponentiation result.
  2055. * Must be at least 256 bytes long.
  2056. * outLen Number of bytes in result.
  2057. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  2058. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  2059. */
  2060. int sp_RsaPrivate_2048(const byte* in, word32 inLen, const mp_int* dm,
  2061. const mp_int* pm, const mp_int* qm, const mp_int* dpm, const mp_int* dqm,
  2062. const mp_int* qim, const mp_int* mm, byte* out, word32* outLen)
  2063. {
  2064. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2065. sp_digit* a = NULL;
  2066. #else
  2067. sp_digit a[16 * 11];
  2068. #endif
  2069. sp_digit* p;
  2070. sp_digit* q;
  2071. sp_digit* dp;
  2072. sp_digit* dq;
  2073. sp_digit* qi;
  2074. sp_digit* tmpa;
  2075. sp_digit* tmpb;
  2076. sp_digit* r;
  2077. sp_digit c;
  2078. int err = MP_OKAY;
  2079. #ifdef HAVE_INTEL_AVX2
  2080. word32 cpuid_flags = cpuid_get_flags();
  2081. #endif
  2082. ASSERT_SAVED_VECTOR_REGISTERS();
  2083. (void)dm;
  2084. (void)mm;
  2085. if (*outLen < 256) {
  2086. err = MP_TO_E;
  2087. }
  2088. else if (inLen > 256 || mp_count_bits(mm) != 2048) {
  2089. err = MP_READ_E;
  2090. }
  2091. else if (mp_iseven(mm)) {
  2092. err = MP_VAL;
  2093. }
  2094. else if (mp_iseven(pm)) {
  2095. err = MP_VAL;
  2096. }
  2097. else if (mp_iseven(qm)) {
  2098. err = MP_VAL;
  2099. }
  2100. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2101. if (err == MP_OKAY) {
  2102. a = (sp_digit*)XMALLOC(sizeof(sp_digit) * 16 * 11, NULL,
  2103. DYNAMIC_TYPE_RSA);
  2104. if (a == NULL)
  2105. err = MEMORY_E;
  2106. }
  2107. #endif
  2108. if (err == MP_OKAY) {
  2109. p = a + 32 * 2;
  2110. q = p + 16;
  2111. qi = dq = dp = q + 16;
  2112. tmpa = qi + 16;
  2113. tmpb = tmpa + 32;
  2114. r = a + 32;
  2115. sp_2048_from_bin(a, 32, in, inLen);
  2116. sp_2048_from_mp(p, 16, pm);
  2117. sp_2048_from_mp(q, 16, qm);
  2118. sp_2048_from_mp(dp, 16, dpm);
  2119. #ifdef HAVE_INTEL_AVX2
  2120. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  2121. err = sp_2048_mod_exp_avx2_16(tmpa, a, dp, 1024, p, 1);
  2122. else
  2123. #endif
  2124. err = sp_2048_mod_exp_16(tmpa, a, dp, 1024, p, 1);
  2125. }
  2126. if (err == MP_OKAY) {
  2127. sp_2048_from_mp(dq, 16, dqm);
  2128. #ifdef HAVE_INTEL_AVX2
  2129. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  2130. err = sp_2048_mod_exp_avx2_16(tmpb, a, dq, 1024, q, 1);
  2131. else
  2132. #endif
  2133. err = sp_2048_mod_exp_16(tmpb, a, dq, 1024, q, 1);
  2134. }
  2135. if (err == MP_OKAY) {
  2136. c = sp_2048_sub_in_place_16(tmpa, tmpb);
  2137. #ifdef HAVE_INTEL_AVX2
  2138. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  2139. c += sp_2048_cond_add_avx2_16(tmpa, tmpa, p, c);
  2140. sp_2048_cond_add_avx2_16(tmpa, tmpa, p, c);
  2141. }
  2142. else
  2143. #endif
  2144. {
  2145. c += sp_2048_cond_add_16(tmpa, tmpa, p, c);
  2146. sp_2048_cond_add_16(tmpa, tmpa, p, c);
  2147. }
  2148. sp_2048_from_mp(qi, 16, qim);
  2149. #ifdef HAVE_INTEL_AVX2
  2150. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  2151. sp_2048_mul_avx2_16(tmpa, tmpa, qi);
  2152. }
  2153. else
  2154. #endif
  2155. {
  2156. sp_2048_mul_16(tmpa, tmpa, qi);
  2157. }
  2158. err = sp_2048_mod_16(tmpa, tmpa, p);
  2159. }
  2160. if (err == MP_OKAY) {
  2161. #ifdef HAVE_INTEL_AVX2
  2162. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  2163. sp_2048_mul_avx2_16(tmpa, q, tmpa);
  2164. }
  2165. else
  2166. #endif
  2167. {
  2168. sp_2048_mul_16(tmpa, q, tmpa);
  2169. }
  2170. XMEMSET(&tmpb[16], 0, sizeof(sp_digit) * 16);
  2171. sp_2048_add_32(r, tmpb, tmpa);
  2172. sp_2048_to_bin_32(r, out);
  2173. *outLen = 256;
  2174. }
  2175. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2176. if (a != NULL)
  2177. #endif
  2178. {
  2179. ForceZero(a, sizeof(sp_digit) * 16 * 11);
  2180. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2181. XFREE(a, NULL, DYNAMIC_TYPE_RSA);
  2182. #endif
  2183. }
  2184. return err;
  2185. }
  2186. #endif /* SP_RSA_PRIVATE_EXP_D | RSA_LOW_MEM */
  2187. #endif /* WOLFSSL_RSA_PUBLIC_ONLY */
  2188. #endif /* WOLFSSL_HAVE_SP_RSA */
  2189. #if defined(WOLFSSL_HAVE_SP_DH) || (defined(WOLFSSL_HAVE_SP_RSA) && \
  2190. !defined(WOLFSSL_RSA_PUBLIC_ONLY))
  2191. /* Convert an array of sp_digit to an mp_int.
  2192. *
  2193. * a A single precision integer.
  2194. * r A multi-precision integer.
  2195. */
  2196. static int sp_2048_to_mp(const sp_digit* a, mp_int* r)
  2197. {
  2198. int err;
  2199. err = mp_grow(r, (2048 + DIGIT_BIT - 1) / DIGIT_BIT);
  2200. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  2201. #if DIGIT_BIT == 64
  2202. XMEMCPY(r->dp, a, sizeof(sp_digit) * 32);
  2203. r->used = 32;
  2204. mp_clamp(r);
  2205. #elif DIGIT_BIT < 64
  2206. int i;
  2207. int j = 0;
  2208. int s = 0;
  2209. r->dp[0] = 0;
  2210. for (i = 0; i < 32; i++) {
  2211. r->dp[j] |= (mp_digit)(a[i] << s);
  2212. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  2213. s = DIGIT_BIT - s;
  2214. r->dp[++j] = (mp_digit)(a[i] >> s);
  2215. while (s + DIGIT_BIT <= 64) {
  2216. s += DIGIT_BIT;
  2217. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  2218. if (s == SP_WORD_SIZE) {
  2219. r->dp[j] = 0;
  2220. }
  2221. else {
  2222. r->dp[j] = (mp_digit)(a[i] >> s);
  2223. }
  2224. }
  2225. s = 64 - s;
  2226. }
  2227. r->used = (2048 + DIGIT_BIT - 1) / DIGIT_BIT;
  2228. mp_clamp(r);
  2229. #else
  2230. int i;
  2231. int j = 0;
  2232. int s = 0;
  2233. r->dp[0] = 0;
  2234. for (i = 0; i < 32; i++) {
  2235. r->dp[j] |= ((mp_digit)a[i]) << s;
  2236. if (s + 64 >= DIGIT_BIT) {
  2237. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  2238. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  2239. #endif
  2240. s = DIGIT_BIT - s;
  2241. r->dp[++j] = a[i] >> s;
  2242. s = 64 - s;
  2243. }
  2244. else {
  2245. s += 64;
  2246. }
  2247. }
  2248. r->used = (2048 + DIGIT_BIT - 1) / DIGIT_BIT;
  2249. mp_clamp(r);
  2250. #endif
  2251. }
  2252. return err;
  2253. }
  2254. /* Perform the modular exponentiation for Diffie-Hellman.
  2255. *
  2256. * base Base. MP integer.
  2257. * exp Exponent. MP integer.
  2258. * mod Modulus. MP integer.
  2259. * res Result. MP integer.
  2260. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  2261. * and MEMORY_E if memory allocation fails.
  2262. */
  2263. int sp_ModExp_2048(const mp_int* base, const mp_int* exp, const mp_int* mod,
  2264. mp_int* res)
  2265. {
  2266. int err = MP_OKAY;
  2267. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2268. sp_digit *b = NULL;
  2269. sp_digit *e = NULL;
  2270. sp_digit *m = NULL;
  2271. sp_digit* r;
  2272. #else
  2273. sp_digit b[64];
  2274. sp_digit e[32];
  2275. sp_digit m[32];
  2276. sp_digit* r = b;
  2277. #endif
  2278. #ifdef HAVE_INTEL_AVX2
  2279. word32 cpuid_flags = cpuid_get_flags();
  2280. #endif
  2281. int expBits = mp_count_bits(exp);
  2282. ASSERT_SAVED_VECTOR_REGISTERS();
  2283. if (mp_count_bits(base) > 2048 || expBits > 2048 ||
  2284. mp_count_bits(mod) != 2048) {
  2285. err = MP_READ_E;
  2286. }
  2287. else if (mp_iseven(mod)) {
  2288. err = MP_VAL;
  2289. }
  2290. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2291. if (err == MP_OKAY) {
  2292. if (((b = (sp_digit *)XMALLOC(64 * sizeof(*b), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  2293. ((e = (sp_digit *)XMALLOC(32 * sizeof(*e), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  2294. ((m = (sp_digit *)XMALLOC(32 * sizeof(*m), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL))
  2295. {
  2296. err = MEMORY_E;
  2297. } else {
  2298. r = b;
  2299. }
  2300. }
  2301. #endif
  2302. if (err == MP_OKAY) {
  2303. sp_2048_from_mp(b, 32, base);
  2304. sp_2048_from_mp(e, 32, exp);
  2305. sp_2048_from_mp(m, 32, mod);
  2306. #ifdef HAVE_INTEL_AVX2
  2307. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  2308. err = sp_2048_mod_exp_avx2_32(r, b, e, expBits, m, 0);
  2309. else
  2310. #endif
  2311. err = sp_2048_mod_exp_32(r, b, e, expBits, m, 0);
  2312. }
  2313. if (err == MP_OKAY) {
  2314. err = sp_2048_to_mp(r, res);
  2315. }
  2316. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2317. if (b != NULL)
  2318. XFREE(b, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  2319. if (e != NULL) {
  2320. XMEMSET(e, 0, 32);
  2321. XFREE(e, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  2322. }
  2323. if (m != NULL)
  2324. XFREE(m, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  2325. #else
  2326. XMEMSET(e, 0, sizeof(e));
  2327. #endif
  2328. return err;
  2329. }
  2330. #ifdef WOLFSSL_HAVE_SP_DH
  2331. #ifdef HAVE_FFDHE_2048
  2332. #ifdef __cplusplus
  2333. extern "C" {
  2334. #endif
  2335. extern void sp_2048_lshift_32(sp_digit* r, const sp_digit* a, int n);
  2336. #ifdef __cplusplus
  2337. }
  2338. #endif
  2339. #ifdef HAVE_INTEL_AVX2
  2340. /* Modular exponentiate 2 to the e mod m. (r = 2^e mod m)
  2341. *
  2342. * r A single precision number that is the result of the operation.
  2343. * e A single precision number that is the exponent.
  2344. * bits The number of bits in the exponent.
  2345. * m A single precision number that is the modulus.
  2346. * returns 0 on success.
  2347. * returns MEMORY_E on dynamic memory allocation failure.
  2348. * returns MP_VAL when base is even.
  2349. */
  2350. static int sp_2048_mod_exp_2_avx2_32(sp_digit* r, const sp_digit* e, int bits,
  2351. const sp_digit* m)
  2352. {
  2353. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2354. sp_digit* td = NULL;
  2355. #else
  2356. sp_digit td[33 + 64];
  2357. #endif
  2358. sp_digit* norm;
  2359. sp_digit* tmp;
  2360. sp_digit mp = 1;
  2361. sp_digit n;
  2362. sp_digit o;
  2363. sp_digit mask;
  2364. int i;
  2365. int c;
  2366. byte y;
  2367. int err = MP_OKAY;
  2368. ASSERT_SAVED_VECTOR_REGISTERS();
  2369. if (bits == 0) {
  2370. err = MP_VAL;
  2371. }
  2372. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2373. if (err == MP_OKAY) {
  2374. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (33 + 64), NULL,
  2375. DYNAMIC_TYPE_TMP_BUFFER);
  2376. if (td == NULL) {
  2377. err = MEMORY_E;
  2378. }
  2379. }
  2380. #endif
  2381. if (err == MP_OKAY) {
  2382. norm = td;
  2383. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2384. tmp = td + 64;
  2385. #else
  2386. tmp = &td[64];
  2387. #endif
  2388. sp_2048_mont_setup(m, &mp);
  2389. sp_2048_mont_norm_32(norm, m);
  2390. i = (bits - 1) / 64;
  2391. n = e[i--];
  2392. /* Number of bits available in top word. */
  2393. c = bits & 63;
  2394. if (c == 0) {
  2395. c = 64;
  2396. }
  2397. /* Minus the number of top bits to use so rest is a multiple of 6. */
  2398. if ((bits % 6) == 0) {
  2399. c -= 6;
  2400. }
  2401. else {
  2402. c -= bits % 6;
  2403. }
  2404. if (c < 0) {
  2405. /* Number of bits in top word is less than number needed. */
  2406. c = -c;
  2407. y = (byte)(n << c);
  2408. n = e[i--];
  2409. y |= (byte)(n >> (64 - c));
  2410. n <<= c;
  2411. c = 64 - c;
  2412. }
  2413. else if (c == 0) {
  2414. /* All bits in top word used. */
  2415. y = (byte)n;
  2416. }
  2417. else {
  2418. y = (byte)(n >> c);
  2419. n <<= 64 - c;
  2420. }
  2421. sp_2048_lshift_32(r, norm, y);
  2422. while ((i >= 0) || (c >= 6)) {
  2423. if (c == 0) {
  2424. n = e[i--];
  2425. y = (byte)(n >> 58);
  2426. n <<= 6;
  2427. c = 58;
  2428. }
  2429. else if (c < 6) {
  2430. y = (byte)(n >> 58);
  2431. n = e[i--];
  2432. c = 6 - c;
  2433. y |= (byte)(n >> (64 - c));
  2434. n <<= c;
  2435. c = 64 - c;
  2436. }
  2437. else {
  2438. y = (byte)((n >> 58) & 0x3f);
  2439. n <<= 6;
  2440. c -= 6;
  2441. }
  2442. sp_2048_mont_sqr_avx2_32(r, r, m, mp);
  2443. sp_2048_mont_sqr_avx2_32(r, r, m, mp);
  2444. sp_2048_mont_sqr_avx2_32(r, r, m, mp);
  2445. sp_2048_mont_sqr_avx2_32(r, r, m, mp);
  2446. sp_2048_mont_sqr_avx2_32(r, r, m, mp);
  2447. sp_2048_mont_sqr_avx2_32(r, r, m, mp);
  2448. sp_2048_lshift_32(r, r, y);
  2449. sp_2048_mul_d_avx2_32(tmp, norm, r[32]);
  2450. r[32] = 0;
  2451. o = sp_2048_add_32(r, r, tmp);
  2452. sp_2048_cond_sub_avx2_32(r, r, m, (sp_digit)0 - o);
  2453. }
  2454. XMEMSET(&r[32], 0, sizeof(sp_digit) * 32);
  2455. sp_2048_mont_reduce_avx2_32(r, m, mp);
  2456. mask = 0 - (sp_2048_cmp_32(r, m) >= 0);
  2457. sp_2048_cond_sub_avx2_32(r, r, m, mask);
  2458. }
  2459. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2460. if (td != NULL)
  2461. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  2462. #endif
  2463. return err;
  2464. }
  2465. #endif /* HAVE_INTEL_AVX2 */
  2466. /* Modular exponentiate 2 to the e mod m. (r = 2^e mod m)
  2467. *
  2468. * r A single precision number that is the result of the operation.
  2469. * e A single precision number that is the exponent.
  2470. * bits The number of bits in the exponent.
  2471. * m A single precision number that is the modulus.
  2472. * returns 0 on success.
  2473. * returns MEMORY_E on dynamic memory allocation failure.
  2474. * returns MP_VAL when base is even.
  2475. */
  2476. static int sp_2048_mod_exp_2_32(sp_digit* r, const sp_digit* e, int bits,
  2477. const sp_digit* m)
  2478. {
  2479. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2480. sp_digit* td = NULL;
  2481. #else
  2482. sp_digit td[33 + 64];
  2483. #endif
  2484. sp_digit* norm;
  2485. sp_digit* tmp;
  2486. sp_digit mp = 1;
  2487. sp_digit n;
  2488. sp_digit o;
  2489. sp_digit mask;
  2490. int i;
  2491. int c;
  2492. byte y;
  2493. int err = MP_OKAY;
  2494. ASSERT_SAVED_VECTOR_REGISTERS();
  2495. if (bits == 0) {
  2496. err = MP_VAL;
  2497. }
  2498. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2499. if (err == MP_OKAY) {
  2500. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (33 + 64), NULL,
  2501. DYNAMIC_TYPE_TMP_BUFFER);
  2502. if (td == NULL) {
  2503. err = MEMORY_E;
  2504. }
  2505. }
  2506. #endif
  2507. if (err == MP_OKAY) {
  2508. norm = td;
  2509. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2510. tmp = td + 64;
  2511. #else
  2512. tmp = &td[64];
  2513. #endif
  2514. sp_2048_mont_setup(m, &mp);
  2515. sp_2048_mont_norm_32(norm, m);
  2516. i = (bits - 1) / 64;
  2517. n = e[i--];
  2518. /* Number of bits available in top word. */
  2519. c = bits & 63;
  2520. if (c == 0) {
  2521. c = 64;
  2522. }
  2523. /* Minus the number of top bits to use so rest is a multiple of 6. */
  2524. if ((bits % 6) == 0) {
  2525. c -= 6;
  2526. }
  2527. else {
  2528. c -= bits % 6;
  2529. }
  2530. if (c < 0) {
  2531. /* Number of bits in top word is less than number needed. */
  2532. c = -c;
  2533. y = (byte)(n << c);
  2534. n = e[i--];
  2535. y |= (byte)(n >> (64 - c));
  2536. n <<= c;
  2537. c = 64 - c;
  2538. }
  2539. else if (c == 0) {
  2540. /* All bits in top word used. */
  2541. y = (byte)n;
  2542. }
  2543. else {
  2544. y = (byte)(n >> c);
  2545. n <<= 64 - c;
  2546. }
  2547. sp_2048_lshift_32(r, norm, y);
  2548. while ((i >= 0) || (c >= 6)) {
  2549. if (c == 0) {
  2550. n = e[i--];
  2551. y = (byte)(n >> 58);
  2552. n <<= 6;
  2553. c = 58;
  2554. }
  2555. else if (c < 6) {
  2556. y = (byte)(n >> 58);
  2557. n = e[i--];
  2558. c = 6 - c;
  2559. y |= (byte)(n >> (64 - c));
  2560. n <<= c;
  2561. c = 64 - c;
  2562. }
  2563. else {
  2564. y = (byte)((n >> 58) & 0x3f);
  2565. n <<= 6;
  2566. c -= 6;
  2567. }
  2568. sp_2048_mont_sqr_32(r, r, m, mp);
  2569. sp_2048_mont_sqr_32(r, r, m, mp);
  2570. sp_2048_mont_sqr_32(r, r, m, mp);
  2571. sp_2048_mont_sqr_32(r, r, m, mp);
  2572. sp_2048_mont_sqr_32(r, r, m, mp);
  2573. sp_2048_mont_sqr_32(r, r, m, mp);
  2574. sp_2048_lshift_32(r, r, y);
  2575. sp_2048_mul_d_32(tmp, norm, r[32]);
  2576. r[32] = 0;
  2577. o = sp_2048_add_32(r, r, tmp);
  2578. sp_2048_cond_sub_32(r, r, m, (sp_digit)0 - o);
  2579. }
  2580. XMEMSET(&r[32], 0, sizeof(sp_digit) * 32);
  2581. sp_2048_mont_reduce_32(r, m, mp);
  2582. mask = 0 - (sp_2048_cmp_32(r, m) >= 0);
  2583. sp_2048_cond_sub_32(r, r, m, mask);
  2584. }
  2585. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2586. if (td != NULL)
  2587. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  2588. #endif
  2589. return err;
  2590. }
  2591. #endif /* HAVE_FFDHE_2048 */
  2592. /* Perform the modular exponentiation for Diffie-Hellman.
  2593. *
  2594. * base Base.
  2595. * exp Array of bytes that is the exponent.
  2596. * expLen Length of data, in bytes, in exponent.
  2597. * mod Modulus.
  2598. * out Buffer to hold big-endian bytes of exponentiation result.
  2599. * Must be at least 256 bytes long.
  2600. * outLen Length, in bytes, of exponentiation result.
  2601. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  2602. * and MEMORY_E if memory allocation fails.
  2603. */
  2604. int sp_DhExp_2048(const mp_int* base, const byte* exp, word32 expLen,
  2605. const mp_int* mod, byte* out, word32* outLen)
  2606. {
  2607. int err = MP_OKAY;
  2608. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2609. sp_digit *b = NULL;
  2610. sp_digit *e = NULL;
  2611. sp_digit *m = NULL;
  2612. sp_digit* r;
  2613. #else
  2614. sp_digit b[64];
  2615. sp_digit e[32];
  2616. sp_digit m[32];
  2617. sp_digit* r = b;
  2618. #endif
  2619. word32 i;
  2620. #ifdef HAVE_INTEL_AVX2
  2621. word32 cpuid_flags = cpuid_get_flags();
  2622. #endif
  2623. ASSERT_SAVED_VECTOR_REGISTERS();
  2624. if (mp_count_bits(base) > 2048 || expLen > 256 ||
  2625. mp_count_bits(mod) != 2048) {
  2626. err = MP_READ_E;
  2627. }
  2628. else if (mp_iseven(mod)) {
  2629. err = MP_VAL;
  2630. }
  2631. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2632. if (err == MP_OKAY) {
  2633. if (((b = (sp_digit *)XMALLOC(64 * sizeof(*b), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  2634. ((e = (sp_digit *)XMALLOC(32 * sizeof(*e), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  2635. ((m = (sp_digit *)XMALLOC(32 * sizeof(*m), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL))
  2636. {
  2637. err = MEMORY_E;
  2638. } else {
  2639. r = b;
  2640. }
  2641. }
  2642. #endif
  2643. if (err == MP_OKAY) {
  2644. sp_2048_from_mp(b, 32, base);
  2645. sp_2048_from_bin(e, 32, exp, expLen);
  2646. sp_2048_from_mp(m, 32, mod);
  2647. #ifdef HAVE_FFDHE_2048
  2648. if (base->used == 1 && base->dp[0] == 2 && m[31] == (sp_digit)-1) {
  2649. #ifdef HAVE_INTEL_AVX2
  2650. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  2651. err = sp_2048_mod_exp_2_avx2_32(r, e, expLen * 8, m);
  2652. else
  2653. #endif
  2654. err = sp_2048_mod_exp_2_32(r, e, expLen * 8, m);
  2655. }
  2656. else
  2657. #endif
  2658. {
  2659. #ifdef HAVE_INTEL_AVX2
  2660. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  2661. err = sp_2048_mod_exp_avx2_32(r, b, e, expLen * 8, m, 0);
  2662. else
  2663. #endif
  2664. err = sp_2048_mod_exp_32(r, b, e, expLen * 8, m, 0);
  2665. }
  2666. }
  2667. if (err == MP_OKAY) {
  2668. sp_2048_to_bin_32(r, out);
  2669. *outLen = 256;
  2670. for (i=0; i<256 && out[i] == 0; i++) {
  2671. /* Search for first non-zero. */
  2672. }
  2673. *outLen -= i;
  2674. XMEMMOVE(out, out + i, *outLen);
  2675. }
  2676. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2677. if (b != NULL)
  2678. XFREE(b, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  2679. if (e != NULL) {
  2680. XMEMSET(e, 0, 32);
  2681. XFREE(e, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  2682. }
  2683. if (m != NULL)
  2684. XFREE(m, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  2685. #else
  2686. XMEMSET(e, 0, sizeof(e));
  2687. #endif
  2688. return err;
  2689. }
  2690. #endif
  2691. /* Perform the modular exponentiation for Diffie-Hellman.
  2692. *
  2693. * base Base. MP integer.
  2694. * exp Exponent. MP integer.
  2695. * mod Modulus. MP integer.
  2696. * res Result. MP integer.
  2697. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  2698. * and MEMORY_E if memory allocation fails.
  2699. */
  2700. int sp_ModExp_1024(const mp_int* base, const mp_int* exp, const mp_int* mod,
  2701. mp_int* res)
  2702. {
  2703. int err = MP_OKAY;
  2704. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2705. sp_digit *b = NULL;
  2706. sp_digit *e = NULL;
  2707. sp_digit *m = NULL;
  2708. sp_digit* r;
  2709. #else
  2710. sp_digit b[32];
  2711. sp_digit e[16];
  2712. sp_digit m[16];
  2713. sp_digit* r = b;
  2714. #endif
  2715. #ifdef HAVE_INTEL_AVX2
  2716. word32 cpuid_flags = cpuid_get_flags();
  2717. #endif
  2718. int expBits = mp_count_bits(exp);
  2719. ASSERT_SAVED_VECTOR_REGISTERS();
  2720. if (mp_count_bits(base) > 1024 || expBits > 1024 ||
  2721. mp_count_bits(mod) != 1024) {
  2722. err = MP_READ_E;
  2723. }
  2724. else if (mp_iseven(mod)) {
  2725. err = MP_VAL;
  2726. }
  2727. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2728. if (err == MP_OKAY) {
  2729. if (((b = (sp_digit *)XMALLOC(32 * sizeof(*b), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  2730. ((e = (sp_digit *)XMALLOC(16 * sizeof(*e), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  2731. ((m = (sp_digit *)XMALLOC(16 * sizeof(*m), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL))
  2732. {
  2733. err = MEMORY_E;
  2734. } else {
  2735. r = b;
  2736. }
  2737. }
  2738. #endif
  2739. if (err == MP_OKAY) {
  2740. sp_2048_from_mp(b, 16, base);
  2741. sp_2048_from_mp(e, 16, exp);
  2742. sp_2048_from_mp(m, 16, mod);
  2743. #ifdef HAVE_INTEL_AVX2
  2744. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  2745. err = sp_2048_mod_exp_avx2_16(r, b, e, expBits, m, 0);
  2746. else
  2747. #endif
  2748. err = sp_2048_mod_exp_16(r, b, e, expBits, m, 0);
  2749. }
  2750. if (err == MP_OKAY) {
  2751. XMEMSET(r + 16, 0, sizeof(*r) * 16);
  2752. err = sp_2048_to_mp(r, res);
  2753. }
  2754. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  2755. if (b != NULL)
  2756. XFREE(b, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  2757. if (e != NULL) {
  2758. XMEMSET(e, 0, 16);
  2759. XFREE(e, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  2760. }
  2761. if (m != NULL)
  2762. XFREE(m, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  2763. #else
  2764. XMEMSET(e, 0, sizeof(e));
  2765. #endif
  2766. return err;
  2767. }
  2768. #endif /* WOLFSSL_HAVE_SP_DH | (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) */
  2769. #endif /* !WOLFSSL_SP_NO_2048 */
  2770. #ifndef WOLFSSL_SP_NO_3072
  2771. #ifdef __cplusplus
  2772. extern "C" {
  2773. #endif
  2774. extern void sp_3072_from_bin_bswap(sp_digit* r, int size, const byte* a, int n);
  2775. #ifdef __cplusplus
  2776. }
  2777. #endif
  2778. #ifdef __cplusplus
  2779. extern "C" {
  2780. #endif
  2781. extern void sp_3072_from_bin_movbe(sp_digit* r, int size, const byte* a, int n);
  2782. #ifdef __cplusplus
  2783. }
  2784. #endif
  2785. /* Read big endian unsigned byte array into r.
  2786. *
  2787. * r A single precision integer.
  2788. * size Maximum number of bytes to convert
  2789. * a Byte array.
  2790. * n Number of bytes in array to read.
  2791. */
  2792. static void sp_3072_from_bin(sp_digit* r, int size, const byte* a, int n)
  2793. {
  2794. #ifndef NO_MOVBE_SUPPORT
  2795. word32 cpuid_flags = cpuid_get_flags();
  2796. if (IS_INTEL_MOVBE(cpuid_flags)) {
  2797. sp_3072_from_bin_movbe(r, size, a, n);
  2798. }
  2799. else
  2800. #endif
  2801. {
  2802. sp_3072_from_bin_bswap(r, size, a, n);
  2803. }
  2804. }
  2805. /* Convert an mp_int to an array of sp_digit.
  2806. *
  2807. * r A single precision integer.
  2808. * size Maximum number of bytes to convert
  2809. * a A multi-precision integer.
  2810. */
  2811. static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
  2812. {
  2813. #if DIGIT_BIT == 64
  2814. int j;
  2815. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  2816. for (j = a->used; j < size; j++) {
  2817. r[j] = 0;
  2818. }
  2819. #elif DIGIT_BIT > 64
  2820. int i;
  2821. int j = 0;
  2822. word32 s = 0;
  2823. r[0] = 0;
  2824. for (i = 0; i < a->used && j < size; i++) {
  2825. r[j] |= ((sp_digit)a->dp[i] << s);
  2826. r[j] &= 0xffffffffffffffffl;
  2827. s = 64U - s;
  2828. if (j + 1 >= size) {
  2829. break;
  2830. }
  2831. /* lint allow cast of mismatch word32 and mp_digit */
  2832. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  2833. while ((s + 64U) <= (word32)DIGIT_BIT) {
  2834. s += 64U;
  2835. r[j] &= 0xffffffffffffffffl;
  2836. if (j + 1 >= size) {
  2837. break;
  2838. }
  2839. if (s < (word32)DIGIT_BIT) {
  2840. /* lint allow cast of mismatch word32 and mp_digit */
  2841. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  2842. }
  2843. else {
  2844. r[++j] = (sp_digit)0;
  2845. }
  2846. }
  2847. s = (word32)DIGIT_BIT - s;
  2848. }
  2849. for (j++; j < size; j++) {
  2850. r[j] = 0;
  2851. }
  2852. #else
  2853. int i;
  2854. int j = 0;
  2855. int s = 0;
  2856. r[0] = 0;
  2857. for (i = 0; i < a->used && j < size; i++) {
  2858. r[j] |= ((sp_digit)a->dp[i]) << s;
  2859. if (s + DIGIT_BIT >= 64) {
  2860. r[j] &= 0xffffffffffffffffl;
  2861. if (j + 1 >= size) {
  2862. break;
  2863. }
  2864. s = 64 - s;
  2865. if (s == DIGIT_BIT) {
  2866. r[++j] = 0;
  2867. s = 0;
  2868. }
  2869. else {
  2870. r[++j] = a->dp[i] >> s;
  2871. s = DIGIT_BIT - s;
  2872. }
  2873. }
  2874. else {
  2875. s += DIGIT_BIT;
  2876. }
  2877. }
  2878. for (j++; j < size; j++) {
  2879. r[j] = 0;
  2880. }
  2881. #endif
  2882. }
  2883. #ifdef __cplusplus
  2884. extern "C" {
  2885. #endif
  2886. extern void sp_3072_to_bin_bswap_48(sp_digit* r, byte* a);
  2887. #ifdef __cplusplus
  2888. }
  2889. #endif
  2890. #ifdef __cplusplus
  2891. extern "C" {
  2892. #endif
  2893. extern void sp_3072_to_bin_movbe_48(sp_digit* r, byte* a);
  2894. #ifdef __cplusplus
  2895. }
  2896. #endif
  2897. /* Write r as big endian to byte array.
  2898. * Fixed length number of bytes written: 384
  2899. *
  2900. * r A single precision integer.
  2901. * a Byte array.
  2902. */
  2903. static void sp_3072_to_bin_48(sp_digit* r, byte* a)
  2904. {
  2905. #ifndef NO_MOVBE_SUPPORT
  2906. word32 cpuid_flags = cpuid_get_flags();
  2907. if (IS_INTEL_MOVBE(cpuid_flags)) {
  2908. sp_3072_to_bin_movbe_48(r, a);
  2909. }
  2910. else
  2911. #endif
  2912. {
  2913. sp_3072_to_bin_bswap_48(r, a);
  2914. }
  2915. }
  2916. #if (defined(WOLFSSL_HAVE_SP_RSA) && (!defined(WOLFSSL_RSA_PUBLIC_ONLY) || !defined(WOLFSSL_SP_SMALL))) || defined(WOLFSSL_HAVE_SP_DH)
  2917. /* Normalize the values in each word to 64.
  2918. *
  2919. * a Array of sp_digit to normalize.
  2920. */
  2921. #define sp_3072_norm_48(a)
  2922. #endif /* (WOLFSSL_HAVE_SP_RSA && (!WOLFSSL_RSA_PUBLIC_ONLY || !WOLFSSL_SP_SMALL)) || WOLFSSL_HAVE_SP_DH */
  2923. /* Normalize the values in each word to 64.
  2924. *
  2925. * a Array of sp_digit to normalize.
  2926. */
  2927. #define sp_3072_norm_48(a)
  2928. #ifdef __cplusplus
  2929. extern "C" {
  2930. #endif
  2931. extern void sp_3072_mul_12(sp_digit* r, const sp_digit* a, const sp_digit* b);
  2932. #ifdef __cplusplus
  2933. }
  2934. #endif
  2935. #ifdef __cplusplus
  2936. extern "C" {
  2937. #endif
  2938. extern void sp_3072_mul_avx2_12(sp_digit* r, const sp_digit* a, const sp_digit* b);
  2939. #ifdef __cplusplus
  2940. }
  2941. #endif
  2942. #ifdef __cplusplus
  2943. extern "C" {
  2944. #endif
  2945. extern sp_digit sp_3072_add_12(sp_digit* r, const sp_digit* a, const sp_digit* b);
  2946. #ifdef __cplusplus
  2947. }
  2948. #endif
  2949. #ifdef __cplusplus
  2950. extern "C" {
  2951. #endif
  2952. extern sp_digit sp_3072_sub_in_place_24(sp_digit* a, const sp_digit* b);
  2953. #ifdef __cplusplus
  2954. }
  2955. #endif
  2956. #ifdef __cplusplus
  2957. extern "C" {
  2958. #endif
  2959. extern sp_digit sp_3072_add_24(sp_digit* r, const sp_digit* a, const sp_digit* b);
  2960. #ifdef __cplusplus
  2961. }
  2962. #endif
  2963. #ifdef __cplusplus
  2964. extern "C" {
  2965. #endif
  2966. extern void sp_3072_mul_24(sp_digit* r, const sp_digit* a, const sp_digit* b);
  2967. #ifdef __cplusplus
  2968. }
  2969. #endif
  2970. #ifdef __cplusplus
  2971. extern "C" {
  2972. #endif
  2973. extern void sp_3072_mul_avx2_24(sp_digit* r, const sp_digit* a, const sp_digit* b);
  2974. #ifdef __cplusplus
  2975. }
  2976. #endif
  2977. #ifdef __cplusplus
  2978. extern "C" {
  2979. #endif
  2980. extern sp_digit sp_3072_sub_in_place_48(sp_digit* a, const sp_digit* b);
  2981. #ifdef __cplusplus
  2982. }
  2983. #endif
  2984. #ifdef __cplusplus
  2985. extern "C" {
  2986. #endif
  2987. extern sp_digit sp_3072_add_48(sp_digit* r, const sp_digit* a, const sp_digit* b);
  2988. #ifdef __cplusplus
  2989. }
  2990. #endif
  2991. #ifdef __cplusplus
  2992. extern "C" {
  2993. #endif
  2994. extern void sp_3072_mul_48(sp_digit* r, const sp_digit* a, const sp_digit* b);
  2995. #ifdef __cplusplus
  2996. }
  2997. #endif
  2998. #ifdef __cplusplus
  2999. extern "C" {
  3000. #endif
  3001. extern void sp_3072_mul_avx2_48(sp_digit* r, const sp_digit* a, const sp_digit* b);
  3002. #ifdef __cplusplus
  3003. }
  3004. #endif
  3005. #ifdef __cplusplus
  3006. extern "C" {
  3007. #endif
  3008. extern void sp_3072_sqr_12(sp_digit* r, const sp_digit* a);
  3009. #ifdef __cplusplus
  3010. }
  3011. #endif
  3012. #ifdef __cplusplus
  3013. extern "C" {
  3014. #endif
  3015. extern void sp_3072_sqr_avx2_12(sp_digit* r, const sp_digit* a);
  3016. #ifdef __cplusplus
  3017. }
  3018. #endif
  3019. #ifdef __cplusplus
  3020. extern "C" {
  3021. #endif
  3022. extern void sp_3072_sqr_24(sp_digit* r, const sp_digit* a);
  3023. #ifdef __cplusplus
  3024. }
  3025. #endif
  3026. #ifdef __cplusplus
  3027. extern "C" {
  3028. #endif
  3029. extern void sp_3072_sqr_avx2_24(sp_digit* r, const sp_digit* a);
  3030. #ifdef __cplusplus
  3031. }
  3032. #endif
  3033. #ifdef __cplusplus
  3034. extern "C" {
  3035. #endif
  3036. extern void sp_3072_sqr_48(sp_digit* r, const sp_digit* a);
  3037. #ifdef __cplusplus
  3038. }
  3039. #endif
  3040. #ifdef __cplusplus
  3041. extern "C" {
  3042. #endif
  3043. extern void sp_3072_sqr_avx2_48(sp_digit* r, const sp_digit* a);
  3044. #ifdef __cplusplus
  3045. }
  3046. #endif
  3047. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  3048. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  3049. /* Caclulate the bottom digit of -1/a mod 2^n.
  3050. *
  3051. * a A single precision number.
  3052. * rho Bottom word of inverse.
  3053. */
  3054. static void sp_3072_mont_setup(const sp_digit* a, sp_digit* rho)
  3055. {
  3056. sp_digit x;
  3057. sp_digit b;
  3058. b = a[0];
  3059. x = (((b + 2) & 4) << 1) + b; /* here x*a==1 mod 2**4 */
  3060. x *= 2 - b * x; /* here x*a==1 mod 2**8 */
  3061. x *= 2 - b * x; /* here x*a==1 mod 2**16 */
  3062. x *= 2 - b * x; /* here x*a==1 mod 2**32 */
  3063. x *= 2 - b * x; /* here x*a==1 mod 2**64 */
  3064. /* rho = -1/m mod b */
  3065. *rho = (sp_digit)0 - x;
  3066. }
  3067. #ifdef __cplusplus
  3068. extern "C" {
  3069. #endif
  3070. extern void sp_3072_mul_d_48(sp_digit* r, const sp_digit* a, sp_digit b);
  3071. #ifdef __cplusplus
  3072. }
  3073. #endif
  3074. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  3075. /* r = 2^n mod m where n is the number of bits to reduce by.
  3076. * Given m must be 3072 bits, just need to subtract.
  3077. *
  3078. * r A single precision number.
  3079. * m A single precision number.
  3080. */
  3081. static void sp_3072_mont_norm_24(sp_digit* r, const sp_digit* m)
  3082. {
  3083. XMEMSET(r, 0, sizeof(sp_digit) * 24);
  3084. ASSERT_SAVED_VECTOR_REGISTERS();
  3085. /* r = 2^n mod m */
  3086. sp_3072_sub_in_place_24(r, m);
  3087. }
  3088. #ifdef __cplusplus
  3089. extern "C" {
  3090. #endif
  3091. extern sp_digit sp_3072_cond_sub_24(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  3092. #ifdef __cplusplus
  3093. }
  3094. #endif
  3095. #ifdef __cplusplus
  3096. extern "C" {
  3097. #endif
  3098. extern void sp_3072_mont_reduce_24(sp_digit* a, const sp_digit* m, sp_digit mp);
  3099. #ifdef __cplusplus
  3100. }
  3101. #endif
  3102. /* Multiply two Montgomery form numbers mod the modulus (prime).
  3103. * (r = a * b mod m)
  3104. *
  3105. * r Result of multiplication.
  3106. * a First number to multiply in Montgomery form.
  3107. * b Second number to multiply in Montgomery form.
  3108. * m Modulus (prime).
  3109. * mp Montgomery mulitplier.
  3110. */
  3111. SP_NOINLINE static void sp_3072_mont_mul_24(sp_digit* r, const sp_digit* a,
  3112. const sp_digit* b, const sp_digit* m, sp_digit mp)
  3113. {
  3114. sp_3072_mul_24(r, a, b);
  3115. sp_3072_mont_reduce_24(r, m, mp);
  3116. }
  3117. /* Square the Montgomery form number. (r = a * a mod m)
  3118. *
  3119. * r Result of squaring.
  3120. * a Number to square in Montgomery form.
  3121. * m Modulus (prime).
  3122. * mp Montgomery mulitplier.
  3123. */
  3124. SP_NOINLINE static void sp_3072_mont_sqr_24(sp_digit* r, const sp_digit* a,
  3125. const sp_digit* m, sp_digit mp)
  3126. {
  3127. sp_3072_sqr_24(r, a);
  3128. sp_3072_mont_reduce_24(r, m, mp);
  3129. }
  3130. #ifdef __cplusplus
  3131. extern "C" {
  3132. #endif
  3133. extern sp_digit sp_3072_cond_sub_avx2_24(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  3134. #ifdef __cplusplus
  3135. }
  3136. #endif
  3137. #ifdef __cplusplus
  3138. extern "C" {
  3139. #endif
  3140. extern void sp_3072_mul_d_24(sp_digit* r, const sp_digit* a, sp_digit b);
  3141. #ifdef __cplusplus
  3142. }
  3143. #endif
  3144. #ifdef __cplusplus
  3145. extern "C" {
  3146. #endif
  3147. extern void sp_3072_mul_d_avx2_24(sp_digit* r, const sp_digit* a, const sp_digit b);
  3148. #ifdef __cplusplus
  3149. }
  3150. #endif
  3151. #if defined(_WIN64) && !defined(__clang__)
  3152. #if _MSC_VER < 1920
  3153. #ifdef __cplusplus
  3154. extern "C" {
  3155. #endif
  3156. extern sp_digit div_3072_word_asm_24(sp_digit d1, sp_digit d0, sp_digit div);
  3157. #ifdef __cplusplus
  3158. }
  3159. #endif
  3160. #endif /* _MSC_VER < 1920 */
  3161. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  3162. *
  3163. * d1 The high order half of the number to divide.
  3164. * d0 The low order half of the number to divide.
  3165. * div The dividend.
  3166. * returns the result of the division.
  3167. */
  3168. static WC_INLINE sp_digit div_3072_word_24(sp_digit d1, sp_digit d0,
  3169. sp_digit div)
  3170. {
  3171. ASSERT_SAVED_VECTOR_REGISTERS();
  3172. #if _MSC_VER >= 1920
  3173. return _udiv128(d1, d0, div, NULL);
  3174. #else
  3175. return div_3072_word_asm_24(d1, d0, div);
  3176. #endif
  3177. }
  3178. #else
  3179. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  3180. *
  3181. * d1 The high order half of the number to divide.
  3182. * d0 The low order half of the number to divide.
  3183. * div The dividend.
  3184. * returns the result of the division.
  3185. */
  3186. static WC_INLINE sp_digit div_3072_word_24(sp_digit d1, sp_digit d0,
  3187. sp_digit div)
  3188. {
  3189. ASSERT_SAVED_VECTOR_REGISTERS();
  3190. register sp_digit r asm("rax");
  3191. __asm__ __volatile__ (
  3192. "divq %3"
  3193. : "=a" (r)
  3194. : "d" (d1), "a" (d0), "r" (div)
  3195. :
  3196. );
  3197. return r;
  3198. }
  3199. #endif /* _WIN64 && !__clang__ */
  3200. /* AND m into each word of a and store in r.
  3201. *
  3202. * r A single precision integer.
  3203. * a A single precision integer.
  3204. * m Mask to AND against each digit.
  3205. */
  3206. static void sp_3072_mask_24(sp_digit* r, const sp_digit* a, sp_digit m)
  3207. {
  3208. #ifdef WOLFSSL_SP_SMALL
  3209. int i;
  3210. for (i=0; i<24; i++) {
  3211. r[i] = a[i] & m;
  3212. }
  3213. #else
  3214. int i;
  3215. for (i = 0; i < 24; i += 8) {
  3216. r[i+0] = a[i+0] & m;
  3217. r[i+1] = a[i+1] & m;
  3218. r[i+2] = a[i+2] & m;
  3219. r[i+3] = a[i+3] & m;
  3220. r[i+4] = a[i+4] & m;
  3221. r[i+5] = a[i+5] & m;
  3222. r[i+6] = a[i+6] & m;
  3223. r[i+7] = a[i+7] & m;
  3224. }
  3225. #endif
  3226. }
  3227. #ifdef __cplusplus
  3228. extern "C" {
  3229. #endif
  3230. extern sp_int64 sp_3072_cmp_24(const sp_digit* a, const sp_digit* b);
  3231. #ifdef __cplusplus
  3232. }
  3233. #endif
  3234. /* Divide d in a and put remainder into r (m*d + r = a)
  3235. * m is not calculated as it is not needed at this time.
  3236. *
  3237. * a Number to be divided.
  3238. * d Number to divide with.
  3239. * m Multiplier result.
  3240. * r Remainder from the division.
  3241. * returns MP_OKAY indicating success.
  3242. */
  3243. static WC_INLINE int sp_3072_div_24(const sp_digit* a, const sp_digit* d, sp_digit* m,
  3244. sp_digit* r)
  3245. {
  3246. sp_digit t1[48];
  3247. sp_digit t2[25];
  3248. sp_digit div;
  3249. sp_digit r1;
  3250. int i;
  3251. #ifdef HAVE_INTEL_AVX2
  3252. word32 cpuid_flags = cpuid_get_flags();
  3253. #endif
  3254. ASSERT_SAVED_VECTOR_REGISTERS();
  3255. (void)m;
  3256. div = d[23];
  3257. XMEMCPY(t1, a, sizeof(*t1) * 2 * 24);
  3258. r1 = sp_3072_cmp_24(&t1[24], d) >= 0;
  3259. #ifdef HAVE_INTEL_AVX2
  3260. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  3261. sp_3072_cond_sub_avx2_24(&t1[24], &t1[24], d, (sp_digit)0 - r1);
  3262. else
  3263. #endif
  3264. sp_3072_cond_sub_24(&t1[24], &t1[24], d, (sp_digit)0 - r1);
  3265. for (i = 23; i >= 0; i--) {
  3266. sp_digit mask = 0 - (t1[24 + i] == div);
  3267. sp_digit hi = t1[24 + i] + mask;
  3268. r1 = div_3072_word_24(hi, t1[24 + i - 1], div);
  3269. r1 |= mask;
  3270. #ifdef HAVE_INTEL_AVX2
  3271. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  3272. sp_3072_mul_d_avx2_24(t2, d, r1);
  3273. else
  3274. #endif
  3275. sp_3072_mul_d_24(t2, d, r1);
  3276. t1[24 + i] += sp_3072_sub_in_place_24(&t1[i], t2);
  3277. t1[24 + i] -= t2[24];
  3278. sp_3072_mask_24(t2, d, t1[24 + i]);
  3279. t1[24 + i] += sp_3072_add_24(&t1[i], &t1[i], t2);
  3280. sp_3072_mask_24(t2, d, t1[24 + i]);
  3281. t1[24 + i] += sp_3072_add_24(&t1[i], &t1[i], t2);
  3282. }
  3283. r1 = sp_3072_cmp_24(t1, d) >= 0;
  3284. #ifdef HAVE_INTEL_AVX2
  3285. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  3286. sp_3072_cond_sub_avx2_24(r, t1, d, (sp_digit)0 - r1);
  3287. else
  3288. #endif
  3289. sp_3072_cond_sub_24(r, t1, d, (sp_digit)0 - r1);
  3290. return MP_OKAY;
  3291. }
  3292. /* Reduce a modulo m into r. (r = a mod m)
  3293. *
  3294. * r A single precision number that is the reduced result.
  3295. * a A single precision number that is to be reduced.
  3296. * m A single precision number that is the modulus to reduce with.
  3297. * returns MP_OKAY indicating success.
  3298. */
  3299. static WC_INLINE int sp_3072_mod_24(sp_digit* r, const sp_digit* a,
  3300. const sp_digit* m)
  3301. {
  3302. ASSERT_SAVED_VECTOR_REGISTERS();
  3303. return sp_3072_div_24(a, m, NULL, r);
  3304. }
  3305. #ifdef __cplusplus
  3306. extern "C" {
  3307. #endif
  3308. extern void sp_3072_get_from_table_24(sp_digit* r, sp_digit** table, int idx);
  3309. #ifdef __cplusplus
  3310. }
  3311. #endif
  3312. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  3313. *
  3314. * r A single precision number that is the result of the operation.
  3315. * a A single precision number being exponentiated.
  3316. * e A single precision number that is the exponent.
  3317. * bits The number of bits in the exponent.
  3318. * m A single precision number that is the modulus.
  3319. * returns 0 on success
  3320. * returns MEMORY_E on dynamic memory allocation failure.
  3321. * returns MP_VAL when base is even or exponent is 0.
  3322. */
  3323. static int sp_3072_mod_exp_24(sp_digit* r, const sp_digit* a, const sp_digit* e,
  3324. int bits, const sp_digit* m, int reduceA)
  3325. {
  3326. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  3327. sp_digit* td = NULL;
  3328. #else
  3329. sp_digit td[(33 * 48) + 48];
  3330. #endif
  3331. sp_digit* t[32];
  3332. sp_digit* rt = NULL;
  3333. sp_digit* norm;
  3334. sp_digit mp = 1;
  3335. sp_digit n;
  3336. sp_digit mask;
  3337. int i;
  3338. int c;
  3339. byte y;
  3340. int err = MP_OKAY;
  3341. ASSERT_SAVED_VECTOR_REGISTERS();
  3342. if (bits == 0) {
  3343. err = MP_VAL;
  3344. }
  3345. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  3346. if (err == MP_OKAY) {
  3347. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (33 * 48) + 48, NULL,
  3348. DYNAMIC_TYPE_TMP_BUFFER);
  3349. if (td == NULL) {
  3350. err = MEMORY_E;
  3351. }
  3352. }
  3353. #endif
  3354. if (err == MP_OKAY) {
  3355. norm = td;
  3356. for (i=0; i<32; i++)
  3357. t[i] = td + i * 48;
  3358. rt = td + 1536;
  3359. sp_3072_mont_setup(m, &mp);
  3360. sp_3072_mont_norm_24(norm, m);
  3361. XMEMSET(t[1], 0, sizeof(sp_digit) * 24);
  3362. if (reduceA) {
  3363. err = sp_3072_mod_24(t[1] + 24, a, m);
  3364. if (err == MP_OKAY)
  3365. err = sp_3072_mod_24(t[1], t[1], m);
  3366. }
  3367. else {
  3368. XMEMCPY(t[1] + 24, a, sizeof(sp_digit) * 24);
  3369. err = sp_3072_mod_24(t[1], t[1], m);
  3370. }
  3371. }
  3372. if (err == MP_OKAY) {
  3373. sp_3072_mont_sqr_24(t[ 2], t[ 1], m, mp);
  3374. sp_3072_mont_mul_24(t[ 3], t[ 2], t[ 1], m, mp);
  3375. sp_3072_mont_sqr_24(t[ 4], t[ 2], m, mp);
  3376. sp_3072_mont_mul_24(t[ 5], t[ 3], t[ 2], m, mp);
  3377. sp_3072_mont_sqr_24(t[ 6], t[ 3], m, mp);
  3378. sp_3072_mont_mul_24(t[ 7], t[ 4], t[ 3], m, mp);
  3379. sp_3072_mont_sqr_24(t[ 8], t[ 4], m, mp);
  3380. sp_3072_mont_mul_24(t[ 9], t[ 5], t[ 4], m, mp);
  3381. sp_3072_mont_sqr_24(t[10], t[ 5], m, mp);
  3382. sp_3072_mont_mul_24(t[11], t[ 6], t[ 5], m, mp);
  3383. sp_3072_mont_sqr_24(t[12], t[ 6], m, mp);
  3384. sp_3072_mont_mul_24(t[13], t[ 7], t[ 6], m, mp);
  3385. sp_3072_mont_sqr_24(t[14], t[ 7], m, mp);
  3386. sp_3072_mont_mul_24(t[15], t[ 8], t[ 7], m, mp);
  3387. sp_3072_mont_sqr_24(t[16], t[ 8], m, mp);
  3388. sp_3072_mont_mul_24(t[17], t[ 9], t[ 8], m, mp);
  3389. sp_3072_mont_sqr_24(t[18], t[ 9], m, mp);
  3390. sp_3072_mont_mul_24(t[19], t[10], t[ 9], m, mp);
  3391. sp_3072_mont_sqr_24(t[20], t[10], m, mp);
  3392. sp_3072_mont_mul_24(t[21], t[11], t[10], m, mp);
  3393. sp_3072_mont_sqr_24(t[22], t[11], m, mp);
  3394. sp_3072_mont_mul_24(t[23], t[12], t[11], m, mp);
  3395. sp_3072_mont_sqr_24(t[24], t[12], m, mp);
  3396. sp_3072_mont_mul_24(t[25], t[13], t[12], m, mp);
  3397. sp_3072_mont_sqr_24(t[26], t[13], m, mp);
  3398. sp_3072_mont_mul_24(t[27], t[14], t[13], m, mp);
  3399. sp_3072_mont_sqr_24(t[28], t[14], m, mp);
  3400. sp_3072_mont_mul_24(t[29], t[15], t[14], m, mp);
  3401. sp_3072_mont_sqr_24(t[30], t[15], m, mp);
  3402. sp_3072_mont_mul_24(t[31], t[16], t[15], m, mp);
  3403. i = (bits - 1) / 64;
  3404. n = e[i--];
  3405. /* Number of bits available in top word. */
  3406. c = bits & 63;
  3407. if (c == 0) {
  3408. c = 64;
  3409. }
  3410. /* Minus the number of top bits to use so rest is a multiple of 5. */
  3411. if ((bits % 5) == 0) {
  3412. c -= 5;
  3413. }
  3414. else {
  3415. c -= bits % 5;
  3416. }
  3417. if (c < 0) {
  3418. /* Number of bits in top word is less than number needed. */
  3419. c = -c;
  3420. y = (byte)(n << c);
  3421. n = e[i--];
  3422. y |= (byte)(n >> (64 - c));
  3423. n <<= c;
  3424. c = 64 - c;
  3425. }
  3426. else if (c == 0) {
  3427. /* All bits in top word used. */
  3428. y = (byte)n;
  3429. }
  3430. else {
  3431. y = (byte)(n >> c);
  3432. n <<= 64 - c;
  3433. }
  3434. #ifndef WC_NO_CACHE_RESISTANT
  3435. sp_3072_get_from_table_24(r, t, y);
  3436. #else
  3437. XMEMCPY(r, t[y], sizeof(sp_digit) * 24);
  3438. #endif
  3439. for (; i>=0 || c>=5; ) {
  3440. if (c >= 5) {
  3441. y = (byte)((n >> 59) & 0x1f);
  3442. n <<= 5;
  3443. c -= 5;
  3444. }
  3445. else if (c == 0) {
  3446. n = e[i--];
  3447. y = (byte)(n >> 59);
  3448. n <<= 5;
  3449. c = 59;
  3450. }
  3451. else {
  3452. y = (byte)(n >> 59);
  3453. n = e[i--];
  3454. c = 5 - c;
  3455. y |= (byte)(n >> (64 - c));
  3456. n <<= c;
  3457. c = 64 - c;
  3458. }
  3459. sp_3072_sqr_24(rt, r);
  3460. sp_3072_mont_reduce_24(rt, m, mp);
  3461. sp_3072_sqr_24(r, rt);
  3462. sp_3072_mont_reduce_24(r, m, mp);
  3463. sp_3072_sqr_24(rt, r);
  3464. sp_3072_mont_reduce_24(rt, m, mp);
  3465. sp_3072_sqr_24(r, rt);
  3466. sp_3072_mont_reduce_24(r, m, mp);
  3467. sp_3072_sqr_24(rt, r);
  3468. sp_3072_mont_reduce_24(rt, m, mp);
  3469. #ifndef WC_NO_CACHE_RESISTANT
  3470. sp_3072_get_from_table_24(r, t, y);
  3471. sp_3072_mul_24(r, rt, r);
  3472. #else
  3473. sp_3072_mul_24(r, rt, t[y]);
  3474. #endif
  3475. sp_3072_mont_reduce_24(r, m, mp);
  3476. }
  3477. XMEMSET(&r[24], 0, sizeof(sp_digit) * 24);
  3478. sp_3072_mont_reduce_24(r, m, mp);
  3479. mask = 0 - (sp_3072_cmp_24(r, m) >= 0);
  3480. sp_3072_cond_sub_24(r, r, m, mask);
  3481. }
  3482. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  3483. if (td != NULL)
  3484. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  3485. #endif
  3486. return err;
  3487. }
  3488. #ifdef __cplusplus
  3489. extern "C" {
  3490. #endif
  3491. extern void sp_3072_mont_reduce_avx2_24(sp_digit* a, const sp_digit* m, sp_digit mp);
  3492. #ifdef __cplusplus
  3493. }
  3494. #endif
  3495. #ifdef HAVE_INTEL_AVX2
  3496. /* Multiply two Montgomery form numbers mod the modulus (prime).
  3497. * (r = a * b mod m)
  3498. *
  3499. * r Result of multiplication.
  3500. * a First number to multiply in Montgomery form.
  3501. * b Second number to multiply in Montgomery form.
  3502. * m Modulus (prime).
  3503. * mp Montgomery mulitplier.
  3504. */
  3505. SP_NOINLINE static void sp_3072_mont_mul_avx2_24(sp_digit* r, const sp_digit* a,
  3506. const sp_digit* b, const sp_digit* m, sp_digit mp)
  3507. {
  3508. sp_3072_mul_avx2_24(r, a, b);
  3509. sp_3072_mont_reduce_avx2_24(r, m, mp);
  3510. }
  3511. #endif /* HAVE_INTEL_AVX2 */
  3512. #ifdef HAVE_INTEL_AVX2
  3513. /* Square the Montgomery form number. (r = a * a mod m)
  3514. *
  3515. * r Result of squaring.
  3516. * a Number to square in Montgomery form.
  3517. * m Modulus (prime).
  3518. * mp Montgomery mulitplier.
  3519. */
  3520. SP_NOINLINE static void sp_3072_mont_sqr_avx2_24(sp_digit* r, const sp_digit* a,
  3521. const sp_digit* m, sp_digit mp)
  3522. {
  3523. sp_3072_sqr_avx2_24(r, a);
  3524. sp_3072_mont_reduce_avx2_24(r, m, mp);
  3525. }
  3526. #endif /* HAVE_INTEL_AVX2 */
  3527. #ifdef __cplusplus
  3528. extern "C" {
  3529. #endif
  3530. extern void sp_3072_get_from_table_avx2_24(sp_digit* r, sp_digit** table, int idx);
  3531. #ifdef __cplusplus
  3532. }
  3533. #endif
  3534. #ifdef HAVE_INTEL_AVX2
  3535. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  3536. *
  3537. * r A single precision number that is the result of the operation.
  3538. * a A single precision number being exponentiated.
  3539. * e A single precision number that is the exponent.
  3540. * bits The number of bits in the exponent.
  3541. * m A single precision number that is the modulus.
  3542. * returns 0 on success
  3543. * returns MEMORY_E on dynamic memory allocation failure.
  3544. * returns MP_VAL when base is even or exponent is 0.
  3545. */
  3546. static int sp_3072_mod_exp_avx2_24(sp_digit* r, const sp_digit* a, const sp_digit* e,
  3547. int bits, const sp_digit* m, int reduceA)
  3548. {
  3549. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  3550. sp_digit* td = NULL;
  3551. #else
  3552. sp_digit td[(33 * 48) + 48];
  3553. #endif
  3554. sp_digit* t[32];
  3555. sp_digit* rt = NULL;
  3556. sp_digit* norm;
  3557. sp_digit mp = 1;
  3558. sp_digit n;
  3559. sp_digit mask;
  3560. int i;
  3561. int c;
  3562. byte y;
  3563. int err = MP_OKAY;
  3564. ASSERT_SAVED_VECTOR_REGISTERS();
  3565. if (bits == 0) {
  3566. err = MP_VAL;
  3567. }
  3568. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  3569. if (err == MP_OKAY) {
  3570. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (33 * 48) + 48, NULL,
  3571. DYNAMIC_TYPE_TMP_BUFFER);
  3572. if (td == NULL) {
  3573. err = MEMORY_E;
  3574. }
  3575. }
  3576. #endif
  3577. if (err == MP_OKAY) {
  3578. norm = td;
  3579. for (i=0; i<32; i++)
  3580. t[i] = td + i * 48;
  3581. rt = td + 1536;
  3582. sp_3072_mont_setup(m, &mp);
  3583. sp_3072_mont_norm_24(norm, m);
  3584. XMEMSET(t[1], 0, sizeof(sp_digit) * 24);
  3585. if (reduceA) {
  3586. err = sp_3072_mod_24(t[1] + 24, a, m);
  3587. if (err == MP_OKAY)
  3588. err = sp_3072_mod_24(t[1], t[1], m);
  3589. }
  3590. else {
  3591. XMEMCPY(t[1] + 24, a, sizeof(sp_digit) * 24);
  3592. err = sp_3072_mod_24(t[1], t[1], m);
  3593. }
  3594. }
  3595. if (err == MP_OKAY) {
  3596. sp_3072_mont_sqr_avx2_24(t[ 2], t[ 1], m, mp);
  3597. sp_3072_mont_mul_avx2_24(t[ 3], t[ 2], t[ 1], m, mp);
  3598. sp_3072_mont_sqr_avx2_24(t[ 4], t[ 2], m, mp);
  3599. sp_3072_mont_mul_avx2_24(t[ 5], t[ 3], t[ 2], m, mp);
  3600. sp_3072_mont_sqr_avx2_24(t[ 6], t[ 3], m, mp);
  3601. sp_3072_mont_mul_avx2_24(t[ 7], t[ 4], t[ 3], m, mp);
  3602. sp_3072_mont_sqr_avx2_24(t[ 8], t[ 4], m, mp);
  3603. sp_3072_mont_mul_avx2_24(t[ 9], t[ 5], t[ 4], m, mp);
  3604. sp_3072_mont_sqr_avx2_24(t[10], t[ 5], m, mp);
  3605. sp_3072_mont_mul_avx2_24(t[11], t[ 6], t[ 5], m, mp);
  3606. sp_3072_mont_sqr_avx2_24(t[12], t[ 6], m, mp);
  3607. sp_3072_mont_mul_avx2_24(t[13], t[ 7], t[ 6], m, mp);
  3608. sp_3072_mont_sqr_avx2_24(t[14], t[ 7], m, mp);
  3609. sp_3072_mont_mul_avx2_24(t[15], t[ 8], t[ 7], m, mp);
  3610. sp_3072_mont_sqr_avx2_24(t[16], t[ 8], m, mp);
  3611. sp_3072_mont_mul_avx2_24(t[17], t[ 9], t[ 8], m, mp);
  3612. sp_3072_mont_sqr_avx2_24(t[18], t[ 9], m, mp);
  3613. sp_3072_mont_mul_avx2_24(t[19], t[10], t[ 9], m, mp);
  3614. sp_3072_mont_sqr_avx2_24(t[20], t[10], m, mp);
  3615. sp_3072_mont_mul_avx2_24(t[21], t[11], t[10], m, mp);
  3616. sp_3072_mont_sqr_avx2_24(t[22], t[11], m, mp);
  3617. sp_3072_mont_mul_avx2_24(t[23], t[12], t[11], m, mp);
  3618. sp_3072_mont_sqr_avx2_24(t[24], t[12], m, mp);
  3619. sp_3072_mont_mul_avx2_24(t[25], t[13], t[12], m, mp);
  3620. sp_3072_mont_sqr_avx2_24(t[26], t[13], m, mp);
  3621. sp_3072_mont_mul_avx2_24(t[27], t[14], t[13], m, mp);
  3622. sp_3072_mont_sqr_avx2_24(t[28], t[14], m, mp);
  3623. sp_3072_mont_mul_avx2_24(t[29], t[15], t[14], m, mp);
  3624. sp_3072_mont_sqr_avx2_24(t[30], t[15], m, mp);
  3625. sp_3072_mont_mul_avx2_24(t[31], t[16], t[15], m, mp);
  3626. i = (bits - 1) / 64;
  3627. n = e[i--];
  3628. /* Number of bits available in top word. */
  3629. c = bits & 63;
  3630. if (c == 0) {
  3631. c = 64;
  3632. }
  3633. /* Minus the number of top bits to use so rest is a multiple of 5. */
  3634. if ((bits % 5) == 0) {
  3635. c -= 5;
  3636. }
  3637. else {
  3638. c -= bits % 5;
  3639. }
  3640. if (c < 0) {
  3641. /* Number of bits in top word is less than number needed. */
  3642. c = -c;
  3643. y = (byte)(n << c);
  3644. n = e[i--];
  3645. y |= (byte)(n >> (64 - c));
  3646. n <<= c;
  3647. c = 64 - c;
  3648. }
  3649. else if (c == 0) {
  3650. /* All bits in top word used. */
  3651. y = (byte)n;
  3652. }
  3653. else {
  3654. y = (byte)(n >> c);
  3655. n <<= 64 - c;
  3656. }
  3657. #ifndef WC_NO_CACHE_RESISTANT
  3658. sp_3072_get_from_table_avx2_24(r, t, y);
  3659. #else
  3660. XMEMCPY(r, t[y], sizeof(sp_digit) * 24);
  3661. #endif
  3662. for (; i>=0 || c>=5; ) {
  3663. if (c >= 5) {
  3664. y = (byte)((n >> 59) & 0x1f);
  3665. n <<= 5;
  3666. c -= 5;
  3667. }
  3668. else if (c == 0) {
  3669. n = e[i--];
  3670. y = (byte)(n >> 59);
  3671. n <<= 5;
  3672. c = 59;
  3673. }
  3674. else {
  3675. y = (byte)(n >> 59);
  3676. n = e[i--];
  3677. c = 5 - c;
  3678. y |= (byte)(n >> (64 - c));
  3679. n <<= c;
  3680. c = 64 - c;
  3681. }
  3682. sp_3072_sqr_avx2_24(rt, r);
  3683. sp_3072_mont_reduce_avx2_24(rt, m, mp);
  3684. sp_3072_sqr_avx2_24(r, rt);
  3685. sp_3072_mont_reduce_avx2_24(r, m, mp);
  3686. sp_3072_sqr_avx2_24(rt, r);
  3687. sp_3072_mont_reduce_avx2_24(rt, m, mp);
  3688. sp_3072_sqr_avx2_24(r, rt);
  3689. sp_3072_mont_reduce_avx2_24(r, m, mp);
  3690. sp_3072_sqr_avx2_24(rt, r);
  3691. sp_3072_mont_reduce_avx2_24(rt, m, mp);
  3692. #ifndef WC_NO_CACHE_RESISTANT
  3693. sp_3072_get_from_table_avx2_24(r, t, y);
  3694. sp_3072_mul_avx2_24(r, rt, r);
  3695. #else
  3696. sp_3072_mul_avx2_24(r, rt, t[y]);
  3697. #endif
  3698. sp_3072_mont_reduce_avx2_24(r, m, mp);
  3699. }
  3700. XMEMSET(&r[24], 0, sizeof(sp_digit) * 24);
  3701. sp_3072_mont_reduce_avx2_24(r, m, mp);
  3702. mask = 0 - (sp_3072_cmp_24(r, m) >= 0);
  3703. sp_3072_cond_sub_avx2_24(r, r, m, mask);
  3704. }
  3705. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  3706. if (td != NULL)
  3707. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  3708. #endif
  3709. return err;
  3710. }
  3711. #endif /* HAVE_INTEL_AVX2 */
  3712. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  3713. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  3714. /* r = 2^n mod m where n is the number of bits to reduce by.
  3715. * Given m must be 3072 bits, just need to subtract.
  3716. *
  3717. * r A single precision number.
  3718. * m A single precision number.
  3719. */
  3720. static void sp_3072_mont_norm_48(sp_digit* r, const sp_digit* m)
  3721. {
  3722. XMEMSET(r, 0, sizeof(sp_digit) * 48);
  3723. ASSERT_SAVED_VECTOR_REGISTERS();
  3724. /* r = 2^n mod m */
  3725. sp_3072_sub_in_place_48(r, m);
  3726. }
  3727. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  3728. #ifdef __cplusplus
  3729. extern "C" {
  3730. #endif
  3731. extern sp_digit sp_3072_cond_sub_48(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  3732. #ifdef __cplusplus
  3733. }
  3734. #endif
  3735. #ifdef __cplusplus
  3736. extern "C" {
  3737. #endif
  3738. extern void sp_3072_mont_reduce_48(sp_digit* a, const sp_digit* m, sp_digit mp);
  3739. #ifdef __cplusplus
  3740. }
  3741. #endif
  3742. /* Multiply two Montgomery form numbers mod the modulus (prime).
  3743. * (r = a * b mod m)
  3744. *
  3745. * r Result of multiplication.
  3746. * a First number to multiply in Montgomery form.
  3747. * b Second number to multiply in Montgomery form.
  3748. * m Modulus (prime).
  3749. * mp Montgomery mulitplier.
  3750. */
  3751. SP_NOINLINE static void sp_3072_mont_mul_48(sp_digit* r, const sp_digit* a,
  3752. const sp_digit* b, const sp_digit* m, sp_digit mp)
  3753. {
  3754. sp_3072_mul_48(r, a, b);
  3755. sp_3072_mont_reduce_48(r, m, mp);
  3756. }
  3757. /* Square the Montgomery form number. (r = a * a mod m)
  3758. *
  3759. * r Result of squaring.
  3760. * a Number to square in Montgomery form.
  3761. * m Modulus (prime).
  3762. * mp Montgomery mulitplier.
  3763. */
  3764. SP_NOINLINE static void sp_3072_mont_sqr_48(sp_digit* r, const sp_digit* a,
  3765. const sp_digit* m, sp_digit mp)
  3766. {
  3767. sp_3072_sqr_48(r, a);
  3768. sp_3072_mont_reduce_48(r, m, mp);
  3769. }
  3770. #ifdef __cplusplus
  3771. extern "C" {
  3772. #endif
  3773. extern sp_digit sp_3072_sub_48(sp_digit* r, const sp_digit* a, const sp_digit* b);
  3774. #ifdef __cplusplus
  3775. }
  3776. #endif
  3777. #ifdef __cplusplus
  3778. extern "C" {
  3779. #endif
  3780. extern void sp_3072_mul_d_avx2_48(sp_digit* r, const sp_digit* a, const sp_digit b);
  3781. #ifdef __cplusplus
  3782. }
  3783. #endif
  3784. #if defined(_WIN64) && !defined(__clang__)
  3785. #if _MSC_VER < 1920
  3786. #ifdef __cplusplus
  3787. extern "C" {
  3788. #endif
  3789. extern sp_digit div_3072_word_asm_48(sp_digit d1, sp_digit d0, sp_digit div);
  3790. #ifdef __cplusplus
  3791. }
  3792. #endif
  3793. #endif /* _MSC_VER < 1920 */
  3794. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  3795. *
  3796. * d1 The high order half of the number to divide.
  3797. * d0 The low order half of the number to divide.
  3798. * div The dividend.
  3799. * returns the result of the division.
  3800. */
  3801. static WC_INLINE sp_digit div_3072_word_48(sp_digit d1, sp_digit d0,
  3802. sp_digit div)
  3803. {
  3804. ASSERT_SAVED_VECTOR_REGISTERS();
  3805. #if _MSC_VER >= 1920
  3806. return _udiv128(d1, d0, div, NULL);
  3807. #else
  3808. return div_3072_word_asm_48(d1, d0, div);
  3809. #endif
  3810. }
  3811. #else
  3812. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  3813. *
  3814. * d1 The high order half of the number to divide.
  3815. * d0 The low order half of the number to divide.
  3816. * div The dividend.
  3817. * returns the result of the division.
  3818. */
  3819. static WC_INLINE sp_digit div_3072_word_48(sp_digit d1, sp_digit d0,
  3820. sp_digit div)
  3821. {
  3822. ASSERT_SAVED_VECTOR_REGISTERS();
  3823. register sp_digit r asm("rax");
  3824. __asm__ __volatile__ (
  3825. "divq %3"
  3826. : "=a" (r)
  3827. : "d" (d1), "a" (d0), "r" (div)
  3828. :
  3829. );
  3830. return r;
  3831. }
  3832. #endif /* _WIN64 && !__clang__ */
  3833. /* Divide d in a and put remainder into r (m*d + r = a)
  3834. * m is not calculated as it is not needed at this time.
  3835. *
  3836. * a Number to be divided.
  3837. * d Number to divide with.
  3838. * m Multiplier result.
  3839. * r Remainder from the division.
  3840. * returns MP_OKAY indicating success.
  3841. */
  3842. static WC_INLINE int sp_3072_div_48_cond(const sp_digit* a, const sp_digit* d, sp_digit* m,
  3843. sp_digit* r)
  3844. {
  3845. sp_digit t1[96];
  3846. sp_digit t2[49];
  3847. sp_digit div;
  3848. sp_digit r1;
  3849. int i;
  3850. #ifdef HAVE_INTEL_AVX2
  3851. word32 cpuid_flags = cpuid_get_flags();
  3852. #endif
  3853. ASSERT_SAVED_VECTOR_REGISTERS();
  3854. (void)m;
  3855. div = d[47];
  3856. XMEMCPY(t1, a, sizeof(*t1) * 2 * 48);
  3857. for (i = 47; i > 0; i--) {
  3858. if (t1[i + 48] != d[i])
  3859. break;
  3860. }
  3861. if (t1[i + 48] >= d[i]) {
  3862. sp_3072_sub_in_place_48(&t1[48], d);
  3863. }
  3864. for (i = 47; i >= 0; i--) {
  3865. if (t1[48 + i] == div) {
  3866. r1 = SP_DIGIT_MAX;
  3867. }
  3868. else {
  3869. r1 = div_3072_word_48(t1[48 + i], t1[48 + i - 1], div);
  3870. }
  3871. #ifdef HAVE_INTEL_AVX2
  3872. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  3873. sp_3072_mul_d_avx2_48(t2, d, r1);
  3874. else
  3875. #endif
  3876. sp_3072_mul_d_48(t2, d, r1);
  3877. t1[48 + i] += sp_3072_sub_in_place_48(&t1[i], t2);
  3878. t1[48 + i] -= t2[48];
  3879. if (t1[48 + i] != 0) {
  3880. t1[48 + i] += sp_3072_add_48(&t1[i], &t1[i], d);
  3881. if (t1[48 + i] != 0)
  3882. t1[48 + i] += sp_3072_add_48(&t1[i], &t1[i], d);
  3883. }
  3884. }
  3885. for (i = 47; i > 0; i--) {
  3886. if (t1[i] != d[i])
  3887. break;
  3888. }
  3889. if (t1[i] >= d[i]) {
  3890. sp_3072_sub_48(r, t1, d);
  3891. }
  3892. else {
  3893. XMEMCPY(r, t1, sizeof(*t1) * 48);
  3894. }
  3895. return MP_OKAY;
  3896. }
  3897. /* Reduce a modulo m into r. (r = a mod m)
  3898. *
  3899. * r A single precision number that is the reduced result.
  3900. * a A single precision number that is to be reduced.
  3901. * m A single precision number that is the modulus to reduce with.
  3902. * returns MP_OKAY indicating success.
  3903. */
  3904. static WC_INLINE int sp_3072_mod_48_cond(sp_digit* r, const sp_digit* a,
  3905. const sp_digit* m)
  3906. {
  3907. ASSERT_SAVED_VECTOR_REGISTERS();
  3908. return sp_3072_div_48_cond(a, m, NULL, r);
  3909. }
  3910. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  3911. #ifdef __cplusplus
  3912. extern "C" {
  3913. #endif
  3914. extern sp_digit sp_3072_cond_sub_avx2_48(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  3915. #ifdef __cplusplus
  3916. }
  3917. #endif
  3918. /* AND m into each word of a and store in r.
  3919. *
  3920. * r A single precision integer.
  3921. * a A single precision integer.
  3922. * m Mask to AND against each digit.
  3923. */
  3924. static void sp_3072_mask_48(sp_digit* r, const sp_digit* a, sp_digit m)
  3925. {
  3926. #ifdef WOLFSSL_SP_SMALL
  3927. int i;
  3928. for (i=0; i<48; i++) {
  3929. r[i] = a[i] & m;
  3930. }
  3931. #else
  3932. int i;
  3933. for (i = 0; i < 48; i += 8) {
  3934. r[i+0] = a[i+0] & m;
  3935. r[i+1] = a[i+1] & m;
  3936. r[i+2] = a[i+2] & m;
  3937. r[i+3] = a[i+3] & m;
  3938. r[i+4] = a[i+4] & m;
  3939. r[i+5] = a[i+5] & m;
  3940. r[i+6] = a[i+6] & m;
  3941. r[i+7] = a[i+7] & m;
  3942. }
  3943. #endif
  3944. }
  3945. #ifdef __cplusplus
  3946. extern "C" {
  3947. #endif
  3948. extern sp_int64 sp_3072_cmp_48(const sp_digit* a, const sp_digit* b);
  3949. #ifdef __cplusplus
  3950. }
  3951. #endif
  3952. /* Divide d in a and put remainder into r (m*d + r = a)
  3953. * m is not calculated as it is not needed at this time.
  3954. *
  3955. * a Number to be divided.
  3956. * d Number to divide with.
  3957. * m Multiplier result.
  3958. * r Remainder from the division.
  3959. * returns MP_OKAY indicating success.
  3960. */
  3961. static WC_INLINE int sp_3072_div_48(const sp_digit* a, const sp_digit* d, sp_digit* m,
  3962. sp_digit* r)
  3963. {
  3964. sp_digit t1[96];
  3965. sp_digit t2[49];
  3966. sp_digit div;
  3967. sp_digit r1;
  3968. int i;
  3969. #ifdef HAVE_INTEL_AVX2
  3970. word32 cpuid_flags = cpuid_get_flags();
  3971. #endif
  3972. ASSERT_SAVED_VECTOR_REGISTERS();
  3973. (void)m;
  3974. div = d[47];
  3975. XMEMCPY(t1, a, sizeof(*t1) * 2 * 48);
  3976. r1 = sp_3072_cmp_48(&t1[48], d) >= 0;
  3977. #ifdef HAVE_INTEL_AVX2
  3978. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  3979. sp_3072_cond_sub_avx2_48(&t1[48], &t1[48], d, (sp_digit)0 - r1);
  3980. else
  3981. #endif
  3982. sp_3072_cond_sub_48(&t1[48], &t1[48], d, (sp_digit)0 - r1);
  3983. for (i = 47; i >= 0; i--) {
  3984. sp_digit mask = 0 - (t1[48 + i] == div);
  3985. sp_digit hi = t1[48 + i] + mask;
  3986. r1 = div_3072_word_48(hi, t1[48 + i - 1], div);
  3987. r1 |= mask;
  3988. #ifdef HAVE_INTEL_AVX2
  3989. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  3990. sp_3072_mul_d_avx2_48(t2, d, r1);
  3991. else
  3992. #endif
  3993. sp_3072_mul_d_48(t2, d, r1);
  3994. t1[48 + i] += sp_3072_sub_in_place_48(&t1[i], t2);
  3995. t1[48 + i] -= t2[48];
  3996. sp_3072_mask_48(t2, d, t1[48 + i]);
  3997. t1[48 + i] += sp_3072_add_48(&t1[i], &t1[i], t2);
  3998. sp_3072_mask_48(t2, d, t1[48 + i]);
  3999. t1[48 + i] += sp_3072_add_48(&t1[i], &t1[i], t2);
  4000. }
  4001. r1 = sp_3072_cmp_48(t1, d) >= 0;
  4002. #ifdef HAVE_INTEL_AVX2
  4003. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  4004. sp_3072_cond_sub_avx2_48(r, t1, d, (sp_digit)0 - r1);
  4005. else
  4006. #endif
  4007. sp_3072_cond_sub_48(r, t1, d, (sp_digit)0 - r1);
  4008. return MP_OKAY;
  4009. }
  4010. #if defined(WOLFSSL_HAVE_SP_DH) || !defined(WOLFSSL_RSA_PUBLIC_ONLY)
  4011. /* Reduce a modulo m into r. (r = a mod m)
  4012. *
  4013. * r A single precision number that is the reduced result.
  4014. * a A single precision number that is to be reduced.
  4015. * m A single precision number that is the modulus to reduce with.
  4016. * returns MP_OKAY indicating success.
  4017. */
  4018. static WC_INLINE int sp_3072_mod_48(sp_digit* r, const sp_digit* a,
  4019. const sp_digit* m)
  4020. {
  4021. ASSERT_SAVED_VECTOR_REGISTERS();
  4022. return sp_3072_div_48(a, m, NULL, r);
  4023. }
  4024. #endif /* WOLFSSL_HAVE_SP_DH || !WOLFSSL_RSA_PUBLIC_ONLY */
  4025. #ifdef __cplusplus
  4026. extern "C" {
  4027. #endif
  4028. extern void sp_3072_get_from_table_48(sp_digit* r, sp_digit** table, int idx);
  4029. #ifdef __cplusplus
  4030. }
  4031. #endif
  4032. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  4033. *
  4034. * r A single precision number that is the result of the operation.
  4035. * a A single precision number being exponentiated.
  4036. * e A single precision number that is the exponent.
  4037. * bits The number of bits in the exponent.
  4038. * m A single precision number that is the modulus.
  4039. * returns 0 on success
  4040. * returns MEMORY_E on dynamic memory allocation failure.
  4041. * returns MP_VAL when base is even or exponent is 0.
  4042. */
  4043. static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e,
  4044. int bits, const sp_digit* m, int reduceA)
  4045. {
  4046. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4047. sp_digit* td = NULL;
  4048. #else
  4049. sp_digit td[(17 * 96) + 96];
  4050. #endif
  4051. sp_digit* t[16];
  4052. sp_digit* rt = NULL;
  4053. sp_digit* norm;
  4054. sp_digit mp = 1;
  4055. sp_digit n;
  4056. sp_digit mask;
  4057. int i;
  4058. int c;
  4059. byte y;
  4060. int err = MP_OKAY;
  4061. ASSERT_SAVED_VECTOR_REGISTERS();
  4062. if (bits == 0) {
  4063. err = MP_VAL;
  4064. }
  4065. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4066. if (err == MP_OKAY) {
  4067. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (17 * 96) + 96, NULL,
  4068. DYNAMIC_TYPE_TMP_BUFFER);
  4069. if (td == NULL) {
  4070. err = MEMORY_E;
  4071. }
  4072. }
  4073. #endif
  4074. if (err == MP_OKAY) {
  4075. norm = td;
  4076. for (i=0; i<16; i++)
  4077. t[i] = td + i * 96;
  4078. rt = td + 1536;
  4079. sp_3072_mont_setup(m, &mp);
  4080. sp_3072_mont_norm_48(norm, m);
  4081. XMEMSET(t[1], 0, sizeof(sp_digit) * 48);
  4082. if (reduceA) {
  4083. err = sp_3072_mod_48(t[1] + 48, a, m);
  4084. if (err == MP_OKAY)
  4085. err = sp_3072_mod_48(t[1], t[1], m);
  4086. }
  4087. else {
  4088. XMEMCPY(t[1] + 48, a, sizeof(sp_digit) * 48);
  4089. err = sp_3072_mod_48(t[1], t[1], m);
  4090. }
  4091. }
  4092. if (err == MP_OKAY) {
  4093. sp_3072_mont_sqr_48(t[ 2], t[ 1], m, mp);
  4094. sp_3072_mont_mul_48(t[ 3], t[ 2], t[ 1], m, mp);
  4095. sp_3072_mont_sqr_48(t[ 4], t[ 2], m, mp);
  4096. sp_3072_mont_mul_48(t[ 5], t[ 3], t[ 2], m, mp);
  4097. sp_3072_mont_sqr_48(t[ 6], t[ 3], m, mp);
  4098. sp_3072_mont_mul_48(t[ 7], t[ 4], t[ 3], m, mp);
  4099. sp_3072_mont_sqr_48(t[ 8], t[ 4], m, mp);
  4100. sp_3072_mont_mul_48(t[ 9], t[ 5], t[ 4], m, mp);
  4101. sp_3072_mont_sqr_48(t[10], t[ 5], m, mp);
  4102. sp_3072_mont_mul_48(t[11], t[ 6], t[ 5], m, mp);
  4103. sp_3072_mont_sqr_48(t[12], t[ 6], m, mp);
  4104. sp_3072_mont_mul_48(t[13], t[ 7], t[ 6], m, mp);
  4105. sp_3072_mont_sqr_48(t[14], t[ 7], m, mp);
  4106. sp_3072_mont_mul_48(t[15], t[ 8], t[ 7], m, mp);
  4107. i = (bits - 1) / 64;
  4108. n = e[i--];
  4109. /* Number of bits available in top word. */
  4110. c = bits & 63;
  4111. if (c == 0) {
  4112. c = 64;
  4113. }
  4114. /* Minus the number of top bits to use so rest is a multiple of 4. */
  4115. if ((bits % 4) == 0) {
  4116. c -= 4;
  4117. }
  4118. else {
  4119. c -= bits % 4;
  4120. }
  4121. if (c < 0) {
  4122. /* Number of bits in top word is less than number needed. */
  4123. c = -c;
  4124. y = (byte)(n << c);
  4125. n = e[i--];
  4126. y |= (byte)(n >> (64 - c));
  4127. n <<= c;
  4128. c = 64 - c;
  4129. }
  4130. else if (c == 0) {
  4131. /* All bits in top word used. */
  4132. y = (byte)n;
  4133. }
  4134. else {
  4135. y = (byte)(n >> c);
  4136. n <<= 64 - c;
  4137. }
  4138. #ifndef WC_NO_CACHE_RESISTANT
  4139. sp_3072_get_from_table_48(r, t, y);
  4140. #else
  4141. XMEMCPY(r, t[y], sizeof(sp_digit) * 48);
  4142. #endif
  4143. for (; i>=0 || c>=4; ) {
  4144. if (c >= 4) {
  4145. y = (byte)((n >> 60) & 0xf);
  4146. n <<= 4;
  4147. c -= 4;
  4148. }
  4149. else if (c == 0) {
  4150. n = e[i--];
  4151. y = (byte)(n >> 60);
  4152. n <<= 4;
  4153. c = 60;
  4154. }
  4155. else {
  4156. y = (byte)(n >> 60);
  4157. n = e[i--];
  4158. c = 4 - c;
  4159. y |= (byte)(n >> (64 - c));
  4160. n <<= c;
  4161. c = 64 - c;
  4162. }
  4163. sp_3072_sqr_48(rt, r);
  4164. sp_3072_mont_reduce_48(rt, m, mp);
  4165. sp_3072_sqr_48(r, rt);
  4166. sp_3072_mont_reduce_48(r, m, mp);
  4167. sp_3072_sqr_48(rt, r);
  4168. sp_3072_mont_reduce_48(rt, m, mp);
  4169. sp_3072_sqr_48(r, rt);
  4170. sp_3072_mont_reduce_48(r, m, mp);
  4171. #ifndef WC_NO_CACHE_RESISTANT
  4172. sp_3072_get_from_table_48(rt, t, y);
  4173. sp_3072_mul_48(r, r, rt);
  4174. #else
  4175. sp_3072_mul_48(r, r, t[y]);
  4176. #endif
  4177. sp_3072_mont_reduce_48(r, m, mp);
  4178. }
  4179. XMEMSET(&r[48], 0, sizeof(sp_digit) * 48);
  4180. sp_3072_mont_reduce_48(r, m, mp);
  4181. mask = 0 - (sp_3072_cmp_48(r, m) >= 0);
  4182. sp_3072_cond_sub_48(r, r, m, mask);
  4183. }
  4184. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4185. if (td != NULL)
  4186. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  4187. #endif
  4188. return err;
  4189. }
  4190. #endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
  4191. #ifdef __cplusplus
  4192. extern "C" {
  4193. #endif
  4194. extern void sp_3072_mont_reduce_avx2_48(sp_digit* a, const sp_digit* m, sp_digit mp);
  4195. #ifdef __cplusplus
  4196. }
  4197. #endif
  4198. #ifdef HAVE_INTEL_AVX2
  4199. /* Multiply two Montgomery form numbers mod the modulus (prime).
  4200. * (r = a * b mod m)
  4201. *
  4202. * r Result of multiplication.
  4203. * a First number to multiply in Montgomery form.
  4204. * b Second number to multiply in Montgomery form.
  4205. * m Modulus (prime).
  4206. * mp Montgomery mulitplier.
  4207. */
  4208. SP_NOINLINE static void sp_3072_mont_mul_avx2_48(sp_digit* r, const sp_digit* a,
  4209. const sp_digit* b, const sp_digit* m, sp_digit mp)
  4210. {
  4211. sp_3072_mul_avx2_48(r, a, b);
  4212. sp_3072_mont_reduce_avx2_48(r, m, mp);
  4213. }
  4214. #endif /* HAVE_INTEL_AVX2 */
  4215. #ifdef HAVE_INTEL_AVX2
  4216. /* Square the Montgomery form number. (r = a * a mod m)
  4217. *
  4218. * r Result of squaring.
  4219. * a Number to square in Montgomery form.
  4220. * m Modulus (prime).
  4221. * mp Montgomery mulitplier.
  4222. */
  4223. SP_NOINLINE static void sp_3072_mont_sqr_avx2_48(sp_digit* r, const sp_digit* a,
  4224. const sp_digit* m, sp_digit mp)
  4225. {
  4226. sp_3072_sqr_avx2_48(r, a);
  4227. sp_3072_mont_reduce_avx2_48(r, m, mp);
  4228. }
  4229. #endif /* HAVE_INTEL_AVX2 */
  4230. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  4231. #ifdef __cplusplus
  4232. extern "C" {
  4233. #endif
  4234. extern void sp_3072_get_from_table_avx2_48(sp_digit* r, sp_digit** table, int idx);
  4235. #ifdef __cplusplus
  4236. }
  4237. #endif
  4238. #ifdef HAVE_INTEL_AVX2
  4239. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  4240. *
  4241. * r A single precision number that is the result of the operation.
  4242. * a A single precision number being exponentiated.
  4243. * e A single precision number that is the exponent.
  4244. * bits The number of bits in the exponent.
  4245. * m A single precision number that is the modulus.
  4246. * returns 0 on success
  4247. * returns MEMORY_E on dynamic memory allocation failure.
  4248. * returns MP_VAL when base is even or exponent is 0.
  4249. */
  4250. static int sp_3072_mod_exp_avx2_48(sp_digit* r, const sp_digit* a, const sp_digit* e,
  4251. int bits, const sp_digit* m, int reduceA)
  4252. {
  4253. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4254. sp_digit* td = NULL;
  4255. #else
  4256. sp_digit td[(17 * 96) + 96];
  4257. #endif
  4258. sp_digit* t[16];
  4259. sp_digit* rt = NULL;
  4260. sp_digit* norm;
  4261. sp_digit mp = 1;
  4262. sp_digit n;
  4263. sp_digit mask;
  4264. int i;
  4265. int c;
  4266. byte y;
  4267. int err = MP_OKAY;
  4268. ASSERT_SAVED_VECTOR_REGISTERS();
  4269. if (bits == 0) {
  4270. err = MP_VAL;
  4271. }
  4272. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4273. if (err == MP_OKAY) {
  4274. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (17 * 96) + 96, NULL,
  4275. DYNAMIC_TYPE_TMP_BUFFER);
  4276. if (td == NULL) {
  4277. err = MEMORY_E;
  4278. }
  4279. }
  4280. #endif
  4281. if (err == MP_OKAY) {
  4282. norm = td;
  4283. for (i=0; i<16; i++)
  4284. t[i] = td + i * 96;
  4285. rt = td + 1536;
  4286. sp_3072_mont_setup(m, &mp);
  4287. sp_3072_mont_norm_48(norm, m);
  4288. XMEMSET(t[1], 0, sizeof(sp_digit) * 48);
  4289. if (reduceA) {
  4290. err = sp_3072_mod_48(t[1] + 48, a, m);
  4291. if (err == MP_OKAY)
  4292. err = sp_3072_mod_48(t[1], t[1], m);
  4293. }
  4294. else {
  4295. XMEMCPY(t[1] + 48, a, sizeof(sp_digit) * 48);
  4296. err = sp_3072_mod_48(t[1], t[1], m);
  4297. }
  4298. }
  4299. if (err == MP_OKAY) {
  4300. sp_3072_mont_sqr_avx2_48(t[ 2], t[ 1], m, mp);
  4301. sp_3072_mont_mul_avx2_48(t[ 3], t[ 2], t[ 1], m, mp);
  4302. sp_3072_mont_sqr_avx2_48(t[ 4], t[ 2], m, mp);
  4303. sp_3072_mont_mul_avx2_48(t[ 5], t[ 3], t[ 2], m, mp);
  4304. sp_3072_mont_sqr_avx2_48(t[ 6], t[ 3], m, mp);
  4305. sp_3072_mont_mul_avx2_48(t[ 7], t[ 4], t[ 3], m, mp);
  4306. sp_3072_mont_sqr_avx2_48(t[ 8], t[ 4], m, mp);
  4307. sp_3072_mont_mul_avx2_48(t[ 9], t[ 5], t[ 4], m, mp);
  4308. sp_3072_mont_sqr_avx2_48(t[10], t[ 5], m, mp);
  4309. sp_3072_mont_mul_avx2_48(t[11], t[ 6], t[ 5], m, mp);
  4310. sp_3072_mont_sqr_avx2_48(t[12], t[ 6], m, mp);
  4311. sp_3072_mont_mul_avx2_48(t[13], t[ 7], t[ 6], m, mp);
  4312. sp_3072_mont_sqr_avx2_48(t[14], t[ 7], m, mp);
  4313. sp_3072_mont_mul_avx2_48(t[15], t[ 8], t[ 7], m, mp);
  4314. i = (bits - 1) / 64;
  4315. n = e[i--];
  4316. /* Number of bits available in top word. */
  4317. c = bits & 63;
  4318. if (c == 0) {
  4319. c = 64;
  4320. }
  4321. /* Minus the number of top bits to use so rest is a multiple of 4. */
  4322. if ((bits % 4) == 0) {
  4323. c -= 4;
  4324. }
  4325. else {
  4326. c -= bits % 4;
  4327. }
  4328. if (c < 0) {
  4329. /* Number of bits in top word is less than number needed. */
  4330. c = -c;
  4331. y = (byte)(n << c);
  4332. n = e[i--];
  4333. y |= (byte)(n >> (64 - c));
  4334. n <<= c;
  4335. c = 64 - c;
  4336. }
  4337. else if (c == 0) {
  4338. /* All bits in top word used. */
  4339. y = (byte)n;
  4340. }
  4341. else {
  4342. y = (byte)(n >> c);
  4343. n <<= 64 - c;
  4344. }
  4345. #ifndef WC_NO_CACHE_RESISTANT
  4346. sp_3072_get_from_table_avx2_48(r, t, y);
  4347. #else
  4348. XMEMCPY(r, t[y], sizeof(sp_digit) * 48);
  4349. #endif
  4350. for (; i>=0 || c>=4; ) {
  4351. if (c >= 4) {
  4352. y = (byte)((n >> 60) & 0xf);
  4353. n <<= 4;
  4354. c -= 4;
  4355. }
  4356. else if (c == 0) {
  4357. n = e[i--];
  4358. y = (byte)(n >> 60);
  4359. n <<= 4;
  4360. c = 60;
  4361. }
  4362. else {
  4363. y = (byte)(n >> 60);
  4364. n = e[i--];
  4365. c = 4 - c;
  4366. y |= (byte)(n >> (64 - c));
  4367. n <<= c;
  4368. c = 64 - c;
  4369. }
  4370. sp_3072_sqr_avx2_48(rt, r);
  4371. sp_3072_mont_reduce_avx2_48(rt, m, mp);
  4372. sp_3072_sqr_avx2_48(r, rt);
  4373. sp_3072_mont_reduce_avx2_48(r, m, mp);
  4374. sp_3072_sqr_avx2_48(rt, r);
  4375. sp_3072_mont_reduce_avx2_48(rt, m, mp);
  4376. sp_3072_sqr_avx2_48(r, rt);
  4377. sp_3072_mont_reduce_avx2_48(r, m, mp);
  4378. #ifndef WC_NO_CACHE_RESISTANT
  4379. sp_3072_get_from_table_avx2_48(rt, t, y);
  4380. sp_3072_mul_avx2_48(r, r, rt);
  4381. #else
  4382. sp_3072_mul_avx2_48(r, r, t[y]);
  4383. #endif
  4384. sp_3072_mont_reduce_avx2_48(r, m, mp);
  4385. }
  4386. XMEMSET(&r[48], 0, sizeof(sp_digit) * 48);
  4387. sp_3072_mont_reduce_avx2_48(r, m, mp);
  4388. mask = 0 - (sp_3072_cmp_48(r, m) >= 0);
  4389. sp_3072_cond_sub_avx2_48(r, r, m, mask);
  4390. }
  4391. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4392. if (td != NULL)
  4393. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  4394. #endif
  4395. return err;
  4396. }
  4397. #endif /* HAVE_INTEL_AVX2 */
  4398. #endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
  4399. #ifdef WOLFSSL_HAVE_SP_RSA
  4400. /* RSA public key operation.
  4401. *
  4402. * in Array of bytes representing the number to exponentiate, base.
  4403. * inLen Number of bytes in base.
  4404. * em Public exponent.
  4405. * mm Modulus.
  4406. * out Buffer to hold big-endian bytes of exponentiation result.
  4407. * Must be at least 384 bytes long.
  4408. * outLen Number of bytes in result.
  4409. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  4410. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  4411. */
  4412. int sp_RsaPublic_3072(const byte* in, word32 inLen, const mp_int* em,
  4413. const mp_int* mm, byte* out, word32* outLen)
  4414. {
  4415. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4416. sp_digit* a = NULL;
  4417. #else
  4418. sp_digit a[48 * 5];
  4419. #endif
  4420. sp_digit* ah;
  4421. sp_digit* m;
  4422. sp_digit* r;
  4423. sp_digit e = 0;
  4424. int err = MP_OKAY;
  4425. #ifdef HAVE_INTEL_AVX2
  4426. word32 cpuid_flags = cpuid_get_flags();
  4427. #endif
  4428. ASSERT_SAVED_VECTOR_REGISTERS();
  4429. if (*outLen < 384) {
  4430. err = MP_TO_E;
  4431. }
  4432. else if (mp_count_bits(em) > 64 || inLen > 384 ||
  4433. mp_count_bits(mm) != 3072) {
  4434. err = MP_READ_E;
  4435. }
  4436. else if (mp_iseven(mm)) {
  4437. err = MP_VAL;
  4438. }
  4439. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4440. if (err == MP_OKAY) {
  4441. a = (sp_digit*)XMALLOC(sizeof(sp_digit) * 48 * 5, NULL,
  4442. DYNAMIC_TYPE_RSA);
  4443. if (a == NULL)
  4444. err = MEMORY_E;
  4445. }
  4446. #endif
  4447. if (err == MP_OKAY) {
  4448. r = a + 48 * 2;
  4449. m = r + 48 * 2;
  4450. ah = a + 48;
  4451. sp_3072_from_bin(ah, 48, in, inLen);
  4452. #if DIGIT_BIT >= 64
  4453. e = em->dp[0];
  4454. #else
  4455. e = em->dp[0];
  4456. if (em->used > 1)
  4457. e |= ((sp_digit)em->dp[1]) << DIGIT_BIT;
  4458. #endif
  4459. if (e == 0)
  4460. err = MP_EXPTMOD_E;
  4461. }
  4462. if (err == MP_OKAY) {
  4463. sp_3072_from_mp(m, 48, mm);
  4464. if (e == 0x10001) {
  4465. int i;
  4466. sp_digit mp;
  4467. sp_3072_mont_setup(m, &mp);
  4468. /* Convert to Montgomery form. */
  4469. XMEMSET(a, 0, sizeof(sp_digit) * 48);
  4470. err = sp_3072_mod_48_cond(r, a, m);
  4471. /* Montgomery form: r = a.R mod m */
  4472. if (err == MP_OKAY) {
  4473. /* r = a ^ 0x10000 => r = a squared 16 times */
  4474. #ifdef HAVE_INTEL_AVX2
  4475. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  4476. for (i = 15; i >= 0; i--) {
  4477. sp_3072_mont_sqr_avx2_48(r, r, m, mp);
  4478. }
  4479. /* mont_red(r.R.R) = (r.R.R / R) mod m = r.R mod m
  4480. * mont_red(r.R * a) = (r.R.a / R) mod m = r.a mod m
  4481. */
  4482. sp_3072_mont_mul_avx2_48(r, r, ah, m, mp);
  4483. }
  4484. else
  4485. #endif
  4486. {
  4487. for (i = 15; i >= 0; i--) {
  4488. sp_3072_mont_sqr_48(r, r, m, mp);
  4489. }
  4490. /* mont_red(r.R.R) = (r.R.R / R) mod m = r.R mod m
  4491. * mont_red(r.R * a) = (r.R.a / R) mod m = r.a mod m
  4492. */
  4493. sp_3072_mont_mul_48(r, r, ah, m, mp);
  4494. }
  4495. for (i = 47; i > 0; i--) {
  4496. if (r[i] != m[i])
  4497. break;
  4498. }
  4499. if (r[i] >= m[i])
  4500. sp_3072_sub_in_place_48(r, m);
  4501. }
  4502. }
  4503. else if (e == 0x3) {
  4504. #ifdef HAVE_INTEL_AVX2
  4505. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  4506. if (err == MP_OKAY) {
  4507. sp_3072_sqr_avx2_48(r, ah);
  4508. err = sp_3072_mod_48_cond(r, r, m);
  4509. }
  4510. if (err == MP_OKAY) {
  4511. sp_3072_mul_avx2_48(r, ah, r);
  4512. err = sp_3072_mod_48_cond(r, r, m);
  4513. }
  4514. }
  4515. else
  4516. #endif
  4517. {
  4518. if (err == MP_OKAY) {
  4519. sp_3072_sqr_48(r, ah);
  4520. err = sp_3072_mod_48_cond(r, r, m);
  4521. }
  4522. if (err == MP_OKAY) {
  4523. sp_3072_mul_48(r, ah, r);
  4524. err = sp_3072_mod_48_cond(r, r, m);
  4525. }
  4526. }
  4527. }
  4528. else {
  4529. int i;
  4530. sp_digit mp;
  4531. sp_3072_mont_setup(m, &mp);
  4532. /* Convert to Montgomery form. */
  4533. XMEMSET(a, 0, sizeof(sp_digit) * 48);
  4534. err = sp_3072_mod_48_cond(a, a, m);
  4535. if (err == MP_OKAY) {
  4536. for (i=63; i>=0; i--) {
  4537. if (e >> i) {
  4538. break;
  4539. }
  4540. }
  4541. XMEMCPY(r, a, sizeof(sp_digit) * 48);
  4542. #ifdef HAVE_INTEL_AVX2
  4543. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  4544. for (i--; i>=0; i--) {
  4545. sp_3072_mont_sqr_avx2_48(r, r, m, mp);
  4546. if (((e >> i) & 1) == 1) {
  4547. sp_3072_mont_mul_avx2_48(r, r, a, m, mp);
  4548. }
  4549. }
  4550. XMEMSET(&r[48], 0, sizeof(sp_digit) * 48);
  4551. sp_3072_mont_reduce_avx2_48(r, m, mp);
  4552. }
  4553. else
  4554. #endif
  4555. {
  4556. for (i--; i>=0; i--) {
  4557. sp_3072_mont_sqr_48(r, r, m, mp);
  4558. if (((e >> i) & 1) == 1) {
  4559. sp_3072_mont_mul_48(r, r, a, m, mp);
  4560. }
  4561. }
  4562. XMEMSET(&r[48], 0, sizeof(sp_digit) * 48);
  4563. sp_3072_mont_reduce_48(r, m, mp);
  4564. }
  4565. for (i = 47; i > 0; i--) {
  4566. if (r[i] != m[i])
  4567. break;
  4568. }
  4569. if (r[i] >= m[i])
  4570. sp_3072_sub_in_place_48(r, m);
  4571. }
  4572. }
  4573. }
  4574. if (err == MP_OKAY) {
  4575. sp_3072_to_bin_48(r, out);
  4576. *outLen = 384;
  4577. }
  4578. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4579. if (a != NULL)
  4580. XFREE(a, NULL, DYNAMIC_TYPE_RSA);
  4581. #endif
  4582. return err;
  4583. }
  4584. #ifndef WOLFSSL_RSA_PUBLIC_ONLY
  4585. #if defined(SP_RSA_PRIVATE_EXP_D) || defined(RSA_LOW_MEM)
  4586. /* RSA private key operation.
  4587. *
  4588. * in Array of bytes representing the number to exponentiate, base.
  4589. * inLen Number of bytes in base.
  4590. * dm Private exponent.
  4591. * pm First prime.
  4592. * qm Second prime.
  4593. * dpm First prime's CRT exponent.
  4594. * dqm Second prime's CRT exponent.
  4595. * qim Inverse of second prime mod p.
  4596. * mm Modulus.
  4597. * out Buffer to hold big-endian bytes of exponentiation result.
  4598. * Must be at least 384 bytes long.
  4599. * outLen Number of bytes in result.
  4600. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  4601. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  4602. */
  4603. int sp_RsaPrivate_3072(const byte* in, word32 inLen, const mp_int* dm,
  4604. const mp_int* pm, const mp_int* qm,const mp_int* dpm, const mp_int* dqm,
  4605. const mp_int* qim, const mp_int* mm, byte* out, word32* outLen)
  4606. {
  4607. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4608. sp_digit* d = NULL;
  4609. #else
  4610. sp_digit d[48 * 4];
  4611. #endif
  4612. sp_digit* a;
  4613. sp_digit* m;
  4614. sp_digit* r;
  4615. int err = MP_OKAY;
  4616. ASSERT_SAVED_VECTOR_REGISTERS();
  4617. (void)pm;
  4618. (void)qm;
  4619. (void)dpm;
  4620. (void)dqm;
  4621. (void)qim;
  4622. if (*outLen < 384U) {
  4623. err = MP_TO_E;
  4624. }
  4625. if (err == MP_OKAY) {
  4626. if (mp_count_bits(dm) > 3072) {
  4627. err = MP_READ_E;
  4628. }
  4629. else if (inLen > 384U) {
  4630. err = MP_READ_E;
  4631. }
  4632. else if (mp_count_bits(mm) != 3072) {
  4633. err = MP_READ_E;
  4634. }
  4635. else if (mp_iseven(mm)) {
  4636. err = MP_VAL;
  4637. }
  4638. }
  4639. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4640. if (err == MP_OKAY) {
  4641. d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 48 * 4, NULL,
  4642. DYNAMIC_TYPE_RSA);
  4643. if (d == NULL) {
  4644. err = MEMORY_E;
  4645. }
  4646. }
  4647. #endif
  4648. if (err == MP_OKAY) {
  4649. a = d + 48;
  4650. m = a + 96;
  4651. r = a;
  4652. sp_3072_from_bin(a, 48, in, inLen);
  4653. sp_3072_from_mp(d, 48, dm);
  4654. sp_3072_from_mp(m, 48, mm);
  4655. err = sp_3072_mod_exp_48(r, a, d, 3072, m, 0);
  4656. }
  4657. if (err == MP_OKAY) {
  4658. sp_3072_to_bin_48(r, out);
  4659. *outLen = 384;
  4660. }
  4661. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4662. if (d != NULL)
  4663. #endif
  4664. {
  4665. /* only zeroing private "d" */
  4666. ForceZero(d, sizeof(sp_digit) * 48);
  4667. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4668. XFREE(d, NULL, DYNAMIC_TYPE_RSA);
  4669. #endif
  4670. }
  4671. return err;
  4672. }
  4673. #else
  4674. #ifdef __cplusplus
  4675. extern "C" {
  4676. #endif
  4677. extern sp_digit sp_3072_cond_add_24(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  4678. #ifdef __cplusplus
  4679. }
  4680. #endif
  4681. #ifdef __cplusplus
  4682. extern "C" {
  4683. #endif
  4684. extern sp_digit sp_3072_cond_add_avx2_24(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  4685. #ifdef __cplusplus
  4686. }
  4687. #endif
  4688. /* RSA private key operation.
  4689. *
  4690. * in Array of bytes representing the number to exponentiate, base.
  4691. * inLen Number of bytes in base.
  4692. * dm Private exponent.
  4693. * pm First prime.
  4694. * qm Second prime.
  4695. * dpm First prime's CRT exponent.
  4696. * dqm Second prime's CRT exponent.
  4697. * qim Inverse of second prime mod p.
  4698. * mm Modulus.
  4699. * out Buffer to hold big-endian bytes of exponentiation result.
  4700. * Must be at least 384 bytes long.
  4701. * outLen Number of bytes in result.
  4702. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  4703. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  4704. */
  4705. int sp_RsaPrivate_3072(const byte* in, word32 inLen, const mp_int* dm,
  4706. const mp_int* pm, const mp_int* qm, const mp_int* dpm, const mp_int* dqm,
  4707. const mp_int* qim, const mp_int* mm, byte* out, word32* outLen)
  4708. {
  4709. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4710. sp_digit* a = NULL;
  4711. #else
  4712. sp_digit a[24 * 11];
  4713. #endif
  4714. sp_digit* p;
  4715. sp_digit* q;
  4716. sp_digit* dp;
  4717. sp_digit* dq;
  4718. sp_digit* qi;
  4719. sp_digit* tmpa;
  4720. sp_digit* tmpb;
  4721. sp_digit* r;
  4722. sp_digit c;
  4723. int err = MP_OKAY;
  4724. #ifdef HAVE_INTEL_AVX2
  4725. word32 cpuid_flags = cpuid_get_flags();
  4726. #endif
  4727. ASSERT_SAVED_VECTOR_REGISTERS();
  4728. (void)dm;
  4729. (void)mm;
  4730. if (*outLen < 384) {
  4731. err = MP_TO_E;
  4732. }
  4733. else if (inLen > 384 || mp_count_bits(mm) != 3072) {
  4734. err = MP_READ_E;
  4735. }
  4736. else if (mp_iseven(mm)) {
  4737. err = MP_VAL;
  4738. }
  4739. else if (mp_iseven(pm)) {
  4740. err = MP_VAL;
  4741. }
  4742. else if (mp_iseven(qm)) {
  4743. err = MP_VAL;
  4744. }
  4745. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4746. if (err == MP_OKAY) {
  4747. a = (sp_digit*)XMALLOC(sizeof(sp_digit) * 24 * 11, NULL,
  4748. DYNAMIC_TYPE_RSA);
  4749. if (a == NULL)
  4750. err = MEMORY_E;
  4751. }
  4752. #endif
  4753. if (err == MP_OKAY) {
  4754. p = a + 48 * 2;
  4755. q = p + 24;
  4756. qi = dq = dp = q + 24;
  4757. tmpa = qi + 24;
  4758. tmpb = tmpa + 48;
  4759. r = a + 48;
  4760. sp_3072_from_bin(a, 48, in, inLen);
  4761. sp_3072_from_mp(p, 24, pm);
  4762. sp_3072_from_mp(q, 24, qm);
  4763. sp_3072_from_mp(dp, 24, dpm);
  4764. #ifdef HAVE_INTEL_AVX2
  4765. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  4766. err = sp_3072_mod_exp_avx2_24(tmpa, a, dp, 1536, p, 1);
  4767. else
  4768. #endif
  4769. err = sp_3072_mod_exp_24(tmpa, a, dp, 1536, p, 1);
  4770. }
  4771. if (err == MP_OKAY) {
  4772. sp_3072_from_mp(dq, 24, dqm);
  4773. #ifdef HAVE_INTEL_AVX2
  4774. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  4775. err = sp_3072_mod_exp_avx2_24(tmpb, a, dq, 1536, q, 1);
  4776. else
  4777. #endif
  4778. err = sp_3072_mod_exp_24(tmpb, a, dq, 1536, q, 1);
  4779. }
  4780. if (err == MP_OKAY) {
  4781. c = sp_3072_sub_in_place_24(tmpa, tmpb);
  4782. #ifdef HAVE_INTEL_AVX2
  4783. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  4784. c += sp_3072_cond_add_avx2_24(tmpa, tmpa, p, c);
  4785. sp_3072_cond_add_avx2_24(tmpa, tmpa, p, c);
  4786. }
  4787. else
  4788. #endif
  4789. {
  4790. c += sp_3072_cond_add_24(tmpa, tmpa, p, c);
  4791. sp_3072_cond_add_24(tmpa, tmpa, p, c);
  4792. }
  4793. sp_3072_from_mp(qi, 24, qim);
  4794. #ifdef HAVE_INTEL_AVX2
  4795. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  4796. sp_3072_mul_avx2_24(tmpa, tmpa, qi);
  4797. }
  4798. else
  4799. #endif
  4800. {
  4801. sp_3072_mul_24(tmpa, tmpa, qi);
  4802. }
  4803. err = sp_3072_mod_24(tmpa, tmpa, p);
  4804. }
  4805. if (err == MP_OKAY) {
  4806. #ifdef HAVE_INTEL_AVX2
  4807. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  4808. sp_3072_mul_avx2_24(tmpa, q, tmpa);
  4809. }
  4810. else
  4811. #endif
  4812. {
  4813. sp_3072_mul_24(tmpa, q, tmpa);
  4814. }
  4815. XMEMSET(&tmpb[24], 0, sizeof(sp_digit) * 24);
  4816. sp_3072_add_48(r, tmpb, tmpa);
  4817. sp_3072_to_bin_48(r, out);
  4818. *outLen = 384;
  4819. }
  4820. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4821. if (a != NULL)
  4822. #endif
  4823. {
  4824. ForceZero(a, sizeof(sp_digit) * 24 * 11);
  4825. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4826. XFREE(a, NULL, DYNAMIC_TYPE_RSA);
  4827. #endif
  4828. }
  4829. return err;
  4830. }
  4831. #endif /* SP_RSA_PRIVATE_EXP_D | RSA_LOW_MEM */
  4832. #endif /* WOLFSSL_RSA_PUBLIC_ONLY */
  4833. #endif /* WOLFSSL_HAVE_SP_RSA */
  4834. #if defined(WOLFSSL_HAVE_SP_DH) || (defined(WOLFSSL_HAVE_SP_RSA) && \
  4835. !defined(WOLFSSL_RSA_PUBLIC_ONLY))
  4836. /* Convert an array of sp_digit to an mp_int.
  4837. *
  4838. * a A single precision integer.
  4839. * r A multi-precision integer.
  4840. */
  4841. static int sp_3072_to_mp(const sp_digit* a, mp_int* r)
  4842. {
  4843. int err;
  4844. err = mp_grow(r, (3072 + DIGIT_BIT - 1) / DIGIT_BIT);
  4845. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  4846. #if DIGIT_BIT == 64
  4847. XMEMCPY(r->dp, a, sizeof(sp_digit) * 48);
  4848. r->used = 48;
  4849. mp_clamp(r);
  4850. #elif DIGIT_BIT < 64
  4851. int i;
  4852. int j = 0;
  4853. int s = 0;
  4854. r->dp[0] = 0;
  4855. for (i = 0; i < 48; i++) {
  4856. r->dp[j] |= (mp_digit)(a[i] << s);
  4857. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  4858. s = DIGIT_BIT - s;
  4859. r->dp[++j] = (mp_digit)(a[i] >> s);
  4860. while (s + DIGIT_BIT <= 64) {
  4861. s += DIGIT_BIT;
  4862. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  4863. if (s == SP_WORD_SIZE) {
  4864. r->dp[j] = 0;
  4865. }
  4866. else {
  4867. r->dp[j] = (mp_digit)(a[i] >> s);
  4868. }
  4869. }
  4870. s = 64 - s;
  4871. }
  4872. r->used = (3072 + DIGIT_BIT - 1) / DIGIT_BIT;
  4873. mp_clamp(r);
  4874. #else
  4875. int i;
  4876. int j = 0;
  4877. int s = 0;
  4878. r->dp[0] = 0;
  4879. for (i = 0; i < 48; i++) {
  4880. r->dp[j] |= ((mp_digit)a[i]) << s;
  4881. if (s + 64 >= DIGIT_BIT) {
  4882. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  4883. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  4884. #endif
  4885. s = DIGIT_BIT - s;
  4886. r->dp[++j] = a[i] >> s;
  4887. s = 64 - s;
  4888. }
  4889. else {
  4890. s += 64;
  4891. }
  4892. }
  4893. r->used = (3072 + DIGIT_BIT - 1) / DIGIT_BIT;
  4894. mp_clamp(r);
  4895. #endif
  4896. }
  4897. return err;
  4898. }
  4899. /* Perform the modular exponentiation for Diffie-Hellman.
  4900. *
  4901. * base Base. MP integer.
  4902. * exp Exponent. MP integer.
  4903. * mod Modulus. MP integer.
  4904. * res Result. MP integer.
  4905. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  4906. * and MEMORY_E if memory allocation fails.
  4907. */
  4908. int sp_ModExp_3072(const mp_int* base, const mp_int* exp, const mp_int* mod,
  4909. mp_int* res)
  4910. {
  4911. int err = MP_OKAY;
  4912. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4913. sp_digit *b = NULL;
  4914. sp_digit *e = NULL;
  4915. sp_digit *m = NULL;
  4916. sp_digit* r;
  4917. #else
  4918. sp_digit b[96];
  4919. sp_digit e[48];
  4920. sp_digit m[48];
  4921. sp_digit* r = b;
  4922. #endif
  4923. #ifdef HAVE_INTEL_AVX2
  4924. word32 cpuid_flags = cpuid_get_flags();
  4925. #endif
  4926. int expBits = mp_count_bits(exp);
  4927. ASSERT_SAVED_VECTOR_REGISTERS();
  4928. if (mp_count_bits(base) > 3072 || expBits > 3072 ||
  4929. mp_count_bits(mod) != 3072) {
  4930. err = MP_READ_E;
  4931. }
  4932. else if (mp_iseven(mod)) {
  4933. err = MP_VAL;
  4934. }
  4935. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4936. if (err == MP_OKAY) {
  4937. if (((b = (sp_digit *)XMALLOC(96 * sizeof(*b), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  4938. ((e = (sp_digit *)XMALLOC(48 * sizeof(*e), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  4939. ((m = (sp_digit *)XMALLOC(48 * sizeof(*m), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL))
  4940. {
  4941. err = MEMORY_E;
  4942. } else {
  4943. r = b;
  4944. }
  4945. }
  4946. #endif
  4947. if (err == MP_OKAY) {
  4948. sp_3072_from_mp(b, 48, base);
  4949. sp_3072_from_mp(e, 48, exp);
  4950. sp_3072_from_mp(m, 48, mod);
  4951. #ifdef HAVE_INTEL_AVX2
  4952. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  4953. err = sp_3072_mod_exp_avx2_48(r, b, e, expBits, m, 0);
  4954. else
  4955. #endif
  4956. err = sp_3072_mod_exp_48(r, b, e, expBits, m, 0);
  4957. }
  4958. if (err == MP_OKAY) {
  4959. err = sp_3072_to_mp(r, res);
  4960. }
  4961. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4962. if (b != NULL)
  4963. XFREE(b, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  4964. if (e != NULL) {
  4965. XMEMSET(e, 0, 48);
  4966. XFREE(e, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  4967. }
  4968. if (m != NULL)
  4969. XFREE(m, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  4970. #else
  4971. XMEMSET(e, 0, sizeof(e));
  4972. #endif
  4973. return err;
  4974. }
  4975. #ifdef WOLFSSL_HAVE_SP_DH
  4976. #ifdef HAVE_FFDHE_3072
  4977. #ifdef __cplusplus
  4978. extern "C" {
  4979. #endif
  4980. extern void sp_3072_lshift_48(sp_digit* r, const sp_digit* a, int n);
  4981. #ifdef __cplusplus
  4982. }
  4983. #endif
  4984. #ifdef HAVE_INTEL_AVX2
  4985. /* Modular exponentiate 2 to the e mod m. (r = 2^e mod m)
  4986. *
  4987. * r A single precision number that is the result of the operation.
  4988. * e A single precision number that is the exponent.
  4989. * bits The number of bits in the exponent.
  4990. * m A single precision number that is the modulus.
  4991. * returns 0 on success.
  4992. * returns MEMORY_E on dynamic memory allocation failure.
  4993. * returns MP_VAL when base is even.
  4994. */
  4995. static int sp_3072_mod_exp_2_avx2_48(sp_digit* r, const sp_digit* e, int bits,
  4996. const sp_digit* m)
  4997. {
  4998. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4999. sp_digit* td = NULL;
  5000. #else
  5001. sp_digit td[49 + 96];
  5002. #endif
  5003. sp_digit* norm;
  5004. sp_digit* tmp;
  5005. sp_digit mp = 1;
  5006. sp_digit n;
  5007. sp_digit o;
  5008. sp_digit mask;
  5009. int i;
  5010. int c;
  5011. byte y;
  5012. int err = MP_OKAY;
  5013. ASSERT_SAVED_VECTOR_REGISTERS();
  5014. if (bits == 0) {
  5015. err = MP_VAL;
  5016. }
  5017. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5018. if (err == MP_OKAY) {
  5019. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (49 + 96), NULL,
  5020. DYNAMIC_TYPE_TMP_BUFFER);
  5021. if (td == NULL) {
  5022. err = MEMORY_E;
  5023. }
  5024. }
  5025. #endif
  5026. if (err == MP_OKAY) {
  5027. norm = td;
  5028. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5029. tmp = td + 96;
  5030. #else
  5031. tmp = &td[96];
  5032. #endif
  5033. sp_3072_mont_setup(m, &mp);
  5034. sp_3072_mont_norm_48(norm, m);
  5035. i = (bits - 1) / 64;
  5036. n = e[i--];
  5037. /* Number of bits available in top word. */
  5038. c = bits & 63;
  5039. if (c == 0) {
  5040. c = 64;
  5041. }
  5042. /* Minus the number of top bits to use so rest is a multiple of 6. */
  5043. if ((bits % 6) == 0) {
  5044. c -= 6;
  5045. }
  5046. else {
  5047. c -= bits % 6;
  5048. }
  5049. if (c < 0) {
  5050. /* Number of bits in top word is less than number needed. */
  5051. c = -c;
  5052. y = (byte)(n << c);
  5053. n = e[i--];
  5054. y |= (byte)(n >> (64 - c));
  5055. n <<= c;
  5056. c = 64 - c;
  5057. }
  5058. else if (c == 0) {
  5059. /* All bits in top word used. */
  5060. y = (byte)n;
  5061. }
  5062. else {
  5063. y = (byte)(n >> c);
  5064. n <<= 64 - c;
  5065. }
  5066. sp_3072_lshift_48(r, norm, y);
  5067. while ((i >= 0) || (c >= 6)) {
  5068. if (c == 0) {
  5069. n = e[i--];
  5070. y = (byte)(n >> 58);
  5071. n <<= 6;
  5072. c = 58;
  5073. }
  5074. else if (c < 6) {
  5075. y = (byte)(n >> 58);
  5076. n = e[i--];
  5077. c = 6 - c;
  5078. y |= (byte)(n >> (64 - c));
  5079. n <<= c;
  5080. c = 64 - c;
  5081. }
  5082. else {
  5083. y = (byte)((n >> 58) & 0x3f);
  5084. n <<= 6;
  5085. c -= 6;
  5086. }
  5087. sp_3072_mont_sqr_avx2_48(r, r, m, mp);
  5088. sp_3072_mont_sqr_avx2_48(r, r, m, mp);
  5089. sp_3072_mont_sqr_avx2_48(r, r, m, mp);
  5090. sp_3072_mont_sqr_avx2_48(r, r, m, mp);
  5091. sp_3072_mont_sqr_avx2_48(r, r, m, mp);
  5092. sp_3072_mont_sqr_avx2_48(r, r, m, mp);
  5093. sp_3072_lshift_48(r, r, y);
  5094. sp_3072_mul_d_avx2_48(tmp, norm, r[48]);
  5095. r[48] = 0;
  5096. o = sp_3072_add_48(r, r, tmp);
  5097. sp_3072_cond_sub_avx2_48(r, r, m, (sp_digit)0 - o);
  5098. }
  5099. XMEMSET(&r[48], 0, sizeof(sp_digit) * 48);
  5100. sp_3072_mont_reduce_avx2_48(r, m, mp);
  5101. mask = 0 - (sp_3072_cmp_48(r, m) >= 0);
  5102. sp_3072_cond_sub_avx2_48(r, r, m, mask);
  5103. }
  5104. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5105. if (td != NULL)
  5106. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  5107. #endif
  5108. return err;
  5109. }
  5110. #endif /* HAVE_INTEL_AVX2 */
  5111. /* Modular exponentiate 2 to the e mod m. (r = 2^e mod m)
  5112. *
  5113. * r A single precision number that is the result of the operation.
  5114. * e A single precision number that is the exponent.
  5115. * bits The number of bits in the exponent.
  5116. * m A single precision number that is the modulus.
  5117. * returns 0 on success.
  5118. * returns MEMORY_E on dynamic memory allocation failure.
  5119. * returns MP_VAL when base is even.
  5120. */
  5121. static int sp_3072_mod_exp_2_48(sp_digit* r, const sp_digit* e, int bits,
  5122. const sp_digit* m)
  5123. {
  5124. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5125. sp_digit* td = NULL;
  5126. #else
  5127. sp_digit td[49 + 96];
  5128. #endif
  5129. sp_digit* norm;
  5130. sp_digit* tmp;
  5131. sp_digit mp = 1;
  5132. sp_digit n;
  5133. sp_digit o;
  5134. sp_digit mask;
  5135. int i;
  5136. int c;
  5137. byte y;
  5138. int err = MP_OKAY;
  5139. ASSERT_SAVED_VECTOR_REGISTERS();
  5140. if (bits == 0) {
  5141. err = MP_VAL;
  5142. }
  5143. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5144. if (err == MP_OKAY) {
  5145. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (49 + 96), NULL,
  5146. DYNAMIC_TYPE_TMP_BUFFER);
  5147. if (td == NULL) {
  5148. err = MEMORY_E;
  5149. }
  5150. }
  5151. #endif
  5152. if (err == MP_OKAY) {
  5153. norm = td;
  5154. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5155. tmp = td + 96;
  5156. #else
  5157. tmp = &td[96];
  5158. #endif
  5159. sp_3072_mont_setup(m, &mp);
  5160. sp_3072_mont_norm_48(norm, m);
  5161. i = (bits - 1) / 64;
  5162. n = e[i--];
  5163. /* Number of bits available in top word. */
  5164. c = bits & 63;
  5165. if (c == 0) {
  5166. c = 64;
  5167. }
  5168. /* Minus the number of top bits to use so rest is a multiple of 6. */
  5169. if ((bits % 6) == 0) {
  5170. c -= 6;
  5171. }
  5172. else {
  5173. c -= bits % 6;
  5174. }
  5175. if (c < 0) {
  5176. /* Number of bits in top word is less than number needed. */
  5177. c = -c;
  5178. y = (byte)(n << c);
  5179. n = e[i--];
  5180. y |= (byte)(n >> (64 - c));
  5181. n <<= c;
  5182. c = 64 - c;
  5183. }
  5184. else if (c == 0) {
  5185. /* All bits in top word used. */
  5186. y = (byte)n;
  5187. }
  5188. else {
  5189. y = (byte)(n >> c);
  5190. n <<= 64 - c;
  5191. }
  5192. sp_3072_lshift_48(r, norm, y);
  5193. while ((i >= 0) || (c >= 6)) {
  5194. if (c == 0) {
  5195. n = e[i--];
  5196. y = (byte)(n >> 58);
  5197. n <<= 6;
  5198. c = 58;
  5199. }
  5200. else if (c < 6) {
  5201. y = (byte)(n >> 58);
  5202. n = e[i--];
  5203. c = 6 - c;
  5204. y |= (byte)(n >> (64 - c));
  5205. n <<= c;
  5206. c = 64 - c;
  5207. }
  5208. else {
  5209. y = (byte)((n >> 58) & 0x3f);
  5210. n <<= 6;
  5211. c -= 6;
  5212. }
  5213. sp_3072_mont_sqr_48(r, r, m, mp);
  5214. sp_3072_mont_sqr_48(r, r, m, mp);
  5215. sp_3072_mont_sqr_48(r, r, m, mp);
  5216. sp_3072_mont_sqr_48(r, r, m, mp);
  5217. sp_3072_mont_sqr_48(r, r, m, mp);
  5218. sp_3072_mont_sqr_48(r, r, m, mp);
  5219. sp_3072_lshift_48(r, r, y);
  5220. sp_3072_mul_d_48(tmp, norm, r[48]);
  5221. r[48] = 0;
  5222. o = sp_3072_add_48(r, r, tmp);
  5223. sp_3072_cond_sub_48(r, r, m, (sp_digit)0 - o);
  5224. }
  5225. XMEMSET(&r[48], 0, sizeof(sp_digit) * 48);
  5226. sp_3072_mont_reduce_48(r, m, mp);
  5227. mask = 0 - (sp_3072_cmp_48(r, m) >= 0);
  5228. sp_3072_cond_sub_48(r, r, m, mask);
  5229. }
  5230. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5231. if (td != NULL)
  5232. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  5233. #endif
  5234. return err;
  5235. }
  5236. #endif /* HAVE_FFDHE_3072 */
  5237. /* Perform the modular exponentiation for Diffie-Hellman.
  5238. *
  5239. * base Base.
  5240. * exp Array of bytes that is the exponent.
  5241. * expLen Length of data, in bytes, in exponent.
  5242. * mod Modulus.
  5243. * out Buffer to hold big-endian bytes of exponentiation result.
  5244. * Must be at least 384 bytes long.
  5245. * outLen Length, in bytes, of exponentiation result.
  5246. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  5247. * and MEMORY_E if memory allocation fails.
  5248. */
  5249. int sp_DhExp_3072(const mp_int* base, const byte* exp, word32 expLen,
  5250. const mp_int* mod, byte* out, word32* outLen)
  5251. {
  5252. int err = MP_OKAY;
  5253. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5254. sp_digit *b = NULL;
  5255. sp_digit *e = NULL;
  5256. sp_digit *m = NULL;
  5257. sp_digit* r;
  5258. #else
  5259. sp_digit b[96];
  5260. sp_digit e[48];
  5261. sp_digit m[48];
  5262. sp_digit* r = b;
  5263. #endif
  5264. word32 i;
  5265. #ifdef HAVE_INTEL_AVX2
  5266. word32 cpuid_flags = cpuid_get_flags();
  5267. #endif
  5268. ASSERT_SAVED_VECTOR_REGISTERS();
  5269. if (mp_count_bits(base) > 3072 || expLen > 384 ||
  5270. mp_count_bits(mod) != 3072) {
  5271. err = MP_READ_E;
  5272. }
  5273. else if (mp_iseven(mod)) {
  5274. err = MP_VAL;
  5275. }
  5276. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5277. if (err == MP_OKAY) {
  5278. if (((b = (sp_digit *)XMALLOC(96 * sizeof(*b), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  5279. ((e = (sp_digit *)XMALLOC(48 * sizeof(*e), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  5280. ((m = (sp_digit *)XMALLOC(48 * sizeof(*m), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL))
  5281. {
  5282. err = MEMORY_E;
  5283. } else {
  5284. r = b;
  5285. }
  5286. }
  5287. #endif
  5288. if (err == MP_OKAY) {
  5289. sp_3072_from_mp(b, 48, base);
  5290. sp_3072_from_bin(e, 48, exp, expLen);
  5291. sp_3072_from_mp(m, 48, mod);
  5292. #ifdef HAVE_FFDHE_3072
  5293. if (base->used == 1 && base->dp[0] == 2 && m[47] == (sp_digit)-1) {
  5294. #ifdef HAVE_INTEL_AVX2
  5295. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  5296. err = sp_3072_mod_exp_2_avx2_48(r, e, expLen * 8, m);
  5297. else
  5298. #endif
  5299. err = sp_3072_mod_exp_2_48(r, e, expLen * 8, m);
  5300. }
  5301. else
  5302. #endif
  5303. {
  5304. #ifdef HAVE_INTEL_AVX2
  5305. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  5306. err = sp_3072_mod_exp_avx2_48(r, b, e, expLen * 8, m, 0);
  5307. else
  5308. #endif
  5309. err = sp_3072_mod_exp_48(r, b, e, expLen * 8, m, 0);
  5310. }
  5311. }
  5312. if (err == MP_OKAY) {
  5313. sp_3072_to_bin_48(r, out);
  5314. *outLen = 384;
  5315. for (i=0; i<384 && out[i] == 0; i++) {
  5316. /* Search for first non-zero. */
  5317. }
  5318. *outLen -= i;
  5319. XMEMMOVE(out, out + i, *outLen);
  5320. }
  5321. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5322. if (b != NULL)
  5323. XFREE(b, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  5324. if (e != NULL) {
  5325. XMEMSET(e, 0, 48);
  5326. XFREE(e, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  5327. }
  5328. if (m != NULL)
  5329. XFREE(m, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  5330. #else
  5331. XMEMSET(e, 0, sizeof(e));
  5332. #endif
  5333. return err;
  5334. }
  5335. #endif
  5336. /* Perform the modular exponentiation for Diffie-Hellman.
  5337. *
  5338. * base Base. MP integer.
  5339. * exp Exponent. MP integer.
  5340. * mod Modulus. MP integer.
  5341. * res Result. MP integer.
  5342. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  5343. * and MEMORY_E if memory allocation fails.
  5344. */
  5345. int sp_ModExp_1536(const mp_int* base, const mp_int* exp, const mp_int* mod,
  5346. mp_int* res)
  5347. {
  5348. int err = MP_OKAY;
  5349. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5350. sp_digit *b = NULL;
  5351. sp_digit *e = NULL;
  5352. sp_digit *m = NULL;
  5353. sp_digit* r;
  5354. #else
  5355. sp_digit b[48];
  5356. sp_digit e[24];
  5357. sp_digit m[24];
  5358. sp_digit* r = b;
  5359. #endif
  5360. #ifdef HAVE_INTEL_AVX2
  5361. word32 cpuid_flags = cpuid_get_flags();
  5362. #endif
  5363. int expBits = mp_count_bits(exp);
  5364. ASSERT_SAVED_VECTOR_REGISTERS();
  5365. if (mp_count_bits(base) > 1536 || expBits > 1536 ||
  5366. mp_count_bits(mod) != 1536) {
  5367. err = MP_READ_E;
  5368. }
  5369. else if (mp_iseven(mod)) {
  5370. err = MP_VAL;
  5371. }
  5372. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5373. if (err == MP_OKAY) {
  5374. if (((b = (sp_digit *)XMALLOC(48 * sizeof(*b), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  5375. ((e = (sp_digit *)XMALLOC(24 * sizeof(*e), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  5376. ((m = (sp_digit *)XMALLOC(24 * sizeof(*m), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL))
  5377. {
  5378. err = MEMORY_E;
  5379. } else {
  5380. r = b;
  5381. }
  5382. }
  5383. #endif
  5384. if (err == MP_OKAY) {
  5385. sp_3072_from_mp(b, 24, base);
  5386. sp_3072_from_mp(e, 24, exp);
  5387. sp_3072_from_mp(m, 24, mod);
  5388. #ifdef HAVE_INTEL_AVX2
  5389. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  5390. err = sp_3072_mod_exp_avx2_24(r, b, e, expBits, m, 0);
  5391. else
  5392. #endif
  5393. err = sp_3072_mod_exp_24(r, b, e, expBits, m, 0);
  5394. }
  5395. if (err == MP_OKAY) {
  5396. XMEMSET(r + 24, 0, sizeof(*r) * 24);
  5397. err = sp_3072_to_mp(r, res);
  5398. }
  5399. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5400. if (b != NULL)
  5401. XFREE(b, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  5402. if (e != NULL) {
  5403. XMEMSET(e, 0, 24);
  5404. XFREE(e, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  5405. }
  5406. if (m != NULL)
  5407. XFREE(m, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  5408. #else
  5409. XMEMSET(e, 0, sizeof(e));
  5410. #endif
  5411. return err;
  5412. }
  5413. #endif /* WOLFSSL_HAVE_SP_DH | (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) */
  5414. #endif /* !WOLFSSL_SP_NO_3072 */
  5415. #ifdef WOLFSSL_SP_4096
  5416. #ifdef __cplusplus
  5417. extern "C" {
  5418. #endif
  5419. extern void sp_4096_from_bin_bswap(sp_digit* r, int size, const byte* a, int n);
  5420. #ifdef __cplusplus
  5421. }
  5422. #endif
  5423. #ifdef __cplusplus
  5424. extern "C" {
  5425. #endif
  5426. extern void sp_4096_from_bin_movbe(sp_digit* r, int size, const byte* a, int n);
  5427. #ifdef __cplusplus
  5428. }
  5429. #endif
  5430. /* Read big endian unsigned byte array into r.
  5431. *
  5432. * r A single precision integer.
  5433. * size Maximum number of bytes to convert
  5434. * a Byte array.
  5435. * n Number of bytes in array to read.
  5436. */
  5437. static void sp_4096_from_bin(sp_digit* r, int size, const byte* a, int n)
  5438. {
  5439. #ifndef NO_MOVBE_SUPPORT
  5440. word32 cpuid_flags = cpuid_get_flags();
  5441. if (IS_INTEL_MOVBE(cpuid_flags)) {
  5442. sp_4096_from_bin_movbe(r, size, a, n);
  5443. }
  5444. else
  5445. #endif
  5446. {
  5447. sp_4096_from_bin_bswap(r, size, a, n);
  5448. }
  5449. }
  5450. /* Convert an mp_int to an array of sp_digit.
  5451. *
  5452. * r A single precision integer.
  5453. * size Maximum number of bytes to convert
  5454. * a A multi-precision integer.
  5455. */
  5456. static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
  5457. {
  5458. #if DIGIT_BIT == 64
  5459. int j;
  5460. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  5461. for (j = a->used; j < size; j++) {
  5462. r[j] = 0;
  5463. }
  5464. #elif DIGIT_BIT > 64
  5465. int i;
  5466. int j = 0;
  5467. word32 s = 0;
  5468. r[0] = 0;
  5469. for (i = 0; i < a->used && j < size; i++) {
  5470. r[j] |= ((sp_digit)a->dp[i] << s);
  5471. r[j] &= 0xffffffffffffffffl;
  5472. s = 64U - s;
  5473. if (j + 1 >= size) {
  5474. break;
  5475. }
  5476. /* lint allow cast of mismatch word32 and mp_digit */
  5477. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  5478. while ((s + 64U) <= (word32)DIGIT_BIT) {
  5479. s += 64U;
  5480. r[j] &= 0xffffffffffffffffl;
  5481. if (j + 1 >= size) {
  5482. break;
  5483. }
  5484. if (s < (word32)DIGIT_BIT) {
  5485. /* lint allow cast of mismatch word32 and mp_digit */
  5486. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  5487. }
  5488. else {
  5489. r[++j] = (sp_digit)0;
  5490. }
  5491. }
  5492. s = (word32)DIGIT_BIT - s;
  5493. }
  5494. for (j++; j < size; j++) {
  5495. r[j] = 0;
  5496. }
  5497. #else
  5498. int i;
  5499. int j = 0;
  5500. int s = 0;
  5501. r[0] = 0;
  5502. for (i = 0; i < a->used && j < size; i++) {
  5503. r[j] |= ((sp_digit)a->dp[i]) << s;
  5504. if (s + DIGIT_BIT >= 64) {
  5505. r[j] &= 0xffffffffffffffffl;
  5506. if (j + 1 >= size) {
  5507. break;
  5508. }
  5509. s = 64 - s;
  5510. if (s == DIGIT_BIT) {
  5511. r[++j] = 0;
  5512. s = 0;
  5513. }
  5514. else {
  5515. r[++j] = a->dp[i] >> s;
  5516. s = DIGIT_BIT - s;
  5517. }
  5518. }
  5519. else {
  5520. s += DIGIT_BIT;
  5521. }
  5522. }
  5523. for (j++; j < size; j++) {
  5524. r[j] = 0;
  5525. }
  5526. #endif
  5527. }
  5528. #ifdef __cplusplus
  5529. extern "C" {
  5530. #endif
  5531. extern void sp_4096_to_bin_bswap_64(sp_digit* r, byte* a);
  5532. #ifdef __cplusplus
  5533. }
  5534. #endif
  5535. #ifdef __cplusplus
  5536. extern "C" {
  5537. #endif
  5538. extern void sp_4096_to_bin_movbe_64(sp_digit* r, byte* a);
  5539. #ifdef __cplusplus
  5540. }
  5541. #endif
  5542. /* Write r as big endian to byte array.
  5543. * Fixed length number of bytes written: 512
  5544. *
  5545. * r A single precision integer.
  5546. * a Byte array.
  5547. */
  5548. static void sp_4096_to_bin_64(sp_digit* r, byte* a)
  5549. {
  5550. #ifndef NO_MOVBE_SUPPORT
  5551. word32 cpuid_flags = cpuid_get_flags();
  5552. if (IS_INTEL_MOVBE(cpuid_flags)) {
  5553. sp_4096_to_bin_movbe_64(r, a);
  5554. }
  5555. else
  5556. #endif
  5557. {
  5558. sp_4096_to_bin_bswap_64(r, a);
  5559. }
  5560. }
  5561. #if (defined(WOLFSSL_HAVE_SP_RSA) && (!defined(WOLFSSL_RSA_PUBLIC_ONLY) || !defined(WOLFSSL_SP_SMALL))) || defined(WOLFSSL_HAVE_SP_DH)
  5562. /* Normalize the values in each word to 64.
  5563. *
  5564. * a Array of sp_digit to normalize.
  5565. */
  5566. #define sp_4096_norm_64(a)
  5567. #endif /* (WOLFSSL_HAVE_SP_RSA && (!WOLFSSL_RSA_PUBLIC_ONLY || !WOLFSSL_SP_SMALL)) || WOLFSSL_HAVE_SP_DH */
  5568. /* Normalize the values in each word to 64.
  5569. *
  5570. * a Array of sp_digit to normalize.
  5571. */
  5572. #define sp_4096_norm_64(a)
  5573. #ifdef __cplusplus
  5574. extern "C" {
  5575. #endif
  5576. extern sp_digit sp_4096_sub_in_place_64(sp_digit* a, const sp_digit* b);
  5577. #ifdef __cplusplus
  5578. }
  5579. #endif
  5580. #ifdef __cplusplus
  5581. extern "C" {
  5582. #endif
  5583. extern sp_digit sp_4096_add_64(sp_digit* r, const sp_digit* a, const sp_digit* b);
  5584. #ifdef __cplusplus
  5585. }
  5586. #endif
  5587. #ifdef __cplusplus
  5588. extern "C" {
  5589. #endif
  5590. extern void sp_4096_mul_64(sp_digit* r, const sp_digit* a, const sp_digit* b);
  5591. #ifdef __cplusplus
  5592. }
  5593. #endif
  5594. #ifdef __cplusplus
  5595. extern "C" {
  5596. #endif
  5597. extern void sp_4096_mul_avx2_64(sp_digit* r, const sp_digit* a, const sp_digit* b);
  5598. #ifdef __cplusplus
  5599. }
  5600. #endif
  5601. #ifdef __cplusplus
  5602. extern "C" {
  5603. #endif
  5604. extern void sp_4096_sqr_64(sp_digit* r, const sp_digit* a);
  5605. #ifdef __cplusplus
  5606. }
  5607. #endif
  5608. #ifdef __cplusplus
  5609. extern "C" {
  5610. #endif
  5611. extern void sp_4096_sqr_avx2_64(sp_digit* r, const sp_digit* a);
  5612. #ifdef __cplusplus
  5613. }
  5614. #endif
  5615. /* Caclulate the bottom digit of -1/a mod 2^n.
  5616. *
  5617. * a A single precision number.
  5618. * rho Bottom word of inverse.
  5619. */
  5620. static void sp_4096_mont_setup(const sp_digit* a, sp_digit* rho)
  5621. {
  5622. sp_digit x;
  5623. sp_digit b;
  5624. b = a[0];
  5625. x = (((b + 2) & 4) << 1) + b; /* here x*a==1 mod 2**4 */
  5626. x *= 2 - b * x; /* here x*a==1 mod 2**8 */
  5627. x *= 2 - b * x; /* here x*a==1 mod 2**16 */
  5628. x *= 2 - b * x; /* here x*a==1 mod 2**32 */
  5629. x *= 2 - b * x; /* here x*a==1 mod 2**64 */
  5630. /* rho = -1/m mod b */
  5631. *rho = (sp_digit)0 - x;
  5632. }
  5633. #ifdef __cplusplus
  5634. extern "C" {
  5635. #endif
  5636. extern void sp_4096_mul_d_64(sp_digit* r, const sp_digit* a, sp_digit b);
  5637. #ifdef __cplusplus
  5638. }
  5639. #endif
  5640. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  5641. /* r = 2^n mod m where n is the number of bits to reduce by.
  5642. * Given m must be 4096 bits, just need to subtract.
  5643. *
  5644. * r A single precision number.
  5645. * m A single precision number.
  5646. */
  5647. static void sp_4096_mont_norm_64(sp_digit* r, const sp_digit* m)
  5648. {
  5649. XMEMSET(r, 0, sizeof(sp_digit) * 64);
  5650. ASSERT_SAVED_VECTOR_REGISTERS();
  5651. /* r = 2^n mod m */
  5652. sp_4096_sub_in_place_64(r, m);
  5653. }
  5654. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  5655. #ifdef __cplusplus
  5656. extern "C" {
  5657. #endif
  5658. extern sp_digit sp_4096_cond_sub_64(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  5659. #ifdef __cplusplus
  5660. }
  5661. #endif
  5662. #ifdef __cplusplus
  5663. extern "C" {
  5664. #endif
  5665. extern void sp_4096_mont_reduce_64(sp_digit* a, const sp_digit* m, sp_digit mp);
  5666. #ifdef __cplusplus
  5667. }
  5668. #endif
  5669. /* Multiply two Montgomery form numbers mod the modulus (prime).
  5670. * (r = a * b mod m)
  5671. *
  5672. * r Result of multiplication.
  5673. * a First number to multiply in Montgomery form.
  5674. * b Second number to multiply in Montgomery form.
  5675. * m Modulus (prime).
  5676. * mp Montgomery mulitplier.
  5677. */
  5678. SP_NOINLINE static void sp_4096_mont_mul_64(sp_digit* r, const sp_digit* a,
  5679. const sp_digit* b, const sp_digit* m, sp_digit mp)
  5680. {
  5681. sp_4096_mul_64(r, a, b);
  5682. sp_4096_mont_reduce_64(r, m, mp);
  5683. }
  5684. /* Square the Montgomery form number. (r = a * a mod m)
  5685. *
  5686. * r Result of squaring.
  5687. * a Number to square in Montgomery form.
  5688. * m Modulus (prime).
  5689. * mp Montgomery mulitplier.
  5690. */
  5691. SP_NOINLINE static void sp_4096_mont_sqr_64(sp_digit* r, const sp_digit* a,
  5692. const sp_digit* m, sp_digit mp)
  5693. {
  5694. sp_4096_sqr_64(r, a);
  5695. sp_4096_mont_reduce_64(r, m, mp);
  5696. }
  5697. #ifdef __cplusplus
  5698. extern "C" {
  5699. #endif
  5700. extern sp_digit sp_4096_sub_64(sp_digit* r, const sp_digit* a, const sp_digit* b);
  5701. #ifdef __cplusplus
  5702. }
  5703. #endif
  5704. #ifdef __cplusplus
  5705. extern "C" {
  5706. #endif
  5707. extern void sp_4096_mul_d_avx2_64(sp_digit* r, const sp_digit* a, const sp_digit b);
  5708. #ifdef __cplusplus
  5709. }
  5710. #endif
  5711. #if defined(_WIN64) && !defined(__clang__)
  5712. #if _MSC_VER < 1920
  5713. #ifdef __cplusplus
  5714. extern "C" {
  5715. #endif
  5716. extern sp_digit div_4096_word_asm_64(sp_digit d1, sp_digit d0, sp_digit div);
  5717. #ifdef __cplusplus
  5718. }
  5719. #endif
  5720. #endif /* _MSC_VER < 1920 */
  5721. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  5722. *
  5723. * d1 The high order half of the number to divide.
  5724. * d0 The low order half of the number to divide.
  5725. * div The dividend.
  5726. * returns the result of the division.
  5727. */
  5728. static WC_INLINE sp_digit div_4096_word_64(sp_digit d1, sp_digit d0,
  5729. sp_digit div)
  5730. {
  5731. ASSERT_SAVED_VECTOR_REGISTERS();
  5732. #if _MSC_VER >= 1920
  5733. return _udiv128(d1, d0, div, NULL);
  5734. #else
  5735. return div_4096_word_asm_64(d1, d0, div);
  5736. #endif
  5737. }
  5738. #else
  5739. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  5740. *
  5741. * d1 The high order half of the number to divide.
  5742. * d0 The low order half of the number to divide.
  5743. * div The dividend.
  5744. * returns the result of the division.
  5745. */
  5746. static WC_INLINE sp_digit div_4096_word_64(sp_digit d1, sp_digit d0,
  5747. sp_digit div)
  5748. {
  5749. ASSERT_SAVED_VECTOR_REGISTERS();
  5750. register sp_digit r asm("rax");
  5751. __asm__ __volatile__ (
  5752. "divq %3"
  5753. : "=a" (r)
  5754. : "d" (d1), "a" (d0), "r" (div)
  5755. :
  5756. );
  5757. return r;
  5758. }
  5759. #endif /* _WIN64 && !__clang__ */
  5760. /* Divide d in a and put remainder into r (m*d + r = a)
  5761. * m is not calculated as it is not needed at this time.
  5762. *
  5763. * a Number to be divided.
  5764. * d Number to divide with.
  5765. * m Multiplier result.
  5766. * r Remainder from the division.
  5767. * returns MP_OKAY indicating success.
  5768. */
  5769. static WC_INLINE int sp_4096_div_64_cond(const sp_digit* a, const sp_digit* d, sp_digit* m,
  5770. sp_digit* r)
  5771. {
  5772. sp_digit t1[128];
  5773. sp_digit t2[65];
  5774. sp_digit div;
  5775. sp_digit r1;
  5776. int i;
  5777. #ifdef HAVE_INTEL_AVX2
  5778. word32 cpuid_flags = cpuid_get_flags();
  5779. #endif
  5780. ASSERT_SAVED_VECTOR_REGISTERS();
  5781. (void)m;
  5782. div = d[63];
  5783. XMEMCPY(t1, a, sizeof(*t1) * 2 * 64);
  5784. for (i = 63; i > 0; i--) {
  5785. if (t1[i + 64] != d[i])
  5786. break;
  5787. }
  5788. if (t1[i + 64] >= d[i]) {
  5789. sp_4096_sub_in_place_64(&t1[64], d);
  5790. }
  5791. for (i = 63; i >= 0; i--) {
  5792. if (t1[64 + i] == div) {
  5793. r1 = SP_DIGIT_MAX;
  5794. }
  5795. else {
  5796. r1 = div_4096_word_64(t1[64 + i], t1[64 + i - 1], div);
  5797. }
  5798. #ifdef HAVE_INTEL_AVX2
  5799. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  5800. sp_4096_mul_d_avx2_64(t2, d, r1);
  5801. else
  5802. #endif
  5803. sp_4096_mul_d_64(t2, d, r1);
  5804. t1[64 + i] += sp_4096_sub_in_place_64(&t1[i], t2);
  5805. t1[64 + i] -= t2[64];
  5806. if (t1[64 + i] != 0) {
  5807. t1[64 + i] += sp_4096_add_64(&t1[i], &t1[i], d);
  5808. if (t1[64 + i] != 0)
  5809. t1[64 + i] += sp_4096_add_64(&t1[i], &t1[i], d);
  5810. }
  5811. }
  5812. for (i = 63; i > 0; i--) {
  5813. if (t1[i] != d[i])
  5814. break;
  5815. }
  5816. if (t1[i] >= d[i]) {
  5817. sp_4096_sub_64(r, t1, d);
  5818. }
  5819. else {
  5820. XMEMCPY(r, t1, sizeof(*t1) * 64);
  5821. }
  5822. return MP_OKAY;
  5823. }
  5824. /* Reduce a modulo m into r. (r = a mod m)
  5825. *
  5826. * r A single precision number that is the reduced result.
  5827. * a A single precision number that is to be reduced.
  5828. * m A single precision number that is the modulus to reduce with.
  5829. * returns MP_OKAY indicating success.
  5830. */
  5831. static WC_INLINE int sp_4096_mod_64_cond(sp_digit* r, const sp_digit* a,
  5832. const sp_digit* m)
  5833. {
  5834. ASSERT_SAVED_VECTOR_REGISTERS();
  5835. return sp_4096_div_64_cond(a, m, NULL, r);
  5836. }
  5837. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  5838. #ifdef __cplusplus
  5839. extern "C" {
  5840. #endif
  5841. extern sp_digit sp_4096_cond_sub_avx2_64(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  5842. #ifdef __cplusplus
  5843. }
  5844. #endif
  5845. /* AND m into each word of a and store in r.
  5846. *
  5847. * r A single precision integer.
  5848. * a A single precision integer.
  5849. * m Mask to AND against each digit.
  5850. */
  5851. static void sp_4096_mask_64(sp_digit* r, const sp_digit* a, sp_digit m)
  5852. {
  5853. #ifdef WOLFSSL_SP_SMALL
  5854. int i;
  5855. for (i=0; i<64; i++) {
  5856. r[i] = a[i] & m;
  5857. }
  5858. #else
  5859. int i;
  5860. for (i = 0; i < 64; i += 8) {
  5861. r[i+0] = a[i+0] & m;
  5862. r[i+1] = a[i+1] & m;
  5863. r[i+2] = a[i+2] & m;
  5864. r[i+3] = a[i+3] & m;
  5865. r[i+4] = a[i+4] & m;
  5866. r[i+5] = a[i+5] & m;
  5867. r[i+6] = a[i+6] & m;
  5868. r[i+7] = a[i+7] & m;
  5869. }
  5870. #endif
  5871. }
  5872. #ifdef __cplusplus
  5873. extern "C" {
  5874. #endif
  5875. extern sp_int64 sp_4096_cmp_64(const sp_digit* a, const sp_digit* b);
  5876. #ifdef __cplusplus
  5877. }
  5878. #endif
  5879. /* Divide d in a and put remainder into r (m*d + r = a)
  5880. * m is not calculated as it is not needed at this time.
  5881. *
  5882. * a Number to be divided.
  5883. * d Number to divide with.
  5884. * m Multiplier result.
  5885. * r Remainder from the division.
  5886. * returns MP_OKAY indicating success.
  5887. */
  5888. static WC_INLINE int sp_4096_div_64(const sp_digit* a, const sp_digit* d, sp_digit* m,
  5889. sp_digit* r)
  5890. {
  5891. sp_digit t1[128];
  5892. sp_digit t2[65];
  5893. sp_digit div;
  5894. sp_digit r1;
  5895. int i;
  5896. #ifdef HAVE_INTEL_AVX2
  5897. word32 cpuid_flags = cpuid_get_flags();
  5898. #endif
  5899. ASSERT_SAVED_VECTOR_REGISTERS();
  5900. (void)m;
  5901. div = d[63];
  5902. XMEMCPY(t1, a, sizeof(*t1) * 2 * 64);
  5903. r1 = sp_4096_cmp_64(&t1[64], d) >= 0;
  5904. #ifdef HAVE_INTEL_AVX2
  5905. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  5906. sp_4096_cond_sub_avx2_64(&t1[64], &t1[64], d, (sp_digit)0 - r1);
  5907. else
  5908. #endif
  5909. sp_4096_cond_sub_64(&t1[64], &t1[64], d, (sp_digit)0 - r1);
  5910. for (i = 63; i >= 0; i--) {
  5911. sp_digit mask = 0 - (t1[64 + i] == div);
  5912. sp_digit hi = t1[64 + i] + mask;
  5913. r1 = div_4096_word_64(hi, t1[64 + i - 1], div);
  5914. r1 |= mask;
  5915. #ifdef HAVE_INTEL_AVX2
  5916. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  5917. sp_4096_mul_d_avx2_64(t2, d, r1);
  5918. else
  5919. #endif
  5920. sp_4096_mul_d_64(t2, d, r1);
  5921. t1[64 + i] += sp_4096_sub_in_place_64(&t1[i], t2);
  5922. t1[64 + i] -= t2[64];
  5923. sp_4096_mask_64(t2, d, t1[64 + i]);
  5924. t1[64 + i] += sp_4096_add_64(&t1[i], &t1[i], t2);
  5925. sp_4096_mask_64(t2, d, t1[64 + i]);
  5926. t1[64 + i] += sp_4096_add_64(&t1[i], &t1[i], t2);
  5927. }
  5928. r1 = sp_4096_cmp_64(t1, d) >= 0;
  5929. #ifdef HAVE_INTEL_AVX2
  5930. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  5931. sp_4096_cond_sub_avx2_64(r, t1, d, (sp_digit)0 - r1);
  5932. else
  5933. #endif
  5934. sp_4096_cond_sub_64(r, t1, d, (sp_digit)0 - r1);
  5935. return MP_OKAY;
  5936. }
  5937. #if defined(WOLFSSL_HAVE_SP_DH) || !defined(WOLFSSL_RSA_PUBLIC_ONLY)
  5938. /* Reduce a modulo m into r. (r = a mod m)
  5939. *
  5940. * r A single precision number that is the reduced result.
  5941. * a A single precision number that is to be reduced.
  5942. * m A single precision number that is the modulus to reduce with.
  5943. * returns MP_OKAY indicating success.
  5944. */
  5945. static WC_INLINE int sp_4096_mod_64(sp_digit* r, const sp_digit* a,
  5946. const sp_digit* m)
  5947. {
  5948. ASSERT_SAVED_VECTOR_REGISTERS();
  5949. return sp_4096_div_64(a, m, NULL, r);
  5950. }
  5951. #endif /* WOLFSSL_HAVE_SP_DH || !WOLFSSL_RSA_PUBLIC_ONLY */
  5952. #ifdef __cplusplus
  5953. extern "C" {
  5954. #endif
  5955. extern void sp_4096_get_from_table_64(sp_digit* r, sp_digit** table, int idx);
  5956. #ifdef __cplusplus
  5957. }
  5958. #endif
  5959. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  5960. *
  5961. * r A single precision number that is the result of the operation.
  5962. * a A single precision number being exponentiated.
  5963. * e A single precision number that is the exponent.
  5964. * bits The number of bits in the exponent.
  5965. * m A single precision number that is the modulus.
  5966. * returns 0 on success
  5967. * returns MEMORY_E on dynamic memory allocation failure.
  5968. * returns MP_VAL when base is even or exponent is 0.
  5969. */
  5970. static int sp_4096_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e,
  5971. int bits, const sp_digit* m, int reduceA)
  5972. {
  5973. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5974. sp_digit* td = NULL;
  5975. #else
  5976. sp_digit td[(17 * 128) + 128];
  5977. #endif
  5978. sp_digit* t[16];
  5979. sp_digit* rt = NULL;
  5980. sp_digit* norm;
  5981. sp_digit mp = 1;
  5982. sp_digit n;
  5983. sp_digit mask;
  5984. int i;
  5985. int c;
  5986. byte y;
  5987. int err = MP_OKAY;
  5988. ASSERT_SAVED_VECTOR_REGISTERS();
  5989. if (bits == 0) {
  5990. err = MP_VAL;
  5991. }
  5992. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5993. if (err == MP_OKAY) {
  5994. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (17 * 128) + 128, NULL,
  5995. DYNAMIC_TYPE_TMP_BUFFER);
  5996. if (td == NULL) {
  5997. err = MEMORY_E;
  5998. }
  5999. }
  6000. #endif
  6001. if (err == MP_OKAY) {
  6002. norm = td;
  6003. for (i=0; i<16; i++)
  6004. t[i] = td + i * 128;
  6005. rt = td + 2048;
  6006. sp_4096_mont_setup(m, &mp);
  6007. sp_4096_mont_norm_64(norm, m);
  6008. XMEMSET(t[1], 0, sizeof(sp_digit) * 64);
  6009. if (reduceA) {
  6010. err = sp_4096_mod_64(t[1] + 64, a, m);
  6011. if (err == MP_OKAY)
  6012. err = sp_4096_mod_64(t[1], t[1], m);
  6013. }
  6014. else {
  6015. XMEMCPY(t[1] + 64, a, sizeof(sp_digit) * 64);
  6016. err = sp_4096_mod_64(t[1], t[1], m);
  6017. }
  6018. }
  6019. if (err == MP_OKAY) {
  6020. sp_4096_mont_sqr_64(t[ 2], t[ 1], m, mp);
  6021. sp_4096_mont_mul_64(t[ 3], t[ 2], t[ 1], m, mp);
  6022. sp_4096_mont_sqr_64(t[ 4], t[ 2], m, mp);
  6023. sp_4096_mont_mul_64(t[ 5], t[ 3], t[ 2], m, mp);
  6024. sp_4096_mont_sqr_64(t[ 6], t[ 3], m, mp);
  6025. sp_4096_mont_mul_64(t[ 7], t[ 4], t[ 3], m, mp);
  6026. sp_4096_mont_sqr_64(t[ 8], t[ 4], m, mp);
  6027. sp_4096_mont_mul_64(t[ 9], t[ 5], t[ 4], m, mp);
  6028. sp_4096_mont_sqr_64(t[10], t[ 5], m, mp);
  6029. sp_4096_mont_mul_64(t[11], t[ 6], t[ 5], m, mp);
  6030. sp_4096_mont_sqr_64(t[12], t[ 6], m, mp);
  6031. sp_4096_mont_mul_64(t[13], t[ 7], t[ 6], m, mp);
  6032. sp_4096_mont_sqr_64(t[14], t[ 7], m, mp);
  6033. sp_4096_mont_mul_64(t[15], t[ 8], t[ 7], m, mp);
  6034. i = (bits - 1) / 64;
  6035. n = e[i--];
  6036. /* Number of bits available in top word. */
  6037. c = bits & 63;
  6038. if (c == 0) {
  6039. c = 64;
  6040. }
  6041. /* Minus the number of top bits to use so rest is a multiple of 4. */
  6042. if ((bits % 4) == 0) {
  6043. c -= 4;
  6044. }
  6045. else {
  6046. c -= bits % 4;
  6047. }
  6048. if (c < 0) {
  6049. /* Number of bits in top word is less than number needed. */
  6050. c = -c;
  6051. y = (byte)(n << c);
  6052. n = e[i--];
  6053. y |= (byte)(n >> (64 - c));
  6054. n <<= c;
  6055. c = 64 - c;
  6056. }
  6057. else if (c == 0) {
  6058. /* All bits in top word used. */
  6059. y = (byte)n;
  6060. }
  6061. else {
  6062. y = (byte)(n >> c);
  6063. n <<= 64 - c;
  6064. }
  6065. #ifndef WC_NO_CACHE_RESISTANT
  6066. sp_4096_get_from_table_64(r, t, y);
  6067. #else
  6068. XMEMCPY(r, t[y], sizeof(sp_digit) * 64);
  6069. #endif
  6070. for (; i>=0 || c>=4; ) {
  6071. if (c >= 4) {
  6072. y = (byte)((n >> 60) & 0xf);
  6073. n <<= 4;
  6074. c -= 4;
  6075. }
  6076. else if (c == 0) {
  6077. n = e[i--];
  6078. y = (byte)(n >> 60);
  6079. n <<= 4;
  6080. c = 60;
  6081. }
  6082. else {
  6083. y = (byte)(n >> 60);
  6084. n = e[i--];
  6085. c = 4 - c;
  6086. y |= (byte)(n >> (64 - c));
  6087. n <<= c;
  6088. c = 64 - c;
  6089. }
  6090. sp_4096_sqr_64(rt, r);
  6091. sp_4096_mont_reduce_64(rt, m, mp);
  6092. sp_4096_sqr_64(r, rt);
  6093. sp_4096_mont_reduce_64(r, m, mp);
  6094. sp_4096_sqr_64(rt, r);
  6095. sp_4096_mont_reduce_64(rt, m, mp);
  6096. sp_4096_sqr_64(r, rt);
  6097. sp_4096_mont_reduce_64(r, m, mp);
  6098. #ifndef WC_NO_CACHE_RESISTANT
  6099. sp_4096_get_from_table_64(rt, t, y);
  6100. sp_4096_mul_64(r, r, rt);
  6101. #else
  6102. sp_4096_mul_64(r, r, t[y]);
  6103. #endif
  6104. sp_4096_mont_reduce_64(r, m, mp);
  6105. }
  6106. XMEMSET(&r[64], 0, sizeof(sp_digit) * 64);
  6107. sp_4096_mont_reduce_64(r, m, mp);
  6108. mask = 0 - (sp_4096_cmp_64(r, m) >= 0);
  6109. sp_4096_cond_sub_64(r, r, m, mask);
  6110. }
  6111. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6112. if (td != NULL)
  6113. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  6114. #endif
  6115. return err;
  6116. }
  6117. #endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
  6118. #ifdef __cplusplus
  6119. extern "C" {
  6120. #endif
  6121. extern void sp_4096_mont_reduce_avx2_64(sp_digit* a, const sp_digit* m, sp_digit mp);
  6122. #ifdef __cplusplus
  6123. }
  6124. #endif
  6125. #ifdef HAVE_INTEL_AVX2
  6126. /* Multiply two Montgomery form numbers mod the modulus (prime).
  6127. * (r = a * b mod m)
  6128. *
  6129. * r Result of multiplication.
  6130. * a First number to multiply in Montgomery form.
  6131. * b Second number to multiply in Montgomery form.
  6132. * m Modulus (prime).
  6133. * mp Montgomery mulitplier.
  6134. */
  6135. SP_NOINLINE static void sp_4096_mont_mul_avx2_64(sp_digit* r, const sp_digit* a,
  6136. const sp_digit* b, const sp_digit* m, sp_digit mp)
  6137. {
  6138. sp_4096_mul_avx2_64(r, a, b);
  6139. sp_4096_mont_reduce_avx2_64(r, m, mp);
  6140. }
  6141. #endif /* HAVE_INTEL_AVX2 */
  6142. #ifdef HAVE_INTEL_AVX2
  6143. /* Square the Montgomery form number. (r = a * a mod m)
  6144. *
  6145. * r Result of squaring.
  6146. * a Number to square in Montgomery form.
  6147. * m Modulus (prime).
  6148. * mp Montgomery mulitplier.
  6149. */
  6150. SP_NOINLINE static void sp_4096_mont_sqr_avx2_64(sp_digit* r, const sp_digit* a,
  6151. const sp_digit* m, sp_digit mp)
  6152. {
  6153. sp_4096_sqr_avx2_64(r, a);
  6154. sp_4096_mont_reduce_avx2_64(r, m, mp);
  6155. }
  6156. #endif /* HAVE_INTEL_AVX2 */
  6157. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  6158. #ifdef __cplusplus
  6159. extern "C" {
  6160. #endif
  6161. extern void sp_4096_get_from_table_avx2_64(sp_digit* r, sp_digit** table, int idx);
  6162. #ifdef __cplusplus
  6163. }
  6164. #endif
  6165. #ifdef HAVE_INTEL_AVX2
  6166. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  6167. *
  6168. * r A single precision number that is the result of the operation.
  6169. * a A single precision number being exponentiated.
  6170. * e A single precision number that is the exponent.
  6171. * bits The number of bits in the exponent.
  6172. * m A single precision number that is the modulus.
  6173. * returns 0 on success
  6174. * returns MEMORY_E on dynamic memory allocation failure.
  6175. * returns MP_VAL when base is even or exponent is 0.
  6176. */
  6177. static int sp_4096_mod_exp_avx2_64(sp_digit* r, const sp_digit* a, const sp_digit* e,
  6178. int bits, const sp_digit* m, int reduceA)
  6179. {
  6180. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6181. sp_digit* td = NULL;
  6182. #else
  6183. sp_digit td[(17 * 128) + 128];
  6184. #endif
  6185. sp_digit* t[16];
  6186. sp_digit* rt = NULL;
  6187. sp_digit* norm;
  6188. sp_digit mp = 1;
  6189. sp_digit n;
  6190. sp_digit mask;
  6191. int i;
  6192. int c;
  6193. byte y;
  6194. int err = MP_OKAY;
  6195. ASSERT_SAVED_VECTOR_REGISTERS();
  6196. if (bits == 0) {
  6197. err = MP_VAL;
  6198. }
  6199. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6200. if (err == MP_OKAY) {
  6201. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (17 * 128) + 128, NULL,
  6202. DYNAMIC_TYPE_TMP_BUFFER);
  6203. if (td == NULL) {
  6204. err = MEMORY_E;
  6205. }
  6206. }
  6207. #endif
  6208. if (err == MP_OKAY) {
  6209. norm = td;
  6210. for (i=0; i<16; i++)
  6211. t[i] = td + i * 128;
  6212. rt = td + 2048;
  6213. sp_4096_mont_setup(m, &mp);
  6214. sp_4096_mont_norm_64(norm, m);
  6215. XMEMSET(t[1], 0, sizeof(sp_digit) * 64);
  6216. if (reduceA) {
  6217. err = sp_4096_mod_64(t[1] + 64, a, m);
  6218. if (err == MP_OKAY)
  6219. err = sp_4096_mod_64(t[1], t[1], m);
  6220. }
  6221. else {
  6222. XMEMCPY(t[1] + 64, a, sizeof(sp_digit) * 64);
  6223. err = sp_4096_mod_64(t[1], t[1], m);
  6224. }
  6225. }
  6226. if (err == MP_OKAY) {
  6227. sp_4096_mont_sqr_avx2_64(t[ 2], t[ 1], m, mp);
  6228. sp_4096_mont_mul_avx2_64(t[ 3], t[ 2], t[ 1], m, mp);
  6229. sp_4096_mont_sqr_avx2_64(t[ 4], t[ 2], m, mp);
  6230. sp_4096_mont_mul_avx2_64(t[ 5], t[ 3], t[ 2], m, mp);
  6231. sp_4096_mont_sqr_avx2_64(t[ 6], t[ 3], m, mp);
  6232. sp_4096_mont_mul_avx2_64(t[ 7], t[ 4], t[ 3], m, mp);
  6233. sp_4096_mont_sqr_avx2_64(t[ 8], t[ 4], m, mp);
  6234. sp_4096_mont_mul_avx2_64(t[ 9], t[ 5], t[ 4], m, mp);
  6235. sp_4096_mont_sqr_avx2_64(t[10], t[ 5], m, mp);
  6236. sp_4096_mont_mul_avx2_64(t[11], t[ 6], t[ 5], m, mp);
  6237. sp_4096_mont_sqr_avx2_64(t[12], t[ 6], m, mp);
  6238. sp_4096_mont_mul_avx2_64(t[13], t[ 7], t[ 6], m, mp);
  6239. sp_4096_mont_sqr_avx2_64(t[14], t[ 7], m, mp);
  6240. sp_4096_mont_mul_avx2_64(t[15], t[ 8], t[ 7], m, mp);
  6241. i = (bits - 1) / 64;
  6242. n = e[i--];
  6243. /* Number of bits available in top word. */
  6244. c = bits & 63;
  6245. if (c == 0) {
  6246. c = 64;
  6247. }
  6248. /* Minus the number of top bits to use so rest is a multiple of 4. */
  6249. if ((bits % 4) == 0) {
  6250. c -= 4;
  6251. }
  6252. else {
  6253. c -= bits % 4;
  6254. }
  6255. if (c < 0) {
  6256. /* Number of bits in top word is less than number needed. */
  6257. c = -c;
  6258. y = (byte)(n << c);
  6259. n = e[i--];
  6260. y |= (byte)(n >> (64 - c));
  6261. n <<= c;
  6262. c = 64 - c;
  6263. }
  6264. else if (c == 0) {
  6265. /* All bits in top word used. */
  6266. y = (byte)n;
  6267. }
  6268. else {
  6269. y = (byte)(n >> c);
  6270. n <<= 64 - c;
  6271. }
  6272. #ifndef WC_NO_CACHE_RESISTANT
  6273. sp_4096_get_from_table_avx2_64(r, t, y);
  6274. #else
  6275. XMEMCPY(r, t[y], sizeof(sp_digit) * 64);
  6276. #endif
  6277. for (; i>=0 || c>=4; ) {
  6278. if (c >= 4) {
  6279. y = (byte)((n >> 60) & 0xf);
  6280. n <<= 4;
  6281. c -= 4;
  6282. }
  6283. else if (c == 0) {
  6284. n = e[i--];
  6285. y = (byte)(n >> 60);
  6286. n <<= 4;
  6287. c = 60;
  6288. }
  6289. else {
  6290. y = (byte)(n >> 60);
  6291. n = e[i--];
  6292. c = 4 - c;
  6293. y |= (byte)(n >> (64 - c));
  6294. n <<= c;
  6295. c = 64 - c;
  6296. }
  6297. sp_4096_sqr_avx2_64(rt, r);
  6298. sp_4096_mont_reduce_avx2_64(rt, m, mp);
  6299. sp_4096_sqr_avx2_64(r, rt);
  6300. sp_4096_mont_reduce_avx2_64(r, m, mp);
  6301. sp_4096_sqr_avx2_64(rt, r);
  6302. sp_4096_mont_reduce_avx2_64(rt, m, mp);
  6303. sp_4096_sqr_avx2_64(r, rt);
  6304. sp_4096_mont_reduce_avx2_64(r, m, mp);
  6305. #ifndef WC_NO_CACHE_RESISTANT
  6306. sp_4096_get_from_table_avx2_64(rt, t, y);
  6307. sp_4096_mul_avx2_64(r, r, rt);
  6308. #else
  6309. sp_4096_mul_avx2_64(r, r, t[y]);
  6310. #endif
  6311. sp_4096_mont_reduce_avx2_64(r, m, mp);
  6312. }
  6313. XMEMSET(&r[64], 0, sizeof(sp_digit) * 64);
  6314. sp_4096_mont_reduce_avx2_64(r, m, mp);
  6315. mask = 0 - (sp_4096_cmp_64(r, m) >= 0);
  6316. sp_4096_cond_sub_avx2_64(r, r, m, mask);
  6317. }
  6318. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6319. if (td != NULL)
  6320. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  6321. #endif
  6322. return err;
  6323. }
  6324. #endif /* HAVE_INTEL_AVX2 */
  6325. #endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
  6326. #ifdef WOLFSSL_HAVE_SP_RSA
  6327. /* RSA public key operation.
  6328. *
  6329. * in Array of bytes representing the number to exponentiate, base.
  6330. * inLen Number of bytes in base.
  6331. * em Public exponent.
  6332. * mm Modulus.
  6333. * out Buffer to hold big-endian bytes of exponentiation result.
  6334. * Must be at least 512 bytes long.
  6335. * outLen Number of bytes in result.
  6336. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  6337. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  6338. */
  6339. int sp_RsaPublic_4096(const byte* in, word32 inLen, const mp_int* em,
  6340. const mp_int* mm, byte* out, word32* outLen)
  6341. {
  6342. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6343. sp_digit* a = NULL;
  6344. #else
  6345. sp_digit a[64 * 5];
  6346. #endif
  6347. sp_digit* ah;
  6348. sp_digit* m;
  6349. sp_digit* r;
  6350. sp_digit e = 0;
  6351. int err = MP_OKAY;
  6352. #ifdef HAVE_INTEL_AVX2
  6353. word32 cpuid_flags = cpuid_get_flags();
  6354. #endif
  6355. ASSERT_SAVED_VECTOR_REGISTERS();
  6356. if (*outLen < 512) {
  6357. err = MP_TO_E;
  6358. }
  6359. else if (mp_count_bits(em) > 64 || inLen > 512 ||
  6360. mp_count_bits(mm) != 4096) {
  6361. err = MP_READ_E;
  6362. }
  6363. else if (mp_iseven(mm)) {
  6364. err = MP_VAL;
  6365. }
  6366. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6367. if (err == MP_OKAY) {
  6368. a = (sp_digit*)XMALLOC(sizeof(sp_digit) * 64 * 5, NULL,
  6369. DYNAMIC_TYPE_RSA);
  6370. if (a == NULL)
  6371. err = MEMORY_E;
  6372. }
  6373. #endif
  6374. if (err == MP_OKAY) {
  6375. r = a + 64 * 2;
  6376. m = r + 64 * 2;
  6377. ah = a + 64;
  6378. sp_4096_from_bin(ah, 64, in, inLen);
  6379. #if DIGIT_BIT >= 64
  6380. e = em->dp[0];
  6381. #else
  6382. e = em->dp[0];
  6383. if (em->used > 1)
  6384. e |= ((sp_digit)em->dp[1]) << DIGIT_BIT;
  6385. #endif
  6386. if (e == 0)
  6387. err = MP_EXPTMOD_E;
  6388. }
  6389. if (err == MP_OKAY) {
  6390. sp_4096_from_mp(m, 64, mm);
  6391. if (e == 0x10001) {
  6392. int i;
  6393. sp_digit mp;
  6394. sp_4096_mont_setup(m, &mp);
  6395. /* Convert to Montgomery form. */
  6396. XMEMSET(a, 0, sizeof(sp_digit) * 64);
  6397. err = sp_4096_mod_64_cond(r, a, m);
  6398. /* Montgomery form: r = a.R mod m */
  6399. if (err == MP_OKAY) {
  6400. /* r = a ^ 0x10000 => r = a squared 16 times */
  6401. #ifdef HAVE_INTEL_AVX2
  6402. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  6403. for (i = 15; i >= 0; i--) {
  6404. sp_4096_mont_sqr_avx2_64(r, r, m, mp);
  6405. }
  6406. /* mont_red(r.R.R) = (r.R.R / R) mod m = r.R mod m
  6407. * mont_red(r.R * a) = (r.R.a / R) mod m = r.a mod m
  6408. */
  6409. sp_4096_mont_mul_avx2_64(r, r, ah, m, mp);
  6410. }
  6411. else
  6412. #endif
  6413. {
  6414. for (i = 15; i >= 0; i--) {
  6415. sp_4096_mont_sqr_64(r, r, m, mp);
  6416. }
  6417. /* mont_red(r.R.R) = (r.R.R / R) mod m = r.R mod m
  6418. * mont_red(r.R * a) = (r.R.a / R) mod m = r.a mod m
  6419. */
  6420. sp_4096_mont_mul_64(r, r, ah, m, mp);
  6421. }
  6422. for (i = 63; i > 0; i--) {
  6423. if (r[i] != m[i])
  6424. break;
  6425. }
  6426. if (r[i] >= m[i])
  6427. sp_4096_sub_in_place_64(r, m);
  6428. }
  6429. }
  6430. else if (e == 0x3) {
  6431. #ifdef HAVE_INTEL_AVX2
  6432. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  6433. if (err == MP_OKAY) {
  6434. sp_4096_sqr_avx2_64(r, ah);
  6435. err = sp_4096_mod_64_cond(r, r, m);
  6436. }
  6437. if (err == MP_OKAY) {
  6438. sp_4096_mul_avx2_64(r, ah, r);
  6439. err = sp_4096_mod_64_cond(r, r, m);
  6440. }
  6441. }
  6442. else
  6443. #endif
  6444. {
  6445. if (err == MP_OKAY) {
  6446. sp_4096_sqr_64(r, ah);
  6447. err = sp_4096_mod_64_cond(r, r, m);
  6448. }
  6449. if (err == MP_OKAY) {
  6450. sp_4096_mul_64(r, ah, r);
  6451. err = sp_4096_mod_64_cond(r, r, m);
  6452. }
  6453. }
  6454. }
  6455. else {
  6456. int i;
  6457. sp_digit mp;
  6458. sp_4096_mont_setup(m, &mp);
  6459. /* Convert to Montgomery form. */
  6460. XMEMSET(a, 0, sizeof(sp_digit) * 64);
  6461. err = sp_4096_mod_64_cond(a, a, m);
  6462. if (err == MP_OKAY) {
  6463. for (i=63; i>=0; i--) {
  6464. if (e >> i) {
  6465. break;
  6466. }
  6467. }
  6468. XMEMCPY(r, a, sizeof(sp_digit) * 64);
  6469. #ifdef HAVE_INTEL_AVX2
  6470. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  6471. for (i--; i>=0; i--) {
  6472. sp_4096_mont_sqr_avx2_64(r, r, m, mp);
  6473. if (((e >> i) & 1) == 1) {
  6474. sp_4096_mont_mul_avx2_64(r, r, a, m, mp);
  6475. }
  6476. }
  6477. XMEMSET(&r[64], 0, sizeof(sp_digit) * 64);
  6478. sp_4096_mont_reduce_avx2_64(r, m, mp);
  6479. }
  6480. else
  6481. #endif
  6482. {
  6483. for (i--; i>=0; i--) {
  6484. sp_4096_mont_sqr_64(r, r, m, mp);
  6485. if (((e >> i) & 1) == 1) {
  6486. sp_4096_mont_mul_64(r, r, a, m, mp);
  6487. }
  6488. }
  6489. XMEMSET(&r[64], 0, sizeof(sp_digit) * 64);
  6490. sp_4096_mont_reduce_64(r, m, mp);
  6491. }
  6492. for (i = 63; i > 0; i--) {
  6493. if (r[i] != m[i])
  6494. break;
  6495. }
  6496. if (r[i] >= m[i])
  6497. sp_4096_sub_in_place_64(r, m);
  6498. }
  6499. }
  6500. }
  6501. if (err == MP_OKAY) {
  6502. sp_4096_to_bin_64(r, out);
  6503. *outLen = 512;
  6504. }
  6505. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6506. if (a != NULL)
  6507. XFREE(a, NULL, DYNAMIC_TYPE_RSA);
  6508. #endif
  6509. return err;
  6510. }
  6511. #ifndef WOLFSSL_RSA_PUBLIC_ONLY
  6512. #if defined(SP_RSA_PRIVATE_EXP_D) || defined(RSA_LOW_MEM)
  6513. /* RSA private key operation.
  6514. *
  6515. * in Array of bytes representing the number to exponentiate, base.
  6516. * inLen Number of bytes in base.
  6517. * dm Private exponent.
  6518. * pm First prime.
  6519. * qm Second prime.
  6520. * dpm First prime's CRT exponent.
  6521. * dqm Second prime's CRT exponent.
  6522. * qim Inverse of second prime mod p.
  6523. * mm Modulus.
  6524. * out Buffer to hold big-endian bytes of exponentiation result.
  6525. * Must be at least 512 bytes long.
  6526. * outLen Number of bytes in result.
  6527. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  6528. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  6529. */
  6530. int sp_RsaPrivate_4096(const byte* in, word32 inLen, const mp_int* dm,
  6531. const mp_int* pm, const mp_int* qm,const mp_int* dpm, const mp_int* dqm,
  6532. const mp_int* qim, const mp_int* mm, byte* out, word32* outLen)
  6533. {
  6534. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6535. sp_digit* d = NULL;
  6536. #else
  6537. sp_digit d[64 * 4];
  6538. #endif
  6539. sp_digit* a;
  6540. sp_digit* m;
  6541. sp_digit* r;
  6542. int err = MP_OKAY;
  6543. ASSERT_SAVED_VECTOR_REGISTERS();
  6544. (void)pm;
  6545. (void)qm;
  6546. (void)dpm;
  6547. (void)dqm;
  6548. (void)qim;
  6549. if (*outLen < 512U) {
  6550. err = MP_TO_E;
  6551. }
  6552. if (err == MP_OKAY) {
  6553. if (mp_count_bits(dm) > 4096) {
  6554. err = MP_READ_E;
  6555. }
  6556. else if (inLen > 512U) {
  6557. err = MP_READ_E;
  6558. }
  6559. else if (mp_count_bits(mm) != 4096) {
  6560. err = MP_READ_E;
  6561. }
  6562. else if (mp_iseven(mm)) {
  6563. err = MP_VAL;
  6564. }
  6565. }
  6566. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6567. if (err == MP_OKAY) {
  6568. d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 64 * 4, NULL,
  6569. DYNAMIC_TYPE_RSA);
  6570. if (d == NULL) {
  6571. err = MEMORY_E;
  6572. }
  6573. }
  6574. #endif
  6575. if (err == MP_OKAY) {
  6576. a = d + 64;
  6577. m = a + 128;
  6578. r = a;
  6579. sp_4096_from_bin(a, 64, in, inLen);
  6580. sp_4096_from_mp(d, 64, dm);
  6581. sp_4096_from_mp(m, 64, mm);
  6582. err = sp_4096_mod_exp_64(r, a, d, 4096, m, 0);
  6583. }
  6584. if (err == MP_OKAY) {
  6585. sp_4096_to_bin_64(r, out);
  6586. *outLen = 512;
  6587. }
  6588. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6589. if (d != NULL)
  6590. #endif
  6591. {
  6592. /* only zeroing private "d" */
  6593. ForceZero(d, sizeof(sp_digit) * 64);
  6594. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6595. XFREE(d, NULL, DYNAMIC_TYPE_RSA);
  6596. #endif
  6597. }
  6598. return err;
  6599. }
  6600. #else
  6601. #ifdef __cplusplus
  6602. extern "C" {
  6603. #endif
  6604. extern sp_digit sp_4096_cond_add_32(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  6605. #ifdef __cplusplus
  6606. }
  6607. #endif
  6608. #ifdef __cplusplus
  6609. extern "C" {
  6610. #endif
  6611. extern sp_digit sp_4096_cond_add_avx2_32(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  6612. #ifdef __cplusplus
  6613. }
  6614. #endif
  6615. /* RSA private key operation.
  6616. *
  6617. * in Array of bytes representing the number to exponentiate, base.
  6618. * inLen Number of bytes in base.
  6619. * dm Private exponent.
  6620. * pm First prime.
  6621. * qm Second prime.
  6622. * dpm First prime's CRT exponent.
  6623. * dqm Second prime's CRT exponent.
  6624. * qim Inverse of second prime mod p.
  6625. * mm Modulus.
  6626. * out Buffer to hold big-endian bytes of exponentiation result.
  6627. * Must be at least 512 bytes long.
  6628. * outLen Number of bytes in result.
  6629. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  6630. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  6631. */
  6632. int sp_RsaPrivate_4096(const byte* in, word32 inLen, const mp_int* dm,
  6633. const mp_int* pm, const mp_int* qm, const mp_int* dpm, const mp_int* dqm,
  6634. const mp_int* qim, const mp_int* mm, byte* out, word32* outLen)
  6635. {
  6636. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6637. sp_digit* a = NULL;
  6638. #else
  6639. sp_digit a[32 * 11];
  6640. #endif
  6641. sp_digit* p;
  6642. sp_digit* q;
  6643. sp_digit* dp;
  6644. sp_digit* dq;
  6645. sp_digit* qi;
  6646. sp_digit* tmpa;
  6647. sp_digit* tmpb;
  6648. sp_digit* r;
  6649. sp_digit c;
  6650. int err = MP_OKAY;
  6651. #ifdef HAVE_INTEL_AVX2
  6652. word32 cpuid_flags = cpuid_get_flags();
  6653. #endif
  6654. ASSERT_SAVED_VECTOR_REGISTERS();
  6655. (void)dm;
  6656. (void)mm;
  6657. if (*outLen < 512) {
  6658. err = MP_TO_E;
  6659. }
  6660. else if (inLen > 512 || mp_count_bits(mm) != 4096) {
  6661. err = MP_READ_E;
  6662. }
  6663. else if (mp_iseven(mm)) {
  6664. err = MP_VAL;
  6665. }
  6666. else if (mp_iseven(pm)) {
  6667. err = MP_VAL;
  6668. }
  6669. else if (mp_iseven(qm)) {
  6670. err = MP_VAL;
  6671. }
  6672. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6673. if (err == MP_OKAY) {
  6674. a = (sp_digit*)XMALLOC(sizeof(sp_digit) * 32 * 11, NULL,
  6675. DYNAMIC_TYPE_RSA);
  6676. if (a == NULL)
  6677. err = MEMORY_E;
  6678. }
  6679. #endif
  6680. if (err == MP_OKAY) {
  6681. p = a + 64 * 2;
  6682. q = p + 32;
  6683. qi = dq = dp = q + 32;
  6684. tmpa = qi + 32;
  6685. tmpb = tmpa + 64;
  6686. r = a + 64;
  6687. sp_4096_from_bin(a, 64, in, inLen);
  6688. sp_4096_from_mp(p, 32, pm);
  6689. sp_4096_from_mp(q, 32, qm);
  6690. sp_4096_from_mp(dp, 32, dpm);
  6691. #ifdef HAVE_INTEL_AVX2
  6692. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  6693. err = sp_2048_mod_exp_avx2_32(tmpa, a, dp, 2048, p, 1);
  6694. else
  6695. #endif
  6696. err = sp_2048_mod_exp_32(tmpa, a, dp, 2048, p, 1);
  6697. }
  6698. if (err == MP_OKAY) {
  6699. sp_4096_from_mp(dq, 32, dqm);
  6700. #ifdef HAVE_INTEL_AVX2
  6701. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  6702. err = sp_2048_mod_exp_avx2_32(tmpb, a, dq, 2048, q, 1);
  6703. else
  6704. #endif
  6705. err = sp_2048_mod_exp_32(tmpb, a, dq, 2048, q, 1);
  6706. }
  6707. if (err == MP_OKAY) {
  6708. c = sp_2048_sub_in_place_32(tmpa, tmpb);
  6709. #ifdef HAVE_INTEL_AVX2
  6710. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  6711. c += sp_4096_cond_add_avx2_32(tmpa, tmpa, p, c);
  6712. sp_4096_cond_add_avx2_32(tmpa, tmpa, p, c);
  6713. }
  6714. else
  6715. #endif
  6716. {
  6717. c += sp_4096_cond_add_32(tmpa, tmpa, p, c);
  6718. sp_4096_cond_add_32(tmpa, tmpa, p, c);
  6719. }
  6720. sp_2048_from_mp(qi, 32, qim);
  6721. #ifdef HAVE_INTEL_AVX2
  6722. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  6723. sp_2048_mul_avx2_32(tmpa, tmpa, qi);
  6724. }
  6725. else
  6726. #endif
  6727. {
  6728. sp_2048_mul_32(tmpa, tmpa, qi);
  6729. }
  6730. err = sp_2048_mod_32(tmpa, tmpa, p);
  6731. }
  6732. if (err == MP_OKAY) {
  6733. #ifdef HAVE_INTEL_AVX2
  6734. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  6735. sp_2048_mul_avx2_32(tmpa, q, tmpa);
  6736. }
  6737. else
  6738. #endif
  6739. {
  6740. sp_2048_mul_32(tmpa, q, tmpa);
  6741. }
  6742. XMEMSET(&tmpb[32], 0, sizeof(sp_digit) * 32);
  6743. sp_4096_add_64(r, tmpb, tmpa);
  6744. sp_4096_to_bin_64(r, out);
  6745. *outLen = 512;
  6746. }
  6747. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6748. if (a != NULL)
  6749. #endif
  6750. {
  6751. ForceZero(a, sizeof(sp_digit) * 32 * 11);
  6752. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6753. XFREE(a, NULL, DYNAMIC_TYPE_RSA);
  6754. #endif
  6755. }
  6756. return err;
  6757. }
  6758. #endif /* SP_RSA_PRIVATE_EXP_D | RSA_LOW_MEM */
  6759. #endif /* WOLFSSL_RSA_PUBLIC_ONLY */
  6760. #endif /* WOLFSSL_HAVE_SP_RSA */
  6761. #if defined(WOLFSSL_HAVE_SP_DH) || (defined(WOLFSSL_HAVE_SP_RSA) && \
  6762. !defined(WOLFSSL_RSA_PUBLIC_ONLY))
  6763. /* Convert an array of sp_digit to an mp_int.
  6764. *
  6765. * a A single precision integer.
  6766. * r A multi-precision integer.
  6767. */
  6768. static int sp_4096_to_mp(const sp_digit* a, mp_int* r)
  6769. {
  6770. int err;
  6771. err = mp_grow(r, (4096 + DIGIT_BIT - 1) / DIGIT_BIT);
  6772. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  6773. #if DIGIT_BIT == 64
  6774. XMEMCPY(r->dp, a, sizeof(sp_digit) * 64);
  6775. r->used = 64;
  6776. mp_clamp(r);
  6777. #elif DIGIT_BIT < 64
  6778. int i;
  6779. int j = 0;
  6780. int s = 0;
  6781. r->dp[0] = 0;
  6782. for (i = 0; i < 64; i++) {
  6783. r->dp[j] |= (mp_digit)(a[i] << s);
  6784. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  6785. s = DIGIT_BIT - s;
  6786. r->dp[++j] = (mp_digit)(a[i] >> s);
  6787. while (s + DIGIT_BIT <= 64) {
  6788. s += DIGIT_BIT;
  6789. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  6790. if (s == SP_WORD_SIZE) {
  6791. r->dp[j] = 0;
  6792. }
  6793. else {
  6794. r->dp[j] = (mp_digit)(a[i] >> s);
  6795. }
  6796. }
  6797. s = 64 - s;
  6798. }
  6799. r->used = (4096 + DIGIT_BIT - 1) / DIGIT_BIT;
  6800. mp_clamp(r);
  6801. #else
  6802. int i;
  6803. int j = 0;
  6804. int s = 0;
  6805. r->dp[0] = 0;
  6806. for (i = 0; i < 64; i++) {
  6807. r->dp[j] |= ((mp_digit)a[i]) << s;
  6808. if (s + 64 >= DIGIT_BIT) {
  6809. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  6810. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  6811. #endif
  6812. s = DIGIT_BIT - s;
  6813. r->dp[++j] = a[i] >> s;
  6814. s = 64 - s;
  6815. }
  6816. else {
  6817. s += 64;
  6818. }
  6819. }
  6820. r->used = (4096 + DIGIT_BIT - 1) / DIGIT_BIT;
  6821. mp_clamp(r);
  6822. #endif
  6823. }
  6824. return err;
  6825. }
  6826. /* Perform the modular exponentiation for Diffie-Hellman.
  6827. *
  6828. * base Base. MP integer.
  6829. * exp Exponent. MP integer.
  6830. * mod Modulus. MP integer.
  6831. * res Result. MP integer.
  6832. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  6833. * and MEMORY_E if memory allocation fails.
  6834. */
  6835. int sp_ModExp_4096(const mp_int* base, const mp_int* exp, const mp_int* mod,
  6836. mp_int* res)
  6837. {
  6838. int err = MP_OKAY;
  6839. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6840. sp_digit *b = NULL;
  6841. sp_digit *e = NULL;
  6842. sp_digit *m = NULL;
  6843. sp_digit* r;
  6844. #else
  6845. sp_digit b[128];
  6846. sp_digit e[64];
  6847. sp_digit m[64];
  6848. sp_digit* r = b;
  6849. #endif
  6850. #ifdef HAVE_INTEL_AVX2
  6851. word32 cpuid_flags = cpuid_get_flags();
  6852. #endif
  6853. int expBits = mp_count_bits(exp);
  6854. ASSERT_SAVED_VECTOR_REGISTERS();
  6855. if (mp_count_bits(base) > 4096 || expBits > 4096 ||
  6856. mp_count_bits(mod) != 4096) {
  6857. err = MP_READ_E;
  6858. }
  6859. else if (mp_iseven(mod)) {
  6860. err = MP_VAL;
  6861. }
  6862. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6863. if (err == MP_OKAY) {
  6864. if (((b = (sp_digit *)XMALLOC(128 * sizeof(*b), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  6865. ((e = (sp_digit *)XMALLOC(64 * sizeof(*e), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  6866. ((m = (sp_digit *)XMALLOC(64 * sizeof(*m), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL))
  6867. {
  6868. err = MEMORY_E;
  6869. } else {
  6870. r = b;
  6871. }
  6872. }
  6873. #endif
  6874. if (err == MP_OKAY) {
  6875. sp_4096_from_mp(b, 64, base);
  6876. sp_4096_from_mp(e, 64, exp);
  6877. sp_4096_from_mp(m, 64, mod);
  6878. #ifdef HAVE_INTEL_AVX2
  6879. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  6880. err = sp_4096_mod_exp_avx2_64(r, b, e, expBits, m, 0);
  6881. else
  6882. #endif
  6883. err = sp_4096_mod_exp_64(r, b, e, expBits, m, 0);
  6884. }
  6885. if (err == MP_OKAY) {
  6886. err = sp_4096_to_mp(r, res);
  6887. }
  6888. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6889. if (b != NULL)
  6890. XFREE(b, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  6891. if (e != NULL) {
  6892. XMEMSET(e, 0, 64);
  6893. XFREE(e, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  6894. }
  6895. if (m != NULL)
  6896. XFREE(m, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  6897. #else
  6898. XMEMSET(e, 0, sizeof(e));
  6899. #endif
  6900. return err;
  6901. }
  6902. #ifdef WOLFSSL_HAVE_SP_DH
  6903. #ifdef HAVE_FFDHE_4096
  6904. #ifdef __cplusplus
  6905. extern "C" {
  6906. #endif
  6907. extern void sp_4096_lshift_64(sp_digit* r, const sp_digit* a, int n);
  6908. #ifdef __cplusplus
  6909. }
  6910. #endif
  6911. #ifdef HAVE_INTEL_AVX2
  6912. /* Modular exponentiate 2 to the e mod m. (r = 2^e mod m)
  6913. *
  6914. * r A single precision number that is the result of the operation.
  6915. * e A single precision number that is the exponent.
  6916. * bits The number of bits in the exponent.
  6917. * m A single precision number that is the modulus.
  6918. * returns 0 on success.
  6919. * returns MEMORY_E on dynamic memory allocation failure.
  6920. * returns MP_VAL when base is even.
  6921. */
  6922. static int sp_4096_mod_exp_2_avx2_64(sp_digit* r, const sp_digit* e, int bits,
  6923. const sp_digit* m)
  6924. {
  6925. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6926. sp_digit* td = NULL;
  6927. #else
  6928. sp_digit td[65 + 128];
  6929. #endif
  6930. sp_digit* norm;
  6931. sp_digit* tmp;
  6932. sp_digit mp = 1;
  6933. sp_digit n;
  6934. sp_digit o;
  6935. sp_digit mask;
  6936. int i;
  6937. int c;
  6938. byte y;
  6939. int err = MP_OKAY;
  6940. ASSERT_SAVED_VECTOR_REGISTERS();
  6941. if (bits == 0) {
  6942. err = MP_VAL;
  6943. }
  6944. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6945. if (err == MP_OKAY) {
  6946. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (65 + 128), NULL,
  6947. DYNAMIC_TYPE_TMP_BUFFER);
  6948. if (td == NULL) {
  6949. err = MEMORY_E;
  6950. }
  6951. }
  6952. #endif
  6953. if (err == MP_OKAY) {
  6954. norm = td;
  6955. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6956. tmp = td + 128;
  6957. #else
  6958. tmp = &td[128];
  6959. #endif
  6960. sp_4096_mont_setup(m, &mp);
  6961. sp_4096_mont_norm_64(norm, m);
  6962. i = (bits - 1) / 64;
  6963. n = e[i--];
  6964. /* Number of bits available in top word. */
  6965. c = bits & 63;
  6966. if (c == 0) {
  6967. c = 64;
  6968. }
  6969. /* Minus the number of top bits to use so rest is a multiple of 6. */
  6970. if ((bits % 6) == 0) {
  6971. c -= 6;
  6972. }
  6973. else {
  6974. c -= bits % 6;
  6975. }
  6976. if (c < 0) {
  6977. /* Number of bits in top word is less than number needed. */
  6978. c = -c;
  6979. y = (byte)(n << c);
  6980. n = e[i--];
  6981. y |= (byte)(n >> (64 - c));
  6982. n <<= c;
  6983. c = 64 - c;
  6984. }
  6985. else if (c == 0) {
  6986. /* All bits in top word used. */
  6987. y = (byte)n;
  6988. }
  6989. else {
  6990. y = (byte)(n >> c);
  6991. n <<= 64 - c;
  6992. }
  6993. sp_4096_lshift_64(r, norm, y);
  6994. while ((i >= 0) || (c >= 6)) {
  6995. if (c == 0) {
  6996. n = e[i--];
  6997. y = (byte)(n >> 58);
  6998. n <<= 6;
  6999. c = 58;
  7000. }
  7001. else if (c < 6) {
  7002. y = (byte)(n >> 58);
  7003. n = e[i--];
  7004. c = 6 - c;
  7005. y |= (byte)(n >> (64 - c));
  7006. n <<= c;
  7007. c = 64 - c;
  7008. }
  7009. else {
  7010. y = (byte)((n >> 58) & 0x3f);
  7011. n <<= 6;
  7012. c -= 6;
  7013. }
  7014. sp_4096_mont_sqr_avx2_64(r, r, m, mp);
  7015. sp_4096_mont_sqr_avx2_64(r, r, m, mp);
  7016. sp_4096_mont_sqr_avx2_64(r, r, m, mp);
  7017. sp_4096_mont_sqr_avx2_64(r, r, m, mp);
  7018. sp_4096_mont_sqr_avx2_64(r, r, m, mp);
  7019. sp_4096_mont_sqr_avx2_64(r, r, m, mp);
  7020. sp_4096_lshift_64(r, r, y);
  7021. sp_4096_mul_d_avx2_64(tmp, norm, r[64]);
  7022. r[64] = 0;
  7023. o = sp_4096_add_64(r, r, tmp);
  7024. sp_4096_cond_sub_avx2_64(r, r, m, (sp_digit)0 - o);
  7025. }
  7026. XMEMSET(&r[64], 0, sizeof(sp_digit) * 64);
  7027. sp_4096_mont_reduce_avx2_64(r, m, mp);
  7028. mask = 0 - (sp_4096_cmp_64(r, m) >= 0);
  7029. sp_4096_cond_sub_avx2_64(r, r, m, mask);
  7030. }
  7031. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  7032. if (td != NULL)
  7033. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  7034. #endif
  7035. return err;
  7036. }
  7037. #endif /* HAVE_INTEL_AVX2 */
  7038. /* Modular exponentiate 2 to the e mod m. (r = 2^e mod m)
  7039. *
  7040. * r A single precision number that is the result of the operation.
  7041. * e A single precision number that is the exponent.
  7042. * bits The number of bits in the exponent.
  7043. * m A single precision number that is the modulus.
  7044. * returns 0 on success.
  7045. * returns MEMORY_E on dynamic memory allocation failure.
  7046. * returns MP_VAL when base is even.
  7047. */
  7048. static int sp_4096_mod_exp_2_64(sp_digit* r, const sp_digit* e, int bits,
  7049. const sp_digit* m)
  7050. {
  7051. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  7052. sp_digit* td = NULL;
  7053. #else
  7054. sp_digit td[65 + 128];
  7055. #endif
  7056. sp_digit* norm;
  7057. sp_digit* tmp;
  7058. sp_digit mp = 1;
  7059. sp_digit n;
  7060. sp_digit o;
  7061. sp_digit mask;
  7062. int i;
  7063. int c;
  7064. byte y;
  7065. int err = MP_OKAY;
  7066. ASSERT_SAVED_VECTOR_REGISTERS();
  7067. if (bits == 0) {
  7068. err = MP_VAL;
  7069. }
  7070. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  7071. if (err == MP_OKAY) {
  7072. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (65 + 128), NULL,
  7073. DYNAMIC_TYPE_TMP_BUFFER);
  7074. if (td == NULL) {
  7075. err = MEMORY_E;
  7076. }
  7077. }
  7078. #endif
  7079. if (err == MP_OKAY) {
  7080. norm = td;
  7081. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  7082. tmp = td + 128;
  7083. #else
  7084. tmp = &td[128];
  7085. #endif
  7086. sp_4096_mont_setup(m, &mp);
  7087. sp_4096_mont_norm_64(norm, m);
  7088. i = (bits - 1) / 64;
  7089. n = e[i--];
  7090. /* Number of bits available in top word. */
  7091. c = bits & 63;
  7092. if (c == 0) {
  7093. c = 64;
  7094. }
  7095. /* Minus the number of top bits to use so rest is a multiple of 6. */
  7096. if ((bits % 6) == 0) {
  7097. c -= 6;
  7098. }
  7099. else {
  7100. c -= bits % 6;
  7101. }
  7102. if (c < 0) {
  7103. /* Number of bits in top word is less than number needed. */
  7104. c = -c;
  7105. y = (byte)(n << c);
  7106. n = e[i--];
  7107. y |= (byte)(n >> (64 - c));
  7108. n <<= c;
  7109. c = 64 - c;
  7110. }
  7111. else if (c == 0) {
  7112. /* All bits in top word used. */
  7113. y = (byte)n;
  7114. }
  7115. else {
  7116. y = (byte)(n >> c);
  7117. n <<= 64 - c;
  7118. }
  7119. sp_4096_lshift_64(r, norm, y);
  7120. while ((i >= 0) || (c >= 6)) {
  7121. if (c == 0) {
  7122. n = e[i--];
  7123. y = (byte)(n >> 58);
  7124. n <<= 6;
  7125. c = 58;
  7126. }
  7127. else if (c < 6) {
  7128. y = (byte)(n >> 58);
  7129. n = e[i--];
  7130. c = 6 - c;
  7131. y |= (byte)(n >> (64 - c));
  7132. n <<= c;
  7133. c = 64 - c;
  7134. }
  7135. else {
  7136. y = (byte)((n >> 58) & 0x3f);
  7137. n <<= 6;
  7138. c -= 6;
  7139. }
  7140. sp_4096_mont_sqr_64(r, r, m, mp);
  7141. sp_4096_mont_sqr_64(r, r, m, mp);
  7142. sp_4096_mont_sqr_64(r, r, m, mp);
  7143. sp_4096_mont_sqr_64(r, r, m, mp);
  7144. sp_4096_mont_sqr_64(r, r, m, mp);
  7145. sp_4096_mont_sqr_64(r, r, m, mp);
  7146. sp_4096_lshift_64(r, r, y);
  7147. sp_4096_mul_d_64(tmp, norm, r[64]);
  7148. r[64] = 0;
  7149. o = sp_4096_add_64(r, r, tmp);
  7150. sp_4096_cond_sub_64(r, r, m, (sp_digit)0 - o);
  7151. }
  7152. XMEMSET(&r[64], 0, sizeof(sp_digit) * 64);
  7153. sp_4096_mont_reduce_64(r, m, mp);
  7154. mask = 0 - (sp_4096_cmp_64(r, m) >= 0);
  7155. sp_4096_cond_sub_64(r, r, m, mask);
  7156. }
  7157. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  7158. if (td != NULL)
  7159. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  7160. #endif
  7161. return err;
  7162. }
  7163. #endif /* HAVE_FFDHE_4096 */
  7164. /* Perform the modular exponentiation for Diffie-Hellman.
  7165. *
  7166. * base Base.
  7167. * exp Array of bytes that is the exponent.
  7168. * expLen Length of data, in bytes, in exponent.
  7169. * mod Modulus.
  7170. * out Buffer to hold big-endian bytes of exponentiation result.
  7171. * Must be at least 512 bytes long.
  7172. * outLen Length, in bytes, of exponentiation result.
  7173. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  7174. * and MEMORY_E if memory allocation fails.
  7175. */
  7176. int sp_DhExp_4096(const mp_int* base, const byte* exp, word32 expLen,
  7177. const mp_int* mod, byte* out, word32* outLen)
  7178. {
  7179. int err = MP_OKAY;
  7180. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  7181. sp_digit *b = NULL;
  7182. sp_digit *e = NULL;
  7183. sp_digit *m = NULL;
  7184. sp_digit* r;
  7185. #else
  7186. sp_digit b[128];
  7187. sp_digit e[64];
  7188. sp_digit m[64];
  7189. sp_digit* r = b;
  7190. #endif
  7191. word32 i;
  7192. #ifdef HAVE_INTEL_AVX2
  7193. word32 cpuid_flags = cpuid_get_flags();
  7194. #endif
  7195. ASSERT_SAVED_VECTOR_REGISTERS();
  7196. if (mp_count_bits(base) > 4096 || expLen > 512 ||
  7197. mp_count_bits(mod) != 4096) {
  7198. err = MP_READ_E;
  7199. }
  7200. else if (mp_iseven(mod)) {
  7201. err = MP_VAL;
  7202. }
  7203. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  7204. if (err == MP_OKAY) {
  7205. if (((b = (sp_digit *)XMALLOC(128 * sizeof(*b), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  7206. ((e = (sp_digit *)XMALLOC(64 * sizeof(*e), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL) ||
  7207. ((m = (sp_digit *)XMALLOC(64 * sizeof(*m), NULL, DYNAMIC_TYPE_TMP_BUFFER)) == NULL))
  7208. {
  7209. err = MEMORY_E;
  7210. } else {
  7211. r = b;
  7212. }
  7213. }
  7214. #endif
  7215. if (err == MP_OKAY) {
  7216. sp_4096_from_mp(b, 64, base);
  7217. sp_4096_from_bin(e, 64, exp, expLen);
  7218. sp_4096_from_mp(m, 64, mod);
  7219. #ifdef HAVE_FFDHE_4096
  7220. if (base->used == 1 && base->dp[0] == 2 && m[63] == (sp_digit)-1) {
  7221. #ifdef HAVE_INTEL_AVX2
  7222. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  7223. err = sp_4096_mod_exp_2_avx2_64(r, e, expLen * 8, m);
  7224. else
  7225. #endif
  7226. err = sp_4096_mod_exp_2_64(r, e, expLen * 8, m);
  7227. }
  7228. else
  7229. #endif
  7230. {
  7231. #ifdef HAVE_INTEL_AVX2
  7232. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  7233. err = sp_4096_mod_exp_avx2_64(r, b, e, expLen * 8, m, 0);
  7234. else
  7235. #endif
  7236. err = sp_4096_mod_exp_64(r, b, e, expLen * 8, m, 0);
  7237. }
  7238. }
  7239. if (err == MP_OKAY) {
  7240. sp_4096_to_bin_64(r, out);
  7241. *outLen = 512;
  7242. for (i=0; i<512 && out[i] == 0; i++) {
  7243. /* Search for first non-zero. */
  7244. }
  7245. *outLen -= i;
  7246. XMEMMOVE(out, out + i, *outLen);
  7247. }
  7248. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  7249. if (b != NULL)
  7250. XFREE(b, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  7251. if (e != NULL) {
  7252. XMEMSET(e, 0, 64);
  7253. XFREE(e, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  7254. }
  7255. if (m != NULL)
  7256. XFREE(m, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  7257. #else
  7258. XMEMSET(e, 0, sizeof(e));
  7259. #endif
  7260. return err;
  7261. }
  7262. #endif
  7263. #endif /* WOLFSSL_HAVE_SP_DH | (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) */
  7264. #endif /* WOLFSSL_SP_4096 */
  7265. #endif /* WOLFSSL_HAVE_SP_RSA | WOLFSSL_HAVE_SP_DH */
  7266. #ifdef WOLFSSL_HAVE_SP_ECC
  7267. #ifndef WOLFSSL_SP_NO_256
  7268. /* Point structure to use. */
  7269. typedef struct sp_point_256 {
  7270. /* X ordinate of point. */
  7271. sp_digit x[2 * 4];
  7272. /* Y ordinate of point. */
  7273. sp_digit y[2 * 4];
  7274. /* Z ordinate of point. */
  7275. sp_digit z[2 * 4];
  7276. /* Indicates point is at infinity. */
  7277. int infinity;
  7278. } sp_point_256;
  7279. /* The modulus (prime) of the curve P256. */
  7280. static const sp_digit p256_mod[4] = {
  7281. 0xffffffffffffffffL,0x00000000ffffffffL,0x0000000000000000L,
  7282. 0xffffffff00000001L
  7283. };
  7284. /* The Montgomery normalizer for modulus of the curve P256. */
  7285. static const sp_digit p256_norm_mod[4] = {
  7286. 0x0000000000000001L,0xffffffff00000000L,0xffffffffffffffffL,
  7287. 0x00000000fffffffeL
  7288. };
  7289. /* The Montgomery multiplier for modulus of the curve P256. */
  7290. static const sp_digit p256_mp_mod = 0x0000000000000001;
  7291. #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \
  7292. defined(HAVE_ECC_VERIFY)
  7293. /* The order of the curve P256. */
  7294. static const sp_digit p256_order[4] = {
  7295. 0xf3b9cac2fc632551L,0xbce6faada7179e84L,0xffffffffffffffffL,
  7296. 0xffffffff00000000L
  7297. };
  7298. #endif
  7299. /* The order of the curve P256 minus 2. */
  7300. static const sp_digit p256_order2[4] = {
  7301. 0xf3b9cac2fc63254fL,0xbce6faada7179e84L,0xffffffffffffffffL,
  7302. 0xffffffff00000000L
  7303. };
  7304. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  7305. /* The Montgomery normalizer for order of the curve P256. */
  7306. static const sp_digit p256_norm_order[4] = {
  7307. 0x0c46353d039cdaafL,0x4319055258e8617bL,0x0000000000000000L,
  7308. 0x00000000ffffffffL
  7309. };
  7310. #endif
  7311. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  7312. /* The Montgomery multiplier for order of the curve P256. */
  7313. static const sp_digit p256_mp_order = 0xccd1c8aaee00bc4fL;
  7314. #endif
  7315. #ifdef WOLFSSL_SP_SMALL
  7316. /* The base point of curve P256. */
  7317. static const sp_point_256 p256_base = {
  7318. /* X ordinate */
  7319. {
  7320. 0xf4a13945d898c296L,0x77037d812deb33a0L,0xf8bce6e563a440f2L,
  7321. 0x6b17d1f2e12c4247L,
  7322. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0
  7323. },
  7324. /* Y ordinate */
  7325. {
  7326. 0xcbb6406837bf51f5L,0x2bce33576b315eceL,0x8ee7eb4a7c0f9e16L,
  7327. 0x4fe342e2fe1a7f9bL,
  7328. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0
  7329. },
  7330. /* Z ordinate */
  7331. {
  7332. 0x0000000000000001L,0x0000000000000000L,0x0000000000000000L,
  7333. 0x0000000000000000L,
  7334. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0
  7335. },
  7336. /* infinity */
  7337. 0
  7338. };
  7339. #endif /* WOLFSSL_SP_SMALL */
  7340. #if defined(HAVE_ECC_CHECK_KEY) || defined(HAVE_COMP_KEY)
  7341. static const sp_digit p256_b[4] = {
  7342. 0x3bce3c3e27d2604bL,0x651d06b0cc53b0f6L,0xb3ebbd55769886bcL,
  7343. 0x5ac635d8aa3a93e7L
  7344. };
  7345. #endif
  7346. #ifdef __cplusplus
  7347. extern "C" {
  7348. #endif
  7349. extern void sp_256_mul_4(sp_digit* r, const sp_digit* a, const sp_digit* b);
  7350. #ifdef __cplusplus
  7351. }
  7352. #endif
  7353. #ifdef HAVE_INTEL_AVX2
  7354. #ifdef __cplusplus
  7355. extern "C" {
  7356. #endif
  7357. extern void sp_256_mul_avx2_4(sp_digit* r, const sp_digit* a, const sp_digit* b);
  7358. #ifdef __cplusplus
  7359. }
  7360. #endif
  7361. #endif /* HAVE_INTEL_AVX2 */
  7362. #ifdef __cplusplus
  7363. extern "C" {
  7364. #endif
  7365. extern void sp_256_sqr_4(sp_digit* r, const sp_digit* a);
  7366. #ifdef __cplusplus
  7367. }
  7368. #endif
  7369. #ifdef HAVE_INTEL_AVX2
  7370. #ifdef __cplusplus
  7371. extern "C" {
  7372. #endif
  7373. extern void sp_256_sqr_avx2_4(sp_digit* r, const sp_digit* a);
  7374. #ifdef __cplusplus
  7375. }
  7376. #endif
  7377. #endif /* HAVE_INTEL_AVX2 */
  7378. #ifdef __cplusplus
  7379. extern "C" {
  7380. #endif
  7381. extern sp_digit sp_256_add_4(sp_digit* r, const sp_digit* a, const sp_digit* b);
  7382. #ifdef __cplusplus
  7383. }
  7384. #endif
  7385. #ifdef __cplusplus
  7386. extern "C" {
  7387. #endif
  7388. extern sp_digit sp_256_sub_4(sp_digit* r, const sp_digit* a, const sp_digit* b);
  7389. #ifdef __cplusplus
  7390. }
  7391. #endif
  7392. /* Multiply a number by Montgomery normalizer mod modulus (prime).
  7393. *
  7394. * r The resulting Montgomery form number.
  7395. * a The number to convert.
  7396. * m The modulus (prime).
  7397. */
  7398. static int sp_256_mod_mul_norm_4(sp_digit* r, const sp_digit* a, const sp_digit* m)
  7399. {
  7400. int64_t t[8];
  7401. int64_t a32[8];
  7402. int64_t o;
  7403. ASSERT_SAVED_VECTOR_REGISTERS();
  7404. (void)m;
  7405. a32[0] = a[0] & 0xffffffff;
  7406. a32[1] = a[0] >> 32;
  7407. a32[2] = a[1] & 0xffffffff;
  7408. a32[3] = a[1] >> 32;
  7409. a32[4] = a[2] & 0xffffffff;
  7410. a32[5] = a[2] >> 32;
  7411. a32[6] = a[3] & 0xffffffff;
  7412. a32[7] = a[3] >> 32;
  7413. /* 1 1 0 -1 -1 -1 -1 0 */
  7414. t[0] = 0 + a32[0] + a32[1] - a32[3] - a32[4] - a32[5] - a32[6];
  7415. /* 0 1 1 0 -1 -1 -1 -1 */
  7416. t[1] = 0 + a32[1] + a32[2] - a32[4] - a32[5] - a32[6] - a32[7];
  7417. /* 0 0 1 1 0 -1 -1 -1 */
  7418. t[2] = 0 + a32[2] + a32[3] - a32[5] - a32[6] - a32[7];
  7419. /* -1 -1 0 2 2 1 0 -1 */
  7420. t[3] = 0 - a32[0] - a32[1] + 2 * a32[3] + 2 * a32[4] + a32[5] - a32[7];
  7421. /* 0 -1 -1 0 2 2 1 0 */
  7422. t[4] = 0 - a32[1] - a32[2] + 2 * a32[4] + 2 * a32[5] + a32[6];
  7423. /* 0 0 -1 -1 0 2 2 1 */
  7424. t[5] = 0 - a32[2] - a32[3] + 2 * a32[5] + 2 * a32[6] + a32[7];
  7425. /* -1 -1 0 0 0 1 3 2 */
  7426. t[6] = 0 - a32[0] - a32[1] + a32[5] + 3 * a32[6] + 2 * a32[7];
  7427. /* 1 0 -1 -1 -1 -1 0 3 */
  7428. t[7] = 0 + a32[0] - a32[2] - a32[3] - a32[4] - a32[5] + 3 * a32[7];
  7429. t[1] += t[0] >> 32; t[0] &= 0xffffffff;
  7430. t[2] += t[1] >> 32; t[1] &= 0xffffffff;
  7431. t[3] += t[2] >> 32; t[2] &= 0xffffffff;
  7432. t[4] += t[3] >> 32; t[3] &= 0xffffffff;
  7433. t[5] += t[4] >> 32; t[4] &= 0xffffffff;
  7434. t[6] += t[5] >> 32; t[5] &= 0xffffffff;
  7435. t[7] += t[6] >> 32; t[6] &= 0xffffffff;
  7436. o = t[7] >> 32; t[7] &= 0xffffffff;
  7437. t[0] += o;
  7438. t[3] -= o;
  7439. t[6] -= o;
  7440. t[7] += o;
  7441. t[1] += t[0] >> 32; t[0] &= 0xffffffff;
  7442. t[2] += t[1] >> 32; t[1] &= 0xffffffff;
  7443. t[3] += t[2] >> 32; t[2] &= 0xffffffff;
  7444. t[4] += t[3] >> 32; t[3] &= 0xffffffff;
  7445. t[5] += t[4] >> 32; t[4] &= 0xffffffff;
  7446. t[6] += t[5] >> 32; t[5] &= 0xffffffff;
  7447. t[7] += t[6] >> 32; t[6] &= 0xffffffff;
  7448. r[0] = (t[1] << 32) | t[0];
  7449. r[1] = (t[3] << 32) | t[2];
  7450. r[2] = (t[5] << 32) | t[4];
  7451. r[3] = (t[7] << 32) | t[6];
  7452. return MP_OKAY;
  7453. }
  7454. /* Convert an mp_int to an array of sp_digit.
  7455. *
  7456. * r A single precision integer.
  7457. * size Maximum number of bytes to convert
  7458. * a A multi-precision integer.
  7459. */
  7460. static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
  7461. {
  7462. #if DIGIT_BIT == 64
  7463. int j;
  7464. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  7465. for (j = a->used; j < size; j++) {
  7466. r[j] = 0;
  7467. }
  7468. #elif DIGIT_BIT > 64
  7469. int i;
  7470. int j = 0;
  7471. word32 s = 0;
  7472. r[0] = 0;
  7473. for (i = 0; i < a->used && j < size; i++) {
  7474. r[j] |= ((sp_digit)a->dp[i] << s);
  7475. r[j] &= 0xffffffffffffffffl;
  7476. s = 64U - s;
  7477. if (j + 1 >= size) {
  7478. break;
  7479. }
  7480. /* lint allow cast of mismatch word32 and mp_digit */
  7481. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  7482. while ((s + 64U) <= (word32)DIGIT_BIT) {
  7483. s += 64U;
  7484. r[j] &= 0xffffffffffffffffl;
  7485. if (j + 1 >= size) {
  7486. break;
  7487. }
  7488. if (s < (word32)DIGIT_BIT) {
  7489. /* lint allow cast of mismatch word32 and mp_digit */
  7490. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  7491. }
  7492. else {
  7493. r[++j] = (sp_digit)0;
  7494. }
  7495. }
  7496. s = (word32)DIGIT_BIT - s;
  7497. }
  7498. for (j++; j < size; j++) {
  7499. r[j] = 0;
  7500. }
  7501. #else
  7502. int i;
  7503. int j = 0;
  7504. int s = 0;
  7505. r[0] = 0;
  7506. for (i = 0; i < a->used && j < size; i++) {
  7507. r[j] |= ((sp_digit)a->dp[i]) << s;
  7508. if (s + DIGIT_BIT >= 64) {
  7509. r[j] &= 0xffffffffffffffffl;
  7510. if (j + 1 >= size) {
  7511. break;
  7512. }
  7513. s = 64 - s;
  7514. if (s == DIGIT_BIT) {
  7515. r[++j] = 0;
  7516. s = 0;
  7517. }
  7518. else {
  7519. r[++j] = a->dp[i] >> s;
  7520. s = DIGIT_BIT - s;
  7521. }
  7522. }
  7523. else {
  7524. s += DIGIT_BIT;
  7525. }
  7526. }
  7527. for (j++; j < size; j++) {
  7528. r[j] = 0;
  7529. }
  7530. #endif
  7531. }
  7532. /* Convert a point of type ecc_point to type sp_point_256.
  7533. *
  7534. * p Point of type sp_point_256 (result).
  7535. * pm Point of type ecc_point.
  7536. */
  7537. static void sp_256_point_from_ecc_point_4(sp_point_256* p,
  7538. const ecc_point* pm)
  7539. {
  7540. XMEMSET(p->x, 0, sizeof(p->x));
  7541. XMEMSET(p->y, 0, sizeof(p->y));
  7542. XMEMSET(p->z, 0, sizeof(p->z));
  7543. sp_256_from_mp(p->x, 4, pm->x);
  7544. sp_256_from_mp(p->y, 4, pm->y);
  7545. sp_256_from_mp(p->z, 4, pm->z);
  7546. p->infinity = 0;
  7547. }
  7548. /* Convert an array of sp_digit to an mp_int.
  7549. *
  7550. * a A single precision integer.
  7551. * r A multi-precision integer.
  7552. */
  7553. static int sp_256_to_mp(const sp_digit* a, mp_int* r)
  7554. {
  7555. int err;
  7556. err = mp_grow(r, (256 + DIGIT_BIT - 1) / DIGIT_BIT);
  7557. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  7558. #if DIGIT_BIT == 64
  7559. XMEMCPY(r->dp, a, sizeof(sp_digit) * 4);
  7560. r->used = 4;
  7561. mp_clamp(r);
  7562. #elif DIGIT_BIT < 64
  7563. int i;
  7564. int j = 0;
  7565. int s = 0;
  7566. r->dp[0] = 0;
  7567. for (i = 0; i < 4; i++) {
  7568. r->dp[j] |= (mp_digit)(a[i] << s);
  7569. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  7570. s = DIGIT_BIT - s;
  7571. r->dp[++j] = (mp_digit)(a[i] >> s);
  7572. while (s + DIGIT_BIT <= 64) {
  7573. s += DIGIT_BIT;
  7574. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  7575. if (s == SP_WORD_SIZE) {
  7576. r->dp[j] = 0;
  7577. }
  7578. else {
  7579. r->dp[j] = (mp_digit)(a[i] >> s);
  7580. }
  7581. }
  7582. s = 64 - s;
  7583. }
  7584. r->used = (256 + DIGIT_BIT - 1) / DIGIT_BIT;
  7585. mp_clamp(r);
  7586. #else
  7587. int i;
  7588. int j = 0;
  7589. int s = 0;
  7590. r->dp[0] = 0;
  7591. for (i = 0; i < 4; i++) {
  7592. r->dp[j] |= ((mp_digit)a[i]) << s;
  7593. if (s + 64 >= DIGIT_BIT) {
  7594. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  7595. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  7596. #endif
  7597. s = DIGIT_BIT - s;
  7598. r->dp[++j] = a[i] >> s;
  7599. s = 64 - s;
  7600. }
  7601. else {
  7602. s += 64;
  7603. }
  7604. }
  7605. r->used = (256 + DIGIT_BIT - 1) / DIGIT_BIT;
  7606. mp_clamp(r);
  7607. #endif
  7608. }
  7609. return err;
  7610. }
  7611. /* Convert a point of type sp_point_256 to type ecc_point.
  7612. *
  7613. * p Point of type sp_point_256.
  7614. * pm Point of type ecc_point (result).
  7615. * returns MEMORY_E when allocation of memory in ecc_point fails otherwise
  7616. * MP_OKAY.
  7617. */
  7618. static int sp_256_point_to_ecc_point_4(const sp_point_256* p, ecc_point* pm)
  7619. {
  7620. int err;
  7621. err = sp_256_to_mp(p->x, pm->x);
  7622. if (err == MP_OKAY) {
  7623. err = sp_256_to_mp(p->y, pm->y);
  7624. }
  7625. if (err == MP_OKAY) {
  7626. err = sp_256_to_mp(p->z, pm->z);
  7627. }
  7628. return err;
  7629. }
  7630. #ifdef __cplusplus
  7631. extern "C" {
  7632. #endif
  7633. extern void sp_256_cond_copy_4(sp_digit* r, const sp_digit* a, sp_digit m);
  7634. #ifdef __cplusplus
  7635. }
  7636. #endif
  7637. #ifdef __cplusplus
  7638. extern "C" {
  7639. #endif
  7640. extern void sp_256_mont_mul_4(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m, sp_digit mp);
  7641. #ifdef __cplusplus
  7642. }
  7643. #endif
  7644. #ifdef __cplusplus
  7645. extern "C" {
  7646. #endif
  7647. extern void sp_256_mont_sqr_4(sp_digit* r, const sp_digit* a, const sp_digit* m, sp_digit mp);
  7648. #ifdef __cplusplus
  7649. }
  7650. #endif
  7651. #if !defined(WOLFSSL_SP_SMALL) || defined(HAVE_COMP_KEY)
  7652. /* Square the Montgomery form number a number of times. (r = a ^ n mod m)
  7653. *
  7654. * r Result of squaring.
  7655. * a Number to square in Montgomery form.
  7656. * n Number of times to square.
  7657. * m Modulus (prime).
  7658. * mp Montgomery mulitplier.
  7659. */
  7660. static void sp_256_mont_sqr_n_4(sp_digit* r, const sp_digit* a, int n,
  7661. const sp_digit* m, sp_digit mp)
  7662. {
  7663. sp_256_mont_sqr_4(r, a, m, mp);
  7664. for (; n > 1; n--) {
  7665. sp_256_mont_sqr_4(r, r, m, mp);
  7666. }
  7667. }
  7668. #endif /* !WOLFSSL_SP_SMALL | HAVE_COMP_KEY */
  7669. #ifdef WOLFSSL_SP_SMALL
  7670. /* Mod-2 for the P256 curve. */
  7671. static const uint64_t p256_mod_minus_2[4] = {
  7672. 0xfffffffffffffffdU,0x00000000ffffffffU,0x0000000000000000U,
  7673. 0xffffffff00000001U
  7674. };
  7675. #endif /* !WOLFSSL_SP_SMALL */
  7676. /* Invert the number, in Montgomery form, modulo the modulus (prime) of the
  7677. * P256 curve. (r = 1 / a mod m)
  7678. *
  7679. * r Inverse result.
  7680. * a Number to invert.
  7681. * td Temporary data.
  7682. */
  7683. static void sp_256_mont_inv_4(sp_digit* r, const sp_digit* a, sp_digit* td)
  7684. {
  7685. #ifdef WOLFSSL_SP_SMALL
  7686. sp_digit* t = td;
  7687. int i;
  7688. XMEMCPY(t, a, sizeof(sp_digit) * 4);
  7689. for (i=254; i>=0; i--) {
  7690. sp_256_mont_sqr_4(t, t, p256_mod, p256_mp_mod);
  7691. if (p256_mod_minus_2[i / 64] & ((sp_digit)1 << (i % 64)))
  7692. sp_256_mont_mul_4(t, t, a, p256_mod, p256_mp_mod);
  7693. }
  7694. XMEMCPY(r, t, sizeof(sp_digit) * 4);
  7695. #else
  7696. sp_digit* t1 = td;
  7697. sp_digit* t2 = td + 2 * 4;
  7698. sp_digit* t3 = td + 4 * 4;
  7699. /* 0x2 */
  7700. sp_256_mont_sqr_4(t1, a, p256_mod, p256_mp_mod);
  7701. /* 0x3 */
  7702. sp_256_mont_mul_4(t2, t1, a, p256_mod, p256_mp_mod);
  7703. /* 0xc */
  7704. sp_256_mont_sqr_n_4(t1, t2, 2, p256_mod, p256_mp_mod);
  7705. /* 0xd */
  7706. sp_256_mont_mul_4(t3, t1, a, p256_mod, p256_mp_mod);
  7707. /* 0xf */
  7708. sp_256_mont_mul_4(t2, t2, t1, p256_mod, p256_mp_mod);
  7709. /* 0xf0 */
  7710. sp_256_mont_sqr_n_4(t1, t2, 4, p256_mod, p256_mp_mod);
  7711. /* 0xfd */
  7712. sp_256_mont_mul_4(t3, t3, t1, p256_mod, p256_mp_mod);
  7713. /* 0xff */
  7714. sp_256_mont_mul_4(t2, t2, t1, p256_mod, p256_mp_mod);
  7715. /* 0xff00 */
  7716. sp_256_mont_sqr_n_4(t1, t2, 8, p256_mod, p256_mp_mod);
  7717. /* 0xfffd */
  7718. sp_256_mont_mul_4(t3, t3, t1, p256_mod, p256_mp_mod);
  7719. /* 0xffff */
  7720. sp_256_mont_mul_4(t2, t2, t1, p256_mod, p256_mp_mod);
  7721. /* 0xffff0000 */
  7722. sp_256_mont_sqr_n_4(t1, t2, 16, p256_mod, p256_mp_mod);
  7723. /* 0xfffffffd */
  7724. sp_256_mont_mul_4(t3, t3, t1, p256_mod, p256_mp_mod);
  7725. /* 0xffffffff */
  7726. sp_256_mont_mul_4(t2, t2, t1, p256_mod, p256_mp_mod);
  7727. /* 0xffffffff00000000 */
  7728. sp_256_mont_sqr_n_4(t1, t2, 32, p256_mod, p256_mp_mod);
  7729. /* 0xffffffffffffffff */
  7730. sp_256_mont_mul_4(t2, t2, t1, p256_mod, p256_mp_mod);
  7731. /* 0xffffffff00000001 */
  7732. sp_256_mont_mul_4(r, t1, a, p256_mod, p256_mp_mod);
  7733. /* 0xffffffff000000010000000000000000000000000000000000000000 */
  7734. sp_256_mont_sqr_n_4(r, r, 160, p256_mod, p256_mp_mod);
  7735. /* 0xffffffff00000001000000000000000000000000ffffffffffffffff */
  7736. sp_256_mont_mul_4(r, r, t2, p256_mod, p256_mp_mod);
  7737. /* 0xffffffff00000001000000000000000000000000ffffffffffffffff00000000 */
  7738. sp_256_mont_sqr_n_4(r, r, 32, p256_mod, p256_mp_mod);
  7739. /* 0xffffffff00000001000000000000000000000000fffffffffffffffffffffffd */
  7740. sp_256_mont_mul_4(r, r, t3, p256_mod, p256_mp_mod);
  7741. #endif /* WOLFSSL_SP_SMALL */
  7742. }
  7743. #ifdef __cplusplus
  7744. extern "C" {
  7745. #endif
  7746. extern sp_int64 sp_256_cmp_4(const sp_digit* a, const sp_digit* b);
  7747. #ifdef __cplusplus
  7748. }
  7749. #endif
  7750. /* Normalize the values in each word to 64.
  7751. *
  7752. * a Array of sp_digit to normalize.
  7753. */
  7754. #define sp_256_norm_4(a)
  7755. #ifdef __cplusplus
  7756. extern "C" {
  7757. #endif
  7758. extern sp_digit sp_256_cond_sub_4(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  7759. #ifdef __cplusplus
  7760. }
  7761. #endif
  7762. #ifdef __cplusplus
  7763. extern "C" {
  7764. #endif
  7765. extern void sp_256_mont_reduce_4(sp_digit* a, const sp_digit* m, sp_digit mp);
  7766. #ifdef __cplusplus
  7767. }
  7768. #endif
  7769. #ifdef __cplusplus
  7770. extern "C" {
  7771. #endif
  7772. extern void sp_256_mont_reduce_order_4(sp_digit* a, const sp_digit* m, sp_digit mp);
  7773. #ifdef __cplusplus
  7774. }
  7775. #endif
  7776. /* Map the Montgomery form projective coordinate point to an affine point.
  7777. *
  7778. * r Resulting affine coordinate point.
  7779. * p Montgomery form projective coordinate point.
  7780. * t Temporary ordinate data.
  7781. */
  7782. static void sp_256_map_4(sp_point_256* r, const sp_point_256* p,
  7783. sp_digit* t)
  7784. {
  7785. sp_digit* t1 = t;
  7786. sp_digit* t2 = t + 2*4;
  7787. sp_int64 n;
  7788. sp_256_mont_inv_4(t1, p->z, t + 2*4);
  7789. sp_256_mont_sqr_4(t2, t1, p256_mod, p256_mp_mod);
  7790. sp_256_mont_mul_4(t1, t2, t1, p256_mod, p256_mp_mod);
  7791. /* x /= z^2 */
  7792. sp_256_mont_mul_4(r->x, p->x, t2, p256_mod, p256_mp_mod);
  7793. XMEMSET(r->x + 4, 0, sizeof(r->x) / 2U);
  7794. sp_256_mont_reduce_4(r->x, p256_mod, p256_mp_mod);
  7795. /* Reduce x to less than modulus */
  7796. n = sp_256_cmp_4(r->x, p256_mod);
  7797. sp_256_cond_sub_4(r->x, r->x, p256_mod, ~(n >> 63));
  7798. sp_256_norm_4(r->x);
  7799. /* y /= z^3 */
  7800. sp_256_mont_mul_4(r->y, p->y, t1, p256_mod, p256_mp_mod);
  7801. XMEMSET(r->y + 4, 0, sizeof(r->y) / 2U);
  7802. sp_256_mont_reduce_4(r->y, p256_mod, p256_mp_mod);
  7803. /* Reduce y to less than modulus */
  7804. n = sp_256_cmp_4(r->y, p256_mod);
  7805. sp_256_cond_sub_4(r->y, r->y, p256_mod, ~(n >> 63));
  7806. sp_256_norm_4(r->y);
  7807. XMEMSET(r->z, 0, sizeof(r->z) / 2);
  7808. r->z[0] = 1;
  7809. }
  7810. #ifdef __cplusplus
  7811. extern "C" {
  7812. #endif
  7813. extern void sp_256_mont_add_4(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  7814. #ifdef __cplusplus
  7815. }
  7816. #endif
  7817. #ifdef __cplusplus
  7818. extern "C" {
  7819. #endif
  7820. extern void sp_256_mont_dbl_4(sp_digit* r, const sp_digit* a, const sp_digit* m);
  7821. #ifdef __cplusplus
  7822. }
  7823. #endif
  7824. #ifdef __cplusplus
  7825. extern "C" {
  7826. #endif
  7827. extern void sp_256_mont_tpl_4(sp_digit* r, const sp_digit* a, const sp_digit* m);
  7828. #ifdef __cplusplus
  7829. }
  7830. #endif
  7831. #ifdef __cplusplus
  7832. extern "C" {
  7833. #endif
  7834. extern void sp_256_mont_sub_4(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  7835. #ifdef __cplusplus
  7836. }
  7837. #endif
  7838. #ifdef __cplusplus
  7839. extern "C" {
  7840. #endif
  7841. extern void sp_256_mont_sub_lower_4(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  7842. #ifdef __cplusplus
  7843. }
  7844. #endif
  7845. #ifdef __cplusplus
  7846. extern "C" {
  7847. #endif
  7848. extern void sp_256_div2_4(sp_digit* r, const sp_digit* a, const sp_digit* m);
  7849. #ifdef __cplusplus
  7850. }
  7851. #endif
  7852. /* Double the Montgomery form projective point p.
  7853. *
  7854. * r Result of doubling point.
  7855. * p Point to double.
  7856. * t Temporary ordinate data.
  7857. */
  7858. #ifdef WOLFSSL_SP_NONBLOCK
  7859. typedef struct sp_256_proj_point_dbl_4_ctx {
  7860. int state;
  7861. sp_digit* t1;
  7862. sp_digit* t2;
  7863. sp_digit* x;
  7864. sp_digit* y;
  7865. sp_digit* z;
  7866. } sp_256_proj_point_dbl_4_ctx;
  7867. static int sp_256_proj_point_dbl_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, const sp_point_256* p, sp_digit* t)
  7868. {
  7869. int err = FP_WOULDBLOCK;
  7870. sp_256_proj_point_dbl_4_ctx* ctx = (sp_256_proj_point_dbl_4_ctx*)sp_ctx->data;
  7871. typedef char ctx_size_test[sizeof(sp_256_proj_point_dbl_4_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  7872. (void)sizeof(ctx_size_test);
  7873. switch (ctx->state) {
  7874. case 0:
  7875. ctx->t1 = t;
  7876. ctx->t2 = t + 2*4;
  7877. ctx->x = r->x;
  7878. ctx->y = r->y;
  7879. ctx->z = r->z;
  7880. /* Put infinity into result. */
  7881. if (r != p) {
  7882. r->infinity = p->infinity;
  7883. }
  7884. ctx->state = 1;
  7885. break;
  7886. case 1:
  7887. /* T1 = Z * Z */
  7888. sp_256_mont_sqr_4(ctx->t1, p->z, p256_mod, p256_mp_mod);
  7889. ctx->state = 2;
  7890. break;
  7891. case 2:
  7892. /* Z = Y * Z */
  7893. sp_256_mont_mul_4(ctx->z, p->y, p->z, p256_mod, p256_mp_mod);
  7894. ctx->state = 3;
  7895. break;
  7896. case 3:
  7897. /* Z = 2Z */
  7898. sp_256_mont_dbl_4(ctx->z, ctx->z, p256_mod);
  7899. ctx->state = 4;
  7900. break;
  7901. case 4:
  7902. /* T2 = X - T1 */
  7903. sp_256_mont_sub_4(ctx->t2, p->x, ctx->t1, p256_mod);
  7904. ctx->state = 5;
  7905. break;
  7906. case 5:
  7907. /* T1 = X + T1 */
  7908. sp_256_mont_add_4(ctx->t1, p->x, ctx->t1, p256_mod);
  7909. ctx->state = 6;
  7910. break;
  7911. case 6:
  7912. /* T2 = T1 * T2 */
  7913. sp_256_mont_mul_4(ctx->t2, ctx->t1, ctx->t2, p256_mod, p256_mp_mod);
  7914. ctx->state = 7;
  7915. break;
  7916. case 7:
  7917. /* T1 = 3T2 */
  7918. sp_256_mont_tpl_4(ctx->t1, ctx->t2, p256_mod);
  7919. ctx->state = 8;
  7920. break;
  7921. case 8:
  7922. /* Y = 2Y */
  7923. sp_256_mont_dbl_4(ctx->y, p->y, p256_mod);
  7924. ctx->state = 9;
  7925. break;
  7926. case 9:
  7927. /* Y = Y * Y */
  7928. sp_256_mont_sqr_4(ctx->y, ctx->y, p256_mod, p256_mp_mod);
  7929. ctx->state = 10;
  7930. break;
  7931. case 10:
  7932. /* T2 = Y * Y */
  7933. sp_256_mont_sqr_4(ctx->t2, ctx->y, p256_mod, p256_mp_mod);
  7934. ctx->state = 11;
  7935. break;
  7936. case 11:
  7937. /* T2 = T2/2 */
  7938. sp_256_div2_4(ctx->t2, ctx->t2, p256_mod);
  7939. ctx->state = 12;
  7940. break;
  7941. case 12:
  7942. /* Y = Y * X */
  7943. sp_256_mont_mul_4(ctx->y, ctx->y, p->x, p256_mod, p256_mp_mod);
  7944. ctx->state = 13;
  7945. break;
  7946. case 13:
  7947. /* X = T1 * T1 */
  7948. sp_256_mont_sqr_4(ctx->x, ctx->t1, p256_mod, p256_mp_mod);
  7949. ctx->state = 14;
  7950. break;
  7951. case 14:
  7952. /* X = X - Y */
  7953. sp_256_mont_sub_4(ctx->x, ctx->x, ctx->y, p256_mod);
  7954. ctx->state = 15;
  7955. break;
  7956. case 15:
  7957. /* X = X - Y */
  7958. sp_256_mont_sub_4(ctx->x, ctx->x, ctx->y, p256_mod);
  7959. ctx->state = 16;
  7960. break;
  7961. case 16:
  7962. /* Y = Y - X */
  7963. sp_256_mont_sub_lower_4(ctx->y, ctx->y, ctx->x, p256_mod);
  7964. ctx->state = 17;
  7965. break;
  7966. case 17:
  7967. /* Y = Y * T1 */
  7968. sp_256_mont_mul_4(ctx->y, ctx->y, ctx->t1, p256_mod, p256_mp_mod);
  7969. ctx->state = 18;
  7970. break;
  7971. case 18:
  7972. /* Y = Y - T2 */
  7973. sp_256_mont_sub_4(ctx->y, ctx->y, ctx->t2, p256_mod);
  7974. ctx->state = 19;
  7975. /* fall-through */
  7976. case 19:
  7977. err = MP_OKAY;
  7978. break;
  7979. }
  7980. if (err == MP_OKAY && ctx->state != 19) {
  7981. err = FP_WOULDBLOCK;
  7982. }
  7983. return err;
  7984. }
  7985. #endif /* WOLFSSL_SP_NONBLOCK */
  7986. static void sp_256_proj_point_dbl_4(sp_point_256* r, const sp_point_256* p,
  7987. sp_digit* t)
  7988. {
  7989. sp_digit* t1 = t;
  7990. sp_digit* t2 = t + 2*4;
  7991. sp_digit* x;
  7992. sp_digit* y;
  7993. sp_digit* z;
  7994. x = r->x;
  7995. y = r->y;
  7996. z = r->z;
  7997. /* Put infinity into result. */
  7998. if (r != p) {
  7999. r->infinity = p->infinity;
  8000. }
  8001. /* T1 = Z * Z */
  8002. sp_256_mont_sqr_4(t1, p->z, p256_mod, p256_mp_mod);
  8003. /* Z = Y * Z */
  8004. sp_256_mont_mul_4(z, p->y, p->z, p256_mod, p256_mp_mod);
  8005. /* Z = 2Z */
  8006. sp_256_mont_dbl_4(z, z, p256_mod);
  8007. /* T2 = X - T1 */
  8008. sp_256_mont_sub_4(t2, p->x, t1, p256_mod);
  8009. /* T1 = X + T1 */
  8010. sp_256_mont_add_4(t1, p->x, t1, p256_mod);
  8011. /* T2 = T1 * T2 */
  8012. sp_256_mont_mul_4(t2, t1, t2, p256_mod, p256_mp_mod);
  8013. /* T1 = 3T2 */
  8014. sp_256_mont_tpl_4(t1, t2, p256_mod);
  8015. /* Y = 2Y */
  8016. sp_256_mont_dbl_4(y, p->y, p256_mod);
  8017. /* Y = Y * Y */
  8018. sp_256_mont_sqr_4(y, y, p256_mod, p256_mp_mod);
  8019. /* T2 = Y * Y */
  8020. sp_256_mont_sqr_4(t2, y, p256_mod, p256_mp_mod);
  8021. /* T2 = T2/2 */
  8022. sp_256_div2_4(t2, t2, p256_mod);
  8023. /* Y = Y * X */
  8024. sp_256_mont_mul_4(y, y, p->x, p256_mod, p256_mp_mod);
  8025. /* X = T1 * T1 */
  8026. sp_256_mont_sqr_4(x, t1, p256_mod, p256_mp_mod);
  8027. /* X = X - Y */
  8028. sp_256_mont_sub_4(x, x, y, p256_mod);
  8029. /* X = X - Y */
  8030. sp_256_mont_sub_4(x, x, y, p256_mod);
  8031. /* Y = Y - X */
  8032. sp_256_mont_sub_lower_4(y, y, x, p256_mod);
  8033. /* Y = Y * T1 */
  8034. sp_256_mont_mul_4(y, y, t1, p256_mod, p256_mp_mod);
  8035. /* Y = Y - T2 */
  8036. sp_256_mont_sub_4(y, y, t2, p256_mod);
  8037. }
  8038. #ifdef __cplusplus
  8039. extern "C" {
  8040. #endif
  8041. extern void sp_256_mont_tpl_lower_4(sp_digit* r, const sp_digit* a, const sp_digit* m);
  8042. #ifdef __cplusplus
  8043. }
  8044. #endif
  8045. #ifdef __cplusplus
  8046. extern "C" {
  8047. #endif
  8048. extern void sp_256_mont_sub_dbl_4(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  8049. #ifdef __cplusplus
  8050. }
  8051. #endif
  8052. #ifdef __cplusplus
  8053. extern "C" {
  8054. #endif
  8055. extern void sp_256_mont_dbl_sub_4(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  8056. #ifdef __cplusplus
  8057. }
  8058. #endif
  8059. /* Double the Montgomery form projective point p a number of times.
  8060. *
  8061. * r Result of repeated doubling of point.
  8062. * p Point to double.
  8063. * n Number of times to double
  8064. * t Temporary ordinate data.
  8065. */
  8066. static void sp_256_proj_point_dbl_n_4(sp_point_256* p, int i,
  8067. sp_digit* t)
  8068. {
  8069. sp_digit* w = t;
  8070. sp_digit* a = t + 2*4;
  8071. sp_digit* b = t + 4*4;
  8072. sp_digit* t1 = t + 6*4;
  8073. sp_digit* x;
  8074. sp_digit* y;
  8075. sp_digit* z;
  8076. volatile int n = i;
  8077. x = p->x;
  8078. y = p->y;
  8079. z = p->z;
  8080. /* Y = 2*Y */
  8081. sp_256_mont_dbl_4(y, y, p256_mod);
  8082. /* W = Z^4 */
  8083. sp_256_mont_sqr_4(w, z, p256_mod, p256_mp_mod);
  8084. sp_256_mont_sqr_4(w, w, p256_mod, p256_mp_mod);
  8085. #ifndef WOLFSSL_SP_SMALL
  8086. while (--n > 0)
  8087. #else
  8088. while (--n >= 0)
  8089. #endif
  8090. {
  8091. /* A = 3*(X^2 - W) */
  8092. sp_256_mont_sqr_4(t1, x, p256_mod, p256_mp_mod);
  8093. sp_256_mont_sub_4(t1, t1, w, p256_mod);
  8094. sp_256_mont_tpl_lower_4(a, t1, p256_mod);
  8095. /* B = X*Y^2 */
  8096. sp_256_mont_sqr_4(t1, y, p256_mod, p256_mp_mod);
  8097. sp_256_mont_mul_4(b, t1, x, p256_mod, p256_mp_mod);
  8098. /* X = A^2 - 2B */
  8099. sp_256_mont_sqr_4(x, a, p256_mod, p256_mp_mod);
  8100. sp_256_mont_sub_dbl_4(x, x, b, p256_mod);
  8101. /* b = 2.(B - X) */
  8102. sp_256_mont_dbl_sub_4(b, b, x, p256_mod);
  8103. /* Z = Z*Y */
  8104. sp_256_mont_mul_4(z, z, y, p256_mod, p256_mp_mod);
  8105. /* t1 = Y^4 */
  8106. sp_256_mont_sqr_4(t1, t1, p256_mod, p256_mp_mod);
  8107. #ifdef WOLFSSL_SP_SMALL
  8108. if (n != 0)
  8109. #endif
  8110. {
  8111. /* W = W*Y^4 */
  8112. sp_256_mont_mul_4(w, w, t1, p256_mod, p256_mp_mod);
  8113. }
  8114. /* y = 2*A*(B - X) - Y^4 */
  8115. sp_256_mont_mul_4(y, b, a, p256_mod, p256_mp_mod);
  8116. sp_256_mont_sub_4(y, y, t1, p256_mod);
  8117. }
  8118. #ifndef WOLFSSL_SP_SMALL
  8119. /* A = 3*(X^2 - W) */
  8120. sp_256_mont_sqr_4(t1, x, p256_mod, p256_mp_mod);
  8121. sp_256_mont_sub_4(t1, t1, w, p256_mod);
  8122. sp_256_mont_tpl_lower_4(a, t1, p256_mod);
  8123. /* B = X*Y^2 */
  8124. sp_256_mont_sqr_4(t1, y, p256_mod, p256_mp_mod);
  8125. sp_256_mont_mul_4(b, t1, x, p256_mod, p256_mp_mod);
  8126. /* X = A^2 - 2B */
  8127. sp_256_mont_sqr_4(x, a, p256_mod, p256_mp_mod);
  8128. sp_256_mont_sub_dbl_4(x, x, b, p256_mod);
  8129. /* b = 2.(B - X) */
  8130. sp_256_mont_dbl_sub_4(b, b, x, p256_mod);
  8131. /* Z = Z*Y */
  8132. sp_256_mont_mul_4(z, z, y, p256_mod, p256_mp_mod);
  8133. /* t1 = Y^4 */
  8134. sp_256_mont_sqr_4(t1, t1, p256_mod, p256_mp_mod);
  8135. /* y = 2*A*(B - X) - Y^4 */
  8136. sp_256_mont_mul_4(y, b, a, p256_mod, p256_mp_mod);
  8137. sp_256_mont_sub_4(y, y, t1, p256_mod);
  8138. #endif
  8139. /* Y = Y/2 */
  8140. sp_256_div2_4(y, y, p256_mod);
  8141. }
  8142. /* Compare two numbers to determine if they are equal.
  8143. * Constant time implementation.
  8144. *
  8145. * a First number to compare.
  8146. * b Second number to compare.
  8147. * returns 1 when equal and 0 otherwise.
  8148. */
  8149. static int sp_256_cmp_equal_4(const sp_digit* a, const sp_digit* b)
  8150. {
  8151. return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) |
  8152. (a[3] ^ b[3])) == 0;
  8153. }
  8154. /* Returns 1 if the number of zero.
  8155. * Implementation is constant time.
  8156. *
  8157. * a Number to check.
  8158. * returns 1 if the number is zero and 0 otherwise.
  8159. */
  8160. static int sp_256_iszero_4(const sp_digit* a)
  8161. {
  8162. return (a[0] | a[1] | a[2] | a[3]) == 0;
  8163. }
  8164. /* Add two Montgomery form projective points.
  8165. *
  8166. * r Result of addition.
  8167. * p First point to add.
  8168. * q Second point to add.
  8169. * t Temporary ordinate data.
  8170. */
  8171. #ifdef WOLFSSL_SP_NONBLOCK
  8172. typedef struct sp_256_proj_point_add_4_ctx {
  8173. int state;
  8174. sp_256_proj_point_dbl_4_ctx dbl_ctx;
  8175. const sp_point_256* ap[2];
  8176. sp_point_256* rp[2];
  8177. sp_digit* t1;
  8178. sp_digit* t2;
  8179. sp_digit* t3;
  8180. sp_digit* t4;
  8181. sp_digit* t5;
  8182. sp_digit* t6;
  8183. sp_digit* x;
  8184. sp_digit* y;
  8185. sp_digit* z;
  8186. } sp_256_proj_point_add_4_ctx;
  8187. static int sp_256_proj_point_add_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r,
  8188. const sp_point_256* p, const sp_point_256* q, sp_digit* t)
  8189. {
  8190. int err = FP_WOULDBLOCK;
  8191. sp_256_proj_point_add_4_ctx* ctx = (sp_256_proj_point_add_4_ctx*)sp_ctx->data;
  8192. /* Ensure only the first point is the same as the result. */
  8193. if (q == r) {
  8194. const sp_point_256* a = p;
  8195. p = q;
  8196. q = a;
  8197. }
  8198. typedef char ctx_size_test[sizeof(sp_256_proj_point_add_4_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  8199. (void)sizeof(ctx_size_test);
  8200. switch (ctx->state) {
  8201. case 0: /* INIT */
  8202. ctx->t1 = t;
  8203. ctx->t2 = t + 2*4;
  8204. ctx->t3 = t + 4*4;
  8205. ctx->t4 = t + 6*4;
  8206. ctx->t5 = t + 8*4;
  8207. ctx->t6 = t + 10*4;
  8208. ctx->x = ctx->t6;
  8209. ctx->y = ctx->t1;
  8210. ctx->z = ctx->t2;
  8211. ctx->state = 1;
  8212. break;
  8213. case 1:
  8214. /* Check double */
  8215. (void)sp_256_sub_4(ctx->t1, p256_mod, q->y);
  8216. sp_256_norm_4(ctx->t1);
  8217. if ((~p->infinity & ~q->infinity &
  8218. sp_256_cmp_equal_4(p->x, q->x) & sp_256_cmp_equal_4(p->z, q->z) &
  8219. (sp_256_cmp_equal_4(p->y, q->y) | sp_256_cmp_equal_4(p->y, ctx->t1))) != 0)
  8220. {
  8221. XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx));
  8222. ctx->state = 2;
  8223. }
  8224. else {
  8225. ctx->state = 3;
  8226. }
  8227. break;
  8228. case 2:
  8229. err = sp_256_proj_point_dbl_4_nb((sp_ecc_ctx_t*)&ctx->dbl_ctx, r, p, t);
  8230. if (err == MP_OKAY)
  8231. ctx->state = 27; /* done */
  8232. break;
  8233. case 3:
  8234. {
  8235. ctx->state = 4;
  8236. break;
  8237. }
  8238. case 4:
  8239. /* U1 = X1*Z2^2 */
  8240. sp_256_mont_sqr_4(ctx->t1, q->z, p256_mod, p256_mp_mod);
  8241. ctx->state = 5;
  8242. break;
  8243. case 5:
  8244. sp_256_mont_mul_4(ctx->t3, ctx->t1, q->z, p256_mod, p256_mp_mod);
  8245. ctx->state = 6;
  8246. break;
  8247. case 6:
  8248. sp_256_mont_mul_4(ctx->t1, ctx->t1, p->x, p256_mod, p256_mp_mod);
  8249. ctx->state = 7;
  8250. break;
  8251. case 7:
  8252. /* U2 = X2*Z1^2 */
  8253. sp_256_mont_sqr_4(ctx->t2, p->z, p256_mod, p256_mp_mod);
  8254. ctx->state = 8;
  8255. break;
  8256. case 8:
  8257. sp_256_mont_mul_4(ctx->t4, ctx->t2, p->z, p256_mod, p256_mp_mod);
  8258. ctx->state = 9;
  8259. break;
  8260. case 9:
  8261. sp_256_mont_mul_4(ctx->t2, ctx->t2, q->x, p256_mod, p256_mp_mod);
  8262. ctx->state = 10;
  8263. break;
  8264. case 10:
  8265. /* S1 = Y1*Z2^3 */
  8266. sp_256_mont_mul_4(ctx->t3, ctx->t3, p->y, p256_mod, p256_mp_mod);
  8267. ctx->state = 11;
  8268. break;
  8269. case 11:
  8270. /* S2 = Y2*Z1^3 */
  8271. sp_256_mont_mul_4(ctx->t4, ctx->t4, q->y, p256_mod, p256_mp_mod);
  8272. ctx->state = 12;
  8273. break;
  8274. case 12:
  8275. /* H = U2 - U1 */
  8276. sp_256_mont_sub_4(ctx->t2, ctx->t2, ctx->t1, p256_mod);
  8277. ctx->state = 13;
  8278. break;
  8279. case 13:
  8280. /* R = S2 - S1 */
  8281. sp_256_mont_sub_4(ctx->t4, ctx->t4, ctx->t3, p256_mod);
  8282. ctx->state = 14;
  8283. break;
  8284. case 14:
  8285. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  8286. sp_256_mont_sqr_4(ctx->t5, ctx->t2, p256_mod, p256_mp_mod);
  8287. ctx->state = 15;
  8288. break;
  8289. case 15:
  8290. sp_256_mont_mul_4(ctx->y, ctx->t1, ctx->t5, p256_mod, p256_mp_mod);
  8291. ctx->state = 16;
  8292. break;
  8293. case 16:
  8294. sp_256_mont_mul_4(ctx->t5, ctx->t5, ctx->t2, p256_mod, p256_mp_mod);
  8295. ctx->state = 17;
  8296. break;
  8297. case 17:
  8298. /* Z3 = H*Z1*Z2 */
  8299. sp_256_mont_mul_4(ctx->z, p->z, ctx->t2, p256_mod, p256_mp_mod);
  8300. ctx->state = 18;
  8301. break;
  8302. case 18:
  8303. sp_256_mont_mul_4(ctx->z, ctx->z, q->z, p256_mod, p256_mp_mod);
  8304. ctx->state = 19;
  8305. break;
  8306. case 19:
  8307. sp_256_mont_sqr_4(ctx->x, ctx->t4, p256_mod, p256_mp_mod);
  8308. ctx->state = 20;
  8309. break;
  8310. case 20:
  8311. sp_256_mont_sub_4(ctx->x, ctx->x, ctx->t5, p256_mod);
  8312. ctx->state = 21;
  8313. break;
  8314. case 21:
  8315. sp_256_mont_mul_4(ctx->t5, ctx->t5, ctx->t3, p256_mod, p256_mp_mod);
  8316. ctx->state = 22;
  8317. break;
  8318. case 22:
  8319. sp_256_mont_dbl_4(ctx->t3, ctx->y, p256_mod);
  8320. ctx->state = 23;
  8321. break;
  8322. case 23:
  8323. sp_256_mont_sub_4(ctx->x, ctx->x, ctx->t3, p256_mod);
  8324. ctx->state = 24;
  8325. break;
  8326. case 24:
  8327. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  8328. sp_256_mont_sub_lower_4(ctx->y, ctx->y, ctx->x, p256_mod);
  8329. ctx->state = 25;
  8330. break;
  8331. case 25:
  8332. sp_256_mont_mul_4(ctx->y, ctx->y, ctx->t4, p256_mod, p256_mp_mod);
  8333. ctx->state = 26;
  8334. break;
  8335. case 26:
  8336. sp_256_mont_sub_4(ctx->y, ctx->y, ctx->t5, p256_mod);
  8337. ctx->state = 27;
  8338. /* fall-through */
  8339. case 27:
  8340. {
  8341. int i;
  8342. sp_digit maskp = 0 - (q->infinity & (!p->infinity));
  8343. sp_digit maskq = 0 - (p->infinity & (!q->infinity));
  8344. sp_digit maskt = ~(maskp | maskq);
  8345. for (i = 0; i < 4; i++) {
  8346. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  8347. (ctx->x[i] & maskt);
  8348. }
  8349. for (i = 0; i < 4; i++) {
  8350. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  8351. (ctx->y[i] & maskt);
  8352. }
  8353. for (i = 0; i < 4; i++) {
  8354. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  8355. (ctx->z[i] & maskt);
  8356. }
  8357. r->z[0] |= p->infinity & q->infinity;
  8358. r->infinity = p->infinity & q->infinity;
  8359. err = MP_OKAY;
  8360. break;
  8361. }
  8362. }
  8363. if (err == MP_OKAY && ctx->state != 27) {
  8364. err = FP_WOULDBLOCK;
  8365. }
  8366. return err;
  8367. }
  8368. #endif /* WOLFSSL_SP_NONBLOCK */
  8369. static void sp_256_proj_point_add_4(sp_point_256* r,
  8370. const sp_point_256* p, const sp_point_256* q, sp_digit* t)
  8371. {
  8372. sp_digit* t1 = t;
  8373. sp_digit* t2 = t + 2*4;
  8374. sp_digit* t3 = t + 4*4;
  8375. sp_digit* t4 = t + 6*4;
  8376. sp_digit* t5 = t + 8*4;
  8377. sp_digit* t6 = t + 10*4;
  8378. /* Check double */
  8379. (void)sp_256_sub_4(t1, p256_mod, q->y);
  8380. sp_256_norm_4(t1);
  8381. if ((~p->infinity & ~q->infinity &
  8382. sp_256_cmp_equal_4(p->x, q->x) & sp_256_cmp_equal_4(p->z, q->z) &
  8383. (sp_256_cmp_equal_4(p->y, q->y) | sp_256_cmp_equal_4(p->y, t1))) != 0) {
  8384. sp_256_proj_point_dbl_4(r, p, t);
  8385. }
  8386. else {
  8387. sp_digit maskp;
  8388. sp_digit maskq;
  8389. sp_digit maskt;
  8390. sp_digit* x = t6;
  8391. sp_digit* y = t1;
  8392. sp_digit* z = t2;
  8393. int i;
  8394. maskp = 0 - (q->infinity & (!p->infinity));
  8395. maskq = 0 - (p->infinity & (!q->infinity));
  8396. maskt = ~(maskp | maskq);
  8397. /* U1 = X1*Z2^2 */
  8398. sp_256_mont_sqr_4(t1, q->z, p256_mod, p256_mp_mod);
  8399. sp_256_mont_mul_4(t3, t1, q->z, p256_mod, p256_mp_mod);
  8400. sp_256_mont_mul_4(t1, t1, p->x, p256_mod, p256_mp_mod);
  8401. /* U2 = X2*Z1^2 */
  8402. sp_256_mont_sqr_4(t2, p->z, p256_mod, p256_mp_mod);
  8403. sp_256_mont_mul_4(t4, t2, p->z, p256_mod, p256_mp_mod);
  8404. sp_256_mont_mul_4(t2, t2, q->x, p256_mod, p256_mp_mod);
  8405. /* S1 = Y1*Z2^3 */
  8406. sp_256_mont_mul_4(t3, t3, p->y, p256_mod, p256_mp_mod);
  8407. /* S2 = Y2*Z1^3 */
  8408. sp_256_mont_mul_4(t4, t4, q->y, p256_mod, p256_mp_mod);
  8409. /* H = U2 - U1 */
  8410. sp_256_mont_sub_4(t2, t2, t1, p256_mod);
  8411. /* R = S2 - S1 */
  8412. sp_256_mont_sub_4(t4, t4, t3, p256_mod);
  8413. if (~p->infinity & ~q->infinity &
  8414. sp_256_iszero_4(t2) & sp_256_iszero_4(t4) & maskt) {
  8415. sp_256_proj_point_dbl_4(r, p, t);
  8416. }
  8417. else {
  8418. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  8419. sp_256_mont_sqr_4(t5, t2, p256_mod, p256_mp_mod);
  8420. sp_256_mont_mul_4(y, t1, t5, p256_mod, p256_mp_mod);
  8421. sp_256_mont_mul_4(t5, t5, t2, p256_mod, p256_mp_mod);
  8422. /* Z3 = H*Z1*Z2 */
  8423. sp_256_mont_mul_4(z, p->z, t2, p256_mod, p256_mp_mod);
  8424. sp_256_mont_mul_4(z, z, q->z, p256_mod, p256_mp_mod);
  8425. sp_256_mont_sqr_4(x, t4, p256_mod, p256_mp_mod);
  8426. sp_256_mont_sub_4(x, x, t5, p256_mod);
  8427. sp_256_mont_mul_4(t5, t5, t3, p256_mod, p256_mp_mod);
  8428. sp_256_mont_sub_dbl_4(x, x, y, p256_mod);
  8429. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  8430. sp_256_mont_sub_lower_4(y, y, x, p256_mod);
  8431. sp_256_mont_mul_4(y, y, t4, p256_mod, p256_mp_mod);
  8432. sp_256_mont_sub_4(y, y, t5, p256_mod);
  8433. for (i = 0; i < 4; i++) {
  8434. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  8435. (x[i] & maskt);
  8436. }
  8437. for (i = 0; i < 4; i++) {
  8438. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  8439. (y[i] & maskt);
  8440. }
  8441. for (i = 0; i < 4; i++) {
  8442. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  8443. (z[i] & maskt);
  8444. }
  8445. r->z[0] |= p->infinity & q->infinity;
  8446. r->infinity = p->infinity & q->infinity;
  8447. }
  8448. }
  8449. }
  8450. /* Double the Montgomery form projective point p a number of times.
  8451. *
  8452. * r Result of repeated doubling of point.
  8453. * p Point to double.
  8454. * n Number of times to double
  8455. * t Temporary ordinate data.
  8456. */
  8457. static void sp_256_proj_point_dbl_n_store_4(sp_point_256* r,
  8458. const sp_point_256* p, int n, int m, sp_digit* t)
  8459. {
  8460. sp_digit* w = t;
  8461. sp_digit* a = t + 2*4;
  8462. sp_digit* b = t + 4*4;
  8463. sp_digit* t1 = t + 6*4;
  8464. sp_digit* x = r[2*m].x;
  8465. sp_digit* y = r[(1<<n)*m].y;
  8466. sp_digit* z = r[2*m].z;
  8467. int i;
  8468. int j;
  8469. for (i=0; i<4; i++) {
  8470. x[i] = p->x[i];
  8471. }
  8472. for (i=0; i<4; i++) {
  8473. y[i] = p->y[i];
  8474. }
  8475. for (i=0; i<4; i++) {
  8476. z[i] = p->z[i];
  8477. }
  8478. /* Y = 2*Y */
  8479. sp_256_mont_dbl_4(y, y, p256_mod);
  8480. /* W = Z^4 */
  8481. sp_256_mont_sqr_4(w, z, p256_mod, p256_mp_mod);
  8482. sp_256_mont_sqr_4(w, w, p256_mod, p256_mp_mod);
  8483. j = m;
  8484. for (i=1; i<=n; i++) {
  8485. j *= 2;
  8486. /* A = 3*(X^2 - W) */
  8487. sp_256_mont_sqr_4(t1, x, p256_mod, p256_mp_mod);
  8488. sp_256_mont_sub_4(t1, t1, w, p256_mod);
  8489. sp_256_mont_tpl_lower_4(a, t1, p256_mod);
  8490. /* B = X*Y^2 */
  8491. sp_256_mont_sqr_4(t1, y, p256_mod, p256_mp_mod);
  8492. sp_256_mont_mul_4(b, t1, x, p256_mod, p256_mp_mod);
  8493. x = r[j].x;
  8494. /* X = A^2 - 2B */
  8495. sp_256_mont_sqr_4(x, a, p256_mod, p256_mp_mod);
  8496. sp_256_mont_sub_dbl_4(x, x, b, p256_mod);
  8497. /* b = 2.(B - X) */
  8498. sp_256_mont_dbl_sub_4(b, b, x, p256_mod);
  8499. /* Z = Z*Y */
  8500. sp_256_mont_mul_4(r[j].z, z, y, p256_mod, p256_mp_mod);
  8501. z = r[j].z;
  8502. /* t1 = Y^4 */
  8503. sp_256_mont_sqr_4(t1, t1, p256_mod, p256_mp_mod);
  8504. if (i != n) {
  8505. /* W = W*Y^4 */
  8506. sp_256_mont_mul_4(w, w, t1, p256_mod, p256_mp_mod);
  8507. }
  8508. /* y = 2*A*(B - X) - Y^4 */
  8509. sp_256_mont_mul_4(y, b, a, p256_mod, p256_mp_mod);
  8510. sp_256_mont_sub_4(y, y, t1, p256_mod);
  8511. /* Y = Y/2 */
  8512. sp_256_div2_4(r[j].y, y, p256_mod);
  8513. r[j].infinity = 0;
  8514. }
  8515. }
  8516. /* Add two Montgomery form projective points.
  8517. *
  8518. * ra Result of addition.
  8519. * rs Result of subtraction.
  8520. * p First point to add.
  8521. * q Second point to add.
  8522. * t Temporary ordinate data.
  8523. */
  8524. static void sp_256_proj_point_add_sub_4(sp_point_256* ra,
  8525. sp_point_256* rs, const sp_point_256* p, const sp_point_256* q,
  8526. sp_digit* t)
  8527. {
  8528. sp_digit* t1 = t;
  8529. sp_digit* t2 = t + 2*4;
  8530. sp_digit* t3 = t + 4*4;
  8531. sp_digit* t4 = t + 6*4;
  8532. sp_digit* t5 = t + 8*4;
  8533. sp_digit* t6 = t + 10*4;
  8534. sp_digit* xa = ra->x;
  8535. sp_digit* ya = ra->y;
  8536. sp_digit* za = ra->z;
  8537. sp_digit* xs = rs->x;
  8538. sp_digit* ys = rs->y;
  8539. sp_digit* zs = rs->z;
  8540. XMEMCPY(xa, p->x, sizeof(p->x) / 2);
  8541. XMEMCPY(ya, p->y, sizeof(p->y) / 2);
  8542. XMEMCPY(za, p->z, sizeof(p->z) / 2);
  8543. ra->infinity = 0;
  8544. rs->infinity = 0;
  8545. /* U1 = X1*Z2^2 */
  8546. sp_256_mont_sqr_4(t1, q->z, p256_mod, p256_mp_mod);
  8547. sp_256_mont_mul_4(t3, t1, q->z, p256_mod, p256_mp_mod);
  8548. sp_256_mont_mul_4(t1, t1, xa, p256_mod, p256_mp_mod);
  8549. /* U2 = X2*Z1^2 */
  8550. sp_256_mont_sqr_4(t2, za, p256_mod, p256_mp_mod);
  8551. sp_256_mont_mul_4(t4, t2, za, p256_mod, p256_mp_mod);
  8552. sp_256_mont_mul_4(t2, t2, q->x, p256_mod, p256_mp_mod);
  8553. /* S1 = Y1*Z2^3 */
  8554. sp_256_mont_mul_4(t3, t3, ya, p256_mod, p256_mp_mod);
  8555. /* S2 = Y2*Z1^3 */
  8556. sp_256_mont_mul_4(t4, t4, q->y, p256_mod, p256_mp_mod);
  8557. /* H = U2 - U1 */
  8558. sp_256_mont_sub_4(t2, t2, t1, p256_mod);
  8559. /* RS = S2 + S1 */
  8560. sp_256_mont_add_4(t6, t4, t3, p256_mod);
  8561. /* R = S2 - S1 */
  8562. sp_256_mont_sub_4(t4, t4, t3, p256_mod);
  8563. /* Z3 = H*Z1*Z2 */
  8564. /* ZS = H*Z1*Z2 */
  8565. sp_256_mont_mul_4(za, za, q->z, p256_mod, p256_mp_mod);
  8566. sp_256_mont_mul_4(za, za, t2, p256_mod, p256_mp_mod);
  8567. XMEMCPY(zs, za, sizeof(p->z)/2);
  8568. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  8569. /* XS = RS^2 - H^3 - 2*U1*H^2 */
  8570. sp_256_mont_sqr_4(xa, t4, p256_mod, p256_mp_mod);
  8571. sp_256_mont_sqr_4(xs, t6, p256_mod, p256_mp_mod);
  8572. sp_256_mont_sqr_4(t5, t2, p256_mod, p256_mp_mod);
  8573. sp_256_mont_mul_4(ya, t1, t5, p256_mod, p256_mp_mod);
  8574. sp_256_mont_mul_4(t5, t5, t2, p256_mod, p256_mp_mod);
  8575. sp_256_mont_sub_4(xa, xa, t5, p256_mod);
  8576. sp_256_mont_sub_4(xs, xs, t5, p256_mod);
  8577. sp_256_mont_dbl_4(t1, ya, p256_mod);
  8578. sp_256_mont_sub_4(xa, xa, t1, p256_mod);
  8579. sp_256_mont_sub_4(xs, xs, t1, p256_mod);
  8580. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  8581. /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */
  8582. sp_256_mont_sub_lower_4(ys, ya, xs, p256_mod);
  8583. sp_256_mont_sub_lower_4(ya, ya, xa, p256_mod);
  8584. sp_256_mont_mul_4(ya, ya, t4, p256_mod, p256_mp_mod);
  8585. sp_256_sub_4(t6, p256_mod, t6);
  8586. sp_256_mont_mul_4(ys, ys, t6, p256_mod, p256_mp_mod);
  8587. sp_256_mont_mul_4(t5, t5, t3, p256_mod, p256_mp_mod);
  8588. sp_256_mont_sub_4(ya, ya, t5, p256_mod);
  8589. sp_256_mont_sub_4(ys, ys, t5, p256_mod);
  8590. }
  8591. /* Structure used to describe recoding of scalar multiplication. */
  8592. typedef struct ecc_recode_256 {
  8593. /* Index into pre-computation table. */
  8594. uint8_t i;
  8595. /* Use the negative of the point. */
  8596. uint8_t neg;
  8597. } ecc_recode_256;
  8598. /* The index into pre-computation table to use. */
  8599. static const uint8_t recode_index_4_6[66] = {
  8600. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  8601. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  8602. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  8603. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  8604. 0, 1,
  8605. };
  8606. /* Whether to negate y-ordinate. */
  8607. static const uint8_t recode_neg_4_6[66] = {
  8608. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8609. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8610. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8611. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8612. 0, 0,
  8613. };
  8614. /* Recode the scalar for multiplication using pre-computed values and
  8615. * subtraction.
  8616. *
  8617. * k Scalar to multiply by.
  8618. * v Vector of operations to perform.
  8619. */
  8620. static void sp_256_ecc_recode_6_4(const sp_digit* k, ecc_recode_256* v)
  8621. {
  8622. int i;
  8623. int j;
  8624. uint8_t y;
  8625. int carry = 0;
  8626. int o;
  8627. sp_digit n;
  8628. j = 0;
  8629. n = k[j];
  8630. o = 0;
  8631. for (i=0; i<43; i++) {
  8632. y = (int8_t)n;
  8633. if (o + 6 < 64) {
  8634. y &= 0x3f;
  8635. n >>= 6;
  8636. o += 6;
  8637. }
  8638. else if (o + 6 == 64) {
  8639. n >>= 6;
  8640. if (++j < 4)
  8641. n = k[j];
  8642. o = 0;
  8643. }
  8644. else if (++j < 4) {
  8645. n = k[j];
  8646. y |= (uint8_t)((n << (64 - o)) & 0x3f);
  8647. o -= 58;
  8648. n >>= o;
  8649. }
  8650. y += (uint8_t)carry;
  8651. v[i].i = recode_index_4_6[y];
  8652. v[i].neg = recode_neg_4_6[y];
  8653. carry = (y >> 6) + v[i].neg;
  8654. }
  8655. }
  8656. #ifdef __cplusplus
  8657. extern "C" {
  8658. #endif
  8659. extern void sp_256_get_point_33_4(sp_point_256* r, const sp_point_256* table, int idx);
  8660. #ifdef __cplusplus
  8661. }
  8662. #endif
  8663. #ifdef __cplusplus
  8664. extern "C" {
  8665. #endif
  8666. extern void sp_256_get_point_33_avx2_4(sp_point_256* r, const sp_point_256* table, int idx);
  8667. #ifdef __cplusplus
  8668. }
  8669. #endif
  8670. /* Multiply the point by the scalar and return the result.
  8671. * If map is true then convert result to affine coordinates.
  8672. *
  8673. * Window technique of 6 bits. (Add-Sub variation.)
  8674. * Calculate 0..32 times the point. Use function that adds and
  8675. * subtracts the same two points.
  8676. * Recode to add or subtract one of the computed points.
  8677. * Double to push up.
  8678. * NOT a sliding window.
  8679. *
  8680. * r Resulting point.
  8681. * g Point to multiply.
  8682. * k Scalar to multiply by.
  8683. * map Indicates whether to convert result to affine.
  8684. * ct Constant time required.
  8685. * heap Heap to use for allocation.
  8686. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  8687. */
  8688. static int sp_256_ecc_mulmod_win_add_sub_4(sp_point_256* r, const sp_point_256* g,
  8689. const sp_digit* k, int map, int ct, void* heap)
  8690. {
  8691. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  8692. sp_point_256* t = NULL;
  8693. sp_digit* tmp = NULL;
  8694. #else
  8695. sp_point_256 t[33+2];
  8696. sp_digit tmp[2 * 4 * 6];
  8697. #endif
  8698. sp_point_256* rt = NULL;
  8699. sp_point_256* p = NULL;
  8700. sp_digit* negy;
  8701. int i;
  8702. ecc_recode_256 v[43];
  8703. int err = MP_OKAY;
  8704. /* Constant time used for cache attack resistance implementation. */
  8705. (void)ct;
  8706. (void)heap;
  8707. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  8708. t = (sp_point_256*)XMALLOC(sizeof(sp_point_256) *
  8709. (33+2), heap, DYNAMIC_TYPE_ECC);
  8710. if (t == NULL)
  8711. err = MEMORY_E;
  8712. if (err == MP_OKAY) {
  8713. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6,
  8714. heap, DYNAMIC_TYPE_ECC);
  8715. if (tmp == NULL)
  8716. err = MEMORY_E;
  8717. }
  8718. #endif
  8719. if (err == MP_OKAY) {
  8720. rt = t + 33;
  8721. p = t + 33+1;
  8722. /* t[0] = {0, 0, 1} * norm */
  8723. XMEMSET(&t[0], 0, sizeof(t[0]));
  8724. t[0].infinity = 1;
  8725. /* t[1] = {g->x, g->y, g->z} * norm */
  8726. err = sp_256_mod_mul_norm_4(t[1].x, g->x, p256_mod);
  8727. }
  8728. if (err == MP_OKAY) {
  8729. err = sp_256_mod_mul_norm_4(t[1].y, g->y, p256_mod);
  8730. }
  8731. if (err == MP_OKAY) {
  8732. err = sp_256_mod_mul_norm_4(t[1].z, g->z, p256_mod);
  8733. }
  8734. if (err == MP_OKAY) {
  8735. t[1].infinity = 0;
  8736. /* t[2] ... t[32] */
  8737. sp_256_proj_point_dbl_n_store_4(t, &t[ 1], 5, 1, tmp);
  8738. sp_256_proj_point_add_4(&t[ 3], &t[ 2], &t[ 1], tmp);
  8739. sp_256_proj_point_dbl_4(&t[ 6], &t[ 3], tmp);
  8740. sp_256_proj_point_add_sub_4(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp);
  8741. sp_256_proj_point_dbl_4(&t[10], &t[ 5], tmp);
  8742. sp_256_proj_point_add_sub_4(&t[11], &t[ 9], &t[10], &t[ 1], tmp);
  8743. sp_256_proj_point_dbl_4(&t[12], &t[ 6], tmp);
  8744. sp_256_proj_point_dbl_4(&t[14], &t[ 7], tmp);
  8745. sp_256_proj_point_add_sub_4(&t[15], &t[13], &t[14], &t[ 1], tmp);
  8746. sp_256_proj_point_dbl_4(&t[18], &t[ 9], tmp);
  8747. sp_256_proj_point_add_sub_4(&t[19], &t[17], &t[18], &t[ 1], tmp);
  8748. sp_256_proj_point_dbl_4(&t[20], &t[10], tmp);
  8749. sp_256_proj_point_dbl_4(&t[22], &t[11], tmp);
  8750. sp_256_proj_point_add_sub_4(&t[23], &t[21], &t[22], &t[ 1], tmp);
  8751. sp_256_proj_point_dbl_4(&t[24], &t[12], tmp);
  8752. sp_256_proj_point_dbl_4(&t[26], &t[13], tmp);
  8753. sp_256_proj_point_add_sub_4(&t[27], &t[25], &t[26], &t[ 1], tmp);
  8754. sp_256_proj_point_dbl_4(&t[28], &t[14], tmp);
  8755. sp_256_proj_point_dbl_4(&t[30], &t[15], tmp);
  8756. sp_256_proj_point_add_sub_4(&t[31], &t[29], &t[30], &t[ 1], tmp);
  8757. negy = t[0].y;
  8758. sp_256_ecc_recode_6_4(k, v);
  8759. i = 42;
  8760. #ifndef WC_NO_CACHE_RESISTANT
  8761. if (ct) {
  8762. sp_256_get_point_33_4(rt, t, v[i].i);
  8763. rt->infinity = !v[i].i;
  8764. }
  8765. else
  8766. #endif
  8767. {
  8768. XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_256));
  8769. }
  8770. for (--i; i>=0; i--) {
  8771. sp_256_proj_point_dbl_n_4(rt, 6, tmp);
  8772. #ifndef WC_NO_CACHE_RESISTANT
  8773. if (ct) {
  8774. sp_256_get_point_33_4(p, t, v[i].i);
  8775. p->infinity = !v[i].i;
  8776. }
  8777. else
  8778. #endif
  8779. {
  8780. XMEMCPY(p, &t[v[i].i], sizeof(sp_point_256));
  8781. }
  8782. sp_256_sub_4(negy, p256_mod, p->y);
  8783. sp_256_norm_4(negy);
  8784. sp_256_cond_copy_4(p->y, negy, (sp_digit)0 - v[i].neg);
  8785. sp_256_proj_point_add_4(rt, rt, p, tmp);
  8786. }
  8787. if (map != 0) {
  8788. sp_256_map_4(r, rt, tmp);
  8789. }
  8790. else {
  8791. XMEMCPY(r, rt, sizeof(sp_point_256));
  8792. }
  8793. }
  8794. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  8795. if (t != NULL)
  8796. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  8797. if (tmp != NULL)
  8798. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  8799. #endif
  8800. return err;
  8801. }
  8802. #ifdef HAVE_INTEL_AVX2
  8803. #define sp_256_mod_mul_norm_avx2_4 sp_256_mod_mul_norm_4
  8804. #ifdef __cplusplus
  8805. extern "C" {
  8806. #endif
  8807. extern void sp_256_mont_mul_avx2_4(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m, sp_digit mp);
  8808. #ifdef __cplusplus
  8809. }
  8810. #endif
  8811. #ifdef __cplusplus
  8812. extern "C" {
  8813. #endif
  8814. extern void sp_256_mont_sqr_avx2_4(sp_digit* r, const sp_digit* a, const sp_digit* m, sp_digit mp);
  8815. #ifdef __cplusplus
  8816. }
  8817. #endif
  8818. #if !defined(WOLFSSL_SP_SMALL) || defined(HAVE_COMP_KEY)
  8819. /* Square the Montgomery form number a number of times. (r = a ^ n mod m)
  8820. *
  8821. * r Result of squaring.
  8822. * a Number to square in Montgomery form.
  8823. * n Number of times to square.
  8824. * m Modulus (prime).
  8825. * mp Montgomery mulitplier.
  8826. */
  8827. static void sp_256_mont_sqr_n_avx2_4(sp_digit* r, const sp_digit* a, int n,
  8828. const sp_digit* m, sp_digit mp)
  8829. {
  8830. sp_256_mont_sqr_avx2_4(r, a, m, mp);
  8831. for (; n > 1; n--) {
  8832. sp_256_mont_sqr_avx2_4(r, r, m, mp);
  8833. }
  8834. }
  8835. #endif /* !WOLFSSL_SP_SMALL | HAVE_COMP_KEY */
  8836. /* Invert the number, in Montgomery form, modulo the modulus (prime) of the
  8837. * P256 curve. (r = 1 / a mod m)
  8838. *
  8839. * r Inverse result.
  8840. * a Number to invert.
  8841. * td Temporary data.
  8842. */
  8843. static void sp_256_mont_inv_avx2_4(sp_digit* r, const sp_digit* a, sp_digit* td)
  8844. {
  8845. #ifdef WOLFSSL_SP_SMALL
  8846. sp_digit* t = td;
  8847. int i;
  8848. XMEMCPY(t, a, sizeof(sp_digit) * 4);
  8849. for (i=254; i>=0; i--) {
  8850. sp_256_mont_sqr_avx2_4(t, t, p256_mod, p256_mp_mod);
  8851. if (p256_mod_minus_2[i / 64] & ((sp_digit)1 << (i % 64)))
  8852. sp_256_mont_mul_avx2_4(t, t, a, p256_mod, p256_mp_mod);
  8853. }
  8854. XMEMCPY(r, t, sizeof(sp_digit) * 4);
  8855. #else
  8856. sp_digit* t1 = td;
  8857. sp_digit* t2 = td + 2 * 4;
  8858. sp_digit* t3 = td + 4 * 4;
  8859. /* 0x2 */
  8860. sp_256_mont_sqr_avx2_4(t1, a, p256_mod, p256_mp_mod);
  8861. /* 0x3 */
  8862. sp_256_mont_mul_avx2_4(t2, t1, a, p256_mod, p256_mp_mod);
  8863. /* 0xc */
  8864. sp_256_mont_sqr_n_avx2_4(t1, t2, 2, p256_mod, p256_mp_mod);
  8865. /* 0xd */
  8866. sp_256_mont_mul_avx2_4(t3, t1, a, p256_mod, p256_mp_mod);
  8867. /* 0xf */
  8868. sp_256_mont_mul_avx2_4(t2, t2, t1, p256_mod, p256_mp_mod);
  8869. /* 0xf0 */
  8870. sp_256_mont_sqr_n_avx2_4(t1, t2, 4, p256_mod, p256_mp_mod);
  8871. /* 0xfd */
  8872. sp_256_mont_mul_avx2_4(t3, t3, t1, p256_mod, p256_mp_mod);
  8873. /* 0xff */
  8874. sp_256_mont_mul_avx2_4(t2, t2, t1, p256_mod, p256_mp_mod);
  8875. /* 0xff00 */
  8876. sp_256_mont_sqr_n_avx2_4(t1, t2, 8, p256_mod, p256_mp_mod);
  8877. /* 0xfffd */
  8878. sp_256_mont_mul_avx2_4(t3, t3, t1, p256_mod, p256_mp_mod);
  8879. /* 0xffff */
  8880. sp_256_mont_mul_avx2_4(t2, t2, t1, p256_mod, p256_mp_mod);
  8881. /* 0xffff0000 */
  8882. sp_256_mont_sqr_n_avx2_4(t1, t2, 16, p256_mod, p256_mp_mod);
  8883. /* 0xfffffffd */
  8884. sp_256_mont_mul_avx2_4(t3, t3, t1, p256_mod, p256_mp_mod);
  8885. /* 0xffffffff */
  8886. sp_256_mont_mul_avx2_4(t2, t2, t1, p256_mod, p256_mp_mod);
  8887. /* 0xffffffff00000000 */
  8888. sp_256_mont_sqr_n_avx2_4(t1, t2, 32, p256_mod, p256_mp_mod);
  8889. /* 0xffffffffffffffff */
  8890. sp_256_mont_mul_avx2_4(t2, t2, t1, p256_mod, p256_mp_mod);
  8891. /* 0xffffffff00000001 */
  8892. sp_256_mont_mul_avx2_4(r, t1, a, p256_mod, p256_mp_mod);
  8893. /* 0xffffffff000000010000000000000000000000000000000000000000 */
  8894. sp_256_mont_sqr_n_avx2_4(r, r, 160, p256_mod, p256_mp_mod);
  8895. /* 0xffffffff00000001000000000000000000000000ffffffffffffffff */
  8896. sp_256_mont_mul_avx2_4(r, r, t2, p256_mod, p256_mp_mod);
  8897. /* 0xffffffff00000001000000000000000000000000ffffffffffffffff00000000 */
  8898. sp_256_mont_sqr_n_avx2_4(r, r, 32, p256_mod, p256_mp_mod);
  8899. /* 0xffffffff00000001000000000000000000000000fffffffffffffffffffffffd */
  8900. sp_256_mont_mul_avx2_4(r, r, t3, p256_mod, p256_mp_mod);
  8901. #endif /* WOLFSSL_SP_SMALL */
  8902. }
  8903. #ifdef __cplusplus
  8904. extern "C" {
  8905. #endif
  8906. extern sp_digit sp_256_cond_sub_avx2_4(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  8907. #ifdef __cplusplus
  8908. }
  8909. #endif
  8910. #define sp_256_mont_reduce_avx2_4 sp_256_mont_reduce_4
  8911. #ifdef __cplusplus
  8912. extern "C" {
  8913. #endif
  8914. extern void sp_256_mont_reduce_avx2_order_4(sp_digit* a, const sp_digit* m, sp_digit mp);
  8915. #ifdef __cplusplus
  8916. }
  8917. #endif
  8918. /* Map the Montgomery form projective coordinate point to an affine point.
  8919. *
  8920. * r Resulting affine coordinate point.
  8921. * p Montgomery form projective coordinate point.
  8922. * t Temporary ordinate data.
  8923. */
  8924. static void sp_256_map_avx2_4(sp_point_256* r, const sp_point_256* p,
  8925. sp_digit* t)
  8926. {
  8927. sp_digit* t1 = t;
  8928. sp_digit* t2 = t + 2*4;
  8929. sp_int64 n;
  8930. sp_256_mont_inv_avx2_4(t1, p->z, t + 2*4);
  8931. sp_256_mont_sqr_avx2_4(t2, t1, p256_mod, p256_mp_mod);
  8932. sp_256_mont_mul_avx2_4(t1, t2, t1, p256_mod, p256_mp_mod);
  8933. /* x /= z^2 */
  8934. sp_256_mont_mul_avx2_4(r->x, p->x, t2, p256_mod, p256_mp_mod);
  8935. XMEMSET(r->x + 4, 0, sizeof(r->x) / 2U);
  8936. sp_256_mont_reduce_avx2_4(r->x, p256_mod, p256_mp_mod);
  8937. /* Reduce x to less than modulus */
  8938. n = sp_256_cmp_4(r->x, p256_mod);
  8939. sp_256_cond_sub_4(r->x, r->x, p256_mod, ~(n >> 63));
  8940. sp_256_norm_4(r->x);
  8941. /* y /= z^3 */
  8942. sp_256_mont_mul_avx2_4(r->y, p->y, t1, p256_mod, p256_mp_mod);
  8943. XMEMSET(r->y + 4, 0, sizeof(r->y) / 2U);
  8944. sp_256_mont_reduce_avx2_4(r->y, p256_mod, p256_mp_mod);
  8945. /* Reduce y to less than modulus */
  8946. n = sp_256_cmp_4(r->y, p256_mod);
  8947. sp_256_cond_sub_avx2_4(r->y, r->y, p256_mod, ~(n >> 63));
  8948. sp_256_norm_4(r->y);
  8949. XMEMSET(r->z, 0, sizeof(r->z) / 2);
  8950. r->z[0] = 1;
  8951. }
  8952. #define sp_256_mont_add_avx2_4 sp_256_mont_add_4
  8953. #define sp_256_mont_dbl_avx2_4 sp_256_mont_dbl_4
  8954. #define sp_256_mont_tpl_avx2_4 sp_256_mont_tpl_4
  8955. #define sp_256_mont_sub_avx2_4 sp_256_mont_sub_4
  8956. #define sp_256_mont_sub_lower_avx2_4 sp_256_mont_sub_lower_4
  8957. #ifdef __cplusplus
  8958. extern "C" {
  8959. #endif
  8960. extern void sp_256_div2_avx2_4(sp_digit* r, const sp_digit* a, const sp_digit* m);
  8961. #ifdef __cplusplus
  8962. }
  8963. #endif
  8964. /* Double the Montgomery form projective point p.
  8965. *
  8966. * r Result of doubling point.
  8967. * p Point to double.
  8968. * t Temporary ordinate data.
  8969. */
  8970. #ifdef WOLFSSL_SP_NONBLOCK
  8971. typedef struct sp_256_proj_point_dbl_avx2_4_ctx {
  8972. int state;
  8973. sp_digit* t1;
  8974. sp_digit* t2;
  8975. sp_digit* x;
  8976. sp_digit* y;
  8977. sp_digit* z;
  8978. } sp_256_proj_point_dbl_avx2_4_ctx;
  8979. static int sp_256_proj_point_dbl_avx2_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, const sp_point_256* p, sp_digit* t)
  8980. {
  8981. int err = FP_WOULDBLOCK;
  8982. sp_256_proj_point_dbl_avx2_4_ctx* ctx = (sp_256_proj_point_dbl_avx2_4_ctx*)sp_ctx->data;
  8983. typedef char ctx_size_test[sizeof(sp_256_proj_point_dbl_avx2_4_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  8984. (void)sizeof(ctx_size_test);
  8985. switch (ctx->state) {
  8986. case 0:
  8987. ctx->t1 = t;
  8988. ctx->t2 = t + 2*4;
  8989. ctx->x = r->x;
  8990. ctx->y = r->y;
  8991. ctx->z = r->z;
  8992. /* Put infinity into result. */
  8993. if (r != p) {
  8994. r->infinity = p->infinity;
  8995. }
  8996. ctx->state = 1;
  8997. break;
  8998. case 1:
  8999. /* T1 = Z * Z */
  9000. sp_256_mont_sqr_avx2_4(ctx->t1, p->z, p256_mod, p256_mp_mod);
  9001. ctx->state = 2;
  9002. break;
  9003. case 2:
  9004. /* Z = Y * Z */
  9005. sp_256_mont_mul_avx2_4(ctx->z, p->y, p->z, p256_mod, p256_mp_mod);
  9006. ctx->state = 3;
  9007. break;
  9008. case 3:
  9009. /* Z = 2Z */
  9010. sp_256_mont_dbl_avx2_4(ctx->z, ctx->z, p256_mod);
  9011. ctx->state = 4;
  9012. break;
  9013. case 4:
  9014. /* T2 = X - T1 */
  9015. sp_256_mont_sub_avx2_4(ctx->t2, p->x, ctx->t1, p256_mod);
  9016. ctx->state = 5;
  9017. break;
  9018. case 5:
  9019. /* T1 = X + T1 */
  9020. sp_256_mont_add_avx2_4(ctx->t1, p->x, ctx->t1, p256_mod);
  9021. ctx->state = 6;
  9022. break;
  9023. case 6:
  9024. /* T2 = T1 * T2 */
  9025. sp_256_mont_mul_avx2_4(ctx->t2, ctx->t1, ctx->t2, p256_mod, p256_mp_mod);
  9026. ctx->state = 7;
  9027. break;
  9028. case 7:
  9029. /* T1 = 3T2 */
  9030. sp_256_mont_tpl_avx2_4(ctx->t1, ctx->t2, p256_mod);
  9031. ctx->state = 8;
  9032. break;
  9033. case 8:
  9034. /* Y = 2Y */
  9035. sp_256_mont_dbl_avx2_4(ctx->y, p->y, p256_mod);
  9036. ctx->state = 9;
  9037. break;
  9038. case 9:
  9039. /* Y = Y * Y */
  9040. sp_256_mont_sqr_avx2_4(ctx->y, ctx->y, p256_mod, p256_mp_mod);
  9041. ctx->state = 10;
  9042. break;
  9043. case 10:
  9044. /* T2 = Y * Y */
  9045. sp_256_mont_sqr_avx2_4(ctx->t2, ctx->y, p256_mod, p256_mp_mod);
  9046. ctx->state = 11;
  9047. break;
  9048. case 11:
  9049. /* T2 = T2/2 */
  9050. sp_256_div2_avx2_4(ctx->t2, ctx->t2, p256_mod);
  9051. ctx->state = 12;
  9052. break;
  9053. case 12:
  9054. /* Y = Y * X */
  9055. sp_256_mont_mul_avx2_4(ctx->y, ctx->y, p->x, p256_mod, p256_mp_mod);
  9056. ctx->state = 13;
  9057. break;
  9058. case 13:
  9059. /* X = T1 * T1 */
  9060. sp_256_mont_sqr_avx2_4(ctx->x, ctx->t1, p256_mod, p256_mp_mod);
  9061. ctx->state = 14;
  9062. break;
  9063. case 14:
  9064. /* X = X - Y */
  9065. sp_256_mont_sub_avx2_4(ctx->x, ctx->x, ctx->y, p256_mod);
  9066. ctx->state = 15;
  9067. break;
  9068. case 15:
  9069. /* X = X - Y */
  9070. sp_256_mont_sub_avx2_4(ctx->x, ctx->x, ctx->y, p256_mod);
  9071. ctx->state = 16;
  9072. break;
  9073. case 16:
  9074. /* Y = Y - X */
  9075. sp_256_mont_sub_lower_avx2_4(ctx->y, ctx->y, ctx->x, p256_mod);
  9076. ctx->state = 17;
  9077. break;
  9078. case 17:
  9079. /* Y = Y * T1 */
  9080. sp_256_mont_mul_avx2_4(ctx->y, ctx->y, ctx->t1, p256_mod, p256_mp_mod);
  9081. ctx->state = 18;
  9082. break;
  9083. case 18:
  9084. /* Y = Y - T2 */
  9085. sp_256_mont_sub_avx2_4(ctx->y, ctx->y, ctx->t2, p256_mod);
  9086. ctx->state = 19;
  9087. /* fall-through */
  9088. case 19:
  9089. err = MP_OKAY;
  9090. break;
  9091. }
  9092. if (err == MP_OKAY && ctx->state != 19) {
  9093. err = FP_WOULDBLOCK;
  9094. }
  9095. return err;
  9096. }
  9097. #endif /* WOLFSSL_SP_NONBLOCK */
  9098. static void sp_256_proj_point_dbl_avx2_4(sp_point_256* r, const sp_point_256* p,
  9099. sp_digit* t)
  9100. {
  9101. sp_digit* t1 = t;
  9102. sp_digit* t2 = t + 2*4;
  9103. sp_digit* x;
  9104. sp_digit* y;
  9105. sp_digit* z;
  9106. x = r->x;
  9107. y = r->y;
  9108. z = r->z;
  9109. /* Put infinity into result. */
  9110. if (r != p) {
  9111. r->infinity = p->infinity;
  9112. }
  9113. /* T1 = Z * Z */
  9114. sp_256_mont_sqr_avx2_4(t1, p->z, p256_mod, p256_mp_mod);
  9115. /* Z = Y * Z */
  9116. sp_256_mont_mul_avx2_4(z, p->y, p->z, p256_mod, p256_mp_mod);
  9117. /* Z = 2Z */
  9118. sp_256_mont_dbl_avx2_4(z, z, p256_mod);
  9119. /* T2 = X - T1 */
  9120. sp_256_mont_sub_avx2_4(t2, p->x, t1, p256_mod);
  9121. /* T1 = X + T1 */
  9122. sp_256_mont_add_avx2_4(t1, p->x, t1, p256_mod);
  9123. /* T2 = T1 * T2 */
  9124. sp_256_mont_mul_avx2_4(t2, t1, t2, p256_mod, p256_mp_mod);
  9125. /* T1 = 3T2 */
  9126. sp_256_mont_tpl_avx2_4(t1, t2, p256_mod);
  9127. /* Y = 2Y */
  9128. sp_256_mont_dbl_avx2_4(y, p->y, p256_mod);
  9129. /* Y = Y * Y */
  9130. sp_256_mont_sqr_avx2_4(y, y, p256_mod, p256_mp_mod);
  9131. /* T2 = Y * Y */
  9132. sp_256_mont_sqr_avx2_4(t2, y, p256_mod, p256_mp_mod);
  9133. /* T2 = T2/2 */
  9134. sp_256_div2_avx2_4(t2, t2, p256_mod);
  9135. /* Y = Y * X */
  9136. sp_256_mont_mul_avx2_4(y, y, p->x, p256_mod, p256_mp_mod);
  9137. /* X = T1 * T1 */
  9138. sp_256_mont_sqr_avx2_4(x, t1, p256_mod, p256_mp_mod);
  9139. /* X = X - Y */
  9140. sp_256_mont_sub_avx2_4(x, x, y, p256_mod);
  9141. /* X = X - Y */
  9142. sp_256_mont_sub_avx2_4(x, x, y, p256_mod);
  9143. /* Y = Y - X */
  9144. sp_256_mont_sub_lower_avx2_4(y, y, x, p256_mod);
  9145. /* Y = Y * T1 */
  9146. sp_256_mont_mul_avx2_4(y, y, t1, p256_mod, p256_mp_mod);
  9147. /* Y = Y - T2 */
  9148. sp_256_mont_sub_avx2_4(y, y, t2, p256_mod);
  9149. }
  9150. #define sp_256_mont_tpl_lower_avx2_4 sp_256_mont_tpl_lower_4
  9151. #define sp_256_mont_sub_dbl_avx2_4 sp_256_mont_sub_dbl_4
  9152. #define sp_256_mont_dbl_sub_avx2_4 sp_256_mont_dbl_sub_4
  9153. /* Double the Montgomery form projective point p a number of times.
  9154. *
  9155. * r Result of repeated doubling of point.
  9156. * p Point to double.
  9157. * n Number of times to double
  9158. * t Temporary ordinate data.
  9159. */
  9160. static void sp_256_proj_point_dbl_n_avx2_4(sp_point_256* p, int i,
  9161. sp_digit* t)
  9162. {
  9163. sp_digit* w = t;
  9164. sp_digit* a = t + 2*4;
  9165. sp_digit* b = t + 4*4;
  9166. sp_digit* t1 = t + 6*4;
  9167. sp_digit* x;
  9168. sp_digit* y;
  9169. sp_digit* z;
  9170. volatile int n = i;
  9171. x = p->x;
  9172. y = p->y;
  9173. z = p->z;
  9174. /* Y = 2*Y */
  9175. sp_256_mont_dbl_avx2_4(y, y, p256_mod);
  9176. /* W = Z^4 */
  9177. sp_256_mont_sqr_avx2_4(w, z, p256_mod, p256_mp_mod);
  9178. sp_256_mont_sqr_avx2_4(w, w, p256_mod, p256_mp_mod);
  9179. #ifndef WOLFSSL_SP_SMALL
  9180. while (--n > 0)
  9181. #else
  9182. while (--n >= 0)
  9183. #endif
  9184. {
  9185. /* A = 3*(X^2 - W) */
  9186. sp_256_mont_sqr_avx2_4(t1, x, p256_mod, p256_mp_mod);
  9187. sp_256_mont_sub_avx2_4(t1, t1, w, p256_mod);
  9188. sp_256_mont_tpl_lower_avx2_4(a, t1, p256_mod);
  9189. /* B = X*Y^2 */
  9190. sp_256_mont_sqr_avx2_4(t1, y, p256_mod, p256_mp_mod);
  9191. sp_256_mont_mul_avx2_4(b, t1, x, p256_mod, p256_mp_mod);
  9192. /* X = A^2 - 2B */
  9193. sp_256_mont_sqr_avx2_4(x, a, p256_mod, p256_mp_mod);
  9194. sp_256_mont_sub_dbl_avx2_4(x, x, b, p256_mod);
  9195. /* b = 2.(B - X) */
  9196. sp_256_mont_dbl_sub_avx2_4(b, b, x, p256_mod);
  9197. /* Z = Z*Y */
  9198. sp_256_mont_mul_avx2_4(z, z, y, p256_mod, p256_mp_mod);
  9199. /* t1 = Y^4 */
  9200. sp_256_mont_sqr_avx2_4(t1, t1, p256_mod, p256_mp_mod);
  9201. #ifdef WOLFSSL_SP_SMALL
  9202. if (n != 0)
  9203. #endif
  9204. {
  9205. /* W = W*Y^4 */
  9206. sp_256_mont_mul_avx2_4(w, w, t1, p256_mod, p256_mp_mod);
  9207. }
  9208. /* y = 2*A*(B - X) - Y^4 */
  9209. sp_256_mont_mul_avx2_4(y, b, a, p256_mod, p256_mp_mod);
  9210. sp_256_mont_sub_avx2_4(y, y, t1, p256_mod);
  9211. }
  9212. #ifndef WOLFSSL_SP_SMALL
  9213. /* A = 3*(X^2 - W) */
  9214. sp_256_mont_sqr_avx2_4(t1, x, p256_mod, p256_mp_mod);
  9215. sp_256_mont_sub_avx2_4(t1, t1, w, p256_mod);
  9216. sp_256_mont_tpl_lower_avx2_4(a, t1, p256_mod);
  9217. /* B = X*Y^2 */
  9218. sp_256_mont_sqr_avx2_4(t1, y, p256_mod, p256_mp_mod);
  9219. sp_256_mont_mul_avx2_4(b, t1, x, p256_mod, p256_mp_mod);
  9220. /* X = A^2 - 2B */
  9221. sp_256_mont_sqr_avx2_4(x, a, p256_mod, p256_mp_mod);
  9222. sp_256_mont_sub_dbl_4(x, x, b, p256_mod);
  9223. /* b = 2.(B - X) */
  9224. sp_256_mont_dbl_sub_avx2_4(b, b, x, p256_mod);
  9225. /* Z = Z*Y */
  9226. sp_256_mont_mul_avx2_4(z, z, y, p256_mod, p256_mp_mod);
  9227. /* t1 = Y^4 */
  9228. sp_256_mont_sqr_avx2_4(t1, t1, p256_mod, p256_mp_mod);
  9229. /* y = 2*A*(B - X) - Y^4 */
  9230. sp_256_mont_mul_avx2_4(y, b, a, p256_mod, p256_mp_mod);
  9231. sp_256_mont_sub_avx2_4(y, y, t1, p256_mod);
  9232. #endif
  9233. /* Y = Y/2 */
  9234. sp_256_div2_avx2_4(y, y, p256_mod);
  9235. }
  9236. /* Add two Montgomery form projective points.
  9237. *
  9238. * r Result of addition.
  9239. * p First point to add.
  9240. * q Second point to add.
  9241. * t Temporary ordinate data.
  9242. */
  9243. #ifdef WOLFSSL_SP_NONBLOCK
  9244. typedef struct sp_256_proj_point_add_avx2_4_ctx {
  9245. int state;
  9246. sp_256_proj_point_dbl_avx2_4_ctx dbl_ctx;
  9247. const sp_point_256* ap[2];
  9248. sp_point_256* rp[2];
  9249. sp_digit* t1;
  9250. sp_digit* t2;
  9251. sp_digit* t3;
  9252. sp_digit* t4;
  9253. sp_digit* t5;
  9254. sp_digit* t6;
  9255. sp_digit* x;
  9256. sp_digit* y;
  9257. sp_digit* z;
  9258. } sp_256_proj_point_add_avx2_4_ctx;
  9259. static int sp_256_proj_point_add_avx2_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r,
  9260. const sp_point_256* p, const sp_point_256* q, sp_digit* t)
  9261. {
  9262. int err = FP_WOULDBLOCK;
  9263. sp_256_proj_point_add_avx2_4_ctx* ctx = (sp_256_proj_point_add_avx2_4_ctx*)sp_ctx->data;
  9264. /* Ensure only the first point is the same as the result. */
  9265. if (q == r) {
  9266. const sp_point_256* a = p;
  9267. p = q;
  9268. q = a;
  9269. }
  9270. typedef char ctx_size_test[sizeof(sp_256_proj_point_add_avx2_4_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  9271. (void)sizeof(ctx_size_test);
  9272. switch (ctx->state) {
  9273. case 0: /* INIT */
  9274. ctx->t1 = t;
  9275. ctx->t2 = t + 2*4;
  9276. ctx->t3 = t + 4*4;
  9277. ctx->t4 = t + 6*4;
  9278. ctx->t5 = t + 8*4;
  9279. ctx->t6 = t + 10*4;
  9280. ctx->x = ctx->t6;
  9281. ctx->y = ctx->t1;
  9282. ctx->z = ctx->t2;
  9283. ctx->state = 1;
  9284. break;
  9285. case 1:
  9286. /* Check double */
  9287. (void)sp_256_sub_avx2_4(ctx->t1, p256_mod, q->y);
  9288. sp_256_norm_avx2_4(ctx->t1);
  9289. if ((~p->infinity & ~q->infinity &
  9290. sp_256_cmp_equal_avx2_4(p->x, q->x) & sp_256_cmp_equal_avx2_4(p->z, q->z) &
  9291. (sp_256_cmp_equal_avx2_4(p->y, q->y) | sp_256_cmp_equal_avx2_4(p->y, ctx->t1))) != 0)
  9292. {
  9293. XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx));
  9294. ctx->state = 2;
  9295. }
  9296. else {
  9297. ctx->state = 3;
  9298. }
  9299. break;
  9300. case 2:
  9301. err = sp_256_proj_point_dbl_avx2_4_nb((sp_ecc_ctx_t*)&ctx->dbl_ctx, r, p, t);
  9302. if (err == MP_OKAY)
  9303. ctx->state = 27; /* done */
  9304. break;
  9305. case 3:
  9306. {
  9307. ctx->state = 4;
  9308. break;
  9309. }
  9310. case 4:
  9311. /* U1 = X1*Z2^2 */
  9312. sp_256_mont_sqr_avx2_4(ctx->t1, q->z, p256_mod, p256_mp_mod);
  9313. ctx->state = 5;
  9314. break;
  9315. case 5:
  9316. sp_256_mont_mul_avx2_4(ctx->t3, ctx->t1, q->z, p256_mod, p256_mp_mod);
  9317. ctx->state = 6;
  9318. break;
  9319. case 6:
  9320. sp_256_mont_mul_avx2_4(ctx->t1, ctx->t1, p->x, p256_mod, p256_mp_mod);
  9321. ctx->state = 7;
  9322. break;
  9323. case 7:
  9324. /* U2 = X2*Z1^2 */
  9325. sp_256_mont_sqr_avx2_4(ctx->t2, p->z, p256_mod, p256_mp_mod);
  9326. ctx->state = 8;
  9327. break;
  9328. case 8:
  9329. sp_256_mont_mul_avx2_4(ctx->t4, ctx->t2, p->z, p256_mod, p256_mp_mod);
  9330. ctx->state = 9;
  9331. break;
  9332. case 9:
  9333. sp_256_mont_mul_avx2_4(ctx->t2, ctx->t2, q->x, p256_mod, p256_mp_mod);
  9334. ctx->state = 10;
  9335. break;
  9336. case 10:
  9337. /* S1 = Y1*Z2^3 */
  9338. sp_256_mont_mul_avx2_4(ctx->t3, ctx->t3, p->y, p256_mod, p256_mp_mod);
  9339. ctx->state = 11;
  9340. break;
  9341. case 11:
  9342. /* S2 = Y2*Z1^3 */
  9343. sp_256_mont_mul_avx2_4(ctx->t4, ctx->t4, q->y, p256_mod, p256_mp_mod);
  9344. ctx->state = 12;
  9345. break;
  9346. case 12:
  9347. /* H = U2 - U1 */
  9348. sp_256_mont_sub_avx2_4(ctx->t2, ctx->t2, ctx->t1, p256_mod);
  9349. ctx->state = 13;
  9350. break;
  9351. case 13:
  9352. /* R = S2 - S1 */
  9353. sp_256_mont_sub_avx2_4(ctx->t4, ctx->t4, ctx->t3, p256_mod);
  9354. ctx->state = 14;
  9355. break;
  9356. case 14:
  9357. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  9358. sp_256_mont_sqr_avx2_4(ctx->t5, ctx->t2, p256_mod, p256_mp_mod);
  9359. ctx->state = 15;
  9360. break;
  9361. case 15:
  9362. sp_256_mont_mul_avx2_4(ctx->y, ctx->t1, ctx->t5, p256_mod, p256_mp_mod);
  9363. ctx->state = 16;
  9364. break;
  9365. case 16:
  9366. sp_256_mont_mul_avx2_4(ctx->t5, ctx->t5, ctx->t2, p256_mod, p256_mp_mod);
  9367. ctx->state = 17;
  9368. break;
  9369. case 17:
  9370. /* Z3 = H*Z1*Z2 */
  9371. sp_256_mont_mul_avx2_4(ctx->z, p->z, ctx->t2, p256_mod, p256_mp_mod);
  9372. ctx->state = 18;
  9373. break;
  9374. case 18:
  9375. sp_256_mont_mul_avx2_4(ctx->z, ctx->z, q->z, p256_mod, p256_mp_mod);
  9376. ctx->state = 19;
  9377. break;
  9378. case 19:
  9379. sp_256_mont_sqr_avx2_4(ctx->x, ctx->t4, p256_mod, p256_mp_mod);
  9380. ctx->state = 20;
  9381. break;
  9382. case 20:
  9383. sp_256_mont_sub_avx2_4(ctx->x, ctx->x, ctx->t5, p256_mod);
  9384. ctx->state = 21;
  9385. break;
  9386. case 21:
  9387. sp_256_mont_mul_avx2_4(ctx->t5, ctx->t5, ctx->t3, p256_mod, p256_mp_mod);
  9388. ctx->state = 22;
  9389. break;
  9390. case 22:
  9391. sp_256_mont_dbl_avx2_4(ctx->t3, ctx->y, p256_mod);
  9392. ctx->state = 23;
  9393. break;
  9394. case 23:
  9395. sp_256_mont_sub_avx2_4(ctx->x, ctx->x, ctx->t3, p256_mod);
  9396. ctx->state = 24;
  9397. break;
  9398. case 24:
  9399. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  9400. sp_256_mont_sub_lower_avx2_4(ctx->y, ctx->y, ctx->x, p256_mod);
  9401. ctx->state = 25;
  9402. break;
  9403. case 25:
  9404. sp_256_mont_mul_avx2_4(ctx->y, ctx->y, ctx->t4, p256_mod, p256_mp_mod);
  9405. ctx->state = 26;
  9406. break;
  9407. case 26:
  9408. sp_256_mont_sub_avx2_4(ctx->y, ctx->y, ctx->t5, p256_mod);
  9409. ctx->state = 27;
  9410. /* fall-through */
  9411. case 27:
  9412. {
  9413. int i;
  9414. sp_digit maskp = 0 - (q->infinity & (!p->infinity));
  9415. sp_digit maskq = 0 - (p->infinity & (!q->infinity));
  9416. sp_digit maskt = ~(maskp | maskq);
  9417. for (i = 0; i < 4; i++) {
  9418. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  9419. (ctx->x[i] & maskt);
  9420. }
  9421. for (i = 0; i < 4; i++) {
  9422. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  9423. (ctx->y[i] & maskt);
  9424. }
  9425. for (i = 0; i < 4; i++) {
  9426. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  9427. (ctx->z[i] & maskt);
  9428. }
  9429. r->z[0] |= p->infinity & q->infinity;
  9430. r->infinity = p->infinity & q->infinity;
  9431. err = MP_OKAY;
  9432. break;
  9433. }
  9434. }
  9435. if (err == MP_OKAY && ctx->state != 27) {
  9436. err = FP_WOULDBLOCK;
  9437. }
  9438. return err;
  9439. }
  9440. #endif /* WOLFSSL_SP_NONBLOCK */
  9441. static void sp_256_proj_point_add_avx2_4(sp_point_256* r,
  9442. const sp_point_256* p, const sp_point_256* q, sp_digit* t)
  9443. {
  9444. sp_digit* t1 = t;
  9445. sp_digit* t2 = t + 2*4;
  9446. sp_digit* t3 = t + 4*4;
  9447. sp_digit* t4 = t + 6*4;
  9448. sp_digit* t5 = t + 8*4;
  9449. sp_digit* t6 = t + 10*4;
  9450. /* Check double */
  9451. (void)sp_256_sub_4(t1, p256_mod, q->y);
  9452. sp_256_norm_4(t1);
  9453. if ((~p->infinity & ~q->infinity &
  9454. sp_256_cmp_equal_4(p->x, q->x) & sp_256_cmp_equal_4(p->z, q->z) &
  9455. (sp_256_cmp_equal_4(p->y, q->y) | sp_256_cmp_equal_4(p->y, t1))) != 0) {
  9456. sp_256_proj_point_dbl_avx2_4(r, p, t);
  9457. }
  9458. else {
  9459. sp_digit maskp;
  9460. sp_digit maskq;
  9461. sp_digit maskt;
  9462. sp_digit* x = t6;
  9463. sp_digit* y = t1;
  9464. sp_digit* z = t2;
  9465. int i;
  9466. maskp = 0 - (q->infinity & (!p->infinity));
  9467. maskq = 0 - (p->infinity & (!q->infinity));
  9468. maskt = ~(maskp | maskq);
  9469. /* U1 = X1*Z2^2 */
  9470. sp_256_mont_sqr_avx2_4(t1, q->z, p256_mod, p256_mp_mod);
  9471. sp_256_mont_mul_avx2_4(t3, t1, q->z, p256_mod, p256_mp_mod);
  9472. sp_256_mont_mul_avx2_4(t1, t1, p->x, p256_mod, p256_mp_mod);
  9473. /* U2 = X2*Z1^2 */
  9474. sp_256_mont_sqr_avx2_4(t2, p->z, p256_mod, p256_mp_mod);
  9475. sp_256_mont_mul_avx2_4(t4, t2, p->z, p256_mod, p256_mp_mod);
  9476. sp_256_mont_mul_avx2_4(t2, t2, q->x, p256_mod, p256_mp_mod);
  9477. /* S1 = Y1*Z2^3 */
  9478. sp_256_mont_mul_avx2_4(t3, t3, p->y, p256_mod, p256_mp_mod);
  9479. /* S2 = Y2*Z1^3 */
  9480. sp_256_mont_mul_avx2_4(t4, t4, q->y, p256_mod, p256_mp_mod);
  9481. /* H = U2 - U1 */
  9482. sp_256_mont_sub_avx2_4(t2, t2, t1, p256_mod);
  9483. /* R = S2 - S1 */
  9484. sp_256_mont_sub_avx2_4(t4, t4, t3, p256_mod);
  9485. if (~p->infinity & ~q->infinity &
  9486. sp_256_iszero_4(t2) & sp_256_iszero_4(t4) & maskt) {
  9487. sp_256_proj_point_dbl_avx2_4(r, p, t);
  9488. }
  9489. else {
  9490. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  9491. sp_256_mont_sqr_avx2_4(t5, t2, p256_mod, p256_mp_mod);
  9492. sp_256_mont_mul_avx2_4(y, t1, t5, p256_mod, p256_mp_mod);
  9493. sp_256_mont_mul_avx2_4(t5, t5, t2, p256_mod, p256_mp_mod);
  9494. /* Z3 = H*Z1*Z2 */
  9495. sp_256_mont_mul_avx2_4(z, p->z, t2, p256_mod, p256_mp_mod);
  9496. sp_256_mont_mul_avx2_4(z, z, q->z, p256_mod, p256_mp_mod);
  9497. sp_256_mont_sqr_avx2_4(x, t4, p256_mod, p256_mp_mod);
  9498. sp_256_mont_sub_avx2_4(x, x, t5, p256_mod);
  9499. sp_256_mont_mul_avx2_4(t5, t5, t3, p256_mod, p256_mp_mod);
  9500. sp_256_mont_sub_dbl_avx2_4(x, x, y, p256_mod);
  9501. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  9502. sp_256_mont_sub_lower_avx2_4(y, y, x, p256_mod);
  9503. sp_256_mont_mul_avx2_4(y, y, t4, p256_mod, p256_mp_mod);
  9504. sp_256_mont_sub_avx2_4(y, y, t5, p256_mod);
  9505. for (i = 0; i < 4; i++) {
  9506. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  9507. (x[i] & maskt);
  9508. }
  9509. for (i = 0; i < 4; i++) {
  9510. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  9511. (y[i] & maskt);
  9512. }
  9513. for (i = 0; i < 4; i++) {
  9514. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  9515. (z[i] & maskt);
  9516. }
  9517. r->z[0] |= p->infinity & q->infinity;
  9518. r->infinity = p->infinity & q->infinity;
  9519. }
  9520. }
  9521. }
  9522. /* Double the Montgomery form projective point p a number of times.
  9523. *
  9524. * r Result of repeated doubling of point.
  9525. * p Point to double.
  9526. * n Number of times to double
  9527. * t Temporary ordinate data.
  9528. */
  9529. static void sp_256_proj_point_dbl_n_store_avx2_4(sp_point_256* r,
  9530. const sp_point_256* p, int n, int m, sp_digit* t)
  9531. {
  9532. sp_digit* w = t;
  9533. sp_digit* a = t + 2*4;
  9534. sp_digit* b = t + 4*4;
  9535. sp_digit* t1 = t + 6*4;
  9536. sp_digit* x = r[2*m].x;
  9537. sp_digit* y = r[(1<<n)*m].y;
  9538. sp_digit* z = r[2*m].z;
  9539. int i;
  9540. int j;
  9541. for (i=0; i<4; i++) {
  9542. x[i] = p->x[i];
  9543. }
  9544. for (i=0; i<4; i++) {
  9545. y[i] = p->y[i];
  9546. }
  9547. for (i=0; i<4; i++) {
  9548. z[i] = p->z[i];
  9549. }
  9550. /* Y = 2*Y */
  9551. sp_256_mont_dbl_avx2_4(y, y, p256_mod);
  9552. /* W = Z^4 */
  9553. sp_256_mont_sqr_avx2_4(w, z, p256_mod, p256_mp_mod);
  9554. sp_256_mont_sqr_avx2_4(w, w, p256_mod, p256_mp_mod);
  9555. j = m;
  9556. for (i=1; i<=n; i++) {
  9557. j *= 2;
  9558. /* A = 3*(X^2 - W) */
  9559. sp_256_mont_sqr_avx2_4(t1, x, p256_mod, p256_mp_mod);
  9560. sp_256_mont_sub_avx2_4(t1, t1, w, p256_mod);
  9561. sp_256_mont_tpl_lower_avx2_4(a, t1, p256_mod);
  9562. /* B = X*Y^2 */
  9563. sp_256_mont_sqr_avx2_4(t1, y, p256_mod, p256_mp_mod);
  9564. sp_256_mont_mul_avx2_4(b, t1, x, p256_mod, p256_mp_mod);
  9565. x = r[j].x;
  9566. /* X = A^2 - 2B */
  9567. sp_256_mont_sqr_avx2_4(x, a, p256_mod, p256_mp_mod);
  9568. sp_256_mont_sub_dbl_avx2_4(x, x, b, p256_mod);
  9569. /* b = 2.(B - X) */
  9570. sp_256_mont_dbl_sub_avx2_4(b, b, x, p256_mod);
  9571. /* Z = Z*Y */
  9572. sp_256_mont_mul_avx2_4(r[j].z, z, y, p256_mod, p256_mp_mod);
  9573. z = r[j].z;
  9574. /* t1 = Y^4 */
  9575. sp_256_mont_sqr_avx2_4(t1, t1, p256_mod, p256_mp_mod);
  9576. if (i != n) {
  9577. /* W = W*Y^4 */
  9578. sp_256_mont_mul_avx2_4(w, w, t1, p256_mod, p256_mp_mod);
  9579. }
  9580. /* y = 2*A*(B - X) - Y^4 */
  9581. sp_256_mont_mul_avx2_4(y, b, a, p256_mod, p256_mp_mod);
  9582. sp_256_mont_sub_avx2_4(y, y, t1, p256_mod);
  9583. /* Y = Y/2 */
  9584. sp_256_div2_avx2_4(r[j].y, y, p256_mod);
  9585. r[j].infinity = 0;
  9586. }
  9587. }
  9588. /* Add two Montgomery form projective points.
  9589. *
  9590. * ra Result of addition.
  9591. * rs Result of subtraction.
  9592. * p First point to add.
  9593. * q Second point to add.
  9594. * t Temporary ordinate data.
  9595. */
  9596. static void sp_256_proj_point_add_sub_avx2_4(sp_point_256* ra,
  9597. sp_point_256* rs, const sp_point_256* p, const sp_point_256* q,
  9598. sp_digit* t)
  9599. {
  9600. sp_digit* t1 = t;
  9601. sp_digit* t2 = t + 2*4;
  9602. sp_digit* t3 = t + 4*4;
  9603. sp_digit* t4 = t + 6*4;
  9604. sp_digit* t5 = t + 8*4;
  9605. sp_digit* t6 = t + 10*4;
  9606. sp_digit* xa = ra->x;
  9607. sp_digit* ya = ra->y;
  9608. sp_digit* za = ra->z;
  9609. sp_digit* xs = rs->x;
  9610. sp_digit* ys = rs->y;
  9611. sp_digit* zs = rs->z;
  9612. XMEMCPY(xa, p->x, sizeof(p->x) / 2);
  9613. XMEMCPY(ya, p->y, sizeof(p->y) / 2);
  9614. XMEMCPY(za, p->z, sizeof(p->z) / 2);
  9615. ra->infinity = 0;
  9616. rs->infinity = 0;
  9617. /* U1 = X1*Z2^2 */
  9618. sp_256_mont_sqr_avx2_4(t1, q->z, p256_mod, p256_mp_mod);
  9619. sp_256_mont_mul_avx2_4(t3, t1, q->z, p256_mod, p256_mp_mod);
  9620. sp_256_mont_mul_avx2_4(t1, t1, xa, p256_mod, p256_mp_mod);
  9621. /* U2 = X2*Z1^2 */
  9622. sp_256_mont_sqr_avx2_4(t2, za, p256_mod, p256_mp_mod);
  9623. sp_256_mont_mul_avx2_4(t4, t2, za, p256_mod, p256_mp_mod);
  9624. sp_256_mont_mul_avx2_4(t2, t2, q->x, p256_mod, p256_mp_mod);
  9625. /* S1 = Y1*Z2^3 */
  9626. sp_256_mont_mul_avx2_4(t3, t3, ya, p256_mod, p256_mp_mod);
  9627. /* S2 = Y2*Z1^3 */
  9628. sp_256_mont_mul_avx2_4(t4, t4, q->y, p256_mod, p256_mp_mod);
  9629. /* H = U2 - U1 */
  9630. sp_256_mont_sub_avx2_4(t2, t2, t1, p256_mod);
  9631. /* RS = S2 + S1 */
  9632. sp_256_mont_add_avx2_4(t6, t4, t3, p256_mod);
  9633. /* R = S2 - S1 */
  9634. sp_256_mont_sub_avx2_4(t4, t4, t3, p256_mod);
  9635. /* Z3 = H*Z1*Z2 */
  9636. /* ZS = H*Z1*Z2 */
  9637. sp_256_mont_mul_avx2_4(za, za, q->z, p256_mod, p256_mp_mod);
  9638. sp_256_mont_mul_avx2_4(za, za, t2, p256_mod, p256_mp_mod);
  9639. XMEMCPY(zs, za, sizeof(p->z)/2);
  9640. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  9641. /* XS = RS^2 - H^3 - 2*U1*H^2 */
  9642. sp_256_mont_sqr_avx2_4(xa, t4, p256_mod, p256_mp_mod);
  9643. sp_256_mont_sqr_avx2_4(xs, t6, p256_mod, p256_mp_mod);
  9644. sp_256_mont_sqr_avx2_4(t5, t2, p256_mod, p256_mp_mod);
  9645. sp_256_mont_mul_avx2_4(ya, t1, t5, p256_mod, p256_mp_mod);
  9646. sp_256_mont_mul_avx2_4(t5, t5, t2, p256_mod, p256_mp_mod);
  9647. sp_256_mont_sub_avx2_4(xa, xa, t5, p256_mod);
  9648. sp_256_mont_sub_avx2_4(xs, xs, t5, p256_mod);
  9649. sp_256_mont_dbl_avx2_4(t1, ya, p256_mod);
  9650. sp_256_mont_sub_avx2_4(xa, xa, t1, p256_mod);
  9651. sp_256_mont_sub_avx2_4(xs, xs, t1, p256_mod);
  9652. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  9653. /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */
  9654. sp_256_mont_sub_lower_avx2_4(ys, ya, xs, p256_mod);
  9655. sp_256_mont_sub_lower_avx2_4(ya, ya, xa, p256_mod);
  9656. sp_256_mont_mul_avx2_4(ya, ya, t4, p256_mod, p256_mp_mod);
  9657. sp_256_sub_4(t6, p256_mod, t6);
  9658. sp_256_mont_mul_avx2_4(ys, ys, t6, p256_mod, p256_mp_mod);
  9659. sp_256_mont_mul_avx2_4(t5, t5, t3, p256_mod, p256_mp_mod);
  9660. sp_256_mont_sub_avx2_4(ya, ya, t5, p256_mod);
  9661. sp_256_mont_sub_avx2_4(ys, ys, t5, p256_mod);
  9662. }
  9663. /* Multiply the point by the scalar and return the result.
  9664. * If map is true then convert result to affine coordinates.
  9665. *
  9666. * Window technique of 6 bits. (Add-Sub variation.)
  9667. * Calculate 0..32 times the point. Use function that adds and
  9668. * subtracts the same two points.
  9669. * Recode to add or subtract one of the computed points.
  9670. * Double to push up.
  9671. * NOT a sliding window.
  9672. *
  9673. * r Resulting point.
  9674. * g Point to multiply.
  9675. * k Scalar to multiply by.
  9676. * map Indicates whether to convert result to affine.
  9677. * ct Constant time required.
  9678. * heap Heap to use for allocation.
  9679. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  9680. */
  9681. static int sp_256_ecc_mulmod_win_add_sub_avx2_4(sp_point_256* r, const sp_point_256* g,
  9682. const sp_digit* k, int map, int ct, void* heap)
  9683. {
  9684. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  9685. sp_point_256* t = NULL;
  9686. sp_digit* tmp = NULL;
  9687. #else
  9688. sp_point_256 t[33+2];
  9689. sp_digit tmp[2 * 4 * 6];
  9690. #endif
  9691. sp_point_256* rt = NULL;
  9692. sp_point_256* p = NULL;
  9693. sp_digit* negy;
  9694. int i;
  9695. ecc_recode_256 v[43];
  9696. int err = MP_OKAY;
  9697. /* Constant time used for cache attack resistance implementation. */
  9698. (void)ct;
  9699. (void)heap;
  9700. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  9701. t = (sp_point_256*)XMALLOC(sizeof(sp_point_256) *
  9702. (33+2), heap, DYNAMIC_TYPE_ECC);
  9703. if (t == NULL)
  9704. err = MEMORY_E;
  9705. if (err == MP_OKAY) {
  9706. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6,
  9707. heap, DYNAMIC_TYPE_ECC);
  9708. if (tmp == NULL)
  9709. err = MEMORY_E;
  9710. }
  9711. #endif
  9712. if (err == MP_OKAY) {
  9713. rt = t + 33;
  9714. p = t + 33+1;
  9715. /* t[0] = {0, 0, 1} * norm */
  9716. XMEMSET(&t[0], 0, sizeof(t[0]));
  9717. t[0].infinity = 1;
  9718. /* t[1] = {g->x, g->y, g->z} * norm */
  9719. err = sp_256_mod_mul_norm_avx2_4(t[1].x, g->x, p256_mod);
  9720. }
  9721. if (err == MP_OKAY) {
  9722. err = sp_256_mod_mul_norm_avx2_4(t[1].y, g->y, p256_mod);
  9723. }
  9724. if (err == MP_OKAY) {
  9725. err = sp_256_mod_mul_norm_avx2_4(t[1].z, g->z, p256_mod);
  9726. }
  9727. if (err == MP_OKAY) {
  9728. t[1].infinity = 0;
  9729. /* t[2] ... t[32] */
  9730. sp_256_proj_point_dbl_n_store_avx2_4(t, &t[ 1], 5, 1, tmp);
  9731. sp_256_proj_point_add_avx2_4(&t[ 3], &t[ 2], &t[ 1], tmp);
  9732. sp_256_proj_point_dbl_avx2_4(&t[ 6], &t[ 3], tmp);
  9733. sp_256_proj_point_add_sub_avx2_4(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp);
  9734. sp_256_proj_point_dbl_avx2_4(&t[10], &t[ 5], tmp);
  9735. sp_256_proj_point_add_sub_avx2_4(&t[11], &t[ 9], &t[10], &t[ 1], tmp);
  9736. sp_256_proj_point_dbl_avx2_4(&t[12], &t[ 6], tmp);
  9737. sp_256_proj_point_dbl_avx2_4(&t[14], &t[ 7], tmp);
  9738. sp_256_proj_point_add_sub_avx2_4(&t[15], &t[13], &t[14], &t[ 1], tmp);
  9739. sp_256_proj_point_dbl_avx2_4(&t[18], &t[ 9], tmp);
  9740. sp_256_proj_point_add_sub_avx2_4(&t[19], &t[17], &t[18], &t[ 1], tmp);
  9741. sp_256_proj_point_dbl_avx2_4(&t[20], &t[10], tmp);
  9742. sp_256_proj_point_dbl_avx2_4(&t[22], &t[11], tmp);
  9743. sp_256_proj_point_add_sub_avx2_4(&t[23], &t[21], &t[22], &t[ 1], tmp);
  9744. sp_256_proj_point_dbl_avx2_4(&t[24], &t[12], tmp);
  9745. sp_256_proj_point_dbl_avx2_4(&t[26], &t[13], tmp);
  9746. sp_256_proj_point_add_sub_avx2_4(&t[27], &t[25], &t[26], &t[ 1], tmp);
  9747. sp_256_proj_point_dbl_avx2_4(&t[28], &t[14], tmp);
  9748. sp_256_proj_point_dbl_avx2_4(&t[30], &t[15], tmp);
  9749. sp_256_proj_point_add_sub_avx2_4(&t[31], &t[29], &t[30], &t[ 1], tmp);
  9750. negy = t[0].y;
  9751. sp_256_ecc_recode_6_4(k, v);
  9752. i = 42;
  9753. #ifndef WC_NO_CACHE_RESISTANT
  9754. if (ct) {
  9755. sp_256_get_point_33_avx2_4(rt, t, v[i].i);
  9756. rt->infinity = !v[i].i;
  9757. }
  9758. else
  9759. #endif
  9760. {
  9761. XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_256));
  9762. }
  9763. for (--i; i>=0; i--) {
  9764. sp_256_proj_point_dbl_n_avx2_4(rt, 6, tmp);
  9765. #ifndef WC_NO_CACHE_RESISTANT
  9766. if (ct) {
  9767. sp_256_get_point_33_avx2_4(p, t, v[i].i);
  9768. p->infinity = !v[i].i;
  9769. }
  9770. else
  9771. #endif
  9772. {
  9773. XMEMCPY(p, &t[v[i].i], sizeof(sp_point_256));
  9774. }
  9775. sp_256_sub_4(negy, p256_mod, p->y);
  9776. sp_256_norm_4(negy);
  9777. sp_256_cond_copy_4(p->y, negy, (sp_digit)0 - v[i].neg);
  9778. sp_256_proj_point_add_avx2_4(rt, rt, p, tmp);
  9779. }
  9780. if (map != 0) {
  9781. sp_256_map_avx2_4(r, rt, tmp);
  9782. }
  9783. else {
  9784. XMEMCPY(r, rt, sizeof(sp_point_256));
  9785. }
  9786. }
  9787. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  9788. if (t != NULL)
  9789. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  9790. if (tmp != NULL)
  9791. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  9792. #endif
  9793. return err;
  9794. }
  9795. #endif /* HAVE_INTEL_AVX2 */
  9796. /* A table entry for pre-computed points. */
  9797. typedef struct sp_table_entry_256 {
  9798. sp_digit x[4];
  9799. sp_digit y[4];
  9800. } sp_table_entry_256;
  9801. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  9802. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  9803. /* Add two Montgomery form projective points. The second point has a q value of
  9804. * one.
  9805. * Only the first point can be the same pointer as the result point.
  9806. *
  9807. * r Result of addition.
  9808. * p First point to add.
  9809. * q Second point to add.
  9810. * t Temporary ordinate data.
  9811. */
  9812. static void sp_256_proj_point_add_qz1_4(sp_point_256* r, const sp_point_256* p,
  9813. const sp_point_256* q, sp_digit* t)
  9814. {
  9815. sp_digit* t1 = t;
  9816. sp_digit* t2 = t + 2*4;
  9817. sp_digit* t3 = t + 4*4;
  9818. sp_digit* t4 = t + 6*4;
  9819. sp_digit* t5 = t + 8*4;
  9820. sp_digit* t6 = t + 10*4;
  9821. /* Check double */
  9822. (void)sp_256_sub_4(t1, p256_mod, q->y);
  9823. sp_256_norm_4(t1);
  9824. if ((~p->infinity & ~q->infinity &
  9825. sp_256_cmp_equal_4(p->x, q->x) & sp_256_cmp_equal_4(p->z, q->z) &
  9826. (sp_256_cmp_equal_4(p->y, q->y) | sp_256_cmp_equal_4(p->y, t1))) != 0) {
  9827. sp_256_proj_point_dbl_4(r, p, t);
  9828. }
  9829. else {
  9830. sp_digit maskp;
  9831. sp_digit maskq;
  9832. sp_digit maskt;
  9833. sp_digit* x = t2;
  9834. sp_digit* y = t5;
  9835. sp_digit* z = t6;
  9836. int i;
  9837. /* U2 = X2*Z1^2 */
  9838. sp_256_mont_sqr_4(t2, p->z, p256_mod, p256_mp_mod);
  9839. sp_256_mont_mul_4(t4, t2, p->z, p256_mod, p256_mp_mod);
  9840. sp_256_mont_mul_4(t2, t2, q->x, p256_mod, p256_mp_mod);
  9841. /* S2 = Y2*Z1^3 */
  9842. sp_256_mont_mul_4(t4, t4, q->y, p256_mod, p256_mp_mod);
  9843. /* H = U2 - X1 */
  9844. sp_256_mont_sub_4(t2, t2, p->x, p256_mod);
  9845. /* R = S2 - Y1 */
  9846. sp_256_mont_sub_4(t4, t4, p->y, p256_mod);
  9847. /* Z3 = H*Z1 */
  9848. sp_256_mont_mul_4(z, p->z, t2, p256_mod, p256_mp_mod);
  9849. /* X3 = R^2 - H^3 - 2*X1*H^2 */
  9850. sp_256_mont_sqr_4(t1, t4, p256_mod, p256_mp_mod);
  9851. sp_256_mont_sqr_4(t5, t2, p256_mod, p256_mp_mod);
  9852. sp_256_mont_mul_4(t3, p->x, t5, p256_mod, p256_mp_mod);
  9853. sp_256_mont_mul_4(t5, t5, t2, p256_mod, p256_mp_mod);
  9854. sp_256_mont_sub_4(x, t1, t5, p256_mod);
  9855. sp_256_mont_sub_dbl_4(x, x, t3, p256_mod);
  9856. /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */
  9857. sp_256_mont_sub_lower_4(t3, t3, x, p256_mod);
  9858. sp_256_mont_mul_4(t3, t3, t4, p256_mod, p256_mp_mod);
  9859. sp_256_mont_mul_4(t5, t5, p->y, p256_mod, p256_mp_mod);
  9860. sp_256_mont_sub_4(y, t3, t5, p256_mod);
  9861. maskp = 0 - (q->infinity & (!p->infinity));
  9862. maskq = 0 - (p->infinity & (!q->infinity));
  9863. maskt = ~(maskp | maskq);
  9864. for (i = 0; i < 4; i++) {
  9865. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | (x[i] & maskt);
  9866. }
  9867. for (i = 0; i < 4; i++) {
  9868. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | (y[i] & maskt);
  9869. }
  9870. for (i = 0; i < 4; i++) {
  9871. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | (z[i] & maskt);
  9872. }
  9873. r->z[0] |= p->infinity & q->infinity;
  9874. r->infinity = p->infinity & q->infinity;
  9875. }
  9876. }
  9877. #ifdef FP_ECC
  9878. /* Convert the projective point to affine.
  9879. * Ordinates are in Montgomery form.
  9880. *
  9881. * a Point to convert.
  9882. * t Temporary data.
  9883. */
  9884. static void sp_256_proj_to_affine_4(sp_point_256* a, sp_digit* t)
  9885. {
  9886. sp_digit* t1 = t;
  9887. sp_digit* t2 = t + 2 * 4;
  9888. sp_digit* tmp = t + 4 * 4;
  9889. sp_256_mont_inv_4(t1, a->z, tmp);
  9890. sp_256_mont_sqr_4(t2, t1, p256_mod, p256_mp_mod);
  9891. sp_256_mont_mul_4(t1, t2, t1, p256_mod, p256_mp_mod);
  9892. sp_256_mont_mul_4(a->x, a->x, t2, p256_mod, p256_mp_mod);
  9893. sp_256_mont_mul_4(a->y, a->y, t1, p256_mod, p256_mp_mod);
  9894. XMEMCPY(a->z, p256_norm_mod, sizeof(p256_norm_mod));
  9895. }
  9896. /* Generate the pre-computed table of points for the base point.
  9897. *
  9898. * width = 6
  9899. * 64 entries
  9900. * 42 bits between
  9901. *
  9902. * a The base point.
  9903. * table Place to store generated point data.
  9904. * tmp Temporary data.
  9905. * heap Heap to use for allocation.
  9906. */
  9907. static int sp_256_gen_stripe_table_4(const sp_point_256* a,
  9908. sp_table_entry_256* table, sp_digit* tmp, void* heap)
  9909. {
  9910. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  9911. sp_point_256* t = NULL;
  9912. #else
  9913. sp_point_256 t[3];
  9914. #endif
  9915. sp_point_256* s1 = NULL;
  9916. sp_point_256* s2 = NULL;
  9917. int i;
  9918. int j;
  9919. int err = MP_OKAY;
  9920. (void)heap;
  9921. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  9922. t = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 3, heap,
  9923. DYNAMIC_TYPE_ECC);
  9924. if (t == NULL)
  9925. err = MEMORY_E;
  9926. #endif
  9927. if (err == MP_OKAY) {
  9928. s1 = t + 1;
  9929. s2 = t + 2;
  9930. err = sp_256_mod_mul_norm_4(t->x, a->x, p256_mod);
  9931. }
  9932. if (err == MP_OKAY) {
  9933. err = sp_256_mod_mul_norm_4(t->y, a->y, p256_mod);
  9934. }
  9935. if (err == MP_OKAY) {
  9936. err = sp_256_mod_mul_norm_4(t->z, a->z, p256_mod);
  9937. }
  9938. if (err == MP_OKAY) {
  9939. t->infinity = 0;
  9940. sp_256_proj_to_affine_4(t, tmp);
  9941. XMEMCPY(s1->z, p256_norm_mod, sizeof(p256_norm_mod));
  9942. s1->infinity = 0;
  9943. XMEMCPY(s2->z, p256_norm_mod, sizeof(p256_norm_mod));
  9944. s2->infinity = 0;
  9945. /* table[0] = {0, 0, infinity} */
  9946. XMEMSET(&table[0], 0, sizeof(sp_table_entry_256));
  9947. /* table[1] = Affine version of 'a' in Montgomery form */
  9948. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  9949. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  9950. for (i=1; i<6; i++) {
  9951. sp_256_proj_point_dbl_n_4(t, 43, tmp);
  9952. sp_256_proj_to_affine_4(t, tmp);
  9953. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  9954. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  9955. }
  9956. for (i=1; i<6; i++) {
  9957. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  9958. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  9959. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  9960. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  9961. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  9962. sp_256_proj_point_add_qz1_4(t, s1, s2, tmp);
  9963. sp_256_proj_to_affine_4(t, tmp);
  9964. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  9965. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  9966. }
  9967. }
  9968. }
  9969. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  9970. if (t != NULL)
  9971. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  9972. #endif
  9973. return err;
  9974. }
  9975. #endif /* FP_ECC */
  9976. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  9977. #ifdef __cplusplus
  9978. extern "C" {
  9979. #endif
  9980. extern void sp_256_get_entry_64_4(sp_point_256* r, const sp_table_entry_256* table, int idx);
  9981. #ifdef __cplusplus
  9982. }
  9983. #endif
  9984. #ifdef __cplusplus
  9985. extern "C" {
  9986. #endif
  9987. extern void sp_256_get_entry_64_avx2_4(sp_point_256* r, const sp_table_entry_256* table, int idx);
  9988. #ifdef __cplusplus
  9989. }
  9990. #endif
  9991. /* Multiply the point by the scalar and return the result.
  9992. * If map is true then convert result to affine coordinates.
  9993. *
  9994. * Stripe implementation.
  9995. * Pre-generated: 2^0, 2^42, ...
  9996. * Pre-generated: products of all combinations of above.
  9997. * 6 doubles and adds (with qz=1)
  9998. *
  9999. * r Resulting point.
  10000. * k Scalar to multiply by.
  10001. * table Pre-computed table.
  10002. * map Indicates whether to convert result to affine.
  10003. * ct Constant time required.
  10004. * heap Heap to use for allocation.
  10005. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  10006. */
  10007. static int sp_256_ecc_mulmod_stripe_4(sp_point_256* r, const sp_point_256* g,
  10008. const sp_table_entry_256* table, const sp_digit* k, int map,
  10009. int ct, void* heap)
  10010. {
  10011. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10012. sp_point_256* rt = NULL;
  10013. sp_digit* t = NULL;
  10014. #else
  10015. sp_point_256 rt[2];
  10016. sp_digit t[2 * 4 * 6];
  10017. #endif
  10018. sp_point_256* p = NULL;
  10019. int i;
  10020. int j;
  10021. int y;
  10022. int x;
  10023. int err = MP_OKAY;
  10024. (void)g;
  10025. /* Constant time used for cache attack resistance implementation. */
  10026. (void)ct;
  10027. (void)heap;
  10028. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10029. rt = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  10030. DYNAMIC_TYPE_ECC);
  10031. if (rt == NULL)
  10032. err = MEMORY_E;
  10033. if (err == MP_OKAY) {
  10034. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, heap,
  10035. DYNAMIC_TYPE_ECC);
  10036. if (t == NULL)
  10037. err = MEMORY_E;
  10038. }
  10039. #endif
  10040. if (err == MP_OKAY) {
  10041. p = rt + 1;
  10042. XMEMCPY(p->z, p256_norm_mod, sizeof(p256_norm_mod));
  10043. XMEMCPY(rt->z, p256_norm_mod, sizeof(p256_norm_mod));
  10044. y = 0;
  10045. x = 42;
  10046. for (j=0; j<6 && x<256; j++) {
  10047. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  10048. x += 43;
  10049. }
  10050. #ifndef WC_NO_CACHE_RESISTANT
  10051. if (ct) {
  10052. sp_256_get_entry_64_4(rt, table, y);
  10053. } else
  10054. #endif
  10055. {
  10056. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  10057. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  10058. }
  10059. rt->infinity = !y;
  10060. for (i=41; i>=0; i--) {
  10061. y = 0;
  10062. x = i;
  10063. for (j=0; j<6 && x<256; j++) {
  10064. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  10065. x += 43;
  10066. }
  10067. sp_256_proj_point_dbl_4(rt, rt, t);
  10068. #ifndef WC_NO_CACHE_RESISTANT
  10069. if (ct) {
  10070. sp_256_get_entry_64_4(p, table, y);
  10071. }
  10072. else
  10073. #endif
  10074. {
  10075. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  10076. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  10077. }
  10078. p->infinity = !y;
  10079. sp_256_proj_point_add_qz1_4(rt, rt, p, t);
  10080. }
  10081. if (map != 0) {
  10082. sp_256_map_4(r, rt, t);
  10083. }
  10084. else {
  10085. XMEMCPY(r, rt, sizeof(sp_point_256));
  10086. }
  10087. }
  10088. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10089. if (t != NULL)
  10090. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  10091. if (rt != NULL)
  10092. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  10093. #endif
  10094. return err;
  10095. }
  10096. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  10097. #ifdef FP_ECC
  10098. #ifndef FP_ENTRIES
  10099. #define FP_ENTRIES 16
  10100. #endif
  10101. /* Cache entry - holds precomputation tables for a point. */
  10102. typedef struct sp_cache_256_t {
  10103. /* X ordinate of point that table was generated from. */
  10104. sp_digit x[4];
  10105. /* Y ordinate of point that table was generated from. */
  10106. sp_digit y[4];
  10107. /* Precomputation table for point. */
  10108. sp_table_entry_256 table[64];
  10109. /* Count of entries in table. */
  10110. uint32_t cnt;
  10111. /* Point and table set in entry. */
  10112. int set;
  10113. } sp_cache_256_t;
  10114. /* Cache of tables. */
  10115. static THREAD_LS_T sp_cache_256_t sp_cache_256[FP_ENTRIES];
  10116. /* Index of last entry in cache. */
  10117. static THREAD_LS_T int sp_cache_256_last = -1;
  10118. /* Cache has been initialized. */
  10119. static THREAD_LS_T int sp_cache_256_inited = 0;
  10120. #ifndef HAVE_THREAD_LS
  10121. static volatile int initCacheMutex_256 = 0;
  10122. static wolfSSL_Mutex sp_cache_256_lock;
  10123. #endif
  10124. /* Get the cache entry for the point.
  10125. *
  10126. * g [in] Point scalar multipling.
  10127. * cache [out] Cache table to use.
  10128. */
  10129. static void sp_ecc_get_cache_256(const sp_point_256* g, sp_cache_256_t** cache)
  10130. {
  10131. int i;
  10132. int j;
  10133. uint32_t least;
  10134. if (sp_cache_256_inited == 0) {
  10135. for (i=0; i<FP_ENTRIES; i++) {
  10136. sp_cache_256[i].set = 0;
  10137. }
  10138. sp_cache_256_inited = 1;
  10139. }
  10140. /* Compare point with those in cache. */
  10141. for (i=0; i<FP_ENTRIES; i++) {
  10142. if (!sp_cache_256[i].set)
  10143. continue;
  10144. if (sp_256_cmp_equal_4(g->x, sp_cache_256[i].x) &
  10145. sp_256_cmp_equal_4(g->y, sp_cache_256[i].y)) {
  10146. sp_cache_256[i].cnt++;
  10147. break;
  10148. }
  10149. }
  10150. /* No match. */
  10151. if (i == FP_ENTRIES) {
  10152. /* Find empty entry. */
  10153. i = (sp_cache_256_last + 1) % FP_ENTRIES;
  10154. for (; i != sp_cache_256_last; i=(i+1)%FP_ENTRIES) {
  10155. if (!sp_cache_256[i].set) {
  10156. break;
  10157. }
  10158. }
  10159. /* Evict least used. */
  10160. if (i == sp_cache_256_last) {
  10161. least = sp_cache_256[0].cnt;
  10162. for (j=1; j<FP_ENTRIES; j++) {
  10163. if (sp_cache_256[j].cnt < least) {
  10164. i = j;
  10165. least = sp_cache_256[i].cnt;
  10166. }
  10167. }
  10168. }
  10169. XMEMCPY(sp_cache_256[i].x, g->x, sizeof(sp_cache_256[i].x));
  10170. XMEMCPY(sp_cache_256[i].y, g->y, sizeof(sp_cache_256[i].y));
  10171. sp_cache_256[i].set = 1;
  10172. sp_cache_256[i].cnt = 1;
  10173. }
  10174. *cache = &sp_cache_256[i];
  10175. sp_cache_256_last = i;
  10176. }
  10177. #endif /* FP_ECC */
  10178. /* Multiply the base point of P256 by the scalar and return the result.
  10179. * If map is true then convert result to affine coordinates.
  10180. *
  10181. * r Resulting point.
  10182. * g Point to multiply.
  10183. * k Scalar to multiply by.
  10184. * map Indicates whether to convert result to affine.
  10185. * ct Constant time required.
  10186. * heap Heap to use for allocation.
  10187. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  10188. */
  10189. static int sp_256_ecc_mulmod_4(sp_point_256* r, const sp_point_256* g, const sp_digit* k,
  10190. int map, int ct, void* heap)
  10191. {
  10192. #ifndef FP_ECC
  10193. return sp_256_ecc_mulmod_win_add_sub_4(r, g, k, map, ct, heap);
  10194. #else
  10195. sp_digit tmp[2 * 4 * 6];
  10196. sp_cache_256_t* cache;
  10197. int err = MP_OKAY;
  10198. #ifndef HAVE_THREAD_LS
  10199. if (initCacheMutex_256 == 0) {
  10200. wc_InitMutex(&sp_cache_256_lock);
  10201. initCacheMutex_256 = 1;
  10202. }
  10203. if (wc_LockMutex(&sp_cache_256_lock) != 0)
  10204. err = BAD_MUTEX_E;
  10205. #endif /* HAVE_THREAD_LS */
  10206. if (err == MP_OKAY) {
  10207. sp_ecc_get_cache_256(g, &cache);
  10208. if (cache->cnt == 2)
  10209. sp_256_gen_stripe_table_4(g, cache->table, tmp, heap);
  10210. #ifndef HAVE_THREAD_LS
  10211. wc_UnLockMutex(&sp_cache_256_lock);
  10212. #endif /* HAVE_THREAD_LS */
  10213. if (cache->cnt < 2) {
  10214. err = sp_256_ecc_mulmod_win_add_sub_4(r, g, k, map, ct, heap);
  10215. }
  10216. else {
  10217. err = sp_256_ecc_mulmod_stripe_4(r, g, cache->table, k,
  10218. map, ct, heap);
  10219. }
  10220. }
  10221. return err;
  10222. #endif
  10223. }
  10224. #ifdef HAVE_INTEL_AVX2
  10225. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  10226. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  10227. /* Add two Montgomery form projective points. The second point has a q value of
  10228. * one.
  10229. * Only the first point can be the same pointer as the result point.
  10230. *
  10231. * r Result of addition.
  10232. * p First point to add.
  10233. * q Second point to add.
  10234. * t Temporary ordinate data.
  10235. */
  10236. static void sp_256_proj_point_add_qz1_avx2_4(sp_point_256* r, const sp_point_256* p,
  10237. const sp_point_256* q, sp_digit* t)
  10238. {
  10239. sp_digit* t1 = t;
  10240. sp_digit* t2 = t + 2*4;
  10241. sp_digit* t3 = t + 4*4;
  10242. sp_digit* t4 = t + 6*4;
  10243. sp_digit* t5 = t + 8*4;
  10244. sp_digit* t6 = t + 10*4;
  10245. /* Check double */
  10246. (void)sp_256_sub_4(t1, p256_mod, q->y);
  10247. sp_256_norm_4(t1);
  10248. if ((~p->infinity & ~q->infinity &
  10249. sp_256_cmp_equal_4(p->x, q->x) & sp_256_cmp_equal_4(p->z, q->z) &
  10250. (sp_256_cmp_equal_4(p->y, q->y) | sp_256_cmp_equal_4(p->y, t1))) != 0) {
  10251. sp_256_proj_point_dbl_avx2_4(r, p, t);
  10252. }
  10253. else {
  10254. sp_digit maskp;
  10255. sp_digit maskq;
  10256. sp_digit maskt;
  10257. sp_digit* x = t2;
  10258. sp_digit* y = t5;
  10259. sp_digit* z = t6;
  10260. int i;
  10261. /* U2 = X2*Z1^2 */
  10262. sp_256_mont_sqr_avx2_4(t2, p->z, p256_mod, p256_mp_mod);
  10263. sp_256_mont_mul_avx2_4(t4, t2, p->z, p256_mod, p256_mp_mod);
  10264. sp_256_mont_mul_avx2_4(t2, t2, q->x, p256_mod, p256_mp_mod);
  10265. /* S2 = Y2*Z1^3 */
  10266. sp_256_mont_mul_avx2_4(t4, t4, q->y, p256_mod, p256_mp_mod);
  10267. /* H = U2 - X1 */
  10268. sp_256_mont_sub_avx2_4(t2, t2, p->x, p256_mod);
  10269. /* R = S2 - Y1 */
  10270. sp_256_mont_sub_avx2_4(t4, t4, p->y, p256_mod);
  10271. /* Z3 = H*Z1 */
  10272. sp_256_mont_mul_avx2_4(z, p->z, t2, p256_mod, p256_mp_mod);
  10273. /* X3 = R^2 - H^3 - 2*X1*H^2 */
  10274. sp_256_mont_sqr_avx2_4(t1, t4, p256_mod, p256_mp_mod);
  10275. sp_256_mont_sqr_avx2_4(t5, t2, p256_mod, p256_mp_mod);
  10276. sp_256_mont_mul_avx2_4(t3, p->x, t5, p256_mod, p256_mp_mod);
  10277. sp_256_mont_mul_avx2_4(t5, t5, t2, p256_mod, p256_mp_mod);
  10278. sp_256_mont_sub_avx2_4(x, t1, t5, p256_mod);
  10279. sp_256_mont_sub_dbl_avx2_4(x, x, t3, p256_mod);
  10280. /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */
  10281. sp_256_mont_sub_lower_avx2_4(t3, t3, x, p256_mod);
  10282. sp_256_mont_mul_avx2_4(t3, t3, t4, p256_mod, p256_mp_mod);
  10283. sp_256_mont_mul_avx2_4(t5, t5, p->y, p256_mod, p256_mp_mod);
  10284. sp_256_mont_sub_avx2_4(y, t3, t5, p256_mod);
  10285. maskp = 0 - (q->infinity & (!p->infinity));
  10286. maskq = 0 - (p->infinity & (!q->infinity));
  10287. maskt = ~(maskp | maskq);
  10288. for (i = 0; i < 4; i++) {
  10289. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | (x[i] & maskt);
  10290. }
  10291. for (i = 0; i < 4; i++) {
  10292. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | (y[i] & maskt);
  10293. }
  10294. for (i = 0; i < 4; i++) {
  10295. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | (z[i] & maskt);
  10296. }
  10297. r->z[0] |= p->infinity & q->infinity;
  10298. r->infinity = p->infinity & q->infinity;
  10299. }
  10300. }
  10301. #ifdef FP_ECC
  10302. /* Convert the projective point to affine.
  10303. * Ordinates are in Montgomery form.
  10304. *
  10305. * a Point to convert.
  10306. * t Temporary data.
  10307. */
  10308. static void sp_256_proj_to_affine_avx2_4(sp_point_256* a, sp_digit* t)
  10309. {
  10310. sp_digit* t1 = t;
  10311. sp_digit* t2 = t + 2 * 4;
  10312. sp_digit* tmp = t + 4 * 4;
  10313. sp_256_mont_inv_avx2_4(t1, a->z, tmp);
  10314. sp_256_mont_sqr_avx2_4(t2, t1, p256_mod, p256_mp_mod);
  10315. sp_256_mont_mul_avx2_4(t1, t2, t1, p256_mod, p256_mp_mod);
  10316. sp_256_mont_mul_avx2_4(a->x, a->x, t2, p256_mod, p256_mp_mod);
  10317. sp_256_mont_mul_avx2_4(a->y, a->y, t1, p256_mod, p256_mp_mod);
  10318. XMEMCPY(a->z, p256_norm_mod, sizeof(p256_norm_mod));
  10319. }
  10320. /* Generate the pre-computed table of points for the base point.
  10321. *
  10322. * width = 6
  10323. * 64 entries
  10324. * 42 bits between
  10325. *
  10326. * a The base point.
  10327. * table Place to store generated point data.
  10328. * tmp Temporary data.
  10329. * heap Heap to use for allocation.
  10330. */
  10331. static int sp_256_gen_stripe_table_avx2_4(const sp_point_256* a,
  10332. sp_table_entry_256* table, sp_digit* tmp, void* heap)
  10333. {
  10334. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10335. sp_point_256* t = NULL;
  10336. #else
  10337. sp_point_256 t[3];
  10338. #endif
  10339. sp_point_256* s1 = NULL;
  10340. sp_point_256* s2 = NULL;
  10341. int i;
  10342. int j;
  10343. int err = MP_OKAY;
  10344. (void)heap;
  10345. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10346. t = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 3, heap,
  10347. DYNAMIC_TYPE_ECC);
  10348. if (t == NULL)
  10349. err = MEMORY_E;
  10350. #endif
  10351. if (err == MP_OKAY) {
  10352. s1 = t + 1;
  10353. s2 = t + 2;
  10354. err = sp_256_mod_mul_norm_avx2_4(t->x, a->x, p256_mod);
  10355. }
  10356. if (err == MP_OKAY) {
  10357. err = sp_256_mod_mul_norm_avx2_4(t->y, a->y, p256_mod);
  10358. }
  10359. if (err == MP_OKAY) {
  10360. err = sp_256_mod_mul_norm_avx2_4(t->z, a->z, p256_mod);
  10361. }
  10362. if (err == MP_OKAY) {
  10363. t->infinity = 0;
  10364. sp_256_proj_to_affine_avx2_4(t, tmp);
  10365. XMEMCPY(s1->z, p256_norm_mod, sizeof(p256_norm_mod));
  10366. s1->infinity = 0;
  10367. XMEMCPY(s2->z, p256_norm_mod, sizeof(p256_norm_mod));
  10368. s2->infinity = 0;
  10369. /* table[0] = {0, 0, infinity} */
  10370. XMEMSET(&table[0], 0, sizeof(sp_table_entry_256));
  10371. /* table[1] = Affine version of 'a' in Montgomery form */
  10372. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  10373. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  10374. for (i=1; i<6; i++) {
  10375. sp_256_proj_point_dbl_n_avx2_4(t, 43, tmp);
  10376. sp_256_proj_to_affine_avx2_4(t, tmp);
  10377. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  10378. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  10379. }
  10380. for (i=1; i<6; i++) {
  10381. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  10382. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  10383. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  10384. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  10385. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  10386. sp_256_proj_point_add_qz1_avx2_4(t, s1, s2, tmp);
  10387. sp_256_proj_to_affine_avx2_4(t, tmp);
  10388. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  10389. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  10390. }
  10391. }
  10392. }
  10393. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10394. if (t != NULL)
  10395. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  10396. #endif
  10397. return err;
  10398. }
  10399. #endif /* FP_ECC */
  10400. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  10401. /* Multiply the point by the scalar and return the result.
  10402. * If map is true then convert result to affine coordinates.
  10403. *
  10404. * Stripe implementation.
  10405. * Pre-generated: 2^0, 2^42, ...
  10406. * Pre-generated: products of all combinations of above.
  10407. * 6 doubles and adds (with qz=1)
  10408. *
  10409. * r Resulting point.
  10410. * k Scalar to multiply by.
  10411. * table Pre-computed table.
  10412. * map Indicates whether to convert result to affine.
  10413. * ct Constant time required.
  10414. * heap Heap to use for allocation.
  10415. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  10416. */
  10417. static int sp_256_ecc_mulmod_stripe_avx2_4(sp_point_256* r, const sp_point_256* g,
  10418. const sp_table_entry_256* table, const sp_digit* k, int map,
  10419. int ct, void* heap)
  10420. {
  10421. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10422. sp_point_256* rt = NULL;
  10423. sp_digit* t = NULL;
  10424. #else
  10425. sp_point_256 rt[2];
  10426. sp_digit t[2 * 4 * 6];
  10427. #endif
  10428. sp_point_256* p = NULL;
  10429. int i;
  10430. int j;
  10431. int y;
  10432. int x;
  10433. int err = MP_OKAY;
  10434. (void)g;
  10435. /* Constant time used for cache attack resistance implementation. */
  10436. (void)ct;
  10437. (void)heap;
  10438. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10439. rt = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  10440. DYNAMIC_TYPE_ECC);
  10441. if (rt == NULL)
  10442. err = MEMORY_E;
  10443. if (err == MP_OKAY) {
  10444. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, heap,
  10445. DYNAMIC_TYPE_ECC);
  10446. if (t == NULL)
  10447. err = MEMORY_E;
  10448. }
  10449. #endif
  10450. if (err == MP_OKAY) {
  10451. p = rt + 1;
  10452. XMEMCPY(p->z, p256_norm_mod, sizeof(p256_norm_mod));
  10453. XMEMCPY(rt->z, p256_norm_mod, sizeof(p256_norm_mod));
  10454. y = 0;
  10455. x = 42;
  10456. for (j=0; j<6 && x<256; j++) {
  10457. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  10458. x += 43;
  10459. }
  10460. #ifndef WC_NO_CACHE_RESISTANT
  10461. if (ct) {
  10462. sp_256_get_entry_64_avx2_4(rt, table, y);
  10463. } else
  10464. #endif
  10465. {
  10466. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  10467. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  10468. }
  10469. rt->infinity = !y;
  10470. for (i=41; i>=0; i--) {
  10471. y = 0;
  10472. x = i;
  10473. for (j=0; j<6 && x<256; j++) {
  10474. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  10475. x += 43;
  10476. }
  10477. sp_256_proj_point_dbl_avx2_4(rt, rt, t);
  10478. #ifndef WC_NO_CACHE_RESISTANT
  10479. if (ct) {
  10480. sp_256_get_entry_64_avx2_4(p, table, y);
  10481. }
  10482. else
  10483. #endif
  10484. {
  10485. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  10486. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  10487. }
  10488. p->infinity = !y;
  10489. sp_256_proj_point_add_qz1_avx2_4(rt, rt, p, t);
  10490. }
  10491. if (map != 0) {
  10492. sp_256_map_avx2_4(r, rt, t);
  10493. }
  10494. else {
  10495. XMEMCPY(r, rt, sizeof(sp_point_256));
  10496. }
  10497. }
  10498. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10499. if (t != NULL)
  10500. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  10501. if (rt != NULL)
  10502. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  10503. #endif
  10504. return err;
  10505. }
  10506. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  10507. /* Multiply the base point of P256 by the scalar and return the result.
  10508. * If map is true then convert result to affine coordinates.
  10509. *
  10510. * r Resulting point.
  10511. * g Point to multiply.
  10512. * k Scalar to multiply by.
  10513. * map Indicates whether to convert result to affine.
  10514. * ct Constant time required.
  10515. * heap Heap to use for allocation.
  10516. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  10517. */
  10518. static int sp_256_ecc_mulmod_avx2_4(sp_point_256* r, const sp_point_256* g, const sp_digit* k,
  10519. int map, int ct, void* heap)
  10520. {
  10521. #ifndef FP_ECC
  10522. return sp_256_ecc_mulmod_win_add_sub_avx2_4(r, g, k, map, ct, heap);
  10523. #else
  10524. sp_digit tmp[2 * 4 * 6];
  10525. sp_cache_256_t* cache;
  10526. int err = MP_OKAY;
  10527. #ifndef HAVE_THREAD_LS
  10528. if (initCacheMutex_256 == 0) {
  10529. wc_InitMutex(&sp_cache_256_lock);
  10530. initCacheMutex_256 = 1;
  10531. }
  10532. if (wc_LockMutex(&sp_cache_256_lock) != 0)
  10533. err = BAD_MUTEX_E;
  10534. #endif /* HAVE_THREAD_LS */
  10535. if (err == MP_OKAY) {
  10536. sp_ecc_get_cache_256(g, &cache);
  10537. if (cache->cnt == 2)
  10538. sp_256_gen_stripe_table_avx2_4(g, cache->table, tmp, heap);
  10539. #ifndef HAVE_THREAD_LS
  10540. wc_UnLockMutex(&sp_cache_256_lock);
  10541. #endif /* HAVE_THREAD_LS */
  10542. if (cache->cnt < 2) {
  10543. err = sp_256_ecc_mulmod_win_add_sub_avx2_4(r, g, k, map, ct, heap);
  10544. }
  10545. else {
  10546. err = sp_256_ecc_mulmod_stripe_avx2_4(r, g, cache->table, k,
  10547. map, ct, heap);
  10548. }
  10549. }
  10550. return err;
  10551. #endif
  10552. }
  10553. #endif /* HAVE_INTEL_AVX2 */
  10554. /* Multiply the point by the scalar and return the result.
  10555. * If map is true then convert result to affine coordinates.
  10556. *
  10557. * km Scalar to multiply by.
  10558. * p Point to multiply.
  10559. * r Resulting point.
  10560. * map Indicates whether to convert result to affine.
  10561. * heap Heap to use for allocation.
  10562. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  10563. */
  10564. int sp_ecc_mulmod_256(const mp_int* km, const ecc_point* gm, ecc_point* r,
  10565. int map, void* heap)
  10566. {
  10567. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10568. sp_point_256* point = NULL;
  10569. sp_digit* k = NULL;
  10570. #else
  10571. sp_point_256 point[1];
  10572. sp_digit k[4];
  10573. #endif
  10574. int err = MP_OKAY;
  10575. #ifdef HAVE_INTEL_AVX2
  10576. word32 cpuid_flags = cpuid_get_flags();
  10577. #endif
  10578. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10579. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap,
  10580. DYNAMIC_TYPE_ECC);
  10581. if (point == NULL)
  10582. err = MEMORY_E;
  10583. if (err == MP_OKAY) {
  10584. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap,
  10585. DYNAMIC_TYPE_ECC);
  10586. if (k == NULL)
  10587. err = MEMORY_E;
  10588. }
  10589. #endif
  10590. if (err == MP_OKAY) {
  10591. sp_256_from_mp(k, 4, km);
  10592. sp_256_point_from_ecc_point_4(point, gm);
  10593. #ifdef HAVE_INTEL_AVX2
  10594. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  10595. err = sp_256_ecc_mulmod_avx2_4(point, point, k, map, 1, heap);
  10596. else
  10597. #endif
  10598. err = sp_256_ecc_mulmod_4(point, point, k, map, 1, heap);
  10599. }
  10600. if (err == MP_OKAY) {
  10601. err = sp_256_point_to_ecc_point_4(point, r);
  10602. }
  10603. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10604. if (k != NULL)
  10605. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  10606. if (point != NULL)
  10607. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  10608. #endif
  10609. return err;
  10610. }
  10611. /* Multiply the point by the scalar, add point a and return the result.
  10612. * If map is true then convert result to affine coordinates.
  10613. *
  10614. * km Scalar to multiply by.
  10615. * p Point to multiply.
  10616. * am Point to add to scalar mulitply result.
  10617. * inMont Point to add is in montgomery form.
  10618. * r Resulting point.
  10619. * map Indicates whether to convert result to affine.
  10620. * heap Heap to use for allocation.
  10621. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  10622. */
  10623. int sp_ecc_mulmod_add_256(const mp_int* km, const ecc_point* gm,
  10624. const ecc_point* am, int inMont, ecc_point* r, int map, void* heap)
  10625. {
  10626. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10627. sp_point_256* point = NULL;
  10628. sp_digit* k = NULL;
  10629. #else
  10630. sp_point_256 point[2];
  10631. sp_digit k[4 + 4 * 2 * 6];
  10632. #endif
  10633. sp_point_256* addP = NULL;
  10634. sp_digit* tmp = NULL;
  10635. int err = MP_OKAY;
  10636. #ifdef HAVE_INTEL_AVX2
  10637. word32 cpuid_flags = cpuid_get_flags();
  10638. #endif
  10639. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10640. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  10641. DYNAMIC_TYPE_ECC);
  10642. if (point == NULL)
  10643. err = MEMORY_E;
  10644. if (err == MP_OKAY) {
  10645. k = (sp_digit*)XMALLOC(
  10646. sizeof(sp_digit) * (4 + 4 * 2 * 6), heap,
  10647. DYNAMIC_TYPE_ECC);
  10648. if (k == NULL)
  10649. err = MEMORY_E;
  10650. }
  10651. #endif
  10652. if (err == MP_OKAY) {
  10653. addP = point + 1;
  10654. tmp = k + 4;
  10655. sp_256_from_mp(k, 4, km);
  10656. sp_256_point_from_ecc_point_4(point, gm);
  10657. sp_256_point_from_ecc_point_4(addP, am);
  10658. }
  10659. if ((err == MP_OKAY) && (!inMont)) {
  10660. err = sp_256_mod_mul_norm_4(addP->x, addP->x, p256_mod);
  10661. }
  10662. if ((err == MP_OKAY) && (!inMont)) {
  10663. err = sp_256_mod_mul_norm_4(addP->y, addP->y, p256_mod);
  10664. }
  10665. if ((err == MP_OKAY) && (!inMont)) {
  10666. err = sp_256_mod_mul_norm_4(addP->z, addP->z, p256_mod);
  10667. }
  10668. if (err == MP_OKAY) {
  10669. #ifdef HAVE_INTEL_AVX2
  10670. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  10671. err = sp_256_ecc_mulmod_avx2_4(point, point, k, 0, 0, heap);
  10672. else
  10673. #endif
  10674. err = sp_256_ecc_mulmod_4(point, point, k, 0, 0, heap);
  10675. }
  10676. if (err == MP_OKAY) {
  10677. #ifdef HAVE_INTEL_AVX2
  10678. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  10679. sp_256_proj_point_add_avx2_4(point, point, addP, tmp);
  10680. else
  10681. #endif
  10682. sp_256_proj_point_add_4(point, point, addP, tmp);
  10683. if (map) {
  10684. #ifdef HAVE_INTEL_AVX2
  10685. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  10686. sp_256_map_avx2_4(point, point, tmp);
  10687. else
  10688. #endif
  10689. sp_256_map_4(point, point, tmp);
  10690. }
  10691. err = sp_256_point_to_ecc_point_4(point, r);
  10692. }
  10693. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  10694. if (k != NULL)
  10695. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  10696. if (point != NULL)
  10697. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  10698. #endif
  10699. return err;
  10700. }
  10701. #ifdef WOLFSSL_SP_SMALL
  10702. /* Striping precomputation table.
  10703. * 6 points combined into a table of 64 points.
  10704. * Distance of 43 between points.
  10705. */
  10706. static const sp_table_entry_256 p256_table[64] = {
  10707. /* 0 */
  10708. { { 0x00, 0x00, 0x00, 0x00 },
  10709. { 0x00, 0x00, 0x00, 0x00 } },
  10710. /* 1 */
  10711. { { 0x79e730d418a9143cL,0x75ba95fc5fedb601L,0x79fb732b77622510L,
  10712. 0x18905f76a53755c6L },
  10713. { 0xddf25357ce95560aL,0x8b4ab8e4ba19e45cL,0xd2e88688dd21f325L,
  10714. 0x8571ff1825885d85L } },
  10715. /* 2 */
  10716. { { 0x8910507903605c39L,0xf0843d9ea142c96cL,0xf374493416923684L,
  10717. 0x732caa2ffa0a2893L },
  10718. { 0xb2e8c27061160170L,0xc32788cc437fbaa3L,0x39cd818ea6eda3acL,
  10719. 0xe2e942399e2b2e07L } },
  10720. /* 3 */
  10721. { { 0xb9c0d276abc3e190L,0x610e3d4dcb55b9caL,0xd16dbd025720f50aL,
  10722. 0xd0ed73dca607de84L },
  10723. { 0x3bbde5bf49219fb5L,0x698e12c057771843L,0xdb606a9763470a5eL,
  10724. 0x61c71975853635d5L } },
  10725. /* 4 */
  10726. { { 0xeb5ddcb6ec7fae9fL,0x995f2714efb66e5aL,0xdee95d8e69445d52L,
  10727. 0x1b6c2d4609e27620L },
  10728. { 0x32621c318129d716L,0xb03909f10958c1aaL,0x8c468ef91af4af63L,
  10729. 0x162c429ffba5cdf6L } },
  10730. /* 5 */
  10731. { { 0x4615d912c1d85f12L,0x1f0880b0e1f4e302L,0x336bcc896f1fca13L,
  10732. 0xda59ad0dc70dedbcL },
  10733. { 0x3897efaeb0f62eceL,0xbaed81cdf4990cfdL,0xa3b1c2f260321bbbL,
  10734. 0x2aefd95addc84f79L } },
  10735. /* 6 */
  10736. { { 0x2d427e3cee9e92e6L,0x43d40da0437fe629L,0x0006e4e06ab72b31L,
  10737. 0x21ccfbb46f5c8e02L },
  10738. { 0x53a2f1a753e821ecL,0x5d72d201e209d591L,0xfd84a26445e8ad41L,
  10739. 0x86ee0e684059cc6eL } },
  10740. /* 7 */
  10741. { { 0x3d8242d09248fce2L,0x32d4bf827f49f33dL,0x78807beb29d41fd1L,
  10742. 0xfce48b99f8f562cbL },
  10743. { 0x72a7d4849f38f097L,0x1b482c10a37059adL,0xc1aa8284472e5ed3L,
  10744. 0xc5d6f3bbef23e9c9L } },
  10745. /* 8 */
  10746. { { 0x23f949feb8a24a20L,0x17ebfed1f52ca53fL,0x9b691bbebcfb4853L,
  10747. 0x5617ff6b6278a05dL },
  10748. { 0x241b34c5e3c99ebdL,0xfc64242e1784156aL,0x4206482f695d67dfL,
  10749. 0xb967ce0eee27c011L } },
  10750. /* 9 */
  10751. { { 0x569aacdf9fc3df19L,0x0c6782c7c34c6fb2L,0xbb5f98b2c4ec873dL,
  10752. 0x5578433b9fe9e475L },
  10753. { 0xfa14f3869ca84821L,0xb8ef658d39589501L,0x4022c48e07127b8eL,
  10754. 0xcbc4dfe35402ea12L } },
  10755. /* 10 */
  10756. { { 0x092ef96a2ad408a3L,0xf1e1a4c4cfbc45a3L,0x966b2676efeecdeeL,
  10757. 0xa0e2c6713a6216c5L },
  10758. { 0xcd6e22a292c4bf61L,0x56d99a11d830dfc7L,0xb8c612bd259de547L,
  10759. 0x3d8e9a72e91f8ff7L } },
  10760. /* 11 */
  10761. { { 0x0b885e962352b4ffL,0x6be320d2a6545766L,0xbd22a444b9a59e72L,
  10762. 0x2f2d32d6ccc55d7dL },
  10763. { 0xd86e4c4cddcec70bL,0x19cdb0e97a25c934L,0x542ade069ca97e28L,
  10764. 0x58c5927c746517f7L } },
  10765. /* 12 */
  10766. { { 0x24abb0f08d087091L,0x6aa2c2ef51add8deL,0xc3e1cb4ccc2a2134L,
  10767. 0x3563112895589212L },
  10768. { 0x3bf17d2a7984344bL,0xbcb6f7b2f8a142ccL,0xd6057d8a08ec9266L,
  10769. 0x75c150d22852405aL } },
  10770. /* 13 */
  10771. { { 0xa8f88eb5a9fee73eL,0x72a84174576ea39bL,0x671fa0ade2692e7dL,
  10772. 0x2556288596769f9eL },
  10773. { 0x254323bce850a6b0L,0x74b61c18fff6c89aL,0x2e7c563fcfae2690L,
  10774. 0x2cf454b7164afb0fL } },
  10775. /* 14 */
  10776. { { 0xe312a5618f10f423L,0x59a1f1fff2b85df4L,0x56c5991941c48122L,
  10777. 0x74953c1eae3d175fL },
  10778. { 0x4d767fc78859244cL,0xc486bc00719a4cc1L,0xdd282985df1c1787L,
  10779. 0x1143301aae93c719L } },
  10780. /* 15 */
  10781. { { 0x7201a1d61fab7d71L,0x65931f5432cbbee8L,0x202955d3dcb387eeL,
  10782. 0xa5045ba5c4678432L },
  10783. { 0xcfb5ee87dca85ff6L,0xdd25a7c6dfec0f67L,0xfee47169356a87c6L,
  10784. 0x20a8f159c3d7ece9L } },
  10785. /* 16 */
  10786. { { 0xe4ac8b33070d3aabL,0x2643672b9a2cd5e5L,0x52eff79b1cfc9173L,
  10787. 0x665ca49b90a7c13fL },
  10788. { 0x5a8dda59b3efb998L,0x8a5b922d052f1341L,0xae9ebbab3cf9a530L,
  10789. 0x35986e7bf56da4d7L } },
  10790. /* 17 */
  10791. { { 0x21e07f9abc0a70c0L,0xecfdb3a2989a0182L,0x360682c0e40e8125L,
  10792. 0x73a637952f837f32L },
  10793. { 0xf4eb8cef9c0d326bL,0xefb97fecebf4c7a5L,0xf9352123af3d5d7eL,
  10794. 0xb71ef4ef34e22ab1L } },
  10795. /* 18 */
  10796. { { 0xd6bd0d810d488032L,0x1676df9971f0b92eL,0xa7acdcfcb6d215acL,
  10797. 0x82461a26cd0ff939L },
  10798. { 0x827189c0b635d2e5L,0x18f3b6dda92f1622L,0x10d738aa05cef325L,
  10799. 0x12c2a13f39bb0aa6L } },
  10800. /* 19 */
  10801. { { 0x5f94d8deb50b4e82L,0xbcd9144e34bd93e9L,0x61c3392107c08623L,
  10802. 0xedec947e7e3de8eeL },
  10803. { 0x9d2da51d2f21b202L,0xc0c885cd96692a89L,0x4a613462a5e7309cL,
  10804. 0x227788550f28dee6L } },
  10805. /* 20 */
  10806. { { 0x1ff0bd527695447aL,0x63534a4a42ae2627L,0xd96af0dad0cc09f2L,
  10807. 0xb59ea545412d3e1aL },
  10808. { 0xd10518cf6a759072L,0xffeec37c10475dfdL,0xacbc29ccb25089c4L,
  10809. 0xbf3dfc8521b6d4eeL } },
  10810. /* 21 */
  10811. { { 0x8f2eacfe49388995L,0x000fc8d4841be9edL,0x2ed8085a6955c290L,
  10812. 0x1929cf606d8e176fL },
  10813. { 0x2efd26a5fd1a09dbL,0x58d767ad6cb626cdL,0x13a81b95b26c6e05L,
  10814. 0x68fe61078f61832bL } },
  10815. /* 22 */
  10816. { { 0x4ad7de2e2d85c2f6L,0xcd552fcb510101a1L,0x638d122b02acdabfL,
  10817. 0x117221e850bfd921L },
  10818. { 0x08571ee199a99129L,0xebd046d1ba2f03a9L,0x035ed7baa6f8a181L,
  10819. 0x8aabf98d3187c6f3L } },
  10820. /* 23 */
  10821. { { 0xaf8e65cae3ab5f4eL,0x8b0b8b897561a69cL,0x37e83aa0b17c1e66L,
  10822. 0xe894d84cf8d80edcL },
  10823. { 0xf1e465e7ce514e22L,0xc7fa324ca72340efL,0x08297fcae7370673L,
  10824. 0x4f799682b119ae5eL } },
  10825. /* 24 */
  10826. { { 0x014d6bd8f180f206L,0x56640c8b7ab44f55L,0x9a39660d93f9a5b8L,
  10827. 0xcac069e9959b68f1L },
  10828. { 0x2bf6b65e208d9918L,0xb7e45dfb3f943291L,0xad5770f0d439c712L,
  10829. 0xfec635e17654d805L } },
  10830. /* 25 */
  10831. { { 0x37221cd13f031a88L,0xe4d53d2f0b5558d4L,0x2ede8e8fdafc51cdL,
  10832. 0xb587284ca8a883eaL },
  10833. { 0xfa37674044fa5251L,0x5e5e18f95c5e3528L,0x8af51fac6e10b958L,
  10834. 0x09be79032c429b30L } },
  10835. /* 26 */
  10836. { { 0x7a468ba47f29936dL,0xacbbe3657cfb8176L,0xe892c10a4db9cd5dL,
  10837. 0xcb2f29d7a1aade8bL },
  10838. { 0x3087eef4efffcb14L,0x92a7f3ec2afe8f2eL,0x199d89b8136f29d2L,
  10839. 0x3131604eb4836623L } },
  10840. /* 27 */
  10841. { { 0xf5cca5da31b5df76L,0x9431318676a4abc0L,0x5db8e6f71877c7c7L,
  10842. 0x3ce3f5f96031ac99L },
  10843. { 0x585961d07e7cef80L,0x5ed6e841d424f16aL,0x18289cd056b16a49L,
  10844. 0x8008d03b2e5770faL } },
  10845. /* 28 */
  10846. { { 0xc8c2af64254e39deL,0x783cea738582571cL,0x2f2f55f1a6edd971L,
  10847. 0x7e00cc92c86bf30aL },
  10848. { 0xa0db735447d7491fL,0xb3eb751ca5b12260L,0x3bc39a23297fb234L,
  10849. 0xd1330c20b8b4bfe4L } },
  10850. /* 29 */
  10851. { { 0xfb776af07824d53aL,0x04709096422dea35L,0x6f480b6b5fec3ac7L,
  10852. 0xdb2b1b62e27edda4L },
  10853. { 0x0bba904cda78b494L,0x37ef59b691a147f7L,0xf880517726a4730aL,
  10854. 0xecc9d79aa8ab368eL } },
  10855. /* 30 */
  10856. { { 0x628e05c185a4bd0eL,0xebf7b67800e244e8L,0xf645947b8b176eebL,
  10857. 0xc92bf8301641ab35L },
  10858. { 0x7a039c1a21be7a6fL,0x11e4354d2fd4bd92L,0x42552422886fd224L,
  10859. 0xdbf3194cc44ced37L } },
  10860. /* 31 */
  10861. { { 0x832da983c56f6b04L,0x7aaa84eb8ef098aeL,0x602e3eefa6a616a2L,
  10862. 0xc2824ddcb7b717a3L },
  10863. { 0x19f50324ddb0a2e9L,0x04553a285bedfbbdL,0x37ea8b12aa1aee0aL,
  10864. 0xc1844e79945959a1L } },
  10865. /* 32 */
  10866. { { 0x5043dea7e0f222c2L,0x309d42ac72e65142L,0x94fe9ddd9216cd30L,
  10867. 0xd6539c7d0f87feecL },
  10868. { 0x03c5a57c432ac7d7L,0x72692cf0327fda10L,0xec28c85f280698deL,
  10869. 0x2331fb467ec283b1L } },
  10870. /* 33 */
  10871. { { 0x651cfdeb43248e67L,0x2c3d72ceee561de8L,0xa48b8f33443dac8bL,
  10872. 0xe6b042fe7991f986L },
  10873. { 0xd091636de810bcd2L,0xfc1e96aea97416d7L,0x2b6087cb2892694dL,
  10874. 0x0f8ac2459985a628L } },
  10875. /* 34 */
  10876. { { 0x54e908747f2326a2L,0xce43dd44fa9e1131L,0x4b2c740cd3d2d948L,
  10877. 0x9b0b126aa86e8b07L },
  10878. { 0x228ef320b77f5af2L,0x14fc8a01ca07661cL,0x1d72509ed34f1a3aL,
  10879. 0xd169031729d9086eL } },
  10880. /* 35 */
  10881. { { 0x13e44acc03c5fe33L,0x13f4374e0105bbc6L,0x0cba5018cb4451b8L,
  10882. 0xa1a38e4afa29a4e1L },
  10883. { 0x063fb9a8f4403917L,0x7afe108f996ea7f2L,0xec252363f93a1f87L,
  10884. 0xc029c8117e432609L } },
  10885. /* 36 */
  10886. { { 0x25080c29486e548eL,0xdaa411327868ab32L,0x46891511d61d1a3aL,
  10887. 0xc87f3f533efc8facL },
  10888. { 0x984f613ff3e31393L,0x10bb15f67648f5d2L,0xe4990f2bdefaa440L,
  10889. 0xce647f03dd51c31dL } },
  10890. /* 37 */
  10891. { { 0x3161ebdd9c2c0abfL,0x48b7ee7bf497cf35L,0x9233e31d94dd9c97L,
  10892. 0x4aef9a62c5d2988fL },
  10893. { 0x89a54161a03e6456L,0x9d25e003c1f02b47L,0x8784cdbfc1857782L,
  10894. 0x7928cafd0222b49cL } },
  10895. /* 38 */
  10896. { { 0x5a591abdecf4ea23L,0xb2725e8a80bd9b8aL,0xf569679f29ff348bL,
  10897. 0xa28163d36f22536aL },
  10898. { 0x89e7a8f621c43971L,0x60cbe4a1c4a09567L,0x41046c8f5928b03dL,
  10899. 0x646feda7ef74a95aL } },
  10900. /* 39 */
  10901. { { 0x3aef6bc05d75d310L,0xf3e7f03c82476e5cL,0x9dcf3d508419b8a0L,
  10902. 0x221a3885eaf07f07L },
  10903. { 0x16d533f337bdcb7dL,0xd778066bbb49550dL,0xf6f4540936c2600cL,
  10904. 0x7544396fc1c61709L } },
  10905. /* 40 */
  10906. { { 0xf79f556fde08cd42L,0x7d0aba1ee13cadc8L,0x841d9df6d4d81fefL,
  10907. 0x8f7ae1f2602d2043L },
  10908. { 0x950c4de4b57ee181L,0xfe51e045c55cf490L,0xdb60b56a1efdd0a8L,
  10909. 0x276bccb3bf0fa497L } },
  10910. /* 41 */
  10911. { { 0x7926625b19e5a603L,0xf1b98e93e1bf712bL,0x933ecb52e33abeccL,
  10912. 0x9ebfc506f826619bL },
  10913. { 0xd2965f67a1692c52L,0x8ac4012dfc4f9564L,0xa8af57036739f003L,
  10914. 0x7dd2282dbc715e13L } },
  10915. /* 42 */
  10916. { { 0x3ec01587cf2bb490L,0x5346082c3f1ea428L,0xf2c679e26739e506L,
  10917. 0xeab710d6930c28e4L },
  10918. { 0xe9947ff8e043249aL,0x63640678ad54b0e6L,0x8cde42591854eaafL,
  10919. 0xf1feeaec6b25bdceL } },
  10920. /* 43 */
  10921. { { 0x49f7e8991bdd2aa2L,0x88fd273534e3cae9L,0x5ac0510182cbfea2L,
  10922. 0x324c9d414cf84578L },
  10923. { 0xa242311719f13061L,0x69d67cf15f3b9932L,0x32ecdb3cdde2dfadL,
  10924. 0x2f74d995b916f7a6L } },
  10925. /* 44 */
  10926. { { 0x35f7ed423d14bc68L,0x32f63a0445574f91L,0xd04108335e8801e7L,
  10927. 0x63b6f13c1c9c1462L },
  10928. { 0x180dcbcd9dc7201fL,0xa07b5b2c360350dfL,0x2582b2774236f5ccL,
  10929. 0x90163924a7ab06b9L } },
  10930. /* 45 */
  10931. { { 0x35e751b50767cdf2L,0x808372e69d8e2838L,0xcbad6b30646914d7L,
  10932. 0x4eeeb1de6c7b3cabL },
  10933. { 0x3ef3af968c965004L,0xd162290fd281920bL,0x4626c313181f811bL,
  10934. 0x5fa42f4fbe61dd14L } },
  10935. /* 46 */
  10936. { { 0x1f5a9c53a185e98eL,0x13c28277ea9e83c3L,0xb566e4c0b693a226L,
  10937. 0x2ea3f1c001533e9eL },
  10938. { 0xb4dbcc336215a21fL,0x7df608c3cb4e98f0L,0x677df928b4dd95ddL,
  10939. 0x4c1d7142eeed2934L } },
  10940. /* 47 */
  10941. { { 0x30bf236c86a2ee12L,0x74d5a12705ecb4c0L,0x9ef43b0f1601cca9L,
  10942. 0xbe1b1bf9ac4dd202L },
  10943. { 0x84943e4717b6f93bL,0x6f789757cd5214b3L,0x5e0db1a97f313dfaL,
  10944. 0x0515efacece0b72bL } },
  10945. /* 48 */
  10946. { { 0x433a677ca78c3f8bL,0x204a9feaf376a9c1L,0xb6bfbea444baeadfL,
  10947. 0x5a43cafd2b48a3f4L },
  10948. { 0xe25a7d0b67d1d226L,0xb2115844f6837985L,0x8c9cca3ed87c2b88L,
  10949. 0xecd4bc73894772e1L } },
  10950. /* 49 */
  10951. { { 0x368abec6783490e7L,0xf26da8bdd925c359L,0xf9b643e5e8fb0679L,
  10952. 0x7ab803d9b555d175L },
  10953. { 0x1b4059994ebae595L,0x07fbbf25ba417a49L,0x02d7cf1cc617957aL,
  10954. 0x79070ea5565c1fbbL } },
  10955. /* 50 */
  10956. { { 0x70194602d9b028faL,0x9c49969d9ff06760L,0xbf4add816ad27b42L,
  10957. 0x7d1f226d8651524eL },
  10958. { 0xb0779b40eecd7724L,0xd356077265938707L,0xe3a61fe5d054b903L,
  10959. 0xd6f5a3433365136bL } },
  10960. /* 51 */
  10961. { { 0x25c87c76d2970fcfL,0x7c9f60a04d5546a8L,0x7dab072f8dd8bf8cL,
  10962. 0x3d10907ce8ff9f28L },
  10963. { 0xb08d6d0e34bb2a29L,0x5dfd4907c3fcfdafL,0xe4a2d4b147123ba6L,
  10964. 0x6e9eef0b42de6d8dL } },
  10965. /* 52 */
  10966. { { 0x81255af5cbb55f9dL,0x579f27055328d39eL,0xa7bfc9173e5ae663L,
  10967. 0xe9b55d57a1246e42L },
  10968. { 0x240ecd9475629188L,0x8748d297457bd3c0L,0x50e215ef373c361cL,
  10969. 0xaf9d8a8618c967b9L } },
  10970. /* 53 */
  10971. { { 0x79a041040a04143fL,0x03f7410fc700c616L,0xe8f2a3f291108ca6L,
  10972. 0xa26d67e8f5ac679aL },
  10973. { 0xa15dbfebb83fbd9aL,0xf1aaebd23a0b5587L,0x639a97ddce0ead44L,
  10974. 0xf253b00c71d12ee0L } },
  10975. /* 54 */
  10976. { { 0x7baecf4c9e35e57cL,0x522e26a16786e3a5L,0x600b538b8af829a2L,
  10977. 0x19fa80b72c6de44aL },
  10978. { 0xb52364f0aaf0ff52L,0x2e4bc21a6714587fL,0x401377a3c245967dL,
  10979. 0x65178766a23cf3ebL } },
  10980. /* 55 */
  10981. { { 0xc1c81838923ac000L,0x42021f02c4abc0eeL,0xcde3bc9a47132a20L,
  10982. 0x6f52a864c69f55fbL },
  10983. { 0x0bdfd3e4df89ff6aL,0x244c943bc88bd74eL,0x649e0b532612998bL,
  10984. 0xce61ebc3d3413d4aL } },
  10985. /* 56 */
  10986. { { 0xe31629042cba5a90L,0xa72710aedb6c224eL,0x51831390d87e44dbL,
  10987. 0xa687dc9848fe2ef3L },
  10988. { 0x857e985516a21ca9L,0xe3428d8ec9a7bc12L,0x16d3bcd012b044a2L,
  10989. 0xe6fa0c69e85f6704L } },
  10990. /* 57 */
  10991. { { 0xe4cca34b8fd42692L,0xc86d49a6e15f3acfL,0xbfe1f263a6b18392L,
  10992. 0x0664c933dcd266f6L },
  10993. { 0x86738cf519399d88L,0x1cbcc8c3749ce6bcL,0x28171f7bc773b884L,
  10994. 0x306fc95701acf19eL } },
  10995. /* 58 */
  10996. { { 0x0da7a737afb6a419L,0x637fc26a195fbc40L,0x0fc8f8769c64e8e7L,
  10997. 0x2a68579b208c0626L },
  10998. { 0x82e823108628abc3L,0xe4e09313ab23ae94L,0x66bf9adbe5155cf1L,
  10999. 0x17909f6ce8a2dd0cL } },
  11000. /* 59 */
  11001. { { 0x767c359643d7ad31L,0x7ba3a1aa49ccef62L,0x5261c3160242bf5aL,
  11002. 0x85f452199eb82dfbL },
  11003. { 0x554cb38237b42e47L,0xc9771ec14cf66133L,0xde70617a153905a3L,
  11004. 0x2cab26fcbc61316dL } },
  11005. /* 60 */
  11006. { { 0x7dababbd75c10315L,0x9a8fbe88a48df64eL,0x2b076fe5e1b8f912L,
  11007. 0x1a530ce9ccbd50dcL },
  11008. { 0x47361ab76647d225L,0xf84e73be4d636a15L,0xd58fcaaf5904a2faL,
  11009. 0x73747d4b38523a19L } },
  11010. /* 61 */
  11011. { { 0x6e6b0fb8b6864cc0L,0x5d8a0027ab3b623cL,0x5e6665389a1cfc9cL,
  11012. 0x816b19de521e4ff3L },
  11013. { 0x56709ad00bc447f8L,0x1d46cb1c8f1464d7L,0x49cef820a949873dL,
  11014. 0x02804692d9d3e65fL } },
  11015. /* 62 */
  11016. { { 0x1ae0ea28ad8b5976L,0x4e9ad48e869458fbL,0xe9437ec996cfedf8L,
  11017. 0xa4f924a22afa74d9L },
  11018. { 0xcb5b1845aaf797c0L,0xe5d6dd0eba6f557fL,0xa1496fe691dc2e7cL,
  11019. 0xad31edac8c179fc7L } },
  11020. /* 63 */
  11021. { { 0xf9c5e9de44b06ed7L,0x6ce7c4f74a597159L,0xd02ec441833accb5L,
  11022. 0xf30205996296e8fcL },
  11023. { 0x7df6c5c6c2afbe06L,0xff429dda9c849b09L,0x42170166f5dd78d6L,
  11024. 0x2403ea21830c388bL } },
  11025. };
  11026. /* Multiply the base point of P256 by the scalar and return the result.
  11027. * If map is true then convert result to affine coordinates.
  11028. *
  11029. * Stripe implementation.
  11030. * Pre-generated: 2^0, 2^42, ...
  11031. * Pre-generated: products of all combinations of above.
  11032. * 6 doubles and adds (with qz=1)
  11033. *
  11034. * r Resulting point.
  11035. * k Scalar to multiply by.
  11036. * map Indicates whether to convert result to affine.
  11037. * ct Constant time required.
  11038. * heap Heap to use for allocation.
  11039. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  11040. */
  11041. static int sp_256_ecc_mulmod_base_4(sp_point_256* r, const sp_digit* k,
  11042. int map, int ct, void* heap)
  11043. {
  11044. return sp_256_ecc_mulmod_stripe_4(r, &p256_base, p256_table,
  11045. k, map, ct, heap);
  11046. }
  11047. #ifdef HAVE_INTEL_AVX2
  11048. /* Multiply the base point of P256 by the scalar and return the result.
  11049. * If map is true then convert result to affine coordinates.
  11050. *
  11051. * Stripe implementation.
  11052. * Pre-generated: 2^0, 2^42, ...
  11053. * Pre-generated: products of all combinations of above.
  11054. * 6 doubles and adds (with qz=1)
  11055. *
  11056. * r Resulting point.
  11057. * k Scalar to multiply by.
  11058. * map Indicates whether to convert result to affine.
  11059. * ct Constant time required.
  11060. * heap Heap to use for allocation.
  11061. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  11062. */
  11063. static int sp_256_ecc_mulmod_base_avx2_4(sp_point_256* r, const sp_digit* k,
  11064. int map, int ct, void* heap)
  11065. {
  11066. return sp_256_ecc_mulmod_stripe_avx2_4(r, &p256_base, p256_table,
  11067. k, map, ct, heap);
  11068. }
  11069. #endif /* HAVE_INTEL_AVX2 */
  11070. #else /* WOLFSSL_SP_SMALL */
  11071. /* The index into pre-computation table to use. */
  11072. static const uint8_t recode_index_4_7[130] = {
  11073. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  11074. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  11075. 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
  11076. 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
  11077. 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49,
  11078. 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33,
  11079. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  11080. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  11081. 0, 1,
  11082. };
  11083. /* Whether to negate y-ordinate. */
  11084. static const uint8_t recode_neg_4_7[130] = {
  11085. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  11086. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  11087. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  11088. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  11089. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  11090. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  11091. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  11092. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  11093. 0, 0,
  11094. };
  11095. /* Recode the scalar for multiplication using pre-computed values and
  11096. * subtraction.
  11097. *
  11098. * k Scalar to multiply by.
  11099. * v Vector of operations to perform.
  11100. */
  11101. static void sp_256_ecc_recode_7_4(const sp_digit* k, ecc_recode_256* v)
  11102. {
  11103. int i;
  11104. int j;
  11105. uint8_t y;
  11106. int carry = 0;
  11107. int o;
  11108. sp_digit n;
  11109. j = 0;
  11110. n = k[j];
  11111. o = 0;
  11112. for (i=0; i<37; i++) {
  11113. y = (int8_t)n;
  11114. if (o + 7 < 64) {
  11115. y &= 0x7f;
  11116. n >>= 7;
  11117. o += 7;
  11118. }
  11119. else if (o + 7 == 64) {
  11120. n >>= 7;
  11121. if (++j < 4)
  11122. n = k[j];
  11123. o = 0;
  11124. }
  11125. else if (++j < 4) {
  11126. n = k[j];
  11127. y |= (uint8_t)((n << (64 - o)) & 0x7f);
  11128. o -= 57;
  11129. n >>= o;
  11130. }
  11131. y += (uint8_t)carry;
  11132. v[i].i = recode_index_4_7[y];
  11133. v[i].neg = recode_neg_4_7[y];
  11134. carry = (y >> 7) + v[i].neg;
  11135. }
  11136. }
  11137. #ifdef __cplusplus
  11138. extern "C" {
  11139. #endif
  11140. extern void sp_256_get_entry_65_4(sp_point_256* r, const sp_table_entry_256* table, int idx);
  11141. #ifdef __cplusplus
  11142. }
  11143. #endif
  11144. #ifdef __cplusplus
  11145. extern "C" {
  11146. #endif
  11147. extern void sp_256_get_entry_65_avx2_4(sp_point_256* r, const sp_table_entry_256* table, int idx);
  11148. #ifdef __cplusplus
  11149. }
  11150. #endif
  11151. static const sp_table_entry_256 p256_table[2405] = {
  11152. /* 0 << 0 */
  11153. { { 0x00, 0x00, 0x00, 0x00 },
  11154. { 0x00, 0x00, 0x00, 0x00 } },
  11155. /* 1 << 0 */
  11156. { { 0x79e730d418a9143cL,0x75ba95fc5fedb601L,0x79fb732b77622510L,
  11157. 0x18905f76a53755c6L },
  11158. { 0xddf25357ce95560aL,0x8b4ab8e4ba19e45cL,0xd2e88688dd21f325L,
  11159. 0x8571ff1825885d85L } },
  11160. /* 2 << 0 */
  11161. { { 0x850046d410ddd64dL,0xaa6ae3c1a433827dL,0x732205038d1490d9L,
  11162. 0xf6bb32e43dcf3a3bL },
  11163. { 0x2f3648d361bee1a5L,0x152cd7cbeb236ff8L,0x19a8fb0e92042dbeL,
  11164. 0x78c577510a5b8a3bL } },
  11165. /* 3 << 0 */
  11166. { { 0xffac3f904eebc127L,0xb027f84a087d81fbL,0x66ad77dd87cbbc98L,
  11167. 0x26936a3fb6ff747eL },
  11168. { 0xb04c5c1fc983a7ebL,0x583e47ad0861fe1aL,0x788208311a2ee98eL,
  11169. 0xd5f06a29e587cc07L } },
  11170. /* 4 << 0 */
  11171. { { 0x74b0b50d46918dccL,0x4650a6edc623c173L,0x0cdaacace8100af2L,
  11172. 0x577362f541b0176bL },
  11173. { 0x2d96f24ce4cbaba6L,0x17628471fad6f447L,0x6b6c36dee5ddd22eL,
  11174. 0x84b14c394c5ab863L } },
  11175. /* 5 << 0 */
  11176. { { 0xbe1b8aaec45c61f5L,0x90ec649a94b9537dL,0x941cb5aad076c20cL,
  11177. 0xc9079605890523c8L },
  11178. { 0xeb309b4ae7ba4f10L,0x73c568efe5eb882bL,0x3540a9877e7a1f68L,
  11179. 0x73a076bb2dd1e916L } },
  11180. /* 6 << 0 */
  11181. { { 0x403947373e77664aL,0x55ae744f346cee3eL,0xd50a961a5b17a3adL,
  11182. 0x13074b5954213673L },
  11183. { 0x93d36220d377e44bL,0x299c2b53adff14b5L,0xf424d44cef639f11L,
  11184. 0xa4c9916d4a07f75fL } },
  11185. /* 7 << 0 */
  11186. { { 0x0746354ea0173b4fL,0x2bd20213d23c00f7L,0xf43eaab50c23bb08L,
  11187. 0x13ba5119c3123e03L },
  11188. { 0x2847d0303f5b9d4dL,0x6742f2f25da67bddL,0xef933bdc77c94195L,
  11189. 0xeaedd9156e240867L } },
  11190. /* 8 << 0 */
  11191. { { 0x27f14cd19499a78fL,0x462ab5c56f9b3455L,0x8f90f02af02cfc6bL,
  11192. 0xb763891eb265230dL },
  11193. { 0xf59da3a9532d4977L,0x21e3327dcf9eba15L,0x123c7b84be60bbf0L,
  11194. 0x56ec12f27706df76L } },
  11195. /* 9 << 0 */
  11196. { { 0x75c96e8f264e20e8L,0xabe6bfed59a7a841L,0x2cc09c0444c8eb00L,
  11197. 0xe05b3080f0c4e16bL },
  11198. { 0x1eb7777aa45f3314L,0x56af7bedce5d45e3L,0x2b6e019a88b12f1aL,
  11199. 0x086659cdfd835f9bL } },
  11200. /* 10 << 0 */
  11201. { { 0x2c18dbd19dc21ec8L,0x98f9868a0fcf8139L,0x737d2cd648250b49L,
  11202. 0xcc61c94724b3428fL },
  11203. { 0x0c2b407880dd9e76L,0xc43a8991383fbe08L,0x5f7d2d65779be5d2L,
  11204. 0x78719a54eb3b4ab5L } },
  11205. /* 11 << 0 */
  11206. { { 0xea7d260a6245e404L,0x9de407956e7fdfe0L,0x1ff3a4158dac1ab5L,
  11207. 0x3e7090f1649c9073L },
  11208. { 0x1a7685612b944e88L,0x250f939ee57f61c8L,0x0c0daa891ead643dL,
  11209. 0x68930023e125b88eL } },
  11210. /* 12 << 0 */
  11211. { { 0x04b71aa7d2697768L,0xabdedef5ca345a33L,0x2409d29dee37385eL,
  11212. 0x4ee1df77cb83e156L },
  11213. { 0x0cac12d91cbb5b43L,0x170ed2f6ca895637L,0x28228cfa8ade6d66L,
  11214. 0x7ff57c9553238acaL } },
  11215. /* 13 << 0 */
  11216. { { 0xccc425634b2ed709L,0x0e356769856fd30dL,0xbcbcd43f559e9811L,
  11217. 0x738477ac5395b759L },
  11218. { 0x35752b90c00ee17fL,0x68748390742ed2e3L,0x7cd06422bd1f5bc1L,
  11219. 0xfbc08769c9e7b797L } },
  11220. /* 14 << 0 */
  11221. { { 0xa242a35bb0cf664aL,0x126e48f77f9707e3L,0x1717bf54c6832660L,
  11222. 0xfaae7332fd12c72eL },
  11223. { 0x27b52db7995d586bL,0xbe29569e832237c2L,0xe8e4193e2a65e7dbL,
  11224. 0x152706dc2eaa1bbbL } },
  11225. /* 15 << 0 */
  11226. { { 0x72bcd8b7bc60055bL,0x03cc23ee56e27e4bL,0xee337424e4819370L,
  11227. 0xe2aa0e430ad3da09L },
  11228. { 0x40b8524f6383c45dL,0xd766355442a41b25L,0x64efa6de778a4797L,
  11229. 0x2042170a7079adf4L } },
  11230. /* 16 << 0 */
  11231. { { 0x808b0b650bc6fb80L,0x5882e0753ffe2e6bL,0xd5ef2f7c2c83f549L,
  11232. 0x54d63c809103b723L },
  11233. { 0xf2f11bd652a23f9bL,0x3670c3194b0b6587L,0x55c4623bb1580e9eL,
  11234. 0x64edf7b201efe220L } },
  11235. /* 17 << 0 */
  11236. { { 0x97091dcbd53c5c9dL,0xf17624b6ac0a177bL,0xb0f139752cfe2dffL,
  11237. 0xc1a35c0a6c7a574eL },
  11238. { 0x227d314693e79987L,0x0575bf30e89cb80eL,0x2f4e247f0d1883bbL,
  11239. 0xebd512263274c3d0L } },
  11240. /* 18 << 0 */
  11241. { { 0x5f3e51c856ada97aL,0x4afc964d8f8b403eL,0xa6f247ab412e2979L,
  11242. 0x675abd1b6f80ebdaL },
  11243. { 0x66a2bd725e485a1dL,0x4b2a5caf8f4f0b3cL,0x2626927f1b847bbaL,
  11244. 0x6c6fc7d90502394dL } },
  11245. /* 19 << 0 */
  11246. { { 0xfea912baa5659ae8L,0x68363aba25e1a16eL,0xb8842277752c41acL,
  11247. 0xfe545c282897c3fcL },
  11248. { 0x2d36e9e7dc4c696bL,0x5806244afba977c5L,0x85665e9be39508c1L,
  11249. 0xf720ee256d12597bL } },
  11250. /* 20 << 0 */
  11251. { { 0x8a979129d2337a31L,0x5916868f0f862bdcL,0x048099d95dd283baL,
  11252. 0xe2d1eeb6fe5bfb4eL },
  11253. { 0x82ef1c417884005dL,0xa2d4ec17ffffcbaeL,0x9161c53f8aa95e66L,
  11254. 0x5ee104e1c5fee0d0L } },
  11255. /* 21 << 0 */
  11256. { { 0x562e4cecc135b208L,0x74e1b2654783f47dL,0x6d2a506c5a3f3b30L,
  11257. 0xecead9f4c16762fcL },
  11258. { 0xf29dd4b2e286e5b9L,0x1b0fadc083bb3c61L,0x7a75023e7fac29a4L,
  11259. 0xc086d5f1c9477fa3L } },
  11260. /* 22 << 0 */
  11261. { { 0x0fc611352f6f3076L,0xc99ffa23e3912a9aL,0x6a0b0685d2f8ba3dL,
  11262. 0xfdc777e8e93358a4L },
  11263. { 0x94a787bb35415f04L,0x640c2d6a4d23fea4L,0x9de917da153a35b5L,
  11264. 0x793e8d075d5cd074L } },
  11265. /* 23 << 0 */
  11266. { { 0xf4f876532de45068L,0x37c7a7e89e2e1f6eL,0xd0825fa2a3584069L,
  11267. 0xaf2cea7c1727bf42L },
  11268. { 0x0360a4fb9e4785a9L,0xe5fda49c27299f4aL,0x48068e1371ac2f71L,
  11269. 0x83d0687b9077666fL } },
  11270. /* 24 << 0 */
  11271. { { 0x6d3883b215d02819L,0x6d0d755040dd9a35L,0x61d7cbf91d2b469fL,
  11272. 0xf97b232f2efc3115L },
  11273. { 0xa551d750b24bcbc7L,0x11ea494988a1e356L,0x7669f03193cb7501L,
  11274. 0x595dc55eca737b8aL } },
  11275. /* 25 << 0 */
  11276. { { 0xa4a319acd837879fL,0x6fc1b49eed6b67b0L,0xe395993332f1f3afL,
  11277. 0x966742eb65432a2eL },
  11278. { 0x4b8dc9feb4966228L,0x96cc631243f43950L,0x12068859c9b731eeL,
  11279. 0x7b948dc356f79968L } },
  11280. /* 26 << 0 */
  11281. { { 0x61e4ad32ed1f8008L,0xe6c9267ad8b17538L,0x1ac7c5eb857ff6fbL,
  11282. 0x994baaa855f2fb10L },
  11283. { 0x84cf14e11d248018L,0x5a39898b628ac508L,0x14fde97b5fa944f5L,
  11284. 0xed178030d12e5ac7L } },
  11285. /* 27 << 0 */
  11286. { { 0x042c2af497e2feb4L,0xd36a42d7aebf7313L,0x49d2c9eb084ffdd7L,
  11287. 0x9f8aa54b2ef7c76aL },
  11288. { 0x9200b7ba09895e70L,0x3bd0c66fddb7fb58L,0x2d97d10878eb4cbbL,
  11289. 0x2d431068d84bde31L } },
  11290. /* 28 << 0 */
  11291. { { 0x4b523eb7172ccd1fL,0x7323cb2830a6a892L,0x97082ec0cfe153ebL,
  11292. 0xe97f6b6af2aadb97L },
  11293. { 0x1d3d393ed1a83da1L,0xa6a7f9c7804b2a68L,0x4a688b482d0cb71eL,
  11294. 0xa9b4cc5f40585278L } },
  11295. /* 29 << 0 */
  11296. { { 0x5e5db46acb66e132L,0xf1be963a0d925880L,0x944a70270317b9e2L,
  11297. 0xe266f95948603d48L },
  11298. { 0x98db66735c208899L,0x90472447a2fb18a3L,0x8a966939777c619fL,
  11299. 0x3798142a2a3be21bL } },
  11300. /* 30 << 0 */
  11301. { { 0xb4241cb13298b343L,0xa3a14e49b44f65a1L,0xc5f4d6cd3ac77acdL,
  11302. 0xd0288cb552b6fc3cL },
  11303. { 0xd5cc8c2f1c040abcL,0xb675511e06bf9b4aL,0xd667da379b3aa441L,
  11304. 0x460d45ce51601f72L } },
  11305. /* 31 << 0 */
  11306. { { 0xe2f73c696755ff89L,0xdd3cf7e7473017e6L,0x8ef5689d3cf7600dL,
  11307. 0x948dc4f8b1fc87b4L },
  11308. { 0xd9e9fe814ea53299L,0x2d921ca298eb6028L,0xfaecedfd0c9803fcL,
  11309. 0xf38ae8914d7b4745L } },
  11310. /* 32 << 0 */
  11311. { { 0xd8c5fccfc5e3a3d8L,0xbefd904c4079dfbfL,0xbc6d6a58fead0197L,
  11312. 0x39227077695532a4L },
  11313. { 0x09e23e6ddbef42f5L,0x7e449b64480a9908L,0x7b969c1aad9a2e40L,
  11314. 0x6231d7929591c2a4L } },
  11315. /* 33 << 0 */
  11316. { { 0x871514560f664534L,0x85ceae7c4b68f103L,0xac09c4ae65578ab9L,
  11317. 0x33ec6868f044b10cL },
  11318. { 0x6ac4832b3a8ec1f1L,0x5509d1285847d5efL,0xf909604f763f1574L,
  11319. 0xb16c4303c32f63c4L } },
  11320. /* 34 << 0 */
  11321. { { 0xb6ab20147ca23cd3L,0xcaa7a5c6a391849dL,0x5b0673a375678d94L,
  11322. 0xc982ddd4dd303e64L },
  11323. { 0xfd7b000b5db6f971L,0xbba2cb1f6f876f92L,0xc77332a33c569426L,
  11324. 0xa159100c570d74f8L } },
  11325. /* 35 << 0 */
  11326. { { 0xfd16847fdec67ef5L,0x742ee464233e76b7L,0x0b8e4134efc2b4c8L,
  11327. 0xca640b8642a3e521L },
  11328. { 0x653a01908ceb6aa9L,0x313c300c547852d5L,0x24e4ab126b237af7L,
  11329. 0x2ba901628bb47af8L } },
  11330. /* 36 << 0 */
  11331. { { 0x3d5e58d6a8219bb7L,0xc691d0bd1b06c57fL,0x0ae4cb10d257576eL,
  11332. 0x3569656cd54a3dc3L },
  11333. { 0xe5ebaebd94cda03aL,0x934e82d3162bfe13L,0x450ac0bae251a0c6L,
  11334. 0x480b9e11dd6da526L } },
  11335. /* 37 << 0 */
  11336. { { 0x00467bc58cce08b5L,0xb636458c7f178d55L,0xc5748baea677d806L,
  11337. 0x2763a387dfa394ebL },
  11338. { 0xa12b448a7d3cebb6L,0xe7adda3e6f20d850L,0xf63ebce51558462cL,
  11339. 0x58b36143620088a8L } },
  11340. /* 38 << 0 */
  11341. { { 0x8a2cc3ca4d63c0eeL,0x512331170fe948ceL,0x7463fd85222ef33bL,
  11342. 0xadf0c7dc7c603d6cL },
  11343. { 0x0ec32d3bfe7765e5L,0xccaab359bf380409L,0xbdaa84d68e59319cL,
  11344. 0xd9a4c2809c80c34dL } },
  11345. /* 39 << 0 */
  11346. { { 0xa9d89488a059c142L,0x6f5ae714ff0b9346L,0x068f237d16fb3664L,
  11347. 0x5853e4c4363186acL },
  11348. { 0xe2d87d2363c52f98L,0x2ec4a76681828876L,0x47b864fae14e7b1cL,
  11349. 0x0c0bc0e569192408L } },
  11350. /* 40 << 0 */
  11351. { { 0xe4d7681db82e9f3eL,0x83200f0bdf25e13cL,0x8909984c66f27280L,
  11352. 0x462d7b0075f73227L },
  11353. { 0xd90ba188f2651798L,0x74c6e18c36ab1c34L,0xab256ea35ef54359L,
  11354. 0x03466612d1aa702fL } },
  11355. /* 41 << 0 */
  11356. { { 0x624d60492ed22e91L,0x6fdfe0b56f072822L,0xeeca111539ce2271L,
  11357. 0x98100a4fdb01614fL },
  11358. { 0xb6b0daa2a35c628fL,0xb6f94d2ec87e9a47L,0xc67732591d57d9ceL,
  11359. 0xf70bfeec03884a7bL } },
  11360. /* 42 << 0 */
  11361. { { 0x5fb35ccfed2bad01L,0xa155cbe31da6a5c7L,0xc2e2594c30a92f8fL,
  11362. 0x649c89ce5bfafe43L },
  11363. { 0xd158667de9ff257aL,0x9b359611f32c50aeL,0x4b00b20b906014cfL,
  11364. 0xf3a8cfe389bc7d3dL } },
  11365. /* 43 << 0 */
  11366. { { 0x4ff23ffd248a7d06L,0x80c5bfb4878873faL,0xb7d9ad9005745981L,
  11367. 0x179c85db3db01994L },
  11368. { 0xba41b06261a6966cL,0x4d82d052eadce5a8L,0x9e91cd3ba5e6a318L,
  11369. 0x47795f4f95b2dda0L } },
  11370. /* 44 << 0 */
  11371. { { 0xecfd7c1fd55a897cL,0x009194abb29110fbL,0x5f0e2046e381d3b0L,
  11372. 0x5f3425f6a98dd291L },
  11373. { 0xbfa06687730d50daL,0x0423446c4b083b7fL,0x397a247dd69d3417L,
  11374. 0xeb629f90387ba42aL } },
  11375. /* 45 << 0 */
  11376. { { 0x1ee426ccd5cd79bfL,0x0032940b946c6e18L,0x1b1e8ae057477f58L,
  11377. 0xe94f7d346d823278L },
  11378. { 0xc747cb96782ba21aL,0xc5254469f72b33a5L,0x772ef6dec7f80c81L,
  11379. 0xd73acbfe2cd9e6b5L } },
  11380. /* 46 << 0 */
  11381. { { 0x4075b5b149ee90d9L,0x785c339aa06e9ebaL,0xa1030d5babf825e0L,
  11382. 0xcec684c3a42931dcL },
  11383. { 0x42ab62c9c1586e63L,0x45431d665ab43f2bL,0x57c8b2c055f7835dL,
  11384. 0x033da338c1b7f865L } },
  11385. /* 47 << 0 */
  11386. { { 0x283c7513caa76097L,0x0a624fa936c83906L,0x6b20afec715af2c7L,
  11387. 0x4b969974eba78bfdL },
  11388. { 0x220755ccd921d60eL,0x9b944e107baeca13L,0x04819d515ded93d4L,
  11389. 0x9bbff86e6dddfd27L } },
  11390. /* 48 << 0 */
  11391. { { 0x6b34413077adc612L,0xa7496529bbd803a0L,0x1a1baaa76d8805bdL,
  11392. 0xc8403902470343adL },
  11393. { 0x39f59f66175adff1L,0x0b26d7fbb7d8c5b7L,0xa875f5ce529d75e3L,
  11394. 0x85efc7e941325cc2L } },
  11395. /* 49 << 0 */
  11396. { { 0x21950b421ff6acd3L,0xffe7048453dc6909L,0xff4cd0b228766127L,
  11397. 0xabdbe6084fb7db2bL },
  11398. { 0x837c92285e1109e8L,0x26147d27f4645b5aL,0x4d78f592f7818ed8L,
  11399. 0xd394077ef247fa36L } },
  11400. /* 50 << 0 */
  11401. { { 0x0fb9c2d0488c171aL,0xa78bfbaa13685278L,0xedfbe268d5b1fa6aL,
  11402. 0x0dceb8db2b7eaba7L },
  11403. { 0xbf9e80899ae2b710L,0xefde7ae6a4449c96L,0x43b7716bcc143a46L,
  11404. 0xd7d34194c3628c13L } },
  11405. /* 51 << 0 */
  11406. { { 0x508cec1c3b3f64c9L,0xe20bc0ba1e5edf3fL,0xda1deb852f4318d4L,
  11407. 0xd20ebe0d5c3fa443L },
  11408. { 0x370b4ea773241ea3L,0x61f1511c5e1a5f65L,0x99a5e23d82681c62L,
  11409. 0xd731e383a2f54c2dL } },
  11410. /* 52 << 0 */
  11411. { { 0x2692f36e83445904L,0x2e0ec469af45f9c0L,0x905a3201c67528b7L,
  11412. 0x88f77f34d0e5e542L },
  11413. { 0xf67a8d295864687cL,0x23b92eae22df3562L,0x5c27014b9bbec39eL,
  11414. 0x7ef2f2269c0f0f8dL } },
  11415. /* 53 << 0 */
  11416. { { 0x97359638546c4d8dL,0x5f9c3fc492f24679L,0x912e8beda8c8acd9L,
  11417. 0xec3a318d306634b0L },
  11418. { 0x80167f41c31cb264L,0x3db82f6f522113f2L,0xb155bcd2dcafe197L,
  11419. 0xfba1da5943465283L } },
  11420. /* 54 << 0 */
  11421. { { 0xa0425b8eb212cf53L,0x4f2e512ef8557c5fL,0xc1286ff925c4d56cL,
  11422. 0xbb8a0feaee26c851L },
  11423. { 0xc28f70d2e7d6107eL,0x7ee0c444e76265aaL,0x3df277a41d1936b1L,
  11424. 0x1a556e3fea9595ebL } },
  11425. /* 55 << 0 */
  11426. { { 0x258bbbf9e7305683L,0x31eea5bf07ef5be6L,0x0deb0e4a46c814c1L,
  11427. 0x5cee8449a7b730ddL },
  11428. { 0xeab495c5a0182bdeL,0xee759f879e27a6b4L,0xc2cf6a6880e518caL,
  11429. 0x25e8013ff14cf3f4L } },
  11430. /* 56 << 0 */
  11431. { { 0x8fc441407e8d7a14L,0xbb1ff3ca9556f36aL,0x6a84438514600044L,
  11432. 0xba3f0c4a7451ae63L },
  11433. { 0xdfcac25b1f9af32aL,0x01e0db86b1f2214bL,0x4e9a5bc2a4b596acL,
  11434. 0x83927681026c2c08L } },
  11435. /* 57 << 0 */
  11436. { { 0x3ec832e77acaca28L,0x1bfeea57c7385b29L,0x068212e3fd1eaf38L,
  11437. 0xc13298306acf8cccL },
  11438. { 0xb909f2db2aac9e59L,0x5748060db661782aL,0xc5ab2632c79b7a01L,
  11439. 0xda44c6c600017626L } },
  11440. /* 58 << 0 */
  11441. { { 0xf26c00e8a7ea82f0L,0x99cac80de4299aafL,0xd66fe3b67ed78be1L,
  11442. 0x305f725f648d02cdL },
  11443. { 0x33ed1bc4623fb21bL,0xfa70533e7a6319adL,0x17ab562dbe5ffb3eL,
  11444. 0x0637499456674741L } },
  11445. /* 59 << 0 */
  11446. { { 0x69d44ed65c46aa8eL,0x2100d5d3a8d063d1L,0xcb9727eaa2d17c36L,
  11447. 0x4c2bab1b8add53b7L },
  11448. { 0xa084e90c15426704L,0x778afcd3a837ebeaL,0x6651f7017ce477f8L,
  11449. 0xa062499846fb7a8bL } },
  11450. /* 60 << 0 */
  11451. { { 0xdc1e6828ed8a6e19L,0x33fc23364189d9c7L,0x026f8fe2671c39bcL,
  11452. 0xd40c4ccdbc6f9915L },
  11453. { 0xafa135bbf80e75caL,0x12c651a022adff2cL,0xc40a04bd4f51ad96L,
  11454. 0x04820109bbe4e832L } },
  11455. /* 61 << 0 */
  11456. { { 0x3667eb1a7f4c04ccL,0x59556621a9404f84L,0x71cdf6537eceb50aL,
  11457. 0x994a44a69b8335faL },
  11458. { 0xd7faf819dbeb9b69L,0x473c5680eed4350dL,0xb6658466da44bba2L,
  11459. 0x0d1bc780872bdbf3L } },
  11460. /* 62 << 0 */
  11461. { { 0xe535f175a1962f91L,0x6ed7e061ed58f5a7L,0x177aa4c02089a233L,
  11462. 0x0dbcb03ae539b413L },
  11463. { 0xe3dc424ebb32e38eL,0x6472e5ef6806701eL,0xdd47ff98814be9eeL,
  11464. 0x6b60cfff35ace009L } },
  11465. /* 63 << 0 */
  11466. { { 0xb8d3d9319ff91fe5L,0x039c4800f0518eedL,0x95c376329182cb26L,
  11467. 0x0763a43482fc568dL },
  11468. { 0x707c04d5383e76baL,0xac98b930824e8197L,0x92bf7c8f91230de0L,
  11469. 0x90876a0140959b70L } },
  11470. /* 64 << 0 */
  11471. { { 0xdb6d96f305968b80L,0x380a0913089f73b9L,0x7da70b83c2c61e01L,
  11472. 0x95fb8394569b38c7L },
  11473. { 0x9a3c651280edfe2fL,0x8f726bb98faeaf82L,0x8010a4a078424bf8L,
  11474. 0x296720440e844970L } },
  11475. /* 0 << 7 */
  11476. { { 0x00, 0x00, 0x00, 0x00 },
  11477. { 0x00, 0x00, 0x00, 0x00 } },
  11478. /* 1 << 7 */
  11479. { { 0x63c5cb817a2ad62aL,0x7ef2b6b9ac62ff54L,0x3749bba4b3ad9db5L,
  11480. 0xad311f2c46d5a617L },
  11481. { 0xb77a8087c2ff3b6dL,0xb46feaf3367834ffL,0xf8aa266d75d6b138L,
  11482. 0xfa38d320ec008188L } },
  11483. /* 2 << 7 */
  11484. { { 0x486d8ffa696946fcL,0x50fbc6d8b9cba56dL,0x7e3d423e90f35a15L,
  11485. 0x7c3da195c0dd962cL },
  11486. { 0xe673fdb03cfd5d8bL,0x0704b7c2889dfca5L,0xf6ce581ff52305aaL,
  11487. 0x399d49eb914d5e53L } },
  11488. /* 3 << 7 */
  11489. { { 0x380a496d6ec293cdL,0x733dbda78e7051f5L,0x037e388db849140aL,
  11490. 0xee4b32b05946dbf6L },
  11491. { 0xb1c4fda9cae368d1L,0x5001a7b0fdb0b2f3L,0x6df593742e3ac46eL,
  11492. 0x4af675f239b3e656L } },
  11493. /* 4 << 7 */
  11494. { { 0x44e3811039949296L,0x5b63827b361db1b5L,0x3e5323ed206eaff5L,
  11495. 0x942370d2c21f4290L },
  11496. { 0xf2caaf2ee0d985a1L,0x192cc64b7239846dL,0x7c0b8f47ae6312f8L,
  11497. 0x7dc61f9196620108L } },
  11498. /* 5 << 7 */
  11499. { { 0xb830fb5bc2da7de9L,0xd0e643df0ff8d3beL,0x31ee77ba188a9641L,
  11500. 0x4e8aa3aabcf6d502L },
  11501. { 0xf9fb65329a49110fL,0xd18317f62dd6b220L,0x7e3ced4152c3ea5aL,
  11502. 0x0d296a147d579c4aL } },
  11503. /* 6 << 7 */
  11504. { { 0x35d6a53eed4c3717L,0x9f8240cf3d0ed2a3L,0x8c0d4d05e5543aa5L,
  11505. 0x45d5bbfbdd33b4b4L },
  11506. { 0xfa04cc73137fd28eL,0x862ac6efc73b3ffdL,0x403ff9f531f51ef2L,
  11507. 0x34d5e0fcbc73f5a2L } },
  11508. /* 7 << 7 */
  11509. { { 0xf252682008913f4fL,0xea20ed61eac93d95L,0x51ed38b46ca6b26cL,
  11510. 0x8662dcbcea4327b0L },
  11511. { 0x6daf295c725d2aaaL,0xbad2752f8e52dcdaL,0x2210e7210b17daccL,
  11512. 0xa37f7912d51e8232L } },
  11513. /* 8 << 7 */
  11514. { { 0x4f7081e144cc3addL,0xd5ffa1d687be82cfL,0x89890b6c0edd6472L,
  11515. 0xada26e1a3ed17863L },
  11516. { 0x276f271563483caaL,0xe6924cd92f6077fdL,0x05a7fe980a466e3cL,
  11517. 0xf1c794b0b1902d1fL } },
  11518. /* 9 << 7 */
  11519. { { 0xe521368882a8042cL,0xd931cfafcd278298L,0x069a0ae0f597a740L,
  11520. 0x0adbb3f3eb59107cL },
  11521. { 0x983e951e5eaa8eb8L,0xe663a8b511b48e78L,0x1631cc0d8a03f2c5L,
  11522. 0x7577c11e11e271e2L } },
  11523. /* 10 << 7 */
  11524. { { 0x33b2385c08369a90L,0x2990c59b190eb4f8L,0x819a6145c68eac80L,
  11525. 0x7a786d622ec4a014L },
  11526. { 0x33faadbe20ac3a8dL,0x31a217815aba2d30L,0x209d2742dba4f565L,
  11527. 0xdb2ce9e355aa0fbbL } },
  11528. /* 11 << 7 */
  11529. { { 0x8cef334b168984dfL,0xe81dce1733879638L,0xf6e6949c263720f0L,
  11530. 0x5c56feaff593cbecL },
  11531. { 0x8bff5601fde58c84L,0x74e241172eccb314L,0xbcf01b614c9a8a78L,
  11532. 0xa233e35e544c9868L } },
  11533. /* 12 << 7 */
  11534. { { 0xb3156bf38bd7aff1L,0x1b5ee4cb1d81b146L,0x7ba1ac41d628a915L,
  11535. 0x8f3a8f9cfd89699eL },
  11536. { 0x7329b9c9a0748be7L,0x1d391c95a92e621fL,0xe51e6b214d10a837L,
  11537. 0xd255f53a4947b435L } },
  11538. /* 13 << 7 */
  11539. { { 0x07669e04f1788ee3L,0xc14f27afa86938a2L,0x8b47a334e93a01c0L,
  11540. 0xff627438d9366808L },
  11541. { 0x7a0985d8ca2a5965L,0x3d9a5542d6e9b9b3L,0xc23eb80b4cf972e8L,
  11542. 0x5c1c33bb4fdf72fdL } },
  11543. /* 14 << 7 */
  11544. { { 0x0c4a58d474a86108L,0xf8048a8fee4c5d90L,0xe3c7c924e86d4c80L,
  11545. 0x28c889de056a1e60L },
  11546. { 0x57e2662eb214a040L,0xe8c48e9837e10347L,0x8774286280ac748aL,
  11547. 0xf1c24022186b06f2L } },
  11548. /* 15 << 7 */
  11549. { { 0xac2dd4c35f74040aL,0x409aeb71fceac957L,0x4fbad78255c4ec23L,
  11550. 0xb359ed618a7b76ecL },
  11551. { 0x12744926ed6f4a60L,0xe21e8d7f4b912de3L,0xe2575a59fc705a59L,
  11552. 0x72f1d4deed2dbc0eL } },
  11553. /* 16 << 7 */
  11554. { { 0x3d2b24b9eb7926b8L,0xbff88cb3cdbe5509L,0xd0f399afe4dd640bL,
  11555. 0x3c5fe1302f76ed45L },
  11556. { 0x6f3562f43764fb3dL,0x7b5af3183151b62dL,0xd5bd0bc7d79ce5f3L,
  11557. 0xfdaf6b20ec66890fL } },
  11558. /* 17 << 7 */
  11559. { { 0x735c67ec6063540cL,0x50b259c2e5f9cb8fL,0xb8734f9a3f99c6abL,
  11560. 0xf8cc13d5a3a7bc85L },
  11561. { 0x80c1b305c5217659L,0xfe5364d44ec12a54L,0xbd87045e681345feL,
  11562. 0x7f8efeb1582f897fL } },
  11563. /* 18 << 7 */
  11564. { { 0xe8cbf1e5d5923359L,0xdb0cea9d539b9fb0L,0x0c5b34cf49859b98L,
  11565. 0x5e583c56a4403cc6L },
  11566. { 0x11fc1a2dd48185b7L,0xc93fbc7e6e521787L,0x47e7a05805105b8bL,
  11567. 0x7b4d4d58db8260c8L } },
  11568. /* 19 << 7 */
  11569. { { 0xe33930b046eb842aL,0x8e844a9a7bdae56dL,0x34ef3a9e13f7fdfcL,
  11570. 0xb3768f82636ca176L },
  11571. { 0x2821f4e04e09e61cL,0x414dc3a1a0c7cddcL,0xd537943754945fcdL,
  11572. 0x151b6eefb3555ff1L } },
  11573. /* 20 << 7 */
  11574. { { 0xb31bd6136339c083L,0x39ff8155dfb64701L,0x7c3388d2e29604abL,
  11575. 0x1e19084ba6b10442L },
  11576. { 0x17cf54c0eccd47efL,0x896933854a5dfb30L,0x69d023fb47daf9f6L,
  11577. 0x9222840b7d91d959L } },
  11578. /* 21 << 7 */
  11579. { { 0x439108f5803bac62L,0x0b7dd91d379bd45fL,0xd651e827ca63c581L,
  11580. 0x5c5d75f6509c104fL },
  11581. { 0x7d5fc7381f2dc308L,0x20faa7bfd98454beL,0x95374beea517b031L,
  11582. 0xf036b9b1642692acL } },
  11583. /* 22 << 7 */
  11584. { { 0xc510610939842194L,0xb7e2353e49d05295L,0xfc8c1d5cefb42ee0L,
  11585. 0xe04884eb08ce811cL },
  11586. { 0xf1f75d817419f40eL,0x5b0ac162a995c241L,0x120921bbc4c55646L,
  11587. 0x713520c28d33cf97L } },
  11588. /* 23 << 7 */
  11589. { { 0xb4a65a5ce98c5100L,0x6cec871d2ddd0f5aL,0x251f0b7f9ba2e78bL,
  11590. 0x224a8434ce3a2a5fL },
  11591. { 0x26827f6125f5c46fL,0x6a22bedc48545ec0L,0x25ae5fa0b1bb5cdcL,
  11592. 0xd693682ffcb9b98fL } },
  11593. /* 24 << 7 */
  11594. { { 0x32027fe891e5d7d3L,0xf14b7d1773a07678L,0xf88497b3c0dfdd61L,
  11595. 0xf7c2eec02a8c4f48L },
  11596. { 0xaa5573f43756e621L,0xc013a2401825b948L,0x1c03b34563878572L,
  11597. 0xa0472bea653a4184L } },
  11598. /* 25 << 7 */
  11599. { { 0xf4222e270ac69a80L,0x34096d25f51e54f6L,0x00a648cb8fffa591L,
  11600. 0x4e87acdc69b6527fL },
  11601. { 0x0575e037e285ccb4L,0x188089e450ddcf52L,0xaa96c9a8870ff719L,
  11602. 0x74a56cd81fc7e369L } },
  11603. /* 26 << 7 */
  11604. { { 0x41d04ee21726931aL,0x0bbbb2c83660ecfdL,0xa6ef6de524818e18L,
  11605. 0xe421cc51e7d57887L },
  11606. { 0xf127d208bea87be6L,0x16a475d3b1cdd682L,0x9db1b684439b63f7L,
  11607. 0x5359b3dbf0f113b6L } },
  11608. /* 27 << 7 */
  11609. { { 0xdfccf1de8bf06e31L,0x1fdf8f44dd383901L,0x10775cad5017e7d2L,
  11610. 0xdfc3a59758d11eefL },
  11611. { 0x6ec9c8a0b1ecff10L,0xee6ed6cc28400549L,0xb5ad7bae1b4f8d73L,
  11612. 0x61b4f11de00aaab9L } },
  11613. /* 28 << 7 */
  11614. { { 0x7b32d69bd4eff2d7L,0x88ae67714288b60fL,0x159461b437a1e723L,
  11615. 0x1f3d4789570aae8cL },
  11616. { 0x869118c07f9871daL,0x35fbda78f635e278L,0x738f3641e1541dacL,
  11617. 0x6794b13ac0dae45fL } },
  11618. /* 29 << 7 */
  11619. { { 0x065064ac09cc0917L,0x27c53729c68540fdL,0x0d2d4c8eef227671L,
  11620. 0xd23a9f80a1785a04L },
  11621. { 0x98c5952852650359L,0xfa09ad0174a1acadL,0x082d5a290b55bf5cL,
  11622. 0xa40f1c67419b8084L } },
  11623. /* 30 << 7 */
  11624. { { 0x3a5c752edcc18770L,0x4baf1f2f8825c3a5L,0xebd63f7421b153edL,
  11625. 0xa2383e47b2f64723L },
  11626. { 0xe7bf620a2646d19aL,0x56cb44ec03c83ffdL,0xaf7267c94f6be9f1L,
  11627. 0x8b2dfd7bc06bb5e9L } },
  11628. /* 31 << 7 */
  11629. { { 0xb87072f2a672c5c7L,0xeacb11c80d53c5e2L,0x22dac29dff435932L,
  11630. 0x37bdb99d4408693cL },
  11631. { 0xf6e62fb62899c20fL,0x3535d512447ece24L,0xfbdc6b88ff577ce3L,
  11632. 0x726693bd190575f2L } },
  11633. /* 32 << 7 */
  11634. { { 0x6772b0e5ab4b35a2L,0x1d8b6001f5eeaacfL,0x728f7ce4795b9580L,
  11635. 0x4a20ed2a41fb81daL },
  11636. { 0x9f685cd44fec01e6L,0x3ed7ddcca7ff50adL,0x460fd2640c2d97fdL,
  11637. 0x3a241426eb82f4f9L } },
  11638. /* 33 << 7 */
  11639. { { 0x17d1df2c6a8ea820L,0xb2b50d3bf22cc254L,0x03856cbab7291426L,
  11640. 0x87fd26ae04f5ee39L },
  11641. { 0x9cb696cc02bee4baL,0x5312180406820fd6L,0xa5dfc2690212e985L,
  11642. 0x666f7ffa160f9a09L } },
  11643. /* 34 << 7 */
  11644. { { 0xc503cd33bccd9617L,0x365dede4ba7730a3L,0x798c63555ddb0786L,
  11645. 0xa6c3200efc9cd3bcL },
  11646. { 0x060ffb2ce5e35efdL,0x99a4e25b5555a1c1L,0x11d95375f70b3751L,
  11647. 0x0a57354a160e1bf6L } },
  11648. /* 35 << 7 */
  11649. { { 0xecb3ae4bf8e4b065L,0x07a834c42e53022bL,0x1cd300b38692ed96L,
  11650. 0x16a6f79261ee14ecL },
  11651. { 0x8f1063c66a8649edL,0xfbcdfcfe869f3e14L,0x2cfb97c100a7b3ecL,
  11652. 0xcea49b3c7130c2f1L } },
  11653. /* 36 << 7 */
  11654. { { 0x462d044fe9d96488L,0x4b53d52e8182a0c1L,0x84b6ddd30391e9e9L,
  11655. 0x80ab7b48b1741a09L },
  11656. { 0xec0e15d427d3317fL,0x8dfc1ddb1a64671eL,0x93cc5d5fd49c5b92L,
  11657. 0xc995d53d3674a331L } },
  11658. /* 37 << 7 */
  11659. { { 0x302e41ec090090aeL,0x2278a0ccedb06830L,0x1d025932fbc99690L,
  11660. 0x0c32fbd2b80d68daL },
  11661. { 0xd79146daf341a6c1L,0xae0ba1391bef68a0L,0xc6b8a5638d774b3aL,
  11662. 0x1cf307bd880ba4d7L } },
  11663. /* 38 << 7 */
  11664. { { 0xc033bdc719803511L,0xa9f97b3b8888c3beL,0x3d68aebc85c6d05eL,
  11665. 0xc3b88a9d193919ebL },
  11666. { 0x2d300748c48b0ee3L,0x7506bc7c07a746c1L,0xfc48437c6e6d57f3L,
  11667. 0x5bd71587cfeaa91aL } },
  11668. /* 39 << 7 */
  11669. { { 0xa4ed0408c1bc5225L,0xd0b946db2719226dL,0x109ecd62758d2d43L,
  11670. 0x75c8485a2751759bL },
  11671. { 0xb0b75f499ce4177aL,0x4fa61a1e79c10c3dL,0xc062d300a167fcd7L,
  11672. 0x4df3874c750f0fa8L } },
  11673. /* 40 << 7 */
  11674. { { 0x29ae2cf983dfedc9L,0xf84371348d87631aL,0xaf5717117429c8d2L,
  11675. 0x18d15867146d9272L },
  11676. { 0x83053ecf69769bb7L,0xc55eb856c479ab82L,0x5ef7791c21b0f4b2L,
  11677. 0xaa5956ba3d491525L } },
  11678. /* 41 << 7 */
  11679. { { 0x407a96c29fe20ebaL,0xf27168bbe52a5ad3L,0x43b60ab3bf1d9d89L,
  11680. 0xe45c51ef710e727aL },
  11681. { 0xdfca5276099b4221L,0x8dc6407c2557a159L,0x0ead833591035895L,
  11682. 0x0a9db9579c55dc32L } },
  11683. /* 42 << 7 */
  11684. { { 0xe40736d3df61bc76L,0x13a619c03f778cdbL,0x6dd921a4c56ea28fL,
  11685. 0x76a524332fa647b4L },
  11686. { 0x23591891ac5bdc5dL,0xff4a1a72bac7dc01L,0x9905e26162df8453L,
  11687. 0x3ac045dfe63b265fL } },
  11688. /* 43 << 7 */
  11689. { { 0x8a3f341bad53dba7L,0x8ec269cc837b625aL,0xd71a27823ae31189L,
  11690. 0x8fb4f9a355e96120L },
  11691. { 0x804af823ff9875cfL,0x23224f575d442a9bL,0x1c4d3b9eecc62679L,
  11692. 0x91da22fba0e7ddb1L } },
  11693. /* 44 << 7 */
  11694. { { 0xa370324d6c04a661L,0x9710d3b65e376d17L,0xed8c98f03044e357L,
  11695. 0xc364ebbe6422701cL },
  11696. { 0x347f5d517733d61cL,0xd55644b9cea826c3L,0x80c6e0ad55a25548L,
  11697. 0x0aa7641d844220a7L } },
  11698. /* 45 << 7 */
  11699. { { 0x1438ec8131810660L,0x9dfa6507de4b4043L,0x10b515d8cc3e0273L,
  11700. 0x1b6066dd28d8cfb2L },
  11701. { 0xd3b045919c9efebdL,0x425d4bdfa21c1ff4L,0x5fe5af19d57607d3L,
  11702. 0xbbf773f754481084L } },
  11703. /* 46 << 7 */
  11704. { { 0x8435bd6994b03ed1L,0xd9ad1de3634cc546L,0x2cf423fc00e420caL,
  11705. 0xeed26d80a03096ddL },
  11706. { 0xd7f60be7a4db09d2L,0xf47f569d960622f7L,0xe5925fd77296c729L,
  11707. 0xeff2db2626ca2715L } },
  11708. /* 47 << 7 */
  11709. { { 0xa6fcd014b913e759L,0x53da47868ff4de93L,0x14616d79c32068e1L,
  11710. 0xb187d664ccdf352eL },
  11711. { 0xf7afb6501dc90b59L,0x8170e9437daa1b26L,0xc8e3bdd8700c0a84L,
  11712. 0x6e8d345f6482bdfaL } },
  11713. /* 48 << 7 */
  11714. { { 0x84cfbfa1c5c5ea50L,0xd3baf14c67960681L,0x263984030dd50942L,
  11715. 0xe4b7839c4716a663L },
  11716. { 0xd5f1f794e7de6dc0L,0x5cd0f4d4622aa7ceL,0x5295f3f159acfeecL,
  11717. 0x8d933552953e0607L } },
  11718. /* 49 << 7 */
  11719. { { 0xc7db8ec5776c5722L,0xdc467e622b5f290cL,0xd4297e704ff425a9L,
  11720. 0x4be924c10cf7bb72L },
  11721. { 0x0d5dc5aea1892131L,0x8bf8a8e3a705c992L,0x73a0b0647a305ac5L,
  11722. 0x00c9ca4e9a8c77a8L } },
  11723. /* 50 << 7 */
  11724. { { 0x5dfee80f83774bddL,0x6313160285734485L,0xa1b524ae914a69a9L,
  11725. 0xebc2ffafd4e300d7L },
  11726. { 0x52c93db77cfa46a5L,0x71e6161f21653b50L,0x3574fc57a4bc580aL,
  11727. 0xc09015dde1bc1253L } },
  11728. /* 51 << 7 */
  11729. { { 0x4b7b47b2d174d7aaL,0x4072d8e8f3a15d04L,0xeeb7d47fd6fa07edL,
  11730. 0x6f2b9ff9edbdafb1L },
  11731. { 0x18c516153760fe8aL,0x7a96e6bff06c6c13L,0x4d7a04100ea2d071L,
  11732. 0xa1914e9b0be2a5ceL } },
  11733. /* 52 << 7 */
  11734. { { 0x5726e357d8a3c5cfL,0x1197ecc32abb2b13L,0x6c0d7f7f31ae88ddL,
  11735. 0x15b20d1afdbb3efeL },
  11736. { 0xcd06aa2670584039L,0x2277c969a7dc9747L,0xbca695877855d815L,
  11737. 0x899ea2385188b32aL } },
  11738. /* 53 << 7 */
  11739. { { 0x37d9228b760c1c9dL,0xc7efbb119b5c18daL,0x7f0d1bc819f6dbc5L,
  11740. 0x4875384b07e6905bL },
  11741. { 0xc7c50baa3ba8cd86L,0xb0ce40fbc2905de0L,0x708406737a231952L,
  11742. 0xa912a262cf43de26L } },
  11743. /* 54 << 7 */
  11744. { { 0x9c38ddcceb5b76c1L,0x746f528526fc0ab4L,0x52a63a50d62c269fL,
  11745. 0x60049c5599458621L },
  11746. { 0xe7f48f823c2f7c9eL,0x6bd99043917d5cf3L,0xeb1317a88701f469L,
  11747. 0xbd3fe2ed9a449fe0L } },
  11748. /* 55 << 7 */
  11749. { { 0x421e79ca12ef3d36L,0x9ee3c36c3e7ea5deL,0xe48198b5cdff36f7L,
  11750. 0xaff4f967c6b82228L },
  11751. { 0x15e19dd0c47adb7eL,0x45699b23032e7dfaL,0x40680c8b1fae026aL,
  11752. 0x5a347a48550dbf4dL } },
  11753. /* 56 << 7 */
  11754. { { 0xe652533b3cef0d7dL,0xd94f7b182bbb4381L,0x838752be0e80f500L,
  11755. 0x8e6e24889e9c9bfbL },
  11756. { 0xc975169716caca6aL,0x866c49d838531ad9L,0xc917e2397151ade1L,
  11757. 0x2d016ec16037c407L } },
  11758. /* 57 << 7 */
  11759. { { 0xa407ccc900eac3f9L,0x835f6280e2ed4748L,0xcc54c3471cc98e0dL,
  11760. 0x0e969937dcb572ebL },
  11761. { 0x1b16c8e88f30c9cbL,0xa606ae75373c4661L,0x47aa689b35502cabL,
  11762. 0xf89014ae4d9bb64fL } },
  11763. /* 58 << 7 */
  11764. { { 0x202f6a9c31c71f7bL,0x01f95aa3296ffe5cL,0x5fc0601453cec3a3L,
  11765. 0xeb9912375f498a45L },
  11766. { 0xae9a935e5d91ba87L,0xc6ac62810b564a19L,0x8a8fe81c3bd44e69L,
  11767. 0x7c8b467f9dd11d45L } },
  11768. /* 59 << 7 */
  11769. { { 0xf772251fea5b8e69L,0xaeecb3bdc5b75fbcL,0x1aca3331887ff0e5L,
  11770. 0xbe5d49ff19f0a131L },
  11771. { 0x582c13aae5c8646fL,0xdbaa12e820e19980L,0x8f40f31af7abbd94L,
  11772. 0x1f13f5a81dfc7663L } },
  11773. /* 60 << 7 */
  11774. { { 0x5d81f1eeaceb4fc0L,0x362560025e6f0f42L,0x4b67d6d7751370c8L,
  11775. 0x2608b69803e80589L },
  11776. { 0xcfc0d2fc05268301L,0xa6943d3940309212L,0x192a90c21fd0e1c2L,
  11777. 0xb209f11337f1dc76L } },
  11778. /* 61 << 7 */
  11779. { { 0xefcc5e0697bf1298L,0xcbdb6730219d639eL,0xd009c116b81e8c6fL,
  11780. 0xa3ffdde31a7ce2e5L },
  11781. { 0xc53fbaaaa914d3baL,0x836d500f88df85eeL,0xd98dc71b66ee0751L,
  11782. 0x5a3d7005714516fdL } },
  11783. /* 62 << 7 */
  11784. { { 0x21d3634d39eedbbaL,0x35cd2e680455a46dL,0xc8cafe65f9d7eb0cL,
  11785. 0xbda3ce9e00cefb3eL },
  11786. { 0xddc17a602c9cf7a4L,0x01572ee47bcb8773L,0xa92b2b018c7548dfL,
  11787. 0x732fd309a84600e3L } },
  11788. /* 63 << 7 */
  11789. { { 0xe22109c716543a40L,0x9acafd36fede3c6cL,0xfb2068526824e614L,
  11790. 0x2a4544a9da25dca0L },
  11791. { 0x2598526291d60b06L,0x281b7be928753545L,0xec667b1a90f13b27L,
  11792. 0x33a83aff940e2eb4L } },
  11793. /* 64 << 7 */
  11794. { { 0x80009862d5d721d5L,0x0c3357a35bd3a182L,0x27f3a83b7aa2cda4L,
  11795. 0xb58ae74ef6f83085L },
  11796. { 0x2a911a812e6dad6bL,0xde286051f43d6c5bL,0x4bdccc41f996c4d8L,
  11797. 0xe7312ec00ae1e24eL } },
  11798. /* 0 << 14 */
  11799. { { 0x00, 0x00, 0x00, 0x00 },
  11800. { 0x00, 0x00, 0x00, 0x00 } },
  11801. /* 1 << 14 */
  11802. { { 0xf8d112e76e6485b3L,0x4d3e24db771c52f8L,0x48e3ee41684a2f6dL,
  11803. 0x7161957d21d95551L },
  11804. { 0x19631283cdb12a6cL,0xbf3fa8822e50e164L,0xf6254b633166cc73L,
  11805. 0x3aefa7aeaee8cc38L } },
  11806. /* 2 << 14 */
  11807. { { 0x79b0fe623b36f9fdL,0x26543b23fde19fc0L,0x136e64a0958482efL,
  11808. 0x23f637719b095825L },
  11809. { 0x14cfd596b6a1142eL,0x5ea6aac6335aac0bL,0x86a0e8bdf3081dd5L,
  11810. 0x5fb89d79003dc12aL } },
  11811. /* 3 << 14 */
  11812. { { 0xf615c33af72e34d4L,0x0bd9ea40110eec35L,0x1c12bc5bc1dea34eL,
  11813. 0x686584c949ae4699L },
  11814. { 0x13ad95d38c97b942L,0x4609561a4e5c7562L,0x9e94a4aef2737f89L,
  11815. 0xf57594c6371c78b6L } },
  11816. /* 4 << 14 */
  11817. { { 0x0f0165fce3779ee3L,0xe00e7f9dbd495d9eL,0x1fa4efa220284e7aL,
  11818. 0x4564bade47ac6219L },
  11819. { 0x90e6312ac4708e8eL,0x4f5725fba71e9adfL,0xe95f55ae3d684b9fL,
  11820. 0x47f7ccb11e94b415L } },
  11821. /* 5 << 14 */
  11822. { { 0x7322851b8d946581L,0xf0d13133bdf4a012L,0xa3510f696584dae0L,
  11823. 0x03a7c1713c9f6c6dL },
  11824. { 0x5be97f38e475381aL,0xca1ba42285823334L,0xf83cc5c70be17ddaL,
  11825. 0x158b14940b918c0fL } },
  11826. /* 6 << 14 */
  11827. { { 0xda3a77e5522e6b69L,0x69c908c3bbcd6c18L,0x1f1b9e48d924fd56L,
  11828. 0x37c64e36aa4bb3f7L },
  11829. { 0x5a4fdbdfee478d7dL,0xba75c8bc0193f7a0L,0x84bc1e8456cd16dfL,
  11830. 0x1fb08f0846fad151L } },
  11831. /* 7 << 14 */
  11832. { { 0x8a7cabf9842e9f30L,0xa331d4bf5eab83afL,0xd272cfba017f2a6aL,
  11833. 0x27560abc83aba0e3L },
  11834. { 0x94b833870e3a6b75L,0x25c6aea26b9f50f5L,0x803d691db5fdf6d0L,
  11835. 0x03b77509e6333514L } },
  11836. /* 8 << 14 */
  11837. { { 0x3617890361a341c1L,0x3604dc600cfd6142L,0x022295eb8533316cL,
  11838. 0x3dbde4ac44af2922L },
  11839. { 0x898afc5d1c7eef69L,0x58896805d14f4fa1L,0x05002160203c21caL,
  11840. 0x6f0d1f3040ef730bL } },
  11841. /* 9 << 14 */
  11842. { { 0x8e8c44d4196224f8L,0x75a4ab95374d079dL,0x79085ecc7d48f123L,
  11843. 0x56f04d311bf65ad8L },
  11844. { 0xe220bf1cbda602b2L,0x73ee1742f9612c69L,0x76008fc8084fd06bL,
  11845. 0x4000ef9ff11380d1L } },
  11846. /* 10 << 14 */
  11847. { { 0x48201b4b12cfe297L,0x3eee129c292f74e5L,0xe1fe114ec9e874e8L,
  11848. 0x899b055c92c5fc41L },
  11849. { 0x4e477a643a39c8cfL,0x82f09efe78963cc9L,0x6fd3fd8fd333f863L,
  11850. 0x85132b2adc949c63L } },
  11851. /* 11 << 14 */
  11852. { { 0x7e06a3ab516eb17bL,0x73bec06fd2c7372bL,0xe4f74f55ba896da6L,
  11853. 0xbb4afef88e9eb40fL },
  11854. { 0x2d75bec8e61d66b0L,0x02bda4b4ef29300bL,0x8bbaa8de026baa5aL,
  11855. 0xff54befda07f4440L } },
  11856. /* 12 << 14 */
  11857. { { 0xbd9b8b1dbe7a2af3L,0xec51caa94fb74a72L,0xb9937a4b63879697L,
  11858. 0x7c9a9d20ec2687d5L },
  11859. { 0x1773e44f6ef5f014L,0x8abcf412e90c6900L,0x387bd0228142161eL,
  11860. 0x50393755fcb6ff2aL } },
  11861. /* 13 << 14 */
  11862. { { 0x9813fd56ed6def63L,0x53cf64827d53106cL,0x991a35bd431f7ac1L,
  11863. 0xf1e274dd63e65fafL },
  11864. { 0xf63ffa3c44cc7880L,0x411a426b7c256981L,0xb698b9fd93a420e0L,
  11865. 0x89fdddc0ae53f8feL } },
  11866. /* 14 << 14 */
  11867. { { 0x766e072232398baaL,0x205fee425cfca031L,0xa49f53417a029cf2L,
  11868. 0xa88c68b84023890dL },
  11869. { 0xbc2750417337aaa8L,0x9ed364ad0eb384f4L,0xe0816f8529aba92fL,
  11870. 0x2e9e194104e38a88L } },
  11871. /* 15 << 14 */
  11872. { { 0x57eef44a3dafd2d5L,0x35d1fae597ed98d8L,0x50628c092307f9b1L,
  11873. 0x09d84aaed6cba5c6L },
  11874. { 0x67071bc788aaa691L,0x2dea57a9afe6cb03L,0xdfe11bb43d78ac01L,
  11875. 0x7286418c7fd7aa51L } },
  11876. /* 16 << 14 */
  11877. { { 0xfabf770977f7195aL,0x8ec86167adeb838fL,0xea1285a8bb4f012dL,
  11878. 0xd68835039a3eab3fL },
  11879. { 0xee5d24f8309004c2L,0xa96e4b7613ffe95eL,0x0cdffe12bd223ea4L,
  11880. 0x8f5c2ee5b6739a53L } },
  11881. /* 17 << 14 */
  11882. { { 0x5cb4aaa5dd968198L,0xfa131c5272413a6cL,0x53d46a909536d903L,
  11883. 0xb270f0d348606d8eL },
  11884. { 0x518c7564a053a3bcL,0x088254b71a86caefL,0xb3ba8cb40ab5efd0L,
  11885. 0x5c59900e4605945dL } },
  11886. /* 18 << 14 */
  11887. { { 0xecace1dda1887395L,0x40960f36932a65deL,0x9611ff5c3aa95529L,
  11888. 0xc58215b07c1e5a36L },
  11889. { 0xd48c9b58f0e1a524L,0xb406856bf590dfb8L,0xc7605e049cd95662L,
  11890. 0x0dd036eea33ecf82L } },
  11891. /* 19 << 14 */
  11892. { { 0xa50171acc33156b3L,0xf09d24ea4a80172eL,0x4e1f72c676dc8eefL,
  11893. 0xe60caadc5e3d44eeL },
  11894. { 0x006ef8a6979b1d8fL,0x60908a1c97788d26L,0x6e08f95b266feec0L,
  11895. 0x618427c222e8c94eL } },
  11896. /* 20 << 14 */
  11897. { { 0x3d61333959145a65L,0xcd9bc368fa406337L,0x82d11be32d8a52a0L,
  11898. 0xf6877b2797a1c590L },
  11899. { 0x837a819bf5cbdb25L,0x2a4fd1d8de090249L,0x622a7de774990e5fL,
  11900. 0x840fa5a07945511bL } },
  11901. /* 21 << 14 */
  11902. { { 0x30b974be6558842dL,0x70df8c6417f3d0a6L,0x7c8035207542e46dL,
  11903. 0x7251fe7fe4ecc823L },
  11904. { 0xe59134cb5e9aac9aL,0x11bb0934f0045d71L,0x53e5d9b5dbcb1d4eL,
  11905. 0x8d97a90592defc91L } },
  11906. /* 22 << 14 */
  11907. { { 0xfe2893277946d3f9L,0xe132bd2407472273L,0xeeeb510c1eb6ae86L,
  11908. 0x777708c5f0595067L },
  11909. { 0x18e2c8cd1297029eL,0x2c61095cbbf9305eL,0xe466c2586b85d6d9L,
  11910. 0x8ac06c36da1ea530L } },
  11911. /* 23 << 14 */
  11912. { { 0xa365dc39a1304668L,0xe4a9c88507f89606L,0x65a4898facc7228dL,
  11913. 0x3e2347ff84ca8303L },
  11914. { 0xa5f6fb77ea7d23a3L,0x2fac257d672a71cdL,0x6908bef87e6a44d3L,
  11915. 0x8ff87566891d3d7aL } },
  11916. /* 24 << 14 */
  11917. { { 0xe58e90b36b0cf82eL,0x6438d2462615b5e7L,0x07b1f8fc669c145aL,
  11918. 0xb0d8b2da36f1e1cbL },
  11919. { 0x54d5dadbd9184c4dL,0x3dbb18d5f93d9976L,0x0a3e0f56d1147d47L,
  11920. 0x2afa8c8da0a48609L } },
  11921. /* 25 << 14 */
  11922. { { 0x275353e8bc36742cL,0x898f427eeea0ed90L,0x26f4947e3e477b00L,
  11923. 0x8ad8848a308741e3L },
  11924. { 0x6c703c38d74a2a46L,0x5e3e05a99ba17ba2L,0xc1fa6f664ab9a9e4L,
  11925. 0x474a2d9a3841d6ecL } },
  11926. /* 26 << 14 */
  11927. { { 0x871239ad653ae326L,0x14bcf72aa74cbb43L,0x8737650e20d4c083L,
  11928. 0x3df86536110ed4afL },
  11929. { 0xd2d86fe7b53ca555L,0x688cb00dabd5d538L,0xcf81bda31ad38468L,
  11930. 0x7ccfe3ccf01167b6L } },
  11931. /* 27 << 14 */
  11932. { { 0xcf4f47e06c4c1fe6L,0x557e1f1a298bbb79L,0xf93b974f30d45a14L,
  11933. 0x174a1d2d0baf97c4L },
  11934. { 0x7a003b30c51fbf53L,0xd8940991ee68b225L,0x5b0aa7b71c0f4173L,
  11935. 0x975797c9a20a7153L } },
  11936. /* 28 << 14 */
  11937. { { 0x26e08c07e3533d77L,0xd7222e6a2e341c99L,0x9d60ec3d8d2dc4edL,
  11938. 0xbdfe0d8f7c476cf8L },
  11939. { 0x1fe59ab61d056605L,0xa9ea9df686a8551fL,0x8489941e47fb8d8cL,
  11940. 0xfeb874eb4a7f1b10L } },
  11941. /* 29 << 14 */
  11942. { { 0xfe5fea867ee0d98fL,0x201ad34bdbf61864L,0x45d8fe4737c031d4L,
  11943. 0xd5f49fae795f0822L },
  11944. { 0xdb0fb291c7f4a40cL,0x2e69d9c1730ddd92L,0x754e105449d76987L,
  11945. 0x8a24911d7662db87L } },
  11946. /* 30 << 14 */
  11947. { { 0x61fc181060a71676L,0xe852d1a8f66a8ad1L,0x172bbd656417231eL,
  11948. 0x0d6de7bd3babb11fL },
  11949. { 0x6fde6f88c8e347f8L,0x1c5875479bd99cc3L,0x78e54ed034076950L,
  11950. 0x97f0f334796e83baL } },
  11951. /* 31 << 14 */
  11952. { { 0xe4dbe1ce4924867aL,0xbd5f51b060b84917L,0x375300403cb09a79L,
  11953. 0xdb3fe0f8ff1743d8L },
  11954. { 0xed7894d8556fa9dbL,0xfa26216923412fbfL,0x563be0dbba7b9291L,
  11955. 0x6ca8b8c00c9fb234L } },
  11956. /* 32 << 14 */
  11957. { { 0xed406aa9bd763802L,0xc21486a065303da1L,0x61ae291ec7e62ec4L,
  11958. 0x622a0492df99333eL },
  11959. { 0x7fd80c9dbb7a8ee0L,0xdc2ed3bc6c01aedbL,0x35c35a1208be74ecL,
  11960. 0xd540cb1a469f671fL } },
  11961. /* 33 << 14 */
  11962. { { 0xd16ced4ecf84f6c7L,0x8561fb9c2d090f43L,0x7e693d796f239db4L,
  11963. 0xa736f92877bd0d94L },
  11964. { 0x07b4d9292c1950eeL,0xda17754356dc11b3L,0xa5dfbbaa7a6a878eL,
  11965. 0x1c70cb294decb08aL } },
  11966. /* 34 << 14 */
  11967. { { 0xfba28c8b6f0f7c50L,0xa8eba2b8854dcc6dL,0x5ff8e89a36b78642L,
  11968. 0x070c1c8ef6873adfL },
  11969. { 0xbbd3c3716484d2e4L,0xfb78318f0d414129L,0x2621a39c6ad93b0bL,
  11970. 0x979d74c2a9e917f7L } },
  11971. /* 35 << 14 */
  11972. { { 0xfc19564761fb0428L,0x4d78954abee624d4L,0xb94896e0b8ae86fdL,
  11973. 0x6667ac0cc91c8b13L },
  11974. { 0x9f18051243bcf832L,0xfbadf8b7a0010137L,0xc69b4089b3ba8aa7L,
  11975. 0xfac4bacde687ce85L } },
  11976. /* 36 << 14 */
  11977. { { 0x9164088d977eab40L,0x51f4c5b62760b390L,0xd238238f340dd553L,
  11978. 0x358566c3db1d31c9L },
  11979. { 0x3a5ad69e5068f5ffL,0xf31435fcdaff6b06L,0xae549a5bd6debff0L,
  11980. 0x59e5f0b775e01331L } },
  11981. /* 37 << 14 */
  11982. { { 0x5d492fb898559acfL,0x96018c2e4db79b50L,0x55f4a48f609f66aaL,
  11983. 0x1943b3af4900a14fL },
  11984. { 0xc22496df15a40d39L,0xb2a446844c20f7c5L,0x76a35afa3b98404cL,
  11985. 0xbec75725ff5d1b77L } },
  11986. /* 38 << 14 */
  11987. { { 0xb67aa163bea06444L,0x27e95bb2f724b6f2L,0x3c20e3e9d238c8abL,
  11988. 0x1213754eddd6ae17L },
  11989. { 0x8c431020716e0f74L,0x6679c82effc095c2L,0x2eb3adf4d0ac2932L,
  11990. 0x2cc970d301bb7a76L } },
  11991. /* 39 << 14 */
  11992. { { 0x70c71f2f740f0e66L,0x545c616b2b6b23ccL,0x4528cfcbb40a8bd7L,
  11993. 0xff8396332ab27722L },
  11994. { 0x049127d9025ac99aL,0xd314d4a02b63e33bL,0xc8c310e728d84519L,
  11995. 0x0fcb8983b3bc84baL } },
  11996. /* 40 << 14 */
  11997. { { 0x2cc5226138634818L,0x501814f4b44c2e0bL,0xf7e181aa54dfdba3L,
  11998. 0xcfd58ff0e759718cL },
  11999. { 0xf90cdb14d3b507a8L,0x57bd478ec50bdad8L,0x29c197e250e5f9aaL,
  12000. 0x4db6eef8e40bc855L } },
  12001. /* 41 << 14 */
  12002. { { 0x2cc8f21ad1fc0654L,0xc71cc96381269d73L,0xecfbb204077f49f9L,
  12003. 0xdde92571ca56b793L },
  12004. { 0x9abed6a3f97ad8f7L,0xe6c19d3f924de3bdL,0x8dce92f4a140a800L,
  12005. 0x85f44d1e1337af07L } },
  12006. /* 42 << 14 */
  12007. { { 0x5953c08b09d64c52L,0xa1b5e49ff5df9749L,0x336a8fb852735f7dL,
  12008. 0xb332b6db9add676bL },
  12009. { 0x558b88a0b4511aa4L,0x09788752dbd5cc55L,0x16b43b9cd8cd52bdL,
  12010. 0x7f0bc5a0c2a2696bL } },
  12011. /* 43 << 14 */
  12012. { { 0x146e12d4c11f61efL,0x9ce107543a83e79eL,0x08ec73d96cbfca15L,
  12013. 0x09ff29ad5b49653fL },
  12014. { 0xe31b72bde7da946eL,0xebf9eb3bee80a4f2L,0xd1aabd0817598ce4L,
  12015. 0x18b5fef453f37e80L } },
  12016. /* 44 << 14 */
  12017. { { 0xd5d5cdd35958cd79L,0x3580a1b51d373114L,0xa36e4c91fa935726L,
  12018. 0xa38c534def20d760L },
  12019. { 0x7088e40a2ff5845bL,0xe5bb40bdbd78177fL,0x4f06a7a8857f9920L,
  12020. 0xe3cc3e50e968f05dL } },
  12021. /* 45 << 14 */
  12022. { { 0x1d68b7fee5682d26L,0x5206f76faec7f87cL,0x41110530041951abL,
  12023. 0x58ec52c1d4b5a71aL },
  12024. { 0xf3488f990f75cf9aL,0xf411951fba82d0d5L,0x27ee75be618895abL,
  12025. 0xeae060d46d8aab14L } },
  12026. /* 46 << 14 */
  12027. { { 0x9ae1df737fb54dc2L,0x1f3e391b25963649L,0x242ec32afe055081L,
  12028. 0x5bd450ef8491c9bdL },
  12029. { 0x367efc67981eb389L,0xed7e19283a0550d5L,0x362e776bab3ce75cL,
  12030. 0xe890e3081f24c523L } },
  12031. /* 47 << 14 */
  12032. { { 0xb961b682feccef76L,0x8b8e11f58bba6d92L,0x8f2ccc4c2b2375c4L,
  12033. 0x0d7f7a52e2f86cfaL },
  12034. { 0xfd94d30a9efe5633L,0x2d8d246b5451f934L,0x2234c6e3244e6a00L,
  12035. 0xde2b5b0dddec8c50L } },
  12036. /* 48 << 14 */
  12037. { { 0x2ce53c5abf776f5bL,0x6f72407160357b05L,0xb259371771bf3f7aL,
  12038. 0x87d2501c440c4a9fL },
  12039. { 0x440552e187b05340L,0xb7bf7cc821624c32L,0x4155a6ce22facddbL,
  12040. 0x5a4228cb889837efL } },
  12041. /* 49 << 14 */
  12042. { { 0xef87d6d6fd4fd671L,0xa233687ec2daa10eL,0x7562224403c0eb96L,
  12043. 0x7632d1848bf19be6L },
  12044. { 0x05d0f8e940735ff4L,0x3a3e6e13c00931f1L,0x31ccde6adafe3f18L,
  12045. 0xf381366acfe51207L } },
  12046. /* 50 << 14 */
  12047. { { 0x24c222a960167d92L,0x62f9d6f87529f18cL,0x412397c00353b114L,
  12048. 0x334d89dcef808043L },
  12049. { 0xd9ec63ba2a4383ceL,0xcec8e9375cf92ba0L,0xfb8b4288c8be74c0L,
  12050. 0x67d6912f105d4391L } },
  12051. /* 51 << 14 */
  12052. { { 0x7b996c461b913149L,0x36aae2ef3a4e02daL,0xb68aa003972de594L,
  12053. 0x284ec70d4ec6d545L },
  12054. { 0xf3d2b2d061391d54L,0x69c5d5d6fe114e92L,0xbe0f00b5b4482dffL,
  12055. 0xe1596fa5f5bf33c5L } },
  12056. /* 52 << 14 */
  12057. { { 0x10595b5696a71cbaL,0x944938b2fdcadeb7L,0xa282da4cfccd8471L,
  12058. 0x98ec05f30d37bfe1L },
  12059. { 0xe171ce1b0698304aL,0x2d69144421bdf79bL,0xd0cd3b741b21dec1L,
  12060. 0x712ecd8b16a15f71L } },
  12061. /* 53 << 14 */
  12062. { { 0x8d4c00a700fd56e1L,0x02ec9692f9527c18L,0x21c449374a3e42e1L,
  12063. 0x9176fbab1392ae0aL },
  12064. { 0x8726f1ba44b7b618L,0xb4d7aae9f1de491cL,0xf91df7b907b582c0L,
  12065. 0x7e116c30ef60aa3aL } },
  12066. /* 54 << 14 */
  12067. { { 0x99270f81466265d7L,0xb15b6fe24df7adf0L,0xfe33b2d3f9738f7fL,
  12068. 0x48553ab9d6d70f95L },
  12069. { 0x2cc72ac8c21e94dbL,0x795ac38dbdc0bbeeL,0x0a1be4492e40478fL,
  12070. 0x81bd3394052bde55L } },
  12071. /* 55 << 14 */
  12072. { { 0x63c8dbe956b3c4f2L,0x017a99cf904177ccL,0x947bbddb4d010fc1L,
  12073. 0xacf9b00bbb2c9b21L },
  12074. { 0x2970bc8d47173611L,0x1a4cbe08ac7d756fL,0x06d9f4aa67d541a2L,
  12075. 0xa3e8b68959c2cf44L } },
  12076. /* 56 << 14 */
  12077. { { 0xaad066da4d88f1ddL,0xc604f1657ad35deaL,0x7edc07204478ca67L,
  12078. 0xa10dfae0ba02ce06L },
  12079. { 0xeceb1c76af36f4e4L,0x994b2292af3f8f48L,0xbf9ed77b77c8a68cL,
  12080. 0x74f544ea51744c9dL } },
  12081. /* 57 << 14 */
  12082. { { 0x82d05bb98113a757L,0x4ef2d2b48a9885e4L,0x1e332be51aa7865fL,
  12083. 0x22b76b18290d1a52L },
  12084. { 0x308a231044351683L,0x9d861896a3f22840L,0x5959ddcd841ed947L,
  12085. 0x0def0c94154b73bfL } },
  12086. /* 58 << 14 */
  12087. { { 0xf01054174c7c15e0L,0x539bfb023a277c32L,0xe699268ef9dccf5fL,
  12088. 0x9f5796a50247a3bdL },
  12089. { 0x8b839de84f157269L,0xc825c1e57a30196bL,0x6ef0aabcdc8a5a91L,
  12090. 0xf4a8ce6c498b7fe6L } },
  12091. /* 59 << 14 */
  12092. { { 0x1cce35a770cbac78L,0x83488e9bf6b23958L,0x0341a070d76cb011L,
  12093. 0xda6c9d06ae1b2658L },
  12094. { 0xb701fb30dd648c52L,0x994ca02c52fb9fd1L,0x069331176f563086L,
  12095. 0x3d2b810017856babL } },
  12096. /* 60 << 14 */
  12097. { { 0xe89f48c85963a46eL,0x658ab875a99e61c7L,0x6e296f874b8517b4L,
  12098. 0x36c4fcdcfc1bc656L },
  12099. { 0xde5227a1a3906defL,0x9fe95f5762418945L,0x20c91e81fdd96cdeL,
  12100. 0x5adbe47eda4480deL } },
  12101. /* 61 << 14 */
  12102. { { 0xa009370f396de2b6L,0x98583d4bf0ecc7bdL,0xf44f6b57e51d0672L,
  12103. 0x03d6b078556b1984L },
  12104. { 0x27dbdd93b0b64912L,0x9b3a343415687b09L,0x0dba646151ec20a9L,
  12105. 0xec93db7fff28187cL } },
  12106. /* 62 << 14 */
  12107. { { 0x00ff8c2466e48bddL,0x2514f2f911ccd78eL,0xeba11f4fe1250603L,
  12108. 0x8a22cd41243fa156L },
  12109. { 0xa4e58df4b283e4c6L,0x78c298598b39783fL,0x5235aee2a5259809L,
  12110. 0xc16284b50e0227ddL } },
  12111. /* 63 << 14 */
  12112. { { 0xa5f579161338830dL,0x6d4b8a6bd2123fcaL,0x236ea68af9c546f8L,
  12113. 0xc1d36873fa608d36L },
  12114. { 0xcd76e4958d436d13L,0xd4d9c2218fb080afL,0x665c1728e8ad3fb5L,
  12115. 0xcf1ebe4db3d572e0L } },
  12116. /* 64 << 14 */
  12117. { { 0xa7a8746a584c5e20L,0x267e4ea1b9dc7035L,0x593a15cfb9548c9bL,
  12118. 0x5e6e21354bd012f3L },
  12119. { 0xdf31cc6a8c8f936eL,0x8af84d04b5c241dcL,0x63990a6f345efb86L,
  12120. 0x6fef4e61b9b962cbL } },
  12121. /* 0 << 21 */
  12122. { { 0x00, 0x00, 0x00, 0x00 },
  12123. { 0x00, 0x00, 0x00, 0x00 } },
  12124. /* 1 << 21 */
  12125. { { 0xf6368f0925722608L,0x131260db131cf5c6L,0x40eb353bfab4f7acL,
  12126. 0x85c7888037eee829L },
  12127. { 0x4c1581ffc3bdf24eL,0x5bff75cbf5c3c5a8L,0x35e8c83fa14e6f40L,
  12128. 0xb81d1c0f0295e0caL } },
  12129. /* 2 << 21 */
  12130. { { 0xfcde7cc8f43a730fL,0xe89b6f3c33ab590eL,0xc823f529ad03240bL,
  12131. 0x82b79afe98bea5dbL },
  12132. { 0x568f2856962fe5deL,0x0c590adb60c591f3L,0x1fc74a144a28a858L,
  12133. 0x3b662498b3203f4cL } },
  12134. /* 3 << 21 */
  12135. { { 0x91e3cf0d6c39765aL,0xa2db3acdac3cca0bL,0x288f2f08cb953b50L,
  12136. 0x2414582ccf43cf1aL },
  12137. { 0x8dec8bbc60eee9a8L,0x54c79f02729aa042L,0xd81cd5ec6532f5d5L,
  12138. 0xa672303acf82e15fL } },
  12139. /* 4 << 21 */
  12140. { { 0x376aafa8719c0563L,0xcd8ad2dcbc5fc79fL,0x303fdb9fcb750cd3L,
  12141. 0x14ff052f4418b08eL },
  12142. { 0xf75084cf3e2d6520L,0x7ebdf0f8144ed509L,0xf43bf0f2d3f25b98L,
  12143. 0x86ad71cfa354d837L } },
  12144. /* 5 << 21 */
  12145. { { 0xb827fe9226f43572L,0xdfd3ab5b5d824758L,0x315dd23a539094c1L,
  12146. 0x85c0e37a66623d68L },
  12147. { 0x575c79727be19ae0L,0x616a3396df0d36b5L,0xa1ebb3c826b1ff7eL,
  12148. 0x635b9485140ad453L } },
  12149. /* 6 << 21 */
  12150. { { 0x92bf3cdada430c0bL,0x4702850e3a96dac6L,0xc91cf0a515ac326aL,
  12151. 0x95de4f49ab8c25e4L },
  12152. { 0xb01bad09e265c17cL,0x24e45464087b3881L,0xd43e583ce1fac5caL,
  12153. 0xe17cb3186ead97a6L } },
  12154. /* 7 << 21 */
  12155. { { 0x6cc3924374dcec46L,0x33cfc02d54c2b73fL,0x82917844f26cd99cL,
  12156. 0x8819dd95d1773f89L },
  12157. { 0x09572aa60871f427L,0x8e0cf365f6f01c34L,0x7fa52988bff1f5afL,
  12158. 0x4eb357eae75e8e50L } },
  12159. /* 8 << 21 */
  12160. { { 0xd9d0c8c4868af75dL,0xd7325cff45c8c7eaL,0xab471996cc81ecb0L,
  12161. 0xff5d55f3611824edL },
  12162. { 0xbe3145411977a0eeL,0x5085c4c5722038c6L,0x2d5335bff94bb495L,
  12163. 0x894ad8a6c8e2a082L } },
  12164. /* 9 << 21 */
  12165. { { 0x5c3e2341ada35438L,0xf4a9fc89049b8c4eL,0xbeeb355a9f17cf34L,
  12166. 0x3f311e0e6c91fe10L },
  12167. { 0xc2d2003892ab9891L,0x257bdcc13e8ce9a9L,0x1b2d978988c53beeL,
  12168. 0x927ce89acdba143aL } },
  12169. /* 10 << 21 */
  12170. { { 0xb0a32cca523db280L,0x5c889f8a50d43783L,0x503e04b34897d16fL,
  12171. 0x8cdb6e7808f5f2e8L },
  12172. { 0x6ab91cf0179c8e74L,0xd8874e5248211d60L,0xf948d4d5ea851200L,
  12173. 0x4076d41ee6f9840aL } },
  12174. /* 11 << 21 */
  12175. { { 0xc20e263c47b517eaL,0x79a448fd30685e5eL,0xe55f6f78f90631a0L,
  12176. 0x88a790b1a79e6346L },
  12177. { 0x62160c7d80969fe8L,0x54f92fd441491bb9L,0xa6645c235c957526L,
  12178. 0xf44cc5aebea3ce7bL } },
  12179. /* 12 << 21 */
  12180. { { 0xf76283278b1e68b7L,0xc731ad7a303f29d3L,0xfe5a9ca957d03ecbL,
  12181. 0x96c0d50c41bc97a7L },
  12182. { 0xc4669fe79b4f7f24L,0xfdd781d83d9967efL,0x7892c7c35d2c208dL,
  12183. 0x8bf64f7cae545cb3L } },
  12184. /* 13 << 21 */
  12185. { { 0xc01f862c467be912L,0xf4c85ee9c73d30ccL,0x1fa6f4be6ab83ec7L,
  12186. 0xa07a3c1c4e3e3cf9L },
  12187. { 0x87f8ef450c00beb3L,0x30e2c2b3000d4c3eL,0x1aa00b94fe08bf5bL,
  12188. 0x32c133aa9224ef52L } },
  12189. /* 14 << 21 */
  12190. { { 0x38df16bb32e5685dL,0x68a9e06958e6f544L,0x495aaff7cdc5ebc6L,
  12191. 0xf894a645378b135fL },
  12192. { 0xf316350a09e27ecfL,0xeced201e58f7179dL,0x2eec273ce97861baL,
  12193. 0x47ec2caed693be2eL } },
  12194. /* 15 << 21 */
  12195. { { 0xfa4c97c4f68367ceL,0xe4f47d0bbe5a5755L,0x17de815db298a979L,
  12196. 0xd7eca659c177dc7dL },
  12197. { 0x20fdbb7149ded0a3L,0x4cb2aad4fb34d3c5L,0x2cf31d2860858a33L,
  12198. 0x3b6873efa24aa40fL } },
  12199. /* 16 << 21 */
  12200. { { 0x540234b22c11bb37L,0x2d0366dded4c74a3L,0xf9a968daeec5f25dL,
  12201. 0x3660106867b63142L },
  12202. { 0x07cd6d2c68d7b6d4L,0xa8f74f090c842942L,0xe27514047768b1eeL,
  12203. 0x4b5f7e89fe62aee4L } },
  12204. /* 17 << 21 */
  12205. { { 0xc6a7717789070d26L,0xa1f28e4edd1c8bc7L,0xea5f4f06469e1f17L,
  12206. 0x78fc242afbdb78e0L },
  12207. { 0xc9c7c5928b0588f1L,0xb6b7a0fd1535921eL,0xcc5bdb91bde5ae35L,
  12208. 0xb42c485e12ff1864L } },
  12209. /* 18 << 21 */
  12210. { { 0xa1113e13dbab98aaL,0xde9d469ba17b1024L,0x23f48b37c0462d3aL,
  12211. 0x3752e5377c5c078dL },
  12212. { 0xe3a86add15544eb9L,0xf013aea780fba279L,0x8b5bb76cf22001b5L,
  12213. 0xe617ba14f02891abL } },
  12214. /* 19 << 21 */
  12215. { { 0xd39182a6936219d3L,0x5ce1f194ae51cb19L,0xc78f8598bf07a74cL,
  12216. 0x6d7158f222cbf1bcL },
  12217. { 0x3b846b21e300ce18L,0x35fba6302d11275dL,0x5fe25c36a0239b9bL,
  12218. 0xd8beb35ddf05d940L } },
  12219. /* 20 << 21 */
  12220. { { 0x4db02bb01f7e320dL,0x0641c3646da320eaL,0x6d95fa5d821389a3L,
  12221. 0x926997488fcd8e3dL },
  12222. { 0x316fef17ceb6c143L,0x67fcb841d933762bL,0xbb837e35118b17f8L,
  12223. 0x4b92552f9fd24821L } },
  12224. /* 21 << 21 */
  12225. { { 0xae6bc70e46aca793L,0x1cf0b0e4e579311bL,0x8dc631be5802f716L,
  12226. 0x099bdc6fbddbee4dL },
  12227. { 0xcc352bb20caf8b05L,0xf74d505a72d63df2L,0xb9876d4b91c4f408L,
  12228. 0x1ce184739e229b2dL } },
  12229. /* 22 << 21 */
  12230. { { 0x4950759783abdb4aL,0x850fbcb6dee84b18L,0x6325236e609e67dcL,
  12231. 0x04d831d99336c6d8L },
  12232. { 0x8deaae3bfa12d45dL,0xe425f8ce4746e246L,0x8004c17524f5f31eL,
  12233. 0xaca16d8fad62c3b7L } },
  12234. /* 23 << 21 */
  12235. { { 0x0dc15a6a9152f934L,0xf1235e5ded0e12c1L,0xc33c06ecda477dacL,
  12236. 0x76be8732b2ea0006L },
  12237. { 0xcf3f78310c0cd313L,0x3c524553a614260dL,0x31a756f8cab22d15L,
  12238. 0x03ee10d177827a20L } },
  12239. /* 24 << 21 */
  12240. { { 0xd1e059b21994ef20L,0x2a653b69638ae318L,0x70d5eb582f699010L,
  12241. 0x279739f709f5f84aL },
  12242. { 0x5da4663c8b799336L,0xfdfdf14d203c37ebL,0x32d8a9dca1dbfb2dL,
  12243. 0xab40cff077d48f9bL } },
  12244. /* 25 << 21 */
  12245. { { 0xc018b383d20b42d5L,0xf9a810ef9f78845fL,0x40af3753bdba9df0L,
  12246. 0xb90bdcfc131dfdf9L },
  12247. { 0x18720591f01ab782L,0xc823f2116af12a88L,0xa51b80f30dc14401L,
  12248. 0xde248f77fb2dfbe3L } },
  12249. /* 26 << 21 */
  12250. { { 0xef5a44e50cafe751L,0x73997c9cd4dcd221L,0x32fd86d1de854024L,
  12251. 0xd5b53adca09b84bbL },
  12252. { 0x008d7a11dcedd8d1L,0x406bd1c874b32c84L,0x5d4472ff05dde8b1L,
  12253. 0x2e25f2cdfce2b32fL } },
  12254. /* 27 << 21 */
  12255. { { 0xbec0dd5e29dfc254L,0x4455fcf62b98b267L,0x0b4d43a5c72df2adL,
  12256. 0xea70e6be48a75397L },
  12257. { 0x2aad61695820f3bfL,0xf410d2dd9e37f68fL,0x70fb7dba7be5ac83L,
  12258. 0x636bb64536ec3eecL } },
  12259. /* 28 << 21 */
  12260. { { 0x27104ea39754e21cL,0xbc87a3e68d63c373L,0x483351d74109db9aL,
  12261. 0x0fa724e360134da7L },
  12262. { 0x9ff44c29b0720b16L,0x2dd0cf1306aceeadL,0x5942758ce26929a6L,
  12263. 0x96c5db92b766a92bL } },
  12264. /* 29 << 21 */
  12265. { { 0xcec7d4c05f18395eL,0xd3f227441f80d032L,0x7a68b37acb86075bL,
  12266. 0x074764ddafef92dbL },
  12267. { 0xded1e9507bc7f389L,0xc580c850b9756460L,0xaeeec2a47da48157L,
  12268. 0x3f0b4e7f82c587b3L } },
  12269. /* 30 << 21 */
  12270. { { 0x231c6de8a9f19c53L,0x5717bd736974e34eL,0xd9e1d216f1508fa9L,
  12271. 0x9f112361dadaa124L },
  12272. { 0x80145e31823b7348L,0x4dd8f0d5ac634069L,0xe3d82fc72297c258L,
  12273. 0x276fcfee9cee7431L } },
  12274. /* 31 << 21 */
  12275. { { 0x8eb61b5e2bc0aea9L,0x4f668fd5de329431L,0x03a32ab138e4b87eL,
  12276. 0xe137451773d0ef0bL },
  12277. { 0x1a46f7e6853ac983L,0xc3bdf42e68e78a57L,0xacf207852ea96dd1L,
  12278. 0xa10649b9f1638460L } },
  12279. /* 32 << 21 */
  12280. { { 0xf2369f0b879fbbedL,0x0ff0ae86da9d1869L,0x5251d75956766f45L,
  12281. 0x4984d8c02be8d0fcL },
  12282. { 0x7ecc95a6d21008f0L,0x29bd54a03a1a1c49L,0xab9828c5d26c50f3L,
  12283. 0x32c0087c51d0d251L } },
  12284. /* 33 << 21 */
  12285. { { 0x9bac3ce60c1cdb26L,0xcd94d947557ca205L,0x1b1bd5989db1fdcdL,
  12286. 0x0eda0108a3d8b149L },
  12287. { 0x9506661056152fccL,0xc2f037e6e7192b33L,0xdeffb41ac92e05a4L,
  12288. 0x1105f6c2c2f6c62eL } },
  12289. /* 34 << 21 */
  12290. { { 0x68e735008733913cL,0xcce861633f3adc40L,0xf407a94238a278e9L,
  12291. 0xd13c1b9d2ab21292L },
  12292. { 0x93ed7ec71c74cf5cL,0x8887dc48f1a4c1b4L,0x3830ff304b3a11f1L,
  12293. 0x358c5a3c58937cb6L } },
  12294. /* 35 << 21 */
  12295. { { 0x027dc40489022829L,0x40e939773b798f79L,0x90ad333738be6eadL,
  12296. 0x9c23f6bcf34c0a5dL },
  12297. { 0xd1711a35fbffd8bbL,0x60fcfb491949d3ddL,0x09c8ef4b7825d93aL,
  12298. 0x24233cffa0a8c968L } },
  12299. /* 36 << 21 */
  12300. { { 0x67ade46ce6d982afL,0xebb6bf3ee7544d7cL,0xd6b9ba763d8bd087L,
  12301. 0x46fe382d4dc61280L },
  12302. { 0xbd39a7e8b5bdbd75L,0xab381331b8f228feL,0x0709a77cce1c4300L,
  12303. 0x6a247e56f337ceacL } },
  12304. /* 37 << 21 */
  12305. { { 0x8f34f21b636288beL,0x9dfdca74c8a7c305L,0x6decfd1bea919e04L,
  12306. 0xcdf2688d8e1991f8L },
  12307. { 0xe607df44d0f8a67eL,0xd985df4b0b58d010L,0x57f834c50c24f8f4L,
  12308. 0xe976ef56a0bf01aeL } },
  12309. /* 38 << 21 */
  12310. { { 0x536395aca1c32373L,0x351027aa734c0a13L,0xd2f1b5d65e6bd5bcL,
  12311. 0x2b539e24223debedL },
  12312. { 0xd4994cec0eaa1d71L,0x2a83381d661dcf65L,0x5f1aed2f7b54c740L,
  12313. 0x0bea3fa5d6dda5eeL } },
  12314. /* 39 << 21 */
  12315. { { 0x9d4fb68436cc6134L,0x8eb9bbf3c0a443ddL,0xfc500e2e383b7d2aL,
  12316. 0x7aad621c5b775257L },
  12317. { 0x69284d740a8f7cc0L,0xe820c2ce07562d65L,0xbf9531b9499758eeL,
  12318. 0x73e95ca56ee0cc2dL } },
  12319. /* 40 << 21 */
  12320. { { 0xf61790abfbaf50a5L,0xdf55e76b684e0750L,0xec516da7f176b005L,
  12321. 0x575553bb7a2dddc7L },
  12322. { 0x37c87ca3553afa73L,0x315f3ffc4d55c251L,0xe846442aaf3e5d35L,
  12323. 0x61b911496495ff28L } },
  12324. /* 41 << 21 */
  12325. { { 0x23cc95d3fa326dc3L,0x1df4da1f18fc2ceaL,0x24bf9adcd0a37d59L,
  12326. 0xb6710053320d6e1eL },
  12327. { 0x96f9667e618344d1L,0xcc7ce042a06445afL,0xa02d8514d68dbc3aL,
  12328. 0x4ea109e4280b5a5bL } },
  12329. /* 42 << 21 */
  12330. { { 0x5741a7acb40961bfL,0x4ada59376aa56bfaL,0x7feb914502b765d1L,
  12331. 0x561e97bee6ad1582L },
  12332. { 0xbbc4a5b6da3982f5L,0x0c2659edb546f468L,0xb8e7e6aa59612d20L,
  12333. 0xd83dfe20ac19e8e0L } },
  12334. /* 43 << 21 */
  12335. { { 0x8530c45fb835398cL,0x6106a8bfb38a41c2L,0x21e8f9a635f5dcdbL,
  12336. 0x39707137cae498edL },
  12337. { 0x70c23834d8249f00L,0x9f14b58fab2537a0L,0xd043c3655f61c0c2L,
  12338. 0xdc5926d609a194a7L } },
  12339. /* 44 << 21 */
  12340. { { 0xddec03398e77738aL,0xd07a63effba46426L,0x2e58e79cee7f6e86L,
  12341. 0xe59b0459ff32d241L },
  12342. { 0xc5ec84e520fa0338L,0x97939ac8eaff5aceL,0x0310a4e3b4a38313L,
  12343. 0x9115fba28f9d9885L } },
  12344. /* 45 << 21 */
  12345. { { 0x8dd710c25fadf8c3L,0x66be38a2ce19c0e2L,0xd42a279c4cfe5022L,
  12346. 0x597bb5300e24e1b8L },
  12347. { 0x3cde86b7c153ca7fL,0xa8d30fb3707d63bdL,0xac905f92bd60d21eL,
  12348. 0x98e7ffb67b9a54abL } },
  12349. /* 46 << 21 */
  12350. { { 0xd7147df8e9726a30L,0xb5e216ffafce3533L,0xb550b7992ff1ec40L,
  12351. 0x6b613b87a1e953fdL },
  12352. { 0x87b88dba792d5610L,0x2ee1270aa190fbe1L,0x02f4e2dc2ef581daL,
  12353. 0x016530e4eff82a95L } },
  12354. /* 47 << 21 */
  12355. { { 0xcbb93dfd8fd6ee89L,0x16d3d98646848fffL,0x600eff241da47adfL,
  12356. 0x1b9754a00ad47a71L },
  12357. { 0x8f9266df70c33b98L,0xaadc87aedf34186eL,0x0d2ce8e14ad24132L,
  12358. 0x8a47cbfc19946ebaL } },
  12359. /* 48 << 21 */
  12360. { { 0x47feeb6662b5f3afL,0xcefab5610abb3734L,0x449de60e19f35cb1L,
  12361. 0x39f8db14157f0eb9L },
  12362. { 0xffaecc5b3c61bfd6L,0xa5a4d41d41216703L,0x7f8fabed224e1cc2L,
  12363. 0x0d5a8186871ad953L } },
  12364. /* 49 << 21 */
  12365. { { 0xf10774f7d22da9a9L,0x45b8a678cc8a9b0dL,0xd9c2e722bdc32cffL,
  12366. 0xbf71b5f5337202a5L },
  12367. { 0x95c57f2f69fc4db9L,0xb6dad34c765d01e1L,0x7e0bd13fcb904635L,
  12368. 0x61751253763a588cL } },
  12369. /* 50 << 21 */
  12370. { { 0xd85c299781af2c2dL,0xc0f7d9c481b9d7daL,0x838a34ae08533e8dL,
  12371. 0x15c4cb08311d8311L },
  12372. { 0x97f832858e121e14L,0xeea7dc1e85000a5fL,0x0c6059b65d256274L,
  12373. 0xec9beaceb95075c0L } },
  12374. /* 51 << 21 */
  12375. { { 0x173daad71df97828L,0xbf851cb5a8937877L,0xb083c59401646f3cL,
  12376. 0x3bad30cf50c6d352L },
  12377. { 0xfeb2b202496bbceaL,0x3cf9fd4f18a1e8baL,0xd26de7ff1c066029L,
  12378. 0x39c81e9e4e9ed4f8L } },
  12379. /* 52 << 21 */
  12380. { { 0xd8be0cb97b390d35L,0x01df2bbd964aab27L,0x3e8c1a65c3ef64f8L,
  12381. 0x567291d1716ed1ddL },
  12382. { 0x95499c6c5f5406d3L,0x71fdda395ba8e23fL,0xcfeb320ed5096eceL,
  12383. 0xbe7ba92bca66dd16L } },
  12384. /* 53 << 21 */
  12385. { { 0x4608d36bc6fb5a7dL,0xe3eea15a6d2dd0e0L,0x75b0a3eb8f97a36aL,
  12386. 0xf59814cc1c83de1eL },
  12387. { 0x56c9c5b01c33c23fL,0xa96c1da46faa4136L,0x46bf2074de316551L,
  12388. 0x3b866e7b1f756c8fL } },
  12389. /* 54 << 21 */
  12390. { { 0x727727d81495ed6bL,0xb2394243b682dce7L,0x8ab8454e758610f3L,
  12391. 0xc243ce84857d72a4L },
  12392. { 0x7b320d71dbbf370fL,0xff9afa3778e0f7caL,0x0119d1e0ea7b523fL,
  12393. 0xb997f8cb058c7d42L } },
  12394. /* 55 << 21 */
  12395. { { 0x285bcd2a37bbb184L,0x51dcec49a45d1fa6L,0x6ade3b64e29634cbL,
  12396. 0x080c94a726b86ef1L },
  12397. { 0xba583db12283fbe3L,0x902bddc85a9315edL,0x07c1ccb386964becL,
  12398. 0x78f4eacfb6258301L } },
  12399. /* 56 << 21 */
  12400. { { 0x4bdf3a4956f90823L,0xba0f5080741d777bL,0x091d71c3f38bf760L,
  12401. 0x9633d50f9b625b02L },
  12402. { 0x03ecb743b8c9de61L,0xb47512545de74720L,0x9f9defc974ce1cb2L,
  12403. 0x774a4f6a00bd32efL } },
  12404. /* 57 << 21 */
  12405. { { 0xaca385f773848f22L,0x53dad716f3f8558eL,0xab7b34b093c471f9L,
  12406. 0xf530e06919644bc7L },
  12407. { 0x3d9fb1ffdd59d31aL,0x4382e0df08daa795L,0x165c6f4bd5cc88d7L,
  12408. 0xeaa392d54a18c900L } },
  12409. /* 58 << 21 */
  12410. { { 0x94203c67648024eeL,0x188763f28c2fabcdL,0xa80f87acbbaec835L,
  12411. 0x632c96e0f29d8d54L },
  12412. { 0x29b0a60e4c00a95eL,0x2ef17f40e011e9faL,0xf6c0e1d115b77223L,
  12413. 0xaaec2c6214b04e32L } },
  12414. /* 59 << 21 */
  12415. { { 0xd35688d83d84e58cL,0x2af5094c958571dbL,0x4fff7e19760682a6L,
  12416. 0x4cb27077e39a407cL },
  12417. { 0x0f59c5474ff0e321L,0x169f34a61b34c8ffL,0x2bff109652bc1ba7L,
  12418. 0xa25423b783583544L } },
  12419. /* 60 << 21 */
  12420. { { 0x5d55d5d50ac8b782L,0xff6622ec2db3c892L,0x48fce7416b8bb642L,
  12421. 0x31d6998c69d7e3dcL },
  12422. { 0xdbaf8004cadcaed0L,0x801b0142d81d053cL,0x94b189fc59630ec6L,
  12423. 0x120e9934af762c8eL } },
  12424. /* 61 << 21 */
  12425. { { 0x53a29aa4fdc6a404L,0x19d8e01ea1909948L,0x3cfcabf1d7e89681L,
  12426. 0x3321a50d4e132d37L },
  12427. { 0xd0496863e9a86111L,0x8c0cde6106a3bc65L,0xaf866c49fc9f8eefL,
  12428. 0x2066350eff7f5141L } },
  12429. /* 62 << 21 */
  12430. { { 0x4f8a4689e56ddfbdL,0xea1b0c07fe32983aL,0x2b317462873cb8cbL,
  12431. 0x658deddc2d93229fL },
  12432. { 0x65efaf4d0f64ef58L,0xfe43287d730cc7a8L,0xaebc0c723d047d70L,
  12433. 0x92efa539d92d26c9L } },
  12434. /* 63 << 21 */
  12435. { { 0x06e7845794b56526L,0x415cb80f0961002dL,0x89e5c56576dcb10fL,
  12436. 0x8bbb6982ff9259feL },
  12437. { 0x4fe8795b9abc2668L,0xb5d4f5341e678fb1L,0x6601f3be7b7da2b9L,
  12438. 0x98da59e2a13d6805L } },
  12439. /* 64 << 21 */
  12440. { { 0x190d8ea601799a52L,0xa20cec41b86d2952L,0x3062ffb27fff2a7cL,
  12441. 0x741b32e579f19d37L },
  12442. { 0xf80d81814eb57d47L,0x7a2d0ed416aef06bL,0x09735fb01cecb588L,
  12443. 0x1641caaac6061f5bL } },
  12444. /* 0 << 28 */
  12445. { { 0x00, 0x00, 0x00, 0x00 },
  12446. { 0x00, 0x00, 0x00, 0x00 } },
  12447. /* 1 << 28 */
  12448. { { 0x7f99824f20151427L,0x206828b692430206L,0xaa9097d7e1112357L,
  12449. 0xacf9a2f209e414ecL },
  12450. { 0xdbdac9da27915356L,0x7e0734b7001efee3L,0x54fab5bbd2b288e2L,
  12451. 0x4c630fc4f62dd09cL } },
  12452. /* 2 << 28 */
  12453. { { 0x8537107a1ac2703bL,0xb49258d86bc857b5L,0x57df14debcdaccd1L,
  12454. 0x24ab68d7c4ae8529L },
  12455. { 0x7ed8b5d4734e59d0L,0x5f8740c8c495cc80L,0x84aedd5a291db9b3L,
  12456. 0x80b360f84fb995beL } },
  12457. /* 3 << 28 */
  12458. { { 0xae915f5d5fa067d1L,0x4134b57f9668960cL,0xbd3656d6a48edaacL,
  12459. 0xdac1e3e4fc1d7436L },
  12460. { 0x674ff869d81fbb26L,0x449ed3ecb26c33d4L,0x85138705d94203e8L,
  12461. 0xccde538bbeeb6f4aL } },
  12462. /* 4 << 28 */
  12463. { { 0x55d5c68da61a76faL,0x598b441dca1554dcL,0xd39923b9773b279cL,
  12464. 0x33331d3c36bf9efcL },
  12465. { 0x2d4c848e298de399L,0xcfdb8e77a1a27f56L,0x94c855ea57b8ab70L,
  12466. 0xdcdb9dae6f7879baL } },
  12467. /* 5 << 28 */
  12468. { { 0x7bdff8c2019f2a59L,0xb3ce5bb3cb4fbc74L,0xea907f688a9173ddL,
  12469. 0x6cd3d0d395a75439L },
  12470. { 0x92ecc4d6efed021cL,0x09a9f9b06a77339aL,0x87ca6b157188c64aL,
  12471. 0x10c2996844899158L } },
  12472. /* 6 << 28 */
  12473. { { 0x5859a229ed6e82efL,0x16f338e365ebaf4eL,0x0cd313875ead67aeL,
  12474. 0x1c73d22854ef0bb4L },
  12475. { 0x4cb5513174a5c8c7L,0x01cd29707f69ad6aL,0xa04d00dde966f87eL,
  12476. 0xd96fe4470b7b0321L } },
  12477. /* 7 << 28 */
  12478. { { 0x342ac06e88fbd381L,0x02cd4a845c35a493L,0xe8fa89de54f1bbcdL,
  12479. 0x341d63672575ed4cL },
  12480. { 0xebe357fbd238202bL,0x600b4d1aa984ead9L,0xc35c9f4452436ea0L,
  12481. 0x96fe0a39a370751bL } },
  12482. /* 8 << 28 */
  12483. { { 0x4c4f07367f636a38L,0x9f943fb70e76d5cbL,0xb03510baa8b68b8bL,
  12484. 0xc246780a9ed07a1fL },
  12485. { 0x3c0514156d549fc2L,0xc2953f31607781caL,0x955e2c69d8d95413L,
  12486. 0xb300fadc7bd282e3L } },
  12487. /* 9 << 28 */
  12488. { { 0x81fe7b5087e9189fL,0xdb17375cf42dda27L,0x22f7d896cf0a5904L,
  12489. 0xa0e57c5aebe348e6L },
  12490. { 0xa61011d3f40e3c80L,0xb11893218db705c5L,0x4ed9309e50fedec3L,
  12491. 0xdcf14a104d6d5c1dL } },
  12492. /* 10 << 28 */
  12493. { { 0x056c265b55691342L,0xe8e0850491049dc7L,0x131329f5c9bae20aL,
  12494. 0x96c8b3e8d9dccdb4L },
  12495. { 0x8c5ff838fb4ee6b4L,0xfc5a9aeb41e8ccf0L,0x7417b764fae050c6L,
  12496. 0x0953c3d700452080L } },
  12497. /* 11 << 28 */
  12498. { { 0x2137268238dfe7e8L,0xea417e152bb79d4bL,0x59641f1c76e7cf2dL,
  12499. 0x271e3059ea0bcfccL },
  12500. { 0x624c7dfd7253ecbdL,0x2f552e254fca6186L,0xcbf84ecd4d866e9cL,
  12501. 0x73967709f68d4610L } },
  12502. /* 12 << 28 */
  12503. { { 0xa14b1163c27901b4L,0xfd9236e0899b8bf3L,0x42b091eccbc6da0aL,
  12504. 0xbb1dac6f5ad1d297L },
  12505. { 0x80e61d53a91cf76eL,0x4110a412d31f1ee7L,0x2d87c3ba13efcf77L,
  12506. 0x1f374bb4df450d76L } },
  12507. /* 13 << 28 */
  12508. { { 0x5e78e2f20d188dabL,0xe3968ed0f4b885efL,0x46c0568e7314570fL,
  12509. 0x3161633801170521L },
  12510. { 0x18e1e7e24f0c8afeL,0x4caa75ffdeea78daL,0x82db67f27c5d8a51L,
  12511. 0x36a44d866f505370L } },
  12512. /* 14 << 28 */
  12513. { { 0xd72c5bda0333974fL,0x5db516ae27a70146L,0x34705281210ef921L,
  12514. 0xbff17a8f0c9c38e5L },
  12515. { 0x78f4814e12476da1L,0xc1e1661333c16980L,0x9e5b386f424d4bcaL,
  12516. 0x4c274e87c85740deL } },
  12517. /* 15 << 28 */
  12518. { { 0xb6a9b88d6c2f5226L,0x14d1b944550d7ca8L,0x580c85fc1fc41709L,
  12519. 0xc1da368b54c6d519L },
  12520. { 0x2b0785ced5113cf7L,0x0670f6335a34708fL,0x46e2376715cc3f88L,
  12521. 0x1b480cfa50c72c8fL } },
  12522. /* 16 << 28 */
  12523. { { 0x202886024147519aL,0xd0981eac26b372f0L,0xa9d4a7caa785ebc8L,
  12524. 0xd953c50ddbdf58e9L },
  12525. { 0x9d6361ccfd590f8fL,0x72e9626b44e6c917L,0x7fd9611022eb64cfL,
  12526. 0x863ebb7e9eb288f3L } },
  12527. /* 17 << 28 */
  12528. { { 0x6e6ab7616aca8ee7L,0x97d10b39d7b40358L,0x1687d3771e5feb0dL,
  12529. 0xc83e50e48265a27aL },
  12530. { 0x8f75a9fec954b313L,0xcc2e8f47310d1f61L,0xf5ba81c56557d0e0L,
  12531. 0x25f9680c3eaf6207L } },
  12532. /* 18 << 28 */
  12533. { { 0xf95c66094354080bL,0x5225bfa57bf2fe1cL,0xc5c004e25c7d98faL,
  12534. 0x3561bf1c019aaf60L },
  12535. { 0x5e6f9f17ba151474L,0xdec2f934b04f6ecaL,0x64e368a1269acb1eL,
  12536. 0x1332d9e40cdda493L } },
  12537. /* 19 << 28 */
  12538. { { 0x60d6cf69df23de05L,0x66d17da2009339a0L,0x9fcac9850a693923L,
  12539. 0xbcf057fced7c6a6dL },
  12540. { 0xc3c5c8c5f0b5662cL,0x25318dd8dcba4f24L,0x60e8cb75082b69ffL,
  12541. 0x7c23b3ee1e728c01L } },
  12542. /* 20 << 28 */
  12543. { { 0x15e10a0a097e4403L,0xcb3d0a8619854665L,0x88d8e211d67d4826L,
  12544. 0xb39af66e0b9d2839L },
  12545. { 0xa5f94588bd475ca8L,0xe06b7966c077b80bL,0xfedb1485da27c26cL,
  12546. 0xd290d33afe0fd5e0L } },
  12547. /* 21 << 28 */
  12548. { { 0xa40bcc47f34fb0faL,0xb4760cc81fb1ab09L,0x8fca0993a273bfe3L,
  12549. 0x13e4fe07f70b213cL },
  12550. { 0x3bcdb992fdb05163L,0x8c484b110c2b19b6L,0x1acb815faaf2e3e2L,
  12551. 0xc6905935b89ff1b4L } },
  12552. /* 22 << 28 */
  12553. { { 0xb2ad6f9d586e74e1L,0x488883ad67b80484L,0x758aa2c7369c3ddbL,
  12554. 0x8ab74e699f9afd31L },
  12555. { 0x10fc2d285e21beb1L,0x3484518a318c42f9L,0x377427dc53cf40c3L,
  12556. 0x9de0781a391bc1d9L } },
  12557. /* 23 << 28 */
  12558. { { 0x8faee858693807e1L,0xa38653274e81ccc7L,0x02c30ff26f835b84L,
  12559. 0xb604437b0d3d38d4L },
  12560. { 0xb3fc8a985ca1823dL,0xb82f7ec903be0324L,0xee36d761cf684a33L,
  12561. 0x5a01df0e9f29bf7dL } },
  12562. /* 24 << 28 */
  12563. { { 0x686202f31306583dL,0x05b10da0437c622eL,0xbf9aaa0f076a7bc8L,
  12564. 0x25e94efb8f8f4e43L },
  12565. { 0x8a35c9b7fa3dc26dL,0xe0e5fb9396ff03c5L,0xa77e3843ebc394ceL,
  12566. 0xcede65958361de60L } },
  12567. /* 25 << 28 */
  12568. { { 0xd27c22f6a1993545L,0xab01cc3624d671baL,0x63fa2877a169c28eL,
  12569. 0x925ef9042eb08376L },
  12570. { 0x3b2fa3cf53aa0b32L,0xb27beb5b71c49d7aL,0xb60e1834d105e27fL,
  12571. 0xd60897884f68570dL } },
  12572. /* 26 << 28 */
  12573. { { 0x23094ce0d6fbc2acL,0x738037a1815ff551L,0xda73b1bb6bef119cL,
  12574. 0xdcf6c430eef506baL },
  12575. { 0x00e4fe7be3ef104aL,0xebdd9a2c0a065628L,0x853a81c38792043eL,
  12576. 0x22ad6eceb3b59108L } },
  12577. /* 27 << 28 */
  12578. { { 0x9fb813c039cd297dL,0x8ec7e16e05bda5d9L,0x2834797c0d104b96L,
  12579. 0xcc11a2e77c511510L },
  12580. { 0x96ca5a5396ee6380L,0x054c8655cea38742L,0xb5946852d54dfa7dL,
  12581. 0x97c422e71f4ab207L } },
  12582. /* 28 << 28 */
  12583. { { 0xbf9075090c22b540L,0x2cde42aab7c267d4L,0xba18f9ed5ab0d693L,
  12584. 0x3ba62aa66e4660d9L },
  12585. { 0xb24bf97bab9ea96aL,0x5d039642e3b60e32L,0x4e6a45067c4d9bd5L,
  12586. 0x666c5b9e7ed4a6a4L } },
  12587. /* 29 << 28 */
  12588. { { 0xfa3fdcd98edbd7ccL,0x4660bb87c6ccd753L,0x9ae9082021e6b64fL,
  12589. 0x8a56a713b36bfb3fL },
  12590. { 0xabfce0965726d47fL,0x9eed01b20b1a9a7fL,0x30e9cad44eb74a37L,
  12591. 0x7b2524cc53e9666dL } },
  12592. /* 30 << 28 */
  12593. { { 0x6a29683b8f4b002fL,0xc2200d7a41f4fc20L,0xcf3af47a3a338accL,
  12594. 0x6539a4fbe7128975L },
  12595. { 0xcec31c14c33c7fcfL,0x7eb6799bc7be322bL,0x119ef4e96646f623L,
  12596. 0x7b7a26a554d7299bL } },
  12597. /* 31 << 28 */
  12598. { { 0xcb37f08d403f46f2L,0x94b8fc431a0ec0c7L,0xbb8514e3c332142fL,
  12599. 0xf3ed2c33e80d2a7aL },
  12600. { 0x8d2080afb639126cL,0xf7b6be60e3553adeL,0x3950aa9f1c7e2b09L,
  12601. 0x847ff9586410f02bL } },
  12602. /* 32 << 28 */
  12603. { { 0x877b7cf5678a31b0L,0xd50301ae3998b620L,0x734257c5c00fb396L,
  12604. 0xf9fb18a004e672a6L },
  12605. { 0xff8bd8ebe8758851L,0x1e64e4c65d99ba44L,0x4b8eaedf7dfd93b7L,
  12606. 0xba2f2a9804e76b8cL } },
  12607. /* 33 << 28 */
  12608. { { 0x7d790cbae8053433L,0xc8e725a03d2c9585L,0x58c5c476cdd8f5edL,
  12609. 0xd106b952efa9fe1dL },
  12610. { 0x3c5c775b0eff13a9L,0x242442bae057b930L,0xe9f458d4c9b70cbdL,
  12611. 0x69b71448a3cdb89aL } },
  12612. /* 34 << 28 */
  12613. { { 0x41ee46f60e2ed742L,0x573f104540067493L,0xb1e154ff9d54c304L,
  12614. 0x2ad0436a8d3a7502L },
  12615. { 0xee4aaa2d431a8121L,0xcd38b3ab886f11edL,0x57d49ea6034a0eb7L,
  12616. 0xd2b773bdf7e85e58L } },
  12617. /* 35 << 28 */
  12618. { { 0x4a559ac49b5c1f14L,0xc444be1a3e54df2bL,0x13aad704eda41891L,
  12619. 0xcd927bec5eb5c788L },
  12620. { 0xeb3c8516e48c8a34L,0x1b7ac8124b546669L,0x1815f896594df8ecL,
  12621. 0x87c6a79c79227865L } },
  12622. /* 36 << 28 */
  12623. { { 0xae02a2f09b56ddbdL,0x1339b5ac8a2f1cf3L,0xf2b569c7839dff0dL,
  12624. 0xb0b9e864fee9a43dL },
  12625. { 0x4ff8ca4177bb064eL,0x145a2812fd249f63L,0x3ab7beacf86f689aL,
  12626. 0x9bafec2701d35f5eL } },
  12627. /* 37 << 28 */
  12628. { { 0x28054c654265aa91L,0xa4b18304035efe42L,0x6887b0e69639dec7L,
  12629. 0xf4b8f6ad3d52aea5L },
  12630. { 0xfb9293cc971a8a13L,0x3f159e5d4c934d07L,0x2c50e9b109acbc29L,
  12631. 0x08eb65e67154d129L } },
  12632. /* 38 << 28 */
  12633. { { 0x4feff58930b75c3eL,0x0bb82fe294491c93L,0xd8ac377a89af62bbL,
  12634. 0xd7b514909685e49fL },
  12635. { 0xabca9a7b04497f19L,0x1b35ed0a1a7ad13fL,0x6b601e213ec86ed6L,
  12636. 0xda91fcb9ce0c76f1L } },
  12637. /* 39 << 28 */
  12638. { { 0x9e28507bd7ab27e1L,0x7c19a55563945b7bL,0x6b43f0a1aafc9827L,
  12639. 0x443b4fbd3aa55b91L },
  12640. { 0x962b2e656962c88fL,0x139da8d4ce0db0caL,0xb93f05dd1b8d6c4fL,
  12641. 0x779cdff7180b9824L } },
  12642. /* 40 << 28 */
  12643. { { 0xbba23fddae57c7b7L,0x345342f21b932522L,0xfd9c80fe556d4aa3L,
  12644. 0xa03907ba6525bb61L },
  12645. { 0x38b010e1ff218933L,0xc066b654aa52117bL,0x8e14192094f2e6eaL,
  12646. 0x66a27dca0d32f2b2L } },
  12647. /* 41 << 28 */
  12648. { { 0x69c7f993048b3717L,0xbf5a989ab178ae1cL,0x49fa9058564f1d6bL,
  12649. 0x27ec6e15d31fde4eL },
  12650. { 0x4cce03737276e7fcL,0x64086d7989d6bf02L,0x5a72f0464ccdd979L,
  12651. 0x909c356647775631L } },
  12652. /* 42 << 28 */
  12653. { { 0x1c07bc6b75dd7125L,0xb4c6bc9787a0428dL,0x507ece52fdeb6b9dL,
  12654. 0xfca56512b2c95432L },
  12655. { 0x15d97181d0e8bd06L,0x384dd317c6bb46eaL,0x5441ea203952b624L,
  12656. 0xbcf70dee4e7dc2fbL } },
  12657. /* 43 << 28 */
  12658. { { 0x372b016e6628e8c3L,0x07a0d667b60a7522L,0xcf05751b0a344ee2L,
  12659. 0x0ec09a48118bdeecL },
  12660. { 0x6e4b3d4ed83dce46L,0x43a6316d99d2fc6eL,0xa99d898956cf044cL,
  12661. 0x7c7f4454ae3e5fb7L } },
  12662. /* 44 << 28 */
  12663. { { 0xb2e6b121fbabbe92L,0x281850fbe1330076L,0x093581ec97890015L,
  12664. 0x69b1dded75ff77f5L },
  12665. { 0x7cf0b18fab105105L,0x953ced31a89ccfefL,0x3151f85feb914009L,
  12666. 0x3c9f1b8788ed48adL } },
  12667. /* 45 << 28 */
  12668. { { 0xc9aba1a14a7eadcbL,0x928e7501522e71cfL,0xeaede7273a2e4f83L,
  12669. 0x467e10d11ce3bbd3L },
  12670. { 0xf3442ac3b955dcf0L,0xba96307dd3d5e527L,0xf763a10efd77f474L,
  12671. 0x5d744bd06a6e1ff0L } },
  12672. /* 46 << 28 */
  12673. { { 0xd287282aa777899eL,0xe20eda8fd03f3cdeL,0x6a7e75bb50b07d31L,
  12674. 0x0b7e2a946f379de4L },
  12675. { 0x31cb64ad19f593cfL,0x7b1a9e4f1e76ef1dL,0xe18c9c9db62d609cL,
  12676. 0x439bad6de779a650L } },
  12677. /* 47 << 28 */
  12678. { { 0x219d9066e032f144L,0x1db632b8e8b2ec6aL,0xff0d0fd4fda12f78L,
  12679. 0x56fb4c2d2a25d265L },
  12680. { 0x5f4e2ee1255a03f1L,0x61cd6af2e96af176L,0xe0317ba8d068bc97L,
  12681. 0x927d6bab264b988eL } },
  12682. /* 48 << 28 */
  12683. { { 0xa18f07e0e90fb21eL,0x00fd2b80bba7fca1L,0x20387f2795cd67b5L,
  12684. 0x5b89a4e7d39707f7L },
  12685. { 0x8f83ad3f894407ceL,0xa0025b946c226132L,0xc79563c7f906c13bL,
  12686. 0x5f548f314e7bb025L } },
  12687. /* 49 << 28 */
  12688. { { 0x2b4c6b8feac6d113L,0xa67e3f9c0e813c76L,0x3982717c3fe1f4b9L,
  12689. 0x5886581926d8050eL },
  12690. { 0x99f3640cf7f06f20L,0xdc6102162a66ebc2L,0x52f2c175767a1e08L,
  12691. 0x05660e1a5999871bL } },
  12692. /* 50 << 28 */
  12693. { { 0x6b0f17626d3c4693L,0xf0e7d62737ed7beaL,0xc51758c7b75b226dL,
  12694. 0x40a886281f91613bL },
  12695. { 0x889dbaa7bbb38ce0L,0xe0404b65bddcad81L,0xfebccd3a8bc9671fL,
  12696. 0xfbf9a357ee1f5375L } },
  12697. /* 51 << 28 */
  12698. { { 0x5dc169b028f33398L,0xb07ec11d72e90f65L,0xae7f3b4afaab1eb1L,
  12699. 0xd970195e5f17538aL },
  12700. { 0x52b05cbe0181e640L,0xf5debd622643313dL,0x761481545df31f82L,
  12701. 0x23e03b333a9e13c5L } },
  12702. /* 52 << 28 */
  12703. { { 0xff7589494fde0c1fL,0xbf8a1abee5b6ec20L,0x702278fb87e1db6cL,
  12704. 0xc447ad7a35ed658fL },
  12705. { 0x48d4aa3803d0ccf2L,0x80acb338819a7c03L,0x9bc7c89e6e17ceccL,
  12706. 0x46736b8b03be1d82L } },
  12707. /* 53 << 28 */
  12708. { { 0xd65d7b60c0432f96L,0xddebe7a3deb5442fL,0x79a253077dff69a2L,
  12709. 0x37a56d9402cf3122L },
  12710. { 0x8bab8aedf2350d0aL,0x13c3f276037b0d9aL,0xc664957c44c65caeL,
  12711. 0x88b44089c2e71a88L } },
  12712. /* 54 << 28 */
  12713. { { 0xdb88e5a35cb02664L,0x5d4c0bf18686c72eL,0xea3d9b62a682d53eL,
  12714. 0x9b605ef40b2ad431L },
  12715. { 0x71bac202c69645d0L,0xa115f03a6a1b66e7L,0xfe2c563a158f4dc4L,
  12716. 0xf715b3a04d12a78cL } },
  12717. /* 55 << 28 */
  12718. { { 0x8f7f0a48d413213aL,0x2035806dc04becdbL,0xecd34a995d8587f5L,
  12719. 0x4d8c30799f6d3a71L },
  12720. { 0x1b2a2a678d95a8f6L,0xc58c9d7df2110d0dL,0xdeee81d5cf8fba3fL,
  12721. 0xa42be3c00c7cdf68L } },
  12722. /* 56 << 28 */
  12723. { { 0x2126f742d43b5eaaL,0x054a0766dfa59b85L,0x9d0d5e36126bfd45L,
  12724. 0xa1f8fbd7384f8a8fL },
  12725. { 0x317680f5d563fcccL,0x48ca5055f280a928L,0xe00b81b227b578cfL,
  12726. 0x10aad9182994a514L } },
  12727. /* 57 << 28 */
  12728. { { 0xd9e07b62b7bdc953L,0x9f0f6ff25bc086ddL,0x09d1ccff655eee77L,
  12729. 0x45475f795bef7df1L },
  12730. { 0x3faa28fa86f702ccL,0x92e609050f021f07L,0xe9e629687f8fa8c6L,
  12731. 0xbd71419af036ea2cL } },
  12732. /* 58 << 28 */
  12733. { { 0x171ee1cc6028da9aL,0x5352fe1ac251f573L,0xf8ff236e3fa997f4L,
  12734. 0xd831b6c9a5749d5fL },
  12735. { 0x7c872e1de350e2c2L,0xc56240d91e0ce403L,0xf9deb0776974f5cbL,
  12736. 0x7d50ba87961c3728L } },
  12737. /* 59 << 28 */
  12738. { { 0xd6f894265a3a2518L,0xcf817799c6303d43L,0x510a0471619e5696L,
  12739. 0xab049ff63a5e307bL },
  12740. { 0xe4cdf9b0feb13ec7L,0xd5e971179d8ff90cL,0xf6f64d069afa96afL,
  12741. 0x00d0bf5e9d2012a2L } },
  12742. /* 60 << 28 */
  12743. { { 0xe63f301f358bcdc0L,0x07689e990a9d47f8L,0x1f689e2f4f43d43aL,
  12744. 0x4d542a1690920904L },
  12745. { 0xaea293d59ca0a707L,0xd061fe458ac68065L,0x1033bf1b0090008cL,
  12746. 0x29749558c08a6db6L } },
  12747. /* 61 << 28 */
  12748. { { 0x74b5fc59c1d5d034L,0xf712e9f667e215e0L,0xfd520cbd860200e6L,
  12749. 0x0229acb43ea22588L },
  12750. { 0x9cd1e14cfff0c82eL,0x87684b6259c69e73L,0xda85e61c96ccb989L,
  12751. 0x2d5dbb02a3d06493L } },
  12752. /* 62 << 28 */
  12753. { { 0xf22ad33ae86b173cL,0xe8e41ea5a79ff0e3L,0x01d2d725dd0d0c10L,
  12754. 0x31f39088032d28f9L },
  12755. { 0x7b3f71e17829839eL,0x0cf691b44502ae58L,0xef658dbdbefc6115L,
  12756. 0xa5cd6ee5b3ab5314L } },
  12757. /* 63 << 28 */
  12758. { { 0x206c8d7b5f1d2347L,0x794645ba4cc2253aL,0xd517d8ff58389e08L,
  12759. 0x4fa20dee9f847288L },
  12760. { 0xeba072d8d797770aL,0x7360c91dbf429e26L,0x7200a3b380af8279L,
  12761. 0x6a1c915082dadce3L } },
  12762. /* 64 << 28 */
  12763. { { 0x0ee6d3a7c35d8794L,0x042e65580356bae5L,0x9f59698d643322fdL,
  12764. 0x9379ae1550a61967L },
  12765. { 0x64b9ae62fcc9981eL,0xaed3d6316d2934c6L,0x2454b3025e4e65ebL,
  12766. 0xab09f647f9950428L } },
  12767. /* 0 << 35 */
  12768. { { 0x00, 0x00, 0x00, 0x00 },
  12769. { 0x00, 0x00, 0x00, 0x00 } },
  12770. /* 1 << 35 */
  12771. { { 0xb2083a1222248accL,0x1f6ec0ef3264e366L,0x5659b7045afdee28L,
  12772. 0x7a823a40e6430bb5L },
  12773. { 0x24592a04e1900a79L,0xcde09d4ac9ee6576L,0x52b6463f4b5ea54aL,
  12774. 0x1efe9ed3d3ca65a7L } },
  12775. /* 2 << 35 */
  12776. { { 0xe27a6dbe305406ddL,0x8eb7dc7fdd5d1957L,0xf54a6876387d4d8fL,
  12777. 0x9c479409c7762de4L },
  12778. { 0xbe4d5b5d99b30778L,0x25380c566e793682L,0x602d37f3dac740e3L,
  12779. 0x140deabe1566e4aeL } },
  12780. /* 3 << 35 */
  12781. { { 0x4481d067afd32acfL,0xd8f0fccae1f71ccfL,0xd208dd0cb596f2daL,
  12782. 0xd049d7309aad93f9L },
  12783. { 0xc79f263d42ab580eL,0x09411bb123f707b4L,0x8cfde1ff835e0edaL,
  12784. 0x7270749090f03402L } },
  12785. /* 4 << 35 */
  12786. { { 0xeaee6126c49a861eL,0x024f3b65e14f0d06L,0x51a3f1e8c69bfc17L,
  12787. 0xc3c3a8e9a7686381L },
  12788. { 0x3400752cb103d4c8L,0x02bc46139218b36bL,0xc67f75eb7651504aL,
  12789. 0xd6848b56d02aebfaL } },
  12790. /* 5 << 35 */
  12791. { { 0xbd9802e6c30fa92bL,0x5a70d96d9a552784L,0x9085c4ea3f83169bL,
  12792. 0xfa9423bb06908228L },
  12793. { 0x2ffebe12fe97a5b9L,0x85da604971b99118L,0x9cbc2f7f63178846L,
  12794. 0xfd96bc709153218eL } },
  12795. /* 6 << 35 */
  12796. { { 0x958381db1782269bL,0xae34bf792597e550L,0xbb5c60645f385153L,
  12797. 0x6f0e96afe3088048L },
  12798. { 0xbf6a021577884456L,0xb3b5688c69310ea7L,0x17c9429504fad2deL,
  12799. 0xe020f0e517896d4dL } },
  12800. /* 7 << 35 */
  12801. { { 0x730ba0ab0976505fL,0x567f6813095e2ec5L,0x470620106331ab71L,
  12802. 0x72cfa97741d22b9fL },
  12803. { 0x33e55ead8a2373daL,0xa8d0d5f47ba45a68L,0xba1d8f9c03029d15L,
  12804. 0x8f34f1ccfc55b9f3L } },
  12805. /* 8 << 35 */
  12806. { { 0xcca4428dbbe5a1a9L,0x8187fd5f3126bd67L,0x0036973a48105826L,
  12807. 0xa39b6663b8bd61a0L },
  12808. { 0x6d42deef2d65a808L,0x4969044f94636b19L,0xf611ee47dd5d564cL,
  12809. 0x7b2f3a49d2873077L } },
  12810. /* 9 << 35 */
  12811. { { 0x94157d45300eb294L,0x2b2a656e169c1494L,0xc000dd76d3a47aa9L,
  12812. 0xa2864e4fa6243ea4L },
  12813. { 0x82716c47db89842eL,0x12dfd7d761479fb7L,0x3b9a2c56e0b2f6dcL,
  12814. 0x46be862ad7f85d67L } },
  12815. /* 10 << 35 */
  12816. { { 0x03b0d8dd0f82b214L,0x460c34f9f103cbc6L,0xf32e5c0318d79e19L,
  12817. 0x8b8888baa84117f8L },
  12818. { 0x8f3c37dcc0722677L,0x10d21be91c1c0f27L,0xd47c8468e0f7a0c6L,
  12819. 0x9bf02213adecc0e0L } },
  12820. /* 11 << 35 */
  12821. { { 0x0baa7d1242b48b99L,0x1bcb665d48424096L,0x8b847cd6ebfb5cfbL,
  12822. 0x87c2ae569ad4d10dL },
  12823. { 0xf1cbb1220de36726L,0xe7043c683fdfbd21L,0x4bd0826a4e79d460L,
  12824. 0x11f5e5984bd1a2cbL } },
  12825. /* 12 << 35 */
  12826. { { 0x97554160b7fe7b6eL,0x7d16189a400a3fb2L,0xd73e9beae328ca1eL,
  12827. 0x0dd04b97e793d8ccL },
  12828. { 0xa9c83c9b506db8ccL,0x5cd47aaecf38814cL,0x26fc430db64b45e6L,
  12829. 0x079b5499d818ea84L } },
  12830. /* 13 << 35 */
  12831. { { 0xebb01102c1c24a3bL,0xca24e5681c161c1aL,0x103eea6936f00a4aL,
  12832. 0x9ad76ee876176c7bL },
  12833. { 0x97451fc2538e0ff7L,0x94f898096604b3b0L,0x6311436e3249cfd7L,
  12834. 0x27b4a7bd41224f69L } },
  12835. /* 14 << 35 */
  12836. { { 0x03b5d21ae0ac2941L,0x279b0254c2d31937L,0x3307c052cac992d0L,
  12837. 0x6aa7cb92efa8b1f3L },
  12838. { 0x5a1825800d37c7a5L,0x13380c37342d5422L,0x92ac2d66d5d2ef92L,
  12839. 0x035a70c9030c63c6L } },
  12840. /* 15 << 35 */
  12841. { { 0xc16025dd4ce4f152L,0x1f419a71f9df7c06L,0x6d5b221491e4bb14L,
  12842. 0xfc43c6cc839fb4ceL },
  12843. { 0x49f06591925d6b2dL,0x4b37d9d362186598L,0x8c54a971d01b1629L,
  12844. 0xe1a9c29f51d50e05L } },
  12845. /* 16 << 35 */
  12846. { { 0x5109b78571ba1861L,0x48b22d5cd0c8f93dL,0xe8fa84a78633bb93L,
  12847. 0x53fba6ba5aebbd08L },
  12848. { 0x7ff27df3e5eea7d8L,0x521c879668ca7158L,0xb9d5133bce6f1a05L,
  12849. 0x2d50cd53fd0ebee4L } },
  12850. /* 17 << 35 */
  12851. { { 0xc82115d6c5a3ef16L,0x993eff9dba079221L,0xe4da2c5e4b5da81cL,
  12852. 0x9a89dbdb8033fd85L },
  12853. { 0x60819ebf2b892891L,0x53902b215d14a4d5L,0x6ac35051d7fda421L,
  12854. 0xcc6ab88561c83284L } },
  12855. /* 18 << 35 */
  12856. { { 0x14eba133f74cff17L,0x240aaa03ecb813f2L,0xcfbb65406f665beeL,
  12857. 0x084b1fe4a425ad73L },
  12858. { 0x009d5d16d081f6a6L,0x35304fe8eef82c90L,0xf20346d5aa9eaa22L,
  12859. 0x0ada9f07ac1c91e3L } },
  12860. /* 19 << 35 */
  12861. { { 0xa6e21678968a6144L,0x54c1f77c07b31a1eL,0xd6bb787e5781fbe1L,
  12862. 0x61bd2ee0e31f1c4aL },
  12863. { 0xf25aa1e9781105fcL,0x9cf2971f7b2f8e80L,0x26d15412cdff919bL,
  12864. 0x01db4ebe34bc896eL } },
  12865. /* 20 << 35 */
  12866. { { 0x7d9b3e23b40df1cfL,0x5933737394e971b4L,0xbf57bd14669cf921L,
  12867. 0x865daedf0c1a1064L },
  12868. { 0x3eb70bd383279125L,0xbc3d5b9f34ecdaabL,0x91e3ed7e5f755cafL,
  12869. 0x49699f54d41e6f02L } },
  12870. /* 21 << 35 */
  12871. { { 0x185770e1d4a7a15bL,0x08f3587aeaac87e7L,0x352018db473133eaL,
  12872. 0x674ce71904fd30fcL },
  12873. { 0x7b8d9835088b3e0eL,0x7a0356a95d0d47a1L,0x9d9e76596474a3c4L,
  12874. 0x61ea48a7ff66966cL } },
  12875. /* 22 << 35 */
  12876. { { 0x304177580f3e4834L,0xfdbb21c217a9afcbL,0x756fa17f2f9a67b3L,
  12877. 0x2a6b2421a245c1a8L },
  12878. { 0x64be27944af02291L,0xade465c62a5804feL,0x8dffbd39a6f08fd7L,
  12879. 0xc4efa84caa14403bL } },
  12880. /* 23 << 35 */
  12881. { { 0xa1b91b2a442b0f5cL,0xb748e317cf997736L,0x8d1b62bfcee90e16L,
  12882. 0x907ae2710b2078c0L },
  12883. { 0xdf31534b0c9bcdddL,0x043fb05439adce83L,0x99031043d826846aL,
  12884. 0x61a9c0d6b144f393L } },
  12885. /* 24 << 35 */
  12886. { { 0xdab4804647718427L,0xdf17ff9b6e830f8bL,0x408d7ee8e49a1347L,
  12887. 0x6ac71e2391c1d4aeL },
  12888. { 0xc8cbb9fd1defd73cL,0x19840657bbbbfec5L,0x39db1cb59e7ef8eaL,
  12889. 0x78aa829664105f30L } },
  12890. /* 25 << 35 */
  12891. { { 0xa3d9b7f0a3738c29L,0x0a2f235abc3250a3L,0x55e506f6445e4cafL,
  12892. 0x0974f73d33475f7aL },
  12893. { 0xd37dbba35ba2f5a8L,0x542c6e636af40066L,0x26d99b53c5d73e2cL,
  12894. 0x06060d7d6c3ca33eL } },
  12895. /* 26 << 35 */
  12896. { { 0xcdbef1c2065fef4aL,0x77e60f7dfd5b92e3L,0xd7c549f026708350L,
  12897. 0x201b3ad034f121bfL },
  12898. { 0x5fcac2a10334fc14L,0x8a9a9e09344552f6L,0x7dd8a1d397653082L,
  12899. 0x5fc0738f79d4f289L } },
  12900. /* 27 << 35 */
  12901. { { 0x787d244d17d2d8c3L,0xeffc634570830684L,0x5ddb96dde4f73ae5L,
  12902. 0x8efb14b1172549a5L },
  12903. { 0x6eb73eee2245ae7aL,0xbca4061eea11f13eL,0xb577421d30b01f5dL,
  12904. 0xaa688b24782e152cL } },
  12905. /* 28 << 35 */
  12906. { { 0x67608e71bd3502baL,0x4ef41f24b4de75a0L,0xb08dde5efd6125e5L,
  12907. 0xde484825a409543fL },
  12908. { 0x1f198d9865cc2295L,0x428a37716e0edfa2L,0x4f9697a2adf35fc7L,
  12909. 0x01a43c79f7cac3c7L } },
  12910. /* 29 << 35 */
  12911. { { 0xb05d70590fd3659aL,0x8927f30cbb7f2d9aL,0x4023d1ac8cf984d3L,
  12912. 0x32125ed302897a45L },
  12913. { 0xfb572dad3d414205L,0x73000ef2e3fa82a9L,0x4c0868e9f10a5581L,
  12914. 0x5b61fc676b0b3ca5L } },
  12915. /* 30 << 35 */
  12916. { { 0xc1258d5b7cae440cL,0x21c08b41402b7531L,0xf61a8955de932321L,
  12917. 0x3568faf82d1408afL },
  12918. { 0x71b15e999ecf965bL,0xf14ed248e917276fL,0xc6f4caa1820cf9e2L,
  12919. 0x681b20b218d83c7eL } },
  12920. /* 31 << 35 */
  12921. { { 0x6cde738dc6c01120L,0x71db0813ae70e0dbL,0x95fc064474afe18cL,
  12922. 0x34619053129e2be7L },
  12923. { 0x80615ceadb2a3b15L,0x0a49a19edb4c7073L,0x0e1b84c88fd2d367L,
  12924. 0xd74bf462033fb8aaL } },
  12925. /* 32 << 35 */
  12926. { { 0x889f6d65533ef217L,0x7158c7e4c3ca2e87L,0xfb670dfbdc2b4167L,
  12927. 0x75910a01844c257fL },
  12928. { 0xf336bf07cf88577dL,0x22245250e45e2aceL,0x2ed92e8d7ca23d85L,
  12929. 0x29f8be4c2b812f58L } },
  12930. /* 33 << 35 */
  12931. { { 0xdd9ebaa7076fe12bL,0x3f2400cbae1537f9L,0x1aa9352817bdfb46L,
  12932. 0xc0f9843067883b41L },
  12933. { 0x5590ede10170911dL,0x7562f5bb34d4b17fL,0xe1fa1df21826b8d2L,
  12934. 0xb40b796a6bd80d59L } },
  12935. /* 34 << 35 */
  12936. { { 0xd65bf1973467ba92L,0x8c9b46dbf70954b0L,0x97c8a0f30e78f15dL,
  12937. 0xa8f3a69a85a4c961L },
  12938. { 0x4242660f61e4ce9bL,0xbf06aab36ea6790cL,0xc6706f8eec986416L,
  12939. 0x9e56dec19a9fc225L } },
  12940. /* 35 << 35 */
  12941. { { 0x527c46f49a9898d9L,0xd799e77b5633cdefL,0x24eacc167d9e4297L,
  12942. 0xabb61cea6b1cb734L },
  12943. { 0xbee2e8a7f778443cL,0x3bb42bf129de2fe6L,0xcbed86a13003bb6fL,
  12944. 0xd3918e6cd781cdf6L } },
  12945. /* 36 << 35 */
  12946. { { 0x4bee32719a5103f1L,0x5243efc6f50eac06L,0xb8e122cb6adcc119L,
  12947. 0x1b7faa84c0b80a08L },
  12948. { 0x32c3d1bd6dfcd08cL,0x129dec4e0be427deL,0x98ab679c1d263c83L,
  12949. 0xafc83cb7cef64effL } },
  12950. /* 37 << 35 */
  12951. { { 0x85eb60882fa6be76L,0x892585fb1328cbfeL,0xc154d3edcf618ddaL,
  12952. 0xc44f601b3abaf26eL },
  12953. { 0x7bf57d0b2be1fdfdL,0xa833bd2d21137feeL,0x9353af362db591a8L,
  12954. 0xc76f26dc5562a056L } },
  12955. /* 38 << 35 */
  12956. { { 0x1d87e47d3fdf5a51L,0x7afb5f9355c9cab0L,0x91bbf58f89e0586eL,
  12957. 0x7c72c0180d843709L },
  12958. { 0xa9a5aafb99b5c3dcL,0xa48a0f1d3844aeb0L,0x7178b7ddb667e482L,
  12959. 0x453985e96e23a59aL } },
  12960. /* 39 << 35 */
  12961. { { 0x4a54c86001b25dd8L,0x0dd37f48fb897c8aL,0x5f8aa6100ea90cd9L,
  12962. 0xc8892c6816d5830dL },
  12963. { 0xeb4befc0ef514ca5L,0x478eb679e72c9ee6L,0x9bca20dadbc40d5fL,
  12964. 0xf015de21dde4f64aL } },
  12965. /* 40 << 35 */
  12966. { { 0xaa6a4de0eaf4b8a5L,0x68cfd9ca4bc60e32L,0x668a4b017fd15e70L,
  12967. 0xd9f0694af27dc09dL },
  12968. { 0xf6c3cad5ba708bcdL,0x5cd2ba695bb95c2aL,0xaa28c1d333c0a58fL,
  12969. 0x23e274e3abc77870L } },
  12970. /* 41 << 35 */
  12971. { { 0x44c3692ddfd20a4aL,0x091c5fd381a66653L,0x6c0bb69109a0757dL,
  12972. 0x9072e8b9667343eaL },
  12973. { 0x31d40eb080848becL,0x95bd480a79fd36ccL,0x01a77c6165ed43f5L,
  12974. 0xafccd1272e0d40bfL } },
  12975. /* 42 << 35 */
  12976. { { 0xeccfc82d1cc1884bL,0xc85ac2015d4753b4L,0xc7a6caac658e099fL,
  12977. 0xcf46369e04b27390L },
  12978. { 0xe2e7d049506467eaL,0x481b63a237cdecccL,0x4029abd8ed80143aL,
  12979. 0x28bfe3c7bcb00b88L } },
  12980. /* 43 << 35 */
  12981. { { 0x3bec10090643d84aL,0x885f3668abd11041L,0xdb02432cf83a34d6L,
  12982. 0x32f7b360719ceebeL },
  12983. { 0xf06c7837dad1fe7aL,0x60a157a95441a0b0L,0x704970e9e2d47550L,
  12984. 0xcd2bd553271b9020L } },
  12985. /* 44 << 35 */
  12986. { { 0xff57f82f33e24a0bL,0x9cbee23ff2565079L,0x16353427eb5f5825L,
  12987. 0x276feec4e948d662L },
  12988. { 0xd1b62bc6da10032bL,0x718351ddf0e72a53L,0x934520762420e7baL,
  12989. 0x96368fff3a00118dL } },
  12990. /* 45 << 35 */
  12991. { { 0x00ce2d26150a49e4L,0x0c28b6363f04706bL,0xbad65a4658b196d0L,
  12992. 0x6c8455fcec9f8b7cL },
  12993. { 0xe90c895f2d71867eL,0x5c0be31bedf9f38cL,0x2a37a15ed8f6ec04L,
  12994. 0x239639e78cd85251L } },
  12995. /* 46 << 35 */
  12996. { { 0xd89753159c7c4c6bL,0x603aa3c0d7409af7L,0xb8d53d0c007132fbL,
  12997. 0x68d12af7a6849238L },
  12998. { 0xbe0607e7bf5d9279L,0x9aa50055aada74ceL,0xe81079cbba7e8ccbL,
  12999. 0x610c71d1a5f4ff5eL } },
  13000. /* 47 << 35 */
  13001. { { 0x9e2ee1a75aa07093L,0xca84004ba75da47cL,0x074d39513de75401L,
  13002. 0xf938f756bb311592L },
  13003. { 0x9619761800a43421L,0x39a2536207bc78c8L,0x278f710a0a171276L,
  13004. 0xb28446ea8d1a8f08L } },
  13005. /* 48 << 35 */
  13006. { { 0x184781bfe3b6a661L,0x7751cb1de6d279f7L,0xf8ff95d6c59eb662L,
  13007. 0x186d90b758d3dea7L },
  13008. { 0x0e4bb6c1dfb4f754L,0x5c5cf56b2b2801dcL,0xc561e4521f54564dL,
  13009. 0xb4fb8c60f0dd7f13L } },
  13010. /* 49 << 35 */
  13011. { { 0xf884963033ff98c7L,0x9619fffacf17769cL,0xf8090bf61bfdd80aL,
  13012. 0x14d9a149422cfe63L },
  13013. { 0xb354c3606f6df9eaL,0xdbcf770d218f17eaL,0x207db7c879eb3480L,
  13014. 0x213dbda8559b6a26L } },
  13015. /* 50 << 35 */
  13016. { { 0xac4c200b29fc81b3L,0xebc3e09f171d87c1L,0x917995301481aa9eL,
  13017. 0x051b92e192e114faL },
  13018. { 0xdf8f92e9ecb5537fL,0x44b1b2cc290c7483L,0xa711455a2adeb016L,
  13019. 0x964b685681a10c2cL } },
  13020. /* 51 << 35 */
  13021. { { 0x4f159d99cec03623L,0x05532225ef3271eaL,0xb231bea3c5ee4849L,
  13022. 0x57a54f507094f103L },
  13023. { 0x3e2d421d9598b352L,0xe865a49c67412ab4L,0xd2998a251cc3a912L,
  13024. 0x5d0928080c74d65dL } },
  13025. /* 52 << 35 */
  13026. { { 0x73f459084088567aL,0xeb6b280e1f214a61L,0x8c9adc34caf0c13dL,
  13027. 0x39d12938f561fb80L },
  13028. { 0xb2dc3a5ebc6edfb4L,0x7485b1b1fe4d210eL,0x062e0400e186ae72L,
  13029. 0x91e32d5c6eeb3b88L } },
  13030. /* 53 << 35 */
  13031. { { 0x6df574d74be59224L,0xebc88ccc716d55f3L,0x26c2e6d0cad6ed33L,
  13032. 0xc6e21e7d0d3e8b10L },
  13033. { 0x2cc5840e5bcc36bbL,0x9292445e7da74f69L,0x8be8d3214e5193a8L,
  13034. 0x3ec236298df06413L } },
  13035. /* 54 << 35 */
  13036. { { 0xc7e9ae85b134defaL,0x6073b1d01bb2d475L,0xb9ad615e2863c00dL,
  13037. 0x9e29493d525f4ac4L },
  13038. { 0xc32b1dea4e9acf4fL,0x3e1f01c8a50db88dL,0xb05d70ea04da916cL,
  13039. 0x714b0d0ad865803eL } },
  13040. /* 55 << 35 */
  13041. { { 0x4bd493fc9920cb5eL,0x5b44b1f792c7a3acL,0xa2a77293bcec9235L,
  13042. 0x5ee06e87cd378553L },
  13043. { 0xceff8173da621607L,0x2bb03e4c99f5d290L,0x2945106aa6f734acL,
  13044. 0xb5056604d25c4732L } },
  13045. /* 56 << 35 */
  13046. { { 0x5945920ce079afeeL,0x686e17a06789831fL,0x5966bee8b74a5ae5L,
  13047. 0x38a673a21e258d46L },
  13048. { 0xbd1cc1f283141c95L,0x3b2ecf4f0e96e486L,0xcd3aa89674e5fc78L,
  13049. 0x415ec10c2482fa7aL } },
  13050. /* 57 << 35 */
  13051. { { 0x1523441980503380L,0x513d917ad314b392L,0xb0b52f4e63caecaeL,
  13052. 0x07bf22ad2dc7780bL },
  13053. { 0xe761e8a1e4306839L,0x1b3be9625dd7feaaL,0x4fe728de74c778f1L,
  13054. 0xf1fa0bda5e0070f6L } },
  13055. /* 58 << 35 */
  13056. { { 0x85205a316ec3f510L,0x2c7e4a14d2980475L,0xde3c19c06f30ebfdL,
  13057. 0xdb1c1f38d4b7e644L },
  13058. { 0xfe291a755dce364aL,0xb7b22a3c058f5be3L,0x2cd2c30237fea38cL,
  13059. 0x2930967a2e17be17L } },
  13060. /* 59 << 35 */
  13061. { { 0x87f009de0c061c65L,0xcb014aacedc6ed44L,0x49bd1cb43bafb1ebL,
  13062. 0x81bd8b5c282d3688L },
  13063. { 0x1cdab87ef01a17afL,0x21f37ac4e710063bL,0x5a6c567642fc8193L,
  13064. 0xf4753e7056a6015cL } },
  13065. /* 60 << 35 */
  13066. { { 0x020f795ea15b0a44L,0x8f37c8d78958a958L,0x63b7e89ba4b675b5L,
  13067. 0xb4fb0c0c0fc31aeaL },
  13068. { 0xed95e639a7ff1f2eL,0x9880f5a3619614fbL,0xdeb6ff02947151abL,
  13069. 0x5bc5118ca868dcdbL } },
  13070. /* 61 << 35 */
  13071. { { 0xd8da20554c20cea5L,0xcac2776e14c4d69aL,0xcccb22c1622d599bL,
  13072. 0xa4ddb65368a9bb50L },
  13073. { 0x2c4ff1511b4941b4L,0xe1ff19b46efba588L,0x35034363c48345e0L,
  13074. 0x45542e3d1e29dfc4L } },
  13075. /* 62 << 35 */
  13076. { { 0xf197cb91349f7aedL,0x3b2b5a008fca8420L,0x7c175ee823aaf6d8L,
  13077. 0x54dcf42135af32b6L },
  13078. { 0x0ba1430727d6561eL,0x879d5ee4d175b1e2L,0xc7c4367399807db5L,
  13079. 0x77a544559cd55bcdL } },
  13080. /* 63 << 35 */
  13081. { { 0xe6c2ff130105c072L,0x18f7a99f8dda7da4L,0x4c3018200e2d35c1L,
  13082. 0x06a53ca0d9cc6c82L },
  13083. { 0xaa21cc1ef1aa1d9eL,0x324143344a75b1e8L,0x2a6d13280ebe9fdcL,
  13084. 0x16bd173f98a4755aL } },
  13085. /* 64 << 35 */
  13086. { { 0xfbb9b2452133ffd9L,0x39a8b2f1830f1a20L,0x484bc97dd5a1f52aL,
  13087. 0xd6aebf56a40eddf8L },
  13088. { 0x32257acb76ccdac6L,0xaf4d36ec1586ff27L,0x8eaa8863f8de7dd1L,
  13089. 0x0045d5cf88647c16L } },
  13090. /* 0 << 42 */
  13091. { { 0x00, 0x00, 0x00, 0x00 },
  13092. { 0x00, 0x00, 0x00, 0x00 } },
  13093. /* 1 << 42 */
  13094. { { 0xa6f3d574c005979dL,0xc2072b426a40e350L,0xfca5c1568de2ecf9L,
  13095. 0xa8c8bf5ba515344eL },
  13096. { 0x97aee555114df14aL,0xd4374a4dfdc5ec6bL,0x754cc28f2ca85418L,
  13097. 0x71cb9e27d3c41f78L } },
  13098. /* 2 << 42 */
  13099. { { 0x8910507903605c39L,0xf0843d9ea142c96cL,0xf374493416923684L,
  13100. 0x732caa2ffa0a2893L },
  13101. { 0xb2e8c27061160170L,0xc32788cc437fbaa3L,0x39cd818ea6eda3acL,
  13102. 0xe2e942399e2b2e07L } },
  13103. /* 3 << 42 */
  13104. { { 0x6967d39b0260e52aL,0xd42585cc90653325L,0x0d9bd60521ca7954L,
  13105. 0x4fa2087781ed57b3L },
  13106. { 0x60c1eff8e34a0bbeL,0x56b0040c84f6ef64L,0x28be2b24b1af8483L,
  13107. 0xb2278163f5531614L } },
  13108. /* 4 << 42 */
  13109. { { 0x8df275455922ac1cL,0xa7b3ef5ca52b3f63L,0x8e77b21471de57c4L,
  13110. 0x31682c10834c008bL },
  13111. { 0xc76824f04bd55d31L,0xb6d1c08617b61c71L,0x31db0903c2a5089dL,
  13112. 0x9c092172184e5d3fL } },
  13113. /* 5 << 42 */
  13114. { { 0xdd7ced5bc00cc638L,0x1a2015eb61278fc2L,0x2e8e52886a37f8d6L,
  13115. 0xc457786fe79933adL },
  13116. { 0xb3fe4cce2c51211aL,0xad9b10b224c20498L,0x90d87a4fd28db5e5L,
  13117. 0x698cd1053aca2fc3L } },
  13118. /* 6 << 42 */
  13119. { { 0x4f112d07e91b536dL,0xceb982f29eba09d6L,0x3c157b2c197c396fL,
  13120. 0xe23c2d417b66eb24L },
  13121. { 0x480c57d93f330d37L,0xb3a4c8a179108debL,0x702388decb199ce5L,
  13122. 0x0b019211b944a8d4L } },
  13123. /* 7 << 42 */
  13124. { { 0x24f2a692840bb336L,0x7c353bdca669fa7bL,0xda20d6fcdec9c300L,
  13125. 0x625fbe2fa13a4f17L },
  13126. { 0xa2b1b61adbc17328L,0x008965bfa9515621L,0x49690939c620ff46L,
  13127. 0x182dd27d8717e91cL } },
  13128. /* 8 << 42 */
  13129. { { 0x5ace5035ea6c3997L,0x54259aaac2610befL,0xef18bb3f3c80dd39L,
  13130. 0x6910b95b5fc3fa39L },
  13131. { 0xfce2f51043e09aeeL,0xced56c9fa7675665L,0x10e265acd872db61L,
  13132. 0x6982812eae9fce69L } },
  13133. /* 9 << 42 */
  13134. { { 0x29be11c6ce800998L,0x72bb1752b90360d9L,0x2c1931975a4ad590L,
  13135. 0x2ba2f5489fc1dbc0L },
  13136. { 0x7fe4eebbe490ebe0L,0x12a0a4cd7fae11c0L,0x7197cf81e903ba37L,
  13137. 0xcf7d4aa8de1c6dd8L } },
  13138. /* 10 << 42 */
  13139. { { 0x92af6bf43fd5684cL,0x2b26eecf80360aa1L,0xbd960f3000546a82L,
  13140. 0x407b3c43f59ad8feL },
  13141. { 0x86cae5fe249c82baL,0x9e0faec72463744cL,0x87f551e894916272L,
  13142. 0x033f93446ceb0615L } },
  13143. /* 11 << 42 */
  13144. { { 0x1e5eb0d18be82e84L,0x89967f0e7a582fefL,0xbcf687d5a6e921faL,
  13145. 0xdfee4cf3d37a09baL },
  13146. { 0x94f06965b493c465L,0x638b9a1c7635c030L,0x7666786466f05e9fL,
  13147. 0xccaf6808c04da725L } },
  13148. /* 12 << 42 */
  13149. { { 0xca2eb690768fccfcL,0xf402d37db835b362L,0x0efac0d0e2fdfcceL,
  13150. 0xefc9cdefb638d990L },
  13151. { 0x2af12b72d1669a8bL,0x33c536bc5774ccbdL,0x30b21909fb34870eL,
  13152. 0xc38fa2f77df25acaL } },
  13153. /* 13 << 42 */
  13154. { { 0x74c5f02bbf81f3f5L,0x0525a5aeaf7e4581L,0x88d2aaba433c54aeL,
  13155. 0xed9775db806a56c5L },
  13156. { 0xd320738ac0edb37dL,0x25fdb6ee66cc1f51L,0xac661d1710600d76L,
  13157. 0x931ec1f3bdd1ed76L } },
  13158. /* 14 << 42 */
  13159. { { 0x65c11d6219ee43f1L,0x5cd57c3e60829d97L,0xd26c91a3984be6e8L,
  13160. 0xf08d93098b0c53bdL },
  13161. { 0x94bc9e5bc016e4eaL,0xd391683911d43d2bL,0x886c5ad773701155L,
  13162. 0xe037762620b00715L } },
  13163. /* 15 << 42 */
  13164. { { 0x7f01c9ecaa80ba59L,0x3083411a68538e51L,0x970370f1e88128afL,
  13165. 0x625cc3db91dec14bL },
  13166. { 0xfef9666c01ac3107L,0xb2a8d577d5057ac3L,0xb0f2629992be5df7L,
  13167. 0xf579c8e500353924L } },
  13168. /* 16 << 42 */
  13169. { { 0xb8fa3d931341ed7aL,0x4223272ca7b59d49L,0x3dcb194783b8c4a4L,
  13170. 0x4e413c01ed1302e4L },
  13171. { 0x6d999127e17e44ceL,0xee86bf7533b3adfbL,0xf6902fe625aa96caL,
  13172. 0xb73540e4e5aae47dL } },
  13173. /* 17 << 42 */
  13174. { { 0x32801d7b1b4a158cL,0xe571c99e27e2a369L,0x40cb76c010d9f197L,
  13175. 0xc308c2893167c0aeL },
  13176. { 0xa6ef9dd3eb7958f2L,0xa7226dfc300879b1L,0x6cd0b3627edf0636L,
  13177. 0x4efbce6c7bc37eedL } },
  13178. /* 18 << 42 */
  13179. { { 0x75f92a058d699021L,0x586d4c79772566e3L,0x378ca5f1761ad23aL,
  13180. 0x650d86fc1465a8acL },
  13181. { 0x7a4ed457842ba251L,0x6b65e3e642234933L,0xaf1543b731aad657L,
  13182. 0xa4cefe98cbfec369L } },
  13183. /* 19 << 42 */
  13184. { { 0xb587da909f47befbL,0x6562e9fb41312d13L,0xa691ea59eff1cefeL,
  13185. 0xcc30477a05fc4cf6L },
  13186. { 0xa16324610b0ffd3dL,0xa1f16f3b5b355956L,0x5b148d534224ec24L,
  13187. 0xdc834e7bf977012aL } },
  13188. /* 20 << 42 */
  13189. { { 0x7bfc5e75b2c69dbcL,0x3aa77a2903c3da6cL,0xde0df03cca910271L,
  13190. 0xcbd5ca4a7806dc55L },
  13191. { 0xe1ca58076db476cbL,0xfde15d625f37a31eL,0xf49af520f41af416L,
  13192. 0x96c5c5b17d342db5L } },
  13193. /* 21 << 42 */
  13194. { { 0x155c43b7eb4ceb9bL,0x2e9930104e77371aL,0x1d2987da675d43afL,
  13195. 0xef2bc1c08599fd72L },
  13196. { 0x96894b7b9342f6b2L,0x201eadf27c8e71f0L,0xf3479d9f4a1f3efcL,
  13197. 0xe0f8a742702a9704L } },
  13198. /* 22 << 42 */
  13199. { { 0xeafd44b6b3eba40cL,0xf9739f29c1c1e0d0L,0x0091471a619d505eL,
  13200. 0xc15f9c969d7c263eL },
  13201. { 0x5be4728583afbe33L,0xa3b6d6af04f1e092L,0xe76526b9751a9d11L,
  13202. 0x2ec5b26d9a4ae4d2L } },
  13203. /* 23 << 42 */
  13204. { { 0xeb66f4d902f6fb8dL,0x4063c56196912164L,0xeb7050c180ef3000L,
  13205. 0x288d1c33eaa5b3f0L },
  13206. { 0xe87c68d607806fd8L,0xb2f7f9d54bbbf50fL,0x25972f3aac8d6627L,
  13207. 0xf854777410e8c13bL } },
  13208. /* 24 << 42 */
  13209. { { 0xcc50ef6c872b4a60L,0xab2a34a44613521bL,0x39c5c190983e15d1L,
  13210. 0x61dde5df59905512L },
  13211. { 0xe417f6219f2275f3L,0x0750c8b6451d894bL,0x75b04ab978b0bdaaL,
  13212. 0x3bfd9fd4458589bdL } },
  13213. /* 25 << 42 */
  13214. { { 0xf1013e30ee9120b6L,0x2b51af9323a4743eL,0xea96ffae48d14d9eL,
  13215. 0x71dc0dbe698a1d32L },
  13216. { 0x914962d20180cca4L,0x1ae60677c3568963L,0x8cf227b1437bc444L,
  13217. 0xc650c83bc9962c7aL } },
  13218. /* 26 << 42 */
  13219. { { 0x23c2c7ddfe7ccfc4L,0xf925c89d1b929d48L,0x4460f74b06783c33L,
  13220. 0xac2c8d49a590475aL },
  13221. { 0xfb40b407b807bba0L,0x9d1e362d69ff8f3aL,0xa33e9681cbef64a4L,
  13222. 0x67ece5fa332fb4b2L } },
  13223. /* 27 << 42 */
  13224. { { 0x6900a99b739f10e3L,0xc3341ca9ff525925L,0xee18a626a9e2d041L,
  13225. 0xa5a8368529580dddL },
  13226. { 0xf3470c819d7de3cdL,0xedf025862062cf9cL,0xf43522fac010edb0L,
  13227. 0x3031413513a4b1aeL } },
  13228. /* 28 << 42 */
  13229. { { 0xc792e02adb22b94bL,0x993d8ae9a1eaa45bL,0x8aad6cd3cd1e1c63L,
  13230. 0x89529ca7c5ce688aL },
  13231. { 0x2ccee3aae572a253L,0xe02b643802a21efbL,0xa7091b6ec9430358L,
  13232. 0x06d1b1fa9d7db504L } },
  13233. /* 29 << 42 */
  13234. { { 0x58846d32c4744733L,0x40517c71379f9e34L,0x2f65655f130ef6caL,
  13235. 0x526e4488f1f3503fL },
  13236. { 0x8467bd177ee4a976L,0x1d9dc913921363d1L,0xd8d24c33b069e041L,
  13237. 0x5eb5da0a2cdf7f51L } },
  13238. /* 30 << 42 */
  13239. { { 0x1c0f3cb1197b994fL,0x3c95a6c52843eae9L,0x7766ffc9a6097ea5L,
  13240. 0x7bea4093d723b867L },
  13241. { 0xb48e1f734db378f9L,0x70025b00e37b77acL,0x943dc8e7af24ad46L,
  13242. 0xb98a15ac16d00a85L } },
  13243. /* 31 << 42 */
  13244. { { 0x3adc38ba2743b004L,0xb1c7f4f7334415eeL,0xea43df8f1e62d05aL,
  13245. 0x326189059d76a3b6L },
  13246. { 0x2fbd0bb5a23a0f46L,0x5bc971db6a01918cL,0x7801d94ab4743f94L,
  13247. 0xb94df65e676ae22bL } },
  13248. /* 32 << 42 */
  13249. { { 0xaafcbfabaf95894cL,0x7b9bdc07276b2241L,0xeaf983625bdda48bL,
  13250. 0x5977faf2a3fcb4dfL },
  13251. { 0xbed042ef052c4b5bL,0x9fe87f71067591f0L,0xc89c73ca22f24ec7L,
  13252. 0x7d37fa9ee64a9f1bL } },
  13253. /* 33 << 42 */
  13254. { { 0x2710841a15562627L,0x2c01a613c243b034L,0x1d135c562bc68609L,
  13255. 0xc2ca17158b03f1f6L },
  13256. { 0xc9966c2d3eb81d82L,0xc02abf4a8f6df13eL,0x77b34bd78f72b43bL,
  13257. 0xaff6218f360c82b0L } },
  13258. /* 34 << 42 */
  13259. { { 0x0aa5726c8d55b9d2L,0xdc0adbe999e9bffbL,0x9097549cefb9e72aL,
  13260. 0x167557129dfb3111L },
  13261. { 0xdd8bf984f26847f9L,0xbcb8e387dfb30cb7L,0xc1fd32a75171ef9cL,
  13262. 0x977f3fc7389b363fL } },
  13263. /* 35 << 42 */
  13264. { { 0x116eaf2bf4babda0L,0xfeab68bdf7113c8eL,0xd1e3f064b7def526L,
  13265. 0x1ac30885e0b3fa02L },
  13266. { 0x1c5a6e7b40142d9dL,0x839b560330921c0bL,0x48f301fa36a116a3L,
  13267. 0x380e1107cfd9ee6dL } },
  13268. /* 36 << 42 */
  13269. { { 0x7945ead858854be1L,0x4111c12ecbd4d49dL,0xece3b1ec3a29c2efL,
  13270. 0x6356d4048d3616f5L },
  13271. { 0x9f0d6a8f594d320eL,0x0989316df651ccd2L,0x6c32117a0f8fdde4L,
  13272. 0x9abe5cc5a26a9bbcL } },
  13273. /* 37 << 42 */
  13274. { { 0xcff560fb9723f671L,0x21b2a12d7f3d593cL,0xe4cb18da24ba0696L,
  13275. 0x186e2220c3543384L },
  13276. { 0x722f64e088312c29L,0x94282a9917dc7752L,0x62467bbf5a85ee89L,
  13277. 0xf435c650f10076a0L } },
  13278. /* 38 << 42 */
  13279. { { 0xc9ff153943b3a50bL,0x7132130c1a53efbcL,0x31bfe063f7b0c5b7L,
  13280. 0xb0179a7d4ea994ccL },
  13281. { 0x12d064b3c85f455bL,0x472593288f6e0062L,0xf64e590bb875d6d9L,
  13282. 0x22dd6225ad92bcc7L } },
  13283. /* 39 << 42 */
  13284. { { 0xb658038eb9c3bd6dL,0x00cdb0d6fbba27c8L,0x0c6813371062c45dL,
  13285. 0xd8515b8c2d33407dL },
  13286. { 0xcb8f699e8cbb5ecfL,0x8c4347f8c608d7d8L,0x2c11850abb3e00dbL,
  13287. 0x20a8dafdecb49d19L } },
  13288. /* 40 << 42 */
  13289. { { 0xbd78148045ee2f40L,0x75e354af416b60cfL,0xde0b58a18d49a8c4L,
  13290. 0xe40e94e2fa359536L },
  13291. { 0xbd4fa59f62accd76L,0x05cf466a8c762837L,0xb5abda99448c277bL,
  13292. 0x5a9e01bf48b13740L } },
  13293. /* 41 << 42 */
  13294. { { 0x9d457798326aad8dL,0xbdef4954c396f7e7L,0x6fb274a2c253e292L,
  13295. 0x2800bf0a1cfe53e7L },
  13296. { 0x22426d3144438fd4L,0xef2339235e259f9aL,0x4188503c03f66264L,
  13297. 0x9e5e7f137f9fdfabL } },
  13298. /* 42 << 42 */
  13299. { { 0x565eb76c5fcc1abaL,0xea63254859b5bff8L,0x5587c087aab6d3faL,
  13300. 0x92b639ea6ce39c1bL },
  13301. { 0x0706e782953b135cL,0x7308912e425268efL,0x599e92c7090e7469L,
  13302. 0x83b90f529bc35e75L } },
  13303. /* 43 << 42 */
  13304. { { 0x4750b3d0244975b3L,0xf3a4435811965d72L,0x179c67749c8dc751L,
  13305. 0xff18cdfed23d9ff0L },
  13306. { 0xc40138332028e247L,0x96e280e2f3bfbc79L,0xf60417bdd0880a84L,
  13307. 0x263c9f3d2a568151L } },
  13308. /* 44 << 42 */
  13309. { { 0x36be15b32d2ce811L,0x846dc0c2f8291d21L,0x5cfa0ecb789fcfdbL,
  13310. 0x45a0beedd7535b9aL },
  13311. { 0xec8e9f0796d69af1L,0x31a7c5b8599ab6dcL,0xd36d45eff9e2e09fL,
  13312. 0x3cf49ef1dcee954bL } },
  13313. /* 45 << 42 */
  13314. { { 0x6be34cf3086cff9bL,0x88dbd49139a3360fL,0x1e96b8cc0dbfbd1dL,
  13315. 0xc1e5f7bfcb7e2552L },
  13316. { 0x0547b21428819d98L,0xc770dd9c7aea9dcbL,0xaef0d4c7041d68c8L,
  13317. 0xcc2b981813cb9ba8L } },
  13318. /* 46 << 42 */
  13319. { { 0x7fc7bc76fe86c607L,0x6b7b9337502a9a95L,0x1948dc27d14dab63L,
  13320. 0x249dd198dae047beL },
  13321. { 0xe8356584a981a202L,0x3531dd183a893387L,0x1be11f90c85c7209L,
  13322. 0x93d2fe1ee2a52b5aL } },
  13323. /* 47 << 42 */
  13324. { { 0x8225bfe2ec6d6b97L,0x9cf6d6f4bd0aa5deL,0x911459cb54779f5fL,
  13325. 0x5649cddb86aeb1f3L },
  13326. { 0x321335793f26ce5aL,0xc289a102550f431eL,0x559dcfda73b84c6fL,
  13327. 0x84973819ee3ac4d7L } },
  13328. /* 48 << 42 */
  13329. { { 0xb51e55e6f2606a82L,0xe25f706190f2fb57L,0xacef6c2ab1a4e37cL,
  13330. 0x864e359d5dcf2706L },
  13331. { 0x479e6b187ce57316L,0x2cab25003a96b23dL,0xed4898628ef16df7L,
  13332. 0x2056538cef3758b5L } },
  13333. /* 49 << 42 */
  13334. { { 0xa7df865ef15d3101L,0x80c5533a61b553d7L,0x366e19974ed14294L,
  13335. 0x6620741fb3c0bcd6L },
  13336. { 0x21d1d9c4edc45418L,0x005b859ec1cc4a9dL,0xdf01f630a1c462f0L,
  13337. 0x15d06cf3f26820c7L } },
  13338. /* 50 << 42 */
  13339. { { 0x9f7f24ee3484be47L,0x2ff33e964a0c902fL,0x00bdf4575a0bc453L,
  13340. 0x2378dfaf1aa238dbL },
  13341. { 0x272420ec856720f2L,0x2ad9d95b96797291L,0xd1242cc6768a1558L,
  13342. 0x2e287f8b5cc86aa8L } },
  13343. /* 51 << 42 */
  13344. { { 0x796873d0990cecaaL,0xade55f81675d4080L,0x2645eea321f0cd84L,
  13345. 0x7a1efa0fb4e17d02L },
  13346. { 0xf6858420037cc061L,0x682e05f0d5d43e12L,0x59c3699427218710L,
  13347. 0x85cbba4d3f7cd2fcL } },
  13348. /* 52 << 42 */
  13349. { { 0x726f97297a3cd22aL,0x9f8cd5dc4a628397L,0x17b93ab9c23165edL,
  13350. 0xff5f5dbf122823d4L },
  13351. { 0xc1e4e4b5654a446dL,0xd1a9496f677257baL,0x6387ba94de766a56L,
  13352. 0x23608bc8521ec74aL } },
  13353. /* 53 << 42 */
  13354. { { 0x16a522d76688c4d4L,0x9d6b428207373abdL,0xa62f07acb42efaa3L,
  13355. 0xf73e00f7e3b90180L },
  13356. { 0x36175fec49421c3eL,0xc4e44f9b3dcf2678L,0x76df436b7220f09fL,
  13357. 0x172755fb3aa8b6cfL } },
  13358. /* 54 << 42 */
  13359. { { 0xbab89d57446139ccL,0x0a0a6e025fe0208fL,0xcdbb63e211e5d399L,
  13360. 0x33ecaa12a8977f0bL },
  13361. { 0x59598b21f7c42664L,0xb3e91b32ab65d08aL,0x035822eef4502526L,
  13362. 0x1dcf0176720a82a9L } },
  13363. /* 55 << 42 */
  13364. { { 0x50f8598f3d589e02L,0xdf0478ffb1d63d2cL,0x8b8068bd1571cd07L,
  13365. 0x30c3aa4fd79670cdL },
  13366. { 0x25e8fd4b941ade7fL,0x3d1debdc32790011L,0x65b6dcbd3a3f9ff0L,
  13367. 0x282736a4793de69cL } },
  13368. /* 56 << 42 */
  13369. { { 0xef69a0c3d41d3bd3L,0xb533b8c907a26bdeL,0xe2801d97db2edf9fL,
  13370. 0xdc4a8269e1877af0L },
  13371. { 0x6c1c58513d590dbeL,0x84632f6bee4e9357L,0xd36d36b779b33374L,
  13372. 0xb46833e39bbca2e6L } },
  13373. /* 57 << 42 */
  13374. { { 0x37893913f7fc0586L,0x385315f766bf4719L,0x72c56293b31855dcL,
  13375. 0xd1416d4e849061feL },
  13376. { 0xbeb3ab7851047213L,0x447f6e61f040c996L,0xd06d310d638b1d0cL,
  13377. 0xe28a413fbad1522eL } },
  13378. /* 58 << 42 */
  13379. { { 0x685a76cb82003f86L,0x610d07f70bcdbca3L,0x6ff660219ca4c455L,
  13380. 0x7df39b87cea10eecL },
  13381. { 0xb9255f96e22db218L,0x8cc6d9eb08a34c44L,0xcd4ffb86859f9276L,
  13382. 0x8fa15eb250d07335L } },
  13383. /* 59 << 42 */
  13384. { { 0xdf553845cf2c24b5L,0x89f66a9f52f9c3baL,0x8f22b5b9e4a7ceb3L,
  13385. 0xaffef8090e134686L },
  13386. { 0x3e53e1c68eb8fac2L,0x93c1e4eb28aec98eL,0xb6b91ec532a43bcbL,
  13387. 0x2dbfa947b2d74a51L } },
  13388. /* 60 << 42 */
  13389. { { 0xe065d190ca84bad7L,0xfb13919fad58e65cL,0x3c41718bf1cb6e31L,
  13390. 0x688969f006d05c3fL },
  13391. { 0xd4f94ce721264d45L,0xfdfb65e97367532bL,0x5b1be8b10945a39dL,
  13392. 0x229f789c2b8baf3bL } },
  13393. /* 61 << 42 */
  13394. { { 0xd8f41f3e6f49f15dL,0x678ce828907f0792L,0xc69ace82fca6e867L,
  13395. 0x106451aed01dcc89L },
  13396. { 0x1bb4f7f019fc32d2L,0x64633dfcb00c52d2L,0x8f13549aad9ea445L,
  13397. 0x99a3bf50fb323705L } },
  13398. /* 62 << 42 */
  13399. { { 0x0c9625a2534d4dbcL,0x45b8f1d1c2a2fea3L,0x76ec21a1a530fc1aL,
  13400. 0x4bac9c2a9e5bd734L },
  13401. { 0x5996d76a7b4e3587L,0x0045cdee1182d9e3L,0x1aee24b91207f13dL,
  13402. 0x66452e9797345a41L } },
  13403. /* 63 << 42 */
  13404. { { 0x16e5b0549f950cd0L,0x9cc72fb1d7fdd075L,0x6edd61e766249663L,
  13405. 0xde4caa4df043cccbL },
  13406. { 0x11b1f57a55c7ac17L,0x779cbd441a85e24dL,0x78030f86e46081e7L,
  13407. 0xfd4a60328e20f643L } },
  13408. /* 64 << 42 */
  13409. { { 0xcc7a64880a750c0fL,0x39bacfe34e548e83L,0x3d418c760c110f05L,
  13410. 0x3e4daa4cb1f11588L },
  13411. { 0x2733e7b55ffc69ffL,0x46f147bc92053127L,0x885b2434d722df94L,
  13412. 0x6a444f65e6fc6b7cL } },
  13413. /* 0 << 49 */
  13414. { { 0x00, 0x00, 0x00, 0x00 },
  13415. { 0x00, 0x00, 0x00, 0x00 } },
  13416. /* 1 << 49 */
  13417. { { 0x7a1a465ac3f16ea8L,0x115a461db2f1d11cL,0x4767dd956c68a172L,
  13418. 0x3392f2ebd13a4698L },
  13419. { 0xc7a99ccde526cdc7L,0x8e537fdc22292b81L,0x76d8cf69a6d39198L,
  13420. 0xffc5ff432446852dL } },
  13421. /* 2 << 49 */
  13422. { { 0x97b14f7ea90567e6L,0x513257b7b6ae5cb7L,0x85454a3c9f10903dL,
  13423. 0xd8d2c9ad69bc3724L },
  13424. { 0x38da93246b29cb44L,0xb540a21d77c8cbacL,0x9bbfe43501918e42L,
  13425. 0xfffa707a56c3614eL } },
  13426. /* 3 << 49 */
  13427. { { 0x0ce4e3f1d4e353b7L,0x062d8a14ef46b0a0L,0x6408d5ab574b73fdL,
  13428. 0xbc41d1c9d3273ffdL },
  13429. { 0x3538e1e76be77800L,0x71fe8b37c5655031L,0x1cd916216b9b331aL,
  13430. 0xad825d0bbb388f73L } },
  13431. /* 4 << 49 */
  13432. { { 0x56c2e05b1cb76219L,0x0ec0bf9171567e7eL,0xe7076f8661c4c910L,
  13433. 0xd67b085bbabc04d9L },
  13434. { 0x9fb904595e93a96aL,0x7526c1eafbdc249aL,0x0d44d367ecdd0bb7L,
  13435. 0x953999179dc0d695L } },
  13436. /* 5 << 49 */
  13437. { { 0x61360ee99e240d18L,0x057cdcacb4b94466L,0xe7667cd12fe5325cL,
  13438. 0x1fa297b521974e3bL },
  13439. { 0xfa4081e7db083d76L,0x31993be6f206bd15L,0x8949269b14c19f8cL,
  13440. 0x21468d72a9d92357L } },
  13441. /* 6 << 49 */
  13442. { { 0x2ccbc583a4c506ecL,0x957ed188d1acfe97L,0x8baed83312f1aea2L,
  13443. 0xef2a6cb48325362dL },
  13444. { 0x130dde428e195c43L,0xc842025a0e6050c6L,0x2da972a708686a5dL,
  13445. 0xb52999a1e508b4a8L } },
  13446. /* 7 << 49 */
  13447. { { 0xd9f090b910a5a8bdL,0xca91d249096864daL,0x8e6a93be3f67dbc1L,
  13448. 0xacae6fbaf5f4764cL },
  13449. { 0x1563c6e0d21411a0L,0x28fa787fda0a4ad8L,0xd524491c908c8030L,
  13450. 0x1257ba0e4c795f07L } },
  13451. /* 8 << 49 */
  13452. { { 0x83f49167ceca9754L,0x426d2cf64b7939a0L,0x2555e355723fd0bfL,
  13453. 0xa96e6d06c4f144e2L },
  13454. { 0x4768a8dd87880e61L,0x15543815e508e4d5L,0x09d7e772b1b65e15L,
  13455. 0x63439dd6ac302fa0L } },
  13456. /* 9 << 49 */
  13457. { { 0xb93f802fc14e35c2L,0x71735b7c4341333cL,0x03a2510416d4f362L,
  13458. 0x3f4d069bbf433c8eL },
  13459. { 0x0d83ae01f78f5a7cL,0x50a8ffbe7c4eed07L,0xc74f890676e10f83L,
  13460. 0x7d0809669ddaf8e1L } },
  13461. /* 10 << 49 */
  13462. { { 0xb11df8e1698e04ccL,0x877be203169005c8L,0x32749e8c4f3c6179L,
  13463. 0x2dbc9d0a7853fc05L },
  13464. { 0x187d4f939454d937L,0xe682ce9db4800e1bL,0xa9129ad8165e68e8L,
  13465. 0x0fe29735be7f785bL } },
  13466. /* 11 << 49 */
  13467. { { 0x5303f40c5b9e02b7L,0xa37c969235ee04e8L,0x5f46cc2034d6632bL,
  13468. 0x55ef72b296ac545bL },
  13469. { 0xabec5c1f7b91b062L,0x0a79e1c7bb33e821L,0xbb04b4283a9f4117L,
  13470. 0x0de1f28ffd2a475aL } },
  13471. /* 12 << 49 */
  13472. { { 0x31019ccf3a4434b4L,0xa34581111a7954dcL,0xa9dac80de34972a7L,
  13473. 0xb043d05474f6b8ddL },
  13474. { 0x021c319e11137b1aL,0x00a754ceed5cc03fL,0x0aa2c794cbea5ad4L,
  13475. 0x093e67f470c015b6L } },
  13476. /* 13 << 49 */
  13477. { { 0x72cdfee9c97e3f6bL,0xc10bcab4b6da7461L,0x3b02d2fcb59806b9L,
  13478. 0x85185e89a1de6f47L },
  13479. { 0x39e6931f0eb6c4d4L,0x4d4440bdd4fa5b04L,0x5418786e34be7eb8L,
  13480. 0x6380e5219d7259bcL } },
  13481. /* 14 << 49 */
  13482. { { 0x20ac0351d598d710L,0x272c4166cb3a4da4L,0xdb82fe1aca71de1fL,
  13483. 0x746e79f2d8f54b0fL },
  13484. { 0x6e7fc7364b573e9bL,0x75d03f46fd4b5040L,0x5c1cc36d0b98d87bL,
  13485. 0x513ba3f11f472da1L } },
  13486. /* 15 << 49 */
  13487. { { 0x79d0af26abb177ddL,0xf82ab5687891d564L,0x2b6768a972232173L,
  13488. 0xefbb3bb08c1f6619L },
  13489. { 0xb29c11dba6d18358L,0x519e2797b0916d3aL,0xd4dc18f09188e290L,
  13490. 0x648e86e398b0ca7fL } },
  13491. /* 16 << 49 */
  13492. { { 0x859d3145983c38b5L,0xb14f176c637abc8bL,0x2793fb9dcaff7be6L,
  13493. 0xebe5a55f35a66a5aL },
  13494. { 0x7cec1dcd9f87dc59L,0x7c595cd3fbdbf560L,0x5b543b2226eb3257L,
  13495. 0x69080646c4c935fdL } },
  13496. /* 17 << 49 */
  13497. { { 0x7f2e440381e9ede3L,0x243c3894caf6df0aL,0x7c605bb11c073b11L,
  13498. 0xcd06a541ba6a4a62L },
  13499. { 0x2916894949d4e2e5L,0x33649d074af66880L,0xbfc0c885e9a85035L,
  13500. 0xb4e52113fc410f4bL } },
  13501. /* 18 << 49 */
  13502. { { 0xdca3b70678a6513bL,0x92ea4a2a9edb1943L,0x02642216db6e2dd8L,
  13503. 0x9b45d0b49fd57894L },
  13504. { 0x114e70dbc69d11aeL,0x1477dd194c57595fL,0xbc2208b4ec77c272L,
  13505. 0x95c5b4d7db68f59cL } },
  13506. /* 19 << 49 */
  13507. { { 0xb8c4fc6342e532b7L,0x386ba4229ae35290L,0xfb5dda42d201ecbcL,
  13508. 0x2353dc8ba0e38fd6L },
  13509. { 0x9a0b85ea68f7e978L,0x96ec56822ad6d11fL,0x5e279d6ce5f6886dL,
  13510. 0xd3fe03cd3cb1914dL } },
  13511. /* 20 << 49 */
  13512. { { 0xfe541fa47ea67c77L,0x952bd2afe3ea810cL,0x791fef568d01d374L,
  13513. 0xa3a1c6210f11336eL },
  13514. { 0x5ad0d5a9c7ec6d79L,0xff7038af3225c342L,0x003c6689bc69601bL,
  13515. 0x25059bc745e8747dL } },
  13516. /* 21 << 49 */
  13517. { { 0xfa4965b2f2086fbfL,0xf6840ea686916078L,0xd7ac762070081d6cL,
  13518. 0xe600da31b5328645L },
  13519. { 0x01916f63529b8a80L,0xe80e48582d7d6f3eL,0x29eb0fe8d664ca7cL,
  13520. 0xf017637be7b43b0cL } },
  13521. /* 22 << 49 */
  13522. { { 0x9a75c80676cb2566L,0x8f76acb1b24892d9L,0x7ae7b9cc1f08fe45L,
  13523. 0x19ef73296a4907d8L },
  13524. { 0x2db4ab715f228bf0L,0xf3cdea39817032d7L,0x0b1f482edcabe3c0L,
  13525. 0x3baf76b4bb86325cL } },
  13526. /* 23 << 49 */
  13527. { { 0xd49065e010089465L,0x3bab5d298e77c596L,0x7636c3a6193dbd95L,
  13528. 0xdef5d294b246e499L },
  13529. { 0xb22c58b9286b2475L,0xa0b93939cd80862bL,0x3002c83af0992388L,
  13530. 0x6de01f9beacbe14cL } },
  13531. /* 24 << 49 */
  13532. { { 0x6aac688eadd70482L,0x708de92a7b4a4e8aL,0x75b6dd73758a6eefL,
  13533. 0xea4bf352725b3c43L },
  13534. { 0x10041f2c87912868L,0xb1b1be95ef09297aL,0x19ae23c5a9f3860aL,
  13535. 0xc4f0f839515dcf4bL } },
  13536. /* 25 << 49 */
  13537. { { 0x3c7ecca397f6306aL,0x744c44ae68a3a4b0L,0x69cd13a0b3a1d8a2L,
  13538. 0x7cad0a1e5256b578L },
  13539. { 0xea653fcd33791d9eL,0x9cc2a05d74b2e05fL,0x73b391dcfd7affa2L,
  13540. 0xddb7091eb6b05442L } },
  13541. /* 26 << 49 */
  13542. { { 0xc71e27bf8538a5c6L,0x195c63dd89abff17L,0xfd3152851b71e3daL,
  13543. 0x9cbdfda7fa680fa0L },
  13544. { 0x9db876ca849d7eabL,0xebe2764b3c273271L,0x663357e3f208dceaL,
  13545. 0x8c5bd833565b1b70L } },
  13546. /* 27 << 49 */
  13547. { { 0xccc3b4f59837fc0dL,0x9b641ba8a79cf00fL,0x7428243ddfdf3990L,
  13548. 0x83a594c4020786b1L },
  13549. { 0xb712451a526c4502L,0x9d39438e6adb3f93L,0xfdb261e3e9ff0ccdL,
  13550. 0x80344e3ce07af4c3L } },
  13551. /* 28 << 49 */
  13552. { { 0x75900d7c2fa4f126L,0x08a3b8655c99a232L,0x2478b6bfdb25e0c3L,
  13553. 0x482cc2c271db2edfL },
  13554. { 0x37df7e645f321bb8L,0x8a93821b9a8005b4L,0x3fa2f10ccc8c1958L,
  13555. 0x0d3322182c269d0aL } },
  13556. /* 29 << 49 */
  13557. { { 0x20ab8119e246b0e6L,0xb39781e4d349fd17L,0xd293231eb31aa100L,
  13558. 0x4b779c97bb032168L },
  13559. { 0x4b3f19e1c8470500L,0x45b7efe90c4c869dL,0xdb84f38aa1a6bbccL,
  13560. 0x3b59cb15b2fddbc1L } },
  13561. /* 30 << 49 */
  13562. { { 0xba5514df3fd165e8L,0x499fd6a9061f8811L,0x72cd1fe0bfef9f00L,
  13563. 0x120a4bb979ad7e8aL },
  13564. { 0xf2ffd0955f4a5ac5L,0xcfd174f195a7a2f0L,0xd42301ba9d17baf1L,
  13565. 0xd2fa487a77f22089L } },
  13566. /* 31 << 49 */
  13567. { { 0x9cb09efeb1dc77e1L,0xe956693921c99682L,0x8c5469016c6067bbL,
  13568. 0xfd37857461c24456L },
  13569. { 0x2b6a6cbe81796b33L,0x62d550f658e87f8bL,0x1b763e1c7f1b01b4L,
  13570. 0x4b93cfea1b1b5e12L } },
  13571. /* 32 << 49 */
  13572. { { 0xb93452381d531696L,0x57201c0088cdde69L,0xdde922519a86afc7L,
  13573. 0xe3043895bd35cea8L },
  13574. { 0x7608c1e18555970dL,0x8267dfa92535935eL,0xd4c60a57322ea38bL,
  13575. 0xe0bf7977804ef8b5L } },
  13576. /* 33 << 49 */
  13577. { { 0x1a0dab28c06fece4L,0xd405991e94e7b49dL,0xc542b6d2706dab28L,
  13578. 0xcb228da3a91618fbL },
  13579. { 0x224e4164107d1ceaL,0xeb9fdab3d0f5d8f1L,0xc02ba3860d6e41cdL,
  13580. 0x676a72c59b1f7146L } },
  13581. /* 34 << 49 */
  13582. { { 0xffd6dd984d6cb00bL,0xcef9c5cade2e8d7cL,0xa1bbf5d7641c7936L,
  13583. 0x1b95b230ee8f772eL },
  13584. { 0xf765a92ee8ac25b1L,0xceb04cfc3a18b7c6L,0x27944cef0acc8966L,
  13585. 0xcbb3c957434c1004L } },
  13586. /* 35 << 49 */
  13587. { { 0x9c9971a1a43ff93cL,0x5bc2db17a1e358a9L,0x45b4862ea8d9bc82L,
  13588. 0x70ebfbfb2201e052L },
  13589. { 0xafdf64c792871591L,0xea5bcae6b42d0219L,0xde536c552ad8f03cL,
  13590. 0xcd6c3f4da76aa33cL } },
  13591. /* 36 << 49 */
  13592. { { 0xbeb5f6230bca6de3L,0xdd20dd99b1e706fdL,0x90b3ff9dac9059d4L,
  13593. 0x2d7b29027ccccc4eL },
  13594. { 0x8a090a59ce98840fL,0xa5d947e08410680aL,0x49ae346a923379a5L,
  13595. 0x7dbc84f9b28a3156L } },
  13596. /* 37 << 49 */
  13597. { { 0xfd40d91654a1aff2L,0xabf318ba3a78fb9bL,0x50152ed83029f95eL,
  13598. 0x9fc1dd77c58ad7faL },
  13599. { 0x5fa5791513595c17L,0xb95046688f62b3a9L,0x907b5b24ff3055b0L,
  13600. 0x2e995e359a84f125L } },
  13601. /* 38 << 49 */
  13602. { { 0x87dacf697e9bbcfbL,0x95d0c1d6e86d96e3L,0x65726e3c2d95a75cL,
  13603. 0x2c3c9001acd27f21L },
  13604. { 0x1deab5616c973f57L,0x108b7e2ca5221643L,0x5fee9859c4ef79d4L,
  13605. 0xbd62b88a40d4b8c6L } },
  13606. /* 39 << 49 */
  13607. { { 0xb4dd29c4197c75d6L,0x266a6df2b7076febL,0x9512d0ea4bf2df11L,
  13608. 0x1320c24f6b0cc9ecL },
  13609. { 0x6bb1e0e101a59596L,0x8317c5bbeff9aaacL,0x65bb405e385aa6c9L,
  13610. 0x613439c18f07988fL } },
  13611. /* 40 << 49 */
  13612. { { 0xd730049f16a66e91L,0xe97f2820fa1b0e0dL,0x4131e003304c28eaL,
  13613. 0x820ab732526bac62L },
  13614. { 0xb2ac9ef928714423L,0x54ecfffaadb10cb2L,0x8781476ef886a4ccL,
  13615. 0x4b2c87b5db2f8d49L } },
  13616. /* 41 << 49 */
  13617. { { 0xe857cd200a44295dL,0x707d7d2158c6b044L,0xae8521f9f596757cL,
  13618. 0x87448f0367b2b714L },
  13619. { 0x13a9bc455ebcd58dL,0x79bcced99122d3c1L,0x3c6442479e076642L,
  13620. 0x0cf227782df4767dL } },
  13621. /* 42 << 49 */
  13622. { { 0x5e61aee471d444b6L,0x211236bfc5084a1dL,0x7e15bc9a4fd3eaf6L,
  13623. 0x68df2c34ab622bf5L },
  13624. { 0x9e674f0f59bf4f36L,0xf883669bd7f34d73L,0xc48ac1b831497b1dL,
  13625. 0x323b925d5106703bL } },
  13626. /* 43 << 49 */
  13627. { { 0x22156f4274082008L,0xeffc521ac8482bcbL,0x5c6831bf12173479L,
  13628. 0xcaa2528fc4739490L },
  13629. { 0x84d2102a8f1b3c4dL,0xcf64dfc12d9bec0dL,0x433febad78a546efL,
  13630. 0x1f621ec37b73cef1L } },
  13631. /* 44 << 49 */
  13632. { { 0x6aecd62737338615L,0x162082ab01d8edf6L,0x833a811919e86b66L,
  13633. 0x6023a251d299b5dbL },
  13634. { 0xf5bb0c3abbf04b89L,0x6735eb69ae749a44L,0xd0e058c54713de3bL,
  13635. 0xfdf2593e2c3d4ccdL } },
  13636. /* 45 << 49 */
  13637. { { 0x1b8f414efdd23667L,0xdd52aacafa2015eeL,0x3e31b517bd9625ffL,
  13638. 0x5ec9322d8db5918cL },
  13639. { 0xbc73ac85a96f5294L,0x82aa5bf361a0666aL,0x49755810bf08ac42L,
  13640. 0xd21cdfd5891cedfcL } },
  13641. /* 46 << 49 */
  13642. { { 0x918cb57b67f8be10L,0x365d1a7c56ffa726L,0x2435c5046532de93L,
  13643. 0xc0fc5e102674cd02L },
  13644. { 0x6e51fcf89cbbb142L,0x1d436e5aafc50692L,0x766bffff3fbcae22L,
  13645. 0x3148c2fdfd55d3b8L } },
  13646. /* 47 << 49 */
  13647. { { 0x52c7fdc9233222faL,0x89ff1092e419fb6bL,0x3cd6db9925254977L,
  13648. 0x2e85a1611cf12ca7L },
  13649. { 0xadd2547cdc810bc9L,0xea3f458f9d257c22L,0x642c1fbe27d6b19bL,
  13650. 0xed07e6b5140481a6L } },
  13651. /* 48 << 49 */
  13652. { { 0x6ada1d4286d2e0f8L,0xe59201220e8a9fd5L,0x02c936af708c1b49L,
  13653. 0x60f30fee2b4bfaffL },
  13654. { 0x6637ad06858e6a61L,0xce4c77673fd374d0L,0x39d54b2d7188defbL,
  13655. 0xa8c9d250f56a6b66L } },
  13656. /* 49 << 49 */
  13657. { { 0x58fc0f5eb24fe1dcL,0x9eaf9dee6b73f24cL,0xa90d588b33650705L,
  13658. 0xde5b62c5af2ec729L },
  13659. { 0x5c72cfaed3c2b36eL,0x868c19d5034435daL,0x88605f93e17ee145L,
  13660. 0xaa60c4ee77a5d5b1L } },
  13661. /* 50 << 49 */
  13662. { { 0xbcf5bfd23b60c472L,0xaf4ef13ceb1d3049L,0x373f44fce13895c9L,
  13663. 0xf29b382f0cbc9822L },
  13664. { 0x1bfcb85373efaef6L,0xcf56ac9ca8c96f40L,0xd7adf1097a191e24L,
  13665. 0x98035f44bf8a8dc2L } },
  13666. /* 51 << 49 */
  13667. { { 0xf40a71b91e750c84L,0xc57f7b0c5dc6c469L,0x49a0e79c6fbc19c1L,
  13668. 0x6b0f5889a48ebdb8L },
  13669. { 0x5d3fd084a07c4e9fL,0xc3830111ab27de14L,0x0e4929fe33e08dccL,
  13670. 0xf4a5ad2440bb73a3L } },
  13671. /* 52 << 49 */
  13672. { { 0xde86c2bf490f97caL,0x288f09c667a1ce18L,0x364bb8861844478dL,
  13673. 0x7840fa42ceedb040L },
  13674. { 0x1269fdd25a631b37L,0x94761f1ea47c8b7dL,0xfc0c2e17481c6266L,
  13675. 0x85e16ea23daa5fa7L } },
  13676. /* 53 << 49 */
  13677. { { 0xccd8603392491048L,0x0c2f6963f4d402d7L,0x6336f7dfdf6a865cL,
  13678. 0x0a2a463cb5c02a87L },
  13679. { 0xb0e29be7bf2f12eeL,0xf0a2200266bad988L,0x27f87e039123c1d7L,
  13680. 0x21669c55328a8c98L } },
  13681. /* 54 << 49 */
  13682. { { 0x186b980392f14529L,0xd3d056cc63954df3L,0x2f03fd58175a46f6L,
  13683. 0x63e34ebe11558558L },
  13684. { 0xe13fedee5b80cfa5L,0xe872a120d401dbd1L,0x52657616e8a9d667L,
  13685. 0xbc8da4b6e08d6693L } },
  13686. /* 55 << 49 */
  13687. { { 0x370fb9bb1b703e75L,0x6773b186d4338363L,0x18dad378ecef7bffL,
  13688. 0xaac787ed995677daL },
  13689. { 0x4801ea8b0437164bL,0xf430ad2073fe795eL,0xb164154d8ee5eb73L,
  13690. 0x0884ecd8108f7c0eL } },
  13691. /* 56 << 49 */
  13692. { { 0x0e6ec0965f520698L,0x640631fe44f7b8d9L,0x92fd34fca35a68b9L,
  13693. 0x9c5a4b664d40cf4eL },
  13694. { 0x949454bf80b6783dL,0x80e701fe3a320a10L,0x8d1a564a1a0a39b2L,
  13695. 0x1436d53d320587dbL } },
  13696. /* 57 << 49 */
  13697. { { 0xf5096e6d6556c362L,0xbc23a3c0e2455d7eL,0x3a7aee54807230f9L,
  13698. 0x9ba1cfa622ae82fdL },
  13699. { 0x833a057a99c5d706L,0x8be85f4b842315c9L,0xd083179a66a72f12L,
  13700. 0x2fc77d5dcdcc73cdL } },
  13701. /* 58 << 49 */
  13702. { { 0x22b88a805616ee30L,0xfb09548fe7ab1083L,0x8ad6ab0d511270cdL,
  13703. 0x61f6c57a6924d9abL },
  13704. { 0xa0f7bf7290aecb08L,0x849f87c90df784a4L,0x27c79c15cfaf1d03L,
  13705. 0xbbf9f675c463faceL } },
  13706. /* 59 << 49 */
  13707. { { 0x91502c65765ba543L,0x18ce3cac42ea60ddL,0xe5cee6ac6e43ecb3L,
  13708. 0x63e4e91068f2aeebL },
  13709. { 0x26234fa3c85932eeL,0x96883e8b4c90c44dL,0x29b9e738a18a50f6L,
  13710. 0xbfc62b2a3f0420dfL } },
  13711. /* 60 << 49 */
  13712. { { 0xd22a7d906d3e1fa9L,0x17115618fe05b8a3L,0x2a0c9926bb2b9c01L,
  13713. 0xc739fcc6e07e76a2L },
  13714. { 0x540e9157165e439aL,0x06353a626a9063d8L,0x84d9559461e927a3L,
  13715. 0x013b9b26e2e0be7fL } },
  13716. /* 61 << 49 */
  13717. { { 0x4feaec3b973497f1L,0x15c0f94e093ebc2dL,0x6af5f22733af0583L,
  13718. 0x0c2af206c61f3340L },
  13719. { 0xd25dbdf14457397cL,0x2e8ed017cabcbae0L,0xe3010938c2815306L,
  13720. 0xbaa99337e8c6cd68L } },
  13721. /* 62 << 49 */
  13722. { { 0x085131823b0ec7deL,0x1e1b822b58df05dfL,0x5c14842fa5c3b683L,
  13723. 0x98fe977e3eba34ceL },
  13724. { 0xfd2316c20d5e8873L,0xe48d839abd0d427dL,0x495b2218623fc961L,
  13725. 0x24ee56e7b46fba5eL } },
  13726. /* 63 << 49 */
  13727. { { 0x9184a55b91e4de58L,0xa7488ca5dfdea288L,0xa723862ea8dcc943L,
  13728. 0x92d762b2849dc0fcL },
  13729. { 0x3c444a12091ff4a9L,0x581113fa0cada274L,0xb9de0a4530d8eae2L,
  13730. 0x5e0fcd85df6b41eaL } },
  13731. /* 64 << 49 */
  13732. { { 0x6233ea68c094dbb5L,0xb77d062ed968d410L,0x3e719bbc58b3002dL,
  13733. 0x68e7dd3d3dc49d58L },
  13734. { 0x8d825740013a5e58L,0x213117473c9e3c1bL,0x0cb0a2a77c99b6abL,
  13735. 0x5c48a3b3c2f888f2L } },
  13736. /* 0 << 56 */
  13737. { { 0x00, 0x00, 0x00, 0x00 },
  13738. { 0x00, 0x00, 0x00, 0x00 } },
  13739. /* 1 << 56 */
  13740. { { 0xc7913e91991724f3L,0x5eda799c39cbd686L,0xddb595c763d4fc1eL,
  13741. 0x6b63b80bac4fed54L },
  13742. { 0x6ea0fc697e5fb516L,0x737708bad0f1c964L,0x9628745f11a92ca5L,
  13743. 0x61f379589a86967aL } },
  13744. /* 2 << 56 */
  13745. { { 0x9af39b2caa665072L,0x78322fa4efd324efL,0x3d153394c327bd31L,
  13746. 0x81d5f2713129dab0L },
  13747. { 0xc72e0c42f48027f5L,0xaa40cdbc8536e717L,0xf45a657a2d369d0fL,
  13748. 0xb03bbfc4ea7f74e6L } },
  13749. /* 3 << 56 */
  13750. { { 0x46a8c4180d738dedL,0x6f1a5bb0e0de5729L,0xf10230b98ba81675L,
  13751. 0x32c6f30c112b33d4L },
  13752. { 0x7559129dd8fffb62L,0x6a281b47b459bf05L,0x77c1bd3afa3b6776L,
  13753. 0x0709b3807829973aL } },
  13754. /* 4 << 56 */
  13755. { { 0x8c26b232a3326505L,0x38d69272ee1d41bfL,0x0459453effe32afaL,
  13756. 0xce8143ad7cb3ea87L },
  13757. { 0x932ec1fa7e6ab666L,0x6cd2d23022286264L,0x459a46fe6736f8edL,
  13758. 0x50bf0d009eca85bbL } },
  13759. /* 5 << 56 */
  13760. { { 0x0b825852877a21ecL,0x300414a70f537a94L,0x3f1cba4021a9a6a2L,
  13761. 0x50824eee76943c00L },
  13762. { 0xa0dbfcecf83cba5dL,0xf953814893b4f3c0L,0x6174416248f24dd7L,
  13763. 0x5322d64de4fb09ddL } },
  13764. /* 6 << 56 */
  13765. { { 0x574473843d9325f3L,0xa9bef2d0f371cb84L,0x77d2188ba61e36c5L,
  13766. 0xbbd6a7d7c602df72L },
  13767. { 0xba3aa9028f61bc0bL,0xf49085ed6ed0b6a1L,0x8bc625d6ae6e8298L,
  13768. 0x832b0b1da2e9c01dL } },
  13769. /* 7 << 56 */
  13770. { { 0xa337c447f1f0ced1L,0x800cc7939492dd2bL,0x4b93151dbea08efaL,
  13771. 0x820cf3f8de0a741eL },
  13772. { 0xff1982dc1c0f7d13L,0xef92196084dde6caL,0x1ad7d97245f96ee3L,
  13773. 0x319c8dbe29dea0c7L } },
  13774. /* 8 << 56 */
  13775. { { 0xd3ea38717b82b99bL,0x75922d4d470eb624L,0x8f66ec543b95d466L,
  13776. 0x66e673ccbee1e346L },
  13777. { 0x6afe67c4b5f2b89aL,0x3de9c1e6290e5cd3L,0x8c278bb6310a2adaL,
  13778. 0x420fa3840bdb323bL } },
  13779. /* 9 << 56 */
  13780. { { 0x0ae1d63b0eb919b0L,0xd74ee51da74b9620L,0x395458d0a674290cL,
  13781. 0x324c930f4620a510L },
  13782. { 0x2d1f4d19fbac27d4L,0x4086e8ca9bedeeacL,0x0cdd211b9b679ab8L,
  13783. 0x5970167d7090fec4L } },
  13784. /* 10 << 56 */
  13785. { { 0x3420f2c9faf1fc63L,0x616d333a328c8bb4L,0x7d65364c57f1fe4aL,
  13786. 0x9343e87755e5c73aL },
  13787. { 0x5795176be970e78cL,0xa36ccebf60533627L,0xfc7c738009cdfc1bL,
  13788. 0xb39a2afeb3fec326L } },
  13789. /* 11 << 56 */
  13790. { { 0xb7ff1ba16224408aL,0xcc856e92247cfc5eL,0x01f102e7c18bc493L,
  13791. 0x4613ab742091c727L },
  13792. { 0xaa25e89cc420bf2bL,0x00a5317690337ec2L,0xd2be9f437d025fc7L,
  13793. 0x3316fb856e6fe3dcL } },
  13794. /* 12 << 56 */
  13795. { { 0x27520af59ac50814L,0xfdf95e789a8e4223L,0xb7e7df2a56bec5a0L,
  13796. 0xf7022f7ddf159e5dL },
  13797. { 0x93eeeab1cac1fe8fL,0x8040188c37451168L,0x7ee8aa8ad967dce6L,
  13798. 0xfa0e79e73abc9299L } },
  13799. /* 13 << 56 */
  13800. { { 0x67332cfc2064cfd1L,0x339c31deb0651934L,0x719b28d52a3bcbeaL,
  13801. 0xee74c82b9d6ae5c6L },
  13802. { 0x0927d05ebaf28ee6L,0x82cecf2c9d719028L,0x0b0d353eddb30289L,
  13803. 0xfe4bb977fddb2e29L } },
  13804. /* 14 << 56 */
  13805. { { 0xbb5bb990640bfd9eL,0xd226e27782f62108L,0x4bf0098502ffdd56L,
  13806. 0x7756758a2ca1b1b5L },
  13807. { 0xc32b62a35285fe91L,0xedbc546a8c9cd140L,0x1e47a013af5cb008L,
  13808. 0xbca7e720073ce8f2L } },
  13809. /* 15 << 56 */
  13810. { { 0xe10b2ab817a91caeL,0xb89aab6508e27f63L,0x7b3074a7dba3ddf9L,
  13811. 0x1c20ce09330c2972L },
  13812. { 0x6b9917b45fcf7e33L,0xe6793743945ceb42L,0x18fc22155c633d19L,
  13813. 0xad1adb3cc7485474L } },
  13814. /* 16 << 56 */
  13815. { { 0x646f96796424c49bL,0xf888dfe867c241c9L,0xe12d4b9324f68b49L,
  13816. 0x9a6b62d8a571df20L },
  13817. { 0x81b4b26d179483cbL,0x666f96329511fae2L,0xd281b3e4d53aa51fL,
  13818. 0x7f96a7657f3dbd16L } },
  13819. /* 17 << 56 */
  13820. { { 0xa7f8b5bf074a30ceL,0xd7f52107005a32e6L,0x6f9e090750237ed4L,
  13821. 0x2f21da478096fa2bL },
  13822. { 0xf3e19cb4eec863a0L,0xd18f77fd9527620aL,0x9505c81c407c1cf8L,
  13823. 0x9998db4e1b6ec284L } },
  13824. /* 18 << 56 */
  13825. { { 0x7e3389e5c247d44dL,0x125071413f4f3d80L,0xd4ba01104a78a6c7L,
  13826. 0x312874a0767720beL },
  13827. { 0xded059a675944370L,0xd6123d903b2c0bddL,0xa56b717b51c108e3L,
  13828. 0x9bb7940e070623e9L } },
  13829. /* 19 << 56 */
  13830. { { 0x794e2d5984ac066cL,0xf5954a92e68c69a0L,0x28c524584fd99dccL,
  13831. 0x60e639fcb1012517L },
  13832. { 0xc2e601257de79248L,0xe9ef6404f12fc6d7L,0x4c4f28082a3b5d32L,
  13833. 0x865ad32ec768eb8aL } },
  13834. /* 20 << 56 */
  13835. { { 0xac02331b13fb70b6L,0x037b44c195599b27L,0x1a860fc460bd082cL,
  13836. 0xa2e25745c980cd01L },
  13837. { 0xee3387a81da0263eL,0x931bfb952d10f3d6L,0x5b687270a1f24a32L,
  13838. 0xf140e65dca494b86L } },
  13839. /* 21 << 56 */
  13840. { { 0x4f4ddf91b2f1ac7aL,0xf99eaabb760fee27L,0x57f4008a49c228e5L,
  13841. 0x090be4401cf713bbL },
  13842. { 0xac91fbe45004f022L,0xd838c2c2569e1af6L,0xd6c7d20b0f1daaa5L,
  13843. 0xaa063ac11bbb02c0L } },
  13844. /* 22 << 56 */
  13845. { { 0x0938a42259558a78L,0x5343c6698435da2fL,0x96f67b18034410dcL,
  13846. 0x7cc1e42484510804L },
  13847. { 0x86a1543f16dfbb7dL,0x921fa9425b5bd592L,0x9dcccb6eb33dd03cL,
  13848. 0x8581ddd9b843f51eL } },
  13849. /* 23 << 56 */
  13850. { { 0x54935fcb81d73c9eL,0x6d07e9790a5e97abL,0x4dc7b30acf3a6babL,
  13851. 0x147ab1f3170bee11L },
  13852. { 0x0aaf8e3d9fafdee4L,0xfab3dbcb538a8b95L,0x405df4b36ef13871L,
  13853. 0xf1f4e9cb088d5a49L } },
  13854. /* 24 << 56 */
  13855. { { 0x9bcd24d366b33f1dL,0x3b97b8205ce445c0L,0xe2926549ba93ff61L,
  13856. 0xd9c341ce4dafe616L },
  13857. { 0xfb30a76e16efb6f3L,0xdf24b8ca605b953cL,0x8bd52afec2fffb9fL,
  13858. 0xbbac5ff7e19d0b96L } },
  13859. /* 25 << 56 */
  13860. { { 0x43c01b87459afccdL,0x6bd45143b7432652L,0x8473453055b5d78eL,
  13861. 0x81088fdb1554ba7dL },
  13862. { 0xada0a52c1e269375L,0xf9f037c42dc5ec10L,0xc066060794bfbc11L,
  13863. 0xc0a630bbc9c40d2fL } },
  13864. /* 26 << 56 */
  13865. { { 0x5efc797eab64c31eL,0xffdb1dab74507144L,0xf61242871ca6790cL,
  13866. 0xe9609d81e69bf1bfL },
  13867. { 0xdb89859500d24fc9L,0x9c750333e51fb417L,0x51830a91fef7bbdeL,
  13868. 0x0ce67dc8945f585cL } },
  13869. /* 27 << 56 */
  13870. { { 0x9a730ed44763eb50L,0x24a0e221c1ab0d66L,0x643b6393648748f3L,
  13871. 0x1982daa16d3c6291L },
  13872. { 0x6f00a9f78bbc5549L,0x7a1783e17f36384eL,0xe8346323de977f50L,
  13873. 0x91ab688db245502aL } },
  13874. /* 28 << 56 */
  13875. { { 0x331ab6b56d0bdd66L,0x0a6ef32e64b71229L,0x1028150efe7c352fL,
  13876. 0x27e04350ce7b39d3L },
  13877. { 0x2a3c8acdc1070c82L,0xfb2034d380c9feefL,0x2d729621709f3729L,
  13878. 0x8df290bf62cb4549L } },
  13879. /* 29 << 56 */
  13880. { { 0x02f99f33fc2e4326L,0x3b30076d5eddf032L,0xbb21f8cf0c652fb5L,
  13881. 0x314fb49eed91cf7bL },
  13882. { 0xa013eca52f700750L,0x2b9e3c23712a4575L,0xe5355557af30fbb0L,
  13883. 0x1ada35167c77e771L } },
  13884. /* 30 << 56 */
  13885. { { 0x45f6ecb27b135670L,0xe85d19df7cfc202eL,0x0f1b50c758d1be9fL,
  13886. 0x5ebf2c0aead2e344L },
  13887. { 0x1531fe4eabc199c9L,0xc703259256bab0aeL,0x16ab2e486c1fec54L,
  13888. 0x0f87fda804280188L } },
  13889. /* 31 << 56 */
  13890. { { 0xdc9f46fc609e4a74L,0x2a44a143ba667f91L,0xbc3d8b95b4d83436L,
  13891. 0xa01e4bd0c7bd2958L },
  13892. { 0x7b18293273483c90L,0xa79c6aa1a7c7b598L,0xbf3983c6eaaac07eL,
  13893. 0x8f18181e96e0d4e6L } },
  13894. /* 32 << 56 */
  13895. { { 0x8553d37c051af62bL,0xe9a998eb0bf94496L,0xe0844f9fb0d59aa1L,
  13896. 0x983fd558e6afb813L },
  13897. { 0x9670c0ca65d69804L,0x732b22de6ea5ff2dL,0xd7640ba95fd8623bL,
  13898. 0x9f619163a6351782L } },
  13899. /* 33 << 56 */
  13900. { { 0x0bfc27eeacee5043L,0xae419e732eb10f02L,0x19c028d18943fb05L,
  13901. 0x71f01cf7ff13aa2aL },
  13902. { 0x7790737e8887a132L,0x6751330966318410L,0x9819e8a37ddb795eL,
  13903. 0xfecb8ef5dad100b2L } },
  13904. /* 34 << 56 */
  13905. { { 0x59f74a223021926aL,0xb7c28a496f9b4c1cL,0xed1a733f912ad0abL,
  13906. 0x42a910af01a5659cL },
  13907. { 0x3842c6e07bd68cabL,0x2b57fa3876d70ac8L,0x8a6707a83c53aaebL,
  13908. 0x62c1c51065b4db18L } },
  13909. /* 35 << 56 */
  13910. { { 0x8de2c1fbb2d09dc7L,0xc3dfed12266bd23bL,0x927d039bd5b27db6L,
  13911. 0x2fb2f0f1103243daL },
  13912. { 0xf855a07b80be7399L,0xed9327ce1f9f27a8L,0xa0bd99c7729bdef7L,
  13913. 0x2b67125e28250d88L } },
  13914. /* 36 << 56 */
  13915. { { 0x784b26e88670ced7L,0xe3dfe41fc31bd3b4L,0x9e353a06bcc85cbcL,
  13916. 0x302e290960178a9dL },
  13917. { 0x860abf11a6eac16eL,0x76447000aa2b3aacL,0x46ff9d19850afdabL,
  13918. 0x35bdd6a5fdb2d4c1L } },
  13919. /* 37 << 56 */
  13920. { { 0xe82594b07e5c9ce9L,0x0f379e5320af346eL,0x608b31e3bc65ad4aL,
  13921. 0x710c6b12267c4826L },
  13922. { 0x51c966f971954cf1L,0xb1cec7930d0aa215L,0x1f15598986bd23a8L,
  13923. 0xae2ff99cf9452e86L } },
  13924. /* 38 << 56 */
  13925. { { 0xd8dd953c340ceaa2L,0x263552752e2e9333L,0x15d4e5f98586f06dL,
  13926. 0xd6bf94a8f7cab546L },
  13927. { 0x33c59a0ab76a9af0L,0x52740ab3ba095af7L,0xc444de8a24389ca0L,
  13928. 0xcc6f9863706da0cbL } },
  13929. /* 39 << 56 */
  13930. { { 0xb5a741a76b2515cfL,0x71c416019585c749L,0x78350d4fe683de97L,
  13931. 0x31d6152463d0b5f5L },
  13932. { 0x7a0cc5e1fbce090bL,0xaac927edfbcb2a5bL,0xe920de4920d84c35L,
  13933. 0x8c06a0b622b4de26L } },
  13934. /* 40 << 56 */
  13935. { { 0xd34dd58bafe7ddf3L,0x55851fedc1e6e55bL,0xd1395616960696e7L,
  13936. 0x940304b25f22705fL },
  13937. { 0x6f43f861b0a2a860L,0xcf1212820e7cc981L,0x121862120ab64a96L,
  13938. 0x09215b9ab789383cL } },
  13939. /* 41 << 56 */
  13940. { { 0x311eb30537387c09L,0xc5832fcef03ee760L,0x30358f5832f7ea19L,
  13941. 0xe01d3c3491d53551L },
  13942. { 0x1ca5ee41da48ea80L,0x34e71e8ecf4fa4c1L,0x312abd257af1e1c7L,
  13943. 0xe3afcdeb2153f4a5L } },
  13944. /* 42 << 56 */
  13945. { { 0x9d5c84d700235e9aL,0x0308d3f48c4c836fL,0xc0a66b0489332de5L,
  13946. 0x610dd39989e566efL },
  13947. { 0xf8eea460d1ac1635L,0x84cbb3fb20a2c0dfL,0x40afb488e74a48c5L,
  13948. 0x29738198d326b150L } },
  13949. /* 43 << 56 */
  13950. { { 0x2a17747fa6d74081L,0x60ea4c0555a26214L,0x53514bb41f88c5feL,
  13951. 0xedd645677e83426cL },
  13952. { 0xd5d6cbec96460b25L,0xa12fd0ce68dc115eL,0xc5bc3ed2697840eaL,
  13953. 0x969876a8a6331e31L } },
  13954. /* 44 << 56 */
  13955. { { 0x60c36217472ff580L,0xf42297054ad41393L,0x4bd99ef0a03b8b92L,
  13956. 0x501c7317c144f4f6L },
  13957. { 0x159009b318464945L,0x6d5e594c74c5c6beL,0x2d587011321a3660L,
  13958. 0xd1e184b13898d022L } },
  13959. /* 45 << 56 */
  13960. { { 0x5ba047524c6a7e04L,0x47fa1e2b45550b65L,0x9419daf048c0a9a5L,
  13961. 0x663629537c243236L },
  13962. { 0xcd0744b15cb12a88L,0x561b6f9a2b646188L,0x599415a566c2c0c0L,
  13963. 0xbe3f08590f83f09aL } },
  13964. /* 46 << 56 */
  13965. { { 0x9141c5beb92041b8L,0x01ae38c726477d0dL,0xca8b71f3d12c7a94L,
  13966. 0xfab5b31f765c70dbL },
  13967. { 0x76ae7492487443e9L,0x8595a310990d1349L,0xf8dbeda87d460a37L,
  13968. 0x7f7ad0821e45a38fL } },
  13969. /* 47 << 56 */
  13970. { { 0xed1d4db61059705aL,0xa3dd492ae6b9c697L,0x4b92ee3a6eb38bd5L,
  13971. 0xbab2609d67cc0bb7L },
  13972. { 0x7fc4fe896e70ee82L,0xeff2c56e13e6b7e3L,0x9b18959e34d26fcaL,
  13973. 0x2517ab66889d6b45L } },
  13974. /* 48 << 56 */
  13975. { { 0xf167b4e0bdefdd4fL,0x69958465f366e401L,0x5aa368aba73bbec0L,
  13976. 0x121487097b240c21L },
  13977. { 0x378c323318969006L,0xcb4d73cee1fe53d1L,0x5f50a80e130c4361L,
  13978. 0xd67f59517ef5212bL } },
  13979. /* 49 << 56 */
  13980. { { 0xf145e21e9e70c72eL,0xb2e52e295566d2fbL,0x44eaba4a032397f5L,
  13981. 0x5e56937b7e31a7deL },
  13982. { 0x68dcf517456c61e1L,0xbc2e954aa8b0a388L,0xe3552fa760a8b755L,
  13983. 0x03442dae73ad0cdeL } },
  13984. /* 50 << 56 */
  13985. { { 0x37ffe747ceb26210L,0x983545e8787baef9L,0x8b8c853586a3de31L,
  13986. 0xc621dbcbfacd46dbL },
  13987. { 0x82e442e959266fbbL,0xa3514c37339d471cL,0x3a11b77162cdad96L,
  13988. 0xf0cb3b3cecf9bdf0L } },
  13989. /* 51 << 56 */
  13990. { { 0x3fcbdbce478e2135L,0x7547b5cfbda35342L,0xa97e81f18a677af6L,
  13991. 0xc8c2bf8328817987L },
  13992. { 0xdf07eaaf45580985L,0xc68d1f05c93b45cbL,0x106aa2fec77b4cacL,
  13993. 0x4c1d8afc04a7ae86L } },
  13994. /* 52 << 56 */
  13995. { { 0xdb41c3fd9eb45ab2L,0x5b234b5bd4b22e74L,0xda253decf215958aL,
  13996. 0x67e0606ea04edfa0L },
  13997. { 0xabbbf070ef751b11L,0xf352f175f6f06dceL,0xdfc4b6af6839f6b4L,
  13998. 0x53ddf9a89959848eL } },
  13999. /* 53 << 56 */
  14000. { { 0xda49c379c21520b0L,0x90864ff0dbd5d1b6L,0x2f055d235f49c7f7L,
  14001. 0xe51e4e6aa796b2d8L },
  14002. { 0xc361a67f5c9dc340L,0x5ad53c37bca7c620L,0xda1d658832c756d0L,
  14003. 0xad60d9118bb67e13L } },
  14004. /* 54 << 56 */
  14005. { { 0xd6c47bdf0eeec8c6L,0x4a27fec1078a1821L,0x081f7415c3099524L,
  14006. 0x8effdf0b82cd8060L },
  14007. { 0xdb70ec1c65842df8L,0x8821b358d319a901L,0x72ee56eede42b529L,
  14008. 0x5bb39592236e4286L } },
  14009. /* 55 << 56 */
  14010. { { 0xd1183316fd6f7140L,0xf9fadb5bbd8e81f7L,0x701d5e0c5a02d962L,
  14011. 0xfdee4dbf1b601324L },
  14012. { 0xbed1740735d7620eL,0x04e3c2c3f48c0012L,0x9ee29da73455449aL,
  14013. 0x562cdef491a836c4L } },
  14014. /* 56 << 56 */
  14015. { { 0x8f682a5f47701097L,0x617125d8ff88d0c2L,0x948fda2457bb86ddL,
  14016. 0x348abb8f289f7286L },
  14017. { 0xeb10eab599d94bbdL,0xd51ba28e4684d160L,0xabe0e51c30c8f41aL,
  14018. 0x66588b4513254f4aL } },
  14019. /* 57 << 56 */
  14020. { { 0x147ebf01fad097a5L,0x49883ea8610e815dL,0xe44d60ba8a11de56L,
  14021. 0xa970de6e827a7a6dL },
  14022. { 0x2be414245e17fc19L,0xd833c65701214057L,0x1375813b363e723fL,
  14023. 0x6820bb88e6a52e9bL } },
  14024. /* 58 << 56 */
  14025. { { 0x7e7f6970d875d56aL,0xd6a0a9ac51fbf6bfL,0x54ba8790a3083c12L,
  14026. 0xebaeb23d6ae7eb64L },
  14027. { 0xa8685c3ab99a907aL,0xf1e74550026bf40bL,0x7b73a027c802cd9eL,
  14028. 0x9a8a927c4fef4635L } },
  14029. /* 59 << 56 */
  14030. { { 0xe1b6f60c08191224L,0xc4126ebbde4ec091L,0xe1dff4dc4ae38d84L,
  14031. 0xde3f57db4f2ef985L },
  14032. { 0x34964337d446a1ddL,0x7bf217a0859e77f6L,0x8ff105278e1d13f5L,
  14033. 0xa304ef0374eeae27L } },
  14034. /* 60 << 56 */
  14035. { { 0xfc6f5e47d19dfa5aL,0xdb007de37fad982bL,0x28205ad1613715f5L,
  14036. 0x251e67297889529eL },
  14037. { 0x727051841ae98e78L,0xf818537d271cac32L,0xc8a15b7eb7f410f5L,
  14038. 0xc474356f81f62393L } },
  14039. /* 61 << 56 */
  14040. { { 0x92dbdc5ac242316bL,0xabe060acdbf4aff5L,0x6e8c38fe909a8ec6L,
  14041. 0x43e514e56116cb94L },
  14042. { 0x2078fa3807d784f9L,0x1161a880f4b5b357L,0x5283ce7913adea3dL,
  14043. 0x0756c3e6cc6a910bL } },
  14044. /* 62 << 56 */
  14045. { { 0x60bcfe01aaa79697L,0x04a73b2956391db1L,0xdd8dad47189b45a0L,
  14046. 0xbfac0dd048d5b8d9L },
  14047. { 0x34ab3af57d3d2ec2L,0x6fa2fc2d207bd3afL,0x9ff4009266550dedL,
  14048. 0x719b3e871fd5b913L } },
  14049. /* 63 << 56 */
  14050. { { 0xa573a4966d17fbc7L,0x0cd1a70a73d2b24eL,0x34e2c5cab2676937L,
  14051. 0xe7050b06bf669f21L },
  14052. { 0xfbe948b61ede9046L,0xa053005197662659L,0x58cbd4edf10124c5L,
  14053. 0xde2646e4dd6c06c8L } },
  14054. /* 64 << 56 */
  14055. { { 0x332f81088cad38c0L,0x471b7e906bd68ae2L,0x56ac3fb20d8e27a3L,
  14056. 0xb54660db136b4b0dL },
  14057. { 0x123a1e11a6fd8de4L,0x44dbffeaa37799efL,0x4540b977ce6ac17cL,
  14058. 0x495173a8af60acefL } },
  14059. /* 0 << 63 */
  14060. { { 0x00, 0x00, 0x00, 0x00 },
  14061. { 0x00, 0x00, 0x00, 0x00 } },
  14062. /* 1 << 63 */
  14063. { { 0x9ebb284d391c2a82L,0xbcdd4863158308e8L,0x006f16ec83f1edcaL,
  14064. 0xa13e2c37695dc6c8L },
  14065. { 0x2ab756f04a057a87L,0xa8765500a6b48f98L,0x4252face68651c44L,
  14066. 0xa52b540be1765e02L } },
  14067. /* 2 << 63 */
  14068. { { 0x4f922fc516a0d2bbL,0x0d5cc16c1a623499L,0x9241cf3a57c62c8bL,
  14069. 0x2f5e6961fd1b667fL },
  14070. { 0x5c15c70bf5a01797L,0x3d20b44d60956192L,0x04911b37071fdb52L,
  14071. 0xf648f9168d6f0f7bL } },
  14072. /* 3 << 63 */
  14073. { { 0x6dc1acafe60b7cf7L,0x25860a5084a9d869L,0x56fc6f09e7ba8ac4L,
  14074. 0x828c5bd06148d29eL },
  14075. { 0xac6b435edc55ae5fL,0xa527f56cc0117411L,0x94d5045efd24342cL,
  14076. 0x2c4c0a3570b67c0dL } },
  14077. /* 4 << 63 */
  14078. { { 0x027cc8b8fac61d9aL,0x7d25e062e3c6fe8aL,0xe08805bfe5bff503L,
  14079. 0x13271e6c6ff632f7L },
  14080. { 0x55dca6c0232f76a5L,0x8957c32d701ef426L,0xee728bcba10a5178L,
  14081. 0x5ea60411b62c5173L } },
  14082. /* 5 << 63 */
  14083. { { 0xfc4e964ed0b8892bL,0x9ea176839301bb74L,0x6265c5aefcc48626L,
  14084. 0xe60cf82ebb3e9102L },
  14085. { 0x57adf797d4df5531L,0x235b59a18deeefe2L,0x60adcf583f306eb1L,
  14086. 0x105c27533d09492dL } },
  14087. /* 6 << 63 */
  14088. { { 0x4090914bb5def996L,0x1cb69c83233dd1e7L,0xc1e9c1d39b3d5e76L,
  14089. 0x1f3338edfccf6012L },
  14090. { 0xb1e95d0d2f5378a8L,0xacf4c2c72f00cd21L,0x6e984240eb5fe290L,
  14091. 0xd66c038d248088aeL } },
  14092. /* 7 << 63 */
  14093. { { 0x804d264af94d70cfL,0xbdb802ef7314bf7eL,0x8fb54de24333ed02L,
  14094. 0x740461e0285635d9L },
  14095. { 0x4113b2c8365e9383L,0xea762c833fdef652L,0x4eec6e2e47b956c1L,
  14096. 0xa3d814be65620fa4L } },
  14097. /* 8 << 63 */
  14098. { { 0x9ad5462bb4d8bc50L,0x181c0b16a9195770L,0xebd4fe1c78412a68L,
  14099. 0xae0341bcc0dff48cL },
  14100. { 0xb6bc45cf7003e866L,0xf11a6dea8a24a41bL,0x5407151ad04c24c2L,
  14101. 0x62c9d27dda5b7b68L } },
  14102. /* 9 << 63 */
  14103. { { 0x2e96423588cceff6L,0x8594c54f8b07ed69L,0x1578e73cc84d0d0dL,
  14104. 0x7b4e1055ff532868L },
  14105. { 0xa348c0d5b5ec995aL,0xbf4b9d5514289a54L,0x9ba155a658fbd777L,
  14106. 0x186ed7a81a84491dL } },
  14107. /* 10 << 63 */
  14108. { { 0xd4992b30614c0900L,0xda98d121bd00c24bL,0x7f534dc87ec4bfa1L,
  14109. 0x4a5ff67437dc34bcL },
  14110. { 0x68c196b81d7ea1d7L,0x38cf289380a6d208L,0xfd56cd09e3cbbd6eL,
  14111. 0xec72e27e4205a5b6L } },
  14112. /* 11 << 63 */
  14113. { { 0x15ea68f5a44f77f7L,0x7aa5f9fdb43c52bcL,0x86ff676f94f0e609L,
  14114. 0xa4cde9632e2d432bL },
  14115. { 0x8cafa0c0eee470afL,0x84137d0e8a3f5ec8L,0xebb40411faa31231L,
  14116. 0xa239c13f6f7f7ccfL } },
  14117. /* 12 << 63 */
  14118. { { 0x32865719a8afd30bL,0x867983288a826dceL,0xdf04e891c4a8fbe0L,
  14119. 0xbb6b6e1bebf56ad3L },
  14120. { 0x0a695b11471f1ff0L,0xd76c3389be15baf0L,0x018edb95be96c43eL,
  14121. 0xf2beaaf490794158L } },
  14122. /* 13 << 63 */
  14123. { { 0x152db09ec3076a27L,0x5e82908ee416545dL,0xa2c41272356d6f2eL,
  14124. 0xdc9c964231fd74e1L },
  14125. { 0x66ceb88d519bf615L,0xe29ecd7605a2274eL,0x3a0473c4bf5e2fa0L,
  14126. 0x6b6eb67164284e67L } },
  14127. /* 14 << 63 */
  14128. { { 0xe8b97932b88756ddL,0xed4e8652f17e3e61L,0xc2dd14993ee1c4a4L,
  14129. 0xc0aaee17597f8c0eL },
  14130. { 0x15c4edb96c168af3L,0x6563c7bfb39ae875L,0xadfadb6f20adb436L,
  14131. 0xad55e8c99a042ac0L } },
  14132. /* 15 << 63 */
  14133. { { 0x975a1ed8b76da1f5L,0x10dfa466a58acb94L,0x8dd7f7e3ac060282L,
  14134. 0x6813e66a572a051eL },
  14135. { 0xb4ccae1e350cb901L,0xb653d65650cb7822L,0x42484710dfab3b87L,
  14136. 0xcd7ee5379b670fd0L } },
  14137. /* 16 << 63 */
  14138. { { 0x0a50b12e523b8bf6L,0x8009eb5b8f910c1bL,0xf535af824a167588L,
  14139. 0x0f835f9cfb2a2abdL },
  14140. { 0xf59b29312afceb62L,0xc797df2a169d383fL,0xeb3f5fb066ac02b0L,
  14141. 0x029d4c6fdaa2d0caL } },
  14142. /* 17 << 63 */
  14143. { { 0xd4059bc1afab4bc5L,0x833f5c6f56783247L,0xb53466308d2d3605L,
  14144. 0x83387891d34d8433L },
  14145. { 0xd973b30fadd9419aL,0xbcca1099afe3fce8L,0x081783150809aac6L,
  14146. 0x01b7f21a540f0f11L } },
  14147. /* 18 << 63 */
  14148. { { 0x65c29219909523c8L,0xa62f648fa3a1c741L,0x88598d4f60c9e55aL,
  14149. 0xbce9141b0e4f347aL },
  14150. { 0x9af97d8435f9b988L,0x0210da62320475b6L,0x3c076e229191476cL,
  14151. 0x7520dbd944fc7834L } },
  14152. /* 19 << 63 */
  14153. { { 0x6a6b2cfec1ab1bbdL,0xef8a65bedc650938L,0x72855540805d7bc4L,
  14154. 0xda389396ed11fdfdL },
  14155. { 0xa9d5bd3674660876L,0x11d67c54b45dff35L,0x6af7d148a4f5da94L,
  14156. 0xbb8d4c3fc0bbeb31L } },
  14157. /* 20 << 63 */
  14158. { { 0x87a7ebd1e0a1b12aL,0x1e4ef88d770ba95fL,0x8c33345cdc2ae9cbL,
  14159. 0xcecf127601cc8403L },
  14160. { 0x687c012e1b39b80fL,0xfd90d0ad35c33ba4L,0xa3ef5a675c9661c2L,
  14161. 0x368fc88ee017429eL } },
  14162. /* 21 << 63 */
  14163. { { 0xd30c6761196a2fa2L,0x931b9817bd5b312eL,0xba01000c72f54a31L,
  14164. 0xa203d2c866eaa541L },
  14165. { 0xf2abdee098939db3L,0xe37d6c2c3e606c02L,0xf2921574521ff643L,
  14166. 0x2781b3c4d7e2fca3L } },
  14167. /* 22 << 63 */
  14168. { { 0x664300b07850ec06L,0xac5a38b97d3a10cfL,0x9233188de34ab39dL,
  14169. 0xe77057e45072cbb9L },
  14170. { 0xbcf0c042b59e78dfL,0x4cfc91e81d97de52L,0x4661a26c3ee0ca4aL,
  14171. 0x5620a4c1fb8507bcL } },
  14172. /* 23 << 63 */
  14173. { { 0x4b44d4aa049f842cL,0xceabc5d51540e82bL,0x306710fd15c6f156L,
  14174. 0xbe5ae52b63db1d72L },
  14175. { 0x06f1e7e6334957f1L,0x57e388f031144a70L,0xfb69bb2fdf96447bL,
  14176. 0x0f78ebd373e38a12L } },
  14177. /* 24 << 63 */
  14178. { { 0xb82226052b7ce542L,0xe6d4ce997472bde1L,0x53e16ebe09d2f4daL,
  14179. 0x180ff42e53b92b2eL },
  14180. { 0xc59bcc022c34a1c6L,0x3803d6f9422c46c2L,0x18aff74f5c14a8a2L,
  14181. 0x55aebf8010a08b28L } },
  14182. /* 25 << 63 */
  14183. { { 0x66097d587135593fL,0x32e6eff72be570cdL,0x584e6a102a8c860dL,
  14184. 0xcd185890a2eb4163L },
  14185. { 0x7ceae99d6d97e134L,0xd42c6b70dd8447ceL,0x59ddbb4ab8c50273L,
  14186. 0x03c612df3cf34e1eL } },
  14187. /* 26 << 63 */
  14188. { { 0x84b9ca1504b6c5a0L,0x35216f3918f0e3a3L,0x3ec2d2bcbd986c00L,
  14189. 0x8bf546d9d19228feL },
  14190. { 0xd1c655a44cd623c3L,0x366ce718502b8e5aL,0x2cfc84b4eea0bfe7L,
  14191. 0xe01d5ceecf443e8eL } },
  14192. /* 27 << 63 */
  14193. { { 0x8ec045d9036520f8L,0xdfb3c3d192d40e98L,0x0bac4ccecc559a04L,
  14194. 0x35eccae5240ea6b1L },
  14195. { 0x180b32dbf8a5a0acL,0x547972a5eb699700L,0xa3765801ca26bca0L,
  14196. 0x57e09d0ea647f25aL } },
  14197. /* 28 << 63 */
  14198. { { 0xb956970e2fdd23ccL,0xb80288bc5682e971L,0xe6e6d91e9ae86ebcL,
  14199. 0x0564c83f8c9f1939L },
  14200. { 0x551932a239560368L,0xe893752b049c28e2L,0x0b03cee5a6a158c3L,
  14201. 0xe12d656b04964263L } },
  14202. /* 29 << 63 */
  14203. { { 0x4b47554e63e3bc1dL,0xc719b6a245044ff7L,0x4f24d30ae48daa07L,
  14204. 0xa3f37556c8c1edc3L },
  14205. { 0x9a47bf760700d360L,0xbb1a1824822ae4e2L,0x22e275a389f1fb4cL,
  14206. 0x72b1aa239968c5f5L } },
  14207. /* 30 << 63 */
  14208. { { 0xa75feacabe063f64L,0x9b392f43bce47a09L,0xd42415091ad07acaL,
  14209. 0x4b0c591b8d26cd0fL },
  14210. { 0x2d42ddfd92f1169aL,0x63aeb1ac4cbf2392L,0x1de9e8770691a2afL,
  14211. 0xebe79af7d98021daL } },
  14212. /* 31 << 63 */
  14213. { { 0xcfdf2a4e40e50acfL,0xf0a98ad7af01d665L,0xefb640bf1831be1fL,
  14214. 0x6fe8bd2f80e9ada0L },
  14215. { 0x94c103a16cafbc91L,0x170f87598308e08cL,0x5de2d2ab9780ff4fL,
  14216. 0x666466bc45b201f2L } },
  14217. /* 32 << 63 */
  14218. { { 0x58af2010f5b343bcL,0x0f2e400af2f142feL,0x3483bfdea85f4bdfL,
  14219. 0xf0b1d09303bfeaa9L },
  14220. { 0x2ea01b95c7081603L,0xe943e4c93dba1097L,0x47be92adb438f3a6L,
  14221. 0x00bb7742e5bf6636L } },
  14222. /* 33 << 63 */
  14223. { { 0x136b7083824297b4L,0x9d0e55805584455fL,0xab48cedcf1c7d69eL,
  14224. 0x53a9e4812a256e76L },
  14225. { 0x0402b0e065eb2413L,0xdadbbb848fc407a7L,0xa65cd5a48d7f5492L,
  14226. 0x21d4429374bae294L } },
  14227. /* 34 << 63 */
  14228. { { 0x66917ce63b5f1cc4L,0x37ae52eace872e62L,0xbb087b722905f244L,
  14229. 0x120770861e6af74fL },
  14230. { 0x4b644e491058edeaL,0x827510e3b638ca1dL,0x8cf2b7046038591cL,
  14231. 0xffc8b47afe635063L } },
  14232. /* 35 << 63 */
  14233. { { 0x3ae220e61b4d5e63L,0xbd8647429d961b4bL,0x610c107e9bd16bedL,
  14234. 0x4270352a1127147bL },
  14235. { 0x7d17ffe664cfc50eL,0x50dee01a1e36cb42L,0x068a762235dc5f9aL,
  14236. 0x9a08d536df53f62cL } },
  14237. /* 36 << 63 */
  14238. { { 0x4ed714576be5f7deL,0xd93006f8c2263c9eL,0xe073694ccacacb36L,
  14239. 0x2ff7a5b43ae118abL },
  14240. { 0x3cce53f1cd871236L,0xf156a39dc2aa6d52L,0x9cc5f271b198d76dL,
  14241. 0xbc615b6f81383d39L } },
  14242. /* 37 << 63 */
  14243. { { 0xa54538e8de3eee6bL,0x58c77538ab910d91L,0x31e5bdbc58d278bdL,
  14244. 0x3cde4adfb963acaeL },
  14245. { 0xb1881fd25302169cL,0x8ca60fa0a989ed8bL,0xa1999458ff96a0eeL,
  14246. 0xc1141f03ac6c283dL } },
  14247. /* 38 << 63 */
  14248. { { 0x7677408d6dfafed3L,0x33a0165339661588L,0x3c9c15ec0b726fa0L,
  14249. 0x090cfd936c9b56daL },
  14250. { 0xe34f4baea3c40af5L,0x3469eadbd21129f1L,0xcc51674a1e207ce8L,
  14251. 0x1e293b24c83b1ef9L } },
  14252. /* 39 << 63 */
  14253. { { 0x17173d131e6c0bb4L,0x1900469590776d35L,0xe7980e346de6f922L,
  14254. 0x873554cbf4dd9a22L },
  14255. { 0x0316c627cbf18a51L,0x4d93651b3032c081L,0x207f27713946834dL,
  14256. 0x2c08d7b430cdbf80L } },
  14257. /* 40 << 63 */
  14258. { { 0x137a4fb486df2a61L,0xa1ed9c07ecf7b4a2L,0xb2e460e27bd042ffL,
  14259. 0xb7f5e2fa5f62f5ecL },
  14260. { 0x7aa6ec6bcc2423b7L,0x75ce0a7fba63eea7L,0x67a45fb1f250a6e1L,
  14261. 0x93bc919ce53cdc9fL } },
  14262. /* 41 << 63 */
  14263. { { 0x9271f56f871942dfL,0x2372ff6f7859ad66L,0x5f4c2b9633cb1a78L,
  14264. 0xe3e291015838aa83L },
  14265. { 0xa7ed1611e4e8110cL,0x2a2d70d5330198ceL,0xbdf132e86720efe0L,
  14266. 0xe61a896266a471bfL } },
  14267. /* 42 << 63 */
  14268. { { 0x796d3a85825808bdL,0x51dc3cb73fd6e902L,0x643c768a916219d1L,
  14269. 0x36cd7685a2ad7d32L },
  14270. { 0xe3db9d05b22922a4L,0x6494c87edba29660L,0xf0ac91dfbcd2ebc7L,
  14271. 0x4deb57a045107f8dL } },
  14272. /* 43 << 63 */
  14273. { { 0x42271f59c3d12a73L,0x5f71687ca5c2c51dL,0xcb1f50c605797bcbL,
  14274. 0x29ed0ed9d6d34eb0L },
  14275. { 0xe5fe5b474683c2ebL,0x4956eeb597447c46L,0x5b163a4371207167L,
  14276. 0x93fa2fed0248c5efL } },
  14277. /* 44 << 63 */
  14278. { { 0x67930af231f63950L,0xa77797c114caa2c9L,0x526e80ee27ac7e62L,
  14279. 0xe1e6e62658b28aecL },
  14280. { 0x636178b0b3c9fef0L,0xaf7752e06d5f90beL,0x94ecaf18eece51cfL,
  14281. 0x2864d0edca806e1fL } },
  14282. /* 45 << 63 */
  14283. { { 0x6de2e38397c69134L,0x5a42c316eb291293L,0xc77792196a60bae0L,
  14284. 0xa24de3466b7599d1L },
  14285. { 0x49d374aab75d4941L,0x989005862d501ff0L,0x9f16d40eeb7974cfL,
  14286. 0x1033860bcdd8c115L } },
  14287. /* 46 << 63 */
  14288. { { 0xb6c69ac82094cec3L,0x9976fb88403b770cL,0x1dea026c4859590dL,
  14289. 0xb6acbb468562d1fdL },
  14290. { 0x7cd6c46144569d85L,0xc3190a3697f0891dL,0xc6f5319548d5a17dL,
  14291. 0x7d919966d749abc8L } },
  14292. /* 47 << 63 */
  14293. { { 0x65104837dd1c8a20L,0x7e5410c82f683419L,0x958c3ca8be94022eL,
  14294. 0x605c31976145dac2L },
  14295. { 0x3fc0750101683d54L,0x1d7127c5595b1234L,0x10b8f87c9481277fL,
  14296. 0x677db2a8e65a1adbL } },
  14297. /* 48 << 63 */
  14298. { { 0xec2fccaaddce3345L,0x2a6811b7012a4350L,0x96760ff1ac598bdcL,
  14299. 0x054d652ad1bf4128L },
  14300. { 0x0a1151d492a21005L,0xad7f397133110fdfL,0x8c95928c1960100fL,
  14301. 0x6c91c8257bf03362L } },
  14302. /* 49 << 63 */
  14303. { { 0xc8c8b2a2ce309f06L,0xfdb27b59ca27204bL,0xd223eaa50848e32eL,
  14304. 0xb93e4b2ee7bfaf1eL },
  14305. { 0xc5308ae644aa3dedL,0x317a666ac015d573L,0xc888ce231a979707L,
  14306. 0xf141c1e60d5c4958L } },
  14307. /* 50 << 63 */
  14308. { { 0xb53b7de561906373L,0x858dbadeeb999595L,0x8cbb47b2a59e5c36L,
  14309. 0x660318b3dcf4e842L },
  14310. { 0xbd161ccd12ba4b7aL,0xf399daabf8c8282aL,0x1587633aeeb2130dL,
  14311. 0xa465311ada38dd7dL } },
  14312. /* 51 << 63 */
  14313. { { 0x5f75eec864d3779bL,0x3c5d0476ad64c171L,0x874103712a914428L,
  14314. 0x8096a89190e2fc29L },
  14315. { 0xd3d2ae9d23b3ebc2L,0x90bdd6dba580cfd6L,0x52dbb7f3c5b01f6cL,
  14316. 0xe68eded4e102a2dcL } },
  14317. /* 52 << 63 */
  14318. { { 0x17785b7799eb6df0L,0x26c3cc517386b779L,0x345ed9886417a48eL,
  14319. 0xe990b4e407d6ef31L },
  14320. { 0x0f456b7e2586abbaL,0x239ca6a559c96e9aL,0xe327459ce2eb4206L,
  14321. 0x3a4c3313a002b90aL } },
  14322. /* 53 << 63 */
  14323. { { 0x2a114806f6a3f6fbL,0xad5cad2f85c251ddL,0x92c1f613f5a784d3L,
  14324. 0xec7bfacf349766d5L },
  14325. { 0x04b3cd333e23cb3bL,0x3979fe84c5a64b2dL,0x192e27207e589106L,
  14326. 0xa60c43d1a15b527fL } },
  14327. /* 54 << 63 */
  14328. { { 0x2dae9082be7cf3a6L,0xcc86ba92bc967274L,0xf28a2ce8aea0a8a9L,
  14329. 0x404ca6d96ee988b3L },
  14330. { 0xfd7e9c5d005921b8L,0xf56297f144e79bf9L,0xa163b4600d75ddc2L,
  14331. 0x30b23616a1f2be87L } },
  14332. /* 55 << 63 */
  14333. { { 0x4b070d21bfe50e2bL,0x7ef8cfd0e1bfede1L,0xadba00112aac4ae0L,
  14334. 0x2a3e7d01b9ebd033L },
  14335. { 0x995277ece38d9d1cL,0xb500249e9c5d2de3L,0x8912b820f13ca8c9L,
  14336. 0xc8798114877793afL } },
  14337. /* 56 << 63 */
  14338. { { 0x19e6125dec3f1decL,0x07b1f040911178daL,0xd93ededa904a6738L,
  14339. 0x55187a5a0bebedcdL },
  14340. { 0xf7d04722eb329d41L,0xf449099ef170b391L,0xfd317a69ca99f828L,
  14341. 0x50c3db2b34a4976dL } },
  14342. /* 57 << 63 */
  14343. { { 0xe9ba77843757b392L,0x326caefdaa3ca05aL,0x78e5293bf1e593d4L,
  14344. 0x7842a9370d98fd13L },
  14345. { 0xe694bf965f96b10dL,0x373a9df606a8cd05L,0x997d1e51e8f0c7fcL,
  14346. 0x1d01979063fd972eL } },
  14347. /* 58 << 63 */
  14348. { { 0x0064d8585499fb32L,0x7b67bad977a8aeb7L,0x1d3eb9772d08eec5L,
  14349. 0x5fc047a6cbabae1dL },
  14350. { 0x0577d159e54a64bbL,0x8862201bc43497e4L,0xad6b4e282ce0608dL,
  14351. 0x8b687b7d0b167aacL } },
  14352. /* 59 << 63 */
  14353. { { 0x6ed4d3678b2ecfa9L,0x24dfe62da90c3c38L,0xa1862e103fe5c42bL,
  14354. 0x1ca73dcad5732a9fL },
  14355. { 0x35f038b776bb87adL,0x674976abf242b81fL,0x4f2bde7eb0fd90cdL,
  14356. 0x6efc172ea7fdf092L } },
  14357. /* 60 << 63 */
  14358. { { 0x3806b69b92222f1fL,0x5a2459ca6cf7ae70L,0x6789f69ca85217eeL,
  14359. 0x5f232b5ee3dc85acL },
  14360. { 0x660e3ec548e9e516L,0x124b4e473197eb31L,0x10a0cb13aafcca23L,
  14361. 0x7bd63ba48213224fL } },
  14362. /* 61 << 63 */
  14363. { { 0xaffad7cc290a7f4fL,0x6b409c9e0286b461L,0x58ab809fffa407afL,
  14364. 0xc3122eedc68ac073L },
  14365. { 0x17bf9e504ef24d7eL,0x5d9297943e2a5811L,0x519bc86702902e01L,
  14366. 0x76bba5da39c8a851L } },
  14367. /* 62 << 63 */
  14368. { { 0xe9f9669cda94951eL,0x4b6af58d66b8d418L,0xfa32107417d426a4L,
  14369. 0xc78e66a99dde6027L },
  14370. { 0x0516c0834a53b964L,0xfc659d38ff602330L,0x0ab55e5c58c5c897L,
  14371. 0x985099b2838bc5dfL } },
  14372. /* 63 << 63 */
  14373. { { 0x061d9efcc52fc238L,0x712b27286ac1da3fL,0xfb6581499283fe08L,
  14374. 0x4954ac94b8aaa2f7L },
  14375. { 0x85c0ada47fb2e74fL,0xee8ba98eb89926b0L,0xe4f9d37d23d1af5bL,
  14376. 0x14ccdbf9ba9b015eL } },
  14377. /* 64 << 63 */
  14378. { { 0xb674481b7bfe7178L,0x4e1debae65405868L,0x061b2821c48c867dL,
  14379. 0x69c15b35513b30eaL },
  14380. { 0x3b4a166636871088L,0xe5e29f5d1220b1ffL,0x4b82bb35233d9f4dL,
  14381. 0x4e07633318cdc675L } },
  14382. /* 0 << 70 */
  14383. { { 0x00, 0x00, 0x00, 0x00 },
  14384. { 0x00, 0x00, 0x00, 0x00 } },
  14385. /* 1 << 70 */
  14386. { { 0x0d53f5c7a3e6fcedL,0xe8cbbdd5f45fbdebL,0xf85c01df13339a70L,
  14387. 0x0ff71880142ceb81L },
  14388. { 0x4c4e8774bd70437aL,0x5fb32891ba0bda6aL,0x1cdbebd2f18bd26eL,
  14389. 0x2f9526f103a9d522L } },
  14390. /* 2 << 70 */
  14391. { { 0x40ce305192c4d684L,0x8b04d7257612efcdL,0xb9dcda366f9cae20L,
  14392. 0x0edc4d24f058856cL },
  14393. { 0x64f2e6bf85427900L,0x3de81295dc09dfeaL,0xd41b4487379bf26cL,
  14394. 0x50b62c6d6df135a9L } },
  14395. /* 3 << 70 */
  14396. { { 0xd4f8e3b4c72dfe67L,0xc416b0f690e19fdfL,0x18b9098d4c13bd35L,
  14397. 0xac11118a15b8cb9eL },
  14398. { 0xf598a318f0062841L,0xbfe0602f89f356f4L,0x7ae3637e30177a0cL,
  14399. 0x3409774761136537L } },
  14400. /* 4 << 70 */
  14401. { { 0x0db2fb5ed005832aL,0x5f5efd3b91042e4fL,0x8c4ffdc6ed70f8caL,
  14402. 0xe4645d0bb52da9ccL },
  14403. { 0x9596f58bc9001d1fL,0x52c8f0bc4e117205L,0xfd4aa0d2e398a084L,
  14404. 0x815bfe3a104f49deL } },
  14405. /* 5 << 70 */
  14406. { { 0x97e5443f23885e5fL,0xf72f8f99e8433aabL,0xbd00b154e4d4e604L,
  14407. 0xd0b35e6ae5e173ffL },
  14408. { 0x57b2a0489164722dL,0x3e3c665b88761ec8L,0x6bdd13973da83832L,
  14409. 0x3c8b1a1e73dafe3bL } },
  14410. /* 6 << 70 */
  14411. { { 0x4497ace654317cacL,0xbe600ab9521771b3L,0xb42e409eb0dfe8b8L,
  14412. 0x386a67d73942310fL },
  14413. { 0x25548d8d4431cc28L,0xa7cff142985dc524L,0x4d60f5a193c4be32L,
  14414. 0x83ebd5c8d071c6e1L } },
  14415. /* 7 << 70 */
  14416. { { 0xba3a80a7b1fd2b0bL,0x9b3ad3965bec33e8L,0xb3868d6179743fb3L,
  14417. 0xcfd169fcfdb462faL },
  14418. { 0xd3b499d79ce0a6afL,0x55dc1cf1e42d3ff8L,0x04fb9e6cc6c3e1b2L,
  14419. 0x47e6961d6f69a474L } },
  14420. /* 8 << 70 */
  14421. { { 0x54eb3acce548b37bL,0xb38e754284d40549L,0x8c3daa517b341b4fL,
  14422. 0x2f6928ec690bf7faL },
  14423. { 0x0496b32386ce6c41L,0x01be1c5510adadcdL,0xc04e67e74bb5faf9L,
  14424. 0x3cbaf678e15c9985L } },
  14425. /* 9 << 70 */
  14426. { { 0x8cd1214550ca4247L,0xba1aa47ae7dd30aaL,0x2f81ddf1e58fee24L,
  14427. 0x03452936eec9b0e8L },
  14428. { 0x8bdc3b81243aea96L,0x9a2919af15c3d0e5L,0x9ea640ec10948361L,
  14429. 0x5ac86d5b6e0bcccfL } },
  14430. /* 10 << 70 */
  14431. { { 0xf892d918c36cf440L,0xaed3e837c939719cL,0xb07b08d2c0218b64L,
  14432. 0x6f1bcbbace9790ddL },
  14433. { 0x4a84d6ed60919b8eL,0xd89007918ac1f9ebL,0xf84941aa0dd5daefL,
  14434. 0xb22fe40a67fd62c5L } },
  14435. /* 11 << 70 */
  14436. { { 0x97e15ba2157f2db3L,0xbda2fc8f8e28ca9cL,0x5d050da437b9f454L,
  14437. 0x3d57eb572379d72eL },
  14438. { 0xe9b5eba2fb5ee997L,0x01648ca2e11538caL,0x32bb76f6f6327974L,
  14439. 0x338f14b8ff3f4bb7L } },
  14440. /* 12 << 70 */
  14441. { { 0x524d226ad7ab9a2dL,0x9c00090d7dfae958L,0x0ba5f5398751d8c2L,
  14442. 0x8afcbcdd3ab8262dL },
  14443. { 0x57392729e99d043bL,0xef51263baebc943aL,0x9feace9320862935L,
  14444. 0x639efc03b06c817bL } },
  14445. /* 13 << 70 */
  14446. { { 0x1fe054b366b4be7aL,0x3f25a9de84a37a1eL,0xf39ef1ad78d75cd9L,
  14447. 0xd7b58f495062c1b5L },
  14448. { 0x6f74f9a9ff563436L,0xf718ff29e8af51e7L,0x5234d31315e97fecL,
  14449. 0xb6a8e2b1292f1c0aL } },
  14450. /* 14 << 70 */
  14451. { { 0xa7f53aa8327720c1L,0x956ca322ba092cc8L,0x8f03d64a28746c4dL,
  14452. 0x51fe178266d0d392L },
  14453. { 0xd19b34db3c832c80L,0x60dccc5c6da2e3b4L,0x245dd62e0a104cccL,
  14454. 0xa7ab1de1620b21fdL } },
  14455. /* 15 << 70 */
  14456. { { 0xb293ae0b3893d123L,0xf7b75783b15ee71cL,0x5aa3c61442a9468bL,
  14457. 0xd686123cdb15d744L },
  14458. { 0x8c616891a7ab4116L,0x6fcd72c8a4e6a459L,0xac21911077e5fad7L,
  14459. 0xfb6a20e7704fa46bL } },
  14460. /* 16 << 70 */
  14461. { { 0xe839be7d341d81dcL,0xcddb688932148379L,0xda6211a1f7026eadL,
  14462. 0xf3b2575ff4d1cc5eL },
  14463. { 0x40cfc8f6a7a73ae6L,0x83879a5e61d5b483L,0xc5acb1ed41a50ebcL,
  14464. 0x59a60cc83c07d8faL } },
  14465. /* 17 << 70 */
  14466. { { 0x1b73bdceb1876262L,0x2b0d79f012af4ee9L,0x8bcf3b0bd46e1d07L,
  14467. 0x17d6af9de45d152fL },
  14468. { 0x735204616d736451L,0x43cbbd9756b0bf5aL,0xb0833a5bd5999b9dL,
  14469. 0x702614f0eb72e398L } },
  14470. /* 18 << 70 */
  14471. { { 0x0aadf01a59c3e9f8L,0x40200e77ce6b3d16L,0xda22bdd3deddafadL,
  14472. 0x76dedaf4310d72e1L },
  14473. { 0x49ef807c4bc2e88fL,0x6ba81291146dd5a5L,0xa1a4077a7d8d59e9L,
  14474. 0x87b6a2e7802db349L } },
  14475. /* 19 << 70 */
  14476. { { 0xd56799971b4e598eL,0xf499ef1f06fe4b1dL,0x3978d3aefcb267c5L,
  14477. 0xb582b557235786d0L },
  14478. { 0x32b3b2ca1715cb07L,0x4c3de6a28480241dL,0x63b5ffedcb571ecdL,
  14479. 0xeaf53900ed2fe9a9L } },
  14480. /* 20 << 70 */
  14481. { { 0xdec98d4ac3b81990L,0x1cb837229e0cc8feL,0xfe0b0491d2b427b9L,
  14482. 0x0f2386ace983a66cL },
  14483. { 0x930c4d1eb3291213L,0xa2f82b2e59a62ae4L,0x77233853f93e89e3L,
  14484. 0x7f8063ac11777c7fL } },
  14485. /* 21 << 70 */
  14486. { { 0xff0eb56759ad2877L,0x6f4546429865c754L,0xe6fe701a236e9a84L,
  14487. 0xc586ef1606e40fc3L },
  14488. { 0x3f62b6e024bafad9L,0xc8b42bd264da906aL,0xc98e1eb4da3276a0L,
  14489. 0x30d0e5fc06cbf852L } },
  14490. /* 22 << 70 */
  14491. { { 0x1b6b2ae1e8b4dfd4L,0xd754d5c78301cbacL,0x66097629112a39acL,
  14492. 0xf86b599993ba4ab9L },
  14493. { 0x26c9dea799f9d581L,0x0473b1a8c2fafeaaL,0x1469af553b2505a5L,
  14494. 0x227d16d7d6a43323L } },
  14495. /* 23 << 70 */
  14496. { { 0x3316f73cad3d97f9L,0x52bf3bb51f137455L,0x953eafeb09954e7cL,
  14497. 0xa721dfeddd732411L },
  14498. { 0xb4929821141d4579L,0x3411321caa3bd435L,0xafb355aa17fa6015L,
  14499. 0xb4e7ef4a18e42f0eL } },
  14500. /* 24 << 70 */
  14501. { { 0x604ac97c59371000L,0xe1c48c707f759c18L,0x3f62ecc5a5db6b65L,
  14502. 0x0a78b17338a21495L },
  14503. { 0x6be1819dbcc8ad94L,0x70dc04f6d89c3400L,0x462557b4a6b4840aL,
  14504. 0x544c6ade60bd21c0L } },
  14505. /* 25 << 70 */
  14506. { { 0x6a00f24e907a544bL,0xa7520dcb313da210L,0xfe939b7511e4994bL,
  14507. 0x918b6ba6bc275d70L },
  14508. { 0xd3e5e0fc644be892L,0x707a9816fdaf6c42L,0x60145567f15c13feL,
  14509. 0x4818ebaae130a54aL } },
  14510. /* 26 << 70 */
  14511. { { 0x28aad3ad58d2f767L,0xdc5267fdd7e7c773L,0x4919cc88c3afcc98L,
  14512. 0xaa2e6ab02db8cd4bL },
  14513. { 0xd46fec04d0c63eaaL,0xa1cb92c519ffa832L,0x678dd178e43a631fL,
  14514. 0xfb5ae1cd3dc788b3L } },
  14515. /* 27 << 70 */
  14516. { { 0x68b4fb906e77de04L,0x7992bcf0f06dbb97L,0x896e6a13c417c01dL,
  14517. 0x8d96332cb956be01L },
  14518. { 0x902fc93a413aa2b9L,0x99a4d915fc98c8a5L,0x52c29407565f1137L,
  14519. 0x4072690f21e4f281L } },
  14520. /* 28 << 70 */
  14521. { { 0x36e607cf02ff6072L,0xa47d2ca98ad98cdcL,0xbf471d1ef5f56609L,
  14522. 0xbcf86623f264ada0L },
  14523. { 0xb70c0687aa9e5cb6L,0xc98124f217401c6cL,0x8189635fd4a61435L,
  14524. 0xd28fb8afa9d98ea6L } },
  14525. /* 29 << 70 */
  14526. { { 0xb9a67c2a40c251f8L,0x88cd5d87a2da44beL,0x437deb96e09b5423L,
  14527. 0x150467db64287dc1L },
  14528. { 0xe161debbcdabb839L,0xa79e9742f1839a3eL,0xbb8dd3c2652d202bL,
  14529. 0x7b3e67f7e9f97d96L } },
  14530. /* 30 << 70 */
  14531. { { 0x5aa5d78fb1cb6ac9L,0xffa13e8eca1d0d45L,0x369295dd2ba5bf95L,
  14532. 0xd68bd1f839aff05eL },
  14533. { 0xaf0d86f926d783f2L,0x543a59b3fc3aafc1L,0x3fcf81d27b7da97cL,
  14534. 0xc990a056d25dee46L } },
  14535. /* 31 << 70 */
  14536. { { 0x3e6775b8519cce2cL,0xfc9af71fae13d863L,0x774a4a6f47c1605cL,
  14537. 0x46ba42452fd205e8L },
  14538. { 0xa06feea4d3fd524dL,0x1e7246416de1acc2L,0xf53816f1334e2b42L,
  14539. 0x49e5918e922f0024L } },
  14540. /* 32 << 70 */
  14541. { { 0x439530b665c7322dL,0xcf12cc01b3c1b3fbL,0xc70b01860172f685L,
  14542. 0xb915ee221b58391dL },
  14543. { 0x9afdf03ba317db24L,0x87dec65917b8ffc4L,0x7f46597be4d3d050L,
  14544. 0x80a1c1ed006500e7L } },
  14545. /* 33 << 70 */
  14546. { { 0x84902a9678bf030eL,0xfb5e9c9a50560148L,0x6dae0a9263362426L,
  14547. 0xdcaeecf4a9e30c40L },
  14548. { 0xc0d887bb518d0c6bL,0x99181152cb985b9dL,0xad186898ef7bc381L,
  14549. 0x18168ffb9ee46201L } },
  14550. /* 34 << 70 */
  14551. { { 0x9a04cdaa2502753cL,0xbb279e2651407c41L,0xeacb03aaf23564e5L,
  14552. 0x1833658271e61016L },
  14553. { 0x8684b8c4eb809877L,0xb336e18dea0e672eL,0xefb601f034ee5867L,
  14554. 0x2733edbe1341cfd1L } },
  14555. /* 35 << 70 */
  14556. { { 0xb15e809a26025c3cL,0xe6e981a69350df88L,0x923762378502fd8eL,
  14557. 0x4791f2160c12be9bL },
  14558. { 0xb725678925f02425L,0xec8631947a974443L,0x7c0ce882fb41cc52L,
  14559. 0xc266ff7ef25c07f2L } },
  14560. /* 36 << 70 */
  14561. { { 0x3d4da8c3017025f3L,0xefcf628cfb9579b4L,0x5c4d00161f3716ecL,
  14562. 0x9c27ebc46801116eL },
  14563. { 0x5eba0ea11da1767eL,0xfe15145247004c57L,0x3ace6df68c2373b7L,
  14564. 0x75c3dffe5dbc37acL } },
  14565. /* 37 << 70 */
  14566. { { 0x3dc32a73ddc925fcL,0xb679c8412f65ee0bL,0x715a3295451cbfebL,
  14567. 0xd9889768f76e9a29L },
  14568. { 0xec20ce7fb28ad247L,0xe99146c400894d79L,0x71457d7c9f5e3ea7L,
  14569. 0x097b266238030031L } },
  14570. /* 38 << 70 */
  14571. { { 0xdb7f6ae6cf9f82a8L,0x319decb9438f473aL,0xa63ab386283856c3L,
  14572. 0x13e3172fb06a361bL },
  14573. { 0x2959f8dc7d5a006cL,0x2dbc27c675fba752L,0xc1227ab287c22c9eL,
  14574. 0x06f61f7571a268b2L } },
  14575. /* 39 << 70 */
  14576. { { 0x1b6bb97104779ce2L,0xaca838120aadcb1dL,0x297ae0bcaeaab2d5L,
  14577. 0xa5c14ee75bfb9f13L },
  14578. { 0xaa00c583f17a62c7L,0x39eb962c173759f6L,0x1eeba1d486c9a88fL,
  14579. 0x0ab6c37adf016c5eL } },
  14580. /* 40 << 70 */
  14581. { { 0xa2a147dba28a0749L,0x246c20d6ee519165L,0x5068d1b1d3810715L,
  14582. 0xb1e7018c748160b9L },
  14583. { 0x03f5b1faf380ff62L,0xef7fb1ddf3cb2c1eL,0xeab539a8fc91a7daL,
  14584. 0x83ddb707f3f9b561L } },
  14585. /* 41 << 70 */
  14586. { { 0xc550e211fe7df7a4L,0xa7cd07f2063f6f40L,0xb0de36352976879cL,
  14587. 0xb5f83f85e55741daL },
  14588. { 0x4ea9d25ef3d8ac3dL,0x6fe2066f62819f02L,0x4ab2b9c2cef4a564L,
  14589. 0x1e155d965ffa2de3L } },
  14590. /* 42 << 70 */
  14591. { { 0x0eb0a19bc3a72d00L,0x4037665b8513c31bL,0x2fb2b6bf04c64637L,
  14592. 0x45c34d6e08cdc639L },
  14593. { 0x56f1e10ff01fd796L,0x4dfb8101fe3667b8L,0xe0eda2539021d0c0L,
  14594. 0x7a94e9ff8a06c6abL } },
  14595. /* 43 << 70 */
  14596. { { 0x2d3bb0d9bb9aa882L,0xea20e4e5ec05fd10L,0xed7eeb5f1a1ca64eL,
  14597. 0x2fa6b43cc6327cbdL },
  14598. { 0xb577e3cf3aa91121L,0x8c6bd5ea3a34079bL,0xd7e5ba3960e02fc0L,
  14599. 0xf16dd2c390141bf8L } },
  14600. /* 44 << 70 */
  14601. { { 0xb57276d980101b98L,0x760883fdb82f0f66L,0x89d7de754bc3eff3L,
  14602. 0x03b606435dc2ab40L },
  14603. { 0xcd6e53dfe05beeacL,0xf2f1e862bc3325cdL,0xdd0f7921774f03c3L,
  14604. 0x97ca72214552cc1bL } },
  14605. /* 45 << 70 */
  14606. { { 0x5a0d6afe1cd19f72L,0xa20915dcf183fbebL,0x9fda4b40832c403cL,
  14607. 0x32738eddbe425442L },
  14608. { 0x469a1df6b5eccf1aL,0x4b5aff4228bbe1f0L,0x31359d7f570dfc93L,
  14609. 0xa18be235f0088628L } },
  14610. /* 46 << 70 */
  14611. { { 0xa5b30fbab00ed3a9L,0x34c6137473cdf8beL,0x2c5c5f46abc56797L,
  14612. 0x5cecf93db82a8ae2L },
  14613. { 0x7d3dbe41a968fbf0L,0xd23d45831a5c7f3dL,0xf28f69a0c087a9c7L,
  14614. 0xc2d75471474471caL } },
  14615. /* 47 << 70 */
  14616. { { 0x36ec9f4a4eb732ecL,0x6c943bbdb1ca6bedL,0xd64535e1f2457892L,
  14617. 0x8b84a8eaf7e2ac06L },
  14618. { 0xe0936cd32499dd5fL,0x12053d7e0ed04e57L,0x4bdd0076e4305d9dL,
  14619. 0x34a527b91f67f0a2L } },
  14620. /* 48 << 70 */
  14621. { { 0xe79a4af09cec46eaL,0xb15347a1658b9bc7L,0x6bd2796f35af2f75L,
  14622. 0xac9579904051c435L },
  14623. { 0x2669dda3c33a655dL,0x5d503c2e88514aa3L,0xdfa113373753dd41L,
  14624. 0x3f0546730b754f78L } },
  14625. /* 49 << 70 */
  14626. { { 0xbf185677496125bdL,0xfb0023c83775006cL,0xfa0f072f3a037899L,
  14627. 0x4222b6eb0e4aea57L },
  14628. { 0x3dde5e767866d25aL,0xb6eb04f84837aa6fL,0x5315591a2cf1cdb8L,
  14629. 0x6dfb4f412d4e683cL } },
  14630. /* 50 << 70 */
  14631. { { 0x7e923ea448ee1f3aL,0x9604d9f705a2afd5L,0xbe1d4a3340ea4948L,
  14632. 0x5b45f1f4b44cbd2fL },
  14633. { 0x5faf83764acc757eL,0xa7cf9ab863d68ff7L,0x8ad62f69df0e404bL,
  14634. 0xd65f33c212bdafdfL } },
  14635. /* 51 << 70 */
  14636. { { 0xc365de15a377b14eL,0x6bf5463b8e39f60cL,0x62030d2d2ce68148L,
  14637. 0xd95867efe6f843a8L },
  14638. { 0xd39a0244ef5ab017L,0x0bd2d8c14ab55d12L,0xc9503db341639169L,
  14639. 0x2d4e25b0f7660c8aL } },
  14640. /* 52 << 70 */
  14641. { { 0x760cb3b5e224c5d7L,0xfa3baf8c68616919L,0x9fbca1138d142552L,
  14642. 0x1ab18bf17669ebf5L },
  14643. { 0x55e6f53e9bdf25ddL,0x04cc0bf3cb6cd154L,0x595bef4995e89080L,
  14644. 0xfe9459a8104a9ac1L } },
  14645. /* 53 << 70 */
  14646. { { 0xad2d89cacce9bb32L,0xddea65e1f7de8285L,0x62ed8c35b351bd4bL,
  14647. 0x4150ff360c0e19a7L },
  14648. { 0x86e3c801345f4e47L,0x3bf21f71203a266cL,0x7ae110d4855b1f13L,
  14649. 0x5d6aaf6a07262517L } },
  14650. /* 54 << 70 */
  14651. { { 0x1e0f12e1813d28f1L,0x6000e11d7ad7a523L,0xc7d8deefc744a17bL,
  14652. 0x1e990b4814c05a00L },
  14653. { 0x68fddaee93e976d5L,0x696241d146610d63L,0xb204e7c3893dda88L,
  14654. 0x8bccfa656a3a6946L } },
  14655. /* 55 << 70 */
  14656. { { 0xb59425b4c5cd1411L,0x701b4042ff3658b1L,0xe3e56bca4784cf93L,
  14657. 0x27de5f158fe68d60L },
  14658. { 0x4ab9cfcef8d53f19L,0xddb10311a40a730dL,0x6fa73cd14eee0a8aL,
  14659. 0xfd5487485249719dL } },
  14660. /* 56 << 70 */
  14661. { { 0x49d66316a8123ef0L,0x73c32db4e7f95438L,0x2e2ed2090d9e7854L,
  14662. 0xf98a93299d9f0507L },
  14663. { 0xc5d33cf60c6aa20aL,0x9a32ba1475279bb2L,0x7e3202cb774a7307L,
  14664. 0x64ed4bc4e8c42dbdL } },
  14665. /* 57 << 70 */
  14666. { { 0xc20f1a06d4caed0dL,0xb8021407171d22b3L,0xd426ca04d13268d7L,
  14667. 0x9237700725f4d126L },
  14668. { 0x4204cbc371f21a85L,0x18461b7af82369baL,0xc0c07d313fc858f9L,
  14669. 0x5deb5a50e2bab569L } },
  14670. /* 58 << 70 */
  14671. { { 0xd5959d46d5eea89eL,0xfdff842408437f4bL,0xf21071e43cfe254fL,
  14672. 0x7241769695468321L },
  14673. { 0x5d8288b9102cae3eL,0x2d143e3df1965dffL,0x00c9a376a078d847L,
  14674. 0x6fc0da3126028731L } },
  14675. /* 59 << 70 */
  14676. { { 0xa2baeadfe45083a2L,0x66bc72185e5b4bcdL,0x2c826442d04b8e7fL,
  14677. 0xc19f54516c4b586bL },
  14678. { 0x60182c495b7eeed5L,0xd9954ecd7aa9dfa1L,0xa403a8ecc73884adL,
  14679. 0x7fb17de29bb39041L } },
  14680. /* 60 << 70 */
  14681. { { 0x694b64c5abb020e8L,0x3d18c18419c4eec7L,0x9c4673ef1c4793e5L,
  14682. 0xc7b8aeb5056092e6L },
  14683. { 0x3aa1ca43f0f8c16bL,0x224ed5ecd679b2f6L,0x0d56eeaf55a205c9L,
  14684. 0xbfe115ba4b8e028bL } },
  14685. /* 61 << 70 */
  14686. { { 0x97e608493927f4feL,0xf91fbf94759aa7c5L,0x985af7696be90a51L,
  14687. 0xc1277b7878ccb823L },
  14688. { 0x395b656ee7a75952L,0x00df7de0928da5f5L,0x09c231754ca4454fL,
  14689. 0x4ec971f47aa2d3c1L } },
  14690. /* 62 << 70 */
  14691. { { 0x45c3c507e75d9cccL,0x63b7be8a3dc90306L,0x37e09c665db44bdcL,
  14692. 0x50d60da16841c6a2L },
  14693. { 0x6f9b65ee08df1b12L,0x387348797ff089dfL,0x9c331a663fe8013dL,
  14694. 0x017f5de95f42fcc8L } },
  14695. /* 63 << 70 */
  14696. { { 0x43077866e8e57567L,0xc9f781cef9fcdb18L,0x38131dda9b12e174L,
  14697. 0x25d84aa38a03752aL },
  14698. { 0x45e09e094d0c0ce2L,0x1564008b92bebba5L,0xf7e8ad31a87284c7L,
  14699. 0xb7c4b46c97e7bbaaL } },
  14700. /* 64 << 70 */
  14701. { { 0x3e22a7b397acf4ecL,0x0426c4005ea8b640L,0x5e3295a64e969285L,
  14702. 0x22aabc59a6a45670L },
  14703. { 0xb929714c5f5942bcL,0x9a6168bdfa3182edL,0x2216a665104152baL,
  14704. 0x46908d03b6926368L } },
  14705. /* 0 << 77 */
  14706. { { 0x00, 0x00, 0x00, 0x00 },
  14707. { 0x00, 0x00, 0x00, 0x00 } },
  14708. /* 1 << 77 */
  14709. { { 0xa9f5d8745a1251fbL,0x967747a8c72725c7L,0x195c33e531ffe89eL,
  14710. 0x609d210fe964935eL },
  14711. { 0xcafd6ca82fe12227L,0xaf9b5b960426469dL,0x2e9ee04c5693183cL,
  14712. 0x1084a333c8146fefL } },
  14713. /* 2 << 77 */
  14714. { { 0x96649933aed1d1f7L,0x566eaff350563090L,0x345057f0ad2e39cfL,
  14715. 0x148ff65b1f832124L },
  14716. { 0x042e89d4cf94cf0dL,0x319bec84520c58b3L,0x2a2676265361aa0dL,
  14717. 0xc86fa3028fbc87adL } },
  14718. /* 3 << 77 */
  14719. { { 0xfc83d2ab5c8b06d5L,0xb1a785a2fe4eac46L,0xb99315bc846f7779L,
  14720. 0xcf31d816ef9ea505L },
  14721. { 0x2391fe6a15d7dc85L,0x2f132b04b4016b33L,0x29547fe3181cb4c7L,
  14722. 0xdb66d8a6650155a1L } },
  14723. /* 4 << 77 */
  14724. { { 0x6b66d7e1adc1696fL,0x98ebe5930acd72d0L,0x65f24550cc1b7435L,
  14725. 0xce231393b4b9a5ecL },
  14726. { 0x234a22d4db067df9L,0x98dda095caff9b00L,0x1bbc75a06100c9c1L,
  14727. 0x1560a9c8939cf695L } },
  14728. /* 5 << 77 */
  14729. { { 0xcf006d3e99e0925fL,0x2dd74a966322375aL,0xc58b446ab56af5baL,
  14730. 0x50292683e0b9b4f1L },
  14731. { 0xe2c34cb41aeaffa3L,0x8b17203f9b9587c1L,0x6d559207ead1350cL,
  14732. 0x2b66a215fb7f9604L } },
  14733. /* 6 << 77 */
  14734. { { 0x0850325efe51bf74L,0x9c4f579e5e460094L,0x5c87b92a76da2f25L,
  14735. 0x889de4e06febef33L },
  14736. { 0x6900ec06646083ceL,0xbe2a0335bfe12773L,0xadd1da35c5344110L,
  14737. 0x757568b7b802cd20L } },
  14738. /* 7 << 77 */
  14739. { { 0x7555977900f7e6c8L,0x38e8b94f0facd2f0L,0xfea1f3af03fde375L,
  14740. 0x5e11a1d875881dfcL },
  14741. { 0xb3a6b02ec1e2f2efL,0x193d2bbbc605a6c5L,0x325ffeee339a0b2dL,
  14742. 0x27b6a7249e0c8846L } },
  14743. /* 8 << 77 */
  14744. { { 0xe4050f1cf1c367caL,0x9bc85a9bc90fbc7dL,0xa373c4a2e1a11032L,
  14745. 0xb64232b7ad0393a9L },
  14746. { 0xf5577eb0167dad29L,0x1604f30194b78ab2L,0x0baa94afe829348bL,
  14747. 0x77fbd8dd41654342L } },
  14748. /* 9 << 77 */
  14749. { { 0xdab50ea5b964e39aL,0xd4c29e3cd0d3c76eL,0x80dae67c56d11964L,
  14750. 0x7307a8bfe5ffcc2fL },
  14751. { 0x65bbc1aa91708c3bL,0xa151e62c28bf0eebL,0x6cb533816fa34db7L,
  14752. 0x5139e05ca29403a8L } },
  14753. /* 10 << 77 */
  14754. { { 0x6ff651b494a7cd2eL,0x5671ffd10699336cL,0x6f5fd2cc979a896aL,
  14755. 0x11e893a8d8148cefL },
  14756. { 0x988906a165cf7b10L,0x81b67178c50d8485L,0x7c0deb358a35b3deL,
  14757. 0x423ac855c1d29799L } },
  14758. /* 11 << 77 */
  14759. { { 0xaf580d87dac50b74L,0x28b2b89f5869734cL,0x99a3b936874e28fbL,
  14760. 0xbb2c919025f3f73aL },
  14761. { 0x199f691884a9d5b7L,0x7ebe23257e770374L,0xf442e1070738efe2L,
  14762. 0xcf9f3f56cf9082d2L } },
  14763. /* 12 << 77 */
  14764. { { 0x719f69e109618708L,0xcc9e8364c183f9b1L,0xec203a95366a21afL,
  14765. 0x6aec5d6d068b141fL },
  14766. { 0xee2df78a994f04e9L,0xb39ccae8271245b0L,0xb875a4a997e43f4fL,
  14767. 0x507dfe11db2cea98L } },
  14768. /* 13 << 77 */
  14769. { { 0x4fbf81cb489b03e9L,0xdb86ec5b6ec414faL,0xfad444f9f51b3ae5L,
  14770. 0xca7d33d61914e3feL },
  14771. { 0xa9c32f5c0ae6c4d0L,0xa9ca1d1e73969568L,0x98043c311aa7467eL,
  14772. 0xe832e75ce21b5ac6L } },
  14773. /* 14 << 77 */
  14774. { { 0x314b7aea5232123dL,0x08307c8c65ae86dbL,0x06e7165caa4668edL,
  14775. 0xb170458bb4d3ec39L },
  14776. { 0x4d2e3ec6c19bb986L,0xc5f34846ae0304edL,0x917695a06c9f9722L,
  14777. 0x6c7f73174cab1c0aL } },
  14778. /* 15 << 77 */
  14779. { { 0x6295940e9d6d2e8bL,0xd318b8c1549f7c97L,0x2245320497713885L,
  14780. 0x468d834ba8a440feL },
  14781. { 0xd81fe5b2bfba796eL,0x152364db6d71f116L,0xbb8c7c59b5b66e53L,
  14782. 0x0b12c61b2641a192L } },
  14783. /* 16 << 77 */
  14784. { { 0x31f14802fcf0a7fdL,0x42fd07895488b01eL,0x71d78d6d9952b498L,
  14785. 0x8eb572d907ac5201L },
  14786. { 0xe0a2a44c4d194a88L,0xd2b63fd9ba017e66L,0x78efc6c8f888aefcL,
  14787. 0xb76f6bda4a881a11L } },
  14788. /* 17 << 77 */
  14789. { { 0x187f314bb46c2397L,0x004cf5665ded2819L,0xa9ea570438764d34L,
  14790. 0xbba4521778084709L },
  14791. { 0x064745711171121eL,0xad7b7eb1e7c9b671L,0xdacfbc40730f7507L,
  14792. 0x178cd8c6c7ad7bd1L } },
  14793. /* 18 << 77 */
  14794. { { 0xbf0be101b2a67238L,0x3556d367af9c14f2L,0x104b7831a5662075L,
  14795. 0x58ca59bb79d9e60aL },
  14796. { 0x4bc45392a569a73bL,0x517a52e85698f6c9L,0x85643da5aeadd755L,
  14797. 0x1aed0cd52a581b84L } },
  14798. /* 19 << 77 */
  14799. { { 0xb9b4ff8480af1372L,0x244c3113f1ba5d1fL,0x2a5dacbef5f98d31L,
  14800. 0x2c3323e84375bc2aL },
  14801. { 0x17a3ab4a5594b1ddL,0xa1928bfbceb4797eL,0xe83af245e4886a19L,
  14802. 0x8979d54672b5a74aL } },
  14803. /* 20 << 77 */
  14804. { { 0xa0f726bc19f9e967L,0xd9d03152e8fbbf4eL,0xcfd6f51db7707d40L,
  14805. 0x633084d963f6e6e0L },
  14806. { 0xedcd9cdc55667eafL,0x73b7f92b2e44d56fL,0xfb2e39b64e962b14L,
  14807. 0x7d408f6ef671fcbfL } },
  14808. /* 21 << 77 */
  14809. { { 0xcc634ddc164a89bbL,0x74a42bb23ef3bd05L,0x1280dbb2428decbbL,
  14810. 0x6103f6bb402c8596L },
  14811. { 0xfa2bf581355a5752L,0x562f96a800946674L,0x4e4ca16d6da0223bL,
  14812. 0xfe47819f28d3aa25L } },
  14813. /* 22 << 77 */
  14814. { { 0x9eea3075f8dfcf8aL,0xa284f0aa95669825L,0xb3fca250867d3fd8L,
  14815. 0x20757b5f269d691eL },
  14816. { 0xf2c2402093b8a5deL,0xd3f93359ebc06da6L,0x1178293eb2739c33L,
  14817. 0xd2a3e770bcd686e5L } },
  14818. /* 23 << 77 */
  14819. { { 0xa76f49f4cd941534L,0x0d37406be3c71c0eL,0x172d93973b97f7e3L,
  14820. 0xec17e239bd7fd0deL },
  14821. { 0xe32905516f496ba2L,0x6a69317236ad50e7L,0xc4e539a283e7eff5L,
  14822. 0x752737e718e1b4cfL } },
  14823. /* 24 << 77 */
  14824. { { 0xa2f7932c68af43eeL,0x5502468e703d00bdL,0xe5dc978f2fb061f5L,
  14825. 0xc9a1904a28c815adL },
  14826. { 0xd3af538d470c56a4L,0x159abc5f193d8cedL,0x2a37245f20108ef3L,
  14827. 0xfa17081e223f7178L } },
  14828. /* 25 << 77 */
  14829. { { 0x27b0fb2b10c8c0f5L,0x2102c3ea40650547L,0x594564df8ac3bfa7L,
  14830. 0x98102033509dad96L },
  14831. { 0x6989643ff1d18a13L,0x35eebd91d7fc5af0L,0x078d096afaeaafd8L,
  14832. 0xb7a89341def3de98L } },
  14833. /* 26 << 77 */
  14834. { { 0x2a206e8decf2a73aL,0x066a63978e551994L,0x3a6a088ab98d53a2L,
  14835. 0x0ce7c67c2d1124aaL },
  14836. { 0x48cec671759a113cL,0xe3b373d34f6f67faL,0x5455d479fd36727bL,
  14837. 0xe5a428eea13c0d81L } },
  14838. /* 27 << 77 */
  14839. { { 0xb853dbc81c86682bL,0xb78d2727b8d02b2aL,0xaaf69bed8ebc329aL,
  14840. 0xdb6b40b3293b2148L },
  14841. { 0xe42ea77db8c4961fL,0xb1a12f7c20e5e0abL,0xa0ec527479e8b05eL,
  14842. 0x68027391fab60a80L } },
  14843. /* 28 << 77 */
  14844. { { 0x6bfeea5f16b1bd5eL,0xf957e4204de30ad3L,0xcbaf664e6a353b9eL,
  14845. 0x5c87331226d14febL },
  14846. { 0x4e87f98cb65f57cbL,0xdb60a6215e0cdd41L,0x67c16865a6881440L,
  14847. 0x1093ef1a46ab52aaL } },
  14848. /* 29 << 77 */
  14849. { { 0xc095afb53f4ece64L,0x6a6bb02e7604551aL,0x55d44b4e0b26b8cdL,
  14850. 0xe5f9a999f971268aL },
  14851. { 0xc08ec42511a7de84L,0x83568095fda469ddL,0x737bfba16c6c90a2L,
  14852. 0x1cb9c4a0be229831L } },
  14853. /* 30 << 77 */
  14854. { { 0x93bccbbabb2eec64L,0xa0c23b64da03adbeL,0x5f7aa00ae0e86ac4L,
  14855. 0x470b941efc1401e6L },
  14856. { 0x5ad8d6799df43574L,0x4ccfb8a90f65d810L,0x1bce80e3aa7fbd81L,
  14857. 0x273291ad9508d20aL } },
  14858. /* 31 << 77 */
  14859. { { 0xf5c4b46b42a92806L,0x810684eca86ab44aL,0x4591640bca0bc9f8L,
  14860. 0xb5efcdfc5c4b6054L },
  14861. { 0x16fc89076e9edd12L,0xe29d0b50d4d792f9L,0xa45fd01c9b03116dL,
  14862. 0x85035235c81765a4L } },
  14863. /* 32 << 77 */
  14864. { { 0x1fe2a9b2b4b4b67cL,0xc1d10df0e8020604L,0x9d64abfcbc8058d8L,
  14865. 0x8943b9b2712a0fbbL },
  14866. { 0x90eed9143b3def04L,0x85ab3aa24ce775ffL,0x605fd4ca7bbc9040L,
  14867. 0x8b34a564e2c75dfbL } },
  14868. /* 33 << 77 */
  14869. { { 0x41ffc94a10358560L,0x2d8a50729e5c28aaL,0xe915a0fc4cc7eb15L,
  14870. 0xe9efab058f6d0f5dL },
  14871. { 0xdbab47a9d19e9b91L,0x8cfed7450276154cL,0x154357ae2cfede0dL,
  14872. 0x520630df19f5a4efL } },
  14873. /* 34 << 77 */
  14874. { { 0x25759f7ce382360fL,0xb6db05c988bf5857L,0x2917d61d6c58d46cL,
  14875. 0x14f8e491fd20cb7aL },
  14876. { 0xb68a727a11c20340L,0x0386f86faf7ccbb6L,0x5c8bc6ccfee09a20L,
  14877. 0x7d76ff4abb7eea35L } },
  14878. /* 35 << 77 */
  14879. { { 0xa7bdebe7db15be7aL,0x67a08054d89f0302L,0x56bf0ea9c1193364L,
  14880. 0xc824446762837ebeL },
  14881. { 0x32bd8e8b20d841b8L,0x127a0548dbb8a54fL,0x83dd4ca663b20236L,
  14882. 0x87714718203491faL } },
  14883. /* 36 << 77 */
  14884. { { 0x4dabcaaaaa8a5288L,0x91cc0c8aaf23a1c9L,0x34c72c6a3f220e0cL,
  14885. 0xbcc20bdf1232144aL },
  14886. { 0x6e2f42daa20ede1bL,0xc441f00c74a00515L,0xbf46a5b6734b8c4bL,
  14887. 0x574095037b56c9a4L } },
  14888. /* 37 << 77 */
  14889. { { 0x9f735261e4585d45L,0x9231faed6734e642L,0x1158a176be70ee6cL,
  14890. 0x35f1068d7c3501bfL },
  14891. { 0x6beef900a2d26115L,0x649406f2ef0afee3L,0x3f43a60abc2420a1L,
  14892. 0x509002a7d5aee4acL } },
  14893. /* 38 << 77 */
  14894. { { 0xb46836a53ff3571bL,0x24f98b78837927c1L,0x6254256a4533c716L,
  14895. 0xf27abb0bd07ee196L },
  14896. { 0xd7cf64fc5c6d5bfdL,0x6915c751f0cd7a77L,0xd9f590128798f534L,
  14897. 0x772b0da8f81d8b5fL } },
  14898. /* 39 << 77 */
  14899. { { 0x1244260c2e03fa69L,0x36cf0e3a3be1a374L,0x6e7c1633ef06b960L,
  14900. 0xa71a4c55671f90f6L },
  14901. { 0x7a94125133c673dbL,0xc0bea51073e8c131L,0x61a8a699d4f6c734L,
  14902. 0x25e78c88341ed001L } },
  14903. /* 40 << 77 */
  14904. { { 0x5c18acf88e2f7d90L,0xfdbf33d777be32cdL,0x0a085cd7d2eb5ee9L,
  14905. 0x2d702cfbb3201115L },
  14906. { 0xb6e0ebdb85c88ce8L,0x23a3ce3c1e01d617L,0x3041618e567333acL,
  14907. 0x9dd0fd8f157edb6bL } },
  14908. /* 41 << 77 */
  14909. { { 0x27f74702b57872b8L,0x2ef26b4f657d5fe1L,0x95426f0a57cf3d40L,
  14910. 0x847e2ad165a6067aL },
  14911. { 0xd474d9a009996a74L,0x16a56acd2a26115cL,0x02a615c3d16f4d43L,
  14912. 0xcc3fc965aadb85b7L } },
  14913. /* 42 << 77 */
  14914. { { 0x386bda73ce07d1b0L,0xd82910c258ad4178L,0x124f82cfcd2617f4L,
  14915. 0xcc2f5e8def691770L },
  14916. { 0x82702550b8c30cccL,0x7b856aea1a8e575aL,0xbb822fefb1ab9459L,
  14917. 0x085928bcec24e38eL } },
  14918. /* 43 << 77 */
  14919. { { 0x5d0402ecba8f4b4dL,0xc07cd4ba00b4d58bL,0x5d8dffd529227e7aL,
  14920. 0x61d44d0c31bf386fL },
  14921. { 0xe486dc2b135e6f4dL,0x680962ebe79410efL,0xa61bd343f10088b5L,
  14922. 0x6aa76076e2e28686L } },
  14923. /* 44 << 77 */
  14924. { { 0x80463d118fb98871L,0xcb26f5c3bbc76affL,0xd4ab8eddfbe03614L,
  14925. 0xc8eb579bc0cf2deeL },
  14926. { 0xcc004c15c93bae41L,0x46fbae5d3aeca3b2L,0x671235cf0f1e9ab1L,
  14927. 0xadfba9349ec285c1L } },
  14928. /* 45 << 77 */
  14929. { { 0x88ded013f216c980L,0xc8ac4fb8f79e0bc1L,0xa29b89c6fb97a237L,
  14930. 0xb697b7809922d8e7L },
  14931. { 0x3142c639ddb945b5L,0x447b06c7e094c3a9L,0xcdcb364272266c90L,
  14932. 0x633aad08a9385046L } },
  14933. /* 46 << 77 */
  14934. { { 0xa36c936bb57c6477L,0x871f8b64e94dbcc6L,0x28d0fb62a591a67bL,
  14935. 0x9d40e081c1d926f5L },
  14936. { 0x3111eaf6f2d84b5aL,0x228993f9a565b644L,0x0ccbf5922c83188bL,
  14937. 0xf87b30ab3df3e197L } },
  14938. /* 47 << 77 */
  14939. { { 0xb8658b317642bca8L,0x1a032d7f52800f17L,0x051dcae579bf9445L,
  14940. 0xeba6b8ee54a2e253L },
  14941. { 0x5c8b9cadd4485692L,0x84bda40e8986e9beL,0xd16d16a42f0db448L,
  14942. 0x8ec80050a14d4188L } },
  14943. /* 48 << 77 */
  14944. { { 0xb2b2610798fa7aaaL,0x41209ee4f073aa4eL,0xf1570359f2d6b19bL,
  14945. 0xcbe6868cfc577cafL },
  14946. { 0x186c4bdc32c04dd3L,0xa6c35faecfeee397L,0xb4a1b312f086c0cfL,
  14947. 0xe0a5ccc6d9461fe2L } },
  14948. /* 49 << 77 */
  14949. { { 0xc32278aa1536189fL,0x1126c55fba6df571L,0x0f71a602b194560eL,
  14950. 0x8b2d7405324bd6e1L },
  14951. { 0x8481939e3738be71L,0xb5090b1a1a4d97a9L,0x116c65a3f05ba915L,
  14952. 0x21863ad3aae448aaL } },
  14953. /* 50 << 77 */
  14954. { { 0xd24e2679a7aae5d3L,0x7076013d0de5c1c4L,0x2d50f8babb05b629L,
  14955. 0x73c1abe26e66efbbL },
  14956. { 0xefd4b422f2488af7L,0xe4105d02663ba575L,0x7eb60a8b53a69457L,
  14957. 0x62210008c945973bL } },
  14958. /* 51 << 77 */
  14959. { { 0xfb25547877a50ec6L,0xbf0392f70a37a72cL,0xa0a7a19c4be18e7aL,
  14960. 0x90d8ea1625b1e0afL },
  14961. { 0x7582a293ef953f57L,0x90a64d05bdc5465aL,0xca79c497e2510717L,
  14962. 0x560dbb7c18cb641fL } },
  14963. /* 52 << 77 */
  14964. { { 0x1d8e32864b66abfbL,0xd26f52e559030900L,0x1ee3f6435584941aL,
  14965. 0x6d3b3730569f5958L },
  14966. { 0x9ff2a62f4789dba5L,0x91fcb81572b5c9b7L,0xf446cb7d6c8f9a0eL,
  14967. 0x48f625c139b7ecb5L } },
  14968. /* 53 << 77 */
  14969. { { 0xbabae8011c6219b8L,0xe7a562d928ac2f23L,0xe1b4873226e20588L,
  14970. 0x06ee1cad775af051L },
  14971. { 0xda29ae43faff79f7L,0xc141a412652ee9e0L,0x1e127f6f195f4bd0L,
  14972. 0x29c6ab4f072f34f8L } },
  14973. /* 54 << 77 */
  14974. { { 0x7b7c147730448112L,0x82b51af1e4a38656L,0x2bf2028a2f315010L,
  14975. 0xc9a4a01f6ea88cd4L },
  14976. { 0xf63e95d8257e5818L,0xdd8efa10b4519b16L,0xed8973e00da910bfL,
  14977. 0xed49d0775c0fe4a9L } },
  14978. /* 55 << 77 */
  14979. { { 0xac3aac5eb7caee1eL,0x1033898da7f4da57L,0x42145c0e5c6669b9L,
  14980. 0x42daa688c1aa2aa0L },
  14981. { 0x629cc15c1a1d885aL,0x25572ec0f4b76817L,0x8312e4359c8f8f28L,
  14982. 0x8107f8cd81965490L } },
  14983. /* 56 << 77 */
  14984. { { 0x516ff3a36fa6110cL,0x74fb1eb1fb93561fL,0x6c0c90478457522bL,
  14985. 0xcfd321046bb8bdc6L },
  14986. { 0x2d6884a2cc80ad57L,0x7c27fc3586a9b637L,0x3461baedadf4e8cdL,
  14987. 0x1d56251a617242f0L } },
  14988. /* 57 << 77 */
  14989. { { 0x0b80d209c955bef4L,0xdf02cad206adb047L,0xf0d7cb915ec74feeL,
  14990. 0xd25033751111ba44L },
  14991. { 0x9671755edf53cb36L,0x54dcb6123368551bL,0x66d69aacc8a025a4L,
  14992. 0x6be946c6e77ef445L } },
  14993. /* 58 << 77 */
  14994. { { 0x719946d1a995e094L,0x65e848f6e51e04d8L,0xe62f33006a1e3113L,
  14995. 0x1541c7c1501de503L },
  14996. { 0x4daac9faf4acfadeL,0x0e58589744cd0b71L,0x544fd8690a51cd77L,
  14997. 0x60fc20ed0031016dL } },
  14998. /* 59 << 77 */
  14999. { { 0x58b404eca4276867L,0x46f6c3cc34f34993L,0x477ca007c636e5bdL,
  15000. 0x8018f5e57c458b47L },
  15001. { 0xa1202270e47b668fL,0xcef48ccdee14f203L,0x23f98bae62ff9b4dL,
  15002. 0x55acc035c589edddL } },
  15003. /* 60 << 77 */
  15004. { { 0x3fe712af64db4444L,0x19e9d634becdd480L,0xe08bc047a930978aL,
  15005. 0x2dbf24eca1280733L },
  15006. { 0x3c0ae38c2cd706b2L,0x5b012a5b359017b9L,0x3943c38c72e0f5aeL,
  15007. 0x786167ea57176fa3L } },
  15008. /* 61 << 77 */
  15009. { { 0xe5f9897d594881dcL,0x6b5efad8cfb820c1L,0xb2179093d55018deL,
  15010. 0x39ad7d320bac56ceL },
  15011. { 0xb55122e02cfc0e81L,0x117c4661f6d89daaL,0x362d01e1cb64fa09L,
  15012. 0x6a309b4e3e9c4dddL } },
  15013. /* 62 << 77 */
  15014. { { 0xfa979fb7abea49b1L,0xb4b1d27d10e2c6c5L,0xbd61c2c423afde7aL,
  15015. 0xeb6614f89786d358L },
  15016. { 0x4a5d816b7f6f7459L,0xe431a44f09360e7bL,0x8c27a032c309914cL,
  15017. 0xcea5d68acaede3d8L } },
  15018. /* 63 << 77 */
  15019. { { 0x3668f6653a0a3f95L,0x893694167ceba27bL,0x89981fade4728fe9L,
  15020. 0x7102c8a08a093562L },
  15021. { 0xbb80310e235d21c8L,0x505e55d1befb7f7bL,0xa0a9081112958a67L,
  15022. 0xd67e106a4d851fefL } },
  15023. /* 64 << 77 */
  15024. { { 0xb84011a9431dd80eL,0xeb7c7cca73306cd9L,0x20fadd29d1b3b730L,
  15025. 0x83858b5bfe37b3d3L },
  15026. { 0xbf4cd193b6251d5cL,0x1cca1fd31352d952L,0xc66157a490fbc051L,
  15027. 0x7990a63889b98636L } },
  15028. /* 0 << 84 */
  15029. { { 0x00, 0x00, 0x00, 0x00 },
  15030. { 0x00, 0x00, 0x00, 0x00 } },
  15031. /* 1 << 84 */
  15032. { { 0xe5aa692a87dec0e1L,0x010ded8df7b39d00L,0x7b1b80c854cfa0b5L,
  15033. 0x66beb876a0f8ea28L },
  15034. { 0x50d7f5313476cd0eL,0xa63d0e65b08d3949L,0x1a09eea953479fc6L,
  15035. 0x82ae9891f499e742L } },
  15036. /* 2 << 84 */
  15037. { { 0xab58b9105ca7d866L,0x582967e23adb3b34L,0x89ae4447cceac0bcL,
  15038. 0x919c667c7bf56af5L },
  15039. { 0x9aec17b160f5dcd7L,0xec697b9fddcaadbcL,0x0b98f341463467f5L,
  15040. 0xb187f1f7a967132fL } },
  15041. /* 3 << 84 */
  15042. { { 0x90fe7a1d214aeb18L,0x1506af3c741432f7L,0xbb5565f9e591a0c4L,
  15043. 0x10d41a77b44f1bc3L },
  15044. { 0xa09d65e4a84bde96L,0x42f060d8f20a6a1cL,0x652a3bfdf27f9ce7L,
  15045. 0xb6bdb65c3b3d739fL } },
  15046. /* 4 << 84 */
  15047. { { 0xeb5ddcb6ec7fae9fL,0x995f2714efb66e5aL,0xdee95d8e69445d52L,
  15048. 0x1b6c2d4609e27620L },
  15049. { 0x32621c318129d716L,0xb03909f10958c1aaL,0x8c468ef91af4af63L,
  15050. 0x162c429ffba5cdf6L } },
  15051. /* 5 << 84 */
  15052. { { 0x2f682343753b9371L,0x29cab45a5f1f9cd7L,0x571623abb245db96L,
  15053. 0xc507db093fd79999L },
  15054. { 0x4e2ef652af036c32L,0x86f0cc7805018e5cL,0xc10a73d4ab8be350L,
  15055. 0x6519b3977e826327L } },
  15056. /* 6 << 84 */
  15057. { { 0xe8cb5eef9c053df7L,0x8de25b37b300ea6fL,0xdb03fa92c849cffbL,
  15058. 0x242e43a7e84169bbL },
  15059. { 0xe4fa51f4dd6f958eL,0x6925a77ff4445a8dL,0xe6e72a50e90d8949L,
  15060. 0xc66648e32b1f6390L } },
  15061. /* 7 << 84 */
  15062. { { 0xb2ab1957173e460cL,0x1bbbce7530704590L,0xc0a90dbddb1c7162L,
  15063. 0x505e399e15cdd65dL },
  15064. { 0x68434dcb57797ab7L,0x60ad35ba6a2ca8e8L,0x4bfdb1e0de3336c1L,
  15065. 0xbbef99ebd8b39015L } },
  15066. /* 8 << 84 */
  15067. { { 0x6c3b96f31711ebecL,0x2da40f1fce98fdc4L,0xb99774d357b4411fL,
  15068. 0x87c8bdf415b65bb6L },
  15069. { 0xda3a89e3c2eef12dL,0xde95bb9b3c7471f3L,0x600f225bd812c594L,
  15070. 0x54907c5d2b75a56bL } },
  15071. /* 9 << 84 */
  15072. { { 0xa93cc5f08db60e35L,0x743e3cd6fa833319L,0x7dad5c41f81683c9L,
  15073. 0x70c1e7d99c34107eL },
  15074. { 0x0edc4a39a6be0907L,0x36d4703586d0b7d3L,0x8c76da03272bfa60L,
  15075. 0x0b4a07ea0f08a414L } },
  15076. /* 10 << 84 */
  15077. { { 0x699e4d2945c1dd53L,0xcadc5898231debb5L,0xdf49fcc7a77f00e0L,
  15078. 0x93057bbfa73e5a0eL },
  15079. { 0x2f8b7ecd027a4cd1L,0x114734b3c614011aL,0xe7a01db767677c68L,
  15080. 0x89d9be5e7e273f4fL } },
  15081. /* 11 << 84 */
  15082. { { 0xd225cb2e089808efL,0xf1f7a27dd59e4107L,0x53afc7618211b9c9L,
  15083. 0x0361bc67e6819159L },
  15084. { 0x2a865d0b7f071426L,0x6a3c1810e7072567L,0x3e3bca1e0d6bcabdL,
  15085. 0xa1b02bc1408591bcL } },
  15086. /* 12 << 84 */
  15087. { { 0xe0deee5931fba239L,0xf47424d398bd91d1L,0x0f8886f4071a3c1dL,
  15088. 0x3f7d41e8a819233bL },
  15089. { 0x708623c2cf6eb998L,0x86bb49af609a287fL,0x942bb24963c90762L,
  15090. 0x0ef6eea555a9654bL } },
  15091. /* 13 << 84 */
  15092. { { 0x5f6d2d7236f5defeL,0xfa9922dc56f99176L,0x6c8c5ecef78ce0c7L,
  15093. 0x7b44589dbe09b55eL },
  15094. { 0xe11b3bca9ea83770L,0xd7fa2c7f2ab71547L,0x2a3dd6fa2a1ddcc0L,
  15095. 0x09acb4305a7b7707L } },
  15096. /* 14 << 84 */
  15097. { { 0x4add4a2e649d4e57L,0xcd53a2b01917526eL,0xc526233020b44ac4L,
  15098. 0x4028746abaa2c31dL },
  15099. { 0x5131839064291d4cL,0xbf48f151ee5ad909L,0xcce57f597b185681L,
  15100. 0x7c3ac1b04854d442L } },
  15101. /* 15 << 84 */
  15102. { { 0x65587dc3c093c171L,0xae7acb2424f42b65L,0x5a338adb955996cbL,
  15103. 0xc8e656756051f91bL },
  15104. { 0x66711fba28b8d0b1L,0x15d74137b6c10a90L,0x70cdd7eb3a232a80L,
  15105. 0xc9e2f07f6191ed24L } },
  15106. /* 16 << 84 */
  15107. { { 0xa80d1db6f79588c0L,0xfa52fc69b55768ccL,0x0b4df1ae7f54438aL,
  15108. 0x0cadd1a7f9b46a4fL },
  15109. { 0xb40ea6b31803dd6fL,0x488e4fa555eaae35L,0x9f047d55382e4e16L,
  15110. 0xc9b5b7e02f6e0c98L } },
  15111. /* 17 << 84 */
  15112. { { 0x6b1bd2d395762649L,0xa9604ee7c7aea3f6L,0x3646ff276dc6f896L,
  15113. 0x9bf0e7f52860bad1L },
  15114. { 0x2d92c8217cb44b92L,0xa2f5ce63aea9c182L,0xd0a2afb19154a5fdL,
  15115. 0x482e474c95801da6L } },
  15116. /* 18 << 84 */
  15117. { { 0xc19972d0b611c24bL,0x1d468e6560a8f351L,0xeb7580697bcf6421L,
  15118. 0xec9dd0ee88fbc491L },
  15119. { 0x5b59d2bf956c2e32L,0x73dc6864dcddf94eL,0xfd5e2321bcee7665L,
  15120. 0xa7b4f8ef5e9a06c4L } },
  15121. /* 19 << 84 */
  15122. { { 0xfba918dd7280f855L,0xbbaac2608baec688L,0xa3b3f00f33400f42L,
  15123. 0x3d2dba2966f2e6e4L },
  15124. { 0xb6f71a9498509375L,0x8f33031fcea423ccL,0x009b8dd04807e6fbL,
  15125. 0x5163cfe55cdb954cL } },
  15126. /* 20 << 84 */
  15127. { { 0x03cc8f17cf41c6e8L,0xf1f03c2a037b925cL,0xc39c19cc66d2427cL,
  15128. 0x823d24ba7b6c18e4L },
  15129. { 0x32ef9013901f0b4fL,0x684360f1f8941c2eL,0x0ebaff522c28092eL,
  15130. 0x7891e4e3256c932fL } },
  15131. /* 21 << 84 */
  15132. { { 0x51264319ac445e3dL,0x553432e78ea74381L,0xe6eeaa6967e9c50aL,
  15133. 0x27ced28462e628c7L },
  15134. { 0x3f96d3757a4afa57L,0xde0a14c3e484c150L,0x364a24eb38bd9923L,
  15135. 0x1df18da0e5177422L } },
  15136. /* 22 << 84 */
  15137. { { 0x174e8f82d8d38a9bL,0x2e97c600e7de1391L,0xc5709850a1c175ddL,
  15138. 0x969041a032ae5035L },
  15139. { 0xcbfd533b76a2086bL,0xd6bba71bd7c2e8feL,0xb2d58ee6099dfb67L,
  15140. 0x3a8b342d064a85d9L } },
  15141. /* 23 << 84 */
  15142. { { 0x3bc07649522f9be3L,0x690c075bdf1f49a8L,0x80e1aee83854ec42L,
  15143. 0x2a7dbf4417689dc7L },
  15144. { 0xc004fc0e3faf4078L,0xb2f02e9edf11862cL,0xf10a5e0fa0a1b7b3L,
  15145. 0x30aca6238936ec80L } },
  15146. /* 24 << 84 */
  15147. { { 0xf83cbf0502f40d9aL,0x4681c4682c318a4dL,0x985756180e9c2674L,
  15148. 0xbe79d0461847092eL },
  15149. { 0xaf1e480a78bd01e0L,0x6dd359e472a51db9L,0x62ce3821e3afbab6L,
  15150. 0xc5cee5b617733199L } },
  15151. /* 25 << 84 */
  15152. { { 0xe08b30d46ffd9fbbL,0x6e5bc69936c610b7L,0xf343cff29ce262cfL,
  15153. 0xca2e4e3568b914c1L },
  15154. { 0x011d64c016de36c5L,0xe0b10fdd42e2b829L,0x789429816685aaf8L,
  15155. 0xe7511708230ede97L } },
  15156. /* 26 << 84 */
  15157. { { 0x671ed8fc3b922bf8L,0xe4d8c0a04c29b133L,0x87eb12393b6e99c4L,
  15158. 0xaff3974c8793bebaL },
  15159. { 0x037494052c18df9bL,0xc5c3a29391007139L,0x6a77234fe37a0b95L,
  15160. 0x02c29a21b661c96bL } },
  15161. /* 27 << 84 */
  15162. { { 0xc3aaf1d6141ecf61L,0x9195509e3bb22f53L,0x2959740422d51357L,
  15163. 0x1b083822537bed60L },
  15164. { 0xcd7d6e35e07289f0L,0x1f94c48c6dd86effL,0xc8bb1f82eb0f9cfaL,
  15165. 0x9ee0b7e61b2eb97dL } },
  15166. /* 28 << 84 */
  15167. { { 0x5a52fe2e34d74e31L,0xa352c3103bf79ab6L,0x97ff6c5aabfeeb8fL,
  15168. 0xbfbe8feff5c97305L },
  15169. { 0xd6081ce6a7904608L,0x1f812f3ac4fca249L,0x9b24bc9ab9e5e200L,
  15170. 0x91022c6738012ee8L } },
  15171. /* 29 << 84 */
  15172. { { 0xe83d9c5d30a713a1L,0x4876e3f084ef0f93L,0xc9777029c1fbf928L,
  15173. 0xef7a6bb3bce7d2a4L },
  15174. { 0xb8067228dfa2a659L,0xd5cd3398d877a48fL,0xbea4fd8f025d0f3fL,
  15175. 0xd67d2e352eae7c2bL } },
  15176. /* 30 << 84 */
  15177. { { 0x184de7d7cc5f4394L,0xb5551b5c4536e142L,0x2e89b212d34aa60aL,
  15178. 0x14a96feaf50051d5L },
  15179. { 0x4e21ef740d12bb0bL,0xc522f02060b9677eL,0x8b12e4672df7731dL,
  15180. 0x39f803827b326d31L } },
  15181. /* 31 << 84 */
  15182. { { 0xdfb8630c39024a94L,0xaacb96a897319452L,0xd68a3961eda3867cL,
  15183. 0x0c58e2b077c4ffcaL },
  15184. { 0x3d545d634da919faL,0xef79b69af15e2289L,0x54bc3d3d808bab10L,
  15185. 0xc8ab300745f82c37L } },
  15186. /* 32 << 84 */
  15187. { { 0xc12738b67c4a658aL,0xb3c4763940e72182L,0x3b77be468798e44fL,
  15188. 0xdc047df217a7f85fL },
  15189. { 0x2439d4c55e59d92dL,0xcedca475e8e64d8dL,0xa724cd0d87ca9b16L,
  15190. 0x35e4fd59a5540dfeL } },
  15191. /* 33 << 84 */
  15192. { { 0xf8c1ff18e4bcf6b1L,0x856d6285295018faL,0x433f665c3263c949L,
  15193. 0xa6a76dd6a1f21409L },
  15194. { 0x17d32334cc7b4f79L,0xa1d0312206720e4aL,0xadb6661d81d9bed5L,
  15195. 0xf0d6fb0211db15d1L } },
  15196. /* 34 << 84 */
  15197. { { 0x7fd11ad51fb747d2L,0xab50f9593033762bL,0x2a7e711bfbefaf5aL,
  15198. 0xc73932783fef2bbfL },
  15199. { 0xe29fa2440df6f9beL,0x9092757b71efd215L,0xee60e3114f3d6fd9L,
  15200. 0x338542d40acfb78bL } },
  15201. /* 35 << 84 */
  15202. { { 0x44a23f0838961a0fL,0x1426eade986987caL,0x36e6ee2e4a863cc6L,
  15203. 0x48059420628b8b79L },
  15204. { 0x30303ad87396e1deL,0x5c8bdc4838c5aad1L,0x3e40e11f5c8f5066L,
  15205. 0xabd6e7688d246bbdL } },
  15206. /* 36 << 84 */
  15207. { { 0x68aa40bb23330a01L,0xd23f5ee4c34eafa0L,0x3bbee3155de02c21L,
  15208. 0x18dd4397d1d8dd06L },
  15209. { 0x3ba1939a122d7b44L,0xe6d3b40aa33870d6L,0x8e620f701c4fe3f8L,
  15210. 0xf6bba1a5d3a50cbfL } },
  15211. /* 37 << 84 */
  15212. { { 0x4a78bde5cfc0aee0L,0x847edc46c08c50bdL,0xbaa2439cad63c9b2L,
  15213. 0xceb4a72810fc2acbL },
  15214. { 0xa419e40e26da033dL,0x6cc3889d03e02683L,0x1cd28559fdccf725L,
  15215. 0x0fd7e0f18d13d208L } },
  15216. /* 38 << 84 */
  15217. { { 0x01b9733b1f0df9d4L,0x8cc2c5f3a2b5e4f3L,0x43053bfa3a304fd4L,
  15218. 0x8e87665c0a9f1aa7L },
  15219. { 0x087f29ecd73dc965L,0x15ace4553e9023dbL,0x2370e3092bce28b4L,
  15220. 0xf9723442b6b1e84aL } },
  15221. /* 39 << 84 */
  15222. { { 0xbeee662eb72d9f26L,0xb19396def0e47109L,0x85b1fa73e13289d0L,
  15223. 0x436cf77e54e58e32L },
  15224. { 0x0ec833b3e990ef77L,0x7373e3ed1b11fc25L,0xbe0eda870fc332ceL,
  15225. 0xced049708d7ea856L } },
  15226. /* 40 << 84 */
  15227. { { 0xf85ff7857e977ca0L,0xb66ee8dadfdd5d2bL,0xf5e37950905af461L,
  15228. 0x587b9090966d487cL },
  15229. { 0x6a198a1b32ba0127L,0xa7720e07141615acL,0xa23f3499996ef2f2L,
  15230. 0xef5f64b4470bcb3dL } },
  15231. /* 41 << 84 */
  15232. { { 0xa526a96292b8c559L,0x0c14aac069740a0fL,0x0d41a9e3a6bdc0a5L,
  15233. 0x97d521069c48aef4L },
  15234. { 0xcf16bd303e7c253bL,0xcc834b1a47fdedc1L,0x7362c6e5373aab2eL,
  15235. 0x264ed85ec5f590ffL } },
  15236. /* 42 << 84 */
  15237. { { 0x7a46d9c066d41870L,0xa50c20b14787ba09L,0x185e7e51e3d44635L,
  15238. 0xb3b3e08031e2d8dcL },
  15239. { 0xbed1e558a179e9d9L,0x2daa3f7974a76781L,0x4372baf23a40864fL,
  15240. 0x46900c544fe75cb5L } },
  15241. /* 43 << 84 */
  15242. { { 0xb95f171ef76765d0L,0x4ad726d295c87502L,0x2ec769da4d7c99bdL,
  15243. 0x5e2ddd19c36cdfa8L },
  15244. { 0xc22117fca93e6deaL,0xe8a2583b93771123L,0xbe2f6089fa08a3a2L,
  15245. 0x4809d5ed8f0e1112L } },
  15246. /* 44 << 84 */
  15247. { { 0x3b414aa3da7a095eL,0x9049acf126f5aaddL,0x78d46a4d6be8b84aL,
  15248. 0xd66b1963b732b9b3L },
  15249. { 0x5c2ac2a0de6e9555L,0xcf52d098b5bd8770L,0x15a15fa60fd28921L,
  15250. 0x56ccb81e8b27536dL } },
  15251. /* 45 << 84 */
  15252. { { 0x0f0d8ab89f4ccbb8L,0xed5f44d2db221729L,0x4314198800bed10cL,
  15253. 0xc94348a41d735b8bL },
  15254. { 0x79f3e9c429ef8479L,0x4c13a4e3614c693fL,0x32c9af568e143a14L,
  15255. 0xbc517799e29ac5c4L } },
  15256. /* 46 << 84 */
  15257. { { 0x05e179922774856fL,0x6e52fb056c1bf55fL,0xaeda4225e4f19e16L,
  15258. 0x70f4728aaf5ccb26L },
  15259. { 0x5d2118d1b2947f22L,0xc827ea16281d6fb9L,0x8412328d8cf0eabdL,
  15260. 0x45ee9fb203ef9dcfL } },
  15261. /* 47 << 84 */
  15262. { { 0x8e700421bb937d63L,0xdf8ff2d5cc4b37a6L,0xa4c0d5b25ced7b68L,
  15263. 0x6537c1efc7308f59L },
  15264. { 0x25ce6a263b37f8e8L,0x170e9a9bdeebc6ceL,0xdd0379528728d72cL,
  15265. 0x445b0e55850154bcL } },
  15266. /* 48 << 84 */
  15267. { { 0x4b7d0e0683a7337bL,0x1e3416d4ffecf249L,0x24840eff66a2b71fL,
  15268. 0xd0d9a50ab37cc26dL },
  15269. { 0xe21981506fe28ef7L,0x3cc5ef1623324c7fL,0x220f3455769b5263L,
  15270. 0xe2ade2f1a10bf475L } },
  15271. /* 49 << 84 */
  15272. { { 0x28cd20fa458d3671L,0x1549722c2dc4847bL,0x6dd01e55591941e3L,
  15273. 0x0e6fbcea27128ccbL },
  15274. { 0xae1a1e6b3bef0262L,0xfa8c472c8f54e103L,0x7539c0a872c052ecL,
  15275. 0xd7b273695a3490e9L } },
  15276. /* 50 << 84 */
  15277. { { 0x143fe1f171684349L,0x36b4722e32e19b97L,0xdc05922790980affL,
  15278. 0x175c9c889e13d674L },
  15279. { 0xa7de5b226e6bfdb1L,0x5ea5b7b2bedb4b46L,0xd5570191d34a6e44L,
  15280. 0xfcf60d2ea24ff7e6L } },
  15281. /* 51 << 84 */
  15282. { { 0x614a392d677819e1L,0x7be74c7eaa5a29e8L,0xab50fece63c85f3fL,
  15283. 0xaca2e2a946cab337L },
  15284. { 0x7f700388122a6fe3L,0xdb69f703882a04a8L,0x9a77935dcf7aed57L,
  15285. 0xdf16207c8d91c86fL } },
  15286. /* 52 << 84 */
  15287. { { 0x2fca49ab63ed9998L,0xa3125c44a77ddf96L,0x05dd8a8624344072L,
  15288. 0xa023dda2fec3fb56L },
  15289. { 0x421b41fc0c743032L,0x4f2120c15e438639L,0xfb7cae51c83c1b07L,
  15290. 0xb2370caacac2171aL } },
  15291. /* 53 << 84 */
  15292. { { 0x2eb2d9626cc820fbL,0x59feee5cb85a44bfL,0x94620fca5b6598f0L,
  15293. 0x6b922cae7e314051L },
  15294. { 0xff8745ad106bed4eL,0x546e71f5dfa1e9abL,0x935c1e481ec29487L,
  15295. 0x9509216c4d936530L } },
  15296. /* 54 << 84 */
  15297. { { 0xc7ca306785c9a2dbL,0xd6ae51526be8606fL,0x09dbcae6e14c651dL,
  15298. 0xc9536e239bc32f96L },
  15299. { 0xa90535a934521b03L,0xf39c526c878756ffL,0x383172ec8aedf03cL,
  15300. 0x20a8075eefe0c034L } },
  15301. /* 55 << 84 */
  15302. { { 0xf22f9c6264026422L,0x8dd1078024b9d076L,0x944c742a3bef2950L,
  15303. 0x55b9502e88a2b00bL },
  15304. { 0xa59e14b486a09817L,0xa39dd3ac47bb4071L,0x55137f663be0592fL,
  15305. 0x07fcafd4c9e63f5bL } },
  15306. /* 56 << 84 */
  15307. { { 0x963652ee346eb226L,0x7dfab085ec2facb7L,0x273bf2b8691add26L,
  15308. 0x30d74540f2b46c44L },
  15309. { 0x05e8e73ef2c2d065L,0xff9b8a00d42eeac9L,0x2fcbd20597209d22L,
  15310. 0xeb740ffade14ea2cL } },
  15311. /* 57 << 84 */
  15312. { { 0xc71ff913a8aef518L,0x7bfc74bbfff4cfa2L,0x1716680cb6b36048L,
  15313. 0x121b2cce9ef79af1L },
  15314. { 0xbff3c836a01eb3d3L,0x50eb1c6a5f79077bL,0xa48c32d6a004bbcfL,
  15315. 0x47a593167d64f61dL } },
  15316. /* 58 << 84 */
  15317. { { 0x6068147f93102016L,0x12c5f65494d12576L,0xefb071a7c9bc6b91L,
  15318. 0x7c2da0c56e23ea95L },
  15319. { 0xf4fd45b6d4a1dd5dL,0x3e7ad9b69122b13cL,0x342ca118e6f57a48L,
  15320. 0x1c2e94a706f8288fL } },
  15321. /* 59 << 84 */
  15322. { { 0x99e68f075a97d231L,0x7c80de974d838758L,0xbce0f5d005872727L,
  15323. 0xbe5d95c219c4d016L },
  15324. { 0x921d5cb19c2492eeL,0x42192dc1404d6fb3L,0x4c84dcd132f988d3L,
  15325. 0xde26d61fa17b8e85L } },
  15326. /* 60 << 84 */
  15327. { { 0xc466dcb6137c7408L,0x9a38d7b636a266daL,0x7ef5cb0683bebf1bL,
  15328. 0xe5cdcbbf0fd014e3L },
  15329. { 0x30aa376df65965a0L,0x60fe88c2ebb3e95eL,0x33fd0b6166ee6f20L,
  15330. 0x8827dcdb3f41f0a0L } },
  15331. /* 61 << 84 */
  15332. { { 0xbf8a9d240c56c690L,0x40265dadddb7641dL,0x522b05bf3a6b662bL,
  15333. 0x466d1dfeb1478c9bL },
  15334. { 0xaa6169621484469bL,0x0db6054902df8f9fL,0xc37bca023cb8bf51L,
  15335. 0x5effe34621371ce8L } },
  15336. /* 62 << 84 */
  15337. { { 0xe8f65264ff112c32L,0x8a9c736d7b971fb2L,0xa4f194707b75080dL,
  15338. 0xfc3f2c5a8839c59bL },
  15339. { 0x1d6c777e5aeb49c2L,0xf3db034dda1addfeL,0xd76fee5a5535affcL,
  15340. 0x0853ac70b92251fdL } },
  15341. /* 63 << 84 */
  15342. { { 0x37e3d5948b2a29d5L,0x28f1f4574de00ddbL,0x8083c1b5f42c328bL,
  15343. 0xd8ef1d8fe493c73bL },
  15344. { 0x96fb626041dc61bdL,0xf74e8a9d27ee2f8aL,0x7c605a802c946a5dL,
  15345. 0xeed48d653839ccfdL } },
  15346. /* 64 << 84 */
  15347. { { 0x9894344f3a29467aL,0xde81e949c51eba6dL,0xdaea066ba5e5c2f2L,
  15348. 0x3fc8a61408c8c7b3L },
  15349. { 0x7adff88f06d0de9fL,0xbbc11cf53b75ce0aL,0x9fbb7accfbbc87d5L,
  15350. 0xa1458e267badfde2L } },
  15351. /* 0 << 91 */
  15352. { { 0x00, 0x00, 0x00, 0x00 },
  15353. { 0x00, 0x00, 0x00, 0x00 } },
  15354. /* 1 << 91 */
  15355. { { 0x1cb43668e039c256L,0x5f26fb8b7c17fd5dL,0xeee426af79aa062bL,
  15356. 0x072002d0d78fbf04L },
  15357. { 0x4c9ca237e84fb7e3L,0xb401d8a10c82133dL,0xaaa525926d7e4181L,
  15358. 0xe943083373dbb152L } },
  15359. /* 2 << 91 */
  15360. { { 0xf92dda31be24319aL,0x03f7d28be095a8e7L,0xa52fe84098782185L,
  15361. 0x276ddafe29c24dbcL },
  15362. { 0x80cd54961d7a64ebL,0xe43608897f1dbe42L,0x2f81a8778438d2d5L,
  15363. 0x7e4d52a885169036L } },
  15364. /* 3 << 91 */
  15365. { { 0x19e3d5b11d59715dL,0xc7eaa762d788983eL,0xe5a730b0abf1f248L,
  15366. 0xfbab8084fae3fd83L },
  15367. { 0x65e50d2153765b2fL,0xbdd4e083fa127f3dL,0x9cf3c074397b1b10L,
  15368. 0x59f8090cb1b59fd3L } },
  15369. /* 4 << 91 */
  15370. { { 0x7b15fd9d615faa8fL,0x8fa1eb40968554edL,0x7bb4447e7aa44882L,
  15371. 0x2bb2d0d1029fff32L },
  15372. { 0x075e2a646caa6d2fL,0x8eb879de22e7351bL,0xbcd5624e9a506c62L,
  15373. 0x218eaef0a87e24dcL } },
  15374. /* 5 << 91 */
  15375. { { 0x37e5684744ddfa35L,0x9ccfc5c5dab3f747L,0x9ac1df3f1ee96cf4L,
  15376. 0x0c0571a13b480b8fL },
  15377. { 0x2fbeb3d54b3a7b3cL,0x35c036695dcdbb99L,0x52a0f5dcb2415b3aL,
  15378. 0xd57759b44413ed9aL } },
  15379. /* 6 << 91 */
  15380. { { 0x1fe647d83d30a2c5L,0x0857f77ef78a81dcL,0x11d5a334131a4a9bL,
  15381. 0xc0a94af929d393f5L },
  15382. { 0xbc3a5c0bdaa6ec1aL,0xba9fe49388d2d7edL,0xbb4335b4bb614797L,
  15383. 0x991c4d6872f83533L } },
  15384. /* 7 << 91 */
  15385. { { 0x53258c28d2f01cb3L,0x93d6eaa3d75db0b1L,0x419a2b0de87d0db4L,
  15386. 0xa1e48f03d8fe8493L },
  15387. { 0xf747faf6c508b23aL,0xf137571a35d53549L,0x9f5e58e2fcf9b838L,
  15388. 0xc7186ceea7fd3cf5L } },
  15389. /* 8 << 91 */
  15390. { { 0x77b868cee978a1d3L,0xe3a68b337ab92d04L,0x5102979487a5b862L,
  15391. 0x5f0606c33a61d41dL },
  15392. { 0x2814be276f9326f1L,0x2f521c14c6fe3c2eL,0x17464d7dacdf7351L,
  15393. 0x10f5f9d3777f7e44L } },
  15394. /* 9 << 91 */
  15395. { { 0xce8e616b269fb37dL,0xaaf738047de62de5L,0xaba111754fdd4153L,
  15396. 0x515759ba3770b49bL },
  15397. { 0x8b09ebf8aa423a61L,0x592245a1cd41fb92L,0x1cba8ec19b4c8936L,
  15398. 0xa87e91e3af36710eL } },
  15399. /* 10 << 91 */
  15400. { { 0x1fd84ce43d34a2e3L,0xee3759ceb43b5d61L,0x895bc78c619186c7L,
  15401. 0xf19c3809cbb9725aL },
  15402. { 0xc0be21aade744b1fL,0xa7d222b060f8056bL,0x74be6157b23efe11L,
  15403. 0x6fab2b4f0cd68253L } },
  15404. /* 11 << 91 */
  15405. { { 0xad33ea5f4bf1d725L,0x9c1d8ee24f6c950fL,0x544ee78aa377af06L,
  15406. 0x54f489bb94a113e1L },
  15407. { 0x8f11d634992fb7e8L,0x0169a7aaa2a44347L,0x1d49d4af95020e00L,
  15408. 0x95945722e08e120bL } },
  15409. /* 12 << 91 */
  15410. { { 0xb6e33878a4d32282L,0xe36e029d48020ae7L,0xe05847fb37a9b750L,
  15411. 0xf876812cb29e3819L },
  15412. { 0x84ad138ed23a17f0L,0x6d7b4480f0b3950eL,0xdfa8aef42fd67ae0L,
  15413. 0x8d3eea2452333af6L } },
  15414. /* 13 << 91 */
  15415. { { 0x0d052075b15d5accL,0xc6d9c79fbd815bc4L,0x8dcafd88dfa36cf2L,
  15416. 0x908ccbe238aa9070L },
  15417. { 0x638722c4ba35afceL,0x5a3da8b0fd6abf0bL,0x2dce252cc9c335c1L,
  15418. 0x84e7f0de65aa799bL } },
  15419. /* 14 << 91 */
  15420. { { 0x2101a522b99a72cbL,0x06de6e6787618016L,0x5ff8c7cde6f3653eL,
  15421. 0x0a821ab5c7a6754aL },
  15422. { 0x7e3fa52b7cb0b5a2L,0xa7fb121cc9048790L,0x1a72502006ce053aL,
  15423. 0xb490a31f04e929b0L } },
  15424. /* 15 << 91 */
  15425. { { 0xe17be47d62dd61adL,0x781a961c6be01371L,0x1063bfd3dae3cbbaL,
  15426. 0x356474067f73c9baL },
  15427. { 0xf50e957b2736a129L,0xa6313702ed13f256L,0x9436ee653a19fcc5L,
  15428. 0xcf2bdb29e7a4c8b6L } },
  15429. /* 16 << 91 */
  15430. { { 0xb06b1244c5f95cd8L,0xda8c8af0f4ab95f4L,0x1bae59c2b9e5836dL,
  15431. 0x07d51e7e3acffffcL },
  15432. { 0x01e15e6ac2ccbcdaL,0x3bc1923f8528c3e0L,0x43324577a49fead4L,
  15433. 0x61a1b8842aa7a711L } },
  15434. /* 17 << 91 */
  15435. { { 0xf9a86e08700230efL,0x0af585a1bd19adf8L,0x7645f361f55ad8f2L,
  15436. 0x6e67622346c3614cL },
  15437. { 0x23cb257c4e774d3fL,0x82a38513ac102d1bL,0x9bcddd887b126aa5L,
  15438. 0xe716998beefd3ee4L } },
  15439. /* 18 << 91 */
  15440. { { 0x4239d571fb167583L,0xdd011c78d16c8f8aL,0x271c289569a27519L,
  15441. 0x9ce0a3b7d2d64b6aL },
  15442. { 0x8c977289d5ec6738L,0xa3b49f9a8840ef6bL,0x808c14c99a453419L,
  15443. 0x5c00295b0cf0a2d5L } },
  15444. /* 19 << 91 */
  15445. { { 0x524414fb1d4bcc76L,0xb07691d2459a88f1L,0x77f43263f70d110fL,
  15446. 0x64ada5e0b7abf9f3L },
  15447. { 0xafd0f94e5b544cf5L,0xb4a13a15fd2713feL,0xb99b7d6e250c74f4L,
  15448. 0x097f2f7320324e45L } },
  15449. /* 20 << 91 */
  15450. { { 0x994b37d8affa8208L,0xc3c31b0bdc29aafcL,0x3da746517a3a607fL,
  15451. 0xd8e1b8c1fe6955d6L },
  15452. { 0x716e1815c8418682L,0x541d487f7dc91d97L,0x48a04669c6996982L,
  15453. 0xf39cab1583a6502eL } },
  15454. /* 21 << 91 */
  15455. { { 0x025801a0e68db055L,0xf3569758ba3338d5L,0xb0c8c0aaee2afa84L,
  15456. 0x4f6985d3fb6562d1L },
  15457. { 0x351f1f15132ed17aL,0x510ed0b4c04365feL,0xa3f98138e5b1f066L,
  15458. 0xbc9d95d632df03dcL } },
  15459. /* 22 << 91 */
  15460. { { 0xa83ccf6e19abd09eL,0x0b4097c14ff17edbL,0x58a5c478d64a06ceL,
  15461. 0x2ddcc3fd544a58fdL },
  15462. { 0xd449503d9e8153b8L,0x3324fd027774179bL,0xaf5d47c8dbd9120cL,
  15463. 0xeb86016234fa94dbL } },
  15464. /* 23 << 91 */
  15465. { { 0x5817bdd1972f07f4L,0xe5579e2ed27bbcebL,0x86847a1f5f11e5a6L,
  15466. 0xb39ed2557c3cf048L },
  15467. { 0xe1076417a2f62e55L,0x6b9ab38f1bcf82a2L,0x4bb7c3197aeb29f9L,
  15468. 0xf6d17da317227a46L } },
  15469. /* 24 << 91 */
  15470. { { 0xab53ddbd0f968c00L,0xa03da7ec000c880bL,0x7b2396246a9ad24dL,
  15471. 0x612c040101ec60d0L },
  15472. { 0x70d10493109f5df1L,0xfbda403080af7550L,0x30b93f95c6b9a9b3L,
  15473. 0x0c74ec71007d9418L } },
  15474. /* 25 << 91 */
  15475. { { 0x941755646edb951fL,0x5f4a9d787f22c282L,0xb7870895b38d1196L,
  15476. 0xbc593df3a228ce7cL },
  15477. { 0xc78c5bd46af3641aL,0x7802200b3d9b3dccL,0x0dc73f328be33304L,
  15478. 0x847ed87d61ffb79aL } },
  15479. /* 26 << 91 */
  15480. { { 0xf85c974e6d671192L,0x1e14100ade16f60fL,0x45cb0d5a95c38797L,
  15481. 0x18923bba9b022da4L },
  15482. { 0xef2be899bbe7e86eL,0x4a1510ee216067bfL,0xd98c815484d5ce3eL,
  15483. 0x1af777f0f92a2b90L } },
  15484. /* 27 << 91 */
  15485. { { 0x9fbcb4004ef65724L,0x3e04a4c93c0ca6feL,0xfb3e2cb555002994L,
  15486. 0x1f3a93c55363ecabL },
  15487. { 0x1fe00efe3923555bL,0x744bedd91e1751eaL,0x3fb2db596ab69357L,
  15488. 0x8dbd7365f5e6618bL } },
  15489. /* 28 << 91 */
  15490. { { 0x99d53099df1ea40eL,0xb3f24a0b57d61e64L,0xd088a198596eb812L,
  15491. 0x22c8361b5762940bL },
  15492. { 0x66f01f97f9c0d95cL,0x884611728e43cdaeL,0x11599a7fb72b15c3L,
  15493. 0x135a7536420d95ccL } },
  15494. /* 29 << 91 */
  15495. { { 0x2dcdf0f75f7ae2f6L,0x15fc6e1dd7fa6da2L,0x81ca829ad1d441b6L,
  15496. 0x84c10cf804a106b6L },
  15497. { 0xa9b26c95a73fbbd0L,0x7f24e0cb4d8f6ee8L,0x48b459371e25a043L,
  15498. 0xf8a74fca036f3dfeL } },
  15499. /* 30 << 91 */
  15500. { { 0x1ed46585c9f84296L,0x7fbaa8fb3bc278b0L,0xa8e96cd46c4fcbd0L,
  15501. 0x940a120273b60a5fL },
  15502. { 0x34aae12055a4aec8L,0x550e9a74dbd742f0L,0x794456d7228c68abL,
  15503. 0x492f8868a4e25ec6L } },
  15504. /* 31 << 91 */
  15505. { { 0x682915adb2d8f398L,0xf13b51cc5b84c953L,0xcda90ab85bb917d6L,
  15506. 0x4b6155604ea3dee1L },
  15507. { 0x578b4e850a52c1c8L,0xeab1a69520b75fc4L,0x60c14f3caa0bb3c6L,
  15508. 0x220f448ab8216094L } },
  15509. /* 32 << 91 */
  15510. { { 0x4fe7ee31b0e63d34L,0xf4600572a9e54fabL,0xc0493334d5e7b5a4L,
  15511. 0x8589fb9206d54831L },
  15512. { 0xaa70f5cc6583553aL,0x0879094ae25649e5L,0xcc90450710044652L,
  15513. 0xebb0696d02541c4fL } },
  15514. /* 33 << 91 */
  15515. { { 0x5a171fdeb9718710L,0x38f1bed8f374a9f5L,0xc8c582e1ba39bdc1L,
  15516. 0xfc457b0a908cc0ceL },
  15517. { 0x9a187fd4883841e2L,0x8ec25b3938725381L,0x2553ed0596f84395L,
  15518. 0x095c76616f6c6897L } },
  15519. /* 34 << 91 */
  15520. { { 0x917ac85c4bdc5610L,0xb2885fe4179eb301L,0x5fc655478b78bdccL,
  15521. 0x4a9fc893e59e4699L },
  15522. { 0xbb7ff0cd3ce299afL,0x195be9b3adf38b20L,0x6a929c87d38ddb8fL,
  15523. 0x55fcc99cb21a51b9L } },
  15524. /* 35 << 91 */
  15525. { { 0x2b695b4c721a4593L,0xed1e9a15768eaac2L,0xfb63d71c7489f914L,
  15526. 0xf98ba31c78118910L },
  15527. { 0x802913739b128eb4L,0x7801214ed448af4aL,0xdbd2e22b55418dd3L,
  15528. 0xeffb3c0dd3998242L } },
  15529. /* 36 << 91 */
  15530. { { 0xdfa6077cc7bf3827L,0xf2165bcb47f8238fL,0xfe37cf688564d554L,
  15531. 0xe5f825c40a81fb98L },
  15532. { 0x43cc4f67ffed4d6fL,0xbc609578b50a34b0L,0x8aa8fcf95041faf1L,
  15533. 0x5659f053651773b6L } },
  15534. /* 37 << 91 */
  15535. { { 0xe87582c36044d63bL,0xa60894090cdb0ca0L,0x8c993e0fbfb2bcf6L,
  15536. 0xfc64a71945985cfcL },
  15537. { 0x15c4da8083dbedbaL,0x804ae1122be67df7L,0xda4c9658a23defdeL,
  15538. 0x12002ddd5156e0d3L } },
  15539. /* 38 << 91 */
  15540. { { 0xe68eae895dd21b96L,0x8b99f28bcf44624dL,0x0ae008081ec8897aL,
  15541. 0xdd0a93036712f76eL },
  15542. { 0x962375224e233de4L,0x192445b12b36a8a5L,0xabf9ff74023993d9L,
  15543. 0x21f37bf42aad4a8fL } },
  15544. /* 39 << 91 */
  15545. { { 0x340a4349f8bd2bbdL,0x1d902cd94868195dL,0x3d27bbf1e5fdb6f1L,
  15546. 0x7a5ab088124f9f1cL },
  15547. { 0xc466ab06f7a09e03L,0x2f8a197731f2c123L,0xda355dc7041b6657L,
  15548. 0xcb840d128ece2a7cL } },
  15549. /* 40 << 91 */
  15550. { { 0xb600ad9f7db32675L,0x78fea13307a06f1bL,0x5d032269b31f6094L,
  15551. 0x07753ef583ec37aaL },
  15552. { 0x03485aed9c0bea78L,0x41bb3989bc3f4524L,0x09403761697f726dL,
  15553. 0x6109beb3df394820L } },
  15554. /* 41 << 91 */
  15555. { { 0x804111ea3b6d1145L,0xb6271ea9a8582654L,0x619615e624e66562L,
  15556. 0xa2554945d7b6ad9cL },
  15557. { 0xd9c4985e99bfe35fL,0x9770ccc07b51cdf6L,0x7c32701392881832L,
  15558. 0x8777d45f286b26d1L } },
  15559. /* 42 << 91 */
  15560. { { 0x9bbeda22d847999dL,0x03aa33b6c3525d32L,0x4b7b96d428a959a1L,
  15561. 0xbb3786e531e5d234L },
  15562. { 0xaeb5d3ce6961f247L,0x20aa85af02f93d3fL,0x9cd1ad3dd7a7ae4fL,
  15563. 0xbf6688f0781adaa8L } },
  15564. /* 43 << 91 */
  15565. { { 0xb1b40e867469ceadL,0x1904c524309fca48L,0x9b7312af4b54bbc7L,
  15566. 0xbe24bf8f593affa2L },
  15567. { 0xbe5e0790bd98764bL,0xa0f45f17a26e299eL,0x4af0d2c26b8fe4c7L,
  15568. 0xef170db18ae8a3e6L } },
  15569. /* 44 << 91 */
  15570. { { 0x0e8d61a029e0ccc1L,0xcd53e87e60ad36caL,0x328c6623c8173822L,
  15571. 0x7ee1767da496be55L },
  15572. { 0x89f13259648945afL,0x9e45a5fd25c8009cL,0xaf2febd91f61ab8cL,
  15573. 0x43f6bc868a275385L } },
  15574. /* 45 << 91 */
  15575. { { 0x87792348f2142e79L,0x17d89259c6e6238aL,0x7536d2f64a839d9bL,
  15576. 0x1f428fce76a1fbdcL },
  15577. { 0x1c1096010db06dfeL,0xbfc16bc150a3a3ccL,0xf9cbd9ec9b30f41bL,
  15578. 0x5b5da0d600138cceL } },
  15579. /* 46 << 91 */
  15580. { { 0xec1d0a4856ef96a7L,0xb47eb848982bf842L,0x66deae32ec3f700dL,
  15581. 0x4e43c42caa1181e0L },
  15582. { 0xa1d72a31d1a4aa2aL,0x440d4668c004f3ceL,0x0d6a2d3b45fe8a7aL,
  15583. 0x820e52e2fb128365L } },
  15584. /* 47 << 91 */
  15585. { { 0x29ac5fcf25e51b09L,0x180cd2bf2023d159L,0xa9892171a1ebf90eL,
  15586. 0xf97c4c877c132181L },
  15587. { 0x9f1dc724c03dbb7eL,0xae043765018cbbe4L,0xfb0b2a360767d153L,
  15588. 0xa8e2f4d6249cbaebL } },
  15589. /* 48 << 91 */
  15590. { { 0x172a5247d95ea168L,0x1758fada2970764aL,0xac803a511d978169L,
  15591. 0x299cfe2ede77e01bL },
  15592. { 0x652a1e17b0a98927L,0x2e26e1d120014495L,0x7ae0af9f7175b56aL,
  15593. 0xc2e22a80d64b9f95L } },
  15594. /* 49 << 91 */
  15595. { { 0x4d0ff9fbd90a060aL,0x496a27dbbaf38085L,0x32305401da776bcfL,
  15596. 0xb8cdcef6725f209eL },
  15597. { 0x61ba0f37436a0bbaL,0x263fa10876860049L,0x92beb98eda3542cfL,
  15598. 0xa2d4d14ad5849538L } },
  15599. /* 50 << 91 */
  15600. { { 0x989b9d6812e9a1bcL,0x61d9075c5f6e3268L,0x352c6aa999ace638L,
  15601. 0xde4e4a55920f43ffL },
  15602. { 0xe5e4144ad673c017L,0x667417ae6f6e05eaL,0x613416aedcd1bd56L,
  15603. 0x5eb3620186693711L } },
  15604. /* 51 << 91 */
  15605. { { 0x2d7bc5043a1aa914L,0x175a129976dc5975L,0xe900e0f23fc8125cL,
  15606. 0x569ef68c11198875L },
  15607. { 0x9012db6363a113b4L,0xe3bd3f5698835766L,0xa5c94a5276412deaL,
  15608. 0xad9e2a09aa735e5cL } },
  15609. /* 52 << 91 */
  15610. { { 0x405a984c508b65e9L,0xbde4a1d16df1a0d1L,0x1a9433a1dfba80daL,
  15611. 0xe9192ff99440ad2eL },
  15612. { 0x9f6496965099fe92L,0x25ddb65c0b27a54aL,0x178279ddc590da61L,
  15613. 0x5479a999fbde681aL } },
  15614. /* 53 << 91 */
  15615. { { 0xd0e84e05013fe162L,0xbe11dc92632d471bL,0xdf0b0c45fc0e089fL,
  15616. 0x04fb15b04c144025L },
  15617. { 0xa61d5fc213c99927L,0xa033e9e03de2eb35L,0xf8185d5cb8dacbb4L,
  15618. 0x9a88e2658644549dL } },
  15619. /* 54 << 91 */
  15620. { { 0xf717af6254671ff6L,0x4bd4241b5fa58603L,0x06fba40be67773c0L,
  15621. 0xc1d933d26a2847e9L },
  15622. { 0xf4f5acf3689e2c70L,0x92aab0e746bafd31L,0x798d76aa3473f6e5L,
  15623. 0xcc6641db93141934L } },
  15624. /* 55 << 91 */
  15625. { { 0xcae27757d31e535eL,0x04cc43b687c2ee11L,0x8d1f96752e029ffaL,
  15626. 0xc2150672e4cc7a2cL },
  15627. { 0x3b03c1e08d68b013L,0xa9d6816fedf298f3L,0x1bfbb529a2804464L,
  15628. 0x95a52fae5db22125L } },
  15629. /* 56 << 91 */
  15630. { { 0x55b321600e1cb64eL,0x004828f67e7fc9feL,0x13394b821bb0fb93L,
  15631. 0xb6293a2d35f1a920L },
  15632. { 0xde35ef21d145d2d9L,0xbe6225b3bb8fa603L,0x00fc8f6b32cf252dL,
  15633. 0xa28e52e6117cf8c2L } },
  15634. /* 57 << 91 */
  15635. { { 0x9d1dc89b4c371e6dL,0xcebe067536ef0f28L,0x5de05d09a4292f81L,
  15636. 0xa8303593353e3083L },
  15637. { 0xa1715b0a7e37a9bbL,0x8c56f61e2b8faec3L,0x5250743133c9b102L,
  15638. 0x0130cefca44431f0L } },
  15639. /* 58 << 91 */
  15640. { { 0x56039fa0bd865cfbL,0x4b03e578bc5f1dd7L,0x40edf2e4babe7224L,
  15641. 0xc752496d3a1988f6L },
  15642. { 0xd1572d3b564beb6bL,0x0db1d11039a1c608L,0x568d193416f60126L,
  15643. 0x05ae9668f354af33L } },
  15644. /* 59 << 91 */
  15645. { { 0x19de6d37c92544f2L,0xcc084353a35837d5L,0xcbb6869c1a514eceL,
  15646. 0xb633e7282e1d1066L },
  15647. { 0xf15dd69f936c581cL,0x96e7b8ce7439c4f9L,0x5e676f482e448a5bL,
  15648. 0xb2ca7d5bfd916bbbL } },
  15649. /* 60 << 91 */
  15650. { { 0xd55a2541f5024025L,0x47bc5769e4c2d937L,0x7d31b92a0362189fL,
  15651. 0x83f3086eef7816f9L },
  15652. { 0xf9f46d94b587579aL,0xec2d22d830e76c5fL,0x27d57461b000ffcfL,
  15653. 0xbb7e65f9364ffc2cL } },
  15654. /* 61 << 91 */
  15655. { { 0x7c7c94776652a220L,0x61618f89d696c981L,0x5021701d89effff3L,
  15656. 0xf2c8ff8e7c314163L },
  15657. { 0x2da413ad8efb4d3eL,0x937b5adfce176d95L,0x22867d342a67d51cL,
  15658. 0x262b9b1018eb3ac9L } },
  15659. /* 62 << 91 */
  15660. { { 0x4e314fe4c43ff28bL,0x764766276a664e7aL,0x3e90e40bb7a565c2L,
  15661. 0x8588993ac1acf831L },
  15662. { 0xd7b501d68f938829L,0x996627ee3edd7d4cL,0x37d44a6290cd34c7L,
  15663. 0xa8327499f3833e8dL } },
  15664. /* 63 << 91 */
  15665. { { 0x2e18917d4bf50353L,0x85dd726b556765fbL,0x54fe65d693d5ab66L,
  15666. 0x3ddbaced915c25feL },
  15667. { 0xa799d9a412f22e85L,0xe2a248676d06f6bcL,0xf4f1ee5643ca1637L,
  15668. 0xfda2828b61ece30aL } },
  15669. /* 64 << 91 */
  15670. { { 0x758c1a3ea2dee7a6L,0xdcde2f3c734b2284L,0xaba445d24eaba6adL,
  15671. 0x35aaf66876cee0a7L },
  15672. { 0x7e0b04a9e5aa049aL,0xe74083ad91103e84L,0xbeb183ce40afecc3L,
  15673. 0x6b89de9fea043f7aL } },
  15674. /* 0 << 98 */
  15675. { { 0x00, 0x00, 0x00, 0x00 },
  15676. { 0x00, 0x00, 0x00, 0x00 } },
  15677. /* 1 << 98 */
  15678. { { 0x0e299d23fe67ba66L,0x9145076093cf2f34L,0xf45b5ea997fcf913L,
  15679. 0x5be008438bd7dddaL },
  15680. { 0x358c3e05d53ff04dL,0xbf7ccdc35de91ef7L,0xad684dbfb69ec1a0L,
  15681. 0x367e7cf2801fd997L } },
  15682. /* 2 << 98 */
  15683. { { 0x0ca1f3b7b0dc8595L,0x27de46089f1d9f2eL,0x1af3bf39badd82a7L,
  15684. 0x79356a7965862448L },
  15685. { 0xc0602345f5f9a052L,0x1a8b0f89139a42f9L,0xb53eee42844d40fcL,
  15686. 0x93b0bfe54e5b6368L } },
  15687. /* 3 << 98 */
  15688. { { 0x5434dd02c024789cL,0x90dca9ea41b57bfcL,0x8aa898e2243398dfL,
  15689. 0xf607c834894a94bbL },
  15690. { 0xbb07be97c2c99b76L,0x6576ba6718c29302L,0x3d79efcce703a88cL,
  15691. 0xf259ced7b6a0d106L } },
  15692. /* 4 << 98 */
  15693. { { 0x0f893a5dc8de610bL,0xe8c515fb67e223ceL,0x7774bfa64ead6dc5L,
  15694. 0x89d20f95925c728fL },
  15695. { 0x7a1e0966098583ceL,0xa2eedb9493f2a7d7L,0x1b2820974c304d4aL,
  15696. 0x0842e3dac077282dL } },
  15697. /* 5 << 98 */
  15698. { { 0xe4d972a33b9e2d7bL,0x7cc60b27c48218ffL,0x8fc7083884149d91L,
  15699. 0x5c04346f2f461eccL },
  15700. { 0xebe9fdf2614650a9L,0x5e35b537c1f666acL,0x645613d188babc83L,
  15701. 0x88cace3ac5e1c93eL } },
  15702. /* 6 << 98 */
  15703. { { 0x209ca3753de92e23L,0xccb03cc85fbbb6e3L,0xccb90f03d7b1487eL,
  15704. 0xfa9c2a38c710941fL },
  15705. { 0x756c38236724ceedL,0x3a902258192d0323L,0xb150e519ea5e038eL,
  15706. 0xdcba2865c7427591L } },
  15707. /* 7 << 98 */
  15708. { { 0xe549237f78890732L,0xc443bef953fcb4d9L,0x9884d8a6eb3480d6L,
  15709. 0x8a35b6a13048b186L },
  15710. { 0xb4e4471665e9a90aL,0x45bf380d653006c0L,0x8f3f820d4fe9ae3bL,
  15711. 0x244a35a0979a3b71L } },
  15712. /* 8 << 98 */
  15713. { { 0xa1010e9d74cd06ffL,0x9c17c7dfaca3eeacL,0x74c86cd38063aa2bL,
  15714. 0x8595c4b3734614ffL },
  15715. { 0xa3de00ca990f62ccL,0xd9bed213ca0c3be5L,0x7886078adf8ce9f5L,
  15716. 0xddb27ce35cd44444L } },
  15717. /* 9 << 98 */
  15718. { { 0xed374a6658926dddL,0x138b2d49908015b8L,0x886c6579de1f7ab8L,
  15719. 0x888b9aa0c3020b7aL },
  15720. { 0xd3ec034e3a96e355L,0xba65b0b8f30fbe9aL,0x064c8e50ff21367aL,
  15721. 0x1f508ea40b04b46eL } },
  15722. /* 10 << 98 */
  15723. { { 0x98561a49747c866cL,0xbbb1e5fe0518a062L,0x20ff4e8becdc3608L,
  15724. 0x7f55cded20184027L },
  15725. { 0x8d73ec95f38c85f0L,0x5b589fdf8bc3b8c3L,0xbe95dd980f12b66fL,
  15726. 0xf5bd1a090e338e01L } },
  15727. /* 11 << 98 */
  15728. { { 0x65163ae55e915918L,0x6158d6d986f8a46bL,0x8466b538eeebf99cL,
  15729. 0xca8761f6bca477efL },
  15730. { 0xaf3449c29ebbc601L,0xef3b0f41e0c3ae2fL,0xaa6c577d5de63752L,
  15731. 0xe916660164682a51L } },
  15732. /* 12 << 98 */
  15733. { { 0x5a3097befc15aa1eL,0x40d12548b54b0745L,0x5bad4706519a5f12L,
  15734. 0xed03f717a439dee6L },
  15735. { 0x0794bb6c4a02c499L,0xf725083dcffe71d2L,0x2cad75190f3adcafL,
  15736. 0x7f68ea1c43729310L } },
  15737. /* 13 << 98 */
  15738. { { 0xe747c8c7b7ffd977L,0xec104c3580761a22L,0x8395ebaf5a3ffb83L,
  15739. 0xfb3261f4e4b63db7L },
  15740. { 0x53544960d883e544L,0x13520d708cc2eeb8L,0x08f6337bd3d65f99L,
  15741. 0x83997db2781cf95bL } },
  15742. /* 14 << 98 */
  15743. { { 0xce6ff1060dbd2c01L,0x4f8eea6b1f9ce934L,0x546f7c4b0e993921L,
  15744. 0x6236a3245e753fc7L },
  15745. { 0x65a41f84a16022e9L,0x0c18d87843d1dbb2L,0x73c556402d4cef9cL,
  15746. 0xa042810870444c74L } },
  15747. /* 15 << 98 */
  15748. { { 0x68e4f15e9afdfb3cL,0x49a561435bdfb6dfL,0xa9bc1bd45f823d97L,
  15749. 0xbceb5970ea111c2aL },
  15750. { 0x366b455fb269bbc4L,0x7cd85e1ee9bc5d62L,0xc743c41c4f18b086L,
  15751. 0xa4b4099095294fb9L } },
  15752. /* 16 << 98 */
  15753. { { 0x9c7c581d26ee8382L,0xcf17dcc5359d638eL,0xee8273abb728ae3dL,
  15754. 0x1d112926f821f047L },
  15755. { 0x1149847750491a74L,0x687fa761fde0dfb9L,0x2c2580227ea435abL,
  15756. 0x6b8bdb9491ce7e3fL } },
  15757. /* 17 << 98 */
  15758. { { 0x4c5b5dc93bf834aaL,0x043718194f6c7e4bL,0xc284e00a3736bcadL,
  15759. 0x0d88111821ae8f8dL },
  15760. { 0xf9cf0f82f48c8e33L,0xa11fd075a1bf40dbL,0xdceab0dedc2733e5L,
  15761. 0xc560a8b58e986bd7L } },
  15762. /* 18 << 98 */
  15763. { { 0x48dd1fe23929d097L,0x3885b29092f188f1L,0x0f2ae613da6fcdacL,
  15764. 0x9054303eb662a46cL },
  15765. { 0xb6871e440738042aL,0x98e6a977bdaf6449L,0xd8bc0650d1c9df1bL,
  15766. 0xef3d645136e098f9L } },
  15767. /* 19 << 98 */
  15768. { { 0x03fbae82b6d72d28L,0x77ca9db1f5d84080L,0x8a112cffa58efc1cL,
  15769. 0x518d761cc564cb4aL },
  15770. { 0x69b5740ef0d1b5ceL,0x717039cce9eb1785L,0x3fe29f9022f53382L,
  15771. 0x8e54ba566bc7c95cL } },
  15772. /* 20 << 98 */
  15773. { { 0x9c806d8af7f91d0fL,0x3b61b0f1a82a5728L,0x4640032d94d76754L,
  15774. 0x273eb5de47d834c6L },
  15775. { 0x2988abf77b4e4d53L,0xb7ce66bfde401777L,0x9fba6b32715071b3L,
  15776. 0x82413c24ad3a1a98L } },
  15777. /* 21 << 98 */
  15778. { { 0x5b7fc8c4e0e8ad93L,0xb5679aee5fab868dL,0xb1f9d2fa2b3946f3L,
  15779. 0x458897dc5685b50aL },
  15780. { 0x1e98c93089d0caf3L,0x39564c5f78642e92L,0x1b77729a0dbdaf18L,
  15781. 0xf9170722579e82e6L } },
  15782. /* 22 << 98 */
  15783. { { 0x680c0317e4515fa5L,0xf85cff84fb0c790fL,0xc7a82aab6d2e0765L,
  15784. 0x7446bca935c82b32L },
  15785. { 0x5de607aa6d63184fL,0x7c1a46a8262803a6L,0xd218313daebe8035L,
  15786. 0x92113ffdc73c51f8L } },
  15787. /* 23 << 98 */
  15788. { { 0x4b38e08312e7e46cL,0x69d0a37a56126bd5L,0xfb3f324b73c07e04L,
  15789. 0xa0c22f678fda7267L },
  15790. { 0x8f2c00514d2c7d8fL,0xbc45ced3cbe2cae5L,0xe1c6cf07a8f0f277L,
  15791. 0xbc3923121eb99a98L } },
  15792. /* 24 << 98 */
  15793. { { 0x75537b7e3cc8ac85L,0x8d725f57dd02753bL,0xfd05ff64b737df2fL,
  15794. 0x55fe8712f6d2531dL },
  15795. { 0x57ce04a96ab6b01cL,0x69a02a897cd93724L,0x4f82ac35cf86699bL,
  15796. 0x8242d3ad9cb4b232L } },
  15797. /* 25 << 98 */
  15798. { { 0x713d0f65d62105e5L,0xbb222bfa2d29be61L,0xf2f9a79e6cfbef09L,
  15799. 0xfc24d8d3d5d6782fL },
  15800. { 0x5db77085d4129967L,0xdb81c3ccdc3c2a43L,0x9d655fc005d8d9a3L,
  15801. 0x3f5d057a54298026L } },
  15802. /* 26 << 98 */
  15803. { { 0x1157f56d88c54694L,0xb26baba59b09573eL,0x2cab03b022adffd1L,
  15804. 0x60a412c8dd69f383L },
  15805. { 0xed76e98b54b25039L,0xd4ee67d3687e714dL,0x877396487b00b594L,
  15806. 0xce419775c9ef709bL } },
  15807. /* 27 << 98 */
  15808. { { 0x40f76f851c203a40L,0x30d352d6eafd8f91L,0xaf196d3d95578dd2L,
  15809. 0xea4bb3d777cc3f3dL },
  15810. { 0x42a5bd03b98e782bL,0xac958c400624920dL,0xb838134cfc56fcc8L,
  15811. 0x86ec4ccf89572e5eL } },
  15812. /* 28 << 98 */
  15813. { { 0x69c435269be47be0L,0x323b7dd8cb28fea1L,0xfa5538ba3a6c67e5L,
  15814. 0xef921d701d378e46L },
  15815. { 0xf92961fc3c4b880eL,0x3f6f914e98940a67L,0xa990eb0afef0ff39L,
  15816. 0xa6c2920ff0eeff9cL } },
  15817. /* 29 << 98 */
  15818. { { 0xca80416651b8d9a3L,0x42531bc90ffb0db1L,0x72ce4718aa82e7ceL,
  15819. 0x6e199913df574741L },
  15820. { 0xd5f1b13dd5d36946L,0x8255dc65f68f0194L,0xdc9df4cd8710d230L,
  15821. 0x3453c20f138c1988L } },
  15822. /* 30 << 98 */
  15823. { { 0x9af98dc089a6ef01L,0x4dbcc3f09857df85L,0x348056015c1ad924L,
  15824. 0x40448da5d0493046L },
  15825. { 0xf629926d4ee343e2L,0x6343f1bd90e8a301L,0xefc9349140815b3fL,
  15826. 0xf882a423de8f66fbL } },
  15827. /* 31 << 98 */
  15828. { { 0x3a12d5f4e7db9f57L,0x7dfba38a3c384c27L,0x7a904bfd6fc660b1L,
  15829. 0xeb6c5db32773b21cL },
  15830. { 0xc350ee661cdfe049L,0x9baac0ce44540f29L,0xbc57b6aba5ec6aadL,
  15831. 0x167ce8c30a7c1baaL } },
  15832. /* 32 << 98 */
  15833. { { 0xb23a03a553fb2b56L,0x6ce141e74e057f78L,0x796525c389e490d9L,
  15834. 0x0bc95725a31a7e75L },
  15835. { 0x1ec567911220fd06L,0x716e3a3c408b0bd6L,0x31cd6bf7e8ebeba9L,
  15836. 0xa7326ca6bee6b670L } },
  15837. /* 33 << 98 */
  15838. { { 0x3d9f851ccd090c43L,0x561e8f13f12c3988L,0x50490b6a904b7be4L,
  15839. 0x61690ce10410737bL },
  15840. { 0x299e9a370f009052L,0x258758f0f026092eL,0x9fa255f3fdfcdc0fL,
  15841. 0xdbc9fb1fc0e1bcd2L } },
  15842. /* 34 << 98 */
  15843. { { 0x35f9dd6e24651840L,0xdca45a84a5c59abcL,0x103d396fecca4938L,
  15844. 0x4532da0ab97b3f29L },
  15845. { 0xc4135ea51999a6bfL,0x3aa9505a5e6bf2eeL,0xf77cef063f5be093L,
  15846. 0x97d1a0f8a943152eL } },
  15847. /* 35 << 98 */
  15848. { { 0x2cb0ebba2e1c21ddL,0xf41b29fc2c6797c4L,0xc6e17321b300101fL,
  15849. 0x4422b0e9d0d79a89L },
  15850. { 0x49e4901c92f1bfc4L,0x06ab1f8fe1e10ed9L,0x84d35577db2926b8L,
  15851. 0xca349d39356e8ec2L } },
  15852. /* 36 << 98 */
  15853. { { 0x70b63d32343bf1a9L,0x8fd3bd2837d1a6b1L,0x0454879c316865b4L,
  15854. 0xee959ff6c458efa2L },
  15855. { 0x0461dcf89706dc3fL,0x737db0e2164e4b2eL,0x092626802f8843c8L,
  15856. 0x54498bbc7745e6f6L } },
  15857. /* 37 << 98 */
  15858. { { 0x359473faa29e24afL,0xfcc3c45470aa87a1L,0xfd2c4bf500573aceL,
  15859. 0xb65b514e28dd1965L },
  15860. { 0xe46ae7cf2193e393L,0x60e9a4e1f5444d97L,0xe7594e9600ff38edL,
  15861. 0x43d84d2f0a0e0f02L } },
  15862. /* 38 << 98 */
  15863. { { 0x8b6db141ee398a21L,0xb88a56aee3bcc5beL,0x0a1aa52f373460eaL,
  15864. 0x20da1a56160bb19bL },
  15865. { 0xfb54999d65bf0384L,0x71a14d245d5a180eL,0xbc44db7b21737b04L,
  15866. 0xd84fcb1801dd8e92L } },
  15867. /* 39 << 98 */
  15868. { { 0x80de937bfa44b479L,0x535054995c98fd4fL,0x1edb12ab28f08727L,
  15869. 0x4c58b582a5f3ef53L },
  15870. { 0xbfb236d88327f246L,0xc3a3bfaa4d7df320L,0xecd96c59b96024f2L,
  15871. 0xfc293a537f4e0433L } },
  15872. /* 40 << 98 */
  15873. { { 0x5341352b5acf6e10L,0xc50343fdafe652c3L,0x4af3792d18577a7fL,
  15874. 0xe1a4c617af16823dL },
  15875. { 0x9b26d0cd33425d0aL,0x306399ed9b7bc47fL,0x2a792f33706bb20bL,
  15876. 0x3121961498111055L } },
  15877. /* 41 << 98 */
  15878. { { 0x864ec06487f5d28bL,0x11392d91962277fdL,0xb5aa7942bb6aed5fL,
  15879. 0x080094dc47e799d9L },
  15880. { 0x4afa588c208ba19bL,0xd3e7570f8512f284L,0xcbae64e602f5799aL,
  15881. 0xdeebe7ef514b9492L } },
  15882. /* 42 << 98 */
  15883. { { 0x30300f98e5c298ffL,0x17f561be3678361fL,0xf52ff31298cb9a16L,
  15884. 0x6233c3bc5562d490L },
  15885. { 0x7bfa15a192e3a2cbL,0x961bcfd1e6365119L,0x3bdd29bf2c8c53b1L,
  15886. 0x739704df822844baL } },
  15887. /* 43 << 98 */
  15888. { { 0x7dacfb587e7b754bL,0x23360791a806c9b9L,0xe7eb88c923504452L,
  15889. 0x2983e996852c1783L },
  15890. { 0xdd4ae529958d881dL,0x026bae03262c7b3cL,0x3a6f9193960b52d1L,
  15891. 0xd0980f9092696cfbL } },
  15892. /* 44 << 98 */
  15893. { { 0x4c1f428cd5f30851L,0x94dfed272a4f6630L,0x4df53772fc5d48a4L,
  15894. 0xdd2d5a2f933260ceL },
  15895. { 0x574115bdd44cc7a5L,0x4ba6b20dbd12533aL,0x30e93cb8243057c9L,
  15896. 0x794c486a14de320eL } },
  15897. /* 45 << 98 */
  15898. { { 0xe925d4cef21496e4L,0xf951d198ec696331L,0x9810e2de3e8d812fL,
  15899. 0xd0a47259389294abL },
  15900. { 0x513ba2b50e3bab66L,0x462caff5abad306fL,0xe2dc6d59af04c49eL,
  15901. 0x1aeb8750e0b84b0bL } },
  15902. /* 46 << 98 */
  15903. { { 0xc034f12f2f7d0ca2L,0x6d2e8128e06acf2fL,0x801f4f8321facc2fL,
  15904. 0xa1170c03f40ef607L },
  15905. { 0xfe0a1d4f7805a99cL,0xbde56a36cc26aba5L,0x5b1629d035531f40L,
  15906. 0xac212c2b9afa6108L } },
  15907. /* 47 << 98 */
  15908. { { 0x30a06bf315697be5L,0x6f0545dc2c63c7c1L,0x5d8cb8427ccdadafL,
  15909. 0xd52e379bac7015bbL },
  15910. { 0xc4f56147f462c23eL,0xd44a429846bc24b0L,0xbc73d23ae2856d4fL,
  15911. 0x61cedd8c0832bcdfL } },
  15912. /* 48 << 98 */
  15913. { { 0x6095355699f241d7L,0xee4adbd7001a349dL,0x0b35bf6aaa89e491L,
  15914. 0x7f0076f4136f7546L },
  15915. { 0xd19a18ba9264da3dL,0x6eb2d2cd62a7a28bL,0xcdba941f8761c971L,
  15916. 0x1550518ba3be4a5dL } },
  15917. /* 49 << 98 */
  15918. { { 0xd0e8e2f057d0b70cL,0xeea8612ecd133ba3L,0x814670f044416aecL,
  15919. 0x424db6c330775061L },
  15920. { 0xd96039d116213fd1L,0xc61e7fa518a3478fL,0xa805bdcccb0c5021L,
  15921. 0xbdd6f3a80cc616ddL } },
  15922. /* 50 << 98 */
  15923. { { 0x060096675d97f7e2L,0x31db0fc1af0bf4b6L,0x23680ed45491627aL,
  15924. 0xb99a3c667d741fb1L },
  15925. { 0xe9bb5f5536b1ff92L,0x29738577512b388dL,0xdb8a2ce750fcf263L,
  15926. 0x385346d46c4f7b47L } },
  15927. /* 51 << 98 */
  15928. { { 0xbe86c5ef31631f9eL,0xbf91da2103a57a29L,0xc3b1f7967b23f821L,
  15929. 0x0f7d00d2770db354L },
  15930. { 0x8ffc6c3bd8fe79daL,0xcc5e8c40d525c996L,0x4640991dcfff632aL,
  15931. 0x64d97e8c67112528L } },
  15932. /* 52 << 98 */
  15933. { { 0xc232d97302f1cd1eL,0xce87eacb1dd212a4L,0x6e4c8c73e69802f7L,
  15934. 0x12ef02901fffddbdL },
  15935. { 0x941ec74e1bcea6e2L,0xd0b540243cb92cbbL,0x809fb9d47e8f9d05L,
  15936. 0x3bf16159f2992aaeL } },
  15937. /* 53 << 98 */
  15938. { { 0xad40f279f8a7a838L,0x11aea63105615660L,0xbf52e6f1a01f6fa1L,
  15939. 0xef0469953dc2aec9L },
  15940. { 0x785dbec9d8080711L,0xe1aec60a9fdedf76L,0xece797b5fa21c126L,
  15941. 0xc66e898f05e52732L } },
  15942. /* 54 << 98 */
  15943. { { 0x39bb69c408811fdbL,0x8bfe1ef82fc7f082L,0xc8e7a393174f4138L,
  15944. 0xfba8ad1dd58d1f98L },
  15945. { 0xbc21d0cebfd2fd5bL,0x0b839a826ee60d61L,0xaacf7658afd22253L,
  15946. 0xb526bed8aae396b3L } },
  15947. /* 55 << 98 */
  15948. { { 0xccc1bbc238564464L,0x9e3ff9478c45bc73L,0xcde9bca358188a78L,
  15949. 0x138b8ee0d73bf8f7L },
  15950. { 0x5c7e234c4123c489L,0x66e69368fa643297L,0x0629eeee39a15fa3L,
  15951. 0x95fab881a9e2a927L } },
  15952. /* 56 << 98 */
  15953. { { 0xb2497007eafbb1e1L,0xd75c9ce6e75b7a93L,0x3558352defb68d78L,
  15954. 0xa2f26699223f6396L },
  15955. { 0xeb911ecfe469b17aL,0x62545779e72d3ec2L,0x8ea47de782cb113fL,
  15956. 0xebe4b0864e1fa98dL } },
  15957. /* 57 << 98 */
  15958. { { 0xec2d5ed78cdfedb1L,0xa535c077fe211a74L,0x9678109b11d244c5L,
  15959. 0xf17c8bfbbe299a76L },
  15960. { 0xb651412efb11fbc4L,0xea0b548294ab3f65L,0xd8dffd950cf78243L,
  15961. 0x2e719e57ce0361d4L } },
  15962. /* 58 << 98 */
  15963. { { 0x9007f085304ddc5bL,0x095e8c6d4daba2eaL,0x5a33cdb43f9d28a9L,
  15964. 0x85b95cd8e2283003L },
  15965. { 0xbcd6c819b9744733L,0x29c5f538fc7f5783L,0x6c49b2fad59038e4L,
  15966. 0x68349cc13bbe1018L } },
  15967. /* 59 << 98 */
  15968. { { 0xcc490c1d21830ee5L,0x36f9c4eee9bfa297L,0x58fd729448de1a94L,
  15969. 0xaadb13a84e8f2cdcL },
  15970. { 0x515eaaa081313dbaL,0xc76bb468c2152dd8L,0x357f8d75a653dbf8L,
  15971. 0xe4d8c4d1b14ac143L } },
  15972. /* 60 << 98 */
  15973. { { 0xbdb8e675b055cb40L,0x898f8e7b977b5167L,0xecc65651b82fb863L,
  15974. 0x565448146d88f01fL },
  15975. { 0xb0928e95263a75a9L,0xcfb6836f1a22fcdaL,0x651d14db3f3bd37cL,
  15976. 0x1d3837fbb6ad4664L } },
  15977. /* 61 << 98 */
  15978. { { 0x7c5fb538ff4f94abL,0x7243c7126d7fb8f2L,0xef13d60ca85c5287L,
  15979. 0x18cfb7c74bb8dd1bL },
  15980. { 0x82f9bfe672908219L,0x35c4592b9d5144abL,0x52734f379cf4b42fL,
  15981. 0x6bac55e78c60ddc4L } },
  15982. /* 62 << 98 */
  15983. { { 0xb5cd811e94dea0f6L,0x259ecae4e18cc1a3L,0x6a0e836e15e660f8L,
  15984. 0x6c639ea60e02bff2L },
  15985. { 0x8721b8cb7e1026fdL,0x9e73b50b63261942L,0xb8c7097477f01da3L,
  15986. 0x1839e6a68268f57fL } },
  15987. /* 63 << 98 */
  15988. { { 0x571b94155150b805L,0x1892389ef92c7097L,0x8d69c18e4a084b95L,
  15989. 0x7014c512be5b495cL },
  15990. { 0x4780db361b07523cL,0x2f6219ce2c1c64faL,0xc38b81b0602c105aL,
  15991. 0xab4f4f205dc8e360L } },
  15992. /* 64 << 98 */
  15993. { { 0x20d3c982cf7d62d2L,0x1f36e29d23ba8150L,0x48ae0bf092763f9eL,
  15994. 0x7a527e6b1d3a7007L },
  15995. { 0xb4a89097581a85e3L,0x1f1a520fdc158be5L,0xf98db37d167d726eL,
  15996. 0x8802786e1113e862L } },
  15997. /* 0 << 105 */
  15998. { { 0x00, 0x00, 0x00, 0x00 },
  15999. { 0x00, 0x00, 0x00, 0x00 } },
  16000. /* 1 << 105 */
  16001. { { 0xefb2149e36f09ab0L,0x03f163ca4a10bb5bL,0xd029704506e20998L,
  16002. 0x56f0af001b5a3babL },
  16003. { 0x7af4cfec70880e0dL,0x7332a66fbe3d913fL,0x32e6c84a7eceb4bdL,
  16004. 0xedc4a79a9c228f55L } },
  16005. /* 2 << 105 */
  16006. { { 0xc37c7dd0c55c4496L,0xa6a9635725bbabd2L,0x5b7e63f2add7f363L,
  16007. 0x9dce37822e73f1dfL },
  16008. { 0xe1e5a16ab2b91f71L,0xe44898235ba0163cL,0xf2759c32f6e515adL,
  16009. 0xa5e2f1f88615eecfL } },
  16010. /* 3 << 105 */
  16011. { { 0x74519be7abded551L,0x03d358b8c8b74410L,0x4d00b10b0e10d9a9L,
  16012. 0x6392b0b128da52b7L },
  16013. { 0x6744a2980b75c904L,0xc305b0aea8f7f96cL,0x042e421d182cf932L,
  16014. 0xf6fc5d509e4636caL } },
  16015. /* 4 << 105 */
  16016. { { 0x795847c9d64cc78cL,0x6c50621b9b6cb27bL,0x07099bf8df8022abL,
  16017. 0x48f862ebc04eda1dL },
  16018. { 0xd12732ede1603c16L,0x19a80e0f5c9a9450L,0xe2257f54b429b4fcL,
  16019. 0x66d3b2c645460515L } },
  16020. /* 5 << 105 */
  16021. { { 0x6ca4f87e822e37beL,0x73f237b4253bda4eL,0xf747f3a241190aebL,
  16022. 0xf06fa36f804cf284L },
  16023. { 0x0a6bbb6efc621c12L,0x5d624b6440b80ec6L,0x4b0724257ba556f3L,
  16024. 0x7fa0c3543e2d20a8L } },
  16025. /* 6 << 105 */
  16026. { { 0xe921fa31e3229d41L,0xa929c65294531bd4L,0x84156027a6d38209L,
  16027. 0xf3d69f736bdb97bdL },
  16028. { 0x8906d19a16833631L,0x68a34c2e03d51be3L,0xcb59583b0e511cd8L,
  16029. 0x99ce6bfdfdc132a8L } },
  16030. /* 7 << 105 */
  16031. { { 0x3facdaaaffcdb463L,0x658bbc1a34a38b08L,0x12a801f8f1a9078dL,
  16032. 0x1567bcf96ab855deL },
  16033. { 0xe08498e03572359bL,0xcf0353e58659e68bL,0xbb86e9c87d23807cL,
  16034. 0xbc08728d2198e8a2L } },
  16035. /* 8 << 105 */
  16036. { { 0x8de2b7bc453cadd6L,0x203900a7bc0bc1f8L,0xbcd86e47a6abd3afL,
  16037. 0x911cac128502effbL },
  16038. { 0x2d550242ec965469L,0x0e9f769229e0017eL,0x633f078f65979885L,
  16039. 0xfb87d4494cf751efL } },
  16040. /* 9 << 105 */
  16041. { { 0xe1790e4bfc25419aL,0x364672034bff3cfdL,0xc8db638625b6e83fL,
  16042. 0x6cc69f236cad6fd2L },
  16043. { 0x0219e45a6bc68bb9L,0xe43d79b6297f7334L,0x7d445368465dc97cL,
  16044. 0x4b9eea322a0b949aL } },
  16045. /* 10 << 105 */
  16046. { { 0x1b96c6ba6102d021L,0xeaafac782f4461eaL,0xd4b85c41c49f19a8L,
  16047. 0x275c28e4cf538875L },
  16048. { 0x35451a9ddd2e54e0L,0x6991adb50605618bL,0x5b8b4bcd7b36cd24L,
  16049. 0x372a4f8c56f37216L } },
  16050. /* 11 << 105 */
  16051. { { 0xc890bd73a6a5da60L,0x6f083da0dc4c9ff0L,0xf4e14d94f0536e57L,
  16052. 0xf9ee1edaaaec8243L },
  16053. { 0x571241ec8bdcf8e7L,0xa5db82710b041e26L,0x9a0b9a99e3fff040L,
  16054. 0xcaaf21dd7c271202L } },
  16055. /* 12 << 105 */
  16056. { { 0xb4e2b2e14f0dd2e8L,0xe77e7c4f0a377ac7L,0x69202c3f0d7a2198L,
  16057. 0xf759b7ff28200eb8L },
  16058. { 0xc87526eddcfe314eL,0xeb84c52453d5cf99L,0xb1b52ace515138b6L,
  16059. 0x5aa7ff8c23fca3f4L } },
  16060. /* 13 << 105 */
  16061. { { 0xff0b13c3b9791a26L,0x960022dacdd58b16L,0xdbd55c9257aad2deL,
  16062. 0x3baaaaa3f30fe619L },
  16063. { 0x9a4b23460d881efdL,0x506416c046325e2aL,0x91381e76035c18d4L,
  16064. 0xb3bb68bef27817b0L } },
  16065. /* 14 << 105 */
  16066. { { 0x15bfb8bf5116f937L,0x7c64a586c1268943L,0x71e25cc38419a2c8L,
  16067. 0x9fd6b0c48335f463L },
  16068. { 0x4bf0ba3ce8ee0e0eL,0x6f6fba60298c21faL,0x57d57b39ae66bee0L,
  16069. 0x292d513022672544L } },
  16070. /* 15 << 105 */
  16071. { { 0xf451105dbab093b3L,0x012f59b902839986L,0x8a9158023474a89cL,
  16072. 0x048c919c2de03e97L },
  16073. { 0xc476a2b591071cd5L,0x791ed89a034970a5L,0x89bd9042e1b7994bL,
  16074. 0x8eaf5179a1057ffdL } },
  16075. /* 16 << 105 */
  16076. { { 0x6066e2a2d551ee10L,0x87a8f1d8727e09a6L,0x00d08bab2c01148dL,
  16077. 0x6da8e4f1424f33feL },
  16078. { 0x466d17f0cf9a4e71L,0xff5020103bf5cb19L,0xdccf97d8d062ecc0L,
  16079. 0x80c0d9af81d80ac4L } },
  16080. /* 17 << 105 */
  16081. { { 0xe87771d8033f2876L,0xb0186ec67d5cc3dbL,0x58e8bb803bc9bc1dL,
  16082. 0x4d1395cc6f6ef60eL },
  16083. { 0xa73c62d6186244a0L,0x918e5f23110a5b53L,0xed4878ca741b7eabL,
  16084. 0x3038d71adbe03e51L } },
  16085. /* 18 << 105 */
  16086. { { 0x840204b7a93c3246L,0x21ab6069a0b9b4cdL,0xf5fa6e2bb1d64218L,
  16087. 0x1de6ad0ef3d56191L },
  16088. { 0x570aaa88ff1929c7L,0xc6df4c6b640e87b5L,0xde8a74f2c65f0cccL,
  16089. 0x8b972fd5e6f6cc01L } },
  16090. /* 19 << 105 */
  16091. { { 0x3fff36b60b846531L,0xba7e45e610a5e475L,0x84a1d10e4145b6c5L,
  16092. 0xf1f7f91a5e046d9dL },
  16093. { 0x0317a69244de90d7L,0x951a1d4af199c15eL,0x91f78046c9d73debL,
  16094. 0x74c82828fab8224fL } },
  16095. /* 20 << 105 */
  16096. { { 0xaa6778fce7560b90L,0xb4073e61a7e824ceL,0xff0d693cd642eba8L,
  16097. 0x7ce2e57a5dccef38L },
  16098. { 0x89c2c7891df1ad46L,0x83a06922098346fdL,0x2d715d72da2fc177L,
  16099. 0x7b6dd71d85b6cf1dL } },
  16100. /* 21 << 105 */
  16101. { { 0xc60a6d0a73fa9cb0L,0xedd3992e328bf5a9L,0xc380ddd0832c8c82L,
  16102. 0xd182d410a2a0bf50L },
  16103. { 0x7d9d7438d9a528dbL,0xe8b1a0e9caf53994L,0xddd6e5fe0e19987cL,
  16104. 0xacb8df03190b059dL } },
  16105. /* 22 << 105 */
  16106. { { 0x53703a328300129fL,0x1f63766268c43bfdL,0xbcbd191300e54051L,
  16107. 0x812fcc627bf5a8c5L },
  16108. { 0x3f969d5f29fb85daL,0x72f4e00a694759e8L,0x426b6e52790726b7L,
  16109. 0x617bbc873bdbb209L } },
  16110. /* 23 << 105 */
  16111. { { 0x511f8bb997aee317L,0x812a4096e81536a8L,0x137dfe593ac09b9bL,
  16112. 0x0682238fba8c9a7aL },
  16113. { 0x7072ead6aeccb4bdL,0x6a34e9aa692ba633L,0xc82eaec26fff9d33L,
  16114. 0xfb7535121d4d2b62L } },
  16115. /* 24 << 105 */
  16116. { { 0x1a0445ff1d7aadabL,0x65d38260d5f6a67cL,0x6e62fb0891cfb26fL,
  16117. 0xef1e0fa55c7d91d6L },
  16118. { 0x47e7c7ba33db72cdL,0x017cbc09fa7c74b2L,0x3c931590f50a503cL,
  16119. 0xcac54f60616baa42L } },
  16120. /* 25 << 105 */
  16121. { { 0x9b6cd380b2369f0fL,0x97d3a70d23c76151L,0x5f9dd6fc9862a9c6L,
  16122. 0x044c4ab212312f51L },
  16123. { 0x035ea0fd834a2ddcL,0x49e6b862cc7b826dL,0xb03d688362fce490L,
  16124. 0x62f2497ab37e36e9L } },
  16125. /* 26 << 105 */
  16126. { { 0x04b005b6c6458293L,0x36bb5276e8d10af7L,0xacf2dc138ee617b8L,
  16127. 0x470d2d35b004b3d4L },
  16128. { 0x06790832feeb1b77L,0x2bb75c3985657f9cL,0xd70bd4edc0f60004L,
  16129. 0xfe797ecc219b018bL } },
  16130. /* 27 << 105 */
  16131. { { 0x9b5bec2a753aebccL,0xdaf9f3dcc939eca5L,0xd6bc6833d095ad09L,
  16132. 0x98abdd51daa4d2fcL },
  16133. { 0xd9840a318d168be5L,0xcf7c10e02325a23cL,0xa5c02aa07e6ecfafL,
  16134. 0x2462e7e6b5bfdf18L } },
  16135. /* 28 << 105 */
  16136. { { 0xab2d8a8ba0cc3f12L,0x68dd485dbc672a29L,0x72039752596f2cd3L,
  16137. 0x5d3eea67a0cf3d8dL },
  16138. { 0x810a1a81e6602671L,0x8f144a4014026c0cL,0xbc753a6d76b50f85L,
  16139. 0xc4dc21e8645cd4a4L } },
  16140. /* 29 << 105 */
  16141. { { 0xc5262dea521d0378L,0x802b8e0e05011c6fL,0x1ba19cbb0b4c19eaL,
  16142. 0x21db64b5ebf0aaecL },
  16143. { 0x1f394ee970342f9dL,0x93a10aee1bc44a14L,0xa7eed31b3efd0baaL,
  16144. 0x6e7c824e1d154e65L } },
  16145. /* 30 << 105 */
  16146. { { 0xee23fa819966e7eeL,0x64ec4aa805b7920dL,0x2d44462d2d90aad4L,
  16147. 0xf44dd195df277ad5L },
  16148. { 0x8d6471f1bb46b6a1L,0x1e65d313fd885090L,0x33a800f513a977b4L,
  16149. 0xaca9d7210797e1efL } },
  16150. /* 31 << 105 */
  16151. { { 0x9a5a85a0fcff6a17L,0x9970a3f31eca7ceeL,0xbb9f0d6bc9504be3L,
  16152. 0xe0c504beadd24ee2L },
  16153. { 0x7e09d95677fcc2f4L,0xef1a522765bb5fc4L,0x145d4fb18b9286aaL,
  16154. 0x66fd0c5d6649028bL } },
  16155. /* 32 << 105 */
  16156. { { 0x98857ceb1bf4581cL,0xe635e186aca7b166L,0x278ddd22659722acL,
  16157. 0xa0903c4c1db68007L },
  16158. { 0x366e458948f21402L,0x31b49c14b96abda2L,0x329c4b09e0403190L,
  16159. 0x97197ca3d29f43feL } },
  16160. /* 33 << 105 */
  16161. { { 0x8073dd1e274983d8L,0xda1a3bde55717c8fL,0xfd3d4da20361f9d1L,
  16162. 0x1332d0814c7de1ceL },
  16163. { 0x9b7ef7a3aa6d0e10L,0x17db2e73f54f1c4aL,0xaf3dffae4cd35567L,
  16164. 0xaaa2f406e56f4e71L } },
  16165. /* 34 << 105 */
  16166. { { 0x8966759e7ace3fc7L,0x9594eacf45a8d8c6L,0x8de3bd8b91834e0eL,
  16167. 0xafe4ca53548c0421L },
  16168. { 0xfdd7e856e6ee81c6L,0x8f671beb6b891a3aL,0xf7a58f2bfae63829L,
  16169. 0x9ab186fb9c11ac9fL } },
  16170. /* 35 << 105 */
  16171. { { 0x8d6eb36910b5be76L,0x046b7739fb040bcdL,0xccb4529fcb73de88L,
  16172. 0x1df0fefccf26be03L },
  16173. { 0xad7757a6bcfcd027L,0xa8786c75bb3165caL,0xe9db1e347e99a4d9L,
  16174. 0x99ee86dfb06c504bL } },
  16175. /* 36 << 105 */
  16176. { { 0x5b7c2dddc15c9f0aL,0xdf87a7344295989eL,0x59ece47c03d08fdaL,
  16177. 0xb074d3ddad5fc702L },
  16178. { 0x2040790351a03776L,0x2bb1f77b2a608007L,0x25c58f4fe1153185L,
  16179. 0xe6df62f6766e6447L } },
  16180. /* 37 << 105 */
  16181. { { 0xefb3d1beed51275aL,0x5de47dc72f0f483fL,0x7932d98e97c2bedfL,
  16182. 0xd5c119270219f8a1L },
  16183. { 0x9d751200a73a294eL,0x5f88434a9dc20172L,0xd28d9fd3a26f506aL,
  16184. 0xa890cd319d1dcd48L } },
  16185. /* 38 << 105 */
  16186. { { 0x0aebaec170f4d3b4L,0xfd1a13690ffc8d00L,0xb9d9c24057d57838L,
  16187. 0x45929d2668bac361L },
  16188. { 0x5a2cd06025b15ca6L,0x4b3c83e16e474446L,0x1aac7578ee1e5134L,
  16189. 0xa418f5d6c91e2f41L } },
  16190. /* 39 << 105 */
  16191. { { 0x6936fc8a213ed68bL,0x860ae7ed510a5224L,0x63660335def09b53L,
  16192. 0x641b2897cd79c98dL },
  16193. { 0x29bd38e101110f35L,0x79c26f42648b1937L,0x64dae5199d9164f4L,
  16194. 0xd85a23100265c273L } },
  16195. /* 40 << 105 */
  16196. { { 0x7173dd5d4b07e2b1L,0xd144c4cb8d9ea221L,0xe8b04ea41105ab14L,
  16197. 0x92dda542fe80d8f1L },
  16198. { 0xe9982fa8cf03dce6L,0x8b5ea9651a22cffcL,0xf7f4ea7f3fad88c4L,
  16199. 0x62db773e6a5ba95cL } },
  16200. /* 41 << 105 */
  16201. { { 0xd20f02fb93f24567L,0xfd46c69a315257caL,0x0ac74cc78bcab987L,
  16202. 0x46f31c015ceca2f5L },
  16203. { 0x40aedb59888b219eL,0xe50ecc37e1fccd02L,0x1bcd9dad911f816cL,
  16204. 0x583cc1ec8db9b00cL } },
  16205. /* 42 << 105 */
  16206. { { 0xf3cd2e66a483bf11L,0xfa08a6f5b1b2c169L,0xf375e2454be9fa28L,
  16207. 0x99a7ffec5b6d011fL },
  16208. { 0x6a3ebddbc4ae62daL,0x6cea00ae374aef5dL,0xab5fb98d9d4d05bcL,
  16209. 0x7cba1423d560f252L } },
  16210. /* 43 << 105 */
  16211. { { 0x49b2cc21208490deL,0x1ca66ec3bcfb2879L,0x7f1166b71b6fb16fL,
  16212. 0xfff63e0865fe5db3L },
  16213. { 0xb8345abe8b2610beL,0xb732ed8039de3df4L,0x0e24ed50211c32b4L,
  16214. 0xd10d8a69848ff27dL } },
  16215. /* 44 << 105 */
  16216. { { 0xc1074398ed4de248L,0xd7cedace10488927L,0xa4aa6bf885673e13L,
  16217. 0xb46bae916daf30afL },
  16218. { 0x07088472fcef7ad8L,0x61151608d4b35e97L,0xbcfe8f26dde29986L,
  16219. 0xeb84c4c7d5a34c79L } },
  16220. /* 45 << 105 */
  16221. { { 0xc1eec55c164e1214L,0x891be86da147bb03L,0x9fab4d100ba96835L,
  16222. 0xbf01e9b8a5c1ae9fL },
  16223. { 0x6b4de139b186ebc0L,0xd5c74c2685b91bcaL,0x5086a99cc2d93854L,
  16224. 0xeed62a7ba7a9dfbcL } },
  16225. /* 46 << 105 */
  16226. { { 0x8778ed6f76b7618aL,0xbff750a503b66062L,0x4cb7be22b65186dbL,
  16227. 0x369dfbf0cc3a6d13L },
  16228. { 0xc7dab26c7191a321L,0x9edac3f940ed718eL,0xbc142b36d0cfd183L,
  16229. 0xc8af82f67c991693L } },
  16230. /* 47 << 105 */
  16231. { { 0xb3d1e4d897ce0b2aL,0xe6d7c87fc3a55cdfL,0x35846b9568b81afeL,
  16232. 0x018d12afd3c239d8L },
  16233. { 0x2b2c620801206e15L,0xe0e42453a3b882c6L,0x854470a3a50162d5L,
  16234. 0x081574787017a62aL } },
  16235. /* 48 << 105 */
  16236. { { 0x18bd3fb4820357c7L,0x992039ae6f1458adL,0x9a1df3c525b44aa1L,
  16237. 0x2d780357ed3d5281L },
  16238. { 0x58cf7e4dc77ad4d4L,0xd49a7998f9df4fc4L,0x4465a8b51d71205eL,
  16239. 0xa0ee0ea6649254aaL } },
  16240. /* 49 << 105 */
  16241. { { 0x4b5eeecfab7bd771L,0x6c87307335c262b9L,0xdc5bd6483c9d61e7L,
  16242. 0x233d6d54321460d2L },
  16243. { 0xd20c5626fc195bccL,0x2544595804d78b63L,0xe03fcb3d17ec8ef3L,
  16244. 0x54b690d146b8f781L } },
  16245. /* 50 << 105 */
  16246. { { 0x82fa2c8a21230646L,0xf51aabb9084f418cL,0xff4fbec11a30ba43L,
  16247. 0x6a5acf73743c9df7L },
  16248. { 0x1da2b357d635b4d5L,0xc3de68ddecd5c1daL,0xa689080bd61af0ddL,
  16249. 0xdea5938ad665bf99L } },
  16250. /* 51 << 105 */
  16251. { { 0x0231d71afe637294L,0x01968aa6a5a81cd8L,0x11252d50048e63b5L,
  16252. 0xc446bc526ca007e9L },
  16253. { 0xef8c50a696d6134bL,0x9361fbf59e09a05cL,0xf17f85a6dca3291aL,
  16254. 0xb178d548ff251a21L } },
  16255. /* 52 << 105 */
  16256. { { 0x87f6374ba4df3915L,0x566ce1bf2fd5d608L,0x425cba4d7de35102L,
  16257. 0x6b745f8f58c5d5e2L },
  16258. { 0x88402af663122edfL,0x3190f9ed3b989a89L,0x4ad3d387ebba3156L,
  16259. 0xef385ad9c7c469a5L } },
  16260. /* 53 << 105 */
  16261. { { 0xb08281de3f642c29L,0x20be0888910ffb88L,0xf353dd4ad5292546L,
  16262. 0x3f1627de8377a262L },
  16263. { 0xa5faa013eefcd638L,0x8f3bf62674cc77c3L,0x32618f65a348f55eL,
  16264. 0x5787c0dc9fefeb9eL } },
  16265. /* 54 << 105 */
  16266. { { 0xf1673aa2d9a23e44L,0x88dfa9934e10690dL,0x1ced1b362bf91108L,
  16267. 0x9193ceca3af48649L },
  16268. { 0xfb34327d2d738fc5L,0x6697b037975fee6cL,0x2f485da0c04079a5L,
  16269. 0x2cdf57352feaa1acL } },
  16270. /* 55 << 105 */
  16271. { { 0x76944420bd55659eL,0x7973e32b4376090cL,0x86bb4fe1163b591aL,
  16272. 0x10441aedc196f0caL },
  16273. { 0x3b431f4a045ad915L,0x6c11b437a4afacb1L,0x30b0c7db71fdbbd8L,
  16274. 0xb642931feda65acdL } },
  16275. /* 56 << 105 */
  16276. { { 0x4baae6e89c92b235L,0xa73bbd0e6b3993a1L,0xd06d60ec693dd031L,
  16277. 0x03cab91b7156881cL },
  16278. { 0xd615862f1db3574bL,0x485b018564bb061aL,0x27434988a0181e06L,
  16279. 0x2cd61ad4c1c0c757L } },
  16280. /* 57 << 105 */
  16281. { { 0x3effed5a2ff9f403L,0x8dc98d8b62239029L,0x2206021e1f17b70dL,
  16282. 0xafbec0cabf510015L },
  16283. { 0x9fed716480130dfaL,0x306dc2b58a02dcf5L,0x48f06620feb10fc0L,
  16284. 0x78d1e1d55a57cf51L } },
  16285. /* 58 << 105 */
  16286. { { 0xadef8c5a192ef710L,0x88afbd4b3b7431f9L,0x7e1f740764250c9eL,
  16287. 0x6e31318db58bec07L },
  16288. { 0xfd4fc4b824f89b4eL,0x65a5dd8848c36a2aL,0x4f1eccfff024baa7L,
  16289. 0x22a21cf2cba94650L } },
  16290. /* 59 << 105 */
  16291. { { 0x95d29dee42a554f7L,0x828983a5002ec4baL,0x8112a1f78badb73dL,
  16292. 0x79ea8897a27c1839L },
  16293. { 0x8969a5a7d065fd83L,0xf49af791b262a0bcL,0xfcdea8b6af2b5127L,
  16294. 0x10e913e1564c2dbcL } },
  16295. /* 60 << 105 */
  16296. { { 0x51239d14bc21ef51L,0xe51c3ceb4ce57292L,0x795ff06847bbcc3bL,
  16297. 0x86b46e1ebd7e11e6L },
  16298. { 0x0ea6ba2380041ef4L,0xd72fe5056262342eL,0x8abc6dfd31d294d4L,
  16299. 0xbbe017a21278c2c9L } },
  16300. /* 61 << 105 */
  16301. { { 0xb1fcfa09b389328aL,0x322fbc62d01771b5L,0x04c0d06360b045bfL,
  16302. 0xdb652edc10e52d01L },
  16303. { 0x50ef932c03ec6627L,0xde1b3b2dc1ee50e3L,0x5ab7bdc5dc37a90dL,
  16304. 0xfea6721331e33a96L } },
  16305. /* 62 << 105 */
  16306. { { 0x6482b5cb4f2999aaL,0x38476cc6b8cbf0ddL,0x93ebfacb173405bbL,
  16307. 0x15cdafe7e52369ecL },
  16308. { 0xd42d5ba4d935b7dbL,0x648b60041c99a4cdL,0x785101bda3b5545bL,
  16309. 0x4bf2c38a9dd67fafL } },
  16310. /* 63 << 105 */
  16311. { { 0xb1aadc634442449cL,0xe0e9921a33ad4fb8L,0x5c552313aa686d82L,
  16312. 0xdee635fa465d866cL },
  16313. { 0xbc3c224a18ee6e8aL,0xeed748a6ed42e02fL,0xe70f930ad474cd08L,
  16314. 0x774ea6ecfff24adfL } },
  16315. /* 64 << 105 */
  16316. { { 0x03e2de1cf3480d4aL,0xf0d8edc7bc8acf1aL,0xf23e330368295a9cL,
  16317. 0xfadd5f68c546a97dL },
  16318. { 0x895597ad96f8acb1L,0xbddd49d5671bdae2L,0x16fcd52821dd43f4L,
  16319. 0xa5a454126619141aL } },
  16320. /* 0 << 112 */
  16321. { { 0x00, 0x00, 0x00, 0x00 },
  16322. { 0x00, 0x00, 0x00, 0x00 } },
  16323. /* 1 << 112 */
  16324. { { 0x8ce9b6bfc360e25aL,0xe6425195075a1a78L,0x9dc756a8481732f4L,
  16325. 0x83c0440f5432b57aL },
  16326. { 0xc670b3f1d720281fL,0x2205910ed135e051L,0xded14b0edb052be7L,
  16327. 0x697b3d27c568ea39L } },
  16328. /* 2 << 112 */
  16329. { { 0x2e599b9afb3ff9edL,0x28c2e0ab17f6515cL,0x1cbee4fd474da449L,
  16330. 0x071279a44f364452L },
  16331. { 0x97abff6601fbe855L,0x3ee394e85fda51c4L,0x190385f667597c0bL,
  16332. 0x6e9fccc6a27ee34bL } },
  16333. /* 3 << 112 */
  16334. { { 0x0b89de9314092ebbL,0xf17256bd428e240cL,0xcf89a7f393d2f064L,
  16335. 0x4f57841ee1ed3b14L },
  16336. { 0x4ee14405e708d855L,0x856aae7203f1c3d0L,0xc8e5424fbdd7eed5L,
  16337. 0x3333e4ef73ab4270L } },
  16338. /* 4 << 112 */
  16339. { { 0x3bc77adedda492f8L,0xc11a3aea78297205L,0x5e89a3e734931b4cL,
  16340. 0x17512e2e9f5694bbL },
  16341. { 0x5dc349f3177bf8b6L,0x232ea4ba08c7ff3eL,0x9c4f9d16f511145dL,
  16342. 0xccf109a333b379c3L } },
  16343. /* 5 << 112 */
  16344. { { 0xe75e7a88a1f25897L,0x7ac6961fa1b5d4d8L,0xe3e1077308f3ed5cL,
  16345. 0x208a54ec0a892dfbL },
  16346. { 0xbe826e1978660710L,0x0cf70a97237df2c8L,0x418a7340ed704da5L,
  16347. 0xa3eeb9a908ca33fdL } },
  16348. /* 6 << 112 */
  16349. { { 0x49d96233169bca96L,0x04d286d42da6aafbL,0xc09606eca0c2fa94L,
  16350. 0x8869d0d523ff0fb3L },
  16351. { 0xa99937e5d0150d65L,0xa92e2503240c14c9L,0x656bf945108e2d49L,
  16352. 0x152a733aa2f59e2bL } },
  16353. /* 7 << 112 */
  16354. { { 0xb4323d588434a920L,0xc0af8e93622103c5L,0x667518ef938dbf9aL,
  16355. 0xa184307383a9cdf2L },
  16356. { 0x350a94aa5447ab80L,0xe5e5a325c75a3d61L,0x74ba507f68411a9eL,
  16357. 0x10581fc1594f70c5L } },
  16358. /* 8 << 112 */
  16359. { { 0x60e2857080eb24a9L,0x7bedfb4d488e0cfdL,0x721ebbd7c259cdb8L,
  16360. 0x0b0da855bc6390a9L },
  16361. { 0x2b4d04dbde314c70L,0xcdbf1fbc6c32e846L,0x33833eabb162fc9eL,
  16362. 0x9939b48bb0dd3ab7L } },
  16363. /* 9 << 112 */
  16364. { { 0x5aaa98a7cb0c9c8cL,0x75105f3081c4375cL,0xceee50575ef1c90fL,
  16365. 0xb31e065fc23a17bfL },
  16366. { 0x5364d275d4b6d45aL,0xd363f3ad62ec8996L,0xb5d212394391c65bL,
  16367. 0x84564765ebb41b47L } },
  16368. /* 10 << 112 */
  16369. { { 0x20d18ecc37107c78L,0xacff3b6b570c2a66L,0x22f975d99bd0d845L,
  16370. 0xef0a0c46ba178fa0L },
  16371. { 0x1a41965176b6028eL,0xc49ec674248612d4L,0x5b6ac4f27338af55L,
  16372. 0x06145e627bee5a36L } },
  16373. /* 11 << 112 */
  16374. { { 0x33e95d07e75746b5L,0x1c1e1f6dc40c78beL,0x967833ef222ff8e2L,
  16375. 0x4bedcf6ab49180adL },
  16376. { 0x6b37e9c13d7a4c8aL,0x2748887c6ddfe760L,0xf7055123aa3a5bbcL,
  16377. 0x954ff2257bbb8e74L } },
  16378. /* 12 << 112 */
  16379. { { 0xc42b8ab197c3dfb9L,0x55a549b0cf168154L,0xad6748e7c1b50692L,
  16380. 0x2775780f6fc5cbcbL },
  16381. { 0x4eab80b8e1c9d7c8L,0x8c69dae13fdbcd56L,0x47e6b4fb9969eaceL,
  16382. 0x002f1085a705cb5aL } },
  16383. /* 13 << 112 */
  16384. { { 0x4e23ca446d3fea55L,0xb4ae9c86f4810568L,0x47bfb91b2a62f27dL,
  16385. 0x60deb4c9d9bac28cL },
  16386. { 0xa892d8947de6c34cL,0x4ee682594494587dL,0x914ee14e1a3f8a5bL,
  16387. 0xbb113eaa28700385L } },
  16388. /* 14 << 112 */
  16389. { { 0x81ca03b92115b4c9L,0x7c163d388908cad1L,0xc912a118aa18179aL,
  16390. 0xe09ed750886e3081L },
  16391. { 0xa676e3fa26f516caL,0x753cacf78e732f91L,0x51592aea833da8b4L,
  16392. 0xc626f42f4cbea8aaL } },
  16393. /* 15 << 112 */
  16394. { { 0xef9dc899a7b56eafL,0x00c0e52c34ef7316L,0x5b1e4e24fe818a86L,
  16395. 0x9d31e20dc538be47L },
  16396. { 0x22eb932d3ed68974L,0xe44bbc087c4e87c4L,0x4121086e0dde9aefL,
  16397. 0x8e6b9cff134f4345L } },
  16398. /* 16 << 112 */
  16399. { { 0x96892c1f711b0eb9L,0xb905f2c8780ab954L,0xace26309a20792dbL,
  16400. 0xec8ac9b30684e126L },
  16401. { 0x486ad8b6b40a2447L,0x60121fc19fe3fb24L,0x5626fccf1a8e3b3fL,
  16402. 0x4e5686226ad1f394L } },
  16403. /* 17 << 112 */
  16404. { { 0xda7aae0d196aa5a1L,0xe0df8c771041b5fbL,0x451465d926b318b7L,
  16405. 0xc29b6e557ab136e9L },
  16406. { 0x2c2ab48b71148463L,0xb5738de364454a76L,0x54ccf9a05a03abe4L,
  16407. 0x377c02960427d58eL } },
  16408. /* 18 << 112 */
  16409. { { 0x73f5f0b92bb39c1fL,0x14373f2ce608d8c5L,0xdcbfd31400fbb805L,
  16410. 0xdf18fb2083afdcfbL },
  16411. { 0x81a57f4242b3523fL,0xe958532d87f650fbL,0xaa8dc8b68b0a7d7cL,
  16412. 0x1b75dfb7150166beL } },
  16413. /* 19 << 112 */
  16414. { { 0x90e4f7c92d7d1413L,0x67e2d6b59834f597L,0x4fd4f4f9a808c3e8L,
  16415. 0xaf8237e0d5281ec1L },
  16416. { 0x25ab5fdc84687ceeL,0xc5ded6b1a5b26c09L,0x8e4a5aecc8ea7650L,
  16417. 0x23b73e5c14cc417fL } },
  16418. /* 20 << 112 */
  16419. { { 0x2bfb43183037bf52L,0xb61e6db578c725d7L,0x8efd4060bbb3e5d7L,
  16420. 0x2e014701dbac488eL },
  16421. { 0xac75cf9a360aa449L,0xb70cfd0579634d08L,0xa591536dfffb15efL,
  16422. 0xb2c37582d07c106cL } },
  16423. /* 21 << 112 */
  16424. { { 0xb4293fdcf50225f9L,0xc52e175cb0e12b03L,0xf649c3bad0a8bf64L,
  16425. 0x745a8fefeb8ae3c6L },
  16426. { 0x30d7e5a358321bc3L,0xb1732be70bc4df48L,0x1f217993e9ea5058L,
  16427. 0xf7a71cde3e4fd745L } },
  16428. /* 22 << 112 */
  16429. { { 0x86cc533e894c5bbbL,0x6915c7d969d83082L,0xa6aa2d055815c244L,
  16430. 0xaeeee59249b22ce5L },
  16431. { 0x89e39d1378135486L,0x3a275c1f16b76f2fL,0xdb6bcc1be036e8f5L,
  16432. 0x4df69b215e4709f5L } },
  16433. /* 23 << 112 */
  16434. { { 0xa188b2502d0f39aaL,0x622118bb15a85947L,0x2ebf520ffde0f4faL,
  16435. 0xa40e9f294860e539L },
  16436. { 0x7b6a51eb22b57f0fL,0x849a33b97e80644aL,0x50e5d16f1cf095feL,
  16437. 0xd754b54eec55f002L } },
  16438. /* 24 << 112 */
  16439. { { 0x5cfbbb22236f4a98L,0x0b0c59e9066800bbL,0x4ac69a8f5a9a7774L,
  16440. 0x2b33f804d6bec948L },
  16441. { 0xb372929532e6c466L,0x68956d0f4e599c73L,0xa47a249f155c31ccL,
  16442. 0x24d80f0de1ce284eL } },
  16443. /* 25 << 112 */
  16444. { { 0xcd821dfb988baf01L,0xe6331a7ddbb16647L,0x1eb8ad33094cb960L,
  16445. 0x593cca38c91bbca5L },
  16446. { 0x384aac8d26567456L,0x40fa0309c04b6490L,0x97834cd6dab6c8f6L,
  16447. 0x68a7318d3f91e55fL } },
  16448. /* 26 << 112 */
  16449. { { 0xa00fd04efc4d3157L,0xb56f8ab22bf3bdeaL,0x014f56484fa57172L,
  16450. 0x948c5860450abdb3L },
  16451. { 0x342b5df00ebd4f08L,0x3e5168cd0e82938eL,0x7aedc1ceb0df5dd0L,
  16452. 0x6bbbc6d9e5732516L } },
  16453. /* 27 << 112 */
  16454. { { 0xc7bfd486605daaa6L,0x46fd72b7bb9a6c9eL,0xe4847fb1a124fb89L,
  16455. 0x75959cbda2d8ffbcL },
  16456. { 0x42579f65c8a588eeL,0x368c92e6b80b499dL,0xea4ef6cd999a5df1L,
  16457. 0xaa73bb7f936fe604L } },
  16458. /* 28 << 112 */
  16459. { { 0xf347a70d6457d188L,0x86eda86b8b7a388bL,0xb7cdff060ccd6013L,
  16460. 0xbeb1b6c7d0053fb2L },
  16461. { 0x0b02238799240a9fL,0x1bbb384f776189b2L,0x8695e71e9066193aL,
  16462. 0x2eb5009706ffac7eL } },
  16463. /* 29 << 112 */
  16464. { { 0x0654a9c04a7d2caaL,0x6f3fb3d1a5aaa290L,0x835db041ff476e8fL,
  16465. 0x540b8b0bc42295e4L },
  16466. { 0xa5c73ac905e214f5L,0x9a74075a56a0b638L,0x2e4b1090ce9e680bL,
  16467. 0x57a5b4796b8d9afaL } },
  16468. /* 30 << 112 */
  16469. { { 0x0dca48e726bfe65cL,0x097e391c7290c307L,0x683c462e6669e72eL,
  16470. 0xf505be1e062559acL },
  16471. { 0x5fbe3ea1e3a3035aL,0x6431ebf69cd50da8L,0xfd169d5c1f6407f2L,
  16472. 0x8d838a9560fce6b8L } },
  16473. /* 31 << 112 */
  16474. { { 0x2a2bfa7f650006f0L,0xdfd7dad350c0fbb2L,0x92452495ccf9ad96L,
  16475. 0x183bf494d95635f9L },
  16476. { 0x02d5df434a7bd989L,0x505385cca5431095L,0xdd98e67dfd43f53eL,
  16477. 0xd61e1a6c500c34a9L } },
  16478. /* 32 << 112 */
  16479. { { 0x5a4b46c64a8a3d62L,0x8469c4d0247743d2L,0x2bb3a13d88f7e433L,
  16480. 0x62b23a1001be5849L },
  16481. { 0xe83596b4a63d1a4cL,0x454e7fea7d183f3eL,0x643fce6117afb01cL,
  16482. 0x4e65e5e61c4c3638L } },
  16483. /* 33 << 112 */
  16484. { { 0x41d85ea1ef74c45bL,0x2cfbfa66ae328506L,0x98b078f53ada7da9L,
  16485. 0xd985fe37ec752fbbL },
  16486. { 0xeece68fe5a0148b4L,0x6f9a55c72d78136dL,0x232dccc4d2b729ceL,
  16487. 0xa27e0dfd90aafbc4L } },
  16488. /* 34 << 112 */
  16489. { { 0x9647445212b4603eL,0xa876c5516b706d14L,0xdf145fcf69a9d412L,
  16490. 0xe2ab75b72d479c34L },
  16491. { 0x12df9a761a23ff97L,0xc61389925d359d10L,0x6e51c7aefa835f22L,
  16492. 0x69a79cb1c0fcc4d9L } },
  16493. /* 35 << 112 */
  16494. { { 0xf57f350d594cc7e1L,0x3079ca633350ab79L,0x226fb6149aff594aL,
  16495. 0x35afec026d59a62bL },
  16496. { 0x9bee46f406ed2c6eL,0x58da17357d939a57L,0x44c504028fd1797eL,
  16497. 0xd8853e7c5ccea6caL } },
  16498. /* 36 << 112 */
  16499. { { 0x4065508da35fcd5fL,0x8965df8c495ccaebL,0x0f2da85012e1a962L,
  16500. 0xee471b94c1cf1cc4L },
  16501. { 0xcef19bc80a08fb75L,0x704958f581de3591L,0x2867f8b23aef4f88L,
  16502. 0x8d749384ea9f9a5fL } },
  16503. /* 37 << 112 */
  16504. { { 0x1b3855378c9049f4L,0x5be948f37b92d8b6L,0xd96f725db6e2bd6bL,
  16505. 0x37a222bc958c454dL },
  16506. { 0xe7c61abb8809bf61L,0x46f07fbc1346f18dL,0xfb567a7ae87c0d1cL,
  16507. 0x84a461c87ef3d07aL } },
  16508. /* 38 << 112 */
  16509. { { 0x0a5adce6d9278d98L,0x24d948139dfc73e1L,0x4f3528b6054321c3L,
  16510. 0x2e03fdde692ea706L },
  16511. { 0x10e6061947b533c0L,0x1a8bc73f2ca3c055L,0xae58d4b21bb62b8fL,
  16512. 0xb2045a73584a24e3L } },
  16513. /* 39 << 112 */
  16514. { { 0x3ab3d5afbd76e195L,0x478dd1ad6938a810L,0x6ffab3936ee3d5cbL,
  16515. 0xdfb693db22b361e4L },
  16516. { 0xf969449651dbf1a7L,0xcab4b4ef08a2e762L,0xe8c92f25d39bba9aL,
  16517. 0x850e61bcf1464d96L } },
  16518. /* 40 << 112 */
  16519. { { 0xb7e830e3dc09508bL,0xfaf6d2cf74317655L,0x72606cebdf690355L,
  16520. 0x48bb92b3d0c3ded6L },
  16521. { 0x65b754845c7cf892L,0xf6cd7ac9d5d5f01fL,0xc2c30a5996401d69L,
  16522. 0x91268650ed921878L } },
  16523. /* 41 << 112 */
  16524. { { 0x380bf913b78c558fL,0x43c0baebc8afdaa9L,0x377f61d554f169d3L,
  16525. 0xf8da07e3ae5ff20bL },
  16526. { 0xb676c49da8a90ea8L,0x81c1ff2b83a29b21L,0x383297ac2ad8d276L,
  16527. 0x3001122fba89f982L } },
  16528. /* 42 << 112 */
  16529. { { 0xe1d794be6718e448L,0x246c14827c3e6e13L,0x56646ef85d26b5efL,
  16530. 0x80f5091e88069cddL },
  16531. { 0xc5992e2f724bdd38L,0x02e915b48471e8c7L,0x96ff320a0d0ff2a9L,
  16532. 0xbf8864874384d1a0L } },
  16533. /* 43 << 112 */
  16534. { { 0xbbe1e6a6c93f72d6L,0xd5f75d12cad800eaL,0xfa40a09fe7acf117L,
  16535. 0x32c8cdd57581a355L },
  16536. { 0x742219927023c499L,0xa8afe5d738ec3901L,0x5691afcba90e83f0L,
  16537. 0x41bcaa030b8f8eacL } },
  16538. /* 44 << 112 */
  16539. { { 0xe38b5ff98d2668d5L,0x0715281a7ad81965L,0x1bc8fc7c03c6ce11L,
  16540. 0xcbbee6e28b650436L },
  16541. { 0x06b00fe80cdb9808L,0x17d6e066fe3ed315L,0x2e9d38c64d0b5018L,
  16542. 0xab8bfd56844dcaefL } },
  16543. /* 45 << 112 */
  16544. { { 0x42894a59513aed8bL,0xf77f3b6d314bd07aL,0xbbdecb8f8e42b582L,
  16545. 0xf10e2fa8d2390fe6L },
  16546. { 0xefb9502262a2f201L,0x4d59ea5050ee32b0L,0xd87f77286da789a8L,
  16547. 0xcf98a2cff79492c4L } },
  16548. /* 46 << 112 */
  16549. { { 0xf9577239720943c2L,0xba044cf53990b9d0L,0x5aa8e82395f2884aL,
  16550. 0x834de6ed0278a0afL },
  16551. { 0xc8e1ee9a5f25bd12L,0x9259ceaa6f7ab271L,0x7e6d97a277d00b76L,
  16552. 0x5c0c6eeaa437832aL } },
  16553. /* 47 << 112 */
  16554. { { 0x5232c20f5606b81dL,0xabd7b3750d991ee5L,0x4d2bfe358632d951L,
  16555. 0x78f8514698ed9364L },
  16556. { 0x951873f0f30c3282L,0x0da8ac80a789230bL,0x3ac7789c5398967fL,
  16557. 0xa69b8f7fbdda0fb5L } },
  16558. /* 48 << 112 */
  16559. { { 0xe5db77176add8545L,0x1b71cb6672c49b66L,0xd856073968421d77L,
  16560. 0x03840fe883e3afeaL },
  16561. { 0xb391dad51ec69977L,0xae243fb9307f6726L,0xc88ac87be8ca160cL,
  16562. 0x5174cced4ce355f4L } },
  16563. /* 49 << 112 */
  16564. { { 0x98a35966e58ba37dL,0xfdcc8da27817335dL,0x5b75283083fbc7bfL,
  16565. 0x68e419d4d9c96984L },
  16566. { 0x409a39f402a40380L,0x88940faf1fe977bcL,0xc640a94b8f8edea6L,
  16567. 0x1e22cd17ed11547dL } },
  16568. /* 50 << 112 */
  16569. { { 0xe28568ce59ffc3e2L,0x60aa1b55c1dee4e7L,0xc67497c8837cb363L,
  16570. 0x06fb438a105a2bf2L },
  16571. { 0x30357ec4500d8e20L,0x1ad9095d0670db10L,0x7f589a05c73b7cfdL,
  16572. 0xf544607d880d6d28L } },
  16573. /* 51 << 112 */
  16574. { { 0x17ba93b1a20ef103L,0xad8591306ba6577bL,0x65c91cf66fa214a0L,
  16575. 0xd7d49c6c27990da5L },
  16576. { 0xecd9ec8d20bb569dL,0xbd4b2502eeffbc33L,0x2056ca5a6bed0467L,
  16577. 0x7916a1f75b63728cL } },
  16578. /* 52 << 112 */
  16579. { { 0xd4f9497d53a4f566L,0x8973466497b56810L,0xf8e1da740494a621L,
  16580. 0x82546a938d011c68L },
  16581. { 0x1f3acb19c61ac162L,0x52f8fa9cabad0d3eL,0x15356523b4b7ea43L,
  16582. 0x5a16ad61ae608125L } },
  16583. /* 53 << 112 */
  16584. { { 0xb0bcb87f4faed184L,0x5f236b1d5029f45fL,0xd42c76070bc6b1fcL,
  16585. 0xc644324e68aefce3L },
  16586. { 0x8e191d595c5d8446L,0xc020807713ae1979L,0xadcaee553ba59cc7L,
  16587. 0x20ed6d6ba2cb81baL } },
  16588. /* 54 << 112 */
  16589. { { 0x0952ba19b6efcffcL,0x60f12d6897c0b87cL,0x4ee2c7c49caa30bcL,
  16590. 0x767238b797fbff4eL },
  16591. { 0xebc73921501b5d92L,0x3279e3dfc2a37737L,0x9fc12bc86d197543L,
  16592. 0xfa94dc6f0a40db4eL } },
  16593. /* 55 << 112 */
  16594. { { 0x7392b41a530ccbbdL,0x87c82146ea823525L,0xa52f984c05d98d0cL,
  16595. 0x2ae57d735ef6974cL },
  16596. { 0x9377f7bf3042a6ddL,0xb1a007c019647a64L,0xfaa9079a0cca9767L,
  16597. 0x3d81a25bf68f72d5L } },
  16598. /* 56 << 112 */
  16599. { { 0x752067f8ff81578eL,0x786221509045447dL,0xc0c22fcf0505aa6fL,
  16600. 0x1030f0a66bed1c77L },
  16601. { 0x31f29f151f0bd739L,0x2d7989c7e6debe85L,0x5c070e728e677e98L,
  16602. 0x0a817bd306e81fd5L } },
  16603. /* 57 << 112 */
  16604. { { 0xc110d830b0f2ac95L,0x48d0995aab20e64eL,0x0f3e00e17729cd9aL,
  16605. 0x2a570c20dd556946L },
  16606. { 0x912dbcfd4e86214dL,0x2d014ee2cf615498L,0x55e2b1e63530d76eL,
  16607. 0xc5135ae4fd0fd6d1L } },
  16608. /* 58 << 112 */
  16609. { { 0x0066273ad4f3049fL,0xbb8e9893e7087477L,0x2dba1ddb14c6e5fdL,
  16610. 0xdba3788651f57e6cL },
  16611. { 0x5aaee0a65a72f2cfL,0x1208bfbf7bea5642L,0xf5c6aa3b67872c37L,
  16612. 0xd726e08343f93224L } },
  16613. /* 59 << 112 */
  16614. { { 0x1854daa5061f1658L,0xc0016df1df0cd2b3L,0xc2a3f23e833d50deL,
  16615. 0x73b681d2bbbd3017L },
  16616. { 0x2f046dc43ac343c0L,0x9c847e7d85716421L,0xe1e13c910917eed4L,
  16617. 0x3fc9eebd63a1b9c6L } },
  16618. /* 60 << 112 */
  16619. { { 0x0f816a727fe02299L,0x6335ccc2294f3319L,0x3820179f4745c5beL,
  16620. 0xe647b782922f066eL },
  16621. { 0xc22e49de02cafb8aL,0x299bc2fffcc2ecccL,0x9a8feea26e0e8282L,
  16622. 0xa627278bfe893205L } },
  16623. /* 61 << 112 */
  16624. { { 0xa7e197337933e47bL,0xf4ff6b132e766402L,0xa4d8be0a98440d9fL,
  16625. 0x658f5c2f38938808L },
  16626. { 0x90b75677c95b3b3eL,0xfa0442693137b6ffL,0x077b039b43c47c29L,
  16627. 0xcca95dd38a6445b2L } },
  16628. /* 62 << 112 */
  16629. { { 0x0b498ba42333fc4cL,0x274f8e68f736a1b1L,0x6ca348fd5f1d4b2eL,
  16630. 0x24d3be78a8f10199L },
  16631. { 0x8535f858ca14f530L,0xa6e7f1635b982e51L,0x847c851236e1bf62L,
  16632. 0xf6a7c58e03448418L } },
  16633. /* 63 << 112 */
  16634. { { 0x583f3703f9374ab6L,0x864f91956e564145L,0x33bc3f4822526d50L,
  16635. 0x9f323c801262a496L },
  16636. { 0xaa97a7ae3f046a9aL,0x70da183edf8a039aL,0x5b68f71c52aa0ba6L,
  16637. 0x9be0fe5121459c2dL } },
  16638. /* 64 << 112 */
  16639. { { 0xc1e17eb6cbc613e5L,0x33131d55497ea61cL,0x2f69d39eaf7eded5L,
  16640. 0x73c2f434de6af11bL },
  16641. { 0x4ca52493a4a375faL,0x5f06787cb833c5c2L,0x814e091f3e6e71cfL,
  16642. 0x76451f578b746666L } },
  16643. /* 0 << 119 */
  16644. { { 0x00, 0x00, 0x00, 0x00 },
  16645. { 0x00, 0x00, 0x00, 0x00 } },
  16646. /* 1 << 119 */
  16647. { { 0x80f9bdef694db7e0L,0xedca8787b9fcddc6L,0x51981c3403b8dce1L,
  16648. 0x4274dcf170e10ba1L },
  16649. { 0xf72743b86def6d1aL,0xd25b1670ebdb1866L,0xc4491e8c050c6f58L,
  16650. 0x2be2b2ab87fbd7f5L } },
  16651. /* 2 << 119 */
  16652. { { 0x3e0e5c9dd111f8ecL,0xbcc33f8db7c4e760L,0x702f9a91bd392a51L,
  16653. 0x7da4a795c132e92dL },
  16654. { 0x1a0b0ae30bb1151bL,0x54febac802e32251L,0xea3a5082694e9e78L,
  16655. 0xe58ffec1e4fe40b8L } },
  16656. /* 3 << 119 */
  16657. { { 0xf85592fcd1e0cf9eL,0xdea75f0dc0e7b2e8L,0xc04215cfc135584eL,
  16658. 0x174fc7272f57092aL },
  16659. { 0xe7277877eb930beaL,0x504caccb5eb02a5aL,0xf9fe08f7f5241b9bL,
  16660. 0xe7fb62f48d5ca954L } },
  16661. /* 4 << 119 */
  16662. { { 0xfbb8349d29c4120bL,0x9f94391fc0d0d915L,0xc4074fa75410ba51L,
  16663. 0xa66adbf6150a5911L },
  16664. { 0xc164543c34bfca38L,0xe0f27560b9e1ccfcL,0x99da0f53e820219cL,
  16665. 0xe8234498c6b4997aL } },
  16666. /* 5 << 119 */
  16667. { { 0xcfb88b769d4c5423L,0x9e56eb10b0521c49L,0x418e0b5ebe8700a1L,
  16668. 0x00cbaad6f93cb58aL },
  16669. { 0xe923fbded92a5e67L,0xca4979ac1f347f11L,0x89162d856bc0585bL,
  16670. 0xdd6254afac3c70e3L } },
  16671. /* 6 << 119 */
  16672. { { 0x7b23c513516e19e4L,0x56e2e847c5c4d593L,0x9f727d735ce71ef6L,
  16673. 0x5b6304a6f79a44c5L },
  16674. { 0x6638a7363ab7e433L,0x1adea470fe742f83L,0xe054b8545b7fc19fL,
  16675. 0xf935381aba1d0698L } },
  16676. /* 7 << 119 */
  16677. { { 0x546eab2d799e9a74L,0x96239e0ea949f729L,0xca274c6b7090055aL,
  16678. 0x835142c39020c9b0L },
  16679. { 0xa405667aa2e8807fL,0x29f2c0851aa3d39eL,0xcc555d6442fc72f5L,
  16680. 0xe856e0e7fbeacb3cL } },
  16681. /* 8 << 119 */
  16682. { { 0xb5504f9d918e4936L,0x65035ef6b2513982L,0x0553a0c26f4d9cb9L,
  16683. 0x6cb10d56bea85509L },
  16684. { 0x48d957b7a242da11L,0x16a4d3dd672b7268L,0x3d7e637c8502a96bL,
  16685. 0x27c7032b730d463bL } },
  16686. /* 9 << 119 */
  16687. { { 0xbdc02b18e4136a14L,0xbacf969d678e32bfL,0xc98d89a3dd9c3c03L,
  16688. 0x7b92420a23becc4fL },
  16689. { 0xd4b41f78c64d565cL,0x9f969d0010f28295L,0xec7f7f76b13d051aL,
  16690. 0x08945e1ea92da585L } },
  16691. /* 10 << 119 */
  16692. { { 0x55366b7d5846426fL,0xe7d09e89247d441dL,0x510b404d736fbf48L,
  16693. 0x7fa003d0e784bd7dL },
  16694. { 0x25f7614f17fd9596L,0x49e0e0a135cb98dbL,0x2c65957b2e83a76aL,
  16695. 0x5d40da8dcddbe0f8L } },
  16696. /* 11 << 119 */
  16697. { { 0xf2b8c405050bad24L,0x8918426dc2aa4823L,0x2aeab3dda38365a7L,
  16698. 0x720317177c91b690L },
  16699. { 0x8b00d69960a94120L,0x478a255de99eaeecL,0xbf656a5f6f60aafdL,
  16700. 0xdfd7cb755dee77b3L } },
  16701. /* 12 << 119 */
  16702. { { 0x37f68bb4a595939dL,0x0355647928740217L,0x8e740e7c84ad7612L,
  16703. 0xd89bc8439044695fL },
  16704. { 0xf7f3da5d85a9184dL,0x562563bb9fc0b074L,0x06d2e6aaf88a888eL,
  16705. 0x612d8643161fbe7cL } },
  16706. /* 13 << 119 */
  16707. { { 0x465edba7f64085e7L,0xb230f30429aa8511L,0x53388426cda2d188L,
  16708. 0x908857354b666649L },
  16709. { 0x6f02ff9a652f54f6L,0x65c822945fae2bf0L,0x7816ade062f5eee3L,
  16710. 0xdcdbdf43fcc56d70L } },
  16711. /* 14 << 119 */
  16712. { { 0x9fb3bba354530bb2L,0xbde3ef77cb0869eaL,0x89bc90460b431163L,
  16713. 0x4d03d7d2e4819a35L },
  16714. { 0x33ae4f9e43b6a782L,0x216db3079c88a686L,0x91dd88e000ffedd9L,
  16715. 0xb280da9f12bd4840L } },
  16716. /* 15 << 119 */
  16717. { { 0x32a7cb8a1635e741L,0xfe14008a78be02a7L,0x3fafb3341b7ae030L,
  16718. 0x7fd508e75add0ce9L },
  16719. { 0x72c83219d607ad51L,0x0f229c0a8d40964aL,0x1be2c3361c878da2L,
  16720. 0xe0c96742eab2ab86L } },
  16721. /* 16 << 119 */
  16722. { { 0x458f86913e538cd7L,0xa7001f6c8e08ad53L,0x52b8c6e6bf5d15ffL,
  16723. 0x548234a4011215ddL },
  16724. { 0xff5a9d2d3d5b4045L,0xb0ffeeb64a904190L,0x55a3aca448607f8bL,
  16725. 0x8cbd665c30a0672aL } },
  16726. /* 17 << 119 */
  16727. { { 0x87f834e042583068L,0x02da2aebf3f6e683L,0x6b763e5d05c12248L,
  16728. 0x7230378f65a8aefcL },
  16729. { 0x93bd80b571e8e5caL,0x53ab041cb3b62524L,0x1b8605136c9c552eL,
  16730. 0xe84d402cd5524e66L } },
  16731. /* 18 << 119 */
  16732. { { 0xa37f3573f37f5937L,0xeb0f6c7dd1e4fca5L,0x2965a554ac8ab0fcL,
  16733. 0x17fbf56c274676acL },
  16734. { 0x2e2f6bd9acf7d720L,0x41fc8f8810224766L,0x517a14b385d53befL,
  16735. 0xdae327a57d76a7d1L } },
  16736. /* 19 << 119 */
  16737. { { 0x6ad0a065c4818267L,0x33aa189b37c1bbc1L,0x64970b5227392a92L,
  16738. 0x21699a1c2d1535eaL },
  16739. { 0xcd20779cc2d7a7fdL,0xe318605999c83cf2L,0x9b69440b72c0b8c7L,
  16740. 0xa81497d77b9e0e4dL } },
  16741. /* 20 << 119 */
  16742. { { 0x515d5c891f5f82dcL,0x9a7f67d76361079eL,0xa8da81e311a35330L,
  16743. 0xe44990c44b18be1bL },
  16744. { 0xc7d5ed95af103e59L,0xece8aba78dac9261L,0xbe82b0999394b8d3L,
  16745. 0x6830f09a16adfe83L } },
  16746. /* 21 << 119 */
  16747. { { 0x250a29b488172d01L,0x8b20bd65caff9e02L,0xb8a7661ee8a6329aL,
  16748. 0x4520304dd3fce920L },
  16749. { 0xae45da1f2b47f7efL,0xe07f52885bffc540L,0xf79970093464f874L,
  16750. 0x2244c2cda6fa1f38L } },
  16751. /* 22 << 119 */
  16752. { { 0x43c41ac194d7d9b1L,0x5bafdd82c82e7f17L,0xdf0614c15fda0fcaL,
  16753. 0x74b043a7a8ae37adL },
  16754. { 0x3ba6afa19e71734cL,0x15d5437e9c450f2eL,0x4a5883fe67e242b1L,
  16755. 0x5143bdc22c1953c2L } },
  16756. /* 23 << 119 */
  16757. { { 0x542b8b53fc5e8920L,0x363bf9a89a9cee08L,0x02375f10c3486e08L,
  16758. 0x2037543b8c5e70d2L },
  16759. { 0x7109bccc625640b4L,0xcbc1051e8bc62c3bL,0xf8455fed803f26eaL,
  16760. 0x6badceabeb372424L } },
  16761. /* 24 << 119 */
  16762. { { 0xa2a9ce7c6b53f5f9L,0x642465951b176d99L,0xb1298d36b95c081bL,
  16763. 0x53505bb81d9a9ee6L },
  16764. { 0x3f6f9e61f2ba70b0L,0xd07e16c98afad453L,0x9f1694bbe7eb4a6aL,
  16765. 0xdfebced93cb0bc8eL } },
  16766. /* 25 << 119 */
  16767. { { 0x92d3dcdc53868c8bL,0x174311a2386107a6L,0x4109e07c689b4e64L,
  16768. 0x30e4587f2df3dcb6L },
  16769. { 0x841aea310811b3b2L,0x6144d41d0cce43eaL,0x464c45812a9a7803L,
  16770. 0xd03d371f3e158930L } },
  16771. /* 26 << 119 */
  16772. { { 0xc676d7f2b1f3390bL,0x9f7a1b8ca5b61272L,0x4ebebfc9c2e127a9L,
  16773. 0x4602500c5dd997bfL },
  16774. { 0x7f09771c4711230fL,0x058eb37c020f09c1L,0xab693d4bfee5e38bL,
  16775. 0x9289eb1f4653cbc0L } },
  16776. /* 27 << 119 */
  16777. { { 0xbecf46abd51b9cf5L,0xd2aa9c029f0121afL,0x36aaf7d2e90dc274L,
  16778. 0x909e4ea048b95a3cL },
  16779. { 0xe6b704966f32dbdbL,0x672188a08b030b3eL,0xeeffe5b3cfb617e2L,
  16780. 0x87e947de7c82709eL } },
  16781. /* 28 << 119 */
  16782. { { 0xa44d2b391770f5a7L,0xe4d4d7910e44eb82L,0x42e69d1e3f69712aL,
  16783. 0xbf11c4d6ac6a820eL },
  16784. { 0xb5e7f3e542c4224cL,0xd6b4e81c449d941cL,0x5d72bd165450e878L,
  16785. 0x6a61e28aee25ac54L } },
  16786. /* 29 << 119 */
  16787. { { 0x33272094e6f1cd95L,0x7512f30d0d18673fL,0x32f7a4ca5afc1464L,
  16788. 0x2f0956566bbb977bL },
  16789. { 0x586f47caa8226200L,0x02c868ad1ac07369L,0x4ef2b845c613acbeL,
  16790. 0x43d7563e0386054cL } },
  16791. /* 30 << 119 */
  16792. { { 0x54da9dc7ab952578L,0xb5423df226e84d0bL,0xa8b64eeb9b872042L,
  16793. 0xac2057825990f6dfL },
  16794. { 0x4ff696eb21f4c77aL,0x1a79c3e4aab273afL,0x29bc922e9436b3f1L,
  16795. 0xff807ef8d6d9a27aL } },
  16796. /* 31 << 119 */
  16797. { { 0x82acea3d778f22a0L,0xfb10b2e85b5e7469L,0xc0b169802818ee7dL,
  16798. 0x011afff4c91c1a2fL },
  16799. { 0x95a6d126ad124418L,0x31c081a5e72e295fL,0x36bb283af2f4db75L,
  16800. 0xd115540f7acef462L } },
  16801. /* 32 << 119 */
  16802. { { 0xc7f3a8f833f6746cL,0x21e46f65fea990caL,0x915fd5c5caddb0a9L,
  16803. 0xbd41f01678614555L },
  16804. { 0x346f4434426ffb58L,0x8055943614dbc204L,0xf3dd20fe5a969b7fL,
  16805. 0x9d59e956e899a39aL } },
  16806. /* 33 << 119 */
  16807. { { 0xf1b0971c8ad4cf4bL,0x034488602ffb8fb8L,0xf071ac3c65340ba4L,
  16808. 0x408d0596b27fd758L },
  16809. { 0xe7c78ea498c364b0L,0xa4aac4a5051e8ab5L,0xb9e1d560485d9002L,
  16810. 0x9acd518a88844455L } },
  16811. /* 34 << 119 */
  16812. { { 0xe4ca688fd06f56c0L,0xa48af70ddf027972L,0x691f0f045e9a609dL,
  16813. 0xa9dd82cdee61270eL },
  16814. { 0x8903ca63a0ef18d3L,0x9fb7ee353d6ca3bdL,0xa7b4a09cabf47d03L,
  16815. 0x4cdada011c67de8eL } },
  16816. /* 35 << 119 */
  16817. { { 0x520037499355a244L,0xe77fd2b64f2151a9L,0x695d6cf666b4efcbL,
  16818. 0xc5a0cacfda2cfe25L },
  16819. { 0x104efe5cef811865L,0xf52813e89ea5cc3dL,0x855683dc40b58dbcL,
  16820. 0x0338ecde175fcb11L } },
  16821. /* 36 << 119 */
  16822. { { 0xf9a0563774921592L,0xb4f1261db9bb9d31L,0x551429b74e9c5459L,
  16823. 0xbe182e6f6ea71f53L },
  16824. { 0xd3a3b07cdfc50573L,0x9ba1afda62be8d44L,0x9bcfd2cb52ab65d3L,
  16825. 0xdf11d547a9571802L } },
  16826. /* 37 << 119 */
  16827. { { 0x099403ee02a2404aL,0x497406f421088a71L,0x994794095004ae71L,
  16828. 0xbdb42078a812c362L },
  16829. { 0x2b72a30fd8828442L,0x283add27fcb5ed1cL,0xf7c0e20066a40015L,
  16830. 0x3e3be64108b295efL } },
  16831. /* 38 << 119 */
  16832. { { 0xac127dc1e038a675L,0x729deff38c5c6320L,0xb7df8fd4a90d2c53L,
  16833. 0x9b74b0ec681e7cd3L },
  16834. { 0x5cb5a623dab407e5L,0xcdbd361576b340c6L,0xa184415a7d28392cL,
  16835. 0xc184c1d8e96f7830L } },
  16836. /* 39 << 119 */
  16837. { { 0xc3204f1981d3a80fL,0xfde0c841c8e02432L,0x78203b3e8149e0c1L,
  16838. 0x5904bdbb08053a73L },
  16839. { 0x30fc1dd1101b6805L,0x43c223bc49aa6d49L,0x9ed671417a174087L,
  16840. 0x311469a0d5997008L } },
  16841. /* 40 << 119 */
  16842. { { 0xb189b6845e43fc61L,0xf3282375e0d3ab57L,0x4fa34b67b1181da8L,
  16843. 0x621ed0b299ee52b8L },
  16844. { 0x9b178de1ad990676L,0xd51de67b56d54065L,0x2a2c27c47538c201L,
  16845. 0x33856ec838a40f5cL } },
  16846. /* 41 << 119 */
  16847. { { 0x2522fc15be6cdcdeL,0x1e603f339f0c6f89L,0x7994edc3103e30a6L,
  16848. 0x033a00db220c853eL },
  16849. { 0xd3cfa409f7bb7fd7L,0x70f8781e462d18f6L,0xbbd82980687fe295L,
  16850. 0x6eef4c32595669f3L } },
  16851. /* 42 << 119 */
  16852. { { 0x86a9303b2f7e85c3L,0x5fce462171988f9bL,0x5b935bf6c138acb5L,
  16853. 0x30ea7d6725661212L },
  16854. { 0xef1eb5f4e51ab9a2L,0x0587c98aae067c78L,0xb3ce1b3c77ca9ca6L,
  16855. 0x2a553d4d54b5f057L } },
  16856. /* 43 << 119 */
  16857. { { 0xc78982364da29ec2L,0xdbdd5d13b9c57316L,0xc57d6e6b2cd80d47L,
  16858. 0x80b460cffe9e7391L },
  16859. { 0x98648cabf963c31eL,0x67f9f633cc4d32fdL,0x0af42a9dfdf7c687L,
  16860. 0x55f292a30b015ea7L } },
  16861. /* 44 << 119 */
  16862. { { 0x89e468b2cd21ab3dL,0xe504f022c393d392L,0xab21e1d4a5013af9L,
  16863. 0xe3283f78c2c28acbL },
  16864. { 0xf38b35f6226bf99fL,0xe83542740e291e69L,0x61673a15b20c162dL,
  16865. 0xc101dc75b04fbdbeL } },
  16866. /* 45 << 119 */
  16867. { { 0x8323b4c2255bd617L,0x6c9696936c2a9154L,0xc6e6586062679387L,
  16868. 0x8e01db0cb8c88e23L },
  16869. { 0x33c42873893a5559L,0x7630f04b47a3e149L,0xb5d80805ddcf35f8L,
  16870. 0x582ca08077dfe732L } },
  16871. /* 46 << 119 */
  16872. { { 0x2c7156e10b1894a0L,0x92034001d81c68c0L,0xed225d00c8b115b5L,
  16873. 0x237f9c2283b907f2L },
  16874. { 0x0ea2f32f4470e2c0L,0xb725f7c158be4e95L,0x0f1dcafab1ae5463L,
  16875. 0x59ed51871ba2fc04L } },
  16876. /* 47 << 119 */
  16877. { { 0xf6e0f316d0115d4dL,0x5180b12fd3691599L,0x157e32c9527f0a41L,
  16878. 0x7b0b081da8e0ecc0L },
  16879. { 0x6dbaaa8abf4f0dd0L,0x99b289c74d252696L,0x79b7755edbf864feL,
  16880. 0x6974e2b176cad3abL } },
  16881. /* 48 << 119 */
  16882. { { 0x35dbbee206ddd657L,0xe7cbdd112ff3a96dL,0x88381968076be758L,
  16883. 0x2d737e7208c91f5dL },
  16884. { 0x5f83ab6286ec3776L,0x98aa649d945fa7a1L,0xf477ec3772ef0933L,
  16885. 0x66f52b1e098c17b1L } },
  16886. /* 49 << 119 */
  16887. { { 0x9eec58fbd803738bL,0x91aaade7e4e86aa4L,0x6b1ae617a5b51492L,
  16888. 0x63272121bbc45974L },
  16889. { 0x7e0e28f0862c5129L,0x0a8f79a93321a4a0L,0xe26d16645041c88fL,
  16890. 0x0571b80553233e3aL } },
  16891. /* 50 << 119 */
  16892. { { 0xd1b0ccdec9520711L,0x55a9e4ed3c8b84bfL,0x9426bd39a1fef314L,
  16893. 0x4f5f638e6eb93f2bL },
  16894. { 0xba2a1ed32bf9341bL,0xd63c13214d42d5a9L,0xd2964a89316dc7c5L,
  16895. 0xd1759606ca511851L } },
  16896. /* 51 << 119 */
  16897. { { 0xd8a9201ff9e6ed35L,0xb7b5ee456736925aL,0x0a83fbbc99581af7L,
  16898. 0x3076bc4064eeb051L },
  16899. { 0x5511c98c02dec312L,0x270de898238dcb78L,0x2cf4cf9c539c08c9L,
  16900. 0xa70cb65e38d3b06eL } },
  16901. /* 52 << 119 */
  16902. { { 0xb12ec10ecfe57bbdL,0x82c7b65635a0c2b5L,0xddc7d5cd161c67bdL,
  16903. 0xe32e8985ae3a32ccL },
  16904. { 0x7aba9444d11a5529L,0xe964ed022427fa1aL,0x1528392d24a1770aL,
  16905. 0xa152ce2c12c72fcdL } },
  16906. /* 53 << 119 */
  16907. { { 0x714553a48ec07649L,0x18b4c290459dd453L,0xea32b7147b64b110L,
  16908. 0xb871bfa52e6f07a2L },
  16909. { 0xb67112e59e2e3c9bL,0xfbf250e544aa90f6L,0xf77aedb8bd539006L,
  16910. 0x3b0cdf9ad172a66fL } },
  16911. /* 54 << 119 */
  16912. { { 0xedf69feaf8c51187L,0x05bb67ec741e4da7L,0x47df0f3208114345L,
  16913. 0x56facb07bb9792b1L },
  16914. { 0xf3e007e98f6229e4L,0x62d103f4526fba0fL,0x4f33bef7b0339d79L,
  16915. 0x9841357bb59bfec1L } },
  16916. /* 55 << 119 */
  16917. { { 0xfa8dbb59c34e6705L,0xc3c7180b7fdaa84cL,0xf95872fca4108537L,
  16918. 0x8750cc3b932a3e5aL },
  16919. { 0xb61cc69db7275d7dL,0xffa0168b2e59b2e9L,0xca032abc6ecbb493L,
  16920. 0x1d86dbd32c9082d8L } },
  16921. /* 56 << 119 */
  16922. { { 0xae1e0b67e28ef5baL,0x2c9a4699cb18e169L,0x0ecd0e331e6bbd20L,
  16923. 0x571b360eaf5e81d2L },
  16924. { 0xcd9fea58101c1d45L,0x6651788e18880452L,0xa99726351f8dd446L,
  16925. 0x44bed022e37281d0L } },
  16926. /* 57 << 119 */
  16927. { { 0x094b2b2d33da525dL,0xf193678e13144fd8L,0xb8ab5ba4f4c1061dL,
  16928. 0x4343b5fadccbe0f4L },
  16929. { 0xa870237163812713L,0x47bf6d2df7611d93L,0x46729b8cbd21e1d7L,
  16930. 0x7484d4e0d629e77dL } },
  16931. /* 58 << 119 */
  16932. { { 0x830e6eea60dbac1fL,0x23d8c484da06a2f7L,0x896714b050ca535bL,
  16933. 0xdc8d3644ebd97a9bL },
  16934. { 0x106ef9fab12177b4L,0xf79bf464534d5d9cL,0x2537a349a6ab360bL,
  16935. 0xc7c54253a00c744fL } },
  16936. /* 59 << 119 */
  16937. { { 0xb3c7a047e5911a76L,0x61ffa5c8647f1ee7L,0x15aed36f8f56ab42L,
  16938. 0x6a0d41b0a3ff9ac9L },
  16939. { 0x68f469f5cc30d357L,0xbe9adf816b72be96L,0x1cd926fe903ad461L,
  16940. 0x7e89e38fcaca441bL } },
  16941. /* 60 << 119 */
  16942. { { 0xf0f82de5facf69d4L,0x363b7e764775344cL,0x6894f312b2e36d04L,
  16943. 0x3c6cb4fe11d1c9a5L },
  16944. { 0x85d9c3394008e1f2L,0x5e9a85ea249f326cL,0xdc35c60a678c5e06L,
  16945. 0xc08b944f9f86fba9L } },
  16946. /* 61 << 119 */
  16947. { { 0xde40c02c89f71f0fL,0xad8f3e31ff3da3c0L,0x3ea5096b42125dedL,
  16948. 0x13879cbfa7379183L },
  16949. { 0x6f4714a56b306a0bL,0x359c2ea667646c5eL,0xfacf894307726368L,
  16950. 0x07a5893565ff431eL } },
  16951. /* 62 << 119 */
  16952. { { 0x24d661d168754ab0L,0x801fce1d6f429a76L,0xc068a85fa58ce769L,
  16953. 0xedc35c545d5eca2bL },
  16954. { 0xea31276fa3f660d1L,0xa0184ebeb8fc7167L,0x0f20f21a1d8db0aeL,
  16955. 0xd96d095f56c35e12L } },
  16956. /* 63 << 119 */
  16957. { { 0xedf402b5f8c2a25bL,0x1bb772b9059204b6L,0x50cbeae219b4e34cL,
  16958. 0x93109d803fa0845aL },
  16959. { 0x54f7ccf78ef59fb5L,0x3b438fe288070963L,0x9e28c65931f3ba9bL,
  16960. 0x9cc31b46ead9da92L } },
  16961. /* 64 << 119 */
  16962. { { 0x3c2f0ba9b733aa5fL,0xdece47cbf05af235L,0xf8e3f715a2ac82a5L,
  16963. 0xc97ba6412203f18aL },
  16964. { 0xc3af550409c11060L,0x56ea2c0546af512dL,0xfac28daff3f28146L,
  16965. 0x87fab43a959ef494L } },
  16966. /* 0 << 126 */
  16967. { { 0x00, 0x00, 0x00, 0x00 },
  16968. { 0x00, 0x00, 0x00, 0x00 } },
  16969. /* 1 << 126 */
  16970. { { 0x09891641d4c5105fL,0x1ae80f8e6d7fbd65L,0x9d67225fbee6bdb0L,
  16971. 0x3b433b597fc4d860L },
  16972. { 0x44e66db693e85638L,0xf7b59252e3e9862fL,0xdb785157665c32ecL,
  16973. 0x702fefd7ae362f50L } },
  16974. /* 2 << 126 */
  16975. { { 0x3754475d0fefb0c3L,0xd48fb56b46d7c35dL,0xa070b633363798a4L,
  16976. 0xae89f3d28fdb98e6L },
  16977. { 0x970b89c86363d14cL,0x8981752167abd27dL,0x9bf7d47444d5a021L,
  16978. 0xb3083bafcac72aeeL } },
  16979. /* 3 << 126 */
  16980. { { 0x389741debe949a44L,0x638e9388546a4fa5L,0x3fe6419ca0047bdcL,
  16981. 0x7047f648aaea57caL },
  16982. { 0x54e48a9041fbab17L,0xda8e0b28576bdba2L,0xe807eebcc72afddcL,
  16983. 0x07d3336df42577bfL } },
  16984. /* 4 << 126 */
  16985. { { 0x62a8c244bfe20925L,0x91c19ac38fdce867L,0x5a96a5d5dd387063L,
  16986. 0x61d587d421d324f6L },
  16987. { 0xe87673a2a37173eaL,0x2384800853778b65L,0x10f8441e05bab43eL,
  16988. 0xfa11fe124621efbeL } },
  16989. /* 5 << 126 */
  16990. { { 0x047b772e81685d7bL,0x23f27d81bf34a976L,0xc27608e2915f48efL,
  16991. 0x3b0b43faa521d5c3L },
  16992. { 0x7613fb2663ca7284L,0x7f5729b41d4db837L,0x87b14898583b526bL,
  16993. 0x00b732a6bbadd3d1L } },
  16994. /* 6 << 126 */
  16995. { { 0x8e02f4262048e396L,0x436b50b6383d9de4L,0xf78d3481471e85adL,
  16996. 0x8b01ea6ad005c8d6L },
  16997. { 0xd3c7afee97015c07L,0x46cdf1a94e3ba2aeL,0x7a42e50183d3a1d2L,
  16998. 0xd54b5268b541dff4L } },
  16999. /* 7 << 126 */
  17000. { { 0x3f24cf304e23e9bcL,0x4387f816126e3624L,0x26a46a033b0b6d61L,
  17001. 0xaf1bc8458b2d777cL },
  17002. { 0x25c401ba527de79cL,0x0e1346d44261bbb6L,0x4b96c44b287b4bc7L,
  17003. 0x658493c75254562fL } },
  17004. /* 8 << 126 */
  17005. { { 0x23f949feb8a24a20L,0x17ebfed1f52ca53fL,0x9b691bbebcfb4853L,
  17006. 0x5617ff6b6278a05dL },
  17007. { 0x241b34c5e3c99ebdL,0xfc64242e1784156aL,0x4206482f695d67dfL,
  17008. 0xb967ce0eee27c011L } },
  17009. /* 9 << 126 */
  17010. { { 0x65db375121c80b5dL,0x2e7a563ca31ecca0L,0xe56ffc4e5238a07eL,
  17011. 0x3d6c296632ced854L },
  17012. { 0xe99d7d1aaf70b885L,0xafc3bad92d686459L,0x9c78bf460cc8ba5bL,
  17013. 0x5a43951918955aa3L } },
  17014. /* 10 << 126 */
  17015. { { 0xf8b517a85fe4e314L,0xe60234d0fcb8906fL,0xffe542acf2061b23L,
  17016. 0x287e191f6b4cb59cL },
  17017. { 0x21857ddc09d877d8L,0x1c23478c14678941L,0xbbf0c056b6e05ea4L,
  17018. 0x82da4b53b01594feL } },
  17019. /* 11 << 126 */
  17020. { { 0xf7526791fadb8608L,0x049e832d7b74cdf6L,0xa43581ccc2b90a34L,
  17021. 0x73639eb89360b10cL },
  17022. { 0x4fba331fe1e4a71bL,0x6ffd6b938072f919L,0x6e53271c65679032L,
  17023. 0x67206444f14272ceL } },
  17024. /* 12 << 126 */
  17025. { { 0xc0f734a3b2335834L,0x9526205a90ef6860L,0xcb8be71704e2bb0dL,
  17026. 0x2418871e02f383faL },
  17027. { 0xd71776814082c157L,0xcc914ad029c20073L,0xf186c1ebe587e728L,
  17028. 0x6fdb3c2261bcd5fdL } },
  17029. /* 13 << 126 */
  17030. { { 0x30d014a6f2f9f8e9L,0x963ece234fec49d2L,0x862025c59605a8d9L,
  17031. 0x3987444519f8929aL },
  17032. { 0x01b6ff6512bf476aL,0x598a64d809cf7d91L,0xd7ec774993be56caL,
  17033. 0x10899785cbb33615L } },
  17034. /* 14 << 126 */
  17035. { { 0xb8a092fd02eee3adL,0xa86b3d3530145270L,0x323d98c68512b675L,
  17036. 0x4b8bc78562ebb40fL },
  17037. { 0x7d301f54413f9cdeL,0xa5e4fb4f2bab5664L,0x1d2b252d1cbfec23L,
  17038. 0xfcd576bbe177120dL } },
  17039. /* 15 << 126 */
  17040. { { 0x04427d3e83731a34L,0x2bb9028eed836e8eL,0xb36acff8b612ca7cL,
  17041. 0xb88fe5efd3d9c73aL },
  17042. { 0xbe2a6bc6edea4eb3L,0x43b93133488eec77L,0xf41ff566b17106e1L,
  17043. 0x469e9172654efa32L } },
  17044. /* 16 << 126 */
  17045. { { 0xb4480f0441c23fa3L,0xb4712eb0c1989a2eL,0x3ccbba0f93a29ca7L,
  17046. 0x6e205c14d619428cL },
  17047. { 0x90db7957b3641686L,0x0432691d45ac8b4eL,0x07a759acf64e0350L,
  17048. 0x0514d89c9c972517L } },
  17049. /* 17 << 126 */
  17050. { { 0x1701147fa8e67fc3L,0x9e2e0b8bab2085beL,0xd5651824ac284e57L,
  17051. 0x890d432574893664L },
  17052. { 0x8a7c5e6ec55e68a3L,0xbf12e90b4339c85aL,0x31846b85f922b655L,
  17053. 0x9a54ce4d0bf4d700L } },
  17054. /* 18 << 126 */
  17055. { { 0xd7f4e83af1a14295L,0x916f955cb285d4f9L,0xe57bb0e099ffdabaL,
  17056. 0x28a43034eab0d152L },
  17057. { 0x0a36ffa2b8a9cef8L,0x5517407eb9ec051aL,0x9c796096ea68e672L,
  17058. 0x853db5fbfb3c77fbL } },
  17059. /* 19 << 126 */
  17060. { { 0x21474ba9e864a51aL,0x6c2676996e8a1b8bL,0x7c82362694120a28L,
  17061. 0xe61e9a488383a5dbL },
  17062. { 0x7dd750039f84216dL,0xab020d07ad43cd85L,0x9437ae48da12c659L,
  17063. 0x6449c2ebe65452adL } },
  17064. /* 20 << 126 */
  17065. { { 0xcc7c4c1c2cf9d7c1L,0x1320886aee95e5abL,0xbb7b9056beae170cL,
  17066. 0xc8a5b250dbc0d662L },
  17067. { 0x4ed81432c11d2303L,0x7da669121f03769fL,0x3ac7a5fd84539828L,
  17068. 0x14dada943bccdd02L } },
  17069. /* 21 << 126 */
  17070. { { 0x8b84c3217ef6b0d1L,0x52a9477a7c933f22L,0x5ef6728afd440b82L,
  17071. 0x5c3bd8596ce4bd5eL },
  17072. { 0x918b80f5f22c2d3eL,0x368d5040b7bb6cc5L,0xb66142a12695a11cL,
  17073. 0x60ac583aeb19ea70L } },
  17074. /* 22 << 126 */
  17075. { { 0x317cbb980eab2437L,0x8cc08c555e2654c8L,0xfe2d6520e6d8307fL,
  17076. 0xe9f147f357428993L },
  17077. { 0x5f9c7d14d2fd6cf1L,0xa3ecd0642d4fcbb0L,0xad83fef08e7341f7L,
  17078. 0x643f23a03a63115cL } },
  17079. /* 23 << 126 */
  17080. { { 0xd38a78abe65ab743L,0xbf7c75b135edc89cL,0x3dd8752e530df568L,
  17081. 0xf85c4a76e308c682L },
  17082. { 0x4c9955b2e68acf37L,0xa544df3dab32af85L,0x4b8ec3f5a25cf493L,
  17083. 0x4d8f27641a622febL } },
  17084. /* 24 << 126 */
  17085. { { 0x7bb4f7aaf0dcbc49L,0x7de551f970bbb45bL,0xcfd0f3e49f2ca2e5L,
  17086. 0xece587091f5c76efL },
  17087. { 0x32920edd167d79aeL,0x039df8a2fa7d7ec1L,0xf46206c0bb30af91L,
  17088. 0x1ff5e2f522676b59L } },
  17089. /* 25 << 126 */
  17090. { { 0x11f4a0396ea51d66L,0x506c1445807d7a26L,0x60da5705755a9b24L,
  17091. 0x8fc8cc321f1a319eL },
  17092. { 0x83642d4d9433d67dL,0x7fa5cb8f6a7dd296L,0x576591db9b7bde07L,
  17093. 0x13173d25419716fbL } },
  17094. /* 26 << 126 */
  17095. { { 0xea30599dd5b340ffL,0xfc6b5297b0fe76c5L,0x1c6968c8ab8f5adcL,
  17096. 0xf723c7f5901c928dL },
  17097. { 0x4203c3219773d402L,0xdf7c6aa31b51dd47L,0x3d49e37a552be23cL,
  17098. 0x57febee80b5a6e87L } },
  17099. /* 27 << 126 */
  17100. { { 0xc5ecbee47bd8e739L,0x79d44994ae63bf75L,0x168bd00f38fb8923L,
  17101. 0x75d48ee4d0533130L },
  17102. { 0x554f77aadb5cdf33L,0x3396e8963c696769L,0x2fdddbf2d3fd674eL,
  17103. 0xbbb8f6ee99d0e3e5L } },
  17104. /* 28 << 126 */
  17105. { { 0x51b90651cbae2f70L,0xefc4bc0593aaa8ebL,0x8ecd8689dd1df499L,
  17106. 0x1aee99a822f367a5L },
  17107. { 0x95d485b9ae8274c5L,0x6c14d4457d30b39cL,0xbafea90bbcc1ef81L,
  17108. 0x7c5f317aa459a2edL } },
  17109. /* 29 << 126 */
  17110. { { 0x012110754ef44227L,0xa17bed6edc20f496L,0x0cdfe424819853cdL,
  17111. 0x13793298f71e2ce7L },
  17112. { 0x3c1f3078dbbe307bL,0x6dd1c20e76ee9936L,0x23ee4b57423caa20L,
  17113. 0x4ac3793b8efb840eL } },
  17114. /* 30 << 126 */
  17115. { { 0x934438ebed1f8ca0L,0x3e5466584ebb25a2L,0xc415af0ec069896fL,
  17116. 0xc13eddb09a5aa43dL },
  17117. { 0x7a04204fd49eb8f6L,0xd0d5bdfcd74f1670L,0x3697e28656fc0558L,
  17118. 0x1020737101cebadeL } },
  17119. /* 31 << 126 */
  17120. { { 0x5f87e6900647a82bL,0x908e0ed48f40054fL,0xa9f633d479853803L,
  17121. 0x8ed13c9a4a28b252L },
  17122. { 0x3e2ef6761f460f64L,0x53930b9b36d06336L,0x347073ac8fc4979bL,
  17123. 0x84380e0e5ecd5597L } },
  17124. /* 32 << 126 */
  17125. { { 0xe3b22c6bc4fe3c39L,0xba4a81536c7bebdfL,0xf23ab6b725693459L,
  17126. 0x53bc377014922b11L },
  17127. { 0x4645c8ab5afc60dbL,0xaa02235520b9f2a3L,0x52a2954cce0fc507L,
  17128. 0x8c2731bb7ce1c2e7L } },
  17129. /* 33 << 126 */
  17130. { { 0xf39608ab18a0339dL,0xac7a658d3735436cL,0xb22c2b07cd992b4fL,
  17131. 0x4e83daecf40dcfd4L },
  17132. { 0x8a34c7be2f39ea3eL,0xef0c005fb0a56d2eL,0x62731f6a6edd8038L,
  17133. 0x5721d7404e3cb075L } },
  17134. /* 34 << 126 */
  17135. { { 0x1ea41511fbeeee1bL,0xd1ef5e73ef1d0c05L,0x42feefd173c07d35L,
  17136. 0xe530a00a8a329493L },
  17137. { 0x5d55b7fef15ebfb0L,0x549de03cd322491aL,0xf7b5f602745b3237L,
  17138. 0x3632a3a21ab6e2b6L } },
  17139. /* 35 << 126 */
  17140. { { 0x0d3bba890ef59f78L,0x0dfc6443c9e52b9aL,0x1dc7969972631447L,
  17141. 0xef033917b3be20b1L },
  17142. { 0x0c92735db1383948L,0xc1fc29a2c0dd7d7dL,0x6485b697403ed068L,
  17143. 0x13bfaab3aac93bdcL } },
  17144. /* 36 << 126 */
  17145. { { 0x410dc6a90deeaf52L,0xb003fb024c641c15L,0x1384978c5bc504c4L,
  17146. 0x37640487864a6a77L },
  17147. { 0x05991bc6222a77daL,0x62260a575e47eb11L,0xc7af6613f21b432cL,
  17148. 0x22f3acc9ab4953e9L } },
  17149. /* 37 << 126 */
  17150. { { 0x529349228e41d155L,0x4d0245683ac059efL,0xb02017554d884411L,
  17151. 0xce8055cfa59a178fL },
  17152. { 0xcd77d1aff6204549L,0xa0a00a3ec7066759L,0x471071ef0272c229L,
  17153. 0x009bcf6bd3c4b6b0L } },
  17154. /* 38 << 126 */
  17155. { { 0x2a2638a822305177L,0xd51d59df41645bbfL,0xa81142fdc0a7a3c0L,
  17156. 0xa17eca6d4c7063eeL },
  17157. { 0x0bb887ed60d9dcecL,0xd6d28e5120ad2455L,0xebed6308a67102baL,
  17158. 0x042c31148bffa408L } },
  17159. /* 39 << 126 */
  17160. { { 0xfd099ac58aa68e30L,0x7a6a3d7c1483513eL,0xffcc6b75ba2d8f0cL,
  17161. 0x54dacf961e78b954L },
  17162. { 0xf645696fa4a9af89L,0x3a41194006ac98ecL,0x41b8b3f622a67a20L,
  17163. 0x2d0b1e0f99dec626L } },
  17164. /* 40 << 126 */
  17165. { { 0x27c8919240be34e8L,0xc7162b3791907f35L,0x90188ec1a956702bL,
  17166. 0xca132f7ddf93769cL },
  17167. { 0x3ece44f90e2025b4L,0x67aaec690c62f14cL,0xad74141822e3cc11L,
  17168. 0xcf9b75c37ff9a50eL } },
  17169. /* 41 << 126 */
  17170. { { 0x02fa2b164d348272L,0xbd99d61a9959d56dL,0xbc4f19db18762916L,
  17171. 0xcc7cce5049c1ac80L },
  17172. { 0x4d59ebaad846bd83L,0x8775a9dca9202849L,0x07ec4ae16e1f4ca9L,
  17173. 0x27eb5875ba893f11L } },
  17174. /* 42 << 126 */
  17175. { { 0x00284d51662cc565L,0x82353a6b0db4138dL,0xd9c7aaaaaa32a594L,
  17176. 0xf5528b5ea5669c47L },
  17177. { 0xf32202312f23c5ffL,0xe3e8147a6affa3a1L,0xfb423d5c202ddda0L,
  17178. 0x3d6414ac6b871bd4L } },
  17179. /* 43 << 126 */
  17180. { { 0x586f82e1a51a168aL,0xb712c67148ae5448L,0x9a2e4bd176233eb8L,
  17181. 0x0188223a78811ca9L },
  17182. { 0x553c5e21f7c18de1L,0x7682e451b27bb286L,0x3ed036b30e51e929L,
  17183. 0xf487211bec9cb34fL } },
  17184. /* 44 << 126 */
  17185. { { 0x0d0942770c24efc8L,0x0349fd04bef737a4L,0x6d1c9dd2514cdd28L,
  17186. 0x29c135ff30da9521L },
  17187. { 0xea6e4508f78b0b6fL,0x176f5dd2678c143cL,0x081484184be21e65L,
  17188. 0x27f7525ce7df38c4L } },
  17189. /* 45 << 126 */
  17190. { { 0x1fb70e09748ab1a4L,0x9cba50a05efe4433L,0x7846c7a615f75af2L,
  17191. 0x2a7c2c575ee73ea8L },
  17192. { 0x42e566a43f0a449aL,0x45474c3bad90fc3dL,0x7447be3d8b61d057L,
  17193. 0x3e9d1cf13a4ec092L } },
  17194. /* 46 << 126 */
  17195. { { 0x1603e453f380a6e6L,0x0b86e4319b1437c2L,0x7a4173f2ef29610aL,
  17196. 0x8fa729a7f03d57f7L },
  17197. { 0x3e186f6e6c9c217eL,0xbe1d307991919524L,0x92a62a70153d4fb1L,
  17198. 0x32ed3e34d68c2f71L } },
  17199. /* 47 << 126 */
  17200. { { 0xd785027f9eb1a8b7L,0xbc37eb77c5b22fe8L,0x466b34f0b9d6a191L,
  17201. 0x008a89af9a05f816L },
  17202. { 0x19b028fb7d42c10aL,0x7fe8c92f49b3f6b8L,0x58907cc0a5a0ade3L,
  17203. 0xb3154f51559d1a7cL } },
  17204. /* 48 << 126 */
  17205. { { 0x5066efb6d9790ed6L,0xa77a0cbca6aa793bL,0x1a915f3c223e042eL,
  17206. 0x1c5def0469c5874bL },
  17207. { 0x0e83007873b6c1daL,0x55cf85d2fcd8557aL,0x0f7c7c760460f3b1L,
  17208. 0x87052acb46e58063L } },
  17209. /* 49 << 126 */
  17210. { { 0x09212b80907eae66L,0x3cb068e04d721c89L,0xa87941aedd45ac1cL,
  17211. 0xde8d5c0d0daa0dbbL },
  17212. { 0xda421fdce3502e6eL,0xc89442014d89a084L,0x7307ba5ef0c24bfbL,
  17213. 0xda212beb20bde0efL } },
  17214. /* 50 << 126 */
  17215. { { 0xea2da24bf82ce682L,0x058d381607f71fe4L,0x35a024625ffad8deL,
  17216. 0xcd7b05dcaadcefabL },
  17217. { 0xd442f8ed1d9f54ecL,0x8be3d618b2d3b5caL,0xe2220ed0e06b2ce2L,
  17218. 0x82699a5f1b0da4c0L } },
  17219. /* 51 << 126 */
  17220. { { 0x3ff106f571c0c3a7L,0x8f580f5a0d34180cL,0x4ebb120e22d7d375L,
  17221. 0x5e5782cce9513675L },
  17222. { 0x2275580c99c82a70L,0xe8359fbf15ea8c4cL,0x53b48db87b415e70L,
  17223. 0xaacf2240100c6014L } },
  17224. /* 52 << 126 */
  17225. { { 0x9faaccf5e4652f1dL,0xbd6fdd2ad56157b2L,0xa4f4fb1f6261ec50L,
  17226. 0x244e55ad476bcd52L },
  17227. { 0x881c9305047d320bL,0x1ca983d56181263fL,0x354e9a44278fb8eeL,
  17228. 0xad2dbc0f396e4964L } },
  17229. /* 53 << 126 */
  17230. { { 0x723f3aa29268b3deL,0x0d1ca29ae6e0609aL,0x794866aa6cf44252L,
  17231. 0x0b59f3e301af87edL },
  17232. { 0xe234e5ff7f4a6c51L,0xa8768fd261dc2f7eL,0xdafc73320a94d81fL,
  17233. 0xd7f8428206938ce1L } },
  17234. /* 54 << 126 */
  17235. { { 0xae0b3c0e0546063eL,0x7fbadcb25d61abc6L,0xd5d7a2c9369ac400L,
  17236. 0xa5978d09ae67d10cL },
  17237. { 0x290f211e4f85eaacL,0xe61e2ad1facac681L,0xae125225388384cdL,
  17238. 0xa7fb68e9ccfde30fL } },
  17239. /* 55 << 126 */
  17240. { { 0x7a59b9363daed4c2L,0x80a9aa402606f789L,0xb40c1ea5f6a6d90aL,
  17241. 0x948364d3514d5885L },
  17242. { 0x062ebc6070985182L,0xa6db5b0e33310895L,0x64a12175e329c2f5L,
  17243. 0xc5f25bd290ea237eL } },
  17244. /* 56 << 126 */
  17245. { { 0x7915c5242d0a4c23L,0xeb5d26e46bb3cc52L,0x369a9116c09e2c92L,
  17246. 0x0c527f92cf182cf8L },
  17247. { 0x9e5919382aede0acL,0xb29222086cc34939L,0x3c9d896299a34361L,
  17248. 0x3c81836dc1905fe6L } },
  17249. /* 57 << 126 */
  17250. { { 0x4bfeb57fa001ec5aL,0xe993f5bba0dc5dbaL,0x47884109724a1380L,
  17251. 0x8a0369ab32fe9a04L },
  17252. { 0xea068d608c927db8L,0xbf5f37cf94655741L,0x47d402a204b6c7eaL,
  17253. 0x4551c2956af259cbL } },
  17254. /* 58 << 126 */
  17255. { { 0x698b71e7ed77ee8bL,0xbddf7bd0f309d5c7L,0x6201c22c34e780caL,
  17256. 0xab04f7d84c295ef4L },
  17257. { 0x1c9472944313a8ceL,0xe532e4ac92ca4cfeL,0x89738f80d0a7a97aL,
  17258. 0xec088c88a580fd5bL } },
  17259. /* 59 << 126 */
  17260. { { 0x612b1ecc42ce9e51L,0x8f9840fdb25fdd2aL,0x3cda78c001e7f839L,
  17261. 0x546b3d3aece05480L },
  17262. { 0x271719a980d30916L,0x45497107584c20c4L,0xaf8f94785bc78608L,
  17263. 0x28c7d484277e2a4cL } },
  17264. /* 60 << 126 */
  17265. { { 0xfce0176788a2ffe4L,0xdc506a3528e169a5L,0x0ea108617af9c93aL,
  17266. 0x1ed2436103fa0e08L },
  17267. { 0x96eaaa92a3d694e7L,0xc0f43b4def50bc74L,0xce6aa58c64114db4L,
  17268. 0x8218e8ea7c000fd4L } },
  17269. /* 61 << 126 */
  17270. { { 0xac815dfb185f8844L,0xcd7e90cb1557abfbL,0x23d16655afbfecdfL,
  17271. 0x80f3271f085cac4aL },
  17272. { 0x7fc39aa7d0e62f47L,0x88d519d1460a48e5L,0x59559ac4d28f101eL,
  17273. 0x7981d9e9ca9ae816L } },
  17274. /* 62 << 126 */
  17275. { { 0x5c38652c9ac38203L,0x86eaf87f57657fe5L,0x568fc472e21f5416L,
  17276. 0x2afff39ce7e597b5L },
  17277. { 0x3adbbb07256d4eabL,0x225986928285ab89L,0x35f8112a041caefeL,
  17278. 0x95df02e3a5064c8bL } },
  17279. /* 63 << 126 */
  17280. { { 0x4d63356ec7004bf3L,0x230a08f4db83c7deL,0xca27b2708709a7b7L,
  17281. 0x0d1c4cc4cb9abd2dL },
  17282. { 0x8a0bc66e7550fee8L,0x369cd4c79cf7247eL,0x75562e8492b5b7e7L,
  17283. 0x8fed0da05802af7bL } },
  17284. /* 64 << 126 */
  17285. { { 0x6a7091c2e48fb889L,0x26882c137b8a9d06L,0xa24986631b82a0e2L,
  17286. 0x844ed7363518152dL },
  17287. { 0x282f476fd86e27c7L,0xa04edaca04afefdcL,0x8b256ebc6119e34dL,
  17288. 0x56a413e90787d78bL } },
  17289. /* 0 << 133 */
  17290. { { 0x00, 0x00, 0x00, 0x00 },
  17291. { 0x00, 0x00, 0x00, 0x00 } },
  17292. /* 1 << 133 */
  17293. { { 0x82ee061d5a74be50L,0xe41781c4dea16ff5L,0xe0b0c81e99bfc8a2L,
  17294. 0x624f4d690b547e2dL },
  17295. { 0x3a83545dbdcc9ae4L,0x2573dbb6409b1e8eL,0x482960c4a6c93539L,
  17296. 0xf01059ad5ae18798L } },
  17297. /* 2 << 133 */
  17298. { { 0x715c9f973112795fL,0xe8244437984e6ee1L,0x55cb4858ecb66bcdL,
  17299. 0x7c136735abaffbeeL },
  17300. { 0x546615955dbec38eL,0x51c0782c388ad153L,0x9ba4c53ac6e0952fL,
  17301. 0x27e6782a1b21dfa8L } },
  17302. /* 3 << 133 */
  17303. { { 0x682f903d4ed2dbc2L,0x0eba59c87c3b2d83L,0x8e9dc84d9c7e9335L,
  17304. 0x5f9b21b00eb226d7L },
  17305. { 0xe33bd394af267baeL,0xaa86cc25be2e15aeL,0x4f0bf67d6a8ec500L,
  17306. 0x5846aa44f9630658L } },
  17307. /* 4 << 133 */
  17308. { { 0xfeb09740e2c2bf15L,0x627a2205a9e99704L,0xec8d73d0c2fbc565L,
  17309. 0x223eed8fc20c8de8L },
  17310. { 0x1ee32583a8363b49L,0x1a0b6cb9c9c2b0a6L,0x49f7c3d290dbc85cL,
  17311. 0xa8dfbb971ef4c1acL } },
  17312. /* 5 << 133 */
  17313. { { 0xafb34d4c65c7c2abL,0x1d4610e7e2c5ea84L,0x893f6d1b973c4ab5L,
  17314. 0xa3cdd7e9945ba5c4L },
  17315. { 0x60514983064417eeL,0x1459b23cad6bdf2bL,0x23b2c3415cf726c3L,
  17316. 0x3a82963532d6354aL } },
  17317. /* 6 << 133 */
  17318. { { 0x294f901fab192c18L,0xec5fcbfe7030164fL,0xe2e2fcb7e2246ba6L,
  17319. 0x1e7c88b3221a1a0cL },
  17320. { 0x72c7dd93c92d88c5L,0x41c2148e1106fb59L,0x547dd4f5a0f60f14L,
  17321. 0xed9b52b263960f31L } },
  17322. /* 7 << 133 */
  17323. { { 0x6c8349ebb0a5b358L,0xb154c5c29e7e2ed6L,0xcad5eccfeda462dbL,
  17324. 0xf2d6dbe42de66b69L },
  17325. { 0x426aedf38665e5b2L,0x488a85137b7f5723L,0x15cc43b38bcbb386L,
  17326. 0x27ad0af3d791d879L } },
  17327. /* 8 << 133 */
  17328. { { 0xc16c236e846e364fL,0x7f33527cdea50ca0L,0xc48107750926b86dL,
  17329. 0x6c2a36090598e70cL },
  17330. { 0xa6755e52f024e924L,0xe0fa07a49db4afcaL,0x15c3ce7d66831790L,
  17331. 0x5b4ef350a6cbb0d6L } },
  17332. /* 9 << 133 */
  17333. { { 0x2c4aafc4b6205969L,0x42563f02f6c7854fL,0x016aced51d983b48L,
  17334. 0xfeb356d899949755L },
  17335. { 0x8c2a2c81d1a39bd7L,0x8f44340fe6934ae9L,0x148cf91c447904daL,
  17336. 0x7340185f0f51a926L } },
  17337. /* 10 << 133 */
  17338. { { 0x2f8f00fb7409ab46L,0x057e78e680e289b2L,0x03e5022ca888e5d1L,
  17339. 0x3c87111a9dede4e2L },
  17340. { 0x5b9b0e1c7809460bL,0xe751c85271c9abc7L,0x8b944e28c7cc1dc9L,
  17341. 0x4f201ffa1d3cfa08L } },
  17342. /* 11 << 133 */
  17343. { { 0x02fc905c3e6721ceL,0xd52d70dad0b3674cL,0x5dc2e5ca18810da4L,
  17344. 0xa984b2735c69dd99L },
  17345. { 0x63b9252784de5ca4L,0x2f1c9872c852dec4L,0x18b03593c2e3de09L,
  17346. 0x19d70b019813dc2fL } },
  17347. /* 12 << 133 */
  17348. { { 0x42806b2da6dc1d29L,0xd3030009f871e144L,0xa1feb333aaf49276L,
  17349. 0xb5583b9ec70bc04bL },
  17350. { 0x1db0be7895695f20L,0xfc84181189d012b5L,0x6409f27205f61643L,
  17351. 0x40d34174d5883128L } },
  17352. /* 13 << 133 */
  17353. { { 0xd79196f567419833L,0x6059e252863b7b08L,0x84da18171c56700cL,
  17354. 0x5758ee56b28d3ec4L },
  17355. { 0x7da2771d013b0ea6L,0xfddf524b54c5e9b9L,0x7df4faf824305d80L,
  17356. 0x58f5c1bf3a97763fL } },
  17357. /* 14 << 133 */
  17358. { { 0xa5af37f17c696042L,0xd4cba22c4a2538deL,0x211cb9959ea42600L,
  17359. 0xcd105f417b069889L },
  17360. { 0xb1e1cf19ddb81e74L,0x472f2d895157b8caL,0x086fb008ee9db885L,
  17361. 0x365cd5700f26d131L } },
  17362. /* 15 << 133 */
  17363. { { 0x284b02bba2be7053L,0xdcbbf7c67ab9a6d6L,0x4425559c20f7a530L,
  17364. 0x961f2dfa188767c8L },
  17365. { 0xe2fd943570dc80c4L,0x104d6b63f0784120L,0x7f592bc153567122L,
  17366. 0xf6bc1246f688ad77L } },
  17367. /* 16 << 133 */
  17368. { { 0x05214c050f15dde9L,0xa47a76a80d5f2b82L,0xbb254d3062e82b62L,
  17369. 0x11a05fe03ec955eeL },
  17370. { 0x7eaff46e9d529b36L,0x55ab13018f9e3df6L,0xc463e37199317698L,
  17371. 0xfd251438ccda47adL } },
  17372. /* 17 << 133 */
  17373. { { 0xca9c354723d695eaL,0x48ce626e16e589b5L,0x6b5b64c7b187d086L,
  17374. 0xd02e1794b2207948L },
  17375. { 0x8b58e98f7198111dL,0x90ca6305dcf9c3ccL,0x5691fe72f34089b0L,
  17376. 0x60941af1fc7c80ffL } },
  17377. /* 18 << 133 */
  17378. { { 0xa09bc0a222eb51e5L,0xc0bb7244aa9cf09aL,0x36a8077f80159f06L,
  17379. 0x8b5c989edddc560eL },
  17380. { 0x19d2f316512e1f43L,0x02eac554ad08ff62L,0x012ab84c07d20b4eL,
  17381. 0x37d1e115d6d4e4e1L } },
  17382. /* 19 << 133 */
  17383. { { 0xb6443e1aab7b19a8L,0xf08d067edef8cd45L,0x63adf3e9685e03daL,
  17384. 0xcf15a10e4792b916L },
  17385. { 0xf44bcce5b738a425L,0xebe131d59636b2fdL,0x940688417850d605L,
  17386. 0x09684eaab40d749dL } },
  17387. /* 20 << 133 */
  17388. { { 0x8c3c669c72ba075bL,0x89f78b55ba469015L,0x5706aade3e9f8ba8L,
  17389. 0x6d8bd565b32d7ed7L },
  17390. { 0x25f4e63b805f08d6L,0x7f48200dc3bcc1b5L,0x4e801968b025d847L,
  17391. 0x74afac0487cbe0a8L } },
  17392. /* 21 << 133 */
  17393. { { 0x43ed2c2b7e63d690L,0xefb6bbf00223cdb8L,0x4fec3cae2884d3feL,
  17394. 0x065ecce6d75e25a4L },
  17395. { 0x6c2294ce69f79071L,0x0d9a8e5f044b8666L,0x5009f23817b69d8fL,
  17396. 0x3c29f8fec5dfdaf7L } },
  17397. /* 22 << 133 */
  17398. { { 0x9067528febae68c4L,0x5b38563230c5ba21L,0x540df1191fdd1aecL,
  17399. 0xcf37825bcfba4c78L },
  17400. { 0x77eff980beb11454L,0x40a1a99160c1b066L,0xe8018980f889a1c7L,
  17401. 0xb9c52ae976c24be0L } },
  17402. /* 23 << 133 */
  17403. { { 0x05fbbcce45650ef4L,0xae000f108aa29ac7L,0x884b71724f04c470L,
  17404. 0x7cd4fde219bb5c25L },
  17405. { 0x6477b22ae8840869L,0xa88688595fbd0686L,0xf23cc02e1116dfbaL,
  17406. 0x76cd563fd87d7776L } },
  17407. /* 24 << 133 */
  17408. { { 0xe2a37598a9d82abfL,0x5f188ccbe6c170f5L,0x816822005066b087L,
  17409. 0xda22c212c7155adaL },
  17410. { 0x151e5d3afbddb479L,0x4b606b846d715b99L,0x4a73b54bf997cb2eL,
  17411. 0x9a1bfe433ecd8b66L } },
  17412. /* 25 << 133 */
  17413. { { 0x1c3128092a67d48aL,0xcd6a671e031fa9e2L,0xbec3312a0e43a34aL,
  17414. 0x1d93563955ef47d3L },
  17415. { 0x5ea024898fea73eaL,0x8247b364a035afb2L,0xb58300a65265b54cL,
  17416. 0x3286662f722c7148L } },
  17417. /* 26 << 133 */
  17418. { { 0xb77fd76bb4ec4c20L,0xf0a12fa70f3fe3fdL,0xf845bbf541d8c7e8L,
  17419. 0xe4d969ca5ec10aa8L },
  17420. { 0x4c0053b743e232a3L,0xdc7a3fac37f8a45aL,0x3c4261c520d81c8fL,
  17421. 0xfd4b3453b00eab00L } },
  17422. /* 27 << 133 */
  17423. { { 0x76d48f86d36e3062L,0x626c5277a143ff02L,0x538174deaf76f42eL,
  17424. 0x2267aa866407ceacL },
  17425. { 0xfad7635172e572d5L,0xab861af7ba7330ebL,0xa0a1c8c7418d8657L,
  17426. 0x988821cb20289a52L } },
  17427. /* 28 << 133 */
  17428. { { 0x79732522cccc18adL,0xaadf3f8df1a6e027L,0xf7382c9317c2354dL,
  17429. 0x5ce1680cd818b689L },
  17430. { 0x359ebbfcd9ecbee9L,0x4330689c1cae62acL,0xb55ce5b4c51ac38aL,
  17431. 0x7921dfeafe238ee8L } },
  17432. /* 29 << 133 */
  17433. { { 0x3972bef8271d1ca5L,0x3e423bc7e8aabd18L,0x57b09f3f44a3e5e3L,
  17434. 0x5da886ae7b444d66L },
  17435. { 0x68206634a9964375L,0x356a2fa3699cd0ffL,0xaf0faa24dba515e9L,
  17436. 0x536e1f5cb321d79aL } },
  17437. /* 30 << 133 */
  17438. { { 0xd3b9913a5c04e4eaL,0xd549dcfed6f11513L,0xee227bf579fd1d94L,
  17439. 0x9f35afeeb43f2c67L },
  17440. { 0xd2638d24f1314f53L,0x62baf948cabcd822L,0x5542de294ef48db0L,
  17441. 0xb3eb6a04fc5f6bb2L } },
  17442. /* 31 << 133 */
  17443. { { 0x23c110ae1208e16aL,0x1a4d15b5f8363e24L,0x30716844164be00bL,
  17444. 0xa8e24824f6f4690dL },
  17445. { 0x548773a290b170cfL,0xa1bef33142f191f4L,0x70f418d09247aa97L,
  17446. 0xea06028e48be9147L } },
  17447. /* 32 << 133 */
  17448. { { 0xe13122f3dbfb894eL,0xbe9b79f6ce274b18L,0x85a49de5ca58aadfL,
  17449. 0x2495775811487351L },
  17450. { 0x111def61bb939099L,0x1d6a974a26d13694L,0x4474b4ced3fc253bL,
  17451. 0x3a1485e64c5db15eL } },
  17452. /* 33 << 133 */
  17453. { { 0xe79667b4147c15b4L,0xe34f553b7bc61301L,0x032b80f817094381L,
  17454. 0x55d8bafd723eaa21L },
  17455. { 0x5a987995f1c0e74eL,0x5a9b292eebba289cL,0x413cd4b2eb4c8251L,
  17456. 0x98b5d243d162db0aL } },
  17457. /* 34 << 133 */
  17458. { { 0xbb47bf6668342520L,0x08d68949baa862d1L,0x11f349c7e906abcdL,
  17459. 0x454ce985ed7bf00eL },
  17460. { 0xacab5c9eb55b803bL,0xb03468ea31e3c16dL,0x5c24213dd273bf12L,
  17461. 0x211538eb71587887L } },
  17462. /* 35 << 133 */
  17463. { { 0x198e4a2f731dea2dL,0xd5856cf274ed7b2aL,0x86a632eb13a664feL,
  17464. 0x932cd909bda41291L },
  17465. { 0x850e95d4c0c4ddc0L,0xc0f422f8347fc2c9L,0xe68cbec486076bcbL,
  17466. 0xf9e7c0c0cd6cd286L } },
  17467. /* 36 << 133 */
  17468. { { 0x65994ddb0f5f27caL,0xe85461fba80d59ffL,0xff05481a66601023L,
  17469. 0xc665427afc9ebbfbL },
  17470. { 0xb0571a697587fd52L,0x935289f88d49efceL,0x61becc60ea420688L,
  17471. 0xb22639d913a786afL } },
  17472. /* 37 << 133 */
  17473. { { 0x1a8e6220361ecf90L,0x001f23e025506463L,0xe4ae9b5d0a5c2b79L,
  17474. 0xebc9cdadd8149db5L },
  17475. { 0xb33164a1934aa728L,0x750eb00eae9b60f3L,0x5a91615b9b9cfbfdL,
  17476. 0x97015cbfef45f7f6L } },
  17477. /* 38 << 133 */
  17478. { { 0xb462c4a5bf5151dfL,0x21adcc41b07118f2L,0xd60c545b043fa42cL,
  17479. 0xfc21aa54e96be1abL },
  17480. { 0xe84bc32f4e51ea80L,0x3dae45f0259b5d8dL,0xbb73c7ebc38f1b5eL,
  17481. 0xe405a74ae8ae617dL } },
  17482. /* 39 << 133 */
  17483. { { 0xbb1ae9c69f1c56bdL,0x8c176b9849f196a4L,0xc448f3116875092bL,
  17484. 0xb5afe3de9f976033L },
  17485. { 0xa8dafd49145813e5L,0x687fc4d9e2b34226L,0xf2dfc92d4c7ff57fL,
  17486. 0x004e3fc1401f1b46L } },
  17487. /* 40 << 133 */
  17488. { { 0x5afddab61430c9abL,0x0bdd41d32238e997L,0xf0947430418042aeL,
  17489. 0x71f9addacdddc4cbL },
  17490. { 0x7090c016c52dd907L,0xd9bdf44d29e2047fL,0xe6f1fe801b1011a6L,
  17491. 0xb63accbcd9acdc78L } },
  17492. /* 41 << 133 */
  17493. { { 0xcfc7e2351272a95bL,0x0c667717a6276ac8L,0x3c0d3709e2d7eef7L,
  17494. 0x5add2b069a685b3eL },
  17495. { 0x363ad32d14ea5d65L,0xf8e01f068d7dd506L,0xc9ea221375b4aac6L,
  17496. 0xed2a2bf90d353466L } },
  17497. /* 42 << 133 */
  17498. { { 0x439d79b5e9d3a7c3L,0x8e0ee5a681b7f34bL,0xcf3dacf51dc4ba75L,
  17499. 0x1d3d1773eb3310c7L },
  17500. { 0xa8e671127747ae83L,0x31f43160197d6b40L,0x0521cceecd961400L,
  17501. 0x67246f11f6535768L } },
  17502. /* 43 << 133 */
  17503. { { 0x702fcc5aef0c3133L,0x247cc45d7e16693bL,0xfd484e49c729b749L,
  17504. 0x522cef7db218320fL },
  17505. { 0xe56ef40559ab93b3L,0x225fba119f181071L,0x33bd659515330ed0L,
  17506. 0xc4be69d51ddb32f7L } },
  17507. /* 44 << 133 */
  17508. { { 0x264c76680448087cL,0xac30903f71432daeL,0x3851b26600f9bf47L,
  17509. 0x400ed3116cdd6d03L },
  17510. { 0x045e79fef8fd2424L,0xfdfd974afa6da98bL,0x45c9f6410c1e673aL,
  17511. 0x76f2e7335b2c5168L } },
  17512. /* 45 << 133 */
  17513. { { 0x1adaebb52a601753L,0xb286514cc57c2d49L,0xd87696701e0bfd24L,
  17514. 0x950c547e04478922L },
  17515. { 0xd1d41969e5d32bfeL,0x30bc1472750d6c3eL,0x8f3679fee0e27f3aL,
  17516. 0x8f64a7dca4a6ee0cL } },
  17517. /* 46 << 133 */
  17518. { { 0x2fe59937633dfb1fL,0xea82c395977f2547L,0xcbdfdf1a661ea646L,
  17519. 0xc7ccc591b9085451L },
  17520. { 0x8217796281761e13L,0xda57596f9196885cL,0xbc17e84928ffbd70L,
  17521. 0x1e6e0a412671d36fL } },
  17522. /* 47 << 133 */
  17523. { { 0x61ae872c4152fcf5L,0x441c87b09e77e754L,0xd0799dd5a34dff09L,
  17524. 0x766b4e4488a6b171L },
  17525. { 0xdc06a51211f1c792L,0xea02ae934be35c3eL,0xe5ca4d6de90c469eL,
  17526. 0x4df4368e56e4ff5cL } },
  17527. /* 48 << 133 */
  17528. { { 0x7817acab4baef62eL,0x9f5a2202a85b91e8L,0x9666ebe66ce57610L,
  17529. 0x32ad31f3f73bfe03L },
  17530. { 0x628330a425bcf4d6L,0xea950593515056e6L,0x59811c89e1332156L,
  17531. 0xc89cf1fe8c11b2d7L } },
  17532. /* 49 << 133 */
  17533. { { 0x75b6391304e60cc0L,0xce811e8d4625d375L,0x030e43fc2d26e562L,
  17534. 0xfbb30b4b608d36a0L },
  17535. { 0x634ff82c48528118L,0x7c6fe085cd285911L,0x7f2830c099358f28L,
  17536. 0x2e60a95e665e6c09L } },
  17537. /* 50 << 133 */
  17538. { { 0x08407d3d9b785dbfL,0x530889aba759bce7L,0xf228e0e652f61239L,
  17539. 0x2b6d14616879be3cL },
  17540. { 0xe6902c0451a7bbf7L,0x30ad99f076f24a64L,0x66d9317a98bc6da0L,
  17541. 0xf4f877f3cb596ac0L } },
  17542. /* 51 << 133 */
  17543. { { 0xb05ff62d4c44f119L,0x4555f536e9b77416L,0xc7c0d0598caed63bL,
  17544. 0x0cd2b7cec358b2a9L },
  17545. { 0x3f33287b46945fa3L,0xf8785b20d67c8791L,0xc54a7a619637bd08L,
  17546. 0x54d4598c18be79d7L } },
  17547. /* 52 << 133 */
  17548. { { 0x889e5acbc46d7ce1L,0x9a515bb78b085877L,0xfac1a03d0b7a5050L,
  17549. 0x7d3e738af2926035L },
  17550. { 0x861cc2ce2a6cb0ebL,0x6f2e29558f7adc79L,0x61c4d45133016376L,
  17551. 0xd9fd2c805ad59090L } },
  17552. /* 53 << 133 */
  17553. { { 0xe5a83738b2b836a1L,0x855b41a07c0d6622L,0x186fe3177cc19af1L,
  17554. 0x6465c1fffdd99acbL },
  17555. { 0x46e5c23f6974b99eL,0x75a7cf8ba2717cbeL,0x4d2ebc3f062be658L,
  17556. 0x094b44475f209c98L } },
  17557. /* 54 << 133 */
  17558. { { 0x4af285edb940cb5aL,0x6706d7927cc82f10L,0xc8c8776c030526faL,
  17559. 0xfa8e6f76a0da9140L },
  17560. { 0x77ea9d34591ee4f0L,0x5f46e33740274166L,0x1bdf98bbea671457L,
  17561. 0xd7c08b46862a1fe2L } },
  17562. /* 55 << 133 */
  17563. { { 0x46cc303c1c08ad63L,0x995434404c845e7bL,0x1b8fbdb548f36bf7L,
  17564. 0x5b82c3928c8273a7L },
  17565. { 0x08f712c4928435d5L,0x071cf0f179330380L,0xc74c2d24a8da054aL,
  17566. 0xcb0e720143c46b5cL } },
  17567. /* 56 << 133 */
  17568. { { 0x0ad7337ac0b7eff3L,0x8552225ec5e48b3cL,0xe6f78b0c73f13a5fL,
  17569. 0x5e70062e82349cbeL },
  17570. { 0x6b8d5048e7073969L,0x392d2a29c33cb3d2L,0xee4f727c4ecaa20fL,
  17571. 0xa068c99e2ccde707L } },
  17572. /* 57 << 133 */
  17573. { { 0xfcd5651fb87a2913L,0xea3e3c153cc252f0L,0x777d92df3b6cd3e4L,
  17574. 0x7a414143c5a732e7L },
  17575. { 0xa895951aa71ff493L,0xfe980c92bbd37cf6L,0x45bd5e64decfeeffL,
  17576. 0x910dc2a9a44c43e9L } },
  17577. /* 58 << 133 */
  17578. { { 0xcb403f26cca9f54dL,0x928bbdfb9303f6dbL,0x3c37951ea9eee67cL,
  17579. 0x3bd61a52f79961c3L },
  17580. { 0x09a238e6395c9a79L,0x6940ca2d61eb352dL,0x7d1e5c5ec1875631L,
  17581. 0x1e19742c1e1b20d1L } },
  17582. /* 59 << 133 */
  17583. { { 0x4633d90823fc2e6eL,0xa76e29a908959149L,0x61069d9c84ed7da5L,
  17584. 0x0baa11cf5dbcad51L },
  17585. { 0xd01eec64961849daL,0x93b75f1faf3d8c28L,0x57bc4f9f1ca2ee44L,
  17586. 0x5a26322d00e00558L } },
  17587. /* 60 << 133 */
  17588. { { 0x1888d65861a023efL,0x1d72aab4b9e5246eL,0xa9a26348e5563ec0L,
  17589. 0xa0971963c3439a43L },
  17590. { 0x567dd54badb9b5b7L,0x73fac1a1c45a524bL,0x8fe97ef7fe38e608L,
  17591. 0x608748d23f384f48L } },
  17592. /* 61 << 133 */
  17593. { { 0xb0571794c486094fL,0x869254a38bf3a8d6L,0x148a8dd1310b0e25L,
  17594. 0x99ab9f3f9aa3f7d8L },
  17595. { 0x0927c68a6706c02eL,0x22b5e76c69790e6cL,0x6c3252606c71376cL,
  17596. 0x53a5769009ef6657L } },
  17597. /* 62 << 133 */
  17598. { { 0x8d63f852edffcf3aL,0xb4d2ed043c0a6f55L,0xdb3aa8de12519b9eL,
  17599. 0x5d38e9c41e0a569aL },
  17600. { 0x871528bf303747e2L,0xa208e77cf5b5c18dL,0x9d129c88ca6bf923L,
  17601. 0xbcbf197fbf02839fL } },
  17602. /* 63 << 133 */
  17603. { { 0x9b9bf03027323194L,0x3b055a8b339ca59dL,0xb46b23120f669520L,
  17604. 0x19789f1f497e5f24L },
  17605. { 0x9c499468aaf01801L,0x72ee11908b69d59cL,0x8bd39595acf4c079L,
  17606. 0x3ee11ece8e0cd048L } },
  17607. /* 64 << 133 */
  17608. { { 0xebde86ec1ed66f18L,0x225d906bd61fce43L,0x5cab07d6e8bed74dL,
  17609. 0x16e4617f27855ab7L },
  17610. { 0x6568aaddb2fbc3ddL,0xedb5484f8aeddf5bL,0x878f20e86dcf2fadL,
  17611. 0x3516497c615f5699L } },
  17612. /* 0 << 140 */
  17613. { { 0x00, 0x00, 0x00, 0x00 },
  17614. { 0x00, 0x00, 0x00, 0x00 } },
  17615. /* 1 << 140 */
  17616. { { 0xef0a3fecfa181e69L,0x9ea02f8130d69a98L,0xb2e9cf8e66eab95dL,
  17617. 0x520f2beb24720021L },
  17618. { 0x621c540a1df84361L,0x1203772171fa6d5dL,0x6e3c7b510ff5f6ffL,
  17619. 0x817a069babb2bef3L } },
  17620. /* 2 << 140 */
  17621. { { 0x83572fb6b294cda6L,0x6ce9bf75b9039f34L,0x20e012f0095cbb21L,
  17622. 0xa0aecc1bd063f0daL },
  17623. { 0x57c21c3af02909e5L,0xc7d59ecf48ce9cdcL,0x2732b8448ae336f8L,
  17624. 0x056e37233f4f85f4L } },
  17625. /* 3 << 140 */
  17626. { { 0x8a10b53189e800caL,0x50fe0c17145208fdL,0x9e43c0d3b714ba37L,
  17627. 0x427d200e34189accL },
  17628. { 0x05dee24fe616e2c0L,0x9c25f4c8ee1854c1L,0x4d3222a58f342a73L,
  17629. 0x0807804fa027c952L } },
  17630. /* 4 << 140 */
  17631. { { 0xc222653a4f0d56f3L,0x961e4047ca28b805L,0x2c03f8b04a73434bL,
  17632. 0x4c966787ab712a19L },
  17633. { 0xcc196c42864fee42L,0xc1be93da5b0ece5cL,0xa87d9f22c131c159L,
  17634. 0x2bb6d593dce45655L } },
  17635. /* 5 << 140 */
  17636. { { 0x22c49ec9b809b7ceL,0x8a41486be2c72c2cL,0x813b9420fea0bf36L,
  17637. 0xb3d36ee9a66dac69L },
  17638. { 0x6fddc08a328cc987L,0x0a3bcd2c3a326461L,0x7103c49dd810dbbaL,
  17639. 0xf9d81a284b78a4c4L } },
  17640. /* 6 << 140 */
  17641. { { 0x3de865ade4d55941L,0xdedafa5e30384087L,0x6f414abb4ef18b9bL,
  17642. 0x9ee9ea42faee5268L },
  17643. { 0x260faa1637a55a4aL,0xeb19a514015f93b9L,0x51d7ebd29e9c3598L,
  17644. 0x523fc56d1932178eL } },
  17645. /* 7 << 140 */
  17646. { { 0x501d070cb98fe684L,0xd60fbe9a124a1458L,0xa45761c892bc6b3fL,
  17647. 0xf5384858fe6f27cbL },
  17648. { 0x4b0271f7b59e763bL,0x3d4606a95b5a8e5eL,0x1eda5d9b05a48292L,
  17649. 0xda7731d0e6fec446L } },
  17650. /* 8 << 140 */
  17651. { { 0xa3e3369390d45871L,0xe976404006166d8dL,0xb5c3368289a90403L,
  17652. 0x4bd1798372f1d637L },
  17653. { 0xa616679ed5d2c53aL,0x5ec4bcd8fdcf3b87L,0xae6d7613b66a694eL,
  17654. 0x7460fc76e3fc27e5L } },
  17655. /* 9 << 140 */
  17656. { { 0x70469b8295caabeeL,0xde024ca5889501e3L,0x6bdadc06076ed265L,
  17657. 0x0cb1236b5a0ef8b2L },
  17658. { 0x4065ddbf0972ebf9L,0xf1dd387522aca432L,0xa88b97cf744aff76L,
  17659. 0xd1359afdfe8e3d24L } },
  17660. /* 10 << 140 */
  17661. { { 0x52a3ba2b91502cf3L,0x2c3832a8084db75dL,0x04a12dddde30b1c9L,
  17662. 0x7802eabce31fd60cL },
  17663. { 0x33707327a37fddabL,0x65d6f2abfaafa973L,0x3525c5b811e6f91aL,
  17664. 0x76aeb0c95f46530bL } },
  17665. /* 11 << 140 */
  17666. { { 0xe8815ff62f93a675L,0xa6ec968405f48679L,0x6dcbb556358ae884L,
  17667. 0x0af61472e19e3873L },
  17668. { 0x72334372a5f696beL,0xc65e57ea6f22fb70L,0x268da30c946cea90L,
  17669. 0x136a8a8765681b2aL } },
  17670. /* 12 << 140 */
  17671. { { 0xad5e81dc0f9f44d4L,0xf09a69602c46585aL,0xd1649164c447d1b1L,
  17672. 0x3b4b36c8879dc8b1L },
  17673. { 0x20d4177b3b6b234cL,0x096a25051730d9d0L,0x0611b9b8ef80531dL,
  17674. 0xba904b3b64bb495dL } },
  17675. /* 13 << 140 */
  17676. { { 0x1192d9d493a3147aL,0x9f30a5dc9a565545L,0x90b1f9cb6ef07212L,
  17677. 0x299585460d87fc13L },
  17678. { 0xd3323effc17db9baL,0xcb18548ccb1644a8L,0x18a306d44f49ffbcL,
  17679. 0x28d658f14c2e8684L } },
  17680. /* 14 << 140 */
  17681. { { 0x44ba60cda99f8c71L,0x67b7abdb4bf742ffL,0x66310f9c914b3f99L,
  17682. 0xae430a32f412c161L },
  17683. { 0x1e6776d388ace52fL,0x4bc0fa2452d7067dL,0x03c286aa8f07cd1bL,
  17684. 0x4cb8f38ca985b2c1L } },
  17685. /* 15 << 140 */
  17686. { { 0x83ccbe808c3bff36L,0x005a0bd25263e575L,0x460d7dda259bdcd1L,
  17687. 0x4a1c5642fa5cab6bL },
  17688. { 0x2b7bdbb99fe4fc88L,0x09418e28cc97bbb5L,0xd8274fb4a12321aeL,
  17689. 0xb137007d5c87b64eL } },
  17690. /* 16 << 140 */
  17691. { { 0x80531fe1c63c4962L,0x50541e89981fdb25L,0xdc1291a1fd4c2b6bL,
  17692. 0xc0693a17a6df4fcaL },
  17693. { 0xb2c4604e0117f203L,0x245f19630a99b8d0L,0xaedc20aac6212c44L,
  17694. 0xb1ed4e56520f52a8L } },
  17695. /* 17 << 140 */
  17696. { { 0xfe48f575f8547be3L,0x0a7033cda9e45f98L,0x4b45d3a918c50100L,
  17697. 0xb2a6cd6aa61d41daL },
  17698. { 0x60bbb4f557933c6bL,0xa7538ebd2b0d7ffcL,0x9ea3ab8d8cd626b6L,
  17699. 0x8273a4843601625aL } },
  17700. /* 18 << 140 */
  17701. { { 0x888598450168e508L,0x8cbc9bb299a94abdL,0x713ac792fab0a671L,
  17702. 0xa3995b196c9ebffcL },
  17703. { 0xe711668e1239e152L,0x56892558bbb8dff4L,0x8bfc7dabdbf17963L,
  17704. 0x5b59fe5ab3de1253L } },
  17705. /* 19 << 140 */
  17706. { { 0x7e3320eb34a9f7aeL,0xe5e8cf72d751efe4L,0x7ea003bcd9be2f37L,
  17707. 0xc0f551a0b6c08ef7L },
  17708. { 0x56606268038f6725L,0x1dd38e356d92d3b6L,0x07dfce7cc3cbd686L,
  17709. 0x4e549e04651c5da8L } },
  17710. /* 20 << 140 */
  17711. { { 0x4058f93b08b19340L,0xc2fae6f4cac6d89dL,0x4bad8a8c8f159cc7L,
  17712. 0x0ddba4b3cb0b601cL },
  17713. { 0xda4fc7b51dd95f8cL,0x1d163cd7cea5c255L,0x30707d06274a8c4cL,
  17714. 0x79d9e0082802e9ceL } },
  17715. /* 21 << 140 */
  17716. { { 0x02a29ebfe6ddd505L,0x37064e74b50bed1aL,0x3f6bae65a7327d57L,
  17717. 0x3846f5f1f83920bcL },
  17718. { 0x87c3749160df1b9bL,0x4cfb28952d1da29fL,0x10a478ca4ed1743cL,
  17719. 0x390c60303edd47c6L } },
  17720. /* 22 << 140 */
  17721. { { 0x8f3e53128c0a78deL,0xccd02bda1e85df70L,0xd6c75c03a61b6582L,
  17722. 0x0762921cfc0eebd1L },
  17723. { 0xd34d0823d85010c0L,0xd73aaacb0044cf1fL,0xfb4159bba3b5e78aL,
  17724. 0x2287c7f7e5826f3fL } },
  17725. /* 23 << 140 */
  17726. { { 0x4aeaf742580b1a01L,0xf080415d60423b79L,0xe12622cda7dea144L,
  17727. 0x49ea499659d62472L },
  17728. { 0xb42991ef571f3913L,0x0610f214f5b25a8aL,0x47adc58530b79e8fL,
  17729. 0xf90e3df607a065a2L } },
  17730. /* 24 << 140 */
  17731. { { 0x5d0a5deb43e2e034L,0x53fb5a34444024aaL,0xa8628c686b0c9f7fL,
  17732. 0x9c69c29cac563656L },
  17733. { 0x5a231febbace47b6L,0xbdce02899ea5a2ecL,0x05da1fac9463853eL,
  17734. 0x96812c52509e78aaL } },
  17735. /* 25 << 140 */
  17736. { { 0xd3fb577157151692L,0xeb2721f8d98e1c44L,0xc050608732399be1L,
  17737. 0xda5a5511d979d8b8L },
  17738. { 0x737ed55dc6f56780L,0xe20d30040dc7a7f4L,0x02ce7301f5941a03L,
  17739. 0x91ef5215ed30f83aL } },
  17740. /* 26 << 140 */
  17741. { { 0x28727fc14092d85fL,0x72d223c65c49e41aL,0xa7cf30a2ba6a4d81L,
  17742. 0x7c086209b030d87dL },
  17743. { 0x04844c7dfc588b09L,0x728cd4995874bbb0L,0xcc1281eee84c0495L,
  17744. 0x0769b5baec31958fL } },
  17745. /* 27 << 140 */
  17746. { { 0x665c228bf99c2471L,0xf2d8a11b191eb110L,0x4594f494d36d7024L,
  17747. 0x482ded8bcdcb25a1L },
  17748. { 0xc958a9d8dadd4885L,0x7004477ef1d2b547L,0x0a45f6ef2a0af550L,
  17749. 0x4fc739d62f8d6351L } },
  17750. /* 28 << 140 */
  17751. { { 0x75cdaf27786f08a9L,0x8700bb2642c2737fL,0x855a71411c4e2670L,
  17752. 0x810188c115076fefL },
  17753. { 0xc251d0c9abcd3297L,0xae4c8967f48108ebL,0xbd146de718ceed30L,
  17754. 0xf9d4f07ac986bcedL } },
  17755. /* 29 << 140 */
  17756. { { 0x5ad98ed583fa1e08L,0x7780d33ebeabd1fbL,0xe330513c903b1196L,
  17757. 0xba11de9ea47bc8c4L },
  17758. { 0x684334da02c2d064L,0x7ecf360da48de23bL,0x57a1b4740a9089d8L,
  17759. 0xf28fa439ff36734cL } },
  17760. /* 30 << 140 */
  17761. { { 0xf2a482cbea4570b3L,0xee65d68ba5ebcee9L,0x988d0036b9694cd5L,
  17762. 0x53edd0e937885d32L },
  17763. { 0xe37e3307beb9bc6dL,0xe9abb9079f5c6768L,0x4396ccd551f2160fL,
  17764. 0x2500888c47336da6L } },
  17765. /* 31 << 140 */
  17766. { { 0x383f9ed9926fce43L,0x809dd1c704da2930L,0x30f6f5968a4cb227L,
  17767. 0x0d700c7f73a56b38L },
  17768. { 0x1825ea33ab64a065L,0xaab9b7351338df80L,0x1516100d9b63f57fL,
  17769. 0x2574395a27a6a634L } },
  17770. /* 32 << 140 */
  17771. { { 0xb5560fb6700a1acdL,0xe823fd73fd999681L,0xda915d1f6cb4e1baL,
  17772. 0x0d0301186ebe00a3L },
  17773. { 0x744fb0c989fca8cdL,0x970d01dbf9da0e0bL,0x0ad8c5647931d76fL,
  17774. 0xb15737bff659b96aL } },
  17775. /* 33 << 140 */
  17776. { { 0xdc9933e8a8b484e7L,0xb2fdbdf97a26dec7L,0x2349e9a49f1f0136L,
  17777. 0x7860368e70fddddbL },
  17778. { 0xd93d2c1cf9ad3e18L,0x6d6c5f17689f4e79L,0x7a544d91b24ff1b6L,
  17779. 0x3e12a5ebfe16cd8cL } },
  17780. /* 34 << 140 */
  17781. { { 0x543574e9a56b872fL,0xa1ad550cfcf68ea2L,0x689e37d23f560ef7L,
  17782. 0x8c54b9cac9d47a8bL },
  17783. { 0x46d40a4a088ac342L,0xec450c7c1576c6d0L,0xb589e31c1f9689e9L,
  17784. 0xdacf2602b8781718L } },
  17785. /* 35 << 140 */
  17786. { { 0xa89237c6c8cb6b42L,0x1326fc93b96ef381L,0x55d56c6db5f07825L,
  17787. 0xacba2eea7449e22dL },
  17788. { 0x74e0887a633c3000L,0xcb6cd172d7cbcf71L,0x309e81dec36cf1beL,
  17789. 0x07a18a6d60ae399bL } },
  17790. /* 36 << 140 */
  17791. { { 0xb36c26799edce57eL,0x52b892f4df001d41L,0xd884ae5d16a1f2c6L,
  17792. 0x9b329424efcc370aL },
  17793. { 0x3120daf2bd2e21dfL,0x55298d2d02470a99L,0x0b78af6ca05db32eL,
  17794. 0x5c76a331601f5636L } },
  17795. /* 37 << 140 */
  17796. { { 0xaae861fff8a4f29cL,0x70dc9240d68f8d49L,0x960e649f81b1321cL,
  17797. 0x3d2c801b8792e4ceL },
  17798. { 0xf479f77242521876L,0x0bed93bc416c79b1L,0xa67fbc05263e5bc9L,
  17799. 0x01e8e630521db049L } },
  17800. /* 38 << 140 */
  17801. { { 0x76f26738c6f3431eL,0xe609cb02e3267541L,0xb10cff2d818c877cL,
  17802. 0x1f0e75ce786a13cbL },
  17803. { 0xf4fdca641158544dL,0x5d777e896cb71ed0L,0x3c233737a9aa4755L,
  17804. 0x7b453192e527ab40L } },
  17805. /* 39 << 140 */
  17806. { { 0xdb59f68839f05ffeL,0x8f4f4be06d82574eL,0xcce3450cee292d1bL,
  17807. 0xaa448a1261ccd086L },
  17808. { 0xabce91b3f7914967L,0x4537f09b1908a5edL,0xa812421ef51042e7L,
  17809. 0xfaf5cebcec0b3a34L } },
  17810. /* 40 << 140 */
  17811. { { 0x730ffd874ca6b39aL,0x70fb72ed02efd342L,0xeb4735f9d75c8edbL,
  17812. 0xc11f2157c278aa51L },
  17813. { 0xc459f635bf3bfebfL,0x3a1ff0b46bd9601fL,0xc9d12823c420cb73L,
  17814. 0x3e9af3e23c2915a3L } },
  17815. /* 41 << 140 */
  17816. { { 0xe0c82c72b41c3440L,0x175239e5e3039a5fL,0xe1084b8a558795a3L,
  17817. 0x328d0a1dd01e5c60L },
  17818. { 0x0a495f2ed3788a04L,0x25d8ff1666c11a9fL,0xf5155f059ed692d6L,
  17819. 0x954fa1074f425fe4L } },
  17820. /* 42 << 140 */
  17821. { { 0xd16aabf2e98aaa99L,0x90cd8ba096b0f88aL,0x957f4782c154026aL,
  17822. 0x54ee073452af56d2L },
  17823. { 0xbcf89e5445b4147aL,0x3d102f219a52816cL,0x6808517e39b62e77L,
  17824. 0x92e2542169169ad8L } },
  17825. /* 43 << 140 */
  17826. { { 0xd721d871bb608558L,0x60e4ebaef6d4ff9bL,0x0ba1081941f2763eL,
  17827. 0xca2e45be51ee3247L },
  17828. { 0x66d172ec2bfd7a5fL,0x528a8f2f74d0b12dL,0xe17f1e38dabe70dcL,
  17829. 0x1d5d73169f93983cL } },
  17830. /* 44 << 140 */
  17831. { { 0x51b2184adf423e31L,0xcb417291aedb1a10L,0x2054ca93625bcab9L,
  17832. 0x54396860a98998f0L },
  17833. { 0x4e53f6c4a54ae57eL,0x0ffeb590ee648e9dL,0xfbbdaadc6afaf6bcL,
  17834. 0xf88ae796aa3bfb8aL } },
  17835. /* 45 << 140 */
  17836. { { 0x209f1d44d2359ed9L,0xac68dd03f3544ce2L,0xf378da47fd51e569L,
  17837. 0xe1abd8602cc80097L },
  17838. { 0x23ca18d9343b6e3aL,0x480797e8b40a1baeL,0xd1f0c717533f3e67L,
  17839. 0x4489697006e6cdfcL } },
  17840. /* 46 << 140 */
  17841. { { 0x8ca2105552a82e8dL,0xb2caf78578460cdcL,0x4c1b7b62e9037178L,
  17842. 0xefc09d2cdb514b58L },
  17843. { 0x5f2df9ee9113be5cL,0x2fbda78fb3f9271cL,0xe09a81af8f83fc54L,
  17844. 0x06b138668afb5141L } },
  17845. /* 47 << 140 */
  17846. { { 0x38f6480f43e3865dL,0x72dd77a81ddf47d9L,0xf2a8e9714c205ff7L,
  17847. 0x46d449d89d088ad8L },
  17848. { 0x926619ea185d706fL,0xe47e02ebc7dd7f62L,0xe7f120a78cbc2031L,
  17849. 0xc18bef00998d4ac9L } },
  17850. /* 48 << 140 */
  17851. { { 0x18f37a9c6bdf22daL,0xefbc432f90dc82dfL,0xc52cef8e5d703651L,
  17852. 0x82887ba0d99881a5L },
  17853. { 0x7cec9ddab920ec1dL,0xd0d7e8c3ec3e8d3bL,0x445bc3954ca88747L,
  17854. 0xedeaa2e09fd53535L } },
  17855. /* 49 << 140 */
  17856. { { 0x461b1d936cc87475L,0xd92a52e26d2383bdL,0xfabccb59d7903546L,
  17857. 0x6111a7613d14b112L },
  17858. { 0x0ae584feb3d5f612L,0x5ea69b8d60e828ecL,0x6c07898554087030L,
  17859. 0x649cab04ac4821feL } },
  17860. /* 50 << 140 */
  17861. { { 0x25ecedcf8bdce214L,0xb5622f7286af7361L,0x0e1227aa7038b9e2L,
  17862. 0xd0efb273ac20fa77L },
  17863. { 0x817ff88b79df975bL,0x856bf2861999503eL,0xb4d5351f5038ec46L,
  17864. 0x740a52c5fc42af6eL } },
  17865. /* 51 << 140 */
  17866. { { 0x2e38bb152cbb1a3fL,0xc3eb99fe17a83429L,0xca4fcbf1dd66bb74L,
  17867. 0x880784d6cde5e8fcL },
  17868. { 0xddc84c1cb4e7a0beL,0x8780510dbd15a72fL,0x44bcf1af81ec30e1L,
  17869. 0x141e50a80a61073eL } },
  17870. /* 52 << 140 */
  17871. { { 0x0d95571847be87aeL,0x68a61417f76a4372L,0xf57e7e87c607c3d3L,
  17872. 0x043afaf85252f332L },
  17873. { 0xcc14e1211552a4d2L,0xb6dee692bb4d4ab4L,0xb6ab74c8a03816a4L,
  17874. 0x84001ae46f394a29L } },
  17875. /* 53 << 140 */
  17876. { { 0x5bed8344d795fb45L,0x57326e7db79f55a5L,0xc9533ce04accdffcL,
  17877. 0x53473caf3993fa04L },
  17878. { 0x7906eb93a13df4c8L,0xa73e51f697cbe46fL,0xd1ab3ae10ae4ccf8L,
  17879. 0x256145088a5b3dbcL } },
  17880. /* 54 << 140 */
  17881. { { 0x61eff96211a71b27L,0xdf71412b6bb7fa39L,0xb31ba6b82bd7f3efL,
  17882. 0xb0b9c41569180d29L },
  17883. { 0xeec14552014cdde5L,0x702c624b227b4bbbL,0x2b15e8c2d3e988f3L,
  17884. 0xee3bcc6da4f7fd04L } },
  17885. /* 55 << 140 */
  17886. { { 0x9d00822a42ac6c85L,0x2db0cea61df9f2b7L,0xd7cad2ab42de1e58L,
  17887. 0x346ed5262d6fbb61L },
  17888. { 0xb39629951a2faf09L,0x2fa8a5807c25612eL,0x30ae04da7cf56490L,
  17889. 0x756629080eea3961L } },
  17890. /* 56 << 140 */
  17891. { { 0x3609f5c53d080847L,0xcb081d395241d4f6L,0xb4fb381077961a63L,
  17892. 0xc20c59842abb66fcL },
  17893. { 0x3d40aa7cf902f245L,0x9cb127364e536b1eL,0x5eda24da99b3134fL,
  17894. 0xafbd9c695cd011afL } },
  17895. /* 57 << 140 */
  17896. { { 0x9a16e30ac7088c7dL,0x5ab657103207389fL,0x1b09547fe7407a53L,
  17897. 0x2322f9d74fdc6eabL },
  17898. { 0xc0f2f22d7430de4dL,0x19382696e68ca9a9L,0x17f1eff1918e5868L,
  17899. 0xe3b5b635586f4204L } },
  17900. /* 58 << 140 */
  17901. { { 0x146ef9803fbc4341L,0x359f2c805b5eed4eL,0x9f35744e7482e41dL,
  17902. 0x9a9ac3ecf3b224c2L },
  17903. { 0x9161a6fe91fc50aeL,0x89ccc66bc613fa7cL,0x89268b14c732f15aL,
  17904. 0x7cd6f4e2b467ed03L } },
  17905. /* 59 << 140 */
  17906. { { 0xfbf79869ce56b40eL,0xf93e094cc02dde98L,0xefe0c3a8edee2cd7L,
  17907. 0x90f3ffc0b268fd42L },
  17908. { 0x81a7fd5608241aedL,0x95ab7ad800b1afe8L,0x401270563e310d52L,
  17909. 0xd3ffdeb109d9fc43L } },
  17910. /* 60 << 140 */
  17911. { { 0xc8f85c91d11a8594L,0x2e74d25831cf6db8L,0x829c7ca302b5dfd0L,
  17912. 0xe389cfbe69143c86L },
  17913. { 0xd01b6405941768d8L,0x4510399503bf825dL,0xcc4ee16656cd17e2L,
  17914. 0xbea3c283ba037e79L } },
  17915. /* 61 << 140 */
  17916. { { 0x4e1ac06ed9a47520L,0xfbfe18aaaf852404L,0x5615f8e28087648aL,
  17917. 0x7301e47eb9d150d9L },
  17918. { 0x79f9f9ddb299b977L,0x76697a7ba5b78314L,0x10d674687d7c90e7L,
  17919. 0x7afffe03937210b5L } },
  17920. /* 62 << 140 */
  17921. { { 0x5aef3e4b28c22ceeL,0xefb0ecd809fd55aeL,0x4cea71320d2a5d6aL,
  17922. 0x9cfb5fa101db6357L },
  17923. { 0x395e0b57f36e1ac5L,0x008fa9ad36cafb7dL,0x8f6cdf705308c4dbL,
  17924. 0x51527a3795ed2477L } },
  17925. /* 63 << 140 */
  17926. { { 0xba0dee305bd21311L,0x6ed41b22909c90d7L,0xc5f6b7587c8696d3L,
  17927. 0x0db8eaa83ce83a80L },
  17928. { 0xd297fe37b24b4b6fL,0xfe58afe8522d1f0dL,0x973587368c98dbd9L,
  17929. 0x6bc226ca9454a527L } },
  17930. /* 64 << 140 */
  17931. { { 0xa12b384ece53c2d0L,0x779d897d5e4606daL,0xa53e47b073ec12b0L,
  17932. 0x462dbbba5756f1adL },
  17933. { 0x69fe09f2cafe37b6L,0x273d1ebfecce2e17L,0x8ac1d5383cf607fdL,
  17934. 0x8035f7ff12e10c25L } },
  17935. /* 0 << 147 */
  17936. { { 0x00, 0x00, 0x00, 0x00 },
  17937. { 0x00, 0x00, 0x00, 0x00 } },
  17938. /* 1 << 147 */
  17939. { { 0x854d34c77e6c5520L,0xc27df9efdcb9ea58L,0x405f2369d686666dL,
  17940. 0x29d1febf0417aa85L },
  17941. { 0x9846819e93470afeL,0x3e6a9669e2a27f9eL,0x24d008a2e31e6504L,
  17942. 0xdba7cecf9cb7680aL } },
  17943. /* 2 << 147 */
  17944. { { 0xecaff541338d6e43L,0x56f7dd734541d5ccL,0xb5d426de96bc88caL,
  17945. 0x48d94f6b9ed3a2c3L },
  17946. { 0x6354a3bb2ef8279cL,0xd575465b0b1867f2L,0xef99b0ff95225151L,
  17947. 0xf3e19d88f94500d8L } },
  17948. /* 3 << 147 */
  17949. { { 0x92a83268e32dd620L,0x913ec99f627849a2L,0xedd8fdfa2c378882L,
  17950. 0xaf96f33eee6f8cfeL },
  17951. { 0xc06737e5dc3fa8a5L,0x236bb531b0b03a1dL,0x33e59f2989f037b0L,
  17952. 0x13f9b5a7d9a12a53L } },
  17953. /* 4 << 147 */
  17954. { { 0x0d0df6ce51efb310L,0xcb5b2eb4958df5beL,0xd6459e2936158e59L,
  17955. 0x82aae2b91466e336L },
  17956. { 0xfb658a39411aa636L,0x7152ecc5d4c0a933L,0xf10c758a49f026b7L,
  17957. 0xf4837f97cb09311fL } },
  17958. /* 5 << 147 */
  17959. { { 0xddfb02c4c753c45fL,0x18ca81b6f9c840feL,0x846fd09ab0f8a3e6L,
  17960. 0xb1162adde7733dbcL },
  17961. { 0x7070ad20236e3ab6L,0xf88cdaf5b2a56326L,0x05fc8719997cbc7aL,
  17962. 0x442cd4524b665272L } },
  17963. /* 6 << 147 */
  17964. { { 0x7807f364b71698f5L,0x6ba418d29f7b605eL,0xfd20b00fa03b2cbbL,
  17965. 0x883eca37da54386fL },
  17966. { 0xff0be43ff3437f24L,0xe910b432a48bb33cL,0x4963a128329df765L,
  17967. 0xac1dd556be2fe6f7L } },
  17968. /* 7 << 147 */
  17969. { { 0x557610f924a0a3fcL,0x38e17bf4e881c3f9L,0x6ba84fafed0dac99L,
  17970. 0xd4a222c359eeb918L },
  17971. { 0xc79c1dbe13f542b6L,0x1fc65e0de425d457L,0xeffb754f1debb779L,
  17972. 0x638d8fd09e08af60L } },
  17973. /* 8 << 147 */
  17974. { { 0x994f523a626332d5L,0x7bc388335561bb44L,0x005ed4b03d845ea2L,
  17975. 0xd39d3ee1c2a1f08aL },
  17976. { 0x6561fdd3e7676b0dL,0x620e35fffb706017L,0x36ce424ff264f9a8L,
  17977. 0xc4c3419fda2681f7L } },
  17978. /* 9 << 147 */
  17979. { { 0xfb6afd2f69beb6e8L,0x3a50b9936d700d03L,0xc840b2ad0c83a14fL,
  17980. 0x573207be54085befL },
  17981. { 0x5af882e309fe7e5bL,0x957678a43b40a7e1L,0x172d4bdd543056e2L,
  17982. 0x9c1b26b40df13c0aL } },
  17983. /* 10 << 147 */
  17984. { { 0x1c30861cf405ff06L,0xebac86bd486e828bL,0xe791a971636933fcL,
  17985. 0x50e7c2be7aeee947L },
  17986. { 0xc3d4a095fa90d767L,0xae60eb7be670ab7bL,0x17633a64397b056dL,
  17987. 0x93a21f33105012aaL } },
  17988. /* 11 << 147 */
  17989. { { 0x663c370babb88643L,0x91df36d722e21599L,0x183ba8358b761671L,
  17990. 0x381eea1d728f3bf1L },
  17991. { 0xb9b2f1ba39966e6cL,0x7c464a28e7295492L,0x0fd5f70a09b26b7fL,
  17992. 0xa9aba1f9fbe009dfL } },
  17993. /* 12 << 147 */
  17994. { { 0x857c1f22369b87adL,0x3c00e5d932fca556L,0x1ad74cab90b06466L,
  17995. 0xa7112386550faaf2L },
  17996. { 0x7435e1986d9bd5f5L,0x2dcc7e3859c3463fL,0xdc7df748ca7bd4b2L,
  17997. 0x13cd4c089dec2f31L } },
  17998. /* 13 << 147 */
  17999. { { 0x0d3b5df8e3237710L,0x0dadb26ecbd2f7b0L,0x9f5966abe4aa082bL,
  18000. 0x666ec8de350e966eL },
  18001. { 0x1bfd1ed5ee524216L,0xcd93c59b41dab0b6L,0x658a8435d186d6baL,
  18002. 0x1b7d34d2159d1195L } },
  18003. /* 14 << 147 */
  18004. { { 0x5936e46022caf46bL,0x6a45dd8f9a96fe4fL,0xf7925434b98f474eL,
  18005. 0x414104120053ef15L },
  18006. { 0x71cf8d1241de97bfL,0xb8547b61bd80bef4L,0xb47d3970c4db0037L,
  18007. 0xf1bcd328fef20dffL } },
  18008. /* 15 << 147 */
  18009. { { 0x31a92e0910caad67L,0x1f5919605531a1e1L,0x3bb852e05f4fc840L,
  18010. 0x63e297ca93a72c6cL },
  18011. { 0x3c2b0b2e49abad67L,0x6ec405fced3db0d9L,0xdc14a5307fef1d40L,
  18012. 0xccd19846280896fcL } },
  18013. /* 16 << 147 */
  18014. { { 0x00f831769bb81648L,0xd69eb485653120d0L,0xd17d75f44ccabc62L,
  18015. 0x34a07f82b749fcb1L },
  18016. { 0x2c3af787bbfb5554L,0xb06ed4d062e283f8L,0x5722889fa19213a0L,
  18017. 0x162b085edcf3c7b4L } },
  18018. /* 17 << 147 */
  18019. { { 0xbcaecb31e0dd3ecaL,0xc6237fbce52f13a5L,0xcc2b6b0327bac297L,
  18020. 0x2ae1cac5b917f54aL },
  18021. { 0x474807d47845ae4fL,0xfec7dd92ce5972e0L,0xc3bd25411d7915bbL,
  18022. 0x66f85dc4d94907caL } },
  18023. /* 18 << 147 */
  18024. { { 0xd981b888bdbcf0caL,0xd75f5da6df279e9fL,0x128bbf247054e934L,
  18025. 0x3c6ff6e581db134bL },
  18026. { 0x795b7cf4047d26e4L,0xf370f7b85049ec37L,0xc6712d4dced945afL,
  18027. 0xdf30b5ec095642bcL } },
  18028. /* 19 << 147 */
  18029. { { 0x9b034c624896246eL,0x5652c016ee90bbd1L,0xeb38636f87fedb73L,
  18030. 0x5e32f8470135a613L },
  18031. { 0x0703b312cf933c83L,0xd05bb76e1a7f47e6L,0x825e4f0c949c2415L,
  18032. 0x569e56227250d6f8L } },
  18033. /* 20 << 147 */
  18034. { { 0xbbe9eb3a6568013eL,0x8dbd203f22f243fcL,0x9dbd7694b342734aL,
  18035. 0x8f6d12f846afa984L },
  18036. { 0xb98610a2c9eade29L,0xbab4f32347dd0f18L,0x5779737b671c0d46L,
  18037. 0x10b6a7c6d3e0a42aL } },
  18038. /* 21 << 147 */
  18039. { { 0xfb19ddf33035b41cL,0xd336343f99c45895L,0x61fe493854c857e5L,
  18040. 0xc4d506beae4e57d5L },
  18041. { 0x3cd8c8cbbbc33f75L,0x7281f08a9262c77dL,0x083f4ea6f11a2823L,
  18042. 0x8895041e9fba2e33L } },
  18043. /* 22 << 147 */
  18044. { { 0xfcdfea499c438edfL,0x7678dcc391edba44L,0xf07b3b87e2ba50f0L,
  18045. 0xc13888ef43948c1bL },
  18046. { 0xc2135ad41140af42L,0x8e5104f3926ed1a7L,0xf24430cb88f6695fL,
  18047. 0x0ce0637b6d73c120L } },
  18048. /* 23 << 147 */
  18049. { { 0xb2db01e6fe631e8fL,0x1c5563d7d7bdd24bL,0x8daea3ba369ad44fL,
  18050. 0x000c81b68187a9f9L },
  18051. { 0x5f48a951aae1fd9aL,0xe35626c78d5aed8aL,0x209527630498c622L,
  18052. 0x76d17634773aa504L } },
  18053. /* 24 << 147 */
  18054. { { 0x36d90ddaeb300f7aL,0x9dcf7dfcedb5e801L,0x645cb26874d5244cL,
  18055. 0xa127ee79348e3aa2L },
  18056. { 0x488acc53575f1dbbL,0x95037e8580e6161eL,0x57e59283292650d0L,
  18057. 0xabe67d9914938216L } },
  18058. /* 25 << 147 */
  18059. { { 0x3c7f944b3f8e1065L,0xed908cb6330e8924L,0x08ee8fd56f530136L,
  18060. 0x2227b7d5d7ffc169L },
  18061. { 0x4f55c893b5cd6dd5L,0x82225e11a62796e8L,0x5c6cead1cb18e12cL,
  18062. 0x4381ae0c84f5a51aL } },
  18063. /* 26 << 147 */
  18064. { { 0x345913d37fafa4c8L,0x3d9180820491aac0L,0x9347871f3e69264cL,
  18065. 0xbea9dd3cb4f4f0cdL },
  18066. { 0xbda5d0673eadd3e7L,0x0033c1b80573bcd8L,0x255893795da2486cL,
  18067. 0xcb89ee5b86abbee7L } },
  18068. /* 27 << 147 */
  18069. { { 0x8fe0a8f322532e5dL,0xb6410ff0727dfc4cL,0x619b9d58226726dbL,
  18070. 0x5ec256697a2b2dc7L },
  18071. { 0xaf4d2e064c3beb01L,0x852123d07acea556L,0x0e9470faf783487aL,
  18072. 0x75a7ea045664b3ebL } },
  18073. /* 28 << 147 */
  18074. { { 0x4ad78f356798e4baL,0x9214e6e5c7d0e091L,0xc420b488b1290403L,
  18075. 0x64049e0afc295749L },
  18076. { 0x03ef5af13ae9841fL,0xdbe4ca19b0b662a6L,0x46845c5ffa453458L,
  18077. 0xf8dabf1910b66722L } },
  18078. /* 29 << 147 */
  18079. { { 0xb650f0aacce2793bL,0x71db851ec5ec47c1L,0x3eb78f3e3b234fa9L,
  18080. 0xb0c60f35fc0106ceL },
  18081. { 0x05427121774eadbdL,0x25367fafce323863L,0x7541b5c9cd086976L,
  18082. 0x4ff069e2dc507ad1L } },
  18083. /* 30 << 147 */
  18084. { { 0x741452568776e667L,0x6e76142cb23c6bb5L,0xdbf307121b3a8a87L,
  18085. 0x60e7363e98450836L },
  18086. { 0x5741450eb7366d80L,0xe4ee14ca4837dbdfL,0xa765eb9b69d4316fL,
  18087. 0x04548dca8ef43825L } },
  18088. /* 31 << 147 */
  18089. { { 0x9c9f4e4c5ae888ebL,0x733abb5156e9ac99L,0xdaad3c20ba6ac029L,
  18090. 0x9b8dd3d32ba3e38eL },
  18091. { 0xa9bb4c920bc5d11aL,0xf20127a79c5f88a3L,0x4f52b06e161d3cb8L,
  18092. 0x26c1ff096afaf0a6L } },
  18093. /* 32 << 147 */
  18094. { { 0x32670d2f7189e71fL,0xc64387485ecf91e7L,0x15758e57db757a21L,
  18095. 0x427d09f8290a9ce5L },
  18096. { 0x846a308f38384a7aL,0xaac3acb4b0732b99L,0x9e94100917845819L,
  18097. 0x95cba111a7ce5e03L } },
  18098. /* 33 << 147 */
  18099. { { 0x6f3d4f7fb00009c4L,0xb8396c278ff28b5fL,0xb1a9ae431c97975dL,
  18100. 0x9d7ba8afe5d9fed5L },
  18101. { 0x338cf09f34f485b6L,0xbc0ddacc64122516L,0xa450da1205d471feL,
  18102. 0x4c3a6250628dd8c9L } },
  18103. /* 34 << 147 */
  18104. { { 0x69c7d103d1295837L,0xa2893e503807eb2fL,0xd6e1e1debdb41491L,
  18105. 0xc630745b5e138235L },
  18106. { 0xc892109e48661ae1L,0x8d17e7ebea2b2674L,0x00ec0f87c328d6b5L,
  18107. 0x6d858645f079ff9eL } },
  18108. /* 35 << 147 */
  18109. { { 0x6cdf243e19115eadL,0x1ce1393e4bac4fcfL,0x2c960ed09c29f25bL,
  18110. 0x59be4d8e9d388a05L },
  18111. { 0x0d46e06cd0def72bL,0xb923db5de0342748L,0xf7d3aacd936d4a3dL,
  18112. 0x558519cc0b0b099eL } },
  18113. /* 36 << 147 */
  18114. { { 0x3ea8ebf8827097efL,0x259353dbd054f55dL,0x84c89abc6d2ed089L,
  18115. 0x5c548b698e096a7cL },
  18116. { 0xd587f616994b995dL,0x4d1531f6a5845601L,0x792ab31e451fd9f0L,
  18117. 0xc8b57bb265adf6caL } },
  18118. /* 37 << 147 */
  18119. { { 0x68440fcb1cd5ad73L,0xb9c860e66144da4fL,0x2ab286aa8462beb8L,
  18120. 0xcc6b8fffef46797fL },
  18121. { 0xac820da420c8a471L,0x69ae05a177ff7fafL,0xb9163f39bfb5da77L,
  18122. 0xbd03e5902c73ab7aL } },
  18123. /* 38 << 147 */
  18124. { { 0x7e862b5eb2940d9eL,0x3c663d864b9af564L,0xd8309031bde3033dL,
  18125. 0x298231b2d42c5bc6L },
  18126. { 0x42090d2c552ad093L,0xa4799d1cff854695L,0x0a88b5d6d31f0d00L,
  18127. 0xf8b40825a2f26b46L } },
  18128. /* 39 << 147 */
  18129. { { 0xec29b1edf1bd7218L,0xd491c53b4b24c86eL,0xd2fe588f3395ea65L,
  18130. 0x6f3764f74456ef15L },
  18131. { 0xdb43116dcdc34800L,0xcdbcd456c1e33955L,0xefdb554074ab286bL,
  18132. 0x948c7a51d18c5d7cL } },
  18133. /* 40 << 147 */
  18134. { { 0xeb81aa377378058eL,0x41c746a104411154L,0xa10c73bcfb828ac7L,
  18135. 0x6439be919d972b29L },
  18136. { 0x4bf3b4b043a2fbadL,0x39e6dadf82b5e840L,0x4f7164086397bd4cL,
  18137. 0x0f7de5687f1eeccbL } },
  18138. /* 41 << 147 */
  18139. { { 0x5865c5a1d2ffbfc1L,0xf74211fa4ccb6451L,0x66368a88c0b32558L,
  18140. 0x5b539dc29ad7812eL },
  18141. { 0x579483d02f3af6f6L,0x5213207899934eceL,0x50b9650fdcc9e983L,
  18142. 0xca989ec9aee42b8aL } },
  18143. /* 42 << 147 */
  18144. { { 0x6a44c829d6f62f99L,0x8f06a3094c2a7c0cL,0x4ea2b3a098a0cb0aL,
  18145. 0x5c547b70beee8364L },
  18146. { 0x461d40e1682afe11L,0x9e0fc77a7b41c0a8L,0x79e4aefde20d5d36L,
  18147. 0x2916e52032dd9f63L } },
  18148. /* 43 << 147 */
  18149. { { 0xf59e52e83f883fafL,0x396f96392b868d35L,0xc902a9df4ca19881L,
  18150. 0x0fc96822db2401a6L },
  18151. { 0x4123758766f1c68dL,0x10fc6de3fb476c0dL,0xf8b6b579841f5d90L,
  18152. 0x2ba8446cfa24f44aL } },
  18153. /* 44 << 147 */
  18154. { { 0xa237b920ef4a9975L,0x60bb60042330435fL,0xd6f4ab5acfb7e7b5L,
  18155. 0xb2ac509783435391L },
  18156. { 0xf036ee2fb0d1ea67L,0xae779a6a74c56230L,0x59bff8c8ab838ae6L,
  18157. 0xcd83ca999b38e6f0L } },
  18158. /* 45 << 147 */
  18159. { { 0xbb27bef5e33deed3L,0xe6356f6f001892a8L,0xbf3be6cc7adfbd3eL,
  18160. 0xaecbc81c33d1ac9dL },
  18161. { 0xe4feb909e6e861dcL,0x90a247a453f5f801L,0x01c50acb27346e57L,
  18162. 0xce29242e461acc1bL } },
  18163. /* 46 << 147 */
  18164. { { 0x04dd214a2f998a91L,0x271ee9b1d4baf27bL,0x7e3027d1e8c26722L,
  18165. 0x21d1645c1820dce5L },
  18166. { 0x086f242c7501779cL,0xf0061407fa0e8009L,0xf23ce47760187129L,
  18167. 0x05bbdedb0fde9bd0L } },
  18168. /* 47 << 147 */
  18169. { { 0x682f483225d98473L,0xf207fe855c658427L,0xb6fdd7ba4166ffa1L,
  18170. 0x0c3140569eed799dL },
  18171. { 0x0db8048f4107e28fL,0x74ed387141216840L,0x74489f8f56a3c06eL,
  18172. 0x1e1c005b12777134L } },
  18173. /* 48 << 147 */
  18174. { { 0xdb332a73f37ec3c3L,0xc65259bddd59eba0L,0x2291709cdb4d3257L,
  18175. 0x9a793b25bd389390L },
  18176. { 0xf39fe34be43756f0L,0x2f76bdce9afb56c9L,0x9f37867a61208b27L,
  18177. 0xea1d4307089972c3L } },
  18178. /* 49 << 147 */
  18179. { { 0x8c5953308bdf623aL,0x5f5accda8441fb7dL,0xfafa941832ddfd95L,
  18180. 0x6ad40c5a0fde9be7L },
  18181. { 0x43faba89aeca8709L,0xc64a7cf12c248a9dL,0x1662025272637a76L,
  18182. 0xaee1c79122b8d1bbL } },
  18183. /* 50 << 147 */
  18184. { { 0xf0f798fd21a843b2L,0x56e4ed4d8d005cb1L,0x355f77801f0d8abeL,
  18185. 0x197b04cf34522326L },
  18186. { 0x41f9b31ffd42c13fL,0x5ef7feb2b40f933dL,0x27326f425d60bad4L,
  18187. 0x027ecdb28c92cf89L } },
  18188. /* 51 << 147 */
  18189. { { 0x04aae4d14e3352feL,0x08414d2f73591b90L,0x5ed6124eb7da7d60L,
  18190. 0xb985b9314d13d4ecL },
  18191. { 0xa592d3ab96bf36f9L,0x012dbed5bbdf51dfL,0xa57963c0df6c177dL,
  18192. 0x010ec86987ca29cfL } },
  18193. /* 52 << 147 */
  18194. { { 0xba1700f6bf926dffL,0x7c9fdbd1f4bf6bc2L,0xdc18dc8f64da11f5L,
  18195. 0xa6074b7ad938ae75L },
  18196. { 0x14270066e84f44a4L,0x99998d38d27b954eL,0xc1be8ab2b4f38e9aL,
  18197. 0x8bb55bbf15c01016L } },
  18198. /* 53 << 147 */
  18199. { { 0xf73472b40ea2ab30L,0xd365a340f73d68ddL,0xc01a716819c2e1ebL,
  18200. 0x32f49e3734061719L },
  18201. { 0xb73c57f101d8b4d6L,0x03c8423c26b47700L,0x321d0bc8a4d8826aL,
  18202. 0x6004213c4bc0e638L } },
  18203. /* 54 << 147 */
  18204. { { 0xf78c64a1c1c06681L,0x16e0a16fef018e50L,0x31cbdf91db42b2b3L,
  18205. 0xf8f4ffcee0d36f58L },
  18206. { 0xcdcc71cd4cc5e3e0L,0xd55c7cfaa129e3e0L,0xccdb6ba00fb2cbf1L,
  18207. 0x6aba0005c4bce3cbL } },
  18208. /* 55 << 147 */
  18209. { { 0x501cdb30d232cfc4L,0x9ddcf12ed58a3cefL,0x02d2cf9c87e09149L,
  18210. 0xdc5d7ec72c976257L },
  18211. { 0x6447986e0b50d7ddL,0x88fdbaf7807f112aL,0x58c9822ab00ae9f6L,
  18212. 0x6abfb9506d3d27e0L } },
  18213. /* 56 << 147 */
  18214. { { 0xd0a744878a429f4fL,0x0649712bdb516609L,0xb826ba57e769b5dfL,
  18215. 0x82335df21fc7aaf2L },
  18216. { 0x2389f0675c93d995L,0x59ac367a68677be6L,0xa77985ff21d9951bL,
  18217. 0x038956fb85011cceL } },
  18218. /* 57 << 147 */
  18219. { { 0x608e48cbbb734e37L,0xc08c0bf22be5b26fL,0x17bbdd3bf9b1a0d9L,
  18220. 0xeac7d89810483319L },
  18221. { 0xc95c4bafbc1a6deaL,0xfdd0e2bf172aafdbL,0x40373cbc8235c41aL,
  18222. 0x14303f21fb6f41d5L } },
  18223. /* 58 << 147 */
  18224. { { 0xba0636210408f237L,0xcad3b09aecd2d1edL,0x4667855a52abb6a2L,
  18225. 0xba9157dcaa8b417bL },
  18226. { 0xfe7f35074f013efbL,0x1b112c4baa38c4a2L,0xa1406a609ba64345L,
  18227. 0xe53cba336993c80bL } },
  18228. /* 59 << 147 */
  18229. { { 0x45466063ded40d23L,0x3d5f1f4d54908e25L,0x9ebefe62403c3c31L,
  18230. 0x274ea0b50672a624L },
  18231. { 0xff818d99451d1b71L,0x80e826438f79cf79L,0xa165df1373ce37f5L,
  18232. 0xa744ef4ffe3a21fdL } },
  18233. /* 60 << 147 */
  18234. { { 0x73f1e7f5cf551396L,0xc616898e868c676bL,0x671c28c78c442c36L,
  18235. 0xcfe5e5585e0a317dL },
  18236. { 0x1242d8187051f476L,0x56fad2a614f03442L,0x262068bc0a44d0f6L,
  18237. 0xdfa2cd6ece6edf4eL } },
  18238. /* 61 << 147 */
  18239. { { 0x0f43813ad15d1517L,0x61214cb2377d44f5L,0xd399aa29c639b35fL,
  18240. 0x42136d7154c51c19L },
  18241. { 0x9774711b08417221L,0x0a5546b352545a57L,0x80624c411150582dL,
  18242. 0x9ec5c418fbc555bcL } },
  18243. /* 62 << 147 */
  18244. { { 0x2c87dcad771849f1L,0xb0c932c501d7bf6fL,0x6aa5cd3e89116eb2L,
  18245. 0xd378c25a51ca7bd3L },
  18246. { 0xc612a0da9e6e3e31L,0x0417a54db68ad5d0L,0x00451e4a22c6edb8L,
  18247. 0x9fbfe019b42827ceL } },
  18248. /* 63 << 147 */
  18249. { { 0x2fa92505ba9384a2L,0x21b8596e64ad69c1L,0x8f4fcc49983b35a6L,
  18250. 0xde09376072754672L },
  18251. { 0x2f14ccc8f7bffe6dL,0x27566bff5d94263dL,0xb5b4e9c62df3ec30L,
  18252. 0x94f1d7d53e6ea6baL } },
  18253. /* 64 << 147 */
  18254. { { 0x97b7851aaaca5e9bL,0x518aa52156713b97L,0x3357e8c7150a61f6L,
  18255. 0x7842e7e2ec2c2b69L },
  18256. { 0x8dffaf656868a548L,0xd963bd82e068fc81L,0x64da5c8b65917733L,
  18257. 0x927090ff7b247328L } },
  18258. /* 0 << 154 */
  18259. { { 0x00, 0x00, 0x00, 0x00 },
  18260. { 0x00, 0x00, 0x00, 0x00 } },
  18261. /* 1 << 154 */
  18262. { { 0x214bc9a7d298c241L,0xe3b697ba56807cfdL,0xef1c78024564eadbL,
  18263. 0xdde8cdcfb48149c5L },
  18264. { 0x946bf0a75a4d2604L,0x27154d7f6c1538afL,0x95cc9230de5b1fccL,
  18265. 0xd88519e966864f82L } },
  18266. /* 2 << 154 */
  18267. { { 0xb828dd1a7cb1282cL,0xa08d7626be46973aL,0x6baf8d40e708d6b2L,
  18268. 0x72571fa14daeb3f3L },
  18269. { 0x85b1732ff22dfd98L,0x87ab01a70087108dL,0xaaaafea85988207aL,
  18270. 0xccc832f869f00755L } },
  18271. /* 3 << 154 */
  18272. { { 0x964d950e36ff3bf0L,0x8ad20f6ff0b34638L,0x4d9177b3b5d7585fL,
  18273. 0xcf839760ef3f019fL },
  18274. { 0x582fc5b38288c545L,0x2f8e4e9b13116bd1L,0xf91e1b2f332120efL,
  18275. 0xcf5687242a17dd23L } },
  18276. /* 4 << 154 */
  18277. { { 0x488f1185ca8d9d1aL,0xadf2c77dd987ded2L,0x5f3039f060c46124L,
  18278. 0xe5d70b7571e095f4L },
  18279. { 0x82d586506260e70fL,0x39d75ea7f750d105L,0x8cf3d0b175bac364L,
  18280. 0xf3a7564d21d01329L } },
  18281. /* 5 << 154 */
  18282. { { 0x182f04cd2f52d2a7L,0x4fde149ae2df565aL,0xb80c5eeca79fb2f7L,
  18283. 0xab491d7b22ddc897L },
  18284. { 0x99d76c18c6312c7fL,0xca0d5f3d6aa41a57L,0x71207325d15363a0L,
  18285. 0xe82aa265beb252c2L } },
  18286. /* 6 << 154 */
  18287. { { 0x94ab4700ec3128c2L,0x6c76d8628e383f49L,0xdc36b150c03024ebL,
  18288. 0xfb43947753daac69L },
  18289. { 0xfc68764a8dc79623L,0x5b86995db440fbb2L,0xd66879bfccc5ee0dL,
  18290. 0x0522894295aa8bd3L } },
  18291. /* 7 << 154 */
  18292. { { 0xb51a40a51e6a75c1L,0x24327c760ea7d817L,0x0663018207774597L,
  18293. 0xd6fdbec397fa7164L },
  18294. { 0x20c99dfb13c90f48L,0xd6ac5273686ef263L,0xc6a50bdcfef64eebL,
  18295. 0xcd87b28186fdfc32L } },
  18296. /* 8 << 154 */
  18297. { { 0xb24aa43e3fcd3efcL,0xdd26c034b8088e9aL,0xa5ef4dc9bd3d46eaL,
  18298. 0xa2f99d588a4c6a6fL },
  18299. { 0xddabd3552f1da46cL,0x72c3f8ce1afacdd1L,0xd90c4eee92d40578L,
  18300. 0xd28bb41fca623b94L } },
  18301. /* 9 << 154 */
  18302. { { 0x50fc0711745edc11L,0x9dd9ad7d3dc87558L,0xce6931fbb49d1e64L,
  18303. 0x6c77a0a2c98bd0f9L },
  18304. { 0x62b9a6296baf7cb1L,0xcf065f91ccf72d22L,0x7203cce979639071L,
  18305. 0x09ae4885f9cb732fL } },
  18306. /* 10 << 154 */
  18307. { { 0x5e7c3becee8314f3L,0x1c068aeddbea298fL,0x08d381f17c80acecL,
  18308. 0x03b56be8e330495bL },
  18309. { 0xaeffb8f29222882dL,0x95ff38f6c4af8bf7L,0x50e32d351fc57d8cL,
  18310. 0x6635be5217b444f0L } },
  18311. /* 11 << 154 */
  18312. { { 0x04d15276a5177900L,0x4e1dbb47f6858752L,0x5b475622c615796cL,
  18313. 0xa6fa0387691867bfL },
  18314. { 0xed7f5d562844c6d0L,0xc633cf9b03a2477dL,0xf6be5c402d3721d6L,
  18315. 0xaf312eb7e9fd68e6L } },
  18316. /* 12 << 154 */
  18317. { { 0x242792d2e7417ce1L,0xff42bc71970ee7f5L,0x1ff4dc6d5c67a41eL,
  18318. 0x77709b7b20882a58L },
  18319. { 0x3554731dbe217f2cL,0x2af2a8cd5bb72177L,0x58eee769591dd059L,
  18320. 0xbb2930c94bba6477L } },
  18321. /* 13 << 154 */
  18322. { { 0x863ee0477d930cfcL,0x4c262ad1396fd1f4L,0xf4765bc8039af7e1L,
  18323. 0x2519834b5ba104f6L },
  18324. { 0x7cd61b4cd105f961L,0xa5415da5d63bca54L,0x778280a088a1f17cL,
  18325. 0xc49689492329512cL } },
  18326. /* 14 << 154 */
  18327. { { 0x174a9126cecdaa7aL,0xfc8c7e0e0b13247bL,0x29c110d23484c1c4L,
  18328. 0xf8eb8757831dfc3bL },
  18329. { 0x022f0212c0067452L,0x3f6f69ee7b9b926cL,0x09032da0ef42daf4L,
  18330. 0x79f00ade83f80de4L } },
  18331. /* 15 << 154 */
  18332. { { 0x6210db7181236c97L,0x74f7685b3ee0781fL,0x4df7da7ba3e41372L,
  18333. 0x2aae38b1b1a1553eL },
  18334. { 0x1688e222f6dd9d1bL,0x576954485b8b6487L,0x478d21274b2edeaaL,
  18335. 0xb2818fa51e85956aL } },
  18336. /* 16 << 154 */
  18337. { { 0x1e6adddaf176f2c0L,0x01ca4604e2572658L,0x0a404ded85342ffbL,
  18338. 0x8cf60f96441838d6L },
  18339. { 0x9bbc691cc9071c4aL,0xfd58874434442803L,0x97101c85809c0d81L,
  18340. 0xa7fb754c8c456f7fL } },
  18341. /* 17 << 154 */
  18342. { { 0xc95f3c5cd51805e1L,0xab4ccd39b299dca8L,0x3e03d20b47eaf500L,
  18343. 0xfa3165c1d7b80893L },
  18344. { 0x005e8b54e160e552L,0xdc4972ba9019d11fL,0x21a6972e0c9a4a7aL,
  18345. 0xa52c258f37840fd7L } },
  18346. /* 18 << 154 */
  18347. { { 0xf8559ff4c1e99d81L,0x08e1a7d6a3c617c0L,0xb398fd43248c6ba7L,
  18348. 0x6ffedd91d1283794L },
  18349. { 0x8a6a59d2d629d208L,0xa9d141d53490530eL,0x42f6fc1838505989L,
  18350. 0x09bf250d479d94eeL } },
  18351. /* 19 << 154 */
  18352. { { 0x223ad3b1b3822790L,0x6c5926c093b8971cL,0x609efc7e75f7fa62L,
  18353. 0x45d66a6d1ec2d989L },
  18354. { 0x4422d663987d2792L,0x4a73caad3eb31d2bL,0xf06c2ac1a32cb9e6L,
  18355. 0xd9445c5f91aeba84L } },
  18356. /* 20 << 154 */
  18357. { { 0x6af7a1d5af71013fL,0xe68216e50bedc946L,0xf4cba30bd27370a0L,
  18358. 0x7981afbf870421ccL },
  18359. { 0x02496a679449f0e1L,0x86cfc4be0a47edaeL,0x3073c936b1feca22L,
  18360. 0xf569461203f8f8fbL } },
  18361. /* 21 << 154 */
  18362. { { 0xd063b723901515eaL,0x4c6c77a5749cf038L,0x6361e360ab9e5059L,
  18363. 0x596cf171a76a37c0L },
  18364. { 0x800f53fa6530ae7aL,0x0f5e631e0792a7a6L,0x5cc29c24efdb81c9L,
  18365. 0xa269e8683f9c40baL } },
  18366. /* 22 << 154 */
  18367. { { 0xec14f9e12cb7191eL,0x78ea1bd8e5b08ea6L,0x3c65aa9b46332bb9L,
  18368. 0x84cc22b3bf80ce25L },
  18369. { 0x0098e9e9d49d5bf1L,0xcd4ec1c619087da4L,0x3c9d07c5aef6e357L,
  18370. 0x839a02689f8f64b8L } },
  18371. /* 23 << 154 */
  18372. { { 0xc5e9eb62c6d8607fL,0x759689f56aa995e4L,0x70464669bbb48317L,
  18373. 0x921474bfe402417dL },
  18374. { 0xcabe135b2a354c8cL,0xd51e52d2812fa4b5L,0xec74109653311fe8L,
  18375. 0x4f774535b864514bL } },
  18376. /* 24 << 154 */
  18377. { { 0xbcadd6715bde48f8L,0xc97038732189bc7dL,0x5d45299ec709ee8aL,
  18378. 0xd1287ee2845aaff8L },
  18379. { 0x7d1f8874db1dbf1fL,0xea46588b990c88d6L,0x60ba649a84368313L,
  18380. 0xd5fdcbce60d543aeL } },
  18381. /* 25 << 154 */
  18382. { { 0x90b46d43810d5ab0L,0x6739d8f904d7e5ccL,0x021c1a580d337c33L,
  18383. 0x00a6116268e67c40L },
  18384. { 0x95ef413b379f0a1fL,0xfe126605e9e2ab95L,0x67578b852f5f199cL,
  18385. 0xf5c003292cb84913L } },
  18386. /* 26 << 154 */
  18387. { { 0xf795643037577dd8L,0x83b82af429c5fe88L,0x9c1bea26cdbdc132L,
  18388. 0x589fa0869c04339eL },
  18389. { 0x033e9538b13799dfL,0x85fa8b21d295d034L,0xdf17f73fbd9ddccaL,
  18390. 0xf32bd122ddb66334L } },
  18391. /* 27 << 154 */
  18392. { { 0x55ef88a7858b044cL,0x1f0d69c25aa9e397L,0x55fd9cc340d85559L,
  18393. 0xc774df727785ddb2L },
  18394. { 0x5dcce9f6d3bd2e1cL,0xeb30da20a85dfed0L,0x5ed7f5bbd3ed09c4L,
  18395. 0x7d42a35c82a9c1bdL } },
  18396. /* 28 << 154 */
  18397. { { 0xcf3de9959890272dL,0x75f3432a3e713a10L,0x5e13479fe28227b8L,
  18398. 0xb8561ea9fefacdc8L },
  18399. { 0xa6a297a08332aafdL,0x9b0d8bb573809b62L,0xd2fa1cfd0c63036fL,
  18400. 0x7a16eb55bd64bda8L } },
  18401. /* 29 << 154 */
  18402. { { 0x3f5cf5f678e62ddcL,0x2267c45407fd752bL,0x5e361b6b5e437bbeL,
  18403. 0x95c595018354e075L },
  18404. { 0xec725f85f2b254d9L,0x844b617d2cb52b4eL,0xed8554f5cf425fb5L,
  18405. 0xab67703e2af9f312L } },
  18406. /* 30 << 154 */
  18407. { { 0x4cc34ec13cf48283L,0xb09daa259c8a705eL,0xd1e9d0d05b7d4f84L,
  18408. 0x4df6ef64db38929dL },
  18409. { 0xe16b0763aa21ba46L,0xc6b1d178a293f8fbL,0x0ff5b602d520aabfL,
  18410. 0x94d671bdc339397aL } },
  18411. /* 31 << 154 */
  18412. { { 0x7c7d98cf4f5792faL,0x7c5e0d6711215261L,0x9b19a631a7c5a6d4L,
  18413. 0xc8511a627a45274dL },
  18414. { 0x0c16621ca5a60d99L,0xf7fbab88cf5e48cbL,0xab1e6ca2f7ddee08L,
  18415. 0x83bd08cee7867f3cL } },
  18416. /* 32 << 154 */
  18417. { { 0xf7e48e8a2ac13e27L,0x4494f6df4eb1a9f5L,0xedbf84eb981f0a62L,
  18418. 0x49badc32536438f0L },
  18419. { 0x50bea541004f7571L,0xbac67d10df1c94eeL,0x253d73a1b727bc31L,
  18420. 0xb3d01cf230686e28L } },
  18421. /* 33 << 154 */
  18422. { { 0x51b77b1b55fd0b8bL,0xa099d183feec3173L,0x202b1fb7670e72b7L,
  18423. 0xadc88b33a8e1635fL },
  18424. { 0x34e8216af989d905L,0xc2e68d2029b58d01L,0x11f81c926fe55a93L,
  18425. 0x15f1462a8f296f40L } },
  18426. /* 34 << 154 */
  18427. { { 0x1915d375ea3d62f2L,0xa17765a301c8977dL,0x7559710ae47b26f6L,
  18428. 0xe0bd29c8535077a5L },
  18429. { 0x615f976d08d84858L,0x370dfe8569ced5c1L,0xbbc7503ca734fa56L,
  18430. 0xfbb9f1ec91ac4574L } },
  18431. /* 35 << 154 */
  18432. { { 0x95d7ec53060dd7efL,0xeef2dacd6e657979L,0x54511af3e2a08235L,
  18433. 0x1e324aa41f4aea3dL },
  18434. { 0x550e7e71e6e67671L,0xbccd5190bf52faf7L,0xf880d316223cc62aL,
  18435. 0x0d402c7e2b32eb5dL } },
  18436. /* 36 << 154 */
  18437. { { 0xa40bc039306a5a3bL,0x4e0a41fd96783a1bL,0xa1e8d39a0253cdd4L,
  18438. 0x6480be26c7388638L },
  18439. { 0xee365e1d2285f382L,0x188d8d8fec0b5c36L,0x34ef1a481f0f4d82L,
  18440. 0x1a8f43e1a487d29aL } },
  18441. /* 37 << 154 */
  18442. { { 0x8168226d77aefb3aL,0xf69a751e1e72c253L,0x8e04359ae9594df1L,
  18443. 0x475ffd7dd14c0467L },
  18444. { 0xb5a2c2b13844e95cL,0x85caf647dd12ef94L,0x1ecd2a9ff1063d00L,
  18445. 0x1dd2e22923843311L } },
  18446. /* 38 << 154 */
  18447. { { 0x38f0e09d73d17244L,0x3ede77468fc653f1L,0xae4459f5dc20e21cL,
  18448. 0x00db2ffa6a8599eaL },
  18449. { 0x11682c3930cfd905L,0x4934d074a5c112a6L,0xbdf063c5568bfe95L,
  18450. 0x779a440a016c441aL } },
  18451. /* 39 << 154 */
  18452. { { 0x0c23f21897d6fbdcL,0xd3a5cd87e0776aacL,0xcee37f72d712e8dbL,
  18453. 0xfb28c70d26f74e8dL },
  18454. { 0xffe0c728b61301a0L,0xa6282168d3724354L,0x7ff4cb00768ffedcL,
  18455. 0xc51b308803b02de9L } },
  18456. /* 40 << 154 */
  18457. { { 0xa5a8147c3902dda5L,0x35d2f706fe6973b4L,0x5ac2efcfc257457eL,
  18458. 0x933f48d48700611bL },
  18459. { 0xc365af884912beb2L,0x7f5a4de6162edf94L,0xc646ba7c0c32f34bL,
  18460. 0x632c6af3b2091074L } },
  18461. /* 41 << 154 */
  18462. { { 0x58d4f2e3753e43a9L,0x70e1d21724d4e23fL,0xb24bf729afede6a6L,
  18463. 0x7f4a94d8710c8b60L },
  18464. { 0xaad90a968d4faa6aL,0xd9ed0b32b066b690L,0x52fcd37b78b6dbfdL,
  18465. 0x0b64615e8bd2b431L } },
  18466. /* 42 << 154 */
  18467. { { 0x228e2048cfb9fad5L,0xbeaa386d240b76bdL,0x2d6681c890dad7bcL,
  18468. 0x3e553fc306d38f5eL },
  18469. { 0xf27cdb9b9d5f9750L,0x3e85c52ad28c5b0eL,0x190795af5247c39bL,
  18470. 0x547831ebbddd6828L } },
  18471. /* 43 << 154 */
  18472. { { 0xf327a2274a82f424L,0x36919c787e47f89dL,0xe478391943c7392cL,
  18473. 0xf101b9aa2316fefeL },
  18474. { 0xbcdc9e9c1c5009d2L,0xfb55ea139cd18345L,0xf5b5e231a3ce77c7L,
  18475. 0xde6b4527d2f2cb3dL } },
  18476. /* 44 << 154 */
  18477. { { 0x10f6a3339bb26f5fL,0x1e85db8e044d85b6L,0xc3697a0894197e54L,
  18478. 0x65e18cc0a7cb4ea8L },
  18479. { 0xa38c4f50a471fe6eL,0xf031747a2f13439cL,0x53c4a6bac007318bL,
  18480. 0xa8da3ee51deccb3dL } },
  18481. /* 45 << 154 */
  18482. { { 0x0555b31c558216b1L,0x90c7810c2f79e6c2L,0x9b669f4dfe8eed3cL,
  18483. 0x70398ec8e0fac126L },
  18484. { 0xa96a449ef701b235L,0x0ceecdb3eb94f395L,0x285fc368d0cb7431L,
  18485. 0x0d37bb5216a18c64L } },
  18486. /* 46 << 154 */
  18487. { { 0x05110d38b880d2ddL,0xa60f177b65930d57L,0x7da34a67f36235f5L,
  18488. 0x47f5e17c183816b9L },
  18489. { 0xc7664b57db394af4L,0x39ba215d7036f789L,0x46d2ca0e2f27b472L,
  18490. 0xc42647eef73a84b7L } },
  18491. /* 47 << 154 */
  18492. { { 0x44bc754564488f1dL,0xaa922708f4cf85d5L,0x721a01d553e4df63L,
  18493. 0x649c0c515db46cedL },
  18494. { 0x6bf0d64e3cffcb6cL,0xe3bf93fe50f71d96L,0x75044558bcc194a0L,
  18495. 0x16ae33726afdc554L } },
  18496. /* 48 << 154 */
  18497. { { 0xbfc01adf5ca48f3fL,0x64352f06e22a9b84L,0xcee54da1c1099e4aL,
  18498. 0xbbda54e8fa1b89c0L },
  18499. { 0x166a3df56f6e55fbL,0x1ca44a2420176f88L,0x936afd88dfb7b5ffL,
  18500. 0xe34c24378611d4a0L } },
  18501. /* 49 << 154 */
  18502. { { 0x7effbb7586142103L,0x6704ba1b1f34fc4dL,0x7c2a468f10c1b122L,
  18503. 0x36b3a6108c6aace9L },
  18504. { 0xabfcc0a775a0d050L,0x066f91973ce33e32L,0xce905ef429fe09beL,
  18505. 0x89ee25baa8376351L } },
  18506. /* 50 << 154 */
  18507. { { 0x2a3ede22fd29dc76L,0x7fd32ed936f17260L,0x0cadcf68284b4126L,
  18508. 0x63422f08a7951fc8L },
  18509. { 0x562b24f40807e199L,0xfe9ce5d122ad4490L,0xc2f51b100db2b1b4L,
  18510. 0xeb3613ffe4541d0dL } },
  18511. /* 51 << 154 */
  18512. { { 0xbd2c4a052680813bL,0x527aa55d561b08d6L,0xa9f8a40ea7205558L,
  18513. 0xe3eea56f243d0becL },
  18514. { 0x7b853817a0ff58b3L,0xb67d3f651a69e627L,0x0b76bbb9a869b5d6L,
  18515. 0xa3afeb82546723edL } },
  18516. /* 52 << 154 */
  18517. { { 0x5f24416d3e554892L,0x8413b53d430e2a45L,0x99c56aee9032a2a0L,
  18518. 0x09432bf6eec367b1L },
  18519. { 0x552850c6daf0ecc1L,0x49ebce555bc92048L,0xdfb66ba654811307L,
  18520. 0x1b84f7976f298597L } },
  18521. /* 53 << 154 */
  18522. { { 0x795904818d1d7a0dL,0xd9fabe033a6fa556L,0xa40f9c59ba9e5d35L,
  18523. 0xcb1771c1f6247577L },
  18524. { 0x542a47cae9a6312bL,0xa34b3560552dd8c5L,0xfdf94de00d794716L,
  18525. 0xd46124a99c623094L } },
  18526. /* 54 << 154 */
  18527. { { 0x56b7435d68afe8b4L,0x27f205406c0d8ea1L,0x12b77e1473186898L,
  18528. 0xdbc3dd467479490fL },
  18529. { 0x951a9842c03b0c05L,0x8b1b3bb37921bc96L,0xa573b3462b202e0aL,
  18530. 0x77e4665d47254d56L } },
  18531. /* 55 << 154 */
  18532. { { 0x08b70dfcd23e3984L,0xab86e8bcebd14236L,0xaa3e07f857114ba7L,
  18533. 0x5ac71689ab0ef4f2L },
  18534. { 0x88fca3840139d9afL,0x72733f8876644af0L,0xf122f72a65d74f4aL,
  18535. 0x13931577a5626c7aL } },
  18536. /* 56 << 154 */
  18537. { { 0xd5b5d9eb70f8d5a4L,0x375adde7d7bbb228L,0x31e88b860c1c0b32L,
  18538. 0xd1f568c4173edbaaL },
  18539. { 0x1592fc835459df02L,0x2beac0fb0fcd9a7eL,0xb0a6fdb81b473b0aL,
  18540. 0xe3224c6f0fe8fc48L } },
  18541. /* 57 << 154 */
  18542. { { 0x680bd00ee87edf5bL,0x30385f0220e77cf5L,0xe9ab98c04d42d1b2L,
  18543. 0x72d191d2d3816d77L },
  18544. { 0x1564daca0917d9e5L,0x394eab591f8fed7fL,0xa209aa8d7fbb3896L,
  18545. 0x5564f3b9be6ac98eL } },
  18546. /* 58 << 154 */
  18547. { { 0xead21d05d73654efL,0x68d1a9c413d78d74L,0x61e017086d4973a0L,
  18548. 0x83da350046e6d32aL },
  18549. { 0x6a3dfca468ae0118L,0xa1b9a4c9d02da069L,0x0b2ff9c7ebab8302L,
  18550. 0x98af07c3944ba436L } },
  18551. /* 59 << 154 */
  18552. { { 0x85997326995f0f9fL,0x467fade071b58bc6L,0x47e4495abd625a2bL,
  18553. 0xfdd2d01d33c3b8cdL },
  18554. { 0x2c38ae28c693f9faL,0x48622329348f7999L,0x97bf738e2161f583L,
  18555. 0x15ee2fa7565e8cc9L } },
  18556. /* 60 << 154 */
  18557. { { 0xa1a5c8455777e189L,0xcc10bee0456f2829L,0x8ad95c56da762bd5L,
  18558. 0x152e2214e9d91da8L },
  18559. { 0x975b0e727cb23c74L,0xfd5d7670a90c66dfL,0xb5b5b8ad225ffc53L,
  18560. 0xab6dff73faded2aeL } },
  18561. /* 61 << 154 */
  18562. { { 0xebd567816f4cbe9dL,0x0ed8b2496a574bd7L,0x41c246fe81a881faL,
  18563. 0x91564805c3db9c70L },
  18564. { 0xd7c12b085b862809L,0x1facd1f155858d7bL,0x7693747caf09e92aL,
  18565. 0x3b69dcba189a425fL } },
  18566. /* 62 << 154 */
  18567. { { 0x0be28e9f967365efL,0x57300eb2e801f5c9L,0x93b8ac6ad583352fL,
  18568. 0xa2cf1f89cd05b2b7L },
  18569. { 0x7c0c9b744dcc40ccL,0xfee38c45ada523fbL,0xb49a4dec1099cc4dL,
  18570. 0x325c377f69f069c6L } },
  18571. /* 63 << 154 */
  18572. { { 0xe12458ce476cc9ffL,0x580e0b6cc6d4cb63L,0xd561c8b79072289bL,
  18573. 0x0377f264a619e6daL },
  18574. { 0x2668536288e591a5L,0xa453a7bd7523ca2bL,0x8a9536d2c1df4533L,
  18575. 0xc8e50f2fbe972f79L } },
  18576. /* 64 << 154 */
  18577. { { 0xd433e50f6d3549cfL,0x6f33696ffacd665eL,0x695bfdacce11fcb4L,
  18578. 0x810ee252af7c9860L },
  18579. { 0x65450fe17159bb2cL,0xf7dfbebe758b357bL,0x2b057e74d69fea72L,
  18580. 0xd485717a92731745L } },
  18581. /* 0 << 161 */
  18582. { { 0x00, 0x00, 0x00, 0x00 },
  18583. { 0x00, 0x00, 0x00, 0x00 } },
  18584. /* 1 << 161 */
  18585. { { 0x896c42e8ee36860cL,0xdaf04dfd4113c22dL,0x1adbb7b744104213L,
  18586. 0xe5fd5fa11fd394eaL },
  18587. { 0x68235d941a4e0551L,0x6772cfbe18d10151L,0x276071e309984523L,
  18588. 0xe4e879de5a56ba98L } },
  18589. /* 2 << 161 */
  18590. { { 0xaaafafb0285b9491L,0x01a0be881e4c705eL,0xff1d4f5d2ad9caabL,
  18591. 0x6e349a4ac37a233fL },
  18592. { 0xcf1c12464a1c6a16L,0xd99e6b6629383260L,0xea3d43665f6d5471L,
  18593. 0x36974d04ff8cc89bL } },
  18594. /* 3 << 161 */
  18595. { { 0xc26c49a1cfe89d80L,0xb42c026dda9c8371L,0xca6c013adad066d2L,
  18596. 0xfb8f722856a4f3eeL },
  18597. { 0x08b579ecd850935bL,0x34c1a74cd631e1b3L,0xcb5fe596ac198534L,
  18598. 0x39ff21f6e1f24f25L } },
  18599. /* 4 << 161 */
  18600. { { 0x27f29e148f929057L,0x7a64ae06c0c853dfL,0x256cd18358e9c5ceL,
  18601. 0x9d9cce82ded092a5L },
  18602. { 0xcc6e59796e93b7c7L,0xe1e4709231bb9e27L,0xb70b3083aa9e29a0L,
  18603. 0xbf181a753785e644L } },
  18604. /* 5 << 161 */
  18605. { { 0xf53f2c658ead09f7L,0x1335e1d59780d14dL,0x69cc20e0cd1b66bcL,
  18606. 0x9b670a37bbe0bfc8L },
  18607. { 0xce53dc8128efbeedL,0x0c74e77c8326a6e5L,0x3604e0d2b88e9a63L,
  18608. 0xbab38fca13dc2248L } },
  18609. /* 6 << 161 */
  18610. { { 0x8ed6e8c85c0a3f1eL,0xbcad24927c87c37fL,0xfdfb62bb9ee3b78dL,
  18611. 0xeba8e477cbceba46L },
  18612. { 0x37d38cb0eeaede4bL,0x0bc498e87976deb6L,0xb2944c046b6147fbL,
  18613. 0x8b123f35f71f9609L } },
  18614. /* 7 << 161 */
  18615. { { 0xa155dcc7de79dc24L,0xf1168a32558f69cdL,0xbac215950d1850dfL,
  18616. 0x15c8295bb204c848L },
  18617. { 0xf661aa367d8184ffL,0xc396228e30447bdbL,0x11cd5143bde4a59eL,
  18618. 0xe3a26e3b6beab5e6L } },
  18619. /* 8 << 161 */
  18620. { { 0xd3b3a13f1402b9d0L,0x573441c32c7bc863L,0x4b301ec4578c3e6eL,
  18621. 0xc26fc9c40adaf57eL },
  18622. { 0x96e71bfd7493cea3L,0xd05d4b3f1af81456L,0xdaca2a8a6a8c608fL,
  18623. 0x53ef07f60725b276L } },
  18624. /* 9 << 161 */
  18625. { { 0x07a5fbd27824fc56L,0x3467521813289077L,0x5bf69fd5e0c48349L,
  18626. 0xa613ddd3b6aa7875L },
  18627. { 0x7f78c19c5450d866L,0x46f4409c8f84a481L,0x9f1d192890fce239L,
  18628. 0x016c4168b2ce44b9L } },
  18629. /* 10 << 161 */
  18630. { { 0xbae023f0c7435978L,0xb152c88820e30e19L,0x9c241645e3fa6fafL,
  18631. 0x735d95c184823e60L },
  18632. { 0x0319757303955317L,0x0b4b02a9f03b4995L,0x076bf55970274600L,
  18633. 0x32c5cc53aaf57508L } },
  18634. /* 11 << 161 */
  18635. { { 0xe8af6d1f60624129L,0xb7bc5d649a5e2b5eL,0x3814b0485f082d72L,
  18636. 0x76f267f2ce19677aL },
  18637. { 0x626c630fb36eed93L,0x55230cd73bf56803L,0x78837949ce2736a0L,
  18638. 0x0d792d60aa6c55f1L } },
  18639. /* 12 << 161 */
  18640. { { 0x0318dbfdd5c7c5d2L,0xb38f8da7072b342dL,0x3569bddc7b8de38aL,
  18641. 0xf25b5887a1c94842L },
  18642. { 0xb2d5b2842946ad60L,0x854f29ade9d1707eL,0xaa5159dc2c6a4509L,
  18643. 0x899f94c057189837L } },
  18644. /* 13 << 161 */
  18645. { { 0xcf6adc51f4a55b03L,0x261762de35e3b2d5L,0x4cc4301204827b51L,
  18646. 0xcd22a113c6021442L },
  18647. { 0xce2fd61a247c9569L,0x59a50973d152becaL,0x6c835a1163a716d4L,
  18648. 0xc26455ed187dedcfL } },
  18649. /* 14 << 161 */
  18650. { { 0x27f536e049ce89e7L,0x18908539cc890cb5L,0x308909abd83c2aa1L,
  18651. 0xecd3142b1ab73bd3L },
  18652. { 0x6a85bf59b3f5ab84L,0x3c320a68f2bea4c6L,0xad8dc5386da4541fL,
  18653. 0xeaf34eb0b7c41186L } },
  18654. /* 15 << 161 */
  18655. { { 0x1c780129977c97c4L,0x5ff9beebc57eb9faL,0xa24d0524c822c478L,
  18656. 0xfd8eec2a461cd415L },
  18657. { 0xfbde194ef027458cL,0xb4ff53191d1be115L,0x63f874d94866d6f4L,
  18658. 0x35c75015b21ad0c9L } },
  18659. /* 16 << 161 */
  18660. { { 0xa6b5c9d646ac49d2L,0x42c77c0b83137aa9L,0x24d000fc68225a38L,
  18661. 0x0f63cfc82fe1e907L },
  18662. { 0x22d1b01bc6441f95L,0x7d38f719ec8e448fL,0x9b33fa5f787fb1baL,
  18663. 0x94dcfda1190158dfL } },
  18664. /* 17 << 161 */
  18665. { { 0xc47cb3395f6d4a09L,0x6b4f355cee52b826L,0x3d100f5df51b930aL,
  18666. 0xf4512fac9f668f69L },
  18667. { 0x546781d5206c4c74L,0xd021d4d4cb4d2e48L,0x494a54c2ca085c2dL,
  18668. 0xf1dbaca4520850a8L } },
  18669. /* 18 << 161 */
  18670. { { 0x63c79326490a1acaL,0xcb64dd9c41526b02L,0xbb772591a2979258L,
  18671. 0x3f58297048d97846L },
  18672. { 0xd66b70d17c213ba7L,0xc28febb5e8a0ced4L,0x6b911831c10338c1L,
  18673. 0x0d54e389bf0126f3L } },
  18674. /* 19 << 161 */
  18675. { { 0x7048d4604af206eeL,0x786c88f677e97cb9L,0xd4375ae1ac64802eL,
  18676. 0x469bcfe1d53ec11cL },
  18677. { 0xfc9b340d47062230L,0xe743bb57c5b4a3acL,0xfe00b4aa59ef45acL,
  18678. 0x29a4ef2359edf188L } },
  18679. /* 20 << 161 */
  18680. { { 0x40242efeb483689bL,0x2575d3f6513ac262L,0xf30037c80ca6db72L,
  18681. 0xc9fcce8298864be2L },
  18682. { 0x84a112ff0149362dL,0x95e575821c4ae971L,0x1fa4b1a8945cf86cL,
  18683. 0x4525a7340b024a2fL } },
  18684. /* 21 << 161 */
  18685. { { 0xe76c8b628f338360L,0x483ff59328edf32bL,0x67e8e90a298b1aecL,
  18686. 0x9caab338736d9a21L },
  18687. { 0x5c09d2fd66892709L,0x2496b4dcb55a1d41L,0x93f5fb1ae24a4394L,
  18688. 0x08c750496fa8f6c1L } },
  18689. /* 22 << 161 */
  18690. { { 0xcaead1c2c905d85fL,0xe9d7f7900733ae57L,0x24c9a65cf07cdd94L,
  18691. 0x7389359ca4b55931L },
  18692. { 0xf58709b7367e45f7L,0x1f203067cb7e7adcL,0x82444bffc7b72818L,
  18693. 0x07303b35baac8033L } },
  18694. /* 23 << 161 */
  18695. { { 0x1e1ee4e4d13b7ea1L,0xe6489b24e0e74180L,0xa5f2c6107e70ef70L,
  18696. 0xa1655412bdd10894L },
  18697. { 0x555ebefb7af4194eL,0x533c1c3c8e89bd9cL,0x735b9b5789895856L,
  18698. 0x15fb3cd2567f5c15L } },
  18699. /* 24 << 161 */
  18700. { { 0x057fed45526f09fdL,0xe8a4f10c8128240aL,0x9332efc4ff2bfd8dL,
  18701. 0x214e77a0bd35aa31L },
  18702. { 0x32896d7314faa40eL,0x767867ec01e5f186L,0xc9adf8f117a1813eL,
  18703. 0xcb6cda7854741795L } },
  18704. /* 25 << 161 */
  18705. { { 0xb7521b6d349d51aaL,0xf56b5a9ee3c7b8e9L,0xc6f1e5c932a096dfL,
  18706. 0x083667c4a3635024L },
  18707. { 0x365ea13518087f2fL,0xf1b8eaacd136e45dL,0xc8a0e48473aec989L,
  18708. 0xd75a324b142c9259L } },
  18709. /* 26 << 161 */
  18710. { { 0xb7b4d00101dae185L,0x45434e0b9b7a94bcL,0xf54339affbd8cb0bL,
  18711. 0xdcc4569ee98ef49eL },
  18712. { 0x7789318a09a51299L,0x81b4d206b2b025d8L,0xf64aa418fae85792L,
  18713. 0x3e50258facd7baf7L } },
  18714. /* 27 << 161 */
  18715. { { 0xdce84cdb2996864bL,0xa2e670891f485fa4L,0xb28b2bb6534c6a5aL,
  18716. 0x31a7ec6bc94b9d39L },
  18717. { 0x1d217766d6bc20daL,0x4acdb5ec86761190L,0x6872632873701063L,
  18718. 0x4d24ee7c2128c29bL } },
  18719. /* 28 << 161 */
  18720. { { 0xc072ebd3a19fd868L,0x612e481cdb8ddd3bL,0xb4e1d7541a64d852L,
  18721. 0x00ef95acc4c6c4abL },
  18722. { 0x1536d2edaa0a6c46L,0x6129408643774790L,0x54af25e8343fda10L,
  18723. 0x9ff9d98dfd25d6f2L } },
  18724. /* 29 << 161 */
  18725. { { 0x0746af7c468b8835L,0x977a31cb730ecea7L,0xa5096b80c2cf4a81L,
  18726. 0xaa9868336458c37aL },
  18727. { 0x6af29bf3a6bd9d34L,0x6a62fe9b33c5d854L,0x50e6c304b7133b5eL,
  18728. 0x04b601597d6e6848L } },
  18729. /* 30 << 161 */
  18730. { { 0x4cd296df5579bea4L,0x10e35ac85ceedaf1L,0x04c4c5fde3bcc5b1L,
  18731. 0x95f9ee8a89412cf9L },
  18732. { 0x2c9459ee82b6eb0fL,0x2e84576595c2aaddL,0x774a84aed327fcfeL,
  18733. 0xd8c937220368d476L } },
  18734. /* 31 << 161 */
  18735. { { 0x0dbd5748f83e8a3bL,0xa579aa968d2495f3L,0x535996a0ae496e9bL,
  18736. 0x07afbfe9b7f9bcc2L },
  18737. { 0x3ac1dc6d5b7bd293L,0x3b592cff7022323dL,0xba0deb989c0a3e76L,
  18738. 0x18e78e9f4b197acbL } },
  18739. /* 32 << 161 */
  18740. { { 0x211cde10296c36efL,0x7ee8967282c4da77L,0xb617d270a57836daL,
  18741. 0xf0cd9c319cb7560bL },
  18742. { 0x01fdcbf7e455fe90L,0x3fb53cbb7e7334f3L,0x781e2ea44e7de4ecL,
  18743. 0x8adab3ad0b384fd0L } },
  18744. /* 33 << 161 */
  18745. { { 0x129eee2f53d64829L,0x7a471e17a261492bL,0xe4f9adb9e4cb4a2cL,
  18746. 0x3d359f6f97ba2c2dL },
  18747. { 0x346c67860aacd697L,0x92b444c375c2f8a8L,0xc79fa117d85df44eL,
  18748. 0x56782372398ddf31L } },
  18749. /* 34 << 161 */
  18750. { { 0x60e690f2bbbab3b8L,0x4851f8ae8b04816bL,0xc72046ab9c92e4d2L,
  18751. 0x518c74a17cf3136bL },
  18752. { 0xff4eb50af9877d4cL,0x14578d90a919cabbL,0x8218f8c4ac5eb2b6L,
  18753. 0xa3ccc547542016e4L } },
  18754. /* 35 << 161 */
  18755. { { 0x025bf48e327f8349L,0xf3e97346f43cb641L,0xdc2bafdf500f1085L,
  18756. 0x571678762f063055L },
  18757. { 0x5bd914b9411925a6L,0x7c078d48a1123de5L,0xee6bf835182b165dL,
  18758. 0xb11b5e5bba519727L } },
  18759. /* 36 << 161 */
  18760. { { 0xe33ea76c1eea7b85L,0x2352b46192d4f85eL,0xf101d334afe115bbL,
  18761. 0xfabc1294889175a3L },
  18762. { 0x7f6bcdc05233f925L,0xe0a802dbe77fec55L,0xbdb47b758069b659L,
  18763. 0x1c5e12def98fbd74L } },
  18764. /* 37 << 161 */
  18765. { { 0x869c58c64b8457eeL,0xa5360f694f7ea9f7L,0xe576c09ff460b38fL,
  18766. 0x6b70d54822b7fb36L },
  18767. { 0x3fd237f13bfae315L,0x33797852cbdff369L,0x97df25f525b516f9L,
  18768. 0x46f388f2ba38ad2dL } },
  18769. /* 38 << 161 */
  18770. { { 0x656c465889d8ddbbL,0x8830b26e70f38ee8L,0x4320fd5cde1212b0L,
  18771. 0xc34f30cfe4a2edb2L },
  18772. { 0xabb131a356ab64b8L,0x7f77f0ccd99c5d26L,0x66856a37bf981d94L,
  18773. 0x19e76d09738bd76eL } },
  18774. /* 39 << 161 */
  18775. { { 0xe76c8ac396238f39L,0xc0a482bea830b366L,0xb7b8eaff0b4eb499L,
  18776. 0x8ecd83bc4bfb4865L },
  18777. { 0x971b2cb7a2f3776fL,0xb42176a4f4b88adfL,0xb9617df5be1fa446L,
  18778. 0x8b32d508cd031bd2L } },
  18779. /* 40 << 161 */
  18780. { { 0x1c6bd47d53b618c0L,0xc424f46c6a227923L,0x7303ffdedd92d964L,
  18781. 0xe971287871b5abf2L },
  18782. { 0x8f48a632f815561dL,0x85f48ff5d3c055d1L,0x222a14277525684fL,
  18783. 0xd0d841a067360cc3L } },
  18784. /* 41 << 161 */
  18785. { { 0x4245a9260b9267c6L,0xc78913f1cf07f863L,0xaa844c8e4d0d9e24L,
  18786. 0xa42ad5223d5f9017L },
  18787. { 0xbd371749a2c989d5L,0x928292dfe1f5e78eL,0x493b383e0a1ea6daL,
  18788. 0x5136fd8d13aee529L } },
  18789. /* 42 << 161 */
  18790. { { 0x860c44b1f2c34a99L,0x3b00aca4bf5855acL,0xabf6aaa0faaf37beL,
  18791. 0x65f436822a53ec08L },
  18792. { 0x1d9a5801a11b12e1L,0x78a7ab2ce20ed475L,0x0de1067e9a41e0d5L,
  18793. 0x30473f5f305023eaL } },
  18794. /* 43 << 161 */
  18795. { { 0xdd3ae09d169c7d97L,0x5cd5baa4cfaef9cdL,0x5cd7440b65a44803L,
  18796. 0xdc13966a47f364deL },
  18797. { 0x077b2be82b8357c1L,0x0cb1b4c5e9d57c2aL,0x7a4ceb3205ff363eL,
  18798. 0xf310fa4dca35a9efL } },
  18799. /* 44 << 161 */
  18800. { { 0xdbb7b352f97f68c6L,0x0c773b500b02cf58L,0xea2e48213c1f96d9L,
  18801. 0xffb357b0eee01815L },
  18802. { 0xb9c924cde0f28039L,0x0b36c95a46a3fbe4L,0x1faaaea45e46db6cL,
  18803. 0xcae575c31928aaffL } },
  18804. /* 45 << 161 */
  18805. { { 0x7f671302a70dab86L,0xfcbd12a971c58cfcL,0xcbef9acfbee0cb92L,
  18806. 0x573da0b9f8c1b583L },
  18807. { 0x4752fcfe0d41d550L,0xe7eec0e32155cffeL,0x0fc39fcb545ae248L,
  18808. 0x522cb8d18065f44eL } },
  18809. /* 46 << 161 */
  18810. { { 0x263c962a70cbb96cL,0xe034362abcd124a9L,0xf120db283c2ae58dL,
  18811. 0xb9a38d49fef6d507L },
  18812. { 0xb1fd2a821ff140fdL,0xbd162f3020aee7e0L,0x4e17a5d4cb251949L,
  18813. 0x2aebcb834f7e1c3dL } },
  18814. /* 47 << 161 */
  18815. { { 0x608eb25f937b0527L,0xf42e1e47eb7d9997L,0xeba699c4b8a53a29L,
  18816. 0x1f921c71e091b536L },
  18817. { 0xcce29e7b5b26bbd5L,0x7a8ef5ed3b61a680L,0xe5ef8043ba1f1c7eL,
  18818. 0x16ea821718158ddaL } },
  18819. /* 48 << 161 */
  18820. { { 0x01778a2b599ff0f9L,0x68a923d78104fc6bL,0x5bfa44dfda694ff3L,
  18821. 0x4f7199dbf7667f12L },
  18822. { 0xc06d8ff6e46f2a79L,0x08b5deade9f8131dL,0x02519a59abb4ce7cL,
  18823. 0xc4f710bcb42aec3eL } },
  18824. /* 49 << 161 */
  18825. { { 0x3d77b05778bde41aL,0x6474bf80b4186b5aL,0x048b3f6788c65741L,
  18826. 0xc64519de03c7c154L },
  18827. { 0xdf0738460edfcc4fL,0x319aa73748f1aa6bL,0x8b9f8a02ca909f77L,
  18828. 0x902581397580bfefL } },
  18829. /* 50 << 161 */
  18830. { { 0xd8bfd3cac0c22719L,0xc60209e4c9ca151eL,0x7a744ab5d9a1a69cL,
  18831. 0x6de5048b14937f8fL },
  18832. { 0x171938d8e115ac04L,0x7df709401c6b16d2L,0xa6aeb6637f8e94e7L,
  18833. 0xc130388e2a2cf094L } },
  18834. /* 51 << 161 */
  18835. { { 0x1850be8477f54e6eL,0x9f258a7265d60fe5L,0xff7ff0c06c9146d6L,
  18836. 0x039aaf90e63a830bL },
  18837. { 0x38f27a739460342fL,0x4703148c3f795f8aL,0x1bb5467b9681a97eL,
  18838. 0x00931ba5ecaeb594L } },
  18839. /* 52 << 161 */
  18840. { { 0xcdb6719d786f337cL,0xd9c01cd2e704397dL,0x0f4a3f20555c2fefL,
  18841. 0x004525097c0af223L },
  18842. { 0x54a5804784db8e76L,0x3bacf1aa93c8aa06L,0x11ca957cf7919422L,
  18843. 0x5064105378cdaa40L } },
  18844. /* 53 << 161 */
  18845. { { 0x7a3038749f7144aeL,0x170c963f43d4acfdL,0x5e14814958ddd3efL,
  18846. 0xa7bde5829e72dba8L },
  18847. { 0x0769da8b6fa68750L,0xfa64e532572e0249L,0xfcaadf9d2619ad31L,
  18848. 0x87882daaa7b349cdL } },
  18849. /* 54 << 161 */
  18850. { { 0x9f6eb7316c67a775L,0xcb10471aefc5d0b1L,0xb433750ce1b806b2L,
  18851. 0x19c5714d57b1ae7eL },
  18852. { 0xc0dc8b7bed03fd3fL,0xdd03344f31bc194eL,0xa66c52a78c6320b5L,
  18853. 0x8bc82ce3d0b6fd93L } },
  18854. /* 55 << 161 */
  18855. { { 0xf8e13501b35f1341L,0xe53156dd25a43e42L,0xd3adf27e4daeb85cL,
  18856. 0xb81d8379bbeddeb5L },
  18857. { 0x1b0b546e2e435867L,0x9020eb94eba5dd60L,0x37d911618210cb9dL,
  18858. 0x4c596b315c91f1cfL } },
  18859. /* 56 << 161 */
  18860. { { 0xb228a90f0e0b040dL,0xbaf02d8245ff897fL,0x2aac79e600fa6122L,
  18861. 0x248288178e36f557L },
  18862. { 0xb9521d31113ec356L,0x9e48861e15eff1f8L,0x2aa1d412e0d41715L,
  18863. 0x71f8620353f131b8L } },
  18864. /* 57 << 161 */
  18865. { { 0xf60da8da3fd19408L,0x4aa716dc278d9d99L,0x394531f7a8c51c90L,
  18866. 0xb560b0e8f59db51cL },
  18867. { 0xa28fc992fa34bdadL,0xf024fa149cd4f8bdL,0x5cf530f723a9d0d3L,
  18868. 0x615ca193e28c9b56L } },
  18869. /* 58 << 161 */
  18870. { { 0x6d2a483d6f73c51eL,0xa4cb2412ea0dc2ddL,0x50663c411eb917ffL,
  18871. 0x3d3a74cfeade299eL },
  18872. { 0x29b3990f4a7a9202L,0xa9bccf59a7b15c3dL,0x66a3ccdca5df9208L,
  18873. 0x48027c1443f2f929L } },
  18874. /* 59 << 161 */
  18875. { { 0xd385377c40b557f0L,0xe001c366cd684660L,0x1b18ed6be2183a27L,
  18876. 0x879738d863210329L },
  18877. { 0xa687c74bbda94882L,0xd1bbcc48a684b299L,0xaf6f1112863b3724L,
  18878. 0x6943d1b42c8ce9f8L } },
  18879. /* 60 << 161 */
  18880. { { 0xe044a3bb098cafb4L,0x27ed231060d48cafL,0x542b56753a31b84dL,
  18881. 0xcbf3dd50fcddbed7L },
  18882. { 0x25031f1641b1d830L,0xa7ec851dcb0c1e27L,0xac1c8fe0b5ae75dbL,
  18883. 0xb24c755708c52120L } },
  18884. /* 61 << 161 */
  18885. { { 0x57f811dc1d4636c3L,0xf8436526681a9939L,0x1f6bc6d99c81adb3L,
  18886. 0x840f8ac35b7d80d4L },
  18887. { 0x731a9811f4387f1aL,0x7c501cd3b5156880L,0xa5ca4a07dfe68867L,
  18888. 0xf123d8f05fcea120L } },
  18889. /* 62 << 161 */
  18890. { { 0x1fbb0e71d607039eL,0x2b70e215cd3a4546L,0x32d2f01d53324091L,
  18891. 0xb796ff08180ab19bL },
  18892. { 0x32d87a863c57c4aaL,0x2aed9cafb7c49a27L,0x9fb35eac31630d98L,
  18893. 0x338e8cdf5c3e20a3L } },
  18894. /* 63 << 161 */
  18895. { { 0x80f1618266cde8dbL,0x4e1599802d72fd36L,0xd7b8f13b9b6e5072L,
  18896. 0xf52139073b7b5dc1L },
  18897. { 0x4d431f1d8ce4396eL,0x37a1a680a7ed2142L,0xbf375696d01aaf6bL,
  18898. 0xaa1c0c54e63aab66L } },
  18899. /* 64 << 161 */
  18900. { { 0x3014368b4ed80940L,0x67e6d0567a6fceddL,0x7c208c49ca97579fL,
  18901. 0xfe3d7a81a23597f6L },
  18902. { 0x5e2032027e096ae2L,0xb1f3e1e724b39366L,0x26da26f32fdcdffcL,
  18903. 0x79422f1d6097be83L } },
  18904. /* 0 << 168 */
  18905. { { 0x00, 0x00, 0x00, 0x00 },
  18906. { 0x00, 0x00, 0x00, 0x00 } },
  18907. /* 1 << 168 */
  18908. { { 0x263a2cfb9db3b381L,0x9c3a2deed4df0a4bL,0x728d06e97d04e61fL,
  18909. 0x8b1adfbc42449325L },
  18910. { 0x6ec1d9397e053a1bL,0xee2be5c766daf707L,0x80ba1e14810ac7abL,
  18911. 0xdd2ae778f530f174L } },
  18912. /* 2 << 168 */
  18913. { { 0x0435d97a205b9d8bL,0x6eb8f064056756d4L,0xd5e88a8bb6f8210eL,
  18914. 0x070ef12dec9fd9eaL },
  18915. { 0x4d8495053bcc876aL,0x12a75338a7404ce3L,0xd22b49e1b8a1db5eL,
  18916. 0xec1f205114bfa5adL } },
  18917. /* 3 << 168 */
  18918. { { 0xadbaeb79b6828f36L,0x9d7a025801bd5b9eL,0xeda01e0d1e844b0cL,
  18919. 0x4b625175887edfc9L },
  18920. { 0x14109fdd9669b621L,0x88a2ca56f6f87b98L,0xfe2eb788170df6bcL,
  18921. 0x0cea06f4ffa473f9L } },
  18922. /* 4 << 168 */
  18923. { { 0x43ed81b5c4e83d33L,0xd9f358795efd488bL,0x164a620f9deb4d0fL,
  18924. 0xc6927bdbac6a7394L },
  18925. { 0x45c28df79f9e0f03L,0x2868661efcd7e1a9L,0x7cf4e8d0ffa348f1L,
  18926. 0x6bd4c284398538e0L } },
  18927. /* 5 << 168 */
  18928. { { 0x2618a091289a8619L,0xef796e606671b173L,0x664e46e59090c632L,
  18929. 0xa38062d41e66f8fbL },
  18930. { 0x6c744a200573274eL,0xd07b67e4a9271394L,0x391223b26bdc0e20L,
  18931. 0xbe2d93f1eb0a05a7L } },
  18932. /* 6 << 168 */
  18933. { { 0xf23e2e533f36d141L,0xe84bb3d44dfca442L,0xb804a48d6b7c023aL,
  18934. 0x1e16a8fa76431c3bL },
  18935. { 0x1b5452adddd472e0L,0x7d405ee70d1ee127L,0x50fc6f1dffa27599L,
  18936. 0x351ac53cbf391b35L } },
  18937. /* 7 << 168 */
  18938. { { 0x7efa14b84444896bL,0x64974d2ff94027fbL,0xefdcd0e8de84487dL,
  18939. 0x8c45b2602b48989bL },
  18940. { 0xa8fcbbc2d8463487L,0xd1b2b3f73fbc476cL,0x21d005b7c8f443c0L,
  18941. 0x518f2e6740c0139cL } },
  18942. /* 8 << 168 */
  18943. { { 0x56036e8c06d75fc1L,0x2dcf7bb73249a89fL,0x81dd1d3de245e7ddL,
  18944. 0xf578dc4bebd6e2a7L },
  18945. { 0x4c028903df2ce7a0L,0xaee362889c39afacL,0xdc847c31146404abL,
  18946. 0x6304c0d8a4e97818L } },
  18947. /* 9 << 168 */
  18948. { { 0xae51dca2a91f6791L,0x2abe41909baa9efcL,0xd9d2e2f4559c7ac1L,
  18949. 0xe82f4b51fc9f773aL },
  18950. { 0xa77130274073e81cL,0xc0276facfbb596fcL,0x1d819fc9a684f70cL,
  18951. 0x29b47fddc9f7b1e0L } },
  18952. /* 10 << 168 */
  18953. { { 0x358de103459b1940L,0xec881c595b013e93L,0x51574c9349532ad3L,
  18954. 0x2db1d445b37b46deL },
  18955. { 0xc6445b87df239fd8L,0xc718af75151d24eeL,0xaea1c4a4f43c6259L,
  18956. 0x40c0e5d770be02f7L } },
  18957. /* 11 << 168 */
  18958. { { 0x6a4590f4721b33f2L,0x2124f1fbfedf04eaL,0xf8e53cde9745efe7L,
  18959. 0xe7e1043265f046d9L },
  18960. { 0xc3fca28ee4d0c7e6L,0x847e339a87253b1bL,0x9b5953483743e643L,
  18961. 0xcb6a0a0b4fd12fc5L } },
  18962. /* 12 << 168 */
  18963. { { 0xfb6836c327d02dccL,0x5ad009827a68bcc2L,0x1b24b44c005e912dL,
  18964. 0xcc83d20f811fdcfeL },
  18965. { 0x36527ec1666fba0cL,0x6994819714754635L,0xfcdcb1a8556da9c2L,
  18966. 0xa593426781a732b2L } },
  18967. /* 13 << 168 */
  18968. { { 0xec1214eda714181dL,0x609ac13b6067b341L,0xff4b4c97a545df1fL,
  18969. 0xa124050134d2076bL },
  18970. { 0x6efa0c231409ca97L,0x254cc1a820638c43L,0xd4e363afdcfb46cdL,
  18971. 0x62c2adc303942a27L } },
  18972. /* 14 << 168 */
  18973. { { 0xc67b9df056e46483L,0xa55abb2063736356L,0xab93c098c551bc52L,
  18974. 0x382b49f9b15fe64bL },
  18975. { 0x9ec221ad4dff8d47L,0x79caf615437df4d6L,0x5f13dc64bb456509L,
  18976. 0xe4c589d9191f0714L } },
  18977. /* 15 << 168 */
  18978. { { 0x27b6a8ab3fd40e09L,0xe455842e77313ea9L,0x8b51d1e21f55988bL,
  18979. 0x5716dd73062bbbfcL },
  18980. { 0x633c11e54e8bf3deL,0x9a0e77b61b85be3bL,0x565107290911cca6L,
  18981. 0x27e76495efa6590fL } },
  18982. /* 16 << 168 */
  18983. { { 0xe4ac8b33070d3aabL,0x2643672b9a2cd5e5L,0x52eff79b1cfc9173L,
  18984. 0x665ca49b90a7c13fL },
  18985. { 0x5a8dda59b3efb998L,0x8a5b922d052f1341L,0xae9ebbab3cf9a530L,
  18986. 0x35986e7bf56da4d7L } },
  18987. /* 17 << 168 */
  18988. { { 0x3a636b5cff3513ccL,0xbb0cf8ba3198f7ddL,0xb8d4052241f16f86L,
  18989. 0x760575d8de13a7bfL },
  18990. { 0x36f74e169f7aa181L,0x163a3ecff509ed1cL,0x6aead61f3c40a491L,
  18991. 0x158c95fcdfe8fcaaL } },
  18992. /* 18 << 168 */
  18993. { { 0xa3991b6e13cda46fL,0x79482415342faed0L,0xf3ba5bde666b5970L,
  18994. 0x1d52e6bcb26ab6ddL },
  18995. { 0x768ba1e78608dd3dL,0x4930db2aea076586L,0xd9575714e7dc1afaL,
  18996. 0x1fc7bf7df7c58817L } },
  18997. /* 19 << 168 */
  18998. { { 0x6b47accdd9eee96cL,0x0ca277fbe58cec37L,0x113fe413e702c42aL,
  18999. 0xdd1764eec47cbe51L },
  19000. { 0x041e7cde7b3ed739L,0x50cb74595ce9e1c0L,0x355685132925b212L,
  19001. 0x7cff95c4001b081cL } },
  19002. /* 20 << 168 */
  19003. { { 0x63ee4cbd8088b454L,0xdb7f32f79a9e0c8aL,0xb377d4186b2447cbL,
  19004. 0xe3e982aad370219bL },
  19005. { 0x06ccc1e4c2a2a593L,0x72c368650773f24fL,0xa13b4da795859423L,
  19006. 0x8bbf1d3375040c8fL } },
  19007. /* 21 << 168 */
  19008. { { 0x726f0973da50c991L,0x48afcd5b822d6ee2L,0xe5fc718b20fd7771L,
  19009. 0xb9e8e77dfd0807a1L },
  19010. { 0x7f5e0f4499a7703dL,0x6972930e618e36f3L,0x2b7c77b823807bbeL,
  19011. 0xe5b82405cb27ff50L } },
  19012. /* 22 << 168 */
  19013. { { 0xba8b8be3bd379062L,0xd64b7a1d2dce4a92L,0x040a73c5b2952e37L,
  19014. 0x0a9e252ed438aecaL },
  19015. { 0xdd43956bc39d3bcbL,0x1a31ca00b32b2d63L,0xd67133b85c417a18L,
  19016. 0xd08e47902ef442c8L } },
  19017. /* 23 << 168 */
  19018. { { 0x98cb1ae9255c0980L,0x4bd863812b4a739fL,0x5a5c31e11e4a45a1L,
  19019. 0x1e5d55fe9cb0db2fL },
  19020. { 0x74661b068ff5cc29L,0x026b389f0eb8a4f4L,0x536b21a458848c24L,
  19021. 0x2e5bf8ec81dc72b0L } },
  19022. /* 24 << 168 */
  19023. { { 0x03c187d0ad886aacL,0x5c16878ab771b645L,0xb07dfc6fc74045abL,
  19024. 0x2c6360bf7800caedL },
  19025. { 0x24295bb5b9c972a3L,0xc9e6f88e7c9a6dbaL,0x90ffbf2492a79aa6L,
  19026. 0xde29d50a41c26ac2L } },
  19027. /* 25 << 168 */
  19028. { { 0x9f0af483d309cbe6L,0x5b020d8ae0bced4fL,0x606e986db38023e3L,
  19029. 0xad8f2c9d1abc6933L },
  19030. { 0x19292e1de7400e93L,0xfe3e18a952be5e4dL,0xe8e9771d2e0680bfL,
  19031. 0x8c5bec98c54db063L } },
  19032. /* 26 << 168 */
  19033. { { 0x2af9662a74a55d1fL,0xe3fbf28f046f66d8L,0xa3a72ab4d4dc4794L,
  19034. 0x09779f455c7c2dd8L },
  19035. { 0xd893bdafc3d19d8dL,0xd5a7509457d6a6dfL,0x8cf8fef9952e6255L,
  19036. 0x3da67cfbda9a8affL } },
  19037. /* 27 << 168 */
  19038. { { 0x4c23f62a2c160dcdL,0x34e6c5e38f90eaefL,0x35865519a9a65d5aL,
  19039. 0x07c48aae8fd38a3dL },
  19040. { 0xb7e7aeda50068527L,0x2c09ef231c90936aL,0x31ecfeb6e879324cL,
  19041. 0xa0871f6bfb0ec938L } },
  19042. /* 28 << 168 */
  19043. { { 0xb1f0fb68d84d835dL,0xc90caf39861dc1e6L,0x12e5b0467594f8d7L,
  19044. 0x26897ae265012b92L },
  19045. { 0xbcf68a08a4d6755dL,0x403ee41c0991fbdaL,0x733e343e3bbf17e8L,
  19046. 0xd2c7980d679b3d65L } },
  19047. /* 29 << 168 */
  19048. { { 0x33056232d2e11305L,0x966be492f3c07a6fL,0x6a8878ffbb15509dL,
  19049. 0xff2211010a9b59a4L },
  19050. { 0x6c9f564aabe30129L,0xc6f2c940336e64cfL,0x0fe752628b0c8022L,
  19051. 0xbe0267e96ae8db87L } },
  19052. /* 30 << 168 */
  19053. { { 0x22e192f193bc042bL,0xf085b534b237c458L,0xa0d192bd832c4168L,
  19054. 0x7a76e9e3bdf6271dL },
  19055. { 0x52a882fab88911b5L,0xc85345e4b4db0eb5L,0xa3be02a681a7c3ffL,
  19056. 0x51889c8cf0ec0469L } },
  19057. /* 31 << 168 */
  19058. { { 0x9d031369a5e829e5L,0xcbb4c6fc1607aa41L,0x75ac59a6241d84c1L,
  19059. 0xc043f2bf8829e0eeL },
  19060. { 0x82a38f758ea5e185L,0x8bda40b9d87cbd9fL,0x9e65e75e2d8fc601L,
  19061. 0x3d515f74a35690b3L } },
  19062. /* 32 << 168 */
  19063. { { 0x534acf4fda79e5acL,0x68b83b3a8630215fL,0x5c748b2ed085756eL,
  19064. 0xb0317258e5d37cb2L },
  19065. { 0x6735841ac5ccc2c4L,0x7d7dc96b3d9d5069L,0xa147e410fd1754bdL,
  19066. 0x65296e94d399ddd5L } },
  19067. /* 33 << 168 */
  19068. { { 0xf6b5b2d0bc8fa5bcL,0x8a5ead67500c277bL,0x214625e6dfa08a5dL,
  19069. 0x51fdfedc959cf047L },
  19070. { 0x6bc9430b289fca32L,0xe36ff0cf9d9bdc3fL,0x2fe187cb58ea0edeL,
  19071. 0xed66af205a900b3fL } },
  19072. /* 34 << 168 */
  19073. { { 0x00e0968b5fa9f4d6L,0x2d4066ce37a362e7L,0xa99a9748bd07e772L,
  19074. 0x710989c006a4f1d0L },
  19075. { 0xd5dedf35ce40cbd8L,0xab55c5f01743293dL,0x766f11448aa24e2cL,
  19076. 0x94d874f8605fbcb4L } },
  19077. /* 35 << 168 */
  19078. { { 0xa365f0e8a518001bL,0xee605eb69d04ef0fL,0x5a3915cdba8d4d25L,
  19079. 0x44c0e1b8b5113472L },
  19080. { 0xcbb024e88b6740dcL,0x89087a53ee1d4f0cL,0xa88fa05c1fc4e372L,
  19081. 0x8bf395cbaf8b3af2L } },
  19082. /* 36 << 168 */
  19083. { { 0x1e71c9a1deb8568bL,0xa35daea080fb3d32L,0xe8b6f2662cf8fb81L,
  19084. 0x6d51afe89490696aL },
  19085. { 0x81beac6e51803a19L,0xe3d24b7f86219080L,0x727cfd9ddf6f463cL,
  19086. 0x8c6865ca72284ee8L } },
  19087. /* 37 << 168 */
  19088. { { 0x32c88b7db743f4efL,0x3793909be7d11dceL,0xd398f9222ff2ebe8L,
  19089. 0x2c70ca44e5e49796L },
  19090. { 0xdf4d9929cb1131b1L,0x7826f29825888e79L,0x4d3a112cf1d8740aL,
  19091. 0x00384cb6270afa8bL } },
  19092. /* 38 << 168 */
  19093. { { 0xcb64125b3ab48095L,0x3451c25662d05106L,0xd73d577da4955845L,
  19094. 0x39570c16bf9f4433L },
  19095. { 0xd7dfaad3adecf263L,0xf1c3d8d1dc76e102L,0x5e774a5854c6a836L,
  19096. 0xdad4b6723e92d47bL } },
  19097. /* 39 << 168 */
  19098. { { 0xbe7e990ff0d796a0L,0x5fc62478df0e8b02L,0x8aae8bf4030c00adL,
  19099. 0x3d2db93b9004ba0fL },
  19100. { 0xe48c8a79d85d5ddcL,0xe907caa76bb07f34L,0x58db343aa39eaed5L,
  19101. 0x0ea6e007adaf5724L } },
  19102. /* 40 << 168 */
  19103. { { 0xe00df169d23233f3L,0x3e32279677cb637fL,0x1f897c0e1da0cf6cL,
  19104. 0xa651f5d831d6bbddL },
  19105. { 0xdd61af191a230c76L,0xbd527272cdaa5e4aL,0xca753636d0abcd7eL,
  19106. 0x78bdd37c370bd8dcL } },
  19107. /* 41 << 168 */
  19108. { { 0xc23916c217cd93feL,0x65b97a4ddadce6e2L,0xe04ed4eb174e42f8L,
  19109. 0x1491ccaabb21480aL },
  19110. { 0x145a828023196332L,0x3c3862d7587b479aL,0x9f4a88a301dcd0edL,
  19111. 0x4da2b7ef3ea12f1fL } },
  19112. /* 42 << 168 */
  19113. { { 0xf8e7ae33b126e48eL,0x404a0b32f494e237L,0x9beac474c55acadbL,
  19114. 0x4ee5cf3bcbec9fd9L },
  19115. { 0x336b33b97df3c8c3L,0xbd905fe3b76808fdL,0x8f436981aa45c16aL,
  19116. 0x255c5bfa3dd27b62L } },
  19117. /* 43 << 168 */
  19118. { { 0x71965cbfc3dd9b4dL,0xce23edbffc068a87L,0xb78d4725745b029bL,
  19119. 0x74610713cefdd9bdL },
  19120. { 0x7116f75f1266bf52L,0x0204672218e49bb6L,0xdf43df9f3d6f19e3L,
  19121. 0xef1bc7d0e685cb2fL } },
  19122. /* 44 << 168 */
  19123. { { 0xcddb27c17078c432L,0xe1961b9cb77fedb7L,0x1edc2f5cc2290570L,
  19124. 0x2c3fefca19cbd886L },
  19125. { 0xcf880a36c2af389aL,0x96c610fdbda71ceaL,0xf03977a932aa8463L,
  19126. 0x8eb7763f8586d90aL } },
  19127. /* 45 << 168 */
  19128. { { 0x3f3424542a296e77L,0xc871868342837a35L,0x7dc710906a09c731L,
  19129. 0x54778ffb51b816dbL },
  19130. { 0x6b33bfecaf06defdL,0xfe3c105f8592b70bL,0xf937fda461da6114L,
  19131. 0x3c13e6514c266ad7L } },
  19132. /* 46 << 168 */
  19133. { { 0xe363a829855938e8L,0x2eeb5d9e9de54b72L,0xbeb93b0e20ccfab9L,
  19134. 0x3dffbb5f25e61a25L },
  19135. { 0x7f655e431acc093dL,0x0cb6cc3d3964ce61L,0x6ab283a1e5e9b460L,
  19136. 0x55d787c5a1c7e72dL } },
  19137. /* 47 << 168 */
  19138. { { 0x4d2efd47deadbf02L,0x11e80219ac459068L,0x810c762671f311f0L,
  19139. 0xfa17ef8d4ab6ef53L },
  19140. { 0xaf47fd2593e43bffL,0x5cb5ff3f0be40632L,0x546871068ee61da3L,
  19141. 0x7764196eb08afd0fL } },
  19142. /* 48 << 168 */
  19143. { { 0x831ab3edf0290a8fL,0xcae81966cb47c387L,0xaad7dece184efb4fL,
  19144. 0xdcfc53b34749110eL },
  19145. { 0x6698f23c4cb632f9L,0xc42a1ad6b91f8067L,0xb116a81d6284180aL,
  19146. 0xebedf5f8e901326fL } },
  19147. /* 49 << 168 */
  19148. { { 0xf2274c9f97e3e044L,0x4201852011d09fc9L,0x56a65f17d18e6e23L,
  19149. 0x2ea61e2a352b683cL },
  19150. { 0x27d291bc575eaa94L,0x9e7bc721b8ff522dL,0x5f7268bfa7f04d6fL,
  19151. 0x5868c73faba41748L } },
  19152. /* 50 << 168 */
  19153. { { 0x9f85c2db7be0eeadL,0x511e7842ff719135L,0x5a06b1e9c5ea90d7L,
  19154. 0x0c19e28326fab631L },
  19155. { 0x8af8f0cfe9206c55L,0x89389cb43553c06aL,0x39dbed97f65f8004L,
  19156. 0x0621b037c508991dL } },
  19157. /* 51 << 168 */
  19158. { { 0x1c52e63596e78cc4L,0x5385c8b20c06b4a8L,0xd84ddfdbb0e87d03L,
  19159. 0xc49dfb66934bafadL },
  19160. { 0x7071e17059f70772L,0x3a073a843a1db56bL,0x034949033b8af190L,
  19161. 0x7d882de3d32920f0L } },
  19162. /* 52 << 168 */
  19163. { { 0x91633f0ab2cf8940L,0x72b0b1786f948f51L,0x2d28dc30782653c8L,
  19164. 0x88829849db903a05L },
  19165. { 0xb8095d0c6a19d2bbL,0x4b9e7f0c86f782cbL,0x7af739882d907064L,
  19166. 0xd12be0fe8b32643cL } },
  19167. /* 53 << 168 */
  19168. { { 0x358ed23d0e165dc3L,0x3d47ce624e2378ceL,0x7e2bb0b9feb8a087L,
  19169. 0x3246e8aee29e10b9L },
  19170. { 0x459f4ec703ce2b4dL,0xe9b4ca1bbbc077cfL,0x2613b4f20e9940c1L,
  19171. 0xfc598bb9047d1eb1L } },
  19172. /* 54 << 168 */
  19173. { { 0x9744c62b45036099L,0xa9dee742167c65d8L,0x0c511525dabe1943L,
  19174. 0xda11055493c6c624L },
  19175. { 0xae00a52c651a3be2L,0xcda5111d884449a6L,0x063c06f4ff33bed1L,
  19176. 0x73baaf9a0d3d76b4L } },
  19177. /* 55 << 168 */
  19178. { { 0x52fb0c9d7fc63668L,0x6886c9dd0c039cdeL,0x602bd59955b22351L,
  19179. 0xb00cab02360c7c13L },
  19180. { 0x8cb616bc81b69442L,0x41486700b55c3ceeL,0x71093281f49ba278L,
  19181. 0xad956d9c64a50710L } },
  19182. /* 56 << 168 */
  19183. { { 0x9561f28b638a7e81L,0x54155cdf5980ddc3L,0xb2db4a96d26f247aL,
  19184. 0x9d774e4e4787d100L },
  19185. { 0x1a9e6e2e078637d2L,0x1c363e2d5e0ae06aL,0x7493483ee9cfa354L,
  19186. 0x76843cb37f74b98dL } },
  19187. /* 57 << 168 */
  19188. { { 0xbaca6591d4b66947L,0xb452ce9804460a8cL,0x6830d24643768f55L,
  19189. 0xf4197ed87dff12dfL },
  19190. { 0x6521b472400dd0f7L,0x59f5ca8f4b1e7093L,0x6feff11b080338aeL,
  19191. 0x0ada31f6a29ca3c6L } },
  19192. /* 58 << 168 */
  19193. { { 0x24794eb694a2c215L,0xd83a43ab05a57ab4L,0x264a543a2a6f89feL,
  19194. 0x2c2a3868dd5ec7c2L },
  19195. { 0xd33739408439d9b2L,0x715ea6720acd1f11L,0x42c1d235e7e6cc19L,
  19196. 0x81ce6e96b990585cL } },
  19197. /* 59 << 168 */
  19198. { { 0x04e5dfe0d809c7bdL,0xd7b2580c8f1050abL,0x6d91ad78d8a4176fL,
  19199. 0x0af556ee4e2e897cL },
  19200. { 0x162a8b73921de0acL,0x52ac9c227ea78400L,0xee2a4eeaefce2174L,
  19201. 0xbe61844e6d637f79L } },
  19202. /* 60 << 168 */
  19203. { { 0x0491f1bc789a283bL,0x72d3ac3d880836f4L,0xaa1c5ea388e5402dL,
  19204. 0x1b192421d5cc473dL },
  19205. { 0x5c0b99989dc84cacL,0xb0a8482d9c6e75b8L,0x639961d03a191ce2L,
  19206. 0xda3bc8656d837930L } },
  19207. /* 61 << 168 */
  19208. { { 0xca990653056e6f8fL,0x84861c4164d133a7L,0x8b403276746abe40L,
  19209. 0xb7b4d51aebf8e303L },
  19210. { 0x05b43211220a255dL,0xc997152c02419e6eL,0x76ff47b6630c2feaL,
  19211. 0x50518677281fdadeL } },
  19212. /* 62 << 168 */
  19213. { { 0x3283b8bacf902b0bL,0x8d4b4eb537db303bL,0xcc89f42d755011bcL,
  19214. 0xb43d74bbdd09d19bL },
  19215. { 0x65746bc98adba350L,0x364eaf8cb51c1927L,0x13c7659610ad72ecL,
  19216. 0x30045121f8d40c20L } },
  19217. /* 63 << 168 */
  19218. { { 0x6d2d99b7ea7b979bL,0xcd78cd74e6fb3bcdL,0x11e45a9e86cffbfeL,
  19219. 0x78a61cf4637024f6L },
  19220. { 0xd06bc8723d502295L,0xf1376854458cb288L,0xb9db26a1342f8586L,
  19221. 0xf33effcf4beee09eL } },
  19222. /* 64 << 168 */
  19223. { { 0xd7e0c4cdb30cfb3aL,0x6d09b8c16c9db4c8L,0x40ba1a4207c8d9dfL,
  19224. 0x6fd495f71c52c66dL },
  19225. { 0xfb0e169f275264daL,0x80c2b746e57d8362L,0xedd987f749ad7222L,
  19226. 0xfdc229af4398ec7bL } },
  19227. /* 0 << 175 */
  19228. { { 0x00, 0x00, 0x00, 0x00 },
  19229. { 0x00, 0x00, 0x00, 0x00 } },
  19230. /* 1 << 175 */
  19231. { { 0xb0d1ed8452666a58L,0x4bcb6e00e6a9c3c2L,0x3c57411c26906408L,
  19232. 0xcfc2075513556400L },
  19233. { 0xa08b1c505294dba3L,0xa30ba2868b7dd31eL,0xd70ba90e991eca74L,
  19234. 0x094e142ce762c2b9L } },
  19235. /* 2 << 175 */
  19236. { { 0xb81d783e979f3925L,0x1efd130aaf4c89a7L,0x525c2144fd1bf7faL,
  19237. 0x4b2969041b265a9eL },
  19238. { 0xed8e9634b9db65b6L,0x35c82e3203599d8aL,0xdaa7a54f403563f3L,
  19239. 0x9df088ad022c38abL } },
  19240. /* 3 << 175 */
  19241. { { 0xe5cfb066bb3fd30aL,0x429169daeff0354eL,0x809cf8523524e36cL,
  19242. 0x136f4fb30155be1dL },
  19243. { 0x4826af011fbba712L,0x6ef0f0b4506ba1a1L,0xd9928b3177aea73eL,
  19244. 0xe2bf6af25eaa244eL } },
  19245. /* 4 << 175 */
  19246. { { 0x8d084f124237b64bL,0x688ebe99e3ecfd07L,0x57b8a70cf6845dd8L,
  19247. 0x808fc59c5da4a325L },
  19248. { 0xa9032b2ba3585862L,0xb66825d5edf29386L,0xb5a5a8db431ec29bL,
  19249. 0xbb143a983a1e8dc8L } },
  19250. /* 5 << 175 */
  19251. { { 0x35ee94ce12ae381bL,0x3a7f176c86ccda90L,0xc63a657e4606eacaL,
  19252. 0x9ae5a38043cd04dfL },
  19253. { 0x9bec8d15ed251b46L,0x1f5d6d30caca5e64L,0x347b3b359ff20f07L,
  19254. 0x4d65f034f7e4b286L } },
  19255. /* 6 << 175 */
  19256. { { 0x9e93ba24f111661eL,0xedced484b105eb04L,0x96dc9ba1f424b578L,
  19257. 0xbf8f66b7e83e9069L },
  19258. { 0x872d4df4d7ed8216L,0xbf07f3778e2cbecfL,0x4281d89998e73754L,
  19259. 0xfec85fbb8aab8708L } },
  19260. /* 7 << 175 */
  19261. { { 0x9a3c0deea5ba5b0bL,0xe6a116ce42d05299L,0xae9775fee9b02d42L,
  19262. 0x72b05200a1545cb6L },
  19263. { 0xbc506f7d31a3b4eaL,0xe58930788bbd9b32L,0xc8bc5f37e4b12a97L,
  19264. 0x6b000c064a73b671L } },
  19265. /* 8 << 175 */
  19266. { { 0x13b5bf22765fa7d0L,0x59805bf01d6a5370L,0x67a5e29d4280db98L,
  19267. 0x4f53916f776b1ce3L },
  19268. { 0x714ff61f33ddf626L,0x4206238ea085d103L,0x1c50d4b7e5809ee3L,
  19269. 0x999f450d85f8eb1dL } },
  19270. /* 9 << 175 */
  19271. { { 0x658a6051e4c79e9bL,0x1394cb73c66a9feaL,0x27f31ed5c6be7b23L,
  19272. 0xf4c88f365aa6f8feL },
  19273. { 0x0fb0721f4aaa499eL,0x68b3a7d5e3fb2a6bL,0xa788097d3a92851dL,
  19274. 0x060e7f8ae96f4913L } },
  19275. /* 10 << 175 */
  19276. { { 0x82eebe731a3a93bcL,0x42bbf465a21adc1aL,0xc10b6fa4ef030efdL,
  19277. 0x247aa4c787b097bbL },
  19278. { 0x8b8dc632f60c77daL,0x6ffbc26ac223523eL,0xa4f6ff11344579cfL,
  19279. 0x5825653c980250f6L } },
  19280. /* 11 << 175 */
  19281. { { 0xb2dd097ebc1aa2b9L,0x0788939337a0333aL,0x1cf55e7137a0db38L,
  19282. 0x2648487f792c1613L },
  19283. { 0xdad013363fcef261L,0x6239c81d0eabf129L,0x8ee761de9d276be2L,
  19284. 0x406a7a341eda6ad3L } },
  19285. /* 12 << 175 */
  19286. { { 0x4bf367ba4a493b31L,0x54f20a529bf7f026L,0xb696e0629795914bL,
  19287. 0xcddab96d8bf236acL },
  19288. { 0x4ff2c70aed25ea13L,0xfa1d09eb81cbbbe7L,0x88fc8c87468544c5L,
  19289. 0x847a670d696b3317L } },
  19290. /* 13 << 175 */
  19291. { { 0xf133421e64bcb626L,0xaea638c826dee0b5L,0xd6e7680bb310346cL,
  19292. 0xe06f4097d5d4ced3L },
  19293. { 0x099614527512a30bL,0xf3d867fde589a59aL,0x2e73254f52d0c180L,
  19294. 0x9063d8a3333c74acL } },
  19295. /* 14 << 175 */
  19296. { { 0xeda6c595d314e7bcL,0x2ee7464b467899edL,0x1cef423c0a1ed5d3L,
  19297. 0x217e76ea69cc7613L },
  19298. { 0x27ccce1fe7cda917L,0x12d8016b8a893f16L,0xbcd6de849fc74f6bL,
  19299. 0xfa5817e2f3144e61L } },
  19300. /* 15 << 175 */
  19301. { { 0x1f3541640821ee4cL,0x1583eab40bc61992L,0x7490caf61d72879fL,
  19302. 0x998ad9f3f76ae7b2L },
  19303. { 0x1e181950a41157f7L,0xa9d7e1e6e8da3a7eL,0x963784eb8426b95fL,
  19304. 0x0ee4ed6e542e2a10L } },
  19305. /* 16 << 175 */
  19306. { { 0xb79d4cc5ac751e7bL,0x93f96472fd4211bdL,0x8c72d3d2c8de4fc6L,
  19307. 0x7b69cbf5df44f064L },
  19308. { 0x3da90ca2f4bf94e1L,0x1a5325f8f12894e2L,0x0a437f6c7917d60bL,
  19309. 0x9be7048696c9cb5dL } },
  19310. /* 17 << 175 */
  19311. { { 0xb4d880bfe1dc5c05L,0xd738addaeebeeb57L,0x6f0119d3df0fe6a3L,
  19312. 0x5c686e5566eaaf5aL },
  19313. { 0x9cb10b50dfd0b7ecL,0xbdd0264b6a497c21L,0xfc0935148c546c96L,
  19314. 0x58a947fa79dbf42aL } },
  19315. /* 18 << 175 */
  19316. { { 0xc0b48d4e49ccd6d7L,0xff8fb02c88bd5580L,0xc75235e907d473b2L,
  19317. 0x4fab1ac5a2188af3L },
  19318. { 0x030fa3bc97576ec0L,0xe8c946e80b7e7d2fL,0x40a5c9cc70305600L,
  19319. 0x6d8260a9c8b013b4L } },
  19320. /* 19 << 175 */
  19321. { { 0x0368304f70bba85cL,0xad090da1a4a0d311L,0x7170e8702415eec1L,
  19322. 0xbfba35fe8461ea47L },
  19323. { 0x6279019ac1e91938L,0xa47638f31afc415fL,0x36c65cbbbcba0e0fL,
  19324. 0x02160efb034e2c48L } },
  19325. /* 20 << 175 */
  19326. { { 0xe6c51073615cd9e4L,0x498ec047f1243c06L,0x3e5a8809b17b3d8cL,
  19327. 0x5cd99e610cc565f1L },
  19328. { 0x81e312df7851dafeL,0xf156f5baa79061e2L,0x80d62b71880c590eL,
  19329. 0xbec9746f0a39faa1L } },
  19330. /* 21 << 175 */
  19331. { { 0x1d98a9c1c8ed1f7aL,0x09e43bb5a81d5ff2L,0xd5f00f680da0794aL,
  19332. 0x412050d9661aa836L },
  19333. { 0xa89f7c4e90747e40L,0x6dc05ebbb62a3686L,0xdf4de847308e3353L,
  19334. 0x53868fbb9fb53bb9L } },
  19335. /* 22 << 175 */
  19336. { { 0x2b09d2c3cfdcf7ddL,0x41a9fce3723fcab4L,0x73d905f707f57ca3L,
  19337. 0x080f9fb1ac8e1555L },
  19338. { 0x7c088e849ba7a531L,0x07d35586ed9a147fL,0x602846abaf48c336L,
  19339. 0x7320fd320ccf0e79L } },
  19340. /* 23 << 175 */
  19341. { { 0xaa780798b18bd1ffL,0x52c2e300afdd2905L,0xf27ea3d6434267cdL,
  19342. 0x8b96d16d15605b5fL },
  19343. { 0x7bb310494b45706bL,0xe7f58b8e743d25f8L,0xe9b5e45b87f30076L,
  19344. 0xd19448d65d053d5aL } },
  19345. /* 24 << 175 */
  19346. { { 0x1ecc8cb9d3210a04L,0x6bc7d463dafb5269L,0x3e59b10a67c3489fL,
  19347. 0x1769788c65641e1bL },
  19348. { 0x8a53b82dbd6cb838L,0x7066d6e6236d5f22L,0x03aa1c616908536eL,
  19349. 0xc971da0d66ae9809L } },
  19350. /* 25 << 175 */
  19351. { { 0x01b3a86bc49a2facL,0x3b8420c03092e77aL,0x020573007d6fb556L,
  19352. 0x6941b2a1bff40a87L },
  19353. { 0x140b63080658ff2aL,0x878043633424ab36L,0x0253bd515751e299L,
  19354. 0xc75bcd76449c3e3aL } },
  19355. /* 26 << 175 */
  19356. { { 0x92eb40907f8f875dL,0x9c9d754e56c26bbfL,0x158cea618110bbe7L,
  19357. 0x62a6b802745f91eaL },
  19358. { 0xa79c41aac6e7394bL,0x445b6a83ad57ef10L,0x0c5277eb6ea6f40cL,
  19359. 0x319fe96b88633365L } },
  19360. /* 27 << 175 */
  19361. { { 0x0b0fc61f385f63cbL,0x41250c8422bdd127L,0x67d153f109e942c2L,
  19362. 0x60920d08c021ad5dL },
  19363. { 0x229f5746724d81a5L,0xb7ffb8925bba3299L,0x518c51a1de413032L,
  19364. 0x2a9bfe773c2fd94cL } },
  19365. /* 28 << 175 */
  19366. { { 0xcbcde2393191f4fdL,0x43093e16d3d6ada1L,0x184579f358769606L,
  19367. 0x2c94a8b3d236625cL },
  19368. { 0x6922b9c05c437d8eL,0x3d4ae423d8d9f3c8L,0xf72c31c12e7090a2L,
  19369. 0x4ac3f5f3d76a55bdL } },
  19370. /* 29 << 175 */
  19371. { { 0x342508fc6b6af991L,0x0d5271001b5cebbdL,0xb84740d0dd440dd7L,
  19372. 0x748ef841780162fdL },
  19373. { 0xa8dbfe0edfc6fafbL,0xeadfdf05f7300f27L,0x7d06555ffeba4ec9L,
  19374. 0x12c56f839e25fa97L } },
  19375. /* 30 << 175 */
  19376. { { 0x77f84203d39b8c34L,0xed8b1be63125eddbL,0x5bbf2441f6e39dc5L,
  19377. 0xb00f6ee66a5d678aL },
  19378. { 0xba456ecf57d0ea99L,0xdcae0f5817e06c43L,0x01643de40f5b4baaL,
  19379. 0x2c324341d161b9beL } },
  19380. /* 31 << 175 */
  19381. { { 0x80177f55e126d468L,0xed325f1f76748e09L,0x6116004acfa9bdc2L,
  19382. 0x2d8607e63a9fb468L },
  19383. { 0x0e573e276009d660L,0x3a525d2e8d10c5a1L,0xd26cb45c3b9009a0L,
  19384. 0xb6b0cdc0de9d7448L } },
  19385. /* 32 << 175 */
  19386. { { 0x949c9976e1337c26L,0x6faadebdd73d68e5L,0x9e158614f1b768d9L,
  19387. 0x22dfa5579cc4f069L },
  19388. { 0xccd6da17be93c6d6L,0x24866c61a504f5b9L,0x2121353c8d694da1L,
  19389. 0x1c6ca5800140b8c6L } },
  19390. /* 33 << 175 */
  19391. { { 0xc245ad8ce964021eL,0xb83bffba032b82b3L,0xfaa220c647ef9898L,
  19392. 0x7e8d3ac6982c948aL },
  19393. { 0x1faa2091bc2d124aL,0xbd54c3dd05b15ff4L,0x386bf3abc87c6fb7L,
  19394. 0xfb2b0563fdeb6f66L } },
  19395. /* 34 << 175 */
  19396. { { 0x4e77c5575b45afb4L,0xe9ded649efb8912dL,0x7ec9bbf542f6e557L,
  19397. 0x2570dfff62671f00L },
  19398. { 0x2b3bfb7888e084bdL,0xa024b238f37fe5b4L,0x44e7dc0495649aeeL,
  19399. 0x498ca2555e7ec1d8L } },
  19400. /* 35 << 175 */
  19401. { { 0x3bc766eaaaa07e86L,0x0db6facbf3608586L,0xbadd2549bdc259c8L,
  19402. 0x95af3c6e041c649fL },
  19403. { 0xb36a928c02e30afbL,0x9b5356ad008a88b8L,0x4b67a5f1cf1d9e9dL,
  19404. 0xc6542e47a5d8d8ceL } },
  19405. /* 36 << 175 */
  19406. { { 0x73061fe87adfb6ccL,0xcc826fd398678141L,0x00e758b13c80515aL,
  19407. 0x6afe324741485083L },
  19408. { 0x0fcb08b9b6ae8a75L,0xb8cf388d4acf51e1L,0x344a55606961b9d6L,
  19409. 0x1a6778b86a97fd0cL } },
  19410. /* 37 << 175 */
  19411. { { 0xd840fdc1ecc4c7e3L,0xde9fe47d16db68ccL,0xe95f89dea3e216aaL,
  19412. 0x84f1a6a49594a8beL },
  19413. { 0x7ddc7d725a7b162bL,0xc5cfda19adc817a3L,0x80a5d35078b58d46L,
  19414. 0x93365b1382978f19L } },
  19415. /* 38 << 175 */
  19416. { { 0x2e44d22526a1fc90L,0x0d6d10d24d70705dL,0xd94b6b10d70c45f4L,
  19417. 0x0f201022b216c079L },
  19418. { 0xcec966c5658fde41L,0xa8d2bc7d7e27601dL,0xbfcce3e1ff230be7L,
  19419. 0x3394ff6b0033ffb5L } },
  19420. /* 39 << 175 */
  19421. { { 0xd890c5098132c9afL,0xaac4b0eb361e7868L,0x5194ded3e82d15aaL,
  19422. 0x4550bd2e23ae6b7dL },
  19423. { 0x3fda318eea5399d4L,0xd989bffa91638b80L,0x5ea124d0a14aa12dL,
  19424. 0x1fb1b8993667b944L } },
  19425. /* 40 << 175 */
  19426. { { 0x95ec796944c44d6aL,0x91df144a57e86137L,0x915fd62073adac44L,
  19427. 0x8f01732d59a83801L },
  19428. { 0xec579d253aa0a633L,0x06de5e7cc9d6d59cL,0xc132f958b1ef8010L,
  19429. 0x29476f96e65c1a02L } },
  19430. /* 41 << 175 */
  19431. { { 0x336a77c0d34c3565L,0xef1105b21b9f1e9eL,0x63e6d08bf9e08002L,
  19432. 0x9aff2f21c613809eL },
  19433. { 0xb5754f853a80e75dL,0xde71853e6bbda681L,0x86f041df8197fd7aL,
  19434. 0x8b332e08127817faL } },
  19435. /* 42 << 175 */
  19436. { { 0x05d99be8b9c20cdaL,0x89f7aad5d5cd0c98L,0x7ef936fe5bb94183L,
  19437. 0x92ca0753b05cd7f2L },
  19438. { 0x9d65db1174a1e035L,0x02628cc813eaea92L,0xf2d9e24249e4fbf2L,
  19439. 0x94fdfd9be384f8b7L } },
  19440. /* 43 << 175 */
  19441. { { 0x65f5605463428c6bL,0x2f7205b290b409a5L,0xf778bb78ff45ae11L,
  19442. 0xa13045bec5ee53b2L },
  19443. { 0xe00a14ff03ef77feL,0x689cd59fffef8befL,0x3578f0ed1e9ade22L,
  19444. 0xe99f3ec06268b6a8L } },
  19445. /* 44 << 175 */
  19446. { { 0xa2057d91ea1b3c3eL,0x2d1a7053b8823a4aL,0xabbb336a2cca451eL,
  19447. 0xcd2466e32218bb5dL },
  19448. { 0x3ac1f42fc8cb762dL,0x7e312aae7690211fL,0xebb9bd7345d07450L,
  19449. 0x207c4b8246c2213fL } },
  19450. /* 45 << 175 */
  19451. { { 0x99d425c1375913ecL,0x94e45e9667908220L,0xc08f3087cd67dbf6L,
  19452. 0xa5670fbec0887056L },
  19453. { 0x6717b64a66f5b8fcL,0xd5a56aea786fec28L,0xa8c3f55fc0ff4952L,
  19454. 0xa77fefae457ac49bL } },
  19455. /* 46 << 175 */
  19456. { { 0x29882d7c98379d44L,0xd000bdfb509edc8aL,0xc6f95979e66fe464L,
  19457. 0x504a6115fa61bde0L },
  19458. { 0x56b3b871effea31aL,0x2d3de26df0c21a54L,0x21dbff31834753bfL,
  19459. 0xe67ecf4969269d86L } },
  19460. /* 47 << 175 */
  19461. { { 0x7a176952151fe690L,0x035158047f2adb5fL,0xee794b15d1b62a8dL,
  19462. 0xf004ceecaae454e6L },
  19463. { 0x0897ea7cf0386facL,0x3b62ff12d1fca751L,0x154181df1b7a04ecL,
  19464. 0x2008e04afb5847ecL } },
  19465. /* 48 << 175 */
  19466. { { 0xd147148e41dbd772L,0x2b419f7322942654L,0x669f30d3e9c544f7L,
  19467. 0x52a2c223c8540149L },
  19468. { 0x5da9ee14634dfb02L,0x5f074ff0f47869f3L,0x74ee878da3933accL,
  19469. 0xe65106514fe35ed1L } },
  19470. /* 49 << 175 */
  19471. { { 0xb3eb9482f1012e7aL,0x51013cc0a8a566aeL,0xdd5e924347c00d3bL,
  19472. 0x7fde089d946bb0e5L },
  19473. { 0x030754fec731b4b3L,0x12a136a499fda062L,0x7c1064b85a1a35bcL,
  19474. 0xbf1f5763446c84efL } },
  19475. /* 50 << 175 */
  19476. { { 0xed29a56da16d4b34L,0x7fba9d09dca21c4fL,0x66d7ac006d8de486L,
  19477. 0x6006198773a2a5e1L },
  19478. { 0x8b400f869da28ff0L,0x3133f70843c4599cL,0x9911c9b8ee28cb0dL,
  19479. 0xcd7e28748e0af61dL } },
  19480. /* 51 << 175 */
  19481. { { 0x5a85f0f272ed91fcL,0x85214f319cd4a373L,0x881fe5be1925253cL,
  19482. 0xd8dc98e091e8bc76L },
  19483. { 0x7120affe585cc3a2L,0x724952ed735bf97aL,0x5581e7dc3eb34581L,
  19484. 0x5cbff4f2e52ee57dL } },
  19485. /* 52 << 175 */
  19486. { { 0x8d320a0e87d8cc7bL,0x9beaa7f3f1d280d0L,0x7a0b95719beec704L,
  19487. 0x9126332e5b7f0057L },
  19488. { 0x01fbc1b48ed3bd6dL,0x35bb2c12d945eb24L,0x6404694e9a8ae255L,
  19489. 0xb6092eec8d6abfb3L } },
  19490. /* 53 << 175 */
  19491. { { 0x4d76143fcc058865L,0x7b0a5af26e249922L,0x8aef94406a50d353L,
  19492. 0xe11e4bcc64f0e07aL },
  19493. { 0x4472993aa14a90faL,0x7706e20cba0c51d4L,0xf403292f1532672dL,
  19494. 0x52573bfa21829382L } },
  19495. /* 54 << 175 */
  19496. { { 0x6a7bb6a93b5bdb83L,0x08da65c0a4a72318L,0xc58d22aa63eb065fL,
  19497. 0x1717596c1b15d685L },
  19498. { 0x112df0d0b266d88bL,0xf688ae975941945aL,0x487386e37c292cacL,
  19499. 0x42f3b50d57d6985cL } },
  19500. /* 55 << 175 */
  19501. { { 0x6da4f9986a90fc34L,0xc8f257d365ca8a8dL,0xc2feabca6951f762L,
  19502. 0xe1bc81d074c323acL },
  19503. { 0x1bc68f67251a2a12L,0x10d86587be8a70dcL,0xd648af7ff0f84d2eL,
  19504. 0xf0aa9ebc6a43ac92L } },
  19505. /* 56 << 175 */
  19506. { { 0x69e3be0427596893L,0xb6bb02a645bf452bL,0x0875c11af4c698c8L,
  19507. 0x6652b5c7bece3794L },
  19508. { 0x7b3755fd4f5c0499L,0x6ea16558b5532b38L,0xd1c69889a2e96ef7L,
  19509. 0x9c773c3a61ed8f48L } },
  19510. /* 57 << 175 */
  19511. { { 0x2b653a409b323abcL,0xe26605e1f0e1d791L,0x45d410644a87157aL,
  19512. 0x8f9a78b7cbbce616L },
  19513. { 0xcf1e44aac407edddL,0x81ddd1d8a35b964fL,0x473e339efd083999L,
  19514. 0x6c94bdde8e796802L } },
  19515. /* 58 << 175 */
  19516. { { 0x5a304ada8545d185L,0x82ae44ea738bb8cbL,0x628a35e3df87e10eL,
  19517. 0xd3624f3da15b9fe3L },
  19518. { 0xcc44209b14be4254L,0x7d0efcbcbdbc2ea5L,0x1f60336204c37bbeL,
  19519. 0x21f363f556a5852cL } },
  19520. /* 59 << 175 */
  19521. { { 0xa1503d1ca8501550L,0x2251e0e1d8ab10bbL,0xde129c966961c51cL,
  19522. 0x1f7246a481910f68L },
  19523. { 0x2eb744ee5f2591f2L,0x3c47d33f5e627157L,0x4d6d62c922f3bd68L,
  19524. 0x6120a64bcb8df856L } },
  19525. /* 60 << 175 */
  19526. { { 0x3a9ac6c07b5d07dfL,0xa92b95587ef39783L,0xe128a134ab3a9b4fL,
  19527. 0x41c18807b1252f05L },
  19528. { 0xfc7ed08980ba9b1cL,0xac8dc6dec532a9ddL,0xbf829cef55246809L,
  19529. 0x101b784f5b4ee80fL } },
  19530. /* 61 << 175 */
  19531. { { 0xc09945bbb6f11603L,0x57b09dbe41d2801eL,0xfba5202fa97534a8L,
  19532. 0x7fd8ae5fc17b9614L },
  19533. { 0xa50ba66678308435L,0x9572f77cd3868c4dL,0x0cef7bfd2dd7aab0L,
  19534. 0xe7958e082c7c79ffL } },
  19535. /* 62 << 175 */
  19536. { { 0x81262e4225346689L,0x716da290b07c7004L,0x35f911eab7950ee3L,
  19537. 0x6fd72969261d21b5L },
  19538. { 0x5238980308b640d3L,0x5b0026ee887f12a1L,0x20e21660742e9311L,
  19539. 0x0ef6d5415ff77ff7L } },
  19540. /* 63 << 175 */
  19541. { { 0x969127f0f9c41135L,0xf21d60c968a64993L,0x656e5d0ce541875cL,
  19542. 0xf1e0f84ea1d3c233L },
  19543. { 0x9bcca35906002d60L,0xbe2da60c06191552L,0x5da8bbae61181ec3L,
  19544. 0x9f04b82365806f19L } },
  19545. /* 64 << 175 */
  19546. { { 0xf1604a7dd4b79bb8L,0xaee806fb52c878c8L,0x34144f118d47b8e8L,
  19547. 0x72edf52b949f9054L },
  19548. { 0xebfca84e2127015aL,0x9051d0c09cb7cef3L,0x86e8fe58296deec8L,
  19549. 0x33b2818841010d74L } },
  19550. /* 0 << 182 */
  19551. { { 0x00, 0x00, 0x00, 0x00 },
  19552. { 0x00, 0x00, 0x00, 0x00 } },
  19553. /* 1 << 182 */
  19554. { { 0x01079383171b445fL,0x9bcf21e38131ad4cL,0x8cdfe205c93987e8L,
  19555. 0xe63f4152c92e8c8fL },
  19556. { 0x729462a930add43dL,0x62ebb143c980f05aL,0x4f3954e53b06e968L,
  19557. 0xfe1d75ad242cf6b1L } },
  19558. /* 2 << 182 */
  19559. { { 0x5f95c6c7af8685c8L,0xd4c1c8ce2f8f01aaL,0xc44bbe322574692aL,
  19560. 0xb8003478d4a4a068L },
  19561. { 0x7c8fc6e52eca3cdbL,0xea1db16bec04d399L,0xb05bc82e8f2bc5cfL,
  19562. 0x763d517ff44793d2L } },
  19563. /* 3 << 182 */
  19564. { { 0x4451c1b808bd98d0L,0x644b1cd46575f240L,0x6907eb337375d270L,
  19565. 0x56c8bebdfa2286bdL },
  19566. { 0xc713d2acc4632b46L,0x17da427aafd60242L,0x313065b7c95c7546L,
  19567. 0xf8239898bf17a3deL } },
  19568. /* 4 << 182 */
  19569. { { 0xf3b7963f4c830320L,0x842c7aa0903203e3L,0xaf22ca0ae7327afbL,
  19570. 0x38e13092967609b6L },
  19571. { 0x73b8fb62757558f1L,0x3cc3e831f7eca8c1L,0xe4174474f6331627L,
  19572. 0xa77989cac3c40234L } },
  19573. /* 5 << 182 */
  19574. { { 0xe5fd17a144a081e0L,0xd797fb7db70e296aL,0x2b472b30481f719cL,
  19575. 0x0e632a98fe6f8c52L },
  19576. { 0x89ccd116c5f0c284L,0xf51088af2d987c62L,0x2a2bccda4c2de6cfL,
  19577. 0x810f9efef679f0f9L } },
  19578. /* 6 << 182 */
  19579. { { 0xb0f394b97ffe4b3eL,0x0b691d21e5fa5d21L,0xb0bd77479dfbbc75L,
  19580. 0xd2830fdafaf78b00L },
  19581. { 0xf78c249c52434f57L,0x4b1f754598096dabL,0x73bf6f948ff8c0b3L,
  19582. 0x34aef03d454e134cL } },
  19583. /* 7 << 182 */
  19584. { { 0xf8d151f4b7ac7ec5L,0xd6ceb95ae50da7d5L,0xa1b492b0dc3a0eb8L,
  19585. 0x75157b69b3dd2863L },
  19586. { 0xe2c4c74ec5413d62L,0xbe329ff7bc5fc4c7L,0x835a2aea60fa9ddaL,
  19587. 0xf117f5ad7445cb87L } },
  19588. /* 8 << 182 */
  19589. { { 0xae8317f4b0166f7aL,0xfbd3e3f7ceec74e6L,0xfdb516ace0874bfdL,
  19590. 0x3d846019c681f3a3L },
  19591. { 0x0b12ee5c7c1620b0L,0xba68b4dd2b63c501L,0xac03cd326668c51eL,
  19592. 0x2a6279f74e0bcb5bL } },
  19593. /* 9 << 182 */
  19594. { { 0x17bd69b06ae85c10L,0x729469791dfdd3a6L,0xd9a032682c078becL,
  19595. 0x41c6a658bfd68a52L },
  19596. { 0xcdea10240e023900L,0xbaeec121b10d144dL,0x5a600e74058ab8dcL,
  19597. 0x1333af21bb89ccddL } },
  19598. /* 10 << 182 */
  19599. { { 0xdf25eae03aaba1f1L,0x2cada16e3b7144cfL,0x657ee27d71ab98bcL,
  19600. 0x99088b4c7a6fc96eL },
  19601. { 0x05d5c0a03549dbd4L,0x42cbdf8ff158c3acL,0x3fb6b3b087edd685L,
  19602. 0x22071cf686f064d0L } },
  19603. /* 11 << 182 */
  19604. { { 0xd2d6721fff2811e5L,0xdb81b703fe7fae8cL,0x3cfb74efd3f1f7bbL,
  19605. 0x0cdbcd7616cdeb5dL },
  19606. { 0x4f39642a566a808cL,0x02b74454340064d6L,0xfabbadca0528fa6fL,
  19607. 0xe4c3074cd3fc0bb6L } },
  19608. /* 12 << 182 */
  19609. { { 0xb32cb8b0b796d219L,0xc3e95f4f34741dd9L,0x8721212568edf6f5L,
  19610. 0x7a03aee4a2b9cb8eL },
  19611. { 0x0cd3c376f53a89aaL,0x0d8af9b1948a28dcL,0xcf86a3f4902ab04fL,
  19612. 0x8aacb62a7f42002dL } },
  19613. /* 13 << 182 */
  19614. { { 0x106985ebf62ffd52L,0xe670b54e5797bf10L,0x4b405209c5e30aefL,
  19615. 0x12c97a204365b5e9L },
  19616. { 0x104646ce1fe32093L,0x13cb4ff63907a8c9L,0x8b9f30d1d46e726bL,
  19617. 0xe1985e21aba0f499L } },
  19618. /* 14 << 182 */
  19619. { { 0xc573dea910a230cdL,0x24f46a93cd30f947L,0xf2623fcfabe2010aL,
  19620. 0x3f278cb273f00e4fL },
  19621. { 0xed55c67d50b920ebL,0xf1cb9a2d8e760571L,0x7c50d1090895b709L,
  19622. 0x4207cf07190d4369L } },
  19623. /* 15 << 182 */
  19624. { { 0x3b027e81c4127fe1L,0xa9f8b9ad3ae9c566L,0x5ab10851acbfbba5L,
  19625. 0xa747d648569556f5L },
  19626. { 0xcc172b5c2ba97bf7L,0x15e0f77dbcfa3324L,0xa345b7977686279dL,
  19627. 0x5a723480e38003d3L } },
  19628. /* 16 << 182 */
  19629. { { 0xfd8e139f8f5fcda8L,0xf3e558c4bdee5bfdL,0xd76cbaf4e33f9f77L,
  19630. 0x3a4c97a471771969L },
  19631. { 0xda27e84bf6dce6a7L,0xff373d9613e6c2d1L,0xf115193cd759a6e9L,
  19632. 0x3f9b702563d2262cL } },
  19633. /* 17 << 182 */
  19634. { { 0xd9764a31317cd062L,0x30779d8e199f8332L,0xd807410616b11b0bL,
  19635. 0x7917ab9f78aeaed8L },
  19636. { 0xb67a9cbe28fb1d8eL,0x2e313563136eda33L,0x010b7069a371a86cL,
  19637. 0x44d90fa26744e6b7L } },
  19638. /* 18 << 182 */
  19639. { { 0x68190867d6b3e243L,0x9fe6cd9d59048c48L,0xb900b02895731538L,
  19640. 0xa012062f32cae04fL },
  19641. { 0x8107c8bc9399d082L,0x47e8c54a41df12e2L,0x14ba5117b6ef3f73L,
  19642. 0x22260bea81362f0bL } },
  19643. /* 19 << 182 */
  19644. { { 0x90ea261e1a18cc20L,0x2192999f2321d636L,0xef64d314e311b6a0L,
  19645. 0xd7401e4c3b54a1f5L },
  19646. { 0x190199836fbca2baL,0x46ad32938fbffc4bL,0xa142d3f63786bf40L,
  19647. 0xeb5cbc26b67039fcL } },
  19648. /* 20 << 182 */
  19649. { { 0x9cb0ae6c252bd479L,0x05e0f88a12b5848fL,0x78f6d2b2a5c97663L,
  19650. 0x6f6e149bc162225cL },
  19651. { 0xe602235cde601a89L,0xd17bbe98f373be1fL,0xcaf49a5ba8471827L,
  19652. 0x7e1a0a8518aaa116L } },
  19653. /* 21 << 182 */
  19654. { { 0x6c833196270580c3L,0x1e233839f1c98a14L,0x67b2f7b4ae34e0a5L,
  19655. 0x47ac8745d8ce7289L },
  19656. { 0x2b74779a100dd467L,0x274a43374ee50d09L,0x603dcf1383608bc9L,
  19657. 0xcd9da6c3c89e8388L } },
  19658. /* 22 << 182 */
  19659. { { 0x2660199f355116acL,0xcc38bb59b6d18eedL,0x3075f31f2f4bc071L,
  19660. 0x9774457f265dc57eL },
  19661. { 0x06a6a9c8c6db88bbL,0x6429d07f4ec98e04L,0x8d05e57b05ecaa8bL,
  19662. 0x20f140b17872ea7bL } },
  19663. /* 23 << 182 */
  19664. { { 0xdf8c0f09ca494693L,0x48d3a020f252e909L,0x4c5c29af57b14b12L,
  19665. 0x7e6fa37dbf47ad1cL },
  19666. { 0x66e7b50649a0c938L,0xb72c0d486be5f41fL,0x6a6242b8b2359412L,
  19667. 0xcd35c7748e859480L } },
  19668. /* 24 << 182 */
  19669. { { 0x12536fea87baa627L,0x58c1fec1f72aa680L,0x6c29b637601e5dc9L,
  19670. 0x9e3c3c1cde9e01b9L },
  19671. { 0xefc8127b2bcfe0b0L,0x351071022a12f50dL,0x6ccd6cb14879b397L,
  19672. 0xf792f804f8a82f21L } },
  19673. /* 25 << 182 */
  19674. { { 0x509d4804a9b46402L,0xedddf85dc10f0850L,0x928410dc4b6208aaL,
  19675. 0xf6229c46391012dcL },
  19676. { 0xc5a7c41e7727b9b6L,0x289e4e4baa444842L,0x049ba1d9e9a947eaL,
  19677. 0x44f9e47f83c8debcL } },
  19678. /* 26 << 182 */
  19679. { { 0xfa77a1fe611f8b8eL,0xfd2e416af518f427L,0xc5fffa70114ebac3L,
  19680. 0xfe57c4e95d89697bL },
  19681. { 0xfdd053acb1aaf613L,0x31df210fea585a45L,0x318cc10e24985034L,
  19682. 0x1a38efd15f1d6130L } },
  19683. /* 27 << 182 */
  19684. { { 0xbf86f2370b1e9e21L,0xb258514d1dbe88aaL,0x1e38a58890c1baf9L,
  19685. 0x2936a01ebdb9b692L },
  19686. { 0xd576de986dd5b20cL,0xb586bf7170f98ecfL,0xcccf0f12c42d2fd7L,
  19687. 0x8717e61cfb35bd7bL } },
  19688. /* 28 << 182 */
  19689. { { 0x8b1e572235e6fc06L,0x3477728f0b3e13d5L,0x150c294daa8a7372L,
  19690. 0xc0291d433bfa528aL },
  19691. { 0xc6c8bc67cec5a196L,0xdeeb31e45c2e8a7cL,0xba93e244fb6e1c51L,
  19692. 0xb9f8b71b2e28e156L } },
  19693. /* 29 << 182 */
  19694. { { 0xce65a287968a2ab9L,0xe3c5ce6946bbcb1fL,0xf8c835b9e7ae3f30L,
  19695. 0x16bbee26ff72b82bL },
  19696. { 0x665e2017fd42cd22L,0x1e139970f8b1d2a0L,0x125cda2979204932L,
  19697. 0x7aee94a549c3bee5L } },
  19698. /* 30 << 182 */
  19699. { { 0x68c7016089821a66L,0xf7c376788f981669L,0xd90829fc48cc3645L,
  19700. 0x346af049d70addfcL },
  19701. { 0x2057b232370bf29cL,0xf90c73ce42e650eeL,0xe03386eaa126ab90L,
  19702. 0x0e266e7e975a087bL } },
  19703. /* 31 << 182 */
  19704. { { 0x80578eb90fca65d9L,0x7e2989ea16af45b8L,0x7438212dcac75a4eL,
  19705. 0x38c7ca394fef36b8L },
  19706. { 0x8650c494d402676aL,0x26ab5a66f72c7c48L,0x4e6cb426ce3a464eL,
  19707. 0xf8f998962b72f841L } },
  19708. /* 32 << 182 */
  19709. { { 0x8c3184911a335cc8L,0x563459ba6a5913e4L,0x1b920d61c7b32919L,
  19710. 0x805ab8b6a02425adL },
  19711. { 0x2ac512da8d006086L,0x6ca4846abcf5c0fdL,0xafea51d8ac2138d7L,
  19712. 0xcb647545344cd443L } },
  19713. /* 33 << 182 */
  19714. { { 0x0429ee8fbd7d9040L,0xee66a2de819b9c96L,0x54f9ec25dea7d744L,
  19715. 0x2ffea642671721bbL },
  19716. { 0x4f19dbd1114344eaL,0x04304536fd0dbc8bL,0x014b50aa29ec7f91L,
  19717. 0xb5fc22febb06014dL } },
  19718. /* 34 << 182 */
  19719. { { 0x60d963a91ee682e0L,0xdf48abc0fe85c727L,0x0cadba132e707c2dL,
  19720. 0xde608d3aa645aeffL },
  19721. { 0x05f1c28bedafd883L,0x3c362edebd94de1fL,0x8dd0629d13593e41L,
  19722. 0x0a5e736f766d6eafL } },
  19723. /* 35 << 182 */
  19724. { { 0xbfa92311f68cf9d1L,0xa4f9ef87c1797556L,0x10d75a1f5601c209L,
  19725. 0x651c374c09b07361L },
  19726. { 0x49950b5888b5ceadL,0x0ef000586fa9dbaaL,0xf51ddc264e15f33aL,
  19727. 0x1f8b5ca62ef46140L } },
  19728. /* 36 << 182 */
  19729. { { 0x343ac0a3ee9523f0L,0xbb75eab2975ea978L,0x1bccf332107387f4L,
  19730. 0x790f92599ab0062eL },
  19731. { 0xf1a363ad1e4f6a5fL,0x06e08b8462519a50L,0x609151877265f1eeL,
  19732. 0x6a80ca3493ae985eL } },
  19733. /* 37 << 182 */
  19734. { { 0x81b29768aaba4864L,0xb13cabf28d52a7d6L,0xb5c363488ead03f1L,
  19735. 0xc932ad9581c7c1c0L },
  19736. { 0x5452708ecae1e27bL,0x9dac42691b0df648L,0x233e3f0cdfcdb8bcL,
  19737. 0xe6ceccdfec540174L } },
  19738. /* 38 << 182 */
  19739. { { 0xbd0d845e95081181L,0xcc8a7920699355d5L,0x111c0f6dc3b375a8L,
  19740. 0xfd95bc6bfd51e0dcL },
  19741. { 0x4a106a266888523aL,0x4d142bd6cb01a06dL,0x79bfd289adb9b397L,
  19742. 0x0bdbfb94e9863914L } },
  19743. /* 39 << 182 */
  19744. { { 0x29d8a2291660f6a6L,0x7f6abcd6551c042dL,0x13039deb0ac3ffe8L,
  19745. 0xa01be628ec8523fbL },
  19746. { 0x6ea341030ca1c328L,0xc74114bdb903928eL,0x8aa4ff4e9e9144b0L,
  19747. 0x7064091f7f9a4b17L } },
  19748. /* 40 << 182 */
  19749. { { 0xa3f4f521e447f2c4L,0x81b8da7a604291f0L,0xd680bc467d5926deL,
  19750. 0x84f21fd534a1202fL },
  19751. { 0x1d1e31814e9df3d8L,0x1ca4861a39ab8d34L,0x809ddeec5b19aa4aL,
  19752. 0x59f72f7e4d329366L } },
  19753. /* 41 << 182 */
  19754. { { 0xa2f93f41386d5087L,0x40bf739cdd67d64fL,0xb449420566702158L,
  19755. 0xc33c65be73b1e178L },
  19756. { 0xcdcd657c38ca6153L,0x97f4519adc791976L,0xcc7c7f29cd6e1f39L,
  19757. 0x38de9cfb7e3c3932L } },
  19758. /* 42 << 182 */
  19759. { { 0xe448eba37b793f85L,0xe9f8dbf9f067e914L,0xc0390266f114ae87L,
  19760. 0x39ed75a7cd6a8e2aL },
  19761. { 0xadb148487ffba390L,0x67f8cb8b6af9bc09L,0x322c38489c7476dbL,
  19762. 0xa320fecf52a538d6L } },
  19763. /* 43 << 182 */
  19764. { { 0xe0493002b2aced2bL,0xdfba1809616bd430L,0x531c4644c331be70L,
  19765. 0xbc04d32e90d2e450L },
  19766. { 0x1805a0d10f9f142dL,0x2c44a0c547ee5a23L,0x31875a433989b4e3L,
  19767. 0x6b1949fd0c063481L } },
  19768. /* 44 << 182 */
  19769. { { 0x2dfb9e08be0f4492L,0x3ff0da03e9d5e517L,0x03dbe9a1f79466a8L,
  19770. 0x0b87bcd015ea9932L },
  19771. { 0xeb64fc83ab1f58abL,0x6d9598da817edc8aL,0x699cff661d3b67e5L,
  19772. 0x645c0f2992635853L } },
  19773. /* 45 << 182 */
  19774. { { 0x253cdd82eabaf21cL,0x82b9602a2241659eL,0x2cae07ec2d9f7091L,
  19775. 0xbe4c720c8b48cd9bL },
  19776. { 0x6ce5bc036f08d6c9L,0x36e8a997af10bf40L,0x83422d213e10ff12L,
  19777. 0x7b26d3ebbcc12494L } },
  19778. /* 46 << 182 */
  19779. { { 0xb240d2d0c9469ad6L,0xc4a11b4d30afa05bL,0x4b604acedd6ba286L,
  19780. 0x184866003ee2864cL },
  19781. { 0x5869d6ba8d9ce5beL,0x0d8f68c5ff4bfb0dL,0xb69f210b5700cf73L,
  19782. 0x61f6653a6d37c135L } },
  19783. /* 47 << 182 */
  19784. { { 0xff3d432b5aff5a48L,0x0d81c4b972ba3a69L,0xee879ae9fa1899efL,
  19785. 0xbac7e2a02d6acafdL },
  19786. { 0xd6d93f6c1c664399L,0x4c288de15bcb135dL,0x83031dab9dab7cbfL,
  19787. 0xfe23feb03abbf5f0L } },
  19788. /* 48 << 182 */
  19789. { { 0x9f1b2466cdedca85L,0x140bb7101a09538cL,0xac8ae8515e11115dL,
  19790. 0x0d63ff676f03f59eL },
  19791. { 0x755e55517d234afbL,0x61c2db4e7e208fc1L,0xaa9859cef28a4b5dL,
  19792. 0xbdd6d4fc34af030fL } },
  19793. /* 49 << 182 */
  19794. { { 0xd1c4a26d3be01cb1L,0x9ba14ffc243aa07cL,0xf95cd3a9b2503502L,
  19795. 0xe379bc067d2a93abL },
  19796. { 0x3efc18e9d4ca8d68L,0x083558ec80bb412aL,0xd903b9409645a968L,
  19797. 0xa499f0b69ba6054fL } },
  19798. /* 50 << 182 */
  19799. { { 0x208b573cb8349abeL,0x3baab3e530b4fc1cL,0x87e978bacb524990L,
  19800. 0x3524194eccdf0e80L },
  19801. { 0x627117257d4bcc42L,0xe90a3d9bb90109baL,0x3b1bdd571323e1e0L,
  19802. 0xb78e9bd55eae1599L } },
  19803. /* 51 << 182 */
  19804. { { 0x0794b7469e03d278L,0x80178605d70e6297L,0x171792f899c97855L,
  19805. 0x11b393eef5a86b5cL },
  19806. { 0x48ef6582d8884f27L,0xbd44737abf19ba5fL,0x8698de4ca42062c6L,
  19807. 0x8975eb8061ce9c54L } },
  19808. /* 52 << 182 */
  19809. { { 0xd50e57c7d7fe71f3L,0x15342190bc97ce38L,0x51bda2de4df07b63L,
  19810. 0xba12aeae200eb87dL },
  19811. { 0xabe135d2a9b4f8f6L,0x04619d65fad6d99cL,0x4a6683a77994937cL,
  19812. 0x7a778c8b6f94f09aL } },
  19813. /* 53 << 182 */
  19814. { { 0x8c50862320a71b89L,0x241a2aed1c229165L,0x352be595aaf83a99L,
  19815. 0x9fbfee7f1562bac8L },
  19816. { 0xeaf658b95c4017e3L,0x1dc7f9e015120b86L,0xd84f13dd4c034d6fL,
  19817. 0x283dd737eaea3038L } },
  19818. /* 54 << 182 */
  19819. { { 0x197f2609cd85d6a2L,0x6ebbc345fae60177L,0xb80f031b4e12fedeL,
  19820. 0xde55d0c207a2186bL },
  19821. { 0x1fb3e37f24dcdd5aL,0x8d602da57ed191fbL,0x108fb05676023e0dL,
  19822. 0x70178c71459c20c0L } },
  19823. /* 55 << 182 */
  19824. { { 0xfad5a3863fe54cf0L,0xa4a3ec4f02bbb475L,0x1aa5ec20919d94d7L,
  19825. 0x5d3b63b5a81e4ab3L },
  19826. { 0x7fa733d85ad3d2afL,0xfbc586ddd1ac7a37L,0x282925de40779614L,
  19827. 0xfe0ffffbe74a242aL } },
  19828. /* 56 << 182 */
  19829. { { 0x3f39e67f906151e5L,0xcea27f5f55e10649L,0xdca1d4e1c17cf7b7L,
  19830. 0x0c326d122fe2362dL },
  19831. { 0x05f7ac337dd35df3L,0x0c3b7639c396dbdfL,0x0912f5ac03b7db1cL,
  19832. 0x9dea4b705c9ed4a9L } },
  19833. /* 57 << 182 */
  19834. { { 0x475e6e53aae3f639L,0xfaba0e7cfc278bacL,0x16f9e2219490375fL,
  19835. 0xaebf9746a5a7ed0aL },
  19836. { 0x45f9af3ff41ad5d6L,0x03c4623cb2e99224L,0x82c5bb5cb3cf56aaL,
  19837. 0x6431181934567ed3L } },
  19838. /* 58 << 182 */
  19839. { { 0xec57f2118be489acL,0x2821895db9a1104bL,0x610dc8756064e007L,
  19840. 0x8e526f3f5b20d0feL },
  19841. { 0x6e71ca775b645aeeL,0x3d1dcb9f800e10ffL,0x36b51162189cf6deL,
  19842. 0x2c5a3e306bb17353L } },
  19843. /* 59 << 182 */
  19844. { { 0xc186cd3e2a6c6fbfL,0xa74516fa4bf97906L,0x5b4b8f4b279d6901L,
  19845. 0x0c4e57b42b573743L },
  19846. { 0x75fdb229b6e386b6L,0xb46793fd99deac27L,0xeeec47eacf712629L,
  19847. 0xe965f3c4cbc3b2ddL } },
  19848. /* 60 << 182 */
  19849. { { 0x8dd1fb83425c6559L,0x7fc00ee60af06fdaL,0xe98c922533d956dfL,
  19850. 0x0f1ef3354fbdc8a2L },
  19851. { 0x2abb5145b79b8ea2L,0x40fd2945bdbff288L,0x6a814ac4d7185db7L,
  19852. 0xc4329d6fc084609aL } },
  19853. /* 61 << 182 */
  19854. { { 0xc9ba7b52ed1be45dL,0x891dd20de4cd2c74L,0x5a4d4a7f824139b1L,
  19855. 0x66c17716b873c710L },
  19856. { 0x5e5bc1412843c4e0L,0xd5ac4817b97eb5bfL,0xc0f8af54450c95c7L,
  19857. 0xc91b3fa0318406c5L } },
  19858. /* 62 << 182 */
  19859. { { 0x360c340aab9d97f8L,0xfb57bd0790a2d611L,0x4339ae3ca6a6f7e5L,
  19860. 0x9c1fcd2a2feb8a10L },
  19861. { 0x972bcca9c7ea7432L,0x1b0b924c308076f6L,0x80b2814a2a5b4ca5L,
  19862. 0x2f78f55b61ef3b29L } },
  19863. /* 63 << 182 */
  19864. { { 0xf838744ac18a414fL,0xc611eaae903d0a86L,0x94dabc162a453f55L,
  19865. 0xe6f2e3da14efb279L },
  19866. { 0x5b7a60179320dc3cL,0x692e382f8df6b5a4L,0x3f5e15e02d40fa90L,
  19867. 0xc87883ae643dd318L } },
  19868. /* 64 << 182 */
  19869. { { 0x511053e453544774L,0x834d0ecc3adba2bcL,0x4215d7f7bae371f5L,
  19870. 0xfcfd57bf6c8663bcL },
  19871. { 0xded2383dd6901b1dL,0x3b49fbb4b5587dc3L,0xfd44a08d07625f62L,
  19872. 0x3ee4d65b9de9b762L } },
  19873. /* 0 << 189 */
  19874. { { 0x00, 0x00, 0x00, 0x00 },
  19875. { 0x00, 0x00, 0x00, 0x00 } },
  19876. /* 1 << 189 */
  19877. { { 0x64e5137d0d63d1faL,0x658fc05202a9d89fL,0x4889487450436309L,
  19878. 0xe9ae30f8d598da61L },
  19879. { 0x2ed710d1818baf91L,0xe27e9e068b6a0c20L,0x1e28dcfb1c1a6b44L,
  19880. 0x883acb64d6ac57dcL } },
  19881. /* 2 << 189 */
  19882. { { 0x8735728dc2c6ff70L,0x79d6122fc5dc2235L,0x23f5d00319e277f9L,
  19883. 0x7ee84e25dded8cc7L },
  19884. { 0x91a8afb063cd880aL,0x3f3ea7c63574af60L,0x0cfcdc8402de7f42L,
  19885. 0x62d0792fb31aa152L } },
  19886. /* 3 << 189 */
  19887. { { 0x8e1b4e438a5807ceL,0xad283893e4109a7eL,0xc30cc9cbafd59ddaL,
  19888. 0xf65f36c63d8d8093L },
  19889. { 0xdf31469ea60d32b2L,0xee93df4b3e8191c8L,0x9c1017c5355bdeb5L,
  19890. 0xd26231858616aa28L } },
  19891. /* 4 << 189 */
  19892. { { 0xb02c83f9dec31a21L,0x988c8b236ad9d573L,0x53e983aea57be365L,
  19893. 0xe968734d646f834eL },
  19894. { 0x9137ea8f5da6309bL,0x10f3a624c1f1ce16L,0x782a9ea2ca440921L,
  19895. 0xdf94739e5b46f1b5L } },
  19896. /* 5 << 189 */
  19897. { { 0x9f9be006cce85c9bL,0x360e70d6a4c7c2d3L,0x2cd5beeaaefa1e60L,
  19898. 0x64cf63c08c3d2b6dL },
  19899. { 0xfb107fa3e1cf6f90L,0xb7e937c6d5e044e6L,0x74e8ca78ce34db9fL,
  19900. 0x4f8b36c13e210bd0L } },
  19901. /* 6 << 189 */
  19902. { { 0x1df165a434a35ea8L,0x3418e0f74d4412f6L,0x5af1f8af518836c3L,
  19903. 0x42ceef4d130e1965L },
  19904. { 0x5560ca0b543a1957L,0xc33761e5886cb123L,0x66624b1ffe98ed30L,
  19905. 0xf772f4bf1090997dL } },
  19906. /* 7 << 189 */
  19907. { { 0xf4e540bb4885d410L,0x7287f8109ba5f8d7L,0x22d0d865de98dfb1L,
  19908. 0x49ff51a1bcfbb8a3L },
  19909. { 0xb6b6fa536bc3012eL,0x3d31fd72170d541dL,0x8018724f4b0f4966L,
  19910. 0x79e7399f87dbde07L } },
  19911. /* 8 << 189 */
  19912. { { 0x56f8410ef4f8b16aL,0x97241afec47b266aL,0x0a406b8e6d9c87c1L,
  19913. 0x803f3e02cd42ab1bL },
  19914. { 0x7f0309a804dbec69L,0xa83b85f73bbad05fL,0xc6097273ad8e197fL,
  19915. 0xc097440e5067adc1L } },
  19916. /* 9 << 189 */
  19917. { { 0x730eafb63524ff16L,0xd7f9b51e823fc6ceL,0x27bd0d32443e4ac0L,
  19918. 0x40c59ad94d66f217L },
  19919. { 0x6c33136f17c387a4L,0x5043b8d5eb86804dL,0x74970312675a73c9L,
  19920. 0x838fdb31f16669b6L } },
  19921. /* 10 << 189 */
  19922. { { 0xc507b6dd418e7dddL,0x39888d93472f19d6L,0x7eae26be0c27eb4dL,
  19923. 0x17b53ed3fbabb884L },
  19924. { 0xfc27021b2b01ae4fL,0x88462e87cf488682L,0xbee096ec215e2d87L,
  19925. 0xeb2fea9ad242e29bL } },
  19926. /* 11 << 189 */
  19927. { { 0x5d985b5fb821fc28L,0x89d2e197dc1e2ad2L,0x55b566b89030ba62L,
  19928. 0xe3fd41b54f41b1c6L },
  19929. { 0xb738ac2eb9a96d61L,0x7f8567ca369443f4L,0x8698622df803a440L,
  19930. 0x2b5862368fe2f4dcL } },
  19931. /* 12 << 189 */
  19932. { { 0xbbcc00c756b95bceL,0x5ec03906616da680L,0x79162ee672214252L,
  19933. 0x43132b6386a892d2L },
  19934. { 0x4bdd3ff22f3263bfL,0xd5b3733c9cd0a142L,0x592eaa8244415ccbL,
  19935. 0x663e89248d5474eaL } },
  19936. /* 13 << 189 */
  19937. { { 0x8058a25e5236344eL,0x82e8df9dbda76ee6L,0xdcf6efd811cc3d22L,
  19938. 0x00089cda3b4ab529L },
  19939. { 0x91d3a071bd38a3dbL,0x4ea97fc0ef72b925L,0x0c9fc15bea3edf75L,
  19940. 0x5a6297cda4348ed3L } },
  19941. /* 14 << 189 */
  19942. { { 0x0d38ab35ce7c42d4L,0x9fd493ef82feab10L,0x46056b6d82111b45L,
  19943. 0xda11dae173efc5c3L },
  19944. { 0xdc7402785545a7fbL,0xbdb2601c40d507e6L,0x121dfeeb7066fa58L,
  19945. 0x214369a839ae8c2aL } },
  19946. /* 15 << 189 */
  19947. { { 0x195709cb06e0956cL,0x4c9d254f010cd34bL,0xf51e13f70471a532L,
  19948. 0xe19d67911e73054dL },
  19949. { 0xf702a628db5c7be3L,0xc7141218b24dde05L,0xdc18233cf29b2e2eL,
  19950. 0x3a6bd1e885342dbaL } },
  19951. /* 16 << 189 */
  19952. { { 0x3f747fa0b311898cL,0xe2a272e4cd0eac65L,0x4bba5851f914d0bcL,
  19953. 0x7a1a9660c4a43ee3L },
  19954. { 0xe5a367cea1c8cde9L,0x9d958ba97271abe3L,0xf3ff7eb63d1615cdL,
  19955. 0xa2280dcef5ae20b0L } },
  19956. /* 17 << 189 */
  19957. { { 0x56dba5c1cf640147L,0xea5a2e3d5e83d118L,0x04cd6b6dda24c511L,
  19958. 0x1c0f4671e854d214L },
  19959. { 0x91a6b7a969565381L,0xdc966240decf1f5bL,0x1b22d21cfcf5d009L,
  19960. 0x2a05f6419021dbd5L } },
  19961. /* 18 << 189 */
  19962. { { 0x8c0ed566d4312483L,0x5179a95d643e216fL,0xcc185fec17044493L,
  19963. 0xb306333954991a21L },
  19964. { 0xd801ecdb0081a726L,0x0149b0c64fa89bbbL,0xafe9065a4391b6b9L,
  19965. 0xedc92786d633f3a3L } },
  19966. /* 19 << 189 */
  19967. { { 0xe408c24aae6a8e13L,0x85833fde9f3897abL,0x43800e7ed81a0715L,
  19968. 0xde08e346b44ffc5fL },
  19969. { 0x7094184ccdeff2e0L,0x49f9387b165eaed1L,0x635d6129777c468aL,
  19970. 0x8c0dcfd1538c2dd8L } },
  19971. /* 20 << 189 */
  19972. { { 0xd6d9d9e37a6a308bL,0x623758304c2767d3L,0x874a8bc6f38cbeb6L,
  19973. 0xd94d3f1accb6fd9eL },
  19974. { 0x92a9735bba21f248L,0x272ad0e56cd1efb0L,0x7437b69c05b03284L,
  19975. 0xe7f047026948c225L } },
  19976. /* 21 << 189 */
  19977. { { 0x8a56c04acba2ececL,0x0c181270e3a73e41L,0x6cb34e9d03e93725L,
  19978. 0xf77c8713496521a9L },
  19979. { 0x94569183fa7f9f90L,0xf2e7aa4c8c9707adL,0xced2c9ba26c1c9a3L,
  19980. 0x9109fe9640197507L } },
  19981. /* 22 << 189 */
  19982. { { 0x9ae868a9e9adfe1cL,0x3984403d314e39bbL,0xb5875720f2fe378fL,
  19983. 0x33f901e0ba44a628L },
  19984. { 0xea1125fe3652438cL,0xae9ec4e69dd1f20bL,0x1e740d9ebebf7fbdL,
  19985. 0x6dbd3ddc42dbe79cL } },
  19986. /* 23 << 189 */
  19987. { { 0x62082aecedd36776L,0xf612c478e9859039L,0xa493b201032f7065L,
  19988. 0xebd4d8f24ff9b211L },
  19989. { 0x3f23a0aaaac4cb32L,0xea3aadb715ed4005L,0xacf17ea4afa27e63L,
  19990. 0x56125c1ac11fd66cL } },
  19991. /* 24 << 189 */
  19992. { { 0x266344a43794f8dcL,0xdcca923a483c5c36L,0x2d6b6bbf3f9d10a0L,
  19993. 0xb320c5ca81d9bdf3L },
  19994. { 0x620e28ff47b50a95L,0x933e3b01cef03371L,0xf081bf8599100153L,
  19995. 0x183be9a0c3a8c8d6L } },
  19996. /* 25 << 189 */
  19997. { { 0x4e3ddc5ad6bbe24dL,0xc6c7463053843795L,0x78193dd765ec2d4cL,
  19998. 0xb8df26cccd3c89b2L },
  19999. { 0x98dbe3995a483f8dL,0x72d8a9577dd3313aL,0x65087294ab0bd375L,
  20000. 0xfcd892487c259d16L } },
  20001. /* 26 << 189 */
  20002. { { 0x8a9443d77613aa81L,0x8010080085fe6584L,0x70fc4dbc7fb10288L,
  20003. 0xf58280d3e86beee8L },
  20004. { 0x14fdd82f7c978c38L,0xdf1204c10de44d7bL,0xa08a1c844160252fL,
  20005. 0x591554cac17646a5L } },
  20006. /* 27 << 189 */
  20007. { { 0x214a37d6a05bd525L,0x48d5f09b07957b3cL,0x0247cdcbd7109bc9L,
  20008. 0x40f9e4bb30599ce7L },
  20009. { 0xc325fa03f46ad2ecL,0x00f766cfc3e3f9eeL,0xab556668d43a4577L,
  20010. 0x68d30a613ee03b93L } },
  20011. /* 28 << 189 */
  20012. { { 0x7ddc81ea77b46a08L,0xcf5a6477c7480699L,0x43a8cb346633f683L,
  20013. 0x1b867e6b92363c60L },
  20014. { 0x439211141f60558eL,0xcdbcdd632f41450eL,0x7fc04601cc630e8bL,
  20015. 0xea7c66d597038b43L } },
  20016. /* 29 << 189 */
  20017. { { 0x7259b8a504e99fd8L,0x98a8dd124785549aL,0x0e459a7c840552e1L,
  20018. 0xcdfcf4d04bb0909eL },
  20019. { 0x34a86db253758da7L,0xe643bb83eac997e1L,0x96400bd7530c5b7eL,
  20020. 0x9f97af87b41c8b52L } },
  20021. /* 30 << 189 */
  20022. { { 0x34fc8820fbeee3f9L,0x93e5349049091afdL,0x764b9be59a31f35cL,
  20023. 0x71f3786457e3d924L },
  20024. { 0x02fb34e0943aa75eL,0xa18c9c58ab8ff6e4L,0x080f31b133cf0d19L,
  20025. 0x5c9682db083518a7L } },
  20026. /* 31 << 189 */
  20027. { { 0x873d4ca6b709c3deL,0x64a842623575b8f0L,0x6275da1f020154bbL,
  20028. 0x97678caad17cf1abL },
  20029. { 0x8779795f951a95c3L,0xdd35b16350fccc08L,0x3270962733d8f031L,
  20030. 0x3c5ab10a498dd85cL } },
  20031. /* 32 << 189 */
  20032. { { 0xb6c185c341dca566L,0x7de7fedad8622aa3L,0x99e84d92901b6dfbL,
  20033. 0x30a02b0e7c4ad288L },
  20034. { 0xc7c81daa2fd3cf36L,0xd1319547df89e59fL,0xb2be8184cd496733L,
  20035. 0xd5f449eb93d3412bL } },
  20036. /* 33 << 189 */
  20037. { { 0x7ea41b1b25fe531dL,0xf97974326a1d5646L,0x86067f722bde501aL,
  20038. 0xf91481c00c85e89cL },
  20039. { 0xca8ee465f8b05bc6L,0x1844e1cf02e83cdaL,0xca82114ab4dbe33bL,
  20040. 0x0f9f87694eabfde2L } },
  20041. /* 34 << 189 */
  20042. { { 0x4936b1c038b27fe2L,0x63b6359baba402dfL,0x40c0ea2f656bdbabL,
  20043. 0x9c992a896580c39cL },
  20044. { 0x600e8f152a60aed1L,0xeb089ca4e0bf49dfL,0x9c233d7d2d42d99aL,
  20045. 0x648d3f954c6bc2faL } },
  20046. /* 35 << 189 */
  20047. { { 0xdcc383a8e1add3f3L,0xf42c0c6a4f64a348L,0x2abd176f0030dbdbL,
  20048. 0x4de501a37d6c215eL },
  20049. { 0x4a107c1f4b9a64bcL,0xa77f0ad32496cd59L,0xfb78ac627688dffbL,
  20050. 0x7025a2ca67937d8eL } },
  20051. /* 36 << 189 */
  20052. { { 0xfde8b2d1d1a8f4e7L,0xf5b3da477354927cL,0xe48606a3d9205735L,
  20053. 0xac477cc6e177b917L },
  20054. { 0xfb1f73d2a883239aL,0xe12572f6cc8b8357L,0x9d355e9cfb1f4f86L,
  20055. 0x89b795f8d9f3ec6eL } },
  20056. /* 37 << 189 */
  20057. { { 0x27be56f1b54398dcL,0x1890efd73fedeed5L,0x62f77f1f9c6d0140L,
  20058. 0x7ef0e314596f0ee4L },
  20059. { 0x50ca6631cc61dab3L,0x4a39801df4866e4fL,0x66c8d032ae363b39L,
  20060. 0x22c591e52ead66aaL } },
  20061. /* 38 << 189 */
  20062. { { 0x954ba308de02a53eL,0x2a6c060fd389f357L,0xe6cfcde8fbf40b66L,
  20063. 0x8e02fc56c6340ce1L },
  20064. { 0xe495779573adb4baL,0x7b86122ca7b03805L,0x63f835120c8e6fa6L,
  20065. 0x83660ea0057d7804L } },
  20066. /* 39 << 189 */
  20067. { { 0xbad7910521ba473cL,0xb6c50beeded5389dL,0xee2caf4daa7c9bc0L,
  20068. 0xd97b8de48c4e98a7L },
  20069. { 0xa9f63e70ab3bbddbL,0x3898aabf2597815aL,0x7659af89ac15b3d9L,
  20070. 0xedf7725b703ce784L } },
  20071. /* 40 << 189 */
  20072. { { 0x25470fabe085116bL,0x04a4337587285310L,0x4e39187ee2bfd52fL,
  20073. 0x36166b447d9ebc74L },
  20074. { 0x92ad433cfd4b322cL,0x726aa817ba79ab51L,0xf96eacd8c1db15ebL,
  20075. 0xfaf71e910476be63L } },
  20076. /* 41 << 189 */
  20077. { { 0xdd69a640641fad98L,0xb799591829622559L,0x03c6daa5de4199dcL,
  20078. 0x92cadc97ad545eb4L },
  20079. { 0x1028238b256534e4L,0x73e80ce68595409aL,0x690d4c66d05dc59bL,
  20080. 0xc95f7b8f981dee80L } },
  20081. /* 42 << 189 */
  20082. { { 0xf4337014d856ac25L,0x441bd9ddac524dcaL,0x640b3d855f0499f5L,
  20083. 0x39cf84a9d5fda182L },
  20084. { 0x04e7b055b2aa95a0L,0x29e33f0a0ddf1860L,0x082e74b5423f6b43L,
  20085. 0x217edeb90aaa2b0fL } },
  20086. /* 43 << 189 */
  20087. { { 0x58b83f3583cbea55L,0xc485ee4dbc185d70L,0x833ff03b1e5f6992L,
  20088. 0xb5b9b9cccf0c0dd5L },
  20089. { 0x7caaee8e4e9e8a50L,0x462e907b6269dafdL,0x6ed5cee9fbe791c6L,
  20090. 0x68ca3259ed430790L } },
  20091. /* 44 << 189 */
  20092. { { 0x2b72bdf213b5ba88L,0x60294c8a35ef0ac4L,0x9c3230ed19b99b08L,
  20093. 0x560fff176c2589aaL },
  20094. { 0x552b8487d6770374L,0xa373202d9a56f685L,0xd3e7f90745f175d9L,
  20095. 0x3c2f315fd080d810L } },
  20096. /* 45 << 189 */
  20097. { { 0x1130e9dd7b9520e8L,0xc078f9e20af037b5L,0x38cd2ec71e9c104cL,
  20098. 0x0f684368c472fe92L },
  20099. { 0xd3f1b5ed6247e7efL,0xb32d33a9396dfe21L,0x46f59cf44a9aa2c2L,
  20100. 0x69cd5168ff0f7e41L } },
  20101. /* 46 << 189 */
  20102. { { 0x3f59da0f4b3234daL,0xcf0b0235b4579ebeL,0x6d1cbb256d2476c7L,
  20103. 0x4f0837e69dc30f08L },
  20104. { 0x9a4075bb906f6e98L,0x253bb434c761e7d1L,0xde2e645f6e73af10L,
  20105. 0xb89a40600c5f131cL } },
  20106. /* 47 << 189 */
  20107. { { 0xd12840c5b8cc037fL,0x3d093a5b7405bb47L,0x6202c253206348b8L,
  20108. 0xbf5d57fcc55a3ca7L },
  20109. { 0x89f6c90c8c3bef48L,0x23ac76235a0a960aL,0xdfbd3d6b552b42abL,
  20110. 0x3ef22458132061f6L } },
  20111. /* 48 << 189 */
  20112. { { 0xd74e9bdac97e6516L,0x88779360c230f49eL,0xa6ec1de31e74ea49L,
  20113. 0x581dcee53fb645a2L },
  20114. { 0xbaef23918f483f14L,0x6d2dddfcd137d13bL,0x54cde50ed2743a42L,
  20115. 0x89a34fc5e4d97e67L } },
  20116. /* 49 << 189 */
  20117. { { 0x13f1f5b312e08ce5L,0xa80540b8a7f0b2caL,0x854bcf7701982805L,
  20118. 0xb8653ffd233bea04L },
  20119. { 0x8e7b878702b0b4c9L,0x2675261f9acb170aL,0x061a9d90930c14e5L,
  20120. 0xb59b30e0def0abeaL } },
  20121. /* 50 << 189 */
  20122. { { 0x1dc19ea60200ec7dL,0xb6f4a3f90bce132bL,0xb8d5de90f13e27e0L,
  20123. 0xbaee5ef01fade16fL },
  20124. { 0x6f406aaae4c6cf38L,0xab4cfe06d1369815L,0x0dcffe87efd550c6L,
  20125. 0x9d4f59c775ff7d39L } },
  20126. /* 51 << 189 */
  20127. { { 0xb02553b151deb6adL,0x812399a4b1877749L,0xce90f71fca6006e1L,
  20128. 0xc32363a6b02b6e77L },
  20129. { 0x02284fbedc36c64dL,0x86c81e31a7e1ae61L,0x2576c7e5b909d94aL,
  20130. 0x8b6f7d02818b2bb0L } },
  20131. /* 52 << 189 */
  20132. { { 0xeca3ed0756faa38aL,0xa3790e6c9305bb54L,0xd784eeda7bc73061L,
  20133. 0xbd56d3696dd50614L },
  20134. { 0xd6575949229a8aa9L,0xdcca8f474595ec28L,0x814305c106ab4fe6L,
  20135. 0xc8c3976824f43f16L } },
  20136. /* 53 << 189 */
  20137. { { 0xe2a45f36523f2b36L,0x995c6493920d93bbL,0xf8afdab790f1632bL,
  20138. 0x79ebbecd1c295954L },
  20139. { 0xc7bb3ddb79592f48L,0x67216a7b5f88e998L,0xd91f098bbc01193eL,
  20140. 0xf7d928a5b1db83fcL } },
  20141. /* 54 << 189 */
  20142. { { 0x55e38417e991f600L,0x2a91113e2981a934L,0xcbc9d64806b13bdeL,
  20143. 0xb011b6ac0755ff44L },
  20144. { 0x6f4cb518045ec613L,0x522d2d31c2f5930aL,0x5acae1af382e65deL,
  20145. 0x5764306727bc966fL } },
  20146. /* 55 << 189 */
  20147. { { 0x5e12705d1c7193f0L,0xf0f32f473be8858eL,0x785c3d7d96c6dfc7L,
  20148. 0xd75b4a20bf31795dL },
  20149. { 0x91acf17b342659d4L,0xe596ea3444f0378fL,0x4515708fce52129dL,
  20150. 0x17387e1e79f2f585L } },
  20151. /* 56 << 189 */
  20152. { { 0x72cfd2e949dee168L,0x1ae052233e2af239L,0x009e75be1d94066aL,
  20153. 0x6cca31c738abf413L },
  20154. { 0xb50bd61d9bc49908L,0x4a9b4a8cf5e2bc1eL,0xeb6cc5f7946f83acL,
  20155. 0x27da93fcebffab28L } },
  20156. /* 57 << 189 */
  20157. { { 0xea314c964821c8c5L,0x8de49deda83c15f4L,0x7a64cf207af33004L,
  20158. 0x45f1bfebc9627e10L },
  20159. { 0x878b062654b9df60L,0x5e4fdc3ca95c0b33L,0xe54a37cac2035d8eL,
  20160. 0x9087cda980f20b8cL } },
  20161. /* 58 << 189 */
  20162. { { 0x36f61c238319ade4L,0x766f287ade8cfdf8L,0x48821948346f3705L,
  20163. 0x49a7b85316e4f4a2L },
  20164. { 0xb9b3f8a75cedadfdL,0x8f5628158db2a815L,0xc0b7d55401f68f95L,
  20165. 0x12971e27688a208eL } },
  20166. /* 59 << 189 */
  20167. { { 0xc9f8b696d0ff34fcL,0x20824de21222718cL,0x7213cf9f0c95284dL,
  20168. 0xe2ad741bdc158240L },
  20169. { 0x0ee3a6df54043ccfL,0x16ff479bd84412b3L,0xf6c74ee0dfc98af0L,
  20170. 0xa78a169f52fcd2fbL } },
  20171. /* 60 << 189 */
  20172. { { 0xd8ae874699c930e9L,0x1d33e85849e117a5L,0x7581fcb46624759fL,
  20173. 0xde50644f5bedc01dL },
  20174. { 0xbeec5d00caf3155eL,0x672d66acbc73e75fL,0x86b9d8c6270b01dbL,
  20175. 0xd249ef8350f55b79L } },
  20176. /* 61 << 189 */
  20177. { { 0x6131d6d473978fe3L,0xcc4e4542754b00a1L,0x4e05df0557dfcfe9L,
  20178. 0x94b29cdd51ef6bf0L },
  20179. { 0xe4530cff9bc7edf2L,0x8ac236fdd3da65f3L,0x0faf7d5fc8eb0b48L,
  20180. 0x4d2de14c660eb039L } },
  20181. /* 62 << 189 */
  20182. { { 0xc006bba760430e54L,0x10a2d0d6da3289abL,0x9c037a5dd7979c59L,
  20183. 0x04d1f3d3a116d944L },
  20184. { 0x9ff224738a0983cdL,0x28e25b38c883cabbL,0xe968dba547a58995L,
  20185. 0x2c80b505774eebdfL } },
  20186. /* 63 << 189 */
  20187. { { 0xee763b714a953bebL,0x502e223f1642e7f6L,0x6fe4b64161d5e722L,
  20188. 0x9d37c5b0dbef5316L },
  20189. { 0x0115ed70f8330bc7L,0x139850e675a72789L,0x27d7faecffceccc2L,
  20190. 0x3016a8604fd9f7f6L } },
  20191. /* 64 << 189 */
  20192. { { 0xc492ec644cd8f64cL,0x58a2d790279d7b51L,0x0ced1fc51fc75256L,
  20193. 0x3e658aed8f433017L },
  20194. { 0x0b61942e05da59ebL,0xba3d60a30ddc3722L,0x7c311cd1742e7f87L,
  20195. 0x6473ffeef6b01b6eL } },
  20196. /* 0 << 196 */
  20197. { { 0x00, 0x00, 0x00, 0x00 },
  20198. { 0x00, 0x00, 0x00, 0x00 } },
  20199. /* 1 << 196 */
  20200. { { 0x8303604f692ac542L,0xf079ffe1227b91d3L,0x19f63e6315aaf9bdL,
  20201. 0xf99ee565f1f344fbL },
  20202. { 0x8a1d661fd6219199L,0x8c883bc6d48ce41cL,0x1065118f3c74d904L,
  20203. 0x713889ee0faf8b1bL } },
  20204. /* 2 << 196 */
  20205. { { 0x972b3f8f81a1b3beL,0x4f3ce145ce2764a0L,0xe2d0f1cc28c4f5f7L,
  20206. 0xdeee0c0dc7f3985bL },
  20207. { 0x7df4adc0d39e25c3L,0x40619820c467a080L,0x440ebc9361cf5a58L,
  20208. 0x527729a6422ad600L } },
  20209. /* 3 << 196 */
  20210. { { 0xca6c0937b1b76ba6L,0x1a2eab854d2026dcL,0xb1715e1519d9ae0aL,
  20211. 0xf1ad9199bac4a026L },
  20212. { 0x35b3dfb807ea7b0eL,0xedf5496f3ed9eb89L,0x8932e5ff2d6d08abL,
  20213. 0xf314874e25bd2731L } },
  20214. /* 4 << 196 */
  20215. { { 0xefb26a753f73f449L,0x1d1c94f88d44fc79L,0x49f0fbc53bc0dc4dL,
  20216. 0xb747ea0b3698a0d0L },
  20217. { 0x5218c3fe228d291eL,0x35b804b543c129d6L,0xfac859b8d1acc516L,
  20218. 0x6c10697d95d6e668L } },
  20219. /* 5 << 196 */
  20220. { { 0xc38e438f0876fd4eL,0x45f0c30783d2f383L,0x203cc2ecb10934cbL,
  20221. 0x6a8f24392c9d46eeL },
  20222. { 0xf16b431b65ccde7bL,0x41e2cd1827e76a6fL,0xb9c8cf8f4e3484d7L,
  20223. 0x64426efd8315244aL } },
  20224. /* 6 << 196 */
  20225. { { 0x1c0a8e44fc94dea3L,0x34c8cdbfdad6a0b0L,0x919c384004113cefL,
  20226. 0xfd32fba415490ffaL },
  20227. { 0x58d190f6795dcfb7L,0xfef01b0383588bafL,0x9e6d1d63ca1fc1c0L,
  20228. 0x53173f96f0a41ac9L } },
  20229. /* 7 << 196 */
  20230. { { 0x2b1d402aba16f73bL,0x2fb310148cf9b9fcL,0x2d51e60e446ef7bfL,
  20231. 0xc731021bb91e1745L },
  20232. { 0x9d3b47244fee99d4L,0x4bca48b6fac5c1eaL,0x70f5f514bbea9af7L,
  20233. 0x751f55a5974c283aL } },
  20234. /* 8 << 196 */
  20235. { { 0x6e30251acb452fdbL,0x31ee696550f30650L,0xb0b3e508933548d9L,
  20236. 0xb8949a4ff4b0ef5bL },
  20237. { 0x208b83263c88f3bdL,0xab147c30db1d9989L,0xed6515fd44d4df03L,
  20238. 0x17a12f75e72eb0c5L } },
  20239. /* 9 << 196 */
  20240. { { 0x3b59796d36cf69dbL,0x1219eee956670c18L,0xfe3341f77a070d8eL,
  20241. 0x9b70130ba327f90cL },
  20242. { 0x36a324620ae18e0eL,0x2021a62346c0a638L,0x251b5817c62eb0d4L,
  20243. 0x87bfbcdf4c762293L } },
  20244. /* 10 << 196 */
  20245. { { 0xf78ab505cdd61d64L,0x8c7a53fcc8c18857L,0xa653ce6f16147515L,
  20246. 0x9c923aa5ea7d52d5L },
  20247. { 0xc24709cb5c18871fL,0x7d53bec873b3cc74L,0x59264afffdd1d4c4L,
  20248. 0x5555917e240da582L } },
  20249. /* 11 << 196 */
  20250. { { 0xcae8bbda548f5a0eL,0x1910eaba3bbfbbe1L,0xae5796857677afc3L,
  20251. 0x49ea61f173ff0b5cL },
  20252. { 0x786554784f7c3922L,0x95d337cd20c68eefL,0x68f1e1e5df779ab9L,
  20253. 0x14b491b0b5cf69a8L } },
  20254. /* 12 << 196 */
  20255. { { 0x7a6cbbe028e3fe89L,0xe7e1fee4c5aac0ebL,0x7f47eda5697e5140L,
  20256. 0x4f450137b454921fL },
  20257. { 0xdb625f8495cd8185L,0x74be0ba1cdb2e583L,0xaee4fd7cdd5e6de4L,
  20258. 0x4251437de8101739L } },
  20259. /* 13 << 196 */
  20260. { { 0x686d72a0ac620366L,0x4be3fb9cb6d59344L,0x6e8b44e7a1eb75b9L,
  20261. 0x84e39da391a5c10cL },
  20262. { 0x37cc1490b38f0409L,0x029519432c2ade82L,0x9b6887831190a2d8L,
  20263. 0x25627d14231182baL } },
  20264. /* 14 << 196 */
  20265. { { 0x6eb550aa658a6d87L,0x1405aaa7cf9c7325L,0xd147142e5c8748c9L,
  20266. 0x7f637e4f53ede0e0L },
  20267. { 0xf8ca277614ffad2cL,0xe58fb1bdbafb6791L,0x17158c23bf8f93fcL,
  20268. 0x7f15b3730a4a4655L } },
  20269. /* 15 << 196 */
  20270. { { 0x39d4add2d842ca72L,0xa71e43913ed96305L,0x5bb09cbe6700be14L,
  20271. 0x68d69d54d8befcf6L },
  20272. { 0xa45f536737183bcfL,0x7152b7bb3370dff7L,0xcf887baabf12525bL,
  20273. 0xe7ac7bddd6d1e3cdL } },
  20274. /* 16 << 196 */
  20275. { { 0x25914f7881fdad90L,0xcf638f560d2cf6abL,0xb90bc03fcc054de5L,
  20276. 0x932811a718b06350L },
  20277. { 0x2f00b3309bbd11ffL,0x76108a6fb4044974L,0x801bb9e0a851d266L,
  20278. 0x0dd099bebf8990c1L } },
  20279. /* 17 << 196 */
  20280. { { 0x58c5aaaaabe32986L,0x0fe9dd2a50d59c27L,0x84951ff48d307305L,
  20281. 0x6c23f82986529b78L },
  20282. { 0x50bb22180b136a79L,0x7e2174de77a20996L,0x6f00a4b9c0bb4da6L,
  20283. 0x89a25a17efdde8daL } },
  20284. /* 18 << 196 */
  20285. { { 0xf728a27ec11ee01dL,0xf900553ae5f10dfbL,0x189a83c802ec893cL,
  20286. 0x3ca5bdc123f66d77L },
  20287. { 0x9878153797eada9fL,0x59c50ab310256230L,0x346042d9323c69b3L,
  20288. 0x1b715a6d2c460449L } },
  20289. /* 19 << 196 */
  20290. { { 0xa41dd4766ae06e0bL,0xcdd7888e9d42e25fL,0x0f395f7456b25a20L,
  20291. 0xeadfe0ae8700e27eL },
  20292. { 0xb09d52a969950093L,0x3525d9cb327f8d40L,0xb8235a9467df886aL,
  20293. 0x77e4b0dd035faec2L } },
  20294. /* 20 << 196 */
  20295. { { 0x115eb20a517d7061L,0x77fe34336c2df683L,0x6870ddc7cdc6fc67L,
  20296. 0xb16105880b87de83L },
  20297. { 0x343584cad9c4ddbeL,0xb3164f1c3d754be2L,0x0731ed3ac1e6c894L,
  20298. 0x26327dec4f6b904cL } },
  20299. /* 21 << 196 */
  20300. { { 0x9d49c6de97b5cd32L,0x40835daeb5eceecdL,0xc66350edd9ded7feL,
  20301. 0x8aeebb5c7a678804L },
  20302. { 0x51d42fb75b8ee9ecL,0xd7a17bdd8e3ca118L,0x40d7511a2ef4400eL,
  20303. 0xc48990ac875a66f4L } },
  20304. /* 22 << 196 */
  20305. { { 0x8de07d2a2199e347L,0xbee755562a39e051L,0x56918786916e51dcL,
  20306. 0xeb1913134a2d89ecL },
  20307. { 0x6679610d37d341edL,0x434fbb4156d51c2bL,0xe54b7ee7d7492dbaL,
  20308. 0xaa33a79a59021493L } },
  20309. /* 23 << 196 */
  20310. { { 0x49fc5054e4bd6d3dL,0x09540f045ab551d0L,0x8acc90854942d3a6L,
  20311. 0x231af02f2d28323bL },
  20312. { 0x93458cac0992c163L,0x1fef8e71888e3bb4L,0x27578da5be8c268cL,
  20313. 0xcc8be792e805ec00L } },
  20314. /* 24 << 196 */
  20315. { { 0x29267baec61c3855L,0xebff429d58c1fd3bL,0x22d886c08c0b93b8L,
  20316. 0xca5e00b22ddb8953L },
  20317. { 0xcf330117c3fed8b7L,0xd49ac6fa819c01f6L,0x6ddaa6bd3c0fbd54L,
  20318. 0x917430688049a2cfL } },
  20319. /* 25 << 196 */
  20320. { { 0xd67f981eaff2ef81L,0xc3654d352818ae80L,0x81d050441b2aa892L,
  20321. 0x2db067bf3d099328L },
  20322. { 0xe7c79e86703dcc97L,0xe66f9b37e133e215L,0xcdf119a6e39a7a5cL,
  20323. 0x47c60de3876f1b61L } },
  20324. /* 26 << 196 */
  20325. { { 0x6e405939d860f1b2L,0x3e9a1dbcf5ed4d4aL,0x3f23619ec9b6bcbdL,
  20326. 0x5ee790cf734e4497L },
  20327. { 0xf0a834b15bdaf9bbL,0x02cedda74ca295f0L,0x4619aa2bcb8e378cL,
  20328. 0xe5613244cc987ea4L } },
  20329. /* 27 << 196 */
  20330. { { 0x0bc022cc76b23a50L,0x4a2793ad0a6c21ceL,0x3832878089cac3f5L,
  20331. 0x29176f1bcba26d56L },
  20332. { 0x062961874f6f59ebL,0x86e9bca98bdc658eL,0x2ca9c4d357e30402L,
  20333. 0x5438b216516a09bbL } },
  20334. /* 28 << 196 */
  20335. { { 0x0a6a063c7672765aL,0x37a3ce640547b9bfL,0x42c099c898b1a633L,
  20336. 0xb5ab800d05ee6961L },
  20337. { 0xf1963f5911a5acd6L,0xbaee615746201063L,0x36d9a649a596210aL,
  20338. 0xaed043631ba7138cL } },
  20339. /* 29 << 196 */
  20340. { { 0xcf817d1ca4a82b76L,0x5586960ef3806be9L,0x7ab67c8909dc6bb5L,
  20341. 0x52ace7a0114fe7ebL },
  20342. { 0xcd987618cbbc9b70L,0x4f06fd5a604ca5e1L,0x90af14ca6dbde133L,
  20343. 0x1afe4322948a3264L } },
  20344. /* 30 << 196 */
  20345. { { 0xa70d2ca6c44b2c6cL,0xab7267990ef87dfeL,0x310f64dc2e696377L,
  20346. 0x49b42e684c8126a0L },
  20347. { 0x0ea444c3cea0b176L,0x53a8ddf7cb269182L,0xf3e674ebbbba9dcbL,
  20348. 0x0d2878a8d8669d33L } },
  20349. /* 31 << 196 */
  20350. { { 0x04b935d5d019b6a3L,0xbb5cf88e406f1e46L,0xa1912d165b57c111L,
  20351. 0x9803fc2119ebfd78L },
  20352. { 0x4f231c9ec07764a9L,0xd93286eeb75bd055L,0x83a9457d8ee6c9deL,
  20353. 0x046959156087ec90L } },
  20354. /* 32 << 196 */
  20355. { { 0x14c6dd8a58d6cd46L,0x9cb633b58e6634d2L,0xc1305047f81bc328L,
  20356. 0x12ede0e226a177e5L },
  20357. { 0x332cca62065a6f4fL,0xc3a47ecd67be487bL,0x741eb1870f47ed1cL,
  20358. 0x99e66e58e7598b14L } },
  20359. /* 33 << 196 */
  20360. { { 0x6f0544ca63d0ff12L,0xe5efc784b610a05fL,0xf72917b17cad7b47L,
  20361. 0x3ff6ea20f2cac0c0L },
  20362. { 0xcc23791bf21db8b7L,0x7dac70b1d7d93565L,0x682cda1d694bdaadL,
  20363. 0xeb88bb8c1023516dL } },
  20364. /* 34 << 196 */
  20365. { { 0xc4c634b4dfdbeb1bL,0x22f5ca72b4ee4deaL,0x1045a368e6524821L,
  20366. 0xed9e8a3f052b18b2L },
  20367. { 0x9b7f2cb1b961f49aL,0x7fee2ec17b009670L,0x350d875422507a6dL,
  20368. 0x561bd7114db55f1dL } },
  20369. /* 35 << 196 */
  20370. { { 0x4c189ccc320bbcafL,0x568434cfdf1de48cL,0x6af1b00e0fa8f128L,
  20371. 0xf0ba9d028907583cL },
  20372. { 0x735a400432ff9f60L,0x3dd8e4b6c25dcf33L,0xf2230f1642c74cefL,
  20373. 0xd8117623013fa8adL } },
  20374. /* 36 << 196 */
  20375. { { 0x36822876f51fe76eL,0x8a6811cc11d62589L,0xc3fc7e6546225718L,
  20376. 0xb7df2c9fc82fdbcdL },
  20377. { 0x3b1d4e52dd7b205bL,0xb695947847a2e414L,0x05e4d793efa91148L,
  20378. 0xb47ed446fd2e9675L } },
  20379. /* 37 << 196 */
  20380. { { 0x1a7098b904c9d9bfL,0x661e28811b793048L,0xb1a16966b01ee461L,
  20381. 0xbc5213082954746fL },
  20382. { 0xc909a0fc2477de50L,0xd80bb41c7dbd51efL,0xa85be7ec53294905L,
  20383. 0x6d465b1883958f97L } },
  20384. /* 38 << 196 */
  20385. { { 0x16f6f330fb6840fdL,0xfaaeb2143401e6c8L,0xaf83d30fccb5b4f8L,
  20386. 0x22885739266dec4bL },
  20387. { 0x51b4367c7bc467dfL,0x926562e3d842d27aL,0xdfcb66140fea14a6L,
  20388. 0xeb394daef2734cd9L } },
  20389. /* 39 << 196 */
  20390. { { 0x3eeae5d211c0be98L,0xb1e6ed11814e8165L,0x191086bce52bce1cL,
  20391. 0x14b74cc6a75a04daL },
  20392. { 0x63cf11868c060985L,0x071047de2dbd7f7cL,0x4e433b8bce0942caL,
  20393. 0xecbac447d8fec61dL } },
  20394. /* 40 << 196 */
  20395. { { 0x8f0ed0e2ebf3232fL,0xfff80f9ec52a2eddL,0xad9ab43375b55fdbL,
  20396. 0x73ca7820e42e0c11L },
  20397. { 0x6dace0a0e6251b46L,0x89bc6b5c4c0d932dL,0x3438cd77095da19aL,
  20398. 0x2f24a9398d48bdfbL } },
  20399. /* 41 << 196 */
  20400. { { 0x99b47e46766561b7L,0x736600e60ed0322aL,0x06a47cb1638e1865L,
  20401. 0x927c1c2dcb136000L },
  20402. { 0x295423370cc5df69L,0x99b37c0209d649a9L,0xc5f0043c6aefdb27L,
  20403. 0x6cdd99871be95c27L } },
  20404. /* 42 << 196 */
  20405. { { 0x69850931390420d2L,0x299c40ac0983efa4L,0x3a05e778af39aeadL,
  20406. 0x8427440843a45193L },
  20407. { 0x6bcd0fb991a711a0L,0x461592c89f52ab17L,0xb49302b4da3c6ed6L,
  20408. 0xc51fddc7330d7067L } },
  20409. /* 43 << 196 */
  20410. { { 0x94babeb6da50d531L,0x521b840da6a7b9daL,0x5305151e404bdc89L,
  20411. 0x1bcde201d0d07449L },
  20412. { 0xf427a78b3b76a59aL,0xf84841ce07791a1bL,0xebd314bebf91ed1cL,
  20413. 0x8e61d34cbf172943L } },
  20414. /* 44 << 196 */
  20415. { { 0x1d5dc4515541b892L,0xb186ee41fc9d9e54L,0x9d9f345ed5bf610dL,
  20416. 0x3e7ba65df6acca9fL },
  20417. { 0x9dda787aa8369486L,0x09f9dab78eb5ba53L,0x5afb2033d6481bc3L,
  20418. 0x76f4ce30afa62104L } },
  20419. /* 45 << 196 */
  20420. { { 0xa8fa00cff4f066b5L,0x89ab5143461dafc2L,0x44339ed7a3389998L,
  20421. 0x2ff862f1bc214903L },
  20422. { 0x2c88f985b05556e3L,0xcd96058e3467081eL,0x7d6a4176edc637eaL,
  20423. 0xe1743d0936a5acdcL } },
  20424. /* 46 << 196 */
  20425. { { 0x66fd72e27eb37726L,0xf7fa264e1481a037L,0x9fbd3bde45f4aa79L,
  20426. 0xed1e0147767c3e22L },
  20427. { 0x7621f97982e7abe2L,0x19eedc7245f633f8L,0xe69b155e6137bf3aL,
  20428. 0xa0ad13ce414ee94eL } },
  20429. /* 47 << 196 */
  20430. { { 0x93e3d5241c0e651aL,0xab1a6e2a02ce227eL,0xe7af17974ab27ecaL,
  20431. 0x245446debd444f39L },
  20432. { 0x59e22a2156c07613L,0x43deafcef4275498L,0x10834ccb67fd0946L,
  20433. 0xa75841e547406edfL } },
  20434. /* 48 << 196 */
  20435. { { 0xebd6a6777b0ac93dL,0xa6e37b0d78f5e0d7L,0x2516c09676f5492bL,
  20436. 0x1e4bf8889ac05f3aL },
  20437. { 0xcdb42ce04df0ba2bL,0x935d5cfd5062341bL,0x8a30333382acac20L,
  20438. 0x429438c45198b00eL } },
  20439. /* 49 << 196 */
  20440. { { 0x1d083bc9049d33faL,0x58b82dda946f67ffL,0xac3e2db867a1d6a3L,
  20441. 0x62e6bead1798aac8L },
  20442. { 0xfc85980fde46c58cL,0xa7f6937969c8d7beL,0x23557927837b35ecL,
  20443. 0x06a933d8e0790c0cL } },
  20444. /* 50 << 196 */
  20445. { { 0x827c0e9b077ff55dL,0x53977798bb26e680L,0x595308741d9cb54fL,
  20446. 0xcca3f4494aac53efL },
  20447. { 0x11dc5c87a07eda0fL,0xc138bccffd6400c8L,0x549680d313e5da72L,
  20448. 0xc93eed824540617eL } },
  20449. /* 51 << 196 */
  20450. { { 0xfd3db1574d0b75c0L,0x9716eb426386075bL,0x0639605c817b2c16L,
  20451. 0x09915109f1e4f201L },
  20452. { 0x35c9a9285cca6c3bL,0xb25f7d1a3505c900L,0xeb9f7d20630480c4L,
  20453. 0xc3c7b8c62a1a501cL } },
  20454. /* 52 << 196 */
  20455. { { 0x3f99183c5a1f8e24L,0xfdb118fa9dd255f0L,0xb9b18b90c27f62a6L,
  20456. 0xe8f732f7396ec191L },
  20457. { 0x524a2d910be786abL,0x5d32adef0ac5a0f5L,0x9b53d4d69725f694L,
  20458. 0x032a76c60510ba89L } },
  20459. /* 53 << 196 */
  20460. { { 0x840391a3ebeb1544L,0x44b7b88c3ed73ac3L,0xd24bae7a256cb8b3L,
  20461. 0x7ceb151ae394cb12L },
  20462. { 0xbd6b66d05bc1e6a8L,0xec70cecb090f07bfL,0x270644ed7d937589L,
  20463. 0xee9e1a3d5f1dccfeL } },
  20464. /* 54 << 196 */
  20465. { { 0xb0d40a84745b98d2L,0xda429a212556ed40L,0xf676eced85148cb9L,
  20466. 0x5a22d40cded18936L },
  20467. { 0x3bc4b9e570e8a4ceL,0xbfd1445b9eae0379L,0xf23f2c0c1a0bd47eL,
  20468. 0xa9c0bb31e1845531L } },
  20469. /* 55 << 196 */
  20470. { { 0x9ddc4d600a4c3f6bL,0xbdfaad792c15ef44L,0xce55a2367f484accL,
  20471. 0x08653ca7055b1f15L },
  20472. { 0x2efa8724538873a3L,0x09299e5dace1c7e7L,0x07afab66ade332baL,
  20473. 0x9be1fdf692dd71b7L } },
  20474. /* 56 << 196 */
  20475. { { 0xa49b5d595758b11cL,0x0b852893c8654f40L,0xb63ef6f452379447L,
  20476. 0xd4957d29105e690cL },
  20477. { 0x7d484363646559b0L,0xf4a8273c49788a8eL,0xee406cb834ce54a9L,
  20478. 0x1e1c260ff86fda9bL } },
  20479. /* 57 << 196 */
  20480. { { 0xe150e228cf6a4a81L,0x1fa3b6a31b488772L,0x1e6ff110c5a9c15bL,
  20481. 0xc6133b918ad6aa47L },
  20482. { 0x8ac5d55c9dffa978L,0xba1d1c1d5f3965f2L,0xf969f4e07732b52fL,
  20483. 0xfceecdb5a5172a07L } },
  20484. /* 58 << 196 */
  20485. { { 0xb0120a5f10f2b8f5L,0xc83a6cdf5c4c2f63L,0x4d47a491f8f9c213L,
  20486. 0xd9e1cce5d3f1bbd5L },
  20487. { 0x0d91bc7caba7e372L,0xfcdc74c8dfd1a2dbL,0x05efa800374618e5L,
  20488. 0x1121696915a7925eL } },
  20489. /* 59 << 196 */
  20490. { { 0xd4c89823f6021c5dL,0x880d5e84eff14423L,0x6523bc5a6dcd1396L,
  20491. 0xd1acfdfc113c978bL },
  20492. { 0xb0c164e8bbb66840L,0xf7f4301e72b58459L,0xc29ad4a6a638e8ecL,
  20493. 0xf5ab896146b78699L } },
  20494. /* 60 << 196 */
  20495. { { 0x9dbd79740e954750L,0x0121de8864f9d2c6L,0x2e597b42d985232eL,
  20496. 0x55b6c3c553451777L },
  20497. { 0xbb53e547519cb9fbL,0xf134019f8428600dL,0x5a473176e081791aL,
  20498. 0x2f3e226335fb0c08L } },
  20499. /* 61 << 196 */
  20500. { { 0xb28c301773d273b0L,0xccd210767721ef9aL,0x054cc292b650dc39L,
  20501. 0x662246de6188045eL },
  20502. { 0x904b52fa6b83c0d1L,0xa72df26797e9cd46L,0x886b43cd899725e4L,
  20503. 0x2b651688d849ff22L } },
  20504. /* 62 << 196 */
  20505. { { 0x60479b7902f34533L,0x5e354c140c77c148L,0xb4bb7581a8537c78L,
  20506. 0x188043d7efe1495fL },
  20507. { 0x9ba12f428c1d5026L,0x2e0c8a2693d4aaabL,0xbdba7b8baa57c450L,
  20508. 0x140c9ad69bbdafefL } },
  20509. /* 63 << 196 */
  20510. { { 0x2067aa4225ac0f18L,0xf7b1295b04d1fbf3L,0x14829111a4b04824L,
  20511. 0x2ce3f19233bd5e91L },
  20512. { 0x9c7a1d558f2e1b72L,0xfe932286302aa243L,0x497ca7b4d4be9554L,
  20513. 0xb8e821b8e0547a6eL } },
  20514. /* 64 << 196 */
  20515. { { 0xfb2838be67e573e0L,0x05891db94084c44bL,0x9131137396c1c2c5L,
  20516. 0x6aebfa3fd958444bL },
  20517. { 0xac9cdce9e56e55c1L,0x7148ced32caa46d0L,0x2e10c7efb61fe8ebL,
  20518. 0x9fd835daff97cf4dL } },
  20519. /* 0 << 203 */
  20520. { { 0x00, 0x00, 0x00, 0x00 },
  20521. { 0x00, 0x00, 0x00, 0x00 } },
  20522. /* 1 << 203 */
  20523. { { 0xa36da109081e9387L,0xfb9780d78c935828L,0xd5940332e540b015L,
  20524. 0xc9d7b51be0f466faL },
  20525. { 0xfaadcd41d6d9f671L,0xba6c1e28b1a2ac17L,0x066a7833ed201e5fL,
  20526. 0x19d99719f90f462bL } },
  20527. /* 2 << 203 */
  20528. { { 0xf431f462060b5f61L,0xa56f46b47bd057c2L,0x348dca6c47e1bf65L,
  20529. 0x9a38783e41bcf1ffL },
  20530. { 0x7a5d33a9da710718L,0x5a7799872e0aeaf6L,0xca87314d2d29d187L,
  20531. 0xfa0edc3ec687d733L } },
  20532. /* 3 << 203 */
  20533. { { 0x9df336216a31e09bL,0xde89e44dc1350e35L,0x292148714ca0cf52L,
  20534. 0xdf3796720b88a538L },
  20535. { 0xc92a510a2591d61bL,0x79aa87d7585b447bL,0xf67db604e5287f77L,
  20536. 0x1697c8bf5efe7a80L } },
  20537. /* 4 << 203 */
  20538. { { 0x1c894849cb198ac7L,0xa884a93d0f264665L,0x2da964ef9b200678L,
  20539. 0x3c351b87009834e6L },
  20540. { 0xafb2ef9fe2c4b44bL,0x580f6c473326790cL,0xb84805210b02264aL,
  20541. 0x8ba6f9e242a194e2L } },
  20542. /* 5 << 203 */
  20543. { { 0xfc87975f8fb54738L,0x3516078827c3ead3L,0x834116d2b74a085aL,
  20544. 0x53c99a73a62fe996L },
  20545. { 0x87585be05b81c51bL,0x925bafa8be0852b7L,0x76a4fafda84d19a7L,
  20546. 0x39a45982585206d4L } },
  20547. /* 6 << 203 */
  20548. { { 0x499b6ab65eb03c0eL,0xf19b795472bc3fdeL,0xa86b5b9c6e3a80d2L,
  20549. 0xe43775086d42819fL },
  20550. { 0xc1663650bb3ee8a3L,0x75eb14fcb132075fL,0xa8ccc9067ad834f6L,
  20551. 0xea6a2474e6e92ffdL } },
  20552. /* 7 << 203 */
  20553. { { 0x9d72fd950f8d6758L,0xcb84e101408c07ddL,0xb9114bfda5e23221L,
  20554. 0x358b5fe2e94e742cL },
  20555. { 0x1c0577ec95f40e75L,0xf01554513d73f3d6L,0x9d55cd67bd1b9b66L,
  20556. 0x63e86e78af8d63c7L } },
  20557. /* 8 << 203 */
  20558. { { 0x39d934abd3c095f1L,0x04b261bee4b76d71L,0x1d2e6970e73e6984L,
  20559. 0x879fb23b5e5fcb11L },
  20560. { 0x11506c72dfd75490L,0x3a97d08561bcf1c1L,0x43201d82bf5e7007L,
  20561. 0x7f0ac52f798232a7L } },
  20562. /* 9 << 203 */
  20563. { { 0x2715cbc46eb564d4L,0x8d6c752c9e570e29L,0xf80247c89ef5fd5dL,
  20564. 0xc3c66b46d53eb514L },
  20565. { 0x9666b4010f87de56L,0xce62c06fc6c603b5L,0xae7b4c607e4fc942L,
  20566. 0x38ac0b77663a9c19L } },
  20567. /* 10 << 203 */
  20568. { { 0xcb4d20ee4b049136L,0x8b63bf12356a4613L,0x1221aef670e08128L,
  20569. 0xe62d8c514acb6b16L },
  20570. { 0x71f64a67379e7896L,0xb25237a2cafd7fa5L,0xf077bd983841ba6aL,
  20571. 0xc4ac02443cd16e7eL } },
  20572. /* 11 << 203 */
  20573. { { 0x548ba86921fea4caL,0xd36d0817f3dfdac1L,0x09d8d71ff4685fafL,
  20574. 0x8eff66bec52c459aL },
  20575. { 0x182faee70b57235eL,0xee3c39b10106712bL,0x5107331fc0fcdcb0L,
  20576. 0x669fb9dca51054baL } },
  20577. /* 12 << 203 */
  20578. { { 0xb25101fb319d7682L,0xb02931290a982feeL,0x51c1c9b90261b344L,
  20579. 0x0e008c5bbfd371faL },
  20580. { 0xd866dd1c0278ca33L,0x666f76a6e5aa53b1L,0xe5cfb7796013a2cfL,
  20581. 0x1d3a1aada3521836L } },
  20582. /* 13 << 203 */
  20583. { { 0xcedd253173faa485L,0xc8ee6c4fc0a76878L,0xddbccfc92a11667dL,
  20584. 0x1a418ea91c2f695aL },
  20585. { 0xdb11bd9251f73971L,0x3e4b3c82da2ed89fL,0x9a44f3f4e73e0319L,
  20586. 0xd1e3de0f303431afL } },
  20587. /* 14 << 203 */
  20588. { { 0x3c5604ff50f75f9cL,0x1d8eddf37e752b22L,0x0ef074dd3c9a1118L,
  20589. 0xd0ffc172ccb86d7bL },
  20590. { 0xabd1ece3037d90f2L,0xe3f307d66055856cL,0x422f93287e4c6dafL,
  20591. 0x902aac66334879a0L } },
  20592. /* 15 << 203 */
  20593. { { 0xb6a1e7bf94cdfadeL,0x6c97e1ed7fc6d634L,0x662ad24da2fb63f8L,
  20594. 0xf81be1b9a5928405L },
  20595. { 0x86d765e4d14b4206L,0xbecc2e0e8fa0db65L,0xa28838e0b17fc76cL,
  20596. 0xe49a602ae37cf24eL } },
  20597. /* 16 << 203 */
  20598. { { 0x76b4131a567193ecL,0xaf3c305ae5f6e70bL,0x9587bd39031eebddL,
  20599. 0x5709def871bbe831L },
  20600. { 0x570599830eb2b669L,0x4d80ce1b875b7029L,0x838a7da80364ac16L,
  20601. 0x2f431d23be1c83abL } },
  20602. /* 17 << 203 */
  20603. { { 0xe56812a6f9294dd3L,0xb448d01f9b4b0d77L,0xf3ae606104e8305cL,
  20604. 0x2bead64594d8c63eL },
  20605. { 0x0a85434d84fd8b07L,0x537b983ff7a9dee5L,0xedcc5f18ef55bd85L,
  20606. 0x2041af6221c6cf8bL } },
  20607. /* 18 << 203 */
  20608. { { 0x8e52874cb940c71eL,0x211935a9db5f4b3aL,0x94350492301b1dc3L,
  20609. 0x33d2646d29958620L },
  20610. { 0x16b0d64bef911404L,0x9d1f25ea9a3c5ef4L,0x20f200eb4a352c78L,
  20611. 0x43929f2c4bd0b428L } },
  20612. /* 19 << 203 */
  20613. { { 0xa5656667c7196e29L,0x7992c2f09391be48L,0xaaa97cbd9ee0cd6eL,
  20614. 0x51b0310c3dc8c9bfL },
  20615. { 0x237f8acfdd9f22cbL,0xbb1d81a1b585d584L,0x8d5d85f58c416388L,
  20616. 0x0d6e5a5a42fe474fL } },
  20617. /* 20 << 203 */
  20618. { { 0xe781276638235d4eL,0x1c62bd67496e3298L,0x8378660c3f175bc8L,
  20619. 0x4d04e18917afdd4dL },
  20620. { 0x32a8160185a8068cL,0xdb58e4e192b29a85L,0xe8a65b86c70d8a3bL,
  20621. 0x5f0e6f4e98a0403bL } },
  20622. /* 21 << 203 */
  20623. { { 0x0812968469ed2370L,0x34dc30bd0871ee26L,0x3a5ce9487c9c5b05L,
  20624. 0x7d487b8043a90c87L },
  20625. { 0x4089ba37dd0e7179L,0x45f80191b4041811L,0x1c3e105898747ba5L,
  20626. 0x98c4e13a6e1ae592L } },
  20627. /* 22 << 203 */
  20628. { { 0xd44636e6e82c9f9eL,0x711db87cc33a1043L,0x6f431263aa8aec05L,
  20629. 0x43ff120d2744a4aaL },
  20630. { 0xd3bd892fae77779bL,0xf0fe0cc98cdc9f82L,0xca5f7fe6f1c5b1bcL,
  20631. 0xcc63a68244929a72L } },
  20632. /* 23 << 203 */
  20633. { { 0xc7eaba0c09dbe19aL,0x2f3585ad6b5c73c2L,0x8ab8924b0ae50c30L,
  20634. 0x17fcd27a638b30baL },
  20635. { 0xaf414d3410b3d5a5L,0x09c107d22a9accf1L,0x15dac49f946a6242L,
  20636. 0xaec3df2ad707d642L } },
  20637. /* 24 << 203 */
  20638. { { 0x2c2492b73f894ae0L,0xf59df3e5b75f18ceL,0x7cb740d28f53cad0L,
  20639. 0x3eb585fbc4f01294L },
  20640. { 0x17da0c8632c7f717L,0xeb8c795baf943f4cL,0x4ee23fb5f67c51d2L,
  20641. 0xef18757568889949L } },
  20642. /* 25 << 203 */
  20643. { { 0xa6b4bdb20389168bL,0xc4ecd258ea577d03L,0x3a63782b55743082L,
  20644. 0x6f678f4cc72f08cdL },
  20645. { 0x553511cf65e58dd8L,0xd53b4e3ed402c0cdL,0x37de3e29a037c14cL,
  20646. 0x86b6c516c05712aaL } },
  20647. /* 26 << 203 */
  20648. { { 0x2834da3eb38dff6fL,0xbe012c52ea636be8L,0x292d238c61dd37f8L,
  20649. 0x0e54523f8f8142dbL },
  20650. { 0xe31eb436036a05d8L,0x83e3cdff1e93c0ffL,0x3fd2fe0f50821ddfL,
  20651. 0xc8e19b0dff9eb33bL } },
  20652. /* 27 << 203 */
  20653. { { 0xc8cc943fb569a5feL,0xad0090d4d4342d75L,0x82090b4bcaeca000L,
  20654. 0xca39687f1bd410ebL },
  20655. { 0xe7bb0df765959d77L,0x39d782189c964999L,0xd87f62e8b2415451L,
  20656. 0xe5efb774bed76108L } },
  20657. /* 28 << 203 */
  20658. { { 0x3ea011a4e822f0d0L,0xbc647ad15a8704f8L,0xbb315b3550c6820fL,
  20659. 0x863dec3db7e76becL },
  20660. { 0x01ff5d3af017bfc7L,0x20054439976b8229L,0x067fca370bbd0d3bL,
  20661. 0xf63dde647f5e3d0fL } },
  20662. /* 29 << 203 */
  20663. { { 0x22dbefb32a4c94e9L,0xafbff0fe96f8278aL,0x80aea0b13503793dL,
  20664. 0xb22380295f06cd29L },
  20665. { 0x65703e578ec3fecaL,0x06c38314393e7053L,0xa0b751eb7c6734c4L,
  20666. 0xd2e8a435c59f0f1eL } },
  20667. /* 30 << 203 */
  20668. { { 0x147d90525e9ca895L,0x2f4dd31e972072dfL,0xa16fda8ee6c6755cL,
  20669. 0xc66826ffcf196558L },
  20670. { 0x1f1a76a30cf43895L,0xa9d604e083c3097bL,0xe190830966390e0eL,
  20671. 0xa50bf753b3c85effL } },
  20672. /* 31 << 203 */
  20673. { { 0x0696bddef6a70251L,0x548b801b3c6ab16aL,0x37fcf704a4d08762L,
  20674. 0x090b3defdff76c4eL },
  20675. { 0x87e8cb8969cb9158L,0x44a90744995ece43L,0xf85395f40ad9fbf5L,
  20676. 0x49b0f6c54fb0c82dL } },
  20677. /* 32 << 203 */
  20678. { { 0x75d9bc15adf7cccfL,0x81a3e5d6dfa1e1b0L,0x8c39e444249bc17eL,
  20679. 0xf37dccb28ea7fd43L },
  20680. { 0xda654873907fba12L,0x35daa6da4a372904L,0x0564cfc66283a6c5L,
  20681. 0xd09fa4f64a9395bfL } },
  20682. /* 33 << 203 */
  20683. { { 0x688e9ec9aeb19a36L,0xd913f1cec7bfbfb4L,0x797b9a3c61c2faa6L,
  20684. 0x2f979bec6a0a9c12L },
  20685. { 0xb5969d0f359679ecL,0xebcf523d079b0460L,0xfd6b000810fab870L,
  20686. 0x3f2edcda9373a39cL } },
  20687. /* 34 << 203 */
  20688. { { 0x0d64f9a76f568431L,0xf848c27c02f8898cL,0xf418ade1260b5bd5L,
  20689. 0xc1f3e3236973dee8L },
  20690. { 0x46e9319c26c185ddL,0x6d85b7d8546f0ac4L,0x427965f2247f9d57L,
  20691. 0xb519b636b0035f48L } },
  20692. /* 35 << 203 */
  20693. { { 0x6b6163a9ab87d59cL,0xff9f58c339caaa11L,0x4ac39cde3177387bL,
  20694. 0x5f6557c2873e77f9L },
  20695. { 0x6750400636a83041L,0x9b1c96ca75ef196cL,0xf34283deb08c7940L,
  20696. 0x7ea096441128c316L } },
  20697. /* 36 << 203 */
  20698. { { 0xb510b3b56aa39dffL,0x59b43da29f8e4d8cL,0xa8ce31fd9e4c4b9fL,
  20699. 0x0e20be26c1303c01L },
  20700. { 0x18187182e8ee47c9L,0xd9687cdb7db98101L,0x7a520e4da1e14ff6L,
  20701. 0x429808ba8836d572L } },
  20702. /* 37 << 203 */
  20703. { { 0xa37ca60d4944b663L,0xf901f7a9a3f91ae5L,0xe4e3e76e9e36e3b1L,
  20704. 0x9aa219cf29d93250L },
  20705. { 0x347fe275056a2512L,0xa4d643d9de65d95cL,0x9669d396699fc3edL,
  20706. 0xb598dee2cf8c6bbeL } },
  20707. /* 38 << 203 */
  20708. { { 0x682ac1e5dda9e5c6L,0x4e0d3c72caa9fc95L,0x17faaade772bea44L,
  20709. 0x5ef8428cab0009c8L },
  20710. { 0xcc4ce47a460ff016L,0xda6d12bf725281cbL,0x44c678480223aad2L,
  20711. 0x6e342afa36256e28L } },
  20712. /* 39 << 203 */
  20713. { { 0x1400bb0b93a37c04L,0x62b1bc9bdd10bd96L,0x7251adeb0dac46b7L,
  20714. 0x7d33b92e7be4ef51L },
  20715. { 0x28b2a94be61fa29aL,0x4b2be13f06422233L,0x36d6d062330d8d37L,
  20716. 0x5ef80e1eb28ca005L } },
  20717. /* 40 << 203 */
  20718. { { 0x174d46996d16768eL,0x9fc4ff6a628bf217L,0x77705a94154e490dL,
  20719. 0x9d96dd288d2d997aL },
  20720. { 0x77e2d9d8ce5d72c4L,0x9d06c5a4c11c714fL,0x02aa513679e4a03eL,
  20721. 0x1386b3c2030ff28bL } },
  20722. /* 41 << 203 */
  20723. { { 0xfe82e8a6fb283f61L,0x7df203e5f3abc3fbL,0xeec7c3513a4d3622L,
  20724. 0xf7d17dbfdf762761L },
  20725. { 0xc3956e44522055f0L,0xde3012db8fa748dbL,0xca9fcb63bf1dcc14L,
  20726. 0xa56d9dcfbe4e2f3aL } },
  20727. /* 42 << 203 */
  20728. { { 0xb86186b68bcec9c2L,0x7cf24df9680b9f06L,0xc46b45eac0d29281L,
  20729. 0xfff42bc507b10e12L },
  20730. { 0x12263c404d289427L,0x3d5f1899b4848ec4L,0x11f97010d040800cL,
  20731. 0xb4c5f529300feb20L } },
  20732. /* 43 << 203 */
  20733. { { 0xcc543f8fde94fdcbL,0xe96af739c7c2f05eL,0xaa5e0036882692e1L,
  20734. 0x09c75b68950d4ae9L },
  20735. { 0x62f63df2b5932a7aL,0x2658252ede0979adL,0x2a19343fb5e69631L,
  20736. 0x718c7501525b666bL } },
  20737. /* 44 << 203 */
  20738. { { 0x26a42d69ea40dc3aL,0xdc84ad22aecc018fL,0x25c36c7b3270f04aL,
  20739. 0x46ba6d4750fa72edL },
  20740. { 0x6c37d1c593e58a8eL,0xa2394731120c088cL,0xc3be4263cb6e86daL,
  20741. 0x2c417d367126d038L } },
  20742. /* 45 << 203 */
  20743. { { 0x5b70f9c58b6f8efaL,0x671a2faa37718536L,0xd3ced3c6b539c92bL,
  20744. 0xe56f1bd9a31203c2L },
  20745. { 0x8b096ec49ff3c8ebL,0x2deae43243491ceaL,0x2465c6eb17943794L,
  20746. 0x5d267e6620586843L } },
  20747. /* 46 << 203 */
  20748. { { 0x9d3d116db07159d0L,0xae07a67fc1896210L,0x8fc84d87bb961579L,
  20749. 0x30009e491c1f8dd6L },
  20750. { 0x8a8caf22e3132819L,0xcffa197cf23ab4ffL,0x58103a44205dd687L,
  20751. 0x57b796c30ded67a2L } },
  20752. /* 47 << 203 */
  20753. { { 0x0b9c3a6ca1779ad7L,0xa33cfe2e357c09c5L,0x2ea293153db4a57eL,
  20754. 0x919596958ebeb52eL },
  20755. { 0x118db9a6e546c879L,0x8e996df46295c8d6L,0xdd99048455ec806bL,
  20756. 0x24f291ca165c1035L } },
  20757. /* 48 << 203 */
  20758. { { 0xcca523bb440e2229L,0x324673a273ef4d04L,0xaf3adf343e11ec39L,
  20759. 0x6136d7f1dc5968d3L },
  20760. { 0x7a7b2899b053a927L,0x3eaa2661ae067ecdL,0x8549b9c802779cd9L,
  20761. 0x061d7940c53385eaL } },
  20762. /* 49 << 203 */
  20763. { { 0x3e0ba883f06d18bdL,0x4ba6de53b2700843L,0xb966b668591a9e4dL,
  20764. 0x93f675677f4fa0edL },
  20765. { 0x5a02711b4347237bL,0xbc041e2fe794608eL,0x55af10f570f73d8cL,
  20766. 0xd2d4d4f7bb7564f7L } },
  20767. /* 50 << 203 */
  20768. { { 0xd7d27a89b3e93ce7L,0xf7b5a8755d3a2c1bL,0xb29e68a0255b218aL,
  20769. 0xb533837e8af76754L },
  20770. { 0xd1b05a73579fab2eL,0xb41055a1ecd74385L,0xb2369274445e9115L,
  20771. 0x2972a7c4f520274eL } },
  20772. /* 51 << 203 */
  20773. { { 0x6c08334ef678e68aL,0x4e4160f099b057edL,0x3cfe11b852ccb69aL,
  20774. 0x2fd1823a21c8f772L },
  20775. { 0xdf7f072f3298f055L,0x8c0566f9fec74a6eL,0xe549e0195bb4d041L,
  20776. 0x7c3930ba9208d850L } },
  20777. /* 52 << 203 */
  20778. { { 0xe07141fcaaa2902bL,0x539ad799e4f69ad3L,0xa6453f94813f9ffdL,
  20779. 0xc58d3c48375bc2f7L },
  20780. { 0xb3326fad5dc64e96L,0x3aafcaa9b240e354L,0x1d1b0903aca1e7a9L,
  20781. 0x4ceb97671211b8a0L } },
  20782. /* 53 << 203 */
  20783. { { 0xeca83e49e32a858eL,0x4c32892eae907badL,0xd5b42ab62eb9b494L,
  20784. 0x7fde3ee21eabae1bL },
  20785. { 0x13b5ab09caf54957L,0xbfb028bee5f5d5d5L,0x928a06502003e2c0L,
  20786. 0x90793aac67476843L } },
  20787. /* 54 << 203 */
  20788. { { 0x5e942e79c81710a0L,0x557e4a3627ccadd4L,0x72a2bc564bcf6d0cL,
  20789. 0x09ee5f4326d7b80cL },
  20790. { 0x6b70dbe9d4292f19L,0x56f74c2663f16b18L,0xc23db0f735fbb42aL,
  20791. 0xb606bdf66ae10040L } },
  20792. /* 55 << 203 */
  20793. { { 0x1eb15d4d044573acL,0x7dc3cf86556b0ba4L,0x97af9a33c60df6f7L,
  20794. 0x0b1ef85ca716ce8cL },
  20795. { 0x2922f884c96958beL,0x7c32fa9435690963L,0x2d7f667ceaa00061L,
  20796. 0xeaaf7c173547365cL } },
  20797. /* 56 << 203 */
  20798. { { 0x1eb4de4687032d58L,0xc54f3d835e2c79e0L,0x07818df45d04ef23L,
  20799. 0x55faa9c8673d41b4L },
  20800. { 0xced64f6f89b95355L,0x4860d2eab7415c84L,0x5fdb9bd2050ebad3L,
  20801. 0xdb53e0cc6685a5bfL } },
  20802. /* 57 << 203 */
  20803. { { 0xb830c0319feb6593L,0xdd87f3106accff17L,0x2303ebab9f555c10L,
  20804. 0x94603695287e7065L },
  20805. { 0xf88311c32e83358cL,0x508dd9b4eefb0178L,0x7ca237062dba8652L,
  20806. 0x62aac5a30047abe5L } },
  20807. /* 58 << 203 */
  20808. { { 0x9a61d2a08b1ea7b3L,0xd495ab63ae8b1485L,0x38740f8487052f99L,
  20809. 0x178ebe5bb2974eeaL },
  20810. { 0x030bbcca5b36d17fL,0xb5e4cce3aaf86eeaL,0xb51a022068f8e9e0L,
  20811. 0xa434879609eb3e75L } },
  20812. /* 59 << 203 */
  20813. { { 0xbe592309eef1a752L,0x5d7162d76f2aa1edL,0xaebfb5ed0f007dd2L,
  20814. 0x255e14b2c89edd22L },
  20815. { 0xba85e0720303b697L,0xc5d17e25f05720ffL,0x02b58d6e5128ebb6L,
  20816. 0x2c80242dd754e113L } },
  20817. /* 60 << 203 */
  20818. { { 0x919fca5fabfae1caL,0x937afaac1a21459bL,0x9e0ca91c1f66a4d2L,
  20819. 0x194cc7f323ec1331L },
  20820. { 0xad25143a8aa11690L,0xbe40ad8d09b59e08L,0x37d60d9be750860aL,
  20821. 0x6c53b008c6bf434cL } },
  20822. /* 61 << 203 */
  20823. { { 0xb572415d1356eb80L,0xb8bf9da39578ded8L,0x22658e365e8fb38bL,
  20824. 0x9b70ce225af8cb22L },
  20825. { 0x7c00018a829a8180L,0x84329f93b81ed295L,0x7c343ea25f3cea83L,
  20826. 0x38f8655f67586536L } },
  20827. /* 62 << 203 */
  20828. { { 0xa661a0d01d3ec517L,0x98744652512321aeL,0x084ca591eca92598L,
  20829. 0xa9bb9dc91dcb3febL },
  20830. { 0x14c5435578b4c240L,0x5ed62a3b610cafdcL,0x07512f371b38846bL,
  20831. 0x571bb70ab0e38161L } },
  20832. /* 63 << 203 */
  20833. { { 0xb556b95b2da705d2L,0x3ef8ada6b1a08f98L,0x85302ca7ddecfbe5L,
  20834. 0x0e530573943105cdL },
  20835. { 0x60554d5521a9255dL,0x63a32fa1f2f3802aL,0x35c8c5b0cd477875L,
  20836. 0x97f458ea6ad42da1L } },
  20837. /* 64 << 203 */
  20838. { { 0x832d7080eb6b242dL,0xd30bd0233b71e246L,0x7027991bbe31139dL,
  20839. 0x68797e91462e4e53L },
  20840. { 0x423fe20a6b4e185aL,0x82f2c67e42d9b707L,0x25c817684cf7811bL,
  20841. 0xbd53005e045bb95dL } },
  20842. /* 0 << 210 */
  20843. { { 0x00, 0x00, 0x00, 0x00 },
  20844. { 0x00, 0x00, 0x00, 0x00 } },
  20845. /* 1 << 210 */
  20846. { { 0xe5f649be9d8e68fdL,0xdb0f05331b044320L,0xf6fde9b3e0c33398L,
  20847. 0x92f4209b66c8cfaeL },
  20848. { 0xe9d1afcc1a739d4bL,0x09aea75fa28ab8deL,0x14375fb5eac6f1d0L,
  20849. 0x6420b560708f7aa5L } },
  20850. /* 2 << 210 */
  20851. { { 0x9eae499c6254dc41L,0x7e2939247a837e7eL,0x74aec08c090524a7L,
  20852. 0xf82b92198d6f55f2L },
  20853. { 0x493c962e1402cec5L,0x9f17ca17fa2f30e7L,0xbcd783e8e9b879cbL,
  20854. 0xea3d8c145a6f145fL } },
  20855. /* 3 << 210 */
  20856. { { 0xdede15e75e0dee6eL,0x74f24872dc628aa2L,0xd3e9c4fe7861bb93L,
  20857. 0x56d4822a6187b2e0L },
  20858. { 0xb66417cfc59826f9L,0xca2609692408169eL,0xedf69d06c79ef885L,
  20859. 0x00031f8adc7d138fL } },
  20860. /* 4 << 210 */
  20861. { { 0x103c46e60ebcf726L,0x4482b8316231470eL,0x6f6dfaca487c2109L,
  20862. 0x2e0ace9762e666efL },
  20863. { 0x3246a9d31f8d1f42L,0x1b1e83f1574944d2L,0x13dfa63aa57f334bL,
  20864. 0x0cf8daed9f025d81L } },
  20865. /* 5 << 210 */
  20866. { { 0x30d78ea800ee11c1L,0xeb053cd4b5e3dd75L,0x9b65b13ed58c43c5L,
  20867. 0xc3ad49bdbd151663L },
  20868. { 0x99fd8e41b6427990L,0x12cf15bd707eae1eL,0x29ad4f1b1aabb71eL,
  20869. 0x5143e74d07545d0eL } },
  20870. /* 6 << 210 */
  20871. { { 0x30266336c88bdee1L,0x25f293065876767cL,0x9c078571c6731996L,
  20872. 0xc88690b2ed552951L },
  20873. { 0x274f2c2d852705b4L,0xb0bf8d444e09552dL,0x7628beeb986575d1L,
  20874. 0x407be2387f864651L } },
  20875. /* 7 << 210 */
  20876. { { 0x0e5e3049a639fc6bL,0xe75c35d986003625L,0x0cf35bd85dcc1646L,
  20877. 0x8bcaced26c26273aL },
  20878. { 0xe22ecf1db5536742L,0x013dd8971a9e068bL,0x17f411cb8a7909c5L,
  20879. 0x5757ac98861dd506L } },
  20880. /* 8 << 210 */
  20881. { { 0x85de1f0d1e935abbL,0xdefd10b4154de37aL,0xb8d9e392369cebb5L,
  20882. 0x54d5ef9b761324beL },
  20883. { 0x4d6341ba74f17e26L,0xc0a0e3c878c1dde4L,0xa6d7758187d918fdL,
  20884. 0x6687601502ca3a13L } },
  20885. /* 9 << 210 */
  20886. { { 0xc7313e9cf36658f0L,0xc433ef1c71f8057eL,0x853262461b6a835aL,
  20887. 0xc8f053987c86394cL },
  20888. { 0xff398cdfe983c4a1L,0xbf5e816203b7b931L,0x93193c46b7b9045bL,
  20889. 0x1e4ebf5da4a6e46bL } },
  20890. /* 10 << 210 */
  20891. { { 0xf9942a6043a24fe7L,0x29c1191effb3492bL,0x9f662449902fde05L,
  20892. 0xc792a7ac6713c32dL },
  20893. { 0x2fd88ad8b737982cL,0x7e3a0319a21e60e3L,0x09b0de447383591aL,
  20894. 0x6df141ee8310a456L } },
  20895. /* 11 << 210 */
  20896. { { 0xaec1a039e6d6f471L,0x14b2ba0f1198d12eL,0xebc1a1603aeee5acL,
  20897. 0x401f4836e0b964ceL },
  20898. { 0x2ee437964fd03f66L,0x3fdb4e49dd8f3f12L,0x6ef267f629380f18L,
  20899. 0x3e8e96708da64d16L } },
  20900. /* 12 << 210 */
  20901. { { 0xbc19180c207674f1L,0x112e09a733ae8fdbL,0x996675546aaeb71eL,
  20902. 0x79432af1e101b1c7L },
  20903. { 0xd5eb558fde2ddec6L,0x81392d1f5357753fL,0xa7a76b973ae1158aL,
  20904. 0x416fbbff4a899991L } },
  20905. /* 13 << 210 */
  20906. { { 0x9e65fdfd0d4a9dcfL,0x7bc29e48944ddf12L,0xbc1a92d93c856866L,
  20907. 0x273c69056e98dfe2L },
  20908. { 0x69fce418cdfaa6b8L,0x606bd8235061c69fL,0x42d495a06af75e27L,
  20909. 0x8ed3d5056d873a1fL } },
  20910. /* 14 << 210 */
  20911. { { 0xaf5528416ab25b6aL,0xc6c0ffc72b1a4523L,0xab18827b21c99e03L,
  20912. 0x060e86489034691bL },
  20913. { 0x5207f90f93c7f398L,0x9f4a96cb82f8d10bL,0xdd71cd793ad0f9e3L,
  20914. 0x84f435d2fc3a54f5L } },
  20915. /* 15 << 210 */
  20916. { { 0x4b03c55b8e33787fL,0xef42f975a6384673L,0xff7304f75051b9f0L,
  20917. 0x18aca1dc741c87c2L },
  20918. { 0x56f120a72d4bfe80L,0xfd823b3d053e732cL,0x11bccfe47537ca16L,
  20919. 0xdf6c9c741b5a996bL } },
  20920. /* 16 << 210 */
  20921. { { 0xee7332c7904fc3faL,0x14a23f45c7e3636aL,0xc38659c3f091d9aaL,
  20922. 0x4a995e5db12d8540L },
  20923. { 0x20a53becf3a5598aL,0x56534b17b1eaa995L,0x9ed3dca4bf04e03cL,
  20924. 0x716c563ad8d56268L } },
  20925. /* 17 << 210 */
  20926. { { 0x27ba77a41d6178e7L,0xe4c80c4068a1ff8eL,0x750110990a13f63dL,
  20927. 0x7bf33521a61d46f3L },
  20928. { 0x0aff218e10b365bbL,0x810218040fd7ea75L,0x05a3fd8aa4b3a925L,
  20929. 0xb829e75f9b3db4e6L } },
  20930. /* 18 << 210 */
  20931. { { 0x6bdc75a54d53e5fbL,0x04a5dc02d52717e3L,0x86af502fe9a42ec2L,
  20932. 0x8867e8fb2630e382L },
  20933. { 0xbf845c6ebec9889bL,0x54f491f2cb47c98dL,0xa3091fba790c2a12L,
  20934. 0xd7f6fd78c20f708bL } },
  20935. /* 19 << 210 */
  20936. { { 0xa569ac30acde5e17L,0xd0f996d06852b4d7L,0xe51d4bb54609ae54L,
  20937. 0x3fa37d170daed061L },
  20938. { 0x62a8868434b8fb41L,0x99a2acbd9efb64f1L,0xb75c1a5e6448e1f2L,
  20939. 0xfa99951a42b5a069L } },
  20940. /* 20 << 210 */
  20941. { { 0x6d956e892f3b26e7L,0xf4709860da875247L,0x3ad151792482dda3L,
  20942. 0xd64110e3017d82f0L },
  20943. { 0x14928d2cfad414e4L,0x2b155f582ed02b24L,0x481a141bcb821bf1L,
  20944. 0x12e3c7704f81f5daL } },
  20945. /* 21 << 210 */
  20946. { { 0xe49c5de59fff8381L,0x110532325bbec894L,0xa0d051cc454d88c4L,
  20947. 0x4f6db89c1f8e531bL },
  20948. { 0x34fe3fd6ca563a44L,0x7f5c221558da8ab9L,0x8445016d9474f0a1L,
  20949. 0x17d34d61cb7d8a0aL } },
  20950. /* 22 << 210 */
  20951. { { 0x8e9d39101c474019L,0xcaff2629d52ceefbL,0xf9cf3e32c1622c2bL,
  20952. 0xd4b95e3ce9071a05L },
  20953. { 0xfbbca61f1594438cL,0x1eb6e6a604aadedfL,0x853027f468e14940L,
  20954. 0x221d322adfabda9cL } },
  20955. /* 23 << 210 */
  20956. { { 0xed8ea9f6b7cb179aL,0xdc7b764db7934dccL,0xfcb139405e09180dL,
  20957. 0x6629a6bfb47dc2ddL },
  20958. { 0xbfc55e4e9f5a915eL,0xb1db9d376204441eL,0xf82d68cf930c5f53L,
  20959. 0x17d3a142cbb605b1L } },
  20960. /* 24 << 210 */
  20961. { { 0xdd5944ea308780f2L,0xdc8de7613845f5e4L,0x6beaba7d7624d7a3L,
  20962. 0x1e709afd304df11eL },
  20963. { 0x9536437602170456L,0xbf204b3ac8f94b64L,0x4e53af7c5680ca68L,
  20964. 0x0526074ae0c67574L } },
  20965. /* 25 << 210 */
  20966. { { 0x95d8cef8ecd92af6L,0xe6b9fa7a6cd1745aL,0x3d546d3da325c3e4L,
  20967. 0x1f57691d9ae93aaeL },
  20968. { 0xe891f3fe9d2e1a33L,0xd430093fac063d35L,0xeda59b125513a327L,
  20969. 0xdc2134f35536f18fL } },
  20970. /* 26 << 210 */
  20971. { { 0xaa51fe2c5c210286L,0x3f68aaee1cab658cL,0x5a23a00bf9357292L,
  20972. 0x9a626f397efdabedL },
  20973. { 0xfe2b3bf3199d78e3L,0xb7a2af7771bbc345L,0x3d19827a1e59802cL,
  20974. 0x823bbc15b487a51cL } },
  20975. /* 27 << 210 */
  20976. { { 0x856139f299d0a422L,0x9ac3df65f456c6fbL,0xaddf65c6701f8bd6L,
  20977. 0x149f321e3758df87L },
  20978. { 0xb1ecf714721b7ebaL,0xe17df09831a3312aL,0xdb2fd6ecd5c4d581L,
  20979. 0xfd02996f8fcea1b3L } },
  20980. /* 28 << 210 */
  20981. { { 0xe29fa63e7882f14fL,0xc9f6dc3507c6cadcL,0x46f22d6fb882bed0L,
  20982. 0x1a45755bd118e52cL },
  20983. { 0x9f2c7c277c4608cfL,0x7ccbdf32568012c2L,0xfcb0aedd61729b0eL,
  20984. 0x7ca2ca9ef7d75dbfL } },
  20985. /* 29 << 210 */
  20986. { { 0xf58fecb16f640f62L,0xe274b92b39f51946L,0x7f4dfc046288af44L,
  20987. 0x0a91f32aeac329e5L },
  20988. { 0x43ad274bd6aaba31L,0x719a16400f6884f9L,0x685d29f6daf91e20L,
  20989. 0x5ec1cc3327e49d52L } },
  20990. /* 30 << 210 */
  20991. { { 0x38f4de963b54a059L,0x0e0015e5efbcfdb3L,0x177d23d94dbb8da6L,
  20992. 0x98724aa297a617adL },
  20993. { 0x30f0885bfdb6558eL,0xf9f7a28ac7899a96L,0xd2ae8ac8872dc112L,
  20994. 0xfa0642ca73c3c459L } },
  20995. /* 31 << 210 */
  20996. { { 0x15296981e7dfc8d6L,0x67cd44501fb5b94aL,0x0ec71cf10eddfd37L,
  20997. 0xc7e5eeb39a8eddc7L },
  20998. { 0x02ac8e3d81d95028L,0x0088f17270b0e35dL,0xec041fabe1881fe3L,
  20999. 0x62cf71b8d99e7faaL } },
  21000. /* 32 << 210 */
  21001. { { 0x5043dea7e0f222c2L,0x309d42ac72e65142L,0x94fe9ddd9216cd30L,
  21002. 0xd6539c7d0f87feecL },
  21003. { 0x03c5a57c432ac7d7L,0x72692cf0327fda10L,0xec28c85f280698deL,
  21004. 0x2331fb467ec283b1L } },
  21005. /* 33 << 210 */
  21006. { { 0xd34bfa322867e633L,0x78709a820a9cc815L,0xb7fe6964875e2fa5L,
  21007. 0x25cc064f9e98bfb5L },
  21008. { 0x9eb0151c493a65c5L,0x5fb5d94153182464L,0x69e6f130f04618e2L,
  21009. 0xa8ecec22f89c8ab6L } },
  21010. /* 34 << 210 */
  21011. { { 0xcd6ac88bb96209bdL,0x65fa8cdbb3e1c9e0L,0xa47d22f54a8d8eacL,
  21012. 0x83895cdf8d33f963L },
  21013. { 0xa8adca59b56cd3d1L,0x10c8350bdaf38232L,0x2b161fb3a5080a9fL,
  21014. 0xbe7f5c643af65b3aL } },
  21015. /* 35 << 210 */
  21016. { { 0x2c75403997403a11L,0x94626cf7121b96afL,0x431de7c46a983ec2L,
  21017. 0x3780dd3a52cc3df7L },
  21018. { 0xe28a0e462baf8e3bL,0xabe68aad51d299aeL,0x603eb8f9647a2408L,
  21019. 0x14c61ed65c750981L } },
  21020. /* 36 << 210 */
  21021. { { 0x88b34414c53352e7L,0x5a34889c1337d46eL,0x612c1560f95f2bc8L,
  21022. 0x8a3f8441d4807a3aL },
  21023. { 0x680d9e975224da68L,0x60cd6e88c3eb00e9L,0x3875a98e9a6bc375L,
  21024. 0xdc80f9244fd554c2L } },
  21025. /* 37 << 210 */
  21026. { { 0x6c4b34156ac77407L,0xa1e5ea8f25420681L,0x541bfa144607a458L,
  21027. 0x5dbc7e7a96d7fbf9L },
  21028. { 0x646a851b31590a47L,0x039e85ba15ee6df8L,0xd19fa231d7b43fc0L,
  21029. 0x84bc8be8299a0e04L } },
  21030. /* 38 << 210 */
  21031. { { 0x2b9d2936f20df03aL,0x240543828608d472L,0x76b6ba049149202aL,
  21032. 0xb21c38313670e7b7L },
  21033. { 0xddd93059d6fdee10L,0x9da47ad378488e71L,0x99cc1dfda0fcfb25L,
  21034. 0x42abde1064696954L } },
  21035. /* 39 << 210 */
  21036. { { 0x14cc15fc17eab9feL,0xd6e863e4d3e70972L,0x29a7765c6432112cL,
  21037. 0x886600015b0774d8L },
  21038. { 0x3729175a2c088eaeL,0x13afbcae8230b8d4L,0x44768151915f4379L,
  21039. 0xf086431ad8d22812L } },
  21040. /* 40 << 210 */
  21041. { { 0x37461955c298b974L,0x905fb5f0f8711e04L,0x787abf3afe969d18L,
  21042. 0x392167c26f6a494eL },
  21043. { 0xfc7a0d2d28c511daL,0xf127c7dcb66a262dL,0xf9c4bb95fd63fdf0L,
  21044. 0x900165893913ef46L } },
  21045. /* 41 << 210 */
  21046. { { 0x74d2a73c11aa600dL,0x2f5379bd9fb5ab52L,0xe49e53a47fb70068L,
  21047. 0x68dd39e5404aa9a7L },
  21048. { 0xb9b0cf572ecaa9c3L,0xba0e103be824826bL,0x60c2198b4631a3c4L,
  21049. 0xc5ff84abfa8966a2L } },
  21050. /* 42 << 210 */
  21051. { { 0x2d6ebe22ac95aff8L,0x1c9bb6dbb5a46d09L,0x419062da53ee4f8dL,
  21052. 0x7b9042d0bb97efefL },
  21053. { 0x0f87f080830cf6bdL,0x4861d19a6ec8a6c6L,0xd3a0daa1202f01aaL,
  21054. 0xb0111674f25afbd5L } },
  21055. /* 43 << 210 */
  21056. { { 0x6d00d6cf1afb20d9L,0x1369500040671bc5L,0x913ab0dc2485ea9bL,
  21057. 0x1f2bed069eef61acL },
  21058. { 0x850c82176d799e20L,0x93415f373271c2deL,0x5afb06e96c4f5910L,
  21059. 0x688a52dfc4e9e421L } },
  21060. /* 44 << 210 */
  21061. { { 0x30495ba3e2a9a6dbL,0x4601303d58f9268bL,0xbe3b0dad7eb0f04fL,
  21062. 0x4ea472504456936dL },
  21063. { 0x8caf8798d33fd3e7L,0x1ccd8a89eb433708L,0x9effe3e887fd50adL,
  21064. 0xbe240a566b29c4dfL } },
  21065. /* 45 << 210 */
  21066. { { 0xec4ffd98ca0e7ebdL,0xf586783ae748616eL,0xa5b00d8fc77baa99L,
  21067. 0x0acada29b4f34c9cL },
  21068. { 0x36dad67d0fe723acL,0x1d8e53a539c36c1eL,0xe4dd342d1f4bea41L,
  21069. 0x64fd5e35ebc9e4e0L } },
  21070. /* 46 << 210 */
  21071. { { 0x96f01f9057908805L,0xb5b9ea3d5ed480ddL,0x366c5dc23efd2dd0L,
  21072. 0xed2fe3056e9dfa27L },
  21073. { 0x4575e8926e9197e2L,0x11719c09ab502a5dL,0x264c7bece81f213fL,
  21074. 0x741b924155f5c457L } },
  21075. /* 47 << 210 */
  21076. { { 0x78ac7b6849a5f4f4L,0xf91d70a29fc45b7dL,0x39b05544b0f5f355L,
  21077. 0x11f06bceeef930d9L },
  21078. { 0xdb84d25d038d05e1L,0x04838ee5bacc1d51L,0x9da3ce869e8ee00bL,
  21079. 0xc3412057c36eda1fL } },
  21080. /* 48 << 210 */
  21081. { { 0xae80b91364d9c2f4L,0x7468bac3a010a8ffL,0xdfd2003737359d41L,
  21082. 0x1a0f5ab815efeaccL },
  21083. { 0x7c25ad2f659d0ce0L,0x4011bcbb6785cff1L,0x128b99127e2192c7L,
  21084. 0xa549d8e113ccb0e8L } },
  21085. /* 49 << 210 */
  21086. { { 0x805588d8c85438b1L,0x5680332dbc25cb27L,0xdcd1bc961a4bfdf4L,
  21087. 0x779ff428706f6566L },
  21088. { 0x8bbee998f059987aL,0xf6ce8cf2cc686de7L,0xf8ad3c4a953cfdb2L,
  21089. 0xd1d426d92205da36L } },
  21090. /* 50 << 210 */
  21091. { { 0xb3c0f13fc781a241L,0x3e89360ed75362a8L,0xccd05863c8a91184L,
  21092. 0x9bd0c9b7efa8a7f4L },
  21093. { 0x97ee4d538a912a4bL,0xde5e15f8bcf518fdL,0x6a055bf8c467e1e0L,
  21094. 0x10be4b4b1587e256L } },
  21095. /* 51 << 210 */
  21096. { { 0xd90c14f2668621c9L,0xd5518f51ab9c92c1L,0x8e6a0100d6d47b3cL,
  21097. 0xcbe980dd66716175L },
  21098. { 0x500d3f10ddd83683L,0x3b6cb35d99cac73cL,0x53730c8b6083d550L,
  21099. 0xcf159767df0a1987L } },
  21100. /* 52 << 210 */
  21101. { { 0x84bfcf5343ad73b3L,0x1b528c204f035a94L,0x4294edf733eeac69L,
  21102. 0xb6283e83817f3240L },
  21103. { 0xc3fdc9590a5f25b1L,0xefaf8aa55844ee22L,0xde269ba5dbdde4deL,
  21104. 0xe3347160c56133bfL } },
  21105. /* 53 << 210 */
  21106. { { 0xc11842198d9ea9f8L,0x090de5dbf3fc1ab5L,0x404c37b10bf22cdaL,
  21107. 0x7de20ec8f5618894L },
  21108. { 0x754c588eecdaecabL,0x6ca4b0ed88342743L,0x76f08bddf4a938ecL,
  21109. 0xd182de8991493ccbL } },
  21110. /* 54 << 210 */
  21111. { { 0xd652c53ec8a4186aL,0xb3e878db946d8e33L,0x088453c05f37663cL,
  21112. 0x5cd9daaab407748bL },
  21113. { 0xa1f5197f586d5e72L,0x47500be8c443ca59L,0x78ef35b2e2652424L,
  21114. 0x09c5d26f6dd7767dL } },
  21115. /* 55 << 210 */
  21116. { { 0x7175a79aa74d3f7bL,0x0428fd8dcf5ea459L,0x511cb97ca5d1746dL,
  21117. 0x36363939e71d1278L },
  21118. { 0xcf2df95510350bf4L,0xb381743960aae782L,0xa748c0e43e688809L,
  21119. 0x98021fbfd7a5a006L } },
  21120. /* 56 << 210 */
  21121. { { 0x9076a70c0e367a98L,0xbea1bc150f62b7c2L,0x2645a68c30fe0343L,
  21122. 0xacaffa78699dc14fL },
  21123. { 0xf4469964457bf9c4L,0x0db6407b0d2ead83L,0x68d56cadb2c6f3ebL,
  21124. 0x3b512e73f376356cL } },
  21125. /* 57 << 210 */
  21126. { { 0xe43b0e1ffce10408L,0x89ddc0035a5e257dL,0xb0ae0d120362e5b3L,
  21127. 0x07f983c7b0519161L },
  21128. { 0xc2e94d155d5231e7L,0xcff22aed0b4f9513L,0xb02588dd6ad0b0b5L,
  21129. 0xb967d1ac11d0dcd5L } },
  21130. /* 58 << 210 */
  21131. { { 0x8dac6bc6cf777b6cL,0x0062bdbd4c6d1959L,0x53da71b50ef5cc85L,
  21132. 0x07012c7d4006f14fL },
  21133. { 0x4617f962ac47800dL,0x53365f2bc102ed75L,0xb422efcb4ab8c9d3L,
  21134. 0x195cb26b34af31c9L } },
  21135. /* 59 << 210 */
  21136. { { 0x3a926e2905f2c4ceL,0xbd2bdecb9856966cL,0x5d16ab3a85527015L,
  21137. 0x9f81609e4486c231L },
  21138. { 0xd8b96b2cda350002L,0xbd054690fa1b7d36L,0xdc90ebf5e71d79bcL,
  21139. 0xf241b6f908964e4eL } },
  21140. /* 60 << 210 */
  21141. { { 0x7c8386432fe3cd4cL,0xe0f33acbb4bc633cL,0xb4a9ecec3d139f1fL,
  21142. 0x05ce69cddc4a1f49L },
  21143. { 0xa19d1b16f5f98aafL,0x45bb71d66f23e0efL,0x33789fcd46cdfdd3L,
  21144. 0x9b8e2978cee040caL } },
  21145. /* 61 << 210 */
  21146. { { 0x9c69b246ae0a6828L,0xba533d247078d5aaL,0x7a2e42c07bb4fbdbL,
  21147. 0xcfb4879a7035385cL },
  21148. { 0x8c3dd30b3281705bL,0x7e361c6c404fe081L,0x7b21649c3f604edfL,
  21149. 0x5dbf6a3fe52ffe47L } },
  21150. /* 62 << 210 */
  21151. { { 0xc41b7c234b54d9bfL,0x1374e6813511c3d9L,0x1863bf16c1b2b758L,
  21152. 0x90e785071e9e6a96L },
  21153. { 0xab4bf98d5d86f174L,0xd74e0bd385e96fe4L,0x8afde39fcac5d344L,
  21154. 0x90946dbcbd91b847L } },
  21155. /* 63 << 210 */
  21156. { { 0xf5b42358fe1a838cL,0x05aae6c5620ac9d8L,0x8e193bd8a1ce5a0bL,
  21157. 0x8f7105714dabfd72L },
  21158. { 0x8d8fdd48182caaacL,0x8c4aeefa040745cfL,0x73c6c30af3b93e6dL,
  21159. 0x991241f316f42011L } },
  21160. /* 64 << 210 */
  21161. { { 0xa0158eeae457a477L,0xd19857dbee6ddc05L,0xb326522418c41671L,
  21162. 0x3ffdfc7e3c2c0d58L },
  21163. { 0x3a3a525426ee7cdaL,0x341b0869df02c3a8L,0xa023bf42723bbfc8L,
  21164. 0x3d15002a14452691L } },
  21165. /* 0 << 217 */
  21166. { { 0x00, 0x00, 0x00, 0x00 },
  21167. { 0x00, 0x00, 0x00, 0x00 } },
  21168. /* 1 << 217 */
  21169. { { 0x5ef7324c85edfa30L,0x2597655487d4f3daL,0x352f5bc0dcb50c86L,
  21170. 0x8f6927b04832a96cL },
  21171. { 0xd08ee1ba55f2f94cL,0x6a996f99344b45faL,0xe133cb8da8aa455dL,
  21172. 0x5d0721ec758dc1f7L } },
  21173. /* 2 << 217 */
  21174. { { 0x6ba7a92079e5fb67L,0xe1331feb70aa725eL,0x5080ccf57df5d837L,
  21175. 0xe4cae01d7ff72e21L },
  21176. { 0xd9243ee60412a77dL,0x06ff7cacdf449025L,0xbe75f7cd23ef5a31L,
  21177. 0xbc9578220ddef7a8L } },
  21178. /* 3 << 217 */
  21179. { { 0x8cf7230cb0ce1c55L,0x5b534d050bbfb607L,0xee1ef1130e16363bL,
  21180. 0x27e0aa7ab4999e82L },
  21181. { 0xce1dac2d79362c41L,0x67920c9091bb6cb0L,0x1e648d632223df24L,
  21182. 0x0f7d9eefe32e8f28L } },
  21183. /* 4 << 217 */
  21184. { { 0x6943f39afa833834L,0x22951722a6328562L,0x81d63dd54170fc10L,
  21185. 0x9f5fa58faecc2e6dL },
  21186. { 0xb66c8725e77d9a3bL,0x11235cea6384ebe0L,0x06a8c1185845e24aL,
  21187. 0x0137b286ebd093b1L } },
  21188. /* 5 << 217 */
  21189. { { 0xc589e1ce44ace150L,0xe0f8d3d94381e97cL,0x59e99b1162c5a4b8L,
  21190. 0x90d262f7fd0ec9f9L },
  21191. { 0xfbc854c9283e13c9L,0x2d04fde7aedc7085L,0x057d776547dcbecbL,
  21192. 0x8dbdf5919a76fa5fL } },
  21193. /* 6 << 217 */
  21194. { { 0xd01506950de1e578L,0x2e1463e7e9f72bc6L,0xffa684411b39eca5L,
  21195. 0x673c85307c037f2fL },
  21196. { 0xd0d6a600747f91daL,0xb08d43e1c9cb78e9L,0x0fc0c64427b5cef5L,
  21197. 0x5c1d160aa60a2fd6L } },
  21198. /* 7 << 217 */
  21199. { { 0xf98cae5328c8e13bL,0x375f10c4b2eddcd1L,0xd4eb8b7f5cce06adL,
  21200. 0xb4669f4580a2e1efL },
  21201. { 0xd593f9d05bbd8699L,0x5528a4c9e7976d13L,0x3923e0951c7e28d3L,
  21202. 0xb92937903f6bb577L } },
  21203. /* 8 << 217 */
  21204. { { 0xdb567d6ac42bd6d2L,0x6df86468bb1f96aeL,0x0efe5b1a4843b28eL,
  21205. 0x961bbb056379b240L },
  21206. { 0xb6caf5f070a6a26bL,0x70686c0d328e6e39L,0x80da06cf895fc8d3L,
  21207. 0x804d8810b363fdc9L } },
  21208. /* 9 << 217 */
  21209. { { 0xbe22877b207f1670L,0x9b0dd1884e615291L,0x625ae8dc97a3c2bfL,
  21210. 0x08584ef7439b86e8L },
  21211. { 0xde7190a5dcd898ffL,0x26286c402058ee3dL,0x3db0b2175f87b1c1L,
  21212. 0xcc334771102a6db5L } },
  21213. /* 10 << 217 */
  21214. { { 0xd99de9542f770fb1L,0x97c1c6204cd7535eL,0xd3b6c4483f09cefcL,
  21215. 0xd725af155a63b4f8L },
  21216. { 0x0c95d24fc01e20ecL,0xdfd374949ae7121fL,0x7d6ddb72ec77b7ecL,
  21217. 0xfe079d3b0353a4aeL } },
  21218. /* 11 << 217 */
  21219. { { 0x3066e70a2e6ac8d2L,0x9c6b5a43106e5c05L,0x52d3c6f5ede59b8cL,
  21220. 0x30d6a5c3fccec9aeL },
  21221. { 0xedec7c224fc0a9efL,0x190ff08395c16cedL,0xbe12ec8f94de0fdeL,
  21222. 0x0d131ab8852d3433L } },
  21223. /* 12 << 217 */
  21224. { { 0x42ace07e85701291L,0x94793ed9194061a8L,0x30e83ed6d7f4a485L,
  21225. 0x9eec7269f9eeff4dL },
  21226. { 0x90acba590c9d8005L,0x5feca4581e79b9d1L,0x8fbe54271d506a1eL,
  21227. 0xa32b2c8e2439cfa7L } },
  21228. /* 13 << 217 */
  21229. { { 0x1671c17373dd0b4eL,0x37a2821444a054c6L,0x81760a1b4e8b53f1L,
  21230. 0xa6c04224f9f93b9eL },
  21231. { 0x18784b34cf671e3cL,0x81bbecd2cda9b994L,0x38831979b2ab3848L,
  21232. 0xef54feb7f2e03c2dL } },
  21233. /* 14 << 217 */
  21234. { { 0xcf197ca7fb8088faL,0x014272474ddc96c5L,0xa2d2550a30777176L,
  21235. 0x534698984d0cf71dL },
  21236. { 0x6ce937b83a2aaac6L,0xe9f91dc35af38d9bL,0x2598ad83c8bf2899L,
  21237. 0x8e706ac9b5536c16L } },
  21238. /* 15 << 217 */
  21239. { { 0x40dc7495f688dc98L,0x26490cd7124c4afcL,0xe651ec841f18775cL,
  21240. 0x393ea6c3b4fdaf4aL },
  21241. { 0x1e1f33437f338e0dL,0x39fb832b6053e7b5L,0x46e702da619e14d5L,
  21242. 0x859cacd1cdeef6e0L } },
  21243. /* 16 << 217 */
  21244. { { 0x63b99ce74462007dL,0xb8ab48a54cb5f5b7L,0x9ec673d2f55edde7L,
  21245. 0xd1567f748cfaefdaL },
  21246. { 0x46381b6b0887bcecL,0x694497cee178f3c2L,0x5e6525e31e6266cbL,
  21247. 0x5931de26697d6413L } },
  21248. /* 17 << 217 */
  21249. { { 0x87f8df7c0e58d493L,0xb1ae5ed058b73f12L,0xc368f784dea0c34dL,
  21250. 0x9bd0a120859a91a0L },
  21251. { 0xb00d88b7cc863c68L,0x3a1cc11e3d1f4d65L,0xea38e0e70aa85593L,
  21252. 0x37f13e987dc4aee8L } },
  21253. /* 18 << 217 */
  21254. { { 0x10d38667bc947badL,0x738e07ce2a36ee2eL,0xc93470cdc577fcacL,
  21255. 0xdee1b6162782470dL },
  21256. { 0x36a25e672e793d12L,0xd6aa6caee0f186daL,0x474d0fd980e07af7L,
  21257. 0xf7cdc47dba8a5cd4L } },
  21258. /* 19 << 217 */
  21259. { { 0x28af6d9dab15247fL,0x7c789c10493a537fL,0x7ac9b11023a334e7L,
  21260. 0x0236ac0912c9c277L },
  21261. { 0xa7e5bd251d7a5144L,0x098b9c2af13ec4ecL,0x3639dacad3f0abcaL,
  21262. 0x642da81aa23960f9L } },
  21263. /* 20 << 217 */
  21264. { { 0x7d2e5c054f7269b1L,0xfcf30777e287c385L,0x10edc84ff2a46f21L,
  21265. 0x354417574f43fa36L },
  21266. { 0xf1327899fd703431L,0xa438d7a616dd587aL,0x65c34c57e9c8352dL,
  21267. 0xa728edab5cc5a24eL } },
  21268. /* 21 << 217 */
  21269. { { 0xaed78abc42531689L,0x0a51a0e8010963efL,0x5776fa0ad717d9b3L,
  21270. 0xf356c2397dd3428bL },
  21271. { 0x29903fff8d3a3dacL,0x409597fa3d94491fL,0x4cd7a5ffbf4a56a4L,
  21272. 0xe50964748adab462L } },
  21273. /* 22 << 217 */
  21274. { { 0xa97b51265c3427b0L,0x6401405cd282c9bdL,0x3629f8d7222c5c45L,
  21275. 0xb1c02c16e8d50aedL },
  21276. { 0xbea2ed75d9635bc9L,0x226790c76e24552fL,0x3c33f2a365f1d066L,
  21277. 0x2a43463e6dfccc2eL } },
  21278. /* 23 << 217 */
  21279. { { 0x8cc3453adb483761L,0xe7cc608565d5672bL,0x277ed6cbde3efc87L,
  21280. 0x19f2f36869234eafL },
  21281. { 0x9aaf43175c0b800bL,0x1f1e7c898b6da6e2L,0x6cfb4715b94ec75eL,
  21282. 0xd590dd5f453118c2L } },
  21283. /* 24 << 217 */
  21284. { { 0x14e49da11f17a34cL,0x5420ab39235a1456L,0xb76372412f50363bL,
  21285. 0x7b15d623c3fabb6eL },
  21286. { 0xa0ef40b1e274e49cL,0x5cf5074496b1860aL,0xd6583fbf66afe5a4L,
  21287. 0x44240510f47e3e9aL } },
  21288. /* 25 << 217 */
  21289. { { 0x9925434311b2d595L,0xf1367499eec8df57L,0x3cb12c613e73dd05L,
  21290. 0xd248c0337dac102aL },
  21291. { 0xcf154f13a77739f5L,0xbf4288cb23d2af42L,0xaa64c9b632e4a1cfL,
  21292. 0xee8c07a8c8a208f3L } },
  21293. /* 26 << 217 */
  21294. { { 0xe10d49996fe8393fL,0x0f809a3fe91f3a32L,0x61096d1c802f63c8L,
  21295. 0x289e146257750d3dL },
  21296. { 0xed06167e9889feeaL,0xd5c9c0e2e0993909L,0x46fca0d856508ac6L,
  21297. 0x918260474f1b8e83L } },
  21298. /* 27 << 217 */
  21299. { { 0x4f2c877a9a4a2751L,0x71bd0072cae6feadL,0x38df8dcc06aa1941L,
  21300. 0x5a074b4c63beeaa8L },
  21301. { 0xd6d65934c1cec8edL,0xa6ecb49eaabc03bdL,0xaade91c2de8a8415L,
  21302. 0xcfb0efdf691136e0L } },
  21303. /* 28 << 217 */
  21304. { { 0x11af45ee23ab3495L,0xa132df880b77463dL,0x8923c15c815d06f4L,
  21305. 0xc3ceb3f50d61a436L },
  21306. { 0xaf52291de88fb1daL,0xea0579741da12179L,0xb0d7218cd2fef720L,
  21307. 0x6c0899c98e1d8845L } },
  21308. /* 29 << 217 */
  21309. { { 0x98157504752ddad7L,0xd60bd74fa1a68a97L,0x7047a3a9f658fb99L,
  21310. 0x1f5d86d65f8511e4L },
  21311. { 0xb8a4bc424b5a6d88L,0x69eb2c331abefa7dL,0x95bf39e813c9c510L,
  21312. 0xf571960ad48aab43L } },
  21313. /* 30 << 217 */
  21314. { { 0x7e8cfbcf704e23c6L,0xc71b7d2228aaa65bL,0xa041b2bd245e3c83L,
  21315. 0x69b98834d21854ffL },
  21316. { 0x89d227a3963bfeecL,0x99947aaade7da7cbL,0x1d9ee9dbee68a9b1L,
  21317. 0x0a08f003698ec368L } },
  21318. /* 31 << 217 */
  21319. { { 0xe9ea409478ef2487L,0xc8d2d41502cfec26L,0xc52f9a6eb7dcf328L,
  21320. 0x0ed489e385b6a937L },
  21321. { 0x9b94986bbef3366eL,0x0de59c70edddddb8L,0xffdb748ceadddbe2L,
  21322. 0x9b9784bb8266ea40L } },
  21323. /* 32 << 217 */
  21324. { { 0x142b55021a93507aL,0xb4cd11878d3c06cfL,0xdf70e76a91ec3f40L,
  21325. 0x484e81ad4e7553c2L },
  21326. { 0x830f87b5272e9d6eL,0xea1c93e5c6ff514aL,0x67cc2adcc4192a8eL,
  21327. 0xc77e27e242f4535aL } },
  21328. /* 33 << 217 */
  21329. { { 0x9cdbab36d2b713c5L,0x86274ea0cf7b0cd3L,0x784680f309af826bL,
  21330. 0xbfcc837a0c72dea3L },
  21331. { 0xa8bdfe9dd6529b73L,0x708aa22863a88002L,0x6c7a9a54c91d45b9L,
  21332. 0xdf1a38bbfd004f56L } },
  21333. /* 34 << 217 */
  21334. { { 0x2e8c9a26b8bad853L,0x2d52cea33723eae7L,0x054d6d8156ca2830L,
  21335. 0xa3317d149a8dc411L },
  21336. { 0xa08662fefd4ddedaL,0xed2a153ab55d792bL,0x7035c16abfc6e944L,
  21337. 0xb6bc583400171cf3L } },
  21338. /* 35 << 217 */
  21339. { { 0xe27152b383d102b6L,0xfe695a470646b848L,0xa5bb09d8916e6d37L,
  21340. 0xb4269d640d17015eL },
  21341. { 0x8d8156a10a1d2285L,0xfeef6c5146d26d72L,0x9dac57c84c5434a7L,
  21342. 0x0282e5be59d39e31L } },
  21343. /* 36 << 217 */
  21344. { { 0xedfff181721c486dL,0x301baf10bc58824eL,0x8136a6aa00570031L,
  21345. 0x55aaf78c1cddde68L },
  21346. { 0x2682937159c63952L,0x3a3bd2748bc25bafL,0xecdf8657b7e52dc3L,
  21347. 0x2dd8c087fd78e6c8L } },
  21348. /* 37 << 217 */
  21349. { { 0x20553274f5531461L,0x8b4a12815d95499bL,0xe2c8763a1a80f9d2L,
  21350. 0xd1dbe32b4ddec758L },
  21351. { 0xaf12210d30c34169L,0xba74a95378baa533L,0x3d133c6ea438f254L,
  21352. 0xa431531a201bef5bL } },
  21353. /* 38 << 217 */
  21354. { { 0x15295e22f669d7ecL,0xca374f64357fb515L,0x8a8406ffeaa3fdb3L,
  21355. 0x106ae448df3f2da8L },
  21356. { 0x8f9b0a9033c8e9a1L,0x234645e271ad5885L,0x3d0832241c0aed14L,
  21357. 0xf10a7d3e7a942d46L } },
  21358. /* 39 << 217 */
  21359. { { 0x7c11deee40d5c9beL,0xb2bae7ffba84ed98L,0x93e97139aad58dddL,
  21360. 0x3d8727963f6d1fa3L },
  21361. { 0x483aca818569ff13L,0x8b89a5fb9a600f72L,0x4cbc27c3c06f2b86L,
  21362. 0x2213071363ad9c0bL } },
  21363. /* 40 << 217 */
  21364. { { 0xb5358b1e48ac2840L,0x18311294ecba9477L,0xda58f990a6946b43L,
  21365. 0x3098baf99ab41819L },
  21366. { 0x66c4c1584198da52L,0xab4fc17c146bfd1bL,0x2f0a4c3cbf36a908L,
  21367. 0x2ae9e34b58cf7838L } },
  21368. /* 41 << 217 */
  21369. { { 0xf411529e3fa11b1fL,0x21e43677974af2b4L,0x7c20958ec230793bL,
  21370. 0x710ea88516e840f3L },
  21371. { 0xfc0b21fcc5dc67cfL,0x08d5164788405718L,0xd955c21fcfe49eb7L,
  21372. 0x9722a5d556dd4a1fL } },
  21373. /* 42 << 217 */
  21374. { { 0xc9ef50e2c861baa5L,0xc0c21a5d9505ac3eL,0xaf6b9a338b7c063fL,
  21375. 0xc63703392f4779c1L },
  21376. { 0x22df99c7638167c3L,0xfe6ffe76795db30cL,0x2b822d33a4854989L,
  21377. 0xfef031dd30563aa5L } },
  21378. /* 43 << 217 */
  21379. { { 0x16b09f82d57c667fL,0xc70312cecc0b76f1L,0xbf04a9e6c9118aecL,
  21380. 0x82fcb4193409d133L },
  21381. { 0x1a8ab385ab45d44dL,0xfba07222617b83a3L,0xb05f50dd58e81b52L,
  21382. 0x1d8db55321ce5affL } },
  21383. /* 44 << 217 */
  21384. { { 0x3097b8d4e344a873L,0x7d8d116dfe36d53eL,0x6db22f587875e750L,
  21385. 0x2dc5e37343e144eaL },
  21386. { 0xc05f32e6e799eb95L,0xe9e5f4df6899e6ecL,0xbdc3bd681fab23d5L,
  21387. 0xb72b8ab773af60e6L } },
  21388. /* 45 << 217 */
  21389. { { 0x8db27ae02cecc84aL,0x600016d87bdb871cL,0x42a44b13d7c46f58L,
  21390. 0xb8919727c3a77d39L },
  21391. { 0xcfc6bbbddafd6088L,0x1a7401466bd20d39L,0x8c747abd98c41072L,
  21392. 0x4c91e765bdf68ea1L } },
  21393. /* 46 << 217 */
  21394. { { 0x7c95e5ca08819a78L,0xcf48b729c9587921L,0x091c7c5fdebbcc7dL,
  21395. 0x6f287404f0e05149L },
  21396. { 0xf83b5ac226cd44ecL,0x88ae32a6cfea250eL,0x6ac5047a1d06ebc5L,
  21397. 0xc7e550b4d434f781L } },
  21398. /* 47 << 217 */
  21399. { { 0x61ab1cf25c727bd2L,0x2e4badb11cf915b0L,0x1b4dadecf69d3920L,
  21400. 0xe61b1ca6f14c1dfeL },
  21401. { 0x90b479ccbd6bd51fL,0x8024e4018045ec30L,0xcab29ca325ef0e62L,
  21402. 0x4f2e941649e4ebc0L } },
  21403. /* 48 << 217 */
  21404. { { 0x45eb40ec0ccced58L,0x25cd4b9c0da44f98L,0x43e06458871812c6L,
  21405. 0x99f80d5516cef651L },
  21406. { 0x571340c9ce6dc153L,0x138d5117d8665521L,0xacdb45bc4e07014dL,
  21407. 0x2f34bb3884b60b91L } },
  21408. /* 49 << 217 */
  21409. { { 0xf44a4fd22ae8921eL,0xb039288e892ba1e2L,0x9da50174b1c180b2L,
  21410. 0x6b70ab661693dc87L },
  21411. { 0x7e9babc9e7057481L,0x4581ddef9c80dc41L,0x0c890da951294682L,
  21412. 0x0b5629d33f4736e5L } },
  21413. /* 50 << 217 */
  21414. { { 0x2340c79eb06f5b41L,0xa42e84ce4e243469L,0xf9a20135045a71a9L,
  21415. 0xefbfb415d27b6fb6L },
  21416. { 0x25ebea239d33cd6fL,0x9caedb88aa6c0af8L,0x53dc7e9ad9ce6f96L,
  21417. 0x3897f9fd51e0b15aL } },
  21418. /* 51 << 217 */
  21419. { { 0xf51cb1f88e5d788eL,0x1aec7ba8e1d490eeL,0x265991e0cc58cb3cL,
  21420. 0x9f306e8c9fc3ad31L },
  21421. { 0x5fed006e5040a0acL,0xca9d5043fb476f2eL,0xa19c06e8beea7a23L,
  21422. 0xd28658010edabb63L } },
  21423. /* 52 << 217 */
  21424. { { 0xdb92293f6967469aL,0x2894d8398d8a8ed8L,0x87c9e406bbc77122L,
  21425. 0x8671c6f12ea3a26aL },
  21426. { 0xe42df8d6d7de9853L,0x2e3ce346b1f2bcc7L,0xda601dfc899d50cfL,
  21427. 0xbfc913defb1b598fL } },
  21428. /* 53 << 217 */
  21429. { { 0x81c4909fe61f7908L,0x192e304f9bbc7b29L,0xc3ed8738c104b338L,
  21430. 0xedbe9e47783f5d61L },
  21431. { 0x0c06e9be2db30660L,0xda3e613fc0eb7d8eL,0xd8fa3e97322e096eL,
  21432. 0xfebd91e8d336e247L } },
  21433. /* 54 << 217 */
  21434. { { 0x8f13ccc4df655a49L,0xa9e00dfc5eb20210L,0x84631d0fc656b6eaL,
  21435. 0x93a058cdd8c0d947L },
  21436. { 0x6846904a67bd3448L,0x4a3d4e1af394fd5cL,0xc102c1a5db225f52L,
  21437. 0xe3455bbafc4f5e9aL } },
  21438. /* 55 << 217 */
  21439. { { 0x6b36985b4b9ad1ceL,0xa98185365bb7f793L,0x6c25e1d048b1a416L,
  21440. 0x1381dd533c81bee7L },
  21441. { 0xd2a30d617a4a7620L,0xc841292639b8944cL,0x3c1c6fbe7a97c33aL,
  21442. 0x941e541d938664e7L } },
  21443. /* 56 << 217 */
  21444. { { 0x417499e84a34f239L,0x15fdb83cb90402d5L,0xb75f46bf433aa832L,
  21445. 0xb61e15af63215db1L },
  21446. { 0xaabe59d4a127f89aL,0x5d541e0c07e816daL,0xaaba0659a618b692L,
  21447. 0x5532773317266026L } },
  21448. /* 57 << 217 */
  21449. { { 0xaf53a0fc95f57552L,0x329476506cacb0c9L,0x253ff58dc821be01L,
  21450. 0xb0309531a06f1146L },
  21451. { 0x59bbbdf505c2e54dL,0x158f27ad26e8dd22L,0xcc5b7ffb397e1e53L,
  21452. 0xae03f65b7fc1e50dL } },
  21453. /* 58 << 217 */
  21454. { { 0xa9784ebd9c95f0f9L,0x5ed9deb224640771L,0x31244af7035561c4L,
  21455. 0x87332f3a7ee857deL },
  21456. { 0x09e16e9e2b9e0d88L,0x52d910f456a06049L,0x507ed477a9592f48L,
  21457. 0x85cb917b2365d678L } },
  21458. /* 59 << 217 */
  21459. { { 0xf8511c934c8998d1L,0x2186a3f1730ea58fL,0x50189626b2029db0L,
  21460. 0x9137a6d902ceb75aL },
  21461. { 0x2fe17f37748bc82cL,0x87c2e93180469f8cL,0x850f71cdbf891aa2L,
  21462. 0x0ca1b89b75ec3d8dL } },
  21463. /* 60 << 217 */
  21464. { { 0x516c43aa5e1cd3cdL,0x893978089a887c28L,0x0059c699ddea1f9fL,
  21465. 0x7737d6fa8e6868f7L },
  21466. { 0x6d93746a60f1524bL,0x36985e55ba052aa7L,0x41b1d322ed923ea5L,
  21467. 0x3429759f25852a11L } },
  21468. /* 61 << 217 */
  21469. { { 0xbeca6ec3092e9f41L,0x3a238c6662256bbdL,0xd82958ea70ad487dL,
  21470. 0x4ac8aaf965610d93L },
  21471. { 0x3fa101b15e4ccab0L,0x9bf430f29de14bfbL,0xa10f5cc66531899dL,
  21472. 0x590005fbea8ce17dL } },
  21473. /* 62 << 217 */
  21474. { { 0xc437912f24544cb6L,0x9987b71ad79ac2e3L,0x13e3d9ddc058a212L,
  21475. 0x00075aacd2de9606L },
  21476. { 0x80ab508b6cac8369L,0x87842be7f54f6c89L,0xa7ad663d6bc532a4L,
  21477. 0x67813de778a91bc8L } },
  21478. /* 63 << 217 */
  21479. { { 0x5dcb61cec3427239L,0x5f3c7cf0c56934d9L,0xc079e0fbe3191591L,
  21480. 0xe40896bdb01aada7L },
  21481. { 0x8d4667910492d25fL,0x8aeb30c9e7408276L,0xe94374959287aaccL,
  21482. 0x23d4708d79fe03d4L } },
  21483. /* 64 << 217 */
  21484. { { 0x8cda9cf2d0c05199L,0x502fbc22fae78454L,0xc0bda9dff572a182L,
  21485. 0x5f9b71b86158b372L },
  21486. { 0xe0f33a592b82dd07L,0x763027359523032eL,0x7fe1a721c4505a32L,
  21487. 0x7b6e3e82f796409fL } },
  21488. /* 0 << 224 */
  21489. { { 0x00, 0x00, 0x00, 0x00 },
  21490. { 0x00, 0x00, 0x00, 0x00 } },
  21491. /* 1 << 224 */
  21492. { { 0xe3417bc035d0b34aL,0x440b386b8327c0a7L,0x8fb7262dac0362d1L,
  21493. 0x2c41114ce0cdf943L },
  21494. { 0x2ba5cef1ad95a0b1L,0xc09b37a867d54362L,0x26d6cdd201e486c9L,
  21495. 0x20477abf42ff9297L } },
  21496. /* 2 << 224 */
  21497. { { 0xa004dcb3292a9287L,0xddc15cf677b092c7L,0x083a8464806c0605L,
  21498. 0x4a68df703db997b0L },
  21499. { 0x9c134e4505bf7dd0L,0xa4e63d398ccf7f8cL,0xa6e6517f41b5f8afL,
  21500. 0xaa8b9342ad7bc1ccL } },
  21501. /* 3 << 224 */
  21502. { { 0x126f35b51e706ad9L,0xb99cebb4c3a9ebdfL,0xa75389afbf608d90L,
  21503. 0x76113c4fc6c89858L },
  21504. { 0x80de8eb097e2b5aaL,0x7e1022cc63b91304L,0x3bdab6056ccc066cL,
  21505. 0x33cbb144b2edf900L } },
  21506. /* 4 << 224 */
  21507. { { 0xc41764717af715d2L,0xe2f7f594d0134a96L,0x2c1873efa41ec956L,
  21508. 0xe4e7b4f677821304L },
  21509. { 0xe5c8ff9788d5374aL,0x2b915e6380823d5bL,0xea6bc755b2ee8fe2L,
  21510. 0x6657624ce7112651L } },
  21511. /* 5 << 224 */
  21512. { { 0x157af101dace5acaL,0xc4fdbcf211a6a267L,0xdaddf340c49c8609L,
  21513. 0x97e49f52e9604a65L },
  21514. { 0x9be8e790937e2ad5L,0x846e2508326e17f1L,0x3f38007a0bbbc0dcL,
  21515. 0xcf03603fb11e16d6L } },
  21516. /* 6 << 224 */
  21517. { { 0xd6f800e07442f1d5L,0x475607d166e0e3abL,0x82807f16b7c64047L,
  21518. 0x8858e1e3a749883dL },
  21519. { 0x5859120b8231ee10L,0x1b80e7eb638a1eceL,0xcb72525ac6aa73a4L,
  21520. 0xa7cdea3d844423acL } },
  21521. /* 7 << 224 */
  21522. { { 0x5ed0c007f8ae7c38L,0x6db07a5c3d740192L,0xbe5e9c2a5fe36db3L,
  21523. 0xd5b9d57a76e95046L },
  21524. { 0x54ac32e78eba20f2L,0xef11ca8f71b9a352L,0x305e373eff98a658L,
  21525. 0xffe5a100823eb667L } },
  21526. /* 8 << 224 */
  21527. { { 0x57477b11e51732d2L,0xdfd6eb282538fc0eL,0x5c43b0cc3b39eec5L,
  21528. 0x6af12778cb36cc57L },
  21529. { 0x70b0852d06c425aeL,0x6df92f8c5c221b9bL,0x6c8d4f9ece826d9cL,
  21530. 0xf59aba7bb49359c3L } },
  21531. /* 9 << 224 */
  21532. { { 0x5c8ed8d5da64309dL,0x61a6de5691b30704L,0xd6b52f6a2f9b5808L,
  21533. 0x0eee419498c958a7L },
  21534. { 0xcddd9aab771e4caaL,0x83965dfd78bc21beL,0x02affce3b3b504f5L,
  21535. 0x30847a21561c8291L } },
  21536. /* 10 << 224 */
  21537. { { 0xd2eb2cf152bfda05L,0xe0e4c4e96197b98cL,0x1d35076cf8a1726fL,
  21538. 0x6c06085b2db11e3dL },
  21539. { 0x15c0c4d74463ba14L,0x9d292f830030238cL,0x1311ee8b3727536dL,
  21540. 0xfeea86efbeaedc1eL } },
  21541. /* 11 << 224 */
  21542. { { 0xb9d18cd366131e2eL,0xf31d974f80fe2682L,0xb6e49e0fe4160289L,
  21543. 0x7c48ec0b08e92799L },
  21544. { 0x818111d8d1989aa7L,0xb34fa0aaebf926f9L,0xdb5fe2f5a245474aL,
  21545. 0xf80a6ebb3c7ca756L } },
  21546. /* 12 << 224 */
  21547. { { 0xa7f96054afa05dd8L,0x26dfcf21fcaf119eL,0xe20ef2e30564bb59L,
  21548. 0xef4dca5061cb02b8L },
  21549. { 0xcda7838a65d30672L,0x8b08d534fd657e86L,0x4c5b439546d595c8L,
  21550. 0x39b58725425cb836L } },
  21551. /* 13 << 224 */
  21552. { { 0x8ea610593de9abe3L,0x404348819cdc03beL,0x9b261245cfedce8cL,
  21553. 0x78c318b4cf5234a1L },
  21554. { 0x510bcf16fde24c99L,0x2a77cb75a2c2ff5dL,0x9c895c2b27960fb4L,
  21555. 0xd30ce975b0eda42bL } },
  21556. /* 14 << 224 */
  21557. { { 0xfda853931a62cc26L,0x23c69b9650c0e052L,0xa227df15bfc633f3L,
  21558. 0x2ac788481bae7d48L },
  21559. { 0x487878f9187d073dL,0x6c2be919967f807dL,0x765861d8336e6d8fL,
  21560. 0x88b8974cce528a43L } },
  21561. /* 15 << 224 */
  21562. { { 0x09521177ff57d051L,0x2ff38037fb6a1961L,0xfc0aba74a3d76ad4L,
  21563. 0x7c76480325a7ec17L },
  21564. { 0x7532d75f48879bc8L,0xea7eacc058ce6bc1L,0xc82176b48e896c16L,
  21565. 0x9a30e0b22c750fedL } },
  21566. /* 16 << 224 */
  21567. { { 0xc37e2c2e421d3aa4L,0xf926407ce84fa840L,0x18abc03d1454e41cL,
  21568. 0x26605ecd3f7af644L },
  21569. { 0x242341a6d6a5eabfL,0x1edb84f4216b668eL,0xd836edb804010102L,
  21570. 0x5b337ce7945e1d8cL } },
  21571. /* 17 << 224 */
  21572. { { 0xd2075c77c055dc14L,0x2a0ffa2581d89cdfL,0x8ce815ea6ffdcbafL,
  21573. 0xa3428878fb648867L },
  21574. { 0x277699cf884655fbL,0xfa5b5bd6364d3e41L,0x01f680c6441e1cb7L,
  21575. 0x3fd61e66b70a7d67L } },
  21576. /* 18 << 224 */
  21577. { { 0x666ba2dccc78cf66L,0xb30181746fdbff77L,0x8d4dd0db168d4668L,
  21578. 0x259455d01dab3a2aL },
  21579. { 0xf58564c5cde3acecL,0x7714192513adb276L,0x527d725d8a303f65L,
  21580. 0x55deb6c9e6f38f7bL } },
  21581. /* 19 << 224 */
  21582. { { 0xfd5bb657b1fa70fbL,0xfa07f50fd8073a00L,0xf72e3aa7bca02500L,
  21583. 0xf68f895d9975740dL },
  21584. { 0x301120605cae2a6aL,0x01bd721802874842L,0x3d4238917ce47bd3L,
  21585. 0xa66663c1789544f6L } },
  21586. /* 20 << 224 */
  21587. { { 0x864d05d73272d838L,0xe22924f9fa6295c5L,0x8189593f6c2fda32L,
  21588. 0x330d7189b184b544L },
  21589. { 0x79efa62cbde1f714L,0x35771c94e5cb1a63L,0x2f4826b8641c8332L,
  21590. 0x00a894fbc8cee854L } },
  21591. /* 21 << 224 */
  21592. { { 0xb4b9a39b36194d40L,0xe857a7c577612601L,0xf4209dd24ecf2f58L,
  21593. 0x82b9e66d5a033487L },
  21594. { 0xc1e36934e4e8b9ddL,0xd2372c9da42377d7L,0x51dc94c70e3ae43bL,
  21595. 0x4c57761e04474f6fL } },
  21596. /* 22 << 224 */
  21597. { { 0xdcdacd0a1058a318L,0x369cf3f578053a9aL,0xc6c3de5031c68de2L,
  21598. 0x4653a5763c4b6d9fL },
  21599. { 0x1688dd5aaa4e5c97L,0x5be80aa1b7ab3c74L,0x70cefe7cbc65c283L,
  21600. 0x57f95f1306867091L } },
  21601. /* 23 << 224 */
  21602. { { 0xa39114e24415503bL,0xc08ff7c64cbb17e9L,0x1eff674dd7dec966L,
  21603. 0x6d4690af53376f63L },
  21604. { 0xff6fe32eea74237bL,0xc436d17ecd57508eL,0x15aa28e1edcc40feL,
  21605. 0x0d769c04581bbb44L } },
  21606. /* 24 << 224 */
  21607. { { 0xc240b6de34eaacdaL,0xd9e116e82ba0f1deL,0xcbe45ec779438e55L,
  21608. 0x91787c9d96f752d7L },
  21609. { 0x897f532bf129ac2fL,0xd307b7c85a36e22cL,0x91940675749fb8f3L,
  21610. 0xd14f95d0157fdb28L } },
  21611. /* 25 << 224 */
  21612. { { 0xfe51d0296ae55043L,0x8931e98f44a87de1L,0xe57f1cc609e4fee2L,
  21613. 0x0d063b674e072d92L },
  21614. { 0x70a998b9ed0e4316L,0xe74a736b306aca46L,0xecf0fbf24fda97c7L,
  21615. 0xa40f65cb3e178d93L } },
  21616. /* 26 << 224 */
  21617. { { 0x1625360416df4285L,0xb0c9babbd0c56ae2L,0x73032b19cfc5cfc3L,
  21618. 0xe497e5c309752056L },
  21619. { 0x12096bb4164bda96L,0x1ee42419a0b74da1L,0x8fc36243403826baL,
  21620. 0x0c8f0069dc09e660L } },
  21621. /* 27 << 224 */
  21622. { { 0x8667e981c27253c9L,0x05a6aefb92b36a45L,0xa62c4b369cb7bb46L,
  21623. 0x8394f37511f7027bL },
  21624. { 0x747bc79c5f109d0fL,0xcad88a765b8cc60aL,0x80c5a66b58f09e68L,
  21625. 0xe753d451f6127eacL } },
  21626. /* 28 << 224 */
  21627. { { 0xc44b74a15b0ec6f5L,0x47989fe45289b2b8L,0x745f848458d6fc73L,
  21628. 0xec362a6ff61c70abL },
  21629. { 0x070c98a7b3a8ad41L,0x73a20fc07b63db51L,0xed2c2173f44c35f4L,
  21630. 0x8a56149d9acc9dcaL } },
  21631. /* 29 << 224 */
  21632. { { 0x98f178819ac6e0f4L,0x360fdeafa413b5edL,0x0625b8f4a300b0fdL,
  21633. 0xf1f4d76a5b3222d3L },
  21634. { 0x9d6f5109587f76b8L,0x8b4ee08d2317fdb5L,0x88089bb78c68b095L,
  21635. 0x95570e9a5808d9b9L } },
  21636. /* 30 << 224 */
  21637. { { 0xa395c36f35d33ae7L,0x200ea12350bb5a94L,0x20c789bd0bafe84bL,
  21638. 0x243ef52d0919276aL },
  21639. { 0x3934c577e23ae233L,0xb93807afa460d1ecL,0xb72a53b1f8fa76a4L,
  21640. 0xd8914cb0c3ca4491L } },
  21641. /* 31 << 224 */
  21642. { { 0x2e1284943fb42622L,0x3b2700ac500907d5L,0xf370fb091a95ec63L,
  21643. 0xf8f30be231b6dfbdL },
  21644. { 0xf2b2f8d269e55f15L,0x1fead851cc1323e9L,0xfa366010d9e5eef6L,
  21645. 0x64d487b0e316107eL } },
  21646. /* 32 << 224 */
  21647. { { 0x4c076b86d23ddc82L,0x03fd344c7e0143f0L,0xa95362ff317af2c5L,
  21648. 0x0add3db7e18b7a4fL },
  21649. { 0x9c673e3f8260e01bL,0xfbeb49e554a1cc91L,0x91351bf292f2e433L,
  21650. 0xc755e7ec851141ebL } },
  21651. /* 33 << 224 */
  21652. { { 0xc9a9513929607745L,0x0ca07420a26f2b28L,0xcb2790e74bc6f9ddL,
  21653. 0x345bbb58adcaffc0L },
  21654. { 0xc65ea38cbe0f27a2L,0x67c24d7c641fcb56L,0x2c25f0a7a9e2c757L,
  21655. 0x93f5cdb016f16c49L } },
  21656. /* 34 << 224 */
  21657. { { 0x2ca5a9d7c5ee30a1L,0xd1593635b909b729L,0x804ce9f3dadeff48L,
  21658. 0xec464751b07c30c3L },
  21659. { 0x89d65ff39e49af6aL,0xf2d6238a6f3d01bcL,0x1095561e0bced843L,
  21660. 0x51789e12c8a13fd8L } },
  21661. /* 35 << 224 */
  21662. { { 0xd633f929763231dfL,0x46df9f7de7cbddefL,0x01c889c0cb265da8L,
  21663. 0xfce1ad10af4336d2L },
  21664. { 0x8d110df6fc6a0a7eL,0xdd431b986da425dcL,0xcdc4aeab1834aabeL,
  21665. 0x84deb1248439b7fcL } },
  21666. /* 36 << 224 */
  21667. { { 0x8796f1693c2a5998L,0x9b9247b47947190dL,0x55b9d9a511597014L,
  21668. 0x7e9dd70d7b1566eeL },
  21669. { 0x94ad78f7cbcd5e64L,0x0359ac179bd4c032L,0x3b11baaf7cc222aeL,
  21670. 0xa6a6e284ba78e812L } },
  21671. /* 37 << 224 */
  21672. { { 0x8392053f24cea1a0L,0xc97bce4a33621491L,0x7eb1db3435399ee9L,
  21673. 0x473f78efece81ad1L },
  21674. { 0x41d72fe0f63d3d0dL,0xe620b880afab62fcL,0x92096bc993158383L,
  21675. 0x41a213578f896f6cL } },
  21676. /* 38 << 224 */
  21677. { { 0x1b5ee2fac7dcfcabL,0x650acfde9546e007L,0xc081b749b1b02e07L,
  21678. 0xda9e41a0f9eca03dL },
  21679. { 0x013ba727175a54abL,0xca0cd190ea5d8d10L,0x85ea52c095fd96a9L,
  21680. 0x2c591b9fbc5c3940L } },
  21681. /* 39 << 224 */
  21682. { { 0x6fb4d4e42bad4d5fL,0xfa4c3590fef0059bL,0x6a10218af5122294L,
  21683. 0x9a78a81aa85751d1L },
  21684. { 0x04f20579a98e84e7L,0xfe1242c04997e5b5L,0xe77a273bca21e1e4L,
  21685. 0xfcc8b1ef9411939dL } },
  21686. /* 40 << 224 */
  21687. { { 0xe20ea30292d0487aL,0x1442dbec294b91feL,0x1f7a4afebb6b0e8fL,
  21688. 0x1700ef746889c318L },
  21689. { 0xf5bbffc370f1fc62L,0x3b31d4b669c79ccaL,0xe8bc2aaba7f6340dL,
  21690. 0xb0b08ab4a725e10aL } },
  21691. /* 41 << 224 */
  21692. { { 0x44f05701ae340050L,0xba4b30161cf0c569L,0x5aa29f83fbe19a51L,
  21693. 0x1b9ed428b71d752eL },
  21694. { 0x1666e54eeb4819f5L,0x616cdfed9e18b75bL,0x112ed5be3ee27b0bL,
  21695. 0xfbf2831944c7de4dL } },
  21696. /* 42 << 224 */
  21697. { { 0xd685ec85e0e60d84L,0x68037e301db7ee78L,0x5b65bdcd003c4d6eL,
  21698. 0x33e7363a93e29a6aL },
  21699. { 0x995b3a6108d0756cL,0xd727f85c2faf134bL,0xfac6edf71d337823L,
  21700. 0x99b9aa500439b8b4L } },
  21701. /* 43 << 224 */
  21702. { { 0x722eb104e2b4e075L,0x49987295437c4926L,0xb1e4c0e446a9b82dL,
  21703. 0xd0cb319757a006f5L },
  21704. { 0xf3de0f7dd7808c56L,0xb5c54d8f51f89772L,0x500a114aadbd31aaL,
  21705. 0x9afaaaa6295f6cabL } },
  21706. /* 44 << 224 */
  21707. { { 0x94705e2104cf667aL,0xfc2a811b9d3935d7L,0x560b02806d09267cL,
  21708. 0xf19ed119f780e53bL },
  21709. { 0xf0227c09067b6269L,0x967b85335caef599L,0x155b924368efeebcL,
  21710. 0xcd6d34f5c497bae6L } },
  21711. /* 45 << 224 */
  21712. { { 0x1dd8d5d36cceb370L,0x2aeac579a78d7bf9L,0x5d65017d70b67a62L,
  21713. 0x70c8e44f17c53f67L },
  21714. { 0xd1fc095086a34d09L,0xe0fca256e7134907L,0xe24fa29c80fdd315L,
  21715. 0x2c4acd03d87499adL } },
  21716. /* 46 << 224 */
  21717. { { 0xbaaf75173b5a9ba6L,0xb9cbe1f612e51a51L,0xd88edae35e154897L,
  21718. 0xe4309c3c77b66ca0L },
  21719. { 0xf5555805f67f3746L,0x85fc37baa36401ffL,0xdf86e2cad9499a53L,
  21720. 0x6270b2a3ecbc955bL } },
  21721. /* 47 << 224 */
  21722. { { 0xafae64f5974ad33bL,0x04d85977fe7b2df1L,0x2a3db3ff4ab03f73L,
  21723. 0x0b87878a8702740aL },
  21724. { 0x6d263f015a061732L,0xc25430cea32a1901L,0xf7ebab3ddb155018L,
  21725. 0x3a86f69363a9b78eL } },
  21726. /* 48 << 224 */
  21727. { { 0x349ae368da9f3804L,0x470f07fea164349cL,0xd52f4cc98562baa5L,
  21728. 0xc74a9e862b290df3L },
  21729. { 0xd3a1aa3543471a24L,0x239446beb8194511L,0xbec2dd0081dcd44dL,
  21730. 0xca3d7f0fc42ac82dL } },
  21731. /* 49 << 224 */
  21732. { { 0x1f3db085fdaf4520L,0xbb6d3e804549daf2L,0xf5969d8a19ad5c42L,
  21733. 0x7052b13ddbfd1511L },
  21734. { 0x11890d1b682b9060L,0xa71d3883ac34452cL,0xa438055b783805b4L,
  21735. 0x432412774725b23eL } },
  21736. /* 50 << 224 */
  21737. { { 0xf20cf96e4901bbedL,0x6419c710f432a2bbL,0x57a0fbb9dfa9cd7dL,
  21738. 0x589111e400daa249L },
  21739. { 0x19809a337b60554eL,0xea5f8887ede283a4L,0x2d713802503bfd35L,
  21740. 0x151bb0af585d2a53L } },
  21741. /* 51 << 224 */
  21742. { { 0x40b08f7443b30ca8L,0xe10b5bbad9934583L,0xe8a546d6b51110adL,
  21743. 0x1dd50e6628e0b6c5L },
  21744. { 0x292e9d54cff2b821L,0x3882555d47281760L,0x134838f83724d6e3L,
  21745. 0xf2c679e022ddcda1L } },
  21746. /* 52 << 224 */
  21747. { { 0x40ee88156d2a5768L,0x7f227bd21c1e7e2dL,0x487ba134d04ff443L,
  21748. 0x76e2ff3dc614e54bL },
  21749. { 0x36b88d6fa3177ec7L,0xbf731d512328fff5L,0x758caea249ba158eL,
  21750. 0x5ab8ff4c02938188L } },
  21751. /* 53 << 224 */
  21752. { { 0x33e1605635edc56dL,0x5a69d3497e940d79L,0x6c4fd00103866dcbL,
  21753. 0x20a38f574893cdefL },
  21754. { 0xfbf3e790fac3a15bL,0x6ed7ea2e7a4f8e6bL,0xa663eb4fbc3aca86L,
  21755. 0x22061ea5080d53f7L } },
  21756. /* 54 << 224 */
  21757. { { 0x2480dfe6f546783fL,0xd38bc6da5a0a641eL,0xfb093cd12ede8965L,
  21758. 0x89654db4acb455cfL },
  21759. { 0x413cbf9a26e1adeeL,0x291f3764373294d4L,0x00797257648083feL,
  21760. 0x25f504d3208cc341L } },
  21761. /* 55 << 224 */
  21762. { { 0x635a8e5ec3a0ee43L,0x70aaebca679898ffL,0x9ee9f5475dc63d56L,
  21763. 0xce987966ffb34d00L },
  21764. { 0xf9f86b195e26310aL,0x9e435484382a8ca8L,0x253bcb81c2352fe4L,
  21765. 0xa4eac8b04474b571L } },
  21766. /* 56 << 224 */
  21767. { { 0xc1b97512c1ad8cf8L,0x193b4e9e99e0b697L,0x939d271601e85df0L,
  21768. 0x4fb265b3cd44eafdL },
  21769. { 0x321e7dcde51e1ae2L,0x8e3a8ca6e3d8b096L,0x8de46cb052604998L,
  21770. 0x91099ad839072aa7L } },
  21771. /* 57 << 224 */
  21772. { { 0x2617f91c93aa96b8L,0x0fc8716b7fca2e13L,0xa7106f5e95328723L,
  21773. 0xd1c9c40b262e6522L },
  21774. { 0xb9bafe8642b7c094L,0x1873439d1543c021L,0xe1baa5de5cbefd5dL,
  21775. 0xa363fc5e521e8affL } },
  21776. /* 58 << 224 */
  21777. { { 0xefe6320df862eaacL,0x14419c6322c647dcL,0x0e06707c4e46d428L,
  21778. 0xcb6c834f4a178f8fL },
  21779. { 0x0f993a45d30f917cL,0xd4c4b0499879afeeL,0xb6142a1e70500063L,
  21780. 0x7c9b41c3a5d9d605L } },
  21781. /* 59 << 224 */
  21782. { { 0xbc00fc2f2f8ba2c7L,0x0966eb2f7c67aa28L,0x13f7b5165a786972L,
  21783. 0x3bfb75578a2fbba0L },
  21784. { 0x131c4f235a2b9620L,0xbff3ed276faf46beL,0x9b4473d17e172323L,
  21785. 0x421e8878339f6246L } },
  21786. /* 60 << 224 */
  21787. { { 0x0fa8587a25a41632L,0xc0814124a35b6c93L,0x2b18a9f559ebb8dbL,
  21788. 0x264e335776edb29cL },
  21789. { 0xaf245ccdc87c51e2L,0x16b3015b501e6214L,0xbb31c5600a3882ceL,
  21790. 0x6961bb94fec11e04L } },
  21791. /* 61 << 224 */
  21792. { { 0x3b825b8deff7a3a0L,0xbec33738b1df7326L,0x68ad747c99604a1fL,
  21793. 0xd154c9349a3bd499L },
  21794. { 0xac33506f1cc7a906L,0x73bb53926c560e8fL,0x6428fcbe263e3944L,
  21795. 0xc11828d51c387434L } },
  21796. /* 62 << 224 */
  21797. { { 0x3cd04be13e4b12ffL,0xc3aad9f92d88667cL,0xc52ddcf8248120cfL,
  21798. 0x985a892e2a389532L },
  21799. { 0xfbb4b21b3bb85fa0L,0xf95375e08dfc6269L,0xfb4fb06c7ee2aceaL,
  21800. 0x6785426e309c4d1fL } },
  21801. /* 63 << 224 */
  21802. { { 0x659b17c8d8ceb147L,0x9b649eeeb70a5554L,0x6b7fa0b5ac6bc634L,
  21803. 0xd99fe2c71d6e732fL },
  21804. { 0x30e6e7628d3abba2L,0x18fee6e7a797b799L,0x5c9d360dc696464dL,
  21805. 0xe3baeb4827bfde12L } },
  21806. /* 64 << 224 */
  21807. { { 0x2bf5db47f23206d5L,0x2f6d34201d260152L,0x17b876533f8ff89aL,
  21808. 0x5157c30c378fa458L },
  21809. { 0x7517c5c52d4fb936L,0xef22f7ace6518cdcL,0xdeb483e6bf847a64L,
  21810. 0xf508455892e0fa89L } },
  21811. /* 0 << 231 */
  21812. { { 0x00, 0x00, 0x00, 0x00 },
  21813. { 0x00, 0x00, 0x00, 0x00 } },
  21814. /* 1 << 231 */
  21815. { { 0xab9659d8df7304d4L,0xb71bcf1bff210e8eL,0xa9a2438bd73fbd60L,
  21816. 0x4595cd1f5d11b4deL },
  21817. { 0x9c0d329a4835859dL,0x4a0f0d2d7dbb6e56L,0xc6038e5edf928a4eL,
  21818. 0xc94296218f5ad154L } },
  21819. /* 2 << 231 */
  21820. { { 0x91213462f23f2d92L,0x6cab71bd60b94078L,0x6bdd0a63176cde20L,
  21821. 0x54c9b20cee4d54bcL },
  21822. { 0x3cd2d8aa9f2ac02fL,0x03f8e617206eedb0L,0xc7f68e1693086434L,
  21823. 0x831469c592dd3db9L } },
  21824. /* 3 << 231 */
  21825. { { 0x8521df248f981354L,0x587e23ec3588a259L,0xcbedf281d7a0992cL,
  21826. 0x06930a5538961407L },
  21827. { 0x09320debbe5bbe21L,0xa7ffa5b52491817fL,0xe6c8b4d909065160L,
  21828. 0xac4f3992fff6d2a9L } },
  21829. /* 4 << 231 */
  21830. { { 0x7aa7a1583ae9c1bdL,0xe0af6d98e37ce240L,0xe54342d928ab38b4L,
  21831. 0xe8b750070a1c98caL },
  21832. { 0xefce86afe02358f2L,0x31b8b856ea921228L,0x052a19120a1c67fcL,
  21833. 0xb4069ea4e3aead59L } },
  21834. /* 5 << 231 */
  21835. { { 0x3232d6e27fa03cb3L,0xdb938e5b0fdd7d88L,0x04c1d2cd2ccbfc5dL,
  21836. 0xd2f45c12af3a580fL },
  21837. { 0x592620b57883e614L,0x5fd27e68be7c5f26L,0x139e45a91567e1e3L,
  21838. 0x2cc71d2d44d8aaafL } },
  21839. /* 6 << 231 */
  21840. { { 0x4a9090cde36d0757L,0xf722d7b1d9a29382L,0xfb7fb04c04b48ddfL,
  21841. 0x628ad2a7ebe16f43L },
  21842. { 0xcd3fbfb520226040L,0x6c34ecb15104b6c4L,0x30c0754ec903c188L,
  21843. 0xec336b082d23cab0L } },
  21844. /* 7 << 231 */
  21845. { { 0x473d62a21e206ee5L,0xf1e274808c49a633L,0x87ab956ce9f6b2c3L,
  21846. 0x61830b4862b606eaL },
  21847. { 0x67cd6846e78e815fL,0xfe40139f4c02082aL,0x52bbbfcb952ec365L,
  21848. 0x74c116426b9836abL } },
  21849. /* 8 << 231 */
  21850. { { 0x9f51439e558df019L,0x230da4baac712b27L,0x518919e355185a24L,
  21851. 0x4dcefcdd84b78f50L },
  21852. { 0xa7d90fb2a47d4c5aL,0x55ac9abfb30e009eL,0xfd2fc35974eed273L,
  21853. 0xb72d824cdbea8fafL } },
  21854. /* 9 << 231 */
  21855. { { 0xce721a744513e2caL,0x0b41861238240b2cL,0x05199968d5baa450L,
  21856. 0xeb1757ed2b0e8c25L },
  21857. { 0x6ebc3e283dfac6d5L,0xb2431e2e48a237f5L,0x2acb5e2352f61499L,
  21858. 0x5558a2a7e06c936bL } },
  21859. /* 10 << 231 */
  21860. { { 0xd213f923cbb13d1bL,0x98799f425bfb9bfeL,0x1ae8ddc9701144a9L,
  21861. 0x0b8b3bb64c5595eeL },
  21862. { 0x0ea9ef2e3ecebb21L,0x17cb6c4b3671f9a7L,0x47ef464f726f1d1fL,
  21863. 0x171b94846943a276L } },
  21864. /* 11 << 231 */
  21865. { { 0x51a4ae2d7ef0329cL,0x0850922291c4402aL,0x64a61d35afd45bbcL,
  21866. 0x38f096fe3035a851L },
  21867. { 0xc7468b74a1dec027L,0xe8cf10e74fc7dcbaL,0xea35ff40f4a06353L,
  21868. 0x0b4c0dfa8b77dd66L } },
  21869. /* 12 << 231 */
  21870. { { 0x779b8552de7e5c19L,0xfab28609c1c0256cL,0x64f58eeeabd4743dL,
  21871. 0x4e8ef8387b6cc93bL },
  21872. { 0xee650d264cb1bf3dL,0x4c1f9d0973dedf61L,0xaef7c9d7bfb70cedL,
  21873. 0x1ec0507e1641de1eL } },
  21874. /* 13 << 231 */
  21875. { { 0xcd7e5cc7cde45079L,0xde173c9a516ac9e4L,0x517a8494c170315cL,
  21876. 0x438fd90591d8e8fbL },
  21877. { 0x5145c506c7d9630bL,0x6457a87bf47d4d75L,0xd31646bf0d9a80e8L,
  21878. 0x453add2bcef3aabeL } },
  21879. /* 14 << 231 */
  21880. { { 0xc9941109a607419dL,0xfaa71e62bb6bca80L,0x34158c1307c431f3L,
  21881. 0x594abebc992bc47aL },
  21882. { 0x6dfea691eb78399fL,0x48aafb353f42cba4L,0xedcd65af077c04f0L,
  21883. 0x1a29a366e884491aL } },
  21884. /* 15 << 231 */
  21885. { { 0x023a40e51c21f2bfL,0xf99a513ca5057aeeL,0xa3fe7e25bcab072eL,
  21886. 0x8568d2e140e32bcfL },
  21887. { 0x904594ebd3f69d9fL,0x181a973307affab1L,0xe4d68d76b6e330f4L,
  21888. 0x87a6dafbc75a7fc1L } },
  21889. /* 16 << 231 */
  21890. { { 0x549db2b5ef7d9289L,0x2480d4a8197f015aL,0x61d5590bc40493b6L,
  21891. 0x3a55b52e6f780331L },
  21892. { 0x40eb8115309eadb0L,0xdea7de5a92e5c625L,0x64d631f0cc6a3d5aL,
  21893. 0x9d5e9d7c93e8dd61L } },
  21894. /* 17 << 231 */
  21895. { { 0xf297bef5206d3ffcL,0x23d5e0337d808bd4L,0x4a4f6912d24cf5baL,
  21896. 0xe4d8163b09cdaa8aL },
  21897. { 0x0e0de9efd3082e8eL,0x4fe1246c0192f360L,0x1f9001504b8eee0aL,
  21898. 0x5219da81f1da391bL } },
  21899. /* 18 << 231 */
  21900. { { 0x7bf6a5c1f7ea25aaL,0xd165e6bffbb07d5fL,0xe353936189e78671L,
  21901. 0xa3fcac892bac4219L },
  21902. { 0xdfab6fd4f0baa8abL,0x5a4adac1e2c1c2e5L,0x6cd75e3140d85849L,
  21903. 0xce263fea19b39181L } },
  21904. /* 19 << 231 */
  21905. { { 0xcb6803d307032c72L,0x7f40d5ce790968c8L,0xa6de86bddce978f0L,
  21906. 0x25547c4f368f751cL },
  21907. { 0xb1e685fd65fb2a9eL,0xce69336f1eb9179cL,0xb15d1c2712504442L,
  21908. 0xb7df465cb911a06bL } },
  21909. /* 20 << 231 */
  21910. { { 0xb8d804a3315980cdL,0x693bc492fa3bebf7L,0x3578aeee2253c504L,
  21911. 0x158de498cd2474a2L },
  21912. { 0x1331f5c7cfda8368L,0xd2d7bbb378d7177eL,0xdf61133af3c1e46eL,
  21913. 0x5836ce7dd30e7be8L } },
  21914. /* 21 << 231 */
  21915. { { 0x83084f1994f834cbL,0xd35653d4429ed782L,0xa542f16f59e58243L,
  21916. 0xc2b52f650470a22dL },
  21917. { 0xe3b6221b18f23d96L,0xcb05abac3f5252b4L,0xca00938b87d61402L,
  21918. 0x2f186cdd411933e4L } },
  21919. /* 22 << 231 */
  21920. { { 0xe042ece59a29a5c5L,0xb19b3c073b6c8402L,0xc97667c719d92684L,
  21921. 0xb5624622ebc66372L },
  21922. { 0x0cb96e653c04fa02L,0x83a7176c8eaa39aaL,0x2033561deaa1633fL,
  21923. 0x45a9d0864533df73L } },
  21924. /* 23 << 231 */
  21925. { { 0xe0542c1d3dc090bcL,0x82c996efaa59c167L,0xe3f735e80ee7fc4dL,
  21926. 0x7b1793937c35db79L },
  21927. { 0xb6419e25f8c5dbfdL,0x4d9d7a1e1f327b04L,0x979f6f9b298dfca8L,
  21928. 0xc7c5dff18de9366aL } },
  21929. /* 24 << 231 */
  21930. { { 0x1b7a588d04c82bddL,0x68005534f8319dfdL,0xde8a55b5d8eb9580L,
  21931. 0x5ea886da8d5bca81L },
  21932. { 0xe8530a01252a0b4dL,0x1bffb4fe35eaa0a1L,0x2ad828b1d8e99563L,
  21933. 0x7de96ef595f9cd87L } },
  21934. /* 25 << 231 */
  21935. { { 0x4abb2d0cd77d970cL,0x03cfb933d33ef9cbL,0xb0547c018b211fe9L,
  21936. 0x2fe64809a56ed1c6L },
  21937. { 0xcb7d5624c2ac98ccL,0x2a1372c01a393e33L,0xc8d1ec1c29660521L,
  21938. 0xf3d31b04b37ac3e9L } },
  21939. /* 26 << 231 */
  21940. { { 0xa29ae9df5ece6e7cL,0x0603ac8f0facfb55L,0xcfe85b7adda233a5L,
  21941. 0xe618919fbd75f0b8L },
  21942. { 0xf555a3d299bf1603L,0x1f43afc9f184255aL,0xdcdaf341319a3e02L,
  21943. 0xd3b117ef03903a39L } },
  21944. /* 27 << 231 */
  21945. { { 0xe095da1365d1d131L,0x86f16367c37ad03eL,0x5f37389e462cd8ddL,
  21946. 0xc103fa04d67a60e6L },
  21947. { 0x57c34344f4b478f0L,0xce91edd8e117c98dL,0x001777b0231fc12eL,
  21948. 0x11ae47f2b207bccbL } },
  21949. /* 28 << 231 */
  21950. { { 0xd983cf8d20f8a242L,0x7aff5b1df22e1ad8L,0x68fd11d07fc4feb3L,
  21951. 0x5d53ae90b0f1c3e1L },
  21952. { 0x50fb7905ec041803L,0x85e3c97714404888L,0x0e67faedac628d8fL,
  21953. 0x2e8651506668532cL } },
  21954. /* 29 << 231 */
  21955. { { 0x15acaaa46a67a6b0L,0xf4cdee25b25cec41L,0x49ee565ae4c6701eL,
  21956. 0x2a04ca66fc7d63d8L },
  21957. { 0xeb105018ef0543fbL,0xf709a4f5d1b0d81dL,0x5b906ee62915d333L,
  21958. 0xf4a8741296f1f0abL } },
  21959. /* 30 << 231 */
  21960. { { 0xb6b82fa74d82f4c2L,0x90725a606804efb3L,0xbc82ec46adc3425eL,
  21961. 0xb7b805812787843eL },
  21962. { 0xdf46d91cdd1fc74cL,0xdc1c62cbe783a6c4L,0x59d1b9f31a04cbbaL,
  21963. 0xd87f6f7295e40764L } },
  21964. /* 31 << 231 */
  21965. { { 0x02b4cfc1317f4a76L,0x8d2703eb91036bceL,0x98206cc6a5e72a56L,
  21966. 0x57be9ed1cf53fb0fL },
  21967. { 0x09374571ef0b17acL,0x74b2655ed9181b38L,0xc8f80ea889935d0eL,
  21968. 0xc0d9e94291529936L } },
  21969. /* 32 << 231 */
  21970. { { 0x196860411e84e0e5L,0xa5db84d3aea34c93L,0xf9d5bb197073a732L,
  21971. 0xb8d2fe566bcfd7c0L },
  21972. { 0x45775f36f3eb82faL,0x8cb20cccfdff8b58L,0x1659b65f8374c110L,
  21973. 0xb8b4a422330c789aL } },
  21974. /* 33 << 231 */
  21975. { { 0x75e3c3ea6fe8208bL,0xbd74b9e4286e78feL,0x0be2e81bd7d93a1aL,
  21976. 0x7ed06e27dd0a5aaeL },
  21977. { 0x721f5a586be8b800L,0x428299d1d846db28L,0x95cb8e6b5be88ed3L,
  21978. 0xc3186b231c034e11L } },
  21979. /* 34 << 231 */
  21980. { { 0xa6312c9e8977d99bL,0xbe94433183f531e7L,0x8232c0c218d3b1d4L,
  21981. 0x617aae8be1247b73L },
  21982. { 0x40153fc4282aec3bL,0xc6063d2ff7b8f823L,0x68f10e583304f94cL,
  21983. 0x31efae74ee676346L } },
  21984. /* 35 << 231 */
  21985. { { 0xbadb6c6d40a9b97cL,0x14702c634f666256L,0xdeb954f15184b2e3L,
  21986. 0x5184a52694b6ca40L },
  21987. { 0xfff05337003c32eaL,0x5aa374dd205974c7L,0x9a7638544b0dd71aL,
  21988. 0x459cd27fdeb947ecL } },
  21989. /* 36 << 231 */
  21990. { { 0xa6e28161459c2b92L,0x2f020fa875ee8ef5L,0xb132ec2d30b06310L,
  21991. 0xc3e15899bc6a4530L },
  21992. { 0xdc5f53feaa3f451aL,0x3a3c7f23c2d9acacL,0x2ec2f8926b27e58bL,
  21993. 0x68466ee7d742799fL } },
  21994. /* 37 << 231 */
  21995. { { 0x98324dd41fa26613L,0xa2dc6dabbdc29d63L,0xf9675faad712d657L,
  21996. 0x813994be21fd8d15L },
  21997. { 0x5ccbb722fd4f7553L,0x5135ff8bf3a36b20L,0x44be28af69559df5L,
  21998. 0x40b65bed9d41bf30L } },
  21999. /* 38 << 231 */
  22000. { { 0xd98bf2a43734e520L,0x5e3abbe3209bdcbaL,0x77c76553bc945b35L,
  22001. 0x5331c093c6ef14aaL },
  22002. { 0x518ffe2976b60c80L,0x2285593b7ace16f8L,0xab1f64ccbe2b9784L,
  22003. 0xe8f2c0d9ab2421b6L } },
  22004. /* 39 << 231 */
  22005. { { 0x617d7174c1df065cL,0xafeeb5ab5f6578faL,0x16ff1329263b54a8L,
  22006. 0x45c55808c990dce3L },
  22007. { 0x42eab6c0ecc8c177L,0x799ea9b55982ecaaL,0xf65da244b607ef8eL,
  22008. 0x8ab226ce32a3fc2cL } },
  22009. /* 40 << 231 */
  22010. { { 0x745741e57ea973dcL,0x5c00ca7020888f2eL,0x7cdce3cf45fd9cf1L,
  22011. 0x8a741ef15507f872L },
  22012. { 0x47c51c2f196b4cecL,0x70d08e43c97ea618L,0x930da15c15b18a2bL,
  22013. 0x33b6c6782f610514L } },
  22014. /* 41 << 231 */
  22015. { { 0xc662e4f807ac9794L,0x1eccf050ba06cb79L,0x1ff08623e7d954e5L,
  22016. 0x6ef2c5fb24cf71c3L },
  22017. { 0xb2c063d267978453L,0xa0cf37961d654af8L,0x7cb242ea7ebdaa37L,
  22018. 0x206e0b10b86747e0L } },
  22019. /* 42 << 231 */
  22020. { { 0x481dae5fd5ecfefcL,0x07084fd8c2bff8fcL,0x8040a01aea324596L,
  22021. 0x4c646980d4de4036L },
  22022. { 0x9eb8ab4ed65abfc3L,0xe01cb91f13541ec7L,0x8f029adbfd695012L,
  22023. 0x9ae284833c7569ecL } },
  22024. /* 43 << 231 */
  22025. { { 0xa5614c9ea66d80a1L,0x680a3e4475f5f911L,0x0c07b14dceba4fc1L,
  22026. 0x891c285ba13071c1L },
  22027. { 0xcac67ceb799ece3cL,0x29b910a941e07e27L,0x66bdb409f2e43123L,
  22028. 0x06f8b1377ac9ecbeL } },
  22029. /* 44 << 231 */
  22030. { { 0x5981fafd38547090L,0x19ab8b9f85e3415dL,0xfc28c194c7e31b27L,
  22031. 0x843be0aa6fbcbb42L },
  22032. { 0xf3b1ed43a6db836cL,0x2a1330e401a45c05L,0x4f19f3c595c1a377L,
  22033. 0xa85f39d044b5ee33L } },
  22034. /* 45 << 231 */
  22035. { { 0x3da18e6d4ae52834L,0x5a403b397423dcb0L,0xbb555e0af2374aefL,
  22036. 0x2ad599c41e8ca111L },
  22037. { 0x1b3a2fb9014b3bf8L,0x73092684f66d5007L,0x079f1426c4340102L,
  22038. 0x1827cf818fddf4deL } },
  22039. /* 46 << 231 */
  22040. { { 0xc83605f6f10ff927L,0xd387145123739fc6L,0x6d163450cac1c2ccL,
  22041. 0x6b521296a2ec1ac5L },
  22042. { 0x0606c4f96e3cb4a5L,0xe47d3f41778abff7L,0x425a8d5ebe8e3a45L,
  22043. 0x53ea9e97a6102160L } },
  22044. /* 47 << 231 */
  22045. { { 0x477a106e39cbb688L,0x532401d2f3386d32L,0x8e564f64b1b9b421L,
  22046. 0xca9b838881dad33fL },
  22047. { 0xb1422b4e2093913eL,0x533d2f9269bc8112L,0x3fa017beebe7b2c7L,
  22048. 0xb2767c4acaf197c6L } },
  22049. /* 48 << 231 */
  22050. { { 0xc925ff87aedbae9fL,0x7daf0eb936880a54L,0x9284ddf59c4d0e71L,
  22051. 0x1581cf93316f8cf5L },
  22052. { 0x3eeca8873ac1f452L,0xb417fce9fb6aeffeL,0xa5918046eefb8dc3L,
  22053. 0x73d318ac02209400L } },
  22054. /* 49 << 231 */
  22055. { { 0xe800400f728693e5L,0xe87d814b339927edL,0x93e94d3b57ea9910L,
  22056. 0xff8a35b62245fb69L },
  22057. { 0x043853d77f200d34L,0x470f1e680f653ce1L,0x81ac05bd59a06379L,
  22058. 0xa14052c203930c29L } },
  22059. /* 50 << 231 */
  22060. { { 0x6b72fab526bc2797L,0x13670d1699f16771L,0x001700521e3e48d1L,
  22061. 0x978fe401b7adf678L },
  22062. { 0x55ecfb92d41c5dd4L,0x5ff8e247c7b27da5L,0xe7518272013fb606L,
  22063. 0x5768d7e52f547a3cL } },
  22064. /* 51 << 231 */
  22065. { { 0xbb24eaa360017a5fL,0x6b18e6e49c64ce9bL,0xc225c655103dde07L,
  22066. 0xfc3672ae7592f7eaL },
  22067. { 0x9606ad77d06283a1L,0x542fc650e4d59d99L,0xabb57c492a40e7c2L,
  22068. 0xac948f13a8db9f55L } },
  22069. /* 52 << 231 */
  22070. { { 0x6d4c9682b04465c3L,0xe3d062fa6468bd15L,0xa51729ac5f318d7eL,
  22071. 0x1fc87df69eb6fc95L },
  22072. { 0x63d146a80591f652L,0xa861b8f7589621aaL,0x59f5f15ace31348cL,
  22073. 0x8f663391440da6daL } },
  22074. /* 53 << 231 */
  22075. { { 0xcfa778acb591ffa3L,0x027ca9c54cdfebceL,0xbe8e05a5444ea6b3L,
  22076. 0x8aab4e69a78d8254L },
  22077. { 0x2437f04fb474d6b8L,0x6597ffd4045b3855L,0xbb0aea4eca47ecaaL,
  22078. 0x568aae8385c7ebfcL } },
  22079. /* 54 << 231 */
  22080. { { 0x0e966e64c73b2383L,0x49eb3447d17d8762L,0xde1078218da05dabL,
  22081. 0x443d8baa016b7236L },
  22082. { 0x163b63a5ea7610d6L,0xe47e4185ce1ca979L,0xae648b6580baa132L,
  22083. 0xebf53de20e0d5b64L } },
  22084. /* 55 << 231 */
  22085. { { 0x8d3bfcb4d3c8c1caL,0x0d914ef35d04b309L,0x55ef64153de7d395L,
  22086. 0xbde1666f26b850e8L },
  22087. { 0xdbe1ca6ed449ab19L,0x8902b322e89a2672L,0xb1674b7edacb7a53L,
  22088. 0x8e9faf6ef52523ffL } },
  22089. /* 56 << 231 */
  22090. { { 0x6ba535da9a85788bL,0xd21f03aebd0626d4L,0x099f8c47e873dc64L,
  22091. 0xcda8564d018ec97eL },
  22092. { 0x3e8d7a5cde92c68cL,0x78e035a173323cc4L,0x3ef26275f880ff7cL,
  22093. 0xa4ee3dff273eedaaL } },
  22094. /* 57 << 231 */
  22095. { { 0x58823507af4e18f8L,0x967ec9b50672f328L,0x9ded19d9559d3186L,
  22096. 0x5e2ab3de6cdce39cL },
  22097. { 0xabad6e4d11c226dfL,0xf9783f4387723014L,0x9a49a0cf1a885719L,
  22098. 0xfc0c1a5a90da9dbfL } },
  22099. /* 58 << 231 */
  22100. { { 0x8bbaec49571d92acL,0x569e85fe4692517fL,0x8333b014a14ea4afL,
  22101. 0x32f2a62f12e5c5adL },
  22102. { 0x98c2ce3a06d89b85L,0xb90741aa2ff77a08L,0x2530defc01f795a2L,
  22103. 0xd6e5ba0b84b3c199L } },
  22104. /* 59 << 231 */
  22105. { { 0x7d8e845112e4c936L,0xae419f7dbd0be17bL,0xa583fc8c22262bc9L,
  22106. 0x6b842ac791bfe2bdL },
  22107. { 0x33cef4e9440d6827L,0x5f69f4deef81fb14L,0xf16cf6f6234fbb92L,
  22108. 0x76ae3fc3d9e7e158L } },
  22109. /* 60 << 231 */
  22110. { { 0x4e89f6c2e9740b33L,0x677bc85d4962d6a1L,0x6c6d8a7f68d10d15L,
  22111. 0x5f9a72240257b1cdL },
  22112. { 0x7096b9164ad85961L,0x5f8c47f7e657ab4aL,0xde57d7d0f7461d7eL,
  22113. 0x7eb6094d80ce5ee2L } },
  22114. /* 61 << 231 */
  22115. { { 0x0b1e1dfd34190547L,0x8a394f43f05dd150L,0x0a9eb24d97df44e6L,
  22116. 0x78ca06bf87675719L },
  22117. { 0x6f0b34626ffeec22L,0x9d91bcea36cdd8fbL,0xac83363ca105be47L,
  22118. 0x81ba76c1069710e3L } },
  22119. /* 62 << 231 */
  22120. { { 0x3d1b24cb28c682c6L,0x27f252288612575bL,0xb587c779e8e66e98L,
  22121. 0x7b0c03e9405eb1feL },
  22122. { 0xfdf0d03015b548e7L,0xa8be76e038b36af7L,0x4cdab04a4f310c40L,
  22123. 0x6287223ef47ecaecL } },
  22124. /* 63 << 231 */
  22125. { { 0x678e60558b399320L,0x61fe3fa6c01e4646L,0xc482866b03261a5eL,
  22126. 0xdfcf45b85c2f244aL },
  22127. { 0x8fab9a512f684b43L,0xf796c654c7220a66L,0x1d90707ef5afa58fL,
  22128. 0x2c421d974fdbe0deL } },
  22129. /* 64 << 231 */
  22130. { { 0xc4f4cda3af2ebc2fL,0xa0af843dcb4efe24L,0x53b857c19ccd10b1L,
  22131. 0xddc9d1eb914d3e04L },
  22132. { 0x7bdec8bb62771debL,0x829277aa91c5aa81L,0x7af18dd6832391aeL,
  22133. 0x1740f316c71a84caL } },
  22134. /* 0 << 238 */
  22135. { { 0x00, 0x00, 0x00, 0x00 },
  22136. { 0x00, 0x00, 0x00, 0x00 } },
  22137. /* 1 << 238 */
  22138. { { 0x8928e99aeeaf8c49L,0xee7aa73d6e24d728L,0x4c5007c2e72b156cL,
  22139. 0x5fcf57c5ed408a1dL },
  22140. { 0x9f719e39b6057604L,0x7d343c01c2868bbfL,0x2cca254b7e103e2dL,
  22141. 0xe6eb38a9f131bea2L } },
  22142. /* 2 << 238 */
  22143. { { 0xb33e624f8be762b4L,0x2a9ee4d1058e3413L,0x968e636967d805faL,
  22144. 0x9848949b7db8bfd7L },
  22145. { 0x5308d7e5d23a8417L,0x892f3b1df3e29da5L,0xc95c139e3dee471fL,
  22146. 0x8631594dd757e089L } },
  22147. /* 3 << 238 */
  22148. { { 0xe0c82a3cde918dccL,0x2e7b599426fdcf4bL,0x82c5024932cb1b2dL,
  22149. 0xea613a9d7657ae07L },
  22150. { 0xc2eb5f6cf1fdc9f7L,0xb6eae8b8879fe682L,0x253dfee0591cbc7fL,
  22151. 0x000da7133e1290e6L } },
  22152. /* 4 << 238 */
  22153. { { 0x1083e2ea1f095615L,0x0a28ad7714e68c33L,0x6bfc02523d8818beL,
  22154. 0xb585113af35850cdL },
  22155. { 0x7d935f0b30df8aa1L,0xaddda07c4ab7e3acL,0x92c34299552f00cbL,
  22156. 0xc33ed1de2909df6cL } },
  22157. /* 5 << 238 */
  22158. { { 0x22c2195d80e87766L,0x9e99e6d89ddf4ac0L,0x09642e4e65e74934L,
  22159. 0x2610ffa2ff1ff241L },
  22160. { 0x4d1d47d4751c8159L,0x697b4985af3a9363L,0x0318ca4687477c33L,
  22161. 0xa90cb5659441eff3L } },
  22162. /* 6 << 238 */
  22163. { { 0x58bb384836f024cbL,0x85be1f7736016168L,0x6c59587cdc7e07f1L,
  22164. 0x191be071af1d8f02L },
  22165. { 0xbf169fa5cca5e55cL,0x3864ba3cf7d04eacL,0x915e367f8d7d05dbL,
  22166. 0xb48a876da6549e5dL } },
  22167. /* 7 << 238 */
  22168. { { 0xef89c656580e40a2L,0xf194ed8c728068bcL,0x74528045a47990c9L,
  22169. 0xf53fc7d75e1a4649L },
  22170. { 0xbec5ae9b78593e7dL,0x2cac4ee341db65d7L,0xa8c1eb2404a3d39bL,
  22171. 0x53b7d63403f8f3efL } },
  22172. /* 8 << 238 */
  22173. { { 0x2dc40d483e07113cL,0x6e4a5d397d8b63aeL,0x5582a94b79684c2bL,
  22174. 0x932b33d4622da26cL },
  22175. { 0xf534f6510dbbf08dL,0x211d07c964c23a52L,0x0eeece0fee5bdc9bL,
  22176. 0xdf178168f7015558L } },
  22177. /* 9 << 238 */
  22178. { { 0xd42946350a712229L,0x93cbe44809273f8cL,0x00b095ef8f13bc83L,
  22179. 0xbb7419728798978cL },
  22180. { 0x9d7309a256dbe6e7L,0xe578ec565a5d39ecL,0x3961151b851f9a31L,
  22181. 0x2da7715de5709eb4L } },
  22182. /* 10 << 238 */
  22183. { { 0x867f301753dfabf0L,0x728d2078b8e39259L,0x5c75a0cd815d9958L,
  22184. 0xf84867a616603be1L },
  22185. { 0xc865b13d70e35b1cL,0x0241446819b03e2cL,0xe46041daac1f3121L,
  22186. 0x7c9017ad6f028a7cL } },
  22187. /* 11 << 238 */
  22188. { { 0xabc96de90a482873L,0x4265d6b1b77e54d4L,0x68c38e79a57d88e7L,
  22189. 0xd461d7669ce82de3L },
  22190. { 0x817a9ec564a7e489L,0xcc5675cda0def5f2L,0x9a00e785985d494eL,
  22191. 0xc626833f1b03514aL } },
  22192. /* 12 << 238 */
  22193. { { 0xabe7905a83cdd60eL,0x50602fb5a1170184L,0x689886cdb023642aL,
  22194. 0xd568d090a6e1fb00L },
  22195. { 0x5b1922c70259217fL,0x93831cd9c43141e4L,0xdfca35870c95f86eL,
  22196. 0xdec2057a568ae828L } },
  22197. /* 13 << 238 */
  22198. { { 0xc44ea599f98a759aL,0x55a0a7a2f7c23c1dL,0xd5ffb6e694c4f687L,
  22199. 0x3563cce212848478L },
  22200. { 0x812b3517e7b1fbe1L,0x8a7dc9794f7338e0L,0x211ecee952d048dbL,
  22201. 0x2eea4056c86ea3b8L } },
  22202. /* 14 << 238 */
  22203. { { 0xd8cb68a7ba772b34L,0xe16ed3415f4e2541L,0x9b32f6a60fec14dbL,
  22204. 0xeee376f7391698beL },
  22205. { 0xe9a7aa1783674c02L,0x65832f975843022aL,0x29f3a8da5ba4990fL,
  22206. 0x79a59c3afb8e3216L } },
  22207. /* 15 << 238 */
  22208. { { 0x9cdc4d2ebd19bb16L,0xc6c7cfd0b3262d86L,0xd4ce14d0969c0b47L,
  22209. 0x1fa352b713e56128L },
  22210. { 0x383d55b8973db6d3L,0x71836850e8e5b7bfL,0xc7714596e6bb571fL,
  22211. 0x259df31f2d5b2dd2L } },
  22212. /* 16 << 238 */
  22213. { { 0x568f8925913cc16dL,0x18bc5b6de1a26f5aL,0xdfa413bef5f499aeL,
  22214. 0xf8835decc3f0ae84L },
  22215. { 0xb6e60bd865a40ab0L,0x65596439194b377eL,0xbcd8562592084a69L,
  22216. 0x5ce433b94f23ede0L } },
  22217. /* 17 << 238 */
  22218. { { 0xe8e8f04f6ad65143L,0x11511827d6e14af6L,0x3d390a108295c0c7L,
  22219. 0x71e29ee4621eba16L },
  22220. { 0xa588fc0963717b46L,0x02be02fee06ad4a2L,0x931558c604c22b22L,
  22221. 0xbb4d4bd612f3c849L } },
  22222. /* 18 << 238 */
  22223. { { 0x54a4f49620efd662L,0x92ba6d20c5952d14L,0x2db8ea1ecc9784c2L,
  22224. 0x81cc10ca4b353644L },
  22225. { 0x40b570ad4b4d7f6cL,0x5c9f1d9684a1dcd2L,0x01379f813147e797L,
  22226. 0xe5c6097b2bd499f5L } },
  22227. /* 19 << 238 */
  22228. { { 0x40dcafa6328e5e20L,0xf7b5244a54815550L,0xb9a4f11847bfc978L,
  22229. 0x0ea0e79fd25825b1L },
  22230. { 0xa50f96eb646c7ecfL,0xeb811493446dea9dL,0x2af04677dfabcf69L,
  22231. 0xbe3a068fc713f6e8L } },
  22232. /* 20 << 238 */
  22233. { { 0x860d523d42e06189L,0xbf0779414e3aff13L,0x0b616dcac1b20650L,
  22234. 0xe66dd6d12131300dL },
  22235. { 0xd4a0fd67ff99abdeL,0xc9903550c7aac50dL,0x022ecf8b7c46b2d7L,
  22236. 0x3333b1e83abf92afL } },
  22237. /* 21 << 238 */
  22238. { { 0x11cc113c6c491c14L,0x0597668880dd3f88L,0xf5b4d9e729d932edL,
  22239. 0xe982aad8a2c38b6dL },
  22240. { 0x6f9253478be0dcf0L,0x700080ae65ca53f2L,0xd8131156443ca77fL,
  22241. 0xe92d6942ec51f984L } },
  22242. /* 22 << 238 */
  22243. { { 0xd2a08af885dfe9aeL,0xd825d9a54d2a86caL,0x2c53988d39dff020L,
  22244. 0xf38b135a430cdc40L },
  22245. { 0x0c918ae062a7150bL,0xf31fd8de0c340e9bL,0xafa0e7ae4dbbf02eL,
  22246. 0x5847fb2a5eba6239L } },
  22247. /* 23 << 238 */
  22248. { { 0x6b1647dcdccbac8bL,0xb642aa7806f485c8L,0x873f37657038ecdfL,
  22249. 0x2ce5e865fa49d3feL },
  22250. { 0xea223788c98c4400L,0x8104a8cdf1fa5279L,0xbcf7cc7a06becfd7L,
  22251. 0x49424316c8f974aeL } },
  22252. /* 24 << 238 */
  22253. { { 0xc0da65e784d6365dL,0xbcb7443f8f759fb8L,0x35c712b17ae81930L,
  22254. 0x80428dff4c6e08abL },
  22255. { 0xf19dafefa4faf843L,0xced8538dffa9855fL,0x20ac409cbe3ac7ceL,
  22256. 0x358c1fb6882da71eL } },
  22257. /* 25 << 238 */
  22258. { { 0xafa9c0e5fd349961L,0x2b2cfa518421c2fcL,0x2a80db17f3a28d38L,
  22259. 0xa8aba5395d138e7eL },
  22260. { 0x52012d1d6e96eb8dL,0x65d8dea0cbaf9622L,0x57735447b264f56cL,
  22261. 0xbeebef3f1b6c8da2L } },
  22262. /* 26 << 238 */
  22263. { { 0xfc346d98ce785254L,0xd50e8d72bb64a161L,0xc03567c749794addL,
  22264. 0x15a76065752c7ef6L },
  22265. { 0x59f3a222961f23d6L,0x378e443873ecc0b0L,0xc74be4345a82fde4L,
  22266. 0xae509af2d8b9cf34L } },
  22267. /* 27 << 238 */
  22268. { { 0x4a61ee46577f44a1L,0xe09b748cb611deebL,0xc0481b2cf5f7b884L,
  22269. 0x3562667861acfa6bL },
  22270. { 0x37f4c518bf8d21e6L,0x22d96531b205a76dL,0x37fb85e1954073c0L,
  22271. 0xbceafe4f65b3a567L } },
  22272. /* 28 << 238 */
  22273. { { 0xefecdef7be42a582L,0xd3fc608065046be6L,0xc9af13c809e8dba9L,
  22274. 0x1e6c9847641491ffL },
  22275. { 0x3b574925d30c31f7L,0xb7eb72baac2a2122L,0x776a0dacef0859e7L,
  22276. 0x06fec31421900942L } },
  22277. /* 29 << 238 */
  22278. { { 0x2464bc10f8c22049L,0x9bfbcce7875ebf69L,0xd7a88e2a4336326bL,
  22279. 0xda05261c5bc2acfaL },
  22280. { 0xc29f5bdceba7efc8L,0x471237ca25dbbf2eL,0xa72773f22975f127L,
  22281. 0xdc744e8e04d0b326L } },
  22282. /* 30 << 238 */
  22283. { { 0x38a7ed16a56edb73L,0x64357e372c007e70L,0xa167d15b5080b400L,
  22284. 0x07b4116423de4be1L },
  22285. { 0xb2d91e3274c89883L,0x3c1628212882e7edL,0xad6b36ba7503e482L,
  22286. 0x48434e8e0ea34331L } },
  22287. /* 31 << 238 */
  22288. { { 0x79f4f24f2c7ae0b9L,0xc46fbf811939b44aL,0x76fefae856595eb1L,
  22289. 0x417b66abcd5f29c7L },
  22290. { 0x5f2332b2c5ceec20L,0xd69661ffe1a1cae2L,0x5ede7e529b0286e6L,
  22291. 0x9d062529e276b993L } },
  22292. /* 32 << 238 */
  22293. { { 0x324794b07e50122bL,0xdd744f8b4af07ca5L,0x30a12f08d63fc97bL,
  22294. 0x39650f1a76626d9dL },
  22295. { 0x101b47f71fa38477L,0x3d815f19d4dc124fL,0x1569ae95b26eb58aL,
  22296. 0xc3cde18895fb1887L } },
  22297. /* 33 << 238 */
  22298. { { 0x54e9f37bf9539a48L,0xb0100e067408c1a5L,0x821d9811ea580cbbL,
  22299. 0x8af52d3586e50c56L },
  22300. { 0xdfbd9d47dbbf698bL,0x2961a1ea03dc1c73L,0x203d38f8e76a5df8L,
  22301. 0x08a53a686def707aL } },
  22302. /* 34 << 238 */
  22303. { { 0x26eefb481bee45d4L,0xb3cee3463c688036L,0x463c5315c42f2469L,
  22304. 0x19d84d2e81378162L },
  22305. { 0x22d7c3c51c4d349fL,0x65965844163d59c5L,0xcf198c56b8abceaeL,
  22306. 0x6fb1fb1b628559d5L } },
  22307. /* 35 << 238 */
  22308. { { 0x8bbffd0607bf8fe3L,0x46259c583467734bL,0xd8953cea35f7f0d3L,
  22309. 0x1f0bece2d65b0ff1L },
  22310. { 0xf7d5b4b3f3c72914L,0x29e8ea953cb53389L,0x4a365626836b6d46L,
  22311. 0xe849f910ea174fdeL } },
  22312. /* 36 << 238 */
  22313. { { 0x7ec62fbbf4737f21L,0xd8dba5ab6209f5acL,0x24b5d7a9a5f9adbeL,
  22314. 0x707d28f7a61dc768L },
  22315. { 0x7711460bcaa999eaL,0xba7b174d1c92e4ccL,0x3c4bab6618d4bf2dL,
  22316. 0xb8f0c980eb8bd279L } },
  22317. /* 37 << 238 */
  22318. { { 0x024bea9a324b4737L,0xfba9e42332a83bcaL,0x6e635643a232dcedL,
  22319. 0x996193672571c8baL },
  22320. { 0xe8c9f35754b7032bL,0xf936b3ba2442d54aL,0x2263f0f08290c65aL,
  22321. 0x48989780ee2c7fdbL } },
  22322. /* 38 << 238 */
  22323. { { 0xadc5d55a13d4f95eL,0x737cff85ad9b8500L,0x271c557b8a73f43dL,
  22324. 0xbed617a4e18bc476L },
  22325. { 0x662454017dfd8ab2L,0xae7b89ae3a2870aaL,0x1b555f5323a7e545L,
  22326. 0x6791e247be057e4cL } },
  22327. /* 39 << 238 */
  22328. { { 0x860136ad324fa34dL,0xea1114474cbeae28L,0x023a4270bedd3299L,
  22329. 0x3d5c3a7fc1c35c34L },
  22330. { 0xb0f6db678d0412d2L,0xd92625e2fcdc6b9aL,0x92ae5ccc4e28a982L,
  22331. 0xea251c3647a3ce7eL } },
  22332. /* 40 << 238 */
  22333. { { 0x9d658932790691bfL,0xed61058906b736aeL,0x712c2f04c0d63b6eL,
  22334. 0x5cf06fd5c63d488fL },
  22335. { 0x97363facd9588e41L,0x1f9bf7622b93257eL,0xa9d1ffc4667acaceL,
  22336. 0x1cf4a1aa0a061ecfL } },
  22337. /* 41 << 238 */
  22338. { { 0x40e48a49dc1818d0L,0x0643ff39a3621ab0L,0x5768640ce39ef639L,
  22339. 0x1fc099ea04d86854L },
  22340. { 0x9130b9c3eccd28fdL,0xd743cbd27eec54abL,0x052b146fe5b475b6L,
  22341. 0x058d9a82900a7d1fL } },
  22342. /* 42 << 238 */
  22343. { { 0x65e0229291262b72L,0x96f924f9bb0edf03L,0x5cfa59c8fe206842L,
  22344. 0xf60370045eafa720L },
  22345. { 0x5f30699e18d7dd96L,0x381e8782cbab2495L,0x91669b46dd8be949L,
  22346. 0xb40606f526aae8efL } },
  22347. /* 43 << 238 */
  22348. { { 0x2812b839fc6751a4L,0x16196214fba800efL,0x4398d5ca4c1a2875L,
  22349. 0x720c00ee653d8349L },
  22350. { 0xc2699eb0d820007cL,0x880ee660a39b5825L,0x70694694471f6984L,
  22351. 0xf7d16ea8e3dda99aL } },
  22352. /* 44 << 238 */
  22353. { { 0x28d675b2c0519a23L,0x9ebf94fe4f6952e3L,0xf28bb767a2294a8aL,
  22354. 0x85512b4dfe0af3f5L },
  22355. { 0x18958ba899b16a0dL,0x95c2430cba7548a7L,0xb30d1b10a16be615L,
  22356. 0xe3ebbb9785bfb74cL } },
  22357. /* 45 << 238 */
  22358. { { 0xa3273cfe18549fdbL,0xf6e200bf4fcdb792L,0x54a76e1883aba56cL,
  22359. 0x73ec66f689ef6aa2L },
  22360. { 0x8d17add7d1b9a305L,0xa959c5b9b7ae1b9dL,0x886435226bcc094aL,
  22361. 0xcc5616c4d7d429b9L } },
  22362. /* 46 << 238 */
  22363. { { 0xa6dada01e6a33f7cL,0xc6217a079d4e70adL,0xd619a81809c15b7cL,
  22364. 0xea06b3290e80c854L },
  22365. { 0x174811cea5f5e7b9L,0x66dfc310787c65f4L,0x4ea7bd693316ab54L,
  22366. 0xc12c4acb1dcc0f70L } },
  22367. /* 47 << 238 */
  22368. { { 0xe4308d1a1e407dd9L,0xe8a3587c91afa997L,0xea296c12ab77b7a5L,
  22369. 0xb5ad49e4673c0d52L },
  22370. { 0x40f9b2b27006085aL,0xa88ff34087bf6ec2L,0x978603b14e3066a6L,
  22371. 0xb3f99fc2b5e486e2L } },
  22372. /* 48 << 238 */
  22373. { { 0x07b53f5eb2e63645L,0xbe57e54784c84232L,0xd779c2167214d5cfL,
  22374. 0x617969cd029a3acaL },
  22375. { 0xd17668cd8a7017a0L,0x77b4d19abe9b7ee8L,0x58fd0e939c161776L,
  22376. 0xa8c4f4efd5968a72L } },
  22377. /* 49 << 238 */
  22378. { { 0x296071cc67b3de77L,0xae3c0b8e634f7905L,0x67e440c28a7100c9L,
  22379. 0xbb8c3c1beb4b9b42L },
  22380. { 0x6d71e8eac51b3583L,0x7591f5af9525e642L,0xf73a2f7b13f509f3L,
  22381. 0x618487aa5619ac9bL } },
  22382. /* 50 << 238 */
  22383. { { 0x3a72e5f79d61718aL,0x00413bcc7592d28cL,0x7d9b11d3963c35cfL,
  22384. 0x77623bcfb90a46edL },
  22385. { 0xdeef273bdcdd2a50L,0x4a741f9b0601846eL,0x33b89e510ec6e929L,
  22386. 0xcb02319f8b7f22cdL } },
  22387. /* 51 << 238 */
  22388. { { 0xbbe1500d084bae24L,0x2f0ae8d7343d2693L,0xacffb5f27cdef811L,
  22389. 0xaa0c030a263fb94fL },
  22390. { 0x6eef0d61a0f442deL,0xf92e181727b139d3L,0x1ae6deb70ad8bc28L,
  22391. 0xa89e38dcc0514130L } },
  22392. /* 52 << 238 */
  22393. { { 0x81eeb865d2fdca23L,0x5a15ee08cc8ef895L,0x768fa10a01905614L,
  22394. 0xeff5b8ef880ee19bL },
  22395. { 0xf0c0cabbcb1c8a0eL,0x2e1ee9cdb8c838f9L,0x0587d8b88a4a14c0L,
  22396. 0xf6f278962ff698e5L } },
  22397. /* 53 << 238 */
  22398. { { 0xed38ef1c89ee6256L,0xf44ee1fe6b353b45L,0x9115c0c770e903b3L,
  22399. 0xc78ec0a1818f31dfL },
  22400. { 0x6c003324b7dccbc6L,0xd96dd1f3163bbc25L,0x33aa82dd5cedd805L,
  22401. 0x123aae4f7f7eb2f1L } },
  22402. /* 54 << 238 */
  22403. { { 0x1723fcf5a26262cdL,0x1f7f4d5d0060ebd5L,0xf19c5c01b2eaa3afL,
  22404. 0x2ccb9b149790accfL },
  22405. { 0x1f9c1cad52324aa6L,0x632005267247df54L,0x5732fe42bac96f82L,
  22406. 0x52fe771f01a1c384L } },
  22407. /* 55 << 238 */
  22408. { { 0x546ca13db1001684L,0xb56b4eeea1709f75L,0x266545a9d5db8672L,
  22409. 0xed971c901e8f3cfbL },
  22410. { 0x4e7d8691e3a07b29L,0x7570d9ece4b696b9L,0xdc5fa0677bc7e9aeL,
  22411. 0x68b44cafc82c4844L } },
  22412. /* 56 << 238 */
  22413. { { 0x519d34b3bf44da80L,0x283834f95ab32e66L,0x6e6087976278a000L,
  22414. 0x1e62960e627312f6L },
  22415. { 0x9b87b27be6901c55L,0x80e7853824fdbc1fL,0xbbbc09512facc27dL,
  22416. 0x06394239ac143b5aL } },
  22417. /* 57 << 238 */
  22418. { { 0x35bb4a40376c1944L,0x7cb6269463da1511L,0xafd29161b7148a3bL,
  22419. 0xa6f9d9ed4e2ea2eeL },
  22420. { 0x15dc2ca2880dd212L,0x903c3813a61139a9L,0x2aa7b46d6c0f8785L,
  22421. 0x36ce2871901c60ffL } },
  22422. /* 58 << 238 */
  22423. { { 0xc683b028e10d9c12L,0x7573baa2032f33d3L,0x87a9b1f667a31b58L,
  22424. 0xfd3ed11af4ffae12L },
  22425. { 0x83dcaa9a0cb2748eL,0x8239f0185d6fdf16L,0xba67b49c72753941L,
  22426. 0x2beec455c321cb36L } },
  22427. /* 59 << 238 */
  22428. { { 0x880156063f8b84ceL,0x764170838d38c86fL,0x054f1ca7598953ddL,
  22429. 0xc939e1104e8e7429L },
  22430. { 0x9b1ac2b35a914f2fL,0x39e35ed3e74b8f9cL,0xd0debdb2781b2fb0L,
  22431. 0x1585638f2d997ba2L } },
  22432. /* 60 << 238 */
  22433. { { 0x9c4b646e9e2fce99L,0x68a210811e80857fL,0x06d54e443643b52aL,
  22434. 0xde8d6d630d8eb843L },
  22435. { 0x7032156342146a0aL,0x8ba826f25eaa3622L,0x227a58bd86138787L,
  22436. 0x43b6c03c10281d37L } },
  22437. /* 61 << 238 */
  22438. { { 0x6326afbbb54dde39L,0x744e5e8adb6f2d5fL,0x48b2a99acff158e1L,
  22439. 0xa93c8fa0ef87918fL },
  22440. { 0x2182f956de058c5cL,0x216235d2936f9e7aL,0xace0c0dbd2e31e67L,
  22441. 0xc96449bff23ac3e7L } },
  22442. /* 62 << 238 */
  22443. { { 0x7e9a2874170693bdL,0xa28e14fda45e6335L,0x5757f6b356427344L,
  22444. 0x822e4556acf8edf9L },
  22445. { 0x2b7a6ee2e6a285cdL,0x5866f211a9df3af0L,0x40dde2ddf845b844L,
  22446. 0x986c3726110e5e49L } },
  22447. /* 63 << 238 */
  22448. { { 0x73680c2af7172277L,0x57b94f0f0cccb244L,0xbdff72672d438ca7L,
  22449. 0xbad1ce11cf4663fdL },
  22450. { 0x9813ed9dd8f71caeL,0xf43272a6961fdaa6L,0xbeff0119bd6d1637L,
  22451. 0xfebc4f9130361978L } },
  22452. /* 64 << 238 */
  22453. { { 0x02b37a952f41deffL,0x0e44a59ae63b89b7L,0x673257dc143ff951L,
  22454. 0x19c02205d752baf4L },
  22455. { 0x46c23069c4b7d692L,0x2e6392c3fd1502acL,0x6057b1a21b220846L,
  22456. 0xe51ff9460c1b5b63L } },
  22457. /* 0 << 245 */
  22458. { { 0x00, 0x00, 0x00, 0x00 },
  22459. { 0x00, 0x00, 0x00, 0x00 } },
  22460. /* 1 << 245 */
  22461. { { 0x6e85cb51566c5c43L,0xcff9c9193597f046L,0x9354e90c4994d94aL,
  22462. 0xe0a393322147927dL },
  22463. { 0x8427fac10dc1eb2bL,0x88cfd8c22ff319faL,0xe2d4e68401965274L,
  22464. 0xfa2e067d67aaa746L } },
  22465. /* 2 << 245 */
  22466. { { 0xb6d92a7f3e5f9f11L,0x9afe153ad6cb3b8eL,0x4d1a6dd7ddf800bdL,
  22467. 0xf6c13cc0caf17e19L },
  22468. { 0x15f6c58e325fc3eeL,0x71095400a31dc3b2L,0x168e7c07afa3d3e7L,
  22469. 0x3f8417a194c7ae2dL } },
  22470. /* 3 << 245 */
  22471. { { 0xec234772813b230dL,0x634d0f5f17344427L,0x11548ab1d77fc56aL,
  22472. 0x7fab1750ce06af77L },
  22473. { 0xb62c10a74f7c4f83L,0xa7d2edc4220a67d9L,0x1c404170921209a0L,
  22474. 0x0b9815a0face59f0L } },
  22475. /* 4 << 245 */
  22476. { { 0x2842589b319540c3L,0x18490f59a283d6f8L,0xa2731f84daae9fcbL,
  22477. 0x3db6d960c3683ba0L },
  22478. { 0xc85c63bb14611069L,0xb19436af0788bf05L,0x905459df347460d2L,
  22479. 0x73f6e094e11a7db1L } },
  22480. /* 5 << 245 */
  22481. { { 0xdc7f938eb6357f37L,0xc5d00f792bd8aa62L,0xc878dcb92ca979fcL,
  22482. 0x37e83ed9eb023a99L },
  22483. { 0x6b23e2731560bf3dL,0x1086e4591d0fae61L,0x782483169a9414bdL,
  22484. 0x1b956bc0f0ea9ea1L } },
  22485. /* 6 << 245 */
  22486. { { 0x7b85bb91c31b9c38L,0x0c5aa90b48ef57b5L,0xdedeb169af3bab6fL,
  22487. 0xe610ad732d373685L },
  22488. { 0xf13870df02ba8e15L,0x0337edb68ca7f771L,0xe4acf747b62c036cL,
  22489. 0xd921d576b6b94e81L } },
  22490. /* 7 << 245 */
  22491. { { 0xdbc864392c422f7aL,0xfb635362ed348898L,0x83084668c45bfcd1L,
  22492. 0xc357c9e32b315e11L },
  22493. { 0xb173b5405b2e5b8cL,0x7e946931e102b9a4L,0x17c890eb7b0fb199L,
  22494. 0xec225a83d61b662bL } },
  22495. /* 8 << 245 */
  22496. { { 0xf306a3c8ee3c76cbL,0x3cf11623d32a1f6eL,0xe6d5ab646863e956L,
  22497. 0x3b8a4cbe5c005c26L },
  22498. { 0xdcd529a59ce6bb27L,0xc4afaa5204d4b16fL,0xb0624a267923798dL,
  22499. 0x85e56df66b307fabL } },
  22500. /* 9 << 245 */
  22501. { { 0x0281893c2bf29698L,0x91fc19a4d7ce7603L,0x75a5dca3ad9a558fL,
  22502. 0x40ceb3fa4d50bf77L },
  22503. { 0x1baf6060bc9ba369L,0x927e1037597888c2L,0xd936bf1986a34c07L,
  22504. 0xd4cf10c1c34ae980L } },
  22505. /* 10 << 245 */
  22506. { { 0x3a3e5334859dd614L,0x9c475b5b18d0c8eeL,0x63080d1f07cd51d5L,
  22507. 0xc9c0d0a6b88b4326L },
  22508. { 0x1ac98691c234296fL,0x2a0a83a494887fb6L,0x565114270cea9cf2L,
  22509. 0x5230a6e8a24802f5L } },
  22510. /* 11 << 245 */
  22511. { { 0xf7a2bf0f72e3d5c1L,0x377174464f21439eL,0xfedcbf259ce30334L,
  22512. 0xe0030a787ce202f9L },
  22513. { 0x6f2d9ebf1202e9caL,0xe79dde6c75e6e591L,0xf52072aff1dac4f8L,
  22514. 0x6c8d087ebb9b404dL } },
  22515. /* 12 << 245 */
  22516. { { 0xad0fc73dbce913afL,0x909e587b458a07cbL,0x1300da84d4f00c8aL,
  22517. 0x425cd048b54466acL },
  22518. { 0xb59cb9be90e9d8bfL,0x991616db3e431b0eL,0xd3aa117a531aecffL,
  22519. 0x91af92d359f4dc3bL } },
  22520. /* 13 << 245 */
  22521. { { 0x9b1ec292e93fda29L,0x76bb6c17e97d91bcL,0x7509d95faface1e6L,
  22522. 0x3653fe47be855ae3L },
  22523. { 0x73180b280f680e75L,0x75eefd1beeb6c26cL,0xa4cdf29fb66d4236L,
  22524. 0x2d70a9976b5821d8L } },
  22525. /* 14 << 245 */
  22526. { { 0x7a3ee20720445c36L,0x71d1ac8259877174L,0x0fc539f7949f73e9L,
  22527. 0xd05cf3d7982e3081L },
  22528. { 0x8758e20b7b1c7129L,0xffadcc20569e61f2L,0xb05d3a2f59544c2dL,
  22529. 0xbe16f5c19fff5e53L } },
  22530. /* 15 << 245 */
  22531. { { 0x73cf65b8aad58135L,0x622c2119037aa5beL,0x79373b3f646fd6a0L,
  22532. 0x0e029db50d3978cfL },
  22533. { 0x8bdfc43794fba037L,0xaefbd687620797a6L,0x3fa5382bbd30d38eL,
  22534. 0x7627cfbf585d7464L } },
  22535. /* 16 << 245 */
  22536. { { 0xb2330fef4e4ca463L,0xbcef72873566cc63L,0xd161d2cacf780900L,
  22537. 0x135dc5395b54827dL },
  22538. { 0x638f052e27bf1bc6L,0x10a224f007dfa06cL,0xe973586d6d3321daL,
  22539. 0x8b0c573826152c8fL } },
  22540. /* 17 << 245 */
  22541. { { 0x07ef4f2a34606074L,0x80fe7fe8a0f7047aL,0x3d1a8152e1a0e306L,
  22542. 0x32cf43d888da5222L },
  22543. { 0xbf89a95f5f02ffe6L,0x3d9eb9a4806ad3eaL,0x012c17bb79c8e55eL,
  22544. 0xfdcd1a7499c81dacL } },
  22545. /* 18 << 245 */
  22546. { { 0x7043178bb9556098L,0x4090a1df801c3886L,0x759800ff9b67b912L,
  22547. 0x3e5c0304232620c8L },
  22548. { 0x4b9d3c4b70dceecaL,0xbb2d3c15181f648eL,0xf981d8376e33345cL,
  22549. 0xb626289b0cf2297aL } },
  22550. /* 19 << 245 */
  22551. { { 0x766ac6598baebdcfL,0x1a28ae0975df01e5L,0xb71283da375876d8L,
  22552. 0x4865a96d607b9800L },
  22553. { 0x25dd1bcd237936b2L,0x332f4f4b60417494L,0xd0923d68370a2147L,
  22554. 0x497f5dfbdc842203L } },
  22555. /* 20 << 245 */
  22556. { { 0x9dc74cbd32be5e0fL,0x7475bcb717a01375L,0x438477c950d872b1L,
  22557. 0xcec67879ffe1d63dL },
  22558. { 0x9b006014d8578c70L,0xc9ad99a878bb6b8bL,0x6799008e11fb3806L,
  22559. 0xcfe81435cd44cab3L } },
  22560. /* 21 << 245 */
  22561. { { 0xa2ee15822f4fb344L,0xb8823450483fa6ebL,0x622d323d652c7749L,
  22562. 0xd8474a98beb0a15bL },
  22563. { 0xe43c154d5d1c00d0L,0x7fd581d90e3e7aacL,0x2b44c6192525ddf8L,
  22564. 0x67a033ebb8ae9739L } },
  22565. /* 22 << 245 */
  22566. { { 0x113ffec19ef2d2e4L,0x1bf6767ed5a0ea7fL,0x57fff75e03714c0aL,
  22567. 0xa23c422e0a23e9eeL },
  22568. { 0xdd5f6b2d540f83afL,0xc2c2c27e55ea46a7L,0xeb6b4246672a1208L,
  22569. 0xd13599f7ae634f7aL } },
  22570. /* 23 << 245 */
  22571. { { 0xcf914b5cd7b32c6eL,0x61a5a640eaf61814L,0x8dc3df8b208a1bbbL,
  22572. 0xef627fd6b6d79aa5L },
  22573. { 0x44232ffcc4c86bc8L,0xe6f9231b061539feL,0x1d04f25a958b9533L,
  22574. 0x180cf93449e8c885L } },
  22575. /* 24 << 245 */
  22576. { { 0x896895959884aaf7L,0xb1959be307b348a6L,0x96250e573c147c87L,
  22577. 0xae0efb3add0c61f8L },
  22578. { 0xed00745eca8c325eL,0x3c911696ecff3f70L,0x73acbc65319ad41dL,
  22579. 0x7b01a020f0b1c7efL } },
  22580. /* 25 << 245 */
  22581. { { 0xea32b29363a1483fL,0x89eabe717a248f96L,0x9c6231d3343157e5L,
  22582. 0x93a375e5df3c546dL },
  22583. { 0xe76e93436a2afe69L,0xc4f89100e166c88eL,0x248efd0d4f872093L,
  22584. 0xae0eb3ea8fe0ea61L } },
  22585. /* 26 << 245 */
  22586. { { 0xaf89790d9d79046eL,0x4d650f2d6cee0976L,0xa3935d9a43071ecaL,
  22587. 0x66fcd2c9283b0bfeL },
  22588. { 0x0e665eb5696605f1L,0xe77e5d07a54cd38dL,0x90ee050a43d950cfL,
  22589. 0x86ddebdad32e69b5L } },
  22590. /* 27 << 245 */
  22591. { { 0x6ad94a3dfddf7415L,0xf7fa13093f6e8d5aL,0xc4831d1de9957f75L,
  22592. 0x7de28501d5817447L },
  22593. { 0x6f1d70789e2aeb6bL,0xba2b9ff4f67a53c2L,0x36963767df9defc3L,
  22594. 0x479deed30d38022cL } },
  22595. /* 28 << 245 */
  22596. { { 0xd2edb89b3a8631e8L,0x8de855de7a213746L,0xb2056cb7b00c5f11L,
  22597. 0xdeaefbd02c9b85e4L },
  22598. { 0x03f39a8dd150892dL,0x37b84686218b7985L,0x36296dd8b7375f1aL,
  22599. 0x472cd4b1b78e898eL } },
  22600. /* 29 << 245 */
  22601. { { 0x15dff651e9f05de9L,0xd40450692ce98ba9L,0x8466a7ae9b38024cL,
  22602. 0xb910e700e5a6b5efL },
  22603. { 0xae1c56eab3aa8f0dL,0xbab2a5077eee74a6L,0x0dca11e24b4c4620L,
  22604. 0xfd896e2e4c47d1f4L } },
  22605. /* 30 << 245 */
  22606. { { 0xeb45ae53308fbd93L,0x46cd5a2e02c36fdaL,0x6a3d4e90baa48385L,
  22607. 0xdd55e62e9dbe9960L },
  22608. { 0xa1406aa02a81ede7L,0x6860dd14f9274ea7L,0xcfdcb0c280414f86L,
  22609. 0xff410b1022f94327L } },
  22610. /* 31 << 245 */
  22611. { { 0x5a33cc3849ad467bL,0xefb48b6c0a7335f1L,0x14fb54a4b153a360L,
  22612. 0x604aa9d2b52469ccL },
  22613. { 0x5e9dc486754e48e9L,0x693cb45537471e8eL,0xfb2fd7cd8d3b37b6L,
  22614. 0x63345e16cf09ff07L } },
  22615. /* 32 << 245 */
  22616. { { 0x9910ba6b23a5d896L,0x1fe19e357fe4364eL,0x6e1da8c39a33c677L,
  22617. 0x15b4488b29fd9fd0L },
  22618. { 0x1f4392541a1f22bfL,0x920a8a70ab8163e8L,0x3fd1b24907e5658eL,
  22619. 0xf2c4f79cb6ec839bL } },
  22620. /* 33 << 245 */
  22621. { { 0x1abbc3d04aa38d1bL,0x3b0db35cb5d9510eL,0x1754ac783e60dec0L,
  22622. 0x53272fd7ea099b33L },
  22623. { 0x5fb0494f07a8e107L,0x4a89e1376a8191faL,0xa113b7f63c4ad544L,
  22624. 0x88a2e9096cb9897bL } },
  22625. /* 34 << 245 */
  22626. { { 0x17d55de3b44a3f84L,0xacb2f34417c6c690L,0x3208816810232390L,
  22627. 0xf2e8a61f6c733bf7L },
  22628. { 0xa774aab69c2d7652L,0xfb5307e3ed95c5bcL,0xa05c73c24981f110L,
  22629. 0x1baae31ca39458c9L } },
  22630. /* 35 << 245 */
  22631. { { 0x1def185bcbea62e7L,0xe8ac9eaeeaf63059L,0x098a8cfd9921851cL,
  22632. 0xd959c3f13abe2f5bL },
  22633. { 0xa4f1952520e40ae5L,0x320789e307a24aa1L,0x259e69277392b2bcL,
  22634. 0x58f6c6671918668bL } },
  22635. /* 36 << 245 */
  22636. { { 0xce1db2bbc55d2d8bL,0x41d58bb7f4f6ca56L,0x7650b6808f877614L,
  22637. 0x905e16baf4c349edL },
  22638. { 0xed415140f661acacL,0x3b8784f0cb2270afL,0x3bc280ac8a402cbaL,
  22639. 0xd53f71460937921aL } },
  22640. /* 37 << 245 */
  22641. { { 0xc03c8ee5e5681e83L,0x62126105f6ac9e4aL,0x9503a53f936b1a38L,
  22642. 0x3d45e2d4782fecbdL },
  22643. { 0x69a5c43976e8ae98L,0xb53b2eebbfb4b00eL,0xf167471272386c89L,
  22644. 0x30ca34a24268bce4L } },
  22645. /* 38 << 245 */
  22646. { { 0x7f1ed86c78341730L,0x8ef5beb8b525e248L,0xbbc489fdb74fbf38L,
  22647. 0x38a92a0e91a0b382L },
  22648. { 0x7a77ba3f22433ccfL,0xde8362d6a29f05a9L,0x7f6a30ea61189afcL,
  22649. 0x693b550559ef114fL } },
  22650. /* 39 << 245 */
  22651. { { 0x50266bc0cd1797a1L,0xea17b47ef4b7af2dL,0xd6c4025c3df9483eL,
  22652. 0x8cbb9d9fa37b18c9L },
  22653. { 0x91cbfd9c4d8424cfL,0xdb7048f1ab1c3506L,0x9eaf641f028206a3L,
  22654. 0xf986f3f925bdf6ceL } },
  22655. /* 40 << 245 */
  22656. { { 0x262143b5224c08dcL,0x2bbb09b481b50c91L,0xc16ed709aca8c84fL,
  22657. 0xa6210d9db2850ca8L },
  22658. { 0x6d8df67a09cb54d6L,0x91eef6e0500919a4L,0x90f613810f132857L,
  22659. 0x9acede47f8d5028bL } },
  22660. /* 41 << 245 */
  22661. { { 0x844d1b7190b771c3L,0x563b71e4ba6426beL,0x2efa2e83bdb802ffL,
  22662. 0x3410cbabab5b4a41L },
  22663. { 0x555b2d2630da84ddL,0xd0711ae9ee1cc29aL,0xcf3e8c602f547792L,
  22664. 0x03d7d5dedc678b35L } },
  22665. /* 42 << 245 */
  22666. { { 0x071a2fa8ced806b8L,0x222e6134697f1478L,0xdc16fd5dabfcdbbfL,
  22667. 0x44912ebf121b53b8L },
  22668. { 0xac9436742496c27cL,0x8ea3176c1ffc26b0L,0xb6e224ac13debf2cL,
  22669. 0x524cc235f372a832L } },
  22670. /* 43 << 245 */
  22671. { { 0xd706e1d89f6f1b18L,0x2552f00544cce35bL,0x8c8326c2a88e31fcL,
  22672. 0xb5468b2cf9552047L },
  22673. { 0xce683e883ff90f2bL,0x77947bdf2f0a5423L,0xd0a1b28bed56e328L,
  22674. 0xaee35253c20134acL } },
  22675. /* 44 << 245 */
  22676. { { 0x7e98367d3567962fL,0x379ed61f8188bffbL,0x73bba348faf130a1L,
  22677. 0x6c1f75e1904ed734L },
  22678. { 0x189566423b4a79fcL,0xf20bc83d54ef4493L,0x836d425d9111eca1L,
  22679. 0xe5b5c318009a8dcfL } },
  22680. /* 45 << 245 */
  22681. { { 0x3360b25d13221bc5L,0x707baad26b3eeaf7L,0xd7279ed8743a95a1L,
  22682. 0x7450a875969e809fL },
  22683. { 0x32b6bd53e5d0338fL,0x1e77f7af2b883bbcL,0x90da12cc1063ecd0L,
  22684. 0xe2697b58c315be47L } },
  22685. /* 46 << 245 */
  22686. { { 0x2771a5bdda85d534L,0x53e78c1fff980eeaL,0xadf1cf84900385e7L,
  22687. 0x7d3b14f6c9387b62L },
  22688. { 0x170e74b0cb8f2bd2L,0x2d50b486827fa993L,0xcdbe8c9af6f32babL,
  22689. 0x55e906b0c3b93ab8L } },
  22690. /* 47 << 245 */
  22691. { { 0x747f22fc8fe280d1L,0xcd8e0de5b2e114abL,0x5ab7dbebe10b68b0L,
  22692. 0x9dc63a9ca480d4b2L },
  22693. { 0x78d4bc3b4be1495fL,0x25eb3db89359122dL,0x3f8ac05b0809cbdcL,
  22694. 0xbf4187bbd37c702fL } },
  22695. /* 48 << 245 */
  22696. { { 0x84cea0691416a6a5L,0x8f860c7943ef881cL,0x41311f8a38038a5dL,
  22697. 0xe78c2ec0fc612067L },
  22698. { 0x494d2e815ad73581L,0xb4cc9e0059604097L,0xff558aecf3612cbaL,
  22699. 0x35beef7a9e36c39eL } },
  22700. /* 49 << 245 */
  22701. { { 0x1845c7cfdbcf41b9L,0x5703662aaea997c0L,0x8b925afee402f6d8L,
  22702. 0xd0a1b1ae4dd72162L },
  22703. { 0x9f47b37503c41c4bL,0xa023829b0391d042L,0x5f5045c3503b8b0aL,
  22704. 0x123c268898c010e5L } },
  22705. /* 50 << 245 */
  22706. { { 0x324ec0cc36ba06eeL,0xface31153dd2cc0cL,0xb364f3bef333e91fL,
  22707. 0xef8aff7328e832b0L },
  22708. { 0x1e9bad042d05841bL,0x42f0e3df356a21e2L,0xa3270bcb4add627eL,
  22709. 0xb09a8158d322e711L } },
  22710. /* 51 << 245 */
  22711. { { 0x86e326a10fee104aL,0xad7788f83703f65dL,0x7e76543047bc4833L,
  22712. 0x6cee582b2b9b893aL },
  22713. { 0x9cd2a167e8f55a7bL,0xefbee3c6d9e4190dL,0x33ee7185d40c2e9dL,
  22714. 0x844cc9c5a380b548L } },
  22715. /* 52 << 245 */
  22716. { { 0x323f8ecd66926e04L,0x0001e38f8110c1baL,0x8dbcac12fc6a7f07L,
  22717. 0xd65e1d580cec0827L },
  22718. { 0xd2cd4141be76ca2dL,0x7895cf5ce892f33aL,0x956d230d367139d2L,
  22719. 0xa91abd3ed012c4c1L } },
  22720. /* 53 << 245 */
  22721. { { 0x34fa488387eb36bfL,0xc5f07102914b8fb4L,0x90f0e579adb9c95fL,
  22722. 0xfe6ea8cb28888195L },
  22723. { 0x7b9b5065edfa9284L,0x6c510bd22b8c8d65L,0xd7b8ebefcbe8aafdL,
  22724. 0xedb3af9896b1da07L } },
  22725. /* 54 << 245 */
  22726. { { 0x28ff779d6295d426L,0x0c4f6ac73fa3ad7bL,0xec44d0548b8e2604L,
  22727. 0x9b32a66d8b0050e1L },
  22728. { 0x1f943366f0476ce2L,0x7554d953a602c7b4L,0xbe35aca6524f2809L,
  22729. 0xb6881229fd4edbeaL } },
  22730. /* 55 << 245 */
  22731. { { 0xe8cd0c8f508efb63L,0x9eb5b5c86abcefc7L,0xf5621f5fb441ab4fL,
  22732. 0x79e6c046b76a2b22L },
  22733. { 0x74a4792ce37a1f69L,0xcbd252cb03542b60L,0x785f65d5b3c20bd3L,
  22734. 0x8dea61434fabc60cL } },
  22735. /* 56 << 245 */
  22736. { { 0x45e21446de673629L,0x57f7aa1e703c2d21L,0xa0e99b7f98c868c7L,
  22737. 0x4e42f66d8b641676L },
  22738. { 0x602884dc91077896L,0xa0d690cfc2c9885bL,0xfeb4da333b9a5187L,
  22739. 0x5f789598153c87eeL } },
  22740. /* 57 << 245 */
  22741. { { 0x2192dd4752b16dbaL,0xdeefc0e63524c1b1L,0x465ea76ee4383693L,
  22742. 0x79401711361b8d98L },
  22743. { 0xa5f9ace9f21a15cbL,0x73d26163efee9aebL,0xcca844b3e677016cL,
  22744. 0x6c122b0757eaee06L } },
  22745. /* 58 << 245 */
  22746. { { 0xb782dce715f09690L,0x508b9b122dfc0fc9L,0x9015ab4b65d89fc6L,
  22747. 0x5e79dab7d6d5bb0fL },
  22748. { 0x64f021f06c775aa2L,0xdf09d8cc37c7eca1L,0x9a761367ef2fa506L,
  22749. 0xed4ca4765b81eec6L } },
  22750. /* 59 << 245 */
  22751. { { 0x262ede3610bbb8b5L,0x0737ce830641ada3L,0x4c94288ae9831cccL,
  22752. 0x487fc1ce8065e635L },
  22753. { 0xb13d7ab3b8bb3659L,0xdea5df3e855e4120L,0xb9a1857385eb0244L,
  22754. 0x1a1b8ea3a7cfe0a3L } },
  22755. /* 60 << 245 */
  22756. { { 0x3b83711967b0867cL,0x8d5e0d089d364520L,0x52dccc1ed930f0e3L,
  22757. 0xefbbcec7bf20bbafL },
  22758. { 0x99cffcab0263ad10L,0xd8199e6dfcd18f8aL,0x64e2773fe9f10617L,
  22759. 0x0079e8e108704848L } },
  22760. /* 61 << 245 */
  22761. { { 0x1169989f8a342283L,0x8097799ca83012e6L,0xece966cb8a6a9001L,
  22762. 0x93b3afef072ac7fcL },
  22763. { 0xe6893a2a2db3d5baL,0x263dc46289bf4fdcL,0x8852dfc9e0396673L,
  22764. 0x7ac708953af362b6L } },
  22765. /* 62 << 245 */
  22766. { { 0xbb9cce4d5c2f342bL,0xbf80907ab52d7aaeL,0x97f3d3cd2161bcd0L,
  22767. 0xb25b08340962744dL },
  22768. { 0xc5b18ea56c3a1ddaL,0xfe4ec7eb06c92317L,0xb787b890ad1c4afeL,
  22769. 0xdccd9a920ede801aL } },
  22770. /* 63 << 245 */
  22771. { { 0x9ac6dddadb58da1fL,0x22bbc12fb8cae6eeL,0xc6f8bced815c4a43L,
  22772. 0x8105a92cf96480c7L },
  22773. { 0x0dc3dbf37a859d51L,0xe3ec7ce63041196bL,0xd9f64b250d1067c9L,
  22774. 0xf23213213d1f8dd8L } },
  22775. /* 64 << 245 */
  22776. { { 0x8b5c619c76497ee8L,0x5d2b0ac6c717370eL,0x98204cb64fcf68e1L,
  22777. 0x0bdec21162bc6792L },
  22778. { 0x6973ccefa63b1011L,0xf9e3fa97e0de1ac5L,0x5efb693e3d0e0c8bL,
  22779. 0x037248e9d2d4fcb4L } },
  22780. /* 0 << 252 */
  22781. { { 0x00, 0x00, 0x00, 0x00 },
  22782. { 0x00, 0x00, 0x00, 0x00 } },
  22783. /* 1 << 252 */
  22784. { { 0x80802dc91ec34f9eL,0xd8772d3533810603L,0x3f06d66c530cb4f3L,
  22785. 0x7be5ed0dc475c129L },
  22786. { 0xcb9e3c1931e82b10L,0xc63d2857c9ff6b4cL,0xb92118c692a1b45eL,
  22787. 0x0aec44147285bbcaL } },
  22788. /* 2 << 252 */
  22789. { { 0xfc189ae71e29a3efL,0xcbe906f04c93302eL,0xd0107914ceaae10eL,
  22790. 0xb7a23f34b68e19f8L },
  22791. { 0xe9d875c2efd2119dL,0x03198c6efcadc9c8L,0x65591bf64da17113L,
  22792. 0x3cf0bbf83d443038L } },
  22793. /* 3 << 252 */
  22794. { { 0xae485bb72b724759L,0x945353e1b2d4c63aL,0x82159d07de7d6f2cL,
  22795. 0x389caef34ec5b109L },
  22796. { 0x4a8ebb53db65ef14L,0x2dc2cb7edd99de43L,0x816fa3ed83f2405fL,
  22797. 0x73429bb9c14208a3L } },
  22798. /* 4 << 252 */
  22799. { { 0xb618d590b01e6e27L,0x047e2ccde180b2dcL,0xd1b299b504aea4a9L,
  22800. 0x412c9e1e9fa403a4L },
  22801. { 0x88d28a3679407552L,0x49c50136f332b8e3L,0x3a1b6fcce668de19L,
  22802. 0x178851bc75122b97L } },
  22803. /* 5 << 252 */
  22804. { { 0xb1e13752fb85fa4cL,0xd61257ce383c8ce9L,0xd43da670d2f74daeL,
  22805. 0xa35aa23fbf846bbbL },
  22806. { 0x5e74235d4421fc83L,0xf6df8ee0c363473bL,0x34d7f52a3c4aa158L,
  22807. 0x50d05aab9bc6d22eL } },
  22808. /* 6 << 252 */
  22809. { { 0x8c56e735a64785f4L,0xbc56637b5f29cd07L,0x53b2bb803ee35067L,
  22810. 0x50235a0fdc919270L },
  22811. { 0x191ab6d8f2c4aa65L,0xc34758318396023bL,0x80400ba5f0f805baL,
  22812. 0x8881065b5ec0f80fL } },
  22813. /* 7 << 252 */
  22814. { { 0xc370e522cc1b5e83L,0xde2d4ad1860b8bfbL,0xad364df067b256dfL,
  22815. 0x8f12502ee0138997L },
  22816. { 0x503fa0dc7783920aL,0xe80014adc0bc866aL,0x3f89b744d3064ba6L,
  22817. 0x03511dcdcba5dba5L } },
  22818. /* 8 << 252 */
  22819. { { 0x197dd46d95a7b1a2L,0x9c4e7ad63c6341fbL,0x426eca29484c2eceL,
  22820. 0x9211e489de7f4f8aL },
  22821. { 0x14997f6ec78ef1f4L,0x2b2c091006574586L,0x17286a6e1c3eede8L,
  22822. 0x25f92e470f60e018L } },
  22823. /* 9 << 252 */
  22824. { { 0x805c564631890a36L,0x703ef60057feea5bL,0x389f747caf3c3030L,
  22825. 0xe0e5daeb54dd3739L },
  22826. { 0xfe24a4c3c9c9f155L,0x7e4bf176b5393962L,0x37183de2af20bf29L,
  22827. 0x4a1bd7b5f95a8c3bL } },
  22828. /* 10 << 252 */
  22829. { { 0xa83b969946191d3dL,0x281fc8dd7b87f257L,0xb18e2c1354107588L,
  22830. 0x6372def79b2bafe8L },
  22831. { 0xdaf4bb480d8972caL,0x3f2dd4b756167a3fL,0x1eace32d84310cf4L,
  22832. 0xe3bcefafe42700aaL } },
  22833. /* 11 << 252 */
  22834. { { 0x5fe5691ed785e73dL,0xa5db5ab62ea60467L,0x02e23d41dfc6514aL,
  22835. 0x35e8048ee03c3665L },
  22836. { 0x3f8b118f1adaa0f8L,0x28ec3b4584ce1a5aL,0xe8cacc6e2c6646b8L,
  22837. 0x1343d185dbd0e40fL } },
  22838. /* 12 << 252 */
  22839. { { 0xe5d7f844caaa358cL,0x1a1db7e49924182aL,0xd64cd42d9c875d9aL,
  22840. 0xb37b515f042eeec8L },
  22841. { 0x4d4dd4097b165fbeL,0xfc322ed9e206eff3L,0x7dee410259b7e17eL,
  22842. 0x55a481c08236ca00L } },
  22843. /* 13 << 252 */
  22844. { { 0x8c885312c23fc975L,0x1571580605d6297bL,0xa078868ef78edd39L,
  22845. 0x956b31e003c45e52L },
  22846. { 0x470275d5ff7b33a6L,0xc8d5dc3a0c7e673fL,0x419227b47e2f2598L,
  22847. 0x8b37b6344c14a975L } },
  22848. /* 14 << 252 */
  22849. { { 0xd0667ed68b11888cL,0x5e0e8c3e803e25dcL,0x34e5d0dcb987a24aL,
  22850. 0x9f40ac3bae920323L },
  22851. { 0x5463de9534e0f63aL,0xa128bf926b6328f9L,0x491ccd7cda64f1b7L,
  22852. 0x7ef1ec27c47bde35L } },
  22853. /* 15 << 252 */
  22854. { { 0xa857240fa36a2737L,0x35dc136663621bc1L,0x7a3a6453d4fb6897L,
  22855. 0x80f1a439c929319dL },
  22856. { 0xfc18274bf8cb0ba0L,0xb0b537668078c5ebL,0xfb0d49241e01d0efL,
  22857. 0x50d7c67d372ab09cL } },
  22858. /* 16 << 252 */
  22859. { { 0xb4e370af3aeac968L,0xe4f7fee9c4b63266L,0xb4acd4c2e3ac5664L,
  22860. 0xf8910bd2ceb38cbfL },
  22861. { 0x1c3ae50cc9c0726eL,0x15309569d97b40bfL,0x70884b7ffd5a5a1bL,
  22862. 0x3890896aef8314cdL } },
  22863. /* 17 << 252 */
  22864. { { 0x58e1515ca5618c93L,0xe665432b77d942d1L,0xb32181bfb6f767a8L,
  22865. 0x753794e83a604110L },
  22866. { 0x09afeb7ce8c0dbccL,0x31e02613598673a3L,0x5d98e5577d46db00L,
  22867. 0xfc21fb8c9d985b28L } },
  22868. /* 18 << 252 */
  22869. { { 0xc9040116b0843e0bL,0x53b1b3a869b04531L,0xdd1649f085d7d830L,
  22870. 0xbb3bcc87cb7427e8L },
  22871. { 0x77261100c93dce83L,0x7e79da61a1922a2aL,0x587a2b02f3149ce8L,
  22872. 0x147e1384de92ec83L } },
  22873. /* 19 << 252 */
  22874. { { 0x484c83d3af077f30L,0xea78f8440658b53aL,0x912076c2027aec53L,
  22875. 0xf34714e393c8177dL },
  22876. { 0x37ef5d15c2376c84L,0x8315b6593d1aa783L,0x3a75c484ef852a90L,
  22877. 0x0ba0c58a16086bd4L } },
  22878. /* 20 << 252 */
  22879. { { 0x29688d7a529a6d48L,0x9c7f250dc2f19203L,0x123042fb682e2df9L,
  22880. 0x2b7587e7ad8121bcL },
  22881. { 0x30fc0233e0182a65L,0xb82ecf87e3e1128aL,0x7168286193fb098fL,
  22882. 0x043e21ae85e9e6a7L } },
  22883. /* 21 << 252 */
  22884. { { 0xab5b49d666c834eaL,0x3be43e1847414287L,0xf40fb859219a2a47L,
  22885. 0x0e6559e9cc58df3cL },
  22886. { 0xfe1dfe8e0c6615b4L,0x14abc8fd56459d70L,0x7be0fa8e05de0386L,
  22887. 0x8e63ef68e9035c7cL } },
  22888. /* 22 << 252 */
  22889. { { 0x116401b453b31e91L,0x0cba7ad44436b4d8L,0x9151f9a0107afd66L,
  22890. 0xafaca8d01f0ee4c4L },
  22891. { 0x75fe5c1d9ee9761cL,0x3497a16bf0c0588fL,0x3ee2bebd0304804cL,
  22892. 0xa8fb9a60c2c990b9L } },
  22893. /* 23 << 252 */
  22894. { { 0xd14d32fe39251114L,0x36bf25bccac73366L,0xc9562c66dba7495cL,
  22895. 0x324d301b46ad348bL },
  22896. { 0x9f46620cd670407eL,0x0ea8d4f1e3733a01L,0xd396d532b0c324e0L,
  22897. 0x5b211a0e03c317cdL } },
  22898. /* 24 << 252 */
  22899. { { 0x090d7d205ffe7b37L,0x3b7f3efb1747d2daL,0xa2cb525fb54fc519L,
  22900. 0x6e220932f66a971eL },
  22901. { 0xddc160dfb486d440L,0x7fcfec463fe13465L,0x83da7e4e76e4c151L,
  22902. 0xd6fa48a1d8d302b5L } },
  22903. /* 25 << 252 */
  22904. { { 0xc6304f265872cd88L,0x806c1d3c278b90a1L,0x3553e725caf0bc1cL,
  22905. 0xff59e603bb9d8d5cL },
  22906. { 0xa4550f327a0b85ddL,0xdec5720a93ecc217L,0x0b88b74169d62213L,
  22907. 0x7212f2455b365955L } },
  22908. /* 26 << 252 */
  22909. { { 0x20764111b5cae787L,0x13cb7f581dfd3124L,0x2dca77da1175aefbL,
  22910. 0xeb75466bffaae775L },
  22911. { 0x74d76f3bdb6cff32L,0x7440f37a61fcda9aL,0x1bb3ac92b525028bL,
  22912. 0x20fbf8f7a1975f29L } },
  22913. /* 27 << 252 */
  22914. { { 0x982692e1df83097fL,0x28738f6c554b0800L,0xdc703717a2ce2f2fL,
  22915. 0x7913b93c40814194L },
  22916. { 0x049245931fe89636L,0x7b98443ff78834a6L,0x11c6ab015114a5a1L,
  22917. 0x60deb383ffba5f4cL } },
  22918. /* 28 << 252 */
  22919. { { 0x4caa54c601a982e6L,0x1dd35e113491cd26L,0x973c315f7cbd6b05L,
  22920. 0xcab0077552494724L },
  22921. { 0x04659b1f6565e15aL,0xbf30f5298c8fb026L,0xfc21641ba8a0de37L,
  22922. 0xe9c7a366fa5e5114L } },
  22923. /* 29 << 252 */
  22924. { { 0xdb849ca552f03ad8L,0xc7e8dbe9024e35c0L,0xa1a2bbaccfc3c789L,
  22925. 0xbf733e7d9c26f262L },
  22926. { 0x882ffbf5b8444823L,0xb7224e886bf8483bL,0x53023b8b65bef640L,
  22927. 0xaabfec91d4d5f8cdL } },
  22928. /* 30 << 252 */
  22929. { { 0xa40e1510079ea1bdL,0x1ad9addcd05d5d26L,0xdb3f2eab13e68d4fL,
  22930. 0x1cff1ae2640f803fL },
  22931. { 0xe0e7b749d4cee117L,0x8e9f275b4036d909L,0xce34e31d8f4d4c38L,
  22932. 0x22b37f69d75130fcL } },
  22933. /* 31 << 252 */
  22934. { { 0x83e0f1fdb4014604L,0xa8ce991989415078L,0x82375b7541792efeL,
  22935. 0x4f59bf5c97d4515bL },
  22936. { 0xac4f324f923a277dL,0xd9bc9b7d650f3406L,0xc6fa87d18a39bc51L,
  22937. 0x825885305ccc108fL } },
  22938. /* 32 << 252 */
  22939. { { 0x5ced3c9f82e4c634L,0x8efb83143a4464f8L,0xe706381b7a1dca25L,
  22940. 0x6cd15a3c5a2a412bL },
  22941. { 0x9347a8fdbfcd8fb5L,0x31db2eef6e54cd22L,0xc4aeb11ef8d8932fL,
  22942. 0x11e7c1ed344411afL } },
  22943. /* 33 << 252 */
  22944. { { 0x2653050cdc9a151eL,0x9edbfc083bb0a859L,0x926c81c7fd5691e7L,
  22945. 0x9c1b23426f39019aL },
  22946. { 0x64a81c8b7f8474b9L,0x90657c0701761819L,0x390b333155e0375aL,
  22947. 0xc676c626b6ebc47dL } },
  22948. /* 34 << 252 */
  22949. { { 0x51623247b7d6dee8L,0x0948d92779659313L,0x99700161e9ab35edL,
  22950. 0x06cc32b48ddde408L },
  22951. { 0x6f2fd664061ef338L,0x1606fa02c202e9edL,0x55388bc1929ba99bL,
  22952. 0xc4428c5e1e81df69L } },
  22953. /* 35 << 252 */
  22954. { { 0xce2028aef91b0b2aL,0xce870a23f03dfd3fL,0x66ec2c870affe8edL,
  22955. 0xb205fb46284d0c00L },
  22956. { 0xbf5dffe744cefa48L,0xb6fc37a8a19876d7L,0xbecfa84c08b72863L,
  22957. 0xd7205ff52576374fL } },
  22958. /* 36 << 252 */
  22959. { { 0x80330d328887de41L,0x5de0df0c869ea534L,0x13f427533c56ea17L,
  22960. 0xeb1f6069452b1a78L },
  22961. { 0x50474396e30ea15cL,0x575816a1c1494125L,0xbe1ce55bfe6bb38fL,
  22962. 0xb901a94896ae30f7L } },
  22963. /* 37 << 252 */
  22964. { { 0xe5af0f08d8fc3548L,0x5010b5d0d73bfd08L,0x993d288053fe655aL,
  22965. 0x99f2630b1c1309fdL },
  22966. { 0xd8677bafb4e3b76fL,0x14e51ddcb840784bL,0x326c750cbf0092ceL,
  22967. 0xc83d306bf528320fL } },
  22968. /* 38 << 252 */
  22969. { { 0xc445671577d4715cL,0xd30019f96b703235L,0x207ccb2ed669e986L,
  22970. 0x57c824aff6dbfc28L },
  22971. { 0xf0eb532fd8f92a23L,0x4a557fd49bb98fd2L,0xa57acea7c1e6199aL,
  22972. 0x0c6638208b94b1edL } },
  22973. /* 39 << 252 */
  22974. { { 0x9b42be8ff83a9266L,0xc7741c970101bd45L,0x95770c1107bd9cebL,
  22975. 0x1f50250a8b2e0744L },
  22976. { 0xf762eec81477b654L,0xc65b900e15efe59aL,0x88c961489546a897L,
  22977. 0x7e8025b3c30b4d7cL } },
  22978. /* 40 << 252 */
  22979. { { 0xae4065ef12045cf9L,0x6fcb2caf9ccce8bdL,0x1fa0ba4ef2cf6525L,
  22980. 0xf683125dcb72c312L },
  22981. { 0xa01da4eae312410eL,0x67e286776cd8e830L,0xabd9575298fb3f07L,
  22982. 0x05f11e11eef649a5L } },
  22983. /* 41 << 252 */
  22984. { { 0xba47faef9d3472c2L,0x3adff697c77d1345L,0x4761fa04dd15afeeL,
  22985. 0x64f1f61ab9e69462L },
  22986. { 0xfa691fab9bfb9093L,0x3df8ae8fa1133dfeL,0xcd5f896758cc710dL,
  22987. 0xfbb88d5016c7fe79L } },
  22988. /* 42 << 252 */
  22989. { { 0x8e011b4ce88c50d1L,0x7532e807a8771c4fL,0x64c78a48e2278ee4L,
  22990. 0x0b283e833845072aL },
  22991. { 0x98a6f29149e69274L,0xb96e96681868b21cL,0x38f0adc2b1a8908eL,
  22992. 0x90afcff71feb829dL } },
  22993. /* 43 << 252 */
  22994. { { 0x9915a383210b0856L,0xa5a80602def04889L,0x800e9af97c64d509L,
  22995. 0x81382d0bb8996f6fL },
  22996. { 0x490eba5381927e27L,0x46c63b324af50182L,0x784c5fd9d3ad62ceL,
  22997. 0xe4fa1870f8ae8736L } },
  22998. /* 44 << 252 */
  22999. { { 0x4ec9d0bcd7466b25L,0x84ddbe1adb235c65L,0x5e2645ee163c1688L,
  23000. 0x570bd00e00eba747L },
  23001. { 0xfa51b629128bfa0fL,0x92fce1bd6c1d3b68L,0x3e7361dcb66778b1L,
  23002. 0x9c7d249d5561d2bbL } },
  23003. /* 45 << 252 */
  23004. { { 0xa40b28bf0bbc6229L,0x1c83c05edfd91497L,0x5f9f5154f083df05L,
  23005. 0xbac38b3ceee66c9dL },
  23006. { 0xf71db7e3ec0dfcfdL,0xf2ecda8e8b0a8416L,0x52fddd867812aa66L,
  23007. 0x2896ef104e6f4272L } },
  23008. /* 46 << 252 */
  23009. { { 0xff27186a0fe9a745L,0x08249fcd49ca70dbL,0x7425a2e6441cac49L,
  23010. 0xf4a0885aece5ff57L },
  23011. { 0x6e2cb7317d7ead58L,0xf96cf7d61898d104L,0xafe67c9d4f2c9a89L,
  23012. 0x89895a501c7bf5bcL } },
  23013. /* 47 << 252 */
  23014. { { 0xdc7cb8e5573cecfaL,0x66497eaed15f03e6L,0x6bc0de693f084420L,
  23015. 0x323b9b36acd532b0L },
  23016. { 0xcfed390a0115a3c1L,0x9414c40b2d65ca0eL,0x641406bd2f530c78L,
  23017. 0x29369a44833438f2L } },
  23018. /* 48 << 252 */
  23019. { { 0x996884f5903fa271L,0xe6da0fd2b9da921eL,0xa6f2f2695db01e54L,
  23020. 0x1ee3e9bd6876214eL },
  23021. { 0xa26e181ce27a9497L,0x36d254e48e215e04L,0x42f32a6c252cabcaL,
  23022. 0x9948148780b57614L } },
  23023. /* 49 << 252 */
  23024. { { 0x4c4dfe6940d9cae1L,0x0586958011a10f09L,0xca287b573491b64bL,
  23025. 0x77862d5d3fd4a53bL },
  23026. { 0xbf94856e50349126L,0x2be30bd171c5268fL,0x10393f19cbb650a6L,
  23027. 0x639531fe778cf9fdL } },
  23028. /* 50 << 252 */
  23029. { { 0x02556a11b2935359L,0xda38aa96af8c126eL,0x47dbe6c20960167fL,
  23030. 0x37bbabb6501901cdL },
  23031. { 0xb6e979e02c947778L,0xd69a51757a1a1dc6L,0xc3ed50959d9faf0cL,
  23032. 0x4dd9c0961d5fa5f0L } },
  23033. /* 51 << 252 */
  23034. { { 0xa0c4304d64f16ea8L,0x8b1cac167e718623L,0x0b5765467c67f03eL,
  23035. 0x559cf5adcbd88c01L },
  23036. { 0x074877bb0e2af19aL,0x1f717ec1a1228c92L,0x70bcb800326e8920L,
  23037. 0xec6e2c5c4f312804L } },
  23038. /* 52 << 252 */
  23039. { { 0x426aea7d3fca4752L,0xf12c09492211f62aL,0x24beecd87be7b6b5L,
  23040. 0xb77eaf4c36d7a27dL },
  23041. { 0x154c2781fda78fd3L,0x848a83b0264eeabeL,0x81287ef04ffe2bc4L,
  23042. 0x7b6d88c6b6b6fc2aL } },
  23043. /* 53 << 252 */
  23044. { { 0x805fb947ce417d99L,0x4b93dcc38b916cc4L,0x72e65bb321273323L,
  23045. 0xbcc1badd6ea9886eL },
  23046. { 0x0e2230114bc5ee85L,0xa561be74c18ee1e4L,0x762fd2d4a6bcf1f1L,
  23047. 0x50e6a5a495231489L } },
  23048. /* 54 << 252 */
  23049. { { 0xca96001fa00b500bL,0x5c098cfc5d7dcdf5L,0xa64e2d2e8c446a85L,
  23050. 0xbae9bcf1971f3c62L },
  23051. { 0x4ec226838435a2c5L,0x8ceaed6c4bad4643L,0xe9f8fb47ccccf4e3L,
  23052. 0xbd4f3fa41ce3b21eL } },
  23053. /* 55 << 252 */
  23054. { { 0xd79fb110a3db3292L,0xe28a37dab536c66aL,0x279ce87b8e49e6a9L,
  23055. 0x70ccfe8dfdcec8e3L },
  23056. { 0x2193e4e03ba464b2L,0x0f39d60eaca9a398L,0x7d7932aff82c12abL,
  23057. 0xd8ff50ed91e7e0f7L } },
  23058. /* 56 << 252 */
  23059. { { 0xea961058fa28a7e0L,0xc726cf250bf5ec74L,0xe74d55c8db229666L,
  23060. 0x0bd9abbfa57f5799L },
  23061. { 0x7479ef074dfc47b3L,0xd9c65fc30c52f91dL,0x8e0283fe36a8bde2L,
  23062. 0xa32a8b5e7d4b7280L } },
  23063. /* 57 << 252 */
  23064. { { 0x6a677c6112e83233L,0x0fbb3512dcc9bf28L,0x562e8ea50d780f61L,
  23065. 0x0db8b22b1dc4e89cL },
  23066. { 0x0a6fd1fb89be0144L,0x8c77d246ca57113bL,0x4639075dff09c91cL,
  23067. 0x5b47b17f5060824cL } },
  23068. /* 58 << 252 */
  23069. { { 0x58aea2b016287b52L,0xa1343520d0cd8eb0L,0x6148b4d0c5d58573L,
  23070. 0xdd2b6170291c68aeL },
  23071. { 0xa61b39291da3b3b7L,0x5f946d7908c4ac10L,0x4105d4a57217d583L,
  23072. 0x5061da3d25e6de5eL } },
  23073. /* 59 << 252 */
  23074. { { 0x3113940dec1b4991L,0xf12195e136f485aeL,0xa7507fb2731a2ee0L,
  23075. 0x95057a8e6e9e196eL },
  23076. { 0xa3c2c9112e130136L,0x97dfbb3633c60d15L,0xcaf3c581b300ee2bL,
  23077. 0x77f25d90f4bac8b8L } },
  23078. /* 60 << 252 */
  23079. { { 0xdb1c4f986d840cd6L,0x471d62c0e634288cL,0x8ec2f85ecec8a161L,
  23080. 0x41f37cbcfa6f4ae2L },
  23081. { 0x6793a20f4b709985L,0x7a7bd33befa8985bL,0x2c6a3fbd938e6446L,
  23082. 0x190426192a8d47c1L } },
  23083. /* 61 << 252 */
  23084. { { 0x16848667cc36975fL,0x02acf1689d5f1dfbL,0x62d41ad4613baa94L,
  23085. 0xb56fbb929f684670L },
  23086. { 0xce610d0de9e40569L,0x7b99c65f35489fefL,0x0c88ad1b3df18b97L,
  23087. 0x81b7d9be5d0e9edbL } },
  23088. /* 62 << 252 */
  23089. { { 0xd85218c0c716cc0aL,0xf4b5ff9085691c49L,0xa4fd666bce356ac6L,
  23090. 0x17c728954b327a7aL },
  23091. { 0xf93d5085da6be7deL,0xff71530e3301d34eL,0x4cd96442d8f448e8L,
  23092. 0x9283d3312ed18ffaL } },
  23093. /* 63 << 252 */
  23094. { { 0x4d33dd992a849870L,0xa716964b41576335L,0xff5e3a9b179be0e5L,
  23095. 0x5b9d6b1b83b13632L },
  23096. { 0x3b8bd7d4a52f313bL,0xc9dd95a0637a4660L,0x300359620b3e218fL,
  23097. 0xce1481a3c7b28a3cL } },
  23098. /* 64 << 252 */
  23099. { { 0xab41b43a43228d83L,0x24ae1c304ad63f99L,0x8e525f1a46a51229L,
  23100. 0x14af860fcd26d2b4L },
  23101. { 0xd6baef613f714aa1L,0xf51865adeb78795eL,0xd3e21fcee6a9d694L,
  23102. 0x82ceb1dd8a37b527L } },
  23103. };
  23104. /* Multiply the point by the scalar and return the result.
  23105. * If map is true then convert result to affine coordinates.
  23106. *
  23107. * Pre-computed table containing multiples of g times powers of 2.
  23108. * Width between powers is 7 bits.
  23109. * Accumulate into the result.
  23110. *
  23111. * r Resulting point.
  23112. * g Point to scalar multiply.
  23113. * k Scalar to multiply by.
  23114. * table Pre-computed table of points.
  23115. * map Indicates whether to convert result to affine.
  23116. * ct Constant time required.
  23117. * heap Heap to use for allocation.
  23118. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  23119. */
  23120. static int sp_256_ecc_mulmod_add_only_4(sp_point_256* r, const sp_point_256* g,
  23121. const sp_table_entry_256* table, const sp_digit* k, int map,
  23122. int ct, void* heap)
  23123. {
  23124. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23125. sp_point_256* rt = NULL;
  23126. sp_digit* tmp = NULL;
  23127. #else
  23128. sp_point_256 rt[2];
  23129. sp_digit tmp[2 * 4 * 6];
  23130. #endif
  23131. sp_point_256* p = NULL;
  23132. sp_digit* negy = NULL;
  23133. int i;
  23134. ecc_recode_256 v[37];
  23135. int err = MP_OKAY;
  23136. (void)g;
  23137. (void)ct;
  23138. (void)heap;
  23139. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23140. rt = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  23141. DYNAMIC_TYPE_ECC);
  23142. if (rt == NULL)
  23143. err = MEMORY_E;
  23144. if (err == MP_OKAY) {
  23145. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, heap,
  23146. DYNAMIC_TYPE_ECC);
  23147. if (tmp == NULL)
  23148. err = MEMORY_E;
  23149. }
  23150. #endif
  23151. if (err == MP_OKAY) {
  23152. negy = tmp;
  23153. p = rt + 1;
  23154. }
  23155. if (err == MP_OKAY) {
  23156. sp_256_ecc_recode_7_4(k, v);
  23157. XMEMCPY(p->z, p256_norm_mod, sizeof(p256_norm_mod));
  23158. XMEMCPY(rt->z, p256_norm_mod, sizeof(p256_norm_mod));
  23159. i = 36;
  23160. #ifndef WC_NO_CACHE_RESISTANT
  23161. if (ct) {
  23162. sp_256_get_entry_65_4(rt, &table[i * 65], v[i].i);
  23163. }
  23164. else
  23165. #endif
  23166. {
  23167. XMEMCPY(rt->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  23168. XMEMCPY(rt->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  23169. }
  23170. rt->infinity = !v[i].i;
  23171. for (--i; i>=0; i--) {
  23172. #ifndef WC_NO_CACHE_RESISTANT
  23173. if (ct) {
  23174. sp_256_get_entry_65_4(p, &table[i * 65], v[i].i);
  23175. }
  23176. else
  23177. #endif
  23178. {
  23179. XMEMCPY(p->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  23180. XMEMCPY(p->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  23181. }
  23182. p->infinity = !v[i].i;
  23183. sp_256_sub_4(negy, p256_mod, p->y);
  23184. sp_256_norm_4(negy);
  23185. sp_256_cond_copy_4(p->y, negy, 0 - v[i].neg);
  23186. sp_256_proj_point_add_qz1_4(rt, rt, p, tmp);
  23187. }
  23188. if (map != 0) {
  23189. sp_256_map_4(r, rt, tmp);
  23190. }
  23191. else {
  23192. XMEMCPY(r, rt, sizeof(sp_point_256));
  23193. }
  23194. }
  23195. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23196. if (tmp != NULL)
  23197. #endif
  23198. {
  23199. ForceZero(tmp, sizeof(sp_digit) * 2 * 4 * 6);
  23200. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23201. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  23202. #endif
  23203. }
  23204. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23205. if (rt != NULL)
  23206. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  23207. #endif
  23208. return err;
  23209. }
  23210. /* Multiply the base point of P256 by the scalar and return the result.
  23211. * If map is true then convert result to affine coordinates.
  23212. *
  23213. * r Resulting point.
  23214. * k Scalar to multiply by.
  23215. * map Indicates whether to convert result to affine.
  23216. * ct Constant time required.
  23217. * heap Heap to use for allocation.
  23218. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  23219. */
  23220. static int sp_256_ecc_mulmod_base_4(sp_point_256* r, const sp_digit* k,
  23221. int map, int ct, void* heap)
  23222. {
  23223. return sp_256_ecc_mulmod_add_only_4(r, NULL, p256_table,
  23224. k, map, ct, heap);
  23225. }
  23226. #ifdef HAVE_INTEL_AVX2
  23227. /* Multiply the point by the scalar and return the result.
  23228. * If map is true then convert result to affine coordinates.
  23229. *
  23230. * Pre-computed table containing multiples of g times powers of 2.
  23231. * Width between powers is 7 bits.
  23232. * Accumulate into the result.
  23233. *
  23234. * r Resulting point.
  23235. * g Point to scalar multiply.
  23236. * k Scalar to multiply by.
  23237. * table Pre-computed table of points.
  23238. * map Indicates whether to convert result to affine.
  23239. * ct Constant time required.
  23240. * heap Heap to use for allocation.
  23241. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  23242. */
  23243. static int sp_256_ecc_mulmod_add_only_avx2_4(sp_point_256* r, const sp_point_256* g,
  23244. const sp_table_entry_256* table, const sp_digit* k, int map,
  23245. int ct, void* heap)
  23246. {
  23247. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23248. sp_point_256* rt = NULL;
  23249. sp_digit* tmp = NULL;
  23250. #else
  23251. sp_point_256 rt[2];
  23252. sp_digit tmp[2 * 4 * 6];
  23253. #endif
  23254. sp_point_256* p = NULL;
  23255. sp_digit* negy = NULL;
  23256. int i;
  23257. ecc_recode_256 v[37];
  23258. int err = MP_OKAY;
  23259. (void)g;
  23260. (void)ct;
  23261. (void)heap;
  23262. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23263. rt = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  23264. DYNAMIC_TYPE_ECC);
  23265. if (rt == NULL)
  23266. err = MEMORY_E;
  23267. if (err == MP_OKAY) {
  23268. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, heap,
  23269. DYNAMIC_TYPE_ECC);
  23270. if (tmp == NULL)
  23271. err = MEMORY_E;
  23272. }
  23273. #endif
  23274. if (err == MP_OKAY) {
  23275. negy = tmp;
  23276. p = rt + 1;
  23277. }
  23278. if (err == MP_OKAY) {
  23279. sp_256_ecc_recode_7_4(k, v);
  23280. XMEMCPY(p->z, p256_norm_mod, sizeof(p256_norm_mod));
  23281. XMEMCPY(rt->z, p256_norm_mod, sizeof(p256_norm_mod));
  23282. i = 36;
  23283. #ifndef WC_NO_CACHE_RESISTANT
  23284. if (ct) {
  23285. sp_256_get_entry_65_avx2_4(rt, &table[i * 65], v[i].i);
  23286. }
  23287. else
  23288. #endif
  23289. {
  23290. XMEMCPY(rt->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  23291. XMEMCPY(rt->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  23292. }
  23293. rt->infinity = !v[i].i;
  23294. for (--i; i>=0; i--) {
  23295. #ifndef WC_NO_CACHE_RESISTANT
  23296. if (ct) {
  23297. sp_256_get_entry_65_avx2_4(p, &table[i * 65], v[i].i);
  23298. }
  23299. else
  23300. #endif
  23301. {
  23302. XMEMCPY(p->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  23303. XMEMCPY(p->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  23304. }
  23305. p->infinity = !v[i].i;
  23306. sp_256_sub_4(negy, p256_mod, p->y);
  23307. sp_256_norm_4(negy);
  23308. sp_256_cond_copy_4(p->y, negy, 0 - v[i].neg);
  23309. sp_256_proj_point_add_qz1_avx2_4(rt, rt, p, tmp);
  23310. }
  23311. if (map != 0) {
  23312. sp_256_map_avx2_4(r, rt, tmp);
  23313. }
  23314. else {
  23315. XMEMCPY(r, rt, sizeof(sp_point_256));
  23316. }
  23317. }
  23318. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23319. if (tmp != NULL)
  23320. #endif
  23321. {
  23322. ForceZero(tmp, sizeof(sp_digit) * 2 * 4 * 6);
  23323. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23324. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  23325. #endif
  23326. }
  23327. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23328. if (rt != NULL)
  23329. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  23330. #endif
  23331. return err;
  23332. }
  23333. /* Multiply the base point of P256 by the scalar and return the result.
  23334. * If map is true then convert result to affine coordinates.
  23335. *
  23336. * r Resulting point.
  23337. * k Scalar to multiply by.
  23338. * map Indicates whether to convert result to affine.
  23339. * ct Constant time required.
  23340. * heap Heap to use for allocation.
  23341. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  23342. */
  23343. static int sp_256_ecc_mulmod_base_avx2_4(sp_point_256* r, const sp_digit* k,
  23344. int map, int ct, void* heap)
  23345. {
  23346. return sp_256_ecc_mulmod_add_only_avx2_4(r, NULL, p256_table,
  23347. k, map, ct, heap);
  23348. }
  23349. #endif /* HAVE_INTEL_AVX2 */
  23350. #endif /* WOLFSSL_SP_SMALL */
  23351. /* Multiply the base point of P256 by the scalar and return the result.
  23352. * If map is true then convert result to affine coordinates.
  23353. *
  23354. * km Scalar to multiply by.
  23355. * r Resulting point.
  23356. * map Indicates whether to convert result to affine.
  23357. * heap Heap to use for allocation.
  23358. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  23359. */
  23360. int sp_ecc_mulmod_base_256(const mp_int* km, ecc_point* r, int map, void* heap)
  23361. {
  23362. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23363. sp_point_256* point = NULL;
  23364. sp_digit* k = NULL;
  23365. #else
  23366. sp_point_256 point[1];
  23367. sp_digit k[4];
  23368. #endif
  23369. int err = MP_OKAY;
  23370. #ifdef HAVE_INTEL_AVX2
  23371. word32 cpuid_flags = cpuid_get_flags();
  23372. #endif
  23373. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23374. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap,
  23375. DYNAMIC_TYPE_ECC);
  23376. if (point == NULL)
  23377. err = MEMORY_E;
  23378. if (err == MP_OKAY) {
  23379. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap,
  23380. DYNAMIC_TYPE_ECC);
  23381. if (k == NULL)
  23382. err = MEMORY_E;
  23383. }
  23384. #endif
  23385. if (err == MP_OKAY) {
  23386. sp_256_from_mp(k, 4, km);
  23387. #ifdef HAVE_INTEL_AVX2
  23388. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  23389. err = sp_256_ecc_mulmod_base_avx2_4(point, k, map, 1, heap);
  23390. else
  23391. #endif
  23392. err = sp_256_ecc_mulmod_base_4(point, k, map, 1, heap);
  23393. }
  23394. if (err == MP_OKAY) {
  23395. err = sp_256_point_to_ecc_point_4(point, r);
  23396. }
  23397. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23398. if (k != NULL)
  23399. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  23400. if (point != NULL)
  23401. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  23402. #endif
  23403. return err;
  23404. }
  23405. /* Multiply the base point of P256 by the scalar, add point a and return
  23406. * the result. If map is true then convert result to affine coordinates.
  23407. *
  23408. * km Scalar to multiply by.
  23409. * am Point to add to scalar mulitply result.
  23410. * inMont Point to add is in montgomery form.
  23411. * r Resulting point.
  23412. * map Indicates whether to convert result to affine.
  23413. * heap Heap to use for allocation.
  23414. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  23415. */
  23416. int sp_ecc_mulmod_base_add_256(const mp_int* km, const ecc_point* am,
  23417. int inMont, ecc_point* r, int map, void* heap)
  23418. {
  23419. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23420. sp_point_256* point = NULL;
  23421. sp_digit* k = NULL;
  23422. #else
  23423. sp_point_256 point[2];
  23424. sp_digit k[4 + 4 * 2 * 6];
  23425. #endif
  23426. sp_point_256* addP = NULL;
  23427. sp_digit* tmp = NULL;
  23428. int err = MP_OKAY;
  23429. #ifdef HAVE_INTEL_AVX2
  23430. word32 cpuid_flags = cpuid_get_flags();
  23431. #endif
  23432. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23433. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  23434. DYNAMIC_TYPE_ECC);
  23435. if (point == NULL)
  23436. err = MEMORY_E;
  23437. if (err == MP_OKAY) {
  23438. k = (sp_digit*)XMALLOC(
  23439. sizeof(sp_digit) * (4 + 4 * 2 * 6),
  23440. heap, DYNAMIC_TYPE_ECC);
  23441. if (k == NULL)
  23442. err = MEMORY_E;
  23443. }
  23444. #endif
  23445. if (err == MP_OKAY) {
  23446. addP = point + 1;
  23447. tmp = k + 4;
  23448. sp_256_from_mp(k, 4, km);
  23449. sp_256_point_from_ecc_point_4(addP, am);
  23450. }
  23451. if ((err == MP_OKAY) && (!inMont)) {
  23452. err = sp_256_mod_mul_norm_4(addP->x, addP->x, p256_mod);
  23453. }
  23454. if ((err == MP_OKAY) && (!inMont)) {
  23455. err = sp_256_mod_mul_norm_4(addP->y, addP->y, p256_mod);
  23456. }
  23457. if ((err == MP_OKAY) && (!inMont)) {
  23458. err = sp_256_mod_mul_norm_4(addP->z, addP->z, p256_mod);
  23459. }
  23460. if (err == MP_OKAY) {
  23461. #ifdef HAVE_INTEL_AVX2
  23462. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  23463. err = sp_256_ecc_mulmod_base_avx2_4(point, k, 0, 0, heap);
  23464. else
  23465. #endif
  23466. err = sp_256_ecc_mulmod_base_4(point, k, 0, 0, heap);
  23467. }
  23468. if (err == MP_OKAY) {
  23469. #ifdef HAVE_INTEL_AVX2
  23470. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  23471. sp_256_proj_point_add_avx2_4(point, point, addP, tmp);
  23472. else
  23473. #endif
  23474. sp_256_proj_point_add_4(point, point, addP, tmp);
  23475. if (map) {
  23476. #ifdef HAVE_INTEL_AVX2
  23477. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  23478. sp_256_map_avx2_4(point, point, tmp);
  23479. else
  23480. #endif
  23481. sp_256_map_4(point, point, tmp);
  23482. }
  23483. err = sp_256_point_to_ecc_point_4(point, r);
  23484. }
  23485. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23486. if (k != NULL)
  23487. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  23488. if (point)
  23489. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  23490. #endif
  23491. return err;
  23492. }
  23493. #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \
  23494. defined(HAVE_ECC_VERIFY)
  23495. #endif /* WOLFSSL_VALIDATE_ECC_KEYGEN | HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
  23496. #ifdef __cplusplus
  23497. extern "C" {
  23498. #endif
  23499. extern void sp_256_add_one_4(sp_digit* a);
  23500. #ifdef __cplusplus
  23501. }
  23502. #endif
  23503. #ifdef __cplusplus
  23504. extern "C" {
  23505. #endif
  23506. extern void sp_256_from_bin_bswap(sp_digit* r, int size, const byte* a, int n);
  23507. #ifdef __cplusplus
  23508. }
  23509. #endif
  23510. #ifdef __cplusplus
  23511. extern "C" {
  23512. #endif
  23513. extern void sp_256_from_bin_movbe(sp_digit* r, int size, const byte* a, int n);
  23514. #ifdef __cplusplus
  23515. }
  23516. #endif
  23517. /* Read big endian unsigned byte array into r.
  23518. *
  23519. * r A single precision integer.
  23520. * size Maximum number of bytes to convert
  23521. * a Byte array.
  23522. * n Number of bytes in array to read.
  23523. */
  23524. static void sp_256_from_bin(sp_digit* r, int size, const byte* a, int n)
  23525. {
  23526. #ifndef NO_MOVBE_SUPPORT
  23527. word32 cpuid_flags = cpuid_get_flags();
  23528. if (IS_INTEL_MOVBE(cpuid_flags)) {
  23529. sp_256_from_bin_movbe(r, size, a, n);
  23530. }
  23531. else
  23532. #endif
  23533. {
  23534. sp_256_from_bin_bswap(r, size, a, n);
  23535. }
  23536. }
  23537. /* Generates a scalar that is in the range 1..order-1.
  23538. *
  23539. * rng Random number generator.
  23540. * k Scalar value.
  23541. * returns RNG failures, MEMORY_E when memory allocation fails and
  23542. * MP_OKAY on success.
  23543. */
  23544. static int sp_256_ecc_gen_k_4(WC_RNG* rng, sp_digit* k)
  23545. {
  23546. int err;
  23547. byte buf[32];
  23548. do {
  23549. err = wc_RNG_GenerateBlock(rng, buf, sizeof(buf));
  23550. if (err == 0) {
  23551. sp_256_from_bin(k, 4, buf, (int)sizeof(buf));
  23552. if (sp_256_cmp_4(k, p256_order2) <= 0) {
  23553. sp_256_add_one_4(k);
  23554. break;
  23555. }
  23556. }
  23557. }
  23558. while (err == 0);
  23559. return err;
  23560. }
  23561. /* Makes a random EC key pair.
  23562. *
  23563. * rng Random number generator.
  23564. * priv Generated private value.
  23565. * pub Generated public point.
  23566. * heap Heap to use for allocation.
  23567. * returns ECC_INF_E when the point does not have the correct order, RNG
  23568. * failures, MEMORY_E when memory allocation fails and MP_OKAY on success.
  23569. */
  23570. int sp_ecc_make_key_256(WC_RNG* rng, mp_int* priv, ecc_point* pub, void* heap)
  23571. {
  23572. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23573. sp_point_256* point = NULL;
  23574. sp_digit* k = NULL;
  23575. #else
  23576. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  23577. sp_point_256 point[2];
  23578. #else
  23579. sp_point_256 point[1];
  23580. #endif
  23581. sp_digit k[4];
  23582. #endif
  23583. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  23584. sp_point_256* infinity = NULL;
  23585. #endif
  23586. int err = MP_OKAY;
  23587. #ifdef HAVE_INTEL_AVX2
  23588. word32 cpuid_flags = cpuid_get_flags();
  23589. #endif
  23590. (void)heap;
  23591. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23592. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  23593. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap, DYNAMIC_TYPE_ECC);
  23594. #else
  23595. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap, DYNAMIC_TYPE_ECC);
  23596. #endif
  23597. if (point == NULL)
  23598. err = MEMORY_E;
  23599. if (err == MP_OKAY) {
  23600. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap,
  23601. DYNAMIC_TYPE_ECC);
  23602. if (k == NULL)
  23603. err = MEMORY_E;
  23604. }
  23605. #endif
  23606. if (err == MP_OKAY) {
  23607. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  23608. infinity = point + 1;
  23609. #endif
  23610. err = sp_256_ecc_gen_k_4(rng, k);
  23611. }
  23612. if (err == MP_OKAY) {
  23613. #ifdef HAVE_INTEL_AVX2
  23614. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  23615. err = sp_256_ecc_mulmod_base_avx2_4(point, k, 1, 1, NULL);
  23616. else
  23617. #endif
  23618. err = sp_256_ecc_mulmod_base_4(point, k, 1, 1, NULL);
  23619. }
  23620. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  23621. if (err == MP_OKAY) {
  23622. #ifdef HAVE_INTEL_AVX2
  23623. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  23624. err = sp_256_ecc_mulmod_avx2_4(infinity, point, p256_order, 1, 1,
  23625. NULL);
  23626. }
  23627. else
  23628. #endif
  23629. err = sp_256_ecc_mulmod_4(infinity, point, p256_order, 1, 1, NULL);
  23630. }
  23631. if (err == MP_OKAY) {
  23632. if (sp_256_iszero_4(point->x) || sp_256_iszero_4(point->y)) {
  23633. err = ECC_INF_E;
  23634. }
  23635. }
  23636. #endif
  23637. if (err == MP_OKAY) {
  23638. err = sp_256_to_mp(k, priv);
  23639. }
  23640. if (err == MP_OKAY) {
  23641. err = sp_256_point_to_ecc_point_4(point, pub);
  23642. }
  23643. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23644. if (k != NULL)
  23645. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  23646. if (point != NULL) {
  23647. /* point is not sensitive, so no need to zeroize */
  23648. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  23649. }
  23650. #endif
  23651. return err;
  23652. }
  23653. #ifdef HAVE_ECC_DHE
  23654. #ifdef __cplusplus
  23655. extern "C" {
  23656. #endif
  23657. extern void sp_256_to_bin_bswap_4(sp_digit* r, byte* a);
  23658. #ifdef __cplusplus
  23659. }
  23660. #endif
  23661. #ifdef __cplusplus
  23662. extern "C" {
  23663. #endif
  23664. extern void sp_256_to_bin_movbe_4(sp_digit* r, byte* a);
  23665. #ifdef __cplusplus
  23666. }
  23667. #endif
  23668. /* Write r as big endian to byte array.
  23669. * Fixed length number of bytes written: 32
  23670. *
  23671. * r A single precision integer.
  23672. * a Byte array.
  23673. */
  23674. static void sp_256_to_bin_4(sp_digit* r, byte* a)
  23675. {
  23676. #ifndef NO_MOVBE_SUPPORT
  23677. word32 cpuid_flags = cpuid_get_flags();
  23678. if (IS_INTEL_MOVBE(cpuid_flags)) {
  23679. sp_256_to_bin_movbe_4(r, a);
  23680. }
  23681. else
  23682. #endif
  23683. {
  23684. sp_256_to_bin_bswap_4(r, a);
  23685. }
  23686. }
  23687. /* Multiply the point by the scalar and serialize the X ordinate.
  23688. * The number is 0 padded to maximum size on output.
  23689. *
  23690. * priv Scalar to multiply the point by.
  23691. * pub Point to multiply.
  23692. * out Buffer to hold X ordinate.
  23693. * outLen On entry, size of the buffer in bytes.
  23694. * On exit, length of data in buffer in bytes.
  23695. * heap Heap to use for allocation.
  23696. * returns BUFFER_E if the buffer is to small for output size,
  23697. * MEMORY_E when memory allocation fails and MP_OKAY on success.
  23698. */
  23699. int sp_ecc_secret_gen_256(const mp_int* priv, const ecc_point* pub, byte* out,
  23700. word32* outLen, void* heap)
  23701. {
  23702. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23703. sp_point_256* point = NULL;
  23704. sp_digit* k = NULL;
  23705. #else
  23706. sp_point_256 point[1];
  23707. sp_digit k[4];
  23708. #endif
  23709. int err = MP_OKAY;
  23710. #ifdef HAVE_INTEL_AVX2
  23711. word32 cpuid_flags = cpuid_get_flags();
  23712. #endif
  23713. if (*outLen < 32U) {
  23714. err = BUFFER_E;
  23715. }
  23716. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23717. if (err == MP_OKAY) {
  23718. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap,
  23719. DYNAMIC_TYPE_ECC);
  23720. if (point == NULL)
  23721. err = MEMORY_E;
  23722. }
  23723. if (err == MP_OKAY) {
  23724. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap,
  23725. DYNAMIC_TYPE_ECC);
  23726. if (k == NULL)
  23727. err = MEMORY_E;
  23728. }
  23729. #endif
  23730. if (err == MP_OKAY) {
  23731. sp_256_from_mp(k, 4, priv);
  23732. sp_256_point_from_ecc_point_4(point, pub);
  23733. #ifdef HAVE_INTEL_AVX2
  23734. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  23735. err = sp_256_ecc_mulmod_avx2_4(point, point, k, 1, 1, heap);
  23736. else
  23737. #endif
  23738. err = sp_256_ecc_mulmod_4(point, point, k, 1, 1, heap);
  23739. }
  23740. if (err == MP_OKAY) {
  23741. sp_256_to_bin_4(point->x, out);
  23742. *outLen = 32;
  23743. }
  23744. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23745. if (k != NULL)
  23746. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  23747. if (point != NULL)
  23748. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  23749. #endif
  23750. return err;
  23751. }
  23752. #endif /* HAVE_ECC_DHE */
  23753. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  23754. #endif
  23755. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  23756. #ifdef __cplusplus
  23757. extern "C" {
  23758. #endif
  23759. extern sp_digit sp_256_sub_in_place_4(sp_digit* a, const sp_digit* b);
  23760. #ifdef __cplusplus
  23761. }
  23762. #endif
  23763. #ifdef __cplusplus
  23764. extern "C" {
  23765. #endif
  23766. extern void sp_256_mul_d_4(sp_digit* r, const sp_digit* a, sp_digit b);
  23767. #ifdef __cplusplus
  23768. }
  23769. #endif
  23770. #ifdef __cplusplus
  23771. extern "C" {
  23772. #endif
  23773. extern void sp_256_mul_d_avx2_4(sp_digit* r, const sp_digit* a, const sp_digit b);
  23774. #ifdef __cplusplus
  23775. }
  23776. #endif
  23777. #if defined(_WIN64) && !defined(__clang__)
  23778. #if _MSC_VER < 1920
  23779. #ifdef __cplusplus
  23780. extern "C" {
  23781. #endif
  23782. extern sp_digit div_256_word_asm_4(sp_digit d1, sp_digit d0, sp_digit div);
  23783. #ifdef __cplusplus
  23784. }
  23785. #endif
  23786. #endif /* _MSC_VER < 1920 */
  23787. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  23788. *
  23789. * d1 The high order half of the number to divide.
  23790. * d0 The low order half of the number to divide.
  23791. * div The dividend.
  23792. * returns the result of the division.
  23793. */
  23794. static WC_INLINE sp_digit div_256_word_4(sp_digit d1, sp_digit d0,
  23795. sp_digit div)
  23796. {
  23797. ASSERT_SAVED_VECTOR_REGISTERS();
  23798. #if _MSC_VER >= 1920
  23799. return _udiv128(d1, d0, div, NULL);
  23800. #else
  23801. return div_256_word_asm_4(d1, d0, div);
  23802. #endif
  23803. }
  23804. #else
  23805. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  23806. *
  23807. * d1 The high order half of the number to divide.
  23808. * d0 The low order half of the number to divide.
  23809. * div The dividend.
  23810. * returns the result of the division.
  23811. */
  23812. static WC_INLINE sp_digit div_256_word_4(sp_digit d1, sp_digit d0,
  23813. sp_digit div)
  23814. {
  23815. ASSERT_SAVED_VECTOR_REGISTERS();
  23816. register sp_digit r asm("rax");
  23817. __asm__ __volatile__ (
  23818. "divq %3"
  23819. : "=a" (r)
  23820. : "d" (d1), "a" (d0), "r" (div)
  23821. :
  23822. );
  23823. return r;
  23824. }
  23825. #endif /* _WIN64 && !__clang__ */
  23826. /* AND m into each word of a and store in r.
  23827. *
  23828. * r A single precision integer.
  23829. * a A single precision integer.
  23830. * m Mask to AND against each digit.
  23831. */
  23832. static void sp_256_mask_4(sp_digit* r, const sp_digit* a, sp_digit m)
  23833. {
  23834. #ifdef WOLFSSL_SP_SMALL
  23835. int i;
  23836. for (i=0; i<4; i++) {
  23837. r[i] = a[i] & m;
  23838. }
  23839. #else
  23840. r[0] = a[0] & m;
  23841. r[1] = a[1] & m;
  23842. r[2] = a[2] & m;
  23843. r[3] = a[3] & m;
  23844. #endif
  23845. }
  23846. /* Divide d in a and put remainder into r (m*d + r = a)
  23847. * m is not calculated as it is not needed at this time.
  23848. *
  23849. * a Number to be divided.
  23850. * d Number to divide with.
  23851. * m Multiplier result.
  23852. * r Remainder from the division.
  23853. * returns MP_OKAY indicating success.
  23854. */
  23855. static WC_INLINE int sp_256_div_4(const sp_digit* a, const sp_digit* d, sp_digit* m,
  23856. sp_digit* r)
  23857. {
  23858. sp_digit t1[8];
  23859. sp_digit t2[5];
  23860. sp_digit div;
  23861. sp_digit r1;
  23862. int i;
  23863. #ifdef HAVE_INTEL_AVX2
  23864. word32 cpuid_flags = cpuid_get_flags();
  23865. #endif
  23866. ASSERT_SAVED_VECTOR_REGISTERS();
  23867. (void)m;
  23868. div = d[3];
  23869. XMEMCPY(t1, a, sizeof(*t1) * 2 * 4);
  23870. r1 = sp_256_cmp_4(&t1[4], d) >= 0;
  23871. #ifdef HAVE_INTEL_AVX2
  23872. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  23873. sp_256_cond_sub_avx2_4(&t1[4], &t1[4], d, (sp_digit)0 - r1);
  23874. else
  23875. #endif
  23876. sp_256_cond_sub_4(&t1[4], &t1[4], d, (sp_digit)0 - r1);
  23877. for (i = 3; i >= 0; i--) {
  23878. sp_digit mask = 0 - (t1[4 + i] == div);
  23879. sp_digit hi = t1[4 + i] + mask;
  23880. r1 = div_256_word_4(hi, t1[4 + i - 1], div);
  23881. r1 |= mask;
  23882. #ifdef HAVE_INTEL_AVX2
  23883. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  23884. sp_256_mul_d_avx2_4(t2, d, r1);
  23885. else
  23886. #endif
  23887. sp_256_mul_d_4(t2, d, r1);
  23888. t1[4 + i] += sp_256_sub_in_place_4(&t1[i], t2);
  23889. t1[4 + i] -= t2[4];
  23890. sp_256_mask_4(t2, d, t1[4 + i]);
  23891. t1[4 + i] += sp_256_add_4(&t1[i], &t1[i], t2);
  23892. sp_256_mask_4(t2, d, t1[4 + i]);
  23893. t1[4 + i] += sp_256_add_4(&t1[i], &t1[i], t2);
  23894. }
  23895. r1 = sp_256_cmp_4(t1, d) >= 0;
  23896. #ifdef HAVE_INTEL_AVX2
  23897. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  23898. sp_256_cond_sub_avx2_4(r, t1, d, (sp_digit)0 - r1);
  23899. else
  23900. #endif
  23901. sp_256_cond_sub_4(r, t1, d, (sp_digit)0 - r1);
  23902. return MP_OKAY;
  23903. }
  23904. /* Reduce a modulo m into r. (r = a mod m)
  23905. *
  23906. * r A single precision number that is the reduced result.
  23907. * a A single precision number that is to be reduced.
  23908. * m A single precision number that is the modulus to reduce with.
  23909. * returns MP_OKAY indicating success.
  23910. */
  23911. static WC_INLINE int sp_256_mod_4(sp_digit* r, const sp_digit* a,
  23912. const sp_digit* m)
  23913. {
  23914. ASSERT_SAVED_VECTOR_REGISTERS();
  23915. return sp_256_div_4(a, m, NULL, r);
  23916. }
  23917. #endif
  23918. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  23919. /* Multiply two number mod the order of P256 curve. (r = a * b mod order)
  23920. *
  23921. * r Result of the multiplication.
  23922. * a First operand of the multiplication.
  23923. * b Second operand of the multiplication.
  23924. */
  23925. static void sp_256_mont_mul_order_4(sp_digit* r, const sp_digit* a, const sp_digit* b)
  23926. {
  23927. ASSERT_SAVED_VECTOR_REGISTERS();
  23928. sp_256_mul_4(r, a, b);
  23929. sp_256_mont_reduce_order_4(r, p256_order, p256_mp_order);
  23930. }
  23931. #if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
  23932. #ifdef WOLFSSL_SP_SMALL
  23933. /* Order-2 for the P256 curve. */
  23934. static const uint64_t p256_order_minus_2[4] = {
  23935. 0xf3b9cac2fc63254fU,0xbce6faada7179e84U,0xffffffffffffffffU,
  23936. 0xffffffff00000000U
  23937. };
  23938. #else
  23939. /* The low half of the order-2 of the P256 curve. */
  23940. static const uint64_t p256_order_low[2] = {
  23941. 0xf3b9cac2fc63254fU,0xbce6faada7179e84U
  23942. };
  23943. #endif /* WOLFSSL_SP_SMALL */
  23944. /* Square number mod the order of P256 curve. (r = a * a mod order)
  23945. *
  23946. * r Result of the squaring.
  23947. * a Number to square.
  23948. */
  23949. static void sp_256_mont_sqr_order_4(sp_digit* r, const sp_digit* a)
  23950. {
  23951. ASSERT_SAVED_VECTOR_REGISTERS();
  23952. sp_256_sqr_4(r, a);
  23953. sp_256_mont_reduce_order_4(r, p256_order, p256_mp_order);
  23954. }
  23955. #ifndef WOLFSSL_SP_SMALL
  23956. /* Square number mod the order of P256 curve a number of times.
  23957. * (r = a ^ n mod order)
  23958. *
  23959. * r Result of the squaring.
  23960. * a Number to square.
  23961. */
  23962. static void sp_256_mont_sqr_n_order_4(sp_digit* r, const sp_digit* a, int n)
  23963. {
  23964. int i;
  23965. ASSERT_SAVED_VECTOR_REGISTERS();
  23966. sp_256_mont_sqr_order_4(r, a);
  23967. for (i=1; i<n; i++) {
  23968. sp_256_mont_sqr_order_4(r, r);
  23969. }
  23970. }
  23971. #endif /* !WOLFSSL_SP_SMALL */
  23972. #ifdef WOLFSSL_SP_NONBLOCK
  23973. /* Context of non-blocking moduluar inversion with Montgomery form number. */
  23974. typedef struct sp_256_mont_inv_order_4_ctx {
  23975. int state; /* State of next operation. */
  23976. int i; /* Index of bit in order. */
  23977. } sp_256_mont_inv_order_4_ctx;
  23978. /* Invert the number, in Montgomery form, modulo the order of the P256 curve.
  23979. * (r = 1 / a mod order)
  23980. *
  23981. * r Inverse result.
  23982. * a Number to invert.
  23983. * td Temporary data.
  23984. */
  23985. static int sp_256_mont_inv_order_4_nb(sp_ecc_ctx_t* sp_ctx, sp_digit* r, const sp_digit* a,
  23986. sp_digit* t)
  23987. {
  23988. int err = FP_WOULDBLOCK;
  23989. ASSERT_SAVED_VECTOR_REGISTERS();
  23990. sp_256_mont_inv_order_4_ctx* ctx = (sp_256_mont_inv_order_4_ctx*)sp_ctx;
  23991. typedef char ctx_size_test[sizeof(sp_256_mont_inv_order_4_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  23992. (void)sizeof(ctx_size_test);
  23993. switch (ctx->state) {
  23994. case 0:
  23995. XMEMCPY(t, a, sizeof(sp_digit) * 4);
  23996. ctx->i = 254;
  23997. ctx->state = 1;
  23998. break;
  23999. case 1:
  24000. sp_256_mont_sqr_order_4(t, t);
  24001. ctx->state = 2;
  24002. break;
  24003. case 2:
  24004. if ((p256_order_minus_2[ctx->i / 64] & ((sp_int_digit)1 << (ctx->i % 64))) != 0) {
  24005. sp_256_mont_mul_order_4(t, t, a);
  24006. }
  24007. ctx->i--;
  24008. ctx->state = (ctx->i == 0) ? 3 : 1;
  24009. break;
  24010. case 3:
  24011. XMEMCPY(r, t, sizeof(sp_digit) * 4U);
  24012. err = MP_OKAY;
  24013. break;
  24014. }
  24015. return err;
  24016. }
  24017. #endif /* WOLFSSL_SP_NONBLOCK */
  24018. /* Invert the number, in Montgomery form, modulo the order of the P256 curve.
  24019. * (r = 1 / a mod order)
  24020. *
  24021. * r Inverse result.
  24022. * a Number to invert.
  24023. * td Temporary data.
  24024. */
  24025. static void sp_256_mont_inv_order_4(sp_digit* r, const sp_digit* a,
  24026. sp_digit* td)
  24027. {
  24028. #ifdef WOLFSSL_SP_SMALL
  24029. sp_digit* t = td;
  24030. int i;
  24031. XMEMCPY(t, a, sizeof(sp_digit) * 4);
  24032. for (i=254; i>=0; i--) {
  24033. sp_256_mont_sqr_order_4(t, t);
  24034. if ((p256_order_minus_2[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24035. sp_256_mont_mul_order_4(t, t, a);
  24036. }
  24037. }
  24038. XMEMCPY(r, t, sizeof(sp_digit) * 4U);
  24039. #else
  24040. sp_digit* t = td;
  24041. sp_digit* t2 = td + 2 * 4;
  24042. sp_digit* t3 = td + 4 * 4;
  24043. sp_digit* t4 = td + 6 * 4;
  24044. int i;
  24045. ASSERT_SAVED_VECTOR_REGISTERS();
  24046. /* t = a^2 */
  24047. sp_256_mont_sqr_order_4(t, a);
  24048. /* t = a^3 = t * a */
  24049. sp_256_mont_mul_order_4(t, t, a);
  24050. /* t4= a^c = t ^ 2 ^ 2 */
  24051. sp_256_mont_sqr_n_order_4(t4, t, 2);
  24052. /* t3= a^f = t4 * t */
  24053. sp_256_mont_mul_order_4(t3, t4, t);
  24054. /* t2= a^f0 = t3 ^ 2 ^ 4 */
  24055. sp_256_mont_sqr_n_order_4(t2, t3, 4);
  24056. /* t = a^ff = t2 * t3 */
  24057. sp_256_mont_mul_order_4(t, t2, t3);
  24058. /* t3= a^ff00 = t ^ 2 ^ 8 */
  24059. sp_256_mont_sqr_n_order_4(t2, t, 8);
  24060. /* t = a^ffff = t2 * t */
  24061. sp_256_mont_mul_order_4(t, t2, t);
  24062. /* t2= a^ffff0000 = t ^ 2 ^ 16 */
  24063. sp_256_mont_sqr_n_order_4(t2, t, 16);
  24064. /* t = a^ffffffff = t2 * t */
  24065. sp_256_mont_mul_order_4(t, t2, t);
  24066. /* t2= a^ffffffff0000000000000000 = t ^ 2 ^ 64 */
  24067. sp_256_mont_sqr_n_order_4(t2, t, 64);
  24068. /* t2= a^ffffffff00000000ffffffff = t2 * t */
  24069. sp_256_mont_mul_order_4(t2, t2, t);
  24070. /* t2= a^ffffffff00000000ffffffff00000000 = t2 ^ 2 ^ 32 */
  24071. sp_256_mont_sqr_n_order_4(t2, t2, 32);
  24072. /* t2= a^ffffffff00000000ffffffffffffffff = t2 * t */
  24073. sp_256_mont_mul_order_4(t2, t2, t);
  24074. /* t2= a^ffffffff00000000ffffffffffffffffb */
  24075. for (i=127; i>=124; i--) {
  24076. sp_256_mont_sqr_order_4(t2, t2);
  24077. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24078. sp_256_mont_mul_order_4(t2, t2, a);
  24079. }
  24080. }
  24081. /* t2= a^ffffffff00000000ffffffffffffffffbc */
  24082. sp_256_mont_sqr_n_order_4(t2, t2, 4);
  24083. sp_256_mont_mul_order_4(t2, t2, t4);
  24084. /* t2= a^ffffffff00000000ffffffffffffffffbce6 */
  24085. for (i=119; i>=112; i--) {
  24086. sp_256_mont_sqr_order_4(t2, t2);
  24087. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24088. sp_256_mont_mul_order_4(t2, t2, a);
  24089. }
  24090. }
  24091. /* t2= a^ffffffff00000000ffffffffffffffffbce6f */
  24092. sp_256_mont_sqr_n_order_4(t2, t2, 4);
  24093. sp_256_mont_mul_order_4(t2, t2, t3);
  24094. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84 */
  24095. for (i=107; i>=64; i--) {
  24096. sp_256_mont_sqr_order_4(t2, t2);
  24097. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24098. sp_256_mont_mul_order_4(t2, t2, a);
  24099. }
  24100. }
  24101. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f */
  24102. sp_256_mont_sqr_n_order_4(t2, t2, 4);
  24103. sp_256_mont_mul_order_4(t2, t2, t3);
  24104. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9 */
  24105. for (i=59; i>=48; i--) {
  24106. sp_256_mont_sqr_order_4(t2, t2);
  24107. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24108. sp_256_mont_mul_order_4(t2, t2, a);
  24109. }
  24110. }
  24111. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9c */
  24112. sp_256_mont_sqr_n_order_4(t2, t2, 4);
  24113. sp_256_mont_mul_order_4(t2, t2, t4);
  24114. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9ca */
  24115. for (i=43; i>=40; i--) {
  24116. sp_256_mont_sqr_order_4(t2, t2);
  24117. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24118. sp_256_mont_mul_order_4(t2, t2, a);
  24119. }
  24120. }
  24121. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac */
  24122. sp_256_mont_sqr_n_order_4(t2, t2, 4);
  24123. sp_256_mont_mul_order_4(t2, t2, t4);
  24124. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2 */
  24125. for (i=35; i>=32; i--) {
  24126. sp_256_mont_sqr_order_4(t2, t2);
  24127. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24128. sp_256_mont_mul_order_4(t2, t2, a);
  24129. }
  24130. }
  24131. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2f */
  24132. sp_256_mont_sqr_n_order_4(t2, t2, 4);
  24133. sp_256_mont_mul_order_4(t2, t2, t3);
  24134. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254 */
  24135. for (i=27; i>=0; i--) {
  24136. sp_256_mont_sqr_order_4(t2, t2);
  24137. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24138. sp_256_mont_mul_order_4(t2, t2, a);
  24139. }
  24140. }
  24141. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632540 */
  24142. sp_256_mont_sqr_n_order_4(t2, t2, 4);
  24143. /* r = a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f */
  24144. sp_256_mont_mul_order_4(r, t2, t3);
  24145. #endif /* WOLFSSL_SP_SMALL */
  24146. }
  24147. #endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
  24148. #ifdef HAVE_INTEL_AVX2
  24149. #ifdef __cplusplus
  24150. extern "C" {
  24151. #endif
  24152. extern void sp_256_mont_mul_order_avx2_4(sp_digit* r, const sp_digit* a, const sp_digit* b);
  24153. #ifdef __cplusplus
  24154. }
  24155. #endif
  24156. #if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
  24157. #ifdef __cplusplus
  24158. extern "C" {
  24159. #endif
  24160. extern void sp_256_mont_sqr_order_avx2_4(sp_digit* r, const sp_digit* a);
  24161. #ifdef __cplusplus
  24162. }
  24163. #endif
  24164. #ifndef WOLFSSL_SP_SMALL
  24165. /* Square number mod the order of P256 curve a number of times.
  24166. * (r = a ^ n mod order)
  24167. *
  24168. * r Result of the squaring.
  24169. * a Number to square.
  24170. */
  24171. static void sp_256_mont_sqr_n_order_avx2_4(sp_digit* r, const sp_digit* a, int n)
  24172. {
  24173. int i;
  24174. ASSERT_SAVED_VECTOR_REGISTERS();
  24175. sp_256_mont_sqr_order_avx2_4(r, a);
  24176. for (i=1; i<n; i++) {
  24177. sp_256_mont_sqr_order_avx2_4(r, r);
  24178. }
  24179. }
  24180. #endif /* !WOLFSSL_SP_SMALL */
  24181. #ifdef WOLFSSL_SP_NONBLOCK
  24182. /* Context of non-blocking moduluar inversion with Montgomery form number. */
  24183. typedef struct sp_256_mont_inv_order_avx2_4_ctx {
  24184. int state; /* State of next operation. */
  24185. int i; /* Index of bit in order. */
  24186. } sp_256_mont_inv_order_avx2_4_ctx;
  24187. /* Invert the number, in Montgomery form, modulo the order of the P256 curve.
  24188. * (r = 1 / a mod order)
  24189. *
  24190. * r Inverse result.
  24191. * a Number to invert.
  24192. * td Temporary data.
  24193. */
  24194. static int sp_256_mont_inv_order_avx2_4_nb(sp_ecc_ctx_t* sp_ctx, sp_digit* r, const sp_digit* a,
  24195. sp_digit* t)
  24196. {
  24197. int err = FP_WOULDBLOCK;
  24198. ASSERT_SAVED_VECTOR_REGISTERS();
  24199. sp_256_mont_inv_order_avx2_4_ctx* ctx = (sp_256_mont_inv_order_avx2_4_ctx*)sp_ctx;
  24200. typedef char ctx_size_test[sizeof(sp_256_mont_inv_order_avx2_4_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  24201. (void)sizeof(ctx_size_test);
  24202. switch (ctx->state) {
  24203. case 0:
  24204. XMEMCPY(t, a, sizeof(sp_digit) * 4);
  24205. ctx->i = 254;
  24206. ctx->state = 1;
  24207. break;
  24208. case 1:
  24209. sp_256_mont_sqr_order_avx2_4(t, t);
  24210. ctx->state = 2;
  24211. break;
  24212. case 2:
  24213. if ((p256_order_minus_2[ctx->i / 64] & ((sp_int_digit)1 << (ctx->i % 64))) != 0) {
  24214. sp_256_mont_mul_order_avx2_4(t, t, a);
  24215. }
  24216. ctx->i--;
  24217. ctx->state = (ctx->i == 0) ? 3 : 1;
  24218. break;
  24219. case 3:
  24220. XMEMCPY(r, t, sizeof(sp_digit) * 4U);
  24221. err = MP_OKAY;
  24222. break;
  24223. }
  24224. return err;
  24225. }
  24226. #endif /* WOLFSSL_SP_NONBLOCK */
  24227. /* Invert the number, in Montgomery form, modulo the order of the P256 curve.
  24228. * (r = 1 / a mod order)
  24229. *
  24230. * r Inverse result.
  24231. * a Number to invert.
  24232. * td Temporary data.
  24233. */
  24234. static void sp_256_mont_inv_order_avx2_4(sp_digit* r, const sp_digit* a,
  24235. sp_digit* td)
  24236. {
  24237. #ifdef WOLFSSL_SP_SMALL
  24238. sp_digit* t = td;
  24239. int i;
  24240. XMEMCPY(t, a, sizeof(sp_digit) * 4);
  24241. for (i=254; i>=0; i--) {
  24242. sp_256_mont_sqr_order_avx2_4(t, t);
  24243. if ((p256_order_minus_2[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24244. sp_256_mont_mul_order_avx2_4(t, t, a);
  24245. }
  24246. }
  24247. XMEMCPY(r, t, sizeof(sp_digit) * 4U);
  24248. #else
  24249. sp_digit* t = td;
  24250. sp_digit* t2 = td + 2 * 4;
  24251. sp_digit* t3 = td + 4 * 4;
  24252. sp_digit* t4 = td + 6 * 4;
  24253. int i;
  24254. ASSERT_SAVED_VECTOR_REGISTERS();
  24255. /* t = a^2 */
  24256. sp_256_mont_sqr_order_avx2_4(t, a);
  24257. /* t = a^3 = t * a */
  24258. sp_256_mont_mul_order_avx2_4(t, t, a);
  24259. /* t4= a^c = t ^ 2 ^ 2 */
  24260. sp_256_mont_sqr_n_order_avx2_4(t4, t, 2);
  24261. /* t3= a^f = t4 * t */
  24262. sp_256_mont_mul_order_avx2_4(t3, t4, t);
  24263. /* t2= a^f0 = t3 ^ 2 ^ 4 */
  24264. sp_256_mont_sqr_n_order_avx2_4(t2, t3, 4);
  24265. /* t = a^ff = t2 * t3 */
  24266. sp_256_mont_mul_order_avx2_4(t, t2, t3);
  24267. /* t3= a^ff00 = t ^ 2 ^ 8 */
  24268. sp_256_mont_sqr_n_order_avx2_4(t2, t, 8);
  24269. /* t = a^ffff = t2 * t */
  24270. sp_256_mont_mul_order_avx2_4(t, t2, t);
  24271. /* t2= a^ffff0000 = t ^ 2 ^ 16 */
  24272. sp_256_mont_sqr_n_order_avx2_4(t2, t, 16);
  24273. /* t = a^ffffffff = t2 * t */
  24274. sp_256_mont_mul_order_avx2_4(t, t2, t);
  24275. /* t2= a^ffffffff0000000000000000 = t ^ 2 ^ 64 */
  24276. sp_256_mont_sqr_n_order_avx2_4(t2, t, 64);
  24277. /* t2= a^ffffffff00000000ffffffff = t2 * t */
  24278. sp_256_mont_mul_order_avx2_4(t2, t2, t);
  24279. /* t2= a^ffffffff00000000ffffffff00000000 = t2 ^ 2 ^ 32 */
  24280. sp_256_mont_sqr_n_order_avx2_4(t2, t2, 32);
  24281. /* t2= a^ffffffff00000000ffffffffffffffff = t2 * t */
  24282. sp_256_mont_mul_order_avx2_4(t2, t2, t);
  24283. /* t2= a^ffffffff00000000ffffffffffffffffb */
  24284. for (i=127; i>=124; i--) {
  24285. sp_256_mont_sqr_order_avx2_4(t2, t2);
  24286. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24287. sp_256_mont_mul_order_avx2_4(t2, t2, a);
  24288. }
  24289. }
  24290. /* t2= a^ffffffff00000000ffffffffffffffffbc */
  24291. sp_256_mont_sqr_n_order_avx2_4(t2, t2, 4);
  24292. sp_256_mont_mul_order_avx2_4(t2, t2, t4);
  24293. /* t2= a^ffffffff00000000ffffffffffffffffbce6 */
  24294. for (i=119; i>=112; i--) {
  24295. sp_256_mont_sqr_order_avx2_4(t2, t2);
  24296. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24297. sp_256_mont_mul_order_avx2_4(t2, t2, a);
  24298. }
  24299. }
  24300. /* t2= a^ffffffff00000000ffffffffffffffffbce6f */
  24301. sp_256_mont_sqr_n_order_avx2_4(t2, t2, 4);
  24302. sp_256_mont_mul_order_avx2_4(t2, t2, t3);
  24303. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84 */
  24304. for (i=107; i>=64; i--) {
  24305. sp_256_mont_sqr_order_avx2_4(t2, t2);
  24306. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24307. sp_256_mont_mul_order_avx2_4(t2, t2, a);
  24308. }
  24309. }
  24310. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f */
  24311. sp_256_mont_sqr_n_order_avx2_4(t2, t2, 4);
  24312. sp_256_mont_mul_order_avx2_4(t2, t2, t3);
  24313. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9 */
  24314. for (i=59; i>=48; i--) {
  24315. sp_256_mont_sqr_order_avx2_4(t2, t2);
  24316. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24317. sp_256_mont_mul_order_avx2_4(t2, t2, a);
  24318. }
  24319. }
  24320. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9c */
  24321. sp_256_mont_sqr_n_order_avx2_4(t2, t2, 4);
  24322. sp_256_mont_mul_order_avx2_4(t2, t2, t4);
  24323. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9ca */
  24324. for (i=43; i>=40; i--) {
  24325. sp_256_mont_sqr_order_avx2_4(t2, t2);
  24326. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24327. sp_256_mont_mul_order_avx2_4(t2, t2, a);
  24328. }
  24329. }
  24330. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac */
  24331. sp_256_mont_sqr_n_order_avx2_4(t2, t2, 4);
  24332. sp_256_mont_mul_order_avx2_4(t2, t2, t4);
  24333. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2 */
  24334. for (i=35; i>=32; i--) {
  24335. sp_256_mont_sqr_order_avx2_4(t2, t2);
  24336. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24337. sp_256_mont_mul_order_avx2_4(t2, t2, a);
  24338. }
  24339. }
  24340. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2f */
  24341. sp_256_mont_sqr_n_order_avx2_4(t2, t2, 4);
  24342. sp_256_mont_mul_order_avx2_4(t2, t2, t3);
  24343. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254 */
  24344. for (i=27; i>=0; i--) {
  24345. sp_256_mont_sqr_order_avx2_4(t2, t2);
  24346. if (((sp_digit)p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  24347. sp_256_mont_mul_order_avx2_4(t2, t2, a);
  24348. }
  24349. }
  24350. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632540 */
  24351. sp_256_mont_sqr_n_order_avx2_4(t2, t2, 4);
  24352. /* r = a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f */
  24353. sp_256_mont_mul_order_avx2_4(r, t2, t3);
  24354. #endif /* WOLFSSL_SP_SMALL */
  24355. }
  24356. #endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
  24357. #endif /* HAVE_INTEL_AVX2 */
  24358. #endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
  24359. #ifdef HAVE_ECC_SIGN
  24360. #ifndef SP_ECC_MAX_SIG_GEN
  24361. #define SP_ECC_MAX_SIG_GEN 64
  24362. #endif
  24363. /* Calculate second signature value S from R, k and private value.
  24364. *
  24365. * s = (r * x + e) / k
  24366. *
  24367. * s Signature value.
  24368. * r First signature value.
  24369. * k Ephemeral private key.
  24370. * x Private key as a number.
  24371. * e Hash of message as a number.
  24372. * tmp Temporary storage for intermediate numbers.
  24373. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  24374. */
  24375. static int sp_256_calc_s_4(sp_digit* s, const sp_digit* r, sp_digit* k,
  24376. sp_digit* x, const sp_digit* e, sp_digit* tmp)
  24377. {
  24378. int err;
  24379. sp_digit carry;
  24380. sp_int64 c;
  24381. sp_digit* kInv = k;
  24382. #ifdef HAVE_INTEL_AVX2
  24383. word32 cpuid_flags = cpuid_get_flags();
  24384. #endif
  24385. /* Conv k to Montgomery form (mod order) */
  24386. #ifdef HAVE_INTEL_AVX2
  24387. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  24388. sp_256_mul_avx2_4(k, k, p256_norm_order);
  24389. else
  24390. #endif
  24391. sp_256_mul_4(k, k, p256_norm_order);
  24392. err = sp_256_mod_4(k, k, p256_order);
  24393. if (err == MP_OKAY) {
  24394. sp_256_norm_4(k);
  24395. /* kInv = 1/k mod order */
  24396. #ifdef HAVE_INTEL_AVX2
  24397. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  24398. sp_256_mont_inv_order_avx2_4(kInv, k, tmp);
  24399. else
  24400. #endif
  24401. sp_256_mont_inv_order_4(kInv, k, tmp);
  24402. sp_256_norm_4(kInv);
  24403. /* s = r * x + e */
  24404. #ifdef HAVE_INTEL_AVX2
  24405. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  24406. sp_256_mul_avx2_4(x, x, r);
  24407. else
  24408. #endif
  24409. sp_256_mul_4(x, x, r);
  24410. err = sp_256_mod_4(x, x, p256_order);
  24411. }
  24412. if (err == MP_OKAY) {
  24413. sp_256_norm_4(x);
  24414. carry = sp_256_add_4(s, e, x);
  24415. sp_256_cond_sub_4(s, s, p256_order, 0 - carry);
  24416. sp_256_norm_4(s);
  24417. c = sp_256_cmp_4(s, p256_order);
  24418. sp_256_cond_sub_4(s, s, p256_order,
  24419. (sp_digit)0 - (sp_digit)(c >= 0));
  24420. sp_256_norm_4(s);
  24421. /* s = s * k^-1 mod order */
  24422. #ifdef HAVE_INTEL_AVX2
  24423. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  24424. sp_256_mont_mul_order_avx2_4(s, s, kInv);
  24425. else
  24426. #endif
  24427. sp_256_mont_mul_order_4(s, s, kInv);
  24428. sp_256_norm_4(s);
  24429. }
  24430. return err;
  24431. }
  24432. /* Sign the hash using the private key.
  24433. * e = [hash, 256 bits] from binary
  24434. * r = (k.G)->x mod order
  24435. * s = (r * x + e) / k mod order
  24436. * The hash is truncated to the first 256 bits.
  24437. *
  24438. * hash Hash to sign.
  24439. * hashLen Length of the hash data.
  24440. * rng Random number generator.
  24441. * priv Private part of key - scalar.
  24442. * rm First part of result as an mp_int.
  24443. * sm Sirst part of result as an mp_int.
  24444. * heap Heap to use for allocation.
  24445. * returns RNG failures, MEMORY_E when memory allocation fails and
  24446. * MP_OKAY on success.
  24447. */
  24448. #ifdef WOLFSSL_SP_NONBLOCK
  24449. typedef struct sp_ecc_sign_256_ctx {
  24450. int state;
  24451. union {
  24452. sp_256_ecc_mulmod_4_ctx mulmod_ctx;
  24453. sp_256_mont_inv_order_4_ctx mont_inv_order_ctx;
  24454. };
  24455. sp_digit e[2*4];
  24456. sp_digit x[2*4];
  24457. sp_digit k[2*4];
  24458. sp_digit r[2*4];
  24459. sp_digit tmp[4 * 2*4];
  24460. sp_point_256 point;
  24461. sp_digit* s;
  24462. sp_digit* kInv;
  24463. int i;
  24464. } sp_ecc_sign_256_ctx;
  24465. int sp_ecc_sign_256_nb(sp_ecc_ctx_t* sp_ctx, const byte* hash, word32 hashLen, WC_RNG* rng,
  24466. mp_int* priv, mp_int* rm, mp_int* sm, mp_int* km, void* heap)
  24467. {
  24468. int err = FP_WOULDBLOCK;
  24469. sp_ecc_sign_256_ctx* ctx = (sp_ecc_sign_256_ctx*)sp_ctx->data;
  24470. typedef char ctx_size_test[sizeof(sp_ecc_sign_256_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  24471. (void)sizeof(ctx_size_test);
  24472. (void)heap;
  24473. switch (ctx->state) {
  24474. case 0: /* INIT */
  24475. ctx->s = ctx->e;
  24476. ctx->kInv = ctx->k;
  24477. ctx->i = SP_ECC_MAX_SIG_GEN;
  24478. ctx->state = 1;
  24479. break;
  24480. case 1: /* GEN */
  24481. /* New random point. */
  24482. if (km == NULL || mp_iszero(km)) {
  24483. err = sp_256_ecc_gen_k_4(rng, ctx->k);
  24484. }
  24485. else {
  24486. sp_256_from_mp(ctx->k, 4, km);
  24487. mp_zero(km);
  24488. }
  24489. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  24490. ctx->state = 2;
  24491. break;
  24492. case 2: /* MULMOD */
  24493. err = sp_256_ecc_mulmod_4_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx,
  24494. &ctx->point, &p256_base, ctx->k, 1, 1, heap);
  24495. if (err == MP_OKAY) {
  24496. ctx->state = 3;
  24497. }
  24498. break;
  24499. case 3: /* MODORDER */
  24500. {
  24501. sp_int64 c;
  24502. /* r = point->x mod order */
  24503. XMEMCPY(ctx->r, ctx->point.x, sizeof(sp_digit) * 4U);
  24504. sp_256_norm_4(ctx->r);
  24505. c = sp_256_cmp_4(ctx->r, p256_order);
  24506. sp_256_cond_sub_4(ctx->r, ctx->r, p256_order,
  24507. (sp_digit)0 - (sp_digit)(c >= 0));
  24508. sp_256_norm_4(ctx->r);
  24509. if (hashLen > 32U) {
  24510. hashLen = 32U;
  24511. }
  24512. sp_256_from_mp(ctx->x, 4, priv);
  24513. sp_256_from_bin(ctx->e, 4, hash, (int)hashLen);
  24514. ctx->state = 4;
  24515. break;
  24516. }
  24517. case 4: /* KMODORDER */
  24518. /* Conv k to Montgomery form (mod order) */
  24519. sp_256_mul_4(ctx->k, ctx->k, p256_norm_order);
  24520. err = sp_256_mod_4(ctx->k, ctx->k, p256_order);
  24521. if (err == MP_OKAY) {
  24522. sp_256_norm_4(ctx->k);
  24523. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  24524. ctx->state = 5;
  24525. }
  24526. break;
  24527. case 5: /* KINV */
  24528. /* kInv = 1/k mod order */
  24529. err = sp_256_mont_inv_order_4_nb((sp_ecc_ctx_t*)&ctx->mont_inv_order_ctx, ctx->kInv, ctx->k, ctx->tmp);
  24530. if (err == MP_OKAY) {
  24531. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  24532. ctx->state = 6;
  24533. }
  24534. break;
  24535. case 6: /* KINVNORM */
  24536. sp_256_norm_4(ctx->kInv);
  24537. ctx->state = 7;
  24538. break;
  24539. case 7: /* R */
  24540. /* s = r * x + e */
  24541. sp_256_mul_4(ctx->x, ctx->x, ctx->r);
  24542. ctx->state = 8;
  24543. break;
  24544. case 8: /* S1 */
  24545. err = sp_256_mod_4(ctx->x, ctx->x, p256_order);
  24546. if (err == MP_OKAY)
  24547. ctx->state = 9;
  24548. break;
  24549. case 9: /* S2 */
  24550. {
  24551. sp_digit carry;
  24552. sp_int64 c;
  24553. sp_256_norm_4(ctx->x);
  24554. carry = sp_256_add_4(ctx->s, ctx->e, ctx->x);
  24555. sp_256_cond_sub_4(ctx->s, ctx->s,
  24556. p256_order, 0 - carry);
  24557. sp_256_norm_4(ctx->s);
  24558. c = sp_256_cmp_4(ctx->s, p256_order);
  24559. sp_256_cond_sub_4(ctx->s, ctx->s, p256_order,
  24560. (sp_digit)0 - (sp_digit)(c >= 0));
  24561. sp_256_norm_4(ctx->s);
  24562. /* s = s * k^-1 mod order */
  24563. sp_256_mont_mul_order_4(ctx->s, ctx->s, ctx->kInv);
  24564. sp_256_norm_4(ctx->s);
  24565. /* Check that signature is usable. */
  24566. if (sp_256_iszero_4(ctx->s) == 0) {
  24567. ctx->state = 10;
  24568. break;
  24569. }
  24570. #ifdef WOLFSSL_ECDSA_SET_K_ONE_LOOP
  24571. ctx->i = 1;
  24572. #endif
  24573. /* not usable gen, try again */
  24574. ctx->i--;
  24575. if (ctx->i == 0) {
  24576. err = RNG_FAILURE_E;
  24577. }
  24578. ctx->state = 1;
  24579. break;
  24580. }
  24581. case 10: /* RES */
  24582. err = sp_256_to_mp(ctx->r, rm);
  24583. if (err == MP_OKAY) {
  24584. err = sp_256_to_mp(ctx->s, sm);
  24585. }
  24586. break;
  24587. }
  24588. if (err == MP_OKAY && ctx->state != 10) {
  24589. err = FP_WOULDBLOCK;
  24590. }
  24591. if (err != FP_WOULDBLOCK) {
  24592. XMEMSET(ctx->e, 0, sizeof(sp_digit) * 2U * 4U);
  24593. XMEMSET(ctx->x, 0, sizeof(sp_digit) * 2U * 4U);
  24594. XMEMSET(ctx->k, 0, sizeof(sp_digit) * 2U * 4U);
  24595. XMEMSET(ctx->r, 0, sizeof(sp_digit) * 2U * 4U);
  24596. XMEMSET(ctx->tmp, 0, sizeof(sp_digit) * 4U * 2U * 4U);
  24597. }
  24598. return err;
  24599. }
  24600. #endif /* WOLFSSL_SP_NONBLOCK */
  24601. int sp_ecc_sign_256(const byte* hash, word32 hashLen, WC_RNG* rng,
  24602. const mp_int* priv, mp_int* rm, mp_int* sm, mp_int* km, void* heap)
  24603. {
  24604. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24605. sp_digit* e = NULL;
  24606. sp_point_256* point = NULL;
  24607. #else
  24608. sp_digit e[8 * 2 * 4];
  24609. sp_point_256 point[1];
  24610. #endif
  24611. sp_digit* x = NULL;
  24612. sp_digit* k = NULL;
  24613. sp_digit* r = NULL;
  24614. sp_digit* tmp = NULL;
  24615. sp_digit* s = NULL;
  24616. sp_int64 c;
  24617. int err = MP_OKAY;
  24618. int i;
  24619. #ifdef HAVE_INTEL_AVX2
  24620. word32 cpuid_flags = cpuid_get_flags();
  24621. #endif
  24622. (void)heap;
  24623. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24624. if (err == MP_OKAY) {
  24625. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap,
  24626. DYNAMIC_TYPE_ECC);
  24627. if (point == NULL)
  24628. err = MEMORY_E;
  24629. }
  24630. if (err == MP_OKAY) {
  24631. e = (sp_digit*)XMALLOC(sizeof(sp_digit) * 8 * 2 * 4, heap,
  24632. DYNAMIC_TYPE_ECC);
  24633. if (e == NULL)
  24634. err = MEMORY_E;
  24635. }
  24636. #endif
  24637. if (err == MP_OKAY) {
  24638. x = e + 2 * 4;
  24639. k = e + 4 * 4;
  24640. r = e + 6 * 4;
  24641. tmp = e + 8 * 4;
  24642. s = e;
  24643. if (hashLen > 32U) {
  24644. hashLen = 32U;
  24645. }
  24646. }
  24647. for (i = SP_ECC_MAX_SIG_GEN; err == MP_OKAY && i > 0; i--) {
  24648. /* New random point. */
  24649. if (km == NULL || mp_iszero(km)) {
  24650. err = sp_256_ecc_gen_k_4(rng, k);
  24651. }
  24652. else {
  24653. sp_256_from_mp(k, 4, km);
  24654. mp_zero(km);
  24655. }
  24656. if (err == MP_OKAY) {
  24657. #ifdef HAVE_INTEL_AVX2
  24658. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  24659. err = sp_256_ecc_mulmod_base_avx2_4(point, k, 1, 1, heap);
  24660. else
  24661. #endif
  24662. err = sp_256_ecc_mulmod_base_4(point, k, 1, 1, heap);
  24663. }
  24664. if (err == MP_OKAY) {
  24665. /* r = point->x mod order */
  24666. XMEMCPY(r, point->x, sizeof(sp_digit) * 4U);
  24667. sp_256_norm_4(r);
  24668. c = sp_256_cmp_4(r, p256_order);
  24669. sp_256_cond_sub_4(r, r, p256_order,
  24670. (sp_digit)0 - (sp_digit)(c >= 0));
  24671. sp_256_norm_4(r);
  24672. sp_256_from_mp(x, 4, priv);
  24673. sp_256_from_bin(e, 4, hash, (int)hashLen);
  24674. err = sp_256_calc_s_4(s, r, k, x, e, tmp);
  24675. }
  24676. /* Check that signature is usable. */
  24677. if ((err == MP_OKAY) && (sp_256_iszero_4(s) == 0)) {
  24678. break;
  24679. }
  24680. #ifdef WOLFSSL_ECDSA_SET_K_ONE_LOOP
  24681. i = 1;
  24682. #endif
  24683. }
  24684. if (i == 0) {
  24685. err = RNG_FAILURE_E;
  24686. }
  24687. if (err == MP_OKAY) {
  24688. err = sp_256_to_mp(r, rm);
  24689. }
  24690. if (err == MP_OKAY) {
  24691. err = sp_256_to_mp(s, sm);
  24692. }
  24693. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24694. if (e != NULL)
  24695. #endif
  24696. {
  24697. ForceZero(e, sizeof(sp_digit) * 8 * 2 * 4);
  24698. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24699. XFREE(e, heap, DYNAMIC_TYPE_ECC);
  24700. #endif
  24701. }
  24702. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24703. if (point != NULL)
  24704. #endif
  24705. {
  24706. ForceZero(point, sizeof(sp_point_256));
  24707. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24708. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  24709. #endif
  24710. }
  24711. return err;
  24712. }
  24713. #endif /* HAVE_ECC_SIGN */
  24714. #ifndef WOLFSSL_SP_SMALL
  24715. #ifdef __cplusplus
  24716. extern "C" {
  24717. #endif
  24718. extern void sp_256_mod_inv_4(sp_digit* r, const sp_digit* a, const sp_digit* m);
  24719. #ifdef __cplusplus
  24720. }
  24721. #endif
  24722. #ifdef __cplusplus
  24723. extern "C" {
  24724. #endif
  24725. extern void sp_256_mod_inv_avx2_4(sp_digit* r, const sp_digit* a, const sp_digit* m);
  24726. #ifdef __cplusplus
  24727. }
  24728. #endif
  24729. #endif /* WOLFSSL_SP_SMALL */
  24730. /* Add point p1 into point p2. Handles p1 == p2 and result at infinity.
  24731. *
  24732. * p1 First point to add and holds result.
  24733. * p2 Second point to add.
  24734. * tmp Temporary storage for intermediate numbers.
  24735. */
  24736. static void sp_256_add_points_4(sp_point_256* p1, const sp_point_256* p2,
  24737. sp_digit* tmp)
  24738. {
  24739. #ifdef HAVE_INTEL_AVX2
  24740. word32 cpuid_flags = cpuid_get_flags();
  24741. #endif
  24742. #ifdef HAVE_INTEL_AVX2
  24743. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  24744. sp_256_proj_point_add_avx2_4(p1, p1, p2, tmp);
  24745. }
  24746. else
  24747. #endif
  24748. sp_256_proj_point_add_4(p1, p1, p2, tmp);
  24749. if (sp_256_iszero_4(p1->z)) {
  24750. if (sp_256_iszero_4(p1->x) && sp_256_iszero_4(p1->y)) {
  24751. #ifdef HAVE_INTEL_AVX2
  24752. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  24753. sp_256_proj_point_dbl_avx2_4(p1, p2, tmp);
  24754. }
  24755. else
  24756. #endif
  24757. sp_256_proj_point_dbl_4(p1, p2, tmp);
  24758. }
  24759. else {
  24760. /* Y ordinate is not used from here - don't set. */
  24761. p1->x[0] = 0;
  24762. p1->x[1] = 0;
  24763. p1->x[2] = 0;
  24764. p1->x[3] = 0;
  24765. XMEMCPY(p1->z, p256_norm_mod, sizeof(p256_norm_mod));
  24766. }
  24767. }
  24768. }
  24769. /* Calculate the verification point: [e/s]G + [r/s]Q
  24770. *
  24771. * p1 Calculated point.
  24772. * p2 Public point and temporary.
  24773. * s Second part of signature as a number.
  24774. * u1 Temporary number.
  24775. * u2 Temproray number.
  24776. * heap Heap to use for allocation.
  24777. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  24778. */
  24779. static int sp_256_calc_vfy_point_4(sp_point_256* p1, sp_point_256* p2,
  24780. sp_digit* s, sp_digit* u1, sp_digit* u2, sp_digit* tmp, void* heap)
  24781. {
  24782. int err;
  24783. #ifdef HAVE_INTEL_AVX2
  24784. word32 cpuid_flags = cpuid_get_flags();
  24785. #endif
  24786. #ifndef WOLFSSL_SP_SMALL
  24787. #ifdef HAVE_INTEL_AVX2
  24788. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  24789. sp_256_mod_inv_avx2_4(s, s, p256_order);
  24790. }
  24791. else
  24792. #endif
  24793. {
  24794. sp_256_mod_inv_4(s, s, p256_order);
  24795. }
  24796. #endif /* !WOLFSSL_SP_SMALL */
  24797. {
  24798. #ifdef HAVE_INTEL_AVX2
  24799. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  24800. sp_256_mul_avx2_4(s, s, p256_norm_order);
  24801. }
  24802. else
  24803. #endif
  24804. {
  24805. sp_256_mul_4(s, s, p256_norm_order);
  24806. }
  24807. err = sp_256_mod_4(s, s, p256_order);
  24808. }
  24809. if (err == MP_OKAY) {
  24810. sp_256_norm_4(s);
  24811. #ifdef WOLFSSL_SP_SMALL
  24812. #ifdef HAVE_INTEL_AVX2
  24813. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  24814. sp_256_mont_inv_order_avx2_4(s, s, tmp);
  24815. sp_256_mont_mul_order_avx2_4(u1, u1, s);
  24816. sp_256_mont_mul_order_avx2_4(u2, u2, s);
  24817. }
  24818. else
  24819. #endif
  24820. {
  24821. sp_256_mont_inv_order_4(s, s, tmp);
  24822. sp_256_mont_mul_order_4(u1, u1, s);
  24823. sp_256_mont_mul_order_4(u2, u2, s);
  24824. }
  24825. #else
  24826. #ifdef HAVE_INTEL_AVX2
  24827. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  24828. sp_256_mont_mul_order_avx2_4(u1, u1, s);
  24829. sp_256_mont_mul_order_avx2_4(u2, u2, s);
  24830. }
  24831. else
  24832. #endif
  24833. {
  24834. sp_256_mont_mul_order_4(u1, u1, s);
  24835. sp_256_mont_mul_order_4(u2, u2, s);
  24836. }
  24837. #endif /* WOLFSSL_SP_SMALL */
  24838. #ifdef HAVE_INTEL_AVX2
  24839. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  24840. err = sp_256_ecc_mulmod_base_avx2_4(p1, u1, 0, 0, heap);
  24841. }
  24842. else
  24843. #endif
  24844. {
  24845. err = sp_256_ecc_mulmod_base_4(p1, u1, 0, 0, heap);
  24846. }
  24847. }
  24848. if ((err == MP_OKAY) && sp_256_iszero_4(p1->z)) {
  24849. p1->infinity = 1;
  24850. }
  24851. if (err == MP_OKAY) {
  24852. #ifdef HAVE_INTEL_AVX2
  24853. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  24854. err = sp_256_ecc_mulmod_avx2_4(p2, p2, u2, 0, 0, heap);
  24855. else
  24856. #endif
  24857. err = sp_256_ecc_mulmod_4(p2, p2, u2, 0, 0, heap);
  24858. }
  24859. if ((err == MP_OKAY) && sp_256_iszero_4(p2->z)) {
  24860. p2->infinity = 1;
  24861. }
  24862. if (err == MP_OKAY) {
  24863. sp_256_add_points_4(p1, p2, tmp);
  24864. }
  24865. return err;
  24866. }
  24867. #ifdef HAVE_ECC_VERIFY
  24868. /* Verify the signature values with the hash and public key.
  24869. * e = Truncate(hash, 256)
  24870. * u1 = e/s mod order
  24871. * u2 = r/s mod order
  24872. * r == (u1.G + u2.Q)->x mod order
  24873. * Optimization: Leave point in projective form.
  24874. * (x, y, 1) == (x' / z'*z', y' / z'*z'*z', z' / z')
  24875. * (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x'
  24876. * The hash is truncated to the first 256 bits.
  24877. *
  24878. * hash Hash to sign.
  24879. * hashLen Length of the hash data.
  24880. * rng Random number generator.
  24881. * priv Private part of key - scalar.
  24882. * rm First part of result as an mp_int.
  24883. * sm Sirst part of result as an mp_int.
  24884. * heap Heap to use for allocation.
  24885. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  24886. */
  24887. #ifdef WOLFSSL_SP_NONBLOCK
  24888. typedef struct sp_ecc_verify_256_ctx {
  24889. int state;
  24890. union {
  24891. sp_256_ecc_mulmod_4_ctx mulmod_ctx;
  24892. sp_256_mont_inv_order_4_ctx mont_inv_order_ctx;
  24893. sp_256_proj_point_dbl_4_ctx dbl_ctx;
  24894. sp_256_proj_point_add_4_ctx add_ctx;
  24895. };
  24896. sp_digit u1[2*4];
  24897. sp_digit u2[2*4];
  24898. sp_digit s[2*4];
  24899. sp_digit tmp[2*4 * 6];
  24900. sp_point_256 p1;
  24901. sp_point_256 p2;
  24902. } sp_ecc_verify_256_ctx;
  24903. int sp_ecc_verify_256_nb(sp_ecc_ctx_t* sp_ctx, const byte* hash,
  24904. word32 hashLen, const mp_int* pX, const mp_int* pY, const mp_int* pZ,
  24905. const mp_int* rm, const mp_int* sm, int* res, void* heap)
  24906. {
  24907. int err = FP_WOULDBLOCK;
  24908. sp_ecc_verify_256_ctx* ctx = (sp_ecc_verify_256_ctx*)sp_ctx->data;
  24909. typedef char ctx_size_test[sizeof(sp_ecc_verify_256_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  24910. (void)sizeof(ctx_size_test);
  24911. switch (ctx->state) {
  24912. case 0: /* INIT */
  24913. if (hashLen > 32U) {
  24914. hashLen = 32U;
  24915. }
  24916. sp_256_from_bin(ctx->u1, 4, hash, (int)hashLen);
  24917. sp_256_from_mp(ctx->u2, 4, rm);
  24918. sp_256_from_mp(ctx->s, 4, sm);
  24919. sp_256_from_mp(ctx->p2.x, 4, pX);
  24920. sp_256_from_mp(ctx->p2.y, 4, pY);
  24921. sp_256_from_mp(ctx->p2.z, 4, pZ);
  24922. ctx->state = 1;
  24923. break;
  24924. case 1: /* NORMS0 */
  24925. sp_256_mul_4(ctx->s, ctx->s, p256_norm_order);
  24926. err = sp_256_mod_4(ctx->s, ctx->s, p256_order);
  24927. if (err == MP_OKAY)
  24928. ctx->state = 2;
  24929. break;
  24930. case 2: /* NORMS1 */
  24931. sp_256_norm_4(ctx->s);
  24932. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  24933. ctx->state = 3;
  24934. break;
  24935. case 3: /* NORMS2 */
  24936. err = sp_256_mont_inv_order_4_nb((sp_ecc_ctx_t*)&ctx->mont_inv_order_ctx, ctx->s, ctx->s, ctx->tmp);
  24937. if (err == MP_OKAY) {
  24938. ctx->state = 4;
  24939. }
  24940. break;
  24941. case 4: /* NORMS3 */
  24942. sp_256_mont_mul_order_4(ctx->u1, ctx->u1, ctx->s);
  24943. ctx->state = 5;
  24944. break;
  24945. case 5: /* NORMS4 */
  24946. sp_256_mont_mul_order_4(ctx->u2, ctx->u2, ctx->s);
  24947. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  24948. ctx->state = 6;
  24949. break;
  24950. case 6: /* MULBASE */
  24951. err = sp_256_ecc_mulmod_4_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, &ctx->p1, &p256_base, ctx->u1, 0, 0, heap);
  24952. if (err == MP_OKAY) {
  24953. if (sp_256_iszero_4(ctx->p1.z)) {
  24954. ctx->p1.infinity = 1;
  24955. }
  24956. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  24957. ctx->state = 7;
  24958. }
  24959. break;
  24960. case 7: /* MULMOD */
  24961. err = sp_256_ecc_mulmod_4_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, &ctx->p2, &ctx->p2, ctx->u2, 0, 0, heap);
  24962. if (err == MP_OKAY) {
  24963. if (sp_256_iszero_4(ctx->p2.z)) {
  24964. ctx->p2.infinity = 1;
  24965. }
  24966. XMEMSET(&ctx->add_ctx, 0, sizeof(ctx->add_ctx));
  24967. ctx->state = 8;
  24968. }
  24969. break;
  24970. case 8: /* ADD */
  24971. err = sp_256_proj_point_add_4_nb((sp_ecc_ctx_t*)&ctx->add_ctx, &ctx->p1, &ctx->p1, &ctx->p2, ctx->tmp);
  24972. if (err == MP_OKAY)
  24973. ctx->state = 9;
  24974. break;
  24975. case 9: /* MONT */
  24976. /* (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x' */
  24977. /* Reload r and convert to Montgomery form. */
  24978. sp_256_from_mp(ctx->u2, 4, rm);
  24979. err = sp_256_mod_mul_norm_4(ctx->u2, ctx->u2, p256_mod);
  24980. if (err == MP_OKAY)
  24981. ctx->state = 10;
  24982. break;
  24983. case 10: /* SQR */
  24984. /* u1 = r.z'.z' mod prime */
  24985. sp_256_mont_sqr_4(ctx->p1.z, ctx->p1.z, p256_mod, p256_mp_mod);
  24986. ctx->state = 11;
  24987. break;
  24988. case 11: /* MUL */
  24989. sp_256_mont_mul_4(ctx->u1, ctx->u2, ctx->p1.z, p256_mod, p256_mp_mod);
  24990. ctx->state = 12;
  24991. break;
  24992. case 12: /* RES */
  24993. {
  24994. sp_int64 c = 0;
  24995. err = MP_OKAY; /* math okay, now check result */
  24996. *res = (int)(sp_256_cmp_4(ctx->p1.x, ctx->u1) == 0);
  24997. if (*res == 0) {
  24998. sp_digit carry;
  24999. /* Reload r and add order. */
  25000. sp_256_from_mp(ctx->u2, 4, rm);
  25001. carry = sp_256_add_4(ctx->u2, ctx->u2, p256_order);
  25002. /* Carry means result is greater than mod and is not valid. */
  25003. if (carry == 0) {
  25004. sp_256_norm_4(ctx->u2);
  25005. /* Compare with mod and if greater or equal then not valid. */
  25006. c = sp_256_cmp_4(ctx->u2, p256_mod);
  25007. }
  25008. }
  25009. if ((*res == 0) && (c < 0)) {
  25010. /* Convert to Montogomery form */
  25011. err = sp_256_mod_mul_norm_4(ctx->u2, ctx->u2, p256_mod);
  25012. if (err == MP_OKAY) {
  25013. /* u1 = (r + 1*order).z'.z' mod prime */
  25014. sp_256_mont_mul_4(ctx->u1, ctx->u2, ctx->p1.z, p256_mod,
  25015. p256_mp_mod);
  25016. *res = (int)(sp_256_cmp_4(ctx->p1.x, ctx->u1) == 0);
  25017. }
  25018. }
  25019. break;
  25020. }
  25021. } /* switch */
  25022. if (err == MP_OKAY && ctx->state != 12) {
  25023. err = FP_WOULDBLOCK;
  25024. }
  25025. return err;
  25026. }
  25027. #endif /* WOLFSSL_SP_NONBLOCK */
  25028. int sp_ecc_verify_256(const byte* hash, word32 hashLen, const mp_int* pX,
  25029. const mp_int* pY, const mp_int* pZ, const mp_int* rm, const mp_int* sm,
  25030. int* res, void* heap)
  25031. {
  25032. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25033. sp_digit* u1 = NULL;
  25034. sp_point_256* p1 = NULL;
  25035. #else
  25036. sp_digit u1[18 * 4];
  25037. sp_point_256 p1[2];
  25038. #endif
  25039. sp_digit* u2 = NULL;
  25040. sp_digit* s = NULL;
  25041. sp_digit* tmp = NULL;
  25042. sp_point_256* p2 = NULL;
  25043. sp_digit carry;
  25044. sp_int64 c = 0;
  25045. int err = MP_OKAY;
  25046. #ifdef HAVE_INTEL_AVX2
  25047. word32 cpuid_flags = cpuid_get_flags();
  25048. #endif
  25049. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25050. if (err == MP_OKAY) {
  25051. p1 = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  25052. DYNAMIC_TYPE_ECC);
  25053. if (p1 == NULL)
  25054. err = MEMORY_E;
  25055. }
  25056. if (err == MP_OKAY) {
  25057. u1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 18 * 4, heap,
  25058. DYNAMIC_TYPE_ECC);
  25059. if (u1 == NULL)
  25060. err = MEMORY_E;
  25061. }
  25062. #endif
  25063. if (err == MP_OKAY) {
  25064. u2 = u1 + 2 * 4;
  25065. s = u1 + 4 * 4;
  25066. tmp = u1 + 6 * 4;
  25067. p2 = p1 + 1;
  25068. if (hashLen > 32U) {
  25069. hashLen = 32U;
  25070. }
  25071. sp_256_from_bin(u1, 4, hash, (int)hashLen);
  25072. sp_256_from_mp(u2, 4, rm);
  25073. sp_256_from_mp(s, 4, sm);
  25074. sp_256_from_mp(p2->x, 4, pX);
  25075. sp_256_from_mp(p2->y, 4, pY);
  25076. sp_256_from_mp(p2->z, 4, pZ);
  25077. err = sp_256_calc_vfy_point_4(p1, p2, s, u1, u2, tmp, heap);
  25078. }
  25079. if (err == MP_OKAY) {
  25080. /* (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x' */
  25081. /* Reload r and convert to Montgomery form. */
  25082. sp_256_from_mp(u2, 4, rm);
  25083. err = sp_256_mod_mul_norm_4(u2, u2, p256_mod);
  25084. }
  25085. if (err == MP_OKAY) {
  25086. /* u1 = r.z'.z' mod prime */
  25087. #ifdef HAVE_INTEL_AVX2
  25088. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  25089. sp_256_mont_sqr_avx2_4(p1->z, p1->z, p256_mod, p256_mp_mod);
  25090. else
  25091. #endif
  25092. sp_256_mont_sqr_4(p1->z, p1->z, p256_mod, p256_mp_mod);
  25093. #ifdef HAVE_INTEL_AVX2
  25094. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  25095. sp_256_mont_mul_avx2_4(u1, u2, p1->z, p256_mod, p256_mp_mod);
  25096. else
  25097. #endif
  25098. sp_256_mont_mul_4(u1, u2, p1->z, p256_mod, p256_mp_mod);
  25099. *res = (int)(sp_256_cmp_4(p1->x, u1) == 0);
  25100. if (*res == 0) {
  25101. /* Reload r and add order. */
  25102. sp_256_from_mp(u2, 4, rm);
  25103. carry = sp_256_add_4(u2, u2, p256_order);
  25104. /* Carry means result is greater than mod and is not valid. */
  25105. if (carry == 0) {
  25106. sp_256_norm_4(u2);
  25107. /* Compare with mod and if greater or equal then not valid. */
  25108. c = sp_256_cmp_4(u2, p256_mod);
  25109. }
  25110. }
  25111. if ((*res == 0) && (c < 0)) {
  25112. /* Convert to Montogomery form */
  25113. err = sp_256_mod_mul_norm_4(u2, u2, p256_mod);
  25114. if (err == MP_OKAY) {
  25115. /* u1 = (r + 1*order).z'.z' mod prime */
  25116. #ifdef HAVE_INTEL_AVX2
  25117. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  25118. sp_256_mont_mul_avx2_4(u1, u2, p1->z, p256_mod,
  25119. p256_mp_mod);
  25120. }
  25121. else
  25122. #endif
  25123. {
  25124. sp_256_mont_mul_4(u1, u2, p1->z, p256_mod, p256_mp_mod);
  25125. }
  25126. *res = (sp_256_cmp_4(p1->x, u1) == 0);
  25127. }
  25128. }
  25129. }
  25130. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25131. if (u1 != NULL)
  25132. XFREE(u1, heap, DYNAMIC_TYPE_ECC);
  25133. if (p1 != NULL)
  25134. XFREE(p1, heap, DYNAMIC_TYPE_ECC);
  25135. #endif
  25136. return err;
  25137. }
  25138. #endif /* HAVE_ECC_VERIFY */
  25139. #ifdef HAVE_ECC_CHECK_KEY
  25140. /* Check that the x and y oridinates are a valid point on the curve.
  25141. *
  25142. * point EC point.
  25143. * heap Heap to use if dynamically allocating.
  25144. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  25145. * not on the curve and MP_OKAY otherwise.
  25146. */
  25147. static int sp_256_ecc_is_point_4(const sp_point_256* point,
  25148. void* heap)
  25149. {
  25150. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25151. sp_digit* t1 = NULL;
  25152. #else
  25153. sp_digit t1[4 * 4];
  25154. #endif
  25155. sp_digit* t2 = NULL;
  25156. int err = MP_OKAY;
  25157. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25158. t1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 4, heap, DYNAMIC_TYPE_ECC);
  25159. if (t1 == NULL)
  25160. err = MEMORY_E;
  25161. #endif
  25162. (void)heap;
  25163. if (err == MP_OKAY) {
  25164. t2 = t1 + 2 * 4;
  25165. sp_256_sqr_4(t1, point->y);
  25166. (void)sp_256_mod_4(t1, t1, p256_mod);
  25167. sp_256_sqr_4(t2, point->x);
  25168. (void)sp_256_mod_4(t2, t2, p256_mod);
  25169. sp_256_mul_4(t2, t2, point->x);
  25170. (void)sp_256_mod_4(t2, t2, p256_mod);
  25171. (void)sp_256_sub_4(t2, p256_mod, t2);
  25172. sp_256_mont_add_4(t1, t1, t2, p256_mod);
  25173. sp_256_mont_add_4(t1, t1, point->x, p256_mod);
  25174. sp_256_mont_add_4(t1, t1, point->x, p256_mod);
  25175. sp_256_mont_add_4(t1, t1, point->x, p256_mod);
  25176. if (sp_256_cmp_4(t1, p256_b) != 0) {
  25177. err = MP_VAL;
  25178. }
  25179. }
  25180. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25181. if (t1 != NULL)
  25182. XFREE(t1, heap, DYNAMIC_TYPE_ECC);
  25183. #endif
  25184. return err;
  25185. }
  25186. /* Check that the x and y oridinates are a valid point on the curve.
  25187. *
  25188. * pX X ordinate of EC point.
  25189. * pY Y ordinate of EC point.
  25190. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  25191. * not on the curve and MP_OKAY otherwise.
  25192. */
  25193. int sp_ecc_is_point_256(const mp_int* pX, const mp_int* pY)
  25194. {
  25195. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25196. sp_point_256* pub = NULL;
  25197. #else
  25198. sp_point_256 pub[1];
  25199. #endif
  25200. const byte one[1] = { 1 };
  25201. int err = MP_OKAY;
  25202. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25203. pub = (sp_point_256*)XMALLOC(sizeof(sp_point_256), NULL,
  25204. DYNAMIC_TYPE_ECC);
  25205. if (pub == NULL)
  25206. err = MEMORY_E;
  25207. #endif
  25208. if (err == MP_OKAY) {
  25209. sp_256_from_mp(pub->x, 4, pX);
  25210. sp_256_from_mp(pub->y, 4, pY);
  25211. sp_256_from_bin(pub->z, 4, one, (int)sizeof(one));
  25212. err = sp_256_ecc_is_point_4(pub, NULL);
  25213. }
  25214. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25215. if (pub != NULL)
  25216. XFREE(pub, NULL, DYNAMIC_TYPE_ECC);
  25217. #endif
  25218. return err;
  25219. }
  25220. /* Check that the private scalar generates the EC point (px, py), the point is
  25221. * on the curve and the point has the correct order.
  25222. *
  25223. * pX X ordinate of EC point.
  25224. * pY Y ordinate of EC point.
  25225. * privm Private scalar that generates EC point.
  25226. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  25227. * not on the curve, ECC_INF_E if the point does not have the correct order,
  25228. * ECC_PRIV_KEY_E when the private scalar doesn't generate the EC point and
  25229. * MP_OKAY otherwise.
  25230. */
  25231. int sp_ecc_check_key_256(const mp_int* pX, const mp_int* pY,
  25232. const mp_int* privm, void* heap)
  25233. {
  25234. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25235. sp_digit* priv = NULL;
  25236. sp_point_256* pub = NULL;
  25237. #else
  25238. sp_digit priv[4];
  25239. sp_point_256 pub[2];
  25240. #endif
  25241. sp_point_256* p = NULL;
  25242. const byte one[1] = { 1 };
  25243. int err = MP_OKAY;
  25244. #ifdef HAVE_INTEL_AVX2
  25245. word32 cpuid_flags = cpuid_get_flags();
  25246. #endif
  25247. /* Quick check the lengs of public key ordinates and private key are in
  25248. * range. Proper check later.
  25249. */
  25250. if (((mp_count_bits(pX) > 256) ||
  25251. (mp_count_bits(pY) > 256) ||
  25252. ((privm != NULL) && (mp_count_bits(privm) > 256)))) {
  25253. err = ECC_OUT_OF_RANGE_E;
  25254. }
  25255. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25256. if (err == MP_OKAY) {
  25257. pub = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  25258. DYNAMIC_TYPE_ECC);
  25259. if (pub == NULL)
  25260. err = MEMORY_E;
  25261. }
  25262. if (err == MP_OKAY && privm) {
  25263. priv = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap,
  25264. DYNAMIC_TYPE_ECC);
  25265. if (priv == NULL)
  25266. err = MEMORY_E;
  25267. }
  25268. #endif
  25269. if (err == MP_OKAY) {
  25270. p = pub + 1;
  25271. sp_256_from_mp(pub->x, 4, pX);
  25272. sp_256_from_mp(pub->y, 4, pY);
  25273. sp_256_from_bin(pub->z, 4, one, (int)sizeof(one));
  25274. if (privm)
  25275. sp_256_from_mp(priv, 4, privm);
  25276. /* Check point at infinitiy. */
  25277. if ((sp_256_iszero_4(pub->x) != 0) &&
  25278. (sp_256_iszero_4(pub->y) != 0)) {
  25279. err = ECC_INF_E;
  25280. }
  25281. }
  25282. /* Check range of X and Y */
  25283. if ((err == MP_OKAY) &&
  25284. ((sp_256_cmp_4(pub->x, p256_mod) >= 0) ||
  25285. (sp_256_cmp_4(pub->y, p256_mod) >= 0))) {
  25286. err = ECC_OUT_OF_RANGE_E;
  25287. }
  25288. if (err == MP_OKAY) {
  25289. /* Check point is on curve */
  25290. err = sp_256_ecc_is_point_4(pub, heap);
  25291. }
  25292. if (err == MP_OKAY) {
  25293. /* Point * order = infinity */
  25294. #ifdef HAVE_INTEL_AVX2
  25295. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  25296. err = sp_256_ecc_mulmod_avx2_4(p, pub, p256_order, 1, 1, heap);
  25297. else
  25298. #endif
  25299. err = sp_256_ecc_mulmod_4(p, pub, p256_order, 1, 1, heap);
  25300. }
  25301. /* Check result is infinity */
  25302. if ((err == MP_OKAY) && ((sp_256_iszero_4(p->x) == 0) ||
  25303. (sp_256_iszero_4(p->y) == 0))) {
  25304. err = ECC_INF_E;
  25305. }
  25306. if (privm) {
  25307. if (err == MP_OKAY) {
  25308. /* Base * private = point */
  25309. #ifdef HAVE_INTEL_AVX2
  25310. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  25311. err = sp_256_ecc_mulmod_base_avx2_4(p, priv, 1, 1, heap);
  25312. else
  25313. #endif
  25314. err = sp_256_ecc_mulmod_base_4(p, priv, 1, 1, heap);
  25315. }
  25316. /* Check result is public key */
  25317. if ((err == MP_OKAY) &&
  25318. ((sp_256_cmp_4(p->x, pub->x) != 0) ||
  25319. (sp_256_cmp_4(p->y, pub->y) != 0))) {
  25320. err = ECC_PRIV_KEY_E;
  25321. }
  25322. }
  25323. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25324. if (pub != NULL)
  25325. XFREE(pub, heap, DYNAMIC_TYPE_ECC);
  25326. if (priv != NULL)
  25327. XFREE(priv, heap, DYNAMIC_TYPE_ECC);
  25328. #endif
  25329. return err;
  25330. }
  25331. #endif
  25332. #ifdef WOLFSSL_PUBLIC_ECC_ADD_DBL
  25333. /* Add two projective EC points together.
  25334. * (pX, pY, pZ) + (qX, qY, qZ) = (rX, rY, rZ)
  25335. *
  25336. * pX First EC point's X ordinate.
  25337. * pY First EC point's Y ordinate.
  25338. * pZ First EC point's Z ordinate.
  25339. * qX Second EC point's X ordinate.
  25340. * qY Second EC point's Y ordinate.
  25341. * qZ Second EC point's Z ordinate.
  25342. * rX Resultant EC point's X ordinate.
  25343. * rY Resultant EC point's Y ordinate.
  25344. * rZ Resultant EC point's Z ordinate.
  25345. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  25346. */
  25347. int sp_ecc_proj_add_point_256(mp_int* pX, mp_int* pY, mp_int* pZ,
  25348. mp_int* qX, mp_int* qY, mp_int* qZ,
  25349. mp_int* rX, mp_int* rY, mp_int* rZ)
  25350. {
  25351. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25352. sp_digit* tmp = NULL;
  25353. sp_point_256* p = NULL;
  25354. #else
  25355. sp_digit tmp[2 * 4 * 6];
  25356. sp_point_256 p[2];
  25357. #endif
  25358. sp_point_256* q = NULL;
  25359. int err = MP_OKAY;
  25360. #ifdef HAVE_INTEL_AVX2
  25361. word32 cpuid_flags = cpuid_get_flags();
  25362. #endif
  25363. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25364. if (err == MP_OKAY) {
  25365. p = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, NULL,
  25366. DYNAMIC_TYPE_ECC);
  25367. if (p == NULL)
  25368. err = MEMORY_E;
  25369. }
  25370. if (err == MP_OKAY) {
  25371. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, NULL,
  25372. DYNAMIC_TYPE_ECC);
  25373. if (tmp == NULL) {
  25374. err = MEMORY_E;
  25375. }
  25376. }
  25377. #endif
  25378. if (err == MP_OKAY) {
  25379. q = p + 1;
  25380. sp_256_from_mp(p->x, 4, pX);
  25381. sp_256_from_mp(p->y, 4, pY);
  25382. sp_256_from_mp(p->z, 4, pZ);
  25383. sp_256_from_mp(q->x, 4, qX);
  25384. sp_256_from_mp(q->y, 4, qY);
  25385. sp_256_from_mp(q->z, 4, qZ);
  25386. p->infinity = sp_256_iszero_4(p->x) &
  25387. sp_256_iszero_4(p->y);
  25388. q->infinity = sp_256_iszero_4(q->x) &
  25389. sp_256_iszero_4(q->y);
  25390. #ifdef HAVE_INTEL_AVX2
  25391. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  25392. sp_256_proj_point_add_avx2_4(p, p, q, tmp);
  25393. else
  25394. #endif
  25395. sp_256_proj_point_add_4(p, p, q, tmp);
  25396. }
  25397. if (err == MP_OKAY) {
  25398. err = sp_256_to_mp(p->x, rX);
  25399. }
  25400. if (err == MP_OKAY) {
  25401. err = sp_256_to_mp(p->y, rY);
  25402. }
  25403. if (err == MP_OKAY) {
  25404. err = sp_256_to_mp(p->z, rZ);
  25405. }
  25406. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25407. if (tmp != NULL)
  25408. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  25409. if (p != NULL)
  25410. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  25411. #endif
  25412. return err;
  25413. }
  25414. /* Double a projective EC point.
  25415. * (pX, pY, pZ) + (pX, pY, pZ) = (rX, rY, rZ)
  25416. *
  25417. * pX EC point's X ordinate.
  25418. * pY EC point's Y ordinate.
  25419. * pZ EC point's Z ordinate.
  25420. * rX Resultant EC point's X ordinate.
  25421. * rY Resultant EC point's Y ordinate.
  25422. * rZ Resultant EC point's Z ordinate.
  25423. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  25424. */
  25425. int sp_ecc_proj_dbl_point_256(mp_int* pX, mp_int* pY, mp_int* pZ,
  25426. mp_int* rX, mp_int* rY, mp_int* rZ)
  25427. {
  25428. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25429. sp_digit* tmp = NULL;
  25430. sp_point_256* p = NULL;
  25431. #else
  25432. sp_digit tmp[2 * 4 * 2];
  25433. sp_point_256 p[1];
  25434. #endif
  25435. int err = MP_OKAY;
  25436. #ifdef HAVE_INTEL_AVX2
  25437. word32 cpuid_flags = cpuid_get_flags();
  25438. #endif
  25439. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25440. if (err == MP_OKAY) {
  25441. p = (sp_point_256*)XMALLOC(sizeof(sp_point_256), NULL,
  25442. DYNAMIC_TYPE_ECC);
  25443. if (p == NULL)
  25444. err = MEMORY_E;
  25445. }
  25446. if (err == MP_OKAY) {
  25447. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 2, NULL,
  25448. DYNAMIC_TYPE_ECC);
  25449. if (tmp == NULL)
  25450. err = MEMORY_E;
  25451. }
  25452. #endif
  25453. if (err == MP_OKAY) {
  25454. sp_256_from_mp(p->x, 4, pX);
  25455. sp_256_from_mp(p->y, 4, pY);
  25456. sp_256_from_mp(p->z, 4, pZ);
  25457. p->infinity = sp_256_iszero_4(p->x) &
  25458. sp_256_iszero_4(p->y);
  25459. #ifdef HAVE_INTEL_AVX2
  25460. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  25461. sp_256_proj_point_dbl_avx2_4(p, p, tmp);
  25462. else
  25463. #endif
  25464. sp_256_proj_point_dbl_4(p, p, tmp);
  25465. }
  25466. if (err == MP_OKAY) {
  25467. err = sp_256_to_mp(p->x, rX);
  25468. }
  25469. if (err == MP_OKAY) {
  25470. err = sp_256_to_mp(p->y, rY);
  25471. }
  25472. if (err == MP_OKAY) {
  25473. err = sp_256_to_mp(p->z, rZ);
  25474. }
  25475. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25476. if (tmp != NULL)
  25477. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  25478. if (p != NULL)
  25479. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  25480. #endif
  25481. return err;
  25482. }
  25483. /* Map a projective EC point to affine in place.
  25484. * pZ will be one.
  25485. *
  25486. * pX EC point's X ordinate.
  25487. * pY EC point's Y ordinate.
  25488. * pZ EC point's Z ordinate.
  25489. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  25490. */
  25491. int sp_ecc_map_256(mp_int* pX, mp_int* pY, mp_int* pZ)
  25492. {
  25493. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25494. sp_digit* tmp = NULL;
  25495. sp_point_256* p = NULL;
  25496. #else
  25497. sp_digit tmp[2 * 4 * 4];
  25498. sp_point_256 p[1];
  25499. #endif
  25500. int err = MP_OKAY;
  25501. #ifdef HAVE_INTEL_AVX2
  25502. word32 cpuid_flags = cpuid_get_flags();
  25503. #endif
  25504. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25505. if (err == MP_OKAY) {
  25506. p = (sp_point_256*)XMALLOC(sizeof(sp_point_256), NULL,
  25507. DYNAMIC_TYPE_ECC);
  25508. if (p == NULL)
  25509. err = MEMORY_E;
  25510. }
  25511. if (err == MP_OKAY) {
  25512. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 4, NULL,
  25513. DYNAMIC_TYPE_ECC);
  25514. if (tmp == NULL)
  25515. err = MEMORY_E;
  25516. }
  25517. #endif
  25518. if (err == MP_OKAY) {
  25519. sp_256_from_mp(p->x, 4, pX);
  25520. sp_256_from_mp(p->y, 4, pY);
  25521. sp_256_from_mp(p->z, 4, pZ);
  25522. p->infinity = sp_256_iszero_4(p->x) &
  25523. sp_256_iszero_4(p->y);
  25524. #ifdef HAVE_INTEL_AVX2
  25525. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  25526. sp_256_map_avx2_4(p, p, tmp);
  25527. else
  25528. #endif
  25529. sp_256_map_4(p, p, tmp);
  25530. }
  25531. if (err == MP_OKAY) {
  25532. err = sp_256_to_mp(p->x, pX);
  25533. }
  25534. if (err == MP_OKAY) {
  25535. err = sp_256_to_mp(p->y, pY);
  25536. }
  25537. if (err == MP_OKAY) {
  25538. err = sp_256_to_mp(p->z, pZ);
  25539. }
  25540. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25541. if (tmp != NULL)
  25542. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  25543. if (p != NULL)
  25544. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  25545. #endif
  25546. return err;
  25547. }
  25548. #endif /* WOLFSSL_PUBLIC_ECC_ADD_DBL */
  25549. #ifdef HAVE_COMP_KEY
  25550. /* Find the square root of a number mod the prime of the curve.
  25551. *
  25552. * y The number to operate on and the result.
  25553. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  25554. */
  25555. static int sp_256_mont_sqrt_4(sp_digit* y)
  25556. {
  25557. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25558. sp_digit* t1 = NULL;
  25559. #else
  25560. sp_digit t1[4 * 4];
  25561. #endif
  25562. sp_digit* t2 = NULL;
  25563. int err = MP_OKAY;
  25564. #ifdef HAVE_INTEL_AVX2
  25565. word32 cpuid_flags = cpuid_get_flags();
  25566. #endif
  25567. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25568. t1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 4, NULL, DYNAMIC_TYPE_ECC);
  25569. if (t1 == NULL) {
  25570. err = MEMORY_E;
  25571. }
  25572. #endif
  25573. if (err == MP_OKAY) {
  25574. t2 = t1 + 2 * 4;
  25575. #ifdef HAVE_INTEL_AVX2
  25576. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  25577. /* t2 = y ^ 0x2 */
  25578. sp_256_mont_sqr_avx2_4(t2, y, p256_mod, p256_mp_mod);
  25579. /* t1 = y ^ 0x3 */
  25580. sp_256_mont_mul_avx2_4(t1, t2, y, p256_mod, p256_mp_mod);
  25581. /* t2 = y ^ 0xc */
  25582. sp_256_mont_sqr_n_avx2_4(t2, t1, 2, p256_mod, p256_mp_mod);
  25583. /* t1 = y ^ 0xf */
  25584. sp_256_mont_mul_avx2_4(t1, t1, t2, p256_mod, p256_mp_mod);
  25585. /* t2 = y ^ 0xf0 */
  25586. sp_256_mont_sqr_n_avx2_4(t2, t1, 4, p256_mod, p256_mp_mod);
  25587. /* t1 = y ^ 0xff */
  25588. sp_256_mont_mul_avx2_4(t1, t1, t2, p256_mod, p256_mp_mod);
  25589. /* t2 = y ^ 0xff00 */
  25590. sp_256_mont_sqr_n_avx2_4(t2, t1, 8, p256_mod, p256_mp_mod);
  25591. /* t1 = y ^ 0xffff */
  25592. sp_256_mont_mul_avx2_4(t1, t1, t2, p256_mod, p256_mp_mod);
  25593. /* t2 = y ^ 0xffff0000 */
  25594. sp_256_mont_sqr_n_avx2_4(t2, t1, 16, p256_mod, p256_mp_mod);
  25595. /* t1 = y ^ 0xffffffff */
  25596. sp_256_mont_mul_avx2_4(t1, t1, t2, p256_mod, p256_mp_mod);
  25597. /* t1 = y ^ 0xffffffff00000000 */
  25598. sp_256_mont_sqr_n_avx2_4(t1, t1, 32, p256_mod, p256_mp_mod);
  25599. /* t1 = y ^ 0xffffffff00000001 */
  25600. sp_256_mont_mul_avx2_4(t1, t1, y, p256_mod, p256_mp_mod);
  25601. /* t1 = y ^ 0xffffffff00000001000000000000000000000000 */
  25602. sp_256_mont_sqr_n_avx2_4(t1, t1, 96, p256_mod, p256_mp_mod);
  25603. /* t1 = y ^ 0xffffffff00000001000000000000000000000001 */
  25604. sp_256_mont_mul_avx2_4(t1, t1, y, p256_mod, p256_mp_mod);
  25605. sp_256_mont_sqr_n_avx2_4(y, t1, 94, p256_mod, p256_mp_mod);
  25606. }
  25607. else
  25608. #endif
  25609. {
  25610. /* t2 = y ^ 0x2 */
  25611. sp_256_mont_sqr_4(t2, y, p256_mod, p256_mp_mod);
  25612. /* t1 = y ^ 0x3 */
  25613. sp_256_mont_mul_4(t1, t2, y, p256_mod, p256_mp_mod);
  25614. /* t2 = y ^ 0xc */
  25615. sp_256_mont_sqr_n_4(t2, t1, 2, p256_mod, p256_mp_mod);
  25616. /* t1 = y ^ 0xf */
  25617. sp_256_mont_mul_4(t1, t1, t2, p256_mod, p256_mp_mod);
  25618. /* t2 = y ^ 0xf0 */
  25619. sp_256_mont_sqr_n_4(t2, t1, 4, p256_mod, p256_mp_mod);
  25620. /* t1 = y ^ 0xff */
  25621. sp_256_mont_mul_4(t1, t1, t2, p256_mod, p256_mp_mod);
  25622. /* t2 = y ^ 0xff00 */
  25623. sp_256_mont_sqr_n_4(t2, t1, 8, p256_mod, p256_mp_mod);
  25624. /* t1 = y ^ 0xffff */
  25625. sp_256_mont_mul_4(t1, t1, t2, p256_mod, p256_mp_mod);
  25626. /* t2 = y ^ 0xffff0000 */
  25627. sp_256_mont_sqr_n_4(t2, t1, 16, p256_mod, p256_mp_mod);
  25628. /* t1 = y ^ 0xffffffff */
  25629. sp_256_mont_mul_4(t1, t1, t2, p256_mod, p256_mp_mod);
  25630. /* t1 = y ^ 0xffffffff00000000 */
  25631. sp_256_mont_sqr_n_4(t1, t1, 32, p256_mod, p256_mp_mod);
  25632. /* t1 = y ^ 0xffffffff00000001 */
  25633. sp_256_mont_mul_4(t1, t1, y, p256_mod, p256_mp_mod);
  25634. /* t1 = y ^ 0xffffffff00000001000000000000000000000000 */
  25635. sp_256_mont_sqr_n_4(t1, t1, 96, p256_mod, p256_mp_mod);
  25636. /* t1 = y ^ 0xffffffff00000001000000000000000000000001 */
  25637. sp_256_mont_mul_4(t1, t1, y, p256_mod, p256_mp_mod);
  25638. sp_256_mont_sqr_n_4(y, t1, 94, p256_mod, p256_mp_mod);
  25639. }
  25640. }
  25641. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25642. if (t1 != NULL)
  25643. XFREE(t1, NULL, DYNAMIC_TYPE_ECC);
  25644. #endif
  25645. return err;
  25646. }
  25647. /* Uncompress the point given the X ordinate.
  25648. *
  25649. * xm X ordinate.
  25650. * odd Whether the Y ordinate is odd.
  25651. * ym Calculated Y ordinate.
  25652. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  25653. */
  25654. int sp_ecc_uncompress_256(mp_int* xm, int odd, mp_int* ym)
  25655. {
  25656. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25657. sp_digit* x = NULL;
  25658. #else
  25659. sp_digit x[4 * 4];
  25660. #endif
  25661. sp_digit* y = NULL;
  25662. int err = MP_OKAY;
  25663. #ifdef HAVE_INTEL_AVX2
  25664. word32 cpuid_flags = cpuid_get_flags();
  25665. #endif
  25666. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25667. x = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 4, NULL, DYNAMIC_TYPE_ECC);
  25668. if (x == NULL)
  25669. err = MEMORY_E;
  25670. #endif
  25671. if (err == MP_OKAY) {
  25672. y = x + 2 * 4;
  25673. sp_256_from_mp(x, 4, xm);
  25674. err = sp_256_mod_mul_norm_4(x, x, p256_mod);
  25675. }
  25676. if (err == MP_OKAY) {
  25677. /* y = x^3 */
  25678. #ifdef HAVE_INTEL_AVX2
  25679. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  25680. sp_256_mont_sqr_avx2_4(y, x, p256_mod, p256_mp_mod);
  25681. sp_256_mont_mul_avx2_4(y, y, x, p256_mod, p256_mp_mod);
  25682. }
  25683. else
  25684. #endif
  25685. {
  25686. sp_256_mont_sqr_4(y, x, p256_mod, p256_mp_mod);
  25687. sp_256_mont_mul_4(y, y, x, p256_mod, p256_mp_mod);
  25688. }
  25689. /* y = x^3 - 3x */
  25690. sp_256_mont_sub_4(y, y, x, p256_mod);
  25691. sp_256_mont_sub_4(y, y, x, p256_mod);
  25692. sp_256_mont_sub_4(y, y, x, p256_mod);
  25693. /* y = x^3 - 3x + b */
  25694. err = sp_256_mod_mul_norm_4(x, p256_b, p256_mod);
  25695. }
  25696. if (err == MP_OKAY) {
  25697. sp_256_mont_add_4(y, y, x, p256_mod);
  25698. /* y = sqrt(x^3 - 3x + b) */
  25699. err = sp_256_mont_sqrt_4(y);
  25700. }
  25701. if (err == MP_OKAY) {
  25702. XMEMSET(y + 4, 0, 4U * sizeof(sp_digit));
  25703. sp_256_mont_reduce_4(y, p256_mod, p256_mp_mod);
  25704. if ((((word32)y[0] ^ (word32)odd) & 1U) != 0U) {
  25705. sp_256_mont_sub_4(y, p256_mod, y, p256_mod);
  25706. }
  25707. err = sp_256_to_mp(y, ym);
  25708. }
  25709. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25710. if (x != NULL)
  25711. XFREE(x, NULL, DYNAMIC_TYPE_ECC);
  25712. #endif
  25713. return err;
  25714. }
  25715. #endif
  25716. #endif /* !WOLFSSL_SP_NO_256 */
  25717. #ifdef WOLFSSL_SP_384
  25718. /* Point structure to use. */
  25719. typedef struct sp_point_384 {
  25720. /* X ordinate of point. */
  25721. sp_digit x[2 * 6];
  25722. /* Y ordinate of point. */
  25723. sp_digit y[2 * 6];
  25724. /* Z ordinate of point. */
  25725. sp_digit z[2 * 6];
  25726. /* Indicates point is at infinity. */
  25727. int infinity;
  25728. } sp_point_384;
  25729. /* The modulus (prime) of the curve P384. */
  25730. static const sp_digit p384_mod[6] = {
  25731. 0x00000000ffffffffL,0xffffffff00000000L,0xfffffffffffffffeL,
  25732. 0xffffffffffffffffL,0xffffffffffffffffL,0xffffffffffffffffL
  25733. };
  25734. /* The Montgomery normalizer for modulus of the curve P384. */
  25735. static const sp_digit p384_norm_mod[6] = {
  25736. 0xffffffff00000001L,0x00000000ffffffffL,0x0000000000000001L,
  25737. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L
  25738. };
  25739. /* The Montgomery multiplier for modulus of the curve P384. */
  25740. static sp_digit p384_mp_mod = 0x0000000100000001;
  25741. #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \
  25742. defined(HAVE_ECC_VERIFY)
  25743. /* The order of the curve P384. */
  25744. static const sp_digit p384_order[6] = {
  25745. 0xecec196accc52973L,0x581a0db248b0a77aL,0xc7634d81f4372ddfL,
  25746. 0xffffffffffffffffL,0xffffffffffffffffL,0xffffffffffffffffL
  25747. };
  25748. #endif
  25749. /* The order of the curve P384 minus 2. */
  25750. static const sp_digit p384_order2[6] = {
  25751. 0xecec196accc52971L,0x581a0db248b0a77aL,0xc7634d81f4372ddfL,
  25752. 0xffffffffffffffffL,0xffffffffffffffffL,0xffffffffffffffffL
  25753. };
  25754. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  25755. /* The Montgomery normalizer for order of the curve P384. */
  25756. static const sp_digit p384_norm_order[6] = {
  25757. 0x1313e695333ad68dL,0xa7e5f24db74f5885L,0x389cb27e0bc8d220L,
  25758. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L
  25759. };
  25760. #endif
  25761. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  25762. /* The Montgomery multiplier for order of the curve P384. */
  25763. static sp_digit p384_mp_order = 0x6ed46089e88fdc45L;
  25764. #endif
  25765. #ifdef WOLFSSL_SP_SMALL
  25766. /* The base point of curve P384. */
  25767. static const sp_point_384 p384_base = {
  25768. /* X ordinate */
  25769. {
  25770. 0x3a545e3872760ab7L,0x5502f25dbf55296cL,0x59f741e082542a38L,
  25771. 0x6e1d3b628ba79b98L,0x8eb1c71ef320ad74L,0xaa87ca22be8b0537L,
  25772. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  25773. (sp_digit)0
  25774. },
  25775. /* Y ordinate */
  25776. {
  25777. 0x7a431d7c90ea0e5fL,0x0a60b1ce1d7e819dL,0xe9da3113b5f0b8c0L,
  25778. 0xf8f41dbd289a147cL,0x5d9e98bf9292dc29L,0x3617de4a96262c6fL,
  25779. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  25780. (sp_digit)0
  25781. },
  25782. /* Z ordinate */
  25783. {
  25784. 0x0000000000000001L,0x0000000000000000L,0x0000000000000000L,
  25785. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  25786. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  25787. (sp_digit)0
  25788. },
  25789. /* infinity */
  25790. 0
  25791. };
  25792. #endif /* WOLFSSL_SP_SMALL */
  25793. #if defined(HAVE_ECC_CHECK_KEY) || defined(HAVE_COMP_KEY)
  25794. static const sp_digit p384_b[6] = {
  25795. 0x2a85c8edd3ec2aefL,0xc656398d8a2ed19dL,0x0314088f5013875aL,
  25796. 0x181d9c6efe814112L,0x988e056be3f82d19L,0xb3312fa7e23ee7e4L
  25797. };
  25798. #endif
  25799. #ifdef __cplusplus
  25800. extern "C" {
  25801. #endif
  25802. extern void sp_384_mul_6(sp_digit* r, const sp_digit* a, const sp_digit* b);
  25803. #ifdef __cplusplus
  25804. }
  25805. #endif
  25806. #ifdef HAVE_INTEL_AVX2
  25807. #ifdef __cplusplus
  25808. extern "C" {
  25809. #endif
  25810. extern void sp_384_mul_avx2_6(sp_digit* r, const sp_digit* a, const sp_digit* b);
  25811. #ifdef __cplusplus
  25812. }
  25813. #endif
  25814. #endif /* HAVE_INTEL_AVX2 */
  25815. #ifdef __cplusplus
  25816. extern "C" {
  25817. #endif
  25818. extern void sp_384_sqr_6(sp_digit* r, const sp_digit* a);
  25819. #ifdef __cplusplus
  25820. }
  25821. #endif
  25822. #ifdef HAVE_INTEL_AVX2
  25823. #ifdef __cplusplus
  25824. extern "C" {
  25825. #endif
  25826. extern void sp_384_sqr_avx2_6(sp_digit* r, const sp_digit* a);
  25827. #ifdef __cplusplus
  25828. }
  25829. #endif
  25830. #endif /* HAVE_INTEL_AVX2 */
  25831. #ifdef __cplusplus
  25832. extern "C" {
  25833. #endif
  25834. extern sp_digit sp_384_add_6(sp_digit* r, const sp_digit* a, const sp_digit* b);
  25835. #ifdef __cplusplus
  25836. }
  25837. #endif
  25838. #ifdef __cplusplus
  25839. extern "C" {
  25840. #endif
  25841. extern sp_digit sp_384_sub_6(sp_digit* r, const sp_digit* a, const sp_digit* b);
  25842. #ifdef __cplusplus
  25843. }
  25844. #endif
  25845. /* Multiply a number by Montgomery normalizer mod modulus (prime).
  25846. *
  25847. * r The resulting Montgomery form number.
  25848. * a The number to convert.
  25849. * m The modulus (prime).
  25850. * returns MEMORY_E when memory allocation fails and MP_OKAY otherwise.
  25851. */
  25852. static int sp_384_mod_mul_norm_6(sp_digit* r, const sp_digit* a, const sp_digit* m)
  25853. {
  25854. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25855. int64_t* t = NULL;
  25856. #else
  25857. int64_t t[2 * 12];
  25858. #endif
  25859. int64_t* a32 = NULL;
  25860. int64_t o;
  25861. int err = MP_OKAY;
  25862. (void)m;
  25863. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25864. t = (int64_t*)XMALLOC(sizeof(int64_t) * 2 * 12, NULL, DYNAMIC_TYPE_ECC);
  25865. if (t == NULL)
  25866. err = MEMORY_E;
  25867. #endif
  25868. if (err == MP_OKAY) {
  25869. a32 = t + 12;
  25870. a32[0] = a[0] & 0xffffffff;
  25871. a32[1] = a[0] >> 32;
  25872. a32[2] = a[1] & 0xffffffff;
  25873. a32[3] = a[1] >> 32;
  25874. a32[4] = a[2] & 0xffffffff;
  25875. a32[5] = a[2] >> 32;
  25876. a32[6] = a[3] & 0xffffffff;
  25877. a32[7] = a[3] >> 32;
  25878. a32[8] = a[4] & 0xffffffff;
  25879. a32[9] = a[4] >> 32;
  25880. a32[10] = a[5] & 0xffffffff;
  25881. a32[11] = a[5] >> 32;
  25882. /* 1 0 0 0 0 0 0 0 1 1 0 -1 */
  25883. t[0] = 0 + a32[0] + a32[8] + a32[9] - a32[11];
  25884. /* -1 1 0 0 0 0 0 0 -1 0 1 1 */
  25885. t[1] = 0 - a32[0] + a32[1] - a32[8] + a32[10] + a32[11];
  25886. /* 0 -1 1 0 0 0 0 0 0 -1 0 1 */
  25887. t[2] = 0 - a32[1] + a32[2] - a32[9] + a32[11];
  25888. /* 1 0 -1 1 0 0 0 0 1 1 -1 -1 */
  25889. t[3] = 0 + a32[0] - a32[2] + a32[3] + a32[8] + a32[9] - a32[10] - a32[11];
  25890. /* 1 1 0 -1 1 0 0 0 1 2 1 -2 */
  25891. t[4] = 0 + a32[0] + a32[1] - a32[3] + a32[4] + a32[8] + 2 * a32[9] + a32[10] - 2 * a32[11];
  25892. /* 0 1 1 0 -1 1 0 0 0 1 2 1 */
  25893. t[5] = 0 + a32[1] + a32[2] - a32[4] + a32[5] + a32[9] + 2 * a32[10] + a32[11];
  25894. /* 0 0 1 1 0 -1 1 0 0 0 1 2 */
  25895. t[6] = 0 + a32[2] + a32[3] - a32[5] + a32[6] + a32[10] + 2 * a32[11];
  25896. /* 0 0 0 1 1 0 -1 1 0 0 0 1 */
  25897. t[7] = 0 + a32[3] + a32[4] - a32[6] + a32[7] + a32[11];
  25898. /* 0 0 0 0 1 1 0 -1 1 0 0 0 */
  25899. t[8] = 0 + a32[4] + a32[5] - a32[7] + a32[8];
  25900. /* 0 0 0 0 0 1 1 0 -1 1 0 0 */
  25901. t[9] = 0 + a32[5] + a32[6] - a32[8] + a32[9];
  25902. /* 0 0 0 0 0 0 1 1 0 -1 1 0 */
  25903. t[10] = 0 + a32[6] + a32[7] - a32[9] + a32[10];
  25904. /* 0 0 0 0 0 0 0 1 1 0 -1 1 */
  25905. t[11] = 0 + a32[7] + a32[8] - a32[10] + a32[11];
  25906. t[1] += t[0] >> 32; t[0] &= 0xffffffff;
  25907. t[2] += t[1] >> 32; t[1] &= 0xffffffff;
  25908. t[3] += t[2] >> 32; t[2] &= 0xffffffff;
  25909. t[4] += t[3] >> 32; t[3] &= 0xffffffff;
  25910. t[5] += t[4] >> 32; t[4] &= 0xffffffff;
  25911. t[6] += t[5] >> 32; t[5] &= 0xffffffff;
  25912. t[7] += t[6] >> 32; t[6] &= 0xffffffff;
  25913. t[8] += t[7] >> 32; t[7] &= 0xffffffff;
  25914. t[9] += t[8] >> 32; t[8] &= 0xffffffff;
  25915. t[10] += t[9] >> 32; t[9] &= 0xffffffff;
  25916. t[11] += t[10] >> 32; t[10] &= 0xffffffff;
  25917. o = t[11] >> 32; t[11] &= 0xffffffff;
  25918. t[0] += o;
  25919. t[1] -= o;
  25920. t[3] += o;
  25921. t[4] += o;
  25922. t[1] += t[0] >> 32; t[0] &= 0xffffffff;
  25923. t[2] += t[1] >> 32; t[1] &= 0xffffffff;
  25924. t[3] += t[2] >> 32; t[2] &= 0xffffffff;
  25925. t[4] += t[3] >> 32; t[3] &= 0xffffffff;
  25926. t[5] += t[4] >> 32; t[4] &= 0xffffffff;
  25927. t[6] += t[5] >> 32; t[5] &= 0xffffffff;
  25928. t[7] += t[6] >> 32; t[6] &= 0xffffffff;
  25929. t[8] += t[7] >> 32; t[7] &= 0xffffffff;
  25930. t[9] += t[8] >> 32; t[8] &= 0xffffffff;
  25931. t[10] += t[9] >> 32; t[9] &= 0xffffffff;
  25932. t[11] += t[10] >> 32; t[10] &= 0xffffffff;
  25933. r[0] = (t[1] << 32) | t[0];
  25934. r[1] = (t[3] << 32) | t[2];
  25935. r[2] = (t[5] << 32) | t[4];
  25936. r[3] = (t[7] << 32) | t[6];
  25937. r[4] = (t[9] << 32) | t[8];
  25938. r[5] = (t[11] << 32) | t[10];
  25939. }
  25940. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  25941. if (t != NULL)
  25942. XFREE(t, NULL, DYNAMIC_TYPE_ECC);
  25943. #endif
  25944. return err;
  25945. }
  25946. /* Convert an mp_int to an array of sp_digit.
  25947. *
  25948. * r A single precision integer.
  25949. * size Maximum number of bytes to convert
  25950. * a A multi-precision integer.
  25951. */
  25952. static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
  25953. {
  25954. #if DIGIT_BIT == 64
  25955. int j;
  25956. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  25957. for (j = a->used; j < size; j++) {
  25958. r[j] = 0;
  25959. }
  25960. #elif DIGIT_BIT > 64
  25961. int i;
  25962. int j = 0;
  25963. word32 s = 0;
  25964. r[0] = 0;
  25965. for (i = 0; i < a->used && j < size; i++) {
  25966. r[j] |= ((sp_digit)a->dp[i] << s);
  25967. r[j] &= 0xffffffffffffffffl;
  25968. s = 64U - s;
  25969. if (j + 1 >= size) {
  25970. break;
  25971. }
  25972. /* lint allow cast of mismatch word32 and mp_digit */
  25973. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  25974. while ((s + 64U) <= (word32)DIGIT_BIT) {
  25975. s += 64U;
  25976. r[j] &= 0xffffffffffffffffl;
  25977. if (j + 1 >= size) {
  25978. break;
  25979. }
  25980. if (s < (word32)DIGIT_BIT) {
  25981. /* lint allow cast of mismatch word32 and mp_digit */
  25982. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  25983. }
  25984. else {
  25985. r[++j] = (sp_digit)0;
  25986. }
  25987. }
  25988. s = (word32)DIGIT_BIT - s;
  25989. }
  25990. for (j++; j < size; j++) {
  25991. r[j] = 0;
  25992. }
  25993. #else
  25994. int i;
  25995. int j = 0;
  25996. int s = 0;
  25997. r[0] = 0;
  25998. for (i = 0; i < a->used && j < size; i++) {
  25999. r[j] |= ((sp_digit)a->dp[i]) << s;
  26000. if (s + DIGIT_BIT >= 64) {
  26001. r[j] &= 0xffffffffffffffffl;
  26002. if (j + 1 >= size) {
  26003. break;
  26004. }
  26005. s = 64 - s;
  26006. if (s == DIGIT_BIT) {
  26007. r[++j] = 0;
  26008. s = 0;
  26009. }
  26010. else {
  26011. r[++j] = a->dp[i] >> s;
  26012. s = DIGIT_BIT - s;
  26013. }
  26014. }
  26015. else {
  26016. s += DIGIT_BIT;
  26017. }
  26018. }
  26019. for (j++; j < size; j++) {
  26020. r[j] = 0;
  26021. }
  26022. #endif
  26023. }
  26024. /* Convert a point of type ecc_point to type sp_point_384.
  26025. *
  26026. * p Point of type sp_point_384 (result).
  26027. * pm Point of type ecc_point.
  26028. */
  26029. static void sp_384_point_from_ecc_point_6(sp_point_384* p,
  26030. const ecc_point* pm)
  26031. {
  26032. XMEMSET(p->x, 0, sizeof(p->x));
  26033. XMEMSET(p->y, 0, sizeof(p->y));
  26034. XMEMSET(p->z, 0, sizeof(p->z));
  26035. sp_384_from_mp(p->x, 6, pm->x);
  26036. sp_384_from_mp(p->y, 6, pm->y);
  26037. sp_384_from_mp(p->z, 6, pm->z);
  26038. p->infinity = 0;
  26039. }
  26040. /* Convert an array of sp_digit to an mp_int.
  26041. *
  26042. * a A single precision integer.
  26043. * r A multi-precision integer.
  26044. */
  26045. static int sp_384_to_mp(const sp_digit* a, mp_int* r)
  26046. {
  26047. int err;
  26048. err = mp_grow(r, (384 + DIGIT_BIT - 1) / DIGIT_BIT);
  26049. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  26050. #if DIGIT_BIT == 64
  26051. XMEMCPY(r->dp, a, sizeof(sp_digit) * 6);
  26052. r->used = 6;
  26053. mp_clamp(r);
  26054. #elif DIGIT_BIT < 64
  26055. int i;
  26056. int j = 0;
  26057. int s = 0;
  26058. r->dp[0] = 0;
  26059. for (i = 0; i < 6; i++) {
  26060. r->dp[j] |= (mp_digit)(a[i] << s);
  26061. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  26062. s = DIGIT_BIT - s;
  26063. r->dp[++j] = (mp_digit)(a[i] >> s);
  26064. while (s + DIGIT_BIT <= 64) {
  26065. s += DIGIT_BIT;
  26066. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  26067. if (s == SP_WORD_SIZE) {
  26068. r->dp[j] = 0;
  26069. }
  26070. else {
  26071. r->dp[j] = (mp_digit)(a[i] >> s);
  26072. }
  26073. }
  26074. s = 64 - s;
  26075. }
  26076. r->used = (384 + DIGIT_BIT - 1) / DIGIT_BIT;
  26077. mp_clamp(r);
  26078. #else
  26079. int i;
  26080. int j = 0;
  26081. int s = 0;
  26082. r->dp[0] = 0;
  26083. for (i = 0; i < 6; i++) {
  26084. r->dp[j] |= ((mp_digit)a[i]) << s;
  26085. if (s + 64 >= DIGIT_BIT) {
  26086. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  26087. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  26088. #endif
  26089. s = DIGIT_BIT - s;
  26090. r->dp[++j] = a[i] >> s;
  26091. s = 64 - s;
  26092. }
  26093. else {
  26094. s += 64;
  26095. }
  26096. }
  26097. r->used = (384 + DIGIT_BIT - 1) / DIGIT_BIT;
  26098. mp_clamp(r);
  26099. #endif
  26100. }
  26101. return err;
  26102. }
  26103. /* Convert a point of type sp_point_384 to type ecc_point.
  26104. *
  26105. * p Point of type sp_point_384.
  26106. * pm Point of type ecc_point (result).
  26107. * returns MEMORY_E when allocation of memory in ecc_point fails otherwise
  26108. * MP_OKAY.
  26109. */
  26110. static int sp_384_point_to_ecc_point_6(const sp_point_384* p, ecc_point* pm)
  26111. {
  26112. int err;
  26113. err = sp_384_to_mp(p->x, pm->x);
  26114. if (err == MP_OKAY) {
  26115. err = sp_384_to_mp(p->y, pm->y);
  26116. }
  26117. if (err == MP_OKAY) {
  26118. err = sp_384_to_mp(p->z, pm->z);
  26119. }
  26120. return err;
  26121. }
  26122. #ifdef __cplusplus
  26123. extern "C" {
  26124. #endif
  26125. extern void sp_384_cond_copy_6(sp_digit* r, const sp_digit* a, sp_digit m);
  26126. #ifdef __cplusplus
  26127. }
  26128. #endif
  26129. #ifdef __cplusplus
  26130. extern "C" {
  26131. #endif
  26132. extern sp_digit sp_384_cond_sub_6(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  26133. #ifdef __cplusplus
  26134. }
  26135. #endif
  26136. #ifdef __cplusplus
  26137. extern "C" {
  26138. #endif
  26139. extern void sp_384_mont_reduce_6(sp_digit* a, const sp_digit* m, sp_digit mp);
  26140. #ifdef __cplusplus
  26141. }
  26142. #endif
  26143. #ifdef __cplusplus
  26144. extern "C" {
  26145. #endif
  26146. extern void sp_384_mont_reduce_order_6(sp_digit* a, const sp_digit* m, sp_digit mp);
  26147. #ifdef __cplusplus
  26148. }
  26149. #endif
  26150. /* Multiply two Montgomery form numbers mod the modulus (prime).
  26151. * (r = a * b mod m)
  26152. *
  26153. * r Result of multiplication.
  26154. * a First number to multiply in Montgomery form.
  26155. * b Second number to multiply in Montgomery form.
  26156. * m Modulus (prime).
  26157. * mp Montgomery mulitplier.
  26158. */
  26159. SP_NOINLINE static void sp_384_mont_mul_6(sp_digit* r, const sp_digit* a,
  26160. const sp_digit* b, const sp_digit* m, sp_digit mp)
  26161. {
  26162. sp_384_mul_6(r, a, b);
  26163. sp_384_mont_reduce_6(r, m, mp);
  26164. }
  26165. /* Square the Montgomery form number. (r = a * a mod m)
  26166. *
  26167. * r Result of squaring.
  26168. * a Number to square in Montgomery form.
  26169. * m Modulus (prime).
  26170. * mp Montgomery mulitplier.
  26171. */
  26172. SP_NOINLINE static void sp_384_mont_sqr_6(sp_digit* r, const sp_digit* a,
  26173. const sp_digit* m, sp_digit mp)
  26174. {
  26175. sp_384_sqr_6(r, a);
  26176. sp_384_mont_reduce_6(r, m, mp);
  26177. }
  26178. #if !defined(WOLFSSL_SP_SMALL) || defined(HAVE_COMP_KEY)
  26179. /* Square the Montgomery form number a number of times. (r = a ^ n mod m)
  26180. *
  26181. * r Result of squaring.
  26182. * a Number to square in Montgomery form.
  26183. * n Number of times to square.
  26184. * m Modulus (prime).
  26185. * mp Montgomery mulitplier.
  26186. */
  26187. static void sp_384_mont_sqr_n_6(sp_digit* r, const sp_digit* a, int n,
  26188. const sp_digit* m, sp_digit mp)
  26189. {
  26190. sp_384_mont_sqr_6(r, a, m, mp);
  26191. for (; n > 1; n--) {
  26192. sp_384_mont_sqr_6(r, r, m, mp);
  26193. }
  26194. }
  26195. #endif /* !WOLFSSL_SP_SMALL | HAVE_COMP_KEY */
  26196. #ifdef WOLFSSL_SP_SMALL
  26197. /* Mod-2 for the P384 curve. */
  26198. static const uint64_t p384_mod_minus_2[6] = {
  26199. 0x00000000fffffffdU,0xffffffff00000000U,0xfffffffffffffffeU,
  26200. 0xffffffffffffffffU,0xffffffffffffffffU,0xffffffffffffffffU
  26201. };
  26202. #endif /* !WOLFSSL_SP_SMALL */
  26203. /* Invert the number, in Montgomery form, modulo the modulus (prime) of the
  26204. * P384 curve. (r = 1 / a mod m)
  26205. *
  26206. * r Inverse result.
  26207. * a Number to invert.
  26208. * td Temporary data.
  26209. */
  26210. static void sp_384_mont_inv_6(sp_digit* r, const sp_digit* a, sp_digit* td)
  26211. {
  26212. #ifdef WOLFSSL_SP_SMALL
  26213. sp_digit* t = td;
  26214. int i;
  26215. XMEMCPY(t, a, sizeof(sp_digit) * 6);
  26216. for (i=382; i>=0; i--) {
  26217. sp_384_mont_sqr_6(t, t, p384_mod, p384_mp_mod);
  26218. if (p384_mod_minus_2[i / 64] & ((sp_digit)1 << (i % 64)))
  26219. sp_384_mont_mul_6(t, t, a, p384_mod, p384_mp_mod);
  26220. }
  26221. XMEMCPY(r, t, sizeof(sp_digit) * 6);
  26222. #else
  26223. sp_digit* t1 = td;
  26224. sp_digit* t2 = td + 2 * 6;
  26225. sp_digit* t3 = td + 4 * 6;
  26226. sp_digit* t4 = td + 6 * 6;
  26227. sp_digit* t5 = td + 8 * 6;
  26228. /* 0x2 */
  26229. sp_384_mont_sqr_6(t1, a, p384_mod, p384_mp_mod);
  26230. /* 0x3 */
  26231. sp_384_mont_mul_6(t5, t1, a, p384_mod, p384_mp_mod);
  26232. /* 0xc */
  26233. sp_384_mont_sqr_n_6(t1, t5, 2, p384_mod, p384_mp_mod);
  26234. /* 0xf */
  26235. sp_384_mont_mul_6(t2, t5, t1, p384_mod, p384_mp_mod);
  26236. /* 0x1e */
  26237. sp_384_mont_sqr_6(t1, t2, p384_mod, p384_mp_mod);
  26238. /* 0x1f */
  26239. sp_384_mont_mul_6(t4, t1, a, p384_mod, p384_mp_mod);
  26240. /* 0x3e0 */
  26241. sp_384_mont_sqr_n_6(t1, t4, 5, p384_mod, p384_mp_mod);
  26242. /* 0x3ff */
  26243. sp_384_mont_mul_6(t2, t4, t1, p384_mod, p384_mp_mod);
  26244. /* 0x7fe0 */
  26245. sp_384_mont_sqr_n_6(t1, t2, 5, p384_mod, p384_mp_mod);
  26246. /* 0x7fff */
  26247. sp_384_mont_mul_6(t4, t4, t1, p384_mod, p384_mp_mod);
  26248. /* 0x3fff8000 */
  26249. sp_384_mont_sqr_n_6(t1, t4, 15, p384_mod, p384_mp_mod);
  26250. /* 0x3fffffff */
  26251. sp_384_mont_mul_6(t2, t4, t1, p384_mod, p384_mp_mod);
  26252. /* 0xfffffffc */
  26253. sp_384_mont_sqr_n_6(t3, t2, 2, p384_mod, p384_mp_mod);
  26254. /* 0xfffffffd */
  26255. sp_384_mont_mul_6(r, t3, a, p384_mod, p384_mp_mod);
  26256. /* 0xffffffff */
  26257. sp_384_mont_mul_6(t3, t5, t3, p384_mod, p384_mp_mod);
  26258. /* 0xfffffffc0000000 */
  26259. sp_384_mont_sqr_n_6(t1, t2, 30, p384_mod, p384_mp_mod);
  26260. /* 0xfffffffffffffff */
  26261. sp_384_mont_mul_6(t2, t2, t1, p384_mod, p384_mp_mod);
  26262. /* 0xfffffffffffffff000000000000000 */
  26263. sp_384_mont_sqr_n_6(t1, t2, 60, p384_mod, p384_mp_mod);
  26264. /* 0xffffffffffffffffffffffffffffff */
  26265. sp_384_mont_mul_6(t2, t2, t1, p384_mod, p384_mp_mod);
  26266. /* 0xffffffffffffffffffffffffffffff000000000000000000000000000000 */
  26267. sp_384_mont_sqr_n_6(t1, t2, 120, p384_mod, p384_mp_mod);
  26268. /* 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  26269. sp_384_mont_mul_6(t2, t2, t1, p384_mod, p384_mp_mod);
  26270. /* 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 */
  26271. sp_384_mont_sqr_n_6(t1, t2, 15, p384_mod, p384_mp_mod);
  26272. /* 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  26273. sp_384_mont_mul_6(t2, t4, t1, p384_mod, p384_mp_mod);
  26274. /* 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000 */
  26275. sp_384_mont_sqr_n_6(t1, t2, 33, p384_mod, p384_mp_mod);
  26276. /* 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff */
  26277. sp_384_mont_mul_6(t2, t3, t1, p384_mod, p384_mp_mod);
  26278. /* 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000000000000 */
  26279. sp_384_mont_sqr_n_6(t1, t2, 96, p384_mod, p384_mp_mod);
  26280. /* 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffd */
  26281. sp_384_mont_mul_6(r, r, t1, p384_mod, p384_mp_mod);
  26282. #endif /* WOLFSSL_SP_SMALL */
  26283. }
  26284. #ifdef __cplusplus
  26285. extern "C" {
  26286. #endif
  26287. extern sp_int64 sp_384_cmp_6(const sp_digit* a, const sp_digit* b);
  26288. #ifdef __cplusplus
  26289. }
  26290. #endif
  26291. /* Normalize the values in each word to 64.
  26292. *
  26293. * a Array of sp_digit to normalize.
  26294. */
  26295. #define sp_384_norm_6(a)
  26296. /* Map the Montgomery form projective coordinate point to an affine point.
  26297. *
  26298. * r Resulting affine coordinate point.
  26299. * p Montgomery form projective coordinate point.
  26300. * t Temporary ordinate data.
  26301. */
  26302. static void sp_384_map_6(sp_point_384* r, const sp_point_384* p,
  26303. sp_digit* t)
  26304. {
  26305. sp_digit* t1 = t;
  26306. sp_digit* t2 = t + 2*6;
  26307. sp_int64 n;
  26308. sp_384_mont_inv_6(t1, p->z, t + 2*6);
  26309. sp_384_mont_sqr_6(t2, t1, p384_mod, p384_mp_mod);
  26310. sp_384_mont_mul_6(t1, t2, t1, p384_mod, p384_mp_mod);
  26311. /* x /= z^2 */
  26312. sp_384_mont_mul_6(r->x, p->x, t2, p384_mod, p384_mp_mod);
  26313. XMEMSET(r->x + 6, 0, sizeof(r->x) / 2U);
  26314. sp_384_mont_reduce_6(r->x, p384_mod, p384_mp_mod);
  26315. /* Reduce x to less than modulus */
  26316. n = sp_384_cmp_6(r->x, p384_mod);
  26317. sp_384_cond_sub_6(r->x, r->x, p384_mod, ~(n >> 63));
  26318. sp_384_norm_6(r->x);
  26319. /* y /= z^3 */
  26320. sp_384_mont_mul_6(r->y, p->y, t1, p384_mod, p384_mp_mod);
  26321. XMEMSET(r->y + 6, 0, sizeof(r->y) / 2U);
  26322. sp_384_mont_reduce_6(r->y, p384_mod, p384_mp_mod);
  26323. /* Reduce y to less than modulus */
  26324. n = sp_384_cmp_6(r->y, p384_mod);
  26325. sp_384_cond_sub_6(r->y, r->y, p384_mod, ~(n >> 63));
  26326. sp_384_norm_6(r->y);
  26327. XMEMSET(r->z, 0, sizeof(r->z) / 2);
  26328. r->z[0] = 1;
  26329. }
  26330. #ifdef __cplusplus
  26331. extern "C" {
  26332. #endif
  26333. extern void sp_384_mont_add_6(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  26334. #ifdef __cplusplus
  26335. }
  26336. #endif
  26337. #ifdef __cplusplus
  26338. extern "C" {
  26339. #endif
  26340. extern void sp_384_mont_dbl_6(sp_digit* r, const sp_digit* a, const sp_digit* m);
  26341. #ifdef __cplusplus
  26342. }
  26343. #endif
  26344. #ifdef __cplusplus
  26345. extern "C" {
  26346. #endif
  26347. extern void sp_384_mont_tpl_6(sp_digit* r, const sp_digit* a, const sp_digit* m);
  26348. #ifdef __cplusplus
  26349. }
  26350. #endif
  26351. #ifdef __cplusplus
  26352. extern "C" {
  26353. #endif
  26354. extern void sp_384_mont_sub_6(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  26355. #ifdef __cplusplus
  26356. }
  26357. #endif
  26358. #ifdef __cplusplus
  26359. extern "C" {
  26360. #endif
  26361. extern void sp_384_mont_sub_lower_6(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  26362. #ifdef __cplusplus
  26363. }
  26364. #endif
  26365. #ifdef __cplusplus
  26366. extern "C" {
  26367. #endif
  26368. extern void sp_384_div2_6(sp_digit* r, const sp_digit* a, const sp_digit* m);
  26369. #ifdef __cplusplus
  26370. }
  26371. #endif
  26372. /* Double the Montgomery form projective point p.
  26373. *
  26374. * r Result of doubling point.
  26375. * p Point to double.
  26376. * t Temporary ordinate data.
  26377. */
  26378. #ifdef WOLFSSL_SP_NONBLOCK
  26379. typedef struct sp_384_proj_point_dbl_6_ctx {
  26380. int state;
  26381. sp_digit* t1;
  26382. sp_digit* t2;
  26383. sp_digit* x;
  26384. sp_digit* y;
  26385. sp_digit* z;
  26386. } sp_384_proj_point_dbl_6_ctx;
  26387. static int sp_384_proj_point_dbl_6_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, const sp_point_384* p, sp_digit* t)
  26388. {
  26389. int err = FP_WOULDBLOCK;
  26390. sp_384_proj_point_dbl_6_ctx* ctx = (sp_384_proj_point_dbl_6_ctx*)sp_ctx->data;
  26391. typedef char ctx_size_test[sizeof(sp_384_proj_point_dbl_6_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  26392. (void)sizeof(ctx_size_test);
  26393. switch (ctx->state) {
  26394. case 0:
  26395. ctx->t1 = t;
  26396. ctx->t2 = t + 2*6;
  26397. ctx->x = r->x;
  26398. ctx->y = r->y;
  26399. ctx->z = r->z;
  26400. /* Put infinity into result. */
  26401. if (r != p) {
  26402. r->infinity = p->infinity;
  26403. }
  26404. ctx->state = 1;
  26405. break;
  26406. case 1:
  26407. /* T1 = Z * Z */
  26408. sp_384_mont_sqr_6(ctx->t1, p->z, p384_mod, p384_mp_mod);
  26409. ctx->state = 2;
  26410. break;
  26411. case 2:
  26412. /* Z = Y * Z */
  26413. sp_384_mont_mul_6(ctx->z, p->y, p->z, p384_mod, p384_mp_mod);
  26414. ctx->state = 3;
  26415. break;
  26416. case 3:
  26417. /* Z = 2Z */
  26418. sp_384_mont_dbl_6(ctx->z, ctx->z, p384_mod);
  26419. ctx->state = 4;
  26420. break;
  26421. case 4:
  26422. /* T2 = X - T1 */
  26423. sp_384_mont_sub_6(ctx->t2, p->x, ctx->t1, p384_mod);
  26424. ctx->state = 5;
  26425. break;
  26426. case 5:
  26427. /* T1 = X + T1 */
  26428. sp_384_mont_add_6(ctx->t1, p->x, ctx->t1, p384_mod);
  26429. ctx->state = 6;
  26430. break;
  26431. case 6:
  26432. /* T2 = T1 * T2 */
  26433. sp_384_mont_mul_6(ctx->t2, ctx->t1, ctx->t2, p384_mod, p384_mp_mod);
  26434. ctx->state = 7;
  26435. break;
  26436. case 7:
  26437. /* T1 = 3T2 */
  26438. sp_384_mont_tpl_6(ctx->t1, ctx->t2, p384_mod);
  26439. ctx->state = 8;
  26440. break;
  26441. case 8:
  26442. /* Y = 2Y */
  26443. sp_384_mont_dbl_6(ctx->y, p->y, p384_mod);
  26444. ctx->state = 9;
  26445. break;
  26446. case 9:
  26447. /* Y = Y * Y */
  26448. sp_384_mont_sqr_6(ctx->y, ctx->y, p384_mod, p384_mp_mod);
  26449. ctx->state = 10;
  26450. break;
  26451. case 10:
  26452. /* T2 = Y * Y */
  26453. sp_384_mont_sqr_6(ctx->t2, ctx->y, p384_mod, p384_mp_mod);
  26454. ctx->state = 11;
  26455. break;
  26456. case 11:
  26457. /* T2 = T2/2 */
  26458. sp_384_div2_6(ctx->t2, ctx->t2, p384_mod);
  26459. ctx->state = 12;
  26460. break;
  26461. case 12:
  26462. /* Y = Y * X */
  26463. sp_384_mont_mul_6(ctx->y, ctx->y, p->x, p384_mod, p384_mp_mod);
  26464. ctx->state = 13;
  26465. break;
  26466. case 13:
  26467. /* X = T1 * T1 */
  26468. sp_384_mont_sqr_6(ctx->x, ctx->t1, p384_mod, p384_mp_mod);
  26469. ctx->state = 14;
  26470. break;
  26471. case 14:
  26472. /* X = X - Y */
  26473. sp_384_mont_sub_6(ctx->x, ctx->x, ctx->y, p384_mod);
  26474. ctx->state = 15;
  26475. break;
  26476. case 15:
  26477. /* X = X - Y */
  26478. sp_384_mont_sub_6(ctx->x, ctx->x, ctx->y, p384_mod);
  26479. ctx->state = 16;
  26480. break;
  26481. case 16:
  26482. /* Y = Y - X */
  26483. sp_384_mont_sub_lower_6(ctx->y, ctx->y, ctx->x, p384_mod);
  26484. ctx->state = 17;
  26485. break;
  26486. case 17:
  26487. /* Y = Y * T1 */
  26488. sp_384_mont_mul_6(ctx->y, ctx->y, ctx->t1, p384_mod, p384_mp_mod);
  26489. ctx->state = 18;
  26490. break;
  26491. case 18:
  26492. /* Y = Y - T2 */
  26493. sp_384_mont_sub_6(ctx->y, ctx->y, ctx->t2, p384_mod);
  26494. ctx->state = 19;
  26495. /* fall-through */
  26496. case 19:
  26497. err = MP_OKAY;
  26498. break;
  26499. }
  26500. if (err == MP_OKAY && ctx->state != 19) {
  26501. err = FP_WOULDBLOCK;
  26502. }
  26503. return err;
  26504. }
  26505. #endif /* WOLFSSL_SP_NONBLOCK */
  26506. static void sp_384_proj_point_dbl_6(sp_point_384* r, const sp_point_384* p,
  26507. sp_digit* t)
  26508. {
  26509. sp_digit* t1 = t;
  26510. sp_digit* t2 = t + 2*6;
  26511. sp_digit* x;
  26512. sp_digit* y;
  26513. sp_digit* z;
  26514. x = r->x;
  26515. y = r->y;
  26516. z = r->z;
  26517. /* Put infinity into result. */
  26518. if (r != p) {
  26519. r->infinity = p->infinity;
  26520. }
  26521. /* T1 = Z * Z */
  26522. sp_384_mont_sqr_6(t1, p->z, p384_mod, p384_mp_mod);
  26523. /* Z = Y * Z */
  26524. sp_384_mont_mul_6(z, p->y, p->z, p384_mod, p384_mp_mod);
  26525. /* Z = 2Z */
  26526. sp_384_mont_dbl_6(z, z, p384_mod);
  26527. /* T2 = X - T1 */
  26528. sp_384_mont_sub_6(t2, p->x, t1, p384_mod);
  26529. /* T1 = X + T1 */
  26530. sp_384_mont_add_6(t1, p->x, t1, p384_mod);
  26531. /* T2 = T1 * T2 */
  26532. sp_384_mont_mul_6(t2, t1, t2, p384_mod, p384_mp_mod);
  26533. /* T1 = 3T2 */
  26534. sp_384_mont_tpl_6(t1, t2, p384_mod);
  26535. /* Y = 2Y */
  26536. sp_384_mont_dbl_6(y, p->y, p384_mod);
  26537. /* Y = Y * Y */
  26538. sp_384_mont_sqr_6(y, y, p384_mod, p384_mp_mod);
  26539. /* T2 = Y * Y */
  26540. sp_384_mont_sqr_6(t2, y, p384_mod, p384_mp_mod);
  26541. /* T2 = T2/2 */
  26542. sp_384_div2_6(t2, t2, p384_mod);
  26543. /* Y = Y * X */
  26544. sp_384_mont_mul_6(y, y, p->x, p384_mod, p384_mp_mod);
  26545. /* X = T1 * T1 */
  26546. sp_384_mont_sqr_6(x, t1, p384_mod, p384_mp_mod);
  26547. /* X = X - Y */
  26548. sp_384_mont_sub_6(x, x, y, p384_mod);
  26549. /* X = X - Y */
  26550. sp_384_mont_sub_6(x, x, y, p384_mod);
  26551. /* Y = Y - X */
  26552. sp_384_mont_sub_lower_6(y, y, x, p384_mod);
  26553. /* Y = Y * T1 */
  26554. sp_384_mont_mul_6(y, y, t1, p384_mod, p384_mp_mod);
  26555. /* Y = Y - T2 */
  26556. sp_384_mont_sub_6(y, y, t2, p384_mod);
  26557. }
  26558. #ifdef __cplusplus
  26559. extern "C" {
  26560. #endif
  26561. extern void sp_384_mont_dbl_lower_6(sp_digit* r, const sp_digit* a, const sp_digit* m);
  26562. #ifdef __cplusplus
  26563. }
  26564. #endif
  26565. #ifdef __cplusplus
  26566. extern "C" {
  26567. #endif
  26568. extern void sp_384_mont_tpl_lower_6(sp_digit* r, const sp_digit* a, const sp_digit* m);
  26569. #ifdef __cplusplus
  26570. }
  26571. #endif
  26572. /* Double the Montgomery form projective point p a number of times.
  26573. *
  26574. * r Result of repeated doubling of point.
  26575. * p Point to double.
  26576. * n Number of times to double
  26577. * t Temporary ordinate data.
  26578. */
  26579. static void sp_384_proj_point_dbl_n_6(sp_point_384* p, int i,
  26580. sp_digit* t)
  26581. {
  26582. sp_digit* w = t;
  26583. sp_digit* a = t + 2*6;
  26584. sp_digit* b = t + 4*6;
  26585. sp_digit* t1 = t + 6*6;
  26586. sp_digit* t2 = t + 8*6;
  26587. sp_digit* x;
  26588. sp_digit* y;
  26589. sp_digit* z;
  26590. volatile int n = i;
  26591. x = p->x;
  26592. y = p->y;
  26593. z = p->z;
  26594. /* Y = 2*Y */
  26595. sp_384_mont_dbl_6(y, y, p384_mod);
  26596. /* W = Z^4 */
  26597. sp_384_mont_sqr_6(w, z, p384_mod, p384_mp_mod);
  26598. sp_384_mont_sqr_6(w, w, p384_mod, p384_mp_mod);
  26599. #ifndef WOLFSSL_SP_SMALL
  26600. while (--n > 0)
  26601. #else
  26602. while (--n >= 0)
  26603. #endif
  26604. {
  26605. /* A = 3*(X^2 - W) */
  26606. sp_384_mont_sqr_6(t1, x, p384_mod, p384_mp_mod);
  26607. sp_384_mont_sub_6(t1, t1, w, p384_mod);
  26608. sp_384_mont_tpl_lower_6(a, t1, p384_mod);
  26609. /* B = X*Y^2 */
  26610. sp_384_mont_sqr_6(t1, y, p384_mod, p384_mp_mod);
  26611. sp_384_mont_mul_6(b, t1, x, p384_mod, p384_mp_mod);
  26612. /* X = A^2 - 2B */
  26613. sp_384_mont_sqr_6(x, a, p384_mod, p384_mp_mod);
  26614. sp_384_mont_dbl_6(t2, b, p384_mod);
  26615. sp_384_mont_sub_6(x, x, t2, p384_mod);
  26616. /* b = 2.(B - X) */
  26617. sp_384_mont_sub_lower_6(t2, b, x, p384_mod);
  26618. sp_384_mont_dbl_lower_6(b, t2, p384_mod);
  26619. /* Z = Z*Y */
  26620. sp_384_mont_mul_6(z, z, y, p384_mod, p384_mp_mod);
  26621. /* t1 = Y^4 */
  26622. sp_384_mont_sqr_6(t1, t1, p384_mod, p384_mp_mod);
  26623. #ifdef WOLFSSL_SP_SMALL
  26624. if (n != 0)
  26625. #endif
  26626. {
  26627. /* W = W*Y^4 */
  26628. sp_384_mont_mul_6(w, w, t1, p384_mod, p384_mp_mod);
  26629. }
  26630. /* y = 2*A*(B - X) - Y^4 */
  26631. sp_384_mont_mul_6(y, b, a, p384_mod, p384_mp_mod);
  26632. sp_384_mont_sub_6(y, y, t1, p384_mod);
  26633. }
  26634. #ifndef WOLFSSL_SP_SMALL
  26635. /* A = 3*(X^2 - W) */
  26636. sp_384_mont_sqr_6(t1, x, p384_mod, p384_mp_mod);
  26637. sp_384_mont_sub_6(t1, t1, w, p384_mod);
  26638. sp_384_mont_tpl_lower_6(a, t1, p384_mod);
  26639. /* B = X*Y^2 */
  26640. sp_384_mont_sqr_6(t1, y, p384_mod, p384_mp_mod);
  26641. sp_384_mont_mul_6(b, t1, x, p384_mod, p384_mp_mod);
  26642. /* X = A^2 - 2B */
  26643. sp_384_mont_sqr_6(x, a, p384_mod, p384_mp_mod);
  26644. sp_384_mont_dbl_6(t2, b, p384_mod);
  26645. sp_384_mont_sub_6(x, x, t2, p384_mod);
  26646. /* b = 2.(B - X) */
  26647. sp_384_mont_sub_lower_6(t2, b, x, p384_mod);
  26648. sp_384_mont_dbl_lower_6(b, t2, p384_mod);
  26649. /* Z = Z*Y */
  26650. sp_384_mont_mul_6(z, z, y, p384_mod, p384_mp_mod);
  26651. /* t1 = Y^4 */
  26652. sp_384_mont_sqr_6(t1, t1, p384_mod, p384_mp_mod);
  26653. /* y = 2*A*(B - X) - Y^4 */
  26654. sp_384_mont_mul_6(y, b, a, p384_mod, p384_mp_mod);
  26655. sp_384_mont_sub_6(y, y, t1, p384_mod);
  26656. #endif
  26657. /* Y = Y/2 */
  26658. sp_384_div2_6(y, y, p384_mod);
  26659. }
  26660. /* Compare two numbers to determine if they are equal.
  26661. * Constant time implementation.
  26662. *
  26663. * a First number to compare.
  26664. * b Second number to compare.
  26665. * returns 1 when equal and 0 otherwise.
  26666. */
  26667. static int sp_384_cmp_equal_6(const sp_digit* a, const sp_digit* b)
  26668. {
  26669. return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) |
  26670. (a[3] ^ b[3]) | (a[4] ^ b[4]) | (a[5] ^ b[5])) == 0;
  26671. }
  26672. /* Returns 1 if the number of zero.
  26673. * Implementation is constant time.
  26674. *
  26675. * a Number to check.
  26676. * returns 1 if the number is zero and 0 otherwise.
  26677. */
  26678. static int sp_384_iszero_6(const sp_digit* a)
  26679. {
  26680. return (a[0] | a[1] | a[2] | a[3] | a[4] | a[5]) == 0;
  26681. }
  26682. /* Add two Montgomery form projective points.
  26683. *
  26684. * r Result of addition.
  26685. * p First point to add.
  26686. * q Second point to add.
  26687. * t Temporary ordinate data.
  26688. */
  26689. #ifdef WOLFSSL_SP_NONBLOCK
  26690. typedef struct sp_384_proj_point_add_6_ctx {
  26691. int state;
  26692. sp_384_proj_point_dbl_6_ctx dbl_ctx;
  26693. const sp_point_384* ap[2];
  26694. sp_point_384* rp[2];
  26695. sp_digit* t1;
  26696. sp_digit* t2;
  26697. sp_digit* t3;
  26698. sp_digit* t4;
  26699. sp_digit* t5;
  26700. sp_digit* t6;
  26701. sp_digit* x;
  26702. sp_digit* y;
  26703. sp_digit* z;
  26704. } sp_384_proj_point_add_6_ctx;
  26705. static int sp_384_proj_point_add_6_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r,
  26706. const sp_point_384* p, const sp_point_384* q, sp_digit* t)
  26707. {
  26708. int err = FP_WOULDBLOCK;
  26709. sp_384_proj_point_add_6_ctx* ctx = (sp_384_proj_point_add_6_ctx*)sp_ctx->data;
  26710. /* Ensure only the first point is the same as the result. */
  26711. if (q == r) {
  26712. const sp_point_384* a = p;
  26713. p = q;
  26714. q = a;
  26715. }
  26716. typedef char ctx_size_test[sizeof(sp_384_proj_point_add_6_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  26717. (void)sizeof(ctx_size_test);
  26718. switch (ctx->state) {
  26719. case 0: /* INIT */
  26720. ctx->t1 = t;
  26721. ctx->t2 = t + 2*6;
  26722. ctx->t3 = t + 4*6;
  26723. ctx->t4 = t + 6*6;
  26724. ctx->t5 = t + 8*6;
  26725. ctx->t6 = t + 10*6;
  26726. ctx->x = ctx->t6;
  26727. ctx->y = ctx->t1;
  26728. ctx->z = ctx->t2;
  26729. ctx->state = 1;
  26730. break;
  26731. case 1:
  26732. /* Check double */
  26733. (void)sp_384_sub_6(ctx->t1, p384_mod, q->y);
  26734. sp_384_norm_6(ctx->t1);
  26735. if ((~p->infinity & ~q->infinity &
  26736. sp_384_cmp_equal_6(p->x, q->x) & sp_384_cmp_equal_6(p->z, q->z) &
  26737. (sp_384_cmp_equal_6(p->y, q->y) | sp_384_cmp_equal_6(p->y, ctx->t1))) != 0)
  26738. {
  26739. XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx));
  26740. ctx->state = 2;
  26741. }
  26742. else {
  26743. ctx->state = 3;
  26744. }
  26745. break;
  26746. case 2:
  26747. err = sp_384_proj_point_dbl_6_nb((sp_ecc_ctx_t*)&ctx->dbl_ctx, r, p, t);
  26748. if (err == MP_OKAY)
  26749. ctx->state = 27; /* done */
  26750. break;
  26751. case 3:
  26752. {
  26753. ctx->state = 4;
  26754. break;
  26755. }
  26756. case 4:
  26757. /* U1 = X1*Z2^2 */
  26758. sp_384_mont_sqr_6(ctx->t1, q->z, p384_mod, p384_mp_mod);
  26759. ctx->state = 5;
  26760. break;
  26761. case 5:
  26762. sp_384_mont_mul_6(ctx->t3, ctx->t1, q->z, p384_mod, p384_mp_mod);
  26763. ctx->state = 6;
  26764. break;
  26765. case 6:
  26766. sp_384_mont_mul_6(ctx->t1, ctx->t1, p->x, p384_mod, p384_mp_mod);
  26767. ctx->state = 7;
  26768. break;
  26769. case 7:
  26770. /* U2 = X2*Z1^2 */
  26771. sp_384_mont_sqr_6(ctx->t2, p->z, p384_mod, p384_mp_mod);
  26772. ctx->state = 8;
  26773. break;
  26774. case 8:
  26775. sp_384_mont_mul_6(ctx->t4, ctx->t2, p->z, p384_mod, p384_mp_mod);
  26776. ctx->state = 9;
  26777. break;
  26778. case 9:
  26779. sp_384_mont_mul_6(ctx->t2, ctx->t2, q->x, p384_mod, p384_mp_mod);
  26780. ctx->state = 10;
  26781. break;
  26782. case 10:
  26783. /* S1 = Y1*Z2^3 */
  26784. sp_384_mont_mul_6(ctx->t3, ctx->t3, p->y, p384_mod, p384_mp_mod);
  26785. ctx->state = 11;
  26786. break;
  26787. case 11:
  26788. /* S2 = Y2*Z1^3 */
  26789. sp_384_mont_mul_6(ctx->t4, ctx->t4, q->y, p384_mod, p384_mp_mod);
  26790. ctx->state = 12;
  26791. break;
  26792. case 12:
  26793. /* H = U2 - U1 */
  26794. sp_384_mont_sub_6(ctx->t2, ctx->t2, ctx->t1, p384_mod);
  26795. ctx->state = 13;
  26796. break;
  26797. case 13:
  26798. /* R = S2 - S1 */
  26799. sp_384_mont_sub_6(ctx->t4, ctx->t4, ctx->t3, p384_mod);
  26800. ctx->state = 14;
  26801. break;
  26802. case 14:
  26803. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  26804. sp_384_mont_sqr_6(ctx->t5, ctx->t2, p384_mod, p384_mp_mod);
  26805. ctx->state = 15;
  26806. break;
  26807. case 15:
  26808. sp_384_mont_mul_6(ctx->y, ctx->t1, ctx->t5, p384_mod, p384_mp_mod);
  26809. ctx->state = 16;
  26810. break;
  26811. case 16:
  26812. sp_384_mont_mul_6(ctx->t5, ctx->t5, ctx->t2, p384_mod, p384_mp_mod);
  26813. ctx->state = 17;
  26814. break;
  26815. case 17:
  26816. /* Z3 = H*Z1*Z2 */
  26817. sp_384_mont_mul_6(ctx->z, p->z, ctx->t2, p384_mod, p384_mp_mod);
  26818. ctx->state = 18;
  26819. break;
  26820. case 18:
  26821. sp_384_mont_mul_6(ctx->z, ctx->z, q->z, p384_mod, p384_mp_mod);
  26822. ctx->state = 19;
  26823. break;
  26824. case 19:
  26825. sp_384_mont_sqr_6(ctx->x, ctx->t4, p384_mod, p384_mp_mod);
  26826. ctx->state = 20;
  26827. break;
  26828. case 20:
  26829. sp_384_mont_sub_6(ctx->x, ctx->x, ctx->t5, p384_mod);
  26830. ctx->state = 21;
  26831. break;
  26832. case 21:
  26833. sp_384_mont_mul_6(ctx->t5, ctx->t5, ctx->t3, p384_mod, p384_mp_mod);
  26834. ctx->state = 22;
  26835. break;
  26836. case 22:
  26837. sp_384_mont_dbl_6(ctx->t3, ctx->y, p384_mod);
  26838. ctx->state = 23;
  26839. break;
  26840. case 23:
  26841. sp_384_mont_sub_6(ctx->x, ctx->x, ctx->t3, p384_mod);
  26842. ctx->state = 24;
  26843. break;
  26844. case 24:
  26845. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  26846. sp_384_mont_sub_lower_6(ctx->y, ctx->y, ctx->x, p384_mod);
  26847. ctx->state = 25;
  26848. break;
  26849. case 25:
  26850. sp_384_mont_mul_6(ctx->y, ctx->y, ctx->t4, p384_mod, p384_mp_mod);
  26851. ctx->state = 26;
  26852. break;
  26853. case 26:
  26854. sp_384_mont_sub_6(ctx->y, ctx->y, ctx->t5, p384_mod);
  26855. ctx->state = 27;
  26856. /* fall-through */
  26857. case 27:
  26858. {
  26859. int i;
  26860. sp_digit maskp = 0 - (q->infinity & (!p->infinity));
  26861. sp_digit maskq = 0 - (p->infinity & (!q->infinity));
  26862. sp_digit maskt = ~(maskp | maskq);
  26863. for (i = 0; i < 6; i++) {
  26864. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  26865. (ctx->x[i] & maskt);
  26866. }
  26867. for (i = 0; i < 6; i++) {
  26868. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  26869. (ctx->y[i] & maskt);
  26870. }
  26871. for (i = 0; i < 6; i++) {
  26872. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  26873. (ctx->z[i] & maskt);
  26874. }
  26875. r->z[0] |= p->infinity & q->infinity;
  26876. r->infinity = p->infinity & q->infinity;
  26877. err = MP_OKAY;
  26878. break;
  26879. }
  26880. }
  26881. if (err == MP_OKAY && ctx->state != 27) {
  26882. err = FP_WOULDBLOCK;
  26883. }
  26884. return err;
  26885. }
  26886. #endif /* WOLFSSL_SP_NONBLOCK */
  26887. static void sp_384_proj_point_add_6(sp_point_384* r,
  26888. const sp_point_384* p, const sp_point_384* q, sp_digit* t)
  26889. {
  26890. sp_digit* t1 = t;
  26891. sp_digit* t2 = t + 2*6;
  26892. sp_digit* t3 = t + 4*6;
  26893. sp_digit* t4 = t + 6*6;
  26894. sp_digit* t5 = t + 8*6;
  26895. sp_digit* t6 = t + 10*6;
  26896. /* Check double */
  26897. (void)sp_384_sub_6(t1, p384_mod, q->y);
  26898. sp_384_norm_6(t1);
  26899. if ((~p->infinity & ~q->infinity &
  26900. sp_384_cmp_equal_6(p->x, q->x) & sp_384_cmp_equal_6(p->z, q->z) &
  26901. (sp_384_cmp_equal_6(p->y, q->y) | sp_384_cmp_equal_6(p->y, t1))) != 0) {
  26902. sp_384_proj_point_dbl_6(r, p, t);
  26903. }
  26904. else {
  26905. sp_digit maskp;
  26906. sp_digit maskq;
  26907. sp_digit maskt;
  26908. sp_digit* x = t6;
  26909. sp_digit* y = t1;
  26910. sp_digit* z = t2;
  26911. int i;
  26912. maskp = 0 - (q->infinity & (!p->infinity));
  26913. maskq = 0 - (p->infinity & (!q->infinity));
  26914. maskt = ~(maskp | maskq);
  26915. /* U1 = X1*Z2^2 */
  26916. sp_384_mont_sqr_6(t1, q->z, p384_mod, p384_mp_mod);
  26917. sp_384_mont_mul_6(t3, t1, q->z, p384_mod, p384_mp_mod);
  26918. sp_384_mont_mul_6(t1, t1, p->x, p384_mod, p384_mp_mod);
  26919. /* U2 = X2*Z1^2 */
  26920. sp_384_mont_sqr_6(t2, p->z, p384_mod, p384_mp_mod);
  26921. sp_384_mont_mul_6(t4, t2, p->z, p384_mod, p384_mp_mod);
  26922. sp_384_mont_mul_6(t2, t2, q->x, p384_mod, p384_mp_mod);
  26923. /* S1 = Y1*Z2^3 */
  26924. sp_384_mont_mul_6(t3, t3, p->y, p384_mod, p384_mp_mod);
  26925. /* S2 = Y2*Z1^3 */
  26926. sp_384_mont_mul_6(t4, t4, q->y, p384_mod, p384_mp_mod);
  26927. /* H = U2 - U1 */
  26928. sp_384_mont_sub_6(t2, t2, t1, p384_mod);
  26929. /* R = S2 - S1 */
  26930. sp_384_mont_sub_6(t4, t4, t3, p384_mod);
  26931. if (~p->infinity & ~q->infinity &
  26932. sp_384_iszero_6(t2) & sp_384_iszero_6(t4) & maskt) {
  26933. sp_384_proj_point_dbl_6(r, p, t);
  26934. }
  26935. else {
  26936. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  26937. sp_384_mont_sqr_6(t5, t2, p384_mod, p384_mp_mod);
  26938. sp_384_mont_mul_6(y, t1, t5, p384_mod, p384_mp_mod);
  26939. sp_384_mont_mul_6(t5, t5, t2, p384_mod, p384_mp_mod);
  26940. /* Z3 = H*Z1*Z2 */
  26941. sp_384_mont_mul_6(z, p->z, t2, p384_mod, p384_mp_mod);
  26942. sp_384_mont_mul_6(z, z, q->z, p384_mod, p384_mp_mod);
  26943. sp_384_mont_sqr_6(x, t4, p384_mod, p384_mp_mod);
  26944. sp_384_mont_sub_6(x, x, t5, p384_mod);
  26945. sp_384_mont_mul_6(t5, t5, t3, p384_mod, p384_mp_mod);
  26946. sp_384_mont_dbl_6(t3, y, p384_mod);
  26947. sp_384_mont_sub_6(x, x, t3, p384_mod);
  26948. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  26949. sp_384_mont_sub_lower_6(y, y, x, p384_mod);
  26950. sp_384_mont_mul_6(y, y, t4, p384_mod, p384_mp_mod);
  26951. sp_384_mont_sub_6(y, y, t5, p384_mod);
  26952. for (i = 0; i < 6; i++) {
  26953. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  26954. (x[i] & maskt);
  26955. }
  26956. for (i = 0; i < 6; i++) {
  26957. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  26958. (y[i] & maskt);
  26959. }
  26960. for (i = 0; i < 6; i++) {
  26961. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  26962. (z[i] & maskt);
  26963. }
  26964. r->z[0] |= p->infinity & q->infinity;
  26965. r->infinity = p->infinity & q->infinity;
  26966. }
  26967. }
  26968. }
  26969. /* Double the Montgomery form projective point p a number of times.
  26970. *
  26971. * r Result of repeated doubling of point.
  26972. * p Point to double.
  26973. * n Number of times to double
  26974. * t Temporary ordinate data.
  26975. */
  26976. static void sp_384_proj_point_dbl_n_store_6(sp_point_384* r,
  26977. const sp_point_384* p, int n, int m, sp_digit* t)
  26978. {
  26979. sp_digit* w = t;
  26980. sp_digit* a = t + 2*6;
  26981. sp_digit* b = t + 4*6;
  26982. sp_digit* t1 = t + 6*6;
  26983. sp_digit* t2 = t + 8*6;
  26984. sp_digit* x = r[2*m].x;
  26985. sp_digit* y = r[(1<<n)*m].y;
  26986. sp_digit* z = r[2*m].z;
  26987. int i;
  26988. int j;
  26989. for (i=0; i<6; i++) {
  26990. x[i] = p->x[i];
  26991. }
  26992. for (i=0; i<6; i++) {
  26993. y[i] = p->y[i];
  26994. }
  26995. for (i=0; i<6; i++) {
  26996. z[i] = p->z[i];
  26997. }
  26998. /* Y = 2*Y */
  26999. sp_384_mont_dbl_6(y, y, p384_mod);
  27000. /* W = Z^4 */
  27001. sp_384_mont_sqr_6(w, z, p384_mod, p384_mp_mod);
  27002. sp_384_mont_sqr_6(w, w, p384_mod, p384_mp_mod);
  27003. j = m;
  27004. for (i=1; i<=n; i++) {
  27005. j *= 2;
  27006. /* A = 3*(X^2 - W) */
  27007. sp_384_mont_sqr_6(t1, x, p384_mod, p384_mp_mod);
  27008. sp_384_mont_sub_6(t1, t1, w, p384_mod);
  27009. sp_384_mont_tpl_lower_6(a, t1, p384_mod);
  27010. /* B = X*Y^2 */
  27011. sp_384_mont_sqr_6(t1, y, p384_mod, p384_mp_mod);
  27012. sp_384_mont_mul_6(b, t1, x, p384_mod, p384_mp_mod);
  27013. x = r[j].x;
  27014. /* X = A^2 - 2B */
  27015. sp_384_mont_sqr_6(x, a, p384_mod, p384_mp_mod);
  27016. sp_384_mont_dbl_6(t2, b, p384_mod);
  27017. sp_384_mont_sub_6(x, x, t2, p384_mod);
  27018. /* b = 2.(B - X) */
  27019. sp_384_mont_sub_lower_6(t2, b, x, p384_mod);
  27020. sp_384_mont_dbl_lower_6(b, t2, p384_mod);
  27021. /* Z = Z*Y */
  27022. sp_384_mont_mul_6(r[j].z, z, y, p384_mod, p384_mp_mod);
  27023. z = r[j].z;
  27024. /* t1 = Y^4 */
  27025. sp_384_mont_sqr_6(t1, t1, p384_mod, p384_mp_mod);
  27026. if (i != n) {
  27027. /* W = W*Y^4 */
  27028. sp_384_mont_mul_6(w, w, t1, p384_mod, p384_mp_mod);
  27029. }
  27030. /* y = 2*A*(B - X) - Y^4 */
  27031. sp_384_mont_mul_6(y, b, a, p384_mod, p384_mp_mod);
  27032. sp_384_mont_sub_6(y, y, t1, p384_mod);
  27033. /* Y = Y/2 */
  27034. sp_384_div2_6(r[j].y, y, p384_mod);
  27035. r[j].infinity = 0;
  27036. }
  27037. }
  27038. /* Add two Montgomery form projective points.
  27039. *
  27040. * ra Result of addition.
  27041. * rs Result of subtraction.
  27042. * p First point to add.
  27043. * q Second point to add.
  27044. * t Temporary ordinate data.
  27045. */
  27046. static void sp_384_proj_point_add_sub_6(sp_point_384* ra,
  27047. sp_point_384* rs, const sp_point_384* p, const sp_point_384* q,
  27048. sp_digit* t)
  27049. {
  27050. sp_digit* t1 = t;
  27051. sp_digit* t2 = t + 2*6;
  27052. sp_digit* t3 = t + 4*6;
  27053. sp_digit* t4 = t + 6*6;
  27054. sp_digit* t5 = t + 8*6;
  27055. sp_digit* t6 = t + 10*6;
  27056. sp_digit* xa = ra->x;
  27057. sp_digit* ya = ra->y;
  27058. sp_digit* za = ra->z;
  27059. sp_digit* xs = rs->x;
  27060. sp_digit* ys = rs->y;
  27061. sp_digit* zs = rs->z;
  27062. XMEMCPY(xa, p->x, sizeof(p->x) / 2);
  27063. XMEMCPY(ya, p->y, sizeof(p->y) / 2);
  27064. XMEMCPY(za, p->z, sizeof(p->z) / 2);
  27065. ra->infinity = 0;
  27066. rs->infinity = 0;
  27067. /* U1 = X1*Z2^2 */
  27068. sp_384_mont_sqr_6(t1, q->z, p384_mod, p384_mp_mod);
  27069. sp_384_mont_mul_6(t3, t1, q->z, p384_mod, p384_mp_mod);
  27070. sp_384_mont_mul_6(t1, t1, xa, p384_mod, p384_mp_mod);
  27071. /* U2 = X2*Z1^2 */
  27072. sp_384_mont_sqr_6(t2, za, p384_mod, p384_mp_mod);
  27073. sp_384_mont_mul_6(t4, t2, za, p384_mod, p384_mp_mod);
  27074. sp_384_mont_mul_6(t2, t2, q->x, p384_mod, p384_mp_mod);
  27075. /* S1 = Y1*Z2^3 */
  27076. sp_384_mont_mul_6(t3, t3, ya, p384_mod, p384_mp_mod);
  27077. /* S2 = Y2*Z1^3 */
  27078. sp_384_mont_mul_6(t4, t4, q->y, p384_mod, p384_mp_mod);
  27079. /* H = U2 - U1 */
  27080. sp_384_mont_sub_6(t2, t2, t1, p384_mod);
  27081. /* RS = S2 + S1 */
  27082. sp_384_mont_add_6(t6, t4, t3, p384_mod);
  27083. /* R = S2 - S1 */
  27084. sp_384_mont_sub_6(t4, t4, t3, p384_mod);
  27085. /* Z3 = H*Z1*Z2 */
  27086. /* ZS = H*Z1*Z2 */
  27087. sp_384_mont_mul_6(za, za, q->z, p384_mod, p384_mp_mod);
  27088. sp_384_mont_mul_6(za, za, t2, p384_mod, p384_mp_mod);
  27089. XMEMCPY(zs, za, sizeof(p->z)/2);
  27090. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  27091. /* XS = RS^2 - H^3 - 2*U1*H^2 */
  27092. sp_384_mont_sqr_6(xa, t4, p384_mod, p384_mp_mod);
  27093. sp_384_mont_sqr_6(xs, t6, p384_mod, p384_mp_mod);
  27094. sp_384_mont_sqr_6(t5, t2, p384_mod, p384_mp_mod);
  27095. sp_384_mont_mul_6(ya, t1, t5, p384_mod, p384_mp_mod);
  27096. sp_384_mont_mul_6(t5, t5, t2, p384_mod, p384_mp_mod);
  27097. sp_384_mont_sub_6(xa, xa, t5, p384_mod);
  27098. sp_384_mont_sub_6(xs, xs, t5, p384_mod);
  27099. sp_384_mont_dbl_6(t1, ya, p384_mod);
  27100. sp_384_mont_sub_6(xa, xa, t1, p384_mod);
  27101. sp_384_mont_sub_6(xs, xs, t1, p384_mod);
  27102. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  27103. /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */
  27104. sp_384_mont_sub_lower_6(ys, ya, xs, p384_mod);
  27105. sp_384_mont_sub_lower_6(ya, ya, xa, p384_mod);
  27106. sp_384_mont_mul_6(ya, ya, t4, p384_mod, p384_mp_mod);
  27107. sp_384_sub_6(t6, p384_mod, t6);
  27108. sp_384_mont_mul_6(ys, ys, t6, p384_mod, p384_mp_mod);
  27109. sp_384_mont_mul_6(t5, t5, t3, p384_mod, p384_mp_mod);
  27110. sp_384_mont_sub_6(ya, ya, t5, p384_mod);
  27111. sp_384_mont_sub_6(ys, ys, t5, p384_mod);
  27112. }
  27113. /* Structure used to describe recoding of scalar multiplication. */
  27114. typedef struct ecc_recode_384 {
  27115. /* Index into pre-computation table. */
  27116. uint8_t i;
  27117. /* Use the negative of the point. */
  27118. uint8_t neg;
  27119. } ecc_recode_384;
  27120. /* The index into pre-computation table to use. */
  27121. static const uint8_t recode_index_6_6[66] = {
  27122. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  27123. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  27124. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  27125. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  27126. 0, 1,
  27127. };
  27128. /* Whether to negate y-ordinate. */
  27129. static const uint8_t recode_neg_6_6[66] = {
  27130. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  27131. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  27132. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  27133. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  27134. 0, 0,
  27135. };
  27136. /* Recode the scalar for multiplication using pre-computed values and
  27137. * subtraction.
  27138. *
  27139. * k Scalar to multiply by.
  27140. * v Vector of operations to perform.
  27141. */
  27142. static void sp_384_ecc_recode_6_6(const sp_digit* k, ecc_recode_384* v)
  27143. {
  27144. int i;
  27145. int j;
  27146. uint8_t y;
  27147. int carry = 0;
  27148. int o;
  27149. sp_digit n;
  27150. j = 0;
  27151. n = k[j];
  27152. o = 0;
  27153. for (i=0; i<65; i++) {
  27154. y = (int8_t)n;
  27155. if (o + 6 < 64) {
  27156. y &= 0x3f;
  27157. n >>= 6;
  27158. o += 6;
  27159. }
  27160. else if (o + 6 == 64) {
  27161. n >>= 6;
  27162. if (++j < 6)
  27163. n = k[j];
  27164. o = 0;
  27165. }
  27166. else if (++j < 6) {
  27167. n = k[j];
  27168. y |= (uint8_t)((n << (64 - o)) & 0x3f);
  27169. o -= 58;
  27170. n >>= o;
  27171. }
  27172. y += (uint8_t)carry;
  27173. v[i].i = recode_index_6_6[y];
  27174. v[i].neg = recode_neg_6_6[y];
  27175. carry = (y >> 6) + v[i].neg;
  27176. }
  27177. }
  27178. #ifdef __cplusplus
  27179. extern "C" {
  27180. #endif
  27181. extern void sp_384_get_point_33_6(sp_point_384* r, const sp_point_384* table, int idx);
  27182. #ifdef __cplusplus
  27183. }
  27184. #endif
  27185. #ifdef __cplusplus
  27186. extern "C" {
  27187. #endif
  27188. extern void sp_384_get_point_33_avx2_6(sp_point_384* r, const sp_point_384* table, int idx);
  27189. #ifdef __cplusplus
  27190. }
  27191. #endif
  27192. /* Multiply the point by the scalar and return the result.
  27193. * If map is true then convert result to affine coordinates.
  27194. *
  27195. * Window technique of 6 bits. (Add-Sub variation.)
  27196. * Calculate 0..32 times the point. Use function that adds and
  27197. * subtracts the same two points.
  27198. * Recode to add or subtract one of the computed points.
  27199. * Double to push up.
  27200. * NOT a sliding window.
  27201. *
  27202. * r Resulting point.
  27203. * g Point to multiply.
  27204. * k Scalar to multiply by.
  27205. * map Indicates whether to convert result to affine.
  27206. * ct Constant time required.
  27207. * heap Heap to use for allocation.
  27208. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  27209. */
  27210. static int sp_384_ecc_mulmod_win_add_sub_6(sp_point_384* r, const sp_point_384* g,
  27211. const sp_digit* k, int map, int ct, void* heap)
  27212. {
  27213. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  27214. sp_point_384* t = NULL;
  27215. sp_digit* tmp = NULL;
  27216. #else
  27217. sp_point_384 t[33+2];
  27218. sp_digit tmp[2 * 6 * 6];
  27219. #endif
  27220. sp_point_384* rt = NULL;
  27221. sp_point_384* p = NULL;
  27222. sp_digit* negy;
  27223. int i;
  27224. ecc_recode_384 v[65];
  27225. int err = MP_OKAY;
  27226. /* Constant time used for cache attack resistance implementation. */
  27227. (void)ct;
  27228. (void)heap;
  27229. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  27230. t = (sp_point_384*)XMALLOC(sizeof(sp_point_384) *
  27231. (33+2), heap, DYNAMIC_TYPE_ECC);
  27232. if (t == NULL)
  27233. err = MEMORY_E;
  27234. if (err == MP_OKAY) {
  27235. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6,
  27236. heap, DYNAMIC_TYPE_ECC);
  27237. if (tmp == NULL)
  27238. err = MEMORY_E;
  27239. }
  27240. #endif
  27241. if (err == MP_OKAY) {
  27242. rt = t + 33;
  27243. p = t + 33+1;
  27244. /* t[0] = {0, 0, 1} * norm */
  27245. XMEMSET(&t[0], 0, sizeof(t[0]));
  27246. t[0].infinity = 1;
  27247. /* t[1] = {g->x, g->y, g->z} * norm */
  27248. err = sp_384_mod_mul_norm_6(t[1].x, g->x, p384_mod);
  27249. }
  27250. if (err == MP_OKAY) {
  27251. err = sp_384_mod_mul_norm_6(t[1].y, g->y, p384_mod);
  27252. }
  27253. if (err == MP_OKAY) {
  27254. err = sp_384_mod_mul_norm_6(t[1].z, g->z, p384_mod);
  27255. }
  27256. if (err == MP_OKAY) {
  27257. t[1].infinity = 0;
  27258. /* t[2] ... t[32] */
  27259. sp_384_proj_point_dbl_n_store_6(t, &t[ 1], 5, 1, tmp);
  27260. sp_384_proj_point_add_6(&t[ 3], &t[ 2], &t[ 1], tmp);
  27261. sp_384_proj_point_dbl_6(&t[ 6], &t[ 3], tmp);
  27262. sp_384_proj_point_add_sub_6(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp);
  27263. sp_384_proj_point_dbl_6(&t[10], &t[ 5], tmp);
  27264. sp_384_proj_point_add_sub_6(&t[11], &t[ 9], &t[10], &t[ 1], tmp);
  27265. sp_384_proj_point_dbl_6(&t[12], &t[ 6], tmp);
  27266. sp_384_proj_point_dbl_6(&t[14], &t[ 7], tmp);
  27267. sp_384_proj_point_add_sub_6(&t[15], &t[13], &t[14], &t[ 1], tmp);
  27268. sp_384_proj_point_dbl_6(&t[18], &t[ 9], tmp);
  27269. sp_384_proj_point_add_sub_6(&t[19], &t[17], &t[18], &t[ 1], tmp);
  27270. sp_384_proj_point_dbl_6(&t[20], &t[10], tmp);
  27271. sp_384_proj_point_dbl_6(&t[22], &t[11], tmp);
  27272. sp_384_proj_point_add_sub_6(&t[23], &t[21], &t[22], &t[ 1], tmp);
  27273. sp_384_proj_point_dbl_6(&t[24], &t[12], tmp);
  27274. sp_384_proj_point_dbl_6(&t[26], &t[13], tmp);
  27275. sp_384_proj_point_add_sub_6(&t[27], &t[25], &t[26], &t[ 1], tmp);
  27276. sp_384_proj_point_dbl_6(&t[28], &t[14], tmp);
  27277. sp_384_proj_point_dbl_6(&t[30], &t[15], tmp);
  27278. sp_384_proj_point_add_sub_6(&t[31], &t[29], &t[30], &t[ 1], tmp);
  27279. negy = t[0].y;
  27280. sp_384_ecc_recode_6_6(k, v);
  27281. i = 64;
  27282. #ifndef WC_NO_CACHE_RESISTANT
  27283. if (ct) {
  27284. sp_384_get_point_33_6(rt, t, v[i].i);
  27285. rt->infinity = !v[i].i;
  27286. }
  27287. else
  27288. #endif
  27289. {
  27290. XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_384));
  27291. }
  27292. for (--i; i>=0; i--) {
  27293. sp_384_proj_point_dbl_n_6(rt, 6, tmp);
  27294. #ifndef WC_NO_CACHE_RESISTANT
  27295. if (ct) {
  27296. sp_384_get_point_33_6(p, t, v[i].i);
  27297. p->infinity = !v[i].i;
  27298. }
  27299. else
  27300. #endif
  27301. {
  27302. XMEMCPY(p, &t[v[i].i], sizeof(sp_point_384));
  27303. }
  27304. sp_384_sub_6(negy, p384_mod, p->y);
  27305. sp_384_norm_6(negy);
  27306. sp_384_cond_copy_6(p->y, negy, (sp_digit)0 - v[i].neg);
  27307. sp_384_proj_point_add_6(rt, rt, p, tmp);
  27308. }
  27309. if (map != 0) {
  27310. sp_384_map_6(r, rt, tmp);
  27311. }
  27312. else {
  27313. XMEMCPY(r, rt, sizeof(sp_point_384));
  27314. }
  27315. }
  27316. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  27317. if (t != NULL)
  27318. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  27319. if (tmp != NULL)
  27320. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  27321. #endif
  27322. return err;
  27323. }
  27324. #ifdef HAVE_INTEL_AVX2
  27325. #define sp_384_mod_mul_norm_avx2_6 sp_384_mod_mul_norm_6
  27326. #ifdef HAVE_INTEL_AVX2
  27327. #define sp_384_mont_reduce_avx2_6 sp_384_mont_reduce_6
  27328. #ifdef __cplusplus
  27329. extern "C" {
  27330. #endif
  27331. extern void sp_384_mont_reduce_order_avx2_6(sp_digit* a, const sp_digit* m, sp_digit mp);
  27332. #ifdef __cplusplus
  27333. }
  27334. #endif
  27335. /* Multiply two Montgomery form numbers mod the modulus (prime).
  27336. * (r = a * b mod m)
  27337. *
  27338. * r Result of multiplication.
  27339. * a First number to multiply in Montgomery form.
  27340. * b Second number to multiply in Montgomery form.
  27341. * m Modulus (prime).
  27342. * mp Montgomery mulitplier.
  27343. */
  27344. SP_NOINLINE static void sp_384_mont_mul_avx2_6(sp_digit* r, const sp_digit* a,
  27345. const sp_digit* b, const sp_digit* m, sp_digit mp)
  27346. {
  27347. sp_384_mul_avx2_6(r, a, b);
  27348. sp_384_mont_reduce_avx2_6(r, m, mp);
  27349. }
  27350. #endif /* HAVE_INTEL_AVX2 */
  27351. #ifdef HAVE_INTEL_AVX2
  27352. /* Square the Montgomery form number. (r = a * a mod m)
  27353. *
  27354. * r Result of squaring.
  27355. * a Number to square in Montgomery form.
  27356. * m Modulus (prime).
  27357. * mp Montgomery mulitplier.
  27358. */
  27359. SP_NOINLINE static void sp_384_mont_sqr_avx2_6(sp_digit* r, const sp_digit* a,
  27360. const sp_digit* m, sp_digit mp)
  27361. {
  27362. sp_384_sqr_avx2_6(r, a);
  27363. sp_384_mont_reduce_avx2_6(r, m, mp);
  27364. }
  27365. #endif /* HAVE_INTEL_AVX2 */
  27366. #if !defined(WOLFSSL_SP_SMALL) || defined(HAVE_COMP_KEY)
  27367. /* Square the Montgomery form number a number of times. (r = a ^ n mod m)
  27368. *
  27369. * r Result of squaring.
  27370. * a Number to square in Montgomery form.
  27371. * n Number of times to square.
  27372. * m Modulus (prime).
  27373. * mp Montgomery mulitplier.
  27374. */
  27375. static void sp_384_mont_sqr_n_avx2_6(sp_digit* r, const sp_digit* a, int n,
  27376. const sp_digit* m, sp_digit mp)
  27377. {
  27378. sp_384_mont_sqr_avx2_6(r, a, m, mp);
  27379. for (; n > 1; n--) {
  27380. sp_384_mont_sqr_avx2_6(r, r, m, mp);
  27381. }
  27382. }
  27383. #endif /* !WOLFSSL_SP_SMALL | HAVE_COMP_KEY */
  27384. /* Invert the number, in Montgomery form, modulo the modulus (prime) of the
  27385. * P384 curve. (r = 1 / a mod m)
  27386. *
  27387. * r Inverse result.
  27388. * a Number to invert.
  27389. * td Temporary data.
  27390. */
  27391. static void sp_384_mont_inv_avx2_6(sp_digit* r, const sp_digit* a, sp_digit* td)
  27392. {
  27393. #ifdef WOLFSSL_SP_SMALL
  27394. sp_digit* t = td;
  27395. int i;
  27396. XMEMCPY(t, a, sizeof(sp_digit) * 6);
  27397. for (i=382; i>=0; i--) {
  27398. sp_384_mont_sqr_avx2_6(t, t, p384_mod, p384_mp_mod);
  27399. if (p384_mod_minus_2[i / 64] & ((sp_digit)1 << (i % 64)))
  27400. sp_384_mont_mul_avx2_6(t, t, a, p384_mod, p384_mp_mod);
  27401. }
  27402. XMEMCPY(r, t, sizeof(sp_digit) * 6);
  27403. #else
  27404. sp_digit* t1 = td;
  27405. sp_digit* t2 = td + 2 * 6;
  27406. sp_digit* t3 = td + 4 * 6;
  27407. sp_digit* t4 = td + 6 * 6;
  27408. sp_digit* t5 = td + 8 * 6;
  27409. /* 0x2 */
  27410. sp_384_mont_sqr_avx2_6(t1, a, p384_mod, p384_mp_mod);
  27411. /* 0x3 */
  27412. sp_384_mont_mul_avx2_6(t5, t1, a, p384_mod, p384_mp_mod);
  27413. /* 0xc */
  27414. sp_384_mont_sqr_n_avx2_6(t1, t5, 2, p384_mod, p384_mp_mod);
  27415. /* 0xf */
  27416. sp_384_mont_mul_avx2_6(t2, t5, t1, p384_mod, p384_mp_mod);
  27417. /* 0x1e */
  27418. sp_384_mont_sqr_avx2_6(t1, t2, p384_mod, p384_mp_mod);
  27419. /* 0x1f */
  27420. sp_384_mont_mul_avx2_6(t4, t1, a, p384_mod, p384_mp_mod);
  27421. /* 0x3e0 */
  27422. sp_384_mont_sqr_n_avx2_6(t1, t4, 5, p384_mod, p384_mp_mod);
  27423. /* 0x3ff */
  27424. sp_384_mont_mul_avx2_6(t2, t4, t1, p384_mod, p384_mp_mod);
  27425. /* 0x7fe0 */
  27426. sp_384_mont_sqr_n_avx2_6(t1, t2, 5, p384_mod, p384_mp_mod);
  27427. /* 0x7fff */
  27428. sp_384_mont_mul_avx2_6(t4, t4, t1, p384_mod, p384_mp_mod);
  27429. /* 0x3fff8000 */
  27430. sp_384_mont_sqr_n_avx2_6(t1, t4, 15, p384_mod, p384_mp_mod);
  27431. /* 0x3fffffff */
  27432. sp_384_mont_mul_avx2_6(t2, t4, t1, p384_mod, p384_mp_mod);
  27433. /* 0xfffffffc */
  27434. sp_384_mont_sqr_n_avx2_6(t3, t2, 2, p384_mod, p384_mp_mod);
  27435. /* 0xfffffffd */
  27436. sp_384_mont_mul_avx2_6(r, t3, a, p384_mod, p384_mp_mod);
  27437. /* 0xffffffff */
  27438. sp_384_mont_mul_avx2_6(t3, t5, t3, p384_mod, p384_mp_mod);
  27439. /* 0xfffffffc0000000 */
  27440. sp_384_mont_sqr_n_avx2_6(t1, t2, 30, p384_mod, p384_mp_mod);
  27441. /* 0xfffffffffffffff */
  27442. sp_384_mont_mul_avx2_6(t2, t2, t1, p384_mod, p384_mp_mod);
  27443. /* 0xfffffffffffffff000000000000000 */
  27444. sp_384_mont_sqr_n_avx2_6(t1, t2, 60, p384_mod, p384_mp_mod);
  27445. /* 0xffffffffffffffffffffffffffffff */
  27446. sp_384_mont_mul_avx2_6(t2, t2, t1, p384_mod, p384_mp_mod);
  27447. /* 0xffffffffffffffffffffffffffffff000000000000000000000000000000 */
  27448. sp_384_mont_sqr_n_avx2_6(t1, t2, 120, p384_mod, p384_mp_mod);
  27449. /* 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  27450. sp_384_mont_mul_avx2_6(t2, t2, t1, p384_mod, p384_mp_mod);
  27451. /* 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 */
  27452. sp_384_mont_sqr_n_avx2_6(t1, t2, 15, p384_mod, p384_mp_mod);
  27453. /* 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  27454. sp_384_mont_mul_avx2_6(t2, t4, t1, p384_mod, p384_mp_mod);
  27455. /* 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000 */
  27456. sp_384_mont_sqr_n_avx2_6(t1, t2, 33, p384_mod, p384_mp_mod);
  27457. /* 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff */
  27458. sp_384_mont_mul_avx2_6(t2, t3, t1, p384_mod, p384_mp_mod);
  27459. /* 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000000000000 */
  27460. sp_384_mont_sqr_n_avx2_6(t1, t2, 96, p384_mod, p384_mp_mod);
  27461. /* 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffd */
  27462. sp_384_mont_mul_avx2_6(r, r, t1, p384_mod, p384_mp_mod);
  27463. #endif /* WOLFSSL_SP_SMALL */
  27464. }
  27465. #ifdef __cplusplus
  27466. extern "C" {
  27467. #endif
  27468. extern sp_digit sp_384_cond_sub_avx2_6(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  27469. #ifdef __cplusplus
  27470. }
  27471. #endif
  27472. /* Map the Montgomery form projective coordinate point to an affine point.
  27473. *
  27474. * r Resulting affine coordinate point.
  27475. * p Montgomery form projective coordinate point.
  27476. * t Temporary ordinate data.
  27477. */
  27478. static void sp_384_map_avx2_6(sp_point_384* r, const sp_point_384* p,
  27479. sp_digit* t)
  27480. {
  27481. sp_digit* t1 = t;
  27482. sp_digit* t2 = t + 2*6;
  27483. sp_int64 n;
  27484. sp_384_mont_inv_avx2_6(t1, p->z, t + 2*6);
  27485. sp_384_mont_sqr_avx2_6(t2, t1, p384_mod, p384_mp_mod);
  27486. sp_384_mont_mul_avx2_6(t1, t2, t1, p384_mod, p384_mp_mod);
  27487. /* x /= z^2 */
  27488. sp_384_mont_mul_avx2_6(r->x, p->x, t2, p384_mod, p384_mp_mod);
  27489. XMEMSET(r->x + 6, 0, sizeof(r->x) / 2U);
  27490. sp_384_mont_reduce_avx2_6(r->x, p384_mod, p384_mp_mod);
  27491. /* Reduce x to less than modulus */
  27492. n = sp_384_cmp_6(r->x, p384_mod);
  27493. sp_384_cond_sub_6(r->x, r->x, p384_mod, ~(n >> 63));
  27494. sp_384_norm_6(r->x);
  27495. /* y /= z^3 */
  27496. sp_384_mont_mul_avx2_6(r->y, p->y, t1, p384_mod, p384_mp_mod);
  27497. XMEMSET(r->y + 6, 0, sizeof(r->y) / 2U);
  27498. sp_384_mont_reduce_avx2_6(r->y, p384_mod, p384_mp_mod);
  27499. /* Reduce y to less than modulus */
  27500. n = sp_384_cmp_6(r->y, p384_mod);
  27501. sp_384_cond_sub_avx2_6(r->y, r->y, p384_mod, ~(n >> 63));
  27502. sp_384_norm_6(r->y);
  27503. XMEMSET(r->z, 0, sizeof(r->z) / 2);
  27504. r->z[0] = 1;
  27505. }
  27506. #define sp_384_mont_add_avx2_6 sp_384_mont_add_6
  27507. #define sp_384_mont_dbl_avx2_6 sp_384_mont_dbl_6
  27508. #define sp_384_mont_tpl_avx2_6 sp_384_mont_tpl_6
  27509. #define sp_384_mont_sub_avx2_6 sp_384_mont_sub_6
  27510. #define sp_384_mont_sub_lower_avx2_6 sp_384_mont_sub_lower_6
  27511. #ifdef __cplusplus
  27512. extern "C" {
  27513. #endif
  27514. extern void sp_384_div2_avx2_6(sp_digit* r, const sp_digit* a, const sp_digit* m);
  27515. #ifdef __cplusplus
  27516. }
  27517. #endif
  27518. /* Double the Montgomery form projective point p.
  27519. *
  27520. * r Result of doubling point.
  27521. * p Point to double.
  27522. * t Temporary ordinate data.
  27523. */
  27524. #ifdef WOLFSSL_SP_NONBLOCK
  27525. typedef struct sp_384_proj_point_dbl_avx2_6_ctx {
  27526. int state;
  27527. sp_digit* t1;
  27528. sp_digit* t2;
  27529. sp_digit* x;
  27530. sp_digit* y;
  27531. sp_digit* z;
  27532. } sp_384_proj_point_dbl_avx2_6_ctx;
  27533. static int sp_384_proj_point_dbl_avx2_6_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, const sp_point_384* p, sp_digit* t)
  27534. {
  27535. int err = FP_WOULDBLOCK;
  27536. sp_384_proj_point_dbl_avx2_6_ctx* ctx = (sp_384_proj_point_dbl_avx2_6_ctx*)sp_ctx->data;
  27537. typedef char ctx_size_test[sizeof(sp_384_proj_point_dbl_avx2_6_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  27538. (void)sizeof(ctx_size_test);
  27539. switch (ctx->state) {
  27540. case 0:
  27541. ctx->t1 = t;
  27542. ctx->t2 = t + 2*6;
  27543. ctx->x = r->x;
  27544. ctx->y = r->y;
  27545. ctx->z = r->z;
  27546. /* Put infinity into result. */
  27547. if (r != p) {
  27548. r->infinity = p->infinity;
  27549. }
  27550. ctx->state = 1;
  27551. break;
  27552. case 1:
  27553. /* T1 = Z * Z */
  27554. sp_384_mont_sqr_avx2_6(ctx->t1, p->z, p384_mod, p384_mp_mod);
  27555. ctx->state = 2;
  27556. break;
  27557. case 2:
  27558. /* Z = Y * Z */
  27559. sp_384_mont_mul_avx2_6(ctx->z, p->y, p->z, p384_mod, p384_mp_mod);
  27560. ctx->state = 3;
  27561. break;
  27562. case 3:
  27563. /* Z = 2Z */
  27564. sp_384_mont_dbl_avx2_6(ctx->z, ctx->z, p384_mod);
  27565. ctx->state = 4;
  27566. break;
  27567. case 4:
  27568. /* T2 = X - T1 */
  27569. sp_384_mont_sub_avx2_6(ctx->t2, p->x, ctx->t1, p384_mod);
  27570. ctx->state = 5;
  27571. break;
  27572. case 5:
  27573. /* T1 = X + T1 */
  27574. sp_384_mont_add_avx2_6(ctx->t1, p->x, ctx->t1, p384_mod);
  27575. ctx->state = 6;
  27576. break;
  27577. case 6:
  27578. /* T2 = T1 * T2 */
  27579. sp_384_mont_mul_avx2_6(ctx->t2, ctx->t1, ctx->t2, p384_mod, p384_mp_mod);
  27580. ctx->state = 7;
  27581. break;
  27582. case 7:
  27583. /* T1 = 3T2 */
  27584. sp_384_mont_tpl_avx2_6(ctx->t1, ctx->t2, p384_mod);
  27585. ctx->state = 8;
  27586. break;
  27587. case 8:
  27588. /* Y = 2Y */
  27589. sp_384_mont_dbl_avx2_6(ctx->y, p->y, p384_mod);
  27590. ctx->state = 9;
  27591. break;
  27592. case 9:
  27593. /* Y = Y * Y */
  27594. sp_384_mont_sqr_avx2_6(ctx->y, ctx->y, p384_mod, p384_mp_mod);
  27595. ctx->state = 10;
  27596. break;
  27597. case 10:
  27598. /* T2 = Y * Y */
  27599. sp_384_mont_sqr_avx2_6(ctx->t2, ctx->y, p384_mod, p384_mp_mod);
  27600. ctx->state = 11;
  27601. break;
  27602. case 11:
  27603. /* T2 = T2/2 */
  27604. sp_384_div2_avx2_6(ctx->t2, ctx->t2, p384_mod);
  27605. ctx->state = 12;
  27606. break;
  27607. case 12:
  27608. /* Y = Y * X */
  27609. sp_384_mont_mul_avx2_6(ctx->y, ctx->y, p->x, p384_mod, p384_mp_mod);
  27610. ctx->state = 13;
  27611. break;
  27612. case 13:
  27613. /* X = T1 * T1 */
  27614. sp_384_mont_sqr_avx2_6(ctx->x, ctx->t1, p384_mod, p384_mp_mod);
  27615. ctx->state = 14;
  27616. break;
  27617. case 14:
  27618. /* X = X - Y */
  27619. sp_384_mont_sub_avx2_6(ctx->x, ctx->x, ctx->y, p384_mod);
  27620. ctx->state = 15;
  27621. break;
  27622. case 15:
  27623. /* X = X - Y */
  27624. sp_384_mont_sub_avx2_6(ctx->x, ctx->x, ctx->y, p384_mod);
  27625. ctx->state = 16;
  27626. break;
  27627. case 16:
  27628. /* Y = Y - X */
  27629. sp_384_mont_sub_lower_avx2_6(ctx->y, ctx->y, ctx->x, p384_mod);
  27630. ctx->state = 17;
  27631. break;
  27632. case 17:
  27633. /* Y = Y * T1 */
  27634. sp_384_mont_mul_avx2_6(ctx->y, ctx->y, ctx->t1, p384_mod, p384_mp_mod);
  27635. ctx->state = 18;
  27636. break;
  27637. case 18:
  27638. /* Y = Y - T2 */
  27639. sp_384_mont_sub_avx2_6(ctx->y, ctx->y, ctx->t2, p384_mod);
  27640. ctx->state = 19;
  27641. /* fall-through */
  27642. case 19:
  27643. err = MP_OKAY;
  27644. break;
  27645. }
  27646. if (err == MP_OKAY && ctx->state != 19) {
  27647. err = FP_WOULDBLOCK;
  27648. }
  27649. return err;
  27650. }
  27651. #endif /* WOLFSSL_SP_NONBLOCK */
  27652. static void sp_384_proj_point_dbl_avx2_6(sp_point_384* r, const sp_point_384* p,
  27653. sp_digit* t)
  27654. {
  27655. sp_digit* t1 = t;
  27656. sp_digit* t2 = t + 2*6;
  27657. sp_digit* x;
  27658. sp_digit* y;
  27659. sp_digit* z;
  27660. x = r->x;
  27661. y = r->y;
  27662. z = r->z;
  27663. /* Put infinity into result. */
  27664. if (r != p) {
  27665. r->infinity = p->infinity;
  27666. }
  27667. /* T1 = Z * Z */
  27668. sp_384_mont_sqr_avx2_6(t1, p->z, p384_mod, p384_mp_mod);
  27669. /* Z = Y * Z */
  27670. sp_384_mont_mul_avx2_6(z, p->y, p->z, p384_mod, p384_mp_mod);
  27671. /* Z = 2Z */
  27672. sp_384_mont_dbl_avx2_6(z, z, p384_mod);
  27673. /* T2 = X - T1 */
  27674. sp_384_mont_sub_avx2_6(t2, p->x, t1, p384_mod);
  27675. /* T1 = X + T1 */
  27676. sp_384_mont_add_avx2_6(t1, p->x, t1, p384_mod);
  27677. /* T2 = T1 * T2 */
  27678. sp_384_mont_mul_avx2_6(t2, t1, t2, p384_mod, p384_mp_mod);
  27679. /* T1 = 3T2 */
  27680. sp_384_mont_tpl_avx2_6(t1, t2, p384_mod);
  27681. /* Y = 2Y */
  27682. sp_384_mont_dbl_avx2_6(y, p->y, p384_mod);
  27683. /* Y = Y * Y */
  27684. sp_384_mont_sqr_avx2_6(y, y, p384_mod, p384_mp_mod);
  27685. /* T2 = Y * Y */
  27686. sp_384_mont_sqr_avx2_6(t2, y, p384_mod, p384_mp_mod);
  27687. /* T2 = T2/2 */
  27688. sp_384_div2_avx2_6(t2, t2, p384_mod);
  27689. /* Y = Y * X */
  27690. sp_384_mont_mul_avx2_6(y, y, p->x, p384_mod, p384_mp_mod);
  27691. /* X = T1 * T1 */
  27692. sp_384_mont_sqr_avx2_6(x, t1, p384_mod, p384_mp_mod);
  27693. /* X = X - Y */
  27694. sp_384_mont_sub_avx2_6(x, x, y, p384_mod);
  27695. /* X = X - Y */
  27696. sp_384_mont_sub_avx2_6(x, x, y, p384_mod);
  27697. /* Y = Y - X */
  27698. sp_384_mont_sub_lower_avx2_6(y, y, x, p384_mod);
  27699. /* Y = Y * T1 */
  27700. sp_384_mont_mul_avx2_6(y, y, t1, p384_mod, p384_mp_mod);
  27701. /* Y = Y - T2 */
  27702. sp_384_mont_sub_avx2_6(y, y, t2, p384_mod);
  27703. }
  27704. #define sp_384_mont_dbl_lower_avx2_6 sp_384_mont_dbl_lower_6
  27705. #define sp_384_mont_tpl_lower_avx2_6 sp_384_mont_tpl_lower_6
  27706. /* Double the Montgomery form projective point p a number of times.
  27707. *
  27708. * r Result of repeated doubling of point.
  27709. * p Point to double.
  27710. * n Number of times to double
  27711. * t Temporary ordinate data.
  27712. */
  27713. static void sp_384_proj_point_dbl_n_avx2_6(sp_point_384* p, int i,
  27714. sp_digit* t)
  27715. {
  27716. sp_digit* w = t;
  27717. sp_digit* a = t + 2*6;
  27718. sp_digit* b = t + 4*6;
  27719. sp_digit* t1 = t + 6*6;
  27720. sp_digit* t2 = t + 8*6;
  27721. sp_digit* x;
  27722. sp_digit* y;
  27723. sp_digit* z;
  27724. volatile int n = i;
  27725. x = p->x;
  27726. y = p->y;
  27727. z = p->z;
  27728. /* Y = 2*Y */
  27729. sp_384_mont_dbl_avx2_6(y, y, p384_mod);
  27730. /* W = Z^4 */
  27731. sp_384_mont_sqr_avx2_6(w, z, p384_mod, p384_mp_mod);
  27732. sp_384_mont_sqr_avx2_6(w, w, p384_mod, p384_mp_mod);
  27733. #ifndef WOLFSSL_SP_SMALL
  27734. while (--n > 0)
  27735. #else
  27736. while (--n >= 0)
  27737. #endif
  27738. {
  27739. /* A = 3*(X^2 - W) */
  27740. sp_384_mont_sqr_avx2_6(t1, x, p384_mod, p384_mp_mod);
  27741. sp_384_mont_sub_avx2_6(t1, t1, w, p384_mod);
  27742. sp_384_mont_tpl_lower_avx2_6(a, t1, p384_mod);
  27743. /* B = X*Y^2 */
  27744. sp_384_mont_sqr_avx2_6(t1, y, p384_mod, p384_mp_mod);
  27745. sp_384_mont_mul_avx2_6(b, t1, x, p384_mod, p384_mp_mod);
  27746. /* X = A^2 - 2B */
  27747. sp_384_mont_sqr_avx2_6(x, a, p384_mod, p384_mp_mod);
  27748. sp_384_mont_dbl_avx2_6(t2, b, p384_mod);
  27749. sp_384_mont_sub_avx2_6(x, x, t2, p384_mod);
  27750. /* b = 2.(B - X) */
  27751. sp_384_mont_sub_lower_avx2_6(t2, b, x, p384_mod);
  27752. sp_384_mont_dbl_lower_avx2_6(b, t2, p384_mod);
  27753. /* Z = Z*Y */
  27754. sp_384_mont_mul_avx2_6(z, z, y, p384_mod, p384_mp_mod);
  27755. /* t1 = Y^4 */
  27756. sp_384_mont_sqr_avx2_6(t1, t1, p384_mod, p384_mp_mod);
  27757. #ifdef WOLFSSL_SP_SMALL
  27758. if (n != 0)
  27759. #endif
  27760. {
  27761. /* W = W*Y^4 */
  27762. sp_384_mont_mul_avx2_6(w, w, t1, p384_mod, p384_mp_mod);
  27763. }
  27764. /* y = 2*A*(B - X) - Y^4 */
  27765. sp_384_mont_mul_avx2_6(y, b, a, p384_mod, p384_mp_mod);
  27766. sp_384_mont_sub_avx2_6(y, y, t1, p384_mod);
  27767. }
  27768. #ifndef WOLFSSL_SP_SMALL
  27769. /* A = 3*(X^2 - W) */
  27770. sp_384_mont_sqr_avx2_6(t1, x, p384_mod, p384_mp_mod);
  27771. sp_384_mont_sub_avx2_6(t1, t1, w, p384_mod);
  27772. sp_384_mont_tpl_lower_avx2_6(a, t1, p384_mod);
  27773. /* B = X*Y^2 */
  27774. sp_384_mont_sqr_avx2_6(t1, y, p384_mod, p384_mp_mod);
  27775. sp_384_mont_mul_avx2_6(b, t1, x, p384_mod, p384_mp_mod);
  27776. /* X = A^2 - 2B */
  27777. sp_384_mont_sqr_avx2_6(x, a, p384_mod, p384_mp_mod);
  27778. sp_384_mont_dbl_avx2_6(t2, b, p384_mod);
  27779. sp_384_mont_sub_avx2_6(x, x, t2, p384_mod);
  27780. /* b = 2.(B - X) */
  27781. sp_384_mont_sub_lower_avx2_6(t2, b, x, p384_mod);
  27782. sp_384_mont_dbl_lower_avx2_6(b, t2, p384_mod);
  27783. /* Z = Z*Y */
  27784. sp_384_mont_mul_avx2_6(z, z, y, p384_mod, p384_mp_mod);
  27785. /* t1 = Y^4 */
  27786. sp_384_mont_sqr_avx2_6(t1, t1, p384_mod, p384_mp_mod);
  27787. /* y = 2*A*(B - X) - Y^4 */
  27788. sp_384_mont_mul_avx2_6(y, b, a, p384_mod, p384_mp_mod);
  27789. sp_384_mont_sub_avx2_6(y, y, t1, p384_mod);
  27790. #endif
  27791. /* Y = Y/2 */
  27792. sp_384_div2_avx2_6(y, y, p384_mod);
  27793. }
  27794. /* Add two Montgomery form projective points.
  27795. *
  27796. * r Result of addition.
  27797. * p First point to add.
  27798. * q Second point to add.
  27799. * t Temporary ordinate data.
  27800. */
  27801. #ifdef WOLFSSL_SP_NONBLOCK
  27802. typedef struct sp_384_proj_point_add_avx2_6_ctx {
  27803. int state;
  27804. sp_384_proj_point_dbl_avx2_6_ctx dbl_ctx;
  27805. const sp_point_384* ap[2];
  27806. sp_point_384* rp[2];
  27807. sp_digit* t1;
  27808. sp_digit* t2;
  27809. sp_digit* t3;
  27810. sp_digit* t4;
  27811. sp_digit* t5;
  27812. sp_digit* t6;
  27813. sp_digit* x;
  27814. sp_digit* y;
  27815. sp_digit* z;
  27816. } sp_384_proj_point_add_avx2_6_ctx;
  27817. static int sp_384_proj_point_add_avx2_6_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r,
  27818. const sp_point_384* p, const sp_point_384* q, sp_digit* t)
  27819. {
  27820. int err = FP_WOULDBLOCK;
  27821. sp_384_proj_point_add_avx2_6_ctx* ctx = (sp_384_proj_point_add_avx2_6_ctx*)sp_ctx->data;
  27822. /* Ensure only the first point is the same as the result. */
  27823. if (q == r) {
  27824. const sp_point_384* a = p;
  27825. p = q;
  27826. q = a;
  27827. }
  27828. typedef char ctx_size_test[sizeof(sp_384_proj_point_add_avx2_6_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  27829. (void)sizeof(ctx_size_test);
  27830. switch (ctx->state) {
  27831. case 0: /* INIT */
  27832. ctx->t1 = t;
  27833. ctx->t2 = t + 2*6;
  27834. ctx->t3 = t + 4*6;
  27835. ctx->t4 = t + 6*6;
  27836. ctx->t5 = t + 8*6;
  27837. ctx->t6 = t + 10*6;
  27838. ctx->x = ctx->t6;
  27839. ctx->y = ctx->t1;
  27840. ctx->z = ctx->t2;
  27841. ctx->state = 1;
  27842. break;
  27843. case 1:
  27844. /* Check double */
  27845. (void)sp_384_sub_avx2_6(ctx->t1, p384_mod, q->y);
  27846. sp_384_norm_avx2_6(ctx->t1);
  27847. if ((~p->infinity & ~q->infinity &
  27848. sp_384_cmp_equal_avx2_6(p->x, q->x) & sp_384_cmp_equal_avx2_6(p->z, q->z) &
  27849. (sp_384_cmp_equal_avx2_6(p->y, q->y) | sp_384_cmp_equal_avx2_6(p->y, ctx->t1))) != 0)
  27850. {
  27851. XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx));
  27852. ctx->state = 2;
  27853. }
  27854. else {
  27855. ctx->state = 3;
  27856. }
  27857. break;
  27858. case 2:
  27859. err = sp_384_proj_point_dbl_avx2_6_nb((sp_ecc_ctx_t*)&ctx->dbl_ctx, r, p, t);
  27860. if (err == MP_OKAY)
  27861. ctx->state = 27; /* done */
  27862. break;
  27863. case 3:
  27864. {
  27865. ctx->state = 4;
  27866. break;
  27867. }
  27868. case 4:
  27869. /* U1 = X1*Z2^2 */
  27870. sp_384_mont_sqr_avx2_6(ctx->t1, q->z, p384_mod, p384_mp_mod);
  27871. ctx->state = 5;
  27872. break;
  27873. case 5:
  27874. sp_384_mont_mul_avx2_6(ctx->t3, ctx->t1, q->z, p384_mod, p384_mp_mod);
  27875. ctx->state = 6;
  27876. break;
  27877. case 6:
  27878. sp_384_mont_mul_avx2_6(ctx->t1, ctx->t1, p->x, p384_mod, p384_mp_mod);
  27879. ctx->state = 7;
  27880. break;
  27881. case 7:
  27882. /* U2 = X2*Z1^2 */
  27883. sp_384_mont_sqr_avx2_6(ctx->t2, p->z, p384_mod, p384_mp_mod);
  27884. ctx->state = 8;
  27885. break;
  27886. case 8:
  27887. sp_384_mont_mul_avx2_6(ctx->t4, ctx->t2, p->z, p384_mod, p384_mp_mod);
  27888. ctx->state = 9;
  27889. break;
  27890. case 9:
  27891. sp_384_mont_mul_avx2_6(ctx->t2, ctx->t2, q->x, p384_mod, p384_mp_mod);
  27892. ctx->state = 10;
  27893. break;
  27894. case 10:
  27895. /* S1 = Y1*Z2^3 */
  27896. sp_384_mont_mul_avx2_6(ctx->t3, ctx->t3, p->y, p384_mod, p384_mp_mod);
  27897. ctx->state = 11;
  27898. break;
  27899. case 11:
  27900. /* S2 = Y2*Z1^3 */
  27901. sp_384_mont_mul_avx2_6(ctx->t4, ctx->t4, q->y, p384_mod, p384_mp_mod);
  27902. ctx->state = 12;
  27903. break;
  27904. case 12:
  27905. /* H = U2 - U1 */
  27906. sp_384_mont_sub_avx2_6(ctx->t2, ctx->t2, ctx->t1, p384_mod);
  27907. ctx->state = 13;
  27908. break;
  27909. case 13:
  27910. /* R = S2 - S1 */
  27911. sp_384_mont_sub_avx2_6(ctx->t4, ctx->t4, ctx->t3, p384_mod);
  27912. ctx->state = 14;
  27913. break;
  27914. case 14:
  27915. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  27916. sp_384_mont_sqr_avx2_6(ctx->t5, ctx->t2, p384_mod, p384_mp_mod);
  27917. ctx->state = 15;
  27918. break;
  27919. case 15:
  27920. sp_384_mont_mul_avx2_6(ctx->y, ctx->t1, ctx->t5, p384_mod, p384_mp_mod);
  27921. ctx->state = 16;
  27922. break;
  27923. case 16:
  27924. sp_384_mont_mul_avx2_6(ctx->t5, ctx->t5, ctx->t2, p384_mod, p384_mp_mod);
  27925. ctx->state = 17;
  27926. break;
  27927. case 17:
  27928. /* Z3 = H*Z1*Z2 */
  27929. sp_384_mont_mul_avx2_6(ctx->z, p->z, ctx->t2, p384_mod, p384_mp_mod);
  27930. ctx->state = 18;
  27931. break;
  27932. case 18:
  27933. sp_384_mont_mul_avx2_6(ctx->z, ctx->z, q->z, p384_mod, p384_mp_mod);
  27934. ctx->state = 19;
  27935. break;
  27936. case 19:
  27937. sp_384_mont_sqr_avx2_6(ctx->x, ctx->t4, p384_mod, p384_mp_mod);
  27938. ctx->state = 20;
  27939. break;
  27940. case 20:
  27941. sp_384_mont_sub_avx2_6(ctx->x, ctx->x, ctx->t5, p384_mod);
  27942. ctx->state = 21;
  27943. break;
  27944. case 21:
  27945. sp_384_mont_mul_avx2_6(ctx->t5, ctx->t5, ctx->t3, p384_mod, p384_mp_mod);
  27946. ctx->state = 22;
  27947. break;
  27948. case 22:
  27949. sp_384_mont_dbl_avx2_6(ctx->t3, ctx->y, p384_mod);
  27950. ctx->state = 23;
  27951. break;
  27952. case 23:
  27953. sp_384_mont_sub_avx2_6(ctx->x, ctx->x, ctx->t3, p384_mod);
  27954. ctx->state = 24;
  27955. break;
  27956. case 24:
  27957. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  27958. sp_384_mont_sub_lower_avx2_6(ctx->y, ctx->y, ctx->x, p384_mod);
  27959. ctx->state = 25;
  27960. break;
  27961. case 25:
  27962. sp_384_mont_mul_avx2_6(ctx->y, ctx->y, ctx->t4, p384_mod, p384_mp_mod);
  27963. ctx->state = 26;
  27964. break;
  27965. case 26:
  27966. sp_384_mont_sub_avx2_6(ctx->y, ctx->y, ctx->t5, p384_mod);
  27967. ctx->state = 27;
  27968. /* fall-through */
  27969. case 27:
  27970. {
  27971. int i;
  27972. sp_digit maskp = 0 - (q->infinity & (!p->infinity));
  27973. sp_digit maskq = 0 - (p->infinity & (!q->infinity));
  27974. sp_digit maskt = ~(maskp | maskq);
  27975. for (i = 0; i < 6; i++) {
  27976. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  27977. (ctx->x[i] & maskt);
  27978. }
  27979. for (i = 0; i < 6; i++) {
  27980. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  27981. (ctx->y[i] & maskt);
  27982. }
  27983. for (i = 0; i < 6; i++) {
  27984. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  27985. (ctx->z[i] & maskt);
  27986. }
  27987. r->z[0] |= p->infinity & q->infinity;
  27988. r->infinity = p->infinity & q->infinity;
  27989. err = MP_OKAY;
  27990. break;
  27991. }
  27992. }
  27993. if (err == MP_OKAY && ctx->state != 27) {
  27994. err = FP_WOULDBLOCK;
  27995. }
  27996. return err;
  27997. }
  27998. #endif /* WOLFSSL_SP_NONBLOCK */
  27999. static void sp_384_proj_point_add_avx2_6(sp_point_384* r,
  28000. const sp_point_384* p, const sp_point_384* q, sp_digit* t)
  28001. {
  28002. sp_digit* t1 = t;
  28003. sp_digit* t2 = t + 2*6;
  28004. sp_digit* t3 = t + 4*6;
  28005. sp_digit* t4 = t + 6*6;
  28006. sp_digit* t5 = t + 8*6;
  28007. sp_digit* t6 = t + 10*6;
  28008. /* Check double */
  28009. (void)sp_384_sub_6(t1, p384_mod, q->y);
  28010. sp_384_norm_6(t1);
  28011. if ((~p->infinity & ~q->infinity &
  28012. sp_384_cmp_equal_6(p->x, q->x) & sp_384_cmp_equal_6(p->z, q->z) &
  28013. (sp_384_cmp_equal_6(p->y, q->y) | sp_384_cmp_equal_6(p->y, t1))) != 0) {
  28014. sp_384_proj_point_dbl_avx2_6(r, p, t);
  28015. }
  28016. else {
  28017. sp_digit maskp;
  28018. sp_digit maskq;
  28019. sp_digit maskt;
  28020. sp_digit* x = t6;
  28021. sp_digit* y = t1;
  28022. sp_digit* z = t2;
  28023. int i;
  28024. maskp = 0 - (q->infinity & (!p->infinity));
  28025. maskq = 0 - (p->infinity & (!q->infinity));
  28026. maskt = ~(maskp | maskq);
  28027. /* U1 = X1*Z2^2 */
  28028. sp_384_mont_sqr_avx2_6(t1, q->z, p384_mod, p384_mp_mod);
  28029. sp_384_mont_mul_avx2_6(t3, t1, q->z, p384_mod, p384_mp_mod);
  28030. sp_384_mont_mul_avx2_6(t1, t1, p->x, p384_mod, p384_mp_mod);
  28031. /* U2 = X2*Z1^2 */
  28032. sp_384_mont_sqr_avx2_6(t2, p->z, p384_mod, p384_mp_mod);
  28033. sp_384_mont_mul_avx2_6(t4, t2, p->z, p384_mod, p384_mp_mod);
  28034. sp_384_mont_mul_avx2_6(t2, t2, q->x, p384_mod, p384_mp_mod);
  28035. /* S1 = Y1*Z2^3 */
  28036. sp_384_mont_mul_avx2_6(t3, t3, p->y, p384_mod, p384_mp_mod);
  28037. /* S2 = Y2*Z1^3 */
  28038. sp_384_mont_mul_avx2_6(t4, t4, q->y, p384_mod, p384_mp_mod);
  28039. /* H = U2 - U1 */
  28040. sp_384_mont_sub_avx2_6(t2, t2, t1, p384_mod);
  28041. /* R = S2 - S1 */
  28042. sp_384_mont_sub_avx2_6(t4, t4, t3, p384_mod);
  28043. if (~p->infinity & ~q->infinity &
  28044. sp_384_iszero_6(t2) & sp_384_iszero_6(t4) & maskt) {
  28045. sp_384_proj_point_dbl_avx2_6(r, p, t);
  28046. }
  28047. else {
  28048. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  28049. sp_384_mont_sqr_avx2_6(t5, t2, p384_mod, p384_mp_mod);
  28050. sp_384_mont_mul_avx2_6(y, t1, t5, p384_mod, p384_mp_mod);
  28051. sp_384_mont_mul_avx2_6(t5, t5, t2, p384_mod, p384_mp_mod);
  28052. /* Z3 = H*Z1*Z2 */
  28053. sp_384_mont_mul_avx2_6(z, p->z, t2, p384_mod, p384_mp_mod);
  28054. sp_384_mont_mul_avx2_6(z, z, q->z, p384_mod, p384_mp_mod);
  28055. sp_384_mont_sqr_avx2_6(x, t4, p384_mod, p384_mp_mod);
  28056. sp_384_mont_sub_avx2_6(x, x, t5, p384_mod);
  28057. sp_384_mont_mul_avx2_6(t5, t5, t3, p384_mod, p384_mp_mod);
  28058. sp_384_mont_dbl_avx2_6(t3, y, p384_mod);
  28059. sp_384_mont_sub_avx2_6(x, x, t3, p384_mod);
  28060. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  28061. sp_384_mont_sub_lower_avx2_6(y, y, x, p384_mod);
  28062. sp_384_mont_mul_avx2_6(y, y, t4, p384_mod, p384_mp_mod);
  28063. sp_384_mont_sub_avx2_6(y, y, t5, p384_mod);
  28064. for (i = 0; i < 6; i++) {
  28065. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  28066. (x[i] & maskt);
  28067. }
  28068. for (i = 0; i < 6; i++) {
  28069. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  28070. (y[i] & maskt);
  28071. }
  28072. for (i = 0; i < 6; i++) {
  28073. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  28074. (z[i] & maskt);
  28075. }
  28076. r->z[0] |= p->infinity & q->infinity;
  28077. r->infinity = p->infinity & q->infinity;
  28078. }
  28079. }
  28080. }
  28081. /* Double the Montgomery form projective point p a number of times.
  28082. *
  28083. * r Result of repeated doubling of point.
  28084. * p Point to double.
  28085. * n Number of times to double
  28086. * t Temporary ordinate data.
  28087. */
  28088. static void sp_384_proj_point_dbl_n_store_avx2_6(sp_point_384* r,
  28089. const sp_point_384* p, int n, int m, sp_digit* t)
  28090. {
  28091. sp_digit* w = t;
  28092. sp_digit* a = t + 2*6;
  28093. sp_digit* b = t + 4*6;
  28094. sp_digit* t1 = t + 6*6;
  28095. sp_digit* t2 = t + 8*6;
  28096. sp_digit* x = r[2*m].x;
  28097. sp_digit* y = r[(1<<n)*m].y;
  28098. sp_digit* z = r[2*m].z;
  28099. int i;
  28100. int j;
  28101. for (i=0; i<6; i++) {
  28102. x[i] = p->x[i];
  28103. }
  28104. for (i=0; i<6; i++) {
  28105. y[i] = p->y[i];
  28106. }
  28107. for (i=0; i<6; i++) {
  28108. z[i] = p->z[i];
  28109. }
  28110. /* Y = 2*Y */
  28111. sp_384_mont_dbl_avx2_6(y, y, p384_mod);
  28112. /* W = Z^4 */
  28113. sp_384_mont_sqr_avx2_6(w, z, p384_mod, p384_mp_mod);
  28114. sp_384_mont_sqr_avx2_6(w, w, p384_mod, p384_mp_mod);
  28115. j = m;
  28116. for (i=1; i<=n; i++) {
  28117. j *= 2;
  28118. /* A = 3*(X^2 - W) */
  28119. sp_384_mont_sqr_avx2_6(t1, x, p384_mod, p384_mp_mod);
  28120. sp_384_mont_sub_avx2_6(t1, t1, w, p384_mod);
  28121. sp_384_mont_tpl_lower_avx2_6(a, t1, p384_mod);
  28122. /* B = X*Y^2 */
  28123. sp_384_mont_sqr_avx2_6(t1, y, p384_mod, p384_mp_mod);
  28124. sp_384_mont_mul_avx2_6(b, t1, x, p384_mod, p384_mp_mod);
  28125. x = r[j].x;
  28126. /* X = A^2 - 2B */
  28127. sp_384_mont_sqr_avx2_6(x, a, p384_mod, p384_mp_mod);
  28128. sp_384_mont_dbl_avx2_6(t2, b, p384_mod);
  28129. sp_384_mont_sub_avx2_6(x, x, t2, p384_mod);
  28130. /* b = 2.(B - X) */
  28131. sp_384_mont_sub_lower_avx2_6(t2, b, x, p384_mod);
  28132. sp_384_mont_dbl_lower_avx2_6(b, t2, p384_mod);
  28133. /* Z = Z*Y */
  28134. sp_384_mont_mul_avx2_6(r[j].z, z, y, p384_mod, p384_mp_mod);
  28135. z = r[j].z;
  28136. /* t1 = Y^4 */
  28137. sp_384_mont_sqr_avx2_6(t1, t1, p384_mod, p384_mp_mod);
  28138. if (i != n) {
  28139. /* W = W*Y^4 */
  28140. sp_384_mont_mul_avx2_6(w, w, t1, p384_mod, p384_mp_mod);
  28141. }
  28142. /* y = 2*A*(B - X) - Y^4 */
  28143. sp_384_mont_mul_avx2_6(y, b, a, p384_mod, p384_mp_mod);
  28144. sp_384_mont_sub_avx2_6(y, y, t1, p384_mod);
  28145. /* Y = Y/2 */
  28146. sp_384_div2_avx2_6(r[j].y, y, p384_mod);
  28147. r[j].infinity = 0;
  28148. }
  28149. }
  28150. /* Add two Montgomery form projective points.
  28151. *
  28152. * ra Result of addition.
  28153. * rs Result of subtraction.
  28154. * p First point to add.
  28155. * q Second point to add.
  28156. * t Temporary ordinate data.
  28157. */
  28158. static void sp_384_proj_point_add_sub_avx2_6(sp_point_384* ra,
  28159. sp_point_384* rs, const sp_point_384* p, const sp_point_384* q,
  28160. sp_digit* t)
  28161. {
  28162. sp_digit* t1 = t;
  28163. sp_digit* t2 = t + 2*6;
  28164. sp_digit* t3 = t + 4*6;
  28165. sp_digit* t4 = t + 6*6;
  28166. sp_digit* t5 = t + 8*6;
  28167. sp_digit* t6 = t + 10*6;
  28168. sp_digit* xa = ra->x;
  28169. sp_digit* ya = ra->y;
  28170. sp_digit* za = ra->z;
  28171. sp_digit* xs = rs->x;
  28172. sp_digit* ys = rs->y;
  28173. sp_digit* zs = rs->z;
  28174. XMEMCPY(xa, p->x, sizeof(p->x) / 2);
  28175. XMEMCPY(ya, p->y, sizeof(p->y) / 2);
  28176. XMEMCPY(za, p->z, sizeof(p->z) / 2);
  28177. ra->infinity = 0;
  28178. rs->infinity = 0;
  28179. /* U1 = X1*Z2^2 */
  28180. sp_384_mont_sqr_avx2_6(t1, q->z, p384_mod, p384_mp_mod);
  28181. sp_384_mont_mul_avx2_6(t3, t1, q->z, p384_mod, p384_mp_mod);
  28182. sp_384_mont_mul_avx2_6(t1, t1, xa, p384_mod, p384_mp_mod);
  28183. /* U2 = X2*Z1^2 */
  28184. sp_384_mont_sqr_avx2_6(t2, za, p384_mod, p384_mp_mod);
  28185. sp_384_mont_mul_avx2_6(t4, t2, za, p384_mod, p384_mp_mod);
  28186. sp_384_mont_mul_avx2_6(t2, t2, q->x, p384_mod, p384_mp_mod);
  28187. /* S1 = Y1*Z2^3 */
  28188. sp_384_mont_mul_avx2_6(t3, t3, ya, p384_mod, p384_mp_mod);
  28189. /* S2 = Y2*Z1^3 */
  28190. sp_384_mont_mul_avx2_6(t4, t4, q->y, p384_mod, p384_mp_mod);
  28191. /* H = U2 - U1 */
  28192. sp_384_mont_sub_avx2_6(t2, t2, t1, p384_mod);
  28193. /* RS = S2 + S1 */
  28194. sp_384_mont_add_avx2_6(t6, t4, t3, p384_mod);
  28195. /* R = S2 - S1 */
  28196. sp_384_mont_sub_avx2_6(t4, t4, t3, p384_mod);
  28197. /* Z3 = H*Z1*Z2 */
  28198. /* ZS = H*Z1*Z2 */
  28199. sp_384_mont_mul_avx2_6(za, za, q->z, p384_mod, p384_mp_mod);
  28200. sp_384_mont_mul_avx2_6(za, za, t2, p384_mod, p384_mp_mod);
  28201. XMEMCPY(zs, za, sizeof(p->z)/2);
  28202. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  28203. /* XS = RS^2 - H^3 - 2*U1*H^2 */
  28204. sp_384_mont_sqr_avx2_6(xa, t4, p384_mod, p384_mp_mod);
  28205. sp_384_mont_sqr_avx2_6(xs, t6, p384_mod, p384_mp_mod);
  28206. sp_384_mont_sqr_avx2_6(t5, t2, p384_mod, p384_mp_mod);
  28207. sp_384_mont_mul_avx2_6(ya, t1, t5, p384_mod, p384_mp_mod);
  28208. sp_384_mont_mul_avx2_6(t5, t5, t2, p384_mod, p384_mp_mod);
  28209. sp_384_mont_sub_avx2_6(xa, xa, t5, p384_mod);
  28210. sp_384_mont_sub_avx2_6(xs, xs, t5, p384_mod);
  28211. sp_384_mont_dbl_avx2_6(t1, ya, p384_mod);
  28212. sp_384_mont_sub_avx2_6(xa, xa, t1, p384_mod);
  28213. sp_384_mont_sub_avx2_6(xs, xs, t1, p384_mod);
  28214. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  28215. /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */
  28216. sp_384_mont_sub_lower_avx2_6(ys, ya, xs, p384_mod);
  28217. sp_384_mont_sub_lower_avx2_6(ya, ya, xa, p384_mod);
  28218. sp_384_mont_mul_avx2_6(ya, ya, t4, p384_mod, p384_mp_mod);
  28219. sp_384_sub_6(t6, p384_mod, t6);
  28220. sp_384_mont_mul_avx2_6(ys, ys, t6, p384_mod, p384_mp_mod);
  28221. sp_384_mont_mul_avx2_6(t5, t5, t3, p384_mod, p384_mp_mod);
  28222. sp_384_mont_sub_avx2_6(ya, ya, t5, p384_mod);
  28223. sp_384_mont_sub_avx2_6(ys, ys, t5, p384_mod);
  28224. }
  28225. /* Multiply the point by the scalar and return the result.
  28226. * If map is true then convert result to affine coordinates.
  28227. *
  28228. * Window technique of 6 bits. (Add-Sub variation.)
  28229. * Calculate 0..32 times the point. Use function that adds and
  28230. * subtracts the same two points.
  28231. * Recode to add or subtract one of the computed points.
  28232. * Double to push up.
  28233. * NOT a sliding window.
  28234. *
  28235. * r Resulting point.
  28236. * g Point to multiply.
  28237. * k Scalar to multiply by.
  28238. * map Indicates whether to convert result to affine.
  28239. * ct Constant time required.
  28240. * heap Heap to use for allocation.
  28241. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  28242. */
  28243. static int sp_384_ecc_mulmod_win_add_sub_avx2_6(sp_point_384* r, const sp_point_384* g,
  28244. const sp_digit* k, int map, int ct, void* heap)
  28245. {
  28246. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  28247. sp_point_384* t = NULL;
  28248. sp_digit* tmp = NULL;
  28249. #else
  28250. sp_point_384 t[33+2];
  28251. sp_digit tmp[2 * 6 * 6];
  28252. #endif
  28253. sp_point_384* rt = NULL;
  28254. sp_point_384* p = NULL;
  28255. sp_digit* negy;
  28256. int i;
  28257. ecc_recode_384 v[65];
  28258. int err = MP_OKAY;
  28259. /* Constant time used for cache attack resistance implementation. */
  28260. (void)ct;
  28261. (void)heap;
  28262. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  28263. t = (sp_point_384*)XMALLOC(sizeof(sp_point_384) *
  28264. (33+2), heap, DYNAMIC_TYPE_ECC);
  28265. if (t == NULL)
  28266. err = MEMORY_E;
  28267. if (err == MP_OKAY) {
  28268. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6,
  28269. heap, DYNAMIC_TYPE_ECC);
  28270. if (tmp == NULL)
  28271. err = MEMORY_E;
  28272. }
  28273. #endif
  28274. if (err == MP_OKAY) {
  28275. rt = t + 33;
  28276. p = t + 33+1;
  28277. /* t[0] = {0, 0, 1} * norm */
  28278. XMEMSET(&t[0], 0, sizeof(t[0]));
  28279. t[0].infinity = 1;
  28280. /* t[1] = {g->x, g->y, g->z} * norm */
  28281. err = sp_384_mod_mul_norm_avx2_6(t[1].x, g->x, p384_mod);
  28282. }
  28283. if (err == MP_OKAY) {
  28284. err = sp_384_mod_mul_norm_avx2_6(t[1].y, g->y, p384_mod);
  28285. }
  28286. if (err == MP_OKAY) {
  28287. err = sp_384_mod_mul_norm_avx2_6(t[1].z, g->z, p384_mod);
  28288. }
  28289. if (err == MP_OKAY) {
  28290. t[1].infinity = 0;
  28291. /* t[2] ... t[32] */
  28292. sp_384_proj_point_dbl_n_store_avx2_6(t, &t[ 1], 5, 1, tmp);
  28293. sp_384_proj_point_add_avx2_6(&t[ 3], &t[ 2], &t[ 1], tmp);
  28294. sp_384_proj_point_dbl_avx2_6(&t[ 6], &t[ 3], tmp);
  28295. sp_384_proj_point_add_sub_avx2_6(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp);
  28296. sp_384_proj_point_dbl_avx2_6(&t[10], &t[ 5], tmp);
  28297. sp_384_proj_point_add_sub_avx2_6(&t[11], &t[ 9], &t[10], &t[ 1], tmp);
  28298. sp_384_proj_point_dbl_avx2_6(&t[12], &t[ 6], tmp);
  28299. sp_384_proj_point_dbl_avx2_6(&t[14], &t[ 7], tmp);
  28300. sp_384_proj_point_add_sub_avx2_6(&t[15], &t[13], &t[14], &t[ 1], tmp);
  28301. sp_384_proj_point_dbl_avx2_6(&t[18], &t[ 9], tmp);
  28302. sp_384_proj_point_add_sub_avx2_6(&t[19], &t[17], &t[18], &t[ 1], tmp);
  28303. sp_384_proj_point_dbl_avx2_6(&t[20], &t[10], tmp);
  28304. sp_384_proj_point_dbl_avx2_6(&t[22], &t[11], tmp);
  28305. sp_384_proj_point_add_sub_avx2_6(&t[23], &t[21], &t[22], &t[ 1], tmp);
  28306. sp_384_proj_point_dbl_avx2_6(&t[24], &t[12], tmp);
  28307. sp_384_proj_point_dbl_avx2_6(&t[26], &t[13], tmp);
  28308. sp_384_proj_point_add_sub_avx2_6(&t[27], &t[25], &t[26], &t[ 1], tmp);
  28309. sp_384_proj_point_dbl_avx2_6(&t[28], &t[14], tmp);
  28310. sp_384_proj_point_dbl_avx2_6(&t[30], &t[15], tmp);
  28311. sp_384_proj_point_add_sub_avx2_6(&t[31], &t[29], &t[30], &t[ 1], tmp);
  28312. negy = t[0].y;
  28313. sp_384_ecc_recode_6_6(k, v);
  28314. i = 64;
  28315. #ifndef WC_NO_CACHE_RESISTANT
  28316. if (ct) {
  28317. sp_384_get_point_33_avx2_6(rt, t, v[i].i);
  28318. rt->infinity = !v[i].i;
  28319. }
  28320. else
  28321. #endif
  28322. {
  28323. XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_384));
  28324. }
  28325. for (--i; i>=0; i--) {
  28326. sp_384_proj_point_dbl_n_avx2_6(rt, 6, tmp);
  28327. #ifndef WC_NO_CACHE_RESISTANT
  28328. if (ct) {
  28329. sp_384_get_point_33_avx2_6(p, t, v[i].i);
  28330. p->infinity = !v[i].i;
  28331. }
  28332. else
  28333. #endif
  28334. {
  28335. XMEMCPY(p, &t[v[i].i], sizeof(sp_point_384));
  28336. }
  28337. sp_384_sub_6(negy, p384_mod, p->y);
  28338. sp_384_norm_6(negy);
  28339. sp_384_cond_copy_6(p->y, negy, (sp_digit)0 - v[i].neg);
  28340. sp_384_proj_point_add_avx2_6(rt, rt, p, tmp);
  28341. }
  28342. if (map != 0) {
  28343. sp_384_map_avx2_6(r, rt, tmp);
  28344. }
  28345. else {
  28346. XMEMCPY(r, rt, sizeof(sp_point_384));
  28347. }
  28348. }
  28349. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  28350. if (t != NULL)
  28351. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  28352. if (tmp != NULL)
  28353. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  28354. #endif
  28355. return err;
  28356. }
  28357. #endif /* HAVE_INTEL_AVX2 */
  28358. /* A table entry for pre-computed points. */
  28359. typedef struct sp_table_entry_384 {
  28360. sp_digit x[6];
  28361. sp_digit y[6];
  28362. } sp_table_entry_384;
  28363. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  28364. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  28365. /* Add two Montgomery form projective points. The second point has a q value of
  28366. * one.
  28367. * Only the first point can be the same pointer as the result point.
  28368. *
  28369. * r Result of addition.
  28370. * p First point to add.
  28371. * q Second point to add.
  28372. * t Temporary ordinate data.
  28373. */
  28374. static void sp_384_proj_point_add_qz1_6(sp_point_384* r, const sp_point_384* p,
  28375. const sp_point_384* q, sp_digit* t)
  28376. {
  28377. sp_digit* t1 = t;
  28378. sp_digit* t2 = t + 2*6;
  28379. sp_digit* t3 = t + 4*6;
  28380. sp_digit* t4 = t + 6*6;
  28381. sp_digit* t5 = t + 8*6;
  28382. sp_digit* t6 = t + 10*6;
  28383. /* Check double */
  28384. (void)sp_384_sub_6(t1, p384_mod, q->y);
  28385. sp_384_norm_6(t1);
  28386. if ((~p->infinity & ~q->infinity &
  28387. sp_384_cmp_equal_6(p->x, q->x) & sp_384_cmp_equal_6(p->z, q->z) &
  28388. (sp_384_cmp_equal_6(p->y, q->y) | sp_384_cmp_equal_6(p->y, t1))) != 0) {
  28389. sp_384_proj_point_dbl_6(r, p, t);
  28390. }
  28391. else {
  28392. sp_digit maskp;
  28393. sp_digit maskq;
  28394. sp_digit maskt;
  28395. sp_digit* x = t2;
  28396. sp_digit* y = t5;
  28397. sp_digit* z = t6;
  28398. int i;
  28399. /* U2 = X2*Z1^2 */
  28400. sp_384_mont_sqr_6(t2, p->z, p384_mod, p384_mp_mod);
  28401. sp_384_mont_mul_6(t4, t2, p->z, p384_mod, p384_mp_mod);
  28402. sp_384_mont_mul_6(t2, t2, q->x, p384_mod, p384_mp_mod);
  28403. /* S2 = Y2*Z1^3 */
  28404. sp_384_mont_mul_6(t4, t4, q->y, p384_mod, p384_mp_mod);
  28405. /* H = U2 - X1 */
  28406. sp_384_mont_sub_6(t2, t2, p->x, p384_mod);
  28407. /* R = S2 - Y1 */
  28408. sp_384_mont_sub_6(t4, t4, p->y, p384_mod);
  28409. /* Z3 = H*Z1 */
  28410. sp_384_mont_mul_6(z, p->z, t2, p384_mod, p384_mp_mod);
  28411. /* X3 = R^2 - H^3 - 2*X1*H^2 */
  28412. sp_384_mont_sqr_6(t1, t4, p384_mod, p384_mp_mod);
  28413. sp_384_mont_sqr_6(t5, t2, p384_mod, p384_mp_mod);
  28414. sp_384_mont_mul_6(t3, p->x, t5, p384_mod, p384_mp_mod);
  28415. sp_384_mont_mul_6(t5, t5, t2, p384_mod, p384_mp_mod);
  28416. sp_384_mont_sub_6(x, t1, t5, p384_mod);
  28417. sp_384_mont_dbl_6(t1, t3, p384_mod);
  28418. sp_384_mont_sub_6(x, x, t1, p384_mod);
  28419. /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */
  28420. sp_384_mont_sub_lower_6(t3, t3, x, p384_mod);
  28421. sp_384_mont_mul_6(t3, t3, t4, p384_mod, p384_mp_mod);
  28422. sp_384_mont_mul_6(t5, t5, p->y, p384_mod, p384_mp_mod);
  28423. sp_384_mont_sub_6(y, t3, t5, p384_mod);
  28424. maskp = 0 - (q->infinity & (!p->infinity));
  28425. maskq = 0 - (p->infinity & (!q->infinity));
  28426. maskt = ~(maskp | maskq);
  28427. for (i = 0; i < 6; i++) {
  28428. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | (x[i] & maskt);
  28429. }
  28430. for (i = 0; i < 6; i++) {
  28431. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | (y[i] & maskt);
  28432. }
  28433. for (i = 0; i < 6; i++) {
  28434. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | (z[i] & maskt);
  28435. }
  28436. r->z[0] |= p->infinity & q->infinity;
  28437. r->infinity = p->infinity & q->infinity;
  28438. }
  28439. }
  28440. #ifdef FP_ECC
  28441. /* Convert the projective point to affine.
  28442. * Ordinates are in Montgomery form.
  28443. *
  28444. * a Point to convert.
  28445. * t Temporary data.
  28446. */
  28447. static void sp_384_proj_to_affine_6(sp_point_384* a, sp_digit* t)
  28448. {
  28449. sp_digit* t1 = t;
  28450. sp_digit* t2 = t + 2 * 6;
  28451. sp_digit* tmp = t + 4 * 6;
  28452. sp_384_mont_inv_6(t1, a->z, tmp);
  28453. sp_384_mont_sqr_6(t2, t1, p384_mod, p384_mp_mod);
  28454. sp_384_mont_mul_6(t1, t2, t1, p384_mod, p384_mp_mod);
  28455. sp_384_mont_mul_6(a->x, a->x, t2, p384_mod, p384_mp_mod);
  28456. sp_384_mont_mul_6(a->y, a->y, t1, p384_mod, p384_mp_mod);
  28457. XMEMCPY(a->z, p384_norm_mod, sizeof(p384_norm_mod));
  28458. }
  28459. /* Generate the pre-computed table of points for the base point.
  28460. *
  28461. * width = 6
  28462. * 64 entries
  28463. * 64 bits between
  28464. *
  28465. * a The base point.
  28466. * table Place to store generated point data.
  28467. * tmp Temporary data.
  28468. * heap Heap to use for allocation.
  28469. */
  28470. static int sp_384_gen_stripe_table_6(const sp_point_384* a,
  28471. sp_table_entry_384* table, sp_digit* tmp, void* heap)
  28472. {
  28473. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  28474. sp_point_384* t = NULL;
  28475. #else
  28476. sp_point_384 t[3];
  28477. #endif
  28478. sp_point_384* s1 = NULL;
  28479. sp_point_384* s2 = NULL;
  28480. int i;
  28481. int j;
  28482. int err = MP_OKAY;
  28483. (void)heap;
  28484. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  28485. t = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 3, heap,
  28486. DYNAMIC_TYPE_ECC);
  28487. if (t == NULL)
  28488. err = MEMORY_E;
  28489. #endif
  28490. if (err == MP_OKAY) {
  28491. s1 = t + 1;
  28492. s2 = t + 2;
  28493. err = sp_384_mod_mul_norm_6(t->x, a->x, p384_mod);
  28494. }
  28495. if (err == MP_OKAY) {
  28496. err = sp_384_mod_mul_norm_6(t->y, a->y, p384_mod);
  28497. }
  28498. if (err == MP_OKAY) {
  28499. err = sp_384_mod_mul_norm_6(t->z, a->z, p384_mod);
  28500. }
  28501. if (err == MP_OKAY) {
  28502. t->infinity = 0;
  28503. sp_384_proj_to_affine_6(t, tmp);
  28504. XMEMCPY(s1->z, p384_norm_mod, sizeof(p384_norm_mod));
  28505. s1->infinity = 0;
  28506. XMEMCPY(s2->z, p384_norm_mod, sizeof(p384_norm_mod));
  28507. s2->infinity = 0;
  28508. /* table[0] = {0, 0, infinity} */
  28509. XMEMSET(&table[0], 0, sizeof(sp_table_entry_384));
  28510. /* table[1] = Affine version of 'a' in Montgomery form */
  28511. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  28512. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  28513. for (i=1; i<6; i++) {
  28514. sp_384_proj_point_dbl_n_6(t, 64, tmp);
  28515. sp_384_proj_to_affine_6(t, tmp);
  28516. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  28517. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  28518. }
  28519. for (i=1; i<6; i++) {
  28520. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  28521. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  28522. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  28523. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  28524. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  28525. sp_384_proj_point_add_qz1_6(t, s1, s2, tmp);
  28526. sp_384_proj_to_affine_6(t, tmp);
  28527. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  28528. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  28529. }
  28530. }
  28531. }
  28532. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  28533. if (t != NULL)
  28534. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  28535. #endif
  28536. return err;
  28537. }
  28538. #endif /* FP_ECC */
  28539. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  28540. #ifdef __cplusplus
  28541. extern "C" {
  28542. #endif
  28543. extern void sp_384_get_entry_64_6(sp_point_384* r, const sp_table_entry_384* table, int idx);
  28544. #ifdef __cplusplus
  28545. }
  28546. #endif
  28547. #ifdef __cplusplus
  28548. extern "C" {
  28549. #endif
  28550. extern void sp_384_get_entry_64_avx2_6(sp_point_384* r, const sp_table_entry_384* table, int idx);
  28551. #ifdef __cplusplus
  28552. }
  28553. #endif
  28554. /* Multiply the point by the scalar and return the result.
  28555. * If map is true then convert result to affine coordinates.
  28556. *
  28557. * Stripe implementation.
  28558. * Pre-generated: 2^0, 2^64, ...
  28559. * Pre-generated: products of all combinations of above.
  28560. * 6 doubles and adds (with qz=1)
  28561. *
  28562. * r Resulting point.
  28563. * k Scalar to multiply by.
  28564. * table Pre-computed table.
  28565. * map Indicates whether to convert result to affine.
  28566. * ct Constant time required.
  28567. * heap Heap to use for allocation.
  28568. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  28569. */
  28570. static int sp_384_ecc_mulmod_stripe_6(sp_point_384* r, const sp_point_384* g,
  28571. const sp_table_entry_384* table, const sp_digit* k, int map,
  28572. int ct, void* heap)
  28573. {
  28574. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  28575. sp_point_384* rt = NULL;
  28576. sp_digit* t = NULL;
  28577. #else
  28578. sp_point_384 rt[2];
  28579. sp_digit t[2 * 6 * 6];
  28580. #endif
  28581. sp_point_384* p = NULL;
  28582. int i;
  28583. int j;
  28584. int y;
  28585. int x;
  28586. int err = MP_OKAY;
  28587. (void)g;
  28588. /* Constant time used for cache attack resistance implementation. */
  28589. (void)ct;
  28590. (void)heap;
  28591. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  28592. rt = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  28593. DYNAMIC_TYPE_ECC);
  28594. if (rt == NULL)
  28595. err = MEMORY_E;
  28596. if (err == MP_OKAY) {
  28597. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6, heap,
  28598. DYNAMIC_TYPE_ECC);
  28599. if (t == NULL)
  28600. err = MEMORY_E;
  28601. }
  28602. #endif
  28603. if (err == MP_OKAY) {
  28604. p = rt + 1;
  28605. XMEMCPY(p->z, p384_norm_mod, sizeof(p384_norm_mod));
  28606. XMEMCPY(rt->z, p384_norm_mod, sizeof(p384_norm_mod));
  28607. y = 0;
  28608. x = 63;
  28609. for (j=0; j<6; j++) {
  28610. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  28611. x += 64;
  28612. }
  28613. #ifndef WC_NO_CACHE_RESISTANT
  28614. if (ct) {
  28615. sp_384_get_entry_64_6(rt, table, y);
  28616. } else
  28617. #endif
  28618. {
  28619. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  28620. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  28621. }
  28622. rt->infinity = !y;
  28623. for (i=62; i>=0; i--) {
  28624. y = 0;
  28625. x = i;
  28626. for (j=0; j<6; j++) {
  28627. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  28628. x += 64;
  28629. }
  28630. sp_384_proj_point_dbl_6(rt, rt, t);
  28631. #ifndef WC_NO_CACHE_RESISTANT
  28632. if (ct) {
  28633. sp_384_get_entry_64_6(p, table, y);
  28634. }
  28635. else
  28636. #endif
  28637. {
  28638. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  28639. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  28640. }
  28641. p->infinity = !y;
  28642. sp_384_proj_point_add_qz1_6(rt, rt, p, t);
  28643. }
  28644. if (map != 0) {
  28645. sp_384_map_6(r, rt, t);
  28646. }
  28647. else {
  28648. XMEMCPY(r, rt, sizeof(sp_point_384));
  28649. }
  28650. }
  28651. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  28652. if (t != NULL)
  28653. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  28654. if (rt != NULL)
  28655. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  28656. #endif
  28657. return err;
  28658. }
  28659. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  28660. #ifdef FP_ECC
  28661. #ifndef FP_ENTRIES
  28662. #define FP_ENTRIES 16
  28663. #endif
  28664. /* Cache entry - holds precomputation tables for a point. */
  28665. typedef struct sp_cache_384_t {
  28666. /* X ordinate of point that table was generated from. */
  28667. sp_digit x[6];
  28668. /* Y ordinate of point that table was generated from. */
  28669. sp_digit y[6];
  28670. /* Precomputation table for point. */
  28671. sp_table_entry_384 table[64];
  28672. /* Count of entries in table. */
  28673. uint32_t cnt;
  28674. /* Point and table set in entry. */
  28675. int set;
  28676. } sp_cache_384_t;
  28677. /* Cache of tables. */
  28678. static THREAD_LS_T sp_cache_384_t sp_cache_384[FP_ENTRIES];
  28679. /* Index of last entry in cache. */
  28680. static THREAD_LS_T int sp_cache_384_last = -1;
  28681. /* Cache has been initialized. */
  28682. static THREAD_LS_T int sp_cache_384_inited = 0;
  28683. #ifndef HAVE_THREAD_LS
  28684. static volatile int initCacheMutex_384 = 0;
  28685. static wolfSSL_Mutex sp_cache_384_lock;
  28686. #endif
  28687. /* Get the cache entry for the point.
  28688. *
  28689. * g [in] Point scalar multipling.
  28690. * cache [out] Cache table to use.
  28691. */
  28692. static void sp_ecc_get_cache_384(const sp_point_384* g, sp_cache_384_t** cache)
  28693. {
  28694. int i;
  28695. int j;
  28696. uint32_t least;
  28697. if (sp_cache_384_inited == 0) {
  28698. for (i=0; i<FP_ENTRIES; i++) {
  28699. sp_cache_384[i].set = 0;
  28700. }
  28701. sp_cache_384_inited = 1;
  28702. }
  28703. /* Compare point with those in cache. */
  28704. for (i=0; i<FP_ENTRIES; i++) {
  28705. if (!sp_cache_384[i].set)
  28706. continue;
  28707. if (sp_384_cmp_equal_6(g->x, sp_cache_384[i].x) &
  28708. sp_384_cmp_equal_6(g->y, sp_cache_384[i].y)) {
  28709. sp_cache_384[i].cnt++;
  28710. break;
  28711. }
  28712. }
  28713. /* No match. */
  28714. if (i == FP_ENTRIES) {
  28715. /* Find empty entry. */
  28716. i = (sp_cache_384_last + 1) % FP_ENTRIES;
  28717. for (; i != sp_cache_384_last; i=(i+1)%FP_ENTRIES) {
  28718. if (!sp_cache_384[i].set) {
  28719. break;
  28720. }
  28721. }
  28722. /* Evict least used. */
  28723. if (i == sp_cache_384_last) {
  28724. least = sp_cache_384[0].cnt;
  28725. for (j=1; j<FP_ENTRIES; j++) {
  28726. if (sp_cache_384[j].cnt < least) {
  28727. i = j;
  28728. least = sp_cache_384[i].cnt;
  28729. }
  28730. }
  28731. }
  28732. XMEMCPY(sp_cache_384[i].x, g->x, sizeof(sp_cache_384[i].x));
  28733. XMEMCPY(sp_cache_384[i].y, g->y, sizeof(sp_cache_384[i].y));
  28734. sp_cache_384[i].set = 1;
  28735. sp_cache_384[i].cnt = 1;
  28736. }
  28737. *cache = &sp_cache_384[i];
  28738. sp_cache_384_last = i;
  28739. }
  28740. #endif /* FP_ECC */
  28741. /* Multiply the base point of P384 by the scalar and return the result.
  28742. * If map is true then convert result to affine coordinates.
  28743. *
  28744. * r Resulting point.
  28745. * g Point to multiply.
  28746. * k Scalar to multiply by.
  28747. * map Indicates whether to convert result to affine.
  28748. * ct Constant time required.
  28749. * heap Heap to use for allocation.
  28750. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  28751. */
  28752. static int sp_384_ecc_mulmod_6(sp_point_384* r, const sp_point_384* g, const sp_digit* k,
  28753. int map, int ct, void* heap)
  28754. {
  28755. #ifndef FP_ECC
  28756. return sp_384_ecc_mulmod_win_add_sub_6(r, g, k, map, ct, heap);
  28757. #else
  28758. sp_digit tmp[2 * 6 * 7];
  28759. sp_cache_384_t* cache;
  28760. int err = MP_OKAY;
  28761. #ifndef HAVE_THREAD_LS
  28762. if (initCacheMutex_384 == 0) {
  28763. wc_InitMutex(&sp_cache_384_lock);
  28764. initCacheMutex_384 = 1;
  28765. }
  28766. if (wc_LockMutex(&sp_cache_384_lock) != 0)
  28767. err = BAD_MUTEX_E;
  28768. #endif /* HAVE_THREAD_LS */
  28769. if (err == MP_OKAY) {
  28770. sp_ecc_get_cache_384(g, &cache);
  28771. if (cache->cnt == 2)
  28772. sp_384_gen_stripe_table_6(g, cache->table, tmp, heap);
  28773. #ifndef HAVE_THREAD_LS
  28774. wc_UnLockMutex(&sp_cache_384_lock);
  28775. #endif /* HAVE_THREAD_LS */
  28776. if (cache->cnt < 2) {
  28777. err = sp_384_ecc_mulmod_win_add_sub_6(r, g, k, map, ct, heap);
  28778. }
  28779. else {
  28780. err = sp_384_ecc_mulmod_stripe_6(r, g, cache->table, k,
  28781. map, ct, heap);
  28782. }
  28783. }
  28784. return err;
  28785. #endif
  28786. }
  28787. #ifdef HAVE_INTEL_AVX2
  28788. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  28789. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  28790. /* Add two Montgomery form projective points. The second point has a q value of
  28791. * one.
  28792. * Only the first point can be the same pointer as the result point.
  28793. *
  28794. * r Result of addition.
  28795. * p First point to add.
  28796. * q Second point to add.
  28797. * t Temporary ordinate data.
  28798. */
  28799. static void sp_384_proj_point_add_qz1_avx2_6(sp_point_384* r, const sp_point_384* p,
  28800. const sp_point_384* q, sp_digit* t)
  28801. {
  28802. sp_digit* t1 = t;
  28803. sp_digit* t2 = t + 2*6;
  28804. sp_digit* t3 = t + 4*6;
  28805. sp_digit* t4 = t + 6*6;
  28806. sp_digit* t5 = t + 8*6;
  28807. sp_digit* t6 = t + 10*6;
  28808. /* Check double */
  28809. (void)sp_384_sub_6(t1, p384_mod, q->y);
  28810. sp_384_norm_6(t1);
  28811. if ((~p->infinity & ~q->infinity &
  28812. sp_384_cmp_equal_6(p->x, q->x) & sp_384_cmp_equal_6(p->z, q->z) &
  28813. (sp_384_cmp_equal_6(p->y, q->y) | sp_384_cmp_equal_6(p->y, t1))) != 0) {
  28814. sp_384_proj_point_dbl_avx2_6(r, p, t);
  28815. }
  28816. else {
  28817. sp_digit maskp;
  28818. sp_digit maskq;
  28819. sp_digit maskt;
  28820. sp_digit* x = t2;
  28821. sp_digit* y = t5;
  28822. sp_digit* z = t6;
  28823. int i;
  28824. /* U2 = X2*Z1^2 */
  28825. sp_384_mont_sqr_avx2_6(t2, p->z, p384_mod, p384_mp_mod);
  28826. sp_384_mont_mul_avx2_6(t4, t2, p->z, p384_mod, p384_mp_mod);
  28827. sp_384_mont_mul_avx2_6(t2, t2, q->x, p384_mod, p384_mp_mod);
  28828. /* S2 = Y2*Z1^3 */
  28829. sp_384_mont_mul_avx2_6(t4, t4, q->y, p384_mod, p384_mp_mod);
  28830. /* H = U2 - X1 */
  28831. sp_384_mont_sub_avx2_6(t2, t2, p->x, p384_mod);
  28832. /* R = S2 - Y1 */
  28833. sp_384_mont_sub_avx2_6(t4, t4, p->y, p384_mod);
  28834. /* Z3 = H*Z1 */
  28835. sp_384_mont_mul_avx2_6(z, p->z, t2, p384_mod, p384_mp_mod);
  28836. /* X3 = R^2 - H^3 - 2*X1*H^2 */
  28837. sp_384_mont_sqr_avx2_6(t1, t4, p384_mod, p384_mp_mod);
  28838. sp_384_mont_sqr_avx2_6(t5, t2, p384_mod, p384_mp_mod);
  28839. sp_384_mont_mul_avx2_6(t3, p->x, t5, p384_mod, p384_mp_mod);
  28840. sp_384_mont_mul_avx2_6(t5, t5, t2, p384_mod, p384_mp_mod);
  28841. sp_384_mont_sub_avx2_6(x, t1, t5, p384_mod);
  28842. sp_384_mont_dbl_avx2_6(t1, t3, p384_mod);
  28843. sp_384_mont_sub_avx2_6(x, x, t1, p384_mod);
  28844. /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */
  28845. sp_384_mont_sub_lower_avx2_6(t3, t3, x, p384_mod);
  28846. sp_384_mont_mul_avx2_6(t3, t3, t4, p384_mod, p384_mp_mod);
  28847. sp_384_mont_mul_avx2_6(t5, t5, p->y, p384_mod, p384_mp_mod);
  28848. sp_384_mont_sub_avx2_6(y, t3, t5, p384_mod);
  28849. maskp = 0 - (q->infinity & (!p->infinity));
  28850. maskq = 0 - (p->infinity & (!q->infinity));
  28851. maskt = ~(maskp | maskq);
  28852. for (i = 0; i < 6; i++) {
  28853. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | (x[i] & maskt);
  28854. }
  28855. for (i = 0; i < 6; i++) {
  28856. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | (y[i] & maskt);
  28857. }
  28858. for (i = 0; i < 6; i++) {
  28859. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | (z[i] & maskt);
  28860. }
  28861. r->z[0] |= p->infinity & q->infinity;
  28862. r->infinity = p->infinity & q->infinity;
  28863. }
  28864. }
  28865. #ifdef FP_ECC
  28866. /* Convert the projective point to affine.
  28867. * Ordinates are in Montgomery form.
  28868. *
  28869. * a Point to convert.
  28870. * t Temporary data.
  28871. */
  28872. static void sp_384_proj_to_affine_avx2_6(sp_point_384* a, sp_digit* t)
  28873. {
  28874. sp_digit* t1 = t;
  28875. sp_digit* t2 = t + 2 * 6;
  28876. sp_digit* tmp = t + 4 * 6;
  28877. sp_384_mont_inv_avx2_6(t1, a->z, tmp);
  28878. sp_384_mont_sqr_avx2_6(t2, t1, p384_mod, p384_mp_mod);
  28879. sp_384_mont_mul_avx2_6(t1, t2, t1, p384_mod, p384_mp_mod);
  28880. sp_384_mont_mul_avx2_6(a->x, a->x, t2, p384_mod, p384_mp_mod);
  28881. sp_384_mont_mul_avx2_6(a->y, a->y, t1, p384_mod, p384_mp_mod);
  28882. XMEMCPY(a->z, p384_norm_mod, sizeof(p384_norm_mod));
  28883. }
  28884. /* Generate the pre-computed table of points for the base point.
  28885. *
  28886. * width = 6
  28887. * 64 entries
  28888. * 64 bits between
  28889. *
  28890. * a The base point.
  28891. * table Place to store generated point data.
  28892. * tmp Temporary data.
  28893. * heap Heap to use for allocation.
  28894. */
  28895. static int sp_384_gen_stripe_table_avx2_6(const sp_point_384* a,
  28896. sp_table_entry_384* table, sp_digit* tmp, void* heap)
  28897. {
  28898. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  28899. sp_point_384* t = NULL;
  28900. #else
  28901. sp_point_384 t[3];
  28902. #endif
  28903. sp_point_384* s1 = NULL;
  28904. sp_point_384* s2 = NULL;
  28905. int i;
  28906. int j;
  28907. int err = MP_OKAY;
  28908. (void)heap;
  28909. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  28910. t = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 3, heap,
  28911. DYNAMIC_TYPE_ECC);
  28912. if (t == NULL)
  28913. err = MEMORY_E;
  28914. #endif
  28915. if (err == MP_OKAY) {
  28916. s1 = t + 1;
  28917. s2 = t + 2;
  28918. err = sp_384_mod_mul_norm_avx2_6(t->x, a->x, p384_mod);
  28919. }
  28920. if (err == MP_OKAY) {
  28921. err = sp_384_mod_mul_norm_avx2_6(t->y, a->y, p384_mod);
  28922. }
  28923. if (err == MP_OKAY) {
  28924. err = sp_384_mod_mul_norm_avx2_6(t->z, a->z, p384_mod);
  28925. }
  28926. if (err == MP_OKAY) {
  28927. t->infinity = 0;
  28928. sp_384_proj_to_affine_avx2_6(t, tmp);
  28929. XMEMCPY(s1->z, p384_norm_mod, sizeof(p384_norm_mod));
  28930. s1->infinity = 0;
  28931. XMEMCPY(s2->z, p384_norm_mod, sizeof(p384_norm_mod));
  28932. s2->infinity = 0;
  28933. /* table[0] = {0, 0, infinity} */
  28934. XMEMSET(&table[0], 0, sizeof(sp_table_entry_384));
  28935. /* table[1] = Affine version of 'a' in Montgomery form */
  28936. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  28937. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  28938. for (i=1; i<6; i++) {
  28939. sp_384_proj_point_dbl_n_avx2_6(t, 64, tmp);
  28940. sp_384_proj_to_affine_avx2_6(t, tmp);
  28941. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  28942. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  28943. }
  28944. for (i=1; i<6; i++) {
  28945. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  28946. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  28947. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  28948. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  28949. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  28950. sp_384_proj_point_add_qz1_avx2_6(t, s1, s2, tmp);
  28951. sp_384_proj_to_affine_avx2_6(t, tmp);
  28952. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  28953. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  28954. }
  28955. }
  28956. }
  28957. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  28958. if (t != NULL)
  28959. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  28960. #endif
  28961. return err;
  28962. }
  28963. #endif /* FP_ECC */
  28964. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  28965. /* Multiply the point by the scalar and return the result.
  28966. * If map is true then convert result to affine coordinates.
  28967. *
  28968. * Stripe implementation.
  28969. * Pre-generated: 2^0, 2^64, ...
  28970. * Pre-generated: products of all combinations of above.
  28971. * 6 doubles and adds (with qz=1)
  28972. *
  28973. * r Resulting point.
  28974. * k Scalar to multiply by.
  28975. * table Pre-computed table.
  28976. * map Indicates whether to convert result to affine.
  28977. * ct Constant time required.
  28978. * heap Heap to use for allocation.
  28979. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  28980. */
  28981. static int sp_384_ecc_mulmod_stripe_avx2_6(sp_point_384* r, const sp_point_384* g,
  28982. const sp_table_entry_384* table, const sp_digit* k, int map,
  28983. int ct, void* heap)
  28984. {
  28985. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  28986. sp_point_384* rt = NULL;
  28987. sp_digit* t = NULL;
  28988. #else
  28989. sp_point_384 rt[2];
  28990. sp_digit t[2 * 6 * 6];
  28991. #endif
  28992. sp_point_384* p = NULL;
  28993. int i;
  28994. int j;
  28995. int y;
  28996. int x;
  28997. int err = MP_OKAY;
  28998. (void)g;
  28999. /* Constant time used for cache attack resistance implementation. */
  29000. (void)ct;
  29001. (void)heap;
  29002. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  29003. rt = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  29004. DYNAMIC_TYPE_ECC);
  29005. if (rt == NULL)
  29006. err = MEMORY_E;
  29007. if (err == MP_OKAY) {
  29008. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6, heap,
  29009. DYNAMIC_TYPE_ECC);
  29010. if (t == NULL)
  29011. err = MEMORY_E;
  29012. }
  29013. #endif
  29014. if (err == MP_OKAY) {
  29015. p = rt + 1;
  29016. XMEMCPY(p->z, p384_norm_mod, sizeof(p384_norm_mod));
  29017. XMEMCPY(rt->z, p384_norm_mod, sizeof(p384_norm_mod));
  29018. y = 0;
  29019. x = 63;
  29020. for (j=0; j<6; j++) {
  29021. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  29022. x += 64;
  29023. }
  29024. #ifndef WC_NO_CACHE_RESISTANT
  29025. if (ct) {
  29026. sp_384_get_entry_64_avx2_6(rt, table, y);
  29027. } else
  29028. #endif
  29029. {
  29030. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  29031. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  29032. }
  29033. rt->infinity = !y;
  29034. for (i=62; i>=0; i--) {
  29035. y = 0;
  29036. x = i;
  29037. for (j=0; j<6; j++) {
  29038. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  29039. x += 64;
  29040. }
  29041. sp_384_proj_point_dbl_avx2_6(rt, rt, t);
  29042. #ifndef WC_NO_CACHE_RESISTANT
  29043. if (ct) {
  29044. sp_384_get_entry_64_avx2_6(p, table, y);
  29045. }
  29046. else
  29047. #endif
  29048. {
  29049. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  29050. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  29051. }
  29052. p->infinity = !y;
  29053. sp_384_proj_point_add_qz1_avx2_6(rt, rt, p, t);
  29054. }
  29055. if (map != 0) {
  29056. sp_384_map_avx2_6(r, rt, t);
  29057. }
  29058. else {
  29059. XMEMCPY(r, rt, sizeof(sp_point_384));
  29060. }
  29061. }
  29062. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  29063. if (t != NULL)
  29064. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  29065. if (rt != NULL)
  29066. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  29067. #endif
  29068. return err;
  29069. }
  29070. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  29071. /* Multiply the base point of P384 by the scalar and return the result.
  29072. * If map is true then convert result to affine coordinates.
  29073. *
  29074. * r Resulting point.
  29075. * g Point to multiply.
  29076. * k Scalar to multiply by.
  29077. * map Indicates whether to convert result to affine.
  29078. * ct Constant time required.
  29079. * heap Heap to use for allocation.
  29080. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  29081. */
  29082. static int sp_384_ecc_mulmod_avx2_6(sp_point_384* r, const sp_point_384* g, const sp_digit* k,
  29083. int map, int ct, void* heap)
  29084. {
  29085. #ifndef FP_ECC
  29086. return sp_384_ecc_mulmod_win_add_sub_avx2_6(r, g, k, map, ct, heap);
  29087. #else
  29088. sp_digit tmp[2 * 6 * 7];
  29089. sp_cache_384_t* cache;
  29090. int err = MP_OKAY;
  29091. #ifndef HAVE_THREAD_LS
  29092. if (initCacheMutex_384 == 0) {
  29093. wc_InitMutex(&sp_cache_384_lock);
  29094. initCacheMutex_384 = 1;
  29095. }
  29096. if (wc_LockMutex(&sp_cache_384_lock) != 0)
  29097. err = BAD_MUTEX_E;
  29098. #endif /* HAVE_THREAD_LS */
  29099. if (err == MP_OKAY) {
  29100. sp_ecc_get_cache_384(g, &cache);
  29101. if (cache->cnt == 2)
  29102. sp_384_gen_stripe_table_avx2_6(g, cache->table, tmp, heap);
  29103. #ifndef HAVE_THREAD_LS
  29104. wc_UnLockMutex(&sp_cache_384_lock);
  29105. #endif /* HAVE_THREAD_LS */
  29106. if (cache->cnt < 2) {
  29107. err = sp_384_ecc_mulmod_win_add_sub_avx2_6(r, g, k, map, ct, heap);
  29108. }
  29109. else {
  29110. err = sp_384_ecc_mulmod_stripe_avx2_6(r, g, cache->table, k,
  29111. map, ct, heap);
  29112. }
  29113. }
  29114. return err;
  29115. #endif
  29116. }
  29117. #endif /* HAVE_INTEL_AVX2 */
  29118. /* Multiply the point by the scalar and return the result.
  29119. * If map is true then convert result to affine coordinates.
  29120. *
  29121. * km Scalar to multiply by.
  29122. * p Point to multiply.
  29123. * r Resulting point.
  29124. * map Indicates whether to convert result to affine.
  29125. * heap Heap to use for allocation.
  29126. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  29127. */
  29128. int sp_ecc_mulmod_384(const mp_int* km, const ecc_point* gm, ecc_point* r,
  29129. int map, void* heap)
  29130. {
  29131. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  29132. sp_point_384* point = NULL;
  29133. sp_digit* k = NULL;
  29134. #else
  29135. sp_point_384 point[1];
  29136. sp_digit k[6];
  29137. #endif
  29138. int err = MP_OKAY;
  29139. #ifdef HAVE_INTEL_AVX2
  29140. word32 cpuid_flags = cpuid_get_flags();
  29141. #endif
  29142. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  29143. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384), heap,
  29144. DYNAMIC_TYPE_ECC);
  29145. if (point == NULL)
  29146. err = MEMORY_E;
  29147. if (err == MP_OKAY) {
  29148. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6, heap,
  29149. DYNAMIC_TYPE_ECC);
  29150. if (k == NULL)
  29151. err = MEMORY_E;
  29152. }
  29153. #endif
  29154. if (err == MP_OKAY) {
  29155. sp_384_from_mp(k, 6, km);
  29156. sp_384_point_from_ecc_point_6(point, gm);
  29157. #ifdef HAVE_INTEL_AVX2
  29158. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  29159. err = sp_384_ecc_mulmod_avx2_6(point, point, k, map, 1, heap);
  29160. else
  29161. #endif
  29162. err = sp_384_ecc_mulmod_6(point, point, k, map, 1, heap);
  29163. }
  29164. if (err == MP_OKAY) {
  29165. err = sp_384_point_to_ecc_point_6(point, r);
  29166. }
  29167. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  29168. if (k != NULL)
  29169. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  29170. if (point != NULL)
  29171. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  29172. #endif
  29173. return err;
  29174. }
  29175. /* Multiply the point by the scalar, add point a and return the result.
  29176. * If map is true then convert result to affine coordinates.
  29177. *
  29178. * km Scalar to multiply by.
  29179. * p Point to multiply.
  29180. * am Point to add to scalar mulitply result.
  29181. * inMont Point to add is in montgomery form.
  29182. * r Resulting point.
  29183. * map Indicates whether to convert result to affine.
  29184. * heap Heap to use for allocation.
  29185. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  29186. */
  29187. int sp_ecc_mulmod_add_384(const mp_int* km, const ecc_point* gm,
  29188. const ecc_point* am, int inMont, ecc_point* r, int map, void* heap)
  29189. {
  29190. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  29191. sp_point_384* point = NULL;
  29192. sp_digit* k = NULL;
  29193. #else
  29194. sp_point_384 point[2];
  29195. sp_digit k[6 + 6 * 2 * 6];
  29196. #endif
  29197. sp_point_384* addP = NULL;
  29198. sp_digit* tmp = NULL;
  29199. int err = MP_OKAY;
  29200. #ifdef HAVE_INTEL_AVX2
  29201. word32 cpuid_flags = cpuid_get_flags();
  29202. #endif
  29203. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  29204. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  29205. DYNAMIC_TYPE_ECC);
  29206. if (point == NULL)
  29207. err = MEMORY_E;
  29208. if (err == MP_OKAY) {
  29209. k = (sp_digit*)XMALLOC(
  29210. sizeof(sp_digit) * (6 + 6 * 2 * 6), heap,
  29211. DYNAMIC_TYPE_ECC);
  29212. if (k == NULL)
  29213. err = MEMORY_E;
  29214. }
  29215. #endif
  29216. if (err == MP_OKAY) {
  29217. addP = point + 1;
  29218. tmp = k + 6;
  29219. sp_384_from_mp(k, 6, km);
  29220. sp_384_point_from_ecc_point_6(point, gm);
  29221. sp_384_point_from_ecc_point_6(addP, am);
  29222. }
  29223. if ((err == MP_OKAY) && (!inMont)) {
  29224. err = sp_384_mod_mul_norm_6(addP->x, addP->x, p384_mod);
  29225. }
  29226. if ((err == MP_OKAY) && (!inMont)) {
  29227. err = sp_384_mod_mul_norm_6(addP->y, addP->y, p384_mod);
  29228. }
  29229. if ((err == MP_OKAY) && (!inMont)) {
  29230. err = sp_384_mod_mul_norm_6(addP->z, addP->z, p384_mod);
  29231. }
  29232. if (err == MP_OKAY) {
  29233. #ifdef HAVE_INTEL_AVX2
  29234. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  29235. err = sp_384_ecc_mulmod_avx2_6(point, point, k, 0, 0, heap);
  29236. else
  29237. #endif
  29238. err = sp_384_ecc_mulmod_6(point, point, k, 0, 0, heap);
  29239. }
  29240. if (err == MP_OKAY) {
  29241. #ifdef HAVE_INTEL_AVX2
  29242. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  29243. sp_384_proj_point_add_avx2_6(point, point, addP, tmp);
  29244. else
  29245. #endif
  29246. sp_384_proj_point_add_6(point, point, addP, tmp);
  29247. if (map) {
  29248. #ifdef HAVE_INTEL_AVX2
  29249. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  29250. sp_384_map_avx2_6(point, point, tmp);
  29251. else
  29252. #endif
  29253. sp_384_map_6(point, point, tmp);
  29254. }
  29255. err = sp_384_point_to_ecc_point_6(point, r);
  29256. }
  29257. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  29258. if (k != NULL)
  29259. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  29260. if (point != NULL)
  29261. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  29262. #endif
  29263. return err;
  29264. }
  29265. #ifdef WOLFSSL_SP_SMALL
  29266. /* Striping precomputation table.
  29267. * 6 points combined into a table of 64 points.
  29268. * Distance of 64 between points.
  29269. */
  29270. static const sp_table_entry_384 p384_table[64] = {
  29271. /* 0 */
  29272. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  29273. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  29274. /* 1 */
  29275. { { 0x3dd0756649c0b528L,0x20e378e2a0d6ce38L,0x879c3afc541b4d6eL,
  29276. 0x6454868459a30effL,0x812ff723614ede2bL,0x4d3aadc2299e1513L },
  29277. { 0x23043dad4b03a4feL,0xa1bfa8bf7bb4a9acL,0x8bade7562e83b050L,
  29278. 0xc6c3521968f4ffd9L,0xdd8002263969a840L,0x2b78abc25a15c5e9L } },
  29279. /* 2 */
  29280. { { 0xa54768dab1b43eefL,0x13e41f47e14fda22L,0x774df203faef6863L,
  29281. 0xf795a034bd7471b3L,0xf0958718b47de2e9L,0xc92f7888e1160cffL },
  29282. { 0x86ded97b0146c790L,0x015918f5480a4b7bL,0x05588920424e8459L,
  29283. 0x37455914eecf8b2bL,0xe7d3df1fb968a6faL,0x07a0ffd6bad0719fL } },
  29284. /* 3 */
  29285. { { 0xda37cd535c54db6fL,0x0e37890a91f06c5cL,0x1730ef7be7ae7db5L,
  29286. 0x2b3dcd51ff045f54L,0xf5db3c3c72cc8451L,0x3165d6efcf0c185cL },
  29287. { 0x177c4f6bf5958d78L,0xcb29d22f8d676a9fL,0x3bcf0068792ac96dL,
  29288. 0x60d1c6b719df5641L,0x426e412a68a099f8L,0xf9ca0c5c9f74d52bL } },
  29289. /* 4 */
  29290. { { 0xf186d6bcc88d568aL,0x872bc4c7528535ddL,0xc9e7432edfe64dc3L,
  29291. 0xd9fc4832d795ea57L,0xf4ffdb81c845af2bL,0x66d7e7882b670517L },
  29292. { 0xa7c1be04d7b7a1c6L,0xbed88479d5b2a249L,0x62ff8aba03f2ef6dL,
  29293. 0x60ecaac420dc701dL,0x9f4b559f4ff10119L,0x0582c9313cd54fd0L } },
  29294. /* 5 */
  29295. { { 0x394fb84de86e3f64L,0xfe4a36e7ff13314eL,0xa1e44b14dc261ec2L,
  29296. 0x3924e50a7420408fL,0x637e330242ed7626L,0xeb657b10fd711ba4L },
  29297. { 0xc16d01c5340949bbL,0x30e043267f1f42c7L,0xe7465819b056d872L,
  29298. 0x3386f1c6886fb3dbL,0x5be463a5be56f774L,0xa96fd3b74694e15aL } },
  29299. /* 6 */
  29300. { { 0x95dd5ee5a98b4254L,0xea328205aa845e67L,0x98640fb5a1e36348L,
  29301. 0xd1bc5c251add5ee7L,0xc3158a423d11b799L,0x5feb68ed47c83d54L },
  29302. { 0x7c5a1204963a207bL,0x2f2b2c7eee4671f8L,0xb63d291cd42867a6L,
  29303. 0x0b073620139530f4L,0xbe149492abb05b99L,0x21417da455accd2aL } },
  29304. /* 7 */
  29305. { { 0x9408555e9e5eba15L,0x416250137b7572c5L,0xfa53ee50bfff6ea7L,
  29306. 0x3d682de1e7b178c3L,0xb3e8769dec329f53L,0x1ab8c82e9eb524f4L },
  29307. { 0x5bbd538dde2f1eb9L,0x1d1b0bea2b19c51eL,0xf785f9b98cb06eeeL,
  29308. 0x5cff29c6f58f21d5L,0x44aaa52245cbaef3L,0xd60c19427de40246L } },
  29309. /* 8 */
  29310. { { 0x378205de2f9fbe67L,0xc4afcb837f728e44L,0xdbcec06c682e00f1L,
  29311. 0xf2a145c3114d5423L,0xa01d98747a52463eL,0xfc0935b17d717b0aL },
  29312. { 0x9653bc4fd4d01f95L,0x9aa83ea89560ad34L,0xf77943dcaf8e3f3fL,
  29313. 0x70774a10e86fe16eL,0x6b62e6f1bf9ffdcfL,0x8a72f39e588745c9L } },
  29314. /* 9 */
  29315. { { 0x73ade4da2341c342L,0xdd326e54ea704422L,0x336c7d983741cef3L,
  29316. 0x1eafa00d59e61549L,0xcd3ed892bd9a3efdL,0x03faf26cc5c6c7e4L },
  29317. { 0x087e2fcf3045f8acL,0x14a65532174f1e73L,0x2cf84f28fe0af9a7L,
  29318. 0xddfd7a842cdc935bL,0x4c0f117b6929c895L,0x356572d64c8bcfccL } },
  29319. /* 10 */
  29320. { { 0x984a6aed6420bc66L,0x6d90e0e0896a24a6L,0xe0adb93a18713003L,
  29321. 0xf00d424c1a8369fcL,0x636ebf14712ae802L,0xee39ff8ebe9d739aL },
  29322. { 0xb330dd3e94f6d1dcL,0x6ba6780eb7731cf8L,0x4e569408198be5a2L,
  29323. 0x6639523b0193a22cL,0x6978cc9d91aa1455L,0x62062d8f329f9763L } },
  29324. /* 11 */
  29325. { { 0x7159107d80efff78L,0xf8ed5f8e8e4c39d5L,0x64a2265cc15e679cL,
  29326. 0xfc514e17a6d96c81L,0x59c86545f093e0a8L,0x804b0a588b5a336aL },
  29327. { 0x94c32118cb9dcbcaL,0x2deb0e385d45251dL,0xd1092b0986869572L,
  29328. 0x073bf838fb2e9f97L,0x76b6d7d6de700fcbL,0xd2a6d110f2ddce5fL } },
  29329. /* 12 */
  29330. { { 0x6da7ccd0229de19eL,0x5050d45df0aa039dL,0xf9f01d68d9e7a861L,
  29331. 0x6d8b9f2000aa05f2L,0xae3d9698742cd4d9L,0x43e477abd560c394L },
  29332. { 0x73d594991cb6dd81L,0x689162b2fac3f62eL,0xd6187ca864d1d0d5L,
  29333. 0xe8421a0d2f067457L,0x9b266acbea7c3a8dL,0x707e0e6e44df5cb3L } },
  29334. /* 13 */
  29335. { { 0x604b2a1a026511a0L,0xd4f6cf16256f4076L,0x7d823347b315a642L,
  29336. 0x8f805833786aa438L,0x9883df85f04bb4b3L,0x02bc10305bba6d84L },
  29337. { 0xfe39a024a72c03acL,0xa980db635f2dbfd0L,0xcd53149f4f259ec6L,
  29338. 0xe969079b43f53f97L,0xd3849fdb42f9f27cL,0xd2cfd3f842653dc9L } },
  29339. /* 14 */
  29340. { { 0xbf69fe6a6abe7d80L,0x4932288192bb50e2L,0xc9e2f7fb61e8b18dL,
  29341. 0x24c74788f6c82421L,0xe79e5e3011c0b244L,0xd6612c70e0484571L },
  29342. { 0x7863ff927ef82d17L,0x692790feb0a1b01cL,0xa2d6ffb5afe51546L,
  29343. 0xacdb43f26cf550c6L,0x3b3243dfaecfaf8fL,0x9557335ac233bcd9L } },
  29344. /* 15 */
  29345. { { 0x25e08c8faff5b387L,0x112c11e2d06208ceL,0x61031c1765234214L,
  29346. 0xba06f5550514764dL,0xfaacf6f39bd197d0L,0xe4b032321464a57fL },
  29347. { 0x00c19adfe35dcd69L,0x81b75730a1c2646cL,0x47baa4fee0c50e32L,
  29348. 0xe9297832bcaddb3bL,0x1768d2f9d712c6cfL,0xfcef29fdb82e9eeaL } },
  29349. /* 16 */
  29350. { { 0xdbe04c3044ce3ad8L,0x995fbb1b4ce8aad5L,0xdbf8b54670911457L,
  29351. 0x9e683b5b3f7a1757L,0x7b89a08a9c7bd62cL,0x448865a40b3fc97eL },
  29352. { 0x0ac9abfc3bb01e94L,0xa07760421e756124L,0x0aa6c335d9deed97L,
  29353. 0xe270580f72603e08L,0x70857a946c783bb2L,0xa0047774caa929aeL } },
  29354. /* 17 */
  29355. { { 0x56211190a353e889L,0x052917c3190eb198L,0xadfd85b03eee3d12L,
  29356. 0xde1d761779fd9c91L,0x05be51b7bf500159L,0x271f07178fcb87f1L },
  29357. { 0x02673e273a75ac71L,0xb1b7246eda12da8dL,0xb25647928f5fb8c0L,
  29358. 0x0a22cbe1063b1d7fL,0xb0d7a7365649976eL,0x8f8e6e289e96b15dL } },
  29359. /* 18 */
  29360. { { 0x8fc113f98312351cL,0xe837b9e0c5eff002L,0x7cb9ef074dad72fcL,
  29361. 0x18a8d43eb5eb7ee3L,0x2cf3ae844925efdbL,0x376e9e857756ec6aL },
  29362. { 0xf77a79c8a3e3705fL,0x2d590b7d6c5fbab3L,0xa59713e27a4766c3L,
  29363. 0xb5da6a6861544174L,0xadb04a8adab1fe76L,0x03b6138d375143b4L } },
  29364. /* 19 */
  29365. { { 0x20d88a80c1bfa043L,0x88806999672583ceL,0x195a89eaaea9b605L,
  29366. 0x0b9b4e8532bac07bL,0x8279965683868df6L,0x83c58afab52711a9L },
  29367. { 0xb895c13d1c869283L,0x00f98d046206dde6L,0x76caaa22884bf311L,
  29368. 0x22b2137f995b29a5L,0x7f645809b098b07bL,0xa540c8a6050e2552L } },
  29369. /* 20 */
  29370. { { 0x47980509e562d904L,0xe736f89d031e112cL,0xbc6bfb0765d8ae25L,
  29371. 0xe9ed4cc4ca459646L,0xf540e90e2fff67ffL,0x836280eb1a314e11L },
  29372. { 0xa710b25041610627L,0xefc22b1573a9f9a2L,0x60f20789456498c0L,
  29373. 0x417920438052f4e7L,0x5c850903d5c0e80dL,0x52df5275bf1d8815L } },
  29374. /* 21 */
  29375. { { 0x25539de98ece218dL,0xb36574a8dca420baL,0x9d1812680e0d07feL,
  29376. 0xea79a5f5ad3ed34fL,0x8b739ad57c9277cfL,0xd88659886ee9a930L },
  29377. { 0xaf07bfb621591a3eL,0xe0138c6508f3524fL,0xd3128f1297ee315eL,
  29378. 0x67f8641e21045f63L,0x3e1a96b140c73a2dL,0x8976b70305f51122L } },
  29379. /* 22 */
  29380. { { 0xdeaf635731960db4L,0x680b054e5948d7f7L,0x0841e40fd272bb5cL,
  29381. 0x94d37db26e36117dL,0xaf2d001547f63ec8L,0x82665cdc47493309L },
  29382. { 0xfe90e844abbe3851L,0x8357709afb79bc0cL,0x811a64d2b6bcc044L,
  29383. 0x1937c988882b3415L,0xe8b28724e267b271L,0x84d1eed0af89ed33L } },
  29384. /* 23 */
  29385. { { 0x52b8234f54c894a7L,0xfe54146fa2d11b70L,0x6412b5eb0aab6097L,
  29386. 0xa62499906a13a9daL,0xd2b1eb50adc448caL,0xe7ab51f9b115ab92L },
  29387. { 0x4638ee62e76551d8L,0x74c3c1e1afe9c98dL,0x59000ad060d77322L,
  29388. 0x0a4b105ba06adc9aL,0xcdaeb4a496a6f616L,0x8c79c4a1864b49dcL } },
  29389. /* 24 */
  29390. { { 0xc09c32d1c0b1bf15L,0x005d510f88d74e44L,0x031f9a9afc2c089eL,
  29391. 0x08aac7294ba183f0L,0xf227a7ceaf2245ebL,0xb4ec33cbb3a864ffL },
  29392. { 0xdb76decd570a24f3L,0xea59387a12283a9eL,0x81b7c569341ef9a4L,
  29393. 0xad7c98bd8d77833aL,0x2182133b49ca80ffL,0x1de1d456085802b7L } },
  29394. /* 25 */
  29395. { { 0xeead25b2e1c02860L,0xb2ae43694ff42d2eL,0x4b39a2ddfd61c1b0L,
  29396. 0x29c826ea968718a5L,0x877fdf15d9751a0aL,0x00b321dfb54affdfL },
  29397. { 0x3c7c0778d4d5dbf7L,0x858a0fdccfc47423L,0xbd8e6544185b3063L,
  29398. 0xa22c3ef62da46a04L,0x5c2d84016a6c0ce1L,0x260246eddd6329aeL } },
  29399. /* 26 */
  29400. { { 0x71753fc00c6463f6L,0x7ec14c015c6c9e33L,0x28b9ab9441ce6153L,
  29401. 0x3a1ac251a6702c8dL,0x2b124bc49ed6cb1fL,0x7a11c4be4fc7383fL },
  29402. { 0x1414913509fac991L,0xf7c188d3cb1ee336L,0x754bc47391c3f406L,
  29403. 0x71d34587cad39500L,0x213dd1a7dd0399a1L,0x8457a8f671d05899L } },
  29404. /* 27 */
  29405. { { 0xa921ca662e9c06d3L,0x1d8974e89ba6521fL,0xbb465c775f79f791L,
  29406. 0x8f983f083a3954c8L,0x8492f8398b3935dcL,0x2b87d9c290c04426L },
  29407. { 0xcec76ea403e60a28L,0x648e9830aa631308L,0x7b542f791eb86b73L,
  29408. 0xfc8cc9a3150d854dL,0x2be86940bfcc83feL,0x2e58a13ac88c7585L } },
  29409. /* 28 */
  29410. { { 0x19249a8fd1bc237fL,0xdec1c6a563505555L,0xc8256977bad2a93bL,
  29411. 0x78533659fc598170L,0x888a6578ee7e53cbL,0x28783b0e33766db3L },
  29412. { 0xcf791e56e42c28f2L,0xfbf8dde8f9c37f4cL,0xf0ffaf1712c05395L,
  29413. 0xd27d21e9daf2f012L,0xf90432da9a7be009L,0xa459c036a8012f28L } },
  29414. /* 29 */
  29415. { { 0x4d99a7cac8b1c6d4L,0x8088818825c899c0L,0xbd27e9be2ebdeb3dL,
  29416. 0x73c3e0aa054e77c1L,0x180c848498534ce5L,0x750d52f754ffa9cdL },
  29417. { 0x5f26eeb16f702f4cL,0x427fc6e4cc76d8f4L,0x93126b8d026b631dL,
  29418. 0x5356b93917e145a7L,0xc79ca872c0be7c84L,0x3fca7cad4b615fb7L } },
  29419. /* 30 */
  29420. { { 0xed48fe78d0241021L,0x252b14a0142f7f8eL,0x19ab85c6db573a09L,
  29421. 0x546c3960f3df906fL,0xc688f4b22c810ea8L,0xbccf0cca5ff9e108L },
  29422. { 0x34f4609e3f2cc69bL,0xf3b1efe414afe4f4L,0x5d809cef37a8ef74L,
  29423. 0xa8d1978a176ba328L,0x75dde11fdf59ecb9L,0x34eeeaffa9916ee2L } },
  29424. /* 31 */
  29425. { { 0xe7f603f248e83c85L,0xa94a539cfa581815L,0x5a61a596dba360b7L,
  29426. 0x6cc51dd16a77ef79L,0x4ff36ae0fdbceb9dL,0xfcff65323e8a9c07L },
  29427. { 0x0ba0ce5436d4d0b8L,0x98087a452464efc2L,0xd456843bcc1a2ba7L,
  29428. 0x677384a53853e04cL,0x625d32d56c7971deL,0x86882509f724b331L } },
  29429. /* 32 */
  29430. { { 0xc20fb9111a42e5e7L,0x075a678b81d12863L,0x12bcbc6a5cc0aa89L,
  29431. 0x5279c6ab4fb9f01eL,0xbc8e178911ae1b89L,0xae74a706c290003cL },
  29432. { 0x9949d6ec79df3f45L,0xba18e26296c8d37fL,0x68de6ee2dd2275bfL,
  29433. 0xa9e4fff8c419f1d5L,0xbc759ca4a52b5a40L,0xff18cbd863b0996dL } },
  29434. /* 33 */
  29435. { { 0x684a681892a5eeeaL,0x1f5b193242a09264L,0x30bd8695d98a2f34L,
  29436. 0x6e775e019a8601fcL,0x8126bdc24ca956f8L,0x149e73d9e5595daaL },
  29437. { 0x876428401f851e83L,0x4b8863dbd3a7c4a0L,0xe1e43b3d8c95d7d9L,
  29438. 0x7f1e307ea60fd528L,0xbf2fa5d134341610L,0x11ad4a8181c502d3L } },
  29439. /* 34 */
  29440. { { 0xc7df022e782dd401L,0xd15aa9a9a7bcc543L,0x6aa42774b94df1d0L,
  29441. 0xab2660c30592a13eL,0xaf4e40809ffc40c7L,0x01152c8d9cd52b10L },
  29442. { 0x649de1d99034a33aL,0x2b9d0ef0d758abfcL,0xdddd0bc2d458adddL,
  29443. 0xe5366ac9c09837f8L,0xa003abbb7b1ae35fL,0x880062887ab1fddeL } },
  29444. /* 35 */
  29445. { { 0x6b6c8f055288f1b4L,0xba05407c033738b4L,0x26cac3a941a955e3L,
  29446. 0x28f1692f8e0e0601L,0x2032cb36842c4887L,0x6adeba457d76b20fL },
  29447. { 0xd282c2ce654c6f5cL,0x30584ca5be9ba4f1L,0x45d766a01b2c528bL,
  29448. 0xe918bad7c0c6f8ccL,0x1e050b2a0560f070L,0x4fc95de12d6dd010L } },
  29449. /* 36 */
  29450. { { 0x2bb26072150191d5L,0xea2617618108dcf6L,0x4dfa1303e6083c63L,
  29451. 0xfa4e0709e2876fb8L,0xf901fed0b1668763L,0xf01c53aeb82c967aL },
  29452. { 0xb43e59d39ed827e8L,0xb58e157e57774eefL,0x57ee54e31b83dceeL,
  29453. 0x3d896f32613aa922L,0x69d40667b5c7bfc5L,0xd402b5cb77a2c0d8L } },
  29454. /* 37 */
  29455. { { 0xabeb70127d3c9923L,0x412ada8dd7ecb93aL,0xeb64dc910b71ae2fL,
  29456. 0x52ef537aa9ab061aL,0x0863970fc1b55faeL,0xfaff5fb9b1182dbdL },
  29457. { 0x5551d6fed0abaa17L,0x7bb3e02072d641f6L,0x939d7793aa9d288cL,
  29458. 0x1450f8bf9078e2c2L,0x24ccd102a086b6aeL,0x57d1796f6a3f8a5fL } },
  29459. /* 38 */
  29460. { { 0x1023120683ce1f76L,0xd16d4b9f03ee406fL,0x9d39c39883caa4b7L,
  29461. 0x875732f5ce299b93L,0x1e6a425d2f121f4aL,0x4b1f1d835d8c3279L },
  29462. { 0xe655f58856dd6a6cL,0x23f106475843fd34L,0x932b7d942bad6ce2L,
  29463. 0x70a0580e6772a52eL,0x3240118ac88537afL,0x9ccb2ca9d2407224L } },
  29464. /* 39 */
  29465. { { 0xa6a40db8710f2324L,0xb3567518c2a8a09aL,0x8816442841b5650aL,
  29466. 0x2a352ed27570ba50L,0x23ee46b94c85d77eL,0x643aceffd858a8c3L },
  29467. { 0xe067908de3f02e82L,0x8d5869f2ffb8cf81L,0x4713f0820bc8ad7eL,
  29468. 0xe1ee44c780057c40L,0xb34395087d2cf34eL,0x4307b0e10336a207L } },
  29469. /* 40 */
  29470. { { 0xe9c1e45746e4d003L,0xa23978c394332057L,0x0e2f300829575db6L,
  29471. 0x50a51ff490441e9eL,0x38ce3ed0508d4a07L,0x6a997411cfd7224eL },
  29472. { 0x4d147c31da6b1e1dL,0xedf604b2da8a3547L,0x7a1b8cf0d5e9ceedL,
  29473. 0xd74e501213544e6aL,0xcc49f8da4ad968f9L,0xfb87e604cc69ada9L } },
  29474. /* 41 */
  29475. { { 0xde79409bdf166882L,0xd645b836d46cc527L,0xda4a02f3b6c3eb28L,
  29476. 0x845e3c5900e7cf86L,0x733bdc9b604c6d80L,0xe3a1244b847acd97L },
  29477. { 0x421312d6d128842cL,0x81f71feaa1c598efL,0xc619465545eaf796L,
  29478. 0x1ffb85121f338b6cL,0xe7aed7106632f064L,0xf8d1ffb7f5b6e510L } },
  29479. /* 42 */
  29480. { { 0x7d3f031f3eace851L,0xef43ab7025923624L,0xbae811881af6cdecL,
  29481. 0xb7e93b49ea862112L,0xe35a4fc6af23aba2L,0xc52e1fc0aecc593eL },
  29482. { 0xbffa292428148b99L,0xd08040fc89e3d795L,0x7da320032db47b3aL,
  29483. 0xe78b44e5a0eb7aa3L,0xd1648ec8f0ec090bL,0x4048dba7740fe871L } },
  29484. /* 43 */
  29485. { { 0x6fddb89fa00a14acL,0x844f991508aa06e7L,0x6d5ac4a9f76aca7dL,
  29486. 0xfba1ba85e9fa4d51L,0x159633bbb2ea0fc7L,0xa2eb0e4b76ba2854L },
  29487. { 0x8a858155c11f5398L,0x30a96e535e8ea044L,0x696210c197e05a47L,
  29488. 0x86e55f9415036f4bL,0x0c93ea9c6a96d9d7L,0xb7ba506179eba3daL } },
  29489. /* 44 */
  29490. { { 0xd305c733cd94d7b2L,0x9ea33e363e7955b2L,0x78a98855bc73812fL,
  29491. 0xfb1b791d48a3a9a0L,0x6e5107ee04014aafL,0x0412b2c00ea07de0L },
  29492. { 0xdd3a2408ddcaca68L,0x5d18e69ae3344f29L,0x3ce65481f9017408L,
  29493. 0x50abb4568cbd64fbL,0x442fa5098916a9ebL,0x16b3ddc7c538c410L } },
  29494. /* 45 */
  29495. { { 0x6757dbfd25e331abL,0x0efde50ba3eaafbcL,0x1cd46222d531d29cL,
  29496. 0x1b713ca93561cb2bL,0x7d07334bfb5bc99dL,0x95dba43e885a417dL },
  29497. { 0x1c9c3f3f77823a59L,0x43533ba83220cb7fL,0x1b918bc182e3e401L,
  29498. 0x66a039aacd3fec87L,0x1d39dbb02dad36d5L,0x554025959dc04be4L } },
  29499. /* 46 */
  29500. { { 0xdf39920847744933L,0x4264f7ea82524dd6L,0xdb57ec08e5182c6dL,
  29501. 0x2d6778e705c5e7bfL,0x3f37793f96f53ea2L,0x6472cbae05c47e48L },
  29502. { 0x9e6dd60fbf78067cL,0xa2817ec2cef34088L,0xde4715b8168edde9L,
  29503. 0x6c57105146bf31e1L,0x98113fbbc4272bc0L,0x03bb7922cc3b90c3L } },
  29504. /* 47 */
  29505. { { 0xe0f23be157d88fefL,0x4125c55b0ca27a01L,0xeadf527e14a71262L,
  29506. 0x1f2e803ccc4e9a04L,0x32e07b47d68c4fcfL,0x1577fab79db5070bL },
  29507. { 0xd786d6e57831990aL,0xf64ff4b154fbde40L,0x4bac5b034f9450aeL,
  29508. 0x06ae25e055116af9L,0x33d84ea2d7b4fcfcL,0x44a92e73569c3b9eL } },
  29509. /* 48 */
  29510. { { 0xf5bdccbabad0cb7fL,0x370f43ca958edd05L,0x3dd8232b04904a26L,
  29511. 0x3f8106682f4458e8L,0xdfcb67b99b3ace7eL,0x54e42f2d3e1241fcL },
  29512. { 0xe30f3fb0db889300L,0x4ca0184b483e51fcL,0x5a32d097a638dac6L,
  29513. 0x567a2b5ec62a1db0L,0x2a756ba3c446456cL,0x6919026dd9f8d5c0L } },
  29514. /* 49 */
  29515. { { 0x7f6493fc4fec874aL,0x8bb8a674d47a0770L,0x90bad2a652bd4f0cL,
  29516. 0x16badbe2f5733b07L,0x93be07cf93a1f802L,0x1e37a01541c395f7L },
  29517. { 0xfe2c0fd6216582b3L,0xdcd98bc81627180dL,0x41e037268e8c9f1eL,
  29518. 0x93dbc22cfe8f45afL,0x5728c8a6ff45e059L,0x4f2f15cfca4a98cdL } },
  29519. /* 50 */
  29520. { { 0xdbe2ec5d656e7d76L,0x84ad1b4bae2757bbL,0xc9297e7a0d4fec75L,
  29521. 0xfcc673eecad3ba87L,0xb0f77621dfd1671aL,0x5c386e449704a8c7L },
  29522. { 0xce78f03f3e29256dL,0x0b185938c3a6ed2fL,0x7b1e2fae7824819bL,
  29523. 0x5a85d7f1f2d9313cL,0x238bd27973595b0fL,0x5fbf6b675c1cd2dcL } },
  29524. /* 51 */
  29525. { { 0x84d1ffb88a3e2412L,0xf01605926515f2feL,0x0e26ea9889905340L,
  29526. 0xbfd7a1b7203bd3d4L,0x5301273a88ea0bdaL,0x2f424475b28dd43eL },
  29527. { 0x31014a2b33c28afaL,0xffbdea0c01e220eaL,0x681c64e8460b81d5L,
  29528. 0xdbe6f7286a91e1d5L,0x068bf36332619ad5L,0x4946291f27976c74L } },
  29529. /* 52 */
  29530. { { 0xa081a9462068e4b0L,0x1a8f5df609bfdad0L,0x5fbba5bcef28dd35L,
  29531. 0xa3e60d4f031ff71eL,0x2d47689b702ca18eL,0xd283f247c9b8e66bL },
  29532. { 0x63e65dd7859ea140L,0x123da61f42aacdc3L,0xa8a9e893336f680cL,
  29533. 0x1cc4e12ac23d43acL,0x421e80d586a1fff8L,0x833d60d543deecc9L } },
  29534. /* 53 */
  29535. { { 0x3c25b57c29014f8fL,0xa19fcb1e35d8e122L,0x916c0e3ceda32ac8L,
  29536. 0x9a23d289f36b6096L,0x5099038439a39871L,0xdc5b77b661c64196L },
  29537. { 0x5a7d9917942bf2b6L,0xd21853934f41cf6dL,0x90ff1016fcc45c2fL,
  29538. 0x9891093deb8938aaL,0xe3c49b1baac4e6e9L,0x0f21a1d1d7a8e91eL } },
  29539. /* 54 */
  29540. { { 0x3a808e336f364b7eL,0x6a96d1b8bfa17359L,0x3387ec8552b36545L,
  29541. 0x2fde350af712180cL,0x9219d6f4703a2183L,0x8ba27e0086457946L },
  29542. { 0x7446bca0ed80a9afL,0xbaf78b6f7203637aL,0x0304129d497c9d0fL,
  29543. 0x6df1e0356a883b68L,0x93ea2bb5e8018c47L,0xc86fd77cdb46443cL } },
  29544. /* 55 */
  29545. { { 0x8de865d255dc2427L,0x74f7f83d6f72d126L,0xee1111786c7e665aL,
  29546. 0x272a8b3dddf44f12L,0xad3546449164eb4fL,0x2ffbdb586859d68fL },
  29547. { 0xbefd36c509701865L,0x63c256162c983d01L,0x15a7ba0b2eb68703L,
  29548. 0x3318a82b5bb0fafcL,0x8e930fa9a0804f38L,0xb7459eb6be60ed1dL } },
  29549. /* 56 */
  29550. { { 0xace01c514260b948L,0x04a6080f49210f78L,0x0d1eef6b2241b00dL,
  29551. 0x85a25069ef63912aL,0xcc96c4ec13dd8bc2L,0x90f14d1140d7e234L },
  29552. { 0xae33f18ca69c8dc3L,0x76921f2a9adfa431L,0x18158ccf048c9f49L,
  29553. 0x90bcf7fbfb8fb345L,0x0d50b4dc38b3ff5dL,0x3914ea0b59ef84a8L } },
  29554. /* 57 */
  29555. { { 0x4929d3f9d4e37cf3L,0x622183d1b24c24c0L,0x65cec0675f904d34L,
  29556. 0x65f9931a8a6f76faL,0xeed975b0e73282f2L,0xa045552a5e1625fdL },
  29557. { 0xfd6b3e02f8fe8e42L,0x5f9f40256203907cL,0x8307eedb42b2c264L,
  29558. 0x2fb3ee719f757e92L,0x4502f2ecdc157ea8L,0xd976e7755d1cc0d5L } },
  29559. /* 58 */
  29560. { { 0xe46fb9a28fe1946eL,0xe91df3ed63bdde6eL,0x2e995306e9c28432L,
  29561. 0x7b3a6fe10988235bL,0xc55199f077f92a71L,0x47dd034853cb7950L },
  29562. { 0xead52de2b727a6d1L,0xb87c9f75eea9c8daL,0xf3e2f3280d944f21L,
  29563. 0xce82734edd751eddL,0xfb83225ce616cedcL,0x15850e4b4a31eb49L } },
  29564. /* 59 */
  29565. { { 0x92c4b6d50196ad3aL,0x0205ea484e1205e4L,0x8e08a97c0afc5affL,
  29566. 0xda8687c6727827ebL,0x2eace83106e398aaL,0x3a086c0f6d69e4e8L },
  29567. { 0x5ff9b7aaf286e62aL,0xc428503962aae55eL,0x4ebd4258d9530a3fL,
  29568. 0x57ea313a8afc7fcbL,0x6d30a67522c18879L,0xd3c00cc994afb659L } },
  29569. /* 60 */
  29570. { { 0x53ee47c5dee0d48bL,0xbd9e84ad9dfa2397L,0x2d581e12f81ba5e2L,
  29571. 0x26269f4f132cd325L,0x9e6224df58860a5fL,0x9306c607ff55522aL },
  29572. { 0xb48af6d4146950e5L,0x09920ed00436805eL,0x3a1bc276cdce7eaeL,
  29573. 0x55ba728ac39a425eL,0x6a04d4e6d961d03eL,0x13891c66736e684aL } },
  29574. /* 61 */
  29575. { { 0x7c75175a04cd04d6L,0xb76f9bd909c27a17L,0xa0cff6d408e5fe36L,
  29576. 0xc9097695dcd5ef90L,0x26bea24585e28054L,0x658e03c61580f068L },
  29577. { 0x0da9f75e811eed27L,0x086e5e04aca0d2eeL,0xd4c157faa53a6787L,
  29578. 0x2e9266d2b40a595cL,0x8f1cb52698fa0820L,0x32a74240a1aef514L } },
  29579. /* 62 */
  29580. { { 0xeb42e3d91ae86e7cL,0xd6956c8ce04a5026L,0x4c0b8b980f4302ebL,
  29581. 0xde43c938b37211fdL,0x9fa6a158e7090f80L,0x5f3c9afc73c47fb6L },
  29582. { 0x2dc4f109f850a4d0L,0x56e63a4b6fd49d6aL,0x8e80a0694cbff048L,
  29583. 0x18d8b8cf2284afb0L,0x61dd086dc89363a1L,0x034c2202c37342a4L } },
  29584. /* 63 */
  29585. { { 0x1ae0c4e11c718580L,0x303f48a6bf99a0bfL,0xa5551e4491ae219fL,
  29586. 0xdc41d9bd55a05287L,0xd5aa73e36872b123L,0x6fd94b0ce6395bf6L },
  29587. { 0xbb95fdbac00afbc1L,0x9cd96208497cac10L,0x8adbd8c1ca51afeaL,
  29588. 0x94fedafbf3bc5f5fL,0x29c0217bdf9f5371L,0x5c13eb4bd9024634L } },
  29589. };
  29590. /* Multiply the base point of P384 by the scalar and return the result.
  29591. * If map is true then convert result to affine coordinates.
  29592. *
  29593. * Stripe implementation.
  29594. * Pre-generated: 2^0, 2^64, ...
  29595. * Pre-generated: products of all combinations of above.
  29596. * 6 doubles and adds (with qz=1)
  29597. *
  29598. * r Resulting point.
  29599. * k Scalar to multiply by.
  29600. * map Indicates whether to convert result to affine.
  29601. * ct Constant time required.
  29602. * heap Heap to use for allocation.
  29603. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  29604. */
  29605. static int sp_384_ecc_mulmod_base_6(sp_point_384* r, const sp_digit* k,
  29606. int map, int ct, void* heap)
  29607. {
  29608. return sp_384_ecc_mulmod_stripe_6(r, &p384_base, p384_table,
  29609. k, map, ct, heap);
  29610. }
  29611. #ifdef HAVE_INTEL_AVX2
  29612. /* Multiply the base point of P384 by the scalar and return the result.
  29613. * If map is true then convert result to affine coordinates.
  29614. *
  29615. * Stripe implementation.
  29616. * Pre-generated: 2^0, 2^64, ...
  29617. * Pre-generated: products of all combinations of above.
  29618. * 6 doubles and adds (with qz=1)
  29619. *
  29620. * r Resulting point.
  29621. * k Scalar to multiply by.
  29622. * map Indicates whether to convert result to affine.
  29623. * ct Constant time required.
  29624. * heap Heap to use for allocation.
  29625. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  29626. */
  29627. static int sp_384_ecc_mulmod_base_avx2_6(sp_point_384* r, const sp_digit* k,
  29628. int map, int ct, void* heap)
  29629. {
  29630. return sp_384_ecc_mulmod_stripe_avx2_6(r, &p384_base, p384_table,
  29631. k, map, ct, heap);
  29632. }
  29633. #endif /* HAVE_INTEL_AVX2 */
  29634. #else /* WOLFSSL_SP_SMALL */
  29635. /* The index into pre-computation table to use. */
  29636. static const uint8_t recode_index_6_7[130] = {
  29637. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  29638. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  29639. 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
  29640. 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
  29641. 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49,
  29642. 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33,
  29643. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  29644. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  29645. 0, 1,
  29646. };
  29647. /* Whether to negate y-ordinate. */
  29648. static const uint8_t recode_neg_6_7[130] = {
  29649. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  29650. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  29651. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  29652. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  29653. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  29654. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  29655. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  29656. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  29657. 0, 0,
  29658. };
  29659. /* Recode the scalar for multiplication using pre-computed values and
  29660. * subtraction.
  29661. *
  29662. * k Scalar to multiply by.
  29663. * v Vector of operations to perform.
  29664. */
  29665. static void sp_384_ecc_recode_7_6(const sp_digit* k, ecc_recode_384* v)
  29666. {
  29667. int i;
  29668. int j;
  29669. uint8_t y;
  29670. int carry = 0;
  29671. int o;
  29672. sp_digit n;
  29673. j = 0;
  29674. n = k[j];
  29675. o = 0;
  29676. for (i=0; i<55; i++) {
  29677. y = (int8_t)n;
  29678. if (o + 7 < 64) {
  29679. y &= 0x7f;
  29680. n >>= 7;
  29681. o += 7;
  29682. }
  29683. else if (o + 7 == 64) {
  29684. n >>= 7;
  29685. if (++j < 6)
  29686. n = k[j];
  29687. o = 0;
  29688. }
  29689. else if (++j < 6) {
  29690. n = k[j];
  29691. y |= (uint8_t)((n << (64 - o)) & 0x7f);
  29692. o -= 57;
  29693. n >>= o;
  29694. }
  29695. y += (uint8_t)carry;
  29696. v[i].i = recode_index_6_7[y];
  29697. v[i].neg = recode_neg_6_7[y];
  29698. carry = (y >> 7) + v[i].neg;
  29699. }
  29700. }
  29701. #ifdef __cplusplus
  29702. extern "C" {
  29703. #endif
  29704. extern void sp_384_get_entry_65_6(sp_point_384* r, const sp_table_entry_384* table, int idx);
  29705. #ifdef __cplusplus
  29706. }
  29707. #endif
  29708. #ifdef __cplusplus
  29709. extern "C" {
  29710. #endif
  29711. extern void sp_384_get_entry_65_avx2_6(sp_point_384* r, const sp_table_entry_384* table, int idx);
  29712. #ifdef __cplusplus
  29713. }
  29714. #endif
  29715. static const sp_table_entry_384 p384_table[3575] = {
  29716. /* 0 << 0 */
  29717. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  29718. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  29719. /* 1 << 0 */
  29720. { { 0x3dd0756649c0b528L,0x20e378e2a0d6ce38L,0x879c3afc541b4d6eL,
  29721. 0x6454868459a30effL,0x812ff723614ede2bL,0x4d3aadc2299e1513L },
  29722. { 0x23043dad4b03a4feL,0xa1bfa8bf7bb4a9acL,0x8bade7562e83b050L,
  29723. 0xc6c3521968f4ffd9L,0xdd8002263969a840L,0x2b78abc25a15c5e9L } },
  29724. /* 2 << 0 */
  29725. { { 0xc8229e55783dde91L,0x8e6c8f2e022b53f0L,0x3504e6f0ff9d48a1L,
  29726. 0xda821495f0687f50L,0x9c90a4fd2de4b506L,0xdb93b776427460c3L },
  29727. { 0x42ea84633140bfdaL,0xe8e8e4a8c2aaccd8L,0x15e4f18bdc588258L,
  29728. 0x09f1fe415172bad9L,0x070d430900b0e684L,0xe34947f7123df0c2L } },
  29729. /* 3 << 0 */
  29730. { { 0x05e4dbe6c1dc4073L,0xc54ea9fff04f779cL,0x6b2034e9a170ccf0L,
  29731. 0x3a48d732d51c6c3eL,0xe36f7e2d263aa470L,0xd283fe68e7c1c3acL },
  29732. { 0x7e284821c04ee157L,0x92d789a77ae0e36dL,0x132663c04ef67446L,
  29733. 0x68012d5ad2e1d0b4L,0xf6db68b15102b339L,0x465465fc983292afL } },
  29734. /* 4 << 0 */
  29735. { { 0x0aae8477ebb68f2cL,0x30594ccbee0421e3L,0x2e4f153b0aecac46L,
  29736. 0x078358d4736400adL,0xfb40f647d685d979L,0xcfeee6dd34179228L },
  29737. { 0x54f3e8e79b3a03b2L,0xe74bb7f17bfec97eL,0x8e3e61a34c542ad1L,
  29738. 0x147162d30418c693L,0xe607b9e33820017dL,0x50946875303df319L } },
  29739. /* 5 << 0 */
  29740. { { 0xbb595eba68f1f0dfL,0xc185c0cbcc873466L,0x7f1eb1b5293c703bL,
  29741. 0x60db2cf5aacc05e6L,0xc676b987e2e8e4c6L,0xe1bb26b11d178ffbL },
  29742. { 0x2b694ba07073fa21L,0x22c16e2e72f34566L,0x80b61b3101c35b99L,
  29743. 0x4b237faf982c0411L,0xe6c5944024de236dL,0x4db1c9d6e209e4a3L } },
  29744. /* 6 << 0 */
  29745. { { 0x7eb5c9317d56dad8L,0xcb2454b339d3413aL,0xec52930f580d57f2L,
  29746. 0x2a33f6661bdf6015L,0x4f0f6a962b02d33bL,0xc482e189f0430c40L },
  29747. { 0x3f62b16ea7b08203L,0x739ac69d5b3d4dceL,0x8bd4bffcb79e33b0L,
  29748. 0x93c9e5f61b546f05L,0x586d8ededf21559aL,0xc9962152af2a9ebaL } },
  29749. /* 7 << 0 */
  29750. { { 0xdf13b9d17d69222bL,0x4ce6415f874774b1L,0x731edcf8211faa95L,
  29751. 0x5f4215d1659753edL,0xf893db589db2df55L,0x932c9f811c89025bL },
  29752. { 0x0996b2207706a61eL,0x135349d5a8641c79L,0x65aad76f50130844L,
  29753. 0x0ff37c0401fff780L,0xf57f238e693b0706L,0xd90a16b6af6c9b3eL } },
  29754. /* 8 << 0 */
  29755. { { 0x23f60a05dd9bcbbaL,0x9e336de5ae9b587aL,0x1c5c2e7193d7e30fL,
  29756. 0x1d9aebd64f3ddb37L,0x1c7b5fe116b66423L,0x5db4f184349cd9b1L },
  29757. { 0x0d2cfe83e6655a44L,0x836dbb36b7e55e87L,0x701754bf7d8686e4L,
  29758. 0xe9923263a42dbba2L,0x7008d943c48ecf0eL,0x3c0c6dd70d27ef61L } },
  29759. /* 9 << 0 */
  29760. { { 0x2f5d200e2353b92fL,0xe35d87293fd7e4f9L,0x26094833a96d745dL,
  29761. 0xdc351dc13cbfff3fL,0x26d464c6dad54d6aL,0x5cab1d1d53636c6aL },
  29762. { 0xf2813072b18ec0b0L,0x3777e270d742aa2fL,0x27f061c7033ca7c2L,
  29763. 0xa6ecaccc68ead0d8L,0x7d9429f4ee69a754L,0xe770633431e8f5c6L } },
  29764. /* 10 << 0 */
  29765. { { 0x845539d3c8d99c02L,0x2a15a9a6e58d6787L,0xe9f6368eab225fa3L,
  29766. 0x54a612d7eb32cabeL,0xc2f646025c4845ecL,0xa91a5280db1c212eL },
  29767. { 0xbb971f78e67b5fceL,0x03a530eb13b9e85cL,0x592ac0ba794eabfdL,
  29768. 0x81961b8ccfd7fd1dL,0x3e03370a47a9b8aaL,0x6eb995bec80174e8L } },
  29769. /* 11 << 0 */
  29770. { { 0xc7708b19b68b8c7dL,0x4532077c44377abaL,0x0dcc67706cdad64fL,
  29771. 0x01b8bf56147b6602L,0xf8d89885f0561d79L,0x9c19e9fc7ba9c437L },
  29772. { 0x764eb146bdc4ba25L,0x604fe46bac144b83L,0x3ce813298a77e780L,
  29773. 0x2e070f36fe9e682eL,0x41821d0c3a53287aL,0x9aa62f9f3533f918L } },
  29774. /* 12 << 0 */
  29775. { { 0x3db8477270313de0L,0xd4258cc55d970420L,0x03aced26c8edfee1L,
  29776. 0xf67eb42235d77d83L,0x523c40dbcf9ab45cL,0x627b415f9c35b26dL },
  29777. { 0xfacc45e48be55ed8L,0x80d60af627aa651aL,0x8c79848fd0e102acL,
  29778. 0x40c64a4e66bed5afL,0x0329eab1f7942f0eL,0x0c6e430ef9c4af3dL } },
  29779. /* 13 << 0 */
  29780. { { 0x9b7aeb7e75ccbdfbL,0xb25e28c5f6749a95L,0x8a7a8e4633b7d4aeL,
  29781. 0xdb5203a8d9c1bd56L,0xd2657265ed22df97L,0xb51c56e18cf23c94L },
  29782. { 0xf4d394596c3d812dL,0xd8e88f1a87cae0c2L,0x789a2a48cf4d0fe3L,
  29783. 0xb7feac2dfec38d60L,0x81fdbd1c3b490ec3L,0x4617adb7cc6979e1L } },
  29784. /* 14 << 0 */
  29785. { { 0x5865e5018f75244cL,0xd02225fb01ec909fL,0xca6b1af8b1f85c2aL,
  29786. 0x44ce05ff88957166L,0x8058994c5710c0c9L,0x46d227c432f6b1baL },
  29787. { 0xbe4b4a9003cb68e5L,0x540b8b82730a99d1L,0x1ecc8585e11dbbbfL,
  29788. 0x72445345d9c3b691L,0x647d24db13690a74L,0x4429839ddefbadf5L } },
  29789. /* 15 << 0 */
  29790. { { 0x446ad8884709f4a9L,0x2b7210e2ec3dabd8L,0x83ccf19550e07b34L,
  29791. 0x59500917789b3075L,0x0fc01fd4eb085993L,0xfb62d26f4903026bL },
  29792. { 0x2309cc9d6fe989bbL,0x61609cbd144bd586L,0x4b23d3a0de06610cL,
  29793. 0xdddc2866d898f470L,0x8733fc41400c5797L,0x5a68c6fed0bc2716L } },
  29794. /* 16 << 0 */
  29795. { { 0xda6e8a7f7c33ed91L,0x992afb5b0ecdd2d8L,0x37cf65517917652aL,
  29796. 0x317b63ea2887d5ffL,0x37065f5313bdc3faL,0xa10896aa435abaa1L },
  29797. { 0x9b21615fefabca26L,0xeb07ddea230cf00dL,0x914871dc154d410fL,
  29798. 0xb333bdfbc88ee148L,0x51c305c6a72d1967L,0x659db48181ef2513L } },
  29799. /* 17 << 0 */
  29800. { { 0x8903e1304b4a3cd0L,0x3ea4ea4c8ff1f43eL,0xe6fc3f2af655a10dL,
  29801. 0x7be3737d524ffefcL,0x9f6928555330455eL,0x524f166ee475ce70L },
  29802. { 0x3fcc69cd6c12f055L,0x4e23b6ffd5b9c0daL,0x49ce6993336bf183L,
  29803. 0xf87d6d854a54504aL,0x25eb5df1b3c2677aL,0xac37986f55b164c9L } },
  29804. /* 18 << 0 */
  29805. { { 0x5dfee73ce5b82700L,0x198fd3f0f38f6662L,0x3bd1c8f62edb0dbdL,
  29806. 0x55a96a6879909f08L,0x68a2324355671693L,0x57505d8d67497030L },
  29807. { 0x8a60717f75c64513L,0x54b867b7f78aa7deL,0xc266eb8441129858L,
  29808. 0x6ffcfc7ca4cfd9bbL,0x9bdd6a092945a757L,0x91700b247eb1be63L } },
  29809. /* 19 << 0 */
  29810. { { 0x82a2ed4abaa84c08L,0x22c4cc5f41a8c912L,0xca109c3b154aad5eL,
  29811. 0x23891298fc38538eL,0xb3b6639c539802aeL,0xfa0f1f450390d706L },
  29812. { 0x46b78e5db0dc21d0L,0xa8c72d3cc3da2eacL,0x9170b3786ff2f643L,
  29813. 0x3f5a799bb67f30c3L,0x15d1dc778264b672L,0xa1d47b23e9577764L } },
  29814. /* 20 << 0 */
  29815. { { 0xad610a2d94a70ec1L,0xcd96f20591e71d16L,0x713466708cbaffc7L,
  29816. 0xf78cff0cd467f03aL,0x98ca8dd42d96c936L,0x1d1cdf7b5f223465L },
  29817. { 0xe27a189460d4db60L,0x25f546ab321828ffL,0x9933fb25dccd4df3L,
  29818. 0x422da643ffe6132bL,0x5e01b72b4718bbc7L,0xab9dd81052ebfb01L } },
  29819. /* 21 << 0 */
  29820. { { 0x08265e510422ce2fL,0x88e0d496dd2f9e21L,0x30128aa06177f75dL,
  29821. 0x2e59ab62bd9ebe69L,0x1b1a0f6c5df0e537L,0xab16c626dac012b5L },
  29822. { 0x8014214b008c5de7L,0xaa740a9e38f17beaL,0x262ebb498a149098L,
  29823. 0xb454111e8527cd59L,0x266ad15aacea5817L,0x21824f411353ccbaL } },
  29824. /* 22 << 0 */
  29825. { { 0x4f595351262bb775L,0x981b788d16f325b8L,0xccd57831927ed783L,
  29826. 0xc382472ebe0e1fdbL,0xfd7a8b13f0681fcaL,0xe082882d69059095L },
  29827. { 0x4d1c3049faa71fdcL,0xf9d62fd9c9576c69L,0x7b1ab489cbf837b7L,
  29828. 0xc764edf840d0fcf7L,0x50fc847215809cddL,0x671d69c98fcd8418L } },
  29829. /* 23 << 0 */
  29830. { { 0xd1b4e74d12e3683bL,0x990ed20b569b8ef6L,0xb9d3dd25429c0a18L,
  29831. 0x1c75b8ab2a351783L,0x61e4ca2b905432f0L,0x80826a69eea8f224L },
  29832. { 0x7fc33a6bec52abadL,0x0bcca3f0a65e4813L,0x7ad8a132a527cebeL,
  29833. 0xf0138950eaf22c7eL,0x282d2437566718c1L,0x9dfccb0de2212559L } },
  29834. /* 24 << 0 */
  29835. { { 0x259f272cfab816a7L,0x20c1b8e0d809afcdL,0x540c045a409c930bL,
  29836. 0x563361909bd5c2f7L,0x38076e8fca77d74fL,0x4f13f901fc55723fL },
  29837. { 0x890932d7bd3d10c3L,0x98d82ad1da247ec8L,0xdf5579fa4bea82ddL,
  29838. 0xe8277439a0f9ad3aL,0x1395a87966a4e904L,0x150808e625a302c9L } },
  29839. /* 25 << 0 */
  29840. { { 0x1e93722758ce3b83L,0xbb280dfa3cb3fb36L,0x57d0f3d2e2be174aL,
  29841. 0x9bd51b99208abe1eL,0x3809ab50de248024L,0xc29c6e2ca5bb7331L },
  29842. { 0x9944fd2e61124f05L,0x83ccbc4e9009e391L,0x01628f059424a3ccL,
  29843. 0xd6a2f51dea8e4344L,0xda3e1a3d4cebc96eL,0x1fe6fb42e97809dcL } },
  29844. /* 26 << 0 */
  29845. { { 0x6423197d2afd473dL,0xb0391b37897b93f5L,0x6efedb8023bf0b90L,
  29846. 0x808497b7b0bba4a7L,0xf14b309f03fa90f2L,0x37a45bdb091cbb80L },
  29847. { 0xedda4ae48a8f5dcbL,0xdb3f422d95e16d6eL,0x25c7b9146f5f24c7L,
  29848. 0x5d512df99d42a727L,0xbf2c0862697c08fdL,0x47d98a9df092241cL } },
  29849. /* 27 << 0 */
  29850. { { 0xa04482d2467d66e4L,0xcf1912934d78291dL,0x8e0d4168482396f9L,
  29851. 0x7228e2d5d18f14d0L,0x2f7e8d509c6a58feL,0xe8ca780e373e5aecL },
  29852. { 0x42aad1d61b68e9f8L,0x58a6d7f569e2f8f4L,0xd779adfe31da1beaL,
  29853. 0x7d26540638c85a85L,0x67e67195d44d3cdfL,0x17820a0bc5134ed7L } },
  29854. /* 28 << 0 */
  29855. { { 0xc76afaa373b64643L,0x4169b4117b3c1220L,0x550e0bee8ff22c6fL,
  29856. 0x8fb0c597a4da3e15L,0xd8232f8b4e492aa8L,0x55be5764d37da1a2L },
  29857. { 0xf1bc89b628e77f9eL,0x9ff769c4875fee0fL,0x184bd4733ad6983aL,
  29858. 0xc48ee6f3b033c112L,0x792377fbf8eb8319L,0x05cdca3fe7988176L } },
  29859. /* 29 << 0 */
  29860. { { 0x019d6ac5d3021470L,0x25846b66780443d6L,0xce3c15ed55c97647L,
  29861. 0x3dc22d490e3feb0fL,0x2065b7cba7df26e4L,0xc8b00ae8187cea1fL },
  29862. { 0x1a5284a0865dded3L,0x293c164920c83de2L,0xab178d26cce851b3L,
  29863. 0x8e6db10b404505fbL,0xf6f57e7190c82033L,0x1d2a1c015977f16cL } },
  29864. /* 30 << 0 */
  29865. { { 0x6a7a3464d0cbcea0L,0x76aad8b813126388L,0x519b9fd50a183232L,
  29866. 0x15f9abe1feb6b100L,0x7002990485ba4143L,0x92cea8f4c4360dd8L },
  29867. { 0xdc6c5d1dc12748a1L,0x1846eefcdd3eb156L,0x3117dd04d47a41dcL,
  29868. 0x96c21b29f6a167f2L,0xf569446a27555692L,0x941292e500f88cb2L } },
  29869. /* 31 << 0 */
  29870. { { 0xa39c89317c8906a4L,0xb6e7ecdd9e821ee6L,0x2ecf8340f0df4fe6L,
  29871. 0xd42f7dc953c14965L,0x1afb51a3e3ba8285L,0x6c07c4040a3305d1L },
  29872. { 0xdab83288127fc1daL,0xbc0a699b374c4b08L,0x402a9bab42eb20ddL,
  29873. 0xd7dd464f045a7a1cL,0x5b3d0d6d36beecc4L,0x475a3e756398a19dL } },
  29874. /* 32 << 0 */
  29875. { { 0xad852b878c0a64a4L,0x0d784cf208f779d5L,0x1896b9fcc651b1ddL,
  29876. 0xba8953d612e8dc87L,0x3a9865baa631cfb0L,0x5dd2a4a0626b3d79L },
  29877. { 0x1148bc72687c20bbL,0xa372dfc2f2a52bfdL,0x77315f9e9448fd08L,
  29878. 0x4bcb06f00a2377b6L,0x73b42725b35b4ff0L,0xc510ad93aabca99fL } },
  29879. /* 33 << 0 */
  29880. { { 0x61333a382fb3ba63L,0xdf330d9d5b943c86L,0xbbc7c7ee955ef3afL,
  29881. 0xda631fc160f09efbL,0x68af622641d5c400L,0xcc9e97a46c833e9dL },
  29882. { 0x7fd73e8e3a625e76L,0x13bf6124c209e55eL,0x08467cea48b90b91L,
  29883. 0x8a416eb9bb6f0abaL,0x6fcc93a1b8c31072L,0xa7fd2b619057dad7L } },
  29884. /* 34 << 0 */
  29885. { { 0x80b309dd2ada5bf4L,0x0648c2cd2d668c41L,0x45700722abb9102fL,
  29886. 0x9d6ac102b4e25201L,0x7ec2bc1cd50b3e6dL,0xcdb55e6ba07b7caeL },
  29887. { 0xebcbda0786da3943L,0x470ddc68f8a57f48L,0x9e1418a4554557c3L,
  29888. 0x02d00cfb8a76b2d6L,0x03c050a061520726L,0xa964eefbfdadd24eL } },
  29889. /* 35 << 0 */
  29890. { { 0x58a5b5433720ec9bL,0xbb3800d52d7c2fb4L,0x4a508620dde6bd0aL,
  29891. 0x65f16273a02583fdL,0x832bd8e34fc78523L,0xd6149f75e9417bc6L },
  29892. { 0xfeb026e93deeb52aL,0x0ce18088a55e0956L,0x50018998988092a2L,
  29893. 0x22f19fab28f35eeeL,0xac8a877f52ccd35cL,0xb13a8ad830e23f26L } },
  29894. /* 36 << 0 */
  29895. { { 0xf216aa2531238ed0L,0x4a13260770b1b757L,0xa39180d45c2c7ce1L,
  29896. 0x9f82b7fbab52606cL,0x6f01faee26946e78L,0x1608643883061d37L },
  29897. { 0x597edf370fb077bcL,0x1d11bc5ed6e28138L,0x10209418c167fd20L,
  29898. 0x6a3258ec33f55675L,0xdf33eed7b73401b1L,0xf699887b806085b7L } },
  29899. /* 37 << 0 */
  29900. { { 0x0202d57de44f61a3L,0x4027704bb5630ef2L,0xa129e2dff5b54a5dL,
  29901. 0xacb60a7597482b86L,0x9261ede87ef27114L,0x1eba28f3defc58b5L },
  29902. { 0x6c91c0c98be5589eL,0x2f1643d514594beeL,0x2ea912435d2ca034L,
  29903. 0xb50649a894047d1fL,0x284fcbb5638ca337L,0xfa0e07b7fe85bf85L } },
  29904. /* 38 << 0 */
  29905. { { 0x4703cd85891f8ffeL,0x018843c01c0d7702L,0xf3d752f5ad6cbeacL,
  29906. 0x479ecf018173fb32L,0x6b464412bc9a48c7L,0x47ba96091da7b147L },
  29907. { 0x91af26eaabc13488L,0x87c183c3e1a0e06cL,0xdae2479844956b93L,
  29908. 0xf300e1c648347f9aL,0x129be314974320a4L,0x1f466694520618f2L } },
  29909. /* 39 << 0 */
  29910. { { 0x7d894f80506e0e42L,0xd984244a8e3d2c46L,0x6d7edf642b7f006fL,
  29911. 0x36a1cd6dde9b6230L,0xc9985040b76c0665L,0x587df4d6b89b1fc2L },
  29912. { 0x4c0638476a71ae7aL,0x7b2b0ab3e8294747L,0x345c553ab53153b8L,
  29913. 0xb646e453436d9fe2L,0x1a95355f1cd60340L,0x2d7bc128074968fbL } },
  29914. /* 40 << 0 */
  29915. { { 0x6048c6949399c38aL,0x43a53ff21beb359eL,0x86fcfe4760be3ebcL,
  29916. 0xae78bc3a3134216cL,0x3b021cf316d7a9adL,0x51c4b1b36a4d6e81L },
  29917. { 0x54b9cd8db593d816L,0x1df8cc84a69ea3a3L,0x98ff87f7370eb744L,
  29918. 0x63a00a0a60e0aa2aL,0xdbb22c9ddeb46e6cL,0xdfd92b6da914bb01L } },
  29919. /* 41 << 0 */
  29920. { { 0xad148e87bca6d14cL,0x41dfd24d456a201eL,0x73a82933a80d68f3L,
  29921. 0x89746c8d852ca035L,0xe3bc778895fd71aeL,0x8764cd2cda92245dL },
  29922. { 0xa2fe2c4782eb23e2L,0x5ac762e00f3c9d6eL,0x57860ce121646f31L,
  29923. 0xbdc9d6c34f9f589aL,0x679952c7d193272eL,0x82ea702eeb18f1c5L } },
  29924. /* 42 << 0 */
  29925. { { 0x18ef56cd5d76b881L,0x31b22efc5df46c66L,0x4b21c4f3eb6c7e62L,
  29926. 0x3fd72a308f234c86L,0xe983e169ffff96c7L,0x7438b4933c1e593cL },
  29927. { 0x863a23a3a553e8e3L,0x0d959ba9796d9129L,0x25d0caaeda1eadf4L,
  29928. 0xe739fb61eaa67763L,0x50029568472a7175L,0xdb6829c2f002bb6eL } },
  29929. /* 43 << 0 */
  29930. { { 0x37fa935500846d44L,0x09112fc50578bc8cL,0xdad9f5b239c4943dL,
  29931. 0x7314f5f0416dbd86L,0x5cf095a901fefb56L,0x35178bad22dab393L },
  29932. { 0xcf79fc1b36baf1a7L,0x1b7ee42d749e5498L,0xbce78aa9ede314bbL,
  29933. 0xaaf8e0f6bd0628dfL,0xa974b09415cbf948L,0x8f3f1f63c9632b78L } },
  29934. /* 44 << 0 */
  29935. { { 0x1c5f0e5b36a400d3L,0xae97af8bf240b30aL,0x767b4ad7f8f99b51L,
  29936. 0xd50a288981ea36c2L,0x04ce2a21986c5ce6L,0x9c7e7754a320d352L },
  29937. { 0xc3336331bbad8346L,0x7cc82a4df1698fb2L,0xc680176505c7ad6cL,
  29938. 0x47678afb27dda8e5L,0xade6096d02e543aeL,0x5fb28e322a1dd73bL } },
  29939. /* 45 << 0 */
  29940. { { 0xd4c411564fddda5bL,0xd4af65c673ad9112L,0xffe8e0bb39eb8f59L,
  29941. 0xb0040c0e8d6fcf13L,0x99e1c0c61f2bb599L,0x9c94c858b2ac3405L },
  29942. { 0x8f8878d76eeed85dL,0x62b2f54351fcca3fL,0xeb3b44a9e5b56918L,
  29943. 0x16f96676b7234e93L,0x17477722bd2af19eL,0x42eb2979db83a485L } },
  29944. /* 46 << 0 */
  29945. { { 0xa618d7479fc4f435L,0x9f24fba649ddd10eL,0x60976b01b472d789L,
  29946. 0x9266634957719f54L,0xd9c79db800541257L,0x374aa9069481ed0dL },
  29947. { 0x60efb1147fdc2d7aL,0xa1590c30ecf58643L,0xd7a198a4185a849cL,
  29948. 0x19ab802314eb4ab9L,0xc82d5998ec090d06L,0xfc539eb3e259c7dbL } },
  29949. /* 47 << 0 */
  29950. { { 0x6f888f7df0c668caL,0x65c788785f0dc66cL,0xbfb185125f5b07a0L,
  29951. 0x780abff7d878acd0L,0x504f21b1570cf950L,0xea5b37c5da233371L },
  29952. { 0x487ae8bd22437ed1L,0x9c701758249cf9b7L,0xf86562a898fb34ffL,
  29953. 0xdfeea1a265e0fc91L,0xeef006912e20fc23L,0xac9dfec7dfa72a8bL } },
  29954. /* 48 << 0 */
  29955. { { 0x3ccf806ab35bf6cfL,0x2d368d48e7f30c2bL,0x4f504e06ea52bef9L,
  29956. 0x40d01ff53a7d2f3cL,0x62e5c5d3e73a1bc9L,0x66e4794bae7d7400L },
  29957. { 0x3d30625e5ffef312L,0x4580609da766ddf1L,0x5c3ca10d04bab985L,
  29958. 0x2605ca009da2a2caL,0x48eab00eb5c9462cL,0x271e42a12624a583L } },
  29959. /* 49 << 0 */
  29960. { { 0xfa5c3aef697136c6L,0x8ea5af63a5ea6fb8L,0xa669156542e365a4L,
  29961. 0x47c56c115b6e3386L,0x1197832bcea03f56L,0x0b470bb250e4ea9eL },
  29962. { 0x3113c74313b25712L,0x8d6c174ed2497d48L,0xfc4486ee49c9ebe8L,
  29963. 0x2487edd57f82bdd3L,0x771e64415b57be2fL,0x2d1cc518e28b2bdbL } },
  29964. /* 50 << 0 */
  29965. { { 0xa96763d2fba32d1fL,0x172cfe4ecb5af900L,0x510bd675cb2ec3f1L,
  29966. 0xbeabb91ac3c90051L,0x9cbf755b46f97ac7L,0xa820e8303a5d50d1L },
  29967. { 0x83a9f17e308c4545L,0xdf7dc7053048461aL,0x6124642f0f32b151L,
  29968. 0xc1b444139333e405L,0x6f7bfa7e13a4f7d6L,0x6f58fa8b7181c2a1L } },
  29969. /* 51 << 0 */
  29970. { { 0x2c4ccac72070ac8dL,0x1947c0caec4a22b8L,0xa5e0fb598c5a78d9L,
  29971. 0x464ae8d241a84de7L,0x3dba16e9daaabc27L,0x16634a504f35cb3cL },
  29972. { 0xadc18bf9b16ec84fL,0x324d067e7359dd35L,0xdaeac0c3570543f0L,
  29973. 0x0b2240003c887d36L,0xc69489e2373f1a0dL,0x518b047dcbaa0d97L } },
  29974. /* 52 << 0 */
  29975. { { 0x8f6468656f9201b9L,0x8a944b316b326232L,0x5687d1dca6ccfd35L,
  29976. 0x0bedaa85e5377c00L,0x252b48f5cd8d7d77L,0x4b820d9b31d83660L },
  29977. { 0xa9e5af3ccae07f15L,0x0a8930fc1208b9faL,0x6d0a166ced3c3b7aL,
  29978. 0x90e2aead7f78aaf8L,0x222465866e5ede76L,0xc5cc339dcba1fd4bL } },
  29979. /* 53 << 0 */
  29980. { { 0x3b1bddc6fbde49efL,0xdaed7c268a0915ccL,0x0b0110610f0422a2L,
  29981. 0xcf485c74a7c54b16L,0x642ec4e615c3aae2L,0xa8ba8f10e0f383eaL },
  29982. { 0x2a2054b495618501L,0xebec6442089efa8bL,0x5786a19a4e2fa83eL,
  29983. 0xd2c71ad139069963L,0xadc93d9a481765e2L,0xedf2e3eb7ecc9485L } },
  29984. /* 54 << 0 */
  29985. { { 0x11853add834e6c54L,0xab2f15202175fbf4L,0xcff00bd23c9b5a41L,
  29986. 0x075134ebabd64a6aL,0x48c075daaadd6150L,0x4576a6497cb89442L },
  29987. { 0x340a767034adeda3L,0x8dbb571c77fcd1f4L,0x0bf879d693b44ea6L,
  29988. 0x1ae1dd97d13444bbL,0x6e9e86bb7b1eb77aL,0x420eb673906a2949L } },
  29989. /* 55 << 0 */
  29990. { { 0xbcab5f60069f3367L,0xfd6622bc1718ec3cL,0xa4fb7867e3a142d6L,
  29991. 0x6078d8bf085faeb3L,0xfa5cbfda60f4554fL,0xb3fcd5d1690cd408L },
  29992. { 0x4ebdee7d281f7884L,0x82af23aa180a63a7L,0x8de3107c3d079f61L,
  29993. 0x17c6b5cbbe2334f8L,0x6a91e73997d0fa06L,0x7460257314ceeed4L } },
  29994. /* 56 << 0 */
  29995. { { 0x483350a5ebb8cdadL,0xd4215b4fc7a8baa1L,0x8b6fc785e692fdd2L,
  29996. 0x2629ba4fd1deca25L,0xe9981ea6820da79fL,0x7772a913e6436cc1L },
  29997. { 0xd141235c553fb41dL,0x28179e6cc852f64bL,0xb623a1aeeb8cc21cL,
  29998. 0x05826192490bb572L,0x56fefff326f349ceL,0x31ff648e0f88b82dL } },
  29999. /* 57 << 0 */
  30000. { { 0xb14ba61cf97f865cL,0x73bae4c1694b8b0dL,0xa14967dfac4bbf62L,
  30001. 0x1e9dd1509bf446e0L,0xc052f3eb1c99ceefL,0x814d7fa07a78c189L },
  30002. { 0xa101a483ab74b05dL,0x7788c258a1737b65L,0x0d60bab7e809a13cL,
  30003. 0x8f427bc473c81d5bL,0xd2e130552952c1fcL,0x0a823b9a4b26df63L } },
  30004. /* 58 << 0 */
  30005. { { 0x941c5c257d0be180L,0x341cf9d9c46785afL,0xdab9dc0015b0fa13L,
  30006. 0xa58db4ea4f96af4fL,0x9e9520bf57acc87aL,0x104cec0666ac72e0L },
  30007. { 0x9f3f7baa1929e675L,0xb8b4ac9ffa80380aL,0xb5f157aa569b57d8L,
  30008. 0xe11699e909fa58a1L,0xc08595e35548fbeaL,0x2b51995f794da901L } },
  30009. /* 59 << 0 */
  30010. { { 0xaf467ce227bf64c9L,0xdfca6897f929974cL,0x64473b595c322738L,
  30011. 0x96a917cf1ed0e315L,0x3703435b0de64db9L,0x9ba039679267b646L },
  30012. { 0xdf0c2aae3a522fbeL,0x41bdb741b335eff0L,0xaccf2edd7b059703L,
  30013. 0x6fb34b3028463cceL,0x96d9ba0bd9e3ca19L,0xff336f12504655c1L } },
  30014. /* 60 << 0 */
  30015. { { 0xc711d5d1c425543eL,0xa61fada6fb4f60e8L,0x0402d5c4eb809f85L,
  30016. 0x84b7c2fed74cccd4L,0x61bba736a55b5277L,0x95bb80cece47968cL },
  30017. { 0x09f92adc16eb7b95L,0xf0e0f4f7e682aa29L,0xacd70b86ad2a20fcL,
  30018. 0xbb45a51f948a8375L,0x29fc3b284892e676L,0x8dd21bf0b4ea4f51L } },
  30019. /* 61 << 0 */
  30020. { { 0x48da1fd3fc60a6e0L,0x54fb5a34222241e8L,0x6035e34f772ae080L,
  30021. 0x5ff77ff2332982d0L,0x2366467300fe51fdL,0xc93ea049ef6ba006L },
  30022. { 0x6640f1177d381266L,0x394d32cd6ae9f4acL,0xe6a7885370d303ebL,
  30023. 0x0dda19ffe5275767L,0xb0a6c77201466d23L,0xc4cc11451fc69829L } },
  30024. /* 62 << 0 */
  30025. { { 0x49a04dc0f5acf772L,0x1e659730c1fb476eL,0x0c7d749907dbb9afL,
  30026. 0x03b9f1cebfec21daL,0xd194b7054b14d117L,0xcb4c0a54561fedf2L },
  30027. { 0xaf623d3f21da4d42L,0x5f5e9b1fd630c145L,0x65609e59d9ff0abaL,
  30028. 0x3d2508922ba9239bL,0xcac324ec82c4faa7L,0x0902cc23149446b8L } },
  30029. /* 63 << 0 */
  30030. { { 0xc5c0e6d7aaed89c0L,0x6ce8ead6149a1896L,0x7a50f7458c949f8fL,
  30031. 0xcd7e35f76e2b71aaL,0xf6159e519a049f7aL,0x1c9bf0b0f1e52d1eL },
  30032. { 0x3bb6c1f518202c80L,0x8d3a5f621ecd7b1aL,0x3bb034e888d17f19L,
  30033. 0xdc89bd4997d4048dL,0xf5af7b8e3735df22L,0x52bb3712a0a689e8L } },
  30034. /* 64 << 0 */
  30035. { { 0xed4de4f88e89b258L,0x957c980f297a9a37L,0xe04b3d30f8a0580dL,
  30036. 0xa309199dca57b7bdL,0xfc8e87cf3be44d56L,0x4f5d5ab6d1b30e5cL },
  30037. { 0xb213c6a030a9325bL,0x0fd1c52df091bc01L,0xfe51bbbf1090fedeL,
  30038. 0x6d97cabc301fe259L,0x3ee127895ecd3fe8L,0x888b708b9404ca51L } },
  30039. /* 0 << 7 */
  30040. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  30041. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  30042. /* 1 << 7 */
  30043. { { 0xe484fd9f8258030fL,0x0f4fa5eff21af80aL,0xc0dd449e7c1c3984L,
  30044. 0xf313389118eb5195L,0x0336aab8777a16d2L,0xa6661cc4c241720aL },
  30045. { 0x678db970a7efacd0L,0x228968656461e382L,0x5d85a0e4a022c7a4L,
  30046. 0xb01f1e0434a02a6bL,0x2657eedda5791ce3L,0x239dcab2a277ac5bL } },
  30047. /* 2 << 7 */
  30048. { { 0x9a7a5b426ae54da1L,0xcfcadaab7040b022L,0x7539438e3d9f0e61L,
  30049. 0x013c6719e328c2e2L,0x7f4a706ccccbf891L,0xa335ab82735a2d28L },
  30050. { 0x46694ef03d984124L,0x0e0bdfabc166b337L,0x9d54ed8b423d47e4L,
  30051. 0x8075a8cbf44c9180L,0xd4f5b184abe9b384L,0x424dd00b41abdc75L } },
  30052. /* 3 << 7 */
  30053. { { 0x99a710b1400f1d87L,0xec3ca386ee47be8bL,0x3a00dcad37168feeL,
  30054. 0x1a69d6741765a0dfL,0x85233afe917c4909L,0xa3aa97a4e9bd6210L },
  30055. { 0x01010526310885f3L,0x21c5de3fb5007b08L,0x5df0c6efee8ddabdL,
  30056. 0x5d17d45a0f6dfdefL,0xb73d831a251c9f79L,0x397779e6cb1df19dL } },
  30057. /* 4 << 7 */
  30058. { { 0x5e2cb07fd7801edfL,0xf9fa2c0b3adc065aL,0xa296c53fd4de1f25L,
  30059. 0xd408060c838f7169L,0x68e19d7b2e8a6ce7L,0x2cc6e06c94b58671L },
  30060. { 0x93d02a07c1cb6151L,0xa10fb4cf35003126L,0x6aa069f51aa3bc4eL,
  30061. 0x0e44fbf0dd09b142L,0xe264f343832e5945L,0x5dca2adc1fc166acL } },
  30062. /* 5 << 7 */
  30063. { { 0x5f63e391d7afb4c6L,0x85208bcd2bcb4a76L,0x10022d53c3da8fd7L,
  30064. 0x607538c007e50047L,0xdbdb0e7212793242L,0x8e6b9f6135eb668fL },
  30065. { 0xbe5632887e1da455L,0x5e73e1a06e544e82L,0x0c28a5d29a2da4deL,
  30066. 0x62b30a8822326300L,0x470764f16013086eL,0xcbe2c34cd3ef5fbbL } },
  30067. /* 6 << 7 */
  30068. { { 0x9ee4f522b0f6c604L,0x5b8a689d52736e58L,0x0d5f396db7edb07cL,
  30069. 0x09b3457c2e829063L,0xf1d28188f83495daL,0xba2511e6cce559b8L },
  30070. { 0x17cbaf57d8f90669L,0x3ba19a1c514eacf0L,0x298208995145b8fdL,
  30071. 0x92cb5da81a33b1a7L,0xca49fe334c5149e9L,0x5c499b661772b4c0L } },
  30072. /* 7 << 7 */
  30073. { { 0xb98266b132508180L,0xf5008b926719d49dL,0x50c513f98069ffe6L,
  30074. 0x99ceb828a7c6f38eL,0x375b8a8225e2a436L,0xb8197f6c416c073dL },
  30075. { 0x01663a25eadf09ddL,0xfa2ca1571d7ff230L,0xf3b65b2545284aa4L,
  30076. 0x144dbefe648bd565L,0x6095ed8ab4c24e35L,0xe1f1fa3696ff2020L } },
  30077. /* 8 << 7 */
  30078. { { 0x56ad7582a0eb176aL,0x085b5a366e19aa00L,0x85f2c6ffe2c8b036L,
  30079. 0x55c6d357fcd7336bL,0xb1ecc56d22a46acdL,0x8e0f976736277ac7L },
  30080. { 0xa4ed11e901878921L,0xd38355667f4fb650L,0x5fdaba45266158aaL,
  30081. 0x6f0b27fd89e0dff0L,0x32ef7ae2eb6b02d0L,0x2f145871cc1b46e1L } },
  30082. /* 9 << 7 */
  30083. { { 0xc7698dfd4b449cfeL,0x78aacb7bd1517720L,0xaf0f6ef574cd5f32L,
  30084. 0x026f1826f17954e3L,0x33ef67ab2453185bL,0x82f0fcc90a420c0fL },
  30085. { 0x5b444b3645f154b1L,0xb27c4ece70d17f90L,0x6417e0d039282194L,
  30086. 0xebfb5fa001aa4f4fL,0x9cc5d0b573932754L,0xe8b56699704ffd85L } },
  30087. /* 10 << 7 */
  30088. { { 0xc112733b9d4075dcL,0x349281c187737549L,0xbb7d8e0181009785L,
  30089. 0x7640a3e2bfe16c4fL,0x4e34813ec1d9f810L,0x61985fbc8d2605d7L },
  30090. { 0x2a544cd8e3f66442L,0x48879af56a7c9e94L,0x9e6157bacec18a7eL,
  30091. 0xa555fc9511b882d6L,0x4305a4dd04f86563L,0xc58ed7631d0fd96eL } },
  30092. /* 11 << 7 */
  30093. { { 0xaaeec0f9b726e2edL,0x243ba6614493d146L,0xd799c3408980a9fbL,
  30094. 0x886e4f44ed060f57L,0x52126b82c1f83f6eL,0x8b4978441df301ceL },
  30095. { 0xeb2a98abcdc4e434L,0x87dec119474e2c77L,0xcbbc613092eb1528L,
  30096. 0xb0b0bcf7c454f37eL,0x404d97a7e1a919d3L,0x26d1baa825e62c30L } },
  30097. /* 12 << 7 */
  30098. { { 0xf04145e82d2696b3L,0xaffb66acf4fb2928L,0x9ffcba4e12aa299fL,
  30099. 0xcc5ec24991b3b517L,0x9edcd4616f81c747L,0x0a96090a77a883ebL },
  30100. { 0x9b0bab58a2aa4badL,0x76359a5e8f9b84e7L,0xfe8cd81e438a9d43L,
  30101. 0xf40e2b5e25ca8b3cL,0x4254030067bc720cL,0x883002a46b2446a3L } },
  30102. /* 13 << 7 */
  30103. { { 0x4b43bd3206c3aa7bL,0x83ca2db60a470b08L,0x07c1036c06f22f37L,
  30104. 0x312e04d7bbb46ed2L,0x6a1d70a40193e5f6L,0xc69720e8ba8a3f38L },
  30105. { 0x2c003429468a04b1L,0x885c43bfbc83fe25L,0x65a65259393e00e8L,
  30106. 0x7154c7ac2af17741L,0x682224d331dda744L,0x6183dd8bc80b57f5L } },
  30107. /* 14 << 7 */
  30108. { { 0x80e1cd16c496089aL,0x7a59f4c06ec2000fL,0x67a019d509ddce06L,
  30109. 0x52573e3e70c4b032L,0x16d253e14d3ba57eL,0xa43c6d42162504f7L },
  30110. { 0xa237bbf952ff95e4L,0x81187e659acb7273L,0x4b13531a1f384daeL,
  30111. 0x39067f3398125165L,0xe98fb141672dccc1L,0x594baca0a75e27b5L } },
  30112. /* 15 << 7 */
  30113. { { 0x85e12293c205465bL,0x57bbcfb1b71cbe44L,0x201ed45c1bc85881L,
  30114. 0xccbc39d5ccbe7dacL,0xc509b77f9277f310L,0x171b603aca1b70efL },
  30115. { 0x9b99605504d2dbbeL,0x986d6323451c918dL,0x75ad922f63c6fb03L,
  30116. 0x69e2cca49630182fL,0x1389a2b7f7b34d1fL,0xa66a80323d4f7c7fL } },
  30117. /* 16 << 7 */
  30118. { { 0xe65245cef6e9f82cL,0x9e234dfff6da7b5aL,0x5677c121bad2c806L,
  30119. 0xc52dec32060fcf24L,0x78d070675d78cccaL,0x630002ea1bc8b6fbL },
  30120. { 0xc5cb86beeb2e99aeL,0xf13981e78551d16fL,0xfbb7cdf2c92a70d7L,
  30121. 0x5a9ff1f1f53cd2a1L,0xfdbe6b7a984f1139L,0x4403d046a470a9f1L } },
  30122. /* 17 << 7 */
  30123. { { 0xdf8c9325efcc63faL,0xe0d35cd966563147L,0x140b9a8bc144d7b9L,
  30124. 0x492bfbd70c17c75fL,0x3cbc2b644c5c4d8bL,0xfecfaf47ff8a3328L },
  30125. { 0xaf341aa179b8c3d5L,0x5e72713ff04f29e6L,0x652219fb9f5b6fb6L,
  30126. 0x9deeba3f0764460fL,0xb8c2bfa5fa069d0fL,0x5d3e6fefe57be3e2L } },
  30127. /* 18 << 7 */
  30128. { { 0x52c9b94decd84cacL,0x34c2d0ad446dc59bL,0x5563701d951878ceL,
  30129. 0x92e2fc1c843c9b1cL,0x2309a5f13dfc7a98L,0xdaf117dc0c57a156L },
  30130. { 0x5739190d359fb843L,0xd433e9bb4b88e3a8L,0x4d6bb0e2c47a1f45L,
  30131. 0x511eaa33d7b59627L,0x42ef82c5e389e532L,0x641a0bdcd75f4c08L } },
  30132. /* 19 << 7 */
  30133. { { 0x3ae32dbdc7e30cc3L,0x0c970135af5d0ea3L,0x8fc38e50bd9a0528L,
  30134. 0xdb0506791bfa634aL,0xf3514fbd245cb0dcL,0x3a3c8c6982319ddeL },
  30135. { 0x92136baf6426632fL,0xabc3e24aabdd5641L,0x8ccae1429cc004baL,
  30136. 0x6c9834d8b3ee0d66L,0xa807ab63e1f7e8d7L,0xb4598e2a220aea7cL } },
  30137. /* 20 << 7 */
  30138. { { 0x19821469d678d1a3L,0xf9fa42e60df2f58dL,0x1177daf49f284ba0L,
  30139. 0x6dd2ad3d2a201dafL,0x667b0e383d427075L,0x39b76d1d4212b65aL },
  30140. { 0xc6720ae0bf3612fcL,0x72559d98775f8137L,0x466e8e4476c48a09L,
  30141. 0xa05f8eb07fb5428aL,0x7fa1fbce5e36b7d3L,0x13bab84f8d1fdcd1L } },
  30142. /* 21 << 7 */
  30143. { { 0xf1876140ed6f3524L,0x47171ee5cb94b2adL,0x56d836abcb8de844L,
  30144. 0x346e80890d3b4271L,0x0110df1fdabf6a02L,0x6850fba1f571cb92L },
  30145. { 0x490cd9af6209f064L,0x41f32d5f1cf5636cL,0x558bb7ddc328f9dcL,
  30146. 0x44abd0b9d32e3e4dL,0x2c42a5607fc2ff0eL,0x8b1dc5e12c9931f5L } },
  30147. /* 22 << 7 */
  30148. { { 0x6a35f6efdca1ce69L,0x04216d3184de3658L,0x3c3010df732f31b1L,
  30149. 0xe4421a872c1444b8L,0x17c987a3c59c1ccbL,0xd67159dba297df1bL },
  30150. { 0xd13aa7a0bc96041dL,0x686d7b77f44c3d8fL,0x6c2e505f09b2b933L,
  30151. 0x8c04eb8256161b34L,0x61785cb4b344bec6L,0x60b4d06cbf8b0b45L } },
  30152. /* 23 << 7 */
  30153. { { 0xe5b055481883c1bcL,0xd5bc37684597b8afL,0xa71ae49adb2fae11L,
  30154. 0xc1ac1b3e050327f0L,0xd990b2a668f3cb1aL,0x566e5175b74a3228L },
  30155. { 0x348d382957909fe3L,0xe849dd8dd03c2374L,0x4f31a278150fb5b4L,
  30156. 0xbfe265cf168c0798L,0x2737c156ce6a34beL,0x4478d6ae4aa6b73fL } },
  30157. /* 24 << 7 */
  30158. { { 0xb5b16cd48d040c69L,0xfdaba315f95a2dc4L,0xc9fef34961ce4704L,
  30159. 0x5fe87a0ddbb53ed6L,0x3f0ccc7973d70f93L,0x4601d1bc46724a1aL },
  30160. { 0x5c4a15ae24f08565L,0x5eda1e8aaa577320L,0xe31ebb35bb32d307L,
  30161. 0xcdc6f13bdc770a0eL,0xbe3ae514c434c2f8L,0x57c7fdf63a0ef0d1L } },
  30162. /* 25 << 7 */
  30163. { { 0x85165ea2d71c01a5L,0x3935171c99a29e59L,0x2aa1b5837d326190L,
  30164. 0xb1d702f8e79f3959L,0x94100c65c6ddffd0L,0xd1d56d626a9c54c6L },
  30165. { 0x5c93b4cf7ce12b66L,0xfc28574bb32a90caL,0xcd654a96e755969cL,
  30166. 0xa06f436cd1bec664L,0x9b27c110ffb6f3e6L,0x529b77d317b476c4L } },
  30167. /* 26 << 7 */
  30168. { { 0x04c3d9e162ccecd4L,0x6050bc1221cb59a1L,0xb33847543cbb7e07L,
  30169. 0xef2201ac4cf1be50L,0x99c3dda42d2ac886L,0xad19cb0ab776eff3L },
  30170. { 0xd326dd7f5a3d9036L,0x9fe56af2e5b27667L,0x3d849fc072cea4d1L,
  30171. 0x262a0cbcd6aa9e3cL,0x8286211885401b09L,0x8ec71d4b98fe8047L } },
  30172. /* 27 << 7 */
  30173. { { 0x9b769cc43c6b2de7L,0x433d4c26acb13b6dL,0x52878f517530ef4fL,
  30174. 0xd0e7ce94b0c5354aL,0x5b094d461d92dbc1L,0x75f681449e4ffb31L },
  30175. { 0xb9b9e97351b9d1e1L,0xc147ba4698661569L,0x2a06f4cb7a239309L,
  30176. 0xd5cb5ad420928958L,0xbde0283bd5bdf5c6L,0xb91664a082e43c18L } },
  30177. /* 28 << 7 */
  30178. { { 0x8fc0cfa6e51d078aL,0x431d9dd5744ca779L,0x37a4f3120e96e887L,
  30179. 0x9c3624fa03ea5144L,0x47d5ecda0b1127f4L,0x018ad424807cf96dL },
  30180. { 0x58ba530f586b16b9L,0xec7271ed72f47883L,0x8d2918da0281ac88L,
  30181. 0x6d0f14ef002330c9L,0x1a90a01591dc35caL,0xeb8e71e9c81607dcL } },
  30182. /* 29 << 7 */
  30183. { { 0x2eab9c5ee6d01fd3L,0xe030e6d23fa77f57L,0xff41311877edc0e9L,
  30184. 0x7817766bb47ca351L,0x70c987e36cb15abaL,0xc3c867ace19c5aa4L },
  30185. { 0xc24ec23ea05c3810L,0x3965a165c4f0f350L,0x52af99cf7c0d8e5bL,
  30186. 0x2d95d23c106e0b12L,0x27507b297f6d44d3L,0x33da846858b191f9L } },
  30187. /* 30 << 7 */
  30188. { { 0x8e5785629aa664e0L,0xf3a1cfc329a97c9bL,0x91ce3b404037bd09L,
  30189. 0x34c447b07f9f2482L,0xebe360164010c2a6L,0x7b8b9b3afdc0a861L },
  30190. { 0x0e60c49199c4ff9fL,0xf1cf53b1053e703bL,0xabeae550dd974a16L,
  30191. 0x28ac5a34994ea50eL,0x9384617d27329793L,0xd04db83ddad0aec7L } },
  30192. /* 31 << 7 */
  30193. { { 0xcb0ec2bd4b1537bcL,0xd0de683cbac6569bL,0x0688dbee5c96afb7L,
  30194. 0x7c7d192f3324ab6fL,0x1455b1e6165fe655L,0x32d135a1ccfe9e1cL },
  30195. { 0x05a80a2af9e1a86fL,0xdc946c70479c71f1L,0xf8b9ad985aaa0ff3L,
  30196. 0x78cf198ef195bbceL,0xadbc082dfcee6b59L,0xe6e1fa844cd19e25L } },
  30197. /* 32 << 7 */
  30198. { { 0xeb06571c0f547ebaL,0xf292c38d6246c0dcL,0xa185966726eed224L,
  30199. 0x8d9e56e46100e387L,0x470506b9dc6298d1L,0xb19e084cf3350ad0L },
  30200. { 0x83eb62a812abd898L,0x70f152cc2222342cL,0xb089e880e1bd4a82L,
  30201. 0xd4d1e70fcaf3b3fcL,0xd0b1ec6395ffd65cL,0x79f27f3a9b184ebbL } },
  30202. /* 33 << 7 */
  30203. { { 0xb4a7435231a3e816L,0xba8a0af2fd4ada3aL,0x1622289dd8fed2e4L,
  30204. 0xb71e579e31d3745cL,0xb090650704a50576L,0xc98b5f20123f900fL },
  30205. { 0x3799ee82d3587b21L,0xafdd6dc79d9abe55L,0x4053ee2aba64b9d7L,
  30206. 0xa816246657b3f258L,0xd9b5c4c4690b1169L,0x32c1d3afd091d158L } },
  30207. /* 34 << 7 */
  30208. { { 0xff5a9c58de97d0d7L,0xec086138feede4acL,0x55b14035ebf47cecL,
  30209. 0xc0b3e061c619fe18L,0x5644c092ead4ebe9L,0xa1a4f7a41e5e0a61L },
  30210. { 0x8698da06d179219cL,0x86f560bc3f88f732L,0x6ad10b3f1e34a23dL,
  30211. 0xd4326bb71307ede6L,0xc93cd2a19b3045adL,0x5a0b733dd8a5160aL } },
  30212. /* 35 << 7 */
  30213. { { 0x68ef87cdeaedf10dL,0x5ce97a07bed10cb6L,0x9b8dbd896ed762c1L,
  30214. 0x1a72b05333c1dcd8L,0x6718eff90f97cfa6L,0x02f886e57dda698bL },
  30215. { 0x9db378a8c724f4c7L,0x5b55b8383fa6548aL,0x9935a70ecb24bdf9L,
  30216. 0xf5da6936e9de8ae0L,0x3b3a10a79b0c4bcfL,0xe4e6a6e86361c492L } },
  30217. /* 36 << 7 */
  30218. { { 0xb37fc581c634a8f8L,0x06f06c93de1d01acL,0x0f2dac8452fed4ccL,
  30219. 0x1673c81bda53f81fL,0x963e500e61e11c94L,0xe86ff87e2144d55fL },
  30220. { 0x343ddf389bbaec76L,0x16a13527806df1edL,0x1361b5ac0a9edd65L,
  30221. 0xf20507fe33c0124fL,0xdf64ec1e4e8e0d18L,0x3f6a42e27860a8f2L } },
  30222. /* 37 << 7 */
  30223. { { 0xe6db1c43d38266a7L,0x55bee1a3adec0d4dL,0xe41c403ed56d2f9dL,
  30224. 0x5fb703f24d3cd93cL,0x4d7ae8c53d2a7ccaL,0x65c8ac50ffa5fff2L },
  30225. { 0x128814ec264dfa80L,0x08d1372ea642513fL,0xfc5ea1615343a57bL,
  30226. 0xc70a6f2f9a2f3f3cL,0xfe61c499df4963f1L,0x2b711eee5cea1508L } },
  30227. /* 38 << 7 */
  30228. { { 0xfc3e9fb252f9a4f3L,0x8bbeeff32180cd36L,0x274312dbd6438c99L,
  30229. 0xbd30984a55612a57L,0x344006d609381db3L,0xd9b696f62bcac509L },
  30230. { 0x481e4ea3bef646d0L,0x213033d430561b68L,0xf46bf9a05453f623L,
  30231. 0x2af3c4a46d848d97L,0xc35e55a543efa02eL,0x8da254342462874dL } },
  30232. /* 39 << 7 */
  30233. { { 0x1f7fda656a12b927L,0xf628cfac876b9303L,0x1904a0b5d0d0d0b2L,
  30234. 0x46d486f6f2894b1dL,0xd35cb5610d243bfeL,0xe759579b851a568eL },
  30235. { 0xb99572e2c1aeda5cL,0x872e16fb1c54cd1eL,0xf5ec9e42a60fdc40L,
  30236. 0x59b03a6201a4b019L,0x9c5e7f87e272e064L,0x6240282f24c918a2L } },
  30237. /* 40 << 7 */
  30238. { { 0xc2467f9ab92a9a13L,0x0c3ee8eb6add349aL,0x59250eda45e99644L,
  30239. 0x22ce0635c8a2df27L,0xec7b643e312e8698L,0x334ccf2eaebd1587L },
  30240. { 0x0c1c68736bca2900L,0x00beb4c209826cb1L,0x12dbb586cde6b725L,
  30241. 0x8d7cee6c66dfed41L,0xc38deba2014de4c8L,0xa3ba6ec76248442dL } },
  30242. /* 41 << 7 */
  30243. { { 0x870be3ebef38abf3L,0x6e0cf541f74dc605L,0x499976bcda4bc168L,
  30244. 0x5513c6122548b3b8L,0x5b9a054c3f647360L,0xa47f9f8bde929154L },
  30245. { 0xa2ae9ccbb8ec35b4L,0x934c5c0a4d9857e3L,0xc9dd66cc4b4f01ffL,
  30246. 0x42a1afa2e5b5e147L,0xc284e464f3d9b380L,0x67845404e21bbe63L } },
  30247. /* 42 << 7 */
  30248. { { 0x9ec1ed3342ec772dL,0xa77e1ecf5501609bL,0xb059e214a02906f8L,
  30249. 0x35b2ebceb28e4d14L,0xb8453ec22cf036eaL,0xe621234b2518fe75L },
  30250. { 0x079d7d11f03cd158L,0x357492f91b2f011aL,0x3c2186da0661992aL,
  30251. 0x7adc1c0fe5df978aL,0x88d329db5300cdccL,0xd915c2444c0d644dL } },
  30252. /* 43 << 7 */
  30253. { { 0x1b9797a8f0ff03f6L,0x00dafe43f41c9284L,0x1e565c33f2bdc817L,
  30254. 0x63b77ad9784b1a5dL,0x3304540e74aa6079L,0x630524f3d7181d2bL },
  30255. { 0xb4fe5fcca2804658L,0x1e48e50b9e393a6eL,0xb5bccd49397a94a5L,
  30256. 0x95394743eef17accL,0x4d67ba5226dd1687L,0x80965c3432349d9fL } },
  30257. /* 44 << 7 */
  30258. { { 0x1d70669e49f1216eL,0x8645472fa5fca474L,0x9242e8ddfc400357L,
  30259. 0xe7ac31548623996fL,0x37b9e68ce61aecb5L,0x7d2e10fdb997e4c9L },
  30260. { 0xc0cb59a6c2086dc9L,0xb38e2032d7952172L,0x78eaecf6eebac939L,
  30261. 0xece490b42f5dbaaeL,0xdb17501dcdc32565L,0x59bd392ab133bf99L } },
  30262. /* 45 << 7 */
  30263. { { 0x71554fae07de21a7L,0x3dd66b8bcc42db25L,0x9da85c0f0636e9a4L,
  30264. 0x61fef273904930d8L,0xcc8f527b73369e81L,0x4207dfab7caeacd8L },
  30265. { 0x99e5d1404fc763d7L,0x5cc6a3739f4e8947L,0x9ef14ec1cde33eaeL,
  30266. 0x25eb3aa8095872d2L,0x0db8268d7d9e6dd9L,0x38846510c2ccfe92L } },
  30267. /* 46 << 7 */
  30268. { { 0xce6197e822d0a502L,0x69df7f8e09d45970L,0x0274f48b7eb4718dL,
  30269. 0x47461334a8c22b75L,0x89cebf17bf25b9abL,0x57c042f6fdfea412L },
  30270. { 0xb19c338644346b96L,0xdba17de06ba014c4L,0x6697687a5f844d69L,
  30271. 0xf16dee4c1a66c6faL,0x7f916e47fdafd0d7L,0x1c3842d2340f158cL } },
  30272. /* 47 << 7 */
  30273. { { 0x417c9ab760efab2aL,0x1745d5c2f0065f75L,0x1a7d86f2ed71b350L,
  30274. 0x6d4d504feee5c850L,0x4ae7ee0da657b859L,0x1f72ded53c302a3fL },
  30275. { 0x08779fdae7b22e51L,0xb04c1c0446d90bfdL,0x4dc97219712f96d0L,
  30276. 0xb15e8c0041a6be82L,0x384a02cca3804090L,0xcea45861babd1ee5L } },
  30277. /* 48 << 7 */
  30278. { { 0x3c686079d42aeb95L,0xc162e5e985e3ea0fL,0x34cf58611bbb2455L,
  30279. 0x7650de1d8773b064L,0x3b7562c6d2bab35dL,0x83191b4433d0741bL },
  30280. { 0x4b604db03a6bd9cfL,0x87cd84db074aed21L,0x02a042d2d4f91f9cL,
  30281. 0x5a5d52e5e42c2a67L,0x31291acd1d5f216aL,0x9c3971bccd6203c8L } },
  30282. /* 49 << 7 */
  30283. { { 0xec931d6599e9ec3fL,0xe9d780c64bd554d9L,0xa580534502eca45cL,
  30284. 0x84701f1ac1276ca3L,0xcb7ba786d5f9438bL,0xf3a27508c85f663aL },
  30285. { 0x044df512118c9421L,0x1109fd431039871bL,0x7865443de2378386L,
  30286. 0x7a5e2d49e70297abL,0x112763ca6824d2b3L,0x8a05f2c90e84bba5L } },
  30287. /* 50 << 7 */
  30288. { { 0xde3bfdebff044924L,0xd7f2a5181a0458f9L,0xc03df0c00139d557L,
  30289. 0x7a958c60cd3ad0d4L,0xec9f2f9759a43584L,0x5e0fbba950d8b4b6L },
  30290. { 0x5fbc5e3888245837L,0x17235805a267a54aL,0xdc24a508db55d65bL,
  30291. 0x431e4d5623c704d1L,0xb1f85b2277585f9cL,0xb288f25ed0b1c374L } },
  30292. /* 51 << 7 */
  30293. { { 0xd8fd5b405a37c029L,0x5c9d827fe4d37effL,0xe024d7952e046275L,
  30294. 0x0661277f913c55c6L,0x21ee10eb904b3679L,0x32c582e066778adfL },
  30295. { 0xc353ab1fba8d17daL,0x1d4ab06b5658ea17L,0xb908cb88a2d70bb4L,
  30296. 0xfc215909a98daaebL,0x7aea6c8777000e24L,0x19e0acbe38446e20L } },
  30297. /* 52 << 7 */
  30298. { { 0x1bc3803e2f98532bL,0x39d0c3258754d142L,0xa7b035c5d739eaefL,
  30299. 0xd36ddeb8fbfdea2dL,0x7df72a94bdf64f2aL,0xab4ad6b880bc3c47L },
  30300. { 0xdf386df3877fa482L,0x4b94260470519bc3L,0xa3399d91d20e1e04L,
  30301. 0x7f5208b797cf58ccL,0x528f6a2814424c00L,0x83d74730bd900d10L } },
  30302. /* 53 << 7 */
  30303. { { 0x501c657f34ded7f1L,0x9071027e12fa53bbL,0x395e16aedff079ccL,
  30304. 0xea95dc84770ac4b2L,0x4d2aa60a41355974L,0xe04effa507f12473L },
  30305. { 0x38ca98385cd1c738L,0x3c067a0b683c0dbaL,0x55ad2dec67589842L,
  30306. 0xe51550f7dfdae3c8L,0x21a56717214d51aeL,0x75b6a4a012a0fdcdL } },
  30307. /* 54 << 7 */
  30308. { { 0xd63605266a4ea95bL,0x180f72d403e67090L,0x7faf4529751c8c9fL,
  30309. 0x1ab7b50d00e4252aL,0xc0e69adf34811274L,0x5c4c83495e99c6ccL },
  30310. { 0xcc9467f29a9e02a9L,0x5402c2da5c4fc719L,0x1dff8c5d3f6d5bddL,
  30311. 0x88a7d27a2c653c3cL,0x067f31183a050dc7L,0xca0f7dafc4f0236eL } },
  30312. /* 55 << 7 */
  30313. { { 0xa09306e9ca177c3bL,0xea84f03ed0552a4dL,0x7ae9024f3c00d359L,
  30314. 0xe189ebc33aa619faL,0x4adeefac8354579bL,0x90168ef9699db1ebL },
  30315. { 0x75319141ad87490aL,0x7b48fe7629c1bf84L,0x00ae82c7a2235f2aL,
  30316. 0x6292c9cf68562b59L,0x0b6500943935ca20L,0x39f22cb027f33addL } },
  30317. /* 56 << 7 */
  30318. { { 0x92e4c851aa1ef488L,0x4f91fc22846528a9L,0xaa2f5d2d5dc13a84L,
  30319. 0xba06aa68f1072d4dL,0xf4f3b17c5e3a2ba9L,0xff36a5355e4dde77L },
  30320. { 0xe8ef143aae17dddcL,0xcc82631ba1fcd4ecL,0x97db807ec7d3963bL,
  30321. 0xe4aff04521d85ce2L,0x2d6480e674667392L,0xc8ce97f3a55d0b3fL } },
  30322. /* 57 << 7 */
  30323. { { 0x1a32b8457962a675L,0xd78efd71723d217dL,0x9b03d6573b41a2c5L,
  30324. 0x1116f33589a380b1L,0x2c0359af931ee15bL,0x8a53744f239ba4c4L },
  30325. { 0x4801397dc78cdc83L,0xc43b9f0434ae4453L,0x9cc8f6cec356a35bL,
  30326. 0xd5a74c2a648b39e6L,0xa54d668c0d5e78fbL,0x36257047cfcb8f6aL } },
  30327. /* 58 << 7 */
  30328. { { 0xabeef3461549c215L,0xfec59db2ce4aee45L,0xa1743a0f5305df83L,
  30329. 0x9d598abdf211bacfL,0xd14609dd52a513fdL,0xd3dc446be00d4ad0L },
  30330. { 0xbd8883e9b272211aL,0xe991e57757879fd6L,0x5a093d372b732171L,
  30331. 0xdd901071f55f18dbL,0x87f04c0034fecfd1L,0x2c07df27c94f6a5bL } },
  30332. /* 59 << 7 */
  30333. { { 0x518e3ced1c17df0cL,0xf8971149ff5dbc4eL,0x5fec8bfe0ac9d27cL,
  30334. 0x41d68852489eed7dL,0xf48ef4bf3c3c4725L,0x3b8d9eee7681eceaL },
  30335. { 0x7743ededdaae4bdcL,0xb9665ef5d1bcf697L,0x9d77f535471bb958L,
  30336. 0xb5db5b96d752b2ddL,0x2cd3c919c368982dL,0xf8297660e9cff6d7L } },
  30337. /* 60 << 7 */
  30338. { { 0x39e7da1028946a2eL,0x4e628a96c3a76f7cL,0x43b8b808e9f6000aL,
  30339. 0x86cbd25ca48bbb79L,0x5ce825e273092951L,0x43a6031df0cbee32L },
  30340. { 0x6d685a594923485dL,0x8d4483ed81a17f47L,0xf61d329bbc379719L,
  30341. 0x9deef7d0f6596ee8L,0x0314a572541b1222L,0xe2b34d387ea7d376L } },
  30342. /* 61 << 7 */
  30343. { { 0x05ff6faa31f43d37L,0xfb83f23211b801f6L,0x238792d519b223a4L,
  30344. 0x28edadcce004f601L,0xf77747b3bdeb7597L,0x2178dbe21e6575d4L },
  30345. { 0xd48ec49842870ba2L,0x7733661d15dca6dfL,0x08212e2f83393416L,
  30346. 0xffa1bfe2614c545cL,0xfaf4ab8494254145L,0xd8f9eb48000d250cL } },
  30347. /* 62 << 7 */
  30348. { { 0x9ff4f289a66132a2L,0xc54fb8001e098994L,0x09d3cd6624cc2471L,
  30349. 0x6d0f74167838e14bL,0x7438cd2dc540cbdaL,0x193b16817d6fa8b4L },
  30350. { 0x487a7dedab33c6f3L,0x625eb8cf02f5aa09L,0xd8039682501323bdL,
  30351. 0x9de122e38e216951L,0x40a8fbde0711c51aL,0xf192b5c283a474c3L } },
  30352. /* 63 << 7 */
  30353. { { 0x3782cbda57e04e9cL,0xec639886e41b30dfL,0x4cd14afd12d2f686L,
  30354. 0x0aa093ee8b768113L,0x6cfc12cdad598f9dL,0xe4a62f1194bcce0fL },
  30355. { 0xd5035fab150ad4f2L,0xb3cd4871ae2e8da4L,0x49c9e78271ad9c3dL,
  30356. 0xdcafeb34825690cdL,0xc05fb7a38c246f85L,0xefe16be3a82cc013L } },
  30357. /* 64 << 7 */
  30358. { { 0xd42777314c14ee0eL,0xda8146d15e881c3fL,0x6b0746b099f1867cL,
  30359. 0x1ec73d72602dd4ccL,0x27fae51538081120L,0x6a677bdc2f8b2f2dL },
  30360. { 0xb924af64d60544e9L,0x1439e183dcfc6b16L,0x4e88e9ae068565acL,
  30361. 0x8a3dbd25a9a4f146L,0xdb4a3e483f93f734L,0xb1971c058f1d33bcL } },
  30362. /* 0 << 14 */
  30363. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  30364. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  30365. /* 1 << 14 */
  30366. { { 0x721bb8363a7f43c3L,0xab5b3108c12dca0fL,0x9cc9a78934853870L,
  30367. 0x78b604a7af598c4fL,0xd370375e476f27c8L,0x9f0415b80b15cba5L },
  30368. { 0x2bcfd9a4d400dc1fL,0x2a6fe03b4bc62dddL,0xb05a6464a211b19fL,
  30369. 0xce059d419990b504L,0x011c5f87d94951d3L,0x13cec08900d9c7b0L } },
  30370. /* 2 << 14 */
  30371. { { 0xf365419f9b280fd9L,0x13e3b12746365672L,0x8a91c165c41880aaL,
  30372. 0x3eb27a97f9712fbdL,0xa6587aec76c55678L,0x7c3a04b702cd79cfL },
  30373. { 0xfc878f9cda712eb8L,0x076e61170fca3e02L,0x09a184d8caf6df5eL,
  30374. 0xd32bf232aabcde75L,0xf601d0de03de597aL,0x85d2b5fcc5da2858L } },
  30375. /* 3 << 14 */
  30376. { { 0x3075a7636c888df8L,0x6305c20472e21527L,0x6b1d683e8798aad9L,
  30377. 0x0d09624680706369L,0x91db5e7f7b854739L,0x0e63cc6e02d72332L },
  30378. { 0xe929e3ea1f7ff6ccL,0xd53a18a145595925L,0x867916cb93af8be1L,
  30379. 0x757e9f56c5c305eeL,0x3f9071c75c83063cL,0xccc0f92d7f6d5bb7L } },
  30380. /* 4 << 14 */
  30381. { { 0xb6029961ae899afaL,0x8eedd66e681b6e1bL,0x82db693b4df3e5b1L,
  30382. 0xb5131488a0c3e357L,0xbfb01ff3ccb2f577L,0x28ea947027a72cc3L },
  30383. { 0x26170928e39e325eL,0x42d4876b84f80188L,0x0bec6a634c872d76L,
  30384. 0xa0a7cc90b14d9c9fL,0x8a32d2c44f6c7778L,0xe7cd346e3b889a4cL } },
  30385. /* 5 << 14 */
  30386. { { 0xab35a14f5a4a3753L,0x1d0d5a142bbbd563L,0x54cfffc5998d4514L,
  30387. 0x1c02f381a77ed59bL,0xe4a7a6ab21c9c190L,0x50059df54a9adb60L },
  30388. { 0x2d0383ba34bd7008L,0x894889bedf1a4f41L,0xe541c62612ac407dL,
  30389. 0xcc0e417964c3b62bL,0xdb8ca1f33a0978b2L,0x4ef45a2d287e8c6cL } },
  30390. /* 6 << 14 */
  30391. { { 0xea95b5c9437f2efbL,0x67d3e9b58e52ce8eL,0xfb33102488ff5455L,
  30392. 0x883ec9fcc3101dedL,0x056218e20ca5f1f9L,0x4c9b2483bccc65d8L },
  30393. { 0x13199b26123db2ecL,0xbc1d82479aff90dbL,0xc4a9311d367516f6L,
  30394. 0x3b40c867cb6e90d6L,0xff674ff84034415cL,0x2787db45a1821e7eL } },
  30395. /* 7 << 14 */
  30396. { { 0xacc263fcadeb8508L,0xb52ebcd719854c90L,0x3d54e7805f2ce0aaL,
  30397. 0x2fc056a97e02e760L,0x47e7173e32da5f93L,0x1d468de3fa893134L },
  30398. { 0x9adc877dd73396b5L,0x430826afeeb00c82L,0xfde2c3da96a673caL,
  30399. 0x467575ad33e43f9cL,0xc3b2c3a1ec1df2f0L,0xf0348e6f2252a8a6L } },
  30400. /* 8 << 14 */
  30401. { { 0x860ef794609683acL,0xf0631ad39af1c522L,0x322c83662ee7f522L,
  30402. 0x58ccd95f54122af0L,0x7454880c2bbb2d80L,0xea173d8286d8d577L },
  30403. { 0xd5a3057cea1cc801L,0xfd08d482bbb2a189L,0x26aac99ec3c512f8L,
  30404. 0xc3eac036556d891eL,0x866c3aa7bf9f6112L,0x7c4c8fb9c144f7e9L } },
  30405. /* 9 << 14 */
  30406. { { 0x989eef73a9109d83L,0xbe43bd378edd17dfL,0x14a63abd1b17029bL,
  30407. 0xfd14ae365ff76860L,0x689dd0a6b8730632L,0x01eb37f147342f9aL },
  30408. { 0x619bab45e6c446a3L,0x93d26fc97abddba4L,0xda6c120486ffa4cdL,
  30409. 0xc608937548758279L,0xaf074ea3034a7230L,0xf220244b82ce176dL } },
  30410. /* 10 << 14 */
  30411. { { 0xc0c1eb0f8343f5ddL,0xa205e66a0126fa2dL,0x37530a3244fd8be4L,
  30412. 0x3c7af6f696ab64cfL,0x1f04305076657202L,0x2c59d31c828f3fb1L },
  30413. { 0xa61cba51e7f5926eL,0xb2de427391ebeb81L,0x976f2c34bb855476L,
  30414. 0x0c6c02c3269e4f86L,0xc69bed8fe2e01fffL,0x19aa421c480bf7b4L } },
  30415. /* 11 << 14 */
  30416. { { 0xb32e8e229affa929L,0x69ebb533bb7db327L,0x10ac3360a8a8d088L,
  30417. 0x066cffa7c485517fL,0x2393e74c12b8eebaL,0xb3a8825a596c8412L },
  30418. { 0xe2b99fc3bc8b6b92L,0xd7716da085ca802dL,0x92f6693f4de5101fL,
  30419. 0xe8b0442304be34eaL,0x05b44ef648324966L,0xa89d9499413df57fL } },
  30420. /* 12 << 14 */
  30421. { { 0xad0d24c7b617206bL,0xb8be483f9dd13f59L,0xa55134ff7655aa29L,
  30422. 0xa3d103857a5e217eL,0xfbb9eeb53a21b295L,0x1de71555c84a136dL },
  30423. { 0x7579398e0b7487b3L,0xc6ca9575a14dce87L,0x99b32e1e46452257L,
  30424. 0x99d54955479d8f2cL,0xc2a8a6a1930b80efL,0x58d9db81656c850bL } },
  30425. /* 13 << 14 */
  30426. { { 0x0c8fe2e04d89b43aL,0xe4d923e77a04e492L,0x49ecb701617df01cL,
  30427. 0x6d80f249bff9a819L,0xf01e604acb7f86c1L,0xd6d3a6664b7f1455L },
  30428. { 0x657801c19188fb17L,0x339d79450dc92875L,0xca798cf57ec0b757L,
  30429. 0xc0808852a62301c2L,0x2dda13558266c908L,0x22bcde8f5e55da21L } },
  30430. /* 14 << 14 */
  30431. { { 0x6c85a0eda682508cL,0x8350b515edcce6c8L,0xa84a67656f95898dL,
  30432. 0x55b0ae971e419847L,0x11115c6edd6a885dL,0x6f0beaf64fb174a4L },
  30433. { 0xaaae44b2815af3afL,0xcf0697b9927a2c1cL,0x37639d62d7d645eeL,
  30434. 0x157b7eda2effec37L,0xb55e50759b9c66e6L,0x33a66a1f85f597ecL } },
  30435. /* 15 << 14 */
  30436. { { 0x8260c5339b49bb46L,0x3f3df9d6437cac27L,0xd0723229d972d2a8L,
  30437. 0xe544a216d0dd92abL,0xeea4a0f5a03588f6L,0x54006166b218dec0L },
  30438. { 0x0fae2be85778113bL,0xbb9618d68d570227L,0x3ba87360297a47aaL,
  30439. 0x9483a8399a76dd6eL,0xa803edaf6eb061b7L,0x6790050cf8067cf4L } },
  30440. /* 16 << 14 */
  30441. { { 0x171898aa8f7782b6L,0x8b7a706b499b3a81L,0xbc0e835ffdb2c1baL,
  30442. 0x4ee30281591f5aafL,0xfd71de3bcc272c6aL,0x532800c46e93f68aL },
  30443. { 0x35ee08048365c576L,0x6c2bcc94cd4c0221L,0x49f37ff5957b2ff6L,
  30444. 0x315d8e7e5ec029c0L,0x33230602ef324c12L,0xf5847f9b966b2578L } },
  30445. /* 17 << 14 */
  30446. { { 0xed88aa550bf098d0L,0xbc9888fd75f90180L,0x9040919207713428L,
  30447. 0x38922bbc1a1f71ddL,0xa430fb65bfbf0f55L,0xa258b9ba867c1998L },
  30448. { 0xa7f69b03b7294c58L,0x2ec0c5de84dbc1e5L,0x41c9e5207dba8d62L,
  30449. 0x545573f1795d8285L,0x1c24a375d3075041L,0x687e1cc8fb6b88dcL } },
  30450. /* 18 << 14 */
  30451. { { 0xc29b123e1453b1e1L,0xefb0778820059b44L,0x15554ade9291671eL,
  30452. 0xeb5a1980429dea37L,0xf96dacbb6c4b867dL,0x4f5563d6abab4d68L },
  30453. { 0xb5b0ecffcbe76297L,0x5a22996a51d6bd43L,0x0088ec95b7e5cfc6L,
  30454. 0x4863a5a1fe373e05L,0x42b7925bc244d93dL,0x85bad13540117113L } },
  30455. /* 19 << 14 */
  30456. { { 0x01725fbe8201fae2L,0xee4d7d382dc34bbbL,0xaddf878afd7c35bdL,
  30457. 0x56522d5865536719L,0x595c3dd8f772d4cfL,0xd87c5b6045af30b9L },
  30458. { 0x9cc20b9de7992d5dL,0xdfd53d58d56f1964L,0xaf2947bdc7d42a68L,
  30459. 0x9322b73dd19e8ad3L,0xa73a9e843243a6d7L,0x9c7dc57992c203d3L } },
  30460. /* 20 << 14 */
  30461. { { 0x86283e21f9daa551L,0x47fd23f81f696f1bL,0x7d029b1bb9784a9aL,
  30462. 0x7c7798bea0c0acb5L,0x41241c716d7c682bL,0x11c6c1131d33c2b0L },
  30463. { 0x5d469ca23565cf32L,0xa949f022bad4bdbfL,0x3d054cc2a13cf4cdL,
  30464. 0x13bd21669e3ce279L,0x01bc70e68a4beafcL,0xb39e351d8aba087eL } },
  30465. /* 21 << 14 */
  30466. { { 0x92efa2ebfa6cb068L,0x934209b29235050bL,0xc446ee28d5000c05L,
  30467. 0xd4e51912862fb7ecL,0xa53940f111193db0L,0x5f2ef2aa82a7fc57L },
  30468. { 0x1a6b30ecb0210f49L,0x4ab1dac73899548aL,0xb116cc3186737a03L,
  30469. 0x56cb33809ebfa5b6L,0x8ac3b61fdfd918b2L,0x65867e3ca102e1feL } },
  30470. /* 22 << 14 */
  30471. { { 0x26072a5d82357232L,0x3762764e9f0fd2f1L,0x9c5813f60c16733eL,
  30472. 0xea2e0e03718951d4L,0xae195bd469e63818L,0x241a4afcfa2f9a6eL },
  30473. { 0x0e97519f9165d59aL,0x416bd37358e5af1bL,0xc4e811288197b7ecL,
  30474. 0x4145be2c9c6ba0d0L,0xc82cb2a17d40b98aL,0xc3c28487bccfa8b8L } },
  30475. /* 23 << 14 */
  30476. { { 0x920949a810476d2fL,0x5b387bbe2502c026L,0xd1d61a9acd7f026bL,
  30477. 0x81003d7ceea9a3f8L,0x6191c15fba5b78aaL,0xacbed41e30ad7befL },
  30478. { 0x1427f1fd6740f72cL,0xb4b5e7c93c475735L,0x6a374d1773029d5dL,
  30479. 0xc1e4bfdacd622400L,0x670b9e36c2686dccL,0x1bb236e08dd4085dL } },
  30480. /* 24 << 14 */
  30481. { { 0x84aa863ea4ee10a1L,0x24d805a687919ccdL,0x553f3206b5c399b2L,
  30482. 0x775b92173cc109bdL,0x25c01263fe384088L,0xa3c4418bd5f743cfL },
  30483. { 0x3d69705ddf91f1f0L,0x547d46269ebddad1L,0x0198ab1a2626cebdL,
  30484. 0xaf8320f285b1afe8L,0xb9c0968ce17e6efdL,0xfedc75c290215bb6L } },
  30485. /* 25 << 14 */
  30486. { { 0x1d375f7dcee34c76L,0x2295f8dbaa486096L,0xd18577928285cb84L,
  30487. 0x53fe6bd5e8c46c3bL,0x6f6cb6c068ba071dL,0x654ab4e8964e0f1bL },
  30488. { 0xc70857a9edf6aa40L,0xc313c7852fd26360L,0xd705a86a995998d9L,
  30489. 0x413d35efd6989c8dL,0xddc0b2070df131bbL,0x21f64be59c7d70f8L } },
  30490. /* 26 << 14 */
  30491. { { 0x8061d340143ff74dL,0x59e94fc6a23aa7b3L,0xf7c79a0b914c3b81L,
  30492. 0x5a836211702c6ae7L,0x2570d63c718123c3L,0x7e86d11ec9f5ce3cL },
  30493. { 0x80f03f9717bcce3bL,0x073975b1465a7446L,0x29f66de7cb357aceL,
  30494. 0xe87bd12c04894fb0L,0xfc501a2651a0b5aeL,0x20a3170c02207a3bL } },
  30495. /* 27 << 14 */
  30496. { { 0xaab1f0fa2785a18eL,0xa50192fdb37c657aL,0xe7073b27f0c8a908L,
  30497. 0xf3e0451b2c82fce1L,0x8237e128c290240fL,0xc1c631621bbf66cdL },
  30498. { 0x9bbcc2afb6639b7cL,0x07643d299bf0e0c6L,0xf7f070c7671c5be5L,
  30499. 0xb09a423a9870ac6aL,0x324503506656cda2L,0x4f404be80584abc2L } },
  30500. /* 28 << 14 */
  30501. { { 0x3ee52d8f5fe63bd4L,0x09f8405c7a7da77cL,0x35ce95c61881a757L,
  30502. 0x0a8cf9d9c13e3707L,0xe71258d548d2d3f6L,0xcf4fd6910bbe7c0dL },
  30503. { 0xbd6496e1fb9479f1L,0x711c669aab8cb3a2L,0xcbe8501358cfdfb4L,
  30504. 0x655c902b59275b4aL,0x7e0ff05b20f722baL,0xcb00031d42b17aadL } },
  30505. /* 29 << 14 */
  30506. { { 0xc568cee0cef0ae1dL,0x1b3422ca7a55aae0L,0x8dcce5058bb536b8L,
  30507. 0x12df74bee92759c9L,0x029abaf02ef962c4L,0x5d30b4359bb1240fL },
  30508. { 0xc62fe8e7d03a850eL,0x67da35b5b08dcab6L,0x6f4d4e75e8ca1131L,
  30509. 0x53d6fbf81bd5bf97L,0x596d850ceaa0b2c6L,0x32e918240e8d39b5L } },
  30510. /* 30 << 14 */
  30511. { { 0x3360ff11d54bf1a4L,0xbab994cb5c79494bL,0x953ad553757d7771L,
  30512. 0xf17f14f068b58ed5L,0x223615317523c422L,0xf0f05f965ebf0d49L },
  30513. { 0x3386676549182267L,0xf87eccc1ad71c3ebL,0xd7708e18913d8dcaL,
  30514. 0x27fe27e1b193eef9L,0x33376365cc45e65dL,0x599b4778d700ac20L } },
  30515. /* 31 << 14 */
  30516. { { 0xb118f73509ebb3c5L,0x7299c7844d0d36efL,0x409ef9cde10b249fL,
  30517. 0x040f91d0156401b9L,0x6b9fa5b107467a49L,0x2ede334334415300L },
  30518. { 0x0b3abc9c0edc8055L,0x58f850958ca04aa2L,0xeb0d3202e568b6a6L,
  30519. 0x5e57bb1a159dce4cL,0x8d3780e03b68641eL,0x78eb21a0d9f50517L } },
  30520. /* 32 << 14 */
  30521. { { 0xda643272ed068028L,0x86b52135a91fb87fL,0x23865a7c35b43943L,
  30522. 0x6ac015884606bbf2L,0x9660ab721559fb9aL,0x1fcb09e73ce2f1a5L },
  30523. { 0x62af29ab793d2f0cL,0xad5aaef53aee7efcL,0xee9f29b744c11037L,
  30524. 0xb2a19cf1d36c2571L,0xb87d88e265b552b7L,0xd8b4f172beb253d4L } },
  30525. /* 33 << 14 */
  30526. { { 0x6776241470c50124L,0x157c591f57d0eb9bL,0x99e1e2d769b4bcc2L,
  30527. 0x81c2b923a9d94ed3L,0xbdd9294fecbf3becL,0x3825c29a4c4fb135L },
  30528. { 0x431d9f26e915cc2eL,0xc4fb48afec1a4835L,0x97f426c09ada831dL,
  30529. 0x0be0cf81d5c48eddL,0x166ee4243d02771fL,0x810bb518b09de508L } },
  30530. /* 34 << 14 */
  30531. { { 0x9f4dd8185038ba67L,0x5ff1572801111ed1L,0x900d44f163de4d57L,
  30532. 0xa36c1a67d5db5e67L,0x2f01142e2bf5cea7L,0x1519ae1f59aefbf4L },
  30533. { 0x7b963d1f6d989fcaL,0xa5bb3cb85fce44e1L,0x61087c9672fd3285L,
  30534. 0xfb2fc6c1c597ef26L,0x5548e25c81e70a6aL,0xa6c53d67a229d7bbL } },
  30535. /* 35 << 14 */
  30536. { { 0x9d11a26ab9678e36L,0x8142106fbe07b082L,0x3c31548b322fda75L,
  30537. 0xa87215ceb7299565L,0xb5229b119ea80113L,0x7221a40f43ae700eL },
  30538. { 0x1ad48de8cc00aef7L,0xc4573660d266daa8L,0x1cb020a65761657bL,
  30539. 0x9e799be24588c895L,0x3d209df968561484L,0xa0fb323295fec6d8L } },
  30540. /* 36 << 14 */
  30541. { { 0x9292138a3acde05fL,0x7b23f51a50f9e7f0L,0x6ad891a1af59b585L,
  30542. 0xbd394db79654da39L,0xcb8c47315f7c6edbL,0x367bbb5d6d2d6e5aL },
  30543. { 0x8df2c759f51dd55eL,0xce0924d8e6c3517dL,0x49c46188097a8072L,
  30544. 0x47169f40980170a7L,0x56198937b96df7ebL,0x09572534531fb3b6L } },
  30545. /* 37 << 14 */
  30546. { { 0x04c18873d2eef240L,0x5752cce75106879cL,0x4b7fbe6bd9736e37L,
  30547. 0x7c7f1de4c85990afL,0x0cda6f07a2324ca7L,0x0894eafa4d80c28eL },
  30548. { 0x24bd95890ae7e6d9L,0x050d526aaba494a3L,0x4b05455ee583fb5dL,
  30549. 0x3b5fb27c6049bb23L,0xc7c9da6ecb5b411eL,0xc1f2528ebc38336dL } },
  30550. /* 38 << 14 */
  30551. { { 0x8b177119d62ff4b1L,0xb0c02e2783150269L,0xdbeee1f8428f9e51L,
  30552. 0x2a55661225ff00dbL,0xb4ebcf98cd0d526aL,0xc69f721fc0efa6abL },
  30553. { 0x0ceeceb516e29d31L,0x0bf4510127d1c530L,0xad942f1f42a7383dL,
  30554. 0x2cf389eb03b8fa98L,0x1aa647651ec6acf0L,0xf7ac647c202433b9L } },
  30555. /* 39 << 14 */
  30556. { { 0x880bfb2caa7fcbf4L,0x18c2b739731cd693L,0xd093ada3ae39b46eL,
  30557. 0xd48a288796c6fb7cL,0xed7c405daf96bbfcL,0x6b63b9ee256335e4L },
  30558. { 0xfd4795ec7ee8e89cL,0x4f3fa1ccb07320d6L,0xe16c594206b0078dL,
  30559. 0xb8c95b563a0b2914L,0x2b5b5ab42b337970L,0xcf612b4cb9f75ea9L } },
  30560. /* 40 << 14 */
  30561. { { 0xbfe63081596eecd6L,0x20eb6fb0a3a194fbL,0x4497ec2b8751a73eL,
  30562. 0xf90e9e4cf88ba0e5L,0xd5a9c5d55974eca2L,0x9fc120ade4f3e171L },
  30563. { 0x9ae058a633330640L,0xbda3227855bc8aaaL,0x7851cdbc1c9688a9L,
  30564. 0xf68d7d9e1d950edfL,0xc89c645074e06425L,0x62406f3b6116d386L } },
  30565. /* 41 << 14 */
  30566. { { 0x1094390070e509fdL,0x0a8e3db09af61ad1L,0xa487a61538d7aa57L,
  30567. 0xa9d56bc5ed020b3bL,0x7ed2294f638b35f8L,0x53d6870dc95fb42eL },
  30568. { 0x85e828494c2207d7L,0xf88831baf0556be9L,0x64a547979fe416c3L,
  30569. 0xd61b652e779bebaeL,0xd3f43e2f2c0ccce6L,0xd5119f341f680ab7L } },
  30570. /* 42 << 14 */
  30571. { { 0x466f42a1191938bdL,0x95ec31c036f1dae5L,0xa7f350d2feaa8b55L,
  30572. 0x66434577555c505cL,0x0c668e73f55d1ca4L,0xd6af5ba4a7bd7449L },
  30573. { 0x581e14ac1a79d8c9L,0x9761d9763054e915L,0x928e7415d69220a6L,
  30574. 0xc5bf4bb405bc4a22L,0xad033b7c45d52313L,0x4e67962c75d66dc7L } },
  30575. /* 43 << 14 */
  30576. { { 0xc60e17b2e2300049L,0x731c2fa54107f308L,0x848f6db7cc2982b3L,
  30577. 0xf251c21085275d38L,0xf5cac5b2128c8a96L,0x3c012933405b27f0L },
  30578. { 0x9b0a61520b8b15b7L,0xb1c32dc691fa4548L,0xbe7b7654f366d677L,
  30579. 0x7e1f33277147a660L,0x11e31a0eeae310bcL,0x3edef63c1b86b525L } },
  30580. /* 44 << 14 */
  30581. { { 0x6f7e7259c6334c8cL,0xe34cba49b4f2333bL,0x157bf099211d08c5L,
  30582. 0x9e39c5442988a4daL,0x796ed9f17a998311L,0x3f4da896d8d349e6L },
  30583. { 0x8ab75656fab28acaL,0x3e215d5342d14b21L,0x50008fd7bec23301L,
  30584. 0xd6ee4853446e2c56L,0x203ff1c880da14bcL,0x27a4bfbbc333ba74L } },
  30585. /* 45 << 14 */
  30586. { { 0x745e69dfb3d54e52L,0x1ab2a03e7c405cbfL,0xda71141e0bc431b5L,
  30587. 0xb3a47e71aafa7c19L,0x5329594fa88a4905L,0x489b5928973aba07L },
  30588. { 0xbe31a4d37350ad6dL,0x177e5285478a42a4L,0x45a101bf848eba6aL,
  30589. 0x4287dfd949936d31L,0xbc4c491dc82823c9L,0x87c816aaeb8b8055L } },
  30590. /* 46 << 14 */
  30591. { { 0x66f5337cf309ced6L,0x897cbcb9eb5ed3cbL,0xeffb601762c35fd5L,
  30592. 0xb4b702f081fd31f3L,0xd5203833f66f6120L,0x1d2d5ef318a84d91L },
  30593. { 0x22f9fae70edb3857L,0x034197b3cef00765L,0x16d8c6b493643908L,
  30594. 0x90ac59e16c51708bL,0xbed18da32edffd9dL,0xc90ac893e750df1eL } },
  30595. /* 47 << 14 */
  30596. { { 0x4a0af827bdb07e48L,0x5588631e131f46ebL,0xda550ce1e503169dL,
  30597. 0x0e16b540f2cf2f14L,0xea19a70dc79930abL,0x5654aa5fa8925651L },
  30598. { 0x2f1a14906104f9c7L,0x98420d6c654cf319L,0xf967467f3ca96df3L,
  30599. 0x6abe4e32dee1fc07L,0x913bdf2bbd07d17cL,0xf96f70eda8ef9068L } },
  30600. /* 48 << 14 */
  30601. { { 0xa0096d10b7f8286aL,0x493e88563015be8dL,0xa221d57c17f70125L,
  30602. 0x4f932f4fe425eb77L,0xf0fa00df78ddfe95L,0x68165f257866f01fL },
  30603. { 0x01345af4b1693425L,0x3fc8d3a6bad5603fL,0x4269006f0bf46cf5L,
  30604. 0x96e3b6b77e340ce9L,0x2a4bda69df7c68b7L,0x9649d8b91b6574c2L } },
  30605. /* 49 << 14 */
  30606. { { 0x98f55e59112ef290L,0xa5516c3568909cdaL,0x40407393235165f1L,
  30607. 0x6eeeae510991970cL,0xae79ce1faaa6d26fL,0x8bc719b441d43f67L },
  30608. { 0x4a7af92a39cc89a3L,0xf6d14f9a85c8ab12L,0xb9bfca97eb8d4851L,
  30609. 0x926b8155cd52b2f3L,0xdd17dbd48fa94f9fL,0xaf68726447cac5cbL } },
  30610. /* 50 << 14 */
  30611. { { 0x39d7c1729517c2c0L,0x6f795181166e2f50L,0x9f6ecb5dc0ad8b54L,
  30612. 0xb480afac8e75ce4bL,0xf51569203dd5ad07L,0x87c855e73799b80dL },
  30613. { 0xea8c34d9538ebc9eL,0x67bebb6a957b303aL,0xc6511b7b4dfc6d7bL,
  30614. 0x9a40cf5885b02ee1L,0xf4fffbbdecc59a6fL,0xe85a7c115cebfbcaL } },
  30615. /* 51 << 14 */
  30616. { { 0xffa0118c4a33265cL,0x4c4051d583e0bb83L,0xcde22f8d7007d078L,
  30617. 0xae9ebbc2932cba29L,0x297c2252f7a82223L,0x662814f41a09fbdaL },
  30618. { 0x3bfd965640be805aL,0xe49901e592acce09L,0x4e201930bbb6bb43L,
  30619. 0xfe94eb4dcc018aa2L,0x454d8c611dcf97a5L,0x11d8e3a230f1011dL } },
  30620. /* 52 << 14 */
  30621. { { 0xe745ee2c36cc8b1bL,0xb40c94e6e328c813L,0x4144aecd8bd107b9L,
  30622. 0xc35567890ea88fd2L,0x017460e30492a810L,0x0c63cd4410b8bea1L },
  30623. { 0x9123e9a3c890f74cL,0x940fe6590cea499cL,0xbe306232c82e1bdeL,
  30624. 0x40544f6bc041d7ecL,0x46de1f3b477a7dafL,0x336551f6951f1295L } },
  30625. /* 53 << 14 */
  30626. { { 0x2a61217a09b3b9a1L,0x0736704635b71125L,0xfddbf1933df24d57L,
  30627. 0x33ddabcb4592d748L,0x2fa9ff8a25309e3aL,0xdca2dd2892a0e76aL },
  30628. { 0x706350255dfbd02cL,0xe01c2553b6306b8dL,0xb14132905e91ddecL,
  30629. 0xf45221866f6de6fbL,0x2d48d001b440319aL,0x926e9b64fe67f843L } },
  30630. /* 54 << 14 */
  30631. { { 0x5580401264e2c160L,0xe154925a9a6c256bL,0xce2df32922260b79L,
  30632. 0x74824410c546d756L,0x2a1d0a5f79887083L,0xa2c040c5da3f7d48L },
  30633. { 0x74058ecbc14f96b8L,0xe69c09d73415e476L,0xe5a93bb47a443fc0L,
  30634. 0xe1bb24800c31d7b0L,0x4701d669f4ab0610L,0x0ad815841eeb23e9L } },
  30635. /* 55 << 14 */
  30636. { { 0x823cd737d72b5925L,0xee09efb9fa38cb06L,0x6828dced4a21e81eL,
  30637. 0xab67b37bf365e481L,0x3995edd2b5a7c630L,0x4c24ac8806930b7cL },
  30638. { 0xfd7264d36dedce0eL,0xdcab1e333e76fe1aL,0x6b40889a89a94f97L,
  30639. 0x7a1fd432b2a3b0e3L,0x121efaea3ffe933eL,0xa81f6c6f843c3553L } },
  30640. /* 56 << 14 */
  30641. { { 0x26301455e5488aceL,0xdf39099881a20dc7L,0xac7d6049ee06c7f3L,
  30642. 0x547e8df33f248fe7L,0x5fc4b74213743dceL,0xa97721bc4c398630L },
  30643. { 0x6b7877cc258aea47L,0x1cedce562d5c28d6L,0x7e930e419428d66eL,
  30644. 0x42c80757b97faf54L,0x091fe5ab3812e632L,0x2c29fd42e2e359bbL } },
  30645. /* 57 << 14 */
  30646. { { 0x2d9e65a61d7b990aL,0x8a9ab4bee2a8a6a9L,0x8658c36985e3eea6L,
  30647. 0xf352787df0de0b23L,0x872db1de1161aa92L,0xf2648c972190acbfL },
  30648. { 0x9a34f1d09de72e41L,0x13860f846c086516L,0x2e9211b824127c21L,
  30649. 0x4e1623bba3697c37L,0x41d71f1df579c733L,0x33f0ebf7ca9f68aeL } },
  30650. /* 58 << 14 */
  30651. { { 0x9b51f4ca9f5a40c2L,0x38b59573682e2132L,0x5765e89dc556998cL,
  30652. 0x102fe894698a4a8cL,0x0bbcae977c6964d6L,0x8548f2c6dd7bb12cL },
  30653. { 0x32c11ed9e49848d9L,0x1ee1b525135aefc2L,0xade5d14e812a5e4bL,
  30654. 0x0e122e7e15bb167bL,0x321594d4ec5c3594L,0xbcea8723a7c02afeL } },
  30655. /* 59 << 14 */
  30656. { { 0xdbf91edcaf87c75aL,0x9710003266582706L,0xb10cb32b1133a7b3L,
  30657. 0x70f5d71767e068daL,0x8d937e56b8e0c9a2L,0xd8a2652ee2a9afd7L },
  30658. { 0x94d6cae9cc90c6ccL,0x3512f3abe94f68ffL,0x931ea6f09331ad40L,
  30659. 0x71621013daa3d4f1L,0x591c40bfb668a992L,0x5494cc174c6868e5L } },
  30660. /* 60 << 14 */
  30661. { { 0x7981826070ececc7L,0x8cc0b6e071cfc0e1L,0x998df6590276a6bcL,
  30662. 0xffb5bec11a43be05L,0xb93b1543f2beb640L,0x337703d456f3719bL },
  30663. { 0xce74c17cd40a7375L,0x6aef79cab1aece94L,0xc5bdfb388876d218L,
  30664. 0xf71ce9cccea91445L,0x471cdbd1ed6e5f5dL,0xe0cc79cf10e56c08L } },
  30665. /* 61 << 14 */
  30666. { { 0x2b17e181794ebe48L,0x6111c897f28cdd32L,0x4d59199062dfeee5L,
  30667. 0x7b9d070241b14904L,0xa1ad534d5fea4804L,0xc08915d953b16c22L },
  30668. { 0xa57c883e8ac9ddedL,0x589474dcda1d1bf0L,0x31cbf32ce9aa8e7dL,
  30669. 0x2abe9b60f0930d84L,0x604731b0cbdd031aL,0xbc35b1e4e9e1b3c1L } },
  30670. /* 62 << 14 */
  30671. { { 0x39300d55efeff954L,0xa9cf57f34fe9cffdL,0xe3315321b15aebbdL,
  30672. 0x26354c57b840b080L,0x2c690488476abf35L,0xa7303fe6d480cf33L },
  30673. { 0xa50865295706c3b1L,0x4c26034eed0b2342L,0xf08d67be9ae9c452L,
  30674. 0xd4dbb9f5046c7d0dL,0x4435f1a3f9e5393bL,0xf47aae68cd4d5de8L } },
  30675. /* 63 << 14 */
  30676. { { 0xce9e5ddc06d5f48bL,0x22c1cd3e0ef642baL,0x2ad48eb9e9b8a960L,
  30677. 0x330074883ce26679L,0x495e62428d2de642L,0xcba5bf37e03b1a77L },
  30678. { 0x9382c92de716624dL,0x410d212350a33e4fL,0xe55ee116e953e7edL,
  30679. 0x27e9a0584b840616L,0x560a5e4939473bd8L,0xbc1e795b382f3a95L } },
  30680. /* 64 << 14 */
  30681. { { 0x31bdb48372876ae8L,0xe3325d98961ed1bfL,0x18c042469b6fc64dL,
  30682. 0x0dcc15fa15786b8cL,0x81acdb068e63da4aL,0xd3a4b643dada70fbL },
  30683. { 0x46361afedea424ebL,0xdc2d2cae89b92970L,0xf389b61b615694e6L,
  30684. 0x7036def1872951d2L,0x40fd3bdad93badc7L,0x45ab6321380a68d3L } },
  30685. /* 0 << 21 */
  30686. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  30687. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  30688. /* 1 << 21 */
  30689. { { 0xc5cf8997ce0b5b72L,0x350adde19d7154baL,0x8139681e307b254aL,
  30690. 0xcc87fb5775cd94d7L,0x90e7027478684954L,0xc4fdf4c095ceb991L },
  30691. { 0x91bbc0ab8762c84cL,0x5e09e226ce09e8adL,0x1cb83d704b93d45fL,
  30692. 0xe2299024f541da1fL,0x3eef7ce14b7ffd10L,0x53ee63bbb3fc1b9aL } },
  30693. /* 2 << 21 */
  30694. { { 0xe5004e8003682f59L,0xccdb9cb7f642ac0fL,0x405f50d1bd869f77L,
  30695. 0xecffa54de7ebea2cL,0x3354dc22d87620baL,0x01bb2988b1c01ff4L },
  30696. { 0xd9370076e16477fdL,0x45303d2a2e71ba4bL,0xc0de76273291e5c5L,
  30697. 0x5cfebd87f0a7ca55L,0xde1162809e592a30L,0xdd26e577a78ebce4L } },
  30698. /* 3 << 21 */
  30699. { { 0x1e9b23b9ff1735a8L,0xc3bf3d5b2b0e4b7bL,0xd4cc00fe59b7721cL,
  30700. 0xd5c36f9c9e2f4cebL,0xdeca06bac90af70eL,0x42676f12416ee799L },
  30701. { 0x0d7afe1b6f748c6fL,0x0b7a6de539c39d55L,0x11e43d6ee6eaed18L,
  30702. 0x5baf8602496087e0L,0xf833634fb1a3a66eL,0x25098c8a79398677L } },
  30703. /* 4 << 21 */
  30704. { { 0xe141e763d4720770L,0xb9739e70ddb3b450L,0x46e6cde496131446L,
  30705. 0x0458a5d5cb6c2ef7L,0xb7747634532f9fd8L,0xf62d372116544457L },
  30706. { 0xbfacb4ded3100854L,0x70788a31b39d3f62L,0x9b543220f22d92e4L,
  30707. 0xaa4590f655723258L,0xc7b6730e01ddb8bcL,0xae252cf869e1e7bdL } },
  30708. /* 5 << 21 */
  30709. { { 0xc618cf0ddd4b8d8dL,0x471cda8640dcfbfbL,0xba0dd7ac08882ce6L,
  30710. 0x58e5d2f56cd336e7L,0xcdda8301af096540L,0xf6d268463cf31600L },
  30711. { 0x6150cd982197efd5L,0x4440fbfa55fb0877L,0xca31871c90757f1dL,
  30712. 0xc4a1faacbdd756c8L,0xc9d4ac1bcbb8421eL,0x3c0c2914b17c43beL } },
  30713. /* 6 << 21 */
  30714. { { 0x46fdb65caa6fe9eaL,0xe0d48e5e05494cd9L,0x5adef5704afbf837L,
  30715. 0xc96ba4b91c9e2cadL,0x1e8158f7054a158cL,0x47be73209e38b88dL },
  30716. { 0x9b99971e6d2993ecL,0xac9b0bfadf980eccL,0x9da09642d96ca391L,
  30717. 0xd67105369bf4305cL,0x40cc1adfa0dfafaeL,0xe27e32f8a209699bL } },
  30718. /* 7 << 21 */
  30719. { { 0xeaaddeb836e87d82L,0xc12587a71ffd7210L,0xf93d2f5c731f6838L,
  30720. 0xb96594e8f7097a65L,0x08d6717ab016e8d3L,0x9c378de81984d825L },
  30721. { 0x627d41e7cb2a0c26L,0x1f447501c697ceb1L,0x8dc40831c760550bL,
  30722. 0x70ad48707fac97b0L,0x5ac7f22e7021c170L,0xa6f730e4929d5931L } },
  30723. /* 8 << 21 */
  30724. { { 0x7d27d71fd186cb09L,0x67cb7f4e3bc213c7L,0x418cafeb6075b2cfL,
  30725. 0xc0d691e6d93a06f7L,0xc16a95259dd001b9L,0xa0583230026f17b9L },
  30726. { 0x4c1041b07845900bL,0x2874079147a22aaeL,0x8d08efd62c1758e9L,
  30727. 0x9cc6f207e6c3229aL,0xec69e902082d8924L,0x9cfa1deaf331dfe7L } },
  30728. /* 9 << 21 */
  30729. { { 0x7b5ab2afbce81cd9L,0xd25fa34b12028b49L,0xf9d65e6b63a659beL,
  30730. 0x6f88f1ddfffb943cL,0x38eb0d02b871cd5fL,0x732afedc558ad949L },
  30731. { 0x4093ab05367d424eL,0xf73b23ad29de1be7L,0xce1c0093e7a50181L,
  30732. 0x6d05cbbe1e412cb9L,0xd3c1148b773a394cL,0xe04b5fdd38e50316L } },
  30733. /* 10 << 21 */
  30734. { { 0x1793535b8d0ce0f4L,0xe9b054b1ab73f7daL,0xd82a3ac1ee7bc6e2L,
  30735. 0xb28ad846b847f39eL,0x40975fa2fc10c012L,0x8de998619aafe68eL },
  30736. { 0xa73f442584878534L,0xbe3118cb7a36a0d7L,0x3763a49e8fa37fc9L,
  30737. 0xf3f8ef82361f32b9L,0xea66f9978c1aebc4L,0x88600d648d9d024cL } },
  30738. /* 11 << 21 */
  30739. { { 0x11f842ca150a3325L,0xbae115c3185a385fL,0xddf9643637561bb0L,
  30740. 0xecea0cd9a4115fe4L,0x297720665893a694L,0x837e6880df408cfbL },
  30741. { 0xfeb8f511e0a7fb68L,0xd21869dfa062b60fL,0xe2b60f46ca6a5e72L,
  30742. 0x64bbec184931d188L,0xfb09c90fe3ef3378L,0x67cbeffacd767337L } },
  30743. /* 12 << 21 */
  30744. { { 0xd35832381b289f6eL,0x10dac54a0aeb3bcaL,0x4df1c08d6692339aL,
  30745. 0x2968edec20054647L,0x34072618d74235a4L,0x00b4a7ae71d6064aL },
  30746. { 0x23a8900e25c23f8fL,0xda0cb7fad7d0f1b5L,0x266211c56c8ecdbbL,
  30747. 0x0a4351b97bc27e4dL,0x98d54c97fc234258L,0x5ba534071e1a4dfaL } },
  30748. /* 13 << 21 */
  30749. { { 0xf07cfcdd77f083bdL,0x89bcae29d46712c6L,0x2089c3ab0f09bb8bL,
  30750. 0x3ede5a2a6b9a4028L,0x27ee18fe013066deL,0xc2bebbb416fcdda3L },
  30751. { 0x6b3926af3a87cd68L,0xf52f0ef9f9a7b831L,0x4a39660a1ffc01b2L,
  30752. 0xe98f718d91aa6719L,0x8b0626f111d48e8dL,0x4a6a2e5b2bd93db3L } },
  30753. /* 14 << 21 */
  30754. { { 0xc3ddb6123ef24470L,0x98b66569bb3f99edL,0xccc537153a97a015L,
  30755. 0x0d9a6b4d04937b8cL,0x854d081ad9a575f7L,0x347bf0c0127fbd90L },
  30756. { 0x6baa47a5c30987f1L,0x164b390dbfd0b503L,0x6672d1afe6a1f565L,
  30757. 0x9a50ee5828d5bb14L,0x2e23ab480d0226fcL,0x33eb052365cdbdbaL } },
  30758. /* 15 << 21 */
  30759. { { 0xa32d1a27d904eb73L,0x6fcad8d0c43c978dL,0x8cf1e7a19c0842f5L,
  30760. 0x2a6fa6d800328ae2L,0xa5905f67a1e3b06dL,0x458c8badaa8df96aL },
  30761. { 0xee5b20c0b0d4b89bL,0x352ae0c4815c1af8L,0x546a7d7e6dd73b70L,
  30762. 0xa99882225f753229L,0xa38eb5d7efde47e2L,0x8290aaed92635ab1L } },
  30763. /* 16 << 21 */
  30764. { { 0x8ec4335fabe7c60eL,0x01f198c10a6a9fb5L,0x3ff96de001141ab6L,
  30765. 0xb21acc2c2eca98a1L,0x6154849010fdf648L,0x2c01a99cd1403e8bL },
  30766. { 0xf1a35f306fa509d7L,0xf7715fe3e3f08e9fL,0x89c26c077fc9a752L,
  30767. 0x8d2535fe420d48a0L,0x80ec5ddd52fe2e73L,0x041b8df071704f39L } },
  30768. /* 17 << 21 */
  30769. { { 0x96882074659a0a12L,0xdb0d63032a6bb752L,0x2a1fb2d740c2194dL,
  30770. 0xeb6b45ba2c184444L,0x10ee44368c179d33L,0x906d0e509391917fL },
  30771. { 0x11bead88ca3bcba2L,0x25914dae4253fb99L,0x0445b31013c25404L,
  30772. 0x2a2eac6d515f53baL,0xa746a1d662bf0a11L,0xc7576a4c6573c4f1L } },
  30773. /* 18 << 21 */
  30774. { { 0xec159ed060c5bee9L,0x80282ff007746414L,0x8d53f05f40a97a54L,
  30775. 0xc92d8789f5d4eedeL,0x1edd798132344c09L,0x3bb9a444a92c7b36L },
  30776. { 0xbf130f5cdd6c8903L,0xd270e7cf676fcab9L,0xac49744bdc5ae6f9L,
  30777. 0xbd0ccfcb40e39281L,0x222efa16a981b3f7L,0x92bcd2d700aeeadfL } },
  30778. /* 19 << 21 */
  30779. { { 0xecfdb91489c73e10L,0x83a5168becffe79cL,0x6a0d57c123e97ffbL,
  30780. 0x774121ca4b130cc3L,0x8556fdc5486967a6L,0x1249448d5fe4a7f5L },
  30781. { 0x8c2c14440e93c114L,0xcde258573bc68985L,0x697ba7b0952758a2L,
  30782. 0x0d962b377aee19e3L,0xdb31fe8582c4c640L,0x6ecfaf36c89b4b85L } },
  30783. /* 20 << 21 */
  30784. { { 0xf1e8c5a0e06b40eeL,0xa55909fe59836af3L,0x77a13be8a3a4ed95L,
  30785. 0x47408650bbbcde0aL,0x95b455c2b4fba7b7L,0x4983f5ca4321117aL },
  30786. { 0x37bab5d1e18d304fL,0x0edf3733f1d29206L,0xe23e4db4dab91670L,
  30787. 0x602a5265923ab7c4L,0x53ee98c6eb920a03L,0x1b592b626f25489cL } },
  30788. /* 21 << 21 */
  30789. { { 0x66c981d9d3543689L,0x20500cd7bb8f53bdL,0x807d43605179af77L,
  30790. 0x7280a7b27c286404L,0x75a74e630976a65fL,0x2ba9ad9df11c3bdfL },
  30791. { 0x23f38f950ec6c760L,0xcad599102b858cc1L,0x4d9adb7efec23c19L,
  30792. 0xbabb6e45095e85c5L,0xfab66a97e5dac2e4L,0xcde4b15a08baf1f4L } },
  30793. /* 22 << 21 */
  30794. { { 0x148aad3207089d6aL,0x3ab5b0790303c267L,0x7d13995bc3153026L,
  30795. 0xeba27c192287f305L,0x5faa453367ae45bdL,0xbbb561db2f4e9488L },
  30796. { 0x254d8977c8493163L,0x60d468fc5c544164L,0x0b6309a3a2758037L,
  30797. 0x8480e16b1f9add24L,0xf1d99fd2902ec661L,0xd32df254cb6dd6f4L } },
  30798. /* 23 << 21 */
  30799. { { 0x9a17f5c3610178b9L,0x75dded80bada5aadL,0x158249c23dbeb289L,
  30800. 0x1d0671cac300cf49L,0xa1649bd0886902f2L,0x79b0d6ed7d13be62L },
  30801. { 0x78253e7549e2327aL,0x5629cc509af110ecL,0x4373a20059f8765cL,
  30802. 0x739f33289d9c5f3aL,0x3c7d5cfe9a5f997eL,0xf044d90d0559357eL } },
  30803. /* 24 << 21 */
  30804. { { 0x20aa15d97ab838e6L,0x6cefdd5a0c827ed1L,0xe2f205caef579e8fL,
  30805. 0xad27e38b325981bfL,0x087b8284c3438be8L,0x2095dfcf422360d9L },
  30806. { 0x87cdf5ad76d096bfL,0xf1b97ce1e022adc3L,0xa71240c189104665L,
  30807. 0xeb5a175c9c1578e8L,0xbd66910ad150ffa2L,0xac277af811459a28L } },
  30808. /* 25 << 21 */
  30809. { { 0x7db4df62417fb54dL,0xf6c1e7f04dfb7c05L,0xfdcbd3777aa8ceb5L,
  30810. 0x0364b3bd89c24333L,0x8a721718fdd3dcafL,0x9a6015dcec2848f1L },
  30811. { 0xd6571930d35ad1a9L,0x154a929199369196L,0xf3be7e228e514732L,
  30812. 0xfa3eef28b7fd3aacL,0x0bc3b2a69f60d298L,0xf6327920febfca58L } },
  30813. /* 26 << 21 */
  30814. { { 0x3b9de1baf8dc6030L,0xacc4224a2107fd1eL,0xa7d32fe86dcef0d2L,
  30815. 0x353d5e88dd83fb28L,0xd552c3ce50bfb0b2L,0x69bc0e686cc8ee7dL },
  30816. { 0x965c0ca21d9c74d9L,0x5cd163a406ac3ecdL,0x57910a828e98b581L,
  30817. 0x1d0fa7523d992afbL,0x862d3184e7d12701L,0xab6a288c6c7d161aL } },
  30818. /* 27 << 21 */
  30819. { { 0x04caa9caf4f2b3e9L,0xcdb896141af43dd4L,0xb09444fd4e74ee8bL,
  30820. 0x9428849fec05d35cL,0xe29bb0e94765c0e5L,0x138c45f176d25d2eL },
  30821. { 0xbf041131a0184d83L,0xaf321573991ddc4cL,0x058760a8ef31df7dL,
  30822. 0xe0b94b57f80dcf5fL,0x75572221850a4a6eL,0xc735580c104a4a1fL } },
  30823. /* 28 << 21 */
  30824. { { 0x9ba102f1a6b735daL,0xe073232edfbe7d06L,0xa8ac24ba57266a16L,
  30825. 0x07458ea42d5c4bb0L,0xfbdd0f0574868e1bL,0x73fa612a3921fe7aL },
  30826. { 0x26f6714b0b32d8e2L,0x7a3cb2b48bceb95eL,0x756a68c6290f204aL,
  30827. 0x148fbb787fdf2b7eL,0x639ece6c57fe0da0L,0x315aee1e9a92b7e7L } },
  30828. /* 29 << 21 */
  30829. { { 0x22dc170769d10661L,0x8d89cd1c71fd40f7L,0xa22f11bfa2545040L,
  30830. 0x1247d019d44c2446L,0x8d17daaba08235c7L,0x7e6863b9fae7874dL },
  30831. { 0x6d57431c0490d338L,0xc1459e61809d1f9aL,0x4eb14dce95b64852L,
  30832. 0x8d3a04e6a7b5a861L,0xfed631ee7bfa24a7L,0xf8f86f27af11723bL } },
  30833. /* 30 << 21 */
  30834. { { 0xb43b14146e63c833L,0x497a5f98c1ec160aL,0x112223de83eb3709L,
  30835. 0x293964a88d100b9bL,0x6db1d1931e3b2db3L,0x264bc83d71eced39L },
  30836. { 0x8418eb43aa89c967L,0x51d41bff76f8620aL,0xa4017ee5cc416467L,
  30837. 0x1cc527231e216e36L,0x76ba536ce8069a6fL,0xa239b54acb77b981L } },
  30838. /* 31 << 21 */
  30839. { { 0xa05f2dbc37544476L,0xf18dbcd71b797f65L,0xc78131376d50cd5eL,
  30840. 0x2b509a4d6dee11daL,0xfc0f0584beba1b6aL,0x3282624a9d53bd6bL },
  30841. { 0xa0944e5c16b7187bL,0x468a79b8aa2f99e9L,0x32e4644b38bc4ed9L,
  30842. 0x5bc375d7e7cf71feL,0xe18e3c0956617861L,0xbce9ccbce69255bfL } },
  30843. /* 32 << 21 */
  30844. { { 0x498808edc65fafceL,0x3676a7cc4e806bc3L,0x796e25f176c6b964L,
  30845. 0x1aced64bac474261L,0xa62470fc29a460c1L,0x77501dce5e751e48L },
  30846. { 0xcc00053b6d9e3641L,0x2b5bc4ae9a3f5a0bL,0xddaccc2e3f9ca178L,
  30847. 0xad33f34a0b80d1b0L,0x6a76df9364642225L,0xc145f36f778e761bL } },
  30848. /* 33 << 21 */
  30849. { { 0x377fc5ac575e74f6L,0xfefeb2327736739fL,0x62ba076a9fc2d5c5L,
  30850. 0x6f3c6084baf0269aL,0xce2917688fa7c145L,0xa60bb8905b3f2333L },
  30851. { 0xa811055dd900095aL,0x92d95e7b385bd4f2L,0xba54f444d33c2a43L,
  30852. 0xc1b131327d12754fL,0xdcdb54821556f5e3L,0x55377fc539ca4b94L } },
  30853. /* 34 << 21 */
  30854. { { 0x455f65d1a0cbee78L,0x554eccb566225edbL,0x306400b47a4e014fL,
  30855. 0xef3e02eb7b67025aL,0x7d4efbaa997a633aL,0xd43c6eb8672c90b2L },
  30856. { 0x0ed2d88d7519da07L,0x864377854b9d51e8L,0xd5900a2e2e3ab57cL,
  30857. 0xc02f046b69bb0a39L,0x06d825a6bff12faaL,0xa12e5b0d5d3ac267L } },
  30858. /* 35 << 21 */
  30859. { { 0x1716be5ba10508b4L,0x8706acbe7e37fbebL,0x3881f54e44e3d127L,
  30860. 0x54e20622a864d77dL,0x26a194616b83325eL,0x0d57be814c15a8f4L },
  30861. { 0xb10c0cd07b53b476L,0x3d016ea097d39c64L,0x4d7df7c15315bdadL,
  30862. 0x6fe5a1acf060cf4dL,0xd5e3d05396846b79L,0xebc878f79e3c8028L } },
  30863. /* 36 << 21 */
  30864. { { 0x5b849ed8d0d193acL,0xe983abf773950501L,0x5ca162770854a569L,
  30865. 0xb0b284d26904bdceL,0x9c769d269d4fadecL,0x98e5e9b912677284L },
  30866. { 0xd9246836b557f2cfL,0xbd47433069d46374L,0xbce8b27b9b063a22L,
  30867. 0x08da2eca37c5ba26L,0x9e742de8d4b26479L,0x643b752c102aa36cL } },
  30868. /* 37 << 21 */
  30869. { { 0xb72fae566fad22d5L,0x1e921426cf2fd62bL,0x9f31293d4c225102L,
  30870. 0x78d43a621975afbbL,0xce2787303cfee30eL,0xb88590d77a82613eL },
  30871. { 0x42f86567560b932aL,0xc2d98915a7c9ed68L,0xe70e41fb349a9750L,
  30872. 0x7e7fdd2c79f9582bL,0xf3d6ab07da737c0bL,0xba247c0b9f3cf823L } },
  30873. /* 38 << 21 */
  30874. { { 0x4bebaf153dffdbd3L,0xc37d4a04fcc967a6L,0xeabab9aca0435a65L,
  30875. 0xf23d1d58f9ae9c52L,0xce229a798cc8f7b6L,0x4a61e6ebf5e11e61L },
  30876. { 0x770e1dc6b20f2d8bL,0x199d20e8cfb9e820L,0x9fd709c4c381a22bL,
  30877. 0x6f53a358b1d52a98L,0x4b1a018c66f511faL,0xc7d2d49375d3a666L } },
  30878. /* 39 << 21 */
  30879. { { 0x3b2db5e5550791d3L,0x034ed5665bbb686eL,0xf019f161e033e3eeL,
  30880. 0x33198653acd2f0b5L,0x368d89e41ee8273cL,0xa7ac3b507f26daffL },
  30881. { 0x73d8d7df006c0037L,0x98b5937de73cf271L,0xc3bc340be917247dL,
  30882. 0x799ea890e45f37afL,0x27be0f5a25e8dd2fL,0xd70ec41c3bb16923L } },
  30883. /* 40 << 21 */
  30884. { { 0xd30302352679072fL,0x73dfdc0f95dad4c8L,0x53649b575c4630f1L,
  30885. 0x60197fc08d098d74L,0x9c295d54647f5cbcL,0xfa5f1bc6c0813efcL },
  30886. { 0xf6e08007d2e49417L,0x4f7d4b3dab579569L,0x7af3e08e11d9b388L,
  30887. 0x073ec38a5db61c65L,0x9b480cb89db4dc4dL,0x9be2ce7e372fa82aL } },
  30888. /* 41 << 21 */
  30889. { { 0xd87c0b55ed1b6d83L,0x3b47443adfae29cdL,0x16c5b0e52147bfdeL,
  30890. 0x98812fd0663cbdbcL,0xe3cea04955ffe911L,0xfc1e9d9cc5df31caL },
  30891. { 0x7ffa90f9902c4ab1L,0x2cf973c3669a857fL,0x89243cfc94b109adL,
  30892. 0x222d6fdb536ee544L,0xa48b1b15fd488c22L,0x7120e3f0f318ba27L } },
  30893. /* 42 << 21 */
  30894. { { 0xfbb8a3cd47813054L,0xa2d7255d462ac3f3L,0x341bc10babdfa7adL,
  30895. 0x01efa884ceb9ea50L,0x30fa0f903f5bd09cL,0x8aa309453abd108aL },
  30896. { 0x0ab7fe23f9ecab6fL,0x0585f72a5ec032bcL,0x686a7d71cf9f4fcdL,
  30897. 0x096bbf04f769be8dL,0xa309931250b64584L,0x67be53402e216060L } },
  30898. /* 43 << 21 */
  30899. { { 0x4e14fa6eef252e90L,0x2ca968579b7db6f2L,0xf80772e3653f1662L,
  30900. 0x4f89e666cd28bb05L,0x7fa800cc77eef62eL,0xa3f6ef5963b2f3e2L },
  30901. { 0x438d564bc81e600aL,0x8978912de14c1434L,0x33732892ea695891L,
  30902. 0xaf6aef0b1dc8caceL,0xcbf9580b7c509cb1L,0x2db9fbc11ed6fbdfL } },
  30903. /* 44 << 21 */
  30904. { { 0x408805a1fa7052bdL,0xe4eb27f75f825c13L,0x0a0cc8fa37ee34a7L,
  30905. 0x737b99a40c59156fL,0x78c2a5d8e1b55c30L,0x89d70b62bcbb2196L },
  30906. { 0x07ad36911e862a0fL,0xaa1c9118c41cc693L,0x7e6f544c4e1f7359L,
  30907. 0xa5f4f5891bf9474fL,0xa711efd9ef56df82L,0x0428edb7e3de91fcL } },
  30908. /* 45 << 21 */
  30909. { { 0x67f403610905be0fL,0xffe68b80c12178bcL,0x41bef79ec6a673aeL,
  30910. 0x347e8ba81bc77376L,0xd49956d60e589da2L,0xadd54508fed84dabL },
  30911. { 0x18868a4a462749f4L,0x2048cd88ed323e71L,0x7b27932aa28d1f02L,
  30912. 0x3cf6107412e4ddccL,0x0f6198631360ecc5L,0x40e5e08b1330d33bL } },
  30913. /* 46 << 21 */
  30914. { { 0x79b68071e3ad573bL,0xcb070412723966f5L,0xf4610fd1964b453fL,
  30915. 0xfdc9dbbc8bcee838L,0x3e191f3bb5ca4f20L,0x90d85084c02e0af0L },
  30916. { 0x4e3f57a70ee64025L,0x63f339acdea07a5cL,0xf255b5045eb4081aL,
  30917. 0xe42bd241b4cbb0bbL,0xafa58985ff68c5c3L,0xd36cf7175b55e6e5L } },
  30918. /* 47 << 21 */
  30919. { { 0xf2b06f4b95d37e50L,0x7da1d2af3747c79eL,0x18a37dad6ad0092cL,
  30920. 0x9f4a6f081a8f207bL,0xeb1fd3f2cf0fed15L,0xfb9911e4384eb46bL },
  30921. { 0x5f07c680b87cb035L,0xc49935d189e1531aL,0x718f6bd09ea02056L,
  30922. 0xadafb67b18a4ca31L,0x26cb0f368477f396L,0xec7775df62ec2172L } },
  30923. /* 48 << 21 */
  30924. { { 0xdffb03aec10b43aeL,0x39b1266e9433a54bL,0x4c262521b19fe0dbL,
  30925. 0x0ec1e54f3d5c7feeL,0x2856510b05e68e1eL,0x49382c1edc80b8a6L },
  30926. { 0x80a509312471bdd5L,0xe8cde18581974aa9L,0xca6112ee28235c52L,
  30927. 0xd28a0eb8301f9653L,0x22b11e26e11fcdf8L,0x97e6fc5de4d735f3L } },
  30928. /* 49 << 21 */
  30929. { { 0x7fc264d35b253506L,0x1a11dd9cdfe2be8fL,0x2cbcf79c711185a3L,
  30930. 0x2208200a46806ddcL,0xf2764b6524e75d8aL,0x71a71bcdfcb43c25L },
  30931. { 0xddd0cd3586a895caL,0x5ec28b469e2caf5dL,0xeb749df9f6614957L,
  30932. 0xdae1dd77eddd371fL,0x7ce493b556dde554L,0xc1627c06d6e5653cL } },
  30933. /* 50 << 21 */
  30934. { { 0x7926553cdea7472aL,0xe1e9480d3ba7f351L,0x242a641b1b6a2fe5L,
  30935. 0xf4af10091f790122L,0x5a2e2f95967810a0L,0xf1eaec6e2ed57598L },
  30936. { 0x34a32da96b9f2421L,0xdc32daa8dd820372L,0x8b2539fc37a067ecL,
  30937. 0x2a495112820969ffL,0xea7c1829a699c283L,0xb4a1083dc2c58cbbL } },
  30938. /* 51 << 21 */
  30939. { { 0x1bcc30812e59d7a4L,0x557be0b2fac34690L,0x5b2868db673254faL,
  30940. 0x62e150a49e1302c3L,0xe29e9b445772138eL,0xc76bf4fd7ccb31daL },
  30941. { 0x8d687bbb34c905c9L,0xf4f207030786eeb2L,0xe56a494c38deb469L,
  30942. 0x759e75e2cc6bbfa8L,0xb11903aaa59eb766L,0x3f6928c5c68b3bf8L } },
  30943. /* 52 << 21 */
  30944. { { 0x27fa09ebcdded185L,0x763b655c36d090e3L,0xbc586674dd864c93L,
  30945. 0xa1f84ff34c7074b8L,0xdf5261d17cf08435L,0xc57860f6fbdaff3fL },
  30946. { 0xfa49af22252d7f08L,0x2367bf8c8db5f89fL,0xad6443ce6dade92dL,
  30947. 0xdc5265138d1af3f1L,0x62a282ecc720ce46L,0x1769b74c9808b416L } },
  30948. /* 53 << 21 */
  30949. { { 0x4ee11333ec598f02L,0x4613ba038c7eaad5L,0x48e0bfe61b1ccd1dL,
  30950. 0x6e115b6b507b705aL,0xc4d38e4992874d89L,0x30460a066dc59fc4L },
  30951. { 0x75de8dcba0f7ea87L,0xba96718125101367L,0x9d7b03314a742660L,
  30952. 0xb4ca381d8c304133L,0xb87b896d65846055L,0x8dd96f0513d381dfL } },
  30953. /* 54 << 21 */
  30954. { { 0x43716f0c3e25b7b3L,0x00caad210aeb5d75L,0xbfee232559a6cb66L,
  30955. 0x06c1d812ad059aaaL,0x42d0af57c8bcc046L,0x37968ef70e409a85L },
  30956. { 0xc5c3812ee3be328eL,0xaaa74bf166547ad7L,0xb292af92a15a0db1L,
  30957. 0xc0645385e5d5cdbcL,0x2dcf4ca937ec2c28L,0x3f75d089f0cb1694L } },
  30958. /* 55 << 21 */
  30959. { { 0x7e71fba26c0204d3L,0x6191ad249a40b4aeL,0xe2c7ab6bdda24cecL,
  30960. 0x5a8fc77e95b26a2dL,0xa6d8b2e43f1c7e44L,0x42d485e4e0a0e08bL },
  30961. { 0x8697386ed7e3b896L,0x5b960d76ee7e58caL,0xda950e9a3fce610cL,
  30962. 0xb85c7842803c67dbL,0xed8a53535e62ff2aL,0xfe6b0e2c4d674e7fL } },
  30963. /* 56 << 21 */
  30964. { { 0x46a2a08be26d822eL,0x63537bc689d6d6deL,0x28c556a2b3df9fbcL,
  30965. 0x81d3161eb121d512L,0x4e27ce0b123bc86cL,0x1ebadb85bfb240d1L },
  30966. { 0x86edb71a1156314dL,0xf8ac56fd113961bdL,0x2f6bc6d8067f586fL,
  30967. 0xf558b8833fe8e532L,0xe9433e2321a7997fL,0xb86f039c87e53b9bL } },
  30968. /* 57 << 21 */
  30969. { { 0xc022a16d78329681L,0xc3da7bf76b1226d5L,0x47ef18daa85c69e3L,
  30970. 0x4614f0ee45cecdbaL,0x9126fc2640f19d1eL,0xcdecb2693f5ca09aL },
  30971. { 0xb62a831257a020e3L,0x5f9a8ddc8330d472L,0x37e58ab3eb208a24L,
  30972. 0xe64ed285ee4b8687L,0x752fa22a74a82625L,0xa67e24609b25fbafL } },
  30973. /* 58 << 21 */
  30974. { { 0x89e3d770e6b94044L,0x50f50d1675a1a8c9L,0xe73c51d95344c139L,
  30975. 0x97a8dd8411723e9bL,0xba0663c57de5dcf2L,0xf26eee6c3a6b588fL },
  30976. { 0x6275b2a9211b989eL,0x32ab4b311608f16eL,0x9e47b2943fdde5b5L,
  30977. 0x63c50a50614bae9eL,0xffe4ef05e31c05e7L,0x2fea9142b7db4ba7L } },
  30978. /* 59 << 21 */
  30979. { { 0x27f286db0874c6f6L,0x26de6376e6ec0054L,0x56458a082ca84fc7L,
  30980. 0x07bcd4011fccf1b2L,0xb8548e74bae6f486L,0x0ea5857a0de2964fL },
  30981. { 0x8e8df866e50fd2a4L,0x3b07d1a8710fc74aL,0x3e4cc4f5a1fe92b9L,
  30982. 0x7380d0836e52d244L,0x4d75e1c12796278bL,0x9eb279258d33f4d5L } },
  30983. /* 60 << 21 */
  30984. { { 0xce7abd1ba225f084L,0x696e1eaff803ee75L,0x66f2789989415775L,
  30985. 0x14df21a29eb4991eL,0x012a6413fe2a0769L,0x022cf1c8626f421cL },
  30986. { 0xd4644d0460ab4299L,0xa43cc1732a8d453fL,0x7c4ab8c20ed14031L,
  30987. 0xd5854b98e14605f7L,0xd9a98c51fa7ff2cdL,0x7dbe8cbc46baf2c0L } },
  30988. /* 61 << 21 */
  30989. { { 0xf26574593c42ae9eL,0x7c3e5c13bbc289fcL,0xb815fe3fe096e7bfL,
  30990. 0x3eb67095da54264eL,0xbf5ca7c4ff3f8128L,0x8fc4a3f865db4dd4L },
  30991. { 0x3af47b17ee382cfdL,0x8854132fd95520f4L,0x3387b11d33c5588eL,
  30992. 0x5d7eb66c0c662f93L,0xcad581933b18885eL,0x8d1c069a6f23c209L } },
  30993. /* 62 << 21 */
  30994. { { 0xa9498fb5212ee678L,0xa8824b696ade4a39L,0x422c074e0a406cc2L,
  30995. 0x7d38de650a2beef0L,0x482d16f81eed5bbfL,0x1c882006f18380a1L },
  30996. { 0xf90f6c2bb98445e2L,0x36aa980b2c738d70L,0x4caff65b6785ad58L,
  30997. 0x1c282becf95863f8L,0x59ad267c5350b79fL,0x53ea042721cedec9L } },
  30998. /* 63 << 21 */
  30999. { { 0x5cc362909fa3481cL,0x1321acdd7292ac86L,0xcc30550378f4d6abL,
  31000. 0xf7917237e7d9154eL,0x591e5ba81fb39377L,0x0a387e4f7c541c76L },
  31001. { 0x99685212a38570cfL,0x5cce35c8624cd61bL,0x375c68133aed79d0L,
  31002. 0xf72d4b068197e487L,0xcd672f7d129775c5L,0x944ef37f1cd768f6L } },
  31003. /* 64 << 21 */
  31004. { { 0x9c66a32becc5f6daL,0xe4ff40431719ba2cL,0x8c6cfab721e716efL,
  31005. 0x32c8fccb96ed74e6L,0x475890dd0b110c83L,0xdfada95f5cb4eefeL },
  31006. { 0x9d7b89a693240fe1L,0x6afdb2d0210b776fL,0xc3f0b55bca7a7d52L,
  31007. 0xa6e56a0655d04585L,0x818e221c4257acc5L,0x05207b63fcb8d39eL } },
  31008. /* 0 << 28 */
  31009. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  31010. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  31011. /* 1 << 28 */
  31012. { { 0x0a74da82d8ada6ccL,0xc6b98a3cbea55457L,0x896c26bb57c2f5acL,
  31013. 0x981e2f72845d45e4L,0xca152b877e9a7d36L,0x49666d457b582e8fL },
  31014. { 0xea3b9bda49fc20b9L,0x5bcbc84a7c71f153L,0xd346fc5d5748a654L,
  31015. 0x7ac2f217622665eeL,0xbb5efe7fb6f16e27L,0xb1810a70644c9dc8L } },
  31016. /* 2 << 28 */
  31017. { { 0x98d089819bc5917bL,0x9f90885d187fac5dL,0x651b18287cfc13dbL,
  31018. 0x2d606e4c8655a658L,0xba64d3c563c91b71L,0x36c7d7d8b82a5090L },
  31019. { 0x2d1dff02cab1d598L,0xa95788d7be78f90dL,0x1ac2ee6b0ea1fe01L,
  31020. 0xc100b60cd5c1273cL,0x4496084ceae603e7L,0x7fcaaf5f77c2fdfbL } },
  31021. /* 3 << 28 */
  31022. { { 0xa93fec0861b06e05L,0x0bebc26b7dfe6802L,0xc00b45a5cce5662fL,
  31023. 0x2e8a0a7f83a9a4a9L,0x6e0cdebbc0bbeb63L,0xc56a20fe63ccd80fL },
  31024. { 0xfc10fa08b51f1f89L,0x4848392020ad9243L,0xfda69cc66bf53af8L,
  31025. 0x474b7440f10bb6c9L,0xcda9db3b1e7625e1L,0xe2f62c1e1dc7f3cbL } },
  31026. /* 4 << 28 */
  31027. { { 0xe8e3225a6abdd842L,0x8c85f18f3b367b02L,0xf147a4219f42edb9L,
  31028. 0x6d4bc00d0d411d4dL,0xa1a13a2770014bb4L,0xb896d97bfa10166fL },
  31029. { 0xb2a1dfa70c302c6dL,0x0a24bd5d808a63a4L,0x8409a3a2f88c7359L,
  31030. 0x071f3838347726a0L,0xd18a551c27507bb9L,0xe0c4cc34b359b167L } },
  31031. /* 5 << 28 */
  31032. { { 0xeaaaf4602a44610fL,0x94d330b10392ac47L,0x989b9b673fe123f1L,
  31033. 0xe2ca56ddd8fd0129L,0x77d6d0cd624982a4L,0x55d4b2c371e1fec7L },
  31034. { 0x3e9a04a0360e013cL,0x1d227ea9c9cde585L,0xac2b08e24fed8f86L,
  31035. 0xa1d1357ce199e8dbL,0x7cf06ec8e99cc964L,0xd9bc3a7fd85ec63bL } },
  31036. /* 6 << 28 */
  31037. { { 0x7d111c67017c633cL,0xadd9e9bd7d128a9cL,0x4cd8730c6db857e9L,
  31038. 0x3c9c03e9f4b46d12L,0xd42f0242a78472dcL,0x3fc0bcb2260841bbL },
  31039. { 0x6332b11a8783f828L,0x65229d2af7be37ddL,0x402f28eee7e8944aL,
  31040. 0x3d1bab505ab28372L,0x6944e82cad5e1ff3L,0x65a94c0de8c75729L } },
  31041. /* 7 << 28 */
  31042. { { 0xa151dcbc2f7f3633L,0x4305312a98969226L,0x947afc00604d46e1L,
  31043. 0xc3c9d57572f3e28cL,0xce4c1cbd14b1cd1dL,0x8fe9a81df80dea45L },
  31044. { 0x50920f3a9685f603L,0x51d380f00b80d89eL,0x19978ba13f798e32L,
  31045. 0x1294aaa6c5edde47L,0x280002c2be714a1eL,0xd998669ef212603cL } },
  31046. /* 8 << 28 */
  31047. { { 0xa44f6ef880e9d9f3L,0xaa7621e91d14d618L,0xcb0e4ed80eaf6671L,
  31048. 0x2bf485f8181514a2L,0x74670e180a2927eaL,0xe1b5461612c14645L },
  31049. { 0x4068c0742a67ed61L,0xd10c7a57739063caL,0x391b651d698b2816L,
  31050. 0xf310d1696da14fa8L,0xa089be6bd8a578b1L,0xa314b3a844389ad7L } },
  31051. /* 9 << 28 */
  31052. { { 0x688ce85068fd73ecL,0x2cfb41040db1f500L,0x5d943b8d5b9bbc41L,
  31053. 0x861867f5403f3973L,0xc331110a2c766363L,0xb28a6bc153aaceeeL },
  31054. { 0x2ab6e7aaadbee7a4L,0x316ca45c2f2b9569L,0xcac646e561d2428aL,
  31055. 0x6fd28dadc7cb6291L,0x2e28f68741e20ff4L,0x8cfe90eebd189d34L } },
  31056. /* 10 << 28 */
  31057. { { 0x09b8ed53339da6adL,0xe40727af26f54b8eL,0xc4a105979990fdb2L,
  31058. 0xb808656b5108236aL,0xb4411363aa4bd584L,0x19e90149288a0328L },
  31059. { 0x5795d8a8fb0592f8L,0x313c68833213c929L,0x62eecb5b48f79d47L,
  31060. 0x3afcfdbab29ca224L,0x0072847d40075b08L,0x078eef3dd1fe0c8fL } },
  31061. /* 11 << 28 */
  31062. { { 0x719b51f20ca20aaeL,0x01ad630824b47b92L,0xd32460c2d3c807deL,
  31063. 0x8497786b0a1785f5L,0x8bd521355d714ee5L,0xc267724ed00f741eL },
  31064. { 0xe5578dca9c266820L,0x97ff60085b62d484L,0x84c70e92e3bd1869L,
  31065. 0x412759e34dfa679fL,0x6bccc33fce497e18L,0xfb92405669056198L } },
  31066. /* 12 << 28 */
  31067. { { 0x664ff05368ed0760L,0xc3cdc99138fae9feL,0x3fe057aaf1f30a86L,
  31068. 0xbae990222d08c72aL,0x4f5faf3f6f09e13fL,0x44461a4413d26b29L },
  31069. { 0xc2504c1bf95418edL,0x12766ea7db3ff26cL,0x2f956e9507a22399L,
  31070. 0x2716e70f5a00cdd3L,0x80c020140e9fba99L,0xbe587ac30519875dL } },
  31071. /* 13 << 28 */
  31072. { { 0x5e4bb6b83b23d2a1L,0x819a7c7705c9888cL,0x59e4c48ad0fec7f7L,
  31073. 0x4b212b21d6bb71abL,0x370cb90bcbf213f2L,0xf1ea07e0817549b0L },
  31074. { 0x20e3115351a37b92L,0x30f9e70158d444c0L,0x7ac3a37b0b791ab7L,
  31075. 0xe456fd475265e4cfL,0x3e3f27ca29580ae8L,0x5d68a40daa2a1654L } },
  31076. /* 14 << 28 */
  31077. { { 0x14203d8720cbb917L,0x284e0c9db2a7424eL,0x99eb2911cefe7139L,
  31078. 0xa709c50f42925411L,0xa5a7543e5c79a13aL,0xe262025c6f45f023L },
  31079. { 0x3966fd18828b9f40L,0xc660846913693115L,0xd7dfbcf644373027L,
  31080. 0x8e73fe6bbade7645L,0x88267c7b1de0dbd8L,0x1231ac99ce4e8c9eL } },
  31081. /* 15 << 28 */
  31082. { { 0xfd928bd90ba99806L,0x799ac97d1a864172L,0x5436a8cd129682b9L,
  31083. 0x4bcacda54e96fecbL,0x453af995c5db1451L,0x8fd382e07073b98fL },
  31084. { 0x17165b8a644a7bbdL,0xd17d2d80b6118620L,0x2a4bf1b2c8cd1bcfL,
  31085. 0xdc7aad959ccc119aL,0x6d34084c3bcdbeadL,0xcbc5c5557e0663c8L } },
  31086. /* 16 << 28 */
  31087. { { 0xba86aec170128295L,0x83a09b65c12f35ceL,0x8978ff0789df2f80L,
  31088. 0x85750cfd97a773d5L,0x806bb730fc3f35f6L,0x04503422fed868c9L },
  31089. { 0xdc0fcde086ffdbaeL,0x8f4297e11860f43bL,0xfefb7d028d3ad6cdL,
  31090. 0x5c652b5997293550L,0x32e12942ed5cfbbaL,0x06192aaf98800d22L } },
  31091. /* 17 << 28 */
  31092. { { 0x9bb8cf660002f389L,0x217219af51505913L,0xfea1388999ef8797L,
  31093. 0xad1b2383235597c4L,0x85ffabb70a3e3536L,0xd8235d9da00c725aL },
  31094. { 0xfa9b0f4ba704dac0L,0x99d76ddc2f57fb9aL,0x5ed3683b18428507L,
  31095. 0x9e42bc54435307f2L,0x3167de67b4f36896L,0x8a0f99a0d539d713L } },
  31096. /* 18 << 28 */
  31097. { { 0xf0b92b8a4642d9b2L,0xce97828a3f50c883L,0xa33d62936f0b1194L,
  31098. 0x23417e0f3692f5b5L,0xc79b9491fb0b95bdL,0x5410e8c95e836b2aL },
  31099. { 0x2b84078d29798fc7L,0xa8732e78d6628695L,0x39da93f898c766aaL,
  31100. 0x0797832d305e464bL,0x246069ab163f9f4bL,0xb867dcef53fb6170L } },
  31101. /* 19 << 28 */
  31102. { { 0x949c63730ced5c37L,0x6f8cd6e4fdb6464eL,0xbea902ae2e056dd4L,
  31103. 0x43871371fa0d560cL,0x162128e9e9ec2208L,0x84deda5c25060c6aL },
  31104. { 0xa8a8a27c14160ed1L,0xf24bf3dda33b53cdL,0xd12038a976a6d272L,
  31105. 0xe64d6384ee8f2b15L,0xc404d580d3e91d69L,0x62cdb886a4888d17L } },
  31106. /* 20 << 28 */
  31107. { { 0xccf0fb423c9eb0caL,0x8703c6694aa03b40L,0x44c735a74001af07L,
  31108. 0x9616dd932e874ed1L,0x5c2e8520474ba621L,0xddf13cd3fa93d8b4L },
  31109. { 0xd68c9b4575df1b67L,0x4cd242288f80d389L,0x0f1a16bcc09f47fcL,
  31110. 0xc414dc6a9cd4842aL,0xbb0fa94f1f353c6dL,0x405124551950d073L } },
  31111. /* 21 << 28 */
  31112. { { 0xbfe176f2dfb520a6L,0xf51917bced96d0abL,0x8131985078b11135L,
  31113. 0x6397f1288f006a55L,0x9877f30e576b5132L,0xe0cd103bec781571L },
  31114. { 0xb4bf74e5bcfd5046L,0x04333aa4be9cc561L,0xc6dd1dbc1e066ca1L,
  31115. 0x03c926e1d3718e62L,0x13bf83d404309072L,0x79649ba0ba28ac51L } },
  31116. /* 22 << 28 */
  31117. { { 0xcb1a73c55abfe8a1L,0xe9e2e220deae1d92L,0x2d953d00514befaeL,
  31118. 0x74024df9b7940bcaL,0x9a2cad0cd13f4a3aL,0x8790b699360795fcL },
  31119. { 0x63957f3b5e9982eaL,0x491bf3155b7d256eL,0x5708bd4dd23324e7L,
  31120. 0x9f11ddd397c4c8c2L,0x1823762f5b7f5162L,0xc45a3976cbfc9dd2L } },
  31121. /* 23 << 28 */
  31122. { { 0x806134cd30731f5cL,0x04522c23487c778cL,0x99b6e6a1651640a5L,
  31123. 0xe2d20ed87e9898d1L,0xcad25762069e56d9L,0xd4184f6e29ddfc7bL },
  31124. { 0x1017badcc1aeaa34L,0x7d3700e7f3c62e08L,0x203dcf8d5e42399bL,
  31125. 0x05986c66b72795c7L,0x0b56ad9cc0925f02L,0x1f0e895bfe0e3bd3L } },
  31126. /* 24 << 28 */
  31127. { { 0x935b9e244d2edd5fL,0xfeb46fb5efb287b8L,0xa51700a3f5018b92L,
  31128. 0xc328beba23864e2aL,0x113b5c9a995f70c1L,0xc0b11c22da1b5d51L },
  31129. { 0x9b99b907f4a360cbL,0xf4ee9995adf0b094L,0xf67c7cf2f94b3f0eL,
  31130. 0x664a51a1dcaf10ccL,0xa3709ccce937a669L,0xea97bace4862f098L } },
  31131. /* 25 << 28 */
  31132. { { 0x62c7dd9ed537ed6bL,0x8a82ae7ccc168feeL,0x96fcf8d19d00a4a9L,
  31133. 0xfeef6ec205096874L,0xc828c68969f4485fL,0xdc4903a6322563f0L },
  31134. { 0x5339cad7d3280a32L,0x42ae434909ff15cfL,0x94cdb7790bbb6af4L,
  31135. 0x480f8a5515721529L,0xc2f9c4dc0ff28eb2L,0x9d2a405e1ff6e3d5L } },
  31136. /* 26 << 28 */
  31137. { { 0xfeebe7d29309e729L,0xd322c38aa30a4eb9L,0x18cb0ce12f4f5c8eL,
  31138. 0x08a073a04262105eL,0x6ca92585933f888aL,0xf4a080c903ca1489L },
  31139. { 0x5e678c7949c8daf0L,0xcd6ef6ba5abfcf82L,0x61faba612a4fc564L,
  31140. 0x7cacb3dcee0b306eL,0x9fcfafadb5aae2a9L,0x193e841c4b8fb04bL } },
  31141. /* 27 << 28 */
  31142. { { 0x4db6f5f07ed99ce4L,0x1257bd9c2456059bL,0x546c764b43d3590eL,
  31143. 0x6d5062adebba72d6L,0x6858f04e2e8d99fcL,0x46554047b4eeee5fL },
  31144. { 0xff433f63535f2da3L,0xd76777542b76d2e8L,0xeb6be9c88e838a3fL,
  31145. 0xb7a2d2c1145f8bf4L,0xf3ba128703bb278aL,0xd88cd51530c4a1a4L } },
  31146. /* 28 << 28 */
  31147. { { 0x51758334c942a3f5L,0x7cc01e8832182ba6L,0x772af25774de4fe6L,
  31148. 0xb1b3c448e9667bf8L,0x71cb27388079caf6L,0x48890c641d823a40L },
  31149. { 0x47a5887b0e9edbdaL,0x916dfb0cbe089e5aL,0x3185090e1eb42ddfL,
  31150. 0x3c7eaa13b7f3af26L,0x940ed8c79e9963b2L,0xd85e77db3426ac10L } },
  31151. /* 29 << 28 */
  31152. { { 0xf21b47bfd7bbbfa1L,0xf757cb309ea0ea77L,0x6df7f53783b2a6dbL,
  31153. 0xb0808cf99eb8ed81L,0xc526bb6b64edb3b6L,0x24f1612068f72d82L },
  31154. { 0x3e2e6af8f01cee94L,0xd2e01f947847ca60L,0x079dac3539e68ac2L,
  31155. 0xc30720b270cedeaaL,0x2f97f968fa6bf057L,0x2dba403babf6a743L } },
  31156. /* 30 << 28 */
  31157. { { 0xed99932452c802f1L,0x99f6864c5cb78b2eL,0x8f8a0a709b9c3693L,
  31158. 0x0b931016e2f598bbL,0x7edbb1b3a614fc15L,0xa0321b50e79f74c2L },
  31159. { 0x834f3ee994bfa457L,0x5ffa9613006907b4L,0xa37e9b83d779b46cL,
  31160. 0x7a21743cf33b791eL,0x6646b89dcc28a011L,0x9b975ef8e2ba76f8L } },
  31161. /* 31 << 28 */
  31162. { { 0x166c7151ec72cbfcL,0x3d1f2450c9e519ceL,0xfdcc648e7efc0fa1L,
  31163. 0x3f5f90cf6db6d516L,0x8a5dd3df145830f8L,0x4d9938da4e5858e6L },
  31164. { 0xe598f9d4dede1584L,0x2de5a26cf5c8f4e4L,0x495b750f364e20f6L,
  31165. 0x29291c445b718188L,0xe560d9ee3733ce27L,0x99b9d27d5b9d206cL } },
  31166. /* 32 << 28 */
  31167. { { 0x162cdf342efffd95L,0x92111fdad59086e8L,0x4478d114454eb977L,
  31168. 0x8ce403d8dea38a67L,0xd459633b7435728aL,0x3a7be4e3a63b0504L },
  31169. { 0x0c74066b335dba3eL,0x4e8fb1d7c6ea6ee5L,0x3398b588a99690edL,
  31170. 0x4949517c3ad77562L,0xf9824f09cbbb60eeL,0x9fdcafdf85660becL } },
  31171. /* 33 << 28 */
  31172. { { 0x368bea127aa62889L,0x6096730506e1046fL,0xe69be05e564f219cL,
  31173. 0x064b9d7c01eab75cL,0xf16ccc9e0152981dL,0x708827acb178a3deL },
  31174. { 0x320f6a8a93248b89L,0x532acc568084908eL,0xe494cd1f6ab586d3L,
  31175. 0x59c74cacabbdcde3L,0x3ccf84a62259abeeL,0x6657d1fad96bd141L } },
  31176. /* 34 << 28 */
  31177. { { 0x5d3a8252aa0a9dcdL,0x540e037af97fe26aL,0x4cbb768ca3f68f56L,
  31178. 0xf9608732652d7058L,0x5fae0f9f72cea8b9L,0x1a7edfd97d980da5L },
  31179. { 0x9f00ee611791c34dL,0x6c95404c2bc25810L,0xabb1089e043a9faeL,
  31180. 0xe36fe9e1a7881ae0L,0xf163dc460fc04e9dL,0xb6955f2f129c7940L } },
  31181. /* 35 << 28 */
  31182. { { 0xa22ebfc7c23bcd94L,0xa653b119684fe9f2L,0xe469e28646b59d70L,
  31183. 0x0720daf3dad96b47L,0x5066df7871288c07L,0x7648d7d82905b5a2L },
  31184. { 0xc6ab9c5c0a30a65aL,0xa00539f34930712aL,0x6a64738c7e894bdeL,
  31185. 0xd7f3a7459e8eafdfL,0x652a58ff8ce9f7b2L,0x7c9d02e4cb3782bdL } },
  31186. /* 36 << 28 */
  31187. { { 0xf26bd8618875d9e8L,0x22e2380dbea9c273L,0x5f15183791995508L,
  31188. 0xb97f40a6648aa1c6L,0x7478f5f83977d848L,0x21e876ae35b57de6L },
  31189. { 0xf620b180a93fc7f6L,0xf49bd07e1b148996L,0xfb0857261c4f60e1L,
  31190. 0x6a6653af7ad6b84dL,0x913a2d022e05b686L,0x94746629407dda9aL } },
  31191. /* 37 << 28 */
  31192. { { 0xc662b0f68a97c714L,0x69fbf7d1b8fbbb02L,0xf3bb5a9c5cdff85dL,
  31193. 0xfade6eb036ee44f3L,0x6eb4b8266d0905c8L,0x6ab3e4a4391a34d6L },
  31194. { 0xf490046478e7bdb1L,0x8bcd4bf23272c400L,0xdf9a81b78d2c9573L,
  31195. 0xb9a0ea166af43695L,0x3298a5d071fe768aL,0x53eeeb4333e87bd2L } },
  31196. /* 38 << 28 */
  31197. { { 0x87cdbfe6bb531d08L,0x384bcd0357957992L,0xc654e2c942008cffL,
  31198. 0xd12b50285002e06aL,0x41a34286a67db410L,0x31a109d99d6b2c01L },
  31199. { 0x14d642da2ed35f38L,0xa06a846048ffd04fL,0x8291190cbdbeef68L,
  31200. 0xc8106239e43bb0c9L,0x4d7aa992c4bea448L,0x107b86efba3dd9b5L } },
  31201. /* 39 << 28 */
  31202. { { 0x3d870c3144fc1cd3L,0x34409eec0085e7b3L,0x67d5c1340d0395e6L,
  31203. 0x9c30dedae3f36689L,0x988ac951d268cc91L,0xdb05825bd2c9dfdfL },
  31204. { 0x30ccc3b75d349fd5L,0x63383c0f60c3a79bL,0x4f45c81732c71964L,
  31205. 0x456679642fef028cL,0x82454c12cf4053f0L,0x7c1310fbed8077f0L } },
  31206. /* 40 << 28 */
  31207. { { 0xb8465d16da684157L,0xdadde1abb238faaeL,0xe2cd45e7c6b9bea8L,
  31208. 0x7251d4a15cf413d5L,0x615cea8baae1765bL,0x75aa831813f36885L },
  31209. { 0x7d5b0bf7b8767cc1L,0xec38a8ff8022968cL,0x034805b62a07faebL,
  31210. 0x916f9eb033b7321eL,0x34963633c0c577ceL,0x8ee07efdabb8d3ceL } },
  31211. /* 41 << 28 */
  31212. { { 0x498606fc2d15a409L,0x2398e109d5fdcb60L,0x8ed8fcbc36540c3cL,
  31213. 0x94404e2bc1db3193L,0xe62b808b28db1c38L,0x545b60871ad1d686L },
  31214. { 0xe8bf6489740f4264L,0x7ee76fe71809505cL,0xaa95b8c86f45a011L,
  31215. 0x9bd6111b55c715c3L,0xc5c736bc33165913L,0xf1e8cdf282f6c7a9L } },
  31216. /* 42 << 28 */
  31217. { { 0xeb09e7fa949d05b5L,0x49394c1b8d014014L,0x644874d73eb7abd7L,
  31218. 0x89c666e5679d2a01L,0x6ea98cbbd315bc8eL,0xd919142a37fa5a26L },
  31219. { 0x042fbac56d0239b6L,0xbff2b086837c510fL,0x21e4d279d9883ed7L,
  31220. 0x6416e0239713c2b2L,0x3742c6d14ea05144L,0xff591d8fd5b00fb2L } },
  31221. /* 43 << 28 */
  31222. { { 0x0ae21b83c138ed42L,0xf1b0895a2ff30df8L,0x4d5d634d9559c6e1L,
  31223. 0xfd02f3a3098e5c4aL,0x7bc6b63152bb211dL,0x498a68fffb69f0ecL },
  31224. { 0xd6fd5f443e69b479L,0x5ea1877d8c740d2eL,0xfaaff5f0ca605f02L,
  31225. 0xb3022f9839a03f5bL,0x3feb7c13aa253725L,0x119097a89dc33a73L } },
  31226. /* 44 << 28 */
  31227. { { 0xa0bd6c0da8a29345L,0xc676b6c55d7f5ef9L,0x303b6d7c20ad7259L,
  31228. 0x06542a19d8fe09a7L,0x5a06653ca959014aL,0xf45fd79a5bcfe0cbL },
  31229. { 0x29058d984e583468L,0xf1bd25e60cd7afc0L,0x2a88246ef7dbe54cL,
  31230. 0x680eaff835e0ef3dL,0x5942c97f726e59b9L,0x43e971398d5c0825L } },
  31231. /* 45 << 28 */
  31232. { { 0x6656b318f7378bf8L,0xf9a838df182f1a29L,0x0d62dc5ede475756L,
  31233. 0x97564544585bcab5L,0x3e99f44c857a13cfL,0x8c3a0a940cbdde00L },
  31234. { 0xa7be375833dd2d24L,0x629040f1bbb1c7eeL,0x0bb2ced27f0eab7aL,
  31235. 0xb86f1e1e9f474277L,0x60539a544a14ac4eL,0x9860f986aa90977fL } },
  31236. /* 46 << 28 */
  31237. { { 0x143fdef1fe944aacL,0xfd6700fdd24f606cL,0x5dad2e41737404a9L,
  31238. 0xb16c5d42953abdccL,0x132b5cd995be01c9L,0x2bf605d86fd01c6bL },
  31239. { 0xed62526c8803881dL,0x3429579201788c26L,0x553f8e0f8d62ab25L,
  31240. 0x3b2df9cf9850ff9bL,0xb320ec40acb513b3L,0x86d61c988875dfe7L } },
  31241. /* 47 << 28 */
  31242. { { 0xe5fbda4daab3cc32L,0x556fcd2535d469a0L,0x414673d91c02fb7bL,
  31243. 0xc14ee9fd8bfe6a4cL,0x8ba0959d1133d9f3L,0x086a7c94e94338ddL },
  31244. { 0x92c2f484cdd5a1b9L,0x97bb21f6ea0e0f9eL,0x99756b285411da59L,
  31245. 0x4b79c4663be739b3L,0x73502d3e706078fdL,0x6bb794100da7aea4L } },
  31246. /* 48 << 28 */
  31247. { { 0x2daddb11a406d4d7L,0xb02b5da5a2a33d81L,0xb73ce82721a6aa89L,
  31248. 0x10919587467506deL,0x0927724c428d8daaL,0x0ede991f7c17adfdL },
  31249. { 0x8518dab1bf7ddb3dL,0x04b091c42a54e1b8L,0x5943c37f89e7a398L,
  31250. 0x8e63f5e8e273f6f3L,0xc6d0352b83143d22L,0x30e43182ebd1628eL } },
  31251. /* 49 << 28 */
  31252. { { 0x9bc5af5aedf58e50L,0x31a3beeeb0d51722L,0x5789fcf98cd467aaL,
  31253. 0x85d974897793faafL,0xcf09224ecc18f367L,0x4f293783ec7957b4L },
  31254. { 0xb044c854c0be350cL,0x027caaf72a63996cL,0x5341b3f3cb85de2fL,
  31255. 0x0d261d80b106359aL,0xf63bfe7a8456af12L,0xa954c4400174c82cL } },
  31256. /* 50 << 28 */
  31257. { { 0xaf752854b02aceb3L,0x000c5c4222c194b3L,0x7e953b78ebd2e61aL,
  31258. 0x44dd61b4b9d68960L,0x282ef4216d454ed1L,0xffed862aa402ca61L },
  31259. { 0x5fffddeed3e189e2L,0xf36379990daffe3dL,0x1b09a625857a8a00L,
  31260. 0x3e64ff63c1ced62aL,0x9acc484d10b63647L,0x5a470aef3afc8675L } },
  31261. /* 51 << 28 */
  31262. { { 0xe21acfec09ebdbaeL,0x512c66a729b064faL,0x15c08e1191835db7L,
  31263. 0x78fff5d665203a4aL,0x99259d961c73615cL,0x85b444b9f36024bbL },
  31264. { 0x4909772df16932deL,0xcc4a526899a3863bL,0xe54557bd2ebff8faL,
  31265. 0x1a9b05b709bee4c1L,0x0d2ce396bdb2b785L,0xbd15bcec8ce7ef40L } },
  31266. /* 52 << 28 */
  31267. { { 0x606658a99991167eL,0xb8773e1572c4b43dL,0x6cb364cde025abceL,
  31268. 0xafa58e9b0c5a653eL,0xa7e35a54134a68bfL,0xcb831d42ba4d9db6L },
  31269. { 0xae37348ede83ef97L,0x4ac64a6a62ddd553L,0x5feb5e0d715bb6b4L,
  31270. 0xf876efae043424b2L,0x7b56a291ad91a9efL,0x817c7053356f3adeL } },
  31271. /* 53 << 28 */
  31272. { { 0x0dbd99249e88115fL,0xecb57472bc568c61L,0xfa4f4a47c1058746L,
  31273. 0xb19006014d92c079L,0xe693577091026a8cL,0xebde8e65eefe8740L },
  31274. { 0xe8bc6b3480a93b35L,0xc1c8fc0635518beeL,0xf7f4b448a47cdd36L,
  31275. 0xe4d040e0db4f3e42L,0x025fbdfb88345042L,0xfe6cc10f3fbe045dL } },
  31276. /* 54 << 28 */
  31277. { { 0x63ba344a1c20cb4fL,0x55f11c207e8cccf6L,0xe66e1641b5b1046cL,
  31278. 0x51cf6dbe758a460bL,0xe786a81e91bb5101L,0x6f4a976209cd4365L },
  31279. { 0xe88b4d03fc565022L,0x46006d0ebfdf8ec6L,0x10a3e85781f4e635L,
  31280. 0x28ea91360a4a2e82L,0xf890ea9e757b38dcL,0x89c6789261312e2aL } },
  31281. /* 55 << 28 */
  31282. { { 0x8ce54e2a65d9fc54L,0x4776c1f13bfc0c09L,0x5d15fced99476b22L,
  31283. 0x2c5399bc1142dc7bL,0x6faef9d96c6ad87bL,0x4f238e48ca5126cbL },
  31284. { 0xbc7136d607849dc2L,0xc840ccb1e30377a8L,0x30e0f0373a371bafL,
  31285. 0x5b8eef9bdfce4735L,0x1662184e514bb217L,0x010ebb8579e0918dL } },
  31286. /* 56 << 28 */
  31287. { { 0x3d6e8d6d8dff7dffL,0x6b6c194ad5be4ad1L,0x57b93f2db6fcd08bL,
  31288. 0x99f09948f3761f23L,0x4062f3d6ac8b018fL,0x4b58ac05a27af72cL },
  31289. { 0x4abcc81504d0cdfdL,0xa50043e0bda4b02fL,0xe11297e527a9c083L,
  31290. 0x2b2d8d529779c5b3L,0x3de3d330dfdecfedL,0xfe2487caae7fc522L } },
  31291. /* 57 << 28 */
  31292. { { 0xc510bb0b7e7a66ceL,0x54a3e0111332f2c3L,0x6331badedc885f5cL,
  31293. 0x1a73c8aedc47d8b2L,0xc657edbb95d4e933L,0x30994aa335dc3ccdL },
  31294. { 0x832d586fafe5be42L,0x3392b07ad44de522L,0x1bcea9a62982450cL,
  31295. 0x8237bf2b3709f75bL,0xfa4f2501ea9d03f0L,0xcf492df7bdacd276L } },
  31296. /* 58 << 28 */
  31297. { { 0x2d0f7f28af4ecf83L,0xc2863ae4d48229efL,0xc989ff3d7001268dL,
  31298. 0x7f07adb6ba225adeL,0x1564c1db450a15ddL,0x3bfea98c6524d417L },
  31299. { 0xee3cd3ef2cc20833L,0x055c569dba767b1aL,0xef2eaf51351b1279L,
  31300. 0x4e02b1d163b809d2L,0xf0e943d00a14c115L,0x2bb3bc3f32f55210L } },
  31301. /* 59 << 28 */
  31302. { { 0x8f577dd79ed385ffL,0xdbcf0548a1fdcac6L,0x38555497c2352ff2L,
  31303. 0x33e2ed85eb9edab2L,0xbe4bd6db9e649ecbL,0xea3668f72c6e7488L },
  31304. { 0x841627b8f4b91b7bL,0x2d61a0f7d487c7a7L,0x1932b198142d1dc2L,
  31305. 0x06dbb39a1a792783L,0x5be16e570bede1faL,0x4d3b197bdffceb55L } },
  31306. /* 60 << 28 */
  31307. { { 0x1c2fc5088f7a83e5L,0xa7c56233b9970c92L,0x949c71738bafa66fL,
  31308. 0x1e299b2d5bbb0490L,0xb9a79e7c18fcb9e8L,0xe6372ce69cb5cc50L },
  31309. { 0x114fc628f465c6aaL,0xc55395208cb797f6L,0x7df94ed7a73ad211L,
  31310. 0x41eb8e1f8e0cd008L,0xb028725a004cbb0dL,0x1340186d372c1656L } },
  31311. /* 61 << 28 */
  31312. { { 0x5162886c203a829aL,0x60dbd8d464416392L,0x60589a51b5a10685L,
  31313. 0xa79ca259113476a8L,0xbf4f71100d7b37dcL,0x1a1b3fdf78bbb029L },
  31314. { 0x2954d3454799a0bdL,0x7459eac788c256efL,0x61ac72653800707cL,
  31315. 0xd861f7764cc84f7dL,0x29f4e5bf84faae3aL,0x7975c9555aa1236cL } },
  31316. /* 62 << 28 */
  31317. { { 0x65f28419238c3c84L,0xf07d83ed90f1ecd1L,0x10307e1bf6567704L,
  31318. 0xa94dddb389d17845L,0xaa56f72788f39175L,0x01cf57e2a7aa55f7L },
  31319. { 0x98f4340e77f21e8cL,0x8cd3e0a2adb036c0L,0x5c49ebf4af6b46ddL,
  31320. 0x312a2c32455f6897L,0x52fb4f488b517f06L,0xb0f373d442beff4bL } },
  31321. /* 63 << 28 */
  31322. { { 0xd9694bd9af44f9ceL,0xaf2cfbbc1ee29f43L,0xaf352b1c880f80ddL,
  31323. 0x3fdabd2142297787L,0xf5a2acc21c7916b3L,0x6154b3f2cc0d85f0L },
  31324. { 0xb9ff2bea0bc58e86L,0x359eb0750561c3d1L,0xbb5a318fb93be593L,
  31325. 0x34af9320bff0b3b3L,0x3cbe89341d967c37L,0xd08e5f46a8e9a750L } },
  31326. /* 64 << 28 */
  31327. { { 0x4074ee27978029bbL,0xa9394bdabae0d0c0L,0xaa01d53972cecb4bL,
  31328. 0x4b0cf1279a7dd9c4L,0x3e3e3f165bc787cfL,0xdf48f7e1942de53fL },
  31329. { 0x0cc69719567b9d0eL,0x631e33158d0d2750L,0x9fedc1e292314a09L,
  31330. 0x7547d22614a1adcbL,0x405561a48662b86aL,0x149fa2b1f5480b7dL } },
  31331. /* 0 << 35 */
  31332. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  31333. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  31334. /* 1 << 35 */
  31335. { { 0x923d0b44bda4aaa7L,0xced14ce4fee29f7bL,0x1656be009cf5b87dL,
  31336. 0x13a37d0d1d61103dL,0x1d705880fb652393L,0x870a31bbed712ed8L },
  31337. { 0x15ad02e6ad7c21e3L,0xf004e447c36c2831L,0x56aa376cba2b3ffdL,
  31338. 0xc3be2b2f9745443cL,0x47c8a870eb903660L,0x976c303e6c6c192dL } },
  31339. /* 2 << 35 */
  31340. { { 0x148bd39cf4fb80d4L,0x469b208cfff04e65L,0xf397fbe2ce548415L,
  31341. 0x441e5c2c87fdde9fL,0x6366b49ffee9c179L,0x38d02bd32938dc71L },
  31342. { 0x26d450fac49c5444L,0x4569f95d2b23d3d7L,0x5f68bf4d298fd876L,
  31343. 0xe86df047544768b6L,0x40b69a32f8491267L,0xcbf3adf9f917c71aL } },
  31344. /* 3 << 35 */
  31345. { { 0x32498d4d8125489cL,0x965e8d07a5a46ae0L,0x6cea5e47e96a7e29L,
  31346. 0xf78293a4668039ffL,0x62548a96f63edd32L,0xe8e6af95a83e8256L },
  31347. { 0x76e60c3b0db6263bL,0xa1ee4b0621b3d668L,0xa17dbf8b9e49b0b5L,
  31348. 0x4b29ba127eb366fdL,0x5e0ed781d29b565fL,0x8cb50d53199b36f9L } },
  31349. /* 4 << 35 */
  31350. { { 0xa66c703529aa3150L,0xd038a5ab479e61fcL,0xdee33e96b5ab5410L,
  31351. 0xd068929c7c57d123L,0x0839a208f1d6ad37L,0x8f523dab123f8178L },
  31352. { 0xb3e5e524a67d3840L,0x88bda75e52eb59dfL,0x513a0ab7389f2dd3L,
  31353. 0x3197a145890bba6fL,0x61add75b6f66bf09L,0x5c9dfc154eef1722L } },
  31354. /* 5 << 35 */
  31355. { { 0x66dc285007769b1bL,0xe07fb7414d71fac4L,0x5ae688a6c2abbe60L,
  31356. 0x08ae92fadcbfd296L,0xbc291256b43044d1L,0x0e1d71ed9fcdf213L },
  31357. { 0xf0c5b28102485685L,0x5d3f9302e3f68f42L,0xbbbfac50ffe4f036L,
  31358. 0xb5b5f26174fdba44L,0x4ebe1d070d746760L,0xbb0f7812c37f04b7L } },
  31359. /* 6 << 35 */
  31360. { { 0x810b6ab36df1199dL,0xc229308bb4f293b7L,0x3cf838dd89897750L,
  31361. 0x3e391e4e7a336c9aL,0x70148337176f89c0L,0x54b15bacbc4f1e22L },
  31362. { 0x32b104f92c0f2885L,0x2c39cefa67034f2aL,0xb8310437bf178ac1L,
  31363. 0x722299f5c99370d5L,0x0a493cf0332b93a8L,0x00e0ab41a420f719L } },
  31364. /* 7 << 35 */
  31365. { { 0xf25925434cab24daL,0x52be9bbce7c3b9c5L,0xaab7a8b64660d1a0L,
  31366. 0x09738b819a9600f4L,0x58f0c86637de9e3cL,0x0aea5cc15db31f4fL },
  31367. { 0xe480406f499868beL,0x0d8fc7f0f6913a44L,0x7282364435f2e14eL,
  31368. 0xb147b31045e37a93L,0xb1e7aa5bf15c1af7L,0xa8685068b03e7713L } },
  31369. /* 8 << 35 */
  31370. { { 0x21feb7fc21c34c2bL,0xab6a553addb0140eL,0x03a6557624b04e6fL,
  31371. 0x2531f186342cb0adL,0x088c4d54a24f6426L,0x9a0ee15c06a873eaL },
  31372. { 0xdbe0253fd33bc748L,0xdad3339f5db8ac9eL,0xeaaf368173e65901L,
  31373. 0x71f1fab2ccbfa504L,0xb7b845224b0e163eL,0xe0fca8373c779f3bL } },
  31374. /* 9 << 35 */
  31375. { { 0x710988eb46baf373L,0x8cceb935b57d5018L,0x1864603fa45fdf17L,
  31376. 0x3dcaae73ef48e6d0L,0xadd9420b590322c5L,0x947783e39b135f67L },
  31377. { 0xfde763688bf5049fL,0xf00e4c182caa4023L,0x4d3b0f23d355b3d6L,
  31378. 0x181fabcc20d5799dL,0x29499b40ab2ad0afL,0xf6e66328f9a938aaL } },
  31379. /* 10 << 35 */
  31380. { { 0xcd7b3c42bcbe922dL,0x2fe02b3b95dd1a5cL,0xeb66bcbd24ef5c38L,
  31381. 0x7edcc21ce579c309L,0x7b19d49116f6c900L,0x36019ecdb6317c2cL },
  31382. { 0x554ba55391d9001cL,0xa5e30b9814f31e44L,0x3d1fe33bffda4032L,
  31383. 0x5dfec4782306675cL,0xbe59305e000c91e7L,0x3c4e52a325a6b879L } },
  31384. /* 11 << 35 */
  31385. { { 0x02fcc14ec5ea88acL,0xca29bb6d56d093b6L,0x876aeda90e6fe94dL,
  31386. 0xfa11a142d7225a9dL,0xfea3ca053d03fed8L,0x435854c6c54d5962L },
  31387. { 0xd770737454a6dfd5L,0xb8960017a3e55d02L,0xd4015a0c04d65c3eL,
  31388. 0x397f93d1e98a1204L,0xb0efa2e55f3ed850L,0x18f244698a3ec67bL } },
  31389. /* 12 << 35 */
  31390. { { 0xa35802f5d62cd9f9L,0x0ca9c15d4148436eL,0x261a991d472b9d21L,
  31391. 0xd81a1ed6a2f8e875L,0x942f213a699b6d63L,0x041a12fc0ae57758L },
  31392. { 0x61191c82bd70aabbL,0x3776eb8bee4c23b3L,0xabe23e8652511222L,
  31393. 0x66dd967d30dabb91L,0x77650c597ed27424L,0x08ea2ebdab25a050L } },
  31394. /* 13 << 35 */
  31395. { { 0xa410ba3ab6cb5a02L,0x6eb40d15d07c5c6bL,0x0de81e9107dcc811L,
  31396. 0x996f46eb2631b7afL,0x5a350ba75b7a22f3L,0xf42b24e7634159afL },
  31397. { 0x07bae0abc30952fdL,0x3488cda2d644e0b0L,0x23ae40d0e2111e12L,
  31398. 0x650af54ec80cdb56L,0x0f33a30b7d4aa2a8L,0x4e8d3e98442a00e8L } },
  31399. /* 14 << 35 */
  31400. { { 0xa624ab3759a8bc95L,0x4b7e3fa61c971228L,0xe8229c4273aa694bL,
  31401. 0x0cc31029779288abL,0xf8eff30f57575e0eL,0xee5e01947d52803eL },
  31402. { 0x32d87e558a78f632L,0x48a06031e454904eL,0xaa2cb8dd16c6e626L,
  31403. 0xadd098ac2c140452L,0xd25f285d2d3031b1L,0xfb5fbbe175b59543L } },
  31404. /* 15 << 35 */
  31405. { { 0x2297041fd7a21503L,0xfe7738c2657f03f0L,0x994a8deb168fa34aL,
  31406. 0x0c772e02a53c4fdbL,0x67f835d150124cd3L,0x0e0d26356993cbbeL },
  31407. { 0x9857ed845257f11dL,0xdc23a728ac556942L,0xf0e1bb29deb32a7fL,
  31408. 0xb8c3c43fee0d70f4L,0xc294b0efc60ad214L,0xa4d438dc679067caL } },
  31409. /* 16 << 35 */
  31410. { { 0x520b0bb905c755e4L,0xa2c2c59bf89f0048L,0x85c1c73a73c23975L,
  31411. 0x6e4dec49783aabbaL,0x69f0c69bb0463155L,0x61a42b949c97b17bL },
  31412. { 0x55af24a945d331a3L,0x4b0e63f8f5fe81fdL,0x4034283d708671c4L,
  31413. 0x200ddab35fd9001aL,0xe45f28e4342eaf3bL,0x3e8375b41ba936c4L } },
  31414. /* 17 << 35 */
  31415. { { 0xcde014bbc613b1faL,0x5ad97babcdf992c2L,0x9fe05b9fea13e2d8L,
  31416. 0x93b553e290c4031fL,0xd62bc0818c727bebL,0x284fb61f888306caL },
  31417. { 0xa63f8dcd1101abd6L,0xfe02dc120e962b27L,0xab169958115301e7L,
  31418. 0x8822f954462209baL,0xb3ba3e721198428aL,0x9a73ed38d74c88f8L } },
  31419. /* 18 << 35 */
  31420. { { 0x7db497e17da2f887L,0x0995648b683f3507L,0x50e3ff74f5935bd2L,
  31421. 0xdec083e2708c88dcL,0xbcc3bc3125129bccL,0x7a3fd7a80a407b41L },
  31422. { 0x46ab826c25e0ab93L,0x28e891ec54944cfcL,0x637be168f55c6cbfL,
  31423. 0xfa34e9942a65216eL,0xd23e99afe3a43c84L,0x6d09d189e6fd958bL } },
  31424. /* 19 << 35 */
  31425. { { 0x8aa6ca1381bbd283L,0x3a0633f4ee167a15L,0x7f297c8b9e3b18e6L,
  31426. 0xbead8a50c71fea64L,0xa11b2fdd457aebbfL,0xd7fc286f85bc7bd2L },
  31427. { 0x2922ae5bad1c9d9dL,0xa07741c2ef9ac174L,0x24dab2d457fa8f9fL,
  31428. 0xd7078d946116a870L,0x4b45107834117a37L,0x19a4dd21c73c857dL } },
  31429. /* 20 << 35 */
  31430. { { 0xa2f9b4e4bac5d14bL,0x9f904a3eb8699164L,0x63585978fec79b4fL,
  31431. 0xbcc9b60ebff45cd8L,0x2e515592a5d63de5L,0xc47a048c3bcc637aL },
  31432. { 0x0523810643aba777L,0xf6818e4c77e67aacL,0x9d5827d238f962b3L,
  31433. 0x28a904c6a003988dL,0xc06bc833551f4575L,0x61f6bcc2221cffefL } },
  31434. /* 21 << 35 */
  31435. { { 0xf7cfbbe5055a5623L,0x1f8af775e66d2a5bL,0x0cac440268831d8cL,
  31436. 0xd25185890d0e6f2fL,0xf17838a3182f90f1L,0xefdf6f20737f163dL },
  31437. { 0xc3198af0542242e9L,0xf77c3d28209efb0bL,0x1df6d0da8de7be08L,
  31438. 0x22ef7367901a6590L,0xfa9b4af44b776d27L,0xdc49102c88ace4f6L } },
  31439. /* 22 << 35 */
  31440. { { 0x60c7d148bafa9cc9L,0x0afc5fe2516b87fbL,0x02e20acff795ff60L,
  31441. 0xd1ba069151f32975L,0x8547e7f757be2399L,0x4bdf6abfa0d1b33eL },
  31442. { 0xc793832fa06077f9L,0xad55cccb2d874993L,0x5e217b27314387d8L,
  31443. 0x744d7b06e7f2ec4cL,0x761aa86d24fa58b1L,0x41400d9657dd313dL } },
  31444. /* 23 << 35 */
  31445. { { 0xd17f68da759d20f0L,0xc141ca6827b7eaa7L,0x3796db8bdaff5c66L,
  31446. 0x067119dca1e5220bL,0x174f11777158ddbbL,0xa80365d8cf8bf75eL },
  31447. { 0x0a79f74933567f05L,0x8c2826123c99bb4fL,0xe448c2bdcd6ae726L,
  31448. 0x1ae05aac2ad4b0e0L,0xf90dddcb16442420L,0x37465a1ea75c28e3L } },
  31449. /* 24 << 35 */
  31450. { { 0xf58e05c53178468fL,0xa17c8b868328a2efL,0x1bb22cb44ce0c2f8L,
  31451. 0x1ab807b51aab9089L,0x2aafa8c91e76fafdL,0x58cdf95fb4801546L },
  31452. { 0x2c1e4ef8d5d699f1L,0x1583a2aa4cd433bdL,0x571dcaec7f4f9b10L,
  31453. 0xf62b696b27156c5eL,0x77d2443448820bb9L,0x94e4cfcc11dd3e55L } },
  31454. /* 25 << 35 */
  31455. { { 0xc3fd1feac00e6c7fL,0xf4e42ddabd322507L,0x1ce3e0da023469ebL,
  31456. 0xf81769d2d788b1c2L,0x505cec4c62353342L,0xd4049907ba759922L },
  31457. { 0x9ff98f06618ee939L,0xfa63b3606bd55f31L,0x3fcce488cc4d2515L,
  31458. 0xeb6e92e91d629e19L,0xcae4190bff892af7L,0x3e7b780dca80cb44L } },
  31459. /* 26 << 35 */
  31460. { { 0xbc923fdfaf54b58bL,0x2aef31d88767acdeL,0xfbebb8f07f28a3d4L,
  31461. 0xce5feafe694fe977L,0x606afb0ac9da1ee5L,0x559866a0b74f7c42L },
  31462. { 0xd935191fdc85f22cL,0x5c3002d7c8ce3240L,0xecd278c198452214L,
  31463. 0x665b3176821a3606L,0xce05a914baf26fb7L,0xa178860b60e4e8b8L } },
  31464. /* 27 << 35 */
  31465. { { 0x135c82b55000cc19L,0x34537edf8b2c55b4L,0xfcb6aac2b37acc8cL,
  31466. 0xa882e25e8ce8d7f5L,0x531756e98c7ff1eeL,0xdcdaced9ad6312b0L },
  31467. { 0x309a469b7f3aef9dL,0xf306e32588d8772fL,0xe7e6f3abd4dc0d90L,
  31468. 0x816b01ae49878940L,0x1cb084e84ba5e2c8L,0x395af25b005d08b3L } },
  31469. /* 28 << 35 */
  31470. { { 0x3832cfd59093efcaL,0x3fda8380ed8b34d7L,0x874ec122e2bd4004L,
  31471. 0x3761e9c44270b9ccL,0x6eb2fb1166e640d5L,0x2a45ad23e6dfd0fdL },
  31472. { 0xdcb3272bf8dd082cL,0x7d84341f17486485L,0x0f46b1fda4ca2644L,
  31473. 0x81a1ab1e82baf37dL,0xbb1d72713b322f65L,0x1571e326f4038252L } },
  31474. /* 29 << 35 */
  31475. { { 0x4e00aa41d9acdec7L,0xb2b701bf9f80dff4L,0xc366ce97d5e71e0eL,
  31476. 0x28c2b4e9ed09255bL,0xef54a1a535086ba6L,0xee2e43f2a1c8b39eL },
  31477. { 0x346f22f5d9143a78L,0x71fc5c06f1053377L,0x1789f7644737b5bfL,
  31478. 0xc9f83ee8b0df2648L,0xf91a29e9073ee793L,0x18eb801e3ab450a1L } },
  31479. /* 30 << 35 */
  31480. { { 0x1c3df0914085f0b6L,0xc60c47f5cede211bL,0x7bdead8650b6e857L,
  31481. 0xc68645be2cf9aad6L,0x8d970a94d01540f6L,0x9346f253782ec6a1L },
  31482. { 0x3da31263c1b23981L,0x53076158dbabfb68L,0x22947b9f743dfba4L,
  31483. 0x872e60061c56f47aL,0xe973d81c2b3b8417L,0xb98216184b1fed56L } },
  31484. /* 31 << 35 */
  31485. { { 0x29fa699b8873de48L,0x64f9e1124932447fL,0x4fb0e009e4c20d43L,
  31486. 0x748a0cdf78016262L,0x4891badb7bd23ea8L,0xf1300a437f56368cL },
  31487. { 0x178efa9de8f1f8bbL,0xc31cdb4098a31dd6L,0xc2d5bfbad2c43f9cL,
  31488. 0xf377e2cc8678d990L,0xd42d274808d19833L,0x2d72fd4de5ad5e63L } },
  31489. /* 32 << 35 */
  31490. { { 0xb083ba6aec074aeaL,0x46fac5ef7f0b505bL,0x95367a21fc82dc03L,
  31491. 0x227be26a9d3679d8L,0xc70f6d6c7e9724c0L,0xcd68c757f9ebec0fL },
  31492. { 0x29dde03e8ff321b2L,0xf84ad7bb031939dcL,0xdaf590c90f602f4bL,
  31493. 0x17c5288849722bc4L,0xa8df99f0089b22b6L,0xc21bc5d4e59b9b90L } },
  31494. /* 33 << 35 */
  31495. { { 0x44e6089f006e422dL,0xb4a99bc45b029c6eL,0xd14bd00e6f289edcL,
  31496. 0x8ebbedfa25c50773L,0x5bdad80851d3ade5L,0xe4e70c3094727960L },
  31497. { 0x29b759e863ab2622L,0xe20ad36b134d5982L,0x27c8387f4070e06eL,
  31498. 0x9fae222556593896L,0x299a0f0c3b199172L,0x476fe70977a39ca4L } },
  31499. /* 34 << 35 */
  31500. { { 0xc91a3d2ef4d0d8a4L,0x450193a819e05a78L,0x0e59e0b89eec69eeL,
  31501. 0x2ba20f00138fbf46L,0x5c9fea780e8ae694L,0x62c81c8cc6b73372L },
  31502. { 0x2a1df446ff0997a2L,0x929364ab692bb930L,0x4c4a956436cb618cL,
  31503. 0xc55020a0526be5dbL,0x151f18a02c64c026L,0x2ec5becd61724143L } },
  31504. /* 35 << 35 */
  31505. { { 0x139c7d788713439bL,0x46f7bd4b1e19b1caL,0x74259a28b47977d7L,
  31506. 0x89a912cb8ab1817aL,0x4428e45f06419142L,0x11b9c4836b34a2d5L },
  31507. { 0xb613563a29487118L,0x81f4502ab6249a60L,0xe28685843d4ddecfL,
  31508. 0x138c97297bd250dfL,0x733f2201aaac4593L,0xee6b85ad5d061887L } },
  31509. /* 36 << 35 */
  31510. { { 0xbff288ed74006fd8L,0x388c5a34ded657eeL,0x47d400a2d61a2995L,
  31511. 0x54c684af1eba1f65L,0xd1ba6975b1b4452bL,0xb23dda26f2f8283aL },
  31512. { 0x6bff7acf86803147L,0x839571e5e8ea5923L,0xc89e1048dbc4ccc5L,
  31513. 0x1fa0221120102232L,0xbf7b8f902d4e4406L,0x14c5de43576aba0eL } },
  31514. /* 37 << 35 */
  31515. { { 0x6c55807bfd2f9b11L,0xb01d9f7239e338efL,0x94f6531135628879L,
  31516. 0xae51cf0b0ec6f5b4L,0x387223cfd36b9719L,0xeeb02cc6f2fb192cL },
  31517. { 0x867611ec43c9e89cL,0x5b15785f97930887L,0xb792b88b57ab078bL,
  31518. 0x0c54de110bdc03cdL,0x5785811a30d0eee3L,0xb73bb98436b88b00L } },
  31519. /* 38 << 35 */
  31520. { { 0x0d0ba3c06fba6f94L,0x7f7e0f5cf29713c2L,0xa8cce53ba6b94d6cL,
  31521. 0xbea99382df40fd27L,0xb3ff1c56bcd4f8b2L,0x19124644418f108fL },
  31522. { 0x6fc5260727c26f18L,0xbc5e23d682c7c8f9L,0x12aa5e8e099b8cb3L,
  31523. 0x9d94d88614c579f9L,0x5c629d7a47395f32L,0x9cd280633efbbea0L } },
  31524. /* 39 << 35 */
  31525. { { 0xf0bbf8e88edb7b56L,0x9a76ad71adeb43ccL,0xd99a92528643e982L,
  31526. 0x6468ff05cf17f5b5L,0xe6589476d56b985eL,0xdca4273cbe446b3dL },
  31527. { 0xd430e3a47b9dbac1L,0xe075c00f4cfe735dL,0x3ba43fef12395845L,
  31528. 0x6895f0c3dcb49ce9L,0xd868006aa92843dbL,0x968a8ceec0d5bc9eL } },
  31529. /* 40 << 35 */
  31530. { { 0xc0387b57f440fe92L,0xce8bad38e291c443L,0x022052e5f9e88be0L,
  31531. 0x6f949fe261615c9cL,0xf4874e2d84725fc1L,0x06fb244b73a394ebL },
  31532. { 0xb70553c678208bd8L,0xab1829c028704d28L,0x1453ee1a807b160bL,
  31533. 0xa1da80c34649d33aL,0x072e02e056c32ee1L,0x79baa98f3f590646L } },
  31534. /* 41 << 35 */
  31535. { { 0x1613a710b0fef3f2L,0x9ae438012edeec54L,0x07824d08579c3130L,
  31536. 0xc2beaf806ba2b1fbL,0x7df3c459fc9e85e5L,0x8debf613dbd63acbL },
  31537. { 0x2774ab78f04f3526L,0x36e7ff55a5285219L,0xf2adccaf4ab04c77L,
  31538. 0x14add3d8aa43fbfeL,0x387e4965e3026ac4L,0x154801a1c77391ddL } },
  31539. /* 42 << 35 */
  31540. { { 0x28687291933bc404L,0x6a13b0cc9ba35fa8L,0xd3d1746931c5d126L,
  31541. 0x1c81ce5df9727cfbL,0x14f66be860b464eaL,0x0bbdefb8c10ea9f6L },
  31542. { 0x5679a0e5e8d06c95L,0x380161d83dbfd6e3L,0x6cdd31f20523e6d1L,
  31543. 0x2ff419e0c4b4c439L,0xc7439153e217782cL,0xb1b74383f6dc5d95L } },
  31544. /* 43 << 35 */
  31545. { { 0xcf0d1d2d03746e38L,0x8476c982916e077eL,0x93de41516dfdc6d3L,
  31546. 0x15010d26b78cf13fL,0xbab5a5de97cb08c0L,0x37f0673014a31939L },
  31547. { 0x777c709f6819b0f4L,0xe3c2d2f7114a32e7L,0xf0227e19ec047092L,
  31548. 0xe1416f34b817e1e1L,0x4d7db41419c6c3f6L,0xf12a13a9d01aecb1L } },
  31549. /* 44 << 35 */
  31550. { { 0xa09e68e61f023abeL,0xbc432449aae2d6c8L,0x61e22f727cb683dfL,
  31551. 0x0b5bbc0fd81a0e89L,0x18ea4e774581f128L,0x28df9961cd70a12aL },
  31552. { 0xb0d3b19f8b8bc10bL,0x0805d1439844e7f8L,0xe3ed3d40675ab6a9L,
  31553. 0x026d1200f75e2859L,0x1802457b8bb10969L,0xf94c62b3eadab8caL } },
  31554. /* 45 << 35 */
  31555. { { 0x518e9c4220d03ce7L,0x6c44676187811010L,0x07ff38f99d9be611L,
  31556. 0x5c2bac105cf0cfd2L,0x4e5cc677d5881c2dL,0x02dc395f08e39281L },
  31557. { 0xc3ef99142044f4e9L,0x0203508c20c8c831L,0xd1276c030e0524c9L,
  31558. 0x5525c0af5402f999L,0x5c9a43aa49c2371bL,0x6d7b6700d28cbb59L } },
  31559. /* 46 << 35 */
  31560. { { 0xdec3ab0f7bae55e1L,0x6bae4baf56152625L,0x1d597c0c839b5d6aL,
  31561. 0x243692a966b3b169L,0x37f2ca8eb01c6d34L,0x5baa355aae5c05baL },
  31562. { 0xe0b84c28af384b13L,0x6a2c9386667cd513L,0xc361a75d78319608L,
  31563. 0x0c317ac596ca528dL,0xe243aa8672f0a5e0L,0xedcf9f5fa1d1677eL } },
  31564. /* 47 << 35 */
  31565. { { 0x88e5cf3f74a0a7d2L,0xa25a3883cac23d4fL,0x7be2fc2ba6eb3d72L,
  31566. 0x188be28d391326cdL,0xeca6aa726f3db24fL,0x237cd6f70b9a11a1L },
  31567. { 0xafeca5436fecffeaL,0xa32291510e6d18f3L,0x46699e2500dd8b76L,
  31568. 0x5edb4b1a331eaa12L,0xecf6d8a472ce0658L,0xd91af8da6b80e9e2L } },
  31569. /* 48 << 35 */
  31570. { { 0x7af5da7b63ec62d4L,0x74dc387261dbdee2L,0x7d08dbd360b519a4L,
  31571. 0x4e785f79459ef257L,0xe3e7d5a485fa9e7fL,0xea60c815e9b5665fL },
  31572. { 0x2e570d18c209caf9L,0x7bae108371818d1eL,0x5db42a0a398d749aL,
  31573. 0x149740ff4f555604L,0x72e4f06bbcee0abdL,0x0ecc0cb581ad0830L } },
  31574. /* 49 << 35 */
  31575. { { 0x43550eea0a34451dL,0x8b0b97e9c3aa33e3L,0xdd974528da22dbdeL,
  31576. 0x0337c64dabff3ed2L,0xb50da9e9230cc211L,0x931f891c004d17d0L },
  31577. { 0x8b7f9ccbff366019L,0x5483938033d76a4bL,0x52fceec1950ef740L,
  31578. 0x5b19b50cd18125d1L,0xbbb661f55b9011c7L,0xfbf0ec747beda7fdL } },
  31579. /* 50 << 35 */
  31580. { { 0xebca6bbec047276bL,0xcda078e05c3018c5L,0x4620dedda223af10L,
  31581. 0x962f389ad02fd60cL,0x901fab93baab3894L,0x5ecbbd7506eab11eL },
  31582. { 0x865dc95e62203b9cL,0x04a599844acf85edL,0x877e94647607236eL,
  31583. 0x09592a5684609563L,0x6535176ace76d699L,0x44f2d997ce8812e9L } },
  31584. /* 51 << 35 */
  31585. { { 0xa09c9ab62285b330L,0x6058d94a9b145627L,0x7b4b4141da3c3571L,
  31586. 0xc9347a16033b665cL,0x95e9b4f01a33d052L,0x35520f3cd46c67b1L },
  31587. { 0x24938cb136042a9aL,0x5eeaec9de73b7354L,0xed47914931f08616L,
  31588. 0xb0187b2b713a2114L,0x03c49947e3b76d73L,0x79b5778a2e94fc7eL } },
  31589. /* 52 << 35 */
  31590. { { 0x6bb19d2162de1ccfL,0x3810bdb3339162c2L,0xeb56c72b6aa09df6L,
  31591. 0xac66c58d1d415050L,0x922cd7e74ad9cc85L,0x09e3585f91168090L },
  31592. { 0xffc9a98d31b918a6L,0xc273e186c73c7513L,0xd506753f12a77342L,
  31593. 0xe288a471e5edd613L,0x0f358d310cacf05eL,0xfbadfa2d9a63fcfcL } },
  31594. /* 53 << 35 */
  31595. { { 0x020e282989cf155bL,0xa1fa6eaac7f481edL,0xba422e09c5c89724L,
  31596. 0x43da4df7cad8186eL,0x1bea459cba3ca738L,0xe9f0afdd0c64bc9bL },
  31597. { 0x4c3b3b8e3592686eL,0x7e6938a7b43ea3f7L,0x8e01a54e7ba7dad8L,
  31598. 0x33ecd36ea9c68839L,0x1abd6e125e7e993bL,0x29947e126531feb6L } },
  31599. /* 54 << 35 */
  31600. { { 0xb0fe9b7912a193a0L,0xfa19ad4be4bbd264L,0xd5bf0e5409918851L,
  31601. 0xd07d8e5729cf45b0L,0x228e67cc7744259dL,0x786ea24843ed0fc4L },
  31602. { 0x7f700231873cd08dL,0x394db4a70ef49109L,0x699047c06a8197f7L,
  31603. 0xf5b168443021ff8fL,0x4c8bb55026621cabL,0x6f28b013065208f1L } },
  31604. /* 55 << 35 */
  31605. { { 0x2fb3a7601f809545L,0x8006902ae93849c6L,0x37cc848c9bd9e1bcL,
  31606. 0xf4cd31559d0f6340L,0x357772ac4baef442L,0x0f46d0f77d533f1bL },
  31607. { 0x4121411fd9c12bd0L,0x304083dedb70e364L,0xff6b7a1ccecbeb3dL,
  31608. 0xb444b5972aadc899L,0x29ec79bfdb8b3731L,0x864d8d917fbd8982L } },
  31609. /* 56 << 35 */
  31610. { { 0xa79feacac241c5bfL,0xc86df4c017861e6dL,0xaecd1722a699282eL,
  31611. 0xcce5e345a0464190L,0x0a79c23deca4f6d4L,0x64603ff16a6e7967L },
  31612. { 0x02e24234aa7312c2L,0xa9e1fc7791a1b587L,0x1daef29f94526a4bL,
  31613. 0xa7db710a62ead861L,0xb387fec78869446bL,0xee2171015db19f08L } },
  31614. /* 57 << 35 */
  31615. { { 0x79a0feabe64fb245L,0x5799eea096a4e94cL,0x2592e7a333b063a6L,
  31616. 0x2cac3c2ef1063574L,0xb9cea04a7f4755d4L,0xb8e40abaa0bf858dL },
  31617. { 0xe1723d963ffa32a3L,0x6547b4402701eb1eL,0x16ec552a4da9b337L,
  31618. 0x75f7f4a8fe0555eeL,0xf97e465014f1c2b2L,0x5495fce3d9ccf8a2L } },
  31619. /* 58 << 35 */
  31620. { { 0xffd160fb62c1b457L,0x62efe01fc4d91f7fL,0xc54f75b5208dd413L,
  31621. 0x089514d3e78124d0L,0x752a9ae8c2945054L,0x466636fbdbffa78bL },
  31622. { 0x32936281a265949eL,0xd657c0f084b4d11fL,0x199d8641af455a47L,
  31623. 0x1eb24cc7dbd9852aL,0xd2ce80f856bfbbafL,0x1b31b23ceb862890L } },
  31624. /* 59 << 35 */
  31625. { { 0xc866d2a5fcd5aaf4L,0x4ac2b7f57e21250eL,0xa78cd3cbc50b4a92L,
  31626. 0x2485c3435a5c541bL,0x555db4dc7ef371eeL,0xcd9d6d9c1304f782L },
  31627. { 0xae86a22974b4d57aL,0x68c93bc8dd4cdd8fL,0x7b95411098b9fd49L,
  31628. 0x0dd480b9399d8d4bL,0x0e27be29f2665c52L,0xce8a1ef9d920a5c8L } },
  31629. /* 60 << 35 */
  31630. { { 0x10a6bd0cfc0395b9L,0xe30bf6d06a5e8107L,0xc8aa2483167930d4L,
  31631. 0xee75885006e7e1c2L,0x4ee64cfcedcb7788L,0x9498e9bbf2f1d7ecL },
  31632. { 0x084d2350ae0fcdb4L,0x4398ee677f4d25ccL,0xc1ddca395db85bfaL,
  31633. 0xefd4819747961197L,0xbd16037f2265195cL,0x1c61a6fc56daae6dL } },
  31634. /* 61 << 35 */
  31635. { { 0x640cf6b17f7c8c50L,0xdffddf2209d44051L,0x837275314e3c038eL,
  31636. 0x3164d1875aa8d8a1L,0xb37590bcfceb1066L,0x5e4fab4200d489f6L },
  31637. { 0xc1e5dca3f8105ea2L,0xfdd1b0751c7f8679L,0x571d7dd14f14ac54L,
  31638. 0x84cc453155cfb741L,0x49d0b1be48823448L,0x8365f1f3f798b5d9L } },
  31639. /* 62 << 35 */
  31640. { { 0x9f2409cb6a564a3cL,0x9266799ae5134e54L,0x39aa3697fac47921L,
  31641. 0xdf3db1f32c0b4dbdL,0xfa37a085f096ec03L,0xb99cfe05afaa0f3fL },
  31642. { 0xc9e00e43df458860L,0xbeb7e60ace2bb0b0L,0xdfe2be57cac8d7e0L,
  31643. 0x6ec03d799162b2ffL,0xdfe3a6225d1122dcL,0x9f04dcc8b6014310L } },
  31644. /* 63 << 35 */
  31645. { { 0x30471bf9b42ba5c0L,0x19073fd0c9d26763L,0x92817e8059c1017cL,
  31646. 0x29248f743da195b3L,0x029d7e7be928767bL,0xf1a3a08a049a0080L },
  31647. { 0x8ec4f3e6e20c1d68L,0xae815a11f3ad30feL,0xdd0a6083f76f43afL,
  31648. 0x197d29fe49465bebL,0xf1a40ae996316f4bL,0xec47d65e59bafbc0L } },
  31649. /* 64 << 35 */
  31650. { { 0x6f57752951c2bb65L,0x4a0c1c284b874bdbL,0x19a1842778b96c6dL,
  31651. 0xa674f9922f593505L,0x5abeeec46b7209d6L,0x42d15d0147cf5fffL },
  31652. { 0xe24509b7b49e3b4eL,0x81be939c639ee6e8L,0x7f7daf595761e8e3L,
  31653. 0xed5cfcb8d420a288L,0x365b29eb7a0ff696L,0x7d14680599a1ac8fL } },
  31654. /* 0 << 42 */
  31655. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  31656. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  31657. /* 1 << 42 */
  31658. { { 0x9ee1ec3aadcdaa68L,0xd98c498fdcbb6548L,0x32b9737588102ac0L,
  31659. 0xdd296cf9c08527f4L,0xb74f8145fae3dfbeL,0x84131eb96cd7cc4fL },
  31660. { 0xa0f2fe7a927ff15bL,0x6b0ade4deee1a4b4L,0x6e7df2d40eeb90a7L,
  31661. 0xe2f46e20be4de684L,0xcd28feba3fdd06bcL,0x8e4205aee6d6d9f6L } },
  31662. /* 2 << 42 */
  31663. { { 0x35d47426f78d33efL,0x4af25db28440c42cL,0xbd6a15e22e91bf5eL,
  31664. 0xe366a84cc08b6b1aL,0x759c122f55b97de8L,0xecec558f08a03f29L },
  31665. { 0xdcc9fca2ea9d2060L,0xb3e49b8e9f361fe1L,0xdeae39029b59cd04L,
  31666. 0xf532ede06f5e5bd4L,0x84fbeeb936099f4dL,0x73576b1f088d2052L } },
  31667. /* 3 << 42 */
  31668. { { 0xee43828c6b512bc6L,0xf73dc9f550b91e60L,0x68f23f30f5dbde6bL,
  31669. 0xaf2fe9e3ddd15e00L,0xfbf34dae86578d49L,0x689796556c130010L },
  31670. { 0x137a5fc309942897L,0xff1f0bfe9959f06dL,0x2dd0a04abd7ee14bL,
  31671. 0x59c46072e54e2161L,0xf470bdaeea7518adL,0xce556e4340c471cdL } },
  31672. /* 4 << 42 */
  31673. { { 0x2ba8c79022b25f2eL,0xf4670a511af0f4a8L,0x6842f36a2fc2451eL,
  31674. 0xfc5c9558bb91e1e3L,0x035d1dfcc3ead762L,0x3d0721cb031e5556L },
  31675. { 0x3af0cc813af18a2eL,0x7888cee2bd11a363L,0x80c3de0a6ade1d12L,
  31676. 0xe8c3a5bd93b2dcb5L,0xe3adbd7c90a2214dL,0xfe8646d51192948dL } },
  31677. /* 5 << 42 */
  31678. { { 0x9214cd4bf1c7ed94L,0x4887c7c63738f386L,0xa72ba72bf623e542L,
  31679. 0x3c52a464f67d6004L,0xcdb6171d09b9a4ffL,0xe5eb77d160aba627L },
  31680. { 0x7aa9836f39d6afdcL,0xa3fa3a520e0a1e18L,0xe90bd925dee3a4c4L,
  31681. 0x47e8eeafd9a94dcfL,0x34302a4921e16feaL,0xe32a62eb8ae23949L } },
  31682. /* 6 << 42 */
  31683. { { 0xd1d70db31df1d1f2L,0x22ebc9bd9fec1f42L,0xde5ac585d11d3205L,
  31684. 0x0e4584ab282d4d6eL,0xc87607928f78b85bL,0x48a85682af1fbb6dL },
  31685. { 0x64d012ceae0947bfL,0xab792bbf25e22366L,0x250d40d4a3a030deL,
  31686. 0xe9b49f0877e26b9cL,0xe7d30c828c0f2249L,0x2b77b40b97c676a2L } },
  31687. /* 7 << 42 */
  31688. { { 0xa89144b89efc8fe2L,0x23625c36e13b79c9L,0x4fdea1d3a047ad35L,
  31689. 0xd0b0ee0d4ae78e01L,0xc224b3f3eac4e606L,0x4360e8acfa41bd81L },
  31690. { 0xb2c69238062437e7L,0x86ce8de0decd1245L,0x2ce4be3dfa9d07bdL,
  31691. 0xfd09aa853d268d06L,0x4cd874264a162aafL,0x1b28f72e9d45e849L } },
  31692. /* 8 << 42 */
  31693. { { 0x65026297ba958101L,0xbeb4adf98eef151dL,0x623763a460c8bbf7L,
  31694. 0xfa8f5ad78b2a7120L,0xfd744bdf085497e7L,0xf9b6f97e2ba35618L },
  31695. { 0x0cebfe9df8a15e86L,0x47a6d01329576088L,0x655817a3fcf19627L,
  31696. 0x30ab44f7c2f11261L,0xbb001c9dddf2c850L,0xb45c7eff073260c3L } },
  31697. /* 9 << 42 */
  31698. { { 0x609a02d031716f88L,0xdff6246c45421ce4L,0x544f3162142838d9L,
  31699. 0x8842dcbe36b57d38L,0x2818919c57f561e2L,0x87f5acca318373aeL },
  31700. { 0x42773fb72edf1501L,0xff92c38648e9d8a3L,0x21a81668ccd5a860L,
  31701. 0xbac5cf837328cee1L,0x7441f749ddc53a05L,0x987d3a1cb5abe243L } },
  31702. /* 10 << 42 */
  31703. { { 0x3b7c44f8fb90e50fL,0xeafeda047cc384fbL,0x9a33e377de65e34eL,
  31704. 0x303f568095094a58L,0x4c0f2e932292809cL,0x920c9c12160b30f2L },
  31705. { 0x31d14e1414b268d4L,0x9964173f1eadb1dcL,0x8e22b362eccb0f39L,
  31706. 0x81dccdf83bf9ece1L,0x8e2fda43a40503b1L,0xdb647ac13e112199L } },
  31707. /* 11 << 42 */
  31708. { { 0x9c23216f096c21adL,0xae259a6d41fa37f2L,0xefe0a8c9efe96f6aL,
  31709. 0x5631701dd6a27744L,0xed8d0219b3017563L,0xbe2723bca0867a0cL },
  31710. { 0xe02bcb56687b62cfL,0xf26c0f77b96f66a9L,0x43e46251fd16fa3bL,
  31711. 0x206a180a44033302L,0xcfa96b556121888eL,0x50567a7789dabe7fL } },
  31712. /* 12 << 42 */
  31713. { { 0xb08fb1175cf3e702L,0x7379b1978023df0aL,0x73aefc7b6f954966L,
  31714. 0xc0fb886f76bd243cL,0x871eacc5ce09d5a8L,0x9f55b0a4e773f049L },
  31715. { 0x92945c84415d725dL,0xcd57391f0112ad84L,0x4762bc1d0509d73fL,
  31716. 0x15cf97f10f1af175L,0x1f855695328c160fL,0x32cb87263b439f0cL } },
  31717. /* 13 << 42 */
  31718. { { 0xb27e344ae6361abdL,0xa53690eb474027a8L,0x500db02d683a8ef4L,
  31719. 0x547ecd17819df66cL,0xc35cd4cc91360e21L,0x6ea003a16026dfedL },
  31720. { 0x45e77cda22395207L,0x1e8e103f91264683L,0x130f2d2b3bd6328eL,
  31721. 0x6ae25c819af8973dL,0x6b0f90a0d32d7134L,0x0280a95755c62195L } },
  31722. /* 14 << 42 */
  31723. { { 0x23781958cd8bb5aeL,0xe3d30c5417dd827aL,0xf974e0076bedf762L,
  31724. 0xd8154b6273264accL,0xf10fd9bb167b9396L,0x967c5acbe9652a0cL },
  31725. { 0x46775025a28fa76cL,0x17ac7cb32ece9d3cL,0x5fd8968ce04a833eL,
  31726. 0x96ed5b49fcd20a43L,0x1d209e85289f9c68L,0x4d7473518ce51950L } },
  31727. /* 15 << 42 */
  31728. { { 0x6f5c8f3475214c1eL,0x3d5560bae192d11eL,0xd8a63ff0d7af2e6fL,
  31729. 0x5fb858be9069fe09L,0x83956dcd8cc663f9L,0x52d30c3b838bce30L },
  31730. { 0xf354f6d75569122aL,0xfcef54d1fa68f566L,0xc75b01e79020dfe9L,
  31731. 0xaac66895774b952bL,0xb2a58a299468cebeL,0xa994a3b487c81a42L } },
  31732. /* 16 << 42 */
  31733. { { 0xfa7d1236e2319f38L,0x9ba1a1c0a551d3feL,0x9ea27288beb1282bL,
  31734. 0x1c069efa07fee8a9L,0x5749c7b55870fee9L,0xbedca76fafcec6faL },
  31735. { 0xa3f8f1b14c63c5e2L,0xaa1bb15694758ac3L,0x753329a9b59dc06eL,
  31736. 0xfa8e5f5b98a92c38L,0x6b6f46fd3c2b4662L,0x716f41a1ec04c6c6L } },
  31737. /* 17 << 42 */
  31738. { { 0xa882aa6389201dffL,0x3441fde55bfcde3fL,0x220cca60cb543f54L,
  31739. 0x2af1cb29d764d74bL,0x47ae56d0517617c6L,0x05b98dee0342bf55L },
  31740. { 0x214f4b11b4e28cfaL,0xa6ebcdf5093691ffL,0xe49ca185f61d29acL,
  31741. 0xd304ac40fd8c9018L,0x196161a0f889b7c7L,0x3b704d52dcfc6c91L } },
  31742. /* 18 << 42 */
  31743. { { 0xb405aff88886500aL,0xd88008bebeeabe24L,0x9457cdf30bc931b2L,
  31744. 0x8e5fd378f4c5aac1L,0xdec408107bc2bb98L,0xf86424c598b16f6eL },
  31745. { 0xb6af27b634df75d8L,0x1bd3082125943a31L,0x51176cfcec993c24L,
  31746. 0xcfc1433accbd192dL,0x324a5e1e2993be83L,0x34169fc1d06215adL } },
  31747. /* 19 << 42 */
  31748. { { 0x41aa181ad260133aL,0x627dbe0346e236d2L,0x717fba9cfb8cc72bL,
  31749. 0x6e21d03d69bbc9e7L,0xd903e845241abdecL,0xd17879fa3c20cb6eL },
  31750. { 0xe6141bd463a360b8L,0xa784a651e86cdcb9L,0x80fe8dd11f9147fdL,
  31751. 0x641241c6de155420L,0x1caef32ba71f3546L,0x28c3a51a79fdf82aL } },
  31752. /* 20 << 42 */
  31753. { { 0xaa16c27a84a3d033L,0xc207a4990c11c9caL,0x7ae2d193aae87c9cL,
  31754. 0x125ab459916d634eL,0x02ded714cfa65b4bL,0x6efe84944e212e22L },
  31755. { 0x97c48a1888766168L,0x663ccc9dd9c85b9aL,0x6fe8b77b2652f501L,
  31756. 0x1daa602d078efd38L,0x35885364dbcb8299L,0x25bd1826b8240626L } },
  31757. /* 21 << 42 */
  31758. { { 0x6621d504af748cb6L,0x3940e5e08dacbf89L,0x9fdd8eeaf546daffL,
  31759. 0x18fc70d4b42f9507L,0x09bc4af9a3fcc42cL,0x9199b08f4165304cL },
  31760. { 0x039d45bed3d0e9eaL,0x0963ede2a6464c2bL,0x77f47a62b5215830L,
  31761. 0x3a0ce54c3e540cdeL,0x34cf6031b2be8f77L,0xeb143e60201083efL } },
  31762. /* 22 << 42 */
  31763. { { 0x21404da5442467a1L,0xe73047597f7023e0L,0x836439a8213ff492L,
  31764. 0x105fe0e37ca0fc37L,0x73835ac85b303c34L,0xe29d830e0057ac8cL },
  31765. { 0x457d083e3b5f41bdL,0x228b26c357341890L,0x8e8f194c4109bf9dL,
  31766. 0xd032cf2b6e4a39e3L,0x012e9515d88f9292L,0xd1a4cd32e957e163L } },
  31767. /* 23 << 42 */
  31768. { { 0xec56b72f4ab23680L,0x7cb58e727f22217eL,0x6e98647bd045d18dL,
  31769. 0x2b7c9caa9a73b956L,0xc414eabef120122aL,0x45d9036bb6e1b134L },
  31770. { 0xe963c88388abd93fL,0x257f3b619180cb9aL,0x915fee5cb6ca7abdL,
  31771. 0x2166402cdb7b1bb1L,0x636f85f6541614e4L,0x81f91a1849d9e527L } },
  31772. /* 24 << 42 */
  31773. { { 0x0430af7759b11c7aL,0xf71cc5b1d4f47acaL,0xe1a7905f12e9190fL,
  31774. 0x1c689b7012db9e14L,0x6bdd3dc90abaeeacL,0x97f1c244504f0319L },
  31775. { 0x874afd61a7a54b51L,0xd4604ecbe3d979b8L,0x0d33eee1ebf4aab1L,
  31776. 0xa3631cac1aa49fe6L,0x0d8340fbf2217cfdL,0xf6373284423b7e77L } },
  31777. /* 25 << 42 */
  31778. { { 0xc6cdb5ba6f7972d7L,0x7ac7d438907d281eL,0x9160a8f5c01044ddL,
  31779. 0x3d74d7eac19ba8f9L,0xf7c7f93f112433e5L,0x2ab355a2012236d3L },
  31780. { 0x1168ce913009447eL,0xbefde8dba26e3458L,0x6f9837db49ec8169L,
  31781. 0xb4d1e35c86782931L,0x41440a76d711e5f4L,0x8fc7a5aeacb5cd89L } },
  31782. /* 26 << 42 */
  31783. { { 0x73719fe8286e8aa5L,0xff8663419982a4a4L,0x684511702fb2db95L,
  31784. 0x4f1c0eab01d80ea1L,0x2bc50da5530af14eL,0x00d1d5b506071a95L },
  31785. { 0xdb618990a6b374b1L,0x06ad90084e79ebe5L,0x281d01a424a63b70L,
  31786. 0x87dbd6d5348625fbL,0xdc90f0bef576b1a9L,0x1a9ef270987747a3L } },
  31787. /* 27 << 42 */
  31788. { { 0x135e416ed651b9b0L,0xe55f7f104a5e7979L,0xe55df2550f0729d2L,
  31789. 0x666f2744e33ada22L,0x4968bb982cbcb4a8L,0x7ad4e7811028dd81L },
  31790. { 0x0e59f0dcd7ca8b60L,0xd71628cdd2a600b2L,0x7eaf6d308b0af99cL,
  31791. 0x6224b6452900105cL,0xe0513f4388650f12L,0x2a63822a6f6c5234L } },
  31792. /* 28 << 42 */
  31793. { { 0xf8c07373078a045eL,0x998b2d52a81724d2L,0x2b97faf1a6305a28L,
  31794. 0x5bc61f67f3e0f93dL,0x7238583cd7aeb8c1L,0x851ecc4b39f5f24bL },
  31795. { 0x1cc8b4689992c20cL,0x73168a863c8553dbL,0x1b9a5f95ba2641adL,
  31796. 0x87a0c362ce9d565bL,0x07fb51b2e1eedc62L,0xdb300ac6a973903dL } },
  31797. /* 29 << 42 */
  31798. { { 0x789ca390f33e8516L,0x6a7f594cdee7f1caL,0xb4b6b9ca988005a6L,
  31799. 0x14f7b4806cad024bL,0x682a86285a576b68L,0xf188c74e40e1984dL },
  31800. { 0x3584b5e6bf6f19c6L,0xa350b1d2b7467bf3L,0x3b3bb966aa3d1266L,
  31801. 0xebbd2c782804d8a3L,0x91a272d36a9caf4eL,0x553ada4158fa7041L } },
  31802. /* 30 << 42 */
  31803. { { 0xb564a0d9807e30a8L,0xaba07b1534a637ccL,0x010e76c5840d8e37L,
  31804. 0xb6dcb9ac95f6765eL,0x2f5f8fe103b3ec08L,0x10c5a24fb48363efL },
  31805. { 0x5ddacb2709c4dc1eL,0x8e2884b1e03bafc5L,0x84d56df3cfc2d599L,
  31806. 0xc8e2da84ab78ec0dL,0xace4663f900084c6L,0x98d9a1df5d49f42eL } },
  31807. /* 31 << 42 */
  31808. { { 0xb10ca6eea690d9c8L,0x0b8b39efd5e0d490L,0x2685d320e63807d4L,
  31809. 0xca40d0ee83116ce2L,0xe1e1434fca51b48dL,0x178a91afeddde4a9L },
  31810. { 0x64f59e3fd0dace59L,0x57b33c26278b1820L,0x2ca13b041550875aL,
  31811. 0xb21f675a4e0db4aaL,0x2bbb3edb0216d3c8L,0x7f39955b96ec8017L } },
  31812. /* 32 << 42 */
  31813. { { 0x78a53b5a9563e3bbL,0x19c75eb286af355cL,0x3520f427019a6f8eL,
  31814. 0xde6fcad6dc3ad0baL,0xfec96e4f79745b7cL,0x5e566bbdb133f2dcL },
  31815. { 0x50088a2b26561be7L,0x16275b4cc5fddfc7L,0xf21332ff23ae4b9dL,
  31816. 0x8cbc659e85246712L,0x27fa9c8df50b515eL,0x25ecf745494ac8b7L } },
  31817. /* 33 << 42 */
  31818. { { 0x7cb130e0837ab43fL,0x8a1f00127b9f6c17L,0xbf827f6d17fa5e12L,
  31819. 0xc181b1264914a231L,0x8ce70fb6986288a8L,0x9832863fcd1c276eL },
  31820. { 0x738e99819622ecd1L,0xdfc1b43cb73807abL,0x7254b4cf1b673290L,
  31821. 0x2d689f38fb20f902L,0x86460de83c34960eL,0x8453896aed8f62e0L } },
  31822. /* 34 << 42 */
  31823. { { 0x9f74efc606f4904cL,0xa280e4c26d3bc556L,0x974f9bdb75975ee2L,
  31824. 0x1bc0e7fb6dacde9fL,0x2a110d4c49649375L,0x045432c09090d834L },
  31825. { 0x84295a20195083cbL,0x92ea17cac7dcf71bL,0x3acced0be70be8c7L,
  31826. 0x3703dfc007e28816L,0x37fbf2d1e869fb8eL,0x8c6b0bbef9c35ff8L } },
  31827. /* 35 << 42 */
  31828. { { 0x04a991812f1d2778L,0x0d78573685b91ae0L,0x8c32d6046a5252a0L,
  31829. 0x12b043131a0df85eL,0x40c4db631ee669b6L,0x0f499408f18f5f9cL },
  31830. { 0x0dcdefabbfe9a187L,0xbd371c45ca650d7dL,0x33819eb00a36748bL,
  31831. 0x82d1af1f29034844L,0x301f906d96257b2fL,0x862728ea9395c666L } },
  31832. /* 36 << 42 */
  31833. { { 0x33a2194f40175152L,0x0f7ddc1dbb13f08bL,0x7c08860850b54274L,
  31834. 0x7ebb2c11e41f0795L,0xf915683fbe20d37fL,0xcbcc14889daacec5L },
  31835. { 0xfb02c20fea459050L,0xe964d76ad5815aa3L,0x0e009be9496bbf2dL,
  31836. 0x8233690eb42d0f7fL,0x98ee83d49168eb0eL,0x34c3b6f3621fa292L } },
  31837. /* 37 << 42 */
  31838. { { 0x29555d79b0221994L,0x1dd689dd4c9e8f29L,0xcb83ed2c853f5261L,
  31839. 0x04b1475e0d9b0670L,0xa28b15e7df2ec34eL,0x094409b5e60a168eL },
  31840. { 0xe4b9fd0e16ed42fdL,0x02f97e84a138f2f6L,0x91dc216ce13520dfL,
  31841. 0x59564eda7a245e5dL,0x825278be8478befaL,0x69daadd20328c4d1L } },
  31842. /* 38 << 42 */
  31843. { { 0x6ffade389995db43L,0x88974055790f4b92L,0x082e5add525d19e1L,
  31844. 0x002c414897bd9931L,0x3f093b3b5461cff7L,0xafc95b0042b8d3f2L },
  31845. { 0x0a8f7687a993155dL,0x1edfdf616c2bb58aL,0xb5be2d4fc44049e4L,
  31846. 0x6fd505bb8dfdf4e7L,0x5386f02a41af5871L,0x8178817569121027L } },
  31847. /* 39 << 42 */
  31848. { { 0x1deada722706171eL,0x1baf4c9aee773c6cL,0x458efac06977d673L,
  31849. 0x1f2c2f38646e29b5L,0x36ece91a53323300L,0xab51a49bc4d598e8L },
  31850. { 0x7802760ed8e41d8aL,0x2996f790587425a5L,0x227165b73ca21bedL,
  31851. 0x0d9e5c5283536ec3L,0x6232f2e089701806L,0xc55e80a2894e2577L } },
  31852. /* 40 << 42 */
  31853. { { 0x437b7224641e3bd1L,0x84e39f7980a58460L,0x68e5292709759523L,
  31854. 0x0176a3ace77f5904L,0xde92fb15e151e242L,0x79965c9aeb1438d4L },
  31855. { 0x318a810a596700b9L,0xa8a6ec57c2198cbeL,0xd7709aaabf030fd2L,
  31856. 0xb432023472f5d326L,0xc9945214b03bce50L,0x0bc06d9bd4ecba09L } },
  31857. /* 41 << 42 */
  31858. { { 0x30630eefaadf21b4L,0x94896f68042fb57aL,0xe678fc3eb312e7daL,
  31859. 0x325cd2bc5c94c991L,0xd4eece20bea4e518L,0x9d9d65e925eab2abL },
  31860. { 0x5439c348676454e8L,0x9eb68953be1e48ccL,0xbeea9da27b625a31L,
  31861. 0xbd82c6ee48cc200eL,0xba9fc94444b9dc77L,0xb31bdebe1eb9283aL } },
  31862. /* 42 << 42 */
  31863. { { 0x1ac1a09d07abf58bL,0x7372e532b5770f9dL,0xe1716687c12fe180L,
  31864. 0xd91f4d36c715009eL,0x5d8885cfd6fe1cd3L,0xc0ab5a13aea65e52L },
  31865. { 0xa5fe05a0838e5e05L,0x590cc325971fb33fL,0x3bd8234a4653bf57L,
  31866. 0xb83300373708c1aaL,0x27453d3b0e84e8fdL,0x9dd3f05399cf918fL } },
  31867. /* 43 << 42 */
  31868. { { 0xaf6f26c3a36468a3L,0xcab875f28d9fc8deL,0x0209b1ad52f4479dL,
  31869. 0xc9941cb5459542cdL,0x91603260a0212b68L,0x98018317345673edL },
  31870. { 0x2b02a35ef98b810fL,0x15953f78b714fb32L,0xf9f9c61eb71a4b4aL,
  31871. 0x959b1473a8505b7aL,0x331d32cb4c6ec97cL,0xb1d2dd44e49f189aL } },
  31872. /* 44 << 42 */
  31873. { { 0xdfb0508345c0a2acL,0xd13790035eacfb2fL,0xe9872d766a2e126cL,
  31874. 0xd2a89cbd39a02d27L,0xf45baf72d754b7c2L,0x37985ef8c6c61bafL },
  31875. { 0xbbcd3ef2da1c46b1L,0x5af5dda43a355d83L,0x9f7ce4281d67a984L,
  31876. 0xf19526926fa33654L,0x2abccb55567b3b71L,0x1b3704f3300cf29fL } },
  31877. /* 45 << 42 */
  31878. { { 0x9dcfaf21712af69cL,0x26de8fb05291cd70L,0xc778294742072171L,
  31879. 0x889b9fbc8c617e24L,0x5971e60cc2926862L,0xdd8e70bddc022533L },
  31880. { 0xc783e1e30a369db0L,0x37f562ab07b2bb92L,0x5043f3d40c060f44L,
  31881. 0xa9650f47a3e17ac4L,0x3b8cd7ad18010ceaL,0xeed5de39969849e7L } },
  31882. /* 46 << 42 */
  31883. { { 0xf93c3ccb6044ade6L,0xd14a13f8fd376746L,0x1fc20e6fd718a98eL,
  31884. 0x9f63c6673e31573eL,0xe99b7693a8e0c66cL,0xdad4615c1e5b5f5dL },
  31885. { 0xcbdb7200ac98f5a3L,0x31414469668ab045L,0x82e92df9bacf0ac7L,
  31886. 0xa61f4e8371bfdf94L,0xce8cb699d1bc5deeL,0x42da8ac72f2f837cL } },
  31887. /* 47 << 42 */
  31888. { { 0x0b6252fc32a4e8a0L,0xac1e457dd7170402L,0x76faaffeb121e40fL,
  31889. 0xd2dc3cb84ddebd9aL,0x303e47cf362348a1L,0xe37e824a829d9806L },
  31890. { 0x419cc2cc7c2ec135L,0x3eab37024cecfdceL,0xf0c9f19088403d18L,
  31891. 0x73c8984daf61b6a3L,0xa2d44d9e00c232a1L,0x61fdf4883cf1cecdL } },
  31892. /* 48 << 42 */
  31893. { { 0xa1972c2196fffb94L,0xbe04093099d7633bL,0xb116ff407e23d66eL,
  31894. 0xcb12b2bb949a19f1L,0x75df10ee79e49e91L,0xa3bf90764890bcf4L },
  31895. { 0xcbaa76a609a30252L,0x17c224a90ee5728eL,0xcbc56e5cf4f3f4cbL,
  31896. 0x8a07110f4fe868a5L,0x23289f2125e110a2L,0x0289c12bd7693c45L } },
  31897. /* 49 << 42 */
  31898. { { 0x4a9c6f8bea96a0f4L,0x78262a3499e3aaa3L,0x513a8e2028b2634bL,
  31899. 0x5ba40287d85d74b0L,0x5702d11d440fcbbfL,0x1933c88a0df91fbdL },
  31900. { 0x642247909a0aff2aL,0x85dc2ca13734398cL,0x1009884fd7aa787aL,
  31901. 0xc666a62a0e73f4f5L,0x491bb941cce66210L,0xda8e896bcd173443L } },
  31902. /* 50 << 42 */
  31903. { { 0xdc9b37a7c6e32022L,0x158cd4bb342a148aL,0xd62d371cf06287a0L,
  31904. 0xba027eb6e9fe0a01L,0x8e7c6f5372017d09L,0x13c5d6ce9381d9c7L },
  31905. { 0xbd0bc2d46e32f045L,0x52cf0f2554ab7f2aL,0x2e674e50085643f2L,
  31906. 0x77bc15aef1662819L,0x57f9e3c4f2ebe66eL,0x839aaebadd284956L } },
  31907. /* 51 << 42 */
  31908. { { 0x752bc171ed9d735cL,0x76d96d3419ad5c26L,0x9549ad3e25c1d83aL,
  31909. 0x8f6fed53cd460d20L,0x04504f7c7b619b69L,0x68265559c566f393L },
  31910. { 0x5e39e108804598edL,0xace859b01f4538edL,0x4b8503070c85e5daL,
  31911. 0x9f087821abcd4ecaL,0x126d3850c8d0def4L,0x66971fe5263457b2L } },
  31912. /* 52 << 42 */
  31913. { { 0xa82ac9983a4bc15bL,0x28697435c930e4f1L,0x191ebdb6b0c9cef3L,
  31914. 0xff05f8e875748872L,0x5b86940237343b20L,0xa7bce94beedfe44fL },
  31915. { 0xfc271e2778f4e1fdL,0x652c5a187734db66L,0x108f61c87efc9a9cL,
  31916. 0x01db328970ed1dc1L,0x2bc509afd249f61cL,0x0d2e6b4cfeed393dL } },
  31917. /* 53 << 42 */
  31918. { { 0x691199d77a477295L,0x1f0679a661746b75L,0xf3a51493c9f936d7L,
  31919. 0x1fcb336a445af5f6L,0x9880cdebb94ce08fL,0x784fa04a22a6b57aL },
  31920. { 0xc85fe18caa97c3bbL,0x27294a3baabe9b50L,0x9418a5b7b673c915L,
  31921. 0x686cd97a15dceed5L,0x6d1c9dc70f22ae6aL,0xed88e02dc02212d3L } },
  31922. /* 54 << 42 */
  31923. { { 0xa62c358dcf616234L,0x85402ffad40aae7cL,0x315ce9f151a7614aL,
  31924. 0x6f7e796f5d0c7d7dL,0x73bf57faf3444d22L,0xb5e71e7a224b77c0L },
  31925. { 0x94c40681541ee741L,0x40c97253d6837e1bL,0x1058fe7bb1f1c742L,
  31926. 0x3206256f9b24d65cL,0x0abb12a78169ba8dL,0x01fcdb7beae85db9L } },
  31927. /* 55 << 42 */
  31928. { { 0x868f294309fdbd8aL,0xd9c11e7ebdd6c274L,0x3be4d8e7fdcb4fb7L,
  31929. 0xcd8c40ad17305d10L,0xf12c97642abde5eaL,0xc9e16d8256776e80L },
  31930. { 0x279c0248df05235cL,0x4bdd8b136d8e4b89L,0xab8bbe8d7c47d2c5L,
  31931. 0x12ba8b9e255c665cL,0xd585ce64d140a518L,0x55947e69eb4d353dL } },
  31932. /* 56 << 42 */
  31933. { { 0x06ba6db1f184c91fL,0x3c0a348a45fd0382L,0x0d535b6e4434b527L,
  31934. 0x7bbfa2c8692bae0bL,0x5c59a08ebe7fe51cL,0xbaa7d2be36e80cb8L },
  31935. { 0x8a42d8d1bed3cae8L,0xd9e0bc0d15ff4962L,0xe51fce93644c75ffL,
  31936. 0x40222561b9392d63L,0x8ab1d286023b4787L,0xfa85c220a1b3190dL } },
  31937. /* 57 << 42 */
  31938. { { 0x294845c28ed1d81eL,0xc0402af2dbe7fdbaL,0xbb56d86d67abe6a1L,
  31939. 0x2e61f65b2ed330e4L,0x2893eaebffdf0fd1L,0x06cff97a75fb77dcL },
  31940. { 0x2911ebac1c90fe64L,0xd9c40d77e5ee3458L,0xf5b8b1d4b355f191L,
  31941. 0x5be71a4ef365bc6bL,0xe2db432f5277b244L,0x3272a28327235b87L } },
  31942. /* 58 << 42 */
  31943. { { 0xe5105755e6b16cbfL,0xba9fb47b536a49f0L,0x03ac0c10c75ad751L,
  31944. 0x9090bc328a2d65a0L,0xcecc7202852b3d23L,0xd214f70128f67958L },
  31945. { 0x379899b1f3695cabL,0x8f3d02e9bd3342c2L,0x9870a7f9e24e7bc1L,
  31946. 0x7277e115f723893eL,0x6932ceef0f6f1936L,0xd0bf06dde171306dL } },
  31947. /* 59 << 42 */
  31948. { { 0x815cabeb17832ce7L,0x65afc856a2a4864cL,0x9fe4ae1aa4939a4dL,
  31949. 0x7005cbd90729a3c0L,0x887f0cca791e8ad6L,0x55cad97a85aca45aL },
  31950. { 0x3e89d294493c7dcfL,0xf4ae5277ae8ed154L,0x507a3fd0a08fbcdbL,
  31951. 0x4df3c552f86677fdL,0x6529f9ace3a82131L,0x09efe1fba53a7c67L } },
  31952. /* 60 << 42 */
  31953. { { 0xbbcfa42d21fe8f67L,0x82983012de2be980L,0x88bb9704aa8e17a0L,
  31954. 0x100ad5e784772203L,0x2867168965479d29L,0x0334f9c5c2d9d5d3L },
  31955. { 0x49032c1a83a6cf83L,0xc257b0901dad479aL,0xf64177dea7e3636cL,
  31956. 0xb2b5747874a315abL,0x210b11cda170ccbcL,0x80509b7480d80177L } },
  31957. /* 61 << 42 */
  31958. { { 0xe98ad30696993a74L,0xa7dc8330f0484940L,0xc30319fdd61b83d0L,
  31959. 0x76e2755809873771L,0x33f4f43ecaedda98L,0x68d5ffe3639c8d3eL },
  31960. { 0xe3cf3b850059b2d9L,0x7f3ecb2f6a3d057eL,0xb569c24b9b8b7466L,
  31961. 0xeed92f2ac38ccd58L,0xc16a4e8ce765a2f7L,0xa3a7b6552de9cb38L } },
  31962. /* 62 << 42 */
  31963. { { 0x496de6fa0640df83L,0xa4e500a36c77c97dL,0x45609036947aed3cL,
  31964. 0x0edb9422423fc5d8L,0xd0c01b2e68f70746L,0xae44ae0e6d77f3a3L },
  31965. { 0x7cc7e90635adba9cL,0x107a3b46a8413303L,0x9e3eeab98916817eL,
  31966. 0x1a99dab86fb74601L,0xb4e8466c1064b039L,0x249149146fcbadeeL } },
  31967. /* 63 << 42 */
  31968. { { 0x89643fa624798452L,0x179b3bd76ee52833L,0x343096e54430c6b3L,
  31969. 0x589dba3323461536L,0x59073225c3433575L,0x540f9ce317d80d42L },
  31970. { 0xcd04b14d3aea6c82L,0x9be179b0efc9f455L,0x0ad6fb0791e57cbaL,
  31971. 0x33894fa262706b10L,0x2cbc270886bf6926L,0x2cf067e64ea48c6bL } },
  31972. /* 64 << 42 */
  31973. { { 0x298647532b0c535bL,0x90dd695370506296L,0x038cd6b4216ab9acL,
  31974. 0x3df9b7b7be12d76aL,0x13f4d9785f347bdbL,0x222c5c9c13e94489L },
  31975. { 0x5f8e796f2680dc64L,0x120e7cb758352417L,0x254b5d8ad10740b8L,
  31976. 0xc38b8efb5337dee6L,0xf688c2e194f02247L,0x7b5c75f36c25bc4cL } },
  31977. /* 0 << 49 */
  31978. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  31979. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  31980. /* 1 << 49 */
  31981. { { 0x36c9dbbefda8520eL,0x573507ce6ae3ea98L,0x1ab38db696a8f9f1L,
  31982. 0xe031d2356b01e6bcL,0x10466ae68afc4adaL,0x3b35df41ed9c44e4L },
  31983. { 0x61272c12c7bd99e8L,0x6a4ae7b4805afd79L,0xf4c47a910ecc49ebL,
  31984. 0xeb95dfeccbe84d5cL,0x43f3b71c8ee497d7L,0x2547af524c6fece4L } },
  31985. /* 2 << 49 */
  31986. { { 0xe323ed0cced45039L,0x04ce0b67a90aa713L,0x9c092f06e8d68e4eL,
  31987. 0xd8f5555ad0742e5dL,0xe2d175bf00d3df92L,0x8ca55f154f71aeabL },
  31988. { 0xd1762d72642d391dL,0x0dfdd3c2aec466bdL,0x2caacb4c6281f2a7L,
  31989. 0x635ba4703603e53aL,0x94a9811d49fecf29L,0x3a42cf09466bf361L } },
  31990. /* 3 << 49 */
  31991. { { 0xe63fbb10b5356889L,0x5995a0a92e73aba2L,0x5cea30677afd4bf7L,
  31992. 0x4494e39dfd37120dL,0x8c572c7249d718a7L,0xfe159c275fa305fbL },
  31993. { 0x751c217fc276c40fL,0x44d0643c45e40857L,0x9a996e6efe7a6486L,
  31994. 0x1a4f6d10f53b0e47L,0x651390ecd15fd593L,0xe0c1181d739ee9eeL } },
  31995. /* 4 << 49 */
  31996. { { 0x0f05710b11bccf2fL,0x7113085a7aec1bc6L,0x137da67a46b8d0e2L,
  31997. 0x454b89fc698b78ccL,0xf2a6e1de258a9393L,0x5f1804e716488e69L },
  31998. { 0x7c6c550215b3bf35L,0x3b0e09a5b05c2ec1L,0x4b9de30e92f15247L,
  31999. 0x09d4ca9327e70a0aL,0x9c8b16340d149363L,0x54a8287cce642137L } },
  32000. /* 5 << 49 */
  32001. { { 0x3a05e7d5ca2af43fL,0x068953f975009801L,0xd6c8a76c06740141L,
  32002. 0x7e1df1038a831fa9L,0xfe06e2bae39046f3L,0xda5264a0e1807c29L },
  32003. { 0x1be4ffedff5d4808L,0x299d6537c52be83cL,0x1b38adba11834a9cL,
  32004. 0x6074a60b1248fd42L,0xd9a0bd2e041b5430L,0xf222ba84a7b76b03L } },
  32005. /* 6 << 49 */
  32006. { { 0x49ecd6f3346a764eL,0xe46847f14105e657L,0xce9cb2b57550f608L,
  32007. 0x45f1a1f7f4cf062eL,0xcdb19a112c27d38aL,0x36d375b284e50b19L },
  32008. { 0xf43691540dba6405L,0x4c9dc863040354dcL,0x7229e70ea24d09cfL,
  32009. 0xe72aa86c7cf6831bL,0x487fb68425392838L,0xe88bed04430b9b47L } },
  32010. /* 7 << 49 */
  32011. { { 0x9f77b8c5d1164788L,0x45bcd4c1d7b5c5dcL,0xed22ecf3d88c2357L,
  32012. 0x330272ad07de1cf8L,0xd9749f7f4ca13a48L,0x4964ce5d1383ce08L },
  32013. { 0xc033d516b0d0dbb3L,0x056ae73bf51943c3L,0x495cf7e057105e88L,
  32014. 0x08ced52e56462560L,0xe9578aa713ca1a7dL,0xe9b045c5a9717f7eL } },
  32015. /* 8 << 49 */
  32016. { { 0xf8a8499b666fa8a8L,0xd0f9401571bba84aL,0xb85e1b1d515e1328L,
  32017. 0x88a2636ba941e788L,0xa045241d2b5dd8d8L,0x161be476332f0350L },
  32018. { 0x96c4b205a18fac6bL,0x5cbe8d5e73fc5337L,0x6fc33fc6d00b6029L,
  32019. 0x07a914ee89aa3b79L,0x35353eb7a4d4dd00L,0xc026bdc0673e8956L } },
  32020. /* 9 << 49 */
  32021. { { 0x1e551f9bce0b6f8cL,0x1fe7ea4618495e1dL,0x3f6f28742dc0e878L,
  32022. 0xb778c12844c43f20L,0xbddc28eb8a250230L,0xd8571a4aac6c3d17L },
  32023. { 0xb9dcaec9730c8a1eL,0x512cee9993fbcf87L,0x0df3a1379bafe001L,
  32024. 0x8530e501e2a2b9bbL,0x6d38ba8995ebf91fL,0x704b81a7792cef7aL } },
  32025. /* 10 << 49 */
  32026. { { 0xccda372167103852L,0xf78d22470c54de53L,0xebd16036afa44aa5L,
  32027. 0x7b88024864a24ab9L,0x86b38e961c2bc78eL,0xd0aa0d058d63b295L },
  32028. { 0x24912955c62fcbf1L,0x77a68156b9ac435cL,0x432401c71b360b26L,
  32029. 0x091f19f34c58ef8cL,0x3a4a61f483d46c9dL,0xad0e5c72e8d616cdL } },
  32030. /* 11 << 49 */
  32031. { { 0x668d598ad1666826L,0x6ffed334fba0ba63L,0xe71e3359d7cddc30L,
  32032. 0xa9c15c2d9fb9998eL,0x6966d350612230b9L,0xbca3ed23ae4fe0edL },
  32033. { 0x537cac1b3caa3edfL,0x4f4a737ef33c180cL,0xf8d8f796f8807a7bL,
  32034. 0x5c7cf072d1aab3e2L,0x7f0ccb9dfff736e4L,0x71bf0732ef11266aL } },
  32035. /* 12 << 49 */
  32036. { { 0x33b029bccdaa6831L,0x2548552d4c1f9cedL,0x35f1a002dece1c8cL,
  32037. 0xc6b87fd7acc23aa5L,0x0b8bb275bab029a4L,0xf07bc06730bfb42dL },
  32038. { 0x1688ff5d1f69ce9dL,0xeedb7b5edb10585eL,0xb7a88cf0d432c197L,
  32039. 0x20731bdd015a350aL,0x5fa1835463223f5cL,0xe392e1318024693fL } },
  32040. /* 13 << 49 */
  32041. { { 0x61ada737c3449cb3L,0x071062504ca876ffL,0xcd98a39001d1403eL,
  32042. 0x197c845096ded881L,0xd060160568cacebbL,0x7e1b37d1dc3ddff4L },
  32043. { 0xfdc1bcb5d1725e92L,0x11cbe941bf0856d2L,0x63fd35d050199657L,
  32044. 0x208a1047b9790d10L,0x52790ce61af4301dL,0x75e6d83beff28b69L } },
  32045. /* 14 << 49 */
  32046. { { 0xdfaeea0a0154731eL,0x9e53419de15a0388L,0x2ad6a83c25a992c8L,
  32047. 0xa2ba020fe125501aL,0x894ebaf8d4dd04dcL,0xd48cb95850765559L },
  32048. { 0xf9b58d0980dec92bL,0x2a0e11659da299d7L,0x3c081853efe9cb11L,
  32049. 0xb9f3b702a511c5e0L,0xa8f7a25f70486180L,0xc0358b25591b3e2fL } },
  32050. /* 15 << 49 */
  32051. { { 0x00333fa6fa806947L,0x7e4dcfb3504b3e19L,0x8326b0acad4a5dfdL,
  32052. 0x9ffc65eac7b12e49L,0xed3b7c0258d16eeeL,0x79fccfb434a4222eL },
  32053. { 0x4a8070a0e556357fL,0x554fe2c9ec97769eL,0xcc405a57da691714L,
  32054. 0x12927897856f590eL,0xd4805b93ba198dcbL,0x2649be2e4b18444bL } },
  32055. /* 16 << 49 */
  32056. { { 0xf36e8398eaddf274L,0xe41553a16a5e4ddbL,0x36ab07464efc5b0cL,
  32057. 0xb211e59ad316c434L,0x2515ec9f16ccf839L,0x6ecb746503dc6a07L },
  32058. { 0x842b7275c65c1b07L,0xf7ceeec535750ab6L,0x967d711ccef5255dL,
  32059. 0xcd3bfb075108cb92L,0xe50c0d8aec1b9740L,0x9e8d56611a9e6308L } },
  32060. /* 17 << 49 */
  32061. { { 0xfcb12ba3aae18c46L,0xb55e959c6e21d463L,0xf720d19f4a4f6f21L,
  32062. 0x1c2ff60ed4320c5fL,0x4ce5e1ac1a1b40b8L,0xfdebfb81ff6fb9a0L },
  32063. { 0xd6c37d8a9c67c07eL,0x55167952012fc09fL,0x5dc722b52c306c4dL,
  32064. 0x1efad8d2bc1f65e1L,0xa1478f3da52556ecL,0x54cbfb884a795dd5L } },
  32065. /* 18 << 49 */
  32066. { { 0x84f8ea13ccb8a36aL,0x5f7aeeffa05709a2L,0x4942d04e60574f37L,
  32067. 0x855b13e9e048b400L,0x747e4067a6b59c09L,0xc349fb05074d3990L },
  32068. { 0x398e6afaec2c7e03L,0xce361865ec2d5a4cL,0xfc04bf8eb6f57d22L,
  32069. 0xf0e0b84c759ce6c6L,0xb65141235ee7e528L,0x8ca144bdf5c0f9b9L } },
  32070. /* 19 << 49 */
  32071. { { 0x5868449bc6e0124eL,0xdd65ffc1e68ad5eaL,0xe126665f4f577466L,
  32072. 0x8ade5cee2defe8deL,0x7c1cf7f07beddf87L,0x0e0e066a362c5956L },
  32073. { 0xac2aff4e15563b47L,0xa28ab875620d1299L,0x91f67b3fd8caa497L,
  32074. 0x91bef53394fc08a3L,0x0fa27d9cd99918f5L,0x205b6c1f60b67bd9L } },
  32075. /* 20 << 49 */
  32076. { { 0xc1370daef6a58536L,0x6f2e5b37c56b0ae9L,0x5511d68292f6b6a3L,
  32077. 0x2e9e5034ae575249L,0x3e5a32f81d14bed7L,0xa346a86f75efd17aL },
  32078. { 0x4f2510a60309fd7aL,0x689ecd74d0b1425eL,0x9e9bebe19f771e24L,
  32079. 0x20188045adc5b48cL,0xe49811b6b845230bL,0x420855ec5a8687f8L } },
  32080. /* 21 << 49 */
  32081. { { 0x705a9ab30aa1a423L,0xcb01466fb49830c4L,0x1db1768581a75897L,
  32082. 0xcaacb855e341f157L,0x9b13cd497a0d3c38L,0x119b4d47e177fcb3L },
  32083. { 0x0d8f7c2639788712L,0xbda0f3180642bd4aL,0xdd4bd88bd4616239L,
  32084. 0x9a3ecf978df1b895L,0xd0d54caf4a6dc07fL,0xa7ed6bfb31810203L } },
  32085. /* 22 << 49 */
  32086. { { 0xe650e49abae1b94dL,0xb6b162e6e3199794L,0xdc706859b4ec0480L,
  32087. 0x28b618c24b1a06caL,0x0929a001403acdc2L,0x796dfd972da3aefdL },
  32088. { 0x16389072ef4c1673L,0x600d8bd7fc94a4f5L,0xf003214de5f386a9L,
  32089. 0xa7af0499e62cbb48L,0x750a3b00de82bad5L,0x6c615b838e7dc8eeL } },
  32090. /* 23 << 49 */
  32091. { { 0xe1916cb4eae432e5L,0x81f3e48acc193889L,0x54d58685ba922a4fL,
  32092. 0xeffcc528bf11b76bL,0x2f70d38f8171c971L,0x547ce8ccb3a5669aL },
  32093. { 0x3acd91b878e6d0beL,0x372dbf2c689c2913L,0x9fceb5bbd0aae543L,
  32094. 0xc601f9622830a977L,0xd55e74509f874dffL,0x77ff8ab4822878caL } },
  32095. /* 24 << 49 */
  32096. { { 0x283eec26d71543a6L,0x98fa08bea7627841L,0x269a83b827ad302dL,
  32097. 0x225f2f12bde3fdd0L,0x046fcf380130b3a6L,0xea733c1ac3ed9043L },
  32098. { 0xf870f14d70aa08d1L,0x643d18b834391e0bL,0xf3e1d5f4847be772L,
  32099. 0xa9498223d0ed73a0L,0x6933ccf014b3babbL,0xc2439ae437f08f70L } },
  32100. /* 25 << 49 */
  32101. { { 0x503414d0f2cb5475L,0x51b9497cb24cbf9eL,0x57359dee2f4c7746L,
  32102. 0xee7125c3f3118a94L,0x2f0db706e4ea33d6L,0x885e8c3eddff7f63L },
  32103. { 0x752f594b628432f0L,0xcfadea7779852e2bL,0x4f733b8ba2ba4b7fL,
  32104. 0x163c8c2e530f763eL,0xf95a7b57ff05a7e9L,0xd4768d242d7be01fL } },
  32105. /* 26 << 49 */
  32106. { { 0xb643f4e0f88d049bL,0x5e0ac1fb12682fcfL,0xeaf7874d9f981c8fL,
  32107. 0x9c2adfd2b1af779dL,0x9a7abeaddaa8c275L,0x09ad552124cacec4L },
  32108. { 0x069cd5c40ead1646L,0x5186bf190a6157d1L,0xcc222a9396503506L,
  32109. 0xfeaa7bdebd29686eL,0xb0d65b0da7257c8dL,0xc31c0a8898aa227fL } },
  32110. /* 27 << 49 */
  32111. { { 0x5495f21c9fe88a48L,0x01f580ac590c1966L,0x1ad433ba39810166L,
  32112. 0xecbc67003a5187f6L,0x38d36c3bd4216887L,0x49653585e27b615cL },
  32113. { 0x2a70a1d9e773db7eL,0xe36d967a63c1c048L,0x51cba60d26d15862L,
  32114. 0xb633839fd5a6b746L,0xa6a756a2ec1fc364L,0x37fef8d24cfccb6fL } },
  32115. /* 28 << 49 */
  32116. { { 0xb4b7651f5be1d45bL,0x0425200a7f0cf680L,0x200d12b48960be95L,
  32117. 0x02fdd1a14945b193L,0xedd70e3e27d046d8L,0xc1cc086a83f14e12L },
  32118. { 0x1580e72b2629396eL,0xc87439dbf9ed73c1L,0x5debdf30a90c5128L,
  32119. 0x0b6c020e9fbe14efL,0x168da56a0149a0b0L,0xc66a4dbd79c58ac6L } },
  32120. /* 29 << 49 */
  32121. { { 0x6ecd9c41596b8890L,0xd25172fe210d9613L,0x1ce8abf872b97aa5L,
  32122. 0x355899d610faa675L,0x003b69adf4ddf011L,0x6736cd40ec2d1af9L },
  32123. { 0x8069a0ad4f85ac72L,0x5c31d68b5836cfd3L,0x8e9486eaa5ec1473L,
  32124. 0x8e175c4a1468cebdL,0x58b3d2b1ffaf2f77L,0x4fd21681a17a3e00L } },
  32125. /* 30 << 49 */
  32126. { { 0x800aec84330b8e2eL,0x1a2c033e335837bfL,0xf1a91551fe6f6dd9L,
  32127. 0x326c42b21de7360aL,0x300e740b7b66f9d5L,0x53bcc70068ce95d4L },
  32128. { 0xc9e225ac3d80f228L,0x64b2ad4e6977dfdbL,0xac863b0801f23221L,
  32129. 0x0517a648df11e5f7L,0xbf7aedcb68d11050L,0x2607e33777b3029cL } },
  32130. /* 31 << 49 */
  32131. { { 0xcb1955e44f4706b2L,0x0821d4663acaed1fL,0xbe822db07f8b43deL,
  32132. 0x3d11573f9b1c83a1L,0x6c052118201eab83L,0x294c5060dfe340d7L },
  32133. { 0x994a4bde0644005bL,0xf1519f3258fa0552L,0x9077bf5bd4d0d39bL,
  32134. 0xebde1ff0e6204ea0L,0x58a68e09829130a7L,0xda64eb8596961bb6L } },
  32135. /* 32 << 49 */
  32136. { { 0x1afa6aa6206add5dL,0x66cfbbae150ea4c9L,0x07fb920b5d36da4fL,
  32137. 0x144d51f9291e774fL,0x26c2c134f40d87a8L,0xc8cf3524a932f1a0L },
  32138. { 0x35bb2a425aeb0bdeL,0x5cfcc1dac4be960aL,0x5c40cabfaa1838edL,
  32139. 0xea0c05ffe2855f1fL,0x931ebb02fd525934L,0x31a7b78f16246fd4L } },
  32140. /* 33 << 49 */
  32141. { { 0xbe055fead42b36aeL,0x733a05ed819ddf8eL,0xa00fa0a15c9a6102L,
  32142. 0x0ed363273c0af634L,0x5b5a62b4d5970a32L,0x9d7557dfca954cd8L },
  32143. { 0x30314f0c6daf871bL,0xaa7c42a96267b2abL,0xc5d1f0d6132bc62dL,
  32144. 0x77ac94df7ed26084L,0x0d256fdada34e1f6L,0xf0259d1caa4b4dd6L } },
  32145. /* 34 << 49 */
  32146. { { 0xf576c69e86ccb00bL,0xc870c07f5781803eL,0x91d4c0c6b1869e56L,
  32147. 0x9c2729397d940416L,0xdad33f73c4d0269bL,0xe2baf5b8838c9198L },
  32148. { 0xd8bb9613218414e4L,0x5e9f7b67c980ca07L,0x1e2d4e63165079fbL,
  32149. 0x6ae5b17f983b3fadL,0x1e66b8380c24e22dL,0x80cdaec2136e0be8L } },
  32150. /* 35 << 49 */
  32151. { { 0x98cb12d93fc277f4L,0x81def3ee160b8743L,0xa1f07ebb11711fb6L,
  32152. 0xba17dd15a95b3ba0L,0xb25f1c78bc158f33L,0x1bb83cf27841e8bcL },
  32153. { 0x57ad928abf49233cL,0xc94fd746bdad3f2aL,0xf7c716ae4a4c6600L,
  32154. 0xdd0e3117060a78b4L,0x85e8851a860764b0L,0x3342d974bce0d787L } },
  32155. /* 36 << 49 */
  32156. { { 0x2bc4e37a719793feL,0x1543af2aa68ceea3L,0xc99cb391aabdea45L,
  32157. 0xc890e546f0b8eea7L,0x8b75b91feb4173d7L,0x9d52d04bef46f637L },
  32158. { 0x0929f25d878ff734L,0x7377235fb6c43342L,0x657835cf6eca900cL,
  32159. 0x7b752665098bb5e2L,0x320d09b6b8a61442L,0xec4f8182cf5b8023L } },
  32160. /* 37 << 49 */
  32161. { { 0xfc5f8feffc788160L,0x7d552625f73f48a3L,0x4eea435145c02498L,
  32162. 0xb5f5de5bf8f8af26L,0x78f1c499067b1610L,0x6e0d1b14eac18a29L },
  32163. { 0xf8be2f6c052af916L,0xd8cee5668876af81L,0x99a27ec31577bd90L,
  32164. 0x3ac529d242919f4fL,0x1215428c7fc05dd4L,0x99ef01e450f67e87L } },
  32165. /* 38 << 49 */
  32166. { { 0x145902629d671094L,0x7fef49c166ce858bL,0x2a7ea540c2f21eadL,
  32167. 0x1226b04fc1d5a636L,0x4fb54e4e535efb9bL,0x6c51cdb91d72bed3L },
  32168. { 0x94162e44938efaf6L,0x166013cfaf6f5697L,0xfa9495bddf95f9c6L,
  32169. 0xc05441cb0d7f8406L,0x7e5c89763a233ca6L,0xbc75dc6493fe8e42L } },
  32170. /* 39 << 49 */
  32171. { { 0xe1885cf128ed669eL,0x6e9f40dfb428b3cdL,0x412388a61626f8d0L,
  32172. 0xb8201f047cbcd192L,0x642ecfad70ba644bL,0xd43be1cb43c76bb7L },
  32173. { 0xafafffc388f4bd51L,0x8c40e2787052eea6L,0xc1a84e866a4c8776L,
  32174. 0xf0201f292fe7075dL,0x132f80e4576af421L,0xe0831b7f4731dddbL } },
  32175. /* 40 << 49 */
  32176. { { 0xecfabd2742dbb68aL,0xad43a2c43eb546d1L,0xcf4e64ccfe2691c9L,
  32177. 0xe3889e258347566aL,0x48da354885b8c733L,0xcb7fe0679d9c9f57L },
  32178. { 0x8c26a8d668223280L,0xc1e8ff623065705aL,0x181ca70a3f8db9f8L,
  32179. 0x25aa6450e758213eL,0xa4898f9169b2653eL,0x5e5c9fb4ccd8303aL } },
  32180. /* 41 << 49 */
  32181. { { 0x640b6946b03aa213L,0x6b99e84d00c068f7L,0xed4f1d2d99c5c461L,
  32182. 0xcec88724b20eaffaL,0xdf2b79a95dbbc32cL,0x2f7397054f3a1c5bL },
  32183. { 0x1594a54946eb52edL,0x55f11aad39c4c43eL,0x0fcdb331f46500f2L,
  32184. 0x0d66be885ceb8dbfL,0x4d977349886dbbf1L,0x238f4617797d1b41L } },
  32185. /* 42 << 49 */
  32186. { { 0xfc8c7320721034d4L,0x48b389db60264280L,0xac246988649cbd88L,
  32187. 0xb7f52891a50bb658L,0xc0a812e50a7f279dL,0x6593175967fb2cffL },
  32188. { 0xd31a77c6661ab439L,0xabadcea00ceb4aceL,0x201d98f6a3702dddL,
  32189. 0xcec1e83e7c9463aeL,0xc64e44fbc55e6856L,0x421f3e3148aa0d81L } },
  32190. /* 43 << 49 */
  32191. { { 0x4f0b251871a07c6dL,0xbfe652edaf3a2fbdL,0x5f68dc667bc2053fL,
  32192. 0x445df84f6040a7cdL,0xbdda2132180dc0a9L,0xd8627401d6c7a92fL },
  32193. { 0xba350cb190cd2c73L,0xaf4c1e5929886ab4L,0xee8fdff2d677399cL,
  32194. 0x3ce35c6edaecf83fL,0x44df0a300f114062L,0x1b633b4647f29868L } },
  32195. /* 44 << 49 */
  32196. { { 0x48483f6af58ae2c1L,0x70ba34635e1cce49L,0x5f7a1c6d33907532L,
  32197. 0xa0fab701875a5f3fL,0xf2e8b0ff85d387e1L,0x0076aa68ff349689L },
  32198. { 0x6e392b02747e2fffL,0x5e1ea320e788d577L,0xba705bd7713a0b03L,
  32199. 0x04ef192f2dc2cbc5L,0xa5a14eed38aef8a2L,0xf9682bbe30a268faL } },
  32200. /* 45 << 49 */
  32201. { { 0xc04f2cf540244a00L,0x00c90c3bb8dc0ad2L,0xac5b1060601d76f6L,
  32202. 0xad97c5c1a7ff84ecL,0x7919a06dd2328101L,0x62d5b7a4ca8a69c5L },
  32203. { 0x75607148de5a2cc9L,0x1afff7f79a75fd24L,0xe62efc8083a22367L,
  32204. 0xad08258a10e05e36L,0x22666e06c0e4b549L,0x15f62c613f4c48c2L } },
  32205. /* 46 << 49 */
  32206. { { 0x751affadc7b8da09L,0xc052109dbd8e45d5L,0x7d11aaad87c14560L,
  32207. 0xa0410b2a6b690121L,0xcabad9853e10a103L,0x4d19bd3e785f1bfeL },
  32208. { 0x8f32c6b84b6167a4L,0xb21d4ec297b4f546L,0x2e26df99c008f7c7L,
  32209. 0x63825597eb347720L,0x6a05b375afe39fc8L,0x19790b92131201a3L } },
  32210. /* 47 << 49 */
  32211. { { 0x149347ff7780729eL,0x076b4edc62e2dd48L,0xbf0de9d7cdcec866L,
  32212. 0x9d75deab8fa1e18cL,0x10931716eecb1f4fL,0xa8765dd3a385eb7fL },
  32213. { 0xfd26f39c4d70651cL,0xc501caf48834c723L,0x1d263a83a65e5093L,
  32214. 0x57ee2fb96f709deaL,0xdae3dcc645091321L,0xba0665a906a60a48L } },
  32215. /* 48 << 49 */
  32216. { { 0x517d13b1784d0621L,0x2db4ef27d77b84beL,0x6e2e26866d752aaaL,
  32217. 0x95da9fa1cab02667L,0xbe8d91ad423163c3L,0x8f3d59dba69953c9L },
  32218. { 0xf728b1d2d6e635aeL,0x5c4c177deeea663eL,0x97a900a82e75d9c2L,
  32219. 0x136c6b1e3ad09defL,0x4bab14a6dd8a2be8L,0xa4ee903025cf1447L } },
  32220. /* 49 << 49 */
  32221. { { 0x05f93697a5235c12L,0x434f91026943a0d0L,0x92696b701a4d3169L,
  32222. 0x0a9da44b8c3b1ee5L,0x327f9f79d295521bL,0xf605cb83afd8aa40L },
  32223. { 0xe3bd4ab5d365fb37L,0x6c6a470ce984ea2dL,0x7ad01e6b392af60dL,
  32224. 0xbef2dffd5ff8ee6bL,0x4e56deb722efc2ebL,0x1b90570ae14ff270L } },
  32225. /* 50 << 49 */
  32226. { { 0x70718d8e333cd9e2L,0x858c880c6b03a371L,0x5b7f69a5926a3dd4L,
  32227. 0xedbed135572f420fL,0x740a21e6332aaa09L,0x665aff63fecf1e3dL },
  32228. { 0xd884a3c1214490e9L,0xed70c29a63cdab1fL,0xc92dfa58786e274bL,
  32229. 0xa5395591d7fd529dL,0xacdf81ac3b95b61fL,0x07f801df40cb45a0L } },
  32230. /* 51 << 49 */
  32231. { { 0x4f863ad59230d44fL,0xd176d2764a099825L,0x4a6868745a43a7d8L,
  32232. 0xbcab3548fff3e8dfL,0x15028cfccab2c7e6L,0xad077a8874a91fb2L },
  32233. { 0x015700d39eee3e32L,0x524ef9c7386e489aL,0x3be1771b60285f8bL,
  32234. 0xe4a5353cf9c33beeL,0x0aa0f2ab244ad683L,0x04e846f98a4c0ed6L } },
  32235. /* 52 << 49 */
  32236. { { 0x326a204790f55f13L,0x194d24db53017b29L,0xa26db785cd4368c3L,
  32237. 0xd58943e8238d7518L,0x8e06f8cc3527387eL,0xebc6dc9e071846d4L },
  32238. { 0xbfc08dccc541e098L,0x3dcf0713e4fbc9a4L,0x44e9ba7869fedb43L,
  32239. 0xd867cf784fa012a0L,0xc618b2b88733ddf2L,0x4149fd48a737fd5cL } },
  32240. /* 53 << 49 */
  32241. { { 0x5c4c2183179b1928L,0xc54d315d0439876cL,0x07d22792f7495bceL,
  32242. 0xd378185e3bc32c4aL,0x8539aab65b31c5c9L,0xc72b1ac640dffb35L },
  32243. { 0x46bb918a2e8d6ae2L,0x102c49f9e8a1d7a1L,0x7c622793cd2764d3L,
  32244. 0x5bbc6f023c7aafcaL,0xa41f383bcff71b4dL,0xc8a0e1a9aa99bf83L } },
  32245. /* 54 << 49 */
  32246. { { 0x323aad4991d6b8f3L,0x91b678c0f3d9154eL,0xc141e2424ce74f67L,
  32247. 0xb7c38aef65659ca0L,0x5b5f89b174a937e1L,0x739fad71abc55012L },
  32248. { 0x315ed44ccee5f4fbL,0xb0731455360a61eaL,0x39235ff0ee93ce5aL,
  32249. 0x6352556fd203baf9L,0x3c22dc6a0ea06b93L,0x195638cb591bbfa0L } },
  32250. /* 55 << 49 */
  32251. { { 0x8bd5a15359ad0688L,0x827e82d8a7323070L,0x9ea55b3af70686e5L,
  32252. 0x511c8c3f34c2d054L,0x9364d28aa14a3c61L,0xc4dff9c461374139L },
  32253. { 0x947c3ec9a39c01c0L,0xead11d42108440bbL,0xcc6d893569677f79L,
  32254. 0xb1d632710b9b4823L,0x2cec325e63b154e0L,0x45e97c3814a85b9cL } },
  32255. /* 56 << 49 */
  32256. { { 0x11b59f3e92acd14cL,0x188c1bb1d7aea098L,0x5cadf0a19365958fL,
  32257. 0x8fef04fcca0b1b0eL,0xbcb4d9fb0c274a5eL,0xe97eb41cba78427eL },
  32258. { 0xc49f0bc55cf06378L,0x2681f12a281b669dL,0x200e9e583f796b81L,
  32259. 0x5bbea92b17964262L,0x86b3c15756db0039L,0xe4477c5eead482baL } },
  32260. /* 57 << 49 */
  32261. { { 0x1340e22c050fc1faL,0xd5cc5445bd062615L,0x03ad31601f494b03L,
  32262. 0x612919142af1b95eL,0xdb31a06d53705ac5L,0xf590433ad07ae464L },
  32263. { 0xed52363421bbbd72L,0x1f032ad2f1cc7842L,0x212b1d5536a7164aL,
  32264. 0xc2cedab7dd973183L,0x29aeeee05e74ada3L,0x579984d8bb666836L } },
  32265. /* 58 << 49 */
  32266. { { 0xbbe5db83e13d34d3L,0xbae5ae959a8a3344L,0x55d2f0ac797d6e35L,
  32267. 0x75e78c017cd0abb0L,0xb757f72cbad96294L,0xe52493895d556f25L },
  32268. { 0xc02293538e7675dbL,0xc363c5255c8beec5L,0x7ac23c0b7c87ee00L,
  32269. 0x9c5f22b4a7de93f8L,0xc6f0ea64d9644b5fL,0x3fa718d4d161f87eL } },
  32270. /* 59 << 49 */
  32271. { { 0xe8496c463f356cf8L,0x25b5b8742da1b81cL,0xa35ec06330efa9c9L,
  32272. 0x7497d85ffdaeb348L,0x312ad677e83f49d7L,0xcb5c346cfe8aece3L },
  32273. { 0x19d7332d61cd4ebcL,0xb03dece0d0967141L,0x47dcb81af5455addL,
  32274. 0xbef0e70389ca68d4L,0xf7abbeb9c987400fL,0xbda81c65a1521da1L } },
  32275. /* 60 << 49 */
  32276. { { 0x535f3e4b86882341L,0x5af1c6322e22600fL,0x0403b6e0584a13abL,
  32277. 0xa64de86661f59ce9L,0xd22106f738501b92L,0x2932f808ab6ffd04L },
  32278. { 0x8da4cc6e232967f2L,0x4b8fdd9ef3644670L,0xe8cb6ef31e0c51bcL,
  32279. 0x20b7b734230c6897L,0x5009176453d9339aL,0x5f5c8c67ca637277L } },
  32280. /* 61 << 49 */
  32281. { { 0x23e333d467232358L,0x3c2807bdea037380L,0x9439cc4626f1dc2fL,
  32282. 0x8c87dde53ac29173L,0x601b7245766897a1L,0x9e0b1a4559350e3cL },
  32283. { 0x0818b6cb301db407L,0xbdc4584676b6fbf3L,0xeeca553431bdd954L,
  32284. 0x1dfabc033f9be3bfL,0xdf0415dc68851bd8L,0x33be32a67aa9dfa8L } },
  32285. /* 62 << 49 */
  32286. { { 0x8c9017dd4b4e4b5eL,0x02f435dd7b892b2eL,0xe9af9efd292e0f2dL,
  32287. 0xa32124c75c4d315dL,0x5c6fde76b31a390dL,0xf1fdcefaa6e46d3eL },
  32288. { 0x5f39dbfe9e9e84b6L,0x574d647d19aab6b7L,0xd5a234cdad1a2987L,
  32289. 0xeab841c7dab59c81L,0x5155898db3137b90L,0xc52e9ddd06db2fd0L } },
  32290. /* 63 << 49 */
  32291. { { 0x8617f0d490660ff7L,0x00d73d108b35743eL,0x433e42d68a6ca67eL,
  32292. 0x575ecb9beab5cff6L,0x4c64bcddf258960aL,0xb8ffb7f32c23405dL },
  32293. { 0xa98c06691261b0c7L,0xf2701f4a6b9bf7c6L,0x3abe44c41c68efc3L,
  32294. 0xdb5ac9cbf12c7a25L,0xf5b4616651120981L,0xf8058f7074d518f3L } },
  32295. /* 64 << 49 */
  32296. { { 0xcd92906c6d6ae962L,0x628356159807d881L,0x0d6929781fdc1915L,
  32297. 0x45d01a8c269d611eL,0xe7bd1e709665b00aL,0x086385349bcaa388L },
  32298. { 0x8f189e882dd24299L,0x5f643392b82fb270L,0xca65bf16c633b111L,
  32299. 0xc6adc9c9d6f1dac8L,0x0df2c293a3c3381dL,0xdd6ae97d8388cd12L } },
  32300. /* 0 << 56 */
  32301. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  32302. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  32303. /* 1 << 56 */
  32304. { { 0xffdbd0eb3863db02L,0x8b8256832f57e10fL,0xc11acead35e7a3a2L,
  32305. 0x4998cf8c67833028L,0x8f3a346b844c7976L,0x0a9d872cdb9b1a1cL },
  32306. { 0x8735dabcb98d445dL,0x93790d80305fa0a9L,0x7c0add49d267a01aL,
  32307. 0x2b46c913ffa20d11L,0xf2acef26d8ab2d4aL,0x71b701b93d926080L } },
  32308. /* 2 << 56 */
  32309. { { 0xe9d2a98a5133de8eL,0x37083b60b81b8b00L,0xf399325dceaf86aeL,
  32310. 0x03b17c888f161525L,0xd8ac35c984211b9dL,0x220837849050ca48L },
  32311. { 0xa818c44bc9fab832L,0x8882bccee5aea7daL,0x633aaf35f8715b04L,
  32312. 0x5463e1b99d8829a9L,0xb18df52d84a820f1L,0x9d5ef891d096675dL } },
  32313. /* 3 << 56 */
  32314. { { 0xd54e2c7cac60496dL,0xc06d5e5d04cd50a4L,0xcb4105e8e60f7f59L,
  32315. 0x705db308427483adL,0xf73ba98bf2bff383L,0xa945611a0220e6e9L },
  32316. { 0xc01c46b8d957e12bL,0x458897b7acb1f371L,0xf738dc0bfa3403e6L,
  32317. 0x098bc687d2202896L,0xec0c217a5f882e5eL,0x8f25af77a1f4eb13L } },
  32318. /* 4 << 56 */
  32319. { { 0x2615c78259ee4124L,0x4dc2824c76532b4bL,0x9c3b1d771c84a04bL,
  32320. 0xb6fc203fcb9f9e34L,0xbed65464c64f7846L,0x04f520a2eb004248L },
  32321. { 0x5c0177274a58fd22L,0x25958482c10d9472L,0xb78c6666aceb0e3aL,
  32322. 0x18d3c188fc046f0aL,0x7f3e2f301baa9595L,0xa574f8cd8a2844e8L } },
  32323. /* 5 << 56 */
  32324. { { 0xc899eba381c2d81fL,0xb27267d6f3f0a431L,0x607c8629da55568eL,
  32325. 0x6b5472282b1dc1d9L,0x23232311c9c001ffL,0x207a2eb2488f8b85L },
  32326. { 0x3867ac9adac37a28L,0xa36d14d32584a5f0L,0x7398c647a74488ffL,
  32327. 0xf6ed920fbe087640L,0x72beddc76319a571L,0x55c2cd826a244aebL } },
  32328. /* 6 << 56 */
  32329. { { 0xb7da79c625f8a53bL,0x6b950bdfd331ad8eL,0x3481b7b54aa36d18L,
  32330. 0x6efeaf88ed0e3091L,0xeb017bddc993074cL,0x8431a6d6529dd654L },
  32331. { 0xf5177231bd069585L,0x6d753b103ce85096L,0x194d82d34ca26741L,
  32332. 0xeaeffe15adcd1650L,0x4dcec3d9af7758b7L,0xf5fdf6664cc2c819L } },
  32333. /* 7 << 56 */
  32334. { { 0x94bdc7f4a9810744L,0x464195daf045d859L,0x27e2dab0d654cb57L,
  32335. 0x1d4e1e537a491956L,0xa1ef570c31d5d099L,0x01cd21ee295f3de7L },
  32336. { 0x8681b00db8249038L,0x17c31bce93781b71L,0x4324e90c6a1b5748L,
  32337. 0x44f9324c1222e554L,0xe30ba10fffd53dd0L,0x2e5817a8b48eeef0L } },
  32338. /* 8 << 56 */
  32339. { { 0xa349bb66c8fccaa9L,0x7888755f31a53ee7L,0xa6e1d891c18d3750L,
  32340. 0x9985aa4dae8d2bfbL,0x8baec9ae31b33078L,0xee68295a98750e94L },
  32341. { 0x0d834bf8d6ddf305L,0xab33dff39762126cL,0x0c22faaa0c51d098L,
  32342. 0x32404042b887a10fL,0x31f6a614248bed32L,0x311f86301ce0d662L } },
  32343. /* 9 << 56 */
  32344. { { 0x5c95cf080d844b0dL,0xe09a8352c98650c9L,0xc1b106c5d089058eL,
  32345. 0x2b3cf101eb0c6107L,0x1993fdba3ce6ee18L,0x7234eb6425fc4d24L },
  32346. { 0x8345acfe05f46dfeL,0x07fccf68a2d87d38L,0x14494cea85da7852L,
  32347. 0x8737500acecdd9f1L,0x72b1490ca39068ffL,0xce28271acfa4469aL } },
  32348. /* 10 << 56 */
  32349. { { 0xc872326f55c6c00aL,0x6a5f0fa3f912decaL,0xf4ef0ca5a7d1bdb1L,
  32350. 0x1dee685b37dc6bebL,0xdad4cf52f1b09b88L,0xc7199f0277f1db84L },
  32351. { 0x7099ef00a3f00491L,0xd8fbbbfa6d8804e3L,0x2a00b8e50ae1e360L,
  32352. 0x8a8c9d03fe9be5dfL,0x06e0585b8b1faf6fL,0x19542ee7ae29c502L } },
  32353. /* 11 << 56 */
  32354. { { 0x36cad867e2aa1c5eL,0x7ef21e51317f9078L,0x68efbb84c82e925fL,
  32355. 0x973b36769fe751e0L,0x09c4e0c1177d36a7L,0x9c0b7e048a753c5eL },
  32356. { 0x8414cdab15ccad5cL,0xeea2134ed50c1678L,0xd9c1dae8f6585d5fL,
  32357. 0x82fd04ab4e5c3d96L,0x868cddf7da3812d3L,0x32a65aeafda07e68L } },
  32358. /* 12 << 56 */
  32359. { { 0x73292e6a60720858L,0xe046a79953160855L,0xf74d56c9ed3b94c1L,
  32360. 0x0e371167c67863e1L,0x19b3a9f43f6636cfL,0xe624798d898a25b0L },
  32361. { 0x2ed1fc4dfde2cd6eL,0xd9a7ab519fd15ee5L,0xb6b8d551c487b1cdL,
  32362. 0x9fec705ae8936c54L,0x4b779dde1a50e094L,0xfb5100c2c3a4ef5bL } },
  32363. /* 13 << 56 */
  32364. { { 0xb35a7b102704c525L,0x8a77fa5b44276cbcL,0xb4a9cd235ff1a12cL,
  32365. 0xc74a017c88a37997L,0x84e26eea9af37476L,0x8a6b8c0e7bbf737bL },
  32366. { 0x90ab7c948f05bd3eL,0x31749075464f3a2cL,0x32f7873c1dcfbd25L,
  32367. 0xc0af73d343bc2054L,0x556c4798171d825eL,0x2c84b5b6081542f8L } },
  32368. /* 14 << 56 */
  32369. { { 0xa5907e5c59ab2507L,0x12b86e04cf7df60eL,0x0a14bed18af4bc50L,
  32370. 0x462863b20c11bac5L,0x98dde284126958dcL,0x8877e7695625eb29L },
  32371. { 0x869f7214f4fe19e5L,0x29867e51ec0f8c1aL,0xbf498bc078b85f03L,
  32372. 0x9dda400e8973a94eL,0x8d8b998ae6e51b1aL,0xedb0957c557ac00eL } },
  32373. /* 15 << 56 */
  32374. { { 0x84b6d5143b7d43f2L,0xcb84c823afb7a2b9L,0x892e8c4c56d2b161L,
  32375. 0x52ea7426214fdc0aL,0x07f3d57679763557L,0x9f95fd585a828bb3L },
  32376. { 0x2c7f03d550e14019L,0xab723de7d7eae7b3L,0x4c08189317f4ea6eL,
  32377. 0x64cc5bc0ec367246L,0x73077b5ddf11c3b7L,0xfa34b540e08eb4bbL } },
  32378. /* 16 << 56 */
  32379. { { 0xac6dbdf6edc9ce62L,0xa58f5b440f9c006eL,0x16694de3dc28e1b0L,
  32380. 0x2d039cf2a6647711L,0xa13bbe6fc5b08b4bL,0xe44da93010ebd8ceL },
  32381. { 0xcd47208719649a16L,0xe18f4e44683e5df1L,0xb3f66303929bfa28L,
  32382. 0x7c378e43818249bfL,0x76068c80847f7cd9L,0xee3db6d1987eba16L } },
  32383. /* 17 << 56 */
  32384. { { 0x254ed267050f46f1L,0x36786ff864daa83cL,0xb4a89efc802a3ae6L,
  32385. 0xe0027b3486b77d59L,0xb7147905f48d0de6L,0x00733ca710cf7c60L },
  32386. { 0x87efbe387b3ab776L,0x3db10898de9730f4L,0x61f21e1386b7a40dL,
  32387. 0x5541873648455b6aL,0x0de378f9a88587deL,0x42dead7a766d18f1L } },
  32388. /* 18 << 56 */
  32389. { { 0x42b8ef51e15ad876L,0x498886e5082e110aL,0x3144e8c964edbd73L,
  32390. 0x4b08cf86f79e6724L,0x42d06d53ddfdb6a5L,0x4c9dce336d8b1f33L },
  32391. { 0xbb8913ae4be29e97L,0xe944c922166fdcc4L,0x83913b963c494e9bL,
  32392. 0x529d57ac633a0018L,0x632a7cfd242e7d9cL,0xf0e2434dd9b51d08L } },
  32393. /* 19 << 56 */
  32394. { { 0x74768ab044ff52cdL,0xa590ac7eead09902L,0xdc408c53f52c0f5fL,
  32395. 0x614a22d6f853efbfL,0x61f391c425126427L,0xb61adcfcbf462fbbL },
  32396. { 0x7b753aaaaffdbe78L,0xce12b2247bea939dL,0xca21f73e95baf09bL,
  32397. 0x2a82915e43ca9ebeL,0x67ba04f57936a38cL,0x1c1964f1616b0b87L } },
  32398. /* 20 << 56 */
  32399. { { 0x4dc628c67cb2ec48L,0xc896f99c0cb1e9d2L,0x399ac2e85cc6134bL,
  32400. 0x5ac36de184ba73d0L,0x66a334a3e1803832L,0x394af7ea59b770c1L },
  32401. { 0x3df19e55b46f793eL,0x97aaec84bf770a95L,0xf52068b8f8c54408L,
  32402. 0xb6f7649f49e05f0fL,0x54d8db0583360826L,0x24748fdf71af722fL } },
  32403. /* 21 << 56 */
  32404. { { 0x68f4dd4956c29111L,0x391ac9910dac9352L,0xb0a8a54206dc9d58L,
  32405. 0xb5058ed8fbe70330L,0x8b5e9d4076b593bfL,0x769fb99cd7f2b261L },
  32406. { 0xcdcbb60ec67cce8aL,0xe01a5d5d75da36dfL,0x7e831d0ef7c6e5cbL,
  32407. 0x0f6bf54bccdeef00L,0xed49ad3998ba4d8dL,0x8d512c83614d70c2L } },
  32408. /* 22 << 56 */
  32409. { { 0xc1910b2545b4f6e5L,0x54c6ee8489fb712dL,0x80b6fd47f5747ba2L,
  32410. 0x3d81e7efd6d4f856L,0x8b9e87418031f1bdL,0xc591d451f2327316L },
  32411. { 0x4830d9971e0f1c1fL,0xeabe29bd86e92024L,0x2f2053a1b8c68d7eL,
  32412. 0xff4eb9e879d00ad6L,0xa0c93249f4b4cd89L,0xe127d9d3cb9e0761L } },
  32413. /* 23 << 56 */
  32414. { { 0xeb947df3492d73ebL,0x5474817b0d32c2ddL,0xeb01bef7a9440e93L,
  32415. 0xf604581d8085d1f8L,0xf69daa189f69ec8aL,0xc79ac48e71748716L },
  32416. { 0x5141c75ad4beef28L,0xf7dfaf89901c44a6L,0x7bcbe4812e81ed85L,
  32417. 0x57ed0e6f0c5a4423L,0x7cf189651cec85a5L,0x8ddfe8a5beef12b0L } },
  32418. /* 24 << 56 */
  32419. { { 0x60ee08b46bc0b979L,0xa31cfd961aba7f4eL,0x66c05a6358bedf51L,
  32420. 0x2ae6ec3854df9266L,0xe7dbda332771b08aL,0x44455d312a09fb28L },
  32421. { 0xaaba39171cec98a5L,0x9b2b12258cb543d0L,0xf47a9cd16af6495aL,
  32422. 0xe207f3aac6cd8a16L,0xf98952878ae828b6L,0x37e2475725844053L } },
  32423. /* 25 << 56 */
  32424. { { 0x7c8137d8f93723a2L,0x78fa2e03cf552846L,0x3becd2627d11977eL,
  32425. 0xdbc8e9b34e9a700eL,0xb2c7798d20decdccL,0xecae57179523bb6dL },
  32426. { 0xc0fec0677fa2f633L,0xe270b10702aab6a8L,0xda280b374dcc797bL,
  32427. 0x50a163b86c42945dL,0x4a3fd6bd363e44ceL,0x0aa7e33d38bca4e6L } },
  32428. /* 26 << 56 */
  32429. { { 0x19c7f098a693d0aaL,0xb79d84244bd22a29L,0x19d91d12a9b3c2ebL,
  32430. 0x2ae96bfdde735665L,0x2f9c9a773d8a85bcL,0xa74bdd46cbab80f5L },
  32431. { 0x25a2486cdd9f70f0L,0xada155c9754513d5L,0x8aecd7db4c3e9494L,
  32432. 0x9c3951ad2cf6665eL,0xd35780d44a9ec29eL,0x064983964cfd7821L } },
  32433. /* 27 << 56 */
  32434. { { 0x23407aac0834f890L,0xad7b7b5599bb065fL,0x3254aa7e4ba2b4ccL,
  32435. 0x37f37fd1663f9213L,0x0c72c3111c5a51d4L,0x6e6df84b9989820bL },
  32436. { 0x576a320e1ae2f321L,0xa5fc617c3c62888eL,0xc4f1be4df6c40362L,
  32437. 0x01b21892dbfaa5b3L,0x6fc0442390b9a5e3L,0x22a70c8791495c30L } },
  32438. /* 28 << 56 */
  32439. { { 0x365e1382183aee81L,0xe9f2245275d289c8L,0x543cb5c7b70962e2L,
  32440. 0x853971711cea2e37L,0x8b31cf530adfc82cL,0xf9a458bf3b67c705L },
  32441. { 0x13b1cb3334a9b3a8L,0xa4325b403732f6b5L,0x39e997ba04e9df8eL,
  32442. 0x24c0d6ebf1d542f8L,0x9cb3f1abd82901bbL,0xbbaef37a4cb34763L } },
  32443. /* 29 << 56 */
  32444. { { 0xc4881080b08dd648L,0x21869be8f1fe4e15L,0x63e158b112501ea3L,
  32445. 0x48a909ce32408693L,0x77fd2cf062b24495L,0xf7d1e134db9322a5L },
  32446. { 0x4c02c8bcbdb19eedL,0xe03cd00e8a20b335L,0xe04271c530632562L,
  32447. 0x549e5dba603e1681L,0xf01b38f95503b61fL,0x244c81920b3fb785L } },
  32448. /* 30 << 56 */
  32449. { { 0xb423030c4b0c7247L,0x242d409f149f8cbcL,0x6094885e9c1f518eL,
  32450. 0x6d299dffe04d97ebL,0x152d05bb09903069L,0xf5656895fe235dddL },
  32451. { 0x801e7f736b22ac0eL,0x73aa6df46ba6dc97L,0xba498bc0d66e5d8cL,
  32452. 0x8054e17d36b8c78eL,0x241bd2e21137fdf1L,0x8e79a943b97dec15L } },
  32453. /* 31 << 56 */
  32454. { { 0x94e617abeb64269eL,0x39aef936b410ae02L,0xdbb744c325fcc976L,
  32455. 0x5072bfab38a5b366L,0x3998aefea3f5d715L,0x0bdbf555a74e281dL },
  32456. { 0x50d2feece24dd239L,0x835925ef46324c5cL,0x53c4eece7a4dad08L,
  32457. 0x340fef207c358d83L,0x9e2189da30f04396L,0x2bc748d727e322cfL } },
  32458. /* 32 << 56 */
  32459. { { 0x1238e097ae658422L,0xb4631ddb568df55fL,0x451254e7f74c5c50L,
  32460. 0x238b16d28805813bL,0x23987b28925e7a6eL,0x93b72e2d2a1a10bcL },
  32461. { 0x944c784d05e44b7fL,0x7d70fd098c8e3120L,0x6bf1ab2aead45716L,
  32462. 0xd5f8f0e631c04205L,0xac062526a10b8881L,0xa1a83cf0fe5505a8L } },
  32463. /* 33 << 56 */
  32464. { { 0xe1e05ff89ea47326L,0x88219a1ffbfc7f61L,0x9cbd0b387dcd3008L,
  32465. 0x751d03847671a68eL,0xd73ed70d28e0387fL,0xf66f9cfea9485256L },
  32466. { 0xac68aae1ae153e0cL,0x92eb6542e81b1282L,0x9617d45464541adfL,
  32467. 0x81b4d94a9d489e95L,0xafd5cd4620f31ba0L,0x35700392e5a38941L } },
  32468. /* 34 << 56 */
  32469. { { 0x52296be3b71ea9c4L,0x82b05a43424cadf9L,0xb6d329e8842699e3L,
  32470. 0x9dfb91bf9370f2c1L,0x0188b738994ecc71L,0xa9a7b03b5ce8b100L },
  32471. { 0x99198b2a25c33035L,0x772795a7e21895d5L,0x37dafa4c42173e01L,
  32472. 0xd37f03933ab27d91L,0xf3500a7d2afad1f3L,0xa433b5fd87eac06eL } },
  32473. /* 35 << 56 */
  32474. { { 0xdc193cb5243a97bfL,0xe367f27ff5715184L,0xc4bb95c6fd9120c6L,
  32475. 0xd2bd176bbc5f7ba2L,0xf2c0f86de966c1deL,0xc69ab26e811e70cfL },
  32476. { 0x95756460e87c55f0L,0x6b62ab136a59c832L,0x6e971c6c128448a0L,
  32477. 0xca72482e91ea44a3L,0x2602d4795dca0f8bL,0x8dadd3e25519433bL } },
  32478. /* 36 << 56 */
  32479. { { 0xfe0553be23246f68L,0xccc1d774d8ad4128L,0xbec668d8cc155edaL,
  32480. 0x7a80e9b44231506cL,0x579cb5f42aa1740aL,0x3a61b84fd8b35a2bL },
  32481. { 0x0478c05ba3b519f8L,0xf518ac09acfe39aeL,0xabc15e9076c956e6L,
  32482. 0xff35db67dd55d268L,0xbe066679bdbba89fL,0xf7385df12062b845L } },
  32483. /* 37 << 56 */
  32484. { { 0x279d7ffdfc12078dL,0xeb14155eb8f302e9L,0x5f1b11e165b3c14dL,
  32485. 0x08510b461bd36b3fL,0xa7f5b2ffc9d73b4fL,0xe5e831557aa09e40L },
  32486. { 0xbed67135cc3d88d8L,0x7b2775f7017a43d2L,0x9ce22ff24c58cb64L,
  32487. 0xab88d04849ede1eeL,0xcac13762da63daa8L,0x70662331b1dbfc4eL } },
  32488. /* 38 << 56 */
  32489. { { 0xe4f7022200a8a9adL,0x8d1bbab7d42fffcbL,0xe024970e368ad5edL,
  32490. 0x231ef631b4c0c9f8L,0xb47ca0386760b411L,0xe1f297ff179e6d44L },
  32491. { 0x2e5ec77d3e071736L,0x90e20be915b29c93L,0x33961b6dbb7e7237L,
  32492. 0xa854df5b42176851L,0x67d223e4a8f4bac8L,0x5464a46f0dee39fcL } },
  32493. /* 39 << 56 */
  32494. { { 0x525a553b32230b65L,0x7bbde6b816bb6a4eL,0x2f5bc6d229f12292L,
  32495. 0x5d86858045fbcff9L,0x6ce4fb249f932964L,0xd7cd175098e05ef6L },
  32496. { 0x794b0248e1366d8eL,0xa37afa66332098a0L,0x2dcc1888d9aac70cL,
  32497. 0xa01ba83ec15b9fb8L,0xd34ddf851df4b59cL,0x92289e954f829510L } },
  32498. /* 40 << 56 */
  32499. { { 0xdec879d51c9d09f1L,0xdfa9e7d61b371576L,0x8c705c7937fb3410L,
  32500. 0xd770153e1f2a02bfL,0x208fc8f18043ba69L,0x58aebe6e25aa3453L },
  32501. { 0x191b69e512941f03L,0x27dbb050d7966e0eL,0xa5196bb7d16bc20bL,
  32502. 0x5b6bae47f22b30b2L,0xbddcabda8ce7b419L,0x6e3cfd373b9f5a39L } },
  32503. /* 41 << 56 */
  32504. { { 0x605d4b83330c07f8L,0x4dbe47646a0ed45fL,0x1e715823d7e4163dL,
  32505. 0xe337a67dcea3306dL,0x55abf0684f18a604L,0xaaf69d5ea9f57370L },
  32506. { 0xddd09e8129784840L,0x17fd42b9a4fff5e9L,0xe99859e55acee616L,
  32507. 0x41d691203b927ed5L,0x35cc99675168f505L,0xfc311c24431d7d60L } },
  32508. /* 42 << 56 */
  32509. { { 0x415f7f0da581c54dL,0x67c678244509f31fL,0x36fb92eb988f449dL,
  32510. 0x22d41b1a94181fe4L,0xacc68410df896026L,0x4a10e46f9ccc4df6L },
  32511. { 0xf805a1191969cf2dL,0x7230a26b32ad355cL,0x9d200562e9abd845L,
  32512. 0x2db90c3b5cb55349L,0x80b59daa29bcc42cL,0x81272ebc53d32149L } },
  32513. /* 43 << 56 */
  32514. { { 0x6aaf15f27756bcffL,0x5391bc009b645589L,0x46cc4480a6fc61a0L,
  32515. 0x6fde9d53293d676dL,0xd6c35628d7618399L,0xdda13a0853daac23L },
  32516. { 0xb6e6c20c0fe7995dL,0x32eb3468d8d41d55L,0x8927d508c19c5995L,
  32517. 0x3907eeed3c229e66L,0x509af79f27972057L,0x8a7f44f750e2f170L } },
  32518. /* 44 << 56 */
  32519. { { 0xb91ffd21c87b3fe1L,0x0fe8389b34fe2825L,0xe22d45d74bf4c8cdL,
  32520. 0xb575ae4cd6d8308aL,0xa7fa552e82994ba8L,0xfb67a86fecb08870L },
  32521. { 0xc3bebdf8e6dabcb1L,0xef18b357b5bcf114L,0xed518499a4b8eca5L,
  32522. 0x0fec83c5df16ed99L,0x5d353a5856b5649eL,0xc858c1d1cec900e0L } },
  32523. /* 45 << 56 */
  32524. { { 0x7a65d2660d85e627L,0x96170bb90bc010a3L,0xaa6e0055da030ad9L,
  32525. 0xa75ab280ff4e4a8fL,0xec14e68c0be864a3L,0x05424b9cc17723b6L },
  32526. { 0x9ed54bb218ca85d6L,0x035edc14b78b34bbL,0xc116914929617416L,
  32527. 0x0a00e0086cb0d801L,0xba40f1207d4a638fL,0x54b1e8cc9d8bd0e9L } },
  32528. /* 46 << 56 */
  32529. { { 0xbbab4ab54c88db57L,0x68dbee6f9ee9558aL,0x31b988e140da802fL,
  32530. 0x9d117c37e90b2221L,0x443ae099025b66c7L,0x8568bd6f2538a654L },
  32531. { 0xf806d8636720df01L,0xe390adf2b649ad8fL,0x7851f8e039d1c315L,
  32532. 0x8185ae1a5e650f1bL,0x3dccfc4c9b562532L,0xae99ae835f427c40L } },
  32533. /* 47 << 56 */
  32534. { { 0x99542ca7564c7ad5L,0x682eace49a96f25dL,0x2d01b2488d933a6cL,
  32535. 0xf96916ddb8604277L,0xad3259d12e4d7419L,0x9085251fc26981e5L },
  32536. { 0x848219363d2ec970L,0x723ea6a5392351c7L,0x3fae69a55e5448c8L,
  32537. 0xf6eee650dfb03d49L,0xe2e1df1ef8c58715L,0xc603b61f1a369206L } },
  32538. /* 48 << 56 */
  32539. { { 0xcbbd8576c42a2f52L,0x9acc6f709d2b06bbL,0xe5cb56202e6b72a4L,
  32540. 0x5738ea0e7c024443L,0x8ed06170b55368f3L,0xe54c99bb1aeed44fL },
  32541. { 0x3d90a6b2e2e0d8b2L,0x21718977cf7b2856L,0x089093dcc5612aecL,
  32542. 0xc272ef6f99c1baccL,0x47db3b43dc43eaadL,0x730f30e40832d891L } },
  32543. /* 49 << 56 */
  32544. { { 0x7f3a3e5f4447ed08L,0xa6302f7bf94d49d0L,0x94fd2ad33b2abc46L,
  32545. 0x98ffc01fe4249c1dL,0x6f3a53bf8db4549fL,0xfbae12df25566cceL },
  32546. { 0x63fc92d3c2e84d15L,0xc355b46c4f5abdebL,0xb50b43a05678d0cfL,
  32547. 0xf4d4b0b15681d628L,0xc9f11d63fb3bac7dL,0x444b748cda461eb1L } },
  32548. /* 50 << 56 */
  32549. { { 0xafe9adafc9845a07L,0x484a9eb9df6a1305L,0xec32f0bdb0f111dbL,
  32550. 0x742b41cddc7b100cL,0x5a7ea89d23c5f849L,0x1ea8801fa298aa82L },
  32551. { 0x183e1750cb001f26L,0x66ec5daa49da5bbbL,0x8071ff322d05ab57L,
  32552. 0xaea9e694e1944e0eL,0xc993754437b85438L,0x2c2467b4faaf4f22L } },
  32553. /* 51 << 56 */
  32554. { { 0x38f87acce602c278L,0x72c79590515854dfL,0x9d466a765e7e2f6dL,
  32555. 0xe5f6704772081935L,0xb4b56288ad958812L,0x7f4d9e1395b08242L },
  32556. { 0xb38d0ddb962f0f6bL,0x969d4327e5f76463L,0xf7c7c799f6ac01f8L,
  32557. 0x494066673e6ff230L,0xa81fa10dc7e9c1b6L,0x2fcf26bf8093c2d3L } },
  32558. /* 52 << 56 */
  32559. { { 0xcca6e9cfa754256bL,0xfdd79280347723f7L,0x8179d6f52d69c6bdL,
  32560. 0x156a53fa94cc8567L,0xb819d70324655f28L,0xf86872e2ebfb198bL },
  32561. { 0xb158e73939ccd668L,0x655db8248de67826L,0x54399a79c621cf3aL,
  32562. 0xc55900d498a09c9dL,0x5423edbf20278b3aL,0x06a625b280ba89cbL } },
  32563. /* 53 << 56 */
  32564. { { 0x0f152d69869c4f68L,0x0ed4205a9f0068fcL,0xda68af4f25d4490eL,
  32565. 0x715fcc60745c00afL,0x70ab559aad63dff1L,0x7d0a7b6a9b8a37ebL },
  32566. { 0x82ab7a068bca8498L,0x4f012fb4297d954aL,0x8b139e6ed5f6a4b7L,
  32567. 0x597316e4b856ac26L,0xeb64b5894387367aL,0xcc92eeabbacb7e74L } },
  32568. /* 54 << 56 */
  32569. { { 0xb53560e968fdcf87L,0x4ed638bd3cbd0887L,0x57f3f38f6080d1cdL,
  32570. 0x50370e0c1e4e3ae8L,0x14c87fad184a1ecfL,0x3d06f78d0af7b2ceL },
  32571. { 0xd9370e24fd595621L,0x1e462483c9fbb559L,0x1ee5d81ca0aa5c0aL,
  32572. 0xdb2524557419564dL,0x782ba91b57585be7L,0xb2d14bcc5c431c72L } },
  32573. /* 55 << 56 */
  32574. { { 0x9cb9de6fd62ebed6L,0xb7f23b1916c6d571L,0x69b4a8dfa8b307b5L,
  32575. 0x78a7f74e19dc7e39L,0x423405152f47c94bL,0xf1c2a5bc31ff2d82L },
  32576. { 0x98c1c3f7b145387eL,0xdd9d24d885e635ccL,0xeaaececa07397bc4L,
  32577. 0x6bf6a8469b0cd4c6L,0x68052950680dbd05L,0x81a071b60ce07df9L } },
  32578. /* 56 << 56 */
  32579. { { 0xf3fa8bec0c61d5a5L,0x98f772fc0dedaa77L,0x45a382161146d42bL,
  32580. 0xebef5d4a58821ebdL,0x21498af30c1f0e6aL,0x3d8699144758014aL },
  32581. { 0x6f2276ecb625c7e0L,0x68d6a144fb55d708L,0x0bc836e0ad56b494L,
  32582. 0x72b6d8850f58ef70L,0x0e0be2887bd7c1d1L,0x70549a879c277d39L } },
  32583. /* 57 << 56 */
  32584. { { 0x39a445d2dbb2bb75L,0xda2a211b1ac42cd1L,0x934bee9a8e4cf8f9L,
  32585. 0x5d0dde6a24801bc1L,0xb2d4261d23da4ea7L,0x5fa9059a7187cde8L },
  32586. { 0x49298bb651f05f9aL,0xff0c4a0422a7bee4L,0xf466232da6a29be3L,
  32587. 0xff2e157a995c1904L,0x3a4ee4537b31bdffL,0xb4a736d7e41f6eeaL } },
  32588. /* 58 << 56 */
  32589. { { 0xaed55c123fa96c0eL,0x8f90803f6e08adf2L,0x349e5807015b7cb4L,
  32590. 0xdb3f05e314656b3cL,0x9289bbecde8b2d9aL,0x3cad12e0c7f28356L },
  32591. { 0x7a68fa54959fe89aL,0x2e7135d0a77f956fL,0xa0285cbabbe35884L,
  32592. 0xc547ffe7131ab269L,0x82a902bebe33b425L,0x5a793a790c71b02aL } },
  32593. /* 59 << 56 */
  32594. { { 0x2bb2a929c645c6eeL,0xfc6cbd471e651728L,0x4ec3f630c07af98fL,
  32595. 0x118231588e4a8ad5L,0x99a2b5de1303f68aL,0xcc280b182ec9b8f7L },
  32596. { 0x3d7b406ad7298d55L,0x63941bceb9f83957L,0xfeeb132c463a64c6L,
  32597. 0x243a2e2bf76a6c8bL,0xae72bf2fdad18d64L,0x774423431987a4caL } },
  32598. /* 60 << 56 */
  32599. { { 0x06de549d78dc1526L,0xa27fc0c1f52c5766L,0xee5ff3d8e9485b1eL,
  32600. 0x7af2fbc64bc530dbL,0xa266d6c810f9dc58L,0x866abeed8bfa4d74L },
  32601. { 0x50356d7fcb7c7018L,0x4ae502e07c962af2L,0xb98b449cf011990cL,
  32602. 0xfcc8446b59e8535fL,0x25964ab0088776ebL,0x3848aba2ab6cfe8eL } },
  32603. /* 61 << 56 */
  32604. { { 0x9f2c62cbe14a2c5dL,0xcd182e386b113f03L,0x2275ad4f525a15aaL,
  32605. 0xd5b7d1d9eb373133L,0xd3c47b9b07929822L,0x60b043cd8fa8e8e0L },
  32606. { 0x603a3403d3958f57L,0xefa36ad67b79c263L,0xfe33dd9f3742ac39L,
  32607. 0x30f40b3bb249f9bbL,0x9d2902d20a3b2e7fL,0x173f7d1a899684f0L } },
  32608. /* 62 << 56 */
  32609. { { 0xdcbeff5bf33bdff0L,0x963ae65ee9684a3bL,0xe03586882bcd272bL,
  32610. 0x756695068942f107L,0x14319d19262e422fL,0x5c0ef45a2265b294L },
  32611. { 0xeb897bd8a9f64203L,0xa3b259d742b1640bL,0xdc34ee2dce66355cL,
  32612. 0x2fab125eb4e13438L,0x1b93a820443420b7L,0x79c46f97b4ba8382L } },
  32613. /* 63 << 56 */
  32614. { { 0xafd8cb2006e55b9cL,0xc88f38ea2530a11aL,0x628d10bfe4efe221L,
  32615. 0x00df0da42a8d983fL,0xed45860508a2fce0L,0xcd7882b86a01efecL },
  32616. { 0x93ebd86c7efcbf7bL,0x578f9fe7e3db504aL,0x3c584008aa5e83e8L,
  32617. 0x5bf38b4ca8368754L,0xcb4a9cf905c05ca7L,0xf77ab684c634f28fL } },
  32618. /* 64 << 56 */
  32619. { { 0xac92ee1537d83369L,0xc968c187fecec65cL,0x29a7ca876e7a3265L,
  32620. 0x0f2b7e7a8456c9afL,0x7471824e9754326fL,0x498687bf364d2ec8L },
  32621. { 0x86d8aacd3c6ee351L,0x01ee6823f6f41e85L,0x9805fc881d79f7ebL,
  32622. 0x377ac3a40040547dL,0xd39215d461b4e90bL,0x2547416e4c5fd81bL } },
  32623. /* 0 << 63 */
  32624. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  32625. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  32626. /* 1 << 63 */
  32627. { { 0xa10292b907a6fbf8L,0x292c1a203fa6235bL,0x7a36f18f73ad7a1fL,
  32628. 0x8b2c7b0c5897b11fL,0xf7b9a272cb664c61L,0xb6d366af8f81e22cL },
  32629. { 0x3b99b2118e342bbaL,0x03ce158bb06ced2bL,0x3af1175d001db74bL,
  32630. 0x526f08467159cb8aL,0x6a3c6e1febde4601L,0xfad5963b8c232eacL } },
  32631. /* 2 << 63 */
  32632. { { 0xa54768dab1b43eefL,0x13e41f47e14fda22L,0x774df203faef6863L,
  32633. 0xf795a034bd7471b3L,0xf0958718b47de2e9L,0xc92f7888e1160cffL },
  32634. { 0x86ded97b0146c790L,0x015918f5480a4b7bL,0x05588920424e8459L,
  32635. 0x37455914eecf8b2bL,0xe7d3df1fb968a6faL,0x07a0ffd6bad0719fL } },
  32636. /* 3 << 63 */
  32637. { { 0xf13f55e619f6ebccL,0x63720df2a266b368L,0xdbcc937f3bf1a890L,
  32638. 0xd3faff625f326fa4L,0x8b33bae9019730d0L,0x7879782af9961795L },
  32639. { 0xec7e75bc93735e44L,0xfbbf6d225d5702d0L,0x26b6e1d53bc2ddc5L,
  32640. 0x00345bf714941d10L,0xdd719676a745c77cL,0x2869b11881c523dbL } },
  32641. /* 4 << 63 */
  32642. { { 0x2566021f98d23f6fL,0xfb883e1234ca97caL,0x34e047a5d9f51b69L,
  32643. 0x0b50d91df8efa646L,0xc2bbcbb2971f584fL,0x4136f0e40907c91cL },
  32644. { 0xa7ebeb0de735cc48L,0xa7d1bedce113c8faL,0xc04d9a073f5c962aL,
  32645. 0x95c155e53ff74a2fL,0x923c65a53df0749dL,0x10d5f81227ae35d0L } },
  32646. /* 5 << 63 */
  32647. { { 0xc08cf7a1a128747dL,0xeb34a1c02eca6776L,0xff6e7cdfb596491aL,
  32648. 0x17024305eddd8bbcL,0xab92b54cf3c46414L,0x2a995b7759134eb8L },
  32649. { 0x97525904e48cb259L,0xeac065ed1e1da01aL,0x16cab74a14c5bf38L,
  32650. 0xcd3e2516c14eda8fL,0x3ff38094a8de7a9eL,0xb7340214359d653eL } },
  32651. /* 6 << 63 */
  32652. { { 0x4d37c2663e7a369aL,0x092dc32c3ae62c55L,0x566da2e928ca9d67L,
  32653. 0xa9771c1a79beb236L,0xaf6b97a976f801e7L,0x3afd62e771259358L },
  32654. { 0xc23a5e32cd541e77L,0xae4c90a301660ff9L,0x3f3a233b1911ccf2L,
  32655. 0x93e4664cfa3b3aceL,0x4bdc14832d4c5f5cL,0xfe03d3c36abf13c0L } },
  32656. /* 7 << 63 */
  32657. { { 0x9649468631b26990L,0x55222e9fe3fd62f4L,0xc8eaba742ee74b8eL,
  32658. 0xfa43617834d198efL,0x475b688e892748f5L,0xc6eb426541b9822dL },
  32659. { 0x535695bebdae951fL,0x45e69033e909cce4L,0x40354e72b1829154L,
  32660. 0x1005ee6d5c56c3cfL,0x61b36a754a3fec51L,0xae644f3872f2f56eL } },
  32661. /* 8 << 63 */
  32662. { { 0xd5469c7becee6e87L,0x056180bc33a4c917L,0xf881ca21a16caa7aL,
  32663. 0x221de182e6cc7f39L,0x10d61ab531378723L,0xfb763bd9520c9660L },
  32664. { 0x145214cd0d6b1541L,0xd9f7ff2dd70223e7L,0x9fce59e30cb1fe69L,
  32665. 0x2e6e77fa3e299fe7L,0x3a0cf652d5af78cfL,0x50cc42c53e852159L } },
  32666. /* 9 << 63 */
  32667. { { 0xd2536452b8da85a2L,0x5c15dabe331197daL,0xf5a89366aecccec9L,
  32668. 0x8f998baf2d8352fdL,0xb10e6c80f56159d2L,0xf61ceff379eb9affL },
  32669. { 0x05bcb93d1c4283a2L,0x4e1abc521d8cd941L,0x898c9a49b46b343dL,
  32670. 0xcf352f3c6e423ae6L,0xb1db207f6fd42c89L,0x08f36a1edab295b4L } },
  32671. /* 10 << 63 */
  32672. { { 0xebbe18b7ed31fabaL,0x046e248dd74971d3L,0x3ddf5a2a0b24f97bL,
  32673. 0xf9a400c262fc6124L,0x9ad9b0bc6b03b73aL,0x9fa97c56153c8fdeL },
  32674. { 0x1b6477da00b73ea7L,0xec59f64a21b2f3f3L,0x4428712895306955L,
  32675. 0x4b5db01db9e77579L,0x237edf0bde05e0d1L,0xac904b01855332f5L } },
  32676. /* 11 << 63 */
  32677. { { 0x6a37fc505cf708c5L,0x8de4dd7c30497ceaL,0x6978648161b8bf39L,
  32678. 0x3cb303375d7362eeL,0x0e24d09237ed25e6L,0xd474f3dc2f69ce20L },
  32679. { 0xe15d98a0edb40541L,0x5e4a87c91466f464L,0xc3cefc9eb68923cbL,
  32680. 0x66f10920f22c9de2L,0x3c18f9ea9a51b3f2L,0x706237bef40e6204L } },
  32681. /* 12 << 63 */
  32682. { { 0x0791dfa1df764716L,0x31bf68768c66da07L,0x49f25b77ccedf4f3L,
  32683. 0x05170ccd5d965c05L,0x37d9521bd49e6727L,0x1548251286a00176L },
  32684. { 0xdab444936c00eb48L,0x102c6b95e00c5c5dL,0x43660c3e4c2506baL,
  32685. 0xb2fb26165ec6f132L,0xccc4221a99ac7691L,0x05b29758a576deb5L } },
  32686. /* 13 << 63 */
  32687. { { 0xee84fe05a5731e27L,0x3251ded005713149L,0xbfeeaf3c7c5e7260L,
  32688. 0x3db0b6b2f048907aL,0x38728debb4a6b923L,0x853997d9d1142e10L },
  32689. { 0xc636e3874b641cd1L,0x69b10f43c629f4f7L,0x6f10a95c7deddd0fL,
  32690. 0x85b5a7a317f56374L,0x28cd59435c329333L,0xb37621f7d1e476a1L } },
  32691. /* 14 << 63 */
  32692. { { 0x3a17f86d48341ba2L,0x558ef6e8ba6375bcL,0xa86ea3f0927935e2L,
  32693. 0x2f43742ac04d4fb0L,0x32a30bce38769421L,0x5a6d6a62d8d3912fL },
  32694. { 0x34154b19c20e3fd9L,0xe95d3843fc85f907L,0x26cfbe0f9f7a13c0L,
  32695. 0x50d50b3a531736e5L,0x81849773b2cfa2c2L,0xc81523e63ba8ae5fL } },
  32696. /* 15 << 63 */
  32697. { { 0xac9b0573c2f899caL,0xd9c4fc1ff747ef78L,0xbc205571c7714e62L,
  32698. 0x726bbf311919f8c8L,0xfff68adaaedc0450L,0x9f4bc0b9f4001089L },
  32699. { 0x5d10a660fc5dcfeeL,0x1ea644fbaa9f25adL,0x4f5cf102e5a144d4L,
  32700. 0x4275b6021521f249L,0x9c62750522d8bcdeL,0x3ebbfc5bb7df57afL } },
  32701. /* 16 << 63 */
  32702. { { 0x4a873076ad8c49b7L,0x891598ce7146575fL,0xc1d3042f427ea198L,
  32703. 0xdc592111ed259219L,0x0abdbd16234850caL,0x26b9412643b6fe8dL },
  32704. { 0xd3c79d1736a1cfe9L,0x576386219a2b3bafL,0xa736535d5a98bf65L,
  32705. 0xacb3b7ddab2cdb2bL,0x37d3743adaaf89eeL,0xf19d9aba0b348532L } },
  32706. /* 17 << 63 */
  32707. { { 0x013b49753e09dc4bL,0xe548f7bc2d034deaL,0x65ffcd710b861c72L,
  32708. 0x80f4d7a2e07dac01L,0xd1889dcf56c1a8b1L,0x14ad62d4789b133bL },
  32709. { 0x082e3c082e80532bL,0x0562a7d80b9d17e2L,0x4f8613095d57e2a7L,
  32710. 0x79f21d7255f93514L,0x22c4f68c595c0f33L,0x91d9bd5ba22c0c33L } },
  32711. /* 18 << 63 */
  32712. { { 0x30539655b29eff74L,0x7ba206ebe723167cL,0xe20c3ce488110a02L,
  32713. 0x52b406b97c124481L,0x050111c68c74a728L,0x3d594a6bc57cd9feL },
  32714. { 0xd4b2a271e5f952d9L,0x7e52d63b080da0c9L,0xa6463d65f53a6cffL,
  32715. 0x9ebcffcfcc678e26L,0xa657f27b2f2b9424L,0x850bd2b871da5c9aL } },
  32716. /* 19 << 63 */
  32717. { { 0x9f3c395b7d4e1a14L,0x2f99aa23bd7301efL,0x50eee34e3017f166L,
  32718. 0x88c951ff4c9cbb4dL,0x90c0422ad8dda2f4L,0xe8361775d49cae19L },
  32719. { 0x654db0d250da6138L,0xe4ada30ee03c34a3L,0xde0d3787832ccf4bL,
  32720. 0xd1bf435641b94c86L,0x347531c37db87eb5L,0x6942e7e30fb51863L } },
  32721. /* 20 << 63 */
  32722. { { 0xafad01a0d93c54b2L,0x659bff9695536c49L,0x7b91aac2b9734c15L,
  32723. 0x55c7f08224e02f59L,0xebcb71e73a26e551L,0x5b7225f76c6343ebL },
  32724. { 0x021c48fb17d5e775L,0x57536a42bd859c87L,0x24852cc0ae2b63e9L,
  32725. 0x21515020c0ce0ef1L,0x2ac7336c8fed825eL,0x4bc87feea0152819L } },
  32726. /* 21 << 63 */
  32727. { { 0x7f9813e94b82bbd5L,0xc01f14624e697d08L,0xf02d9eb293de010eL,
  32728. 0x290c503c50db5ea8L,0x339341f033edb639L,0x962abf5f7cd7f6c1L },
  32729. { 0xbb1041ae95fb9e8cL,0xb8c9f9d6dbd8525fL,0x8658a54f0f5244b2L,
  32730. 0xe9326e455b84eea8L,0x9ebdfe4f54f11de8L,0x3c90b0cedc740440L } },
  32731. /* 22 << 63 */
  32732. { { 0xde6973e22683ad60L,0x35fe4650eebceb58L,0xbcdbbabf7c719a33L,
  32733. 0x8bce8111c076ca95L,0x8f7176deeb6bd711L,0xd04e9769d240a56fL },
  32734. { 0xdef7d8fac8e218daL,0x04cff5976df28152L,0x2a1af6e24bd1cca2L,
  32735. 0x9397014edcb911e2L,0xa251339038677b96L,0x0dc48a8fb61b462dL } },
  32736. /* 23 << 63 */
  32737. { { 0x42eab6610197a8d2L,0xdc4a557ade082468L,0x4cf68d6090495f66L,
  32738. 0x6dba8de79032929eL,0x304b38cc827b5d7bL,0x8e57275cf32f5063L },
  32739. { 0x4b555a0337280c95L,0x49c1e532ef8ddd18L,0xa2d8eed45459adc1L,
  32740. 0x2b353217bba3cf41L,0x11f3c90cefe8f005L,0xb3367fa0d55916c4L } },
  32741. /* 24 << 63 */
  32742. { { 0xe7c396d64654712cL,0x1fa5ea507a26e994L,0xaa98768709012b83L,
  32743. 0xf1ef9792e9b17e98L,0x2c22bcb06dc2db10L,0xae42ddf6ed4be80eL },
  32744. { 0x672080f62e743405L,0xa15a7f975b7821d1L,0x0cd912f247adbf07L,
  32745. 0x6919c0dcb6c4ae8fL,0x62b13edd14c6253cL,0x66f35919f8032287L } },
  32746. /* 25 << 63 */
  32747. { { 0xc992f6fe05f3b31fL,0xcdcf59b56a3d4522L,0x69901b3815df24b8L,
  32748. 0x4b9874029f6153b3L,0xeb09cbc1bca86176L,0xbe78cd7d446289c4L },
  32749. { 0xd4aced42b933fd58L,0xe0dc6f306a326de3L,0x4bef32960542a5f8L,
  32750. 0x3eb8d14106f537c3L,0xbb45a994b6f0d0a9L,0x340c025d3f4a01b8L } },
  32751. /* 26 << 63 */
  32752. { { 0xdfcb3255fa371ffbL,0x3fb4a22c92bb6b01L,0xd96efc1605396353L,
  32753. 0x2ce2228ce5d2bc25L,0x59483843212c7eecL,0xdca7173882996047L },
  32754. { 0x44dad56d8de87b1dL,0x622f88910b6222d5L,0x1abbc501d5d3a9ccL,
  32755. 0xdbed73a5ebe52e80L,0xa7f785b1c98c56efL,0xa32471d3d343aeacL } },
  32756. /* 27 << 63 */
  32757. { { 0x65d39f8ae510cee9L,0xcc60cd118dc5e825L,0x3b6ac6627ed7198aL,
  32758. 0x5d7fc001f33edc87L,0x0218ffc453e978eaL,0xecb762e57bdfcf16L },
  32759. { 0x8e7122047966b202L,0x1c502404e6b99602L,0x0acb73f1131cc36dL,
  32760. 0x81d1132ed4369a1eL,0xbca89fe8377271a4L,0x1353a883262a2e18L } },
  32761. /* 28 << 63 */
  32762. { { 0x2713b58c9d628e1dL,0x3729960afaa8ba1eL,0xc3438130ab53bc93L,
  32763. 0xcef9eda5e9c165e7L,0x9bacd1c3fd02650bL,0xbb300334540ece72L },
  32764. { 0x21f5a5d3d9c4f0edL,0x1ba32e4ff7c19269L,0x8f073beb2cf320fbL,
  32765. 0xb49766c45599646fL,0x68180d6649e4f200L,0x8203d8aeeaeddb36L } },
  32766. /* 29 << 63 */
  32767. { { 0x7b19780fdbbbf57eL,0xc094d6d9c2207635L,0x241898ac6bb652d6L,
  32768. 0xb61b25724923ce29L,0x26ecd97508000048L,0xd08c54e5f5f96b8fL },
  32769. { 0x19019968c1604cc5L,0xa9940e9edc3f31b9L,0xbad2d245c3614a9aL,
  32770. 0x7d3cdb2d411e63b3L,0x88d842c3223638ffL,0xbc5427d0cfba2b48L } },
  32771. /* 30 << 63 */
  32772. { { 0xe6d78b7f60085b20L,0x0aa1d62bf318d226L,0xaaa4391df6461e64L,
  32773. 0xb15ee4a7213c949bL,0x183f043be4bd3dbbL,0xa1a87996ca49f456L },
  32774. { 0x6030ed2ef6ed22bbL,0xa2002784fab7f7a2L,0xfc40914dd850cdbaL,
  32775. 0xe63edc4c7df80ba3L,0x8fa35ab57b27ddfbL,0x3bdaec795096ea04L } },
  32776. /* 31 << 63 */
  32777. { { 0xf33cc5ee452881ddL,0x89c144a38966d47fL,0xbfa8395149156a93L,
  32778. 0x0069bff358707b05L,0x2caf814cca12a0b5L,0x1ea71ce71794450aL },
  32779. { 0x08fd2b1c63d22a26L,0xdb08594eb3876737L,0xf459049a57b3669bL,
  32780. 0xf64ecaeefee0d4ccL,0x9da2177c63f233a4L,0x042fcca84e54f053L } },
  32781. /* 32 << 63 */
  32782. { { 0xa68295da2caf088bL,0x23d6439a5c8709feL,0x8deba0cffe0c3df0L,
  32783. 0x5b4d037b3cd00a1aL,0xe9edc429aa0f9088L,0x6f5827e35847def7L },
  32784. { 0x9739d03d306ad966L,0x7c6b18afaed51d04L,0xdc3d34ff1759060aL,
  32785. 0x029e9aa9a7e94dbbL,0x2a3cdfa0f7e8b7f3L,0x42f87bf0bbd8f6f4L } },
  32786. /* 33 << 63 */
  32787. { { 0xe36941004ef8cf5dL,0xcb4dbddf4d8bb768L,0x0610858e828c717eL,
  32788. 0xb4cf22cb2bf53239L,0x938e49f16a3e7a71L,0x1dbbb837e73c7a10L },
  32789. { 0x26ea3108db1b58d0L,0x1ca340abad2929faL,0x1d4601938ecb1f6aL,
  32790. 0x060543510424fd93L,0xdbfc403f0303dc50L,0x142ad48dfc0f4007L } },
  32791. /* 34 << 63 */
  32792. { { 0x8a8258eee6a52970L,0xf2d13a33a3882954L,0xd312768c38d48e32L,
  32793. 0x78a70e03e9369eb8L,0x02ba8d2b69228d48L,0x7f957a33b3bfeb28L },
  32794. { 0xafb22cd20ab2d0bfL,0x335304ccf8cd44d9L,0x0587a6f256009a3dL,
  32795. 0xc0bc7278023b2530L,0xe85f2ec5f37c6727L,0x045f156003f5a081L } },
  32796. /* 35 << 63 */
  32797. { { 0x6d71a45274ec55c2L,0x0d064bdfed33da75L,0x1aa4d77ab503afc6L,
  32798. 0xec08340c5cb136e7L,0xf096fed6ed11d9faL,0xf232d1b82f81e148L },
  32799. { 0x71cc9b78ae9b3374L,0xd80ce28668bcc1baL,0xe8f4bd170274926cL,
  32800. 0xa7ac120f100da329L,0x9f071c6352a482f2L,0x76d85a8e842d6ef1L } },
  32801. /* 36 << 63 */
  32802. { { 0x516f138bed210253L,0x5ec2fa324433461aL,0x0dbe2c66cdaf1280L,
  32803. 0x086b91e59fbf3318L,0xfb0223ee399a1ca6L,0xd6f86d9b0db5b20fL },
  32804. { 0xec02bca25752d618L,0x952fafcaaf69f3f1L,0xf304cb7533c4d294L,
  32805. 0x78085727dac65608L,0x22f302ef840a4466L,0x33fb889dc371c31fL } },
  32806. /* 37 << 63 */
  32807. { { 0x4aa2f1c36abdcdf4L,0x80963f8251da8d8cL,0x5647a356ac008cf0L,
  32808. 0x40a78c45fc10452fL,0x2a3b9da1ca2d6a31L,0xa4d177760f0db94fL },
  32809. { 0xcfd600d9939941acL,0x256e44c142c3fd25L,0x85bccd42ab3f9d41L,
  32810. 0x83e93e44d018298cL,0x569f54d474a5fb37L,0xad2c613af2ffcf8dL } },
  32811. /* 38 << 63 */
  32812. { { 0xc63e6f7c22d515abL,0x3fabfef42ad30174L,0xf13a0126b1c65411L,
  32813. 0xe269e956dce87183L,0x44136834a83e0249L,0x554e731831958850L },
  32814. { 0xd287755696569aeeL,0x5af275e9274bf4dfL,0x7056f958197dbfdfL,
  32815. 0x699f5a672169811cL,0xd9a857d92c1c7c3aL,0x62cf7431843bdac1L } },
  32816. /* 39 << 63 */
  32817. { { 0x974fcf5529d0c948L,0x104d7df0693c5379L,0x4f851c397dadfb28L,
  32818. 0xcd5bc87c233c02c8L,0xf7fa16e82c8c1c04L,0xed42de484dc18a19L },
  32819. { 0x213db3a5b4366736L,0xf6eb5c9517da3d1dL,0x4d04ef1213b304ecL,
  32820. 0xba7bd9afaf74e164L,0x956a5f7bab319f50L,0xe733891ce2a4932dL } },
  32821. /* 40 << 63 */
  32822. { { 0xaa4711f54f890542L,0x862421d9eba822c4L,0x2f667179848280fcL,
  32823. 0x4de16d87c201ed75L,0xd20e1399c5e61b5dL,0x3f7114b49ed67ec7L },
  32824. { 0x561fd4979b5a88f9L,0xb202eb86d84db2c1L,0x67d8fb90c8637d3dL,
  32825. 0x3d1d78a1032b1853L,0xe07bf775ef1af9acL,0x691e1deea57d6adaL } },
  32826. /* 41 << 63 */
  32827. { { 0xe236e42b2a6045fcL,0x4a6b7be7613f1c5eL,0x14136ccbf57b1aefL,
  32828. 0xc3a8a6b9c7b34813L,0x63b0998c5f5cee69L,0x311bfe2c3481a229L },
  32829. { 0x4dd2325ff0aba408L,0x1b8a3f739a2fdff6L,0x4845cde0dbafe0d2L,
  32830. 0xd092bb22cd37b02dL,0x35436f9d600fe0efL,0x63c580cb065f379eL } },
  32831. /* 42 << 63 */
  32832. { { 0x38f98360f48948b5L,0x1a1d67a97ae3ad67L,0x79966318ab91b44aL,
  32833. 0xb69a75b8dfea0b1eL,0xbb18e5fa05d4d71dL,0x80a14dfe03b1280aL },
  32834. { 0xe549c8f14c17cf7fL,0x91da31098969b5c4L,0x1e3e8f08ccfc1732L,
  32835. 0xf1cfb3ad0c85444eL,0x6854b52a628bebbeL,0x8a5e2d85075f04d3L } },
  32836. /* 43 << 63 */
  32837. { { 0xd428f75c5aaa1da4L,0xf192162dd224691bL,0xc30f5ccfd3a50718L,
  32838. 0x82e2b585e9e0f738L,0xc7fb4dc15cf3fd23L,0x8a52eb37e4e2b37dL },
  32839. { 0xd5bb892bf1702cd4L,0x64b8ccd056b92a51L,0x98ab053f8988e2e6L,
  32840. 0xd56b34022f104643L,0xf09017be073886d7L,0x0283e9eebf6eaea0L } },
  32841. /* 44 << 63 */
  32842. { { 0x834701da3801c65dL,0x5bb35c48955aa27dL,0x0ef0f375db7ad387L,
  32843. 0xd25e337f06cd1d53L,0x757a1f9d90cd91deL,0x1604f153d61bbd60L },
  32844. { 0x6a01e8cf8bb95dc4L,0x34b7be6275bbdb13L,0x0a96b3a121e9b029L,
  32845. 0x25615c3b2946df44L,0x5eda7d1919d04842L,0x08317975fba84668L } },
  32846. /* 45 << 63 */
  32847. { { 0x4a4dd7bf2bb5fba0L,0x0ebc07f3c84c2304L,0x054f2e448daa5099L,
  32848. 0xbf8949da3ec362f1L,0x2e4a677c1d7d73f5L,0x405e3ad24dc70fbeL },
  32849. { 0x2958e956c7e46fb3L,0x34e0d7f1b2522e5dL,0xc44b95e25e371e3dL,
  32850. 0x62e348a4d91baea4L,0x8d9e89e24c09e110L,0x8cb886f6b1c1e356L } },
  32851. /* 46 << 63 */
  32852. { { 0x66b16f6033e8683dL,0x3435ab2560b41c5eL,0xd5b89f51d452e049L,
  32853. 0x4b5253a73aac0092L,0x01cae436f9d2e2c2L,0x789de14637e8ce97L },
  32854. { 0x8f50541701a1c2e8L,0x8c77dbdd798a8404L,0x5a264906b6e91e68L,
  32855. 0x36761ccc3c6aafe2L,0x5809baa37e50f9e7L,0x0b50904e28fac969L } },
  32856. /* 47 << 63 */
  32857. { { 0xb6360372308785eeL,0x0c9913a68cf10e55L,0xe82b0f470e67c99aL,
  32858. 0x0bf2d24825399082L,0x7aa3edfca86fe16eL,0xf534ec4e731a4956L },
  32859. { 0xb71d5d4eff26e993L,0x320eb7ac7bd58ef3L,0xe5e4c5f30cafd658L,
  32860. 0xeb6b8e0a21a06cedL,0x037d0faf6f76acb1L,0x39c76a6ed6f13f81L } },
  32861. /* 48 << 63 */
  32862. { { 0x12474bd8a55a3a4dL,0xe326aaf19e471af4L,0xf201a9308caadaa6L,
  32863. 0x546821f835304341L,0x7fe452c3088353e1L,0x8f1ff628fc82566aL },
  32864. { 0x49526f46d99f8967L,0xb19c80c0a4009690L,0xeccf97591cbc0716L,
  32865. 0x2e13ae2caf4cbc8bL,0x12b0df13f32e29adL,0xa2005d6e0b1565f0L } },
  32866. /* 49 << 63 */
  32867. { { 0x9260321bde788968L,0x4aaf1752886ccc74L,0xf94ae636c06b1d9bL,
  32868. 0xf0c858854954ae43L,0xaaa735866c42a104L,0xcab59d914e782db7L },
  32869. { 0xfd12f9ee01ff3a1fL,0x35eb6104b546d3c5L,0x97d839e075ca1425L,
  32870. 0xa77712f452428003L,0xf5dda4e8bd9f30e2L,0x0c3ab97091d6f540L } },
  32871. /* 50 << 63 */
  32872. { { 0x58734b3ca68716ccL,0xacdcfdd2acfb5719L,0x97074bac7084cf23L,
  32873. 0xf8d4f285d0c81b66L,0x5ea926e2ef541e44L,0x65a8e25da2c04e0fL },
  32874. { 0x67e2380f06258485L,0xdc00f2ed9691a57dL,0xd37b23fd6b80274eL,
  32875. 0x57f1604f2fe10aecL,0xcc21a4aeffb33ceaL,0xf33a344bf75eaa02L } },
  32876. /* 51 << 63 */
  32877. { { 0x24ca6fc56969f55cL,0x6fe18be29a7a9753L,0x5e9a7ed36af8da90L,
  32878. 0xf6c261b7ed493388L,0xbe9ac24beef2b77fL,0x0357ab559f244e49L },
  32879. { 0x5f7953375f1b5b9bL,0x27dfdecaa9bc503dL,0x0b2091b55c0e3ee9L,
  32880. 0x1f4f7866d68cb87fL,0x336c2c127a442a9cL,0x88267fd1d3f2ab78L } },
  32881. /* 52 << 63 */
  32882. { { 0xdb891eedd06014e0L,0x69685d6103e9970aL,0x3a612db402838113L,
  32883. 0xc1cd7b3adcdef0b0L,0x612b299da41d6c1eL,0x982161ed0ed386a0L },
  32884. { 0xb36bbe2f3ea1bf1eL,0x0d8c3752ceb2a5ecL,0xc02cd7f6ec03bdddL,
  32885. 0xa87977c152631d9eL,0x7b546cc37e398d7eL,0x5b1218a804845671L } },
  32886. /* 53 << 63 */
  32887. { { 0x52cd86c68a62f0a0L,0xc437c2af4d29c896L,0x722a337a45aebfe3L,
  32888. 0x03b13844d8a9de8bL,0x41a005bb8510aae9L,0xf42399ffc63af92cL },
  32889. { 0x004d29cfcd93390eL,0x472de98741dcfa34L,0x2c71ae744e7cdcc4L,
  32890. 0x11a5c2f8409816ccL,0x320ca246a96cef60L,0x72de4287f3d57621L } },
  32891. /* 54 << 63 */
  32892. { { 0xe3e7a3eb3771a0aeL,0x781156e9b6dd5304L,0xbaee3a8323e31e6aL,
  32893. 0x66d1569a08985bf0L,0x56161e202d75cba3L,0xf9c23c102a944de4L },
  32894. { 0x27ac8f454e129ea5L,0x8b991ba788050aaaL,0x600c96ffa5d052f6L,
  32895. 0x0fbe944df244984bL,0x3801026fa204c36aL,0xc4bfa1994d55a584L } },
  32896. /* 55 << 63 */
  32897. { { 0x11b200c6a32f5c81L,0xc4ab4cf43eabe341L,0xa21468f06f339f5aL,
  32898. 0xf20c2c5a729438aeL,0x3e68031e3a067c3dL,0x3962a92f062c8371L },
  32899. { 0x389b22835b000f3dL,0x98f3b679250b8666L,0xe283c2b4eea91464L,
  32900. 0xd35b14de1e1f4c08L,0x9ae72567d79d8683L,0x2c37b162a3b2a840L } },
  32901. /* 56 << 63 */
  32902. { { 0xfa3e43e56cb173d1L,0x2502258d4591b5a5L,0xae8c4b558ca9682aL,
  32903. 0x8cb1ffb4ec81a288L,0xd11ae888bfc84fd1L,0xa3b083a0d774577cL },
  32904. { 0x119b41c11da9afc5L,0x44bc77622934e22bL,0xa04694f37c639d6cL,
  32905. 0xd5e1ce5732c5b8eaL,0xd507c39b9749e8b6L,0x16cc0b5755255b63L } },
  32906. /* 57 << 63 */
  32907. { { 0x66fe7a39c4955e7aL,0x25b0b3e5bb11a1baL,0xb82c2cdefc573bf3L,
  32908. 0xed33c0e8281a3927L,0xd068c8901ad799d4L,0x052801ec9cbc73edL },
  32909. { 0x614e4aba0faf5c5dL,0x50d7b0a89f66d391L,0x7bdfbf5fc18e88a8L,
  32910. 0x1fc93e1f4380d2a2L,0x8241dd5f27d952d0L,0x44944d9c3a3f79d5L } },
  32911. /* 58 << 63 */
  32912. { { 0x808e2693c0edcf36L,0x4725b5aa87c254c0L,0xd1e464644d317973L,
  32913. 0x3e59efc2393049d2L,0xa4c9f340d3e0d17dL,0x69b40727abdf3022L },
  32914. { 0xa1d85395317058c8L,0x2cec2a040cfa7c13L,0xe3c16f7634236cd1L,
  32915. 0x566b403a3e52fe3eL,0xfd6065bdd6923cb6L,0xe769a89a5019f94eL } },
  32916. /* 59 << 63 */
  32917. { { 0x9b1f6e9042a1cce9L,0xc6c870270511f865L,0xc924caa72a3c29f6L,
  32918. 0xcb674fb068e604f8L,0xe997b0b8330c2dedL,0xf5b315a04ddab219L },
  32919. { 0x6fa1dde6575d3ac3L,0x32ad27f735e65e56L,0xfe723ec2e81b1ce4L,
  32920. 0x149983f8985d7286L,0xa1d350a0492ecc9aL,0x12a51f8c36a0707aL } },
  32921. /* 60 << 63 */
  32922. { { 0x71e5df78614f6f37L,0x5cf0e08da0b80beeL,0x1f8dae171e32051fL,
  32923. 0x54ae365d83bc233bL,0x97ea005b1b84aaa6L,0xf4766d9264c75139L },
  32924. { 0x9b93bbf241215701L,0xb18f042d8cf8a865L,0x5dfb96dd0867556fL,
  32925. 0xe9fafbb8597fd6a1L,0x729b2f50fe48bbc6L,0x2cf85f6b7f37ff9bL } },
  32926. /* 61 << 63 */
  32927. { { 0x3e7c871024d197f2L,0xb635595bafe9c29cL,0x302f4fff194e084cL,
  32928. 0xd497ce7c18edf332L,0x4081c7aa062672a4L,0xe886a5b28afa97daL },
  32929. { 0xa7e922b5786e1bfeL,0xabd9a18bbd7ffb7aL,0x1f4f5b9356341b58L,
  32930. 0x1726484344969ab1L,0xc4a0b557e668a479L,0x5ad1c062bf4f3343L } },
  32931. /* 62 << 63 */
  32932. { { 0x4ff86eb693d2b958L,0x4513fe1b784f628bL,0x45f4712573b5bb80L,
  32933. 0x25aa3d36c987bb15L,0x12b1e65bb48163f0L,0x9d0cb4aa9801592bL },
  32934. { 0x02c0c2aa3718bc98L,0x79b03df99c306353L,0x097d8d8daee5144cL,
  32935. 0xebed60774621d7abL,0xa8edf06e4b52e72cL,0x40c86f181dbca7d2L } },
  32936. /* 63 << 63 */
  32937. { { 0x65c7144a5e84482aL,0xba6f92644d4f7553L,0xf4dfe807d9c2524eL,
  32938. 0x1333dd7c054403b1L,0x44557e880156451fL,0x5dbda4d80824c813L },
  32939. { 0x59e204959857fec6L,0x42f4068f1b1eeb99L,0x067c3aa21d59bde9L,
  32940. 0xa9c4c3eeef27419aL,0x99fc994b2ec87652L,0x4f1607581578a996L } },
  32941. /* 64 << 63 */
  32942. { { 0xcd8c2ec9378ef62bL,0x7f4a3c5491a7c4b9L,0xe12386d4db83e1abL,
  32943. 0x9a792032bb549bb5L,0xaf81cba62807c0f1L,0xd4ad7d87abf2008eL },
  32944. { 0x9d7a72307e9ad6cdL,0xb30636b08b517b2aL,0x47c324daec900516L,
  32945. 0x408cd0d37193eb30L,0x8f0bcce2d315c655L,0x540ad4e0869d6c22L } },
  32946. /* 0 << 70 */
  32947. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  32948. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  32949. /* 1 << 70 */
  32950. { { 0x4b5e753ddae0ff8bL,0xe55c83e4da3d97b5L,0x4034d75f42fa905bL,
  32951. 0x89b85edac33e462bL,0x31f413c3058de3bbL,0x66c01c806ba75391L },
  32952. { 0x3f500202373e28deL,0x5090b33b4b9be739L,0x7297aa10efa2adddL,
  32953. 0x3e8ccdbe1a6566aaL,0x4dfda07fd7b4f214L,0xa659bd1e7cb1cae7L } },
  32954. /* 2 << 70 */
  32955. { { 0x31796c2387d11691L,0x02991ea2a9de506cL,0x4ff0cb716cb0c301L,
  32956. 0xdd0cdbd7d1702ca9L,0x470a26c8e1a02a90L,0xb705b7bad7054625L },
  32957. { 0xfadc2e86d4a1a268L,0x0fd9764668e9f923L,0x042b5ebb2951a8feL,
  32958. 0xe4af9d0364197a76L,0xdd2c6bb3249c1b5dL,0x60af89bdf01932b1L } },
  32959. /* 3 << 70 */
  32960. { { 0x4374145d41afcd64L,0x98b72d6049d21198L,0xc0ff394bdfde8a41L,
  32961. 0xed1112e5ee1ff7a5L,0x87a920e8cb5036fcL,0x437123f62deb225eL },
  32962. { 0x37e527afb9ad8c58L,0x3e3c9998abfaef38L,0xb656bcc550b2b4e2L,
  32963. 0xfacc8a193bf5699dL,0x98cec74fe616307aL,0x34af333dd3ef8babL } },
  32964. /* 4 << 70 */
  32965. { { 0x9ded9b0d744ec273L,0x5bdfe5472e79e4d5L,0x94f3aaf539393728L,
  32966. 0x22136862a438413eL,0x449286da373c7de3L,0xa709d85d29aa1540L },
  32967. { 0x1bd13e410284a4f6L,0x37b54d69f0799c8bL,0xd43b558f6bcd0cb2L,
  32968. 0xf5757c0e9e610369L,0x15c80b23c16e0651L,0xacb2cf64001820aaL } },
  32969. /* 5 << 70 */
  32970. { { 0x0629e4ddeec37f48L,0x3f7556a2da7de716L,0xcacd8f27661662bcL,
  32971. 0x65d8bc2ceaf01690L,0x83ac66477c39c893L,0x353f60dbf59440e1L },
  32972. { 0x2597b0d6852c575aL,0x410885f73a40c2b3L,0x953ab3472fcc2488L,
  32973. 0x9f753e5eef4cc6d8L,0xfc32bb4d97f69e63L,0x461c1b0c87e8c264L } },
  32974. /* 6 << 70 */
  32975. { { 0x2bea7e75ac4b62f5L,0xcf255dcdc6297871L,0xdd88db8781b25c72L,
  32976. 0x77ad90b3b617dc04L,0x65ee13820ed4a7d6L,0x4c08df9cd9644c8fL },
  32977. { 0x072d3784525a023fL,0x1aef69cefce399fbL,0xb07fd78ed7f29044L,
  32978. 0xa3754e1443043fa7L,0x97bdae92ff9fe4d9L,0xad63ba6a700fe6b8L } },
  32979. /* 7 << 70 */
  32980. { { 0xa571929ba1ca17dbL,0xce7a12f545e146b8L,0x39df1446d9eb426dL,
  32981. 0x1e48b3f8dc27f268L,0xa2d7dfa1ff548455L,0x750068b86ef1cc82L },
  32982. { 0x4d699306667fce62L,0x98540b9d131c5412L,0xf8a62cd347c580b0L,
  32983. 0x2b55460f73795005L,0x3206c0257b8db337L,0x2280934bd0dda5a2L } },
  32984. /* 8 << 70 */
  32985. { { 0x10a8aabd2352478cL,0x599d9dfa1364c40fL,0xa009df1a076945a2L,
  32986. 0xf869152c03861f02L,0xc405226e9f866a3cL,0x93bd737d8b41ecbbL },
  32987. { 0xb5c9ed1033901eedL,0x90e4ce8f99312b80L,0x1a9ef22e57589279L,
  32988. 0x83ef607d7fe2d6aaL,0xf2da84543473dbfaL,0x14f36d3a57879066L } },
  32989. /* 9 << 70 */
  32990. { { 0x2c780f220ea3ce34L,0x240a211e4b8aac72L,0x7a266e5dc2625a99L,
  32991. 0x1cb15d3e3b30c878L,0x8cd8ccab0e1b21d3L,0x53c64279adc1a6b3L },
  32992. { 0xe60d15b960bf708dL,0x6e431c1b0cb5ad4bL,0xec874c3e82033111L,
  32993. 0x88054a1d9141eae5L,0x98438a5addf53a28L,0x168f0b0ffa12c657L } },
  32994. /* 10 << 70 */
  32995. { { 0xd621ce26629d7a57L,0xbf571de7cc1f8af1L,0x2c5cfaf9304adaa3L,
  32996. 0x950addbd3f283b49L,0x622dc27cee6d1cd1L,0x26d920041f0863fbL },
  32997. { 0xe243b2a2a41ec585L,0x0dbd9adf2bea6235L,0xcb083c4d6f0820f5L,
  32998. 0x809ecbafd5493931L,0x9647067414b7ffa8L,0x2cdfe22e53fc2224L } },
  32999. /* 11 << 70 */
  33000. { { 0xc8b1333c7cd74a06L,0x7d5ac4dc271006bfL,0xe9377d9fc14e0e56L,
  33001. 0xaa8651db7a92ab1fL,0x77cee8145fc11fb5L,0x1e7c5ca027870b14L },
  33002. { 0xdeef4b3f6f959698L,0x7c59f26e5daa9bdaL,0x4d0d5aecfd312368L,
  33003. 0x5247a6f3b738de68L,0x1c4e8ba990c04807L,0x0554b41bcce126caL } },
  33004. /* 12 << 70 */
  33005. { { 0x3df98ea9a81cc26aL,0x982ed56883b2c6f3L,0xc9cbd1b5ea6d6976L,
  33006. 0x3f9f23197e25ffbcL,0xbca8e0567da6280eL,0x7abd316635cda713L },
  33007. { 0x46ef321d740ae011L,0xb17f6c75db214a33L,0x37b73b4b51de4044L,
  33008. 0x5bccf3ccccd9ba8dL,0xa2ca080dd0f7045bL,0x79caf90668cf4dccL } },
  33009. /* 13 << 70 */
  33010. { { 0xcc3605a9a7b07d22L,0x4370eb18b4ebe4e7L,0xbe393039248867c1L,
  33011. 0xc8e4851ecb1a75ffL,0x215f3fbe39cb6da4L,0x6f2102eee41f9a34L },
  33012. { 0x61d484abdfae7c27L,0xf5143bd26f1260fcL,0xa70b6c067514bcccL,
  33013. 0xe71ca833d23506f5L,0xe2f50ba8eae03a8eL,0x2ac3b50883c33359L } },
  33014. /* 14 << 70 */
  33015. { { 0xe94b930f3655cabdL,0x6ef6aac4a342443cL,0x2feb8005bae255daL,
  33016. 0x4625a15cac6e2095L,0x75c6311d0ec76c1eL,0x896a07409b81c6f2L },
  33017. { 0xbad3e2f9073378bbL,0x2984a10629266ec0L,0xa68a5351a788010aL,
  33018. 0x321aa113017cd052L,0xecfb61752f34db5cL,0xfe080cedca2b51dfL } },
  33019. /* 15 << 70 */
  33020. { { 0xba29690803360c88L,0x3fb087c036311812L,0xec5fb10ad9ff6a48L,
  33021. 0x52f7077f207dd8e1L,0x8e65cfb844c02fbcL,0x4f4fcde2fbf4bfd5L },
  33022. { 0xd1ff54156cc74320L,0xf989d544f68b036aL,0xafedc2db973bd9beL,
  33023. 0x7bdc35694785e26aL,0x0df36796751ae9baL,0xfebde691ccdabd95L } },
  33024. /* 16 << 70 */
  33025. { { 0x3499b44bc77488ccL,0xde000e01aa8f3c10L,0x30140406c1f517d7L,
  33026. 0xd4b3c8eb82a174e8L,0xc8835b13af2c9b3aL,0x2cd7626e443716f4L },
  33027. { 0x336c4f4b9c22de71L,0x9dd2b277f2529f60L,0x6ffba2dc828c34d3L,
  33028. 0x257a345c34d0d1f7L,0xbc1eff056ca4fbceL,0x05b335620768349fL } },
  33029. /* 17 << 70 */
  33030. { { 0xb142febb692e076aL,0x10cfaa6b9a654721L,0x5b7ba30c8d4917c1L,
  33031. 0x44be3089dfe4056bL,0xb7530ae6ae6307f4L,0x47c519c45b5f381fL },
  33032. { 0xa80648d8c3078009L,0xfde72e30dcb021b4L,0x8a89a51bdc2659e8L,
  33033. 0xb9e0efa6306adefcL,0xc671c060c754a7bfL,0x703c698e18f14248L } },
  33034. /* 18 << 70 */
  33035. { { 0x25c86ad43c47783aL,0xb1f94a9650f85a4dL,0xb9472e3ac023a02fL,
  33036. 0x91033d1b26f0fcdfL,0x95d775c1ab7b4ee3L,0xbe17daffdf3a5cb7L },
  33037. { 0xaeaecd2ce78395f6L,0x0e3abb0953b5da8cL,0x5f729f858ee774afL,
  33038. 0x1acccfb3aeca7a6eL,0xd066fccb37e4af11L,0x24c832ab84fc3259L } },
  33039. /* 19 << 70 */
  33040. { { 0xca547b680ca4864eL,0xea40fe17c7d49f27L,0xb5e68bab87227475L,
  33041. 0x6ba2bfaf8ce485f7L,0x4d2747acb72684f4L,0x5fabffc670aa6087L },
  33042. { 0x2d4ded5679c67c9dL,0xaf3b4eedc8a4f22fL,0xbef6128ebfa6ca86L,
  33043. 0x7ce412bbd4381632L,0x518e6ecfe670d99fL,0xaba6518dfa5f426bL } },
  33044. /* 20 << 70 */
  33045. { { 0x5ebdc79cd41b2401L,0xf0cd8598c498e0f1L,0x93f6efe79c8b7f7dL,
  33046. 0xb2f1e40ac469aa57L,0x882f0e943433c455L,0x0add72adaea0712aL },
  33047. { 0xb13578c399af96d0L,0x43c28dc621177663L,0x83aca2d854e09133L,
  33048. 0xae03943cc6ad8532L,0xce0a61917104f75cL,0x7dec8786f9838c37L } },
  33049. /* 21 << 70 */
  33050. { { 0xb0b41b8ec5abaef9L,0x43f59aee8ff5d1f2L,0xe58f78c9234d3d34L,
  33051. 0x0e1948d029a7f49eL,0x722f8e54c6cd8941L,0x75a4ebcfbaf24424L },
  33052. { 0xec8954982d7dc6d9L,0x8df2feee5261e4e2L,0xdf2820b825dfb96eL,
  33053. 0x4b89c4dcff651949L,0x27c871a527bacbe1L,0xfdc70cf7329a52bcL } },
  33054. /* 22 << 70 */
  33055. { { 0x37d58766fdb3f3fbL,0x49d9a762ad64fa66L,0xf80423918cfdbbc2L,
  33056. 0x22e60ca36400f7eeL,0xfab8ea7568210629L,0x91267753963e5b6fL },
  33057. { 0x5988d7f56b8e7ec9L,0xe43e762a5899e718L,0x842dbdcc40ae8b99L,
  33058. 0xa7ced3f19869739fL,0x1ccc1e8a6d54b9f5L,0xaa3a91adbd32e710L } },
  33059. /* 23 << 70 */
  33060. { { 0x306d662c6d4c255fL,0xf32aa48101fa367cL,0x29a71e02f16b3197L,
  33061. 0x653f7d88513a6079L,0xde93d6e74541b4adL,0x4d284acd8c54d3b1L },
  33062. { 0xfc9d462be106ed07L,0x6e3818d07e355468L,0x2ad523859400c515L,
  33063. 0x287af41d5ecd3b52L,0x1162162351e1fb02L,0xd696d01f17bd4584L } },
  33064. /* 24 << 70 */
  33065. { { 0x9db114e3715aa8daL,0x596c2dc25c2fee22L,0x04df016bd2f3080eL,
  33066. 0x0cb3f7cfb9b72037L,0xadb877c7814fe2abL,0xb2d5ec5c37761ec1L },
  33067. { 0xb5d6068e55d45831L,0x5fab1dffb7c52c04L,0x39b4aa5457d36d41L,
  33068. 0xec1de467423cc8cbL,0x280e02dafda6566dL,0xc70c3c383ca55f55L } },
  33069. /* 25 << 70 */
  33070. { { 0x27a866e7c6b03391L,0x980b0a42bfa32fc0L,0xd27856910c105df7L,
  33071. 0xf3def8c77103a2b3L,0x6c4ff04bdffea913L,0x57b1003e121140ddL },
  33072. { 0xf47bb2826d0e3170L,0xa44d6ab1e6abdfedL,0x67114b8a2a4b69d1L,
  33073. 0x7605714d52d7c65cL,0x3734795ef60b81deL,0x277f9816ebf91959L } },
  33074. /* 26 << 70 */
  33075. { { 0xe57c2ed902b3b70bL,0xcec67da99dbc076aL,0xcaf66725b0644881L,
  33076. 0xdea4f6608a3a3f96L,0x5215f097609df5ceL,0x6d828267010193e3L },
  33077. { 0x5971ff31a156565bL,0x44f7e4037b64e465L,0x2145ea9ab5486d75L,
  33078. 0x47b04066758e7ec5L,0xc181833a9c93cbe9L,0xcac07a9fe8443292L } },
  33079. /* 27 << 70 */
  33080. { { 0xead7cd3d041326e8L,0x721785f26092e605L,0x760864024ba91a6fL,
  33081. 0xb7b9b9fa335e8522L,0x6ba9c85387bb3ea9L,0x9c9f1f6f89b2ae0fL },
  33082. { 0x952bb995aae2014dL,0xf8e74d80c538cfa1L,0xb21ca840b55b7e72L,
  33083. 0x22565ec4ad982191L,0xf9547aa1f569c537L,0x8d3cb14648596bcaL } },
  33084. /* 28 << 70 */
  33085. { { 0x340d77c2f3b6cbc6L,0xe09ae22c80f4f690L,0x3e915b028b74d32cL,
  33086. 0xae7101ca3cc1117eL,0x3c36152b526c5939L,0xdad8aedbd3ec0caaL },
  33087. { 0x34de058e351bde13L,0x2fa75fd4582726d1L,0x27c030efc214ac0eL,
  33088. 0x2a216d1cc7100acbL,0x3b730043309097b7L,0x162ada747afd8aafL } },
  33089. /* 29 << 70 */
  33090. { { 0x43893d328c216eacL,0x475a3466349d7334L,0xf9f259866114fbc4L,
  33091. 0x96a22d2f0410b54eL,0xc60b69a53f3d951aL,0x152416e7fb400ddeL },
  33092. { 0x3904dd2e8f682dbfL,0x5459272368383eeaL,0x0092554ee8c998faL,
  33093. 0xc80f28512c602ce9L,0xab2f8533b197386fL,0x8c302dbc91094b32L } },
  33094. /* 30 << 70 */
  33095. { { 0x853d994eea2026d9L,0x18734b04a1b927d7L,0xd4815747ce88d009L,
  33096. 0x0265742f01b856bfL,0x05fd8b1e205d4e15L,0x0f4c8be0f1da4808L },
  33097. { 0x2652b76c456d62abL,0x0d3d1a29cbb8d818L,0xf350487453048509L,
  33098. 0xe393ef54e89ae4a5L,0x19ed8f0cc4b1306cL,0xfd72388da1aabd6dL } },
  33099. /* 31 << 70 */
  33100. { { 0x8a7e1494289e6aa7L,0xc69223e65c955385L,0x2bcbad5c087b8c7aL,
  33101. 0xc08008a531fed020L,0x9d38f5b2dc117c3bL,0xd84158bee4ad6b36L },
  33102. { 0x2c2583eb92fe5b21L,0xebc847bf557ce949L,0x4c1b54ff4fc0fd57L,
  33103. 0xe437eba325ff2f8cL,0x79a4c3cb383caa3dL,0x38a34856e08356edL } },
  33104. /* 32 << 70 */
  33105. { { 0x5d7afe9a10fa53ceL,0xe2415b501ff49021L,0xe39a067dc6523492L,
  33106. 0x3458527527557f5dL,0x756b8d86930e9f9dL,0x88df6219040d52d8L },
  33107. { 0x606eb60b5362b045L,0xd179818c9e383cbeL,0xa6215748e068d293L,
  33108. 0x73fbdca22fce158dL,0x9cfee07dcb183c8fL,0xc0bf2beba5e03c98L } },
  33109. /* 33 << 70 */
  33110. { { 0x36702d091bf9acc2L,0x1efceaebc9c9dddfL,0x31f9f5599b9afc1aL,
  33111. 0x359d4ff33e61a0e4L,0x33b3a707f3772327L,0xd990af318ac1c7ceL },
  33112. { 0x5ee060b7e736ad45L,0x83dbe8b2f653ac2aL,0x30a1e38b407f054bL,
  33113. 0x0ec6c70bd9326ac9L,0xeb37ad09d7358ab4L,0xaf36143030551ef3L } },
  33114. /* 34 << 70 */
  33115. { { 0x7b05d8e56edd5c74L,0x268edfac5443acbdL,0x73e0d693ce1ee52cL,
  33116. 0x67c67914120a1270L,0x54a897cb6f1c5007L,0xe817914a8d540dbaL },
  33117. { 0x85c1fa1958fc091bL,0x4f4989f4cf2698feL,0xbb2d5091168c08b4L,
  33118. 0xa6143388768cdd46L,0x69ec7a265e62ddc5L,0xc08749ae2654f4b2L } },
  33119. /* 35 << 70 */
  33120. { { 0x0a9882b37409bdbeL,0xfad3899cf8b6543eL,0x01c183f9f7e9893fL,
  33121. 0xe6438cf708ac9a25L,0xec22dc81aa0f2794L,0x3b641c02aa277a09L },
  33122. { 0x686b1fbd0975c891L,0x4f7e1b680070ce2bL,0xdc343dd7487e3f1dL,
  33123. 0x8825d9c230f35abaL,0xda5a77a413b91384L,0xf09d958459e405faL } },
  33124. /* 36 << 70 */
  33125. { { 0x76b242b31cf2ab8eL,0xceb190e697edb12bL,0xd39b41b7089fc439L,
  33126. 0x6ee54e750892be51L,0x128fbcfcde414849L,0x4462539007fce5faL },
  33127. { 0x9d12e04513709b9bL,0xc2c49737d95b22a3L,0x0bcd670be4b34d6cL,
  33128. 0x78d7b8cd768d7c8aL,0x7cf9382e16a0f402L,0x9b84311d17238fa2L } },
  33129. /* 37 << 70 */
  33130. { { 0x6b7faaf8c19b849bL,0x24aa5d54a5bec317L,0x991aeb14e7c06172L,
  33131. 0x52dc7da883e65aebL,0xda8998497696dd56L,0x3844a54e94cea131L },
  33132. { 0xc9fb72ac55f69169L,0xe2f7bfc821893ab6L,0x44220c2edc4057f9L,
  33133. 0x9f4f0c3812d5fedeL,0x5725b2b05c913be6L,0xfa08c56c02d8668fL } },
  33134. /* 38 << 70 */
  33135. { { 0x9aff9f0c009b3e1dL,0xed7936d97a3c8c8fL,0x0bc8e46fdefbd340L,
  33136. 0x7b508ef231540ba4L,0x9bcd9108005388f2L,0xa25cfa07c089f35dL },
  33137. { 0x9ec7cf81733bccfcL,0xf8a1993a249006d6L,0x1e68981a96d81923L,
  33138. 0x27b6199adce834d6L,0x2ddccfcfacffb035L,0xf62d7a534fe0126cL } },
  33139. /* 39 << 70 */
  33140. { { 0xc800c1d5af76895bL,0xc86db45c43f2a94eL,0xf77322fbdbb144cbL,
  33141. 0xb2607dc8f7da8df6L,0xaf666055b6cc1047L,0xf1db6416375619d4L },
  33142. { 0xf6103c8c4b0fbd9eL,0xea8e979fb4f5b85aL,0xb0307d41fd16f61eL,
  33143. 0x26bf96c58cadf61eL,0xb56c53a3bd348a61L,0xd1a5aa4f8a01388dL } },
  33144. /* 40 << 70 */
  33145. { { 0xa29d231edda802baL,0xde8d0d510ec3c1e2L,0x0ee56eae117033bdL,
  33146. 0x4dc9491998bf860cL,0xa08919cd775cd56fL,0x609a30dc1332bfc2L },
  33147. { 0x2c337f181a41db0dL,0x27fb0072c974824bL,0x34292c1bfaf28976L,
  33148. 0x242fcd73ef8c4fccL,0x553723b27473c603L,0xb2191ee9a06a0bc1L } },
  33149. /* 41 << 70 */
  33150. { { 0xd10b7b7c10bf3427L,0x16f9ebc505321572L,0x057692f6db5fde44L,
  33151. 0xf45d4d268f047704L,0xe3f8784e25584db0L,0x753764cb9f548980L },
  33152. { 0x4239bd4858f5360dL,0x9dc993da98296063L,0x0fbb0c419ffd05b9L,
  33153. 0xa6a87d50610c3493L,0x99f5669df10f18abL,0x5a03f02ba4224a18L } },
  33154. /* 42 << 70 */
  33155. { { 0x3c6839e5bf733207L,0xc2f380899c6d106bL,0x43155630e39a7559L,
  33156. 0x28d6cb546f2b8d34L,0x19738cdf09183c75L,0xa71ec595dcee5a08L },
  33157. { 0x8e9c1cc3c70db659L,0x1333d7b38beff6a6L,0xb263d91e036a5aa8L,
  33158. 0x72728714ee4f858bL,0xd65fcffbb885ceecL,0x08193f585aaaac96L } },
  33159. /* 43 << 70 */
  33160. { { 0x264006e1b53b4c8dL,0xd3748c0bdea2f9ceL,0x019408d34e580011L,
  33161. 0x381bcc70b1342807L,0xb904a17191eb1a0aL,0x13ddf3af6151a1cdL },
  33162. { 0x13827129bc228909L,0x3378b4834cdbebd9L,0x25806f7ed56635c1L,
  33163. 0xd1a3fb1c54327e55L,0xb2b8895c69d94817L,0x0779752d7150c16cL } },
  33164. /* 44 << 70 */
  33165. { { 0x228437506ce71a1fL,0x39c6fd9abf0956a5L,0xd34a4be8c8d29ce5L,
  33166. 0x41dc15356fbf8fb0L,0xdce277034c950de0L,0x1ad7192f90c75c28L },
  33167. { 0x5b3df71e27766767L,0xba85ec629ca80b5fL,0xfadae6e5095938d8L,
  33168. 0x5ce3ffc24d286159L,0x60f771fdc7b977e5L,0x7a764991b38c0c70L } },
  33169. /* 45 << 70 */
  33170. { { 0x3e4440b7469f6406L,0xdba02dea247657bcL,0xa551a570a46227e5L,
  33171. 0x278bd5a06e58b15cL,0xbbc5f8edc53eb694L,0x50e6bf5b855a2c7cL },
  33172. { 0xa80af271d231f3b9L,0x6c22008bc139b010L,0x04e9a337ba1e27e1L,
  33173. 0xcfb75909677a28ccL,0x95c59b55f967af35L,0x70d24fe88d3c6ddbL } },
  33174. /* 46 << 70 */
  33175. { { 0x0117cabbaedcb5a3L,0xb70a95d52e7bc67aL,0xdc2e07d1ad7e7cffL,
  33176. 0xf507941825b9a6b4L,0xf953a962bc8b2f61L,0x390a630d181fda94L },
  33177. { 0xc833598d1fbdd233L,0x0213e633ac4763dfL,0xe822febbcabd2713L,
  33178. 0x522864e71d2a409eL,0x49d778a81f904f3aL,0x0dd980e15912be0aL } },
  33179. /* 47 << 70 */
  33180. { { 0x97f993f46621ff1cL,0x3bdcc1ea7d30ef87L,0x931c624585386384L,
  33181. 0xd17a7b6a8cb593e3L,0x1b25176da0912f55L,0x323cf7ac2faa4d72L },
  33182. { 0xababa6c58683a7f8L,0xa99ebbda4a71606cL,0xb5375f6b0cd8fd0cL,
  33183. 0xce43e2e08ae372b7L,0x957af3cb9e69c105L,0x167c4fca772d0c74L } },
  33184. /* 48 << 70 */
  33185. { { 0x0934812574503f05L,0xcd6a64b217bf8ab4L,0x791e72fa1fd4057dL,
  33186. 0x033abed8f0697964L,0x1085ac930d58690cL,0x8acd49d69c8874cfL },
  33187. { 0x929e4c39ff1a5286L,0x9704e80ff28395abL,0xfa69fce54c3d9f8dL,
  33188. 0xdeb56555fc83a6c4L,0xd375fa037dc04c5eL,0xab2f12f156a58cdcL } },
  33189. /* 49 << 70 */
  33190. { { 0x381d144f8119fa7dL,0xda3aa4a73c6cf64eL,0x3db4cf0a74cc1520L,
  33191. 0xe8148941c1cf3514L,0xbc6c7398a22977daL,0x75e26d4982bbdc63L },
  33192. { 0x17a626a4c9594c3cL,0x766fc21a60d71273L,0x547331241c7653a3L,
  33193. 0xdbe3a9f1502617a8L,0xe41acd19a33d622dL,0x4d24cbd5e15d69d6L } },
  33194. /* 50 << 70 */
  33195. { { 0xdde0a062dbbb9d08L,0xb5676d14153211e7L,0x747247f6f97b1468L,
  33196. 0x93a6de79b2ada501L,0xf9d4e652518ce913L,0xefb0de76702b82fcL },
  33197. { 0x2c54ffd9d68961fbL,0xa6a2d1a384f04f81L,0x88167488d74b91adL,
  33198. 0xf20bba56a7d73a78L,0x9af1df5ae1afc672L,0xd79ded4543c26afeL } },
  33199. /* 51 << 70 */
  33200. { { 0x24011535a223c19bL,0x38b55f0a19c719f3L,0x369f86b4d343ce98L,
  33201. 0x6516fca318288db7L,0xad32d4699e4aa0a4L,0xb6c80dd50480429cL },
  33202. { 0x890d73f3b659b787L,0x2d1f888be15362aeL,0xd26a84bf7a9d8c3bL,
  33203. 0xd79b764460bc6435L,0xecd0272f07b0abadL,0x3ab2390382d7c63cL } },
  33204. /* 52 << 70 */
  33205. { { 0x3ec1874496d87afbL,0xb02425b5aeea74b1L,0x47cfacea954bb89eL,
  33206. 0xd8d6ff40cd26918aL,0xf2dbcbb19fd4dea6L,0xc481a4fe370fea30L },
  33207. { 0x60df9f99a334a5a1L,0xeacebd61e6fbc823L,0x21932e6ba0140a5cL,
  33208. 0x6504deb051206cceL,0xaa4b43a350560eecL,0xaf965e7b6535123bL } },
  33209. /* 53 << 70 */
  33210. { { 0x25ce17e7be01690fL,0x82bd07fc216f7549L,0x26f98cddac6e021cL,
  33211. 0x815367ff3403972eL,0x01b1cf87cd89d71dL,0xe777db14ae24f544L },
  33212. { 0x8081a692f628a076L,0x663adf4498b98423L,0x4a31e0bfbfb25b73L,
  33213. 0x5b42f193427be5b2L,0x24b1369118ae7408L,0xf13654a6e9998e84L } },
  33214. /* 54 << 70 */
  33215. { { 0xf8ec0a9e1b64a70aL,0xa1042bbb45fc54dcL,0x3ac4a936b7cbec0bL,
  33216. 0x0c2db54708eb7d93L,0x3f16e7c961ae36d2L,0xde25381b4611083aL },
  33217. { 0xc1680ae3cf5edeb7L,0x7c86d74ce2b3398eL,0xa3ec4cde9945710dL,
  33218. 0x303d28ce864e3b4fL,0xd5b9730012956ac7L,0x9ad973be3c0763b2L } },
  33219. /* 55 << 70 */
  33220. { { 0x526c03ba1979515aL,0xe6492299cde06e58L,0x2215e3fb93ec91d0L,
  33221. 0xa086161bf783b7caL,0x89e39ff44ef0015eL,0x42c6ccc595e90587L },
  33222. { 0x7577d689a81ec775L,0x272e4578daf4d896L,0x6d43c717cf01d7aaL,
  33223. 0x583814cffd5253d6L,0xee692f0666f7a3b9L,0x54048fe4e99bc633L } },
  33224. /* 56 << 70 */
  33225. { { 0x2afba531c0b9171aL,0x687dbe4cf2d75c55L,0x7c1c73f7fa17ba3dL,
  33226. 0x7886dd45063787eaL,0x14f59a18abd0a109L,0x1819df3c873bb66cL },
  33227. { 0x76c969dfe01183f5L,0x486a120b1a78b6bcL,0xdfd702fac5686aa4L,
  33228. 0x2f74157bf3457569L,0x66c8c73e01964800L,0x0a2f6114def25ca0L } },
  33229. /* 57 << 70 */
  33230. { { 0x841838a8227220dfL,0x39eb77e2cd45ff3bL,0x7140aa47f5a060cdL,
  33231. 0x9fae5937b55bc3a6L,0x243390ea09b711c4L,0x69db2ace867a3eedL },
  33232. { 0x14ee853a152860b0L,0xe3389c4edae0dae9L,0x4fa55ed1248a496aL,
  33233. 0xda6803e00ef304bbL,0xd19f48bcd04c2823L,0xe76b8d82a61773d1L } },
  33234. /* 58 << 70 */
  33235. { { 0x2e3a6332f7ae9a8aL,0x89f1576f78a12a00L,0x9597b2b245ab254dL,
  33236. 0x2017d6306309a625L,0x0385c02719adbe9fL,0x26c84f2014606336L },
  33237. { 0x3808a31a3584dd47L,0x0fd2bd1b4e1da791L,0x70c2827fb894be27L,
  33238. 0xac97e84547d1faecL,0xa63c56fe9b01c835L,0x19c3b18067ca7507L } },
  33239. /* 59 << 70 */
  33240. { { 0x975dbe423a07930bL,0xf03fc9da8f7975f3L,0x94209a2522662e65L,
  33241. 0xf5b20e6b9619dcdbL,0xa95e2188ed5ee020L,0x2301e35abe7fb828L },
  33242. { 0x4216b05b9caa0bceL,0x0534eef625cdec7bL,0x81f5c5f8613aa24bL,
  33243. 0x8705662951451a5fL,0xffafb623df15645dL,0xe19276fe79c497c5L } },
  33244. /* 60 << 70 */
  33245. { { 0x461bb6e1d118ef5cL,0x277e378d1f4bf653L,0x3b4138849ccaab1cL,
  33246. 0xa5979a3ecea9c61fL,0xdc2a23c09dbfe67dL,0x5f7e32f5335cb2d7L },
  33247. { 0xeefe71a87accbd69L,0x65d961341df58e12L,0x17bafa56538145d8L,
  33248. 0x2a723472695df807L,0x132b5320394ec082L,0x96219e617d0ed426L } },
  33249. /* 61 << 70 */
  33250. { { 0xf08ee7071ec12e08L,0xb9a51fc40c4917aaL,0x1aa9b778aa085b77L,
  33251. 0x3b3e40d72e62193aL,0x3700217fdc211bb4L,0xed03eaf4fbea2fdcL },
  33252. { 0x82e00364c55111e0L,0x3be15019e3cbc07cL,0xf142d230055b597bL,
  33253. 0xf68837b1a063deb9L,0xf1368df622e72e40L,0xfc712c67ab522f37L } },
  33254. /* 62 << 70 */
  33255. { { 0x02ca4c0dc3c8ee2fL,0x1962366a0d75f552L,0x6354ab90a43c43e7L,
  33256. 0x9f46429f7668d14eL,0x70ffaa6d0ca59472L,0x231fdb485a95ad7eL },
  33257. { 0x82ae5f0acb2ebd5dL,0x2dc8417ce51b1d3bL,0x5052133a2fb456dfL,
  33258. 0xad3b4cf2bad61a16L,0x59f283a48d76344dL,0x5f15465772b18fdcL } },
  33259. /* 63 << 70 */
  33260. { { 0xe0ef0c3cc73a7131L,0x8a4e0cdd43ea81fdL,0xceb5fcb8d6d6ce6eL,
  33261. 0x941179893535781dL,0x20f5e952b37d4531L,0x5e77f33364c25699L },
  33262. { 0xb6645e8fa6d3ff57L,0x6dac30cb5b9bfdc0L,0xb29648e73ebb655aL,
  33263. 0xe1bf3f4005ebc1d1L,0x1b12288514025fdcL,0xe15fab026c5adaabL } },
  33264. /* 64 << 70 */
  33265. { { 0x86230934f14a99d9L,0x1cf9c66e97c1c092L,0x01e186ba6f595ed3L,
  33266. 0xd3291c3de2284a58L,0x03dee2311b9e5e25L,0xf2e9b4ad15cc9f53L },
  33267. { 0x4fba15679770c29dL,0xbf7d673650c4ae2fL,0x86901eb92532d015L,
  33268. 0x4396fd784e7455deL,0x2fbcea8fbcf811c9L,0x3981ad15ae952b37L } },
  33269. /* 0 << 77 */
  33270. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  33271. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  33272. /* 1 << 77 */
  33273. { { 0x6bd2c54d4cb89afaL,0xe78c8bfa36527751L,0x27f52654e3eee747L,
  33274. 0x56f205839598d907L,0x5f91c2d027cb3712L,0xc501819fa3e33c5bL },
  33275. { 0x248490aa4eded738L,0xde7ac94427789065L,0x20138b3d74f7d38bL,
  33276. 0xae791f602fb60214L,0x6b4fb300bd033d4eL,0xc69c25d9bdfd1f17L } },
  33277. /* 2 << 77 */
  33278. { { 0x0c3d2056be21a890L,0x1c1ffbfb8fcfba99L,0x1b68a98b1fbf56caL,
  33279. 0x56fd85ff396e31cdL,0xd2ca58444382c03bL,0xc442030a7d3ef917L },
  33280. { 0x4129a731426afafaL,0xacff17ff5eaae9c6L,0x9e854180653f3b23L,
  33281. 0xe65a1a149ee066bdL,0x3420084e362ea5feL,0x6fe58801c7911e2eL } },
  33282. /* 3 << 77 */
  33283. { { 0x43f0ae676c4be6a0L,0xabc6a17a504bffebL,0xd5be6c25dbb4492eL,
  33284. 0x7efc9ee884bff97fL,0x54fbd9d7062da2e2L,0x1befeb61c6d2ac32L },
  33285. { 0x14cf6dc0cbafef5bL,0x8e640e4771d12192L,0xd0566543d9a16800L,
  33286. 0x9cc2ade9beb1e28dL,0xcbfeb45038e65833L,0x3852eaacd0f5acb2L } },
  33287. /* 4 << 77 */
  33288. { { 0x5e930d65c4650b85L,0xbe96b2ae6350da54L,0xcfac4f7efa08bd49L,
  33289. 0x277e8456a6e10f64L,0x41be3067407ac162L,0xcfd1d03252a9b68bL },
  33290. { 0x8d8d216a9c337e0bL,0xace044dc4e1b9cf5L,0xad9a4102c60d54c3L,
  33291. 0xb09420f028815187L,0x881179c60b3b8e59L,0x872685ed5b09aba1L } },
  33292. /* 5 << 77 */
  33293. { { 0x26d43085ee64924eL,0x5eb54d1c4bd6a77fL,0x69a69ccfd1ca022fL,
  33294. 0xaad92723a3342720L,0x51e27b54421d836cL,0x15e83917fc72a1adL },
  33295. { 0x183e75d14ddea73eL,0x73fe3b9fbafcecfeL,0x0197e0925daefd64L,
  33296. 0x2fa89f60f85b8249L,0x95411aafd23cd465L,0xb7dbe7485d9a459eL } },
  33297. /* 6 << 77 */
  33298. { { 0xab146c207dfc66eeL,0xa7250dcebb6869efL,0xaeba44439d7ad5f8L,
  33299. 0x919f877ec48059f0L,0x780ecd232c6b5c11L,0x586daa8e38625f8dL },
  33300. { 0x46a46c789911c031L,0xf56f74fc65303d34L,0x825bb06d4f384eabL,
  33301. 0xd147719ad6aa2bc2L,0x745fd7460750e1acL,0x2ef411494b3ec757L } },
  33302. /* 7 << 77 */
  33303. { { 0xdb24cd1af10ea702L,0xf393de57461f8ebdL,0xf56f414e5cfaefecL,
  33304. 0x758c8d854690230cL,0x6740c974433d2594L,0x69d92a620aa6bb20L },
  33305. { 0x17be342e9b0bb191L,0xc1cd309fdbf5c97bL,0x089134df8998140aL,
  33306. 0x33809a7e82afcb85L,0x409d2a481db47b21L,0x1d54e86ccdb1bccfL } },
  33307. /* 8 << 77 */
  33308. { { 0x22313dee5852b59bL,0x6f56c8e8b6a0b37fL,0x43d6eeaea76ec380L,
  33309. 0xa16551360275ad36L,0xe5c1b65adf095bdaL,0xbd1ffa8d367c44b0L },
  33310. { 0xe2b419c26b48af2bL,0x57bbbd973da194c8L,0xb5fbe51fa2baff05L,
  33311. 0xa0594d706269b5d0L,0x0b07b70523e8d667L,0xae1976b563e016e7L } },
  33312. /* 9 << 77 */
  33313. { { 0x47de66da62a200a6L,0x67b0ce0d65186fb7L,0x8e8f0248238d23a2L,
  33314. 0x5a44a886c1114a6eL,0x36383e5be8ec166bL,0xd36077d8ca7d2e43L },
  33315. { 0x332f98267c45e8c6L,0xcec2ba1355d968faL,0xdca664a84a56f7abL,
  33316. 0x954652467b03621aL,0x471f66259b6e55d4L,0x401a6a5efb0714e4L } },
  33317. /* 10 << 77 */
  33318. { { 0x2fee0c6d6046896eL,0xde64c4e0466a90efL,0xb0c9755a55395f3aL,
  33319. 0xdfe2dfd6ae3879d6L,0x979853c2d656c53dL,0x58bb6121757f381fL },
  33320. { 0xdfae5707980db8b8L,0x6d4c7cd7d7752f7fL,0xdfb77382c5dacfccL,
  33321. 0xd0fca93104177fbbL,0x9ef6d3e4b67891ffL,0xb599dfcb26024609L } },
  33322. /* 11 << 77 */
  33323. { { 0x79bf86761cc06935L,0x6bbc2d3fd44fe6bdL,0x092678c486f9f728L,
  33324. 0x05631aaf54c3fe18L,0x217adbbe95eec92fL,0xdcdbfdfb955bcba3L },
  33325. { 0xf938779c01bafb04L,0x67f599e73ab755e0L,0x793b591fb00c1315L,
  33326. 0x7ea2dbae3f2d0909L,0x05436dce46614955L,0x02b988888060d145L } },
  33327. /* 12 << 77 */
  33328. { { 0x795df21ba1ebf7c0L,0xa98f2466681b5da4L,0xea18a2ab413b507dL,
  33329. 0x9243326688324aa8L,0x2b91dcc2f74d83edL,0x95054b471f411a13L },
  33330. { 0x50869778e3c621f2L,0xb950f3a9427faf54L,0x8949bf7dae29f080L,
  33331. 0x7c16cd020ef3a3c8L,0x7883c719b122cd0aL,0xa2cad71fc03bd749L } },
  33332. /* 13 << 77 */
  33333. { { 0x60c794125b3ad53bL,0x91c62ac783981a98L,0xa6f30f473dcd7196L,
  33334. 0x55417e7598b4c589L,0x2ce067cb345b89bbL,0x4787f0db71936e38L },
  33335. { 0x208cb360331d7de3L,0x4b0347aa15022254L,0xc66e58865e8af235L,
  33336. 0xdefed4c591a68080L,0x0b8dbd336eeb47a1L,0xb6d44d36f732c8d2L } },
  33337. /* 14 << 77 */
  33338. { { 0xce0b1700d3aa7741L,0x13cc58a90df0cefcL,0xa96149c7da3a1816L,
  33339. 0xd387d361561277fbL,0x2294f77cf2c363c6L,0xc8d19d51355a8a93L },
  33340. { 0x926dd80092affccbL,0x70c59253686afd1eL,0xe4826f2370c4d8b5L,
  33341. 0x948d43dba2226c34L,0x6ffed99e2a097aaeL,0x80e7a99a2ce18037L } },
  33342. /* 15 << 77 */
  33343. { { 0x070c3f39b7f01551L,0x21b249434512844eL,0x46e33e16e2e2a68cL,
  33344. 0xd79daf0ca549dcb0L,0x634fa53966a7b9bfL,0xe856d0a8702990f4L },
  33345. { 0x246e5858e466abdbL,0x3f3ad441edfc851eL,0x9ab3db2c2e397554L,
  33346. 0x6c5b1a39b5cabd32L,0x695649b2427c5cefL,0x6179fa0f82ab4f68L } },
  33347. /* 16 << 77 */
  33348. { { 0x022aa09d236b71dcL,0xb1ce6a0ea65a7640L,0x317344c5b38b417aL,
  33349. 0x29a74cdb436451ecL,0xd898eb6ca8b1c876L,0xf0134f99b74eeffdL },
  33350. { 0x0d9eab64225d71f7L,0x9679b453ceb3cc2dL,0x37c894ce14dbff2fL,
  33351. 0x3704d34927065280L,0x9ee435d8ba29a0cdL,0x675bea1409c11c4fL } },
  33352. /* 17 << 77 */
  33353. { { 0xa8454e2b63263ee1L,0xf4c8a384cc42ffc3L,0xb260754916bf086cL,
  33354. 0x610d299cfa46a481L,0x21777897ce41a4d1L,0xdfc04bb321573cdeL },
  33355. { 0xac7d9433ced06177L,0xfdce0356a281b9ceL,0x22abd67970d48fc7L,
  33356. 0x1e4ebf7750514178L,0x7f0869ef21a255c8L,0x80ae565c29bf477cL } },
  33357. /* 18 << 77 */
  33358. { { 0x607cfaa1a38a18a2L,0xb29ae9c760bd3f91L,0x4991432d76a4c22dL,
  33359. 0x4fe8dcd380e75452L,0x7aeea8150925ed79L,0xa0cc6823b7abca08L },
  33360. { 0x647b164fb0a555dbL,0x60545cd3d6076f3bL,0x7e801133807a2045L,
  33361. 0x74b2200743ac7e22L,0xdfb58fd1716d3e5dL,0x369ad09947772c45L } },
  33362. /* 19 << 77 */
  33363. { { 0xb6c5dc0635ba2007L,0x6543c6307921115fL,0xa7e5a662eb6c493cL,
  33364. 0x728159f54a0b8d6dL,0x8cb07ef1b943fa72L,0x4a2c5cc923c46a98L },
  33365. { 0xea078b478c26221eL,0x68ef5015ce2be601L,0x3048b5de5239f8d2L,
  33366. 0x00a98cd419bbe0e5L,0x0a34161caa94a375L,0x879a9a7aac8a411aL } },
  33367. /* 20 << 77 */
  33368. { { 0x2d968968e3f6217fL,0x60b781ad1fb91fc9L,0x44ce23514a84e6ecL,
  33369. 0xe8f5627d00a3d089L,0x45211a094a980480L,0x11029b7263274860L },
  33370. { 0x44601cfcae0477aaL,0xa05a67df269ca043L,0x9dc3938fb758fbd0L,
  33371. 0x43d5d89abaa35f8cL,0xa38dfa1f2ab3436aL,0xa29653bc529b7061L } },
  33372. /* 21 << 77 */
  33373. { { 0x6ab2e32b982cd162L,0xdd690ed7794d6da0L,0x8fee0b461862f33eL,
  33374. 0xbf9aeee210d244fdL,0xe485aac27dbb57d7L,0x7f7ee4bc0ff23849L },
  33375. { 0xfb3c6255171ba49eL,0x089b9986133e45deL,0xb6c033106d04b924L,
  33376. 0x216af9223ea88efcL,0xe646a49b5fd52347L,0xbb495d2ee404b86bL } },
  33377. /* 22 << 77 */
  33378. { { 0xe24934ba07fd5fcfL,0x4840e1a6a1027598L,0x4c2294d245eead89L,
  33379. 0x7717bb604fda652dL,0xe809c21878370655L,0x417853499151e578L },
  33380. { 0x8bfe121cede554c7L,0x96037a33952c153cL,0x80458ed86a5b30f0L,
  33381. 0xba331cf9ca28472aL,0x31b5f463e6c177aaL,0x68c5dc9183ec14fcL } },
  33382. /* 23 << 77 */
  33383. { { 0x8b78d2bff13dc6a5L,0xacd7e0902285c2a2L,0x6aa7866cb47e9427L,
  33384. 0x7c2483474d9fa3f2L,0x2e668396f0661aafL,0xf491cd6d08cacae4L },
  33385. { 0x772a131158f9a617L,0xf372dcd6b2011823L,0x790a5ae54e6bd2a9L,
  33386. 0x035ff238fee0c8c9L,0xcbbe828cb0b8c53dL,0x9edba1a40af83ca1L } },
  33387. /* 24 << 77 */
  33388. { { 0x2fde4893fbecaaaeL,0x444346de30332229L,0x157b8a5b09456ed5L,
  33389. 0x73606a7925797c6cL,0xa9d0f47c33c14c06L,0x7bc8962cfaf971caL },
  33390. { 0x6e763c5165909dfdL,0x1bbbe41b14a9bf42L,0xd95b7ecbc49e9efcL,
  33391. 0x0c317927b38f2b59L,0x97912b53b3c397dbL,0xcb3879aa45c7abc7L } },
  33392. /* 25 << 77 */
  33393. { { 0x62ecc0cc429bdc1fL,0x6a8000add447c01bL,0xc2dd42354f23e5d2L,
  33394. 0xe6c1790a01b4a0dcL,0x2497e53c24393079L,0x0a113afeb2a00faaL },
  33395. { 0x96c1bd5011151480L,0xded805425aad86dbL,0x639f24cb76720e92L,
  33396. 0xf17703b7d825eb92L,0x10f8924e82d2657eL,0x6edc843c627c5236L } },
  33397. /* 26 << 77 */
  33398. { { 0x472226adf80911c2L,0xfb50c3a5e087a3d8L,0xb194551441848a6fL,
  33399. 0x61f4fbba9f17504bL,0x8c59b2c48e33924bL,0xa7641127ac7a8608L },
  33400. { 0x79feb7fc164a2330L,0x9e0fd67253a44e7aL,0x9c5c973081953c30L,
  33401. 0x25d6932c3f6342f8L,0x29e8b7664b574a69L,0x02f90a46a5de3639L } },
  33402. /* 27 << 77 */
  33403. { { 0xe2d1e2a3465ab77bL,0x2ca0f6a3cf45823cL,0xa1b12306dbdce9d8L,
  33404. 0x820470e7b4b39ca0L,0xe48956c76e847681L,0xc8ed8fc8fbf6970dL },
  33405. { 0x52cb109419ba40aaL,0x08136d091efbaaa2L,0x99dd1ad27d71e1c4L,
  33406. 0x10001f97a3a59a3bL,0x79d229e460e4cad9L,0x6d443d8756732312L } },
  33407. /* 28 << 77 */
  33408. { { 0x8d6b28b4d7cfe9f0L,0x6ee5407a4dce4904L,0x7acee5e7ba0b67f6L,
  33409. 0xd4cf6bd2abf447aeL,0xc085e8e2e7330268L,0x23edbd5a145689d8L },
  33410. { 0xd2ae9bd21d7b0e7bL,0x3196410ec4fe6ecbL,0x964bef26ec2cd59dL,
  33411. 0x09c6d07dd5e0bf03L,0x379f131ea65b646bL,0x0439c37964849830L } },
  33412. /* 29 << 77 */
  33413. { { 0x8afc9a5eae562537L,0xde81bbaab2d4172aL,0xa272c6d53db07247L,
  33414. 0x08b903ffd86ec6f8L,0x3373041f835aa84aL,0x02e8ecfdc8f18f48L },
  33415. { 0xed6b2784ccc11e64L,0x03e45e15842a8292L,0xfcfcc54b653b86efL,
  33416. 0x9678fe7ed9ea2f91L,0xee5bf4584efceafdL,0x188e49d59fcc4be9L } },
  33417. /* 30 << 77 */
  33418. { { 0xeb0098cf67a224f8L,0x14e486c90991108dL,0x0dad68314b397687L,
  33419. 0xf2a4f6cb9d089000L,0x3fcc8803509f7376L,0xdbdf06dddb5d6f8fL },
  33420. { 0x2cbf342806ef3e46L,0x4a4bd5eee432ca41L,0xdcb8bdb70e2d391dL,
  33421. 0x941b9a4ec1710ac3L,0x25cea4333d62c34aL,0x9136e5cd881a70b7L } },
  33422. /* 31 << 77 */
  33423. { { 0x9bfdb9b310c3ed1eL,0xc9a225ec0cd146c3L,0x1fec4316573c4414L,
  33424. 0xe11a408f2fa8323cL,0x198c760ac3e988bcL,0x3f8a5a1caf0fda3cL },
  33425. { 0x91e89f11f6e78264L,0x3cee0165264eebfdL,0xf9412b049898eaa0L,
  33426. 0x3c67991a382e46e3L,0x8d833d7a80acd219L,0x746a696c9d233f20L } },
  33427. /* 32 << 77 */
  33428. { { 0x8b3269a2714a10e8L,0x64cef040a4a2727eL,0xbc5ac714e428865cL,
  33429. 0x531dd17ffdaba094L,0x86d2405718d657f2L,0xe807b0d92f99dbbfL },
  33430. { 0xc428a80f6848ef88L,0xb3ef0709d0b73ce5L,0xa752691922a5d255L,
  33431. 0xbfe6392318a18586L,0x28a0c772fcf633b3L,0xad22b4ec3f3c5298L } },
  33432. /* 33 << 77 */
  33433. { { 0x8b6a2f1ae6c40f85L,0xf0f44c54f44cf3f0L,0xda635b687b25d4b6L,
  33434. 0xee59c00f8cdc9d5dL,0x36509f58cc4876afL,0xe37564484e2c550cL },
  33435. { 0x20f965b565974809L,0x26481694e3fe3a63L,0x6778b20becd272eeL,
  33436. 0x9b6bbf39c9072853L,0x4f61f192b0436bdeL,0x98bf7dafd0221263L } },
  33437. /* 34 << 77 */
  33438. { { 0xa06a4b56e0442513L,0x6537e117dd513547L,0x89e38ccd2a654224L,
  33439. 0x2fe734bd005ee292L,0x54d6933498cfece0L,0x85de5c9d85a79bf2L },
  33440. { 0x21e072bdcd3da6a9L,0x7a5d707b8c16b8a1L,0x43654d0142d04cd4L,
  33441. 0x07d589b94a88c151L,0x5bfe9ea2df726b52L,0x877c46ffcf728e4eL } },
  33442. /* 35 << 77 */
  33443. { { 0xe338f606fa009c33L,0xce596aafa351fe32L,0x8ae0e06123968387L,
  33444. 0xcdaaaa9465c98e2dL,0xec6b8a818acb9355L,0xc2c67e7facbee162L },
  33445. { 0x7068df85517df4beL,0xc34a6ecb7c5c076aL,0xf4193aab6250f0baL,
  33446. 0xe0cd2f3fa6c9ea47L,0x23a57ccc6488135aL,0x044d73e6c12b842eL } },
  33447. /* 36 << 77 */
  33448. { { 0x9d8a78808078c8bdL,0x6ea07982076d44f1L,0xc58fc94eeb3bfda0L,
  33449. 0x0b9e72200dd11b13L,0x8bd58e3aa74a005dL,0x7a30aeda115b7d33L },
  33450. { 0xeb0037e6ef2491ffL,0x0fa2d1a7fb39ecbcL,0xb75aac645ac598f7L,
  33451. 0x2c3c103341f61b42L,0x5a330bf01f7eb885L,0x1c96124d33d5e27bL } },
  33452. /* 37 << 77 */
  33453. { { 0x3f157ea1b28d1640L,0xa41c98f2c96806ecL,0xef261c3bb099566bL,
  33454. 0x11d88be30aa23f1eL,0x9a721a2c47ed1540L,0x214cb5b0e4431563L },
  33455. { 0x36a95c20250f6b19L,0x6b44f01d30eb0249L,0x141777dc5c67e2beL,
  33456. 0x6926b32ebbe7bb63L,0xb72fd3bf756cbae7L,0x226661a279dfb835L } },
  33457. /* 38 << 77 */
  33458. { { 0xc25a44e3300b8f91L,0x08aa9d5691ad1a78L,0x130c561ffdd2a064L,
  33459. 0x36f0b4608c05f94eL,0x748166e158a351b3L,0xe408976147d40ed6L },
  33460. { 0xa0ba5e5d1b2e3400L,0x94aea3b6687f6492L,0xf4975167ea262235L,
  33461. 0x8014e81143e800d6L,0x635a3c516e5df6dcL,0x71207caf2eb20366L } },
  33462. /* 39 << 77 */
  33463. { { 0xc00364013638e940L,0x24baf83bbb70e3cfL,0xc08a99b865dca079L,
  33464. 0xc070152e0d40622bL,0x44880b191697468aL,0xcf95519bfebc1644L },
  33465. { 0x7bdc41d7911a74efL,0xb88180314ad83219L,0x53c523185ad49f95L,
  33466. 0x4e59a29f6d112b66L,0xb2707b9c7515de9eL,0x8322492c150c9bdbL } },
  33467. /* 40 << 77 */
  33468. { { 0xcd81bdcf24359b81L,0x6fd326e2db4c321cL,0x4cb0228bf8ebe39cL,
  33469. 0x496a9dceb2cdd852L,0x0f115a1ad0e9b3afL,0xaa08bf36d8eeef8aL },
  33470. { 0x5232a51506e5e739L,0x21fae9d58407a551L,0x289d18b08994b4e8L,
  33471. 0xb4e346a809097a52L,0xc641510f324621d0L,0xc567fd4a95a41ab8L } },
  33472. /* 41 << 77 */
  33473. { { 0x966f961d46ff607bL,0x7e52ad9bb29278c3L,0x5b9b84b9bc6835b8L,
  33474. 0x00e4a35ad834701fL,0x53aa139866b8f484L,0xc397f087de063112L },
  33475. { 0xb811a9a24e81b980L,0x8d9c38ef8d680c4eL,0x0a7e66ef1c8db33aL,
  33476. 0x1c7e636bf4e17483L,0x25c0a690ae9acf11L,0x5b0a435985966d63L } },
  33477. /* 42 << 77 */
  33478. { { 0x3d4a4ee0a3bb186fL,0x84de7765082c283bL,0x499bf10a8fc8baddL,
  33479. 0x85191faa2db59e7bL,0xc5964c20ccc587a2L,0xfa59313b9cf52cfeL },
  33480. { 0xe614ce878da8cf4eL,0x7d8aa381d60e91b6L,0x054dfc4a0d5c0a8dL,
  33481. 0xbcd89aef28a15c79L,0x2af1121efecbc916L,0x6aa49bcb44f30755L } },
  33482. /* 43 << 77 */
  33483. { { 0x7953c7ec7b7dc4cdL,0xb709542edbdd99baL,0x7a2afc3eb30b5c70L,
  33484. 0x7669020fcd0cc804L,0xb57c1d949fade8f7L,0x5ae7d78cb2eef81bL },
  33485. { 0xdd5457edca354c1bL,0xa531d85c8f5ac058L,0x5fdca829009e0aabL,
  33486. 0x8df732f6f2bced0fL,0x3ee658627faf57d5L,0xf7a265735c2f3bc2L } },
  33487. /* 44 << 77 */
  33488. { { 0xe1ce7f3725a64849L,0x760847744da790f0L,0x4638f287cf5f319fL,
  33489. 0xe36f3c5308c3786fL,0x07042ce1985513cbL,0xfb955cbf73d9cf3aL },
  33490. { 0x3e68a2cacde0774bL,0x321f49b76dc2c816L,0x9bfed81fd76c4d3bL,
  33491. 0x985b34fefd49fa62L,0x2a3de945ebb8fa9fL,0xcaa616f0405da5afL } },
  33492. /* 45 << 77 */
  33493. { { 0xf3fa1924bc6d86f1L,0xbcf9d3cbb41dde67L,0xf96431168057ef19L,
  33494. 0x09315fc52177ef64L,0x1ae99958fcf594a7L,0x7c4baeefaa4dd788L },
  33495. { 0xff1ed168a2bb1bf3L,0x9c697d19b4a651c5L,0x5fe29bcc0df8c999L,
  33496. 0x16446aa446c45428L,0x3a51398061700e83L,0xf34133593f034bc9L } },
  33497. /* 46 << 77 */
  33498. { { 0x9cc126b8cbf28cbfL,0xf3f8aa7c1e6d63ffL,0x533e48d2b7f80225L,
  33499. 0x8fea0d204749d781L,0xd8ea614b326f8185L,0x9cf3e07753c541abL },
  33500. { 0x09040b60d95c9367L,0xc1b19940f5eabd9dL,0x80b0793cd8f8bd1eL,
  33501. 0x95fafd6fadff120cL,0x071b1841ce155f8bL,0xa85dfc8cd29d9d9aL } },
  33502. /* 47 << 77 */
  33503. { { 0xf38e0fdea761048aL,0xd9d5a22c88a93773L,0xbd58470841a99bddL,
  33504. 0xa31ef1edebb412e0L,0xd5c4fd5a0274ea16L,0xaaf215f380c1f0f8L },
  33505. { 0xe842a4537d3dfd08L,0xb5c877ae5a904548L,0x3dadd2eb9c6ddbebL,
  33506. 0x7f97c541e84e54d9L,0x6183b6ce1b8d8829L,0x2a20c212f50534a5L } },
  33507. /* 48 << 77 */
  33508. { { 0xc8c9b0ae7176dd90L,0xa95604542917d487L,0xb03b7946e62c508eL,
  33509. 0x60425926e9fe2321L,0x73b10bba80c1d136L,0xc30a847d9d218c9cL },
  33510. { 0x6ed0c8ef2073859fL,0xa176eabf432dd97fL,0x3078096ab9e96167L,
  33511. 0xb28f0e6cc473e377L,0xb44e4995683a3bc8L,0x483512eed3523796L } },
  33512. /* 49 << 77 */
  33513. { { 0x7ff5827f22adab31L,0xa7e859ad43ee005aL,0xfc2387f402c9629eL,
  33514. 0x6f39e84add12b107L,0xd1378037c097d3daL,0xc677b554d70d107fL },
  33515. { 0xec15469fe4943084L,0x1f0b13b19d412b76L,0x3b3b49b48a265a31L,
  33516. 0x45f28cc7dbe97ff2L,0x33f0e31f4efa0f0aL,0x6b22b99e37a5591bL } },
  33517. /* 50 << 77 */
  33518. { { 0x0a751d3eae0538e1L,0xd51b039af14135e9L,0x92eae0f6e8bdf562L,
  33519. 0xf253bd5c66557b17L,0xc1ff9054ef26b81bL,0x9d586d39eafd711eL },
  33520. { 0xd2b05d3d4f431502L,0x847d727f5823cfe5L,0x2c4e236a8e99840dL,
  33521. 0xa407e2d87c5981c6L,0x989dd28c69ca34b5L,0x2e8ec6b09fe586e7L } },
  33522. /* 51 << 77 */
  33523. { { 0x43161b5c40bda312L,0x8fd476b8a10fbb2fL,0x84cbf7579e5d9a4bL,
  33524. 0x19bb5926a9a31956L,0x66ed993aea9db48aL,0xd7897780ffb0361eL },
  33525. { 0xb031e035adfa3661L,0x1be83caf2296b4d8L,0x8802c98b0024cc48L,
  33526. 0x73adb0c0bac1aa5eL,0x17df92e1bef75b41L,0xd753e99903d800bbL } },
  33527. /* 52 << 77 */
  33528. { { 0x24940b868733c1c1L,0xf5dd77ce2ac072e1L,0xc248ad6bf7bdb8d2L,
  33529. 0x423e0cc9d9a8b926L,0x4318d600e6da05dcL,0x3e557e08ca27dfc9L },
  33530. { 0x8dc551cdc5dc822bL,0x160da94cbc8fb392L,0x4ffebd2aa6d4d363L,
  33531. 0x8190c17db1ce15a6L,0x1abcd1361e9dc500L,0xae3a477c9ee52a47L } },
  33532. /* 53 << 77 */
  33533. { { 0x67ab01575ed80bdfL,0xc77067b69aeb4a86L,0xe6e26abdf7880a93L,
  33534. 0x782248db1e43049cL,0xa902c41016d78616L,0xc6fa899fbf309f15L },
  33535. { 0x81e1532d672d951bL,0x84280ba386556a0dL,0x83190bfb55199078L,
  33536. 0xbc11e8c25a1c4691L,0x8ac60c7f21152509L,0x4211923ec775dcd0L } },
  33537. /* 54 << 77 */
  33538. { { 0xa63b33f6746418acL,0x62085e0eb7359443L,0x3b43ea7b5fb598dbL,
  33539. 0xf4a0f4442b365528L,0x7f4d2ff3eb55a5ddL,0x012cd591f189eadeL },
  33540. { 0x3fbdad99f58c8f84L,0x71dc1b0093bf34dfL,0xfb63f09ce062a588L,
  33541. 0xd5f0f0ad6f24b66fL,0x940e23c91813cd9dL,0xeff8580b55f241dcL } },
  33542. /* 55 << 77 */
  33543. { { 0xb30719d8b7fb5f3aL,0x8f74305b43275030L,0x2fdb613bf23628bbL,
  33544. 0x75d9868ad945ccdcL,0xbfae46f4f0b73348L,0x48ad8bafe26679b3L },
  33545. { 0x3aeb4743d0b389bdL,0xd2463ca37916297eL,0x3a6f37c820f52fd1L,
  33546. 0x7bfade4495ffa348L,0x1e3f6282a25cb79cL,0xac3320d5229bd2a3L } },
  33547. /* 56 << 77 */
  33548. { { 0x261578c7d57c8de9L,0xb9bc491f3836c5c8L,0x993266b414c8038fL,
  33549. 0xbacad755faa7cc39L,0x418c4defd69b7e27L,0x53fdc5cdae751533L },
  33550. { 0x6f3bd329c3eea63aL,0xa7a22091e53dd29eL,0xb7164f73dc4c54ecL,
  33551. 0xca66290d44d3d74eL,0xf77c62424c9ea511L,0x34337f551f714c49L } },
  33552. /* 57 << 77 */
  33553. { { 0xd1f879197700d61cL,0x21728fe49a89dc22L,0xdd3a475be6d93642L,
  33554. 0x3f8554d6e095363fL,0x4b8b712463e1bb11L,0x75db57e6c6da541dL },
  33555. { 0xfdeb9e46ac8342fdL,0x8ab4875114905993L,0x48150a06b2efd023L,
  33556. 0x9f5f513df415bff5L,0x39b1234eee9d7915L,0x735570a7dda66da5L } },
  33557. /* 58 << 77 */
  33558. { { 0x3a79a1756e3d4ec1L,0xde0ee6c79936b689L,0x37a7d9ec7fb84ee0L,
  33559. 0xe82810d38fe1f44fL,0xbe433c7253049e9eL,0xe72ef4f5fb49e274L },
  33560. { 0x525b72094b4ad28dL,0x37bfb857164f5f0cL,0x60327e31ac68d566L,
  33561. 0xdb027619bb71f137L,0x8abc8026abb6e829L,0x99702ff15e838117L } },
  33562. /* 59 << 77 */
  33563. { { 0x974be1d30696f1a5L,0xf884616dd3832430L,0x6997c37ce9dce1acL,
  33564. 0xf4bad00e2e5cfbc4L,0x7727adf8e327a9a4L,0x15315bf16aeeb305L },
  33565. { 0xe697c0af09fbffceL,0xe4291f7589f86a5fL,0x765f1904487b12f9L,
  33566. 0x752c58a5b7f8ca88L,0x9f9563d473716bf7L,0x48803cdbfd032783L } },
  33567. /* 60 << 77 */
  33568. { { 0xa0d935ce9050c5cdL,0xc1e062d03e9b902aL,0x212d0e5dc3054c00L,
  33569. 0xdc9c3f2de70ad96bL,0xa2182ffbc2742144L,0x4680d472a716993fL },
  33570. { 0x9852bb00677f3756L,0x2bb3d78435e6213fL,0xadfdbfe07377fdc7L,
  33571. 0x41db795d708afddfL,0x6848cef57727ed86L,0xb24e416aa6c1dd1aL } },
  33572. /* 61 << 77 */
  33573. { { 0x36d76f2f2edc95c2L,0xbdf2a67810b0670fL,0x49fc8c43b63877a1L,
  33574. 0x23182ed3a87c8615L,0x94c21da96c011a44L,0x3bc0b86860d3c162L },
  33575. { 0xca6a158244815192L,0x4bd1ce04fd97b78bL,0x1d0074cddc750023L,
  33576. 0x40cf8233cdfb0c7cL,0xe4e28aa8bbbfbf3dL,0x72656155b6eec7d2L } },
  33577. /* 62 << 77 */
  33578. { { 0x5b1be65b912b364dL,0xe6369ca1e0335426L,0x249740d58420e7daL,
  33579. 0xff13a26f1ac1acf4L,0x0ecee744b9634fb2L,0xbaa77d57d664ceb1L },
  33580. { 0xadfa7625914f3f7eL,0x17c75e99bbcffe16L,0xcf557911d64aedb0L,
  33581. 0x8a4b7b49c3644ba0L,0x115240401eb7bb97L,0xb823c21a70fc7b5eL } },
  33582. /* 63 << 77 */
  33583. { { 0x45db2c038727c0fcL,0xf5aeeb7bbae2c896L,0xfad1cc32eed15b82L,
  33584. 0x65d4440a8609b00eL,0x35698d956b4dbd25L,0x861615bd0f6cda68L },
  33585. { 0x578efdaa8aec1e99L,0x87ddae76fcf67480L,0x5ff5a1304669ccb0L,
  33586. 0x5fd2f31a0b98ee60L,0xccad491a3cc4c003L,0x6dcf25bbccbc46e0L } },
  33587. /* 64 << 77 */
  33588. { { 0x93a62e7cfa43699cL,0xdad738901bc422d9L,0x265e3cbb10cc9544L,
  33589. 0x28cceb062f37154cL,0x6b79b0713bf2e08bL,0x88e025df3ab39091L },
  33590. { 0x50a8d04d126522bdL,0xeabbc1b7b779bacfL,0x3db4336ac21cc62eL,
  33591. 0x4747f0a36fc00450L,0x067cbf1c544b2d95L,0x2480b7d8fd2be7a7L } },
  33592. /* 0 << 84 */
  33593. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  33594. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  33595. /* 1 << 84 */
  33596. { { 0x0233e423d52eb122L,0xc28483521154b0c9L,0x2ca09cef6349e35bL,
  33597. 0x3b70afc3ded2ec54L,0xc813474d52dded3dL,0x2d3f21bf12f00ee0L },
  33598. { 0xa0908f7692f215c6L,0xb97d60e94e9c0440L,0x84ad10c134b6a8e0L,
  33599. 0x6f37fd956e7c163eL,0x7caae8c8d057e0c3L,0x534f52c2553721a2L } },
  33600. /* 2 << 84 */
  33601. { { 0xa354c1de72a041b2L,0xe83df25929d1330aL,0x676610999d532bbdL,
  33602. 0xb7c2f4cf52011751L,0x6945d34ff659e35eL,0x6217d20ba1303b7bL },
  33603. { 0xa200ddba25751badL,0xa74a729001d3566dL,0x3018445faa82b46fL,
  33604. 0xc3e6a3acfccedc1bL,0xe86ae8703353e29fL,0x1c8085bbfd7e8547L } },
  33605. /* 3 << 84 */
  33606. { { 0x728c8e145d1a678fL,0xf944da572ac89a2dL,0x3016c2da4796df72L,
  33607. 0xf6d79e4e00a55efcL,0x4fced269526b1cb8L,0x4a93e47791f165a9L },
  33608. { 0x528b8572f84f90d3L,0x3b30376e5e725561L,0x4f903520e07bb990L,
  33609. 0x07ddb97f4ea8ae6bL,0x29c01e70b3b735bbL,0x825c7f6e5000dd4aL } },
  33610. /* 4 << 84 */
  33611. { { 0x306b63e3b4dcea78L,0x4b10209213636935L,0x36bb68898bdeddeaL,
  33612. 0x9331655d67a329acL,0x14c7fe26ba92ccceL,0x4e7d6929be0519b4L },
  33613. { 0x0dc39dbd164d50e2L,0xd4c430a0b1679cc5L,0xc7f78818fa8682baL,
  33614. 0x43396eadb60aad97L,0x751784d7ff2c64ccL,0xd37928be866af43eL } },
  33615. /* 5 << 84 */
  33616. { { 0x3742b61e0475f547L,0x48b2a2c2477722acL,0xf52c6787abce3401L,
  33617. 0x4749711ea4cb41b4L,0x7ce0dfb03fca817eL,0x1c1e3bf996e85048L },
  33618. { 0xcd65250e40faa8e9L,0xa8edce7017d9b93aL,0x73523cb2b4dd5619L,
  33619. 0x15ba773abb5379f5L,0xcc5e62d6c0a847baL,0x7efe5c7c04d852deL } },
  33620. /* 6 << 84 */
  33621. { { 0xf0a69e685a91c9aaL,0x0304d20105c13197L,0x773a3ab7cd14af1dL,
  33622. 0xc0b88edd558d555dL,0xeb12d197d2e63dd6L,0x4a8e849fbcd9cdb3L },
  33623. { 0x06432985965eaa14L,0x453d93861a5a6f43L,0xbd28f6164171b9bcL,
  33624. 0x37781639bbfcf90aL,0x1f93898f3a36084dL,0x1fefd8b7dd00ca75L } },
  33625. /* 7 << 84 */
  33626. { { 0x3b8d8e495e456124L,0x967ed511967c17b7L,0x1d72430c2aad8c67L,
  33627. 0xe8c5d506b82c1673L,0x989978868a0fb41dL,0xa9d478f70f81234fL },
  33628. { 0xa0c941cf44cc0614L,0xc033c99024ad30f5L,0xaa7de296101f89aeL,
  33629. 0x4cadd8e3ca6a3227L,0x3b4db51f2764ec0cL,0xcbfe70fc09256db4L } },
  33630. /* 8 << 84 */
  33631. { { 0xb9207dbc2b2f1bccL,0x6afd6871a3e83ef7L,0x49924e5534ba150bL,
  33632. 0x2935ebf1dfec9972L,0x34bf5e94b76f870dL,0x22d0f32b4c20385cL },
  33633. { 0xc78ac1728ccc8e72L,0x7b45b8220ccecb0aL,0x76c67ee4cfb4b8baL,
  33634. 0xecfaefb2cd8724b6L,0xe9bc3d67340bc1efL,0xed40b2b9ca5541b5L } },
  33635. /* 9 << 84 */
  33636. { { 0x5d1bd16518f8e17dL,0x754986b7405f822bL,0x420b1b24d8753fafL,
  33637. 0xab038e0608ff680cL,0x33621a0fa3649f49L,0xe24b84db78918eb6L },
  33638. { 0x0e669672c8bf4168L,0xcb7fab33171eab20L,0xa097d2cc4808be42L,
  33639. 0x4f4e395f5842b80bL,0xddcb1e51a579145cL,0xa635d0cdf330ae0cL } },
  33640. /* 10 << 84 */
  33641. { { 0x9b8a3eb3069e6432L,0x43aaa7fc721397f7L,0x46e23c6ca7e83a71L,
  33642. 0x71b261d593fa3c25L,0x4a47a1050f523a72L,0x31919e898dcad752L },
  33643. { 0x4c8b06e70c5dd2adL,0x677ec5f38bdc55e7L,0x4372d55dcb1b5828L,
  33644. 0x7bf054c1f04dd321L,0x4e8c1a992e44584eL,0x6807803751d35d78L } },
  33645. /* 11 << 84 */
  33646. { { 0xa6d78a3d754377feL,0xcc17c26ac72ae5e6L,0x2f0ab93b1c05fc24L,
  33647. 0x1645c369d64c9d40L,0x7c37b12c563e7e9bL,0xb70d292d58b477cbL },
  33648. { 0xc283aca993a2d5a6L,0x759e9118354c183fL,0x8a031f6fdd8f4125L,
  33649. 0xfa8b17ad56edbe3aL,0x6e0f96eb63c651ffL,0x40361942b5085541L } },
  33650. /* 12 << 84 */
  33651. { { 0x25ae349981d311b3L,0x8640f52a3b16037bL,0xac0839941d947065L,
  33652. 0x3723c75ee2e693d2L,0x65040a51b66f429eL,0x7f582b0b035a3a53L },
  33653. { 0x20eca9e10a166da6L,0x45b37e202c4cc565L,0xeab882957a8a96e3L,
  33654. 0x99e771dab60a1a1bL,0x2cdd778c23b03965L,0x8d4d7a7291052478L } },
  33655. /* 13 << 84 */
  33656. { { 0xb57b345e4ff33506L,0xc1a3092a31d23fc3L,0xc16b501e905e1f58L,
  33657. 0xa36a3b1f29067b85L,0x7cfabd23c214dd5aL,0xbd5f7ab726ad949eL },
  33658. { 0x8f64595987363816L,0x49c1a3e679d12d59L,0xcc8f3e2c32d771abL,
  33659. 0x008d900e6bde16d1L,0x60428a0f60165966L,0xd4f8d9eda7383ab9L } },
  33660. /* 14 << 84 */
  33661. { { 0xa52d3c2d7e8f73b5L,0x86d8063351842657L,0x58f01253b3949ebaL,
  33662. 0x97689f15e79367d0L,0x918bf9a30d820328L,0x2d4bc99441c959dfL },
  33663. { 0x37392f6e8c16ee54L,0x9f726d58e6f0849bL,0x497de1e4b8208f08L,
  33664. 0x60c51233d51a29b3L,0x0f61fb03c9e1d465L,0x09494bd0fbe2613cL } },
  33665. /* 15 << 84 */
  33666. { { 0x100ef5d0a2bd7bd4L,0x89efecf5f45e2a66L,0x63bc210b653786bbL,
  33667. 0xc7748dba0a0e47c4L,0xaf8122ae110d1ba0L,0x6695bfbf797c78bfL },
  33668. { 0x9b0e6fb1d7dbff69L,0x106799703f53040eL,0x22d9ed52fcaf4ed1L,
  33669. 0x1e27bafdcc1b2d4cL,0x839f9c019f1c88e6L,0x1112fe541321ad66L } },
  33670. /* 16 << 84 */
  33671. { { 0x4f293478154d0f99L,0x1b82320dd07a24b3L,0x1bf7c94f64d55f6fL,
  33672. 0x4489b57d725c5125L,0x3aa4d43ab1b6a091L,0x054842bdcf7a60faL },
  33673. { 0xaa918a4d2aeb4cb6L,0xcbdaff99ac7d317bL,0xed0e00a16812a03cL,
  33674. 0xb09acf270b0a1e4bL,0xc73a41f7ac28386bL,0x43134dbdf4cd1321L } },
  33675. /* 17 << 84 */
  33676. { { 0xe5f746af6e001a20L,0xdc975b02d6a9925fL,0x6d13e266e57f9100L,
  33677. 0xe013661396a9c4c9L,0xb483162850a66d45L,0xe3b0f96d4ee8439aL },
  33678. { 0xf2a2c08d3e074501L,0x987b2b6b2be498e4L,0x605aad24a15b815aL,
  33679. 0x5bf2186f8529ad68L,0x1413b3d7885ad25dL,0x3de23959807efaabL } },
  33680. /* 18 << 84 */
  33681. { { 0x08336ffed8c33924L,0x15b56cbf5140b253L,0x38dcd310306caedbL,
  33682. 0x04ecd49647944afdL,0x1280d23f68a48f95L,0xf414220434363c6eL },
  33683. { 0xd0a397eacaa8717fL,0xb51a1669c3994b80L,0xa02eed916c56808bL,
  33684. 0xc3ab55c583545c3cL,0x8b835820fd26114aL,0xe0cfa4a6ffff324cL } },
  33685. /* 19 << 84 */
  33686. { { 0x4db4bfb788b45f19L,0x130252bbe0d5fd16L,0xe44c97b22808bff6L,
  33687. 0x885e4555b03405caL,0x3b7ce036be9af81eL,0xebe17cf58c552276L },
  33688. { 0x6eb946c977f4158fL,0x36c23a9c74a5e642L,0x466ff55f2e70a453L,
  33689. 0x327fd5fd28ea7af7L,0xc96bfbec6e658256L,0xaf194fe8c0a3b932L } },
  33690. /* 20 << 84 */
  33691. { { 0xcf63d27951c0d95eL,0x3b170a0bac86a014L,0xc21eaaa9881095e1L,
  33692. 0xed2fda116069a3ebL,0x536264b9bd2f1c5aL,0x819e1cffde312c2cL },
  33693. { 0x6c30f983dfd6ce38L,0x2f32cc4c980b439eL,0x9fab10b63b9c03b2L,
  33694. 0xdfebe34e011ab74aL,0x587360e3b80963f6L,0x3db1f6108692e352L } },
  33695. /* 21 << 84 */
  33696. { { 0xf262f2379765908aL,0x76f8d0017d03cdcbL,0xdbcadfb22f35de21L,
  33697. 0x88d5bf592a73815aL,0xc4f4e3b02b1bab82L,0xf5cce885b9635dcbL },
  33698. { 0x110a785875a416dbL,0xfe7e6c360adb01feL,0xa02642c01374d779L,
  33699. 0x9010758753bb5898L,0x0c764ed2a363fcf2L,0x24a2a5541700e551L } },
  33700. /* 22 << 84 */
  33701. { { 0x63a094c5fe3d070bL,0xf769b91988515eb1L,0xafe86e1450d1131dL,
  33702. 0x6bf277886774d3d4L,0x7231d699ffd805d0L,0x05132e5b6304116eL },
  33703. { 0x3d5e255be34ce5bcL,0xfd9c3bd0c95e3089L,0x22a24023b83cbac9L,
  33704. 0xfb6d2b6fb0b3b98aL,0x74af1115f7e36fcdL,0xcfe15eaff9da3bf0L } },
  33705. /* 23 << 84 */
  33706. { { 0xb242ffd61da39f60L,0xd0ed946320cac1b3L,0x9ebd5e46e25f809fL,
  33707. 0xc7df7e5a07f5aa4eL,0x5eea38d791a5f85dL,0x6240f01d6080442fL },
  33708. { 0x72ec0a5e251d866fL,0xd3e4acbebf2c0037L,0x0d4f47c90fd962d7L,
  33709. 0xece7c047b8de2dfbL,0x841050b96df17f0fL,0x567c3df7e933a4d5L } },
  33710. /* 24 << 84 */
  33711. { { 0x266d2c1cbb2fcdaeL,0xb538d4a252be93f2L,0x774c88ba73bd0094L,
  33712. 0x65283a9b81a7e042L,0xe1438bbfd0381625L,0x450e1f644d0db206L },
  33713. { 0xb38ae9ef4e60fc4aL,0x14ce87e112719817L,0x831d41ec570303f0L,
  33714. 0x7172917028850444L,0x2077ea32ccd609f5L,0x091d1166cd273fdcL } },
  33715. /* 25 << 84 */
  33716. { { 0xaf5916f49412edcbL,0x9ccc0dc08f01b2d9L,0xbed1fdd42dd737c8L,
  33717. 0x29d26cab95a21501L,0xff38bf18c70f1364L,0x0bdb055876879b06L },
  33718. { 0x706031e2a14164d8L,0xe229fce1fc39648bL,0x5ebc640878e97c8bL,
  33719. 0x26039bda822de18fL,0xab992da4b9f090d7L,0xf409432d53eb438eL } },
  33720. /* 26 << 84 */
  33721. { { 0xdf216dd84b2ca517L,0xb3eec4b9c6b74c4dL,0xf564e6c81c14e77bL,
  33722. 0xcde25f1c2c2c9395L,0x7e31f7a5049fcc83L,0x6913707b9284c753L },
  33723. { 0xb92a6f2458e6eb5fL,0x85b0cab595148292L,0xeaad036d7449be92L,
  33724. 0x2f6a2888eb94a702L,0xd7d8773d47d59fb0L,0x612d257303c0bf25L } },
  33725. /* 27 << 84 */
  33726. { { 0x805ece910ea742f6L,0x54486a6ffb5dba94L,0xaceb0eebbae52f76L,
  33727. 0x2200fd85e98794f0L,0x44bd993ef305af19L,0x28f256738eb8baceL },
  33728. { 0x5d3fabbadc5f9c18L,0x4338f79c1b003ed1L,0xaf4b0566bc20c65aL,
  33729. 0xded9407c3045d1bbL,0xe8713d7506391eb2L,0x557d62c971307365L } },
  33730. /* 28 << 84 */
  33731. { { 0xb872a10584d2c3bbL,0x44bca57139196026L,0x857327d84e352e5dL,
  33732. 0xa6c6004ad925f99fL,0x48aaf266bab79eadL,0x213ad923adab2a3fL },
  33733. { 0x3be29b6df371cc48L,0xe732b9062385c9f4L,0x562e0be123f0a84eL,
  33734. 0xbb6b017228c4b0dbL,0x71a93ae5f4c6d8beL,0x76b8bb16551f1fe9L } },
  33735. /* 29 << 84 */
  33736. { { 0xd028d9b5242002c2L,0xea105054823783caL,0x01cf8a491d45c34fL,
  33737. 0x1035835e42457869L,0x0a95049661cc1e05L,0x9dce5bd3b439afc2L },
  33738. { 0x8552f02003b18e4fL,0x4973e3bde6144805L,0x29fb98d8d8514c4eL,
  33739. 0x0ce0e8d83ca27b39L,0x7aaf3f5284bbc6caL,0x0572bf40d78c7c5bL } },
  33740. /* 30 << 84 */
  33741. { { 0xbbfaaa94c39926a8L,0xb9a59fdb60a138aaL,0x217a1aa2947e30e9L,
  33742. 0xcac988c9c52c9fffL,0x5676473a3bae3c39L,0x7d84b353857f04c9L },
  33743. { 0xdeded30cdd324e24L,0xf07c678a9c242899L,0x956d05538cb64f3bL,
  33744. 0x9d34e2f5502cb2b0L,0x99e1054a51dd03b3L,0x86b8bfa54d60a593L } },
  33745. /* 31 << 84 */
  33746. { { 0x3dcd2df9c8870c4eL,0x7cfdd05f1699cd0fL,0x19e9ccf027e79e0fL,
  33747. 0x56e997027b85d75eL,0x407b5b74ccadcf9cL,0xc961a336297dda7aL },
  33748. { 0x350c34d56d12d17bL,0xe37de9a93bc6afe9L,0xd2c7339e0d641d3fL,
  33749. 0x2700f39cf7dfa063L,0x2916f9ad8ddef077L,0xffec6230547cdbebL } },
  33750. /* 32 << 84 */
  33751. { { 0x10a53b90754d15e9L,0x6cde9a0c5f4c7218L,0x740d513fabef2b96L,
  33752. 0xff6cc47cd3f802fdL,0x1be6825beb0627afL,0xdb21ede55886c2dcL },
  33753. { 0xb6cfb2c6f5daaed7L,0x68b61aa8fae29a9cL,0x7a1e16f53a5a485bL,
  33754. 0x16b60b92e7b2223eL,0x332f33d836a13a9bL,0x4567c313876cd1a2L } },
  33755. /* 33 << 84 */
  33756. { { 0x7663402de62014a2L,0xbffe1e7fc4efd224L,0x2080eb02c38f766dL,
  33757. 0x6c95529ba9641db9L,0x24dc13a5c68de8e5L,0xca219b3fbbc3016bL },
  33758. { 0xb83450e310b634e0L,0x8cd26d775b097a34L,0xb912c34564c9884fL,
  33759. 0x3d1f28be5bd75f1eL,0xdcba2b479466ea59L,0x4077e017ca9948e3L } },
  33760. /* 34 << 84 */
  33761. { { 0xb4b2c65df91c7972L,0xabe915496b689013L,0x4eb7afa8d506333bL,
  33762. 0xc2f2ac1d648e7c0aL,0xc6bc96b1213cc243L,0x0b827c2189e44025L },
  33763. { 0x2e866601cadee87dL,0x8ee85356b4719ce3L,0xefda7427b4fc0081L,
  33764. 0x0d5c33c4c802c92dL,0x4c8635ab58515f01L,0x9d7ed87edd0ab04fL } },
  33765. /* 35 << 84 */
  33766. { { 0x9a660794cda4cadfL,0x70784fff2484a3b3L,0x8ed664ad2de7de13L,
  33767. 0xbaff5937030d906eL,0x884407034ab43a4fL,0x86dfdd53ee09795bL },
  33768. { 0xcffa6852fb0e889cL,0xd94373e1e8c9fb95L,0xecc0ea249b0e3ac1L,
  33769. 0xe88eda6eaa89e492L,0xbb049803da19207cL,0xfbb0c3874bbb5be6L } },
  33770. /* 36 << 84 */
  33771. { { 0x3e2bdd9b5a5f6b4dL,0x30cf4762ab005a55L,0x8736f5188bacd78cL,
  33772. 0x8a5a647b09dc21fdL,0xfba40c38ca06c1fcL,0x63d53fb64a4e1524L },
  33773. { 0xe77d07a19a2bd706L,0x54144ea7bbe30e86L,0x8eb606220bd955a4L,
  33774. 0xf689cc80b3c26cafL,0xc70fe95c9fefcbbfL,0x67f9e8e2495b5bdeL } },
  33775. /* 37 << 84 */
  33776. { { 0x04361e6b2e4d2cf9L,0xdbd3cc13ade11ba7L,0x93dc1d1df47d8ae0L,
  33777. 0x7d46bba6fbb2d65dL,0x797ea0df92e97abdL,0x09eb3975a712e8cdL },
  33778. { 0x9ab3a54e0380cf8fL,0xcd1a9574c96710b1L,0x6abcd1a1dc13dbfaL,
  33779. 0x1be0db71c2ee67f9L,0xee8ec8d0c2ac89a5L,0xbc363f407da201f5L } },
  33780. /* 38 << 84 */
  33781. { { 0xc86c049bbbef377cL,0x43df6f3703de56a7L,0x01eced2b558e516fL,
  33782. 0x18fca0bdb43c1cc0L,0xd8c6f7ff62121c68L,0xb2f1f1ac36f90713L },
  33783. { 0x5f876328ea1bbd95L,0x9f22dd535ac4ce8cL,0x7e052acc7df88002L,
  33784. 0xedf21fb7068d46a4L,0x349130a21d7d0220L,0xcccc79beaaa68eebL } },
  33785. /* 39 << 84 */
  33786. { { 0x9c955b5eb4100632L,0x8d6dd2d3ccd99a0eL,0x700f827c265dd397L,
  33787. 0x5540bc0cfc85a2c1L,0x6d4b8e7adfb81661L,0xfbfe1ebe1d5c1485L },
  33788. { 0x322c2883c9dc1b6cL,0xc7c897cdfd7e0f34L,0xe70b0586030e41aeL,
  33789. 0x4263e06e26a728b7L,0x0ee2b93392387542L,0xae708ccaf6220511L } },
  33790. /* 40 << 84 */
  33791. { { 0x05ff8b9cbc15ae37L,0x94dc2e85d06d62edL,0xea1d1c8b4b02607dL,
  33792. 0x1fc202a224da757cL,0xbd5180bb35440e69L,0x0263dd51698ee7a5L },
  33793. { 0xbe93f27654013d74L,0xa7c041c464e81695L,0xbb170ac13ba5336fL,
  33794. 0x1aadf302af84dfa1L,0xeda58747c960788fL,0xb456070e5eefc35eL } },
  33795. /* 41 << 84 */
  33796. { { 0xa905d421800ed69aL,0xdb8a643813622898L,0xd003affbdaab0769L,
  33797. 0x467bc051f0aed9d3L,0xed1e6951b11085d3L,0x7a1d1152d3f54fc5L },
  33798. { 0x8cb243b6dc8dd008L,0xf9c690d1f409210dL,0x9a3195399461aee0L,
  33799. 0xf580724dbc2e4de0L,0x52f648e4e759556fL,0x235a79f2697885d6L } },
  33800. /* 42 << 84 */
  33801. { { 0xb293d3fe8220ceb2L,0xace20e7e049a33a9L,0xa584ad52af4198d6L,
  33802. 0x49c5cde64aa0a5c6L,0xc4f7877ecee2e664L,0xe1557968bb98ed87L },
  33803. { 0x69b0cd713066000dL,0x1af188cbc7399f29L,0x5b88b85c306188a3L,
  33804. 0xcffa28eb4097182dL,0xdb01149ec80d0aa9L,0x9f8e6d59402bc397L } },
  33805. /* 43 << 84 */
  33806. { { 0xa646077bd5b97d37L,0x618df84461cfbd95L,0x3a9fe2f447c62894L,
  33807. 0x7f2760eb4e0f1612L,0x50c08fdb36e5acf1L,0xac799584675d2aabL },
  33808. { 0x3eba6f54917dd606L,0xf585fa5075119ed9L,0xb047abfca32016bcL,
  33809. 0x61c03e51aca118f0L,0xef9fcc526dc13766L,0xd849eca5e8a3fb72L } },
  33810. /* 44 << 84 */
  33811. { { 0x11ac1ff4147faf46L,0x5dd8913882b818f4L,0xe439f66fb15fe5a2L,
  33812. 0xadf913a5fe8fb45aL,0x3dc708404a6bbdb0L,0xe8e1204da4af4ac5L },
  33813. { 0x4be549318ba70502L,0x945d9a765883b39bL,0x99cb1c721a76198bL,
  33814. 0x96fbed479a7949e2L,0x30ee96ebf0299bc4L,0xb7dc5e76d3dd160cL } },
  33815. /* 45 << 84 */
  33816. { { 0x85eca39b0c88d5feL,0x96000863af9e0158L,0xbb13f99c4509590eL,
  33817. 0x50033c18034e2499L,0x1e9346f87b86cb33L,0x917d88b4aca548e0L },
  33818. { 0x0c422c2e9e2a7e15L,0x6751c95c5e37fb06L,0x631361b8c40d21b7L,
  33819. 0xe231858ec9958deeL,0xae86abc54d9936e3L,0x60c78d1137bf9213L } },
  33820. /* 46 << 84 */
  33821. { { 0xa0bcb7c6283190a9L,0x36c884ffc53fe76eL,0x071d4acab23f0865L,
  33822. 0xd44e3c20e14a82f5L,0x704dadd8968d28bbL,0xb40d2b948e88ad61L },
  33823. { 0x4a29142ff3de62f8L,0xdd071910bd7292a8L,0x5b12c32d5b3571c9L,
  33824. 0xe9886262943c6aecL,0xc49b7506cb1e0a33L,0x87f6c2d3de95886cL } },
  33825. /* 47 << 84 */
  33826. { { 0x44ba232e010f465cL,0xb82486c69ac91d38L,0xcd1a6bf75de743f5L,
  33827. 0xe050232838acbc4bL,0x8de9c29631fb87b5L,0x9c8029250450c4efL },
  33828. { 0x19ee1607635e64a6L,0xeff5478c69ed7f8eL,0x311201a027001c21L,
  33829. 0xfc0382a78beb55ecL,0x494b623ce9dea7f8L,0x926a3f756767f769L } },
  33830. /* 48 << 84 */
  33831. { { 0x802f495cee46f99bL,0x0f3ad0ee43b91cbbL,0xeaf3b294e9b3f0f6L,
  33832. 0x82cc760033cbdcd1L,0x1a5642278e83fce5L,0xcf1b2edaffa0e4ccL },
  33833. { 0x7d93e9769b1f5706L,0xe4eb843cf873d68eL,0xcb53dd79eafe5f35L,
  33834. 0xcbbed8f0fcaafabbL,0x570472705f053efeL,0x2c71a95f1ebfeb7aL } },
  33835. /* 49 << 84 */
  33836. { { 0x02d4717ddd7a5499L,0x3bc8bdcb9966236bL,0x13f08015fd27be15L,
  33837. 0xe05236f6baaff392L,0xf73bab3f7b4cc522L,0x8ad26d4552ccc027L },
  33838. { 0x79f8e79e9e9ccd7fL,0x8011b92aab2f22d9L,0x6aef576e729662e5L,
  33839. 0x7d5194d05e568f55L,0x2947d63a1a40860bL,0xe9890f1440305b54L } },
  33840. /* 50 << 84 */
  33841. { { 0x8085614c0fa9602eL,0x9ee1b9b26651c4ffL,0x65dd9c94ec048f1bL,
  33842. 0x10b4a62f6d6c0fd7L,0x61469fb7d391dcd2L,0xdf751399edc3d431L },
  33843. { 0xe3901315c913acbbL,0x31581d7a90976644L,0xf20809634aee5cecL,
  33844. 0xaa716eafe5408c5dL,0x9e356989b9a60ad7L,0x2d6e7733a6a3c977L } },
  33845. /* 51 << 84 */
  33846. { { 0xd6d99f54f19b8464L,0x3322a0b8a0be5c3bL,0x6cff730557e98725L,
  33847. 0x786709c7953a357dL,0x3864d278a1013652L,0xf7471f111738f6e6L },
  33848. { 0x0377a923984c465aL,0x4a24b9e14ba970e2L,0xe53dd9f21c01d248L,
  33849. 0xf422b754fbffc0d5L,0xae25dc0ec6a956b0L,0x3c3fef96ce806445L } },
  33850. /* 52 << 84 */
  33851. { { 0x6a69d207b5906d71L,0xf3c757ed8964e1b1L,0xdae255af5f98821fL,
  33852. 0x6c801ed4db1af96aL,0xd12430343d109b86L,0x4b2aa65fa091f98dL },
  33853. { 0xd9bb4c2132dcb5f9L,0xe5a5979bf190a1e0L,0x0861e5de40117a91L,
  33854. 0x8753c9adc39120e4L,0xfdcb09f4aeb4a18fL,0xdbda38746bd1fd08L } },
  33855. /* 53 << 84 */
  33856. { { 0x1bd8e8c0304f7045L,0x8ffcf24eedbd2dd0L,0x13c9441de6ae4dadL,
  33857. 0x5efb70aab418c02dL,0x9d0fede1b8cf6949L,0x613545cf41f5aec0L },
  33858. { 0x4e3342244b98bddeL,0x7d0c11110fd8aaf9L,0x30c2bedcdfb8643cL,
  33859. 0x875d386aa83e493fL,0x85b32632d6cd0825L,0x9f1ef3a01445507dL } },
  33860. /* 54 << 84 */
  33861. { { 0x2b70440e54f6b8d9L,0x355e692430eddda5L,0x354e7cfbc9199910L,
  33862. 0x7e8933bfdc7de946L,0xc5692fa981b9eaabL,0x2eb58fff98cf5f21L },
  33863. { 0xd0d8f9bb96b19d59L,0x779aad414d1a6285L,0x0cee1a9b5eb87c49L,
  33864. 0x676e36ff786c4c81L,0x6618c8f112d34964L,0x2061186dd03e9562L } },
  33865. /* 55 << 84 */
  33866. { { 0xa5ae40977da39b54L,0x98e4d1d9f1d40635L,0x40d97af126154fc6L,
  33867. 0xf18041d4e9ae28c3L,0xdca9487555978c61L,0x4aaddec43638b9b6L },
  33868. { 0x1e615a2eab925f91L,0x5cfbbe9ded8a50faL,0x0f26d3ffb2034aa1L,
  33869. 0xb2f9cee2c4813646L,0x2195af47957b6709L,0xa55dac537e7fc45fL } },
  33870. /* 56 << 84 */
  33871. { { 0xe44a8ed7630816b2L,0x5fb9b643cca34310L,0x07826148a3b5d2e2L,
  33872. 0x0f890db16e65c2efL,0xe9feebe288283844L,0x8e56c6760368a9f4L },
  33873. { 0x8f0cc9c93e4ce874L,0x646ede9b09f1beffL,0xe92d6bda014e3d19L,
  33874. 0x27e620c5520c921fL,0xfd9b2ae1eed78555L,0x68684615816a603eL } },
  33875. /* 57 << 84 */
  33876. { { 0xcf54e9e89ded00c7L,0x8dff0130abbf7765L,0xf12773fb10c5f8d0L,
  33877. 0x7435ac767382e4eaL,0x93092b16f61d443fL,0xc1554fa846eb45cdL },
  33878. { 0x0896852c30957ca5L,0xc0d91e3effe60944L,0xce8aee57a1b7c75eL,
  33879. 0x4d24f07007cd1a9eL,0x3d8e381094456b11L,0xed6fba6b9dbc9d0dL } },
  33880. /* 58 << 84 */
  33881. { { 0x1b1de3ed8b5b8f82L,0xf542399d64252363L,0x23f34cccd206f26fL,
  33882. 0x54c48d9fbd941d6fL,0x3859eb56202e757bL,0xedcb4729ae0eaf7aL },
  33883. { 0xf08753c512360fceL,0xf37ece765f697cd4L,0x073cae01c98a7c8bL,
  33884. 0x6e298559df664bdaL,0xe8cefd27194b103cL,0x56301e2a811f6a71L } },
  33885. /* 59 << 84 */
  33886. { { 0x8103c6053d3fe586L,0x472885b3999bb4caL,0x3759d2d492a2834aL,
  33887. 0xaa4eb3acd46cca1bL,0xcb99aaba633e579dL,0xf9369b033d6dc569L },
  33888. { 0x55fdb1fe8398c067L,0xd7aab8b47e6826ceL,0x7f5497bd8b525561L,
  33889. 0x2e0e1e9c2cd0e3beL,0x3142a6e2c47caf5aL,0xe78cb1840f4b802fL } },
  33890. /* 60 << 84 */
  33891. { { 0x0a1577baf455f6bcL,0xaeeea79094df32b3L,0x1af3ba0f6bbb15ceL,
  33892. 0xaab92a74e8522659L,0x84087a8f7efa0a4fL,0x83c6991b84596065L },
  33893. { 0x11f7829d29fbb626L,0x32b04b2f86031974L,0xf3a5b8722c1291deL,
  33894. 0x2ffcc97e8bd2be43L,0x575400d10a206f7cL,0xbb4583de0befbce6L } },
  33895. /* 61 << 84 */
  33896. { { 0xd448eafaab983fd7L,0x2622336c7a18a7e0L,0x36632e221c274b3cL,
  33897. 0xe64e8f89bf086fcfL,0x1dced08fef72ebd9L,0x61249c25ea295d31L },
  33898. { 0x7433743d3755632aL,0x9d766243ff32ed08L,0xc36e816a977b1d9aL,
  33899. 0x1069fc0820ccec81L,0xbd4af7bef65a0cd8L,0xd04127fc92e31836L } },
  33900. /* 62 << 84 */
  33901. { { 0x39560937ea57ca46L,0xe1f2b7198229d346L,0x462b28d4dd02dcbfL,
  33902. 0x510fce98a333d609L,0x795fbd38fefa05beL,0xd6e34c231bcb029dL },
  33903. { 0xf33291fc838f7ec3L,0x2a01a1f5f16e7247L,0xf9737722c0bcb3cdL,
  33904. 0xc53ef57ecc8a6c77L,0x219372afc750f1a7L,0x3e6a97c3d14e60bcL } },
  33905. /* 63 << 84 */
  33906. { { 0x87278f062db3d752L,0x64c65f5cd106b7a8L,0x04ccc14d41ee7aebL,
  33907. 0x72d1189e71952b60L,0x2e88f851080e9ea8L,0x625a6d32913e8df4L },
  33908. { 0xd943de73900ee95dL,0x6c12b3b3ecb8b3a0L,0x6209daf2c9b141e8L,
  33909. 0x81c02f71412da959L,0x222d17b747278f65L,0xaa338805789138e1L } },
  33910. /* 64 << 84 */
  33911. { { 0xa896d28e4aea3fa2L,0xc6137a456db06ee9L,0x1bbafe8c06fb15ccL,
  33912. 0x2daab2961cdffdadL,0x984defc8e1119b3aL,0x9cd44c3cde2a25a3L },
  33913. { 0xa7f54ece54ed6d73L,0xd283017f50907054L,0x69130efc6a3b9442L,
  33914. 0x5d17f1276785163bL,0xc019911b172b1d0aL,0xa19c745f7e3e093cL } },
  33915. /* 0 << 91 */
  33916. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  33917. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  33918. /* 1 << 91 */
  33919. { { 0xe185bdc2ab83d932L,0x0a75845dd7c4e754L,0x1f6f3397c3fe5695L,
  33920. 0x6c9f3a5f61f6a04fL,0x3c0f9d4bb390a92bL,0x9e3336b74793b454L },
  33921. { 0x91ad0c341472f06bL,0x4110047a892cbdd7L,0xfa24d90565d53c83L,
  33922. 0xd63e58334176007dL,0x741089fd2cd1623cL,0x6b3d92022685d345L } },
  33923. /* 2 << 91 */
  33924. { { 0x1d510157c9cb7f6dL,0x532a077346ab7372L,0x2ea07e2fc6dde9e2L,
  33925. 0xceed9ad937d5bb1fL,0x3121994b98cc6e28L,0x67d2fbb567ad8fc4L },
  33926. { 0x34707fb3dc9f195dL,0x6a601f481fd5a013L,0xfe939b8d81ef6cb5L,
  33927. 0x5c51e8ab1223a9a1L,0x8f6d7993db74cf37L,0x0b81c5b7972808e1L } },
  33928. /* 3 << 91 */
  33929. { { 0xcb4e85123bf921afL,0x28fc6332532e81d3L,0x682d8637f69f907dL,
  33930. 0xbd9fa8f45f759a16L,0x091ea9fa51f03716L,0xd685a14132c630e9L },
  33931. { 0x7600c9ac3d249cf4L,0x687e2022002cd2b5L,0x7ec205ab55334058L,
  33932. 0x9d0d86b13ecf1368L,0xb3fc17a7fc7baf6dL,0x57939961361c91cdL } },
  33933. /* 4 << 91 */
  33934. { { 0x0db33228010c0754L,0x10635ffa8eca7c59L,0x6efd85380e8a38faL,
  33935. 0xc1812ea5769360d8L,0x505723dc76f27ef5L,0xd0358e02f35af2e8L },
  33936. { 0x9f7bb7fed99419eeL,0x87c66e83430a0e2dL,0x01187549773eaf7fL,
  33937. 0x05bbbba489d51bdaL,0x52cabb06640ccde6L,0x0d5cb557e7ff387dL } },
  33938. /* 5 << 91 */
  33939. { { 0x709d61ca10e06f1aL,0xaa1e9fc578eba75cL,0xf85d062f914b2cfcL,
  33940. 0xe73b3baf9089d85cL,0x4ac05feac4a284b9L,0x92c78a433acb7268L },
  33941. { 0x7b5586f8ee45bb4dL,0xc39a0d0e6ac0a9e7L,0xe4bbe3d54d6f9ab8L,
  33942. 0x1489463f1fd46a08L,0x3ba3182529dba364L,0x94f000d68138511bL } },
  33943. /* 6 << 91 */
  33944. { { 0x70187dfbc39c1cefL,0xa785216e0c50c71eL,0x30188b816a6c0d60L,
  33945. 0xeaeda67d6a27e97bL,0x4a5192826ba389aaL,0xb96c7c7ea2bf1273L },
  33946. { 0x8ff10657267fe714L,0xdff4a271996d91b7L,0xe34ba3e11dc7aed4L,
  33947. 0xc457048b38853d61L,0xe89825db1ccbf658L,0x68c7b4556b255eddL } },
  33948. /* 7 << 91 */
  33949. { { 0xdc14cb2a74871e18L,0x017b1340fcb8974aL,0xea5cb0546e93c20fL,
  33950. 0xa7c078ada9e2ad1fL,0xa37207d4beb26838L,0xcd8b3b25de7ee8eeL },
  33951. { 0xdca6606a2801a7ffL,0xad2fedcf0f8af3faL,0xf27d30b49b530c05L,
  33952. 0x071fc1c36b2a4613L,0x363aaa99b72cea9fL,0x7a33ed8f3d350374L } },
  33953. /* 8 << 91 */
  33954. { { 0xc377b373bb20fabfL,0x68d3aa52f986b847L,0xd9c2f2adf39b6894L,
  33955. 0x1bbff106bd6da22eL,0x3f7e5b8e7e09678eL,0xad6a87897ed3ee78L },
  33956. { 0x689e6b31af9807b9L,0xeca87778bd1f6ef2L,0x17d3277edda78c54L,
  33957. 0xe686caccefb65cb7L,0x758aa1ab19a30f0cL,0xb40df97fb11f071eL } },
  33958. /* 9 << 91 */
  33959. { { 0x43b379f71a54cd32L,0xd61fe6c948817fa8L,0x6d7b0acc49ab7a6cL,
  33960. 0xee23b4a0eb6bb45fL,0x340da1f1a2bda931L,0xfdff68411750ea8dL },
  33961. { 0x890346b8a96c7df8L,0x551993aed4fafc31L,0x2830b98890de711fL,
  33962. 0x4d23863cfb5b5286L,0x327161a0d636d67cL,0xf99dded9733e1725L } },
  33963. /* 10 << 91 */
  33964. { { 0x0bef2d2517da64c9L,0xb94dfc85470bbc15L,0x2c2417cedd4af7aeL,
  33965. 0x52b5b3bbc8e88ca4L,0xc00328c44f20d154L,0x024290f730af5d4bL },
  33966. { 0xe8bacbebeefc7350L,0x89eed6ebb72abd15L,0xb67d1da61d9e7030L,
  33967. 0x2ddefcbc0e70a331L,0x7d09bc6d61e32577L,0xc2073cc95b52e979L } },
  33968. /* 11 << 91 */
  33969. { { 0x585939298b806bfaL,0x608ddfbfbce6a08aL,0x674545a08eb27b54L,
  33970. 0x4b57a947c8fba762L,0xcf960113cbd8c683L,0x7b5a479a4fef1937L },
  33971. { 0xe26eb960450e97f1L,0xf04b36b9d8605a37L,0xb208c832ee5af2b3L,
  33972. 0x3578d3a71fa337e3L,0x22547fca93509939L,0xd93dcb50e848508aL } },
  33973. /* 12 << 91 */
  33974. { { 0xd40f36e6276f2576L,0xd37455c46405cfe4L,0xe34094d7cc51dbaeL,
  33975. 0x20f93f0f0edf8bf9L,0x534b75aa23b5e165L,0x438e4dd1dc1b73a8L },
  33976. { 0x9dd48c413bddb435L,0xc49867a0996b4932L,0x4212f8a2a9ffa0daL,
  33977. 0x8d5236c4d94ed9bdL,0x81bec489f169cb19L,0x71cc1d7e6104edfcL } },
  33978. /* 13 << 91 */
  33979. { { 0x31a94a7f22771941L,0xa277284b39867dc3L,0xc66bd88b1a52f0f1L,
  33980. 0xd2e2707b1aa21ee8L,0x78e4f280248d61e2L,0x33df48c7596a31f9L },
  33981. { 0xb9bf2baab1bb1e89L,0xe1bbcdb4038f10e2L,0x81f674a877b89305L,
  33982. 0x8b2ec6ee16f08a86L,0xa07239c29db97ceaL,0x9f4ae6647ef8ecbcL } },
  33983. /* 14 << 91 */
  33984. { { 0x9cb21b57012eaba3L,0xcfce54821347a83aL,0xe3f3a67100d7b34bL,
  33985. 0xd4bcb3d1a6c1b0c3L,0x6ebd26fb9f3c3e31L,0xd01746532dc79be8L },
  33986. { 0xe7cf9a0ad4156cfdL,0x2757cb0416face21L,0x8b0e320e69e1f08bL,
  33987. 0x2a8caf9b946f83d7L,0x6daff0ba98a399adL,0xb4dfea0938ed6086L } },
  33988. /* 15 << 91 */
  33989. { { 0x90ed8b41e2bcf8ceL,0xa464972be8dcc1a6L,0x5a3d0b80ba496081L,
  33990. 0xb636435569f85ac8L,0x0a2765b1a25bdd8aL,0x87a6c18f0d1516bcL },
  33991. { 0x9344081ae3b01522L,0xcef8e12e608f0145L,0x6f3566a52155e7deL,
  33992. 0xcfc1be9c4d033a3eL,0xfc836eeaab97bf98L,0xbdf53718ba7dd059L } },
  33993. /* 16 << 91 */
  33994. { { 0x16f3708b953b9223L,0x0d3780f8770e7cf3L,0x97a615b227bb71a8L,
  33995. 0xa8b9a864162f8b55L,0x80ee8362d91e3fb9L,0xb2009a09f83a4ff6L },
  33996. { 0x07a7873ac1696281L,0x17ff00c223095ddcL,0x427f683d860d60baL,
  33997. 0xea9959271f87d32aL,0xb2ac69faa050319dL,0x30c362b9d2d0b9ceL } },
  33998. /* 17 << 91 */
  33999. { { 0xe05c6a88783508b6L,0xa5569c8ee1779a78L,0xa1e0ca30cc1e84ceL,
  34000. 0x12ecb540337cca76L,0xafb5e2fb344d729fL,0x558db4e132c8f80bL },
  34001. { 0x5aa3c39523128383L,0x9f04757cee1ee2fbL,0x41132bd215356deaL,
  34002. 0x4e9af313ae07ca78L,0xdfc14c0100c6b589L,0x54fdb4f3dc16a1f1L } },
  34003. /* 18 << 91 */
  34004. { { 0x71e663c234938279L,0x9a8f5ccdb05630f4L,0xd91ead12aad70096L,
  34005. 0x2b19b27e9e46cf72L,0x93348c7038e3932dL,0xeab6c03a5c7617b4L },
  34006. { 0x57c13a97538eab27L,0x2624d17b2f5872f7L,0x77b63d9104b00f8eL,
  34007. 0x2e0582473c89db0fL,0x5d367277937d0d8aL,0x28c19068df60c252L } },
  34008. /* 19 << 91 */
  34009. { { 0x9867bc3d38cd6020L,0x5f341d8c5986f76cL,0x108a3c0d0dab2e32L,
  34010. 0xd127a7f989ab3654L,0x9d5018f468505cecL,0x51204da0a8fc94a4L },
  34011. { 0x1751f30cf6da9840L,0xafe6a8d955ed1f74L,0x270a5d1180165ac5L,
  34012. 0x739f63e05de1e17bL,0xaa95f30735d2b566L,0xf20dd093650236a9L } },
  34013. /* 20 << 91 */
  34014. { { 0xd648dd79ee45d4b1L,0x0ceeaa64c2bc2f0aL,0x695f3a3f491a2862L,
  34015. 0x4c07e2e0ce497e3dL,0x5c53879969c766c2L,0x3f856a2e4c4a7c14L },
  34016. { 0xbf8a6d81038032a9L,0xbeaadd7f45b7c960L,0x78b22e85d50b9d26L,
  34017. 0xac1c56fa7eaefe26L,0x21fbce54fc69f13dL,0x37be1b47512a3708L } },
  34018. /* 21 << 91 */
  34019. { { 0x12845d55689429afL,0x7e20f0f9082c8ac8L,0xe1615340249773b6L,
  34020. 0xf66c39638d0f35afL,0x4a20ce6d67d27093L,0x1d462f08e55802caL },
  34021. { 0x66f209849ff4dd67L,0x6b86f8d8271c57b3L,0x8701a5cde766b85bL,
  34022. 0x50737ac2eea5fbfaL,0xb46ebb42a702f3d6L,0xf853091d999258bcL } },
  34023. /* 22 << 91 */
  34024. { { 0x0ce992198c9e7869L,0x653006be525c4adaL,0x783620e4330c402dL,
  34025. 0x185a6ac833b728b5L,0xa297c4a99d390886L,0x547d1db5db4b8123L },
  34026. { 0xccf12f071acdb039L,0xe89c5866078ddc28L,0x3460cbb1e52c383fL,
  34027. 0x7a4d1beaad25b82cL,0x21e243fdb429be1bL,0x5aa85c25bdc0d798L } },
  34028. /* 23 << 91 */
  34029. { { 0x76cf73b9c0db9d16L,0x45e57cdc1970ace6L,0x3c6f5314c54a109aL,
  34030. 0xe32306f7da47cbfbL,0xb3787bdf93e76516L,0x68aa80084c6d4e22L },
  34031. { 0xd9246ddcb3d37be7L,0x6de2bb4d7000f1abL,0xda02568b67e4751dL,
  34032. 0x3ed7a5615c7f88f4L,0x5f05c828ca5116caL,0x139cc5772a2ebb9aL } },
  34033. /* 24 << 91 */
  34034. { { 0xc983afb64cb8d897L,0x7f05e954b14cc152L,0x587fe71e0f4d02f5L,
  34035. 0xaaa43167531b0cd8L,0xf69452727a26def9L,0x7ecf1e563bab50e2L },
  34036. { 0x04b6f5c94c6f20abL,0xbc6cec2b893b497bL,0x79e89567c9dc548aL,
  34037. 0xa39a0a567a40b749L,0xf1531e2644bd4efaL,0x14cdd759057c7c70L } },
  34038. /* 25 << 91 */
  34039. { { 0x30c49847d6d51bbbL,0x70b744feecdc6aeaL,0x38cdf36fe8671744L,
  34040. 0x5834286b8cf6461fL,0xf3414f7b2c09d632L,0x58425e4d5debb923L },
  34041. { 0x8bd79117a6b96c6bL,0xecf9802680f56fa8L,0x5ae917d7e6dcbbf8L,
  34042. 0xf2d80fb169240a4bL,0x005ac47596e3aa3aL,0xe5196a3463536aa9L } },
  34043. /* 26 << 91 */
  34044. { { 0x5fb02929811d42bdL,0xd7d1b956289929b4L,0xfd3546947e531627L,
  34045. 0xa37c9b1e58c2b2e2L,0xf30ed0f902bf499bL,0x3fe80d240eb6df36L },
  34046. { 0xf96270e57b148672L,0x47362483647f48d8L,0xc279ece6c29bc59cL,
  34047. 0xc05c1d9ffdd7e628L,0xef8fc92e17568a7eL,0xd65fe5a9ec0e7f00L } },
  34048. /* 27 << 91 */
  34049. { { 0x0ad31de68c93f010L,0x151b1405945ec54cL,0x325d132c3db6997cL,
  34050. 0xbed9cb3a335531e7L,0xa83932c34a578610L,0xd905abbf6f721147L },
  34051. { 0x6dd45af086d1d919L,0x2b2ee3090195e91bL,0x3dc30d5edb70d257L,
  34052. 0xfb04b014481bde1aL,0xc2ac3ec82de2debeL,0xc9f161e090db691eL } },
  34053. /* 28 << 91 */
  34054. { { 0x8041f112afefdee1L,0x8cab3c86b891f668L,0x1f18774e2b61e754L,
  34055. 0xf0d81b2459df567cL,0x2cc25da41c95e1ecL,0x315b1b1ac735d39eL },
  34056. { 0xd0a9b9fb010734cfL,0xeefc0398c79386daL,0x49ce859b11fb1917L,
  34057. 0x3d66fd6baf167239L,0x2522b0ef1fea6175L,0x1a27657d3ec4a52dL } },
  34058. /* 29 << 91 */
  34059. { { 0x89ec003abb2ca05dL,0x2290b5f403195ec6L,0x9989bd925f6b95b5L,
  34060. 0x1d6e6b2fad409cd9L,0x41f9b9ce3bfe7364L,0xb240f89570ec096cL },
  34061. { 0xf8725a58b8d5a5d6L,0x3bfec6f1c581930dL,0xc93e290356235c98L,
  34062. 0x82af4269c7cdcb5cL,0xeb13fa40eea6fe91L,0x9247050097c80acdL } },
  34063. /* 30 << 91 */
  34064. { { 0x48dc23534ded5b58L,0x1b69590756e707caL,0xbbcb73927ec7794fL,
  34065. 0x3714dfa6e50dbcc8L,0x4f8083c8f27ec5d7L,0x6358d2273bc8c3e4L },
  34066. { 0xe0c2a0e7656cf184L,0x3996e0a24244d801L,0xa46767b54e543c01L,
  34067. 0xbf55776d965f1e2fL,0xeb66845e6bc872eeL,0x6a73fef1b441895cL } },
  34068. /* 31 << 91 */
  34069. { { 0x21602e432b26bbf2L,0x6092d570d1bfd7e2L,0x2b48d74a30b38d1fL,
  34070. 0x4aab113c67c53791L,0xa6acbd3df57be611L,0x53b6509ebd3aae7eL },
  34071. { 0x047e5ab4d8751f49L,0x978ed11b0cf25652L,0x763553d2153619c7L,
  34072. 0xc7e85e93d824d943L,0xb82cc9781048a7ebL,0x7beb9166e39cc777L } },
  34073. /* 32 << 91 */
  34074. { { 0x24480c57f26feef9L,0xc31a26943a0e1240L,0x735002c3273e2bc7L,
  34075. 0x8c42e9c53ef1ed4cL,0x028babf67f4948e8L,0x6a502f438a978632L },
  34076. { 0xf5f13a46b74536feL,0x1d218babd8a9f0ebL,0x30f36bcc37232768L,
  34077. 0xc5317b31576e8c18L,0xef1d57a69bbcb766L,0x917c4930b3e3d4dcL } },
  34078. /* 33 << 91 */
  34079. { { 0xf6625ac0b9a038e8L,0x954056eb2a921e56L,0x7135295aeac07bc6L,
  34080. 0xedde9c39f1ba0ea8L,0x628324026b592655L,0x4603177aefb8aa66L },
  34081. { 0x63e5ea16406a6c28L,0x5897fdee1c758382L,0x515e49fd415533c9L,
  34082. 0x0a0dd627d6701b21L,0xd7c06db1c93a312eL,0x4fe95e3da33d8df7L } },
  34083. /* 34 << 91 */
  34084. { { 0xf113d92c3336edc5L,0x0a201f3e8ce47278L,0x57492feb5c52562fL,
  34085. 0x18b73800f29da837L,0x2262089f649a1ee8L,0x076b07657c99bf48L },
  34086. { 0xa95050bc09bfad20L,0x5aeaa9088c7e713cL,0x264283ed3cda06ccL,
  34087. 0x5d574b116079b43dL,0x0071495cced10a84L,0x97441fb0570d3063L } },
  34088. /* 35 << 91 */
  34089. { { 0x340831072b228335L,0x84ea0aba50fbd43dL,0xafde6098b3ec91e4L,
  34090. 0x4fd293ca1091ad93L,0xee085e23552a785bL,0x437d799ed7057200L },
  34091. { 0x41f735628a611ff4L,0x707a7cb5d2ef6254L,0xa9a8f00092a30686L,
  34092. 0x901cc8e60cea8d1dL,0x1fbc9ca6d6da2ddcL,0x61bcee2176489604L } },
  34093. /* 36 << 91 */
  34094. { { 0x5f6ef134781a7f53L,0xbac4cf47b10a9d16L,0x48148ba110e69f4eL,
  34095. 0x40594360a9c615f0L,0x3141817ddfb3fc58L,0xb9579a9263c38d83L },
  34096. { 0x0544b1bb6373b9aeL,0x718a5fb7007c8185L,0x48d4a4f77cfa392aL,
  34097. 0x9c16cb825d44ba38L,0xc83d2df42a8fa83fL,0x835aacccc08fef0cL } },
  34098. /* 37 << 91 */
  34099. { { 0x09ce1818af09fefdL,0xd1d2f95f5dd9d687L,0x94ed08b5495c4eaaL,
  34100. 0xd1afff464a0b95d2L,0xd51ba2b455347a75L,0x413126295e3866edL },
  34101. { 0xeef2d7e3cdd37660L,0x50e6fbdfec2fe50dL,0x9d071e18a664e2eeL,
  34102. 0xe70e1d9ed6a8f467L,0x576d0cc4e13afc19L,0x67ced86da0efc220L } },
  34103. /* 38 << 91 */
  34104. { { 0xa26968cb26a963daL,0x461d1ab5cecbd96bL,0x8eaa1834b3e38516L,
  34105. 0x1e92730f05d2cd2bL,0x91112026b07cbf92L,0x26eb815062374314L },
  34106. { 0xa904f1d08ab1b9d1L,0x52006594692b1905L,0xc9cc90ca6ba4717dL,
  34107. 0x4bd7300aaad1c74fL,0x67ba07a4c21c5832L,0xdebfd810fa56a1a8L } },
  34108. /* 39 << 91 */
  34109. { { 0x3bc5aaf484539b6bL,0x6ca9ac0c0d1249aeL,0xb59da22db4ee30c8L,
  34110. 0x6e62553e57149c9cL,0x46db0089786333cdL,0xe1e2ae523e4c12ceL },
  34111. { 0xf828d2b537b3fd82L,0x31844a9d03af654cL,0x85dd8daaea5a4677L,
  34112. 0x0db99b8f3432e82fL,0x99383b874866e1b6L,0x52310054e325b0c2L } },
  34113. /* 40 << 91 */
  34114. { { 0x737cd387044854f9L,0x488b2fd667eb29c2L,0xe71d9bb7258c5a80L,
  34115. 0x21afb486ac71048eL,0x0252b540d4d39296L,0xe3e52cb87839d8fdL },
  34116. { 0x5cb1100667ea0afbL,0x207637d1de82b12bL,0x77920933e93bcfcdL,
  34117. 0x65197f5df32f636dL,0x82179527b6c41411L,0x7696a479f410c989L } },
  34118. /* 41 << 91 */
  34119. { { 0x78307cd80e8d576cL,0x10d3b950fd9d6044L,0x2c2f9e2bf4b20445L,
  34120. 0x961343c72c5c7ea7L,0x931c52a0af640e61L,0x45557391470d420bL },
  34121. { 0x4096a997317f4d26L,0x15210801cceb9be5L,0x228102195ff0759dL,
  34122. 0xc388a2d21d265932L,0xceb79d01e86dd99bL,0x23e8fc7b3311dcb3L } },
  34123. /* 42 << 91 */
  34124. { { 0x1a7d0e091d7743eeL,0x18720797d53e4a8dL,0x78465f1ea04dbaa1L,
  34125. 0xd4f064da9ce65723L,0xc0e7c035b496e8d4L,0x25657d2e6bb2f9ebL },
  34126. { 0x45576ab49f4b6cb5L,0x83983c70ba33d6dfL,0xf699e84d1eca62a4L,
  34127. 0x35528636a13f5c31L,0x6a1b56b01f6b1739L,0x7906eccc6ea87942L } },
  34128. /* 43 << 91 */
  34129. { { 0x4e584a4fec1204a5L,0xd96b00e845a5b311L,0xea11fb03030badccL,
  34130. 0x9b2141b2a825a89aL,0x18bbc30bf8b2450dL,0x87bd93916513b2cdL },
  34131. { 0xb3dbde552f0b304dL,0x762f3dd7c3c4817bL,0xe51e1733edd3fdd8L,
  34132. 0xddad4c515d8219a2L,0xf5a8c0b8796b6877L,0x34563a8989bf65c8L } },
  34133. /* 44 << 91 */
  34134. { { 0x93e2e3a2881c106eL,0xa227cc49fe82afd8L,0x6fee74a4748e81f3L,
  34135. 0xb212e8eaa5dd966cL,0x68d270efdc7d8883L,0xef2f3966fe757e9eL },
  34136. { 0x0340098b7466881eL,0x7ab98a0575884bbfL,0x24783467a472f62fL,
  34137. 0xc73cb49f988637d9L,0x2b5e9d27dfb710c9L,0x503f9a2f788fcb18L } },
  34138. /* 45 << 91 */
  34139. { { 0xcba6f4631a52b729L,0x8874582cc8be34cfL,0x98a08e246a9a1eaaL,
  34140. 0x77094319d5693f71L,0x575a0938a8504e5cL,0x3f59910c226f888eL },
  34141. { 0x5c3587990aeeb1f1L,0x7c32821d3613bbc5L,0x66f288e7cc17db95L,
  34142. 0x6f3221998724ac94L,0x4e3fa38981db3751L,0xa6e798c8420403baL } },
  34143. /* 46 << 91 */
  34144. { { 0x56672f2e2cbea2e8L,0xd1a02df9128bd636L,0xff6a3bc6d47a0025L,
  34145. 0x24124f30d38d0b42L,0x89ac3b8dda63df29L,0xf26d72994d0b6458L },
  34146. { 0xfff0445f7d6880bcL,0xface90f52be76351L,0xbf10c6b8ebffb74fL,
  34147. 0x0e53c533a1fba003L,0x037baf09112f4980L,0xb8ae6312be960954L } },
  34148. /* 47 << 91 */
  34149. { { 0x8397b60917270d4aL,0xb4d0c38700e4caeaL,0x69c52bb3f4c58f86L,
  34150. 0x06e0e01157b1fd41L,0xc5dc2f25627873a2L,0x9af848ca0ae53974L },
  34151. { 0xb5c957c06ad18335L,0x93b564154ef09e7bL,0xb5ba282450e2c5ccL,
  34152. 0x63f003a567d7b68bL,0x0bcb0dc820bcbca3L,0x8803b1ffe3d4296aL } },
  34153. /* 48 << 91 */
  34154. { { 0xff41d51faae4bfd4L,0xcf50b14117c44facL,0x078b808e657a1ea4L,
  34155. 0xc5aac1a893c00c55L,0xcb99cfd0cc4d1c0fL,0x1d1048933fa123a6L },
  34156. { 0x49646059023ca92fL,0x5833e326f3982134L,0x2e0d4bc9c5781cddL,
  34157. 0x5f7f84ed8d5e75f5L,0xb6655f1fe1e8a383L,0xcc18514c296e4943L } },
  34158. /* 49 << 91 */
  34159. { { 0x5d3e5f8d8a407ff0L,0x9c713c8c7b42b11cL,0x7433a9921e387806L,
  34160. 0x5272b92a98cb43acL,0x6261dfc1b1018149L,0x229d2ba5d3b4adf4L },
  34161. { 0x1f52e72989f0905fL,0x965e062925d4c79cL,0x42edaeeb33e6c016L,
  34162. 0x5ec492e8af1709adL,0xaad39616c5763619L,0x85a659098c666860L } },
  34163. /* 50 << 91 */
  34164. { { 0xec8fe7dc86009df6L,0x42dd3c37871b20a6L,0xe4388c920db643e4L,
  34165. 0xcc5dfdd481e06dbdL,0x3f1a3c6458ca7500L,0x987d7caa22c04e9dL },
  34166. { 0xd0c91072bc5717e2L,0x3f605fd2e77e5509L,0xa1cc1404c0c3e95eL,
  34167. 0x4afaa9fdc6d0edd0L,0x2f3aba4e0d7d882dL,0x3f1f0349796c5ac0L } },
  34168. /* 51 << 91 */
  34169. { { 0x5dac93982eeb82e8L,0x2fe5ffb57536ce1eL,0x2bb120ac6926cfceL,
  34170. 0xe54ff20f2236dbf0L,0xaaf0d31edf8c5a87L,0x5262fb9fc8f5df7aL },
  34171. { 0x0f833760467092bcL,0x50fa223d0a8dc0afL,0xd6a4847d35406966L,
  34172. 0xd17d6ce003b7f56bL,0x8067d8e2ee2d64bdL,0xe33e51bb9fa4fe9bL } },
  34173. /* 52 << 91 */
  34174. { { 0x52aa210770248e4eL,0x30cf7e773b6bf709L,0x36961c7b788e1836L,
  34175. 0xbe49de5f7595af2bL,0x86b49b619cbcba78L,0x1947db3790cf1117L },
  34176. { 0x7d3f599de14b4287L,0x14546993f0ca62ebL,0x0f6c8872d0abde7aL,
  34177. 0x1531ceeaafe2260fL,0x36449624ae5ecf96L,0x6cfa12a5840bdc19L } },
  34178. /* 53 << 91 */
  34179. { { 0xb092ad68c1d612b5L,0x9f6052507af5c37dL,0xf48aa7c6c702b673L,
  34180. 0x380144215cd29c3bL,0x7b09e407121867ecL,0xf71443d391e59047L },
  34181. { 0xea51e1a6b6d16a51L,0x041fa7650f33e2ccL,0x3a6d50c73750dce3L,
  34182. 0xeebf5c2e97cb7a7dL,0x2530de228f39e771L,0x9af217c18f37f863L } },
  34183. /* 54 << 91 */
  34184. { { 0x38793fd0c683085cL,0x49cc5934dc436d16L,0x94c708e4175e770eL,
  34185. 0x41bfb65d059c2682L,0xf6b83eb75f004ddeL,0xe1881929f6864410L },
  34186. { 0xfaa77fe0b438f937L,0x97a856069997e90dL,0x78366a9108de889aL,
  34187. 0x6c28ef64553229cdL,0xfce82c2fe9381854L,0xae98117146f70bb1L } },
  34188. /* 55 << 91 */
  34189. { { 0x3f77410e9aacedd8L,0x0e34bd7d453813e4L,0xc5818436825d6b0dL,
  34190. 0x0e30f037b4d0ac73L,0x70f6bc9b69b559c5L,0x68d3d71eaed15484L },
  34191. { 0xd0254e5414fbae1eL,0x6ddaad42ae0d3df6L,0xefb91a545a6e98d0L,
  34192. 0xde3fcefc854ee5fdL,0xb2f0f3a1dfa2a8a0L,0xb656f97ad00ded3aL } },
  34193. /* 56 << 91 */
  34194. { { 0x01acfa7e0a90e37fL,0xf47e5946366d0ba0L,0x8e37db7b54c11845L,
  34195. 0x5742d8bd50a62064L,0x27dc9a33ed6d096cL,0x2246d73016deb724L },
  34196. { 0x203c08da2c8f1a85L,0x210cda3a56fea379L,0xea6b1bbf2bf9ed67L,
  34197. 0xe5a1e5552395cc4bL,0x458a7e19de2d6b2fL,0xa7199a86734942a3L } },
  34198. /* 57 << 91 */
  34199. { { 0x53684c23d44cad85L,0xd23613f8940779a5L,0xf485c7a3940bd34cL,
  34200. 0x64c66a1f3f673b5eL,0xec29c76f1d6dd63cL,0xe10f56272f191435L },
  34201. { 0xc054f9a7325d5759L,0xe6740d3f974edaf5L,0x2723ac6103f3b640L,
  34202. 0x0a2315a4576e0bbeL,0xf8156e1e4a3ec903L,0xa307bc249bbc8c52L } },
  34203. /* 58 << 91 */
  34204. { { 0x78579ca212a1687aL,0x208b7494268a02a2L,0x61708a002c1c5243L,
  34205. 0xca366915a760461eL,0x0e9038fe3ca1e167L,0x2cfd6fe3a58e2c57L },
  34206. { 0x97c16e34fe79a49cL,0x1575244ef08e4037L,0xc1407fa08e2283edL,
  34207. 0x38ae77621b057919L,0xcec574a5e68a366dL,0xafdfdce03eff00d4L } },
  34208. /* 59 << 91 */
  34209. { { 0xdad0dca9162d80c6L,0x554141f8b888ea0fL,0x1e471b24d4036218L,
  34210. 0xafca22cfb36102d0L,0x437c51bff280dfa8L,0xc2c8bc8b50c9c30cL },
  34211. { 0xe7bacc372a9fdf6dL,0xd01dc65cf0472f2dL,0xaca59cf983d7be3eL,
  34212. 0xf7c935425d9ec484L,0xc22046c6015a08a1L,0xa71b3c64cecdf816L } },
  34213. /* 60 << 91 */
  34214. { { 0x4b7d0b277abe7856L,0xe566f4567acdb39cL,0x70c6cdf20047ae7dL,
  34215. 0xd27f831233ed0392L,0x498f0ad0358a429dL,0xed97c4668e6ee95dL },
  34216. { 0x3d11cd69f3018515L,0xedd460344c1b367bL,0xd75660e3b3ac8ec6L,
  34217. 0xc80dfc0fa541e6e1L,0x80026f005c091a6eL,0x62b86784c426f2bbL } },
  34218. /* 61 << 91 */
  34219. { { 0x417408e529ee8eb4L,0xe92f18c2917f9951L,0x1f471f0eb38b6210L,
  34220. 0x53cb14264df240f3L,0xeaf7fc0067c29b25L,0xbbf46fd3d99cb613L },
  34221. { 0x05cd552eb465b50dL,0x136b8e675e136733L,0xd7d50f61ccf61776L,
  34222. 0x90187ec5a32b01f4L,0x21548ec523ba232aL,0x6c8266c0748e558aL } },
  34223. /* 62 << 91 */
  34224. { { 0x762f413d7650470dL,0x9b4af5d018c9ad5dL,0x85fe90460ea625a0L,
  34225. 0x4af4511b2200cadbL,0x4c16980defec2921L,0x42ae5d5d60dbe1a0L },
  34226. { 0x0785260bbb2ceb1bL,0xd181ea3242f1fb7bL,0xc34f02b13a47672bL,
  34227. 0xb0bc79f770e58634L,0x6e7967098a8509aaL,0x05870e6f3c3e6d44L } },
  34228. /* 63 << 91 */
  34229. { { 0x46d4fef752f7c595L,0x5f35083a8a07819cL,0xbba477ca591233ddL,
  34230. 0x4e66309358e307deL,0x65c3e2b9ef827537L,0xcf7b7adb09ee9adaL },
  34231. { 0x00a82d4b5f5e1434L,0xd6aecb8032e50afcL,0xffdce7ce6b034271L,
  34232. 0xa95d96ae036d5058L,0x61582ae24cb7d60bL,0x6a10577474139c1bL } },
  34233. /* 64 << 91 */
  34234. { { 0x53ebbaaeb475d8f3L,0x3d6ea31cff76bedaL,0x3c15f25d340986b4L,
  34235. 0xc5925d2e3365312aL,0xc35d3ee251641f96L,0x11eb2f75984128e4L },
  34236. { 0xb41a21a83d04bc99L,0xf2d286006436c3d0L,0x4ffcf4c0faf5663cL,
  34237. 0x889d285a0a62c9dcL,0x0908665acb2d60c5L,0xe2f19c590a131be5L } },
  34238. /* 0 << 98 */
  34239. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  34240. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  34241. /* 1 << 98 */
  34242. { { 0xc0de60f5091354ffL,0xd7cc38bba1bd1975L,0xf4122aa8e734e2dfL,
  34243. 0x08f40f63ef773db6L,0x0a7e9484ce2d71c5L,0xcc79173378a3f825L },
  34244. { 0x0cac7a5bb47beec9L,0x1cbea0e4a3f7b5b6L,0xecf19a90d3e18145L,
  34245. 0x0d1b062a0aadf689L,0x42299f1ff3f0acf7L,0x63a645395ac252b9L } },
  34246. /* 2 << 98 */
  34247. { { 0x44bfd1665c1d4586L,0x46434e198d1d86d6L,0xe50fcf81c3936683L,
  34248. 0xc9b4eb068b08680fL,0xf90882c52832aab0L,0x42823cefecbf5ddaL },
  34249. { 0xfd4d51c744ae08f0L,0xb54a08f1bbd21c1cL,0xb72953dbfb187c34L,
  34250. 0x166f7f26f8ed037fL,0xd2b1077a097bad45L,0x47794cdc790dd808L } },
  34251. /* 3 << 98 */
  34252. { { 0xfadb2ac4bac8b691L,0xf0c5a0361579c4d1L,0xa192474f79019224L,
  34253. 0x8c7a64574117a323L,0xe58122dd84d970a9L,0xc475893c0bf77208L },
  34254. { 0x9518412f1bd45c95L,0x75bd0a72283f7a3bL,0xa9e871605fb7e6f1L,
  34255. 0x14d3c944df67acedL,0xbceea947d0348c22L,0x5331c192d021aba4L } },
  34256. /* 4 << 98 */
  34257. { { 0xa05c751cd1d1b007L,0x016c213b0213e478L,0x9c56e26cf4c98feeL,
  34258. 0x6084f8b9e7b3a7c7L,0xa0b042f6decc1646L,0x4a6f3c1afbf3a0bcL },
  34259. { 0x94524c2c51c9f909L,0xf3b3ad403a6d3748L,0x18792d6e7ce1f9f5L,
  34260. 0x8ebc2fd7fc0c34faL,0x032a9f41780a1693L,0x34f9801e56a60019L } },
  34261. /* 5 << 98 */
  34262. { { 0x35df68ae1a504405L,0xe41d69508fc755b9L,0x420dc1cda6297243L,
  34263. 0x3011646b913fb68fL,0xc4b630465e141a27L,0x943b3b3bbd91fe5fL },
  34264. { 0x3ca17d6b50c31708L,0xce88b5e74ffa8c71L,0x8b60038f4dacd2bcL,
  34265. 0xdf654d723c13cf9bL,0xb5353e281d871b40L,0xc2d27919226663d3L } },
  34266. /* 6 << 98 */
  34267. { { 0xa028d2fa9b87715fL,0x7cdd9b4a453625bdL,0xc8afb1890be3dacfL,
  34268. 0x40289a3a274c4e2eL,0x7f5f9f7677c6bbadL,0x577c0935bdfeaccaL },
  34269. { 0x5f838f0404281989L,0x8650a974ebfa410dL,0x414fab6dcd56dea6L,
  34270. 0x6995cae292eed440L,0x3b474d27ab146e15L,0xe24262b2e9938f84L } },
  34271. /* 7 << 98 */
  34272. { { 0x649e18fba34fb18bL,0xa4883af898cc69d3L,0xff46285f3fd56e37L,
  34273. 0x2e28ccc4557c0c04L,0x8388dee821a9b46bL,0x0fd4fb807ba3a6deL },
  34274. { 0x1d8e9da7c62bb315L,0xfa7bd70d06e44230L,0x2840122063320438L,
  34275. 0xeefabd47d06c0654L,0xf4387b08d4c8c10fL,0x8f2694624ff2142cL } },
  34276. /* 8 << 98 */
  34277. { { 0xa4b957d262c36887L,0xaf15a485fc24cff8L,0x11575e80a271d9e0L,
  34278. 0x0fff68d44b9367e5L,0xf55ba6732279779fL,0x9d72cca6d4d68f68L },
  34279. { 0x01474ab1590ffe4cL,0xd20f44e1074d634bL,0x63903a8336111d25L,
  34280. 0x37342a5fab531cefL,0xd3c93fe7702ed867L,0x05d143696279f7e1L } },
  34281. /* 9 << 98 */
  34282. { { 0xcddf64873e942b27L,0x9e29835a2bc21472L,0x924c2bfb2d2195e3L,
  34283. 0xdf4a3cd38eca6d9bL,0x7fe6acd1c5be60c3L,0xa3abee9cfc38025fL },
  34284. { 0x014f0d992f449934L,0x8d72657a78860127L,0x92514cb948d84cfcL,
  34285. 0x8bd4ac503aadd70cL,0x3c96ee00136620d7L,0xa0caeeb54efc5e57L } },
  34286. /* 10 << 98 */
  34287. { { 0x7a65cdf5bd200ed6L,0x72dc1b5f0e4b1c68L,0x9c09576a6ddf540bL,
  34288. 0x358dcd122b169da2L,0x6466f0e81639b734L,0xa1429a6ef14c6eb6L },
  34289. { 0x4b3d781943221168L,0xfe3d2fdaf3b74fceL,0xb22bcec2ae26014bL,
  34290. 0xa8900e7ace7e789cL,0x9db9af67220bce88L,0x1f86d2e4fb8ee34dL } },
  34291. /* 11 << 98 */
  34292. { { 0x6f8e1c0bf8c65293L,0x66f44ea04d7a5dfbL,0x2c3cacac741fdc1fL,
  34293. 0x72e58aae239f5f16L,0x50dbaf192f72d8c8L,0x24ee526628c97b95L },
  34294. { 0xdb5f7827ab3ecb17L,0x2c567337669b05c5L,0x78c97eb8ff76ccdcL,
  34295. 0x1de1b4a3f8d2c990L,0x5b183974e6138df5L,0x61b74177aa1a1019L } },
  34296. /* 12 << 98 */
  34297. { { 0xb398290cf0db3751L,0x01170580ba42c976L,0x3e71aa2956560b89L,
  34298. 0x80817aac50e6647bL,0x35c833ada0be42daL,0xfa3c6148f1baba4eL },
  34299. { 0xc57be645cd8f6253L,0x77cee46bc657ad0dL,0x830077310defd908L,
  34300. 0x92fe9bce899cba56L,0x48450ec4bceffb5aL,0xe615148df2f5f4bfL } },
  34301. /* 13 << 98 */
  34302. { { 0xcc14267f6be1860dL,0x3de7f48b4ffedea1L,0x8252694e5b776b87L,
  34303. 0x478c877890dd427fL,0x913e19a675a21357L,0x882f2d5ac078bd79L },
  34304. { 0xf442752184c565dcL,0xd772147e3ac3ed26L,0xf21abc752fa216b6L,
  34305. 0xab1804ad305ff0dfL,0x10d89a07920c977bL,0x0a2240dc4fda6075L } },
  34306. /* 14 << 98 */
  34307. { { 0x7068e6b98653bfadL,0x16b0da9b8f4397e8L,0x77b953b4946bb9c6L,
  34308. 0x08366ad749b036f5L,0xd219117b26a3913dL,0xbe3607949a5460d2L },
  34309. { 0x1a4acf6dfadd462eL,0x1f7de879c32f3550L,0x11117132669c9b2eL,
  34310. 0x1deea7d1c87ca216L,0xa88c90c748a058d2L,0x0d8e6afff403ef36L } },
  34311. /* 15 << 98 */
  34312. { { 0x21f6c96c1ad77f33L,0xb5da9d34992e7807L,0x17fc994ba7192adfL,
  34313. 0x59f204fcbcc3f8b2L,0x3f4a970f10bd22f5L,0x42936bfcbaa1188dL },
  34314. { 0x6239fea5eb985837L,0x5fde15e0b33d1158L,0xe0bbe9b800cf90b2L,
  34315. 0xf2c6d8b16b2b68a8L,0x58c331cd0f3a2341L,0xe951c48910dab1a4L } },
  34316. /* 16 << 98 */
  34317. { { 0xdccf68bccbaf4685L,0xb333e464270a2bccL,0xe43ae199254dd3e3L,
  34318. 0xe8526e26ddce5c84L,0x52bad815ea0b4258L,0x67c12c1b094574c4L },
  34319. { 0xa5362fcb861545b7L,0x3e904c35c2b2eb62L,0x0f9312b5eeffc2cdL,
  34320. 0x5475657b14de4e5bL,0x746e67d4f0233fa5L,0xb5157d7f35471ec2L } },
  34321. /* 17 << 98 */
  34322. { { 0xcbaf92265315e83aL,0xcc6e9a972f15ff37L,0xcac446dde8c87fb1L,
  34323. 0x5fa37a5c672d7f92L,0xe66efc07b1380425L,0x2d8ed2e32c8e59ebL },
  34324. { 0x8e3ab80461743725L,0xe59a87f825493349L,0xf6995fe16062fe7eL,
  34325. 0x5d7f8a646e8de27cL,0x4a5ecbbbebe084f2L,0x99fc5ea93f863156L } },
  34326. /* 18 << 98 */
  34327. { { 0x1ddede1b495fdc2eL,0x3dfcf56b039d6339L,0x54c423806a56c492L,
  34328. 0xe6bfd184def6446fL,0xfaa2fa123ac841beL,0x503e319a4f9330a4L },
  34329. { 0xd9305d4654ad427eL,0x68d23497d95dfcc8L,0x2d935aad1e9602f5L,
  34330. 0xd7e74bf2e33174a9L,0xc8e4a0b17225e2b5L,0x5db7187cbcda5221L } },
  34331. /* 19 << 98 */
  34332. { { 0x9a0e0908b0ec0b27L,0x28894b2edd759131L,0x0107bb592b9d6f02L,
  34333. 0x318921deeea022f7L,0xa1a00f5882c73390L,0x877833129551b381L },
  34334. { 0xff866039a3a9dd22L,0xa59235ffdf0fc09eL,0x530c2fe61ca647f4L,
  34335. 0x77b1ea2860f9428bL,0xeef2a9e6bba4bbabL,0xdbdbe037204f5ea3L } },
  34336. /* 20 << 98 */
  34337. { { 0xf55edabb90b86166L,0x27f7d784075430a2L,0xf53e822b9bf17161L,
  34338. 0x4a5b3b93afe808dcL,0x590bbbded7272f55L,0x233d63faeaea79a1L },
  34339. { 0xd7042beafe1eba07L,0xd2b9aea010750d7eL,0xd8d1e69031078aa5L,
  34340. 0x9e837f187e37bc8bL,0x9558ff4f85008975L,0x93edb837421fe867L } },
  34341. /* 21 << 98 */
  34342. { { 0xf87a92375b2e5fa6L,0x88571e4452a3a605L,0xf85e9a330c8f5f55L,
  34343. 0xf99886c599dc2c97L,0x5866329d065261daL,0x9011f13912dd434cL },
  34344. { 0x0cc67d535284c555L,0xf8f715274a4032caL,0x4b002683a9524bcaL,
  34345. 0x3c3c12910f63a7baL,0xd19e173e9124eb8cL,0x3431c51c54b7d85aL } },
  34346. /* 22 << 98 */
  34347. { { 0x7103ab4ae11cc85bL,0x2064ca41789cf87eL,0x592850ead5f13a08L,
  34348. 0x56b9ff066212e096L,0xa106455d6efa7445L,0x3e62aac92343c5efL },
  34349. { 0x7edbf70dcb8ddf7dL,0x27f00a4a5f2687e4L,0x7d4ce32e44a08d11L,
  34350. 0xe97f0910890a57f1L,0x792597fb912cb027L,0x1fa7a1d2ad3492dfL } },
  34351. /* 23 << 98 */
  34352. { { 0xbf4e161c3cfad317L,0xda4e6bffa1998bc8L,0x6534ef622e890b99L,
  34353. 0xd10a3b24d272cc42L,0x3f81b0e5f1194dabL,0x8919caefec549c5cL },
  34354. { 0x847ef47f68f5633dL,0x01cd59975468f4afL,0xc38bce29b6727408L,
  34355. 0x56a1cd1ea4c84268L,0x31a493f406b81088L,0x4461ce8531b37e73L } },
  34356. /* 24 << 98 */
  34357. { { 0x3503d9371f23a0d8L,0x64c598a8c321dde0L,0x67f101ef5b52e0f0L,
  34358. 0xb6b5b4c2f955b5faL,0xb5f03d53880e0569L,0x121c3ac1c99393efL },
  34359. { 0x90755bd657330666L,0x70ae5793d4d71d3dL,0x326ffd519e9ce792L,
  34360. 0x1b772d7396ccfa14L,0x652710f4874a22deL,0x72768469db210342L } },
  34361. /* 25 << 98 */
  34362. { { 0xb2d85722b3413d7fL,0x4e41362092e55ea5L,0xad1a20c7ff7b3409L,
  34363. 0x743b31c0c6f98cbeL,0x1b5b0b5adab3810aL,0x628d9b212cea0428L },
  34364. { 0xa3e24294b0335ba0L,0xa9c0e139487530a7L,0x54199640072e70eeL,
  34365. 0x0977586e64c0d563L,0x393878451c5cce35L,0x57acd85631ce1eeeL } },
  34366. /* 26 << 98 */
  34367. { { 0x63081bcf9b8d9f3aL,0xb09fe52b6f94e3e9L,0xc232e5d1e39c092bL,
  34368. 0xd61ddcccf5f072e4L,0xcdb3b4189a26a93cL,0x0c010c048de6f5c9L },
  34369. { 0xad2473a5d238e823L,0x4120ab3632029ca0L,0xd6632edb639bb8ddL,
  34370. 0x3383f077a8b32fe4L,0x8afcbce5eacfbe80L,0xe28236212d2fff74L } },
  34371. /* 27 << 98 */
  34372. { { 0xccf2a24a0eb3829bL,0xdd8fe4421eae0751L,0xb685b073c9598d91L,
  34373. 0x025214ce8b308785L,0x11c3fb11d6433acdL,0xe40cf39c81794024L },
  34374. { 0xa167651b1c0b1f54L,0x350cf3eb0bbde983L,0x69c93dd0b2a88c48L,
  34375. 0xf13afc37bee80b26L,0x0be7d05d776345e2L,0x1ccbc8ba7645b02bL } },
  34376. /* 28 << 98 */
  34377. { { 0xaa6489df83d55b5aL,0xea092e4986bf27f7L,0x4d8943a95fa2efecL,
  34378. 0xc9baae53720e1a8cL,0xc055444b95a4f8a3L,0x93bd01e8a7c1206bL },
  34379. { 0xd97765b6714a27dfL,0xd622d954193f1b16L,0x115cc35af1503b15L,
  34380. 0x1dd5359fa9fa21f8L,0x197c32996dfed1f1L,0xdee8b7c9f77f2679L } },
  34381. /* 29 << 98 */
  34382. { { 0x2aa349975442c668L,0x4c5137130cd74444L,0x4f87be0f449300ecL,
  34383. 0x13e07b552bae04fdL,0x6aa575d11f75acf6L,0x4502e9e9852848a9L },
  34384. { 0x3c246d38889666fcL,0xb6c0292b7c100867L,0x618f234aa2a280e0L,
  34385. 0xf983c834669afe62L,0xc51a15105d900a1fL,0x7d7ce31bc952f419L } },
  34386. /* 30 << 98 */
  34387. { { 0xe3dbb7483c3388dfL,0xc26a7d042c32f139L,0xc1b48180ed938dcdL,
  34388. 0x785b964d42e4c01cL,0x507cd16aa1f75e28L,0xfaabff8d1f323caaL },
  34389. { 0xc6bc47ceadd5b649L,0x997dc0ee3c0aed28L,0xcef0c89bf3666cfeL,
  34390. 0xd8d7dfb426482ea7L,0x5f00e432d2348484L,0x09549b5a1dc66aa6L } },
  34391. /* 31 << 98 */
  34392. { { 0x702e450ef8464b1eL,0x52d20765a061c4c6L,0xe1c930b26519bfc6L,
  34393. 0xa9c0c8c6d17ea02dL,0x52bfc60ddac62461L,0xc325568f7c5f9a55L },
  34394. { 0xe7413df9eb44b9d7L,0x461682265837e0d1L,0xfcb9628c15aa0c89L,
  34395. 0x83d6d0eebb57c6a3L,0x17bb82a56829c9fbL,0x342fe91c496861e0L } },
  34396. /* 32 << 98 */
  34397. { { 0x58d6998e171c1439L,0xfd4a98f401feedecL,0x420b2a0165739fceL,
  34398. 0x5c5db30822f7a073L,0x016c547805042f00L,0x5fc73ce2a12413d9L },
  34399. { 0x8ceb2d70e932aa17L,0xb4d66b670537afafL,0x2638d012339c146bL,
  34400. 0x02fbb7b628ac0555L,0x7fcb0c8162d46e63L,0xeaa9ff4f066d088eL } },
  34401. /* 33 << 98 */
  34402. { { 0x45f53090b8b22c29L,0x155b8f8111e70d5aL,0x5ec118b25d3a7d83L,
  34403. 0xfe4c7eb39c4ddd1aL,0x8cdfb753f226d869L,0x20bb870779fc646bL },
  34404. { 0x3c8c1d7a25d1308cL,0x5a976ae47116f347L,0x6af949a60faf9690L,
  34405. 0x7e6718fc07f3472fL,0x16ec7b45267b17cbL,0x80744641cebe1bd7L } },
  34406. /* 34 << 98 */
  34407. { { 0x45eded7ab2a5c8e3L,0x4308485969a0681bL,0x89b7510d90910e8bL,
  34408. 0x1c622d04d2066d92L,0xdc3b434bcd2f0d7cL,0x98bcb83b476ea5a3L },
  34409. { 0x9195431d3dbf2be5L,0xfec7efd969275ac5L,0x6a4364f556a7da4dL,
  34410. 0xaf701bc579c177ccL,0xb77ef33e9ffc2a47L,0x2bc59331cc23c4e4L } },
  34411. /* 35 << 98 */
  34412. { { 0xedf4a85b9d43c51fL,0xc0afbcb6b59a7244L,0x3ede2f25626e0ca8L,
  34413. 0x45836582270f674dL,0x83c47048bf06d267L,0xbb1e994f3c68314eL },
  34414. { 0x50d79cb4f2fe6c8fL,0x1a1d8aecdf7600f5L,0x216f5d2bef4e4857L,
  34415. 0x41361a90bdffb9e9L,0x8040f5c173d2f9caL,0xe6665f0dd1e9be4dL } },
  34416. /* 36 << 98 */
  34417. { { 0x5405179f394fd855L,0xc9d6e24449fdfb33L,0x70ebcab4bd903393L,
  34418. 0x0d3a3899a2c56780L,0x012c7256683d1a0aL,0xc688fc8880a48f3bL },
  34419. { 0x180957546f7df527L,0x9e339b4b71315d16L,0x90560c28a956bb12L,
  34420. 0x2becea60d42eee8dL,0x82aeb9a750632653L,0xed34353edfa5cd6aL } },
  34421. /* 37 << 98 */
  34422. { { 0xb112fd7b36386e2dL,0x358e974a6a634bd7L,0x509814737faf640aL,
  34423. 0x1036bdacef39b3aeL,0x410c6448db5aceb0L,0x914671305bbebe92L },
  34424. { 0x83fabd54e9e009e4L,0xb2da8eea9994d16cL,0x9d73da6356997acdL,
  34425. 0xea9158b97ec1b844L,0x8e6a6e3129714795L,0x23e98f57131243f9L } },
  34426. /* 38 << 98 */
  34427. { { 0x7105f727552664dcL,0x97cbfb6c5c589c8cL,0x1a7b110a70fc59b3L,
  34428. 0x46c39f2cc754c69dL,0xcda0e2c067b1f17cL,0x35fe45fab7ede210L },
  34429. { 0x6b3ecb7d82e78b40L,0xa90eed4fdbc07241L,0xa73797895aacd533L,
  34430. 0x28120ba5f4fa89a2L,0x9c1fc09ee3055006L,0x71e665efc51653a4L } },
  34431. /* 39 << 98 */
  34432. { { 0xcf782247d28b5059L,0x15bef4cb1b89eb06L,0xbc182ed6bcb4afeaL,
  34433. 0xcf5b6dfde0e32b77L,0xeb61aff9d9446052L,0x5846f171c4bfc0abL },
  34434. { 0x61d5ae1c6fc68422L,0xa282c56846e870afL,0xdb4859d16bca8fbdL,
  34435. 0xd4cd416e97caf135L,0x11217fa9c3debd59L,0x27702da6370758ddL } },
  34436. /* 40 << 98 */
  34437. { { 0x8273db992d189057L,0x4d1b05fce1b5f8ccL,0x5fec7c830a7c32d1L,
  34438. 0x28ddaf28ea9b4d45L,0xb6bb62aca2fc58beL,0xfc65b7aa4a41852dL },
  34439. { 0x6e7651941c9e6045L,0x3acabf28fc116257L,0xc9d5e8054b5a4ba8L,
  34440. 0x9a072259cbdcf1ebL,0xc67cf643439fc8fcL,0x917ef6f8b4333aa8L } },
  34441. /* 41 << 98 */
  34442. { { 0xee6123cca6411227L,0x91372d080ee882bcL,0x2c30a840a638a4faL,
  34443. 0x1867421321e83d4fL,0xc6afa4cfc3fb9925L,0x19aec276e4fdc73fL },
  34444. { 0x1ffec4510cf4e610L,0xac57292ede22d429L,0x62844d78e6cacbc1L,
  34445. 0x0eafcc554d2e497cL,0x39f1acc8e780f600L,0xfcf8d914fcff8c6aL } },
  34446. /* 42 << 98 */
  34447. { { 0x0734ab43ff2152d0L,0xe52c5dee930fea54L,0x9cac7efe940bddbfL,
  34448. 0x30d2610ddbd43391L,0x4beeb865921c124dL,0xa19fe6a4fca219fcL },
  34449. { 0x588395628755cc47L,0xa7f301241324f2d1L,0x4fe38ee3b1ec5aacL,
  34450. 0x3583542eb16413ceL,0xfa92e2191733b7eeL,0xc0f30ba32b2001a4L } },
  34451. /* 43 << 98 */
  34452. { { 0x706b02c3febc7968L,0x6e45dc90c96a6b64L,0x34e5f890f95aa4c7L,
  34453. 0x8ae64d487683b855L,0x0fbb9c4a62e03ebaL,0xb32a965ce2cab115L },
  34454. { 0x4a7084a8b33102b4L,0xe7fd9db3ebd1bd6aL,0x2fcb233cc7f32b61L,
  34455. 0x365896d5f2549734L,0xa3f18bfd25c7a1c4L,0x382950ef212b8daeL } },
  34456. /* 44 << 98 */
  34457. { { 0x82154d2c91aecce4L,0x312c60705041887fL,0xecf589f3fb9fbd71L,
  34458. 0x67660a7db524bde4L,0xe99b029d724acf23L,0xdf06e4af6d1cd891L },
  34459. { 0x07806cb580ee304dL,0x0c70bb9f7443a8f8L,0x01ec341408b0830aL,
  34460. 0xfd7b63c35a81510bL,0xe90a0a39453b5f93L,0xab700f8f9bc71725L } },
  34461. /* 45 << 98 */
  34462. { { 0xee2b773e4ed17990L,0x499e83623faab7feL,0xa3925e2f71abb9efL,
  34463. 0xfee50406ce3b4a69L,0x71a15070bc10f803L,0x5b01e4a2c7bab10aL },
  34464. { 0x806c590d99e51e36L,0x34adbaf6a7f88d5aL,0xd4a93ce9f6b30ac3L,
  34465. 0x39d2cf40dc33fdfbL,0x13e676f1d5e4e7ddL,0xbaa72ab9199690fbL } },
  34466. /* 46 << 98 */
  34467. { { 0x85017690e51b47daL,0x25919b58a2b476ceL,0x6f692de103ec5d55L,
  34468. 0xd6cf8ee5d022dcebL,0xaf3225238ba7076eL,0x917b373728c902d5L },
  34469. { 0xac75fddc3fdf8590L,0xe83d9bbb64fc304cL,0x13550de2971f659aL,
  34470. 0x70bee07ee12b7bebL,0x9989d2fa0a855646L,0x8b6043aca576b3a1L } },
  34471. /* 47 << 98 */
  34472. { { 0x1bfd4f92fadf9017L,0x1e4509aa737bc67cL,0x88278c3699af1ffaL,
  34473. 0xbc47536f4678e22bL,0x69914cdb1b07c823L,0x56fc28ab97277358L },
  34474. { 0x092d28efe752d2f7L,0x6a8286a691da62c5L,0x86b702778033c632L,
  34475. 0x57ef284e7672f41fL,0x9101ed302e54007bL,0x53e94cfed25d8d19L } },
  34476. /* 48 << 98 */
  34477. { { 0x311ebba2fc37efedL,0x8a6a42d660cfd6bcL,0xb4051b3af2a4871eL,
  34478. 0x66ce77b8c2f0ebf0L,0x84abc9480ad28477L,0xc82e5c6263d9d11aL },
  34479. { 0x99ffc70c007dcf93L,0x5e974edfd964c822L,0x0fee3572513085e3L,
  34480. 0xbe67a88046ce8444L,0x136ceeb806d17129L,0x0da512ae662d86fdL } },
  34481. /* 49 << 98 */
  34482. { { 0xeae827d989e687ddL,0xb025f0723bdbdd9dL,0xfbddcecec3a575aaL,
  34483. 0x3fab33c1f80d12cbL,0xd0232142b32f0381L,0xf00e74bd3b6c3132L },
  34484. { 0xb7c1311e0e44deffL,0xf3d790ae29b04d6bL,0x3d3744b846f72957L,
  34485. 0xc0890fb6ab2f13e6L,0xa669a34324461f0cL,0x35c9677ddd72fcb7L } },
  34486. /* 50 << 98 */
  34487. { { 0xc257ed518060a28fL,0x3a9d7e1cc72fafebL,0xa304a5e8332f435aL,
  34488. 0x96969bc234ccf343L,0x2aae4d8e7702ba84L,0x37f15631f203a7eaL },
  34489. { 0xc0000f24c9666405L,0xa98eb834a537fb89L,0x8c0564cf7e36dd1aL,
  34490. 0xb5ca507b4e89615cL,0x9bfa209a9d80ef92L,0xe2ec1879a83f02e8L } },
  34491. /* 51 << 98 */
  34492. { { 0x73b4573c11dfdea9L,0xe5f208ee5c8cc81fL,0x5c240d3c769adf12L,
  34493. 0xbd3f8f33550c53acL,0x98171d16bb4f43acL,0xaf19d5fe84db9e13L },
  34494. { 0xc589be0d2e53345eL,0x3184b540f114f6f3L,0xa35ed77e4946090fL,
  34495. 0x427b860afd3108fcL,0x7d0848c3867df76bL,0x353539e2a32ec485L } },
  34496. /* 52 << 98 */
  34497. { { 0x9401aec2b9f00793L,0x064ec4f4b997f0bfL,0xdc0cc1fd849240c8L,
  34498. 0x39a75f37b6e92d72L,0xaa43ca5d0224a4abL,0x9c4d632554614c47L },
  34499. { 0x1767366fc6709da3L,0xa6b482d123479232L,0x54dc6ddc84d63e85L,
  34500. 0x0accb5adc99d3b9eL,0x211716bbe8aa3abfL,0xd0fe25ad69ec6406L } },
  34501. /* 53 << 98 */
  34502. { { 0xee174af2df740edcL,0x1bd8382c09233f0aL,0x34a7450e7d343006L,
  34503. 0x92259ddd3d463e61L,0xcd0bfe6fedbc3af2L,0x39627c4cfc8770f4L },
  34504. { 0x7b7c688ddbabdf2bL,0xf459f0e64bef3558L,0xfa0e87becc88f7c8L,
  34505. 0x67beabac5fcc80feL,0xbdae52bfadeba16fL,0x4751724c5af5c9bbL } },
  34506. /* 54 << 98 */
  34507. { { 0x5627e0d016332364L,0x33839376fc57f01bL,0xe7fc2c489528e434L,
  34508. 0xa0ee39acb52b3757L,0xe49e383ee42e4832L,0xabfefdbb31359afbL },
  34509. { 0x5dedb6f3b99ee196L,0x38abe58bc16aac17L,0xa300a1333ec06a07L,
  34510. 0x00e68eadc90d4659L,0x60412e8a8000a773L,0x6099b6a6a5830c94L } },
  34511. /* 55 << 98 */
  34512. { { 0x85364bd10d340c80L,0x14b89462be64bc9fL,0x16429134b542faa0L,
  34513. 0x0d4cf3ce73683e2bL,0xf9a3e443cb73ab7bL,0xa4c2d0afbb156b0dL },
  34514. { 0x826123921bc77675L,0xaf2aad4a5f26c238L,0x6f6f5d9aef4656bdL,
  34515. 0x0e20425f90901f3eL,0x0e30bfef9943a673L,0x6cefc62847415a28L } },
  34516. /* 56 << 98 */
  34517. { { 0xe7acaa8457e0105dL,0x3c06d3bd3851fd57L,0x23cf3c612a9c631bL,
  34518. 0x13888aaa33863bf8L,0xf2396355717783eeL,0xf21e1a4836b300e1L },
  34519. { 0xa734cb3b9d27b4cbL,0x0a7effed796e34b6L,0xfc5864773615cc7aL,
  34520. 0x1f98ed7788844a21L,0xd6e289407ad4c7bdL,0xa00d64ebe9331c7eL } },
  34521. /* 57 << 98 */
  34522. { { 0xcc6ce7dee1c1e159L,0x77982e4f03df6b56L,0xbd8307d1b82b5ebfL,
  34523. 0x43e25358ed881b82L,0xddba4f418e0eb034L,0xbe326c36f919800cL },
  34524. { 0x97d03da7af52dfaeL,0x153bb17af4bf81c5L,0x29bbb9bed7ff322cL,
  34525. 0x7a7bd8c7232cca47L,0x7474c199c2830f03L,0x9f464a06f0065fc4L } },
  34526. /* 58 << 98 */
  34527. { { 0xca505cb553b876bfL,0x6fc27f553662cb5fL,0x891cbef432cb1636L,
  34528. 0x339743f16e27e2d9L,0xde76538f21dc4837L,0x9cea05020efe241cL },
  34529. { 0x97b8deb65888d9acL,0x4d3c28cba4b6cc56L,0x88ca828f840910b3L,
  34530. 0x2e5727cfbfde6793L,0x05a4138302bbae6cL,0x2e72fd653fa8e23bL } },
  34531. /* 59 << 98 */
  34532. { { 0x5b88c5ae6d17fe02L,0xc9b14810d6dbe104L,0x170b8659873be863L,
  34533. 0xdc5946a6ae9111b4L,0x4cfa5f022819a4cdL,0x7653d06ae213bb7dL },
  34534. { 0x324c41baabd7ee74L,0x4219968cdd1608f1L,0xa5e104704adc1561L,
  34535. 0x964a53ea5e16d818L,0x00ebd1d4980f4bd2L,0x23cbb80d3518144dL } },
  34536. /* 60 << 98 */
  34537. { { 0x0d5c1769df85c705L,0x7086c93da409dcd1L,0x9710839d0e8d75d8L,
  34538. 0x17b7db75ebdd4177L,0xaf69eb58f649a809L,0x6ef19ea28a84e220L },
  34539. { 0x36eb5c6665c278b2L,0xd2a1512881ea9d65L,0x4fcba840769300adL,
  34540. 0xc2052ccdc8e536e5L,0x9caee014ac263b8fL,0x56f7ed7af9239663L } },
  34541. /* 61 << 98 */
  34542. { { 0xe6ece4b5dae76820L,0xd428354e95feec03L,0x43517722f8871f7bL,
  34543. 0x313fde11e84d0b7cL,0x7f02824b1cae0a45L,0xf9f560c1d6646bc4L },
  34544. { 0x124d88bc903a0608L,0x950e8320370c7ff2L,0x29e6da714090a72dL,
  34545. 0xbc5a108c54547d89L,0x809330cd3e484deaL,0x1b04a8088bb00f0cL } },
  34546. /* 62 << 98 */
  34547. { { 0x2425c59c03e0a528L,0x49de96f425c2be3aL,0x30b52686fff4b610L,
  34548. 0x2ce573b0f2e5f7b1L,0x4ec05f07b606f0e6L,0xf2040886366ecbf4L },
  34549. { 0xc7fd993460d404d3L,0x8a064992fc12227dL,0x9c6d64ec215492b1L,
  34550. 0x2793bd0903463ec1L,0x49523ebab7376e80L,0xb138dfbd35b14fd6L } },
  34551. /* 63 << 98 */
  34552. { { 0x5ed097b0df7363adL,0x21319edba5696d91L,0x17c46519c5d5313dL,
  34553. 0x341d46576c6cccedL,0x60d80713692bc704L,0x9477b6e907fb8e13L },
  34554. { 0x2965720b532e0c6dL,0x2767b4ee87831d79L,0x3e2e67abd4b5ef14L,
  34555. 0x45ee89b5d2598521L,0xfc8f1e3ee6441648L,0x75c4db57567ed090L } },
  34556. /* 64 << 98 */
  34557. { { 0x17e3d0b8713b8541L,0xf372b048c6b5e839L,0xf8ef0261d0bb1848L,
  34558. 0x9b804ceec71a3bbeL,0x00b7d171542a88aeL,0xf2b8ed10e9097b9eL },
  34559. { 0xdbad9f122c0a009aL,0x245fc1e9205fb1bfL,0xa8a4834fb83debf5L,
  34560. 0xc3ee226d637e449bL,0xe3070d93cab82664L,0x24b8094db37320e8L } },
  34561. /* 0 << 105 */
  34562. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  34563. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  34564. /* 1 << 105 */
  34565. { { 0xb506b7b925059699L,0x349fd83f01ab02e5L,0x64b729ad3789281eL,
  34566. 0x69ae8f81f9af4561L,0x007befe156f91860L,0xb578c566edc250fbL },
  34567. { 0x1c16d75a67ae4801L,0x04c35a7ea1d3f592L,0x5dc97da936881f89L,
  34568. 0xaddb603103a5b1eaL,0x7eb515b13e153a0fL,0xdc3a92192b4a1ee2L } },
  34569. /* 2 << 105 */
  34570. { { 0xe7365f9e512cc92aL,0x9efdcf8b5172a654L,0xbfb389ac8e611fc3L,
  34571. 0xce778fd5699c227dL,0xdc1f47b63ff2ef17L,0x2ae0f68302672ed4L },
  34572. { 0x51c63806a8e879cbL,0xd3dfecf03909f526L,0x375b3d13e00e12a2L,
  34573. 0x91f9f750bf8df325L,0xf1ea0e421df5f21aL,0xaed73e7f32c60584L } },
  34574. /* 3 << 105 */
  34575. { { 0x03b07fb5e0728e6dL,0x9e0469201012234eL,0x272e644935637644L,
  34576. 0x2b6ad1c2a55bcadfL,0x86c527765c71c6afL,0xa25bd60bc1678806L },
  34577. { 0x0cae829476bb32f8L,0x389ce4e633e03cb2L,0x504df8337513dfb6L,
  34578. 0x4260ee8e1b351ddaL,0xa473c5d9dbaf7cd0L,0x22cb7cb471e390fdL } },
  34579. /* 4 << 105 */
  34580. { { 0x1d9aa9fa26caebd8L,0x6b64686926b7a673L,0x7ebed6a17f167b47L,
  34581. 0x324c13f85bd9153dL,0xe9ea5b734c682ba6L,0x2961da7d7e3ff6e2L },
  34582. { 0x1ed2b05001a83dadL,0xb232951dc4a2f60aL,0xafcea5d3d68b8ec6L,
  34583. 0x21dc058d1c6ce0d2L,0x0043de75e719410cL,0x4edd792ce15cf534L } },
  34584. /* 5 << 105 */
  34585. { { 0x0f45245f3babe09eL,0x0959326fa9f2fac5L,0x7629e7fb5cc136e5L,
  34586. 0x208bd5a6e48b7eb0L,0x637891d6b75a85cbL,0xf0ad9d8d9f27b57eL },
  34587. { 0x437b6944e0454b05L,0x022c51d702ed3592L,0x0f79e2bd0dc0a769L,
  34588. 0x54ace1fdd9b81f9bL,0x38611d66f95ea8dcL,0x52443ca8f0e6147bL } },
  34589. /* 6 << 105 */
  34590. { { 0x857d68558bc272d0L,0x4583eeeeb5be2485L,0xb83586dafe0152ecL,
  34591. 0x8b0eb223e830294aL,0x757582b6a5b0e880L,0x5140c0169cca7fffL },
  34592. { 0x07a00782e9228f12L,0xb96e2b5dd4973080L,0x3cceb9a6e88efbe6L,
  34593. 0x9955b63073fcdd25L,0x04f26ab02805d470L,0x90b38299424da086L } },
  34594. /* 7 << 105 */
  34595. { { 0x73f1ae48f4f6c5b4L,0xee5af13d4a477f01L,0x274614a2ddb93d52L,
  34596. 0x90b0c563c320aaf5L,0xee2303c8ef990b0bL,0x00d028e73061f140L },
  34597. { 0xff705011cb3d8eafL,0xae1d990862594f4cL,0x22a27cecdafea438L,
  34598. 0xa78e12d5c5962ea9L,0x5bbe9d878e65f9cfL,0xa222580cf47cefa6L } },
  34599. /* 8 << 105 */
  34600. { { 0xf7aaa732959abb9eL,0x1222ad0a2ebf80b9L,0xa1a417372e0c286eL,
  34601. 0x3b6685025da3472dL,0xbc0d116b7576f2a2L,0xfdbcad95a36a27d4L },
  34602. { 0xcdb3f4749d54f7eeL,0xe2e0f5f98a5643a3L,0xc70d11b969d4f171L,
  34603. 0xdf96d1366cca4ef7L,0x570693db2fc6afdfL,0x5059e67b567504daL } },
  34604. /* 9 << 105 */
  34605. { { 0x2c8107d47fe632a2L,0xfc46c745ede7bff8L,0x2d3b12864650025bL,
  34606. 0x815ef3cbe74cd65fL,0x5431b01ba256f01cL,0xe832ff1139915cfaL },
  34607. { 0x2c106de607d7af84L,0x67303b786d4753e7L,0x5f886ffa6d75c8deL,
  34608. 0x932a6c20967131cfL,0x5bc94a9170aebbb0L,0xa85b3044fd56e06dL } },
  34609. /* 10 << 105 */
  34610. { { 0xc904558ae7eba799L,0x46b6031bb2fa7331L,0x6620e2b50653675cL,
  34611. 0xd1373a357d2218f7L,0x0f4b3ca3af55a5e7L,0x50774160714e70c2L },
  34612. { 0xacc63d1469188455L,0x89a795fe043b8b30L,0xac2fd66ce1e4b9cfL,
  34613. 0xac7927021bf67f26L,0xb9513f0d1143d437L,0x02198050811f2931L } },
  34614. /* 11 << 105 */
  34615. { { 0x6d4acdba7b480776L,0x8b518cd466dffeb5L,0x8826c99451918859L,
  34616. 0xd2b6a7a038fad835L,0xd315417a6929a870L,0x05d85252c5a769e1L },
  34617. { 0x2fa06335ec0d091eL,0xb0cc337287768c88L,0xacbda5ba58a2eb9dL,
  34618. 0x2a404fc976b7b057L,0x073abb71838c6135L,0xbdf89b135cfc4f3cL } },
  34619. /* 12 << 105 */
  34620. { { 0xd00eb9c53508675fL,0x92ec76a4a117dc95L,0xf58d6f85334ca15cL,
  34621. 0xeeb522169cee0544L,0x3eb9847ff21457c2L,0x547908bc5524c60dL },
  34622. { 0xb5b49d225198709bL,0x718abce6324abc67L,0xdab8ff2f4abd54baL,
  34623. 0x98be59e67184d444L,0x45b74b54babeb4b0L,0xd8d8bb30ff71a5acL } },
  34624. /* 13 << 105 */
  34625. { { 0x8aedf7e28ec13e6fL,0x8b952620d950792dL,0x36e9dac204918f59L,
  34626. 0x5e49a5a2d3dd47edL,0xb17455bee863c2bdL,0x8caac6a9326a0d66L },
  34627. { 0xb6c3f5e427bb72e1L,0x17566c9dee5fe09bL,0xfd6bbcc25e3db64dL,
  34628. 0xd437d07a3189319cL,0xad00dfc4cd3166a5L,0xab75927b0bd63003L } },
  34629. /* 14 << 105 */
  34630. { { 0xa7672a39afc43be8L,0xefc49015c72f97aaL,0x81c63c050e48f2edL,
  34631. 0x62f39f32833a22ccL,0xf7a3480172c0c0c4L,0x4711cd41a4158538L },
  34632. { 0xa3c99a4d1d15f2f3L,0x4b82c1c17bee1b47L,0xc7d60b489d199f10L,
  34633. 0xd1d1f03d5f16fa95L,0x96c780c932fbeaf2L,0x0662e250376ff106L } },
  34634. /* 15 << 105 */
  34635. { { 0x728e334678571c8fL,0xd0a886b56cb339d3L,0xf4ea33380a5671baL,
  34636. 0x43823401a64850a4L,0xa7729cd533117b9dL,0x4dd457602b78cffbL },
  34637. { 0xbe0571115a67d812L,0x7ec6cf925105a3fcL,0x5dbcb4bc0ccafeecL,
  34638. 0xa7587f15803092f8L,0x67ee61d5a884efadL,0xd4ced554ca47d9caL } },
  34639. /* 16 << 105 */
  34640. { { 0x02c6b6083b03dcbcL,0x2b20149e3b9d868aL,0xaf5ab01d4f57eb0cL,
  34641. 0x59935b94d750e515L,0x32721b408f89ad68L,0x673bd755a7e3ceffL },
  34642. { 0xbd462fd8ef3b3393L,0x991422640e59a120L,0x4162da619263fa61L,
  34643. 0x2ed1f2deb6488eb3L,0xb0bd37a8725680c4L,0x17218bf029ec27b0L } },
  34644. /* 17 << 105 */
  34645. { { 0x444071ff84ff1ebcL,0x4b4171e87f789cbdL,0x4a832cca2db4e8daL,
  34646. 0xe229ffb6dc209c05L,0x9efbfd7eb5f0b3f4L,0x65e07fe774fbbe6bL },
  34647. { 0x2892c8ac627b9d41L,0x01a20eb94297e7a9L,0x2f54e88646f29860L,
  34648. 0xc425accc188798ecL,0x6137251c85c80580L,0x6cc0f9c4f386581eL } },
  34649. /* 18 << 105 */
  34650. { { 0xf677bdd11cb61a7bL,0xfca1faf8932d6113L,0x1d5bbf97a531bbe2L,
  34651. 0x3d5e4860c849fc47L,0x388943cd95fe4da2L,0xffb7d5e073add43fL },
  34652. { 0xc3166ae828fcc058L,0x89dc7faae0d6f6e4L,0xe6daf1a6f527ca01L,
  34653. 0x500a703a56ef1d8dL,0x3573d0a3fc914df4L,0xd780e745ef8dc2a4L } },
  34654. /* 19 << 105 */
  34655. { { 0x90a8f3380500afbcL,0x8c303270838ccf6fL,0x82cbdc98458254c6L,
  34656. 0xc2f24d03b367ddbcL,0x5d3daa0d6c882354L,0x824d313d376599d0L },
  34657. { 0x6e5075df7b9dd1b6L,0x6871a3d4d69c9828L,0x8b3762f59cffa148L,
  34658. 0xf2184f67eef8c656L,0x437630c296a1537eL,0x92a0667c4cbf8249L } },
  34659. /* 20 << 105 */
  34660. { { 0x6e929912ef619478L,0xe7ddaf255ffc5939L,0xb71133cf96dbbca5L,
  34661. 0xee8bd53f17da5104L,0x7601ce6adc49be68L,0xa1ca3b3cc63f2a87L },
  34662. { 0xebf388c2a0de1668L,0xa0f6c38dd0ec6bd7L,0xc8e0875ddac451ddL,
  34663. 0x179fbbe5a5afce85L,0x0727095673bfb06bL,0x992afcd047622925L } },
  34664. /* 21 << 105 */
  34665. { { 0xe3b0122624f262c3L,0xaa7a0925dae30b22L,0x36104c95a96a18f9L,
  34666. 0xdc6090f5539b6740L,0xd70270ba11040a88L,0x53997b57ea3342feL },
  34667. { 0xaaf1d47d63393e4fL,0x9db8aa3fe8a99625L,0xed571a32c3926e1cL,
  34668. 0xd6e898526e565346L,0xb3984bbd873b2589L,0xaeb7bf3f3f5f68e1L } },
  34669. /* 22 << 105 */
  34670. { { 0x75a4a19a79ded4a8L,0x1368e269f688177dL,0xa24d67118581e23aL,
  34671. 0xae63d5a6746b3830L,0x0c68d3e314017304L,0x521a5e7de4d45dc9L },
  34672. { 0x69d9adfaf77ca616L,0x1f8d37f4bfda67f3L,0xa2833ba1027e771dL,
  34673. 0xae49b00367141a63L,0x04e6f282ed6f1968L,0x65d7d88f060f9157L } },
  34674. /* 23 << 105 */
  34675. { { 0x5dc3137b512e4026L,0x43e189595d6ac980L,0xdb7dfef39eac06a4L,
  34676. 0xa8f3e2aea09b0650L,0x80a8594c575e047aL,0x9eba41bcf0c58bf3L },
  34677. { 0xdc04cc7679812341L,0x716050eaeed1be66L,0xe559782099b77be8L,
  34678. 0xe543aef055183ad5L,0xbbddfb814c08a959L,0x6e54d86eb5368e8bL } },
  34679. /* 24 << 105 */
  34680. { { 0x170f8a74e7aba263L,0x6b4e1d7b986b151aL,0x5f65bd224b08921aL,
  34681. 0x1017ae3de6caca3aL,0x613f36b626cb9d5bL,0x8a1e2f2ded19d99bL },
  34682. { 0x52c915a5c3c519c2L,0x3c9a33305902fa08L,0x2cd7f7c206a51a12L,
  34683. 0xfed60db66e0197ceL,0x4e5b2bb7d971b04cL,0xebebeebf2f45ab13L } },
  34684. /* 25 << 105 */
  34685. { { 0x43b10a0673220e06L,0xdf93af67777cf022L,0x830195efbeea9ed4L,
  34686. 0x0a36b71812353c9bL,0x520e2e8d1ec8c488L,0xdc985ffaadac5e16L },
  34687. { 0x0ebac566f3f58ed7L,0xc7747562a2cd13a2L,0x6a5b4cbce3901864L,
  34688. 0x66634acaa374b634L,0x45e000877f4680dcL,0xb783d01f9fdbe92aL } },
  34689. /* 26 << 105 */
  34690. { { 0xcf6d51be36e1c05bL,0xf59b6665e1da0ad8L,0xaa8bfb9d727a701bL,
  34691. 0xb1680942e26e268bL,0x09d41407e518661bL,0x8b0dfbfb3757a993L },
  34692. { 0x34ecb09f6cb33380L,0xfcd77efede342bf6L,0x9f8fa6c6e476c5eaL,
  34693. 0xde30410fb6257416L,0x416ea101bbd47b91L,0x86ebd19e4aeede80L } },
  34694. /* 27 << 105 */
  34695. { { 0xfe7562e00818226bL,0x922d8fe662b46275L,0x6216698b491adc2eL,
  34696. 0x5bdf7a59f6a38f2eL,0xc0640bf937710dfcL,0x06ad30a9df687f48L },
  34697. { 0xc561dc7d3eb66e6dL,0x7444ac83d08616c3L,0xebfcccee84984618L,
  34698. 0x35a03bafbb15eb51L,0x7c907f9fc17a5de2L,0x2e48ddb5814634dfL } },
  34699. /* 28 << 105 */
  34700. { { 0xe466d7a7ea51a37aL,0x5203e990cdf97186L,0xf700953096c84ba0L,
  34701. 0x4e32fbe65f89d1adL,0xe530349aa9be221eL,0x0f7f9c2e50b31508L },
  34702. { 0xa6796f5c3af5a574L,0xe220f6daa2a2df89L,0x99ec4811d8b65510L,
  34703. 0x4dfdac69ed373b27L,0x663f46b1bb55114cL,0x44236350d167e032L } },
  34704. /* 29 << 105 */
  34705. { { 0x1382e90ba65f6a57L,0x3557ab88e5c903e1L,0xcc0cc77f032067beL,
  34706. 0xdd8da09f67797328L,0xeb2979d45114c09bL,0xaaca95bcc4eb598eL },
  34707. { 0x651a7ce5a2b776fbL,0xc20fe9315312ffc1L,0x842957357dcf479fL,
  34708. 0x022ba6e2ee5cc0a7L,0x6d27e37185b0ba5cL,0xe6f212bdbcd5f2c1L } },
  34709. /* 30 << 105 */
  34710. { { 0xb0c2ce87a9088f95L,0x47ec07e0acb11d2fL,0xfe84fba0d30ad231L,
  34711. 0xaa98e35f18a08eb1L,0x36adc3f2f6a27510L,0x622d202751fac4fcL },
  34712. { 0x4be765cabb9b6ffcL,0x934193571cbfcbeaL,0x83542d9cbef14402L,
  34713. 0xf27504954612b4b4L,0x91aff597bb988ba6L,0x229031e51d61f6f9L } },
  34714. /* 31 << 105 */
  34715. { { 0x6b04a446ea29e65cL,0x9b6247a696c48a99L,0x95aa162f60c83930L,
  34716. 0xe387f544e30821eaL,0xbe1cdab306c51b7eL,0x40175d151fc7b8f8L },
  34717. { 0x89df5ff36384d331L,0x02eb9aa4fe1aaf5eL,0xf24155f789675704L,
  34718. 0xbd2e8cdd87f72f4cL,0x2856b3c46de30f01L,0x2356f0a3ecf8af25L } },
  34719. /* 32 << 105 */
  34720. { { 0xfb09e7564bd044efL,0xdbc9fcdfbb964fb3L,0x451c5b01cdb1f4f5L,
  34721. 0xb02f9068f1dd1cf0L,0xd4765e7c0c687e41L,0x89b64981d1967bd3L },
  34722. { 0x06a0e4ecf0439d65L,0x564c387da5abbcecL,0xc1e9d01ac651d806L,
  34723. 0x5e6ebd830618a96cL,0x9ce1aacec54ad8ceL,0xe5248a089953f90fL } },
  34724. /* 33 << 105 */
  34725. { { 0xd65f3b909b6ab239L,0xbc259a6d9ea8bf80L,0xc10d5c235944f964L,
  34726. 0xbd6b3f6f61eeac6fL,0xc4ef2d8383e92858L,0xb80d5ab0a3736bfeL },
  34727. { 0x27bebd1176695c40L,0x4de92348ea4f5720L,0xd70d93e6070b892aL,
  34728. 0xfce03d0be626d5abL,0x2525e8ea81014bedL,0x6fa3df16a70e2799L } },
  34729. /* 34 << 105 */
  34730. { { 0x42b8350a7bbc41caL,0xd7861ad49af59bc9L,0x2453d07c5644d328L,
  34731. 0x2b92643ad7c8ec43L,0x7c14d3c7cd5f1fd2L,0xcee050463d373c7fL },
  34732. { 0x17ff60bd0ab2b35bL,0x473925e0dbb7f655L,0xdbaa015aff3ee023L,
  34733. 0xbc1ff6d6087ecfbfL,0xc44e1c8c5fc66ca2L,0xc60a193850d6b257L } },
  34734. /* 35 << 105 */
  34735. { { 0x5ff44f3ed8f0983cL,0x9de50da0bb82cc15L,0x504f82ec94757c44L,
  34736. 0x72a4fc9dc8a07028L,0xd4d6e4cec3d5e64cL,0xc6148fe780008568L },
  34737. { 0x71ba3fc525ef66d6L,0x969cc8694f6589f6L,0x5016c8c2d934ab25L,
  34738. 0xa78382f6959e8881L,0x28bcb8bea20eee18L,0x055ba80b37edd7c8L } },
  34739. /* 36 << 105 */
  34740. { { 0xbe389fef9c98ca3cL,0xdc3ab23b910370e5L,0x866cb37d5e8eb20dL,
  34741. 0x2f951ca9c1e32fc8L,0x54ef6ab15fe24e6cL,0x6038b5efcfcb8cfbL },
  34742. { 0x362e076b6eec196dL,0x47bb3aefd398b505L,0x9f3128eb343711ccL,
  34743. 0x8dda2fa8d28e3269L,0x908c52c7eda48846L,0x65fb3a05d53b0917L } },
  34744. /* 37 << 105 */
  34745. { { 0xeae35c02ed711239L,0x16ab943fa97db2d7L,0x9770bb578f3b0599L,
  34746. 0xa88ffb95956d04f3L,0x3b937af5f4dcf6ffL,0x311ef2cc0bc41f56L },
  34747. { 0x00e9214a2860ea2aL,0x2a64b18a7bd12d8fL,0x20a5b9da6a2b9dbcL,
  34748. 0x5c16a412fe1b8edaL,0x6fc306af7b9db98bL,0x964c35de25dc9363L } },
  34749. /* 38 << 105 */
  34750. { { 0x81f4739e6df16589L,0x2ea2fff11f8b8ac4L,0x3baff03d33e02c36L,
  34751. 0x7f07526874d77660L,0xa442d7fa758eed7dL,0x584cbe9866625864L },
  34752. { 0xeed35d579d167ff6L,0x56627c2e3c7bf84fL,0x908df5aedd011153L,
  34753. 0x2694e54d242fc055L,0x25beed9a2f2d60c3L,0x29d3f22fe2ee5293L } },
  34754. /* 39 << 105 */
  34755. { { 0x14940dbc178f9859L,0x6e6e35b7329ec4a2L,0xd1f198096707db4aL,
  34756. 0x6eb310b79fe4233aL,0x8f92556eb41e1d8cL,0x2ab28e231d7ce522L },
  34757. { 0xc5d0f5dfdd5c4d68L,0x3f5146d825101083L,0x3a04aa53de9ee4cfL,
  34758. 0xcf36f1e3d9357f64L,0x05a1896444889f68L,0x1096c87aa96a4137L } },
  34759. /* 40 << 105 */
  34760. { { 0xfa4b6697a8352657L,0xf5696452cad6ec30L,0x10aaba60986c84ffL,
  34761. 0x49bdfff4dae014e1L,0xe2a810bd0abc0e46L,0x1dc5b81462d1dd5fL },
  34762. { 0x15d2f2c723bb4561L,0x5ac7b6421818e30cL,0x40c6b6f94c545f5bL,
  34763. 0x5875b6b2f99241e8L,0xfa3e88a9d6708293L,0x1c936920ad6d9344L } },
  34764. /* 41 << 105 */
  34765. { { 0x6516f6210e18ec42L,0xb967eb43df8c26bdL,0x624ee27e69addc2aL,
  34766. 0x34019d6339063252L,0xb317fdd3dcd99d7aL,0xc3d566825d314caaL },
  34767. { 0x04992df3367506b8L,0x13e4ab2e547262b7L,0x35f130352e287d3eL,
  34768. 0x92e0a276211304d9L,0x94e7129417133d22L,0xb35302275fd71a28L } },
  34769. /* 42 << 105 */
  34770. { { 0xe1d9273c9ae60111L,0xe86aeac3d01243ecL,0xc7257b27fa5989f5L,
  34771. 0x57737dc89807d3ccL,0xe1ef78526937551aL,0x74ab9edb15dd2d58L },
  34772. { 0xbc47b23cc59962fbL,0x376ff30fd3bba76dL,0xaf0035872788ab98L,
  34773. 0x1e475c68619b472cL,0xd79984c89c6a9835L,0x5ceafba510219a94L } },
  34774. /* 43 << 105 */
  34775. { { 0xc25ae81155d238d9L,0xf2a21fce4ba4456fL,0x4ebe44d0bd1a440cL,
  34776. 0xe821687f83d958beL,0xb4ce63423ba09f9dL,0xf271435d139048bcL },
  34777. { 0x2a3db37c99c6412eL,0x50cba09ccb36dbd0L,0x9e5231aef6e65cf8L,
  34778. 0x48e9105d90118a6bL,0x2d58d372368144cbL,0x48702d59928575baL } },
  34779. /* 44 << 105 */
  34780. { { 0xc71ce040d1c9204cL,0x8ad09d7373f7686eL,0xbcc6d88dc6fcf31dL,
  34781. 0x22a0b71aaf428ad3L,0x7767944847721255L,0x2b720c7e316b808fL },
  34782. { 0x3128a7cc5ed45b8bL,0x9744c6c0f79fa1c7L,0x738e94efd22728d7L,
  34783. 0x8a652496fff8f874L,0x0e4a5ade566c9751L,0xfcde62db64e3199bL } },
  34784. /* 45 << 105 */
  34785. { { 0xb068ec91aa63f5fcL,0x547e7e471a29ddfbL,0xe3e5de42b17b8e5dL,
  34786. 0xb5c84f27264d1361L,0xa68d10a426432715L,0x4f31e81c23e48e1dL },
  34787. { 0xe32bea6116dbe185L,0xfaeab7256d1d34feL,0x0ee437cef3a8ca7bL,
  34788. 0x2b8657a2f458446bL,0x8779a3d4c52e3dcaL,0x243d7d0e71654165L } },
  34789. /* 46 << 105 */
  34790. { { 0xc4a346b2de23afe2L,0xf8e00f790fac7ba4L,0x22393604ab76b7d8L,
  34791. 0x109233d7a06efba8L,0x5bf89334c7bf56a4L,0x27ed4a28135d4cabL },
  34792. { 0x07851ad2e32ca02fL,0x41b7ffa630c97f29L,0x383b3716e4457ccdL,
  34793. 0x6ce8645b0b43a50fL,0x73c82018fc5b907bL,0x79a1467381bbcf0dL } },
  34794. /* 47 << 105 */
  34795. { { 0xcf5331d35e092e41L,0x7e0b9fdeb43e3c15L,0x842a971182841f82L,
  34796. 0x2d837c810cb9d1ecL,0x6aff6d6873095ddeL,0x2a7f6f40c9478ef3L },
  34797. { 0xb6e8ac80a9976e39L,0x3853fa5474e40024L,0x664b159a6d87c1d9L,
  34798. 0xaaedf4b4b20b5d11L,0x8a1ac277c5819de1L,0xf10276dc6450b97eL } },
  34799. /* 48 << 105 */
  34800. { { 0xa8d7901c7c16c09bL,0x628ff3be42e1948bL,0xb905d7c504e4bce1L,
  34801. 0xdfbf9c4e5ab0696fL,0x0f4e6e2ab6db9cd5L,0x4857e570482e40feL },
  34802. { 0x5ccd9b421c3beed4L,0x171b085fae51a947L,0xcebe0dbe59065754L,
  34803. 0x4d052d3a461c1620L,0x396bac422fe541a7L,0x8e714cdb70bf32d8L } },
  34804. /* 49 << 105 */
  34805. { { 0xed82f15e6ca1cdcbL,0xc5ae5cde51b9a9cbL,0x3b2f78cec70c475eL,
  34806. 0x0f22d10b4243c675L,0x1db96885facac4c6L,0x2fb7884817df2f2cL },
  34807. { 0x25fb9f4e990f3104L,0x1416733ecefa14f7L,0x3a33828384a5dc24L,
  34808. 0x6d75d3d02564288cL,0xf7bea8b69b93e62aL,0xa5ea8695349f1740L } },
  34809. /* 50 << 105 */
  34810. { { 0x38feea7115e711b8L,0x129aea564accd3eaL,0xc53e54c412b23539L,
  34811. 0xb15bf11a2b280c59L,0x5ea76f5782d44df5L,0xea79f833d4ac1af8L },
  34812. { 0xe547deba08330c6dL,0xbaa89422663ef402L,0x17263762d215a5f5L,
  34813. 0xb9509a19c02b5f9eL,0x9bb99fcb025caaccL,0x43f4494b25f24089L } },
  34814. /* 51 << 105 */
  34815. { { 0xe55e592c98563c70L,0x4e62ace5d013c82aL,0xb6025ac16fcf7380L,
  34816. 0xac4a8157cfdff8b9L,0x1fa181344497acf6L,0xdcdf05c0ef09d3e9L },
  34817. { 0x7a65490d83d8e716L,0x2aee0b35e98c46feL,0xe62381dc7d6d4035L,
  34818. 0xc7162b78203975c0L,0x1079d8b6aad2c021L,0xe3e1cb4370c98838L } },
  34819. /* 52 << 105 */
  34820. { { 0x3ca01799f04dd97aL,0xd6d1d41d3f9e03f3L,0xac2713eda55fa375L,
  34821. 0x2bd440556a89a5e5L,0x8582d98458f5c269L,0x7f9b3527fb31fc27L },
  34822. { 0x23f91951d810580dL,0x99303919360a3debL,0xfaf10326b5e1eea8L,
  34823. 0xf96feb4838ba5ac8L,0x1508b1002a639622L,0x0766a1019dc93c78L } },
  34824. /* 53 << 105 */
  34825. { { 0x0c79d40679a0290cL,0xc09bca0c57eb7a00L,0xf7274ffc163c1dcdL,
  34826. 0xd64ec461bb2c83c4L,0xff3b83efe9ee350bL,0xa490157d01882c72L },
  34827. { 0x626e1f3d3312310bL,0xd2097e03cdd5d62cL,0x705c3fcadbf659c5L,
  34828. 0x2dc1d7cc810fa413L,0x6313192ad67d58a8L,0x6e1e5bc3597f63a6L } },
  34829. /* 54 << 105 */
  34830. { { 0x6100535ea0d42639L,0xb126e939d921369dL,0x2d4c826e4999e42cL,
  34831. 0x159063c6f62f77e7L,0x063c42914e632555L,0x8d3ee387b35d8220L },
  34832. { 0xbd951cff9b2bac3eL,0xd9b943f1bc248755L,0xeee7017ad3a6074cL,
  34833. 0xbcb9e0e6b0872a21L,0x26d80e0949dff656L,0x2ad7d4e335fbf620L } },
  34834. /* 55 << 105 */
  34835. { { 0x6ce5840df7f9503fL,0xb96f82996abf4f6bL,0xf71f33853ab55fcdL,
  34836. 0xe347e891e83a8109L,0x12c5dcdeeb48f0faL,0xb0f02553cd7183a9L },
  34837. { 0xa7d74862c414f01fL,0xbea40c5cae369360L,0xbe9785e5022d5192L,
  34838. 0x1a3224a50d318251L,0x4d7200093fcbceebL,0x1fd71167c2976f6dL } },
  34839. /* 56 << 105 */
  34840. { { 0x03c88a8566d2ee47L,0xee8e5c34455ee428L,0xd90a3d393870d90eL,
  34841. 0x2fd78d14f2fdb976L,0x9472a6066a312a30L,0xea68e2283484af2fL },
  34842. { 0x7cf25951ac9e5cf2L,0x024f07ee37a28e95L,0x5d479379e563a2bdL,
  34843. 0xe87b50a4b46e93d8L,0x9128fc11f137285cL,0xe46efdf77c67d7e6L } },
  34844. /* 57 << 105 */
  34845. { { 0x4050036c7cb0b9a1L,0x8560750c1161d7fdL,0x4d293a521b247ba9L,
  34846. 0x4b25e54c8f1b9d31L,0x91c89139c5baa0aaL,0xa2f75f9f2202b7e2L },
  34847. { 0x6c0915dd4d2d1388L,0x575d90f703717fd7L,0xd90c059b03e0626dL,
  34848. 0x7004305ba4239e8cL,0x39fb4e2e989775e6L,0x20c31fc8d8a239c6L } },
  34849. /* 58 << 105 */
  34850. { { 0x4de318054ab51b84L,0x4a68443c6aa00707L,0x2c3637f05b317f3bL,
  34851. 0xb8ea6f87c0fc14a7L,0xcd0cb4fca2cc6af8L,0x6b5fc899317083fbL },
  34852. { 0x1b8f160956e6dfa1L,0x698299ed92b77d20L,0xdb84ab7f14fc3fc1L,
  34853. 0x944666a35d5fe625L,0xe9a3448d7e064ab0L,0x53f62fa01abe1440L } },
  34854. /* 59 << 105 */
  34855. { { 0x04bc8a2bc8c676b8L,0x502a73144a577562L,0x494d01f11ff01f9dL,
  34856. 0xfe648df164d98f70L,0x80bed0d849719dd3L,0xb77a8f09c231e190L },
  34857. { 0xc8aa8daecc011818L,0xf313be4f5918814eL,0xf28fcb74488b5bfeL,
  34858. 0x71e23b19b3345c98L,0x1cfb7c0596eba9beL,0xa88e73b941c61971L } },
  34859. /* 60 << 105 */
  34860. { { 0xdc7050459cfd4295L,0x1cc9648eedeea59eL,0x88f4af1c0e9ca92dL,
  34861. 0x45d0b53f69689317L,0xa122a6dd41c04186L,0x9df54c3a277fba1aL },
  34862. { 0x1efc55a5017eb9ccL,0xb253f7b661d1ecd4L,0xd03f8ec6acfb7854L,
  34863. 0xf641e5f49f338dbaL,0x6b6a680a3a3addbcL,0xe80babb5b5cd058eL } },
  34864. /* 61 << 105 */
  34865. { { 0xb48da67307873319L,0x53309cdf3bf5db9bL,0x1bc510e64ee9dd11L,
  34866. 0xbb8e529a7388950aL,0xc9c0ce3c7f6e6175L,0xd75753f88a290784L },
  34867. { 0xfebdd94ba80acc08L,0x942cdfebdc846b30L,0xbb64799f6ca7099fL,
  34868. 0x40f03362d1326fa8L,0x95b2d9db97b62e9eL,0x5ad9ce165301d9aaL } },
  34869. /* 62 << 105 */
  34870. { { 0xaa5fead9dfc59ef1L,0xc1348e98b2cc1e9aL,0x83dd617e77bda968L,
  34871. 0x0fdcc0837c8997dfL,0x9206ae234cc62b01L,0x88aec92f417678dfL },
  34872. { 0x9d399af791fb8920L,0x399eebd13e8a22a0L,0x32f3bba735bebdf3L,
  34873. 0x354c1c5004c2f32aL,0xc2d6b5514052c926L,0x16a1f71f656a7eebL } },
  34874. /* 63 << 105 */
  34875. { { 0xd7a755bc14a8c57bL,0xa97b901341ebec55L,0x88b88459143a1a9bL,
  34876. 0x7aa178cc7e19e3e0L,0xb8359634635dfb65L,0x63fd26c7c169e28aL },
  34877. { 0x89d9090d953272f5L,0x63e571196383845aL,0x0e26c0cf886a1f1fL,
  34878. 0xda56332db7057a29L,0x6b5d303f7a459c6fL,0x3c351b771bb704c3L } },
  34879. /* 64 << 105 */
  34880. { { 0xda2b0725bb296c27L,0x1f22ffa4d341171bL,0xc721e35a5b132756L,
  34881. 0xe5695e84fadb6907L,0xbc5a3bf4c283f546L,0x9182cb3edde128aeL },
  34882. { 0x179c7fa66592e05eL,0x1e604790f38e8586L,0xaf7e83bea16bad55L,
  34883. 0x6f41231e9137ecd8L,0xac87543d8f30d1abL,0x630a9d87b1ee0ee8L } },
  34884. /* 0 << 112 */
  34885. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  34886. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  34887. /* 1 << 112 */
  34888. { { 0x359cbfa05e4f1914L,0x6992cd48d922176aL,0x2fd5e90f630cbcb5L,
  34889. 0x2b0f61306ddbf238L,0x5070970a3af753e6L,0x433d009441727016L },
  34890. { 0x2eb15b3b9dca97e2L,0x3a7379cd00d96875L,0x0d4374aee930a75cL,
  34891. 0x3cd36046849e7727L,0x9ac3117e336a19ffL,0x2d1373c9433ddc04L } },
  34892. /* 2 << 112 */
  34893. { { 0x985dcb43e4362d67L,0xecb860c2a939bea4L,0x40597f3055fbf1d5L,
  34894. 0xb6d166bf43fcd98aL,0x5932570915ec99caL,0xe05ae3b9c5bdd370L },
  34895. { 0xc18f78270c7b943bL,0x84bde9c64dd572ccL,0x5d50a89df478e56bL,
  34896. 0x242c2f4864d29053L,0xcda12c6161cf7e0eL,0xf8b6890eac8d1d40L } },
  34897. /* 3 << 112 */
  34898. { { 0x7a9a9dd7b6b11af8L,0xac4c50dd16a42f8fL,0x1550267b6726c324L,
  34899. 0x12cfb2fd7f841afbL,0xa41b19052f046430L,0x8f5f5373b7d786cbL },
  34900. { 0x7b61b39c729e09fbL,0x07a5415f2626da4cL,0x65d6efb84a348905L,
  34901. 0xf377862cf2e864b9L,0x3c94000dab96cdb2L,0x2176321a8efef0f6L } },
  34902. /* 4 << 112 */
  34903. { { 0x8c558000c1c1bc68L,0x9e48a67a83fd6ca6L,0xacf0d75ceb7a35cbL,
  34904. 0x0fbdce4cf0a93110L,0x82b2d13a9cc50c85L,0x696fd259cef70d6fL },
  34905. { 0x1cc9be2e457b88c2L,0x0d58b34b1f04c0bcL,0x52bd479f195a532bL,
  34906. 0x769fe6ca1ab3605cL,0xba6a63e48a24c1e0L,0x86dea46299da5d7aL } },
  34907. /* 5 << 112 */
  34908. { { 0xdf2a6cecd24790f3L,0x37bfbba7b87ca06dL,0x7c8a7e4c0de8a6aaL,
  34909. 0x5c806b94be7b8f5dL,0xccca1c714fda3e7eL,0x3c1cbaf9cff788e5L },
  34910. { 0x17a081a9565d0464L,0xc4eb995713ed1b82L,0x0d7c90549e4cfac7L,
  34911. 0x6fb74c629d53a200L,0x65b9ed6d5f977a8bL,0xe2279cec0ba2e7c4L } },
  34912. /* 6 << 112 */
  34913. { { 0x8435e2962d4412dcL,0xa36cbfef972350d8L,0xe2fe6e6fece5cb15L,
  34914. 0x6f249b095336f7ffL,0x5801feb9908ee267L,0x7649a837fc8f217bL },
  34915. { 0xfc1adc3ea0ebc808L,0x1ef06bec94f08075L,0x4afb5404cc1d9b72L,
  34916. 0x75cabd61a1f2c5a4L,0x2bd797e1cd08f195L,0x4f1b5cdecbea0f49L } },
  34917. /* 7 << 112 */
  34918. { { 0xe9759aa9e7aa87e2L,0x2d54a5fbe5909f55L,0xe49a59aa2c80bb61L,
  34919. 0xdb89e21230c9b328L,0xf42b9adb004ebffcL,0x4471b983479678e4L },
  34920. { 0x0dde5b0e97709e2dL,0x2f35c653a12bdb85L,0x9f8d7a5cd8c8285cL,
  34921. 0xd7cde5971d156206L,0xdbe765d7a8e126bcL,0x2e645b6de3f4e60bL } },
  34922. /* 8 << 112 */
  34923. { { 0x509abccb65682820L,0xfbfa1d094ff86137L,0x1ae371bd640bc2f6L,
  34924. 0xa155c2978f546c68L,0x8858cadcc08b8cbfL,0xafac5b0a1d96948bL },
  34925. { 0x919cb22682e25016L,0xd147df4ab064ffc3L,0x25dd0f1ab4abe560L,
  34926. 0xc6bbe6369cb75bd1L,0xbb367cf947a778e4L,0x5714aa4dbde524b3L } },
  34927. /* 9 << 112 */
  34928. { { 0xce3c8218e61b1439L,0x8be5a9cb67f79d28L,0xb1bd1386d5164b35L,
  34929. 0x0bc24d96b9adbac7L,0xbcee4f0ec7482414L,0xac15b5b66ca5d49dL },
  34930. { 0x79caa999f20f9a50L,0x89bfd652a911308cL,0x972fe26d15245a7dL,
  34931. 0xd44d0f6e1d0d2939L,0x6749beaedd439057L,0x02627a6ad4b6f416L } },
  34932. /* 10 << 112 */
  34933. { { 0x7e882e8cb437b791L,0x9afde25afbe334cfL,0x60184381da52f9fbL,
  34934. 0x935d33a1001df73cL,0x38f303df080682e5L,0xd9cf2c1f4e9a29b2L },
  34935. { 0x889d265e00d9208eL,0xfc1cc2221fd8e817L,0xdd14f1a2ec71428aL,
  34936. 0xe81cc4f9d9e973aaL,0x26a154963696468cL,0x0620fe6409d546acL } },
  34937. /* 11 << 112 */
  34938. { { 0x06ed3e64166be92fL,0xe1da6e27c51ea53eL,0x784f2514acb2b245L,
  34939. 0xc544e50f8e24077fL,0xad449938c5c01787L,0x5d9ef8d527d41dd7L },
  34940. { 0x37114064e15d4a96L,0x7f0c92aa1dd45321L,0xc1f11d56b9c72ee5L,
  34941. 0x91f3b3f7a78e6d3aL,0x0cf440b0c9488cf7L,0x14d3defd93df403aL } },
  34942. /* 12 << 112 */
  34943. { { 0x3fa4ea0225aa1d44L,0x22c68e17f74a6a3aL,0x351bcb80f489e72dL,
  34944. 0xdabdf118be0268edL,0xa3bf9e1984d2cd16L,0x318506a2d67393a4L },
  34945. { 0xb0c6b2d8615ed517L,0x42ac507c3dcba0f9L,0x60570dfb51235e30L,
  34946. 0xc677628dedb033e4L,0x0290c22766e61f76L,0x1d8450d09888943fL } },
  34947. /* 13 << 112 */
  34948. { { 0x1b8f5ed7155a3daeL,0xc9d2433aa46ed72bL,0xe99c7fe38ca361fbL,
  34949. 0x606b08c19626fe7bL,0xe6447257c0ea792aL,0x5839e2c62e1156f3L },
  34950. { 0xb73135dd5eab6d41L,0x200f2e488ef63584L,0x4c73885ddda1c49eL,
  34951. 0x8d606a75b5428ee9L,0x2a73cc7aa62699dcL,0x484a58941c6c8de5L } },
  34952. /* 14 << 112 */
  34953. { { 0x2365b4150decae0cL,0x9c8567ece8583741L,0x35d6cfae6d8842a7L,
  34954. 0x4e6c98e6dd0db8e4L,0x584524e767b34d02L,0x786ea52f554c6117L },
  34955. { 0x8952ce169320725fL,0x8eb7f91854c4c8f2L,0xdd34f77afc799251L,
  34956. 0x76b8c3173e05d37fL,0x664cbddcebb4d365L,0x31ba98b90dfa1a98L } },
  34957. /* 15 << 112 */
  34958. { { 0xf113a7bd651c186fL,0x417bd7373737a50aL,0xddb40d201b858249L,
  34959. 0x62a60745345f5b45L,0xf0a03f5c2d4e221eL,0xcafde67cc64621a2L },
  34960. { 0xbbbfaebcbc3c06c3L,0xadaf9a16b8383dc0L,0xcd21aa308f343ea2L,
  34961. 0x64cefec0d890128dL,0x2ed9b8f763b44054L,0xc0a49e2917c0ffcfL } },
  34962. /* 16 << 112 */
  34963. { { 0xc6307399166915dfL,0xb35545bc5da8a26eL,0x8e0126aae3a99321L,
  34964. 0x0fbfdf76da9308d1L,0x2163ed6b6168e505L,0x71f3d0087500d8bdL },
  34965. { 0xf57159605ac13f65L,0xc1cd9a6755172d5bL,0x6b225f7e53d84c65L,
  34966. 0x9c031269025029daL,0x54c1edfa17d89aedL,0x5b0238786b435150L } },
  34967. /* 17 << 112 */
  34968. { { 0x96d69db1146abf28L,0xc924454924d221dbL,0x7881951c137bdfe1L,
  34969. 0xde2d490dda51f789L,0x6033c2c34b0a1e0aL,0xbe214d8c08dac13eL },
  34970. { 0x3d5abfa9a5a1d055L,0x3433060f6fe02a62L,0x88608c7ba37f2833L,
  34971. 0xfd2da6f0e74dd6c1L,0x27c22c17fe000000L,0x04a1f15bcfbde005L } },
  34972. /* 18 << 112 */
  34973. { { 0x01204485f340b522L,0x588a9e1c9367a099L,0xb3d1a4b466005913L,
  34974. 0x522ac504d55cc36fL,0xa6c80e511b72eabaL,0x15025a7acaaa89b5L },
  34975. { 0xc9166912bec1a986L,0xe78e9642f19044cfL,0x230d51ab4756908aL,
  34976. 0x6795942aac04cb90L,0xcd2cc9eca2a92818L,0xfccead967cf52961L } },
  34977. /* 19 << 112 */
  34978. { { 0x32fa291d52ccf481L,0xbb137ef901ac0eafL,0x13ce2183011746abL,
  34979. 0x7e64248677bfea0aL,0x67cbba0e5e7e5032L,0xc900998a1f2b69fbL },
  34980. { 0x62ddd91aab3256afL,0x1f0f216911d7996fL,0xab2f2d540e4dd4feL,
  34981. 0x05b577a92ec64ec3L,0x8071e88708ef233aL,0x9be1f8d60e649a5cL } },
  34982. /* 20 << 112 */
  34983. { { 0x5f78334137732664L,0x625b85dc840b6f8eL,0x7dcb3d256cdf0959L,
  34984. 0x87a5ae19d4ce1845L,0x43bf0721b0dc016aL,0x6569ad52f6a5f6f3L },
  34985. { 0xa2697f15560ab87aL,0x4c6fd1a0060dcd57L,0x652a7732c3167f56L,
  34986. 0xe355fef05294a5e0L,0xf7b3177dcc59c562L,0x511c96dddccf4b1fL } },
  34987. /* 21 << 112 */
  34988. { { 0xec768f587622c0b9L,0x7c9eb5490416afe7L,0x3c3d87f55795433eL,
  34989. 0x74eff3cba4611446L,0xb2c79249dc7037d3L,0x70062ebd8bb1fc42L },
  34990. { 0xbd0d3532a4ad91c8L,0x42411c139f5ee0c3L,0x11c4ee91132470cbL,
  34991. 0x496438979fb2a135L,0x4c1df7e0ce2ec891L,0x689cda57e16f7413L } },
  34992. /* 22 << 112 */
  34993. { { 0x3b42838a2a0030a1L,0x3f37587ae05ba56eL,0x6382a86f44c16650L,
  34994. 0x6c1bc67da6f9f136L,0x7d152d907ada0f41L,0x9115319d5c40c0f5L },
  34995. { 0x1143028632f58e3aL,0x5dcf7ec7eda5c5a2L,0xf04404a9f334a0b2L,
  34996. 0x75e0b4a84ec2cbd5L,0x86e89728d079dbf0L,0x796700799a99c605L } },
  34997. /* 23 << 112 */
  34998. { { 0x98456a79b1d2a3fdL,0x4e8ba91e6dd789e9L,0x8e0bfa33a435226eL,
  34999. 0x42bea2f48cfea5ccL,0x5ca5fb0321b14602L,0x73faac5826877b13L },
  35000. { 0x0ddb6ea203905ebbL,0x67bc35f1698cd7abL,0x24da47d85d9af735L,
  35001. 0x1a2a7c1dd786000eL,0xb35fb29e23ccaceaL,0x1c063466bf1f51a7L } },
  35002. /* 24 << 112 */
  35003. { { 0x1e7ae1601e94d949L,0x177dc53ee78e6221L,0x8af29d8f7aeb9882L,
  35004. 0x2d9a60fd9e3f3906L,0x6979fcd6df962156L,0xdd2fe5887e1e54b8L },
  35005. { 0x9cccf31076643453L,0x94ece1a84e0643d0L,0x745449cbc111d8cfL,
  35006. 0x872afa4ae6cfbd97L,0x5c27b7ca10dfb34eL,0x505e62bc533480feL } },
  35007. /* 25 << 112 */
  35008. { { 0x6dd2007363141676L,0xdb099810c5c4c657L,0x2bbbcbaf8c369f32L,
  35009. 0x339e3ded08794178L,0xcc362a32315c4cd7L,0x5d288ff37dbce794L },
  35010. { 0xafd05d104d0cb6c6L,0x3a6dcee9d386c7dfL,0xa207dc17e311ee74L,
  35011. 0xc5794286abdc751cL,0xf45136e5d889b985L,0xb25e84638d8f32a3L } },
  35012. /* 26 << 112 */
  35013. { { 0x8711ebfd1dc32f77L,0xfc0e851f3933d758L,0x90b679fd64a859f3L,
  35014. 0x0914a975ef37a81eL,0xcef80495d675c502L,0x862d3b65be18c403L },
  35015. { 0x0d53f957305b4aa2L,0xe404f2570e5bcb47L,0x833a8644854b6b63L,
  35016. 0x5709f53b99f8d3d9L,0xc400dc1f13893effL,0x75ca01714c65086eL } },
  35017. /* 27 << 112 */
  35018. { { 0xdaaf8e76eeceb904L,0xbce9ca54b9e31f92L,0x4442d0c88d06a58fL,
  35019. 0x5966e1e5eda0ee34L,0x043125f058edc555L,0x44d0311749cf0931L },
  35020. { 0x292aea12a99ae5c2L,0x1e9be1702a2bade4L,0x003ec2826b21b444L,
  35021. 0xc158f3cffc41d601L,0x25a839f4c4b3f4c7L,0x4a36bec399e64264L } },
  35022. /* 28 << 112 */
  35023. { { 0x829bbe7e04e6bda7L,0xc52b64ded3e667dbL,0x98aa40ecaa2fc128L,
  35024. 0x2c6997d011fbef94L,0x70ca76aa97c8167eL,0x558f8ce7b1083886L },
  35025. { 0x5c621e35d250f064L,0x757710f8f535b2c7L,0x5d118d8faa69ee95L,
  35026. 0x02ffe667b27cd9deL,0x65711ac7d13e51fcL,0xdbbf16278cb1a1c7L } },
  35027. /* 29 << 112 */
  35028. { { 0x3c2fcbceeab0bb77L,0x569d6c7e4e1b17adL,0x22e06899b0518730L,
  35029. 0xf8466d9d19f809e9L,0x372e254288359d10L,0x8074483532d5bb82L },
  35030. { 0xc88727d566060945L,0x08e9246572a0d38fL,0x84ca145c9f84a861L,
  35031. 0x8363463c1c004212L,0x9debab72bd3ad87eL,0xce68c150a988e65dL } },
  35032. /* 30 << 112 */
  35033. { { 0x1c172e5ea71dbae0L,0xf7794eb19b80bf40L,0x3007c5705d7d2829L,
  35034. 0xa8d44d6fcc97cf00L,0x093a9784f6abea6bL,0x2ac4a67564cca46fL },
  35035. { 0x14fcc56350d8fc8bL,0x53133983a11ccd07L,0x7cf09bf68e6b8f26L,
  35036. 0x49f864d57b06e3adL,0xd526a765c373fc6dL,0x7af297c6151305d5L } },
  35037. /* 31 << 112 */
  35038. { { 0x18f941bfcf7c1eb5L,0xda10720a130163b7L,0x3c4894f46bd9bb34L,
  35039. 0x7575087bc8ca64f1L,0x68c424852c8f3798L,0x986214eecf0e5839L },
  35040. { 0x3723b713df2b0b90L,0xd81560d5d229bf8aL,0x0204ae5ff993078eL,
  35041. 0x55206d9186a14833L,0x8c7d09181557fc96L,0xe2cd5dcdddba9705L } },
  35042. /* 32 << 112 */
  35043. { { 0x009ef80aae238fa1L,0xb41d9b24486af6b5L,0xab4455ed685add95L,
  35044. 0x18f323f672c7dac8L,0xe7009790e372f168L,0x4d5bcba6067bea99L },
  35045. { 0xf15bdbcc51a2a9a9L,0xde7e4f742fac9169L,0x2fd62c304bdbec36L,
  35046. 0x8b3ea93d1b3ac6c7L,0xce1c8e5c9c293889L,0x19664dda11564f8bL } },
  35047. /* 33 << 112 */
  35048. { { 0x207a738245406afaL,0x7c1c398d1675bc91L,0x2ae99d8ba1bb7a43L,
  35049. 0x63f134e8c5e176e5L,0x4a624a1c48364268L,0x471974f1de65c5deL },
  35050. { 0x44932063ea90b0cfL,0x13ba5019d8fd7e30L,0x6281f71348510422L,
  35051. 0xdaba3f14bc1a523aL,0x333e5eff924cc5cdL,0x861ab150e9113d1dL } },
  35052. /* 34 << 112 */
  35053. { { 0x332d308dd9b9461cL,0x3e9b4a95b7014261L,0xc557f608c2beeb5cL,
  35054. 0x9ee927187c8531d6L,0x55ff3dfcc0002ff0L,0xed96119eccd9b325L },
  35055. { 0xd779ba03fb92416bL,0x63b75d351416be79L,0x793cb1fbfc9ad27fL,
  35056. 0xcc762a5b87f1bc59L,0x6e7a23389bbb07d8L,0x99b6e278aa7bfa44L } },
  35057. /* 35 << 112 */
  35058. { { 0xeb142de02bcce03eL,0xcac04711577565e2L,0xa949c7350ab07328L,
  35059. 0x8f15874cd7d347ebL,0xade8c67a696dc9f3L,0x039e6b7c66a7bcadL },
  35060. { 0x1260bd4acb8cb9d2L,0xdbf05496d4801bcfL,0x6b37a4d30ffb845eL,
  35061. 0xc3968fe150b50889L,0x261e82f4525c6a7dL,0x539f634912aad50bL } },
  35062. /* 36 << 112 */
  35063. { { 0xcb1a9d2ceae4d774L,0xfdec2ca998a0775cL,0xa538acbd0eab9e25L,
  35064. 0x6901ebfd04dd34b0L,0x998ab679ed4c6409L,0x69b1d7ee0235b865L },
  35065. { 0x4f2e6e5723ac3be6L,0x2b2072aed4a00479L,0x5c12fcdc2ce2f059L,
  35066. 0xfc688c45ac329db8L,0x16d377a51f539427L,0xebe4e2cfa08ed9aeL } },
  35067. /* 37 << 112 */
  35068. { { 0xb394214715d60238L,0x60d8909bbe9d4febL,0x013827b78654e16cL,
  35069. 0x465b3078824fc55aL,0x361e6523e3fcd6c0L,0x2ef44d80ef88b307L },
  35070. { 0xdca7809fbeb2db77L,0xe649d591da97468aL,0xad6079b77c28ff0aL,
  35071. 0x6a21ce1ac4897775L,0xde876f7b5a592fd5L,0xced421a585a1dd36L } },
  35072. /* 38 << 112 */
  35073. { { 0x9793bdf6a045a442L,0xdb3c60472713ed37L,0x9929d32261344a0bL,
  35074. 0xfb48c2dc831af45cL,0x730226df53a8a077L,0x3a5baf8a18876559L },
  35075. { 0x99736e7d8e11f9edL,0x3e7663dd0c09dddfL,0x368a29ed89b8a23dL,
  35076. 0x5443d7f5d3a68663L,0x0b84b464c6302455L,0x235c6eb5cf088847L } },
  35077. /* 39 << 112 */
  35078. { { 0x13307013b8de0a3aL,0xfb10e919f592fd9eL,0xd09e5b2571401ec7L,
  35079. 0x6e8091c11d94cf0aL,0xb7d79fc74193b129L,0xb842a3695f2c05e5L },
  35080. { 0xcf6fc6cbccdc7614L,0x77d6408180102a3aL,0xde4b9304f30c3488L,
  35081. 0x4fd9f8d89bd08e48L,0x58ac01245963b063L,0x1f11335c747fac66L } },
  35082. /* 40 << 112 */
  35083. { { 0x5f266f13175418b2L,0x6bd7a86903a626f9L,0xc7b532304a6f11caL,
  35084. 0xa216b056bfc8ccedL,0xa274d5d8b288cb7cL,0x6fc4a35d924897adL },
  35085. { 0x1ea532eb81fc6940L,0x2fcd817e2acbbc45L,0x45eee93f67814fa3L,
  35086. 0x3b3da48c1229e035L,0xd049a976efd8e3d7L,0x8087dff7bf81f314L } },
  35087. /* 41 << 112 */
  35088. { { 0x9ccd802fbddea807L,0x08a64e86d93b97f6L,0x422c0f5602f04e3cL,
  35089. 0x25aecab133900990L,0xcdb2c5c15d4b4d2fL,0x849a6b1f5f43e42eL },
  35090. { 0x4689b815446e7361L,0x49abaf6ca681fba0L,0x304d84b18289a564L,
  35091. 0xa6529d430b779df3L,0xca926da67b51b195L,0x3640dde5c829ae84L } },
  35092. /* 42 << 112 */
  35093. { { 0x747235495424e1d0L,0x3861ae65c85af64fL,0xc56ff12baab902c2L,
  35094. 0x9aeb9e154fbf264eL,0x14e3c13942ca40d2L,0x6c26da41c1ba0250L },
  35095. { 0x97a6031df51a0967L,0x88fea7710e623393L,0xcafae4c778574eefL,
  35096. 0x2c4c281198119f28L,0xd190fc749276d971L,0x843f4baf9273f01cL } },
  35097. /* 43 << 112 */
  35098. { { 0x1b2d643de50ad79dL,0x1ceaee7ed3075486L,0x13a003f3ec287aabL,
  35099. 0x09a4a825e8c7aeddL,0x93babe5ad1d4c05cL,0x8115bfec95ab084cL },
  35100. { 0x629e8e0a289ebb8aL,0x923167a9bd992f77L,0x440edf75ae16ce72L,
  35101. 0xa67dd37b0a0019d4L,0x174b341978b0df8dL,0x010746a5ad6e4c60L } },
  35102. /* 44 << 112 */
  35103. { { 0xed05e4bf8342da4aL,0x36d881f3b565f0f2L,0x3fbd04e1411e627fL,
  35104. 0x40ac13cb0411889aL,0x9f6006cab5b25fd6L,0x0e79d377e31404ccL },
  35105. { 0x9fd6474a5af3ea01L,0x89d7ddcb2a27d905L,0x2c1beebada12e71dL,
  35106. 0x3ecb11e1833eb7deL,0xa348b2f6600eb1faL,0xc227192183f2657fL } },
  35107. /* 45 << 112 */
  35108. { { 0x2cfaf519e32ba792L,0xa99113d7f929b512L,0xd347f7d18f554e19L,
  35109. 0x18f0374f098a2ad8L,0x073855acc174e0b9L,0xf155c6c009324c23L },
  35110. { 0x3388c39605d1e427L,0x144356a9d39221d1L,0xe3d4ffed492a84adL,
  35111. 0x519c65e6d1e53c29L,0x334f470a2813c717L,0x69aa0a1de0a400e7L } },
  35112. /* 46 << 112 */
  35113. { { 0xd8689c9c39e70b62L,0x2b87157e6cd86fe6L,0x53d55de887c0f35dL,
  35114. 0xb2d7141de09aa44bL,0x3499553084fe7c21L,0x4550096c16b19be0L },
  35115. { 0xb0a8ce05b856dac0L,0x570223450e211887L,0x8d4a7431aca17401L,
  35116. 0x96bf439857400a0eL,0x1e849d365ffd5f34L,0x7e70f6253a6d23acL } },
  35117. /* 47 << 112 */
  35118. { { 0x511ad0024b4ecd64L,0xd2287a28f37bf796L,0x801d2c2dcbc1f22dL,
  35119. 0xf0d3a6944df568c8L,0xa7fec550af6836b0L,0xa27dd6e887a426c7L },
  35120. { 0x2f730e5b59c6b695L,0x9df438ee93ee2b36L,0xc4def9eaf2cfc4c6L,
  35121. 0x82ddcca0a209814bL,0xb2e1de4f6dc916d3L,0xc6798e7453f81a55L } },
  35122. /* 48 << 112 */
  35123. { { 0x77faac22bd366155L,0x13cc4038282f11b5L,0x31ad1dd45fbd35abL,
  35124. 0x7e0de9da45d6d40eL,0xa16c5f1939749ef6L,0x761cd6cf85691cf2L },
  35125. { 0x156536ad4d59b802L,0xee98dc4187c4b11dL,0x165a1eacd35088fcL,
  35126. 0xce8a733538fb995cL,0x34d0d3313293b3a5L,0xfcf548ca8b570e79L } },
  35127. /* 49 << 112 */
  35128. { { 0x4c4bddca99e8cb05L,0x2b900ed017c5be91L,0x0ba0201b40adbfc1L,
  35129. 0xb5098cf8534595ecL,0x356e23ff80f56f69L,0x8b3fa12e748555a0L },
  35130. { 0x9063437677b8ebdbL,0xe3eb33fdf040b6a8L,0xcc5b699539b611ceL,
  35131. 0x20171523c693be7eL,0x5c4364d760849cf0L,0x30f3376372c4d303L } },
  35132. /* 50 << 112 */
  35133. { { 0x0757295022a8c8e0L,0x6e05715866ca81ecL,0x7e8e36890f804bc9L,
  35134. 0xcba813a191b99207L,0x3f11f7abe50ab65fL,0xaefe5479b6d05954L },
  35135. { 0x48dd59a1eff5cf18L,0xa623b738bda11ecdL,0x586e755818870f08L,
  35136. 0xb2c471a50e38ba1aL,0x5b21c42c69ce8032L,0xaf040e6c7943d78eL } },
  35137. /* 51 << 112 */
  35138. { { 0x6364714c4852f979L,0x7ed7aa310700cd35L,0x9021e46d9376733cL,
  35139. 0xf2b65ed3b6de8d03L,0x0e3d00c16652346cL,0x6630fcb75d27e2d0L },
  35140. { 0x69cc20ded79a1c20L,0xa6d77163be3745e6L,0xab36946379aacf14L,
  35141. 0x8bdffbf1b935a1daL,0xda8eb343b63096f6L,0xf61988f13c966345L } },
  35142. /* 52 << 112 */
  35143. { { 0x06f684ffd31f390eL,0xa1467be560ec98a8L,0x7cbdd03eaa80fddeL,
  35144. 0x0ae4d114e204ded1L,0xb8ebeb29a004c3e2L,0xd93cd70726009581L },
  35145. { 0x3ff2ee49f1b9d3ccL,0x0e69e5ac753526ccL,0x8cb2243e8b13f47bL,
  35146. 0xe2c5ae8d7fbfc5aeL,0x8e9af723394a45d8L,0x0b1114dbd92ab8d0L } },
  35147. /* 53 << 112 */
  35148. { { 0x937d9d2a73f9ff5bL,0x07c8c147de0fd740L,0x3880ead73639b680L,
  35149. 0x879d6f836558cc89L,0xf32e14b975bc8c84L,0x278ea5e4bcf6f8cdL },
  35150. { 0xd9f25ea94baca6cbL,0x676e4bdd44d0ceb2L,0x98042ac190868974L,
  35151. 0xdf227f370711b658L,0xcd6d29b46ef0e4f8L,0xd04f5bf88f817e92L } },
  35152. /* 54 << 112 */
  35153. { { 0xc7d62be78354f4ffL,0xd6fd9d590ac4d9b6L,0x13fbed772b50ab82L,
  35154. 0xc4c5be374362b766L,0x5d67bfdd6c59d059L,0x10c93cceac02f34cL },
  35155. { 0x3bec1f3b72e35ca4L,0xb1cfade159f4820bL,0x679edbcf80fae051L,
  35156. 0x6762f5ba6671737cL,0x28b425db3fe77970L,0x4bd6d2ebe778aaaeL } },
  35157. /* 55 << 112 */
  35158. { { 0xdcbe0018aecd5ae8L,0x7f178b7aedb2a7b0L,0xedb5c805b427179cL,
  35159. 0x25fb6a084ba080fbL,0xeb6365165f1b263dL,0x814c520092acb04aL },
  35160. { 0x936f97a988d94b88L,0x6d54f1768b45e4b7L,0x6321e3bdb0cc515cL,
  35161. 0x9118d0318eb5be13L,0x5be9188a8c574e96L,0xcdad43f3f281f19dL } },
  35162. /* 56 << 112 */
  35163. { { 0x7be5946ea85af34aL,0x420593c9da6fb0e0L,0x40b83c00987f9246L,
  35164. 0xac35f4e9a15d192bL,0x1979bd33776a678cL,0x0a7d973e8f6068d3L },
  35165. { 0x71d322e87e6298feL,0xbb23a29936af9b65L,0x14e2b9706644c50cL,
  35166. 0x5f7f207373570bd3L,0x40215c569055538bL,0x91372e64365500c9L } },
  35167. /* 57 << 112 */
  35168. { { 0x2763961a303ef488L,0xc357c32fbf865ec3L,0x32ca1a943663e409L,
  35169. 0x9d9040217de506a9L,0x1f56e144249028bcL,0xd76402e61c5c7cecL },
  35170. { 0x98dcac65b0dd9d4fL,0x887f6e97532facf6L,0xc0d5d2a123c2cfbeL,
  35171. 0x0566bd59d18d8b1aL,0x67404eb1297a071eL,0x10f24d9b26529285L } },
  35172. /* 58 << 112 */
  35173. { { 0x34808f5ca479ef4eL,0x60effdea9ff10abfL,0x471a077cdae34e0eL,
  35174. 0xf34df9562f9d1408L,0x4f8bbffbe46961b7L,0x6a80b0276336a6f4L },
  35175. { 0x28e57309ca92e5dbL,0x27fbb139ce31cb10L,0xcea87ae28d24334bL,
  35176. 0x3781f438de6db765L,0x3328fc09edaf054bL,0xa8acdbcfa94396f8L } },
  35177. /* 59 << 112 */
  35178. { { 0xa05b72aa83a79820L,0x3210863ccdeeaedcL,0x192d5fdcb76fdabbL,
  35179. 0x25ec4568f10c17a7L,0xbd51e31fca556920L,0x8ab534f26a7e40f7L },
  35180. { 0x2ecb28c041145d5bL,0x4e95843df9038557L,0x65605d17d783699cL,
  35181. 0xf728cb1178bddf7aL,0x2d823ae8bee2a60cL,0x02030edb8eb48325L } },
  35182. /* 60 << 112 */
  35183. { { 0xfe517758aa04facfL,0xa5216df44c421615L,0x4d87767d4f133b52L,
  35184. 0xdae81b7699757264L,0x53c1a0e3e3ad4323L,0x2c565bbd53b401bcL },
  35185. { 0x94d2354fcd54a0e1L,0xf43d0f053f1a02a7L,0x52e7ee4af660b949L,
  35186. 0x563ec009bc208df4L,0x58c0b975bf21c4b1L,0x29a8e5adeb029e52L } },
  35187. /* 61 << 112 */
  35188. { { 0x4c07b3e4283bdd75L,0xcd94d2a385dd6177L,0xc1ab8a5cab097530L,
  35189. 0x90301468a5fd9ff7L,0x2a3e5b4064d0932dL,0x77e3b67e435e1c0fL },
  35190. { 0x3b5d261c14f7bb4dL,0x1d67a760bab7bfc9L,0x507aad46d799621bL,
  35191. 0xf44567b5f4f3c3b9L,0xfaa97a3eae2bb6b2L,0x7d373b163594e2c9L } },
  35192. /* 62 << 112 */
  35193. { { 0x29ef2da9a15e6ea0L,0xf411e20dcd168689L,0x34944975049a4b24L,
  35194. 0x0effc2dfe035cd24L,0x5d77178b0a954cf7L,0x3504bc357ab2d8c0L },
  35195. { 0xc3405000ec32219cL,0x00442630421a5a3cL,0x0548505c7f49819aL,
  35196. 0x6bdb281fc805d0e8L,0x03cb57ac97484e09L,0xcf0926da58a14cc1L } },
  35197. /* 63 << 112 */
  35198. { { 0x0715055cc85610a7L,0xd2642935fa6ca505L,0x87ef95128c361749L,
  35199. 0x89cd669a8c8156d2L,0x5cdcd266ed60d7ceL,0x99ccc96df59fb53fL },
  35200. { 0x82400f4655df7f73L,0x2b6aa1d9af34f742L,0xa6cbca79c398aa8eL,
  35201. 0x7697bdea02b7325eL,0x1cb036b94fde4a79L,0xfe11ff96307fb964L } },
  35202. /* 64 << 112 */
  35203. { { 0x6a3a23279af0a75cL,0xf832a8159f1f250dL,0x17030c3322a82d3fL,
  35204. 0x24bf18ea14cbc835L,0x319dc4cab2da2727L,0x481df3606d020d4aL },
  35205. { 0xaeebdd8a7fc22ba5L,0xbd0515c6a91e28abL,0xfc8a2978595f361dL,
  35206. 0xe60dd96c1ae8fa3cL,0x19c2109aa5341575L,0xfd6e92bb06a0ee48L } },
  35207. /* 0 << 119 */
  35208. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  35209. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  35210. /* 1 << 119 */
  35211. { { 0x2e32f896cde5e785L,0xcd55ae7ab9db8f31L,0x278db1ad8f832885L,
  35212. 0x271d9078adcbd933L,0x2208fae34a64f863L,0x974046e039c89365L },
  35213. { 0xcb46f272b3cd0cd3L,0x31f34e1a74e59edcL,0x3421d316edd50418L,
  35214. 0xb1d8a064cabe36edL,0xdb13e560362efcdaL,0x567c2b6cc71eb3eeL } },
  35215. /* 2 << 119 */
  35216. { { 0x2af8ed8170d4d7bcL,0xabc3e15fb632435cL,0x4c0e726f78219356L,
  35217. 0x8c1962a1b87254c4L,0x30796a71c9e7691aL,0xd453ef19a75a12eeL },
  35218. { 0x535f42c213ae4964L,0x86831c3c0da9586aL,0xb7f1ef35e39a7a58L,
  35219. 0xa2789ae2d459b91aL,0xeadbca7f02fd429dL,0x94f215d465290f57L } },
  35220. /* 3 << 119 */
  35221. { { 0x94c3938b4c9324feL,0x0dea07003fe78a0eL,0x57ab9daa019e7dc6L,
  35222. 0xb0d7b14a9925b79fL,0x3c9a638b937a5daaL,0x3b14fd0de62943adL },
  35223. { 0xbaafb635ed3ae4b5L,0x3060a090b2bcfaa2L,0x389d9e7f7aa8f217L,
  35224. 0xd7f987c6e9310a65L,0xec0927f993b69c0aL,0x9335e9102381a247L } },
  35225. /* 4 << 119 */
  35226. { { 0xc08550024b950889L,0xee99dbfe8ce24da0L,0xdda71d964318e860L,
  35227. 0x01d3d39604fe9b85L,0xda4bc065e25e7e20L,0xd3a50b87e076c81cL },
  35228. { 0x5b9f821931e5f494L,0x6a140527a6a1b821L,0xf52683e4d8dd159bL,
  35229. 0xca9c888720b18043L,0x73c040fa08a0d8f5L,0x92e482e8179525c4L } },
  35230. /* 5 << 119 */
  35231. { { 0x8b9f650f3e776590L,0x41ba807f47703a5dL,0x8cc1a550fe907078L,
  35232. 0xd70cb76c8f00b84bL,0xcaee21566f3e6780L,0xfd6a51f595c2d03eL },
  35233. { 0x2c897c5556ffa08fL,0x08589a6563d13d54L,0x6a1eed4287bbacf7L,
  35234. 0x66aed4f5ee709d78L,0x67c925bf1178ecabL,0x6870f4c8a29cf747L } },
  35235. /* 6 << 119 */
  35236. { { 0x37ed2be51cfb79acL,0x801946f3e7af84c3L,0xb061ad8ae77c2f00L,
  35237. 0xe87e1a9a44de16a8L,0xdf4f57c87ee490ffL,0x4e793b49005993edL },
  35238. { 0xe1036387bccb593fL,0xf174941195e09b80L,0x59cb20d15ab42f91L,
  35239. 0xa738a18dac0ff033L,0xda501a2e2ac1e7f4L,0x1b67eda084d8a6e0L } },
  35240. /* 7 << 119 */
  35241. { { 0xe3a67b2d5e12e708L,0x3a4772e2ce48f234L,0x78f9dbc334794271L,
  35242. 0x9880053a3e6a61e7L,0x031c30b87c0f6e59L,0x8113df6cf7b972f8L },
  35243. { 0x3625bdce18ee148cL,0x72c2b8efdb885158L,0x4c73c80c9a7f0df3L,
  35244. 0xbc2dd8a507b92470L,0x5a33e4dfdb005677L,0xc699cf5ea5ca9dd3L } },
  35245. /* 8 << 119 */
  35246. { { 0x3a828904a4d2313eL,0xbf4946b192e66888L,0xc574898ae5fa19d2L,
  35247. 0x0b13dbb65e1c5fa4L,0xf11343ba7c390fc2L,0x35b1418fd7d32187L },
  35248. { 0xc92cb1bb83e7fe7bL,0x0b969455d78365c4L,0xda69dfe5672f2af7L,
  35249. 0x9c62d7b430932441L,0x165672ad94af02d6L,0xd2cc734dcde81c22L } },
  35250. /* 9 << 119 */
  35251. { { 0x6353420218d07dd6L,0xc7c0c8f128a3cb4eL,0xa41d4c55d7929131L,
  35252. 0xf1aaab3445d21f63L,0xd69a59545ec3e9feL,0x209732c1b8ddea2fL },
  35253. { 0x368b9c59e1936916L,0xb011c662ab1f8585L,0xcce30a25474e57b4L,
  35254. 0xb79c76df7049c61dL,0x984739950ccf165bL,0x7c6f4ab40ce897baL } },
  35255. /* 10 << 119 */
  35256. { { 0x1d27efce1080e90bL,0xa28152463fd01dc6L,0x99a3fb83caa26d18L,
  35257. 0xd27e6133b82babbeL,0x61030dfdd783dd60L,0x295a291373c78cb8L },
  35258. { 0x8707a2cf68be6a92L,0xc9c2fb98eeb3474aL,0x7c3fd412a2b176b8L,
  35259. 0xd5b52e2fc7202101L,0x24a63030f0a6d536L,0x05842de304648ec0L } },
  35260. /* 11 << 119 */
  35261. { { 0x907d88035a8432bdL,0x89232a5a2638fe30L,0xa120eecbe2089014L,
  35262. 0x3a5208cb5a2c9e97L,0xe163d29a3449eb4eL,0x3df984530eaba88fL },
  35263. { 0x55d3b9afa1547443L,0x316aae18f2a60ceeL,0x64d0fd30d6e11a5aL,
  35264. 0x65de345808ef6002L,0xcede56fab4a3d1deL,0xa5bfa8d9a4bc1588L } },
  35265. /* 12 << 119 */
  35266. { { 0xd45e350133f4d416L,0xbb40233a4bf9131eL,0x1532a088e302483aL,
  35267. 0x3475e8b82c2485c0L,0x08f9ea56969cdbe6L,0x31928645253cd738L },
  35268. { 0x1cf323a4ac9836beL,0xdf647ccf02b6e4deL,0x9a31e84fc06f3d09L,
  35269. 0xd326b86e39efe6d9L,0x77e3e1df14ac4decL,0xf2d5917af3e0c582L } },
  35270. /* 13 << 119 */
  35271. { { 0xf88238f1376216b2L,0x8c7522db7d15f653L,0x50aa7a74a21f74d8L,
  35272. 0xf7a964c8bc9e1a0cL,0x33ea64251387ca6bL,0xda84fe74e7be16a6L },
  35273. { 0xdf0462d727867aaaL,0xeb7f0ab8ae6be1b3L,0x21abe5a5d9bdec8bL,
  35274. 0xdbb99199ac4bed1bL,0xf65c19d935d13c0dL,0xf966e22e4df74056L } },
  35275. /* 14 << 119 */
  35276. { { 0x67477cdc30577ac9L,0x51dd9775244f92a8L,0x31fd60b9917eec66L,
  35277. 0xacd95bd4d66c5c1dL,0x2e0551f3bf9508baL,0x121168e1688cb243L },
  35278. { 0x8c0397404540d230L,0xc4ed3cf6009ecdf9L,0x191825e144db62afL,
  35279. 0x3ee8acabc4a030daL,0x8ab154a894081504L,0x1fe09e4b486c9cd0L } },
  35280. /* 15 << 119 */
  35281. { { 0x7b4e65ebae4219adL,0x2e424c441184a0d3L,0x10eeb898d32e179bL,
  35282. 0xadf05e2d8afa9a6dL,0xecd6c18bbeccd5f1L,0xe592115c39ac53e8L },
  35283. { 0x9ccf231ac8c7b9b6L,0x1848b4fe678774bcL,0x2050856386782b91L,
  35284. 0xb7caf7cc74dc6018L,0xe80805485cf9273aL,0x9609897b246b4851L } },
  35285. /* 16 << 119 */
  35286. { { 0xe92b56c002cf37fdL,0xa75bbcb0f71b34deL,0x7754d0ef50f5c482L,
  35287. 0x850a9ef611fa89feL,0x97d74b1bba4ea7d8L,0xfc757c25aab7ba2eL },
  35288. { 0x06f30ab0f2a67fddL,0xb10aba1412e72af8L,0x47580bca7a2e053dL,
  35289. 0x85795598dcf0e14cL,0xc3596781d6f55310L,0x8ab251b74c9b7e18L } },
  35290. /* 17 << 119 */
  35291. { { 0xdc56cff85279e5cfL,0xa33a6765fdbdf1adL,0xc122c0eee5077a4bL,
  35292. 0x44c3b190a98ab643L,0x334a6868b991d197L,0x598bbf185d6a0488L },
  35293. { 0xd028bfdc5a0e6f96L,0xfd1a37f5e11c57b6L,0xe1240a3003f82183L,
  35294. 0x6afae98c390d8536L,0x554a42dcc244b181L,0xa3d422d75f4cb4b6L } },
  35295. /* 18 << 119 */
  35296. { { 0x512f82f9d113450bL,0x5878c9012dbc9197L,0xdb87412be13f355bL,
  35297. 0x0a0a4a9b935b8a5eL,0x818587bdf25a5351L,0xe807931031e3d9c7L },
  35298. { 0x8b1d47c7611bc1b1L,0x51722b5872a823f2L,0x6f97ee8a53b36b3eL,
  35299. 0x6e085aac946dd453L,0x2ec5057de65e6533L,0xf82d9d714bb18801L } },
  35300. /* 19 << 119 */
  35301. { { 0xf113abe17d48bfe7L,0x51d77fa5213facecL,0x27bb373f21269089L,
  35302. 0x31e9850e7b188989L,0xd20a15f41d50a1c6L,0xb4887ed9d9746367L },
  35303. { 0x8920a7e2325f19c5L,0x691352358ad74492L,0x713d1471d19a76a2L,
  35304. 0x952cb9e5873ab310L,0x5b359d1ffa8eb8cfL,0x55aab5ad8b9c9e7cL } },
  35305. /* 20 << 119 */
  35306. { { 0x4ab138504dbb8798L,0x0e7980d772d04cd2L,0x1755c5660b3271c6L,
  35307. 0x8414efb09d9d1468L,0x61a586301795ce66L,0xb6a8b393232924a1L },
  35308. { 0xa992f0ceae031bd6L,0x6747fb5f2915acc1L,0x03daa26693e9c0d2L,
  35309. 0xc18fa3645400d554L,0xaf04ff8d9497e895L,0x86c3cfc250b6b339L } },
  35310. /* 21 << 119 */
  35311. { { 0xdf26f6605b26122cL,0xeb6c188c4d6b80ccL,0xae2efe59ccec172bL,
  35312. 0x5cdcd958f3f7d693L,0xa2ac2594c5f993f0L,0xb96ad8cf3f7cb591L },
  35313. { 0x7e2f88f8446abbabL,0x3d1a5eb6f6051f2bL,0x7d882e82ad6f49daL,
  35314. 0xe32918e3c4e7bbffL,0x442a32789be81150L,0xa1d34da1bd14557eL } },
  35315. /* 22 << 119 */
  35316. { { 0xad81fa938ba5aa8eL,0x723e628e8f7aa69eL,0x0ba7c2deef35937cL,
  35317. 0x83a43ec56decfb40L,0xf520f849e60c4f2dL,0x8260e8ae457e3b5eL },
  35318. { 0x7ce874f0bf1d9ed7L,0x5fde35537f1a5466L,0x5a63777c0c162dbbL,
  35319. 0x0fd04f8cdad87289L,0xca2d9e0e640761d5L,0x4615cff838501adbL } },
  35320. /* 23 << 119 */
  35321. { { 0x60c7e16cdf66a95cL,0x25b1078d5d0bd644L,0x77f8d872bd933e31L,
  35322. 0x5c4c382de2e1536cL,0x5b3b37c09295ee0dL,0xf94698d4ecce42b6L },
  35323. { 0x947ef80c4db8f2c7L,0x34661f7dc70dd82fL,0x17b288a7f2311006L,
  35324. 0x1f1171a66815e1caL,0x0f71f66ce80d6235L,0x858c665a87fa5a59L } },
  35325. /* 24 << 119 */
  35326. { { 0x376b2a7f04e1e6e3L,0xea0dcb70a31774b4L,0xfc7fe4cc5cbdec2eL,
  35327. 0x8568499df03f459eL,0xe9fd8fb28b78900eL,0xd33c6e30e431bf97L },
  35328. { 0xd904b8f5c896e766L,0xa8f577cf82748cefL,0x93dd921b87e044b3L,
  35329. 0x23d79837f76eebe9L,0x5e0a7493e569feebL,0xd0797549414dddb6L } },
  35330. /* 25 << 119 */
  35331. { { 0x9bf04f567781556aL,0x30be1e8953ebf7c6L,0x6f4899cf713fe432L,
  35332. 0x4f641fb7c9ef741fL,0x03560819002cc010L,0xfa51f8f7b4bbd339L },
  35333. { 0xe09c5ef77f1dea5cL,0x39cb20d97255fec5L,0x407746862ea38859L,
  35334. 0x68ca598ecd7a29f3L,0xb8025dd67a9db4d9L,0x4feaeeaed9dfe491L } },
  35335. /* 26 << 119 */
  35336. { { 0x9422789b110b4a25L,0x5c26779f70ad8cc1L,0x4ee6a748ec4f1e14L,
  35337. 0xfb584a0d5c7ab5e0L,0xed1dcb0bfb21ee66L,0xdbed1f0011c6863cL },
  35338. { 0xd2969269b1b1d187L,0xf7d0c3f2afe964e6L,0xe05ee93f12bb865eL,
  35339. 0x1afb7beeed79118eL,0x220af1380f0fe453L,0x1463aa1a52782ab9L } },
  35340. /* 27 << 119 */
  35341. { { 0x8cf42aa26b99ca6aL,0x696850242f091dbaL,0x9d887e6ad7d3270aL,
  35342. 0x627754fd5c9b735eL,0x3b8735a811d95df6L,0x74debd8b52443251L },
  35343. { 0x1f8dd5b66181583eL,0xbd0ca92c8b570a9cL,0xc373a61a71ae3274L,
  35344. 0xf4b2c88d1c4c16cdL,0xd3e6ec3baf33efabL,0x8c54d2721bf6f0d0L } },
  35345. /* 28 << 119 */
  35346. { { 0xfd9e3542bfe5b1a7L,0xb42d2a4175938ceaL,0x74688a153befb760L,
  35347. 0x8daeeaa22e33dbe7L,0xc9c1ea083e677801L,0x68ecf4e434effe1eL },
  35348. { 0x927700ccd294c321L,0x9e2e723de940afc5L,0xbcfac07a7cf6cd43L,
  35349. 0xa009ef94d1006bc3L,0xa02016b0373d13e3L,0x4e097adbabae5822L } },
  35350. /* 29 << 119 */
  35351. { { 0x7535175d48752720L,0xf51086ee850bdf07L,0xce322c33cb4c3f4dL,
  35352. 0xd863f7edb28965fbL,0xfe46a4e9885e4afaL,0x58b5c871136d7ddaL },
  35353. { 0x126eddaf6ed07824L,0x084ce962844fcbb8L,0x9ac0787157dfb4c5L,
  35354. 0x97451fcc4d6b5910L,0x9f14b1ce0843c9c6L,0xf737f6c0a0e18596L } },
  35355. /* 30 << 119 */
  35356. { { 0x7c139d56d7dbe5f9L,0xfc16e6110b83685bL,0xfa723c029018463cL,
  35357. 0xc472458c840bf5d7L,0x4d8093590af07591L,0x418d88303308dfd9L },
  35358. { 0x9b381e040c365ae3L,0x3780bf33f8190fd1L,0x45397418dd03e854L,
  35359. 0xa95d030f4e51e491L,0x87c8c686e3286ceaL,0x01c773bf900b5f83L } },
  35360. /* 31 << 119 */
  35361. { { 0x0028dcae855a0b90L,0x74c1e36026f0d718L,0x34f80e3ca059f144L,
  35362. 0x85b5d8e3f2bfe1b4L,0xe124601f453de099L,0x8b164ad6221b3efdL },
  35363. { 0x636f45ebbe004ab0L,0xa23093e99f231a8aL,0x48e05e8e2287b992L,
  35364. 0xefec5e5b4477cb8bL,0x45a65afa8ba0231bL,0x92d38bd88b1af6baL } },
  35365. /* 32 << 119 */
  35366. { { 0x8db8b78cc898b8bcL,0x686896da502940cdL,0x67e50f022dde2e3cL,
  35367. 0x2e2461f38cbf406cL,0x32182781e1f7ff60L,0x26934b05e30e2688L },
  35368. { 0x95adc204fc4494f6L,0x4c7f30c5161b7499L,0xd5caf060b7341737L,
  35369. 0xed93187fd128d46cL,0x3f2819cb20fc1e04L,0x48c4086f2b7f70a1L } },
  35370. /* 33 << 119 */
  35371. { { 0x45693c00a92ca9faL,0x046b218d63bd525dL,0x40f1d6cc6b1d6a68L,
  35372. 0xfc5807c5c54dc1f0L,0x2875d4d98b5690f6L,0x7a753543d0f72a83L },
  35373. { 0x01f2c35ae28b5309L,0x38fb5f121bcef323L,0xd6ea6896256a9bffL,
  35374. 0x4380fb2c44d65badL,0xb587d641c3556fb6L,0x74c5ec1905167f32L } },
  35375. /* 34 << 119 */
  35376. { { 0xdabe347578673b02L,0x4f0f25cef6e7395eL,0x3117abb9d181ad45L,
  35377. 0x4b559f88aa13de0bL,0xfd8efe78ea7c9745L,0x080600475dd21682L },
  35378. { 0xc0f5de4bd4c86ffcL,0x4bb14b1ef21ab6a2L,0xacb53a6cf50c1d12L,
  35379. 0x46aac4505cc9162eL,0x049c51e02de240b6L,0xbb2dc016e383c3b0L } },
  35380. /* 35 << 119 */
  35381. { { 0xa1e3cb2255b7f121L,0xc9183b13dd01db7dL,0xfe26aa801469dae6L,
  35382. 0x7318df7fd9ecfe2bL,0xade0a24d56dd4acfL,0x6e521c2222d1ba14L },
  35383. { 0xa039800a40afa1deL,0x9c7da49d5c6af72aL,0xf7ae921cd3fcc7c6L,
  35384. 0x76af2407dcab63e2L,0xdc1618dbb6dd49ceL,0xebc65c4d362cc88bL } },
  35385. /* 36 << 119 */
  35386. { { 0xd847939132202bd3L,0x1dacde87d6631ac1L,0x99d2e71f905a94f4L,
  35387. 0xd3c21f5a7e67dd7fL,0x3605c28e3c43cf23L,0xb6cd5ac74d3b3070L },
  35388. { 0x8bf748ba246298d7L,0x9e939fbd0f053664L,0x3bb3e7b8cc303783L,
  35389. 0x359bd3e56189c417L,0x299d0ce1f609ae34L,0xd7221cc7b9ca801dL } },
  35390. /* 37 << 119 */
  35391. { { 0xb7c823506b73c5a6L,0x7fea0d95fefee640L,0x6d5dd775f68b6be6L,
  35392. 0x4a5576147cbfa333L,0x6cad79c2fcd9b17dL,0x49aec3d405c4dd35L },
  35393. { 0x3b1f3754c3792470L,0x351ef2ccbe00cffcL,0x44a248916a71f45eL,
  35394. 0x1e7a6013b8640d08L,0xf0f476154efcd556L,0xc82171444fe15dd3L } },
  35395. /* 38 << 119 */
  35396. { { 0xa3c56ad28e438c92L,0x7c43f98fb2ceaf1aL,0x397c44f7e2150778L,
  35397. 0x48d17ab771a24131L,0xcc5138631e2acda9L,0x2c76a55ef0c9bac9L },
  35398. { 0x4d74cdce7ea4bb7bL,0x834bd5bfb1b3c2baL,0x46e2911eccc310a4L,
  35399. 0xd3de84aa0fc1bf13L,0x27f2892f80a03ad3L,0x85b476203bd2f08bL } },
  35400. /* 39 << 119 */
  35401. { { 0x85f9b301218642acL,0xb3f3b36f8728ef66L,0x4a833bea2ebb8181L,
  35402. 0x7d3bca9d8541a662L,0xd3be6d0ac5a0ecffL,0xaf52a2a9528da950L },
  35403. { 0x4b431910131f72caL,0xe2708d36933d5550L,0x195340a469abf146L,
  35404. 0x84ca66e4e4e2e131L,0xd9402ca7e16c39bfL,0x5beedce343ca6041L } },
  35405. /* 40 << 119 */
  35406. { { 0x87c5915395523a22L,0x56686f525ac5146eL,0x9ec69ec718ccf766L,
  35407. 0x13f36d4ff6e21a4aL,0xa0841e94098691f4L,0xbd9d52d2bd91dd2eL },
  35408. { 0xa8765981b3fa43eaL,0xb0cd17cd600b9761L,0x02dd9d71b5abe842L,
  35409. 0x63df33a63689a53bL,0xab4b85bb9d9baad7L,0xce2d31c1eb74e549L } },
  35410. /* 41 << 119 */
  35411. { { 0x8d69a654f2472426L,0x91a4b6a3ff7aeff0L,0x51dd8e76fdcc7cb4L,
  35412. 0x5f7d42a273731cd7L,0xc127401aa99c9d9aL,0x8ede9330c92561d7L },
  35413. { 0x86057a56784c3cf2L,0x8afcf32cb5a7755eL,0xa0a5b561c71cd3d9L,
  35414. 0x0a5d805e36d3f5a4L,0x25a39acd7432a384L,0xd574a6b7b226e9ecL } },
  35415. /* 42 << 119 */
  35416. { { 0xab1cb818567af533L,0x273b4537bac2705aL,0x133066c422c84ab6L,
  35417. 0xc3590de64830bfc1L,0xea2978695e4742d0L,0xf6d8c6944f3164c0L },
  35418. { 0x09e85f3dc1249588L,0x6c2bb05d4ec64df7L,0xd267115e8b78000fL,
  35419. 0x07c5d7aec7e4a316L,0xcb1187ba4619e5bdL,0x57b1d4efa43f7eeeL } },
  35420. /* 43 << 119 */
  35421. { { 0x886e3f30b29f5916L,0xa419d2c6625f29a0L,0xb4f89fc49bf07dc4L,
  35422. 0x86c137a1a165ed88L,0x6fa241a9e5d6280dL,0x08be9b0cd11576f2L },
  35423. { 0x5735aeb7e376b03dL,0xf4639e6d182ce9b9L,0xb6948499cc688f57L,
  35424. 0xfde146636552009eL,0x3eeeae350a2e8553L,0x50447f1b659dfe2eL } },
  35425. /* 44 << 119 */
  35426. { { 0xefccd67ed15c33c0L,0x33393846146d5e96L,0x015e97da9ca7354eL,
  35427. 0x729b69bac143e795L,0xd4440ecfd4c5d0e2L,0x78c042bb697a80e7L },
  35428. { 0x9361ad1d08602f75L,0xaa354166af489794L,0xe60e5a274966d3cdL,
  35429. 0x8346995e2394f9f3L,0x2de33256590f6a15L,0xb14427bb43298ac1L } },
  35430. /* 45 << 119 */
  35431. { { 0x38fee83a74680d2cL,0xd8019e5c0e700c8dL,0xcfaf5614475da1b8L,
  35432. 0x11893fc58f0159e3L,0x4c101127553813c2L,0xd273055208f82a6aL },
  35433. { 0x8728834c74a3ce9aL,0x66b939a891906488L,0x42ac7c07b88d36bcL,
  35434. 0x663d7411d989bb72L,0x650e5d6eb284c066L,0x052b7f6710d8f124L } },
  35435. /* 46 << 119 */
  35436. { { 0x3618891fc8176a96L,0x62c4b084e5808b97L,0xde5585464dd95d6eL,
  35437. 0x27a8133e730b2ea4L,0xe07ceec36af318a0L,0x0acc1286ce24fd2cL },
  35438. { 0x8a48fe4add4d307cL,0x71a9ba9c18cde0daL,0x655e2b66d5d79747L,
  35439. 0x409fe856a79aedc7L,0xc5a9f244d287e5cfL,0xcce103844e82ec39L } },
  35440. /* 47 << 119 */
  35441. { { 0x2a8cb0a56ad833c5L,0xe8fab8b844962dd6L,0x31166fd63ee1dfefL,
  35442. 0x3aba85a1e1230449L,0xf9f8da66bd1f502eL,0xe4a72d82e3c17ccaL },
  35443. { 0xfa3d661d6070d587L,0x51d10b73c33ed08aL,0x3b0f515cb29f2d0bL,
  35444. 0xd82a11d7e1986e91L,0xcf24f81a2201f05bL,0xa94ec1e0d25f8417L } },
  35445. /* 48 << 119 */
  35446. { { 0xc7807daa081ed51dL,0xb7dfabf0e5d2d963L,0x3f78ae2e80d386d0L,
  35447. 0xd66275254bbfd04bL,0x238c8eb76d074f92L,0xfe51ec8a5bc5f9b5L },
  35448. { 0x6ba47430cc03177bL,0xe72efda6400b29e0L,0xb905701becbffe88L,
  35449. 0x5c61bdb47cf89933L,0xf1eb3084c914aa6aL,0xa3ead71e8245998bL } },
  35450. /* 49 << 119 */
  35451. { { 0xc58ee3013c7eb5a9L,0x02c177220a1172baL,0x8620118394c7c5b3L,
  35452. 0x66292bc4e1668debL,0xf51b48f4caf39937L,0x9cca60f43eaea578L },
  35453. { 0xf8e8004a5c2adccaL,0xce7ceeb1ebf49ac7L,0x36346357371d1c54L,
  35454. 0x8799e408d99ff07dL,0x3226181d8c3b2cbfL,0x3b4ff42ba437c2c6L } },
  35455. /* 50 << 119 */
  35456. { { 0x00675ba7f25d364cL,0x7a7f162968d36bdfL,0x35ec468aa9e23f29L,
  35457. 0xf797ac502d926e6cL,0x639ba4534b4f4376L,0xd71b430f51ff9519L },
  35458. { 0xb8c439ec2cf5635cL,0x0ce4c8d181980393L,0x4c5362a964123b15L,
  35459. 0x6e0421e0ffdcf096L,0x624a855f10d1f914L,0x7d8f3ab7614dcd29L } },
  35460. /* 51 << 119 */
  35461. { { 0x235ba8b565868390L,0x853c9346ea936e81L,0x967ff132700bb25aL,
  35462. 0xb26d9778561a136cL,0x8b775c4fe3f7e41dL,0xae8f6b2ebd390b2cL },
  35463. { 0x80959adc4fc7224dL,0xd9c913c12eaccf8cL,0xa9a278c79e96f769L,
  35464. 0xbc6be3038f26856dL,0xb039caf295d04cdeL,0x42ba0510a91bf5dcL } },
  35465. /* 52 << 119 */
  35466. { { 0x77870665cfbe0653L,0xab84c4b3523d814dL,0x72839d8897cd2bc0L,
  35467. 0xb966e521d25b1476L,0x4255d18451fd86a0L,0xadaf9b76dd54be7aL },
  35468. { 0xada6ff627f285e0bL,0xb76e26f46d42400bL,0x1d9fe676958bee25L,
  35469. 0xfcd7be9edb59965cL,0x897a90834bcf6e75L,0x64b26f02aabd21e8L } },
  35470. /* 53 << 119 */
  35471. { { 0xee46626beb1a8ce6L,0x2de20371b672fc49L,0xa0fb11b8bd2d9256L,
  35472. 0x5b49f70ac2a8dcd4L,0x98935fc9e5dc0ee3L,0xaddbae423bc00993L },
  35473. { 0xbd0bd9e19207f0e9L,0xe86c5365b393bcdcL,0x32184c832d0a9282L,
  35474. 0x8fe996d1df34532eL,0x3b33f151c6f45172L,0xd9def9a7b84545e4L } },
  35475. /* 54 << 119 */
  35476. { { 0xd9219adab3493ce0L,0x971b243a52f09ae5L,0xc16c9bf8e24e3674L,
  35477. 0x026d408dce68c7cdL,0xf9b33dd9358209e3L,0x02d0595df3b2a206L },
  35478. { 0xbf99427160d15640L,0x6da7a04e15b5466aL,0x03aa4ed81cadb50dL,
  35479. 0x1548f029129a4253L,0x41741f7eb842865aL,0x859fe0a4a3f88c98L } },
  35480. /* 55 << 119 */
  35481. { { 0x66bb66f5f56b17ccL,0xdce0bf2cba8958f8L,0xd814318f9ff85781L,
  35482. 0x41dce823edd1ad96L,0x71bb754bb59c6580L,0x9c5efb70de594c3bL },
  35483. { 0xf7b4ce5eb0053788L,0x9c26b0342770b6deL,0xe6967b1c8d131e8fL,
  35484. 0xfda0efdccf21bf28L,0x2366d47e09cbeeacL,0x62e9ee556629680eL } },
  35485. /* 56 << 119 */
  35486. { { 0xdaff980ff8e06359L,0xb4e0c9e2ead8a883L,0xe3e262023da6e94fL,
  35487. 0x37410ed03303c9d6L,0xc044d77b91fb5d82L,0x3559d9ac9ea34d26L },
  35488. { 0xf51a120be21beda5L,0xdd2eef8a3f7befa4L,0x46a26ccd8c79fca1L,
  35489. 0x3fb21a682a046572L,0x3624a47adad7c7c9L,0xb9b77ffd4b4174f5L } },
  35490. /* 57 << 119 */
  35491. { { 0xae19a097c9f8c462L,0x477be49917a9d8a9L,0x4a0c41c9d2154c45L,
  35492. 0x39313aba1b0d985bL,0x3a70f65cc051b643L,0x0725dabf2d0be160L },
  35493. { 0x29eefc94a69867d4L,0x6acc4cd49d02bce2L,0x0606ab725d4dca50L,
  35494. 0xcce81133bfecdcbaL,0x604df3def23b2239L,0xa644b430d20a7529L } },
  35495. /* 58 << 119 */
  35496. { { 0x80de085a05fd7553L,0x4a4ab91eb897566bL,0x33bcd4752f1c173fL,
  35497. 0x4e238896c100c013L,0x1c88500dd614b34bL,0x0401c5f6c3ba9e23L },
  35498. { 0x8e8003c4d0af0de5L,0x19b1dfb59d0dcbb9L,0x4a3640a9ebef7ab6L,
  35499. 0xedafd65b959b15f6L,0x8092ef7f7fb95821L,0xab8dd52ece2e45d1L } },
  35500. /* 59 << 119 */
  35501. { { 0x43f9a415259ac609L,0xcd6c7aaa0ff5722cL,0xb4689e75b29973caL,
  35502. 0x78a43571b690c0acL,0x90dc4ac0a6d3ba1fL,0x38af00a2b773932aL },
  35503. { 0xc13aebdda5e2c9edL,0xfab3a128cf3fed2dL,0xb3b7d29d32eb8ccfL,
  35504. 0x9ae1430b6986db5cL,0x35d18edf5365c21eL,0x88f8356e038471ccL } },
  35505. /* 60 << 119 */
  35506. { { 0x45587a7c0794dad2L,0x660833899e9c1cdcL,0x60e7ae4ad242a6b9L,
  35507. 0xb5f96b521009df3cL,0xc2d405092e30445aL,0xfa53ba4ec250a29eL },
  35508. { 0xf6a247855d98c6ceL,0xf873653c207dd110L,0x2aebc3c6c634cbd0L,
  35509. 0x84b8016ce5cdbafeL,0xbda81fcace00b206L,0x837dc69484b55f2cL } },
  35510. /* 61 << 119 */
  35511. { { 0x61bdc5cab308f1f0L,0x7763c97d8898d3c2L,0xc02324e60434de23L,
  35512. 0x7f5c565e4ba696e9L,0x06f27a3e66914b66L,0x64a975ee05052cf5L },
  35513. { 0x98b2f703bb38b14eL,0xbacbd113371e495cL,0xe54451acdd14cc9dL,
  35514. 0x8575cfdf87d141b3L,0xbd183a03d0996091L,0x947555579360264cL } },
  35515. /* 62 << 119 */
  35516. { { 0xd1f2d6b8b9cfe6bfL,0x6358810b00073f6fL,0x5fce5993d712106eL,
  35517. 0x5ee6b2711c024c91L,0xd0248ff5453db663L,0xd6d81cb2adb835e8L },
  35518. { 0x8696cfecfdfcb4c7L,0x696b7fcb53bc9045L,0xab4d3807dda56981L,
  35519. 0x2f9980521e4b943bL,0x8aa76adb166b7f18L,0x6393430152a2d7edL } },
  35520. /* 63 << 119 */
  35521. { { 0xc89db4eb4595ca55L,0x48921c735f1a73a2L,0xfc513c904afe7cbaL,
  35522. 0x6d3f988bff8322eeL,0x17d0d4f0e59b7cdcL,0x292f4757f4bb5588L },
  35523. { 0x3037e11151c14623L,0x3e113343dce98277L,0x0be229341e20dc8fL,
  35524. 0x0ebd1fbfcd6ff82aL,0x304bd69ed01fa90fL,0x402a457577f1862fL } },
  35525. /* 64 << 119 */
  35526. { { 0xd74d09c10ece13aeL,0x5e59d9e057a6bd95L,0xdb1ccfdce132b940L,
  35527. 0xa0e5309c843d3c66L,0x1fbd03a5f9cb3ef4L,0xcdc9ef0a00ea5177L },
  35528. { 0x1ebf5a15cb784a6bL,0xa67382af8a0d109aL,0x3256c37aa0d34d15L,
  35529. 0xee40efa50fca43afL,0xc299bbd4b9841bdeL,0x6df68f603bef4a0bL } },
  35530. /* 0 << 126 */
  35531. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  35532. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  35533. /* 1 << 126 */
  35534. { { 0xe01295fdd9d7c50aL,0xaf31b4ea67f8ef0dL,0x2ec9689f9eaf8eb7L,
  35535. 0x327b96c5c622acc5L,0xae918f81b2757f2aL,0x74927d684fd6606eL },
  35536. { 0x09bb7fce18574215L,0xfea383bce8e68b72L,0xdf2a6f125fb47511L,
  35537. 0xbe88faa18e399520L,0x0166d57e3fb1c3a2L,0x5907ef2fe525f81fL } },
  35538. /* 2 << 126 */
  35539. { { 0xdefe3a7b8a37f660L,0x7898db8c858f5765L,0x7366c26a73d1f9b4L,
  35540. 0x35d5d718237ae8b7L,0x3efb20feb4478259L,0xccd0fed7aa545ee3L },
  35541. { 0x750edd05ed22d152L,0x4f8020f9ee20d4c6L,0x16e60f370a9e29dcL,
  35542. 0x9cf0a136bfbec7f6L,0xb430a34b2e47e143L,0x2e2560bbc6cdd1a9L } },
  35543. /* 3 << 126 */
  35544. { { 0x799352dae4161a65L,0xe5cf7ad856253ce6L,0xf606bf796de32775L,
  35545. 0xddc0f3a357fce8dbL,0x1075fc2316cf4a47L,0x078f0e04b27c5ad8L },
  35546. { 0x9fc477953f7100aaL,0x3ac489254673ffa2L,0xb8263f42f9cd8348L,
  35547. 0x5bdfde3068cc92d5L,0x2250927b1ac37f9cL,0x26ec8328b33da359L } },
  35548. /* 4 << 126 */
  35549. { { 0xf186d6bcc88d568aL,0x872bc4c7528535ddL,0xc9e7432edfe64dc3L,
  35550. 0xd9fc4832d795ea57L,0xf4ffdb81c845af2bL,0x66d7e7882b670517L },
  35551. { 0xa7c1be04d7b7a1c6L,0xbed88479d5b2a249L,0x62ff8aba03f2ef6dL,
  35552. 0x60ecaac420dc701dL,0x9f4b559f4ff10119L,0x0582c9313cd54fd0L } },
  35553. /* 5 << 126 */
  35554. { { 0xea9da8f012bbaeb6L,0x3fba06b18c9f8360L,0xc11bd7abb28c0ac3L,
  35555. 0x1e05af2faa8a01bdL,0xae1e99c5f000b1c3L,0x93ee806453d79930L },
  35556. { 0x5728089e4c4f5513L,0x755351f3b1f70b76L,0x187ac651675f77efL,
  35557. 0x5cf7bfb553067d84L,0x629290838174b5c0L,0x720e20798d5be74dL } },
  35558. /* 6 << 126 */
  35559. { { 0xab8cc09ff5eb9ad1L,0x97a4de76132edbfeL,0xa2e11c548baf6347L,
  35560. 0xcee54229683cfcf6L,0xe1e993b8dcfc6555L,0x333bf16abe9df066L },
  35561. { 0x5207e093060d62dfL,0xfa32324d69b0f5faL,0xef16fbcfd3243d2dL,
  35562. 0x540a2e59f04f8e45L,0xb5e70f9c48317bbaL,0x00dbe9b25b35baa1L } },
  35563. /* 7 << 126 */
  35564. { { 0x0eaed675ebb512eeL,0x347e0756058efbd5L,0xadf792ca296d3d47L,
  35565. 0x57f00c0a4654d012L,0xa1e08a04bccc5803L,0x610677f05b2f11d1L },
  35566. { 0x0d9393d7b81acfd2L,0xb258e1570587c219L,0x372a1857b4ceba47L,
  35567. 0xe1ce8bb53ecc1c5dL,0x7efdf301922cecd0L,0xcab8cb170d8aa653L } },
  35568. /* 8 << 126 */
  35569. { { 0x31954a5679d05497L,0xc12520b6fe76d4d8L,0x8c433ec5e37ef1d2L,
  35570. 0xcd0f203575bc3b66L,0x3723f145249cd98bL,0x1356e0d2ea3b42a3L },
  35571. { 0xf607fee0f174c7b5L,0x318afc5e0127be39L,0xd47b5d74cea5417fL,
  35572. 0x6891940a10fca22bL,0x5cea41332b635e8bL,0x93db2ed6b5934fefL } },
  35573. /* 9 << 126 */
  35574. { { 0xf87cfaaac8972b7dL,0x2b8f9874e090800fL,0xdb88cd4f52efde36L,
  35575. 0x7b977f6e80776de8L,0xd047fc8ffb4b19c4L,0x33f3e43578b8135fL },
  35576. { 0xb4cdb352da33eff8L,0x217f9e2deb89d325L,0x1bb5a004c99feec5L,
  35577. 0x98ce5a7fdb45c845L,0x458904681d87e964L,0xb9253873d151ad80L } },
  35578. /* 10 << 126 */
  35579. { { 0x5d7c767de39edca9L,0xe4a700e7a7f8de0cL,0x5816e1f93c9eec33L,
  35580. 0xa975c933d32fe465L,0x979beff968466a5eL,0xe308c135cc067721L },
  35581. { 0xe0e733b41839b88dL,0xda3e3e6c298dc2ebL,0x414c3f0e8fb70e3eL,
  35582. 0x5ebaefa7ed7ca91cL,0x5c283310ae3b0f3eL,0x20353d5df3b1d44eL } },
  35583. /* 11 << 126 */
  35584. { { 0xd50767a9790325feL,0xe2ceddb9358c50eeL,0x60be64bdbbf03ae5L,
  35585. 0xe70c7e90f053328fL,0x6ba6af9e51543f0aL,0x470941f3b413e069L },
  35586. { 0x0b569fd4ddf63d13L,0xf94b22634a2125d6L,0xaa45ab62a5c1acedL,
  35587. 0x2b797175defa5a30L,0x3eb30067ead1d440L,0xcadb54e90b691af2L } },
  35588. /* 12 << 126 */
  35589. { { 0x365a4a431630b133L,0x9ecef631068d7863L,0xa330c8b4b7205a6fL,
  35590. 0x4858eab357df815cL,0x6e522afaf1a92674L,0xa7cff3d9f41365d7L },
  35591. { 0x00dd34615a0e4626L,0xa695feff48f9d094L,0xf427103f7c082301L,
  35592. 0x14a2a1876b092b71L,0x210f632130037a33L,0x21cca09639340e14L } },
  35593. /* 13 << 126 */
  35594. { { 0x58355ba0f60ad6c1L,0xc63fbcff56022afaL,0xa6a770d54e7ef19fL,
  35595. 0xf42b2024a09e9378L,0x153aa3200330f774L,0x268aaee55dc02c97L },
  35596. { 0xa7e13b42828f7ab7L,0xc0ccce09c303bfcaL,0x23169daae3ccb6ddL,
  35597. 0xf7f763fd786774e9L,0xb15a5ef150021488L,0x52f408fd5f3ea885L } },
  35598. /* 14 << 126 */
  35599. { { 0x53e84021177346c2L,0x4ee451dde20af475L,0xd7642453c14f393eL,
  35600. 0x7eaa215331662516L,0x1217a1b4c1d486c9L,0x7d32427569860f20L },
  35601. { 0x3813c95f14c2837eL,0xb8f0713d4e0c056aL,0x398c218cf6dec37bL,
  35602. 0x5bfa2eefa4ad1eedL,0x53cb0fd29f97a05dL,0x59fa132f6a9f492bL } },
  35603. /* 15 << 126 */
  35604. { { 0x6d5dff381fc2c16aL,0x5dec7ae2b1fe149eL,0xa9eed62c85088ceaL,
  35605. 0x5878fdf7996174baL,0x2cf65bb935517a73L,0x80844bcacff96d13L },
  35606. { 0x0f55c8bfed53f49dL,0x35815fb0fbd8cec6L,0x23e7d5c53b6fa7d9L,
  35607. 0x3ee04c0146ce1733L,0x180e25553f5c4a27L,0x61263ea7280e6363L } },
  35608. /* 16 << 126 */
  35609. { { 0xb1f4fead41b959b5L,0x6edb53a9e71890c0L,0x48b47efe2e28aa2aL,
  35610. 0x70dad2e9b3151d67L,0x87a8178b436a3460L,0x0f86f9f5801f7af7L },
  35611. { 0xfab462e3a982fc14L,0xe29126bacb03e978L,0xb4696b3fe6681282L,
  35612. 0x3bd9910a6a3fdc1dL,0x4409128449e37dacL,0x3b4bfabccf605fb3L } },
  35613. /* 17 << 126 */
  35614. { { 0x605fae7ece9d1372L,0xb2623a79f9b7e06eL,0xfab9b2742d37357eL,
  35615. 0xffdf9246461417f3L,0xc04b15d7bdd0e922L,0x767bcee54b2dbc0eL },
  35616. { 0x74c4ea4ed45efc88L,0x32d3d85491a534a8L,0x88967078554b2691L,
  35617. 0xe8256015e336a410L,0x166469624b9f978bL,0xb433f06ca104f01fL } },
  35618. /* 18 << 126 */
  35619. { { 0x8906d815457e1e82L,0x96abb1aa4c8a2c68L,0x2e63f37927ab2fb1L,
  35620. 0xe092e15f5446dfaaL,0xa3a3f0926615c65cL,0x8b31116747c3f259L },
  35621. { 0xfe2038782e5c658cL,0x38903cf526215773L,0x0039fca7237f1bd4L,
  35622. 0x75dbcc016058ff17L,0x67ee6226a65aeb9eL,0x96999fa75cedcba5L } },
  35623. /* 19 << 126 */
  35624. { { 0x04c6fd475ac4d191L,0x0067e474c825a897L,0x4a37c931404810c5L,
  35625. 0x072d30e5c4a56380L,0xbaf3428dc897ba23L,0x9899935b53724382L },
  35626. { 0xda5cc13ff4d41a62L,0x063047a0c6271baaL,0x49790bdc5cf48302L,
  35627. 0xd8c34e5384c5a9abL,0x6cf28e83db5bc36aL,0x430dbb1497da9d42L } },
  35628. /* 20 << 126 */
  35629. { { 0x59470e49c37acc2eL,0xc9e0f73611b85596L,0x47613c1e0fb30eccL,
  35630. 0x1fbeffa3b62892f1L,0xddfeef49f8eefa16L,0x6f82acd9daeff719L },
  35631. { 0xff1872cdacb41007L,0x06fe556c82d64c6dL,0x52a63a387695218aL,
  35632. 0xa0d413a720802b88L,0x233f1f3118f4a473L,0x22ef7d6fc9d7da4aL } },
  35633. /* 21 << 126 */
  35634. { { 0xeba1db6910dad9abL,0xddb62dacde3a5a42L,0x209c472cfdf5ad86L,
  35635. 0x14a7ee4b37214540L,0xcaf70ce08339c9dfL,0xa95744554eb9189bL },
  35636. { 0x90d7f241e9b39189L,0xf5edfd09af7f3eddL,0xc9a3444deb7ed52aL,
  35637. 0x30d9e2f80085d9d1L,0xeb412daa4dc24fefL,0x55c0000b27786649L } },
  35638. /* 22 << 126 */
  35639. { { 0xa9f34fa9518118e5L,0x430db0a51a22e790L,0x64b443a5d5a16ca1L,
  35640. 0xaa3b64f4d8adbe45L,0xb49435fae0f0873aL,0xb8d67ce4a635d1e3L },
  35641. { 0xad843f8a8a612b29L,0xa416ec7fd84a210aL,0x8b4dc6930984b23fL,
  35642. 0x29a1b71b24640dcfL,0x8f2d7507911892adL,0x0ce384105bd4d518L } },
  35643. /* 23 << 126 */
  35644. { { 0x1e1bef926c42e1bcL,0x91259dd60e04d449L,0xc029961e8875d346L,
  35645. 0xfde51012a9e38f43L,0xdeaa1dc18892643aL,0x67e3b913217e08d8L },
  35646. { 0x889a28c269b92b7eL,0x004c0f87b7446c21L,0xea812f67a2f98e77L,
  35647. 0x42fc7bbe22c40b8cL,0x5e7f5f5a8722e381L,0xf8f209d932099e41L } },
  35648. /* 24 << 126 */
  35649. { { 0x867379134a2965f5L,0x34724dcde67b3546L,0x2efe185ee92c712dL,
  35650. 0x8b908f86c201e327L,0x3ab5528894f6b078L,0xb9b2b784ce0a5bf3L },
  35651. { 0x5eab37ac879f6a41L,0x74271f672f2360f3L,0xf3a3edff304f1cf9L,
  35652. 0x8992ecd8f6fd3e90L,0xff24d7c69f16e5edL,0x0844ab25def9a5c4L } },
  35653. /* 25 << 126 */
  35654. { { 0x35cbf2191e14f235L,0x9ef33f3c4cdc1b46L,0xfd5cedd0299f7f13L,
  35655. 0xf57b9bbf99379e17L,0xae25d3e3cd3d59a8L,0x72f9fc84f58cb31eL },
  35656. { 0x87950fd84c94b63bL,0x15b52b4f7a4560a8L,0x382d36ec943e44baL,
  35657. 0x567ce2e9337b0f11L,0x8136e9ce2fa44901L,0x7e43a7289b15eeaeL } },
  35658. /* 26 << 126 */
  35659. { { 0xd1c8ed8814fb95f4L,0xc302e0aa29602659L,0x67abcce005cd67baL,
  35660. 0x7a234cc022f8ae25L,0x7074face39f44e4fL,0x84a08afc7a9d3fb2L },
  35661. { 0xfd149c88f56c1f32L,0x5b12cc15219e494aL,0x242fc50c9ea3c0e3L,
  35662. 0x196cdba555b23034L,0xfd8cfa5e87b75206L,0x915e706488d55f47L } },
  35663. /* 27 << 126 */
  35664. { { 0xb59480ba876145beL,0xd8f8fbbe8e1075ddL,0x0ba10292b5d9baf0L,
  35665. 0x3a4b7f65e39a8754L,0x1b3a044c0f3c6520L,0x6b8b3397b1dff4f8L },
  35666. { 0x40cef2285c182eb3L,0xbef82aec1b1cb92fL,0x5c4d2bfc2a97c5dfL,
  35667. 0x41d2a046536ad077L,0x94ef34a8c497505dL,0x14e9aef48e0b35ffL } },
  35668. /* 28 << 126 */
  35669. { { 0x2edaaaaaacaf1f3fL,0x9e3af72c80ebcc10L,0x3542fc42bcb1618fL,
  35670. 0x6c04ec246709d851L,0x5fe9768ea9af4ce0L,0xe739d50eeb6ebe2eL },
  35671. { 0x7b7da4ac876586e0L,0xb0869f1d64f5f956L,0x7f691c51fd563c80L,
  35672. 0xea990d6926c775e1L,0x2cd96f1321b58889L,0xbc8074720f1aac2cL } },
  35673. /* 29 << 126 */
  35674. { { 0x8e1fa5f8eb3283cdL,0x0107a3ba20e69342L,0xf99a511cb045b8dfL,
  35675. 0x172d0c8933b51876L,0xb11efc2b9636d0f9L,0x16b2197c41570483L },
  35676. { 0x49df27edacfdfd1aL,0xd9d2cedc366b9b28L,0x0289a75cab028c0fL,
  35677. 0x522f567a4879464fL,0x3313728225f64030L,0xfa28cb1558d6753fL } },
  35678. /* 30 << 126 */
  35679. { { 0xe5252210c6cd33f0L,0x6ba7f51f3f085202L,0xd2a87fb38f52e312L,
  35680. 0xa5e082cff25f35efL,0x786a93c2b9df2f20L,0x68c7e1299a19bf27L },
  35681. { 0x13a971ab8d710915L,0x3ca4f8c6939443c6L,0x8554699c70522446L,
  35682. 0xdf42b7768e14e6bcL,0xc7969fa5f7f3dadeL,0x135b6b77350ded88L } },
  35683. /* 31 << 126 */
  35684. { { 0x39e54aa472546076L,0xc0003f7f13e312beL,0x71106a4ffea91274L,
  35685. 0x3868f957819851cfL,0x713b96e75c85bbc6L,0xfda8c2df610403a8L },
  35686. { 0x0ea806c3a008cf78L,0x0ef9708353c0d1bdL,0x536950211e592838L,
  35687. 0xea3773d5e9023982L,0x6eee3c0d4195754cL,0x95df7b568c4bead3L } },
  35688. /* 32 << 126 */
  35689. { { 0x57edf71edf9a9f18L,0xbf834240627a0b79L,0xb37aba1aa6934160L,
  35690. 0xd45b3d2c5e639a54L,0x62c6b9ad70bce957L,0x16bc35a75d7e87f3L },
  35691. { 0xb021698266b4a982L,0xb56050dd0e51c9bcL,0x15aa692b478e4b91L,
  35692. 0xdd67cf29be3fe25aL,0xf1ef75b006bdd4a8L,0xf71a285b41df627aL } },
  35693. /* 33 << 126 */
  35694. { { 0xba6be58993032120L,0xea6dd691db99740eL,0xad8679463154648dL,
  35695. 0xd1a36f4c28c0668cL,0x09a28c234dd76e88L,0x93fef0c7dc665bb7L },
  35696. { 0xa78dfeb4860a0016L,0x06d2f868e21a9e02L,0x333a25a38486ade7L,
  35697. 0x12aa13130e398a80L,0x04a44a5848d5b3e3L,0xe59293d47a7ec12eL } },
  35698. /* 34 << 126 */
  35699. { { 0x6cdfb5faea2c1632L,0x6799cfcd7865f931L,0x4e1e5d25bf420a7cL,
  35700. 0x7d4597db05d22ddaL,0x7548db12fceda1e1L,0xb4523ccdcb473578L },
  35701. { 0x3d8dbad0ff889f03L,0xc591bb1118a9a222L,0xfac2b914a2cfcc57L,
  35702. 0xbb67601abec9d9bfL,0x18dff42ceb55218dL,0xb36ef9ba7d2b6320L } },
  35703. /* 35 << 126 */
  35704. { { 0x5b007ad1f3edf67dL,0xfaee9cada25fcfafL,0x18fc784a4d62e5c2L,
  35705. 0x98deda878acb5f8eL,0xe9cfd10a6f888d8fL,0xbb0d729b053db2efL },
  35706. { 0x7b09fa4f2aecece4L,0x3f72187cd4c44cc3L,0xf646aba05b8175a5L,
  35707. 0xf213caeba5686ca7L,0xf5ce777badc5d40dL,0x15ff85d660eb9357L } },
  35708. /* 36 << 126 */
  35709. { { 0xcdd18aee24e6df19L,0xa08ab968bbb3303eL,0xd5eb039cbab4f1a3L,
  35710. 0x040d03a8fa7a48d1L,0x767c0ed23d66628bL,0x0c6bd388b1a6809aL },
  35711. { 0x793aff3f029eeb91L,0x6db32d13bca798a8L,0x6aef5c1cc3816cf7L,
  35712. 0xcfb25ea45fd2cd2aL,0x0715a7899f8e3312L,0x4a9ad4782a6b1a6bL } },
  35713. /* 37 << 126 */
  35714. { { 0xa9f360a5d134c919L,0x10dba223dcfd0715L,0x7444b191dc9b4394L,
  35715. 0x9a16a971e2f288e0L,0x0d05c511f6a49999L,0xca34eae26b65e956L },
  35716. { 0x692febc418a83b76L,0xf3468c7b0b5f3511L,0xd8d3ce48b8e1ed80L,
  35717. 0xbe8c5c302a6de231L,0x9c0468b74e680d8bL,0x773ebb63f57b88d3L } },
  35718. /* 38 << 126 */
  35719. { { 0x9c2c33a5b726729dL,0xa86ab4ea5db2af56L,0xe987c5e3b0a36ffeL,
  35720. 0xa6dba84da5fe8bdaL,0xe1fefa4b8ff617a5L,0x561cdb88a91ad714L },
  35721. { 0xeb58f7fce145ddc0L,0x7b0e560a29c5ad50L,0xf8d6626593da0e76L,
  35722. 0x7769b479db39fb92L,0x9149f1e3a3c49033L,0xb706057f3ac49c35L } },
  35723. /* 39 << 126 */
  35724. { { 0xa678ba3fa527d157L,0x922aab268856a8b2L,0x936d3e85690b4771L,
  35725. 0xed78dccee114e472L,0x9694ccb1d315fbc1L,0x8b1cf4482822d968L },
  35726. { 0x336e670c4aca5441L,0xece24fb58f0e2824L,0x28d1578d05b758adL,
  35727. 0x0a1be96a40c3f019L,0xed1586e30b659cd6L,0xdef180009f860dd6L } },
  35728. /* 40 << 126 */
  35729. { { 0xc2885af90fe0f372L,0x2c756bef5fa6b808L,0x52b7f7b6068926bfL,
  35730. 0xc9399c1ddb143b68L,0x0e77c689e4c61211L,0x7d01e37f15ad7fa0L },
  35731. { 0x712fc61f188b2a01L,0x103685ec55a4100eL,0x721f9c02e5fdce96L,
  35732. 0x61c8a0c5e784397bL,0x34d478351c686ed2L,0xc697c89cd155bbe9L } },
  35733. /* 41 << 126 */
  35734. { { 0xc26dbc34f06a2cffL,0x4f10297631a80712L,0x758e33eda7c54effL,
  35735. 0x44b5e4ff3682d103L,0xef05034722a05e6cL,0x9170365c48ff372fL },
  35736. { 0xee49b61d66a15a71L,0xb5fd487995c2045dL,0x5940487160ad67caL,
  35737. 0xdcd2d5f586388c40L,0x0b41a8e54cbd1f71L,0x8152c17040236ae0L } },
  35738. /* 42 << 126 */
  35739. { { 0xf05b99d0995e9809L,0x036248a70295fceaL,0x7b70cf8f558e6ec4L,
  35740. 0xe882639c7c48ce34L,0x4cc86feaf4f47d38L,0x976799cf6d81aef1L },
  35741. { 0xdb202bfe8043cb43L,0x4c761cc5cef4f017L,0xe124bbc161f0c89eL,
  35742. 0x77d1cbf55b5a3d20L,0x26e549fcff346940L,0xc6040a4c2325466bL } },
  35743. /* 43 << 126 */
  35744. { { 0x1ed4d238e940e32aL,0x29d99c20139efcd6L,0x4cb7ef50c172b412L,
  35745. 0x8a9c438931957225L,0x5d8872af60be4612L,0x7bffbb1be7e79e0eL },
  35746. { 0x75bd89c1fc7d4e66L,0x723f9ae86bcc0379L,0x88f673b599c1b827L,
  35747. 0x8d45d139ecf5148fL,0xf12e605ff97ad1e0L,0x567dec052f09c370L } },
  35748. /* 44 << 126 */
  35749. { { 0xfb33b987b0be5055L,0x9864f903bcce94dbL,0x99b8da36aea9d09bL,
  35750. 0x19e326113b622d3dL,0x6abde501dc38f903L,0xb1fe3f1867cb2161L },
  35751. { 0xb053ec831e08cd7cL,0xba503b563298d32fL,0x220e98c8c2a79e86L,
  35752. 0x66ac99511e1cba68L,0xf9520e1e644ab527L,0x3f222b9b4eb8abf3L } },
  35753. /* 45 << 126 */
  35754. { { 0xae0cf2ff705cfc45L,0xf9d5dfb65a0449b1L,0xd0300b2cd4697fe0L,
  35755. 0x4ac80d7e4dc665b0L,0x84fbd38d72c1677cL,0xea8306f08e683a0cL },
  35756. { 0xe2381e65a469e337L,0x36b565d0b3ec173fL,0xc67689c700f3007aL,
  35757. 0x9f0108992abcc81fL,0x867a5f8dbb9bf584L,0xef789cdd5a436b38L } },
  35758. /* 46 << 126 */
  35759. { { 0xf8cdc9ecee11fa1bL,0xa78c73ed4c90edb9L,0xf6703453bbbddb82L,
  35760. 0xd268b4e23020e294L,0x214cdd54958eb8cdL,0x2acbd31d4d7214e5L },
  35761. { 0xf7c60c89cc733351L,0xb8c5cc642fa201fdL,0xaae1ca7f4c2acb10L,
  35762. 0xf7e33be56d7f598fL,0x982c012fd920c3c8L,0xaa98a69b86751ef1L } },
  35763. /* 47 << 126 */
  35764. { { 0xf5f548eb915ed5cdL,0x657ca09ce30f448bL,0x8750c4a44a30850dL,
  35765. 0x1b329c4108edb075L,0x8c261df8ccbcdaeeL,0xa81720bbedd44638L },
  35766. { 0x602fc21f0b91ee05L,0x6241265db7e8bc28L,0x1daefe5b106ac444L,
  35767. 0x93fe5bd42c9deae2L,0xedc229e17f1ba35cL,0xd99244977e0da1f9L } },
  35768. /* 48 << 126 */
  35769. { { 0x3176a43ab7a3ce87L,0x9fa09e975f130e73L,0x971cc37b9368e156L,
  35770. 0x2cabf535b8981792L,0xaec2862e4d0f0bc0L,0xa1a48c183ce8c100L },
  35771. { 0x288f4e694af2eae9L,0x778845f21f9339bdL,0x1ef5fdfd17dfaa6aL,
  35772. 0xc784117e3483a6fcL,0xe8c82f05f3c5c19eL,0xf39b3c1d1da87ab6L } },
  35773. /* 49 << 126 */
  35774. { { 0xa2539d4cc4ac73e9L,0x0308f91891488ba1L,0xa3e72f4459fae934L,
  35775. 0xb6bbcc37f8c9c402L,0x345a2debc6edee3eL,0x0352f023b0df87b5L },
  35776. { 0x67c9e7b8818c4f8dL,0x3a8714cc70f44977L,0x37b96e1295066bfaL,
  35777. 0x617d9737c95d7f70L,0x60bb06ef759a360aL,0x97689b3f34f59fe1L } },
  35778. /* 50 << 126 */
  35779. { { 0x17d0667fb2dd1febL,0xbfb92fe48862b2ccL,0xcfa0c8e9d5438a69L,
  35780. 0x7bdbd4b1d9cf9ef5L,0x7616acddf373c87eL,0x0603d2b0cf8fd5b6L },
  35781. { 0x6a80f25d46e31aacL,0xea8c0ad0fd424755L,0x9e2e5a5b3ffd5a2fL,
  35782. 0x8882d271f3b143caL,0xe6fc9ad7904e1740L,0x98d1620af428ad20L } },
  35783. /* 51 << 126 */
  35784. { { 0xc8c991a63292054aL,0xc90b11618ce93455L,0xdfa32238e200d1c6L,
  35785. 0xa9c578d5303004b3L,0x9dd2c3881609e5f8L,0x068ec35d24b69108L },
  35786. { 0x47e8183b2d1a3b7fL,0x6200d70efe3db580L,0x76012f3fafc089b0L,
  35787. 0xba06dbf4bddea8a2L,0xd83b4af5da01a49bL,0xa3d4334ce16e87e6L } },
  35788. /* 52 << 126 */
  35789. { { 0xb2fff4035b43e58fL,0xe80bd5740727be41L,0x048a59cbf9b52541L,
  35790. 0xb79084e7f38d0b47L,0x763b0c95938935d7L,0x7cfc6180336b8735L },
  35791. { 0x118d2a6f929b0200L,0x7e5789775a31948cL,0x9085999326009509L,
  35792. 0x330533a33ad633c6L,0x28bdb910733f4c3eL,0x82c88f148fdca27cL } },
  35793. /* 53 << 126 */
  35794. { { 0x1c346bb04ef444e7L,0x40a50060e6c22e57L,0x5eb02aa6c7a773b4L,
  35795. 0xd748a0a0d23b190eL,0xb6ff7f02cfedb7dfL,0x3f8fb35b30f8bb4aL },
  35796. { 0x245b1c232dc31174L,0xa1e156579af25f59L,0x1ad1a2315e2393daL,
  35797. 0x9430ed2dfd7c7073L,0xc4161d4f580fbc0fL,0xa2bebd3fa0f1dadcL } },
  35798. /* 54 << 126 */
  35799. { { 0xace743b6baff35ebL,0x84ac3ce8ac6f38f8L,0x81d41297106b44f5L,
  35800. 0x33f6bbbbaed20aa3L,0xae4dd66ceb420ee5L,0x87553aac994f0777L },
  35801. { 0x26275ebff1e3647dL,0x3b574c4fd9eeb474L,0x58fe2a16929721c5L,
  35802. 0x748480df932030d0L,0x3a30032641bb5f68L,0x0797fad92c06d1adL } },
  35803. /* 55 << 126 */
  35804. { { 0x65356242c7caa811L,0x780fe23f4506bbd7L,0xa741a51042407c02L,
  35805. 0xb8ccd27f5ef9eac3L,0x137f4a573ecf5766L,0xd495be0d15936fdbL },
  35806. { 0x5a419656109c93f3L,0xd2f7b65dcb12affdL,0x2305a070ff830421L,
  35807. 0x6d00f1e9684d5a6fL,0x3de9d1de91aa391fL,0x0b5148c10acb6de9L } },
  35808. /* 56 << 126 */
  35809. { { 0x209fa6e68ca7ec95L,0x17808b0c107a1047L,0x99bbeb5edfd270cbL,
  35810. 0xe3d57c1dc25e2d6eL,0xb90b0c107ba1237aL,0xa7e1b8dc4a0d6856L },
  35811. { 0x97d5b46136a9a07eL,0x931251e9125ea29cL,0x4177fd10fc8868a8L,
  35812. 0x1d3538b7b7cdcdf4L,0x889008c8ed3ff9dfL,0x30573ad2229b9413L } },
  35813. /* 57 << 126 */
  35814. { { 0x11596662924d413fL,0xe797d0a70e5d7bf1L,0xaa05dcd28452ee62L,
  35815. 0x6e10e77f5d5ddf1cL,0x46b72cda5fbd184aL,0x3adc1edb5b25c0c6L },
  35816. { 0x640de5b05c732e3aL,0xa7d4f0f5c6739747L,0xbc11978d1426527cL,
  35817. 0x979276eccbee0053L,0xc44347a7304e8811L,0x016c01e11f5ececdL } },
  35818. /* 58 << 126 */
  35819. { { 0x78b2f1a15ee57666L,0x28060d1576a2c09eL,0xaf0cb38df632a5deL,
  35820. 0x93ce93eea284cd43L,0xe3670d0af35dc1f5L,0x3b8deea527971072L },
  35821. { 0x3b88b1158eea4303L,0x43ff3b22aabde038L,0x8d69e180c813d623L,
  35822. 0x218f5b853aa7a08eL,0x6ee1544adf74f239L,0x0d7abf20fb8772f7L } },
  35823. /* 59 << 126 */
  35824. { { 0x1d881d4eb7716840L,0xdf83a03b86bdef07L,0xd534c4e4dc7ee69bL,
  35825. 0x1169f1cc6e264c79L,0x85c812d1b7690d17L,0xcc3164adec5f2ed1L },
  35826. { 0xb91a14180674e87eL,0x5dfaa279969188fbL,0x434acad5e242b969L,
  35827. 0xa51b5c63751c4e51L,0xaa9089b7874f9aa2L,0x8758f9e51b8397e5L } },
  35828. /* 60 << 126 */
  35829. { { 0x422ad88e57fd35feL,0xd4564b96b99a11cbL,0x78939992238baebbL,
  35830. 0xe66ddcaf4b30a709L,0x00873d5f7812ea50L,0x7317f9dc6784aabcL },
  35831. { 0xf94afbdbe0608ba4L,0xfff893618896d745L,0xa3348af5cad62808L,
  35832. 0x13ed4507f349f51bL,0xa73d4bec1186324eL,0xf0b48189a20022d2L } },
  35833. /* 61 << 126 */
  35834. { { 0x87d117858b8efa4cL,0x724439d6e9c2ee6aL,0x33ab2a03606fa0c8L,
  35835. 0x6ede5b55f9779d87L,0x858b7dd0759445cdL,0x33683c817a5ef23aL },
  35836. { 0x0f093175221c3443L,0xedcf2aaf889195a5L,0x9f189ebc814abec7L,
  35837. 0x6a64999c40235b9eL,0xf98dc212984438ebL,0x97e2d102ba86e7caL } },
  35838. /* 62 << 126 */
  35839. { { 0x337b9cbce3db0718L,0x1f2f55833d1796feL,0xa522b76f68c2a69dL,
  35840. 0x4c1da7cf5375cb22L,0x690a2e7f50bb0d7fL,0xa734d4756689b6eaL },
  35841. { 0x918592d5867ca0a3L,0x64d1c147c4d15e28L,0x4d8c3e22656f8219L,
  35842. 0x5e028bb2170f59c3L,0x41e8b84449875858L,0x1d928cc90c599178L } },
  35843. /* 63 << 126 */
  35844. { { 0x736dee2cf44db09cL,0xfb5035c07257b4e5L,0x3e3a7bf6bf0b702aL,
  35845. 0x4910a0165f257c0fL,0xd80b891d98437b4eL,0xf9e55d55076d8587L },
  35846. { 0x4e4ed7a79b4fcf4cL,0xaaf417f5581acfe3L,0xb1ae2a7ca3b3f920L,
  35847. 0xa666bb6263ee4781L,0x2fba297e63684f04L,0xd6e662658d83bd6bL } },
  35848. /* 64 << 126 */
  35849. { { 0xa58a27c58a541be6L,0xaf66949954fd7683L,0x2431826600079a25L,
  35850. 0x113f6fcf2606caf5L,0xf6ff2be316cb28c8L,0x8f7fc60e3c17caa6L },
  35851. { 0x8ea577e07d35e26cL,0xc3e744c0f0628903L,0x4b28eff4592a57eeL,
  35852. 0x76e1f87c5e3f67b2L,0x40d7a676fb008902L,0x68a9dc764b6e6b7eL } },
  35853. /* 0 << 133 */
  35854. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  35855. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  35856. /* 1 << 133 */
  35857. { { 0x76e2751a12575913L,0x2c6059914a5f8c4aL,0x58322dfb71fba662L,
  35858. 0x228aec085e0886afL,0x8d83b6276aee544cL,0x338f5fb6e29f9639L },
  35859. { 0x1ba4cfe0bf5e19faL,0x2eea84c5b9e4f8f6L,0x7e0eed58cee95d92L,
  35860. 0x2d29282abe535540L,0x866638b607a9a1f4L,0x915999776ab8dc82L } },
  35861. /* 2 << 133 */
  35862. { { 0xa16c79cfaf4d260bL,0xfe853f6cfab3c3c8L,0xb8bd6aa0c2f47e68L,
  35863. 0x277d590f2c9b4914L,0xb6d1c810097242a8L,0xcf2f3d8e45f75512L },
  35864. { 0x2176162b74a20c3bL,0xeee8bcb82b2bcddaL,0xfcf8c0d1a503aee7L,
  35865. 0x5d1f94a57af4dd78L,0x8f0bc1a62ab43be4L,0xd22dbf16ba9e071bL } },
  35866. /* 3 << 133 */
  35867. { { 0xbf87f30e3790b47cL,0xd3d3f1e25ab52ae8L,0xd5fd32bd50ec0ba3L,
  35868. 0x7de8fe0ae60d1e72L,0x52d77fe0e14ff2d3L,0x9b6937db55ca47e4L },
  35869. { 0x39e3d19f53e94fa3L,0x8d962a4fbd7827e4L,0x3bd70c7afe92c6cfL,
  35870. 0xa3fbc06869a82904L,0xe263f00ed96d1d9eL,0xe6c9781f75c0c24bL } },
  35871. /* 4 << 133 */
  35872. { { 0x705bfe37b4e814b3L,0x22f0de61702013c6L,0x811e77a9bc456797L,
  35873. 0x4f52c4e617081a2fL,0x87405d819fe1640eL,0x53fa82b7707711d7L },
  35874. { 0xdc6fff830ee4aea6L,0x8413e22ffd60373dL,0x0ecb66bea9cf3eadL,
  35875. 0x7418372e87139b8bL,0x6aaccf295e42b4d7L,0xb6dc592531fc932eL } },
  35876. /* 5 << 133 */
  35877. { { 0xf1c8d00de460fe00L,0x5692bfee528da7c6L,0x9e4dd700ac8620dfL,
  35878. 0xcc43e73d9d6fe740L,0xc94060d3e76dcba2L,0xfcdf8ba6d398914fL },
  35879. { 0x540942e7502f8587L,0x5def85040de058fbL,0x63e0c7855292b0c8L,
  35880. 0xe90405282e558983L,0xe25727a16baf4a31L,0xb9bf28f0acf64d7cL } },
  35881. /* 6 << 133 */
  35882. { { 0xc7c8364f09d26382L,0xe16988737bf32d9fL,0x97bac2feb726391cL,
  35883. 0x521426364a7c0b57L,0xe3e596482cdec222L,0x4ee7238cf44e0a98L },
  35884. { 0xa6d05a21f61cfea8L,0xa1059fb7efe6a26fL,0x482a65b342416fa4L,
  35885. 0xdc5727e1c71e7a94L,0xe6b0fb6ec4767f1eL,0x3d0d626d6510599eL } },
  35886. /* 7 << 133 */
  35887. { { 0x59f5df1b2a8f9f78L,0x6bb161d992257e60L,0x2cf060beb7b2eb14L,
  35888. 0x98e72799aec169b0L,0xdde683927045fdb9L,0xee5e0aaf461b27e8L },
  35889. { 0x80250c744c0ee047L,0xdd3881f597f0677bL,0x0ea56921a4459b6cL,
  35890. 0xf7793cee26df8d7dL,0x33bfa09be42d1913L,0x9f0636f74ccf5139L } },
  35891. /* 8 << 133 */
  35892. { { 0xfa3b4c8eb88ee8f9L,0x1f288e60b521ab57L,0x06aa39562e8c4d8cL,
  35893. 0x4981c3e5cf89935bL,0xbdbd0c4745fa071eL,0xa78f831c496073beL },
  35894. { 0x09a72986a4e5c001L,0xac527731709cb728L,0x9a64b5b3988f2781L,
  35895. 0x6ac9440d73b1719dL,0x58ad54c7e3d2e807L,0x1c1574488f06742bL } },
  35896. /* 9 << 133 */
  35897. { { 0x3220a099a5e437e6L,0x11a1b1734dc5bdaeL,0x1ad9e736b64c9b8bL,
  35898. 0x82b6a3d4ce40acadL,0x54e1eef8915aaa8aL,0xff19be481f3a1f54L },
  35899. { 0xadc4c5250b64a2b6L,0x6637bc8e12caf63dL,0x970d08b01206a661L,
  35900. 0x97c9b9bde57cf6c2L,0x228ee4712b89b7b7L,0xfeed19ca837cb79fL } },
  35901. /* 10 << 133 */
  35902. { { 0xcd36c981a816f4d4L,0xc99316c27712a72bL,0xd32cb20339e671aeL,
  35903. 0x79ff1889f67f6215L,0xf9fe7448cd08e91eL,0xdc9b277776f3e605L },
  35904. { 0x8af30c2e7c1609a6L,0xed3224a3e54cdd0bL,0xe73f56ded1dea6acL,
  35905. 0xb836eb783e37a390L,0x9f0dcdb2c78a0510L,0xc37e67a39e6109f0L } },
  35906. /* 11 << 133 */
  35907. { { 0xab419eb852e0d552L,0x86c76ef8ae3d06ebL,0x219662b4f7c6342fL,
  35908. 0x2820299e548f6717L,0xc4d0d47a8a2aeebaL,0x4c98069895536593L },
  35909. { 0x3644e55ff42cd505L,0xe109b64ae47e0b0bL,0x91f520a6c89788aeL,
  35910. 0x35f6dc577699087aL,0x3484f5b6b77deb8dL,0xc22a63a47f3c09e6L } },
  35911. /* 12 << 133 */
  35912. { { 0x6b5b7b2a75c953b2L,0x927ed77ca7f1cd5bL,0x2e8c53994cba0e5eL,
  35913. 0x03aeb14a3f4a941bL,0xedbad9a0a1385c8aL,0x925a49c167fd2258L },
  35914. { 0xe7e368ee3365ffedL,0xcc4aad2dd106eb87L,0x4ce908daa980b53bL,
  35915. 0xd3f4954016929ac8L,0x613c804dd5c05c32L,0xa42290ccd7973344L } },
  35916. /* 13 << 133 */
  35917. { { 0xe7437974c464c24fL,0x70c04156d36bdfecL,0xd94c80fcb2d5d96fL,
  35918. 0x4a1fcf19d2cfea9cL,0x443478592f6df796L,0x0c908d0159743bd2L },
  35919. { 0x78949087d165a62bL,0x6c3f9021632f4e1cL,0x3917b925a94bb004L,
  35920. 0xe153ef092b3f87e3L,0x6aee1027ea706338L,0x953ab2959733bd02L } },
  35921. /* 14 << 133 */
  35922. { { 0xad49cad49855d008L,0x23442cf94b273d85L,0x3a3c8752e3dd8f65L,
  35923. 0x0ca5d24bedf84ed0L,0x3d0580938b4f8f96L,0x1cea59acf9b9ae03L },
  35924. { 0xf17cbbe23a06567eL,0x49cf5294f090338fL,0xcf8cbe0da93562c1L,
  35925. 0x66683f21b986b71cL,0x3c96750cc87c9e10L,0x38e62db63dcf2f32L } },
  35926. /* 15 << 133 */
  35927. { { 0x807a519047f99946L,0x49e03dcf01615a37L,0xe813287c99590bf6L,
  35928. 0xc9caf30ddb62835cL,0x0733c49d4df78781L,0x4fde30fd4815d3adL },
  35929. { 0x2809b853f9a2610dL,0xf2b139b9dc050142L,0x52a40a413c23a4edL,
  35930. 0x9333086b0a104df2L,0x04a90c11e2a65950L,0x4c6a15c4dc24341aL } },
  35931. /* 16 << 133 */
  35932. { { 0x33952177a98cf218L,0x841d9e1f579ee53aL,0x1084d61e0a285bd5L,
  35933. 0x3935a84e71171b1cL,0x8ac2433cf29b29f9L,0x5dd868b56dd1e9bdL },
  35934. { 0x88da04788d102390L,0x1140735a657400d1L,0xa792a25f9d5b19e1L,
  35935. 0x9ee015cb6a27fa79L,0xea3bf8b57ba16a8eL,0xc5f0cc26c15fde67L } },
  35936. /* 17 << 133 */
  35937. { { 0x033708d2e02e9feaL,0x2b588d1e222f437dL,0x998442d6c6b47013L,
  35938. 0x4033d62fb8ac1fc6L,0x9b8fd348877c726cL,0x1a2125fa5bea5a49L },
  35939. { 0x04a2c1d680b8afd9L,0x3d52c9d2a40195c1L,0x56b204e6655c0b30L,
  35940. 0x55ee14ef520b3464L,0x23fc52e6b5bdd96bL,0x445cfd7a56f4b269L } },
  35941. /* 18 << 133 */
  35942. { { 0xc8985c2c5fee6426L,0x8be749496bb7bb8dL,0x12967576659363b4L,
  35943. 0xd1b6ded9b969b221L,0x586f28929819fc04L,0xec6b03e5addd6307L },
  35944. { 0x3f0e96cad4da6627L,0xc866c95c14860d00L,0xb038867c9725f9a8L,
  35945. 0x60cd3afa1caf2547L,0x6f2cc04411dddfafL,0x49551f249d0af0faL } },
  35946. /* 19 << 133 */
  35947. { { 0x04a68337177e2e7cL,0xe20b21c0adb79464L,0x9b30d3437e42ae4dL,
  35948. 0xac7a01d7f86c5767L,0x3ea34e385381db5cL,0x3005a0c39235f5bcL },
  35949. { 0x853eb43167b4a5c5L,0x92f26a35584e4b8aL,0xa3d25e5879bb470fL,
  35950. 0x7963d90a5eacbb13L,0x08ca7969212e3aefL,0xb5ec6582df92bfffL } },
  35951. /* 20 << 133 */
  35952. { { 0x2e152d95ee2c3290L,0x8437df2e4a9ceda4L,0x4151754e3c7ebfd1L,
  35953. 0x556c59a888f80aeaL,0x8d099c5d8de44dbcL,0x9ecce7fc77abeeccL },
  35954. { 0x5e0a0f383aa311cfL,0x99ff1eecb8f2bff5L,0x5ae0b483b5dcf488L,
  35955. 0x11212c4591483a02L,0x99fe0738312134a1L,0x3b855db0a72745efL } },
  35956. /* 21 << 133 */
  35957. { { 0xb70bf73230261470L,0x8c9b7c4bc74a180fL,0x4c648aef88a9d9acL,
  35958. 0x3d9f7540a10f98bfL,0x8ec2a3a3120d55f5L,0x1707c1b0baa5a600L },
  35959. { 0xacba8da9103f2f0bL,0x96926dc0c7194236L,0x00358df7584499dcL,
  35960. 0x74c27d0e538c0a15L,0xc675d079de960a77L,0x575b042e89f41f6bL } },
  35961. /* 22 << 133 */
  35962. { { 0xd17d99529703d919L,0xb25ecc411477faebL,0xa5c66a58a9aea2fcL,
  35963. 0x83754d683accb00cL,0x6a9ae76a25901044L,0xe437981b2565e035L },
  35964. { 0x441ec0d96f45fa01L,0x35e40d126a697636L,0xba2fbab59bb3c2fcL,
  35965. 0xc038be03e94b245fL,0x366b4bcc0c1672eeL,0xa14a2c10f1ce6d55L } },
  35966. /* 23 << 133 */
  35967. { { 0xef32d94febe1dfe2L,0xdbf53d4271494ea6L,0x72dc5fad24cf0c2dL,
  35968. 0xa9247adc66dbc21bL,0xe31ff66ab130da59L,0x8cb97c09e86ab63aL },
  35969. { 0x204020e2f59ebb80L,0x56f6d8b7cfd0f965L,0x7522a692b1518dadL,
  35970. 0x8e7c999f5f231e2eL,0x2eff5904b4406177L,0x8440cee87bfe2363L } },
  35971. /* 24 << 133 */
  35972. { { 0x37f50e43892c8eecL,0xf06a2f047d85a7e2L,0x3916af85e1d11150L,
  35973. 0xf56e852f6785ae1cL,0xbf8c72adae6ada8cL,0x1fcd53e3e13285b2L },
  35974. { 0x5327920cbd56d348L,0x82a394fb445658a8L,0xa71328573caf3792L,
  35975. 0xb15ab34b550ffe1cL,0x818980666a5d4e4fL,0x0bda153b2f854f9dL } },
  35976. /* 25 << 133 */
  35977. { { 0xf664f44407aa3d00L,0xcf8901664704e2d6L,0x1802f662f8c2fc8dL,
  35978. 0xd52496b8a47f0da6L,0x37f71d8c75001c8eL,0x7ad8e8c29cad3ba7L },
  35979. { 0x666afc25825515f7L,0x3a871c76a729e498L,0x5dc21f1108479e3eL,
  35980. 0x78ff145966c4331eL,0x8d01e2352dd3deb2L,0xc68445e9dbc91fc3L } },
  35981. /* 26 << 133 */
  35982. { { 0x8f2d9aae98ea13f6L,0x3e75ba40ab97bfb0L,0x14dd24e635e1fe35L,
  35983. 0x14abb0735f88d9b9L,0x74b2c6a801d4fcd6L,0x4905dfe7744a09bbL },
  35984. { 0x349348c077cd538aL,0xdec247f5f7b6d035L,0x737e248dc455d417L,
  35985. 0x608a5529b6fe5d92L,0xce0ba0bccd7dca64L,0x022bcb18c21175c6L } },
  35986. /* 27 << 133 */
  35987. { { 0x79fe5372881b120aL,0x4878428aae98aeeaL,0x5c6a7f7d09511acbL,
  35988. 0xb7be08de3b046481L,0xfb91990b8b35f13bL,0xab734f604ebdd374L },
  35989. { 0x3d4955f1197690e1L,0xfc82767c7b376dc4L,0x7cf3db85b8c659c7L,
  35990. 0x4cfb6f4b03202723L,0x8b79311746141d27L,0x94c6ee67867292c4L } },
  35991. /* 28 << 133 */
  35992. { { 0x77a31009722730feL,0x93707ac4d5cdd297L,0xa290be39d3811e8cL,
  35993. 0x831a9b9592a5cdb7L,0xc74cda84e7342270L,0x964661903f48affcL },
  35994. { 0xb0496cca5520b0f0L,0xc8742cd9bae930ffL,0x3a30737aeaea703aL,
  35995. 0x0a8e6fb7fb758854L,0x9ab9523e6796f4d1L,0x36e6c05dfdf7140fL } },
  35996. /* 29 << 133 */
  35997. { { 0x4c8ec1a3ccedff1fL,0x8fc58987ca74bd5fL,0x70a6b71cf768abcdL,
  35998. 0xb9971cf5ed60a02dL,0xbb2aedc8af2f9a41L,0x4ebf90c76032c98aL },
  35999. { 0x8e69b4c4d3752262L,0x350f201474ba8e8aL,0x7a164f6724d0052dL,
  36000. 0x5aeb80db61d7eee0L,0x626a6c9da63583bdL,0x6246637fc3f2196dL } },
  36001. /* 30 << 133 */
  36002. { { 0x2077dfa1817d444bL,0xdda9c7fcdf855b15L,0x577603be04b31d38L,
  36003. 0xc6beacae7a140cabL,0x8cd9dc019ecbed91L,0x6ea8591295ae114eL },
  36004. { 0x6fb29a33fd47f1b5L,0x6203bca6223cb96aL,0x2459d85a7c1a3580L,
  36005. 0xbab5922d6410a3c0L,0x543be274cc7750f8L,0x1a653e1c42baea3aL } },
  36006. /* 31 << 133 */
  36007. { { 0x616abd271dbeeea7L,0x0684c14fe2189d8aL,0x0d2bf3687354d862L,
  36008. 0x8b0cfc06a8bdcb0bL,0x187147b49661e548L,0x07509bc358edde6dL },
  36009. { 0x7b2a33bca78c2782L,0x5f41b8379ec5fa24L,0xa6df5de574539201L,
  36010. 0x3510f650093f8f7eL,0xe4d1c06ed14aaa71L,0x4d1b1ca2b0470581L } },
  36011. /* 32 << 133 */
  36012. { { 0x3b62315064ef6a95L,0x97645381aaa5b792L,0x4bc2c31c56471100L,
  36013. 0x4a0e73bb1bae8d2aL,0xbfc0770a8df1f76aL,0x5089916fa7bb16caL },
  36014. { 0x2afe5b1cf31fe82eL,0x0b06831df0119977L,0x97caa333a1af2a82L,
  36015. 0x93cb92c5dafed6cdL,0x09553e7e92c3b2e3L,0x3d9c4b7d61af2956L } },
  36016. /* 33 << 133 */
  36017. { { 0xe56c89b06910185fL,0x1cd06d19ac47667cL,0xb35e6ae5fe41a4ffL,
  36018. 0xdc2fbaf959e8be08L,0xa9e6df08f8cec40bL,0xcab91f8ffe63ad2cL },
  36019. { 0x1e3bd193ca2cc678L,0xe1830cae06bb40f2L,0x3b8b33d6d69985abL,
  36020. 0xb6b7e8433895d8a8L,0xec3882909fbf6b31L,0x012bec2ac37d64cfL } },
  36021. /* 34 << 133 */
  36022. { { 0xff2e88fd33941b4bL,0xa2d9730a8d85cccaL,0xa23f8cfa16f7d7a1L,
  36023. 0x82013193d39a250eL,0x3b119882ca0fd8a8L,0xcff642ac1a438706L },
  36024. { 0xe4a3a95f65e5688cL,0xb2a6c836c31243d2L,0x1b7ec5d2194d1f42L,
  36025. 0x51ab34f814e4f7a2L,0xa3e3f135d3583ca0L,0xbca6ecbade9b91f2L } },
  36026. /* 35 << 133 */
  36027. { { 0xc85820c3002f07caL,0x090365320e00dca7L,0x0f3b3166f4e4d8c2L,
  36028. 0xe694eb4479460f00L,0x50d0ed14c15e04ecL,0x8c9998abcc86e3bcL },
  36029. { 0xb82581624aefa561L,0x6351aca610050c0eL,0x4e60399acc8d2342L,
  36030. 0x96da3af7f633dc88L,0x1af763ec09202348L,0x76b0e49d3f0d5f76L } },
  36031. /* 36 << 133 */
  36032. { { 0xd83f574a08f84746L,0x48fc9715ca07f5f8L,0xb3d5d0d2dcc51638L,
  36033. 0xc2a5e3356153bdcdL,0x8242cd9a8aa4ef74L,0xe71ba25b0bdaa0d0L },
  36034. { 0x4342d4bba4ff172dL,0x81db10dffc1341a2L,0xdd93dd877dacb140L,
  36035. 0x6f8a4e81d12d347fL,0x0d4e7e461bc369beL,0x3ce10a771fafd0c5L } },
  36036. /* 37 << 133 */
  36037. { { 0x2fdaa3bb8cb896a3L,0x2fb82dfd913bb303L,0x5d814a50ba9ca09aL,
  36038. 0xc3de6aa426112215L,0xd0d5c98b25a0c9fdL,0x54004b3e0eaae4a8L },
  36039. { 0x410e2cc209358663L,0xf7e3d08a501c4ef5L,0x3d86434dd334aa19L,
  36040. 0xf70ea577772fc0cdL,0xa0eded5aa607c4f2L,0xba0bf1bc36222b2dL } },
  36041. /* 38 << 133 */
  36042. { { 0x8d901e759632c4d6L,0x0ed9a7ebbbd94698L,0xfd2169dbbf7bcbc1L,
  36043. 0x2b4d168d5b302c66L,0xd42f9dd73e65f24dL,0x73e0c22c0eed0022L },
  36044. { 0xf9091588f5d2dcfbL,0x81c7c01eb8715b78L,0x2be06165dde6a9d6L,
  36045. 0x64b5902dcacd6ca2L,0xdcd510d70159d3bcL,0x5b71995b42b5e30aL } },
  36046. /* 39 << 133 */
  36047. { { 0xa9c474eae7a211edL,0xc7bcdd20d8170f76L,0xd9aa8d9734a15487L,
  36048. 0x26235292933c16b6L,0x289d47d5d8238fc0L,0x39f10fb3ae27ca16L },
  36049. { 0x822e187f1c016ae1L,0x8e93b15f2be46859L,0xe2ba61a60b0a055bL,
  36050. 0xd8f33ddecb8de893L,0x016652d6379657efL,0xf4eb08f9e7d9eab8L } },
  36051. /* 40 << 133 */
  36052. { { 0x5559dd31e67145b6L,0xf2d905b45b2427e7L,0x0d840fabcaf57d0cL,
  36053. 0x9625866578742ab6L,0xc85482ad409c1c8eL,0xdca2a058adaa6167L },
  36054. { 0xec26ad9a0c8885fdL,0x1b93b8a22a600cb2L,0x340aa7fc2539986bL,
  36055. 0xd7674876a23dee41L,0xa948a9292e1a9837L,0x9ae67d2a71438da9L } },
  36056. /* 41 << 133 */
  36057. { { 0xe753114a8d6a98f5L,0xb2d7d1e1f6ad93e4L,0xfbcfe0cf1935714dL,
  36058. 0x9dc2d293e859e729L,0x674c170889a703f2L,0x87744b0252063099L },
  36059. { 0xa1721de04b25966bL,0x059292573a285fcaL,0x5b02ca39e8ce75e0L,
  36060. 0xbfdf0fb939e57da4L,0x554378cd6388a964L,0xc53fc5c8f853d7faL } },
  36061. /* 42 << 133 */
  36062. { { 0xcd3b60e352f51554L,0x6292fafab44ad7eeL,0x670561c79513741fL,
  36063. 0x95defdf3b9ba16a7L,0x6c0beac1adae36cdL,0xef05c24a3e8aabd6L },
  36064. { 0x74208a02b23efc25L,0x71930e02c22172d1L,0xbdb1f1c6f5ccbffbL,
  36065. 0x358b483c504d9cb3L,0x48b5887a9a48a4baL,0x289256b4e48f09e7L } },
  36066. /* 43 << 133 */
  36067. { { 0x671bf1eebc2f256aL,0x530faa653984ca7eL,0x0a6d18955c05da6eL,
  36068. 0x219de918118fe96cL,0x289b9645bb7eded4L,0xe905c4729588f006L },
  36069. { 0x56d0cd9ac9d61133L,0x8879550079a4f743L,0xd05e910199c2aff3L,
  36070. 0x7e91f7c985e52c8bL,0x7fd02f83b5c5d473L,0x4b43b6453c59330aL } },
  36071. /* 44 << 133 */
  36072. { { 0xeac6f447d56bdf1fL,0xb22e8425c2b502ffL,0xe1cc9d3dfca5a501L,
  36073. 0x8192bc29b64baf39L,0xeb2c901a52ce849eL,0x7f5f38b11dd506f1L },
  36074. { 0xfb3684b10f0a1d68L,0x16c4aacde9240ff8L,0xffa682435a4d8995L,
  36075. 0x27264ab554e4c95dL,0x9aa40cdc4f34ffaaL,0xcb8a30a35fd818eeL } },
  36076. /* 45 << 133 */
  36077. { { 0x912f0a7dfa88792fL,0x2ad9249f5090716eL,0x4b828a6fb96e6e31L,
  36078. 0xe805f0588d7f2095L,0x72e95cb956e00978L,0xc95354667651815fL },
  36079. { 0xc877181a08df5b53L,0xae055dd8779c3302L,0x3f9e6dd90b4e68d2L,
  36080. 0xdeb15f1308fbb2f8L,0x5f129c1cc5802a96L,0x7482e4af3cc51022L } },
  36081. /* 46 << 133 */
  36082. { { 0x98904777ab695f56L,0x6dc472c18989e518L,0x6749d25c82031d40L,
  36083. 0x5c465922c36202f1L,0xb3b5b9aff31fe542L,0x855263bdf98bc09dL },
  36084. { 0x40ee01747eb4789fL,0xd64ae0d4de4e92bcL,0xbaea76a38995e69fL,
  36085. 0x3f22b2e3d972751eL,0x5a197daa2461f1b4L,0xbd15682a5097b93eL } },
  36086. /* 47 << 133 */
  36087. { { 0x7f251143534f8547L,0x213baf14222a161aL,0xae993737ad1e6005L,
  36088. 0xdc70867ff8b1cc7eL,0x41e880f3bb22e11bL,0xe36f54cbd2d6bc45L },
  36089. { 0xa42e819d4d65ae97L,0xdc57be4de8592604L,0x8a89777fabe73b50L,
  36090. 0x435fedec72e26f5bL,0xe8d3cd8251ec79f0L,0x9574d6ea67f407b0L } },
  36091. /* 48 << 133 */
  36092. { { 0x39038863f7f35053L,0x421a17f3328787d2L,0x38aa682ef3d8310fL,
  36093. 0xb52d41e8f4123153L,0x4fbef3dd7026310bL,0x0c6bd7adf6ff5692L },
  36094. { 0x3831c6b2a9be5d0cL,0xb5c9ae85e8d328b8L,0x76d26abc6516bba4L,
  36095. 0xc237f9a5446d35a8L,0xb2b16c0ff012a8d0L,0xddf2b7fe0ee0315bL } },
  36096. /* 49 << 133 */
  36097. { { 0xf401366a7dd4243fL,0x7db92881f434ba76L,0x5b5bacd737ffc502L,
  36098. 0xa53fe0e802cb994eL,0xf6db539ffb00cb96L,0x0bb288b379878966L },
  36099. { 0x275c108c0c3d4b7fL,0xe57222d267236ba2L,0xc754d31890683aa1L,
  36100. 0x883a41ef2345460fL,0x8e6b7ce8b572fd14L,0x7649c29237d21925L } },
  36101. /* 50 << 133 */
  36102. { { 0x46302515c4af281fL,0xe2a9633c3513ea87L,0x1175276fb3e96864L,
  36103. 0xda377e32f4ed1228L,0xacf223a1fa6be904L,0xf442c41abc01057bL },
  36104. { 0x83d766c38a69db33L,0x933dd0974cef397cL,0x094b21b575fe43cdL,
  36105. 0xf16ee57ab3141dd5L,0x4a8d0d6cb981d196L,0x6bd246c3730075deL } },
  36106. /* 51 << 133 */
  36107. { { 0xd9ae9faa91eab3f7L,0x8520bebba2bcdfc1L,0xc681d5a0ee94353aL,
  36108. 0x980871dd316ee7acL,0x7d70b82bcb401c4eL,0x150706c1bc6885efL },
  36109. { 0x11709bbed3d8663aL,0xad69df943ace1806L,0xf889daef1a36f12cL,
  36110. 0x6ba376b2560bb749L,0x5342cd7a0d95f8b9L,0x5d14201273b4554aL } },
  36111. /* 52 << 133 */
  36112. { { 0xbb85b640056ad6c2L,0x7c51ef96ac074372L,0x1c7ce31cf10b43fcL,
  36113. 0x08e4101b26f4d3a4L,0xd18511c43968459fL,0x00e20c3fd6d07839L },
  36114. { 0xd5bcd598e4fcdc11L,0x99e9a4d0c877f6a2L,0x9c5dd9d0bd491646L,
  36115. 0x83918f609bfd7a1aL,0x4bc130cd7e2b95a3L,0x668825fbfbc31c83L } },
  36116. /* 53 << 133 */
  36117. { { 0x7e8947bd5568b75cL,0x43419ecbdab8f822L,0xeb52a83a7b8fa996L,
  36118. 0xbc674ff32d1a32c6L,0xdc086f84ce405eeaL,0xebe3e087f8918ddfL },
  36119. { 0x476099ecdb152bc4L,0x0cb491c52d3718c3L,0xa7c49cd69da8517fL,
  36120. 0xc736fcf51ab8fbadL,0xa00b403ba24fe115L,0x01f6e5bfd976f549L } },
  36121. /* 54 << 133 */
  36122. { { 0xef8e12edf15ad86eL,0x216be9828c20441dL,0x10ccd4f85c45e821L,
  36123. 0x8a12f6037c9745e9L,0x56212b09da6f1b2fL,0x5a81d69338115f05L },
  36124. { 0x5aead3330a4405a8L,0x7024a76c03221eddL,0x9c101d0250e6a610L,
  36125. 0x6bcb22ffc1b6d54aL,0xf96cef62cf787e89L,0x9c9bde7b79341d83L } },
  36126. /* 55 << 133 */
  36127. { { 0xe9c61fa744058dc9L,0x59efcc8f1581d690L,0x1ea73467513aba4bL,
  36128. 0xf0fda8a69d03d72aL,0xcc1f3f22c6f30a01L,0xb632daa3ddf8dea8L },
  36129. { 0x58563188fe8e2f89L,0xf053b9f67b45cf5eL,0x1ab51b07f9bda4b1L,
  36130. 0x37850e9789dc0050L,0x1bf5e41e8f6a1daaL,0x4abb4f82d94c0fd8L } },
  36131. /* 56 << 133 */
  36132. { { 0x817d77b106a9ad54L,0x3a999d7d89a25ecaL,0xd3ac4107da68b768L,
  36133. 0x6904bcddbebc4c4dL,0xb0d2103ca53d39e9L,0xdba86bd230a5e950L },
  36134. { 0xb09256804f52208eL,0x37c3156a28495b2cL,0x2389ab34c15855aeL,
  36135. 0xc14dfd963017194fL,0x420e07191146b838L,0x1a9f909b8fb4b6fcL } },
  36136. /* 57 << 133 */
  36137. { { 0x73af3d1fa24985f4L,0x4fa27db444a1f9a8L,0x6deb02455cfbfa45L,
  36138. 0x4803e0342813c996L,0x24715fe80e4116ddL,0xa2e8258d38d8e902L },
  36139. { 0x3321e112dd7d8ebfL,0xab8d5b2b272ee6a4L,0x2994fac34eb10fd9L,
  36140. 0xe007d0a4a9c611ccL,0x29db5aa974d194e3L,0x9e76e3ddcf7409b9L } },
  36141. /* 58 << 133 */
  36142. { { 0xf12a3eeab577f6b9L,0xe666e002b6db2206L,0x95aa0d03375229b4L,
  36143. 0xebd05140ef0772beL,0x9d5b5e9e48580b17L,0x960906b3a77ceceeL },
  36144. { 0xca869663e50422f8L,0x150e844199d481b2L,0xadd97d7c3418b00dL,
  36145. 0x9908a23e68244f02L,0x5357ea61d3eac131L,0x0af5423d9778902dL } },
  36146. /* 59 << 133 */
  36147. { { 0x11aa3582d8e62251L,0x108ec170aa1560a5L,0x8423663e2b5b6ea9L,
  36148. 0x3f4ad292d8718329L,0xf8e3e7bd04f8daadL,0xed310c3a11b81211L },
  36149. { 0x718db302edac9282L,0x7866f1c1e434544bL,0x1052133c568b195aL,
  36150. 0x8ca61965c0e37cbbL,0xdd28fbd32cfac1c2L,0xf4062b33dce29660L } },
  36151. /* 60 << 133 */
  36152. { { 0x2926ef17dd63404dL,0x0e89c4d41399cc68L,0x6507fedef7ec20b8L,
  36153. 0x1ac084ff88c751d6L,0x31bc08bedefe29e6L,0xd42199714f0692c5L },
  36154. { 0x4d6ee74236069bc0L,0x3868ef6aff80f3d7L,0x6df02d7c5a9c6f4bL,
  36155. 0x2c3096bb101abf69L,0x0c2b01ec8eaacaebL,0x65914c20eb2e687aL } },
  36156. /* 61 << 133 */
  36157. { { 0x78d5ab7b34a8173eL,0xa34b72ac9230c3b2L,0x379453e13538b39dL,
  36158. 0x1764c4420f3789b0L,0x5b4bbe77a3f2ba4eL,0x3bd35b796f86338dL },
  36159. { 0xf2fcdf04f02fa7e3L,0x6b4522f420d23feaL,0x966fb8fa01be16a5L,
  36160. 0xf2a56e96e0d705feL,0x494aa4553872e429L,0x68432d9181921587L } },
  36161. /* 62 << 133 */
  36162. { { 0x0ae47d1e3dba277aL,0x54607ac99832d90cL,0xd4cec32eecbcdeacL,
  36163. 0xe54b3033b9ccdfa9L,0x5b3a8a56fb920449L,0x831ec8f955eefd3aL },
  36164. { 0x59ba32a3a02dca96L,0xb421e4b01decf837L,0x52e70a88a88636d2L,
  36165. 0x3b75ed073086667eL,0x7a4a46b3b877cd6bL,0x3825c80b59c99207L } },
  36166. /* 63 << 133 */
  36167. { { 0x3bc3f0e069bdc53fL,0x7e0bd730d9d7def4L,0x71a577e6844ede6bL,
  36168. 0x06d47f4981705712L,0x83bdb1a6ef108ea6L,0x853a3ce0c8a8ff41L },
  36169. { 0xa6f114b8f408ec44L,0xe0ce4267e2d72d33L,0x405f6ddda2a0b613L,
  36170. 0x22ce3daa8d253ad3L,0x2fd738094aa1de25L,0x28a2001b27363597L } },
  36171. /* 64 << 133 */
  36172. { { 0x13722ab079ed523aL,0x33b29bec249d5624L,0xd3d0f467f76fdaf7L,
  36173. 0x7ce072f912ddfd9aL,0xce918a5747bdefd3L,0x14d38ab4750e5315L },
  36174. { 0x08bbb20e3346f647L,0x428b917f05b26894L,0xc8fb5c21ca865ba6L,
  36175. 0xee6e41e02e6e8e6fL,0xd00ae6214c608b60L,0x659756396ff685cdL } },
  36176. /* 0 << 140 */
  36177. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  36178. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  36179. /* 1 << 140 */
  36180. { { 0xbbccce39a368eff6L,0xd8caabdf8ceb5c43L,0x9eae35a5d2252fdaL,
  36181. 0xa8f4f20954e7dd49L,0xa56d72a6295100fdL,0x20fc1fe856767727L },
  36182. { 0xbf60b2480bbaa5abL,0xa4f3ce5a313911f2L,0xc2a67ad4b93dab9cL,
  36183. 0x18cd0ed022d71f39L,0x04380c425f304db2L,0x26420cbb6729c821L } },
  36184. /* 2 << 140 */
  36185. { { 0xca07923c0eb008c8L,0xab79402d9985912eL,0x41e379e83cb02510L,
  36186. 0xfabac005beb383efL,0x24d12d9a1076dd0dL,0x95afd46fb208f127L },
  36187. { 0x9cc38a60b1031e46L,0x93e21e977009f6bcL,0x6f6360d98ac219efL,
  36188. 0x1edaab3faf284c80L,0x9c3b5281019e366aL,0x6475c579bc9e9726L } },
  36189. /* 3 << 140 */
  36190. { { 0x26bd07d6bdfbcae8L,0x10b5173fdf01a80aL,0xd831c5466798b96cL,
  36191. 0x1d6b41081d3f3859L,0x501d38ec991b9ec7L,0x26319283d78431a9L },
  36192. { 0x8b85baf7118b343cL,0x4696cddd58def7d0L,0xefc7c1107acdcf58L,
  36193. 0xd9af415c848d5842L,0x6b5a06bc0ac7fdacL,0x7d623e0da344319bL } },
  36194. /* 4 << 140 */
  36195. { { 0x8410d8298d85a25aL,0x48ee01354af81a14L,0xae460d0d18c25348L,
  36196. 0x5d0279a07eb035a3L,0x87e7c1289a114414L,0x17c08a8ec0744f79L },
  36197. { 0xb7b2b4f1025cdbe3L,0x9a74f15d82d1af60L,0x124a7395b51ee685L,
  36198. 0xf2937c4bf6122422L,0xb4ec133207f1a7ffL,0xad801112f886032eL } },
  36199. /* 5 << 140 */
  36200. { { 0x4c0d78060c9d3547L,0x993f048dcf2aed47L,0x5217c453e4b57e22L,
  36201. 0xb4669e35f4172b28L,0x509a3cd049f999f8L,0xd19f863287c69d41L },
  36202. { 0xe14d01e84c8fded0L,0x342880fdeafd9e1cL,0x0e17bff270dc2bf0L,
  36203. 0x46560b7bc0186400L,0xe28c7b9c49a4dd34L,0x182119160f325d06L } },
  36204. /* 6 << 140 */
  36205. { { 0xdd4eb3d07bb5346eL,0x9a46ad01382e7db7L,0x1200285ddc1973c7L,
  36206. 0xfd342beaa0046b98L,0xd19173491219a7fcL,0x5383d319b7caffe5L },
  36207. { 0xea5a0c4e2e0fa118L,0x1cc2de3ca5457b28L,0x5b2a16dc6046eeeaL,
  36208. 0x1755e1fecc8e64b1L,0x51e4946e9e7faddaL,0xf805422ffcbf4ec2L } },
  36209. /* 7 << 140 */
  36210. { { 0x46d70888d7e02e18L,0x7c806954d9f11fd9L,0xe4948fca4fbea271L,
  36211. 0x7d6c7765bd80a9dfL,0x1b470ea6f3871c71L,0xd62de2448330a570L },
  36212. { 0xdaecddc1c659c3a7L,0x8621e513077f7afcL,0x56c7cd84caeeef13L,
  36213. 0xc60c910fc685a356L,0xe68bc5c59dd93ddcL,0xd904e89ffeb64895L } },
  36214. /* 8 << 140 */
  36215. { { 0xf877e8c6bd08ffafL,0x24718fefaf23012fL,0x19ff269f2b004cfeL,
  36216. 0x8adc5d7795450f8bL,0x688ce8bce2a7d458L,0x74d7445b97bd7fdcL },
  36217. { 0x1b9f4ad641e6abadL,0x6652ed05f00e4bf5L,0xabee1f7e71d83d86L,
  36218. 0xe693c76d25ffc219L,0x1c9a84afc873f553L,0x84d2718766d77a55L } },
  36219. /* 9 << 140 */
  36220. { { 0x75d874fb8ba7917aL,0x18fa7f53fd043bd4L,0x212a0ad71fc3979eL,
  36221. 0x5703a7d95d6eac0eL,0x222f7188017dead5L,0x1ec687b70f6c1817L },
  36222. { 0x23412fc3238bacb6L,0xb85d70e954ced154L,0xd4e06722bda674d0L,
  36223. 0x3ea5f17836f5a0c2L,0x7e7d79cff5c6d2caL,0x1fff94643dbb3c73L } },
  36224. /* 10 << 140 */
  36225. { { 0xe566dc057e5f7121L,0xccac74e22ed07bc3L,0xaabfdfcdc70401b4L,
  36226. 0xac9fc4496254e0dbL,0x358d885f11c7de05L,0xb8e6a4a9d60772b4L },
  36227. { 0x884272a5cfe917ceL,0xdfbe98689a3d347aL,0x06b90848c9d1baccL,
  36228. 0xc4ccedb6db8c6288L,0x892878b979e5683eL,0x1b521829243273e3L } },
  36229. /* 11 << 140 */
  36230. { { 0x916e19d0f163e4a8L,0x1e6740e71489df17L,0x1eaf9723339f3a47L,
  36231. 0x22f0ed1a124b8dadL,0x39c9166c49c3dd04L,0x628e7fd4ce1e9accL },
  36232. { 0x124ddf2740031676L,0x002569391eddb9beL,0xd39e25e7d360b0daL,
  36233. 0x6e3015a84aa6c4c9L,0xc6a2f643623eda09L,0xbeff2d1250aa99fbL } },
  36234. /* 12 << 140 */
  36235. { { 0x099369c4bf0c6fbeL,0x976f78b2fe7d5727L,0x32feb503d18267a9L,
  36236. 0x162c41501a7dd0feL,0x3141e37726b8e969L,0x50497a643b53a94aL },
  36237. { 0x96159f41607b4cfcL,0x1999b7042f111babL,0x3254987c760f2eaeL,
  36238. 0x5308075b841014faL,0xc634127e4e7adad8L,0x32a70a6059ffbfe6L } },
  36239. /* 13 << 140 */
  36240. { { 0x1feef7ce93ee8089L,0xc6b180bc252dd7bdL,0xa16fb20b1788f051L,
  36241. 0xd86fd392e046ed39L,0xda0a36119378ce1dL,0x121ef3e7a5f7a61dL },
  36242. { 0x94d2206192d13caeL,0x5076046a77c72e08L,0xf18bc2337d2308b9L,
  36243. 0x004db3c517f977b1L,0xd05ae3990471c11dL,0x86a2a55785cd1726L } },
  36244. /* 14 << 140 */
  36245. { { 0x7279c369a1f857e6L,0x029d30ef27fb373aL,0xe82cbc806827358bL,
  36246. 0x2bfe09aaa18f57abL,0x63bf3145e5503492L,0x7ea15beafb28ee43L },
  36247. { 0x8e6d428f5eec91b8L,0x215e03e9611b1799L,0xb995737161d476deL,
  36248. 0x2320c764e76726a5L,0xc5de88178e5e26f5L,0x24aae0699161e0b7L } },
  36249. /* 15 << 140 */
  36250. { { 0xb8d9b28672107804L,0xb5a7c4133303b79bL,0x927eef785fa37dedL,
  36251. 0xa1c5cf1ead67dabaL,0xaa5e3fb27360e7c7L,0x8354e61a0a0c0993L },
  36252. { 0x2ec73af97f5458ccL,0xde4cb48848474325L,0x2dd134c77209bc69L,
  36253. 0xb70c5567451a2abeL,0x2cd1b2008e293018L,0x15f8da7ad33c0d72L } },
  36254. /* 16 << 140 */
  36255. { { 0x5584cbb3893b9a2dL,0x820c660b00850c5dL,0x4126d8267df2d43dL,
  36256. 0xdd5bbbf00109e801L,0x85b92ee338172f1cL,0x609d4f93f31430d9L },
  36257. { 0x1e059a07eadaf9d6L,0x70e6536c0f125fb0L,0xd6220751560f20e7L,
  36258. 0xa59489ae7aaf3a9aL,0x7b70e2f664bae14eL,0x0dd0370176d08249L } },
  36259. /* 17 << 140 */
  36260. { { 0x5dc386d0a8790657L,0xa4fdf676bc4d88bbL,0x1b21f38f48bc6c49L,
  36261. 0xcdcc7faa543a7003L,0xea97e7aa8c9cf72cL,0xa6b883f450d938a8L },
  36262. { 0x51936f3aa3a10f27L,0x0170785fdecc76bfL,0x7539ece1908c578aL,
  36263. 0x5d9c8a8e0f3e8c25L,0x8681b43b9e4717a7L,0x94f42507a9d83e39L } },
  36264. /* 18 << 140 */
  36265. { { 0xaeac64c96f089b59L,0xecfdc92b65f9d762L,0xddde5024f750daffL,
  36266. 0x82c01c1c0f707e73L,0xc70aa9d4ee20adb5L,0x27f6799dbeb0e60fL },
  36267. { 0x918ad262520aa514L,0x2bb1362f8d13eae0L,0x21b60b46a9d1d43bL,
  36268. 0xf449e2d4767ab86eL,0xf42b09948a5a496eL,0x3b26006b853f2a3bL } },
  36269. /* 19 << 140 */
  36270. { { 0xbbe11ca8a55adde7L,0x39e6f5cf3bc0896bL,0x1447314e1d2d8d94L,
  36271. 0x45b481255b012f8aL,0x41ad23fa08ad5283L,0x837243e241d13774L },
  36272. { 0x1fc0bd9dbadcaa46L,0x8df164ed26e84caeL,0x8ff70ec041017176L,
  36273. 0x23ad4bce5c848ba7L,0x89246fde97a19cbbL,0xa5ef987b78397991L } },
  36274. /* 20 << 140 */
  36275. { { 0x364d5dfda6140b89L,0x30e4a48efdc9105dL,0x13f6276018a47151L,
  36276. 0x18ad84cfa17a2853L,0x5f315c93988cb37bL,0x90f9cb701af64ce3L },
  36277. { 0x020c67db029b6ffdL,0x8989ccc62ce3528dL,0x9bb4f9844d00ee63L,
  36278. 0x0b052413a70b4ca9L,0x7dee36dcc96b4a07L,0x226db70ea7888508L } },
  36279. /* 21 << 140 */
  36280. { { 0x111af1b74757964dL,0x1d25d351ddbbf258L,0x4161e7767d2b06d6L,
  36281. 0x6efd26911cac0c5bL,0x633b95db211bfaebL,0x9bedfa5ae2bdf701L },
  36282. { 0xadac2b0b73e099c8L,0x436f0023bfb16bffL,0xb91b100230f55854L,
  36283. 0xaf6a2097f4c6c8b7L,0x3ff65ced3ad7b3d9L,0x6fa2626f330e56dfL } },
  36284. /* 22 << 140 */
  36285. { { 0xcd9b76b6a92f4e61L,0xa464f5225a00d902L,0xb64774e68a583f92L,
  36286. 0xc7dc2030bee842a8L,0x594743ea5d2f27ddL,0x4c0ed28ef3c54609L },
  36287. { 0xd763346d4b1dfb93L,0x8ea291dde1bed2eeL,0xf26d4adbd6d34ae1L,
  36288. 0x74b8d24e54ea3529L,0xe20490e150062077L,0xf67b7a9092d6c19cL } },
  36289. /* 23 << 140 */
  36290. { { 0x3d28bf2dffccfd07L,0x0514f6ffd989603bL,0xb95196295514787aL,
  36291. 0xa1848121c3db4e9cL,0x47fe2e392a3d4595L,0x506f5d8211b73ed4L },
  36292. { 0xa2257ae7a600d8bbL,0xd659dbd10f9f122cL,0xdb0fdc6764df160fL,
  36293. 0xff3793397cb19690L,0xdf4366b898e72ec1L,0x97e72becdf437eb8L } },
  36294. /* 24 << 140 */
  36295. { { 0x67bf4c98e11df408L,0x8e105c66d299b156L,0xfde3922e901b63c7L,
  36296. 0x7fd57218c184ac91L,0x6dd2ea5cebcdc105L,0x1c4956c0aef7653fL },
  36297. { 0xd6fac6429c1c11a1L,0xeda44f663d230d5dL,0xecca2241e6902ccbL,
  36298. 0x85962a1f2700870fL,0xc5ca32c97864a291L,0xe55e974af6c8d3d9L } },
  36299. /* 25 << 140 */
  36300. { { 0x81dcea271c81e5d9L,0x7e1b6cda6717fc49L,0xaa36b3b511eae80dL,
  36301. 0x1306687c3cd7cbb3L,0xed670235c4e89064L,0x9d3b000958a94760L },
  36302. { 0x5a64e158e6a6333cL,0x1a8b4a3649453203L,0xf1cad7241f77cc21L,
  36303. 0x693ebb4b70518ef7L,0xfb47bd810f39c91aL,0xcfe63da2fa4bc64bL } },
  36304. /* 26 << 140 */
  36305. { { 0x0af51a2025f7b355L,0x35fc45d58d8081bfL,0x0cf3036d0ab30d16L,
  36306. 0x2bd47f919109cf76L,0x8be09360ec7f12beL,0x99fc291be8dcdca9L },
  36307. { 0x385b89868135b12fL,0x272ac288f4ec52dcL,0xe7ca370cce09b043L,
  36308. 0x94655816251f4c4eL,0x5c1dea972d40a755L,0xe8977234a4b10406L } },
  36309. /* 27 << 140 */
  36310. { { 0x82c1c684eaa66108L,0xe32262184cfe79fcL,0x3f28b72b849c720eL,
  36311. 0x137fb3558fee1ca8L,0x4d18a9cde4f90c4eL,0xc0344227cc3e46faL },
  36312. { 0x4fd5c08e79cda392L,0x65db20db8adc87b5L,0x86f95d5b916c1b84L,
  36313. 0x7eda387117bb2b7cL,0x18ccf7e7669a533bL,0x5e92421cecad0e06L } },
  36314. /* 28 << 140 */
  36315. { { 0x240fde37b21b2632L,0x6b878ae68ca0f16fL,0x072d9ded0bc32ebeL,
  36316. 0x8c2552bc29840743L,0xb58327b003b34f8aL,0xa51598ea71dabbfdL },
  36317. { 0x337361f7d4f461c6L,0xae88972dda1de4b2L,0x9ec86d7ade7e8c2eL,
  36318. 0x607de383f23f19e0L,0x0cb144c27d234103L,0x00878a228f0c3411L } },
  36319. /* 29 << 140 */
  36320. { { 0x26063e124174b08bL,0xe621d9be70de8e4dL,0xaea0fd0f5ecdf350L,
  36321. 0x0d9f69e49c20e5c9L,0xd3dadeb90bbe2918L,0xd7b9b5db58aa2f71L },
  36322. { 0x7a971dd73364caf8L,0x702616a3c25d4be4L,0xa30f0fa1a9e30071L,
  36323. 0x98ab24385573bc69L,0xcbc63cdf6fec2e22L,0x965f90edcc901b9bL } },
  36324. /* 30 << 140 */
  36325. { { 0x265f7236e22b29caL,0xe36c3c3daa62691aL,0x73410e6ed2e1bad1L,
  36326. 0xa182a579a5743cecL,0x2ca67274c22b0453L,0xc698fe35546e52e6L },
  36327. { 0x60b3a519890e9155L,0x24312c3c2b91dbc3L,0xa6d45050282911d9L,
  36328. 0x3781933efd249e1eL,0x2e0cbb93e26d023aL,0xfb479267bf27687aL } },
  36329. /* 31 << 140 */
  36330. { { 0xd53b592d71e15bb3L,0x1f03c0e98820e0d0L,0xce93947d3cccb726L,
  36331. 0x2790fee01d547590L,0x4401d847c59cdd7aL,0x72d69120a926dd9dL },
  36332. { 0x38b8f21d4229f289L,0x9f412e407fe978afL,0xae07901bcdb59af1L,
  36333. 0x1e6be5ebd1d4715eL,0x3715bd8b18c96befL,0x4b71f6e6e11b3798L } },
  36334. /* 32 << 140 */
  36335. { { 0xaff4782231cb94c9L,0xf1b5a0b7803c1af4L,0xbeb85f8d2ef696a9L,
  36336. 0x8ce5baab4fa94fcaL,0x0a32f96200d41a43L,0x0f69ad5774f6e772L },
  36337. { 0xbe0221af6ccb5157L,0xcb83969a2a4f91ffL,0x78ff85d6a7e49f39L,
  36338. 0x63006589cb5d3c63L,0xe8e4383596eb65f5L,0x79f59da9ff8adbdfL } },
  36339. /* 33 << 140 */
  36340. { { 0x3cc0df125df9b6ecL,0x3c18f44e286d6ef1L,0x55a3939e517d0f7dL,
  36341. 0x42626a32607e97bbL,0x6168e7b2e26ad78aL,0xdcf8e74b9145583aL },
  36342. { 0xa7c541a52db84a71L,0x680532c7119210a6L,0x3252035d0a3315e5L,
  36343. 0x06dc2d5befe7c8b6L,0x940175894e720570L,0xb16e635f2f6a3ec6L } },
  36344. /* 34 << 140 */
  36345. { { 0x0bd0ed3803e13ce1L,0x44a148bb5868069cL,0x2a79ab57aa5095e6L,
  36346. 0x943416faffffcf22L,0x98434e8756a1365cL,0x2493315d196dc354L },
  36347. { 0x1f89d911b79a3a1eL,0x937140a841dfdd23L,0x05ad36e43b220b8bL,
  36348. 0xff5e810333594e3aL,0x3119775f893edb80L,0x1fad811627eee584L } },
  36349. /* 35 << 140 */
  36350. { { 0x55c4377e204f30b9L,0x63550549a1ebd2bdL,0xdd86ee0c5e44f5f1L,
  36351. 0x8b9d1d9b5d84d999L,0x9ea95a58dda7a075L,0xa465b4a50977e81fL },
  36352. { 0xcb491e5558421fadL,0x4617f31c280709d6L,0x5e2751c382e0195dL,
  36353. 0x698155856f8eefd1L,0x6702166cd16dc160L,0xfc14545c84c85b2fL } },
  36354. /* 36 << 140 */
  36355. { { 0x27c961f6e8fc35abL,0x1e0c26923a596fe7L,0xc75c7cb804351be8L,
  36356. 0xfb92bfeb1c425d80L,0xb01d1c909f0bde61L,0x273d1f0c512f7817L },
  36357. { 0x4375000df0d71796L,0xc1655874cf53d529L,0xe157b358abddc21cL,
  36358. 0xb0f91e3e40cedc30L,0x48e26c7272260452L,0x9794a6bf0713f667L } },
  36359. /* 37 << 140 */
  36360. { { 0x78befaede72c6f0dL,0xc80584210bb2a3ceL,0xcee67a5d52748e21L,
  36361. 0x08d4a9e8de8ed124L,0xc0393271b5fb9514L,0x39b1df6b20942000L },
  36362. { 0x831fd8cfc3d961afL,0x1bb097e3e752daceL,0x279b3924cf2c8143L,
  36363. 0xa9f8a939b8f5cad9L,0x2b566813bfb8009cL,0xab37ee1df58f0927L } },
  36364. /* 38 << 140 */
  36365. { { 0xc17f21f5134d8bd8L,0xc75fc638a90a9a1aL,0x032a6f382a22527bL,
  36366. 0x3c77a72bd20fefb2L,0x559d8a52196e2921L,0x760a3a2c9afcb6caL },
  36367. { 0xa3bf5802f162d871L,0xb6b367a5c594d2adL,0x4d440c523daa48dbL,
  36368. 0xb2a8acafd5b2c18aL,0x50d85d6adc349ddaL,0x3c2e67718a707475L } },
  36369. /* 39 << 140 */
  36370. { { 0x8254a39d5e1656cdL,0xff457dcaa595e153L,0xf0ddc1936bf62398L,
  36371. 0x45e1f91a558f9337L,0x8a424d9d91480b33L,0x019f0a412bf61189L },
  36372. { 0x66badaa6d49e7b98L,0xb0674512dad636faL,0xc767eceff4c49695L,
  36373. 0xbe16e6b5ddc80ea0L,0x2bd0bb87febd1ba6L,0x69c9f485fe60eb32L } },
  36374. /* 40 << 140 */
  36375. { { 0x08cf7d82bff4b684L,0x6abbf429ac4a9329L,0x2454c15ab0c8e0ffL,
  36376. 0x4782035a70bdb03dL,0x89ff6a41448199cdL,0x07969c9ffd0bf1e5L },
  36377. { 0x19d1cc6a83406dc9L,0x4054cab9b4980267L,0xf0f5594e1887d258L,
  36378. 0x039249e4e09dd987L,0x2b0cd4f9857ddb1eL,0x54ceb29fd8418075L } },
  36379. /* 41 << 140 */
  36380. { { 0x562693d30843729fL,0xd703202122648488L,0xd7c40e82ec6d0799L,
  36381. 0x8eacb2496eb6fb6bL,0xddf7074885a5ec47L,0xd70524bf891d5de5L },
  36382. { 0x4d17c237c4d01055L,0x4793c6e4b4203cc0L,0xf247d0df1d1bf37aL,
  36383. 0x406994fa93b007feL,0x4062c29902940092L,0xedc0d949f558c1e8L } },
  36384. /* 42 << 140 */
  36385. { { 0x9fb3630606ab1fc5L,0x2726c1acc0de4e26L,0x8b2fb5130ec7b070L,
  36386. 0xf3581a6907bacd4aL,0x97db622c164bf5a5L,0x8103517962327e3eL },
  36387. { 0xad3637b0b1d635c2L,0xb894adf949832ec3L,0x0ab5381725685b12L,
  36388. 0x73ceb46069720ce8L,0xdbd1b68ef5e445dfL,0x57659059c8961eb8L } },
  36389. /* 43 << 140 */
  36390. { { 0xbd1272a5f73a7cfcL,0x30d3c078de0828e1L,0x5dc0244e1a8f36a1L,
  36391. 0x87c80cdf585ec2acL,0x46c88d277944584cL,0x588d14d8b2dbe1a9L },
  36392. { 0xb42327a7afe7d55aL,0x58add8f98775409eL,0xa45db2fd10590c68L,
  36393. 0xb98e10bca972b84dL,0xbf5c0ee0a737aeb6L,0x26424f3def199fa1L } },
  36394. /* 44 << 140 */
  36395. { { 0xb7bb774603c4cd27L,0x5bfe638ad9723678L,0x47d8b4c24a04d064L,
  36396. 0xdba309383faa45d7L,0xb0fb4308b39dd043L,0x5eeaa33f23ebfa1dL },
  36397. { 0xaa5a0ce0ba100837L,0xae025cf6d7667d17L,0x610baf5df480cf99L,
  36398. 0x8ba0039ead025771L,0x0ff4f75174785f24L,0x910736ef8b7c30b7L } },
  36399. /* 45 << 140 */
  36400. { { 0x0496b77ac04b7e7fL,0x6f7ea5bbdf8163a1L,0x87a8e8f18f415876L,
  36401. 0x6e5b6f2e3ee22085L,0x5ae860ca6f529471L,0xc54c8667eb624447L },
  36402. { 0xdd06be3de1c7766aL,0x8a8e48ecd2189d23L,0xa4076d3564245444L,
  36403. 0xc4973a5deb651a4bL,0x3b3e2fd52c4f2747L,0xe9a16a24abde2ecbL } },
  36404. /* 46 << 140 */
  36405. { { 0xb7f146b890973714L,0x2277873f288ed67fL,0xe6da9d9ee5182317L,
  36406. 0xa446f9d3562475b3L,0xc5291f9756755d91L,0xe762c5f3c104c2b6L },
  36407. { 0x542f90b3dde83d53L,0x758aaddddace5f42L,0x1c8b9775e673f002L,
  36408. 0x8899c11f74ec42bdL,0xfd9e300a2dbc0dedL,0x6de1c8e4d281f6adL } },
  36409. /* 47 << 140 */
  36410. { { 0x5ddafb1b2a2f98cbL,0x8dc2bdc429ec504fL,0x27c51b3cc9f43826L,
  36411. 0xcfd609fccacf5becL,0x642ff85c30dd9f71L,0xcab498e5b6b00ffdL },
  36412. { 0x9c7ef286652ca743L,0xda291ae0ab95d7aeL,0xe6f4d2badfbff466L,
  36413. 0x34afffef9835d482L,0x41a2cfc050db295cL,0x51a08859e6ee400eL } },
  36414. /* 48 << 140 */
  36415. { { 0xf6fd26cc487925bdL,0xd9b751eef5ef44e9L,0x694a788be372817eL,
  36416. 0x85f3dc1ae8c90c31L,0x8c90c6bf15aa0ce5L,0xb52a5d83f01bb223L },
  36417. { 0xbdae01dddf9c3315L,0x941fa6b663ddfc56L,0x50ddff4ec2548f24L,
  36418. 0x54a49868d12802a7L,0xcd922fb6404d9240L,0x88d7f41f957f6d1aL } },
  36419. /* 49 << 140 */
  36420. { { 0xbfd0a17e4c4c87cdL,0xc6c76ebb10b614bfL,0x721d8b4fd1c594a9L,
  36421. 0x1ff70b2daff65d09L,0x2698f57ce50ad026L,0xf4ac3f5627a92e38L },
  36422. { 0x1114d3392c143ba0L,0x7fafa6b97f8e9b0bL,0x506f11edd82a2500L,
  36423. 0x4df1087fe0ad9ca2L,0x85509ad9fdfecaa2L,0x733c4f8293bd022dL } },
  36424. /* 50 << 140 */
  36425. { { 0x3b9de3494233d6cdL,0x9a360917a8f55d63L,0xbe79cdfd90662136L,
  36426. 0xbb3d8fd7cbf3f02aL,0x5d0d4eb81d61e485L,0x85b485215484cd65L },
  36427. { 0x77580c810fc5cbb1L,0x4b36441bd8e70ff2L,0x50ccdec1b2107a8bL,
  36428. 0x6b7f97c945a45893L,0xb818859b9572a173L,0x864dc632d94bd9beL } },
  36429. /* 51 << 140 */
  36430. { { 0x13bb6b113fee0074L,0x4c02520ed1059617L,0x5beb793ccf71f07aL,
  36431. 0x15a8d28d46d4c54bL,0x9889a8948b89fab6L,0xd00fdcb492623b75L },
  36432. { 0x1c7963572939a84cL,0x4b85d94d6221a244L,0xcc66b5bad1fd506dL,
  36433. 0x866271042a06ca91L,0x4295fc6a49bb18c1L,0x05a81eea341d93e4L } },
  36434. /* 52 << 140 */
  36435. { { 0x895dbf20df8111ccL,0xec8297be2906fb2aL,0x4ddd6f22b94c3f53L,
  36436. 0xec55cc738ecbd552L,0x549d3145ef343a0bL,0x9b19220c3b4858d8L },
  36437. { 0xd5bbf954bd0c2f11L,0x9cacae0cce8c221fL,0x87e6cbc1f6a3dbc5L,
  36438. 0x7ce5c9b6e37ebcb2L,0x654339ef50eb3c8fL,0xeac7f343f3674f55L } },
  36439. /* 53 << 140 */
  36440. { { 0x723969a3dd8d5580L,0x4f6dd5c4a30edd79L,0x5b29f3f5a4d7ed53L,
  36441. 0xe17a12bd11869af9L,0x63d01e02dc4c4c1cL,0xb43b904466a691e9L },
  36442. { 0xab58d45ad1bbbcbeL,0x1e9b166322e8a57bL,0x88b6d3bb6684cdd9L,
  36443. 0xb944dee1ddaf3976L,0x70a4a121c347c41fL,0x7e93fa26fd1c217fL } },
  36444. /* 54 << 140 */
  36445. { { 0x5df68a1b584da350L,0xf378c367d72cd093L,0x5908ac0033dc31a6L,
  36446. 0x89bb976b7ca65b9cL,0xefdadfe237dcf670L,0xce22b5ba0011f3e7L },
  36447. { 0x94d2c115b7d27bc7L,0x2e6763498761afbfL,0x3c0477829eb8185fL,
  36448. 0x634c8c5531f7635fL,0xf8fb5494d4d0fc53L,0x5a905615530ee2c3L } },
  36449. /* 55 << 140 */
  36450. { { 0xd28e59a0940c9809L,0xc208ae4f01b9f39fL,0xae1cb420b3630002L,
  36451. 0x739950501289d72bL,0xec24392805fcbd8eL,0x5b592df51f843891L },
  36452. { 0x0d7602303f59f374L,0x32b6e643cae9f3ecL,0x94a25696e3dcc436L,
  36453. 0x657ae6aa8a059dadL,0x0df91017edd1505eL,0xfb1ae06f7b518d81L } },
  36454. /* 56 << 140 */
  36455. { { 0xf5bd119ad84c8a53L,0x36c5410f26928a6dL,0xf340f2bc0eb42b83L,
  36456. 0x8d93a66cffeffe84L,0xff59141d64310b9eL,0x2d509d7aaf69e00fL },
  36457. { 0xf0f034ae1390628dL,0xf9089c720c38b563L,0x7462988e4e8df0daL,
  36458. 0xe6041dcaa7985905L,0x86295326d3b7274cL,0x5c8bf249075aa31aL } },
  36459. /* 57 << 140 */
  36460. { { 0xb08d098b9e423b93L,0x8ae94622029d192bL,0x05335f68fd67f1c4L,
  36461. 0xf3cb831f6e8c1e57L,0xf84a7a54a50a776bL,0x99930a48dc49c28bL },
  36462. { 0xdac2ef8f1b833418L,0x87a4ca7829fda2f2L,0xf47f23079c0e9e7bL,
  36463. 0xebc1c2de46aeb3c7L,0x544f76836408bfc4L,0xa01b094b86c6cd44L } },
  36464. /* 58 << 140 */
  36465. { { 0x8e81bd1c06841f10L,0x3fc24a346c045063L,0xbb2be2dc85bc7ebfL,
  36466. 0x32523efbc341fe12L,0x1ac9f6b116508a41L,0xb6b7fa1df6ac4426L },
  36467. { 0x2614c995fb685157L,0xe452b94dace46bbcL,0xccda1adabc453b4aL,
  36468. 0x32d32574fb4fac48L,0x7e43920c9d7d90fdL,0x9d6e959417a08456L } },
  36469. /* 59 << 140 */
  36470. { { 0x2c90f95bdb1f005dL,0x801089a2e16444a3L,0x2f2944ed7a724ad8L,
  36471. 0x0dfdd065de135e95L,0x510ab3eaafed3817L,0xdba075380855fbb5L },
  36472. { 0x905f78bda10dde49L,0x63786348956a4057L,0x3d420ff0441530aeL,
  36473. 0x7a9968bfd1488ff0L,0x97479bfbca4dce2eL,0xf371985356f76255L } },
  36474. /* 60 << 140 */
  36475. { { 0x8102fa85bbda55a7L,0x6cbafe0de96c5eb3L,0x517720eb26aa52c7L,
  36476. 0x0ee110a98c030e47L,0x5a058569d4afe2c1L,0x29965b44262bbc0dL },
  36477. { 0xda017ec04996daf5L,0x1781e7b84dfb810cL,0xdbe148350c8a5cf6L,
  36478. 0xd151055dd92ff62eL,0x5e4f48ba2932a708L,0x77e163d95f28bb43L } },
  36479. /* 61 << 140 */
  36480. { { 0xf6c5998c48bc9bc9L,0xb25ae99e2db132d7L,0x17f29131fb934e7dL,
  36481. 0x31b96a79d7fb5430L,0x3fad00391971cabaL,0x7f809e56cf3d5e33L },
  36482. { 0x1a4f705a9ede6055L,0x3cab6c6149c2d054L,0xb616adc47945b589L,
  36483. 0x842b8652f342ee03L,0xa22fc6a67bc36a4eL,0xffdfee262c89a4fbL } },
  36484. /* 62 << 140 */
  36485. { { 0xac6b2727dab13b10L,0x8b4fa7807351ac35L,0x48243c245692808aL,
  36486. 0x724897f01fbc5d24L,0xb635fe5e2c69bd93L,0xab26453338d5d5b2L },
  36487. { 0x368b2c07bc578c97L,0x94e02c9226fecf25L,0x768de4d41f473908L,
  36488. 0x58feaadee445d405L,0x1f1380d6e42a2218L,0x2904b4542154dd5eL } },
  36489. /* 63 << 140 */
  36490. { { 0x4e28b938ca2ec0f3L,0xd4af48d795b1c113L,0x33ffb9c222f2275aL,
  36491. 0x2a734af97b57b2e0L,0x1555ba38d08a45d3L,0xd0cae6c57a05837cL },
  36492. { 0xed04c869c4e78884L,0xa7ba74726f3d56d3L,0xdb7b831ef6d68485L,
  36493. 0x225798677e7d0a4dL,0xd2d702a94c3eef8cL,0xdaba503869a83e29L } },
  36494. /* 64 << 140 */
  36495. { { 0x082ea61d10eeed24L,0x7c9d5ade143fd59dL,0x7d33df962e54f5cfL,
  36496. 0x340b0d36e39dc6abL,0xd97a8b848d179b13L,0x88184bb0288d388cL },
  36497. { 0x2237e507e116ae6dL,0x3e97b063211b2cf0L,0x645f8bcb42be7459L,
  36498. 0xce2b0f54de2176b6L,0xaf570a09d1e2f09cL,0x110adf5657fdc001L } },
  36499. /* 0 << 147 */
  36500. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  36501. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  36502. /* 1 << 147 */
  36503. { { 0x158bfe27bcb6db29L,0x967212410054d963L,0xf07b153b8e71aca1L,
  36504. 0x5e67698171b11643L,0x77b7dd7dd04e2f90L,0x07814aa6f0dcf109L },
  36505. { 0xd3bab2a4fe1d0b1eL,0x50abba31be69e691L,0x54fe99afc6f53cd9L,
  36506. 0x071f2a4f628039e4L,0xf1f44181b183aa16L,0xdf0138e05010f6f9L } },
  36507. /* 2 << 147 */
  36508. { { 0xb1e365019c77ca60L,0xfe084a2301018e14L,0xbf451d2ca4bfdcecL,
  36509. 0xd210892fb29cdcfeL,0x5b12bcd894514871L,0xd03ca18c1809b1e3L },
  36510. { 0x09b243115858e4eaL,0x37b30d50e57524b4L,0xcef0a16b5de334b5L,
  36511. 0xfe0bd1e20b116076L,0x54e4b48289ae2bf4L,0xfbcc5e1a68c8a937L } },
  36512. /* 3 << 147 */
  36513. { { 0xa5023e1364be0f56L,0x6a7310e00046f45cL,0xe0af09aeec8700d3L,
  36514. 0xdea5fb7ceb2d38f0L,0xc038eae6859852e6L,0xd515fb4c8c34f04cL },
  36515. { 0x546b778e1488c207L,0x8cf4f1146258d8baL,0x474e60d85182c96cL,
  36516. 0xcd0387303dbde757L,0x387232f876ab01ffL,0x277614f628231392L } },
  36517. /* 4 << 147 */
  36518. { { 0x309b1eb33ef5a413L,0xa7607981a81f43fbL,0x87c2b81ebf8a894cL,
  36519. 0x27a40bce0d293293L,0x7f4c315be4bf3714L,0x03fdc14e01236895L },
  36520. { 0x319c88f8dff053feL,0x146bb448ea3fa121L,0xfcc2a05df0dd1380L,
  36521. 0xc8d55b024acba9faL,0x871358de5927313eL,0xfd1d81d317ce294aL } },
  36522. /* 5 << 147 */
  36523. { { 0xa135970c7361138aL,0xd67eddb5b7d50260L,0x313c6e9bc4d5311bL,
  36524. 0x4f503bf28423e5b4L,0x17dc4b6f44f3fe83L,0x15b7bdb9ccf1bbcdL },
  36525. { 0x0ce4d64ea11b9896L,0x050b0edebbb6b0eaL,0x85531293bf5db990L,
  36526. 0x9db3b964520d095eL,0xb45ec235bd2d4e88L,0xf88a9e6215ee5ba1L } },
  36527. /* 6 << 147 */
  36528. { { 0x10777189c1a21254L,0x7d8d3966ca593a6cL,0x261ab515120380e6L,
  36529. 0x453c858fe13577d1L,0xb1f6bb58f3862db1L,0xf8ff48b8b9529e1cL },
  36530. { 0x03f63a417b60b400L,0xdc248d96bba66b3bL,0x8423048b756e5af2L,
  36531. 0x4d978ed31c984befL,0xa06242995ba00f3eL,0x0bed7b454f4d19e7L } },
  36532. /* 7 << 147 */
  36533. { { 0x9ef52e3d6524f389L,0xc5b157c5f6ac19eeL,0xdca7a72ab5d42f7aL,
  36534. 0x2d2e8d72fa0051dbL,0x3a6ff9243f4a4f60L,0x0ae997af340e7977L },
  36535. { 0x33dd395e269db4e9L,0xf95c3683616b9dc3L,0xb86a066122d516a7L,
  36536. 0xd50c582cad913df8L,0xac8b8efef550afbfL,0xf34fcab01d88728cL } },
  36537. /* 8 << 147 */
  36538. { { 0xd3797831ff63ae69L,0xa753de02ce4c7eafL,0x2ff7a6a611a4e339L,
  36539. 0x904f86f05328043aL,0xe29d31c012e9f7ddL,0x8825a639c0a51904L },
  36540. { 0x070c2696ebfc2cc7L,0xc03ce643c5f7a943L,0x5b970d0c12c8a1f5L,
  36541. 0x572aaaa1ab352a83L,0x63df45a90c5eb0c7L,0x95c951e1d4977599L } },
  36542. /* 9 << 147 */
  36543. { { 0xf5aefd5572ba3741L,0x7ab81965f5fe816dL,0x597d15d546752cefL,
  36544. 0xaa79a0822a3c142bL,0x038ddfdd3af5dfe9L,0x9f4dc166755c9e07L },
  36545. { 0xf34224dfb9165297L,0x96e7ff6e4e3fd907L,0x5d7f3c821727beb6L,
  36546. 0x7098493dd6af73ceL,0x6b9358fbe00dfa4dL,0xefb2634a96e74870L } },
  36547. /* 10 << 147 */
  36548. { { 0xe35daffe2e4c6299L,0x1f9e33935915cd16L,0x93f05a40f009a48aL,
  36549. 0xa4a801fd308a81c6L,0x75e5dc467e885426L,0xf0bc7d5d4629ff05L },
  36550. { 0x356b879bdbd812c2L,0xdb5eb60001629849L,0x11c9856eec2dd55aL,
  36551. 0x20f0443880f0c804L,0xc0b5e3e21801b217L,0x7ceba67d6ea097b8L } },
  36552. /* 11 << 147 */
  36553. { { 0x7a1bc5d85d08d3f0L,0x9ecce2a8385ef3a8L,0xae93d42b3c1b2927L,
  36554. 0x81a3a60719ce9447L,0x8d6b2d3d0eda597cL,0x5baabad60eea6dc5L },
  36555. { 0x2cb372642741608aL,0x3b1148d6f0202a01L,0x6e85272f52931f5dL,
  36556. 0x49bf47596a2e601aL,0x5ec0418443279ddcL,0x7d052cac6ec080ddL } },
  36557. /* 12 << 147 */
  36558. { { 0x01c2df8d3bb02d0eL,0x874e43afe26f388dL,0xe198341c8360fa6aL,
  36559. 0xe67f8092c52bb2d6L,0xf944dc63a02efba5L,0x9a9c02d92c12332aL },
  36560. { 0x39684f6ca8cb6bd5L,0xbcc1828e26bc9535L,0xb7fb8eb646594725L,
  36561. 0xbb4f5f05793c32ddL,0x3ef3c33845f94b55L,0x228e0e7d09eac277L } },
  36562. /* 13 << 147 */
  36563. { { 0x80d9bd388aeae732L,0x2be676dccbeb6443L,0xef4d056bded9ad31L,
  36564. 0xc4fea44f349e5d0eL,0xb66c35d28d95db86L,0x210c3d4aae9f5d3aL },
  36565. { 0x5c0c5b9c1582982bL,0x50a529be93aed9a4L,0x88f769a384c77818L,
  36566. 0xc0970b4269776a3eL,0xbf3e5ee022a1cad4L,0x705c0b29b80187eeL } },
  36567. /* 14 << 147 */
  36568. { { 0xefd26dca727cacdeL,0x6290fedb5fcdb147L,0x9f108a89e1830a96L,
  36569. 0x7e8e36813e039a02L,0x1747b3e9256fbb3bL,0x5aa0ebffabb3b2f1L },
  36570. { 0xcac5818c9fbb9b49L,0x037d66114a94b74eL,0x4081fd4d7a548536L,
  36571. 0xfe2d8e79aa364507L,0xe86ce00ea81a5f81L,0x77b95e9477a9bdb4L } },
  36572. /* 15 << 147 */
  36573. { { 0x3eadfde5bf06a49eL,0xca88828b33787c62L,0xde6f765022070f63L,
  36574. 0xcb4e54dc438f649aL,0x24957c77169727d0L,0xa2e7781cdd2a92a3L },
  36575. { 0x17a1d7ddc38885f4L,0xb75716717605c408L,0xfdbbcffc8a2323f5L,
  36576. 0x11666bd2c955456cL,0xf8b94fa2517f27f5L,0xe101927fee002499L } },
  36577. /* 16 << 147 */
  36578. { { 0x2c5b0e42bca07a42L,0xbe57f3597a0dffa1L,0xace485959aa90727L,
  36579. 0x32be886af658699bL,0xce75d6c6da3b18e6L,0x9d563e4f69caf667L },
  36580. { 0xc17c66cf065eb772L,0xfbe123814df9f6efL,0xceb80041623db4efL,
  36581. 0xe75615b2c74762e1L,0xade8a5438671c52fL,0xb713c401cacaf2ecL } },
  36582. /* 17 << 147 */
  36583. { { 0xc740669ab01b20dcL,0xd873f3f1abecc3f3L,0x0d8290402db73d1cL,
  36584. 0x147aaafb99198d33L,0xca66e755d4e7d7e4L,0x8747298cb2cb752bL },
  36585. { 0xd9d58d29c43762aaL,0xa3801a4a15e45d57L,0xa747fa3f454eaf2aL,
  36586. 0x26c79cdd0c067c77L,0xf15404cea24fe6b4L,0xe2add5ec77fec1c9L } },
  36587. /* 18 << 147 */
  36588. { { 0xc45064dbd71a7744L,0x1900bb8f04a6f3cbL,0xd592585a76c2dd6cL,
  36589. 0xabbbd6d862b95d26L,0xb0db482b1d2e180aL,0xf459430184c9dea5L },
  36590. { 0xd30b162a6e5ec460L,0x90838e57e4b35476L,0xab4b7c80f9356687L,
  36591. 0x72c2c009719f347aL,0xd5d01fcf920d187dL,0x47426f1e0afe06abL } },
  36592. /* 19 << 147 */
  36593. { { 0xe6473aeaafb2f584L,0xd5395475c44ab7a2L,0xcba2c240bc27e864L,
  36594. 0x201735cc742c1c9bL,0x8cb4886951263febL,0xb52706ba4fd2cd5bL },
  36595. { 0x028445755a2dec94L,0x978e79d6a4be7b6dL,0x5a68d8103c4742f8L,
  36596. 0x9c917f48b301ad64L,0xa6a7d5bd684a6ea6L,0x251d61327c978749L } },
  36597. /* 20 << 147 */
  36598. { { 0xdc7e39ee0ae2a7caL,0xcdd3c235e6b7dee9L,0xf9624c299368c8a3L,
  36599. 0x2086bc904b21951fL,0xf7990a1f57e0e6a3L,0xf170dd75e686da8cL },
  36600. { 0x4a82719a06da9714L,0x3a78e35e24274685L,0x1c3965e1c67712f8L,
  36601. 0xc6c26eb62f164e3aL,0x1129a467381fb91fL,0x896022108443ffddL } },
  36602. /* 21 << 147 */
  36603. { { 0x25e561bd808c4ff9L,0x08c9f2758c0cf1c7L,0x9af6165b59599115L,
  36604. 0x59f06a4bb4b415f7L,0x3a9d8ca5236e2650L,0xc8fa3bc61b48ebdfL },
  36605. { 0x5e1896193404846eL,0x6d1d803b378a5a46L,0x672fe2bab812d5dfL,
  36606. 0x3ec27a7f04c6ddc1L,0x9c5ff08c0cee3357L,0x9f465babae8d37d3L } },
  36607. /* 22 << 147 */
  36608. { { 0x0057f60756a0b6bbL,0x46a6e9949c1e24daL,0x1c283f859baaf618L,
  36609. 0xd75e731be878a354L,0xf9db13388bf2ca71L,0x0f14adeea9022f59L },
  36610. { 0x309f04aa6c14666fL,0xe6cec2aa552d2da7L,0x9f27eaba218d8659L,
  36611. 0x9b3165d3c268561eL,0xc7e3afcb90ae19efL,0xb840170bcb329e68L } },
  36612. /* 23 << 147 */
  36613. { { 0xf6b9a32fab95aa95L,0x1a1e06c387e1c3c5L,0xcfb7ecc5317f1c2bL,
  36614. 0x12953ce7999d2bcdL,0xcaf5f0229e3c5a01L,0x0c9db571305ac94cL },
  36615. { 0xa423d26cafbc860aL,0x82fbbd3dfe98409dL,0x455aa9926652ac17L,
  36616. 0x6916e7d6f9428029L,0xdcfbd65099822714L,0x5de152a13f3c72d2L } },
  36617. /* 24 << 147 */
  36618. { { 0xe6d039ef467eb167L,0xa7e0959d74696cf9L,0xf3a19b9d7078d8a0L,
  36619. 0x5d4ec99c07cdc6f6L,0x4842d0f98386eed8L,0x48f5ab80545fc0d5L },
  36620. { 0x8906fc626d39c2f7L,0x1c050d691bf5366aL,0xac506c579f54d0d6L,
  36621. 0x9a356a6ef9e4b94cL,0x62632c5108a75e61L,0xfc1b9fa5c6951dc2L } },
  36622. /* 25 << 147 */
  36623. { { 0x84ba4069d034ec62L,0xd55b42f6f169349eL,0x78dce88d17de2b22L,
  36624. 0xdadae679204ec730L,0xfad5ec6b5357f5e5L,0x330bba18ccc0d0afL },
  36625. { 0x8419755c4a566c71L,0x29c56c5fbfe57083L,0xe42a7c52598cad77L,
  36626. 0x9d81623f5fcf1dc0L,0x978eb12864615869L,0xc837262a9c2a6f35L } },
  36627. /* 26 << 147 */
  36628. { { 0x917747f99ee0628bL,0x5d711303566cf048L,0x206d53f15b77f58dL,
  36629. 0xe104bc12667a86ddL,0x158f8d253505380fL,0xf5b32ad4616e821eL },
  36630. { 0xdb67191a3cdfe797L,0x61b58589147e1756L,0xb7927e12625d0efcL,
  36631. 0x48d999d008bca937L,0x335c6f5b7b02689bL,0x4f0994a9d8149b7eL } },
  36632. /* 27 << 147 */
  36633. { { 0xe7ba0870df6ae3beL,0x661373f0166cd7d9L,0x369d361d8627f3fcL,
  36634. 0xca06d544cf6ceb36L,0xc819e0ea34b5d425L,0x80c1ab716ffd2827L },
  36635. { 0x3fb8c0b520b4161cL,0x3647e67b3734b87eL,0x9c3a14b203e6c9cbL,
  36636. 0x320ed1c1c3620486L,0x6d77d46b5286a22fL,0xbd6036c1bc74a266L } },
  36637. /* 28 << 147 */
  36638. { { 0x125951a52e6d5433L,0x7d672aee6a6013d4L,0x6ed23f2560831997L,
  36639. 0xb0e219ae438c75c3L,0x6851dd4bace91d00L,0x84704f7d30f19991L },
  36640. { 0xd744cb32d0107170L,0x15f51a63b0cb6796L,0xe14712cf5a5807d8L,
  36641. 0xff89f0c5dbfd612cL,0x0c314718bd021483L,0xf9ccd3b11b4b76d5L } },
  36642. /* 29 << 147 */
  36643. { { 0x36121d0909b6398fL,0xd9ad591369069016L,0xd3a08c8469cdcfebL,
  36644. 0xd92ae9b2b03e1e4cL,0x1620c549e9b6284bL,0x5860431227ab9432L },
  36645. { 0x4e1d3134aa314da8L,0x89207aad70910cbcL,0xacee236badff9190L,
  36646. 0xe6390f7cf6eb6df2L,0x0dfc5a5cffa91d75L,0x3474104aa0e7f48dL } },
  36647. /* 30 << 147 */
  36648. { { 0x00b75b851871749cL,0x063b748ea00faa20L,0xa516e09f90257503L,
  36649. 0x9ffc43981c800098L,0x49f011f871b00fa1L,0x6fc80517443268bfL },
  36650. { 0x2802e2bf24a24acaL,0x96fdc71edde88ab9L,0xe3eff1f997e661a4L,
  36651. 0xae5c34e13cb321f8L,0xf863263e301c8ba0L,0x3c3eeb7b093e186cL } },
  36652. /* 31 << 147 */
  36653. { { 0xc0f51229e7aa3325L,0x3abde561fa93ec80L,0xd7e5317f4e6df2b2L,
  36654. 0x4eefcc76bc832652L,0x9dce52905d054a1dL,0xee2939da2a6f52e2L },
  36655. { 0x8faa1d3e092b5422L,0x77f55f7f9ca6338cL,0x6dadad8f6546d37aL,
  36656. 0x0ef4922ef3bf7cb1L,0xfcf41c23200ccc57L,0x591e208362aa0372L } },
  36657. /* 32 << 147 */
  36658. { { 0xa933aaf7a4886619L,0x9ec1915f4af13c7fL,0x25a9dff8854de496L,
  36659. 0xa8b31d9b247bec15L,0x468a25c84661e58dL,0x8989c046786a0707L },
  36660. { 0x282db8cabb66922eL,0x73bf240d45ca29ffL,0xa2c40faaeaeda06eL,
  36661. 0x69632929add94b47L,0xc72354f6b0069076L,0x8d197fbf7878e92cL } },
  36662. /* 33 << 147 */
  36663. { { 0x7bd8195662267b63L,0x9352be73894a4ed8L,0x62568211d0bfdfdbL,
  36664. 0x7974999285698b05L,0x897ccd584412ea21L,0xe4cc4ddcb2f25225L },
  36665. { 0x808539bdb4a1d924L,0x619fee34bdebf750L,0x47ed5b3473aea42aL,
  36666. 0x91e07a9b94ba376aL,0x218f6885edb27e08L,0x4feb09e6c4214344L } },
  36667. /* 34 << 147 */
  36668. { { 0x24bf9fbbf3e4bc93L,0x8973b72471151bfcL,0x8e33b753a85eb707L,
  36669. 0x13eba76e50adc461L,0xe445e8e144dd9d2fL,0x8729ec22b1592a0fL },
  36670. { 0x9a13bf315ec24808L,0xe6ae840c2e95cabbL,0x634f3416e28cdf4aL,
  36671. 0x34d3349b9278cd7bL,0xd74990c542b912b5L,0xaf94b104b2430c71L } },
  36672. /* 35 << 147 */
  36673. { { 0x6d26cd01580b15a5L,0x5af25c06dcd849aaL,0x05b00800ffef39f8L,
  36674. 0x8cc59e06f9e0208bL,0x920f69540bc19bf9L,0xc06c4df97faa5ddeL },
  36675. { 0x9a26a3f4770351d4L,0xda015bd3443f40d9L,0x1afd829c740f1942L,
  36676. 0xb108a8a6566e6158L,0x118e50a9a35e5d37L,0x94cac90eab72a3b3L } },
  36677. /* 36 << 147 */
  36678. { { 0x01f7968e60cb465cL,0x4efeffb796e0af3aL,0x6f9016e7066ad6aaL,
  36679. 0xa8ae30e88743aa97L,0x7b77d3e0b7d55766L,0xe1773661c6b3fadeL },
  36680. { 0xa52fa7bc88f5270bL,0x4de08cb39f7f811cL,0x6021536f9bc34254L,
  36681. 0x47bd18cf4068e3d2L,0xc91bc312ce16889dL,0x468659ea929b71f5L } },
  36682. /* 37 << 147 */
  36683. { { 0xa5a2a3b3225b532aL,0x5ed77864167f7874L,0x2b5d475037ae42d7L,
  36684. 0x9bd62f14433b243fL,0xe8dca1b2eea90992L,0x1ce44e53ef5e0624L },
  36685. { 0xd92c7bf61d3d7173L,0x83c1e65424c19a94L,0x59dce036eafe8941L,
  36686. 0x23478c50d81014b0L,0xb89214bbe65a18e9L,0xf9fd325ea05d9fb6L } },
  36687. /* 38 << 147 */
  36688. { { 0x2c4bbee73965ed81L,0x58b6a8766c1a47beL,0x7c8d94f71a67dfabL,
  36689. 0x865c9e42ac6ae9e4L,0xa63a0e42a3114c18L,0x7432c6c92bcf8169L },
  36690. { 0x1927723c7532bd7aL,0x20b75c7201e5781eL,0x1963e16919d57f9cL,
  36691. 0x05427a3cb10e3798L,0x31bbc661cebc82a9L,0xdd88383ac3862997L } },
  36692. /* 39 << 147 */
  36693. { { 0xa0ef513d4adce457L,0x942aea7df9f906d8L,0xe52a2bb5fe22c5a3L,
  36694. 0xfd9fff1f8dec9ca1L,0x19b0e7a27913f99aL,0x58c45dd205660e97L },
  36695. { 0x6722c47ff06d3c2dL,0xe4927a002a4d127fL,0xdc647c1ef40f46a1L,
  36696. 0x538c8cda7ab7a21bL,0x90227d6cc8015ae8L,0xe62f52dc2d4ec8a5L } },
  36697. /* 40 << 147 */
  36698. { { 0x69a9ebd8a83bbb88L,0xcbab0b5a29f98875L,0x325e487e4e7611f0L,
  36699. 0x90aa24b1d955cc3bL,0x840e70a13c264d53L,0x15bcf88bad7f4f81L },
  36700. { 0xe47552cc2cf0df0aL,0xcb99973379205ea9L,0x25dc58bd10d5ca45L,
  36701. 0x0947d7151228b978L,0x9a0204da4f2c7c4aL,0x4377ea4a4690052cL } },
  36702. /* 41 << 147 */
  36703. { { 0x35da16d16bc7d7afL,0x098c4b0271de4ac2L,0xdaa2407c3655dd94L,
  36704. 0x5136884c90380d70L,0x3f47052e762f61abL,0xf715107a8dcd6ddfL },
  36705. { 0x862a4a6e5d76615aL,0x2b546e1b2128a6f9L,0x5297a3cf40490672L,
  36706. 0xef2cbdf1b9c765a6L,0x52e71cb4426562baL,0x34d0e3237a84f9b1L } },
  36707. /* 42 << 147 */
  36708. { { 0x6cd4098d74e7c67bL,0x3bf4193123d2b418L,0x598710ad682135ccL,
  36709. 0x26ccbfe0172d648cL,0x0c4918c5d84dc9afL,0x346e8b6385065417L },
  36710. { 0xcbc7f2efd353219fL,0x93637eea3c4e4863L,0xb18fc69c2dbbd39bL,
  36711. 0x20614dd45a4b5b0cL,0xcdac0383547adce3L,0xedcdd64842ac8be3L } },
  36712. /* 43 << 147 */
  36713. { { 0x76ac6c94b4559439L,0x09090af620319667L,0xef433d73a742e3beL,
  36714. 0xb7ec99eb7cbd7090L,0xcde2579dcb782be1L,0x2a2fb807e75552fcL },
  36715. { 0x083f9e982f1eee15L,0xe20f65c167779c98L,0x73c044ff5f23e998L,
  36716. 0x5fce594269488208L,0x3e4ca86ccace7ba3L,0x5e3f43b8f32c1acaL } },
  36717. /* 44 << 147 */
  36718. { { 0x3ab171a237b42b60L,0x6501afcc4f20e50dL,0x4f9e22413e3a4298L,
  36719. 0x3c5834d9be3b3d3cL,0x9607b8cb9be25af0L,0xcc5f6b6f81c723a5L },
  36720. { 0x11b9b5d199227bacL,0x2bc5dd9f322cc499L,0x0c3884a0cdbc3a55L,
  36721. 0x018a8ebefd4f004aL,0xa858ee7ce08741d9L,0xb5bbfa2b5d69b3ffL } },
  36722. /* 45 << 147 */
  36723. { { 0x57069b4a1b0611b3L,0x24b5421c89da55d7L,0x6433c29dcf9b2fb2L,
  36724. 0xda9382c67869a1cdL,0x67fbb7a343514903L,0xb3429e35e8b224f8L },
  36725. { 0x4058ef1e7ac51191L,0x56283b0cfd4e6114L,0x4eff0caca16fadd1L,
  36726. 0xe6088db7b6ee634eL,0x94e68bd0ca7bd1b7L,0x0e98796b965ff86eL } },
  36727. /* 46 << 147 */
  36728. { { 0xf3176014bbd74a95L,0x5dfe36b51bc6c763L,0x4c463aa27d3d0366L,
  36729. 0xcbd7106cff3b113bL,0x2d660f5a0b6edee3L,0x92d79c864db04c30L },
  36730. { 0xfd1067cfd2236e55L,0x1ae21f2d90925a83L,0x8419072ca952c451L,
  36731. 0x2f268b473d946980L,0x04831991b709ab5aL,0x0d622a70bf72efd6L } },
  36732. /* 47 << 147 */
  36733. { { 0xec468aecf0440b85L,0xaae6041369cea78eL,0x5a88145d12a30f40L,
  36734. 0x438c6e3f37a52bfcL,0x41bf603894749b6eL,0x3d38b86267edc2d1L },
  36735. { 0xe379125a020a32abL,0x68a6b13a198c3944L,0xed1fb3258be252d2L,
  36736. 0x76dc8df6e15c37cfL,0x5a6592cb6453b542L,0x372b1998b3347c65L } },
  36737. /* 48 << 147 */
  36738. { { 0x015c325eb8e79179L,0xf4fc61335b57dce6L,0x27a51e5d78d6858fL,
  36739. 0x13babcab4dd5f180L,0xfaa19cb1847e499eL,0xe2688ae608aaea61L },
  36740. { 0xe20d7edce86100d5L,0xa9b0d46bed2fedacL,0x5e99cc0c1d357dedL,
  36741. 0x4c1263ab723cac89L,0xad5f3e6ff15e22f4L,0xf25f3950d77dae65L } },
  36742. /* 49 << 147 */
  36743. { { 0xf3814fdba1c6fb06L,0xbfde395d8d71559aL,0x6e4b2b1c07e00f72L,
  36744. 0xac0d1aef1e12b111L,0xa4041ea0387dc52cL,0x8004ef4893c80d7dL },
  36745. { 0xb311b5c29a770d6eL,0xd4a340bbaf41a540L,0xe96d1dbd9a5391ccL,
  36746. 0xcd4b19fb45ebf6ffL,0x142556a5dcb6dbe8L,0xf68968ff092f898aL } },
  36747. /* 50 << 147 */
  36748. { { 0x540a2e35c854356eL,0x6d0eab45f5002153L,0xb8f542bd9a6c488cL,
  36749. 0xd572d282c6201f12L,0x260bc62781a3eedaL,0x508621af06eaa5beL },
  36750. { 0x754eeb205eadc8d5L,0xfe33248f42d4b0dbL,0xf44a1c7ac5529222L,
  36751. 0x9079ccb574396eeeL,0x6c4bc87db9cbdc41L,0x1ee8982431ee3f18L } },
  36752. /* 51 << 147 */
  36753. { { 0xb64fc90ed811f25aL,0x310214a2c82c8f68L,0xee559209b5052420L,
  36754. 0x6055c5b45c1bf95eL,0x414f7c8dedce3bc7L,0xd3438b8a66d3cfb4L },
  36755. { 0x687b9f70d3935eeeL,0x553b15ddd3e179f1L,0xccc9961e21ff232bL,
  36756. 0x3729ac207d322041L,0xf1537630094907c9L,0x3e87f4f903153dccL } },
  36757. /* 52 << 147 */
  36758. { { 0x2c21e48c7dae4b17L,0xe842930a07ca1575L,0x3a3d6d361cc47ab4L,
  36759. 0x749dba405fcd07bcL,0x55a538a6f306a498L,0xe85c60be633d42bcL },
  36760. { 0x777595f2dafa94a7L,0x1c690529a0400ef6L,0x41485f886bfa23bbL,
  36761. 0xdead14a1256d9204L,0x74f1a820bbda2f9fL,0xc86554f65fe54284L } },
  36762. /* 53 << 147 */
  36763. { { 0x03ee764b978ad2dbL,0xec253b0f01c9282dL,0x028e7873fb26c425L,
  36764. 0x3e1da0436504ba10L,0x68369881531961f1L,0x0365ea56ee435146L },
  36765. { 0xf5505ae80c00a6b4L,0xc1ac097403f34fe3L,0x7327b391b5922f68L,
  36766. 0xe561cedd1845ef9bL,0xaa82258c6a44b29dL,0x23e39cedc4d56159L } },
  36767. /* 54 << 147 */
  36768. { { 0xf5a07dedd14a3ce3L,0xeda454ec9c47615fL,0x01d6b1562775730fL,
  36769. 0x3ec02f95fe4d93f4L,0x335806e4dcbd0ceaL,0x3f498d1b51a19d96L },
  36770. { 0x9949c853374b7210L,0xb255d34b25980320L,0x3b681db4307b513eL,
  36771. 0x4137053add10a78aL,0xd9c0f2728dcaae0cL,0xcbeb6b7216031955L } },
  36772. /* 55 << 147 */
  36773. { { 0xd1b13e72c709af4cL,0xb4b99796c12f27fcL,0x9e56569a05e2c06eL,
  36774. 0xd8c880631212ba12L,0x8da1a6704e7f8fe4L,0x3bbb314f875bb39eL },
  36775. { 0xc56ef7088fbc8a3fL,0x39b3cef2300d21bbL,0x5e755398458e347eL,
  36776. 0x9f7b84b16c1b2162L,0x278ffd26b08d0c52L,0x7c8a442a9ec7febfL } },
  36777. /* 56 << 147 */
  36778. { { 0x3c0e2b9737e8e6b2L,0xa2037913575da8b7L,0xeedf0a75b925cbb2L,
  36779. 0x4f28ec1bc561b405L,0x368fb2742901931cL,0x52b54eee2f26221fL },
  36780. { 0x381845b6247812a9L,0xf9bcc9619115a0dfL,0xef127dfecb84d25bL,
  36781. 0x4256afe5fa10e0a7L,0x0c08a532353a15ebL,0xbbd15b176a91e61eL } },
  36782. /* 57 << 147 */
  36783. { { 0x3c573b2655574ae4L,0xd3f12e8f2c0be823L,0x5954b69fde9ce60eL,
  36784. 0xc433991bcedfd1eaL,0x35696716718e950bL,0xce4318664e9cc107L },
  36785. { 0xee16b6347359991cL,0x8f05851b1818a113L,0x257a228c3b494b59L,
  36786. 0x4239f98e156f91f6L,0x2382157c72efdcc4L,0xc82b652cff7b7ac1L } },
  36787. /* 58 << 147 */
  36788. { { 0x072eee036b7a9a38L,0x42a680cbaef9b327L,0x67311eb8b56fb35eL,
  36789. 0xf320acf3c7de3776L,0x09c89cc3ed15e895L,0x368501713232345cL },
  36790. { 0x5a5fe1104822f90eL,0x64f7ef18c6077b89L,0xbbc5748c8bdfb971L,
  36791. 0xdf5488334b6209deL,0x02268bf676e7f595L,0x1c7971b447779e75L } },
  36792. /* 59 << 147 */
  36793. { { 0x90d308b495c9497fL,0x277535b782c903f6L,0x443cd37fc5d7b4c3L,
  36794. 0x48ebf0acfcaff8a7L,0x8ee8c79e579f25f6L,0xb825ccd8360ffd90L },
  36795. { 0x6327be1599fe4be2L,0xc94c68cf59ec2909L,0x0dbf8d4456660ce7L,
  36796. 0xbb31989b5d510edaL,0x43c8c365c4a2e601L,0x100de78314dcf793L } },
  36797. /* 60 << 147 */
  36798. { { 0x635ee0f3d33ac52aL,0x609c328dd1970e1aL,0xf28ddf0a09426902L,
  36799. 0x2a94d4decbbcbbe8L,0x15890cf4ab7ecf5cL,0xb14a405df2dd4135L },
  36800. { 0x64659a4fa6d01554L,0x1d1b2c43cc966f9bL,0xb02ee871df0e48b3L,
  36801. 0x0bd13e47f4dc3ebaL,0xb4763547bb4fc529L,0x868650044068ab72L } },
  36802. /* 61 << 147 */
  36803. { { 0xe3d60dfac22bda56L,0x021411ba6be2f502L,0xc1dd4d55b35e750fL,
  36804. 0x708b62cd4d5e1648L,0x234a80c6347b8b8dL,0x53b6fa80f3ba912dL },
  36805. { 0x4041b8007b92c92bL,0x636c12524b6dbceaL,0x4ea250d08a1aa141L,
  36806. 0x9ffa7e35a2ae7be0L,0x765c809cd2844e61L,0x5bcabd922d56de12L } },
  36807. /* 62 << 147 */
  36808. { { 0x48d594e522205fbdL,0x79c78f1c0862eb11L,0x02a3becdf7798099L,
  36809. 0xbfe574a8b1ef2ae5L,0x1bfb7779c4781f34L,0x7211dfcf044da23cL },
  36810. { 0xe4c3fd7dc3686ef9L,0x14c6e5b5e74210f7L,0xc40a0a0275ab746fL,
  36811. 0xd2033594621f6369L,0x6bdbbe3d66241d44L,0x014b089ee47f00e9L } },
  36812. /* 63 << 147 */
  36813. { { 0x93e3a89108e65849L,0xf90a376ba1a712fcL,0x6555d6dff1a48fcdL,
  36814. 0x984ec5c86a763e90L,0x7a7fe565e55d6b14L,0x12550fe809b2e8b7L },
  36815. { 0x21736c048e41210eL,0x72ae44d448ce08f6L,0x02755a2871fecc50L,
  36816. 0x379da24beb485ee5L,0x394cb7ba66d7b659L,0x49fc9d60ab638c33L } },
  36817. /* 64 << 147 */
  36818. { { 0x854b05846150771aL,0x35fdd9b4d9ca9868L,0xec8293894c32fc71L,
  36819. 0x882fad4c9ec8f90dL,0x2d39990dc6c7b9c0L,0x7fbc201bd71a25e5L },
  36820. { 0x6b852e655166da7dL,0xc6bde23a3d8c6e36L,0x370011545857f048L,
  36821. 0x746621fc1ccb9bc8L,0x97e44e63612bb853L,0xabc3b450758da4edL } },
  36822. /* 0 << 154 */
  36823. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  36824. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  36825. /* 1 << 154 */
  36826. { { 0xd25f650804926a41L,0x7236b475514045daL,0x0b36031108b9b08bL,
  36827. 0x16477aff3fe92e91L,0x6e5f6cb103189ddcL,0x81ff008ec698a38fL },
  36828. { 0x02a09218c93adb23L,0x71fcecd3445d8faeL,0x55a15eac8fd6b76cL,
  36829. 0x1e37ec3611ef96b4L,0xd1b3b3fc30e433b5L,0x4951873351d174c3L } },
  36830. /* 2 << 154 */
  36831. { { 0x7914213db8c9f82eL,0x7a3e4e38fc038e90L,0x6edae5a126a34238L,
  36832. 0xe566bf50701ce8c7L,0x3562e87555656e02L,0x48325ebfb4e8efbfL },
  36833. { 0x5f10a50466505ec3L,0xd8b9834b8da78aecL,0x49d1fc25cc2f2e40L,
  36834. 0xe973bb1caf5718c1L,0x9b8825dad2d6b890L,0x7de7885ee2f00f12L } },
  36835. /* 3 << 154 */
  36836. { { 0xfb0fa0e6494fe64fL,0x4ea468b59a907f37L,0x9bb6d672cbabb7ccL,
  36837. 0x523c7c6ea5be2b38L,0x4065adbb361c2e41L,0xffa1299925c13172L },
  36838. { 0x0eb29793f80d5e2dL,0x862fe1ae8e4efeffL,0xd485483e948895c4L,
  36839. 0x513977300d80d5bfL,0xb4731ffc348782f2L,0x42543c76e1a7f6aaL } },
  36840. /* 4 << 154 */
  36841. { { 0xe37211be7ef79898L,0xa810387721344d16L,0xfdcd7e26a1b9f8b4L,
  36842. 0x5641e45d7d7f72d5L,0x5377c1bec449c920L,0xd3edcb0cefc7b2a1L },
  36843. { 0xc657a9ffe14b42fcL,0xc8f858c800831b07L,0x6bfcd1bcd020eaa8L,
  36844. 0x17534b0a3f6860c7L,0x8ce5722284c7c806L,0xa1d40eaf2bd7456bL } },
  36845. /* 5 << 154 */
  36846. { { 0x28b88cbb1a7093caL,0x09275152080a85ebL,0x0bee7d979c1dcc32L,
  36847. 0x43698f5f5ed033a5L,0x4f142867b0f0acc1L,0x6e6202ecf62960deL },
  36848. { 0xe95a607ff005b671L,0xfeee8ea060cae478L,0x456bb6e90e8ec6e5L,
  36849. 0xc1c0319a9d088a59L,0x29c6898bbe3d2379L,0xd7049b2af8a8628fL } },
  36850. /* 6 << 154 */
  36851. { { 0xe0c93007c9aa57eeL,0xebb2d47b8895a604L,0xb8aebc49c4fd6ffeL,
  36852. 0x2c06e1e573f300b6L,0xa019070d81628b8bL,0x2db1690bbaf8c1eaL },
  36853. { 0xb3fce6c8cc94ccd2L,0xf301463885bcdf4fL,0xb1e62616e2f82c32L,
  36854. 0x85581e2468295a54L,0x0f2e2ff5bf51f8faL,0x940716f1155c1f6fL } },
  36855. /* 7 << 154 */
  36856. { { 0x15b2dd270c6bd5f1L,0x07b5bd91eb086d0eL,0xe701742e97c5f5caL,
  36857. 0x3ce5f3f6eea06ea6L,0x51a81a6aa9cee784L,0x2bd404c1c7182fa7L },
  36858. { 0x27deca74d5b8bde4L,0x2c1931c595385e4aL,0x04fcb34e3a79d65fL,
  36859. 0xdf3357edad1babceL,0x8bc628ffa31af476L,0x42ce1d91e5cc9e78L } },
  36860. /* 8 << 154 */
  36861. { { 0xaed02b6b4e623856L,0x7a6d2bef3e1d74cbL,0x82226ec4654e7c30L,
  36862. 0x008ac003e7034bfdL,0xe343c5407fd6b555L,0xca1b29071b429d44L },
  36863. { 0xe0702a339c3ceea2L,0x48079aa9732694c3L,0x7e6d72f6d4652401L,
  36864. 0xd92655ed35f60043L,0xa0dbaac6273e8cc4L,0x0bb8f0f93c3ffb40L } },
  36865. /* 9 << 154 */
  36866. { { 0xc3134781a91940b2L,0x37579fc9e9b90620L,0xa506227a08acd6f1L,
  36867. 0x603ecce0270da73cL,0x8a53b67d7fdd70cfL,0xe29b7df299640bd6L },
  36868. { 0x7bb4fa877569105dL,0x6ee80ae8567bb5e9L,0xf394bd02baccabefL,
  36869. 0xe854b3a6309c944fL,0x1271a131f06246e9L,0xbc1c205531580147L } },
  36870. /* 10 << 154 */
  36871. { { 0xb41b87b6c95cd23bL,0xb99714ba55e371a4L,0xb138ee8f6f571cebL,
  36872. 0x09c42be480146ec7L,0x275ee21eee9aa125L,0x0cef4d6f3a878b59L },
  36873. { 0xd436eb1ca801068dL,0xe2c5448c762b8a80L,0x243beee1f3640ecaL,
  36874. 0xf979458b32bbba7aL,0x6bc26cfea63407d3L,0xd3b6e132392dd1d3L } },
  36875. /* 11 << 154 */
  36876. { { 0x123ae65005d0072fL,0x9f101624f0656bbeL,0x762bd4f4344e283fL,
  36877. 0xd1f70d5161b6863bL,0xcd99382592ef9a38L,0x53aaa0c3ac2bf9bbL },
  36878. { 0x13904fb521ef9a43L,0x0470a8ba2beb8f44L,0xf3733943fcfe9ecdL,
  36879. 0x10b8881a79d776dcL,0x89b94c67b82b7139L,0x7af5147aeb962922L } },
  36880. /* 12 << 154 */
  36881. { { 0xbc06ecab3de4ba2eL,0xf51ca0639e491bcdL,0xa6fc6fa0453c94beL,
  36882. 0x5460f943ed1a6731L,0xeb11656a4ec3f1fbL,0x2fcb2cabff1e7d4eL },
  36883. { 0x595264678fea2286L,0x838117a34e0bee38L,0x7bdf588824fd2ce5L,
  36884. 0x13df0c839f2c2925L,0x1bf621e6dee97f30L,0xb43b2558ebea6641L } },
  36885. /* 13 << 154 */
  36886. { { 0xf49a97d80a33b97cL,0x4e68d71512ab9bcaL,0xc0d361c04bdb65a3L,
  36887. 0x5fba9fb86cfb0cafL,0x222e12ca2a716589L,0xaea01502731f5099L },
  36888. { 0xf322ddf7e97b37f1L,0x050e82a5e55c844dL,0x01ef972ba11d664bL,
  36889. 0xab30502882c737b6L,0x43aa811185e39769L,0x766a9350937c1456L } },
  36890. /* 14 << 154 */
  36891. { { 0x246c86608e729329L,0x39fcc41dd693dac8L,0x48a65b54c062a6c0L,
  36892. 0x368a57706a5a3101L,0xd143600f47ed1988L,0x48466d92a764ce3dL },
  36893. { 0xb05006135a22cb6bL,0xf1d77247edea070cL,0xb1ddd151617f2464L,
  36894. 0x7905069828b83fd9L,0x021abb26d70bf93eL,0x590b3c42ab5a5e1eL } },
  36895. /* 15 << 154 */
  36896. { { 0xe86c737b728b8438L,0x21f45a22acf1dd66L,0x6f29f2d7abd4de3cL,
  36897. 0xa223154576d4435eL,0xad902927f5fcafadL,0x272cceeb04f30557L },
  36898. { 0xc2e4e0017ebbb2d6L,0x73954580bb873ec3L,0xadf5ec7ac7fa9088L,
  36899. 0xc036da0464006dd7L,0x9c3545b5e8274f69L,0x6e153c2552325f50L } },
  36900. /* 16 << 154 */
  36901. { { 0x5906a35c1cfb991fL,0xb62a4f80740a7744L,0x65c8ac9136f84763L,
  36902. 0xf73b3debbe0f1dd3L,0x40358868a2d26c21L,0xd907e90a76792ae7L },
  36903. { 0x3ecea167668c3d5fL,0x731068f26754b49cL,0x6db891090e006243L,
  36904. 0xd29106e6dd94681bL,0xb40b8694a85a3de2L,0xc80c7bf1936b86ccL } },
  36905. /* 17 << 154 */
  36906. { { 0xd735de6b91f7c76aL,0xd89aa1d4b054837aL,0x47c1a397271e94c4L,
  36907. 0x8d91f3f9dcb7c071L,0x4cf9be2db4cc209dL,0x4fb6842ec08190d4L },
  36908. { 0x926423a1d7b2aaedL,0x5bbfc08957a1cb44L,0x44438c56021defb3L,
  36909. 0x8b9a2b1ba09863cfL,0xc9d5c170e37e339fL,0xa8994d5dabb18c7aL } },
  36910. /* 18 << 154 */
  36911. { { 0x003d45d011913575L,0x866cb2dd87e1186bL,0x692f630146b69a22L,
  36912. 0xd296a55c8174c1d1L,0x77ef6fbe9f17af00L,0x6b588be93aa922e1L },
  36913. { 0x99ecb44f033e6dd7L,0x32edea2c1d22b7cdL,0x3122b027ba7006f3L,
  36914. 0x8950054bbb6ebc5cL,0x4f6d606182dab805L,0xc12055181bae5f1bL } },
  36915. /* 19 << 154 */
  36916. { { 0xeca71515ad7edd2dL,0x3f9c330e9bf56567L,0xd0b62d6749104bb1L,
  36917. 0xde92596410cc8d89L,0xc7a083f4287fc898L,0x8ba176e712d15d2bL },
  36918. { 0x2cee62f7b4c8c4c1L,0xc15966c2ef79aeb2L,0x9b449522427c11a6L,
  36919. 0xcc850028eb49b2fcL,0x0966a06d3a22720dL,0xfd511944a1e78c8dL } },
  36920. /* 20 << 154 */
  36921. { { 0x28d33e79e08c180fL,0x768c7794f6aec9ceL,0x5a749f3bce683c5bL,
  36922. 0x717629d98371fe75L,0x5e828fc057712c1dL,0xb46c6ed17e4c61aaL },
  36923. { 0x5d927bad5bccf95cL,0x55d6fc80d72f68ecL,0x560a99a398591dc2L,
  36924. 0xc885fe8a4836664cL,0xd18acd4226d79298L,0x05e4cd17185df1d7L } },
  36925. /* 21 << 154 */
  36926. { { 0x9c1e5db3ab34fbbeL,0x0d4b1e742f7eaa94L,0x106b0b5c86de1289L,
  36927. 0xd2c6c1aab691a830L,0x2e55cff9b9717593L,0x4522b37d075e5e95L },
  36928. { 0xc6ee67ea3abfeb96L,0x35844bbd890b04eaL,0x0246545a55d6f65bL,
  36929. 0xc66bad2b13594e25L,0xaff4c6b35d6aa7d1L,0xebb7d2b5a3f42a84L } },
  36930. /* 22 << 154 */
  36931. { { 0xebc60e21fcc83355L,0xc94dbc02d9119b77L,0xceb05a312f18ae9aL,
  36932. 0xa8462962b8f69016L,0x58dde5a48f67b5f4L,0xb8bdf9c9af3c234dL },
  36933. { 0xe95c069f80e85df8L,0x9d525e1bab3aa0e5L,0x73c8a92f76276d8bL,
  36934. 0x7feb4abd163530efL,0x8ca949b35ef5ad73L,0xe129431e2e3d057bL } },
  36935. /* 23 << 154 */
  36936. { { 0xa263d726c129d188L,0x89da948e9d526adbL,0xc7319a5a6b8a9149L,
  36937. 0xd85d382d8816f421L,0xfad69eb1844032eaL,0xf668901a4233122fL },
  36938. { 0x246cc0de210ddea0L,0x26d8ccb70bc07dbaL,0xfc1b558470e6708cL,
  36939. 0x853802b775fa0b44L,0x215ccb88bb75a5b2L,0xff50f0cf24e60054L } },
  36940. /* 24 << 154 */
  36941. { { 0x9d8a925b60dec308L,0xb72e3efa6b3ea363L,0x4f53ca6ddfb534b8L,
  36942. 0x4e64874c6dd78a32L,0x336e5b46c2a146d5L,0x07c76d6398395201L },
  36943. { 0xa4c095228fe3e815L,0x887e659d3221cc26L,0x0ff92f64c36286ecL,
  36944. 0x57b1b903c3ebb08cL,0xc6bdc9b665f00c30L,0x826242269a46d36eL } },
  36945. /* 25 << 154 */
  36946. { { 0xe054597768bbf4f6L,0x17bb77edb6e2cc19L,0x0cc551d89ae950f7L,
  36947. 0x3490778d761763a4L,0x1c36044a32647ceeL,0xa6e083223f9d2938L },
  36948. { 0xea392a153a656a51L,0x4d51161ba083cb54L,0x15c01e792c690757L,
  36949. 0xc7bf5d7c5cc62636L,0x1b00cddab2ccd76aL,0x68f49fa995313f8cL } },
  36950. /* 26 << 154 */
  36951. { { 0xc782c16c1a0b619aL,0x8643d42bbe316086L,0x49d2966bc0daa421L,
  36952. 0x080b1cafb7b487e0L,0x1d33bb53144de273L,0x8bafce2d6faf7ed9L },
  36953. { 0xdafbe3cf408d4636L,0xf10527df7ee8835bL,0xe1123f3ee2e75522L,
  36954. 0xb388c64bebe27d60L,0x2cb38dc1e3f1f55eL,0x57ff8e43e34524d8L } },
  36955. /* 27 << 154 */
  36956. { { 0x557dc1cbea28398bL,0x34d5709a208996b9L,0x94470993e97a3306L,
  36957. 0x0343320772b117f3L,0x66c4e442f056525fL,0x27753c526d11dd35L },
  36958. { 0xf0aa7658b26a70d7L,0x95608b19543cd7ebL,0x618b2e17bac19156L,
  36959. 0xe7e42948cae64ba1L,0x2016a9d59657ec93L,0xa38f67e03d7ea46cL } },
  36960. /* 28 << 154 */
  36961. { { 0xd67dc92b85653dc8L,0x8e0970af0bc93ab9L,0xb6f09baa8b87c0afL,
  36962. 0x5a8a903052760ef4L,0x2e2ae7561047bf85L,0xd049078f85bd4e74L },
  36963. { 0xced11ff83729f708L,0xdd21cbebd91068a6L,0x83d488ff24b3e911L,
  36964. 0x6e166fda1afd2196L,0x66a912114f0d2128L,0xd11078ed05c9f39cL } },
  36965. /* 29 << 154 */
  36966. { { 0x69aef6f919c64bddL,0xe7d4f909598ab592L,0x48952e280e55124fL,
  36967. 0x637693f6290b558bL,0x3afb2e7b421e60e9L,0x00d1dbac79aac8a9L },
  36968. { 0x45156c5cc08563d5L,0x8cc201be4519c881L,0x2e36c0d7bd616581L,
  36969. 0x595fe0164ee16dffL,0xeebec40ae4889c65L,0x23b6dfd7d35b94e7L } },
  36970. /* 30 << 154 */
  36971. { { 0xd87003d3bdbdf0cfL,0xe9750b5b56c298f1L,0xc256c3a2b73ad05dL,
  36972. 0xe0779a192ee94279L,0x31d8b3c6279626a3L,0x469056bb90163bc8L },
  36973. { 0xe6aeabc623755853L,0x9fffdfe2896a6f4cL,0x15c1ce78a36cf41bL,
  36974. 0xd4c8c025eee41941L,0xf7a917ee7653be9dL,0xfa3cba9659d52222L } },
  36975. /* 31 << 154 */
  36976. { { 0xa02f08586d8c610fL,0x9819c563ad4af3cfL,0x085d4439b95d17eaL,
  36977. 0x9df256ea616f532aL,0x5e9c5419cebd249cL,0xdd5ffbf451062a22L },
  36978. { 0xb8910ea5c8b33577L,0x5e8b7ff7ff8e63d7L,0x5e4f3926b24e230dL,
  36979. 0x163eb51eacd851d7L,0x9bda95f2ea2aef8eL,0x3d6887755aefa290L } },
  36980. /* 32 << 154 */
  36981. { { 0x913f92075f8ab132L,0xd5b6792c5c14080fL,0xefab4e2c787c3594L,
  36982. 0xa55d465fe7b7b7ddL,0x921aaad834e28e6aL,0xc4f3a35e12d6a7bcL },
  36983. { 0x109803c46115a5aeL,0xc023098ce709f9a1L,0x1a8c8bdb99c5bb66L,
  36984. 0x1cd1c2b6bc7c2da7L,0x50189c975f927eefL,0x493823d1229f9410L } },
  36985. /* 33 << 154 */
  36986. { { 0x34ec4dc840dedfb0L,0x1109ddb93aa89063L,0x93d9db278c218bb9L,
  36987. 0x07131b6e0b6007ddL,0xf90570ddcc4690f0L,0xa6a9a634afa26a59L },
  36988. { 0xbd0c25194292e2b7L,0x92b99706a6d44b7eL,0x89481adf4942c03bL,
  36989. 0xff5e56b98a0c30d5L,0xdfd8939591c80fafL,0xed9d140840663594L } },
  36990. /* 34 << 154 */
  36991. { { 0xcc22db55c41e42fcL,0xc90ec77e4c9f2411L,0x419b9f46e4c02557L,
  36992. 0x156ed30ccee45c60L,0xf2c1340a72e4a938L,0x4a9cda8a204775a8L },
  36993. { 0x900fd58713952b75L,0xa82ec2b812461145L,0x9f1875d41db68028L,
  36994. 0xaaa6af31308475acL,0xa11f379442d4b884L,0x1f1fcbe3d087882aL } },
  36995. /* 35 << 154 */
  36996. { { 0xa32d5a80a292fbecL,0xe0b10099d7091eabL,0xcb99bf7b4bfe6956L,
  36997. 0xfd806d4c61955461L,0x7124b1bf931066fdL,0x29fad019649ccbf7L },
  36998. { 0xd1fe7911049609e7L,0xb568e167592f93c1L,0xabe7d10398ba066cL,
  36999. 0x0cd22c9668d7ac2cL,0x0ccd0c21427522d3L,0x97ba199ba503b4a4L } },
  37000. /* 36 << 154 */
  37001. { { 0xa0f2da0c78a2cbf7L,0xd1611acbd163d80dL,0x1af6ee1bf2cd3795L,
  37002. 0xc4993e08307d6105L,0x84c3b8f8560b5f12L,0x4f52c56347869733L },
  37003. { 0x8fd9e3f728d28bc6L,0xdbf34576e5d44bd9L,0xf7e3a6da10d14cb5L,
  37004. 0xb93870990fe051ffL,0xf6363a48f15d43d5L,0x4bc358fcf434d1acL } },
  37005. /* 37 << 154 */
  37006. { { 0x35bac9471eae6dacL,0x4244697e39d6fe97L,0x16ec7f64fe017230L,
  37007. 0x393856d10493823cL,0x0782fbb55b7cbbfeL,0x4c399e3f5820f9f9L },
  37008. { 0x86311cd9c08fe816L,0x057d4cbbc3ac958bL,0x63f09d484bdb0531L,
  37009. 0xab0b582b0b89ea02L,0x19c52243beb30331L,0xafa64f25ca87ff6dL } },
  37010. /* 38 << 154 */
  37011. { { 0x0d28a67859b1f4aaL,0x79b04589c52d40f4L,0x443b7fa5219303d9L,
  37012. 0x5be78d9663972eceL,0x0ccb969e7d984869L,0x7d8738077f81916fL },
  37013. { 0x3502b3e426d9f292L,0xda1de7a82c90b612L,0x5605f5dc434f27c0L,
  37014. 0xa50d3328df89c616L,0x5a80cf84e7082731L,0x2c89e4b6f7ce953aL } },
  37015. /* 39 << 154 */
  37016. { { 0x7a46cd0d01fdf1e6L,0x86868e74e8690fbeL,0xf038771d8a8fc3b2L,
  37017. 0x30135b3084303d90L,0xa7ecb9ded562d20bL,0x7a6d1f37884cd233L },
  37018. { 0xa30ca0bb07dfad3bL,0x1690d6018e09fa7fL,0xe582449f6c744551L,
  37019. 0x0b0030a21b935d17L,0x6b46681272bdb78cL,0xe40d4e5f56d4f328L } },
  37020. /* 40 << 154 */
  37021. { { 0xa29978fc62a8b8b4L,0x4cc216310fa130a9L,0xe4b51c6bf15e04c8L,
  37022. 0x453cf4d23f815420L,0x1257c751c6282b9dL,0xcd15b03c8af1af36L },
  37023. { 0xe3596240514ef6e8L,0x72a6691708ab83d9L,0xca0a62d710e44b2dL,
  37024. 0xcde068128a9b8a8dL,0xd492b261ba470875L,0x5c7ea67cc6d7aeb8L } },
  37025. /* 41 << 154 */
  37026. { { 0x6acd945fc0995487L,0x06d5b2e47abac4fbL,0x42cddd75aaf3d12bL,
  37027. 0xca7d2363de1b9632L,0xbb1a1990dfbbb30fL,0xb0beb43139fd7bd4L },
  37028. { 0x9ceb36884fa796e7L,0xb4d2bc4ba3266ab8L,0x79bda9d6e02df012L,
  37029. 0x414636bbf6faf7c4L,0x0a6603b9d1ab23f9L,0x2bc60c848db14f7bL } },
  37030. /* 42 << 154 */
  37031. { { 0x1b36ef27007ff90fL,0x394fe8095111399dL,0xaf4f246cb758e748L,
  37032. 0x794e4b151a7139a2L,0x40869a49eb527db3L,0xf2e15106f46d1b34L },
  37033. { 0x46619f0352ac96e6L,0x40f556de49caf0c4L,0xa36b11d693072befL,
  37034. 0x871919b4ab2dad50L,0xf44b8084792dcefdL,0xe051823dbc31b021L } },
  37035. /* 43 << 154 */
  37036. { { 0x56293d8dcfd7432bL,0xdedf8dfd1d5f72c4L,0x743f4a71ae604fb4L,
  37037. 0xfb35ab43730caf7fL,0xcaacce6b20fc2167L,0x21ec3a0daa8ac71aL },
  37038. { 0x4fdf5890c21ac9baL,0xbdc41ecfd6149328L,0xb1ac4d519b381c55L,
  37039. 0xc4cc08fd63f10a98L,0x2b9f0d3a4913a671L,0x9ce9949cbc36a952L } },
  37040. /* 44 << 154 */
  37041. { { 0x5049a7d3f758b1b2L,0x60beb74f14ab97b8L,0xdfc47828a9ff8ad3L,
  37042. 0x303a0cde8bb99766L,0x53f4b45a43b9a7a6L,0xe467aec8ca6e8c43L },
  37043. { 0xb8e7db7b3f573855L,0x5fee5a5481e760f1L,0xe928b23385b0fed4L,
  37044. 0x72f02728ebae0b7cL,0xe32abf70bb5897d3L,0x103e8b859c572995L } },
  37045. /* 45 << 154 */
  37046. { { 0xf321278c2dc1a02cL,0x06ca03865dd09f91L,0x3c28640b7bac9e7aL,
  37047. 0xe3a7f9b527b1a011L,0x9137ad0407ccedd3L,0x3a2976a8cb6b447aL },
  37048. { 0xab1c39248225c1ecL,0x30703f108f9022a8L,0x212f0f1bb0b2a64bL,
  37049. 0x76ad924b3e73862fL,0x47253a5c84842ac8L,0x33a03a17755af95eL } },
  37050. /* 46 << 154 */
  37051. { { 0x97c371fc5a274b61L,0xc7362cdbb14c680bL,0xa8cdd929efbd49afL,
  37052. 0xdfb2d5f075325f06L,0xf62d10e2b905531bL,0xbdfbfd8462ed0c3aL },
  37053. { 0x252061599d07d2daL,0x1376775152491224L,0x165637057413313cL,
  37054. 0x642a7911a2b88eb1L,0x42d9dc6806ffe363L,0xe81d3403017bcc9fL } },
  37055. /* 47 << 154 */
  37056. { { 0xa68ce9db93d57f06L,0x4d1fa86a31dba07dL,0xf11603178c4822abL,
  37057. 0xc2243680633c26f5L,0x6b4e91cd10f1da80L,0x4358155734827d78L },
  37058. { 0xbf54e87400c19817L,0xf52b94c4f2bad957L,0xcc85de8144e71756L,
  37059. 0x4f7d8ca365b7a8c2L,0xff76efa579d7c36eL,0x50a444025952932aL } },
  37060. /* 48 << 154 */
  37061. { { 0x87c0ef84172784bdL,0x023128267a5f2d07L,0xeae5c0cec9901fa3L,
  37062. 0x6ea74133a11144e5L,0x740c3d2ed8e89beeL,0x88e06131f9bb1801L },
  37063. { 0x47f253754356fd51L,0x8e2ca6ce38e45ea1L,0xf0afe990c2ef8066L,
  37064. 0x91b7263d8ea03d0fL,0x37b01664880ca591L,0x61306f09790c8ed7L } },
  37065. /* 49 << 154 */
  37066. { { 0x084c4f92b24a5736L,0xf3d01da90a3c3859L,0xd37c47ed7468b812L,
  37067. 0xeb539a939567c798L,0xd852f502acfdc072L,0xd8e5454996245975L },
  37068. { 0x42ec3948db5e323dL,0xdbebd1c7002d3fadL,0x9cc5db55d7c62d0aL,
  37069. 0x22af02388afa4c07L,0xbdcb68fc6979eb74L,0x33763dd544dc11baL } },
  37070. /* 50 << 154 */
  37071. { { 0x4734465f87c2e496L,0xbafe4fb4eb7d82c4L,0x940b168521837f17L,
  37072. 0x790d7041345a66c3L,0xe9973cfd65ea596cL,0x45fc95df058b3350L },
  37073. { 0xc63bf91405d08638L,0x36e6af6476465a92L,0x7fe09193f1eb3701L,
  37074. 0x364f64f06468e2aaL,0x83108431f7129cc9L,0x3ac117205606bf94L } },
  37075. /* 51 << 154 */
  37076. { { 0xe6a85c7d34dcecd9L,0xc14437fe338cdc1aL,0xa5eeb471b3a9233eL,
  37077. 0xf230947c71349a62L,0xe704a95686308ebbL,0x0ef4d4da4a362a8dL },
  37078. { 0xae9be4394b634c67L,0xf736c07c569f0039L,0x7356f3010f5f07d9L,
  37079. 0xc86c4000823c9cecL,0xc43b3489951ab5faL,0xa7a3b3a6b46bb659L } },
  37080. /* 52 << 154 */
  37081. { { 0xb1d6cb737337af87L,0x09a59a6908638c3cL,0x4ecc3fd25d94c727L,
  37082. 0xa7b57269e274ba87L,0x909cd824a61a0590L,0xcbe63cfe3c11751dL },
  37083. { 0x9574de8347c46efaL,0xee334cda539b7e03L,0x245bc6a2e3ef3599L,
  37084. 0x13a570fee88d0da7L,0x88ede26d90ef4a21L,0xa0c5953b01fccebcL } },
  37085. /* 53 << 154 */
  37086. { { 0x855ff0f7657121c2L,0x18754814f94c7402L,0x720f1e3c32ce8340L,
  37087. 0x7ecd080ee8e49d3dL,0x2838e642f0bee412L,0x69cad618209f8e60L },
  37088. { 0x5730f2dba983a4cbL,0x74957697f43896a1L,0x68de04373dc55d4aL,
  37089. 0xa2fbb915628698bbL,0xc8279c975cace19dL,0x7df557465fd52bc0L } },
  37090. /* 54 << 154 */
  37091. { { 0x1cb1c2f378c3f521L,0xa425f99b63116c7dL,0xc86b48c36f7c0e71L,
  37092. 0x9e92e82dc76a73ddL,0x8c0414657e7d6df8L,0x99e7884d38c02d8eL },
  37093. { 0x6c53c0cfb78a7e50L,0xcbcb5114481d60ebL,0x1eed68ed035b4441L,
  37094. 0xdc95269f755f18efL,0x3ad7f32a3fe51f12L,0x981782d017296245L } },
  37095. /* 55 << 154 */
  37096. { { 0x7743ef2655fcd15eL,0xa73944a4d07f3cc0L,0x3161d6a32438cf14L,
  37097. 0xad193a9b14e8938aL,0xe1de190e872dac01L,0xb165da2fc4795b10L },
  37098. { 0x1eb89d519e155bfeL,0xc8b97d94c9c552d5L,0xea7d3edb108c4c82L,
  37099. 0xafb60b29c10acbb5L,0x331b316b82c7b642L,0xa53c4b3d719fa342L } },
  37100. /* 56 << 154 */
  37101. { { 0xc8dc34f36b3bcbdfL,0x952d337b24d72806L,0x28b8ec817e56e8c8L,
  37102. 0x98e78abdbe861aebL,0x521773ddcf3bd040L,0x582ffcb2b7ca45d2L },
  37103. { 0x70962c0a04202ac8L,0x31b6ac909f29381fL,0x3b4cd403355715a7L,
  37104. 0xffbbd1a7399a071cL,0xac669b08e50f02d7L,0x0f568c89b2cf0565L } },
  37105. /* 57 << 154 */
  37106. { { 0x2d2afc2daae7e637L,0x840e47c782a818efL,0xfe26a67c879f2451L,
  37107. 0xd41d289810f54247L,0x36040f4877119f14L,0x741859a983f240ccL },
  37108. { 0x15f9607a8fa720c8L,0x8eb70f6df7b8e32dL,0x755394229b98d670L,
  37109. 0x80a4a127750c4e62L,0xbe88d03195ca3a50L,0xfadeb53dc6411eb6L } },
  37110. /* 58 << 154 */
  37111. { { 0x19f29da06b824028L,0xa5cfd12b7bd354a7L,0x1cb5d74caeb59b3aL,
  37112. 0xec9a8ccc47211999L,0xd7f2a1c17852f167L,0x134629209a1859cdL },
  37113. { 0xdd65f7ac9e3a339fL,0xccaa968075437831L,0x25772f9b7f502bb0L,
  37114. 0xa64cd12f6fa0aa66L,0xd2f46ac62af2c3d4L,0x58433d963f262a2fL } },
  37115. /* 59 << 154 */
  37116. { { 0x747757c6715ba7e6L,0xc01b73c1f9cbefd2L,0xf1d96de501bbc017L,
  37117. 0xad554e91a1087f55L,0xd9b74be65a6cc716L,0xad2f2c0320317019L },
  37118. { 0x42ef19c207893532L,0x7f3624c40858fdc1L,0xc104bde7078936c6L,
  37119. 0x99af706682b5f95eL,0xa40e02625a13a9a0L,0x6c0251c40a318574L } },
  37120. /* 60 << 154 */
  37121. { { 0xedb3abb1fe36eed2L,0xbb2cc1e6a038298aL,0xfa0ac06fe5adc3beL,
  37122. 0x7cbcef3eae73ebe1L,0x41596590cd676b87L,0x6cc8c0ae214391d7L },
  37123. { 0x826e2e16fcb3f244L,0x1ed7837e1be22058L,0x83052d0d1a9912b3L,
  37124. 0xa2cb410c8ac3dbf5L,0x279d555a7faa6bc7L,0x870e7132f52b439cL } },
  37125. /* 61 << 154 */
  37126. { { 0x5957428e385308d3L,0x49ba20b3bfdae187L,0x4e1281c3adb44defL,
  37127. 0xebe93dc4e75c6cf9L,0x81d1d1cff675fc6eL,0xbe01bcecfe0e371cL },
  37128. { 0x713f294d336bc7caL,0x1beb1508e26a1903L,0xbb5feab4b6819961L,
  37129. 0x28bede2741bfc7efL,0xb0a5108bb3365719L,0x81a8c9255ccd21a3L } },
  37130. /* 62 << 154 */
  37131. { { 0x4f3d90af2bea6870L,0xfebb0de2ca26ca46L,0x109d96e5d58bd9d2L,
  37132. 0x4b42928cd9882c8aL,0x5238cb7a8c73adcaL,0x9d79d72a4adfc913L },
  37133. { 0xba58929d1f0bf201L,0x0b7790a505f52baeL,0x361949aae45fda0bL,
  37134. 0x21b2d006af3f732cL,0x1ed05dc33aa84bf8L,0x2322b7f72405980cL } },
  37135. /* 63 << 154 */
  37136. { { 0x4a38b5b2c7151e42L,0x1d5dd94894550168L,0xf2adeb5b7b3d1d93L,
  37137. 0xe15c42fa36661a89L,0x7d55a3f27a3aee90L,0xbe1b5c39d9d350a4L },
  37138. { 0x9c4d6fa2610f16b8L,0x7b96051da60fb18eL,0x539762fa496c018bL,
  37139. 0x048ffa39168a8f22L,0x33486ccada1c0a58L,0xe216d6be9fd687a1L } },
  37140. /* 64 << 154 */
  37141. { { 0x11a8fde5f0ce2df4L,0xbc70ca3efa8d26dfL,0x6818c275c74dfe82L,
  37142. 0x2b0294ac38373a50L,0x584c4061e8e5f88fL,0x1c05c1ca7342383aL },
  37143. { 0x263895b3911430ecL,0xef9b0032a5171453L,0x144359da84da7f0cL,
  37144. 0x76e3095a924a09f2L,0x612986e3d69ad835L,0x70e03ada392122afL } },
  37145. /* 0 << 161 */
  37146. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  37147. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  37148. /* 1 << 161 */
  37149. { { 0x3ee0a31c6754f492L,0x02636c6b96769ff5L,0x90a64f4ff0fbfa96L,
  37150. 0x513f054efafea65aL,0x796ba7479cf4b9f9L,0x3198c068932a9590L },
  37151. { 0x93af8a65549ee095L,0xb8b6f72ca212760fL,0x23bc71e9c1a46c8fL,
  37152. 0x000643af4c9bca72L,0xb6d967c7848cea30L,0xe06b6b4e73312ec2L } },
  37153. /* 2 << 161 */
  37154. { { 0x52ec99561d85a725L,0x0f9be000f3208012L,0xe881337c6dcc7816L,
  37155. 0xe4e7b6d9791f7cf1L,0xfaa717aa59885a42L,0xb1bbb5c7f9c01e41L },
  37156. { 0xcf208d58a0361880L,0x24426e4020afa350L,0x7261871b264ce04aL,
  37157. 0x66be4a86cd42026aL,0xc5397b77829f99feL,0xffe4a6bc24578e2bL } },
  37158. /* 3 << 161 */
  37159. { { 0x0733667af822d5f9L,0xd7f81b9e18339700L,0x7ca29b27a7bc265fL,
  37160. 0x9fefa698eb4f0c7aL,0x7b6f351301f27630L,0x72f0f152fcfb1133L },
  37161. { 0x9928d9d05c81eb14L,0xa16ac36bed8ff6cbL,0x7fbd1acbe041bef3L,
  37162. 0x7d25159af8d99854L,0x2ec3a7d8db5a0dc5L,0xd86fc4cc87e3e933L } },
  37163. /* 4 << 161 */
  37164. { { 0xba8418f34c20e15fL,0x7eed2494fb54404eL,0x4e6438d7bce1e82dL,
  37165. 0x9e489b3eb397915bL,0xa9baea9ffb4cf659L,0x8bc5b2ba42ef4affL },
  37166. { 0xae3fb5337e62a188L,0xcd648493496e8e35L,0x89728e28defe047bL,
  37167. 0x63a8c679d24e60feL,0xadacbf92470f710cL,0xd470aeb95e198d3cL } },
  37168. /* 5 << 161 */
  37169. { { 0x8e3807dd7a3e874aL,0xc4edb45b89ac3a99L,0x9ba9cdaf4bfd77d2L,
  37170. 0x31d33f59b540fffcL,0x404c87790c60028bL,0x7f89da7189688c81L },
  37171. { 0xdd3390e5504b862bL,0xdf1e721be937efe3L,0x5833d0df63e6036fL,
  37172. 0x7712527a385fbab4L,0x6347236bd210c0d4L,0x12d7733c8d238e2dL } },
  37173. /* 6 << 161 */
  37174. { { 0x0ecb0723302e943fL,0xd180ca1e4a443e78L,0x39e7891123dd2c9eL,
  37175. 0xfa2a440401fe50bbL,0x4678e7ed154d39d1L,0x64ddaee1af513e01L },
  37176. { 0x6d4c615a634904daL,0x937c6326ba5c900cL,0x70658f5feb6c8582L,
  37177. 0x2a04fd51f3d65166L,0xcefe7472b676eb47L,0xd3565a71f597d887L } },
  37178. /* 7 << 161 */
  37179. { { 0x299520f4e5dcba80L,0x522ad4b52b758045L,0x54eabe27193b36d4L,
  37180. 0xda4d3bff45e9e442L,0x44cb9252637311f3L,0x4cd620a971338ebfL },
  37181. { 0xec908157cc9524fbL,0x2731a11ba8c955d7L,0x72a5e0545cb94009L,
  37182. 0x7eee8f3b9126cfe8L,0xc71e29203dd5d5ceL,0xe886f91a22069494L } },
  37183. /* 8 << 161 */
  37184. { { 0x294d29550db962c0L,0xd6994ef46d523ab0L,0xfa1a7f9158f95037L,
  37185. 0xb137981164420c94L,0x2b686e1e093caea8L,0xdef10944f9e1c340L },
  37186. { 0xcd1beecf611d9bf5L,0x34696c50a1b5267bL,0xcecbc7192dfc2b16L,
  37187. 0x2cdb955dcee7e854L,0x9fefc321f2635cc8L,0x276d2e4f2936f7d3L } },
  37188. /* 9 << 161 */
  37189. { { 0xa9de8b87d38e86b2L,0xe0c2f232780d2fb9L,0x742d7fe9449e78b1L,
  37190. 0xc6946b7ef29efe3bL,0xbd59bcf985de7456L,0xb070ebfadb492e64L },
  37191. { 0x5cda7ac8a0ff7c15L,0x6e0c0062c4f435c9L,0x4d8e5395974d4be8L,
  37192. 0xa0a0c5984e6d1681L,0x5debadbea14cbda0L,0xe176a772ae30b167L } },
  37193. /* 10 << 161 */
  37194. { { 0x25df81bce7b19019L,0x3058081aa6f45519L,0xccafbccabb3de1d7L,
  37195. 0x2b794710c515b1b0L,0x74b81bf87168d9ddL,0x92d5e462ec00571eL },
  37196. { 0x865e29efdc670943L,0x2350537c7f6299c0L,0x9fdf787ea947c6f8L,
  37197. 0x9601cb21cabe0f8bL,0x2899d5f49313b000L,0x4873bc9f66a9e8e2L } },
  37198. /* 11 << 161 */
  37199. { { 0x2829add72f163a26L,0xf96dd91156909488L,0xc16d185f769ccb59L,
  37200. 0x13c4b566e9c6da4fL,0xfd68110bc423ac34L,0x64911819cfaa9fb6L },
  37201. { 0xad7c7d2b12dd07e5L,0xbf7eea90abc19a50L,0x1db70ed108d6c57aL,
  37202. 0x01da2b41446deeabL,0x163a5a5fa4f6a367L,0xca9f4bcca10c8a53L } },
  37203. /* 12 << 161 */
  37204. { { 0x2132c32e68206a00L,0x20bc1bb483bab6d9L,0x99fa3be2bc4ef156L,
  37205. 0xe515cd05ebbd6c33L,0x9c06d7670d2c8ebcL,0x2fa7f3b68a79c884L },
  37206. { 0xa4dad16a9137df25L,0xc4da20f833598c21L,0x32f5d9e3867cb117L,
  37207. 0x8f00fb54da7cf533L,0x428cf9e3870ef3b4L,0xa8b6c754521b8428L } },
  37208. /* 13 << 161 */
  37209. { { 0xe9b297be7be5e610L,0xd09f63c304b49303L,0x9110a9b381ebb814L,
  37210. 0xc32af8986bf19586L,0x5c4939571da2280fL,0x89e85cb41becc5f5L },
  37211. { 0x1068cb528f1a396eL,0x49dde483440a6144L,0x51280400b5d6aaf0L,
  37212. 0x0e8ac4a53e8ea21aL,0x32f4a91d92582420L,0x5eb09649bc35e408L } },
  37213. /* 14 << 161 */
  37214. { { 0xea3a2f0c32f235f8L,0x8281bfe5bf4a8256L,0xf44e1319577b9e1fL,
  37215. 0x31732d1bab2d9ac7L,0x6e7682eff375c5cdL,0x7069fbaf0913ed09L },
  37216. { 0x693257dcf690cb94L,0x576a85b2dfa6e07bL,0x72e00515447fe4e4L,
  37217. 0x00af617509a2cd8bL,0x05a61365902ae75fL,0x8310b16db5ecb690L } },
  37218. /* 15 << 161 */
  37219. { { 0x4d22c79cb00fd8f5L,0x432b09844c9ed8b2L,0x43da93b2a85b3f0aL,
  37220. 0x0522df2ac4163655L,0x2ea7210b77214019L,0x8280099b7051a9a3L },
  37221. { 0xcd0a829bb11b9e80L,0x9bda76c7246ee656L,0x1ece801bad70a0faL,
  37222. 0x4f8162f096721d79L,0x341faae58e7c3b0aL,0x6914420b12e57cf4L } },
  37223. /* 16 << 161 */
  37224. { { 0x4962c02167141724L,0x5f81eabeabe7762fL,0x78549a79dd189c3fL,
  37225. 0x47675cdd6ce517a7L,0x5102294e32d6bb97L,0xb19500c66ed1a029L },
  37226. { 0x3efb54e8b16a206cL,0x7dbdcc250dc135b8L,0x955bc2948967fb04L,
  37227. 0x373615c9be04e909L,0xf1fcf820111efad6L,0x8530f97d6fd2e97aL } },
  37228. /* 17 << 161 */
  37229. { { 0xdfff3aceb3b513d3L,0x569f9d42fdaed4c5L,0x8615a9cf71cdec34L,
  37230. 0x2e700c34ceeedc56L,0x9047d770a48d0682L,0x3fc845780ee5893fL },
  37231. { 0xaaaf3d90ab5b432bL,0xc846365184cb412cL,0xd215030d928ec9bdL,
  37232. 0x237a710045b97accL,0x0f533045ff791353L,0x093a0d21a1899bf6L } },
  37233. /* 18 << 161 */
  37234. { { 0x5da20568b4bcee44L,0x878025840f5bd27dL,0xc76b965c1c06dbccL,
  37235. 0x89ea2cceb1492616L,0xaefc8746b460c4bdL,0x679e6edb994d1756L },
  37236. { 0x4ff93a4a271f3218L,0xae496faf3b970a74L,0x062df3a7ba6c44f2L,
  37237. 0x1ede93021990ede1L,0xa797899af9a1e2adL,0x9b1bcf6d82599120L } },
  37238. /* 19 << 161 */
  37239. { { 0x63a38a51bd04f6ffL,0x2ddc958bffafb91aL,0x198895cdb19b2b08L,
  37240. 0x1bb494246f65b797L,0xf75df140f157b79eL,0xa188dc873d599990L },
  37241. { 0x8b926eecaeac83c2L,0x55fe56f03b82900fL,0x10eb6dd33b11d061L,
  37242. 0x8b44c14c3aec5877L,0x294b83e8b486e651L,0x469e552f79524b3fL } },
  37243. /* 20 << 161 */
  37244. { { 0x69386f451a746ed1L,0x4319649bcc14bac3L,0x006292b3b647cefcL,
  37245. 0xc771b7cda20e2a37L,0x838714d2396bf329L,0xf263e66759c0823dL },
  37246. { 0x7ee258f0725e3ecbL,0x37638f9934218254L,0x4d57db246fc6d0f6L,
  37247. 0x8c85ad7322c2dd47L,0x2300a9129c59cf13L,0x63971b0bee08c1bcL } },
  37248. /* 21 << 161 */
  37249. { { 0x180032d98c2e7698L,0x07d4d364a851f2faL,0x0070bbdeb50b5986L,
  37250. 0xba05ee28274eee7dL,0x28843675b0f482e5L,0xdcc9c09ff82b2229L },
  37251. { 0xae0273e7f061df73L,0xa3856b6644e3a740L,0x4b13b141527b80ceL,
  37252. 0xfd83b7f0e1b7dabdL,0xa3b5a2f1536c04c3L,0xfd09c77bb29e2bf3L } },
  37253. /* 22 << 161 */
  37254. { { 0x05fe64c5436e7c2dL,0x5b9f0b83ebb1ee26L,0x13dcbfed2977d6f5L,
  37255. 0xbd16c6b7db552375L,0xaaeacc2342da342dL,0xe427d2ee0cfec89dL },
  37256. { 0x3097ac7b038b280cL,0xa2b79d623aab3c43L,0x9771fff4a40f585aL,
  37257. 0xf50974e0b15aa16cL,0x114e51137a847284L,0x574ba8efb4fbe083L } },
  37258. /* 23 << 161 */
  37259. { { 0x3c8dfa3b05e37e4aL,0xeaf691b47408352aL,0x2e1ce9863c9a8610L,
  37260. 0x8d024a814acfb35fL,0x3766aa2184ba6baaL,0xc336f82eb91f5a27L },
  37261. { 0xe2d46985412ab7b4L,0x397f0411ded6de53L,0x067241c3544768fdL,
  37262. 0x9206d3839b71e023L,0x8571fe1e3f51c3c9L,0x0abdb52e3ba345abL } },
  37263. /* 24 << 161 */
  37264. { { 0x85e1e4abd5281f9bL,0xc7e517ddc653b0c8L,0xc0b84da1a717e034L,
  37265. 0xf1a63b280f1bf3dfL,0x47b74201aba6fd41L,0x9cf3da633518fcabL },
  37266. { 0xe12511fb23bb6e77L,0x13b2cb4438679d79L,0x20e0fb10db5665c0L,
  37267. 0xb5448a33b99f4d5aL,0xcb1847ad46b7dbceL,0x41f156b8fdcadb87L } },
  37268. /* 25 << 161 */
  37269. { { 0xd09b746793c8b2a8L,0x36c760204357f251L,0xa965d1771ac04cf1L,
  37270. 0xca49d59427740f18L,0xbba973ed76c53b33L,0x7f8c2d264c17d867L },
  37271. { 0x389afbbb00966b80L,0x92f2097a55988387L,0x316a85393a47c746L,
  37272. 0x259ae094ac3a3a30L,0x337f1d3f0d61ee3cL,0x02d5a60ca9d928ebL } },
  37273. /* 26 << 161 */
  37274. { { 0xd9f370e42af77d78L,0xf9cb8d588bfa692fL,0xdc8a4c24fc9203d5L,
  37275. 0x499b6fda3b8138f4L,0x051a61f19118d3b8L,0x89207fa2cb251fb6L },
  37276. { 0x32247676bbb0e12dL,0xaa1c59822900bce2L,0xe7beff9c7df4f6c1L,
  37277. 0x595fd551757c1449L,0x2fe91299650e8961L,0x2db30033f480bf30L } },
  37278. /* 27 << 161 */
  37279. { { 0xe796c05d110c4d7fL,0x12f87395d4af6817L,0x849cd9e6b5512cb8L,
  37280. 0x23b8d0a4adb71290L,0x28cc808bee64339fL,0x3072d46fcc27fd1cL },
  37281. { 0x8d9183af47f675d2L,0x9959aa9102c84561L,0xdff7591708216e03L,
  37282. 0x868c237abd01b2f0L,0x4c00c229a53e639fL,0x2c0667fb07d69862L } },
  37283. /* 28 << 161 */
  37284. { { 0xb4d2324f9470e571L,0x3af515979ca353e5L,0x479a3a796ae5778bL,
  37285. 0x387958a7fb1d9c91L,0x4e606558cf91edc6L,0x428384ca495a3b00L },
  37286. { 0xa49f67da10f7146fL,0xbda553e08e25f80fL,0x21b034c4cb919bc6L,
  37287. 0x1fb454bfa7930462L,0x1fb2ac9b255d7fd8L,0x491cceff8b197e6aL } },
  37288. /* 29 << 161 */
  37289. { { 0x0a0e0cd91f5a179fL,0x699d872713841e78L,0xfa93f774fc47f9cfL,
  37290. 0x8fd0019c02933131L,0x128efed95aa46834L,0xe20226fdf080cb8dL },
  37291. { 0xf7b05fc3000445dcL,0xcc818da1f52f5ddbL,0x0fa803d07299267aL,
  37292. 0x99cf0ab4f9f172a0L,0xb5dd3c36b08d03a3L,0xfafa550ea1c2f73dL } },
  37293. /* 30 << 161 */
  37294. { { 0xdda52c89d2da4e36L,0x0348948d5c333386L,0xe3a5be8b37917590L,
  37295. 0x42488ae238e4aaacL,0xa6ecb5be7a44eb6aL,0x3bfd640ea9b27b56L },
  37296. { 0x23b8d107bd05946aL,0x01018c45bb8034bdL,0x1ffc958cd2e058fbL,
  37297. 0xeadc93953fd43516L,0x0659b83ea0491dbcL,0xc36115008cdee521L } },
  37298. /* 31 << 161 */
  37299. { { 0xc0f3761c034b0a6eL,0x2c4ce5481fb66b85L,0x7a5d3143410698abL,
  37300. 0x4bc07a795d59e8c5L,0x176a10eb4d19ba85L,0xa8a68c5526dae045L },
  37301. { 0x7eed57fb21625985L,0x33ef04ae16c62e63L,0x78d0acd4562454bcL,
  37302. 0x5878d7f2a44a1608L,0xa51a423a0cf11971L,0x1934e3f2f21fd6ecL } },
  37303. /* 32 << 161 */
  37304. { { 0x3f2b5bd4b4805410L,0x201ca7a9f96c5ee7L,0x532ef2db94256fe1L,
  37305. 0xacbfc459318ddb03L,0x2375f9fd5f24c8e1L,0xd27c479b370783dbL },
  37306. { 0x1bd461e856541ae6L,0x78f054a77f7ea49aL,0xc9f8777d8845f315L,
  37307. 0x81aed29697fc92c7L,0x9f2f8d7949929540L,0x7531e78bff5ebfe0L } },
  37308. /* 33 << 161 */
  37309. { { 0xd4710d5a16ba6a11L,0xb172d8a0e056d27aL,0x01879d2b8301e5c0L,
  37310. 0x100c3e706f6a3396L,0x4a33d4a4e4e1cab1L,0x48016f0f08017d74L },
  37311. { 0xbde9e0f18cec4fb8L,0xd8604899eb15c26dL,0x17ac5d884a21f615L,
  37312. 0xb8f1e7060cb0cddfL,0x0ead85644a0d51c2L,0x7bff69bdfd6bafa5L } },
  37313. /* 34 << 161 */
  37314. { { 0x028acd1cb6b73820L,0xc931f4bc815047a8L,0x22c6159f1ede2c60L,
  37315. 0x571dd40c99a4820fL,0xbaf08be0b450f472L,0x6475536aeb5bb639L },
  37316. { 0x033568e4d984d0c7L,0x2ab7dd4885e910d4L,0xb0d76698d0c632ebL,
  37317. 0x954d00f3e3c34a46L,0x53e8772de651bc5eL,0x4910b07b6e3564f6L } },
  37318. /* 35 << 161 */
  37319. { { 0xe1550b37e758fcf6L,0xfea2446f763120abL,0x5db50b38124f80e6L,
  37320. 0x5cc28a7830c3301aL,0xa935846fd950d5b9L,0xae3e87f2ce43ebe3L },
  37321. { 0xf033b25b7d0776a5L,0x941d186e882c5916L,0x0430c4503d6d4f7dL,
  37322. 0x4e0641c0726f30ccL,0xdfcdbd1626c66c27L,0x43c4590ceb00e495L } },
  37323. /* 36 << 161 */
  37324. { { 0xd8cbdd8b70435ca2L,0xede7fb3675af3a63L,0x6c1fa971090b36bcL,
  37325. 0xdd2292eb85455ed2L,0xf9c3889c7fbe5041L,0x2ec87c15506d605fL },
  37326. { 0x2691b0a28b099c25L,0x27961c8b89944e21L,0x8e9e18a5147f5304L,
  37327. 0x6a82e35baf7dce25L,0x6745339c32a4bbc4L,0xe0bf0e0ee026676aL } },
  37328. /* 37 << 161 */
  37329. { { 0x3c6fd1ab352a43fbL,0xe57e7f8cbd68dbffL,0xa4a5b74e9ea30f41L,
  37330. 0xacea695d2d5a3a34L,0x183be19adc8fe4d3L,0x22fce6281b9f9d1cL },
  37331. { 0x8b1ae75da5d35bc9L,0x213face52c673f82L,0xa879851d6568d549L,
  37332. 0x327c59937f8d8112L,0x56b982e2a7869b71L,0xc77afa6110bb8086L } },
  37333. /* 38 << 161 */
  37334. { { 0x1dcd57541ccadbe8L,0xd2d8c36512b37773L,0xc1a7a5b7d50e8680L,
  37335. 0xab1a00b3e19d155eL,0x58f4bcce7a9776b8L,0x1c02df3320d9d7aaL },
  37336. { 0x24f00d31db8cea6fL,0x2680b029d4aa0785L,0xf3db2889c48587f5L,
  37337. 0x1811dd2521a7fabaL,0x5836964bbf820746L,0x3b118bab97aca83eL } },
  37338. /* 39 << 161 */
  37339. { { 0x14babe6321d76845L,0xf7b4c662c60f5934L,0xbf212c4434de5b23L,
  37340. 0x57c478a35bdf0a35L,0xddecc21535dc8714L,0x1609b7401571e91aL },
  37341. { 0x41998697ba45b40aL,0x6ef382d468cf383aL,0x77a24c1488c0ec9cL,
  37342. 0x0a5e245297b377a4L,0x2b9d72bf18f9804bL,0xa4c21326f51ddaacL } },
  37343. /* 40 << 161 */
  37344. { { 0x397049f4c785c7baL,0xa87db27da1decf9dL,0xce6d5ec1e7862c0cL,
  37345. 0x17a98db834350bf1L,0x6ceccd8030ec8d74L,0x4790cc07bcab4aa8L },
  37346. { 0x4378b1feb4f771a8L,0x3c54588b404dfcbbL,0xbddf0faa8d60f86dL,
  37347. 0x987583da3573271aL,0xb0afe4ec4b8f8032L,0xb5c44605b69d03f6L } },
  37348. /* 41 << 161 */
  37349. { { 0x7f69e8bfed7d4230L,0xfe54dca7d8ee8cbeL,0x6ec2b75f71b72d99L,
  37350. 0x97e2b30f8dd8338fL,0x9916dcdbbc75bf05L,0x22f4291aad5c114cL },
  37351. { 0xb6af2e86f9ba5c98L,0xdd7d738dfd6fc5d8L,0xce7af7d544649034L,
  37352. 0x2979be5cd163b098L,0x5acd51858db8d84cL,0x82b0e4a5ca64d1c0L } },
  37353. /* 42 << 161 */
  37354. { { 0xf27f5f4f480ef46dL,0x2f49f44fcba811f7L,0xef40508d43961b6cL,
  37355. 0x0f6778e8df9fb37fL,0x97aff7e8446864b5L,0x29aeb86d4d264e1eL },
  37356. { 0x48baa1984901daacL,0x91ade9db02b483cdL,0x00952a61cdb6abc4L,
  37357. 0xa1a51250de7f22c9L,0xe6adfaacc19ec8d5L,0xa7d2f066fc39838dL } },
  37358. /* 43 << 161 */
  37359. { { 0xfbe20a8e270bcf2fL,0x9882e7a0c35c60f9L,0x74d8e63f560e716aL,
  37360. 0xdc689649bae281e2L,0xd454571036d9b680L,0x0a0f1c681740ca0bL },
  37361. { 0x228dd692dadf3782L,0x6ab0bede632d6e56L,0xae2f5535e1b7add3L,
  37362. 0x2ce1c6fece308fa6L,0x7a11b255db881355L,0x903007107bee5bb7L } },
  37363. /* 44 << 161 */
  37364. { { 0xdd55c21a9f1a57d6L,0xc9e1dcf9f6043ee3L,0x0385e3f36747e2baL,
  37365. 0x6511555a932e55b5L,0x7f4053b3700e73f6L,0x23adf65d992916a2L },
  37366. { 0x4664bf231bfc40a3L,0x8400e8f27974d63fL,0xb70f104dcff08198L,
  37367. 0x4c44382f4d1710afL,0x5593a751374ec807L,0x6af17e84462c6112L } },
  37368. /* 45 << 161 */
  37369. { { 0xc1ad3eb7b8f1f38dL,0x74bb37c88d462e67L,0xd127b6e6246b0388L,
  37370. 0x3054aaf0824defffL,0x4e981d2e487809aeL,0xba76b7b805ead528L },
  37371. { 0x0a167834a7a32c6dL,0x3451ee930268c370L,0xab4da0971b625d09L,
  37372. 0xdb94f9aa304e60b4L,0xf3bea685ab50c663L,0x8d929a0142d4c11eL } },
  37373. /* 46 << 161 */
  37374. { { 0xfce03e6eaa911497L,0x32cba5cf546ab5ecL,0x631123d0b1a71e10L,
  37375. 0x49f3a80906bcdeafL,0x783373bcfc538ca5L,0x3590890ee4b47edaL },
  37376. { 0xb5c84fff39ab2df0L,0xf681be9ac737b24fL,0xf37bbc68b2b0052cL,
  37377. 0xd9f03cf6fde04d93L,0x23171bc2e43803e3L,0xeda51460040de801L } },
  37378. /* 47 << 161 */
  37379. { { 0x0e09a74d0bccf0d7L,0xfb429a675b58037aL,0x1f2660d2200b89ccL,
  37380. 0x489b332e04efc617L,0xb53d4f65f38ceeb4L,0xeaaf759546c4aa4aL },
  37381. { 0xc6cff1fa714b9f97L,0x6a647072ec0dd5b7L,0xcbf59eb1637384bcL,
  37382. 0x043003cd2240993cL,0x134cab640497f9afL,0xcdb44a4ca9fcc655L } },
  37383. /* 48 << 161 */
  37384. { { 0xbd9a66d6543b3e41L,0x2948c0a62ae73774L,0xa75151dfef38e9b3L,
  37385. 0xa3348ae5754fb3fbL,0x1218fa8f13069b72L,0x532bb0510835dfafL },
  37386. { 0x2121a98edf2be3c6L,0x85980de69e5199bcL,0x1b23a4be1a1eb6eeL,
  37387. 0xb5c48b92adeb3ae5L,0xeebd305dedea2b45L,0x20543f04c37198eaL } },
  37388. /* 49 << 161 */
  37389. { { 0x9eb2d599fa727a5dL,0x27cce415105643ccL,0x2face9e8c06035deL,
  37390. 0x967f70e4c5d916cfL,0x477224ece7cdc451L,0x70a3de4ea9a34198L },
  37391. { 0x84ebd23a62628f21L,0x517cbb6097f55e75L,0xa4dc8d8ccbfaa795L,
  37392. 0x821d53c1a9c17b12L,0x04e94aea5124d5a4L,0xc72432c083efbc58L } },
  37393. /* 50 << 161 */
  37394. { { 0xb7a2090999f73a42L,0x019bf3a630db0901L,0xcf0c2a7281cfde4fL,
  37395. 0xf656a2117b0b04f8L,0x88cedc1896043e90L,0x4482c3786ae4c551L },
  37396. { 0x169f25d3dc70c774L,0x0f8cc86cb552fbe4L,0x17d0556b88d2f3eeL,
  37397. 0xf5af9d6ff864ba64L,0xcd509d82f93dbf7fL,0xf00c76f51b98df35L } },
  37398. /* 51 << 161 */
  37399. { { 0x19fbeb37856e35a3L,0x1788055c88f36390L,0x9da657f165361c9fL,
  37400. 0xc9f327b7e35a36b1L,0xdc388bcb04b9174fL,0xa79bf7d3349a87c8L },
  37401. { 0x865958b202289b24L,0x4096845ecebc4686L,0x1127085b42ce096dL,
  37402. 0x56f31d12735241bfL,0xe2239ab543b89a15L,0x477cc5b3a6a1f0f2L } },
  37403. /* 52 << 161 */
  37404. { { 0xc44c81525d54607fL,0xe742a6f35c9ab491L,0x50df96d9be8c2ed5L,
  37405. 0x3aa8c9b4e7f5cc4fL,0x577d534c3f12e8b5L,0x03f9573da33a57b1L },
  37406. { 0x9172e1aec5c0c895L,0x64fa9822a2e19442L,0x17db2388178a10d5L,
  37407. 0xe75a6bdc2755ed55L,0x6a6d9dc3f9188333L,0xdd93a3b83eda0c41L } },
  37408. /* 53 << 161 */
  37409. { { 0x353d1f4bad0d960fL,0x6fbf4355846e07dcL,0x2156ae3c3a1bb429L,
  37410. 0xfa95a260442e6e21L,0x659a856ac2b31d7dL,0x9b56cd6563ecb2d0L },
  37411. { 0xac9ec96823a787b7L,0x4102d82e320742deL,0x470ee0ea50a422a2L,
  37412. 0xd3ca8414af386491L,0x28d8994b1a0d8192L,0xe601e4e2b3f117dfL } },
  37413. /* 54 << 161 */
  37414. { { 0x906c071c4e9ab844L,0xeb1a5806f085a058L,0x2f14c3ac176e2f59L,
  37415. 0xfc1a3020bd19f909L,0x5e67d789ac060e45L,0x75dd23a7b707084eL },
  37416. { 0xb9dec51a07e89974L,0x50c9cd0b38f97f3dL,0x368b0f53e14cd6fcL,
  37417. 0xea4c7f8b81ab93b2L,0x774ca31d1b7aeb66L,0x94c14607288f51a9L } },
  37418. /* 55 << 161 */
  37419. { { 0x18c41b62fe32b90aL,0x2e11c7e6be96e1aaL,0x72832e8c428b9d81L,
  37420. 0x93f63cc0058ca451L,0x603f18af7cc827f1L,0x31c8b8fee038eb26L },
  37421. { 0x21158b24411cb335L,0x48dbbed70d9e953dL,0x445e244e4d62615cL,
  37422. 0x2f5309ac28ef4922L,0x12ee44c60d4dc305L,0x7dc0363f56f7677aL } },
  37423. /* 56 << 161 */
  37424. { { 0xf73471b5ef349ec5L,0x014dae75565aa6c7L,0x57cb497dae082cefL,
  37425. 0xdfcbf2b5c3e563bcL,0x22149c0fd1125f95L,0x529f419b425bc019L },
  37426. { 0x049476deaee2094cL,0x3490c0490cbbb583L,0x56c5c62d1256424fL,
  37427. 0x0a118ee541bc66faL,0x0d8e9ff8296ada14L,0x34356e8b0134f8c5L } },
  37428. /* 57 << 161 */
  37429. { { 0x5e41ebd6eb28f97cL,0xe054a055d6a393f8L,0xc0a19e38db6555e3L,
  37430. 0x1b40c80fbabf4f9bL,0xfca17ae2780d5107L,0x89ae096f379701feL },
  37431. { 0xd79be295b53ebb0cL,0x3112d3a5942b2247L,0x6c1f44d30de10f30L,
  37432. 0x2a17fffb0041f800L,0x13082de044552d55L,0x319aa9c0cd11c85aL } },
  37433. /* 58 << 161 */
  37434. { { 0x63ea1a6ae760373bL,0x00f2addd11742d8cL,0x46b17c9cafdd38eaL,
  37435. 0xf4121c5a4c7e78d7L,0xbeb70ef90048e4f0L,0x0b60c2b6bf7f7348L },
  37436. { 0x4bbadf7632969689L,0xcb6a8a20e12708e4L,0xc43ad55b5638eb7aL,
  37437. 0x4a72b02b3d27bf7aL,0xecc95d92e5a54c30L,0xae52514bacc45d53L } },
  37438. /* 59 << 161 */
  37439. { { 0xbf5a2b5132d1f651L,0x6a2a74116e438838L,0xfa6353dd6c067d61L,
  37440. 0xf6918622b96ba12fL,0xf0fa254d45f595f3L,0xa0f0cb4b92f680a0L },
  37441. { 0xf13ba734463e3f27L,0x7e3d4eb1a32d7f9aL,0x348baaf26f6502dfL,
  37442. 0x8021a9977b830e5eL,0x503f38ca55caf601L,0x27dde9e8f4bb74b6L } },
  37443. /* 60 << 161 */
  37444. { { 0xfd5a49310eb63b3cL,0xdb9f1a1510175713L,0x044d42c23e11c321L,
  37445. 0x5561f2e9b7961e8fL,0x70b3f7557ec7c597L,0x5dd9671235aed561L },
  37446. { 0xc6cdc78ee1bcc2b1L,0xebcf6f87f1117aa5L,0xef470e0ae3669f78L,
  37447. 0x87b13e0fd38e0fe8L,0x01bff01439c755c7L,0xa66f2521c37529f8L } },
  37448. /* 61 << 161 */
  37449. { { 0xac56a8b223f78e49L,0x908c4be58708f0b5L,0xa63aa4191536f6b0L,
  37450. 0x8c08578fe5a95771L,0x5d2d1d6b9c2ae8daL,0xf3e4ef12f1527cc4L },
  37451. { 0x46c1ac13920a90bcL,0xc0bc661d28ba758fL,0x9114e016585ef450L,
  37452. 0x8ab6a1f6e899a032L,0x57d4089606b658baL,0x2ef87621eb83235fL } },
  37453. /* 62 << 161 */
  37454. { { 0x033a4d4c4ebdc925L,0xff239a3efe1b346cL,0xd7ab2fb388d03949L,
  37455. 0x56ce2e41bd6e8e4dL,0x3826aff0e55da68dL,0xc9c7ba7451267f98L },
  37456. { 0x5264a48ae6710c7cL,0x3635f1d4e7605975L,0x53a1849a94be903cL,
  37457. 0xe4fc3617128d5859L,0x7686804d7e4dd785L,0x6f04942d2dbcfe4fL } },
  37458. /* 63 << 161 */
  37459. { { 0xe80b7f5562927d6eL,0x92b98c350c0cc89fL,0x9522896d15117facL,
  37460. 0x7a224db5fdd3ffcdL,0x9502ecd8fbfc8908L,0x4e1dc71ac593105eL },
  37461. { 0x052aade62f0536dfL,0x0c7cc371f324268aL,0xe7c62f2ccd843bb4L,
  37462. 0x77d48fa36df2c231L,0xb2c29803cb8f68c4L,0xad7ccf519bb9fddeL } },
  37463. /* 64 << 161 */
  37464. { { 0xd0960bd80fab968cL,0x6899e4faae028db0L,0x975ccc77a9850916L,
  37465. 0xb41bd531e5f81554L,0xbdf8ab57c8cff2c8L,0xea306a01f5822be3L },
  37466. { 0x1f0ac0e7befbdbbeL,0x72f4b0e960519f87L,0x22bd8b82e3cc86abL,
  37467. 0xc43bde8d2b2beaeeL,0x8168781e412617ffL,0xc5610627b7ee7096L } },
  37468. /* 0 << 168 */
  37469. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  37470. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  37471. /* 1 << 168 */
  37472. { { 0x0869457a01a8eb44L,0x522239857a7bedd7L,0x2c04b0c600057505L,
  37473. 0x468be6e80b09adebL,0x2f3bf32b6f81474fL,0xf54f949da712ccceL },
  37474. { 0x292cee424cdd8f2aL,0x3d9fdf6b9c221be1L,0xe54da66156f47b2aL,
  37475. 0x2ca76835840b5d1bL,0xb52adb6a8a6e8cf6L,0x8b416a6bdade153eL } },
  37476. /* 2 << 168 */
  37477. { { 0x65f7d2c18565afc9L,0x764c897170fa7b82L,0xe268634c986436f2L,
  37478. 0x6334d8d133356165L,0xf17164269ec7957dL,0xae834331b8093983L },
  37479. { 0xedb1fe5cd2dfcce7L,0x6195b86368463e5cL,0x746e5f4da691b665L,
  37480. 0x61171291e1e2727eL,0xbb4aa8f16f27b029L,0x1037657d7f42c197L } },
  37481. /* 3 << 168 */
  37482. { { 0x2af8bdfa970f96adL,0x19d09a6dd0c86e6dL,0xd57fd5ced7046d2eL,
  37483. 0x5ea025f7d545fd33L,0xe2ccb6f43161ffd7L,0x3ca5286209406242L },
  37484. { 0xf3536d60b5c90905L,0xd086e3b9d5b290f6L,0xfd15b06a5cc55444L,
  37485. 0x61b0febf9a9e2a66L,0xdc3c0576653dfd02L,0x357774230a8ab51fL } },
  37486. /* 4 << 168 */
  37487. { { 0xfe19901b0d5b855aL,0x5facb9552f745022L,0x92fd012556c4ce5cL,
  37488. 0x23172d65938c89abL,0xa71f8a33aaa587b1L,0x511a3745b55c9c50L },
  37489. { 0xec005f6a7185086eL,0x6dfc2761f894c6abL,0x98a4d67f9e26361fL,
  37490. 0x7f0a2b2321389c25L,0xd158820795ffbceeL,0x4d6b29ab9f36a888L } },
  37491. /* 5 << 168 */
  37492. { { 0x5ffec1d78c04bc6eL,0x35f052d16ca0dde2L,0xfbe3844c649c850bL,
  37493. 0x450263e610fa337dL,0x44f7c8f40280773dL,0x27de5d3ce896966cL },
  37494. { 0x2587f47598d0378dL,0xbd49c97f4e4f6e49L,0x9e902f667071543aL,
  37495. 0x03398aae06577b74L,0x030926d6910bee13L,0x5576575bffa92cecL } },
  37496. /* 6 << 168 */
  37497. { { 0xe4ee33460562cd7eL,0xd1d385a3f01ba45eL,0xd817ca667ce11848L,
  37498. 0xda222cddcb69c7eaL,0x74ac74709d680afeL,0x3770357cd9596ca8L },
  37499. { 0xdff57da7f7759bd6L,0x090426be20d5c726L,0x71c0ba28b7fbc1b0L,
  37500. 0x60faab1c13d4ed0fL,0x6fbe3567ea3a2ef2L,0x0dd3835c4e577dffL } },
  37501. /* 7 << 168 */
  37502. { { 0x9b758b512ce27e38L,0xe4148475a39855e3L,0x4669b3c39ee88a77L,
  37503. 0x3f36a671105e1ec0L,0xd0f30e5d9e88ea13L,0x6346df15baecbaadL },
  37504. { 0xec65be65cf4c6510L,0x843efca194e1989fL,0xf7195d29942ce52bL,
  37505. 0x12201877d3ce28d4L,0x9c962aa1a97fc904L,0xc4fedb3465c5a55eL } },
  37506. /* 8 << 168 */
  37507. { { 0xeccb421ed0a701a5L,0xad4cb9a5b60cd286L,0xd344da9e05a53972L,
  37508. 0x3a8035e07bc99feaL,0xe0214485c0f77bf5L,0x50ada30ee54df78aL },
  37509. { 0xdef45af64ec2d576L,0xa05d61845f9a8678L,0xa9b17db1c337e017L,
  37510. 0x026a4f66b84671d5L,0x606142343b7d696dL,0x71ed9aaf81cfd22aL } },
  37511. /* 9 << 168 */
  37512. { { 0x62805305695a3f30L,0x6ce27626e28e8fe0L,0x507386af6a54f410L,
  37513. 0xf8c5f738cd5c7effL,0x3ab2db9e347e85d7L,0xf5b635b0b2161b68L },
  37514. { 0x99009791be2e80caL,0x6dff3030c13910ddL,0x2beeca057ee8700aL,
  37515. 0x12616fb11ac7e09dL,0x38c9ef9f9037c2e4L,0x39181fbf9c140344L } },
  37516. /* 10 << 168 */
  37517. { { 0xcdd6aee47aa54433L,0xf5ecb432b80336f5L,0x690bb949a1380829L,
  37518. 0x219d659ca9c9d720L,0x74abf2dd7e5a3260L,0x405ee136025c55d1L },
  37519. { 0xc5c592cb1cc878a8L,0x119a38be88b31ecfL,0x4fb00f82e94e39e7L,
  37520. 0x66bf72e59412c068L,0x9337c8f30821142aL,0x477216340c24ab67L } },
  37521. /* 11 << 168 */
  37522. { { 0xa6c7953457fe953eL,0xd70d3d2f3c76ae58L,0xe1e047b52c531c84L,
  37523. 0xc71f3a9973735602L,0xd70bdb0f7ba0628eL,0x280fdd4e0e3e3c0cL },
  37524. { 0xb5a3f5823e414e26L,0x55b2eda8f44dee7eL,0x8e1d024b2f5dd828L,
  37525. 0x21f054eb3b1bfdf9L,0x3d3ae74cc554e1cfL,0xa0a5863ffc42ec16L } },
  37526. /* 12 << 168 */
  37527. { { 0x1b76a3c5439ada39L,0x818829cf89236ae5L,0x2277cb7a750f8129L,
  37528. 0x44aa462a4d46502bL,0x7a12e1e164f06dc8L,0xb9a3300dba5630cfL },
  37529. { 0xd2cc8d9c55b05f4bL,0x6d0b0b88a700be7aL,0xa7be99699617500cL,
  37530. 0x2b5b8deac03f8a50L,0x712f703e785b3dfdL,0x96a5a60accf93950L } },
  37531. /* 13 << 168 */
  37532. { { 0x9838155fbf9f72c6L,0x3ab3cb602c10e57dL,0x7ac228ef14bcd75eL,
  37533. 0x2c167e15027923fcL,0x678869d1267471c7L,0xeba35e857ec3582cL },
  37534. { 0x22d290a9a3478eb3L,0x542092ca1309aa14L,0x8bb5c69be2e5d3acL,
  37535. 0xf83c5a0a81652736L,0x9cc576227280cd6dL,0x6653436f3b0f49a1L } },
  37536. /* 14 << 168 */
  37537. { { 0x7ad1f1bab497d900L,0x9d0512236c9dd5d7L,0x0ed27e5bffed3df8L,
  37538. 0x659028a775d2fa72L,0x69bd68154581f377L,0x142c2088e2faf671L },
  37539. { 0xf9c1b8a499b000ffL,0xf31d01b18f408d3aL,0xa7aa142f42b9d35bL,
  37540. 0xeb8aa74ba0495da2L,0x824cc32a59a1da45L,0x3f1fbe0ff5173374L } },
  37541. /* 15 << 168 */
  37542. { { 0xec9071a634238c30L,0x6dd6c38b88a0f423L,0x3adace72992e7977L,
  37543. 0xc90b941b1ae5166eL,0x052aa3e9e3e43a68L,0xe9b1976da733a950L },
  37544. { 0x0e1ca28e5ff6c9dbL,0xd1bd4350387409a2L,0x5943cc7089155117L,
  37545. 0x8e85794f5feae20cL,0x0d118fd669768ccbL,0xc647179d53120895L } },
  37546. /* 16 << 168 */
  37547. { { 0xfeb984b3ee828fbaL,0x8273f830e2bd188cL,0x177ef97e3ca0a99fL,
  37548. 0x76d4796dacc000acL,0xbad0fa6eb140f51aL,0xb275656706ebc810L },
  37549. { 0xf89eb78fa18cb32fL,0xcfc37eaea65285b0L,0xe2b29cfbb25e9d1bL,
  37550. 0x9388ea8fb4e7aef3L,0xee606c12e267e845L,0x6b103c549f5806d7L } },
  37551. /* 17 << 168 */
  37552. { { 0xb9a40e78e31fd643L,0x648cc34a97950a34L,0x85c5ca405900be55L,
  37553. 0x2e519cf12abb843bL,0x6f9d0a7f27436edcL,0x2f569c9d6694f363L },
  37554. { 0xf6d1b325f6f1bd24L,0x01103c0d4044b353L,0x2d3ce56f3138b549L,
  37555. 0x5379bcf71c28bc5bL,0x6768220d08ac00d1L,0x973f92ff0152746cL } },
  37556. /* 18 << 168 */
  37557. { { 0x5e992944b37b0486L,0x0a334b92001fa124L,0x6653cded9c9ab466L,
  37558. 0xd512612fabac4da9L,0x636bf431c502b860L,0xfca1c0c2c3d20db2L },
  37559. { 0x7073f293f85c40c3L,0xfaabc77acfba9eddL,0x58842eb97f9b570dL,
  37560. 0xe8cd4f53702aec24L,0x8975f4e6e08113a1L,0xcc0d7f17767bedd6L } },
  37561. /* 19 << 168 */
  37562. { { 0x5163bb51ae315a65L,0xf82ec4cdbe405348L,0xffd381a46b1801a4L,
  37563. 0x33f9b8ad2f6ba570L,0xd88c58a58ecc0000L,0xc0b9a639cfdad25eL },
  37564. { 0xc78cb70fe3bd808aL,0xf54b86e573ce5eadL,0x111208ed5610a761L,
  37565. 0xba3579b0e3c8e27aL,0xbadd918c63b85bb7L,0x9e10da0b71bcd972L } },
  37566. /* 20 << 168 */
  37567. { { 0xf418e3f63766f2aeL,0x4a3ad3c8053ef1c1L,0xd01e5b5b560db262L,
  37568. 0xa583edc7c02bf4c3L,0x7c9f706052f318d3L,0x0852556f1f5e1ffeL },
  37569. { 0xe1c70aa7feb0e63cL,0x59f0a3f989a8c058L,0x4aa4cf021ffc0adeL,
  37570. 0xbb880e4138a78632L,0x35b0f7596f28f096L,0xf9c4fe17d5757d7dL } },
  37571. /* 21 << 168 */
  37572. { { 0x160303ded896adf7L,0x19a46b6c6beb8930L,0x33dfd962f010f74bL,
  37573. 0x03b699cc00e5610fL,0x17487b7595078dfeL,0x63bc614253f3479cL },
  37574. { 0x43f3d994858d5b8bL,0x383349349483c0ffL,0x47c917a67977142bL,
  37575. 0xdc50fb80df7eead4L,0x4e3a1d3fb5b82be1L,0x091af8796d7317b7L } },
  37576. /* 22 << 168 */
  37577. { { 0x783e5066af151a9aL,0xec0a9c175466df17L,0xdecd12310174b0adL,
  37578. 0x654af66a3b2aaa45L,0x849d64e5b1fcdd11L,0x7e8e2ae6d05af56cL },
  37579. { 0x12e887b7318a6184L,0x42d1445554ed59d8L,0x2eafeb48ee54ddc5L,
  37580. 0xd1f9e6b980c94a8eL,0x5ea691e3263696c0L,0x7f42f3796e03eed3L } },
  37581. /* 23 << 168 */
  37582. { { 0xeeb8accfd69b82b9L,0xb4c4988ae0b61d73L,0xb78becf19df9b59eL,
  37583. 0x13274f6236440c93L,0x33d287f5697d5a77L,0x391fe6129af4053eL },
  37584. { 0x986c42b21c16e858L,0x23f5d1dffe04125aL,0x2f57ccb3af9541ffL,
  37585. 0xe5b4eec70f1a8bafL,0xaad23ce7646c1b6fL,0x69495ee5a6ff96abL } },
  37586. /* 24 << 168 */
  37587. { { 0x78b8879cfd6376ebL,0x22a76461c01e1edbL,0x6a44be39369cf0c4L,
  37588. 0x6653670d5ae54539L,0x257bd7516fb43ad0L,0xb3ac371512baffddL },
  37589. { 0x48659d617548eabbL,0xd8f931f80cd468cbL,0x98f0241549e3b531L,
  37590. 0x90b0d71670df011fL,0x26d73c54ab98f066L,0x06591ec988475d5eL } },
  37591. /* 25 << 168 */
  37592. { { 0x6fa72e3518f18e71L,0x6c04fe2d8123ff14L,0xc48cb53a197481a9L,
  37593. 0xf059db349860e48cL,0x35e8341ace46ca7dL,0x880f4ea4b0400f7dL },
  37594. { 0xb4c5ea9acc9cc40aL,0x6522c768e2555fa3L,0x95207f39ea2c32e6L,
  37595. 0x7b6fc09fa8be60e1L,0x772b829f29902652L,0xb7936b90af6a48dcL } },
  37596. /* 26 << 168 */
  37597. { { 0x409e3b1109758457L,0x59dd0a8c1dea73d9L,0x528906a58fb18a01L,
  37598. 0x6fa55967a17ffb33L,0x9523cc3d50edbcb2L,0x35600b3e44d43541L },
  37599. { 0xc3a7d22c8f87dbc0L,0x5514c967c1b225abL,0x78e5701988304a74L,
  37600. 0xe9b417ba35f3b54dL,0xb72a243c48eea230L,0x4e173eaf291ee52dL } },
  37601. /* 27 << 168 */
  37602. { { 0x79b854ca2127c795L,0xd9457d8f86657844L,0xf8c9e6ef186668e8L,
  37603. 0x84c8855df913c2f6L,0xf207d36ad641cc12L,0x7be9b5736105ce0aL },
  37604. { 0xe72cce1974ec078dL,0xc4f47413d09950c3L,0x640bf6eb3974554eL,
  37605. 0xf880dcfb844497baL,0x3744626999bbcfacL,0xcf1712f4316f4d64L } },
  37606. /* 28 << 168 */
  37607. { { 0x627f6328412b84c3L,0xd427e977a04545d2L,0x5b0145bc104f25c2L,
  37608. 0xa6931c4f2ac7ad62L,0x407611431f8d42f5L,0xfda5a76be7f8a0b3L },
  37609. { 0x4f1ca5cffe0946b9L,0x6def7b9fbeb2d427L,0x984bd4bbc9a0d136L,
  37610. 0xb9a778235b3af1c1L,0x04ee66ae38ac2087L,0x63374ed926d9dbb9L } },
  37611. /* 29 << 168 */
  37612. { { 0x68088e9c3983deb9L,0x2c95ecaa2ed99988L,0x371af002917f200dL,
  37613. 0xff33aa5dbb4ff0dcL,0x1dd5fcf2e47bbd6eL,0x1624b973e75f73ecL },
  37614. { 0xf6ce0e9db9722af3L,0x8bde5b8818226fcbL,0x243753fc5b5da478L,
  37615. 0x3b53e0e3bdf88daeL,0x59f8c86f325cedb2L,0xabd4076d70fb9681L } },
  37616. /* 30 << 168 */
  37617. { { 0x1996761db8759af1L,0xfb85cdd8e4a705f5L,0x2ea7aa0b35111725L,
  37618. 0x23245d4157a17f4bL,0xcbdb650e0d00eb9dL,0xb40823d9e23a4a3cL },
  37619. { 0x041bfb67229163f8L,0x020ad3c16d47b83dL,0x3bc8975d344c8ebfL,
  37620. 0x287efd06d91ff408L,0x1ca5d75a2059106bL,0x4ff27af3b90c5d66L } },
  37621. /* 31 << 168 */
  37622. { { 0x416b7c61ded914e8L,0x1aeee7d007ad4237L,0x59d5852476c2b7a4L,
  37623. 0x427a102c98665f29L,0x8504aa8d2a1aefe4L,0xef2dbeadc183a736L },
  37624. { 0x5cb5f222f533358cL,0xf2ebb47d36b0d678L,0x1de4a0e7f2c2cf99L,
  37625. 0x62613994ea95a161L,0x68a86f4012d66ed4L,0xeb12fe75b2af52f3L } },
  37626. /* 32 << 168 */
  37627. { { 0xcf947c0644ba39e6L,0xf5d5216cedfe78d7L,0xd00115c05f1835c9L,
  37628. 0xdf084152d8c79d90L,0xc0c3a6846db5f791L,0x40514451749b18cdL },
  37629. { 0xd314b7d5734df3f1L,0xbccdd3f07f541415L,0x97ed5af06855a942L,
  37630. 0xea84ae9ee9d02ab9L,0xb87e90343238a5d0L,0xd12d25c3650a0eabL } },
  37631. /* 33 << 168 */
  37632. { { 0xc3747c584f9d2c34L,0x493a0adc95429c92L,0xf9b5916238a679ebL,
  37633. 0x04d500a16bac07f7L,0x8938f4f96a809676L,0x44ecbbf0c5b25a4dL },
  37634. { 0x3b68705504768400L,0x6a432e14b4db3907L,0xff82fb56ad375d2bL,
  37635. 0x87f59f97944210c2L,0x2b680b2051445242L,0x1e0986466cd75962L } },
  37636. /* 34 << 168 */
  37637. { { 0xdd2eea82672e5a4cL,0xb05ef9ebccc68d94L,0x626ce368a3fa4215L,
  37638. 0x6e376f67fe46bd46L,0xaed7a0bc33c4f169L,0x4a92c6093af5c4fdL },
  37639. { 0x6615245fa690fb49L,0x571d2d870d64f04dL,0x6a45df34641ce79bL,
  37640. 0x045ddbd02655d316L,0x2b6c574db4fbc42aL,0x41545fbc5b2dbbb8L } },
  37641. /* 35 << 168 */
  37642. { { 0x484996b97d8f1eb7L,0xf72f3a8110bd1585L,0x418e00e7b67eb27fL,
  37643. 0x354e56c97877c18fL,0x7f11f5040a8b37f9L,0x66591146ff58764dL },
  37644. { 0x816ac849ed0bfc38L,0x85eaa6350a50a99eL,0x7fa62d9c5bf4995aL,
  37645. 0x77840d5003413385L,0xe4f023bde83f9fa1L,0x2c5f8e1d9cfa7578L } },
  37646. /* 36 << 168 */
  37647. { { 0x1473b55b86a515a9L,0xa9e3230a3b337c64L,0x7e8bf9049db668f1L,
  37648. 0x1db2c25ef27f9fc9L,0x0c1086072d9e467eL,0x4505579aa3f00d52L },
  37649. { 0xe2ad661b240400a7L,0x8022294c11af4874L,0x29e9037078bba8e8L,
  37650. 0xbf0fbf08f6baca04L,0x2e46d2b74101fab0L,0x66065490c61089e6L } },
  37651. /* 37 << 168 */
  37652. { { 0x18b01aa935dde51dL,0xa7496997a7d044b8L,0xcd9c467f44c23d2dL,
  37653. 0x96211b86659e4a5bL,0xa2a9000f3e17b717L,0x7af9c312dd90459aL },
  37654. { 0xf0d6c24394547203L,0xa76a23dbd77cc691L,0xe1b7fce10ef364deL,
  37655. 0xe08c1d0bb689c810L,0xb75bfacb0a43ca02L,0x1b7afea5408ac99aL } },
  37656. /* 38 << 168 */
  37657. { { 0x3b1abdb85a4a8a23L,0x8f52060c4d68bcf2L,0x7408306a00ab3146L,
  37658. 0x652ae3064b86b775L,0x276a14a0b0695b00L,0xcf8af11f1b771254L },
  37659. { 0x3fafcc63b91118b3L,0x6c49000a73bacebcL,0x53852d084e3f3d6eL,
  37660. 0x78977e91fdfccca1L,0xe843cbca6ae9ea5eL,0xa99831896bb8271bL } },
  37661. /* 39 << 168 */
  37662. { { 0xf77b0a7387534a6cL,0xfff419f2f5b0c6dfL,0xde3c3b33357205eeL,
  37663. 0x867eb3a23c8ec9d6L,0xd28bed3263a99b18L,0xf5fc17e4c1573146L },
  37664. { 0x30cf41e5821641feL,0x84b1970e225ab57fL,0x6bf707325a1e8ba0L,
  37665. 0x7bfb3bbce3cf38d6L,0x9f362787a661e876L,0x6d9137c86c0a16fdL } },
  37666. /* 40 << 168 */
  37667. { { 0x2131ce5b09f8a1cbL,0x7b373ed28ab129e2L,0x463cc8d677c1292aL,
  37668. 0xa9b7cf6594ffe9c5L,0x129125ceb99bfc4fL,0x819b42849820d323L },
  37669. { 0x3f70976376541a41L,0xfd679ae5e32c7a7bL,0xc39a208df65b6b3cL,
  37670. 0x1c22ebc050002745L,0x268f19dde2bcd202L,0xfeac809c9c3d4266L } },
  37671. /* 41 << 168 */
  37672. { { 0xc5ad8903af14f8a1L,0xdfcd207c3993c99cL,0xf65f8260c7c1fd57L,
  37673. 0xa1573b3d41be66fdL,0xeeeb9ea476690f79L,0x6a6338437129849dL },
  37674. { 0x22eeb38623a7bfcfL,0x258fc0743393e894L,0x008efb477ce9602aL,
  37675. 0x4bf127b699c7b279L,0x150da482fa1bfd7fL,0x7b84744d293754dbL } },
  37676. /* 42 << 168 */
  37677. { { 0x3af9919db2183277L,0x7f5990fb4f6182ccL,0x17603db034f716d2L,
  37678. 0x6b79f6538f135ad5L,0xad9189e68092d128L,0xa5f3ab8efc6628c1L },
  37679. { 0xa36b978e84b6d30fL,0xf2a7e1c64c001f26L,0x2acbdfd676e79beeL,
  37680. 0x71b5faec86f6d6c6L,0x23d9b7c849b0e5d7L,0x36ea518212fd4cccL } },
  37681. /* 43 << 168 */
  37682. { { 0x14a4af0f59df1cf9L,0x37f8641dfd7cd2b4L,0xfb6aa5d0244434b2L,
  37683. 0xb85f8c8b5d5bbd63L,0x833e76baedb92f97L,0xbcd9d7b50d7a2dc2L },
  37684. { 0xb233f07ff0e0f06cL,0x453f10c4fcc06efcL,0xa4e8f306128a167dL,
  37685. 0xbd6df4690d0c09cbL,0x2b5db66b7168ecc6L,0x7ec02c77f29bcecfL } },
  37686. /* 44 << 168 */
  37687. { { 0x0746783787dcdbdbL,0x4cce33be320493d8L,0x9ab08cbe713c7746L,
  37688. 0xd6f0c1de9c6dc5cbL,0x194005382ac03761L,0x3fc11f38d0547be5L },
  37689. { 0x66b378ce819fe3fdL,0x6a590acc3700fe7eL,0x4c976a728924b396L,
  37690. 0xa5006d8d70b9b250L,0x2fdce1b212b85f9cL,0x5858f7ce495f8f1cL } },
  37691. /* 45 << 168 */
  37692. { { 0x3f2b5e295de2948eL,0x84554eaae1a4a962L,0xb4e55f1293db9addL,
  37693. 0x9260e3eb61b22484L,0x22a898997b1a6d10L,0x571bcd3af58d1ce3L },
  37694. { 0xd62db0edecc88a76L,0x88352f634af2cf53L,0x8d279316b61c73adL,
  37695. 0x7f898e09ec74d6abL,0x39b2b0c05412a81bL,0x623a5ea30644b6a4L } },
  37696. /* 46 << 168 */
  37697. { { 0xe876b53bdb0f6565L,0xd0dc323c4650204bL,0x0e4af31b0201643fL,
  37698. 0x486173207e8a0e6cL,0xe09183d457643a1cL,0x3c55bcb5ae8359b1L },
  37699. { 0xa06078cb7b467835L,0x4d3a35d901b6bb3cL,0xd4f1d8233963fd31L,
  37700. 0x9c1b06093d4cce05L,0x55e368d5da550340L,0x50c3feee12c4b7b3L } },
  37701. /* 47 << 168 */
  37702. { { 0x6de0fcdaf0f97e84L,0x1f225d818dfbc0ebL,0xe27a42efcd2c51d9L,
  37703. 0xeff56879c0cb033cL,0xe700cb87c82e38d4L,0xc89a02d589d244caL },
  37704. { 0x0b464846ad9c718bL,0xf8d5ee1f8de96d61L,0x2cc33c3dfbfd0960L,
  37705. 0x3ef549f0e199b6fbL,0x29f83f686c1597b3L,0x54ca37a3731712ffL } },
  37706. /* 48 << 168 */
  37707. { { 0x357540ab903ff177L,0x225280b8276af514L,0x33d273ac14d7fed3L,
  37708. 0xfef6b9ffd186ee3dL,0xa94c207101a7b1d9L,0x4ea3627450bc8bc2L },
  37709. { 0xc68959c9fa98a918L,0x8f5ecceec7bdc262L,0x7a73a4fce6861310L,
  37710. 0x19bcac90c828330fL,0x73e3b66f7ef74fdbL,0x60f7698352d8f2f4L } },
  37711. /* 49 << 168 */
  37712. { { 0xda57f1a65645cb9bL,0x3d5d3190f0840240L,0x6a0c6ab101bce275L,
  37713. 0x38993676ad23128aL,0x54f7b5d7ea0da248L,0xfee930b38b04ccb8L },
  37714. { 0xadb9034e2cf3bf1aL,0x0488b71ae9b608daL,0xa3e51e303bd1172cL,
  37715. 0x56dffa5844993c1bL,0x6b3211fa4cdcaf10L,0x223b2a43834d4e17L } },
  37716. /* 50 << 168 */
  37717. { { 0xb31f934134e43ed1L,0x895c99973c6b7f58L,0x360021084c465126L,
  37718. 0x7eb0bf6b095df89fL,0xde3b2fa3ac534af6L,0xd9dd9f55c22477caL },
  37719. { 0xf52cfffc2092e355L,0x4ba071ac8d8bffc6L,0xafb61137abefe750L,
  37720. 0x2887d0e4cb62210bL,0x0eb2be515f4fc157L,0x8c993039438fa2f7L } },
  37721. /* 51 << 168 */
  37722. { { 0xfd2a61093efae008L,0x60fa269552f57cafL,0x3591e64f481c36c1L,
  37723. 0xdc2b9993c908a87aL,0x76bd4dea5bffb50dL,0x913a0458f70fb0f5L },
  37724. { 0x45ea6c4c097bbfc3L,0x3ebe29d3fa9e90c1L,0xc69532426479c087L,
  37725. 0xdd1d24509abc7a4eL,0xa497b072d0fc7791L,0x477d71f9388ab90cL } },
  37726. /* 52 << 168 */
  37727. { { 0xab3578047e03a14eL,0x0f4f28688caf673fL,0x919e661e66530425L,
  37728. 0x28da445c91ba47c5L,0xd6d0537566c394feL,0xfe1864a302e8ae91L },
  37729. { 0xd34baca2a753aec4L,0x43b7ffe7a2c8d292L,0x496659eb04efb8f1L,
  37730. 0x310ec2a9e0252dfdL,0x98173d2f9168a80eL,0xa3e018d631497255L } },
  37731. /* 53 << 168 */
  37732. { { 0x39ee6439ddfa0ffcL,0xaea6f882c1d1d54dL,0x688feff654a65059L,
  37733. 0x17ee5aaa37f25ebaL,0x6c9b4f2932b345f2L,0xb883c0c75b4d62ebL },
  37734. { 0xaf33e4ae3135aa7eL,0x28a7572c924146a2L,0x67dc5dd37e77ae8bL,
  37735. 0xe11cd9c5ff39b601L,0xa86f090b5e6f364aL,0x76f7517500b84247L } },
  37736. /* 54 << 168 */
  37737. { { 0x26d3a3e3fbae20ddL,0x5e9b73cee1dd2b25L,0x7008aefb0235d5b0L,
  37738. 0xa92af4ed2aaf208dL,0xab786c9bb1132040L,0x43250e6c9a91269dL },
  37739. { 0x00a15294c9be00ceL,0x2d5782df1698dd42L,0x3f980bbe76e3d6e3L,
  37740. 0x5b602647496650fbL,0x461edc3271aca61bL,0x2516ab6c9805a01bL } },
  37741. /* 55 << 168 */
  37742. { { 0xb468fcf2967e2216L,0x97b840679ae47d05L,0xfcafaebc5cc15209L,
  37743. 0xaf7f6c8ccc83c3d4L,0xa74d4cd5cfa47e0fL,0xd8a51615474cb8b1L },
  37744. { 0x4815ef52591462a6L,0x9c5b2cf74deb41ddL,0x39cb450b7e99d620L,
  37745. 0xfe8cacbaa7772019L,0x98b98210577dc69dL,0x5e02b90072423a96L } },
  37746. /* 56 << 168 */
  37747. { { 0x3266c887d9d9284aL,0x690f818b73646ab7L,0x67315ec6af7fc33bL,
  37748. 0x181e61abc30b1ccbL,0x1b81e6cd105a9e1cL,0x62a15daf5078b9bbL },
  37749. { 0x74f9840f6fa8cc65L,0x356b777443388573L,0xba0f7d0506b3fd46L,
  37750. 0xb0ac864c92b4fdadL,0xcdeac253ef192cdeL,0x0c24810bc313b4a7L } },
  37751. /* 57 << 168 */
  37752. { { 0xfbcd4f77e748de9bL,0xb7d28cdfc25dcc94L,0x32f937a92e033c43L,
  37753. 0xb6289636d9da1f7aL,0xd774e97dd287865fL,0x8d013739e6243bf8L },
  37754. { 0xee7ec1f856b9601dL,0x429017666afc90caL,0xc42d960ad2bef9afL,
  37755. 0x654ece7f5b430bf6L,0x02878c7f221440f4L,0xe575aa6474a4e1a5L } },
  37756. /* 58 << 168 */
  37757. { { 0xc96e763e71a449f9L,0xdeda66311a349fb0L,0x6f896aef3c4e8f44L,
  37758. 0x71ffe2d2e9eb36a3L,0xcbee21ab8f908a29L,0xaeb695f85be98708L },
  37759. { 0xb6023803de61e1a9L,0x59f1ec96065ecca3L,0x2a1229f3637d0741L,
  37760. 0x5a9bca2c69441afeL,0xfc6daedbbbeaeed6L,0x950034954e2e31e0L } },
  37761. /* 59 << 168 */
  37762. { { 0xe59a827339859da4L,0x8720429fa7431a84L,0xfcab26e17ee3457cL,
  37763. 0xc13c1125da3b7833L,0x0bb1043fbc0b0da1L,0xdc2726ea84b526e8L },
  37764. { 0x34049278a213a188L,0x400bb4a00a1a2553L,0x00e3eb25c92df398L,
  37765. 0xc0b7113f9c36a6ddL,0x719d185001e274bdL,0x86f08f2dcde338aaL } },
  37766. /* 60 << 168 */
  37767. { { 0xef8c40bf1adb09b7L,0x2efeb49c0b74992aL,0x3f0f8a412b79957fL,
  37768. 0x08927bfe87a06873L,0x1f63a4109288cb9aL,0x8c66fb70df2b373aL },
  37769. { 0x98da4712980facaeL,0x15ce5b17d819d026L,0x097571a5749a671aL,
  37770. 0x85a40804894dd269L,0x3e89c13c34cb6797L,0x2d19d5e4d07119a4L } },
  37771. /* 61 << 168 */
  37772. { { 0x903eee85d90da9a7L,0x67723582de5ddbf9L,0xacf6898ad394eeeeL,
  37773. 0xa700fb8fabdb94f3L,0x1bcc4f947ac5624fL,0xee5cccff7e3b8ec5L },
  37774. { 0x87d64d4d98e5a1baL,0x78727fc1ad9c4409L,0x55b4159b82310db7L,
  37775. 0xaff4eecea58d10efL,0x6d2ec94c11c958afL,0xf129bd1043db33faL } },
  37776. /* 62 << 168 */
  37777. { { 0xe1f6d71ed42eebf8L,0x46f825b9541ac0b2L,0xb01031b693ae2ab1L,
  37778. 0xfa4e1c357c589556L,0x65fb2504d273d1bbL,0x589d735447642bddL },
  37779. { 0x7a5776adcf5e2d53L,0xab5c3544e5feda7eL,0x48e8442d32dea96cL,
  37780. 0x5f3e9c9e64d293daL,0x3f2df6a16b972a00L,0xfba58f5fa273832fL } },
  37781. /* 63 << 168 */
  37782. { { 0x5c9fe89240e9ce34L,0xfd9fb296633495d7L,0x0ae3c18a8c76cd7aL,
  37783. 0xb5ede1e3a6b77012L,0x5ac7a9d5a285822dL,0xe41de7da71ffe07bL },
  37784. { 0x585f7e101b1bb4c5L,0x482794be74153077L,0x66f1c9d5a3e2a34bL,
  37785. 0x491d48f7c749830fL,0x3c0f3bcd5416d2bdL,0xaa3baada90b04986L } },
  37786. /* 64 << 168 */
  37787. { { 0x58225208ecbafb80L,0x4f212035aa73d6deL,0x1224e45562fe86dbL,
  37788. 0xa8c8a4782dc5b2f1L,0x8a957b8dc3096555L,0x6a3248b0b1591452L },
  37789. { 0x1e563c58cb604c18L,0x32808cb59bf1045eL,0xf8f62de99462e7a2L,
  37790. 0x6b3dfe91c2489214L,0x6c1d8fc42174639cL,0xdfca11b8ef88d4b5L } },
  37791. /* 0 << 175 */
  37792. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  37793. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  37794. /* 1 << 175 */
  37795. { { 0x5a4a5ce418690ad0L,0xd0f788e0fe27f51aL,0xd459388e4efe9a30L,
  37796. 0x3a45c11aef9d074bL,0xf68ab50b93ab9cb0L,0x62fbc397ecd9a566L },
  37797. { 0xbfb79b7fcc587a7eL,0xfcf4d66f92870baeL,0x4f31aa21877390f0L,
  37798. 0x2de0c645e314cfb5L,0x56d904f6238eab12L,0x4d104a42ccb4d4f6L } },
  37799. /* 2 << 175 */
  37800. { { 0x3eb83a8729358cd3L,0xad741295b9c6d430L,0x57b8c77a53abe4e9L,
  37801. 0x0a14673ebb9feb82L,0xc0a6cbf7f26f922eL,0x213de299a32e526cL },
  37802. { 0xca417e677b6ca858L,0x8d6ae0f7fc2e0900L,0x2bae0e7a62e135ddL,
  37803. 0x962bdcaea7ee82c7L,0x573d7f6ae5776c74L,0x9c4de6496ffbefebL } },
  37804. /* 3 << 175 */
  37805. { { 0x8c962fc809335d38L,0x26d1bc81eb38d176L,0xe1aeb295c47711edL,
  37806. 0x0812b9926cbe3e4eL,0xeecacaf90ab9805dL,0x82fefbaa3521a0adL },
  37807. { 0x3a6948c0e2c31b9dL,0xb7d3905be82daf2bL,0xbd3ac90e25a34c37L,
  37808. 0x55afd99b61453063L,0x56d87cd190b99303L,0xc9bf82dd97ddb0a3L } },
  37809. /* 4 << 175 */
  37810. { { 0xcbc0bb1968916917L,0x0bbb9f921094bf88L,0xf62cb350d3806442L,
  37811. 0xe4d2f1cc397a7602L,0xa54bd48e43987d82L,0x77b6f8314f0a19faL },
  37812. { 0xfa0c9a456e766443L,0x995ae0fff51ba70bL,0x8e242c5b9cbd8d33L,
  37813. 0x1671eb0813d97956L,0xccae388f40da55faL,0x97cc48faf376dce5L } },
  37814. /* 5 << 175 */
  37815. { { 0x1c2919bbe8c91718L,0x9dbb727a5097bde3L,0x23f87ae7f8ea2fb2L,
  37816. 0xe1bfffdcba310121L,0x5938c50c75329669L,0x716c63e00549855cL },
  37817. { 0xe091b0c9654814f0L,0xa20535d10e43daeeL,0x16ce68b2593ddd04L,
  37818. 0x7813a49af59900bdL,0xef0d3eecd3e5d232L,0xe7d12cc40ee3fd4dL } },
  37819. /* 6 << 175 */
  37820. { { 0xe54d92cdef01fc5fL,0xc46c2ab8dda2e25aL,0x7c907fd2849f6142L,
  37821. 0xbb11dd2dacd0202dL,0xa4913a701d92d19aL,0xe9a26ae0cf610677L },
  37822. { 0xfff1e1d5538943c5L,0x5943dcc4a47b2204L,0xcafcf33a92cabf71L,
  37823. 0xd571e13ce329d1adL,0x7626ad237a9a0e4cL,0xf0aa0d9f130d7f86L } },
  37824. /* 7 << 175 */
  37825. { { 0x09df3a4419e6aa7eL,0xe27ad0475841b1cdL,0x02d2a69fbde75934L,
  37826. 0xb0e05e53fd9ba435L,0x4732d88ae008c16eL,0xdebc4777ea72110dL },
  37827. { 0xccb7d9932e3143adL,0x674f3753ea8cd06aL,0x56012a7a051562cfL,
  37828. 0x961df68425f74cd6L,0x26630e71214d8a95L,0x584e8d6365d92f84L } },
  37829. /* 8 << 175 */
  37830. { { 0x8a89daefebc5557cL,0x7ca71403275e1649L,0x48d923775b80bb4aL,
  37831. 0x0a587c52a45b3626L,0xdaff503cc75bfe91L,0xd845d3e6116d07d7L },
  37832. { 0x6b5a4715a51eeca2L,0x34ac02bd74481991L,0x8f076cfc595abf8dL,
  37833. 0xc9de4ce9ed0391ceL,0xaaaad03ae1fcabd3L,0x8d48ec0087b199edL } },
  37834. /* 9 << 175 */
  37835. { { 0xbd0f2653ae5dd482L,0x59f968dd060032dcL,0x6bea33e067283310L,
  37836. 0xccce88cc012aa50cL,0xbb6d7f2f66838f46L,0xb764c95f05ec9bcbL },
  37837. { 0xd097b60451477ccaL,0xc2fbda7b82b20a85L,0x75fe07a424e9ca8dL,
  37838. 0xfc4fa8240cc40d01L,0x0b17d5f90c0e95f7L,0x285e6e8a6e1e46dcL } },
  37839. /* 10 << 175 */
  37840. { { 0xb0641d09bc9b2654L,0xf9fcc2e68aa8fa35L,0xd12a5b4b00d5ec6eL,
  37841. 0x9be1a1115569d89aL,0x9c0566deffac7208L,0x7a9fd4ff7034edf1L },
  37842. { 0x636aeb6b9571c375L,0x60d05aec55cdf187L,0xf4e2f898734e9d2fL,
  37843. 0xdaf742195ccdc6bcL,0x9d39249f608a4f28L,0xb5f1bb5e8820e2c3L } },
  37844. /* 11 << 175 */
  37845. { { 0xd02e9936d9589548L,0x8f1bf5755341402fL,0x1535a443057300aaL,
  37846. 0x3062478e65d29324L,0x4203351fc656a3f3L,0xbeb21b516569c4ffL },
  37847. { 0x8113ce70e1f0f263L,0x59d1293903f9320cL,0x95061255d08f8936L,
  37848. 0x8be3c0f997d4b705L,0x0259742e827837c2L,0xf55ea28d95c65cdaL } },
  37849. /* 12 << 175 */
  37850. { { 0x62024812603dc3dcL,0x25dc5337efd67b57L,0x86b3eb38d7f033fdL,
  37851. 0xee3226b232646d6fL,0x8c4825f6f1dae596L,0xd2303055a5bcb8e5L },
  37852. { 0x904a53493c0baa76L,0xe60f6125e08646a7L,0xaf6a329f21d45f89L,
  37853. 0xf20ad88a06605546L,0xcf7a0e9619a93d14L,0xf1eabcc891c97174L } },
  37854. /* 13 << 175 */
  37855. { { 0x72b76e9e8f02af51L,0xac94cbf1d580f95aL,0x2e9cd74801d854a4L,
  37856. 0x4ed4e9061f08a1bcL,0x0a2b28419d2bd936L,0xbf86350051c89ddaL },
  37857. { 0x9407b0e7e3f00bf5L,0x6b1f71ff28b57ac1L,0xc1dfe03fcd28801fL,
  37858. 0xf3d83d64afa55309L,0x47aafba28af8f76fL,0x54eed45f6604b2e9L } },
  37859. /* 14 << 175 */
  37860. { { 0x59edd2640f3e541fL,0x318674b582b76ba8L,0xbf4a0d304e7f0716L,
  37861. 0x36fc0e4119b88200L,0x91db560240da801eL,0x638371ad2c72c2c7L },
  37862. { 0xfe960c25d5822da7L,0x7a7571d14a7415e1L,0x5a6480febccc1576L,
  37863. 0x72f4e5e5c3c88f47L,0x224e7e749a7bd8ecL,0x3ebbf52c7631455eL } },
  37864. /* 15 << 175 */
  37865. { { 0xae3c2bc08608ab37L,0x35e3da8c39f336b6L,0x7413664281f44511L,
  37866. 0x21ce7c511d8506e7L,0x9b6718b3846165f1L,0x9e455007f5cabf6aL },
  37867. { 0xec582a0e02611073L,0x269aa18d83bf042eL,0x7c54fb7c86306757L,
  37868. 0x453336021b948fafL,0xd3a5c508b7025d73L,0xcd6e555b428471e4L } },
  37869. /* 16 << 175 */
  37870. { { 0x42c9fad511a224e6L,0x6b6aeb8b69b2ac26L,0x0cf4c7fdb149854bL,
  37871. 0x4a7d90002fc359ebL,0x9ff0c3ea29ec8603L,0x157ae7859b24ee14L },
  37872. { 0x638c809a8979e9bbL,0x347dfb2e7869d8c5L,0x2fb1e0f8a07ea547L,
  37873. 0x1e580d32aecdec3fL,0xbbf895730f74025bL,0xeb94d71bdd529164L } },
  37874. /* 17 << 175 */
  37875. { { 0x8670812a35d03250L,0x2f68343f1984cd59L,0x5fe890caf1ff97ecL,
  37876. 0xd47fff536f764b2aL,0x70fa44a4f8f7077bL,0x7b287efcb2c7fe02L },
  37877. { 0x0718e70806dedcdeL,0x37193c827172c0f6L,0x47ad55f67b7f28a5L,
  37878. 0xaf83c4fe9c71a96fL,0x2d6075587c490626L,0xe647de1b933e9033L } },
  37879. /* 18 << 175 */
  37880. { { 0xdc5909e3f1687d4cL,0x4fe3be46d431c5a7L,0x28c41a035f9807beL,
  37881. 0x2c4203fd12f1f8daL,0x13f12da450a19620L,0xc32f881eae2e9835L },
  37882. { 0x56328ef7622587d0L,0xcf785f038f209f66L,0xb562ea70a2697748L,
  37883. 0xa762289055598769L,0x9842bfa8fbf41fd3L,0x304c3057fa401ba0L } },
  37884. /* 19 << 175 */
  37885. { { 0xb8d685d1c56bc716L,0x1eceb18f1fccc358L,0xf94bedc82034cabdL,
  37886. 0xa9acaf11ad003472L,0x6fea0a55ad0786c6L,0x60f7f9a9581f6f52L },
  37887. { 0xc4736494400bcca5L,0x221d8f8a3606b047L,0x533756fb6339c7fdL,
  37888. 0x1e068e987510c1a4L,0x9bf9abb6ededfa09L,0x96895ce548d54775L } },
  37889. /* 20 << 175 */
  37890. { { 0xc995b0171552c477L,0x6f92a95252351781L,0xa9d4bb6c4da25dafL,
  37891. 0x2b02828e3cf6aab7L,0x5f4febed11fa4d0bL,0x42f0e61ea12d9d37L },
  37892. { 0x1ceef875d24610d0L,0xa7c85c485d4eeceeL,0x33fcfa3b79340a49L,
  37893. 0x3671e563b00b3491L,0x871f74e493eade0fL,0x1ed095182c546f3eL } },
  37894. /* 21 << 175 */
  37895. { { 0xc003b709a9a5c68eL,0x9441e7b26c84310aL,0x7ec3b652dd90f7c5L,
  37896. 0x17e601685b526324L,0xc5f77fee479573aeL,0xe89beed18453fe7eL },
  37897. { 0x259a2b0364540cadL,0x8c2f13322b9a8053L,0x1db53ab7304940edL,
  37898. 0xcf780c5d1612763dL,0x2edd7285e19b62f9L,0x20ddc9874abdd7a5L } },
  37899. /* 22 << 175 */
  37900. { { 0xa70aa6781250954bL,0xe4a2f7cf2930f3edL,0x3e3dd26666fd719aL,
  37901. 0x500166cf792ff463L,0xeccd32cd75cf00a6L,0xb65f46a5c4526e56L },
  37902. { 0xfc3a99c360aa8cd7L,0xe04a18b31290b20fL,0x957139a218cb9326L,
  37903. 0xf6b352ce11fc04a5L,0x9314b80778534e64L,0xd4a265c52d8f5015L } },
  37904. /* 23 << 175 */
  37905. { { 0x7078b4820dca1fd5L,0xec3192daeed504baL,0x144183332d06a63eL,
  37906. 0xaff9f7bd69c01ac1L,0xc5fb50475b74308fL,0x37846eeaa67e7ef4L },
  37907. { 0x0fcea663976b931bL,0xd3407d42bb345b71L,0x925afc36a2deb11bL,
  37908. 0x12c271092207db49L,0x237500002e1c8fbeL,0x41427e0763f771cfL } },
  37909. /* 24 << 175 */
  37910. { { 0x9dafbe96491ddae9L,0x92c60b897741da5fL,0x1185b001b866ab14L,
  37911. 0x7a43b9cfca7f2f81L,0xaaeb5efc6ee8fdfcL,0x1f7cc70022beba9dL },
  37912. { 0xa212724722e3e7cfL,0xb98dde1e9e723477L,0x87832183ac89706bL,
  37913. 0xdfb92ac1ff72f1d5L,0x5877fe6daade3804L,0x7ddde4a79170b9acL } },
  37914. /* 25 << 175 */
  37915. { { 0xdb147da0b7df600fL,0xbef5374660a8b100L,0xb4c7e404a1330d14L,
  37916. 0x152c6ae754f96693L,0x08884fecb25fd94dL,0x8ec186048ba59001L },
  37917. { 0xdc245c0c9f8e77fcL,0x2be5aaebc0f0a83dL,0xd15bdecd1fd13525L,
  37918. 0x46b603f0821c9224L,0x6b335a7daf6dc128L,0x4cead4f94dc6b5bbL } },
  37919. /* 26 << 175 */
  37920. { { 0x239cccd8179fac91L,0xffa076063829d42eL,0x75b8589cbd42a0ecL,
  37921. 0x012f5e80d7f2292cL,0xdcee7efd99c14665L,0x4925256d23650737L },
  37922. { 0x847c86ecf3cc64afL,0xdd34a75feabc04fcL,0xc2f73b3ac6a1f710L,
  37923. 0xe16e317565cbf6fcL,0x9cccffee351461d9L,0xe3d635543b4fe4b9L } },
  37924. /* 27 << 175 */
  37925. { { 0x6e27de1176ece8f1L,0x3ca873a79d5a3cb7L,0x7d65cdff7e424482L,
  37926. 0x023e5bcf69372216L,0xae601c2f2ffeb5a6L,0x8c8888cbde130b33L },
  37927. { 0xcb8309485700ecc4L,0x5a1902ef9dfe1891L,0xe01f5fc558198380L,
  37928. 0x9d5d1c476c59f973L,0xacc64c98e34cc41fL,0x057d81f03065d870L } },
  37929. /* 28 << 175 */
  37930. { { 0xf3a1a9797aeefd73L,0x3fb166a09537abf7L,0x39e8c469d4c37607L,
  37931. 0x3efc85650e3f034eL,0xc955c2dff9c25655L,0xd6ce96ec260fa449L },
  37932. { 0x5383a8b831d8e6d4L,0x3aed2e761a3595dbL,0xbd269c39e22a0f45L,
  37933. 0x4c82238694a7a83cL,0x362f08055731bd0cL,0x7dc1e7ee0527be95L } },
  37934. /* 29 << 175 */
  37935. { { 0x606ffedfd41ce228L,0xb87608d0ceb21740L,0x6fa23c0794a4354aL,
  37936. 0x587a7c54d5061d84L,0x75678bdb16b823ccL,0x2d2163c94ec818afL },
  37937. { 0xa80b1e4e22c6fcaeL,0xc07cebee4d2a4b65L,0x64f303c7a895e2c9L,
  37938. 0x750079f5a768a2e6L,0x0665502c2d423133L,0xaf33176715135cdcL } },
  37939. /* 30 << 175 */
  37940. { { 0xda8f7878c715abf4L,0xc62292a5a5830c4dL,0xfcd30f7e4b46acb9L,
  37941. 0xb931f1ee39a73db2L,0xf838a5c84ee1afb0L,0x15609b57c202a921L },
  37942. { 0x2e21871620bbba58L,0xe1d2fa14ae2615cdL,0x0a4dcf3543946185L,
  37943. 0x2e80d804730d2490L,0x5e43dc17794246b6L,0x7b3588c8dcb3be9bL } },
  37944. /* 31 << 175 */
  37945. { { 0x3e74f09c1bb8e6e2L,0xac587847584dba0dL,0x926415593f843324L,
  37946. 0x0033257729f3ed18L,0x4b7164e5d0089537L,0xc50542793e54c9a0L },
  37947. { 0xbae7ff9808e58162L,0xc0707d03c1aa2fd9L,0x43524f717714dca8L,
  37948. 0xa202a0707255b169L,0x0a7867ab4249b2e0L,0x03f748656d6ec5e9L } },
  37949. /* 32 << 175 */
  37950. { { 0xfa2db51a8d688e31L,0x225b696ca09c88d4L,0x9f88af1d6059171fL,
  37951. 0x1c5fea5e782a0993L,0xe0fb15884ec710d3L,0xfaf372e5d32ce365L },
  37952. { 0xd9f896ab26506f45L,0x8d3503388373c724L,0x1b76992dca6e7342L,
  37953. 0x76338fca6fd0c08bL,0xc3ea4c65a00f5c23L,0xdfab29b3b316b35bL } },
  37954. /* 33 << 175 */
  37955. { { 0xd2437a52eddd4b72L,0xe2cec2abf051b831L,0x845af98e482a4ea4L,
  37956. 0x75758ccfa43cae82L,0xa76733429260ea35L,0x77845b02b1dd602aL },
  37957. { 0xb78bc4c047d5c450L,0xcb1f444550ad371bL,0x6bc01293d71cc417L,
  37958. 0x8538f638c1fcb367L,0x5d01d35919b313f3L,0xcd6b55bfcf67f6acL } },
  37959. /* 34 << 175 */
  37960. { { 0xc28000d6e3b03290L,0x4dd5064a5f2ddbcdL,0x4916f830338a1414L,
  37961. 0x3ffb8381aca74c22L,0xec073ee8e680f548L,0xa34e0693a0430cc3L },
  37962. { 0xc6baf20dca03e6e7L,0x2a30df6e835fb88dL,0xbf3c9e9cc2092d6bL,
  37963. 0x391cb25c17bc2433L,0x9b7de7126c205c0aL,0xf25e1494cd2a5e62L } },
  37964. /* 35 << 175 */
  37965. { { 0x05ae44e9d21fdc9aL,0xc520657fce40ebbaL,0x6b8e25431270cb59L,
  37966. 0x24e6f9bff7f096d0L,0xc6ded76a3ed81f52L,0x729d05e75f7df798L },
  37967. { 0x99e2636fe5468eb1L,0x6f3abd4c00419facL,0xfc61117a9cc41e09L,
  37968. 0xb16f106baa399a51L,0x05603bc845e52713L,0x612658aca5c36107L } },
  37969. /* 36 << 175 */
  37970. { { 0x107573b96defe8f4L,0x9a9edf0570545313L,0x5df43df0e54e8272L,
  37971. 0xac91bae8eeb4ae90L,0x241d54bd26006ab1L,0x0ba118a6c031de7dL },
  37972. { 0x376214671f500d4fL,0xbbd6b318bc3596e4L,0x4b5532c85992277aL,
  37973. 0xb15165da16a4728bL,0xbd7986d45140abdfL,0xf4fe16df7386f38aL } },
  37974. /* 37 << 175 */
  37975. { { 0x8c5d305696aeee65L,0xe52e500ea79991dcL,0x3af4a3ef343fdde9L,
  37976. 0xc6d0389b248ad10cL,0xc3dbdb3f5014de53L,0x606b1352310a0cd8L },
  37977. { 0x65af3f8479bde08fL,0xa6c7d968d82ab682L,0x7262c07d202a6508L,
  37978. 0xd0231bb64cd75fe0L,0x58a34ca5dcb1f7fbL,0xcc8b21b21b8cf7a1L } },
  37979. /* 38 << 175 */
  37980. { { 0x4cd6e61be824653dL,0xfa02c0c9f253dd65L,0xab198e41b1e84cedL,
  37981. 0x89ce6aff1928be7cL,0xf2a83f4895afb956L,0x5b5f195ddc73f3a5L },
  37982. { 0x44220ff79328317bL,0x03d62cb7f5239616L,0x0e908d34b5d49415L,
  37983. 0x050b7651c1f7e665L,0x3610167089e1a98bL,0x564abb3418eb7644L } },
  37984. /* 39 << 175 */
  37985. { { 0x400b363b2eecacf6L,0xe2ae5bee1ed9fb9aL,0x23374b11831e99c6L,
  37986. 0x0a8382d82cb9de95L,0xf95b8e052dc02291L,0x63b05a0d2f752257L },
  37987. { 0x9ec16f84b60d9df4L,0x6ed683ac3bda5171L,0x7206450813acca39L,
  37988. 0x6024af3cf8871ba1L,0xbf88040e2f9a4d56L,0x001054149fb100e5L } },
  37989. /* 40 << 175 */
  37990. { { 0xd52c606375ccd2e3L,0x4fa8e4df56ce654aL,0xcd905c9bce581d23L,
  37991. 0x51ce0eab24ff75eaL,0x1c1c0831432c6e5fL,0xb83307aec02f0e86L },
  37992. { 0x0b7a0274fe2ee821L,0xae7dd7729c3d69faL,0x54745da5931ed75fL,
  37993. 0xc276d96f18caba13L,0x142571dd26dd9792L,0xc522dac16c0e3167L } },
  37994. /* 41 << 175 */
  37995. { { 0xa86fa630197b5b97L,0x749ea479fa21c176L,0x520c0e4871ce7101L,
  37996. 0x5c53d9ebe30a0b0aL,0xdc71b629ceb570feL,0xa30fc3d11fa3699eL },
  37997. { 0x741321b579cbbfa4L,0x205ea0aae8d18119L,0x94556e92fc62e0eeL,
  37998. 0x5ba78d4e042b9c3cL,0x14de84103fa24a56L,0x6e57a9fbd6557bceL } },
  37999. /* 42 << 175 */
  38000. { { 0x2a5e716ff103d9c9L,0xda2f7e5cb9cd27ecL,0x317f74b8e047e5cbL,
  38001. 0xf1f496d33a4413feL,0x1a480a9cb8cc9fdeL,0x502b52d7575208d4L },
  38002. { 0xf14fe00cd19c49a3L,0xf5c2367b269be5a9L,0x966a524f12d42690L,
  38003. 0x2786ff714dd03b95L,0x6fa1f891d69bf68dL,0x0f3d77579f67b3bfL } },
  38004. /* 43 << 175 */
  38005. { { 0x230c8d00c966c638L,0xde5c9e8e54673305L,0x618b0dd561bc99faL,
  38006. 0x669618048f3cb5c0L,0x7c653ca507141ba5L,0x454d54ff32ba155aL },
  38007. { 0x82665a307df3e39fL,0x15eb1a65ca19cbb7L,0x4e7632a617330ab3L,
  38008. 0xc69235295a3221b4L,0xe23ee9382eb58e9dL,0xb320aa8e23bcf88cL } },
  38009. /* 44 << 175 */
  38010. { { 0x6ba15fe607a7ecf8L,0x93127926f831cc91L,0xfde2dbf41ff6264fL,
  38011. 0xdf7f22018413fdb2L,0xdd81d11487f66260L,0x87907f0e4a87133dL },
  38012. { 0xeac1032cb1d47e23L,0xe2603119125a0918L,0xba680392f2259208L,
  38013. 0xb7c7f8ebf9bf06b7L,0x875a380fa56ba57cL,0x05a88a97460c939cL } },
  38014. /* 45 << 175 */
  38015. { { 0xfb2871b7d0dc771eL,0xd12b21fcbaf358c9L,0x30dbd412df616c16L,
  38016. 0x291bd90f9345e16bL,0x92f7534b8ee6bb6dL,0x7ebc5b0eb1c901a0L },
  38017. { 0xc9e9c76151e1881aL,0x5ca52152756bfecbL,0xb0a9f5cb6affd506L,
  38018. 0x4c12f965669feb3eL,0x01d84b9ea6f1c529L,0x3870fa27e8433c92L } },
  38019. /* 46 << 175 */
  38020. { { 0xe4e9e72495bb5db0L,0x86babe3ffd616958L,0xc1520c280f93c1cbL,
  38021. 0xe393ded539cab777L,0x031a2af3e86a6ca3L,0xb26a19101e8466eeL },
  38022. { 0xb16b746dbb64fd81L,0x4e96f0b65a97d50eL,0x7a12a611a793fac2L,
  38023. 0x8d729847db6482aeL,0xdd050ce812e72ce5L,0x915041366c54299aL } },
  38024. /* 47 << 175 */
  38025. { { 0x9e8018c06b63c4beL,0x49dde0c8fce47904L,0x1668de9c9bae36cdL,
  38026. 0x8dfb0d5f80ed18aeL,0xfd6739a791e1949dL,0x80353c9f8053d7d6L },
  38027. { 0xa611699bdea54710L,0x5eacf16e6c6c1f5bL,0x5212fbd3c920323eL,
  38028. 0xaf75db75848d085fL,0xb58564b1babb45b8L,0xefa1958938bc491dL } },
  38029. /* 48 << 175 */
  38030. { { 0x0a43a76c2f95a081L,0x27eaf2bc38b1c395L,0x6ba3222c63da1d80L,
  38031. 0xd95ae17e6a78ce09L,0xa72d9812508f03b3L,0x9f36d02efa8ed359L },
  38032. { 0x1716d1dcd5118f96L,0xd116339f489bbc53L,0x272153ef6f7e1d3dL,
  38033. 0xcb4a9e739e308d22L,0xcfa9d88b615a3646L,0x8b69bd6cde454569L } },
  38034. /* 49 << 175 */
  38035. { { 0x33ae0fec2b8f41feL,0xc45aac500762c46bL,0xa03bc6ddf228ec44L,
  38036. 0x82cb78cfea3d48c2L,0xbe7a02ed27126795L,0x1a44d1f830b3e3ddL },
  38037. { 0xb414edc73be7b58cL,0xb3e6c7ce331bcbc9L,0x9f6fd0f2903b3508L,
  38038. 0x260c8b5736cc2930L,0x8581a05d0d59278dL,0xfac1817b189b3005L } },
  38039. /* 50 << 175 */
  38040. { { 0xbf4d4640cc9a69c3L,0x07b39b5d67d262dfL,0xcd4a6a4579526d6cL,
  38041. 0x4a04c430538143caL,0x6c3341b86639e3b0L,0xd490cab5ab7216d4L },
  38042. { 0xedda2b64a2a93161L,0x04e309de644a06f3L,0x7cad728a8c4495fbL,
  38043. 0xe1744f3871dd61f4L,0x39cbd782e3201618L,0xbd66e1850ca18ab4L } },
  38044. /* 51 << 175 */
  38045. { { 0x69d8237f87dcb8beL,0x3f9a485b090e0237L,0x535371e1f117a1c5L,
  38046. 0x0d5ef52675430c29L,0xcb9c150898fdd18dL,0xc7c1a7b4108d9383L },
  38047. { 0x6ba9fb4d98064eedL,0x07d205a9a3df31c8L,0x7a0be62e9be5da37L,
  38048. 0x03b21b1255a9e2c2L,0x3f4792263de80449L,0xb0160ee1ae3bf31cL } },
  38049. /* 52 << 175 */
  38050. { { 0xa22c084a7a3f8c5eL,0xeb7fe23f3ef30511L,0x161ca862819fa38aL,
  38051. 0xe5f014156d45762aL,0x37da6bb95718b789L,0xfcb682bbd837f453L },
  38052. { 0xc49c7397275e5974L,0xbe908df5a1ed0925L,0x3dcd694615a13ea0L,
  38053. 0xdbe652e32596fa76L,0x6a3bcc93c55d376cL,0xa2f7611933a0f02bL } },
  38054. /* 53 << 175 */
  38055. { { 0xdfff9b9c6ed061ffL,0xa36aef2dec32b16cL,0x9f3b7ab6da61572dL,
  38056. 0x96e72a027ac2dac9L,0xb0e36e023aaf4fcdL,0x5f32a620503004cfL },
  38057. { 0x6c91dacbadcd649aL,0xb25deea21ac02a32L,0x211a421ffb914c2cL,
  38058. 0x1ddbd60e149fde1dL,0x91c4cc0d7ce86ad3L,0x8be6f031b9ed909cL } },
  38059. /* 54 << 175 */
  38060. { { 0x62e773c4a0cb50ffL,0xe54fdbdd2e903681L,0xed2bce9e21c12ca9L,
  38061. 0x13aa4748c072bae6L,0xb290c0ad475f290eL,0xcbbc3f9b56698a85L },
  38062. { 0xfb37611b1b7fff76L,0xe62a842260bc2e36L,0xb6a36c783bb20fd4L,
  38063. 0xdec045418dd69509L,0x67648b7798a1ad2aL,0x4fa2005d078fdea3L } },
  38064. /* 55 << 175 */
  38065. { { 0x757f249416307553L,0x865af9d0de6bcb49L,0x3943031a07b0104cL,
  38066. 0xe5fdb46168da2d33L,0x4937d614b5432b48L,0xb3fbbf2c0a29a5e5L },
  38067. { 0xe7d3b12b8de89887L,0xc1a43c24e41258c3L,0x91ac7eabf7d9efe4L,
  38068. 0xfd90de0088385cb3L,0xead102e37674c39fL,0x7b9a2cc4fff118c5L } },
  38069. /* 56 << 175 */
  38070. { { 0x11f92678a1e598f5L,0xde8052491fbb882aL,0x3730b3261154d0aaL,
  38071. 0x0e279827da521670L,0xa03c8c702336f8c0L,0xae50e64ff0bd66d6L },
  38072. { 0xfbfd665f7af4f681L,0x237a4f4e5c8d5680L,0x6527611ba409064fL,
  38073. 0x1f4eff6a99db9a94L,0x4a55d96ae53ba177L,0xd9dec234f002368aL } },
  38074. /* 57 << 175 */
  38075. { { 0xbb837d0ad193ebc0L,0xab1e3eccd09b24caL,0x229f36d81d848777L,
  38076. 0xee895edf0ab68c98L,0x67fc65f4dce31b92L,0x777ebe585db96c26L },
  38077. { 0xca0893ae6047d0d6L,0x71a2ca0b550d6905L,0x35426866eac4c2e3L,
  38078. 0xb4d7e78e0c1b8eb0L,0x03cb0a9a84b384e4L,0xd8a99a5c7f7115b6L } },
  38079. /* 58 << 175 */
  38080. { { 0x07db8bfa5f25a74eL,0x97dd568a3dd8e706L,0xcf4c02a32fb59efaL,
  38081. 0xe2ae502616b291e4L,0x5499f3b20f9c10cfL,0x59abdcf5a7297ec7L },
  38082. { 0xcec282671f4a3646L,0xc10ae0971e065cb1L,0x172f886319dbbaebL,
  38083. 0xb0c27f7d73dd068aL,0x764d185495086ceaL,0xb89923c732de9a97L } },
  38084. /* 59 << 175 */
  38085. { { 0xacd499ca093345e2L,0xfbdb3895f3c23800L,0x2584f8ca02f0fadbL,
  38086. 0x9f5dc96ec2f35eddL,0x4dd102ca1ba0266dL,0x13ee9c8aa9f26fabL },
  38087. { 0x9e7467fa2a1e61daL,0x999764b6850191c5L,0xd053a575b70dd8dcL,
  38088. 0x697b856fd7065eb7L,0x9d5bb6aa695b4914L,0xc5cdd170e65001f1L } },
  38089. /* 60 << 175 */
  38090. { { 0xe87cf622e93495f0L,0x347b09c6bb43a802L,0x2a38f3b7a4e3ac34L,
  38091. 0x13353b959751c1c4L,0x753ec3ecb3947985L,0x3bf856dc12d3fa90L },
  38092. { 0xbf4f6fa5ec35dbe0L,0xd099a15bf3b4fcf2L,0xb348462fbfe7245bL,
  38093. 0x508324b352a2d4f4L,0xec4bae05feee1315L,0x468fa9e404496618L } },
  38094. /* 61 << 175 */
  38095. { { 0xc57673257d5e7a94L,0x40c05da604cefc01L,0xba1fd6c6b921c681L,
  38096. 0x0d3e09f9c104cedfL,0x4b7cd83cc6586416L,0xb747d7f9adfa7bfaL },
  38097. { 0x833f8e24a42be782L,0xd5f0421d06b2471fL,0xac87b17c22e4b84eL,
  38098. 0x85af6b063a10c7bbL,0x4e557cbf66e88e2aL,0xaff21b66d3751e40L } },
  38099. /* 62 << 175 */
  38100. { { 0xdbab25f4c4464538L,0x3c36560ba93d7f74L,0x8b9b15d39f86f410L,
  38101. 0x1237e35b0a1db237L,0xc9dad97994f49677L,0x390a3d8f15dff99eL },
  38102. { 0x0a74dfaef82c19edL,0x3f8e958589c2dc55L,0x763448ce94a8e729L,
  38103. 0xc6349398625f0517L,0x1ca5f9e7523dd700L,0x45aa25317fe638dbL } },
  38104. /* 63 << 175 */
  38105. { { 0xe91af601aad04ed7L,0x6f86f323e897df2eL,0xf8c259564c7a0ab8L,
  38106. 0x6e793f3633845d15L,0x08937ef5e583d043L,0x92dafa5824d1fd96L },
  38107. { 0x6458ae2a86c9aedbL,0x271823a026a4252fL,0xb119fe4c5a57ef16L,
  38108. 0xf41e13943a507289L,0x0cbf1da6bd1aa499L,0xa177ac9dc2465a51L } },
  38109. /* 64 << 175 */
  38110. { { 0x14f962e404a8313dL,0xc6e3e7c45f1f5a26L,0x2c0e11c079e777beL,
  38111. 0xa1705efb4657c31bL,0x02688fd23c494de3L,0x75664a84412a8718L },
  38112. { 0x878fc7ad7a422f8aL,0xe5d581df7419bd0aL,0x7c813c4c704b70c0L,
  38113. 0x98553da87323c008L,0x4f63cec663089f1aL,0x9626d6fa9655d291L } },
  38114. /* 0 << 182 */
  38115. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  38116. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  38117. /* 1 << 182 */
  38118. { { 0x10586ea7507f8b27L,0x1510deb9a261f7d7L,0xa42fc4d7dfbfa352L,
  38119. 0xbf38c3821e1c2291L,0x46e40ef60e11760aL,0xc24f6061dcb974d7L },
  38120. { 0x755b105ba7619027L,0x8004bf09b8ffa759L,0xa630d0b00945db60L,
  38121. 0xa160ac9cf2809e1cL,0x38fc1113dc6c95c5L,0x01f540985d52574fL } },
  38122. /* 2 << 182 */
  38123. { { 0xcda68a7e698ee21cL,0xc7414d196a5e725eL,0x483be2dadce20b91L,
  38124. 0x7de1601cfc69dca6L,0x4bec17aaac4f9891L,0xe8741dd18d479a56L },
  38125. { 0xc623cb8dac23a286L,0xe20a96b5166133f0L,0xda9bb7c030dcde61L,
  38126. 0xf84ea3273a1733fdL,0xd7afb6c3e82fac31L,0x37ea7d35d3897449L } },
  38127. /* 3 << 182 */
  38128. { { 0x120649b20370327bL,0x0e76555acd48cdc6L,0x4ed54decca01db03L,
  38129. 0x7be21319ac601d22L,0xf711661901b6576eL,0x7839fa064e73537fL },
  38130. { 0x169d43ace46e860aL,0xde6d658c3078eed9L,0x8df731395032142bL,
  38131. 0x6be199b09b3c76c7L,0xc2f385f6f8bbffe5L,0x848df7f3d5ffd28cL } },
  38132. /* 4 << 182 */
  38133. { { 0xa189f30fc6a6d6d1L,0xdd674d3669665ab8L,0x307c9ec37d8da76dL,
  38134. 0xb3e1d006c1ea7c10L,0xc15e20b3b88c62d4L,0xb0000ec50bff3b3aL },
  38135. { 0x9e330eb19ff9aa5cL,0x8663f9fddf578877L,0x157d3cb002e1eb2aL,
  38136. 0x638f297bf525e4d4L,0xa20f833234a3dff1L,0x748ea86b45a9c051L } },
  38137. /* 5 << 182 */
  38138. { { 0x978ed3abe664c066L,0x3f4a8e0d668361eaL,0x0ba610c753a25231L,
  38139. 0xa8b5b864189143c6L,0x0d7ccefca2841fc2L,0xa80dd8f3f8fea1e1L },
  38140. { 0x2c24af232e19028cL,0x0e332b77919decaeL,0x44eae977f6089c76L,
  38141. 0x25e04dae53722e9aL,0xdd6f8b1f71ac4db0L,0x7c5b6ffd075e7bc4L } },
  38142. /* 6 << 182 */
  38143. { { 0x4c6299a7a1de1cc7L,0x362d293c02d9445bL,0x08f24df0399a9494L,
  38144. 0x33307792e37a1851L,0x1cc5e448760f680dL,0x70a6a8164a2efbefL },
  38145. { 0xee939681246fc671L,0xfa7a26d1f70a9c14L,0xfae5ca89b826aab5L,
  38146. 0x6b8932c7e48176f9L,0x379f89bd9841c8e1L,0x46141d2fdb674190L } },
  38147. /* 7 << 182 */
  38148. { { 0xf4408485b4619d3aL,0x34b4f18160b4f44eL,0x369edc1b3532caf0L,
  38149. 0x2d0471ec6771abc2L,0xca4129311013266dL,0x02e636af617e2024L },
  38150. { 0x1f93d60d3c69696cL,0x6aba7f2a1b99a172L,0x896873e1bf435ce6L,
  38151. 0x9649f08215b71e40L,0x730bedcfa02b024fL,0xb17e9cbd8df60bfbL } },
  38152. /* 8 << 182 */
  38153. { { 0xfe9fdde8bc266ee3L,0x91668688ba18e6c7L,0xa65349acddde6f6eL,
  38154. 0xc53c29c97e54356cL,0xee15ad945709f73cL,0x033b3940e5429277L },
  38155. { 0xf52035cdd0c3475aL,0x9c5bef4d93f1f1f0L,0x26e0b0ceca319bd4L,
  38156. 0x4e7eb67b6951fd8dL,0xac3a6f4395c34d6fL,0x1f2769e600f60b59L } },
  38157. /* 9 << 182 */
  38158. { { 0x95188c136c4d0bedL,0x377a04901b5271e7L,0x60db30226a540165L,
  38159. 0x4be61fda3310c5b9L,0xbbb4fbe93f8bbf16L,0x5232fb46ac12f77fL },
  38160. { 0x8d6f75ab255b569cL,0x09cc854d3bd39650L,0xec17a6e74b557c3eL,
  38161. 0xd6949f9d5c3d149fL,0x9a17a440494b18b2L,0xc10cb9d5d4a024acL } },
  38162. /* 10 << 182 */
  38163. { { 0x4520be6b8eddc97bL,0xeb8f2c317391f948L,0x18fcbbd772369418L,
  38164. 0xb8950ee217246882L,0x6b1e4b7a382e82c2L,0x9e2bb1eb7ea4c447L },
  38165. { 0x5202d913c3c5bc54L,0x53ea78cd21352716L,0x7bd53ffb36e6b4ecL,
  38166. 0x8325bdf817387196L,0x33b2cd8af94d6a73L,0x206bdec5e13db4bcL } },
  38167. /* 11 << 182 */
  38168. { { 0x6e27ce2609c98c86L,0x8f87ec4c958002c2L,0x00b6897064ab26edL,
  38169. 0xd2b4037282e5e129L,0xbeae654c78c48327L,0xc0632b4341a54107L },
  38170. { 0x7b1fc7f001562313L,0x01cd1b5c1fd6a56cL,0xa199a69835e71626L,
  38171. 0xb02b2692635fbcffL,0x1c0c4200a0632386L,0x637164f8d6c670e7L } },
  38172. /* 12 << 182 */
  38173. { { 0x2c47010d18e30ee3L,0xb7d4b1dbfdd5f040L,0x5c8abe509d930f6dL,
  38174. 0x6bcf875d5f56cf04L,0x1f6456c0062f1fc1L,0xc79597805304d710L },
  38175. { 0xd76452e4db85dcecL,0xd531f73fa0cbf90cL,0xb5ae9fc89021bde6L,
  38176. 0x505c6b9f4babfae0L,0x99d943c17ea61fd6L,0x6ef4766159bf125aL } },
  38177. /* 13 << 182 */
  38178. { { 0x3a48020daa0b0a5dL,0x4a32d4d658bad0dfL,0xe013dbde2e4340ecL,
  38179. 0x99efac69a5fc51f3L,0x26acf7a669ee64c6L,0x36672d6566fdc9f2L },
  38180. { 0x77426caedcb879feL,0x0166194676e3be96L,0xb6fe4709b2dac331L,
  38181. 0x1f3d8a63678ff3ebL,0x711c0ea447bd5865L,0x5fbe38e87c080adeL } },
  38182. /* 14 << 182 */
  38183. { { 0xd0891b2df4e61379L,0xea2c7ceb9941c391L,0x1441a2d099677e8aL,
  38184. 0xc29d88c8abcb3669L,0xecb1a21a06ce9bd9L,0x0663fa7cf5b11fc6L },
  38185. { 0x440a5a1c0c44c2c8L,0x08d71bc39fdded3cL,0x62b53ca512d33d2eL,
  38186. 0x3fb8640e005e8adfL,0x2a9acaefaa2673a5L,0x356ae6f6695f8448L } },
  38187. /* 15 << 182 */
  38188. { { 0xcf3c9b318496d935L,0x7e849aff8ceefc78L,0xfc06a46e7a5d692dL,
  38189. 0x87248699e89463afL,0x4dc55e5e8e17af3cL,0x3378832fe41ec54cL },
  38190. { 0x7578d6192816f87dL,0x505845612806d3cdL,0x7354f1022754c3d7L,
  38191. 0x61ca6cac08d64863L,0xecde4969eb9954ecL,0xe0c211b4a1a5dae0L } },
  38192. /* 16 << 182 */
  38193. { { 0xbd10b8bffb787270L,0x4f0b1566e43aaab6L,0x9a18be5ec0c90781L,
  38194. 0x3677f4c71ad167ceL,0xccb254e2a68c1c56L,0x392493e6e2c4d275L },
  38195. { 0x44958cb1d5b63617L,0x178f141a4caa4e7cL,0x7445a767a2ffdbd5L,
  38196. 0x0e789c99b0b6c22dL,0x3ff8b6565dc92b2eL,0x1623e5c3eca98782L } },
  38197. /* 17 << 182 */
  38198. { { 0xcb013ff62c5c50daL,0x5e5550b70b256dd6L,0x38249ee1bfd47036L,
  38199. 0x984daee275379fbfL,0xfb35304588c6bc7fL,0x32379c955f9683aeL },
  38200. { 0xbcb4ac531b5a8626L,0x1057d2a3bbaa0deaL,0x114ef8a7ffa8efb7L,
  38201. 0x553a34566da90cbaL,0xa2ced0b21a365fe6L,0xcec4d64bb1ccdb57L } },
  38202. /* 18 << 182 */
  38203. { { 0xe0312b66b81fe0eeL,0x11e0493b892c7b21L,0xb6a1d76e624ce73bL,
  38204. 0x38768ec0cd75cb6aL,0x425b091f2032c271L,0xa88d39f55b5d8338L },
  38205. { 0x1496b9ed1916be43L,0x14468e3054549f3cL,0xd429c2c47248e206L,
  38206. 0x21a1c212fc9e892aL,0x0feb5822640c984dL,0x0cabfb472b7c0c66L } },
  38207. /* 19 << 182 */
  38208. { { 0xcda1c4cd1cc5a20fL,0x33d66a893f67814bL,0xbba50d5360ce82edL,
  38209. 0x9d34dc4d70553a53L,0xc926f498a8a1442fL,0x9dfe3cbccbb43feaL },
  38210. { 0xd25887434fd3e4efL,0x7443a9a9a371d894L,0xb53e6afaa22bb4f9L,
  38211. 0xcef3fa347dfc9da4L,0xd079ded047403836L,0xc6c97c36d39aa93bL } },
  38212. /* 20 << 182 */
  38213. { { 0x6618fcae534f6370L,0x1635580da1a864a2L,0x90ad39947d7ce552L,
  38214. 0xbf8c45895257f24bL,0x5a9499202098768cL,0xec1eb621bb6d8830L },
  38215. { 0xfae8f161f1f9ac16L,0xfc9184ca35704c99L,0xa72b1ea9139ea04fL,
  38216. 0x82229a912e39e1d8L,0x4153bf3e479c7bc2L,0x83325be4c5541825L } },
  38217. /* 21 << 182 */
  38218. { { 0x358a91badbea81d1L,0x4d1947d7c669c7a9L,0x4ca6d8f18eedbfcaL,
  38219. 0xf9eda237069b3b93L,0x9e1217e5a35ea963L,0xb7e16f08ab960c77L },
  38220. { 0xf440d825fb313db7L,0x804c5262101c5424L,0xd236a0edab3c4f7aL,
  38221. 0xf8bdb2b1c2682459L,0xfaa7aacaf46c4d70L,0xcf6ce4adae83dd7cL } },
  38222. /* 22 << 182 */
  38223. { { 0x2c7756bcbd452842L,0x2c47593cd1783fd8L,0xa4f41583a7527697L,
  38224. 0x2fddafbbd1049934L,0xc087f3db6c71063fL,0x8f5a85c4c9b3ef6cL },
  38225. { 0xbe178bc966a975d0L,0x2e2d825b94066514L,0x061dd919e0d42ba4L,
  38226. 0x964fdcfb227ca011L,0xcb915b2973d7ba7aL,0xaa7f2fa72af8338aL } },
  38227. /* 23 << 182 */
  38228. { { 0xbdbb3440734e8984L,0x8b9b7acb3d6f547aL,0xfc4f48ea0e76a07cL,
  38229. 0x49758a9f97da0c23L,0x13f4254a26958261L,0xdf1fdca2adb3ef57L },
  38230. { 0xfafba40d699460e6L,0x71b2de39cd5c94c4L,0x52d76b76c21cdf0eL,
  38231. 0xbe75960760f3dfa3L,0x519d4fcb7078f5e0L,0x4bd8ca7f5191e1b3L } },
  38232. /* 24 << 182 */
  38233. { { 0xfadf9be978207cefL,0x97d5ba569cb5718eL,0xcbad24ec2f995393L,
  38234. 0x6236a26861203303L,0xe4bafc336589a4beL,0x6cba77185e23fa82L },
  38235. { 0x8ccbc5774583e65aL,0xe5d88bca4bc2f415L,0xe6bc2d5841df8dd1L,
  38236. 0xec24e1d914d31fcdL,0xacaaf13efc26010bL,0x7e1da447e01b92f3L } },
  38237. /* 25 << 182 */
  38238. { { 0x2b3477ec1a29de39L,0x30a5c2190a8720eaL,0xf593ec729775bad0L,
  38239. 0xaaf607792af7dbbeL,0xaace90d4c7cc7b59L,0x6eadf21d40509cf4L },
  38240. { 0xb9a5f138096d00fcL,0x3896d42625b206a0L,0x0f28f0f09dcaa5dcL,
  38241. 0x2ef6f9f9a8186106L,0xd212710fe25b4d04L,0x0cc6d2878b9847b2L } },
  38242. /* 26 << 182 */
  38243. { { 0xe7407327cdfb2baeL,0x06745198510c3039L,0x8a913ba74da758e9L,
  38244. 0xc882e7bb1a4797abL,0x0f0d8eb5dd7b375dL,0x90ac5223dcff3f3fL },
  38245. { 0x8443b7cabbe341a3L,0xa7cba7f22f173bbcL,0x04669ff830e5c327L,
  38246. 0x0edd0eac09b777fcL,0x2a70898bd71e0cb2L,0x881c48929bd983bfL } },
  38247. /* 27 << 182 */
  38248. { { 0xe4847c654e7603f4L,0x826cd33c0bbea366L,0x95727caf2c4ced28L,
  38249. 0x580313dedb8ac1e8L,0x6745673701363cb0L,0x540c35ec0ff13cc9L },
  38250. { 0x878c86fe3c4fc263L,0x4d81f8aed14e7c78L,0x6f7cf97e8355ef22L,
  38251. 0xa2aadbc848a0aef8L,0xe0200ecf4fc3c61bL,0x7e58e6e0c8094ab1L } },
  38252. /* 28 << 182 */
  38253. { { 0xc52789bbf2d3bdc6L,0xd38673fc3b23d7a0L,0x8b6df95aacafbbfaL,
  38254. 0x37afdcbdc7f6eb6dL,0x57775bdd6cb4c9d7L,0xc34e5a2711007453L },
  38255. { 0x903e5ba1b5faf98eL,0x811e142a9d4a8a45L,0x046d18932d7ac9e4L,
  38256. 0xe2fe9d1543ce66a8L,0x44b5beb4d4956410L,0x7c5f1b9ebb147f72L } },
  38257. /* 29 << 182 */
  38258. { { 0xd51033f48312b074L,0xc98fe29456f898d7L,0xa8d6433be8eeebbaL,
  38259. 0x50bf170976fdbb84L,0xdd95f89d43c14baeL,0x13f9c7366307bca5L },
  38260. { 0x3cd12e2855e7bc8fL,0xe2d7482c3a52581cL,0x12a2c6c7b59eeb8cL,
  38261. 0xf98f79124ae87ffcL,0x41eb808e80d7bf65L,0x589970f2015e20adL } },
  38262. /* 30 << 182 */
  38263. { { 0x200a764a6333b070L,0xa0acd8ecdf0d20d7L,0xbc1c589953269941L,
  38264. 0xed7c9192b439eca8L,0x057c50eeb789f0cdL,0x31dc2d36a9c794a3L },
  38265. { 0xe3f2d38dd58ef984L,0xdb250da69235b084L,0xc2ff1b49da05b500L,
  38266. 0xf2ea6cc50387c539L,0x8250353a3d1004cfL,0x69103201aed0bf97L } },
  38267. /* 31 << 182 */
  38268. { { 0x495cd7fc878e97f8L,0x6397fa8b61120b1dL,0x20b9afddc8708907L,
  38269. 0x84f55bb97be2ee80L,0x996fcb9d8d075b5dL,0x2e94d95ead858627L },
  38270. { 0xf786143e77113ebaL,0x6fec684f7b3fdb28L,0x4be44fb211d10d07L,
  38271. 0x4b3478e2372f16b6L,0xec8d61614697ca58L,0x097d241c3a45f335L } },
  38272. /* 32 << 182 */
  38273. { { 0x6f6a6104899ef333L,0x95496f6d39067165L,0x42fd9a6ab51989e5L,
  38274. 0x1b60ce0f68f5b168L,0x97324d8756f7fe67L,0x443812f7676815a8L },
  38275. { 0x265ee994685a7260L,0x342c7b2f6c6515f0L,0xe909232334b4adb0L,
  38276. 0xddcd233e1e5a8d18L,0x3dc5b27c5f4f6456L,0x9664533a7f421d9bL } },
  38277. /* 33 << 182 */
  38278. { { 0xa55e8ab09a35f4aeL,0xf908fb35ebbadf5dL,0xf885d61b35fee31aL,
  38279. 0xb8047f4f82728fdbL,0xa6fe454d33c5bc34L,0xdc5266332ef52e54L },
  38280. { 0xb2f524a931581251L,0xb9eeec91aba760f4L,0xa95d396624a9b423L,
  38281. 0xfd52f4d29d3d75acL,0x82719e78834d4c33L,0xeeca71fb3840ca62L } },
  38282. /* 34 << 182 */
  38283. { { 0x984658940f4c60e0L,0x3929d4c645ce7c0cL,0x7846d6c19c4f9b89L,
  38284. 0x2c38a9b20fbc695bL,0xeeb4799ad73d4bb2L,0x7c16e5ba4e3b5520L },
  38285. { 0x11ce92e51cf310d2L,0x0910dcc91e037725L,0x159fcef85fc5af9fL,
  38286. 0x4944f8ee1dcb3ca5L,0xf5d9f8c0b9a4516fL,0x452f0fa2f1cfa6e0L } },
  38287. /* 35 << 182 */
  38288. { { 0x59b15b61c634aab2L,0xcca0742a620df0b6L,0x791d95720d345276L,
  38289. 0xb775b790cd3854baL,0x944e591a256c26fbL,0xc5fda2d0b8fe17d9L },
  38290. { 0x7dba5830c0aff69dL,0x46f7164b0f7c6d60L,0xd767cd58549eeb83L,
  38291. 0x4498b4f51ff2da7cL,0xeef2caf8fc594b0eL,0x88dc39ec5f0a95b1L } },
  38292. /* 36 << 182 */
  38293. { { 0x1a57d3e1b3fe597eL,0x1a3ad06d18d1b6f0L,0xf70f27b32e4a4617L,
  38294. 0x55e8a0479a75b4adL,0x0b24d5beede15d86L,0x2b3c41d0fb2f56b5L },
  38295. { 0xf6cf36aab1d36456L,0x418a72fe1d8ff434L,0x64149a0d156746bbL,
  38296. 0xae65897c4e3a26d6L,0xb75e87d21e68eefdL,0x5b81e0b01cb27c91L } },
  38297. /* 37 << 182 */
  38298. { { 0x2c3fa19b34b90671L,0x369c9e9aa7c9aae3L,0xd89dc03f3d236ad0L,
  38299. 0x280c47b9588ace95L,0x0ad071be57f25a96L,0x36ce641d8296279cL },
  38300. { 0x321778128595511dL,0x51878842b52cb227L,0x720df7ab4156b413L,
  38301. 0xccc71e10fed25819L,0xc878554e3fde679bL,0x9c50ecbe3b565d48L } },
  38302. /* 38 << 182 */
  38303. { { 0xb2d66f1ffe23ba35L,0x82339e2914b273a4L,0x454a5f0b58c2be97L,
  38304. 0x0ebadaa68488ac1fL,0x3c635442517e9af1L,0xa87044c3a5b9fe2bL },
  38305. { 0xb8214dbdb505ae0bL,0x05a9bfad60bf4393L,0xb7b64b42428a49ceL,
  38306. 0xcad71866bd2283f1L,0x5bcfe7fce33a3a22L,0x018a2121fd6c73c3L } },
  38307. /* 39 << 182 */
  38308. { { 0xc4471fb02510a1c7L,0x542e73bd2c1c35c1L,0x0bc8bcc4f028a46aL,
  38309. 0xdf87cd2bb5610f25L,0x0845e4d1df42b41fL,0xc0523e3593aba84dL },
  38310. { 0xc9161e8ed14887b0L,0xa96f9b3aa68c235dL,0xba1427a46f94d5b5L,
  38311. 0x6a5fdbbc858e00f3L,0x8170bad6abfaf661L,0xb4b9dc0ec9f4abedL } },
  38312. /* 40 << 182 */
  38313. { { 0xc48bc829ff7543c0L,0xc0bda14c4d72bfaaL,0x2f470ec703be0af1L,
  38314. 0xc70f1e8e92d37eb4L,0x08abdd98418f410fL,0xe38c74ab35386176L },
  38315. { 0x9c07cfdd8c00426cL,0xba74c310a998f1adL,0x76b45140b7d2dda8L,
  38316. 0xa52b5e584948330eL,0x9b7332348d8efb26L,0x5d1763735d19a312L } },
  38317. /* 41 << 182 */
  38318. { { 0x46950a441d38ade1L,0x377fdf593058c7a2L,0x5e2fa1681aa129f6L,
  38319. 0x2eae63dbc5fe1745L,0x9616fee275545475L,0x4073a79c8627b2cbL },
  38320. { 0xf1ec69ea9a5198e4L,0xe9a906aebd2821d5L,0x193a9387bc22625bL,
  38321. 0xca468d717b6c67ccL,0xb4d11cb360f17a73L,0xcd801a0e3df1cabbL } },
  38322. /* 42 << 182 */
  38323. { { 0x1b80b9c386cf5a12L,0xa5bcd3a016349cfdL,0xcee36e8f00d1edb5L,
  38324. 0x9566e10a5b7bf29bL,0xd0db98cfd4ff0a0cL,0xb516605e7fe427d0L },
  38325. { 0x099066c18e614e25L,0x63537fbbabe78647L,0x5601a8b420117e1aL,
  38326. 0xfd125e2f06df05acL,0xa7fcbd420948daeaL,0x55ad4ee28ff03220L } },
  38327. /* 43 << 182 */
  38328. { { 0x18d71671da2c6332L,0xb38bf94f98ee4e23L,0x9b90bf72ecc579e8L,
  38329. 0x5af93aab1bf6b8c5L,0xdad6e7909342613eL,0x5a1d49dc710ad0ccL },
  38330. { 0x2013ed8801468036L,0xb8bd31cf2f0f6f9fL,0xf025eb2aaac961a6L,
  38331. 0x1e201f659e1adb43L,0x2755f3aeac7e5132L,0x72d8e1d0f5205d31L } },
  38332. /* 44 << 182 */
  38333. { { 0x80bba9170319fec4L,0x4ba44600aaef6debL,0x83285b613594f325L,
  38334. 0x8879183753b5765aL,0x651b4c6adaf1b02dL,0xccc17578825f609aL },
  38335. { 0x0b4076b39fddc6ffL,0x286e2daddf2fa874L,0x46c45233c413b648L,
  38336. 0x4fa46969b7cfe0abL,0x835786f3e04f5e5bL,0x526292a90ce3f707L } },
  38337. /* 45 << 182 */
  38338. { { 0x9928e9eb83f17723L,0xc38d5de26c2306aaL,0x3dd3f371558b3989L,
  38339. 0xfa4b194877154d39L,0x89f437e4b89f5448L,0xd5531444a6437c9bL },
  38340. { 0x65a6874092537cd4L,0x5f6d72281246fb09L,0x0db0b3be58539e37L,
  38341. 0x1f0dd43df50f4143L,0x1aa12daec215aab3L,0xf82820fb7fe7b225L } },
  38342. /* 46 << 182 */
  38343. { { 0x32c6bf5e56cb520dL,0x74dc46c41569fa1aL,0xcbee46391ba52541L,
  38344. 0x5e2f511a50ec4575L,0x90165e35032b6f53L,0x2b8f1f8a5544c780L },
  38345. { 0x95baef65c6b50147L,0x4e9db41946b7fde6L,0xe2463226f7afa6feL,
  38346. 0x4d70932235409eb4L,0x8faad8937c20aa0aL,0xc8c95a85abc1ab65L } },
  38347. /* 47 << 182 */
  38348. { { 0xd5f54ce676d1f996L,0x55957500e595a0eaL,0x9b62e1fd92c72af4L,
  38349. 0xb4803bc3069bf052L,0xb7cdf59c686ebd16L,0x2d1fa780655ac6d2L },
  38350. { 0x6c306d3edca404f5L,0x24e9d7a9a7b5fa9aL,0xe4c080ddc533c701L,
  38351. 0x71d16b63425e29e3L,0x81c00db32d993e49L,0xb59f87f577902ecaL } },
  38352. /* 48 << 182 */
  38353. { { 0x43b58def987cf64aL,0xc95b16c63d4bcd4eL,0x5d1b1373bcd9b923L,
  38354. 0xaf560542522e052bL,0xc2ff8f7583800352L,0x11723aa17fe2a4eaL },
  38355. { 0x28de7668e94bd9bdL,0x0ce80e0f874018a5L,0x0fe3755d8d43e726L,
  38356. 0xa78296acf9b075c5L,0x76d58d9882207423L,0x5c5bc6971db99205L } },
  38357. /* 49 << 182 */
  38358. { { 0x9cbecc969e2aea70L,0x1a3fd38d7e4f2a84L,0xdc35e3c84b95e560L,
  38359. 0xd5e912a5aa21d2e2L,0x037866628d8cd601L,0x4b726855f2bb35e6L },
  38360. { 0xa45a827a0d763ea2L,0x17d6e5ea057bceecL,0xdab2381d09a2a2a0L,
  38361. 0xf1880617e9aa76dbL,0xb86444dbb184c5ecL,0x23a0e4b767da7c23L } },
  38362. /* 50 << 182 */
  38363. { { 0x2d94a6f030df736bL,0xd1ce20050b3be2bdL,0x201352b55e288cc1L,
  38364. 0xdbd3dc57779644a7L,0x9f258b16d191db2bL,0xd83c827fd1c123efL },
  38365. { 0x74c5126e17f04f0aL,0x06008f14966e620fL,0xa4406ba80aaa9e37L,
  38366. 0x27323f797faf87eeL,0x43380a672b1206a1L,0xab1ed1cfaf15ebedL } },
  38367. /* 51 << 182 */
  38368. { { 0xa3d2bad9bb22cc74L,0xfe6591a80e2b9221L,0x8c94c974d3cb4eefL,
  38369. 0x772694266beb6451L,0x2942737a010986e4L,0x920c9dda59c1ace3L },
  38370. { 0xd31af336da61e1d3L,0x973997a118021018L,0x50a6c8425710575dL,
  38371. 0xd61d47c9ade9d8a0L,0x90abe8f8a85f458fL,0x23cc28a3ac4d474bL } },
  38372. /* 52 << 182 */
  38373. { { 0x283d5bb63e052e69L,0x149ac3d01bd300e4L,0xb4c7b96ce0582ccaL,
  38374. 0x66102883428cb7d7L,0xd3eea16b500958dfL,0xe1b6a74f74674893L },
  38375. { 0xe3b284be3fb0522bL,0x74b0fe2dea983a60L,0xd4328e5c81e465d8L,
  38376. 0xecb534c7403173b3L,0x1721e22774144d34L,0xb7273c6aa88a5141L } },
  38377. /* 53 << 182 */
  38378. { { 0x0ea24ac64018877dL,0x265cbfe42acf249aL,0x811c17e61837d63aL,
  38379. 0xff453f5d6b3adf1aL,0x7add0621a3031529L,0x62105dc838af1d27L },
  38380. { 0x2cd31a899b56ec62L,0x5f524be5ede7bbceL,0xc485b2ff66a044f5L,
  38381. 0xae28f5dc87a7b274L,0xd41989a93415b6c5L,0x3051ca44c9c43ad1L } },
  38382. /* 54 << 182 */
  38383. { { 0xc22046bcfb50bf2eL,0xee22fb7b78f7c548L,0x5c41c6bc2b5b4563L,
  38384. 0x56da674a8bf9259cL,0x3732f77433d8d4c7L,0xa90bf0472741046aL },
  38385. { 0x5ee7f4396288c2e0L,0xa7a1fec99ae621c6L,0x523c0569b76e955cL,
  38386. 0xda0c2b378d1e8601L,0x9010bc349559b56dL,0x8d2fab0917b8d9b8L } },
  38387. /* 55 << 182 */
  38388. { { 0xb2caf938281b021cL,0xc61f3abf1404b0abL,0x24203e1cea26d902L,
  38389. 0xc84f07e10d34906fL,0x8ba3d589f0cf7520L,0x86b54f6d9a2a90caL },
  38390. { 0x9f87234f3d77a667L,0x328941966e3fa8d0L,0x0921b4a6e994d49aL,
  38391. 0xe77e9f8b8b3495cbL,0x9e5b74798da1fe56L,0xcbc09ce7b070591eL } },
  38392. /* 56 << 182 */
  38393. { { 0x583ee7dfe3b7e746L,0x0b6659e4a4fab3a8L,0x34ee02751946db5dL,
  38394. 0x5ae3c0ba1a12eecaL,0x36756ed44ccb83e7L,0x973b0861a80eaf3aL },
  38395. { 0x969e38f46982ca90L,0x9a9bcd10018d01fcL,0xb540e9533272476aL,
  38396. 0xcf91dd0a75ab7002L,0x2c7d363f39ceb983L,0x4369c221974747c7L } },
  38397. /* 57 << 182 */
  38398. { { 0x32c5b289642be172L,0xe5cc452e697e6a30L,0x344935e10aa6841fL,
  38399. 0x9eb2dc4faad907a7L,0xaf77d029e121d0c0L,0x2bcddeb08bb073b8L },
  38400. { 0x3584dee5e40653fdL,0xe853b6337605f214L,0x4723f0add4bab900L,
  38401. 0x16dddd27fbf91322L,0x1f96d7e610c525b2L,0xdfba535200c998abL } },
  38402. /* 58 << 182 */
  38403. { { 0x701e8ab819df9ed7L,0x1a6d74c13e2159d1L,0xe82127e0fc61a470L,
  38404. 0xaa2e5f33dd15316fL,0x92b6ea927c42c081L,0xfd470a298522aef4L },
  38405. { 0x0c54a067e5ccf152L,0x60c113eda1a079b5L,0xdd501a8389d6e6b9L,
  38406. 0x3dbf20d219792456L,0x633cd2b710bf70edL,0xace5327a0aa8e5e8L } },
  38407. /* 59 << 182 */
  38408. { { 0xed79a2de3b2a8a4aL,0x02851125cbf095c4L,0x6817ecd1880fd3bbL,
  38409. 0x72acb6ff066adfe0L,0x04fd696d66ce8257L,0xb644f098dc81958fL },
  38410. { 0xcab55d1525218005L,0x1184b0a64de70465L,0x6248e1157aa96b53L,
  38411. 0xe30958630516ac32L,0x19f80cc0d07084ceL,0xfdf7ca2efde86c28L } },
  38412. /* 60 << 182 */
  38413. { { 0x9a8857568bc1783eL,0xb373e5a0a7cf2ee3L,0xdeb162fde46cc503L,
  38414. 0xd5d334601074ef35L,0x0030f98eea159a90L,0xc5ffbdde64e50d98L },
  38415. { 0x85a6486a48195b26L,0xdbf56597b1b9f2d6L,0x5df2352ab8613aebL,
  38416. 0xc425807ebd0189a9L,0xcf5a34d4fa1f4f7bL,0x233e26c7628fd2ceL } },
  38417. /* 61 << 182 */
  38418. { { 0x6c4dd28313a1e482L,0x24bfc23bf803f1ceL,0xb8e795b2f426832fL,
  38419. 0x636d2d63b13fcb5fL,0x2dbca0b214a508ecL,0x1948c957c1ff2b70L },
  38420. { 0xc9d7cd4ae3135c7aL,0x1bf41de75d7cfe18L,0xfff9428f2f6cd5fbL,
  38421. 0xa25d3e8294d640edL,0xecdea1583e4fec66L,0xff3b2b1555530798L } },
  38422. /* 62 << 182 */
  38423. { { 0x483565313178cbc6L,0x085a31143f3a1ff0L,0xee2a58b11dc7054eL,
  38424. 0xa9ce7c113287d5e6L,0xd283d22c8fa263a1L,0x9160bb8be77ff147L },
  38425. { 0x21dabddf918caf34L,0x6921e987ad1a9f13L,0x47e45c7d3ba0ad41L,
  38426. 0xeaac63192bd18585L,0xb88881060818034aL,0x2d8e9c1b60be0a45L } },
  38427. /* 63 << 182 */
  38428. { { 0xad3e46af32f4625aL,0x5c2f95dd88371d5fL,0xfc7a9adef2415ac6L,
  38429. 0x77a23c424ad85440L,0xce7c63712f4dd730L,0xd65bdc45a5c9f380L },
  38430. { 0x763d3990cf11ee6eL,0x7b2a927a9ffc522aL,0x65ccf351deead5c5L,
  38431. 0xef1fa99cce4d076bL,0xdb6f5cca6708ba8fL,0x361525a0f3bac7ffL } },
  38432. /* 64 << 182 */
  38433. { { 0xbfc40c30f893a2caL,0xdf96980e0623bad1L,0x4fd7b54dc027511cL,
  38434. 0xf4799284cf3484ceL,0x655ab811069beea5L,0x52588bc87392e280L },
  38435. { 0x522e7b404f0c17cbL,0xc0d88acac705e9b2L,0x9cf1b95877f3913fL,
  38436. 0x3e06b9267dd52514L,0x992e920e2908cbcaL,0x13baced26d6ed529L } },
  38437. /* 0 << 189 */
  38438. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  38439. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  38440. /* 1 << 189 */
  38441. { { 0x8a46c911bfc6c637L,0x8dc3d699e4fa4fe6L,0xd4ba64f15cf8e4c9L,
  38442. 0x01b3908a01cb3488L,0x69b1fa5d38bd7dedL,0x92ad483818b2eae1L },
  38443. { 0x619324beb33955b6L,0xc7f373355c8a6df7L,0xa397f42e925b3f69L,
  38444. 0x32169a495f7e4d11L,0xc0fa9a548d0d9f01L,0xf52a1f2289d8f2e5L } },
  38445. /* 2 << 189 */
  38446. { { 0x9c0d5231ba8e0a52L,0x94d0509e93e465d7L,0x67df90dd98515454L,
  38447. 0x223e8b9c8dbfb46aL,0xf39529a36d757ce3L,0xffec9175b4648296L },
  38448. { 0x330749e8f78aae7bL,0x19e5549645f93cc3L,0x8c320b3494083aa8L,
  38449. 0x1161f5a321e321c6L,0x0980deedde3e7892L,0x605aa9196ad76cccL } },
  38450. /* 3 << 189 */
  38451. { { 0x71191262062312e3L,0x84c82a94691f46faL,0xad4b344bdda57f44L,
  38452. 0x674b758ac4f0cfd2L,0x3bc058a077543efdL,0x3d7c765756618d06L },
  38453. { 0x95107c744dba9e44L,0xe59c3180cfdf1923L,0x5dbeaf35e3f1d63cL,
  38454. 0x012029c643ab8726L,0x4f588a4ea256c6fdL,0x14a01b7a3e5d2e30L } },
  38455. /* 4 << 189 */
  38456. { { 0x73fa3508180660f7L,0x4cae013e2d24936fL,0xf64a549f58493d98L,
  38457. 0xd9ceae0adc79f602L,0x6569e37bd1512b84L,0x11e4c022151c9151L },
  38458. { 0x075678c2b55c5813L,0xb26cdb5809d3cb16L,0x6334dca3a57fb969L,
  38459. 0x0ed90820223dc3ceL,0x74f9c3aebd11e277L,0xaeefed3679c0b8e2L } },
  38460. /* 5 << 189 */
  38461. { { 0x22195e48e57ac6a0L,0xba77c58214bd1913L,0x265f96b4323349b5L,
  38462. 0xc183196ea124d497L,0x99f1f78d2466d82eL,0x185a18bfc6263afcL },
  38463. { 0x29a3d5b686cf8908L,0x81f3bc00f680511dL,0x5f6ffc81661d015aL,
  38464. 0x31c2ff64cd5eb082L,0xc3c37ad672776042L,0x49438769d9c6ac75L } },
  38465. /* 6 << 189 */
  38466. { { 0x0e2fc74c2a24c385L,0x836a474034679278L,0x25518f16817e2c41L,
  38467. 0x8b573a8eb4b7d3c1L,0x012797f94ab56adfL,0x9e0e56d0fa2ab690L },
  38468. { 0x009ba1ee1c9f6f08L,0x8ebf4aac2f412e9eL,0xb143122a1cfb4e02L,
  38469. 0x988cf0eccbf2b783L,0x44a7ed9657f5be97L,0xbdcad87251804147L } },
  38470. /* 7 << 189 */
  38471. { { 0x969fcd982f60d1a0L,0xf0f4c9b2ef06b3ebL,0x8c6438cb49ec8f92L,
  38472. 0x746107773f1653daL,0xf7cbc899b574576aL,0x758de9008494795cL },
  38473. { 0x73045065ab22cf9fL,0x9893653c9ff13e98L,0x6e8860264a58d64dL,
  38474. 0x387d6cc34e3bf554L,0x82a49da4a42b0008L,0xb28bd9b71b0b1c47L } },
  38475. /* 8 << 189 */
  38476. { { 0x378205de2f9fbe67L,0xc4afcb837f728e44L,0xdbcec06c682e00f1L,
  38477. 0xf2a145c3114d5423L,0xa01d98747a52463eL,0xfc0935b17d717b0aL },
  38478. { 0x9653bc4fd4d01f95L,0x9aa83ea89560ad34L,0xf77943dcaf8e3f3fL,
  38479. 0x70774a10e86fe16eL,0x6b62e6f1bf9ffdcfL,0x8a72f39e588745c9L } },
  38480. /* 9 << 189 */
  38481. { { 0x97e6400574103b65L,0xdad518d6db50ac66L,0xaf96065961077d1bL,
  38482. 0x1335de0a5baab1f5L,0xd404db749e444a1cL,0xd3124c5027d5fe2fL },
  38483. { 0x1f20c68a0bd49e9dL,0x44405e6aad6a1654L,0x287d565193c362a9L,
  38484. 0x301ec6a2e76661bfL,0x4900f9b54c6f9927L,0xca3dbc3464bf3909L } },
  38485. /* 10 << 189 */
  38486. { { 0xa96955b9b1bafbc4L,0x8dcb55a7646ece39L,0x2b62784feb00e541L,
  38487. 0x462f9d7d2693249bL,0x8b264697794c189dL,0xded6ff5563354e69L },
  38488. { 0x7c8ea441eed1089fL,0xe355f75c1462f461L,0x87b691f61210fd5bL,
  38489. 0x7291bffb6983cb27L,0x9ed83afc92800095L,0x307a3dc81f24d923L } },
  38490. /* 11 << 189 */
  38491. { { 0x9f79814a45faaa0cL,0xc64a7ac93bb1b07eL,0xaad6ff897f2ad506L,
  38492. 0x43da948300b83699L,0x6a702b8d6617956dL,0xfcb1035a7981052bL },
  38493. { 0x094acd48cb230926L,0x3c3249d05da96800L,0x934088079d7208c8L,
  38494. 0xe4f04014d738a48dL,0x49bc5f0bf18b06c2L,0xf854285f596b9befL } },
  38495. /* 12 << 189 */
  38496. { { 0x7cec60ead7804b2fL,0x0064464345c11441L,0x3c6de88b769cd685L,
  38497. 0x34709186c7f01232L,0xd9eef41eedd2bd0dL,0x3bafcccde427faa9L },
  38498. { 0x33e5350ec07e701aL,0x9cb2eb47a87c1fd1L,0x9fa9a7790d5f5b28L,
  38499. 0xa2e7076b07ea2e53L,0x72f4da325c169cf4L,0xb7f192947e751588L } },
  38500. /* 13 << 189 */
  38501. { { 0x1a3b217d2f6d700dL,0xcbbe9349ed335d55L,0x428adbfb53ff169aL,
  38502. 0xbd74385214793b47L,0x2224e2569d9460a2L,0x8408600809982ac0L },
  38503. { 0xae6c6f9934447242L,0x63c78b2b9b51fb67L,0x381c948a389593d4L,
  38504. 0xf4cdd09f6e79ee72L,0xc658428ba185a0b6L,0xcd7562a786fe4c6fL } },
  38505. /* 14 << 189 */
  38506. { { 0x47eb133532dd7a30L,0x9d058169a9db654dL,0x375c59df6e7a2b1aL,
  38507. 0x55d37c677a35f29fL,0xc78a3678493c4cdeL,0xe5f0e2d68d83e31bL },
  38508. { 0xf7927002e9777bf9L,0xdd559324a5afdfc7L,0x077c6c48b81c08ccL,
  38509. 0xba1c98ccaa2ef694L,0x06c6c9544c02dd46L,0x211e50f37dd3145eL } },
  38510. /* 15 << 189 */
  38511. { { 0x7f985fa8a96aea53L,0x811f94dc480b38d4L,0x91fdd510f3d40c68L,
  38512. 0xc156312ccd763693L,0x24b544c3640057dbL,0xd7d5d4f5ad3b5a1bL },
  38513. { 0x5e235a1e26cda8a4L,0x0cf7b7cd1d2c6f17L,0x17b1ccf0908d3107L,
  38514. 0xf32f2a06f555eb5cL,0x274f7c2cb3c278c6L,0xcf1eaf296af1b44dL } },
  38515. /* 16 << 189 */
  38516. { { 0x2a5f8ecf06616d0dL,0xca9b1cb8c7deb373L,0x9de31cedc59c4301L,
  38517. 0x1e0f40b10111d998L,0xd29d229f960d5b95L,0x10563249d1dabab8L },
  38518. { 0x7b225cc9a05ecac9L,0xb02e689678f3b8a0L,0x009b52a1f5fb06b2L,
  38519. 0x8a575d3f842b9081L,0xfddb48afe9272512L,0xd39b8f1d0b452cb7L } },
  38520. /* 17 << 189 */
  38521. { { 0xb6efc7e167ba9cd3L,0x5a642c288e4f62a6L,0x214a63da364378edL,
  38522. 0x582c59944121c53cL,0x840277facc9a728fL,0xc6db3529f8f72d39L },
  38523. { 0x9c5cc2760aca9955L,0x8558a58db8b6dcd6L,0x709226acf0701f24L,
  38524. 0x6ce95b21ed248b40L,0x32ea565b5487934aL,0xa75a688496f9ddd1L } },
  38525. /* 18 << 189 */
  38526. { { 0x0d6b9c7c67e09987L,0x261a564d0761ad52L,0xec4621749f60925bL,
  38527. 0x83ee0c1218529b03L,0x72972467fbcfff74L,0x37fc074c6abc4bfbL },
  38528. { 0x8b6015bd54e65e89L,0xde8583eb991583cbL,0x379548e1b4d2c62aL,
  38529. 0x88024a9a9b24a5e5L,0x633aa869fc03abfcL,0xa27657b98fa35283L } },
  38530. /* 19 << 189 */
  38531. { { 0xb340993c5727e344L,0x2379f51d4f3295d5L,0xa5de3efce2929734L,
  38532. 0x7d2e2c82d8717e3eL,0x8f24abb67180db1fL,0xa5060d648a4ed876L },
  38533. { 0x8d39e3a2761110d6L,0x38d30c93a3bb5b66L,0x07774ac3c12fb741L,
  38534. 0x7d4ae5a55f4425beL,0xb9848a2afa704922L,0xed9ab68c4cd00812L } },
  38535. /* 20 << 189 */
  38536. { { 0xde9703b461d9e770L,0x02d4091def4653efL,0xefd229aa576eb5e1L,
  38537. 0xc0b0b243f77eb987L,0xb11309b2eefe8f71L,0xfeeacf2f68478044L },
  38538. { 0x8dfd8e8643ac3dd7L,0xc0a24181b07f95c3L,0x551ca09624be161cL,
  38539. 0x6cb2c1d4b098cdc3L,0xbfc74e9be74f84f8L,0xe58e14d9067e3388L } },
  38540. /* 21 << 189 */
  38541. { { 0xda121aae0ef98506L,0x435f28c6328e636eL,0x64b2170a720d40a3L,
  38542. 0x3ddb0e61cd24a844L,0x111442478797c7adL,0x624e7f73d589dd37L },
  38543. { 0x3e7e0ed0a8efdd25L,0x8de031f116509a5aL,0x1330cff5873488c2L,
  38544. 0xa80c60b3342ecf75L,0x9d3742c8e62550ceL,0x8ec9b229e46475f9L } },
  38545. /* 22 << 189 */
  38546. { { 0x9eca6f94f025baa6L,0xb2db0741bcf9c741L,0xf8e2aab590bb8f56L,
  38547. 0x4772903208762829L,0x067a0c5ae2a266c8L,0x22b104c771b7d7d0L },
  38548. { 0x4a48cd6953e406dbL,0xb85e44d524f0070bL,0x6168262fe10133ffL,
  38549. 0xdfc02315e4874e8fL,0x20dba2d7ca317e3bL,0x441c56d2e1d2c0c3L } },
  38550. /* 23 << 189 */
  38551. { { 0x9ebd10d6c444a2fcL,0xda7683e3f18ac11aL,0xdd42ed990fe8e59fL,
  38552. 0x9c867debee068909L,0x32df043fccc77aa3L,0x377423ce4aaa45acL },
  38553. { 0x960940524a90c535L,0x48bfe83347d1799cL,0xe8cd1a55ccabd174L,
  38554. 0x2ee0a276682145c3L,0x4249297e8d606c00L,0x22021ce2fd7af6d3L } },
  38555. /* 24 << 189 */
  38556. { { 0xae10069e808dc4b1L,0x64df30e18fb3ba73L,0xbbe4caf27ebaad0bL,
  38557. 0x5907bf373dd6119cL,0x0a723dff9dfceefeL,0x59bff4ddf7cffc7eL },
  38558. { 0x7bc95fa26a6f43c2L,0x9001d1d53ca0e2b3L,0x316a7ecd27b3335bL,
  38559. 0xbf08e6727b8d7d49L,0x4b209f93c619058fL,0x4c0ca01e59d8f9eaL } },
  38560. /* 25 << 189 */
  38561. { { 0x3c1e7f45bad772b1L,0x20f6f1732544af67L,0x14f491f9a7d6544dL,
  38562. 0x1451cc8e6acea162L,0x20c8ffa5d234ab89L,0x4b59bce1f5cd1002L },
  38563. { 0x99da4c0ee63027acL,0x6290cb963fc1f75eL,0x3a51774524c4d85cL,
  38564. 0x3bf9929c1fd144e7L,0x9bcb97467068294bL,0xcb0b3e5d2e61a022L } },
  38565. /* 26 << 189 */
  38566. { { 0x18c452c4cae69c3bL,0xf45690acef0f00faL,0x3b363aa04f66a5ccL,
  38567. 0x9dd41c0a47718c52L,0xfa219d7e7e5cd370L,0x5d384db7b2196dfbL },
  38568. { 0x5e14749b90b4d46bL,0x55796656d9db9481L,0x3bf13d0ac8cf353eL,
  38569. 0xb89a28a6a95c485aL,0x568fa3d05da29783L,0x4aa008eed182b1a4L } },
  38570. /* 27 << 189 */
  38571. { { 0x4f38667a179639e1L,0xca492d50ba7c7a16L,0x191e4a3478fe9dcdL,
  38572. 0xa3cddb2f03fc70b8L,0x57d90a90a751ec9fL,0xcf88357457a50cd6L },
  38573. { 0x69abd86d7cc58687L,0xc73a00408466bc6cL,0xfbb99c755c495208L,
  38574. 0xdd5f1ab9c13347b8L,0x9ae6fb92060b93efL,0xd6bb56a3588e5369L } },
  38575. /* 28 << 189 */
  38576. { { 0xf7e1ed3bb09fa8f3L,0xbb4fe6f71da5be9eL,0xcbab0e01f4d1ba21L,
  38577. 0xb732741076a5f326L,0xd94d2349206092afL,0x739f3cd0728e0e4dL },
  38578. { 0x568644aaf81fd823L,0x510cff6b6110e2f6L,0xef4cf1ac566c3598L,
  38579. 0x2c26f17162aae69bL,0x1e4360468964a2a5L,0x83c0bbf63e472c50L } },
  38580. /* 29 << 189 */
  38581. { { 0xc198c07064b2955aL,0xc32d41e1d8d43284L,0xfb6f0e2c9f4fc13eL,
  38582. 0xf4d5b60b41c61889L,0x5c79f500beb36946L,0x328b22408ca4beabL },
  38583. { 0x64058e916697617eL,0x6bdf7409f43f7390L,0xf2afd208f5bd8512L,
  38584. 0xc0000aa0bd1ad6d6L,0x38b8e03bd9f6c1c2L,0x0a34680d665a2d06L } },
  38585. /* 30 << 189 */
  38586. { { 0x79c04804aabd965aL,0x9581aab443d0b660L,0x59bff0035ba71d23L,
  38587. 0x212ecd58b6a0cd80L,0x29bdcd33bf1ea5d6L,0x59fd2ff477a002e1L },
  38588. { 0x3c9d21308d9cd247L,0x790e9dbcb1786da3L,0x967ee5e714464d04L,
  38589. 0xd6f7ebbd2b5373afL,0x1c0b22d539768d40L,0xdfb54983913f6cc3L } },
  38590. /* 31 << 189 */
  38591. { { 0x5c9808b78a42e002L,0x5cdb2b070f732854L,0xdc92b1676d6d4579L,
  38592. 0x789dbb8ebcc22c54L,0xd76b2d40716eb28fL,0x5cbaadea004affd8L },
  38593. { 0x5d4d84dd08fcfe12L,0xd0f1d7ee20d4b893L,0xc98d77dfbbb90db6L,
  38594. 0xbce9a5a2b1e29a22L,0x71a6835d0b54e100L,0x0199594a55b1ac68L } },
  38595. /* 32 << 189 */
  38596. { { 0x167ec88a51b3f1ceL,0x19756ee0420024c8L,0x10f2e2443877e634L,
  38597. 0x6321bf2603462cb3L,0x1dbd10ee9d3afceeL,0x0726f5f22ca17dcdL },
  38598. { 0x094652660bacf018L,0xc92a9f2de1feb969L,0x0043b0f95e1c5912L,
  38599. 0xa09b94d1757d3a63L,0x533956529fdef1e0L,0x9826886cd4fedd41L } },
  38600. /* 33 << 189 */
  38601. { { 0xd22bcbee51964ceeL,0x3ed80af3b0eea46eL,0x263cfa026b854aafL,
  38602. 0xfa4ad481b9ca3b51L,0xf8c569a0b4451297L,0xeafb78f8f48059a3L },
  38603. { 0x86a9e3c037093acbL,0xcfb3bb63275ef52eL,0xc4672d3c7c924f03L,
  38604. 0xa87350871691be3bL,0xf124f3a52be289b7L,0xf45052dc6b80b6c1L } },
  38605. /* 34 << 189 */
  38606. { { 0x79c99f99a010db6dL,0xe83088a74ee93fc2L,0x76e8376d836b1a7dL,
  38607. 0x8cab091c4e24e127L,0x5c98a00f7283cd21L,0x1beaf4a084997647L },
  38608. { 0x2cfb55b8d934088dL,0xca24052cee724d5fL,0x5d6e9db5bba84289L,
  38609. 0x133414b26fb26d72L,0x3e844eb9cb12a503L,0x5eac12dab53d6496L } },
  38610. /* 35 << 189 */
  38611. { { 0x79a098812cc6698bL,0x6d44e7577f383e02L,0x1969f93785b5f732L,
  38612. 0x3061f62792acecccL,0xa9428d60cc2a4752L,0x69a472af2cf58626L },
  38613. { 0x63fde53cabd347d7L,0x138b5b6a1aed4fd3L,0xd93fce1f2bd48519L,
  38614. 0x957fe302e49cc436L,0x9b51657a2e21ad5fL,0x3b5c4cb6acbd3af6L } },
  38615. /* 36 << 189 */
  38616. { { 0xdcfa78b096dda000L,0x5b60dfe5be2303bdL,0x7a6bbd34c7c6ad6fL,
  38617. 0xd45c9cb57012b97dL,0x9a049e36812e1662L,0x723bc0b66a5483aeL },
  38618. { 0x7fc03b6ad1c82e81L,0x02ddd6d2b23f6818L,0xe8914b2d30dae39aL,
  38619. 0xf4f0ae392f692056L,0x198a31bd45f1390eL,0x917ce4f4f542565eL } },
  38620. /* 37 << 189 */
  38621. { { 0xde39a4e6ca447864L,0x95a028f9f0b131ccL,0xba77ac314a39c4f7L,
  38622. 0x0c24d09614857939L,0xdeea56edfbfaa0fbL,0x79aa342f4c920bf1L },
  38623. { 0x50228f48c7e9dc62L,0x0fd9d1dee0f0fba3L,0x3fc03993cd703f6bL,
  38624. 0x229a3bf4c5ff39fcL,0xa7456aa484f9cb20L,0xb01bb5a7d12fd7d9L } },
  38625. /* 38 << 189 */
  38626. { { 0xfb390be4539519d7L,0xbaa98a2a6ad44d22L,0xafd19a75ef89de1fL,
  38627. 0x1afaef2971e27781L,0x18b297d79887739fL,0x8fcff6048e6da42eL },
  38628. { 0x17bfc1717e861a36L,0x1467800537a8843bL,0x2bc47afdeb16065dL,
  38629. 0xcc038e2fbab7b4fdL,0x9d8fc42a3eb9be7cL,0xfc2f0b295928da63L } },
  38630. /* 39 << 189 */
  38631. { { 0xa4e33ca261c14fbdL,0xebafe73fc0a87f99L,0x22fdf1d1f5abf7f4L,
  38632. 0xfc1da26549a6b956L,0xfd8c48e5be25dd72L,0x9fd6520ad31a25aaL },
  38633. { 0xe0167d4ffd14dbbaL,0x8838d2ba7370153cL,0xe5f7d69b133fdda1L,
  38634. 0x31acbf8de1749b60L,0xc14ec9e2107558dbL,0xb06d0252b99553acL } },
  38635. /* 40 << 189 */
  38636. { { 0x34590975ed424438L,0x7c03ce744d11a200L,0xcc939a286ec406eeL,
  38637. 0x8d214276fee5454dL,0x66a0e1a56b257f70L,0x93761a8a006fb85eL },
  38638. { 0xc44f9df2aa70b65aL,0x1dac524f91d9e2e8L,0x5894a8224fca1a81L,
  38639. 0x8586e418f3ed85bfL,0xd494dfb202899b5bL,0x7ea9f222ecb8e371L } },
  38640. /* 41 << 189 */
  38641. { { 0xd93ee716b0958516L,0xa91f39db3eb86888L,0xb472c1e2ac92105eL,
  38642. 0x4d88a307429ca094L,0xd3fd88027a8e87e1L,0x40c4cd50126a2cf2L },
  38643. { 0x046ce3bf11cf2046L,0x412678ee05691999L,0xea0c78168d3a2921L,
  38644. 0xd24ae89924f3c66eL,0x2c4457f00bd144e9L,0x82005b4fd7a52270L } },
  38645. /* 42 << 189 */
  38646. { { 0xf1b3ec32924340e0L,0xe5430ea3b33a05abL,0xbf43b031807629b7L,
  38647. 0x53c9407d57014039L,0x6e67b52f2f195ce2L,0xc8cc645f1e48d8c1L },
  38648. { 0xf2234275c08f2122L,0x9cfe3c74c2f233e0L,0x235e6b349c4e0af9L,
  38649. 0xb4e8ef5770de39d8L,0xba573a727f73d0a9L,0xe12c506a18587ed2L } },
  38650. /* 43 << 189 */
  38651. { { 0x6b9669c59cf3e4f6L,0xa472d5dbff677559L,0xde845b0c877e5590L,
  38652. 0x9f7ef5802d0e2350L,0x87ea99d4e78c1096L,0x213243e9abb68028L },
  38653. { 0x0172c81595e71abaL,0xc2592a762ca34c65L,0x50749aee9dc286dcL,
  38654. 0xe37d10884055de3eL,0x3e5a93bb90d652baL,0x0cbb7a08c32aa3e6L } },
  38655. /* 44 << 189 */
  38656. { { 0xe0bf3d8a026c43cfL,0x091956cfeb702508L,0xfcd486c9a6b3203aL,
  38657. 0x94a6d52f365460ceL,0xefeb5400563bec77L,0xbe6baa9619b2659cL },
  38658. { 0x116f71c34bf21a00L,0x83d1c99a86d21871L,0xff1ba96aca0bd547L,
  38659. 0x5eb0acf741b94afbL,0x1be5d66fb1aaad14L,0xb8ececc5e6cd6d4fL } },
  38660. /* 45 << 189 */
  38661. { { 0x65f6e29dec7d4de8L,0x082fa0560e938c79L,0x4cda3fc925a02f04L,
  38662. 0x77dbcf0d3bac5cadL,0x625f9bd859145bdbL,0x98b7fd64553a11f3L },
  38663. { 0x621bfbe387dd8a45L,0x6519421d1c35176bL,0x89eabac6d5ead4c7L,
  38664. 0x45c68bfe54acfbd5L,0x87cd244a84f30b68L,0x83b5f6b27b39275cL } },
  38665. /* 46 << 189 */
  38666. { { 0xd43b1d3c0ed0ade8L,0xd60b1ae7640e7d37L,0x965489e6f88e06e5L,
  38667. 0x35398ac89653417dL,0xed1e89ac02cfcfc5L,0xd127f68dbb6f2bfeL },
  38668. { 0xa569c59fe22bb079L,0x7933f14e4ca8e9deL,0x68b4964a30033c3eL,
  38669. 0xab438cf88f069045L,0xa64f3a1516163059L,0xf40499c14576fe42L } },
  38670. /* 47 << 189 */
  38671. { { 0x361c28da052567f7L,0x8a2c6aafe0db84b6L,0xa79eb10cabbc87d3L,
  38672. 0xeaf7bfff4141b3acL,0x90bba4a953aacaf8L,0xda577661c35f9564L },
  38673. { 0xb2550d0dd4487a5fL,0x69d43c5199638269L,0x6d16973f7a1f8ac6L,
  38674. 0x3dfb2253c71e4a4aL,0xafd836aefa36168cL,0xba72fd1faae6dacdL } },
  38675. /* 48 << 189 */
  38676. { { 0x690c0cfeb449d1e2L,0x4a5e150b1b8e1577L,0x22508042204d98a6L,
  38677. 0xc87a97f5bad2eb08L,0xd307c59ed25823eeL,0x6ed083580df8b3f6L },
  38678. { 0x280ae344314e7016L,0x6a55be876ef4e889L,0xea930e5a24d04e38L,
  38679. 0x0269d9a7309830fcL,0x41dc8f0ae4afeebcL,0xfd1bc660f14ee02dL } },
  38680. /* 49 << 189 */
  38681. { { 0xf81cc943631da366L,0x2e821eb85ab1a2caL,0x339e9e4765433883L,
  38682. 0x3dc14370e1f60c71L,0xbd6c79bebc25b506L,0x2bd3ad51a8a639f0L },
  38683. { 0x7c168f13c700a293L,0x64fef4fc28b4ce88L,0x3ccdc3080c329c6aL,
  38684. 0xbfd78932b76a9452L,0xf0c123fbc684f4b5L,0x8bfad06432305ed6L } },
  38685. /* 50 << 189 */
  38686. { { 0x208a668feea1a9ddL,0x8af75caeab903f09L,0x356208b449265292L,
  38687. 0x57b24ebe53faced4L,0x9c8aaa7303694920L,0x1c06ef5ad2f90179L },
  38688. { 0x794ead99df92de87L,0xad900c4e7a73fe9aL,0xdb66b9ae715d9f66L,
  38689. 0xd19dc46db1bc2950L,0xb0a5af5c24c82c0aL,0x7d83f950371d0ec7L } },
  38690. /* 51 << 189 */
  38691. { { 0x716071e3abd37656L,0xaa22858be6cab564L,0x6793a66f5aec00ccL,
  38692. 0xe2ea5401e025da6dL,0x3998ea5d2eb0059cL,0x4ff6f442e39abb77L },
  38693. { 0x703eabdabdb6e0f9L,0xa33e6deb38522433L,0xe23c13f6ca83c2acL,
  38694. 0xcfb8e57c0cac836fL,0xd0f84bde7692714cL,0xb4fc3b01f3f41d29L } },
  38695. /* 52 << 189 */
  38696. { { 0x67842ab4d8f358a5L,0x70cab57540e2fb69L,0xdebc3046e5c458e4L,
  38697. 0xc3574cf47eb004d5L,0xbac261a1c86f20f9L,0xc1bcb661deccf7fcL },
  38698. { 0x5b3b96dec5574e9dL,0x07b878b3e151fb0fL,0x2f2d126cd38bd5f2L,
  38699. 0x06c951e8319597c9L,0x5529be4424ed0027L,0x82dcacc2ba8d7acbL } },
  38700. /* 53 << 189 */
  38701. { { 0xc37eef0149311e82L,0x3d07aaad401d010cL,0x934e039e53417831L,
  38702. 0x70775653da895ec3L,0x206b80af625cbe49L,0x9e2a4ee1e53ccb36L },
  38703. { 0xebeace45c8ca6ff7L,0xadb19bd9925302deL,0x951bfcc497dee154L,
  38704. 0xd09882da79b60e1fL,0xb1e9cf0cda5f2516L,0xc2b697295e4def97L } },
  38705. /* 54 << 189 */
  38706. { { 0x74ce542d04f860e6L,0xdc8adf8fa3c48075L,0xe19852232063f76fL,
  38707. 0xf651c9fd5cd9ff61L,0xd4cbea69bab39ea0L,0xb6d4749b28fe3443L },
  38708. { 0xaa7747ec65e960ebL,0x1a1b7b65e132a213L,0xfa52901f402a50d4L,
  38709. 0x3e4d2da68d43700fL,0xbfc7322937d45181L,0x68a812f9008bb845L } },
  38710. /* 55 << 189 */
  38711. { { 0x226d4d233e4cbf5dL,0x36359f52576243e8L,0x032af38a39a1999eL,
  38712. 0x9b59120a687eb228L,0x85c56b78e68e1498L,0xa7a14bd4849d03d1L },
  38713. { 0x9e7177b345c4c3f1L,0xad7e4975183bd846L,0x42418d9a42f69dc2L,
  38714. 0x218e8f8e4f52cac6L,0xafafa7649f1f3214L,0x32f6f72b747f7592L } },
  38715. /* 56 << 189 */
  38716. { { 0xefca7f7ba6c53c1bL,0xcb4bb33c524457a0L,0xc9eab87fe57d08dfL,
  38717. 0x48c01c2a7d9a1967L,0x11c97ed97dc27492L,0xd8c644861cf1f639L },
  38718. { 0x541f8c0d8156576cL,0xdf5c8dff2384e299L,0x9806935ba6be190dL,
  38719. 0xec6c5de764494b4eL,0xf04e2d4cb83c00b6L,0x379af438c0b84f15L } },
  38720. /* 57 << 189 */
  38721. { { 0x64e6289d92bbc1f8L,0xe88b78c5a0620121L,0xd01bac79a0fbc373L,
  38722. 0xa2e7986af098f07cL,0xfcac4dbcc5911218L,0x2e2bf56db337ed26L },
  38723. { 0x878d9819e89a73c6L,0xa7df4f5768df46d2L,0x74bf7e2f4b3c9568L,
  38724. 0x2f2b187aebcce535L,0x544f18139a4c2be3L,0x3a5fe300a5938f0eL } },
  38725. /* 58 << 189 */
  38726. { { 0x901a14cd70aa91aaL,0xf0b6e1ec7f0b0a70L,0x6fd1ee0156a8bf9cL,
  38727. 0xe7e53c6693fbdadbL,0x18ebae68e17de706L,0xf4107457ebecf636L },
  38728. { 0x77a85ea4a9f6c696L,0x3ea193e17dd9e3adL,0x9497e0a9f151c8abL,
  38729. 0xcc9237497a1dbf14L,0x2e36740e8f9be59fL,0x1b1c7d7c4a249e51L } },
  38730. /* 59 << 189 */
  38731. { { 0x7a45af2242cdcc53L,0x3061d91b8682832dL,0x85e080f6c375030fL,
  38732. 0x3ea6dcd1418440c7L,0xe0559870d14b6537L,0x36619215d178b45eL },
  38733. { 0x48a4b452dcb85a34L,0x79cf4529bd5504bdL,0x506215e9e9c34c8eL,
  38734. 0x961f74b6dbd00e2fL,0x473d1397cbc84ddbL,0x6c64f870a8d67cb5L } },
  38735. /* 60 << 189 */
  38736. { { 0x519a6edb91a9b99eL,0xc0ea29e0f19221eeL,0xde83e0f77dc193b2L,
  38737. 0xa7b33b6044be16f6L,0x7edcb49406c8e8d7L,0x9f9dbb86392c0ef6L },
  38738. { 0x09aefe035726bd5eL,0x782d8350c4e80b7cL,0x14e41a49186b80e9L,
  38739. 0x9af13703499ef97fL,0x5752877f2cbcc336L,0xdd0f8583d2df624dL } },
  38740. /* 61 << 189 */
  38741. { { 0x1cd2be3f32f6b0a4L,0xfd5da4a90114bca5L,0xc322a6a198a39a66L,
  38742. 0xca411eeb10d64384L,0x7c5d3ed0c72d8b6eL,0xf20c76697481309fL },
  38743. { 0xaa4e45dca155872dL,0x66e41d54b87c1e51L,0xbe2fe5e6a6bfe6b6L,
  38744. 0xf60ca33a08a4d3e7L,0x45c1ec8c7211b48cL,0xdf44d3b573b78f7bL } },
  38745. /* 62 << 189 */
  38746. { { 0x21eda67429a1e6acL,0x33118990422ce5aaL,0x236aa9ec27326810L,
  38747. 0xc42dff9e3be7b318L,0xbe4601281690755fL,0xa395509d8c1c60c6L },
  38748. { 0xa36de79d05b991d2L,0x55f516a3632882d4L,0x4c8c5a4296d1d493L,
  38749. 0x56199648533cda6dL,0xf9c6897a603bbfeeL,0xae835160f9857cc4L } },
  38750. /* 63 << 189 */
  38751. { { 0x700bad58d6aa9618L,0x2ad7069c05d54c73L,0x7f3ff5992f6a8495L,
  38752. 0x39de751ee26e6720L,0x39126d97d4cecf54L,0x353e00e21523aca4L },
  38753. { 0xee905af017a33178L,0xa30173d31daf2642L,0x24cbbcc728f9169dL,
  38754. 0x4e65bb13a7039e69L,0x004a11859121e44eL,0xd4efa5b91c1e60beL } },
  38755. /* 64 << 189 */
  38756. { { 0x2e75a26eec65b53eL,0xfeb630b270552fb3L,0x53dfd057ee7d8e4aL,
  38757. 0xb959110d8994f449L,0xb4a16596bb538367L,0xa70917bdef82f29cL },
  38758. { 0x5a76430043bba6aeL,0xee207476cfbc194aL,0xc7eab23803a4184bL,
  38759. 0x60c67ef20f7fcd62L,0x41e05799dfa8a0c6L,0x5d7d05e604d352b0L } },
  38760. /* 0 << 196 */
  38761. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  38762. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  38763. /* 1 << 196 */
  38764. { { 0xc97c01eb436b59f5L,0x1d15aca7ef1848abL,0xdba1ce807fa7d3c2L,
  38765. 0x69e6f96e81060874L,0x6e3e0df74d7eeeadL,0x8a3b5e85b0c87f3dL },
  38766. { 0xc55ae3dbc8a23914L,0x5cdc2a92bf6d27d9L,0xa6008c591de7860aL,
  38767. 0x8202f8b66e546731L,0x652f2d07aa1e45d4L,0x146f214f6df5415aL } },
  38768. /* 2 << 196 */
  38769. { { 0x041c706cce5fb4d9L,0xddc78cb3b22a79a7L,0x7dc4cd27839e9d5aL,
  38770. 0xdfc9db83bf3c4c06L,0x85b8094138b7bd22L,0x1007dea2d0f4c2daL },
  38771. { 0xd7b34006c633fba0L,0xa8880acf4476e55fL,0xa340b2c275236685L,
  38772. 0x5ddd05510113a85fL,0x7dfc7ab29cb32704L,0x9a334a33dabf22ffL } },
  38773. /* 3 << 196 */
  38774. { { 0x2fbce9bed7d1146bL,0xcec9e5d8b3980bd2L,0x48ea45939f4cbaf0L,
  38775. 0x56c540092574a3bdL,0x84a39630e792c39aL,0xe5c690f8eef81343L },
  38776. { 0xf996760f17655bc9L,0x6009c2156c0c191cL,0xa0ca12e6966d7027L,
  38777. 0x92a6d5d52e6f7c63L,0x46809d269bd13eadL,0x3c11fa7967aac681L } },
  38778. /* 4 << 196 */
  38779. { { 0x3fc9b3cfabe2cc87L,0xfd8d64e3514e77feL,0x2003a58afe1ad535L,
  38780. 0xcec4be38cb39149fL,0x4d578c99bdedf470L,0xcd35d7a33a356519L },
  38781. { 0x7a762f278b078d6bL,0x3b6891ed31ae2701L,0xdc0e817f270c508eL,
  38782. 0x5a7be2049fdb29c8L,0xfa1a0be3cb2711d3L,0x5865f55f3786a0c2L } },
  38783. /* 5 << 196 */
  38784. { { 0x1d0af6b52f641cffL,0xa932adeb3648c4a0L,0x67641951b1ea8fc4L,
  38785. 0xc0b90064b1fae482L,0x7012642f6623477bL,0x1cddc0245bf019ceL },
  38786. { 0xca1f4675c2c32737L,0x11525a5e97d6b18cL,0x9c034ef2d3868de9L,
  38787. 0x0533d921044e0c18L,0xba6cf14ecb5e38c3L,0x438309f3509d7053L } },
  38788. /* 6 << 196 */
  38789. { { 0xe164268ec4ff9f0bL,0x6c8e9349e6c36e63L,0x734f979478ab17f3L,
  38790. 0x46d468de0179ed0eL,0x7e68f006dfa26867L,0xe4d4a85de3d0485dL },
  38791. { 0x0913a1d7f84c0f8fL,0x4095c8c025a9c9cdL,0xeeb1a79e49eadd08L,
  38792. 0x433f5e417dd8f954L,0x70a6281430bb26d0L,0xad94d8f6ff5e8e29L } },
  38793. /* 7 << 196 */
  38794. { { 0x6a352b579e32c0a4L,0x5274a08277ec7a40L,0xee1f7c7a240e6dc5L,
  38795. 0x85d5be62d313b4a9L,0x1522c5d25c01a405L,0xcfa08aab960afd5aL },
  38796. { 0xa3cb77f38e8a93dcL,0xaacb16766d1c98c7L,0x84090c7d3b93fa9dL,
  38797. 0xc77f1ee13c0383adL,0x461c93b776f7a220L,0x66d63a1d04ac0bfcL } },
  38798. /* 8 << 196 */
  38799. { { 0x3c7d6b644751207fL,0x65e1f96ae440c1a2L,0x8ed15d20aa0eaa1eL,
  38800. 0xe944ad2fc0eab490L,0x71525aa1f6d9f260L,0x5cd14c8816146ba3L },
  38801. { 0xf940190814a41275L,0x3bb7ea742288618dL,0x6a4e1c37cab1060aL,
  38802. 0x357fe4d0c8cac96fL,0x97a8b8ab6a2466ecL,0xb6e83fdb9c01be70L } },
  38803. /* 9 << 196 */
  38804. { { 0xa55a7142cb09a69cL,0x0a39fa12896a9c24L,0xa7131a001f6c9c82L,
  38805. 0xdacbfae97509c912L,0x3793d4ef4232eb57L,0xb63d9fc0da02ac15L },
  38806. { 0xf1ce48a09ab37492L,0xa388dbb5cf9ddedbL,0x7224ef47fd7b2aa4L,
  38807. 0xdfe18be82fd35ae0L,0x2286ae7b90a2e98dL,0xd06cfd71e0d3c2daL } },
  38808. /* 10 << 196 */
  38809. { { 0x7825df5c948663a4L,0xc8c093adeb4ec9ddL,0x677c51ebc1505989L,
  38810. 0x8c28421524041f43L,0x0f63f15ac9ef610bL,0xcb98841d257678c5L },
  38811. { 0xc0560066c52c64acL,0xaf7417db954180e4L,0x935c08876fe1f0e7L,
  38812. 0x8fe556ba46d03a88L,0xec44271484a0c4a7L,0x431f8e8395be9544L } },
  38813. /* 11 << 196 */
  38814. { { 0xc1fc18cb3101ce6cL,0xff753902048e52fcL,0x768299554e58e21eL,
  38815. 0xac990acc32856d44L,0xaac4d5dc9f8a9da8L,0xca1740fdd4be9e8aL },
  38816. { 0x59250846892d8bdaL,0x45f45cad19c97c71L,0xf29e2724e6ba5c87L,
  38817. 0xe441134473f6a778L,0x9f4f9027a0f278faL,0x11bb7ce02bdcef71L } },
  38818. /* 12 << 196 */
  38819. { { 0x0cc553bb9b3fd7ceL,0x2e0ff43ce103b562L,0x96c01f0328222a3fL,
  38820. 0x7dcc5593c10171c0L,0xc677366a4b3e5858L,0x872d4396bde4eebdL },
  38821. { 0x5d0c5f3a7f83c0b6L,0xbf4274dcf7ba33d9L,0x1df6e4811a635f83L,
  38822. 0x24e2e8347d807292L,0x792203a8eee1e676L,0x20475f907ef4e8a4L } },
  38823. /* 13 << 196 */
  38824. { { 0x1b4db0579e37cd0dL,0x61b95bc9ebccdf79L,0x7d98d8537a57d7adL,
  38825. 0x58a3d639709b0194L,0x45fbd4417ce5bc31L,0x7684b71b5b3c856aL },
  38826. { 0xb311f8f85bb6bd1aL,0xaeb8e44711eda59bL,0x1ad5b35fbf269cffL,
  38827. 0xc69651b4a0e2a640L,0x3713803bd83ad8b2L,0x613ca3af0e4b353cL } },
  38828. /* 14 << 196 */
  38829. { { 0x3ac59b1fff8cf495L,0x3f3726866b04c4dcL,0x2cdddf90da325f0cL,
  38830. 0x3ae79666444cabe5L,0x8222f6d6c7484b1fL,0x61fb08929ae328b9L },
  38831. { 0x279aae392c575c0eL,0xac694019948508bfL,0x4931cc55b84056f1L,
  38832. 0x75927a688b50ad1dL,0x47ba72e945584371L,0xbea7e62ea79fe5e5L } },
  38833. /* 15 << 196 */
  38834. { { 0x990a6767faddc25dL,0xcd7650eb114eaf17L,0xf9d1d6409a44cda3L,
  38835. 0x70996b6871fb091aL,0x630ae9754ff80816L,0x59a9dc2f987b20e7L },
  38836. { 0x9a39588ef65fbbc7L,0x71f4c8e598e7c78cL,0xad2f5a0138cd40acL,
  38837. 0x3c68fe575a837332L,0x7af44087155e6b4aL,0xd66f4cf8e99e31f2L } },
  38838. /* 16 << 196 */
  38839. { { 0x5b0b5d692a7aecedL,0x4c03450c01dc545fL,0x72ad0a4a404a3458L,
  38840. 0x1de8e2559f467b60L,0xa4b3570590634809L,0x76f30205706f0178L },
  38841. { 0x588d21ab4454f0e5L,0xd22df54964134928L,0xf4e7e73d241bcd90L,
  38842. 0xb8d8a1d22facc7ccL,0x483c35a71d25d2a0L,0x7f8d25451ef9f608L } },
  38843. /* 17 << 196 */
  38844. { { 0x81e304c903b37e31L,0x21781e57925a6491L,0x4ecbad144b9250d9L,
  38845. 0xb395914345cae8feL,0xb894a39dbf775d4fL,0x8a2c1090d307e272L },
  38846. { 0x49dfcee9408bf3cdL,0x08f0f33195b573dfL,0x23eb8a0b214bcd3bL,
  38847. 0x425e1cde7ccc4d82L,0x53f64095ac113d2bL,0x377a6cb3d88e0761L } },
  38848. /* 18 << 196 */
  38849. { { 0x9cd08431d360ae16L,0xbf5a73d211281e82L,0xfe25aadfcc34ff33L,
  38850. 0x8874984b84e3af16L,0x8dd38b596a65a2a7L,0x6c91112c68a26926L },
  38851. { 0xb765168637554f46L,0x79558f04c78bf29bL,0x8bb14b1f03012b9dL,
  38852. 0xed7d03f9a0886ba3L,0x9a436ec3c2a93baaL,0x601babb740db0c78L } },
  38853. /* 19 << 196 */
  38854. { { 0xa7395eef391821d0L,0xb299378fc8b7b1e2L,0x53a37e3b7f3a58d4L,
  38855. 0x7d06fa4e3188c5adL,0xe65a94c063dd7462L,0x4daf74f39cfde2b0L },
  38856. { 0x98f986b4fbe7198dL,0x8e96b1ee88176bffL,0x5f309f64eb91641eL,
  38857. 0x46bfe3352ffdca19L,0x1ea1bbe7ac8fbc08L,0xde8ca618b00f88eeL } },
  38858. /* 20 << 196 */
  38859. { { 0x0757ee852005631fL,0x60f484ea9d70cc3bL,0xaf131d246b011041L,
  38860. 0xe40711a1062e2e17L,0x05ccf1b94c27e2c2L,0x29e9910e43d43758L },
  38861. { 0x54daa550ed000e45L,0xf00a312295d3674cL,0xdb006fe743ec424eL,
  38862. 0xbddf5473536162d2L,0x7b8a24b579d433bdL,0x3127a46f282297d3L } },
  38863. /* 21 << 196 */
  38864. { { 0xcd964573cd0585a7L,0x9c2fd35605b684aeL,0x7f600f4de4a47ec5L,
  38865. 0xcb4bcdf085fdd4feL,0x5b292292b4dcf5d1L,0x923c4331df33a2b8L },
  38866. { 0x0fe13edfd6c1e73aL,0x0b35adc6c370821bL,0xa70061b08d405282L,
  38867. 0x98efb3fc6457af81L,0x8806ee7136e1041dL,0x8b56657faaaf0731L } },
  38868. /* 22 << 196 */
  38869. { { 0xe68b669189cb38d1L,0x250f59233456ed5dL,0x8928f1fe16188290L,
  38870. 0x8b24b1f734a837d4L,0x268c8c57d945d0b1L,0xa4190ceae002b3abL },
  38871. { 0x4596e76e56dd74b1L,0x647c17871c307789L,0x0b945c7243b13a6cL,
  38872. 0x4904669552a58ee2L,0x7547a6b46e25b7e4L,0x8bc26f49e2b1b140L } },
  38873. /* 23 << 196 */
  38874. { { 0x95b3f4e75196d614L,0xc075bcfd5ea18aadL,0x15dc9dd41ae71f42L,
  38875. 0x75a769f289543f86L,0x06032d9ec392b4c4L,0xd6cc5c717d4df83bL },
  38876. { 0x111fc63427ad6680L,0x770dfe7f781bda48L,0xabacb082fc0afb5cL,
  38877. 0xe3a463e771dca197L,0x390f21a89635b275L,0x3d3474b24ae094a6L } },
  38878. /* 24 << 196 */
  38879. { { 0x48f5588853666241L,0xb9fee3d39e6a068dL,0x8c50e3af0275e82dL,
  38880. 0xd490cf2dcab34005L,0x20b11f86bf0584c8L,0xd49714c18179e559L },
  38881. { 0x89647b178ded6686L,0x6c4bac8cf16c93d4L,0x5401e4f8076ff71bL,
  38882. 0x577e73acb1ef9b0cL,0xa1b87e0ea46e7880L,0xab8d8bbb54fd28a7L } },
  38883. /* 25 << 196 */
  38884. { { 0x220161f0741396fcL,0xae14ce5817da16ecL,0x766e415bb828b19aL,
  38885. 0x1b3b239e610c7aabL,0xf1c7df4992d53419L,0x57e4cee59442c6cbL },
  38886. { 0x546f73b5f85d33d3L,0x195116c74e041703L,0x5a71a96a5d668df5L,
  38887. 0x0adb7b16fe56c658L,0xf6be923deb563532L,0xa65ed113f2d45f4dL } },
  38888. /* 26 << 196 */
  38889. { { 0x8c6742e5bccd3be6L,0x5f0f7fdd378de702L,0x41236fec334aabb8L,
  38890. 0x4b15815b7e9d8aa9L,0xbb816e46e1c235bbL,0x8591cc45176c2fe0L },
  38891. { 0xef00e3981d7104b1L,0x761d2c244012398bL,0xe4984f4ae81af247L,
  38892. 0xf923bb80c144dc64L,0xd51f27dd83988de3L,0x0ad5438d995dbbddL } },
  38893. /* 27 << 196 */
  38894. { { 0x0532790bd148314dL,0xb4862d9d5b6b4ad1L,0xab65bfc45beb3ac6L,
  38895. 0x72eac92d99331822L,0x2e09a69a6127632cL,0xaa1eaf0791ef9141L },
  38896. { 0x79b923fe754ff12aL,0x19395a97f9a467ffL,0x7dcc91d49ef5cc4eL,
  38897. 0xb9019ff198a84090L,0x62616ed6d5bfd083L,0x95cbf9442b328615L } },
  38898. /* 28 << 196 */
  38899. { { 0x22ef6f606374afbeL,0x70e19fad26348f5cL,0x8bcd51a845f98ac6L,
  38900. 0xeeef7f7026b7ba04L,0x33aa0644544edcb9L,0x22d89a1244974c71L },
  38901. { 0xecd08f5d0f8d90a5L,0x495a0403cf03513bL,0xe924feea27953ba9L,
  38902. 0xdfbe1f93eb5e7975L,0xd3c105a1285865dfL,0x87b8b6360886fc87L } },
  38903. /* 29 << 196 */
  38904. { { 0xc2da6d7a219d44f8L,0xe66364c555a9d970L,0xfb0936258611738aL,
  38905. 0x916fbfa844f7f35dL,0x7a4e0451774b1e2bL,0x7adaab9e80375e65L },
  38906. { 0x2272b95c8ffdfda9L,0x41644b619ad42b25L,0x157026817f0c98fdL,
  38907. 0x25d4a00fffba1d85L,0x52e684c6c6c5545aL,0xba85bf2adabb7df5L } },
  38908. /* 30 << 196 */
  38909. { { 0x89a5b69dd282b12fL,0x63864e7ba7d28277L,0x36ac74d08c21f920L,
  38910. 0x7cfd291713a2f8d3L,0x50b63122c2ef5022L,0x23d454328ed33339L },
  38911. { 0xf8696b2dc4880048L,0xb9605bd5792dcb6cL,0x4cdb5fc26fdeeb9bL,
  38912. 0x58ee2837f1a7f35eL,0x8956359ae2985ccfL,0x0cc6c4ab2c94cb32L } },
  38913. /* 31 << 196 */
  38914. { { 0x2fcac7d161a8254aL,0xc396583a05389aceL,0xc6f069cc3872ee52L,
  38915. 0x76f0e5b407180f5fL,0xc8b23b7a2dee0d6fL,0xc77b242613bf8fb2L },
  38916. { 0xa8c625e66d5ae411L,0xc0c40a75b0723adfL,0xdee0ba8f380d9c67L,
  38917. 0x38b86a3b19920f24L,0xff2191b7d910e9cdL,0x8d01786734181894L } },
  38918. /* 32 << 196 */
  38919. { { 0xa704016022ec7eddL,0x19124972cc9c8ee8L,0x697f301f2ccb9417L,
  38920. 0x3ee877646f00d8aaL,0x2b5afaf88138a017L,0xf152b14c832d7543L },
  38921. { 0x27c27ce2383052f9L,0x4746c5b5e1dae11bL,0x92dc5ac75b752008L,
  38922. 0xcf382e01e84fe5f1L,0x90e034197d5929ceL,0xafee3abb15ca3ffaL } },
  38923. /* 33 << 196 */
  38924. { { 0x299e0c5507f0e3a7L,0x75dac5c46cdebb44L,0x340b5479183c7e42L,
  38925. 0xfb1b03dd702672d4L,0x68f7222ec07cf89dL,0x67a471e422e7a8a4L },
  38926. { 0x79dd4627b9ada93aL,0x774c53771c8ecca5L,0x95191e1a59db2e65L,
  38927. 0x3f6947f270abeeceL,0xb4934fe0885e4e00L,0xd082e49901728c2aL } },
  38928. /* 34 << 196 */
  38929. { { 0x86cd8083aaa82329L,0x74f0c5786e579dfcL,0xc2b68c4e3b436545L,
  38930. 0x8e66c648469d4a81L,0x4c5b05c5bef62bb0L,0xe558ff020bb6f865L },
  38931. { 0x9f8ccb16f356a124L,0x1bb28d7c1279f8f4L,0x9b885f0ca8fc4e08L,
  38932. 0x2ec4cf69859d90eeL,0x9bef3c4d86d3b9d1L,0x5a98ce73eaad8d53L } },
  38933. /* 35 << 196 */
  38934. { { 0x6c716b179711b5d2L,0x396a4a4cb386c1d0L,0x5845f6861c157c12L,
  38935. 0xdcad516262c15d4eL,0xb6e0a6a02dadb218L,0xe4f6d5e5a342e785L },
  38936. { 0x1eeea548c78980e9L,0x363c31be00a32adaL,0x01481fb7e660b445L,
  38937. 0xcbb61552999c1f5cL,0x20a73942f361d12aL,0x67fb89a11b8b4b3eL } },
  38938. /* 36 << 196 */
  38939. { { 0x1d57d639eb00e26fL,0xbeb198906985c10bL,0x38cd95a337b9b76aL,
  38940. 0x3b1d12e30304c87dL,0xdf42dc6f4734e191L,0x1ed1d9e397841989L },
  38941. { 0xfb60e333859b577bL,0xfb026d16ed3db987L,0xa216b0e46f7855c8L,
  38942. 0x9501bae3539ebdf6L,0xd95a4a32dc8a1f6fL,0x76cb0b6b45307deaL } },
  38943. /* 37 << 196 */
  38944. { { 0x5607ab62a844b579L,0x8d3ed3db94f67d9fL,0x95390de8a9929b04L,
  38945. 0x4a6f6f7cc85397f3L,0xec5b73eff26eab04L,0x2543190b045699f9L },
  38946. { 0x9a4896138cdbb723L,0x0e081e5b7a1c638bL,0x20f292c6596a7b1dL,
  38947. 0xa14d849794477dd3L,0xeeeca98064b0de1dL,0x75fdbae92c5135dcL } },
  38948. /* 38 << 196 */
  38949. { { 0x1202b5752b076f5bL,0x5ca1247edbd6c420L,0xb45ff9bfd8ccc5c6L,
  38950. 0x680fcfb28e061baaL,0x5a6e6342122a4212L,0x0ad12abc312fea8aL },
  38951. { 0xd1dd8ae5665dc7b1L,0x30494dfdd9a22454L,0xc8aa9bc9da55ed09L,
  38952. 0x6ec643031b74b119L,0xf54574716b604639L,0xe2a214e59f8d83ceL } },
  38953. /* 39 << 196 */
  38954. { { 0xca698de5f5c96e8aL,0x352c89a3fd941919L,0x0e3de0a909812f23L,
  38955. 0xa74ba91667702fefL,0x6acfaa5a3863d479L,0x28d8932bb6bb15cbL },
  38956. { 0xc62155704ba9718dL,0xc67a3eafa1edd692L,0xc86eeedaab31aa74L,
  38957. 0x2064ea632deb79c3L,0x813b84f51ff01adbL,0x994b9437458a1835L } },
  38958. /* 40 << 196 */
  38959. { { 0x1013c4f4fde3f7ccL,0xbad5415a838699b6L,0x2a8b4eac64cacc78L,
  38960. 0x3d10f949bf75d233L,0x5a9f7782fc84e55eL,0x209a18345ea7b274L },
  38961. { 0xa66cb6d4f9e8d374L,0xf898d9479a20080eL,0xe7e4b91b1272df4cL,
  38962. 0x5b8507cc5dd136bbL,0xbe4b5262372a8e05L,0xa0cb170c2aa4a47bL } },
  38963. /* 41 << 196 */
  38964. { { 0x469180a38378217fL,0xd960bdde85ef6d61L,0xcc4e737d6654aa84L,
  38965. 0x28d440016ae51d69L,0xf13a0d9ac6187196L,0xe60851b392160f65L },
  38966. { 0x41d98cf61cac48d1L,0xf37f003d1b57f2cbL,0x4829c60bce272603L,
  38967. 0x45991d4adcbdddc1L,0x17e591fe74601bf3L,0xf8a36b4fb3fe856cL } },
  38968. /* 42 << 196 */
  38969. { { 0x4410b773fe480323L,0x42ae32e3ea2f8b57L,0x6578a64b2886b9d9L,
  38970. 0xafcfa5fe4241ec91L,0xa7fa5afc16b4ef24L,0x4a6594bbbc16b610L },
  38971. { 0xcb5845515e264fb6L,0x4b89955e2b9c3c70L,0x530426be21e11c1eL,
  38972. 0xb707abe9c9dab34dL,0xb5aab0bf5931cd78L,0xab6a2585f0ccfcdaL } },
  38973. /* 43 << 196 */
  38974. { { 0xe75761f716afd216L,0x8ff1cea3b8a4f008L,0x04b8b65e69889d77L,
  38975. 0x679bf7a586ad9fb5L,0xbe49be0b4c22b86bL,0xcc8905a16c026c1dL },
  38976. { 0x17464e7e59ec1983L,0x50cb62832a03afe0L,0x8dadaf456ce4df91L,
  38977. 0x26cf59d1e0df6fddL,0x6ecc66119adaec45L,0x1be42e744ef67dacL } },
  38978. /* 44 << 196 */
  38979. { { 0xa01cb3bacb1957b9L,0x053693ccf50694c9L,0xf8a887ad527f3aedL,
  38980. 0x2f1a80ece9bf06f0L,0x74baeaa57d0eec9fL,0xce8e8b9ab0641cabL },
  38981. { 0x91d1e84d128a1804L,0xbdcfcaec2d5fa43cL,0xfc5cff124106fa6dL,
  38982. 0x2ae3ffab01588ac1L,0xe9dcc9b44c067052L,0xd8e3d74bafa7d4c3L } },
  38983. /* 45 << 196 */
  38984. { { 0x64a134296d7b277bL,0x487080d8e9a50637L,0x02e5fe901c6c061bL,
  38985. 0x8fdaafc8ecabeb11L,0xb1e3960110720b13L,0xe7304bf77081f41eL },
  38986. { 0x78a10af8c26f5cf8L,0xf52cbc155c032c15L,0x95a3c4558c0c2091L,
  38987. 0x1797b407abba6f79L,0x87c0cd05a96a3062L,0xdf75e2805f04a7e2L } },
  38988. /* 46 << 196 */
  38989. { { 0x47161e1f82779cd6L,0xa95afa08c8158458L,0x2cbefdbc40a80742L,
  38990. 0xd86e0bfaca420c9fL,0x08f5f8c29c79427eL,0xe8f88361da4d0d9eL },
  38991. { 0x2195174d3eb78d14L,0x889b32c9ed6caecfL,0x1e679749c3c83ed3L,
  38992. 0xc27a8c84eddf8a29L,0x4a21af3af8e09f40L,0xf4b9797f1eb3b9b3L } },
  38993. /* 47 << 196 */
  38994. { { 0x58c2405baa44f11dL,0x86ffaa37ac0f7257L,0x373623cc4070f6e3L,
  38995. 0x142e62f9a36c73b3L,0x43bab2dd36a143fbL,0x4fbeb0b7aa50375cL },
  38996. { 0xf9cc2e7b1f862294L,0x95a9be3c0abdcaa8L,0x70f050225cda074eL,
  38997. 0x152659db43e6bc89L,0x1790148727c6e01aL,0x544069354e083c21L } },
  38998. /* 48 << 196 */
  38999. { { 0xcb51f03954ebc926L,0xe235d356b8d4a7bbL,0x93c8fafab41fe1a6L,
  39000. 0x6297701da719f254L,0x6e9165bc644f5cdeL,0x6506329d0c11c542L },
  39001. { 0xa2564809a92b4250L,0x0e9ac173889c2e3eL,0x286a592622b1d1beL,
  39002. 0x86a3d7526ecdd041L,0x4b867e0a649f9524L,0x1fe7d95a0629cb0fL } },
  39003. /* 49 << 196 */
  39004. { { 0x028bc25096c54946L,0xace5e7ad0f5fb7eeL,0xc820d7513350ab02L,
  39005. 0x4ae1f6d99c8d7635L,0x03d1f83a98e1ed80L,0xf014d45d5ad14550L },
  39006. { 0xeb8f2c328cd6d0b6L,0x090a8f71770f586fL,0x1a8219f93eb7d3b7L,
  39007. 0x0d610d9febfc26dcL,0xfdb49980aa330297L,0x6396f218d81b3fbbL } },
  39008. /* 50 << 196 */
  39009. { { 0xb4ea3102eacb7b9bL,0x4aefb43d72af1d6eL,0x9a1a912d249a51d6L,
  39010. 0xddd0a5744d5e3a1fL,0xe252114708aa1f69L,0x4b235efe9de89d5dL },
  39011. { 0x6fae47420d7f1aa7L,0x0434ae2ff200e13aL,0x75143dc192508b57L,
  39012. 0xc441a768055e177aL,0x84cd7adf2f142b2dL,0x56484f4161d9ad5aL } },
  39013. /* 51 << 196 */
  39014. { { 0xe3e9d0881beecd14L,0x4bd12b179093ab18L,0xa6908ddbc925d5dbL,
  39015. 0xfdc5f740832d1474L,0x1a35623696f831afL,0x0e39086808cde8c9L },
  39016. { 0xab1c7cbda2206b32L,0x84d299c8b93ccf1fL,0x380fa432dabb6542L,
  39017. 0x59f01b5177c2cb3dL,0x9785c47b6e56c4bbL,0x047acc813a3f2b1aL } },
  39018. /* 52 << 196 */
  39019. { { 0x724210e61e42b4a7L,0xa8d536afe2dd968cL,0xc69936e683582c60L,
  39020. 0xd031f1abdd5d7f68L,0x7d31dcae8c4180d4L,0x117985f622bca188L },
  39021. { 0x3b0a982537e38dc2L,0x1663fdc5896fe4b4L,0x55d18cc7fd707372L,
  39022. 0xfac2d7a40d2d8470L,0x994763391b04b1f6L,0x87cfbb5ee0bd72e4L } },
  39023. /* 53 << 196 */
  39024. { { 0xeac6a72ad5dd2841L,0xf1aa32524277e152L,0xe6c44e9b6ef7e947L,
  39025. 0xd03309fc54095378L,0x6fc5fb9ccdd06947L,0x10ed0e76d1e9a968L },
  39026. { 0x42d5ab02dfb77b17L,0x4c54c381a53de8ccL,0x5fb4c256f2b1b5d8L,
  39027. 0x17d5ab28e12ed054L,0xd7c96ce1139da42aL,0xb32f63859919f459L } },
  39028. /* 54 << 196 */
  39029. { { 0x4bf5788312f4b0b3L,0xcd69d82ef46735faL,0xc397c8f9a1baa0efL,
  39030. 0xfce184c0fd1be398L,0x15021775fa54580eL,0x10bc85468f54397cL },
  39031. { 0x6009a691eaa9d711L,0xc9c6a42fb7846417L,0xe9c305685627817dL,
  39032. 0xa1be66ff92abd5daL,0x9317838fcdea11c0L,0xace94ddcc85e7aa5L } },
  39033. /* 55 << 196 */
  39034. { { 0x3ef37821d4079bf4L,0xff78abebfcbdc3d0L,0x117414bc4733ea34L,
  39035. 0x7f181a3b9f50d0feL,0x9ea5f94eda897ea7L,0x01a996ceee8314ceL },
  39036. { 0x0cac3c8b420e988dL,0x7ad66ac4bed3294aL,0x6bbf6dd800b62445L,
  39037. 0x590a57017a2fb4fdL,0xbf3b4e529ac11d81L,0x1bd453020d60c710L } },
  39038. /* 56 << 196 */
  39039. { { 0x8a43bba0902c32d8L,0xd8c69b74a3955e42L,0x413bf25d79c64afbL,
  39040. 0x3c39837584ac94cdL,0xfbfa9c53a08ccf5aL,0x9d8ac945e9d791d4L },
  39041. { 0xfb9bb89e5e7a2553L,0x1442612bb039dd24L,0x8250ffe0a2e2344aL,
  39042. 0x5eae8b396426b985L,0xa1657768484741deL,0x05e52d4ac73cdf8cL } },
  39043. /* 57 << 196 */
  39044. { { 0x61c2417995c5e767L,0x7456380c3bdfef62L,0x62763f43d206cbb1L,
  39045. 0x1996e2c657871e44L,0xd0dbd290f220c06dL,0x6778e1e5d87743eaL },
  39046. { 0x40e54caf16b8f046L,0xe834a1cb6bed77daL,0x7240befa3e9457c4L,
  39047. 0xd1b638dbac96cedcL,0xd1d7e814c9c0cd8cL,0xc73beaf14d38258eL } },
  39048. /* 58 << 196 */
  39049. { { 0xf1a6d776c05f40feL,0xb98c19b1c21ce471L,0x700b0bab7f9689eaL,
  39050. 0x861513a56f1d2e6eL,0xb7558b2292fe4456L,0x2d8f860704c66a25L },
  39051. { 0x10ba7d6a7998347dL,0x72bf56093983b98dL,0x8d873c4f89238292L,
  39052. 0x5db0dca9a5e3c944L,0xf81fe37e0925aef0L,0xed6a13a4e4daae25L } },
  39053. /* 59 << 196 */
  39054. { { 0x49e2372711c3a930L,0xbf2ede34f5293b8eL,0x0abeeb3ca8e1cc9aL,
  39055. 0xb1db299440205cbcL,0x3252d29e52fb01d4L,0xa0b080c57dc91095L },
  39056. { 0xb56fdae622a9ceb9L,0x6c3c3463b31f6f27L,0xcb510ec2ae3bd22aL,
  39057. 0x1efcd77b0b3db475L,0x1094bcc5ca766f9cL,0x688e940dfea48297L } },
  39058. /* 60 << 196 */
  39059. { { 0x3d95d26a99cde27aL,0xed608a89b99344f4L,0x7a70a8f09c0ab25cL,
  39060. 0x7740953c496552d8L,0x4da4ca0f4a366adcL,0xbf475c1b33274d4fL },
  39061. { 0x5ac1d8288811b869L,0xed62e7b4d23446d4L,0x67d78571a0eab287L,
  39062. 0xa74ae3e98b0acc4dL,0xa63f91d64077c236L,0xe2c3f82a818a6889L } },
  39063. /* 61 << 196 */
  39064. { { 0x2bde7037b1d5fbeeL,0x477a4b51a80b92f2L,0x195ae0e06606b504L,
  39065. 0x7aaf3de57497785aL,0xb5581ee9290c5ef9L,0xcb303c30360c8ec2L },
  39066. { 0xfb056f901b1fb602L,0xa38bc9f59931b7ceL,0xb0b74aeab2f453a8L,
  39067. 0x9a0e2ebf668cd68aL,0x8b7e0d73d7db7842L,0x21f29b74d1fa5433L } },
  39068. /* 62 << 196 */
  39069. { { 0x38321d7c4e11f824L,0x04dcd3a3e4a816e9L,0x382968ed07e09612L,
  39070. 0x6f7b2dbfa370e1d1L,0x5a8472348675d730L,0x88d974b0e59e984fL },
  39071. { 0x89f7e2bce3f9e429L,0xd478eacfe3aebac2L,0x8df9f281ebef3488L,
  39072. 0xcbcb9fbeab5543b3L,0x2c8d19b0203f59e2L,0xbb98e4495287b0fcL } },
  39073. /* 63 << 196 */
  39074. { { 0x16c45f709aab81d7L,0x0f1310851795a4b7L,0x3c63d43af0ecd732L,
  39075. 0x22e2d1988628b683L,0x7d7482bab641d6d4L,0x6baef4a2ab69891aL },
  39076. { 0x10989097e63c00d2L,0xbfd42ab0d93794ccL,0x9a1935f3e4165a41L,
  39077. 0x359701b35b600ca7L,0xbe7d69f983d1b54bL,0x99b0f35e3729bd4aL } },
  39078. /* 64 << 196 */
  39079. { { 0x11dd860e1c6d03b0L,0x30c1700809eec660L,0xd4f8aff635c0192fL,
  39080. 0x96a727b1e3a4a900L,0x1426daffde78c8baL,0xfacaa9bd8d1527c4L },
  39081. { 0x0c0d5234cd072989L,0x1936c20d918550b5L,0x4828bee43d914fb3L,
  39082. 0x8324ea38f3ba26a6L,0x027590f3a94eb26fL,0xfd354295acd957bfL } },
  39083. /* 0 << 203 */
  39084. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  39085. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  39086. /* 1 << 203 */
  39087. { { 0x3ede2484da756624L,0xb22da2ab73b13062L,0x56069e93962a667bL,
  39088. 0xc931266b130f2ceaL,0x4bd6a6fca7366a66L,0x23f30563aa5ac3b1L },
  39089. { 0xa025d0efd7c2b26fL,0x597ce7d862129bc7L,0x4809927f2b3057f2L,
  39090. 0xb001c10a1499f884L,0x309d141c30b9a653L,0xadddce7dbf659d05L } },
  39091. /* 2 << 203 */
  39092. { { 0xa6c32900af2825c1L,0xb37c46c1d223a04eL,0x691e7d39063de7eaL,
  39093. 0x998df4e710daf9bdL,0xc7085b9e718b5d7aL,0xd41abcc816b3d4b8L },
  39094. { 0x4dfce693f9bc4041L,0x383677ed659ec7a8L,0x2c1904bf4491fb34L,
  39095. 0x7c1bf1114552451cL,0x6562cc2c3c5e5e40L,0x1ecaa2a1fe0e4372L } },
  39096. /* 3 << 203 */
  39097. { { 0x9657d08ca9cb9ecbL,0xf69662363b75be69L,0x396a9344a31c2b8cL,
  39098. 0x1c50b1269767bc1fL,0x597223d0d1417e03L,0xe165ed5a12137153L },
  39099. { 0x8bce29f926a24098L,0xc428a1fbe99e7bf8L,0x6fd4c906eea7f1d9L,
  39100. 0x94275713fceb2e05L,0x3555448b741dbd94L,0xc50e85459faffd4dL } },
  39101. /* 4 << 203 */
  39102. { { 0x84c3630bf3087bc8L,0x152691e674be6e26L,0x5abd125ff61af001L,
  39103. 0x69bca56fbfea3525L,0x384af19900e0cb6eL,0xb0b13cfed00475a6L },
  39104. { 0xedafde495e394049L,0xd988b558daf2add6L,0xf14cf97a6c8ffcc9L,
  39105. 0x4d6cec23e5a9cc5cL,0xb0d678f88a104e05L,0x80a7fcba9fb527c1L } },
  39106. /* 5 << 203 */
  39107. { { 0x9ae12b902af1ffceL,0x082f30b95a30521dL,0x974099bdc304014bL,
  39108. 0xab1e27e444ccb6e5L,0x72db8f42290387a1L,0x3d1a461040f3ce18L },
  39109. { 0xe939a3f2634ba10fL,0xe70a9cf517254c56L,0xd0f8692fa08ec3c5L,
  39110. 0x77edefcc7a7cbdf8L,0x04c4b18ebdf90f0bL,0xa890436a8aa36a59L } },
  39111. /* 6 << 203 */
  39112. { { 0x8618ffa79e30f8a0L,0x9961390cd12699bbL,0x5b1b0d744f61edfeL,
  39113. 0x33df67d9eb7a476fL,0x7f1a767ea92ee99bL,0xfab400e32223a2ccL },
  39114. { 0x16f376f2f534dc3dL,0x6f36eaefcec17905L,0x8dc1516ca58765deL,
  39115. 0x893408262260ed6bL,0x060eb0afcf4b29baL,0x9cd0a9f11d252bbaL } },
  39116. /* 7 << 203 */
  39117. { { 0xd3c2a6a8ca413693L,0xcc56a8e932d5714cL,0xc72b73683c0da165L,
  39118. 0x5d236660db44e616L,0xa83b2ecce5c73667L,0x9d292f298aea900cL },
  39119. { 0x67121215aaa2a7eaL,0x57dae96abf889191L,0x63bf7a81d296ae68L,
  39120. 0x9bf518758fd496c4L,0x5b4382fbc2f7308cL,0xf1215dfc9632aad7L } },
  39121. /* 8 << 203 */
  39122. { { 0x0d6cadbfc22137d2L,0xb5db59d3628a3298L,0x3b433c734ab19507L,
  39123. 0x4fc53405660086b3L,0x770ae903a1eb0f43L,0x31b5857ef6b5b58dL },
  39124. { 0xe206e141d392868eL,0x8be6956f4b31de04L,0xcfbfca2f47449e07L,
  39125. 0xebaef25639fef8e1L,0x959e37b8c16fc80cL,0x8bb4bdd2e911d61bL } },
  39126. /* 9 << 203 */
  39127. { { 0xecfb851380fc41f3L,0xb0dc8823931843c4L,0x59decd6c1b93df03L,
  39128. 0x954103b72511e252L,0xe372f86a0f759de1L,0x04f5afd38f6f9ef3L },
  39129. { 0xbd8e60affcba2e7cL,0x9b1cb1ed092315b0L,0x5f9e20a03fd05e36L,
  39130. 0xfcdcc44ded95f25eL,0x6baf401b6ac79cb5L,0xfe1a5a856894f651L } },
  39131. /* 10 << 203 */
  39132. { { 0x014a0907e51c6673L,0x28118ccd3e6e6a91L,0xdbbb7c4dc999acc0L,
  39133. 0x01b771075e7ab1e3L,0xa33fefbfcd8fb11eL,0x1df5b61fc0b8a5c2L },
  39134. { 0x774dc2674478c5c6L,0xbfe1add422fb91a1L,0x5ac4dc694d9c8461L,
  39135. 0xbf6e002a1e772c5fL,0x4922120e0b83fe91L,0xa7747f4b3efbadceL } },
  39136. /* 11 << 203 */
  39137. { { 0x4b955beaddaf2e82L,0x3775ecde90fdc68aL,0x579c34f91713e763L,
  39138. 0x6c27f504fa509d74L,0xef6df04a3f8dbf4bL,0xc39f2e28b3ad7104L },
  39139. { 0xe54042b3a5973cffL,0x4e594427f111f3d9L,0x53c7a2ba155fce57L,
  39140. 0x7b3c1c60e6e1d21fL,0x5e12db8d308ddf4dL,0x2c3c5e77a00e8976L } },
  39141. /* 12 << 203 */
  39142. { { 0xc483d4b24343bbf8L,0x42aca2e18a0fc95eL,0x5165df6fcbab1fb0L,
  39143. 0xeb284370f6cdfc0cL,0xab565c00994320fcL,0xc0d157fd62133e80L },
  39144. { 0x7850cda55b69644aL,0xe37ae76a806ec8b8L,0xd14b805cc2c82eddL,
  39145. 0xcb5468b6cf244539L,0x97d43ee825dbe92dL,0x1442243689fb8f1eL } },
  39146. /* 13 << 203 */
  39147. { { 0xcfc8a945f361dc08L,0x383a5336491dc3abL,0x77580587c35cd376L,
  39148. 0x6604248ae2426904L,0x47c56025ffeb9d26L,0xc301edd8bae5d983L },
  39149. { 0x7c6511a9e2e5cf33L,0xdc52c1dd221d41acL,0xdbdc8acada47503bL,
  39150. 0x01b406864bcedbbaL,0xca9cb9fd2d5496d5L,0x5768e0edb17e8400L } },
  39151. /* 14 << 203 */
  39152. { { 0x421afbe0431cb760L,0x9ae9ff985203e69bL,0x56cacf4db1a2705aL,
  39153. 0x6a3a4136d128bcd5L,0x2411c4b866191ad8L,0x39f26e1a15b45d24L },
  39154. { 0x4cc82459c64ed153L,0x5c7a0dd58195b452L,0x9c88bb1c69f6298dL,
  39155. 0xfe567b031933fdb5L,0x8a6aea71881308c3L,0xc1268b55a2f0adfaL } },
  39156. /* 15 << 203 */
  39157. { { 0x312b777c1231c557L,0x3984f71be9971115L,0x0266b58294cc2d4bL,
  39158. 0xc3058419cdf5e5c1L,0xab3a1ae477bbf0d8L,0x7c2173a6d21603daL },
  39159. { 0x61cca8cc747b092bL,0x70f77a53e376506aL,0x742c20692f1ccc85L,
  39160. 0xb1f2ceca2dc8844bL,0x5a73cff83a096c10L,0x28acb67d5c19cd11L } },
  39161. /* 16 << 203 */
  39162. { { 0xd7bf2ac6a0a85236L,0x2921b55c7194c46dL,0x162fabaa9afa9762L,
  39163. 0x7b7f1664b62b36abL,0x77b9f797296a84e9L,0xfcc1ad657dbd843dL },
  39164. { 0xc6e9c1e1cd77b7f6L,0x9cf0e272917067c9L,0xfa7fa93d3bfa90bfL,
  39165. 0x55846fe9d050e46aL,0x473b9a0d35c56256L,0xadd29e332b656a65L } },
  39166. /* 17 << 203 */
  39167. { { 0x4698137f46fb8ae3L,0xb11a595f7b1c062dL,0x4a043b99ff023ef7L,
  39168. 0x2836d64d8ef0fa4dL,0x4067dbee8ea44a98L,0x9d1739c9f00ff4e1L },
  39169. { 0xcbcf12fe133d2703L,0xd2923424016037cfL,0xda7543d68be5f666L,
  39170. 0x587d1920ac5e1847L,0x14662476f79e3462L,0x0120a1d8c810a1f3L } },
  39171. /* 18 << 203 */
  39172. { { 0xa4fc828ab18f9bb1L,0x06de4c9da27a787aL,0xfbb7c7d7b1b3a12bL,
  39173. 0xa7052b94b8583128L,0x173ec2d2e7b02fd8L,0x4b724682c776c664L },
  39174. { 0x46ed9be5673183e5L,0x312191e83bd17c60L,0xe3ed6326efd56a9eL,
  39175. 0xb3ebc44c943a2278L,0x7ef62ba9ec9cf589L,0x754be6d389832cd7L } },
  39176. /* 19 << 203 */
  39177. { { 0xccb4b369dc992b32L,0x0ef84cc0922cee22L,0xda0058f1fc56e9e1L,
  39178. 0x208c57943f23632bL,0x3589a7338f77a82bL,0xee6cfa2c76ee99bdL },
  39179. { 0x88cffafc418f7993L,0x0dde3f05f4be56d6L,0x5d088382a0472bf5L,
  39180. 0x872ca5aabd58d05dL,0x9c467c62e8f91f17L,0x38ab1b348c6b91ffL } },
  39181. /* 20 << 203 */
  39182. { { 0x926c2552ebc69b0bL,0x953a850fd4c7432eL,0x0ee85e14b9359035L,
  39183. 0x8b10b01abde090a5L,0xb2878dcaec423943L,0x2571a178f70bde20L },
  39184. { 0x24ed159af5ebeee5L,0x60c202af043f6539L,0xdaaa76f4c8d4ffc3L,
  39185. 0x2fc1f1ba06eda10fL,0xddf159ee88ded556L,0xcfa71782e67b1ec4L } },
  39186. /* 21 << 203 */
  39187. { { 0x2596ee7409d3ed60L,0xd42551f474a46e37L,0x2e46a92e21061c90L,
  39188. 0x236299fa73ad22eaL,0xacdccd5214393ac2L,0x9a572130b56b4d5bL },
  39189. { 0xddfc31781835e70bL,0x5dac0671d542048dL,0x2b0768d7a6dce17cL,
  39190. 0x6d447d4206c55342L,0x6b55b21525548478L,0x24e6483518d5310dL } },
  39191. /* 22 << 203 */
  39192. { { 0x3c58c5ea9b037c66L,0x08d0648e0d5c6ec5L,0x1bf90c53a4fa3f5aL,
  39193. 0x660cf61740381205L,0x63fd03081d44af3fL,0xe22b9c1a77175de7L },
  39194. { 0x0b6044fc3556fc9dL,0xaefb6804fb55318eL,0x77045bce5c46e1ebL,
  39195. 0x29c4a3bc76e8f93aL,0xdf8aec699d697f5dL,0x5bd9552845a89080L } },
  39196. /* 23 << 203 */
  39197. { { 0x1bd61fbdc5756910L,0xcfcc6d5adeaca40dL,0x292867885dd80ac1L,
  39198. 0x7effe328d621c0a6L,0xc64ebb91ab22a2b5L,0x8954ab330c44a456L },
  39199. { 0x7552a0b460e26218L,0x2e81d3a94136adbaL,0x96dc2451610d665eL,
  39200. 0x30859c62ab04e03fL,0xdb3726fd4c31fa3fL,0xbf4954d1d962a7c4L } },
  39201. /* 24 << 203 */
  39202. { { 0x31521f66d5d826b0L,0x0a63695240787844L,0xc0a3bd059c8f934eL,
  39203. 0x12c57dd42f0ce835L,0x847f6a9967064213L,0x1c9e1a7aa88bd71aL },
  39204. { 0xc4060eb2171e8407L,0xdf78d8dfed106780L,0xa3d28ceb0d704729L,
  39205. 0x4f8e523246ca3912L,0x09e9f852017791f4L,0x594006631e6ea97dL } },
  39206. /* 25 << 203 */
  39207. { { 0xdd26fb79444827feL,0xbf78e076d3f5fa6bL,0x46d486e81a5475b5L,
  39208. 0x43e325a5faabc3f8L,0x1fef6b6ba6795d0cL,0x40e040666644d631L },
  39209. { 0x16207bb9676c3322L,0x677c1c235811706bL,0xb686252e994e2a95L,
  39210. 0xa359e2a51b6f6a3eL,0x6d8f06cfb124f019L,0x3bcf778246266c42L } },
  39211. /* 26 << 203 */
  39212. { { 0xeaa3426b8eb929aaL,0x090924f2327bb35dL,0x4d23ba1276da394fL,
  39213. 0x05d98e56adecd43fL,0x83c7169f6b4af795L,0xc22560a7c8f26ae8L },
  39214. { 0xb43aecc2d01ab5d8L,0xe7bcdc1f7257d7d1L,0x6f32d77650de3318L,
  39215. 0x6d736b279bf02c0aL,0x9534fa5865319235L,0x5a6a38493cfbeb3cL } },
  39216. /* 27 << 203 */
  39217. { { 0x3ddcb65828c50956L,0xb335f336bf1bdb4cL,0x7c18d2d0ac3b6194L,
  39218. 0x8748654bca324d11L,0x7c9c58dac2e85f94L,0xf1930a56d4f4f957L },
  39219. { 0x9cacbdbbe410fee8L,0x0e292c2178e1312aL,0x6845b293906a6270L,
  39220. 0x842ded0f00c5401eL,0x747cd08f35e3ff9bL,0x8405540af48227feL } },
  39221. /* 28 << 203 */
  39222. { { 0x547b0d9583939224L,0x3a0823ff1e026769L,0x6016671525bd43acL,
  39223. 0xb6cf475e18ba5f64L,0xa22f9c92c8b6d09dL,0x730553683ccf50abL },
  39224. { 0xa6de248eee6deefeL,0x32aaf8b2acc3ca20L,0x0e254c5bad44e674L,
  39225. 0x8aa73e6535f95f98L,0xe622600160a2dc1eL,0xdf9482109109020aL } },
  39226. /* 29 << 203 */
  39227. { { 0x7b24d7b056190aafL,0x0115cbdd0563b377L,0x5688526ca7ba4975L,
  39228. 0xd2971e28aee3100dL,0x57a6ff8a6fa24f61L,0x9cb571c4d8603be7L },
  39229. { 0x09c01564a2cce6d5L,0x14f0902b89884939L,0xd71a5ff8a072ffecL,
  39230. 0xee7848b8fefeab69L,0x7b52a9577e40895aL,0xd1576be7e8c61be2L } },
  39231. /* 30 << 203 */
  39232. { { 0x4c4d454849d77b8eL,0x431f942f6a4c982dL,0xc8633d051cb39ce8L,
  39233. 0x23421f8caf516f9bL,0xc9db25d2aac876fbL,0x9f2669c5d882760eL },
  39234. { 0x59dc4bf4c47d4bfaL,0x99ed0024c475f93cL,0x269d1ca4ebe07d37L,
  39235. 0x49ce3bdbbf88b1faL,0x515044053361e4ccL,0x207f0048735b3c96L } },
  39236. /* 31 << 203 */
  39237. { { 0x835fe90b5a516e82L,0x26f1f2a7abfcb383L,0x3dae65a8609c4ac0L,
  39238. 0x70b01d6e91f4054eL,0x22da015b581e3159L,0x2ad34f99329d1ebfL },
  39239. { 0x7385aad60d09b845L,0x4cbafb0b0adf42f7L,0xd8727d26c02398cdL,
  39240. 0x58c261f590549db5L,0xd49b12e48ea70310L,0xb31eea047ef89773L } },
  39241. /* 32 << 203 */
  39242. { { 0x372798f02893f2f7L,0x4f62bfac9e5030caL,0x5e64f9a98a1e2567L,
  39243. 0x5870254ce70391c8L,0x2def81a341f02458L,0x25d4e4dc1d087bedL },
  39244. { 0x3557d07d4fe24a13L,0x6da49186dc3112bcL,0x08c8c5675f73ba50L,
  39245. 0x5309050b9c7c6706L,0x2ab67da3bd985072L,0x9bafa8b1e5df4e96L } },
  39246. /* 33 << 203 */
  39247. { { 0x5acdcd216f77738eL,0x340710746cb67a3eL,0xd68c55cf4bf76bf7L,
  39248. 0x64c159200b4deda8L,0x1021d38ae242b1e0L,0x615f1f033bd3d95bL },
  39249. { 0x2ae0245cc300c9c5L,0x3549605ba88d63e2L,0xfe0dd65ad5038849L,
  39250. 0xe67abfec63c6e4aeL,0xccd08ba528153bdfL,0x9be9f5bced4d76bbL } },
  39251. /* 34 << 203 */
  39252. { { 0x30fe00bb6e8423deL,0xe16ce94784e4d005L,0xaf0f8c283fed764cL,
  39253. 0x05ef9bf67d92b1efL,0xbf6570d4eb481da7L,0x39349e30468494ebL },
  39254. { 0xe32b99a63fb36907L,0xd92386da2d35e71bL,0x74af8b79166a973dL,
  39255. 0xa0a177f94f72de6bL,0xfff3e19d5dd6c660L,0x15310d4d4b0d54f0L } },
  39256. /* 35 << 203 */
  39257. { { 0x692a561f15c15a11L,0x25abe85f26ca3ddbL,0x50fef4444caffa5fL,
  39258. 0x58472cfbed3f4aadL,0x7e9178f0092d2b83L,0x3afd364ff8dfaaa7L },
  39259. { 0x4686ee5cbbf813a8L,0x6a62687d937cbae4L,0x56f22558a9b7b6c9L,
  39260. 0x9af1beae9c189e25L,0xfac4ad9f4d41f79eL,0xdecb57431f9c7a40L } },
  39261. /* 36 << 203 */
  39262. { { 0x3ac662895c02f173L,0x6a110e3876d566e5L,0xd9cc14e2b9577e26L,
  39263. 0x6f3d5df9fdfe617eL,0x8fac740f352bb2caL,0x50bc8a0cc28e6310L },
  39264. { 0x6e572fc477ac93f7L,0x56277377605bb8e9L,0xad6d0637402b8c55L,
  39265. 0xdab377914509eda7L,0xae770abc0854e91bL,0x523bd278742b3de8L } },
  39266. /* 37 << 203 */
  39267. { { 0x8ede0eea2aa0da2eL,0x7015ee6e90cfeb90L,0xef33f3efd6b3227aL,
  39268. 0x6e332f1712ef9f4bL,0xcaa089898e7f9fe9L,0x001482ef8fa71529L },
  39269. { 0x2522637907a5019aL,0x807faf01bed40fc9L,0x426002ab56710e12L,
  39270. 0xcdfffbc18d3949e6L,0xcc03f27861284379L,0xcd7dc2026d5edc82L } },
  39271. /* 38 << 203 */
  39272. { { 0x94f84d57cff31148L,0x9c567c7f6bf2a313L,0xc82e62353149ad8fL,
  39273. 0x81f69703c2a5d513L,0xb54e6fc756eea9acL,0x6799c7957c3aae62L },
  39274. { 0x78e89c1edb280515L,0x3c5693066ac42925L,0xd984c86dab063cc4L,
  39275. 0x61754b5151d44ae3L,0x23af8ec0cebeef0fL,0xff67170bc618fe8aL } },
  39276. /* 39 << 203 */
  39277. { { 0x123b567195b58447L,0x7397316ad43aabd2L,0xcb65d69d9ddc7979L,
  39278. 0xf98be7bd91150e08L,0xa5388c79fc0ae5c7L,0xb115690215ed9074L },
  39279. { 0xc2d01b9227e9afdeL,0x80d705ec2095a6ebL,0xbea901c7fab23079L,
  39280. 0xced8b2772346d712L,0xad5c45a92542a0ffL,0x87b2e4ac0455e90fL } },
  39281. /* 40 << 203 */
  39282. { { 0xc2cbd64417fecb90L,0x61616eb3b32dffdbL,0xdc4485a29f5d2095L,
  39283. 0xf78911246553371bL,0x4f06ba18bf9b20afL,0x136d4f291a2c4df1L },
  39284. { 0xc04aca34fb8b685fL,0xeec83c20f2b657bbL,0x4da5d70a5925a36aL,
  39285. 0x8060874172ff2965L,0x2e0dd9ff9f352620L,0x5f0afa6746d1a7a8L } },
  39286. /* 41 << 203 */
  39287. { { 0xb76c722762c1e582L,0xbce1eb164ffefd05L,0xa574a9fe169e53fbL,
  39288. 0x77bf92b0c001628eL,0xd998172c04d60440L,0x62f35199ceae6bf7L },
  39289. { 0xd81a563e93f1ff84L,0x5a7a0b4211598ad0L,0x884f2ca5ff11f3f8L,
  39290. 0x99f5aac2f3ac66cbL,0x58497c01f489c5afL,0x11277bc39566521cL } },
  39291. /* 42 << 203 */
  39292. { { 0xfb9670c26a770385L,0x5da887e1e9682174L,0x31fa9d6bedf922f3L,
  39293. 0x8de8814cf7a98d1eL,0x3935b9b27a019f08L,0x1f59d6f3ea6173caL },
  39294. { 0x8732f39d5c638a66L,0x981a1b7a3d48d3e5L,0xea451b381ee0ab37L,
  39295. 0x31a8e9abf2708356L,0xa491944ee86cbfc1L,0xd747a885a97ddfcaL } },
  39296. /* 43 << 203 */
  39297. { { 0xa3460236aefd304aL,0xaac80f43c58719a0L,0x7d635c17d3ca5b1aL,
  39298. 0x986ac0a62119976aL,0x0d8a6e39f2538d36L,0x6a02af2f31849d5dL },
  39299. { 0xecb6ef8f6719d4deL,0x6dd71ab674ff8880L,0x0d40ec0e9d225d93L,
  39300. 0x304cd88adf381d24L,0x2d6787380c5571fbL,0x03c23f547c03af94L } },
  39301. /* 44 << 203 */
  39302. { { 0xa995a95bf46aace5L,0x44ede5379eaa630aL,0x421f3b3500336e3bL,
  39303. 0xbf897478cf47c9edL,0xf360ae32259e0827L,0x04e0e3e82e6a9f6bL },
  39304. { 0xb26eae5fa9136702L,0xd6cb15a1853674b4L,0xf81276e2748bcbc9L,
  39305. 0x7fc02e220a4ca1d7L,0xf650f48ecd82f330L,0xf4ea7c1dabaa8859L } },
  39306. /* 45 << 203 */
  39307. { { 0xe9f090b935caae35L,0xe04dff188dcf1e6bL,0x81b7de5eb8032e04L,
  39308. 0xba0d0b4e4b1e8070L,0xaa82dc8ad1a2aeb3L,0x5855ed1ded26f229L },
  39309. { 0x8bce967ed1955233L,0xe6ed07f356ac7532L,0x4227c7fdbf0eff2dL,
  39310. 0xb1f4785fa5e213e4L,0xeedad0733ac30f4bL,0x503619889cf1e686L } },
  39311. /* 46 << 203 */
  39312. { { 0xeb252116ba5da79eL,0x51cc937edb691345L,0x1d5fec14077458c1L,
  39313. 0xaa304f7ba0808e6fL,0x4bed89f5abec4c09L,0xc67293cbd1a3b798L },
  39314. { 0x0905f7d342122672L,0x83675b2da0d3a277L,0x7f422b7024bf5bcaL,
  39315. 0xe2144c6910495acfL,0xdac1c357a6a6ab5eL,0xd1a3b951c8b1d472L } },
  39316. /* 47 << 203 */
  39317. { { 0x0821017d60c0c248L,0xa17ce97a8540bdc8L,0xe0576ea986e6f45eL,
  39318. 0x1453268bf152c6eeL,0x1ea1937138edbed5L,0x970ad9c002343c23L },
  39319. { 0x3a08a859af8a97afL,0x20caf7cab570d738L,0x6d82d863e2a89455L,
  39320. 0x30eb8d0724c76844L,0xb31d58c8d32b79f1L,0xe5df7cb9fe63e93cL } },
  39321. /* 48 << 203 */
  39322. { { 0x1ccd44ff95c746ecL,0xe18914b510405763L,0x50ed644321a3a927L,
  39323. 0x4f96a1b143ef8e8fL,0x7f5645e577952bf8L,0x4bc5c7ab66dbdf15L },
  39324. { 0xacc1612623930a08L,0xbf5ed482504cf9b6L,0xdeb7a798d71ecbd7L,
  39325. 0xf62e63b14a4dd859L,0x668809a7daf714d9L,0xdd836382f3a4329eL } },
  39326. /* 49 << 203 */
  39327. { { 0xac0ef2cf383e038bL,0x848e3c1f91135098L,0x19e5a3ee3f15b241L,
  39328. 0x2d01f1a2dbea2ad2L,0x44ec32a799cb0bdfL,0x3e66fed4eab4d856L },
  39329. { 0x3162a75af45c8656L,0x53ab74245a37ca4fL,0x1b81f1dc360bb395L,
  39330. 0xa7eb222e2b8a5267L,0x163bb0c804b0bcaaL,0x1cac5bc0ef5c417dL } },
  39331. /* 50 << 203 */
  39332. { { 0xb95e2d85e81d9e43L,0x8a92acdd1418f6d8L,0x5429140110ee43d7L,
  39333. 0x32a2933c625838dfL,0x801d57dd3d485868L,0x33bba67258af765dL },
  39334. { 0x545fe2583f520eecL,0x900ed51a32d71974L,0xf21fefe6df3ed77cL,
  39335. 0x2f0df28c9deb2d81L,0x90898dd780856fb7L,0xeba82159bbba4771L } },
  39336. /* 51 << 203 */
  39337. { { 0x83ecc8f374df3780L,0x432e9807d3a89728L,0x3461c5297b5cb6e0L,
  39338. 0xee307c19030c25cbL,0xd72b60c7391ee616L,0x0c07bf462e9b4384L },
  39339. { 0x9d791b0bd44acd49L,0xf3b3411c9f3b33caL,0x1bf55cb97f9b455fL,
  39340. 0x77e01607600f0a91L,0xdab95bf26bb7e977L,0x30d0f591fe4633e5L } },
  39341. /* 52 << 203 */
  39342. { { 0x894bdbd9c48f3ad5L,0x687ff8de09e167f6L,0xf06104a930371c43L,
  39343. 0x82fd34b7ce84dd10L,0xae122deb66ce5abdL,0x31f041d2fc4a90b2L },
  39344. { 0x2589535c9a01c607L,0x231bcc85695bd7abL,0xc67c306262e3a31dL,
  39345. 0x31be44757af3e186L,0x1a2077a388efa7f1L,0xffe53e22815fad1aL } },
  39346. /* 53 << 203 */
  39347. { { 0x4ce41f69a3ee310bL,0x38fb07d09bf311ddL,0x5fd284d660985bd4L,
  39348. 0x2fe99a19e04d3dffL,0x21a352520b3ad853L,0xb0808a89012aa69cL },
  39349. { 0x98219cf718c7c301L,0x429e08fc91254db8L,0xface2e53c41d54d0L,
  39350. 0x180651242decb2d7L,0xa9f65e3f26a9191cL,0x1dadd3deed42831cL } },
  39351. /* 54 << 203 */
  39352. { { 0x81ce91dd6327460aL,0x4cc880a0e2f22af0L,0x81aa9bb46a6d36f3L,
  39353. 0x8ad516741dd10657L,0x212267854253b30aL,0x530d1f6a8f161dd6L },
  39354. { 0xe7eeb4c7e9ab63aeL,0x84f225bfb72d250eL,0xc81cb984458a8dc7L,
  39355. 0x39fbbe3bda68c1afL,0x8c6c99b3083cafd9L,0x4700ba37eb07d40bL } },
  39356. /* 55 << 203 */
  39357. { { 0x8980dd7cd8dcc7b4L,0x0179e9bc7ad18f8dL,0xa9e4fa6a08c60f0aL,
  39358. 0x4f0d76fa3cc7dd36L,0x53339e4c51a0e67eL,0x1acdaf24cebd80cbL },
  39359. { 0x5aaebffcb5264b96L,0x3ebebb22858df87aL,0xb2f4c1cb092a95a1L,
  39360. 0x34932d51841b1a63L,0xe0631aab49074a2fL,0x71525c4fe3b7fd61L } },
  39361. /* 56 << 203 */
  39362. { { 0xdd15591366229776L,0x84093730f7882064L,0x6dddcb14e50ee337L,
  39363. 0xa8e6ec597a1f7e81L,0x8467f998f3738a6aL,0x70fcc6bcad3f1840L },
  39364. { 0xf82eb4be723b3f4bL,0xf0f3935406beec1bL,0x1b181ea37ddcb539L,
  39365. 0x9c82c4faad6a81b9L,0xcc5ea5435c612c2bL,0x63ce7571bb258d6fL } },
  39366. /* 57 << 203 */
  39367. { { 0xc6c110ecd3b9416aL,0x254403ea024f63e5L,0x92d2965b68aa4a66L,
  39368. 0xa08bfaafbaed92aaL,0xe2194cd701ad3eb4L,0x7ba66e1da7552847L },
  39369. { 0xf68c90ee44eb9bbbL,0xabe38c5c5f6438daL,0xe16d4aa68c38a6a1L,
  39370. 0xc2f8691bf6294db4L,0x9248492fba64da6fL,0x850c6a6865a3d6b7L } },
  39371. /* 58 << 203 */
  39372. { { 0xa794308d2599a1f7L,0x06bbefce3e72b328L,0x24f2c6f5420f6ae1L,
  39373. 0xedf67defaae894c0L,0xf66396eb2e8e9821L,0x21fbf5f7a701c8ceL },
  39374. { 0x7fbb192401732f26L,0x3d0063a944f57696L,0xd6bcb1c3513dd8f7L,
  39375. 0x1fbb11b2c9f8c033L,0x122f94b17b57b3eaL,0x08edce19d24626c0L } },
  39376. /* 59 << 203 */
  39377. { { 0x06aa75398c3a1e9cL,0x3512ec3c1a08c7caL,0xfad0dddac5a92e6aL,
  39378. 0xa98059ee3b9022fdL,0xd67b6723103fbda5L,0xc1df32904762c170L },
  39379. { 0xfd99ee58c734f81dL,0xa8de2a4b478b8a4fL,0x9e3ed58fb4b557c6L,
  39380. 0x14d353c571abd10cL,0x10ea798fe3fd4475L,0x157e16f97627f4d5L } },
  39381. /* 60 << 203 */
  39382. { { 0x1b5888550b96547fL,0x4539c9c065d1a59dL,0xd6c95fea26e15084L,
  39383. 0xf84ad9e286b96242L,0x92f57d6d451a5486L,0x0215cfcb06a9e87eL },
  39384. { 0xe05b10eaf66e46f3L,0xe7b0e72f655a0642L,0x035032677b117f43L,
  39385. 0xf5b78105779ea4a1L,0x28ee00faa4adac77L,0x1ea67d716a93a2b1L } },
  39386. /* 61 << 203 */
  39387. { { 0x4b68a01cd6b3387eL,0xc79582a9e7c4c99aL,0xa4ad6429029fc3bcL,
  39388. 0xf260ad946b83c7adL,0x81360618b09c3b8eL,0xf66e00ccc661ba2bL },
  39389. { 0xd064537de29a69e7L,0xe2764d389bb4095bL,0xa3f57eb0f2efdea7L,
  39390. 0x72c214f27ed3ac00L,0xf8cfa59de392e32bL,0xa5d995124ad99928L } },
  39391. /* 62 << 203 */
  39392. { { 0xd069a9971dec038dL,0x64401a3fd0b59bf0L,0x33eff74ce7ec5e85L,
  39393. 0xfef5a1c50d35b207L,0x731cfc17e766bc43L,0xf994c0d01328b6cbL },
  39394. { 0x4f2a5eaa2d3cc024L,0x7f83c57036a6fa14L,0x915a126d65f71dbdL,
  39395. 0x588fdd68acfb54ebL,0x7de9d37b7f57b2afL,0xca52d27170e071ebL } },
  39396. /* 63 << 203 */
  39397. { { 0x9b9211ada283322cL,0x30c6fa27b7124c9fL,0xda8f88a7474cbf5fL,
  39398. 0xc2414ee338203749L,0xe5c65cc26b767731L,0x8bdb52952753781cL },
  39399. { 0xc8fe770be051cd30L,0x6370ecc4f046aa97L,0x03c83c1cfa287e66L,
  39400. 0x935bd2052bccef4dL,0x87b2a49646012036L,0xbce6a91de3e6d6aeL } },
  39401. /* 64 << 203 */
  39402. { { 0x7be81fb126882c6cL,0xe2d5a251ecd25498L,0xbb3d40e27a8d1678L,
  39403. 0x1806c67ad520811eL,0xadd4bb6686f65d23L,0x3a62b1b3e20e23d7L },
  39404. { 0x208b47006548b3ebL,0x0497f09ab7ec2809L,0xbd3964f8121c37e2L,
  39405. 0xd35ef301a598efbbL,0xbd76a276c5eef966L,0x64700a7f0af64e46L } },
  39406. /* 0 << 210 */
  39407. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  39408. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  39409. /* 1 << 210 */
  39410. { { 0x169474a2d3812087L,0x9de300da6698ca7aL,0x8589de922ede425bL,
  39411. 0x50e03fea6df8a890L,0x0d8a5c1c4ba8b8e3L,0xf273aa673fffb91aL },
  39412. { 0x21cf054475fc8236L,0x6ceafacf9799c242L,0xc3237eaed0962c81L,
  39413. 0x43d6ac34213f6004L,0x45e619b2d4148b6bL,0xfafa18b5ea5fb80aL } },
  39414. /* 2 << 210 */
  39415. { { 0x9a8580aa2f063b51L,0xa83c8ff71c216613L,0xb4da0970be07f781L,
  39416. 0x0ac2a260712f7b7cL,0xc9b8ee84436a7b97L,0xd758c20d11fb2f62L },
  39417. { 0x5daabed9f170b799L,0x018d2fddc46bc387L,0x82d6b5b7d96cfb8eL,
  39418. 0x4d7d0d9344d9e843L,0xfa2a9ea991e7da3cL,0x8230c1a3d531b253L } },
  39419. /* 3 << 210 */
  39420. { { 0x82412f525ec31754L,0x42f462c89d32e890L,0x1e7b58cece897ff2L,
  39421. 0xcfef785241164628L,0x34ee0422d8bb22efL,0x6e0d44ac7d32f01bL },
  39422. { 0x968251655a3cc196L,0xa26724dc99eb23d3L,0xdb575fafa75f7252L,
  39423. 0x778e333062a3e5b1L,0x8689884e84cccc80L,0x9883cd19b645502dL } },
  39424. /* 4 << 210 */
  39425. { { 0x4cc41f2834220e26L,0xb5937c6da49749c4L,0x705366640fa1ca24L,
  39426. 0xeeb40f3b91e5edafL,0xcdf98235f1d3de14L,0xa65e5b7eff018c43L },
  39427. { 0xaa3228e7acee3a6eL,0xb63a6289e08f4ff1L,0x90e90425650b2daaL,
  39428. 0xe4a8cad26d875f17L,0xc212029c9ce8a46eL,0xce0512835ed7cfb5L } },
  39429. /* 5 << 210 */
  39430. { { 0xb0df226159b79436L,0x82bd0dafa195be26L,0xbc99a94b3398c317L,
  39431. 0xbeb44c903c96ee31L,0x3c39ad81664d2e46L,0x081787520a3e0585L },
  39432. { 0x9a054b6b413e269aL,0xbe58891d98c3b62eL,0xe7fa4c4de5734974L,
  39433. 0x8ac535f4d0a846a8L,0xea0f95f1a651339cL,0xa255274fd96aa239L } },
  39434. /* 6 << 210 */
  39435. { { 0xe23b7b229534047eL,0xbd70aea83a3bd625L,0xf44b05fe238db60bL,
  39436. 0x9c46fb140293abcfL,0x12cab5d3bfd8875bL,0x1f38d4aa12dd0c65L },
  39437. { 0x4bed41572adf9805L,0x3f87da928a56609dL,0x10b93363da02c903L,
  39438. 0x7ecc726621ce4786L,0x8ae366851e3da5bfL,0x196040ffd3edee12L } },
  39439. /* 7 << 210 */
  39440. { { 0x4805841fe81508e8L,0xe2a578d3a4808642L,0x6bbf10accd0b2555L,
  39441. 0xc5071effaf5cde28L,0x665e75439a7124a9L,0x157c11edc1437981L },
  39442. { 0x2019367d7aeddd8bL,0x74a1e104386e3b8aL,0xe72d429bfbe09a42L,
  39443. 0xaca96fd9061b862eL,0xbb2d2bc8122595f8L,0xc90c6503c509d644L } },
  39444. /* 8 << 210 */
  39445. { { 0xadb5966fcff05adaL,0x8ed26c025c57284eL,0xa76e73e244693a95L,
  39446. 0x14da74355982bbd3L,0x46e982cd5d2ca132L,0x8f39074024938e76L },
  39447. { 0x749206b30a89b09aL,0x429653c793b4a1e5L,0xbee3d1567025bb7cL,
  39448. 0xe23f0e1e19555c9eL,0x0dec3837751639baL,0xb36cb84405d43bd0L } },
  39449. /* 9 << 210 */
  39450. { { 0xae76a96e74f90b6eL,0x5fa8e94824c6789cL,0x2b3584bb03abbb81L,
  39451. 0xe19ce47c5c451f72L,0x35792fbad619ac7aL,0xfa0282a250059bf4L },
  39452. { 0x562bfd14dabe692fL,0x1aaf542c47eeb6c2L,0x392d5bba045d0360L,
  39453. 0x4e7bb31bd80fe998L,0x08f62ef31111e14dL,0x4de917b04e9ee1b8L } },
  39454. /* 10 << 210 */
  39455. { { 0x8b9d2d5867166271L,0x658db4ea142bab7cL,0xdf84932fa4ad2849L,
  39456. 0x04b113355f6f86a7L,0x2de6b29c50cfcea7L,0x46d8f68a9be6a3a3L },
  39457. { 0xfb88cda7af0204afL,0x3ece449126029d72L,0x69fef1e23f946dfdL,
  39458. 0x708532fb01ef7bb5L,0x78d5053deb3795a2L,0x819a63206b36d57bL } },
  39459. /* 11 << 210 */
  39460. { { 0xca07e0c1e509d19eL,0x6c7e42c39f6281b1L,0x0e2ff43977b66728L,
  39461. 0x1d740e7880e76251L,0x6bfae4c631a0eb23L,0xd78ca917aa9b0b3bL },
  39462. { 0xe140c662991e1781L,0x6e396b5f0dd3cfeeL,0xf0a1d1976ce7f6c7L,
  39463. 0xbe10f8efd5b01564L,0x865cbd54101a5194L,0xf665885266861dedL } },
  39464. /* 12 << 210 */
  39465. { { 0xe4e52e865b28f7daL,0xeb43a6809a58683fL,0x73b951bfb49f2b38L,
  39466. 0x7b6cb7db3f8097cfL,0x9dfb8d0b328fbf05L,0x491635a5ebce6211L },
  39467. { 0xa31a152390fdd577L,0x334120df1cd2f39cL,0x1d22834e6b563876L,
  39468. 0xfd91b30d10ee5a28L,0x3d7a282d59aee4eaL,0x36814c6b73300a76L } },
  39469. /* 13 << 210 */
  39470. { { 0x7b584add6621c251L,0x98da669d4233aba3L,0x4d652b7933aa2065L,
  39471. 0x901bcfb8df7b4ed4L,0xb2ce587948012f81L,0xc18e2cd63cb71b88L },
  39472. { 0xadb0f2bdff86279dL,0x46d9e5d65bd15866L,0x11b1fb3ec635a4c0L,
  39473. 0x8bcd0ad201b1006aL,0x0f6f7502cbab210bL,0xd6cc3e560d6b3995L } },
  39474. /* 14 << 210 */
  39475. { { 0xa54a6420137264c5L,0xa6ef0e78f9c2e45eL,0xba8b5a73d58d850cL,
  39476. 0xc0209ed86ef6fc3eL,0xe39dd0f391f7518aL,0x74697b8942b3eda6L },
  39477. { 0x2dccac36abfc9150L,0x80e4fba298b2f5a5L,0xe0e56fd2771018d5L,
  39478. 0xa31fd1684c22bb94L,0x8b0998f71a66ef21L,0xed483e55b5a53ddbL } },
  39479. /* 15 << 210 */
  39480. { { 0x95db1c0ef23978ebL,0x80ad1612f04011f4L,0xe76bd1824d7ae83dL,
  39481. 0x841d6e668fc3bd60L,0xb68e80796875e2d0L,0xe3965efcd5d9dee7L },
  39482. { 0xc488bb7e58930931L,0x52f4de19a907aa24L,0x39aebbdd321cc197L,
  39483. 0xd2f5b1f967de5c66L,0x60f1a8c28efe3e76L,0xf40604a0af988831L } },
  39484. /* 16 << 210 */
  39485. { { 0x78b5c14c0acb5935L,0xd9ec715c4311d3beL,0xffa22ab209e1759eL,
  39486. 0x5a86263db4b2f68cL,0x71e77c516b5be7f4L,0xfb5bea3a19844f6dL },
  39487. { 0x2519d0060890ffabL,0x426a03f0f0329ef0L,0x2c6d74a685b3c2a9L,
  39488. 0x9306f68fc294f449L,0x552e77c22c69fb46L,0x7c7337ad10bb9886L } },
  39489. /* 17 << 210 */
  39490. { { 0x61f8a505d2b9f25bL,0x1d33aafe4c8645ffL,0x26f3fab7bcd333e5L,
  39491. 0x8ff4fc51be95e40fL,0x11cd52c6b55bdd5aL,0xf2b4782a22d43de8L },
  39492. { 0xfe66e399a4c0e1c4L,0x26c6d7fc17954032L,0x44c700f97f20d2caL,
  39493. 0xdf67c3927187cdc7L,0xe11a98f9da36414cL,0x0bc5763a04052276L } },
  39494. /* 18 << 210 */
  39495. { { 0xe75b564bcf95451bL,0xd5ed760cc01aac32L,0xccf14dc5980d2c06L,
  39496. 0x235b5034ce2a5c0cL,0x64dc86aa05fa6780L,0x1d2ea4877385590dL },
  39497. { 0xb18696f636c3174eL,0xf530487b608215b4L,0xa073d0750a123172L,
  39498. 0x8ca24b5afde8666aL,0xd6dd589a9b716dc1L,0xcab7ea504a721d4aL } },
  39499. /* 19 << 210 */
  39500. { { 0x34dee42c1592ebceL,0x5b0eba2e417636d3L,0xba178703a97d7356L,
  39501. 0x16f6119f4123e8cfL,0xd2906a53ef179fa6L,0xac5530606b7ed572L },
  39502. { 0x82a25857b600f5c8L,0xb1dc1309973d516aL,0x6d53a967245c6e34L,
  39503. 0x7ce90bf4f670b879L,0x727ad4129732b6ebL,0xf00fb0054411dfd5L } },
  39504. /* 20 << 210 */
  39505. { { 0xeba7daad2b14da6fL,0x8274d1a8cee90515L,0x985c18f885bdbc82L,
  39506. 0x86555ff094d43909L,0xb0b1b2b6539e108bL,0xa4f32c66c0bf1313L },
  39507. { 0xbd4777c162080e0bL,0x73039da8dadfb23dL,0x85bc57374a27f1ddL,
  39508. 0x9a8ae24eeaaa58abL,0x161cb2f5e876fac2L,0x54d457e46636e377L } },
  39509. /* 21 << 210 */
  39510. { { 0x409b17487bece8c3L,0xee36a1d3b49f5c90L,0x8ed9eb2a619ecefcL,
  39511. 0xc50a917798ab7bb1L,0x1eb247cceee2ccffL,0x07a9566f084a0f69L },
  39512. { 0x59bda805a7cbee61L,0xf588124ca4e7ecd7L,0x0f7d8c3dde5eed54L,
  39513. 0xd98894ddefcb791fL,0x2fd80439ab309d7dL,0x0c8bf15d3e6cf756L } },
  39514. /* 22 << 210 */
  39515. { { 0x076a19c70e68a69dL,0x4d01c94b24b3854fL,0x9f38c5eeea8a85b8L,
  39516. 0xea80422d9a56f9c3L,0x10d9ceec9ad36735L,0x42194df742261173L },
  39517. { 0xc7332e70c285d22dL,0xf3a3d4be592ff9b0L,0x2fe712f7f59846abL,
  39518. 0xd6de5201e4362677L,0x16ce8f1d4f30006bL,0x1f3c324d11dba5edL } },
  39519. /* 23 << 210 */
  39520. { { 0xa5af9e1c0cb4335cL,0x00a46bc0f3d0dbe5L,0x852a18c99d734817L,
  39521. 0xc12d54a9986c0102L,0x184b407063ffe60dL,0xe05182437d99d723L },
  39522. { 0x8d3886cb20ef7647L,0x7e9c618017b1ce8fL,0x194baf260f176141L,
  39523. 0x978015d3b4694945L,0x2603be2f1c135e8eL,0xbc0f5e72ba074e0aL } },
  39524. /* 24 << 210 */
  39525. { { 0x1674b959cfe7bcebL,0x62e1279fe7b66a28L,0x3962a32dc67c3648L,
  39526. 0x4949617368d720a6L,0x4e81df85a957a5b2L,0x28b5c45753123c0fL },
  39527. { 0x5091dd347e239c67L,0x10b9c3f6160ef925L,0x5e7720f52c119dbeL,
  39528. 0xd584ae76c94d609aL,0x476c63ba86dccd1fL,0x70103a1a32508c6eL } },
  39529. /* 25 << 210 */
  39530. { { 0x64f4f4ee90a17a16L,0x31165bee7cb22fb7L,0x31da800b924825b0L,
  39531. 0xc2c169db0551e47cL,0xf9ca5e0e0d583789L,0x5e4fbdb53cd42f2cL },
  39532. { 0x6ade1fce1d81000bL,0xa105df391d6603e5L,0xd659094da3139f95L,
  39533. 0x363a882851d01444L,0x13cd7cbb2dece086L,0xaeea2aa96ab9020aL } },
  39534. /* 26 << 210 */
  39535. { { 0xdcb31a931081405fL,0x200090dcf1326ecbL,0x773fe49cde99f0ddL,
  39536. 0xf6a7cb67fac2c511L,0x95c93429b40b014dL,0x967708d4198dd723L },
  39537. { 0x74591cc184b90062L,0x2539ef20691d2550L,0x7d7290765a5d86c7L,
  39538. 0xa81f085475c6fdacL,0x103186d1c0f0d5cfL,0x5ae582e07eb3b8d9L } },
  39539. /* 27 << 210 */
  39540. { { 0x7df39eb2f9f3456cL,0x1e7ad4587be12020L,0xaee54df11fedfb79L,
  39541. 0x98f3a0879bf1dfe6L,0xdf958d371d13fb71L,0xa745249717dc809dL },
  39542. { 0x9f2ec9dd02d4eb90L,0x9db5686e48b0c7a0L,0x7d064cbf72532eb0L,
  39543. 0xe204d56593a71a9cL,0x0c912346f1aecdecL,0x894224a3d25d243dL } },
  39544. /* 28 << 210 */
  39545. { { 0x6bbf77cb5a508291L,0x2af81442d35db82cL,0x357feb1a2b9febf8L,
  39546. 0x74240a81a25330ceL,0x7a9ab575b4917998L,0xa60288d5eda3ef5cL },
  39547. { 0x360410d30aea9569L,0xef66acb5b9bf8c16L,0x7baeb466cc381b57L,
  39548. 0x024a98b8247a4904L,0x6e70b4c3e3c58130L,0x276e2420ae8a56d2L } },
  39549. /* 29 << 210 */
  39550. { { 0x3b4a25222c57f1f3L,0xf43d352ba8d1f53bL,0x169fb3cce198b03cL,
  39551. 0x92172ca923235a6eL,0x90b5953683f996e5L,0x32b1a34cb5ab11a0L },
  39552. { 0xb944e4b7b9001351L,0x1084de3d28ab5cb2L,0x60f1dc93c70ec63dL,
  39553. 0x790e1d496cfa10f9L,0x79bcc2277c3cd865L,0x95007ac24fd31fd0L } },
  39554. /* 30 << 210 */
  39555. { { 0x6b5d8db5f75e17b5L,0xc5ab42961b45a230L,0x586f097b7486832aL,
  39556. 0x1ec456c14f289757L,0xd11773bb57b04a20L,0xc84dfacd0821d3dfL },
  39557. { 0x580da8cd586e399cL,0x58c1355ae3bbec57L,0x0a476934d594a2e5L,
  39558. 0x0490ffd537e99427L,0xd41348386a4d8c4eL,0xd62cccb3c83d6e28L } },
  39559. /* 31 << 210 */
  39560. { { 0xe6071a3d57c9e219L,0x88728c47a93f38dbL,0x0426848b50eb1a01L,
  39561. 0x9df36972cada9a09L,0xf2ad4a2d4f494ec4L,0xae26577de1f34993L },
  39562. { 0x72ec08cde3618d7aL,0xd1fb89013ea90c46L,0x915936173b94f996L,
  39563. 0x8703357705387745L,0xf1961ff818fd5199L,0x7f0b58d34c2aeed1L } },
  39564. /* 32 << 210 */
  39565. { { 0x3313a9d544b133d9L,0xdb85c25d2da910ddL,0xc0fdef915e4dd5cdL,
  39566. 0x902a2a93c565dd67L,0xd8eba4dc7fed05acL,0xd453995ce157dae9L },
  39567. { 0xd655d0b3f250cb55L,0x4194a09e86119222L,0x5b7e525a0652872bL,
  39568. 0xaf7968efe68c0ddbL,0x2ec02930f51cb31cL,0x237f3ae4f2be071eL } },
  39569. /* 33 << 210 */
  39570. { { 0x696d84910dc943a1L,0x1f24fd7d9fe1d7d5L,0xea38c9e349413ad7L,
  39571. 0xe223996607c1cecaL,0x62094496ea7bd8dcL,0x9aba5bc7236dd525L },
  39572. { 0xa138ed5851631b6fL,0xed724f20902f109aL,0x3ab594cccb28f1e8L,
  39573. 0x3424213b5916dae7L,0x07e5a6df18479651L,0x4c51f2e1c5b48e29L } },
  39574. /* 34 << 210 */
  39575. { { 0x6306564b6591a811L,0x734b2619fd463a13L,0xa795d0569d8019d8L,
  39576. 0x103d85004ffe5858L,0xe1962c31adab8484L,0x326b3351b2015dccL },
  39577. { 0x2ad52b852ff36c73L,0x5874652308682fcaL,0xf544e162ea37824eL,
  39578. 0xd4a6b45ec208ce7cL,0x52d09045d2559ef2L,0xde1dfbbe57ebca65L } },
  39579. /* 35 << 210 */
  39580. { { 0x3a94aec3bb793f9aL,0xd0af44d4b5352511L,0x1d3f1c130b8930cdL,
  39581. 0x016cab225a729e0cL,0x092a7c11e31b549aL,0x80c462ed90ebfea4L },
  39582. { 0x3dcb9606e5e4ae09L,0xad150903ab59a450L,0x1b58210c6c944727L,
  39583. 0x26599f6024572a80L,0xfce0ad40c0445075L,0xedca1ada54c4037dL } },
  39584. /* 36 << 210 */
  39585. { { 0x794593303801b021L,0xb19bb405c9a4cde4L,0xe20091667f9cdee9L,
  39586. 0x762c684f7636d30eL,0xbf2b29f20c215831L,0x4c0d1b651853fe90L },
  39587. { 0x196ccb3157defc94L,0x9f3d66b7f6b9cc44L,0xb2328a0eea439deeL,
  39588. 0x82b3808d7b140e5bL,0x986210dd88e4a35cL,0x9b171fc838a2b7a7L } },
  39589. /* 37 << 210 */
  39590. { { 0xdc80e3ae91517233L,0xa219f65dc6f20d29L,0xd348a3d8be093f56L,
  39591. 0x63c233774d33113bL,0x587fd56257f2ce9bL,0x82cf3e3a4e9061c0L },
  39592. { 0x0e41f59bee8dd928L,0x7a5641be8aaef52dL,0xa852a171984ff476L,
  39593. 0x3c37fd1c047457b6L,0x7f00d665972d4793L,0x29dab0fd97b27966L } },
  39594. /* 38 << 210 */
  39595. { { 0xb1d119c91e9d07c0L,0x2f973a09432c86afL,0x3505b6f05ded5546L,
  39596. 0x21814b958687f973L,0xc104d7fad3794ae9L,0x81614d707ea91311L },
  39597. { 0xb7f3e6b600677961L,0x53fceb8bc0e6a90dL,0xa3a7485699ed4fb6L,
  39598. 0x07ad488421d4807bL,0x527b1ae6004e0c03L,0x437f306215146393L } },
  39599. /* 39 << 210 */
  39600. { { 0x917b4cf463e12603L,0x79e0b7363f838ecdL,0x57de4b3328b4f37eL,
  39601. 0x3085e4887f58fcfaL,0xb9301c4e958a3bc6L,0xef8d10578b044eddL },
  39602. { 0x2123d284d6391459L,0xdfcc2be5e196d765L,0xb58216268184b993L,
  39603. 0x13e21d03937c6048L,0x39eb3d38460d11fdL,0xf8ef123e5bb23c30L } },
  39604. /* 40 << 210 */
  39605. { { 0xa6f8b354666eb2f0L,0x7fbf6d91f9c7b16eL,0x9b360814161b5e0bL,
  39606. 0x13726fbd921511a4L,0x37aa1b8013833a11L,0x53f01183407b9889L },
  39607. { 0x8a83ea3fd147da9fL,0x25279241db0ad0b1L,0x78353bccd1a8d9aeL,
  39608. 0x1e33c10e271f7f0eL,0x136d9e7e9e67adc5L,0x11dcef95cc56ff8dL } },
  39609. /* 41 << 210 */
  39610. { { 0xae530580d84ba919L,0xac2e43ceb6d3ecd5L,0xf97b1afda4bc6a2dL,
  39611. 0x180d66d5bdfa96a0L,0x935b8a7d1ca12bf5L,0x1d4409a79e678225L },
  39612. { 0xdd85bf4b19a2163cL,0xe34197bcddeeb22bL,0x1e33fc3e1210cde9L,
  39613. 0xc96212a98b9b5d0aL,0xa3ae81f303e4a12bL,0x531a7148ea262807L } },
  39614. /* 42 << 210 */
  39615. { { 0xf11ac5fd4ace8006L,0x898a388133c499a5L,0xcf27ab9f1d3368ffL,
  39616. 0xfb6019606cbd6e54L,0x5373c2a901fb58b6L,0x1489f5037cd1b888L },
  39617. { 0xb3f0e0b85a238131L,0xd0e11e6e670858bdL,0x897f1584b65768f8L,
  39618. 0x9252aa72013b1f2dL,0x185842af0a1a5f8bL,0x49a978373d681a70L } },
  39619. /* 43 << 210 */
  39620. { { 0x8b65c6d23396eaf3L,0x2191764e50b9392fL,0x7a2363b72dcf6d0aL,
  39621. 0xa6a52402f0591553L,0xfaba81cd5ff7a071L,0xd6be926ae43e37aeL },
  39622. { 0x7b34c578ccaacef2L,0x2bc5d248d5eec9b1L,0x9447aab3014c0048L,
  39623. 0x767309a3c02d54d0L,0x408c6eee1f92297dL,0xf7ad95f40072a2d4L } },
  39624. /* 44 << 210 */
  39625. { { 0xd0051ab940ee5098L,0x4861b2461d8311deL,0x6b7796e0f31e860fL,
  39626. 0xde8b243acfd543e3L,0xef9d0957a0161843L,0x70fd43ecefefcbaeL },
  39627. { 0xd47392541931a5a6L,0x42e253300342623aL,0x90b33edd52ffbf5fL,
  39628. 0x0affda4ca015a550L,0x8716376b77e59672L,0x39d84b33fc0e9448L } },
  39629. /* 45 << 210 */
  39630. { { 0x71b55e7ea0415173L,0x5d0b5e01b10f3cd5L,0x0c35a1b63e3f9d84L,
  39631. 0x3c68cb5db794ba37L,0xa73356f0dfd6c999L,0xc59ed0650e5e221aL },
  39632. { 0xc59443a90cd7d577L,0xa354296e283015a8L,0x202aee3ba7477107L,
  39633. 0x59f361392ee80330L,0xc52bdfaae875a886L,0x8ca39d9d07637e97L } },
  39634. /* 46 << 210 */
  39635. { { 0x95be10b8f3a1611dL,0x6db370f0d1f992c1L,0xb964029de8124b40L,
  39636. 0x618b26aadfc90473L,0xac65c9916f6d5553L,0x10d5b0f0a0a6fde8L },
  39637. { 0x4bff23122d164911L,0x876db39d1f7293b1L,0xa2d3cd549de47789L,
  39638. 0xd8ca4f6eabc9a28eL,0x0bb3145fca7b5467L,0x4dce66338b37bf62L } },
  39639. /* 47 << 210 */
  39640. { { 0xcdd8ec4dec1b8d36L,0xf76258d888003e0cL,0x35a114e7262723f9L,
  39641. 0x12933142abb34bcaL,0xf55b84514c188a3bL,0xa0cfdb2c0ada78b6L },
  39642. { 0xaf0b62f6ed36781cL,0x0c619486ea7e1ca1L,0x11fae38689162fc3L,
  39643. 0xe9bd7ae694828e92L,0x081c3acda84cedb9L,0xb34ceca8787a67e0L } },
  39644. /* 48 << 210 */
  39645. { { 0xd1b2af2f2bca651bL,0x2211e4f97404bc78L,0x787b1cc8fc5068f2L,
  39646. 0x73d6da299fcbb3f5L,0x6867fb7707d2142fL,0x36f277ae116ad6bdL },
  39647. { 0x81c86073a7534943L,0x67188488c4033c7aL,0x13a8415ccc568123L,
  39648. 0xbc01db07f3f475deL,0x90b8af2e3aaeee1aL,0x320c4880175fa55bL } },
  39649. /* 49 << 210 */
  39650. { { 0x263afd7d2fcafc9aL,0x9b0c30ebcc9405d6L,0x713fdd27d6720896L,
  39651. 0xb07f8ec5f7df4a02L,0x05d62e5147ddd4e1L,0x6278227b8ae3b80aL },
  39652. { 0x2ef5c81b0d4ab658L,0xe6ad5925016a434bL,0x6c0e30a2b85d8037L,
  39653. 0x254830037a9cd869L,0x78da543b2cc48c8aL,0x3a65b54e3edca4dbL } },
  39654. /* 50 << 210 */
  39655. { { 0xaf2a06c3d54b0072L,0x81621ebfaf0310c5L,0x6bd1fe41a8a7a9ecL,
  39656. 0x942cf6ba03e74289L,0x2a25f0f59f9822e8L,0x16654b13062edd3eL },
  39657. { 0x2345a0b19de373cdL,0x425a59f80c0744acL,0xc6738fe96f0d620aL,
  39658. 0xaa479ef8ed67c1a9L,0x52540af87765b194L,0x17a3bd3bf2b96455L } },
  39659. /* 51 << 210 */
  39660. { { 0x5b1a1f075f01e608L,0x3c696f4e87b821c5L,0x4358a5243129700fL,
  39661. 0xfc9816a14be9d001L,0x905de48166744b96L,0x2ca5f8d8eeda3945L },
  39662. { 0xb30eeb1aad207f4eL,0xbd113b2dbc66e6f7L,0x1b6c5c6cebaef81dL,
  39663. 0x6b3863998bfaf32bL,0x5f9f2a2432a83dffL,0xe8cc190e26ea39d1L } },
  39664. /* 52 << 210 */
  39665. { { 0x51e05f7d450535fbL,0xa5f5181effbe389fL,0xdf178fffaa2d5514L,
  39666. 0x89358810e51da035L,0x206e324f664d399cL,0xc148ae74c4477d4eL },
  39667. { 0xe0c8d4377d6f38d5L,0x327aad6d8c8133e9L,0xa685a889d21cac4dL,
  39668. 0x1217c68d0ceb5770L,0xa4a09612d21f1d50L,0xab64b4dd889676afL } },
  39669. /* 53 << 210 */
  39670. { { 0xf263062aee202007L,0x95e90bbda2359019L,0x57740eb39f34e691L,
  39671. 0xa5f4fd0f355bef37L,0x484b97fb439f091dL,0x642776fe53ac871dL },
  39672. { 0x5c8f9b1e494e0eddL,0xbc62c971ae25a6d7L,0x01981994a7d90290L,
  39673. 0x3cec43524602cdc1L,0x4bd29f5a14403ae2L,0xafaef08b921328d2L } },
  39674. /* 54 << 210 */
  39675. { { 0xd33e754a53ef149dL,0x82243def548034e6L,0x99c29a9b23ea2dcfL,
  39676. 0x724e4b5d214848afL,0xe43d4438dcf85b9aL,0xaf7241ea9d7b20dfL },
  39677. { 0x60a10c30069edb1bL,0x1aaddd5e9874f484L,0xfc784ac073085538L,
  39678. 0xc998afe54d69703aL,0xb71f6fd7bf52139fL,0x28f994c46a45b089L } },
  39679. /* 55 << 210 */
  39680. { { 0x85084ec2eebd9e0bL,0x73e489c6cb9f1929L,0x91e47fd7ebe10e55L,
  39681. 0xeed6a3a1486a2704L,0xf63deae7e124d6e2L,0xca958204b48b3834L },
  39682. { 0xe69cb5bb13185b44L,0x56be0e05868d97d0L,0xc48cb1e50181e64dL,
  39683. 0xfaa012ddfc7827cdL,0xf535b1c83488352fL,0xd1cce04e9fbf42d4L } },
  39684. /* 56 << 210 */
  39685. { { 0xa54436b6ba3403ffL,0x1fe4b1ecdcbc4822L,0xb3b351004c6846e2L,
  39686. 0x360278048d1cac7cL,0x9eff87327e86d5d1L,0x7f435326ba21993aL },
  39687. { 0xb51a9da5adc24224L,0x111c19fcc8c14a71L,0x05aa2c86ab77e011L,
  39688. 0x81edc338ce72744dL,0x20fa8f528d882bc3L,0xc61c3e639d1696f3L } },
  39689. /* 57 << 210 */
  39690. { { 0xa66674ca0f41637cL,0xa01d08ac418487daL,0x2ce4258b6b593194L,
  39691. 0xd755220645024db4L,0xffb3366f626732ceL,0x802878f370ba2f1aL },
  39692. { 0x80a3f41659b77372L,0xfbb411631a04b19cL,0x7d575112a346d265L,
  39693. 0x6c30421ffff87d4fL,0x1b62b93fdcb05f02L,0x98ba4397b72649e3L } },
  39694. /* 58 << 210 */
  39695. { { 0xcca45c1d135a7eb5L,0x2623e629b048126bL,0xada7326e926980f0L,
  39696. 0x64f334c276bf796eL,0xf0751596b4a562a8L,0x0baa14486f9d0079L },
  39697. { 0x6c394aa32205ea70L,0x635b9d2d556172e9L,0xf418fe0cfd37b53bL,
  39698. 0xcf5fe2ac56b9791cL,0x9d855e67911c68ddL,0x9e40f75f734b57d8L } },
  39699. /* 59 << 210 */
  39700. { { 0x32c42482b5b8f846L,0xdefec599b61cc3cfL,0x4c3460996506a9b5L,
  39701. 0x0d9475a0263a6142L,0x1753cd92c80a6713L,0xc015412f420cf67eL },
  39702. { 0x1c33f01b6a88d12bL,0xa49f038ef522f7d0L,0x232343decd25f260L,
  39703. 0x479bc742d6a833c3L,0x2f2ab294cee07b83L,0x02e69a143dec38b3L } },
  39704. /* 60 << 210 */
  39705. { { 0xbf7fea3aee1fee16L,0x31fb342ce0cde85bL,0x9a232ea51575924bL,
  39706. 0xc3132e6cbcc4cf26L,0xbc5b7a7102499a58L,0x3064a3b904d99836L },
  39707. { 0x6f17475ff8b3bad1L,0xaeeb90c429271790L,0x7f442a13f8eca53dL,
  39708. 0x6d641eea08882274L,0x8dff43bf88ffaebaL,0xaa92827f5840b198L } },
  39709. /* 61 << 210 */
  39710. { { 0xf5ce3fca26d803acL,0x6927ddd9d4e1b6b5L,0xb509b5c609f48bc0L,
  39711. 0x2bc5d1749e35975aL,0xfba3024af570c98bL,0xeba15980aa27d6b0L },
  39712. { 0x95abc07290abd2daL,0xd0e30e99232035cfL,0x3dc4e1bcd3f0ecb1L,
  39713. 0xa5a8c6e556de9d17L,0x878c7403ab73bd18L,0x5cce39260c474b0aL } },
  39714. /* 62 << 210 */
  39715. { { 0x86a3f001e93b6ee6L,0xa28984474fb3203aL,0xbca0d71e9b3550adL,
  39716. 0xc225759d0396d796L,0x208b9a02cbd949d8L,0x15b21ec9a550d2ddL },
  39717. { 0x64aaed6a2a7dcffaL,0xb8cc7575ed5b6b47L,0x2b4a3aff022dbce3L,
  39718. 0xe85d690b86f51861L,0xe26a6c3d578f4d5fL,0x706d770a70e7ae76L } },
  39719. /* 63 << 210 */
  39720. { { 0x822467eb579c91a6L,0xe98a471531599272L,0x7baf0e9f1078d497L,
  39721. 0xd13f270e25fe439cL,0xae9d58adc0d95395L,0xc3beb60827693037L },
  39722. { 0x4d9c4cf397f797e5L,0x4e26167db26d2e9dL,0x06092d5e86a167efL,
  39723. 0x9827a21128dceb29L,0x30423344552a55ccL,0xae07b37f3fa437afL } },
  39724. /* 64 << 210 */
  39725. { { 0x9b23ab4e94d0864fL,0x46356266009c9fc1L,0xdbe99e51e798edf9L,
  39726. 0x38547449307675c7L,0x23ffaf55628c0fb6L,0x56ccd2a31698c372L },
  39727. { 0x39f45a578347ce95L,0xe0aaec744f2c6118L,0x2a89079e4af138fcL,
  39728. 0xb86371ea2ee4ecc0L,0x076d256a06bbf92fL,0x9073adb8ae3c4c51L } },
  39729. /* 0 << 217 */
  39730. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  39731. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  39732. /* 1 << 217 */
  39733. { { 0xba2e9543743c15d9L,0x7d5812db1c99c984L,0xf94db95145bdc19eL,
  39734. 0x951d00ae382e77bdL,0x9940a5fbb220b29aL,0x6908d50e58fc91f1L },
  39735. { 0x682e42eadd0940feL,0x2124e23aa1d32009L,0xbe15810016294d05L,
  39736. 0xaea13fe32e326d68L,0xc0dfe1ef15e64fceL,0x32dbc0b5b8237a8aL } },
  39737. /* 2 << 217 */
  39738. { { 0x6ee65a08c36d3f25L,0x7b6c811fe393e4d4L,0xc4a2cc382876e523L,
  39739. 0xab7aba26d3bf53aaL,0x5bf00871db7f290cL,0x3cb1cd131ee6d5bdL },
  39740. { 0x4cafb218de998adaL,0xa1ecf36af6319101L,0xa1fe785520b281ccL,
  39741. 0xe457198e64d9c65eL,0xa3d1a6d0c5a0e67bL,0x69ddbc3290cc468aL } },
  39742. /* 3 << 217 */
  39743. { { 0xd4ee3f7f6dadc46fL,0xa1f3dc925d7febd6L,0x4c0bee1363ebab5bL,
  39744. 0x70e32d77005ec237L,0x302fc73dc52fb006L,0x1af84c0a8f159899L },
  39745. { 0x42a5478f0686232aL,0xb4fc56348a308687L,0x042c4970c8378f0dL,
  39746. 0x70c195758e2c86c5L,0x61a95e6884c7c767L,0xd96a8216d6fb43a8L } },
  39747. /* 4 << 217 */
  39748. { { 0x0c62fd2d543c1255L,0x71ea9c6fef361a27L,0x76b0933dcef3f9e3L,
  39749. 0x51b1ec2d9889ffa2L,0x9e84b2ba9a3c88d2L,0xc8996b961913e52fL },
  39750. { 0xbafc5e94cee43e36L,0xd9898d2470c658b7L,0x4e9bcc41bed17108L,
  39751. 0x0db5b7336c7a41c8L,0xd4be07a7795369cdL,0xb899f92f7bd3a934L } },
  39752. /* 5 << 217 */
  39753. { { 0x1fffcbc010e15fafL,0x8447bdb8910245acL,0x857d521e86476901L,
  39754. 0xcd1d5f87369ccfe9L,0x560b3277b3f1dbf1L,0x4ac02a1a47ea4266L },
  39755. { 0x29ac98b6a8a929eeL,0x020ec6db5e5e70c0L,0xb0be38ba21291be6L,
  39756. 0xcbe9d362bdba40deL,0xc585450571535a89L,0xc21839de3d7a3235L } },
  39757. /* 6 << 217 */
  39758. { { 0x831541b39805497aL,0x2ceb5ac879c414cbL,0x86601fa616d2eb82L,
  39759. 0x373d19079338ce8eL,0x98151a90c1f5c87aL,0x966ebde6048a538cL },
  39760. { 0x5c4a8c5ae180ff7cL,0x6d9065dff996d994L,0x4e0dd86e2460ab91L,
  39761. 0xfbe8b3ff309a8f5eL,0x33d7cb35856f7218L,0x62b2200a1ac59f2aL } },
  39762. /* 7 << 217 */
  39763. { { 0xb36ad750a460e53fL,0x727006d60df0f7b0L,0x6ca3ac348ee96a11L,
  39764. 0xb04f6ae930e75d1bL,0x9957738a3a24e9eeL,0xc0117a7d16521e18L },
  39765. { 0x79fcea8872ad7e27L,0xcbe2c2d37281e3b5L,0x31915f1cc391fc60L,
  39766. 0x1c1c0082a13a92e1L,0x362663cc7ddca7acL,0x8021aad689689d35L } },
  39767. /* 8 << 217 */
  39768. { { 0x3f2eff53de1e4e55L,0x6b749943e4d3ecc4L,0xaf10b18a0dde190dL,
  39769. 0xf491b98da26b0409L,0x66080782a2b1d944L,0x59277dc697e8c541L },
  39770. { 0xfdbfc5f6006f18aaL,0x435d165bfadd8be1L,0x8e5d263857645ef4L,
  39771. 0x31bcfda6a0258363L,0xf5330ab8d35d2503L,0xb71369f0c7cab285L } },
  39772. /* 9 << 217 */
  39773. { { 0xc19db6f05890e1cbL,0xc21587edfcac8d05L,0xa9e88798d86730edL,
  39774. 0xee3e6ee2c27441cfL,0xadb2c63ea23af57fL,0xb524b7da29ff5977L },
  39775. { 0xab1ed847d3e4739dL,0x6592a0131cbfb581L,0x1f519c6ea1798195L,
  39776. 0xfe837a814c324a4dL,0x74fec4a85c813abcL,0x7b3b5351dce539b0L } },
  39777. /* 10 << 217 */
  39778. { { 0xb886a0c50c99e321L,0x4063d19576e924e9L,0xc03cca041a659dcbL,
  39779. 0x1e01abbc1bd3dab0L,0x9d7cf04fe9141cd8L,0x5f87dfa73ef58d85L },
  39780. { 0xa579e76388d764b8L,0x381dec6a74b9e5b3L,0x354221f99a4c9a67L,
  39781. 0x8c2556d33f529346L,0xced3642bb4349eb7L,0x1527cec7fef5c92cL } },
  39782. /* 11 << 217 */
  39783. { { 0xf2e42ef7785ecd51L,0xca3438cf33d9c0d2L,0xeef9ec08c1c097f3L,
  39784. 0x9e438fa746682aa7L,0x53d0144531a7eefbL,0x04431241e6998a0bL },
  39785. { 0x2c1bb2bd55bc7febL,0xed99e7afb44d4943L,0x7f37bc4a3c77d21eL,
  39786. 0x866c0978398e3997L,0xed7462305bde12b8L,0x24796f7c7194fd1fL } },
  39787. /* 12 << 217 */
  39788. { { 0x7e4450cd5e83d570L,0x0113cab242b394e7L,0xdf4062a08ee24413L,
  39789. 0xf8a0fd4931227510L,0x06b798f4b80f0d23L,0x33f17673b72bffa8L },
  39790. { 0x4638602b5de9f490L,0xbe3a65834d905654L,0x446e0afaf406772cL,
  39791. 0xef68dfd7b4ec908aL,0xa6be004966ab5ebfL,0x56049360ff376531L } },
  39792. /* 13 << 217 */
  39793. { { 0xb47202b760b6ce82L,0x8129c1befe05e9faL,0xcb70cbdde861de07L,
  39794. 0xcf35fbc5af16b6d9L,0x60071beec9916116L,0x3aaa496ed057e63cL },
  39795. { 0x1cb0bb12c356f065L,0x12dccccef4de0d26L,0xe3f59cf67ccc0d48L,
  39796. 0xd66f10b3d9569e26L,0x95f4d7e79d1853ccL,0x10313dfdbf651d5aL } },
  39797. /* 14 << 217 */
  39798. { { 0x779b55062a3d9774L,0x3785db08e0554291L,0x9b3a4eb8546c69dcL,
  39799. 0xfe36824dd22d8fc8L,0x037d9ac9471132a1L,0xc895e332a01e1c28L },
  39800. { 0xe535ede71b5e2845L,0xdc90cd7c568743deL,0x3292b40b4691d367L,
  39801. 0x911fad21b4f16a4bL,0xb3c5f0eb455d018dL,0x2eb2def669033748L } },
  39802. /* 15 << 217 */
  39803. { { 0xfd1297a4307aa8fbL,0x021f242177952146L,0x17cc2d6f0ba72feeL,
  39804. 0xa265095d01a3a733L,0x2e12c2e7a07d5f8bL,0x27bb60341202224cL },
  39805. { 0xb58b3fab8185dc12L,0x83467b977700f166L,0x98242e227ff9e1ccL,
  39806. 0x96b2a4d9f4b28f1dL,0x64113c3865ed82eaL,0x7dc9ab732ee160e8L } },
  39807. /* 16 << 217 */
  39808. { { 0xf16938f514c5969bL,0xde2e3cf0944b2271L,0x2d5095530b6490d6L,
  39809. 0x8432fef1a28a296aL,0x6f254dd08d26415cL,0x3780eeadd50c2865L },
  39810. { 0x4f5bc455665b8794L,0xef31fb9e56cb7018L,0xbab8dd6e65e59340L,
  39811. 0x676baca2a56dc2eaL,0x38eea06beaa90e05L,0x26e64224174bada0L } },
  39812. /* 17 << 217 */
  39813. { { 0x309e9fbe109cdb79L,0xc2ed3566977d0e4eL,0x2891f30be6b944aeL,
  39814. 0x514bd4cf5022e070L,0xae9a22a98726a661L,0x1114a0c8c1916b06L },
  39815. { 0xe1b4f8339795adecL,0xcc0f3824ed4dbf8cL,0x432c93c878096a66L,
  39816. 0xb9450e9da7d2ad83L,0x294b0c192c1e35ebL,0x791427038be5a953L } },
  39817. /* 18 << 217 */
  39818. { { 0x4d215132881faf35L,0x52171a5ceec736a8L,0x4788813e1ba561d5L,
  39819. 0x9ca022a7d35e399cL,0xbfcaab926c4b8d7eL,0xde62b2c007c7ec40L },
  39820. { 0x7b46c2d96bb54e10L,0x2ce02e5a7d31e85aL,0xb757b699cd776c12L,
  39821. 0x08f122552c81b71bL,0xaca91e058aa6b02aL,0x35cf7bd37209279dL } },
  39822. /* 19 << 217 */
  39823. { { 0x24b5bc7086a04b9aL,0xd4d4c640612e0fbcL,0xb19ea7fcf732589aL,
  39824. 0xa18b6f4081fc63cbL,0xddd7211d84d88fe2L,0x7e8db6f72963130cL },
  39825. { 0x8772908c500c491fL,0xa3bf747783fd8a41L,0xca54d0d34e3e9fe9L,
  39826. 0x9969471866b030d5L,0xc2f5fb98b1fd6736L,0x58d5a851d103fa45L } },
  39827. /* 20 << 217 */
  39828. { { 0xe4c16fcda97a5decL,0xcc4333092f1dd4b8L,0x8cac9da985d334dcL,
  39829. 0xb4deff204cda5a0cL,0x59eea4c9be70b1b9L,0x161e73a2ec5b7b58L },
  39830. { 0x584c5e098b7fb4a6L,0x697fb795a3f7dd08L,0xc9e15f754bd4ba2cL,
  39831. 0x66d04f47c83df783L,0x0c03c2452efedf63L,0xa76a08c94a87dbb4L } },
  39832. /* 21 << 217 */
  39833. { { 0xde4e18c2da669a50L,0x0629350a480fb520L,0x84b3e68b7cac0748L,
  39834. 0xab718a12da3e1e9eL,0x3f5c5489cc26aed3L,0x81c6b6d42a57ab3bL },
  39835. { 0xc4ded8ce15d23825L,0x2d753e6a20c6eb43L,0xbaa120ec555f3a83L,
  39836. 0xc72f9d3877e93abaL,0x4ce297d0373317cfL,0xf42b3e954845bc1fL } },
  39837. /* 22 << 217 */
  39838. { { 0xbf162c19d7480e46L,0xa7f45ea76403bf0fL,0x250e936c6c51cef8L,
  39839. 0x97ba086f1cd24b64L,0x271a22364cfb2889L,0x2685c98804dc4b48L },
  39840. { 0x843bb75ac877f6a1L,0xe10cd5c799d5c7bcL,0xbe65eea1db60606aL,
  39841. 0x9019a9a7a10d0d74L,0x5614c0b987c62e5eL,0xaab2308d38240d05L } },
  39842. /* 23 << 217 */
  39843. { { 0xc908c6929a772e03L,0x73441df703928ce9L,0x36141b5bcf111c12L,
  39844. 0xf6b9e2f16c7c3e5dL,0x1f245a77722c5b57L,0x07e3f364635f65e0L },
  39845. { 0x1aab7abf272597d8L,0x03954428d4fe8e71L,0x7dd58036ecae1b5cL,
  39846. 0x9b97c2f28c85b0f0L,0x68ed3dc6ace011e9L,0x8e4ab5ca1744a774L } },
  39847. /* 24 << 217 */
  39848. { { 0xe6a19dcc40acc5a8L,0x1c3a1ff1dbc6dbf8L,0xb4d89b9fc6455613L,
  39849. 0x6cb0fe44a7390d0eL,0xade197a459ea135aL,0xda6aa86520680982L },
  39850. { 0x03db9be95a442c1bL,0x221a2d732bfb93f2L,0x44dee8d4753c196cL,
  39851. 0x59adcc700b7c6ff5L,0xc6260ec24ca1b142L,0x4c3cb5c646cbd4f2L } },
  39852. /* 25 << 217 */
  39853. { { 0x37daf7fd5a96d915L,0x1bba82e6d16a1332L,0x7558b642ce1135d0L,
  39854. 0xc9fcd6ce3abc5915L,0xc3762a20b93ad4d3L,0xef0cdb45e4e74f82L },
  39855. { 0x809b91dcd26fbab6L,0x1264f72ea9b53697L,0x264699ffd7c827f1L,
  39856. 0x16d4f094d8c4976fL,0x244c90cd997df2caL,0x58eb3b1c76f77b3cL } },
  39857. /* 26 << 217 */
  39858. { { 0xb99e2dde1ed04268L,0x94247d202497b83fL,0x0c6c21d1fb833507L,
  39859. 0xa01e682fafab9c39L,0x4938108f4d84c3d5L,0x70b68c75347652d1L },
  39860. { 0x458e814740e17747L,0xca752a14c3f8bb03L,0xaa537b4d8598d044L,
  39861. 0xeec3febb7ff102e0L,0x10ef3cad247fe4baL,0xe4de5b1b5673ac39L } },
  39862. /* 27 << 217 */
  39863. { { 0xbca2931378d0bb1aL,0xfcc237068e5c3fe4L,0x0f9d6b11dd0d67a3L,
  39864. 0x9aec22faae14bbd8L,0x75f8d86e5bda7184L,0x6bcad95759aeb4c1L },
  39865. { 0xbb1224a5990a9309L,0x00edc04ef7193f45L,0x870c1647c17cbff7L,
  39866. 0x9855513c65031caeL,0xe5a2e2ded852b607L,0x540a4141e5671e25L } },
  39867. /* 28 << 217 */
  39868. { { 0xfb0e2f2e4d5efff4L,0xbf3b96e73a143fd6L,0xa18a037f18579946L,
  39869. 0xae02fd4ce48c8a51L,0x1cb139288745c177L,0x4991594a28c47832L },
  39870. { 0xdce3b1d2fd51c1a2L,0x4e707213314cb09dL,0x5312de95ee323449L,
  39871. 0x4925c4e789389866L,0x2438fd9e28ca17acL,0x58fd2aad872dc0acL } },
  39872. /* 29 << 217 */
  39873. { { 0x75bcf0ef54ddedaeL,0x3cc75fc6f9077493L,0xc91b78df60f6b874L,
  39874. 0x7687a1d0622634c1L,0x57fdef4f82cabf32L,0x544819218e2671e5L },
  39875. { 0x526cbb27a3c37afbL,0xe0db88340d1aec76L,0xa034badb73cdef1cL,
  39876. 0x165cdfad6281f26bL,0x5c90d4d1ce24a71aL,0xc404af1125f297a7L } },
  39877. /* 30 << 217 */
  39878. { { 0x6b21a0ea2fd5df44L,0x2da8dc6cb36e5b1dL,0xa683e08ac3688655L,
  39879. 0xfc5fbad3454bf878L,0x9d2fb9f12f73b749L,0x4612cf42f920b37dL },
  39880. { 0x23da6b697035794dL,0x2763828adff7c198L,0xd320660522dd7eedL,
  39881. 0x6829994cd1316e68L,0xd732bc8f62831ed9L,0x69c6972c9303d789L } },
  39882. /* 31 << 217 */
  39883. { { 0xf5901854b0dcc28aL,0x81c92c1fcd18e579L,0x91a412ebc4b8e1cdL,
  39884. 0x35f00725891d6ab8L,0x10d6bad8ad7aa63dL,0x8cda809d09df2b47L },
  39885. { 0xe856cfbfa489c233L,0x7ea921addf1ecf5aL,0x884cc717fd724c37L,
  39886. 0xe278f2457377136bL,0x240b142d9f3dc9ecL,0x80a384961139a645L } },
  39887. /* 32 << 217 */
  39888. { { 0xa35e411c2cb40964L,0xdd7d4f4cc331a3d6L,0x7c7c859e89a66f2bL,
  39889. 0x9908c37e0def8ecdL,0x8274124e344947b7L,0x0d279f7b568b0ce8L },
  39890. { 0xe5291961866091ecL,0xb056e3bf3a08acc7L,0x60fb39e156bd3a7dL,
  39891. 0xe56a34d6268f8562L,0xb3a1fe1613fd8293L,0x6a41e1a967537fcbL } },
  39892. /* 33 << 217 */
  39893. { { 0x95c2bbfe021fc932L,0xc7e3399db2af7e0cL,0x1224bf06122670f7L,
  39894. 0xc9e4513ffcc1fe85L,0x8c82371ddb50fa7eL,0x017c5498bb76e4b5L },
  39895. { 0x5467926c7fa89f61L,0xa4a65606f3a1204cL,0x22133acfa64b2e59L,
  39896. 0xab7896bce1247662L,0x75d35fb661780c9eL,0x99199644a91b33faL } },
  39897. /* 34 << 217 */
  39898. { { 0xf799c4638471104eL,0x43c122dd8b91c351L,0x9db6498616dc06f7L,
  39899. 0xf7e534410ebcf250L,0xa702c0f18373f9bbL,0x6ed8d39a1024e14eL },
  39900. { 0x92913e436cabd9c4L,0xba906ef40dde6283L,0x06835e914a3972d8L,
  39901. 0xfbba3c7dfd99c4feL,0xf843e6f1b950909aL,0x7ec9866df5160b4eL } },
  39902. /* 35 << 217 */
  39903. { { 0x68f75bab06722bd4L,0xdeca718813066eeeL,0x4d658fa11152b8c6L,
  39904. 0xfae01e657257c9e2L,0x999445f923e4189cL,0x2cbe272cef6f0b1aL },
  39905. { 0x5f60d9d735fff303L,0x4ca7a54696235360L,0xf506201598758f1fL,
  39906. 0xba81e7ad1dbaecbfL,0xd326e063c687425dL,0x8c46fa4b193484c5L } },
  39907. /* 36 << 217 */
  39908. { { 0xa97149cf3c1f5f12L,0x17b04a3d143d72b6L,0x174195ff17449a22L,
  39909. 0x851803960b136adfL,0x8d87d21f9a7adb22L,0xf9c9fc85a8f46d49L },
  39910. { 0x7839f453a7ed1b7dL,0xe19d80ace9067ba5L,0xc387a6a0e41b8d6eL,
  39911. 0xd11611e1241d287aL,0x2561ed02636240beL,0x3bd8c57df0fba033L } },
  39912. /* 37 << 217 */
  39913. { { 0x7b5caacd3ea8ec1cL,0x221770e944624802L,0xafb1a4df5a32468aL,
  39914. 0xdec20eb62e295525L,0xe1cd4fb9e309c92dL,0x0331b9c0e7256005L },
  39915. { 0x987d4c55246f2fddL,0xa392d27367f70f8fL,0xccba11994e214e5fL,
  39916. 0x789f0e4c9943562cL,0xf502ec237235c86bL,0x67403523987746d6L } },
  39917. /* 38 << 217 */
  39918. { { 0xdd02ced216c97e7cL,0x578d6912dc3347baL,0x760260da2134e993L,
  39919. 0xf96643dff34fb26aL,0xec214b767ea3285dL,0x19b135d4117733d1L },
  39920. { 0x29a0e0636b037168L,0xb5df2bb95d1285eaL,0x5a2d3297796f0cc4L,
  39921. 0xfcee639f2090e0b9L,0xba11e8a4d93c091dL,0x5b6fc501492250e5L } },
  39922. /* 39 << 217 */
  39923. { { 0x6019d207263929d8L,0x9821d6e81f164aa2L,0x8f1b33f8d4924236L,
  39924. 0x389e482fb72de1b1L,0x398785a862554c10L,0xed31cf8408469265L },
  39925. { 0xf9b99e158a09f334L,0x9ddfd4eba83df391L,0x28a5cdf4caa4f7d5L,
  39926. 0x32b9e3c68f68fd49L,0xbce64b93b6f52209L,0x72649c6fea7c4bdfL } },
  39927. /* 40 << 217 */
  39928. { { 0x8a15d6fea417111fL,0xfe4a16bd71d93fccL,0x7a7ee38c55bbe732L,
  39929. 0xeff146a51ff94a9dL,0xe572d13edd585ab5L,0xd879790e06491a5dL },
  39930. { 0x9c84e1c52a58cb2eL,0xd79d13746c938630L,0xdb12cd9b385f06c7L,
  39931. 0x0c93eb977a7759c3L,0xf1f5b0fe683bd706L,0x541e4f7285ec3d50L } },
  39932. /* 41 << 217 */
  39933. { { 0x73bc200cfdd5504eL,0x73322fbf3825b0c3L,0xbf8bf1edd35c24d2L,
  39934. 0x54eba9f52e2bc29eL,0x80ffb5fff3aa841bL,0xbc676f62cc188be9L },
  39935. { 0x2e2f79290383f0dcL,0x886c647e0d42059bL,0x673f0ea113eb7019L,
  39936. 0x630da63f3f9cd771L,0x2597592b3a0a42b2L,0xfd21fb21b83b8673L } },
  39937. /* 42 << 217 */
  39938. { { 0xd39ebb9fd2b34df5L,0x622bd0c3db873666L,0x546cc7f77b52738fL,
  39939. 0x0323cdd1c156c52eL,0x78b00818b5950f19L,0x8065a86a562bec17L },
  39940. { 0x0b42eb1427ca5a49L,0x1791eaf1a457ac04L,0x3a2c93a6b2631402L,
  39941. 0x28b9cd6fcacec5dcL,0x6a0a8826d4535a3dL,0xeb08a884a83fcdcbL } },
  39942. /* 43 << 217 */
  39943. { { 0x16bae8925a940b6dL,0xfec394c1789562f0L,0x54349605ea412ea1L,
  39944. 0xccd57783cd18e2cbL,0x394bea1a1c813e61L,0xf11c566ff249dd67L },
  39945. { 0x2cd679c112207f37L,0x7780918e83d16012L,0xe8bdbef4646c9987L,
  39946. 0x6e1882e5082dbbffL,0x811dd74777abe4acL,0x5bbbb740668380adL } },
  39947. /* 44 << 217 */
  39948. { { 0x0969263a7321c39dL,0xbd13b28bab7aefcaL,0x10e431f205377165L,
  39949. 0xbbb2a7d009442c57L,0xf935bc2d9cd156b7L,0x66c3d55e42406686L },
  39950. { 0x4c529b76d20bdc50L,0x112e0f004d1c9f24L,0x414f1c65ed38dbc3L,
  39951. 0x63ade49c4eea65caL,0xbefd8af5fab697e8L,0x727bd3b45cc3b209L } },
  39952. /* 45 << 217 */
  39953. { { 0xb89d450a957925f4L,0xcb39b69c6e1e60f3L,0x55396e61ae3fffa3L,
  39954. 0xe89d97962986fdceL,0x5521d6b787fcd037L,0x6c20b2b0ec718024L },
  39955. { 0xb1e0964bad6529c9L,0xe1bdaba3bc38493bL,0x6a9cf9d6f19b4690L,
  39956. 0xa2d035f7054466dcL,0x37df7fc07fa65c9fL,0x045b0b36106ef822L } },
  39957. /* 46 << 217 */
  39958. { { 0xe4fc833eda5c9577L,0x22afb5addfbbca7cL,0x215de02eb902e8d9L,
  39959. 0x215e4c900f1a6cb5L,0xf6d7e4a9d59e146cL,0xcd0c6c6e4912eb8cL },
  39960. { 0xe0616976eae22897L,0xe2279d9f5d809d19L,0x2da1b7b3e282b2e5L,
  39961. 0x19327068ebf058b7L,0x9b23df0f5934492eL,0xabeb464fb1752d68L } },
  39962. /* 47 << 217 */
  39963. { { 0x6e754efc00d03f9bL,0x64aed0bd38b94393L,0x9d084ba16df2f6dfL,
  39964. 0xfe383a56c6abe8f3L,0xd23c6ca2bc7bac13L,0xde8ef161e326b691L },
  39965. { 0xbb4e853342f96925L,0x1391974f6601dc73L,0x3a545ffb700480cdL,
  39966. 0x4d379c538884e214L,0x0fe40f66f713e900L,0xc7f202cbfff783ffL } },
  39967. /* 48 << 217 */
  39968. { { 0x89e48d8bc6bb5e5fL,0x0880ede01ea95a10L,0x60f033d7302c0daaL,
  39969. 0x15e4578a048eefe3L,0xfd6dec89b0a72244L,0x1f7cd75e309489cdL },
  39970. { 0x7cdcc2a0e9aba7fdL,0xd18dc5c7f28ba00fL,0xa6300a455812b55fL,
  39971. 0x8fa5c4152ca31d8cL,0x36aa3c234f3a5b5aL,0xd128739ec86cf4e0L } },
  39972. /* 49 << 217 */
  39973. { { 0x7ac4712f660598aaL,0xe3f00c28aaba6261L,0xb71ac42e1a9b639bL,
  39974. 0x19674c28f69958d0L,0x3983abfec4e5c60fL,0x67f4583a5de58f9fL },
  39975. { 0x83e0bbbaf7278c06L,0xd1883aaa19c5f96bL,0x8ec0f2848b3128afL,
  39976. 0xc88e07f49166e04cL,0xa515a9e44e3995c9L,0x0680a306b757ec2bL } },
  39977. /* 50 << 217 */
  39978. { { 0x5673b61e6d6f3aedL,0xcd1275e29524fd2dL,0xa8844f08cde12134L,
  39979. 0xeca3eb27b8366e0cL,0x5ce49d498bbe04b4L,0x0b7ab7a02882b056L },
  39980. { 0x12fddcb840fee142L,0x99b7920b2895df5fL,0x35dd8d5a5829bb19L,
  39981. 0x271c6a4c46ee8dfbL,0xae09ba7536b594e4L,0x45502d0e1ae12c22L } },
  39982. /* 51 << 217 */
  39983. { { 0xa9e1b19ad95e0110L,0x6a419f8b2383280dL,0x6c35e8e16eb602a6L,
  39984. 0x966e0f44d71beeeeL,0xfc5cbdc0c8915585L,0xdce1c36583133b89L },
  39985. { 0x3fbdd24289e6a35cL,0x8cd24d1760ff9dc3L,0xb9708c2729dd493fL,
  39986. 0xabbf39803cf807caL,0x62689ffe5410c80aL,0xf133928be8b31d13L } },
  39987. /* 52 << 217 */
  39988. { { 0x3645a1910d4bfc83L,0xa564ac85f2114b63L,0xf0647034cc6d9314L,
  39989. 0xb58e96d331d80285L,0x8b8222d9e269c964L,0xdee12adcd204b214L },
  39990. { 0x82d2bfbae1d0a6e6L,0x4fd69d2e9da964eaL,0x1605d9e3200b3ac0L,
  39991. 0x5ab2886266d133eeL,0x938411c9f72f5353L,0x9fcdcb3a7d40dee7L } },
  39992. /* 53 << 217 */
  39993. { { 0xd65c1d6c501eb835L,0x37374dd14a0e5861L,0xa13f1070505f1fdeL,
  39994. 0xedd76943d1351805L,0x0f9501953673091dL,0x0dec24e308aa62f2L },
  39995. { 0xec4962e7f50efefeL,0x0acccbdc9d227293L,0xc6c95d29d84fd828L,
  39996. 0xa4b214c540578ca4L,0x06963d3ba4d41991L,0xeb8c14c2fde0034cL } },
  39997. /* 54 << 217 */
  39998. { { 0x3d46a2317460e00fL,0xedce1c7dacce513cL,0x3d7b6f388cfdce74L,
  39999. 0x870082baacfa61deL,0xa86efef862ff847dL,0xc146218368c11d11L },
  40000. { 0xb296eede9d21be2aL,0x9dc54e9e761451cfL,0xed1bb1fd53107f7bL,
  40001. 0x41f9efdb676bfbe4L,0xcdf43b904feb9a1eL,0xe81fcb6409d98782L } },
  40002. /* 55 << 217 */
  40003. { { 0x00639fa8642789c3L,0xf8e893a03c101e43L,0xc55439302730e33bL,
  40004. 0xe2967d30460970e2L,0xb33f1976ceacc128L,0x9bb0f896235e8c4cL },
  40005. { 0x523f7bbb2fbbbc97L,0x127728a5dab215c1L,0x95dd23ca7ed6ab74L,
  40006. 0x69f1219feacf4ba8L,0x5ed12355e875dd6fL,0x7aa732dc95565bdeL } },
  40007. /* 56 << 217 */
  40008. { { 0x9a0e153581833608L,0x5cce871e6e2833acL,0xc17059eafb29777cL,
  40009. 0x7e40e5fae354cafdL,0x9cf594054d07c371L,0x64ce36b2a71c3945L },
  40010. { 0x69309e9656caf487L,0x3d719e9f1ae3454bL,0xf2164070e25823b6L,
  40011. 0xead851bd0bc27359L,0x3d21bfe8b0925094L,0xa783b1e934a97f4eL } },
  40012. /* 57 << 217 */
  40013. { { 0x0a700190a5e41f7bL,0x2173e68dae9045b6L,0x28e9ac53f1669974L,
  40014. 0xcb00ff99d4b9fd98L,0x09c7b907ebe90d1bL,0xbf401f20385744c1L },
  40015. { 0x0bb7ea7ae1292c18L,0x82aa43120b58f171L,0x5aa97bb2e3102d77L,
  40016. 0x1a71e7c570178b35L,0x9bbb9ade6ab76f59L,0x32da60c9dea7bcacL } },
  40017. /* 58 << 217 */
  40018. { { 0x3c3f113ab3726680L,0x27be1c406f5b5ab2L,0x5f51f684f6864a39L,
  40019. 0xfaf84229a60c4f39L,0xa788612d01df18c9L,0x65c9fd14951d5ea3L },
  40020. { 0x4b2153cdaeeaf44fL,0x6b9e977ba567781fL,0x4dbca3609dbf3e39L,
  40021. 0x1ad43ad4fc65d7ddL,0x70a7a5e13d8dcf0cL,0xc11b1f4688b91e4dL } },
  40022. /* 59 << 217 */
  40023. { { 0x1ef5695b0868ad28L,0x09c9c06c2e3a9176L,0x2f2c19672c358e86L,
  40024. 0x4ff1af54da22d7e7L,0x5ea6716840fa2270L,0xd164b6874d31a3e9L },
  40025. { 0xec036bb4345103d9L,0x6c6a130f26e17156L,0x2c491063d872b0d6L,
  40026. 0xa66be18c4123d04cL,0x8593de34a33fa919L,0x620d2970f025b880L } },
  40027. /* 60 << 217 */
  40028. { { 0xc194cc1664baf040L,0x8038f31fcc01f35cL,0xfcc82fa0ed2079c7L,
  40029. 0x1eb7571190d39b9cL,0xf1a89043c108e069L,0x10633334c020880fL },
  40030. { 0x492a494086e262f8L,0xaa0208173383f1a7L,0xfbb4e5ba6d99cc07L,
  40031. 0xd6ccdc5cbde40478L,0x9e0b9d5867ee92c7L,0x5204bab7653eb14bL } },
  40032. /* 61 << 217 */
  40033. { { 0x721f44f0ef90c9bcL,0x6ebbecd8d55e653bL,0x9af325df6ccc5d5dL,
  40034. 0x265f0f6d827bd1aaL,0xb82453213487ea4bL,0x1642be42af6ba8d0L },
  40035. { 0xb8c4168d4140e5f8L,0xdf5e32c13545d107L,0xf1301b9c2db68318L,
  40036. 0xb22e20472bf3c067L,0xf40af49ee56ba514L,0xf4090e795575f363L } },
  40037. /* 62 << 217 */
  40038. { { 0x980de58b1746f6bdL,0xa9e1f0089eb9511cL,0x8f53c6fd1bbdba34L,
  40039. 0xe6a867a6a1a41706L,0xd4cc48a5d2e48256L,0xd580559e05cb19d6L },
  40040. { 0xc8983311e6466ae0L,0xeab62080174df01dL,0x710ebd184a0441d1L,
  40041. 0x0af69d9a9f653d0eL,0xef3a2510d789c932L,0xb5959cb992fbd39aL } },
  40042. /* 63 << 217 */
  40043. { { 0xdbbdd5fdccb1cc9bL,0x660110b98a26d874L,0xfa80d8b60fb9ff2cL,
  40044. 0xfeb5cd6b95040da7L,0xb526ae0c7366cf25L,0xf49d85fce3566146L },
  40045. { 0x3b4107e699f505e5L,0x3c2d618f4302bbaeL,0xdaa09d150b199866L,
  40046. 0x3b65cb88c395abf5L,0xd2af1dedbd5ac4eaL,0x0586f5a5276533d1L } },
  40047. /* 64 << 217 */
  40048. { { 0xd927283013575004L,0x01a330d620b2275eL,0x58b9207f450db713L,
  40049. 0xae95338423e16d95L,0x4f10c6d4e60e349cL,0x541d03ecfeb122bcL },
  40050. { 0x22548cd22c648211L,0x5c2dc84cd01354f5L,0xa1c6f912b6167b3cL,
  40051. 0x6967bab27902d2baL,0xebbe0b0836de34baL,0x6985b33a4b79625eL } },
  40052. /* 0 << 224 */
  40053. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  40054. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  40055. /* 1 << 224 */
  40056. { { 0x9e857f33771560abL,0x4ae1ba22250f109dL,0xf8538d68ff4f6566L,
  40057. 0x35380f15ac339148L,0xfef0bfdd5ddfc12fL,0xf706c6bf1387d93eL },
  40058. { 0x618ce77d5357e131L,0xf0921744236478c4L,0x24eaf06e00dc0da5L,
  40059. 0x049113be07603cc7L,0x5cf489088f6963c7L,0xbe5eb9e6ede4a300L } },
  40060. /* 2 << 224 */
  40061. { { 0x77e486f85d066c15L,0x0c05b6c24ed5307dL,0x322b28ab7df36628L,
  40062. 0x2d14d1316704dcd6L,0xd359977af29a3567L,0xc29bb132ec96d3b6L },
  40063. { 0xfd6e400ae6bfa701L,0x03db99244c7e5101L,0x62d81c7d9b8533afL,
  40064. 0xefa638c28de66eb8L,0x7405a9d7e86784eeL,0xafaa74efa6c22223L } },
  40065. /* 3 << 224 */
  40066. { { 0x6909994f0572e536L,0x9d22f9157fed8954L,0x1505ca05884aaca9L,
  40067. 0xe4b6530996995a98L,0x30e00a5ed02c000eL,0xb9032350236e7b09L },
  40068. { 0xe696f09e14f6c7bfL,0x2126b6277dc18d06L,0xa9ada7b401e1e2a4L,
  40069. 0x9630acb69d2d025aL,0x9fab2c6ed84ffeb1L,0xc1d0db26ab7584f6L } },
  40070. /* 4 << 224 */
  40071. { { 0xf9b2dba4b9d36e91L,0x5fb4f6cefda9b2c4L,0x7692a4f33b8104eeL,
  40072. 0x5da885b0e4e1896eL,0xc2a30fec73d2aa36L,0x7d06e6af86f60bcaL },
  40073. { 0xbc8bf16d87287887L,0x6c3dd86a3d701becL,0x8e79e2f37e35610aL,
  40074. 0x981139f482f9d71cL,0xf8997ec424e62733L,0x330d989aa3518061L } },
  40075. /* 5 << 224 */
  40076. { { 0x6cf0e6ef9b7e3cc9L,0xb465be6b0320acbdL,0x02777783856111dcL,
  40077. 0x3a1d36f0c0e9f2b0L,0xfcf4f6365e7fe507L,0x36bf41827fa7c8f1L },
  40078. { 0x09a02de8b0f4ce56L,0xa0bbf65ca9cdb353L,0x7211a9654b7f4e35L,
  40079. 0xa6b2ba79805b58bdL,0x418302c20957860cL,0x3c17ec02f99f9d58L } },
  40080. /* 6 << 224 */
  40081. { { 0x4e6ef410ca89fbadL,0xe0fc53ba53933b78L,0xa4f03403fd41d143L,
  40082. 0x3a507177e0774c37L,0x078e8c568ec7484aL,0xfb73c6b6fbb3f66bL },
  40083. { 0x169c94753bfbdff6L,0x44d286060a232243L,0x3e8e968508303114L,
  40084. 0x7a9797b8fad0def2L,0x0ad14404efc1c8daL,0x6daae4e921ced721L } },
  40085. /* 7 << 224 */
  40086. { { 0xfde0d1b4cbfd18abL,0xa3c9917595850f83L,0x16d3ad79c9eb9de3L,
  40087. 0x2707ec8b0ffbcdacL,0xd7e6750fa220287cL,0xe51baf059c2e155aL },
  40088. { 0x3018c309871e10faL,0x074f08e3f23221c2L,0x1aa323aecf15a4afL,
  40089. 0xf085d69cc1b8cca0L,0x47a3eaccb143a969L,0x56a04522f3a98430L } },
  40090. /* 8 << 224 */
  40091. { { 0xc7e9ddef88dd2dc2L,0x2c21a99819a0c0b5L,0x6bc0746db239bb82L,
  40092. 0xc811a8eb28ea1341L,0x5f714ca71d1309b0L,0x79eabd20d4eb9b34L },
  40093. { 0xe0e5afdcdf0fb30fL,0x1b01a16d8c0814c6L,0x670e1e7b84334366L,
  40094. 0xc8c38f9a0eed1116L,0xf914fae2619bbd50L,0x1ed062cb51c1995aL } },
  40095. /* 9 << 224 */
  40096. { { 0xce64d065b711b4e9L,0x32760c2eefc4d25eL,0x9e5916caa6292c7bL,
  40097. 0xa90d40bff2a47deeL,0x90dc6681604933d2L,0x707270c60115cf42L },
  40098. { 0x55b601ff6fe583abL,0xdd2fe842a039dafeL,0x602d8de34c2d3357L,
  40099. 0x7cc979bca7ab9014L,0x4b8dcf7e60118797L,0x7f1f2a04cbfaad32L } },
  40100. /* 10 << 224 */
  40101. { { 0xd4e60e15cb583422L,0xc6b1ef90320f296fL,0x0714bad0d9bfc834L,
  40102. 0x5ee2ca8c9050e2c2L,0x074a8ca824f7cf1dL,0xb975024910df8516L },
  40103. { 0xecee8ab7c2636d2cL,0x308e5af13b4b7bbdL,0xfed4f27eee2ae021L,
  40104. 0x7cd4bb192065253bL,0x6b21a3f84de525b4L,0x0f10e7bdac27fddbL } },
  40105. /* 11 << 224 */
  40106. { { 0xb4f02d9dbb3bf37aL,0x69590395978aacc1L,0xdf99b1309c3def3fL,
  40107. 0x5c66391e12be0bceL,0x30ab382cb5eaf100L,0x9b84b2b4e0352249L },
  40108. { 0x0c22e4e1af14e85aL,0xc29d3c592286ea0cL,0x6c7f8b6a40758aebL,
  40109. 0x7a91adccde68fd0bL,0x4d8554fec8e8fd4aL,0x9fa863d5bb5621e5L } },
  40110. /* 12 << 224 */
  40111. { { 0xd5068487870e29cbL,0xf9420b85fc52d5cbL,0x50c3265a496d000dL,
  40112. 0xe605414a166bd6b4L,0x4de8d724c62b2a6cL,0x16af06f2a1a11048L },
  40113. { 0x5406bde945f43c4cL,0x5e15bf6c751ad18eL,0xa846e665b6a59587L,
  40114. 0xcdb28a7d1816ac55L,0x899b3551819b73f8L,0x2d46297bbc848d08L } },
  40115. /* 13 << 224 */
  40116. { { 0x76f5aedd44af60a1L,0xf7bd3b4651d1efd8L,0xdfbf3c6439a9721eL,
  40117. 0xf927fbf0ee9d2ab3L,0x628e9258c7e0779dL,0x062cb2fe4cf1dccfL },
  40118. { 0xb2ff57dde2278f00L,0x3f0e140a2d199ca3L,0xe7161304342c0a9cL,
  40119. 0xe7ca734f0bdbe131L,0x7d070270870057d8L,0xf6f1a65daaa55860L } },
  40120. /* 14 << 224 */
  40121. { { 0xdc4cc720299127beL,0x5b34e762faab8165L,0x2289b2f7b39c120dL,
  40122. 0x687a78d06e52b913L,0xd2a091dd2a3ea6a5L,0xc61eced638eab329L },
  40123. { 0x652231ea7887ff2bL,0x77a568750479db4eL,0x1ef471c8d43c5722L,
  40124. 0xf82bf436f3764c34L,0x962af4050445cafeL,0xed8b227f5ff47259L } },
  40125. /* 15 << 224 */
  40126. { { 0x30e045f4a73c3da0L,0x13d2527df36c6346L,0x3dffe56d3836fb9bL,
  40127. 0x9518276617c5d2bfL,0xa0ef38724dd0b240L,0xb45e19ebc39c675aL },
  40128. { 0x65202bc603e95445L,0x41e2f0d19a2ec9dcL,0x51c719cf2a0d762bL,
  40129. 0x3bfb9729ecc6b9f8L,0xda8271705a261640L,0x65c2bbbcaeee5f3fL } },
  40130. /* 16 << 224 */
  40131. { { 0xde849cd1d89594abL,0x00e2d2b10ec4fb3aL,0x3fbd9e3dabe92fbaL,
  40132. 0x785414d43324900aL,0xdaead1abde20904eL,0xb493e121aa5f1ba8L },
  40133. { 0xd60a4f2d6eaea0dcL,0x394746b56fca8596L,0x163dc78934efa243L,
  40134. 0x3067dccf216a8d8cL,0x116b6534a901617bL,0x8c4bd099bbabe51eL } },
  40135. /* 17 << 224 */
  40136. { { 0xbb9eb22a97ebad53L,0x791d4f90666f1428L,0xa3a896e06c5d5569L,
  40137. 0x322d566fdefbc26cL,0xaa581a083c039c26L,0x82d899be62790f0bL },
  40138. { 0xeff4bb9a43a0c2f7L,0x60515c10a01df2c4L,0xdd1455a849312160L,
  40139. 0xc8a15052c4292265L,0xdb2970f97f68d081L,0x29c825b892594c4dL } },
  40140. /* 18 << 224 */
  40141. { { 0xc8c2df45ac3a082cL,0xc353d074c8d4c40eL,0xb214f9c05a3c2de7L,
  40142. 0x504bc42cf86b0214L,0xc82df5cbd1922a58L,0x40887948a5bc3267L },
  40143. { 0x04bcd21788ba8bb2L,0xe21b3e7f046fd401L,0x8419c338616af5cfL,
  40144. 0x7f24760baedfce9dL,0xded8035bddbd519aL,0x1f1fb0d71693faabL } },
  40145. /* 19 << 224 */
  40146. { { 0x7a88376766117f71L,0x8d4e37815d261599L,0xc900e6dff770b193L,
  40147. 0xb7d1c06b12e9dda7L,0xa86d173a717cb0faL,0xa138b7ba51dfbeacL },
  40148. { 0xe84468c57360a27cL,0x4acf8b412e9b82a2L,0x85fa386cb121d6faL,
  40149. 0xc794d9f283e6169cL,0x7b4cd3fc8c9293acL,0x3096ad868d082719L } },
  40150. /* 20 << 224 */
  40151. { { 0xbb067b49d02ffcf6L,0x7cedf8f93e657299L,0xc3829961406bbfe3L,
  40152. 0xefe4b5aa37c12472L,0x7dc01cf9fec7dee8L,0x70a9db2389472f50L },
  40153. { 0x29c269f8b31bf737L,0xa26deac3ae3fa7dbL,0x0046e91233caca41L,
  40154. 0x3bf4bc8ab6e78b55L,0xca83bc6cd9eb5ef1L,0x73f25c62c0c5deffL } },
  40155. /* 21 << 224 */
  40156. { { 0x117bb83d3ff7d803L,0xe91098c539c56c0aL,0x7bf72fe91e347fa0L,
  40157. 0xa66201a31e174941L,0x1d069d4d6846a06bL,0x721cdbbdcda59bcfL },
  40158. { 0x17d6683a17652893L,0xee1b28f505be2530L,0x2e70558697a69062L,
  40159. 0xd4b5798682b56c36L,0x1ccc5be09082e781L,0x42e0e429d6b05e30L } },
  40160. /* 22 << 224 */
  40161. { { 0x697dc47d44b4aae8L,0xb3525cc0782c331cL,0xff71cca40bd7c78cL,
  40162. 0x5f3d776610c0ab69L,0xbdc10267e2ba07e3L,0xc656f75ce6373f6eL },
  40163. { 0x9e2938b4b5607b62L,0xa65017d410b0a0f7L,0x8dad31195cc6ac25L,
  40164. 0x00f8f2d18ba5d1e6L,0x608137bc43305aefL,0xddad34bbdcb81cb1L } },
  40165. /* 23 << 224 */
  40166. { { 0x9e46b17c20c78a64L,0x28db365d5c48e678L,0xbe4c3b8eac6ba470L,
  40167. 0xee737236b6617b28L,0x81c5b94a4f3422bcL,0x4d44c33076faa922L },
  40168. { 0xd7a09a719be38835L,0x99d024e1410b382dL,0x103b67c36b15012eL,
  40169. 0x02b6e094d9808da4L,0x4f5d938a0a7f2fcdL,0xa43058b7e4c5073bL } },
  40170. /* 24 << 224 */
  40171. { { 0xe133d941b1f82ca5L,0x2af8b98bfdf115bfL,0xdc6179c857aaa6f3L,
  40172. 0xabaa83e9130ade06L,0x7836b6fb0e8bffd1L,0xc479751ffa103703L },
  40173. { 0x0ff3c1299c89963bL,0xe64072560b84c24fL,0xa92a4ea2f34f6bc9L,
  40174. 0xba45b3053197989bL,0xd12b5a0199243aabL,0x3015772c442af625L } },
  40175. /* 25 << 224 */
  40176. { { 0x5362ac737e0a5c36L,0xc731132a8c4fbc07L,0x0ef7468d7ca0d4d0L,
  40177. 0xc43afef835d25de0L,0x096bde6a3fa1209bL,0x21f57eb566846236L },
  40178. { 0x878b585cf04d23d7L,0x737f7e527315ed56L,0xb716462c811afdd1L,
  40179. 0x4d223734a571a3cbL,0x56460e2fa7db2c60L,0x0684d72c61f97485L } },
  40180. /* 26 << 224 */
  40181. { { 0xd95fca81e6f065c5L,0x45e886d5fc8655deL,0x3580957727cff79eL,
  40182. 0x92a39a34625877d9L,0xdda02684dfee17eeL,0x6354f871986f635bL },
  40183. { 0xb3a6e9edd409c182L,0xf0b1c8d9c4fbbb3aL,0x28721c019b77adedL,
  40184. 0x3c356df1bf94f028L,0xff221bd229a81f1aL,0x20edf2e856b20b0dL } },
  40185. /* 27 << 224 */
  40186. { { 0xb8c636db31ac60c2L,0xf3830e72bd987402L,0xfe63957c30e6b969L,
  40187. 0x3508e67989eb2bc4L,0xc0837f8c9a987e3bL,0xd1d0ce7b3f9b2ef4L },
  40188. { 0x08d8f99441fe62baL,0xe73f79d7e17669d4L,0x8801fabaee6d68feL,
  40189. 0x4ef814891a508a88L,0xcc851bb71fbc4512L,0x69f728704680b88aL } },
  40190. /* 28 << 224 */
  40191. { { 0x97fff124835fda9eL,0xa79ceb2f0bc68512L,0x70ba93d1a2fc3995L,
  40192. 0x62bd28ab9e51c5eeL,0xb95fa624d5bbbaa9L,0x0654dc458c1f571eL },
  40193. { 0xb9a4edc665a45ed6L,0xbf5ed1bc21ad0612L,0x74adc1a1b1a3551bL,
  40194. 0x3dfa3dc8dbbd6cefL,0xce5dd40b2fa3afd2L,0x14894e0f30a746caL } },
  40195. /* 29 << 224 */
  40196. { { 0xe4544006ada9bf7dL,0x9e123b709b75770dL,0x903628d557cea95aL,
  40197. 0x6429e00c9e8cef6bL,0xafa2cce77b1adaa2L,0xf2f5771e15e488daL },
  40198. { 0xda44962269820874L,0x5b20ef1b6e0fef81L,0x3150a8699507b4faL,
  40199. 0x901897add191de20L,0xf459da31c41dbb2dL,0xc2516dd077146754L } },
  40200. /* 30 << 224 */
  40201. { { 0x7e729c58b8ca2a2cL,0x0f32ea1ecaac04afL,0x47267f13bdd549e3L,
  40202. 0x35b9440690be3b50L,0xad0f2bb14b27f670L,0xd7e5874e92341803L },
  40203. { 0x7dc841cf1f9ec462L,0xebeff994512b2a42L,0x22998a7f320dc858L,
  40204. 0xf08eb5c719946f59L,0x228c8dcda68ea75eL,0x40dc6dc37b20dee5L } },
  40205. /* 31 << 224 */
  40206. { { 0x23f40e331dd722adL,0x0a441bf4c54fc48fL,0xed6c026548b75f84L,
  40207. 0xc2d3972f3e0fff2bL,0x889b44c4db09b7d9L,0xeb6ccc6541a6a562L },
  40208. { 0x5ef1162e8f04e03aL,0x25e2ea895d8102c5L,0x37b71631154644d5L,
  40209. 0xa9a1a8320446b1bbL,0xe3f58daefb342b20L,0xc6d19decb6d292c3L } },
  40210. /* 32 << 224 */
  40211. { { 0x929454f6b3952db4L,0x412142ec4d3f69f5L,0xf5b0a7c5ee25c0b0L,
  40212. 0x7d3372ff2e752295L,0xd6dadc7d6eacac68L,0x5f0076cca96a8e3cL },
  40213. { 0xea831db671725b3aL,0x4a286c89c29ab454L,0x5ff817e572e3c00cL,
  40214. 0xb022e25d2a5fb6baL,0xb611c5bcbb392476L,0x062c14dc190485a0L } },
  40215. /* 33 << 224 */
  40216. { { 0x44730047ffdc9a7eL,0x44949bdcf078d5bbL,0x8c1a3e4bc486e2b1L,
  40217. 0x53088ba20801402cL,0x6e20a7cfeac83daeL,0x4407ea8436ec5443L },
  40218. { 0x564fb733853f79d8L,0x59ea819afe809670L,0x1ac62174f1ec7e91L,
  40219. 0x0d7e065566a0b8c9L,0x0c4d072482958221L,0x80db0297a60f984eL } },
  40220. /* 34 << 224 */
  40221. { { 0x380823e7f3359d47L,0x8a60fb05f5efd39cL,0x78a940669425487dL,
  40222. 0x1da6abc3f199c67cL,0x7df00b2165f0a6b1L,0xdc0dea58017b1231L },
  40223. { 0x9c529db079f4f22fL,0xc7043be3e5dd92b5L,0x10153ffb43661331L,
  40224. 0x51c459bf6ff02e8fL,0x451483bfa43aa005L,0x3313f903199cd1baL } },
  40225. /* 35 << 224 */
  40226. { { 0x2f66587e62e1ef1bL,0x942d4c739e3ae33fL,0x4a27ead5c0ab9c1eL,
  40227. 0x368d8dd89ca91b06L,0xb3f0cf92c4b6ed34L,0x28cc332673e62557L },
  40228. { 0x2649e5527910986bL,0x635dcf9cdda049abL,0xbbde12f625d3f201L,
  40229. 0x5200c3d0a9384443L,0xd996573d51eb3c10L,0xb093c1792b8cd7e5L } },
  40230. /* 36 << 224 */
  40231. { { 0x15cd1d1cc3fe6fa4L,0xf260a739e2c3c686L,0xf7c2270eb08c65dbL,
  40232. 0x9ada2cb6ff69d971L,0x65fbbcac212bff0cL,0x40157d075646a735L },
  40233. { 0x101d2b7d55de9e45L,0x0db580e83118b763L,0x3203baca8322a9cdL,
  40234. 0x2a3137ef22cac14dL,0xcc9092e291a14128L,0xbb269f6d98cc368fL } },
  40235. /* 37 << 224 */
  40236. { { 0x7c8946002ad7f66fL,0x6a8328bb99b438a7L,0x86d06fbbdb440d86L,
  40237. 0xb74ffe2d20ac5a42L,0xc3a6f01d91b1c82bL,0x606f8ce71d5efbddL },
  40238. { 0x8c49c43a6338c99fL,0x50657f7216da7cb7L,0x7f204c8b84f22d9bL,
  40239. 0xa2612d80ca76978dL,0x80080d868a3e8e96L,0xd8841a1ac0bff9afL } },
  40240. /* 38 << 224 */
  40241. { { 0xc2a734cb962fa060L,0x2baa26c580a17874L,0xe27b21110b44efe6L,
  40242. 0xdc1244e531d2154cL,0xfcd86d4116c7742bL,0xf45230df32503138L },
  40243. { 0x94a790f4812cf0afL,0x0ab2df23da3f24d7L,0x0c764df181571d54L,
  40244. 0x989ff71c68d68f74L,0x9896fe62cda535b3L,0xfe0502e05f4fa41bL } },
  40245. /* 39 << 224 */
  40246. { { 0xf1ffe852c2f58cf6L,0x2ec46d2546d64576L,0x95bfec93d602c51aL,
  40247. 0x349c58bf3907b766L,0x59cb12bb9b94bdfbL,0xfa95da9515dfcd87L },
  40248. { 0x731a8535e1543bfbL,0x14844aeeca14187cL,0x0d73e58aba1f4928L,
  40249. 0xbb71009fc6bb67f2L,0x5e7c0e988b4142b9L,0x4866b5095f08f58bL } },
  40250. /* 40 << 224 */
  40251. { { 0xc8295c2fa234de87L,0x1cd7f3fd878e77dbL,0x309c1fefa2155b6cL,
  40252. 0x2a9bcfd9484afddeL,0x87ef7a56cc999775L,0x34336cb1970aa188L },
  40253. { 0xd45eb83cc3e16ba1L,0xf9d72c72b9c1695bL,0xff117458cb980742L,
  40254. 0x438a7fcb67af836aL,0x5ffad086eb9a6c40L,0xdbd3e518513922a3L } },
  40255. /* 41 << 224 */
  40256. { { 0xde241983e42021b7L,0xaa70e834542873c1L,0x99c9d35f9daf2b99L,
  40257. 0x0bf712d549b40780L,0x202d9969d9ab6e97L,0x7f3382dac4932106L },
  40258. { 0x1eb5f5d40849e319L,0xc1bdd1179f659546L,0x628ddd3d2329f977L,
  40259. 0x5944611d363ee601L,0x7b7a631463d5bd4dL,0xaf6c51a5631d21ecL } },
  40260. /* 42 << 224 */
  40261. { { 0x2d8f9e1db4100182L,0xa08ae2fe4f3d2c03L,0x7548c430589e99f8L,
  40262. 0x0f5ccee2aede8af9L,0xa21ace3343b34b25L,0xb120c569dee102e6L },
  40263. { 0x1cb103ed36f13699L,0xf71ff0dfc91e8cb4L,0x88f141079b22460dL,
  40264. 0x050af75af509366aL,0xeec8a310fb179bc6L,0x069e7331c26efef6L } },
  40265. /* 43 << 224 */
  40266. { { 0x3e2a9c713be9cdabL,0x8f235d6f73ac08e6L,0x3de28a6b28832dabL,
  40267. 0x7d08b9f31ee82d6dL,0x67c3b88f915ddda9L,0xba8f18cc0f7c81a3L },
  40268. { 0x38cebc31ca3c0936L,0x745f71aa7816a6e3L,0x00cb85a91a95fcd3L,
  40269. 0xb92742c6577dc22cL,0x1afdaab592029cbeL,0x0bb43c91278d3f7cL } },
  40270. /* 44 << 224 */
  40271. { { 0x3d77059d3ba02d27L,0x58e28671440b2d3dL,0xe2d4235726636fbcL,
  40272. 0xcc448a52c54605d5L,0x73c2902efc0269a6L,0x28a15ed57ea8c26bL },
  40273. { 0xf666587a0cfc1a34L,0x8374f2cc1ae0377cL,0x5dca6ae828417437L,
  40274. 0x15a6d54c94bc87ffL,0x5bf187bbb344796cL,0xc629c14889574b2dL } },
  40275. /* 45 << 224 */
  40276. { { 0x06d43c6d87748b63L,0x2489a957a7f232edL,0x7aa9174afa407c3fL,
  40277. 0x8c8b8fd933a762e0L,0xe2e8f1e7adbe94a3L,0xd1e0c8c2bb723045L },
  40278. { 0xcafd8f483df092d8L,0xbc89caebb174025cL,0x97595c5649f20c98L,
  40279. 0x6e520a968a77acefL,0xc3dbd3107a52a4e6L,0xf51db5a91284ff27L } },
  40280. /* 46 << 224 */
  40281. { { 0x406465742c74cb2cL,0x44eeb9e546c33df0L,0xd2a9f16ecb4c50b2L,
  40282. 0x68f912a01906a6ccL,0x2b81296d95211e94L,0xddb2988ec8575839L },
  40283. { 0xb74d990d33b180c0L,0x290185567d319c48L,0xd3d2e40dac8de56fL,
  40284. 0x9ad42a60461f30e6L,0x265e4715292a0faaL,0x56c2626c8ac3b2a5L } },
  40285. /* 47 << 224 */
  40286. { { 0xb7580f2fd468adb8L,0x8e1fbf0388a6a587L,0x1b8c40ed8f4f6cddL,
  40287. 0x337414f56817b2b1L,0xd877ebafb744d563L,0x59eed3c6df5e18b2L },
  40288. { 0x365e148dd33afa01L,0x82e70adc665702cdL,0xccd77955a5e390ebL,
  40289. 0xd86c343accc90cb2L,0x23bd948d6cd8a33bL,0xb1fc140cdc43a8cbL } },
  40290. /* 48 << 224 */
  40291. { { 0xefda99d9ce11b02eL,0x9017bd4a3f820083L,0x8b9e6cd1ad14ac6fL,
  40292. 0x1239ee331f413880L,0xd98e93d993dd7fb9L,0xc280d252894fcb12L },
  40293. { 0x33a9201a5230b5eeL,0xc6aeee256e41de26L,0x845051280d0a320aL,
  40294. 0xc20551db4b607b53L,0x6e63c766ea228c2eL,0x883321aeac48f25cL } },
  40295. /* 49 << 224 */
  40296. { { 0xa5173910e15a530aL,0xaa2c88b83ac38ab2L,0xcbfbd31ec6a6ba9eL,
  40297. 0x0fa126cb49ed182dL,0xd6b38897cfc53c85L,0x98d5f6bacb9c2f41L },
  40298. { 0x6694e8e5cbd150e9L,0xd470ef226a1fc551L,0x57a63765d5ea1c0aL,
  40299. 0x95f5eb4318078139L,0xbeaba00585d3e0dbL,0x6bbf010fd314dec7L } },
  40300. /* 50 << 224 */
  40301. { { 0x5941229729ee46d3L,0x39e5aaa0e66bdfabL,0x9ff1575001c815e1L,
  40302. 0x709706211f2de195L,0xaac904a968aa571aL,0x9cbefacd8f7625f9L },
  40303. { 0xadfd215dfce3a501L,0xc04d09ddf20651b4L,0x688c1421d17b25f2L,
  40304. 0x3efde5d40073247cL,0x999b7f3a7432c699L,0x33c76487703fea50L } },
  40305. /* 51 << 224 */
  40306. { { 0xc720aeb10af6e1faL,0x1564b8d8e8771dc6L,0x5983eb44673d8ef2L,
  40307. 0x5dabb2070679ac65L,0x51a854cdbcdb681eL,0xe2b186a9364a3cb1L },
  40308. { 0xfa189eff7222208bL,0xf7161d86477666f9L,0x0ffcc3e6192d1df5L,
  40309. 0x1523508e39cf5a4cL,0xf5e98687c43ecce8L,0xbf17b63261450309L } },
  40310. /* 52 << 224 */
  40311. { { 0x63293cb8adfbde28L,0x5df78fb3c6b18ec4L,0xad10da4ffd27e50dL,
  40312. 0x60202b357ade5c9aL,0x67b9d253c6c8c8b5L,0xdbacffefbc2b30bdL },
  40313. { 0x508ff8a67494b1edL,0x87ef48be3769728fL,0x74d4f180ef98d036L,
  40314. 0xc5d9ef531799e8a9L,0x726d22206e850162L,0xd86d3414239f6b38L } },
  40315. /* 53 << 224 */
  40316. { { 0xfdde327b3e1f1b96L,0xb6272e94bb58615dL,0x2881350cfc2d8a47L,
  40317. 0xfcbe87031142ab9bL,0xaa5fccd0f48c7f97L,0x606be6ed29a74ba0L },
  40318. { 0x545409ba3afc598bL,0x4779f54aa7d23f5dL,0x2811c0829d68e38eL,
  40319. 0x5b4646bd3f9c5842L,0xbcd3aa492586219aL,0x7345799313642e3fL } },
  40320. /* 54 << 224 */
  40321. { { 0x9a61f240ab638788L,0x519742162b0a8449L,0x9a5ec31d43b2abfbL,
  40322. 0x6f3075740563c9c9L,0xe465f7793ffa198fL,0x8876c5772957418eL },
  40323. { 0x10e3d09c976e5875L,0xd66d334e592c2409L,0x3f0d5727b39b7897L,
  40324. 0x17ca7ad1e37fd300L,0x221d8436da530871L,0x4df38e4179d6b350L } },
  40325. /* 55 << 224 */
  40326. { { 0xe805096338b7a2cdL,0x9874cc734b8f05cdL,0xfc0821791b74a790L,
  40327. 0xe18a92f3293049a6L,0xabd525694dfdc13aL,0xb928cc300d843466L },
  40328. { 0x12750aec348dc7c0L,0x3c8e205d87f12dbcL,0xa2c71091e0bdbd81L,
  40329. 0x895b56a0c1c1871cL,0x68dd7414b4c850f9L,0x45a948ecbe806596L } },
  40330. /* 56 << 224 */
  40331. { { 0xa88dbfe0f4fe35f4L,0x32de3a1c84283011L,0x8a3777bc39caea33L,
  40332. 0x673630dee4d49959L,0xf3ef842c59070317L,0x33e4bb031fab88a9L },
  40333. { 0x88e4538e98ce8bc2L,0x870c2eb81a235c6bL,0x71f62c5640df0e92L,
  40334. 0xdb43b853f9627486L,0xfde9fcaa95cc473bL,0xe4c5b4bb4b677b11L } },
  40335. /* 57 << 224 */
  40336. { { 0xa6ebd946dd4091f8L,0xf0e11886dcf0741bL,0xd6267674d9533601L,
  40337. 0x571926506f74e49cL,0x18269c2f891d6717L,0x350a7869b45ddb53L },
  40338. { 0x79ea6a4ac8f62777L,0xbad33c4cae7edec9L,0x14bed149ad7e5578L,
  40339. 0xb2f4190ba91af4fcL,0xbbd6f68be71dfd3bL,0x23fd3dc8f2fb7a21L } },
  40340. /* 58 << 224 */
  40341. { { 0x5e0f89e598fd044dL,0xb77180d97cc30e97L,0x64fbfb747f82a12dL,
  40342. 0xbeebb9ca77629636L,0xe164549feba83845L,0xe65a964a7079519dL },
  40343. { 0x8b1bcc08ca88157cL,0x466399c3f7483338L,0x6e2726414b9efdc6L,
  40344. 0xff8c7027be922e96L,0x9baebf7d48374f59L,0x2a84a23ac18ee18bL } },
  40345. /* 59 << 224 */
  40346. { { 0x337484e0dca4b3b3L,0x82137cb9f5b27d3fL,0x12ae1d11bbf4c806L,
  40347. 0xa1e2873f2880c078L,0x9e6bd909058b9a0fL,0xacc5656d2dba5fb9L },
  40348. { 0x7fe5467853fd2ce3L,0x2aa4af35452439efL,0x329989a5904ffc67L,
  40349. 0x007ea4c8520fd31bL,0x58988e2551816b44L,0x644f2469d8f186eaL } },
  40350. /* 60 << 224 */
  40351. { { 0xcd4d1a9e8890722fL,0xfa0b826b74142916L,0xa494dfa817ba8041L,
  40352. 0x3fb73e736de2b6c2L,0x156a6cf4344b57a7L,0xb197c8621e205448L },
  40353. { 0xf453e348c214acf7L,0x665d7083e9061a73L,0x5ed59ec5ce9868a3L,
  40354. 0x9bab305f6ad777faL,0x752c490b35315de8L,0xabcfa35b5d5aaf26L } },
  40355. /* 61 << 224 */
  40356. { { 0x4059fc2f914d618dL,0x88e55ce6108380fdL,0x0c22b21bee61a4c1L,
  40357. 0x435ecbdb04788627L,0x3f8a5ec7a9f72788L,0xa31eff8a732d5d97L },
  40358. { 0x119b6bf9d48d0af9L,0xde6d1de5af70a043L,0xac075ffd3368db4aL,
  40359. 0x23a33ec94a58603dL,0xd43ad120fe181a89L,0x386b90ed42f0b006L } },
  40360. /* 62 << 224 */
  40361. { { 0x8096824bf9bf1a24L,0xcdf69abc8260ebd7L,0xaf93b34de9ab190bL,
  40362. 0x676351ff841cbba0L,0x3db704d3eb6d6c60L,0x3b1b893fc09aebfdL },
  40363. { 0xc06b9bfdbfc69f15L,0x28b1ffb8e9c688c6L,0x1607bc68d3c16455L,
  40364. 0x07d56bcc6d16d937L,0xac28e69f318afd9aL,0x7f4afeb7e77263b6L } },
  40365. /* 63 << 224 */
  40366. { { 0x796a530ab935875aL,0xd6700ec89dd1e51cL,0xc30301df4d9320e4L,
  40367. 0xe23090f357157f87L,0xdd3f68a74029113eL,0x566afc6de2709936L },
  40368. { 0x830f952edbff8926L,0xe207eae5c7a39d27L,0x9210b3dfd9494592L,
  40369. 0x3be25582d8460831L,0xec2496575d58edd9L,0xebe8426fefd24738L } },
  40370. /* 64 << 224 */
  40371. { { 0x0372678dc419b0aaL,0xf95031d8c13fdf17L,0xebaebca4b79594c3L,
  40372. 0xe587850baf3b75cfL,0x534183ac2c1e09c6L,0x3f5b0bfdc08204cdL },
  40373. { 0xdac2cf06e297cc77L,0x5e47d9c6d0487084L,0xf6f509f490b0f6c2L,
  40374. 0x3ffc3cd6c2c62207L,0xbb21eb1132ff1887L,0x2116a023e62ccc6fL } },
  40375. /* 0 << 231 */
  40376. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  40377. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  40378. /* 1 << 231 */
  40379. { { 0x406a7e2116960728L,0xd03923f85597d8c4L,0xd4402eff020748eeL,
  40380. 0x7827442af39b58dbL,0x77e3f2768d8cfb04L,0xf6eb49c8e45a978fL },
  40381. { 0x9db0829949247f6aL,0xce71a74706669fe5L,0xe434ce47b82775f5L,
  40382. 0xe84995ef63910016L,0xa35e8b971e47792fL,0xc779cb3d7c6aaeb9L } },
  40383. /* 2 << 231 */
  40384. { { 0x1fa064cfaf31ea1dL,0x2a9547a848e8d974L,0xda8102a1fa9d9453L,
  40385. 0x786aecabdc6bd7eaL,0xcaf91e3bca2f6044L,0x67d86ea78573f208L },
  40386. { 0xd309fce9c505ae24L,0x67ddc5b17f86eb8eL,0x57791ae0f3d53056L,
  40387. 0x26b053f00d1fd61eL,0x91c962c0045ebfa6L,0xe95246de076ed979L } },
  40388. /* 3 << 231 */
  40389. { { 0x156eaf570746d174L,0xa2d4a83dcda35250L,0x60a9f48c0290fa02L,
  40390. 0x9855d26d5c33b4acL,0x06e379c697eb1c30L,0x4f2e2dbe6e219664L },
  40391. { 0x6b7448f829006065L,0x237a1f31115062a9L,0x5c635a90ad92cb24L,
  40392. 0x2e857f8c2eed977eL,0x3d512df7856dc88aL,0xbde85263e597a27bL } },
  40393. /* 4 << 231 */
  40394. { { 0x49f24994e7c03ce4L,0x274a8c132aed9ba3L,0x897b9103d5e91bc0L,
  40395. 0x63db1efbcb404f68L,0x70efd9d842f7fc02L,0xd6e02921c6a230afL },
  40396. { 0x8d5b199f11ae0a56L,0xc98287dece33da6aL,0xde583d34504dd889L,
  40397. 0x03756001f823686fL,0xf19ab86f95fc73dcL,0x300406c693f12f42L } },
  40398. /* 5 << 231 */
  40399. { { 0x2f73595f7759701cL,0x8dc2069a6fe0e0d9L,0xb7de7114c286a65dL,
  40400. 0xfecc429e84c0e487L,0x51061a2c14344c07L,0x4d70972596869e37L },
  40401. { 0x8b02781f2be9403bL,0x6cb6aa02de3ab5d9L,0xb013508eff6bdc9aL,
  40402. 0x568d2e84e5438c58L,0x7b35a979e4206c3bL,0x0bb793c0b17a8bc7L } },
  40403. /* 6 << 231 */
  40404. { { 0x3f896ca9fa4dd561L,0x4b9a98abd2de2ecbL,0xd0741632600e4e2aL,
  40405. 0x87c7db5f69e702d5L,0x1f5a3b8053e0df2bL,0xe1e24b49f443dfbaL },
  40406. { 0xeb90e2305eef3a1dL,0x8f3fc8a6d38f73fcL,0xfb1e8299a5aa335aL,
  40407. 0xd78504cd4197b32aL,0x0e7a79cc6755918eL,0xc7c98ae2883b1c72L } },
  40408. /* 7 << 231 */
  40409. { { 0x1a12727c03d2beccL,0x810a37dfc6741372L,0x44ac483fb7049f39L,
  40410. 0xab73e5e7a36fc614L,0x298d453feeff8aebL,0x2127dd167e1b586bL },
  40411. { 0xeadc5c54e07bd60cL,0x67cdae00f5e2d2e2L,0x03fe0446c9d2f10aL,
  40412. 0x0784098795e38ed2L,0x5d348a7ce1a6306eL,0x4903f1b6562f5463L } },
  40413. /* 8 << 231 */
  40414. { { 0xbf66baa5b44b1d0cL,0xbbed18eda44f8edaL,0x80bc32abeaaa466cL,
  40415. 0x605b7897e5f2733bL,0xe9e7e3a1a2531afaL,0x25d66db33deb8369L },
  40416. { 0x36212ea3b2f25d10L,0x52d6b3f4a08d303eL,0xefa54b31444e9e9fL,
  40417. 0x9c2229a169530c1bL,0x68feb9854b79bdd1L,0xd570e84f8b984cc3L } },
  40418. /* 9 << 231 */
  40419. { { 0xe141b86bde0560a3L,0x858bf4cdb2264bd1L,0x526fb104fabe5359L,
  40420. 0x95f9c43f185b8a70L,0xf8e3a3eb2d1f75e9L,0x71826067d93bc6b9L },
  40421. { 0xf360e01799692f49L,0x00f4fd16c2dc3dd5L,0xeb7f40498b9454d3L,
  40422. 0x5cb0f3c426c3b393L,0xe8ab4e4357bdc4d7L,0x9abe36b00c123d67L } },
  40423. /* 10 << 231 */
  40424. { { 0x1df8d98c57b168fdL,0x042fd731b45da94eL,0xa54d64f91703e143L,
  40425. 0xa12198be9de0ab4cL,0x160e06241ddc4e0fL,0x15cae64a6695891fL },
  40426. { 0x808565e70c2b2081L,0x6de4a393cc65040cL,0x6682cd934bac1768L,
  40427. 0x62e7ac2ca5be965fL,0xd33f6f8ad7a38e90L,0x9cafc4635b8b516eL } },
  40428. /* 11 << 231 */
  40429. { { 0x0541a391b685c547L,0xe86d35e091765999L,0x65aa03c51db4a2ecL,
  40430. 0xba53470e6b1c4784L,0x4f848cc8cceca1faL,0x89d0db0b8b18e350L },
  40431. { 0xd03e452a7840d734L,0x6cebfa790ca24215L,0x288b4569e8f1d9e8L,
  40432. 0x18e405af8927ce0cL,0x5aad57e51abfb4c8L,0xbbd99091a197ed1eL } },
  40433. /* 12 << 231 */
  40434. { { 0xf041e421aa44f3e2L,0x47ed9e8eae6fd2b7L,0x4fea93751128ed62L,
  40435. 0x041a1c1acec6eae6L,0x1f32359415a65daeL,0x741fea0a0154e8e8L },
  40436. { 0x309e9f289c32e224L,0x457d4ffa902ce57bL,0x7bb54dd5692420c2L,
  40437. 0x193a41aec4fa1a6aL,0x35f5f3b43d779e77L,0x31e84371046ebb8cL } },
  40438. /* 13 << 231 */
  40439. { { 0xe75a7c1d9d7e5551L,0xb73c987611635e3bL,0x3b07a071e09d29b3L,
  40440. 0x0a3cc0acc623023cL,0x15ec4a7a1e2ceb33L,0x09a01968c70eb27fL },
  40441. { 0x2e5bb53c369d145aL,0x4c93330d9b7fb506L,0xbb10a2f358013308L,
  40442. 0x3d9da0c4e0b85fd4L,0x8b39c992ce0dc79bL,0x7e6d18b0bec905faL } },
  40443. /* 14 << 231 */
  40444. { { 0x3a5a366ea1554376L,0x0e1687c052a6ed9dL,0x3e16e4aafe5355beL,
  40445. 0x6d8bac03ced67666L,0x403eb33ed9344003L,0xd7b9ec0d333ab20cL },
  40446. { 0x9fce1986d64c272cL,0x9d52d64bb1e23843L,0x8e689611921a58e5L,
  40447. 0x8f5f115620d5c61aL,0xb17f612fadc81b4eL,0x36e2db30e562f779L } },
  40448. /* 15 << 231 */
  40449. { { 0x98d0bcead01f8634L,0x6e9ba675bc5f825eL,0xfac2d3aa05e938c1L,
  40450. 0x434b712fb9c66adfL,0x81c29163a9a61d36L,0x80eade933be8eea9L },
  40451. { 0x10fc6d75c04c45a8L,0xa2c9aa58fb9e8702L,0x9142afaeb200428bL,
  40452. 0x4fa28c8520eccf38L,0x3b5f63308209b3e7L,0xf74206ca8cd74accL } },
  40453. /* 16 << 231 */
  40454. { { 0xd6a4d25c845f26e4L,0x71e554ce1b039dffL,0x942059731cdedfc0L,
  40455. 0x0c4e385603d6502fL,0x981a4fc5e15ce8c8L,0x85d1b0f17aca30b7L },
  40456. { 0xf2037ef777bb9e43L,0xc52804f4e87ae187L,0x9c98a23c71f3e4e3L,
  40457. 0xa73c8b89f47b504bL,0xb9e33f54023233aaL,0xf2bcfc17f92c9f68L } },
  40458. /* 17 << 231 */
  40459. { { 0xb3c1bc26707fc6ebL,0x0bb585b75ef6dac6L,0x70af297f5f707063L,
  40460. 0x3d86a8fa967a0ad8L,0x510dae4d4f956cc6L,0x1dbcb2e883c01ad0L },
  40461. { 0x0e480cd28bfbb5edL,0x76498f813025fca2L,0xc015064ec5446cadL,
  40462. 0x4ddfe2af3616f51aL,0x76b0d690e6750b31L,0xc4502c050073f263L } },
  40463. /* 18 << 231 */
  40464. { { 0x9120912bb3081e59L,0x6c73c4a2f908b364L,0x408af8c94de763d6L,
  40465. 0x3d9e83084000add2L,0x65d197fddcb5a5a2L,0xbfd29f0b2bd82bb0L },
  40466. { 0xa1243e63bdfe09e7L,0x91d90b54d556188cL,0x977dd4a18bc872fcL,
  40467. 0xa8e6e7bef4ea7805L,0x12c53bd80a467365L,0x9d7abca493b7f0a4L } },
  40468. /* 19 << 231 */
  40469. { { 0x5faf453a40eeb93eL,0x6801e0d1f1fe9307L,0xe92505d39ea9b800L,
  40470. 0x7e911f8108eb58c8L,0x5da7ffcc098143eeL,0xe023262056876057L },
  40471. { 0x5354045bbfa99a91L,0xee660bbebb346841L,0x1dbf5c7cecb3099fL,
  40472. 0xe79c78d6a125d753L,0x2a356f10706fc013L,0xe50c50b725f88ebdL } },
  40473. /* 20 << 231 */
  40474. { { 0x663ca92723ca903aL,0x8a64a4dec7681937L,0xe3ec0966a2baa42fL,
  40475. 0x688328d7a2906226L,0xc2821e9c94790fd8L,0x7a295b62157501cdL },
  40476. { 0x032cd57d3675c2f3L,0x91d66a57f42e6f95L,0xd75056961e97dcd0L,
  40477. 0x7e8ba3ed7d8b6f52L,0x8ddb72c420b0dccaL,0xe09e53bb6aea2d55L } },
  40478. /* 21 << 231 */
  40479. { { 0x3815b1028a009f19L,0x4f76d609f5418c34L,0x7a35cb332a9eabd9L,
  40480. 0x018d6c54ce89e886L,0xe00b99e859c9fab6L,0x4f10a0d9aaf6e7b8L },
  40481. { 0xee51f8f0e722fce1L,0x03e8b63179bccac0L,0x66e540c26f327d2fL,
  40482. 0x31df4a35d22377e4L,0xba5b0029d5c71cedL,0x6a3e20553ed6aeeaL } },
  40483. /* 22 << 231 */
  40484. { { 0xe932d1aaaffc47ebL,0x75c9d4d8513f85a3L,0x50886fcdf9419cb0L,
  40485. 0x756a7d7d49081e9eL,0xe45fff1fe14aff77L,0x022b4ac339846230L },
  40486. { 0xefc3e8dbe89adc78L,0x921bb1538c09ccecL,0xe4dc6aa17826d461L,
  40487. 0xa53aa6cefac8f0f4L,0x5d4e4d53954192c5L,0xda721828c722780fL } },
  40488. /* 23 << 231 */
  40489. { { 0x978609c67e4933daL,0x49fd5c5d2539c807L,0x072a911c6330373fL,
  40490. 0x40cfa61838177579L,0xf9a7aa4c81c51596L,0x7ba8e7a5b346724dL },
  40491. { 0x79298c06d26ee66dL,0x243323702a9c2792L,0x585e8b9eb6aab53eL,
  40492. 0xa39596c6e14bee4eL,0x89b2758828a76dbfL,0x889fba0aa00dc1adL } },
  40493. /* 24 << 231 */
  40494. { { 0xd55a3eaf0a9a8ba4L,0x13b1406b2a8cd215L,0xcb44589a93943e1aL,
  40495. 0x91b5e3493a671a47L,0x488654f8efbe0256L,0x448bee4b392ba5e8L },
  40496. { 0x228f478137e762caL,0xe21a2ca7e71b6c47L,0x0e809fe94900fcefL,
  40497. 0xb05e1db2815f6c76L,0x8cdf28815fa6fa0cL,0x2ed55c1c586fec8fL } },
  40498. /* 25 << 231 */
  40499. { { 0x7c3842eba210d4d9L,0xd656154e5f69a69bL,0x9e11c6db1f3a0483L,
  40500. 0xb0314a5e5a217444L,0xe17a274e34f4e54fL,0x6e41c20a9f79d6abL },
  40501. { 0xd010d789dffef6dfL,0x704937f17e8915f0L,0x5072bf063d3460fbL,
  40502. 0xa30814ed5f08429dL,0xe5faf476207d2708L,0x46e56e14af448339L } },
  40503. /* 26 << 231 */
  40504. { { 0x5a049c8f94af3a35L,0x9ae89160d8b75bbcL,0x8b026d867ff40c5eL,
  40505. 0x90e54aa4fbddfd06L,0xc85349e7ee418640L,0xbf71e454beb7801bL },
  40506. { 0x63f5e068ad912e83L,0x6252a4a4ada5341bL,0x25114b87b44529abL,
  40507. 0x9b80bea9eadb4f13L,0x7f071c0cfe050052L,0x4c9cd33418612061L } },
  40508. /* 27 << 231 */
  40509. { { 0xc6f50ed03c768ff6L,0x5b994b58b6de126aL,0x807ad19e2a1ac05aL,
  40510. 0x012fcb9ddfc66ad7L,0xf8706d5fefeb7d07L,0x132aa6697bfc5337L },
  40511. { 0x56bd874310e28d18L,0x33bc53d96e9f8e26L,0x5885b63b152758edL,
  40512. 0xb8b1bd5e757e1471L,0xdbc689458c0d406cL,0xa664de3bfc605a11L } },
  40513. /* 28 << 231 */
  40514. { { 0x04df415ea6d4b6c2L,0xb8e33e71d254d2d4L,0x179df4f48b84c588L,
  40515. 0x8a2a0683d435793aL,0x6147a5a911eecec0L,0x0b8389793a0196ccL },
  40516. { 0x855059ce81805693L,0x37babf9f3b27872fL,0xa2ac78b1769be5c3L,
  40517. 0x16260f0c0a8d267bL,0x31f48c42388266c1L,0x58fee495ead1f238L } },
  40518. /* 29 << 231 */
  40519. { { 0x5753ee0fc048300dL,0x307dfd57e048abc4L,0xc18bdfeca3ba6c56L,
  40520. 0xfb2d8daf10495489L,0xd93aebd4e0fd2d13L,0x4736efaf0518a5faL },
  40521. { 0xa8ee4995eaa9fc77L,0x2620f08e008adc03L,0xf03981839f06991aL,
  40522. 0xd47b1eabe25a4f4cL,0x669cf09c79f95484L,0xf30191584a0f8b96L } },
  40523. /* 30 << 231 */
  40524. { { 0x047b0f0124b240a1L,0x959915dd46cecf58L,0xedf2e74b72980ca1L,
  40525. 0x6b7b7b4ef2cad32aL,0xf9f01c9d0b9ded1cL,0x009d3a5825e77e0aL },
  40526. { 0x62314ab411a39c1cL,0xb3b0c5b2ad557b74L,0x6dbb75dd961619fcL,
  40527. 0xb8f2d198c934e1e0L,0x4401507542eb7fd5L,0x3a8552efea1be435L } },
  40528. /* 31 << 231 */
  40529. { { 0x08e3f0e2217de9abL,0x6bdec27bb6b4f789L,0x5b160334685af8e0L,
  40530. 0x31e651cc61738f6fL,0x37224bc4631989c0L,0x2dc8006ad39f9c4dL },
  40531. { 0x2a5d585056c3d84eL,0xb2ef06cc5cc79193L,0x246d92869eaa50e7L,
  40532. 0x8cacbf7cea6a7cadL,0x109bddc629465ce6L,0xad2f492fb5744947L } },
  40533. /* 32 << 231 */
  40534. { { 0xba03ba3b7b3b336dL,0xe57ce50928c9c55dL,0xf96b8cfe4f0f60b2L,
  40535. 0xb908d77e6fcccd96L,0x7208ef7de79dd17aL,0x739095333ec3d048L },
  40536. { 0x9c5ad2da1163fe78L,0x4e2a8685cd4a15c2L,0xac999449470eb938L,
  40537. 0xfaaf27fbee7d772fL,0xfbe402abd0b7ad09L,0x704d4f0e57db00a9L } },
  40538. /* 33 << 231 */
  40539. { { 0x8f2f736c6330607fL,0xaf4acf66c975432bL,0x838fd8cabd1dec99L,
  40540. 0x347088aa7c3d0499L,0x28008757e835ea86L,0x43e2fb30c03e1aa1L },
  40541. { 0x06c66dabf0d10da1L,0x25d7aa1867321158L,0x215e483811dc063fL,
  40542. 0xd52dee1e288362f2L,0x790989a1fe300a0aL,0xe0452fa5f163e1ccL } },
  40543. /* 34 << 231 */
  40544. { { 0xd3eab3ae25e7c044L,0xa3712d11b6d22325L,0x5e3835999e8237ddL,
  40545. 0x2549047c9dc93a5fL,0x24b07617b546a113L,0xa50359ed2e7b82fdL },
  40546. { 0xbbc3eb5889964effL,0x93d490b60d7ae172L,0x68cd6b3f774ac0e6L,
  40547. 0xf98f1df035e02fc6L,0xfd2625c560857c16L,0xd68f25e845dd06f6L } },
  40548. /* 35 << 231 */
  40549. { { 0x40dcb41018c1b3d8L,0x8af9a0bf954cc170L,0x9c40a17d5af27d6dL,
  40550. 0x6b20fa7d7137d35aL,0x7c46f6aaf07f5adfL,0x7caa6e3cafc2f780L },
  40551. { 0xef03332694dfb637L,0xd8f330b38d0ac73cL,0xacbf571255d40a9fL,
  40552. 0x1b4ffafa3f4fde0eL,0xa17488e09fe6b04fL,0xd27808a103957cfcL } },
  40553. /* 36 << 231 */
  40554. { { 0x85e1de1e96569e6dL,0xc9545920d7ae52f9L,0x04ebc797bcd62008L,
  40555. 0xe142d0bc04a24db0L,0x5ed44b0d40e9fa80L,0x39fd679a48ddaba3L },
  40556. { 0x91aba967ce7ee095L,0x76de8d3a0e97d0f4L,0x92e7a107a221785fL,
  40557. 0xb028f67e734283ffL,0x987f644168af2f42L,0x0ad882369d7f7102L } },
  40558. /* 37 << 231 */
  40559. { { 0xc5289301642f7d3cL,0x53ea584de508c45aL,0x86eb66e949337336L,
  40560. 0xa56d59d668fbc13aL,0x44c464ffe9e51562L,0xe5280ecd8200a27fL },
  40561. { 0x92e2a9334cc73f23L,0xf59780325e7b858cL,0x399bd41e90d4b2efL,
  40562. 0x4faecb8bd0ead86aL,0x6ead9c530ce48b14L,0x941b4807ef74700cL } },
  40563. /* 38 << 231 */
  40564. { { 0xea281be94d522b69L,0xb6855d45694a08bcL,0x7c47ddc7aa7f4d28L,
  40565. 0x2028e22b6c36bba5L,0x206b63430c2dee0aL,0xfeb0b3dae68fdcd8L },
  40566. { 0x6dda02a44603db5cL,0xa705d0defd786a39L,0xd356f6a426aadd38L,
  40567. 0xd34acb7d95ef6a00L,0x073ea16e14846402L,0x2cf7a82ab2df8bc5L } },
  40568. /* 39 << 231 */
  40569. { { 0x8fdcd309bffd7240L,0x6843dd76386e459bL,0x222fa67c0dee5740L,
  40570. 0xa3801343620d7d83L,0x96dfdbffe21b4af3L,0x017bd3d3dadd04beL },
  40571. { 0x1b6adba2bca18337L,0x191b86f1300ed35aL,0x103a380cd73bbadaL,
  40572. 0xc2f3172f36f95dacL,0xa01a10e220767bf4L,0xda882ca6989ad766L } },
  40573. /* 40 << 231 */
  40574. { { 0x5bbc748b9cc47708L,0x16d796054026c772L,0xefc3ce3ea053df6bL,
  40575. 0x30ea7eab0713752fL,0x15b491b9dfd524b7L,0xa751d82010bcd34cL },
  40576. { 0xf30c708abbd5da72L,0xf0c55aa86d16bd51L,0x1754060ba6215d84L,
  40577. 0x3a48d2cbb863542bL,0x992e8340261d8c45L,0x4096f65be8fd2113L } },
  40578. /* 41 << 231 */
  40579. { { 0x5532411e1045d8cfL,0x2d2f8d6b52bea60fL,0xa850b61825c556c2L,
  40580. 0x6547892fe8965d13L,0xa7bd4527184d0cffL,0x0e7f7daec25ba558L },
  40581. { 0xfcfaf7b234343889L,0x9d6a23aeb82ba1d7L,0x2859023b60514faeL,
  40582. 0x4d51aeddc82da6b7L,0x6a060dc38273cd00L,0xf2f8923d78478c29L } },
  40583. /* 42 << 231 */
  40584. { { 0x0baa35154f08b278L,0x26baf331e57297c8L,0x3fef65cc04e27c13L,
  40585. 0x0f910ee0ca8430b6L,0xa27c5f5c2c445251L,0xc780142dccf3c637L },
  40586. { 0x47dc4192e0f3fbbbL,0xf4d12bd6f2a91a33L,0xc1eb18b206352685L,
  40587. 0x111cc07f5b3db096L,0xbce0cddbcb95c815L,0x6b0bae7e14d28563L } },
  40588. /* 43 << 231 */
  40589. { { 0x40d16b7705897177L,0x4772a643953915adL,0xc6cfc1d23cabc7a9L,
  40590. 0x0641e96df80536c3L,0x6c297cd6be4c5454L,0x509a837c9c00216aL },
  40591. { 0x17455153c01ce9a5L,0xee76da8a40b825e8L,0x1757a59cd23a37acL,
  40592. 0x5adcfbd10958248aL,0x043314525d01549bL,0x831f725ab0c42176L } },
  40593. /* 44 << 231 */
  40594. { { 0x28704bdcdf7d537bL,0xbcae2c15fa88f42cL,0xab32eecd3866ac4fL,
  40595. 0x446754a2128c4a7fL,0xc69309c1739ef781L,0x216e9f43bd160d81L },
  40596. { 0xe0efa3ec6fefc0aeL,0xd179225086a604f5L,0xe43e13e260418c0fL,
  40597. 0x6f605146f100b9b7L,0x6c39828a6e994093L,0x99558f4706c019e9L } },
  40598. /* 45 << 231 */
  40599. { { 0xf541b3cd28df49eeL,0x0be75ef5cec2660fL,0xe73d18bb620c81f1L,
  40600. 0x42e81fef3c775c53L,0xd0a9dcdcbc012ed7L,0x570f5a1b8f292a58L },
  40601. { 0x51f302e74c030819L,0x42e1903f50bb8a5bL,0x6d8105a98536e7d0L,
  40602. 0x66e2fdf1c1ca766dL,0xecaf4a316c5927fdL,0x347803cf96a14565L } },
  40603. /* 46 << 231 */
  40604. { { 0x794d90ab425d3a7fL,0xcae9008d93ecbe48L,0x211e38c3bd5f11b3L,
  40605. 0x6020ed2a6db1c1d7L,0xaa5695064437f020L,0xb2b93424235f4d6fL },
  40606. { 0xa84a3c1d66ab2a3eL,0x171f9325712a14e0L,0x4a43cd6744d958d0L,
  40607. 0x53bea85ee95dc3cbL,0x1fba008769f2009dL,0xf0fbc48f31c13eb4L } },
  40608. /* 47 << 231 */
  40609. { { 0xefa3dea85fb2227aL,0x0160b031e098a97bL,0x92a554e3553377b1L,
  40610. 0x7b58c26258ccaac8L,0x666400171c3e0a47L,0x40e45f90ae2d7d8aL },
  40611. { 0x660df3441ee18103L,0x5515cd66e9b64e55L,0xede93c59de059b3aL,
  40612. 0x874a0c90ca0e7acaL,0x840188abc8b1daa0L,0x9d49a02601e148a7L } },
  40613. /* 48 << 231 */
  40614. { { 0xe93ee31ae12b4e64L,0x2ab8e378662d17f4L,0x2544bd9969516582L,
  40615. 0x7bf80e4b2e1e5485L,0xf30f0b14729d9361L,0xb3ffb5d18268d40fL },
  40616. { 0x34605055ac193a63L,0x9e5ca9a9f8e04d69L,0xcbbeebc1085ecbb2L,
  40617. 0xda03b75bf340eac4L,0x3bf9468a84436462L,0xdfa8b4c80f26f20cL } },
  40618. /* 49 << 231 */
  40619. { { 0x2e6520714aa497e2L,0x2b9358fd7ecd223cL,0x96efcbdc4f828e86L,
  40620. 0xa0f76679d2f096c9L,0x3887bef70690b78aL,0x2e7d9cae1a01b10dL },
  40621. { 0x8b0cdf0e5656e5d0L,0x0a6ca92d48d3ec2cL,0xdcacbdd3b49e2ab8L,
  40622. 0x4d087ee0d7485e87L,0x4987078292cc57a7L,0xa1776bd47bb38b8aL } },
  40623. /* 50 << 231 */
  40624. { { 0x60c113bdb711e087L,0x28694ff4e257e115L,0xf81d5e054c18d716L,
  40625. 0xd1c04b67eb0af843L,0x16e6e46e40d8907dL,0xb73c3de91dd34d22L },
  40626. { 0x9d7f282519825f92L,0xdf5d33edba486ce6L,0x288fafac21c223d3L,
  40627. 0x21c4df016d05007fL,0xccd9626b197c5badL,0x3a91743902c91b36L } },
  40628. /* 51 << 231 */
  40629. { { 0x6f950922340ebed2L,0x9e796894beddf06bL,0x5a8ea337cd9d7a07L,
  40630. 0x1c5dee115bd182ddL,0xba87dd1ae0c79b9dL,0xb16169f3b9002931L },
  40631. { 0x68098da138c62518L,0xea7bf413417fdc6fL,0xa500a320b6fdf768L,
  40632. 0x7870c71c4550c202L,0x0874fd9f6121afb2L,0x49f0fd0cab7d0b6fL } },
  40633. /* 52 << 231 */
  40634. { { 0x7af3de47f6b7fedaL,0x19b8a51ba30b2296L,0x16886446150a0af8L,
  40635. 0xdada5aeeb2a4ecbbL,0x77105de8e8de3888L,0xc54d352c7d763f77L },
  40636. { 0x754984ae72ff499aL,0x3de4b2785a5a25f4L,0x5df75ece818512a4L,
  40637. 0xd4fc8093ca7ccf3dL,0xff9bdf544a49f4fdL,0x45d23e77de0a5840L } },
  40638. /* 53 << 231 */
  40639. { { 0x8ef88682ca85a586L,0x12038785bff64885L,0x99670d8ac98cf695L,
  40640. 0xf7dc3dca6c3d5832L,0x1e836a59fd3e64d1L,0x8dbb13addd426c1aL },
  40641. { 0x21867f0690f59314L,0x7adb6f707da5ce5dL,0x662422ae0da28987L,
  40642. 0x75a1486466766a41L,0x2d42bede6c8937b6L,0x559e168dff0c474cL } },
  40643. /* 54 << 231 */
  40644. { { 0xa07fdaa25af635feL,0x01d67fb36a0c8fd9L,0xa226f8dac9eb8d8aL,
  40645. 0x0795c27ce7fcfd0dL,0x84556c0553578294L,0x92b30a84b3e57574L },
  40646. { 0xc8eb6ac0ca5dc890L,0x061a0a195c8b7d8aL,0x60f3351923177c06L,
  40647. 0x780755917d01bf6cL,0x63ec8a4421f48422L,0xddfcb2c0d804c7b0L } },
  40648. /* 55 << 231 */
  40649. { { 0xb186daffdb2e385aL,0x7589c9cd43aac848L,0x9b474a411fb053d7L,
  40650. 0x2f79556be1ada6c8L,0x694badc54d7d9ce8L,0x31ac06a84921f546L },
  40651. { 0xacaf91c165666233L,0x6ea97c8ee45b62b3L,0x9c8f3fa66f0096c6L,
  40652. 0x2db7da39ac68f8baL,0x0ad2da0f19a3d1b2L,0x08c96b0ff80d426eL } },
  40653. /* 56 << 231 */
  40654. { { 0x07d63f07257d20b5L,0x25475a304e8c62caL,0x2469d661789ac15cL,
  40655. 0xd0d2ba1b3aae86a4L,0xc716202a4458dab6L,0xa011ca5ec4d5f90cL },
  40656. { 0x53ce0273ca2430c9L,0x61040ecf96da6946L,0x6847dd034247c99cL,
  40657. 0x0c500b4519defda5L,0x263316db365796d4L,0xff9b99e7b982d89cL } },
  40658. /* 57 << 231 */
  40659. { { 0x725fc8f911591738L,0xe6c16db3f4030f65L,0x66c7622d441b6b17L,
  40660. 0xad8e4b9c69d93786L,0x732d597473093a4dL,0xa2136d85228f103bL },
  40661. { 0x84f1d9397bcf76e0L,0x971a4c55e2531411L,0x9816371d15920fa7L,
  40662. 0x5515cbc594bbc17cL,0x8b8c76e859d52722L,0x3bfe618e9a240652L } },
  40663. /* 58 << 231 */
  40664. { { 0x18981da25cd1f7c3L,0x198a91bb09b22c3eL,0x48d11aafb23d71ebL,
  40665. 0xddaa6e071d31782aL,0xca7b812a39125babL,0xd89dcd825d963539L },
  40666. { 0xc7012ed9e5a89eafL,0xbcf0d4c4af0ce61fL,0x6f65a246e6a9f404L,
  40667. 0xae6a489d51c1302bL,0xab43a2bcfc5ea651L,0xfdb73470293b1e58L } },
  40668. /* 59 << 231 */
  40669. { { 0x8e860629f5c9d835L,0xf91a0b5d04efe37dL,0xaa2acb55b1956d3dL,
  40670. 0xe295b30fb5bb48ddL,0xdfad64a7e8275e6fL,0x1e203bb7d41beeaaL },
  40671. { 0x4aa2fd5836e64f60L,0xfb0b92a706e01818L,0x68e386d60d29ff89L,
  40672. 0x617981bc1802840aL,0x6d68ccf7ceb124f5L,0x19193c483b120ddaL } },
  40673. /* 60 << 231 */
  40674. { { 0x4d02098b8b5d9d67L,0xecb580503148dc75L,0x561545107d898600L,
  40675. 0x0213ef782d8be728L,0x4123671b1f11d90bL,0x8b9ff1b654c291beL },
  40676. { 0x139ba95e52db185bL,0x83be41d0997b3eb4L,0x4a950c9a41e2e288L,
  40677. 0xdca0290c48916145L,0xf1eb9327cd073e77L,0x384ec5ddbd4f4ccbL } },
  40678. /* 61 << 231 */
  40679. { { 0x7e538f9036f4b7b0L,0xeb54e9e4ca25008eL,0x0054a07bf8af6eb2L,
  40680. 0xd96b712f5e3f61e9L,0xf01da03e29aa496dL,0xedbbc2d7d00faf95L },
  40681. { 0x178c5bbd104f4dd3L,0x5cbd4783aa11b0d0L,0x4433fe6156eecea2L,
  40682. 0xdcc01bdcada7991aL,0x89ca41ba1addfa5bL,0xad64ee097a65ee64L } },
  40683. /* 62 << 231 */
  40684. { { 0x05a8a58d7e276915L,0xee28f77bf1582bf6L,0x6f308349285bd210L,
  40685. 0xb8b8ec47ab877186L,0x0436930e0ddb857fL,0x20a9973e5346b800L },
  40686. { 0x756ab9b5848dd5b9L,0x33a220cfa12370ebL,0xdbd87c391f3d0386L,
  40687. 0x90c6879075429844L,0x5cc1a9736193f021L,0xf0b80f6543d46e24L } },
  40688. /* 63 << 231 */
  40689. { { 0x45e5f57bf79f5116L,0x14f02b229bcd30ecL,0xd989ee5426a39a1dL,
  40690. 0x497ad3c3d5854b85L,0xb61c15e50154364fL,0x5979941f502107d5L },
  40691. { 0x0b99f087195934f6L,0x1f852baa605fbf71L,0x68ec80e47206f65bL,
  40692. 0x0392af1cea5bc3c0L,0xcebe56f81cb1d6bdL,0xdc6279d90f80b6b9L } },
  40693. /* 64 << 231 */
  40694. { { 0x10c082a63fc14a85L,0x59389ebc1c0b14c4L,0x785d935b4cb291a7L,
  40695. 0xfc2ae15313e9ce08L,0x3146fabf4df6f1c4L,0xa2a4a457c87dd24cL },
  40696. { 0x85fdd8771deb49bbL,0x2b7843709b055934L,0xc81d05013e7e0297L,
  40697. 0xb56ddd1fb92df904L,0x4612df9f295ddccbL,0xc24bd4cf0e27cf1dL } },
  40698. /* 0 << 238 */
  40699. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  40700. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  40701. /* 1 << 238 */
  40702. { { 0x7830460fd1944d1bL,0xc56f08e784350af2L,0x73bee2aa307d9c78L,
  40703. 0x1b02af1b5aad8b6cL,0x5e31882703848db5L,0x4785958bf230f476L },
  40704. { 0x4ea6535d4f80e25dL,0x9958c9c7d23c7f72L,0x4c197b332fd33cabL,
  40705. 0x24c7b0b1c566914fL,0x956ce3c371952d3bL,0x8735694bfabae5f2L } },
  40706. /* 2 << 238 */
  40707. { { 0xca9872e1597bd10eL,0x6725cc9a4aed951fL,0x96b17cb84e05b280L,
  40708. 0x97987146fa234d45L,0xba78949ebb35a7d8L,0xb82e9b9f6fc59384L },
  40709. { 0xa303e54a70f165c7L,0xfd6bb0dcb9c2cad9L,0xe57e2de8ee722045L,
  40710. 0xa05c106563e27035L,0xaa38e86602d2fe6fL,0x78e02fa8ee2f6aadL } },
  40711. /* 3 << 238 */
  40712. { { 0xd6256e7c62c627c2L,0x5571edfc3cbb10dfL,0xfedec45771cca8f4L,
  40713. 0x2e26ac5f8483eed6L,0x8e8c0671173508c2L,0xfd9f25d50f39bf76L },
  40714. { 0x1cb080c3094cc1b1L,0xd367ca8c113e6552L,0x4ae2ca36bedb511cL,
  40715. 0x0de0c3e34707eeb6L,0x204cc610239d3097L,0xb235dbf0adb00383L } },
  40716. /* 4 << 238 */
  40717. { { 0xc0426b775e3c647bL,0xbfcbd9398cf05348L,0x31d312e3172c0d3dL,
  40718. 0x5f49fde6ee754737L,0x895530f06da7ee61L,0xcf281b0ae8b3a5fbL },
  40719. { 0xfd14973541b8a543L,0x41a625a73080dd30L,0xe2baae07653908cfL,
  40720. 0xc3d01436ba02a278L,0xa0d0222e7b21b8f8L,0xfdc270e9d7ec1297L } },
  40721. /* 5 << 238 */
  40722. { { 0x9704cdc6a9c26f4fL,0x96808107908a6756L,0x73be47d40f1def2bL,
  40723. 0xd32c11d619215394L,0x1a59b9541842c2f2L,0xd64a70bb52c94807L },
  40724. { 0x32b08c3e9dd262b3L,0x54d2cdc4440315a0L,0x671b3139425ace14L,
  40725. 0xd418542f2c7518e4L,0xce5e1712cc1bbdaaL,0xb3268403131f98adL } },
  40726. /* 6 << 238 */
  40727. { { 0xce4b39874e39e87dL,0x8e60a901966f4603L,0x1b95e4fd73c4a679L,
  40728. 0xae87f845b004310eL,0xcd50aedf815684c5L,0xa56805d343c77e38L },
  40729. { 0x9a429abcf0588403L,0x77dd1a02009e699dL,0x27ad38fb52a417d6L,
  40730. 0x62591579fd8f6d00L,0xccb12126ea58f822L,0x3a009e76760a3ccfL } },
  40731. /* 7 << 238 */
  40732. { { 0x17688d3410023b42L,0x9bc8bd6f7cfadb6eL,0xe4cdf89f460aa255L,
  40733. 0xf709740a99eb21f8L,0x1ea8115cbd460bacL,0xbf7bafe8ac7e6629L },
  40734. { 0xf8dc02bb096de741L,0x982f7becd2f6a583L,0xd971589a0f92bfeaL,
  40735. 0x662793afc02acbaaL,0x1b0f7d5eb771574eL,0xd9f71c4c66985cdaL } },
  40736. /* 8 << 238 */
  40737. { { 0x4f120aa7e2a07891L,0x9158bab3a25d3225L,0xc96bac5ecfe5f7a8L,
  40738. 0xd4e73d59bbf3cec6L,0xed8d233560361cd5L,0x9b1a252c562f444cL },
  40739. { 0xbd37d3cfc70f23c2L,0xf13b3b6ea52ea19eL,0x7e35535a3d2f41edL,
  40740. 0x0353b52ee8b1743eL,0x31d89dfd7b5a2765L,0x2b7ac6848d9ea8b8L } },
  40741. /* 9 << 238 */
  40742. { { 0x3613afb361bd36b3L,0x85171aef3e0339eaL,0xdaf0c280c833abe6L,
  40743. 0xde566372e4500f09L,0x487dbef84a5bda73L,0x5cc00564e6e3f324L },
  40744. { 0xbdf148cfb96abd01L,0xf8dbeda5ba9306ffL,0x05774d1a5ac0b828L,
  40745. 0x73ddc3248cf4a56dL,0xabc5af5232dc6125L,0x15ad6d2573294d7bL } },
  40746. /* 10 << 238 */
  40747. { { 0x7b5bbe51bd6086deL,0x7fbc95303816cee6L,0x60ac14fab3354bf6L,
  40748. 0x2b2abe43c9a6e793L,0x6ffae7342e19664bL,0x1d0e38b90064bd95L },
  40749. { 0xc1303ba3fa9f23beL,0x6d5f4ea5d8f0a46cL,0xf8f472517a270649L,
  40750. 0x126c13ae723a5a0dL,0xe4d0a19e5e21273eL,0x18076170e83abb8cL } },
  40751. /* 11 << 238 */
  40752. { { 0xc21dc6946b771809L,0x2501f25600f85b8aL,0xb3a21dc347382df8L,
  40753. 0x25ede3c239dee18dL,0x39709b9db29b770cL,0x6eb314d510fa9c5aL },
  40754. { 0x79140b1f508f5e59L,0xcce9f7cedeff2816L,0xa153c050400bc8a1L,
  40755. 0x052e03c4ff2c127fL,0xf8ffff1f841a03adL,0xc0c2626345896fb5L } },
  40756. /* 12 << 238 */
  40757. { { 0x06a67bd29f101e64L,0xcb6e0ac7e1733a4aL,0xee0b5d5197bc62d2L,
  40758. 0x52b1703924c51874L,0xfed1f42382a1a0d5L,0x55d90569db6270acL },
  40759. { 0x36be4a9c5d73d533L,0xbe9266d6976ed4d5L,0xc17436d3b8f8074bL,
  40760. 0x3bb4d399718545c6L,0x8e1ea3555c757d21L,0xf7edbc978c474366L } },
  40761. /* 13 << 238 */
  40762. { { 0x905ad4bf3023ec1eL,0x8cc101ca16081c1eL,0xe0d47ec79cb74127L,
  40763. 0x1be5f86725da2dd4L,0xcba2ee4507ebac2eL,0xcee26667e22d87d1L },
  40764. { 0xfc339af1c7c409ecL,0x112af9b47b7ef32fL,0xcc3e07898b821999L,
  40765. 0x4234433c222b3478L,0x55bcc87ddbce50c0L,0xcb6141cd7816f642L } },
  40766. /* 14 << 238 */
  40767. { { 0x8ae24e6b67f38eecL,0x61adae20ea14bc0dL,0x32737584c480c3fcL,
  40768. 0x44f61b79812ee744L,0xc8f607d5fe06d5d2L,0xfeaeb2bcea45267eL },
  40769. { 0xe004522bb92c909eL,0x5171fe360ab3e854L,0x659936fe63ebc481L,
  40770. 0xdde6dbbff76649d4L,0xb38c160fe2295d0eL,0xba608b7e1e8f5c1bL } },
  40771. /* 15 << 238 */
  40772. { { 0x55616c4c86c2cb9cL,0xcfa8b484173526faL,0x096a09d90039a4c9L,
  40773. 0x6ccb4964f300a73bL,0x42dd78ac66819855L,0xa7c532c10941599cL },
  40774. { 0xd15905f0b630220bL,0x9f4893ca5637e103L,0x768c09bf8a2115abL,
  40775. 0x5091f4399c52755bL,0x4ad1c0f6d38e7c50L,0xf6e6b2d054eb4439L } },
  40776. /* 16 << 238 */
  40777. { { 0x73457010c46db855L,0xccb68c43dd579fb8L,0x705b0e8c9c25fe5bL,
  40778. 0x40f36ea182dd0485L,0x3d55bc8527ac2805L,0x15177c6fad921b92L },
  40779. { 0x51586cd55ab18cabL,0xf51b5296cbb4488cL,0xbb4e605e84f0abcaL,
  40780. 0x354ef8e3772dd0daL,0x7f1a8f795e4e1d41L,0x93461f09de5d8491L } },
  40781. /* 17 << 238 */
  40782. { { 0xe186b0b09cd7d54aL,0x0451cb0dd4303760L,0x90a8b0f84b38f082L,
  40783. 0x2357f03700b04fffL,0x8a4669f86d81dbd3L,0x2a5cb6f6bd94842aL },
  40784. { 0xa13d19c4c498a572L,0xb7b8fe10cd937a76L,0xf8df355ed9842244L,
  40785. 0x64fc9d62b077c8feL,0xd4b2c3cce9dd337eL,0x7c63799ad3784edaL } },
  40786. /* 18 << 238 */
  40787. { { 0x39fe6673a780fd38L,0x8bc8d026a4b4cfa8L,0xcc339850801c44bcL,
  40788. 0xb5d80c4bc2dca07dL,0x745ffb5d91f1408bL,0xb55588f89017d1e7L },
  40789. { 0xafef3cf1c3d76a1eL,0xe3a6e8058e1367ebL,0xd09ea1e2a642d2bbL,
  40790. 0xf303c613216e63e5L,0xe699e51cc98908e6L,0x835d4cefafeac3c2L } },
  40791. /* 19 << 238 */
  40792. { { 0xd1cbe55ee5000eceL,0xc1a074b01ff0f474L,0xc6681f48d7ffb89bL,
  40793. 0x7c68011d48d0bb4dL,0xf305627bdcef5e07L,0x0f0e0c36323ee3fbL },
  40794. { 0xc5c6b61355f5f185L,0x6e4de5af52d6cc84L,0xa64ea548889fe8bfL,
  40795. 0xc4c5e4104d28350eL,0xef944a8f7dd3072dL,0x7ed579fa13356185L } },
  40796. /* 20 << 238 */
  40797. { { 0xec72c6506ea83242L,0xf7de7be51b2d237fL,0x3c5e22001819efb0L,
  40798. 0xdf5ab6d68cdde870L,0x75a44e9d92a87aeeL,0xbddc46f4bcf77f19L },
  40799. { 0x8191efbd669b674dL,0x52884df9ed71768fL,0xe62be58265cf242cL,
  40800. 0xae99a3b180b1d17bL,0x48cbb44692de59a9L,0xd3c226cf2dcb3ce2L } },
  40801. /* 21 << 238 */
  40802. { { 0xe646281876ba99afL,0x1d53bd27818b5992L,0xc55e135d67e1d81bL,
  40803. 0x32b9e37023e211feL,0x91ea63dc130b1176L,0xd7e1cc51a34fbb3cL },
  40804. { 0x5363fd962fee934dL,0xd19c50ba0b8fd289L,0x21257825a11c27b6L,
  40805. 0x19159a966792c1ccL,0x0ccc3cac39a08fbaL,0x841cb58a45512d8eL } },
  40806. /* 22 << 238 */
  40807. { { 0xae8532c3224ab492L,0x8bc92c85f6acd0ddL,0xc071ba92b796d21dL,
  40808. 0x1290162943797a3bL,0x8f4c5fb5ec950329L,0xfab6f950cf0578e3L },
  40809. { 0xb7b8d211bb6aa75cL,0xb06279dc3d1147f9L,0x060db1a7591820cdL,
  40810. 0x0e691a412830f356L,0xac00664224b8bc33L,0x579f9c052f17441eL } },
  40811. /* 23 << 238 */
  40812. { { 0xd8b9dcd50c4cb7edL,0x2f59d64c7619cdf4L,0x7e83d18e284bc6f9L,
  40813. 0x49af25123e415166L,0x90388976ccd64d11L,0x4708fffdfe2580b6L },
  40814. { 0x7a8d25ff17dd4d8bL,0xba7785fefd71355bL,0x7cceb111b9789cc6L,
  40815. 0xa8fd782ee98d6b78L,0x8d1b7fb66135d4a2L,0x78c2267d35e382beL } },
  40816. /* 24 << 238 */
  40817. { { 0xf38995589311182cL,0x1bee4c4bb657a7b7L,0x0b1c4fd32df8d1a7L,
  40818. 0xf16bcc2376d3fbbfL,0xd5888916f4fd52bcL,0x3de6cfb4d5cde1f0L },
  40819. { 0x764ffffdd4a07dfdL,0x5e674426e2642182L,0x34f64762ccd57b85L,
  40820. 0x2233a4c329351062L,0xdf076095d9c642f3L,0xac917a2c59f0df34L } },
  40821. /* 25 << 238 */
  40822. { { 0xe588d5a8cf2f7d4dL,0xb45923ee86798c14L,0xffefd323f0623572L,
  40823. 0x24dd7019005f605aL,0xb9e833053a6edaecL,0x039ed04949923a44L },
  40824. { 0x0f83a74360789fd2L,0xb4f91a8e9b001515L,0x37b856664261ad9eL,
  40825. 0xc291caa68b92b7afL,0xfa0f8a5e67ba28e0L,0x362a6808c5eefb98L } },
  40826. /* 26 << 238 */
  40827. { { 0x8aee939cc64e4ab3L,0x3baac0a844621bb2L,0x9094a09629da9bc3L,
  40828. 0xa92dc70806d2314fL,0x45c1cd0e34235918L,0x51aeb007c34021a4L },
  40829. { 0x58267735a3492237L,0xe8d494bd375eb21bL,0x664dacf5a395bf8bL,
  40830. 0x2ef1feb612cec40eL,0x90c5f43fa7141e5bL,0x93e80dd03855169fL } },
  40831. /* 27 << 238 */
  40832. { { 0x2e550006211b2fb3L,0x8c82e59d6cab73baL,0x011bb2fb2bd326b9L,
  40833. 0xfbd519ff1e0efd69L,0x0fb2f266320cec7fL,0x879e28c03518fac3L },
  40834. { 0xd0887775e01294eaL,0xf6e60efd1df5bb0aL,0xb2a5d3a404d04a96L,
  40835. 0x915eaa29a4f3500fL,0xcb6c03f70db6bde4L,0xfee081a405f30cc1L } },
  40836. /* 28 << 238 */
  40837. { { 0x9580cdfb9fd94ec4L,0xed273a6c28631ad9L,0x5d3d5f77c327f3e7L,
  40838. 0x05d5339c35353c5fL,0xc56fb5fe5c258eb1L,0xeff8425eedce1f79L },
  40839. { 0xab7aa141cf83cf9cL,0xbd2a690a207d6d4fL,0xe1241491458d9e52L,
  40840. 0xdd2448ccaa7f0f31L,0xec58d3c7f0fda7abL,0x7b6e122dc91bba4dL } },
  40841. /* 29 << 238 */
  40842. { { 0x24e2801364ca563dL,0x6f06fde270f8f91eL,0x9abcca1bd2a65c0fL,
  40843. 0xc5728ffca5aa1e40L,0x654f0f56eb9d3e45L,0xe04ada2394161a0cL },
  40844. { 0x001b25626ddbc960L,0x253b447aef93504dL,0x895ce21e2d6dc894L,
  40845. 0xefb987381c1b63deL,0x6adb6eecde8b806aL,0x9ea3884e0240e7bfL } },
  40846. /* 30 << 238 */
  40847. { { 0xe8387f68411ad563L,0x98a962eacc5f157bL,0x8093a8d296090321L,
  40848. 0x240a73083790052dL,0x6cb4a7382e7dcedfL,0xda65bf8481a60e8cL },
  40849. { 0x420ce478c66c70aaL,0x0e7959ec42da3021L,0x44bc9d3c7e35aa20L,
  40850. 0x36e49d764e9df39bL,0x7281073a9b286287L,0xd9a068422524b62dL } },
  40851. /* 31 << 238 */
  40852. { { 0x00d6e0312546247eL,0xcc2851020fdaebdaL,0xb8a453f15601006fL,
  40853. 0x0afaa3f138be7068L,0xc87acb442c6cd9f1L,0x10dd5d031ffd5fbcL },
  40854. { 0xbae0b62fddacbbd0L,0x1daadc18446bf2e2L,0xaeaf15317ef0facdL,
  40855. 0xe7b92b76c941808fL,0xda59af2ae6d0dffeL,0x1c09b783e612b888L } },
  40856. /* 32 << 238 */
  40857. { { 0x3bd258d8775f516fL,0x4bedebd5c715927fL,0x5b432512e3f966a0L,
  40858. 0x338bfca7709d0c2dL,0xd142cc1049658259L,0xfabc6138636b8023L },
  40859. { 0xa9ef94014d4ef14dL,0xd5917ac1c54c570cL,0xfd2f63c55cb64487L,
  40860. 0xbae949b11cea475bL,0xa45446031e67a25fL,0xa547abc1dc6a7a6aL } },
  40861. /* 33 << 238 */
  40862. { { 0x6c7b4cf344b880b0L,0x29da87760a388eaeL,0xf434d173fe9617c9L,
  40863. 0xaf67cc2ea47abf28L,0xe211ad37249d0eb4L,0x88d156e538bce76fL },
  40864. { 0x60320c6dd58fa585L,0x7b352c39ebf09a7bL,0x9305dae8a31ce734L,
  40865. 0x70c35be89361cc3bL,0x6b8b71f8bcd14255L,0xd1b7963572a457a7L } },
  40866. /* 34 << 238 */
  40867. { { 0xd8d04787ef8849e1L,0x58adf044148375e5L,0x5b613ac476623232L,
  40868. 0xbd274d2f95d7e359L,0xd97acbd271576bb6L,0xd20bb2c34c7fc4b7L },
  40869. { 0xe15465315f837664L,0xddac59b5fb4ce79aL,0x33fef5214fb36e08L,
  40870. 0x0467811045108b22L,0x0de6c7766dbe57bfL,0x456d765a25fea77bL } },
  40871. /* 35 << 238 */
  40872. { { 0x4d9838a32922b715L,0x3cd9fc0a6a7bb3a7L,0xb1bf28fc2247e916L,
  40873. 0x92dd22006f206a16L,0x8ea87d67b51256caL,0x2c535730b5a4bf17L },
  40874. { 0x34da42505f584954L,0x72326fb8fefca748L,0x40fd9d09da2844a2L,
  40875. 0xaadaf71c412da037L,0xa62329a9aa6f884aL,0x1b6165e6726a8f8cL } },
  40876. /* 36 << 238 */
  40877. { { 0x2a2dedafb1b48156L,0xa0a2c63abb93db87L,0xc655907808acd99eL,
  40878. 0x03ea42affe4ac331L,0x43d2c14aeb180ed6L,0xc2f293ddb1156a1aL },
  40879. { 0x1fafabf5a9d81249L,0x39addead9a8eee87L,0x21e206f2119e2e92L,
  40880. 0xbc5dcc2ed74dceb6L,0x86647fa30a73a358L,0xead8bea42f53f642L } },
  40881. /* 37 << 238 */
  40882. { { 0x39de72e225e62213L,0xd885c406a03a58adL,0xa63964b527e76458L,
  40883. 0x93f83239637c0becL,0x8c9e29b4ba556e65L,0x7d746448a6183182L },
  40884. { 0x6dee01aa09a8eb37L,0x97289f2e757ffa96L,0x367ec50fb4785102L,
  40885. 0x200f77cdb3d07cd8L,0xadc7c000a581946eL,0xa2dba5e52c0b32aeL } },
  40886. /* 38 << 238 */
  40887. { { 0x95a5a7f0b203f75fL,0x9b574cfcb5df11f0L,0xbf5fe3f2dba4b4e6L,
  40888. 0x347a7bd7d0987125L,0x858dea6b09377a2aL,0x87cb1e66eea85d5fL },
  40889. { 0xe7619b666146a0c6L,0x0012585a8a0bc101L,0x738e6589ea0ce92aL,
  40890. 0xf23547979a39b3f0L,0x666f3f5d6dc81167L,0xe569cc82fb06b0b3L } },
  40891. /* 39 << 238 */
  40892. { { 0xef0e64399c7677d5L,0x052bf027efc398c2L,0xa5d253cc515e4198L,
  40893. 0x7b915f07a71ce047L,0x56880ea2e177dbf6L,0x735dc74f0b5741d9L },
  40894. { 0xa108632f0161a0acL,0x0c68765705e7e09eL,0x694e651e211709e0L,
  40895. 0x334e15e51d879a41L,0x6191d34260c2a603L,0x3a8ce0e6224234d7L } },
  40896. /* 40 << 238 */
  40897. { { 0x158d814db12c4bb1L,0xe52f75d22f0cf4faL,0xf106023e6141b59cL,
  40898. 0x5eb8b8ebbeb9d941L,0x1dd3972990cf579cL,0xb273252e69ee6efaL },
  40899. { 0xe43a3c593e9947a0L,0xd605124f6c19dd01L,0x8090fdbd05c578b0L,
  40900. 0x8e6c535a622ff18cL,0x3600b0c257d12071L,0x6d026e5c78d001d7L } },
  40901. /* 41 << 238 */
  40902. { { 0x6e515f3608e33ad5L,0x3e320c5283512d9bL,0x171ab26a5ca1c452L,
  40903. 0xfb3061e874c97139L,0x7944644c9cacf3aaL,0xedc724f03687cfceL },
  40904. { 0x7252d7590db9b5beL,0x625f17ed0eeaf1d4L,0x6b0b4e5e82e3c58bL,
  40905. 0xf03d7bcef0f2ecc3L,0x4cbaa878139a7580L,0x982e471672203e07L } },
  40906. /* 42 << 238 */
  40907. { { 0xa533f574e335d60dL,0x102b66fb2aa6855fL,0x7a57420c49946287L,
  40908. 0xe3bb702286f393c2L,0x1892642d04a41c49L,0x2c47ba38d44969feL },
  40909. { 0x9068650444388ef1L,0xd94f6f131eaf6b54L,0xf81d8782f0b872e8L,
  40910. 0x7ced5924d013f6eaL,0x76ef63d307cd721cL,0x888646b36cba783fL } },
  40911. /* 43 << 238 */
  40912. { { 0xd2c858157ec1660cL,0x6c8988a3ee73763cL,0xd6cc562d5e80aaeaL,
  40913. 0x48f399d975768c58L,0x3189bf68af50c1c3L,0xa3f8d2df27dc372fL },
  40914. { 0x99d6b416b8c7c529L,0x531707944406b1e6L,0xafb57933e3ac044fL,
  40915. 0x530ad3bab2548505L,0x791a290a977590caL,0xb0d07228646fd1fbL } },
  40916. /* 44 << 238 */
  40917. { { 0x636225f591c09091L,0xccf5070a71bdcfdfL,0x0ef8d625b9668ee2L,
  40918. 0x57bdf6cdb5e04e4fL,0xfc6ab0a67c75ea43L,0xeb6b8afbf7fd6ef3L },
  40919. { 0x5b2aeef02a3df404L,0x31fd3b48b9823197L,0x56226db683a7eb23L,
  40920. 0x3772c21e5bb1ed2fL,0x3e833624cd1aba6aL,0xbae58ffaac672dadL } },
  40921. /* 45 << 238 */
  40922. { { 0x86d2f71530cf85afL,0x8e1b053cf7e634e0L,0xe79592f43a4e466dL,
  40923. 0x26752e8506985331L,0xfd098e83dff73363L,0xaa158e2c505ffbc0L },
  40924. { 0xe45fa1cba0fe759cL,0x6e2f5989bc0d1491L,0x4a804eacae7210a9L,
  40925. 0x0e252f758a63f67bL,0x0d7600cf362a7df7L,0x795069bf6d5b2b18L } },
  40926. /* 46 << 238 */
  40927. { { 0x25f9f0fc0649613bL,0x109521f05d3005d9L,0xcce1c5b41feba4c2L,
  40928. 0x6a27cfafacda6021L,0x37ff83303ab6382eL,0x53c7ccb715ca79f3L },
  40929. { 0xdffa6c9633611dd4L,0x7555cfd4352d3916L,0x2354bec62cbd44f7L,
  40930. 0xaf0044c54b0b500cL,0xe4835df7ce9aade1L,0x14e57f6bcb218644L } },
  40931. /* 47 << 238 */
  40932. { { 0xb5e26899b1c22bd8L,0xde12b0b51aaf3460L,0xc269595c31ee049fL,
  40933. 0x8c7513c88a73ed74L,0x8273018450cd009eL,0xb2cd2dec4d130b5fL },
  40934. { 0x1a9015521971a189L,0x6ce23544c6f39bc3L,0xd76133aa9467badeL,
  40935. 0xf91173cc071ee7a4L,0xe54d8f44b8267c73L,0x5725e0676dc9aee6L } },
  40936. /* 48 << 238 */
  40937. { { 0x00e0a003daff1807L,0xcb9d155992c94fd0L,0x3c2b5c3dcebbf905L,
  40938. 0x9c799ec7d338afa9L,0x60b9908c4e2cfcccL,0x4bfe1a57ae3c6f92L },
  40939. { 0x480d310efb116150L,0xa1ed6c31e3e7888eL,0x841a11d9720b5196L,
  40940. 0xcc337d178adff37dL,0x08c668265faa86c5L,0x945c90d49dfcc7adL } },
  40941. /* 49 << 238 */
  40942. { { 0x0fcc0854f2b3622fL,0x3a9e218ab6833f04L,0x209125d4ee8fc062L,
  40943. 0x98b2c628a3c3bf2eL,0x7e051fda83ca6a6eL,0x81afd3933d87981cL },
  40944. { 0x8f3beaff4baf556eL,0x0f1b27fdcc7e66c7L,0xbf0b08f59f4a4461L,
  40945. 0x8eb739fa141985e5L,0xdb5b46112da43947L,0x63bf81cbe5cabfddL } },
  40946. /* 50 << 238 */
  40947. { { 0x355e40d398ff85afL,0x19f2f3c2b08f836bL,0x0a62d254737cb5f7L,
  40948. 0x5d0ef7d9f8c50d82L,0x773a399ebbd70eb7L,0xac357974a70bea8bL },
  40949. { 0x1de5a45cb3b5d794L,0x67c58b52a48b55b7L,0x724f56f4b02ebc8bL,
  40950. 0x03dc71e3154ad508L,0x9bcd3939cc84428aL,0x7fdba978158c4a0eL } },
  40951. /* 51 << 238 */
  40952. { { 0xac08e06e65b93d44L,0x2397625a5358c691L,0xfbc9285a8516e31aL,
  40953. 0x38ce0d3544ffe25eL,0x13381dd16414072bL,0xf782fddc170ecb4eL },
  40954. { 0x78c71a716f815259L,0xb725870573659a85L,0xd37678008712d968L,
  40955. 0x153d8aee3eda5006L,0xda4fd94818f1439eL,0x6384135352dbfdf8L } },
  40956. /* 52 << 238 */
  40957. { { 0xce92224d31ba1705L,0x022c6ed2f0197f63L,0x21f18d99a4dc1113L,
  40958. 0x5cd04de803616bf1L,0x6f9006799ff12e08L,0xf59a331548e61ddfL },
  40959. { 0x9474d42cb51bd024L,0x11a0a4139051e49dL,0x79c92705dce70edbL,
  40960. 0x113ce27834198426L,0x8978396fea8616d2L,0x9a2a14d0ea894c36L } },
  40961. /* 53 << 238 */
  40962. { { 0x06d57f2920514206L,0x61394b863a2cc1ebL,0x0ffdf49a86c7b2c1L,
  40963. 0x65334e9349f58f13L,0x180b10b8c08dfb05L,0xec352adef6c95b7aL },
  40964. { 0xf9801dc0c4bde0faL,0x428c77f0dabf0c66L,0x2a7d1bb0c2eb80d4L,
  40965. 0x81774172fdb56fabL,0x7507481f1d965515L,0xee0693bb8ebfadebL } },
  40966. /* 54 << 238 */
  40967. { { 0xf4589418ac56a031L,0x21f3dec6f2718a10L,0x0ed08d9690f28b6fL,
  40968. 0x2624bd7a35c3a6a3L,0x1b3f02e8bba795f2L,0xe629b5aa3977fd17L },
  40969. { 0x66c8cd7691e8df1aL,0xf36c4e2c1b2b5542L,0x7f6b742f7dff66a7L,
  40970. 0x00bc68b8242e0fc2L,0xdff5c73360119d9bL,0xe726260fb5c4dddfL } },
  40971. /* 55 << 238 */
  40972. { { 0x0242fa358eeaa549L,0x2d081bcf8abc93c6L,0xaa31813c55551d40L,
  40973. 0x1cf21c1271db3aecL,0x5a6dede7203880d9L,0x389c63cabe4aaa9aL },
  40974. { 0xff4db7d4bf28086fL,0xd89c039b33146844L,0xc2b32bf06df6f790L,
  40975. 0x7f4e836b9f22fecaL,0x3f64d0fa0af51572L,0x681a1f5bc67aa565L } },
  40976. /* 56 << 238 */
  40977. { { 0x9f9ac9608e2941a6L,0x43e7ff902fc4fe1eL,0x5ec413596033e041L,
  40978. 0x5ce791c46f6ff0f3L,0x8d134b899d907343L,0x7bd15c7786304df2L },
  40979. { 0x2cd2ebc777c4a913L,0xcd86a39d45f07153L,0xe7e12d2e88bc423bL,
  40980. 0x478e814b0b3163f4L,0x78bd9c8abe8ec766L,0x6a5763e87709ce48L } },
  40981. /* 57 << 238 */
  40982. { { 0xb503ac624329d7f4L,0x3a900374488e3ce4L,0x8a11addab0d8dc97L,
  40983. 0xbea3ea2c0873bdf8L,0x0f57130115bc7adeL,0xbc98d2070b2b69a0L },
  40984. { 0xaefc4047639d182dL,0x0e6db26feb3c44eeL,0xaf0f8b392a68a48dL,
  40985. 0xde65a6b36bf1e593L,0xe48f8fc989dbd38aL,0xad18a43bd8d285b3L } },
  40986. /* 58 << 238 */
  40987. { { 0x249d86007e9d48c8L,0xec6109ba109a54bbL,0x64f688af5ac65ad4L,
  40988. 0xb12c85b4be1796baL,0xcc258d31c9940da0L,0x59590853ff2f151bL },
  40989. { 0x9e9edc4d401c5d1dL,0xdd9ad117f230b458L,0xc2c752ac962334b6L,
  40990. 0x3fab66ce27327e6cL,0xa363d3643816a47eL,0xa6fc57bec180bbdeL } },
  40991. /* 59 << 238 */
  40992. { { 0xd72dd5893ff345d5L,0xf87c17ae41e1d287L,0xadadbf525964d55fL,
  40993. 0xecc7f27af8b07db1L,0xa2dacfce6f2aa320L,0xc7936da72aa3f228L },
  40994. { 0x2e9e6058fa504b87L,0xf2df43279d0f0634L,0x90d5ee22a4b768c5L,
  40995. 0x1ea9bf0b5b46ea84L,0x792370f45cc41770L,0xfd17823176c1a3f5L } },
  40996. /* 60 << 238 */
  40997. { { 0x4f1e1254604f6e4aL,0x4513b0880187d585L,0x9022f25719e0f482L,
  40998. 0x51fb2a80e2239dbfL,0x49940d9e998ed9d5L,0x0583d2416c932c5dL },
  40999. { 0x1188cec8f25b73f7L,0xa28788cb3b3d06cdL,0xdea194eca083db5aL,
  41000. 0xd93a4f7e22df4272L,0x8d84e4bf6a009c49L,0x893d8dd93e3e4a9eL } },
  41001. /* 61 << 238 */
  41002. { { 0x4c124a904190257aL,0x09002f52347e517bL,0x2e9b69a1e5760993L,
  41003. 0xbaa49e53e26672bcL,0x9468fc3bf7820190L,0x637bccfe1f955328L },
  41004. { 0x16fd33f26e0aa088L,0x9391550757b2b2adL,0x85e98842e9a0ace2L,
  41005. 0x8e2bd52b4fa787afL,0x8a86bd85644aeeacL,0x63490956c2814734L } },
  41006. /* 62 << 238 */
  41007. { { 0x5e902fb3063b3517L,0x0cd006cae5a65212L,0x597bd7804591c4bcL,
  41008. 0xd853d81be17c1d3dL,0xbc4bf68156e5d24fL,0xbc801615d26b5ce5L },
  41009. { 0x1ffa5cd5caeecbe7L,0x16ec32a4b0203156L,0xaaad43269a857672L,
  41010. 0x0606ebf9189c6f6dL,0xb90730bd57e476f2L,0xed8d82b1d492fb05L } },
  41011. /* 63 << 238 */
  41012. { { 0x69a2a9b6ff824814L,0xe7b716e7c35c5da3L,0xb6781a5e9a5fde1aL,
  41013. 0x08bf695dc072e1b5L,0xaadf71462590a817L,0x490297f9c755c83aL },
  41014. { 0xbd9fad6191c29990L,0x87b3abc226b6cb9dL,0x6975d59865fd0b64L,
  41015. 0x0fdc5267f4257158L,0x9f3e10585877bbdeL,0xb7f4cfb04297a2d1L } },
  41016. /* 64 << 238 */
  41017. { { 0xd699ea2d8d095606L,0x3cd080c51e0ddd3aL,0x46604bad66a8b35bL,
  41018. 0x0c779b624233fccbL,0x578458acbfd3cf0cL,0x6820f66596bf57afL },
  41019. { 0xa9724245bf1f302cL,0xbbde24da277a6c3eL,0x0980a5b8c6be8c14L,
  41020. 0x6230e3ec774d62c4L,0xda1467d84fbde24bL,0xd9d68d07cc862204L } },
  41021. /* 0 << 245 */
  41022. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  41023. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  41024. /* 1 << 245 */
  41025. { { 0x67c516347378f90dL,0xbc201a7966647082L,0x77fcc8dc9ee450cfL,
  41026. 0x8dd2b318b41a3e2fL,0xdf6a935e93bf0689L,0x75edabf3a92e5464L },
  41027. { 0x49afcd9f604d208aL,0x372f0ea7d465ca48L,0xcdbd8ad2c7ea7810L,
  41028. 0xfe61571e550822b2L,0x744a4f9386606adcL,0x6beb3c9cd9d4e110L } },
  41029. /* 2 << 245 */
  41030. { { 0x1fef389ce700b9f2L,0x63029466425bc8abL,0xbd770a1437f04a33L,
  41031. 0xc7438e29d0169369L,0x6b265742e2377cc3L,0xdf24bf96c369fa4fL },
  41032. { 0xdfdbcf470ad94e08L,0xd101b8617f75a7dcL,0x5574a0b82a9c483cL,
  41033. 0x0563fe942de43228L,0x58ca0e8aead1fabeL,0xdc3d9a8466023966L } },
  41034. /* 3 << 245 */
  41035. { { 0x383bda07c3fd20e5L,0x9619b1df5c29449bL,0x6f3c717d369f39bfL,
  41036. 0x1bb593d11a5a3900L,0xd0f07ecc2aec6c2bL,0x9d72eb2a4240b202L },
  41037. { 0x35342f6cc50e4a0cL,0x701b46626b93bf61L,0xfcd6eb09ccb6a888L,
  41038. 0xabb7a6f785aa42c5L,0x952f8824aa4e5895L,0x49860db85c406582L } },
  41039. /* 4 << 245 */
  41040. { { 0x3667a7203955812bL,0x0d73483b284d1dacL,0xe084535efc62f791L,
  41041. 0x5bc1652b389faf7fL,0x40cf51683a71b7f6L,0x8a4b19fad4f39703L },
  41042. { 0x823e754a2a8eff13L,0xf01b2021bffa5afcL,0x5639ee027225b319L,
  41043. 0x7533bc86fc282f16L,0x710009d2c69f61aeL,0xe30c499dbf65e803L } },
  41044. /* 5 << 245 */
  41045. { { 0x0da7ac1b734b4ec3L,0xf47fc1d012a2afbeL,0xbbbc99be87dce4a2L,
  41046. 0xf7264b4edd5c6378L,0xe9409305f618ffdcL,0xafadda9bd1846ac1L },
  41047. { 0xe734f9d0a21850d4L,0x199cb44f8722a316L,0xcfe8704b38cae89fL,
  41048. 0x2db1e56b6b151b57L,0x116ca5cf69ce7b2cL,0xe9b8625f57de97c8L } },
  41049. /* 6 << 245 */
  41050. { { 0x18811bd5af247c49L,0xbc180793e124dbdaL,0xed978d3a21234fc4L,
  41051. 0x516dd9a70616ae15L,0x8f80677774e430b8L,0x9094256906e8fc49L },
  41052. { 0x4ca03fb5a4e61235L,0xb91de709b617f361L,0x0898d82d0ed08bc3L,
  41053. 0x2bd712368cb08146L,0x45b92d45e213176dL,0x05894791f2bf5b9cL } },
  41054. /* 7 << 245 */
  41055. { { 0x0d79cb892695ea2bL,0x2cb0f8dfc88e538aL,0xc1b8dc3da80f36feL,
  41056. 0xd756fa6684f00cc2L,0xa6f1cdec9cb9efb2L,0x5c3f15a8a6a21818L },
  41057. { 0x9a7ee3516995d09fL,0x88885463d70434bfL,0x18cecc6d4f7d5d33L,
  41058. 0x3f0138866b353bd1L,0x53bf798b0d9ad368L,0xeffd465a28dbc3eeL } },
  41059. /* 8 << 245 */
  41060. { { 0xeb29e44cb5d98ac1L,0xe47e57f80e227a4fL,0xd09c04943d2bf688L,
  41061. 0x3ab7799a47428dd2L,0xdc558d6be9aafac8L,0xc042c4cd87f9f6e0L },
  41062. { 0x93842bcd89fb4693L,0x62dbc82f7068fbf7L,0x164552687e6d47b5L,
  41063. 0xab304b7a4c37eeeeL,0xdbb3d4e13fc412ceL,0x4f65dad0a726a2c8L } },
  41064. /* 9 << 245 */
  41065. { { 0xb25e01b2605cdaeeL,0x74abec55bc57969dL,0x9c57bfabcdd9d41aL,
  41066. 0xa3330e3f4a9e32a3L,0x5929a0d8e5792fd8L,0x830b4ea271ea2cdeL },
  41067. { 0x80065ac1fd06d246L,0xa2b416e632e64a25L,0x3950bde7c0c927a9L,
  41068. 0x9951f3bd679d9b8cL,0xc235a274651b6855L,0xbfe5e08e5ad97bc1L } },
  41069. /* 10 << 245 */
  41070. { { 0x4409a5b6744ae145L,0x5e83fa0b7f620908L,0xfc489bec2e140aa0L,
  41071. 0x5805a462e3cae337L,0xe56e9ff7c2211c21L,0xb722f2b40c955362L },
  41072. { 0xb098a32f41371f33L,0xe6cceceabb4923d6L,0x1cfbe2b3d82a311cL,
  41073. 0xcf9428936b98f917L,0xd60dc62492ef848cL,0x34af446e5adb5228L } },
  41074. /* 11 << 245 */
  41075. { { 0x0eb7e743796ce1caL,0x138653e5d851377cL,0x69c7c86f2b11c8e0L,
  41076. 0x878ec1decdf2b205L,0x03e6688aae0e8562L,0x20810666935a36a8L },
  41077. { 0xc8ab7c7f26635c50L,0xe75cdb06744a21dbL,0x4e26f32fd720e198L,
  41078. 0xa1c6395ad8cded81L,0xb75dc6ea6ce4fc04L,0x71750b33004623b5L } },
  41079. /* 12 << 245 */
  41080. { { 0xbdef84077e60c447L,0x88570f712a65accaL,0xef3d4a400bb6aa79L,
  41081. 0x5c9d189060212976L,0x80179ea21d96c43cL,0x3f002e6d53d2948eL },
  41082. { 0x14b2cc9149d78183L,0x7a549c71b496c279L,0xf4beac3f44995f6dL,
  41083. 0x5a34239800bc78feL,0xa874dc1b60e42da0L,0x3a984010cf5824d5L } },
  41084. /* 13 << 245 */
  41085. { { 0xe514ee06dfb9760cL,0xb8862d7577b8951fL,0x0144676ef8ee1141L,
  41086. 0x49561a3002eb3e82L,0xb3541c154ff9f897L,0x1670edf0a7a99791L },
  41087. { 0xd41d603564aea7f9L,0xf66ffd092b3463b4L,0x0784e015c3b26fb6L,
  41088. 0x88edce33ec46f8c8L,0x1b1e25a3b6381011L,0xbfaadc03ff95ab97L } },
  41089. /* 14 << 245 */
  41090. { { 0x727a59fe0c7be4e1L,0x75a7d5e3f58ced15L,0x146fc0d990f569e7L,
  41091. 0x94dbccd2b7f1dc54L,0x0df1ef90b75bf232L,0x2943a082a2568190L },
  41092. { 0x75f2f80d67837b06L,0x07e3506f24b44b6eL,0x7c30829ad0d2231bL,
  41093. 0x9ce577ca93277abfL,0xa19d1868b17549ecL,0x0ad6ff5525e8c4d7L } },
  41094. /* 15 << 245 */
  41095. { { 0x16b38dfe1c24d075L,0x3acd4c36992959f6L,0xdaf2fe88ac2da7abL,
  41096. 0x76e8ff0e89644935L,0xb8547c26e85f7076L,0x9f149faa1cdea7ceL },
  41097. { 0x181a60729e125d84L,0xc4aef9fa18751ce6L,0x451c84660e00f00aL,
  41098. 0x662b3e7ac4e3e6b8L,0x57b7114ec6b64507L,0x07aeb1980b37fb70L } },
  41099. /* 16 << 245 */
  41100. { { 0x79d88e004516234aL,0x98dd3cb931f9cedaL,0xb528000fce7d606eL,
  41101. 0xc773557e2fa27fd3L,0x55b53dd3e19436afL,0x675084b3e10b64c7L },
  41102. { 0xe583266556d56374L,0xf8f7fd2a307e2e60L,0x7b93bf537af3e3dcL,
  41103. 0x94fafa2cf47d298cL,0x94c2ff9a21121369L,0xa41de95f33468ff6L } },
  41104. /* 17 << 245 */
  41105. { { 0xebbafd4720f25aa7L,0xe2becad71ac444bfL,0x323356a092a944b8L,
  41106. 0x32feccc0c9a3cec9L,0x15ec3aaf5f9e96c1L,0x852142b5c12c8e62L },
  41107. { 0x098ffcbf2b6865f1L,0xcca470e8733d7741L,0x0f8c0f5271945bf5L,
  41108. 0xfb654f6a08068827L,0x3a9e7d742a0e2829L,0xb90742b04b687763L } },
  41109. /* 18 << 245 */
  41110. { { 0x145afb651fdb2a7bL,0x93315b684eff5eadL,0x0cad1d20e40ca999L,
  41111. 0xda9b517a379a8173L,0xacb665780ca018cdL,0x1e9d919f481969b4L },
  41112. { 0x5c9a058d68130364L,0x872e26620a62ce5dL,0xca598848acaabe54L,
  41113. 0xdabfcee18aa048a0L,0x16198d034ac52a57L,0x72eb5ec632b6d102L } },
  41114. /* 19 << 245 */
  41115. { { 0x13f2e1726a0c96e0L,0x55aed9e02d6b6f05L,0x3c919ba3bdce76c0L,
  41116. 0x647a525ffdda39aaL,0x5c0dbecc01a9011fL,0xa537ba8d9fd9dcefL },
  41117. { 0x8472e375cff62467L,0x57672311ed5adf05L,0xd1e178dc6a423de3L,
  41118. 0x3ebcfe18d3ad3ca4L,0xb8f341d7ae802c11L,0x3f14c424ecdfdb7bL } },
  41119. /* 20 << 245 */
  41120. { { 0x381e0a136e4d2e42L,0x2f2a4ee183c0d752L,0x50d4647fc8e6532eL,
  41121. 0x7e210aeeb4e7495dL,0xfd147710bcd142a6L,0xddddb07b06429213L },
  41122. { 0x63e06fc64548a6b8L,0x05d9b825904f92a6L,0x4b63fdbf9988ee79L,
  41123. 0x6cfa412f9b3366bdL,0x0dd5fe3dc8c61f51L,0x3ec77027be8e047eL } },
  41124. /* 21 << 245 */
  41125. { { 0xea7d01cfc7d81791L,0xfa6c0fe6e2264afdL,0x53c7eea363651291L,
  41126. 0xe58f8411f2d90f92L,0x4919b4c61faf0e14L,0x0c7dcd07148e98a0L },
  41127. { 0xf9ef44cebc8bd43dL,0x3acfb6686f83cfb4L,0x34130e18f883693cL,
  41128. 0xda9ed2ae2d236c3eL,0xf54da64cc75cabdfL,0x1c3df906cc01722bL } },
  41129. /* 22 << 245 */
  41130. { { 0x686796c68d8f2286L,0xe0efaf9334d7cd1aL,0x84f9237c93b23708L,
  41131. 0xcb50cc8ee47f5161L,0x498b81e71f597821L,0x3c3f33e1a491079fL },
  41132. { 0xee300c6dc69d1bc8L,0x279760e734778389L,0xe00ac0eb2bb8ed78L,
  41133. 0x9bf9a10e765c8b5dL,0xc7e95c0cf8c1e909L,0x3721300ae6e63ea5L } },
  41134. /* 23 << 245 */
  41135. { { 0xc03ad784d8dfd7aaL,0x671384a64b065a2eL,0x9b21e9e7bed74e87L,
  41136. 0x153b606cf889f75bL,0x7345c62a2aab6562L,0x270e4f445960cb4cL },
  41137. { 0x515909fb885f0f88L,0xe43ee4f7067a7928L,0x5f906fc8fc182e56L,
  41138. 0x297ad5770641d0d1L,0xdcc45aa1d1b188b4L,0x8c817fb2ef062a39L } },
  41139. /* 24 << 245 */
  41140. { { 0x91e8c992044637f0L,0x01f7838827ee8e8fL,0x7c5e3f6dd095f5b9L,
  41141. 0xed7522fcddf3cad2L,0x80bb87056c57aacfL,0x495480b00cc5ff51L },
  41142. { 0x964def7f04da2565L,0x8b0d0fe3afa72140L,0xcc75192584de66a1L,
  41143. 0x9acaf7fe075f07c5L,0x6505c2f81eeade93L,0xa2f35aa00e3cf58fL } },
  41144. /* 25 << 245 */
  41145. { { 0x1ad38a2d80548b22L,0x4d6120df47a37b3aL,0x6d64ef8c23e33cb7L,
  41146. 0xa1b5f51723c14ca6L,0xd2cdd425039a8e83L,0xa0a359ae229dd2dbL },
  41147. { 0xde0788166c2779afL,0xd960453362d2abc2L,0xc5c48b20707c0e4dL,
  41148. 0xe452debd691c5407L,0x35c37ca882b0a299L,0x5b263014da3cde7bL } },
  41149. /* 26 << 245 */
  41150. { { 0xde34fa4586330487L,0x8391248153f61e6bL,0xd3f8fe742d04958dL,
  41151. 0xdade250f6df77d09L,0x3a3a16175649d9ebL,0xf9b77847a23abc74L },
  41152. { 0x31d45db63b2e2c8aL,0x311ecc24f61a7bf4L,0x206029f9c56eab17L,
  41153. 0xb9d9ff35878c672eL,0x0d268c160fbf2d91L,0x2474b527a45f58d0L } },
  41154. /* 27 << 245 */
  41155. { { 0xad8e84be8436beaaL,0x8f07eee4209eb5d3L,0x47cba1d83ee61bddL,
  41156. 0xa081f21f72018544L,0x5dffddf493d88d16L,0x539a79efcac3952aL },
  41157. { 0x990af57791bc452eL,0xb139d7d5012f5c6aL,0xf818c9f3fb180417L,
  41158. 0xeeb2d08475566152L,0x287571253f5d4ec9L,0x5a26505daa959798L } },
  41159. /* 28 << 245 */
  41160. { { 0x6536834e11b0f7b6L,0xcaa5271aad46c10cL,0xb5b6ead1fab43763L,
  41161. 0x25bf402ff7f7d8fdL,0xf33fb223e19374b4L,0x183ae9b75f348172L },
  41162. { 0x1783c235078862a0L,0x9981a6c33cd368fcL,0xf58d2274fd627f9fL,
  41163. 0x37ac9c265c5e71cfL,0x167c8d047b0f157eL,0x24f522f8eefc7d85L } },
  41164. /* 29 << 245 */
  41165. { { 0xd25aeab3926cc973L,0xb3e2cffbdfc2cfbeL,0xdd259ed1de742b6cL,
  41166. 0x9d77c94e7b98bf81L,0x90f9067cb0ead3d1L,0x148f2a192a93fec1L },
  41167. { 0xbae3c543c2850153L,0x0d330d758910422eL,0x06f80a9efa670474L,
  41168. 0xac6cee9f038431a3L,0x4900d17f5c22ee99L,0x62de04aa275a9774L } },
  41169. /* 30 << 245 */
  41170. { { 0xb6eefcc55f87fb35L,0x9766873b4371415aL,0x308337bd16b058bbL,
  41171. 0x6d5b1ddae1ac3884L,0x9307aa0835c4630aL,0x22cfcc0c23e91988L },
  41172. { 0xbeb3814c37db0207L,0x19ab212fc4bbaf5bL,0x0801a1cf21abf22dL,
  41173. 0x9e6862cb3bd07332L,0xaa12ba0e4319929aL,0x0da45831f540f97dL } },
  41174. /* 31 << 245 */
  41175. { { 0x67d8ac9484bbf927L,0x7dd04e4e4ea01d33L,0x24ea6386f13def66L,
  41176. 0xa8a1acbe28f7f5f0L,0x5f578ffecc84c93bL,0xda8fe295f4ad116aL },
  41177. { 0x4b610ae48483347dL,0xcac5c5596255f9e4L,0x19a0e043abcfe47bL,
  41178. 0xcd0cc9493966784eL,0xcc59a36743279291L,0xaa504087802961b6L } },
  41179. /* 32 << 245 */
  41180. { { 0xbe45d81a1b270599L,0x50696e7d97d6c603L,0x63c5a516b078ea89L,
  41181. 0x9f3efe41b4464764L,0x84580e24101e5232L,0x00850a1ac8ae8220L },
  41182. { 0xbff4077ded55c404L,0xd74de734f2e7bf50L,0x4df4eef207e1c03dL,
  41183. 0x4ab3d0396e654d58L,0xb20056cd086f1596L,0xe4d08a278acd7cd5L } },
  41184. /* 33 << 245 */
  41185. { { 0x5510cebfe354510aL,0x48925b9349998c9bL,0xa05fc961e6d707a0L,
  41186. 0x85bf38f866ebc93bL,0xea637045254e615dL,0xae25e2e740d8459aL },
  41187. { 0xa98583176efafd1dL,0x863931fd5a51c4b6L,0x3810d732d4221708L,
  41188. 0x959a2f70762a30f3L,0x7bdbaff9420ad3acL,0xba41b20bebdfe90eL } },
  41189. /* 34 << 245 */
  41190. { { 0x5e4d3280d3171eb9L,0x3fb715851bc65c5bL,0x6558962a901a899cL,
  41191. 0x78b7cd3e7851462bL,0x21228419ca8f6495L,0xfd8d8f9b2d8be765L },
  41192. { 0xe5e90b92bc562144L,0x4f1f7ca1ae3243edL,0xd20178cd0985f4e4L,
  41193. 0xe5be263304253cbdL,0x1e34141c0d348fadL,0x0073fa0dad0eef45L } },
  41194. /* 35 << 245 */
  41195. { { 0x922ddb84d403f20fL,0xf7bccbb54681def7L,0x81a1200f6b580442L,
  41196. 0x64901025dc2f9884L,0x3746675aabe78edaL,0x3e750369aa6f005aL },
  41197. { 0x140477ceeb00658fL,0xc76a320ccf89be62L,0x00761f21658c127fL,
  41198. 0x669186dfb8b6b03cL,0xbcdf1c36dcb26a2aL,0x94a7aba5da876a56L } },
  41199. /* 36 << 245 */
  41200. { { 0x1872f65c26163265L,0x9fbaf44fda52ad9cL,0xbec7addeeda47d38L,
  41201. 0x6a04dc3078094f9cL,0x2c73b8f15f4498e1L,0x504909efd4fcfcb4L },
  41202. { 0x747efbc6b6b3a63bL,0x856e276de0dadd96L,0xa22459aaae3be3a4L,
  41203. 0x9ef59e732294a854L,0x0717d4e5d0e36205L,0x5a6afa3eb734cdf4L } },
  41204. /* 37 << 245 */
  41205. { { 0x6bd8fd330e938950L,0x8b26d7fa0f20c4f3L,0xd29a1121e0604d4eL,
  41206. 0x23d1cae60711c191L,0x460af39d51914cb2L,0x9cd04208547463c1L },
  41207. { 0xeb80d70e493b7a0bL,0x182568869171652bL,0x9f3007ad76ca8b21L,
  41208. 0xf9bdeb4664ac10c4L,0xdaddd584284ae80cL,0x5c7ea28a0022abfbL } },
  41209. /* 38 << 245 */
  41210. { { 0xaef75aa7dc3c897eL,0x98bab5852e6432a8L,0x522b383d83fb0ee5L,
  41211. 0xe0d8620f056a8589L,0xd63525dd39352633L,0x74362bbfaeb985dbL },
  41212. { 0x11419f4e8c0f17feL,0x3ca918b0494ba972L,0x39f2bc3c6e074e25L,
  41213. 0x3bb66618fbbf0d60L,0xee60c8f88579fecbL,0x916f3fe92a9b905fL } },
  41214. /* 39 << 245 */
  41215. { { 0x14ed31b6482b668dL,0x8e3e10db5b65978bL,0x72ff92eee8011bafL,
  41216. 0x5183d0bde1143531L,0xdb628188f9c740d1L,0xd23cb9c57570e3d2L },
  41217. { 0x9e893cacd2745832L,0x49762940ef4a2b31L,0x02f6f892324361bfL,
  41218. 0x332e089dd7a881bfL,0xe9303153f788f52dL,0xcd6d15564e7f1bd7L } },
  41219. /* 40 << 245 */
  41220. { { 0x8caa623d408b62b7L,0xa58aa0b0c0272b41L,0x089af856ee285bfdL,
  41221. 0x77b461f6d0674ecdL,0xbaa9d9b38d6f6612L,0xa8f26e12590669f8L },
  41222. { 0xb164340c5ebb5e28L,0xfdc11f7401ea89a8L,0x73c03b9176e4346eL,
  41223. 0x6a678eb17caad5fcL,0x103ff0790a87803dL,0x25d6fd2af7430a94L } },
  41224. /* 41 << 245 */
  41225. { { 0x72cc0aba66116d84L,0x642c88681039c0fcL,0xaeded9e6d96a7423L,
  41226. 0x4ff4163ccc5fea03L,0x180e4d3616483ec5L,0xefde910a7f6332c1L },
  41227. { 0x8042696283367060L,0x4edce3e8c28af356L,0x2452e4de965139daL,
  41228. 0x15129fd9547477a1L,0x7f628b5ed80998cdL,0x7c56d44541054b54L } },
  41229. /* 42 << 245 */
  41230. { { 0x4c3f81184d3d9da9L,0x332072f9e1e71487L,0x8cbf7284759ef371L,
  41231. 0x3d13d85cb98ce007L,0x507b467f980f4fd5L,0x9853b98bc74fdfdaL },
  41232. { 0x94b81534993f5e19L,0x316b761beeca71adL,0x09820a2331c04080L,
  41233. 0xc71a9bd4420e3114L,0x569f813822ea67ddL,0xe3ec5d2b3a41b079L } },
  41234. /* 43 << 245 */
  41235. { { 0x6085b24a19bb6f27L,0xc2f18e8f64dcb82dL,0x8ff89ed91fd3888dL,
  41236. 0x9fbe31db0e525a5bL,0xd52dfb5df0527573L,0x90288a3f703193c3L },
  41237. { 0x87bb5d30bb1ce380L,0xb6c9a4c9f0dcf59aL,0xcbc52966aeb86e7aL,
  41238. 0xd151178a9a1636eeL,0x48342994e4b48c74L,0xe5bced925af80bc2L } },
  41239. /* 44 << 245 */
  41240. { { 0x106882534918179cL,0xdeb69dde08143b36L,0xfb3c527b992363faL,
  41241. 0x11d05e93e9393832L,0xe3249558383a0f59L,0x2d0f3e11c234ab5dL },
  41242. { 0xd50a30d95c599ae7L,0x6d7abc6ce9f98316L,0x3d190629060ab6ddL,
  41243. 0xfd58473c81d69afcL,0x841193d24b782d62L,0x4f72696da771226bL } },
  41244. /* 45 << 245 */
  41245. { { 0x288895d056e467a5L,0x78166a95e025a5b3L,0x89df640e895835dfL,
  41246. 0xdc2b61f483dcbc50L,0xbeaa7363110dd6a0L,0x2346a2a5e7fdbe3fL },
  41247. { 0x379ae5fb6947a9c4L,0x9dcf01956370a372L,0x34c3c6c3d70d9a24L,
  41248. 0x98ee14b7fe6a3d0aL,0xdd37708bba8ce5baL,0x785adb86a15c3672L } },
  41249. /* 46 << 245 */
  41250. { { 0x4c93de89c5ff194aL,0x56aef366fdc94109L,0xc8cb2a0c5b0b23d4L,
  41251. 0xd73f1cef587ada16L,0x7138315a364b1463L,0x43940ef59f6bd411L },
  41252. { 0xad068e490f4a533fL,0xe8a772a33c7dac91L,0x74b815fc107998b8L,
  41253. 0x4b8fa9db92699ee7L,0xfb2de4bf4cbb023dL,0xe5833a390f67c29cL } },
  41254. /* 47 << 245 */
  41255. { { 0xe985acae7fc4fa91L,0x7730e38ec66c4282L,0x4b971449f4bda67dL,
  41256. 0x55261be02b001f47L,0xccde0c7126d0d8e6L,0xa7ac56fd701f6febL },
  41257. { 0x2488b28552642a53L,0xeada397c58fcfabbL,0xa3fc0452b679b0e3L,
  41258. 0xd0ef09ffec2e921aL,0x9fcfd991575fb70aL,0xf4adcbbb366cb10dL } },
  41259. /* 48 << 245 */
  41260. { { 0x517075af5faa0cb7L,0x400a22c1efaf68f4L,0x320ce9493b86f639L,
  41261. 0x511565717f296bf4L,0x0919607a96108276L,0x4fcc39a02f035900L },
  41262. { 0x5d13de7cefb73f3fL,0x19d725c5081c38e3L,0xf1b28089c0f58697L,
  41263. 0x2adcd1a30ca7ca20L,0x96c07f42c21e1be5L,0x94d28cacbaa0aba0L } },
  41264. /* 49 << 245 */
  41265. { { 0x0ff4983fd64cfa4bL,0x2c49c4918c55942cL,0x6093eb7f98eb20baL,
  41266. 0x1b33296a060497baL,0x32776a53c92d7b47L,0xf367e6b25241de3dL },
  41267. { 0x711119813b65228eL,0x2e5dc541e1394451L,0x940a4a0f98ef33e5L,
  41268. 0x1a395be32cd4315dL,0x4d49469f3c2e20e1L,0x5384f4b95c314f95L } },
  41269. /* 50 << 245 */
  41270. { { 0xdda2f3a0a256813fL,0x4363d190ee6cbae0L,0x61f4d607930d0094L,
  41271. 0x6767ff4817021739L,0x8450091bd2c5fadbL,0x144d02fe870710a8L },
  41272. { 0x73f45d9035524b7bL,0xccc7856b04615373L,0x0eb5cd436f081dfcL,
  41273. 0x9c433cbfe3a70d59L,0x9ee70f509818349aL,0x16de27347241c634L } },
  41274. /* 51 << 245 */
  41275. { { 0x02a24c5cc47f7db6L,0x519242cd33d60e1cL,0x543f39cf7244a636L,
  41276. 0x4ae15d698deb181eL,0xbaec81ef44261806L,0xe5cb18bb5fbf13abL },
  41277. { 0x7534787a032158e7L,0x770e1e34da0d9a6aL,0x251bfa7158f9baccL,
  41278. 0x12663214c8d39905L,0xb7bfa81b39c3d64aL,0xd6d439ffe3ee296cL } },
  41279. /* 52 << 245 */
  41280. { { 0x192ecf72d0aa048fL,0x23af774063e40c0fL,0xe4d98e41d804d367L,
  41281. 0xd868cc885405bfc3L,0x96909a5b6f6ece88L,0x16b05ad2bae60dabL },
  41282. { 0x7382a1dbde621949L,0x569bb6c9c47cf6dcL,0x892da43e1f2d098bL,
  41283. 0x6bd959b9bfa25649L,0x90617c419cb48f9eL,0x36059b73f110b22dL } },
  41284. /* 53 << 245 */
  41285. { { 0x1817b140791af82aL,0xf4a44cde042870c5L,0x60b8414ab5c0405aL,
  41286. 0x3b00f5ddf4dc4a9cL,0xa61aa0cfea81dd5bL,0xd43c37422554907dL },
  41287. { 0x3fa264a620569ecdL,0x2cc69c2ba5a46190L,0xecd4f6d3dddd072eL,
  41288. 0x41083b72dda8de01L,0x4bc047f110d6f156L,0x7164b432cac3203aL } },
  41289. /* 54 << 245 */
  41290. { { 0x7e7e08f401d45bfeL,0x04f9c9ed0e2d17e2L,0x3213556fa55bc148L,
  41291. 0xc58983c734449f0eL,0x463217afaf2bb219L,0xe08a51a2f8fba72dL },
  41292. { 0x2f44991e974d51f0L,0x15f2171f3f12af56L,0xbcc919de24cf01f3L,
  41293. 0x9ea371f269399bd0L,0xae8a8eca3ccf4574L,0xf0535b83ae499429L } },
  41294. /* 55 << 245 */
  41295. { { 0xe9ad8928f72305e3L,0x4144b6b9fce1295cL,0x672732a0c3487eb9L,
  41296. 0xf19d09a6147f70b8L,0xf45f6a11362a7684L,0x84ce4f25adfbbdadL },
  41297. { 0x31e4bb0ac3403b48L,0xefc861b9b478ab38L,0x3323df44a8320c49L,
  41298. 0xa2838aa1ed4f14abL,0xc80e30cc63bf7df7L,0xdd2d5ef9f15ec5ffL } },
  41299. /* 56 << 245 */
  41300. { { 0x3027c1698d6f8572L,0x89326850111e64d7L,0xe6eb6cd31b8b0179L,
  41301. 0x0d2d27ea6dd5a4a7L,0x41682c0007c82f11L,0x5a01c54c81075022L },
  41302. { 0xf3903f51fe7220d0L,0x75daeaba1f8e66b2L,0x1b625eed470bd3b2L,
  41303. 0xa46398a7e85a6293L,0x8ff6ef8c805ad640L,0xb3430f6795bfa3a5L } },
  41304. /* 57 << 245 */
  41305. { { 0x55d31765bc9341b7L,0x6530526ba312d125L,0x57ad29c02e9eb238L,
  41306. 0x31658a8282292155L,0x4d3417b169301639L,0xb38d6199e48c3d1bL },
  41307. { 0x4399d5ddcc5202eeL,0x4b1c293a5076cc08L,0xa46e87f5824171b0L,
  41308. 0x16f75919e4cb40e9L,0xd086562dac35d85bL,0xc2b41ad532713f5dL } },
  41309. /* 58 << 245 */
  41310. { { 0x2da6d2ca3248f02aL,0xae49d2fc675de73dL,0x4abb1a65cfbfee63L,
  41311. 0xc6cea22cf1246350L,0xdd510cf82d3faec5L,0x8b7d1b0865e7460bL },
  41312. { 0xc5b39c802737b182L,0xeee61e0d8963c709L,0x9cf9da61793e7179L,
  41313. 0x630637e52a295ba6L,0x18b85c9fa3881ba2L,0xca091a9464a94fe2L } },
  41314. /* 59 << 245 */
  41315. { { 0xcb68739f0bdec121L,0xf4907b3cd3811dabL,0xcf1b079b8c5d7707L,
  41316. 0x9ef9002d2fc6a56bL,0xc4c9d069809e8b64L,0xaf86a3db90d0eef4L },
  41317. { 0x30a52f994b24a04aL,0x03bcd7a958574ed0L,0x330ce8a1a5b52b8bL,
  41318. 0x632b3c2d5e6a8ed9L,0x7b080a2c18369382L,0x12173e5f65187ce1L } },
  41319. /* 60 << 245 */
  41320. { { 0x027f654feabe8ef1L,0xd9d327e481a51834L,0x9215df61980faa43L,
  41321. 0x76b4f8003ba045c1L,0x8f3ce587f400732cL,0x0abe1f34f133a3caL },
  41322. { 0x2ec690526de4f504L,0xa297cee4cb7ff026L,0xa31a76e3cadaefe1L,
  41323. 0xb701391e1173a958L,0x0a4279b08c8768f1L,0xd58927c12f8ede03L } },
  41324. /* 61 << 245 */
  41325. { { 0x71ea38454e630b0aL,0x4f696b59119263abL,0x9e7cb293f9cbab69L,
  41326. 0xa448d591c60ea8d2L,0x5021d4ef7d89eb52L,0x1a1ea5e3787663b1L },
  41327. { 0xa95af4eb05bedc8eL,0xfe72effcc2fba411L,0xa88b79bb19a2c6bdL,
  41328. 0xbed948fac84c78eeL,0x022dcf3d5ee7455eL,0x0c39c3689f56accbL } },
  41329. /* 62 << 245 */
  41330. { { 0xe0e818a8b77c9de2L,0x0dbaea885e07f77fL,0x6ece83b97b1f96f0L,
  41331. 0x3c02e59631733a5dL,0x44bcdfcdd14828ffL,0x2791ca54b66f6107L },
  41332. { 0x1a051c5a6198f24dL,0x9cd5f09a17627301L,0x64323392004a0cb1L,
  41333. 0x75d6819b3cc13e05L,0xf5cab2874a58768cL,0xbe090e83e3ca9332L } },
  41334. /* 63 << 245 */
  41335. { { 0xd639e0f3ab9b278dL,0x57f3f8cafa2407b4L,0x6720549f6c11f6abL,
  41336. 0x6ad1c608e784308bL,0x62c31e4a196babbbL,0x764b4deed1d36447L },
  41337. { 0xf44efcefaf4407bcL,0x7c1f45dbb3ca82a3L,0xf43e4a8773b952b3L,
  41338. 0x145cd2d6ff478bbeL,0x11ef2df450c8e708L,0xa2af06f044491734L } },
  41339. /* 64 << 245 */
  41340. { { 0x8cd6c9f7c90b13f5L,0xec0c187d52a9d469L,0x9c0db0f589b8ad2bL,
  41341. 0x692a8db70d9c999dL,0xa407fd03c9f84ab4L,0xa5742fd1cc9a906cL },
  41342. { 0x4813a765c8e72867L,0x9c65943de2e9a10fL,0xca6bf2934fa0a23eL,
  41343. 0x1dfa3af7cb1f8d7aL,0x28036f5498d10c53L,0x7bfbcaf20e012c13L } },
  41344. /* 0 << 252 */
  41345. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  41346. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  41347. /* 1 << 252 */
  41348. { { 0xa53f1a104ec177f6L,0x4a2ef9aa3faa5ca8L,0x30efed8532976d13L,
  41349. 0xcf5ada165ee692d1L,0x3ceda69d259e7cc1L,0x2aae29e99baab472L },
  41350. { 0x7ee5baef737cc8bcL,0x1717af747fe68dedL,0x9e5c8ddacfdaff63L,
  41351. 0x575c8db9cec07693L,0x9afc8ae0fdfb509dL,0x27836d3685651697L } },
  41352. /* 2 << 252 */
  41353. { { 0xa7342f9517eb9264L,0x9264a6a00a8a6eefL,0x50e48bf07471c384L,
  41354. 0x729e5ab130827f34L,0x17199191ea779c23L,0xd13ab8539fa9fd58L },
  41355. { 0x7d5799373b1d773eL,0x65f8e7c6d196c3dfL,0x253f7d51e8541725L,
  41356. 0x107a793dec720355L,0x1c14d0566aa16268L,0x9dc5fca38bbb231bL } },
  41357. /* 3 << 252 */
  41358. { { 0xf5689c5e12b09f53L,0xc1da32e19e87ff7dL,0x1af879d012eaa533L,
  41359. 0xdba775e6d9271e94L,0x60f8507310e63c34L,0x445f3e21a686a24bL },
  41360. { 0xed5ca8fa15bc277eL,0x9839198a364ab7abL,0xe2ee39426d90a7d4L,
  41361. 0xe5b3e4cbccd37e76L,0x9013bd08f1412e0fL,0x82f5c532ce999048L } },
  41362. /* 4 << 252 */
  41363. { { 0x61d0e01bf3fe3441L,0x674e52332af47609L,0xd4a4e224b362902dL,
  41364. 0x45923c129e0a5d16L,0x4fc2bdd495e580e9L,0x6d1d974ca8c3d954L },
  41365. { 0xaeff1135d0bbeaaaL,0x013ab5b31baafc9eL,0x80907d3eab8f9f31L,
  41366. 0xaf2c12166d566c15L,0x0082daba952e6fa7L,0xa46710032df9e03aL } },
  41367. /* 5 << 252 */
  41368. { { 0x91b379c63223d561L,0x8cb7b8cce203417cL,0xd0f44208176b3b81L,
  41369. 0xd18c2118aaba5cd3L,0x4aed5c9770794f9fL,0xfc540dc4f4c33894L },
  41370. { 0xb8e6798a0153a8a8L,0x6537dcdf43c4b0c0L,0x1b7eef39ab557397L,
  41371. 0x175e3934b7103105L,0x943abf4a82ac89e4L,0xeb1a61f957ffcdb8L } },
  41372. /* 6 << 252 */
  41373. { { 0x99c2b4cd66476227L,0x576a4b0662850cd3L,0x067bb66b5a352b7aL,
  41374. 0x3c7d6fc43ec757edL,0x2f69291cb9d36adcL,0xc7c0f3257c9143a4L },
  41375. { 0x768c3c400627fee2L,0xc214d81da8fde577L,0xd86e4b025299ea1aL,
  41376. 0xbe46b7e91a2d4005L,0xaf865a169317fa60L,0xfbc3268fcdce2fbeL } },
  41377. /* 7 << 252 */
  41378. { { 0x66fcba52d8fbe900L,0x9f16434c861b3e33L,0xa371b97241b4305fL,
  41379. 0xb2d858ce25b6af89L,0xbab07d53275f9e8cL,0x3b5951f8d525bef8L },
  41380. { 0xebf79e3ca1755b0aL,0x4e6256e7b467b1c2L,0x7dbd8b66cba1a659L,
  41381. 0x88ea40138b1eb8b6L,0x210ac1b38fa6436aL,0xe93e22c23df40e33L } },
  41382. /* 8 << 252 */
  41383. { { 0x5f79f0df1fd64063L,0xd2d39dd381e118ecL,0xd631a68e11571c5bL,
  41384. 0x6d072b4e2474faf7L,0x5e043a6d862a924aL,0xcae58bd8b0fc8d7aL },
  41385. { 0xf54bb7f3b1351f28L,0x4588b6280413275eL,0x81459f4c5909ec04L,
  41386. 0xd28cda25abd16460L,0xbb676d018db1c69eL,0xc0056e2dac5036f4L } },
  41387. /* 9 << 252 */
  41388. { { 0x1ce187bf323169baL,0x1dfaef8661ab5073L,0x1893dc7b2ae468b5L,
  41389. 0x0748ec86123848d4L,0x0d2877b46a96eb12L,0xb6063e75e9322495L },
  41390. { 0x1cb17189d7d1828fL,0xde41f11944d1b318L,0x7ce0f87610f0b74dL,
  41391. 0x2c7c91ee7a98f86bL,0xb641418e750f3ea1L,0xae2cd2e280094054L } },
  41392. /* 10 << 252 */
  41393. { { 0x9f6c6ed598d8e086L,0xa9ad63ca2d3fad85L,0x055b8323fe016926L,
  41394. 0x039fbe287b3a8d68L,0x544a8bf5fb6b315aL,0x04b122fb647fed85L },
  41395. { 0x1e9807fa98085b1aL,0xb78a36a771c12696L,0x4ccc1a2cdc22f95bL,
  41396. 0x6ff4997d54d1e818L,0xecb5bdc2f08c22dcL,0x6e07e2c146a27762L } },
  41397. /* 11 << 252 */
  41398. { { 0x602077aceaaec565L,0x9dacf68224568aeeL,0xa490fc1e9cfcce26L,
  41399. 0xb2ac94b3303218baL,0xc0208604ab33f9aeL,0x801663b6e39a6668L },
  41400. { 0x1defbb42961b0927L,0x688b445e83e318b3L,0x34fe2830c11648e8L,
  41401. 0xed56e99360066dfaL,0xa5f30f9a07671eccL,0x02c40260a3222e8dL } },
  41402. /* 12 << 252 */
  41403. { { 0xfb2a11b4ea347db9L,0x2360667e03350681L,0x1aa6e720a02a1261L,
  41404. 0xac2bd2eba110bb21L,0x8ab2f9063c9b4568L,0x5f46263d5ace1f17L },
  41405. { 0x97067801eae704c8L,0x35d2637ea715d313L,0x24cdc3d0c77573daL,
  41406. 0x6f97cd07e2562b2aL,0x27bcd62d5afb29e4L,0xc38ac1c55d29f5d3L } },
  41407. /* 13 << 252 */
  41408. { { 0xd9c38ba47c88f46aL,0xdd07c4d79946ebe4L,0x908731dcce0e5417L,
  41409. 0x43088d11e145839bL,0x9d37419d07b61543L,0x440cdbcd2c3c7c4cL },
  41410. { 0xa6a6fed673216db4L,0x15ce171a198cd32bL,0x198c256974e6a085L,
  41411. 0x5fec853f3dc2a714L,0x329250bdd5923068L,0x1d82373c9f6195caL } },
  41412. /* 14 << 252 */
  41413. { { 0xa8e17be53777b2aeL,0x534e3a3bcc284224L,0x7f34ce458192cfa1L,
  41414. 0x0009a72966d0e03aL,0xc42053ba524ce1fcL,0x834e98fe6d092e58L },
  41415. { 0x400c65a1c8b0f751L,0x268bfe6f107965ebL,0x0f141c0332e0bc69L,
  41416. 0x33bc6e64597a2264L,0x039a4ae9454a0d6bL,0x2cb0bf550b07ddaaL } },
  41417. /* 15 << 252 */
  41418. { { 0x69056cbe63769bb3L,0x710a67d385044d35L,0x971ccbdeea855332L,
  41419. 0xd655163a0fd0d210L,0x619c3f9adbb8a8b9L,0xd156f73d49a014e2L },
  41420. { 0xd04ea0a5a129a598L,0xc9c04da6fa2f12eaL,0xc0ed654ae98b3187L,
  41421. 0xa254eef6a82f9ec4L,0xe537695fa386a72fL,0x170f1ed4a74eb453L } },
  41422. /* 16 << 252 */
  41423. { { 0xdbe04c3044ce3ad8L,0x995fbb1b4ce8aad5L,0xdbf8b54670911457L,
  41424. 0x9e683b5b3f7a1757L,0x7b89a08a9c7bd62cL,0x448865a40b3fc97eL },
  41425. { 0x0ac9abfc3bb01e94L,0xa07760421e756124L,0x0aa6c335d9deed97L,
  41426. 0xe270580f72603e08L,0x70857a946c783bb2L,0xa0047774caa929aeL } },
  41427. /* 17 << 252 */
  41428. { { 0xf99a63c5e8c4a440L,0xc7fd1d1419d65168L,0xfb6c21d696d5e80bL,
  41429. 0xa4a7304944b833beL,0x093728d5127b1599L,0x9046cbe2c89e7195L },
  41430. { 0x21e2863c146a80d3L,0xb1ac7e1bdd559c13L,0xbe5ba65c72c39063L,
  41431. 0x7da5feb87722cbc7L,0x122615d0f17c02c5L,0xd44f477179e5fcb6L } },
  41432. /* 18 << 252 */
  41433. { { 0x0d913830e2d28da9L,0x0465920a8a164385L,0x79959ce1b0ad65d5L,
  41434. 0x6c94690759a966d6L,0x4ccb0e5e832c24feL,0xa8c5bee5d6af2a10L },
  41435. { 0x264dcc118c5791fdL,0x719f23ac5b58ce85L,0xfbff8a2f8e54b029L,
  41436. 0x0c9240be864e959cL,0x8f7c21733c37c665L,0xfda848d9f164d354L } },
  41437. /* 19 << 252 */
  41438. { { 0x203ea731f35d11f6L,0x90610383f9f9001bL,0xb9d3c302ed97e6f2L,
  41439. 0x4c529736c9a67e6cL,0x2e440b1781f6597dL,0xcc798f5616aabf20L },
  41440. { 0x490f50642832ffc5L,0x585e462a7a19b125L,0x99d73e391b06d98bL,
  41441. 0xb817e97aab696d7bL,0x9df2f65ac28dffeaL,0xa48dad47045fddd7L } },
  41442. /* 20 << 252 */
  41443. { { 0x2878c20d62e5fc09L,0x419ed2ece7f012abL,0x3bbc853fbaa21e7eL,
  41444. 0x412bc3c54844c009L,0xc4b150508b012199L,0x9d160f4c310d5fbfL },
  41445. { 0xcb61b69214f60becL,0x436348c064092943L,0xce8c136e3185cde0L,
  41446. 0x97b034f68be5dd85L,0x7697adf92701631aL,0x2ddd86361fa6e8a0L } },
  41447. /* 21 << 252 */
  41448. { { 0xde8c2c963e9ff7faL,0xfdf1e25d8b75bbeaL,0x28ba3be59c146264L,
  41449. 0xfc1df52e81fcb0c9L,0xf9341c43af3ba66aL,0xe81c22470d72188eL },
  41450. { 0x2ff00f1069c62b9dL,0x1077962e71498d24L,0xdf35b17ecc34ece7L,
  41451. 0x3516c33687eab2daL,0xe71cf7ddc72b7911L,0x6c9233d92c286c56L } },
  41452. /* 22 << 252 */
  41453. { { 0x7ce6389d162754d7L,0x8f03eff514e0d8e5L,0x9fd2c896ef402e31L,
  41454. 0x4a4bf70a2195b0e6L,0xe6043a383c8d82dcL,0xd86b647e8bed7c65L },
  41455. { 0x21bc56f4a4c87660L,0x8c99d6270c05564cL,0xd6b82e9014050ee2L,
  41456. 0x09bf6a3eb6b11f0bL,0x9704b36731dcd6b1L,0x871c85c85e3d44caL } },
  41457. /* 23 << 252 */
  41458. { { 0x93024430e5236badL,0x4c5872728b883d1aL,0xc265b94bba68d3bbL,
  41459. 0x7d8fc82a648d9b7eL,0x57086e6e75ac264cL,0x4b8a157102fc9ec8L },
  41460. { 0x83ae238e86849a9bL,0x2eaad9b8a69acccfL,0x2d82c029d44eaa39L,
  41461. 0x8f5b9ed833d7a556L,0x05c83328eea8b609L,0x537069efc3c96005L } },
  41462. /* 24 << 252 */
  41463. { { 0x292f8874b25c4d4aL,0x54961fd87e79f526L,0x949a1fae008c6ec9L,
  41464. 0x6ae82f0d525524fdL,0xd1f6f4ef2edbcb1aL,0x41617a6d977ddffbL },
  41465. { 0x6ae38fb71baf0668L,0xa79ea228d538ab3cL,0x70babb05fc44e273L,
  41466. 0x247384fbbca85910L,0xdc0e069b6a564959L,0x37a9c5521a7438adL } },
  41467. /* 25 << 252 */
  41468. { { 0xaf2c87828a4b7251L,0xcb5ebfd3c1bc7f72L,0x160b77e560579615L,
  41469. 0x297412e3c10f067cL,0x5ad0681ef7df86c8L,0x2e8c63529b3e3afbL },
  41470. { 0x32372cc74cfd3266L,0xb7abc8baa820f8b5L,0x857d545519f34baeL,
  41471. 0x5c055ce920ed65beL,0x1d8a59ca537ad6b7L,0x1135adcf7ad88633L } },
  41472. /* 26 << 252 */
  41473. { { 0x47e6ed9530034df1L,0x1839f488321bed8dL,0xb6b67d452ac8a9f9L,
  41474. 0x2fe1efc6182e4a63L,0x2da34bde0c1185c7L,0x6e5d1621edfdf9aeL },
  41475. { 0x3bae9db77120804cL,0xf094b0676d986ef3L,0x029c9246853e24ceL,
  41476. 0x3abacb1b25a82463L,0x58777e1389c5616aL,0xaedd003b5aeed714L } },
  41477. /* 27 << 252 */
  41478. { { 0x7494e4319da5fb0dL,0xc684d74bee3fd6f3L,0x12fc899403a87d91L,
  41479. 0xc4c55e692d6e3931L,0x63e1255896336788L,0x36c297a5f78371fdL },
  41480. { 0x4cd3f9c4a63b313eL,0xd2825e17c543e507L,0xd37e36d06a4e64d0L,
  41481. 0xab9559ec11872774L,0xaf168b34880a5d00L,0xb0c916a10c0c3f42L } },
  41482. /* 28 << 252 */
  41483. { { 0xd389397c834eaa9fL,0x2271ea0d2a5532aeL,0x5e59a23ae1f92e9eL,
  41484. 0x9f179b8c1f7b91f5L,0x2a1c10028de2dc8bL,0x6ac83e58787a276dL },
  41485. { 0x0facd4756d9d1571L,0xcceaae5e4bf118e2L,0x4e8008b7620fbecbL,
  41486. 0xff633fef7a1474cbL,0xfbefea80ce377357L,0xebb9a9460feb7724L } },
  41487. /* 29 << 252 */
  41488. { { 0x0bab441ae9803b71L,0x309ef14684e2e21eL,0x17ccd5b6851b6519L,
  41489. 0x8b5e7e300126f470L,0x0560cb9d847eca03L,0xc45850bf11ade256L },
  41490. { 0x08603f5c3c33dbbdL,0x21887bc9708ae545L,0x3bd25ad480014ffcL,
  41491. 0x5eb0f89fd3a64409L,0xbca2726b4c3dd83dL,0x611afd2fe4259797L } },
  41492. /* 30 << 252 */
  41493. { { 0xd9cb4233c4f4e0e5L,0xcfc0576818e49029L,0x8e9c8360526f05a1L,
  41494. 0x8e83037aa56d6c3dL,0x33507065c47e6742L,0x5ca2c8d8788b5da3L },
  41495. { 0xf355cee9cfb0b6feL,0x0e86fd73973ddafdL,0x27fc6c56d44fd889L,
  41496. 0xc9ab416ff7d93f3cL,0x778c3f160d063d62L,0x175e5d920b5085ddL } },
  41497. /* 31 << 252 */
  41498. { { 0xd62406873be63d8cL,0xe8c93b93b80059a6L,0x33bba7dfe065854fL,
  41499. 0xcb26543f36b34e45L,0xc17ee58dd2d0c3d5L,0x69752f49bae1bcadL },
  41500. { 0x87e31b429b20106aL,0xc520424b06734eb5L,0x993240afa896d17eL,
  41501. 0x5238851bc2762a62L,0xce399f9d506d7dbfL,0xa4822d23040cc7d4L } },
  41502. /* 32 << 252 */
  41503. { { 0xf071c9878fa06859L,0x0083e5311a52390bL,0x845eb12a61483bc2L,
  41504. 0x17471d801caf6dd6L,0x7b603616ddc21b92L,0xd38fe0f6b992536dL },
  41505. { 0x433f0652297c25a4L,0x03d4d8fcb1c4bf41L,0xdf617386a9adf49bL,
  41506. 0x4bfeb3992cb2944fL,0xbf288427b3d9c076L,0x17818c3e965b4576L } },
  41507. /* 33 << 252 */
  41508. { { 0xfbcff79f6df360c9L,0x342f9ded2bd94c22L,0x2dc5f999283f2300L,
  41509. 0xbea18d9893cc3330L,0xc197176269a7da4eL,0x72de17ee93ce69a3L },
  41510. { 0x6c354a6184170a91L,0x031ce0debe47ef92L,0xbf256fd418658739L,
  41511. 0x0395088a0d037d9aL,0x61179c42c5a05970L,0x0d5a9f7db8b6ab64L } },
  41512. /* 34 << 252 */
  41513. { { 0x18be1d605a44a8dcL,0xb512d945f1d18ee0L,0xd2e1f6623af39ec0L,
  41514. 0x440469136c223676L,0xe7a860836a60a4d8L,0xaefcfc2dc7e09d3bL },
  41515. { 0x175817fad685c9b7L,0xe20b6c9e4b9d0557L,0x9212e7bb51fe560dL,
  41516. 0x748aafb7608b53c4L,0x86186d4fd9b06850L,0x4cc6041376512c08L } },
  41517. /* 35 << 252 */
  41518. { { 0x2d5be3b00c127e46L,0x8c6f38fad9b04e47L,0x49c444098736f31bL,
  41519. 0x5469ae47f53aa908L,0xd84856f3492fd120L,0xd04b1fa20725e199L },
  41520. { 0x50c2e80a8e7056f2L,0x415db04c9ba2e259L,0x8e4c56ae2eb201e0L,
  41521. 0x449e4d9e5082ce94L,0xb5ff077a7345459dL,0x96d10f1e07330e72L } },
  41522. /* 36 << 252 */
  41523. { { 0xac77126e3b3094b7L,0x7c1e7673bdcb616fL,0x90491f8176993114L,
  41524. 0xf17c08a8cc8da63bL,0x972a3bffaa050364L,0xdef45b7f65a9cd57L },
  41525. { 0x105ec5ba2b9b889eL,0x7066821150f7a61eL,0x11daa9dbb1d63a40L,
  41526. 0x6065451007790568L,0xfaa219cebc2b6d2aL,0xb1b8ace93e5163dcL } },
  41527. /* 37 << 252 */
  41528. { { 0xf8042ae2859b0f22L,0xd8a5d3a200d8bb8cL,0xe85c596189faae14L,
  41529. 0xb7d636f906611c0aL,0x35b68bbdd2bc8957L,0xc86f5be5b7cf558cL },
  41530. { 0xb602a00369c17e74L,0xc39479cfd8a1fc01L,0x6dca5c81f733237eL,
  41531. 0x9c8cefd41b2e2cccL,0x2e32a323caacb4b8L,0xf7406874ad639090L } },
  41532. /* 38 << 252 */
  41533. { { 0xea3a358e24c1bbfdL,0xfd32af33571400aaL,0x2ec3d44da413949aL,
  41534. 0xa0d8594a7bd121f8L,0xb32997a1d6b6153fL,0xa0f48d98b9469c6eL },
  41535. { 0x236b7a18fba15481L,0x49dee3bd98ff970fL,0xbc27ac7a7ee97875L,
  41536. 0xd1acf2be28ac6279L,0x92e7ef02514c8328L,0xb2d7a8304f48b497L } },
  41537. /* 39 << 252 */
  41538. { { 0xcaad0554d95946a9L,0x992268c973ed1281L,0x6c0b1edf7b1b25e1L,
  41539. 0x4de2d9f81d6e73dbL,0xe12a4f1c5a2950a9L,0xe0cdf7af36ac18fdL },
  41540. { 0x16e7332d1abcc9f5L,0x4dccc1505bac1c75L,0x1b48bbc141f8c231L,
  41541. 0x3702cc2693692a4aL,0x9e9e53dd311c5dabL,0x27bc006cfe5d9fd3L } },
  41542. /* 40 << 252 */
  41543. { { 0x2bb798ff689f43efL,0x5813e4415f26ec54L,0x51f64c495005c929L,
  41544. 0x60e213a54b42e417L,0xc152844262cc3734L,0x6ecd6c3b09d994e1L },
  41545. { 0xa6e72f7183dd047fL,0x3836f663b0019803L,0xbcf1265b257493cbL,
  41546. 0x59b15ff09e62d78bL,0xaac5ed5b6cb92ecfL,0x37e6ad7d9662651cL } },
  41547. /* 41 << 252 */
  41548. { { 0x04743bf8b224f6c9L,0xec04b641ae33b1caL,0x6301f51623a76fccL,
  41549. 0xf1aa954675e15fe9L,0x878c64ecd95c1972L,0x033df5ee3ba7578aL },
  41550. { 0xe5e9ff7c47f4721fL,0x9b3d93fa03eef7e9L,0xcd0be6ad573deaa6L,
  41551. 0xf377570f3bbc8a16L,0xffdc04c161c37393L,0xd9eee46dd26d659dL } },
  41552. /* 42 << 252 */
  41553. { { 0x33f933604d4b7317L,0xee44b3e02fe482ebL,0x5a96870480f1fde5L,
  41554. 0xdfd6293b5510952fL,0x2abdc1989cc0af6aL,0xe608e2769ff45aedL },
  41555. { 0xf408670e3247e796L,0x3144153535fe07c4L,0xa941f96e2870053dL,
  41556. 0xbe908795ef6383adL,0x82b620a63560fdf0L,0x2c1cc1ae135de5c8L } },
  41557. /* 43 << 252 */
  41558. { { 0xa829397c727e5988L,0x305659bac6239b1bL,0x9b13701200392cb0L,
  41559. 0x4eb1ddf376091862L,0x68b64b19202bdd8aL,0x56c427c5228071e4L },
  41560. { 0x354b1beac3375accL,0x94a45b4e54e1194bL,0xf528df0178095edbL,
  41561. 0x6fb0867146fb9ec8L,0x977efc84c555bd48L,0x8230d6f7c268a20dL } },
  41562. /* 44 << 252 */
  41563. { { 0x003d4004b8d81c0bL,0xd3d5048f4168a407L,0x7748ecacc6675bd9L,
  41564. 0x9dba4539e2612cf4L,0xa5ebbccfd8770b8fL,0x206b4a9aadd90558L },
  41565. { 0xe446ed9c81b5c103L,0xcd2434184d2199dcL,0x0840f6eacb0d70d5L,
  41566. 0x6fbbf1b43107367bL,0xde9444f7d29335c8L,0x33ef004c66252eb6L } },
  41567. /* 45 << 252 */
  41568. { { 0x10eac97aa5a6546aL,0x6129392fe231f95cL,0xfd41bda100e2aae3L,
  41569. 0x5b1f93299d8c6288L,0xf1d2fc9246b7df40L,0xbc6fbacfc5df62bbL },
  41570. { 0x64885d924b5af011L,0xe4f3ade883461896L,0x644ce7a7a4a62e43L,
  41571. 0x74c9d145337b2730L,0x69d714840f83222aL,0xbfbc594ec27c0fdbL } },
  41572. /* 46 << 252 */
  41573. { { 0x3263c0517ed92916L,0xc039b94884e3f519L,0x54aa433ede89de6dL,
  41574. 0x92f76292c0971a03L,0x8457b2312550a2e8L,0x46ab1f0f11cfcd9aL },
  41575. { 0xd97b95c1c6d53077L,0xe8db11d159550599L,0x2092c81385ea4b32L,
  41576. 0x149b6b2cb7ced408L,0x2ada6fa482b9b22fL,0x53a5576a25877963L } },
  41577. /* 47 << 252 */
  41578. { { 0xa1e2c2a8195ad455L,0x65e90a3de7f61038L,0xb01eaa52ec623680L,
  41579. 0xfad0f9f110302efaL,0x9e544b5449274409L,0xfc9037de8c3a0925L },
  41580. { 0xbcf196fcfd139cdaL,0x0a1f747c4f6a2cdcL,0x580a9abab879fe3eL,
  41581. 0x08a20f1c5ee74778L,0x7c9be7de464c5271L,0xa4a1972918e85a09L } },
  41582. /* 48 << 252 */
  41583. { { 0xce23a19aa17e560cL,0x6491b95f62550e2bL,0xc72000121d15a005L,
  41584. 0x15fde735f4355a1fL,0x3849761f607f7807L,0xcbe322d018204691L },
  41585. { 0x75756e4ea95e8e91L,0x365959fe817a9b8eL,0x631232763d4ce3dcL,
  41586. 0xa769d2fef1d66e00L,0x8624ddbac28829e6L,0x03274297d2df06efL } },
  41587. /* 49 << 252 */
  41588. { { 0x2ad21bdadf3b1368L,0xf4f9d5270b3001abL,0x10182c5557ecb528L,
  41589. 0xe00db71565372a5bL,0x2018e0ed74f2bd83L,0xa11b47066175efb4L },
  41590. { 0x3172264722d565cfL,0xb20c27ab2f0faac9L,0x4ca2982a6260f995L,
  41591. 0x3850ef89b7085c6fL,0x5b4a6e235f0d45a3L,0xde562df9b7523682L } },
  41592. /* 50 << 252 */
  41593. { { 0xb34ecab233bb63f6L,0xe6cd56a202944c4cL,0x2690cc39489a8d88L,
  41594. 0xcdfe368a4fe612dbL,0x23069ca5e9e9f7adL,0x7b87105cc07d742bL },
  41595. { 0x5114645a8b58ea8eL,0xd31fb4821829e8aeL,0x5e235d95c4b28520L,
  41596. 0x2a1cda885c2292d2L,0x95d77447ee925b6aL,0xeec419a3df18845dL } },
  41597. /* 51 << 252 */
  41598. { { 0xb8903f10be9ffa75L,0x8bf7fc786432dcc3L,0xcf3f7cf15d028549L,
  41599. 0x7684baf29846f2d9L,0x4c580edbe9e063deL,0x0ac5c3edf2d70321L },
  41600. { 0xb9ba10e184c5d96dL,0xbb854b39d7aaabafL,0xe29d66964793c87aL,
  41601. 0x7b0fe1d448285ae5L,0xa143454df0121733L,0xa286eb043aa5ddc8L } },
  41602. /* 52 << 252 */
  41603. { { 0x8e4dcfc88c93bc5fL,0x9f96d60a1b233295L,0xae5262e91d447dcbL,
  41604. 0xafe58396541d46c4L,0x3e733c2636ff8f80L,0xcb36a37748b81037L },
  41605. { 0x9bcbfa9fc406ef17L,0x57a6e28006fb128aL,0xd86b44db9a771eb1L,
  41606. 0xc7ce106e62545a4dL,0xec6818a6b254c908L,0x4b8d3fc550feb342L } },
  41607. /* 53 << 252 */
  41608. { { 0x8faa39c8b609ef4cL,0x0209b3a7d8225cceL,0x11254c211feffc0fL,
  41609. 0x64930dcdc1e42ad3L,0xf5b058eb1cbb39fcL,0x2f870e3341cb5065L },
  41610. { 0x61b3611cf7663f95L,0x981890b637941996L,0x00c42b0908dd6854L,
  41611. 0xac42af5de17da075L,0xaf3a394c282b8d53L,0xb53b3b245d8bab96L } },
  41612. /* 54 << 252 */
  41613. { { 0xe17c9d98d90f0c83L,0xdd4aa8ac6d984408L,0x94b6fc50f71aef46L,
  41614. 0x2e6b5d24f0a2009eL,0xcb9d9cd17d8d75e4L,0x5e732a5b962a1708L },
  41615. { 0x9d774f1c7fd01089L,0x56bc35aded95094bL,0x6844220bb9c797d4L,
  41616. 0x40021d8e90ace48fL,0xddc769c5701baad0L,0xe23e8f9e333ac2deL } },
  41617. /* 55 << 252 */
  41618. { { 0x6cf6faf6e92e42bdL,0x759dc78b0d1e6a0eL,0x18fd55ff11532759L,
  41619. 0x04a306d7e9af0c07L,0xd7febf615ef7f82eL,0xaa04f1dca65cae01L },
  41620. { 0xb084407c16442bc2L,0x17ab4f74f874f10aL,0x236368d40fb6cea7L,
  41621. 0x451ea8206f66813dL,0x4a61097b1760e6ecL,0xa8655cfba01bdd2aL } },
  41622. /* 56 << 252 */
  41623. { { 0x52fced3116f01d7bL,0x88c6b172daf046aaL,0x1a189403fe7a338eL,
  41624. 0x39741ecd61798b1eL,0x6a47b0712934b879L,0x3b1a5dd1828d1e9dL },
  41625. { 0xd4bd48487f35a7efL,0x71774b5bc1eebaf8L,0xa86471e5d55344baL,
  41626. 0xfbf145f17b8a483aL,0x70f9b214aa53802cL,0x995af93010b066e1L } },
  41627. /* 57 << 252 */
  41628. { { 0xd2714b97aadf25ceL,0xb95c54162a7643f1L,0xae7dc619ba2f1939L,
  41629. 0x30e5d013b0db537eL,0xfcd1a456753f0813L,0x19f7117cef62925cL },
  41630. { 0x40a22e35423d3c56L,0xb0271e9926a5534dL,0xc19f703cc76c9a1eL,
  41631. 0x9b8fe585560bee08L,0x48c7797d3cc772aeL,0xabd2148e10bd6393L } },
  41632. /* 58 << 252 */
  41633. { { 0x046fb36cc34a7ba2L,0xd42e56d42a61a8a6L,0x16b8fd2d3d4b1184L,
  41634. 0x6f9e85a26da29888L,0x1ff7324bdd683c49L,0xdb3746db27bb8e2aL },
  41635. { 0xa7e586e684be7f99L,0xfbd0c0ee61740d6bL,0xb80509bab2071320L,
  41636. 0xb5bf09fea3f03641L,0xe872cd854971e39fL,0x9bed91c0ce2b2db2L } },
  41637. /* 59 << 252 */
  41638. { { 0x85177e7ca6bad7b2L,0xd5b1f0901425b611L,0x6b5f16223c4bfa24L,
  41639. 0xde34a692def66d8aL,0x96c0663ee8a1b7a0L,0x43eb91ed459c8bbbL },
  41640. { 0x6cc7e78b7d3d8b92L,0x3c9da7efe0338ba8L,0x18d7ab00e21360b4L,
  41641. 0x0785ca897f9df01aL,0x5bcfb8302220f1efL,0x8c61a3bfa52bbf42L } },
  41642. /* 60 << 252 */
  41643. { { 0x4dcc3b82196c21d2L,0xef0e0e1e61071fd8L,0xa2a28c3b35a013f7L,
  41644. 0x7550d3d7f6b58f80L,0x0f1fc9d58101742bL,0x027874f055982d5dL },
  41645. { 0x5a10b98c629bc409L,0xa28a1b2baf494679L,0x84afdbe1b96578d8L,
  41646. 0x201a8062d427238bL,0xe321ee2d89fffdb0L,0x0b304de4fb89f171L } },
  41647. /* 61 << 252 */
  41648. { { 0x5d8e16c0d7700dfdL,0x336e30fa24260211L,0x7ba72067ad557ce2L,
  41649. 0xcb388c3169621e0dL,0xcf6b7d813dbf7ba3L,0x7bfe43a91cbd216aL },
  41650. { 0x6c40516adcffe0b5L,0xe77507f083b7ea33L,0x5b5cda074ba1fc8eL,
  41651. 0x46860dd296c6d2c6L,0x4716114f0eb5013cL,0x05bd136898c3642cL } },
  41652. /* 62 << 252 */
  41653. { { 0x7fac263852ca5d3bL,0x35e5d8d0f5a2a596L,0x4c7129210011a394L,
  41654. 0x400168f7a9c417e0L,0x220994b447b77b44L,0x01a7580af548c0adL },
  41655. { 0x59870c2afe292ad7L,0xdda35a1a2abf8e7cL,0xa3082dc4f16d0c7cL,
  41656. 0xd4dcd5f38557c9e8L,0x38d45cc6ba7f0f99L,0xdefc0b1da7c18157L } },
  41657. /* 63 << 252 */
  41658. { { 0x5db2ed891c43e426L,0xeed247709adf4a50L,0x0b5e19765c8b90e1L,
  41659. 0xe9db695ffa18542dL,0xc16d3bfb8d043dc5L,0x5c5feb44f11d3430L },
  41660. { 0xd44e3d57365593c0L,0x1338f26c8796edb5L,0x789b325e051ca644L,
  41661. 0xaa93b75d1579c2bbL,0xa39a8ec57842c0b2L,0x84225134550ddf11L } },
  41662. /* 64 << 252 */
  41663. { { 0x9ec1159727a28f9dL,0x96f2c44bb847cd83L,0xacf794e131fca111L,
  41664. 0x438b917896076f45L,0xad71035b51732588L,0x2db32f32a5d910daL },
  41665. { 0xefaad0e8fe1cc184L,0x6f0360b52e00bbedL,0x99402426474ce326L,
  41666. 0xd53b687a2aa270daL,0x96c8bb78d78fa6ebL,0xd07f3bba6e699411L } },
  41667. /* 0 << 259 */
  41668. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  41669. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  41670. /* 1 << 259 */
  41671. { { 0xfe1f11ad389283baL,0xc87e20b60cd91b22L,0x99d0015a3c5babf8L,
  41672. 0x7e795b4d5929ea0aL,0xc9cf68331dfb7b7eL,0xc1c07346a64992e8L },
  41673. { 0x0b7e0dd89889746dL,0xa89d7b461c43ea4aL,0x64023cf034f02b96L,
  41674. 0xf7dd410a5662f0c8L,0xa3bb6088a1058ccaL,0xedb25dc34e7801edL } },
  41675. /* 2 << 259 */
  41676. { { 0x140a0f9fdd93d50aL,0x4799ffde83b7abacL,0x78ff7c2304a1f742L,
  41677. 0xc0568f51195ba34eL,0xe97183603b7f78b4L,0x9cfd1ff1f9efaa53L },
  41678. { 0xe924d2c5bb06022eL,0x9987fa86faa2af6dL,0x4b12e73f6ee37e0fL,
  41679. 0x1836fdfa5e5a1ddeL,0x7f1b92259dcd6416L,0xcb2c1b4d677544d8L } },
  41680. /* 3 << 259 */
  41681. { { 0xb6f8d615a033cccdL,0x6aabb87cad75e31fL,0x30a03029a4646d1bL,
  41682. 0xfad497e6e6547805L,0x4b9d45c3ba291f12L,0x0f74909bca059918L },
  41683. { 0xdece1fb0b5a181b7L,0x973f74413be1f21bL,0xcc919af36b06839aL,
  41684. 0x14427886ad57101fL,0xc63a79882bbc8022L,0x04cf807426742ccaL } },
  41685. /* 4 << 259 */
  41686. { { 0x279fd119da1c29abL,0xbd0688022b30d40cL,0xd8f57da4da44105dL,
  41687. 0xb1814b7a28223fe1L,0xcf2fd241e06f2d2eL,0x99003a0201dfde06L },
  41688. { 0x876a31affded7e4bL,0x1efaf8272f725094L,0x5117d608493a6a0aL,
  41689. 0xdcec8088a88c03e7L,0xeae1d352ea916897L,0x8cdc28106e8b2c57L } },
  41690. /* 5 << 259 */
  41691. { { 0x52fb8e6f7041b903L,0xd7fc4b5b2ad368a3L,0xf16c61d2f890136fL,
  41692. 0xeee859dfbb52a90bL,0x1651b16b3f8396cdL,0xfbced93eb6462918L },
  41693. { 0x1cb3126c4b6bfaa0L,0x65dfc76cc7c8fd16L,0x225b9c21bb46a3c9L,
  41694. 0x6c3457577f64f9ffL,0x6f65fadd57c297ecL,0x72a630eae5c5bbbdL } },
  41695. /* 6 << 259 */
  41696. { { 0x0254486d9c213d95L,0x68a9db56cb2f6e94L,0xfb5858ba000f5491L,
  41697. 0x1315bdd934009fb6L,0xb18a8e0ac42bde30L,0xfdcf93d1f1070358L },
  41698. { 0xbeb1db753022937eL,0x9b9eca7acac20db4L,0x152214d4e4122b20L,
  41699. 0xd3e673f2aabccc7bL,0x94c50f64aed07571L,0xd767059ae66b4f17L } },
  41700. /* 7 << 259 */
  41701. { { 0x25cb1f44f4fefeeeL,0xe1a6b6c8bce660c7L,0xd25459a00d2118e4L,
  41702. 0x716532dafedf8f98L,0xaeff37d492cfb480L,0x45919f7da1453c41L },
  41703. { 0x5100afe08d8836a6L,0x2ec20fd7b35d4fe0L,0xce8eefd1c00b7d66L,
  41704. 0x922d535d6b82c7ccL,0x5eb38f3fddd8d80aL,0x7eae5305213ae465L } },
  41705. /* 8 << 259 */
  41706. { { 0x09f8bb0654e93c1eL,0xb0045884ad81e27cL,0x26ebc7b6076e13ebL,
  41707. 0xbda0b5535d5ac07fL,0xbcb8132248ab69e6L,0xd3847d2e1c0f21faL },
  41708. { 0x7a466528c834d740L,0x6c67a79ae0823ff2L,0x85dd11864c1d7cb8L,
  41709. 0x096f849f2d081301L,0xb4f503dd8a5ea0f0L,0x71ee0889d1bf69b2L } },
  41710. /* 9 << 259 */
  41711. { { 0xd7a5f9feaa074b9eL,0xbeda44032fd2468bL,0xca3956309c35ffcaL,
  41712. 0xb02a1f592de68348L,0x946b0250903b35c7L,0xe9984f24634e9c91L },
  41713. { 0x4f70d22fe7303041L,0xf8a05d7fb68b0051L,0x0ce7af4fab5006afL,
  41714. 0x1011d1644a6bb502L,0xdf959199da4ad1a6L,0xc468cddf1e146f24L } },
  41715. /* 10 << 259 */
  41716. { { 0x40336b12dcd6d14bL,0xf6bcff5de3b4919cL,0xc337048d9c841f0cL,
  41717. 0x4ce6d0251d617f50L,0x00fef2198117d379L,0x18b7c4e9f95be243L },
  41718. { 0x98de119e38df08ffL,0xdfd803bd8d772d20L,0x94125b720f9678bdL,
  41719. 0xfc5b57cd334ace30L,0x09486527b7e86e04L,0xfe9f8bcc6e552039L } },
  41720. /* 11 << 259 */
  41721. { { 0xffd4fd775b5c7501L,0xc43e409ee0600e93L,0xd2a18cba7d522993L,
  41722. 0xbc2e14dc17c84d1cL,0xe84deb43c1eee29dL,0xe65326f08d691cbfL },
  41723. { 0x89760cdd77b726afL,0xb91c302a577b30acL,0xc6a742906e145891L,
  41724. 0x95bf3e913be85cc7L,0x2ec0285b9815e0edL,0x5b4be6da8aa3ec95L } },
  41725. /* 12 << 259 */
  41726. { { 0x4ab7a22c02a2d1e6L,0x967e19a31371d5a4L,0x20f59f95078de336L,
  41727. 0xfd28fa36f7869245L,0x1de42581cbf1d96fL,0x2e0127d7366e1f0fL },
  41728. { 0xbc65fa9d2258c741L,0x1f2f3356dd6d65f8L,0x06384f3a4a0822a9L,
  41729. 0x1c81332bfd05a0aaL,0xbfb12361d95ee3ceL,0x180aaf0642016d00L } },
  41730. /* 13 << 259 */
  41731. { { 0x329ff57bf08c171eL,0x6cd8122a543af2a9L,0x5209a3d65b2f8d96L,
  41732. 0x0285b128ba90c881L,0xeb5971ef61b43c8fL,0xf1ec473ccfd759b8L },
  41733. { 0xd2a79fb712d58e1eL,0x695f4877fdb6497bL,0x8bf5a4251f1a0f24L,
  41734. 0x3e79a0dea5c8a189L,0x9c8ada35908b7ae3L,0xd8b8622c5000f772L } },
  41735. /* 14 << 259 */
  41736. { { 0x3b75c45bd6f5a10eL,0xfd4680f4c1c35f38L,0x5450227df8e0a113L,
  41737. 0x5e69f1ae73ddba24L,0x2007b80e57f24645L,0xc63695dc3d159741L },
  41738. { 0xcbe54d294530f623L,0x986ad5732869586bL,0xe19f70594cc39f73L,
  41739. 0x80f00ab32b1b8da9L,0xb765aaf973f68d26L,0xbc79a394e993f829L } },
  41740. /* 15 << 259 */
  41741. { { 0xdd01a72b6024f09fL,0x192c8254378d12e1L,0x03ec536bf5d8b8d0L,
  41742. 0xb0c4c01873806514L,0x7d3c5f5614d202b6L,0x7c2a7c5c6febb3e2L },
  41743. { 0xf2fa07d4f9f2b562L,0x6f717b003ba2a4faL,0x1ff95d598f452226L,
  41744. 0xe4b3f6ba867c1cf1L,0x907a648a5d0944ecL,0x1ed480007f64f9b9L } },
  41745. /* 16 << 259 */
  41746. { { 0x0a159f6295b3287dL,0xb18f875948cecad0L,0x6d1ab8ee1661a23fL,
  41747. 0xcae7f40ec95c41b3L,0xbc3d20407c51eb56L,0xa7527283e8754250L },
  41748. { 0x815610561f9e668aL,0xb8aa7296900f5912L,0xabdbc1bf6af2a00cL,
  41749. 0xe9a942542d0a56c0L,0x4774a7b77bc8959eL,0x0a837ff019cef2f3L } },
  41750. /* 17 << 259 */
  41751. { { 0xd9c3f4ea3c696c76L,0x3aff88caea5878bbL,0x2b01171b09dda122L,
  41752. 0xa61d5ca0f599cad4L,0xba0c19bef49772c7L,0x8ee9acc25001f977L },
  41753. { 0x15fd3a172549a25aL,0x8f1a25d82263bc97L,0x372b88434db4af00L,
  41754. 0xa613b31f4f912925L,0x7d83041a0b64efd9L,0x897c521ca7d5f6a8L } },
  41755. /* 18 << 259 */
  41756. { { 0x9c441043f310d2a0L,0x2865ee58dc5eb106L,0x71a959229cb8065cL,
  41757. 0x8eb3a733a052af0fL,0x56009f42b09d716eL,0xa7f923c5abcbe6adL },
  41758. { 0x263b7669fa375c01L,0x641c47e521ef27a2L,0xa89b474eb08ffd25L,
  41759. 0x5be8ec3ff0a239f3L,0x0e79957a242a6c5aL,0x1dfb26d00c6c75f5L } },
  41760. /* 19 << 259 */
  41761. { { 0x04c6a90ae75c82afL,0xe9183100f2488abdL,0xef4b378b111a46baL,
  41762. 0x77ad9ef502eaa62eL,0x61229a6205e81570L,0x06e26a2db474c367L },
  41763. { 0x0bb2ea7e7113f2d4L,0x8ddc6f887f101386L,0x93fe2d7ef4de63abL,
  41764. 0xc3d038278f44e271L,0xe9f9f48ea94e641aL,0xb84b817b4962467dL } },
  41765. /* 20 << 259 */
  41766. { { 0x36f3a3d8a084fae6L,0x759835899a9b0d95L,0x70722186cc80fcb6L,
  41767. 0xf28ed0c796d84c04L,0x95a32263ffb63f90L,0xdd7d60a098766034L },
  41768. { 0xe193a31f1d5c387cL,0x6c5eca7eb8310f8bL,0xfe61d523c083ff47L,
  41769. 0x90c832dbcb2944e9L,0xa9f3f293593334b7L,0xe6cde2e12d7d1c33L } },
  41770. /* 21 << 259 */
  41771. { { 0x5637d16b065096b9L,0xee3a2ad04770d39eL,0xae605cb56aa94587L,
  41772. 0xc2d71dae9b600c6eL,0x672ef30d76a87e0aL,0x74d5bebe567e0817L },
  41773. { 0x38f591310eb8ca48L,0x92b74866031e099fL,0x654858ca785f77eeL,
  41774. 0x264b6b7b830be443L,0xb167203d57103903L,0xa73d5d545ce2b21aL } },
  41775. /* 22 << 259 */
  41776. { { 0x2fd97b9b9dfbf22aL,0xdec16cc85643532dL,0xdf0e6e3960fee7c3L,
  41777. 0xd09ad7b6545860c8L,0xcc16e98473fc3b7cL,0x6ce734c10d4e1555L },
  41778. { 0xc6efe68b4b5f6032L,0x3a64f34c14f54073L,0x25da689cac44dc95L,
  41779. 0x990c477e5358ad8aL,0x00e958a5f36da7deL,0x902b7360c9b6f161L } },
  41780. /* 23 << 259 */
  41781. { { 0x5e8eb8f0636a77efL,0xe14290f8970c3a7fL,0xfe6f6acdfa1784c0L,
  41782. 0x98671d33de6a46b3L,0xe7fd88722ae5a76eL,0xed971ecbae4f7d60L },
  41783. { 0x1d90dbd88461b895L,0x3f979ab4bfaaac13L,0xe06ccba1dbd3379aL,
  41784. 0xb53b04ba108c4487L,0xe42609dd38d2730dL,0x0638fe82e81c4594L } },
  41785. /* 24 << 259 */
  41786. { { 0xbd079cf1f144b6ccL,0x7f86e29bb4f4a764L,0x5b08b290f21f9cbfL,
  41787. 0xada0c85b75e3aeb9L,0xd0789f8b6666c2dfL,0xcf5d8a8cd71ec2ecL },
  41788. { 0x6f7780c3e7e4364bL,0xdd9a652985d2eb75L,0x8222f66bd952a38eL,
  41789. 0x9dd5f7eb27260a29L,0xce49b34457947178L,0xaa215f82cdda7e39L } },
  41790. /* 25 << 259 */
  41791. { { 0xcb91619d1419a50fL,0x44a22eac65dc4c84L,0xc199f93701a92405L,
  41792. 0x3749a33198045324L,0xf1676e8abc57764dL,0x922f9460a00c33eeL },
  41793. { 0xfde98e63d3766db4L,0xae08a82efd5ffb6aL,0x6a9834537c0c6ae7L,
  41794. 0x0e9a919a54f34cdbL,0xf37a95e8fd88d765L,0x927427d4228a1affL } },
  41795. /* 26 << 259 */
  41796. { { 0x454ab42c9347b90aL,0xcaebe64aa698b02bL,0x119cdc69fb86fa40L,
  41797. 0x2e5cb7adc3109281L,0x67bb1ec5cd0c3d00L,0x5d430bc783f25bbfL },
  41798. { 0x69fd84a85cde0abbL,0x69da263e9816b688L,0xe52d93df0e53cbb8L,
  41799. 0x42cf6f25add2d5a7L,0x227ba59dc87ca88fL,0x7a1ca876da738554L } },
  41800. /* 27 << 259 */
  41801. { { 0x277c833f57c7bf99L,0xbbb84d1d0b301f02L,0x11435cb20713a92bL,
  41802. 0x8ae509702d02862bL,0x4edc66bdaa7b0660L,0x5bc0d893d6382c91L },
  41803. { 0x7992c5d3b94a6343L,0x1cfee04147b19345L,0x57963034964ed646L,
  41804. 0xd7af0cac3de7b0e9L,0x5123dd8d481b940aL,0xe1d23ad8ad7d3567L } },
  41805. /* 28 << 259 */
  41806. { { 0xaa44b2863004db31L,0x86f43d7ad43e4430L,0xdc4874cdb0b0240dL,
  41807. 0x79986a23adc45a06L,0xbb275b443cee4631L,0x21daee8a63a217aaL },
  41808. { 0x1e7c5397d7b25c02L,0xe677d3cbc5e668faL,0xc7c84e28ed51b4bfL,
  41809. 0x7ca19e99923e5408L,0xc6f8a595c3f832e7L,0x2d0a789c5fb049a3L } },
  41810. /* 29 << 259 */
  41811. { { 0x49702e622b82b466L,0x365d4f6afb8fe508L,0x2f5234e044884733L,
  41812. 0xcd527f345dd0a3d5L,0x371b02544bf4033eL,0x7d84ad677e3212e0L },
  41813. { 0xaf48fd79e69d6b81L,0xd126f83a7a44bfc6L,0xbb8d2b57b2cc4e93L,
  41814. 0x5f62a3d5eb60ec5fL,0x7b37da33aa76c824L,0x7593d06b89a682dbL } },
  41815. /* 30 << 259 */
  41816. { { 0x3fa5c1051cac82c4L,0x23c760878a78c9beL,0xe98cdad61c5cfa42L,
  41817. 0x09c302520a6c0421L,0x149bac7c42fc61b9L,0x3a1c22ac3004a3e2L },
  41818. { 0xde6b0d6e202c7fedL,0xb2457377e7e63052L,0x31725fd43706b3efL,
  41819. 0xe16a347d2b1afdbfL,0xbe4850c48c29cf66L,0x8f51cc4d2939f23cL } },
  41820. /* 31 << 259 */
  41821. { { 0xc342ed50dd305573L,0xe3055013de86c6c8L,0x0ae84d9776deedc4L,
  41822. 0xe8e70cbfd1274b52L,0x4bb51dce32e87f7fL,0x32de3672f3748177L },
  41823. { 0x528af91681722d55L,0x459af071a5f2ce91L,0xf6883bbdc685a670L,
  41824. 0x398657f9eeb836b8L,0xa08a793eb9278bd7L,0xe786426bcc09e408L } },
  41825. /* 32 << 259 */
  41826. { { 0x114a25c844922386L,0xdd084d446d4e8b57L,0xc49b68411e7bd7deL,
  41827. 0x5b0359fad6da54dbL,0xa6e6e5f93f0da321L,0xb65ec55cd640a87eL },
  41828. { 0xc1a4f6ceae64020eL,0x91e29cd2088e1337L,0xf44ceb8e3c0a631cL,
  41829. 0x0205b11db756445fL,0x04844e845bc8880eL,0xb630ddc0b85e00d3L } },
  41830. /* 33 << 259 */
  41831. { { 0xac512659c6ee46b6L,0x0c92e402ca82b384L,0x81d79049194fba3aL,
  41832. 0x9b68376c36b42b32L,0x6dc1c80cf6b410b0L,0x509fbe9196b2b328L },
  41833. { 0x988fedd6fdc783b1L,0x9f34cd87436ed055L,0x29f243648bb8809fL,
  41834. 0x6962ca24b8dc8b68L,0x076cb7b931963ff9L,0xb609ad792b915093L } },
  41835. /* 34 << 259 */
  41836. { { 0x169e025b219ae6c1L,0x55ff526f116e1ca1L,0x01b810a3b191f55dL,
  41837. 0x2d98127229588a69L,0x53c9377048b92199L,0x8c7dd84e8a85236fL },
  41838. { 0x293d48b6caacf958L,0x1f084acb43572b30L,0x628bfa2dfad91f28L,
  41839. 0x8d627b11829386afL,0x3ec1dd00d44a77beL,0x8d3b0d08649ac7f0L } },
  41840. /* 35 << 259 */
  41841. { { 0x4aeb3f870af947c6L,0x9ac9ff2791d090c1L,0xeaaa7e0fcf698277L,
  41842. 0x737ccc2ff09d6155L,0xd5d4bde86753cc31L,0x3b9063477146d4a3L },
  41843. { 0x75106d8959e32369L,0x7a8ee281645999b3L,0x9184fb5cfc3f675aL,
  41844. 0xaeebd0423ad4e239L,0xcff8f73e12f449d1L,0x2771bec17339eb4bL } },
  41845. /* 36 << 259 */
  41846. { { 0xf783db44e6674091L,0x57d0eed31e12a3b7L,0x62d2762af3474f91L,
  41847. 0x3d122edf0562af71L,0xaf78dbf77f4bbcbbL,0x8fbbbd97e55f0654L },
  41848. { 0x77e117b004bac36eL,0xbbf6bd463ec582aeL,0x553acd10017eb463L,
  41849. 0xfc521187fdfd820bL,0x73211103089b6829L,0x9d3fe7ad7e01e5c0L } },
  41850. /* 37 << 259 */
  41851. { { 0x12a8b7ac04c6babfL,0x7b23210557d2cf63L,0xe03831868f21ad0dL,
  41852. 0xd14c2b95acdc2184L,0xe7bd19fcadc9bae1L,0xe2dbabf2edea5c71L },
  41853. { 0x009a3ab78f3f4266L,0x159691e17f8ff74fL,0x5ae666aa22f40f41L,
  41854. 0x72fcdc88512387bbL,0xa74e8fb841516c92L,0xd9cee7833b15bf07L } },
  41855. /* 38 << 259 */
  41856. { { 0x00a93daa177513bfL,0x2ef0b96f42ad79e1L,0x81f5aaf1a07129d9L,
  41857. 0xfc04b7ef923f2449L,0x855da79560cdb1b7L,0xb1eb5dabad5d61d4L },
  41858. { 0xd2cef1ae353fd028L,0xc21d54399ee94847L,0x9ed552bb0380c1a8L,
  41859. 0xb156fe7a2bac328fL,0xbb7e01967213c6a4L,0x36002a331701ed5bL } },
  41860. /* 39 << 259 */
  41861. { { 0xd76b43661c8bd222L,0x041c2b87b97e5b19L,0x7b80f8d7b47c4282L,
  41862. 0xfec3d476d0dbc7d3L,0x84aa69712753a830L,0xe5f336079ec85e26L },
  41863. { 0xa425d60cfe2374b3L,0xf88b90f14d953af2L,0x80370e7857ca6c43L,
  41864. 0xe07d07176f4d6d7eL,0xe60639401e61ab85L,0x171a2bf632a4c829L } },
  41865. /* 40 << 259 */
  41866. { { 0x38e4168d4f8b5073L,0xf1ddc53fc521849cL,0xd2bf515bab917df1L,
  41867. 0xab76b71a697d45c1L,0x20fdc6c7cb566a9dL,0x3843bf838a031cf4L },
  41868. { 0x9a2d89a58a028b04L,0x52f3cb1922a908cdL,0xb5df9c2b7b8723baL,
  41869. 0x5142f51060374a3dL,0x949b719800bd9f30L,0x4b7cda16c9b86959L } },
  41870. /* 41 << 259 */
  41871. { { 0x22a32c50d154fc49L,0xe12242de66357eb7L,0x67571eb89f19ef9fL,
  41872. 0x2ed01f28b92b20e1L,0xd4fd6efb6cd439c0L,0xc4036cfc03b057fbL },
  41873. { 0x605fab271cc48da5L,0x3cbd7a071416a3e7L,0x9cfe7161714bf173L,
  41874. 0xbd03d786a77eb0f8L,0x1423516678b8f5ccL,0xecc56e02f0523f3fL } },
  41875. /* 42 << 259 */
  41876. { { 0x20b1632addc9ef4dL,0x2a35ff4c272d082bL,0x30d39923f6cc9bd3L,
  41877. 0x6d879bc2e65c9d08L,0xce8274e16fa9983cL,0x652371e80eb7424fL },
  41878. { 0x32b77503c5c35282L,0xd7306333c885a931L,0x8a16d71972955aa8L,
  41879. 0x5548f1637d51f882L,0xb311dc66baba59efL,0x773d54480db8f627L } },
  41880. /* 43 << 259 */
  41881. { { 0x2be2f1d67d64ddbbL,0x3afc2fad6edd7e04L,0x9a57c16d9e797442L,
  41882. 0x1efecfde9c16769bL,0x86523c3571b2940aL,0x1a9b30035825d17cL },
  41883. { 0xa25e99beeefc4d7cL,0x8521b49fb50df9eaL,0x10bd2309bd8f3b06L,
  41884. 0x1f892e95ea82e80cL,0xf741621c93585741L,0x95687594f5e5087aL } },
  41885. /* 44 << 259 */
  41886. { { 0xbcdd3a3146f684c5L,0xbc8be436f700b0cdL,0x33005e370de75b7dL,
  41887. 0x527a8a2c3bd820caL,0x5e44854446997e4cL,0x40921fd93c3dafb0L },
  41888. { 0xf3873a8ab7390d9bL,0x30999855495ba2fbL,0x005164f0813c8c76L,
  41889. 0x05bb04d7fe8da60cL,0xee7c38d503224ad1L,0x172018d615785ce5L } },
  41890. /* 45 << 259 */
  41891. { { 0xaaf786c0f6442534L,0x3f1344c1e56b44a5L,0x31199702ed073a36L,
  41892. 0x1f8ba0ec3df17e33L,0xf3e7b63493ceee0aL,0x568bdf39490fc4beL },
  41893. { 0x364bdd11b1e1c439L,0xa1aa317ae5a63c82L,0xb12697034c02ee46L,
  41894. 0x0bc6d92e7eb64374L,0x87538fe740ed83f1L,0x862450abda74892aL } },
  41895. /* 46 << 259 */
  41896. { { 0x59b1b1347a62eb3bL,0x0f8ce157cceefb34L,0x3fe842a8a798cb2bL,
  41897. 0xd01bc6260bf4161dL,0x55ef6e554d016fdbL,0xcb561503b242b201L },
  41898. { 0x076ebc73af4199c1L,0x39dedcbb697244f7L,0x9d184733040162bcL,
  41899. 0x902992c17f6b5fa6L,0xad1de754bb4952b5L,0x7acf1b93a121f6c8L } },
  41900. /* 47 << 259 */
  41901. { { 0x293ff71acc51318fL,0x69437a2e614149cfL,0xb12ea4613b48b348L,
  41902. 0x2f58020321f6cf90L,0x2e865f77178b53fbL,0xf4774d29231909a8L },
  41903. { 0x0433e66bc4d8b703L,0x4fb6256b907097cfL,0x44a2a7fe004470f7L,
  41904. 0x7d3ebbb46dc5f10aL,0xe9b3af288f5526b4L,0x4bc0d9db1107bd75L } },
  41905. /* 48 << 259 */
  41906. { { 0x4865c0ffc0391d0bL,0x70d31470176740ffL,0xf44ca9a1ed506d00L,
  41907. 0xfaac86f6c981153aL,0x713ddaf4e3f86940L,0x64ec27093fc39de9L },
  41908. { 0x04d413acac9a26b5L,0xde2052eebb21664bL,0xa6e04de8957b4f20L,
  41909. 0xd185b640d5487618L,0x1668b6a46fed1707L,0xeed37894c435ac3dL } },
  41910. /* 49 << 259 */
  41911. { { 0x1fa08a16f69cdfbbL,0xabba54dd0bf735a1L,0x37848c6a68a5cc20L,
  41912. 0x08e23c52a969298bL,0x48240306f965bddeL,0x48492deaf90bcff5L },
  41913. { 0x416b9005bd994e22L,0xa6ce214ce6429f16L,0x5aaeec21f43f86d4L,
  41914. 0x202db9b7a0b1979fL,0xb2d97b4fdd7ae6d5L,0x4fedb6b9e12f04a1L } },
  41915. /* 50 << 259 */
  41916. { { 0x7a56867c325c9b9aL,0x1a143999f3dc3d6aL,0xce10959003f5bcb8L,
  41917. 0x034e9035d6eee5b7L,0x2afa81c8495df1bcL,0x5eab52dc08924d02L },
  41918. { 0xee6aa014aa181904L,0xe62def09310ad621L,0x6c9792fcc7538a03L,
  41919. 0xa89d3e883e41d789L,0xd60fa11c9f94ae83L,0x5e16a8c2e0d6234aL } },
  41920. /* 51 << 259 */
  41921. { { 0x9c8e64869c85df60L,0xa84692a681e26100L,0x0350e1209c739462L,
  41922. 0xb6da4ebf99fa1f63L,0x857b534055e2bcd4L,0x7f4001dbdb209cf7L },
  41923. { 0xbfa320378757800cL,0x2d56821fa6a562b5L,0xe56d810b6c3e775cL,
  41924. 0xeba244a6ba757f86L,0xb7ca8dbf80a17cb3L,0x8cbff4a22b7db57cL } },
  41925. /* 52 << 259 */
  41926. { { 0x650c31da9dff967dL,0xecd1e0f77ed949dbL,0xa7ff9becb20196fdL,
  41927. 0x5085c68d1e6259aaL,0x5759a166871a71e9L,0xba15e24c2b4d3bd2L },
  41928. { 0x22c4f75912c51998L,0x6038fb0a7c8a9400L,0x64827d9c09625dacL,
  41929. 0xd8ce10c96ec4fb64L,0xe417ac30095686ccL,0x1e624aa88c723f44L } },
  41930. /* 53 << 259 */
  41931. { { 0x872d3dc953387fbaL,0xaaa0e1b4317ec17bL,0xa12b45519efb728cL,
  41932. 0x0b43907d45a3491eL,0xb7fa83befa4a239dL,0xbecdae00b59a4f3cL },
  41933. { 0xe4e4c7c393407d23L,0x8278f336cf1d3cd8L,0x73dc9356610570a3L,
  41934. 0x5579653d688d933fL,0x208b96be5881d760L,0x4752a645d12f57bbL } },
  41935. /* 54 << 259 */
  41936. { { 0x87ec053da9242f3bL,0x99544637f0e03545L,0xea0633ff6b7019e9L,
  41937. 0x8cb8ae0768dddb5bL,0x892e7c841a811ac7L,0xc7ef19eb73664249L },
  41938. { 0xd1b5819acd1489e3L,0xf9c80fb0de45d24aL,0x045c21a683bb7491L,
  41939. 0xa65325be73f7a47dL,0x08d09f0e9c394f0cL,0xe7fb21c6268d4f08L } },
  41940. /* 55 << 259 */
  41941. { { 0xe02aca87d4bba3cbL,0xd40ac486652fb181L,0xa1dcfe7ffaa3f999L,
  41942. 0x116323e0e9eded09L,0xaa3a0f0f07629d4fL,0x9f8e49f5e0dc53adL },
  41943. { 0xbae96096742af22bL,0x6d7e24dd518862dbL,0x5c91ba30bb333cd7L,
  41944. 0xda8df051e65319b0L,0x2b9305ce9b3e43dbL,0xbf1d0e98fe783571L } },
  41945. /* 56 << 259 */
  41946. { { 0xf629fb233809aa31L,0xb3b66d77650bd2b8L,0xcb643126bd325d57L,
  41947. 0x29f46272ed41fa03L,0x374e734f406ef56cL,0xbb9ecd36da7428eeL },
  41948. { 0x069694a61c06325aL,0x852b2912e40b9e8cL,0x6504bc90cc3d9695L,
  41949. 0xf1af43587e38707aL,0x552127dc239a0781L,0x0d1b3a6e8fe76173L } },
  41950. /* 57 << 259 */
  41951. { { 0x207e41f31d681018L,0x8883a6e417a7d540L,0xffc48332bc983c31L,
  41952. 0x729c4110c6b3de67L,0x5ef4680ad69a2499L,0x4544b58fe7afb2e7L },
  41953. { 0xf5a2fb13480e063dL,0x8797357382054197L,0x5dd38cf7131d2df7L,
  41954. 0x635e91b8a9366742L,0xbd87a407e0d703c5L,0x6cc37be247251f16L } },
  41955. /* 58 << 259 */
  41956. { { 0xc4ccab956ca95c18L,0x563ffd56bc42e040L,0xfa3c64d8e701c604L,
  41957. 0xc88d4426b0abafeeL,0x1a353e5e8542e4c3L,0x9a2d8b7ced726186L },
  41958. { 0xd61ce19042d097faL,0x6a63e280799a748bL,0x0f48d0633225486bL,
  41959. 0x848f8fe142a3c443L,0x2ccde2508493cef4L,0x5450a50845e77e7cL } },
  41960. /* 59 << 259 */
  41961. { { 0xaa129c0ddc428c57L,0xfe619b75aea19047L,0xd6287ecf12ea77aeL,
  41962. 0x4e6d070fdf7ce104L,0xd0df6788f097c79cL,0xd1c1f8a6ad8b1d07L },
  41963. { 0x53eceba296519e66L,0x71670de3d6274109L,0xd2f21ea03f7a82b8L,
  41964. 0x41efbe939c8e45a5L,0xb5b153436ada3edfL,0x32ba22aca90038f8L } },
  41965. /* 60 << 259 */
  41966. { { 0xe1d195fad0cbe947L,0xd1fe0c4ef2ef1b72L,0x1451a0b206003fffL,
  41967. 0xda653fa08239341cL,0x5f834372f2508d75L,0xaeb245f507faeac3L },
  41968. { 0x3eb3285b65fdf4ddL,0xfb335c0e84085970L,0x600ad6cae5efc0deL,
  41969. 0xc9c9f8910cf83e82L,0xf880ff84ad8cc14cL,0x54816725a016aae6L } },
  41970. /* 61 << 259 */
  41971. { { 0x22ce565ce1124375L,0x30ff1dc5edd968c9L,0x62d74c54e9148534L,
  41972. 0xf003f0d35de42774L,0xaf9448e6e57f8842L,0x55d5c9a3c5ff761bL },
  41973. { 0x7da9398cc4c5edd8L,0x9643424e4ea0e099L,0x497eed480634fcb4L,
  41974. 0x09ffe2d07dea57cfL,0x30673ba73530a094L,0xfdbf8f24a251cff3L } },
  41975. /* 62 << 259 */
  41976. { { 0xd0f4e24803112816L,0xfcad9ddbccbe9e16L,0x177999bf5ae01ea0L,
  41977. 0xd20c78b9ce832dceL,0x3cc694fb50c8c646L,0x24d75968c93d4887L },
  41978. { 0x9f06366a87bc08afL,0x59fab50e7fd0df2aL,0x5ffcc7f76c4cc234L,
  41979. 0x87198dd765f52d86L,0x5b9c94b0a855df04L,0xd8ba6c738a067ad7L } },
  41980. /* 63 << 259 */
  41981. { { 0xf9ae5fcedb877020L,0xd84ad42f703e5d09L,0xa6a5cc1fbfaed17eL,
  41982. 0x2099409829362fe9L,0x9f863bb0dd299c2dL,0x82bd3f61fa632197L },
  41983. { 0xd3b14097ebe7ff51L,0x7c9e6ec4c719a6bcL,0xd3b46f3d70a51db6L,
  41984. 0xc8fa2f0692eb8243L,0x68e1f56e02155139L,0x0c35d135fd3b893dL } },
  41985. /* 64 << 259 */
  41986. { { 0xe76894c3ae7ce296L,0x87737ee2a6cafc34L,0x566dfcfbe55cd1e6L,
  41987. 0x5421a9f23a7ad5b9L,0xa005838a4687a4efL,0x3837219a23a2c423L },
  41988. { 0x4b7800128a82cd1bL,0x401c07bec728b588L,0x2b5f69e937ced8f3L,
  41989. 0x306b621d8c1e1eaaL,0x8acbbe71d389cc4dL,0x922fa665f4ab7774L } },
  41990. /* 0 << 266 */
  41991. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  41992. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  41993. /* 1 << 266 */
  41994. { { 0x2df6f242d35c2d80L,0xf65a99a93493ce97L,0x9e80232b372bcc87L,
  41995. 0x26ba13b86e428cc5L,0x2526ef1f13a1b763L,0xcef3edcddc97c5f3L },
  41996. { 0x4954867fbde16b73L,0x9817813d368ff6cbL,0x7e39fa69be143027L,
  41997. 0x12329463cf54f28bL,0xcf0991dc7597c2daL,0x0cda396952e07099L } },
  41998. /* 2 << 266 */
  41999. { { 0x412f64a3f303955dL,0xe92bdca9bd692593L,0xfbe6cdc2c2e964e0L,
  42000. 0xe9a3b1fd0011cb01L,0x6c30762dcf228f23L,0x1270b84abe9199a1L },
  42001. { 0x732711dfe3c9cbb1L,0xa3aabe37d91d9513L,0x8ee08ba0c6eceba7L,
  42002. 0xb1711531f3c3d31dL,0x65060b633c716948L,0x046b4ea12ff2caddL } },
  42003. /* 3 << 266 */
  42004. { { 0x25d1124fbab220c6L,0xcd1423c861524e3eL,0x75e4f45f0434fb51L,
  42005. 0xb5180a8f5180ab2bL,0x144e214e5b22e388L,0x6b16dad192263054L },
  42006. { 0x3ea7590740863566L,0x372d5abddada3b46L,0xb3ff5a3a893d210fL,
  42007. 0x39f8d1ce5e29f3dcL,0x559186ce68200e82L,0xf48764541202cb66L } },
  42008. /* 4 << 266 */
  42009. { { 0x6f178dbf8b540904L,0x0264bccd8720472aL,0xa6e8b4b459b46611L,
  42010. 0xafce8267c72b4a58L,0x21142175a45985adL,0xd23401dfe649d733L },
  42011. { 0x6bf42fe085dc7720L,0xc5c8ab9440e3f2f5L,0xb0c8a58acd029197L,
  42012. 0xa73ff329215492e1L,0x895c545eb1b5a5f0L,0x6dbc24456fcaf49bL } },
  42013. /* 5 << 266 */
  42014. { { 0x25ef32d60f2d76a3L,0x540650b9af4a7d46L,0x8979a4b8d991d7f4L,
  42015. 0xdaa706c299202400L,0x8a729680f19d281dL,0xde25bdc44ec44de2L },
  42016. { 0x0fc50832c2054496L,0xfee72fb60aaf2941L,0xc8263e64b82ed4f0L,
  42017. 0x91a8cb736f49055cL,0xb7585458f2bb515cL,0x03d2b23ab855e6c6L } },
  42018. /* 6 << 266 */
  42019. { { 0x09ec1e3dcfd3f182L,0x1f1c30b5adae7af9L,0xf3a33f7c6b454164L,
  42020. 0x0318926f94647c4fL,0x8e37bdd787db14ecL,0x811cbd342ab364d3L },
  42021. { 0x1dd1e5077c2b369dL,0x7a57bc46a28056bdL,0xfca5be4b089efe44L,
  42022. 0xb3bd84d76dc1290eL,0x40d7af098793e6aeL,0x4e08e11fa3723942L } },
  42023. /* 7 << 266 */
  42024. { { 0xca3709ad899ffebbL,0x1a87377877c00602L,0x5ff40c2aa99b4af0L,
  42025. 0x680464e5a80e870cL,0xd2f7f04494e10b1dL,0xee9b206c4e9aa1a7L },
  42026. { 0xb536d67596cbe950L,0x841856899e8305f3L,0xae1b669c369fa255L,
  42027. 0x62e260267233e1eaL,0xac05c5136aa60c24L,0xdfc6814fd2691677L } },
  42028. /* 8 << 266 */
  42029. { { 0x8baef5df0a02b0fbL,0x58a2b06bc2b92b02L,0x268558d754c8267aL,
  42030. 0xf924f795ccf70393L,0xe3763f30f68ee021L,0xc1e856f05c01ba4bL },
  42031. { 0xcc01a3e9722b6bffL,0xd2be4623ed5b3b02L,0x1ab3512e6c45e33fL,
  42032. 0xa978fe484ef433f6L,0x23e2ea018e21f5afL,0x49647d8811524a40L } },
  42033. /* 9 << 266 */
  42034. { { 0xd50abc94f5d3f437L,0xbf2ffcc546b7b738L,0x0bf53571f80edda5L,
  42035. 0x167908d4ab90ba5fL,0xad445b102303cf00L,0x9b537d4fb9e59406L },
  42036. { 0xfac5e27cf43049a8L,0x05ccb32ebf9db100L,0xe662eeac4d1b535fL,
  42037. 0xbf21d6d78d27ca90L,0xb960bf652a684981L,0xe16bdaee49236475L } },
  42038. /* 10 << 266 */
  42039. { { 0x47a5958f92ad4720L,0x12c33193da3bf809L,0xf16493147da6d32cL,
  42040. 0x42eb4e687102deebL,0x0f8c4ce283088c86L,0xedf91c3bd693c9a2L },
  42041. { 0x8a18a4761e8c310cL,0x5e8757c5dc3db0e8L,0xc48b820ef76a0affL,
  42042. 0x690d788d5c71e596L,0x2b0a00857cfe770dL,0x440ba06bd46505f0L } },
  42043. /* 11 << 266 */
  42044. { { 0x503f77906087d4d0L,0xc7243aeda1ebfb04L,0x203f0563ad8f14bdL,
  42045. 0xc20013b7cad73fcaL,0xbace8b323741a708L,0x0b376ff731bdeb56L },
  42046. { 0x820b7f1282c22e57L,0x0c08133117830562L,0x306d178a8d0d30c2L,
  42047. 0x36a6efd1467a1510L,0x558fea1af55b7b97L,0x1e9152b784e546eeL } },
  42048. /* 12 << 266 */
  42049. { { 0x92a7fbcdac3ce531L,0xeb85f7f059498d99L,0x8e45db2d02a8feb5L,
  42050. 0x176c0cb2728cecbeL,0x33fcfbb0d1837662L,0x426e192dd6f2882cL },
  42051. { 0x75a0f3450a2c9899L,0xd815dc6066148f9dL,0xf4ea90cefa0453afL,
  42052. 0x5108858ff54c96fbL,0x86b46b5731f77afcL,0x59df021f6bf7e2fcL } },
  42053. /* 13 << 266 */
  42054. { { 0x48d67f73dab6c0f4L,0x70cfc26cf0d49ef3L,0x25c95a68a65cce7bL,
  42055. 0x29a05632cf6ad228L,0xbcc2fb5a1a8128f5L,0x360d82a48c9defe0L },
  42056. { 0x1c5c5d628d1531d8L,0x58fc4b9a149f6b4cL,0x8097cf56a3b625adL,
  42057. 0x8821ead7fd8e0e35L,0xb96c2b880d9e1df0L,0xfbf55ba72a243accL } },
  42058. /* 14 << 266 */
  42059. { { 0xef32e94d70e0d8fcL,0x33ec93dc6d63e65fL,0x134532fb1dc7156fL,
  42060. 0x98fb5b0c0e8d85b4L,0x05c28df9b64f7861L,0xa7e73afa4160e1a2L },
  42061. { 0xbfe60a9b785f6e4bL,0xfcf998f12fec9ec5L,0xf673b8d15c12a44aL,
  42062. 0x85df3bc736d189a5L,0x4480a189dd83f6e0L,0x3216317ef3d3ab44L } },
  42063. /* 15 << 266 */
  42064. { { 0x221c1b7ffd3d7532L,0x40939c318bb4e719L,0x75182ce602f8f74eL,
  42065. 0xf508d6415395f9d8L,0x88fc89ea1fc81977L,0x861d8d0bcc8dc7d3L },
  42066. { 0xd76e4f0cec07b0e2L,0xb0a4e2aa5819b99bL,0xa67bed0366a9c935L,
  42067. 0xce7c8241d2781f91L,0xe7c5c22512af0abdL,0xd1067dbcfde7de16L } },
  42068. /* 16 << 266 */
  42069. { { 0xe1d42d94d087b788L,0xfbfb221aba0e176aL,0x5f6698e783686966L,
  42070. 0xbb5e159474a30dbfL,0xef86bb5bcfd20230L,0xf055a1c5403b8f8bL },
  42071. { 0xf249aac8d9d85ea7L,0x7318f7bc3d200198L,0x3b80960cefca9a90L,
  42072. 0xf28e33888f449c4bL,0x0cdfc61bf0cfe09eL,0x3b169c638b22cd26L } },
  42073. /* 17 << 266 */
  42074. { { 0xf4f13a49b81b45b0L,0xb77a67be3003fe1bL,0x70e648a318d52c97L,
  42075. 0x701ba8a1ee17ce93L,0x58a0ce0cf672226aL,0x2fcad147cebc3294L },
  42076. { 0xf5cd118a104e8f68L,0x0015bc0bd15358e6L,0x75f0d28f1c662df4L,
  42077. 0xcd54f443a3e038f4L,0xa83507610804c717L,0x5fce0ce3f03bad08L } },
  42078. /* 18 << 266 */
  42079. { { 0x4c2e2bffa180a71cL,0x067f3e3baff551b9L,0x007610f1afa43e12L,
  42080. 0xe8a9ae79ef7b9a1cL,0xa558ef6cf9d3b397L,0x8d5229884f172f34L },
  42081. { 0xafa906332d425e05L,0xc62c3914207b0bd8L,0xc84d197c059f7d66L,
  42082. 0x6cc1d8ce421a9172L,0x1d44a46929a7ebe3L,0x96ca4d0171c3c8b1L } },
  42083. /* 19 << 266 */
  42084. { { 0x31302e094d369fd6L,0x62fe210cf1b62d27L,0x496ac173bb37578cL,
  42085. 0xb4d3d065aa0907e0L,0x02317db27c822875L,0x60a01580f241ebc7L },
  42086. { 0x81a5d5244e4f37d0L,0x5286f7289c3f2555L,0x14c8c7549a73ff08L,
  42087. 0xd8236689ff478877L,0xf62d426b08e09f00L,0x2ba1833c67a96517L } },
  42088. /* 20 << 266 */
  42089. { { 0x7013d596831f464aL,0xe57185fdd3cf6ca2L,0xbba7898e35915f51L,
  42090. 0x9fbe5f139fd967d4L,0x0aba8344d173558fL,0x4c0dd30dffeb6beaL },
  42091. { 0x928f68cc5110e40fL,0x1589a327a58b6d60L,0x09b5c4e06abb0ac9L,
  42092. 0x01ef3f8a68957627L,0x55dbe9f79f4045a4L,0x91976aeeef178ac3L } },
  42093. /* 21 << 266 */
  42094. { { 0xd9c20a69b85e46d9L,0x1bda1163cdbda686L,0x5c0717f6c02427a9L,
  42095. 0x2a976c104d2a48afL,0xea276b15921a02e5L,0xf055b980ddb6315cL },
  42096. { 0x0ab85663825f00efL,0x95377fd42053a392L,0xc51c245e23f463e8L,
  42097. 0xe1ae1e5da24c981fL,0xd6a0b44d9f5cfdbaL,0x1205754023c16002L } },
  42098. /* 22 << 266 */
  42099. { { 0xfe464ce116ac9150L,0xfd629551173ee9e8L,0xd0623ab1781696cfL,
  42100. 0x7a07cedd58529fa9L,0x831b4a9d449c33a0L,0xb7b7b72417b171a8L },
  42101. { 0x0e1ff931f5a9aa41L,0xd43f33dfe356ba47L,0xd2abfc77f003b5d2L,
  42102. 0xc2909150882c0313L,0x83823f6c7ee111a6L,0x9d7a2d82f59cb72dL } },
  42103. /* 23 << 266 */
  42104. { { 0x52e712549b33f6fdL,0xd4d9b73f5c414babL,0x9834943177e93a9bL,
  42105. 0x848b53c99f283fc9L,0x86e48b6234c787efL,0x8b498e1cb3166045L },
  42106. { 0xb2259559e5e456ddL,0x0316069fa2c2ca8cL,0x9a70e29ef6524ecfL,
  42107. 0x2477ffc9bfff600dL,0x80a9a5e081869e1cL,0x84f887e70a78f6a0L } },
  42108. /* 24 << 266 */
  42109. { { 0x7f89c2c40c9f23eaL,0x8fb025d4d6ec2b2aL,0xbe70e48b12d9f811L,
  42110. 0x703ac1bdc7a43dd0L,0xa4309a2c2118ca3aL,0x5a95d7b301943012L },
  42111. { 0xd9597d87811f6c73L,0xf82e801596079992L,0xfcf8760df1561aa9L,
  42112. 0xe1e0306e2d91ee39L,0x99979031e0bbcb6dL,0x49259e54cfcc8746L } },
  42113. /* 25 << 266 */
  42114. { { 0x0de49373a38fb6dbL,0xda9e9036d6bf0a7dL,0xc99fe05fcba221c4L,
  42115. 0x45b51edd4cb730f8L,0x312670a3b064e142L,0x60dd1edecddb9ddeL },
  42116. { 0x94be613b9291d75dL,0xbc49861ca00b9831L,0xccec7a08230320bdL,
  42117. 0xd1de7bd80ff967b1L,0x5a1164f105fda7e3L,0x864cfc4ce3004538L } },
  42118. /* 26 << 266 */
  42119. { { 0x06f76165385095a7L,0x3c73ac918514b2e0L,0x8ac1120a04b2dac0L,
  42120. 0xed6a74174382d5b3L,0x852a5a7864a32d50L,0x7ef5b84bbdc721acL },
  42121. { 0x73dd18980480d271L,0x755b23e04ab0b11dL,0x2e78238982391e5aL,
  42122. 0x4957b5c948923446L,0x4ab9318f6921c1fdL,0x8e455abd3e46607bL } },
  42123. /* 27 << 266 */
  42124. { { 0x5c41aafbaf25d6b6L,0xe351f1df916b63f6L,0xe28e9ba98a6efd65L,
  42125. 0xcbca736356afe7b0L,0xa77d6077f7384e6aL,0xcc9ad74a738a90abL },
  42126. { 0xe1071caa2333dc2cL,0x4415691000dfc2cbL,0x0ce43c16afd89eefL,
  42127. 0x0cfbb8767b812045L,0xe6da40fa6d916fc7L,0xe404b3436302af21L } },
  42128. /* 28 << 266 */
  42129. { { 0x4073f246d9915433L,0xc0149d5672e06203L,0x0abb06c18fcec6a1L,
  42130. 0x3a7d1295d75a73f1L,0x65fd8700f18c9488L,0xc3cc0b27732f7741L },
  42131. { 0xd15d8c8025a261caL,0x518233510dc1fee5L,0x981607c7120e1266L,
  42132. 0x0e486b11f42cc9fdL,0xe606c16c01a888cfL,0x079dd0b31ea23249L } },
  42133. /* 29 << 266 */
  42134. { { 0x19c62d3c58624305L,0x44974c41b73eae15L,0x2df48b6dd023231aL,
  42135. 0x6a82c197c6fad2d0L,0x55758764c623fdceL,0x29f533fbadcebd90L },
  42136. { 0xcfbe4155cfff7336L,0xb18415c7bfb609fcL,0xc23395ad8d411a6cL,
  42137. 0x25aebbcf0c92de60L,0xf4d3b1ebc5ccf268L,0x9646b4a79ac85de3L } },
  42138. /* 30 << 266 */
  42139. { { 0x0f423f3013d6cb61L,0x239b2baa66674aceL,0xa6f2ba39eda69340L,
  42140. 0xdbbd20eb43e6918cL,0xe6ce84a3e5e7248cL,0xd9184bb5e04c580cL },
  42141. { 0xe4b76d96a0738aedL,0x98662b6090d480a8L,0xfb14bec72610b6c5L,
  42142. 0xdfcb01f6bb65837cL,0xd7f0b6ad4a97fb21L,0xe6d84f4bad59b2ceL } },
  42143. /* 31 << 266 */
  42144. { { 0xa79085eb1f7e921aL,0xe2737a08d0aeb41fL,0xa96d7e8169ead959L,
  42145. 0xbed1731b733b7c6aL,0x7768e32df508a48aL,0x6f73a08651ccc97aL },
  42146. { 0xb7f94a4b9122db73L,0x1cd17ca257ec947eL,0x7c83fe278f8445f1L,
  42147. 0x661f5d82b520fe34L,0x495354942233d364L,0x0bf7abe663925ca2L } },
  42148. /* 32 << 266 */
  42149. { { 0x923e948c203bb368L,0x58e37a2b231a80e0L,0x345a011a6df27debL,
  42150. 0xba6784c1d57f4ca2L,0xf01b3703114196e9L,0x981a63eb1aab426dL },
  42151. { 0x2ffdc97851770c1cL,0xddd19da6efa722fcL,0x5ca1c01216f09c1eL,
  42152. 0x612021de5b9cc0b6L,0x910e10e95e150569L,0xacace9dce2ab93eaL } },
  42153. /* 33 << 266 */
  42154. { { 0xf66601a7aae13423L,0x940bcd2882cf3308L,0x55de590974f632bdL,
  42155. 0xf677d9d4f183faeaL,0x54026b2828ab364cL,0x2a5353dc743469edL },
  42156. { 0x15f02aadd46871d5L,0x4b3ec89b5a2100d1L,0xca85c3681eb9c381L,
  42157. 0x145cc7fd50e78466L,0x75fdac98c4b4cdf3L,0xb7cb9170796136f4L } },
  42158. /* 34 << 266 */
  42159. { { 0x6e89c0df54827957L,0xafb26b6d05805250L,0x0c0dc4ea37343465L,
  42160. 0x2d3c8b873daca876L,0x733b23d9554a2cd8L,0xd4f2936a6a04d38dL },
  42161. { 0x0937611686f90d9aL,0xcd854d3211425591L,0xbaf9d4cab55b4bf3L,
  42162. 0x47259b95144676c2L,0x765cc4b55d7d2835L,0x36e47a8882b2cbafL } },
  42163. /* 35 << 266 */
  42164. { { 0x2070db373af8c96dL,0x4c2db2623b70e976L,0x7ed4d1e9c01f404aL,
  42165. 0x04a52764b39d2e07L,0x06e4a7984ebe3ac3L,0x35c9c1f68d7645a7L },
  42166. { 0x2e0b48c75e9c295dL,0x5d44fafaf78e0717L,0x2fc27eba04213067L,
  42167. 0x9f3fb2ff2ab0f0e6L,0x374b32fd0c730af6L,0x06ec846129583945L } },
  42168. /* 36 << 266 */
  42169. { { 0x583a3272230be37eL,0x4d3298951c55f593L,0x3b3a2d8a350f0334L,
  42170. 0xec830170b25498abL,0xd65847d9b3a01571L,0x4605e739663f86fcL },
  42171. { 0x971b8e115c4bf502L,0x651d179571a892b0L,0x57930832d2d1a4f9L,
  42172. 0xf97010745b09a4c4L,0x76b023e55ec2d1a6L,0x8648b8bcf49e1329L } },
  42173. /* 37 << 266 */
  42174. { { 0xc5a8884d6d5c7411L,0xad32aa97d098e2f2L,0xf99569e945d8ad00L,
  42175. 0x35801c1c0a232776L,0xe426fd65fb1a2cb2L,0x874b559ecb26ae10L },
  42176. { 0xfa67c2ddf44461b8L,0xc58f8d229418e17cL,0x5998197169908eddL,
  42177. 0x8a4a14b8a1f78300L,0x4814c36e61f7fbc5L,0x0389dcc716a1c7adL } },
  42178. /* 38 << 266 */
  42179. { { 0x777e308fc072cf71L,0x4a2d66928c807ed5L,0xa4fe074124842689L,
  42180. 0xa3c2a867151ed7b1L,0x52ef24f24d22ee35L,0xe684ac76499053ddL },
  42181. { 0x0b7c223b0582cb86L,0xa6c18539bb81f713L,0xb472da7f66d2aab9L,
  42182. 0x3592ab7b7916d4e5L,0xed651a05770c49a1L,0x7b879da1c0256420L } },
  42183. /* 39 << 266 */
  42184. { { 0x82eeaa1496f83e29L,0x586f3e8de5cae8eaL,0xb671eddbb298eb5aL,
  42185. 0x41efea86dd0da080L,0xfe9af019564a382eL,0xb2f370463027693bL },
  42186. { 0x65466e5018789c0fL,0x5b0870ac2ebfe89eL,0x9093f416a59f3a53L,
  42187. 0xab0cd17251864c77L,0x8e3aa9864481457bL,0x46cfd207896346a5L } },
  42188. /* 40 << 266 */
  42189. { { 0x473bdac887cb6ae0L,0xbd3001b3f155c32bL,0x109643c20026e8a5L,
  42190. 0xc4f5f6cc188a568eL,0x630aecf64d2758e0L,0x4549949955b91872L },
  42191. { 0xb10f19d4b6a09df6L,0xc537a4bb37f26d01L,0xd29f505c4d19a293L,
  42192. 0xf388a5d2cbb09b17L,0x462efffc6811a49bL,0x8a1cbc40b2f3aef2L } },
  42193. /* 41 << 266 */
  42194. { { 0xf7d94342b7b42998L,0xcdfd6e43629089abL,0x622e8d3cf7932661L,
  42195. 0x4818adca0b14b257L,0xcc1dcd1ccdb486bbL,0x58b6cb7ecce8b358L },
  42196. { 0xca36c0b4e640cebeL,0xcc5598942d25f742L,0xdf4f2a9ed754d3eaL,
  42197. 0x072eb5e5f44a8604L,0xfa7b1a03cd5ca1c5L,0x6b6b4967d4779eceL } },
  42198. /* 42 << 266 */
  42199. { { 0x0f0233df8665f6f2L,0x8cd887463bd40f39L,0x23a41596eedf8d3aL,
  42200. 0x3f50e3f0b5ef5455L,0x935b24e0a50cd358L,0xfdd0e940d362a9a7L },
  42201. { 0x6b00a6d154371aabL,0x2e707c4e1204bcf8L,0xb4d2d2dc30233f88L,
  42202. 0x470c3201783e58efL,0xf53987865ac21a16L,0x278487d626c3513eL } },
  42203. /* 43 << 266 */
  42204. { { 0xab5ac4df7d40427aL,0x0c4fb23b66ebdcedL,0xb02f8632b87df612L,
  42205. 0xebbd2e7f1801700cL,0xdd11de725b675e5bL,0x2adfb20662d7210fL },
  42206. { 0xe3ba7c0e28667b70L,0x3e190a438fe31c22L,0x57908f2bc3390733L,
  42207. 0xe9e8714ccb6fefbbL,0xabba506dfd51c513L,0xd50f979f6b798860L } },
  42208. /* 44 << 266 */
  42209. { { 0xdf224cea1eed2b0bL,0x10205f438814572bL,0x8b99d85c02eb9b6cL,
  42210. 0x7a8a3d146c63a672L,0xc8822c6c96f45695L,0x0530f619c7f532f5L },
  42211. { 0xb981e182310f8355L,0x49318290f201444cL,0xeaa4c406f9b76d19L,
  42212. 0x960fa2c7534a91c1L,0xf98966d1522b7d9dL,0x66912542c757dbd6L } },
  42213. /* 45 << 266 */
  42214. { { 0xe265972e1fe73a1aL,0x77e234c2987a1a34L,0x1814bdfe8c5789c0L,
  42215. 0x908f55c7df2ca0d7L,0xec207eb2a6a50ceeL,0x63cfeaffee916760L },
  42216. { 0x808a758bf466a1b8L,0x2a48112d8383b0afL,0x5238922ef1a4ca6aL,
  42217. 0x5c422786778de666L,0xf5a8c6b5d2f549ecL,0xcac5d0c5242bbc9bL } },
  42218. /* 46 << 266 */
  42219. { { 0x33e0e005b34dbf06L,0x7bbdbe1e1fb341dbL,0x443fde882bab5425L,
  42220. 0x9db5bf1a86b57cdfL,0x72c535c309a93848L,0xf7aa9432b5f216ceL },
  42221. { 0xc17dc7ae0242308dL,0xf1cb5dc5db0e4c0cL,0xb9d16d58a2b7112eL,
  42222. 0x486cda07ee4494b5L,0xeb46ab545d431adbL,0x3261dc5181ab565aL } },
  42223. /* 47 << 266 */
  42224. { { 0x476a4bfaa2a8a081L,0x43c5f841394f851bL,0x659baa591f5b22ddL,
  42225. 0x49a786aa65f680efL,0x091bd21608fcb9d8L,0x13f6953d984fe1f1L },
  42226. { 0x7b5d9f4b6d6d40a3L,0x2f135dcf0d458d54L,0x2da18c3d3a71204aL,
  42227. 0x3d93edb97a3486d6L,0x026fec7261846af9L,0xa62197bcd5200dcdL } },
  42228. /* 48 << 266 */
  42229. { { 0x0cdd83725070e0a9L,0x7c5ad562ec550783L,0x9652b8474f3b8d2bL,
  42230. 0xfdd60d93e6e98d73L,0xd51cae2ca3479d0bL,0x11b93b6dee05c006L },
  42231. { 0x9d72b82d8a3b40d5L,0xc6e996fea7d24855L,0x420672f7398603deL,
  42232. 0xd551b34a9a1af2ceL,0xdeb8c1d913bdce0cL,0x56ca926debbeba7aL } },
  42233. /* 49 << 266 */
  42234. { { 0xf63ec096bb85ca8aL,0xc149664173bc52f2L,0xba792560c02fc808L,
  42235. 0x9a6043e3533c6523L,0xa9d78f0aa8564390L,0x7fef67e494614bc7L },
  42236. { 0xb4091b8fd389234dL,0x5913368e82db1d08L,0x178f7df0981cc6caL,
  42237. 0x19b1f2be725ec048L,0x852aad85012f9c44L,0xb07cac0dc894e777L } },
  42238. /* 50 << 266 */
  42239. { { 0x1c1709d02c7e0767L,0xec1013234d70b117L,0x95c57e678beb8e05L,
  42240. 0xdbf29e2e1133fa4aL,0x917f4a6c5139e020L,0xcf0be5098399735dL },
  42241. { 0x83014c169c878b4aL,0xe0c14d2cf789b84fL,0x222aba39165a4aafL,
  42242. 0xe135f2b384441391L,0xb6f1cf7e19c3ee07L,0x2f918da9f810499eL } },
  42243. /* 51 << 266 */
  42244. { { 0x026ee35816bb2bddL,0x8c8953f8566d8470L,0xf0cd746d0fc63932L,
  42245. 0xddf3e54f060a07a3L,0x8da877a643b4e92dL,0x7ffd839dfdc9e34aL },
  42246. { 0x5c3527445df04d9aL,0x3c5eb576b69f84e0L,0xf73cae300848d993L,
  42247. 0x3438f2bea0fe7fdbL,0xd4e7511f0eaf0168L,0xa7ffd167c768386aL } },
  42248. /* 52 << 266 */
  42249. { { 0xbb91877acfc74bb0L,0xbe742182a060a71eL,0x116e5a626ed7786cL,
  42250. 0x0a496b1bea669e56L,0x3a012174b8f02e6eL,0x6add760c106174f4L },
  42251. { 0xaf2606e05e0292cbL,0x7800a495c7b7bad0L,0xca02c9320a1c5954L,
  42252. 0x904f23c6b245ad57L,0x28d6cc2172934de5L,0xbb7ed903283752cdL } },
  42253. /* 53 << 266 */
  42254. { { 0xc80288125e58122dL,0x7a5c65f1c4b089caL,0x4ddfd3663b980faaL,
  42255. 0xe8129f7f96a909a0L,0xc177aa042221ffacL,0xaf444ef78ff46e81L },
  42256. { 0xa627f3d76b154996L,0x0f06fa7b115e2a5dL,0x2532b85d43fdb775L,
  42257. 0xb6d96b32eaacfb58L,0x898766304f834382L,0xfd2ffde9d5636b92L } },
  42258. /* 54 << 266 */
  42259. { { 0x318cf974973757d0L,0x12882d0a94ac73a2L,0x1fb74a53bc250843L,
  42260. 0xc612569eccd8d47dL,0x74cff8789d5f7c8cL,0x54e0e475375a7366L },
  42261. { 0xe8322d23d0f57cd4L,0xb6ec5666d95a6e0fL,0xc8374b254a4bd084L,
  42262. 0x9459181b349d93ebL,0x7011f0a61368b9a8L,0xed57a19137eb2833L } },
  42263. /* 55 << 266 */
  42264. { { 0xd245d180fa5f79acL,0x44c331f35b41fcb3L,0x13188b6e27ee6c0eL,
  42265. 0x54ce984b23fdc742L,0x66d4e1303c81c213L,0x432174030ecb6fd8L },
  42266. { 0xbbeb09fe111ae08bL,0xb22ca6b42e2df05cL,0x0e9d01dd0fec9be9L,
  42267. 0x9ac4523dfd2fc4abL,0x3d9e98c8fdc059f5L,0xd52e6dfb2d2cbde7L } },
  42268. /* 56 << 266 */
  42269. { { 0x80d7ef8598100f17L,0xb9795c7112db3f3aL,0x44473659296a7c44L,
  42270. 0xa46810f21e5bf539L,0x5621241814ee1e3bL,0xea8284e209931822L },
  42271. { 0x424c613e42ac1e42L,0xe84a80afbccf9466L,0x21a8cdcc45132204L,
  42272. 0x9505a4148d58da62L,0x773e09837b3f47aaL,0x0ad0cc91e109bc6dL } },
  42273. /* 57 << 266 */
  42274. { { 0x98e2509bb527b250L,0x2dd30c824a9c762bL,0x54025da4cb2a00a2L,
  42275. 0x88ed00ff04d8e0e9L,0x5699890219ab1fadL,0x92fffc41697b0226L },
  42276. { 0xb481d1ee7d08a39bL,0xea773f7f82be0803L,0x967e848a6de8ec6dL,
  42277. 0x6ea1e46380293472L,0x941cded72e988de3L,0x85f96b23399da6b5L } },
  42278. /* 58 << 266 */
  42279. { { 0xabd86572f1a62473L,0x9ec25d0bec274738L,0xd27d1a8c2052d4ccL,
  42280. 0x1f2a2a9ba95de3f0L,0xe3b8652ea2c91bcaL,0x1a4f6900822175deL },
  42281. { 0xd9405d4662475a44L,0x4ecbe06cfe55c587L,0x30f8d199a4ac2f35L,
  42282. 0x2a5defd8d3c12844L,0x6d0fd9d673fe9b7eL,0xb0ae1019adf1a196L } },
  42283. /* 59 << 266 */
  42284. { { 0x6c9a378c30734f5eL,0xdf04359f6aaf7b42L,0x244422fc16f87409L,
  42285. 0x81dfb15b08bcd67cL,0x24b7d083a5e4a8e0L,0x557183410431786fL },
  42286. { 0xc8feeb8c33f3ec2eL,0x360098cb2be371a0L,0xf4f3d992bdb874ceL,
  42287. 0x47b432ed87af8471L,0x5c4b1dbdf87535deL,0x6bb6d6dd8301f660L } },
  42288. /* 60 << 266 */
  42289. { { 0xafa9338759769f77L,0xe6c710cb49e502b3L,0xe6fd7b8d1514da98L,
  42290. 0xb5924c63aedf93caL,0x4cc36795c112b37bL,0x0ee30ce3231def42L },
  42291. { 0xe1f436e7daf8a37eL,0xed54b7f56efa184aL,0x09ad65752c0dfe63L,
  42292. 0x5ed9da43ca530b38L,0xea2fa192ae156274L,0xbf096c54a4429edaL } },
  42293. /* 61 << 266 */
  42294. { { 0x41401b98f54490cfL,0x361a24a143b21183L,0xf0176431b6570f0cL,
  42295. 0x851bfe9d05c8bd3aL,0xe44f4ba74611e1b9L,0x587677dc28bf2c27L },
  42296. { 0x3e3b67886d85341fL,0xad65a69468aa381bL,0xd269dc711aecf19bL,
  42297. 0xb94b64a2d98e6a2cL,0x6004b569a94661a0L,0x81713a8e689181d5L } },
  42298. /* 62 << 266 */
  42299. { { 0x55b1901d3649638eL,0x2e9929c416abaf64L,0x2d2b160ee9cd0090L,
  42300. 0xb5ef6525f55f13ccL,0x447aacbe11c3e8a5L,0x2c54e602630cf4c4L },
  42301. { 0x3f6d99fc641d8eb3L,0x35386c1384877912L,0x7195db8973f31b6fL,
  42302. 0x63297cb2d3a22085L,0xa627593833fe97cbL,0x2f9a6f0da1eaef0aL } },
  42303. /* 63 << 266 */
  42304. { { 0xb70d7683c63d6dd3L,0x60ea781084acedf1L,0x7646260c40d62cd0L,
  42305. 0x687000b456142a6aL,0xce3c4728ccb9177bL,0x45377d059928c509L },
  42306. { 0x75cc40bb1a78af0dL,0x43a1661cc69e59fdL,0xf9bbcbf8044a943cL,
  42307. 0x934fd40d7c372080L,0xb6edae96cb2eb940L,0xa02bb5fd6e063cc9L } },
  42308. /* 64 << 266 */
  42309. { { 0xac58c9e09db9ca19L,0xd308ea5d390054d0L,0x32ef4afc2cc42529L,
  42310. 0x08bd48b397c2bdf9L,0xac8a7803a849e19aL,0xcd51c0da75c31496L },
  42311. { 0x733dc7def0e2d49fL,0x7c9caad1b44b8cc5L,0x6d9c5b0847be21a8L,
  42312. 0xfab0fdc55ebf426fL,0xd60748caf94e9e5bL,0x3072e59269366089L } },
  42313. /* 0 << 273 */
  42314. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  42315. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  42316. /* 1 << 273 */
  42317. { { 0xb06c17a3f0ef77c5L,0xc144e7846df6bf59L,0x2440ae990038aeb2L,
  42318. 0x83bf711b58b402caL,0xb8763e00b577732aL,0x509e91eff651a932L },
  42319. { 0xbe02ab9d00ac109eL,0xfbcb426c8dfd78f1L,0x7ed272f64283f80fL,
  42320. 0x098cf0572365da5eL,0xd90e6f1805dc6bebL,0x09ef177fcf7b9d72L } },
  42321. /* 2 << 273 */
  42322. { { 0x6f101762eeb791c4L,0x0d942184df261effL,0x2c58e2aaac1dc827L,
  42323. 0x51410e89f835a1b6L,0x981333a7629915a4L,0x371891b60c14148dL },
  42324. { 0x4d20b3d3c0904446L,0xdda7ecc8949776d8L,0xa664b68c2a2645f7L,
  42325. 0x7a6bc857add082eaL,0xe7467dc63e5ff206L,0x40a6c34004e2dfccL } },
  42326. /* 3 << 273 */
  42327. { { 0x3d0efae3106ba1a1L,0x9c717ca192d7be5aL,0xa5cb5a253f00eeeeL,
  42328. 0xc2f9258cd86161ceL,0xd2b0865f5c4a389aL,0x8c06d7689b1f2159L },
  42329. { 0x5a758a612753107fL,0x5ab6449d0a539c19L,0x88655a4949d301c8L,
  42330. 0x129647e61c4bb89bL,0x06f0665ec360259cL,0xcdba2f0b066197d1L } },
  42331. /* 4 << 273 */
  42332. { { 0xa235456903744726L,0xd2169e6dd8d275acL,0xab0c247b132c5689L,
  42333. 0x129a5c9dcc4760bbL,0x03eba46726ae821bL,0x67a33fda3df1cf83L },
  42334. { 0x010813cfb8421b7aL,0x7b0f507098cd6d76L,0x907320b31fe4b600L,
  42335. 0xda3bfeb398dd3239L,0x23f1ed1641abb34cL,0x01b30f29946f85f1L } },
  42336. /* 5 << 273 */
  42337. { { 0x97c5f1c7d3970d9fL,0xd051c518ac8e6227L,0x3f67b3958e87edacL,
  42338. 0x3a5cbd287b9e4c17L,0x58c009e65671841dL,0x7bc5bddb518b3b39L },
  42339. { 0xe7a8a6335e74a614L,0xf92e4c226ed89a92L,0xd0d6e80a118e663dL,
  42340. 0x33dba4f9dcbb4aecL,0x1d4cb3141f917417L,0xd8b17bfa3b0c5859L } },
  42341. /* 6 << 273 */
  42342. { { 0xc0fa0d21a093c3e0L,0xad34c41439e902a2L,0x81c8cd7599bc928bL,
  42343. 0xf7f8be14cdbbe4d8L,0xe46268b5c2339529L,0xcdc54e348283ba7dL },
  42344. { 0x4c5cf62778904fe1L,0x056678c11b45e4d2L,0xb555ad6ad265abc2L,
  42345. 0xb8f8ca3f830306efL,0x48c8764681c20e1dL,0x5bb0a529737a7944L } },
  42346. /* 7 << 273 */
  42347. { { 0xbd4c2bfc9cf6fc5fL,0x888885140577af66L,0xb5aa2f05f9e3f7c5L,
  42348. 0xbd477bae64de6007L,0x1da5dcc9747e1224L,0xc2293d1732a15f5dL },
  42349. { 0x4dd9daed029d6cbaL,0xf51362d62cf299c7L,0xe1a4b5c4279cd1e1L,
  42350. 0x4b129a5ea89acfffL,0x8292228ece1c8744L,0x5a440fa04fd12c86L } },
  42351. /* 8 << 273 */
  42352. { { 0x285248309666f8eaL,0xd579b3dfeff6502bL,0x3a66fa9900e4f78aL,
  42353. 0xfd8a65bb54a3f7a3L,0x505d3f631965a79aL,0x9524972c1891469aL },
  42354. { 0x78367cbc3354da3aL,0xbfe1fe3de4941c6eL,0xe41bb3f6f5af173eL,
  42355. 0x57cb03ca5ca36597L,0x27f86cb87b99f795L,0x5cae6514ad4dcef1L } },
  42356. /* 9 << 273 */
  42357. { { 0x4b43f0aef1743346L,0x1700581944324c46L,0x86c77197e3603fcaL,
  42358. 0x230d516f4a6858aaL,0xee965b4ee7c56f7fL,0x4f4ed301dcefb75aL },
  42359. { 0x610b138c4a740b23L,0xda3996a83ffc3599L,0x930698fcb2d1c304L,
  42360. 0xd55bdcd3702bf80dL,0xdf767c419e334726L,0x975352a9d0e819b6L } },
  42361. /* 10 << 273 */
  42362. { { 0xc117353b5e816653L,0x0c87bebe820641d5L,0xee588c6d9ecd29a1L,
  42363. 0xacdfe622c70edf9bL,0xe8b8024cebae414bL,0xd0c426dc9bd7ceccL },
  42364. { 0x715cbc2efe735ce7L,0x8376edebc5e7017aL,0xe9b37efc07990dd5L,
  42365. 0xc89e384ed8d75238L,0xbc594d218438ffb3L,0xbe77e4d4d3628473L } },
  42366. /* 11 << 273 */
  42367. { { 0xc53720cdd1b4f3baL,0xb8ac3b4fadf2a330L,0xcef037f5fe179e70L,
  42368. 0x2743b382589d9147L,0x77a094d624423d58L,0x9e34c2e62a23d372L },
  42369. { 0x641ea760983a5893L,0x2211e6a49a81548eL,0x56578a1a48735310L,
  42370. 0xedb91e03a57faa83L,0x4e14d5649b133629L,0x341f3ef957e82ff7L } },
  42371. /* 12 << 273 */
  42372. { { 0x4952a350d87a86c9L,0x08ed7da7034f45f9L,0x1e9ff8272bd716d0L,
  42373. 0x2471fd15f1d9331fL,0x0c708362d7370b75L,0xaddedde6fc1a1051L },
  42374. { 0xf4475288db27b186L,0x5be4d46b3760bc11L,0xe44435d906d47ee1L,
  42375. 0x865cf7c8d0b7c8a2L,0xdb412be08d31a252L,0x4b90a9322f24d71cL } },
  42376. /* 13 << 273 */
  42377. { { 0x71b84eed8f7a3ab9L,0xf41d7edb2dc18004L,0xe408156dcc4a02cfL,
  42378. 0x0be155a25cd906caL,0xbf4b0f6991516399L,0x2ea85d434a7ff94dL },
  42379. { 0xf199b31da26e9974L,0xc584df250b805ae3L,0xd4e7e8597a3634daL,
  42380. 0xf553f07770db4be9L,0x1cb1056fbf0dafa3L,0x235281b2a817d6edL } },
  42381. /* 14 << 273 */
  42382. { { 0xc3304e9260d2b80bL,0xab24dac9a38753bdL,0x40373d04cc1ebbf8L,
  42383. 0xa5a162d3437e68d2L,0xc8018b1257e8db12L,0x0c99c6de9bb52643L },
  42384. { 0xafef0ff6ee24e63bL,0x329c46264bea9a14L,0x1b17d2e6effae4f9L,
  42385. 0xd25b93aaee300afdL,0xe83bfdcba0d62da4L,0x5e919538fd787740L } },
  42386. /* 15 << 273 */
  42387. { { 0xf5bbb4fe196c38e7L,0xe0011deca5c75baaL,0x2e29fe59b835aa49L,
  42388. 0xee22e2864230f17fL,0x8774214ff94c1060L,0x35bcca38e6d4c126L },
  42389. { 0x18d984dbb7c9d255L,0xb1d5515c9b63dc4fL,0x425360f12a0cb854L,
  42390. 0x038c7f2317a1e286L,0x5e6b12ce951f18b2L,0xabfbde5ea65b1de3L } },
  42391. /* 16 << 273 */
  42392. { { 0x38a49bf555f0ad9fL,0x1a84c6b8f3618639L,0x5f709eca01b2f7c2L,
  42393. 0xc479a6505be8359fL,0x6b6a22bfd6646b3fL,0xcce78878cc5b711bL },
  42394. { 0x8e7dbc63b446cc63L,0x231bd027218f800fL,0x2d3a7e04030271ebL,
  42395. 0xb08b5978e22fb3c7L,0x860d62789be0d46cL,0x253a31c21d49a915L } },
  42396. /* 17 << 273 */
  42397. { { 0xab4dbdf36ebc28e5L,0x56d5fec527be58b5L,0x6e9375d3cf3fd509L,
  42398. 0xfffea897ca4ddf48L,0x0a9542ae6a3757c5L,0xb9069a2e7d93911dL },
  42399. { 0x3e74ac5f3dc967b8L,0x99c38796ea8f5a21L,0x27797b97a6ddea53L,
  42400. 0x9501e1c561dfcc1bL,0x568d3abe448e95c5L,0x021f8f4c0e7c186bL } },
  42401. /* 18 << 273 */
  42402. { { 0x98aa1f7a6e44f63dL,0x6451b170cb597ec9L,0xc0f6ee8721e13b78L,
  42403. 0x36c3b9c751cfd003L,0xc31718ed2f610040L,0xdddabc6688c48009L },
  42404. { 0x5626f090a8369e4fL,0x0eccb1c06004a968L,0x2f0448035da2f1a4L,
  42405. 0x5390b6dd3846a726L,0x5c4caffea24f3083L,0x3c9baac8c4842995L } },
  42406. /* 19 << 273 */
  42407. { { 0x58c5fd1205c7a75dL,0xa98007fd10866935L,0x91369e874acd567eL,
  42408. 0xb7e05dc322c6145aL,0x24c949b4d949d8b2L,0xc5c574a590a6a437L },
  42409. { 0x4306f0334798d1d5L,0x82af09f4520e01b3L,0x53fab41b81247f00L,
  42410. 0x3096ccf44ea93cbfL,0x9665e039f13ff09eL,0xb623f8b158e036d9L } },
  42411. /* 20 << 273 */
  42412. { { 0xbad6b669376bdc3fL,0xc4a8e7bc23a9ff38L,0x3f54d8c4555fb0a3L,
  42413. 0xfb3d5e1d2b23db1bL,0x6379f78af0d7eba9L,0x36004febfa0beffaL },
  42414. { 0xdf0a373c334ff01aL,0x10314749dff12a1cL,0x1d52ddc7f184c1b3L,
  42415. 0x79431663ab02d404L,0x1a6488c17f4d3795L,0x3363660f7cca9102L } },
  42416. /* 21 << 273 */
  42417. { { 0x1e4595c6db3e57d9L,0x49e3d3d9bfb94ec5L,0x4c720de1a4f12881L,
  42418. 0x91a08340b06c64e6L,0x8e5c72f0ef0857deL,0x2c9b4cbc09bb76fcL },
  42419. { 0xd4262fe4b0bba8bfL,0x64c5fa1439fcd07bL,0x518da4de62904ceeL,
  42420. 0x626182ebae4c9717L,0x900fe9f806351622L,0xf74aaa2241f9e4d7L } },
  42421. /* 22 << 273 */
  42422. { { 0x9d2c02839fabb29bL,0xb27ac46e172348cfL,0xddc6fb63de1f64b2L,
  42423. 0x532dc953bb097c87L,0xc7f5180cdaa34e27L,0xf96e4ad755438893L },
  42424. { 0xc0b2eba324f54a0bL,0xeba396ce5b50d12eL,0x80b3a7f699772783L,
  42425. 0xe2fa82ff3ff7df4aL,0x55375369a2359baaL,0xa28388ed856c05bbL } },
  42426. /* 23 << 273 */
  42427. { { 0x4432fe8495a2d064L,0x4c6380747fec6057L,0xc33705bb33cfb533L,
  42428. 0x5e7fb7c976991cfeL,0x73d249bdb3ac1b6eL,0x963964c896aeddccL },
  42429. { 0x8c1abe0e56b71636L,0x6ebb841f38693cd1L,0x00ef6a7b60e7cf67L,
  42430. 0x29ecded2c258bcb9L,0xb2d566a5e40fd26aL,0xa2910f4ed512abffL } },
  42431. /* 24 << 273 */
  42432. { { 0x56d6515604dc109cL,0xcd740cc809c1d307L,0xef9e049f10dfaeadL,
  42433. 0x19750b3ae30b70b8L,0x11ed860015c6a562L,0x53bdf97e12097026L },
  42434. { 0x79559d056c0d908fL,0x8f1d75bab506d527L,0xd6fd7323ae8fb3c4L,
  42435. 0x834639c9a4111f88L,0xfc69a029a310a683L,0xa4467bbb255f2e9aL } },
  42436. /* 25 << 273 */
  42437. { { 0xa809a063e9e3953fL,0x09242dc960dc53fdL,0xa48f52d00080c436L,
  42438. 0x762a585dad2eb70dL,0xc6d52f047a3c6aa2L,0x1b6979dcbe60899cL },
  42439. { 0x7a07af246d760794L,0xa5b1f912ef5c1118L,0x36367e4375bb329eL,
  42440. 0x594f349029e6bddbL,0x13cdc4aaa4a4f1edL,0xa7c3ff97b687a69dL } },
  42441. /* 26 << 273 */
  42442. { { 0x1e79881146f7c4c0L,0x25730855946abf8eL,0x1741fdeeaac2031eL,
  42443. 0xef34715b72ea60b6L,0x378eb680350ddcfbL,0xe72ac880ec237141L },
  42444. { 0xb173251fff125bf8L,0x37ffb0cf4999b6daL,0x9eeb91a8817779f6L,
  42445. 0xa9edff0ae93ed1f3L,0x31f2ca241d7772d6L,0xd25c3f3b97f67b92L } },
  42446. /* 27 << 273 */
  42447. { { 0xb6c4144381478e46L,0x7b53d46350cf8795L,0xe96e7cb9ca5bf2d2L,
  42448. 0xc8fa39c695ac9ba6L,0x8ab037d12efc83d1L,0x0ccacbcc94bc2536L },
  42449. { 0x45e7c7c774038e13L,0x47d5b7292f5e344eL,0x2e0ffb2cb1eed282L,
  42450. 0xfe88d3a88d5d0b37L,0x804b612e2487d971L,0x6f316d66c95d08faL } },
  42451. /* 28 << 273 */
  42452. { { 0x5f0a58a8a3526fecL,0x849c171b02f028c1L,0x34d77ce856a5d3b5L,
  42453. 0x9701621754d5a92bL,0x0cce35c12cc5b70bL,0xd9d5a00ae83f1f4aL },
  42454. { 0x064223f826a0368bL,0x328a9f6940e16452L,0x3a6ac093d305ad2cL,
  42455. 0x759d9a16beba7c44L,0x86021de7637ce7c8L,0x276bed61cc80c1ccL } },
  42456. /* 29 << 273 */
  42457. { { 0x5d4a529ef9822e60L,0xc6f2702006edd801L,0xb2511d84efa3d8d6L,
  42458. 0x38cfba656a4c6598L,0x31a5779765c067a9L,0xcee558f387d2ca0aL },
  42459. { 0xf22345cff844260aL,0x29b6352a63d2ae75L,0x59dad0ab6cc9f2bdL,
  42460. 0x615ad3599ae1bcb3L,0x3a29a237f692f42bL,0x543771c40f26163aL } },
  42461. /* 30 << 273 */
  42462. { { 0x427437e7d722576cL,0xc9d7ac7abb548ef5L,0x72f00f28c331a9e0L,
  42463. 0x5d9327b564949b48L,0xea75f3b54e2bb808L,0x28acdea068678f8bL },
  42464. { 0xe9e787b20878223fL,0x213f47ff7e7b0a11L,0x5e967d39f277a3f7L,
  42465. 0xe6651015d2006de4L,0x49b87e4bc44eb1e0L,0xf461bb76222cd3a2L } },
  42466. /* 31 << 273 */
  42467. { { 0xd6b9341fde60d963L,0xb1a8dd0d5319a930L,0xc4f18dc0aa6b20b5L,
  42468. 0x787de2e7f23f4401L,0xc15b38eb28047029L,0x0bffc0b55c99d51aL },
  42469. { 0xf0310f39740b5798L,0xf69ea1064ed8d3bfL,0x545a54d79f6722aaL,
  42470. 0xe5a9dee3af4017c2L,0x45efa2ec4a659592L,0xc5d64bedbed4e245L } },
  42471. /* 32 << 273 */
  42472. { { 0x66797f56bbe4bddaL,0xb92a369eda51b1a2L,0x18eef4a531adb034L,
  42473. 0xcf1cb5ee5d185cfcL,0xf596a59bbd53c27bL,0x1e1dd6f569002569L },
  42474. { 0xd9433e797687e48aL,0x7d8d24c20cbcb9ceL,0x233cd7ed65d68ecdL,
  42475. 0x201bbe09fb2aded8L,0x987f4975ac9b750eL,0x949da385337f7f25L } },
  42476. /* 33 << 273 */
  42477. { { 0x31439e35b95fd11dL,0xf97e8fa4b691fb77L,0xcfdc02956d4ac378L,
  42478. 0xd31bc3b0d1a617c8L,0xd857098204bd015bL,0x30cca6efd6198f0dL },
  42479. { 0x6a52650a805964edL,0xb656d7abd060eeb3L,0x5267f37ed38a9218L,
  42480. 0x5f28a2ecd3d6a193L,0xb7dc6e916d0d9c9eL,0xa7f84e4b219d45c6L } },
  42481. /* 34 << 273 */
  42482. { { 0x550ef2713398c3dfL,0xfe184954307631a8L,0x02cef50606e5cde4L,
  42483. 0x9687a39c10f11703L,0x02c35937acb10b97L,0x835b00fd13e3d219L },
  42484. { 0x5828678b584d1abaL,0xbe55fb9cc9b40568L,0xe5a4a90e8fe19e84L,
  42485. 0x91e24c9248989b77L,0x094f9e7ae3d5f4fcL,0xfe9bdfb9759029b5L } },
  42486. /* 35 << 273 */
  42487. { { 0x43b1f8b9c1de72e9L,0xcbc8e0d4a3bdb164L,0x5c45d3dfbcc2e5bdL,
  42488. 0xb5137b69247bef53L,0x6d889f5673794e3cL,0x43e2fc9b1e2dfdc1L },
  42489. { 0xda15dc5da995d3adL,0xa0db9f5ec43d86e0L,0xc42a144bcaac3bbfL,
  42490. 0x3c855fb174c43eddL,0x0731f33152688272L,0xc1f23e5643d7762aL } },
  42491. /* 36 << 273 */
  42492. { { 0x00c2ee1c9c7de99fL,0x28a7461d15e50391L,0x1bdc0e32a1c77952L,
  42493. 0xe98242c4d53d640dL,0x1a4724d2cf153c7dL,0x194e5dccba477d46L },
  42494. { 0x871c8cfe3a0d4ccdL,0x62010af09af451fbL,0x9b354f9e6ddec75cL,
  42495. 0xe5db0a5d680e3511L,0x183d1270d247745bL,0x9910867aeecf52dcL } },
  42496. /* 37 << 273 */
  42497. { { 0xa970903e8bc2003aL,0x0f8bcfa4a3cf29bcL,0x7054f69e683a7ddaL,
  42498. 0x53928bf1ece30167L,0x2588bdf1ffffea87L,0x01683b5ed7172ad4L },
  42499. { 0xa0ac85379de7e713L,0x217bcdfe9b0442bcL,0xba46b8f64d4adb3eL,
  42500. 0x320580990a9f8ecdL,0x0173b7bea504bdc5L,0x15321aeb82b1606fL } },
  42501. /* 38 << 273 */
  42502. { { 0x4f349e5f6e39d625L,0x37cbd935b80760d6L,0xb8657ee14b1e84c2L,
  42503. 0x502954064cb84bdeL,0x66d678cce8d23ef5L,0xcba173713ec3b79cL },
  42504. { 0xed7ab3e526e3cee5L,0x34c68c516c44ef0cL,0xd704e724f8fdd226L,
  42505. 0x2fa0d2dd3a9b40a7L,0x373c5c70a23be590L,0x0beb611bda9f7f7dL } },
  42506. /* 39 << 273 */
  42507. { { 0xef506531913bc31bL,0x31210c5f8c320074L,0xb42faf19b861acc1L,
  42508. 0x26f09b89e041e774L,0x23fec89822f84c93L,0x9f8b9d708ec590bfL },
  42509. { 0x604d7d2952644790L,0xb77e3136a2339c53L,0x17f1d7a920f2fc09L,
  42510. 0x8c6435d9e6bb96eaL,0x5cafeb5f3711b8a7L,0x1ec6c4edfa23ca24L } },
  42511. /* 40 << 273 */
  42512. { { 0x6fb6b7bc0410ca0bL,0x0e16eed2b3c13935L,0x98ad89d8316ff531L,
  42513. 0x4800ee179894d65fL,0x034ea3c448280170L,0x8126d12dc30be537L },
  42514. { 0x43c2d27e5120e525L,0x96a5d498ee65df90L,0x654540105eaef29aL,
  42515. 0x1d8f07a17b678fc7L,0x54bc6f737b301270L,0xe58a8102e9473365L } },
  42516. /* 41 << 273 */
  42517. { { 0x1fa3a458aaaf79f6L,0x1d14ff613a1b7c64L,0x32c7da68f22ddb3cL,
  42518. 0x7b2345ac58cff63fL,0x214e6d9dce3c3af9L,0x36fba0b78b6691deL },
  42519. { 0x69fd813cee1a30abL,0x50daffe91adf6215L,0x55b34de692871a84L,
  42520. 0x437f1b4b7ff3ea1aL,0xc3258ca580ff1c23L,0xdc220ffbc6d0b822L } },
  42521. /* 42 << 273 */
  42522. { { 0x93e56b47ad910b37L,0x8cbce4815d20d236L,0x25b50cac5872d763L,
  42523. 0xb50aa752d8505696L,0x02075e6d6f42b533L,0xf0b34a178f8d8352L },
  42524. { 0x59f2feda5234531bL,0xb23e1da1751127c8L,0xe1f65e08b6759ccdL,
  42525. 0x47d8631c352e9500L,0xab10d299c13feb16L,0xf9e916a3e5c6a220L } },
  42526. /* 43 << 273 */
  42527. { { 0x55899ffdc06f1b65L,0x4f9ec6e011899630L,0x0df97edc50a29319L,
  42528. 0x5c4a10ea5e66f0adL,0xea7b4497aa3d14e9L,0x484d8f64d22cc470L },
  42529. { 0xd7fd252240a61a0bL,0xebd9f49d42d04a79L,0xf18ba2ec312ddb99L,
  42530. 0x687273ec2dce1351L,0x68d8b052d0220e57L,0x2c0ecd6b05a7e3dcL } },
  42531. /* 44 << 273 */
  42532. { { 0x460c29904ac6cf02L,0x01482cfa420a35b7L,0xf793933a34680972L,
  42533. 0x2cd1f50017e2367bL,0x2411c3523944f060L,0x3d58b97411c06b05L },
  42534. { 0x4552e369cddebb3bL,0xe1c38aec009aeab9L,0x9d34737c353b6e4fL,
  42535. 0xf2c99e2cb16d7b0cL,0x57029fa47bbba6a2L,0x0565d1bcd13ef64dL } },
  42536. /* 45 << 273 */
  42537. { { 0x93a50cc7eb0112a9L,0xa0d4419984a59bdbL,0x04b9538c82d01160L,
  42538. 0xdb1d33e163a8d5a3L,0xa710beff08d3effeL,0xc2f37326f9bf02f4L },
  42539. { 0x606b6b5555d26856L,0xf528d22a427fe3d7L,0x31b20fac84fb5086L,
  42540. 0x27129aa592f7e7bcL,0xd88f0d4f44171b33L,0x9b045c897915ede1L } },
  42541. /* 46 << 273 */
  42542. { { 0x0b15ebebcbe014d6L,0xa4f1504e68d24086L,0xbcf475c979d7c8b6L,
  42543. 0xd61b92a8d00a6890L,0x78e096742ee24533L,0x6fe9fe6099656101L },
  42544. { 0xc9542f53e5e63e28L,0x59ec39e12edf3a80L,0x8fe57ffe24ad9280L,
  42545. 0xbae0671bf4b9b024L,0x76e36c14d5816ae9L,0xe53256d4805f8688L } },
  42546. /* 47 << 273 */
  42547. { { 0x006956bfcf9e545bL,0x7829ed13e8fa2ee4L,0x1b108d77d4dd6f85L,
  42548. 0xf51217bb17045f1aL,0x48c4802986141bd6L,0x8d59b995f8820213L },
  42549. { 0x8439949ffc298a9eL,0x967fdcb278188d77L,0x5bbdfd296f35c711L,
  42550. 0x25b37e5df8e62607L,0x18f5c4251795cccaL,0x260f075af0e35ff5L } },
  42551. /* 48 << 273 */
  42552. { { 0x3561b3fea329deb1L,0xfdca0e34f1c3c3e4L,0x4374831347fb79d6L,
  42553. 0xa7f497e1c48002edL,0x86221cce2c44dcb0L,0x65e3f04643785e06L },
  42554. { 0x9ee9061fdf4cf461L,0xc7479e8cf022d27aL,0x1d8de85b76f7f52bL,
  42555. 0x39a713c90fd6c65fL,0xf74ca067711f8a39L,0xad1119ad8ebc640aL } },
  42556. /* 49 << 273 */
  42557. { { 0x43d9bcba57ec124eL,0xbce6aed98cc29801L,0x1dbb88c72632e757L,
  42558. 0xe88f49e891f550e5L,0x056f67da7b6e1b05L,0xa503271082a027bbL },
  42559. { 0x8471fa55c91844a9L,0x882f25b628479daaL,0x96f606dfa9c23504L,
  42560. 0x6a42d307fb7fa83dL,0x531c8a5cea310e34L,0x7e2d20565b2e42f0L } },
  42561. /* 50 << 273 */
  42562. { { 0x547047862e8c467eL,0x26f5efc690e52377L,0x762d8f767f6e71afL,
  42563. 0x5fc1bd13917ff587L,0x487f6c63fb696a60L,0x889a1dcc3afd2aebL },
  42564. { 0x7407d0a0adcf4b35L,0x8f6c9aef91024ecfL,0x3384f1c03e5d9da0L,
  42565. 0xf87acb00b846d122L,0x6d86aebddceb383aL,0x6a5a90cda8f2d076L } },
  42566. /* 51 << 273 */
  42567. { { 0xddff7aa3feb71de1L,0x431e106be44644a9L,0xafe96f8ed5190b4bL,
  42568. 0x31a4dfe40ab42a27L,0x0e2d0cc435762eccL,0x7c928cd91fefb256L },
  42569. { 0x5f33c775daeb94f9L,0xa7a91f8894c239b7L,0x6bf418fb4deda3c9L,
  42570. 0x91ad6e99eefd4f99L,0x7aae05559c25448fL,0xfb7ed9df487b4deaL } },
  42571. /* 52 << 273 */
  42572. { { 0x59753bf68ba85dffL,0xec8b82efd1c89bceL,0xd7f1a651b8b6a683L,
  42573. 0x9c329bf36f84416dL,0xaecbf4b9e68db225L,0x94ec3b0f5a614d23L },
  42574. { 0xbcb6672593a9543dL,0x90c46c46f19132edL,0x4767c73c950b080fL,
  42575. 0x0b9b143e971fd9e5L,0xbce6886f8ec8c68dL,0x167b0f8ad47f512eL } },
  42576. /* 53 << 273 */
  42577. { { 0x51517f9481819dd9L,0x2c2640a0fdd7cef9L,0x59283faabf98b8ffL,
  42578. 0x39713768a46ad877L,0x13d9c0e6834dcf0cL,0x38c85473cc7acaddL },
  42579. { 0x7b58c7666971a512L,0xbe46a58c2a38e57eL,0x3d26d0a06972e213L,
  42580. 0x2341769b63cd0aabL,0x4a293dd0e86307eeL,0x8d1e338d264c81a1L } },
  42581. /* 54 << 273 */
  42582. { { 0x66eb8beab2d5b430L,0x50b4af4382136220L,0x6644e673e79d0b5bL,
  42583. 0xe64cdf10f9fa7610L,0xf1dea591132ff33dL,0x07791ab6b926c725L },
  42584. { 0x6c41b4f383f60e02L,0x54bc9049977519c3L,0x618a6f3c2aef73a4L,
  42585. 0x42cfc9d26fa4ca2bL,0x2784db71a39a215dL,0x378071655cc85253L } },
  42586. /* 55 << 273 */
  42587. { { 0x9cc3ada3554a7f23L,0xa822f9f21c3d0003L,0xb1654da7303123f7L,
  42588. 0xbe33e388f0d8c4a1L,0xd8919c79be4366e8L,0x5a41c92cfe292117L },
  42589. { 0xc4b02d0678c325c2L,0x89eaf4356d511c4aL,0x726fb6d65fda70a0L,
  42590. 0xaf7949a0183abdf1L,0x3410915d26f8f929L,0x36b3aeb281f0f83dL } },
  42591. /* 56 << 273 */
  42592. { { 0x1942c2ffcd74009dL,0x71c4d5f5e9c286a4L,0xf3c152b5771a5972L,
  42593. 0x4cfb1e74363c2048L,0xcd2ce8249ddb8da2L,0x5d97c8e0a5ee443dL },
  42594. { 0x6fa84b3d68d7b3d5L,0x97eaa76d9ce14ec3L,0x2e4571368e13869dL,
  42595. 0x39ac6a0c96f0f8a1L,0xe24458ac42d93dc0L,0x7eb3689d5f60bec9L } },
  42596. /* 57 << 273 */
  42597. { { 0x75592736bce6ebe3L,0x84001a886777bd90L,0xe82739774a31ca6bL,
  42598. 0x6906baf0a8e0dd38L,0x92af56d0848d0c92L,0x7ae700c6501326d0L },
  42599. { 0xce418817470339a9L,0x4354d7928e448dfeL,0xc8f593afa48e3148L,
  42600. 0xdd5fee34db1a96b2L,0x5974e81e357960c2L,0x7326bf016306fdabL } },
  42601. /* 58 << 273 */
  42602. { { 0x74183618de017cd9L,0x939c7975dcfe6dbfL,0xcad9f8a108ec41e5L,
  42603. 0xd9edb91d391afcddL,0xadf1f18c7c4a3f03L,0x0566d3e8ab477304L },
  42604. { 0x32ae20464c19c62cL,0xfa15fdcb252c8c4eL,0x2ed4767e91de2794L,
  42605. 0x622e4f38507f8067L,0xd647242bc68ac330L,0x0650e0a9fc1ccf29L } },
  42606. /* 59 << 273 */
  42607. { { 0x6ecd68a086085cc3L,0xb463f4c165c0cc54L,0x3182cc5c480bc57dL,
  42608. 0x8f16f2038e6d9267L,0x8c92e446df0d0ee9L,0x7da6001ba4d09789L },
  42609. { 0x596390ff976ee9d0L,0x12b8f9dee4c0fd5fL,0xad08673f297b10f2L,
  42610. 0xc8e9097c7b524a51L,0xd494f0d3009cf47cL,0xf535c07abcdd1b68L } },
  42611. /* 60 << 273 */
  42612. { { 0x29544fe8588360ecL,0xa1aa9b9fffb550eaL,0xe1f6cf994af4d28dL,
  42613. 0x723d48b00c6fd477L,0xf51f1b2f5c81b252L,0x88ec11c04f5a33eeL },
  42614. { 0x7747f0432cd72de4L,0xcca69b0ad71c92c1L,0x9455d86e4e8cc763L,
  42615. 0xc9e0aa1bc08444e0L,0x93803b68e8fffa63L,0xc296af292d781b7dL } },
  42616. /* 61 << 273 */
  42617. { { 0xb1891a2b17329e31L,0x87c2a49056e36717L,0x8c2a50fafd26d8b3L,
  42618. 0x017e4e417e3c5a5fL,0xbeb4fad0506c382eL,0x5d3e8b16fc281ec9L },
  42619. { 0x407f7598890e57a0L,0xda855e8b340cd6d6L,0xb9393129ff388d54L,
  42620. 0x41113ffdcf355d9eL,0x31d3bb09b357c28dL,0x975bdf00fd39e481L } },
  42621. /* 62 << 273 */
  42622. { { 0xbfb0c87e10a1b4f2L,0xfaf51153dc2fcc04L,0xd2588e39d6b98d81L,
  42623. 0x5de5b0eb4953133dL,0x6b65d8135b959ed6L,0x864511dc02eb45bdL },
  42624. { 0xb1dcb4d3d7ce20bdL,0x917bcd0987587230L,0x0935790f83a79453L,
  42625. 0xdc65862e54b35d76L,0x4cd2332ba6d1eeeaL,0x0706fcd030d315b5L } },
  42626. /* 63 << 273 */
  42627. { { 0x7c91adb3adf2d8d1L,0xfe1549c24a212fd3L,0x8a7cc285c33213b3L,
  42628. 0x26643cfd3e56d17bL,0xcc007c15684c872fL,0x485643e009e554f3L },
  42629. { 0x7f5e9a6ec6569206L,0x252b5393c2f596d6L,0xf7eef1dbbf9cdea5L,
  42630. 0x611ee7334dffab46L,0x8d93802a805e976cL,0xd07c0ac6f85c939cL } },
  42631. /* 64 << 273 */
  42632. { { 0x514cc1dcb08d2d0eL,0x4e6b379e30e93536L,0xf0e422ac2fc9230fL,
  42633. 0xaa50a1ad92e23e21L,0x70ac46d8676d1ac0L,0x698b9991f9f54493L },
  42634. { 0x59a6b86a8649519fL,0xc1f11ad6e3511da4L,0xd3d9cff13192968cL,
  42635. 0x13e700b40b342dd8L,0xfd5dc7bb3b1da441L,0x02426e7c2c883760L } },
  42636. /* 0 << 280 */
  42637. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  42638. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  42639. /* 1 << 280 */
  42640. { { 0x9e9af3151c4c9d90L,0x8665c5a9d12e0a89L,0x204abd9258286493L,
  42641. 0x79959889b2e09205L,0x0c727a3dfe56b101L,0xf366244c8b657f26L },
  42642. { 0xde35d954cca65be2L,0x52ee1230b0fd41ceL,0xfa03261f36019feeL,
  42643. 0xafda42d966511d8fL,0xf63211dd821148b9L,0x7b56af7e6f13a3e1L } },
  42644. /* 2 << 280 */
  42645. { { 0x3997900ecc8998d6L,0x8fa564b7baa60da1L,0x71bf5b0a661f3c57L,
  42646. 0x44b13388aab1292bL,0xcbe80cb9d4d993f2L,0x0b19b4c92203f966L },
  42647. { 0xbc82a6520080f259L,0x870ebc08ad96dea3L,0xa388c7e7502f0003L,
  42648. 0x9c704ef056a38f73L,0x93cde8a73487d9b0L,0x5e9148b0ec11a1f3L } },
  42649. /* 3 << 280 */
  42650. { { 0x47fe47995913e184L,0x5bbe584c82145900L,0xb76cfa8b9a867173L,
  42651. 0x9bc87bf0514bf471L,0x37392dce71dcf1fcL,0xec3efae03ad1efa8L },
  42652. { 0xbbea5a3414876451L,0x96e5f5436217090fL,0x5b3d4ecd9b1665a9L,
  42653. 0xe7b0df26e329df22L,0x18fb438e0baa808dL,0x90757ebfdd516fafL } },
  42654. /* 4 << 280 */
  42655. { { 0x63f27a25a748b8f5L,0x68c8f3ec2cd246c4L,0x5d317cd965f9ce38L,
  42656. 0x162c92e0635ba300L,0x5259f64ffe343662L,0x4a6b2b668e614ac8L },
  42657. { 0x97fb55bb01177c3bL,0xfb586c21a705cb01L,0xa57e732578061824L,
  42658. 0x892f6b386c1e6306L,0xf12e4c072367b14cL,0x580d5fe2c83a48c5L } },
  42659. /* 5 << 280 */
  42660. { { 0x1e6f9a95d5a98d68L,0x759ea7df849da828L,0x365d56256e8b4198L,
  42661. 0xe1b9c53b7a4a53f9L,0x55dc1d50e32b9b16L,0xa4657ebbbb6d5701L },
  42662. { 0x4c270249eacc76e2L,0xbe49ec75162b1cc7L,0x19a95b610689902bL,
  42663. 0xdd5706bfa4cfc5a8L,0xd33bdb7314e5b424L,0x21311bd1e69eba87L } },
  42664. /* 6 << 280 */
  42665. { { 0x6897401cea2bafb3L,0x7b96ecc215c56fe4L,0xe511b32939e2b43bL,
  42666. 0x39522861bf809331L,0x815f6c1dc958f8f4L,0x2abbdf6bc213e727L },
  42667. { 0xeb09ae59c39bc01fL,0xffe3b831676b56a5L,0x8f4815a2a20f86c6L,
  42668. 0x748a17669aa30807L,0xf1f46a211b758878L,0xbd421fe76f6fc3d7L } },
  42669. /* 7 << 280 */
  42670. { { 0x75ba2f9b72a21accL,0x356688d4a28edb4cL,0x3c339e0b610d080fL,
  42671. 0x614ac29333a99c2fL,0xa5e23af2aa580affL,0xa6bcb860e1fdba3aL },
  42672. { 0xaa603365b43f9425L,0xae8d7126f7ee4635L,0xa2b2524456330a32L,
  42673. 0xc396b5bb9e025aa3L,0xabbf77faf8a0d5cfL,0xb322ee30ea31c83bL } },
  42674. /* 8 << 280 */
  42675. { { 0x300b04840d6ded89L,0x0b1092cbc3ab55edL,0x17d9c5420cc10a74L,
  42676. 0x7f637e84eff9d010L,0xd732aa1e27aa1285L,0xedb97340e2a77114L },
  42677. { 0x62acf1585ef4dfb0L,0x1e94fc6eba1d7b81L,0x88bec5d22e6eb2dbL,
  42678. 0xaec272028d18263dL,0x4b687353e4bbd6acL,0x031be3510ff7e4c0L } },
  42679. /* 9 << 280 */
  42680. { { 0x048813847890e234L,0x387f1159672e70c6L,0x1468a6147b307f75L,
  42681. 0x56335b52ed85ec96L,0xda1bb60fd45bcae9L,0x4d94f3f0f9faeaddL },
  42682. { 0x6c6a7183fc78d86bL,0xa425b5c73018dec6L,0xb1549c332d877399L,
  42683. 0x6c41c50c92b2bc37L,0x3a9f380c83ee0ddbL,0xded5feb6c4599e73L } },
  42684. /* 10 << 280 */
  42685. { { 0x6c00f388f086d06cL,0x17ee45035add0cf4L,0xf96984c707caf89cL,
  42686. 0x9d49d667648ed5e9L,0x3ef95015a0164881L,0x39e28e447d9c651fL },
  42687. { 0xb13ad24059f37780L,0x08cee349b9522225L,0x9245ee6f2ba1b214L,
  42688. 0x12bedaa9a886d8d2L,0xe139ae08fcb8186fL,0x99203fb6fc2ef864L } },
  42689. /* 11 << 280 */
  42690. { { 0x14d34c210b7f8354L,0x1475a1cd9177ce45L,0x9f5f764a9b926e4bL,
  42691. 0x77260d1e05dd21feL,0x3c882480c4b937f7L,0xc92dcd39722372f2L },
  42692. { 0xf636a1beec6f657eL,0xb0e6c3121d30dd35L,0xfe4b0528e4654efeL,
  42693. 0x1c4a682021d230d2L,0x615d2e4898fa45abL,0x1f35d6d801fdbabfL } },
  42694. /* 12 << 280 */
  42695. { { 0x3c29284764c9323dL,0x40115a890491f77dL,0xec141ade2d7a05f5L,
  42696. 0x0c35e4d9222a5f9fL,0x5ea51791442a3e9bL,0x17e68ecee51b841eL },
  42697. { 0x415c0f6cd6ae9174L,0xe6df85f89ffd7595L,0x65fc694f8dedf59cL,
  42698. 0xc609503efee92718L,0x57d2592e97d565aeL,0xb761bf157e20862bL } },
  42699. /* 13 << 280 */
  42700. { { 0xa636eeb83a7b10d1L,0x4e1ae352f4a29e73L,0x01704f5fe6bb1ec7L,
  42701. 0x75c04f720ef020aeL,0x448d8cee5a31e6a6L,0xe40a9c29208f994bL },
  42702. { 0x69e09a30fd8f9d5dL,0xe6a5f7eb449bab7eL,0xf25bc18a2aa1768bL,
  42703. 0x9449e4043c841234L,0x7a3bf43e016a7befL,0xf25803e82a150b60L } },
  42704. /* 14 << 280 */
  42705. { { 0xd443b26582376117L,0xb91087c11a1beb0dL,0x3fe62a6545cc5951L,
  42706. 0x49c754bce6e472d5L,0x7e60bb8177c424ebL,0xbcd4088e830cbb97L },
  42707. { 0x3da5c94eba26df7bL,0x508b4f55f72b4338L,0x409c5c7469ad7784L,
  42708. 0x82e5f1b0fdf44d6aL,0x10654a1ceed2766fL,0xef1e65faa6e83f4aL } },
  42709. /* 15 << 280 */
  42710. { { 0xe44a2a57b215f9e0L,0x38b34dce19066f0aL,0x8bb91dad40bb1bfbL,
  42711. 0x64c9f775e67735fcL,0xde14241788d613cdL,0xc5014ff51901d88dL },
  42712. { 0xa250341df38116b0L,0xf96b9dd49d6cbcb2L,0x15ec6c7276b3fac2L,
  42713. 0x88f1952f8124c1e9L,0x6b72f8ea975be4f5L,0x23d288ff061f7530L } },
  42714. /* 16 << 280 */
  42715. { { 0xa6e19d0a5f56dc3cL,0xe387e2690b88326aL,0xef7380950ee527a4L,
  42716. 0x78b7174b7c4278a6L,0xc133d867e70798ffL,0x9d0fef759e9230caL },
  42717. { 0x7431eef01a955ab9L,0x3772e7038868d922L,0xf7a4306a8d6af3f7L,
  42718. 0x633bb5a0bbec076aL,0x6d07623e7a257ca3L,0xffb5e16521c00663L } },
  42719. /* 17 << 280 */
  42720. { { 0xebfe3e5fafb96ce3L,0x2275edfbb1979537L,0xc37ab9e8c97ba741L,
  42721. 0x446e4b1063d7c626L,0xb73e2dced025eb02L,0x1f952b517669eea7L },
  42722. { 0xabdd00f66069a424L,0x1c0f9d9bdc298bfbL,0x831b1fd3eb757b33L,
  42723. 0xd7dbe18359d60b32L,0x663d1f369ef094b3L,0x1bd5732e67f7f11aL } },
  42724. /* 18 << 280 */
  42725. { { 0xfab0ce2bee1ae33dL,0x7bf9f90b4c5692e3L,0x131a4374d776d6caL,
  42726. 0x6ba40908a2b135afL,0x5c4ab997e1334bf8L,0x9eb442d07af584e9L },
  42727. { 0xd764c506786391c1L,0x07f24c6bbcf6ab3aL,0xf73c7924fad8e1bbL,
  42728. 0x79f624acb7583623L,0x2b032021b44c14d3L,0x7cc0ae8dbf58ff99L } },
  42729. /* 19 << 280 */
  42730. { { 0x3c7fb3f5c75d8892L,0x2cff9a0cba68da69L,0x76455e8b60ec740bL,
  42731. 0x4b8d67ff167b88f0L,0xedec0c025a4186b1L,0x127c462dbebf35abL },
  42732. { 0x9159c67e049430fcL,0x86b21dd2e7747320L,0x0e0e01520cf27b89L,
  42733. 0x705f28f5cd1316b6L,0x76751691beaea8a8L,0x4c73e282360c5b69L } },
  42734. /* 20 << 280 */
  42735. { { 0xe4d7c8b88929c133L,0xe5f96bef92a813c7L,0xdb8ab0af71c18e09L,
  42736. 0x0db6ff287dae63b4L,0x54d1fac49a1eaa73L,0xadbcfdf59180c980L },
  42737. { 0xd3220f300b584314L,0xa24e4d1cca3697c7L,0x4ade8c7fa44f8067L,
  42738. 0xbd8bc81aca21ac17L,0x303a2f9fc1d361cfL,0x55648b65c71cf031L } },
  42739. /* 21 << 280 */
  42740. { { 0x46bcc0d5fd7b3d74L,0x6f13c20e0dc4f410L,0x98a1af7d72f11cdfL,
  42741. 0x6099fd837928881cL,0x66976356371bb94bL,0x673fba7219b945abL },
  42742. { 0xe4d8fa6eaed00700L,0xea2313ec5c71a9f7L,0xf9ed8268f99d4aeaL,
  42743. 0xadd8916442ab59c7L,0xb37eb26f3f3a2d45L,0x0b39bd7aa924841eL } },
  42744. /* 22 << 280 */
  42745. { { 0x6f8135c7ce89e8daL,0x21ac20d9d6b5948eL,0x1dc4d48b31cefd7eL,
  42746. 0x3d34bc2a4a347926L,0xadcd11be8f614fd6L,0x77148b08a8ea116aL },
  42747. { 0x7afc75fcfce1d3f5L,0xa9e0557d7d9a8ea3L,0x640cb5850cc864ecL,
  42748. 0x5811ba842eb332c7L,0xb6c10b6efdb668c4L,0x24d8b10f99f5f6c7L } },
  42749. /* 23 << 280 */
  42750. { { 0xd811eb32e03cdbbbL,0x12055f1d7cc3610eL,0x6b23a1a0a9046e3fL,
  42751. 0x4d7121229dd4a749L,0xb0c2aca1b1bf0ac3L,0x71eff575c1b0432fL },
  42752. { 0x6cd814922b44e285L,0x3088bd9cd87e8d20L,0xace218e5f567e8faL,
  42753. 0xb3fa0424cf90cbbbL,0xadbda751770734d3L,0xbcd78bad5ad6569aL } },
  42754. /* 24 << 280 */
  42755. { { 0x391fa3cd8d075ec5L,0x54d45020c84c81e5L,0xdead561a79fad87cL,
  42756. 0x0ab3c8544e7ffc48L,0x5967f8ebff02706cL,0x8860de795d31ec98L },
  42757. { 0x7476459c6c8a1c25L,0x8d9c484082f16117L,0x5c1b13b33b413429L,
  42758. 0x1962a435601b5906L,0x78b9d382e006929dL,0x1924e979e5897b16L } },
  42759. /* 25 << 280 */
  42760. { { 0xcadb31fa7f39641fL,0x3ef3e295825e5562L,0x4893c633f4094c64L,
  42761. 0x52f685f18addf432L,0x9fd887ab7fdc9373L,0x47a9ada0e8680e8bL },
  42762. { 0x579313b7f0cd44f6L,0xac4b8668e188ae2eL,0x648f43698fb145bdL,
  42763. 0xe0460ab374629e31L,0xc25f28758ff2b05fL,0x4720c2b62d31eaeaL } },
  42764. /* 26 << 280 */
  42765. { { 0xef1001dfbdb22e61L,0x1626bd9af384bbf5L,0x33f42d385fe8ae07L,
  42766. 0x59646c42b7218d21L,0x5e27210e6a016f5dL,0x3e9ecf07094481c3L },
  42767. { 0xf91609c1f50cc2dcL,0x8bf8c05ad0d43633L,0x9d508972e74ab746L,
  42768. 0xb625887a33f628b7L,0x557bd493e733952fL,0xd35f450b8981dcfbL } },
  42769. /* 27 << 280 */
  42770. { { 0x4603cdf413d48f80L,0x9adb50e2a49725daL,0x8cd3305065df63f0L,
  42771. 0x58d8b3bbcd643003L,0x170a4f4ab739826bL,0x857772b51ead0e17L },
  42772. { 0x01b78152e65320f1L,0xa6b4d845b7503fc0L,0x0f5089b93dd50798L,
  42773. 0x488f200f5690b6beL,0x220b4adf9e096f36L,0x474d7c9f8ce5bc7cL } },
  42774. /* 28 << 280 */
  42775. { { 0x531c43cdb63f3d28L,0x01289772429708dfL,0xb0ee772ccdb60078L,
  42776. 0x4131f5cd5f1a6e72L,0xd9d0f8c6a0da0112L,0x58efddd204e957b1L },
  42777. { 0x18857c0c32840c31L,0x00825340c4068b2cL,0x0a9217a771ff8800L,
  42778. 0x69b19e6415530b80L,0xa28e274ee125e3f2L,0xb471a91bc9bfc846L } },
  42779. /* 29 << 280 */
  42780. { { 0xfed8c058c745f8c9L,0xb683179e291262d1L,0x26abd367d15ee88cL,
  42781. 0x29e8eed3f60a6249L,0xed6008bb1e02d6e1L,0xd82ecf4ca6b12b8dL },
  42782. { 0x9929d021aae4fa22L,0xbe4def14336a1ab3L,0x529b7e098c80a312L,
  42783. 0xb059188dee0eb0ceL,0x1e42979a16deab7fL,0x2411034984ee9477L } },
  42784. /* 30 << 280 */
  42785. { { 0x01d04fe04ce2d199L,0xf434bcfd0517c7ebL,0x82f3aca4a7659a94L,
  42786. 0xf436a7781ff015c9L,0xf5143391d6223e5cL,0xba66c6a2ecb5c340L },
  42787. { 0x080f158a4b23a041L,0xb401094cb699acafL,0x1c57626c677491dbL,
  42788. 0xfb39e317d42d86dbL,0x19e2ca804f6b3354L,0xe919c4c3c1d41ef3L } },
  42789. /* 31 << 280 */
  42790. { { 0xd65246852be579ccL,0x849316f1c456fdedL,0xc51b7da42d1b67daL,
  42791. 0xc25b539e41bc6d6aL,0xe3b7cca3a9bf8bedL,0x813ef18c045c15e4L },
  42792. { 0x5f3789a1697982c4L,0x4c1253698c435566L,0x00a7ae6edc0a92c6L,
  42793. 0x1abc929b2f64a053L,0xf4925c4c38666b44L,0xa81044b00f3de7f6L } },
  42794. /* 32 << 280 */
  42795. { { 0x35ae891bbb71e9b0L,0x1f6ce6ca522b77f0L,0xc2dab3cae63745c4L,
  42796. 0x55b8c185f218d139L,0x6ab039c889f3b0e2L,0xd9e25bfdc644c3faL },
  42797. { 0xc8496f203e2ed47bL,0xc395ec028d67e17cL,0x5c67839292114918L,
  42798. 0xe962e52fef73f345L,0x3818baf354fcfb22L,0x4d75d65d9d4bc911L } },
  42799. /* 33 << 280 */
  42800. { { 0x10078824eb7ff5fdL,0x50c65328735ef75fL,0xdfc04d53ec980ba2L,
  42801. 0x4bfb260f2d519cf5L,0x1f03dff15c854667L,0xd1ad2231badb625cL },
  42802. { 0x986064d0be9f7f03L,0xe5ff93e5c13f7d0dL,0x02682a1896e26a17L,
  42803. 0xc421567c817ec3cdL,0xb740652352615c25L,0x6800a8335d135eebL } },
  42804. /* 34 << 280 */
  42805. { { 0xde57575b17d8ec5cL,0x72e2257578aeb9bbL,0xce73fa7731605c27L,
  42806. 0x2f286b79ae77436cL,0x5e78fbb77f4e6997L,0xb03c888e474f23a7L },
  42807. { 0x4bb302a3e38927ceL,0x39c6de5f6e1514ceL,0x9daa0ad349b2ddbdL,
  42808. 0x98fd2377d683dffdL,0xbefa4ae5933476edL,0x4ad53d01173f49edL } },
  42809. /* 35 << 280 */
  42810. { { 0xdfafc70e44b89837L,0xe0104b9c4935fa88L,0x7625d9d92fd702e2L,
  42811. 0x27461e6549af2219L,0x4a279383ad3f36edL,0xd87e246b9204e857L },
  42812. { 0x8d832190ab1727d9L,0x59205cd82182e291L,0xb96a1d15a6513613L,
  42813. 0x1c7de3cc49cc8ddcL,0x637ea26af17ab785L,0xc098bb7a09a3ba58L } },
  42814. /* 36 << 280 */
  42815. { { 0xfb5383cc31bd4f68L,0x6fd5aee3d96a1899L,0x4e39d6eb01d5430eL,
  42816. 0x12679565ca5a2848L,0xa399e83f062b44fbL,0x3ee2432f3c166682L },
  42817. { 0x57229c841de47708L,0x40a5d0cbba528a61L,0x4bae36be8239e7baL,
  42818. 0xddac65a2f8087427L,0xfd516d1a3cc61266L,0xc89542b5bcef98b1L } },
  42819. /* 37 << 280 */
  42820. { { 0x3fc8d1b2d49cc0eaL,0xfc591f7f7bca4d23L,0x5f48e27c41fefdf3L,
  42821. 0x5ca1d08a1039419dL,0xd450c1bddc8042ceL,0x6760e23fb436fc4bL },
  42822. { 0xc5642797c06bb34bL,0xb787cd53fde06d4dL,0x2926360ccbf144b0L,
  42823. 0xb63756f4dce32421L,0x0878deab774abc4aL,0x2d97c7919a4e142aL } },
  42824. /* 38 << 280 */
  42825. { { 0xf58389ff105c818eL,0xfa29f1eb585fa7f0L,0xb6da09b5917e8924L,
  42826. 0x1375c3047e7a3f49L,0x9b4792b289cfa1c0L,0x92094a8535571cc7L },
  42827. { 0xf986ccf6051e5e50L,0x55ea34d601df6babL,0xe65989eed1363333L,
  42828. 0xd94bbd918c84e20aL,0x9a4f71dc49e39b8aL,0x6d9fe495927d633eL } },
  42829. /* 39 << 280 */
  42830. { { 0x30b295f01fdc29e2L,0x71415daae2c2fab4L,0x205e957683c312beL,
  42831. 0x893c69fefab48afcL,0x8108f3f994ca2fdbL,0x37c860c314f99296L },
  42832. { 0x1009a6d2e990ed34L,0xd5350c36ac26b611L,0xd03161102ce23d91L,
  42833. 0x82bb476e62189343L,0xe255965160ef0cbdL,0x6bab3f53cf5d2311L } },
  42834. /* 40 << 280 */
  42835. { { 0xcaa3b7a592fa460fL,0x92bb46b804dff174L,0xcd6949b3cf926a1fL,
  42836. 0x01f95e5559d1bb18L,0x21f90c08d4518f3cL,0x325dbfe920ee8bf5L },
  42837. { 0xd0136f3feafb919eL,0x941190cc8e0ebcabL,0x599e91a287b557aaL,
  42838. 0x7fac4887dcbde1c7L,0x1dad481905a07040L,0x640493978b03d593L } },
  42839. /* 41 << 280 */
  42840. { { 0x65521bb85ebd3685L,0x16c68e79665d1619L,0xd6ab56bbc52b14c8L,
  42841. 0x312f1fb4c6d3067dL,0x5afef4f3d50587c0L,0xa3e79e94ace6e2feL },
  42842. { 0x52c7fa0825f12a1eL,0x9c1c1ea20dec9f3dL,0xc418d4232e87a036L,
  42843. 0xa0a19fbb0283752fL,0x52e0a8830b804506L,0xc67fc71b3f7de2a1L } },
  42844. /* 42 << 280 */
  42845. { { 0x4d062d3d7dad8ca9L,0xb78c81581cf59756L,0xaccb38f8c6b5d9fcL,
  42846. 0x83436d3f7ddc66eaL,0x37115b6033adcb87L,0x49b74bd45a8b09abL },
  42847. { 0x7b8bdb81675ae43bL,0x5284f5b3f0476428L,0x8f1521e7db38b0c7L,
  42848. 0x792ef9dea0c4b2f6L,0xa15880a162159fc6L,0x70b999e372b09b63L } },
  42849. /* 43 << 280 */
  42850. { { 0x6f47787d4e8ffde7L,0x19e9434574495a10L,0x8da6d55784f5be33L,
  42851. 0x110844811884e325L,0x621734c5a9f030baL,0x25cd0544d0e63f63L },
  42852. { 0xea6729687e936833L,0x08297af784a34442L,0xb77dc3a342f9ed3eL,
  42853. 0x9f8908c8258e8d4fL,0xb8281bfc3299ba4bL,0x1f6412920a09849cL } },
  42854. /* 44 << 280 */
  42855. { { 0xd5d51e60ee9a7708L,0x2e8ab3effd2cfe78L,0x0af5c3bac8e71273L,
  42856. 0xbfd1b94091041652L,0x4c7c86ab52ce4582L,0x3ab72feff1d9bc29L },
  42857. { 0xae89c3d51e1974b3L,0xd859c7ef70433caeL,0x762064c77edd1398L,
  42858. 0xc0b6a6b6072064a4L,0x3ba43b059bb1b3d0L,0x20f9aa85e47d79bbL } },
  42859. /* 45 << 280 */
  42860. { { 0xd1a45415c2d001cfL,0x40f3f05d848a480fL,0x03708da0ce554d5bL,
  42861. 0xd7090557c80f4254L,0x7e57d29907743393L,0x7db8a5e10f2f5903L },
  42862. { 0xd0466a0b14e8ff8bL,0xa3c38f49e0cf88b0L,0xde47262e329f71adL,
  42863. 0x56b2a7935da6d0a1L,0x22e1f9b880ef44b0L,0xb9b96c617b2b6d4bL } },
  42864. /* 46 << 280 */
  42865. { { 0x3235bc494c500ee1L,0xce0f0b54da4a4f35L,0x628cb91c337ac7b7L,
  42866. 0xd8a6d4cd88a26e9dL,0xdcf40cba96e44349L,0x073a0f75b54e3fa9L },
  42867. { 0xc9b95d29ca44e6e8L,0x42ad9afa2315f4beL,0xdf13a5ddf78617c7L,
  42868. 0x40aeb346d196504bL,0x9317d6f33d1fef90L,0xf94d308fe1708a79L } },
  42869. /* 47 << 280 */
  42870. { { 0x45bc768608835815L,0x700d93bc5798c507L,0xae3415b85362a822L,
  42871. 0xdbce01b33883d21dL,0xb9df7efbe56fb2aeL,0x5ed57d9427d341c0L },
  42872. { 0xdc26916e7ee4dfa0L,0xcdb06a17147c075fL,0x0198b6a7fa9e7a63L,
  42873. 0xc9876c786355b62bL,0x9f4b8f12f565279dL,0xa03aeb619cb6ddb6L } },
  42874. /* 48 << 280 */
  42875. { { 0x3a35938779493f3dL,0x128301a91f06a9c0L,0xfcce0f82899d204cL,
  42876. 0x4ca41589158780b5L,0xc28f1bb73c4edd4fL,0xe08e48a87a6aec34L },
  42877. { 0x6d4783dfd447c55eL,0xe7c2ecc857803027L,0xb7b8c2bcdf6d7f91L,
  42878. 0xf0a8d4700f356ca3L,0x229894bfdeb8e964L,0x555c9d40d3aa70e1L } },
  42879. /* 49 << 280 */
  42880. { { 0xa899a252e0ace851L,0x74b716c9bb9d8476L,0x2ba0bb00571bb175L,
  42881. 0xee01a9bf7ac2b619L,0x74f0b6d3502ee575L,0x7fdd7856cc45f810L },
  42882. { 0x68c0beb1c0ae384dL,0x21955de8fe63d58fL,0x1b98e3951c08bbd2L,
  42883. 0x5ddaf7e9638701b3L,0xefc264f1b1242d62L,0xa9b8de5c81292443L } },
  42884. /* 50 << 280 */
  42885. { { 0xf0d713b7131a3bf1L,0x690ae8c147e9f09fL,0x1dc92a5f8cd8bf1eL,
  42886. 0xdf98927ad61f5445L,0x729b5469ae795eabL,0x939b391c5265675aL },
  42887. { 0x5d916c6c7bd7e97aL,0x7c2a3de5d514e72bL,0x0660758379e9915fL,
  42888. 0x0554d5e543a4d2c7L,0x37eb7f82ca5bca41L,0x90e41b71b640109dL } },
  42889. /* 51 << 280 */
  42890. { { 0xfdd403b0e6f769aeL,0xa67f97f6906a7981L,0xc86c49be6aa83c6dL,
  42891. 0x6177820677ab6d8fL,0x60f77c49916933b2L,0xfa33c528fcb3fe39L },
  42892. { 0x102ffca0783cb589L,0x6a37a394a96ce10eL,0xd17bf1f89eb4695fL,
  42893. 0x2a7623af2a53116eL,0x10601afe83af2e60L,0xceebada2582a1704L } },
  42894. /* 52 << 280 */
  42895. { { 0xcbfb50fa57004c05L,0x0d545f0ea7bea436L,0xb7e30eb77071e269L,
  42896. 0x435b3df73b845896L,0x48ba27f0b246365eL,0x9fbe883341344f12L },
  42897. { 0xb763df280a87ef33L,0x4f9339d70b5288beL,0xc02770d6e722e3beL,
  42898. 0x6c69bfd918e32f03L,0x20c5c05e74c2845cL,0x09fa0928d6f9279dL } },
  42899. /* 53 << 280 */
  42900. { { 0x82f43866962fccc1L,0x92bc5f82278c9762L,0xc979a68b39a39a08L,
  42901. 0xfcae204b97c5a298L,0x78f55c7908676082L,0x210e036447c7b09dL },
  42902. { 0x24512cef47d87769L,0xb4b0fdd7e4b53f4fL,0xc2a263fff6818efdL,
  42903. 0xfa160dc1985bc93fL,0x7b7f82961bf44affL,0xd6c75fb2a6407cdfL } },
  42904. /* 54 << 280 */
  42905. { { 0xea0b6ec35741c57bL,0x9b148c2668ba5fd0L,0x6206025166461969L,
  42906. 0x0726919f8cfc618eL,0xf66ac684c1954bcbL,0x160ad0260273adb4L },
  42907. { 0x0ec10cffe6f6aac3L,0x232fc7adb4f64d98L,0x0707cb6e73564063L,
  42908. 0x76daa2c5487a29acL,0xe4ffd6e335768176L,0x4ab87262464d126eL } },
  42909. /* 55 << 280 */
  42910. { { 0xdbc1d21c553f05efL,0x16e950d0dc115e4cL,0xa727059a354480a5L,
  42911. 0x32df221efd6711f1L,0x06f9bc2e5c8aa9fcL,0x9f2449a67b15522cL },
  42912. { 0xac14774bf498ee00L,0x02b5979f3ec7e0a2L,0xdce96e06e1e00abdL,
  42913. 0xd7a1bf5a1e00e8a9L,0x19b30fd3a8f42042L,0x29b08eb7e7c507ebL } },
  42914. /* 56 << 280 */
  42915. { { 0xe91477d3a66b2f3aL,0xf50d3bdfc4deb7f5L,0x19bf2857a1e45e44L,
  42916. 0x1c104e3270a2126aL,0x4636b4894357b9f5L,0xf65e5aa0962d684aL },
  42917. { 0xfcc83a5fb7b52893L,0x8451d02b08adbd4dL,0xf0fb410c19f7a896L,
  42918. 0x6b90b0faff36caeeL,0x111710d0f5af8966L,0x00a4cfafbd2b8c59L } },
  42919. /* 57 << 280 */
  42920. { { 0xad9f11cb817bd227L,0xe4733a1465d27b5fL,0xeda46e8dbcf76526L,
  42921. 0x8db309ecad57a5a9L,0x4a863ec07f1487a8L,0xb0453ed210f1c4c1L },
  42922. { 0x9b4df78af2dbfd76L,0x62af38b21525e18cL,0xe6bd0b0ade2c7f65L,
  42923. 0xad62bfb70b27fad4L,0xd21fd4346d6a8a5fL,0x07b606703e401a5eL } },
  42924. /* 58 << 280 */
  42925. { { 0xdd14c891e34b192cL,0x6ddfcc793aed3e36L,0xc89c3e6dc49a92e2L,
  42926. 0xa61954fd6fcf1ce9L,0x420c39a9bd297157L,0x57c20a8a406d3f2fL },
  42927. { 0x7ccda02263faf545L,0xb01814a96cca4388L,0x88baf1dce5fb1fd0L,
  42928. 0x9e1183cfa0bae755L,0x3fe540badbc243c2L,0xe50d52305aeb26a3L } },
  42929. /* 59 << 280 */
  42930. { { 0x10145b3d52726a98L,0x7236036869e333fcL,0xce9a409323a6f608L,
  42931. 0x61c121dcddd11095L,0x3349b30a0d39f1daL,0xd07df9d4e3485e93L },
  42932. { 0xb4c500a561159e84L,0xbc74918100561c03L,0x8f27e9f3904ad807L,
  42933. 0x7272786a0108ed01L,0xcf36a5d9c9365dd8L,0xe052fc9d7f859d87L } },
  42934. /* 60 << 280 */
  42935. { { 0x0e6cd863da97e11eL,0x5b058c6852a818a1L,0x7768c5e73de760b3L,
  42936. 0x898b7f608dfb4142L,0xd48130977efec180L,0xd7196cd758279538L },
  42937. { 0x67c451fb816858a1L,0xbf0e88912ac699b2L,0x21fa74effcb126a5L,
  42938. 0x1f9dc10123b8df5aL,0x38aefff921136ffcL,0x3408874c47cb395aL } },
  42939. /* 61 << 280 */
  42940. { { 0xded9035213054567L,0xc61d0628c58c633dL,0x73ff2589f31143c3L,
  42941. 0xc43594ff0871b05cL,0xcf662dd64db0edf2L,0x6bac019d8d1f33b0L },
  42942. { 0xcaa37cd8bb379461L,0x9b077a6934fc0269L,0x421e716788ecedf2L,
  42943. 0x2d422f95073284cdL,0x9a353114bbb2409cL,0x99e8c7a0dcbb79e7L } },
  42944. /* 62 << 280 */
  42945. { { 0xfca254cba21c40f0L,0x4945c838e0f4a032L,0x99318ff3fd6cb7fdL,
  42946. 0xc631e0644a85e726L,0x2e3ca11d9359e8cfL,0x433a0e5c06acf935L },
  42947. { 0x665c54c996b37ea9L,0xe78865c4c2d52b81L,0x68596f6ffb27850aL,
  42948. 0x7e7272221277995eL,0x602b0f5c197344c2L,0x81ff2ad620a9ec11L } },
  42949. /* 63 << 280 */
  42950. { { 0xb2ce6cbe7c4c464fL,0xd7c11ef5741a4b1fL,0xf3f987f621a7eb17L,
  42951. 0x6b2812ef79f4e274L,0x3a0117ae38a7d5ddL,0x5d8c75a9cfab6bb5L },
  42952. { 0x3827c04052394166L,0x897eb181e00e621dL,0x6693817f8aa19361L,
  42953. 0x67cac329959d81a8L,0x21e7133869a7ca51L,0xa02fd11269a46a87L } },
  42954. /* 64 << 280 */
  42955. { { 0x7f1f985c022ea83aL,0x90a22662a7584e7fL,0xb40a930a5188fcf6L,
  42956. 0x3fad79aba3a82904L,0x7bee8d22f3151027L,0x79a1a838c2c3e17bL },
  42957. { 0x1fbe06e933cc3509L,0x629c56aa9abd5ccaL,0xfff290ec2d9cf7a5L,
  42958. 0x5d0dedaa9bd062c5L,0x080344abd7d35381L,0x0848373af5cf9edaL } },
  42959. /* 0 << 287 */
  42960. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  42961. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  42962. /* 1 << 287 */
  42963. { { 0x31d31f7a7a0c0bc0L,0x7a37a84ab251d2bfL,0x1793362e52f04d67L,
  42964. 0x5808e70921c7b651L,0x33fe9123ed6f47f6L,0xdeb1dde958f71405L },
  42965. { 0x821d3045ae56b472L,0x9f61f761e02043adL,0x932ddb145b2048a9L,
  42966. 0x17d989fed7811330L,0x032ae4cb128fd85fL,0x8f1956b47d1ef434L } },
  42967. /* 2 << 287 */
  42968. { { 0x070d34e116973cf4L,0x20aee08b7e4f34f7L,0x269af9b95eb8ad29L,
  42969. 0xdde0a036a6a45ddaL,0xa18b528e63df41e0L,0x03cc71b2a260df2aL },
  42970. { 0x24a6770aa06b1dd7L,0x5bfa9c119d2675d3L,0x73c1e2a196844432L,
  42971. 0x3660558d131a6cf0L,0xb0289c832ee79454L,0xa6aefb01c6d8ddcdL } },
  42972. /* 3 << 287 */
  42973. { { 0xe5d473dc7521f457L,0xe9ef09bda00be577L,0xf6d0965fb6eaa640L,
  42974. 0xeb49486875726560L,0x452116d528817302L,0xf0424fdbfbde3597L },
  42975. { 0xd6096da3bb454915L,0xde48280841422141L,0x7a1351972d19fac0L,
  42976. 0xdc9a5ec421393f6fL,0xcabcc1e3eb2c8adaL,0xd436643142d8c4f2L } },
  42977. /* 4 << 287 */
  42978. { { 0x0ed1082f89e4e449L,0xdb1fb471833f2378L,0xa35fef0eece77352L,
  42979. 0x76adaa464bf0c426L,0xfbab929aa011b2fbL,0x6f475d5b9d8cc4d3L },
  42980. { 0xbe6d7f2174351480L,0x2d1362d193e4a7aeL,0xc7e2cba5106ceaabL,
  42981. 0xfe94528a45258697L,0x7109b17d075945b0L,0xfd395b2ccae17f7aL } },
  42982. /* 5 << 287 */
  42983. { { 0xdf534b80dece6d4dL,0xcfaa60a28737af46L,0x7d76a921b9ba3d56L,
  42984. 0x61490bd199338721L,0xc514e950ed25cfbdL,0x5041fbb2dc09b8b1L },
  42985. { 0x2410310d46fbcbf0L,0x2c46bcd14f7e8aa4L,0x08ce31f5d0d5fe1dL,
  42986. 0xb11efdbebeac3c97L,0x406e1d05b01633e9L,0xde48cdba766391adL } },
  42987. /* 6 << 287 */
  42988. { { 0x68550299845e12c9L,0x979b5406361d027fL,0xf601d2b4a8e92e70L,
  42989. 0xfd02799f0cc9fca9L,0x89f99ca013bc2e96L,0x22a12c0bff9db9b8L },
  42990. { 0x6ae7084a32efcea8L,0x5ddd3ee9a24b9376L,0x394d92a4e0945e8fL,
  42991. 0xddab6752ecea36f6L,0x650b74d60d18a069L,0x37f91cebad650860L } },
  42992. /* 7 << 287 */
  42993. { { 0xe3e559bd9d839b3aL,0x50e8d4e9719de3c7L,0xf7bb377cea70b986L,
  42994. 0x63753cace1b2707dL,0xeb239a870e585c4aL,0xec40a379b0e32380L },
  42995. { 0x836ebcefc86d6685L,0x703c296a70d18b76L,0x47e2c004b94aa268L,
  42996. 0x33ef7d0cbaf14d61L,0x74aa00fcd315c72cL,0xf23c789eccf5d75aL } },
  42997. /* 8 << 287 */
  42998. { { 0xfc1faedc310404a8L,0xea339148d3bcb128L,0xf00485456416defdL,
  42999. 0x75de7770c58653e7L,0xdd2dcbebe2f6f99eL,0xa4380ef4d159ac07L },
  43000. { 0x45dd713ce4173608L,0x44919b61446a6789L,0x3f73756b6b962b38L,
  43001. 0x3cb9f53bbffd3f0cL,0xd723c40b7f08ebaeL,0x998a9b170c3cddbaL } },
  43002. /* 9 << 287 */
  43003. { { 0x261c9fe6f21ae889L,0xa589147edf3cb243L,0xd09452f71976deecL,
  43004. 0xf80ee8bf2497f6b2L,0x0b5f1b19eee697d4L,0xce9b6b680de48ab7L },
  43005. { 0x3ad3bbc4bbf29546L,0x544406a697f51becL,0x51d44dfac2e2e75cL,
  43006. 0xcfc8625d3da3f634L,0x0845ace6a1f5995dL,0x11850d8bf3b65c55L } },
  43007. /* 10 << 287 */
  43008. { { 0xa804b2f089ef2489L,0x06a2a805fb22f7d6L,0x31baf4fd353970beL,
  43009. 0x3481c8b712854a91L,0xb0424eecf3971398L,0x748ef3820f4ed94aL },
  43010. { 0x92b74ad026722164L,0x23f71d5831b1302fL,0x6741b28070a5f0c9L,
  43011. 0x46c12cfb9f5101caL,0xe7014d7901d0f81eL,0x129bd87ad758c288L } },
  43012. /* 11 << 287 */
  43013. { { 0x6c43d8307b00cd09L,0xb794cb012141eb00L,0x95fe13a75cf23ec5L,
  43014. 0x3de5ad7b8f2c799eL,0xa378434a025de83bL,0x07f681bba3a14a3cL },
  43015. { 0x8fa0b5d2983ba419L,0xe477bf361781bf08L,0x5b8162845e8ce6bdL,
  43016. 0xb36a78ee199ec8eeL,0x444fc01a6062d5d1L,0xc026ab4586ee9ac2L } },
  43017. /* 12 << 287 */
  43018. { { 0x6a565269a3e0c5b3L,0xaab7ec7104c6ae54L,0x0bda11a7d8c6ddb8L,
  43019. 0xb7ebfafb2332347bL,0xcf791881e99dff48L,0x81600214dc357c83L },
  43020. { 0x2a264f8931d7495bL,0x8ca430004ec885a7L,0x6d478260bb47d417L,
  43021. 0x544de4ec3d817032L,0xac7150a9dc05f901L,0xffef225775c0963cL } },
  43022. /* 13 << 287 */
  43023. { { 0xacb83aadb65296f8L,0x04c96c3e18151422L,0x8913311e7a9f126aL,
  43024. 0x3baeaf8010b74e8aL,0x253c9dcbb7410105L,0x30a13e42da2d5437L },
  43025. { 0xde31fd5533a2065eL,0xde2caf1ffe099595L,0x54c762fe795076b5L,
  43026. 0x8beb51fe635ed402L,0x369603c1e5c3d2a6L,0xc5083f0700a472b5L } },
  43027. /* 14 << 287 */
  43028. { { 0x58805ca8d2eaf294L,0x910d085ed7d5abb8L,0xf9cbc9a1349cfecfL,
  43029. 0x67bc7b417800a980L,0xe7e6dbc0f6847e9dL,0x7a0f22c4af379c48L },
  43030. { 0x80b6fc04b1d2822fL,0xa1cae656d8517a70L,0xd2d11ed14e9dc24bL,
  43031. 0x48d74f173fab87e6L,0x1feca5af50c630aeL,0x263e04cc62d0620aL } },
  43032. /* 15 << 287 */
  43033. { { 0x7dd330ca16b2a52aL,0x25133c614157ae5bL,0xe6ee0e4edd606b2fL,
  43034. 0x700840423f2b59a7L,0x58d27587d03f54eaL,0x62ebc668d34605e9L },
  43035. { 0xa764392ab3155e07L,0xf0810f3e3c6ae6c8L,0x1b32e5ae94614cd4L,
  43036. 0x45b49262b9cbf481L,0x0034db795b3d1184L,0x463237825b1b9ab9L } },
  43037. /* 16 << 287 */
  43038. { { 0xf6377e3bf6ba1469L,0xc334fb6c09c832d3L,0x7f85ac42c21c0cf1L,
  43039. 0x7a3e31c9857d8edbL,0x2eb1076327b77ed6L,0x2bfbbdbc38dae10bL },
  43040. { 0xed7c6fb17bae3b4fL,0xc5911d9f36d04e6fL,0x4dc435504569e72fL,
  43041. 0xaa82fb97bedae3abL,0x06d37bef4f27e463L,0xd0dbce6df0c35a11L } },
  43042. /* 17 << 287 */
  43043. { { 0x4482c7b704414726L,0x72c9cb5b26d23eabL,0x3747b8cefd5cb171L,
  43044. 0xe4ecabc300312ffaL,0x5909f29b9cf10a38L,0x209bc3f4b8d0e5acL },
  43045. { 0xd34c84db60fac147L,0xd64dea89f8938c89L,0xb18285f8b815267cL,
  43046. 0x719a7e355a2437d1L,0x45f8d9dab769c5a2L,0x2d0e4281a412cfccL } },
  43047. /* 18 << 287 */
  43048. { { 0x23c14c43d8f6e236L,0xb14be0d28ee39386L,0xd3c55814262dd390L,
  43049. 0xa1b40401e1f23d0bL,0x1377b07c61534375L,0xfe4e3eb116f6d95eL },
  43050. { 0x17b1af0040b4386cL,0x2dc657a837ca3851L,0x6862ca92ef976731L,
  43051. 0x9f0c380ba4118d3bL,0x23bf793977c1aa94L,0xaadee0612bc27d4bL } },
  43052. /* 19 << 287 */
  43053. { { 0xfa5e4cb6f1847a9aL,0x0e13a60cba6f07f1L,0x68d9db450ac86498L,
  43054. 0x44b02de3920ff013L,0x43724c2d84b46078L,0xb3686ee81f951b93L },
  43055. { 0x019b3e77d712fe85L,0x313e7b7497dfb295L,0x7d883ed826d50e37L,
  43056. 0x64815565d32562ddL,0x2f9e48bed7b3e2f2L,0xc97cf156dcb93450L } },
  43057. /* 20 << 287 */
  43058. { { 0x0573d9963ab4c707L,0xee5d87691420fdf1L,0x41873aa55e2b9c12L,
  43059. 0xe09290456810bf08L,0x4ff4143fccbe4bbfL,0xd0e5a74969328301L },
  43060. { 0xab5912621c4b73beL,0x550ea0633f3edf99L,0x8a77633734c93db1L,
  43061. 0x5c51d3f832b21521L,0xcee9f604713feea0L,0x0d6f8a5a7bf4268eL } },
  43062. /* 21 << 287 */
  43063. { { 0xc415d467009a0cffL,0x32dd46ef55960242L,0x4ccc6f676d6a81b0L,
  43064. 0xa860bcb6b2571d81L,0x7e74150991f9b6c9L,0x9a96b2f9d3a0592aL },
  43065. { 0xcc3d821071248929L,0x586062daf1cb0f52L,0x18d993483d48b6c1L,
  43066. 0x667f17949f4e612aL,0xf1d7a77ffb3a12e9L,0xf7586397f5753220L } },
  43067. /* 22 << 287 */
  43068. { { 0xb87d5ce2722f405fL,0x24d1f993d7c6a322L,0x09d837291e0d8113L,
  43069. 0x70b5cdbf89a6cbc3L,0xdfb3ee16fb2c9607L,0xf0acc1163465c7c6L },
  43070. { 0x10cef4b707e6659bL,0xc280c4331fde9940L,0xc8b5e9819a2d3f25L,
  43071. 0xc36faa763f7f68c1L,0x17878bfa8d54e281L,0x8fda8b359c42c5a2L } },
  43072. /* 23 << 287 */
  43073. { { 0x2aa1366305d22d7dL,0xee77da6eb0c62a12L,0xff8f99c5bacad876L,
  43074. 0xcbe33479f8a0f0baL,0x4c69bd7f4a232c8aL,0x760ce3fd485d3f48L },
  43075. { 0x0b286a59268d7411L,0x2dd746b6589819b9L,0xe017a53060ce76f2L,
  43076. 0xe4407828d642a7f0L,0x12761e51b6badaecL,0x4f4f286b78d07257L } },
  43077. /* 24 << 287 */
  43078. { { 0x43c78835661019ecL,0x68e916b124e66d29L,0x02c0f3a224094671L,
  43079. 0xab6f1c05d0f17d86L,0x6d3bac72a22d4264L,0xd7b8f152f6e5fafeL },
  43080. { 0x95627c6339447eb3L,0xfd15901879e1ff93L,0x39277c835ad80806L,
  43081. 0x758aafc90d7c7b74L,0x605ad8ca4cb8bec9L,0x6a90085c5741828aL } },
  43082. /* 25 << 287 */
  43083. { { 0xbc11d3d559cdebfeL,0x75c31b4531b2796eL,0x8d11e18a07b1055eL,
  43084. 0xcf522c1fb2d2986dL,0xc994c377eafcbec6L,0x840d27ebc0c0e2f0L },
  43085. { 0xd4124d17859550d3L,0xeea6047aba21b2b6L,0xbd2a036e335a2854L,
  43086. 0xd8703d6b207ac2e5L,0x09d2244a94a34bbbL,0xd6b9481417ec6f44L } },
  43087. /* 26 << 287 */
  43088. { { 0x7d8ddca252aa7ff2L,0x0985e47d6953b9a2L,0xed328993dfff63ccL,
  43089. 0xbfeca5327cfa6ee5L,0x7535a871b1e6a010L,0xb0052764303c2ec5L },
  43090. { 0xd39c72102fedb0daL,0x7ee2b384e1001505L,0xb638a1b1c82a7e1cL,
  43091. 0x1b94a47b4573fd7dL,0xef2bca7792cb2b88L,0x49ad6e97a75b21efL } },
  43092. /* 27 << 287 */
  43093. { { 0x591bdd0d8f4093abL,0xa2c63f1ba1322343L,0x5e548f71b32a4331L,
  43094. 0x9930891c5e7f3c14L,0xb2b2406e54c27043L,0x7ffe3e5ef1281af8L },
  43095. { 0xc31ba363900742d1L,0xf24c8ae1e61ee209L,0x687c56b7beed46f4L,
  43096. 0x0b63e47895682562L,0x9117cf4c0c8a45a8L,0x0744a86824c20748L } },
  43097. /* 28 << 287 */
  43098. { { 0x9ac777993acb39ddL,0xd1d3ecddbb7c6a8aL,0xa5271c9e7a75159cL,
  43099. 0xa6ffb41f2c276e4dL,0xc526556e0bb9a955L,0xa32e1352233b7774L },
  43100. { 0x103f124bc2cf09aaL,0x1816d1eff10bae5aL,0xc5f9197ee8837629L,
  43101. 0x064d5dcb13b1b76bL,0x109c70748d0fe0b1L,0xbb4e9743fce5f6e1L } },
  43102. /* 29 << 287 */
  43103. { { 0x4636f36d3ef05af6L,0x3695267b3e498920L,0xd59830285d773fc8L,
  43104. 0x939591245d3cc515L,0xc3f52a9569134370L,0xc9d0db7af8848992L },
  43105. { 0xcd1be9bf15906eeeL,0xa95d25fb916d576fL,0x08de893be152fb62L,
  43106. 0x65d743658ab1e35cL,0xd6d97057fef14ac1L,0x67ad47b9574508c7L } },
  43107. /* 30 << 287 */
  43108. { { 0x1b403c4f1470433eL,0x6f8cb19257e53eecL,0x87b5b93df0cce4f5L,
  43109. 0xfefaa5008c566f77L,0xf6aa8066db71517bL,0x9f01b036d67f5952L },
  43110. { 0x9524306faaeb40dfL,0x5cb2e8e1421350a6L,0xa57d05ea3d69040cL,
  43111. 0xd0ff12a1b9bbdcd8L,0xed64d3259e3e19bbL,0x29509c0fed0a490dL } },
  43112. /* 31 << 287 */
  43113. { { 0xc94191e7a607c050L,0xb918a096b98d3d4eL,0x97413dbce3f253f3L,
  43114. 0x8476c03cdc6d8418L,0x50247d1d2402202dL,0x077476225f8097c5L },
  43115. { 0x1457ab609b71c6d6L,0x9ff312c447cf0c94L,0x954dce23ee79d2bcL,
  43116. 0x3ba2b1a4a0da6e48L,0x363df36f532be9f6L,0x816642ddc742c7d4L } },
  43117. /* 32 << 287 */
  43118. { { 0x6edf5561ff8b1fbeL,0x614b788ef6eac0c0L,0x7699ae56d8d66d29L,
  43119. 0x5f81602ae9d58eb2L,0xd0c04874faf9176dL,0x4b3a0046523153b1L },
  43120. { 0x9690930ff6315883L,0xa81c0b44a60ca92dL,0x2d0e725873bcba90L,
  43121. 0x57efe72de902e329L,0x3fcd598676bc27b9L,0x492adf0393940c09L } },
  43122. /* 33 << 287 */
  43123. { { 0xf2ab8e22973a4b6bL,0x6a96f2ef6ad73ce7L,0xad5e22547235e929L,
  43124. 0xfab3e4a9bc6c3b76L,0xf69fb2062dc950d0L,0xd863ca9049478ff2L },
  43125. { 0xec669f122749fabbL,0xe1d28bdc71a6d279L,0x766ee6458372942dL,
  43126. 0xd118b90480ade5ccL,0xedcfb0a72293740bL,0xa3ee3a67f16b29cbL } },
  43127. /* 34 << 287 */
  43128. { { 0xc29fb53e118a0c7dL,0xea7a1017193b834cL,0x678072a2cec93ecbL,
  43129. 0x9054d6b72475dedfL,0x4a7d477342ee616cL,0x05cec7f8680f8a43L },
  43130. { 0x39c491d496915870L,0xe07a2b1d8746edeeL,0x1d8ed3c83566e7fcL,
  43131. 0xc7d744e5e002298bL,0x8a0acec99c0e6388L,0xb2daac39ebf48fe3L } },
  43132. /* 35 << 287 */
  43133. { { 0x773ad1cb8e133d97L,0x1e29f5a2872523d3L,0xa2a742293a09c1ffL,
  43134. 0x809e6d284369ca06L,0xf22e521a7fe148caL,0xbaaf90c383ef9578L },
  43135. { 0x65aa9b54d633b2d5L,0xe55f2ce29a2994a8L,0x8a0af446e67e0b85L,
  43136. 0xb9714de9c1f062c8L,0x1f4047dd2a3aa1d7L,0x39658ea965179222L } },
  43137. /* 36 << 287 */
  43138. { { 0x0322b29a57fbc5cfL,0xf55af7863078be9cL,0xd4b186e6ecb59f79L,
  43139. 0x50f5fe746d950733L,0xaf8a1898a9f90d02L,0x483801a742d6d9bfL },
  43140. { 0xf0a0af145ec09c0eL,0x85af0e6188383360L,0x404b295e42592235L,
  43141. 0xb3199d63c596493cL,0x7aadacdb194abb80L,0xac84563ec1c845c6L } },
  43142. /* 37 << 287 */
  43143. { { 0xd78d1dae5336e58dL,0xa3f36e0bc5ff354fL,0x8421f95e5d1ed78cL,
  43144. 0xff4c16019f360c43L,0xd5efa09f8bb582a1L,0x0ece005aefb39652L },
  43145. { 0xce8bb58036c2c940L,0x11f8f74bcd1ae8ccL,0x923c350b57a2f2b3L,
  43146. 0x2438e3213c86faacL,0xe76129503e230776L,0x35c73d415e6158e2L } },
  43147. /* 38 << 287 */
  43148. { { 0x8ffda4643672507aL,0x76301be7dd91327aL,0x42720bb0958860bfL,
  43149. 0xedc0b8945ad4f455L,0x2fb553201bfbeb4dL,0x22a425bda1c6494dL },
  43150. { 0xfb927a85de0e7f52L,0xb84a82cf49a4b6a1L,0x8afd0546b640fe0fL,
  43151. 0x23b78fbed2fc15cbL,0xeab469c26742a49fL,0x308e453fe277c7cdL } },
  43152. /* 39 << 287 */
  43153. { { 0x60ce0f55af7b14aaL,0xf2577fbe5cf5a2caL,0x7bb9521fabf3bb41L,
  43154. 0x68b6409def00287aL,0x700bf423bfaf9391L,0x98e6c3017d637300L },
  43155. { 0x342ed4870ce28aeeL,0xad8b8dc383b059dbL,0x1b8a892b85d0a485L,
  43156. 0x553c4fad6b7a7d3aL,0xf5692acc198d0379L,0x6004ebb3ce932f00L } },
  43157. /* 40 << 287 */
  43158. { { 0x6895dbe2f820c195L,0x3787a5003f6c7b40L,0xdc718243ac1e90f3L,
  43159. 0x352f8c91ba5d0870L,0xf3d1c53eec0112b5L,0x08a0782f6b84f64aL },
  43160. { 0xd659e6358eedd5d4L,0xfc30df6c29537276L,0xbfb09978a1755ce0L,
  43161. 0x227f7b12aa2b4187L,0x828730b9226539d2L,0x9051a37cb2472c95L } },
  43162. /* 41 << 287 */
  43163. { { 0x430c2a45d0a0ddabL,0x916aa68926a6291fL,0x9db5510268dff24fL,
  43164. 0xa22121c1850a7aabL,0xd43416194e2d9670L,0x7ef2cb9415cf7636L },
  43165. { 0x2cd6ddf6bf97b27dL,0xac5676b625aba9c0L,0x3ca96f7ec4ee110fL,
  43166. 0xc6900abd08e7ebb4L,0xcd3942fbdcb91135L,0x62d6b6f6a8ad56e2L } },
  43167. /* 42 << 287 */
  43168. { { 0x1ec7f2410828d35fL,0xd94c2a926ccae554L,0xdf4227273c36ecedL,
  43169. 0x2facd6d89fa6582bL,0xed43247ed349d3beL,0x1d59d55d1db6fcc6L },
  43170. { 0x2b5074b1ee1bea38L,0x025496aac9c21a8fL,0x57dd7fa1d1d817edL,
  43171. 0x57b5572aead03124L,0xdc024be87314616dL,0x5bb5b23c10f6e38eL } },
  43172. /* 43 << 287 */
  43173. { { 0x643cb9cd53812134L,0x016a11e8092ff9b5L,0x227f3dfbfcde37bfL,
  43174. 0x01b9bcebe8a8fc6dL,0x7009ae45e1da0dd6L,0x193b6f519e2908f3L },
  43175. { 0x28656302230db5feL,0xb0a730c41aaeee73L,0x028320ab387addc8L,
  43176. 0x92165d909a92488cL,0xb0b2f8f09066c95cL,0x0fa55db564007634L } },
  43177. /* 44 << 287 */
  43178. { { 0xbff4fe0844284b10L,0xc7e3f8da19c2f775L,0xdcd97e54a45ab746L,
  43179. 0xf53158a9540ee8a5L,0xfd19068728c4aa74L,0xa3447e30648fa2e1L },
  43180. { 0xa6794670c374cedcL,0x605629c258204248L,0x1b86f8e6f7d8db3dL,
  43181. 0x1e8ffe8bff0f38c9L,0xe4a556b8e274c82bL,0xb31406c94c0076d6L } },
  43182. /* 45 << 287 */
  43183. { { 0x198999821e555a0cL,0x831e923fbc196442L,0x8b294623f682e135L,
  43184. 0x79ba90c01743c6e1L,0x74f8dbafeff5ed22L,0xe4c3257d5c010835L },
  43185. { 0x9cf94a208f9ec66bL,0x9fe9da3ddc303c43L,0xa53870be0cb716daL,
  43186. 0xc322ffaa2aef881dL,0xb9ff76ff0fcd5580L,0xdcc125d49ebb1d7dL } },
  43187. /* 46 << 287 */
  43188. { { 0x747b6b6ddecaf88eL,0x1a32f8ba368cc7caL,0x52a3a00f60d84fd7L,
  43189. 0x60052af507adacf7L,0x8b7bf25650b8de16L,0xb8b2acf8194926baL },
  43190. { 0x4bda72c81d1ef524L,0xe350f73288993f96L,0x63fee4e2e08c5d39L,
  43191. 0x1f2cd9cd5db46904L,0xbf11ac311668d3bcL,0x8eaa064371d721aeL } },
  43192. /* 47 << 287 */
  43193. { { 0x33cfdcb3e14210feL,0x4abad5ec4946aa01L,0x14b42417a8cb53b3L,
  43194. 0xeebb0d70238d4edfL,0x8c9d87fdb5bdb30bL,0x3cc680f17c928b33L },
  43195. { 0x4b2b2358757c2607L,0x51a70a33c1c8dedfL,0x62a26d776b22d113L,
  43196. 0x2f4acd62ef3b4f5eL,0x403e91bf6ed00636L,0x219ba3577bf74d3cL } },
  43197. /* 48 << 287 */
  43198. { { 0x7de743e2b39317b8L,0x9205d4472d372acfL,0x8226fc303eeb0012L,
  43199. 0xab2a3e052af74be6L,0xbe4767804af91ac0L,0x98497c710ca36bf4L },
  43200. { 0x74fdf7cd8d6dedb4L,0xb50778eea0fc5919L,0x5d5ec33f2fcd7c63L,
  43201. 0x667b81937f33cde0L,0xce48ae4b38364d44L,0xb8578963223ed67eL } },
  43202. /* 49 << 287 */
  43203. { { 0x3e5688e46bfd7adeL,0xb3f1eb051b80bd4bL,0x8626c4cafe3de456L,
  43204. 0x8846bc714b7e5444L,0xa54c7cff689e8a67L,0x8c3ea61f43eadcf6L },
  43205. { 0x924f17d6fde15178L,0x45319eb705c08d2dL,0x6d55775d9f85dcbcL,
  43206. 0x2aaf9f7405278280L,0x574a13e77b617153L,0xe7fa921ae8b15bebL } },
  43207. /* 50 << 287 */
  43208. { { 0x9dd54056514e343aL,0x8d9116dff12aa25fL,0x5322ec38e3397844L,
  43209. 0xe1843921571036a1L,0x2cde0a48650beb19L,0x41ad4a7e4f259728L },
  43210. { 0xf314fceeee6448b2L,0x80006b2aff0e81f5L,0xb5ee5524d51d229aL,
  43211. 0xeba6d733128e900bL,0x79278cb8030f391aL,0xb24bcd63a9a5f9fbL } },
  43212. /* 51 << 287 */
  43213. { { 0xed867a7b37d10743L,0xd57d2d8df510023eL,0x4d500e4c737e0a50L,
  43214. 0xcfa119900ecbf795L,0x3ac126b89373bdaaL,0xb06324fb735449a1L },
  43215. { 0xfe321df5cd79de70L,0x52d625dbfd07c6d4L,0x88ff505a3d628e51L,
  43216. 0x120350fab044d725L,0xf718b20ad02f9515L,0x766698630bbea1b2L } },
  43217. /* 52 << 287 */
  43218. { { 0x6293e0ff50d9bda1L,0xe7259ada433b4dd3L,0x39aee63e821cee67L,
  43219. 0x4d707c7144b10739L,0x42b9e0f69bd6efc3L,0x7d71edcc0717a61dL },
  43220. { 0xe7df9e56d1e5a5bcL,0x7895b638ddde509bL,0x6fc597b3d2a6a822L,
  43221. 0x022da65d96d2a8abL,0x95541ce7cff45c72L,0xa5bb7799e649800fL } },
  43222. /* 53 << 287 */
  43223. { { 0x7472e4c963676cd5L,0x2836b1d52687f376L,0x1460b664f732a51aL,
  43224. 0x7c4541f22a214ae1L,0x743a524d107d6622L,0x9c64e3ff082fc015L },
  43225. { 0x9341f3fc8e0d13bdL,0x9946043e529554edL,0x6fbbbcda5798d6ccL,
  43226. 0x3bfad5fb242115c5L,0x1f46bd1945ab793cL,0xd9383bcf3b42f81aL } },
  43227. /* 54 << 287 */
  43228. { { 0xe4ff888f820a13b5L,0x7cd18b3eaf1bfbbbL,0x3fb7f681bd4e4dd5L,
  43229. 0xaba364c287d46c40L,0x44e209ab659b3498L,0x5e071a272dde85c1L },
  43230. { 0x8a029b1fb969c790L,0x51bab9f0c6fd1c22L,0x9ee9b047b83eb0c1L,
  43231. 0xda0b39439e5b2c35L,0x0cb30625f20ca425L,0x8e4dbd013d25c2c9L } },
  43232. /* 55 << 287 */
  43233. { { 0xe7aa41a96b8f7599L,0xe97ff24a3f556ad5L,0x10e07713dd6a9329L,
  43234. 0xaf464b18c4d06a93L,0x9b8e5145a1ccc85fL,0xa256680bd0487ca6L },
  43235. { 0x420b60bf815652f1L,0xeaf09eff5bb45b6fL,0xa31e875f8845a557L,
  43236. 0xb035ee09eebe0911L,0x1402d1d86531c356L,0x24aeeaf0b630f75aL } },
  43237. /* 56 << 287 */
  43238. { { 0x4b20d1829567f5f4L,0xde7e814918f02b34L,0xc9a4be7becff9dd7L,
  43239. 0xe2f70bbe9812fd3fL,0x471bf90c9c889263L,0xb60d01b53e61f5bfL },
  43240. { 0x258c7f89d22d855bL,0x35ef5c15b75a7d4fL,0x26d8e1dab247f27dL,
  43241. 0xcf1361998d0f7757L,0x312447803f8e894dL,0x8d2a20bae1a3d47dL } },
  43242. /* 57 << 287 */
  43243. { { 0x6447cc97f08a0417L,0xd98ea6837afee809L,0x81426d20bf7990aaL,
  43244. 0x848bd6223526ad26L,0xb6cdc5b4fe1f3381L,0xe7e10bc7a26189ecL },
  43245. { 0x25a9f7cf57464e6bL,0xf90c1aa12c86ddf0L,0x2126ed530124705fL,
  43246. 0xf384e7e5b58e6341L,0xb2dfeb0a12207e57L,0x72875c55e0e23287L } },
  43247. /* 58 << 287 */
  43248. { { 0x37579c3eb954b7a4L,0xf0291f8f3f2ea608L,0xde68104f90a85ed2L,
  43249. 0x6a35fea9e1088788L,0xe8d5517470d15d00L,0x0bc72de552467f90L },
  43250. { 0x2ded3293297be2b8L,0x76c53e5761ddc65bL,0xae4b2b5015562d6aL,
  43251. 0xfe7cdd329e0aeb79L,0x98ef4c518dd474ecL,0xfca56ffb0076b23aL } },
  43252. /* 59 << 287 */
  43253. { { 0x120adcba6f60309aL,0x41e46edeca8ab2c7L,0xd68aa4c529b79ce0L,
  43254. 0x21a21f8d7a3b11fdL,0xea68dc4739d0809fL,0xd4faa71a27973044L },
  43255. { 0x65b42172810be134L,0xb2dafa6c793aee92L,0x951e9f6f1f78f7dcL,
  43256. 0x2affc70a17fdba97L,0x4f0f4c51dcaa2789L,0xfde1951c9e703980L } },
  43257. /* 60 << 287 */
  43258. { { 0x80826a196488d9d8L,0xfa452795f3ad867aL,0xdd9bf8f5bd4e6674L,
  43259. 0x324386227e8e3ee5L,0x7af4c605dff05c96L,0x79efb6f9541cbbd2L },
  43260. { 0xeb5ff62675e78961L,0x5318c4c30be43d7aL,0x02df456daa4a0562L,
  43261. 0x4d6002d88a916a81L,0xf0dbc349f68eced2L,0xfd75d4d5ec8c3fddL } },
  43262. /* 61 << 287 */
  43263. { { 0x6c15d903544378f3L,0x0a9bc9d735ea3c77L,0x9d9066408caa4acbL,
  43264. 0x9ba27502402be833L,0x1ed4123f8773fd7bL,0x236364ba190eac92L },
  43265. { 0xd6287f17f8383ee1L,0x75b7b0b5d9739582L,0xeb6cd50d0292806eL,
  43266. 0x216f36dc43448409L,0xec136f8cb6c4958aL,0xfa805ab49ef7810eL } },
  43267. /* 62 << 287 */
  43268. { { 0x5c6448f70d00b29aL,0xaa134b87124cd55dL,0xc2c6b269d94b72d9L,
  43269. 0x0f0dd472412f76d8L,0xb4cf3c1873f6571aL,0x6aed00218b9218ffL },
  43270. { 0xa55b74eaa0c9dde9L,0x59b952125b4c8fccL,0xbc9873ea4ddc367bL,
  43271. 0x26b369ba0fd30421L,0x71763a45e446f4fcL,0x67e800edaff54707L } },
  43272. /* 63 << 287 */
  43273. { { 0x4de97de1126b4919L,0xd631d908883ea109L,0x37c77d729f6ec50cL,
  43274. 0x910932e6df718c7dL,0xa798406855028d0fL,0x21b09540a6119a26L },
  43275. { 0xb837cceced4b4962L,0x3c83f4bdba66002aL,0xa067aa3d2ac41124L,
  43276. 0xa64bff30d08dc360L,0xa22778a5c108d3abL,0x7f732064aac4dee4L } },
  43277. /* 64 << 287 */
  43278. { { 0xc68b641ec795a2c7L,0x4fe559b15a4d6647L,0xeda98cbad89ce668L,
  43279. 0x15f84dc06c269d8eL,0xf0eb685ecbf34023L,0x3668c530c032634aL },
  43280. { 0x2e3d7fffe4531f59L,0xe627030685494d06L,0xf02cabcfa3e050dfL,
  43281. 0xccd2da67c001dcd9L,0x50aa3723066d2d52L,0xdb0756507224a41fL } },
  43282. /* 0 << 294 */
  43283. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  43284. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  43285. /* 1 << 294 */
  43286. { { 0x04418b5965b55050L,0xa8a797c3d324aa67L,0x5f87e22c7c65a6d9L,
  43287. 0xaac710651dbeffe4L,0xff619d64bd3cc05cL,0x9a29c966e65c92c4L },
  43288. { 0x23af2b21dad7fcbdL,0x4950a767153b817fL,0xc34a7efac6478c55L,
  43289. 0x57cde95af6cd140eL,0x64b74575f5a0db2eL,0xd4b5ea5275d7fb76L } },
  43290. /* 2 << 294 */
  43291. { { 0x284050628e72aafbL,0x655bf3538ea8bf00L,0x789d944405547f7bL,
  43292. 0x7fa445ed3441e472L,0xfeb198254a44ce87L,0xccb5f12c129aed14L },
  43293. { 0x22b05de3af94fb34L,0x7422a040d3f03199L,0xfba252caa83f7f08L,
  43294. 0x0f6ad6e6cefaa757L,0xe1ad18716517d806L,0xd16dc8ed8e9d97adL } },
  43295. /* 3 << 294 */
  43296. { { 0x0208092a0e3dca68L,0x9a49bdccd1a09971L,0xe5194181aefab9c1L,
  43297. 0xc1c9690a0076f47cL,0xd7499e95b486c2fbL,0x83a69e43d4b72e00L },
  43298. { 0x75f2838a2d1a6c2bL,0x57a24c69751f6366L,0xd956ee08626cc684L,
  43299. 0x434cadd7e6ce3249L,0x3d4eaececfe289bfL,0xbbd53b961b8aafddL } },
  43300. /* 4 << 294 */
  43301. { { 0xcbb99194a3736eb6L,0xdd5161cd36dcf470L,0xd50b24aab6ab6c03L,
  43302. 0x419d2810bc41f4b7L,0xe2e88d7a295496cfL,0x350713f2f2457ac0L },
  43303. { 0x838e4a360427e2aeL,0x7631472a4d974e5aL,0x9fa3ab1c7a5c5fdcL,
  43304. 0x324798cdde34cb8dL,0xbfa5a9d0889105feL,0xd05dad34fd0df249L } },
  43305. /* 5 << 294 */
  43306. { { 0xb47c1d47d6a3a1baL,0x99bb7e6572f65bd5L,0xf251794578abfda2L,
  43307. 0x827f2aba3e3e3420L,0x436ee73250e2de70L,0x5c9ac6dc10eca926L },
  43308. { 0x2ec67465181f5e18L,0x1e8f32fcc6c83d02L,0x9dd3aeaf3953bd81L,
  43309. 0xca955f4b07086daaL,0x7b4b6f3fd14eaa88L,0x562e75f1148d826fL } },
  43310. /* 6 << 294 */
  43311. { { 0x536e5657cb419fc3L,0xe8c208bc1d271dd1L,0x6a3713bd22d2b9adL,
  43312. 0xa4c761a7471d808dL,0xd93aafb67e6dca35L,0xc46c0ae38f55ca32L },
  43313. { 0x55dc0de7a78bfca0L,0xe9cfb3013407d0caL,0x777e2a60b3256c14L,
  43314. 0x32b2238c6d8fee02L,0xe8b3539646e43ee8L,0x310bc1ba247985ddL } },
  43315. /* 7 << 294 */
  43316. { { 0xbb9bce6810168f49L,0x32edc368717445e3L,0xb0b5a04426aa3ff2L,
  43317. 0xc671f1fcd166542bL,0x3142864df61d2523L,0x11b2dfc7b0c67410L },
  43318. { 0x2e031a05c99690a5L,0x4782fb749fb7bae8L,0xeac2cd506b7175acL,
  43319. 0x2e116782bef2313aL,0x67992027241c4d2dL,0xf8aa0e09a6952d9fL } },
  43320. /* 8 << 294 */
  43321. { { 0x9974759c581f9d3cL,0x9e76a970e5cb1973L,0x8afec58ec64941caL,
  43322. 0x2d7c57fa01d05575L,0xc07c74cc5c448db5L,0xa52474ce01bb1440L },
  43323. { 0x93162d9700115bbbL,0x483b6147fd7480f9L,0x4f28c57e6af18dedL,
  43324. 0x36faed8f174a3089L,0x702dbd64a3dd6265L,0x86a9c43f6adc0d7bL } },
  43325. /* 9 << 294 */
  43326. { { 0x9d4d4b3c795eb646L,0x727e2aa17485839cL,0xb50018a5aa9250baL,
  43327. 0x5a15808d1ba716adL,0xb1748d580ff91cebL,0x0131bcff76144b6dL },
  43328. { 0x23fea4a58dcccffaL,0xe8eddb5ceb64caaeL,0x011a65971c3c5e66L,
  43329. 0x7723dfba377a8f6cL,0x00167c71dee2f651L,0x3e89ddf5ee0e4325L } },
  43330. /* 10 << 294 */
  43331. { { 0xa3510710b9de7b63L,0x9f364ad14019c9dfL,0x5b66a5d79b5bdce3L,
  43332. 0x2b2f695178b1b385L,0x3e4783d33cfa9f99L,0x1af517506bd6bcf4L },
  43333. { 0xf9c0686a81d8d7efL,0xdc0f22ec37c068d3L,0xe1b8665393545fafL,
  43334. 0x37ca8501a8a52881L,0x07ac5c8a5603e359L,0x98fb2bab542cc937L } },
  43335. /* 11 << 294 */
  43336. { { 0x96326ec323da6b81L,0xdb48a5e1f90a6f83L,0xbb141660f640a0fdL,
  43337. 0xb51609375b92f5c2L,0xaaabd54c997244e4L,0xbeb8ab2f859bb92cL },
  43338. { 0xcac7c5dda4be476bL,0x7093faea7f58c1b2L,0x3167a2c45c6ad412L,
  43339. 0xabd86bc9544fb9a7L,0x571296a72448c363L,0x4da64cd9c6cd4621L } },
  43340. /* 12 << 294 */
  43341. { { 0x4981be690c5bbd3eL,0xb047df0a185fdb55L,0x3168e05074cff00cL,
  43342. 0x111150a1b52c7f9cL,0x0db2ed84a51c7986L,0x7d991630e61272adL },
  43343. { 0x7443d93628de14ddL,0xfdf31f41a5daed5fL,0x71e0ef4e866b5e40L,
  43344. 0x05c57a45b965a670L,0x85bdb58c70e1aa77L,0xe4d1fe2a9df3ce32L } },
  43345. /* 13 << 294 */
  43346. { { 0x6ff2b1a1772c3796L,0x9b88c1178e186fe8L,0x342ba11f4312af31L,
  43347. 0x9a93a4d1a86ae2b6L,0x496d5f219d59e3feL,0xce519a7d6924acdcL },
  43348. { 0x6fdef82327c46e44L,0xab5504c34d31c9bdL,0x6fa52bca71693677L,
  43349. 0x31221119033c80f7L,0xdb2cb49dc0a22f91L,0x4962d58f9b4aeb5eL } },
  43350. /* 14 << 294 */
  43351. { { 0x5d4618982f722563L,0x11d22b39567db14cL,0x9a8f004e6779cd40L,
  43352. 0x0812ae3d5473ecd5L,0x4ed828624e6c296aL,0x2d9ce40c064ee61fL },
  43353. { 0x4856d586d8a9eb1eL,0x2ddd6b125d1b5e3aL,0x0ab5eec0382fba3cL,
  43354. 0x302018dffcf4a9c8L,0x7b4e6fd2ab3cdedbL,0x266c246a8f64cb1dL } },
  43355. /* 15 << 294 */
  43356. { { 0x55bad54bd6dc35e8L,0xa43d72ff38642612L,0xe39a191609bc85ddL,
  43357. 0xc9d4bc9b0f85d3baL,0x84cd12b61367a70cL,0xf4ebc0e04937bb2dL },
  43358. { 0xd083145949dc027bL,0x110751601cf29970L,0xa443a29c0b76b4c0L,
  43359. 0xee5b8d0ca0de3249L,0x368aa3259002e7d6L,0xeb48afdc6182e2e4L } },
  43360. /* 16 << 294 */
  43361. { { 0xc41e4aedf5c3af59L,0xa0284ad06de9a78aL,0xf5eaab7b8ed812d2L,
  43362. 0x7801fbb81afb58b8L,0xbe5cdba671efcc3aL,0xe31a0e3ccd10cb91L },
  43363. { 0x882e821e85dc0bc6L,0xd3ad070fbb32e506L,0x3afede2bd8a0f038L,
  43364. 0xe20a117c857fd3a0L,0xebaa2aa43060f767L,0x6524aa0d2b9d1da1L } },
  43365. /* 17 << 294 */
  43366. { { 0x86aeca0ffd81174dL,0x19bc6ee60c6eefc8L,0xc85f7f2ea91f0e19L,
  43367. 0x09b9276ad2354dc8L,0xb62adee0542a669aL,0x8354ad1a88097445L },
  43368. { 0xe67d2834df9984a1L,0x2330c8cfa64b2864L,0x309dcdeb39e7b54aL,
  43369. 0xbbba4737a18cf5eaL,0x47511b1d92861a8eL,0x99d4bd673286d404L } },
  43370. /* 18 << 294 */
  43371. { { 0x9cc5847c88cffe33L,0xff726b0f6e8eb6c1L,0x9bb2ca161bc45d8eL,
  43372. 0xe7903009a6d8a5a6L,0x4f089cc047db2201L,0x4135884de6b5928aL },
  43373. { 0xb1a86a0ae5c017cfL,0xb1d9bf6db0a393dfL,0x33d9c1c628bb3277L,
  43374. 0xcb05b67b45b582ceL,0xa72585fcf33792c5L,0x78b7c5e8a7d1ed84L } },
  43375. /* 19 << 294 */
  43376. { { 0xbb83b446b1b4a091L,0x66440b3d9603d875L,0xd1931f33c2b45d1aL,
  43377. 0xb8b67f20098d4cccL,0xa3583818790f208aL,0xe01194bec4a3e88fL },
  43378. { 0x29301bb192e8b150L,0x1795cabe9448ee60L,0x377d8f9752500c48L,
  43379. 0x474e73d65a457e79L,0xce0a50ef30159027L,0xfe69abaafbb2c214L } },
  43380. /* 20 << 294 */
  43381. { { 0x70e478fb9346df25L,0x01dc0c2eb4a4ada5L,0xaec82b005be36ea7L,
  43382. 0x82618b8f6717e06aL,0x2db1f6d4008f1977L,0x4e493f3b16b390d1L },
  43383. { 0xfe86fd4d990a75ebL,0xa1cf7f99783f6076L,0x6cbb23e70c049158L,
  43384. 0xd05be7e5ed456235L,0x601374069bd836efL,0x94ec964432e5f604L } },
  43385. /* 21 << 294 */
  43386. { { 0xd96e4d920fc48c7bL,0xa2e29660f66e491cL,0xb92d850601146906L,
  43387. 0xa43f4803afe346d6L,0x27885d98700b6bccL,0x90662e9f595d8de2L },
  43388. { 0xefa7f261f70d1007L,0xfe8a8be3fc72531aL,0x3b3f7541f1aa8d93L,
  43389. 0xb31bea258215966bL,0x15faa4acf35d2be8L,0x0a5f95e786c9a45fL } },
  43390. /* 22 << 294 */
  43391. { { 0x3361e1ce3d87bfa8L,0x92f235e78dcca4f0L,0xc8084cb4be323fd1L,
  43392. 0x3fd481a5c24c6d16L,0x9b1bd9402cea81baL,0xf50911910c5aa59fL },
  43393. { 0x4cd8c9eff81d5e2aL,0x5ad000131550bff4L,0x29d47b9f8cc32e55L,
  43394. 0x66e3e6f111694eceL,0xd5edf7017950dd7eL,0x9ccb10960f6350c6L } },
  43395. /* 23 << 294 */
  43396. { { 0xc31e47ff95e784e4L,0x7ad0dfd63fa14241L,0xc91482092dab896eL,
  43397. 0xe9a114cccb9bb463L,0xedce9e6f16cb16afL,0x0ee2ce0607508893L },
  43398. { 0x1aedb80ce31c0f54L,0x235d4591512658ccL,0x9029fad2a38583f1L,
  43399. 0x95b1e1ddebef898eL,0xeb2f21809efabef3L,0x458c4338b10e9cbbL } },
  43400. /* 24 << 294 */
  43401. { { 0x09db138d18f2470cL,0x63bd2290f613658fL,0x0bb647794feebab9L,
  43402. 0xfce4aee17fdb1e71L,0x7d5c0c61a7f1f65dL,0x46405b618d02d6cdL },
  43403. { 0x7cac04856fdcb0d0L,0x85224c4b2f8ec5afL,0xb5879a59db0aa864L,
  43404. 0x75f391b8ff94f8b5L,0xa6c994ae49c97f8eL,0x4d968fadd690b232L } },
  43405. /* 25 << 294 */
  43406. { { 0x1e436df6e11a616aL,0x9eb49c76bdb932a8L,0x207d2fe90e6591aeL,
  43407. 0x6e05acc8233ac034L,0x464dd321f3d04d32L,0xd4ba4889af43c171L },
  43408. { 0x0808e5207120fab9L,0xb9e4726c3fbac672L,0x5dd1c13b9d7d883bL,
  43409. 0x1c091808771f1edbL,0x76988d1c75eac1a5L,0xb0fcd3a893a67be8L } },
  43410. /* 26 << 294 */
  43411. { { 0xf5cd290a67e0b4e7L,0xaa6fa6807c1594b6L,0xebedfbd7b63270beL,
  43412. 0x574b410ba369bfeeL,0x431cba5a020ea888L,0xd3a3102f56c71d47L },
  43413. { 0x4894bfe0a90a853aL,0xd78bd98b5f9c4b6bL,0x9b1324f6d900c5c1L,
  43414. 0xc65c944d718c2147L,0xf661de6ba987f634L,0x0315e69f172628d8L } },
  43415. /* 27 << 294 */
  43416. { { 0xb12e0ab8aac7ab64L,0x8ce877abb06cf9cfL,0x39b694b40bb11fb4L,
  43417. 0x0c2428369b0d8850L,0x6bc9a033ccd50c6eL,0xaa2e77739a1e8fb3L },
  43418. { 0xa7d8be09608e2e9cL,0xeb4cef0542b9f458L,0xa7268c9b985f66fdL,
  43419. 0xd60eeab27acf4968L,0x02eb2db3b6e5621eL,0x82fb4abfad8236c4L } },
  43420. /* 28 << 294 */
  43421. { { 0x07c60c7522ea5f1cL,0x35beae34a36bee4fL,0xa8b00a09dcba8997L,
  43422. 0xa77f1f3a802ce50cL,0x6c4050df2a2144b0L,0xf79bfa96ab1b10dbL },
  43423. { 0x9025d470433a9b1cL,0xaf3e391790d9eec8L,0xbcad2d629ae2d535L,
  43424. 0x7a152829eff0f6a9L,0xe87345cd925fa5a0L,0x6ce007200e84039cL } },
  43425. /* 29 << 294 */
  43426. { { 0xc65acf36c3d095d2L,0x9192c5fe72427e6cL,0xcb84c43c3fa8b90dL,
  43427. 0x2f458fe965e15b23L,0xd8bf193731469f11L,0x1ccd8bb93638cc3eL },
  43428. { 0xa067022f78e35577L,0x382e6af730ee676dL,0xf197adc2f6d135bfL,
  43429. 0x06360834c9a1cf58L,0x413813f7930371beL,0xf7461d04f5dcaccaL } },
  43430. /* 30 << 294 */
  43431. { { 0xdae449c007f6a05aL,0xbc1b84f55bf26c9eL,0xe3b3f9edb1c13820L,
  43432. 0x5442ad5b4090598bL,0x794ef65613749e4dL,0xde809180948b71c5L },
  43433. { 0x4c72dc7de203c5b5L,0x8902b0971b349fc4L,0xa899bedb225a1569L,
  43434. 0xeb7da73de6ff3f53L,0x6ee8e1607c0be37bL,0x9ee667d2a31bf943L } },
  43435. /* 31 << 294 */
  43436. { { 0xbc91031108b6fb2bL,0xa5e0ab3e25e06a55L,0x16ff0705360f1698L,
  43437. 0x71c0aa7487e72a67L,0xa1f1497b355c75e8L,0x179b67bffa6bbcd7L },
  43438. { 0xc9db6590b6738583L,0xf77660c4d87e72bdL,0x0ee2e7b3f13abc2dL,
  43439. 0x0cdf5a37a4d922b6L,0xaa8af2d596c853a4L,0xdc452af4e0092356L } },
  43440. /* 32 << 294 */
  43441. { { 0x5017e145db81146dL,0xc7d2086d45c54db8L,0x2541059dfa98234aL,
  43442. 0x4bf344d99985af98L,0x39737ed67b5b7b1cL,0x8e24691987c411adL },
  43443. { 0x2fad8cedb877a75fL,0xe42352df17e60ee2L,0x1a53d856404043f7L,
  43444. 0x6c1f07a5863927a1L,0x38d3a4f4b6892121L,0xf4c1092001976c8fL } },
  43445. /* 33 << 294 */
  43446. { { 0x541732a70224214aL,0x61617b515cb2d019L,0xc560c24bcb4fc6b2L,
  43447. 0xd0ad737943670d99L,0x08cdd32eb83112a8L,0xbe57493d7e29810fL },
  43448. { 0x7834124899d4523fL,0xae1a5857cc8e5fb7L,0xf8b62a59b8454efaL,
  43449. 0x7c63c900ab0f4729L,0xeef9243d72dd0f5fL,0x6b865dfbad766386L } },
  43450. /* 34 << 294 */
  43451. { { 0xd11536eefee626b8L,0x1d2471dd8077b5d4L,0x7db062debdb9a4dbL,
  43452. 0xfcc62c0ab9f808ebL,0x619b54c6ef392bc7L,0x81e146fc51b9f5c9L },
  43453. { 0x0343807c7bbd52b3L,0xe024a9f1572125c5L,0xf8b886d86c57cb31L,
  43454. 0xcb92aa7d5398a318L,0x4ce0870d2410ef34L,0x1a40c103f8366683L } },
  43455. /* 35 << 294 */
  43456. { { 0x46485baa7bb78552L,0xc0f685f23e6a3f0fL,0xd24970b5fb3cc0ecL,
  43457. 0x0d1f380e7bf91feeL,0xf0f7fcafe7624351L,0x27cb99bc697a8055L },
  43458. { 0x55be14685cdc7560L,0xf006927927ba7f93L,0xb0c25c759fdd0e70L,
  43459. 0xda82e73785818253L,0x7d40d86946304c51L,0xe06ea6fdcc18ba58L } },
  43460. /* 36 << 294 */
  43461. { { 0x99d37ade6b65e17aL,0x61ca538e38ce217cL,0xd3ea83f68ebb89edL,
  43462. 0xce6611eb4b02964eL,0x0ec7cc2f5c0a8e44L,0xa985b0c2974240a4L },
  43463. { 0x7a3abb6c42ee5b0fL,0x55f049a0cb2eddadL,0x69348b027c44a60cL,
  43464. 0xcabc65191974a8c7L,0xd9def4bc07b91a35L,0x684a2d71b93b34c3L } },
  43465. /* 37 << 294 */
  43466. { { 0x21c37d21f48f274cL,0x2de96b4da082a098L,0x82520e0ca606b6a6L,
  43467. 0xf76c9ec6e1050b81L,0x248c5efbd1ce149dL,0x5a36ae1e9a909790L },
  43468. { 0x8790b09bec8b43afL,0xd592dce560ff709cL,0x726d699724cc8e21L,
  43469. 0x61e37bef5e2cb745L,0xd55a68c26eff3ba0L,0xd47f02659ad265c0L } },
  43470. /* 38 << 294 */
  43471. { { 0x3e6351ef3932ef94L,0x65625878db5d64e6L,0x118a688e091ec7b7L,
  43472. 0x2a95072abdf60b88L,0x5200703540dc0afeL,0x59c3d90b6fc1cbffL },
  43473. { 0x5622b1b21dfb1a7fL,0xdcb0344834d92243L,0x18fccfa86d7d36c4L,
  43474. 0x5d43a14181341761L,0xef375542eaaee79dL,0x4e4667216999d399L } },
  43475. /* 39 << 294 */
  43476. { { 0x1bca97aa9d3c6b9eL,0xb4bb4f95095cb250L,0x4f2c216a996fb52aL,
  43477. 0xc4d01916f379790cL,0x510882a4359df53dL,0x6457d76a671d6a8fL },
  43478. { 0x0ded2623061f7d64L,0x3cb4f38f1ce7dcf2L,0x0d86313a224ffa88L,
  43479. 0xba8a15012b99aeb3L,0x2fb92183d69f72b5L,0xd3b9d6daf1fdb8f0L } },
  43480. /* 40 << 294 */
  43481. { { 0x5d573a3a0b6320aaL,0xf9ac8ccf289b6700L,0x8bad05cd8f28dd72L,
  43482. 0xe2eabd446b62c306L,0x60f70353906ef302L,0x147cdd0c367a768eL },
  43483. { 0xea9d871635a9e846L,0xdd71e80aa8684430L,0xa56a5ccd530768a8L,
  43484. 0x59d241270a3e42f6L,0x707cbaf0faa367d1L,0x5419b14f52a0cbd0L } },
  43485. /* 41 << 294 */
  43486. { { 0x625bf4e6d991d842L,0x56b95a56a81daaaeL,0x2101137c9911bdadL,
  43487. 0x1141b0a1bbded1c2L,0x85deb889d1df8d43L,0x51e3e17edac3e376L },
  43488. { 0x5d31639381fb19f8L,0xd1cb634b92eed2c4L,0x72a6ed7b943746dfL,
  43489. 0xd55f55fb22b85e00L,0x255b025804193aabL,0xd0b94c5d86a78c96L } },
  43490. /* 42 << 294 */
  43491. { { 0x121c15d859c3556aL,0xabe25c21864380dfL,0x2de101832627f78cL,
  43492. 0x19988e4b4bcf4a0cL,0x4ed3aad8a2f9cb52L,0x50f8cef5b2b257e1L },
  43493. { 0xab0b000c49f7f596L,0x6cb997471fb9c471L,0x331974b95fefb8f4L,
  43494. 0x57cf97578e2e0e5cL,0xa82a8d06174a626cL,0x40ef371b03e80567L } },
  43495. /* 43 << 294 */
  43496. { { 0xfea713e1324cbab8L,0x738885e61897e7baL,0x8234ed08126aaa13L,
  43497. 0x4f66467661ed1548L,0x61fdc2aa172c432bL,0x78eade7c9ebf0a29L },
  43498. { 0xd50ae7156aa104a9L,0x977d7a605536df98L,0x024014bdc9eb983cL,
  43499. 0x75d53c0585e21649L,0xc181d67098404cffL,0xe00f5f5dfdb3f05aL } },
  43500. /* 44 << 294 */
  43501. { { 0x3cfe2987d10542b1L,0x5935e0dc29f5b006L,0xce5932d6d83344f2L,
  43502. 0x67aab7ad9800a6d5L,0x3ef2b0e765073619L,0xc381a99454aa9ccaL },
  43503. { 0xbf069577d4011571L,0x33b70c5d4d1ce997L,0x801ba41c758c9b1bL,
  43504. 0x6c2dd5ec36968958L,0x31820ca087921665L,0x0b7f0d337ca55668L } },
  43505. /* 45 << 294 */
  43506. { { 0x0b099a5afce6c55fL,0x91d1caca408dd628L,0x42a5181165449db1L,
  43507. 0x540935b040715d49L,0x8feabc5433b00823L,0x7107c06240c2485fL },
  43508. { 0x13f307ac4fea64e4L,0xae4ec4a713a04327L,0x8297be380eff71f5L,
  43509. 0x3434286f1ecd0b2eL,0x4d7a5456a3e9d625L,0x657f950b6a0d04e2L } },
  43510. /* 46 << 294 */
  43511. { { 0x2237f78ecebadb15L,0xa1184339da01f9e2L,0x542c3354ef37abd1L,
  43512. 0xbec90883de982d70L,0xbacdbb9c457d3024L,0xf1d167c19840ea52L },
  43513. { 0x9ed827d8433bd3cdL,0xf4e5b4231102fdf3L,0x2038c92fb63d6056L,
  43514. 0x490cb0188eb9ae35L,0x776331b87c75ffc8L,0xafbe7c6a3fe2e400L } },
  43515. /* 47 << 294 */
  43516. { { 0xf668460c9176a02dL,0xa843a70011d322a2L,0x6424f0e8a8c5d1c8L,
  43517. 0x0b45a1ab1bc440e5L,0x3b740cb11c3e391cL,0x5aaa89c4d5850e1bL },
  43518. { 0x77739ee6d632c592L,0x171fd350fffe373cL,0x6a648fcdbd7e83beL,
  43519. 0xd98650c6b619f4d5L,0xa4e4ae5438dea07cL,0x10001f5afe0bf5c1L } },
  43520. /* 48 << 294 */
  43521. { { 0x31cb896b57dfc732L,0xc6b74a1edc323e91L,0xd24a41d0f11b04f6L,
  43522. 0xb609a26dab8f7159L,0x96d84b372adbec34L,0x154f5307d24ae7f6L },
  43523. { 0x36dd3243e10eb34cL,0x055d3b714f6dbbd3L,0x30b1efde36d0c561L,
  43524. 0x3846925ce9bffd15L,0xaf401286aa99ba07L,0x3a191267fd48b839L } },
  43525. /* 49 << 294 */
  43526. { { 0x67145f18e42a26cfL,0x580857fa491122d7L,0xa4e2db8dd03b5071L,
  43527. 0x47a39a0d3e379882L,0xb6bfe4b35970766dL,0xe40f4daea8bce767L },
  43528. { 0x38f199a7e812a217L,0x1407f98d97eec7caL,0x25d6f750236a41a0L,
  43529. 0x644327340e811ee6L,0x84d5d9c9dddd6e5cL,0xc1b6ef13c44cae4eL } },
  43530. /* 50 << 294 */
  43531. { { 0x79879d4f6714e8daL,0xce409617a17abd07L,0x6f2b14d008a6e685L,
  43532. 0x817d467409b5e150L,0xa1181873eb51b966L,0x573ba855da6b9544L },
  43533. { 0x836ec3e5c4a37013L,0xb8da1bbe93fded69L,0xdb5bb6f16edff4c1L,
  43534. 0xff30b837f1657d36L,0xa20cf000223270b9L,0x29d60562d44a57cfL } },
  43535. /* 51 << 294 */
  43536. { { 0x0d6f36b9b98b029dL,0xc4cd72d07a371233L,0x23bd419e4f95cd4cL,
  43537. 0x2c95b0a2b80d1e13L,0x0f76e62f7edfbef1L,0xd077194dd303a470L },
  43538. { 0xd6e20e7cd1b50934L,0xf4201fca2dfeb806L,0xa57dc150bced28faL,
  43539. 0xa84d621be3172301L,0x119768fe9aa14d6dL,0x34f1ae864b363253L } },
  43540. /* 52 << 294 */
  43541. { { 0x2fc83aa3afabd13dL,0x521b745f53c45a27L,0xc6f345a660c18225L,
  43542. 0x9609076eb5faa47aL,0x8bdd97fd535388fbL,0x8f5f3bd6e7fd7e87L },
  43543. { 0x6de4454c1c8e1d5aL,0x8d61ca3b2b35e823L,0x93b66fce4672d30eL,
  43544. 0xcb9d601721d09ec5L,0xef98137fb1de06eaL,0x45e212758b051877L } },
  43545. /* 53 << 294 */
  43546. { { 0x117b89e9ee6e35f7L,0x2ad205aadd203ed9L,0x3f6c950c0689bd4dL,
  43547. 0xaba1e4b342f20742L,0x67464b793e22f0d1L,0x74436dfdbe0ad6c1L },
  43548. { 0xc4a6e964c1470ac7L,0x853ad39b361da35bL,0x261c6fd6a187a6abL,
  43549. 0x08d7e89d59fb860eL,0x158e2697e8f88299L,0xf3f1f6f34b04a8ecL } },
  43550. /* 54 << 294 */
  43551. { { 0xbdfb8d006b562705L,0x76dbc217ed9f2aaeL,0x62f713778cfd02ddL,
  43552. 0xa05eed177a5d27e1L,0x60082379a006983aL,0x312af914bf7c2c05L },
  43553. { 0x7d163fe76c8500fdL,0x722a35299d4d0dbcL,0x9b4c5c3539f93a78L,
  43554. 0xb193734c34c7ec06L,0x457db178cda87a84L,0x088dae087f816e0cL } },
  43555. /* 55 << 294 */
  43556. { { 0x746e73055896ac5dL,0x1d8326c21a7b69f1L,0x695197743132a40dL,
  43557. 0x3899f8a03f58720fL,0x2c3070a5df0b7fb2L,0x49bc59f2acb839e3L },
  43558. { 0xf7d5d3f66b8f5a9aL,0x704ed893a4c3b570L,0xbafde26cab591c03L,
  43559. 0xc447dac83388a62bL,0xda80991d4416acfeL,0x1625c9151e729d69L } },
  43560. /* 56 << 294 */
  43561. { { 0x3104e59e6b843647L,0x4eccb42720bad138L,0xa575b8e150efd6a9L,
  43562. 0x68a6b7055a6e4729L,0x670306798f5b2a22L,0xb2cfcf81df9253bfL },
  43563. { 0x9c3eeb19b8f81c39L,0x082ca86c986b4dfeL,0x1f64eca250250d8eL,
  43564. 0xbf26bcfb67f0c713L,0xbc5d0e2a49b609cdL,0x175acb34e6aa3c76L } },
  43565. /* 57 << 294 */
  43566. { { 0x5237d7368c53aae2L,0x2a88098bbdbc0b10L,0x18f1af11cec6db6bL,
  43567. 0x12c23392c4e08b3bL,0x23b652bf3eab43f3L,0xb79feb949f3dca0dL },
  43568. { 0xb71e311d2b24e0d9L,0x85e48aede37a0f90L,0x93e8a0e753200b6dL,
  43569. 0x5d44b87226bf3a30L,0x466c31d1d0496b98L,0xabec12f7dd39874fL } },
  43570. /* 58 << 294 */
  43571. { { 0x58bc23928ca41326L,0x0744ba8524aa5067L,0x900e7e9baaf80bb2L,
  43572. 0x510bd122aff38fe1L,0xf90dd6a1002b277bL,0x829379dc81bf7df2L },
  43573. { 0x5443b8736372d502L,0x124c2abab5b6f9a2L,0x88b237a4d6020c14L,
  43574. 0x3542215108f7a498L,0x39e84240e6234eb1L,0x43d721dfcc5827eaL } },
  43575. /* 59 << 294 */
  43576. { { 0x43e7597234658dcbL,0xed936b96bdf3a7caL,0x74acb7f60f1923abL,
  43577. 0x6a52b28cc007995bL,0x5abf2909a560fbf4L,0x79d571dd256bf1a8L },
  43578. { 0xa8d51082e4c3281dL,0xc0d6f8aa0b9fdd38L,0xd589f2c57ac30640L,
  43579. 0x6abb8faf07635c58L,0x2af1b083d7520b0dL,0x18b9f6c893b951fdL } },
  43580. /* 60 << 294 */
  43581. { { 0x32e678b4c1ba956bL,0x9e8b137248f32982L,0x9b380a118a8f262aL,
  43582. 0x5c2d6ce0807f6d1aL,0xe99c2e909f1b3fa2L,0x6a0c9e4a7c4bb836L },
  43583. { 0x30d80329ee8dac83L,0xabcf7b76b60bd5fbL,0xc589a0c8c14d56d4L,
  43584. 0x9e40af665de24d43L,0x932f4070230f8331L,0x96bba1c19b87948dL } },
  43585. /* 61 << 294 */
  43586. { { 0x8b83af0c4efaae9aL,0x25e55686770c85cdL,0x0beda54fede0c999L,
  43587. 0x6c5749398d249a2eL,0x520ac2ba2f476146L,0x162e482de95b05acL },
  43588. { 0x2d3d19b6c73a32daL,0x945e5e3c33fd2c48L,0x361d9770a36b4ee8L,
  43589. 0x8aed760d014cacb3L,0xae66e5de5ae302c7L,0xb5fd5959b5d4d6a4L } },
  43590. /* 62 << 294 */
  43591. { { 0x25df58ff147da470L,0x1b3941ec3f4e3e98L,0x7543b1227aee3587L,
  43592. 0xb7bc2b31b4a28218L,0x8628b5400bb3224fL,0xe3e7644d373222e6L },
  43593. { 0xb4e3269299244dc9L,0xe72c679d49781bcdL,0x894d9eb0bb6f0700L,
  43594. 0x4a08cdbc443c3639L,0x52c4d04e5baeb02cL,0x53f550ffb5f93552L } },
  43595. /* 63 << 294 */
  43596. { { 0x2b908f693c1f524fL,0x59fd6ae7090970ceL,0x595e15721eb9ec29L,
  43597. 0xa55adbd6fbc4f04cL,0x575a2344bcc38bf8L,0x89397944f2b659b7L },
  43598. { 0xc77532a18c87fe8bL,0xa5a75677de4c9eefL,0x2e3d873a0e4a1704L,
  43599. 0xe18ff4fcc4d02aa1L,0xd842074275573a79L,0x0fcb532115296dcbL } },
  43600. /* 64 << 294 */
  43601. { { 0xbcc88422c2ec3731L,0x78a3e4d410dc4ec2L,0x745da1ef2571d6b1L,
  43602. 0xf01c2921739a956eL,0xeffd8065e4bffc16L,0x6efe62a1f36fe72cL },
  43603. { 0xf49e90d20f4629a4L,0xadd1dcc78ce646f4L,0xcb78b583b7240d91L,
  43604. 0x2e1a7c3c03f8387fL,0x16566c223200f2d9L,0x2361b14baaf80a84L } },
  43605. /* 0 << 301 */
  43606. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  43607. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  43608. /* 1 << 301 */
  43609. { { 0x7a1a522b246dc690L,0xb563cbe14b61ab70L,0x41bb4abe3d4ac4abL,
  43610. 0xc52950b337f996e8L,0x01d991e679727761L,0x35de93bd978fd7d2L },
  43611. { 0x86bad5e65706d336L,0x10844155e7f26c20L,0x58ffeb7705757453L,
  43612. 0xbb1861293939df77L,0xbfdd394a6a78ea0fL,0x907ff0546e33e1d3L } },
  43613. /* 2 << 301 */
  43614. { { 0xa7f295320df93b34L,0x855934f25c14df30L,0xd2f54ce9efae348cL,
  43615. 0x5acb931cac52758dL,0x287b3e18d22961a4L,0x42a5516d748f8fe1L },
  43616. { 0x1b62b341877224caL,0xaff58db3d30a4aa7L,0xbad78dadbe8da847L,
  43617. 0x85fa710954f18276L,0xe2cc9d287c4bfdadL,0xbb131f762c75f237L } },
  43618. /* 3 << 301 */
  43619. { { 0xcdcdd7d703844670L,0x79ec59afb4a23f91L,0x5923c569c00ce5c3L,
  43620. 0x099c17ffc589d0c7L,0x0335eeea89fa6fe6L,0x916bcacaa4e868c4L },
  43621. { 0xb7037325fb687bd5L,0x57d6bca79853b564L,0xdf3132efd5e26d28L,
  43622. 0x7ed994b8de919cbeL,0x12df67cd6fbbb18dL,0x516e07c06baff508L } },
  43623. /* 4 << 301 */
  43624. { { 0xf2ec9ef597e833e4L,0x97bdef9734ec7e41L,0x90e2b2387d2ac6e3L,
  43625. 0xcf682b120318a3b7L,0x7fe76089ea84a7a0L,0x85c489f916546d05L },
  43626. { 0xf987118f6abdda05L,0x675cf998aa4b95fcL,0x544c7774888a7e8cL,
  43627. 0xbd2647ba63ec5831L,0xb479cea3fd2fe985L,0xa042134528d163e8L } },
  43628. /* 5 << 301 */
  43629. { { 0xd93506a4e5947c6fL,0x4340d76a39b81d08L,0x741aee5917930d30L,
  43630. 0xfea3d99a18fdb81cL,0x1088ff6b289bcb07L,0xc6b45602b7c082c6L },
  43631. { 0x50e2baab453d8d69L,0xda9bf561e893e183L,0x0af25f86b29a284dL,
  43632. 0x0e92e67473e01380L,0xe173a0e32be00e59L,0x402d2f3dada8954aL } },
  43633. /* 6 << 301 */
  43634. { { 0xca9cb3890399721dL,0x03ad9f4aa3291479L,0xd85b5df56dee003dL,
  43635. 0xe1fa7b0264a4f83aL,0x01c4cbfdb73f7324L,0x707010d45cf2ddf4L },
  43636. { 0x3c6df430b12e02f8L,0x921a290185531489L,0x302fc77c91d1022cL,
  43637. 0xc3733ec0342d8f3fL,0xb83bc75f6195a665L,0x4a14b9e7a79f8027L } },
  43638. /* 7 << 301 */
  43639. { { 0x9f0e5428e2a57359L,0xc690a3c714998c16L,0xd73c3ca2de37e07eL,
  43640. 0x2ddf91b8dba0bc0dL,0x69d834b27570ae71L,0x2ac8bed4735195a6L },
  43641. { 0xcd8c51ff3b1fcc5cL,0x7aa8cf4e1ba6863fL,0xebb69e72ae70f428L,
  43642. 0xa29409dfaa9e936dL,0x43f6ee805a332b9bL,0x0de49efac2eab0a9L } },
  43643. /* 8 << 301 */
  43644. { { 0x04baa1762310333eL,0xdc75e35f7b9bad46L,0xc4a6031dc6cd6108L,
  43645. 0xba2534d030bf87a5L,0x7ebc6e2131e497ccL,0x8a2a82b4851fd665L },
  43646. { 0x9ecae0116d5faf40L,0xfa3a6d7f96956ecbL,0x39e8a9c22fa52782L,
  43647. 0x74c93801236d442eL,0x8b21ba23b1c289ceL,0x7f3e221b25c769cfL } },
  43648. /* 9 << 301 */
  43649. { { 0xed800e4d08aa4dfdL,0xf524b107d8105bc7L,0x8c4addc9ab07fc03L,
  43650. 0x2b0f038d26a71b4cL,0x5055c471a83d19a7L,0xc6c5ecba27e20a5bL },
  43651. { 0xdbad26b7aaeaa017L,0x4e3abc20d2493554L,0x626310143a0c15bfL,
  43652. 0xbafcc06798cec55cL,0x9204e17ce6f87607L,0x8f1c10eed9302c05L } },
  43653. /* 10 << 301 */
  43654. { { 0x53680ce08afe59b9L,0x36a3cec75665022dL,0xb3a5091654490b50L,
  43655. 0x803d383f0838f0aeL,0x65531a008005ba2eL,0xb7fa6b4a1241a17dL },
  43656. { 0x9aaec449b17e07bcL,0x19b7d9113d190dd0L,0x79da42457fa5e7feL,
  43657. 0x725bd045598ad850L,0x49f96cc45f94ee82L,0x114bbcbf03850eefL } },
  43658. /* 11 << 301 */
  43659. { { 0xf566a287d43a6db8L,0xffb8944b2aeb120cL,0x3e7099427e294c1aL,
  43660. 0xce122b126c31214eL,0xe59b280c2a21282dL,0x03916e2ba01a4fc6L },
  43661. { 0x56e65da29f5e409cL,0x374d3dfe7f5c3e11L,0x150684fc13967e2cL,
  43662. 0xfbed4f5bdf4bc38eL,0x5973c67182e54b82L,0xcd36c873363f307bL } },
  43663. /* 12 << 301 */
  43664. { { 0xcb42c5617c3805d4L,0x0e74e75c3b43a8b3L,0xfd58f864369f579dL,
  43665. 0xf471aa774a3dfe97L,0x2e0dbb51ab37bd2fL,0xc4704487729c887bL },
  43666. { 0xcb7958a9cff32948L,0x3e36de368505e71fL,0x2232fd2dd38ccfbfL,
  43667. 0x6f3c502042005175L,0xd1280a3e306fb63bL,0xef7abd792e368ee9L } },
  43668. /* 13 << 301 */
  43669. { { 0x29c5712d56ffcac3L,0x20307670e1a8e0eeL,0x676a23c26356aea0L,
  43670. 0xb9c17e3f432f15d5L,0x0008512e287c5705L,0x6ae2704bc5f7ccfeL },
  43671. { 0x6a200db709a13b60L,0x24fb1e9241043271L,0x2e455e9741b766a2L,
  43672. 0xa11ff26fbe056684L,0x3cfb8a64ad9178ceL,0x5786978d5d675b79L } },
  43673. /* 14 << 301 */
  43674. { { 0xf4cf2c8e6070a72cL,0x0bd73aecabc3251cL,0x1af44eff17539f67L,
  43675. 0xec3ee99e44e8d8f7L,0xba698f6a279afdf7L,0xe871accfb771d4a1L },
  43676. { 0xbf92963d8bb0f264L,0x817b1fcfb10716bdL,0xf57580786b23076dL,
  43677. 0x994ff3c535a994cdL,0x05d984e82604847eL,0xd728e292fc9f2e43L } },
  43678. /* 15 << 301 */
  43679. { { 0xa44bf023b900b696L,0x1f82fe54037bb770L,0xa6d12f820717e747L,
  43680. 0xf154ac51e3b83029L,0xfbd343128cf3984dL,0x7f734beaa76c72c2L },
  43681. { 0x05c5b443114548b9L,0x4ce414f396af4132L,0x1474c0b79d080a7aL,
  43682. 0x865827c6497366a3L,0x34760c457816a0a8L,0x6da2474c15d2a176L } },
  43683. /* 16 << 301 */
  43684. { { 0x761e10e2ca114c4aL,0xe39d121d894301b3L,0xa0870ff43dbc6fcaL,
  43685. 0x97651286cbe0ba8aL,0x47d46075c0f1ff6aL,0x18669c843abeb5b6L },
  43686. { 0x1234c80ead8d9309L,0x1ccbe4d51f6f97ffL,0x399a2d41d82ab780L,
  43687. 0x8a03afafde426e50L,0xa2bcb109ca6dde77L,0x840e13b00618f5ecL } },
  43688. /* 17 << 301 */
  43689. { { 0x9552a8184929f7eaL,0x514e9ce9acc61766L,0x03159a525a219015L,
  43690. 0x5efeebfa14eace54L,0xe8a3736f853da94dL,0x3a0f334ff45e8a32L },
  43691. { 0x71ebab39c9dc65c9L,0x6ef37f49d7c24f39L,0xde3d45f8b24a9383L,
  43692. 0x7193bbb80c218869L,0xa1bdfd30c0f7b6beL,0x82b2c4c5c1d9206aL } },
  43693. /* 18 << 301 */
  43694. { { 0xf9d9b678b197099fL,0xfa8548c4c15b2bbeL,0xa36f17fbdd2817beL,
  43695. 0xb35597021732d1edL,0xba145100744f3955L,0x7c274633344b43a3L },
  43696. { 0x9b0ee7c8686b65a5L,0x438eaf4823f0e973L,0x79a658a7288c5019L,
  43697. 0xf6d938c546d04413L,0xe39bf9a6a6cb9853L,0x880d5b83801b70ddL } },
  43698. /* 19 << 301 */
  43699. { { 0x8f23f00303825482L,0xc4a9f214a6b35023L,0xf0905573794e7de0L,
  43700. 0x7ff790144dd68979L,0x8d9c14942959beffL,0xdb34474f82282e48L },
  43701. { 0x423bdfa281fde794L,0xfc31e3e792a8810bL,0x19d316ba8bae4eceL,
  43702. 0xddcf30b7159c1386L,0x997968a38e7d69dfL,0xcf67ae9aa6b21be0L } },
  43703. /* 20 << 301 */
  43704. { { 0x877866a3697b4dd0L,0x32a872f4e76481aeL,0x300387bad609cc04L,
  43705. 0xc761ae79d74566d4L,0x9fd3e5bff22e2d24L,0x363ef5bf1c46bc0dL },
  43706. { 0x121b25bce299a690L,0x7932471dc2d32b7eL,0x7f89692e94bb4272L,
  43707. 0xaf9cc4111a3ce076L,0xaf02ea22ea02e452L,0x43154e581d19dc60L } },
  43708. /* 21 << 301 */
  43709. { { 0xd9389e05e25dbe97L,0x3a8689b162b3afe3L,0x4d5556467014953bL,
  43710. 0xd6894c42af5ba9bcL,0x4b233690b3bacaa6L,0x0fc8ad07fc191181L },
  43711. { 0xcd3a1e4df0764f39L,0x18a47233d79567f1L,0xf0f9eb765f921f79L,
  43712. 0x7f3d814d19d12a7fL,0x5e48cc36ff33a995L,0x9589679b8960331eL } },
  43713. /* 22 << 301 */
  43714. { { 0xa2ff78bb477d7226L,0x3216fcc085e04a8bL,0x7c594f81e4c3c24aL,
  43715. 0x075eefaa029d6ef6L,0x5ae51000493ab006L,0xcdfcc6939ab165efL },
  43716. { 0x50b7eee276073bfaL,0xee52d55b3b60cdb4L,0xc7f7b3af45027275L,
  43717. 0x01d5444ac15b2ecbL,0xdf56f8c12a61d1e1L,0xcf032e7e4992e1bcL } },
  43718. /* 23 << 301 */
  43719. { { 0xc8a4dfbf15b6d8d5L,0xcb34e0e4e87ff88dL,0x6dc95befa6ebbff6L,
  43720. 0x2a55ca1372ff2cc0L,0x3c4c0f3c6a62588fL,0xa8de444ece156917L },
  43721. { 0xced7c4523e55eba1L,0xa109b7949f05820eL,0xa021717e0e6c318dL,
  43722. 0xa0156b8d0b308f5bL,0x3c65ab9daa6634baL,0x1666e650e2839e0eL } },
  43723. /* 24 << 301 */
  43724. { { 0x0d27500f9ebe3c40L,0xeb9ac1022b700fcfL,0xee7578f8610763e3L,
  43725. 0x6e56078f47ef08feL,0xa8d03a7f047d04c0L,0x2143606f27cc8aa3L },
  43726. { 0x6b08eb383b004721L,0x1f505c0dc4e36bb6L,0x6f9b869ae3f10ba9L,
  43727. 0x3bfb9833e500e846L,0x6d975557b9171b1aL,0x7af9cf4f18fa0045L } },
  43728. /* 25 << 301 */
  43729. { { 0x35bfb51b3b35836dL,0xc834e59003b0fba6L,0xbe6e17d378937ce0L,
  43730. 0x2f796f7c4daa9aa8L,0xd7896a0ad310eba9L,0xda258ab05ea4056aL },
  43731. { 0x2d872d2170626628L,0xc9b26d7c2ee433f0L,0xb176220ee72f7491L,
  43732. 0x4869adcd895e9b52L,0xd37540e4d3a6d786L,0x024aff303a86b44bL } },
  43733. /* 26 << 301 */
  43734. { { 0x5e78606bd8424b90L,0xc83a5af9ebc9c9fdL,0x8d5b63740b65ada7L,
  43735. 0x4d01d6a221fca70fL,0x8ed7787ba1838061L,0x29901318f4a1716eL },
  43736. { 0xc4d260527f25fd2dL,0xa66dc0a98b5147e0L,0x4355e26c269d726fL,
  43737. 0x1284fecce3a27644L,0xc9aa6cf7f98e1d0aL,0xa25ac1be3ff560c9L } },
  43738. /* 27 << 301 */
  43739. { { 0x5bbb87ded64d103eL,0xcb53a2f24d20fb37L,0xf8a9c2993a46b892L,
  43740. 0xb552910ca793aa9dL,0xd09e5bea51ef0806L,0xb57a0568e0c3817fL },
  43741. { 0x9ca67c5f4e85598fL,0x04f6361fb0336008L,0xf028231b580afa5aL,
  43742. 0x8d938c0ef2bba03cL,0xa5984c1f894f37d3L,0x62ead7f4af695ac5L } },
  43743. /* 28 << 301 */
  43744. { { 0xf897de9213a48775L,0x505e21681b0041bbL,0x9f5533aad598ebb7L,
  43745. 0xd552ae1e1e87b2fbL,0xbb35a6319b736f5aL,0x391ce7dcc3a4c54aL },
  43746. { 0x4c677d87f90124d6L,0x2ceebe51a9292210L,0x8882ae3133c63951L,
  43747. 0x8222c6482d44c9d0L,0xb97511420d607658L,0x3a999028b85f5997L } },
  43748. /* 29 << 301 */
  43749. { { 0x7b23f424eabb3f68L,0xa622a3ba4294750eL,0xb382b118e535b446L,
  43750. 0x7dbab9ee5fab292cL,0xcfabbfb037fe2f8eL,0x2283d7606670925bL },
  43751. { 0xd18e90715be9d07fL,0xe191daa7d257745dL,0x86d59808df915e35L,
  43752. 0x87f68d5987370b6bL,0x76b9d255f945ac1eL,0xdcf9e8f2dc94ddbdL } },
  43753. /* 30 << 301 */
  43754. { { 0x004f1db65b986506L,0x5da683c32b0d22acL,0xf2afd1d85ee0c71aL,
  43755. 0x3b99a78a8f2ad25bL,0x8145d2ffd1c0cb69L,0x4511dc4e4009a536L },
  43756. { 0x5539e8b8a5cb0c13L,0x4f8fd0186aae4603L,0x15dde4476d2365f3L,
  43757. 0x7cb887f7380df270L,0x815343a6a741b88aL,0x81a085e4bf99e7e1L } },
  43758. /* 31 << 301 */
  43759. { { 0x37d0460fd647fbd6L,0x2ccc7b01b9541f89L,0xec0e8826877a1b2fL,
  43760. 0x54d9e611cd462979L,0x016e8458453dcce6L,0x99b5dbed20ea6a24L },
  43761. { 0x64072ec778550386L,0x279fbd9959d02307L,0x7f2ca27e9183bfebL,
  43762. 0xa191d6e8bb5132f5L,0x2b9f6163ba49ee68L,0x5a58a11fa3ee1672L } },
  43763. /* 32 << 301 */
  43764. { { 0x15d47e52ec645a62L,0xabe0ddb38d6d4423L,0x51226a3070cddb11L,
  43765. 0x63a253d32b5a8db7L,0xe8be4d1fbef37d65L,0x41e625d9c0920b91L },
  43766. { 0x08b713a8d9d040ecL,0x467fb08dc450cdbaL,0xa8975877917ee393L,
  43767. 0x294792e91528cd12L,0x4512dc8c37daf6aaL,0xa83becc9197a99b9L } },
  43768. /* 33 << 301 */
  43769. { { 0x1b7bfdb118815b20L,0x1aa602e8629b81b9L,0x11e6df9d199aa5abL,
  43770. 0x1a521728bef9296aL,0xeba3e03b89e127e7L,0x6e69893553dffcf2L },
  43771. { 0x24355785101615e1L,0x126b4c5282e42593L,0xe344ddd85c23144bL,
  43772. 0xc73a49b3746c0ca2L,0x1ec2432be6f63f9bL,0x6080ba870243120bL } },
  43773. /* 34 << 301 */
  43774. { { 0x6ab2936a4c3e946aL,0x8de2e0ae3ab052f0L,0xcaf8c35eea109739L,
  43775. 0x21d69383032418c8L,0xefab535ae7ee60faL,0x1a3a1be794b44fabL },
  43776. { 0x0842aaa5eb911cbbL,0x789c2b7e0286862dL,0x8bff708715c0b148L,
  43777. 0x71100d79d8d7faf7L,0x47caa89a6dfa0c8fL,0x82385cf44b546332L } },
  43778. /* 35 << 301 */
  43779. { { 0x4f5d8c35e4b814fbL,0xe534b7be6a427f92L,0x468fb2819ca1d37aL,
  43780. 0x8c1c86347949961cL,0xf9d00305db0f7f19L,0x77534b3a976f7102L },
  43781. { 0x94ecb7933f530710L,0x072f6fc7a916827aL,0x9247acdecc926f8eL,
  43782. 0x0d4a8997281d0a50L,0x659712669f353507L,0xd4730a15fde80a6bL } },
  43783. /* 36 << 301 */
  43784. { { 0xde68ca25bd37b630L,0xcfa9d32ca899d623L,0xaaeab905937c9ba8L,
  43785. 0xcb261334348ed39dL,0x8d12531fc77e1512L,0xfb7934b6213b63d1L },
  43786. { 0xc6a6fb0096a13f19L,0xe940f3aac8f88d6aL,0x014c7f95c3d2829dL,
  43787. 0xc33d87e9fff01f41L,0xbf9c3c23c5cdcb4bL,0x8b8c0afe5d5be5c1L } },
  43788. /* 37 << 301 */
  43789. { { 0xe4f84bf12aac2c23L,0x5bde1744f823f90fL,0x65ffefbc02d5bbe2L,
  43790. 0x385aff9332a3b756L,0x3813f2b362abfdacL,0xbbb444cb0a144325L },
  43791. { 0x0cf9d137ec625be1L,0x86b8fcd4c143816bL,0x03f7a9d060ac32d8L,
  43792. 0x0428daf9366165b6L,0x6ef94260d2a806d0L,0x94a100a598134bb5L } },
  43793. /* 38 << 301 */
  43794. { { 0x4b68325ca4a34cb5L,0x74f41f7639fada89L,0x34bf397236e593e7L,
  43795. 0x0cc75d461c6179c4L,0xe62d5ba577d711e5L,0x7bec1be7876964c7L },
  43796. { 0x768f35d13809fc73L,0xfe55a9a57dcf1703L,0x86405336e69d3390L,
  43797. 0x68f5ea2d00bfc544L,0xd4cf822b4834b2d8L,0x77dc1ac22b0d3ad6L } },
  43798. /* 39 << 301 */
  43799. { { 0x45603dfa0337f57aL,0x50623184344b6968L,0x3fb9957ef160d9aaL,
  43800. 0x40eef1697c8db44fL,0xa8f394e98bf71121L,0xa55ecf3b86a920f5L },
  43801. { 0x1f3c1f22bb0822e6L,0xb3c2f21357747a3eL,0xfbdb4465bef56f08L,
  43802. 0xa9844890a46ac73fL,0x3fd564a5bde3652aL,0x008cc1a97c653c82L } },
  43803. /* 40 << 301 */
  43804. { { 0xcfebe027ca0a98d5L,0x946b0d9aa8914697L,0x00f89d16725ebd08L,
  43805. 0x94c6f2b07a584e8dL,0x095ac9cc911cab58L,0xfc9c3b499c4073c8L },
  43806. { 0x265919b0c7233aa8L,0xe6c0c7f474be5217L,0x6db597f1815a70a9L,
  43807. 0xdd9e4a101c5fd35aL,0x38b8e35112d52a8bL,0x5d0ed83f2ef20fabL } },
  43808. /* 41 << 301 */
  43809. { { 0x4f47e10a6c96b43eL,0xe406ab39f3d744deL,0x1caf45d83c893b01L,
  43810. 0x4f089452a7582ea6L,0xc02f58cd62b5a868L,0xf6532017c2a9aa7bL },
  43811. { 0xf0d8bf6f32b01bf2L,0xfeec5f68a97246f3L,0xb2ead70a1aa7c238L,
  43812. 0x1a1d6f77ad83e05aL,0x4b7110533dca7e9aL,0x44a89fb85f96e5adL } },
  43813. /* 42 << 301 */
  43814. { { 0x86a7ebe0f02461f3L,0x6a7a9cc6862282c9L,0x7f8857944a97e48bL,
  43815. 0x191244cd20662db2L,0x8d85175183489311L,0xfbcb17b0f934c1fdL },
  43816. { 0x33b4d86e032a7bb3L,0xa99864cb573f5c28L,0x49fe8e799c4f12cbL,
  43817. 0xe34c32e32c8bb49cL,0x5888421e962d6d9bL,0xa317c2d1bf1be44dL } },
  43818. /* 43 << 301 */
  43819. { { 0x3454c424cc1dcbbfL,0x67e61434aac98717L,0xfecd8125cc2d3044L,
  43820. 0x2032be70df7f8891L,0x04c5a0c81028059cL,0x6563dc8c76ade6b7L },
  43821. { 0x9ff3815192f460aeL,0x8c2c3c632d54785dL,0x1fa99d8e43eabf60L,
  43822. 0xd75d9559383be317L,0xc9ef068e3dfc908eL,0x2217c8c1959d3e6cL } },
  43823. /* 44 << 301 */
  43824. { { 0x5828d71bf2e5f345L,0x8b756075929fe375L,0xca625ec12c43a6d1L,
  43825. 0x08cd01f53b31e127L,0x56c622619cfc1be2L,0x093ea207b3a6caeaL },
  43826. { 0xdf53b20970b42dc9L,0x2d2dfdf2235f4aa0L,0xcaac3b3598786c94L,
  43827. 0x1ce1f893b4998150L,0x40341c41526a98bdL,0xef39e97eedce5288L } },
  43828. /* 45 << 301 */
  43829. { { 0x08cd60d461ea4256L,0x8031748b9461f861L,0x9c96e1f9019c7908L,
  43830. 0x7e6e08f4e46bcf7dL,0x8e8408f123ffa986L,0x0bee857ed467288bL },
  43831. { 0x702fa8536e36fcceL,0x3bb25fa905a89edeL,0x642105f4e96866ceL,
  43832. 0x6a5207cc16e37536L,0xcb6a96d1372a3e06L,0xb1c7c85a1da6bc6dL } },
  43833. /* 46 << 301 */
  43834. { { 0x0bb97497a97a3316L,0x9416659ce402a800L,0x79656970503a2314L,
  43835. 0x0070a7eef8007c50L,0x8093cd4372624892L,0x4c0ee444f9b96830L },
  43836. { 0xc7c10b9fe300c49bL,0x97f5f90a5f7baf99L,0xf04a5a7cfaa064deL,
  43837. 0xd5b01fa6b0c111fcL,0x4d12d6fb65d8a2b7L,0x807a381c27770e2fL } },
  43838. /* 47 << 301 */
  43839. { { 0xcd1aeeb43b6a9c22L,0x7fbdc6c19d71dcd0L,0x9bb43b6e6221669eL,
  43840. 0x1b76f2bf526f8a00L,0xaeba54302efdf661L,0xe1f623e745537bbdL },
  43841. { 0x340966ae067c5f4aL,0xe2cdb27e4799b2aeL,0x9aeec5989b8458e0L,
  43842. 0x1d0588487655b632L,0xa5ffe5897abd70b1L,0x84db43db6721054eL } },
  43843. /* 48 << 301 */
  43844. { { 0x3b21dc1f538d92d8L,0xc80b22b3c005aa86L,0xf536e5d30da87d65L,
  43845. 0x4ce10edf0cd999a0L,0x8949181450e08f5dL,0x77fd8f2e526647e6L },
  43846. { 0xcb207ee9250099fdL,0x03c7d1abfd6aa078L,0x7d4940d225e0cf15L,
  43847. 0xb688b311067fa052L,0x89308326a98b2e21L,0x3ee4cc2b72311eabL } },
  43848. /* 49 << 301 */
  43849. { { 0xec49fc4e06d255b2L,0xabd0c002fb309d28L,0x97490ff08c601c3cL,
  43850. 0xe17102fd58042cd6L,0x861411f11416ebc3L,0xfb31ce455c6c630cL },
  43851. { 0x0a24d561c6cc5e9bL,0x80bec25c9a7c1524L,0x8003494fbe53e50dL,
  43852. 0xe89b75e28633c559L,0xafb1f6d6763b3360L,0x0e7e58c52bf70cd3L } },
  43853. /* 50 << 301 */
  43854. { { 0x72322d26aab6c9b5L,0x953e43d0070d7d08L,0xe2dd5444954645c3L,
  43855. 0xc5de051cb276ca86L,0x195d454439158c74L,0x26e2cf9fb90a8f97L },
  43856. { 0x774baec15b217a76L,0xdba4bc63f94172baL,0x96ddaa4022e20037L,
  43857. 0xfe1ce4aac111af69L,0x6f6d3c428ad6dacaL,0xe59257d8376cdefeL } },
  43858. /* 51 << 301 */
  43859. { { 0xf2cabe73184d44ecL,0x4bf744d60bb08687L,0x10cb9e9209865d58L,
  43860. 0x3a63fe414ea221e0L,0x8f595e5892961becL,0x1b8ad036855d186cL },
  43861. { 0x75dd5f70086542abL,0x8b357e087bddbb6bL,0x22de89f06e829a06L,
  43862. 0x44ca8b64ecc6cc26L,0xd02fa871a5ddebb6L,0x6adf1d0c6a60a0e3L } },
  43863. /* 52 << 301 */
  43864. { { 0x0102775982e4f5c3L,0xac8eac172c014fc4L,0xa0cd26e85bd843eaL,
  43865. 0x9b0431ec056d4b1fL,0x89df7db58eb9c55bL,0xf17f917298fc9b9eL },
  43866. { 0x2cf1e4a78e6b770fL,0x0d6ef9e2b842fe52L,0x40b4ddb76c578172L,
  43867. 0x6630657627533b9eL,0xf8d8661eb50ce390L,0x6ceba0aa16577df7L } },
  43868. /* 53 << 301 */
  43869. { { 0x6dff66c19ec8ac93L,0x6261295bfdf6fe7dL,0x9ad1536fcf9fbbb2L,
  43870. 0x5cfa30a92a6d6d31L,0xb3bcf1b0296224dcL,0x42e4b410608371daL },
  43871. { 0xd6bad6dac32945fdL,0x0fab7d1dc0c031a1L,0x054df9599b192d32L,
  43872. 0x29830094ea78052fL,0x8d73ffce03f2ce45L,0xc14c7012f9d840ebL } },
  43873. /* 54 << 301 */
  43874. { { 0xdf74522e74ce5c21L,0xf864cbac930c4b92L,0xfe0d2358eb0fbe9cL,
  43875. 0x10b31736a5cf765aL,0x185bbbe96a9c95c6L,0xcb14d694e5362993L },
  43876. { 0x3f5c921da5332e61L,0x0820b32bd244cc98L,0xdaf09f24d7c32062L,
  43877. 0xb2241c9ad5959a1cL,0x16bb89a3226127ddL,0x0b46e3f03723d04dL } },
  43878. /* 55 << 301 */
  43879. { { 0xa38b1a796975230aL,0x25c6db8c3991b5ceL,0x0d89c3fe9c1bf52aL,
  43880. 0xe186e293cd8f9f8cL,0x777bb327e6ec37afL,0xa974132a0ae31c7eL },
  43881. { 0xfb9918305c50f089L,0x4a653d6999497954L,0x5055c690774e8a26L,
  43882. 0xf94ffbae3815d67aL,0x99d74f5e74ea4481L,0x3b352a327d477151L } },
  43883. /* 56 << 301 */
  43884. { { 0x2a62804172fb61e9L,0xa9bfa73ab13d053fL,0x4a2cdaa3c647fcb9L,
  43885. 0xe1a9e91f4952d3a4L,0xbc1b3d8011e2e2c3L,0xe58ef59c18e4340eL },
  43886. { 0xeb8696ff1cf859b8L,0x5b0f5cc4ee918cf4L,0xa471d6ce6c1e905cL,
  43887. 0x4e13d6091ed2e8cbL,0x52951509c77c8c91L,0x0926dad8e234884eL } },
  43888. /* 57 << 301 */
  43889. { { 0xb168a6c36e3aa3d7L,0xbd0086ea5ad9142fL,0xbc4da0293c24fe23L,
  43890. 0x7ed3b34808b90de6L,0x7a7a2259e33b0df9L,0x483b389c9c3a173dL },
  43891. { 0x02080c626334a061L,0x61944965b020cfbeL,0xece528e9ede88ecfL,
  43892. 0xcdf3e2fc99389758L,0xb21470cb7a3fb92fL,0x717cfbe083937e21L } },
  43893. /* 58 << 301 */
  43894. { { 0xfac97f2910e3e93fL,0x1505c7d2f1101b88L,0x7cea978823bc0d11L,
  43895. 0x27ead95d45045667L,0x711bc4dcd17ea199L,0xe3f93fb522f3142dL },
  43896. { 0x31b05e6ad7233d64L,0xac28e6c154e7c9d5L,0x892b6366716d273cL,
  43897. 0x1622230470da8a48L,0xc85bbe6070d560b3L,0x555e6de987fd38a0L } },
  43898. /* 59 << 301 */
  43899. { { 0xac593f746ed50680L,0x89bdeabbcb01cfd3L,0xfa43158ead35524dL,
  43900. 0xb2393726e8d66ca0L,0x248c67c2c36bb495L,0x27d4b0b85c933625L },
  43901. { 0xdbb1364a78c8bb4bL,0xdcf4b1e13486ef0eL,0x554f95cec498b2c9L,
  43902. 0x2b76da29811a2329L,0x750c10271a10d941L,0x07045eae375b01b6L } },
  43903. /* 60 << 301 */
  43904. { { 0xd3fb9bef82621500L,0x09b18748f0f647a6L,0x186bed054c357e73L,
  43905. 0xd58281f0a85f3174L,0xdcf2e0bb91ded0e9L,0xe77faad126894faaL },
  43906. { 0x6843c160bc3a3c4bL,0x7f8058944c76592dL,0xc53be0883ec05e95L,
  43907. 0x318d8ce7cce0c822L,0x6d615f1b4c761dbaL,0x0115824c46ff47e0L } },
  43908. /* 61 << 301 */
  43909. { { 0x1815391cf8d0b74bL,0x903ad8fd797625dfL,0xad1ca24d3983100eL,
  43910. 0x0883fd415572ff15L,0x0e9e572cadeb4e56L,0x800bad6f7d0e25c4L },
  43911. { 0x52a394b44c7e2f03L,0x5150c01398f2c416L,0xf4ab35c68ce503c4L,
  43912. 0xa0ad209a41b4beeeL,0x050c52c80189706fL,0x86780a924049e913L } },
  43913. /* 62 << 301 */
  43914. { { 0xa398529c74ded2a1L,0x5e7248f52d7ea6e5L,0xbeb250bc28c2225aL,
  43915. 0xf7068fc0b40f4843L,0x62098aed839b7290L,0x947087e293ddfec4L },
  43916. { 0x81ba8c8824d71004L,0xa877f443bf4813c2L,0x3cf5f473ca4751bcL,
  43917. 0x2533890e633cc635L,0xb358f7781e6d9465L,0x50693deaa7801dc7L } },
  43918. /* 63 << 301 */
  43919. { { 0xaf306f56cbebedf6L,0xdd733be7837acb84L,0xc767237afcff0b9bL,
  43920. 0xdf948f12e555bee9L,0x86b85657826dc76dL,0xa4bac032e702b1c0L },
  43921. { 0xdf3544bba81bb117L,0x69c20dff34f4f0aaL,0x846b78577050d98dL,
  43922. 0xde0ef0403c70120cL,0x4483872c12c3bd64L,0x870b758550acebacL } },
  43923. /* 64 << 301 */
  43924. { { 0x37be5d3f68d7dfcfL,0x97bdbd49b945e6f2L,0x165a24b59d1569e7L,
  43925. 0x254aaf59b4e293abL,0x3c751fbd6fb7c0a4L,0x14eda4ba5018cb18L },
  43926. { 0xacb3b8971b5f6aedL,0x6d10be441e4b6b78L,0x245d7258621df6d7L,
  43927. 0x2af0e283185f0e2aL,0x1e7edc818fddbd81L,0xbd1e6c72c538d02aL } },
  43928. /* 0 << 308 */
  43929. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  43930. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  43931. /* 1 << 308 */
  43932. { { 0x6858b674844626a2L,0x610cd40f0cbba6a6L,0x324e674e29d9194dL,
  43933. 0x2dc6fdf6dcb30a51L,0x3f3ecb77528aa549L,0x0721f8f923ffaa92L },
  43934. { 0xd8efcbd627a77538L,0xf4e642bfd6162c9cL,0x04f2b0b74cf4a16fL,
  43935. 0xbc0bb49fbbf335fdL,0xc6b6e5bd5a928c36L,0x981b01f4d893dd45L } },
  43936. /* 2 << 308 */
  43937. { { 0xfb083c2af810465bL,0xb66a8de902ce0deeL,0x6e4130e747a81b95L,
  43938. 0xcd704dc658a98737L,0x842ae329592829c9L,0x99bedc34be20dd63L },
  43939. { 0xabee8e55d53b2df4L,0x6ce657586010b37cL,0x781f39b2467112b9L,
  43940. 0x6f06058fbe341038L,0x5effdca512a2f8beL,0xaa9bdad7af34466eL } },
  43941. /* 3 << 308 */
  43942. { { 0x3933b4c1575782aaL,0x610d3ba25c66e501L,0x52fd3c0f0b7e019dL,
  43943. 0x7f8e5ddfa48715d6L,0x0879c5defa39be53L,0xe32c886c56f01cdcL },
  43944. { 0x71b2dcbb1726779cL,0x6caaff052c6aa84cL,0x6af94846640b2d74L,
  43945. 0x78a10710049a2cbeL,0x41a1ce67ac2ab0f1L,0xd160b7faa76d8438L } },
  43946. /* 4 << 308 */
  43947. { { 0xab86639e9c216137L,0x45a12fb882b18d64L,0xb5734418d763f0bbL,
  43948. 0xd2cc332211a9802cL,0xe41d7db881269b8aL,0x91072fc12ecfa355L },
  43949. { 0x59d6912504ce306fL,0x916d9d4da131b86dL,0x84478b6b8a739738L,
  43950. 0xe86ad7d91cc83ae3L,0xbc9b2084797ccd97L,0xc1e94af4694944c6L } },
  43951. /* 5 << 308 */
  43952. { { 0xbbb6725b5c82c857L,0x72c66c3f140b561eL,0xab65dd0664bcb2d5L,
  43953. 0x755e848a780d5c1bL,0x84e6f686a3a61e6eL,0xd84bf486bd100b4bL },
  43954. { 0xb34fdf846354e899L,0xcbc312da55ec5654L,0x3c2cc881f9a125f0L,
  43955. 0xb1fcce564aeadf8eL,0xbdfc54c0c46bf0c2L,0x11d7ea4f09d281beL } },
  43956. /* 6 << 308 */
  43957. { { 0xe1aa844b1601940eL,0xd22221821797e84fL,0x3025aba65ddcb5d1L,
  43958. 0xac8cdaba38009c6aL,0xb9ee07b46e261ee5L,0x84069bc106ab8430L },
  43959. { 0x7a36b46278b9b112L,0x2d91ed2c08e77879L,0xae4ef469341275a1L,
  43960. 0xf7cb393f1c7cf858L,0x83c00eafd192af3dL,0xa81697a7a1e15176L } },
  43961. /* 7 << 308 */
  43962. { { 0x687d0980f9bfd795L,0x9a7539377ad882bcL,0x641407fabbcde5b3L,
  43963. 0x12ec9d216ed103a5L,0xf858c7851fa6ee22L,0x329b61bc818f2c11L },
  43964. { 0x4720d42ad9d48b30L,0x3f61c66082a66766L,0x99aff25533723e4eL,
  43965. 0xd6c67ce3d3260b62L,0x63a6fc9d86391c33L,0xc002433a31de2381L } },
  43966. /* 8 << 308 */
  43967. { { 0x585edee3895c0318L,0x775e142f45e8205bL,0x3bd7924fd85ad31fL,
  43968. 0x2e7d8f919124bffaL,0x885397c044c62868L,0xc0c2dff47fda9f5dL },
  43969. { 0xd302582ec14e693dL,0x53d6e33a6cec31baL,0xb0216b5b63653c06L,
  43970. 0x8f08a1ad9c70dad4L,0xccf014aaffbba93dL,0x900b0d2ca33f12b7L } },
  43971. /* 9 << 308 */
  43972. { { 0x4960ccb6e9824c45L,0x3c5a9b74c7e4cd06L,0x1e78cdfe37cfec62L,
  43973. 0x8cd49ca80da56a05L,0x5ba51217dca05707L,0x0d1f6e459d66c960L },
  43974. { 0x7178089467f9c82bL,0x342e4a5b18974c55L,0x16263f18f9b32fdaL,
  43975. 0x844b5a02935b3636L,0x9c5abd51c139ea58L,0xf54c69428beef953L } },
  43976. /* 10 << 308 */
  43977. { { 0xbe51552d6d2dedd1L,0x6bc86dc1cd997093L,0xc9b600c4418f03b8L,
  43978. 0x4ea4e857e7a9208aL,0x7aac3d96883b639bL,0x4127ed0735d2f4bfL },
  43979. { 0xf5f6310d76bd792aL,0x3da9b6a5fa223d0cL,0xd75f88075a041b79L,
  43980. 0xf3261457e4dd58f6L,0x4f0f5b18b0d9a51bL,0xf5aeedc1b8c84f9fL } },
  43981. /* 11 << 308 */
  43982. { { 0x1e08d6a81375620eL,0xed9a4fbae1f62c24L,0x0d3bb90381ab5de2L,
  43983. 0x885781f0df1b6a13L,0xc3fb9f97e1c7de7eL,0xf12e4bcf9372b033L },
  43984. { 0x9bc3cf4dd5868448L,0x89465649552016adL,0xeea40cf92a8b2c23L,
  43985. 0x57d720ee3af98886L,0x97b14c0b72db853dL,0x65d10f42f23504deL } },
  43986. /* 12 << 308 */
  43987. { { 0x0dd2395e9b8cfa41L,0x50e203abd4f92a44L,0x7280aff16630023bL,
  43988. 0xfcce59dc07de820eL,0xa686be05bc8189adL,0xac4b59bfaac70b7eL },
  43989. { 0xd2c0070e7a3c71acL,0x1d550add35ac1c47L,0xd42b6389fb881c1bL,
  43990. 0x57ca3fccd0dafd42L,0x909e8284be26ccc9L,0x1abe7595a002235cL } },
  43991. /* 13 << 308 */
  43992. { { 0x02562f1c6b1878daL,0x52a2cd069fce0ee6L,0xf25b35bdeb16199aL,
  43993. 0x0320c326a75fb01eL,0x2006d7587de2d46aL,0x6f9d0e256842b459L },
  43994. { 0x70a89562a68b5482L,0x9653726e1ab35865L,0xbda3cebbd8f849adL,
  43995. 0xe2f8d9e60b6fc51dL,0x9c3fd51246104400L,0xbbd260c9bab5d34eL } },
  43996. /* 14 << 308 */
  43997. { { 0x1f5094703cbc1df1L,0x9f752a663f962634L,0x98089d2ca2435048L,
  43998. 0x05256acb0e755318L,0x91a21f707f3845f4L,0x473ac1e0d68c8fcfL },
  43999. { 0x57ee51417f2ff0c9L,0x959a84f32013c48bL,0xe701f13c4c111ee5L,
  44000. 0x70219eee86db5763L,0x385f890cdb0782e5L,0x81fb64b2fea04d2eL } },
  44001. /* 15 << 308 */
  44002. { { 0x61b4bf7eeaa07bd9L,0x49832879afe544c0L,0xf788e97f54eb4d80L,
  44003. 0x78351b41338af327L,0x3a631bba77cb8057L,0xeb9a6f23f218e4ceL },
  44004. { 0xbd4a0dcf025b6453L,0x2aad6a467b876222L,0xaee94361215c42cfL,
  44005. 0xf8d1fd5de496cddeL,0x3c3af08022d0fe06L,0xb3d5dde0d09cc3f7L } },
  44006. /* 16 << 308 */
  44007. { { 0x1e34781aa6a1913dL,0x9a8f32287d0adc38L,0xfc185ccc28af85baL,
  44008. 0xc923d78b3ae9ba11L,0x7d494d7ea7bdb313L,0xf774dfa5af8f8b87L },
  44009. { 0xc178ccc116e863b8L,0x2d472f2aa8899691L,0x608747cc80a50372L,
  44010. 0x8147aa90e6f90197L,0x4683d4c978c2f216L,0x8323652c552f3b51L } },
  44011. /* 17 << 308 */
  44012. { { 0x7d6bff984dc9149fL,0x79879e1f499b443dL,0xf4ec65232aff2a1dL,
  44013. 0x6cf3c97f27253aa1L,0x95b9471eefe6f72cL,0x3959bd816c8457daL },
  44014. { 0xe2870635cf112073L,0x84e44933ec12174fL,0x67a592deedf434edL,
  44015. 0x0c93cdae2897d0e0L,0xe344ecf463c89730L,0x28098b7567a1133fL } },
  44016. /* 18 << 308 */
  44017. { { 0x62e96dc7a12a0cd8L,0x09d7c6f0f02a3d87L,0x9d9fd51233f8929dL,
  44018. 0x1231952dab376555L,0x6ef6823c8e3d2d63L,0x7ad2e5405a01c12fL },
  44019. { 0xd1bfaec479af6fc8L,0x4555fedfdad97daeL,0x0e6d3f0155750bdeL,
  44020. 0xd37ed9f0056f6128L,0xf1fdf91c65fe6ff7L,0x3ece19ae92d05e43L } },
  44021. /* 19 << 308 */
  44022. { { 0x07d2075e750fc5d0L,0xdc2b03f6a07ca45cL,0x0248d87552efef7fL,
  44023. 0x2dfdaf3f744e727eL,0xbef861b8d9b2bcacL,0x5e6363f0baf394c7L },
  44024. { 0xe8f23bbec973934cL,0xb43d619a50ea324dL,0x2bd5e0075842d6cfL,
  44025. 0x5c5af62217646e90L,0x5d95d8fd222ec05eL,0xc9adabb45bd67c31L } },
  44026. /* 20 << 308 */
  44027. { { 0xa5c08e8bcc2c9a2aL,0x70e1b4058baaf0fcL,0xf29e1e5c9e36e50cL,
  44028. 0xa3d9080080f258c5L,0xc9ceac25ecad4498L,0xcb73130fca32f3feL },
  44029. { 0x2dbe620c48b3863dL,0x8c52727f14ff53bfL,0xb60b22a86b45e9b8L,
  44030. 0x81e05bc0f6483c5dL,0x217caa6bcd542972L,0xffab716afa780778L } },
  44031. /* 21 << 308 */
  44032. { { 0xaef1278b0ba5a344L,0x253be7ad2d0c3947L,0xce58bf0fe5408f09L,
  44033. 0x867b0d6fe21228f4L,0x815abb5dca61e691L,0x0da28f58f3e94434L },
  44034. { 0x5b0fd178ca4cee2bL,0x8989604240b13224L,0x8e2fe19616c251a7L,
  44035. 0x7b3381cb11b17162L,0xc73d96a427ef2c0dL,0x76b7fcf36899c135L } },
  44036. /* 22 << 308 */
  44037. { { 0xcaee3387cad8b585L,0x58446c1ad59d8777L,0xb8755fa540888d8cL,
  44038. 0x7868510654428813L,0x7bd21629136e2b59L,0x249903a6998254a3L },
  44039. { 0x2cc73a751f8fd813L,0x4b1a64576d4f3a70L,0xea2aa620b2e7a0fbL,
  44040. 0x77c8cb98202f6ddcL,0x68ba9d261e3851cfL,0x936fe8cbfe02e6efL } },
  44041. /* 23 << 308 */
  44042. { { 0x8b84121bda75aba3L,0x4440272d74602c33L,0xb8110b2a1e8a8ab0L,
  44043. 0x4de462e9391cf47dL,0x9173d756519b9ab4L,0x3df52d13ba8d5dc7L },
  44044. { 0xd7a822eaa418b01fL,0x58be2b076585f7d8L,0xaa814fde00fb449fL,
  44045. 0x6b8260fc7da43c5dL,0xaecbfb442351ba9cL,0x9cbe3d199f8db60aL } },
  44046. /* 24 << 308 */
  44047. { { 0xe5d3e0d80d7410d6L,0xcfa9ed742be432c9L,0x60044434a85a0686L,
  44048. 0x93b357166ad6918aL,0x1a3c3e6d051762beL,0x80813589b0ab32d6L },
  44049. { 0x64214b92aad403fdL,0x684befc14d3fb746L,0xaca5a51479515046L,
  44050. 0xacdba03472e84485L,0x61aa2834287d9e97L,0x07a515a5cad222e7L } },
  44051. /* 25 << 308 */
  44052. { { 0x8f631b17bc04e9c5L,0x017527212c515161L,0x4358d8e9ee7769a5L,
  44053. 0x18f0aed0b59dba1bL,0x035c6bb644973218L,0xa49a4cbcfb3897e6L },
  44054. { 0xd2a0b7505841ab18L,0x8fe952dca6d2d43dL,0x2d30add69a71d0ecL,
  44055. 0x0cb84c402c5d440aL,0x33f3cf7c7c47846bL,0x88703c65bc8e8b3dL } },
  44056. /* 26 << 308 */
  44057. { { 0x3c3db9419474059cL,0xcfbf13ad72820ae8L,0x3f84300c51c37d62L,
  44058. 0x0f78adc45529d333L,0xa19be46482e34cfcL,0x9ed07ee011c98376L },
  44059. { 0x5113e660b5b6f6beL,0x56f2d2b37a5bc818L,0xd99290c61c2c822cL,
  44060. 0x39c026b8b27aafceL,0x8692150b12ef7c76L,0xa55426d1c6de9e16L } },
  44061. /* 27 << 308 */
  44062. { { 0x889aa8ee3465358fL,0x5885ee29afbefa70L,0x05f9dbd290b6ff58L,
  44063. 0xc74be0d09b5e02afL,0x4b7da27ea6b29d44L,0x2ad60aefcf68eeddL },
  44064. { 0x2ba942b3388c81c5L,0xda8badcc368e2e62L,0x33e95ac87a9e8511L,
  44065. 0x37453bbae72008b3L,0x3e1f181195eceea0L,0x719f550c7b19a417L } },
  44066. /* 28 << 308 */
  44067. { { 0xb03093068af19670L,0xd784125a34c6bf0fL,0x0b425ee0255a8396L,
  44068. 0x91076433fb541162L,0xc4d8188586f47a0eL,0x3b767d54fd7bc7c1L },
  44069. { 0x98b405d3bee196e9L,0x4ef9c511edaccf4aL,0x5a6deb6503f4f1a6L,
  44070. 0x4a22ca641b4c5104L,0x2cce36679145ce41L,0xd05187523206810dL } },
  44071. /* 29 << 308 */
  44072. { { 0xa5746e07f7e11342L,0xb50e390f2e2ddca0L,0x3847749bcb288bc2L,
  44073. 0x6ff43ec646ee679bL,0x343b3fe2c5257b02L,0xc0f57f509b823eb7L },
  44074. { 0x5ce3d2c8aff42c7dL,0x984c9b99c3c76f3fL,0xc8559f58b8823b92L,
  44075. 0x883ac8064ce4338cL,0xecf8aac3389d8ebbL,0x9edaec10b40bfb16L } },
  44076. /* 30 << 308 */
  44077. { { 0x0ed8a07cafb04e5eL,0x7e95ed898f6bc911L,0x6a4ed37113dcc222L,
  44078. 0x9aa3a43296f07c7dL,0xe819a80b9b338e4dL,0x65fc2778278f53b5L },
  44079. { 0x788408e9024163b3L,0x159de8bb7de54f06L,0xc953e21281239dccL,
  44080. 0xacb5ea2c6dd62ce9L,0xf56ac93b753f4ab3L,0x2a1a09b5eacc39a6L } },
  44081. /* 31 << 308 */
  44082. { { 0x89dcbf021c5f4cb9L,0xc0fbe7ce210f98ffL,0x3dc3c743b897cdf2L,
  44083. 0x931f9dbb5d02c43fL,0x0ea9f164f74db981L,0x504938874af9f53aL },
  44084. { 0x86bd3ed62531b8aaL,0xcc1fb6dddcfca2a3L,0x24b0cbf2b97abaa9L,
  44085. 0xd81ad35c9073f19eL,0x4dde5dc05db7fd5cL,0xce410880e3ac9b63L } },
  44086. /* 32 << 308 */
  44087. { { 0x29d81538037bebadL,0x76e52c73d9e0b78cL,0xaa4ace6e8783d1fdL,
  44088. 0x9c14ebddf0e3c126L,0x0eb1c08d6eca4b71L,0xd10c6b961c91df35L },
  44089. { 0xdb8119bbe81bb84aL,0xf784d3c117e3ceefL,0x053c916835436f81L,
  44090. 0xeb41ccbb9b18d212L,0x93b3fb43b1bc3497L,0xd85a7c758c1ced81L } },
  44091. /* 33 << 308 */
  44092. { { 0x90b606b2fc9958e6L,0xd39965b6f94234b9L,0xf4a86f1676f4dd03L,
  44093. 0xd6a7ba54470f0f7aL,0xa1b85c0ca86fce7fL,0x2b50f14e574c4cfdL },
  44094. { 0x4aff867d80e783bcL,0x031092eb61f78fc4L,0x8ad0d7486fe0af1fL,
  44095. 0xb56b1a1a0cdfa574L,0x586c916a56466e12L,0x427e5946d09a9d1bL } },
  44096. /* 34 << 308 */
  44097. { { 0xdd0e3ca276d1b2e5L,0x07dea7e48b4cb3a6L,0x62a63cc7fc4a0f0aL,
  44098. 0x048478ef5ea2eccfL,0xa77eae472e34c1a9L,0x7a2120751bfa5dc6L },
  44099. { 0x0c1fbbecabc233ffL,0x6255fd91dee18d7fL,0xd6da39aec38462ebL,
  44100. 0xd86bc3194be435f9L,0x23567d64291c606fL,0x6b85038af67051adL } },
  44101. /* 35 << 308 */
  44102. { { 0xbe79e1b1eef4ae7cL,0xa45668dc42fb7357L,0xcdb3b3ee2d497a36L,
  44103. 0x6ef724e6c5f8d861L,0x7e8834523802a324L,0x641b3a81aba90442L },
  44104. { 0x13bec555ae4c2544L,0x340d34f927d172ceL,0xfcfd933bd92f558cL,
  44105. 0x57d8e300d5a669bdL,0x9f745ce71883049bL,0x19690a31e261f9ceL } },
  44106. /* 36 << 308 */
  44107. { { 0x004105c3811af84aL,0x01307934a7934a0fL,0x179fd49b9b3226a1L,
  44108. 0x195d9e5cde6834b4L,0xfbb79dc00e6051bdL,0x354273ed367f4487L },
  44109. { 0x4afa9d4574fb892dL,0x03ae905ea1b7f3bbL,0xea32cd5d592f6122L,
  44110. 0xa758eed2f1103301L,0x9dde4238c59d1cc8L,0xe2760bcc51022a42L } },
  44111. /* 37 << 308 */
  44112. { { 0xfed7077b7a7134a8L,0xe65b4eaefe0cf05aL,0x130de76be626841bL,
  44113. 0x499934ca300117fcL,0xce74885d4e186b5cL,0xd352d0d2029bee7bL },
  44114. { 0xd86c448c857a38ecL,0x8139eb50a956da9eL,0xa036de4a93ce7131L,
  44115. 0x3f9eba375041c9d4L,0x8c24408e548f74fbL,0xa74053fde942bf8fL } },
  44116. /* 38 << 308 */
  44117. { { 0x64cb00f586ff10acL,0xd1eebc4c9cbba8d8L,0x427fad8af3157125L,
  44118. 0x9f8eb84cf7523b0bL,0xbdd082bf2e6dc29cL,0xfe40623823d3c315L },
  44119. { 0xad5df7fb546d9dd4L,0x83cadc4b8e42f3c7L,0x7c90502c36876485L,
  44120. 0x4f33eccda35bb6d2L,0xdf7571383a79b9baL,0xd250b7d2e6ddafaaL } },
  44121. /* 39 << 308 */
  44122. { { 0xa52a7595504417a1L,0x540f70b014683af9L,0x5f0d1560f27a9620L,
  44123. 0xccad06444b2147c9L,0x92223275e52c8eccL,0x30d6b52b7cfedb7bL },
  44124. { 0x2161f8bb9bb5b844L,0x075b9db87033586cL,0x5748d512c8c5189aL,
  44125. 0x95d76a950f0aab91L,0x91f85aaed0ce9c56L,0xeab8cd9b8434e695L } },
  44126. /* 40 << 308 */
  44127. { { 0x54f84d70d377d7b0L,0xb745d1903344bc4eL,0x1c693ed08f33aa53L,
  44128. 0x990ed45f8bfbee7fL,0xad620c9fe9b258fbL,0x465ccb101a54bf46L },
  44129. { 0x5330a0d3ebc40951L,0x34423e8ca405da61L,0xeef1ce78b83043b6L,
  44130. 0x99678f22ac06d182L,0x9213f57d1802f14cL,0xf8549616adf11fdaL } },
  44131. /* 41 << 308 */
  44132. { { 0xc6ca95476c66fa6eL,0xcae41345bdd5b16dL,0xd72a41a4ef022783L,
  44133. 0x810f4615b2d5154aL,0xfddc469e6d333af9L,0x3154ccbb02d2bf38L },
  44134. { 0xb33d5c59fc1a0bdfL,0xd8c3f8743c971fb3L,0x5e47ec01114e68b2L,
  44135. 0xa440a83fe9baa164L,0x353d01c397c26b35L,0xfaabf5dff03b7672L } },
  44136. /* 42 << 308 */
  44137. { { 0xdc2a97651e22de2eL,0x91eef436b6cd3b6dL,0xff099200f99ac721L,
  44138. 0x20faacfed4f89e8aL,0x91bb24373fcfe45cL,0xb7a152897b6d3ff6L },
  44139. { 0xfee966c0ef94332aL,0x944728473c81b942L,0x831d36dfab1a553fL,
  44140. 0x244bc8393023cca1L,0x3f4a49d57e7be940L,0x4159aa9d7b71c0e0L } },
  44141. /* 43 << 308 */
  44142. { { 0xfc25fcab5b16ee64L,0x44f807e06841acd2L,0x5f43cfedf59c3f06L,
  44143. 0x9279c8110c5b59a7L,0x825df117194b80beL,0xe2c18880d27d6fa7L },
  44144. { 0xc9aab2e66a333721L,0x1665b6f55b034c1cL,0xf28fffd13df9796cL,
  44145. 0x23caca87bbefb8a2L,0xfc556d575f7510f0L,0x41990ce8552dafd0L } },
  44146. /* 44 << 308 */
  44147. { { 0xf31796d2b6e392e1L,0x199d624893b3395eL,0xef14c7c212f9b763L,
  44148. 0x721ebf2143edb7a5L,0xa40b88945e96f3baL,0x8770608c4cff8394L },
  44149. { 0x990c99ae8d0def0eL,0x292b26dfa15a5649L,0xa98fda2c91ca89d7L,
  44150. 0x916cb1b4973e5f5fL,0xa2823f13a72de0bbL,0x415f7bd28cd3219dL } },
  44151. /* 45 << 308 */
  44152. { { 0x5cfde16a9fc0e90fL,0x61bda4caac6c15d3L,0x5935e48e2a79d928L,
  44153. 0x31213c7c82f986eaL,0x170dc539bcc4c0dfL,0x2e0d29406f11823cL },
  44154. { 0xd2dbecac80fe659eL,0x98b7f46b8399d8b8L,0x259f975abb204589L,
  44155. 0x65f3073cd5c52a46L,0x0f4c007805dc7fc4L,0x16c49d403031a8ffL } },
  44156. /* 46 << 308 */
  44157. { { 0x95705b15359816d5L,0xce0c4379d0641ed7L,0xb3f0d8321e8a448eL,
  44158. 0x8bea060873e2d711L,0x5a85fb2f6a040c03L,0x7c19a2185bcebd4aL },
  44159. { 0x2b10a87aa31cffddL,0x4fc728fa9a5814a2L,0xedabb0dc63bdd2ceL,
  44160. 0xdb90173f96bdaa40L,0x543c4f01527ff659L,0x5dbff7ad0a33b251L } },
  44161. /* 47 << 308 */
  44162. { { 0xeef30ea55e636f5dL,0x8df2d4040bccc4ddL,0x8b0d6f35ef1afe9fL,
  44163. 0xbd288e6ef8f86f6aL,0xbc68817ebda45411L,0x8a6f50070faf9e7bL },
  44164. { 0x6158c57a53d4050cL,0x6d5a3af165b2252cL,0x10f62839f450886aL,
  44165. 0x8b9ac19b1df85080L,0xc160c1567553ed58L,0x2195ab29cb449cd9L } },
  44166. /* 48 << 308 */
  44167. { { 0x521f4af73ed03d5fL,0xe3461f66eaf9064cL,0xad099ab7ae03777fL,
  44168. 0x541cadcdb65f73ffL,0x53430463a86059b9L,0x8ff88fe5043e9f82L },
  44169. { 0xd515f4c7e42cde45L,0xf7f3dec3f41c3269L,0x7bed53567ef1b8ffL,
  44170. 0x8782b45f1295b5feL,0xab54ebaa03917627L,0x8516beb28787ed9fL } },
  44171. /* 49 << 308 */
  44172. { { 0x24b2b95b113940daL,0x8c24d8d3f9c6e6d1L,0x7c584170eddaaf29L,
  44173. 0x249267171efd01aeL,0x692cf8f40cd0f2d5L,0x0bf82e142f960244L },
  44174. { 0x6dbcb6162dabe927L,0x76d826d20aa1eed3L,0xe4492fb3be98af99L,
  44175. 0xd4f27cbea50dd711L,0xb7796efe2d8085daL,0xf2d42519ec4e8ec2L } },
  44176. /* 50 << 308 */
  44177. { { 0x3fbaf46dccc3c261L,0x773c240c1b646e80L,0x151a711f363b6a5bL,
  44178. 0x3c8680b1c53b5b59L,0x8ee6795f9fb234b6L,0xab7840aa2f673211L },
  44179. { 0x0a1a0ff3224a8184L,0xcab87319c71bb575L,0x7a9e9daa8125668fL,
  44180. 0xdc607b016c4cff5bL,0xa54cb4c792e5c760L,0x977e4c93d99e4655L } },
  44181. /* 51 << 308 */
  44182. { { 0x87d4ff71ebe95680L,0xa2093915e5adaac7L,0xd5bbbdade32f5d9aL,
  44183. 0x5d61056cf328a4e1L,0x61fcdb0f353f565bL,0xb7b8ba004efab5caL },
  44184. { 0xb5bbcfa410f05eabL,0x483ae9221f09a105L,0x17d94ca44bbf4753L,
  44185. 0xf734a8cdbbdc9a94L,0xc7f01a4244e81e2dL,0x60c3e777b3ba8033L } },
  44186. /* 52 << 308 */
  44187. { { 0xba7df5a965b68624L,0x30b4d6ed6e7d58bbL,0x67e52341dbb81762L,
  44188. 0xd697ab1b0deeac1dL,0x01d15e8e5577ea92L,0xbb12d72498fb38daL },
  44189. { 0x302faa6d4e04908dL,0x66cf6cb909b90a9cL,0xcd665dbd98d96736L,
  44190. 0xf7d3c528b86f3af4L,0x4844c7541d8b07f4L,0x2a77d7b91eaf7dc0L } },
  44191. /* 53 << 308 */
  44192. { { 0x8a36c9b57fceaa87L,0x5110912b553c7ad3L,0x4aa51166d5eca67cL,
  44193. 0x05740dcf07a5eb58L,0xeaafb3e3396857a4L,0x1ae9571bba8d62d9L },
  44194. { 0x2736975500272434L,0x2c74325c59872fbbL,0xd1d8291709dda11aL,
  44195. 0x2a5334eb4683e8a1L,0x22cdd088e3481df0L,0xab1c5f5b4fddc546L } },
  44196. /* 54 << 308 */
  44197. { { 0x1966aa0515f46174L,0x495901bd2a074050L,0xda5b0cdebba902baL,
  44198. 0xc47c518a684325bfL,0xa5df133ec4d9d6d9L,0x3771f465fbf7d31aL },
  44199. { 0x0a73718c02b05d1aL,0x1107cd45534237a2L,0x582cfd2980f5d897L,
  44200. 0xf51a0a88dab0269eL,0xfdea51cfea1a22faL,0x3c9a0d247a13a324L } },
  44201. /* 55 << 308 */
  44202. { { 0xcc330f58c42f1ce6L,0x8e1fb7df534efc38L,0x2a37208f5fa5a01fL,
  44203. 0xc06d8447369bdbb6L,0x0b1ea5161a3e36e7L,0xfb4a48366ff9abbeL },
  44204. { 0x5989c2d524419909L,0xdeaa6136f1d5b1caL,0xac6003b04ba760f1L,
  44205. 0x3a6d5422059081beL,0x96c7fa9df797e22dL,0x67c2f77fa9f3addcL } },
  44206. /* 56 << 308 */
  44207. { { 0x53e59f251d70eb73L,0x8aed17afe69d0525L,0x26ddc17864413768L,
  44208. 0xa7c8d40f5e48c349L,0x29ad92d187ff01fbL,0x8f4e1b3b965b2de1L },
  44209. { 0xb83cfadf1446eca2L,0x7432bda4e609d416L,0xcf97e8a3f1c7de69L,
  44210. 0x45899bd832f55f07L,0x41a6811751175738L,0x89eeb115b8efff21L } },
  44211. /* 57 << 308 */
  44212. { { 0x9dcda4f3723fc25eL,0x710de79fb5d954deL,0x095ffbf1f0b7d129L,
  44213. 0x419a2a5e32651179L,0x7b249135827d4268L,0x9dccc98d909fbfb4L },
  44214. { 0xcb4b0cb016554ab5L,0xb2fc635f6d84b255L,0xa7f8f3f553512b87L,
  44215. 0xc72633f300ec778bL,0x4e07d91a4f1841a9L,0x2a1adbbdcb4f478cL } },
  44216. /* 58 << 308 */
  44217. { { 0xe31333093bb794fdL,0x34c68bac33b3be44L,0x953fa2c412172b7aL,
  44218. 0xa9afc12d4fdde6ffL,0x30b5302ae9c7804cL,0x4a1746c702119e68L },
  44219. { 0xc4d0c7d323e2ec51L,0xbc821f217143d613L,0x8f41251a673e203dL,
  44220. 0xfa32c06aac2ca4c3L,0xf4343f2799a7c431L,0x8f7d489e6b96d959L } },
  44221. /* 59 << 308 */
  44222. { { 0x183311763f6278f9L,0x4fcc5b653593cdd5L,0xb09b5880e643f83dL,
  44223. 0x0f130a3d2c78466eL,0x926d7c3d2b1c1ebcL,0x7217f875662ed4ecL },
  44224. { 0x2d3be028d81cdad3L,0xb2a04e3507a38019L,0x8da8cddfc9a3097eL,
  44225. 0xbaa67f60ddb20228L,0x698fc1c407f04de8L,0x6f0e1d6d7e86db6dL } },
  44226. /* 60 << 308 */
  44227. { { 0x54a01e60936c3ebaL,0xf326fe96ec01b12cL,0xcdfaf00366e4de2eL,
  44228. 0xc53dba07392fd0a8L,0x00d9b80f6ec46004L,0x84d59be83ba63f8dL },
  44229. { 0xbac4ea439dea6062L,0xb4b4845badd568caL,0xa6ca3d34d225e2d0L,
  44230. 0xce72955db50070a2L,0x56e5c91321c78b68L,0x888eb198999488a3L } },
  44231. /* 61 << 308 */
  44232. { { 0x65bead3c1c2de335L,0x0ecdc057b18a6778L,0x821b836983e57ea8L,
  44233. 0x84c80b574a5c11dcL,0x0b6432822ac9ad27L,0x8e09a7f344fe943fL },
  44234. { 0xe510f47daa92dc94L,0x8bb0b5cc6a1666a3L,0x55315bcc24645380L,
  44235. 0xe3acbed113dcf7a1L,0xff99c90e3c9a1610L,0xfbe9aa1bc326e1f5L } },
  44236. /* 62 << 308 */
  44237. { { 0x5040bea56827b6e3L,0x1049e004d935eb24L,0xa15f9a07ba9bde68L,
  44238. 0xda430c55e6087e70L,0x30ed69af8e84b7c8L,0x8498514eac9d6a72L },
  44239. { 0x69c783d64cb27e79L,0xe55d31a09647a572L,0x0479e8b2fbfb82e8L,
  44240. 0x3e845922b52f08c0L,0x252f755f0dbca622L,0x6219778389ddfee8L } },
  44241. /* 63 << 308 */
  44242. { { 0x175264893ca1461fL,0x54c432f92b6476bfL,0x0e0be36a530795f9L,
  44243. 0xb9896dacca583429L,0xe4af98239d4e6085L,0xa38b7c4b4a7422ddL },
  44244. { 0x74643ef47163e421L,0x74c28314895ee61aL,0x637c79c20d62b657L,
  44245. 0xb232ec619bf2b3afL,0x27bdbfb4b2d5992eL,0xcc6e424c49afb181L } },
  44246. /* 64 << 308 */
  44247. { { 0x5255508c11c92f34L,0x9a346cf3a294d382L,0xd9765eea3095205bL,
  44248. 0xfea2ed702c470ef7L,0xf5e8a0fc9c40bf0aL,0xb572390ee4137a16L },
  44249. { 0xb91753712bf2f545L,0x2c2d0f4c58cd9cc7L,0xbea6bce902385486L,
  44250. 0x46208408a8bc3a94L,0x64a87a2a3ac45044L,0xe40da33c7df70151L } },
  44251. /* 0 << 315 */
  44252. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  44253. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  44254. /* 1 << 315 */
  44255. { { 0xee9e25d939161b8aL,0x8763f2a2e2eead91L,0xd2fc1157d2d91300L,
  44256. 0xe7597e2fffcbe50fL,0x4be3814fe11d376eL,0x1eab3d7edbf14562L },
  44257. { 0x38a107c0c0ad183aL,0x829766267c753bbfL,0x18014e09caebd481L,
  44258. 0xb28c331bf9ace60dL,0xe8fba04f211cb8e7L,0x41c4b797e42dc65eL } },
  44259. /* 2 << 315 */
  44260. { { 0x009dc2f4c3e88580L,0x4a405be899db1fb5L,0xc89bfaa2ec5d91feL,
  44261. 0x461be9a0f160afcbL,0xfdd084bb7d7566b5L,0x795275e8e48099a2L },
  44262. { 0x1b461fc9fe9815dbL,0x576214cd73627bbcL,0x3246332d9f09a206L,
  44263. 0xbde4c0c36941d6efL,0x44ef03fdf387f5f6L,0x99c8ac0157b63400L } },
  44264. /* 3 << 315 */
  44265. { { 0xaa512f202f6e4301L,0xef668a5fbf94a1ccL,0x08713c3015861b88L,
  44266. 0x49d47551c99bb2b6L,0x6db5f812e2f0258eL,0x70c9b299998d7435L },
  44267. { 0x46168e1c5d176ae0L,0xec3306e4f730ec30L,0x49439df3ab69c15dL,
  44268. 0x1040408bea0143e4L,0xb48ab8eabc549b0aL,0x4aa38bbf10f89223L } },
  44269. /* 4 << 315 */
  44270. { { 0x7e4851599598f49aL,0xbdac3d5e9629305bL,0x20de0dafa6fbabfbL,
  44271. 0x04f015838f09fff7L,0x5a0562976a06994fL,0xf51dac8f6e3ccd33L },
  44272. { 0xc087ef9c3af507b8L,0x525ab76e6a5c6663L,0x4fc04814d916ee93L,
  44273. 0x3369c978d23d140bL,0xb0fcd70f1662028fL,0x2ca77de2e1e28adbL } },
  44274. /* 5 << 315 */
  44275. { { 0x838acd1bc512bc71L,0xac06d6bddc18afd0L,0xc991c1e39ec45f4bL,
  44276. 0x667c5e89cc27c68eL,0x0e059b04ed07f829L,0xceccf1d4cec4b3a7L },
  44277. { 0x3d9c2dc9b953f9a1L,0x4be2f7e72d599b16L,0x1a2054b197256c26L,
  44278. 0xcf66fa478b4fdfebL,0x896cc1b38134d7efL,0xa17264cad41dadbcL } },
  44279. /* 6 << 315 */
  44280. { { 0xe3ccfe8e37627e56L,0x00733a867b6b21a6L,0x3f13e2cbb605c427L,
  44281. 0x5ee12395b0d80992L,0x4dcaea94b9991381L,0x4cfed7ee8c4c4b6eL },
  44282. { 0xd7aad54b7f7f45dfL,0x2229407fb3809bf8L,0x6eb31eee68048fd9L,
  44283. 0x693842dfd57225fcL,0x3e62cd85a88dfd3fL,0xc6307d53d5462cf1L } },
  44284. /* 7 << 315 */
  44285. { { 0x2d15615ef344f5fdL,0xe0ba6a8aa7f23989L,0xbbfc58041c84e3f2L,
  44286. 0x22ffeaae6f4ba826L,0x1e9bf27494292682L,0xc768f89146c02af9L },
  44287. { 0x894127d6177cdafaL,0x8d0523da2acdc791L,0x71ada9aedc78c3c4L,
  44288. 0xf21dbbb92c532a01L,0x0c797d5eacb20fdaL,0x1ff99d7616cf57b0L } },
  44289. /* 8 << 315 */
  44290. { { 0x99b5f150493c1d64L,0x3422b656fb74075eL,0xe7493900ff19bf24L,
  44291. 0xc82e5b80260925edL,0x3398d340c0ea1eafL,0xe7de2ba11287121eL },
  44292. { 0xea6dfb0b87847031L,0x73bed0a1566af2f2L,0xe26678bf12012999L,
  44293. 0xb5369e4d32e5cebcL,0x2304eac86d181e32L,0xafdbd9543d364addL } },
  44294. /* 9 << 315 */
  44295. { { 0x5b1a53ca75da4189L,0xa90485802eb4862bL,0x319424092783ad6aL,
  44296. 0x15a4c5e11a9e025eL,0x841bc53313837199L,0x6e9d3e14e642954aL },
  44297. { 0xf4a02bbdd436ec5cL,0x62fe177bc6d6ad53L,0xedbf1e4eac86425aL,
  44298. 0xff9359c8d9f752f5L,0x79c685d92d7ad656L,0x8d82c0c4fdde9052L } },
  44299. /* 10 << 315 */
  44300. { { 0xf55f868e702f640dL,0xe459aa9b1dedda11L,0xbec0ff9bbb5ba193L,
  44301. 0xf7325c4957724703L,0x5ab8f06323e0e4fbL,0xfbf02e91ecb0fd7cL },
  44302. { 0xcc72e8daa2e5fa31L,0x47de252832cb53cfL,0xbfa646e64252763cL,
  44303. 0x7a769efeb8d81de3L,0xf5ec70031e772f00L,0x049bea9a2729aa5eL } },
  44304. /* 11 << 315 */
  44305. { { 0xe987ba54759090d6L,0x904d6901619ef08bL,0x9e16d1382024a6fcL,
  44306. 0xb6f0459ba9f3b7e4L,0x1f2a530817ee069aL,0x99403b2e2be31049L },
  44307. { 0xba1663c6bfb2f288L,0xf829195cc7a92b41L,0x89b915ee8ae621b1L,
  44308. 0x3fbbb1e150f8ea92L,0xb1fe7f978c901ddcL,0x16d1f62cbbc69ca4L } },
  44309. /* 12 << 315 */
  44310. { { 0x51f19bb3fda072dbL,0xa815459fe3f7e0a2L,0x5f7cde2f987112caL,
  44311. 0xdc51d948759de2cbL,0x9d05c410ed49bd98L,0xf063ab99364341fdL },
  44312. { 0xd7869d68d1aa0a11L,0xc20291065d862d01L,0x7f258180c2591073L,
  44313. 0x7b90fc7a6ebc4ebcL,0x5565390f3dda1d68L,0xae77fca8a44e4493L } },
  44314. /* 13 << 315 */
  44315. { { 0x97564e4847c49ee8L,0xc56bb5a9ab4ebef5L,0x80d969417b4f86bcL,
  44316. 0xa594b4e541026cf0L,0xd56c89965a89ece9L,0xbcf609316a0f922bL },
  44317. { 0x702596161103475cL,0xb1224fb58a2a2abbL,0x0a437a03715cd61bL,
  44318. 0xcbe2d2b2739921edL,0xf3b1b5e9385541c4L,0x5d0984f4ae010520L } },
  44319. /* 14 << 315 */
  44320. { { 0xb4a2742dcfd9295eL,0x9cd36774ae929cd0L,0xb15fadccdd7fcf4fL,
  44321. 0x0b1fa2b337d4fcc6L,0x242c7b26f01c7ab7L,0x2be8131b50574cc9L },
  44322. { 0x6ee50f42bd89a03cL,0xc7f6ff8f005e7765L,0x04d13af18420501bL,
  44323. 0xc22e092b1b6e7d2aL,0xa393be7ee9516f80L,0xa2593652b80bb5b5L } },
  44324. /* 15 << 315 */
  44325. { { 0x5caa5da68b23bebbL,0xa1ad33e81fdbbdf4L,0x18dc93cf4e5c1de0L,
  44326. 0xc3e6addb5bd9e178L,0xf30d517e7cb8cd03L,0xbb84ce54f1abc417L },
  44327. { 0x0774b64c67699659L,0x228005b9b7d4a401L,0xd8c2ec5b80b2d3d2L,
  44328. 0x419c4cd93450ba7fL,0x520ae681789286a6L,0x24b67ea9aa8bcfbbL } },
  44329. /* 16 << 315 */
  44330. { { 0x9e41b9b70f74808fL,0x2d835dae0c061bdbL,0x67e50c8cf272346cL,
  44331. 0xc98a5ef5def57493L,0xc2dea8afa02676fcL,0x59508de26ace4659L },
  44332. { 0xc2b707aada6cd733L,0x6c1f226a4be7bfb9L,0x5b580fa2a778c20bL,
  44333. 0x272c3a1d57af166bL,0xe47a64a9ca78ce62L,0xd12db7d771d35087L } },
  44334. /* 17 << 315 */
  44335. { { 0x6a37ac5a2ada7e64L,0x664594de04e35dbdL,0x3a82f748ffdbf300L,
  44336. 0x4525ddf155975f5dL,0xcfe5a76bbdf2035fL,0x1693a99f0fcbda84L },
  44337. { 0x5bdb76856a297cdeL,0xdb9ad0cef1d1009aL,0x9e9dae1caf902a00L,
  44338. 0x7e36f79f271a0a50L,0x688a0f41a2a2f652L,0x33d2178613722e40L } },
  44339. /* 18 << 315 */
  44340. { { 0x2f4abaff356f4ca1L,0xa2e419422d13be2bL,0x58d72e2f3d7db731L,
  44341. 0xafc2f505cd455649L,0x8a0794cd1583705cL,0x4a43066288ffe8e7L },
  44342. { 0x2c0c031d135c8e7cL,0x8ecd9ed76b371b41L,0x17cc1ad9563843eaL,
  44343. 0x9603987cfc6b810fL,0x6e291ed7f0d9498dL,0x8c69ae62e1a4058dL } },
  44344. /* 19 << 315 */
  44345. { { 0x934666dd40680b5aL,0x37a9c6ac91e762f6L,0xa0a10533e4d26e7eL,
  44346. 0xd811d558ade18237L,0x6e2918ed411b121fL,0xbd9352b93c24a52eL },
  44347. { 0xe31569ccb811ec4fL,0x3b5b977553f7d097L,0xa0d9ebfd7198e959L,
  44348. 0x63e10ab13f0a942cL,0x65b8b87f8ea55897L,0x935ea3c129aa0212L } },
  44349. /* 20 << 315 */
  44350. { { 0xe14dd3708ba8a3dfL,0x49c1fc3750a645b6L,0x3f0db6a32252ff87L,
  44351. 0xea2ac3c4a34ad040L,0x97a37936decf9f0fL,0x810f02326f7f92ffL },
  44352. { 0xd96c2641184e9c88L,0x08c4cd333d5ab12eL,0xa938d8c3eda80fdfL,
  44353. 0xf2dded68bfccc054L,0x4b3da61ede36ac9cL,0x2c266df8347ef904L } },
  44354. /* 21 << 315 */
  44355. { { 0x4653cbfbe3443739L,0x53ea14dd8dd85382L,0x2f6d0513f26ba2fbL,
  44356. 0x374d9bee51269be1L,0xf976cdb243f1f612L,0x68b47bf7b5f171b8L },
  44357. { 0x726e93dc7095f377L,0xe6f18c57b59fcfb8L,0xffb56a4023d9eb60L,
  44358. 0x678c9508447caf79L,0x4cec83e459740ce0L,0x820ab7eff4d7d58cL } },
  44359. /* 22 << 315 */
  44360. { { 0x88eac51c8e376fe4L,0x096e70c49ef465b6L,0xb35265852004969eL,
  44361. 0xbd581669d29cc63dL,0x88094298745b6919L,0x317e386c12e7d67fL },
  44362. { 0x33848bb2e3d6f4daL,0xbace887f2a0ca785L,0x83b32feb197e67a7L,
  44363. 0x2b58535ade9c851bL,0x3e428b19c38beaa9L,0x784aa3d174f26de1L } },
  44364. /* 23 << 315 */
  44365. { { 0x10c5f1e5b292efd6L,0x47d92b88ddc96103L,0xc8743717e5e802e0L,
  44366. 0x47781ba8008dbb2dL,0x7abcd3acf02360fdL,0x673e2b05e9142308L },
  44367. { 0x501db7c76db93818L,0x285ced71f33dbda3L,0x30aa5fb5cdba4b44L,
  44368. 0x93d536c2df0445b0L,0x28a77bfa10196091L,0x26b9f668e38c4c7fL } },
  44369. /* 24 << 315 */
  44370. { { 0x98c3a697c0909659L,0x35c3b0f297d847aeL,0x67d9f71273a7a5a8L,
  44371. 0x28e83651b47bed08L,0xfca9e849567b3410L,0x5fa9a6ded291fe1fL },
  44372. { 0xd79682421976a995L,0xcff5bb36a0261383L,0x34166ef962e9922bL,
  44373. 0xd816b0342d433139L,0x3b62d3589c4b99c3L,0x8521f917104f7cc4L } },
  44374. /* 25 << 315 */
  44375. { { 0xc35a5c7874e09962L,0x1c340269e1690418L,0x2ed61ab4dca0de49L,
  44376. 0x2570d29ede2534ffL,0x9077691bc5143c88L,0xaa249a4a346f3ec1L },
  44377. { 0x57e4f1e104de76b3L,0x206859c3f415b99dL,0xdac6f415f9a15eb1L,
  44378. 0x2bf456d00a9501bcL,0x1ceb7dc41ef91323L,0x19c1fa8c3cb8afb0L } },
  44379. /* 26 << 315 */
  44380. { { 0x7761d8fc6f7b6eafL,0xdc439bfdcc0575e5L,0x33853d91f1ff4383L,
  44381. 0x6da20e4b75dc1254L,0x25a53b581969a1d3L,0xb40df56723311968L },
  44382. { 0xac150a297dd6aaebL,0xfe6865ce2a3ba337L,0xea05d97cf71013feL,
  44383. 0x0ab3cf008053c65aL,0x7cd38b647bab4869L,0x788cb867204cc6a5L } },
  44384. /* 27 << 315 */
  44385. { { 0x253a041e36e88e48L,0x1610f836b86297fdL,0x379d3da109334bb9L,
  44386. 0x62de4308777fa7a9L,0x604a46bd6dfefd1dL,0x9e4740ae314eed76L },
  44387. { 0x40ec32e12efde5ccL,0xa5b841bdd92c1faeL,0x01852e23dec68e16L,
  44388. 0xc76173b88b55b2c2L,0x4609f350377d5e77L,0xe9c4167ffd67c6b2L } },
  44389. /* 28 << 315 */
  44390. { { 0x52732a0a4b0fc112L,0xe654744e9d125dddL,0x9f76cf7e269beee7L,
  44391. 0x2fb8bf32ff80a2f0L,0x1bcef16262b7153bL,0xdedc255a43a4201eL },
  44392. { 0xb1b30b91acbd8a37L,0x147fae6f240adc8fL,0x5558702cb39bf39bL,
  44393. 0x171e58803e1eb997L,0x095bf301ed7c79b4L,0x29f1dbffeef752f4L } },
  44394. /* 29 << 315 */
  44395. { { 0xcbb2506e7535c370L,0x40ee37ec7ab20106L,0x74f502d4caca3675L,
  44396. 0x167e778db57c0364L,0x7726715b13fa3dccL,0x76097791f42e0c3aL },
  44397. { 0xe1d990c3379dd41aL,0x432454d785c8f5e2L,0x1f90c59562ac45e4L,
  44398. 0x63e156998ffe0c09L,0xc3bb8c29d42bf0a6L,0x027d5a86ecca4cfcL } },
  44399. /* 30 << 315 */
  44400. { { 0xaf8ca08b20492da0L,0x37b1fa1547508667L,0xc9fc925b96077958L,
  44401. 0xb78c83c19ecac8b4L,0xd9d953a17c05a67fL,0x970ee229b9ebcaaaL },
  44402. { 0x689cad7f55dc989eL,0xf02f05bc66c941fcL,0x8d00516281e23d8bL,
  44403. 0xfe603ffc8caebcc3L,0x592860bff303153bL,0x9ec1d5ab3344e524L } },
  44404. /* 31 << 315 */
  44405. { { 0x7e374b7b0f922941L,0x44b3f00174466c92L,0xcb3eb28c3c2fe678L,
  44406. 0x91079467bb9bf05bL,0x0d268749de2dcbe3L,0xb6383ba4c5204680L },
  44407. { 0xd50269f4951d3c71L,0x9209a2d53ffbf2e0L,0x2f6496258110f811L,
  44408. 0x08fc9fbb0b31e275L,0x697960ea1faec287L,0xae95e4a8c5420ad4L } },
  44409. /* 32 << 315 */
  44410. { { 0xc20fb9111a42e5e7L,0x075a678b81d12863L,0x12bcbc6a5cc0aa89L,
  44411. 0x5279c6ab4fb9f01eL,0xbc8e178911ae1b89L,0xae74a706c290003cL },
  44412. { 0x9949d6ec79df3f45L,0xba18e26296c8d37fL,0x68de6ee2dd2275bfL,
  44413. 0xa9e4fff8c419f1d5L,0xbc759ca4a52b5a40L,0xff18cbd863b0996dL } },
  44414. /* 33 << 315 */
  44415. { { 0x1304bd65ff0e8fbfL,0xa249adb53343deecL,0x20635fa9826e1293L,
  44416. 0x6283f098b7bddaadL,0x0d0a7820bc96fed6L,0xcd7605d47de0b9bdL },
  44417. { 0x4f0a9751586f9eb6L,0x2f6dde5556b2521bL,0xb7efccbd76264c6fL,
  44418. 0x7df9cd35b2613621L,0xc334c8f924a2ff4fL,0x914f472a0b13b604L } },
  44419. /* 34 << 315 */
  44420. { { 0x89092cbc5f6bb241L,0x8b4dadacca123b83L,0x9ba420eecd2dbaa2L,
  44421. 0xf269d1982dd6ef2fL,0x29f68d03809b338dL,0x18cf8675958ae927L },
  44422. { 0xc179d4b2bffac33aL,0x5356ffc1522695e1L,0x453474986d039c90L,
  44423. 0xcba0e0fc5a675530L,0xf369b7ab98a0c70cL,0x51f82173d508c254L } },
  44424. /* 35 << 315 */
  44425. { { 0x5f98e5aae8490374L,0xdd84a7506ca52a68L,0xb6904ff8a9244f56L,
  44426. 0x4c908c0362a5502fL,0x70ff1e01a8df73b3L,0x573a37f20df382caL },
  44427. { 0x5df73cf8c7dd1209L,0x965ad402abfbcd79L,0x61a633a59e67af24L,
  44428. 0x0953c83cc64203f7L,0xe14f58f9a1fd8dcdL,0xb5ea722887a5fadeL } },
  44429. /* 36 << 315 */
  44430. { { 0x55466aa1d896c2f9L,0xd03ade059831fb31L,0xc46711547d968dfbL,
  44431. 0x8ade0c97bce2fdb9L,0xb408c7457f6d843eL,0xb1bbe028a709cf63L },
  44432. { 0x1dbd25383ba4fe36L,0x1438d322dc1f2720L,0x1c3c46b9c37694deL,
  44433. 0xe57133dc3997e650L,0x754c171e422b95bcL,0x29c47f0da209c7bbL } },
  44434. /* 37 << 315 */
  44435. { { 0xe520480823822d0dL,0x745fe7aae3eab177L,0x6f0f4a7e808500edL,
  44436. 0x9383c632200c2bf0L,0x6f3130d7be22d432L,0xed7713d465511061L },
  44437. { 0xff84bc04049067acL,0x33c2be61d56210e1L,0x57d63f885ac04f01L,
  44438. 0xc2fbb773284fb49dL,0x46422426e1f349adL,0x3cb627c465863455L } },
  44439. /* 38 << 315 */
  44440. { { 0xea06cbe9a1edcfccL,0xb0438e198aff46ecL,0xa93fb88ba450240dL,
  44441. 0xfc4a370021b6b45dL,0x2503aa5d82a21241L,0x7533f1d7f540d3b7L },
  44442. { 0xd7a58a679277538aL,0x466d981a539c347dL,0x46f1682bf26488c2L,
  44443. 0xee2b4976318282e4L,0x8fe5e5b85a94409dL,0x40ca43a7b1a4fc28L } },
  44444. /* 39 << 315 */
  44445. { { 0x0ed4414c901e48d7L,0xdcabb46418340890L,0xd50bf12f20998781L,
  44446. 0x498a90232a596ffdL,0xcc877212b43f456cL,0x98d9d531f796c4fcL },
  44447. { 0x061e3b31977c11b9L,0xe56bc6f00a00c822L,0x756e62c96887ea43L,
  44448. 0x29129d53859ec944L,0x42342589146c1fbeL,0x2f2cd4bdd1884196L } },
  44449. /* 40 << 315 */
  44450. { { 0x3d3815d645d94a24L,0x4cd9fe1139f3e6e2L,0x8c7b8dae8e7eb572L,
  44451. 0x7e69faf40f7deecdL,0x0e54b3c0387e97ddL,0xd12e473175a1b6b1L },
  44452. { 0xb7163632c664f92aL,0x86ab4ea88d94e55bL,0x37212aef1133dcbdL,
  44453. 0x0c6c7fc6dfc0d47aL,0xacbcb077aa9e1ccaL,0x43cf50a726ef7fb6L } },
  44454. /* 41 << 315 */
  44455. { { 0xc0eb003c54d7bac5L,0x89780aea2b770baeL,0x13a194e8076bb29cL,
  44456. 0xb863585046f8aa90L,0x79ebc6066df515f0L,0x25ea422dd1ead000L },
  44457. { 0x16b03b8106c89b71L,0xa964da878ad9fff7L,0x2c96dc6b2e7b9072L,
  44458. 0xf71788978c93f6bfL,0x4c7ecef912688648L,0xed7b4a577c663be0L } },
  44459. /* 42 << 315 */
  44460. { { 0x5b7cdd0ad74a20d2L,0x273184f48bcdd2f5L,0x4d8d3b4ce3ac03f7L,
  44461. 0x0e2ff518a02cc60cL,0x9c006ad8b6fa606fL,0x401606caccf627a0L },
  44462. { 0xe7429a6f7b967844L,0xe4e5d1c1bc8ac8beL,0xc050f89ff4f46638L,
  44463. 0xd23a3eb452f918c9L,0x4528e4e202944b49L,0xeb345a689268719dL } },
  44464. /* 43 << 315 */
  44465. { { 0xf4fbd190ccec4c27L,0x7e042c8722674e8fL,0xbc79835ae8b33439L,
  44466. 0xc7923b8fad2124d1L,0x0ece42272c72542aL,0x02d638e2b9264875L },
  44467. { 0xbdf9fba1904e7683L,0xcbbc0e0aac934377L,0xea154d99459ec213L,
  44468. 0x87db3f66c3023e2eL,0x7f9262d518de83a8L,0x432fef4f3524400aL } },
  44469. /* 44 << 315 */
  44470. { { 0x3b5566d7938a395bL,0x920dc1111f256c82L,0xcee7f231a059c8f8L,
  44471. 0xdc3da434d48b3179L,0xb1e819e913f78de6L,0x94a21bb01f9819deL },
  44472. { 0x8ef14a96f302a94dL,0x9f897e1a079fff9eL,0xff9a4e0e54122af0L,
  44473. 0xac6a6cbef0b7f1c7L,0xfd15d9756401df3dL,0x500531a323a0b7b6L } },
  44474. /* 45 << 315 */
  44475. { { 0x12e22a012da0c724L,0xa0a837f3b80cba90L,0x89df9a3e2a9b5434L,
  44476. 0xf3299f64925840acL,0x0cc78a3a125b3dc1L,0xa4ea6203c723d647L },
  44477. { 0x5cee8068d369522cL,0x3e479803432d5e87L,0x86e809363ad8126bL,
  44478. 0x93e871c9cf89d85dL,0x892e4710286c9010L,0xa075a6d3ec3a1792L } },
  44479. /* 46 << 315 */
  44480. { { 0x095768bc7dfddf6eL,0xc4e331b4e63c4e60L,0x1179808104f28a2aL,
  44481. 0x415e33e1bee48983L,0x7fe8050144af7eb7L,0xdf6c423b2f28fbfdL },
  44482. { 0xd10886db007a2b56L,0xea578b286613f26dL,0xd18a9d1c2b90a815L,
  44483. 0xd4c6e8b2675c2c8dL,0xff973df5788bf2d6L,0x4fbeb6210d7e611bL } },
  44484. /* 47 << 315 */
  44485. { { 0xcfab317671674fa8L,0x78038a1afef7089eL,0x3109736aa27b5b55L,
  44486. 0x1b31325fc0193518L,0x3afd21a8be19b5f0L,0x548196a2d8028eabL },
  44487. { 0x15b0d6d2a94e6be0L,0x1552ffb67afd5dd6L,0x49b1150d89bed9eeL,
  44488. 0x2c59b0bfb0d1444cL,0xab265d7eb695a900L,0xa24d0788a1dd1ef4L } },
  44489. /* 48 << 315 */
  44490. { { 0x4e913e1131e325ccL,0xe92f7c8f2a65fe01L,0x8e61a80d5857aae9L,
  44491. 0x2c36923d53104397L,0x5b0911d6b36d5379L,0x76eb9b56b1207ae0L },
  44492. { 0xb5cd11646723c4aaL,0xa6bec13b98891a11L,0x09af8be29d806056L,
  44493. 0x7da8d29ecc1fc0e6L,0x231cc00e2aa8791dL,0x2ded362c042171c2L } },
  44494. /* 49 << 315 */
  44495. { { 0x26eb2ac96afa51d2L,0x83485eff13c04ce8L,0xdedb48718072d8dcL,
  44496. 0x4da1771d8ac3d411L,0x2d8f99ef849c6c0bL,0xea65f6bc2b5882e4L },
  44497. { 0x60a90f58fd671216L,0xb9f3e2058af33bedL,0x29c41ec92bf02916L,
  44498. 0xcdf15b1de5ddeae8L,0x67f9ad163109e99dL,0xb9b5585f517d25e1L } },
  44499. /* 50 << 315 */
  44500. { { 0xae016b4811b3e20bL,0x5ccf3cf1e5164179L,0x1281ff8efe9fd47cL,
  44501. 0xb85438038e61bdf2L,0x694e42feba5856a0L,0x53f7e09759b32aa1L },
  44502. { 0x5b9848e9c341a531L,0x9a5fb85025952b73L,0x9d5fe0dea6f82c5eL,
  44503. 0x9216a8ca44090933L,0x3e986d4bc3272875L,0xc20534f8f3512e42L } },
  44504. /* 51 << 315 */
  44505. { { 0x718124a1033495a6L,0xc4f28a746834851fL,0x91186d80e1baaa77L,
  44506. 0xca4e13222a761e95L,0x7b6b8322582ddee2L,0x75d396c6c3c70c6bL },
  44507. { 0x075dcd6b54c75102L,0x3669b97c0b92622cL,0x621154e6f0cd45adL,
  44508. 0x7ff0029ff381a6d3L,0x3d37e750a726f84bL,0xc4f79202874de604L } },
  44509. /* 52 << 315 */
  44510. { { 0x215018fdec26297dL,0xaa06fd0bbf35d225L,0xe5fb438cab40bc17L,
  44511. 0x6a0ab335acb7f4c5L,0xbe1f4de4187a8e6cL,0x651deba961f7e842L },
  44512. { 0x2b30b0046f629aedL,0x63bdbf8e2218f107L,0x21a21aa5f9ca8bbdL,
  44513. 0xa88cd9138304f7e1L,0x23594fc6c5e6f9d4L,0x4d4db41a6682fc06L } },
  44514. /* 53 << 315 */
  44515. { { 0xca2317b0428dcb40L,0x9a7bd387288b5eeeL,0xd62da6d0a060584bL,
  44516. 0x601a3d6ce8f10251L,0x65718f0584885319L,0x5a87b1c2a1bc252dL },
  44517. { 0x27ae8015a37b05d5L,0xa624af9c98394605L,0x988220050ba4565dL,
  44518. 0xb93395c9da2613deL,0xcef9a880edcaa74eL,0x7b2ef0fe0976687eL } },
  44519. /* 54 << 315 */
  44520. { { 0x094f20588e5c6b80L,0x6e5a5f52846eabebL,0x9eaef2d7370a9345L,
  44521. 0x12d6f20687c19719L,0x0d2494ab9c44076cL,0x15ccc737de9309a6L },
  44522. { 0x8eeb8faf94ca6587L,0x7dc9a4fe3fe363f5L,0xf02f6e03b3b08270L,
  44523. 0x31adbe77daf15507L,0xc0fb2814343bb4efL,0x724007519bdc1d91L } },
  44524. /* 55 << 315 */
  44525. { { 0xd301525c1677fcb7L,0x11b7141bfb6b0dc1L,0x01f4950eb2163b70L,
  44526. 0x34c758c6ed3c0025L,0xd1b1c7573a5196cbL,0x7926f0a42fa19c66L },
  44527. { 0x107e5d32b1c47233L,0x0fe50b00cacbdaa0L,0xf45dd7e8e213397aL,
  44528. 0xca6b2de9eaa1db7dL,0xbf234b55dd09c2eeL,0x10db87d1a1db37f3L } },
  44529. /* 56 << 315 */
  44530. { { 0xaff57c87de0572ecL,0xc0745250826246c4L,0x523910fc700ef250L,
  44531. 0x8c23aa5793faa067L,0x87f7c7198e7dcf75L,0x45ef4adb46695227L },
  44532. { 0x0ffe09d196ceb1e0L,0xfb72a05790f3383aL,0x62d26e5e07c220d9L,
  44533. 0x03e19605766b1e64L,0xa774669458c17fb7L,0x9a851d828e7acfa9L } },
  44534. /* 57 << 315 */
  44535. { { 0x150e936f4baea8efL,0xeb5328d68239dfe4L,0xe064fd95b5f987adL,
  44536. 0x13d3803d52e7313dL,0x0e9738f5b215317dL,0xb6dd60a7974be106L },
  44537. { 0x00fa92bd6bac81d0L,0xdee050f9e7cb2338L,0xd7943d4f9075745eL,
  44538. 0x07cc4170819cfd9aL,0x21b7e0b04aef1468L,0xd7520b77aef07b1dL } },
  44539. /* 58 << 315 */
  44540. { { 0x126c012681097c49L,0x95339f9475c02669L,0xec3fc15b100115ecL,
  44541. 0xea5c8e9c49fb787eL,0x63168108bd3fbc19L,0xdbf2430541573590L },
  44542. { 0xcaa3a69686dbc847L,0x2c464fcb70d76739L,0xdd9e0bcd69e2fd74L,
  44543. 0x4ae92cc01652728dL,0xafe3e24812b060cdL,0xf3776c6ff951a38dL } },
  44544. /* 59 << 315 */
  44545. { { 0xe4ab1c417af22e76L,0x35a8addf038840dbL,0x95ba3e3dafd0d7b2L,
  44546. 0x2a7bf827f84417a3L,0x0bc177c729bf5a83L,0x29ef7f8bd09905a3L },
  44547. { 0x1df34fb1385e6c69L,0x079bc0fcf99e0d19L,0xcd2dbbc4f30eb5c7L,
  44548. 0x2d364701afa7447bL,0x3c7bfa087a791ef9L,0xe21508c8e71166d0L } },
  44549. /* 60 << 315 */
  44550. { { 0x0b204c9ac746ec60L,0xdd5efe2718b93b24L,0x484474e0ce15332eL,
  44551. 0x690be23d05a308b7L,0xeea3abfcb0f7081aL,0xaff69f36cd8e8720L },
  44552. { 0x5dadd080d951329cL,0x060c379c8cae67c2L,0x8e284705b20851baL,
  44553. 0xacc8d8a0e5df0e85L,0x8c024e789463544dL,0x15a9a3f08003076cL } },
  44554. /* 61 << 315 */
  44555. { { 0x095e284899e0ecb5L,0x61e9d5893415c1bfL,0xb1207d3017f5c585L,
  44556. 0x75f73f1d04e97243L,0x868551aa77bd50d8L,0xd530e0cc197f7d84L },
  44557. { 0xdd6ab731ea9fb71bL,0x26e5b52e2cf9510cL,0x4fba03ff11a88911L,
  44558. 0x6608b634e921e323L,0x4baf22f836d46a1fL,0xb8bced501bc7ace0L } },
  44559. /* 62 << 315 */
  44560. { { 0xaee397fa327d9bbaL,0x9a45e7a2d832e3dbL,0xccb43a730582ae33L,
  44561. 0x457b3271d4093b12L,0x409caea6370bd663L,0xa5019f25657f693aL },
  44562. { 0x5851c78a16478fe7L,0x5e09ace7ddf17dd5L,0x89ca68da0763656cL,
  44563. 0xb92d3321e2bad2d0L,0xdd5642098422f6bcL,0x4a6ea69946c04923L } },
  44564. /* 63 << 315 */
  44565. { { 0x7ba1f48579120405L,0x6c136597898be69cL,0x1e75e1586dcacc38L,
  44566. 0x3d3cb58b65ee4cbeL,0xbccee7a308db0caeL,0xee8bff34e77edfb7L },
  44567. { 0x123bc3f036f60cf7L,0x3b1dc9e779bb4c78L,0x036a8049fe5f0d85L,
  44568. 0xc4de23d318f66f39L,0x593cf51e3c436c16L,0xd4d40e906769584eL } },
  44569. /* 64 << 315 */
  44570. { { 0xf6827150844eefc5L,0x002e82c44515ef68L,0xa46c8f55c51916c4L,
  44571. 0x98c3524b61ee081fL,0x5ab7f2c2ad64872aL,0x0b503ff07e555faaL },
  44572. { 0x802e0d23b4c58d29L,0x122890402fd917feL,0xb56d19087af20d26L,
  44573. 0x8d619e216be50784L,0x10fdbb721372b851L,0xf2c1673e4935576eL } },
  44574. /* 0 << 322 */
  44575. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  44576. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  44577. /* 1 << 322 */
  44578. { { 0xd97a9b1451a135f6L,0x6d16aaf597b4df14L,0xc57160c254818818L,
  44579. 0x4dbdeab61d59be44L,0xb93a9dad81f2b247L,0xe2868cf5ecbcab33L },
  44580. { 0x5e1ce82883a86711L,0x29a9ca2f29c55428L,0xe716273a2d82b0dfL,
  44581. 0xb017f5f6ac8ff52fL,0x7563e79970ea7ccdL,0x5fedf0a63f0e674bL } },
  44582. /* 2 << 322 */
  44583. { { 0xa7f8501488d7b3fbL,0x3b5ec513ec78386eL,0xc6586b8a2ad5053dL,
  44584. 0x88c09a43fbcebe43L,0xde7f2a4a20054f16L,0x63daba80bbbb147fL },
  44585. { 0x087e48f37d352b55L,0x997e32a08317ab79L,0x8ae802ff7f27cac7L,
  44586. 0xb01a131c37b1f6e1L,0x3f0d4c2e9a6d1deaL,0xe06114fce7ceef80L } },
  44587. /* 3 << 322 */
  44588. { { 0x311df84c359590bfL,0xf907d69ddf6ca4b4L,0x876fd36782f22c64L,
  44589. 0x64c4d14d9713e68cL,0xd431858d6b07f539L,0x39dfea3384990283L },
  44590. { 0x6afb8cf080cf6498L,0x327056bcde060e9eL,0x5103ce4a49a71086L,
  44591. 0xfc94be75cdf853abL,0x2bfb105f8ca579cdL,0x02d19c3a50454b41L } },
  44592. /* 4 << 322 */
  44593. { { 0xaa03b474cde121c7L,0x74a648cb55e52c76L,0xb286ef86f37b57bcL,
  44594. 0x95b797eb2a6371d2L,0xa489ef894077ccbdL,0xf46ade048e99ca6dL },
  44595. { 0x5cf9e23723242d03L,0x33c7d32acb708390L,0x329523b6ba7ba477L,
  44596. 0xd406ab8757de30bfL,0xaa10e4a21536ca01L,0xdcec94f4dfa7aac5L } },
  44597. /* 5 << 322 */
  44598. { { 0xb5839fa424700097L,0x82fe2251759eb8beL,0xec5f34bd5f104a39L,
  44599. 0x7f3da509ed1cf49eL,0x62fe425244621c76L,0x2118b68dc7bba926L },
  44600. { 0xb0ac18009ea4b7e7L,0x33b21ca1fcc83f56L,0x1856161208458096L,
  44601. 0xba0e6aa95650f3feL,0x918d427231006f05L,0x955f3951b1066473L } },
  44602. /* 6 << 322 */
  44603. { { 0x0cb41ada3c59ee1fL,0x38b2465861d1633dL,0xde863b47d03e9452L,
  44604. 0x2bfab5b41548d45bL,0x580af6272ccb7528L,0x6744c7cb13c04327L },
  44605. { 0x5eca3ab339cc5075L,0x51dbfc7b6d243f62L,0xd64d84b7981ee3ceL,
  44606. 0xf639a03db4f2bc63L,0x8a411c36a317a1b6L,0x51edc4c0ed34eb3aL } },
  44607. /* 7 << 322 */
  44608. { { 0x01511b8a9d6fce5eL,0xb5c7b33f89a2875cL,0xa88e720e2fd79b67L,
  44609. 0x5337034404229e94L,0x40bb7e7ec94af25cL,0xc11501b99183a7b3L },
  44610. { 0x29a4d81fcec3cc7bL,0x143976fdd75b8febL,0xac8dad2cfa261ad0L,
  44611. 0xb14793006a2db8a8L,0xd4981293929c4a12L,0x5703506fb6eef856L } },
  44612. /* 8 << 322 */
  44613. { { 0x762a5eec1f5a9609L,0xfe4f5f6a765b337fL,0x0fd534aeaa4f964aL,
  44614. 0xcf46648ed6526f01L,0xbc62a54a18d71d72L,0x48d94f2a4f8488eaL },
  44615. { 0x62c40de7a0c72a86L,0xd73ac51a725dd2efL,0x3a51d7466ab19096L,
  44616. 0xf07bea4b2dd1ad3dL,0x2a0ec4672ef88078L,0x92598cb3664e435dL } },
  44617. /* 9 << 322 */
  44618. { { 0xd49f753012fbc44aL,0x769a4fc941c51d91L,0xeb1ed485981fd6a9L,
  44619. 0x90a4b3cad7daf430L,0x4bbffd5c75d07405L,0xd998a096da671888L },
  44620. { 0x0514ad4b6e10976cL,0x5d40328aab11d9ecL,0x86de976bfa180702L,
  44621. 0x259ca429f6f8a4b7L,0xe08970f05772eb4fL,0xca428fa1b5feb7a7L } },
  44622. /* 10 << 322 */
  44623. { { 0x9f3d76ae35af4a88L,0x0b92f48a242af3e6L,0xd4f8a37b7165d261L,
  44624. 0x30e1fa8b2b917832L,0xd26f821f8fdfc06aL,0x75359bcf3669d1a2L },
  44625. { 0x0ba3bcebb638331aL,0x8d02c0996c73b62bL,0x2a8c078d8c4f63a5L,
  44626. 0x55458ccaa312c282L,0x901ea0ea5eaaad9dL,0x03665da20e39eba1L } },
  44627. /* 11 << 322 */
  44628. { { 0x79a30b82da9affceL,0xafb188567204a29dL,0x2e64e6105a8ed24aL,
  44629. 0x6bf3695a9e44aa24L,0xc22320690c77fa6cL,0x20b3c69531524429L },
  44630. { 0x91e60caad6e0f847L,0xf0fa30c4542d6b57L,0x56a3a66bff98ceffL,
  44631. 0xec44f0b72c9507a2L,0x4ef13008c37e17e4L,0xc819ae81cda21355L } },
  44632. /* 12 << 322 */
  44633. { { 0x17c563be1cac0b58L,0x889cfcecb8491347L,0x591d49ac4cd1bfc0L,
  44634. 0xd4465510d4e53d3bL,0xca95ccf6ad079a6eL,0xce391389b5ea6eb4L },
  44635. { 0x600ccc9ca48b6447L,0x20d0c7dbc20d56a8L,0x5f27edc569c6c6e7L,
  44636. 0xb3fc0f4a586abcdcL,0xdbfdf3f985dbc5b6L,0xfba1cf254ea80fe0L } },
  44637. /* 13 << 322 */
  44638. { { 0x38d6267e427a9075L,0xd1df12006d63ea4cL,0x9887a99881407b57L,
  44639. 0x41accae4688e9f0eL,0x33c63c9e10886dc3L,0xf8332ac57574a033L },
  44640. { 0x7d77d41f4c636d00L,0xf6f4ca28add70d4bL,0xbe496330c0ee111dL,
  44641. 0xa4de7670b74bc69dL,0x683a93d369e5eabdL,0x4c5461c710963bd5L } },
  44642. /* 14 << 322 */
  44643. { { 0x9bbc99b59310424cL,0x6f4bce534568e290L,0x21373f5bc1572fd6L,
  44644. 0xe5ecd5b6a28b4394L,0xd56968f646ef7bacL,0xcbce8614726cc043L },
  44645. { 0xb2fa6101d0a49bd8L,0x65eaa7725a7b41c3L,0x10d7515296e5ae18L,
  44646. 0xec8f4639af389838L,0xac660d81bccaff25L,0x3c546ba931734025L } },
  44647. /* 15 << 322 */
  44648. { { 0x81b13d3ee098c584L,0xf8eb4e41fa3460caL,0x1bb889d1f0b905e3L,
  44649. 0xd158ebe939a3faafL,0x7ad0f829cf09735eL,0xc89611963aa8b3beL },
  44650. { 0x522327781be516cbL,0x9118d851ee88d911L,0x35ad130f0bf2a62cL,
  44651. 0xf35bcf1b39c05087L,0x73b992c3bce42949L,0x93ce50b95b42744dL } },
  44652. /* 16 << 322 */
  44653. { { 0xee6e7006b515fff5L,0xaedf6e3913258ed5L,0x373adf7dfc45111bL,
  44654. 0x0c7535b1875c23c8L,0x2a7e04f897039d49L,0xd76787ae9afd1a06L },
  44655. { 0x049dd38591b6dc89L,0x8f0c8ad0932dab78L,0xdce057b9925498c2L,
  44656. 0x7b9c9bd2da25daa3L,0x6d0b70a3d4decb7dL,0x099a218303df76efL } },
  44657. /* 17 << 322 */
  44658. { { 0xbfaf4b848c5520a2L,0x36fa343fc6741e50L,0xadcc36dcbd5211c4L,
  44659. 0x2cae5a8514bf0578L,0x8fee4d403fe4171eL,0x2acd2756624d0daeL },
  44660. { 0xaf99a323623aa9cbL,0x120cd2038c8191e2L,0x2073e8884068d993L,
  44661. 0x144851ac579bbf88L,0x54d458a4ee29fa34L,0xb7704255e5e5d676L } },
  44662. /* 18 << 322 */
  44663. { { 0x02f6e396617dc4bdL,0xbc48c42961497feeL,0xb27487fe0b4d22d7L,
  44664. 0x33d6b1161d0b0aabL,0x5e21cebad31278e5L,0xf7119a50dacd8f27L },
  44665. { 0xe47eff2cc8ab54acL,0x7c7ccd3bbbe16c9cL,0xc056d817c584bafcL,
  44666. 0x868ead2b97790d9cL,0x8fea6eea1a58126aL,0x67d323640fab2640L } },
  44667. /* 19 << 322 */
  44668. { { 0xee1a958ffa14b58eL,0x900644f9760b54e3L,0x97fa6fa451579d09L,
  44669. 0xa7351c3b26e7f95aL,0xc3546595aadfd139L,0x07b7ef48f14f1e6dL },
  44670. { 0xc8d100ec4d139608L,0xf98609b2d8741228L,0xf0890d9d33030d3eL,
  44671. 0x893b874fe28ed106L,0x5439b7aff7bb558aL,0xe68a3adba71a2261L } },
  44672. /* 20 << 322 */
  44673. { { 0xff54e8bc8acd597bL,0xdae781e94682b8c6L,0xb2265bc4ed1fae2dL,
  44674. 0xa5e23c29ea983db1L,0x4af5f55909851454L,0xffe9538836eb4506L },
  44675. { 0x4c72b2d1c2247b8fL,0xb179573331a67505L,0xb1aa8ad4e19c9c25L,
  44676. 0xb9cfea953e8b8004L,0x07782d788ac747fdL,0xe23e547fce9d9e41L } },
  44677. /* 21 << 322 */
  44678. { { 0xbc6b0088fd9e8e72L,0x7e51aa5dc6453462L,0xe8615fb9c8b1725bL,
  44679. 0x031f0d2a5a371c9bL,0xb9db0a647441d8aeL,0x0dd0446e9d5783c5L },
  44680. { 0xb3b7be2381720779L,0x49a8ecbb6cc5a610L,0x165c626152cd016cL,
  44681. 0x5fcd657da3f6ae6aL,0x30497fbc9f6988dbL,0xd734927936a73fe7L } },
  44682. /* 22 << 322 */
  44683. { { 0xb30ddd0e388562b4L,0xc485506b1f61067fL,0xf0da517684947c84L,
  44684. 0x04830cedeb067f33L,0x05084c8262404b76L,0xe7e7efad7996707cL },
  44685. { 0xc2a6a57fc78b9a7eL,0x4e55fd8c7bfbf308L,0x204e7c44d1386117L,
  44686. 0x979ecd5a4e56595eL,0x3bfc790853707b85L,0x2c3a41c59fcc5b7aL } },
  44687. /* 23 << 322 */
  44688. { { 0xcdbfd951ed6e2671L,0xb72c42ee135f6b96L,0x38c8d1ca40bbb789L,
  44689. 0xf6fa984cda03f270L,0x76dc5a19ed88deb9L,0xa8c88f2a9985bcd7L },
  44690. { 0x2b0d3b66c6628a44L,0xdf679b6a2b311954L,0x30a363c25f851b07L,
  44691. 0x78a5d242aecdb9cdL,0x42d7ca82a968b4e6L,0xb188e99af2efb94fL } },
  44692. /* 24 << 322 */
  44693. { { 0x779905b6d8948f95L,0x3c7085b591cd0206L,0xce9af0aa679096dbL,
  44694. 0xfdf04f10f558913cL,0x05300cb06f24a2e2L,0xf9d9a2f25d581b35L },
  44695. { 0x855c8de96a713751L,0xc9ac24bc0e0c0dfbL,0x67612a4197740d65L,
  44696. 0x7588a52744c9360dL,0x928ac910325cc880L,0xa74abdafacdd3188L } },
  44697. /* 25 << 322 */
  44698. { { 0x98d80359e7c5fbc7L,0x6abc82b7047c61d5L,0x8d8f5fbd58f2fd49L,
  44699. 0x321f2426ccb0a4dfL,0x379f10e2e96cac24L,0x34c0444130666763L },
  44700. { 0x8dd3972043632c61L,0xb2bbe2eec19f98eeL,0x00d5a467c464dfa3L,
  44701. 0xa44ceb19a85b6fecL,0x88bf80ddc9b1fa77L,0x7e5123c8e6dda98fL } },
  44702. /* 26 << 322 */
  44703. { { 0xf73ad540b75a6b88L,0x57bcf1cc08487cc1L,0x00358de735cd0c27L,
  44704. 0x86d469a2573df808L,0x4884cd5684716abfL,0x0157687fa7da61d7L },
  44705. { 0x8efd8acda732c2cfL,0xb6c9bf7198677236L,0x3d1f01826d46c473L,
  44706. 0xafa65fd82f497476L,0x535ee757e54f17daL,0x432b5878fe7aaef6L } },
  44707. /* 27 << 322 */
  44708. { { 0xf091c4ff3370e118L,0xabf011ee118d4b8eL,0xb489c4b7a13c7279L,
  44709. 0xc2dd44e93bfb19feL,0x10b68e92c5d859dcL,0x57935fc39249205eL },
  44710. { 0xb97e63b06c929bf4L,0x98cb08a739a25097L,0xb13f17c15eeedf15L,
  44711. 0x1e27a85c240884feL,0xda1515ad9b601298L,0xe01251fd4ce36c3eL } },
  44712. /* 28 << 322 */
  44713. { { 0x3774af36ba6aca8aL,0x562fcfb1340e6a03L,0xde45205ec1187539L,
  44714. 0xf3b114418799c22eL,0xfd53f681e8b0842eL,0x45a0039066d36d64L },
  44715. { 0xa2c3391d353eb1e7L,0xf9d9fcc55840eddaL,0x4df1fa4a6ab8ab4aL,
  44716. 0x2b0cd34bd841a623L,0x52441d79b10b189aL,0xfd86d3c2fa025da7L } },
  44717. /* 29 << 322 */
  44718. { { 0xe28f3bab5872204bL,0x6f87cbaf0ba35c66L,0x783e85c03d877c60L,
  44719. 0x376e5e2df132df52L,0x213d53a9bc2cd6faL,0x2e2a573008a13174L },
  44720. { 0xc0988fa9ba15290fL,0x51d81b9485456f81L,0xfe371f32a0ef5b80L,
  44721. 0x9aca060ff129171bL,0x0b02b39e0e402e65L,0x8e6bce1eae9c209cL } },
  44722. /* 30 << 322 */
  44723. { { 0xb0cb0f0c532f78c8L,0x83113e752d133635L,0x3f64aad5123dc64bL,
  44724. 0x4d3201c85aee8c59L,0x265905dbe75e8642L,0x9d1d277805f9a759L },
  44725. { 0x84778aead9e2a07eL,0xc747cc3a9c0aed31L,0x10d1b4e87af2dc61L,
  44726. 0xf58a6bd8af0bf23cL,0x83836c2352e1ee75L,0x88c4d1c6d899062dL } },
  44727. /* 31 << 322 */
  44728. { { 0x27eb26a3f3842d98L,0x90f712b69da68159L,0xd11177052676f05bL,
  44729. 0xdf603446073bf994L,0x28ad2b498bfcbb7cL,0x6916c6e2e5e1266cL },
  44730. { 0x37d516996e98d62bL,0x155d8ef749634968L,0x0676ea286a1b2222L,
  44731. 0x1dc3f8d71566cb3bL,0x95fb3f177dc6aecbL,0x092f4c8120807b13L } },
  44732. /* 32 << 322 */
  44733. { { 0x3c6c5618b9d926c2L,0x7e14c3ae4a9099f9L,0xb3259c90ae2fb830L,
  44734. 0xf7cc6e43ec31a504L,0x83bb13c6126230bdL,0x5a1f4313ff1dae3aL },
  44735. { 0x0cc6c1a549b0b65bL,0x67fa836a274a84c2L,0xd454c75fe604a58dL,
  44736. 0xceadfd912491f872L,0x6c5575da9ce116a5L,0xfaa4903fb24a4481L } },
  44737. /* 33 << 322 */
  44738. { { 0xc9ade1497c4579f8L,0xdad7eff3be316db0L,0x4ff3abc613fce23dL,
  44739. 0x09103a75da708e56L,0x4cf139fa8ab52827L,0x0f82219b8f251a68L },
  44740. { 0xd19719c7dea33388L,0xa482548423085413L,0xbb63cb43f8eb4b18L,
  44741. 0xeec33735f3b88079L,0xee79d331de3ddb97L,0x56fc93090e5acf8aL } },
  44742. /* 34 << 322 */
  44743. { { 0x951a780bcef9c5bbL,0xc37d442ddb35bf11L,0x8e2a0e7d64a776b0L,
  44744. 0xbf461becc652cf34L,0x3970eb603194f918L,0x2768daedb3bda869L },
  44745. { 0x8e81257557b24bf2L,0xae05e2db38dd69cbL,0x0adab288cee2f522L,
  44746. 0xc7a0e1f148234f13L,0x285f6ee36728c9e9L,0xb9ae7b9fc4541e19L } },
  44747. /* 35 << 322 */
  44748. { { 0xfd90c5c1f6422b56L,0xd9fc8cce4dfdb947L,0xf3566dc4d088588eL,
  44749. 0x25dd9e27f22682e6L,0xb077392119b0a532L,0x54da228c0d05a9f9L },
  44750. { 0x0f7fda40986f60d4L,0xb6dafff6c9b112feL,0x7eb99e1a4abfdfcaL,
  44751. 0xed499eb9389611caL,0xf230d6d6f251477bL,0xc09d328c227ecc92L } },
  44752. /* 36 << 322 */
  44753. { { 0x9b21ef6c16cdcfeaL,0x233be0c3694edecfL,0x110243df7c49c931L,
  44754. 0x03a59a2ea3113ed1L,0x6470f721023c9a77L,0x7d1640c88e9ff099L },
  44755. { 0xc21488316f2c7b37L,0x9e1c9e1dac6eebc7L,0x6af65a671109ca9cL,
  44756. 0x8379fdd9cc6f80d9L,0x33f74ade7e666a4fL,0x07ac728b7be081a5L } },
  44757. /* 37 << 322 */
  44758. { { 0xa3df31a312354705L,0xffc8fdfc1aec1bd7L,0xd9dd39c112cc342cL,
  44759. 0x8077a57e37bf43fcL,0x0f037ce49cb8751eL,0x5740f6b5b805b530L },
  44760. { 0xd26422704e2b5b93L,0x114bb1f02dc158efL,0x71881767a9bec3d1L,
  44761. 0x1174386d266d95cfL,0xa373d7ea7cdd4461L,0xaf4f7b40d814a33eL } },
  44762. /* 38 << 322 */
  44763. { { 0x0db94a18f79761beL,0x263e2acb5717b98cL,0x78c28d8182567b0eL,
  44764. 0xce1b366b893c35b4L,0x1e20b1bc0d6907a7L,0xd6f123474b973588L },
  44765. { 0xfb945471f717e91bL,0xef85653cb027bd4dL,0x048e9e1df07dc0e1L,
  44766. 0xc494aa9cc163b83dL,0xfaec72d3021b4fa5L,0x5c63c30fc9869fe6L } },
  44767. /* 39 << 322 */
  44768. { { 0x2dfa058d510d8d86L,0x772fad416a89aa0cL,0xdf55d15cd586f23dL,
  44769. 0x7d96b7a989b604f6L,0x352fe049a38d821bL,0xfc56b8df4fbb5795L },
  44770. { 0x264122b4b3d5dd0bL,0x89317f4a980177d9L,0xc060ab4a13e2aeecL,
  44771. 0xc2676725e2cafc87L,0x78863cf45eb1df3cL,0x2e1572dc0ab1a715L } },
  44772. /* 40 << 322 */
  44773. { { 0x7a8a898d5a4703aaL,0xc59933ea1cd6f9d6L,0x703265f5d28124cdL,
  44774. 0xe1c1bee10178d1feL,0x9ff31cd4241262e9L,0x9174a939a3c9f80fL },
  44775. { 0x0f7a3d2dbc2a62eeL,0x0454051c62f1b3acL,0x83502c9ea2421254L,
  44776. 0xb4fa51fcb684199bL,0x257e9e2bc5e36a44L,0x14efeed597d8647fL } },
  44777. /* 41 << 322 */
  44778. { { 0x09bddbc28f2b12baL,0x8af83a779b7f1c14L,0x88f9b4d3bcc934bbL,
  44779. 0x8d8312df8d072340L,0x2ee105bc615989dcL,0x6044fa00de3bab08L },
  44780. { 0x98c499d603cc86ffL,0xf0b48aa7c5068033L,0xdaa536d2c96606d8L,
  44781. 0xef905aa2bc6a843eL,0xb6f108ee8ac620ecL,0x0dec7dfbb6dd66f9L } },
  44782. /* 42 << 322 */
  44783. { { 0xb9157d4ab0fe18a8L,0x139bbcbc68cc7a70L,0xd546a06d7dea2914L,
  44784. 0x8db142d4a01cc59aL,0x127ce2d9aa09fcdfL,0x3950a5a63bfef8deL },
  44785. { 0xf41ef6d42527522aL,0x4b4e6f107e6fb19cL,0x2a2735d1345788c5L,
  44786. 0x87963e1ee72a7ae3L,0xb58d8934fc443360L,0x93552692b16b6f2eL } },
  44787. /* 43 << 322 */
  44788. { { 0x70591a849518f0c7L,0x5c282b6fc67c438fL,0xdbf61b6b100facc1L,
  44789. 0x3c5d969f2bf2a5beL,0xe1a0c6cbab980c70L,0x70f4981c680619fdL },
  44790. { 0xc6905d7cc65be256L,0xde3340fbb5c27acdL,0x17be9d182c1b3fbcL,
  44791. 0xd584e4f96fb00b1dL,0xac5dc14eb819646fL,0xf5c3279a3242935bL } },
  44792. /* 44 << 322 */
  44793. { { 0xfdb13b31be970ebaL,0x119b1c08b0bfadc2L,0xed62f35e21875542L,
  44794. 0x73c8f9b0349a6d12L,0x8c35d8f8bd1622c0L,0x501b9d288b6521a0L },
  44795. { 0x377f8fa1c918b2d5L,0xe2a9580cd0239ef9L,0xee24f4f0371d7bebL,
  44796. 0x4cc697a669231b47L,0xa55193c8dc4c5a07L,0xd4e51e1db0ab8507L } },
  44797. /* 45 << 322 */
  44798. { { 0xcb811c27265f267fL,0xb85593aa9e2688f4L,0x57a1969dd76bf364L,
  44799. 0xc29946c9014483a2L,0x5bdd72490915bddeL,0xba6d13ff22746ae4L },
  44800. { 0x524121e0d25f6b7bL,0x9011309e0d68a3f9L,0xf25e89ccdb91c66cL,
  44801. 0xae79cad781df593aL,0xef8c6bec4f103231L,0x832659c3e038f02eL } },
  44802. /* 46 << 322 */
  44803. { { 0xd58eeece37761959L,0xba6d8ab5b328f084L,0x3911e6ae324a6706L,
  44804. 0x299921c8ad139296L,0xb81a3fe4f6b8d9e1L,0x2680c46f5ef06a6cL },
  44805. { 0xab9cdf368611d63cL,0x6c9fa5b3cc0a5da8L,0x712356a3da4d4412L,
  44806. 0xc1707a10cd3f550dL,0x5c25b2f3ce468303L,0xe4be20bffa546b6aL } },
  44807. /* 47 << 322 */
  44808. { { 0x797a2919515ee1dfL,0x65dd5991119dc9d3L,0x82e8201b41e4c5ffL,
  44809. 0xd27b35130d3dd45aL,0x9ba590c5b13b2dd7L,0x0f15b35282992935L },
  44810. { 0xef39971e227e4e46L,0xb74c524b2786fd6dL,0xe09c28ec71b1579eL,
  44811. 0x0d1418e285f6a935L,0x173265448719fbe7L,0xfe3b1d831200b35dL } },
  44812. /* 48 << 322 */
  44813. { { 0x6e96a8195cecb21fL,0x3a58d8b2d8beecaeL,0x93c3cbb0c0c715a8L,
  44814. 0xfb06f977541759b7L,0xf25ba095771c3d2cL,0x7560446ea3bfd322L },
  44815. { 0x7cd99f35a015cb4fL,0xa0e541960786f235L,0x0f868f768b8e291aL,
  44816. 0xc8260b0b2f95050bL,0xaf38376ef4c0a462L,0x2b3c0f3b98a3395dL } },
  44817. /* 49 << 322 */
  44818. { { 0x99d4529efed6a724L,0xc6f1b084071d8d31L,0x6c48062ba097da1fL,
  44819. 0x1dd10493301c1d74L,0x5288f194f554cbccL,0x77b1b81f39dd42c7L },
  44820. { 0xeb1f2d53a007a6d8L,0x43bed54e05648d75L,0x1a85326f29801a1eL,
  44821. 0xcb9a91a4f564d78aL,0x4f38fc7893f071deL,0x920117d8aeeeb5adL } },
  44822. /* 50 << 322 */
  44823. { { 0x709b5904b35cba78L,0xef0c321021b11d3dL,0x38f07eec46844b18L,
  44824. 0x2e79f99934870a55L,0x9e9df80400d7b924L,0x857a95625cafba4bL },
  44825. { 0xef8ab68f4adfea6fL,0x4a83bfc16ea764e1L,0x21f4c75475e8d874L,
  44826. 0xa3597f526ecdf5d1L,0x9d3a4766eff2e1e6L,0x9872db39e5e6ae81L } },
  44827. /* 51 << 322 */
  44828. { { 0x42d9f39e99bb9a10L,0xe617263ce35e4852L,0xb3f8ace1a06b71d0L,
  44829. 0x861520de6419d9d1L,0xc2c521cf37b1fe38L,0xd537001b9edf9936L },
  44830. { 0x92614b9f39af94e7L,0xd2003f2e25286664L,0x249d04aeb836d4b1L,
  44831. 0x3c6c192ab26df88cL,0x6e0b25442c72ec0eL,0x69d7f6d7497f03dcL } },
  44832. /* 52 << 322 */
  44833. { { 0xbb5a95f6293cc00fL,0xb202a82a65fb729eL,0x819c26aa12e35774L,
  44834. 0x70cd5237c2b3f0b2L,0xa752224a89b2c5ccL,0x71c09cbd0ec89df5L },
  44835. { 0xb849e352bab45d24L,0x290f0307d313f461L,0xf083031cee885e9dL,
  44836. 0xdf42a973a60bf2faL,0xe39f2118d4842999L,0x8b54cf1d0508febeL } },
  44837. /* 53 << 322 */
  44838. { { 0x8942b4df0d846a3cL,0x18db708662b6605cL,0x6549e019fafa6508L,
  44839. 0x85d97fce43ef9443L,0xe9f13da373485de4L,0x5743297bb0f46e8dL },
  44840. { 0xc52781bb70908255L,0xcd88a48a6bc6e666L,0xf857caa5eb4f54d1L,
  44841. 0x32dc925320974dfaL,0x6dc79fad965146e6L,0x24e3a8d2edc1f747L } },
  44842. /* 54 << 322 */
  44843. { { 0x1993fa650e81671fL,0xc6acd9f3dd1a1e4fL,0x227edd1a7bf36f1cL,
  44844. 0x4ad2478370867ca3L,0xed0254f758b9a7c2L,0x63fe279a7013a5a4L },
  44845. { 0xa65787ee232e6a88L,0x5faceda487161d5cL,0x36e351b603d64c37L,
  44846. 0xaa265f1de9e30871L,0xbf3432f521e6f66bL,0x69d68c068621289dL } },
  44847. /* 55 << 322 */
  44848. { { 0xd2bd143ea0807eeaL,0x474ad99582568efeL,0x0fcd6bba7d482c5fL,
  44849. 0xf83e6f15e2628f4eL,0x314508252210e41cL,0x8f0a9402f47de776L },
  44850. { 0x7f20bc562ee4d1e0L,0xed4157de791aa7a7L,0xbe443399be2dee9aL,
  44851. 0xb461643371625f13L,0x1be21ba8771f55c6L,0x04b3035a300fc187L } },
  44852. /* 56 << 322 */
  44853. { { 0x0952b888b9d0bdf0L,0x3973763c8ce32fb7L,0x221f0ba56dd860c7L,
  44854. 0xbb7a27feb16ac501L,0xf113b194bc8fe58fL,0x18f3297a65839ffbL },
  44855. { 0xa2d4eb7c8dc30003L,0x3fb4b4878e334479L,0xa4f32c651a8310e3L,
  44856. 0x944cd644f78f46acL,0x14e40c4af96fb91fL,0xc31402bd4ddf6e72L } },
  44857. /* 57 << 322 */
  44858. { { 0x9eb2c9e51ff0ab88L,0x0a29fc0695cc3436L,0x3f4b4ebdbd298127L,
  44859. 0xeb8ad8b52ef56848L,0x6159700f5b211ff6L,0x8fb98f2fc3a67bc0L },
  44860. { 0x5c5998ffbd195b66L,0xea99d6767e44a64bL,0x314316e4bafd1471L,
  44861. 0xb5f48757cc8c0e77L,0x922a91d15b259ac8L,0x2458279cf9fc4e4eL } },
  44862. /* 58 << 322 */
  44863. { { 0x945c5a3c6aac3e97L,0x5cbdfad9a266ad50L,0xa3e38114fe59f5ceL,
  44864. 0x1ca1cfdace3ae206L,0xbe1f15e12a84cfdcL,0x682514726a12ec3fL },
  44865. { 0x48409f871f57341aL,0x632c369e8461bf7fL,0x1c96fc87d8865ed4L,
  44866. 0x1727934ae1ffc51aL,0xa60f0ebb6d71f51dL,0xb6c354052e411888L } },
  44867. /* 59 << 322 */
  44868. { { 0xc7b3d3bb72a77726L,0x04b9bdfbbdb03d78L,0xdbdbaa7e2fe88db4L,
  44869. 0xc5848e58564710b6L,0x7bbd84863ec55713L,0x1b5aea5670183191L },
  44870. { 0x95d91bb25340d9b7L,0x9a1462e4187a3252L,0x5cee9b8cec352fedL,
  44871. 0x7db8350137049284L,0xa1d2822cd3b714f3L,0xe4cf6d53c2e51da6L } },
  44872. /* 60 << 322 */
  44873. { { 0xdb2a2ac9a63f6f62L,0x4c0d2da695f20639L,0xa485a6adb475e177L,
  44874. 0xf6dad8b5aa93055fL,0xafcc1e954974bc52L,0x6686940224fcf32fL },
  44875. { 0x10c138bfc103b013L,0xe74ea82bc6faba1bL,0xddb399c581824de5L,
  44876. 0xae797b70cdaad079L,0xc648e7ad6ea955e2L,0xd07c5c919be79db6L } },
  44877. /* 61 << 322 */
  44878. { { 0xf4b7a33b39d93befL,0x4be176f9659da9f0L,0xbf57d975f36642cdL,
  44879. 0xe10b452d16d5528cL,0x7c062421a6bdd74bL,0xc093e346e7aa1d9eL },
  44880. { 0xb7cc38cc2f5c19ddL,0x9fc7f69b230c8790L,0x9b667acd5e3c5282L,
  44881. 0x1cade31144cd22ebL,0x53a0d702bb43a1e4L,0xb25868777906519eL } },
  44882. /* 62 << 322 */
  44883. { { 0x46e2415deb5003acL,0x05aee8855e8a6a0aL,0xbda9f162bbaf343dL,
  44884. 0x658b350b21853341L,0xaf6b4948ced47246L,0x1d454740723cd3bfL },
  44885. { 0xc4b7ce3fe1aaef54L,0x619420daa35c9e24L,0x65d455b14eb7a52cL,
  44886. 0x2f9b700a4c961515L,0xa5b7b962d3aed448L,0x4e32a6d937851d3fL } },
  44887. /* 63 << 322 */
  44888. { { 0x2c4c1b2ed00f8cb9L,0xbf83ba500fd305aeL,0xb75bcf9f801a8e64L,
  44889. 0xd8ab465ccba76b29L,0xf5a2bcd74ea718f4L,0x81501d563b592ae0L },
  44890. { 0x9734e4e26ae6bac5L,0xc4860b0eee304e5eL,0x8bd59b7b1d59f1acL,
  44891. 0x7c9497e8e799594dL,0x4bc6634c08292918L,0xc45583aa92619229L } },
  44892. /* 64 << 322 */
  44893. { { 0xc5ad791eb45a8002L,0x4a23fd68ba2d7a40L,0x673b9e4998544bc4L,
  44894. 0x934d8f55d273c360L,0x7fb48d0768a75a8cL,0x2e6201055e0fac97L },
  44895. { 0xbe01655ff10ed580L,0xd21d52ae9e96731fL,0x74f830de53325138L,
  44896. 0xa7240331de9f3fc5L,0x96b25206a7e01fa5L,0x3fcfedee07eda4b4L } },
  44897. /* 0 << 329 */
  44898. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  44899. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  44900. /* 1 << 329 */
  44901. { { 0x3e6e93818d5c039fL,0x809494228a8d2cc9L,0xf2d7c8b4b843ec06L,
  44902. 0x0055d882af8a23f1L,0xe848010ed3792335L,0x9b41a55f55e08e74L },
  44903. { 0x956ea8e95de83059L,0xf159a9973263678eL,0x5f7b9271cca1b548L,
  44904. 0xd41d2281f1d0b7f1L,0xb187047b5c9963fbL,0x213ff6af02536cd8L } },
  44905. /* 2 << 329 */
  44906. { { 0xe51a95700d0fa76cL,0x67c7890e4d2e9c8eL,0xc6160fa2f974d2cbL,
  44907. 0xe00474f74c6a78deL,0xee916e510ac89d11L,0x1adad97af826f133L },
  44908. { 0x3fc65d3f8d2d77f3L,0xda9420750ba6c300L,0x5237a82e0b9196b1L,
  44909. 0x4975e680a572b6f5L,0x41ea8b92b9bed2bcL,0xbe0ad7109826825eL } },
  44910. /* 3 << 329 */
  44911. { { 0x06f721d30a9ec81fL,0xf0359222034f3e78L,0xc5ca6b7a5a44ffd9L,
  44912. 0xc53e328915764390L,0x7f16917459747d7dL,0xc3a9981461f79122L },
  44913. { 0x099f4e3a97aa46f7L,0xcb0570c9d70458a6L,0x270a43576b72f327L,
  44914. 0x9d6bb26cc33695bdL,0x60f9202126224902L,0x8eb0e108e1b0a51fL } },
  44915. /* 4 << 329 */
  44916. { { 0x8a390dca9fcaba39L,0x3879f0b4278d22b3L,0x77bbea69bc5e82f1L,
  44917. 0x71f02e2d4628d6f1L,0x6260790cf968e240L,0x1c7f3df5665270eeL },
  44918. { 0x336395451a87b1c8L,0x2011fd214ffd9fb8L,0x69060f867807ed55L,
  44919. 0x1b0ac0119dfa452cL,0xbbdb25fe06d27c0dL,0x5c25d23aa60ef90cL } },
  44920. /* 5 << 329 */
  44921. { { 0xc08dc153d9f75d6bL,0x5c1f07e7a0330237L,0xb3e6fb677d67a5c9L,
  44922. 0xca949ed098f9faddL,0x48b16b2dd7720835L,0xfdb1b735fee4d341L },
  44923. { 0x1a6b37b1debf3207L,0x5b3eeb1e3218c63aL,0xc19b57b504c23b30L,
  44924. 0x178bd3bb40669e2dL,0x74e57b26fb6b162cL,0xc3626931a0932b58L } },
  44925. /* 6 << 329 */
  44926. { { 0xd3eb69e4734b2e9cL,0x1c2754e2c35ff1b3L,0xa26681e69f3e8c51L,
  44927. 0x7892ad11a2cae737L,0x88b1da43cbd8bda6L,0x8a576942419d21c4L },
  44928. { 0x7c124343c90f4545L,0xa5a8d93b26453baeL,0x9a4c08fd76ae72e8L,
  44929. 0xa08b82d97b064e94L,0x4f803ba083725330L,0x33672455865235f3L } },
  44930. /* 7 << 329 */
  44931. { { 0xf7a5e2f0a51e695fL,0x3099bf9484adf10bL,0xb2a03c0f22a3ff04L,
  44932. 0x30303a910acec674L,0xaccb2f3ca59522f8L,0x00ff4d88f273ba94L },
  44933. { 0xf0056b4210e735ebL,0x3337279a7786e93bL,0xfecc77c44bb3c31dL,
  44934. 0x3385bf5be0e26a05L,0xa9454ab85f45fcbfL,0x41a4158346edb553L } },
  44935. /* 8 << 329 */
  44936. { { 0x1877dfd0c8110f1fL,0xea88f59d18db27c2L,0x9d089536c78e295eL,
  44937. 0xcbb5d55374a04cc5L,0xe3666006827f75edL,0x8557b81a61e7378cL },
  44938. { 0x74170170ed223f48L,0x84197a6ed86ee829L,0xd75a30f8ac1c4a0fL,
  44939. 0xd7e7be0d3cd92824L,0x5ea0abdb1b5e86d4L,0x41146ae1b3b615efL } },
  44940. /* 9 << 329 */
  44941. { { 0x6d340fd3fabd376bL,0xb5066b1ccc169cb3L,0xa4148142d20ef8f1L,
  44942. 0x0c5d66fb461544d0L,0x84c7a232d67043d2L,0x4c0e77867e609af4L },
  44943. { 0xb1e83f1af4619e4eL,0x40fca1a0b225d174L,0x39bb3a882e42fa4dL,
  44944. 0x04dfe833d2682205L,0x49016d9d685296f8L,0x2da587198b735155L } },
  44945. /* 10 << 329 */
  44946. { { 0x570deceb1ae5e9daL,0x5c079c70b73ead01L,0x522a30a6d2ce6639L,
  44947. 0x71dc5c3ff4056ac9L,0xd93c7a2dbaac149fL,0x5c3298b8f1844cebL },
  44948. { 0x282adf408c23c0dcL,0xbe4981899b646f86L,0xe77c1950628da9e5L,
  44949. 0x38cc27baa1fd5a18L,0xb5579728aacdca52L,0x8d34fdb4c8e1ecbdL } },
  44950. /* 11 << 329 */
  44951. { { 0x563e0b8a7a7fa597L,0x6697c375bb7dd079L,0x95758ff6c6233951L,
  44952. 0xca07993fa2059c40L,0xc3065507ce2aaefcL,0x9faed33c6ea927d5L },
  44953. { 0x0f8b48241207247eL,0x0044f6115eb2263aL,0xd7c9ce7c851596fcL,
  44954. 0x54729d523c69d424L,0x42cbdcca45876770L,0xc1e0e6ceeff2adcbL } },
  44955. /* 12 << 329 */
  44956. { { 0x323f2102adea7d6aL,0x035b354eb694b253L,0x66dc4e4a5b8a36c2L,
  44957. 0xb609222471795ca4L,0xd8c6d7eed300d80fL,0xf31f258db3b94954L },
  44958. { 0x0f2eb679277ced5bL,0x0b16efa3eba40e3fL,0x400035070dca4f36L,
  44959. 0xd34c91cb59a9a3a1L,0x5e8fea3286da6408L,0xf237959f03f31728L } },
  44960. /* 13 << 329 */
  44961. { { 0x1d3173653412e8d3L,0x1d14cd1b09695abbL,0x9044adf2a2cda00cL,
  44962. 0x60a6ccd60b7ba011L,0x614b100417284b46L,0xfb3d84b9cf840203L },
  44963. { 0xd65b3566532b068dL,0xc8c03996c2465150L,0xc9035c2df71c35f4L,
  44964. 0x350231a752222e21L,0x59440020451935b1L,0xd723a55cccfdd206L } },
  44965. /* 14 << 329 */
  44966. { { 0x1b5bc630bbaaedc6L,0xe7d25088b49cbb3bL,0x5622cbf70deb8cf0L,
  44967. 0x3b20803cd309c3baL,0x64c2e7deff45e2fcL,0xfa730ffb9aab84a5L },
  44968. { 0xba83cc514edfb52eL,0xe05c0140748bbd69L,0x27bbb5f52254ec43L,
  44969. 0xca740989324c8c40L,0xa21488b1d26491b4L,0xe2753a1f69d8626bL } },
  44970. /* 15 << 329 */
  44971. { { 0xea04908f64dab001L,0x8ea1f127b4debb2eL,0x87adb69534f155a0L,
  44972. 0x41595cfcca8afe0bL,0xffef042f8763ba08L,0xb7b4865decd3e667L },
  44973. { 0x2c46c97070c4c8a3L,0x1ab18c080403d206L,0x08b2d3c94b3df379L,
  44974. 0xc6a4c268a87a7166L,0x449bc61f5323b1f0L,0x8d4b7ced489ada74L } },
  44975. /* 16 << 329 */
  44976. { { 0x618ca06b8956146cL,0xd51f1e6f552cdecfL,0x981372cca3b6ce7dL,
  44977. 0xb44a68ee5f14bb57L,0xfc1167e96373abbbL,0x3d621f8b767d4c0aL },
  44978. { 0xc6dcdfebf6ecc778L,0xddda926282d1fbddL,0x477501aabfcbf2f7L,
  44979. 0x0be7228a67aa8277L,0x5de7b8331daab9cdL,0xb88a4f9a262feb4aL } },
  44980. /* 17 << 329 */
  44981. { { 0x203a666c608fea53L,0xbf71f8fde8979c08L,0x3bd58feba22a3d2cL,
  44982. 0x596bfcf521f178a1L,0x6f207d89f84beffcL,0x8a7c6dbb18097607L },
  44983. { 0x208f5e64a1c5c927L,0xd7d0e33478dc83c3L,0x5e9397261d4e30f5L,
  44984. 0xf3877242fa09a36cL,0x68e4338ae6a7b0feL,0xcf8cd131ac47b369L } },
  44985. /* 18 << 329 */
  44986. { { 0x28f18586936fb33fL,0x9809b2ab381bf7bbL,0xf6e16931eac3c252L,
  44987. 0x366d18335e151187L,0xe5b4c2357a3b6460L,0x693a9fa50a68bc91L },
  44988. { 0xa35f104a6a7f8b6eL,0x3e5d6981688676c4L,0xc0c081b10651a609L,
  44989. 0x6df5da2dd77057c9L,0x8bb271bbc4602847L,0x322547b3c4bd07d8L } },
  44990. /* 19 << 329 */
  44991. { { 0x9b56b9444deb8158L,0x5f4b15a6da5eb70fL,0x120afa9514cb0126L,
  44992. 0x01f6d00d6bdd0d78L,0x73dd7c5c463b1ce6L,0xc770cf35df00a133L },
  44993. { 0xb5db93a1247ff879L,0x1c12f3f0c70ecea1L,0x10168c4e5b59cc9cL,
  44994. 0x1e9e0f8a0e19efe5L,0x43987dc1cfd44b62L,0xb1d265c204814e2dL } },
  44995. /* 20 << 329 */
  44996. { { 0x8c283529233d39e4L,0x96300796c6092096L,0x2c549de55dde766cL,
  44997. 0x27e0b444b4151002L,0x802e5fc3f2f88f1bL,0x2af579c28ba1956dL },
  44998. { 0x52edd04ed68196c7L,0x2e22e71474a202b0L,0x338948248bf66459L,
  44999. 0x8f0d8c259e39df55L,0xee4f109e6c5276d9L,0xc0c893f0c5dc0bf0L } },
  45000. /* 21 << 329 */
  45001. { { 0xa3081bc75b3f17e5L,0x299e7a0222e46b9dL,0x36184c98a9afa278L,
  45002. 0xee2043319095a8a1L,0xf5e54622cd5ac080L,0x08d649013fa844a4L },
  45003. { 0xb20ddfc6d7fbb42bL,0x15130bdbd868a81eL,0x25e5fd2f32ff1a03L,
  45004. 0x907e3c01ca5288d3L,0x2f2f7496a1f6f96cL,0x831feefd38ab83d9L } },
  45005. /* 22 << 329 */
  45006. { { 0x06054c76f8482849L,0xc24b4a6a5fcca65dL,0x71c27e01a17ebda3L,
  45007. 0x1ffce0281be9dfb8L,0x3784c950ebc43854L,0xcf0ecc2dd5086510L },
  45008. { 0x86d0fc3cbe24d8ebL,0x5bad01911f21788eL,0xe2c3bcb9c49b3a12L,
  45009. 0x66f82433f7d5992dL,0xf7cc5eb913969246L,0xe52defd48660a6daL } },
  45010. /* 23 << 329 */
  45011. { { 0xd6d6a42b102490deL,0x9e6532acf40d27d7L,0xcd1591cdf2a08bbeL,
  45012. 0x973e09f234eb47ccL,0xb3a5915add4fa316L,0xb36ca6ceac38218dL },
  45013. { 0x73d370b3e58a0cafL,0xbc8fd39f07766be2L,0x3d5d9ef7c2ea7997L,
  45014. 0x22877500bbfcc1a7L,0xc54d0c6406e0547aL,0xf7bc1d2d564e9ef1L } },
  45015. /* 24 << 329 */
  45016. { { 0x7a9623b653fd1a04L,0x13bd35bf3a3b8500L,0xf8a5dec9e0f8e530L,
  45017. 0x88bcbe291d65dcd4L,0x09fe38036739541cL,0xebd04b7fe716a97aL },
  45018. { 0xbd8e34df1e5ef7cbL,0xddfc4243d7c4fd6cL,0x0183d9053519411fL,
  45019. 0x63450996f7a3c483L,0x18283cea01355739L,0x8c1d72cf9aaa72f7L } },
  45020. /* 25 << 329 */
  45021. { { 0xffcd4b6f9be9ff57L,0x0bff01bb939327efL,0xde596626b5ed90e3L,
  45022. 0xc07464ff4379e17cL,0xefd3e2c470d31340L,0x78b2192f4e7df61bL },
  45023. { 0x7cfe28def3faf2fcL,0xd2d1a994dd642f87L,0xa5d4fb1410b3377eL,
  45024. 0x2cb4978ead6fa00aL,0x5b6fe7a765fb3688L,0xc26c1b3336d5acdeL } },
  45025. /* 26 << 329 */
  45026. { { 0x551e1b4e8dc72468L,0x8a926cb2a7b2f1acL,0xb873e83b0fd12fadL,
  45027. 0xb6cde14fa4e7fb13L,0x81ae41415befc256L,0xffb0c636b4c7631cL },
  45028. { 0x80f1408f8a2478feL,0xde6d051d44fa7605L,0x5a15b1f84d44a1e4L,
  45029. 0x1a0031c5a0daafe3L,0x304338dd597652a7L,0x6830dcc7f257f17aL } },
  45030. /* 27 << 329 */
  45031. { { 0x62fae4072fdc8ea4L,0xff77522fcbe76ee3L,0x5fa03a454fd2bae6L,
  45032. 0x774c635e8dc90431L,0x718081b62ddc4376L,0xf4901a2c03e7aec7L },
  45033. { 0x5339a3109eb023d7L,0x15dd4f96366e35f7L,0x1f802d4a0e2d2e95L,
  45034. 0x8e5e9cb2fe1b1226L,0x175806f623a0de5cL,0x115a97db068c7bbdL } },
  45035. /* 28 << 329 */
  45036. { { 0x4a67ec76193aabbcL,0x3da6dec6d74761f9L,0x751720c90b35bb70L,
  45037. 0xe5e049058d9e0f8bL,0x3cd37c840858f29cL,0x7ff1abfbb881733eL },
  45038. { 0xa0c2698b0c4f7694L,0xc736419296b95e4eL,0xcfa55c5537ece651L,
  45039. 0xa2bbd6ae7cb1e9e1L,0xcd2292b9a0eb0e8aL,0x8aba99e18d5030d0L } },
  45040. /* 29 << 329 */
  45041. { { 0xa3f508a498fa3d8cL,0x4d894cbf45bcff40L,0xbcdac17d0c095cc4L,
  45042. 0x397caa6f407c2ed8L,0x2195056b5f97b4a9L,0x41eb6e0e97434508L },
  45043. { 0xbb5e4e4a73f211f8L,0x5e8e638f720a451cL,0x8470bc9e4974252dL,
  45044. 0xc487aae29f6a9a96L,0xaa66417101165deaL,0xc8af7172b603771bL } },
  45045. /* 30 << 329 */
  45046. { { 0xb7c74c58dc4a1d3eL,0xe3ec30160331ea39L,0x83afb271023c8712L,
  45047. 0xc2670d56c9c82680L,0xd426f350feca1061L,0xe8aee692ba6edc01L },
  45048. { 0xc916fbe546e801d9L,0xcb001c377097286eL,0xfcf79d2678ee1328L,
  45049. 0xb05b0634b6a4afb3L,0x2ab327bb306da14fL,0xc11a0294ba5ff534L } },
  45050. /* 31 << 329 */
  45051. { { 0xcaa287c30f00dfcaL,0x9ca672930601cc7eL,0x435e883fb105d00fL,
  45052. 0xf9cddbf91238536aL,0xda604ccb45f558c3L,0x7e51d9d182f48366L },
  45053. { 0xc1e8d50d7e8396c3L,0x58638b85edbb75e3L,0xe926aabe9b088d2eL,
  45054. 0x8103a34a428c41e3L,0x03e5e35d089deeedL,0x64969c6d93bb0b99L } },
  45055. /* 32 << 329 */
  45056. { { 0x7b7da028e19763ddL,0x662f54df8b98ff78L,0xc056d83c51f3dbd9L,
  45057. 0xe2f4d46fa91d085aL,0x31759c9ceb35262dL,0x624d0cf20c9dd29eL },
  45058. { 0x108cf9bb1624b02dL,0xa241444e345531d6L,0xf69816b273d372b2L,
  45059. 0x126575a7d5415e53L,0x546bb4c1306b8b0eL,0x82bb0c124d54ea5eL } },
  45060. /* 33 << 329 */
  45061. { { 0x85b355304c397362L,0x218a3b0eeda72e19L,0xd8eae54461729c56L,
  45062. 0x3d9b4a62735b571dL,0x12f3ee775629e437L,0xa72f9809095e5378L },
  45063. { 0x5420a641bbe6dd1eL,0x8121eb3d02f41fe9L,0x5698eaf945e7acbaL,
  45064. 0x8a5e1a89469c2f12L,0x801740e25b434e0fL,0xa4dbe1cc670f58bcL } },
  45065. /* 34 << 329 */
  45066. { { 0x2f1919df5819e9f2L,0x156489e7a62287a9L,0xed038deb20a0c2caL,
  45067. 0xf63ac2d5c5ab4fdcL,0xca2b648ce391ec06L,0x8258e3f45b047d2eL },
  45068. { 0xb7dcff56fd17b40aL,0xa8ace11f4bed747eL,0x542d70d175018429L,
  45069. 0x6c568967951bb2e2L,0xce420f73bb0e089cL,0xdae9623ed13f8eb5L } },
  45070. /* 35 << 329 */
  45071. { { 0x2d561034009a41d3L,0xf078204f5734d3a1L,0x2b8973ff7408e71fL,
  45072. 0x07cb9f95aab9c533L,0x376c1f59d0b35fffL,0x4a756c7fe851b313L },
  45073. { 0xdc690e9874dedeaaL,0x625b082f70cf3f5cL,0x44839b5803dfc301L,
  45074. 0x5835a6c3c520f618L,0x695425e3afdb68d5L,0xc04ce4c62db97ee7L } },
  45075. /* 36 << 329 */
  45076. { { 0xc1d9b27ecb5833e7L,0x9911909567a8a669L,0x9317f8c30ab9ee27L,
  45077. 0xfad65eb9f34551e6L,0x7725ec2e016504f6L,0xca492cb47ebbdfc1L },
  45078. { 0x6d2a3c962706aa66L,0x53e6d650836d8ee2L,0x109496434bc84bf3L,
  45079. 0x8442ee826df7c0f1L,0x7ab2eb9918fe80c5L,0x6a8579b35cd2ea35L } },
  45080. /* 37 << 329 */
  45081. { { 0x96adba7706e80e68L,0xa8839d6a0fe580e1L,0x755227e337a31a9bL,
  45082. 0x40b5fc70e27ec051L,0xb900a11b29af222aL,0x8fea2e509dd84811L },
  45083. { 0x4f844c8861b59ab3L,0x26739874560c0948L,0xb39f85ba0cc08828L,
  45084. 0xcdce2fca829082edL,0xbd17998eb4555dceL,0x827eae97a3608a9fL } },
  45085. /* 38 << 329 */
  45086. { { 0xa77087f4c98e17c4L,0x9fa12dadbe2985a5L,0xa68cabc94bdce4e2L,
  45087. 0x222a6fb6d3500913L,0x15e28fd5a9c0904eL,0xed31c63f7a91f825L },
  45088. { 0x9cd9f3e56f2f35b0L,0xa2b14261923cab8dL,0x71a780516d8ccbeaL,
  45089. 0xf1fe532bdfa937b4L,0x6e3d7252539d0a74L,0x27ef2720814cd797L } },
  45090. /* 39 << 329 */
  45091. { { 0x8bd8341e6899b9bfL,0xc2ea111680865aedL,0x0cabb5cf13fed0e6L,
  45092. 0xa11e82c1e4ce70c0L,0xefe3d4eb99aba16aL,0xd774db4dd8df10c3L },
  45093. { 0x72ee5c98bae14dbaL,0x9161d0b179b86e02L,0x1ba8b84585e5ba90L,
  45094. 0x3830148f17228bdfL,0x222499e2ba89b2a5L,0x5d50922cccd4f87eL } },
  45095. /* 40 << 329 */
  45096. { { 0x81dd074e4398751eL,0x87b11b480a3f3ebcL,0xb5afe1f0352b58f5L,
  45097. 0x6d2d94829c390eefL,0xd073f9a0f36a8d23L,0xa7c5abec466ebbe5L },
  45098. { 0x968c04a60539f145L,0x52a3ad0c93f4d3d3L,0x98e196bb15c0970bL,
  45099. 0x2af28ea370ab8ddaL,0xb912fbda7a039fa9L,0x3dd8d87acbd02ff6L } },
  45100. /* 41 << 329 */
  45101. { { 0x849b2f0b4ee5ebb7L,0xfd1b015158bea2f9L,0x260a6b5bfbc530f9L,
  45102. 0x2b6c198d06776366L,0x6540793f8074c6d2L,0x1c722c259871be11L },
  45103. { 0x8ce5241ce0560ce9L,0x3574db548096df0cL,0x1d9dd078b0fb8c98L,
  45104. 0x6049c7f25625a023L,0xd2c0853cb18d0dd0L,0x5e57bd71cd645f78L } },
  45105. /* 42 << 329 */
  45106. { { 0x8da9b831361ce377L,0x6496515b7dc06076L,0x870e7df3b8cba83eL,
  45107. 0x315ac0049f8f495bL,0x1a09dee576fe0978L,0xae7af621c18059a2L },
  45108. { 0x2bc9dea404fac2afL,0xc630bd5021b90a79L,0xbded6b8628c0f9a1L,
  45109. 0x709d72c7be4fe93cL,0x3d1e2eed74b22303L,0xcdaf6b1d0e81dfcaL } },
  45110. /* 43 << 329 */
  45111. { { 0x42d004f3be8ec138L,0x5379a3063d617cfeL,0xcbbd274ec1a87d06L,
  45112. 0xb9967c5284c9df0dL,0x0238d715c421e288L,0x787ee6abd239639fL },
  45113. { 0x746e4071adace009L,0x2e2545db61377666L,0x47cc241cf07deb1fL,
  45114. 0x0a0742f1847dee19L,0x50175dd06e59b0acL,0x95ce3065d2333a87L } },
  45115. /* 44 << 329 */
  45116. { { 0x65c33cf4ca5eba6eL,0xbc48b22e12c2f19aL,0x6c5bbde461fbdcb0L,
  45117. 0xe086202bbc503a00L,0xa9483799deecbb11L,0x9b2c0216279aff50L },
  45118. { 0xc10fce1069f99456L,0x2b0051d5b7820d55L,0xd2de9cc32129b5a4L,
  45119. 0x711166d9e4f565d6L,0x7a8c3dfb88075f30L,0x6914edda224ac45fL } },
  45120. /* 45 << 329 */
  45121. { { 0xca481b6e4e1e3cabL,0xf390ed5f7e12d8b5L,0xcda82616dcd06247L,
  45122. 0xf7d791422cec8917L,0x0c2ea9fe2364e5deL,0x471b71ed21f98e3fL },
  45123. { 0xbebd6a753b9aae94L,0xf9914c0b45f5d5a5L,0x07c823ca4b3dd18fL,
  45124. 0x0b8c09ab74ad2bafL,0x21048cf7c7376302L,0x080e4a00efb16ac2L } },
  45125. /* 46 << 329 */
  45126. { { 0x1699d711379e6c77L,0x9126d88c7427418eL,0xbb05797d825210acL,
  45127. 0xc0b611df315cb277L,0x90f82a9d61f69206L,0x39a79014f517228fL },
  45128. { 0xd9f2def450e8a693L,0x88c1104381e9d71aL,0x28e20b56451f8a9dL,
  45129. 0xeaa794763e101231L,0x3f1ba0c56423e8c3L,0x2fe7ce4e3c6c558dL } },
  45130. /* 47 << 329 */
  45131. { { 0xd706ab9cc55b1a3cL,0x99c453663aa386f6L,0x348c8f743617676aL,
  45132. 0x5f3c49092b9ef7bcL,0x26969963ff5d4864L,0x1f952e03f5b490ffL },
  45133. { 0x4007914e30cd5518L,0x3b38fd1e0b0e6513L,0xb25e0a81decbba43L,
  45134. 0xb7e77345a7d78431L,0xbb7bc23062467d4aL,0x616c1724598ad852L } },
  45135. /* 48 << 329 */
  45136. { { 0x5bcf287864e60ac2L,0xf70e78a455d53345L,0x88685de6707a7138L,
  45137. 0xa77646dcfb2041a4L,0x8608695289db3060L,0x08b7c4d8e27a1690L },
  45138. { 0x4148d9373ca7fd81L,0x58c7440bff7698a8L,0x9d722d4db0391d14L,
  45139. 0x5683112462b0373fL,0x87b0363be9a9992cL,0x51870cd18853db84L } },
  45140. /* 49 << 329 */
  45141. { { 0x775086f481eb73b1L,0xddf02d0e4db4d236L,0xab3d637445b09e54L,
  45142. 0xb7ef92657e883a2eL,0x20e6ae8f7f42b4b3L,0x26a14629bc49d85cL },
  45143. { 0xf0ee4e5ca4ed9ba3L,0x288c5b0793b0b721L,0x9c767a59e9917114L,
  45144. 0x3dde322015085ec5L,0x3176507f7ece24dbL,0x71e1995686cc47fcL } },
  45145. /* 50 << 329 */
  45146. { { 0x86dedf2e9b1ab85eL,0xf3330387c2d0593eL,0xf5e6143997e907a5L,
  45147. 0x1992569d8cd66e4aL,0x836b215e0869329eL,0x8b5c4891153ff215L },
  45148. { 0xf6c52f1b609dcc15L,0xa3a5258c085722c3L,0x0a4e81501c378dfcL,
  45149. 0xa8997ddc739040aeL,0xb1c4417a7180a073L,0x618009bff1dbab34L } },
  45150. /* 51 << 329 */
  45151. { { 0xc276e23733ec753fL,0x196a1ccee112da60L,0xcc049e2b953211efL,
  45152. 0xa60e1aa711dcc43cL,0x091ceb49cdfed2ddL,0x8fe1c52e72c69037L },
  45153. { 0xf66eac87a986ba11L,0x4917f822b273d90dL,0xf7ef04cc957befacL,
  45154. 0xf8a7ac1320b8aeebL,0x71f0db3dbe6af428L,0xcb0bf8ba566429c8L } },
  45155. /* 52 << 329 */
  45156. { { 0xf617674d2cbb40a8L,0x446ad46b4d11399aL,0x4d4246943076b6b3L,
  45157. 0x1b9e7d881c33ea9eL,0x8e1aa6716954589cL,0xf1099b26e221722cL },
  45158. { 0xb18904f94917576eL,0x0512b21bb549058bL,0x12c89a64a209ad3cL,
  45159. 0x421f5e575557cc67L,0xb42e17371b5a17edL,0x427c6a621ff3230cL } },
  45160. /* 53 << 329 */
  45161. { { 0x74e75db02bfb49e4L,0x7685588d58cf18dfL,0xfbfe8f56398e27a9L,
  45162. 0xd2711ec365666b9fL,0x1df7714d2c59b787L,0x0f2c4b4c486f8fc0L },
  45163. { 0x098ed315f847b688L,0x60c367e332a20ae2L,0x58f48cd6bba6dd13L,
  45164. 0xc41e31960616128aL,0x7f90dd69a3205005L,0x8e6ce9d23581c177L } },
  45165. /* 54 << 329 */
  45166. { { 0xcf2da6044a3b3618L,0xcfd27cc6b83f1814L,0x8cb45c0a6b9369a6L,
  45167. 0x1f11501633976ef1L,0x2654a1574afc708cL,0xb47f423860970498L },
  45168. { 0x548be9389fd8536bL,0x454fde1673ff1ecfL,0x44657efae96be82dL,
  45169. 0xc8e7e96b555df813L,0x2a0b3f4a4fccb822L,0x2e0f36b114b6dfdaL } },
  45170. /* 55 << 329 */
  45171. { { 0x227ba88551cefcb8L,0x81e8f52e00071a19L,0x4afd5a5d170fee3eL,
  45172. 0xc8864e274e17ff05L,0x1d8c2083710ffa4dL,0x22529baa9839c46fL },
  45173. { 0xad771341825a0a87L,0x34a3049edad7c56cL,0xf1f14e1712f3625fL,
  45174. 0x6103d1fabcd36dfbL,0x9f5ce7a949a7cf78L,0xa5a4e38a333cf634L } },
  45175. /* 56 << 329 */
  45176. { { 0x6c8e5a261d99492cL,0x6e5bab8e77f916a3L,0x9b014aad50ad6f39L,
  45177. 0x2a3933c51f107e26L,0x4b04395cc951bf73L,0xf8f683b4b0ef56dfL },
  45178. { 0x28c9fcdd1905c84fL,0xb03604f14141feacL,0xb546f58e53ace23dL,
  45179. 0xee5fec4efe688f02L,0xd8b43f6d2e91406dL,0x75e44b21261764d9L } },
  45180. /* 57 << 329 */
  45181. { { 0x56905026e84e6549L,0x1dc1958c5b84b0b7L,0xcb477afba55d3c52L,
  45182. 0x6c67cf7bc1434094L,0x739da94d2ecb03edL,0x8c45e5ee778ca2fdL },
  45183. { 0x66084f9712e2fe43L,0xee6a89e66c3289d1L,0x623b73abc5d1a215L,
  45184. 0xb0edfa31cbf45830L,0x8024dffbd7de3b1fL,0x2ddf805a27f25caaL } },
  45185. /* 58 << 329 */
  45186. { { 0xb4e5a5d5605d7341L,0xe7a7a4069a1d3465L,0x234783d66c60b1b0L,
  45187. 0xdd7ee2fb3b480129L,0xfd183240dbb7032fL,0xba2a97accaedc8c1L },
  45188. { 0x1a1824d3b0185c9bL,0xddc0f82cd36edae3L,0xaf7bbcc03116b17dL,
  45189. 0xefc9095985f6e8e4L,0xc6bde428acb9c328L,0x69d80732cbf991a7L } },
  45190. /* 59 << 329 */
  45191. { { 0x455a23a465ecec1dL,0xcf0b2a221d9e9887L,0x0b43131e3fbb1cc9L,
  45192. 0xd4ece789bdad49b9L,0x370c2f9aedfa4d17L,0x7f6855be15163f17L },
  45193. { 0x868a16f3735ecbd1L,0xd84527db08897c01L,0xcdbf5b18f2df294aL,
  45194. 0x8c500b1f12b99a2fL,0x929c58df2591e3b9L,0x314cb13714eae6cbL } },
  45195. /* 60 << 329 */
  45196. { { 0xd014cc6deda2479bL,0xd2586003f1a85fb5L,0xceb0611153cd207cL,
  45197. 0xe8c9fbfa647b3c16L,0x1f53e8e6ab7d6738L,0x06dcceabb060b5f3L },
  45198. { 0x80e023b2ab770ccbL,0x83ca0a5f4cda70d2L,0x19f7f5dfea1caa2cL,
  45199. 0x769041414ffe884eL,0xfa4d93a3fca3c05bL,0xd381f527e88e1169L } },
  45200. /* 61 << 329 */
  45201. { { 0xa4553b3534914b85L,0x03968ddddc176f80L,0x095fb9531f258fa3L,
  45202. 0xda9d2df7a554bb6dL,0x012a30ed84926864L,0x3fea37b12aa219d2L },
  45203. { 0x730d2c6d81cc6036L,0x96ea83c9ddd81991L,0xfab080dcef1678dfL,
  45204. 0x16e25c6bfb2fe230L,0xf083a2b298ef2fb5L,0x0c0d0767581feac0L } },
  45205. /* 62 << 329 */
  45206. { { 0xd464a6525bc81cc8L,0x513353adebfa99d0L,0xd1aa97c0be51245bL,
  45207. 0x0d37e590e4d20201L,0x7afc95cbb45c5c19L,0xdbd640cfb6a4ea8cL },
  45208. { 0xffcc3ff2be9c5b78L,0x61cb76ac1b2865d1L,0xb145bb0011352d21L,
  45209. 0x69568e5ce550ac6dL,0x454a33043bf7ee0bL,0xa2fcf9b45dad3642L } },
  45210. /* 63 << 329 */
  45211. { { 0x2e2c8fb3f33eaca6L,0xae1c78b265f75366L,0xbdc601092280d2b4L,
  45212. 0xed8409b7b6f472f0L,0x69eafa4f439e09afL,0x3b9ca2ecaa2b1531L },
  45213. { 0x59b2e8eb336e484bL,0x93ec3ecac5f0481aL,0xb01e690ad575157bL,
  45214. 0x811aebc262e9d767L,0x1b26c0e49a9065eaL,0x5712d2c969a18827L } },
  45215. /* 64 << 329 */
  45216. { { 0xdaa7fcc9f9474bb7L,0x3c82e74bafa5db2aL,0xfbf918c59894edceL,
  45217. 0x470c45eda9ac29a7L,0xdfd44f6fbc372f2cL,0x73a4790aa1e38d3fL },
  45218. { 0x23d2400ba9674837L,0x3dad71bc136a92daL,0xc76a488148baa4abL,
  45219. 0x73227e4ebc26e6b0L,0xe732edcfe8ef5662L,0xfe96aa5f0c5662bbL } },
  45220. /* 0 << 336 */
  45221. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  45222. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  45223. /* 1 << 336 */
  45224. { { 0x87c7dd7d139b3239L,0x8b57824e4d833baeL,0xbcbc48789fff0015L,
  45225. 0x8ffcef8b909eaf1aL,0x9905f4eef1443a78L,0x020dd4a2e15cbfedL },
  45226. { 0xca2969eca306d695L,0xdf940cadb93caf60L,0x67f7fab787ea6e39L,
  45227. 0x0d0ee10ff98c4fe5L,0xc646879ac19cb91eL,0x4b4ea50c7d1d7ab4L } },
  45228. /* 2 << 336 */
  45229. { { 0xcfbcbc4a7db62b5aL,0x2919bf514ab45ddeL,0x735de05622322f91L,
  45230. 0xd2590bda7662ae23L,0x63d468fed82be7a6L,0xc84d0435695ea172L },
  45231. { 0xc50f494120a6fccdL,0x2d613990620f44f1L,0x680ccd041fd25778L,
  45232. 0x25ddac444a3d0808L,0x41d8b738c4684cbaL,0x2611645f53963888L } },
  45233. /* 3 << 336 */
  45234. { { 0xb05cb834b0279be5L,0x2de7d0ebf08c5f93L,0xf023b5aaefa9e4f0L,
  45235. 0xb8061e5d9bd075ecL,0x7d2ba50f1aa41bfbL,0x8963f3e390865d96L },
  45236. { 0x7f221a794713ec7aL,0xc83bc5178500b4c3L,0x085feb6af6ab1540L,
  45237. 0xfd141024dc87cd93L,0x3e196fdb3239dbf6L,0xb7cf3e16dbcd5364L } },
  45238. /* 4 << 336 */
  45239. { { 0x1466c9f5e03a2fb4L,0xb866c006862a58a2L,0x291e8c75b5865550L,
  45240. 0x1ddb7154e65862ccL,0x285153bc2b997167L,0xe2fce0e7954b6c19L },
  45241. { 0x985d450616dc2937L,0xf7f14216ee41d9c3L,0x39e098dafa5fe5e5L,
  45242. 0x3fc26046f90f231dL,0xde5d5ced32afd0b5L,0xad688b1d60c09c18L } },
  45243. /* 5 << 336 */
  45244. { { 0x3720b1720f806b59L,0x1f696d47f224597bL,0x03c46e315b54eefcL,
  45245. 0x387e466472b0edaaL,0xfc59b03dee77476eL,0x86854e54607a7259L },
  45246. { 0x1478bcee3e9320dcL,0x4aa825a88c9d87e4L,0x71272f72cf272ee0L,
  45247. 0x19e3a4a38bd885cdL,0x9af6415b376ba31cL,0x6394b5a7807b2b36L } },
  45248. /* 6 << 336 */
  45249. { { 0xdbfcfa75e572e06dL,0xafa019d08b7d5653L,0xcc6c851d67a19b60L,
  45250. 0xace88bf431ae1a67L,0x74554a6193d1e135L,0x51ba2cdd4211890aL },
  45251. { 0x7cb326899e8d1f02L,0x29a6b8258b66ab99L,0x0a672c21766e72f3L,
  45252. 0x24bb718a880642e3L,0x425dc41d184d2b36L,0x96a1468e891024abL } },
  45253. /* 7 << 336 */
  45254. { { 0x3180789c26df7050L,0xe375a43e96cdfd31L,0x7951b895e99e922dL,
  45255. 0x987ea2503d0bbe80L,0x6d2f49f0e2fe79c0L,0xc9c2c636c2b18d2aL },
  45256. { 0x707798f3d8c8620cL,0xc2d603dad5c6a0eeL,0x46cf1e32bc447940L,
  45257. 0x4dfc145938a845f3L,0x210083fe455e5d92L,0x6be989eaa1fedc3fL } },
  45258. /* 8 << 336 */
  45259. { { 0x72fc8198dacc038cL,0x5fdae1d9f1077bbdL,0x369198bbd99e3036L,
  45260. 0x6b68390a0efddfcaL,0x8c35f3e4f0914741L,0xd2bc54ecca7d7807L },
  45261. { 0x564d991e3a8695d1L,0x5e1e14c81b0d937dL,0x51f30dab5d635893L,
  45262. 0x0427e346f944e49aL,0x1e0bf1b56a233bc0L,0x75b0ee6c617bf93eL } },
  45263. /* 9 << 336 */
  45264. { { 0xcd2db6797b1bbd75L,0x1ce5acecaac388b1L,0x715ab9f634c1fa9cL,
  45265. 0xa531e1b8e0815643L,0xa64511c692de769bL,0x8425126b785b8bc0L },
  45266. { 0xc8d9320de72e155bL,0x9cf36dcd5600a04bL,0xbea8b0f4c6e1f7fdL,
  45267. 0x6f9af6349767d85bL,0xc3ea9fa4c403ecb8L,0x0af7be1ed60a0e70L } },
  45268. /* 10 << 336 */
  45269. { { 0x180afdcc20928729L,0xec2e90f436bce72bL,0xa8a8c54d8f48e48cL,
  45270. 0x9d0c6a355248109bL,0x8bdd819baa6c3ae3L,0x95e221a6dc0bebc1L },
  45271. { 0x83e568eceb113737L,0xaa6d29c8a1a3a0a8L,0x0ebd5015c54fbda4L,
  45272. 0x692a84832a5c8b17L,0xa08e384b51836490L,0xf1904bfc37ded786L } },
  45273. /* 11 << 336 */
  45274. { { 0x2093335463919940L,0x34e4f27397ea3359L,0xbe64c5584d4156a5L,
  45275. 0x368a6c980497cf92L,0x59931a502288b8cfL,0x67d70ff8c36cf906L },
  45276. { 0x4175562a8886126fL,0x46ecdd1d55114ffeL,0xd12876f94efde702L,
  45277. 0xb0c9333fc046d908L,0x8358b04a2cd6c180L,0xcbaf4612336d3c84L } },
  45278. /* 12 << 336 */
  45279. { { 0xd77d9cd4fe8dee55L,0x7a0f60c12e43fc84L,0xecc5cd746d5da126L,
  45280. 0xb5ac6fee2382a984L,0xd9db83e26ccd0feeL,0xaa4dbcba350717d4L },
  45281. { 0xb3c0562c812ead77L,0xf7a995eea96cdd07L,0xd5419bf1ffeb4e67L,
  45282. 0xba0aa22e1226df29L,0xb8d0d7f4c1e333d1L,0x86fecca60a27388cL } },
  45283. /* 13 << 336 */
  45284. { { 0x9ea1d715dc579084L,0xc1e715dd0b1cf2a4L,0x624fa6e4926bf7d5L,
  45285. 0x5034c9d34f7b4e51L,0xc1b0ed7aba3a42a6L,0xd1847c28b73cdb77L },
  45286. { 0xa4794bc36ae49ff0L,0x50b2d908b9144fa5L,0xad112c778f073479L,
  45287. 0x040499dd4b98f590L,0xd415d273152b5e30L,0xd3f4ff3f39054cabL } },
  45288. /* 14 << 336 */
  45289. { { 0x1e0318d5fff93451L,0x40b91fa9283e197eL,0xdebc5a28089ac579L,
  45290. 0xcf25f527e9d98537L,0x73f7818d4ae08f51L,0x397f2cb6a956c875L },
  45291. { 0xb7d74ac57515436dL,0xc29a2ffd830664abL,0x02e273563cabe01bL,
  45292. 0x418417c103c78924L,0xd12994116535005eL,0x53fc391258f66295L } },
  45293. /* 15 << 336 */
  45294. { { 0x6b1fceac4d87dff4L,0xd31aef70f262f722L,0x894361782612da01L,
  45295. 0x1d3bdfa9963bc230L,0x9a46505ba7afa565L,0x662c2fc7a31db4ffL },
  45296. { 0x33983a9ae5ef30c0L,0xb8c874ee723f085aL,0xfb5fbc860f279c05L,
  45297. 0xcd9cc376ad0a380cL,0xcb19d881fdfad736L,0x1c3d9734585167ddL } },
  45298. /* 16 << 336 */
  45299. { { 0xd23658c8d2e15a8cL,0x23f93df716ba28caL,0x6dab10ec082210f1L,
  45300. 0xfb1add91bfc36490L,0xeda8b02f9a4f2d14L,0x9060318c56560443L },
  45301. { 0x6c01479e64711ab2L,0x41446fc7e337eb85L,0x4dcf3c1d71888397L,
  45302. 0x87a9c04e13c34fd2L,0xfe0e08ec510c15acL,0xfc0d0413c0f495d2L } },
  45303. /* 17 << 336 */
  45304. { { 0xf791c8196726ae9cL,0xc95c53f13cee0ca7L,0x816b37ae601b0802L,
  45305. 0xcf28a2371b854925L,0xdc4f6bc111d5d9f2L,0x222d6102df6862aaL },
  45306. { 0x93d3fcc5c0053ee2L,0x1d30937fdf873eb7L,0x925a2c2527d098b9L,
  45307. 0x8564c199001cf28aL,0x87cb85ed748b8479L,0xd12d6b2b184c1020L } },
  45308. /* 18 << 336 */
  45309. { { 0xeaf36b865bddb3c8L,0xa4bab6e0099f18ecL,0xe22839208addee4cL,
  45310. 0x485307e053bb454eL,0xf981c80d362db12aL,0x012190355cb4b460L },
  45311. { 0x62824680c78bd110L,0xf3e0b963d87df5f5L,0xd96de5e2758da525L,
  45312. 0xc6a810faa60956abL,0x913d5a7b8e3eb6dbL,0x27c581fbbc9e8c3cL } },
  45313. /* 19 << 336 */
  45314. { { 0x5edcd7dcb0c55d75L,0xaeb0b5c727838c23L,0x13d65db758c3fea0L,
  45315. 0xe821d853b36f1f15L,0x3435a4bc365e7703L,0xb890e52f3a04d292L },
  45316. { 0x6a96ae92e7a823f3L,0x3960ecb0ca611036L,0x81638aff210cb460L,
  45317. 0x5f95793ce6b983d1L,0x0d5029ffa3ae1a8dL,0x54f749b492ca1229L } },
  45318. /* 20 << 336 */
  45319. { { 0xefe0a702537c4a5fL,0x322ff89c151d0e69L,0xcee88b48491b757cL,
  45320. 0x8e92cc15b5da77c0L,0x3138b90bf6af039dL,0xeb73edd2f3748d35L },
  45321. { 0xf29f06435b8bb06cL,0x91ea9643560e4966L,0x013c274875acbcc8L,
  45322. 0xdb2d1d9703f1d40dL,0xed7aeef1fcac606eL,0x91395dcabff4b849L } },
  45323. /* 21 << 336 */
  45324. { { 0x952e4e21c8967f37L,0xdc9f71994bf85ec3L,0x6b01f3d00c141bd4L,
  45325. 0xc6601dec06c9ba55L,0x7d884fc0c4a5945eL,0xcab1de947e19d3baL },
  45326. { 0x9ca6aff02e3c9c5eL,0x01e828a1445e4a8bL,0xf97165ae80d065c1L,
  45327. 0xe2195895881978a2L,0x4834501fc6b77acbL,0xbcf7545445d99f5fL } },
  45328. /* 22 << 336 */
  45329. { { 0xbfc9c5071e434ba6L,0x30768f646f2634adL,0xee3a7cec1caf9c0bL,
  45330. 0x27c4fd0bc232910fL,0x5c5813ee24ff4510L,0xe5e731af901f2ce6L },
  45331. { 0x440ca2cf68f9aef3L,0x54ff9e837fa17587L,0x4d792db7982acc0bL,
  45332. 0x73c3863834846c98L,0x76cff95f8d6243d9L,0x5fa573399d015583L } },
  45333. /* 23 << 336 */
  45334. { { 0xe0419a6fb007e4cdL,0xc44ac4961f613529L,0x3408e15af18f82eaL,
  45335. 0x66bebd87d92d3b39L,0x1c563ee4f85d0c1eL,0xb31a8c891f7eb37dL },
  45336. { 0x65c7bf8c458a056dL,0x9d2ba592f25b6f73L,0x1ac4f0bc94eeb39dL,
  45337. 0xa008b562d9a9ac29L,0xe7de714589d1c354L,0x420f5cf04c2e45d2L } },
  45338. /* 24 << 336 */
  45339. { { 0xe11cc2e117cc0d20L,0x9b4cc698d406fabfL,0x6f6e9b0cb8567c18L,
  45340. 0xa0dcda9c61b22b83L,0x4c8683fa79ee53abL,0x7d46b3f82f11f0c4L },
  45341. { 0x91e74e482740aed8L,0x75afb62a056466e3L,0xc60bb430e8d0c16fL,
  45342. 0x36cf252522b4aae9L,0x3713f254aceb6dd2L,0xc2906379eb8c6fd9L } },
  45343. /* 25 << 336 */
  45344. { { 0x440da0369eb8b2deL,0x6c4d1a38462fbb19L,0xfd86930fb050f995L,
  45345. 0x2e5f1a8c954823a0L,0xe9122aefcb9f8e9aL,0xc9e923f2794be14eL },
  45346. { 0xdaa5663dbf740c2aL,0xf3a7ecd6df75c915L,0xa047a07efa80015aL,
  45347. 0x846b4d27ea4a720bL,0x2389717e295845f4L,0xf56f77f6cbf2eabaL } },
  45348. /* 26 << 336 */
  45349. { { 0xaac4f6a7e67b6dcbL,0x59ccb836d51c5183L,0x78d19f452b7ccb20L,
  45350. 0xb32d4ffd5a619a1dL,0x86b11dbe5c4bd17eL,0xd983e839a9b52073L },
  45351. { 0xfe9c0b92993455c1L,0x3a156676ea36006eL,0x578217fea907ca7aL,
  45352. 0xaa3c5489440a251fL,0x6760a166d7fdf3fbL,0x4a2fc54b4415c6fbL } },
  45353. /* 27 << 336 */
  45354. { { 0xaedf171dbe18bc16L,0x00febab2b2d026ffL,0x82b6d8890cdcca4aL,
  45355. 0x1b1e4c53445bc877L,0xc2174e10ed74285eL,0xced66cc02b243f6bL },
  45356. { 0x73e9ff69c7b9a66eL,0xc4fe5caad5e4d121L,0xaef80d67402c5d1fL,
  45357. 0xd3b95a0f2f3dcaf9L,0x00cb6e798ceeea00L,0x1ee2ca8c436f35e1L } },
  45358. /* 28 << 336 */
  45359. { { 0x0b21c764a6db111fL,0x7c36dfde24c5721eL,0x53a0b6db66e2d428L,
  45360. 0x6f37bf728169d776L,0x9baf6385a68511c8L,0xeaef9c919b218151L },
  45361. { 0x712cdd5bdd58d201L,0x50bcd0988d3f78c3L,0xfb6427b571fcb05eL,
  45362. 0x6245fe7cc4675aebL,0xb5b75b50fb767bdaL,0xc1d8b76ddd7a18fdL } },
  45363. /* 29 << 336 */
  45364. { { 0x6392686cbb52f636L,0xf10df7c41c46a5c1L,0xab7f88acc504a122L,
  45365. 0x2a179193fdb6a9d5L,0x2a7c7e4e2901f29cL,0x3ab41b80a2cc726eL },
  45366. { 0x8f577fc31fb5e412L,0x65cba0aeff7c47faL,0xa79191697f45c04dL,
  45367. 0x2712fcaeb29a4c06L,0xf2a879e4099f76e3L,0xd333fabd98a22a04L } },
  45368. /* 30 << 336 */
  45369. { { 0x87a905e056ddf14cL,0xd36289cb95a1c633L,0x2fb251aa57f8f0f2L,
  45370. 0xbf9c72a9fb7907a4L,0xb4f9b6f3f771333dL,0x7b5ed437469ea10bL },
  45371. { 0xe8cfa847fa5a8f93L,0x456395c945a4c9a9L,0xe20ffc39f7fac5a6L,
  45372. 0x8b07c9ff287a3c78L,0x117f306f67e66d0eL,0x97c8a6388b331e09L } },
  45373. /* 31 << 336 */
  45374. { { 0x1b3e04c26a98318fL,0x04d5ed5dd5a63b2bL,0x4098d09f3cebabecL,
  45375. 0x226bb70565a14306L,0x5bdce76fd962a94fL,0x47a66e96c40dedbcL },
  45376. { 0xd514ae5bbedcfbb0L,0xa8c0fe40892f07e7L,0xcf78e224c9186f1cL,
  45377. 0x2499f68fe94329e0L,0x3ea3fae5ebbe3d2fL,0x681fca8bbc631de3L } },
  45378. /* 32 << 336 */
  45379. { { 0xb097b2c5c4e81268L,0x7ef175521d50ca8cL,0x638266e942099644L,
  45380. 0x43d059deff729073L,0xeebb5fe1148c3940L,0xb82e73d1daa8e925L },
  45381. { 0xf43c78d8254380fdL,0x2beabc58fce37fa0L,0xcdd5a7d66b636357L,
  45382. 0x8b70a2ebe096a954L,0x011d5419d0afa2fcL,0x3e49eb6704fb095aL } },
  45383. /* 33 << 336 */
  45384. { { 0x5c73f69fb99abd8eL,0x0a7c36aacc1ed636L,0x9d2fe67e7f69a6cdL,
  45385. 0x04d015fd48c34b1fL,0xc50f88c17f84915fL,0xeee3e105a706fb24L },
  45386. { 0xbd42861c734d0513L,0x544b6ef495408b60L,0x4526e680d40179beL,
  45387. 0x9f984c4140ab740bL,0xbed7baee67a02ab3L,0x09e3446862a9fb2eL } },
  45388. /* 34 << 336 */
  45389. { { 0xdf64ebcf28eedf59L,0x435531be73b5d9f4L,0x1990df01cf35d981L,
  45390. 0xa34d4fa9a2cc41b0L,0x9f643bd6b5a10b37L,0x90cae11158a6cd14L },
  45391. { 0x2b0490701943d2f3L,0x2c9f8af4eda3fc20L,0x48c245c5f96e72f3L,
  45392. 0xb4505a3a861355deL,0x4dfab1b9be032112L,0x69c1a9195942de24L } },
  45393. /* 35 << 336 */
  45394. { { 0x761c2c356efcc891L,0xd06710d1fa376241L,0xc83a491c8a78b0fcL,
  45395. 0x0c0ee8d8af75b3eaL,0xe6d9d92e4532b587L,0xcb3b652d64eba138L },
  45396. { 0x1cc504ca34ff5d2aL,0x207e7443d0eae0baL,0x94ad1676428382b1L,
  45397. 0xfcb5909992ec17c5L,0x7f99e1b5ce3b2e48L,0xa8c38c0fac9bc921L } },
  45398. /* 36 << 336 */
  45399. { { 0x5763ff1af4ba4711L,0x6aac1315bfaae662L,0x51b9c30ede4b5505L,
  45400. 0x50e63d1891b25d3eL,0x41938349e65ea695L,0x11260360f514dd15L },
  45401. { 0x231f7f574a086eecL,0xa2c3237f55bd9ee1L,0x8afafa043e0705bbL,
  45402. 0x44607900e9fc754fL,0x7250929678519ce3L,0xe751c3a74d17708eL } },
  45403. /* 37 << 336 */
  45404. { { 0x0098a3254611d3dbL,0xbee52036dde82f67L,0xec432a62cdd50282L,
  45405. 0xae8a144e52f994f2L,0x027e9e60aa5c03fdL,0x1a49ce47821f55f7L },
  45406. { 0x46fbbd6c4d10c0ffL,0xe14c82ff8c461df3L,0x95570f44aef902b8L,
  45407. 0xacaa04ec0eb7eb26L,0x3c8c86a8e738570fL,0xb87d47ccb77cc59cL } },
  45408. /* 38 << 336 */
  45409. { { 0x2f4f68377bbf7168L,0xd5b67947f03f7145L,0x2c6ca74d4cecfe22L,
  45410. 0x0e559b9f0a7d6fadL,0xdbcd039ff6b37f98L,0xaaf1f6edfa7a3877L },
  45411. { 0x97b779f0f607316fL,0xe2185ccc72b99fd4L,0xd3f696bf2bdfe399L,
  45412. 0x20d9baf15e6c403cL,0xe5bbc1cb4c4f1216L,0xd1c0761a428838fcL } },
  45413. /* 39 << 336 */
  45414. { { 0x4f433b8abd08dd65L,0x27849a72773bd3c0L,0x62351b911854502eL,
  45415. 0x836580ffca24ce7dL,0xa5c224a39355258aL,0x8d33fb43e65db7f0L },
  45416. { 0xe44d391edf49a825L,0xc28e0d9bd2f5d4bbL,0xf7208342efb61ae9L,
  45417. 0x43686b414dbce055L,0x7f7562d01800c062L,0x5031bd7c8b8ace99L } },
  45418. /* 40 << 336 */
  45419. { { 0xc183199375476a4fL,0xa6383a0055fc4367L,0x23a72dea98bf90c4L,
  45420. 0x67ee6f451045a947L,0x4e6518836920d0a2L,0x49132c9ac8042a04L },
  45421. { 0xe249e46d5dfa9fc8L,0x6ff9eba1c60d1a11L,0xa4d9362d43490335L,
  45422. 0xe8fad79ade504480L,0x519e8d1bac43c951L,0x7e688047952d6f54L } },
  45423. /* 41 << 336 */
  45424. { { 0x135d677342e27f9eL,0xd58b98fb8fcc77e0L,0xf3bb847d7f64928bL,
  45425. 0x15ec841663176905L,0x83e75b6a0f755173L,0x4c3eff5c7a24de69L },
  45426. { 0x289e9a45313bf61eL,0x01b15aadeafa2733L,0xae7fafe1d2cf501dL,
  45427. 0xd6fba525d5ac0b3eL,0x4bf48be0689bb20aL,0xa591843255bf610eL } },
  45428. /* 42 << 336 */
  45429. { { 0x0f019b64c5f8df0bL,0x112f06a979307310L,0x91dc57276d16102eL,
  45430. 0x34070a5be2651248L,0x0b9f35dbd3423044L,0xf29bb4a072b10ed1L },
  45431. { 0x87071a9a07fb6388L,0x4246d532b7dbdb1eL,0x87db3d2285a039c9L,
  45432. 0x76620a5d42b030cdL,0xc798e3816a42d8ebL,0xdd97441ac441ef9bL } },
  45433. /* 43 << 336 */
  45434. { { 0xa9b004a0f08592c3L,0x984d17e5d069c54dL,0xc96f2132ccb87e81L,
  45435. 0x67fd082f3b1f9eccL,0xcdd0827ac4ff9feeL,0x9d1025070e04b7a6L },
  45436. { 0x4ff3424177c67935L,0x4f2246f58efea5b9L,0x128085b12fbf7615L,
  45437. 0x9f111f65174b0575L,0x0b27d8e2f455cba5L,0xda20626b536054eaL } },
  45438. /* 44 << 336 */
  45439. { { 0x4a3df6de3761fa82L,0xb839d6babc56eb6cL,0xe41afc5e13977a26L,
  45440. 0x64022937fc0686d5L,0xa5d6dc19e2d681a2L,0x81afab3128f411b0L },
  45441. { 0xc089aff74321a117L,0x32b0ae2657d18f89L,0x650aacd5f66aacd0L,
  45442. 0x7b317bf6b8d3f677L,0x2cd5789777ea82dfL,0x935be0f3c74e7509L } },
  45443. /* 45 << 336 */
  45444. { { 0x4387f8f602de9e59L,0x529c06f337589811L,0x6dbaab60bc9f06b4L,
  45445. 0x0063bc3db5f181faL,0x7bcb289969b906b3L,0xdca70d1331d1ea3eL },
  45446. { 0xca65e546ee373e94L,0x13cd365c779f415fL,0x4183460e9d71cb08L,
  45447. 0x60f312726e35eaf7L,0x3d0c265f14bc5e0eL,0xe7a1b9af39ce618bL } },
  45448. /* 46 << 336 */
  45449. { { 0xc234c892f46aac36L,0x213076ada55983a9L,0x81f96142dcf335a1L,
  45450. 0xf21ceb724b22e311L,0xa12d6333dc053e1dL,0xe7808925a930732bL },
  45451. { 0xb5a9eb81b1f1075aL,0xd13739c0f0a3e623L,0xbcd842e9ff2f24d5L,
  45452. 0x200cda381b16ff0fL,0x0a85ea521d6a6c54L,0xe1c0dc8756785463L } },
  45453. /* 47 << 336 */
  45454. { { 0x3287c8d39100f769L,0xb349ce8c052e8bcfL,0x5fdb952dd0d3e44bL,
  45455. 0x68715110d0639cc4L,0xc9a5fbaac8efc67eL,0x14ebb97da009aec5L },
  45456. { 0xf0684e1ca1423e1eL,0xb282f2f56357fa17L,0xc2e79d3c5af78041L,
  45457. 0xe0ca9f4bd7d2ba8bL,0x20629f1e04dd84bfL,0x274ebccc3ee73228L } },
  45458. /* 48 << 336 */
  45459. { { 0xeb05c516156636c2L,0x2f613aba090e93fcL,0xcfd573cd489576f5L,
  45460. 0xe6535380535a8d57L,0x13947314671436c4L,0x1172fb0c5f0a122dL },
  45461. { 0xaecc7ec1c12f58f6L,0xfe42f9578e41afd2L,0xdf96f6523d4221aaL,
  45462. 0xfef5649f2851996bL,0x46fb9f26d5cfb67eL,0xb047bfc7ef5c4052L } },
  45463. /* 49 << 336 */
  45464. { { 0xeadd123d385f2b36L,0xe3b14829ddf58569L,0xa4fdf0ec47c7e485L,
  45465. 0x93c0d8380623ea5fL,0xeb9c0a2c9e2661deL,0x8046fc69e72e0ca6L },
  45466. { 0x6f439e5c7be1c918L,0xcd8fd2f92a9ffcdcL,0x7f134747420e939cL,
  45467. 0x8e880ef05ae283f9L,0x502c5c99f780a249L,0x68a529ab94bf9d68L } },
  45468. /* 50 << 336 */
  45469. { { 0x3cf994ed88c9d290L,0x9209f5610bb34d46L,0x8170b567b2bfa21eL,
  45470. 0xae87b6f7c62f86d4L,0xac6fc431d71bccebL,0x5f3a62ba83cf2970L },
  45471. { 0x390262d1d943b10aL,0x8fc9a27f28aec573L,0xe59beb203e3069f9L,
  45472. 0xf3e7bd365e0812a7L,0xc29c8a433aceffa4L,0x015feecb41c25e2dL } },
  45473. /* 51 << 336 */
  45474. { { 0x5b6a4d6ca8e61f40L,0x35825d762f9a6e70L,0xd48f6d8d346a8b94L,
  45475. 0x12bea60889801a40L,0x5182192ad57115f6L,0xb5a8dc6b954c1b47L },
  45476. { 0x084a5c71793b427eL,0xeb66d699f8de2a03L,0x9835b2fb8eb6d905L,
  45477. 0xb4229923c79dfe40L,0xa7c8aedddee34c0aL,0x12a00675337b0658L } },
  45478. /* 52 << 336 */
  45479. { { 0x38ca9f61d44aee32L,0xb2cd0f505484905aL,0x23ecb3a4d812e727L,
  45480. 0x9be645b874a3ac5dL,0xaa4a1d114bfa93b9L,0x5be5277d147072caL },
  45481. { 0x623a4bd9ba0a6d93L,0x03419661dcf3d9b1L,0x9bffbe8231de1cf4L,
  45482. 0xbadfa2ab56a6af06L,0x9103f7256746f09cL,0x0cd5e956344a2688L } },
  45483. /* 53 << 336 */
  45484. { { 0x50a18ab1f40b0edeL,0xf963b76736e01032L,0xba2029b4d4f9a6deL,
  45485. 0x8baec9b85a8446b9L,0x7a4107e766fa8a92L,0x06e78bf99f6543d9L },
  45486. { 0xdaa894b3a5043e86L,0x172858a8f4e6fe37L,0xff0265cc0844608dL,
  45487. 0x5db1a8f1d5def174L,0xdf9f8a698874fbedL,0xdd2292a977a274d6L } },
  45488. /* 54 << 336 */
  45489. { { 0x46f522196ad8d03dL,0xb63e0eaadaf8b0d3L,0xd667f0a66e29df38L,
  45490. 0x6e77432f96ef3b57L,0x78fe0872139ca180L,0x300a0c78d1e4af21L },
  45491. { 0x650f32462148816aL,0x31ef1e883b4301a2L,0xa2222b25f18442fdL,
  45492. 0xb26b63066884291fL,0x977b6f7d713d88daL,0x3e8173248cd5f7f7L } },
  45493. /* 55 << 336 */
  45494. { { 0xd5687c9a9684771aL,0x797808e396cf65d4L,0x793d4eb6ea9ee562L,
  45495. 0x2359b991fd94defcL,0x4e75cdf03a8959adL,0x7a08566900ce7815L },
  45496. { 0x5c61df5da699fc46L,0x02b62d4868da56d5L,0x8a6972d1eaea27d5L,
  45497. 0x727582b3c8e5d04fL,0x0ab2e6c2de87c408L,0xaa9a62e47b9ed157L } },
  45498. /* 56 << 336 */
  45499. { { 0x9c6247d631af03e4L,0xe5a59ad075f9ee90L,0x1da1d64f6ac4b5a6L,
  45500. 0xd2fbd169c521ec7dL,0x6d168015dfaa39f7L,0xe9bcf5b59c69d9d7L },
  45501. { 0x3d1d3e6693ae2925L,0xcda60beae4bc73a3L,0xb2456adc954e2f3bL,
  45502. 0x5d312fdc02a8fe08L,0x7b37c00e0e497a0cL,0xbd1f3aafc2f8b148L } },
  45503. /* 57 << 336 */
  45504. { { 0x60f3bb27bc00d150L,0x159c5af42448affbL,0x4492b6bd2cfa563dL,
  45505. 0x7e58219683c833b8L,0x9f9ebdb20edfafa2L,0x93a7048f31a39a8aL },
  45506. { 0x4172f74d50149d01L,0xff38fceec58b7588L,0x2e71ba9099f25353L,
  45507. 0xdf50fb440604e555L,0x7effa7ca8f3b5969L,0x3bbe8d49b836b8bfL } },
  45508. /* 58 << 336 */
  45509. { { 0xc18c375c29d08d49L,0xb04c0c29c1a681bbL,0x0c4acce9e74dd458L,
  45510. 0x1d6da95c85c920a1L,0xc67280d285387462L,0xeba99725e7e804adL },
  45511. { 0x08f80e5a8811a138L,0x26f442138f2136e3L,0xf67f157c2d028cc9L,
  45512. 0xb436356d14cd7cbaL,0x1c9c610290281895L,0xf67f16ea48598bdbL } },
  45513. /* 59 << 336 */
  45514. { { 0xbf926a077a326266L,0x4045c18bef43cfc6L,0x6fad4cf56ce45553L,
  45515. 0x613ad2dc45a9abc8L,0x7b086ace8836eed8L,0x855857c213ad51d7L },
  45516. { 0xa3b19c2d167664adL,0x422c548abbd2c452L,0x8cd3681f85928ef0L,
  45517. 0xe969e45c3ed435ecL,0xf76f2cce746c9aacL,0x514df58d1dd90e35L } },
  45518. /* 60 << 336 */
  45519. { { 0x9b66219c4d09cd36L,0x6c6fa570b54f0853L,0x95c268bcf29a8fffL,
  45520. 0xc8cf84bf5420c324L,0x5bfc975ebb61617aL,0x935cfe24e78f1bbaL },
  45521. { 0xa6e2afe919d71ea1L,0x8a321e568c9b950eL,0x42dd9e28ec097826L,
  45522. 0xf06e600ef391633aL,0x94e5512b46acbe2eL,0xb0bca2cc61cc7a08L } },
  45523. /* 61 << 336 */
  45524. { { 0xcd361103e8b2d41dL,0x2d0d982cab0b5f13L,0x8158129618d55aecL,
  45525. 0xf1c28a71579caa03L,0x5ddedfd7e50b83faL,0x932d2c03222105d0L },
  45526. { 0x48fd0ead75ada3f4L,0x29209d988c533a40L,0xc2acc587f2acf0c8L,
  45527. 0x05a8703ef689912fL,0x8f28953b9182995aL,0x1cbba2f20fb3eeeaL } },
  45528. /* 62 << 336 */
  45529. { { 0xa1472574180e5eb2L,0xde27569b93fc7b21L,0x3bb956816b9af8aeL,
  45530. 0x8a25fc0ee155f89bL,0x8aff018d825126b2L,0x6eda2f31906f0bdcL },
  45531. { 0x19cbbecc4e8fbe4eL,0x04e0a4a40568d248L,0x6de2c002ff07b863L,
  45532. 0x6d388447e8d1595dL,0x6a193b70c2cfd10fL,0x00bd826ee6f6bf96L } },
  45533. /* 63 << 336 */
  45534. { { 0x2a0165a40a5b4d1dL,0x49c85ee904f12309L,0xc2d221031ded788dL,
  45535. 0x510ccbb3735bd89fL,0x92d2eaebd8eb0e1dL,0x6bda8e346e428c11L },
  45536. { 0x44c01a1d361f7495L,0xddda8e97cc7a95bdL,0x95cbae30524a53baL,
  45537. 0x266d7192dacad45bL,0x8a42793f22fa4b99L,0xbb393cb5ed204904L } },
  45538. /* 64 << 336 */
  45539. { { 0x88e7ac8e168d5e60L,0x53abd5696188a98fL,0x3b96d52918be419aL,
  45540. 0x7e75e354c057621cL,0xcb1b709f5ce57e59L,0xe78befa2844f2463L },
  45541. { 0x536081993276d4a0L,0x92636ade157f2024L,0x6dd0d348e0411414L,
  45542. 0x5b28e9504d73eeaeL,0x08439232690ed85eL,0xdde1a3496da14b58L } },
  45543. /* 0 << 343 */
  45544. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  45545. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  45546. /* 1 << 343 */
  45547. { { 0x6cbd275739ed9ec9L,0x5db68a68fe5d4aa8L,0x177eaa0be4c58c7bL,
  45548. 0x603551ef0e488784L,0xc8eba131df916b0fL,0xd0dbceda159732e2L },
  45549. { 0x55acca84b0834afaL,0xdbe98440b59ffbf5L,0x162a2c703bd3b202L,
  45550. 0x4c5e5d256ddd8ebaL,0x66e7844a77b1d93dL,0x1292bc0e110b9dcfL } },
  45551. /* 2 << 343 */
  45552. { { 0x1b66faabf9e89beaL,0xc81c5ddc3a441284L,0x1a82f3a0a675f7c8L,
  45553. 0x82884a2f30313a71L,0x7ac5d7b058aea9e6L,0x1954f075cd5ff05dL },
  45554. { 0x7c29638d6178d270L,0x6af7f8ba19381929L,0xe85e3c47a17ae3a7L,
  45555. 0x91b107c77009e38aL,0xf3b777d8f1f9c52eL,0x5b7b74ff11b688a0L } },
  45556. /* 3 << 343 */
  45557. { { 0xe1e5b76914b87b2aL,0xee187f5d143a4ae1L,0xa9a38728908cb988L,
  45558. 0x2027b2ed4443d8daL,0x1c6b4813c0c98675L,0x509ea7d1323bd978L },
  45559. { 0x43b16a587f4dc19eL,0x385f8be812940ae9L,0xa4ed64e57d59acadL,
  45560. 0x47e7abed51ca7f14L,0xead594b82bcce6b8L,0xa2bff60cfc03cf06L } },
  45561. /* 4 << 343 */
  45562. { { 0x4ae3d232c0385874L,0x83bda9e6cbf96d2aL,0xba73c769ec62fd6aL,
  45563. 0xd586ba7f62a4720cL,0x6497cd140cc1f491L,0x8b012b707b2ac571L },
  45564. { 0xa65eabb6268fd705L,0x8caf100a1431873dL,0x25b31b84231457d7L,
  45565. 0xcab62f75901645c5L,0x2377d74db2f7b656L,0x4008277c2d33c95cL } },
  45566. /* 5 << 343 */
  45567. { { 0xa7be70c04bfeb784L,0x4633ddadc222ab44L,0x00e397d30f5924bdL,
  45568. 0x5446db3ae25b7b9eL,0x433ea2c4fa1dd048L,0xbb9ae36a1421321aL },
  45569. { 0xf879069dc59fe8f6L,0xe0f2b8b4820bfee2L,0xcc6cf7c49cf239e4L,
  45570. 0x0e3545c207dc3122L,0x23b0f48b1d2c737bL,0x1c6b6d9cfc1137d4L } },
  45571. /* 6 << 343 */
  45572. { { 0x10105dfd101d2433L,0x64e009b58ab6d664L,0x122e68324e80fc07L,
  45573. 0x3b26e76287dc7da6L,0x7bc183de6d4728cfL,0xebfecf4f8bcdc129L },
  45574. { 0x8b995cec265c66f5L,0x080572d7c4b0e942L,0x612e9e6b4da5b77dL,
  45575. 0x8ec048a96caf9161L,0xe3628ee2c7f45eb6L,0x0190b71bd85650e9L } },
  45576. /* 7 << 343 */
  45577. { { 0xccf79a81017fbd3fL,0xa852ca29c875bc66L,0xbb4cd90c0592f8e2L,
  45578. 0x2ee786f455b05c79L,0xe1a2b6baf382e6e7L,0xf2d6cf6e6d2e952eL },
  45579. { 0x2f0b534abc9304fcL,0x1d63fd80795629a3L,0x42e70cd9322d8e03L,
  45580. 0x8a282cdfb057e36cL,0xd18a0c313ceb177bL,0x270e31569c58b890L } },
  45581. /* 8 << 343 */
  45582. { { 0xaae2f448ed001c43L,0x08ad1d9bcf4be493L,0x3262b2f482c1f372L,
  45583. 0x5521febd351a5f7fL,0xf8ec9190916c75a8L,0xf3c258c72728dfb8L },
  45584. { 0x5dd4ff4f8af19574L,0xefddf5795d076b1cL,0x318b5b98ba8b777aL,
  45585. 0xd971d426fb7f8409L,0xed1465e8b0fd31dbL,0x80d24d4300f66347L } },
  45586. /* 9 << 343 */
  45587. { { 0xe8263e8012eb6baaL,0xc452c7581dde8c37L,0x5112af2840baa45dL,
  45588. 0x949b8a740793703aL,0x8ba78382e60e007eL,0x38cd110412823c99L },
  45589. { 0xdeb0d555f86cf04bL,0xb2f20bfdfd9f6320L,0xff1d399d17c39502L,
  45590. 0x1340aedd1bdf0760L,0x36b2b43c88cc0c09L,0x5f3dba7e9ce285edL } },
  45591. /* 10 << 343 */
  45592. { { 0xcea0374a69ca5051L,0x19e060ad5294ae7aL,0xf6ce02361bb01f47L,
  45593. 0x2a5b28ba8c328b8bL,0x6991b1d8b253d630L,0x360afd40859455d8L },
  45594. { 0xf5c6e1427c1f5946L,0x1eab83084cc8c391L,0x4eb4032f67e76ecdL,
  45595. 0x5bf14aa233898059L,0x0804a7c00e001b76L,0xe3866a93734cd134L } },
  45596. /* 11 << 343 */
  45597. { { 0xbe85177db72e5eadL,0x47c15fad59fd2463L,0x2cf5f07f4bd51f8eL,
  45598. 0x82f48288c2898713L,0xdb08aab4c8f753e8L,0x18a1f5c510f58eddL },
  45599. { 0xaeb7bde366d0b94cL,0x04539620079fb6dfL,0x64d1aff2ebe8c4b9L,
  45600. 0x08d9ef431a10a101L,0xe326c7ec6c602789L,0xd8b1b3e7f6efc3d1L } },
  45601. /* 12 << 343 */
  45602. { { 0x5ba5288c1ae586a2L,0x044f1fc61b715821L,0xc1a9a997602f3c65L,
  45603. 0xc5c7512fe08c0223L,0x48a19c3c367e6f1dL,0xa9f2195dfb241597L },
  45604. { 0x9f674a5fb5ba32a6L,0x275a060f0a312742L,0x5aeb8c4303d6f13eL,
  45605. 0x0fed575d917433fbL,0xe4a5ef9a59f53490L,0xa9f86145f315e616L } },
  45606. /* 13 << 343 */
  45607. { { 0x770d01ab2c1deef8L,0xca72f761f61b2a4eL,0xff686a4ceff9ee49L,
  45608. 0xd6b338d30d07000aL,0x885b4e8ce1050b10L,0xd6326179b2364b01L },
  45609. { 0xceb2bafc672b298aL,0x7df8941aba628946L,0x9c94004ebc56b115L,
  45610. 0xde09cc2d7b12cdd2L,0x9c2dda163833ce43L,0x88da691a6265b59eL } },
  45611. /* 14 << 343 */
  45612. { { 0x7059c58669a03980L,0x91f2dfe4e88e1287L,0x96dcd9318d9633ccL,
  45613. 0xb2abc44f37bda148L,0xe31adb3feb8964dcL,0x7b07e015e316876cL },
  45614. { 0x31732880ababd240L,0x5c37a667e95854a1L,0xb5b334c91d6f69adL,
  45615. 0xe613e5622c34e118L,0x8bbdbf5c5f5984edL,0x82ecfd95cf4f63a1L } },
  45616. /* 15 << 343 */
  45617. { { 0x813caa72ade4e3bfL,0x29055be8600c93c4L,0xcb346967e6e4ec1bL,
  45618. 0x39c1152d50ce992fL,0x4682c20e5ce62852L,0x04e9dcb7f4e45ed4L },
  45619. { 0xda75355d7c0fa5bdL,0xe80f29b078949d91L,0x6214610130fb9e33L,
  45620. 0xe70cda8f325eececL,0x49217f74efca3e14L,0xd3c890b36bd7246aL } },
  45621. /* 16 << 343 */
  45622. { { 0x315ad7a47e5a59f4L,0x1c615bfc543c8b00L,0xe12f97a8baa56473L,
  45623. 0xf263db4446edcfcbL,0x47cf91d53c1a968eL,0x1a1165b4c15db875L },
  45624. { 0x5d35e53a3479616aL,0x649f87b45c59958fL,0x5d3d11ea246da3d3L,
  45625. 0xc1ddfcc653f06820L,0x8169d7116610c00fL,0x15f16ba54bddc8c7L } },
  45626. /* 17 << 343 */
  45627. { { 0x307b040d9977713eL,0xc03f7787dee9e016L,0x761a5d03e12c354fL,
  45628. 0x8fa1a4141cc88904L,0x2e079008b7675e71L,0x649c789591d68d60L },
  45629. { 0x63467e93c98f1c9eL,0x81931ac7fcc52703L,0x2060c89538e59af3L,
  45630. 0x8c12e002a87024c4L,0xfc881e69b3b8496aL,0x2b4e482e1e827081L } },
  45631. /* 18 << 343 */
  45632. { { 0xf80ed61a30fa7e86L,0xf2e5f324a15ec5d9L,0x139ca085ecba2d64L,
  45633. 0xd164ee5ff3f5cfd1L,0x758c0008e5cc3cc5L,0xd180c463ce8fa1f9L },
  45634. { 0xe5dd27054adc6e61L,0x061e0c3c592c39e5L,0xec5a8d4a4e437781L,
  45635. 0x9e4c6f461e6d4540L,0x33ab232e2526e6eeL,0x3c551685ea282d9cL } },
  45636. /* 19 << 343 */
  45637. { { 0x59507a2162ce1459L,0x88b465d1c6a2cb30L,0xa5ef8b2b5c8ef7d4L,
  45638. 0x73145f4c4dc9a457L,0xabad3390d19186f2L,0x7036b424f9b78a7aL },
  45639. { 0xf76f51bb16e04046L,0xecd1ece92b2b71efL,0xda8d82011900f2b9L,
  45640. 0xc2d3291b268d1bfbL,0xa6c1c79a2d176459L,0xb27e5d5885ee1b7bL } },
  45641. /* 20 << 343 */
  45642. { { 0xcf19fb2a1e548ef0L,0x8bb6dfa0cc694171L,0xeb1668ca5c5e390fL,
  45643. 0xf5a3485be1975263L,0x4edfc596442cc850L,0x9901f447f9627d74L },
  45644. { 0x3a6b85c984d0413aL,0x1466366167de639cL,0x9fc9fdcf11705bbbL,
  45645. 0x6d066e2bbff2cf80L,0x38dedc2fdc3026fdL,0xad533a981b828538L } },
  45646. /* 21 << 343 */
  45647. { { 0xa7d51d862222dcb3L,0x52e2531cd1a6c525L,0x742b1234532126d8L,
  45648. 0x226043f24e9e77acL,0x02f270afb3a75b2bL,0x7ede5714d4a8dc0aL },
  45649. { 0x24699e16b34fd97dL,0x4e5d785e8d417ad1L,0x273f5dd1ec307ecdL,
  45650. 0x742373863186955aL,0xf46805fde6afd38dL,0xae100ba424562906L } },
  45651. /* 22 << 343 */
  45652. { { 0xed9f434e5216636cL,0x242bd09bc5c1668fL,0x8bb747bd804f3d6eL,
  45653. 0xd66d8753c7c83dd2L,0xa71016c2584540b8L,0xd8b16210fdd41a90L },
  45654. { 0x5eb5947e1b65be60L,0x1bf995e7616dbdc2L,0x71b7099abb7dbdd8L,
  45655. 0x53650d29079eec24L,0x6bdd1b0e8ebd86c8L,0x0a9658ed9a31624aL } },
  45656. /* 23 << 343 */
  45657. { { 0x3be2ce89b8cf4d55L,0xf9b3c501822cdcd9L,0x0cc8423010e12f3aL,
  45658. 0xee09031a3c580ec7L,0xf4c256a812f4b48bL,0x71a8323104018d0cL },
  45659. { 0x69ad6d7babfcf13fL,0xfa79b457af658743L,0x249f32816001af58L,
  45660. 0x158430fcea127a64L,0x25a3e4549a9be713L,0x68ba3f0fcc6b5bb5L } },
  45661. /* 24 << 343 */
  45662. { { 0x6c75bc93b7bfa29eL,0xf86f22b218ef6d69L,0x90ce6a1536dcadf2L,
  45663. 0xf11f711c7ce50921L,0x0739ceda38a479e3L,0x840b825e6ec3dbc6L },
  45664. { 0x7c36c0a59fa23481L,0xceb61fd170cb186dL,0xac6f7d3c26e4754dL,
  45665. 0x4076d3b5f317b385L,0x52f1bd723fd9e9c7L,0x6649d8b6bf316043L } },
  45666. /* 25 << 343 */
  45667. { { 0x5f03dcdcceb1e25cL,0xafff6561d50ff864L,0x17208b6f3a6bb787L,
  45668. 0x61d96c978e15abf2L,0xb1beb427991107b1L,0x436328475008aa3fL },
  45669. { 0x8a326eeb3595febdL,0xa8e5a037ec60dc0dL,0x762ebd2a3159f062L,
  45670. 0x8ea005adbd1b0bd5L,0xd4d863cf696d4121L,0x2a07a637eacc9b9eL } },
  45671. /* 26 << 343 */
  45672. { { 0xf352e28b54a8ffaaL,0xa8317f089ce68b6eL,0x7deb148770cad820L,
  45673. 0x2411b382b2c3579dL,0x20b21ed214d36e66L,0xe7331bec353b9ff5L },
  45674. { 0x5692636840dff0b3L,0x13356f7b646eff07L,0x1e6e6e4508c64091L,
  45675. 0x913b83f2ea0b920eL,0xb69e5f839f713aa1L,0x8e59d3794632a60dL } },
  45676. /* 27 << 343 */
  45677. { { 0x3594c0d3cdefc3dfL,0x9d850e2fd21cf9e7L,0x245322944e38263bL,
  45678. 0x597964610e43acb7L,0x13fad563bca9408aL,0xe52983dba985390cL },
  45679. { 0x9c5e71e08c000a9dL,0xde6b0b2f800949e2L,0xc58032d131d94108L,
  45680. 0x36cd4099b31811e6L,0xa8d9bdeb3981d619L,0x06f644e03d4760c2L } },
  45681. /* 28 << 343 */
  45682. { { 0xdc2870f8243cfbd5L,0x000b71b31ab496f3L,0x53511a3f708f4507L,
  45683. 0xbd7bd0381949d835L,0x723a007d938f4db6L,0x5bc8679e2d04e9fdL },
  45684. { 0x51ca5fd176ec7fc4L,0x86c4205c988f354eL,0x9042e76b2a0a4a90L,
  45685. 0x368f52a84ad44d2dL,0xddc2cab8912edfb7L,0xde74ccf5cde80199L } },
  45686. /* 29 << 343 */
  45687. { { 0x91b31fcbcaa3f1d2L,0xb8a29af1bcc99f53L,0xc5842b2695662f80L,
  45688. 0x13954262a4b4b396L,0xc1fac956a6acfdffL,0xbe37fa4dcf60b88bL },
  45689. { 0xc7715493dffff3deL,0x06dfaceda1274350L,0x9dfcaffd7460fa94L,
  45690. 0x5f1d3a351e9c317dL,0x2fbf393d377b84ceL,0xb4d9bc8404b83635L } },
  45691. /* 30 << 343 */
  45692. { { 0x29871ce22855a74eL,0x5418f0dc98696474L,0xd8bc07d6b90d0498L,
  45693. 0x391012a79fdc0ea2L,0x271396949b09f60aL,0xa0a43dbf3371f0d7L },
  45694. { 0xab5849422af8d992L,0x64cbd121409eb3faL,0xd36faf01766864fcL,
  45695. 0x69189faea2a83417L,0x3c24d85e3733b772L,0x125a915d2ee497adL } },
  45696. /* 31 << 343 */
  45697. { { 0xa8f9eb2abab3fa8cL,0x484584f654ab1e16L,0xee74e5aab21b34edL,
  45698. 0x3ce626ff4eb689f0L,0xd757f22b0006e5bcL,0x611505d024a25e65L },
  45699. { 0x212df14c46382659L,0xd17898d78c73da0aL,0x5604a93e51421c2cL,
  45700. 0x76147f7603a580a1L,0x325b5c8ae5c34d09L,0x6ff28848db857152L } },
  45701. /* 32 << 343 */
  45702. { { 0x8002f4583e455a61L,0xafbafd375bea205aL,0xa8ced112fb93f735L,
  45703. 0x27cb6292196e3084L,0x72395bdd77e8c744L,0x02e018d8ee71f5ffL },
  45704. { 0x7cfc14d9c1337a1dL,0x94e14c0ad7b4d86eL,0x66e50129d213738eL,
  45705. 0x7a905d91bc0b5ea3L,0x92cb630afca06700L,0x65e06d5cbf3a0821L } },
  45706. /* 33 << 343 */
  45707. { { 0x769ff9191e1cde66L,0x6ef257d1944a8786L,0x881437da4f75233eL,
  45708. 0x15266f3768665eafL,0x21fcccafc1777505L,0xe9513e1ab7fea0ddL },
  45709. { 0x67806e9c53c8a735L,0x24be9a769b11ae2eL,0x928c1455045d2065L,
  45710. 0xea0395b53557f62eL,0x910d7cb4c7d3a450L,0xe849c853c634443dL } },
  45711. /* 34 << 343 */
  45712. { { 0x76c6e48d3b476f69L,0x28195cdffe694ee4L,0xa3a9a99e2d3aacc9L,
  45713. 0x0f68fe36b7f320d8L,0xca84a6c9889ce762L,0xc1eafac94901907dL },
  45714. { 0xa28b9916208c9770L,0x6846e639f8403e57L,0x12fdf9fa1d179e3eL,
  45715. 0xb81e47c843d046dbL,0x700ad19468c14491L,0x136395cebbac51d7L } },
  45716. /* 35 << 343 */
  45717. { { 0x7452dfd4f775003bL,0xb38a2031f1a4765dL,0xef36c513a2888c68L,
  45718. 0x2039b168a2339fd3L,0xf74c24be2cc498e9L,0xbeeaca157b622e31L },
  45719. { 0xda72e5a005f2fb8fL,0xab4a98f0568d5811L,0x231aa495fcb15e1eL,
  45720. 0xf981bd7f537023f1L,0x29d6eb2db367e5fbL,0x15247194b8cd452dL } },
  45721. /* 36 << 343 */
  45722. { { 0xa81e4a4e55c2369dL,0x394de01b60a0f544L,0x22acfd07a8906e17L,
  45723. 0xf59b37a6cc9bc4d0L,0xdd16a22c7ffec12fL,0x07decc2ad5976455L },
  45724. { 0xc5019463abe1d122L,0x2bf0ac0ce318c92cL,0xfa50280ab2bfc47bL,
  45725. 0x53354fc5c7cf8bffL,0xaea1d293e20ca341L,0xec25ecda8b626244L } },
  45726. /* 37 << 343 */
  45727. { { 0x05c6f1c99a2f572bL,0xf13f8c7747987918L,0xccb406d74101fdffL,
  45728. 0x93cea27bee1abcf4L,0x32703ada8f5adca8L,0xceaecb5f76313a1eL },
  45729. { 0xf1c558980b9620cfL,0x942c28b51046c388L,0xbed4e9dc5a07cf8cL,
  45730. 0x423b695a6c734b85L,0x1ce0a2392ac87737L,0x40f126ac4d1cc7d8L } },
  45731. /* 38 << 343 */
  45732. { { 0x63e3bb09ad9e132dL,0xaa2880c5c9e84778L,0x23de89ea06049834L,
  45733. 0x442d1df3554e23bbL,0x87214f9f08c5f124L,0x305d967a6beb4996L },
  45734. { 0x01676f804409f827L,0x16992f73a50147f9L,0x77ee56796081b38aL,
  45735. 0x8c75d293290afd9bL,0xf9578bca813f0aceL,0x395212dd0e786ed6L } },
  45736. /* 39 << 343 */
  45737. { { 0x63475e65c21b0f48L,0x114f9af5326c2c63L,0xa897bc01310f768aL,
  45738. 0xcaf47a8fc1bf3f5aL,0xc023bb3718cb887aL,0x3572f633685652a2L },
  45739. { 0x2dc4ea0d7523287cL,0xafd60b92a121a141L,0xb6b4bf6e085ca490L,
  45740. 0xf599f8f2e5351ecbL,0xe38c8eacddba3d60L,0x2540585f5be9e748L } },
  45741. /* 40 << 343 */
  45742. { { 0x313b66cafd8ba33eL,0x10bdb130fabe27ddL,0x1181334c125e2b8cL,
  45743. 0x0f4f198fdb6f94baL,0xf7000076ac3f5de9L,0x1a78813d9d6402aeL },
  45744. { 0x3427f75dc8a9e758L,0xcdac8b34b01f791fL,0x922c36d12a9ebaf5L,
  45745. 0x195ea05fb0487cc4L,0xe33de901a808baecL,0x15e1d5ac57291d89L } },
  45746. /* 41 << 343 */
  45747. { { 0xfe52cd9cfdc7e2deL,0x3947e578da6dccf1L,0x0548d4b5738751e7L,
  45748. 0xc73fc23f4b52a5ffL,0xf38eb8ff1b066accL,0xe9a40d37a27b40f5L },
  45749. { 0x723b0752a264ad77L,0xe5d0c4efdea83bf8L,0xf7301e3fafad27a0L,
  45750. 0x336b0d86298d09b3L,0x462766bdb2ef2fb7L,0xa5311241141a7607L } },
  45751. /* 42 << 343 */
  45752. { { 0x10adb987ee1f44a1L,0xd6ebd1c3e51c0152L,0x0cf1303f4dd3b9eaL,
  45753. 0xd06351b837a33a3aL,0xb5ce1d941cff1f0fL,0x326b3e055476e2bcL },
  45754. { 0x90f76b5d3426b8ddL,0x77497380648042f1L,0x48684604f9f83902L,
  45755. 0x00275191180f197aL,0x36fd84ecde7ce932L,0x52b428e65391a268L } },
  45756. /* 43 << 343 */
  45757. { { 0xd2c1ccb0695c2851L,0xd722b84ff1c78f17L,0xaaa53d26fe52f2a4L,
  45758. 0x3057f4ed24742143L,0x951332a4a2aea258L,0xe5e4db6091096878L },
  45759. { 0x71db9e48f0b9ef38L,0x7e4b25c1ac542c26L,0xb7250394dd021df5L,
  45760. 0xcdcc6118ee48e711L,0xbc324af1fcdd5db9L,0x71a664ef3e6de57fL } },
  45761. /* 44 << 343 */
  45762. { { 0x4e2a05c1c21cdd1fL,0x8a232097dd46e76aL,0x8b55313cd871b1d6L,
  45763. 0x976ce5f6af396bc4L,0xeb91527dafd381b1L,0x6cfd449014455ee2L },
  45764. { 0x8723be9e1f274d1eL,0x1c63fd011999fa9fL,0x5f1726258049b6f8L,
  45765. 0xe18a3ecd99a51b4dL,0x329fc2c1b13d4e65L,0x94da252b0f18f300L } },
  45766. /* 45 << 343 */
  45767. { { 0x583adeb8b893316aL,0x69dce1efee5122deL,0xc5cacdf319b77627L,
  45768. 0x061fedee5e8aedd8L,0xd53fce220257dce1L,0x0e4124bdc781e069L },
  45769. { 0xf097c697d44ed517L,0x7704e33e9a4e9019L,0xac245dc23e0088dfL,
  45770. 0x70e1176bb76102a3L,0x55261ab235e4dcaeL,0xc2ba59230ede3501L } },
  45771. /* 46 << 343 */
  45772. { { 0x6edf35f3af073b6dL,0x7ab4118107376eb0L,0x4ef3e65be7ff1c9aL,
  45773. 0x654ea359d2ac6d70L,0x2b41a7f67ffcd91fL,0xe5da0511e0a60e8cL },
  45774. { 0x97fefd9756701b93L,0x7a4a827dd34afe15L,0x8bd6c2299090536cL,
  45775. 0x110156f217e510a0L,0xce62a26ec801ca6aL,0xa786e9b05522b64aL } },
  45776. /* 47 << 343 */
  45777. { { 0x3c73c2868f02f70bL,0x744a580d0eeca325L,0x58b7ca1733534669L,
  45778. 0xd7d17d77800b0270L,0x864e3509538b116aL,0xc7eda5dce4797818L },
  45779. { 0xd6c00fbaf741f023L,0x718ed11131d022bcL,0x4586baf2f2ce39efL,
  45780. 0x1095729dcd9a09f8L,0xf5ff3f2d7652f5ddL,0x29d95a09dbb72722L } },
  45781. /* 48 << 343 */
  45782. { { 0x7b151b98e28fd10dL,0x8fc01ce81dd884cfL,0x1f0ffb5098d56c2cL,
  45783. 0xf9df1fa2b084606dL,0xf86232bfdc7d2008L,0xeae5cb8fd8751699L },
  45784. { 0x70f0229883ed54fdL,0xb575283a86087697L,0xad2191350302e2c3L,
  45785. 0x1c09a0d6c4b57e01L,0x0f65e1e1c541b9fbL,0x85493d9bf4fe76c0L } },
  45786. /* 49 << 343 */
  45787. { { 0xecf595d6bc19db89L,0x32cdf31bd607e09bL,0xfaf93c636217e9faL,
  45788. 0xa9a1619884d37c72L,0xa2688a33bd929e8eL,0x2ce3442e2842b31bL },
  45789. { 0x906ac09ab37184daL,0x93a1a54492587ea0L,0x1acfab1ec5b4ce7eL,
  45790. 0xd4788cac7131e80bL,0xb463d67bc8cf0e18L,0xa754ffb81f24067fL } },
  45791. /* 50 << 343 */
  45792. { { 0x634f8d6db04ea518L,0xe8c424b4c60108a7L,0x3553b6d11ef6f4bdL,
  45793. 0x1fe850dfbc0a8e1cL,0xa077055473a66e4aL,0x5417bd50da985b55L },
  45794. { 0x3f99edcaed53259aL,0xd243f2d1b3d5ae6cL,0x70f404b8cb49e74eL,
  45795. 0xf6893edc51fec8f0L,0x3f3ac23871521335L,0x127c055436e39048L } },
  45796. /* 51 << 343 */
  45797. { { 0x459a96595ab6a5b5L,0x14ec172bb5ac2238L,0xe556f7061642ba57L,
  45798. 0xe18d92d2da35bad6L,0xe64f9bcdd5805c1fL,0xabb4e0243b297094L },
  45799. { 0x95429e14b8b876f3L,0x27961a7d9c04bad0L,0x81c74cf57fa32b6aL,
  45800. 0xb035259ebb0f1f24L,0x828c42da2e773f8bL,0x06c996366ea73c24L } },
  45801. /* 52 << 343 */
  45802. { { 0x353718ce191c21ccL,0x08e6edf64ad6bd18L,0xc2bb0d6e4dc5b572L,
  45803. 0x328e19df88193daaL,0xccc9f6ab7211c958L,0x377d99ef58aae5c5L },
  45804. { 0x40e2ecc91c823442L,0x036d6d528b0d36abL,0x2fe0cd7eda4d0ad3L,
  45805. 0xb8fc3c7ffc8af791L,0xdb7e44a42b201b20L,0xa5176004ebcf527dL } },
  45806. /* 53 << 343 */
  45807. { { 0x24d19ca6fed20bb6L,0x0c02db9841d634aeL,0xfb55998930310b8fL,
  45808. 0xf9d0818506c00c8bL,0x2b9983fb4742362cL,0x16ae9bfbdce1b6f3L },
  45809. { 0x679057e6a161a419L,0xe1e80fe04db28bbaL,0x2ca0c869f06c9a98L,
  45810. 0x7b80c43bc448ffa4L,0x100f205cb7ef73f7L,0x29565a93a938bea7L } },
  45811. /* 54 << 343 */
  45812. { { 0x4d00c613e1e7a831L,0xc90021dc56d9ddf2L,0xbb80b8385286ccccL,
  45813. 0x156b05b771f5f09dL,0x120f47f47bc921f7L,0x6ea1715f8a65c50aL },
  45814. { 0xa070c9f695aa8348L,0x96120fe273171f56L,0x10c7d592ebc69e4eL,
  45815. 0x73f6ba27c1c7ef52L,0x10f5b9cef8bb536dL,0x8bc82b225ce0220eL } },
  45816. /* 55 << 343 */
  45817. { { 0xac25749af4f3fa3bL,0x2376bcd76f50e4a0L,0x9c68fd1028b2332dL,
  45818. 0x130ed4d12130b66bL,0x91842d58038dfc9fL,0x4111e4cbc401a53dL },
  45819. { 0x85532deafb5d9b16L,0x0c5657503025e3b1L,0x1340aa49b6cc0c31L,
  45820. 0x1cfdd7d68b7f71a0L,0xee911d7e8b6e548fL,0xcddf07f021456ebdL } },
  45821. /* 56 << 343 */
  45822. { { 0xe19b7576fa5256d2L,0x418d5425db3f8bfdL,0x00424869951a1719L,
  45823. 0x2383c7a8533b69b0L,0x166a38e2e67a86fdL,0xa6baa01c5876c435L },
  45824. { 0x574ddc4584a208f5L,0x8cee30b826b18dbbL,0xeced99c1e9f6b30dL,
  45825. 0xb638d88da7d34beaL,0xa4836806069adedfL,0x62beb7ee7a07c593L } },
  45826. /* 57 << 343 */
  45827. { { 0xffc89d6de16d63b2L,0x4da3b04f5df40d2fL,0x3437da2ab48706d8L,
  45828. 0xc35290a1d677df03L,0xe54fc6567c5b6c8aL,0x84f052ff2c77314eL },
  45829. { 0x59c33a99d968b4eeL,0x2424c5d0facce444L,0x022d7bfbf505307dL,
  45830. 0x5372518d00c142ffL,0xcc82d21aeefa787aL,0x3517f3c0473ef630L } },
  45831. /* 58 << 343 */
  45832. { { 0xaf576c307a8a437cL,0x15852131de3f2cc9L,0x96bbff4371759da5L,
  45833. 0x106934ec66f5257dL,0x712e7d0ba9cedae6L,0x5b0b876ddabf131bL },
  45834. { 0x1605f3a8b741f94fL,0xe5d961c109305b04L,0x3fb97996346266c6L,
  45835. 0xaf4eafc0b3ec7458L,0x0aefa01abcd90b0cL,0x2b7723e3505ea305L } },
  45836. /* 59 << 343 */
  45837. { { 0xe5c6f37b43d12de3L,0xdc34fdad642baf26L,0x89d716d647268e1bL,
  45838. 0x50047b391df8d657L,0x40da6352c64470a7L,0x406e3bc97879824eL },
  45839. { 0x9677b4c38b9ecc36L,0xc82bf16fd246788cL,0xbc9fa99cef5dda3dL,
  45840. 0x3050febf0e7b676aL,0xfbb1301a53e448afL,0x3239f20267c84d67L } },
  45841. /* 60 << 343 */
  45842. { { 0x5093950b724fb94dL,0x107822718117ff50L,0xdc9e34b59f5961d7L,
  45843. 0xfaa2fc012351a33eL,0xb9e0f1d9d5fc462eL,0x276a5b3bdd9c6914L },
  45844. { 0xe6136d1775365ca5L,0x228b77e2a91eed68L,0x5cd6a269411e4770L,
  45845. 0xd8857b0e17590390L,0xe7094f3aa0d45fafL,0xe52d11dcf40693e4L } },
  45846. /* 61 << 343 */
  45847. { { 0xc873fdf565a0d2bbL,0x848244dbaa42c6cbL,0xa5d2d766ac50ba78L,
  45848. 0xc650cf4343f38ad7L,0x901cf122ea895d06L,0x3ec1b583cbf46321L },
  45849. { 0x863dce6193c3db94L,0x902459202445bb4fL,0xae716052673385dbL,
  45850. 0x9266b0bfff830253L,0xd201095844375610L,0x9e008b9712cf8d71L } },
  45851. /* 62 << 343 */
  45852. { { 0x2b1b2a551448e73bL,0xa8486146b5f97da2L,0xcf24d8636c848202L,
  45853. 0xa3d6431c5e483407L,0x47a33db852edb78bL,0xb09256a37dad3826L },
  45854. { 0x740222a74dfa2b26L,0x23f43bec2a8ebe04L,0x4081e512a8072f18L,
  45855. 0xe53f0d05751ad7e8L,0x100d0a17332361ecL,0x8a2122e9e0c3a152L } },
  45856. /* 63 << 343 */
  45857. { { 0x28be8affe7e6417aL,0x4e18b452d6a30763L,0x73ae410310d0d5f2L,
  45858. 0x5151fe80003625caL,0x45ebb636ba7a91ccL,0x50f4b49d994e7e31L },
  45859. { 0x02eaeaa93ebac455L,0x7632c7dac830fb1cL,0x06fe1dde3bb0d765L,
  45860. 0x0d2f7623a6789d20L,0xabba46de01a43e9dL,0x2e822e08f27917f9L } },
  45861. /* 64 << 343 */
  45862. { { 0xe96c4aebe5f5b545L,0x10a85a002d4c43b0L,0xf86ad2f632f9151dL,
  45863. 0x05daf874302b99e2L,0x4299dbfa14fd3171L,0x27cbedd6812cfc62L },
  45864. { 0x42e61536b8772164L,0x52eecef76a5423efL,0xc34c6c70548fffa3L,
  45865. 0x1fbed7777b6db825L,0x850bded44ef2989eL,0x3b8a542c815463eeL } },
  45866. /* 0 << 350 */
  45867. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  45868. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  45869. /* 1 << 350 */
  45870. { { 0x9decf2173079fe2fL,0xc32ec5707c817f6dL,0xd5649ce8aeb36b92L,
  45871. 0xab9f77d158fb4dc8L,0x66b11fb6b52d60cfL,0xe217941deaaa4619L },
  45872. { 0xf3522a9a1607c412L,0xea2eba4fc2a3d8c9L,0x267997c625e38722L,
  45873. 0xed5047b72d4595eeL,0xaaa41e5f55e5456cL,0x891e3d1278cfc6feL } },
  45874. /* 2 << 350 */
  45875. { { 0xa438634ed7357a51L,0x918f14cd18c04d59L,0x2ab4dedfac40dd56L,
  45876. 0x758e95ee4956a5deL,0xfc11e3945113f84dL,0x6d71b6736059f16cL },
  45877. { 0xfd8e2236fb357c3fL,0xd7c8681232dca873L,0x02aeb1538ea13b44L,
  45878. 0xde1275d3013d3827L,0x470a7b7e659ca201L,0x862c83c55c77b351L } },
  45879. /* 3 << 350 */
  45880. { { 0xfc9b800f05084cfbL,0x1c4d4510496f23fcL,0xfea0003cc1d08465L,
  45881. 0xf0281da09af48a41L,0xa5c0d97144d32eedL,0x2613b73e023a2e31L },
  45882. { 0x455013c87dc8ac1aL,0x581b13195958b3daL,0xd293f2f22290aaeaL,
  45883. 0xa068256496f6223bL,0x38fd18fa69410ef6L,0x74eaf35f2b2cf629L } },
  45884. /* 4 << 350 */
  45885. { { 0x281f6e58c7ff5b50L,0xbc67791ecf9cd114L,0xe29fa41afd89abd8L,
  45886. 0xfcb0b0b07984feefL,0x0b0928a6d9d20a64L,0x2fd385c46979ccd5L },
  45887. { 0xce9c34c81fbe72e4L,0x69364344aad0135fL,0xd464635250946a5bL,
  45888. 0xb09a97c6f39f53b9L,0x1d47bc20dcbc8b64L,0xcda5c7bdd458b0d6L } },
  45889. /* 5 << 350 */
  45890. { { 0xad5b8c2887eff3b3L,0xa8a3917d9937833aL,0xbafdc493200c3b49L,
  45891. 0x9e27aac5972c6fbfL,0xfd292bb20518c97dL,0xa62126db33515a63L },
  45892. { 0x9892a8bb1bcfc875L,0x93b066b7e0b674d1L,0xcde9b0087fd3d080L,
  45893. 0x1e285a8859401ae8L,0x4679e32982cfea96L,0x52406ea023e615d3L } },
  45894. /* 6 << 350 */
  45895. { { 0x27de61138b6e9462L,0xb8ade1dc473464bfL,0x911ad49394dacc08L,
  45896. 0xd036f28e44252cb1L,0x3865abf6d13dc20dL,0xcea487cdd528f0baL },
  45897. { 0x14d77eaf4fc290feL,0x5106533bc5084101L,0x11001dc7cda9eccdL,
  45898. 0xb79ad4bc49fc4a78L,0x4f6369f54567f8a9L,0x64050aa2df7ab817L } },
  45899. /* 7 << 350 */
  45900. { { 0xffe057aade07f615L,0xf3f91b55342700bdL,0x294761e127a839f9L,
  45901. 0x6411a2b480eafe1cL,0x4900eb120737b80aL,0xa1134d10bb73264cL },
  45902. { 0x0ebfad730ddbf7f1L,0x57bbe692cd1f73ecL,0x675931fca20f8944L,
  45903. 0x1950eefffad2ad19L,0x60d304029cdf88a0L,0x121af89e33fd2c6eL } },
  45904. /* 8 << 350 */
  45905. { { 0x763e3664295c4db2L,0x632fd676dbbaa92dL,0x62ab11a8c66b40e9L,
  45906. 0x06244698f384b708L,0xe7cdf3bd69197876L,0x9cc79c48064f8837L },
  45907. { 0x95900a229486589eL,0x7953f6e72ff01639L,0x3f65fbbddd3e6e46L,
  45908. 0x84f52e06baa2e2a0L,0x1dc462a8e3852824L,0x9be69c3f7e4c032cL } },
  45909. /* 9 << 350 */
  45910. { { 0xa40afc3670977e01L,0x965f110da6c3b289L,0xc4952f87805a8491L,
  45911. 0xb36804b80b65e2d3L,0xd3f6f5ace8cf2b2bL,0x0f37a79da4b71938L },
  45912. { 0xb2f810d9489ef671L,0x1feae0262df23cd8L,0x7412eee321a14e4fL,
  45913. 0x1458b8ad179d51faL,0x2156a90ee201509cL,0x39f29fca72605867L } },
  45914. /* 10 << 350 */
  45915. { { 0x231f70adb2e066e3L,0xf09db880bb477a19L,0xdfa0e503907e5c63L,
  45916. 0x12fe09f4f97022adL,0xdbf06f3620bce7ddL,0x0140e197f1371cbaL },
  45917. { 0x917b6da464b0b4b0L,0x9a6f4d9b20fe3320L,0x0981d60ed66bdf87L,
  45918. 0xb430e4e062d3487cL,0xc3440fb934dc4a94L,0xe7972dda09a5e3c9L } },
  45919. /* 11 << 350 */
  45920. { { 0x29d6394093f47052L,0xadf04e70847e5937L,0xa0ef4fee731bab6fL,
  45921. 0x21de31956ee7d7bdL,0x99af4a8dbd716777L,0x9e15c983df4c569eL },
  45922. { 0x2ec7bc0ce94401eaL,0xda1835ad85727722L,0x2b5862ce5dad81daL,
  45923. 0xb2be508188dddc2eL,0xa02482101414286bL,0xc52c436d8ea33f3fL } },
  45924. /* 12 << 350 */
  45925. { { 0xcc580ea73b24e776L,0x0f3a8b189d721d6eL,0x8665604fb23480cfL,
  45926. 0x95787cba34414689L,0x425d7c6f4d10a945L,0xb5ec2626b2f1cc78L },
  45927. { 0x55da88858658de6bL,0xb50919d1e9aba03eL,0xc64881d7d99e417eL,
  45928. 0x1eeba5aabf28fba2L,0x20feb7b3504eff80L,0x9f5f9db650debfb7L } },
  45929. /* 13 << 350 */
  45930. { { 0x4eb94584230923dbL,0xba8611287b3a6929L,0x5aa7faa3ab1d6b31L,
  45931. 0x95c1e23916ae0966L,0x98674fd3a2fe2297L,0xa8da0ee53c42d488L },
  45932. { 0x103cabace0740db0L,0xf0b860d45bf16882L,0x03cb0cdc289e48ceL,
  45933. 0x3c15d3759e52c7d5L,0x524f731998103ca2L,0x828ed65cc609ffebL } },
  45934. /* 14 << 350 */
  45935. { { 0x518f231b83dfb993L,0x4b0987db37c0826cL,0x0c34961cd5177eadL,
  45936. 0x9d882d3e452c92daL,0xbfeaf5588765bcedL,0x83957b62b9962295L },
  45937. { 0x2d1d01757bb084cfL,0x04c4cfcde8cffcfcL,0x2f35e33d8d4536c1L,
  45938. 0xbebb31cbd83124cfL,0xe342bed2abb29019L,0x2af0fcde2692a0d3L } },
  45939. /* 15 << 350 */
  45940. { { 0xece5d865c7e3b29fL,0xe58106a4622839ddL,0xf5272d43f2969d76L,
  45941. 0x90c72c1b2a1a240fL,0x1e2aa0acaf15e14fL,0xfa2f1c7bf1b6b5a0L },
  45942. { 0xfb5d343d880224a5L,0x47b88a84f91881c5L,0x140f5ee9dd142fe7L,
  45943. 0x4e76982e24b37c44L,0x6aaf61e9578b482bL,0x01950e22765bc4e2L } },
  45944. /* 16 << 350 */
  45945. { { 0x20ebf79ce8a2e8f0L,0xec040d0daca418a2L,0x016c07e78d630d2aL,
  45946. 0x20021d57fa605dcbL,0x6190f3e942d04705L,0x4e000df58974b7e6L },
  45947. { 0x6710da6c5abcedacL,0xf31aa4965f95d37cL,0x192c4b8ba5830899L,
  45948. 0x171ab8c4ea7dbcddL,0x715f60818cdf1097L,0x0e0135bf205d10edL } },
  45949. /* 17 << 350 */
  45950. { { 0x070fbbe1687645c4L,0x4dd859c8c7e0261eL,0x749fa1e9fad54b60L,
  45951. 0xb35942f483cdc91fL,0xcef26d0018eeb83cL,0x4dddd5787462064fL },
  45952. { 0x0420ed6e703e8740L,0x9087d805c180c7d3L,0x93807412828424f2L,
  45953. 0x8bcea69a6dcae236L,0x22aed9a2d1973c78L,0xe3d0f6f83328d690L } },
  45954. /* 18 << 350 */
  45955. { { 0x5ce5bc6da85a13acL,0x868f385c7f1dd71bL,0x15aa63a420c376c6L,
  45956. 0x7802fc9e749127dcL,0xfad59f8e67a98935L,0x6bc97b1d60c0fdf3L },
  45957. { 0xd24caa7ebce87ee6L,0x8aa08bc27ba511f8L,0xe5ba94f47ba61c1cL,
  45958. 0x9fe9c343364d2d75L,0x8ee0468161273932L,0xab2f0dbe5e8c4861L } },
  45959. /* 19 << 350 */
  45960. { { 0x13239c0a8254ded6L,0x594182e61762f9cdL,0x6326369d480efa21L,
  45961. 0x7fee5afd33101382L,0x9e1ea59c4688bc0bL,0x7a3b1b8eae19c17aL },
  45962. { 0xa8f8f8e5777aedf3L,0xe2d018bfc6bbdeacL,0x3625b03b54328db4L,
  45963. 0xda7540c8711ab8caL,0x7faa19fc46930a99L,0x61a5d1845b59a973L } },
  45964. /* 20 << 350 */
  45965. { { 0x4a6226f9f7092423L,0xfe6b7a6dec945231L,0xb44e2e60a1193cabL,
  45966. 0x2ce6393543dda270L,0x1a9e8a2138d64738L,0x863d151a9d843675L },
  45967. { 0x98a1222ee2b14443L,0xbf8b32712826846fL,0x80475be555508801L,
  45968. 0xc39ccd917b38f064L,0xea31304de8e249f5L,0xa3b6891b4d42db74L } },
  45969. /* 21 << 350 */
  45970. { { 0xc0f1627a147e0f32L,0x59fb7f2f5e8822d8L,0x21d8be6371097441L,
  45971. 0xa6169f1b855543f5L,0x188c420645102ae3L,0x4c20a136131b674fL },
  45972. { 0x05487c4d15999699L,0x8a82a130e6ba5542L,0x93a2119519ec0de9L,
  45973. 0x634d644cc8d0538aL,0xa90c5eeb3b6bbd60L,0xd59105125e4db926L } },
  45974. /* 22 << 350 */
  45975. { { 0x5140a7172119e821L,0xe5a2ca8cbc370a14L,0x0c17ad48a6db3398L,
  45976. 0xd7094545ed6fc82aL,0xcf32984dedb976d1L,0xcf04ac16cdf83a9bL },
  45977. { 0x9bbea16b49775502L,0xb4855286452a6f35L,0x45cbc3b7a86f445dL,
  45978. 0x5972ec64763f5990L,0x14d0b9c0b780b2f0L,0xb120273456e707feL } },
  45979. /* 23 << 350 */
  45980. { { 0xbf6b76e1e41c43c6L,0x64ea1824db033acdL,0x7fc0399987c9406cL,
  45981. 0x9427585a51b371d3L,0x464f3559c9705e0aL,0x6639797ac8cb6ff6L },
  45982. { 0x5104a72e842fbf01L,0x7cabb009fea7af74L,0xe42aa69b19a1db1cL,
  45983. 0xca9599a3a6a7ab69L,0xf31e4aaa1a70d770L,0x0fcc7f1b8a5ef098L } },
  45984. /* 24 << 350 */
  45985. { { 0x39a689bc281548baL,0x11aacfca138eabbeL,0xcf33108a8d29457bL,
  45986. 0x312612e014ed4b4dL,0xcbb21f345115625fL,0x4e7217de303a363bL },
  45987. { 0xaeb0c8c0d137f67bL,0x4ff84a937bf78dfeL,0x7a022604683b37dcL,
  45988. 0xfa4ced77862b0847L,0x5a49bdc136d69390L,0x6d9dff06c0215314L } },
  45989. /* 25 << 350 */
  45990. { { 0xcb116e787b1320bbL,0x6310206258ed15fcL,0x1a7891a082c13108L,
  45991. 0x203d73d939eb4c93L,0x0485b8493c78c65aL,0x663897e93c935525L },
  45992. { 0x9b79708088b41afbL,0xbd34d5134f2b649dL,0x0b4c156f62f6b652L,
  45993. 0x24125d1d6863dca7L,0x726a8bb2edb6638bL,0x2ec5deaf82aea7a2L } },
  45994. /* 26 << 350 */
  45995. { { 0x9fb22ca52a3706f1L,0x5a265b5279f5203eL,0xc8844f096fcbd426L,
  45996. 0x52a165f0ed8a3267L,0xff0b3a00dfdfcac5L,0x80167cf52de9e1c6L },
  45997. { 0x9e9c4391b0b969c7L,0x279440c41e0dabf6L,0xaa535b8f85133e39L,
  45998. 0xef61e22234660228L,0x8ea81a41c386528bL,0xd0bb1f6e71a8c66aL } },
  45999. /* 27 << 350 */
  46000. { { 0x75a689bfa67ab0ecL,0x53eaad3e54843363L,0xdb71f81619a3ba98L,
  46001. 0x817257fdc244f33dL,0x8181c028c0fb3720L,0xc813c4651cb7bb39L },
  46002. { 0xbc44c1e71b189585L,0xaedef8701eea3a29L,0xcdd828d7ccb5dc90L,
  46003. 0xd224f1774fd2e0f1L,0x2a4723b0e78883e6L,0x33bb05473128e260L } },
  46004. /* 28 << 350 */
  46005. { { 0x544874b71477473cL,0x253a455a3907385fL,0xb303afd631411ba1L,
  46006. 0x30047aa0466d6415L,0x3a1b676594d4c2deL,0xc265f1912860c7b1L },
  46007. { 0xfe140a73688e7975L,0xf08a652bf37ce7deL,0x6c9f6df9f46f144eL,
  46008. 0xf7e7b95bc0defbc4L,0xfbc9a9697824c075L,0x9745d768d7773c39L } },
  46009. /* 29 << 350 */
  46010. { { 0x7170ab4699873dabL,0x765eb89b8952bc0fL,0xbe3fe2c4f78fd020L,
  46011. 0xde51f8579f194b70L,0xa625839e7cc68fbbL,0x50e59b49f7105097L },
  46012. { 0x625294f3b82e287dL,0x98daa85288ca9d10L,0xfa0eb790b499d9bfL,
  46013. 0xe280de610382dba8L,0x3fd350e0e76a7d70L,0x1e5c2bebece5ba7aL } },
  46014. /* 30 << 350 */
  46015. { { 0x73e187e000ce469bL,0x21dc6268dbd717ceL,0xe9d63224ee564ef2L,
  46016. 0xa7553c854c4c444bL,0xdd409398f6a9b713L,0x902c9cff72f94d6fL },
  46017. { 0x944edb33f50a36eaL,0xa48a5ae4cfb65a8aL,0xcb9a83b9ed82fddfL,
  46018. 0x9476090c209aa829L,0x66cd0cb1c7e2347bL,0x0f1fe07c86fa005bL } },
  46019. /* 31 << 350 */
  46020. { { 0x7c17a2e0c65e52b9L,0xa987f030615b8325L,0xa39b78aaa3d4dba8L,
  46021. 0x738ce26396e96e82L,0x313f7bb7f08f99cdL,0x29571b3cd1a1b7c1L },
  46022. { 0x00c0e66c89ead6e5L,0x231de4ff19b9874dL,0xc9445296a4137755L,
  46023. 0x7b95f3ea336ea724L,0x7c0a222c49bfe5a0L,0xa265c41d782f8d4fL } },
  46024. /* 32 << 350 */
  46025. { { 0xd2db4d35c8d2bf7bL,0x52105d0981571d06L,0x447565cc723a57bfL,
  46026. 0xd98c3597d8ded62cL,0x0aeac6d9de2f1a9eL,0xd363b0b70a98d3b2L },
  46027. { 0xd9708f0702ad9933L,0x9334677564f5809dL,0x499332cf49cda010L,
  46028. 0x546df74a858467e2L,0x8b84a55093748e8eL,0x9e88ef9706f09073L } },
  46029. /* 33 << 350 */
  46030. { { 0x1cdc6b4f673d9c55L,0x4300148a0c11743eL,0x2f924ce4c38b8c99L,
  46031. 0x5300ecc925f32459L,0xb9cd815004473c2cL,0xffee15498eebdcabL },
  46032. { 0x42c292d54c537dbcL,0x32f6d8a293a133d0L,0x4da3a50c35dc41a6L,
  46033. 0xc16dee6a102f9ea4L,0x69a017a1f00d0bd6L,0x6a95ee1527acbc5eL } },
  46034. /* 34 << 350 */
  46035. { { 0x6c02c17adcb73b47L,0x10073a3454b70b07L,0x417ca218a7fe7a73L,
  46036. 0x6f81a38e4ab64b0aL,0x4e25301f8fa7fc44L,0x180f3e1b27d41e1eL },
  46037. { 0x88925649ce1cfbf5L,0xae279fff2eedaeb9L,0xeac9b033eed426cfL,
  46038. 0xa8488f8aa1740d49L,0x6f748bc3711b5da7L,0xbb1c46fd23bbe135L } },
  46039. /* 35 << 350 */
  46040. { { 0x6b2f317b9da70c21L,0xebddc2b5c99dc82dL,0xf4a85d4c5c807d1eL,
  46041. 0x47a79b298a15ad6eL,0x02afb05befbda553L,0x34f3998e6941a669L },
  46042. { 0xa4a413fb72deac14L,0x2bd9306c1941b899L,0xae023fa5788c1db8L,
  46043. 0x38cd6c42e1012bb6L,0x77ae298c13bd860bL,0x6312af9d63bb40cbL } },
  46044. /* 36 << 350 */
  46045. { { 0xbb7742f370fcad48L,0x6dcce7ff57d444acL,0xfc338485b6abc122L,
  46046. 0x03c1118caaf9060bL,0x095dc123cb997905L,0x2dfe24453dd9bee4L },
  46047. { 0x9bffbbf9d45cdcdfL,0xc5b50babb4b26fe5L,0xe985754e87d31873L,
  46048. 0xb5b007f5a503d2e0L,0xe25c4eb620bb8357L,0xb6f00e50803fa8ddL } },
  46049. /* 37 << 350 */
  46050. { { 0x21cab682b8035f01L,0xec82f6ae301c96c1L,0xf25d6a0c1539a503L,
  46051. 0x94180ece1e35b449L,0x13fbc96f1ede3c57L,0xe4a63eac01d8e678L },
  46052. { 0x3d1a745c068c6886L,0x0659d6ff233be378L,0x493d7a6f3244a214L,
  46053. 0xfa852b1b772bd953L,0xbf05cc0ce87db547L,0x28f497ccb30aacf9L } },
  46054. /* 38 << 350 */
  46055. { { 0xa92f28b88ea312ecL,0x9c702e953a3b5f1eL,0xf0a2f787583053edL,
  46056. 0xf99506f29cb41eceL,0x4c3b00b5c2b5c214L,0x59bb943717b8d5caL },
  46057. { 0x9ccc7869af5e6b94L,0x6eb795a7f340d02cL,0x7fc613c80a09eca5L,
  46058. 0xdac14e61d155f16eL,0xda25c7fcccadb39eL,0x160fda8c9c7fe2b3L } },
  46059. /* 39 << 350 */
  46060. { { 0x8aa83310312ee9dcL,0x702ad7bc2af291bfL,0x3940f883ec915c5dL,
  46061. 0xdfb7e44f6fe07c64L,0xa7af875c72d09357L,0xb5df04f4f70b766fL },
  46062. { 0x738af1bb96f8b10bL,0xab27b86735563f8eL,0x18fccbec2ebaf570L,
  46063. 0x94e9066dc1d7d59dL,0xa1e3518dc63373e4L,0x0722fd0f22d8306fL } },
  46064. /* 40 << 350 */
  46065. { { 0xcd42d2391be93e28L,0x93c11fcae2ea0d1cL,0x8acd0b17345984efL,
  46066. 0x3e3feaf350905d0dL,0x4124e89a6f35b49cL,0xafdd8d27a2bae979L },
  46067. { 0xce1e814015ad5661L,0xb0f9296dde281bc6L,0x11e93935c31ea529L,
  46068. 0x1c4c3bd7ebb898ffL,0x7cb73fc76ccc32c2L,0x69e5307da3ac9b8bL } },
  46069. /* 41 << 350 */
  46070. { { 0x37bec50c8e5a9a8fL,0x7f0daba5055a1aa3L,0xa56bc577a1c00a74L,
  46071. 0x0656b6aeab88258eL,0x2959237fb88f0f0fL,0xffff63bb9ef15ca9L },
  46072. { 0xd9a2909eb94ae6c0L,0x2506a1779b304c76L,0x5658fed3abdf17c8L,
  46073. 0x9c95765e0f90cc53L,0x80ffd7b38e74dc97L,0x97e032e6b8c73479L } },
  46074. /* 42 << 350 */
  46075. { { 0x7073ada11780b0c7L,0x6d4ce321f35f07d8L,0x27b26ee589f35e5fL,
  46076. 0x5af10ecd324349d4L,0xf9a0a9071b9bd956L,0x5dde968571350ba0L },
  46077. { 0x678158f5b6400a5eL,0x93764a022842e0deL,0x71a17724057c9ff8L,
  46078. 0x04c4313c72f58c63L,0x07fdf15cc4e81260L,0xd6c25e82a509f1acL } },
  46079. /* 43 << 350 */
  46080. { { 0x4f8a719ae3cf3138L,0x7aac7f0d9b1a2e30L,0x3fe8dcb88c0c76d0L,
  46081. 0x34afed4ade0b5be0L,0x824e043cfdf7c28eL,0x5b700afce708e71bL },
  46082. { 0x6c7fa728eeffc50dL,0x2488eee97ca62450L,0x25490cb59d969f4eL,
  46083. 0x8bbbac3d8bd629aeL,0x7e5213b56e75e171L,0x1385bff25324b23bL } },
  46084. /* 44 << 350 */
  46085. { { 0x364e7371c7d996d5L,0x053390bf8cc483aaL,0x69c23cf281e948d1L,
  46086. 0x65e45d618e822ec6L,0x9240ee412ed94568L,0xe0f33912510a84cbL },
  46087. { 0xad42eb0f6ecabdadL,0xb35afdb4bc7e39f6L,0x4ee63cb10cb50316L,
  46088. 0x7ccfa14a2a27dc3fL,0x584328f0b4141347L,0x361b2614a23cd89fL } },
  46089. /* 45 << 350 */
  46090. { { 0xe70edc42ee93ec36L,0xec773e52bccc99efL,0x9b0367a0ce0816e2L,
  46091. 0x43baad458c6757e4L,0x5d25fa821fb7b01aL,0x65913e86bb6bc3fbL },
  46092. { 0xb1f1fcab67fafef2L,0xe5ffd89c9e9261cbL,0x86f7b89ff29bb205L,
  46093. 0xa76ed6722db408b5L,0xd6f1ce5cf83f53a5L,0x9cb5cd26c2882d51L } },
  46094. /* 46 << 350 */
  46095. { { 0x03f6ca364b2582d0L,0x70345ae80f8116e4L,0xc2612cbfc562aba3L,
  46096. 0x9cdd127789898142L,0xea7f202c02d762ccL,0xa00c15da33662a74L },
  46097. { 0xcb5cc621aa430b63L,0x6dd1482fb1550d67L,0xb27e7df46216f063L,
  46098. 0xfffe57408f49403aL,0x9403206cfc2bc9f9L,0x132504014593a578L } },
  46099. /* 47 << 350 */
  46100. { { 0x6b9c67e6076b2d5bL,0x54509f61883d31d1L,0x25905831fe051be5L,
  46101. 0xe6633c1be93608f5L,0x284afa7697480e6aL,0xb124e6063a06cc65L },
  46102. { 0xcbcb2c2e2c608edaL,0x07a39d8f813795a2L,0xf27742a8bd108bbeL,
  46103. 0x7425519005b4e5b6L,0xa27620b2b0145a3bL,0x6e3d1210c0f42782L } },
  46104. /* 48 << 350 */
  46105. { { 0x0eeb9dc702ed3c24L,0xe7cb624dfb39fc44L,0xded105f581d4cceeL,
  46106. 0xaa675d0c46465cc3L,0x313f4fc99af0a81bL,0xd129819f227e6a72L },
  46107. { 0xaa6b690340b16103L,0x3dba75b2fb4c2fdfL,0xc9feeea1e7c79c2aL,
  46108. 0x14f503104e024e75L,0x3704aaa8b5729449L,0x39ac6b0c24b86accL } },
  46109. /* 49 << 350 */
  46110. { { 0x7e25860735214575L,0x3baa75cb068c68c2L,0x93b6a33f10be8d33L,
  46111. 0xa88f3cc11ba06b10L,0xe70e7ec2a4f8fe72L,0x32fed39fd4835710L },
  46112. { 0x16137edf3e6059b5L,0x57b1bb9fbb064775L,0x68d3f26dac98cfccL,
  46113. 0x89339bce7f9fd53fL,0x15b32212825e946fL,0x55b0a89bf92a0ef1L } },
  46114. /* 50 << 350 */
  46115. { { 0xf419d9becd3eed01L,0x851b31659851492fL,0xa9ac81a9c9b0a402L,
  46116. 0xf67bdf20122c09acL,0x9b26b131f442a030L,0xf7a548f517e72d1bL },
  46117. { 0x9e0dbf852a7f505eL,0xaa8e7348c7e93ff2L,0x4efa7877134d8017L,
  46118. 0x48f476fc13e5fb0eL,0x552d0447154f4040L,0x8d5b166569b18f6aL } },
  46119. /* 51 << 350 */
  46120. { { 0x65ef443e63c90cfcL,0x3a0dfb8194ed3ad4L,0x75570ba710b5547dL,
  46121. 0x5e161fa498e84064L,0xf55dc5003c576f89L,0xe46bd28c7f530eabL },
  46122. { 0x367607400109f9c1L,0xde7a997bb15e9598L,0x25386f307593c3d7L,
  46123. 0x680e3639def120b7L,0x43fab687aa6e213eL,0xce48861daa99cf3bL } },
  46124. /* 52 << 350 */
  46125. { { 0x93c2cf3e53ead820L,0xfca3b3564f4444e1L,0xeb6d82bfaac7a37dL,
  46126. 0x9c0915d4cf49947cL,0x771f9f7cc7edadaaL,0x51418e487b2df679L },
  46127. { 0xad1b249173f28cf8L,0x8fe4fb7baecacd2aL,0x539764bdb20d0b77L,
  46128. 0xb0073685a6a4f808L,0x4c6f5602cf909196L,0x1ae89342d45e9e7dL } },
  46129. /* 53 << 350 */
  46130. { { 0xcf8aa4e5f007985eL,0x833ea882c325d2dfL,0xc1cbaaf5f9f326e8L,
  46131. 0xe779a4a9bf906c20L,0x29f475bbc923cf15L,0x6598d52a54055b74L },
  46132. { 0x1001a5f1e4fbd4f9L,0xb4933d56cc74cc71L,0x45c04a50fed802baL,
  46133. 0xda140558052bd04cL,0x71c127d63dfbd563L,0xef2b85ba42ebaafcL } },
  46134. /* 54 << 350 */
  46135. { { 0x76569e44bc325891L,0x8f8a1487fa2604afL,0x07a8bacdbc90be04L,
  46136. 0xeb53b1087b2c9bb7L,0xcfdc78aaad3c7943L,0xd74807da3bfcd779L },
  46137. { 0x642552417189257eL,0x28138e8d23cb9584L,0x0ce0b331476b888dL,
  46138. 0x6d9ceaa0f2a9bbe5L,0xb4f1185653b872efL,0xfa9e6fb222d06df6L } },
  46139. /* 55 << 350 */
  46140. { { 0x0d45565ce6eabd52L,0xaca75463f41a4559L,0xc3e4064a846eb291L,
  46141. 0x22ac04bc8613d2f2L,0x74cf6fac2364ce2cL,0x61bbaca8be4fce3cL },
  46142. { 0x302e8117b24dc7b4L,0xa72ae24dd89a053fL,0x75b2023967de96e1L,
  46143. 0xbe51cfd2a9e6d1bdL,0x807a8e3d07c9259dL,0xcf3cd92e43cf6384L } },
  46144. /* 56 << 350 */
  46145. { { 0xc040412c754b8669L,0xbda7e0cde2c1d3b4L,0x2ac3b3d5ba29b9beL,
  46146. 0x98a415e3f63bf3abL,0x25aee93ed1776a16L,0x46db7347ec3bc968L },
  46147. { 0x8e44180a02612d2bL,0x4e3dc4e82db990ffL,0x2050f58f5f7705dfL,
  46148. 0x7b41f5892672d845L,0xeb301603c96e4fecL,0x66ecd24e6cb16a6eL } },
  46149. /* 57 << 350 */
  46150. { { 0xd428e7e3d01edc1fL,0xef608062873fadf8L,0x05e7c80d5606965eL,
  46151. 0xb818d0c6a979f826L,0xe9b4c5c7c4793537L,0x7ef637225e83bb66L },
  46152. { 0x825d89499fbb3a85L,0x557abf0396e34cabL,0xfc3db05b8040ad0cL,
  46153. 0xbdc8e907e305204eL,0xdfc1628d1c1637e1L,0x10841d2a947a78deL } },
  46154. /* 58 << 350 */
  46155. { { 0x99432df309c7b138L,0x288eef14593b1fc1L,0xf47f9fb21b55f0b4L,
  46156. 0x5cc20dd46788b9a5L,0x2e87fb4605e43a77L,0x08cf86be849c700aL },
  46157. { 0x467ec61374680ce7L,0x44e5c8d45884aff8L,0x549f2ea86b33a1a9L,
  46158. 0x2ebf696a8b4a815dL,0xc1705b152a74323aL,0x930a9fde69745934L } },
  46159. /* 59 << 350 */
  46160. { { 0xbb11fe102d168ee9L,0xba4aea667f39e124L,0x139364b6fca2841fL,
  46161. 0x6feef5b13d359df1L,0x4fe89fe19787be92L,0xd4cea92e0f6b6aa9L },
  46162. { 0x794006c0039bd8f5L,0xdce0eb5b0be647abL,0xf4a97f7d4e40c1d3L,
  46163. 0x78d19059d5f7254eL,0x464ddc1d0df22d8bL,0x990b0a39e0fc7628L } },
  46164. /* 60 << 350 */
  46165. { { 0x72f5a0f70ad3bb67L,0xabb15e3dce6396d8L,0x2ae94788463efba7L,
  46166. 0xe77b53b41fd4c512L,0x09921a1ca88606cdL,0x1b86b75608e980eaL },
  46167. { 0x2def667af3d22731L,0xadebd3a39641b175L,0xc0f35509045da920L,
  46168. 0x8fbf85e4952b7ca9L,0x4ee7565023517a65L,0xd31eeea30e75a4a4L } },
  46169. /* 61 << 350 */
  46170. { { 0x6d9a5d3cc4508650L,0xe71fcf32d1a2ac1bL,0x784b9148d62ec2dbL,
  46171. 0x9a3d5d572088946aL,0xc488178757848c00L,0x2f50a62e0875c1e9L },
  46172. { 0xbd23d4aedec0f2dfL,0xc9c28dd5188dad0eL,0xf87ef6460977ba29L,
  46173. 0x89ce8330ab03e4d7L,0x7dbec90dbcf1a5a9L,0x3ddc39c1f6c2a4d4L } },
  46174. /* 62 << 350 */
  46175. { { 0x8c0518c7618b787eL,0x6f226212b95734feL,0x3e6cab90c66e138bL,
  46176. 0x6e56d68037a7c0b8L,0x67a3c7df16f6acbbL,0x43df95107921bb92L },
  46177. { 0x967846f6a0887d25L,0xf717017766908fcbL,0x1a8ec350267430d8L,
  46178. 0xebb46f1a25855c90L,0x73eb78cb396c1714L,0xf766957cdc081e43L } },
  46179. /* 63 << 350 */
  46180. { { 0x0700da846de27e73L,0xfac9dcfd78c35563L,0x01af330ccd073b09L,
  46181. 0x0bf5c3b1bb784ceeL,0xd3d9a9ff5d465498L,0x4836b065bde8bafbL },
  46182. { 0xf5bf3316329b4cf5L,0x387388fc54a5275fL,0x73e880d8254af26eL,
  46183. 0x07ebcddc8d05311dL,0xe8b9965a4f46cec2L,0x4f07a4fa01b06069L } },
  46184. /* 64 << 350 */
  46185. { { 0xc0a40cac52133095L,0xfe1b22fd93c162bbL,0x8625898c34018741L,
  46186. 0x69c9f3f636d9e57aL,0x69d9d7f3378aa211L,0x6b03f897e7dca168L },
  46187. { 0x24d49aebf997a48fL,0x1d984c67c149ac40L,0x667c1d01576f533fL,
  46188. 0x372eee199ef82eceL,0x577723c0c207c14dL,0x4225907a0eed37f6L } },
  46189. /* 0 << 357 */
  46190. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  46191. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  46192. /* 1 << 357 */
  46193. { { 0xc61db977bc0e0903L,0xbaf6e4da645c32fbL,0xce89b8ca060b1adbL,
  46194. 0x41db448188e2c178L,0xba6339f3923bdd3cL,0xff25b818d29db42cL },
  46195. { 0x3521116ee6d6b35dL,0x4e1bd283b22f16acL,0x9357c984bd79fe5dL,
  46196. 0x2eda73be9d45eee4L,0x1a50c59f6288e01fL,0x37baf64975018873L } },
  46197. /* 2 << 357 */
  46198. { { 0xc552c6c6097f322fL,0xdf59a3028bc06287L,0xc9ed375c19610b0cL,
  46199. 0xf0e7b4ebb051dad5L,0x7267a304c6556643L,0x0044f6d8c96dc1d8L },
  46200. { 0xf0ed5f9af4fc3725L,0xbbaf9f2c9de8e1ffL,0xef5d66f4af5a4b4bL,
  46201. 0x0b5bed3d20644cf2L,0xf7e4543a75ae23c0L,0x696f60dc41325b66L } },
  46202. /* 3 << 357 */
  46203. { { 0x9949b33d2c20f868L,0xdb3aa790b5706250L,0x88ce71e788e17f2bL,
  46204. 0xd851baf2da9c0881L,0xe869c5ba86d8c9e9L,0x1af68d65a01425b6L },
  46205. { 0xeae8b1c69bbd3963L,0xf34900b1ec087425L,0x14942910c374bb96L,
  46206. 0x3e13c45705487483L,0xe0e6fad435bc6ee1L,0xc7c38dc7b54d247bL } },
  46207. /* 4 << 357 */
  46208. { { 0x6d34bdf6ab463fa6L,0x7bb127b60093b9cbL,0x61d051135a3bfdd0L,
  46209. 0x4abab575f1296bddL,0x72da68494d2e9a7cL,0x90267bca8d11f03dL },
  46210. { 0x478111223e9b310bL,0x8ffe91d31b1920cdL,0xec293ec67521898eL,
  46211. 0xf0cf026996c1da75L,0xb0dbd4c380f2c7b3L,0xe528175534e4baf8L } },
  46212. /* 5 << 357 */
  46213. { { 0x7ce1ce36189e2f1bL,0x36ca8fe3fa84ca41L,0x54cc2c13a6a568e4L,
  46214. 0x1967d9ed25a6d223L,0xf8d20c88537252afL,0x5a58936cac3d697cL },
  46215. { 0xa2659671b0084ffeL,0x08a9e041ec25bb0eL,0x6bd405ed4074ccedL,
  46216. 0xaeebb470dacb5503L,0x6f18e32bd5448d3eL,0x0412973ba94cd45dL } },
  46217. /* 6 << 357 */
  46218. { { 0xd72fcc3742fb1cd7L,0xadfb8967c49c359dL,0x6dc988a55935bb0dL,
  46219. 0x3fb10981e3080802L,0x12c4494f3be161ceL,0x5a0e22d44b649dd0L },
  46220. { 0x5c57cbfd62a85259L,0x7ad55b3c0e5ab7a2L,0xcd53564928de30e7L,
  46221. 0xce35e6e76867e6a7L,0x626810562f6716fbL,0xd8b4ff26a88d3bf8L } },
  46222. /* 7 << 357 */
  46223. { { 0x5949ddfa53abe7a9L,0x944a2ae0716f63a6L,0x90961922675d1f43L,
  46224. 0x36c41c12f5b55722L,0x85b8250f7782775eL,0x89a3a733748663beL },
  46225. { 0xd4358450475d2d88L,0x4183f45e1beef8adL,0xee3bfe8b06ec8d58L,
  46226. 0x2e462b1609cc4d82L,0xf9cc307ec6148e1dL,0x70d3b2f77b1281a3L } },
  46227. /* 8 << 357 */
  46228. { { 0xc32730e8dd14d47eL,0xcdc1fd42c0f01e0fL,0x2bacfdbf3f5cd846L,
  46229. 0x45f364167272d4ddL,0xdd813a795eb75776L,0xb57885e450997be2L },
  46230. { 0xda054e2bdb8c9829L,0x4161d820aab5a594L,0x4c428f31026116a3L,
  46231. 0x372af9a0dcd85e91L,0xfda6e903673adc2dL,0x4526b8aca8db59e6L } },
  46232. /* 9 << 357 */
  46233. { { 0xf0467111e854f886L,0xe228021d8dc6117fL,0x07ff954cac432e28L,
  46234. 0x373be2ef31d9b69bL,0xaa214d016fd61f0aL,0x27bb7932f950b029L },
  46235. { 0x1caa914f967c97f0L,0xfb133ec0d548897dL,0x598514173cfad251L,
  46236. 0xd41d1da432d14208L,0x446c79f2cee424ceL,0x8b5272a175e839a5L } },
  46237. /* 10 << 357 */
  46238. { { 0x26b5e85d62f50c12L,0x8418cecf5ff562d5L,0x0d35b4d459be698eL,
  46239. 0xd79ca9ee93730d2eL,0x2414d99325627fe5L,0xe31dc5293fc64803L },
  46240. { 0x5c9100d60d027a12L,0x9004ee36f2208db5L,0xe734b13b135d02bdL,
  46241. 0xf905c01a7bc09b60L,0x4eb51557b21b68fdL,0xe6e98bea8c583359L } },
  46242. /* 11 << 357 */
  46243. { { 0x14dbcf1a61dae7e6L,0x559a7b52ea0da075L,0x7391545d439d10d6L,
  46244. 0x187e00e675e617abL,0x453b546b5142355dL,0x9bdbddbc84bca97aL },
  46245. { 0x742a699591e5035dL,0xcf86d3e1831209ddL,0x6fb66757f5f2a999L,
  46246. 0x2e360aeff0e71f2dL,0x6c6f71f2dc97114aL,0xef686b8b17c3a3dcL } },
  46247. /* 12 << 357 */
  46248. { { 0x7d07a61d13b5ea74L,0x7f4b7157c8afecd9L,0xefce9c89820b0298L,
  46249. 0xe85c4510e3888d59L,0x9cd3352001234b9cL,0xba2692c0fef767e8L },
  46250. { 0xd2bea3d45b3ca353L,0x9ad478e5b51a704aL,0x1fc9bd0d9426f25bL,
  46251. 0x52f930bf864a1ba4L,0x559f36353765ff27L,0x548c7f0dae28479fL } },
  46252. /* 13 << 357 */
  46253. { { 0x6296d54f68b0df62L,0xace420ee9e6afdd4L,0xa20a510dfcd1812fL,
  46254. 0x488f113a8cd04a29L,0x1bee07640765cb70L,0x50bb5c446d0f44e5L },
  46255. { 0x5ea842cb7e320ebfL,0xa6e0c1e6e795a7fbL,0x89cd1f765e7e79c9L,
  46256. 0x7436ec1e87ce6c5dL,0x1376222de28309f9L,0x9ed7d6fb7f01548aL } },
  46257. /* 14 << 357 */
  46258. { { 0x32e9740ae2fb0467L,0x3a7a32b3ec039d67L,0x630d8d346a425a7cL,
  46259. 0xc9af74ae418a7dd0L,0xc903576daf502870L,0x7e02b3b7e98cce5dL },
  46260. { 0x0bfdee7a158f005bL,0x88eff4a363b91d59L,0xf23079728bfe3ed3L,
  46261. 0xc75536bce6b1fb4cL,0xf61a82e1a04d46fbL,0x771a8fedfddd52a5L } },
  46262. /* 15 << 357 */
  46263. { { 0xf5efc82065af5b94L,0xd618a9e8ce5535a2L,0x70cfb112cda6249cL,
  46264. 0x6986f00f9f217280L,0x41e46ce605faa951L,0x2abb39f3a3ad613cL },
  46265. { 0x3e04b28b07671c94L,0x61d323ac53cdaf80L,0x2389875cbb9580f8L,
  46266. 0x64800835febb0b34L,0xdaebba99d0d21027L,0x0f1cebfc23288a7fL } },
  46267. /* 16 << 357 */
  46268. { { 0x51a033a5cecb916fL,0x2ac62f638d7de61cL,0x92eece49a42a266eL,
  46269. 0x87e037db82c4d11eL,0x875be1416fbae08aL,0xf348fe26c539478cL },
  46270. { 0x51f8b907ff94c01eL,0xc46cc0e019695a9dL,0x2c74bd666c51b9c2L,
  46271. 0x635d3d24ee565de8L,0x6bd656638982c8c3L,0x5c345b79daf6a93cL } },
  46272. /* 17 << 357 */
  46273. { { 0xee7265ee93f081dcL,0xe8f90a6be03493f4L,0x4e8d10275328b0b8L,
  46274. 0x13bb82bb96fa0930L,0x764c2915d1f7d5a7L,0x1896c78f73476481L },
  46275. { 0xe9a34ff267873b76L,0x8a9a719cfa0afda4L,0xce93d4cc9ccb715aL,
  46276. 0x9ba00f011495d1ffL,0x3131e6666df0e119L,0xe68e1815c902ac6bL } },
  46277. /* 18 << 357 */
  46278. { { 0x0ce4ae1044f4a2dbL,0xa8645e2310bcc5c6L,0x6d9728b5e489762fL,
  46279. 0xd365c12a9d46ad88L,0xedf484fee1a527aeL,0xfdf5c519e5be2bb1L },
  46280. { 0x4706cc2870a3d4e3L,0x07c60129065f1506L,0x42e2e16478298553L,
  46281. 0xa56a2bd5bae646dbL,0x893bf45c61437e62L,0x97dbf9266c525900L } },
  46282. /* 19 << 357 */
  46283. { { 0x65c56764b52213c3L,0xa171ba9d97aefe9aL,0x5904e8c934336916L,
  46284. 0x727209b6ff187f05L,0xaf4e50525cb68a5bL,0xb46a6abadc4319feL },
  46285. { 0xfd48d0d57890cd90L,0x5b0b68c7252942daL,0xc41023352b01887bL,
  46286. 0x582251eb5ad09a7dL,0xbd79b557e1312726L,0x9f5ee3788057db5cL } },
  46287. /* 20 << 357 */
  46288. { { 0xa30486a6666fdcc5L,0x5cb7f7ce84056f89L,0x0f8a6b96505636a5L,
  46289. 0xfeafdf97c6624ce2L,0x9dade91c55b8a7d6L,0x3d009219ca2b459fL },
  46290. { 0x483549845a969337L,0x37d57cbd323c09adL,0x32a91e91e74b9e74L,
  46291. 0xdb4f18ff1c317c24L,0xf9f0daf342418667L,0x735a1eb946946667L } },
  46292. /* 21 << 357 */
  46293. { { 0xb395bfd1c8eaa54bL,0x8181d6262ee25219L,0xf4bf437b38d912f1L,
  46294. 0xf9f1161228a8b32eL,0xe359adacc2be5c61L,0x71557ea2971b60c9L },
  46295. { 0xf071404b1b00cf1eL,0xb163c3608da3141fL,0xd9dedc07a8d51d98L,
  46296. 0x29e89ac5ac827b74L,0xc38cef633ef35dfbL,0x9abd281097d477f1L } },
  46297. /* 22 << 357 */
  46298. { { 0xb34e560f0e6d9646L,0x4fc05a0dc0ba033fL,0xc9f5e040ddc1bcc8L,
  46299. 0xf723b78ab92068cbL,0xd558f5912b5c7030L,0xb16bdec774ed778bL },
  46300. { 0xc12aacc3b32980e0L,0x856e90411daaa32cL,0x34f7a28596429db4L,
  46301. 0xcc2c61ea415dcd04L,0xa0e192cb46b7d996L,0x5b7c845d55d87ce9L } },
  46302. /* 23 << 357 */
  46303. { { 0x9ba0a26fc0ee684eL,0x1b871ac353573254L,0x76a094bc5783e706L,
  46304. 0xe78bea66dcc01e8fL,0x7e20c5aedfb74e56L,0xbdc5314a8710f0e6L },
  46305. { 0x2bcc7a0085f2233aL,0xc58dd45b8aba1575L,0xdd1c6b78e411b6d8L,
  46306. 0xbb8d19529d23d2eaL,0x5293f3cc0066c9cbL,0xb7d0d7b0249c6d93L } },
  46307. /* 24 << 357 */
  46308. { { 0x68fe359de23a8472L,0x43eb12bd4ce3c101L,0x0ec652c3fc704935L,
  46309. 0x1eeff1f952e4e22dL,0xba6777cb083e3adaL,0xab52d7dc8befc871L },
  46310. { 0x4ede689f497cbd59L,0xc8ae42b927577dd9L,0xe0f080517ab83c27L,
  46311. 0x1f3d5f252c8c1f48L,0x57991607af241aacL,0xc4458b0ab8a337e0L } },
  46312. /* 25 << 357 */
  46313. { { 0x614c4bc273041ddfL,0x4fef1cf6364135aaL,0x2c9ac204ecf0e610L,
  46314. 0x75a302a991a6dce1L,0xa5899c96651ec9f9L,0x6c5384f64bcad1a6L },
  46315. { 0xa41012e560f705ebL,0xfcf6512235e85d67L,0x2fdcfc235ced3638L,
  46316. 0xf834fac02deac34aL,0xf5a64ec510a8ad80L,0x843855e1a412c4feL } },
  46317. /* 26 << 357 */
  46318. { { 0x440dfebd76ca517aL,0x79924057c577eb59L,0xf1aea290d038a921L,
  46319. 0x77afb37fb0c95974L,0x48a5b9a715763d44L,0x713de85155c8683eL },
  46320. { 0x250e8f8239d7e1deL,0xc5f1f61c8a2c846bL,0xf26ea6f9faafd017L,
  46321. 0x8ad26055f9d7cd35L,0xc980ba773b2df598L,0xe23b7eabd5e299a3L } },
  46322. /* 27 << 357 */
  46323. { { 0x5d37811464744605L,0xfab096990278c1f0L,0xc4d32b208448c344L,
  46324. 0x767a24d2d7d1df17L,0x842de148773ea0fdL,0x73d7dfbdff6e40b4L },
  46325. { 0x3d61439283576d1cL,0x4820c435ec865519L,0xf99e84dd6bfa5e48L,
  46326. 0xeb18687a9d0d2adcL,0xc3b7369da7fd75d2L,0x7e332b5739f5f093L } },
  46327. /* 28 << 357 */
  46328. { { 0x0796a8b6ec13d2acL,0x19036c255677347dL,0x2f0d36eef527c827L,
  46329. 0x7c8a3d17ca61ed60L,0x3920bc68748cf7c2L,0x61835bdf9018b300L },
  46330. { 0x9cf595c1689d5826L,0xdc547999fb51aea5L,0x11bb04120fc297c6L,
  46331. 0x88770df2b2f9fe0eL,0x99e031f5f6856a85L,0xbb59e8c7afe29c50L } },
  46332. /* 29 << 357 */
  46333. { { 0x714e784820dfc5f8L,0x35cde8ae2a2265bcL,0xf6b29ce4bfc32fecL,
  46334. 0xbd5e91f1918043a5L,0xd3766f8b60f8c218L,0x273c41935298904cL },
  46335. { 0x0a76492d5d441fb5L,0x99cb3b1d164d9275L,0xb2be87c80ac7935eL,
  46336. 0xbd1a1b3f0962981bL,0x8a0c207b96d0df2dL,0x1bb1e505929752d9L } },
  46337. /* 30 << 357 */
  46338. { { 0xa574de94621b2705L,0x0d0ca1b73e3f2227L,0xbdc9ddf2e49bc2d8L,
  46339. 0xfbc7254309d314f0L,0xf5900cbb827e0b1dL,0x3994eadd8a7e8164L },
  46340. { 0x2e7949793046f170L,0xde21ddc3c6883cc6L,0x9ea19d34bcd40da7L,
  46341. 0xb4334df8f01a9ae5L,0x801496ebce8c53c7L,0xc2a5e8527a4b0601L } },
  46342. /* 31 << 357 */
  46343. { { 0x435a6c512ecf62d2L,0x757cd8f6559a6a0cL,0x47833f815e4c0d40L,
  46344. 0x2d0b48047d960c6aL,0xf5474833473d5eb3L,0x70264154bf756b52L },
  46345. { 0xcc46e58d940bfb7cL,0x2e0dd3a69c89d48aL,0x483f3ee19387df66L,
  46346. 0xb3097da4585d3600L,0x82d64b4d76411ef9L,0x0df7d95719682e87L } },
  46347. /* 32 << 357 */
  46348. { { 0x179c59cf210c3144L,0xfb613c5733eebbc4L,0xdda75cfdba0cf384L,
  46349. 0x94081a5b3a8fbafaL,0xb91de90a33384e0bL,0x7d1f8f4027aa2a45L },
  46350. { 0x0747bcc162031148L,0xd2db8e39f324160bL,0x9c1ce3e9722484f0L,
  46351. 0x13a7ee5da62d1ddaL,0x77fd79343a963bceL,0xcd3d871783d2f21bL } },
  46352. /* 33 << 357 */
  46353. { { 0xc7c8eedc93a27196L,0x0832b0dfa8abe585L,0x31fe11e8d8adfb86L,
  46354. 0x1091601e9d50e4c7L,0x7931a284ac3d2ca4L,0x0f1464b6f3fc6641L },
  46355. { 0x2ead94f3260f29a7L,0x914b8396d88a7696L,0x950be4bbe73d807dL,
  46356. 0x26d0115e5b3ad83dL,0x3de8a73146c22525L,0xe50825dac5fffff1L } },
  46357. /* 34 << 357 */
  46358. { { 0x716378cae4b98aa8L,0xacf8d67b59b746a9L,0x78f0b5eca65ce8ebL,
  46359. 0xe5997983523cfa35L,0x85bf5badbeba89e3L,0xc8052bbfcfd73b41L },
  46360. { 0x0b3d77139fb311a3L,0x821a20e2d96f696fL,0x0f087e5744657c9aL,
  46361. 0x72031f281ecfea36L,0xd0765f333f32b010L,0x0412c69929c48643L } },
  46362. /* 35 << 357 */
  46363. { { 0x53d361b89f501481L,0x8970937717153c6fL,0xb52280b916bb8d8cL,
  46364. 0x5985cdc0b33dabd6L,0x35ba0cd9dca8ae72L,0xf55c6e7301bc4efdL },
  46365. { 0x2106ed2f269577c4L,0x4cc34291bfe765b4L,0x9f4168ea812eb958L,
  46366. 0x02869228999ba5cdL,0xff91540d3ab27498L,0x9020e6e158e55a79L } },
  46367. /* 36 << 357 */
  46368. { { 0x1a5b15377f1c7cbdL,0x5b31930b7cc17c56L,0x5b91e1a492cc8cf5L,
  46369. 0x970e43deeca08bdeL,0x36424bfe0e2e963bL,0x2e49534968b1a489L },
  46370. { 0xe350ca52d8e85a9aL,0x3cb9f599ae2cdd7cL,0x0ff35a0aa83215ecL,
  46371. 0x64cf57b81973a966L,0x128be6cd36b26702L,0x8067afbd5f65f7bdL } },
  46372. /* 37 << 357 */
  46373. { { 0x23d1f49215876c71L,0xafb21c1d41e7495bL,0xdb3ab62c2705885dL,
  46374. 0x20ff803f7ba216cdL,0x26cb190699c9ee55L,0x8280dc9c0fb05389L },
  46375. { 0xadf55171df1020dfL,0xc044e9bcbd011b5cL,0xe21aaa60cbed2430L,
  46376. 0x5939fe583336df4dL,0xfa306816ff78c665L,0xba92ca8243eb18f2L } },
  46377. /* 38 << 357 */
  46378. { { 0x6f05e6241b7edb64L,0xc280105b6681f48fL,0xd1b94413f993dc9eL,
  46379. 0x84f24c01e46de412L,0x092017d54abbf7dbL,0xb73193a56f7b1b08L },
  46380. { 0x22a7c5765195ae46L,0x81dd6b12610c28efL,0x61959874ad7bfcc1L,
  46381. 0x3ade0a77d15f8cf9L,0x124cef4d954db624L,0x0733bd7a5c247650L } },
  46382. /* 39 << 357 */
  46383. { { 0x52d7f9ddf1cee098L,0x538b7fa17a6a2ad1L,0x5f2294312911e75aL,
  46384. 0x71c337b7e6ef0271L,0x5e278a1267ee72d1L,0x7b348c756f33fea9L },
  46385. { 0x7bb59f1a694bb928L,0x5783e43f292b258aL,0xe3b53ca77181f1d2L,
  46386. 0x028ba90e051c7d2eL,0x4bb06f9364789d76L,0xcf97fc4da228a7a7L } },
  46387. /* 40 << 357 */
  46388. { { 0x3dbb3fa651dd1ba9L,0xe53c1c4d545e960bL,0x35ac6574793ce803L,
  46389. 0xb2697dc783dbce4fL,0xe35c5bf2e13cf6b0L,0x35034280b0c4a164L },
  46390. { 0xaa490908d9c0d3c1L,0x2cce614dcb4d2e90L,0xf646e96c54d504e4L,
  46391. 0xd74e7541b73310a3L,0xead7159618bde5daL,0x96e7f4a8aa09aef7L } },
  46392. /* 41 << 357 */
  46393. { { 0xdf5c2fa79111caacL,0x493ada25b04d2b3aL,0x5c4850bfa39a7872L,
  46394. 0xbeae16c067e07e93L,0x63bd7d390178358dL,0x7a7e56a1cfe0bcd0L },
  46395. { 0x9ba7a4500816b666L,0xea6c70c8dae070dfL,0x84013756832c2b35L,
  46396. 0xa28e5dd08d3e9fc3L,0xd67665aac653c08fL,0xee54d7b6aa6bdff8L } },
  46397. /* 42 << 357 */
  46398. { { 0x99b870afadbd24baL,0xb34fa9083bee289fL,0x4a20f29bae836fa4L,
  46399. 0x4188ed5024b464c3L,0xfb93f48fc6c00297L,0x334b8689736186ecL },
  46400. { 0xbf7f1c424e1016f1L,0xf95e6e59413ca088L,0x5878156c288912d8L,
  46401. 0x9e99199704c7ce69L,0x0f0c185d5d6520d1L,0x1ed2ece33fe6f498L } },
  46402. /* 43 << 357 */
  46403. { { 0x319fb249607cfd40L,0x5920056f62b40e28L,0x9ab4528058631ab5L,
  46404. 0xb527738f413452d2L,0xb2885e46b296e602L,0xb1dcf41a74824807L },
  46405. { 0xca9d2b06b2ad2fc6L,0x500c5f11ad05eeceL,0xca94160f21f3db6aL,
  46406. 0x693adf4e262470d6L,0x1f4c62c5480b0cffL,0xb3ebf11f54c748e4L } },
  46407. /* 44 << 357 */
  46408. { { 0xc8ae4d2bb4ef93b3L,0x4967da7b99758d99L,0xd1483a1fe04db9baL,
  46409. 0xf5e657df3033474dL,0xdd9371c89db4b96fL,0xb5f288956044b259L },
  46410. { 0xe8987a43b2ec27bdL,0xaabb1ae68fce67bcL,0x4518fa3eb2b97680L,
  46411. 0xa0142a13748591e1L,0xf9148ab96c2db557L,0x65592253e0e4f9e7L } },
  46412. /* 45 << 357 */
  46413. { { 0x21163809bccf41d8L,0x0eafed515b3f09d1L,0x3b5360d9d84b27f6L,
  46414. 0xee752fd04411d37aL,0x1cea3b5c6a3f5027L,0xb206e74d9454d9f6L },
  46415. { 0x710715dab52af43dL,0x8175ca136e6c6463L,0xbdb123d39689144dL,
  46416. 0x569e6edd4d9c459fL,0x070f09a4f02e5b25L,0x691c23ef3d79a7b9L } },
  46417. /* 46 << 357 */
  46418. { { 0xc0c94165781356cbL,0xcb9fb705876a839bL,0xfe23f07e89db25feL,
  46419. 0x710f0fa3a52cec3bL,0xb0ab363073e0f037L,0x3b79a8167c9aa037L },
  46420. { 0xdbc7f83ca1f13fe1L,0x8bd910c63d653a81L,0x2e54ad408c78d003L,
  46421. 0x0de02157a3e9ccf0L,0xe9081e8bf7670dfbL,0x6a2ad476c8647bc8L } },
  46422. /* 47 << 357 */
  46423. { { 0xaf58106ebf047836L,0xadc3245e195e5675L,0x75612e175290e051L,
  46424. 0x27b81bd869d46bb9L,0x9d4dad5b5417b5faL,0x19850d70fd024259L },
  46425. { 0x987daa604b0a86b5L,0x5d5a5f9c0358a944L,0x9008682f48d2ff67L,
  46426. 0xc9db4d4b89e81cf9L,0x133516bc850eaae4L,0x0b5bfdc81da8bd19L } },
  46427. /* 48 << 357 */
  46428. { { 0x609deb162d8bcd6eL,0xe42f23a92591750dL,0x4a9f3132b378305cL,
  46429. 0xf101799869275f5eL,0x14be746761b089b5L,0x05f620d20c81b0c5L },
  46430. { 0xca90a9c06cb8412eL,0xfe0f6a8915b1b0d5L,0x1b25ac9620c71988L,
  46431. 0xb971b61a390aedd0L,0x995214d779d8cd39L,0xd7fa135b65c6e11aL } },
  46432. /* 49 << 357 */
  46433. { { 0x5aaa98f875330325L,0xc900a7781f3541a6L,0x69bcf864174a3200L,
  46434. 0x3abc5ef71c46b3e2L,0xa53c9e4e47851b97L,0xc166a4e22acdc42eL },
  46435. { 0x49e4e6fdb19b4678L,0x4fe02cb162b7da19L,0x575c61a6633153feL,
  46436. 0x49578b28a4f83b70L,0xc6840d063737532cL,0x93047d40480f55b9L } },
  46437. /* 50 << 357 */
  46438. { { 0x835be7417d930332L,0xa4d001bb2cd86fc4L,0xef141e30a6e3a24dL,
  46439. 0x4047620adc328d2eL,0x5c80a3bc9a5f1f12L,0x6cde5e4ca19b423cL },
  46440. { 0xcdd5d7773ba0fa5cL,0xb96dbe62ea85c28eL,0x963c02245c804896L,
  46441. 0xb2a581abe5dd6b98L,0x28a908a2abc8dac4L,0x5834b212985fd18fL } },
  46442. /* 51 << 357 */
  46443. { { 0x02757b1f0fbe0c5dL,0x2d0d05a854ef99e2L,0x2bda526d0377ffa0L,
  46444. 0x58ca8b08925985afL,0x1fb7dbe727b69722L,0x322d7db5f1c57fe5L },
  46445. { 0x4049c8bcfdf111f3L,0x0b4712974148b027L,0x34fcb1e58782dab0L,
  46446. 0x697dc9431665557cL,0x3ae30e2844659ba2L,0x479dbc2f118e7417L } },
  46447. /* 52 << 357 */
  46448. { { 0x10b10d86227e8607L,0xe83536281d1be36aL,0xe34068f9d952b0e9L,
  46449. 0x148eeb38fdb6ea99L,0x82657d605547e7ebL,0x9c35dc82a86155eeL },
  46450. { 0x408f79262060a81aL,0xf2a79205a6282e8aL,0x10dbb58526e70e7cL,
  46451. 0xd636f8225df85d6cL,0x03202c027682b922L,0x31323940baf18500L } },
  46452. /* 53 << 357 */
  46453. { { 0x5882374401879796L,0x068943ccd1249281L,0x20dec1c12e1d6effL,
  46454. 0x5f4c2c070bdddecdL,0xc56d52b37ee724c3L,0x93bc2c7a559e25ddL },
  46455. { 0x0c95d2e5f98a9940L,0xc570e96ada60a809L,0x94c4a964076233eeL,
  46456. 0x843c99627dbbc526L,0xe4075129d4cdc652L,0x0afff70561cb2698L } },
  46457. /* 54 << 357 */
  46458. { { 0x3ec1e3a5f607f893L,0xd476dd24054aaa8cL,0x2cb92280a93488abL,
  46459. 0xc8d1207710d1dc68L,0x564839b9bfb494e6L,0x7a13930ceabdfe56L },
  46460. { 0x52f72a9724f9b183L,0x30ae4bc87e9c6fc3L,0x3d7d2765f35b8e6cL,
  46461. 0x701f3d89a665ba55L,0x98f2fe85c466111bL,0x338073600c1c0dadL } },
  46462. /* 55 << 357 */
  46463. { { 0x7dd106bab3a48d42L,0x7eac4690ebfc75aeL,0xdbf3547e68ef4ea3L,
  46464. 0x3629c438a1a5faa2L,0xac2aa55e653bfd97L,0xae5cc39752c3b8f9L },
  46465. { 0x117380552853b626L,0xd5a955f224a0dfe2L,0xc4356ca25940233eL,
  46466. 0x73f7eda97994aedfL,0x2bfa76c693b185d9L,0x091cef91a0327108L } },
  46467. /* 56 << 357 */
  46468. { { 0xa8393a245d6e5f48L,0x2c8d7ea2f9175ce8L,0xd8824e0255a20268L,
  46469. 0x9dd9a272a446bcc6L,0xc929cded5351499bL,0xea5ad9eccfe76535L },
  46470. { 0x26f3d7d9dc32d001L,0x51c3be8343eb9689L,0x91fdcc06759e6ddbL,
  46471. 0xac2e1904e302b891L,0xad25c645c207e1f7L,0x28a70f0dab3deb4aL } },
  46472. /* 57 << 357 */
  46473. { { 0xf5dafec85f102704L,0x2f3b6b6929f5b946L,0x84472c029d4c9979L,
  46474. 0xed49f3e6341f0150L,0x3ee3432eb3bb085fL,0x84c553183cbac42eL },
  46475. { 0xbb358bd9dc4c7ffaL,0x0713917d2db356ccL,0xc73e9fd0670c7139L,
  46476. 0x87600c4c3581108eL,0x2ae731d7586af51dL,0x30630ad6614c126eL } },
  46477. /* 58 << 357 */
  46478. { { 0x15f8fba7712c0edfL,0x4a1f93baa2c363ceL,0xfabca37e8f2948a4L,
  46479. 0x652922e4dd765560L,0x2da78559220cb98bL,0xb797746a54b940c4L },
  46480. { 0x8535fcfc591bb7faL,0x58857815c25376e3L,0xcd8db789da627557L,
  46481. 0x718072ca318512b7L,0x92266469813efd94L,0x3217649aafa85382L } },
  46482. /* 59 << 357 */
  46483. { { 0xd517b39e51c4bf28L,0x6614c16261f583a3L,0x79c72f414739ea59L,
  46484. 0x597e1c2ff76e80f8L,0x3a72b05e7b846f3aL,0x1849e5126c0a45a2L },
  46485. { 0x79a6ea5b9d506d83L,0xc48e570219b7f46eL,0xc89c5047c524bb48L,
  46486. 0xafc1fdd99cb88cfdL,0xb07eaaa0b82056e6L,0x60f6544f05885df8L } },
  46487. /* 60 << 357 */
  46488. { { 0x9894ef75f39e2738L,0xac585d07b40db6ecL,0x07d9e938c4cfdb92L,
  46489. 0xda174933737f1a7fL,0xa4f1fb65484031a6L,0xa96d9f612c21b546L },
  46490. { 0xaf981519d24ccee0L,0x238de6de9d53b571L,0x09afc481fd78c3ffL,
  46491. 0x4351715d9ea7f6fbL,0x91a02325b14a7320L,0xcd8958d8bbb6346aL } },
  46492. /* 61 << 357 */
  46493. { { 0x22ef4217452ae6a0L,0x3192309d9ced837aL,0x773585ed2ba43ee9L,
  46494. 0xa9b29d94f3379e81L,0x43838b3aa6835e44L,0x1afe27ab0c7b2336L },
  46495. { 0xca1dc61683ecd230L,0xc9e8b95e6d235df5L,0x9667829b2af11adeL,
  46496. 0x27254b0fbe532148L,0xb50bc3c86d233f14L,0x30e0e450bb35d985L } },
  46497. /* 62 << 357 */
  46498. { { 0x8b3f79087b95cf32L,0x67c654b06272c619L,0x61160a9d22c0f46eL,
  46499. 0x1cce95721d2e36ccL,0x62bd951d3990db3cL,0xcf0005c8d9700d14L },
  46500. { 0x304aff9c70116120L,0x1c919dd2b08d57ceL,0x841b058ec0c0c0b0L,
  46501. 0x7cfd4deb7af05aa2L,0x4fbd13c57b11ce5bL,0x03e07dc9f8259bebL } },
  46502. /* 63 << 357 */
  46503. { { 0xe9b37f569d0703e0L,0x7b5e0df5f83c215bL,0x7fbb40f0d3c21efcL,
  46504. 0x87a2ff119fb33620L,0x208b062bd1176635L,0x806bc549950d30efL },
  46505. { 0x862de3a4ae2bf355L,0x917b06bacf9ef6e8L,0x55f1ec4cadacc178L,
  46506. 0xbcd679fc81d752fbL,0x9404d6ce65a00270L,0x25ce99e6000c6e1fL } },
  46507. /* 64 << 357 */
  46508. { { 0xa13f19b40f3ff12dL,0x57ee08b1019564aaL,0x00ec0c997044a6f4L,
  46509. 0xaf5665f8dca1075cL,0xded5ca3f0620ab0cL,0x9b2cb8c7a896deffL },
  46510. { 0x032ab2b307df2345L,0x964d109ef1da3f88L,0x2286b6f725133304L,
  46511. 0x0d16d531977a4567L,0x00a66036f1abae4fL,0x5debab1d95f0103bL } },
  46512. /* 0 << 364 */
  46513. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  46514. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  46515. /* 1 << 364 */
  46516. { { 0xf2cdae3196230a58L,0x47cf36b4f304e1eaL,0x9d14f25ad750b29bL,
  46517. 0x931b9c65dba15f3eL,0x34db169ebf9fe2ddL,0x8a89e47c52663433L },
  46518. { 0x8859a4f8026ec31fL,0xeeb703eaa913ceeaL,0x74638d6a67ac4db7L,
  46519. 0x5c8ea7b2be25d755L,0x8a0f0a8738db10eeL,0x96a26bace890bcd3L } },
  46520. /* 2 << 364 */
  46521. { { 0x883533af64a5e869L,0xaaa778c26973ec23L,0x8f0b5fb546d0fcf3L,
  46522. 0x7e6b0a0a4ab05da7L,0xcd91a869c67b6614L,0x7de9f2ff6c6f7cf2L },
  46523. { 0xc072a106d1ec14c3L,0x3f4b960642a128eeL,0x7378192c8f0ce946L,
  46524. 0xdf2e7b9fd1149441L,0x4fa17cb614ccf45aL,0x575680e945f03568L } },
  46525. /* 3 << 364 */
  46526. { { 0x0f4ca7803374f910L,0x5948ae98fedc5b5bL,0x4873625b4ef805afL,
  46527. 0xbddba22fc015c586L,0x7091b50aa41a8c93L,0x721dd3384c005f42L },
  46528. { 0xf43d37462065f41dL,0xd16bae3e172512b3L,0x3efca10c8277068fL,
  46529. 0xd0c25d7b77513f00L,0xc0015cc12dc3af9bL,0xdf11a4ec94c6cadaL } },
  46530. /* 4 << 364 */
  46531. { { 0x8b70e94f8f458c68L,0x292726544160ecc7L,0xe22219ba4d3ef22fL,
  46532. 0x7f8a712a1999f948L,0x25575e96abfe7302L,0x21c6ffc6564a1af0L },
  46533. { 0x045e9c667e8500daL,0xef7c3cf704ef8ea6L,0xdd23b825c3db161aL,
  46534. 0x05fb173aba33a906L,0x9a8b5ecb870e41f2L,0xf3d9db0bccc30d1dL } },
  46535. /* 5 << 364 */
  46536. { { 0xbed7d94ca1bf2c8cL,0xbb7f437cb8b719ddL,0x65416af6106834bfL,
  46537. 0xdade8a144c4f7448L,0x62227a1d881dfc06L,0x37bc7de58dc2b7bcL },
  46538. { 0x4f11541712ce030bL,0x72439d8ac2a9e0d6L,0x98cc53aba0f1b961L,
  46539. 0x2f68011d48b0ec8eL,0x4bbc34679c72d034L,0x0320c1469c576e38L } },
  46540. /* 6 << 364 */
  46541. { { 0xd9243926e873ff0fL,0x2e2a5ab6f20b0e49L,0xa1bcfeee0e35f201L,
  46542. 0xd25be5f3196f23f3L,0x298c67f2ffc1d068L,0x77dae55c0c3d950bL },
  46543. { 0x5e15ab998822c996L,0x52de2e6d83f60a98L,0xa9f82ec947a7e269L,
  46544. 0xf02af9a22ac22e49L,0xdfb3103fa706f090L,0x125599623cf8dcb0L } },
  46545. /* 7 << 364 */
  46546. { { 0x9f5f44fa666e278fL,0x53c88803f5582c78L,0xd7e8f258f9627f9cL,
  46547. 0x22499dc938fd51bdL,0xa9d7497c846a4a79L,0x791b8ead026ae250L },
  46548. { 0x84d47d19db15ff63L,0xb58a82c0267b44b5L,0x9b2f138806a52e30L,
  46549. 0x3fc8da027f08953fL,0x22d074d292fcac08L,0xb9c7c3db701d73fcL } },
  46550. /* 8 << 364 */
  46551. { { 0xb7b8562588ad12b2L,0x81f5958b1e44b254L,0xb4ebddd5c91b8ffdL,
  46552. 0xef815ae155d38511L,0x98587d551b0da525L,0x1d41817734a9ebbdL },
  46553. { 0x844811fb1e6057d7L,0x0c16977176e5976dL,0x4b268bb4f623789bL,
  46554. 0xb26ae5be40498058L,0xb47a5ded3c2b435aL,0xe15a684b8fceceb3L } },
  46555. /* 9 << 364 */
  46556. { { 0xd55407583353db48L,0x0e334ccac0c0b5e9L,0x679a935f270c48d3L,
  46557. 0x170693e436ef0e90L,0xc72fb12f9de59023L,0xaae13a0e9371697cL },
  46558. { 0xe98ed704d8d56e4dL,0xc6de5384eb71f091L,0xba63adccc6d905a8L,
  46559. 0xc84e614d66e40dd4L,0x15dcf1a3fa0f55e3L,0x4e26ee3af157c7a1L } },
  46560. /* 10 << 364 */
  46561. { { 0x122a3eedd09dc3c8L,0x6a19907faefe0819L,0x057aafa1da325339L,
  46562. 0x138033bdd42a5345L,0x8ac206af1a065ebeL,0x0a46f5ae25c31ed6L },
  46563. { 0x7fc577a9d7e379dbL,0xc6df694369dcee54L,0x4c167ba2a8336bc1L,
  46564. 0x0fbd9708f3a1339cL,0xc6b8c01f226f612fL,0x5d4ed789d51332e1L } },
  46565. /* 11 << 364 */
  46566. { { 0x67ead4e0f6a40814L,0x42fe051ca2ec9ae1L,0xc09f84395eba62cdL,
  46567. 0x7bb5ba0c9d8e7305L,0x85962d0db46f81abL,0xc7183752628b18ebL },
  46568. { 0x7a1f023edf58ec0cL,0xf21bfdbaab6535dfL,0x12add590801d2481L,
  46569. 0x1fccd1e37a11520aL,0xf83caddd6fa8f8e2L,0x99e7256c24e58433L } },
  46570. /* 12 << 364 */
  46571. { { 0x26aa2c2e5a1abcd8L,0x2b16a12e9609d9d8L,0xe485a551a2bee00cL,
  46572. 0xfa28c30bf4f2292eL,0x99abef78b7358f1bL,0xda6b3cdf10a276a1L },
  46573. { 0xbd3858b747c03f71L,0x4f0bf5f0b22d05d1L,0x2d80f5d28250f760L,
  46574. 0x060f9b278cd9666cL,0x6a6c40b0b1b014a9L,0x44537af38c440a9eL } },
  46575. /* 13 << 364 */
  46576. { { 0xce1c070a2275263dL,0x2723b3d149cea971L,0xedca02f5817001b6L,
  46577. 0x5c160e9349c946e4L,0x273b4952458a5265L,0xc7bcd7c610385173L },
  46578. { 0x22cddfd17fb08b14L,0x959d5dfe10f73d01L,0x900f5f348e387351L,
  46579. 0x6d7381dfdadb8695L,0x8dff2b193aeafba6L,0xe4a8d6bd8adadc36L } },
  46580. /* 14 << 364 */
  46581. { { 0xb564cfd676faaca5L,0x8a6e3925920dd223L,0xee59a140a590a383L,
  46582. 0x9e29b552a1922ad9L,0x604367de60a0da63L,0xc498aca592c35fd0L },
  46583. { 0x74135082250ed8a0L,0x5d109d1a6c7c3e77L,0xf9e2d84dc63dff94L,
  46584. 0xca50f5e4f7aa2b0eL,0x7cba9e87d543d389L,0xaf5fbbefd8fd1292L } },
  46585. /* 15 << 364 */
  46586. { { 0x3163e2e895bcc345L,0x4ceaaf2d80d9a931L,0x4d2dc44b2f621612L,
  46587. 0x2a5f60b86cc8ffd0L,0xf49038cf7e8c9434L,0xb580b8c508015b8fL },
  46588. { 0x4283ec01d52af80bL,0xac9dc35f99076245L,0x38785f7bd64c3dd8L,
  46589. 0xca19c17623bf8915L,0xd778291370478260L,0xc1e48e6816e34149L } },
  46590. /* 16 << 364 */
  46591. { { 0x707656834fc11c3aL,0x53a9403166aac4d1L,0x2a935ef0a6db6169L,
  46592. 0x002927612032d599L,0xb5babb2d3a6f1316L,0x601a7dfadb26af51L },
  46593. { 0x00c340131322d983L,0x45b062ec2bb507c5L,0xa1bbe2ed0f9b3656L,
  46594. 0xe17a5d4934031d18L,0xe3661047f8fe1224L,0x0e4f3b3d623c6cf5L } },
  46595. /* 17 << 364 */
  46596. { { 0xb335d83c7c3b8c3cL,0x01eb94f059359a67L,0x3a8359a6aef3ffa0L,
  46597. 0xb0270076ecd2d862L,0xc946b1610377e30eL,0x9a5506c282bd6ae1L },
  46598. { 0x737bdad0218512dbL,0x449238633487fb13L,0x36026dd12a8e7907L,
  46599. 0xb67bdc80784811eeL,0x9f92cc2405c90646L,0x02c551554c370746L } },
  46600. /* 18 << 364 */
  46601. { { 0xffaac084ca45cccfL,0xaea5cc3d061ffe3cL,0x7c5d7c60b355f387L,
  46602. 0x4bbb2a0c99cba92dL,0x6b4ba3ef2f7768d6L,0xc7484ed2cc5f9c40L },
  46603. { 0x5d4e92fc52b57a7eL,0xba9f16c4ca2c200bL,0xebe02a8a3797ccbaL,
  46604. 0xb6b3f42138c4133aL,0xad5d85b68153d033L,0x782d6ee85714f269L } },
  46605. /* 19 << 364 */
  46606. { { 0x4654991087f226ccL,0x97894d5fc7bfffcbL,0x94f67786b3cabb83L,
  46607. 0xa6abaa960d788dc4L,0x08ae72d61723738dL,0x5003f41d86704dfeL },
  46608. { 0x67687c3d40fb0a3cL,0x6fdc98c9b43320aeL,0x0f22572fdeb08964L,
  46609. 0x05bb02a4c8002624L,0x4c5adb7f987c2991L,0x3f1c6dddef4e60cdL } },
  46610. /* 20 << 364 */
  46611. { { 0x7845b6969c0cf752L,0xb82d052b5a732acfL,0x7760564c1262877bL,
  46612. 0x29b3c57a8ecc7aa5L,0xb58eccb0df1ebbedL,0x86fc15443c3a3303L },
  46613. { 0x44761ddf13060f0eL,0x5a3dacfd7371a5a8L,0x846f6faaf7cbc2bcL,
  46614. 0xf5e098b0368caabfL,0xe23ea10710c08769L,0xbc5df1db1563fcdaL } },
  46615. /* 21 << 364 */
  46616. { { 0x75647f6476638edbL,0xb76ceb04aad6e25bL,0x33c73367d9393a41L,
  46617. 0x8396726dc55f0feeL,0xe1cbd48e751b3d43L,0xb779c5bdf47141a3L },
  46618. { 0x122b85434eab6097L,0xeabacf45e08c6fa4L,0xdb32eab7769f49cfL,
  46619. 0xf956976a04ac2cb4L,0xf55c6fcb5ea8e71aL,0xd72940dfbad47ea9L } },
  46620. /* 22 << 364 */
  46621. { { 0x65c3a54e142d8955L,0x5c6583cce7814f25L,0xbd5a07d8d924dc7dL,
  46622. 0x9f717bd9c28f6e8eL,0xa0c4ec4e3b6540a7L,0x3153bb2b142b3283L },
  46623. { 0x53bf403c9b296946L,0x659a828ab1cdb6d2L,0xe9517d811369af19L,
  46624. 0xd8c7a0998990e7a0L,0xbaa9f59de535cd04L,0xbb0cc68e0f269551L } },
  46625. /* 23 << 364 */
  46626. { { 0x2b4a0e69d0cd5fc2L,0xeb8dd25981167a94L,0x356198ae61b73503L,
  46627. 0xb159ca12e5289d45L,0x99d71c97991765b5L,0xce3a3b6c198e10b0L },
  46628. { 0xcf6ee0bcafbb512eL,0x4aadd1381e19b49aL,0xcf6a9cf3b4806f0aL,
  46629. 0x6aff0386ad688bb4L,0xea487c6e4f2e5065L,0xec200f4b56573b51L } },
  46630. /* 24 << 364 */
  46631. { { 0x3c00ac526a78c6e5L,0x9c61aca6defaa52cL,0x0034128939794a09L,
  46632. 0xe08910d141cd7c0aL,0xa58ffbb6a732e3bcL,0x87bf51ab91fe8fd8L },
  46633. { 0xc4f4f2674a59e2beL,0xdeb512c7438071c8L,0xddf82842e9cd290bL,
  46634. 0x3e17311d6ae85fe0L,0x6e9236a9b41be881L,0xbb9ddf9853555ebfL } },
  46635. /* 25 << 364 */
  46636. { { 0x07d2df1162bb0e3aL,0xe74ce211ce469affL,0x9629d7d4756b5a83L,
  46637. 0x61d2a633aefd449eL,0xd39a6afe491e503bL,0x0f1568d14d2b2ed7L },
  46638. { 0x8216304cd19611bbL,0x6df99bbeb27388daL,0x2b0f60c0b7a3b4beL,
  46639. 0xcff84c1c7dadf840L,0x470201e28a9f8a49L,0xcda3693c21afc717L } },
  46640. /* 26 << 364 */
  46641. { { 0xccc163ea09f3f0beL,0x9932b56f6a5b0a63L,0xf89fae919c69668eL,
  46642. 0x555f98215ce13021L,0x4b02693f37037aa9L,0xc4afee79bde50f35L },
  46643. { 0x4b0919c202aa6c7aL,0x3166de2a991e15e9L,0x284baa3e7077fb38L,
  46644. 0xbb7a6416a116ddecL,0xe8c89547b7636772L,0xff9403620ef92c54L } },
  46645. /* 27 << 364 */
  46646. { { 0xcd183e8bd3ea4c3cL,0xc8ce2f2154b7ac32L,0x75387e04be960826L,
  46647. 0xaf878400f2e39f5dL,0x7fcefcd94fa628f7L,0x76eb621c34582cbbL },
  46648. { 0x44e1f848f29d2496L,0x42aa36174ab4eb21L,0x43cead840c08b50aL,
  46649. 0xfa4ecf60dd44f7c2L,0x5ac9ffd59f817546L,0xec11567eabcc594dL } },
  46650. /* 28 << 364 */
  46651. { { 0xd5d81275e2ce6008L,0xc45bdf250b3b9d10L,0x15ab5da36cbc83e2L,
  46652. 0x85a18cf8c52a66cbL,0x77e202b8b042c047L,0xc4dc3de2e7e7997eL },
  46653. { 0xfe9335b1995fa67aL,0x809e161d75b96a00L,0xfb03c2a5a0c3baeaL,
  46654. 0x5c7e0523888c2f77L,0xa8fda1c887ad10e2L,0x90484f78858a3577L } },
  46655. /* 29 << 364 */
  46656. { { 0xefc5aa2681bf26c9L,0xdbe91f606bf105bcL,0x0d70c4d4369dd3aaL,
  46657. 0x2b357b847af9bf66L,0x4293e9a01f27f163L,0xc846f67cb3eaeddeL },
  46658. { 0x4556bb787da305dfL,0x4ecebf83a5a26bf9L,0x8e05af924c1bc430L,
  46659. 0x4f3bdaba70f80402L,0xccaccfd3cf204577L,0x8fdee135a0c42d1aL } },
  46660. /* 30 << 364 */
  46661. { { 0x49e41f0af9fde126L,0xec9600443613d3c2L,0x2c62a49d10421d3bL,
  46662. 0xe24024648131a0d8L,0x8a7ce188bdf794fcL,0x704dea7d4665b1b6L },
  46663. { 0xbdb9c18e4d57c6baL,0x5288a053f669b3c0L,0xbf7d01b878a5e252L,
  46664. 0xb26cccf926b9cb7dL,0x14191a3284326c47L,0x460ff74791f8425bL } },
  46665. /* 31 << 364 */
  46666. { { 0xb9958c5397698b9bL,0xe1f74292c27f96ffL,0x172b0d50806da6bfL,
  46667. 0xaf3d889ddd38b97eL,0xe7a75ea409c688daL,0x1f0951b85c631b2aL },
  46668. { 0xdad8b2adda1c111eL,0xbacb9cc832813338L,0x30b8336b10582abaL,
  46669. 0x0ff3d7549494e71cL,0x8d99be5cd663ed6dL,0x8eb412cf7073a941L } },
  46670. /* 32 << 364 */
  46671. { { 0x59367582bd27be7bL,0x92bf5bbc1ab2c596L,0x5d96351af6a27741L,
  46672. 0xeab94db87f929e0dL,0x865ba011043f1afbL,0x43acea125fb631ddL },
  46673. { 0x192e0652b2fd1436L,0x44f22ff17b38d121L,0x7bcc228db7cae5f6L,
  46674. 0x02eaeccd6a828b03L,0x7c48a2ea91f301aaL,0x1e090717f5eb1a07L } },
  46675. /* 33 << 364 */
  46676. { { 0x4c7f41b4609c6818L,0x978c2a561c82b3c4L,0x68404f1d7f6ba836L,
  46677. 0x91e056d0c863aa7cL,0x0b24599ba2261804L,0x16e9060dcdd7596fL },
  46678. { 0x42aa49434eff004eL,0xb99408690438f1e4L,0x28299e8581775712L,
  46679. 0x498998eb83be6877L,0x84273d9e91328a67L,0xb7e9076e9a87bc8cL } },
  46680. /* 34 << 364 */
  46681. { { 0xe8d204865e5aea08L,0xaa946076addc7ba0L,0xc0153a9bb6a5cabdL,
  46682. 0x622271bd4fbe43e0L,0x44de159cbd62e5cfL,0xefca41112b9b63f8L },
  46683. { 0x30774d3cf5269928L,0x4fbb7ff84ac0c8b6L,0xe0611f1f8839106aL,
  46684. 0x5d4121204ffa4a64L,0x9552c123e86251c0L,0x57d029680efbdb14L } },
  46685. /* 35 << 364 */
  46686. { { 0xdf3f8e06d7aeacd2L,0x725b25fe4d0e7af3L,0x1794f0da5c17392dL,
  46687. 0xabc807dac977ff46L,0xd90e6c8f0d5ca66fL,0xaf8eb526c2d26d49L },
  46688. { 0x4661962e8a8efa37L,0x2a2cbeade87ad53aL,0xa57d34b1ce3ff40fL,
  46689. 0x1190437dc6aa3067L,0x92c31e779db66b47L,0x86a8ee0f8e8a70d4L } },
  46690. /* 36 << 364 */
  46691. { { 0x7b65bb14de97229eL,0xad6e3fee4c6d35b8L,0xfcbbf6afbee3f5d8L,
  46692. 0xb51549ca4a438fe3L,0xe66e615d437d531dL,0x9ee793eabf168624L },
  46693. { 0x796789b0f8878a84L,0x3d38950dd32ec2ecL,0x74c37196a638d45bL,
  46694. 0x35d318327aeedaf0L,0x082c44f046a001e5L,0x93fae5cf89886220L } },
  46695. /* 37 << 364 */
  46696. { { 0x8e585fea499b635cL,0x60afcb3566781e83L,0x06594d9267482257L,
  46697. 0xb9f6101128773448L,0xba9ef7102817fd2aL,0x494e05b2aad046c8L },
  46698. { 0x65d804fc1614e265L,0x1b0884c6d97fe002L,0xd7d34f60875bcc2dL,
  46699. 0xf34725444b440852L,0x49386bfb95591325L,0xe3966f4ccf68a142L } },
  46700. /* 38 << 364 */
  46701. { { 0xa5f3bc6cea06320dL,0x1bf855c637ad6e7eL,0xce7ff06ec58befadL,
  46702. 0xcf0d22cf1c2c0478L,0xf53e473e75616621L,0x00539f8700829986L },
  46703. { 0x45398355844866d3L,0xbade46a2d710bc63L,0x6b3da567d4e2641fL,
  46704. 0xff70185978fd963cL,0x2eefaabaa5bc18a6L,0x61eeca92eb64cd49L } },
  46705. /* 39 << 364 */
  46706. { { 0xdf7c7c0b4cd4c82fL,0x67a26a97188ab9dcL,0x58c5bd74dd189cebL,
  46707. 0x3e1e93a9bb6409f2L,0x0d18a8bca6bb744bL,0xad3eafb45328dcf0L },
  46708. { 0xacd15db5e311dfe8L,0x13a1c10ac1e849bdL,0xfaaa7227e1e73aa5L,
  46709. 0xa4cd2400e33d4665L,0xb9be68d9d6d527b4L,0xfe282bc05efbfc40L } },
  46710. /* 40 << 364 */
  46711. { { 0x159b38e17f8fd522L,0xf3ea27b5755e2bd8L,0xfaa52efebf11ac90L,
  46712. 0xc2014b892cb9f6dfL,0xa711c179d8baa5d6L,0x5474c1ceb22c2f27L },
  46713. { 0x3cbc74cb031d05d9L,0xddd97ca6c44e469aL,0x21b386a647db83e5L,
  46714. 0xd1431c7b7abc0595L,0xbc05d009a416a325L,0x1c29eb709da53e92L } },
  46715. /* 41 << 364 */
  46716. { { 0x7f1aaf98181ce8a0L,0xa890cd3b6caa5b6cL,0x5d78dfaa5fbeac66L,
  46717. 0x36c63cef3d3d4594L,0x6f89ac3ec36d117aL,0xce9095640fc90e27L },
  46718. { 0xaa356b1ac127aa76L,0xfa42cc119d181455L,0xbe4622fcd27f5ab7L,
  46719. 0x58d924542c3d54f7L,0x78a84f6b07e93c24L,0x5bf7cd278bce9a46L } },
  46720. /* 42 << 364 */
  46721. { { 0x4bde9ce5f810db3bL,0xec4a74b7281552edL,0xf5b4fa5fee085bb0L,
  46722. 0xb07a62936192c8b2L,0x163ff0d1fb18d219L,0x8d4b5e1d8e0ce753L },
  46723. { 0xbfa6211baebcbf50L,0x1ed6d4b4fecc19eeL,0xbf6d514b82393e94L,
  46724. 0x90b356c1711e7d6fL,0x87b28dc2f975139bL,0xc41900648d8bebe9L } },
  46725. /* 43 << 364 */
  46726. { { 0x3468af53e8d49368L,0xa0a07369ff825262L,0xfad134fd662958f7L,
  46727. 0x5be79c00ce900822L,0x4909a56c44bde5abL,0xc2e8c4df4862e335L },
  46728. { 0xd5e9b9386e7e41f5L,0xd3828d424fe474afL,0x058b2723cef44adaL,
  46729. 0xc74ac74617eebe66L,0xc3e6e014bca4416cL,0x2e30bc88167c2e86L } },
  46730. /* 44 << 364 */
  46731. { { 0x68211ba4969c2c58L,0x7a34733977f218e4L,0x0237eb3696ea1d64L,
  46732. 0xdc97f94b7416f3caL,0x63aa82e476bf9e52L,0x4b88a32d388465baL },
  46733. { 0x7322d9f44adc7579L,0x70c01c7fb24d28f6L,0xdf7f4213c7517ecaL,
  46734. 0x42c027f0a8db6d56L,0x2708360eb6c2f8baL,0xf20690d1c2dde09eL } },
  46735. /* 45 << 364 */
  46736. { { 0xf139c3e3bc6158ceL,0x19207b6a4c86b780L,0x55af3eb977c036b1L,
  46737. 0xd192686abd563ebdL,0x8bd0afb05550266dL,0xaaa7376d83bf81bfL },
  46738. { 0x26aa74ae4a114541L,0xd92549dfbb6745ecL,0x6ad6a14ec6bbfbd0L,
  46739. 0x63fee75b411771f3L,0x111ae3101938e8b5L,0xce3e5e346c363756L } },
  46740. /* 46 << 364 */
  46741. { { 0x2a53c88ae0a45b56L,0x26367466da72228fL,0xdd65516edfdbb135L,
  46742. 0x5fe254e82d7e37bfL,0xc0f5cbe433ef39e3L,0x249b7e3ece85effeL },
  46743. { 0x85951a5391ffba8aL,0x41117672c8dd5ec6L,0x7a74538d9dbb0761L,
  46744. 0x0b35fba0cfb06ddcL,0x8c36be4d1a0aca2aL,0xbf884a8e45848e1dL } },
  46745. /* 47 << 364 */
  46746. { { 0x191eef31788596c8L,0xa7413be65a2d0ef8L,0x30894fcc5c3c09e1L,
  46747. 0x6b0e429b2f72a333L,0xceea52a1e70470e2L,0xfc638b316b682db2L },
  46748. { 0x31af73cd615f7f21L,0xb31663760094996eL,0x7ec37e33dfff756dL,
  46749. 0x38c50101d9b63a4cL,0xa517c6df192f18e4L,0xd674c53a841fb337L } },
  46750. /* 48 << 364 */
  46751. { { 0x4dd3bd842446fc6aL,0x4654b82ef25ab510L,0x1ad46998ba066896L,
  46752. 0xb7c679acad713bbdL,0xef9389aff7ca4fa5L,0x1b864105d68b6a1cL },
  46753. { 0x3acfff604b6f5ea4L,0x81ef58f7b9e5a475L,0x5e2f6441c66ad734L,
  46754. 0x49f144c42fd3eb16L,0xbd7f22082e4e2117L,0x30865994417911a3L } },
  46755. /* 49 << 364 */
  46756. { { 0xc2f25d9e80d2adb5L,0xa0e77dc5242430feL,0x7f30e54b4f504e97L,
  46757. 0xdc114db4680ca2cbL,0xf76fae57adec4d89L,0x06f892eff313535fL },
  46758. { 0x50af729a9a266407L,0xb0cbc4f0764dffd1L,0x153ff8f8d20c2e19L,
  46759. 0x27fa845a7388d22fL,0x26e08ef5d784e057L,0xccbe49ee53b5dfc0L } },
  46760. /* 50 << 364 */
  46761. { { 0x6fa8e5ff3082ceb5L,0x81f4dd02ef4850ccL,0x626b324456483f9aL,
  46762. 0xc0acbd8782e65652L,0xf9bef3117e23f93eL,0xc2474777c2310f6fL },
  46763. { 0x6b4617704379fd64L,0x2f8fc599f18c3b14L,0x2287f1d0bd076aedL,
  46764. 0x9f8eac0fef366016L,0x517cd2e371fd845dL,0x0fc2f219a30c371dL } },
  46765. /* 51 << 364 */
  46766. { { 0xfea0464721c56ce8L,0x4f7b055b6a32a26bL,0xf8c8d93e487ed396L,
  46767. 0xe620b440855f4df9L,0xa3f6f21dea870c14L,0x0518225207dad127L },
  46768. { 0xbdfb7b12c68ab5f6L,0x5f58bdd7fc68f296L,0x2df9cfc505e4fdc2L,
  46769. 0xed12a102379c282cL,0xd388362654d8de77L,0xaefb0f7fb01065afL } },
  46770. /* 52 << 364 */
  46771. { { 0xdc64f8d23d80d738L,0x7ae74ab1d95a1c6dL,0x4dba93a8dd46de0dL,
  46772. 0x271aeb870fddbd1dL,0x1bab6546e9e7ed31L,0xe6445d22efec8f37L },
  46773. { 0xd927df1797a718a7L,0x738c2450351b1ceaL,0x3809e595d51a7422L,
  46774. 0x4f8d5ea58969456cL,0x74d9168421c9ad95L,0x59a69f8f4f796a11L } },
  46775. /* 53 << 364 */
  46776. { { 0x2542fcf1f07717aaL,0x032abb3f405a7717L,0xc757e6e294cade8cL,
  46777. 0xad4776adf2e84dd1L,0xb7e277243d5e397bL,0x173894a605f8921cL },
  46778. { 0x0e3a78531f6afc3fL,0xf33732b8ad62482fL,0xa6b4e0f03e4cb6e9L,
  46779. 0x51ba565eda02264aL,0xd0afaa4600f3f376L,0xf5506a1e35252e93L } },
  46780. /* 54 << 364 */
  46781. { { 0x3574783b5ea1c662L,0x675894e514fadc8dL,0x64dd63935ac6ea7fL,
  46782. 0xa76c00dc77f16c96L,0xf73ef2c62eb9574cL,0xdd39a89a2e408008L },
  46783. { 0xbef8c8c72bafa10bL,0xa31f030a074733f8L,0x5620dda5445b4b6dL,
  46784. 0x4e08fb0173040ab8L,0x0a279f38598ad48aL,0x03e8b55e2d40d775L } },
  46785. /* 55 << 364 */
  46786. { { 0xf49d4d54c20c8610L,0x1b1d70bbc0d62b65L,0x524d3a0c16285ce2L,
  46787. 0x0be553b08a0785b4L,0x9b93e5093c84975aL,0xbeac761160769465L },
  46788. { 0xffaaffcb3331dd0aL,0xad0f01542d70fcf1L,0x65aaabab66fe24bcL,
  46789. 0x283edb562cab253eL,0x1659deca80383c87L,0x06de45fd83fc6d7cL } },
  46790. /* 56 << 364 */
  46791. { { 0x7bcb055d5f76c311L,0xdb2d05878e293aaaL,0xb15036e7207360b4L,
  46792. 0xbc38cc9f163f0ae4L,0x5a942f85a44d0a0eL,0xee8633a23f553a88L },
  46793. { 0xf66b65c5c9bd4ee7L,0x7a4ca96a80b8ceefL,0x7b71cc55f6f08036L,
  46794. 0xc0408b198c41be7cL,0x885fd72f80860d93L,0x338a567be7f68b7bL } },
  46795. /* 57 << 364 */
  46796. { { 0xcba302e939d99b60L,0x2557b3d903b8faa0L,0x2a99cd6e9efc4461L,
  46797. 0x03ce3e08268f14a3L,0x59226a83b1c68a01L,0x81a18c69fe379976L },
  46798. { 0xfdfc9f148af62557L,0x0cdf327140b2d4ebL,0xf99ff3ded26c6085L,
  46799. 0x2c138ffdf9b0273cL,0x393d6de6888dfbd3L,0x75903c68e5cc102bL } },
  46800. /* 58 << 364 */
  46801. { { 0x0c56d477b78a7b91L,0xbedff933c7c3ecf4L,0xe02da64223ead65aL,
  46802. 0xf7e7cc19a8162300L,0x3719fb8f2f3dbd03L,0x4f150cb8cff88c59L },
  46803. { 0xa564c5eda7fcb233L,0x9b042870b6a41ca7L,0xf253b65ac1615f1aL,
  46804. 0x9ccb49a7b8aaff46L,0x38bbc5f7af0086fdL,0x688f7c2054a6d8a9L } },
  46805. /* 59 << 364 */
  46806. { { 0x3702c5e5d22a0892L,0xf17510a28d510809L,0x5c36dc68bfdab4e7L,
  46807. 0xf72c9357623a98e4L,0xc660fc5146624a0cL,0xf0b4983d3e64dd4cL },
  46808. { 0x5cb98cc9a5ecf45eL,0x79759acdf5082a78L,0xfd0daf366e7321dfL,
  46809. 0xf61c54f7f1ebcacaL,0x782e5e74b8f665c4L,0xb1d54c2145d78c08L } },
  46810. /* 60 << 364 */
  46811. { { 0xb64f3b9bef1af123L,0xc86dc5ffe1b75401L,0xc3a76d81d928e989L,
  46812. 0x075005abff8ca002L,0xca6226325c3cd8b1L,0x017a97b2bd8f772aL },
  46813. { 0x187eb635039c4757L,0x9eb7a9d1e905c6e5L,0xdacb98bfbc251cceL,
  46814. 0xe357c60e8704c639L,0x50563b8558fd987aL,0xb2f89c864cea5d4bL } },
  46815. /* 61 << 364 */
  46816. { { 0x3d13c0bfd32233faL,0x997c424145aceb7cL,0x77ff5a75ed2e9df0L,
  46817. 0xc4279aa23c91d085L,0x5a11a276ca0392c7L,0x928e06032daae653L },
  46818. { 0x21fe225fc4046f85L,0x591fa82f512dbfb4L,0xb5b01a3f51aa53feL,
  46819. 0x900012ef7133befbL,0x24609da17130c15dL,0x3c4a09b33d2549faL } },
  46820. /* 62 << 364 */
  46821. { { 0xcdd3073d3ceabe32L,0x56e155bc5a848977L,0x07f4c7c6da48eef6L,
  46822. 0x00a2f9f79e021b38L,0xeb683e17ffc4bd6bL,0xa7d6b87592b7e240L },
  46823. { 0x651d21de7e48836eL,0xf9c9ede775de3c75L,0x72cea748d90f2634L,
  46824. 0x29d8022283fc524aL,0x1e412b510dd044faL,0x1b9b332a76a04fdfL } },
  46825. /* 63 << 364 */
  46826. { { 0x4dc8421f06f49d8cL,0x6a3fd9a83f979e4cL,0x50b0e3760b51bd69L,
  46827. 0xec22f486a592313eL,0x5e4663ff8e8904d4L,0xde7b9e23f3362548L },
  46828. { 0xa1ad270d1ab757abL,0xb91fd935a3089f6aL,0x1d6b1524a635f996L,
  46829. 0x8673f8e29c718c6dL,0x0e04360725932b9fL,0xb5d0447222ac239fL } },
  46830. /* 64 << 364 */
  46831. { { 0xdf0ae8df941948e3L,0x123fee901d010bcdL,0xde3717ca1dd28691L,
  46832. 0x0c1db879709b678eL,0x0288959a400acdc6L,0x66c691815ca2d03aL },
  46833. { 0xe52534b3dbbb75deL,0xe914938c3de927cfL,0x1a9a34f873eece30L,
  46834. 0x0fb0c7bd642a6799L,0x375cc0cfeaa7e8a8L,0x75fb9eb5d00ec238L } },
  46835. /* 0 << 371 */
  46836. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  46837. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  46838. /* 1 << 371 */
  46839. { { 0x9ca8cc9db72958ebL,0x3c8cd0db1014f562L,0x72115d53059b2bbaL,
  46840. 0x8fe7ac30730e5dc3L,0x4e67ef69841d8998L,0xfb6439ffc8ed37a5L },
  46841. { 0x48164b3e26df84c4L,0x37d492ad365bc99eL,0xb7fd4643beed38ceL,
  46842. 0x993cfa9fa3e30b3dL,0xdcc5e7af01ddd484L,0x5edf3ac06840175dL } },
  46843. /* 2 << 371 */
  46844. { { 0x79768e9f51d33c11L,0xeec34505a4b24889L,0xc194821bbe0c67d7L,
  46845. 0x537a6a4a6909fdfcL,0xae6d705195ccdda7L,0xed4b722292b3926cL },
  46846. { 0x2c5dd6af6b24a3d4L,0x9282ec39e4386095L,0xdd3c7388397a3bd3L,
  46847. 0x9d176c6a8baf59c2L,0xd5c6219e380ec958L,0x194fc11654e8e315L } },
  46848. /* 3 << 371 */
  46849. { { 0x0b7576f901ec1432L,0x84b30eecabc5f603L,0xdaaf7ba9f4a84b7aL,
  46850. 0x9e3a5daa3bb37a99L,0x56bd964880378cffL,0x2fdeeeb78e6ed856L },
  46851. { 0x079014a73c81ac34L,0xf8de4004b4211c27L,0x0cee3df97fe4391eL,
  46852. 0x441aa7fb2fd2fc38L,0xeba7be864d1b575aL,0xca2fb5b7231c2d01L } },
  46853. /* 4 << 371 */
  46854. { { 0x0683349e463a8251L,0x97dc4f475103e72cL,0x47c7181050663b9eL,
  46855. 0xf327d1499733dac6L,0x03f55e4a292137c5L,0xccc6232ada59e1c7L },
  46856. { 0xbaa8b4ddadc59cb8L,0x45370d35fe7486e4L,0x99a88c1db0322df9L,
  46857. 0x394440a7fd69954fL,0x9060473da5a29889L,0xc8ca43e32f04864aL } },
  46858. /* 5 << 371 */
  46859. { { 0xd5c7241add8b9644L,0x45a5f2d1993116d2L,0xbacacd4a823048dfL,
  46860. 0xa278fa042568547aL,0x3a4f2482bff72820L,0x1305d1a713e4314aL },
  46861. { 0x9d84c33334ba28e3L,0x9995b5bb6a32fb41L,0xb0f75f3c520946d8L,
  46862. 0xd7c4b8b7de98aa63L,0xee5efcf3ba856b6bL,0x36af33683324ed66L } },
  46863. /* 6 << 371 */
  46864. { { 0x90762c1f5827fe2cL,0x20160f7aeaffda88L,0x7420849f5c47c645L,
  46865. 0xb08231956d72e748L,0xaeac683b8ee11773L,0x8c2a0a79fb5c550eL },
  46866. { 0x6d986d696c07cc1eL,0x57269140ba8398b9L,0xd13e136fd94d5223L,
  46867. 0x1aa75419ed5b01c6L,0x7c2014b1408fcdccL,0x0680a985cffde5eeL } },
  46868. /* 7 << 371 */
  46869. { { 0x92fc9a3342c5a7eeL,0x8768614af9f0ed71L,0x1ea5f7ed87ebfb66L,
  46870. 0x296852ded361069cL,0x1cec6f1a0192498eL,0xbfd4858fa9cca3aaL },
  46871. { 0xfba98c242ef240e8L,0xc8b500e4ab635d9fL,0x9f49c572913a3eddL,
  46872. 0xe6181f93d42b2d4dL,0xf96b5db26aa77fa3L,0xdfb2241fe43558d8L } },
  46873. /* 8 << 371 */
  46874. { { 0xc7d0abb2edee15a5L,0x72dc0105228cc4a1L,0xeb67defca80767deL,
  46875. 0x6fa174d871820908L,0x3215df485674d19aL,0xf944531a960a081aL },
  46876. { 0x93ed7180ef2cce62L,0xb318edbfc8bcfc0dL,0x0909d56efe787e58L,
  46877. 0x5ae74fc98fe8b96fL,0x8fc342c435ab6811L,0x6fc6cc5c0b991e0cL } },
  46878. /* 9 << 371 */
  46879. { { 0xa8eaba6e291f689dL,0xfbfa9a2cdea0cba9L,0x5b1b4a21727bfa11L,
  46880. 0x3b69505fac59c8c4L,0xb06290c89368ddb2L,0x4181abc294bcc14aL },
  46881. { 0xa19f65813e29d997L,0xab1ae8408864aac2L,0xb04a24300fcc9ae8L,
  46882. 0x3ca2428e1059e4dbL,0xe288731117e1e01dL,0x1f5d4164be56238fL } },
  46883. /* 10 << 371 */
  46884. { { 0xc600dd57354416d9L,0x6f5840991f829d6bL,0x2d7b0a27de43c1d6L,
  46885. 0x21bf3a9e616bdb16L,0x33ce767c96297953L,0x99bf97b69e4398b2L },
  46886. { 0x4069cced8d441287L,0x52e0edd6bf01017dL,0x9981bf89c5394236L,
  46887. 0x07d9c079acb24e38L,0xd2e5e904a2da4735L,0x4c3c12162f1b6cd9L } },
  46888. /* 11 << 371 */
  46889. { { 0x1f28bd0de6f1c85cL,0x4a49d0864e6f3db6L,0xc9a8e70c4ef7d981L,
  46890. 0xde8abcf2682bc68eL,0xd0ef89a4a66cbee3L,0xfa03108432df7f0fL },
  46891. { 0xe361e0f803594856L,0x1f423bafc985c77fL,0x50397b67010ee4acL,
  46892. 0x502f4a20c0a48e96L,0x260bed875435539eL,0xdae03cefa0391250L } },
  46893. /* 12 << 371 */
  46894. { { 0xfeecc6e83be5ba68L,0x3293dbda40445158L,0x48454e20e81879caL,
  46895. 0xd0ea9cb89c4a2712L,0xba8b6f33540749c3L,0x95e6d6e3e971df93L },
  46896. { 0x4c2a1b13478a2eb5L,0x8b5f9af330b92170L,0xe6c60b5343573986L,
  46897. 0xb9f56a6a57040c00L,0x6de6489f6291a7b4L,0xa9a7784653bc3246L } },
  46898. /* 13 << 371 */
  46899. { { 0x0dd4172f9025411fL,0x978e952ac6129de8L,0x9afa974bc7ab7609L,
  46900. 0x7bd29a644e42f223L,0xc0232f5f3deb639bL,0xacce69d05f39a264L },
  46901. { 0xdaee07cb3070b24cL,0xe3adc8556b532246L,0xae5935ce1e6ee4f6L,
  46902. 0xba9c4329ea018a45L,0xa1a4002e6b97ee9dL,0x98390aab8a9460cbL } },
  46903. /* 14 << 371 */
  46904. { { 0x828a9dbe67154a02L,0x57a3af981866aadfL,0x1558428089faa581L,
  46905. 0x2da092202dba2a1dL,0xa225f631df197ae6L,0x0abff5cf8f4ebabbL },
  46906. { 0xbbadc9b3b98e5e4eL,0x7c7cc36e4509f98fL,0x072a6cc2759413f6L,
  46907. 0x7b39ea4121dd1222L,0xd6baf9e196ac2c73L,0xee38818c75d46296L } },
  46908. /* 15 << 371 */
  46909. { { 0x19befeacfa37c53fL,0x32c29b361f95c29aL,0x1d282db40d5aeafdL,
  46910. 0x8812b6c8f102a97eL,0x1cd4a23c8402f481L,0xbfdf7b6b8eddec81L },
  46911. { 0xc8039ae0616b2654L,0xdc6f38acabd23a57L,0x2431c763f147dd44L,
  46912. 0x7c45ed50d795bc37L,0xdbc30ab9842022aeL,0x568f7d4ba1f05a43L } },
  46913. /* 16 << 371 */
  46914. { { 0x55671129542f4e90L,0x43bedccf0623d4cdL,0x7e21207ce99ca16bL,
  46915. 0x785fa1057c7a26b9L,0x33c28658c2c3ab00L,0xcce42a48d79cd59fL },
  46916. { 0x9a674db4b8c3bc75L,0xea701d156904e3feL,0x990e722166bf2c6cL,
  46917. 0xba29affabd4c3791L,0xd98510cf20696ee1L,0x722ed471f93d26a5L } },
  46918. /* 17 << 371 */
  46919. { { 0x74e6c2624ba40f04L,0xf7ad1f159a63b3c2L,0xa89e8490ef75d482L,
  46920. 0xaf8e79b83bb5f5c4L,0xb094f8660c624d8aL,0xb571ce6613c69a60L },
  46921. { 0xcbf9722d53787457L,0x97e24cf5c15d097fL,0xdba98bede99e034bL,
  46922. 0x8b6c171a57773590L,0x5d2b441cfe822efbL,0xb8c6dc57fc74ef1aL } },
  46923. /* 18 << 371 */
  46924. { { 0x37c70bdf7db1c03fL,0xd9368612964632abL,0xcf6368d742530338L,
  46925. 0xe56beecbb1d9522eL,0xb1caaf16bb6fba3aL,0xb7bd485ac8384d26L },
  46926. { 0x4ba13818528d4372L,0x95c469bab9c5e8f6L,0x4e5cef0c4a370695L,
  46927. 0xb87c97ca663f9b07L,0xa9e1b388e5f3b79aL,0xc0416bb84c845a1bL } },
  46928. /* 19 << 371 */
  46929. { { 0x4483db00e4634d8dL,0x4d8d623d0a268bd8L,0x296f179c64e6d10aL,
  46930. 0x048f3a1cb6c7ff95L,0x60f8ad62c60c76d1L,0xa0a497610d028845L },
  46931. { 0x10128387aea1b714L,0x81e5c75ca18bd98cL,0xac30d7361dac4200L,
  46932. 0xb83c1c12821380f1L,0xc8ca7c6afaaeb726L,0x13fb870dfead4cfbL } },
  46933. /* 20 << 371 */
  46934. { { 0x3921332a6b393648L,0x49ec6df649584f38L,0xa0fc013dce243a6cL,
  46935. 0xde5b16b5f8da8a00L,0xabcd0c0471ab1c9aL,0xff6594bc78b83305L },
  46936. { 0x3546004b76c1900bL,0x87428fa236fb3186L,0xd2e464ce59cdeb49L,
  46937. 0x1260bd28faf6ec08L,0x1ada2f08d0c9d098L,0xe0b66299dea06396L } },
  46938. /* 21 << 371 */
  46939. { { 0x603d58167c1212e8L,0x95bb823fa4590144L,0xf239058a4bc3ba48L,
  46940. 0x21f2aa610db724b3L,0x29c706e8cd6792a2L,0xb143a84a634f01e6L },
  46941. { 0x68f37382626ee80eL,0x56daa0e51fcd8c4aL,0xe01b52b39e5299a5L,
  46942. 0x2224513c3accdac7L,0xbb21c7d74acd435fL,0x039bc010bbcb948aL } },
  46943. /* 22 << 371 */
  46944. { { 0x5006c3a00848d6b7L,0x726b8648b28285aeL,0x7162e3c0277c5a87L,
  46945. 0x567f7ab02019c20aL,0x490c858fa551d5efL,0x0029a108d134a2bbL },
  46946. { 0xa9e19284ef0aca3cL,0xbc399dc16e414f83L,0x5bdf85f86efa5a8eL,
  46947. 0x5291e1a674fe7c5fL,0x249ddf2acd7091dfL,0x71d4cb4c2e29fcf6L } },
  46948. /* 23 << 371 */
  46949. { { 0xc374acf4c1ded13cL,0x300d96132b69132cL,0x909ce34b055622d2L,
  46950. 0x26f033f6bad97809L,0x30987ebed1f7a220L,0x23147226db775b8cL },
  46951. { 0x8d45c2c28d05ecfdL,0xeee0c679f0c1b419L,0x9f7df70d8c380da2L,
  46952. 0x4d49f3d130212a25L,0xa9602e8c64491ff3L,0x5ab91d223a254c49L } },
  46953. /* 24 << 371 */
  46954. { { 0xedd3291c9dac47a9L,0x02d64634fb5d396dL,0x2ce21bf163264c51L,
  46955. 0x0fdcc68e092c4724L,0x653acb286e3e4c2fL,0x2f9c77f12f1fa1edL },
  46956. { 0xd91d4c3aa58afea2L,0x5a91b2ba7b0d8092L,0xd47e0f61f10a15fdL,
  46957. 0x01652d86f9c86edeL,0x1cc1b668d6006daeL,0x2763e36d24af68beL } },
  46958. /* 25 << 371 */
  46959. { { 0xaa5f387c2314a1adL,0xb8c00105e2647c74L,0x1f950dd8d6719178L,
  46960. 0xb7dae31de79881efL,0xf2d49aa2e45a615eL,0xb22dc098f17352afL },
  46961. { 0xa4c438728ac23ba4L,0xedd6e4092c55e588L,0x1956b199022f5632L,
  46962. 0x18adcaa58c11bc50L,0xa0c11f6458b1cbf5L,0xd1204377f961ce1fL } },
  46963. /* 26 << 371 */
  46964. { { 0x35a2685bbb77f5dcL,0x1b5b79bbc08efa67L,0x4ebec6e6ea5f411eL,
  46965. 0x1800a21988c57793L,0x8d7397f2cbb13c96L,0xbc13ac35dc0327f4L },
  46966. { 0x53ac05a6fd94b150L,0xd898fa600423e787L,0x802aad2c2a66b97fL,
  46967. 0xb604ac0692c62b03L,0x9f395d3a45911e7dL,0x5d38164128ae56b6L } },
  46968. /* 27 << 371 */
  46969. { { 0xa7d5a3afa5fb0decL,0x0d11c0cd5b27e02dL,0x8d854b53366c6cc9L,
  46970. 0x87ef4c140ad9a5f5L,0xaf7c2e6b0c5f8acfL,0x81fc22b69f010f1aL },
  46971. { 0xe49e0c7e4e25ddb3L,0xd30bc860ef233d23L,0x0b63afb89fa41205L,
  46972. 0xd14b326c702fea93L,0x10ab93662c2a5fc8L,0xab35bab356cfff28L } },
  46973. /* 28 << 371 */
  46974. { { 0xdf0f79524130138bL,0x117e4628934c58afL,0x227be6867b6a4087L,
  46975. 0xe73fb2f3b8d298a3L,0xe32e89fda9bacb9dL,0xdd3be6130e9ea7e3L },
  46976. { 0xd3d655ead4da2d1eL,0x153cce647833bb3dL,0x4a32a9f0b36da20cL,
  46977. 0x025768e5a69c4b27L,0xb0b5da379cf1fcecL,0xd0ecaba23aa3b99eL } },
  46978. /* 29 << 371 */
  46979. { { 0x9ab6dae0aaf6b398L,0x2d50f46b4f8e270cL,0x46c1e676fd7b7005L,
  46980. 0x4b8b203e32cf8be9L,0x0253ec899451bca9L,0xc3a7eab7f512b7a5L },
  46981. { 0xf3bed3fdc5bd61a6L,0x5c0eb52f0a37ef8aL,0xb61aee11140894dfL,
  46982. 0x690607f9bec928f6L,0xba2b1db65148b45cL,0xbd309bf56619b652L } },
  46983. /* 30 << 371 */
  46984. { { 0x79d624c7a7b92932L,0xcd086bd7cc75e7a8L,0x3cddc1bbb48eab26L,
  46985. 0x10282df1f6791cfdL,0xffedb4fb1048f114L,0x937ed0e7c092d899L },
  46986. { 0x045e4f60b84b6d20L,0xdd67bd36877ed915L,0x9bf8fede97617aa9L,
  46987. 0xa7ff9b0789cb8e1aL,0xc49e310e74f4e7d6L,0x12dde0fb3f62eafeL } },
  46988. /* 31 << 371 */
  46989. { { 0xe2e3dc4d50ba6e73L,0x31c19ebce6114f87L,0x8df0ffb01ffa99b5L,
  46990. 0x305142f1bfcf7fbdL,0x39931954ab88b782L,0x1952bbab43de3650L },
  46991. { 0xb32ed678aa09e528L,0xa5150011acee68ffL,0x0307716a97b98b23L,
  46992. 0xb60c3edd4fc8d2b7L,0x91c81725b2b2f887L,0xf1dfc70ab9fb0288L } },
  46993. /* 32 << 371 */
  46994. { { 0xe7cf5bacbc579793L,0x11db7ddfd73f881cL,0x9c1a531d04fa8473L,
  46995. 0x399e84845780efdaL,0x6e9c12be4f62cb5aL,0xf21bdc4994a5df3bL },
  46996. { 0x3c15fe1211da2a4fL,0xdea123bb23e631d1L,0x3ef76da4be294c90L,
  46997. 0x5cf21d5aa99b8398L,0x50679cf8751b9f6aL,0x4b3f3b9c54d0b7bfL } },
  46998. /* 33 << 371 */
  46999. { { 0x442dc0fd27174604L,0x5aa056efebc95895L,0xbb8cf9b54c96a2dfL,
  47000. 0xf43342d440f8618bL,0x58b0d00a8f89a8bcL,0x74d32dbc81f69f20L },
  47001. { 0x5caf0910ab22a49eL,0xa0e9a677ff372f3cL,0xec90b5aef5c05066L,
  47002. 0xe2d98821b663f0e1L,0x388804bf50c7abc2L,0x2fbab16e97ba64d3L } },
  47003. /* 34 << 371 */
  47004. { { 0x09138c6071ed8d4eL,0x994d0fa991ef82b1L,0xe6089dbb931f3193L,
  47005. 0xb3b229d0aac23611L,0x52cf03fdacb8affeL,0xf64f9872bd99d6e2L },
  47006. { 0x52ebb8b40186279dL,0x36a2349fb09efd7aL,0xa85b5d802225772aL,
  47007. 0xd2dc3c1547522562L,0x659297a666471319L,0x65913b608c8e7b68L } },
  47008. /* 35 << 371 */
  47009. { { 0xd54591f9a713f82eL,0x0ecfcffc6fae64b7L,0x7df9d7ea7287e218L,
  47010. 0x8b260162abe71460L,0xf75097efb12d48beL,0x82d5902482581904L },
  47011. { 0xc5c0b5dc400d4288L,0xf6493c78190f768cL,0x1844b5f895bc9fccL,
  47012. 0x24afb04ba615bff9L,0x6c9638ee8bf51197L,0x38bce012b9ab9fcaL } },
  47013. /* 36 << 371 */
  47014. { { 0x087a2790494efdc0L,0x0b5f23c9e1645cb8L,0xa6e1d1e8193a99baL,
  47015. 0x0d324e67c0e0c026L,0xa86d993820d608b5L,0x48ddfbfd8d6944dfL },
  47016. { 0x6aa07f90d371864eL,0x5cf727eef2060df5L,0x7694e02c9a7cf2d0L,
  47017. 0xe091982f6260f63cL,0xd2d481a72cae5da6L,0x045e3685ebcb4172L } },
  47018. /* 37 << 371 */
  47019. { { 0x1765632323c82633L,0x5de90578d590cdd3L,0x5cc5e7b9525caf0aL,
  47020. 0xdd9be80dd53e825aL,0x9ed28b29949073f3L,0xd15024156a6ce0bcL },
  47021. { 0xbc34beeabf355f49L,0x73724878d2b210ccL,0xe47b7af911e8122dL,
  47022. 0x381a4cccdf53a9eaL,0xaa22c9b229e8a466L,0x7a05e2081a4fa093L } },
  47023. /* 38 << 371 */
  47024. { { 0x3dfb53521830d848L,0xea183d5cd2820590L,0xc83a65bcabbeb376L,
  47025. 0x5d9ca4d189bb9ac9L,0xb32217be137c900aL,0xcc40daebb0827afdL },
  47026. { 0xc76130060c58b0afL,0x39f4ed8adf32389dL,0x04a586e2bc1fe9f6L,
  47027. 0xcf018c2abb50450eL,0x5072b8f016d55d0dL,0xc3c72e90d59e1dbdL } },
  47028. /* 39 << 371 */
  47029. { { 0xb3291b4e50b4e9f4L,0x79a2e8121b7b9e08L,0x81855db1ddd5f0adL,
  47030. 0x91fa12fc884392e5L,0x6373de02291c5694L,0x15c77432a7171428L },
  47031. { 0x6016a06c1132df9eL,0xa4286939a0c21c8fL,0x70c5ebe26dca3f37L,
  47032. 0xc5278c510f115497L,0x8f5b07a35ce1953cL,0x4d75c1dc41f6ac0dL } },
  47033. /* 40 << 371 */
  47034. { { 0xfeac8e8ac24002e7L,0xa43892076643fa6aL,0x06e7ed63daa68b52L,
  47035. 0x8580bbd5d8c7b952L,0xb17ce22410c8fe9dL,0x40266bd379b88ceaL },
  47036. { 0x32afc840dd63ffa5L,0xb4a3eb27a2280b83L,0x90528bf685897e28L,
  47037. 0xe4612391d231f941L,0xa7b3a2ccacb5c909L,0x2606844e5558d57aL } },
  47038. /* 41 << 371 */
  47039. { { 0x49ad52380519dd66L,0xe1b0b03b3c1470f4L,0x15e42792cd3a4852L,
  47040. 0x91c954b7388ba040L,0xe9fd8c7f857711f1L,0x8552d3d44b63a36dL },
  47041. { 0xbf867fde230ffab0L,0x362a32a0793f885dL,0x687802cba11e0225L,
  47042. 0xd95b073b308c1972L,0x13b104aa6b3e5120L,0x60bef12333673f57L } },
  47043. /* 42 << 371 */
  47044. { { 0x4c4cc5561c8a5d9fL,0x5c6e1fd52b8a42c9L,0x73fd66c44ccfa024L,
  47045. 0x73c777563c50d038L,0x26964a68a5076758L,0xb14cdbfa7484d080L },
  47046. { 0x24c499cf3f4b92ccL,0x40c8c0d84682daa1L,0xaa156edf785561beL,
  47047. 0x36718fb6de75af0aL,0x4d391cee03f5b180L,0xcf28d08a3100efc8L } },
  47048. /* 43 << 371 */
  47049. { { 0xbf1fc9fdd113a97bL,0x19cee87f5ff5ff3cL,0xfc140acf8f8213a3L,
  47050. 0xe70d50d546127d5cL,0x78cd24032faa7ac9L,0x409675f1c1808096L },
  47051. { 0xaa7b6cd91765da93L,0xc0755b924f508d86L,0x09b8fb7640169a6eL,
  47052. 0x9ca977e52e7da664L,0xee1aab6c9a9616daL,0x54d740391ca0f4fdL } },
  47053. /* 44 << 371 */
  47054. { { 0xfe011830c37c7fc5L,0x0b2b965b2ee958c7L,0x99fd253588a43cf6L,
  47055. 0x6a73d62dbf8dc33aL,0xd53c0241a99247deL,0xb8186dccb4127f94L },
  47056. { 0x86c4c274964cc3d3L,0x2f3f2742cbfa9429L,0x5b4bd23c5391abd3L,
  47057. 0x030b211bc5838fe2L,0xd2263dc4ae2e36fbL,0x45583a3ca0bf7280L } },
  47058. /* 45 << 371 */
  47059. { { 0x9ce7f43f1ed3f49aL,0xd8094c4afcdce20cL,0xd8b423d12b37b162L,
  47060. 0x332ce47c53d90a7dL,0xc686fc0c94a38ff2L,0xb44938d6c33d842eL },
  47061. { 0x5ed14772cd9b0002L,0xffa5d063e800c655L,0x4511ec79ffcb6120L,
  47062. 0xb8c9de3f9da8e70dL,0x4d0759ca952b0ef7L,0x685f7005dfd88f4cL } },
  47063. /* 46 << 371 */
  47064. { { 0xcbdb755f1dbdc85dL,0x63d0d7047961be6aL,0xf65af35d8220a1b3L,
  47065. 0x8dcea7df77db51b3L,0x8cb2c5d14bfe8fbeL,0x740579bdee2f03e0L },
  47066. { 0xa7eeea4ed3f0181fL,0xedbdfaa3c12ef399L,0xee3cc40f1c332118L,
  47067. 0xdae0995e731ef93fL,0x05165c6c0f24d954L,0xcbcc014219fca63aL } },
  47068. /* 47 << 371 */
  47069. { { 0xff24bcd842c7c110L,0xa5ddfffc56dc10c6L,0xb9937fcdaa1a09c5L,
  47070. 0x8e18ed5b852dd22fL,0xf24e43c7826fb5a7L,0x13989a43415c2c63L },
  47071. { 0x71ad7c21d36ffe0bL,0x68b77701129df418L,0x1c5324cd9a8d424aL,
  47072. 0x2e2a2b1ba9bf46abL,0x7d0c04d19cd0ea12L,0x8b4186bf2f9869e8L } },
  47073. /* 48 << 371 */
  47074. { { 0x6c8d97e075a46271L,0x0fa0c4cd9dbed39fL,0xfb6da5e2de74ac6cL,
  47075. 0x041ce886c17c1ec5L,0xb42941a8d7419105L,0x79768eee002fdfd5L },
  47076. { 0x64849afd88c8111fL,0xf425fe14814192d6L,0xe916e8640448fd7eL,
  47077. 0x31e224ad72ed351fL,0x73e6e6ac7c0183c1L,0x375657c621bf7cebL } },
  47078. /* 49 << 371 */
  47079. { { 0x093d8039114fd7b9L,0xb6bed3eb45c5e1c7L,0xb73ab7fe50fdbf14L,
  47080. 0x68d95e57af0cd23dL,0x5c260eacc7b750fbL,0x79bb142bb5358c26L },
  47081. { 0x5aa9845158ace251L,0x04b2388637dbfef5L,0x1051172dc0532263L,
  47082. 0x686ee9e6294890d9L,0x092617b3bffd1609L,0xb4a50e50ea3836a4L } },
  47083. /* 50 << 371 */
  47084. { { 0x8bdb3886cdf950abL,0xe2bdc8d3d595dbd5L,0xd28211254ecc49f1L,
  47085. 0x946566081d3c2f24L,0x8124ad390c87df6dL,0x6020c322d16272baL },
  47086. { 0x2150f7e694af134bL,0x38512401a1a14e33L,0x39a54386b1ff7304L,
  47087. 0xfaf1ffea078d8f0fL,0x7739ea99dea995bfL,0x3252e815c020816eL } },
  47088. /* 51 << 371 */
  47089. { { 0x1609832322f1bd8dL,0x6b02533cd4df163fL,0x25108619a8296363L,
  47090. 0x373bf9988f8c755cL,0xebfbc5b23b32542dL,0x7ada597688b9d360L },
  47091. { 0x3914406ebd605f01L,0xe245ba48cb3a40b2L,0x11a1dc4ed3171f32L,
  47092. 0x4a10d5d26ffb5915L,0x9326b23e997460b6L,0x53ddfee92aa0c77cL } },
  47093. /* 52 << 371 */
  47094. { { 0x44f51dd51104ed7fL,0xfca4773e270f6135L,0xe36c8b266bc757f4L,
  47095. 0x2cf0515d6941c7a0L,0xdeab655d5fb16e2aL,0x75c28116cff7be07L },
  47096. { 0xb24ca428abbbca02L,0x6aaeca9b1e7f8116L,0x4252f4c3510f0c81L,
  47097. 0x01462d856f3ff7fcL,0x4df702879d1c25e3L,0xddd47a1dbebd1559L } },
  47098. /* 53 << 371 */
  47099. { { 0xdffaef2c6f2e2611L,0xc2c2e6a41f29efa2L,0xa29bc3b75ebb40c9L,
  47100. 0x8473594bac31a2c4L,0x100d7d6a8604447aL,0x80318670794bbab9L },
  47101. { 0x78979f72054dfc75L,0x94b4c17e55232511L,0xac44836b78b883c3L,
  47102. 0xc1f7e98168422328L,0x34fcdee68266747cL,0x18533b3f0475c011L } },
  47103. /* 54 << 371 */
  47104. { { 0xede6728e3bab17f0L,0xfcd9c96879b94302L,0x6410ae37544a677bL,
  47105. 0xeacbf6de1dcd0fdeL,0xdae70841e2f3ac0fL,0xeea2a9b6e41ba13bL },
  47106. { 0x1b06aeae9349cdf0L,0x28571e3d33c0ea87L,0xceaf9dd46043e874L,
  47107. 0x32cbcc69fa6fea15L,0x7db75664e135aa11L,0x588d4458f816929aL } },
  47108. /* 55 << 371 */
  47109. { { 0xf70797d02b014160L,0x1ddf312d8d7c3263L,0x3bdd58f3c78beacbL,
  47110. 0x8bccd90101c71f77L,0x3c637f58166c1486L,0xb62c0aa45fd1a307L },
  47111. { 0xa68db7b05f2544d4L,0xb9727946f860585aL,0x91565060a068412eL,
  47112. 0x1283d6d1ab536c42L,0x86c2a11c79caa387L,0x2687309b62bd7797L } },
  47113. /* 56 << 371 */
  47114. { { 0x525cd8849b711a38L,0xd413d82b8c95bf61L,0x19ecc14a36b82970L,
  47115. 0x65190ee6e3416342L,0xde9834c93066fcf7L,0x3b87b15e8302cd85L },
  47116. { 0xec6f67a785268eb2L,0x5ab08b5af95aef07L,0xb5257f70adda86a5L,
  47117. 0x53e95ec4b934400aL,0x9611a632c33b870bL,0xd27929522723a3d5L } },
  47118. /* 57 << 371 */
  47119. { { 0xcd203b542c95b469L,0x89b140e768713ca6L,0x451646a165701050L,
  47120. 0xb97a582575e54715L,0x070fabaa93bb6a91L,0xe517e07a196421b3L },
  47121. { 0xc8d741235f46e495L,0x920ee94fdf60eb8dL,0x885b86dd19564c3eL,
  47122. 0x6c9e973231670005L,0xb52eed1fe4893763L,0xa8f9fbd759157417L } },
  47123. /* 58 << 371 */
  47124. { { 0x0c41f2eb56517cafL,0x47778a92798cf8b0L,0x4232ab390dc60cecL,
  47125. 0x5de0b7e39e3eb6f1L,0xa2569d8571562511L,0x37b3c62a1ce1cec9L },
  47126. { 0x312caccd8b3391aeL,0x6b22c9447dcbe533L,0xc890d22f4fefd4edL,
  47127. 0xd1504f7df007a64eL,0x117e4e595845d5bcL,0x999386c7723584e1L } },
  47128. /* 59 << 371 */
  47129. { { 0x02c396533bdadbd5L,0xc07325fda1fe704aL,0xf78d7e23350aa0c4L,
  47130. 0x9f09cf22ce50784cL,0xcdea9a6a1a6e8abcL,0x245fba06ee5a5e06L },
  47131. { 0xf1fd3b9b4a3d0d7cL,0x24c65a131a4952c4L,0x40ea3ef37236b6f4L,
  47132. 0x60aa573d8f7addcfL,0xdd5ec47b0305577dL,0xd92dc5035deacea5L } },
  47133. /* 60 << 371 */
  47134. { { 0xc666f8f3fac2de80L,0xabb2b8aba8fa36a6L,0x1bd0ec8f12202b09L,
  47135. 0x88b184be6d17a3c5L,0x00d501fc670a77c1L,0xe1f94f1db3de1c7eL },
  47136. { 0x953179cd2d6de8caL,0xa8873a5bb9263791L,0xd76433098d7ac5d1L,
  47137. 0x3d751cab4d2f8224L,0x7417b8262e5458eaL,0xf4eb3c669e454a8cL } },
  47138. /* 61 << 371 */
  47139. { { 0x65b0d7e9ae3284a2L,0x3d4770bb1e3cbb18L,0x217a0cdb808ea164L,
  47140. 0x9ed6d0f689810270L,0x62d9cc95f14139e1L,0x4d39eeef6a2c82a0L },
  47141. { 0xecf319f40dcf14afL,0x62c95df6ab0fd145L,0xfe85014d22db0105L,
  47142. 0xc37756e6a652168cL,0x6ba9f6b370a67e9dL,0xe453fd0af18d8058L } },
  47143. /* 62 << 371 */
  47144. { { 0x265798acfe3bf4f8L,0xc1603abdc1183f63L,0x14e3952f1063e086L,
  47145. 0xdcb106d2910f0a78L,0x27c2aee2f454f625L,0xf16d83e60f463fe9L },
  47146. { 0xaa5547207f5ae172L,0x42ea8fea9a2133eaL,0x9f3b33f6e9253e7eL,
  47147. 0x6224ef75d67af0afL,0x06f0ddfbb92d6cc9L,0x12e66e32656e9e9aL } },
  47148. /* 63 << 371 */
  47149. { { 0x1a93be3424ace7f0L,0xb993bcb9a56be2eaL,0x3b054afac33608d7L,
  47150. 0x36e782c3aea3d7e9L,0x54f1dda950e9b3adL,0x04dd021f55f51bb4L },
  47151. { 0x9c76f7c0347bb352L,0x3d9a04ee2f1dc5fbL,0xea5e582ae80e06f0L,
  47152. 0xe523aab927e1e818L,0xe2f1960252d4904cL,0x1bfa8b03adecc51fL } },
  47153. /* 64 << 371 */
  47154. { { 0xc84f917203bdf6d6L,0xcfc4718769f60e03L,0xcdc4753ba05068eaL,
  47155. 0xa177ad14077777efL,0x0b7f54eb7e4cf44aL,0x4ee443f91860144eL },
  47156. { 0x1279ed4d42bb6a93L,0x511137d7436c1b54L,0xebc958fab8cdb6ceL,
  47157. 0xbc4f93f4a0c7614aL,0xc5bd6cde7b2c6d8eL,0xecff7dd78d65f38aL } },
  47158. /* 0 << 378 */
  47159. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  47160. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  47161. /* 1 << 378 */
  47162. { { 0xffec6674f65de0f5L,0x4043079cd23ad193L,0x31811365ee61bc95L,
  47163. 0x358bbd6e8948b6e2L,0x1cd9c342e31644beL,0xbab3aa8c60a8a7a7L },
  47164. { 0xe065519fa375beb6L,0xf7d0b0414439990cL,0x8957c03b8517ae8aL,
  47165. 0xc96a040173750d6eL,0x4eb2e364b2aee6d7L,0x813054feed099114L } },
  47166. /* 2 << 378 */
  47167. { { 0xbb39a17a7c34f095L,0x7be330a822fbbe61L,0x6be6abe3b91f1482L,
  47168. 0xf972804fbd39a2bcL,0x06737e54f91d813eL,0xbd6066681a87cd4aL },
  47169. { 0xbf88b2e5f538d56eL,0xb8206a8134afd68fL,0x7a93aedfa58af042L,
  47170. 0x8853cdf6ac0511b0L,0x9d7f416d067e2c19L,0x5d0bc923f9671d8aL } },
  47171. /* 3 << 378 */
  47172. { { 0xf3b6fd79dd3532a7L,0xf60262b5dbbb9e4cL,0xbf75bb57da4d6ac4L,
  47173. 0xf016adf1c094b38cL,0x9114cdd012def474L,0xdc74d638c785f143L },
  47174. { 0xdea060d6a8d90bbbL,0x1f141878cbcd0d4cL,0x552685b79ddee1f5L,
  47175. 0x381dfc0c636ea6b6L,0x8c601615cb08f34fL,0x5b843830271041eeL } },
  47176. /* 4 << 378 */
  47177. { { 0x2e7d0a16204be028L,0x4f1d082ed0e41851L,0x15f1ddc63eb317f9L,
  47178. 0xf02750715adf71d7L,0x2ce33c2eee858bc3L,0xa24c76d1da73b71aL },
  47179. { 0x9ef6a70a6c70c483L,0xefcf170505cf9612L,0x9f5bf5a67502de64L,
  47180. 0xd11122a1a4701973L,0x82cfaac2a2ea7b24L,0x6cad67cc0a4582e1L } },
  47181. /* 5 << 378 */
  47182. { { 0x139d9fef6bfc08e4L,0x4399615939ffcb3bL,0xaa299008a84ace07L,
  47183. 0xfce43e873cbb2b3fL,0x07b3e8b9191a320eL,0x3ec851d706c4d485L },
  47184. { 0x03d8a672a4bb8477L,0xb6a5dcb213c31d5cL,0x58b79d01c439ab23L,
  47185. 0xdd6f8b5134f66137L,0xccb178a0b29be48cL,0x4c71b7aa4df8a1b2L } },
  47186. /* 6 << 378 */
  47187. { { 0x92bf8c4508359896L,0x77253434ae2c30f2L,0xf05086ec827e6cf8L,
  47188. 0x46d4729f1771c5d3L,0x92587306f37f0bedL,0xb82c99d2e7c30180L },
  47189. { 0xee0141dcb1684841L,0x7fa984be994ddaf5L,0x5c583347165c238cL,
  47190. 0x1a1ad3eea5d78204L,0xcfed795f2736bce6L,0xa7a413318961204eL } },
  47191. /* 7 << 378 */
  47192. { { 0x87451ca71400851dL,0x3aace28e3573ecf6L,0x3a5902cee85717c5L,
  47193. 0xe4b51dd0c9f57944L,0x33cf684789a9d8aeL,0x2f6fb08031e6e769L },
  47194. { 0x4bf3da323b78dad1L,0x2d73fef4e7809638L,0x84d76151965109abL,
  47195. 0xa2c932c9a2098f46L,0xb8c457c3bc17d1fcL,0x5ef2562d0c8012a4L } },
  47196. /* 8 << 378 */
  47197. { { 0x96a1e74f51e4de5eL,0x72913696e37f5006L,0x12449c4fbe35109cL,
  47198. 0x1fad8b304521d7e6L,0xc85eb23d57d00293L,0x4ebd334b35f68229L },
  47199. { 0x7c5b86682df5acf1L,0xc2b4da6e5463de2eL,0x067b0456757cd570L,
  47200. 0xeaab81be3a1c866bL,0x72a6af75bbba88c0L,0xaed4dbde0ef567dcL } },
  47201. /* 9 << 378 */
  47202. { { 0x085e33cd9273818aL,0x8fb9294a8cf4e306L,0xaed46bbc35052bd1L,
  47203. 0x031febb3374661eaL,0x9386a35d4868dbb2L,0x381e5b521d3f2dddL },
  47204. { 0xa938a3a5179617edL,0xb0fc99f49dc95af1L,0xf446dfa92b9dacbcL,
  47205. 0xbae262ae490c1969L,0x042707ffa7443354L,0x8dc0511f267d5c14L } },
  47206. /* 10 << 378 */
  47207. { { 0x8f0e1908fac2674dL,0xd86e85a483e43c26L,0x1f719f7036fb5a4eL,
  47208. 0x7ad61b8ca57dbcbcL,0xcf6ba7db0f63dc79L,0xb4315ab11afe8540L },
  47209. { 0x0448e852425c4df3L,0xf51969ef8838a51dL,0xce98589b9eab87deL,
  47210. 0x55867b5645149689L,0x9b70bc8c60d2a624L,0xc158a2710b6dbd45L } },
  47211. /* 11 << 378 */
  47212. { { 0x0b262f808f1915f2L,0x64ba3bc73d501e01L,0x8ce2db1f4645152cL,
  47213. 0xf4a4f3afab047cdbL,0x1a7c4af600d31e7fL,0x0005bca678d1c0ecL },
  47214. { 0xf5ed135f6fe5ebb0L,0xa299b1002ea9abdfL,0x4fa387e5fccb58f5L,
  47215. 0x105b9dd2fc657b72L,0x1494c6050dc3c22cL,0xf7468e8a92d281c7L } },
  47216. /* 12 << 378 */
  47217. { { 0x597a26ffb4dc8600L,0x264a09f3f9288555L,0x0b06aff65c27f5f6L,
  47218. 0xce5ab665d8d544e6L,0x92f031be99275c32L,0xaf51c5bbf42e0e7cL },
  47219. { 0x5bb28b061e37b36dL,0x583fba6a8473543aL,0xe73fd299f93fb7dcL,
  47220. 0xfcd999a86e2ccad9L,0xb8c8a6df334d4f57L,0x5adb28dd9a2acc9bL } },
  47221. /* 13 << 378 */
  47222. { { 0xc760823646dd14f3L,0xc6d97d37e7a97f33L,0x05037f26de2f444aL,
  47223. 0x5267ded09aa9a5c0L,0xd1ef46340be2d841L,0x308b37a8d48b9574L },
  47224. { 0x102f7878487bad5bL,0x1d5169d938b7c1efL,0x2d8adde62c39c75aL,
  47225. 0x71bfb8bc0b80f3bbL,0x126505999bff252fL,0xf99e952f24f8bd3bL } },
  47226. /* 14 << 378 */
  47227. { { 0x24496a8b7a8a6d47L,0x9fc75c0aec6afe43L,0x4200e00670744f15L,
  47228. 0xe2f87d5e2973be1dL,0x0f6c5993c82e2013L,0xe9ecf6ce198c99f0L },
  47229. { 0xcbdf72058b37d828L,0xbef4b8c8325d1d93L,0x8e962ffbd0fbb134L,
  47230. 0xe4273a124bcffc61L,0x4f24ba23f3d93d73L,0x8f02df83bcfcb930L } },
  47231. /* 15 << 378 */
  47232. { { 0x985c8f4b0614348aL,0xca4ca7cd5a03c014L,0x5bdd4382a7b62effL,
  47233. 0x623d44b9e4a0bb42L,0x1f28862ef23931d5L,0x30568303868326beL },
  47234. { 0x850d2a0d82e76f04L,0xf4dc02330ac4a153L,0x62b74879b1e70a9aL,
  47235. 0x7b32249baf3f0dbbL,0x2f50395d155eae92L,0x6d990c16f6f5c9a4L } },
  47236. /* 16 << 378 */
  47237. { { 0x3afdee277d221ab6L,0xecf10abc47bb619eL,0x340c8ee3ba4a3301L,
  47238. 0x1a6ea51a2a883b7fL,0x64f27976d5d7412bL,0x7fcf0ecc91251b6eL },
  47239. { 0x5f3f8f41365b18b7L,0x38e48b96e2e13e58L,0xde3b73d6ad61b2cbL,
  47240. 0xf08398d5d542676dL,0xd373931e8e7d712bL,0x89325d7a7f96e023L } },
  47241. /* 17 << 378 */
  47242. { { 0xeb2e48c10bf4e94dL,0x00614bf206b7e166L,0x536c999ce295c451L,
  47243. 0x951f92186359cf06L,0xe2a938890afc827fL,0x63102e93ff029787L },
  47244. { 0xab297c7d2ac89645L,0x7354df74928742bfL,0xc0934ca6c8604304L,
  47245. 0x36b7e9711cc2f3b4L,0x487ce890e10ee837L,0xe6aa9eabae2ae9e3L } },
  47246. /* 18 << 378 */
  47247. { { 0x6e7a578340517347L,0x7db868f3a950dfa2L,0x7fd7fd8eb3c2eff7L,
  47248. 0xae7b59c5fbe10a47L,0x5239b5c4109797d6L,0x3838356a53264b8aL },
  47249. { 0x8df8454c320a8c5aL,0x67c86ef46958fa2cL,0xfe1aad846241a50aL,
  47250. 0x3df64ef5a06f3cf3L,0xde6af0ff83282fbdL,0x25ca45046cdbe5feL } },
  47251. /* 19 << 378 */
  47252. { { 0xa319340d6e6c0debL,0x101f055acb1b1cd5L,0x4bea31ad623e7e55L,
  47253. 0xc0c88af6aec23cd2L,0xca98c4364aaf2f73L,0x1969eca437dd1341L },
  47254. { 0x6b03989f97866dc3L,0xafdc99532eaf5b08L,0x199ec0e93d6ea9c4L,
  47255. 0xc3d1069474f262e9L,0xa7e5670079911cf9L,0xc0213ec56844da05L } },
  47256. /* 20 << 378 */
  47257. { { 0x5adf3d9a111792b9L,0x1c77a3054f1e0d09L,0xf9fbce33a82d3736L,
  47258. 0xf307823e718c8aa3L,0x860578cf416ccf69L,0xb942add81ef8465bL },
  47259. { 0x9ee0cf97cd9472e1L,0xe6792eefb01528a8L,0xf99b9a8dc09da90bL,
  47260. 0x1f521c2dcbf3ccb8L,0x6bf6694891a62632L,0xcc7a9ceb854fe9daL } },
  47261. /* 21 << 378 */
  47262. { { 0xfc9660a3c8808373L,0x84c5d6a71a50c560L,0x13fe0588ba057fe2L,
  47263. 0x29b0341dafb73ad1L,0x37b11137f15f0cd2L,0x84422ba89c2d7eb0L },
  47264. { 0x0b595ac52554ef7fL,0xd7a8303f08b37a84L,0x908895a9e02d77fcL,
  47265. 0x70cdeb0c9f242a42L,0x535e8540116e2db8L,0xc88f0cf685c54d31L } },
  47266. /* 22 << 378 */
  47267. { { 0xf534f145e2290ebaL,0x3d081c0d7f15c9e3L,0x716574c5e9ae3da0L,
  47268. 0xbe6bd7b92c078aa8L,0xab8802bab8da8e68L,0x0c5be4a1ab204fb0L },
  47269. { 0xad25c5ee0d3f12b3L,0x3929d0d78fc9b7a5L,0x9c6e2ce0bb5cd2fdL,
  47270. 0x855367c4924ec2d2L,0x6b532891e6550d3cL,0xab2bc89575ba5c99L } },
  47271. /* 23 << 378 */
  47272. { { 0xb56b035e2a0349adL,0xcfa41da6f89ce836L,0x9d86bcac8b5c43fcL,
  47273. 0xc77375da47644b07L,0x9e9c222607f4b670L,0x71d663c80482a61bL },
  47274. { 0xb423e739ef237431L,0xf1cedf7e48832b5bL,0x09e0cb2a7ca7548bL,
  47275. 0x9b463559631b9850L,0x8a2bd7fed4dd03deL,0x46115292ae0c97d3L } },
  47276. /* 24 << 378 */
  47277. { { 0xe44e3f864b3759cfL,0x90cab0eb9d74e3f6L,0x1004254501c4e171L,
  47278. 0xc12df68cce52defbL,0xb1fae2fbf363100aL,0x5016c8533573235fL },
  47279. { 0x8d4deb661d922e9bL,0x8a20d42317f84ef2L,0x324985835a4e118eL,
  47280. 0x5abfa961308772e9L,0x41c7611ff54e4876L,0xc1da40d31f5867b2L } },
  47281. /* 25 << 378 */
  47282. { { 0x4df02a7d3088aebcL,0x7dea27ea12487485L,0x2a773270df98069eL,
  47283. 0xea435fa0e9ceaf44L,0x08e952e365e5ebabL,0x972877d5c3511480L },
  47284. { 0xef5685f859a04cd0L,0xe50abe68b8c7c796L,0xbbb792e2c3225f20L,
  47285. 0x7d9878e811c89153L,0x4b72a1e619354751L,0x7d5f05a3faa1be22L } },
  47286. /* 26 << 378 */
  47287. { { 0x61dd7692f27eed54L,0x8540213ea7a3f2f7L,0xe659cbd6ace07e13L,
  47288. 0x3a998cdcc8995cacL,0x0accb4a7922d3b25L,0x762b3406c6577d81L },
  47289. { 0xa09db4f57e043740L,0x7f78e02d8cc9bc5fL,0x080a522673b98cd3L,
  47290. 0xb6d72f7ce6490808L,0x36815de2c724284aL,0xc27d13df98b867b5L } },
  47291. /* 27 << 378 */
  47292. { { 0xbfeffd5356adb6e4L,0xb5e8876c499a1455L,0x4771281390833f18L,
  47293. 0x5f49ef880115b9a5L,0xb041ec67cf575de5L,0x490753350b7e4afcL },
  47294. { 0xad4dc4a15f0b9f24L,0x9dbb181edafad9a5L,0xa84431a6e6ed5198L,
  47295. 0x33ee16e27993eed6L,0xfdf76899c1e4f8b4L,0x868d06baff60e943L } },
  47296. /* 28 << 378 */
  47297. { { 0x46303171491ccb92L,0xa80a8c0d2771235bL,0xd8e497fff172c7cfL,
  47298. 0x7f7009d735b193cfL,0x6b9fd3f7f19df4bcL,0xada548c3b46f1e37L },
  47299. { 0x87c6eaa9c7a20270L,0xef2245d6ae78ef99L,0x2a121042539eab95L,
  47300. 0x29a6d5d779b8f5ccL,0x33803a10b77840dcL,0xfedd3a7011a6a30fL } },
  47301. /* 29 << 378 */
  47302. { { 0x5d782a0778664144L,0xc1413da46682c779L,0x937a15f52a67b12bL,
  47303. 0x8ec00d9fc04d8cd5L,0x3f16d1ed3b5fe8d6L,0x24ad6b0ca28c8067L },
  47304. { 0xdd1eecc532732b19L,0x62c4c2beab2fa785L,0x7d863f5b2ac0c238L,
  47305. 0xd686eb7239384e15L,0x3770e54d16bd75b2L,0xdcd9e4e8120b3881L } },
  47306. /* 30 << 378 */
  47307. { { 0xe3052838df5147e1L,0x87bc4d75b1baaa7cL,0x49b13eb95acc5572L,
  47308. 0x919081881990c13cL,0x5d43a4a6191cc808L,0x20b358444182aa55L },
  47309. { 0x70d49a4a670b1fd1L,0xc6e6e061722e91e7L,0x8d130b3900c5ae9eL,
  47310. 0x5db7d06920f68ec5L,0x85b6c505470fbe13L,0x14101ec7326c4d38L } },
  47311. /* 31 << 378 */
  47312. { { 0xeef03450e10e8018L,0x75921e487576c3ddL,0x6c8e22676e97f5afL,
  47313. 0xd7323e01a856ae6bL,0x43a195425fed884fL,0x010865380377ba8fL },
  47314. { 0x7cdbd06ac82a8f67L,0xc6fce58bf0fd4281L,0xae098b7f9e67bed0L,
  47315. 0x0c8d328bdd918524L,0xddf723ec0a11fb83L,0x210d6016e25a2073L } },
  47316. /* 32 << 378 */
  47317. { { 0x3c90a59f85adde98L,0x35414174e5269140L,0x9aca885c1a0d58e2L,
  47318. 0x77b9b6dd6816b009L,0x8e5c12139ee4718fL,0x60ad991e4e4eac45L },
  47319. { 0xc00c35694d71f624L,0xacbf4eb25bc5fd2aL,0xcba1ffc75eaf3eaaL,
  47320. 0x5f99092d42a87e32L,0x2e7b49c76f7a882fL,0x5e9bfc5c29040512L } },
  47321. /* 33 << 378 */
  47322. { { 0xa31d3524b295958dL,0x9713a5e04894f486L,0xe8804ab3329a0b9aL,
  47323. 0xd4447c1b20eefa54L,0xf5b944c9040b7ad4L,0x9db0ee0b907f2cfdL },
  47324. { 0x0b1a1f3a5384a999L,0x3137241ea8351764L,0xe0663b5ab29c3cffL,
  47325. 0x2b47ca0622d4deefL,0x4f952109f1172bcdL,0x1e7a7fca9b447bd4L } },
  47326. /* 34 << 378 */
  47327. { { 0xc9898355ecf2a473L,0x20d0c4740dcd66f6L,0x6459720f8eeefff5L,
  47328. 0xd9b625dcf9ce0cdeL,0xed3a6508ea56be90L,0x6847c20de211c90eL },
  47329. { 0x36d86bed71a73ceeL,0x9222eab23023d16eL,0x3155874750209b4dL,
  47330. 0xcac8f277d145b831L,0x49cedc634470e754L,0x6c7c065add370f77L } },
  47331. /* 35 << 378 */
  47332. { { 0x46a95735f8171804L,0x1ff2549ec4c93476L,0xfb8a08285bb5202dL,
  47333. 0xaff5505f1070737aL,0x162aaad842f412c5L,0x02a37213fac8a477L },
  47334. { 0x05ff9238932f08e2L,0x9be6a0b29fc66787L,0x373a9039db1e5a40L,
  47335. 0xe657e8c782d04913L,0xa2006f207e6ee867L,0xd7aa1d2378d82f9aL } },
  47336. /* 36 << 378 */
  47337. { { 0xfa070e22142403d1L,0x68ff316015c6f7f5L,0xe09f04e6223a0ce8L,
  47338. 0x22bbd01853e14183L,0x35d9fafccf45b75bL,0x3a34819d7eceec88L },
  47339. { 0xd9cf7568d33262d2L,0x431036d5841d1505L,0x0c8005659eb2a79aL,
  47340. 0x8e77d9f05f7edc6aL,0x19e12d0565e800aaL,0x335c8d36b7784e7cL } },
  47341. /* 37 << 378 */
  47342. { { 0xdcac39d87c1d9f4dL,0x88322d8bc225ce6eL,0x5c240cefa3ef5202L,
  47343. 0xf60ce5d991f1d487L,0x8e857069e462cfa8L,0xa6e5585e996d2033L },
  47344. { 0x709675a556281e6aL,0xcd90c140f907ebf0L,0x5343a0a2a3231eecL,
  47345. 0x74b1443214892291L,0xf8cb9c26a5325b8cL,0x1bb28be140089be5L } },
  47346. /* 38 << 378 */
  47347. { { 0x2bb6e7ec3092d0b2L,0xc7c9e5f1d27d1f31L,0xbac785aeac0939e3L,
  47348. 0x186d3d934f810d8fL,0xda296dacfe7d778fL,0x6189f5e41a991ea2L },
  47349. { 0x098f794e9634363eL,0x04aaf59a88a4dccaL,0x09d718487196dfa8L,
  47350. 0xa447a31ed83044a6L,0x720cd3908d1363fdL,0x6f670479e22efa03L } },
  47351. /* 39 << 378 */
  47352. { { 0xaa452e81cdf60f9aL,0xf3dc472a8e2c58e9L,0x16ddefa50589fd01L,
  47353. 0xd56ec8f223a1656eL,0xcccb784f77921ca4L,0x9bace7adf8a7c0baL },
  47354. { 0xc94ef3ef51f052e2L,0xa70c0579c34e7cb5L,0x3599817883ce8674L,
  47355. 0x033647c392a20951L,0xc828fcc77a21add6L,0x5a446de871ba27a5L } },
  47356. /* 40 << 378 */
  47357. { { 0x75cba9d530a3ada1L,0xb69e308bf8ae9565L,0x990e3425ca7b8369L,
  47358. 0x9f67567fe0a7ad0bL,0x76ed6fe718bd01b7L,0x282358aa2ff95cfeL },
  47359. { 0x28d2ea41410f8841L,0x89d1533fccd67c81L,0x969bb272b6a7b8f9L,
  47360. 0x54f8664c26330782L,0xb89f3ae81dcd9164L,0x54d845b93d962c14L } },
  47361. /* 41 << 378 */
  47362. { { 0x08ba5b61fde4ca03L,0x39b1a9c697b17ee6L,0x885253779336b2b9L,
  47363. 0xe964dc9c9aabc3fcL,0x6aed101a5295e728L,0x30369ea0ee12356aL },
  47364. { 0xe081e022c8e80e5eL,0x3a769ef0df9f47c0L,0x3b2f7aab5590750cL,
  47365. 0xd16c7a85a1a5e504L,0x9e528623e854d7cfL,0xaca079354468e419L } },
  47366. /* 42 << 378 */
  47367. { { 0xee521c0af93098bfL,0xf517c925b79aa0ebL,0x17779f5e7bbc58feL,
  47368. 0x093c3dc2769de891L,0xafbf32372a69ad0dL,0x33a95de702001e8cL },
  47369. { 0x3b30afc73410a2b0L,0xb379a3f425bc7d9aL,0xf1c069251604a646L,
  47370. 0x04f0bb334fca052fL,0xe5cd9c39cab33871L,0xf259795816fa1b16L } },
  47371. /* 43 << 378 */
  47372. { { 0x291d65c801189d9aL,0xb16ca18bd8e94e49L,0x55f7680599440d4bL,
  47373. 0x55d40c1b2eb7f0fdL,0x752d98f6018d7c64L,0xa1cae78c7b491c4dL },
  47374. { 0x898fc8c78f66b8d3L,0xbb48956a3ceecd27L,0xb8f9498dfaa9451fL,
  47375. 0x583b336aa5683ef8L,0x0deaa373e92656f4L,0x7f87b4412a9a0272L } },
  47376. /* 44 << 378 */
  47377. { { 0x8b2fc4e96484fd40L,0xee702764a35d24eaL,0x15b28ac7b871c3f3L,
  47378. 0x805b4048e097047fL,0xd6f1b8df647cad2fL,0xf1d5b458dc7dd67fL },
  47379. { 0x324c529c25148803L,0xf6185ebe21274fafL,0xaf14751e95148b55L,
  47380. 0x283ed89d28f284f4L,0x93ad20e74cbebf1aL,0x5f6ec65d882935e1L } },
  47381. /* 45 << 378 */
  47382. { { 0x4b0c7d0c69c284cbL,0x907e4f38199c5176L,0x4ebfbda7cf3dab12L,
  47383. 0x675f12cca4fa74a9L,0x86628102bdf579e6L,0xf08cbfe771c4d061L },
  47384. { 0x9dde390e03bc1cb9L,0xb6d0d48b4c727915L,0x7cad28c370c0b7bfL,
  47385. 0x8d978a8110d1e881L,0x1c071597924baeb1L,0x83c09192eb103fe0L } },
  47386. /* 46 << 378 */
  47387. { { 0x494dbd2665925506L,0xe239b1d404b6fc45L,0x38a1ec5ce16b874dL,
  47388. 0x1588c4712a3f012dL,0x5bd45adcdc6938b9L,0xe4c35c2244ab2fccL },
  47389. { 0x87cbd9ff887108a2L,0x92a9c3b2144fd3eeL,0x3a0e55c7982a4928L,
  47390. 0xcaf679765bb0fddfL,0x04616318263ea256L,0x56eb022838caa901L } },
  47391. /* 47 << 378 */
  47392. { { 0x2f7de141a48da000L,0x323bd638835a4edfL,0xd2d9da967e155bd5L,
  47393. 0x717c302a766b69daL,0x5927968beb0f6ca5L,0xfd96bd168940c766L },
  47394. { 0xf89f7539a334fd71L,0x4ba9cd8bd870954fL,0x7e639523a3d57aa8L,
  47395. 0x88f31e162314c0ceL,0xa836a6ad53b7e6e9L,0xd35a825190e43169L } },
  47396. /* 48 << 378 */
  47397. { { 0xb3984b176c0f3509L,0xf9fa4483d8b4d6bcL,0xf4ac2b677dec20d2L,
  47398. 0x67ef024eb3dbe034L,0x2dcc51180f94f4d7L,0x024cdcfd74a51393L },
  47399. { 0xf1c0fead20e7abcbL,0xffc18f81d3a7414fL,0xb00ce5567062cb0bL,
  47400. 0xeccb0521817bc8d1L,0xa0c0fe6040411c15L,0x053113221defbe00L } },
  47401. /* 49 << 378 */
  47402. { { 0x74faca8a6af7e742L,0x6f206002d878a97aL,0xd69b7c83177305ffL,
  47403. 0x605e7a32d2e2bcf1L,0x65bd03584590bf03L,0xab3ae700d1a378c5L },
  47404. { 0x037e79028a929b0dL,0x83625ae0a7c451c6L,0x82a18f03492b01d4L,
  47405. 0x12c6d168e67756b1L,0x1e704c3bd7924df1L,0x7708617f1989244eL } },
  47406. /* 50 << 378 */
  47407. { { 0x4c98c61d097bde48L,0x6a55edf1c354f433L,0x1ceee947c3f39212L,
  47408. 0x162cf27f36ba3cebL,0xd9f3982e3ec5f7ffL,0xd363e435d58d42d2L },
  47409. { 0x2ee90d7bad36681dL,0xd916df56ebfbf51cL,0x61d94ed8d7c27fe7L,
  47410. 0x5010582e923c1acdL,0x89d23e8b6de52994L,0x0a4f9c10525dbccfL } },
  47411. /* 51 << 378 */
  47412. { { 0x7778fad7e65573e2L,0xa4af7a2d74986210L,0xd78ecebfec57d967L,
  47413. 0x9be8a33f67d61b2eL,0x6888444f98a9add7L,0x218e7fb1b71a25a4L },
  47414. { 0xf75a6b795f46323bL,0x2f8610ad11a52cd9L,0x23692f85fc6837caL,
  47415. 0x3a37965f71fe847bL,0x29c25cc3fe3bdeeeL,0x68fefc83f624665aL } },
  47416. /* 52 << 378 */
  47417. { { 0xe222eba4a4dcefe9L,0x63ad235fec1ceb74L,0x2e0bf749e05b18e7L,
  47418. 0x547bd050b48bdd87L,0x0490c970f5aa2fc4L,0xced5e4cf2b431390L },
  47419. { 0x07d8270451d2898eL,0x44b72442083b57d4L,0xa4ada2305037fce8L,
  47420. 0x55f7905e50510da6L,0xd8ee724f8d890a98L,0x925a8e7c11b85640L } },
  47421. /* 53 << 378 */
  47422. { { 0x8357d8bb460e77b2L,0xc749a6a77709a52bL,0x94035a1f0c82ab81L,
  47423. 0x15245ac616c11ef4L,0xbf3cd96c034d021bL,0xf79e2d39b2e8fac1L },
  47424. { 0x387015194b6cf1bdL,0x341f9b53b3143bf7L,0xb2584aabdda9acf2L,
  47425. 0x16f34bdd553a8e68L,0x89d0c4c5da7830b3L,0x6cfe44c63f488c2eL } },
  47426. /* 54 << 378 */
  47427. { { 0xee536a26d4bcaa59L,0x5ea6a57c699397bfL,0xb28f476b59a7eb99L,
  47428. 0xa901f2551406ec90L,0x7b6e3e4d1f54ef38L,0x058ff1904c89c9a8L },
  47429. { 0x5690fa10fca546ccL,0xfe98793145e14268L,0x6181fa1675362f5dL,
  47430. 0x3ebe84466964b9aeL,0x3e1957812ce0f969L,0xb33ea619b0195852L } },
  47431. /* 55 << 378 */
  47432. { { 0xeef402410ec537acL,0x1f72c1f8911316f6L,0xab4bb08268cc6678L,
  47433. 0x031fc087255e8c5eL,0x99c2ff0b948ac53bL,0x13db3201919c1870L },
  47434. { 0xdec81fd312057a3cL,0xbdffa226ff7a44cbL,0x748d2e93d97167e2L,
  47435. 0x33a9fe40bd21effeL,0xe08e4213817ea560L,0x2221798b9f4337d5L } },
  47436. /* 56 << 378 */
  47437. { { 0xda828fe556467257L,0x5e9abf67d640c2a1L,0x0eed233cc25c696aL,
  47438. 0x72483dc5b3e1d84fL,0x30bf1ee34f114abcL,0xf58b321ed1f9bce8L },
  47439. { 0xcb26564c97524f33L,0xdc2f105e1e453229L,0x9da43ceb72a982ddL,
  47440. 0xecf5649dfeef8862L,0xd8afda341fa2f06dL,0xf0d0ced355035432L } },
  47441. /* 57 << 378 */
  47442. { { 0xec22bb32205a5301L,0xe4d168e75b0b727bL,0x91217a6be34fe2e0L,
  47443. 0x03c6831675f0f139L,0xb21e275d8b991b29L,0x7f517c9c01f3f401L },
  47444. { 0xbbe95d19e55e49faL,0xc5470808504514b1L,0xb88be15c7cc1367dL,
  47445. 0x242cb06bbfd24bacL,0x08647a158d2ab0baL,0x8f1fd1bd5716ed9bL } },
  47446. /* 58 << 378 */
  47447. { { 0xe787054518ba5236L,0x243622f9e8a47507L,0xe7d94f4697b97d7cL,
  47448. 0xb120589021649255L,0x8b5101310dd4e1d4L,0x1690687e164c44baL },
  47449. { 0x65bb4d8cf100fef5L,0xfffffee70a684c3dL,0x2aa11707c463a975L,
  47450. 0xccaddeaf391ad03dL,0x4d2cda1c81cca7deL,0x9d3eaa58c5b0f8e7L } },
  47451. /* 59 << 378 */
  47452. { { 0x3d92ecc18f8802dfL,0x3024ce311a719461L,0x6bdf53fc46c1f31bL,
  47453. 0x4f4576a12c9c7744L,0xe1ee7508c3ff7356L,0xd4b25ed3883ebf03L },
  47454. { 0x1dc46052420c3ac9L,0x376ebbfa11ecefa9L,0x36e175265e9693f5L,
  47455. 0xeb82b33740ed3143L,0x6960312ff19fa66aL,0xc7edb5db6c742e1bL } },
  47456. /* 60 << 378 */
  47457. { { 0x5bfa10cd1ca459edL,0x593f085a6dcf56bfL,0xe6f0ad9bc0579c3eL,
  47458. 0xc11c95a22527c1adL,0x7cfa71e1cf1cb8b3L,0xedcff8331d6dc79dL },
  47459. { 0x581c4bbe432521c9L,0xbf620096144e11a0L,0x54c38b71be3a107bL,
  47460. 0xed555e37e2606ec0L,0x3fb148b8d721d034L,0x79d53dad0091bc90L } },
  47461. /* 61 << 378 */
  47462. { { 0x4b98cb69c5c8a182L,0x887071bbcac96dabL,0x03d42e96afc190c3L,
  47463. 0xbc2c3b8d7a813820L,0x1ee7797f6590d0ecL,0x4a95f7f3ad4777a4L },
  47464. { 0x7a36de4e2a8d2736L,0x7f8c6751ad78dab6L,0xf9874bf6974c0a8eL,
  47465. 0x759fee1c8b53025aL,0x1b00fb28a2171c8bL,0xdf206f19be8f2e7eL } },
  47466. /* 62 << 378 */
  47467. { { 0xe6bbcf0bf8ed6302L,0x7734dc91f8fe7a42L,0x840210ee61ff9d1eL,
  47468. 0xbbf2d5477007f2e9L,0x0f17d421a6542ac0L,0x0b2d3d2ee01df4e9L },
  47469. { 0x520e4fbb84f3703fL,0x8362f7b1431106b7L,0xdcfc96ae6e50d836L,
  47470. 0x2dfa176cc44153bbL,0xeef1c6710b09ffe2L,0x633a2ac888531d81L } },
  47471. /* 63 << 378 */
  47472. { { 0x29262b6d7636a78dL,0xdc504f01d3ce2967L,0xa441e5035bcf0e19L,
  47473. 0x8025224f7ad39d9aL,0x780ec65de871b792L,0x977b4bce597694b4L },
  47474. { 0xe05eaeb87fe3ef11L,0x1cff87ac9748b10eL,0xb669c1d60c34153aL,
  47475. 0xf5da63e0f8f90368L,0x6f7f2fc47d31bf61L,0x37e9158235c16a0fL } },
  47476. /* 64 << 378 */
  47477. { { 0xcf17f9dc08d1be5dL,0xb55de4c8afdfeb23L,0xa69454ffe437b29cL,
  47478. 0x6628d789e27ee9e2L,0x56e3b975ee3af03bL,0x0083fe9c2f532d62L },
  47479. { 0xcae15213e63e7511L,0xdb5384f386ed849cL,0x902ba959fa4d825fL,
  47480. 0xbad700d55ae17566L,0x16b2c5dc14c82eb4L,0xa4b057a736708ea7L } },
  47481. };
  47482. /* Multiply the point by the scalar and return the result.
  47483. * If map is true then convert result to affine coordinates.
  47484. *
  47485. * Pre-computed table containing multiples of g times powers of 2.
  47486. * Width between powers is 7 bits.
  47487. * Accumulate into the result.
  47488. *
  47489. * r Resulting point.
  47490. * g Point to scalar multiply.
  47491. * k Scalar to multiply by.
  47492. * table Pre-computed table of points.
  47493. * map Indicates whether to convert result to affine.
  47494. * ct Constant time required.
  47495. * heap Heap to use for allocation.
  47496. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  47497. */
  47498. static int sp_384_ecc_mulmod_add_only_6(sp_point_384* r, const sp_point_384* g,
  47499. const sp_table_entry_384* table, const sp_digit* k, int map,
  47500. int ct, void* heap)
  47501. {
  47502. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47503. sp_point_384* rt = NULL;
  47504. sp_digit* tmp = NULL;
  47505. #else
  47506. sp_point_384 rt[2];
  47507. sp_digit tmp[2 * 6 * 6];
  47508. #endif
  47509. sp_point_384* p = NULL;
  47510. sp_digit* negy = NULL;
  47511. int i;
  47512. ecc_recode_384 v[55];
  47513. int err = MP_OKAY;
  47514. (void)g;
  47515. (void)ct;
  47516. (void)heap;
  47517. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47518. rt = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  47519. DYNAMIC_TYPE_ECC);
  47520. if (rt == NULL)
  47521. err = MEMORY_E;
  47522. if (err == MP_OKAY) {
  47523. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6, heap,
  47524. DYNAMIC_TYPE_ECC);
  47525. if (tmp == NULL)
  47526. err = MEMORY_E;
  47527. }
  47528. #endif
  47529. if (err == MP_OKAY) {
  47530. negy = tmp;
  47531. p = rt + 1;
  47532. }
  47533. if (err == MP_OKAY) {
  47534. sp_384_ecc_recode_7_6(k, v);
  47535. XMEMCPY(p->z, p384_norm_mod, sizeof(p384_norm_mod));
  47536. XMEMCPY(rt->z, p384_norm_mod, sizeof(p384_norm_mod));
  47537. i = 54;
  47538. #ifndef WC_NO_CACHE_RESISTANT
  47539. if (ct) {
  47540. sp_384_get_entry_65_6(rt, &table[i * 65], v[i].i);
  47541. }
  47542. else
  47543. #endif
  47544. {
  47545. XMEMCPY(rt->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  47546. XMEMCPY(rt->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  47547. }
  47548. rt->infinity = !v[i].i;
  47549. for (--i; i>=0; i--) {
  47550. #ifndef WC_NO_CACHE_RESISTANT
  47551. if (ct) {
  47552. sp_384_get_entry_65_6(p, &table[i * 65], v[i].i);
  47553. }
  47554. else
  47555. #endif
  47556. {
  47557. XMEMCPY(p->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  47558. XMEMCPY(p->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  47559. }
  47560. p->infinity = !v[i].i;
  47561. sp_384_sub_6(negy, p384_mod, p->y);
  47562. sp_384_norm_6(negy);
  47563. sp_384_cond_copy_6(p->y, negy, 0 - v[i].neg);
  47564. sp_384_proj_point_add_qz1_6(rt, rt, p, tmp);
  47565. }
  47566. if (map != 0) {
  47567. sp_384_map_6(r, rt, tmp);
  47568. }
  47569. else {
  47570. XMEMCPY(r, rt, sizeof(sp_point_384));
  47571. }
  47572. }
  47573. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47574. if (tmp != NULL)
  47575. #endif
  47576. {
  47577. ForceZero(tmp, sizeof(sp_digit) * 2 * 6 * 6);
  47578. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47579. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  47580. #endif
  47581. }
  47582. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47583. if (rt != NULL)
  47584. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  47585. #endif
  47586. return err;
  47587. }
  47588. /* Multiply the base point of P384 by the scalar and return the result.
  47589. * If map is true then convert result to affine coordinates.
  47590. *
  47591. * r Resulting point.
  47592. * k Scalar to multiply by.
  47593. * map Indicates whether to convert result to affine.
  47594. * ct Constant time required.
  47595. * heap Heap to use for allocation.
  47596. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  47597. */
  47598. static int sp_384_ecc_mulmod_base_6(sp_point_384* r, const sp_digit* k,
  47599. int map, int ct, void* heap)
  47600. {
  47601. return sp_384_ecc_mulmod_add_only_6(r, NULL, p384_table,
  47602. k, map, ct, heap);
  47603. }
  47604. #ifdef HAVE_INTEL_AVX2
  47605. /* Multiply the point by the scalar and return the result.
  47606. * If map is true then convert result to affine coordinates.
  47607. *
  47608. * Pre-computed table containing multiples of g times powers of 2.
  47609. * Width between powers is 7 bits.
  47610. * Accumulate into the result.
  47611. *
  47612. * r Resulting point.
  47613. * g Point to scalar multiply.
  47614. * k Scalar to multiply by.
  47615. * table Pre-computed table of points.
  47616. * map Indicates whether to convert result to affine.
  47617. * ct Constant time required.
  47618. * heap Heap to use for allocation.
  47619. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  47620. */
  47621. static int sp_384_ecc_mulmod_add_only_avx2_6(sp_point_384* r, const sp_point_384* g,
  47622. const sp_table_entry_384* table, const sp_digit* k, int map,
  47623. int ct, void* heap)
  47624. {
  47625. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47626. sp_point_384* rt = NULL;
  47627. sp_digit* tmp = NULL;
  47628. #else
  47629. sp_point_384 rt[2];
  47630. sp_digit tmp[2 * 6 * 6];
  47631. #endif
  47632. sp_point_384* p = NULL;
  47633. sp_digit* negy = NULL;
  47634. int i;
  47635. ecc_recode_384 v[55];
  47636. int err = MP_OKAY;
  47637. (void)g;
  47638. (void)ct;
  47639. (void)heap;
  47640. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47641. rt = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  47642. DYNAMIC_TYPE_ECC);
  47643. if (rt == NULL)
  47644. err = MEMORY_E;
  47645. if (err == MP_OKAY) {
  47646. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6, heap,
  47647. DYNAMIC_TYPE_ECC);
  47648. if (tmp == NULL)
  47649. err = MEMORY_E;
  47650. }
  47651. #endif
  47652. if (err == MP_OKAY) {
  47653. negy = tmp;
  47654. p = rt + 1;
  47655. }
  47656. if (err == MP_OKAY) {
  47657. sp_384_ecc_recode_7_6(k, v);
  47658. XMEMCPY(p->z, p384_norm_mod, sizeof(p384_norm_mod));
  47659. XMEMCPY(rt->z, p384_norm_mod, sizeof(p384_norm_mod));
  47660. i = 54;
  47661. #ifndef WC_NO_CACHE_RESISTANT
  47662. if (ct) {
  47663. sp_384_get_entry_65_avx2_6(rt, &table[i * 65], v[i].i);
  47664. }
  47665. else
  47666. #endif
  47667. {
  47668. XMEMCPY(rt->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  47669. XMEMCPY(rt->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  47670. }
  47671. rt->infinity = !v[i].i;
  47672. for (--i; i>=0; i--) {
  47673. #ifndef WC_NO_CACHE_RESISTANT
  47674. if (ct) {
  47675. sp_384_get_entry_65_avx2_6(p, &table[i * 65], v[i].i);
  47676. }
  47677. else
  47678. #endif
  47679. {
  47680. XMEMCPY(p->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  47681. XMEMCPY(p->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  47682. }
  47683. p->infinity = !v[i].i;
  47684. sp_384_sub_6(negy, p384_mod, p->y);
  47685. sp_384_norm_6(negy);
  47686. sp_384_cond_copy_6(p->y, negy, 0 - v[i].neg);
  47687. sp_384_proj_point_add_qz1_avx2_6(rt, rt, p, tmp);
  47688. }
  47689. if (map != 0) {
  47690. sp_384_map_avx2_6(r, rt, tmp);
  47691. }
  47692. else {
  47693. XMEMCPY(r, rt, sizeof(sp_point_384));
  47694. }
  47695. }
  47696. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47697. if (tmp != NULL)
  47698. #endif
  47699. {
  47700. ForceZero(tmp, sizeof(sp_digit) * 2 * 6 * 6);
  47701. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47702. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  47703. #endif
  47704. }
  47705. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47706. if (rt != NULL)
  47707. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  47708. #endif
  47709. return err;
  47710. }
  47711. /* Multiply the base point of P384 by the scalar and return the result.
  47712. * If map is true then convert result to affine coordinates.
  47713. *
  47714. * r Resulting point.
  47715. * k Scalar to multiply by.
  47716. * map Indicates whether to convert result to affine.
  47717. * ct Constant time required.
  47718. * heap Heap to use for allocation.
  47719. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  47720. */
  47721. static int sp_384_ecc_mulmod_base_avx2_6(sp_point_384* r, const sp_digit* k,
  47722. int map, int ct, void* heap)
  47723. {
  47724. return sp_384_ecc_mulmod_add_only_avx2_6(r, NULL, p384_table,
  47725. k, map, ct, heap);
  47726. }
  47727. #endif /* HAVE_INTEL_AVX2 */
  47728. #endif /* WOLFSSL_SP_SMALL */
  47729. /* Multiply the base point of P384 by the scalar and return the result.
  47730. * If map is true then convert result to affine coordinates.
  47731. *
  47732. * km Scalar to multiply by.
  47733. * r Resulting point.
  47734. * map Indicates whether to convert result to affine.
  47735. * heap Heap to use for allocation.
  47736. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  47737. */
  47738. int sp_ecc_mulmod_base_384(const mp_int* km, ecc_point* r, int map, void* heap)
  47739. {
  47740. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47741. sp_point_384* point = NULL;
  47742. sp_digit* k = NULL;
  47743. #else
  47744. sp_point_384 point[1];
  47745. sp_digit k[6];
  47746. #endif
  47747. int err = MP_OKAY;
  47748. #ifdef HAVE_INTEL_AVX2
  47749. word32 cpuid_flags = cpuid_get_flags();
  47750. #endif
  47751. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47752. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384), heap,
  47753. DYNAMIC_TYPE_ECC);
  47754. if (point == NULL)
  47755. err = MEMORY_E;
  47756. if (err == MP_OKAY) {
  47757. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6, heap,
  47758. DYNAMIC_TYPE_ECC);
  47759. if (k == NULL)
  47760. err = MEMORY_E;
  47761. }
  47762. #endif
  47763. if (err == MP_OKAY) {
  47764. sp_384_from_mp(k, 6, km);
  47765. #ifdef HAVE_INTEL_AVX2
  47766. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  47767. err = sp_384_ecc_mulmod_base_avx2_6(point, k, map, 1, heap);
  47768. else
  47769. #endif
  47770. err = sp_384_ecc_mulmod_base_6(point, k, map, 1, heap);
  47771. }
  47772. if (err == MP_OKAY) {
  47773. err = sp_384_point_to_ecc_point_6(point, r);
  47774. }
  47775. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47776. if (k != NULL)
  47777. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  47778. if (point != NULL)
  47779. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  47780. #endif
  47781. return err;
  47782. }
  47783. /* Multiply the base point of P384 by the scalar, add point a and return
  47784. * the result. If map is true then convert result to affine coordinates.
  47785. *
  47786. * km Scalar to multiply by.
  47787. * am Point to add to scalar mulitply result.
  47788. * inMont Point to add is in montgomery form.
  47789. * r Resulting point.
  47790. * map Indicates whether to convert result to affine.
  47791. * heap Heap to use for allocation.
  47792. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  47793. */
  47794. int sp_ecc_mulmod_base_add_384(const mp_int* km, const ecc_point* am,
  47795. int inMont, ecc_point* r, int map, void* heap)
  47796. {
  47797. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47798. sp_point_384* point = NULL;
  47799. sp_digit* k = NULL;
  47800. #else
  47801. sp_point_384 point[2];
  47802. sp_digit k[6 + 6 * 2 * 6];
  47803. #endif
  47804. sp_point_384* addP = NULL;
  47805. sp_digit* tmp = NULL;
  47806. int err = MP_OKAY;
  47807. #ifdef HAVE_INTEL_AVX2
  47808. word32 cpuid_flags = cpuid_get_flags();
  47809. #endif
  47810. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47811. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  47812. DYNAMIC_TYPE_ECC);
  47813. if (point == NULL)
  47814. err = MEMORY_E;
  47815. if (err == MP_OKAY) {
  47816. k = (sp_digit*)XMALLOC(
  47817. sizeof(sp_digit) * (6 + 6 * 2 * 6),
  47818. heap, DYNAMIC_TYPE_ECC);
  47819. if (k == NULL)
  47820. err = MEMORY_E;
  47821. }
  47822. #endif
  47823. if (err == MP_OKAY) {
  47824. addP = point + 1;
  47825. tmp = k + 6;
  47826. sp_384_from_mp(k, 6, km);
  47827. sp_384_point_from_ecc_point_6(addP, am);
  47828. }
  47829. if ((err == MP_OKAY) && (!inMont)) {
  47830. err = sp_384_mod_mul_norm_6(addP->x, addP->x, p384_mod);
  47831. }
  47832. if ((err == MP_OKAY) && (!inMont)) {
  47833. err = sp_384_mod_mul_norm_6(addP->y, addP->y, p384_mod);
  47834. }
  47835. if ((err == MP_OKAY) && (!inMont)) {
  47836. err = sp_384_mod_mul_norm_6(addP->z, addP->z, p384_mod);
  47837. }
  47838. if (err == MP_OKAY) {
  47839. #ifdef HAVE_INTEL_AVX2
  47840. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  47841. err = sp_384_ecc_mulmod_base_avx2_6(point, k, 0, 0, heap);
  47842. else
  47843. #endif
  47844. err = sp_384_ecc_mulmod_base_6(point, k, 0, 0, heap);
  47845. }
  47846. if (err == MP_OKAY) {
  47847. #ifdef HAVE_INTEL_AVX2
  47848. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  47849. sp_384_proj_point_add_avx2_6(point, point, addP, tmp);
  47850. else
  47851. #endif
  47852. sp_384_proj_point_add_6(point, point, addP, tmp);
  47853. if (map) {
  47854. #ifdef HAVE_INTEL_AVX2
  47855. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  47856. sp_384_map_avx2_6(point, point, tmp);
  47857. else
  47858. #endif
  47859. sp_384_map_6(point, point, tmp);
  47860. }
  47861. err = sp_384_point_to_ecc_point_6(point, r);
  47862. }
  47863. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47864. if (k != NULL)
  47865. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  47866. if (point)
  47867. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  47868. #endif
  47869. return err;
  47870. }
  47871. #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \
  47872. defined(HAVE_ECC_VERIFY)
  47873. #endif /* WOLFSSL_VALIDATE_ECC_KEYGEN | HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
  47874. #ifdef __cplusplus
  47875. extern "C" {
  47876. #endif
  47877. extern void sp_384_add_one_6(sp_digit* a);
  47878. #ifdef __cplusplus
  47879. }
  47880. #endif
  47881. #ifdef __cplusplus
  47882. extern "C" {
  47883. #endif
  47884. extern void sp_384_from_bin_bswap(sp_digit* r, int size, const byte* a, int n);
  47885. #ifdef __cplusplus
  47886. }
  47887. #endif
  47888. #ifdef __cplusplus
  47889. extern "C" {
  47890. #endif
  47891. extern void sp_384_from_bin_movbe(sp_digit* r, int size, const byte* a, int n);
  47892. #ifdef __cplusplus
  47893. }
  47894. #endif
  47895. /* Read big endian unsigned byte array into r.
  47896. *
  47897. * r A single precision integer.
  47898. * size Maximum number of bytes to convert
  47899. * a Byte array.
  47900. * n Number of bytes in array to read.
  47901. */
  47902. static void sp_384_from_bin(sp_digit* r, int size, const byte* a, int n)
  47903. {
  47904. #ifndef NO_MOVBE_SUPPORT
  47905. word32 cpuid_flags = cpuid_get_flags();
  47906. if (IS_INTEL_MOVBE(cpuid_flags)) {
  47907. sp_384_from_bin_movbe(r, size, a, n);
  47908. }
  47909. else
  47910. #endif
  47911. {
  47912. sp_384_from_bin_bswap(r, size, a, n);
  47913. }
  47914. }
  47915. /* Generates a scalar that is in the range 1..order-1.
  47916. *
  47917. * rng Random number generator.
  47918. * k Scalar value.
  47919. * returns RNG failures, MEMORY_E when memory allocation fails and
  47920. * MP_OKAY on success.
  47921. */
  47922. static int sp_384_ecc_gen_k_6(WC_RNG* rng, sp_digit* k)
  47923. {
  47924. int err;
  47925. byte buf[48];
  47926. do {
  47927. err = wc_RNG_GenerateBlock(rng, buf, sizeof(buf));
  47928. if (err == 0) {
  47929. sp_384_from_bin(k, 6, buf, (int)sizeof(buf));
  47930. if (sp_384_cmp_6(k, p384_order2) <= 0) {
  47931. sp_384_add_one_6(k);
  47932. break;
  47933. }
  47934. }
  47935. }
  47936. while (err == 0);
  47937. return err;
  47938. }
  47939. /* Makes a random EC key pair.
  47940. *
  47941. * rng Random number generator.
  47942. * priv Generated private value.
  47943. * pub Generated public point.
  47944. * heap Heap to use for allocation.
  47945. * returns ECC_INF_E when the point does not have the correct order, RNG
  47946. * failures, MEMORY_E when memory allocation fails and MP_OKAY on success.
  47947. */
  47948. int sp_ecc_make_key_384(WC_RNG* rng, mp_int* priv, ecc_point* pub, void* heap)
  47949. {
  47950. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47951. sp_point_384* point = NULL;
  47952. sp_digit* k = NULL;
  47953. #else
  47954. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  47955. sp_point_384 point[2];
  47956. #else
  47957. sp_point_384 point[1];
  47958. #endif
  47959. sp_digit k[6];
  47960. #endif
  47961. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  47962. sp_point_384* infinity = NULL;
  47963. #endif
  47964. int err = MP_OKAY;
  47965. #ifdef HAVE_INTEL_AVX2
  47966. word32 cpuid_flags = cpuid_get_flags();
  47967. #endif
  47968. (void)heap;
  47969. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  47970. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  47971. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap, DYNAMIC_TYPE_ECC);
  47972. #else
  47973. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384), heap, DYNAMIC_TYPE_ECC);
  47974. #endif
  47975. if (point == NULL)
  47976. err = MEMORY_E;
  47977. if (err == MP_OKAY) {
  47978. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6, heap,
  47979. DYNAMIC_TYPE_ECC);
  47980. if (k == NULL)
  47981. err = MEMORY_E;
  47982. }
  47983. #endif
  47984. if (err == MP_OKAY) {
  47985. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  47986. infinity = point + 1;
  47987. #endif
  47988. err = sp_384_ecc_gen_k_6(rng, k);
  47989. }
  47990. if (err == MP_OKAY) {
  47991. #ifdef HAVE_INTEL_AVX2
  47992. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  47993. err = sp_384_ecc_mulmod_base_avx2_6(point, k, 1, 1, NULL);
  47994. else
  47995. #endif
  47996. err = sp_384_ecc_mulmod_base_6(point, k, 1, 1, NULL);
  47997. }
  47998. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  47999. if (err == MP_OKAY) {
  48000. #ifdef HAVE_INTEL_AVX2
  48001. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  48002. err = sp_384_ecc_mulmod_avx2_6(infinity, point, p384_order, 1, 1,
  48003. NULL);
  48004. }
  48005. else
  48006. #endif
  48007. err = sp_384_ecc_mulmod_6(infinity, point, p384_order, 1, 1, NULL);
  48008. }
  48009. if (err == MP_OKAY) {
  48010. if (sp_384_iszero_6(point->x) || sp_384_iszero_6(point->y)) {
  48011. err = ECC_INF_E;
  48012. }
  48013. }
  48014. #endif
  48015. if (err == MP_OKAY) {
  48016. err = sp_384_to_mp(k, priv);
  48017. }
  48018. if (err == MP_OKAY) {
  48019. err = sp_384_point_to_ecc_point_6(point, pub);
  48020. }
  48021. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  48022. if (k != NULL)
  48023. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  48024. if (point != NULL) {
  48025. /* point is not sensitive, so no need to zeroize */
  48026. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  48027. }
  48028. #endif
  48029. return err;
  48030. }
  48031. #ifdef HAVE_ECC_DHE
  48032. #ifdef __cplusplus
  48033. extern "C" {
  48034. #endif
  48035. extern void sp_384_to_bin_bswap_6(sp_digit* r, byte* a);
  48036. #ifdef __cplusplus
  48037. }
  48038. #endif
  48039. #ifdef __cplusplus
  48040. extern "C" {
  48041. #endif
  48042. extern void sp_384_to_bin_movbe_6(sp_digit* r, byte* a);
  48043. #ifdef __cplusplus
  48044. }
  48045. #endif
  48046. /* Write r as big endian to byte array.
  48047. * Fixed length number of bytes written: 48
  48048. *
  48049. * r A single precision integer.
  48050. * a Byte array.
  48051. */
  48052. static void sp_384_to_bin_6(sp_digit* r, byte* a)
  48053. {
  48054. #ifndef NO_MOVBE_SUPPORT
  48055. word32 cpuid_flags = cpuid_get_flags();
  48056. if (IS_INTEL_MOVBE(cpuid_flags)) {
  48057. sp_384_to_bin_movbe_6(r, a);
  48058. }
  48059. else
  48060. #endif
  48061. {
  48062. sp_384_to_bin_bswap_6(r, a);
  48063. }
  48064. }
  48065. /* Multiply the point by the scalar and serialize the X ordinate.
  48066. * The number is 0 padded to maximum size on output.
  48067. *
  48068. * priv Scalar to multiply the point by.
  48069. * pub Point to multiply.
  48070. * out Buffer to hold X ordinate.
  48071. * outLen On entry, size of the buffer in bytes.
  48072. * On exit, length of data in buffer in bytes.
  48073. * heap Heap to use for allocation.
  48074. * returns BUFFER_E if the buffer is to small for output size,
  48075. * MEMORY_E when memory allocation fails and MP_OKAY on success.
  48076. */
  48077. int sp_ecc_secret_gen_384(const mp_int* priv, const ecc_point* pub, byte* out,
  48078. word32* outLen, void* heap)
  48079. {
  48080. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  48081. sp_point_384* point = NULL;
  48082. sp_digit* k = NULL;
  48083. #else
  48084. sp_point_384 point[1];
  48085. sp_digit k[6];
  48086. #endif
  48087. int err = MP_OKAY;
  48088. #ifdef HAVE_INTEL_AVX2
  48089. word32 cpuid_flags = cpuid_get_flags();
  48090. #endif
  48091. if (*outLen < 48U) {
  48092. err = BUFFER_E;
  48093. }
  48094. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  48095. if (err == MP_OKAY) {
  48096. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384), heap,
  48097. DYNAMIC_TYPE_ECC);
  48098. if (point == NULL)
  48099. err = MEMORY_E;
  48100. }
  48101. if (err == MP_OKAY) {
  48102. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6, heap,
  48103. DYNAMIC_TYPE_ECC);
  48104. if (k == NULL)
  48105. err = MEMORY_E;
  48106. }
  48107. #endif
  48108. if (err == MP_OKAY) {
  48109. sp_384_from_mp(k, 6, priv);
  48110. sp_384_point_from_ecc_point_6(point, pub);
  48111. #ifdef HAVE_INTEL_AVX2
  48112. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  48113. err = sp_384_ecc_mulmod_avx2_6(point, point, k, 1, 1, heap);
  48114. else
  48115. #endif
  48116. err = sp_384_ecc_mulmod_6(point, point, k, 1, 1, heap);
  48117. }
  48118. if (err == MP_OKAY) {
  48119. sp_384_to_bin_6(point->x, out);
  48120. *outLen = 48;
  48121. }
  48122. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  48123. if (k != NULL)
  48124. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  48125. if (point != NULL)
  48126. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  48127. #endif
  48128. return err;
  48129. }
  48130. #endif /* HAVE_ECC_DHE */
  48131. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  48132. #endif
  48133. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  48134. #ifdef __cplusplus
  48135. extern "C" {
  48136. #endif
  48137. extern sp_digit sp_384_sub_in_place_6(sp_digit* a, const sp_digit* b);
  48138. #ifdef __cplusplus
  48139. }
  48140. #endif
  48141. #ifdef __cplusplus
  48142. extern "C" {
  48143. #endif
  48144. extern void sp_384_mul_d_6(sp_digit* r, const sp_digit* a, sp_digit b);
  48145. #ifdef __cplusplus
  48146. }
  48147. #endif
  48148. #ifdef __cplusplus
  48149. extern "C" {
  48150. #endif
  48151. extern void sp_384_mul_d_avx2_6(sp_digit* r, const sp_digit* a, const sp_digit b);
  48152. #ifdef __cplusplus
  48153. }
  48154. #endif
  48155. #if defined(_WIN64) && !defined(__clang__)
  48156. #if _MSC_VER < 1920
  48157. #ifdef __cplusplus
  48158. extern "C" {
  48159. #endif
  48160. extern sp_digit div_384_word_asm_6(sp_digit d1, sp_digit d0, sp_digit div);
  48161. #ifdef __cplusplus
  48162. }
  48163. #endif
  48164. #endif /* _MSC_VER < 1920 */
  48165. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  48166. *
  48167. * d1 The high order half of the number to divide.
  48168. * d0 The low order half of the number to divide.
  48169. * div The dividend.
  48170. * returns the result of the division.
  48171. */
  48172. static WC_INLINE sp_digit div_384_word_6(sp_digit d1, sp_digit d0,
  48173. sp_digit div)
  48174. {
  48175. ASSERT_SAVED_VECTOR_REGISTERS();
  48176. #if _MSC_VER >= 1920
  48177. return _udiv128(d1, d0, div, NULL);
  48178. #else
  48179. return div_384_word_asm_6(d1, d0, div);
  48180. #endif
  48181. }
  48182. #else
  48183. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  48184. *
  48185. * d1 The high order half of the number to divide.
  48186. * d0 The low order half of the number to divide.
  48187. * div The dividend.
  48188. * returns the result of the division.
  48189. */
  48190. static WC_INLINE sp_digit div_384_word_6(sp_digit d1, sp_digit d0,
  48191. sp_digit div)
  48192. {
  48193. ASSERT_SAVED_VECTOR_REGISTERS();
  48194. register sp_digit r asm("rax");
  48195. __asm__ __volatile__ (
  48196. "divq %3"
  48197. : "=a" (r)
  48198. : "d" (d1), "a" (d0), "r" (div)
  48199. :
  48200. );
  48201. return r;
  48202. }
  48203. #endif /* _WIN64 && !__clang__ */
  48204. /* AND m into each word of a and store in r.
  48205. *
  48206. * r A single precision integer.
  48207. * a A single precision integer.
  48208. * m Mask to AND against each digit.
  48209. */
  48210. static void sp_384_mask_6(sp_digit* r, const sp_digit* a, sp_digit m)
  48211. {
  48212. #ifdef WOLFSSL_SP_SMALL
  48213. int i;
  48214. for (i=0; i<6; i++) {
  48215. r[i] = a[i] & m;
  48216. }
  48217. #else
  48218. r[0] = a[0] & m;
  48219. r[1] = a[1] & m;
  48220. r[2] = a[2] & m;
  48221. r[3] = a[3] & m;
  48222. r[4] = a[4] & m;
  48223. r[5] = a[5] & m;
  48224. #endif
  48225. }
  48226. /* Divide d in a and put remainder into r (m*d + r = a)
  48227. * m is not calculated as it is not needed at this time.
  48228. *
  48229. * a Number to be divided.
  48230. * d Number to divide with.
  48231. * m Multiplier result.
  48232. * r Remainder from the division.
  48233. * returns MP_OKAY indicating success.
  48234. */
  48235. static WC_INLINE int sp_384_div_6(const sp_digit* a, const sp_digit* d, sp_digit* m,
  48236. sp_digit* r)
  48237. {
  48238. sp_digit t1[12];
  48239. sp_digit t2[7];
  48240. sp_digit div;
  48241. sp_digit r1;
  48242. int i;
  48243. #ifdef HAVE_INTEL_AVX2
  48244. word32 cpuid_flags = cpuid_get_flags();
  48245. #endif
  48246. ASSERT_SAVED_VECTOR_REGISTERS();
  48247. (void)m;
  48248. div = d[5];
  48249. XMEMCPY(t1, a, sizeof(*t1) * 2 * 6);
  48250. r1 = sp_384_cmp_6(&t1[6], d) >= 0;
  48251. #ifdef HAVE_INTEL_AVX2
  48252. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  48253. sp_384_cond_sub_avx2_6(&t1[6], &t1[6], d, (sp_digit)0 - r1);
  48254. else
  48255. #endif
  48256. sp_384_cond_sub_6(&t1[6], &t1[6], d, (sp_digit)0 - r1);
  48257. for (i = 5; i >= 0; i--) {
  48258. sp_digit mask = 0 - (t1[6 + i] == div);
  48259. sp_digit hi = t1[6 + i] + mask;
  48260. r1 = div_384_word_6(hi, t1[6 + i - 1], div);
  48261. r1 |= mask;
  48262. #ifdef HAVE_INTEL_AVX2
  48263. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  48264. sp_384_mul_d_avx2_6(t2, d, r1);
  48265. else
  48266. #endif
  48267. sp_384_mul_d_6(t2, d, r1);
  48268. t1[6 + i] += sp_384_sub_in_place_6(&t1[i], t2);
  48269. t1[6 + i] -= t2[6];
  48270. sp_384_mask_6(t2, d, t1[6 + i]);
  48271. t1[6 + i] += sp_384_add_6(&t1[i], &t1[i], t2);
  48272. sp_384_mask_6(t2, d, t1[6 + i]);
  48273. t1[6 + i] += sp_384_add_6(&t1[i], &t1[i], t2);
  48274. }
  48275. r1 = sp_384_cmp_6(t1, d) >= 0;
  48276. #ifdef HAVE_INTEL_AVX2
  48277. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  48278. sp_384_cond_sub_avx2_6(r, t1, d, (sp_digit)0 - r1);
  48279. else
  48280. #endif
  48281. sp_384_cond_sub_6(r, t1, d, (sp_digit)0 - r1);
  48282. return MP_OKAY;
  48283. }
  48284. /* Reduce a modulo m into r. (r = a mod m)
  48285. *
  48286. * r A single precision number that is the reduced result.
  48287. * a A single precision number that is to be reduced.
  48288. * m A single precision number that is the modulus to reduce with.
  48289. * returns MP_OKAY indicating success.
  48290. */
  48291. static WC_INLINE int sp_384_mod_6(sp_digit* r, const sp_digit* a,
  48292. const sp_digit* m)
  48293. {
  48294. ASSERT_SAVED_VECTOR_REGISTERS();
  48295. return sp_384_div_6(a, m, NULL, r);
  48296. }
  48297. #endif
  48298. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  48299. /* Multiply two number mod the order of P384 curve. (r = a * b mod order)
  48300. *
  48301. * r Result of the multiplication.
  48302. * a First operand of the multiplication.
  48303. * b Second operand of the multiplication.
  48304. */
  48305. static void sp_384_mont_mul_order_6(sp_digit* r, const sp_digit* a, const sp_digit* b)
  48306. {
  48307. sp_384_mul_6(r, a, b);
  48308. sp_384_mont_reduce_order_6(r, p384_order, p384_mp_order);
  48309. }
  48310. #if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
  48311. #ifdef WOLFSSL_SP_SMALL
  48312. /* Order-2 for the P384 curve. */
  48313. static const uint64_t p384_order_minus_2[6] = {
  48314. 0xecec196accc52971U,0x581a0db248b0a77aU,0xc7634d81f4372ddfU,
  48315. 0xffffffffffffffffU,0xffffffffffffffffU,0xffffffffffffffffU
  48316. };
  48317. #else
  48318. /* The low half of the order-2 of the P384 curve. */
  48319. static const uint64_t p384_order_low[3] = {
  48320. 0xecec196accc52971U,0x581a0db248b0a77aU,0xc7634d81f4372ddfU
  48321. };
  48322. #endif /* WOLFSSL_SP_SMALL */
  48323. /* Square number mod the order of P384 curve. (r = a * a mod order)
  48324. *
  48325. * r Result of the squaring.
  48326. * a Number to square.
  48327. */
  48328. static void sp_384_mont_sqr_order_6(sp_digit* r, const sp_digit* a)
  48329. {
  48330. sp_384_sqr_6(r, a);
  48331. sp_384_mont_reduce_order_6(r, p384_order, p384_mp_order);
  48332. }
  48333. #ifndef WOLFSSL_SP_SMALL
  48334. /* Square number mod the order of P384 curve a number of times.
  48335. * (r = a ^ n mod order)
  48336. *
  48337. * r Result of the squaring.
  48338. * a Number to square.
  48339. */
  48340. static void sp_384_mont_sqr_n_order_6(sp_digit* r, const sp_digit* a, int n)
  48341. {
  48342. int i;
  48343. sp_384_mont_sqr_order_6(r, a);
  48344. for (i=1; i<n; i++) {
  48345. sp_384_mont_sqr_order_6(r, r);
  48346. }
  48347. }
  48348. #endif /* !WOLFSSL_SP_SMALL */
  48349. /* Invert the number, in Montgomery form, modulo the order of the P384 curve.
  48350. * (r = 1 / a mod order)
  48351. *
  48352. * r Inverse result.
  48353. * a Number to invert.
  48354. * td Temporary data.
  48355. */
  48356. #ifdef WOLFSSL_SP_NONBLOCK
  48357. typedef struct sp_384_mont_inv_order_6_ctx {
  48358. int state;
  48359. int i;
  48360. } sp_384_mont_inv_order_6_ctx;
  48361. static int sp_384_mont_inv_order_6_nb(sp_ecc_ctx_t* sp_ctx, sp_digit* r, const sp_digit* a,
  48362. sp_digit* t)
  48363. {
  48364. int err = FP_WOULDBLOCK;
  48365. sp_384_mont_inv_order_6_ctx* ctx = (sp_384_mont_inv_order_6_ctx*)sp_ctx;
  48366. typedef char ctx_size_test[sizeof(sp_384_mont_inv_order_6_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  48367. (void)sizeof(ctx_size_test);
  48368. switch (ctx->state) {
  48369. case 0:
  48370. XMEMCPY(t, a, sizeof(sp_digit) * 6);
  48371. ctx->i = 382;
  48372. ctx->state = 1;
  48373. break;
  48374. case 1:
  48375. sp_384_mont_sqr_order_6(t, t);
  48376. ctx->state = 2;
  48377. break;
  48378. case 2:
  48379. if ((p384_order_minus_2[ctx->i / 64] & ((sp_int_digit)1 << (ctx->i % 64))) != 0) {
  48380. sp_384_mont_mul_order_6(t, t, a);
  48381. }
  48382. ctx->i--;
  48383. ctx->state = (ctx->i == 0) ? 3 : 1;
  48384. break;
  48385. case 3:
  48386. XMEMCPY(r, t, sizeof(sp_digit) * 6U);
  48387. err = MP_OKAY;
  48388. break;
  48389. }
  48390. return err;
  48391. }
  48392. #endif /* WOLFSSL_SP_NONBLOCK */
  48393. static void sp_384_mont_inv_order_6(sp_digit* r, const sp_digit* a,
  48394. sp_digit* td)
  48395. {
  48396. #ifdef WOLFSSL_SP_SMALL
  48397. sp_digit* t = td;
  48398. int i;
  48399. XMEMCPY(t, a, sizeof(sp_digit) * 6);
  48400. for (i=382; i>=0; i--) {
  48401. sp_384_mont_sqr_order_6(t, t);
  48402. if ((p384_order_minus_2[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  48403. sp_384_mont_mul_order_6(t, t, a);
  48404. }
  48405. }
  48406. XMEMCPY(r, t, sizeof(sp_digit) * 6U);
  48407. #else
  48408. sp_digit* t = td;
  48409. sp_digit* t2 = td + 2 * 6;
  48410. sp_digit* t3 = td + 4 * 6;
  48411. int i;
  48412. /* t = a^2 */
  48413. sp_384_mont_sqr_order_6(t, a);
  48414. /* t = a^3 = t * a */
  48415. sp_384_mont_mul_order_6(t, t, a);
  48416. /* t2= a^c = t ^ 2 ^ 2 */
  48417. sp_384_mont_sqr_n_order_6(t2, t, 2);
  48418. /* t = a^f = t2 * t */
  48419. sp_384_mont_mul_order_6(t, t2, t);
  48420. /* t2= a^f0 = t ^ 2 ^ 4 */
  48421. sp_384_mont_sqr_n_order_6(t2, t, 4);
  48422. /* t = a^ff = t2 * t */
  48423. sp_384_mont_mul_order_6(t, t2, t);
  48424. /* t2= a^ff00 = t ^ 2 ^ 8 */
  48425. sp_384_mont_sqr_n_order_6(t2, t, 8);
  48426. /* t3= a^ffff = t2 * t */
  48427. sp_384_mont_mul_order_6(t3, t2, t);
  48428. /* t2= a^ffff0000 = t3 ^ 2 ^ 16 */
  48429. sp_384_mont_sqr_n_order_6(t2, t3, 16);
  48430. /* t = a^ffffffff = t2 * t3 */
  48431. sp_384_mont_mul_order_6(t, t2, t3);
  48432. /* t2= a^ffffffff0000 = t ^ 2 ^ 16 */
  48433. sp_384_mont_sqr_n_order_6(t2, t, 16);
  48434. /* t = a^ffffffffffff = t2 * t3 */
  48435. sp_384_mont_mul_order_6(t, t2, t3);
  48436. /* t2= a^ffffffffffff000000000000 = t ^ 2 ^ 48 */
  48437. sp_384_mont_sqr_n_order_6(t2, t, 48);
  48438. /* t= a^fffffffffffffffffffffffff = t2 * t */
  48439. sp_384_mont_mul_order_6(t, t2, t);
  48440. /* t2= a^ffffffffffffffffffffffff000000000000000000000000 */
  48441. sp_384_mont_sqr_n_order_6(t2, t, 96);
  48442. /* t2= a^ffffffffffffffffffffffffffffffffffffffffffffffff = t2 * t */
  48443. sp_384_mont_mul_order_6(t2, t2, t);
  48444. for (i=191; i>=1; i--) {
  48445. sp_384_mont_sqr_order_6(t2, t2);
  48446. if ((p384_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  48447. sp_384_mont_mul_order_6(t2, t2, a);
  48448. }
  48449. }
  48450. sp_384_mont_sqr_order_6(t2, t2);
  48451. sp_384_mont_mul_order_6(r, t2, a);
  48452. #endif /* WOLFSSL_SP_SMALL */
  48453. }
  48454. #endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
  48455. #ifdef HAVE_INTEL_AVX2
  48456. /* Multiply two number mod the order of P384 curve. (r = a * b mod order)
  48457. *
  48458. * r Result of the multiplication.
  48459. * a First operand of the multiplication.
  48460. * b Second operand of the multiplication.
  48461. */
  48462. static void sp_384_mont_mul_order_avx2_6(sp_digit* r, const sp_digit* a, const sp_digit* b)
  48463. {
  48464. sp_384_mul_avx2_6(r, a, b);
  48465. sp_384_mont_reduce_order_avx2_6(r, p384_order, p384_mp_order);
  48466. }
  48467. #if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
  48468. /* Square number mod the order of P384 curve. (r = a * a mod order)
  48469. *
  48470. * r Result of the squaring.
  48471. * a Number to square.
  48472. */
  48473. static void sp_384_mont_sqr_order_avx2_6(sp_digit* r, const sp_digit* a)
  48474. {
  48475. sp_384_sqr_avx2_6(r, a);
  48476. sp_384_mont_reduce_order_avx2_6(r, p384_order, p384_mp_order);
  48477. }
  48478. #ifndef WOLFSSL_SP_SMALL
  48479. /* Square number mod the order of P384 curve a number of times.
  48480. * (r = a ^ n mod order)
  48481. *
  48482. * r Result of the squaring.
  48483. * a Number to square.
  48484. */
  48485. static void sp_384_mont_sqr_n_order_avx2_6(sp_digit* r, const sp_digit* a, int n)
  48486. {
  48487. int i;
  48488. sp_384_mont_sqr_order_avx2_6(r, a);
  48489. for (i=1; i<n; i++) {
  48490. sp_384_mont_sqr_order_avx2_6(r, r);
  48491. }
  48492. }
  48493. #endif /* !WOLFSSL_SP_SMALL */
  48494. /* Invert the number, in Montgomery form, modulo the order of the P384 curve.
  48495. * (r = 1 / a mod order)
  48496. *
  48497. * r Inverse result.
  48498. * a Number to invert.
  48499. * td Temporary data.
  48500. */
  48501. #ifdef WOLFSSL_SP_NONBLOCK
  48502. typedef struct sp_384_mont_inv_order_avx2_6_ctx {
  48503. int state;
  48504. int i;
  48505. } sp_384_mont_inv_order_avx2_6_ctx;
  48506. static int sp_384_mont_inv_order_avx2_6_nb(sp_ecc_ctx_t* sp_ctx, sp_digit* r, const sp_digit* a,
  48507. sp_digit* t)
  48508. {
  48509. int err = FP_WOULDBLOCK;
  48510. sp_384_mont_inv_order_avx2_6_ctx* ctx = (sp_384_mont_inv_order_avx2_6_ctx*)sp_ctx;
  48511. typedef char ctx_size_test[sizeof(sp_384_mont_inv_order_avx2_6_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  48512. (void)sizeof(ctx_size_test);
  48513. switch (ctx->state) {
  48514. case 0:
  48515. XMEMCPY(t, a, sizeof(sp_digit) * 6);
  48516. ctx->i = 382;
  48517. ctx->state = 1;
  48518. break;
  48519. case 1:
  48520. sp_384_mont_sqr_order_avx2_6(t, t);
  48521. ctx->state = 2;
  48522. break;
  48523. case 2:
  48524. if ((p384_order_minus_2[ctx->i / 64] & ((sp_int_digit)1 << (ctx->i % 64))) != 0) {
  48525. sp_384_mont_mul_order_avx2_6(t, t, a);
  48526. }
  48527. ctx->i--;
  48528. ctx->state = (ctx->i == 0) ? 3 : 1;
  48529. break;
  48530. case 3:
  48531. XMEMCPY(r, t, sizeof(sp_digit) * 6U);
  48532. err = MP_OKAY;
  48533. break;
  48534. }
  48535. return err;
  48536. }
  48537. #endif /* WOLFSSL_SP_NONBLOCK */
  48538. static void sp_384_mont_inv_order_avx2_6(sp_digit* r, const sp_digit* a,
  48539. sp_digit* td)
  48540. {
  48541. #ifdef WOLFSSL_SP_SMALL
  48542. sp_digit* t = td;
  48543. int i;
  48544. XMEMCPY(t, a, sizeof(sp_digit) * 6);
  48545. for (i=382; i>=0; i--) {
  48546. sp_384_mont_sqr_order_avx2_6(t, t);
  48547. if ((p384_order_minus_2[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  48548. sp_384_mont_mul_order_avx2_6(t, t, a);
  48549. }
  48550. }
  48551. XMEMCPY(r, t, sizeof(sp_digit) * 6U);
  48552. #else
  48553. sp_digit* t = td;
  48554. sp_digit* t2 = td + 2 * 6;
  48555. sp_digit* t3 = td + 4 * 6;
  48556. int i;
  48557. /* t = a^2 */
  48558. sp_384_mont_sqr_order_avx2_6(t, a);
  48559. /* t = a^3 = t * a */
  48560. sp_384_mont_mul_order_avx2_6(t, t, a);
  48561. /* t2= a^c = t ^ 2 ^ 2 */
  48562. sp_384_mont_sqr_n_order_avx2_6(t2, t, 2);
  48563. /* t = a^f = t2 * t */
  48564. sp_384_mont_mul_order_avx2_6(t, t2, t);
  48565. /* t2= a^f0 = t ^ 2 ^ 4 */
  48566. sp_384_mont_sqr_n_order_avx2_6(t2, t, 4);
  48567. /* t = a^ff = t2 * t */
  48568. sp_384_mont_mul_order_avx2_6(t, t2, t);
  48569. /* t2= a^ff00 = t ^ 2 ^ 8 */
  48570. sp_384_mont_sqr_n_order_avx2_6(t2, t, 8);
  48571. /* t3= a^ffff = t2 * t */
  48572. sp_384_mont_mul_order_avx2_6(t3, t2, t);
  48573. /* t2= a^ffff0000 = t3 ^ 2 ^ 16 */
  48574. sp_384_mont_sqr_n_order_avx2_6(t2, t3, 16);
  48575. /* t = a^ffffffff = t2 * t3 */
  48576. sp_384_mont_mul_order_avx2_6(t, t2, t3);
  48577. /* t2= a^ffffffff0000 = t ^ 2 ^ 16 */
  48578. sp_384_mont_sqr_n_order_avx2_6(t2, t, 16);
  48579. /* t = a^ffffffffffff = t2 * t3 */
  48580. sp_384_mont_mul_order_avx2_6(t, t2, t3);
  48581. /* t2= a^ffffffffffff000000000000 = t ^ 2 ^ 48 */
  48582. sp_384_mont_sqr_n_order_avx2_6(t2, t, 48);
  48583. /* t= a^fffffffffffffffffffffffff = t2 * t */
  48584. sp_384_mont_mul_order_avx2_6(t, t2, t);
  48585. /* t2= a^ffffffffffffffffffffffff000000000000000000000000 */
  48586. sp_384_mont_sqr_n_order_avx2_6(t2, t, 96);
  48587. /* t2= a^ffffffffffffffffffffffffffffffffffffffffffffffff = t2 * t */
  48588. sp_384_mont_mul_order_avx2_6(t2, t2, t);
  48589. for (i=191; i>=1; i--) {
  48590. sp_384_mont_sqr_order_avx2_6(t2, t2);
  48591. if ((p384_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  48592. sp_384_mont_mul_order_avx2_6(t2, t2, a);
  48593. }
  48594. }
  48595. sp_384_mont_sqr_order_avx2_6(t2, t2);
  48596. sp_384_mont_mul_order_avx2_6(r, t2, a);
  48597. #endif /* WOLFSSL_SP_SMALL */
  48598. }
  48599. #endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
  48600. #endif /* HAVE_INTEL_AVX2 */
  48601. #endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
  48602. #ifdef HAVE_ECC_SIGN
  48603. #ifndef SP_ECC_MAX_SIG_GEN
  48604. #define SP_ECC_MAX_SIG_GEN 64
  48605. #endif
  48606. /* Calculate second signature value S from R, k and private value.
  48607. *
  48608. * s = (r * x + e) / k
  48609. *
  48610. * s Signature value.
  48611. * r First signature value.
  48612. * k Ephemeral private key.
  48613. * x Private key as a number.
  48614. * e Hash of message as a number.
  48615. * tmp Temporary storage for intermediate numbers.
  48616. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  48617. */
  48618. static int sp_384_calc_s_6(sp_digit* s, const sp_digit* r, sp_digit* k,
  48619. sp_digit* x, const sp_digit* e, sp_digit* tmp)
  48620. {
  48621. int err;
  48622. sp_digit carry;
  48623. sp_int64 c;
  48624. sp_digit* kInv = k;
  48625. #ifdef HAVE_INTEL_AVX2
  48626. word32 cpuid_flags = cpuid_get_flags();
  48627. #endif
  48628. /* Conv k to Montgomery form (mod order) */
  48629. #ifdef HAVE_INTEL_AVX2
  48630. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  48631. sp_384_mul_avx2_6(k, k, p384_norm_order);
  48632. else
  48633. #endif
  48634. sp_384_mul_6(k, k, p384_norm_order);
  48635. err = sp_384_mod_6(k, k, p384_order);
  48636. if (err == MP_OKAY) {
  48637. sp_384_norm_6(k);
  48638. /* kInv = 1/k mod order */
  48639. #ifdef HAVE_INTEL_AVX2
  48640. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  48641. sp_384_mont_inv_order_avx2_6(kInv, k, tmp);
  48642. else
  48643. #endif
  48644. sp_384_mont_inv_order_6(kInv, k, tmp);
  48645. sp_384_norm_6(kInv);
  48646. /* s = r * x + e */
  48647. #ifdef HAVE_INTEL_AVX2
  48648. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  48649. sp_384_mul_avx2_6(x, x, r);
  48650. else
  48651. #endif
  48652. sp_384_mul_6(x, x, r);
  48653. err = sp_384_mod_6(x, x, p384_order);
  48654. }
  48655. if (err == MP_OKAY) {
  48656. sp_384_norm_6(x);
  48657. carry = sp_384_add_6(s, e, x);
  48658. sp_384_cond_sub_6(s, s, p384_order, 0 - carry);
  48659. sp_384_norm_6(s);
  48660. c = sp_384_cmp_6(s, p384_order);
  48661. sp_384_cond_sub_6(s, s, p384_order,
  48662. (sp_digit)0 - (sp_digit)(c >= 0));
  48663. sp_384_norm_6(s);
  48664. /* s = s * k^-1 mod order */
  48665. #ifdef HAVE_INTEL_AVX2
  48666. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  48667. sp_384_mont_mul_order_avx2_6(s, s, kInv);
  48668. else
  48669. #endif
  48670. sp_384_mont_mul_order_6(s, s, kInv);
  48671. sp_384_norm_6(s);
  48672. }
  48673. return err;
  48674. }
  48675. /* Sign the hash using the private key.
  48676. * e = [hash, 384 bits] from binary
  48677. * r = (k.G)->x mod order
  48678. * s = (r * x + e) / k mod order
  48679. * The hash is truncated to the first 384 bits.
  48680. *
  48681. * hash Hash to sign.
  48682. * hashLen Length of the hash data.
  48683. * rng Random number generator.
  48684. * priv Private part of key - scalar.
  48685. * rm First part of result as an mp_int.
  48686. * sm Sirst part of result as an mp_int.
  48687. * heap Heap to use for allocation.
  48688. * returns RNG failures, MEMORY_E when memory allocation fails and
  48689. * MP_OKAY on success.
  48690. */
  48691. #ifdef WOLFSSL_SP_NONBLOCK
  48692. typedef struct sp_ecc_sign_384_ctx {
  48693. int state;
  48694. union {
  48695. sp_384_ecc_mulmod_6_ctx mulmod_ctx;
  48696. sp_384_mont_inv_order_6_ctx mont_inv_order_ctx;
  48697. };
  48698. sp_digit e[2*6];
  48699. sp_digit x[2*6];
  48700. sp_digit k[2*6];
  48701. sp_digit r[2*6];
  48702. sp_digit tmp[3 * 2*6];
  48703. sp_point_384 point;
  48704. sp_digit* s;
  48705. sp_digit* kInv;
  48706. int i;
  48707. } sp_ecc_sign_384_ctx;
  48708. int sp_ecc_sign_384_nb(sp_ecc_ctx_t* sp_ctx, const byte* hash, word32 hashLen, WC_RNG* rng,
  48709. mp_int* priv, mp_int* rm, mp_int* sm, mp_int* km, void* heap)
  48710. {
  48711. int err = FP_WOULDBLOCK;
  48712. sp_ecc_sign_384_ctx* ctx = (sp_ecc_sign_384_ctx*)sp_ctx->data;
  48713. typedef char ctx_size_test[sizeof(sp_ecc_sign_384_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  48714. (void)sizeof(ctx_size_test);
  48715. (void)heap;
  48716. switch (ctx->state) {
  48717. case 0: /* INIT */
  48718. ctx->s = ctx->e;
  48719. ctx->kInv = ctx->k;
  48720. ctx->i = SP_ECC_MAX_SIG_GEN;
  48721. ctx->state = 1;
  48722. break;
  48723. case 1: /* GEN */
  48724. /* New random point. */
  48725. if (km == NULL || mp_iszero(km)) {
  48726. err = sp_384_ecc_gen_k_6(rng, ctx->k);
  48727. }
  48728. else {
  48729. sp_384_from_mp(ctx->k, 6, km);
  48730. mp_zero(km);
  48731. }
  48732. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  48733. ctx->state = 2;
  48734. break;
  48735. case 2: /* MULMOD */
  48736. err = sp_384_ecc_mulmod_6_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx,
  48737. &ctx->point, &p384_base, ctx->k, 1, 1, heap);
  48738. if (err == MP_OKAY) {
  48739. ctx->state = 3;
  48740. }
  48741. break;
  48742. case 3: /* MODORDER */
  48743. {
  48744. sp_int64 c;
  48745. /* r = point->x mod order */
  48746. XMEMCPY(ctx->r, ctx->point.x, sizeof(sp_digit) * 6U);
  48747. sp_384_norm_6(ctx->r);
  48748. c = sp_384_cmp_6(ctx->r, p384_order);
  48749. sp_384_cond_sub_6(ctx->r, ctx->r, p384_order,
  48750. (sp_digit)0 - (sp_digit)(c >= 0));
  48751. sp_384_norm_6(ctx->r);
  48752. if (hashLen > 48U) {
  48753. hashLen = 48U;
  48754. }
  48755. sp_384_from_mp(ctx->x, 6, priv);
  48756. sp_384_from_bin(ctx->e, 6, hash, (int)hashLen);
  48757. ctx->state = 4;
  48758. break;
  48759. }
  48760. case 4: /* KMODORDER */
  48761. /* Conv k to Montgomery form (mod order) */
  48762. sp_384_mul_6(ctx->k, ctx->k, p384_norm_order);
  48763. err = sp_384_mod_6(ctx->k, ctx->k, p384_order);
  48764. if (err == MP_OKAY) {
  48765. sp_384_norm_6(ctx->k);
  48766. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  48767. ctx->state = 5;
  48768. }
  48769. break;
  48770. case 5: /* KINV */
  48771. /* kInv = 1/k mod order */
  48772. err = sp_384_mont_inv_order_6_nb((sp_ecc_ctx_t*)&ctx->mont_inv_order_ctx, ctx->kInv, ctx->k, ctx->tmp);
  48773. if (err == MP_OKAY) {
  48774. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  48775. ctx->state = 6;
  48776. }
  48777. break;
  48778. case 6: /* KINVNORM */
  48779. sp_384_norm_6(ctx->kInv);
  48780. ctx->state = 7;
  48781. break;
  48782. case 7: /* R */
  48783. /* s = r * x + e */
  48784. sp_384_mul_6(ctx->x, ctx->x, ctx->r);
  48785. ctx->state = 8;
  48786. break;
  48787. case 8: /* S1 */
  48788. err = sp_384_mod_6(ctx->x, ctx->x, p384_order);
  48789. if (err == MP_OKAY)
  48790. ctx->state = 9;
  48791. break;
  48792. case 9: /* S2 */
  48793. {
  48794. sp_digit carry;
  48795. sp_int64 c;
  48796. sp_384_norm_6(ctx->x);
  48797. carry = sp_384_add_6(ctx->s, ctx->e, ctx->x);
  48798. sp_384_cond_sub_6(ctx->s, ctx->s,
  48799. p384_order, 0 - carry);
  48800. sp_384_norm_6(ctx->s);
  48801. c = sp_384_cmp_6(ctx->s, p384_order);
  48802. sp_384_cond_sub_6(ctx->s, ctx->s, p384_order,
  48803. (sp_digit)0 - (sp_digit)(c >= 0));
  48804. sp_384_norm_6(ctx->s);
  48805. /* s = s * k^-1 mod order */
  48806. sp_384_mont_mul_order_6(ctx->s, ctx->s, ctx->kInv);
  48807. sp_384_norm_6(ctx->s);
  48808. /* Check that signature is usable. */
  48809. if (sp_384_iszero_6(ctx->s) == 0) {
  48810. ctx->state = 10;
  48811. break;
  48812. }
  48813. #ifdef WOLFSSL_ECDSA_SET_K_ONE_LOOP
  48814. ctx->i = 1;
  48815. #endif
  48816. /* not usable gen, try again */
  48817. ctx->i--;
  48818. if (ctx->i == 0) {
  48819. err = RNG_FAILURE_E;
  48820. }
  48821. ctx->state = 1;
  48822. break;
  48823. }
  48824. case 10: /* RES */
  48825. err = sp_384_to_mp(ctx->r, rm);
  48826. if (err == MP_OKAY) {
  48827. err = sp_384_to_mp(ctx->s, sm);
  48828. }
  48829. break;
  48830. }
  48831. if (err == MP_OKAY && ctx->state != 10) {
  48832. err = FP_WOULDBLOCK;
  48833. }
  48834. if (err != FP_WOULDBLOCK) {
  48835. XMEMSET(ctx->e, 0, sizeof(sp_digit) * 2U * 6U);
  48836. XMEMSET(ctx->x, 0, sizeof(sp_digit) * 2U * 6U);
  48837. XMEMSET(ctx->k, 0, sizeof(sp_digit) * 2U * 6U);
  48838. XMEMSET(ctx->r, 0, sizeof(sp_digit) * 2U * 6U);
  48839. XMEMSET(ctx->tmp, 0, sizeof(sp_digit) * 3U * 2U * 6U);
  48840. }
  48841. return err;
  48842. }
  48843. #endif /* WOLFSSL_SP_NONBLOCK */
  48844. int sp_ecc_sign_384(const byte* hash, word32 hashLen, WC_RNG* rng,
  48845. const mp_int* priv, mp_int* rm, mp_int* sm, mp_int* km, void* heap)
  48846. {
  48847. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  48848. sp_digit* e = NULL;
  48849. sp_point_384* point = NULL;
  48850. #else
  48851. sp_digit e[7 * 2 * 6];
  48852. sp_point_384 point[1];
  48853. #endif
  48854. sp_digit* x = NULL;
  48855. sp_digit* k = NULL;
  48856. sp_digit* r = NULL;
  48857. sp_digit* tmp = NULL;
  48858. sp_digit* s = NULL;
  48859. sp_int64 c;
  48860. int err = MP_OKAY;
  48861. int i;
  48862. #ifdef HAVE_INTEL_AVX2
  48863. word32 cpuid_flags = cpuid_get_flags();
  48864. #endif
  48865. (void)heap;
  48866. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  48867. if (err == MP_OKAY) {
  48868. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384), heap,
  48869. DYNAMIC_TYPE_ECC);
  48870. if (point == NULL)
  48871. err = MEMORY_E;
  48872. }
  48873. if (err == MP_OKAY) {
  48874. e = (sp_digit*)XMALLOC(sizeof(sp_digit) * 7 * 2 * 6, heap,
  48875. DYNAMIC_TYPE_ECC);
  48876. if (e == NULL)
  48877. err = MEMORY_E;
  48878. }
  48879. #endif
  48880. if (err == MP_OKAY) {
  48881. x = e + 2 * 6;
  48882. k = e + 4 * 6;
  48883. r = e + 6 * 6;
  48884. tmp = e + 8 * 6;
  48885. s = e;
  48886. if (hashLen > 48U) {
  48887. hashLen = 48U;
  48888. }
  48889. }
  48890. for (i = SP_ECC_MAX_SIG_GEN; err == MP_OKAY && i > 0; i--) {
  48891. /* New random point. */
  48892. if (km == NULL || mp_iszero(km)) {
  48893. err = sp_384_ecc_gen_k_6(rng, k);
  48894. }
  48895. else {
  48896. sp_384_from_mp(k, 6, km);
  48897. mp_zero(km);
  48898. }
  48899. if (err == MP_OKAY) {
  48900. #ifdef HAVE_INTEL_AVX2
  48901. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  48902. err = sp_384_ecc_mulmod_base_avx2_6(point, k, 1, 1, heap);
  48903. else
  48904. #endif
  48905. err = sp_384_ecc_mulmod_base_6(point, k, 1, 1, heap);
  48906. }
  48907. if (err == MP_OKAY) {
  48908. /* r = point->x mod order */
  48909. XMEMCPY(r, point->x, sizeof(sp_digit) * 6U);
  48910. sp_384_norm_6(r);
  48911. c = sp_384_cmp_6(r, p384_order);
  48912. sp_384_cond_sub_6(r, r, p384_order,
  48913. (sp_digit)0 - (sp_digit)(c >= 0));
  48914. sp_384_norm_6(r);
  48915. sp_384_from_mp(x, 6, priv);
  48916. sp_384_from_bin(e, 6, hash, (int)hashLen);
  48917. err = sp_384_calc_s_6(s, r, k, x, e, tmp);
  48918. }
  48919. /* Check that signature is usable. */
  48920. if ((err == MP_OKAY) && (sp_384_iszero_6(s) == 0)) {
  48921. break;
  48922. }
  48923. #ifdef WOLFSSL_ECDSA_SET_K_ONE_LOOP
  48924. i = 1;
  48925. #endif
  48926. }
  48927. if (i == 0) {
  48928. err = RNG_FAILURE_E;
  48929. }
  48930. if (err == MP_OKAY) {
  48931. err = sp_384_to_mp(r, rm);
  48932. }
  48933. if (err == MP_OKAY) {
  48934. err = sp_384_to_mp(s, sm);
  48935. }
  48936. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  48937. if (e != NULL)
  48938. #endif
  48939. {
  48940. ForceZero(e, sizeof(sp_digit) * 7 * 2 * 6);
  48941. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  48942. XFREE(e, heap, DYNAMIC_TYPE_ECC);
  48943. #endif
  48944. }
  48945. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  48946. if (point != NULL)
  48947. #endif
  48948. {
  48949. ForceZero(point, sizeof(sp_point_384));
  48950. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  48951. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  48952. #endif
  48953. }
  48954. return err;
  48955. }
  48956. #endif /* HAVE_ECC_SIGN */
  48957. #ifndef WOLFSSL_SP_SMALL
  48958. #ifdef __cplusplus
  48959. extern "C" {
  48960. #endif
  48961. extern void sp_384_rshift1_6(sp_digit* r, const sp_digit* a);
  48962. #ifdef __cplusplus
  48963. }
  48964. #endif
  48965. #ifdef __cplusplus
  48966. extern "C" {
  48967. #endif
  48968. extern void sp_384_div2_mod_6(sp_digit* r, const sp_digit* a, const sp_digit* m);
  48969. #ifdef __cplusplus
  48970. }
  48971. #endif
  48972. #ifdef __cplusplus
  48973. extern "C" {
  48974. #endif
  48975. extern int sp_384_num_bits_6(const sp_digit * a);
  48976. #ifdef __cplusplus
  48977. }
  48978. #endif
  48979. /* Non-constant time modular inversion.
  48980. *
  48981. * @param [out] r Resulting number.
  48982. * @param [in] a Number to invert.
  48983. * @param [in] m Modulus.
  48984. * @return MP_OKAY on success.
  48985. */
  48986. static int sp_384_mod_inv_6(sp_digit* r, const sp_digit* a, const sp_digit* m)
  48987. {
  48988. sp_digit u[6];
  48989. sp_digit v[6];
  48990. sp_digit b[6];
  48991. sp_digit d[6];
  48992. int ut, vt;
  48993. sp_digit o;
  48994. XMEMCPY(u, m, sizeof(u));
  48995. XMEMCPY(v, a, sizeof(v));
  48996. ut = sp_384_num_bits_6(u);
  48997. vt = sp_384_num_bits_6(v);
  48998. XMEMSET(b, 0, sizeof(b));
  48999. if ((v[0] & 1) == 0) {
  49000. sp_384_rshift1_6(v, v);
  49001. XMEMCPY(d, m, sizeof(u));
  49002. d[0] += 1;
  49003. sp_384_rshift1_6(d, d);
  49004. vt--;
  49005. while ((v[0] & 1) == 0) {
  49006. sp_384_rshift1_6(v, v);
  49007. sp_384_div2_mod_6(d, d, m);
  49008. vt--;
  49009. }
  49010. }
  49011. else {
  49012. XMEMSET(d+1, 0, sizeof(d)-sizeof(sp_digit));
  49013. d[0] = 1;
  49014. }
  49015. while (ut > 1 && vt > 1) {
  49016. if (ut > vt || (ut == vt && sp_384_cmp_6(u, v) >= 0)) {
  49017. sp_384_sub_6(u, u, v);
  49018. o = sp_384_sub_6(b, b, d);
  49019. if (o != 0)
  49020. sp_384_add_6(b, b, m);
  49021. ut = sp_384_num_bits_6(u);
  49022. do {
  49023. sp_384_rshift1_6(u, u);
  49024. sp_384_div2_mod_6(b, b, m);
  49025. ut--;
  49026. }
  49027. while (ut > 0 && (u[0] & 1) == 0);
  49028. }
  49029. else {
  49030. sp_384_sub_6(v, v, u);
  49031. o = sp_384_sub_6(d, d, b);
  49032. if (o != 0)
  49033. sp_384_add_6(d, d, m);
  49034. vt = sp_384_num_bits_6(v);
  49035. do {
  49036. sp_384_rshift1_6(v, v);
  49037. sp_384_div2_mod_6(d, d, m);
  49038. vt--;
  49039. }
  49040. while (vt > 0 && (v[0] & 1) == 0);
  49041. }
  49042. }
  49043. if (ut == 1)
  49044. XMEMCPY(r, b, sizeof(b));
  49045. else
  49046. XMEMCPY(r, d, sizeof(d));
  49047. return MP_OKAY;
  49048. }
  49049. #endif /* WOLFSSL_SP_SMALL */
  49050. /* Add point p1 into point p2. Handles p1 == p2 and result at infinity.
  49051. *
  49052. * p1 First point to add and holds result.
  49053. * p2 Second point to add.
  49054. * tmp Temporary storage for intermediate numbers.
  49055. */
  49056. static void sp_384_add_points_6(sp_point_384* p1, const sp_point_384* p2,
  49057. sp_digit* tmp)
  49058. {
  49059. #ifdef HAVE_INTEL_AVX2
  49060. word32 cpuid_flags = cpuid_get_flags();
  49061. #endif
  49062. #ifdef HAVE_INTEL_AVX2
  49063. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  49064. sp_384_proj_point_add_avx2_6(p1, p1, p2, tmp);
  49065. }
  49066. else
  49067. #endif
  49068. sp_384_proj_point_add_6(p1, p1, p2, tmp);
  49069. if (sp_384_iszero_6(p1->z)) {
  49070. if (sp_384_iszero_6(p1->x) && sp_384_iszero_6(p1->y)) {
  49071. #ifdef HAVE_INTEL_AVX2
  49072. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  49073. sp_384_proj_point_dbl_avx2_6(p1, p2, tmp);
  49074. }
  49075. else
  49076. #endif
  49077. sp_384_proj_point_dbl_6(p1, p2, tmp);
  49078. }
  49079. else {
  49080. /* Y ordinate is not used from here - don't set. */
  49081. p1->x[0] = 0;
  49082. p1->x[1] = 0;
  49083. p1->x[2] = 0;
  49084. p1->x[3] = 0;
  49085. p1->x[4] = 0;
  49086. p1->x[5] = 0;
  49087. XMEMCPY(p1->z, p384_norm_mod, sizeof(p384_norm_mod));
  49088. }
  49089. }
  49090. }
  49091. /* Calculate the verification point: [e/s]G + [r/s]Q
  49092. *
  49093. * p1 Calculated point.
  49094. * p2 Public point and temporary.
  49095. * s Second part of signature as a number.
  49096. * u1 Temporary number.
  49097. * u2 Temproray number.
  49098. * heap Heap to use for allocation.
  49099. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  49100. */
  49101. static int sp_384_calc_vfy_point_6(sp_point_384* p1, sp_point_384* p2,
  49102. sp_digit* s, sp_digit* u1, sp_digit* u2, sp_digit* tmp, void* heap)
  49103. {
  49104. int err;
  49105. #ifdef HAVE_INTEL_AVX2
  49106. word32 cpuid_flags = cpuid_get_flags();
  49107. #endif
  49108. #ifndef WOLFSSL_SP_SMALL
  49109. err = sp_384_mod_inv_6(s, s, p384_order);
  49110. if (err == MP_OKAY)
  49111. #endif /* !WOLFSSL_SP_SMALL */
  49112. {
  49113. #ifdef HAVE_INTEL_AVX2
  49114. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  49115. sp_384_mul_avx2_6(s, s, p384_norm_order);
  49116. }
  49117. else
  49118. #endif
  49119. {
  49120. sp_384_mul_6(s, s, p384_norm_order);
  49121. }
  49122. err = sp_384_mod_6(s, s, p384_order);
  49123. }
  49124. if (err == MP_OKAY) {
  49125. sp_384_norm_6(s);
  49126. #ifdef WOLFSSL_SP_SMALL
  49127. #ifdef HAVE_INTEL_AVX2
  49128. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  49129. sp_384_mont_inv_order_avx2_6(s, s, tmp);
  49130. sp_384_mont_mul_order_avx2_6(u1, u1, s);
  49131. sp_384_mont_mul_order_avx2_6(u2, u2, s);
  49132. }
  49133. else
  49134. #endif
  49135. {
  49136. sp_384_mont_inv_order_6(s, s, tmp);
  49137. sp_384_mont_mul_order_6(u1, u1, s);
  49138. sp_384_mont_mul_order_6(u2, u2, s);
  49139. }
  49140. #else
  49141. #ifdef HAVE_INTEL_AVX2
  49142. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  49143. sp_384_mont_mul_order_avx2_6(u1, u1, s);
  49144. sp_384_mont_mul_order_avx2_6(u2, u2, s);
  49145. }
  49146. else
  49147. #endif
  49148. {
  49149. sp_384_mont_mul_order_6(u1, u1, s);
  49150. sp_384_mont_mul_order_6(u2, u2, s);
  49151. }
  49152. #endif /* WOLFSSL_SP_SMALL */
  49153. #ifdef HAVE_INTEL_AVX2
  49154. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  49155. err = sp_384_ecc_mulmod_base_avx2_6(p1, u1, 0, 0, heap);
  49156. }
  49157. else
  49158. #endif
  49159. {
  49160. err = sp_384_ecc_mulmod_base_6(p1, u1, 0, 0, heap);
  49161. }
  49162. }
  49163. if ((err == MP_OKAY) && sp_384_iszero_6(p1->z)) {
  49164. p1->infinity = 1;
  49165. }
  49166. if (err == MP_OKAY) {
  49167. #ifdef HAVE_INTEL_AVX2
  49168. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  49169. err = sp_384_ecc_mulmod_avx2_6(p2, p2, u2, 0, 0, heap);
  49170. else
  49171. #endif
  49172. err = sp_384_ecc_mulmod_6(p2, p2, u2, 0, 0, heap);
  49173. }
  49174. if ((err == MP_OKAY) && sp_384_iszero_6(p2->z)) {
  49175. p2->infinity = 1;
  49176. }
  49177. if (err == MP_OKAY) {
  49178. sp_384_add_points_6(p1, p2, tmp);
  49179. }
  49180. return err;
  49181. }
  49182. #ifdef HAVE_ECC_VERIFY
  49183. /* Verify the signature values with the hash and public key.
  49184. * e = Truncate(hash, 384)
  49185. * u1 = e/s mod order
  49186. * u2 = r/s mod order
  49187. * r == (u1.G + u2.Q)->x mod order
  49188. * Optimization: Leave point in projective form.
  49189. * (x, y, 1) == (x' / z'*z', y' / z'*z'*z', z' / z')
  49190. * (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x'
  49191. * The hash is truncated to the first 384 bits.
  49192. *
  49193. * hash Hash to sign.
  49194. * hashLen Length of the hash data.
  49195. * rng Random number generator.
  49196. * priv Private part of key - scalar.
  49197. * rm First part of result as an mp_int.
  49198. * sm Sirst part of result as an mp_int.
  49199. * heap Heap to use for allocation.
  49200. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  49201. */
  49202. #ifdef WOLFSSL_SP_NONBLOCK
  49203. typedef struct sp_ecc_verify_384_ctx {
  49204. int state;
  49205. union {
  49206. sp_384_ecc_mulmod_6_ctx mulmod_ctx;
  49207. sp_384_mont_inv_order_6_ctx mont_inv_order_ctx;
  49208. sp_384_proj_point_dbl_6_ctx dbl_ctx;
  49209. sp_384_proj_point_add_6_ctx add_ctx;
  49210. };
  49211. sp_digit u1[2*6];
  49212. sp_digit u2[2*6];
  49213. sp_digit s[2*6];
  49214. sp_digit tmp[2*6 * 6];
  49215. sp_point_384 p1;
  49216. sp_point_384 p2;
  49217. } sp_ecc_verify_384_ctx;
  49218. int sp_ecc_verify_384_nb(sp_ecc_ctx_t* sp_ctx, const byte* hash,
  49219. word32 hashLen, const mp_int* pX, const mp_int* pY, const mp_int* pZ,
  49220. const mp_int* rm, const mp_int* sm, int* res, void* heap)
  49221. {
  49222. int err = FP_WOULDBLOCK;
  49223. sp_ecc_verify_384_ctx* ctx = (sp_ecc_verify_384_ctx*)sp_ctx->data;
  49224. typedef char ctx_size_test[sizeof(sp_ecc_verify_384_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  49225. (void)sizeof(ctx_size_test);
  49226. switch (ctx->state) {
  49227. case 0: /* INIT */
  49228. if (hashLen > 48U) {
  49229. hashLen = 48U;
  49230. }
  49231. sp_384_from_bin(ctx->u1, 6, hash, (int)hashLen);
  49232. sp_384_from_mp(ctx->u2, 6, rm);
  49233. sp_384_from_mp(ctx->s, 6, sm);
  49234. sp_384_from_mp(ctx->p2.x, 6, pX);
  49235. sp_384_from_mp(ctx->p2.y, 6, pY);
  49236. sp_384_from_mp(ctx->p2.z, 6, pZ);
  49237. ctx->state = 1;
  49238. break;
  49239. case 1: /* NORMS0 */
  49240. sp_384_mul_6(ctx->s, ctx->s, p384_norm_order);
  49241. err = sp_384_mod_6(ctx->s, ctx->s, p384_order);
  49242. if (err == MP_OKAY)
  49243. ctx->state = 2;
  49244. break;
  49245. case 2: /* NORMS1 */
  49246. sp_384_norm_6(ctx->s);
  49247. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  49248. ctx->state = 3;
  49249. break;
  49250. case 3: /* NORMS2 */
  49251. err = sp_384_mont_inv_order_6_nb((sp_ecc_ctx_t*)&ctx->mont_inv_order_ctx, ctx->s, ctx->s, ctx->tmp);
  49252. if (err == MP_OKAY) {
  49253. ctx->state = 4;
  49254. }
  49255. break;
  49256. case 4: /* NORMS3 */
  49257. sp_384_mont_mul_order_6(ctx->u1, ctx->u1, ctx->s);
  49258. ctx->state = 5;
  49259. break;
  49260. case 5: /* NORMS4 */
  49261. sp_384_mont_mul_order_6(ctx->u2, ctx->u2, ctx->s);
  49262. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  49263. ctx->state = 6;
  49264. break;
  49265. case 6: /* MULBASE */
  49266. err = sp_384_ecc_mulmod_6_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, &ctx->p1, &p384_base, ctx->u1, 0, 0, heap);
  49267. if (err == MP_OKAY) {
  49268. if (sp_384_iszero_6(ctx->p1.z)) {
  49269. ctx->p1.infinity = 1;
  49270. }
  49271. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  49272. ctx->state = 7;
  49273. }
  49274. break;
  49275. case 7: /* MULMOD */
  49276. err = sp_384_ecc_mulmod_6_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, &ctx->p2, &ctx->p2, ctx->u2, 0, 0, heap);
  49277. if (err == MP_OKAY) {
  49278. if (sp_384_iszero_6(ctx->p2.z)) {
  49279. ctx->p2.infinity = 1;
  49280. }
  49281. XMEMSET(&ctx->add_ctx, 0, sizeof(ctx->add_ctx));
  49282. ctx->state = 8;
  49283. }
  49284. break;
  49285. case 8: /* ADD */
  49286. err = sp_384_proj_point_add_6_nb((sp_ecc_ctx_t*)&ctx->add_ctx, &ctx->p1, &ctx->p1, &ctx->p2, ctx->tmp);
  49287. if (err == MP_OKAY)
  49288. ctx->state = 9;
  49289. break;
  49290. case 9: /* MONT */
  49291. /* (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x' */
  49292. /* Reload r and convert to Montgomery form. */
  49293. sp_384_from_mp(ctx->u2, 6, rm);
  49294. err = sp_384_mod_mul_norm_6(ctx->u2, ctx->u2, p384_mod);
  49295. if (err == MP_OKAY)
  49296. ctx->state = 10;
  49297. break;
  49298. case 10: /* SQR */
  49299. /* u1 = r.z'.z' mod prime */
  49300. sp_384_mont_sqr_6(ctx->p1.z, ctx->p1.z, p384_mod, p384_mp_mod);
  49301. ctx->state = 11;
  49302. break;
  49303. case 11: /* MUL */
  49304. sp_384_mont_mul_6(ctx->u1, ctx->u2, ctx->p1.z, p384_mod, p384_mp_mod);
  49305. ctx->state = 12;
  49306. break;
  49307. case 12: /* RES */
  49308. {
  49309. sp_int64 c = 0;
  49310. err = MP_OKAY; /* math okay, now check result */
  49311. *res = (int)(sp_384_cmp_6(ctx->p1.x, ctx->u1) == 0);
  49312. if (*res == 0) {
  49313. sp_digit carry;
  49314. /* Reload r and add order. */
  49315. sp_384_from_mp(ctx->u2, 6, rm);
  49316. carry = sp_384_add_6(ctx->u2, ctx->u2, p384_order);
  49317. /* Carry means result is greater than mod and is not valid. */
  49318. if (carry == 0) {
  49319. sp_384_norm_6(ctx->u2);
  49320. /* Compare with mod and if greater or equal then not valid. */
  49321. c = sp_384_cmp_6(ctx->u2, p384_mod);
  49322. }
  49323. }
  49324. if ((*res == 0) && (c < 0)) {
  49325. /* Convert to Montogomery form */
  49326. err = sp_384_mod_mul_norm_6(ctx->u2, ctx->u2, p384_mod);
  49327. if (err == MP_OKAY) {
  49328. /* u1 = (r + 1*order).z'.z' mod prime */
  49329. sp_384_mont_mul_6(ctx->u1, ctx->u2, ctx->p1.z, p384_mod,
  49330. p384_mp_mod);
  49331. *res = (int)(sp_384_cmp_6(ctx->p1.x, ctx->u1) == 0);
  49332. }
  49333. }
  49334. break;
  49335. }
  49336. } /* switch */
  49337. if (err == MP_OKAY && ctx->state != 12) {
  49338. err = FP_WOULDBLOCK;
  49339. }
  49340. return err;
  49341. }
  49342. #endif /* WOLFSSL_SP_NONBLOCK */
  49343. int sp_ecc_verify_384(const byte* hash, word32 hashLen, const mp_int* pX,
  49344. const mp_int* pY, const mp_int* pZ, const mp_int* rm, const mp_int* sm,
  49345. int* res, void* heap)
  49346. {
  49347. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49348. sp_digit* u1 = NULL;
  49349. sp_point_384* p1 = NULL;
  49350. #else
  49351. sp_digit u1[18 * 6];
  49352. sp_point_384 p1[2];
  49353. #endif
  49354. sp_digit* u2 = NULL;
  49355. sp_digit* s = NULL;
  49356. sp_digit* tmp = NULL;
  49357. sp_point_384* p2 = NULL;
  49358. sp_digit carry;
  49359. sp_int64 c = 0;
  49360. int err = MP_OKAY;
  49361. #ifdef HAVE_INTEL_AVX2
  49362. word32 cpuid_flags = cpuid_get_flags();
  49363. #endif
  49364. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49365. if (err == MP_OKAY) {
  49366. p1 = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  49367. DYNAMIC_TYPE_ECC);
  49368. if (p1 == NULL)
  49369. err = MEMORY_E;
  49370. }
  49371. if (err == MP_OKAY) {
  49372. u1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 18 * 6, heap,
  49373. DYNAMIC_TYPE_ECC);
  49374. if (u1 == NULL)
  49375. err = MEMORY_E;
  49376. }
  49377. #endif
  49378. if (err == MP_OKAY) {
  49379. u2 = u1 + 2 * 6;
  49380. s = u1 + 4 * 6;
  49381. tmp = u1 + 6 * 6;
  49382. p2 = p1 + 1;
  49383. if (hashLen > 48U) {
  49384. hashLen = 48U;
  49385. }
  49386. sp_384_from_bin(u1, 6, hash, (int)hashLen);
  49387. sp_384_from_mp(u2, 6, rm);
  49388. sp_384_from_mp(s, 6, sm);
  49389. sp_384_from_mp(p2->x, 6, pX);
  49390. sp_384_from_mp(p2->y, 6, pY);
  49391. sp_384_from_mp(p2->z, 6, pZ);
  49392. err = sp_384_calc_vfy_point_6(p1, p2, s, u1, u2, tmp, heap);
  49393. }
  49394. if (err == MP_OKAY) {
  49395. /* (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x' */
  49396. /* Reload r and convert to Montgomery form. */
  49397. sp_384_from_mp(u2, 6, rm);
  49398. err = sp_384_mod_mul_norm_6(u2, u2, p384_mod);
  49399. }
  49400. if (err == MP_OKAY) {
  49401. /* u1 = r.z'.z' mod prime */
  49402. #ifdef HAVE_INTEL_AVX2
  49403. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  49404. sp_384_mont_sqr_avx2_6(p1->z, p1->z, p384_mod, p384_mp_mod);
  49405. else
  49406. #endif
  49407. sp_384_mont_sqr_6(p1->z, p1->z, p384_mod, p384_mp_mod);
  49408. #ifdef HAVE_INTEL_AVX2
  49409. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  49410. sp_384_mont_mul_avx2_6(u1, u2, p1->z, p384_mod, p384_mp_mod);
  49411. else
  49412. #endif
  49413. sp_384_mont_mul_6(u1, u2, p1->z, p384_mod, p384_mp_mod);
  49414. *res = (int)(sp_384_cmp_6(p1->x, u1) == 0);
  49415. if (*res == 0) {
  49416. /* Reload r and add order. */
  49417. sp_384_from_mp(u2, 6, rm);
  49418. carry = sp_384_add_6(u2, u2, p384_order);
  49419. /* Carry means result is greater than mod and is not valid. */
  49420. if (carry == 0) {
  49421. sp_384_norm_6(u2);
  49422. /* Compare with mod and if greater or equal then not valid. */
  49423. c = sp_384_cmp_6(u2, p384_mod);
  49424. }
  49425. }
  49426. if ((*res == 0) && (c < 0)) {
  49427. /* Convert to Montogomery form */
  49428. err = sp_384_mod_mul_norm_6(u2, u2, p384_mod);
  49429. if (err == MP_OKAY) {
  49430. /* u1 = (r + 1*order).z'.z' mod prime */
  49431. #ifdef HAVE_INTEL_AVX2
  49432. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  49433. sp_384_mont_mul_avx2_6(u1, u2, p1->z, p384_mod,
  49434. p384_mp_mod);
  49435. }
  49436. else
  49437. #endif
  49438. {
  49439. sp_384_mont_mul_6(u1, u2, p1->z, p384_mod, p384_mp_mod);
  49440. }
  49441. *res = (sp_384_cmp_6(p1->x, u1) == 0);
  49442. }
  49443. }
  49444. }
  49445. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49446. if (u1 != NULL)
  49447. XFREE(u1, heap, DYNAMIC_TYPE_ECC);
  49448. if (p1 != NULL)
  49449. XFREE(p1, heap, DYNAMIC_TYPE_ECC);
  49450. #endif
  49451. return err;
  49452. }
  49453. #endif /* HAVE_ECC_VERIFY */
  49454. #ifdef HAVE_ECC_CHECK_KEY
  49455. /* Check that the x and y oridinates are a valid point on the curve.
  49456. *
  49457. * point EC point.
  49458. * heap Heap to use if dynamically allocating.
  49459. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  49460. * not on the curve and MP_OKAY otherwise.
  49461. */
  49462. static int sp_384_ecc_is_point_6(const sp_point_384* point,
  49463. void* heap)
  49464. {
  49465. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49466. sp_digit* t1 = NULL;
  49467. #else
  49468. sp_digit t1[6 * 4];
  49469. #endif
  49470. sp_digit* t2 = NULL;
  49471. int err = MP_OKAY;
  49472. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49473. t1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6 * 4, heap, DYNAMIC_TYPE_ECC);
  49474. if (t1 == NULL)
  49475. err = MEMORY_E;
  49476. #endif
  49477. (void)heap;
  49478. if (err == MP_OKAY) {
  49479. t2 = t1 + 2 * 6;
  49480. sp_384_sqr_6(t1, point->y);
  49481. (void)sp_384_mod_6(t1, t1, p384_mod);
  49482. sp_384_sqr_6(t2, point->x);
  49483. (void)sp_384_mod_6(t2, t2, p384_mod);
  49484. sp_384_mul_6(t2, t2, point->x);
  49485. (void)sp_384_mod_6(t2, t2, p384_mod);
  49486. (void)sp_384_sub_6(t2, p384_mod, t2);
  49487. sp_384_mont_add_6(t1, t1, t2, p384_mod);
  49488. sp_384_mont_add_6(t1, t1, point->x, p384_mod);
  49489. sp_384_mont_add_6(t1, t1, point->x, p384_mod);
  49490. sp_384_mont_add_6(t1, t1, point->x, p384_mod);
  49491. if (sp_384_cmp_6(t1, p384_b) != 0) {
  49492. err = MP_VAL;
  49493. }
  49494. }
  49495. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49496. if (t1 != NULL)
  49497. XFREE(t1, heap, DYNAMIC_TYPE_ECC);
  49498. #endif
  49499. return err;
  49500. }
  49501. /* Check that the x and y oridinates are a valid point on the curve.
  49502. *
  49503. * pX X ordinate of EC point.
  49504. * pY Y ordinate of EC point.
  49505. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  49506. * not on the curve and MP_OKAY otherwise.
  49507. */
  49508. int sp_ecc_is_point_384(const mp_int* pX, const mp_int* pY)
  49509. {
  49510. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49511. sp_point_384* pub = NULL;
  49512. #else
  49513. sp_point_384 pub[1];
  49514. #endif
  49515. const byte one[1] = { 1 };
  49516. int err = MP_OKAY;
  49517. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49518. pub = (sp_point_384*)XMALLOC(sizeof(sp_point_384), NULL,
  49519. DYNAMIC_TYPE_ECC);
  49520. if (pub == NULL)
  49521. err = MEMORY_E;
  49522. #endif
  49523. if (err == MP_OKAY) {
  49524. sp_384_from_mp(pub->x, 6, pX);
  49525. sp_384_from_mp(pub->y, 6, pY);
  49526. sp_384_from_bin(pub->z, 6, one, (int)sizeof(one));
  49527. err = sp_384_ecc_is_point_6(pub, NULL);
  49528. }
  49529. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49530. if (pub != NULL)
  49531. XFREE(pub, NULL, DYNAMIC_TYPE_ECC);
  49532. #endif
  49533. return err;
  49534. }
  49535. /* Check that the private scalar generates the EC point (px, py), the point is
  49536. * on the curve and the point has the correct order.
  49537. *
  49538. * pX X ordinate of EC point.
  49539. * pY Y ordinate of EC point.
  49540. * privm Private scalar that generates EC point.
  49541. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  49542. * not on the curve, ECC_INF_E if the point does not have the correct order,
  49543. * ECC_PRIV_KEY_E when the private scalar doesn't generate the EC point and
  49544. * MP_OKAY otherwise.
  49545. */
  49546. int sp_ecc_check_key_384(const mp_int* pX, const mp_int* pY,
  49547. const mp_int* privm, void* heap)
  49548. {
  49549. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49550. sp_digit* priv = NULL;
  49551. sp_point_384* pub = NULL;
  49552. #else
  49553. sp_digit priv[6];
  49554. sp_point_384 pub[2];
  49555. #endif
  49556. sp_point_384* p = NULL;
  49557. const byte one[1] = { 1 };
  49558. int err = MP_OKAY;
  49559. #ifdef HAVE_INTEL_AVX2
  49560. word32 cpuid_flags = cpuid_get_flags();
  49561. #endif
  49562. /* Quick check the lengs of public key ordinates and private key are in
  49563. * range. Proper check later.
  49564. */
  49565. if (((mp_count_bits(pX) > 384) ||
  49566. (mp_count_bits(pY) > 384) ||
  49567. ((privm != NULL) && (mp_count_bits(privm) > 384)))) {
  49568. err = ECC_OUT_OF_RANGE_E;
  49569. }
  49570. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49571. if (err == MP_OKAY) {
  49572. pub = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  49573. DYNAMIC_TYPE_ECC);
  49574. if (pub == NULL)
  49575. err = MEMORY_E;
  49576. }
  49577. if (err == MP_OKAY && privm) {
  49578. priv = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6, heap,
  49579. DYNAMIC_TYPE_ECC);
  49580. if (priv == NULL)
  49581. err = MEMORY_E;
  49582. }
  49583. #endif
  49584. if (err == MP_OKAY) {
  49585. p = pub + 1;
  49586. sp_384_from_mp(pub->x, 6, pX);
  49587. sp_384_from_mp(pub->y, 6, pY);
  49588. sp_384_from_bin(pub->z, 6, one, (int)sizeof(one));
  49589. if (privm)
  49590. sp_384_from_mp(priv, 6, privm);
  49591. /* Check point at infinitiy. */
  49592. if ((sp_384_iszero_6(pub->x) != 0) &&
  49593. (sp_384_iszero_6(pub->y) != 0)) {
  49594. err = ECC_INF_E;
  49595. }
  49596. }
  49597. /* Check range of X and Y */
  49598. if ((err == MP_OKAY) &&
  49599. ((sp_384_cmp_6(pub->x, p384_mod) >= 0) ||
  49600. (sp_384_cmp_6(pub->y, p384_mod) >= 0))) {
  49601. err = ECC_OUT_OF_RANGE_E;
  49602. }
  49603. if (err == MP_OKAY) {
  49604. /* Check point is on curve */
  49605. err = sp_384_ecc_is_point_6(pub, heap);
  49606. }
  49607. if (err == MP_OKAY) {
  49608. /* Point * order = infinity */
  49609. #ifdef HAVE_INTEL_AVX2
  49610. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  49611. err = sp_384_ecc_mulmod_avx2_6(p, pub, p384_order, 1, 1, heap);
  49612. else
  49613. #endif
  49614. err = sp_384_ecc_mulmod_6(p, pub, p384_order, 1, 1, heap);
  49615. }
  49616. /* Check result is infinity */
  49617. if ((err == MP_OKAY) && ((sp_384_iszero_6(p->x) == 0) ||
  49618. (sp_384_iszero_6(p->y) == 0))) {
  49619. err = ECC_INF_E;
  49620. }
  49621. if (privm) {
  49622. if (err == MP_OKAY) {
  49623. /* Base * private = point */
  49624. #ifdef HAVE_INTEL_AVX2
  49625. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  49626. err = sp_384_ecc_mulmod_base_avx2_6(p, priv, 1, 1, heap);
  49627. else
  49628. #endif
  49629. err = sp_384_ecc_mulmod_base_6(p, priv, 1, 1, heap);
  49630. }
  49631. /* Check result is public key */
  49632. if ((err == MP_OKAY) &&
  49633. ((sp_384_cmp_6(p->x, pub->x) != 0) ||
  49634. (sp_384_cmp_6(p->y, pub->y) != 0))) {
  49635. err = ECC_PRIV_KEY_E;
  49636. }
  49637. }
  49638. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49639. if (pub != NULL)
  49640. XFREE(pub, heap, DYNAMIC_TYPE_ECC);
  49641. if (priv != NULL)
  49642. XFREE(priv, heap, DYNAMIC_TYPE_ECC);
  49643. #endif
  49644. return err;
  49645. }
  49646. #endif
  49647. #ifdef WOLFSSL_PUBLIC_ECC_ADD_DBL
  49648. /* Add two projective EC points together.
  49649. * (pX, pY, pZ) + (qX, qY, qZ) = (rX, rY, rZ)
  49650. *
  49651. * pX First EC point's X ordinate.
  49652. * pY First EC point's Y ordinate.
  49653. * pZ First EC point's Z ordinate.
  49654. * qX Second EC point's X ordinate.
  49655. * qY Second EC point's Y ordinate.
  49656. * qZ Second EC point's Z ordinate.
  49657. * rX Resultant EC point's X ordinate.
  49658. * rY Resultant EC point's Y ordinate.
  49659. * rZ Resultant EC point's Z ordinate.
  49660. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  49661. */
  49662. int sp_ecc_proj_add_point_384(mp_int* pX, mp_int* pY, mp_int* pZ,
  49663. mp_int* qX, mp_int* qY, mp_int* qZ,
  49664. mp_int* rX, mp_int* rY, mp_int* rZ)
  49665. {
  49666. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49667. sp_digit* tmp = NULL;
  49668. sp_point_384* p = NULL;
  49669. #else
  49670. sp_digit tmp[2 * 6 * 6];
  49671. sp_point_384 p[2];
  49672. #endif
  49673. sp_point_384* q = NULL;
  49674. int err = MP_OKAY;
  49675. #ifdef HAVE_INTEL_AVX2
  49676. word32 cpuid_flags = cpuid_get_flags();
  49677. #endif
  49678. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49679. if (err == MP_OKAY) {
  49680. p = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, NULL,
  49681. DYNAMIC_TYPE_ECC);
  49682. if (p == NULL)
  49683. err = MEMORY_E;
  49684. }
  49685. if (err == MP_OKAY) {
  49686. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6, NULL,
  49687. DYNAMIC_TYPE_ECC);
  49688. if (tmp == NULL) {
  49689. err = MEMORY_E;
  49690. }
  49691. }
  49692. #endif
  49693. if (err == MP_OKAY) {
  49694. q = p + 1;
  49695. sp_384_from_mp(p->x, 6, pX);
  49696. sp_384_from_mp(p->y, 6, pY);
  49697. sp_384_from_mp(p->z, 6, pZ);
  49698. sp_384_from_mp(q->x, 6, qX);
  49699. sp_384_from_mp(q->y, 6, qY);
  49700. sp_384_from_mp(q->z, 6, qZ);
  49701. p->infinity = sp_384_iszero_6(p->x) &
  49702. sp_384_iszero_6(p->y);
  49703. q->infinity = sp_384_iszero_6(q->x) &
  49704. sp_384_iszero_6(q->y);
  49705. #ifdef HAVE_INTEL_AVX2
  49706. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  49707. sp_384_proj_point_add_avx2_6(p, p, q, tmp);
  49708. else
  49709. #endif
  49710. sp_384_proj_point_add_6(p, p, q, tmp);
  49711. }
  49712. if (err == MP_OKAY) {
  49713. err = sp_384_to_mp(p->x, rX);
  49714. }
  49715. if (err == MP_OKAY) {
  49716. err = sp_384_to_mp(p->y, rY);
  49717. }
  49718. if (err == MP_OKAY) {
  49719. err = sp_384_to_mp(p->z, rZ);
  49720. }
  49721. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49722. if (tmp != NULL)
  49723. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  49724. if (p != NULL)
  49725. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  49726. #endif
  49727. return err;
  49728. }
  49729. /* Double a projective EC point.
  49730. * (pX, pY, pZ) + (pX, pY, pZ) = (rX, rY, rZ)
  49731. *
  49732. * pX EC point's X ordinate.
  49733. * pY EC point's Y ordinate.
  49734. * pZ EC point's Z ordinate.
  49735. * rX Resultant EC point's X ordinate.
  49736. * rY Resultant EC point's Y ordinate.
  49737. * rZ Resultant EC point's Z ordinate.
  49738. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  49739. */
  49740. int sp_ecc_proj_dbl_point_384(mp_int* pX, mp_int* pY, mp_int* pZ,
  49741. mp_int* rX, mp_int* rY, mp_int* rZ)
  49742. {
  49743. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49744. sp_digit* tmp = NULL;
  49745. sp_point_384* p = NULL;
  49746. #else
  49747. sp_digit tmp[2 * 6 * 2];
  49748. sp_point_384 p[1];
  49749. #endif
  49750. int err = MP_OKAY;
  49751. #ifdef HAVE_INTEL_AVX2
  49752. word32 cpuid_flags = cpuid_get_flags();
  49753. #endif
  49754. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49755. if (err == MP_OKAY) {
  49756. p = (sp_point_384*)XMALLOC(sizeof(sp_point_384), NULL,
  49757. DYNAMIC_TYPE_ECC);
  49758. if (p == NULL)
  49759. err = MEMORY_E;
  49760. }
  49761. if (err == MP_OKAY) {
  49762. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 2, NULL,
  49763. DYNAMIC_TYPE_ECC);
  49764. if (tmp == NULL)
  49765. err = MEMORY_E;
  49766. }
  49767. #endif
  49768. if (err == MP_OKAY) {
  49769. sp_384_from_mp(p->x, 6, pX);
  49770. sp_384_from_mp(p->y, 6, pY);
  49771. sp_384_from_mp(p->z, 6, pZ);
  49772. p->infinity = sp_384_iszero_6(p->x) &
  49773. sp_384_iszero_6(p->y);
  49774. #ifdef HAVE_INTEL_AVX2
  49775. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  49776. sp_384_proj_point_dbl_avx2_6(p, p, tmp);
  49777. else
  49778. #endif
  49779. sp_384_proj_point_dbl_6(p, p, tmp);
  49780. }
  49781. if (err == MP_OKAY) {
  49782. err = sp_384_to_mp(p->x, rX);
  49783. }
  49784. if (err == MP_OKAY) {
  49785. err = sp_384_to_mp(p->y, rY);
  49786. }
  49787. if (err == MP_OKAY) {
  49788. err = sp_384_to_mp(p->z, rZ);
  49789. }
  49790. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49791. if (tmp != NULL)
  49792. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  49793. if (p != NULL)
  49794. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  49795. #endif
  49796. return err;
  49797. }
  49798. /* Map a projective EC point to affine in place.
  49799. * pZ will be one.
  49800. *
  49801. * pX EC point's X ordinate.
  49802. * pY EC point's Y ordinate.
  49803. * pZ EC point's Z ordinate.
  49804. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  49805. */
  49806. int sp_ecc_map_384(mp_int* pX, mp_int* pY, mp_int* pZ)
  49807. {
  49808. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49809. sp_digit* tmp = NULL;
  49810. sp_point_384* p = NULL;
  49811. #else
  49812. sp_digit tmp[2 * 6 * 6];
  49813. sp_point_384 p[1];
  49814. #endif
  49815. int err = MP_OKAY;
  49816. #ifdef HAVE_INTEL_AVX2
  49817. word32 cpuid_flags = cpuid_get_flags();
  49818. #endif
  49819. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49820. if (err == MP_OKAY) {
  49821. p = (sp_point_384*)XMALLOC(sizeof(sp_point_384), NULL,
  49822. DYNAMIC_TYPE_ECC);
  49823. if (p == NULL)
  49824. err = MEMORY_E;
  49825. }
  49826. if (err == MP_OKAY) {
  49827. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6, NULL,
  49828. DYNAMIC_TYPE_ECC);
  49829. if (tmp == NULL)
  49830. err = MEMORY_E;
  49831. }
  49832. #endif
  49833. if (err == MP_OKAY) {
  49834. sp_384_from_mp(p->x, 6, pX);
  49835. sp_384_from_mp(p->y, 6, pY);
  49836. sp_384_from_mp(p->z, 6, pZ);
  49837. p->infinity = sp_384_iszero_6(p->x) &
  49838. sp_384_iszero_6(p->y);
  49839. #ifdef HAVE_INTEL_AVX2
  49840. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  49841. sp_384_map_avx2_6(p, p, tmp);
  49842. else
  49843. #endif
  49844. sp_384_map_6(p, p, tmp);
  49845. }
  49846. if (err == MP_OKAY) {
  49847. err = sp_384_to_mp(p->x, pX);
  49848. }
  49849. if (err == MP_OKAY) {
  49850. err = sp_384_to_mp(p->y, pY);
  49851. }
  49852. if (err == MP_OKAY) {
  49853. err = sp_384_to_mp(p->z, pZ);
  49854. }
  49855. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49856. if (tmp != NULL)
  49857. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  49858. if (p != NULL)
  49859. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  49860. #endif
  49861. return err;
  49862. }
  49863. #endif /* WOLFSSL_PUBLIC_ECC_ADD_DBL */
  49864. #ifdef HAVE_COMP_KEY
  49865. /* Find the square root of a number mod the prime of the curve.
  49866. *
  49867. * y The number to operate on and the result.
  49868. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  49869. */
  49870. static int sp_384_mont_sqrt_6(sp_digit* y)
  49871. {
  49872. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49873. sp_digit* t1 = NULL;
  49874. #else
  49875. sp_digit t1[5 * 2 * 6];
  49876. #endif
  49877. sp_digit* t2 = NULL;
  49878. sp_digit* t3 = NULL;
  49879. sp_digit* t4 = NULL;
  49880. sp_digit* t5 = NULL;
  49881. int err = MP_OKAY;
  49882. #ifdef HAVE_INTEL_AVX2
  49883. word32 cpuid_flags = cpuid_get_flags();
  49884. #endif
  49885. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  49886. t1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 5 * 2 * 6, NULL, DYNAMIC_TYPE_ECC);
  49887. if (t1 == NULL)
  49888. err = MEMORY_E;
  49889. #endif
  49890. if (err == MP_OKAY) {
  49891. t2 = t1 + 2 * 6;
  49892. t3 = t1 + 4 * 6;
  49893. t4 = t1 + 6 * 6;
  49894. t5 = t1 + 8 * 6;
  49895. #ifdef HAVE_INTEL_AVX2
  49896. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  49897. /* t2 = y ^ 0x2 */
  49898. sp_384_mont_sqr_avx2_6(t2, y, p384_mod, p384_mp_mod);
  49899. /* t1 = y ^ 0x3 */
  49900. sp_384_mont_mul_avx2_6(t1, t2, y, p384_mod, p384_mp_mod);
  49901. /* t5 = y ^ 0xc */
  49902. sp_384_mont_sqr_n_avx2_6(t5, t1, 2, p384_mod, p384_mp_mod);
  49903. /* t1 = y ^ 0xf */
  49904. sp_384_mont_mul_avx2_6(t1, t1, t5, p384_mod, p384_mp_mod);
  49905. /* t2 = y ^ 0x1e */
  49906. sp_384_mont_sqr_avx2_6(t2, t1, p384_mod, p384_mp_mod);
  49907. /* t3 = y ^ 0x1f */
  49908. sp_384_mont_mul_avx2_6(t3, t2, y, p384_mod, p384_mp_mod);
  49909. /* t2 = y ^ 0x3e0 */
  49910. sp_384_mont_sqr_n_avx2_6(t2, t3, 5, p384_mod, p384_mp_mod);
  49911. /* t1 = y ^ 0x3ff */
  49912. sp_384_mont_mul_avx2_6(t1, t3, t2, p384_mod, p384_mp_mod);
  49913. /* t2 = y ^ 0x7fe0 */
  49914. sp_384_mont_sqr_n_avx2_6(t2, t1, 5, p384_mod, p384_mp_mod);
  49915. /* t3 = y ^ 0x7fff */
  49916. sp_384_mont_mul_avx2_6(t3, t3, t2, p384_mod, p384_mp_mod);
  49917. /* t2 = y ^ 0x3fff800 */
  49918. sp_384_mont_sqr_n_avx2_6(t2, t3, 15, p384_mod, p384_mp_mod);
  49919. /* t4 = y ^ 0x3ffffff */
  49920. sp_384_mont_mul_avx2_6(t4, t3, t2, p384_mod, p384_mp_mod);
  49921. /* t2 = y ^ 0xffffffc000000 */
  49922. sp_384_mont_sqr_n_avx2_6(t2, t4, 30, p384_mod, p384_mp_mod);
  49923. /* t1 = y ^ 0xfffffffffffff */
  49924. sp_384_mont_mul_avx2_6(t1, t4, t2, p384_mod, p384_mp_mod);
  49925. /* t2 = y ^ 0xfffffffffffffff000000000000000 */
  49926. sp_384_mont_sqr_n_avx2_6(t2, t1, 60, p384_mod, p384_mp_mod);
  49927. /* t1 = y ^ 0xffffffffffffffffffffffffffffff */
  49928. sp_384_mont_mul_avx2_6(t1, t1, t2, p384_mod, p384_mp_mod);
  49929. /* t2 = y ^ 0xffffffffffffffffffffffffffffff000000000000000000000000000000 */
  49930. sp_384_mont_sqr_n_avx2_6(t2, t1, 120, p384_mod, p384_mp_mod);
  49931. /* t1 = y ^ 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  49932. sp_384_mont_mul_avx2_6(t1, t1, t2, p384_mod, p384_mp_mod);
  49933. /* t2 = y ^ 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 */
  49934. sp_384_mont_sqr_n_avx2_6(t2, t1, 15, p384_mod, p384_mp_mod);
  49935. /* t1 = y ^ 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  49936. sp_384_mont_mul_avx2_6(t1, t3, t2, p384_mod, p384_mp_mod);
  49937. /* t2 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000 */
  49938. sp_384_mont_sqr_n_avx2_6(t2, t1, 31, p384_mod, p384_mp_mod);
  49939. /* t1 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffff */
  49940. sp_384_mont_mul_avx2_6(t1, t4, t2, p384_mod, p384_mp_mod);
  49941. /* t2 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffff0 */
  49942. sp_384_mont_sqr_n_avx2_6(t2, t1, 4, p384_mod, p384_mp_mod);
  49943. /* t1 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffffc */
  49944. sp_384_mont_mul_avx2_6(t1, t5, t2, p384_mod, p384_mp_mod);
  49945. /* t2 = y ^ 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000 */
  49946. sp_384_mont_sqr_n_avx2_6(t2, t1, 62, p384_mod, p384_mp_mod);
  49947. /* t1 = y ^ 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001 */
  49948. sp_384_mont_mul_avx2_6(t1, y, t2, p384_mod, p384_mp_mod);
  49949. /* t2 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffffc00000000000000040000000 */
  49950. sp_384_mont_sqr_n_avx2_6(y, t1, 30, p384_mod, p384_mp_mod);
  49951. }
  49952. else
  49953. #endif
  49954. {
  49955. /* t2 = y ^ 0x2 */
  49956. sp_384_mont_sqr_6(t2, y, p384_mod, p384_mp_mod);
  49957. /* t1 = y ^ 0x3 */
  49958. sp_384_mont_mul_6(t1, t2, y, p384_mod, p384_mp_mod);
  49959. /* t5 = y ^ 0xc */
  49960. sp_384_mont_sqr_n_6(t5, t1, 2, p384_mod, p384_mp_mod);
  49961. /* t1 = y ^ 0xf */
  49962. sp_384_mont_mul_6(t1, t1, t5, p384_mod, p384_mp_mod);
  49963. /* t2 = y ^ 0x1e */
  49964. sp_384_mont_sqr_6(t2, t1, p384_mod, p384_mp_mod);
  49965. /* t3 = y ^ 0x1f */
  49966. sp_384_mont_mul_6(t3, t2, y, p384_mod, p384_mp_mod);
  49967. /* t2 = y ^ 0x3e0 */
  49968. sp_384_mont_sqr_n_6(t2, t3, 5, p384_mod, p384_mp_mod);
  49969. /* t1 = y ^ 0x3ff */
  49970. sp_384_mont_mul_6(t1, t3, t2, p384_mod, p384_mp_mod);
  49971. /* t2 = y ^ 0x7fe0 */
  49972. sp_384_mont_sqr_n_6(t2, t1, 5, p384_mod, p384_mp_mod);
  49973. /* t3 = y ^ 0x7fff */
  49974. sp_384_mont_mul_6(t3, t3, t2, p384_mod, p384_mp_mod);
  49975. /* t2 = y ^ 0x3fff800 */
  49976. sp_384_mont_sqr_n_6(t2, t3, 15, p384_mod, p384_mp_mod);
  49977. /* t4 = y ^ 0x3ffffff */
  49978. sp_384_mont_mul_6(t4, t3, t2, p384_mod, p384_mp_mod);
  49979. /* t2 = y ^ 0xffffffc000000 */
  49980. sp_384_mont_sqr_n_6(t2, t4, 30, p384_mod, p384_mp_mod);
  49981. /* t1 = y ^ 0xfffffffffffff */
  49982. sp_384_mont_mul_6(t1, t4, t2, p384_mod, p384_mp_mod);
  49983. /* t2 = y ^ 0xfffffffffffffff000000000000000 */
  49984. sp_384_mont_sqr_n_6(t2, t1, 60, p384_mod, p384_mp_mod);
  49985. /* t1 = y ^ 0xffffffffffffffffffffffffffffff */
  49986. sp_384_mont_mul_6(t1, t1, t2, p384_mod, p384_mp_mod);
  49987. /* t2 = y ^ 0xffffffffffffffffffffffffffffff000000000000000000000000000000 */
  49988. sp_384_mont_sqr_n_6(t2, t1, 120, p384_mod, p384_mp_mod);
  49989. /* t1 = y ^ 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  49990. sp_384_mont_mul_6(t1, t1, t2, p384_mod, p384_mp_mod);
  49991. /* t2 = y ^ 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 */
  49992. sp_384_mont_sqr_n_6(t2, t1, 15, p384_mod, p384_mp_mod);
  49993. /* t1 = y ^ 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  49994. sp_384_mont_mul_6(t1, t3, t2, p384_mod, p384_mp_mod);
  49995. /* t2 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000 */
  49996. sp_384_mont_sqr_n_6(t2, t1, 31, p384_mod, p384_mp_mod);
  49997. /* t1 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffff */
  49998. sp_384_mont_mul_6(t1, t4, t2, p384_mod, p384_mp_mod);
  49999. /* t2 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffff0 */
  50000. sp_384_mont_sqr_n_6(t2, t1, 4, p384_mod, p384_mp_mod);
  50001. /* t1 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffffc */
  50002. sp_384_mont_mul_6(t1, t5, t2, p384_mod, p384_mp_mod);
  50003. /* t2 = y ^ 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000 */
  50004. sp_384_mont_sqr_n_6(t2, t1, 62, p384_mod, p384_mp_mod);
  50005. /* t1 = y ^ 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001 */
  50006. sp_384_mont_mul_6(t1, y, t2, p384_mod, p384_mp_mod);
  50007. /* t2 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffffc00000000000000040000000 */
  50008. sp_384_mont_sqr_n_6(y, t1, 30, p384_mod, p384_mp_mod);
  50009. }
  50010. }
  50011. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  50012. if (t1 != NULL)
  50013. XFREE(t1, NULL, DYNAMIC_TYPE_ECC);
  50014. #endif
  50015. return err;
  50016. }
  50017. /* Uncompress the point given the X ordinate.
  50018. *
  50019. * xm X ordinate.
  50020. * odd Whether the Y ordinate is odd.
  50021. * ym Calculated Y ordinate.
  50022. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  50023. */
  50024. int sp_ecc_uncompress_384(mp_int* xm, int odd, mp_int* ym)
  50025. {
  50026. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  50027. sp_digit* x = NULL;
  50028. #else
  50029. sp_digit x[4 * 6];
  50030. #endif
  50031. sp_digit* y = NULL;
  50032. int err = MP_OKAY;
  50033. #ifdef HAVE_INTEL_AVX2
  50034. word32 cpuid_flags = cpuid_get_flags();
  50035. #endif
  50036. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  50037. x = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 6, NULL, DYNAMIC_TYPE_ECC);
  50038. if (x == NULL)
  50039. err = MEMORY_E;
  50040. #endif
  50041. if (err == MP_OKAY) {
  50042. y = x + 2 * 6;
  50043. sp_384_from_mp(x, 6, xm);
  50044. err = sp_384_mod_mul_norm_6(x, x, p384_mod);
  50045. }
  50046. if (err == MP_OKAY) {
  50047. /* y = x^3 */
  50048. #ifdef HAVE_INTEL_AVX2
  50049. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  50050. sp_384_mont_sqr_avx2_6(y, x, p384_mod, p384_mp_mod);
  50051. sp_384_mont_mul_avx2_6(y, y, x, p384_mod, p384_mp_mod);
  50052. }
  50053. else
  50054. #endif
  50055. {
  50056. sp_384_mont_sqr_6(y, x, p384_mod, p384_mp_mod);
  50057. sp_384_mont_mul_6(y, y, x, p384_mod, p384_mp_mod);
  50058. }
  50059. /* y = x^3 - 3x */
  50060. sp_384_mont_sub_6(y, y, x, p384_mod);
  50061. sp_384_mont_sub_6(y, y, x, p384_mod);
  50062. sp_384_mont_sub_6(y, y, x, p384_mod);
  50063. /* y = x^3 - 3x + b */
  50064. err = sp_384_mod_mul_norm_6(x, p384_b, p384_mod);
  50065. }
  50066. if (err == MP_OKAY) {
  50067. sp_384_mont_add_6(y, y, x, p384_mod);
  50068. /* y = sqrt(x^3 - 3x + b) */
  50069. err = sp_384_mont_sqrt_6(y);
  50070. }
  50071. if (err == MP_OKAY) {
  50072. XMEMSET(y + 6, 0, 6U * sizeof(sp_digit));
  50073. sp_384_mont_reduce_6(y, p384_mod, p384_mp_mod);
  50074. if ((((word32)y[0] ^ (word32)odd) & 1U) != 0U) {
  50075. sp_384_mont_sub_6(y, p384_mod, y, p384_mod);
  50076. }
  50077. err = sp_384_to_mp(y, ym);
  50078. }
  50079. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  50080. if (x != NULL)
  50081. XFREE(x, NULL, DYNAMIC_TYPE_ECC);
  50082. #endif
  50083. return err;
  50084. }
  50085. #endif
  50086. #endif /* WOLFSSL_SP_384 */
  50087. #ifdef WOLFSSL_SP_521
  50088. /* Point structure to use. */
  50089. typedef struct sp_point_521 {
  50090. /* X ordinate of point. */
  50091. sp_digit x[2 * 9];
  50092. /* Y ordinate of point. */
  50093. sp_digit y[2 * 9];
  50094. /* Z ordinate of point. */
  50095. sp_digit z[2 * 9];
  50096. /* Indicates point is at infinity. */
  50097. int infinity;
  50098. } sp_point_521;
  50099. /* The modulus (prime) of the curve P521. */
  50100. static const sp_digit p521_mod[9] = {
  50101. 0xffffffffffffffffL,0xffffffffffffffffL,0xffffffffffffffffL,
  50102. 0xffffffffffffffffL,0xffffffffffffffffL,0xffffffffffffffffL,
  50103. 0xffffffffffffffffL,0xffffffffffffffffL,0x00000000000001ffL
  50104. };
  50105. /* The Montgomery normalizer for modulus of the curve P521. */
  50106. static const sp_digit p521_norm_mod[9] = {
  50107. 0x0000000000000001L,0x0000000000000000L,0x0000000000000000L,
  50108. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  50109. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L
  50110. };
  50111. /* The Montgomery multiplier for modulus of the curve P521. */
  50112. static sp_digit p521_mp_mod = 0x0000000000000001;
  50113. #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \
  50114. defined(HAVE_ECC_VERIFY)
  50115. /* The order of the curve P521. */
  50116. static const sp_digit p521_order[9] = {
  50117. 0xbb6fb71e91386409L,0x3bb5c9b8899c47aeL,0x7fcc0148f709a5d0L,
  50118. 0x51868783bf2f966bL,0xfffffffffffffffaL,0xffffffffffffffffL,
  50119. 0xffffffffffffffffL,0xffffffffffffffffL,0x00000000000001ffL
  50120. };
  50121. #endif
  50122. /* The order of the curve P521 minus 2. */
  50123. static const sp_digit p521_order2[9] = {
  50124. 0xbb6fb71e91386407L,0x3bb5c9b8899c47aeL,0x7fcc0148f709a5d0L,
  50125. 0x51868783bf2f966bL,0xfffffffffffffffaL,0xffffffffffffffffL,
  50126. 0xffffffffffffffffL,0xffffffffffffffffL,0x00000000000001ffL
  50127. };
  50128. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  50129. /* The Montgomery normalizer for order of the curve P521. */
  50130. static const sp_digit p521_norm_order[9] = {
  50131. 0x449048e16ec79bf7L,0xc44a36477663b851L,0x8033feb708f65a2fL,
  50132. 0xae79787c40d06994L,0x0000000000000005L,0x0000000000000000L,
  50133. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L
  50134. };
  50135. #endif
  50136. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  50137. /* The Montgomery multiplier for order of the curve P521. */
  50138. static sp_digit p521_mp_order = 0x1d2f5ccd79a995c7L;
  50139. #endif
  50140. #ifdef WOLFSSL_SP_SMALL
  50141. /* The base point of curve P521. */
  50142. static const sp_point_521 p521_base = {
  50143. /* X ordinate */
  50144. {
  50145. 0xf97e7e31c2e5bd66L,0x3348b3c1856a429bL,0xfe1dc127a2ffa8deL,
  50146. 0xa14b5e77efe75928L,0xf828af606b4d3dbaL,0x9c648139053fb521L,
  50147. 0x9e3ecb662395b442L,0x858e06b70404e9cdL,0x00000000000000c6L,
  50148. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  50149. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0
  50150. },
  50151. /* Y ordinate */
  50152. {
  50153. 0x88be94769fd16650L,0x353c7086a272c240L,0xc550b9013fad0761L,
  50154. 0x97ee72995ef42640L,0x17afbd17273e662cL,0x98f54449579b4468L,
  50155. 0x5c8a5fb42c7d1bd9L,0x39296a789a3bc004L,0x0000000000000118L,
  50156. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  50157. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0
  50158. },
  50159. /* Z ordinate */
  50160. {
  50161. 0x0000000000000001L,0x0000000000000000L,0x0000000000000000L,
  50162. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  50163. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  50164. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  50165. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0
  50166. },
  50167. /* infinity */
  50168. 0
  50169. };
  50170. #endif /* WOLFSSL_SP_SMALL */
  50171. #if defined(HAVE_ECC_CHECK_KEY) || defined(HAVE_COMP_KEY)
  50172. static const sp_digit p521_b[9] = {
  50173. 0xef451fd46b503f00L,0x3573df883d2c34f1L,0x1652c0bd3bb1bf07L,
  50174. 0x56193951ec7e937bL,0xb8b489918ef109e1L,0xa2da725b99b315f3L,
  50175. 0x929a21a0b68540eeL,0x953eb9618e1c9a1fL,0x0000000000000051L
  50176. };
  50177. #endif
  50178. #ifdef __cplusplus
  50179. extern "C" {
  50180. #endif
  50181. extern void sp_521_mul_9(sp_digit* r, const sp_digit* a, const sp_digit* b);
  50182. #ifdef __cplusplus
  50183. }
  50184. #endif
  50185. #ifdef HAVE_INTEL_AVX2
  50186. #ifdef __cplusplus
  50187. extern "C" {
  50188. #endif
  50189. extern void sp_521_mul_avx2_9(sp_digit* r, const sp_digit* a, const sp_digit* b);
  50190. #ifdef __cplusplus
  50191. }
  50192. #endif
  50193. #endif /* HAVE_INTEL_AVX2 */
  50194. #ifdef __cplusplus
  50195. extern "C" {
  50196. #endif
  50197. extern void sp_521_sqr_9(sp_digit* r, const sp_digit* a);
  50198. #ifdef __cplusplus
  50199. }
  50200. #endif
  50201. #ifdef HAVE_INTEL_AVX2
  50202. #ifdef __cplusplus
  50203. extern "C" {
  50204. #endif
  50205. extern void sp_521_sqr_avx2_9(sp_digit* r, const sp_digit* a);
  50206. #ifdef __cplusplus
  50207. }
  50208. #endif
  50209. #endif /* HAVE_INTEL_AVX2 */
  50210. #ifdef __cplusplus
  50211. extern "C" {
  50212. #endif
  50213. extern sp_digit sp_521_add_9(sp_digit* r, const sp_digit* a, const sp_digit* b);
  50214. #ifdef __cplusplus
  50215. }
  50216. #endif
  50217. #ifdef __cplusplus
  50218. extern "C" {
  50219. #endif
  50220. extern sp_digit sp_521_sub_9(sp_digit* r, const sp_digit* a, const sp_digit* b);
  50221. #ifdef __cplusplus
  50222. }
  50223. #endif
  50224. /* Multiply a number by Montgomery normalizer mod modulus (prime).
  50225. *
  50226. * r The resulting Montgomery form number.
  50227. * a The number to convert.
  50228. * m The modulus (prime).
  50229. * returns MEMORY_E when memory allocation fails and MP_OKAY otherwise.
  50230. */
  50231. static int sp_521_mod_mul_norm_9(sp_digit* r, const sp_digit* a, const sp_digit* m)
  50232. {
  50233. (void)m;
  50234. if (r != a) {
  50235. XMEMCPY(r, a, 9 * sizeof(sp_digit));
  50236. }
  50237. return MP_OKAY;
  50238. }
  50239. /* Convert an mp_int to an array of sp_digit.
  50240. *
  50241. * r A single precision integer.
  50242. * size Maximum number of bytes to convert
  50243. * a A multi-precision integer.
  50244. */
  50245. static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
  50246. {
  50247. #if DIGIT_BIT == 64
  50248. int j;
  50249. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  50250. for (j = a->used; j < size; j++) {
  50251. r[j] = 0;
  50252. }
  50253. #elif DIGIT_BIT > 64
  50254. int i;
  50255. int j = 0;
  50256. word32 s = 0;
  50257. r[0] = 0;
  50258. for (i = 0; i < a->used && j < size; i++) {
  50259. r[j] |= ((sp_digit)a->dp[i] << s);
  50260. r[j] &= 0xffffffffffffffffl;
  50261. s = 64U - s;
  50262. if (j + 1 >= size) {
  50263. break;
  50264. }
  50265. /* lint allow cast of mismatch word32 and mp_digit */
  50266. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  50267. while ((s + 64U) <= (word32)DIGIT_BIT) {
  50268. s += 64U;
  50269. r[j] &= 0xffffffffffffffffl;
  50270. if (j + 1 >= size) {
  50271. break;
  50272. }
  50273. if (s < (word32)DIGIT_BIT) {
  50274. /* lint allow cast of mismatch word32 and mp_digit */
  50275. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  50276. }
  50277. else {
  50278. r[++j] = (sp_digit)0;
  50279. }
  50280. }
  50281. s = (word32)DIGIT_BIT - s;
  50282. }
  50283. for (j++; j < size; j++) {
  50284. r[j] = 0;
  50285. }
  50286. #else
  50287. int i;
  50288. int j = 0;
  50289. int s = 0;
  50290. r[0] = 0;
  50291. for (i = 0; i < a->used && j < size; i++) {
  50292. r[j] |= ((sp_digit)a->dp[i]) << s;
  50293. if (s + DIGIT_BIT >= 64) {
  50294. r[j] &= 0xffffffffffffffffl;
  50295. if (j + 1 >= size) {
  50296. break;
  50297. }
  50298. s = 64 - s;
  50299. if (s == DIGIT_BIT) {
  50300. r[++j] = 0;
  50301. s = 0;
  50302. }
  50303. else {
  50304. r[++j] = a->dp[i] >> s;
  50305. s = DIGIT_BIT - s;
  50306. }
  50307. }
  50308. else {
  50309. s += DIGIT_BIT;
  50310. }
  50311. }
  50312. for (j++; j < size; j++) {
  50313. r[j] = 0;
  50314. }
  50315. #endif
  50316. }
  50317. /* Convert a point of type ecc_point to type sp_point_521.
  50318. *
  50319. * p Point of type sp_point_521 (result).
  50320. * pm Point of type ecc_point.
  50321. */
  50322. static void sp_521_point_from_ecc_point_9(sp_point_521* p,
  50323. const ecc_point* pm)
  50324. {
  50325. XMEMSET(p->x, 0, sizeof(p->x));
  50326. XMEMSET(p->y, 0, sizeof(p->y));
  50327. XMEMSET(p->z, 0, sizeof(p->z));
  50328. sp_521_from_mp(p->x, 9, pm->x);
  50329. sp_521_from_mp(p->y, 9, pm->y);
  50330. sp_521_from_mp(p->z, 9, pm->z);
  50331. p->infinity = 0;
  50332. }
  50333. /* Convert an array of sp_digit to an mp_int.
  50334. *
  50335. * a A single precision integer.
  50336. * r A multi-precision integer.
  50337. */
  50338. static int sp_521_to_mp(const sp_digit* a, mp_int* r)
  50339. {
  50340. int err;
  50341. err = mp_grow(r, (521 + DIGIT_BIT - 1) / DIGIT_BIT);
  50342. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  50343. #if DIGIT_BIT == 64
  50344. XMEMCPY(r->dp, a, sizeof(sp_digit) * 9);
  50345. r->used = 9;
  50346. mp_clamp(r);
  50347. #elif DIGIT_BIT < 64
  50348. int i;
  50349. int j = 0;
  50350. int s = 0;
  50351. r->dp[0] = 0;
  50352. for (i = 0; i < 9; i++) {
  50353. r->dp[j] |= (mp_digit)(a[i] << s);
  50354. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  50355. s = DIGIT_BIT - s;
  50356. r->dp[++j] = (mp_digit)(a[i] >> s);
  50357. while (s + DIGIT_BIT <= 64) {
  50358. s += DIGIT_BIT;
  50359. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  50360. if (s == SP_WORD_SIZE) {
  50361. r->dp[j] = 0;
  50362. }
  50363. else {
  50364. r->dp[j] = (mp_digit)(a[i] >> s);
  50365. }
  50366. }
  50367. s = 64 - s;
  50368. }
  50369. r->used = (521 + DIGIT_BIT - 1) / DIGIT_BIT;
  50370. mp_clamp(r);
  50371. #else
  50372. int i;
  50373. int j = 0;
  50374. int s = 0;
  50375. r->dp[0] = 0;
  50376. for (i = 0; i < 9; i++) {
  50377. r->dp[j] |= ((mp_digit)a[i]) << s;
  50378. if (s + 64 >= DIGIT_BIT) {
  50379. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  50380. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  50381. #endif
  50382. s = DIGIT_BIT - s;
  50383. r->dp[++j] = a[i] >> s;
  50384. s = 64 - s;
  50385. }
  50386. else {
  50387. s += 64;
  50388. }
  50389. }
  50390. r->used = (521 + DIGIT_BIT - 1) / DIGIT_BIT;
  50391. mp_clamp(r);
  50392. #endif
  50393. }
  50394. return err;
  50395. }
  50396. /* Convert a point of type sp_point_521 to type ecc_point.
  50397. *
  50398. * p Point of type sp_point_521.
  50399. * pm Point of type ecc_point (result).
  50400. * returns MEMORY_E when allocation of memory in ecc_point fails otherwise
  50401. * MP_OKAY.
  50402. */
  50403. static int sp_521_point_to_ecc_point_9(const sp_point_521* p, ecc_point* pm)
  50404. {
  50405. int err;
  50406. err = sp_521_to_mp(p->x, pm->x);
  50407. if (err == MP_OKAY) {
  50408. err = sp_521_to_mp(p->y, pm->y);
  50409. }
  50410. if (err == MP_OKAY) {
  50411. err = sp_521_to_mp(p->z, pm->z);
  50412. }
  50413. return err;
  50414. }
  50415. #ifdef __cplusplus
  50416. extern "C" {
  50417. #endif
  50418. extern void sp_521_cond_copy_9(sp_digit* r, const sp_digit* a, sp_digit m);
  50419. #ifdef __cplusplus
  50420. }
  50421. #endif
  50422. #ifdef __cplusplus
  50423. extern "C" {
  50424. #endif
  50425. extern void sp_521_mont_mul_9(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m, sp_digit mp);
  50426. #ifdef __cplusplus
  50427. }
  50428. #endif
  50429. #ifdef __cplusplus
  50430. extern "C" {
  50431. #endif
  50432. extern void sp_521_mont_sqr_9(sp_digit* r, const sp_digit* a, const sp_digit* m, sp_digit mp);
  50433. #ifdef __cplusplus
  50434. }
  50435. #endif
  50436. #if !defined(WOLFSSL_SP_SMALL) || defined(HAVE_COMP_KEY)
  50437. /* Square the Montgomery form number a number of times. (r = a ^ n mod m)
  50438. *
  50439. * r Result of squaring.
  50440. * a Number to square in Montgomery form.
  50441. * n Number of times to square.
  50442. * m Modulus (prime).
  50443. * mp Montgomery mulitplier.
  50444. */
  50445. static void sp_521_mont_sqr_n_9(sp_digit* r, const sp_digit* a, int n,
  50446. const sp_digit* m, sp_digit mp)
  50447. {
  50448. sp_521_mont_sqr_9(r, a, m, mp);
  50449. for (; n > 1; n--) {
  50450. sp_521_mont_sqr_9(r, r, m, mp);
  50451. }
  50452. }
  50453. #endif /* !WOLFSSL_SP_SMALL | HAVE_COMP_KEY */
  50454. #ifdef WOLFSSL_SP_SMALL
  50455. /* Mod-2 for the P521 curve. */
  50456. static const uint64_t p521_mod_minus_2[9] = {
  50457. 0xfffffffffffffffdU,0xffffffffffffffffU,0xffffffffffffffffU,
  50458. 0xffffffffffffffffU,0xffffffffffffffffU,0xffffffffffffffffU,
  50459. 0xffffffffffffffffU,0xffffffffffffffffU,0x00000000000001ffU
  50460. };
  50461. #endif /* !WOLFSSL_SP_SMALL */
  50462. /* Invert the number, in Montgomery form, modulo the modulus (prime) of the
  50463. * P521 curve. (r = 1 / a mod m)
  50464. *
  50465. * r Inverse result.
  50466. * a Number to invert.
  50467. * td Temporary data.
  50468. */
  50469. static void sp_521_mont_inv_9(sp_digit* r, const sp_digit* a, sp_digit* td)
  50470. {
  50471. #ifdef WOLFSSL_SP_SMALL
  50472. sp_digit* t = td;
  50473. int i;
  50474. XMEMCPY(t, a, sizeof(sp_digit) * 9);
  50475. for (i=519; i>=0; i--) {
  50476. sp_521_mont_sqr_9(t, t, p521_mod, p521_mp_mod);
  50477. if (p521_mod_minus_2[i / 64] & ((sp_digit)1 << (i % 64)))
  50478. sp_521_mont_mul_9(t, t, a, p521_mod, p521_mp_mod);
  50479. }
  50480. XMEMCPY(r, t, sizeof(sp_digit) * 9);
  50481. #else
  50482. sp_digit* t1 = td;
  50483. sp_digit* t2 = td + 2 * 9;
  50484. sp_digit* t3 = td + 4 * 9;
  50485. /* 0x2 */
  50486. sp_521_mont_sqr_9(t1, a, p521_mod, p521_mp_mod);
  50487. /* 0x3 */
  50488. sp_521_mont_mul_9(t2, t1, a, p521_mod, p521_mp_mod);
  50489. /* 0x6 */
  50490. sp_521_mont_sqr_9(t1, t2, p521_mod, p521_mp_mod);
  50491. /* 0x7 */
  50492. sp_521_mont_mul_9(t3, t1, a, p521_mod, p521_mp_mod);
  50493. /* 0xc */
  50494. sp_521_mont_sqr_n_9(t1, t2, 2, p521_mod, p521_mp_mod);
  50495. /* 0xf */
  50496. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  50497. /* 0x78 */
  50498. sp_521_mont_sqr_n_9(t1, t2, 3, p521_mod, p521_mp_mod);
  50499. /* 0x7f */
  50500. sp_521_mont_mul_9(t3, t3, t1, p521_mod, p521_mp_mod);
  50501. /* 0xf0 */
  50502. sp_521_mont_sqr_n_9(t1, t2, 4, p521_mod, p521_mp_mod);
  50503. /* 0xff */
  50504. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  50505. /* 0xff00 */
  50506. sp_521_mont_sqr_n_9(t1, t2, 8, p521_mod, p521_mp_mod);
  50507. /* 0xffff */
  50508. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  50509. /* 0xffff0000 */
  50510. sp_521_mont_sqr_n_9(t1, t2, 16, p521_mod, p521_mp_mod);
  50511. /* 0xffffffff */
  50512. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  50513. /* 0xffffffff00000000 */
  50514. sp_521_mont_sqr_n_9(t1, t2, 32, p521_mod, p521_mp_mod);
  50515. /* 0xffffffffffffffff */
  50516. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  50517. /* 0xffffffffffffffff0000000000000000 */
  50518. sp_521_mont_sqr_n_9(t1, t2, 64, p521_mod, p521_mp_mod);
  50519. /* 0xffffffffffffffffffffffffffffffff */
  50520. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  50521. /* 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000 */
  50522. sp_521_mont_sqr_n_9(t1, t2, 128, p521_mod, p521_mp_mod);
  50523. /* 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  50524. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  50525. /* 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000 */
  50526. sp_521_mont_sqr_n_9(t1, t2, 256, p521_mod, p521_mp_mod);
  50527. /* 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  50528. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  50529. /* 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 */
  50530. sp_521_mont_sqr_n_9(t1, t2, 7, p521_mod, p521_mp_mod);
  50531. /* 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  50532. sp_521_mont_mul_9(t2, t3, t1, p521_mod, p521_mp_mod);
  50533. /* 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc */
  50534. sp_521_mont_sqr_n_9(t1, t2, 2, p521_mod, p521_mp_mod);
  50535. /* 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd */
  50536. sp_521_mont_mul_9(r, t1, a, p521_mod, p521_mp_mod);
  50537. #endif /* WOLFSSL_SP_SMALL */
  50538. }
  50539. #ifdef __cplusplus
  50540. extern "C" {
  50541. #endif
  50542. extern sp_int64 sp_521_cmp_9(const sp_digit* a, const sp_digit* b);
  50543. #ifdef __cplusplus
  50544. }
  50545. #endif
  50546. /* Normalize the values in each word to 64.
  50547. *
  50548. * a Array of sp_digit to normalize.
  50549. */
  50550. #define sp_521_norm_9(a)
  50551. #ifdef __cplusplus
  50552. extern "C" {
  50553. #endif
  50554. extern sp_digit sp_521_cond_sub_9(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  50555. #ifdef __cplusplus
  50556. }
  50557. #endif
  50558. #ifdef __cplusplus
  50559. extern "C" {
  50560. #endif
  50561. extern void sp_521_mont_reduce_9(sp_digit* a, const sp_digit* m, sp_digit mp);
  50562. #ifdef __cplusplus
  50563. }
  50564. #endif
  50565. #ifdef __cplusplus
  50566. extern "C" {
  50567. #endif
  50568. extern void sp_521_mont_reduce_order_9(sp_digit* a, const sp_digit* m, sp_digit mp);
  50569. #ifdef __cplusplus
  50570. }
  50571. #endif
  50572. /* Map the Montgomery form projective coordinate point to an affine point.
  50573. *
  50574. * r Resulting affine coordinate point.
  50575. * p Montgomery form projective coordinate point.
  50576. * t Temporary ordinate data.
  50577. */
  50578. static void sp_521_map_9(sp_point_521* r, const sp_point_521* p,
  50579. sp_digit* t)
  50580. {
  50581. sp_digit* t1 = t;
  50582. sp_digit* t2 = t + 2*9;
  50583. sp_int64 n;
  50584. sp_521_mont_inv_9(t1, p->z, t + 2*9);
  50585. sp_521_mont_sqr_9(t2, t1, p521_mod, p521_mp_mod);
  50586. sp_521_mont_mul_9(t1, t2, t1, p521_mod, p521_mp_mod);
  50587. /* x /= z^2 */
  50588. sp_521_mont_mul_9(r->x, p->x, t2, p521_mod, p521_mp_mod);
  50589. XMEMSET(r->x + 9, 0, sizeof(r->x) / 2U);
  50590. sp_521_mont_reduce_9(r->x, p521_mod, p521_mp_mod);
  50591. /* Reduce x to less than modulus */
  50592. n = sp_521_cmp_9(r->x, p521_mod);
  50593. sp_521_cond_sub_9(r->x, r->x, p521_mod, ~(n >> 63));
  50594. sp_521_norm_9(r->x);
  50595. /* y /= z^3 */
  50596. sp_521_mont_mul_9(r->y, p->y, t1, p521_mod, p521_mp_mod);
  50597. XMEMSET(r->y + 9, 0, sizeof(r->y) / 2U);
  50598. sp_521_mont_reduce_9(r->y, p521_mod, p521_mp_mod);
  50599. /* Reduce y to less than modulus */
  50600. n = sp_521_cmp_9(r->y, p521_mod);
  50601. sp_521_cond_sub_9(r->y, r->y, p521_mod, ~(n >> 63));
  50602. sp_521_norm_9(r->y);
  50603. XMEMSET(r->z, 0, sizeof(r->z) / 2);
  50604. r->z[0] = 1;
  50605. }
  50606. #ifdef __cplusplus
  50607. extern "C" {
  50608. #endif
  50609. extern void sp_521_mont_add_9(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  50610. #ifdef __cplusplus
  50611. }
  50612. #endif
  50613. #ifdef __cplusplus
  50614. extern "C" {
  50615. #endif
  50616. extern void sp_521_mont_dbl_9(sp_digit* r, const sp_digit* a, const sp_digit* m);
  50617. #ifdef __cplusplus
  50618. }
  50619. #endif
  50620. #ifdef __cplusplus
  50621. extern "C" {
  50622. #endif
  50623. extern void sp_521_mont_tpl_9(sp_digit* r, const sp_digit* a, const sp_digit* m);
  50624. #ifdef __cplusplus
  50625. }
  50626. #endif
  50627. #ifdef __cplusplus
  50628. extern "C" {
  50629. #endif
  50630. extern void sp_521_mont_sub_9(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  50631. #ifdef __cplusplus
  50632. }
  50633. #endif
  50634. #define sp_521_mont_sub_lower_9 sp_521_mont_sub_9
  50635. #ifdef __cplusplus
  50636. extern "C" {
  50637. #endif
  50638. extern void sp_521_div2_9(sp_digit* r, const sp_digit* a, const sp_digit* m);
  50639. #ifdef __cplusplus
  50640. }
  50641. #endif
  50642. /* Double the Montgomery form projective point p.
  50643. *
  50644. * r Result of doubling point.
  50645. * p Point to double.
  50646. * t Temporary ordinate data.
  50647. */
  50648. #ifdef WOLFSSL_SP_NONBLOCK
  50649. typedef struct sp_521_proj_point_dbl_9_ctx {
  50650. int state;
  50651. sp_digit* t1;
  50652. sp_digit* t2;
  50653. sp_digit* x;
  50654. sp_digit* y;
  50655. sp_digit* z;
  50656. } sp_521_proj_point_dbl_9_ctx;
  50657. static int sp_521_proj_point_dbl_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, const sp_point_521* p, sp_digit* t)
  50658. {
  50659. int err = FP_WOULDBLOCK;
  50660. sp_521_proj_point_dbl_9_ctx* ctx = (sp_521_proj_point_dbl_9_ctx*)sp_ctx->data;
  50661. typedef char ctx_size_test[sizeof(sp_521_proj_point_dbl_9_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  50662. (void)sizeof(ctx_size_test);
  50663. switch (ctx->state) {
  50664. case 0:
  50665. ctx->t1 = t;
  50666. ctx->t2 = t + 2*9;
  50667. ctx->x = r->x;
  50668. ctx->y = r->y;
  50669. ctx->z = r->z;
  50670. /* Put infinity into result. */
  50671. if (r != p) {
  50672. r->infinity = p->infinity;
  50673. }
  50674. ctx->state = 1;
  50675. break;
  50676. case 1:
  50677. /* T1 = Z * Z */
  50678. sp_521_mont_sqr_9(ctx->t1, p->z, p521_mod, p521_mp_mod);
  50679. ctx->state = 2;
  50680. break;
  50681. case 2:
  50682. /* Z = Y * Z */
  50683. sp_521_mont_mul_9(ctx->z, p->y, p->z, p521_mod, p521_mp_mod);
  50684. ctx->state = 3;
  50685. break;
  50686. case 3:
  50687. /* Z = 2Z */
  50688. sp_521_mont_dbl_9(ctx->z, ctx->z, p521_mod);
  50689. ctx->state = 4;
  50690. break;
  50691. case 4:
  50692. /* T2 = X - T1 */
  50693. sp_521_mont_sub_9(ctx->t2, p->x, ctx->t1, p521_mod);
  50694. ctx->state = 5;
  50695. break;
  50696. case 5:
  50697. /* T1 = X + T1 */
  50698. sp_521_mont_add_9(ctx->t1, p->x, ctx->t1, p521_mod);
  50699. ctx->state = 6;
  50700. break;
  50701. case 6:
  50702. /* T2 = T1 * T2 */
  50703. sp_521_mont_mul_9(ctx->t2, ctx->t1, ctx->t2, p521_mod, p521_mp_mod);
  50704. ctx->state = 7;
  50705. break;
  50706. case 7:
  50707. /* T1 = 3T2 */
  50708. sp_521_mont_tpl_9(ctx->t1, ctx->t2, p521_mod);
  50709. ctx->state = 8;
  50710. break;
  50711. case 8:
  50712. /* Y = 2Y */
  50713. sp_521_mont_dbl_9(ctx->y, p->y, p521_mod);
  50714. ctx->state = 9;
  50715. break;
  50716. case 9:
  50717. /* Y = Y * Y */
  50718. sp_521_mont_sqr_9(ctx->y, ctx->y, p521_mod, p521_mp_mod);
  50719. ctx->state = 10;
  50720. break;
  50721. case 10:
  50722. /* T2 = Y * Y */
  50723. sp_521_mont_sqr_9(ctx->t2, ctx->y, p521_mod, p521_mp_mod);
  50724. ctx->state = 11;
  50725. break;
  50726. case 11:
  50727. /* T2 = T2/2 */
  50728. sp_521_div2_9(ctx->t2, ctx->t2, p521_mod);
  50729. ctx->state = 12;
  50730. break;
  50731. case 12:
  50732. /* Y = Y * X */
  50733. sp_521_mont_mul_9(ctx->y, ctx->y, p->x, p521_mod, p521_mp_mod);
  50734. ctx->state = 13;
  50735. break;
  50736. case 13:
  50737. /* X = T1 * T1 */
  50738. sp_521_mont_sqr_9(ctx->x, ctx->t1, p521_mod, p521_mp_mod);
  50739. ctx->state = 14;
  50740. break;
  50741. case 14:
  50742. /* X = X - Y */
  50743. sp_521_mont_sub_9(ctx->x, ctx->x, ctx->y, p521_mod);
  50744. ctx->state = 15;
  50745. break;
  50746. case 15:
  50747. /* X = X - Y */
  50748. sp_521_mont_sub_9(ctx->x, ctx->x, ctx->y, p521_mod);
  50749. ctx->state = 16;
  50750. break;
  50751. case 16:
  50752. /* Y = Y - X */
  50753. sp_521_mont_sub_lower_9(ctx->y, ctx->y, ctx->x, p521_mod);
  50754. ctx->state = 17;
  50755. break;
  50756. case 17:
  50757. /* Y = Y * T1 */
  50758. sp_521_mont_mul_9(ctx->y, ctx->y, ctx->t1, p521_mod, p521_mp_mod);
  50759. ctx->state = 18;
  50760. break;
  50761. case 18:
  50762. /* Y = Y - T2 */
  50763. sp_521_mont_sub_9(ctx->y, ctx->y, ctx->t2, p521_mod);
  50764. ctx->state = 19;
  50765. /* fall-through */
  50766. case 19:
  50767. err = MP_OKAY;
  50768. break;
  50769. }
  50770. if (err == MP_OKAY && ctx->state != 19) {
  50771. err = FP_WOULDBLOCK;
  50772. }
  50773. return err;
  50774. }
  50775. #endif /* WOLFSSL_SP_NONBLOCK */
  50776. static void sp_521_proj_point_dbl_9(sp_point_521* r, const sp_point_521* p,
  50777. sp_digit* t)
  50778. {
  50779. sp_digit* t1 = t;
  50780. sp_digit* t2 = t + 2*9;
  50781. sp_digit* x;
  50782. sp_digit* y;
  50783. sp_digit* z;
  50784. x = r->x;
  50785. y = r->y;
  50786. z = r->z;
  50787. /* Put infinity into result. */
  50788. if (r != p) {
  50789. r->infinity = p->infinity;
  50790. }
  50791. /* T1 = Z * Z */
  50792. sp_521_mont_sqr_9(t1, p->z, p521_mod, p521_mp_mod);
  50793. /* Z = Y * Z */
  50794. sp_521_mont_mul_9(z, p->y, p->z, p521_mod, p521_mp_mod);
  50795. /* Z = 2Z */
  50796. sp_521_mont_dbl_9(z, z, p521_mod);
  50797. /* T2 = X - T1 */
  50798. sp_521_mont_sub_9(t2, p->x, t1, p521_mod);
  50799. /* T1 = X + T1 */
  50800. sp_521_mont_add_9(t1, p->x, t1, p521_mod);
  50801. /* T2 = T1 * T2 */
  50802. sp_521_mont_mul_9(t2, t1, t2, p521_mod, p521_mp_mod);
  50803. /* T1 = 3T2 */
  50804. sp_521_mont_tpl_9(t1, t2, p521_mod);
  50805. /* Y = 2Y */
  50806. sp_521_mont_dbl_9(y, p->y, p521_mod);
  50807. /* Y = Y * Y */
  50808. sp_521_mont_sqr_9(y, y, p521_mod, p521_mp_mod);
  50809. /* T2 = Y * Y */
  50810. sp_521_mont_sqr_9(t2, y, p521_mod, p521_mp_mod);
  50811. /* T2 = T2/2 */
  50812. sp_521_div2_9(t2, t2, p521_mod);
  50813. /* Y = Y * X */
  50814. sp_521_mont_mul_9(y, y, p->x, p521_mod, p521_mp_mod);
  50815. /* X = T1 * T1 */
  50816. sp_521_mont_sqr_9(x, t1, p521_mod, p521_mp_mod);
  50817. /* X = X - Y */
  50818. sp_521_mont_sub_9(x, x, y, p521_mod);
  50819. /* X = X - Y */
  50820. sp_521_mont_sub_9(x, x, y, p521_mod);
  50821. /* Y = Y - X */
  50822. sp_521_mont_sub_lower_9(y, y, x, p521_mod);
  50823. /* Y = Y * T1 */
  50824. sp_521_mont_mul_9(y, y, t1, p521_mod, p521_mp_mod);
  50825. /* Y = Y - T2 */
  50826. sp_521_mont_sub_9(y, y, t2, p521_mod);
  50827. }
  50828. #define sp_521_mont_dbl_lower_9 sp_521_mont_dbl_9
  50829. #define sp_521_mont_tpl_lower_9 sp_521_mont_tpl_9
  50830. /* Double the Montgomery form projective point p a number of times.
  50831. *
  50832. * r Result of repeated doubling of point.
  50833. * p Point to double.
  50834. * n Number of times to double
  50835. * t Temporary ordinate data.
  50836. */
  50837. static void sp_521_proj_point_dbl_n_9(sp_point_521* p, int i,
  50838. sp_digit* t)
  50839. {
  50840. sp_digit* w = t;
  50841. sp_digit* a = t + 2*9;
  50842. sp_digit* b = t + 4*9;
  50843. sp_digit* t1 = t + 6*9;
  50844. sp_digit* t2 = t + 8*9;
  50845. sp_digit* x;
  50846. sp_digit* y;
  50847. sp_digit* z;
  50848. volatile int n = i;
  50849. x = p->x;
  50850. y = p->y;
  50851. z = p->z;
  50852. /* Y = 2*Y */
  50853. sp_521_mont_dbl_9(y, y, p521_mod);
  50854. /* W = Z^4 */
  50855. sp_521_mont_sqr_9(w, z, p521_mod, p521_mp_mod);
  50856. sp_521_mont_sqr_9(w, w, p521_mod, p521_mp_mod);
  50857. #ifndef WOLFSSL_SP_SMALL
  50858. while (--n > 0)
  50859. #else
  50860. while (--n >= 0)
  50861. #endif
  50862. {
  50863. /* A = 3*(X^2 - W) */
  50864. sp_521_mont_sqr_9(t1, x, p521_mod, p521_mp_mod);
  50865. sp_521_mont_sub_9(t1, t1, w, p521_mod);
  50866. sp_521_mont_tpl_lower_9(a, t1, p521_mod);
  50867. /* B = X*Y^2 */
  50868. sp_521_mont_sqr_9(t1, y, p521_mod, p521_mp_mod);
  50869. sp_521_mont_mul_9(b, t1, x, p521_mod, p521_mp_mod);
  50870. /* X = A^2 - 2B */
  50871. sp_521_mont_sqr_9(x, a, p521_mod, p521_mp_mod);
  50872. sp_521_mont_dbl_9(t2, b, p521_mod);
  50873. sp_521_mont_sub_9(x, x, t2, p521_mod);
  50874. /* b = 2.(B - X) */
  50875. sp_521_mont_sub_lower_9(t2, b, x, p521_mod);
  50876. sp_521_mont_dbl_lower_9(b, t2, p521_mod);
  50877. /* Z = Z*Y */
  50878. sp_521_mont_mul_9(z, z, y, p521_mod, p521_mp_mod);
  50879. /* t1 = Y^4 */
  50880. sp_521_mont_sqr_9(t1, t1, p521_mod, p521_mp_mod);
  50881. #ifdef WOLFSSL_SP_SMALL
  50882. if (n != 0)
  50883. #endif
  50884. {
  50885. /* W = W*Y^4 */
  50886. sp_521_mont_mul_9(w, w, t1, p521_mod, p521_mp_mod);
  50887. }
  50888. /* y = 2*A*(B - X) - Y^4 */
  50889. sp_521_mont_mul_9(y, b, a, p521_mod, p521_mp_mod);
  50890. sp_521_mont_sub_9(y, y, t1, p521_mod);
  50891. }
  50892. #ifndef WOLFSSL_SP_SMALL
  50893. /* A = 3*(X^2 - W) */
  50894. sp_521_mont_sqr_9(t1, x, p521_mod, p521_mp_mod);
  50895. sp_521_mont_sub_9(t1, t1, w, p521_mod);
  50896. sp_521_mont_tpl_lower_9(a, t1, p521_mod);
  50897. /* B = X*Y^2 */
  50898. sp_521_mont_sqr_9(t1, y, p521_mod, p521_mp_mod);
  50899. sp_521_mont_mul_9(b, t1, x, p521_mod, p521_mp_mod);
  50900. /* X = A^2 - 2B */
  50901. sp_521_mont_sqr_9(x, a, p521_mod, p521_mp_mod);
  50902. sp_521_mont_dbl_9(t2, b, p521_mod);
  50903. sp_521_mont_sub_9(x, x, t2, p521_mod);
  50904. /* b = 2.(B - X) */
  50905. sp_521_mont_sub_lower_9(t2, b, x, p521_mod);
  50906. sp_521_mont_dbl_lower_9(b, t2, p521_mod);
  50907. /* Z = Z*Y */
  50908. sp_521_mont_mul_9(z, z, y, p521_mod, p521_mp_mod);
  50909. /* t1 = Y^4 */
  50910. sp_521_mont_sqr_9(t1, t1, p521_mod, p521_mp_mod);
  50911. /* y = 2*A*(B - X) - Y^4 */
  50912. sp_521_mont_mul_9(y, b, a, p521_mod, p521_mp_mod);
  50913. sp_521_mont_sub_9(y, y, t1, p521_mod);
  50914. #endif
  50915. /* Y = Y/2 */
  50916. sp_521_div2_9(y, y, p521_mod);
  50917. }
  50918. /* Compare two numbers to determine if they are equal.
  50919. * Constant time implementation.
  50920. *
  50921. * a First number to compare.
  50922. * b Second number to compare.
  50923. * returns 1 when equal and 0 otherwise.
  50924. */
  50925. static int sp_521_cmp_equal_9(const sp_digit* a, const sp_digit* b)
  50926. {
  50927. return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) |
  50928. (a[3] ^ b[3]) | (a[4] ^ b[4]) | (a[5] ^ b[5]) |
  50929. (a[6] ^ b[6]) | (a[7] ^ b[7]) | (a[8] ^ b[8])) == 0;
  50930. }
  50931. /* Returns 1 if the number of zero.
  50932. * Implementation is constant time.
  50933. *
  50934. * a Number to check.
  50935. * returns 1 if the number is zero and 0 otherwise.
  50936. */
  50937. static int sp_521_iszero_9(const sp_digit* a)
  50938. {
  50939. return (a[0] | a[1] | a[2] | a[3] | a[4] | a[5] | a[6] | a[7] |
  50940. a[8]) == 0;
  50941. }
  50942. /* Add two Montgomery form projective points.
  50943. *
  50944. * r Result of addition.
  50945. * p First point to add.
  50946. * q Second point to add.
  50947. * t Temporary ordinate data.
  50948. */
  50949. #ifdef WOLFSSL_SP_NONBLOCK
  50950. typedef struct sp_521_proj_point_add_9_ctx {
  50951. int state;
  50952. sp_521_proj_point_dbl_9_ctx dbl_ctx;
  50953. const sp_point_521* ap[2];
  50954. sp_point_521* rp[2];
  50955. sp_digit* t1;
  50956. sp_digit* t2;
  50957. sp_digit* t3;
  50958. sp_digit* t4;
  50959. sp_digit* t5;
  50960. sp_digit* t6;
  50961. sp_digit* x;
  50962. sp_digit* y;
  50963. sp_digit* z;
  50964. } sp_521_proj_point_add_9_ctx;
  50965. static int sp_521_proj_point_add_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r,
  50966. const sp_point_521* p, const sp_point_521* q, sp_digit* t)
  50967. {
  50968. int err = FP_WOULDBLOCK;
  50969. sp_521_proj_point_add_9_ctx* ctx = (sp_521_proj_point_add_9_ctx*)sp_ctx->data;
  50970. /* Ensure only the first point is the same as the result. */
  50971. if (q == r) {
  50972. const sp_point_521* a = p;
  50973. p = q;
  50974. q = a;
  50975. }
  50976. typedef char ctx_size_test[sizeof(sp_521_proj_point_add_9_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  50977. (void)sizeof(ctx_size_test);
  50978. switch (ctx->state) {
  50979. case 0: /* INIT */
  50980. ctx->t1 = t;
  50981. ctx->t2 = t + 2*9;
  50982. ctx->t3 = t + 4*9;
  50983. ctx->t4 = t + 6*9;
  50984. ctx->t5 = t + 8*9;
  50985. ctx->t6 = t + 10*9;
  50986. ctx->x = ctx->t6;
  50987. ctx->y = ctx->t1;
  50988. ctx->z = ctx->t2;
  50989. ctx->state = 1;
  50990. break;
  50991. case 1:
  50992. /* Check double */
  50993. (void)sp_521_sub_9(ctx->t1, p521_mod, q->y);
  50994. sp_521_norm_9(ctx->t1);
  50995. if ((~p->infinity & ~q->infinity &
  50996. sp_521_cmp_equal_9(p->x, q->x) & sp_521_cmp_equal_9(p->z, q->z) &
  50997. (sp_521_cmp_equal_9(p->y, q->y) | sp_521_cmp_equal_9(p->y, ctx->t1))) != 0)
  50998. {
  50999. XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx));
  51000. ctx->state = 2;
  51001. }
  51002. else {
  51003. ctx->state = 3;
  51004. }
  51005. break;
  51006. case 2:
  51007. err = sp_521_proj_point_dbl_9_nb((sp_ecc_ctx_t*)&ctx->dbl_ctx, r, p, t);
  51008. if (err == MP_OKAY)
  51009. ctx->state = 27; /* done */
  51010. break;
  51011. case 3:
  51012. {
  51013. ctx->state = 4;
  51014. break;
  51015. }
  51016. case 4:
  51017. /* U1 = X1*Z2^2 */
  51018. sp_521_mont_sqr_9(ctx->t1, q->z, p521_mod, p521_mp_mod);
  51019. ctx->state = 5;
  51020. break;
  51021. case 5:
  51022. sp_521_mont_mul_9(ctx->t3, ctx->t1, q->z, p521_mod, p521_mp_mod);
  51023. ctx->state = 6;
  51024. break;
  51025. case 6:
  51026. sp_521_mont_mul_9(ctx->t1, ctx->t1, p->x, p521_mod, p521_mp_mod);
  51027. ctx->state = 7;
  51028. break;
  51029. case 7:
  51030. /* U2 = X2*Z1^2 */
  51031. sp_521_mont_sqr_9(ctx->t2, p->z, p521_mod, p521_mp_mod);
  51032. ctx->state = 8;
  51033. break;
  51034. case 8:
  51035. sp_521_mont_mul_9(ctx->t4, ctx->t2, p->z, p521_mod, p521_mp_mod);
  51036. ctx->state = 9;
  51037. break;
  51038. case 9:
  51039. sp_521_mont_mul_9(ctx->t2, ctx->t2, q->x, p521_mod, p521_mp_mod);
  51040. ctx->state = 10;
  51041. break;
  51042. case 10:
  51043. /* S1 = Y1*Z2^3 */
  51044. sp_521_mont_mul_9(ctx->t3, ctx->t3, p->y, p521_mod, p521_mp_mod);
  51045. ctx->state = 11;
  51046. break;
  51047. case 11:
  51048. /* S2 = Y2*Z1^3 */
  51049. sp_521_mont_mul_9(ctx->t4, ctx->t4, q->y, p521_mod, p521_mp_mod);
  51050. ctx->state = 12;
  51051. break;
  51052. case 12:
  51053. /* H = U2 - U1 */
  51054. sp_521_mont_sub_9(ctx->t2, ctx->t2, ctx->t1, p521_mod);
  51055. ctx->state = 13;
  51056. break;
  51057. case 13:
  51058. /* R = S2 - S1 */
  51059. sp_521_mont_sub_9(ctx->t4, ctx->t4, ctx->t3, p521_mod);
  51060. ctx->state = 14;
  51061. break;
  51062. case 14:
  51063. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  51064. sp_521_mont_sqr_9(ctx->t5, ctx->t2, p521_mod, p521_mp_mod);
  51065. ctx->state = 15;
  51066. break;
  51067. case 15:
  51068. sp_521_mont_mul_9(ctx->y, ctx->t1, ctx->t5, p521_mod, p521_mp_mod);
  51069. ctx->state = 16;
  51070. break;
  51071. case 16:
  51072. sp_521_mont_mul_9(ctx->t5, ctx->t5, ctx->t2, p521_mod, p521_mp_mod);
  51073. ctx->state = 17;
  51074. break;
  51075. case 17:
  51076. /* Z3 = H*Z1*Z2 */
  51077. sp_521_mont_mul_9(ctx->z, p->z, ctx->t2, p521_mod, p521_mp_mod);
  51078. ctx->state = 18;
  51079. break;
  51080. case 18:
  51081. sp_521_mont_mul_9(ctx->z, ctx->z, q->z, p521_mod, p521_mp_mod);
  51082. ctx->state = 19;
  51083. break;
  51084. case 19:
  51085. sp_521_mont_sqr_9(ctx->x, ctx->t4, p521_mod, p521_mp_mod);
  51086. ctx->state = 20;
  51087. break;
  51088. case 20:
  51089. sp_521_mont_sub_9(ctx->x, ctx->x, ctx->t5, p521_mod);
  51090. ctx->state = 21;
  51091. break;
  51092. case 21:
  51093. sp_521_mont_mul_9(ctx->t5, ctx->t5, ctx->t3, p521_mod, p521_mp_mod);
  51094. ctx->state = 22;
  51095. break;
  51096. case 22:
  51097. sp_521_mont_dbl_9(ctx->t3, ctx->y, p521_mod);
  51098. ctx->state = 23;
  51099. break;
  51100. case 23:
  51101. sp_521_mont_sub_9(ctx->x, ctx->x, ctx->t3, p521_mod);
  51102. ctx->state = 24;
  51103. break;
  51104. case 24:
  51105. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  51106. sp_521_mont_sub_lower_9(ctx->y, ctx->y, ctx->x, p521_mod);
  51107. ctx->state = 25;
  51108. break;
  51109. case 25:
  51110. sp_521_mont_mul_9(ctx->y, ctx->y, ctx->t4, p521_mod, p521_mp_mod);
  51111. ctx->state = 26;
  51112. break;
  51113. case 26:
  51114. sp_521_mont_sub_9(ctx->y, ctx->y, ctx->t5, p521_mod);
  51115. ctx->state = 27;
  51116. /* fall-through */
  51117. case 27:
  51118. {
  51119. int i;
  51120. sp_digit maskp = 0 - (q->infinity & (!p->infinity));
  51121. sp_digit maskq = 0 - (p->infinity & (!q->infinity));
  51122. sp_digit maskt = ~(maskp | maskq);
  51123. for (i = 0; i < 9; i++) {
  51124. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  51125. (ctx->x[i] & maskt);
  51126. }
  51127. for (i = 0; i < 9; i++) {
  51128. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  51129. (ctx->y[i] & maskt);
  51130. }
  51131. for (i = 0; i < 9; i++) {
  51132. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  51133. (ctx->z[i] & maskt);
  51134. }
  51135. r->z[0] |= p->infinity & q->infinity;
  51136. r->infinity = p->infinity & q->infinity;
  51137. err = MP_OKAY;
  51138. break;
  51139. }
  51140. }
  51141. if (err == MP_OKAY && ctx->state != 27) {
  51142. err = FP_WOULDBLOCK;
  51143. }
  51144. return err;
  51145. }
  51146. #endif /* WOLFSSL_SP_NONBLOCK */
  51147. static void sp_521_proj_point_add_9(sp_point_521* r,
  51148. const sp_point_521* p, const sp_point_521* q, sp_digit* t)
  51149. {
  51150. sp_digit* t1 = t;
  51151. sp_digit* t2 = t + 2*9;
  51152. sp_digit* t3 = t + 4*9;
  51153. sp_digit* t4 = t + 6*9;
  51154. sp_digit* t5 = t + 8*9;
  51155. sp_digit* t6 = t + 10*9;
  51156. /* Check double */
  51157. (void)sp_521_sub_9(t1, p521_mod, q->y);
  51158. sp_521_norm_9(t1);
  51159. if ((~p->infinity & ~q->infinity &
  51160. sp_521_cmp_equal_9(p->x, q->x) & sp_521_cmp_equal_9(p->z, q->z) &
  51161. (sp_521_cmp_equal_9(p->y, q->y) | sp_521_cmp_equal_9(p->y, t1))) != 0) {
  51162. sp_521_proj_point_dbl_9(r, p, t);
  51163. }
  51164. else {
  51165. sp_digit maskp;
  51166. sp_digit maskq;
  51167. sp_digit maskt;
  51168. sp_digit* x = t6;
  51169. sp_digit* y = t1;
  51170. sp_digit* z = t2;
  51171. int i;
  51172. maskp = 0 - (q->infinity & (!p->infinity));
  51173. maskq = 0 - (p->infinity & (!q->infinity));
  51174. maskt = ~(maskp | maskq);
  51175. /* U1 = X1*Z2^2 */
  51176. sp_521_mont_sqr_9(t1, q->z, p521_mod, p521_mp_mod);
  51177. sp_521_mont_mul_9(t3, t1, q->z, p521_mod, p521_mp_mod);
  51178. sp_521_mont_mul_9(t1, t1, p->x, p521_mod, p521_mp_mod);
  51179. /* U2 = X2*Z1^2 */
  51180. sp_521_mont_sqr_9(t2, p->z, p521_mod, p521_mp_mod);
  51181. sp_521_mont_mul_9(t4, t2, p->z, p521_mod, p521_mp_mod);
  51182. sp_521_mont_mul_9(t2, t2, q->x, p521_mod, p521_mp_mod);
  51183. /* S1 = Y1*Z2^3 */
  51184. sp_521_mont_mul_9(t3, t3, p->y, p521_mod, p521_mp_mod);
  51185. /* S2 = Y2*Z1^3 */
  51186. sp_521_mont_mul_9(t4, t4, q->y, p521_mod, p521_mp_mod);
  51187. /* H = U2 - U1 */
  51188. sp_521_mont_sub_9(t2, t2, t1, p521_mod);
  51189. /* R = S2 - S1 */
  51190. sp_521_mont_sub_9(t4, t4, t3, p521_mod);
  51191. if (~p->infinity & ~q->infinity &
  51192. sp_521_iszero_9(t2) & sp_521_iszero_9(t4) & maskt) {
  51193. sp_521_proj_point_dbl_9(r, p, t);
  51194. }
  51195. else {
  51196. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  51197. sp_521_mont_sqr_9(t5, t2, p521_mod, p521_mp_mod);
  51198. sp_521_mont_mul_9(y, t1, t5, p521_mod, p521_mp_mod);
  51199. sp_521_mont_mul_9(t5, t5, t2, p521_mod, p521_mp_mod);
  51200. /* Z3 = H*Z1*Z2 */
  51201. sp_521_mont_mul_9(z, p->z, t2, p521_mod, p521_mp_mod);
  51202. sp_521_mont_mul_9(z, z, q->z, p521_mod, p521_mp_mod);
  51203. sp_521_mont_sqr_9(x, t4, p521_mod, p521_mp_mod);
  51204. sp_521_mont_sub_9(x, x, t5, p521_mod);
  51205. sp_521_mont_mul_9(t5, t5, t3, p521_mod, p521_mp_mod);
  51206. sp_521_mont_dbl_9(t3, y, p521_mod);
  51207. sp_521_mont_sub_9(x, x, t3, p521_mod);
  51208. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  51209. sp_521_mont_sub_lower_9(y, y, x, p521_mod);
  51210. sp_521_mont_mul_9(y, y, t4, p521_mod, p521_mp_mod);
  51211. sp_521_mont_sub_9(y, y, t5, p521_mod);
  51212. for (i = 0; i < 9; i++) {
  51213. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  51214. (x[i] & maskt);
  51215. }
  51216. for (i = 0; i < 9; i++) {
  51217. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  51218. (y[i] & maskt);
  51219. }
  51220. for (i = 0; i < 9; i++) {
  51221. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  51222. (z[i] & maskt);
  51223. }
  51224. r->z[0] |= p->infinity & q->infinity;
  51225. r->infinity = p->infinity & q->infinity;
  51226. }
  51227. }
  51228. }
  51229. /* Double the Montgomery form projective point p a number of times.
  51230. *
  51231. * r Result of repeated doubling of point.
  51232. * p Point to double.
  51233. * n Number of times to double
  51234. * t Temporary ordinate data.
  51235. */
  51236. static void sp_521_proj_point_dbl_n_store_9(sp_point_521* r,
  51237. const sp_point_521* p, int n, int m, sp_digit* t)
  51238. {
  51239. sp_digit* w = t;
  51240. sp_digit* a = t + 2*9;
  51241. sp_digit* b = t + 4*9;
  51242. sp_digit* t1 = t + 6*9;
  51243. sp_digit* t2 = t + 8*9;
  51244. sp_digit* x = r[2*m].x;
  51245. sp_digit* y = r[(1<<n)*m].y;
  51246. sp_digit* z = r[2*m].z;
  51247. int i;
  51248. int j;
  51249. for (i=0; i<9; i++) {
  51250. x[i] = p->x[i];
  51251. }
  51252. for (i=0; i<9; i++) {
  51253. y[i] = p->y[i];
  51254. }
  51255. for (i=0; i<9; i++) {
  51256. z[i] = p->z[i];
  51257. }
  51258. /* Y = 2*Y */
  51259. sp_521_mont_dbl_9(y, y, p521_mod);
  51260. /* W = Z^4 */
  51261. sp_521_mont_sqr_9(w, z, p521_mod, p521_mp_mod);
  51262. sp_521_mont_sqr_9(w, w, p521_mod, p521_mp_mod);
  51263. j = m;
  51264. for (i=1; i<=n; i++) {
  51265. j *= 2;
  51266. /* A = 3*(X^2 - W) */
  51267. sp_521_mont_sqr_9(t1, x, p521_mod, p521_mp_mod);
  51268. sp_521_mont_sub_9(t1, t1, w, p521_mod);
  51269. sp_521_mont_tpl_lower_9(a, t1, p521_mod);
  51270. /* B = X*Y^2 */
  51271. sp_521_mont_sqr_9(t1, y, p521_mod, p521_mp_mod);
  51272. sp_521_mont_mul_9(b, t1, x, p521_mod, p521_mp_mod);
  51273. x = r[j].x;
  51274. /* X = A^2 - 2B */
  51275. sp_521_mont_sqr_9(x, a, p521_mod, p521_mp_mod);
  51276. sp_521_mont_dbl_9(t2, b, p521_mod);
  51277. sp_521_mont_sub_9(x, x, t2, p521_mod);
  51278. /* b = 2.(B - X) */
  51279. sp_521_mont_sub_lower_9(t2, b, x, p521_mod);
  51280. sp_521_mont_dbl_lower_9(b, t2, p521_mod);
  51281. /* Z = Z*Y */
  51282. sp_521_mont_mul_9(r[j].z, z, y, p521_mod, p521_mp_mod);
  51283. z = r[j].z;
  51284. /* t1 = Y^4 */
  51285. sp_521_mont_sqr_9(t1, t1, p521_mod, p521_mp_mod);
  51286. if (i != n) {
  51287. /* W = W*Y^4 */
  51288. sp_521_mont_mul_9(w, w, t1, p521_mod, p521_mp_mod);
  51289. }
  51290. /* y = 2*A*(B - X) - Y^4 */
  51291. sp_521_mont_mul_9(y, b, a, p521_mod, p521_mp_mod);
  51292. sp_521_mont_sub_9(y, y, t1, p521_mod);
  51293. /* Y = Y/2 */
  51294. sp_521_div2_9(r[j].y, y, p521_mod);
  51295. r[j].infinity = 0;
  51296. }
  51297. }
  51298. /* Add two Montgomery form projective points.
  51299. *
  51300. * ra Result of addition.
  51301. * rs Result of subtraction.
  51302. * p First point to add.
  51303. * q Second point to add.
  51304. * t Temporary ordinate data.
  51305. */
  51306. static void sp_521_proj_point_add_sub_9(sp_point_521* ra,
  51307. sp_point_521* rs, const sp_point_521* p, const sp_point_521* q,
  51308. sp_digit* t)
  51309. {
  51310. sp_digit* t1 = t;
  51311. sp_digit* t2 = t + 2*9;
  51312. sp_digit* t3 = t + 4*9;
  51313. sp_digit* t4 = t + 6*9;
  51314. sp_digit* t5 = t + 8*9;
  51315. sp_digit* t6 = t + 10*9;
  51316. sp_digit* xa = ra->x;
  51317. sp_digit* ya = ra->y;
  51318. sp_digit* za = ra->z;
  51319. sp_digit* xs = rs->x;
  51320. sp_digit* ys = rs->y;
  51321. sp_digit* zs = rs->z;
  51322. XMEMCPY(xa, p->x, sizeof(p->x) / 2);
  51323. XMEMCPY(ya, p->y, sizeof(p->y) / 2);
  51324. XMEMCPY(za, p->z, sizeof(p->z) / 2);
  51325. ra->infinity = 0;
  51326. rs->infinity = 0;
  51327. /* U1 = X1*Z2^2 */
  51328. sp_521_mont_sqr_9(t1, q->z, p521_mod, p521_mp_mod);
  51329. sp_521_mont_mul_9(t3, t1, q->z, p521_mod, p521_mp_mod);
  51330. sp_521_mont_mul_9(t1, t1, xa, p521_mod, p521_mp_mod);
  51331. /* U2 = X2*Z1^2 */
  51332. sp_521_mont_sqr_9(t2, za, p521_mod, p521_mp_mod);
  51333. sp_521_mont_mul_9(t4, t2, za, p521_mod, p521_mp_mod);
  51334. sp_521_mont_mul_9(t2, t2, q->x, p521_mod, p521_mp_mod);
  51335. /* S1 = Y1*Z2^3 */
  51336. sp_521_mont_mul_9(t3, t3, ya, p521_mod, p521_mp_mod);
  51337. /* S2 = Y2*Z1^3 */
  51338. sp_521_mont_mul_9(t4, t4, q->y, p521_mod, p521_mp_mod);
  51339. /* H = U2 - U1 */
  51340. sp_521_mont_sub_9(t2, t2, t1, p521_mod);
  51341. /* RS = S2 + S1 */
  51342. sp_521_mont_add_9(t6, t4, t3, p521_mod);
  51343. /* R = S2 - S1 */
  51344. sp_521_mont_sub_9(t4, t4, t3, p521_mod);
  51345. /* Z3 = H*Z1*Z2 */
  51346. /* ZS = H*Z1*Z2 */
  51347. sp_521_mont_mul_9(za, za, q->z, p521_mod, p521_mp_mod);
  51348. sp_521_mont_mul_9(za, za, t2, p521_mod, p521_mp_mod);
  51349. XMEMCPY(zs, za, sizeof(p->z)/2);
  51350. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  51351. /* XS = RS^2 - H^3 - 2*U1*H^2 */
  51352. sp_521_mont_sqr_9(xa, t4, p521_mod, p521_mp_mod);
  51353. sp_521_mont_sqr_9(xs, t6, p521_mod, p521_mp_mod);
  51354. sp_521_mont_sqr_9(t5, t2, p521_mod, p521_mp_mod);
  51355. sp_521_mont_mul_9(ya, t1, t5, p521_mod, p521_mp_mod);
  51356. sp_521_mont_mul_9(t5, t5, t2, p521_mod, p521_mp_mod);
  51357. sp_521_mont_sub_9(xa, xa, t5, p521_mod);
  51358. sp_521_mont_sub_9(xs, xs, t5, p521_mod);
  51359. sp_521_mont_dbl_9(t1, ya, p521_mod);
  51360. sp_521_mont_sub_9(xa, xa, t1, p521_mod);
  51361. sp_521_mont_sub_9(xs, xs, t1, p521_mod);
  51362. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  51363. /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */
  51364. sp_521_mont_sub_lower_9(ys, ya, xs, p521_mod);
  51365. sp_521_mont_sub_lower_9(ya, ya, xa, p521_mod);
  51366. sp_521_mont_mul_9(ya, ya, t4, p521_mod, p521_mp_mod);
  51367. sp_521_sub_9(t6, p521_mod, t6);
  51368. sp_521_mont_mul_9(ys, ys, t6, p521_mod, p521_mp_mod);
  51369. sp_521_mont_mul_9(t5, t5, t3, p521_mod, p521_mp_mod);
  51370. sp_521_mont_sub_9(ya, ya, t5, p521_mod);
  51371. sp_521_mont_sub_9(ys, ys, t5, p521_mod);
  51372. }
  51373. /* Structure used to describe recoding of scalar multiplication. */
  51374. typedef struct ecc_recode_521 {
  51375. /* Index into pre-computation table. */
  51376. uint8_t i;
  51377. /* Use the negative of the point. */
  51378. uint8_t neg;
  51379. } ecc_recode_521;
  51380. /* The index into pre-computation table to use. */
  51381. static const uint8_t recode_index_9_6[66] = {
  51382. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  51383. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  51384. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  51385. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  51386. 0, 1,
  51387. };
  51388. /* Whether to negate y-ordinate. */
  51389. static const uint8_t recode_neg_9_6[66] = {
  51390. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  51391. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  51392. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  51393. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  51394. 0, 0,
  51395. };
  51396. /* Recode the scalar for multiplication using pre-computed values and
  51397. * subtraction.
  51398. *
  51399. * k Scalar to multiply by.
  51400. * v Vector of operations to perform.
  51401. */
  51402. static void sp_521_ecc_recode_6_9(const sp_digit* k, ecc_recode_521* v)
  51403. {
  51404. int i;
  51405. int j;
  51406. uint8_t y;
  51407. int carry = 0;
  51408. int o;
  51409. sp_digit n;
  51410. j = 0;
  51411. n = k[j];
  51412. o = 0;
  51413. for (i=0; i<87; i++) {
  51414. y = (int8_t)n;
  51415. if (o + 6 < 64) {
  51416. y &= 0x3f;
  51417. n >>= 6;
  51418. o += 6;
  51419. }
  51420. else if (o + 6 == 64) {
  51421. n >>= 6;
  51422. if (++j < 9)
  51423. n = k[j];
  51424. o = 0;
  51425. }
  51426. else if (++j < 9) {
  51427. n = k[j];
  51428. y |= (uint8_t)((n << (64 - o)) & 0x3f);
  51429. o -= 58;
  51430. n >>= o;
  51431. }
  51432. y += (uint8_t)carry;
  51433. v[i].i = recode_index_9_6[y];
  51434. v[i].neg = recode_neg_9_6[y];
  51435. carry = (y >> 6) + v[i].neg;
  51436. }
  51437. }
  51438. #ifdef __cplusplus
  51439. extern "C" {
  51440. #endif
  51441. extern void sp_521_get_point_33_9(sp_point_521* r, const sp_point_521* table, int idx);
  51442. #ifdef __cplusplus
  51443. }
  51444. #endif
  51445. #ifdef __cplusplus
  51446. extern "C" {
  51447. #endif
  51448. extern void sp_521_get_point_33_avx2_9(sp_point_521* r, const sp_point_521* table, int idx);
  51449. #ifdef __cplusplus
  51450. }
  51451. #endif
  51452. /* Multiply the point by the scalar and return the result.
  51453. * If map is true then convert result to affine coordinates.
  51454. *
  51455. * Window technique of 6 bits. (Add-Sub variation.)
  51456. * Calculate 0..32 times the point. Use function that adds and
  51457. * subtracts the same two points.
  51458. * Recode to add or subtract one of the computed points.
  51459. * Double to push up.
  51460. * NOT a sliding window.
  51461. *
  51462. * r Resulting point.
  51463. * g Point to multiply.
  51464. * k Scalar to multiply by.
  51465. * map Indicates whether to convert result to affine.
  51466. * ct Constant time required.
  51467. * heap Heap to use for allocation.
  51468. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  51469. */
  51470. static int sp_521_ecc_mulmod_win_add_sub_9(sp_point_521* r, const sp_point_521* g,
  51471. const sp_digit* k, int map, int ct, void* heap)
  51472. {
  51473. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  51474. sp_point_521* t = NULL;
  51475. sp_digit* tmp = NULL;
  51476. #else
  51477. sp_point_521 t[33+2];
  51478. sp_digit tmp[2 * 9 * 6];
  51479. #endif
  51480. sp_point_521* rt = NULL;
  51481. sp_point_521* p = NULL;
  51482. sp_digit* negy;
  51483. int i;
  51484. ecc_recode_521 v[87];
  51485. int err = MP_OKAY;
  51486. /* Constant time used for cache attack resistance implementation. */
  51487. (void)ct;
  51488. (void)heap;
  51489. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  51490. t = (sp_point_521*)XMALLOC(sizeof(sp_point_521) *
  51491. (33+2), heap, DYNAMIC_TYPE_ECC);
  51492. if (t == NULL)
  51493. err = MEMORY_E;
  51494. if (err == MP_OKAY) {
  51495. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 6,
  51496. heap, DYNAMIC_TYPE_ECC);
  51497. if (tmp == NULL)
  51498. err = MEMORY_E;
  51499. }
  51500. #endif
  51501. if (err == MP_OKAY) {
  51502. rt = t + 33;
  51503. p = t + 33+1;
  51504. /* t[0] = {0, 0, 1} * norm */
  51505. XMEMSET(&t[0], 0, sizeof(t[0]));
  51506. t[0].infinity = 1;
  51507. /* t[1] = {g->x, g->y, g->z} * norm */
  51508. err = sp_521_mod_mul_norm_9(t[1].x, g->x, p521_mod);
  51509. }
  51510. if (err == MP_OKAY) {
  51511. err = sp_521_mod_mul_norm_9(t[1].y, g->y, p521_mod);
  51512. }
  51513. if (err == MP_OKAY) {
  51514. err = sp_521_mod_mul_norm_9(t[1].z, g->z, p521_mod);
  51515. }
  51516. if (err == MP_OKAY) {
  51517. t[1].infinity = 0;
  51518. /* t[2] ... t[32] */
  51519. sp_521_proj_point_dbl_n_store_9(t, &t[ 1], 5, 1, tmp);
  51520. sp_521_proj_point_add_9(&t[ 3], &t[ 2], &t[ 1], tmp);
  51521. sp_521_proj_point_dbl_9(&t[ 6], &t[ 3], tmp);
  51522. sp_521_proj_point_add_sub_9(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp);
  51523. sp_521_proj_point_dbl_9(&t[10], &t[ 5], tmp);
  51524. sp_521_proj_point_add_sub_9(&t[11], &t[ 9], &t[10], &t[ 1], tmp);
  51525. sp_521_proj_point_dbl_9(&t[12], &t[ 6], tmp);
  51526. sp_521_proj_point_dbl_9(&t[14], &t[ 7], tmp);
  51527. sp_521_proj_point_add_sub_9(&t[15], &t[13], &t[14], &t[ 1], tmp);
  51528. sp_521_proj_point_dbl_9(&t[18], &t[ 9], tmp);
  51529. sp_521_proj_point_add_sub_9(&t[19], &t[17], &t[18], &t[ 1], tmp);
  51530. sp_521_proj_point_dbl_9(&t[20], &t[10], tmp);
  51531. sp_521_proj_point_dbl_9(&t[22], &t[11], tmp);
  51532. sp_521_proj_point_add_sub_9(&t[23], &t[21], &t[22], &t[ 1], tmp);
  51533. sp_521_proj_point_dbl_9(&t[24], &t[12], tmp);
  51534. sp_521_proj_point_dbl_9(&t[26], &t[13], tmp);
  51535. sp_521_proj_point_add_sub_9(&t[27], &t[25], &t[26], &t[ 1], tmp);
  51536. sp_521_proj_point_dbl_9(&t[28], &t[14], tmp);
  51537. sp_521_proj_point_dbl_9(&t[30], &t[15], tmp);
  51538. sp_521_proj_point_add_sub_9(&t[31], &t[29], &t[30], &t[ 1], tmp);
  51539. negy = t[0].y;
  51540. sp_521_ecc_recode_6_9(k, v);
  51541. i = 86;
  51542. #ifndef WC_NO_CACHE_RESISTANT
  51543. if (ct) {
  51544. sp_521_get_point_33_9(rt, t, v[i].i);
  51545. rt->infinity = !v[i].i;
  51546. }
  51547. else
  51548. #endif
  51549. {
  51550. XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_521));
  51551. }
  51552. for (--i; i>=0; i--) {
  51553. sp_521_proj_point_dbl_n_9(rt, 6, tmp);
  51554. #ifndef WC_NO_CACHE_RESISTANT
  51555. if (ct) {
  51556. sp_521_get_point_33_9(p, t, v[i].i);
  51557. p->infinity = !v[i].i;
  51558. }
  51559. else
  51560. #endif
  51561. {
  51562. XMEMCPY(p, &t[v[i].i], sizeof(sp_point_521));
  51563. }
  51564. sp_521_sub_9(negy, p521_mod, p->y);
  51565. sp_521_norm_9(negy);
  51566. sp_521_cond_copy_9(p->y, negy, (sp_digit)0 - v[i].neg);
  51567. sp_521_proj_point_add_9(rt, rt, p, tmp);
  51568. }
  51569. if (map != 0) {
  51570. sp_521_map_9(r, rt, tmp);
  51571. }
  51572. else {
  51573. XMEMCPY(r, rt, sizeof(sp_point_521));
  51574. }
  51575. }
  51576. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  51577. if (t != NULL)
  51578. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  51579. if (tmp != NULL)
  51580. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  51581. #endif
  51582. return err;
  51583. }
  51584. #ifdef HAVE_INTEL_AVX2
  51585. #define sp_521_mod_mul_norm_avx2_9 sp_521_mod_mul_norm_9
  51586. #ifdef __cplusplus
  51587. extern "C" {
  51588. #endif
  51589. extern void sp_521_mont_mul_avx2_9(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m, sp_digit mp);
  51590. #ifdef __cplusplus
  51591. }
  51592. #endif
  51593. #ifdef __cplusplus
  51594. extern "C" {
  51595. #endif
  51596. extern void sp_521_mont_sqr_avx2_9(sp_digit* r, const sp_digit* a, const sp_digit* m, sp_digit mp);
  51597. #ifdef __cplusplus
  51598. }
  51599. #endif
  51600. #if !defined(WOLFSSL_SP_SMALL) || defined(HAVE_COMP_KEY)
  51601. /* Square the Montgomery form number a number of times. (r = a ^ n mod m)
  51602. *
  51603. * r Result of squaring.
  51604. * a Number to square in Montgomery form.
  51605. * n Number of times to square.
  51606. * m Modulus (prime).
  51607. * mp Montgomery mulitplier.
  51608. */
  51609. static void sp_521_mont_sqr_n_avx2_9(sp_digit* r, const sp_digit* a, int n,
  51610. const sp_digit* m, sp_digit mp)
  51611. {
  51612. sp_521_mont_sqr_avx2_9(r, a, m, mp);
  51613. for (; n > 1; n--) {
  51614. sp_521_mont_sqr_avx2_9(r, r, m, mp);
  51615. }
  51616. }
  51617. #endif /* !WOLFSSL_SP_SMALL | HAVE_COMP_KEY */
  51618. /* Invert the number, in Montgomery form, modulo the modulus (prime) of the
  51619. * P521 curve. (r = 1 / a mod m)
  51620. *
  51621. * r Inverse result.
  51622. * a Number to invert.
  51623. * td Temporary data.
  51624. */
  51625. static void sp_521_mont_inv_avx2_9(sp_digit* r, const sp_digit* a, sp_digit* td)
  51626. {
  51627. #ifdef WOLFSSL_SP_SMALL
  51628. sp_digit* t = td;
  51629. int i;
  51630. XMEMCPY(t, a, sizeof(sp_digit) * 9);
  51631. for (i=519; i>=0; i--) {
  51632. sp_521_mont_sqr_avx2_9(t, t, p521_mod, p521_mp_mod);
  51633. if (p521_mod_minus_2[i / 64] & ((sp_digit)1 << (i % 64)))
  51634. sp_521_mont_mul_avx2_9(t, t, a, p521_mod, p521_mp_mod);
  51635. }
  51636. XMEMCPY(r, t, sizeof(sp_digit) * 9);
  51637. #else
  51638. sp_digit* t1 = td;
  51639. sp_digit* t2 = td + 2 * 9;
  51640. sp_digit* t3 = td + 4 * 9;
  51641. /* 0x2 */
  51642. sp_521_mont_sqr_avx2_9(t1, a, p521_mod, p521_mp_mod);
  51643. /* 0x3 */
  51644. sp_521_mont_mul_avx2_9(t2, t1, a, p521_mod, p521_mp_mod);
  51645. /* 0x6 */
  51646. sp_521_mont_sqr_avx2_9(t1, t2, p521_mod, p521_mp_mod);
  51647. /* 0x7 */
  51648. sp_521_mont_mul_avx2_9(t3, t1, a, p521_mod, p521_mp_mod);
  51649. /* 0xc */
  51650. sp_521_mont_sqr_n_avx2_9(t1, t2, 2, p521_mod, p521_mp_mod);
  51651. /* 0xf */
  51652. sp_521_mont_mul_avx2_9(t2, t2, t1, p521_mod, p521_mp_mod);
  51653. /* 0x78 */
  51654. sp_521_mont_sqr_n_avx2_9(t1, t2, 3, p521_mod, p521_mp_mod);
  51655. /* 0x7f */
  51656. sp_521_mont_mul_avx2_9(t3, t3, t1, p521_mod, p521_mp_mod);
  51657. /* 0xf0 */
  51658. sp_521_mont_sqr_n_avx2_9(t1, t2, 4, p521_mod, p521_mp_mod);
  51659. /* 0xff */
  51660. sp_521_mont_mul_avx2_9(t2, t2, t1, p521_mod, p521_mp_mod);
  51661. /* 0xff00 */
  51662. sp_521_mont_sqr_n_avx2_9(t1, t2, 8, p521_mod, p521_mp_mod);
  51663. /* 0xffff */
  51664. sp_521_mont_mul_avx2_9(t2, t2, t1, p521_mod, p521_mp_mod);
  51665. /* 0xffff0000 */
  51666. sp_521_mont_sqr_n_avx2_9(t1, t2, 16, p521_mod, p521_mp_mod);
  51667. /* 0xffffffff */
  51668. sp_521_mont_mul_avx2_9(t2, t2, t1, p521_mod, p521_mp_mod);
  51669. /* 0xffffffff00000000 */
  51670. sp_521_mont_sqr_n_avx2_9(t1, t2, 32, p521_mod, p521_mp_mod);
  51671. /* 0xffffffffffffffff */
  51672. sp_521_mont_mul_avx2_9(t2, t2, t1, p521_mod, p521_mp_mod);
  51673. /* 0xffffffffffffffff0000000000000000 */
  51674. sp_521_mont_sqr_n_avx2_9(t1, t2, 64, p521_mod, p521_mp_mod);
  51675. /* 0xffffffffffffffffffffffffffffffff */
  51676. sp_521_mont_mul_avx2_9(t2, t2, t1, p521_mod, p521_mp_mod);
  51677. /* 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000 */
  51678. sp_521_mont_sqr_n_avx2_9(t1, t2, 128, p521_mod, p521_mp_mod);
  51679. /* 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  51680. sp_521_mont_mul_avx2_9(t2, t2, t1, p521_mod, p521_mp_mod);
  51681. /* 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000 */
  51682. sp_521_mont_sqr_n_avx2_9(t1, t2, 256, p521_mod, p521_mp_mod);
  51683. /* 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  51684. sp_521_mont_mul_avx2_9(t2, t2, t1, p521_mod, p521_mp_mod);
  51685. /* 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 */
  51686. sp_521_mont_sqr_n_avx2_9(t1, t2, 7, p521_mod, p521_mp_mod);
  51687. /* 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  51688. sp_521_mont_mul_avx2_9(t2, t3, t1, p521_mod, p521_mp_mod);
  51689. /* 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc */
  51690. sp_521_mont_sqr_n_avx2_9(t1, t2, 2, p521_mod, p521_mp_mod);
  51691. /* 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd */
  51692. sp_521_mont_mul_avx2_9(r, t1, a, p521_mod, p521_mp_mod);
  51693. #endif /* WOLFSSL_SP_SMALL */
  51694. }
  51695. #ifdef __cplusplus
  51696. extern "C" {
  51697. #endif
  51698. extern sp_digit sp_521_cond_sub_avx2_9(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  51699. #ifdef __cplusplus
  51700. }
  51701. #endif
  51702. #define sp_521_mont_reduce_avx2_9 sp_521_mont_reduce_9
  51703. #ifdef __cplusplus
  51704. extern "C" {
  51705. #endif
  51706. extern void sp_521_mont_reduce_order_avx2_9(sp_digit* a, const sp_digit* m, sp_digit mp);
  51707. #ifdef __cplusplus
  51708. }
  51709. #endif
  51710. /* Map the Montgomery form projective coordinate point to an affine point.
  51711. *
  51712. * r Resulting affine coordinate point.
  51713. * p Montgomery form projective coordinate point.
  51714. * t Temporary ordinate data.
  51715. */
  51716. static void sp_521_map_avx2_9(sp_point_521* r, const sp_point_521* p,
  51717. sp_digit* t)
  51718. {
  51719. sp_digit* t1 = t;
  51720. sp_digit* t2 = t + 2*9;
  51721. sp_int64 n;
  51722. sp_521_mont_inv_avx2_9(t1, p->z, t + 2*9);
  51723. sp_521_mont_sqr_avx2_9(t2, t1, p521_mod, p521_mp_mod);
  51724. sp_521_mont_mul_avx2_9(t1, t2, t1, p521_mod, p521_mp_mod);
  51725. /* x /= z^2 */
  51726. sp_521_mont_mul_avx2_9(r->x, p->x, t2, p521_mod, p521_mp_mod);
  51727. XMEMSET(r->x + 9, 0, sizeof(r->x) / 2U);
  51728. sp_521_mont_reduce_avx2_9(r->x, p521_mod, p521_mp_mod);
  51729. /* Reduce x to less than modulus */
  51730. n = sp_521_cmp_9(r->x, p521_mod);
  51731. sp_521_cond_sub_9(r->x, r->x, p521_mod, ~(n >> 63));
  51732. sp_521_norm_9(r->x);
  51733. /* y /= z^3 */
  51734. sp_521_mont_mul_avx2_9(r->y, p->y, t1, p521_mod, p521_mp_mod);
  51735. XMEMSET(r->y + 9, 0, sizeof(r->y) / 2U);
  51736. sp_521_mont_reduce_avx2_9(r->y, p521_mod, p521_mp_mod);
  51737. /* Reduce y to less than modulus */
  51738. n = sp_521_cmp_9(r->y, p521_mod);
  51739. sp_521_cond_sub_avx2_9(r->y, r->y, p521_mod, ~(n >> 63));
  51740. sp_521_norm_9(r->y);
  51741. XMEMSET(r->z, 0, sizeof(r->z) / 2);
  51742. r->z[0] = 1;
  51743. }
  51744. #define sp_521_mont_add_avx2_9 sp_521_mont_add_9
  51745. #define sp_521_mont_dbl_avx2_9 sp_521_mont_dbl_9
  51746. #define sp_521_mont_tpl_avx2_9 sp_521_mont_tpl_9
  51747. #define sp_521_mont_sub_avx2_9 sp_521_mont_sub_9
  51748. #define sp_521_mont_sub_lower_avx2_9 sp_521_mont_sub_avx2_9
  51749. #ifdef __cplusplus
  51750. extern "C" {
  51751. #endif
  51752. extern void sp_521_div2_avx2_9(sp_digit* r, const sp_digit* a, const sp_digit* m);
  51753. #ifdef __cplusplus
  51754. }
  51755. #endif
  51756. /* Double the Montgomery form projective point p.
  51757. *
  51758. * r Result of doubling point.
  51759. * p Point to double.
  51760. * t Temporary ordinate data.
  51761. */
  51762. #ifdef WOLFSSL_SP_NONBLOCK
  51763. typedef struct sp_521_proj_point_dbl_avx2_9_ctx {
  51764. int state;
  51765. sp_digit* t1;
  51766. sp_digit* t2;
  51767. sp_digit* x;
  51768. sp_digit* y;
  51769. sp_digit* z;
  51770. } sp_521_proj_point_dbl_avx2_9_ctx;
  51771. static int sp_521_proj_point_dbl_avx2_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, const sp_point_521* p, sp_digit* t)
  51772. {
  51773. int err = FP_WOULDBLOCK;
  51774. sp_521_proj_point_dbl_avx2_9_ctx* ctx = (sp_521_proj_point_dbl_avx2_9_ctx*)sp_ctx->data;
  51775. typedef char ctx_size_test[sizeof(sp_521_proj_point_dbl_avx2_9_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  51776. (void)sizeof(ctx_size_test);
  51777. switch (ctx->state) {
  51778. case 0:
  51779. ctx->t1 = t;
  51780. ctx->t2 = t + 2*9;
  51781. ctx->x = r->x;
  51782. ctx->y = r->y;
  51783. ctx->z = r->z;
  51784. /* Put infinity into result. */
  51785. if (r != p) {
  51786. r->infinity = p->infinity;
  51787. }
  51788. ctx->state = 1;
  51789. break;
  51790. case 1:
  51791. /* T1 = Z * Z */
  51792. sp_521_mont_sqr_avx2_9(ctx->t1, p->z, p521_mod, p521_mp_mod);
  51793. ctx->state = 2;
  51794. break;
  51795. case 2:
  51796. /* Z = Y * Z */
  51797. sp_521_mont_mul_avx2_9(ctx->z, p->y, p->z, p521_mod, p521_mp_mod);
  51798. ctx->state = 3;
  51799. break;
  51800. case 3:
  51801. /* Z = 2Z */
  51802. sp_521_mont_dbl_avx2_9(ctx->z, ctx->z, p521_mod);
  51803. ctx->state = 4;
  51804. break;
  51805. case 4:
  51806. /* T2 = X - T1 */
  51807. sp_521_mont_sub_avx2_9(ctx->t2, p->x, ctx->t1, p521_mod);
  51808. ctx->state = 5;
  51809. break;
  51810. case 5:
  51811. /* T1 = X + T1 */
  51812. sp_521_mont_add_avx2_9(ctx->t1, p->x, ctx->t1, p521_mod);
  51813. ctx->state = 6;
  51814. break;
  51815. case 6:
  51816. /* T2 = T1 * T2 */
  51817. sp_521_mont_mul_avx2_9(ctx->t2, ctx->t1, ctx->t2, p521_mod, p521_mp_mod);
  51818. ctx->state = 7;
  51819. break;
  51820. case 7:
  51821. /* T1 = 3T2 */
  51822. sp_521_mont_tpl_avx2_9(ctx->t1, ctx->t2, p521_mod);
  51823. ctx->state = 8;
  51824. break;
  51825. case 8:
  51826. /* Y = 2Y */
  51827. sp_521_mont_dbl_avx2_9(ctx->y, p->y, p521_mod);
  51828. ctx->state = 9;
  51829. break;
  51830. case 9:
  51831. /* Y = Y * Y */
  51832. sp_521_mont_sqr_avx2_9(ctx->y, ctx->y, p521_mod, p521_mp_mod);
  51833. ctx->state = 10;
  51834. break;
  51835. case 10:
  51836. /* T2 = Y * Y */
  51837. sp_521_mont_sqr_avx2_9(ctx->t2, ctx->y, p521_mod, p521_mp_mod);
  51838. ctx->state = 11;
  51839. break;
  51840. case 11:
  51841. /* T2 = T2/2 */
  51842. sp_521_div2_avx2_9(ctx->t2, ctx->t2, p521_mod);
  51843. ctx->state = 12;
  51844. break;
  51845. case 12:
  51846. /* Y = Y * X */
  51847. sp_521_mont_mul_avx2_9(ctx->y, ctx->y, p->x, p521_mod, p521_mp_mod);
  51848. ctx->state = 13;
  51849. break;
  51850. case 13:
  51851. /* X = T1 * T1 */
  51852. sp_521_mont_sqr_avx2_9(ctx->x, ctx->t1, p521_mod, p521_mp_mod);
  51853. ctx->state = 14;
  51854. break;
  51855. case 14:
  51856. /* X = X - Y */
  51857. sp_521_mont_sub_avx2_9(ctx->x, ctx->x, ctx->y, p521_mod);
  51858. ctx->state = 15;
  51859. break;
  51860. case 15:
  51861. /* X = X - Y */
  51862. sp_521_mont_sub_avx2_9(ctx->x, ctx->x, ctx->y, p521_mod);
  51863. ctx->state = 16;
  51864. break;
  51865. case 16:
  51866. /* Y = Y - X */
  51867. sp_521_mont_sub_lower_avx2_9(ctx->y, ctx->y, ctx->x, p521_mod);
  51868. ctx->state = 17;
  51869. break;
  51870. case 17:
  51871. /* Y = Y * T1 */
  51872. sp_521_mont_mul_avx2_9(ctx->y, ctx->y, ctx->t1, p521_mod, p521_mp_mod);
  51873. ctx->state = 18;
  51874. break;
  51875. case 18:
  51876. /* Y = Y - T2 */
  51877. sp_521_mont_sub_avx2_9(ctx->y, ctx->y, ctx->t2, p521_mod);
  51878. ctx->state = 19;
  51879. /* fall-through */
  51880. case 19:
  51881. err = MP_OKAY;
  51882. break;
  51883. }
  51884. if (err == MP_OKAY && ctx->state != 19) {
  51885. err = FP_WOULDBLOCK;
  51886. }
  51887. return err;
  51888. }
  51889. #endif /* WOLFSSL_SP_NONBLOCK */
  51890. static void sp_521_proj_point_dbl_avx2_9(sp_point_521* r, const sp_point_521* p,
  51891. sp_digit* t)
  51892. {
  51893. sp_digit* t1 = t;
  51894. sp_digit* t2 = t + 2*9;
  51895. sp_digit* x;
  51896. sp_digit* y;
  51897. sp_digit* z;
  51898. x = r->x;
  51899. y = r->y;
  51900. z = r->z;
  51901. /* Put infinity into result. */
  51902. if (r != p) {
  51903. r->infinity = p->infinity;
  51904. }
  51905. /* T1 = Z * Z */
  51906. sp_521_mont_sqr_avx2_9(t1, p->z, p521_mod, p521_mp_mod);
  51907. /* Z = Y * Z */
  51908. sp_521_mont_mul_avx2_9(z, p->y, p->z, p521_mod, p521_mp_mod);
  51909. /* Z = 2Z */
  51910. sp_521_mont_dbl_avx2_9(z, z, p521_mod);
  51911. /* T2 = X - T1 */
  51912. sp_521_mont_sub_avx2_9(t2, p->x, t1, p521_mod);
  51913. /* T1 = X + T1 */
  51914. sp_521_mont_add_avx2_9(t1, p->x, t1, p521_mod);
  51915. /* T2 = T1 * T2 */
  51916. sp_521_mont_mul_avx2_9(t2, t1, t2, p521_mod, p521_mp_mod);
  51917. /* T1 = 3T2 */
  51918. sp_521_mont_tpl_avx2_9(t1, t2, p521_mod);
  51919. /* Y = 2Y */
  51920. sp_521_mont_dbl_avx2_9(y, p->y, p521_mod);
  51921. /* Y = Y * Y */
  51922. sp_521_mont_sqr_avx2_9(y, y, p521_mod, p521_mp_mod);
  51923. /* T2 = Y * Y */
  51924. sp_521_mont_sqr_avx2_9(t2, y, p521_mod, p521_mp_mod);
  51925. /* T2 = T2/2 */
  51926. sp_521_div2_avx2_9(t2, t2, p521_mod);
  51927. /* Y = Y * X */
  51928. sp_521_mont_mul_avx2_9(y, y, p->x, p521_mod, p521_mp_mod);
  51929. /* X = T1 * T1 */
  51930. sp_521_mont_sqr_avx2_9(x, t1, p521_mod, p521_mp_mod);
  51931. /* X = X - Y */
  51932. sp_521_mont_sub_avx2_9(x, x, y, p521_mod);
  51933. /* X = X - Y */
  51934. sp_521_mont_sub_avx2_9(x, x, y, p521_mod);
  51935. /* Y = Y - X */
  51936. sp_521_mont_sub_lower_avx2_9(y, y, x, p521_mod);
  51937. /* Y = Y * T1 */
  51938. sp_521_mont_mul_avx2_9(y, y, t1, p521_mod, p521_mp_mod);
  51939. /* Y = Y - T2 */
  51940. sp_521_mont_sub_avx2_9(y, y, t2, p521_mod);
  51941. }
  51942. #define sp_521_mont_dbl_lower_avx2_9 sp_521_mont_dbl_avx2_9
  51943. #define sp_521_mont_tpl_lower_avx2_9 sp_521_mont_tpl_avx2_9
  51944. /* Double the Montgomery form projective point p a number of times.
  51945. *
  51946. * r Result of repeated doubling of point.
  51947. * p Point to double.
  51948. * n Number of times to double
  51949. * t Temporary ordinate data.
  51950. */
  51951. static void sp_521_proj_point_dbl_n_avx2_9(sp_point_521* p, int i,
  51952. sp_digit* t)
  51953. {
  51954. sp_digit* w = t;
  51955. sp_digit* a = t + 2*9;
  51956. sp_digit* b = t + 4*9;
  51957. sp_digit* t1 = t + 6*9;
  51958. sp_digit* t2 = t + 8*9;
  51959. sp_digit* x;
  51960. sp_digit* y;
  51961. sp_digit* z;
  51962. volatile int n = i;
  51963. x = p->x;
  51964. y = p->y;
  51965. z = p->z;
  51966. /* Y = 2*Y */
  51967. sp_521_mont_dbl_avx2_9(y, y, p521_mod);
  51968. /* W = Z^4 */
  51969. sp_521_mont_sqr_avx2_9(w, z, p521_mod, p521_mp_mod);
  51970. sp_521_mont_sqr_avx2_9(w, w, p521_mod, p521_mp_mod);
  51971. #ifndef WOLFSSL_SP_SMALL
  51972. while (--n > 0)
  51973. #else
  51974. while (--n >= 0)
  51975. #endif
  51976. {
  51977. /* A = 3*(X^2 - W) */
  51978. sp_521_mont_sqr_avx2_9(t1, x, p521_mod, p521_mp_mod);
  51979. sp_521_mont_sub_avx2_9(t1, t1, w, p521_mod);
  51980. sp_521_mont_tpl_lower_avx2_9(a, t1, p521_mod);
  51981. /* B = X*Y^2 */
  51982. sp_521_mont_sqr_avx2_9(t1, y, p521_mod, p521_mp_mod);
  51983. sp_521_mont_mul_avx2_9(b, t1, x, p521_mod, p521_mp_mod);
  51984. /* X = A^2 - 2B */
  51985. sp_521_mont_sqr_avx2_9(x, a, p521_mod, p521_mp_mod);
  51986. sp_521_mont_dbl_avx2_9(t2, b, p521_mod);
  51987. sp_521_mont_sub_avx2_9(x, x, t2, p521_mod);
  51988. /* b = 2.(B - X) */
  51989. sp_521_mont_sub_lower_avx2_9(t2, b, x, p521_mod);
  51990. sp_521_mont_dbl_lower_avx2_9(b, t2, p521_mod);
  51991. /* Z = Z*Y */
  51992. sp_521_mont_mul_avx2_9(z, z, y, p521_mod, p521_mp_mod);
  51993. /* t1 = Y^4 */
  51994. sp_521_mont_sqr_avx2_9(t1, t1, p521_mod, p521_mp_mod);
  51995. #ifdef WOLFSSL_SP_SMALL
  51996. if (n != 0)
  51997. #endif
  51998. {
  51999. /* W = W*Y^4 */
  52000. sp_521_mont_mul_avx2_9(w, w, t1, p521_mod, p521_mp_mod);
  52001. }
  52002. /* y = 2*A*(B - X) - Y^4 */
  52003. sp_521_mont_mul_avx2_9(y, b, a, p521_mod, p521_mp_mod);
  52004. sp_521_mont_sub_avx2_9(y, y, t1, p521_mod);
  52005. }
  52006. #ifndef WOLFSSL_SP_SMALL
  52007. /* A = 3*(X^2 - W) */
  52008. sp_521_mont_sqr_avx2_9(t1, x, p521_mod, p521_mp_mod);
  52009. sp_521_mont_sub_avx2_9(t1, t1, w, p521_mod);
  52010. sp_521_mont_tpl_lower_avx2_9(a, t1, p521_mod);
  52011. /* B = X*Y^2 */
  52012. sp_521_mont_sqr_avx2_9(t1, y, p521_mod, p521_mp_mod);
  52013. sp_521_mont_mul_avx2_9(b, t1, x, p521_mod, p521_mp_mod);
  52014. /* X = A^2 - 2B */
  52015. sp_521_mont_sqr_avx2_9(x, a, p521_mod, p521_mp_mod);
  52016. sp_521_mont_dbl_avx2_9(t2, b, p521_mod);
  52017. sp_521_mont_sub_avx2_9(x, x, t2, p521_mod);
  52018. /* b = 2.(B - X) */
  52019. sp_521_mont_sub_lower_avx2_9(t2, b, x, p521_mod);
  52020. sp_521_mont_dbl_lower_avx2_9(b, t2, p521_mod);
  52021. /* Z = Z*Y */
  52022. sp_521_mont_mul_avx2_9(z, z, y, p521_mod, p521_mp_mod);
  52023. /* t1 = Y^4 */
  52024. sp_521_mont_sqr_avx2_9(t1, t1, p521_mod, p521_mp_mod);
  52025. /* y = 2*A*(B - X) - Y^4 */
  52026. sp_521_mont_mul_avx2_9(y, b, a, p521_mod, p521_mp_mod);
  52027. sp_521_mont_sub_avx2_9(y, y, t1, p521_mod);
  52028. #endif
  52029. /* Y = Y/2 */
  52030. sp_521_div2_avx2_9(y, y, p521_mod);
  52031. }
  52032. /* Add two Montgomery form projective points.
  52033. *
  52034. * r Result of addition.
  52035. * p First point to add.
  52036. * q Second point to add.
  52037. * t Temporary ordinate data.
  52038. */
  52039. #ifdef WOLFSSL_SP_NONBLOCK
  52040. typedef struct sp_521_proj_point_add_avx2_9_ctx {
  52041. int state;
  52042. sp_521_proj_point_dbl_avx2_9_ctx dbl_ctx;
  52043. const sp_point_521* ap[2];
  52044. sp_point_521* rp[2];
  52045. sp_digit* t1;
  52046. sp_digit* t2;
  52047. sp_digit* t3;
  52048. sp_digit* t4;
  52049. sp_digit* t5;
  52050. sp_digit* t6;
  52051. sp_digit* x;
  52052. sp_digit* y;
  52053. sp_digit* z;
  52054. } sp_521_proj_point_add_avx2_9_ctx;
  52055. static int sp_521_proj_point_add_avx2_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r,
  52056. const sp_point_521* p, const sp_point_521* q, sp_digit* t)
  52057. {
  52058. int err = FP_WOULDBLOCK;
  52059. sp_521_proj_point_add_avx2_9_ctx* ctx = (sp_521_proj_point_add_avx2_9_ctx*)sp_ctx->data;
  52060. /* Ensure only the first point is the same as the result. */
  52061. if (q == r) {
  52062. const sp_point_521* a = p;
  52063. p = q;
  52064. q = a;
  52065. }
  52066. typedef char ctx_size_test[sizeof(sp_521_proj_point_add_avx2_9_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  52067. (void)sizeof(ctx_size_test);
  52068. switch (ctx->state) {
  52069. case 0: /* INIT */
  52070. ctx->t1 = t;
  52071. ctx->t2 = t + 2*9;
  52072. ctx->t3 = t + 4*9;
  52073. ctx->t4 = t + 6*9;
  52074. ctx->t5 = t + 8*9;
  52075. ctx->t6 = t + 10*9;
  52076. ctx->x = ctx->t6;
  52077. ctx->y = ctx->t1;
  52078. ctx->z = ctx->t2;
  52079. ctx->state = 1;
  52080. break;
  52081. case 1:
  52082. /* Check double */
  52083. (void)sp_521_sub_avx2_9(ctx->t1, p521_mod, q->y);
  52084. sp_521_norm_avx2_9(ctx->t1);
  52085. if ((~p->infinity & ~q->infinity &
  52086. sp_521_cmp_equal_avx2_9(p->x, q->x) & sp_521_cmp_equal_avx2_9(p->z, q->z) &
  52087. (sp_521_cmp_equal_avx2_9(p->y, q->y) | sp_521_cmp_equal_avx2_9(p->y, ctx->t1))) != 0)
  52088. {
  52089. XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx));
  52090. ctx->state = 2;
  52091. }
  52092. else {
  52093. ctx->state = 3;
  52094. }
  52095. break;
  52096. case 2:
  52097. err = sp_521_proj_point_dbl_avx2_9_nb((sp_ecc_ctx_t*)&ctx->dbl_ctx, r, p, t);
  52098. if (err == MP_OKAY)
  52099. ctx->state = 27; /* done */
  52100. break;
  52101. case 3:
  52102. {
  52103. ctx->state = 4;
  52104. break;
  52105. }
  52106. case 4:
  52107. /* U1 = X1*Z2^2 */
  52108. sp_521_mont_sqr_avx2_9(ctx->t1, q->z, p521_mod, p521_mp_mod);
  52109. ctx->state = 5;
  52110. break;
  52111. case 5:
  52112. sp_521_mont_mul_avx2_9(ctx->t3, ctx->t1, q->z, p521_mod, p521_mp_mod);
  52113. ctx->state = 6;
  52114. break;
  52115. case 6:
  52116. sp_521_mont_mul_avx2_9(ctx->t1, ctx->t1, p->x, p521_mod, p521_mp_mod);
  52117. ctx->state = 7;
  52118. break;
  52119. case 7:
  52120. /* U2 = X2*Z1^2 */
  52121. sp_521_mont_sqr_avx2_9(ctx->t2, p->z, p521_mod, p521_mp_mod);
  52122. ctx->state = 8;
  52123. break;
  52124. case 8:
  52125. sp_521_mont_mul_avx2_9(ctx->t4, ctx->t2, p->z, p521_mod, p521_mp_mod);
  52126. ctx->state = 9;
  52127. break;
  52128. case 9:
  52129. sp_521_mont_mul_avx2_9(ctx->t2, ctx->t2, q->x, p521_mod, p521_mp_mod);
  52130. ctx->state = 10;
  52131. break;
  52132. case 10:
  52133. /* S1 = Y1*Z2^3 */
  52134. sp_521_mont_mul_avx2_9(ctx->t3, ctx->t3, p->y, p521_mod, p521_mp_mod);
  52135. ctx->state = 11;
  52136. break;
  52137. case 11:
  52138. /* S2 = Y2*Z1^3 */
  52139. sp_521_mont_mul_avx2_9(ctx->t4, ctx->t4, q->y, p521_mod, p521_mp_mod);
  52140. ctx->state = 12;
  52141. break;
  52142. case 12:
  52143. /* H = U2 - U1 */
  52144. sp_521_mont_sub_avx2_9(ctx->t2, ctx->t2, ctx->t1, p521_mod);
  52145. ctx->state = 13;
  52146. break;
  52147. case 13:
  52148. /* R = S2 - S1 */
  52149. sp_521_mont_sub_avx2_9(ctx->t4, ctx->t4, ctx->t3, p521_mod);
  52150. ctx->state = 14;
  52151. break;
  52152. case 14:
  52153. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  52154. sp_521_mont_sqr_avx2_9(ctx->t5, ctx->t2, p521_mod, p521_mp_mod);
  52155. ctx->state = 15;
  52156. break;
  52157. case 15:
  52158. sp_521_mont_mul_avx2_9(ctx->y, ctx->t1, ctx->t5, p521_mod, p521_mp_mod);
  52159. ctx->state = 16;
  52160. break;
  52161. case 16:
  52162. sp_521_mont_mul_avx2_9(ctx->t5, ctx->t5, ctx->t2, p521_mod, p521_mp_mod);
  52163. ctx->state = 17;
  52164. break;
  52165. case 17:
  52166. /* Z3 = H*Z1*Z2 */
  52167. sp_521_mont_mul_avx2_9(ctx->z, p->z, ctx->t2, p521_mod, p521_mp_mod);
  52168. ctx->state = 18;
  52169. break;
  52170. case 18:
  52171. sp_521_mont_mul_avx2_9(ctx->z, ctx->z, q->z, p521_mod, p521_mp_mod);
  52172. ctx->state = 19;
  52173. break;
  52174. case 19:
  52175. sp_521_mont_sqr_avx2_9(ctx->x, ctx->t4, p521_mod, p521_mp_mod);
  52176. ctx->state = 20;
  52177. break;
  52178. case 20:
  52179. sp_521_mont_sub_avx2_9(ctx->x, ctx->x, ctx->t5, p521_mod);
  52180. ctx->state = 21;
  52181. break;
  52182. case 21:
  52183. sp_521_mont_mul_avx2_9(ctx->t5, ctx->t5, ctx->t3, p521_mod, p521_mp_mod);
  52184. ctx->state = 22;
  52185. break;
  52186. case 22:
  52187. sp_521_mont_dbl_avx2_9(ctx->t3, ctx->y, p521_mod);
  52188. ctx->state = 23;
  52189. break;
  52190. case 23:
  52191. sp_521_mont_sub_avx2_9(ctx->x, ctx->x, ctx->t3, p521_mod);
  52192. ctx->state = 24;
  52193. break;
  52194. case 24:
  52195. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  52196. sp_521_mont_sub_lower_avx2_9(ctx->y, ctx->y, ctx->x, p521_mod);
  52197. ctx->state = 25;
  52198. break;
  52199. case 25:
  52200. sp_521_mont_mul_avx2_9(ctx->y, ctx->y, ctx->t4, p521_mod, p521_mp_mod);
  52201. ctx->state = 26;
  52202. break;
  52203. case 26:
  52204. sp_521_mont_sub_avx2_9(ctx->y, ctx->y, ctx->t5, p521_mod);
  52205. ctx->state = 27;
  52206. /* fall-through */
  52207. case 27:
  52208. {
  52209. int i;
  52210. sp_digit maskp = 0 - (q->infinity & (!p->infinity));
  52211. sp_digit maskq = 0 - (p->infinity & (!q->infinity));
  52212. sp_digit maskt = ~(maskp | maskq);
  52213. for (i = 0; i < 9; i++) {
  52214. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  52215. (ctx->x[i] & maskt);
  52216. }
  52217. for (i = 0; i < 9; i++) {
  52218. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  52219. (ctx->y[i] & maskt);
  52220. }
  52221. for (i = 0; i < 9; i++) {
  52222. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  52223. (ctx->z[i] & maskt);
  52224. }
  52225. r->z[0] |= p->infinity & q->infinity;
  52226. r->infinity = p->infinity & q->infinity;
  52227. err = MP_OKAY;
  52228. break;
  52229. }
  52230. }
  52231. if (err == MP_OKAY && ctx->state != 27) {
  52232. err = FP_WOULDBLOCK;
  52233. }
  52234. return err;
  52235. }
  52236. #endif /* WOLFSSL_SP_NONBLOCK */
  52237. static void sp_521_proj_point_add_avx2_9(sp_point_521* r,
  52238. const sp_point_521* p, const sp_point_521* q, sp_digit* t)
  52239. {
  52240. sp_digit* t1 = t;
  52241. sp_digit* t2 = t + 2*9;
  52242. sp_digit* t3 = t + 4*9;
  52243. sp_digit* t4 = t + 6*9;
  52244. sp_digit* t5 = t + 8*9;
  52245. sp_digit* t6 = t + 10*9;
  52246. /* Check double */
  52247. (void)sp_521_sub_9(t1, p521_mod, q->y);
  52248. sp_521_norm_9(t1);
  52249. if ((~p->infinity & ~q->infinity &
  52250. sp_521_cmp_equal_9(p->x, q->x) & sp_521_cmp_equal_9(p->z, q->z) &
  52251. (sp_521_cmp_equal_9(p->y, q->y) | sp_521_cmp_equal_9(p->y, t1))) != 0) {
  52252. sp_521_proj_point_dbl_avx2_9(r, p, t);
  52253. }
  52254. else {
  52255. sp_digit maskp;
  52256. sp_digit maskq;
  52257. sp_digit maskt;
  52258. sp_digit* x = t6;
  52259. sp_digit* y = t1;
  52260. sp_digit* z = t2;
  52261. int i;
  52262. maskp = 0 - (q->infinity & (!p->infinity));
  52263. maskq = 0 - (p->infinity & (!q->infinity));
  52264. maskt = ~(maskp | maskq);
  52265. /* U1 = X1*Z2^2 */
  52266. sp_521_mont_sqr_avx2_9(t1, q->z, p521_mod, p521_mp_mod);
  52267. sp_521_mont_mul_avx2_9(t3, t1, q->z, p521_mod, p521_mp_mod);
  52268. sp_521_mont_mul_avx2_9(t1, t1, p->x, p521_mod, p521_mp_mod);
  52269. /* U2 = X2*Z1^2 */
  52270. sp_521_mont_sqr_avx2_9(t2, p->z, p521_mod, p521_mp_mod);
  52271. sp_521_mont_mul_avx2_9(t4, t2, p->z, p521_mod, p521_mp_mod);
  52272. sp_521_mont_mul_avx2_9(t2, t2, q->x, p521_mod, p521_mp_mod);
  52273. /* S1 = Y1*Z2^3 */
  52274. sp_521_mont_mul_avx2_9(t3, t3, p->y, p521_mod, p521_mp_mod);
  52275. /* S2 = Y2*Z1^3 */
  52276. sp_521_mont_mul_avx2_9(t4, t4, q->y, p521_mod, p521_mp_mod);
  52277. /* H = U2 - U1 */
  52278. sp_521_mont_sub_avx2_9(t2, t2, t1, p521_mod);
  52279. /* R = S2 - S1 */
  52280. sp_521_mont_sub_avx2_9(t4, t4, t3, p521_mod);
  52281. if (~p->infinity & ~q->infinity &
  52282. sp_521_iszero_9(t2) & sp_521_iszero_9(t4) & maskt) {
  52283. sp_521_proj_point_dbl_avx2_9(r, p, t);
  52284. }
  52285. else {
  52286. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  52287. sp_521_mont_sqr_avx2_9(t5, t2, p521_mod, p521_mp_mod);
  52288. sp_521_mont_mul_avx2_9(y, t1, t5, p521_mod, p521_mp_mod);
  52289. sp_521_mont_mul_avx2_9(t5, t5, t2, p521_mod, p521_mp_mod);
  52290. /* Z3 = H*Z1*Z2 */
  52291. sp_521_mont_mul_avx2_9(z, p->z, t2, p521_mod, p521_mp_mod);
  52292. sp_521_mont_mul_avx2_9(z, z, q->z, p521_mod, p521_mp_mod);
  52293. sp_521_mont_sqr_avx2_9(x, t4, p521_mod, p521_mp_mod);
  52294. sp_521_mont_sub_avx2_9(x, x, t5, p521_mod);
  52295. sp_521_mont_mul_avx2_9(t5, t5, t3, p521_mod, p521_mp_mod);
  52296. sp_521_mont_dbl_avx2_9(t3, y, p521_mod);
  52297. sp_521_mont_sub_avx2_9(x, x, t3, p521_mod);
  52298. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  52299. sp_521_mont_sub_lower_avx2_9(y, y, x, p521_mod);
  52300. sp_521_mont_mul_avx2_9(y, y, t4, p521_mod, p521_mp_mod);
  52301. sp_521_mont_sub_avx2_9(y, y, t5, p521_mod);
  52302. for (i = 0; i < 9; i++) {
  52303. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  52304. (x[i] & maskt);
  52305. }
  52306. for (i = 0; i < 9; i++) {
  52307. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  52308. (y[i] & maskt);
  52309. }
  52310. for (i = 0; i < 9; i++) {
  52311. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  52312. (z[i] & maskt);
  52313. }
  52314. r->z[0] |= p->infinity & q->infinity;
  52315. r->infinity = p->infinity & q->infinity;
  52316. }
  52317. }
  52318. }
  52319. /* Double the Montgomery form projective point p a number of times.
  52320. *
  52321. * r Result of repeated doubling of point.
  52322. * p Point to double.
  52323. * n Number of times to double
  52324. * t Temporary ordinate data.
  52325. */
  52326. static void sp_521_proj_point_dbl_n_store_avx2_9(sp_point_521* r,
  52327. const sp_point_521* p, int n, int m, sp_digit* t)
  52328. {
  52329. sp_digit* w = t;
  52330. sp_digit* a = t + 2*9;
  52331. sp_digit* b = t + 4*9;
  52332. sp_digit* t1 = t + 6*9;
  52333. sp_digit* t2 = t + 8*9;
  52334. sp_digit* x = r[2*m].x;
  52335. sp_digit* y = r[(1<<n)*m].y;
  52336. sp_digit* z = r[2*m].z;
  52337. int i;
  52338. int j;
  52339. for (i=0; i<9; i++) {
  52340. x[i] = p->x[i];
  52341. }
  52342. for (i=0; i<9; i++) {
  52343. y[i] = p->y[i];
  52344. }
  52345. for (i=0; i<9; i++) {
  52346. z[i] = p->z[i];
  52347. }
  52348. /* Y = 2*Y */
  52349. sp_521_mont_dbl_avx2_9(y, y, p521_mod);
  52350. /* W = Z^4 */
  52351. sp_521_mont_sqr_avx2_9(w, z, p521_mod, p521_mp_mod);
  52352. sp_521_mont_sqr_avx2_9(w, w, p521_mod, p521_mp_mod);
  52353. j = m;
  52354. for (i=1; i<=n; i++) {
  52355. j *= 2;
  52356. /* A = 3*(X^2 - W) */
  52357. sp_521_mont_sqr_avx2_9(t1, x, p521_mod, p521_mp_mod);
  52358. sp_521_mont_sub_avx2_9(t1, t1, w, p521_mod);
  52359. sp_521_mont_tpl_lower_avx2_9(a, t1, p521_mod);
  52360. /* B = X*Y^2 */
  52361. sp_521_mont_sqr_avx2_9(t1, y, p521_mod, p521_mp_mod);
  52362. sp_521_mont_mul_avx2_9(b, t1, x, p521_mod, p521_mp_mod);
  52363. x = r[j].x;
  52364. /* X = A^2 - 2B */
  52365. sp_521_mont_sqr_avx2_9(x, a, p521_mod, p521_mp_mod);
  52366. sp_521_mont_dbl_avx2_9(t2, b, p521_mod);
  52367. sp_521_mont_sub_avx2_9(x, x, t2, p521_mod);
  52368. /* b = 2.(B - X) */
  52369. sp_521_mont_sub_lower_avx2_9(t2, b, x, p521_mod);
  52370. sp_521_mont_dbl_lower_avx2_9(b, t2, p521_mod);
  52371. /* Z = Z*Y */
  52372. sp_521_mont_mul_avx2_9(r[j].z, z, y, p521_mod, p521_mp_mod);
  52373. z = r[j].z;
  52374. /* t1 = Y^4 */
  52375. sp_521_mont_sqr_avx2_9(t1, t1, p521_mod, p521_mp_mod);
  52376. if (i != n) {
  52377. /* W = W*Y^4 */
  52378. sp_521_mont_mul_avx2_9(w, w, t1, p521_mod, p521_mp_mod);
  52379. }
  52380. /* y = 2*A*(B - X) - Y^4 */
  52381. sp_521_mont_mul_avx2_9(y, b, a, p521_mod, p521_mp_mod);
  52382. sp_521_mont_sub_avx2_9(y, y, t1, p521_mod);
  52383. /* Y = Y/2 */
  52384. sp_521_div2_avx2_9(r[j].y, y, p521_mod);
  52385. r[j].infinity = 0;
  52386. }
  52387. }
  52388. /* Add two Montgomery form projective points.
  52389. *
  52390. * ra Result of addition.
  52391. * rs Result of subtraction.
  52392. * p First point to add.
  52393. * q Second point to add.
  52394. * t Temporary ordinate data.
  52395. */
  52396. static void sp_521_proj_point_add_sub_avx2_9(sp_point_521* ra,
  52397. sp_point_521* rs, const sp_point_521* p, const sp_point_521* q,
  52398. sp_digit* t)
  52399. {
  52400. sp_digit* t1 = t;
  52401. sp_digit* t2 = t + 2*9;
  52402. sp_digit* t3 = t + 4*9;
  52403. sp_digit* t4 = t + 6*9;
  52404. sp_digit* t5 = t + 8*9;
  52405. sp_digit* t6 = t + 10*9;
  52406. sp_digit* xa = ra->x;
  52407. sp_digit* ya = ra->y;
  52408. sp_digit* za = ra->z;
  52409. sp_digit* xs = rs->x;
  52410. sp_digit* ys = rs->y;
  52411. sp_digit* zs = rs->z;
  52412. XMEMCPY(xa, p->x, sizeof(p->x) / 2);
  52413. XMEMCPY(ya, p->y, sizeof(p->y) / 2);
  52414. XMEMCPY(za, p->z, sizeof(p->z) / 2);
  52415. ra->infinity = 0;
  52416. rs->infinity = 0;
  52417. /* U1 = X1*Z2^2 */
  52418. sp_521_mont_sqr_avx2_9(t1, q->z, p521_mod, p521_mp_mod);
  52419. sp_521_mont_mul_avx2_9(t3, t1, q->z, p521_mod, p521_mp_mod);
  52420. sp_521_mont_mul_avx2_9(t1, t1, xa, p521_mod, p521_mp_mod);
  52421. /* U2 = X2*Z1^2 */
  52422. sp_521_mont_sqr_avx2_9(t2, za, p521_mod, p521_mp_mod);
  52423. sp_521_mont_mul_avx2_9(t4, t2, za, p521_mod, p521_mp_mod);
  52424. sp_521_mont_mul_avx2_9(t2, t2, q->x, p521_mod, p521_mp_mod);
  52425. /* S1 = Y1*Z2^3 */
  52426. sp_521_mont_mul_avx2_9(t3, t3, ya, p521_mod, p521_mp_mod);
  52427. /* S2 = Y2*Z1^3 */
  52428. sp_521_mont_mul_avx2_9(t4, t4, q->y, p521_mod, p521_mp_mod);
  52429. /* H = U2 - U1 */
  52430. sp_521_mont_sub_avx2_9(t2, t2, t1, p521_mod);
  52431. /* RS = S2 + S1 */
  52432. sp_521_mont_add_avx2_9(t6, t4, t3, p521_mod);
  52433. /* R = S2 - S1 */
  52434. sp_521_mont_sub_avx2_9(t4, t4, t3, p521_mod);
  52435. /* Z3 = H*Z1*Z2 */
  52436. /* ZS = H*Z1*Z2 */
  52437. sp_521_mont_mul_avx2_9(za, za, q->z, p521_mod, p521_mp_mod);
  52438. sp_521_mont_mul_avx2_9(za, za, t2, p521_mod, p521_mp_mod);
  52439. XMEMCPY(zs, za, sizeof(p->z)/2);
  52440. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  52441. /* XS = RS^2 - H^3 - 2*U1*H^2 */
  52442. sp_521_mont_sqr_avx2_9(xa, t4, p521_mod, p521_mp_mod);
  52443. sp_521_mont_sqr_avx2_9(xs, t6, p521_mod, p521_mp_mod);
  52444. sp_521_mont_sqr_avx2_9(t5, t2, p521_mod, p521_mp_mod);
  52445. sp_521_mont_mul_avx2_9(ya, t1, t5, p521_mod, p521_mp_mod);
  52446. sp_521_mont_mul_avx2_9(t5, t5, t2, p521_mod, p521_mp_mod);
  52447. sp_521_mont_sub_avx2_9(xa, xa, t5, p521_mod);
  52448. sp_521_mont_sub_avx2_9(xs, xs, t5, p521_mod);
  52449. sp_521_mont_dbl_avx2_9(t1, ya, p521_mod);
  52450. sp_521_mont_sub_avx2_9(xa, xa, t1, p521_mod);
  52451. sp_521_mont_sub_avx2_9(xs, xs, t1, p521_mod);
  52452. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  52453. /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */
  52454. sp_521_mont_sub_lower_avx2_9(ys, ya, xs, p521_mod);
  52455. sp_521_mont_sub_lower_avx2_9(ya, ya, xa, p521_mod);
  52456. sp_521_mont_mul_avx2_9(ya, ya, t4, p521_mod, p521_mp_mod);
  52457. sp_521_sub_9(t6, p521_mod, t6);
  52458. sp_521_mont_mul_avx2_9(ys, ys, t6, p521_mod, p521_mp_mod);
  52459. sp_521_mont_mul_avx2_9(t5, t5, t3, p521_mod, p521_mp_mod);
  52460. sp_521_mont_sub_avx2_9(ya, ya, t5, p521_mod);
  52461. sp_521_mont_sub_avx2_9(ys, ys, t5, p521_mod);
  52462. }
  52463. /* Multiply the point by the scalar and return the result.
  52464. * If map is true then convert result to affine coordinates.
  52465. *
  52466. * Window technique of 6 bits. (Add-Sub variation.)
  52467. * Calculate 0..32 times the point. Use function that adds and
  52468. * subtracts the same two points.
  52469. * Recode to add or subtract one of the computed points.
  52470. * Double to push up.
  52471. * NOT a sliding window.
  52472. *
  52473. * r Resulting point.
  52474. * g Point to multiply.
  52475. * k Scalar to multiply by.
  52476. * map Indicates whether to convert result to affine.
  52477. * ct Constant time required.
  52478. * heap Heap to use for allocation.
  52479. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  52480. */
  52481. static int sp_521_ecc_mulmod_win_add_sub_avx2_9(sp_point_521* r, const sp_point_521* g,
  52482. const sp_digit* k, int map, int ct, void* heap)
  52483. {
  52484. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  52485. sp_point_521* t = NULL;
  52486. sp_digit* tmp = NULL;
  52487. #else
  52488. sp_point_521 t[33+2];
  52489. sp_digit tmp[2 * 9 * 6];
  52490. #endif
  52491. sp_point_521* rt = NULL;
  52492. sp_point_521* p = NULL;
  52493. sp_digit* negy;
  52494. int i;
  52495. ecc_recode_521 v[87];
  52496. int err = MP_OKAY;
  52497. /* Constant time used for cache attack resistance implementation. */
  52498. (void)ct;
  52499. (void)heap;
  52500. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  52501. t = (sp_point_521*)XMALLOC(sizeof(sp_point_521) *
  52502. (33+2), heap, DYNAMIC_TYPE_ECC);
  52503. if (t == NULL)
  52504. err = MEMORY_E;
  52505. if (err == MP_OKAY) {
  52506. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 6,
  52507. heap, DYNAMIC_TYPE_ECC);
  52508. if (tmp == NULL)
  52509. err = MEMORY_E;
  52510. }
  52511. #endif
  52512. if (err == MP_OKAY) {
  52513. rt = t + 33;
  52514. p = t + 33+1;
  52515. /* t[0] = {0, 0, 1} * norm */
  52516. XMEMSET(&t[0], 0, sizeof(t[0]));
  52517. t[0].infinity = 1;
  52518. /* t[1] = {g->x, g->y, g->z} * norm */
  52519. err = sp_521_mod_mul_norm_avx2_9(t[1].x, g->x, p521_mod);
  52520. }
  52521. if (err == MP_OKAY) {
  52522. err = sp_521_mod_mul_norm_avx2_9(t[1].y, g->y, p521_mod);
  52523. }
  52524. if (err == MP_OKAY) {
  52525. err = sp_521_mod_mul_norm_avx2_9(t[1].z, g->z, p521_mod);
  52526. }
  52527. if (err == MP_OKAY) {
  52528. t[1].infinity = 0;
  52529. /* t[2] ... t[32] */
  52530. sp_521_proj_point_dbl_n_store_avx2_9(t, &t[ 1], 5, 1, tmp);
  52531. sp_521_proj_point_add_avx2_9(&t[ 3], &t[ 2], &t[ 1], tmp);
  52532. sp_521_proj_point_dbl_avx2_9(&t[ 6], &t[ 3], tmp);
  52533. sp_521_proj_point_add_sub_avx2_9(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp);
  52534. sp_521_proj_point_dbl_avx2_9(&t[10], &t[ 5], tmp);
  52535. sp_521_proj_point_add_sub_avx2_9(&t[11], &t[ 9], &t[10], &t[ 1], tmp);
  52536. sp_521_proj_point_dbl_avx2_9(&t[12], &t[ 6], tmp);
  52537. sp_521_proj_point_dbl_avx2_9(&t[14], &t[ 7], tmp);
  52538. sp_521_proj_point_add_sub_avx2_9(&t[15], &t[13], &t[14], &t[ 1], tmp);
  52539. sp_521_proj_point_dbl_avx2_9(&t[18], &t[ 9], tmp);
  52540. sp_521_proj_point_add_sub_avx2_9(&t[19], &t[17], &t[18], &t[ 1], tmp);
  52541. sp_521_proj_point_dbl_avx2_9(&t[20], &t[10], tmp);
  52542. sp_521_proj_point_dbl_avx2_9(&t[22], &t[11], tmp);
  52543. sp_521_proj_point_add_sub_avx2_9(&t[23], &t[21], &t[22], &t[ 1], tmp);
  52544. sp_521_proj_point_dbl_avx2_9(&t[24], &t[12], tmp);
  52545. sp_521_proj_point_dbl_avx2_9(&t[26], &t[13], tmp);
  52546. sp_521_proj_point_add_sub_avx2_9(&t[27], &t[25], &t[26], &t[ 1], tmp);
  52547. sp_521_proj_point_dbl_avx2_9(&t[28], &t[14], tmp);
  52548. sp_521_proj_point_dbl_avx2_9(&t[30], &t[15], tmp);
  52549. sp_521_proj_point_add_sub_avx2_9(&t[31], &t[29], &t[30], &t[ 1], tmp);
  52550. negy = t[0].y;
  52551. sp_521_ecc_recode_6_9(k, v);
  52552. i = 86;
  52553. #ifndef WC_NO_CACHE_RESISTANT
  52554. if (ct) {
  52555. sp_521_get_point_33_avx2_9(rt, t, v[i].i);
  52556. rt->infinity = !v[i].i;
  52557. }
  52558. else
  52559. #endif
  52560. {
  52561. XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_521));
  52562. }
  52563. for (--i; i>=0; i--) {
  52564. sp_521_proj_point_dbl_n_avx2_9(rt, 6, tmp);
  52565. #ifndef WC_NO_CACHE_RESISTANT
  52566. if (ct) {
  52567. sp_521_get_point_33_avx2_9(p, t, v[i].i);
  52568. p->infinity = !v[i].i;
  52569. }
  52570. else
  52571. #endif
  52572. {
  52573. XMEMCPY(p, &t[v[i].i], sizeof(sp_point_521));
  52574. }
  52575. sp_521_sub_9(negy, p521_mod, p->y);
  52576. sp_521_norm_9(negy);
  52577. sp_521_cond_copy_9(p->y, negy, (sp_digit)0 - v[i].neg);
  52578. sp_521_proj_point_add_avx2_9(rt, rt, p, tmp);
  52579. }
  52580. if (map != 0) {
  52581. sp_521_map_avx2_9(r, rt, tmp);
  52582. }
  52583. else {
  52584. XMEMCPY(r, rt, sizeof(sp_point_521));
  52585. }
  52586. }
  52587. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  52588. if (t != NULL)
  52589. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  52590. if (tmp != NULL)
  52591. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  52592. #endif
  52593. return err;
  52594. }
  52595. #endif /* HAVE_INTEL_AVX2 */
  52596. /* A table entry for pre-computed points. */
  52597. typedef struct sp_table_entry_521 {
  52598. sp_digit x[9];
  52599. sp_digit y[9];
  52600. } sp_table_entry_521;
  52601. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  52602. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  52603. /* Add two Montgomery form projective points. The second point has a q value of
  52604. * one.
  52605. * Only the first point can be the same pointer as the result point.
  52606. *
  52607. * r Result of addition.
  52608. * p First point to add.
  52609. * q Second point to add.
  52610. * t Temporary ordinate data.
  52611. */
  52612. static void sp_521_proj_point_add_qz1_9(sp_point_521* r, const sp_point_521* p,
  52613. const sp_point_521* q, sp_digit* t)
  52614. {
  52615. sp_digit* t1 = t;
  52616. sp_digit* t2 = t + 2*9;
  52617. sp_digit* t3 = t + 4*9;
  52618. sp_digit* t4 = t + 6*9;
  52619. sp_digit* t5 = t + 8*9;
  52620. sp_digit* t6 = t + 10*9;
  52621. /* Check double */
  52622. (void)sp_521_sub_9(t1, p521_mod, q->y);
  52623. sp_521_norm_9(t1);
  52624. if ((~p->infinity & ~q->infinity &
  52625. sp_521_cmp_equal_9(p->x, q->x) & sp_521_cmp_equal_9(p->z, q->z) &
  52626. (sp_521_cmp_equal_9(p->y, q->y) | sp_521_cmp_equal_9(p->y, t1))) != 0) {
  52627. sp_521_proj_point_dbl_9(r, p, t);
  52628. }
  52629. else {
  52630. sp_digit maskp;
  52631. sp_digit maskq;
  52632. sp_digit maskt;
  52633. sp_digit* x = t2;
  52634. sp_digit* y = t5;
  52635. sp_digit* z = t6;
  52636. int i;
  52637. /* U2 = X2*Z1^2 */
  52638. sp_521_mont_sqr_9(t2, p->z, p521_mod, p521_mp_mod);
  52639. sp_521_mont_mul_9(t4, t2, p->z, p521_mod, p521_mp_mod);
  52640. sp_521_mont_mul_9(t2, t2, q->x, p521_mod, p521_mp_mod);
  52641. /* S2 = Y2*Z1^3 */
  52642. sp_521_mont_mul_9(t4, t4, q->y, p521_mod, p521_mp_mod);
  52643. /* H = U2 - X1 */
  52644. sp_521_mont_sub_9(t2, t2, p->x, p521_mod);
  52645. /* R = S2 - Y1 */
  52646. sp_521_mont_sub_9(t4, t4, p->y, p521_mod);
  52647. /* Z3 = H*Z1 */
  52648. sp_521_mont_mul_9(z, p->z, t2, p521_mod, p521_mp_mod);
  52649. /* X3 = R^2 - H^3 - 2*X1*H^2 */
  52650. sp_521_mont_sqr_9(t1, t4, p521_mod, p521_mp_mod);
  52651. sp_521_mont_sqr_9(t5, t2, p521_mod, p521_mp_mod);
  52652. sp_521_mont_mul_9(t3, p->x, t5, p521_mod, p521_mp_mod);
  52653. sp_521_mont_mul_9(t5, t5, t2, p521_mod, p521_mp_mod);
  52654. sp_521_mont_sub_9(x, t1, t5, p521_mod);
  52655. sp_521_mont_dbl_9(t1, t3, p521_mod);
  52656. sp_521_mont_sub_9(x, x, t1, p521_mod);
  52657. /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */
  52658. sp_521_mont_sub_lower_9(t3, t3, x, p521_mod);
  52659. sp_521_mont_mul_9(t3, t3, t4, p521_mod, p521_mp_mod);
  52660. sp_521_mont_mul_9(t5, t5, p->y, p521_mod, p521_mp_mod);
  52661. sp_521_mont_sub_9(y, t3, t5, p521_mod);
  52662. maskp = 0 - (q->infinity & (!p->infinity));
  52663. maskq = 0 - (p->infinity & (!q->infinity));
  52664. maskt = ~(maskp | maskq);
  52665. for (i = 0; i < 9; i++) {
  52666. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | (x[i] & maskt);
  52667. }
  52668. for (i = 0; i < 9; i++) {
  52669. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | (y[i] & maskt);
  52670. }
  52671. for (i = 0; i < 9; i++) {
  52672. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | (z[i] & maskt);
  52673. }
  52674. r->z[0] |= p->infinity & q->infinity;
  52675. r->infinity = p->infinity & q->infinity;
  52676. }
  52677. }
  52678. #ifdef FP_ECC
  52679. /* Convert the projective point to affine.
  52680. * Ordinates are in Montgomery form.
  52681. *
  52682. * a Point to convert.
  52683. * t Temporary data.
  52684. */
  52685. static void sp_521_proj_to_affine_9(sp_point_521* a, sp_digit* t)
  52686. {
  52687. sp_digit* t1 = t;
  52688. sp_digit* t2 = t + 2 * 9;
  52689. sp_digit* tmp = t + 4 * 9;
  52690. sp_521_mont_inv_9(t1, a->z, tmp);
  52691. sp_521_mont_sqr_9(t2, t1, p521_mod, p521_mp_mod);
  52692. sp_521_mont_mul_9(t1, t2, t1, p521_mod, p521_mp_mod);
  52693. sp_521_mont_mul_9(a->x, a->x, t2, p521_mod, p521_mp_mod);
  52694. sp_521_mont_mul_9(a->y, a->y, t1, p521_mod, p521_mp_mod);
  52695. XMEMCPY(a->z, p521_norm_mod, sizeof(p521_norm_mod));
  52696. }
  52697. /* Generate the pre-computed table of points for the base point.
  52698. *
  52699. * width = 6
  52700. * 64 entries
  52701. * 86 bits between
  52702. *
  52703. * a The base point.
  52704. * table Place to store generated point data.
  52705. * tmp Temporary data.
  52706. * heap Heap to use for allocation.
  52707. */
  52708. static int sp_521_gen_stripe_table_9(const sp_point_521* a,
  52709. sp_table_entry_521* table, sp_digit* tmp, void* heap)
  52710. {
  52711. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  52712. sp_point_521* t = NULL;
  52713. #else
  52714. sp_point_521 t[3];
  52715. #endif
  52716. sp_point_521* s1 = NULL;
  52717. sp_point_521* s2 = NULL;
  52718. int i;
  52719. int j;
  52720. int err = MP_OKAY;
  52721. (void)heap;
  52722. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  52723. t = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 3, heap,
  52724. DYNAMIC_TYPE_ECC);
  52725. if (t == NULL)
  52726. err = MEMORY_E;
  52727. #endif
  52728. if (err == MP_OKAY) {
  52729. s1 = t + 1;
  52730. s2 = t + 2;
  52731. err = sp_521_mod_mul_norm_9(t->x, a->x, p521_mod);
  52732. }
  52733. if (err == MP_OKAY) {
  52734. err = sp_521_mod_mul_norm_9(t->y, a->y, p521_mod);
  52735. }
  52736. if (err == MP_OKAY) {
  52737. err = sp_521_mod_mul_norm_9(t->z, a->z, p521_mod);
  52738. }
  52739. if (err == MP_OKAY) {
  52740. t->infinity = 0;
  52741. sp_521_proj_to_affine_9(t, tmp);
  52742. XMEMCPY(s1->z, p521_norm_mod, sizeof(p521_norm_mod));
  52743. s1->infinity = 0;
  52744. XMEMCPY(s2->z, p521_norm_mod, sizeof(p521_norm_mod));
  52745. s2->infinity = 0;
  52746. /* table[0] = {0, 0, infinity} */
  52747. XMEMSET(&table[0], 0, sizeof(sp_table_entry_521));
  52748. /* table[1] = Affine version of 'a' in Montgomery form */
  52749. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  52750. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  52751. for (i=1; i<6; i++) {
  52752. sp_521_proj_point_dbl_n_9(t, 87, tmp);
  52753. sp_521_proj_to_affine_9(t, tmp);
  52754. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  52755. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  52756. }
  52757. for (i=1; i<6; i++) {
  52758. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  52759. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  52760. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  52761. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  52762. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  52763. sp_521_proj_point_add_qz1_9(t, s1, s2, tmp);
  52764. sp_521_proj_to_affine_9(t, tmp);
  52765. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  52766. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  52767. }
  52768. }
  52769. }
  52770. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  52771. if (t != NULL)
  52772. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  52773. #endif
  52774. return err;
  52775. }
  52776. #endif /* FP_ECC */
  52777. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  52778. #ifdef __cplusplus
  52779. extern "C" {
  52780. #endif
  52781. extern void sp_521_get_entry_64_9(sp_point_521* r, const sp_table_entry_521* table, int idx);
  52782. #ifdef __cplusplus
  52783. }
  52784. #endif
  52785. #ifdef __cplusplus
  52786. extern "C" {
  52787. #endif
  52788. extern void sp_521_get_entry_64_avx2_9(sp_point_521* r, const sp_table_entry_521* table, int idx);
  52789. #ifdef __cplusplus
  52790. }
  52791. #endif
  52792. /* Multiply the point by the scalar and return the result.
  52793. * If map is true then convert result to affine coordinates.
  52794. *
  52795. * Stripe implementation.
  52796. * Pre-generated: 2^0, 2^86, ...
  52797. * Pre-generated: products of all combinations of above.
  52798. * 6 doubles and adds (with qz=1)
  52799. *
  52800. * r Resulting point.
  52801. * k Scalar to multiply by.
  52802. * table Pre-computed table.
  52803. * map Indicates whether to convert result to affine.
  52804. * ct Constant time required.
  52805. * heap Heap to use for allocation.
  52806. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  52807. */
  52808. static int sp_521_ecc_mulmod_stripe_9(sp_point_521* r, const sp_point_521* g,
  52809. const sp_table_entry_521* table, const sp_digit* k, int map,
  52810. int ct, void* heap)
  52811. {
  52812. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  52813. sp_point_521* rt = NULL;
  52814. sp_digit* t = NULL;
  52815. #else
  52816. sp_point_521 rt[2];
  52817. sp_digit t[2 * 9 * 6];
  52818. #endif
  52819. sp_point_521* p = NULL;
  52820. int i;
  52821. int j;
  52822. int y;
  52823. int x;
  52824. int err = MP_OKAY;
  52825. (void)g;
  52826. /* Constant time used for cache attack resistance implementation. */
  52827. (void)ct;
  52828. (void)heap;
  52829. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  52830. rt = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  52831. DYNAMIC_TYPE_ECC);
  52832. if (rt == NULL)
  52833. err = MEMORY_E;
  52834. if (err == MP_OKAY) {
  52835. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 6, heap,
  52836. DYNAMIC_TYPE_ECC);
  52837. if (t == NULL)
  52838. err = MEMORY_E;
  52839. }
  52840. #endif
  52841. if (err == MP_OKAY) {
  52842. p = rt + 1;
  52843. XMEMCPY(p->z, p521_norm_mod, sizeof(p521_norm_mod));
  52844. XMEMCPY(rt->z, p521_norm_mod, sizeof(p521_norm_mod));
  52845. y = 0;
  52846. x = 86;
  52847. for (j=0; j<6 && x<521; j++) {
  52848. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  52849. x += 87;
  52850. }
  52851. #ifndef WC_NO_CACHE_RESISTANT
  52852. if (ct) {
  52853. sp_521_get_entry_64_9(rt, table, y);
  52854. } else
  52855. #endif
  52856. {
  52857. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  52858. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  52859. }
  52860. rt->infinity = !y;
  52861. for (i=85; i>=0; i--) {
  52862. y = 0;
  52863. x = i;
  52864. for (j=0; j<6 && x<521; j++) {
  52865. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  52866. x += 87;
  52867. }
  52868. sp_521_proj_point_dbl_9(rt, rt, t);
  52869. #ifndef WC_NO_CACHE_RESISTANT
  52870. if (ct) {
  52871. sp_521_get_entry_64_9(p, table, y);
  52872. }
  52873. else
  52874. #endif
  52875. {
  52876. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  52877. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  52878. }
  52879. p->infinity = !y;
  52880. sp_521_proj_point_add_qz1_9(rt, rt, p, t);
  52881. }
  52882. if (map != 0) {
  52883. sp_521_map_9(r, rt, t);
  52884. }
  52885. else {
  52886. XMEMCPY(r, rt, sizeof(sp_point_521));
  52887. }
  52888. }
  52889. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  52890. if (t != NULL)
  52891. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  52892. if (rt != NULL)
  52893. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  52894. #endif
  52895. return err;
  52896. }
  52897. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  52898. #ifdef FP_ECC
  52899. #ifndef FP_ENTRIES
  52900. #define FP_ENTRIES 16
  52901. #endif
  52902. /* Cache entry - holds precomputation tables for a point. */
  52903. typedef struct sp_cache_521_t {
  52904. /* X ordinate of point that table was generated from. */
  52905. sp_digit x[9];
  52906. /* Y ordinate of point that table was generated from. */
  52907. sp_digit y[9];
  52908. /* Precomputation table for point. */
  52909. sp_table_entry_521 table[64];
  52910. /* Count of entries in table. */
  52911. uint32_t cnt;
  52912. /* Point and table set in entry. */
  52913. int set;
  52914. } sp_cache_521_t;
  52915. /* Cache of tables. */
  52916. static THREAD_LS_T sp_cache_521_t sp_cache_521[FP_ENTRIES];
  52917. /* Index of last entry in cache. */
  52918. static THREAD_LS_T int sp_cache_521_last = -1;
  52919. /* Cache has been initialized. */
  52920. static THREAD_LS_T int sp_cache_521_inited = 0;
  52921. #ifndef HAVE_THREAD_LS
  52922. static volatile int initCacheMutex_521 = 0;
  52923. static wolfSSL_Mutex sp_cache_521_lock;
  52924. #endif
  52925. /* Get the cache entry for the point.
  52926. *
  52927. * g [in] Point scalar multipling.
  52928. * cache [out] Cache table to use.
  52929. */
  52930. static void sp_ecc_get_cache_521(const sp_point_521* g, sp_cache_521_t** cache)
  52931. {
  52932. int i;
  52933. int j;
  52934. uint32_t least;
  52935. if (sp_cache_521_inited == 0) {
  52936. for (i=0; i<FP_ENTRIES; i++) {
  52937. sp_cache_521[i].set = 0;
  52938. }
  52939. sp_cache_521_inited = 1;
  52940. }
  52941. /* Compare point with those in cache. */
  52942. for (i=0; i<FP_ENTRIES; i++) {
  52943. if (!sp_cache_521[i].set)
  52944. continue;
  52945. if (sp_521_cmp_equal_9(g->x, sp_cache_521[i].x) &
  52946. sp_521_cmp_equal_9(g->y, sp_cache_521[i].y)) {
  52947. sp_cache_521[i].cnt++;
  52948. break;
  52949. }
  52950. }
  52951. /* No match. */
  52952. if (i == FP_ENTRIES) {
  52953. /* Find empty entry. */
  52954. i = (sp_cache_521_last + 1) % FP_ENTRIES;
  52955. for (; i != sp_cache_521_last; i=(i+1)%FP_ENTRIES) {
  52956. if (!sp_cache_521[i].set) {
  52957. break;
  52958. }
  52959. }
  52960. /* Evict least used. */
  52961. if (i == sp_cache_521_last) {
  52962. least = sp_cache_521[0].cnt;
  52963. for (j=1; j<FP_ENTRIES; j++) {
  52964. if (sp_cache_521[j].cnt < least) {
  52965. i = j;
  52966. least = sp_cache_521[i].cnt;
  52967. }
  52968. }
  52969. }
  52970. XMEMCPY(sp_cache_521[i].x, g->x, sizeof(sp_cache_521[i].x));
  52971. XMEMCPY(sp_cache_521[i].y, g->y, sizeof(sp_cache_521[i].y));
  52972. sp_cache_521[i].set = 1;
  52973. sp_cache_521[i].cnt = 1;
  52974. }
  52975. *cache = &sp_cache_521[i];
  52976. sp_cache_521_last = i;
  52977. }
  52978. #endif /* FP_ECC */
  52979. /* Multiply the base point of P521 by the scalar and return the result.
  52980. * If map is true then convert result to affine coordinates.
  52981. *
  52982. * r Resulting point.
  52983. * g Point to multiply.
  52984. * k Scalar to multiply by.
  52985. * map Indicates whether to convert result to affine.
  52986. * ct Constant time required.
  52987. * heap Heap to use for allocation.
  52988. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  52989. */
  52990. static int sp_521_ecc_mulmod_9(sp_point_521* r, const sp_point_521* g, const sp_digit* k,
  52991. int map, int ct, void* heap)
  52992. {
  52993. #ifndef FP_ECC
  52994. return sp_521_ecc_mulmod_win_add_sub_9(r, g, k, map, ct, heap);
  52995. #else
  52996. sp_digit tmp[2 * 9 * 6];
  52997. sp_cache_521_t* cache;
  52998. int err = MP_OKAY;
  52999. #ifndef HAVE_THREAD_LS
  53000. if (initCacheMutex_521 == 0) {
  53001. wc_InitMutex(&sp_cache_521_lock);
  53002. initCacheMutex_521 = 1;
  53003. }
  53004. if (wc_LockMutex(&sp_cache_521_lock) != 0)
  53005. err = BAD_MUTEX_E;
  53006. #endif /* HAVE_THREAD_LS */
  53007. if (err == MP_OKAY) {
  53008. sp_ecc_get_cache_521(g, &cache);
  53009. if (cache->cnt == 2)
  53010. sp_521_gen_stripe_table_9(g, cache->table, tmp, heap);
  53011. #ifndef HAVE_THREAD_LS
  53012. wc_UnLockMutex(&sp_cache_521_lock);
  53013. #endif /* HAVE_THREAD_LS */
  53014. if (cache->cnt < 2) {
  53015. err = sp_521_ecc_mulmod_win_add_sub_9(r, g, k, map, ct, heap);
  53016. }
  53017. else {
  53018. err = sp_521_ecc_mulmod_stripe_9(r, g, cache->table, k,
  53019. map, ct, heap);
  53020. }
  53021. }
  53022. return err;
  53023. #endif
  53024. }
  53025. #ifdef HAVE_INTEL_AVX2
  53026. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  53027. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  53028. /* Add two Montgomery form projective points. The second point has a q value of
  53029. * one.
  53030. * Only the first point can be the same pointer as the result point.
  53031. *
  53032. * r Result of addition.
  53033. * p First point to add.
  53034. * q Second point to add.
  53035. * t Temporary ordinate data.
  53036. */
  53037. static void sp_521_proj_point_add_qz1_avx2_9(sp_point_521* r, const sp_point_521* p,
  53038. const sp_point_521* q, sp_digit* t)
  53039. {
  53040. sp_digit* t1 = t;
  53041. sp_digit* t2 = t + 2*9;
  53042. sp_digit* t3 = t + 4*9;
  53043. sp_digit* t4 = t + 6*9;
  53044. sp_digit* t5 = t + 8*9;
  53045. sp_digit* t6 = t + 10*9;
  53046. /* Check double */
  53047. (void)sp_521_sub_9(t1, p521_mod, q->y);
  53048. sp_521_norm_9(t1);
  53049. if ((~p->infinity & ~q->infinity &
  53050. sp_521_cmp_equal_9(p->x, q->x) & sp_521_cmp_equal_9(p->z, q->z) &
  53051. (sp_521_cmp_equal_9(p->y, q->y) | sp_521_cmp_equal_9(p->y, t1))) != 0) {
  53052. sp_521_proj_point_dbl_avx2_9(r, p, t);
  53053. }
  53054. else {
  53055. sp_digit maskp;
  53056. sp_digit maskq;
  53057. sp_digit maskt;
  53058. sp_digit* x = t2;
  53059. sp_digit* y = t5;
  53060. sp_digit* z = t6;
  53061. int i;
  53062. /* U2 = X2*Z1^2 */
  53063. sp_521_mont_sqr_avx2_9(t2, p->z, p521_mod, p521_mp_mod);
  53064. sp_521_mont_mul_avx2_9(t4, t2, p->z, p521_mod, p521_mp_mod);
  53065. sp_521_mont_mul_avx2_9(t2, t2, q->x, p521_mod, p521_mp_mod);
  53066. /* S2 = Y2*Z1^3 */
  53067. sp_521_mont_mul_avx2_9(t4, t4, q->y, p521_mod, p521_mp_mod);
  53068. /* H = U2 - X1 */
  53069. sp_521_mont_sub_avx2_9(t2, t2, p->x, p521_mod);
  53070. /* R = S2 - Y1 */
  53071. sp_521_mont_sub_avx2_9(t4, t4, p->y, p521_mod);
  53072. /* Z3 = H*Z1 */
  53073. sp_521_mont_mul_avx2_9(z, p->z, t2, p521_mod, p521_mp_mod);
  53074. /* X3 = R^2 - H^3 - 2*X1*H^2 */
  53075. sp_521_mont_sqr_avx2_9(t1, t4, p521_mod, p521_mp_mod);
  53076. sp_521_mont_sqr_avx2_9(t5, t2, p521_mod, p521_mp_mod);
  53077. sp_521_mont_mul_avx2_9(t3, p->x, t5, p521_mod, p521_mp_mod);
  53078. sp_521_mont_mul_avx2_9(t5, t5, t2, p521_mod, p521_mp_mod);
  53079. sp_521_mont_sub_avx2_9(x, t1, t5, p521_mod);
  53080. sp_521_mont_dbl_avx2_9(t1, t3, p521_mod);
  53081. sp_521_mont_sub_avx2_9(x, x, t1, p521_mod);
  53082. /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */
  53083. sp_521_mont_sub_lower_avx2_9(t3, t3, x, p521_mod);
  53084. sp_521_mont_mul_avx2_9(t3, t3, t4, p521_mod, p521_mp_mod);
  53085. sp_521_mont_mul_avx2_9(t5, t5, p->y, p521_mod, p521_mp_mod);
  53086. sp_521_mont_sub_avx2_9(y, t3, t5, p521_mod);
  53087. maskp = 0 - (q->infinity & (!p->infinity));
  53088. maskq = 0 - (p->infinity & (!q->infinity));
  53089. maskt = ~(maskp | maskq);
  53090. for (i = 0; i < 9; i++) {
  53091. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | (x[i] & maskt);
  53092. }
  53093. for (i = 0; i < 9; i++) {
  53094. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | (y[i] & maskt);
  53095. }
  53096. for (i = 0; i < 9; i++) {
  53097. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | (z[i] & maskt);
  53098. }
  53099. r->z[0] |= p->infinity & q->infinity;
  53100. r->infinity = p->infinity & q->infinity;
  53101. }
  53102. }
  53103. #ifdef FP_ECC
  53104. /* Convert the projective point to affine.
  53105. * Ordinates are in Montgomery form.
  53106. *
  53107. * a Point to convert.
  53108. * t Temporary data.
  53109. */
  53110. static void sp_521_proj_to_affine_avx2_9(sp_point_521* a, sp_digit* t)
  53111. {
  53112. sp_digit* t1 = t;
  53113. sp_digit* t2 = t + 2 * 9;
  53114. sp_digit* tmp = t + 4 * 9;
  53115. sp_521_mont_inv_avx2_9(t1, a->z, tmp);
  53116. sp_521_mont_sqr_avx2_9(t2, t1, p521_mod, p521_mp_mod);
  53117. sp_521_mont_mul_avx2_9(t1, t2, t1, p521_mod, p521_mp_mod);
  53118. sp_521_mont_mul_avx2_9(a->x, a->x, t2, p521_mod, p521_mp_mod);
  53119. sp_521_mont_mul_avx2_9(a->y, a->y, t1, p521_mod, p521_mp_mod);
  53120. XMEMCPY(a->z, p521_norm_mod, sizeof(p521_norm_mod));
  53121. }
  53122. /* Generate the pre-computed table of points for the base point.
  53123. *
  53124. * width = 6
  53125. * 64 entries
  53126. * 86 bits between
  53127. *
  53128. * a The base point.
  53129. * table Place to store generated point data.
  53130. * tmp Temporary data.
  53131. * heap Heap to use for allocation.
  53132. */
  53133. static int sp_521_gen_stripe_table_avx2_9(const sp_point_521* a,
  53134. sp_table_entry_521* table, sp_digit* tmp, void* heap)
  53135. {
  53136. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  53137. sp_point_521* t = NULL;
  53138. #else
  53139. sp_point_521 t[3];
  53140. #endif
  53141. sp_point_521* s1 = NULL;
  53142. sp_point_521* s2 = NULL;
  53143. int i;
  53144. int j;
  53145. int err = MP_OKAY;
  53146. (void)heap;
  53147. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  53148. t = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 3, heap,
  53149. DYNAMIC_TYPE_ECC);
  53150. if (t == NULL)
  53151. err = MEMORY_E;
  53152. #endif
  53153. if (err == MP_OKAY) {
  53154. s1 = t + 1;
  53155. s2 = t + 2;
  53156. err = sp_521_mod_mul_norm_avx2_9(t->x, a->x, p521_mod);
  53157. }
  53158. if (err == MP_OKAY) {
  53159. err = sp_521_mod_mul_norm_avx2_9(t->y, a->y, p521_mod);
  53160. }
  53161. if (err == MP_OKAY) {
  53162. err = sp_521_mod_mul_norm_avx2_9(t->z, a->z, p521_mod);
  53163. }
  53164. if (err == MP_OKAY) {
  53165. t->infinity = 0;
  53166. sp_521_proj_to_affine_avx2_9(t, tmp);
  53167. XMEMCPY(s1->z, p521_norm_mod, sizeof(p521_norm_mod));
  53168. s1->infinity = 0;
  53169. XMEMCPY(s2->z, p521_norm_mod, sizeof(p521_norm_mod));
  53170. s2->infinity = 0;
  53171. /* table[0] = {0, 0, infinity} */
  53172. XMEMSET(&table[0], 0, sizeof(sp_table_entry_521));
  53173. /* table[1] = Affine version of 'a' in Montgomery form */
  53174. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  53175. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  53176. for (i=1; i<6; i++) {
  53177. sp_521_proj_point_dbl_n_avx2_9(t, 87, tmp);
  53178. sp_521_proj_to_affine_avx2_9(t, tmp);
  53179. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  53180. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  53181. }
  53182. for (i=1; i<6; i++) {
  53183. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  53184. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  53185. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  53186. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  53187. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  53188. sp_521_proj_point_add_qz1_avx2_9(t, s1, s2, tmp);
  53189. sp_521_proj_to_affine_avx2_9(t, tmp);
  53190. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  53191. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  53192. }
  53193. }
  53194. }
  53195. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  53196. if (t != NULL)
  53197. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  53198. #endif
  53199. return err;
  53200. }
  53201. #endif /* FP_ECC */
  53202. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  53203. /* Multiply the point by the scalar and return the result.
  53204. * If map is true then convert result to affine coordinates.
  53205. *
  53206. * Stripe implementation.
  53207. * Pre-generated: 2^0, 2^86, ...
  53208. * Pre-generated: products of all combinations of above.
  53209. * 6 doubles and adds (with qz=1)
  53210. *
  53211. * r Resulting point.
  53212. * k Scalar to multiply by.
  53213. * table Pre-computed table.
  53214. * map Indicates whether to convert result to affine.
  53215. * ct Constant time required.
  53216. * heap Heap to use for allocation.
  53217. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  53218. */
  53219. static int sp_521_ecc_mulmod_stripe_avx2_9(sp_point_521* r, const sp_point_521* g,
  53220. const sp_table_entry_521* table, const sp_digit* k, int map,
  53221. int ct, void* heap)
  53222. {
  53223. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  53224. sp_point_521* rt = NULL;
  53225. sp_digit* t = NULL;
  53226. #else
  53227. sp_point_521 rt[2];
  53228. sp_digit t[2 * 9 * 6];
  53229. #endif
  53230. sp_point_521* p = NULL;
  53231. int i;
  53232. int j;
  53233. int y;
  53234. int x;
  53235. int err = MP_OKAY;
  53236. (void)g;
  53237. /* Constant time used for cache attack resistance implementation. */
  53238. (void)ct;
  53239. (void)heap;
  53240. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  53241. rt = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  53242. DYNAMIC_TYPE_ECC);
  53243. if (rt == NULL)
  53244. err = MEMORY_E;
  53245. if (err == MP_OKAY) {
  53246. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 6, heap,
  53247. DYNAMIC_TYPE_ECC);
  53248. if (t == NULL)
  53249. err = MEMORY_E;
  53250. }
  53251. #endif
  53252. if (err == MP_OKAY) {
  53253. p = rt + 1;
  53254. XMEMCPY(p->z, p521_norm_mod, sizeof(p521_norm_mod));
  53255. XMEMCPY(rt->z, p521_norm_mod, sizeof(p521_norm_mod));
  53256. y = 0;
  53257. x = 86;
  53258. for (j=0; j<6 && x<521; j++) {
  53259. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  53260. x += 87;
  53261. }
  53262. #ifndef WC_NO_CACHE_RESISTANT
  53263. if (ct) {
  53264. sp_521_get_entry_64_avx2_9(rt, table, y);
  53265. } else
  53266. #endif
  53267. {
  53268. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  53269. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  53270. }
  53271. rt->infinity = !y;
  53272. for (i=85; i>=0; i--) {
  53273. y = 0;
  53274. x = i;
  53275. for (j=0; j<6 && x<521; j++) {
  53276. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  53277. x += 87;
  53278. }
  53279. sp_521_proj_point_dbl_avx2_9(rt, rt, t);
  53280. #ifndef WC_NO_CACHE_RESISTANT
  53281. if (ct) {
  53282. sp_521_get_entry_64_avx2_9(p, table, y);
  53283. }
  53284. else
  53285. #endif
  53286. {
  53287. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  53288. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  53289. }
  53290. p->infinity = !y;
  53291. sp_521_proj_point_add_qz1_avx2_9(rt, rt, p, t);
  53292. }
  53293. if (map != 0) {
  53294. sp_521_map_avx2_9(r, rt, t);
  53295. }
  53296. else {
  53297. XMEMCPY(r, rt, sizeof(sp_point_521));
  53298. }
  53299. }
  53300. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  53301. if (t != NULL)
  53302. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  53303. if (rt != NULL)
  53304. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  53305. #endif
  53306. return err;
  53307. }
  53308. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  53309. /* Multiply the base point of P521 by the scalar and return the result.
  53310. * If map is true then convert result to affine coordinates.
  53311. *
  53312. * r Resulting point.
  53313. * g Point to multiply.
  53314. * k Scalar to multiply by.
  53315. * map Indicates whether to convert result to affine.
  53316. * ct Constant time required.
  53317. * heap Heap to use for allocation.
  53318. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  53319. */
  53320. static int sp_521_ecc_mulmod_avx2_9(sp_point_521* r, const sp_point_521* g, const sp_digit* k,
  53321. int map, int ct, void* heap)
  53322. {
  53323. #ifndef FP_ECC
  53324. return sp_521_ecc_mulmod_win_add_sub_avx2_9(r, g, k, map, ct, heap);
  53325. #else
  53326. sp_digit tmp[2 * 9 * 6];
  53327. sp_cache_521_t* cache;
  53328. int err = MP_OKAY;
  53329. #ifndef HAVE_THREAD_LS
  53330. if (initCacheMutex_521 == 0) {
  53331. wc_InitMutex(&sp_cache_521_lock);
  53332. initCacheMutex_521 = 1;
  53333. }
  53334. if (wc_LockMutex(&sp_cache_521_lock) != 0)
  53335. err = BAD_MUTEX_E;
  53336. #endif /* HAVE_THREAD_LS */
  53337. if (err == MP_OKAY) {
  53338. sp_ecc_get_cache_521(g, &cache);
  53339. if (cache->cnt == 2)
  53340. sp_521_gen_stripe_table_avx2_9(g, cache->table, tmp, heap);
  53341. #ifndef HAVE_THREAD_LS
  53342. wc_UnLockMutex(&sp_cache_521_lock);
  53343. #endif /* HAVE_THREAD_LS */
  53344. if (cache->cnt < 2) {
  53345. err = sp_521_ecc_mulmod_win_add_sub_avx2_9(r, g, k, map, ct, heap);
  53346. }
  53347. else {
  53348. err = sp_521_ecc_mulmod_stripe_avx2_9(r, g, cache->table, k,
  53349. map, ct, heap);
  53350. }
  53351. }
  53352. return err;
  53353. #endif
  53354. }
  53355. #endif /* HAVE_INTEL_AVX2 */
  53356. /* Multiply the point by the scalar and return the result.
  53357. * If map is true then convert result to affine coordinates.
  53358. *
  53359. * km Scalar to multiply by.
  53360. * p Point to multiply.
  53361. * r Resulting point.
  53362. * map Indicates whether to convert result to affine.
  53363. * heap Heap to use for allocation.
  53364. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  53365. */
  53366. int sp_ecc_mulmod_521(const mp_int* km, const ecc_point* gm, ecc_point* r,
  53367. int map, void* heap)
  53368. {
  53369. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  53370. sp_point_521* point = NULL;
  53371. sp_digit* k = NULL;
  53372. #else
  53373. sp_point_521 point[1];
  53374. sp_digit k[9];
  53375. #endif
  53376. int err = MP_OKAY;
  53377. #ifdef HAVE_INTEL_AVX2
  53378. word32 cpuid_flags = cpuid_get_flags();
  53379. #endif
  53380. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  53381. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521), heap,
  53382. DYNAMIC_TYPE_ECC);
  53383. if (point == NULL)
  53384. err = MEMORY_E;
  53385. if (err == MP_OKAY) {
  53386. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9, heap,
  53387. DYNAMIC_TYPE_ECC);
  53388. if (k == NULL)
  53389. err = MEMORY_E;
  53390. }
  53391. #endif
  53392. if (err == MP_OKAY) {
  53393. sp_521_from_mp(k, 9, km);
  53394. sp_521_point_from_ecc_point_9(point, gm);
  53395. #ifdef HAVE_INTEL_AVX2
  53396. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  53397. err = sp_521_ecc_mulmod_avx2_9(point, point, k, map, 1, heap);
  53398. else
  53399. #endif
  53400. err = sp_521_ecc_mulmod_9(point, point, k, map, 1, heap);
  53401. }
  53402. if (err == MP_OKAY) {
  53403. err = sp_521_point_to_ecc_point_9(point, r);
  53404. }
  53405. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  53406. if (k != NULL)
  53407. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  53408. if (point != NULL)
  53409. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  53410. #endif
  53411. return err;
  53412. }
  53413. /* Multiply the point by the scalar, add point a and return the result.
  53414. * If map is true then convert result to affine coordinates.
  53415. *
  53416. * km Scalar to multiply by.
  53417. * p Point to multiply.
  53418. * am Point to add to scalar mulitply result.
  53419. * inMont Point to add is in montgomery form.
  53420. * r Resulting point.
  53421. * map Indicates whether to convert result to affine.
  53422. * heap Heap to use for allocation.
  53423. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  53424. */
  53425. int sp_ecc_mulmod_add_521(const mp_int* km, const ecc_point* gm,
  53426. const ecc_point* am, int inMont, ecc_point* r, int map, void* heap)
  53427. {
  53428. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  53429. sp_point_521* point = NULL;
  53430. sp_digit* k = NULL;
  53431. #else
  53432. sp_point_521 point[2];
  53433. sp_digit k[9 + 9 * 2 * 6];
  53434. #endif
  53435. sp_point_521* addP = NULL;
  53436. sp_digit* tmp = NULL;
  53437. int err = MP_OKAY;
  53438. #ifdef HAVE_INTEL_AVX2
  53439. word32 cpuid_flags = cpuid_get_flags();
  53440. #endif
  53441. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  53442. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  53443. DYNAMIC_TYPE_ECC);
  53444. if (point == NULL)
  53445. err = MEMORY_E;
  53446. if (err == MP_OKAY) {
  53447. k = (sp_digit*)XMALLOC(
  53448. sizeof(sp_digit) * (9 + 9 * 2 * 6), heap,
  53449. DYNAMIC_TYPE_ECC);
  53450. if (k == NULL)
  53451. err = MEMORY_E;
  53452. }
  53453. #endif
  53454. if (err == MP_OKAY) {
  53455. addP = point + 1;
  53456. tmp = k + 9;
  53457. sp_521_from_mp(k, 9, km);
  53458. sp_521_point_from_ecc_point_9(point, gm);
  53459. sp_521_point_from_ecc_point_9(addP, am);
  53460. }
  53461. if ((err == MP_OKAY) && (!inMont)) {
  53462. err = sp_521_mod_mul_norm_9(addP->x, addP->x, p521_mod);
  53463. }
  53464. if ((err == MP_OKAY) && (!inMont)) {
  53465. err = sp_521_mod_mul_norm_9(addP->y, addP->y, p521_mod);
  53466. }
  53467. if ((err == MP_OKAY) && (!inMont)) {
  53468. err = sp_521_mod_mul_norm_9(addP->z, addP->z, p521_mod);
  53469. }
  53470. if (err == MP_OKAY) {
  53471. #ifdef HAVE_INTEL_AVX2
  53472. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  53473. err = sp_521_ecc_mulmod_avx2_9(point, point, k, 0, 0, heap);
  53474. else
  53475. #endif
  53476. err = sp_521_ecc_mulmod_9(point, point, k, 0, 0, heap);
  53477. }
  53478. if (err == MP_OKAY) {
  53479. #ifdef HAVE_INTEL_AVX2
  53480. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  53481. sp_521_proj_point_add_avx2_9(point, point, addP, tmp);
  53482. else
  53483. #endif
  53484. sp_521_proj_point_add_9(point, point, addP, tmp);
  53485. if (map) {
  53486. #ifdef HAVE_INTEL_AVX2
  53487. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  53488. sp_521_map_avx2_9(point, point, tmp);
  53489. else
  53490. #endif
  53491. sp_521_map_9(point, point, tmp);
  53492. }
  53493. err = sp_521_point_to_ecc_point_9(point, r);
  53494. }
  53495. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  53496. if (k != NULL)
  53497. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  53498. if (point != NULL)
  53499. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  53500. #endif
  53501. return err;
  53502. }
  53503. #ifdef WOLFSSL_SP_SMALL
  53504. /* Striping precomputation table.
  53505. * 6 points combined into a table of 64 points.
  53506. * Distance of 87 between points.
  53507. */
  53508. static const sp_table_entry_521 p521_table[64] = {
  53509. /* 0 */
  53510. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  53511. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  53512. /* 1 */
  53513. { { 0xf97e7e31c2e5bd66L,0x3348b3c1856a429bL,0xfe1dc127a2ffa8deL,
  53514. 0xa14b5e77efe75928L,0xf828af606b4d3dbaL,0x9c648139053fb521L,
  53515. 0x9e3ecb662395b442L,0x858e06b70404e9cdL,0x00000000000000c6L },
  53516. { 0x88be94769fd16650L,0x353c7086a272c240L,0xc550b9013fad0761L,
  53517. 0x97ee72995ef42640L,0x17afbd17273e662cL,0x98f54449579b4468L,
  53518. 0x5c8a5fb42c7d1bd9L,0x39296a789a3bc004L,0x0000000000000118L } },
  53519. /* 2 */
  53520. { { 0xb4c52f11f3d7286aL,0xec47cb5cbbf67a41L,0x89d3382eaafb10a4L,
  53521. 0x4afd876806222b90L,0xfa16b295feb5416dL,0x0946f9d45d095b7cL,
  53522. 0x18526b28ff975e3dL,0x259cec2fb2f1c609L,0x0000000000000104L },
  53523. { 0x545642a062e36127L,0xc3e4c6f71c38e6f5L,0x1d0e02c41bf9d6c4L,
  53524. 0x8a7a6fb6483ba43dL,0x7104aee9cf390b9cL,0x4acdccdf2578e2fbL,
  53525. 0xc17af6df73b3feb4L,0x2fb789d77977fa95L,0x00000000000001d6L } },
  53526. /* 3 */
  53527. { { 0xdae82f27eb2db12fL,0x675f5cdb25444b98L,0x3234752e78288513L,
  53528. 0x53e37a78730f5769L,0xabad04dadcecd88dL,0x29d87958f3098a34L,
  53529. 0x00567f1a50cb0363L,0x400b67853878a6f6L,0x0000000000000183L },
  53530. { 0xba3b00c422d2d58aL,0x06c351857b0e93d5L,0x78810249545fa63dL,
  53531. 0x1d72e7923a6be922L,0xe38827919e285f6fL,0x3212ca84b33128efL,
  53532. 0x41640a1022acf93dL,0xbf1819691f33c6e9L,0x00000000000001beL } },
  53533. /* 4 */
  53534. { { 0x0cfa67a640b0a066L,0xe97c179e8057a710L,0xb69d285227cce600L,
  53535. 0xf7dde8c5419687d1L,0xdbcb15185d5b039eL,0x3e47772fd99abbe0L,
  53536. 0x71c9c23ab2a9c6a0L,0x5af10b9b94496951L,0x0000000000000152L },
  53537. { 0x0f96137f2c91f83aL,0x1f743fa449f15b33L,0xd43b3ec0ccb4c1b1L,
  53538. 0x895a3be3cfeea9b0L,0x27c3b4959eefee4dL,0xf1b4212712e344eeL,
  53539. 0x023afa76ff929c1eL,0x3078097686d07325L,0x0000000000000166L } },
  53540. /* 5 */
  53541. { { 0x36005a37c7b848a0L,0xbac203eee032cc07L,0x8d20246ee4c229c4L,
  53542. 0x13b8b0f97b7f6b06L,0x0223a119e13c7b1dL,0xa91307c053c2e32aL,
  53543. 0xce595e9f3536fe07L,0xc2a2efbc8489551dL,0x0000000000000019L },
  53544. { 0xed22e7b467081afdL,0xda1c5f3c81df2676L,0x48f406480ad04de0L,
  53545. 0x8d7720d1f7391873L,0x111178cb13448f78L,0x39087943ea49e233L,
  53546. 0x692f712c73d8d101L,0xca20ab46f4e7e521L,0x000000000000005aL } },
  53547. /* 6 */
  53548. { { 0xfd0c67177af706c0L,0xc500416552ebdf4aL,0x332675708ff0bf03L,
  53549. 0x3f282dddd2cdcf58L,0x93b60398bf766c2fL,0x124f1fd970748a8cL,
  53550. 0x05422ecb20ef5badL,0x9fef00a63eafb2dcL,0x00000000000001d8L },
  53551. { 0xcd2d1f04e4d1ae24L,0x099afd68e44bae9aL,0x669b9ba3a4880b2aL,
  53552. 0x5608536cab513fcbL,0xfd7de6a330d8ace2L,0xebc44b8deb95e59eL,
  53553. 0x2302405e64969883L,0xbea96ff09b276f35L,0x00000000000001b6L } },
  53554. /* 7 */
  53555. { { 0xa7b7271a71b90b8cL,0xbdc1bcdad12ca22aL,0x52a5f2901f10a310L,
  53556. 0xf5c070c0f420fb28L,0xdd09d3a5f099a78fL,0xaf60cbbe3914e826L,
  53557. 0xeac320c9a914d69fL,0x78bc962dfd5ba85dL,0x00000000000001c0L },
  53558. { 0xf69575cebe45049dL,0x418d09354958daccL,0x142da6f236c0f076L,
  53559. 0x51d23cfba83dfce7L,0x2df0421809714d01L,0x1260496a9ecec18dL,
  53560. 0xb4317aa1f700b1adL,0x86174a20cd86c341L,0x000000000000016cL } },
  53561. /* 8 */
  53562. { { 0xc2453d609102b570L,0x70840e5c142c3e23L,0x7294b1f1c30037d9L,
  53563. 0xa2500f121dbf5ab6L,0x03eceb67c9c8ee6eL,0xa19c319330820abbL,
  53564. 0x7aad59e87da6b820L,0xe97823f8c38d842fL,0x000000000000006dL },
  53565. { 0xce5bb75ea7b6bb9eL,0x9090358d569c9eddL,0xa8b5ec369cd0c065L,
  53566. 0xb2b5ac1cf81c82b8L,0x8feb364c3ffceb86L,0x355ed9ecdf4f9f7eL,
  53567. 0x6f2efe425ce12ff4L,0xb23168780155070dL,0x0000000000000035L } },
  53568. /* 9 */
  53569. { { 0x5ba6aa8d478bab98L,0x849ddc2dbcf097c4L,0x67f6f4b274b08601L,
  53570. 0xb15c438fe3acbdacL,0x0bcd49256ee2c337L,0xd15facb9b3085e64L,
  53571. 0xc8e919dcf4d1b708L,0x6eed3e36e1fae449L,0x000000000000000aL },
  53572. { 0x5103486e84926700L,0x1c6b82b28fef959eL,0xb309fe2355b9fa8dL,
  53573. 0xdb35d40e4b8579efL,0xad5288e08145279aL,0x92b15dbc4ba26317L,
  53574. 0xda42d33ed9838c28L,0xd13ae9ba313a0399L,0x0000000000000047L } },
  53575. /* 10 */
  53576. { { 0xe2fa0b39d0851f6aL,0x2f7f00e5263539c6L,0x46a066b81f107130L,
  53577. 0xe7cc14f87dbe9579L,0x61f1e5c2d0607b55L,0x539a9c4d07a4c0b8L,
  53578. 0x9b6893829fdc8d6fL,0x684725a9847245fcL,0x0000000000000020L },
  53579. { 0x98dd1588d9de1e07L,0xbe9ed1154f6dc491L,0xd4605724f2b85d2bL,
  53580. 0xf94da3ba93aa2d3fL,0x81229b618d489608L,0xb7e6a31ed9eaf52cL,
  53581. 0x787d526dab03e098L,0xc16ee426e5b06c1bL,0x0000000000000171L } },
  53582. /* 11 */
  53583. { { 0xa732fe002dcd1035L,0x034d6ff8da1f6ee4L,0x2103d3e5097d7909L,
  53584. 0xcc496507dfbec358L,0x27044faeef335708L,0xf685e6bffe9be99aL,
  53585. 0x57b8c6c406aababdL,0xb8e751f6a901830cL,0x000000000000011bL },
  53586. { 0x87101fab8e15a6b9L,0xf5ad21a11a270874L,0x5d9a90506e900902L,
  53587. 0x15a2f5a1d7fe9a86L,0x7ba4fb21dce37de8L,0x7751df45ff07bfb9L,
  53588. 0x12089b6202345c0bL,0x46f675ec6a9ace86L,0x000000000000006dL } },
  53589. /* 12 */
  53590. { { 0x689a234ba08e3299L,0x941f6f05c4cf87aaL,0x3a98121b9ffdcb65L,
  53591. 0x3252b8481623b72cL,0x65f531b5c6bae311L,0x4c5005a1c383df2cL,
  53592. 0x13c011795826c457L,0x90ea82a2ee3b03deL,0x00000000000001d3L },
  53593. { 0x582b79258c0a1261L,0x859c8a11788ba98eL,0x693c1e149a3ad4f7L,
  53594. 0xd3f4b8032d62063cL,0x6affccfa0ddc5607L,0x63a3cd821eb6c797L,
  53595. 0xa94ce4ae6fb0c290L,0xce9479c1612cf5d1L,0x0000000000000190L } },
  53596. /* 13 */
  53597. { { 0x4ab1603c78f459e6L,0x7d9af2dc6a84373eL,0x2d2be036159a9a40L,
  53598. 0x82371e3d509c38ecL,0x82188bf292f079b7L,0xd74b82801e82e017L,
  53599. 0x4041778a6b59bbfaL,0x40cf824ab8d4f9a7L,0x000000000000005dL },
  53600. { 0xf9f79e729bc88c1eL,0x8459190a77e9ceb8L,0xdcb44b726a41a19dL,
  53601. 0xe30dbe8ce243350bL,0xa168a6a9f3adebc1L,0x421fdb0c48e22f81L,
  53602. 0x3cc1d22a9b601ed1L,0x226ef6f6d2b564c0L,0x0000000000000170L } },
  53603. /* 14 */
  53604. { { 0x0eedf7150a80f0b9L,0x7f78ee5beb322905L,0x15d5375783498544L,
  53605. 0xff081204b66d249aL,0xb95434862bd0d1fcL,0x6404f1321899b952L,
  53606. 0x1de3aa0ccdd8789cL,0x8b6f01381a7153a4L,0x00000000000001beL },
  53607. { 0x12d645e1fe536313L,0x14f4969e373af74bL,0xa56f032a30d498ccL,
  53608. 0xf30e4fe50a666b8cL,0xfb42284e3fb31a5eL,0x065215a7efba6b77L,
  53609. 0x217ca76c6fa31b46L,0x13a6f6f91fc38bfdL,0x0000000000000007L } },
  53610. /* 15 */
  53611. { { 0x5141181078303dc6L,0x93d1836de01c1d96L,0x98046c2ff50b037bL,
  53612. 0xeb3a5b31fcd53e6cL,0x3976f8fefb2f8250L,0xd193f5369cda2685L,
  53613. 0xc609817dd26ee74cL,0xeea2244858f903d3L,0x00000000000000e9L },
  53614. { 0xc4f3956b8e0c791bL,0x68cf3903875c10f4L,0x3ff4a407c1f7f0adL,
  53615. 0x3672c4658902e832L,0xdf5d0b6796ea88b4L,0x68df74bda86075a8L,
  53616. 0xe6d2d0675071e56eL,0x8c7fb077c7e5fcd5L,0x00000000000001f1L } },
  53617. /* 16 */
  53618. { { 0x1e2df23635210df1L,0x387b5c569aace566L,0xdd8152c9ee401323L,
  53619. 0x56fe9ec99cac0076L,0x88ed7fc1e1a9f782L,0x6551487d681f0428L,
  53620. 0xeaacc10197689006L,0x626bcad13b7e7fe6L,0x000000000000015eL },
  53621. { 0xe1b3574a7acb23caL,0xadda7c9e3636a1c2L,0xfc998cf89f3d947cL,
  53622. 0x38ee4df41ba0511bL,0x1f40cc1403e4694bL,0xccecf4e0800fb6d9L,
  53623. 0x021f708ae1665d06L,0x2bcd7975c492d329L,0x0000000000000063L } },
  53624. /* 17 */
  53625. { { 0x66bd9a0dcd698697L,0x0e7d8559bbbc1758L,0xe072a980ac76a88dL,
  53626. 0x3cf9af4de2c17874L,0x85b24bc4748e97adL,0xe5522faff3f6d8eaL,
  53627. 0x60ed43eecef45795L,0x1859fd20de38467dL,0x00000000000001d7L },
  53628. { 0xe62c76b958e8181cL,0x3731bcc7fee454edL,0x2cb0b570ee89f8f5L,
  53629. 0x0a38b9539a262283L,0x46887e748c19a774L,0x1dbea5dae80adab4L,
  53630. 0x09fb720cb1f75c90L,0x91e0b746e723e278L,0x00000000000001c5L } },
  53631. /* 18 */
  53632. { { 0x6fa722771bac59f3L,0x72358865520791adL,0x8da1c8c4e32463d8L,
  53633. 0xe0e75863d41001a5L,0xcea164f748e602dbL,0x93cb5f21cc294cfeL,
  53634. 0x28a3168a941cbefaL,0x018fff3bab807177L,0x00000000000001e0L },
  53635. { 0x3da709346a145377L,0x1fb17f7fd16e2b7cL,0xef6432fcc0469077L,
  53636. 0x62a59a97d6660f5eL,0x8ddc75505e2a0275L,0x2e65b1f75b88dce7L,
  53637. 0x0f4283da066f2c44L,0x561b9e15ce4b84a2L,0x00000000000000ceL } },
  53638. /* 19 */
  53639. { { 0x728e1148bdbc363aL,0xdfbf9e0bf7a1bbabL,0xd6fcfc8fa2e12868L,
  53640. 0x3969e7e50a19fe81L,0xf104d3bef512cd5eL,0x9879c459810da8f5L,
  53641. 0xad31c365924bf3a3L,0xb2e2d4914d4fb575L,0x0000000000000151L },
  53642. { 0x330d4d1d79410972L,0x7e6ef2a0ba1831bbL,0xa18cc9af4f4d5b93L,
  53643. 0x29d8de68069c9948L,0xb8bc009db5e104a0L,0x4237d3728d929561L,
  53644. 0xa126a4e8a2274babL,0x85ba9fcba99c454fL,0x00000000000000cbL } },
  53645. /* 20 */
  53646. { { 0x954376cee18bd1d3L,0x350613fc9c8e4d95L,0xa60d595673323968L,
  53647. 0x4f6ac836a044cdbcL,0xf38d747b881b8e40L,0x79f7faf00426afe2L,
  53648. 0xf6e7403d2ae12787L,0x721445a6726ae667L,0x0000000000000141L },
  53649. { 0x9e0d2f66306787cbL,0xe2e3c834fce146f5L,0x4b62143f2fdbe2b4L,
  53650. 0x19dab7745acb5238L,0xee46bfcd7e138359L,0x29dbfa6675966b0fL,
  53651. 0xcde19c032d601936L,0xf7daf7b4f2aa4f6fL,0x000000000000019cL } },
  53652. /* 21 */
  53653. { { 0x55a5e8f4641b7e08L,0xe1e589f3caa920f7L,0x07b90ad9abfced83L,
  53654. 0x05ff78cd7c466f08L,0x2020ab945a71ab69L,0xd3ad1f5787ee2ec2L,
  53655. 0x078ba17efb3d4c91L,0xcf3753ba8607cf69L,0x0000000000000138L },
  53656. { 0xb5e391e2b9b22600L,0xd20b3d088454c979L,0x4c9945642f77a85dL,
  53657. 0x972896db1f169687L,0xd3554fa2ff8d2b83L,0x57123d99bd48e671L,
  53658. 0x1266b6b9da59843fL,0x633ff4df9241786dL,0x000000000000011fL } },
  53659. /* 22 */
  53660. { { 0x071492bba1e06f89L,0x6f3f72de734cc62aL,0xb50a11309d477637L,
  53661. 0x5f6b0546a5ce54f0L,0xc1cde769698626edL,0xe43af79564ade3d0L,
  53662. 0x3067161797a20d2bL,0xdf5821678c48495bL,0x0000000000000129L },
  53663. { 0x544a65284790d91fL,0xf71c90983f2924bdL,0xd5adb1d63e5c39e1L,
  53664. 0xeba20528d8cacd81L,0xac72518ac728e735L,0x789a0bdf565cc9a0L,
  53665. 0x4b320c80c922bce2L,0x99b26c84e458f8adL,0x0000000000000138L } },
  53666. /* 23 */
  53667. { { 0x2fdf67bf4f6f867eL,0x56f6ea005f1e2bf2L,0xa7d7c0d8896ab990L,
  53668. 0x589102a023329acbL,0xbb8b6a64156a7f42L,0xfbb556a95882578aL,
  53669. 0xa82481cc609250ddL,0x573e51d9daad3d36L,0x000000000000005dL },
  53670. { 0x7e2ede0bb08ffeecL,0xa37176acefbed279L,0x5acafeac0b72e855L,
  53671. 0x4c7c3ce3fcc75badL,0x2fc0939bb9a704a1L,0x6bf0c5328e4b4841L,
  53672. 0x5b72f1f2c10742b0L,0xaa62d2889c54371eL,0x00000000000001c1L } },
  53673. /* 24 */
  53674. { { 0xd3a8c547c7d40b83L,0xd9fd110285002a83L,0x4bd9516c97f61840L,
  53675. 0x8c628537448c4851L,0x5cae5aa1c90925adL,0x356195c572319740L,
  53676. 0x8cb6e19ba2b5be38L,0x68626a4b6d9c8c33L,0x00000000000001c5L },
  53677. { 0xa0c846a9ed58b48cL,0xebe6013ae2590d05L,0x60c5d677da2fc481L,
  53678. 0xb6a0897b9252e895L,0xb84595be218bf72dL,0xf1c527960dd1b9b1L,
  53679. 0x3f1583a86d38442aL,0xcda593dec4de5fdfL,0x000000000000010aL } },
  53680. /* 25 */
  53681. { { 0xdb0fa258898a19c2L,0x26346630974ccc01L,0x135ec9db1f1e6a83L,
  53682. 0x9bac9c9bff494d1bL,0x78d21ad4f24be4d7L,0x3249c89f61e8dacdL,
  53683. 0x528df6852df2cb51L,0x4f0ec6792ccdc5b7L,0x00000000000001dbL },
  53684. { 0x789f22f80f551d73L,0x42ec3257e7ba5676L,0x3f52c4094cc69a65L,
  53685. 0xafdd277df46f1eb6L,0xaead8379ec161194L,0xdc657d191f924e46L,
  53686. 0xe43263451578ff09L,0x4750da5878d091bfL,0x0000000000000173L } },
  53687. /* 26 */
  53688. { { 0xdf886f2283fe19b9L,0x740586885dba4f8eL,0x3c04af37a13f8dc7L,
  53689. 0x21771e2b3b99dcbcL,0x1e77950d55c5b6a7L,0x20a6975b1b1338e1L,
  53690. 0x4956e06bd276d114L,0x56686808b0d3b14cL,0x000000000000016cL },
  53691. { 0x08f3f2a25182063fL,0xdea422b775992149L,0x845260b0d5cd158cL,
  53692. 0x6e0768e07c353c5aL,0x5718a1c23afa81caL,0x522f094d3ca2a17cL,
  53693. 0x96a361f77d93ebfdL,0x75c32db595c76942L,0x0000000000000095L } },
  53694. /* 27 */
  53695. { { 0x953bb441f640de23L,0x5d35f0a9e1e08dc6L,0x323a1bcc7bbad4e6L,
  53696. 0x4dc31447742e5ad0L,0xca0e8e15068bf07dL,0xfc317d5097ebd2b5L,
  53697. 0xf5447997db4c9342L,0xf98a3ac80ba0a29cL,0x0000000000000061L },
  53698. { 0x4ccb1f249e925079L,0x97af5a3dc5c916d3L,0x7ef650a8e497e318L,
  53699. 0x0d49927842975745L,0xcf328ffb2462eba5L,0x8ee8e88f6e360cf3L,
  53700. 0xe15c3f8dc77cd3c2L,0x5ab87910736a646aL,0x00000000000001cbL } },
  53701. /* 28 */
  53702. { { 0xa2d5fdb981e3d610L,0x0127b05c456ddf1cL,0x29e247d9bd5bd8a4L,
  53703. 0x5758d126f5959d68L,0x9b0fb7fb2b28eb19L,0x1d8aa23a1d312140L,
  53704. 0xf8b9e467281b4d2cL,0xea57464cda959b8fL,0x0000000000000028L },
  53705. { 0x8e118540a87d4633L,0x3af88a0815200b8cL,0xca1806b488f790e1L,
  53706. 0x605032a919cd9554L,0xf671627867d0cefdL,0xb58e8671d1676085L,
  53707. 0x51098dc308decf4cL,0x5a6cb932a50e312dL,0x00000000000001fbL } },
  53708. /* 29 */
  53709. { { 0xa15c4a20a5eff951L,0x1baa735b49f4f32fL,0xab53ad000feaf2c6L,
  53710. 0x354c2bc4ed66b803L,0x587fd2379ac12f3aL,0x3837c9643881a729L,
  53711. 0x1d8bd95b9f6c3bbeL,0x237ed2d808d914b6L,0x000000000000001cL },
  53712. { 0xcde7b0d13de67115L,0xe645422dec23815bL,0x286703896b445b51L,
  53713. 0x11be335a80ae2784L,0x9185d3df1a64b6e3L,0xa0ccbdd0ba228c67L,
  53714. 0x6bc79dff3a013cf7L,0x229f4e59b464c70cL,0x0000000000000185L } },
  53715. /* 30 */
  53716. { { 0x3f621de51cf1a11fL,0x18b004fd0658152dL,0x1bc8a9455df479b5L,
  53717. 0x901719473da586acL,0x06fe325baa2f052fL,0x4a2fc982b6323a69L,
  53718. 0xa975e8bcd4f0b34cL,0xfe3f271914ed1d56L,0x000000000000001fL },
  53719. { 0xeb6045d192f826d9L,0xbd7c962e5facf02fL,0x87a5cfbd35fa1278L,
  53720. 0xfd1ff1cbdeda7159L,0x1b0f6638a1287202L,0x861e7cbae1fcd5deL,
  53721. 0x33709b6bb9822a98L,0x171b15ba8b2ae55dL,0x0000000000000130L } },
  53722. /* 31 */
  53723. { { 0xb7f2a894410a34a1L,0xca6d4597f0e4d4f6L,0x84c4a0fe6d4d1f8fL,
  53724. 0x42d465bb405c281dL,0x44893a203587a898L,0xc0d0d12dab4ffdd6L,
  53725. 0xd5f85269fc00e886L,0xd93f9cdce1999ae1L,0x0000000000000199L },
  53726. { 0xa9d573cad9980812L,0x87d7913ea7e02cb9L,0xb772f40954b00468L,
  53727. 0x207850e8cc28eec8L,0x772468db7603910dL,0xb5d3125db256e07aL,
  53728. 0xbeb567df8b59420dL,0xb3467a5331e5ccd1L,0x00000000000001daL } },
  53729. /* 32 */
  53730. { { 0x3a44dde085f45eddL,0xc543bb6498309156L,0x82d1ce827597d0d0L,
  53731. 0xb2dc0f228106ca3eL,0x66f394472c3a313aL,0xd8f6fcdaa6cf2e03L,
  53732. 0xed6e0e279e6bf40bL,0x7dcd3a305b9a41afL,0x0000000000000095L },
  53733. { 0x0a870cec12be5b78L,0x912c21c51406e140L,0x977417fdd5e13ca1L,
  53734. 0x9edbae8ab9e21e28L,0x9fce45ea13b2f069L,0x25bd760b84f3cbf2L,
  53735. 0x29e0c3ce2489fd01L,0xe16d31c1ec62a766L,0x0000000000000061L } },
  53736. /* 33 */
  53737. { { 0xaff40f1bb5598dccL,0xef04d8e02cd12fd9L,0xc97ea3b0bad7f4acL,
  53738. 0x336776a6565108cdL,0x71d9d056fe63178cL,0x31a7c54714c3f6aaL,
  53739. 0x5da757a2f6804c72L,0x7b3ee12ff87bb311L,0x00000000000001faL },
  53740. { 0x30df907b6bf9f426L,0xca534ca162ef821fL,0x540f8dba017699e6L,
  53741. 0x7cddfe567358f4afL,0x5bc334a1e8f9cef6L,0x427fd83d6adc5f09L,
  53742. 0x2fd7c1b8b851f4c2L,0x234d1bd4d1587daeL,0x00000000000000d3L } },
  53743. /* 34 */
  53744. { { 0xffef7d4f0399f8ccL,0x1e2708d99da4c3faL,0x5792ebd0a9474303L,
  53745. 0x21aa73f56812a436L,0xf61f60fbc052973dL,0x7061be89fc874833L,
  53746. 0xe65c7ebe2638329dL,0xe728d78b032852d9L,0x00000000000001e5L },
  53747. { 0xb633df4e27c9f6a6L,0xdea08843cc406457L,0x75f688183cb011bcL,
  53748. 0x234d1b4ad5603044L,0x2a156ae5b6a4d089L,0x9021af3b95e9f0f1L,
  53749. 0x90e987df968be7d3L,0x0821a4d3781ef8abL,0x0000000000000027L } },
  53750. /* 35 */
  53751. { { 0x94de21d800df95b9L,0x5d5301b2c33c47f7L,0xf271cabd2343171eL,
  53752. 0xbe5441dc4f0fba70L,0x11183253702639d6L,0x01e0573a97074632L,
  53753. 0x268025dfce4f92d6L,0x47d14b05039a6f5bL,0x000000000000015dL },
  53754. { 0x2051179030720125L,0xee2db45c6541fb74L,0x07bbcc41aacdcd66L,
  53755. 0xffa2e9630a08ced4L,0x819b5b7a7f21a83dL,0x5f857f0a44896b10L,
  53756. 0x6126655c197cde7dL,0x81d0f14a2962acd7L,0x0000000000000138L } },
  53757. /* 36 */
  53758. { { 0x0b7a0b9ebb82fc5dL,0x7f2e7af14ff667a2L,0x5cc3df3907a17aecL,
  53759. 0x91465af2398fb92aL,0x785b749098cf002eL,0xfe22218f7380cfb0L,
  53760. 0x32bd17997f4f03a8L,0x1c78bd791209f39aL,0x00000000000000e4L },
  53761. { 0x90389734e8b69225L,0x26dc02b5fc69c2f9L,0x37eeea93ff349339L,
  53762. 0x642556bfc05ec9e4L,0xaa5744b64bd93ef1L,0xc29f3c91bfe9d602L,
  53763. 0x399cbf01aea4f871L,0xc02b2b1cf485b047L,0x00000000000000beL } },
  53764. /* 37 */
  53765. { { 0x5658a9eb87400032L,0xb3513556ff0b51afL,0x99ecda719408ac7bL,
  53766. 0x5e8d8b317bc54d5fL,0x8f178f9e3ef10515L,0xfc49ad94624b9cf0L,
  53767. 0x344433fd8fc6c90fL,0x0df7be427f17965fL,0x00000000000000d4L },
  53768. { 0x47918d08133929fbL,0xd6cf0aa92ff979f6L,0xad55ab19a37a87abL,
  53769. 0x9e9d1956c5010be8L,0x8c0bd3ea3b82de19L,0x6c87820ff3c76b65L,
  53770. 0x70499d39f2232ed8L,0x70dab0ee7aafde31L,0x0000000000000163L } },
  53771. /* 38 */
  53772. { { 0x5ba4b10081d6751dL,0xeb0319dcb96a5495L,0x56407c25654729d3L,
  53773. 0x3de520199330d3fcL,0xb3f8a00e28998bc4L,0xeeea220977ddd518L,
  53774. 0xc1429a49cb758f5eL,0xa86982a271834361L,0x0000000000000040L },
  53775. { 0x7472fd7ac36a0150L,0xfb61ab940138d406L,0x0cef5dd5b30829f5L,
  53776. 0xa8ea3257aef599f4L,0x593011df7fa063bcL,0xea4c19ced774cb2cL,
  53777. 0xad0eeee6b85e8883L,0xb5ef126b2aba018bL,0x000000000000014dL } },
  53778. /* 39 */
  53779. { { 0xebc08efd502a4e76L,0x4589d863767c0f52L,0xcf85eef44eb92decL,
  53780. 0x0b59aa5d965c95c1L,0x60945a8e68d2dbcaL,0xc94cb99f77bf02d9L,
  53781. 0x6cc41e81cfc0dc2dL,0x7264e2dc8637cc2bL,0x00000000000000d5L },
  53782. { 0x28989d2059b1302cL,0xba90dc20f89d0c77L,0xa29e9c3ee7f4a0b1L,
  53783. 0x332ecd54b0a225b5L,0x38a3b080b042d9eaL,0x6d27ff408d9dfe9fL,
  53784. 0x146f8b3a88a69d3aL,0x634fb13f1fee39b6L,0x0000000000000031L } },
  53785. /* 40 */
  53786. { { 0x2cd49af1f76d4173L,0x269b00cea89acef1L,0xb60e2977a015990bL,
  53787. 0xbe86499685f72cefL,0x4e23b9db4d5b0156L,0xfa92c71c6bb926baL,
  53788. 0xf4a8ff2fe2f815b2L,0x543eee4aa5cd2e72L,0x000000000000003aL },
  53789. { 0x9cf75fb5ecb67b4bL,0x0132019091a51dbcL,0x0557fcd377225c2bL,
  53790. 0xe2e69807eec94860L,0x58ccae9fe6c35624L,0xeca667a6e8c2ff7cL,
  53791. 0xf6939f23a37b64a3L,0x2eaabbb70d225b40L,0x00000000000001e7L } },
  53792. /* 41 */
  53793. { { 0x036735d2ff9ed76dL,0x8653e8e35d154fcaL,0x6811cba29824f792L,
  53794. 0x96a3c594e1252e06L,0xb02543e7ba6e82e0L,0x5435187349b46518L,
  53795. 0xb7c14c8662bc5b59L,0x6535a2bba295f29bL,0x00000000000000bfL },
  53796. { 0xd8b41e4bb0625972L,0x1063ba69b0ce550dL,0x64687d34db86696eL,
  53797. 0xba2b364455ca06daL,0xa4699ecd3dc4d46cL,0x9f40e631bfe4443fL,
  53798. 0x0e97fbe375fa4f7eL,0xd026b0481cbdc008L,0x00000000000001d2L } },
  53799. /* 42 */
  53800. { { 0x042191fad75cf083L,0xaffc08409bd72c49L,0x8f5b9e3f67faf055L,
  53801. 0xa99fa2dfc9794f77L,0x1ccbe885a9ef6764L,0x5fd1e3d66880eb3cL,
  53802. 0xbef622be06fd7bfaL,0x80d418fe9b10c7f8L,0x00000000000001a9L },
  53803. { 0x6637732018148fceL,0x9655f8b345c2a46fL,0xdc2952408caf763dL,
  53804. 0x4313d4b72816a721L,0x6ff4aa0a50da95edL,0x66cbcad2d4f9e551L,
  53805. 0x0ff11d35e6993438L,0x93dab445b9a4f5f1L,0x00000000000000b4L } },
  53806. /* 43 */
  53807. { { 0x8e846df2fa327b1cL,0x6755220d1d0321a0L,0xbacbc29c0342f918L,
  53808. 0xbe6f119dd996a1f8L,0x11c02d40eb5740ffL,0x28a8232f4fbb962fL,
  53809. 0x066250a52185293aL,0xf9220c87cf927dc9L,0x00000000000001c9L },
  53810. { 0xd59cdf5b32a50e5aL,0xa13035882c379627L,0x0894c6ebff69b440L,
  53811. 0x881458aaad6055c9L,0x27d9a7d5b2f2ff3cL,0x15f33160d254ae2dL,
  53812. 0x6e8342f1e38392bbL,0x7d7f4576b7c8d249L,0x0000000000000104L } },
  53813. /* 44 */
  53814. { { 0xd63c86d1774512bfL,0x1524c2d8624719e4L,0x2f7568d486d00e48L,
  53815. 0x02140d74cb9cf033L,0x3fff92dd0cae0cceL,0x7ec6068613941889L,
  53816. 0x791633ac5b8bf2b0L,0x43c98854ca54ea3dL,0x0000000000000027L },
  53817. { 0x15a79b14e40eb5e3L,0xccbbb5c75eeb2285L,0xc67c8dff5686232dL,
  53818. 0x8b45a2c1a83196efL,0xa274bf939b2acfb3L,0x35c2b5486e56b741L,
  53819. 0xc93963b24c1f5672L,0xbe9d6f8edf0e741bL,0x00000000000001caL } },
  53820. /* 45 */
  53821. { { 0xc8bc017afba4114aL,0x8e2791028d7327cdL,0xb95bfa6bddf662a4L,
  53822. 0xd828f02c44a2caefL,0xc6504c42a27af13cL,0x67f79cab503e832dL,
  53823. 0x42da6976cb78ed1dL,0xda6e4727431e01dbL,0x0000000000000094L },
  53824. { 0x44d5bd3eb9544fd3L,0x329d747f694035c9L,0x104d2b68676f065aL,
  53825. 0xc8e81e7cfc4165c6L,0x4cdad2fdaf3779f2L,0xa3e4a4625669a833L,
  53826. 0xa281178a21737142L,0x86f7afb87b8f5514L,0x00000000000001aaL } },
  53827. /* 46 */
  53828. { { 0x407a70134deacc7cL,0xa2540e3c94faf272L,0x4246beb934b43fa8L,
  53829. 0x157b03f43ba9f184L,0xf7898d60b939ba99L,0x0f7e245e3a5f62b4L,
  53830. 0x2db5a341eaf7a575L,0xd3adea091278c0f7L,0x00000000000000d2L },
  53831. { 0x2cba440ada687094L,0x3b478947767e75d2L,0x07c7de48078f23a0L,
  53832. 0xca6d86d8d7252108L,0x5fd954fc6a7fbe1aL,0x4d552bbec9a2a901L,
  53833. 0x71ab270159e75804L,0x294298fa5413091cL,0x0000000000000149L } },
  53834. /* 47 */
  53835. { { 0x6e60bc8cbebdd14bL,0xfe195cae8c57a662L,0x41e77bd8d9e4437aL,
  53836. 0x20fc2e7c85e4b9edL,0x97be566d2a012e02L,0x433786ae9b250c6aL,
  53837. 0x9eb76699cbb3224aL,0xf727091bf090f756L,0x00000000000000c8L },
  53838. { 0x31496439ef08161cL,0x265407a997e3a008L,0x2088210700e2ffcdL,
  53839. 0x27426c055359fd16L,0x03e836825c39f78fL,0x380743a8e2a8832eL,
  53840. 0x8739d8ed792bafe6L,0x6cef07c47a912015L,0x0000000000000128L } },
  53841. /* 48 */
  53842. { { 0xf29780090fd83accL,0x247593df630645dbL,0x171e6b9f9e2db252L,
  53843. 0x3a6342a3c30aec58L,0x23524040fdd7151cL,0x2589b6988b15fee7L,
  53844. 0xca588f0a17dca917L,0xb2cf2fe7677cad49L,0x00000000000001dcL },
  53845. { 0x14332d38c8573626L,0xd4fe66fd4adedd4dL,0xc5d8f397bb83b706L,
  53846. 0x00aacee43aa8a4c9L,0xe90383ff107c81a9L,0x6cf1fb2f18abdf47L,
  53847. 0x9bf5444df17c55baL,0x8251ec253659322aL,0x00000000000001deL } },
  53848. /* 49 */
  53849. { { 0x5a0e940caa2f106aL,0x7c55eb23418781b7L,0xcc6cebb679cc53b8L,
  53850. 0x7f6f64fc9d7377f4L,0x1571161c6de3403cL,0xd7a52f1cff1bf45aL,
  53851. 0xaf938df4110b0e06L,0x9bf219246f64c558L,0x000000000000001cL },
  53852. { 0xe15e4f0ea5afb352L,0x9ff6c56df2ca770fL,0xe0e86c68338e1890L,
  53853. 0x96907f1990808bfcL,0xd0d47de2686b805bL,0x2fbfcb72b367c12aL,
  53854. 0x800a58141dd3d54fL,0x2f4b07b398657a79L,0x00000000000001f3L } },
  53855. /* 50 */
  53856. { { 0x3340fb54f31cb1daL,0xc1e88317e1752360L,0x183ae7f8121667b1L,
  53857. 0x1f271fa2bfd7bae9L,0xb31175b92b745d3dL,0x22250cc540b13e3eL,
  53858. 0x63aabbb70d01026fL,0xab63c0f1b428cd91L,0x0000000000000018L },
  53859. { 0x7435eaf9988d425aL,0xf9f323c7fcc441f4L,0x8de16b8c3e4de08eL,
  53860. 0x2e603853e495b0f0L,0x204602204b3f0024L,0x8aff3f40b43cdb09L,
  53861. 0x409df7af4d00e185L,0xc681d091f1637f16L,0x000000000000019fL } },
  53862. /* 51 */
  53863. { { 0x0801a2cf5f0f872aL,0x67a587356ec8c90cL,0xf21e24aba0913e94L,
  53864. 0x985fc1703502bcb9L,0x8552800450a05926L,0x65918c8f426e56f8L,
  53865. 0x382414dea5cba2acL,0xc3e7a7e62874cb00L,0x000000000000005fL },
  53866. { 0x96630e9e8fa87335L,0xdcf938c1c7771bc8L,0xc4f3d77aa8cf3cd8L,
  53867. 0x931ae9adc99a5fddL,0xa89581d55e2bcffcL,0xd0c7c71f29758819L,
  53868. 0x4ef995634d5aa9d8L,0xc6de91cd8f04cdebL,0x0000000000000171L } },
  53869. /* 52 */
  53870. { { 0x24b42a1c35c6448eL,0x129a536e1f4e7b86L,0x7ca12db87e48d8f6L,
  53871. 0xa827acf3587d6577L,0xfc62bf4bb1cce77eL,0x702ee5800f45a823L,
  53872. 0xb4989843cc7a73a3L,0x3d49a2326c0afb5bL,0x00000000000000a6L },
  53873. { 0x7055c61255086dc5L,0x0622af5a3cf49868L,0x113dc4cbe695b064L,
  53874. 0x65b33365479ff727L,0x156ab542336bc622L,0xf5a2ef703014770dL,
  53875. 0x486f74556ded88eeL,0xbb4619488c8a7452L,0x000000000000005aL } },
  53876. /* 53 */
  53877. { { 0xea6e991125fdd488L,0x4ea556fb3d0183b0L,0xe8cfd7c274dc3ac2L,
  53878. 0xe20307a3ddf1bd8fL,0xfc6684582ee9be7bL,0x64a60b7937782071L,
  53879. 0x612fc9c865acf2e3L,0xcbb8c60c0de59326L,0x000000000000009cL },
  53880. { 0x250e6112195cad69L,0x81cd7e491f0b4f39L,0x9b6808db61302e46L,
  53881. 0xe569c108b3af7841L,0x34d86f57c15d5fc4L,0xb3e586fdf76ad338L,
  53882. 0x6de8477b70bd63a8L,0xa52b119d7ec86218L,0x00000000000000b6L } },
  53883. /* 54 */
  53884. { { 0xe51f8aca27806255L,0xcb4da51a101b2dbcL,0x27b8a0dfe08b3553L,
  53885. 0x6e2a0d066ad56ac8L,0xa751cbedec44486dL,0xf574538ec5b2ae67L,
  53886. 0x64e1e3c3827536e2L,0x652fa060707a8b39L,0x0000000000000170L },
  53887. { 0xe17a85d7684c6e53L,0xc957477272d0d747L,0xf892866558d12edbL,
  53888. 0x7fb212c8c815db67L,0x44b676eff3e66186L,0x15b57bb3998ef4d3L,
  53889. 0xb71f3b8e815c5036L,0x3fe9796573bcb190L,0x0000000000000162L } },
  53890. /* 55 */
  53891. { { 0x5c7f569ad5fd84e2L,0xf84d6e126fa4bb7cL,0x7b74629c82a1081dL,
  53892. 0x7935151d0522589eL,0x94fb78055ccf889aL,0xec677309792f6bacL,
  53893. 0x42fbece8d880a0d8L,0xd97b4881b70be7f5L,0x00000000000000e3L },
  53894. { 0x85d79261eda953e8L,0x35894e9b5dd94926L,0x95c1cbc99aeb12b8L,
  53895. 0x017029fe1695dc35L,0x36e2b978d6b13364L,0xb86b7afdc388ce34L,
  53896. 0x2d25b1af1e501e40L,0xf9127abdd5d7e7c1L,0x0000000000000031L } },
  53897. /* 56 */
  53898. { { 0xa18a458f1bb9a390L,0x916fc4b62062e5d6L,0x7040176be16db823L,
  53899. 0x25de966301177efeL,0x2b679ddeb778335cL,0x6ecf1689862622ebL,
  53900. 0xa191ffb5cb8a74ebL,0x4cc26680019ff743L,0x0000000000000047L },
  53901. { 0xfa5b847e047d9854L,0x6151153b6527d4d7L,0xf72721185bdda4c9L,
  53902. 0xdde383c5f17c7e63L,0xc44040392a82edb4L,0xd1355d9781853b97L,
  53903. 0xcb503386b211c3b0L,0x0f9dbd602c17c154L,0x0000000000000107L } },
  53904. /* 57 */
  53905. { { 0xc8cd8f5d80a2aa22L,0xb73c67a164793948L,0x55abac7fff49c73dL,
  53906. 0xb5bc3df0833e5481L,0xf6ab8a42384a9287L,0xbea5929eee4f0be7L,
  53907. 0x2e6bf0f29619ddbaL,0x224ce58ab2ddfcbeL,0x00000000000001d4L },
  53908. { 0x12f87e99ac4906b7L,0xe752f6ea5101c876L,0xa32a9b1f2b668943L,
  53909. 0x9e6e6c2b07950fdfL,0x72a31f91bbb4c324L,0x2e799c7b28546e5fL,
  53910. 0x7183a2daa6ff4503L,0xe2cb8237178fdeebL,0x0000000000000030L } },
  53911. /* 58 */
  53912. { { 0x140767d0bcd89552L,0x31548634f10fdf7fL,0x2c4cdccc210355fcL,
  53913. 0x4929888955704a76L,0x7102e8820f1d3e5eL,0x4afc588292691f55L,
  53914. 0x4cff09ede9e34260L,0x49d3a32932cd76ccL,0x0000000000000063L },
  53915. { 0x6adbd32efbdc0c1eL,0xe3fe998b0ebefe86L,0x78099d79bc2a7085L,
  53916. 0x333c30095adeab44L,0x45e4d96f07ae4b5fL,0x4bd1f0d29de88636L,
  53917. 0x8c7e69d7bf2020a9L,0x126a5886c3c5a340L,0x0000000000000000L } },
  53918. /* 59 */
  53919. { { 0xaed91dc9263f94d8L,0x40f3c1cd20289709L,0x74dc1e9b60b5c995L,
  53920. 0xf08cb2a07d5bb95bL,0xbb6d3339e642d133L,0x3c3e5d14d2fcc05dL,
  53921. 0xcf159316403e4a78L,0xd84be52727c124faL,0x00000000000000d4L },
  53922. { 0xbb2246c1bcd8501dL,0x86d450b3a1600eadL,0x6f5a476db626b180L,
  53923. 0x01f4b93e3511ac45L,0xd813396bbbfa9758L,0xc69b8e7512347b15L,
  53924. 0x108defb629cd9e2cL,0x4778bb2725e9ac47L,0x000000000000012fL } },
  53925. /* 60 */
  53926. { { 0x140ce283ea9f1213L,0x2326ce38af8d7bc8L,0x90d21012914ac8b5L,
  53927. 0x0b07cea5e255c0e1L,0x93cc5e972dcccb43L,0xb89b14f2ee9885efL,
  53928. 0xa35afc40dc56967cL,0x8125d749ee2e3671L,0x0000000000000101L },
  53929. { 0x1855e97a55902052L,0x8a572e69e6f0db6cL,0xb1bb6014fcfa3f3cL,
  53930. 0xe77eb435f5b2440bL,0x9045dd302df3f74aL,0x7853068b590ee6e0L,
  53931. 0x5714e1f03b9ddec5L,0x9810d77586086f6bL,0x0000000000000008L } },
  53932. /* 61 */
  53933. { { 0x66e566e3d3a87a30L,0x325081762cc44c2fL,0xdcaf7c52b80871eeL,
  53934. 0xdad02ffbdd245945L,0xb9e691ace956cdb7L,0xdfefe49fc62064e5L,
  53935. 0xc322f6978c8f2c6dL,0x68a5d7a8aa88f4acL,0x00000000000000deL },
  53936. { 0xee5555b183ae6c21L,0x895c837c478467b0L,0xe6b06030dd4d105bL,
  53937. 0x9d9f32247636a759L,0x68132ea4fb8142ddL,0x6109a099ff919487L,
  53938. 0x775c37af76a1835dL,0x4279a9c48604a81eL,0x0000000000000093L } },
  53939. /* 62 */
  53940. { { 0xb72859988df31c84L,0x0489bf6fcf37c1c3L,0x4ccd18d9e4c102d7L,
  53941. 0x8b1d6c45ac3e23c9L,0x7b7d259a5744d781L,0xa0033649b4778129L,
  53942. 0x5c7414d99fbf3e2cL,0xfa78a7fe20774c25L,0x0000000000000043L },
  53943. { 0x9b46685f8e69fd50L,0x2632cf3c3e47d4deL,0x44fd8f9f0238fed0L,
  53944. 0x2fbc3f42e03f169dL,0x0c9df28eb7dcd132L,0x5deae7cc3d18592aL,
  53945. 0x3034fb93406adf0bL,0xbf5a3a75ae059280L,0x000000000000010aL } },
  53946. /* 63 */
  53947. { { 0x272883fb34c28cb6L,0x22b00e9e5e7d03a4L,0x23bbacb97f4602a2L,
  53948. 0x27564d96c248ed06L,0x9b7e1ce6d1c5b544L,0xb3d77b2d71182e92L,
  53949. 0xb18e78aade9d46abL,0xde48d9e12e69d74dL,0x00000000000001fbL },
  53950. { 0x8de62222099effafL,0x2212621b1328146cL,0x05f3c0b003677fccL,
  53951. 0xf43e4825fb0fc3c0L,0x94d3b33698536e0bL,0x22c1cca4225481ebL,
  53952. 0x2b8668dfa9fcbaf5L,0x51e858f2c30e9271L,0x00000000000001e9L } },
  53953. };
  53954. /* Multiply the base point of P521 by the scalar and return the result.
  53955. * If map is true then convert result to affine coordinates.
  53956. *
  53957. * Stripe implementation.
  53958. * Pre-generated: 2^0, 2^86, ...
  53959. * Pre-generated: products of all combinations of above.
  53960. * 6 doubles and adds (with qz=1)
  53961. *
  53962. * r Resulting point.
  53963. * k Scalar to multiply by.
  53964. * map Indicates whether to convert result to affine.
  53965. * ct Constant time required.
  53966. * heap Heap to use for allocation.
  53967. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  53968. */
  53969. static int sp_521_ecc_mulmod_base_9(sp_point_521* r, const sp_digit* k,
  53970. int map, int ct, void* heap)
  53971. {
  53972. return sp_521_ecc_mulmod_stripe_9(r, &p521_base, p521_table,
  53973. k, map, ct, heap);
  53974. }
  53975. #ifdef HAVE_INTEL_AVX2
  53976. /* Multiply the base point of P521 by the scalar and return the result.
  53977. * If map is true then convert result to affine coordinates.
  53978. *
  53979. * Stripe implementation.
  53980. * Pre-generated: 2^0, 2^86, ...
  53981. * Pre-generated: products of all combinations of above.
  53982. * 6 doubles and adds (with qz=1)
  53983. *
  53984. * r Resulting point.
  53985. * k Scalar to multiply by.
  53986. * map Indicates whether to convert result to affine.
  53987. * ct Constant time required.
  53988. * heap Heap to use for allocation.
  53989. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  53990. */
  53991. static int sp_521_ecc_mulmod_base_avx2_9(sp_point_521* r, const sp_digit* k,
  53992. int map, int ct, void* heap)
  53993. {
  53994. return sp_521_ecc_mulmod_stripe_avx2_9(r, &p521_base, p521_table,
  53995. k, map, ct, heap);
  53996. }
  53997. #endif /* HAVE_INTEL_AVX2 */
  53998. #else /* WOLFSSL_SP_SMALL */
  53999. /* The index into pre-computation table to use. */
  54000. static const uint8_t recode_index_9_7[130] = {
  54001. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  54002. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  54003. 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
  54004. 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
  54005. 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49,
  54006. 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33,
  54007. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  54008. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  54009. 0, 1,
  54010. };
  54011. /* Whether to negate y-ordinate. */
  54012. static const uint8_t recode_neg_9_7[130] = {
  54013. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  54014. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  54015. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  54016. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  54017. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  54018. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  54019. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  54020. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  54021. 0, 0,
  54022. };
  54023. /* Recode the scalar for multiplication using pre-computed values and
  54024. * subtraction.
  54025. *
  54026. * k Scalar to multiply by.
  54027. * v Vector of operations to perform.
  54028. */
  54029. static void sp_521_ecc_recode_7_9(const sp_digit* k, ecc_recode_521* v)
  54030. {
  54031. int i;
  54032. int j;
  54033. uint8_t y;
  54034. int carry = 0;
  54035. int o;
  54036. sp_digit n;
  54037. j = 0;
  54038. n = k[j];
  54039. o = 0;
  54040. for (i=0; i<75; i++) {
  54041. y = (int8_t)n;
  54042. if (o + 7 < 64) {
  54043. y &= 0x7f;
  54044. n >>= 7;
  54045. o += 7;
  54046. }
  54047. else if (o + 7 == 64) {
  54048. n >>= 7;
  54049. if (++j < 9)
  54050. n = k[j];
  54051. o = 0;
  54052. }
  54053. else if (++j < 9) {
  54054. n = k[j];
  54055. y |= (uint8_t)((n << (64 - o)) & 0x7f);
  54056. o -= 57;
  54057. n >>= o;
  54058. }
  54059. y += (uint8_t)carry;
  54060. v[i].i = recode_index_9_7[y];
  54061. v[i].neg = recode_neg_9_7[y];
  54062. carry = (y >> 7) + v[i].neg;
  54063. }
  54064. }
  54065. #ifdef __cplusplus
  54066. extern "C" {
  54067. #endif
  54068. extern void sp_521_get_entry_65_9(sp_point_521* r, const sp_table_entry_521* table, int idx);
  54069. #ifdef __cplusplus
  54070. }
  54071. #endif
  54072. #ifdef __cplusplus
  54073. extern "C" {
  54074. #endif
  54075. extern void sp_521_get_entry_65_avx2_9(sp_point_521* r, const sp_table_entry_521* table, int idx);
  54076. #ifdef __cplusplus
  54077. }
  54078. #endif
  54079. static const sp_table_entry_521 p521_table[4875] = {
  54080. /* 0 << 0 */
  54081. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  54082. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  54083. /* 1 << 0 */
  54084. { { 0xf97e7e31c2e5bd66L,0x3348b3c1856a429bL,0xfe1dc127a2ffa8deL,
  54085. 0xa14b5e77efe75928L,0xf828af606b4d3dbaL,0x9c648139053fb521L,
  54086. 0x9e3ecb662395b442L,0x858e06b70404e9cdL,0x00000000000000c6L },
  54087. { 0x88be94769fd16650L,0x353c7086a272c240L,0xc550b9013fad0761L,
  54088. 0x97ee72995ef42640L,0x17afbd17273e662cL,0x98f54449579b4468L,
  54089. 0x5c8a5fb42c7d1bd9L,0x39296a789a3bc004L,0x0000000000000118L } },
  54090. /* 2 << 0 */
  54091. { { 0xf43e3933ba6d783dL,0xcf2fa364d60fd967L,0xaa104a3a35c5af41L,
  54092. 0xb3b204da6ef55507L,0x2c6e5505d769be97L,0x7403279b1ccc0635L,
  54093. 0x2fcb288148c28274L,0x3c219024277e7e68L,0x0000000000000043L },
  54094. { 0x1be356d661f41b02L,0xeafcbe95edc0f4f7L,0x93937fa99a3248f4L,
  54095. 0xb3e377de9f251f6bL,0xab21a29906c42dbbL,0xc6b5107c4da97740L,
  54096. 0xa7f3eceeeed3f0b5L,0xbb8cc7f86db26700L,0x00000000000000f4L } },
  54097. /* 3 << 0 */
  54098. { { 0xa5919d2ede37ad7dL,0xaeb490862c32ea05L,0x1da6bd16b59fe21bL,
  54099. 0xad3f164a3a483205L,0xe5ad7a112d7a8dd1L,0xb52a6e5b123d9ab9L,
  54100. 0xd91d6a64b5959479L,0x3d352443de29195dL,0x00000000000001a7L },
  54101. { 0x5f588ca1ee86c0e5L,0xf105c9bc93a59042L,0x2d5aced1dec3c70cL,
  54102. 0x2e2dd4cf8dc575b0L,0xd2f8ab1fa355ceecL,0xf1557fa82a9d0317L,
  54103. 0x979f86c6cab814f2L,0x9b03b97dfa62ddd9L,0x000000000000013eL } },
  54104. /* 4 << 0 */
  54105. { { 0xfbc87412871902f3L,0xa1d5025b08e5a5e2L,0xe8b88e9f078af066L,
  54106. 0x8659e24afe3d0750L,0x06c5d55541d3ceacL,0xc61c891c5ff39afcL,
  54107. 0x54b483487c9070cdL,0xb5df64ae2ac204c3L,0x0000000000000035L },
  54108. { 0xe21f47fc346e4d0dL,0xbb7faef04699d1d9L,0x5224f750a95b85eeL,
  54109. 0x79f283e54ba38540L,0x5ae63fe2f19907f2L,0x5521aef6e6e32e1bL,
  54110. 0x73e0178eb0b4abb6L,0x096f84261279d2b6L,0x0000000000000082L } },
  54111. /* 5 << 0 */
  54112. { { 0xd5ab5096ec8f3078L,0x29d7e1e6d8931738L,0x7112feaf137e79a3L,
  54113. 0x383c0c6d5e301423L,0xcf03dab8f177ace4L,0x7a596efdb53f0d24L,
  54114. 0x3dbc3391c04eb0bfL,0x2bf3c52927a432c7L,0x0000000000000065L },
  54115. { 0x173cc3e8deb090cbL,0xd1f007257354f7f8L,0x311540211cf5ff79L,
  54116. 0xbb6897c9072cf374L,0xedd817c9a0347087L,0x1cd8fe8e872e0051L,
  54117. 0x8a2b73114a811291L,0xe6ef1bdd6601d6ecL,0x000000000000015bL } },
  54118. /* 6 << 0 */
  54119. { { 0x23731bedf79206b9L,0x2f66e95657f380aeL,0xe0727a239531be8cL,
  54120. 0x5fbcca16153f7394L,0x981506ade4ab0152L,0x623d30977fd71cf3L,
  54121. 0x2eff34f94480d195L,0x4569d6cdb5921953L,0x00000000000001eeL },
  54122. { 0x1eaccd7858d44f17L,0x3dc7b8b55ca0dadeL,0xf96c984de274f220L,
  54123. 0xcab72d0e56648c9dL,0x7240a926201a8a96L,0x2aabbb73da5a808eL,
  54124. 0xe2dd270546e3b111L,0x0255ad0cc64f586aL,0x00000000000001deL } },
  54125. /* 7 << 0 */
  54126. { { 0x01cead882816ecd4L,0x6f953f50fdc2619aL,0xc9a6df30dce3bbc4L,
  54127. 0x8c308d0abfc698d8L,0xf018d2c2f7114c5dL,0x5f22e0e8f5483228L,
  54128. 0xeeb65fda0b073a0cL,0xd5d1d99d5b7f6346L,0x0000000000000056L },
  54129. { 0x5c6b8bc90525251bL,0x9e76712a5ddefc7bL,0x9523a34591ce1a5fL,
  54130. 0x6bd0f293cdec9e2bL,0x71dbd98a26cbde55L,0xb5c582d02824f0ddL,
  54131. 0xd1d8317a39d68478L,0x2d1b7d9baaa2a110L,0x000000000000003dL } },
  54132. /* 8 << 0 */
  54133. { { 0x86f9ea54aa78ce68L,0xb56289b5a6f40405L,0x8b598c1bc8d79e1aL,
  54134. 0x5bfea5b8579f49f0L,0x8b8a3b05f826298fL,0xd4e29d8a9b003e0aL,
  54135. 0xa8348396b010e25bL,0x22c40fb6301f7262L,0x0000000000000008L },
  54136. { 0x8ad642f11f17801cL,0x9f3ba94009471353L,0xf0ba0df065c57869L,
  54137. 0x89e9c0aa5911b4bfL,0x5083de610677a8f1L,0x44f8ede9e2c0715bL,
  54138. 0x48fdab6e78853b9aL,0x31911d5542fc4820L,0x0000000000000163L } },
  54139. /* 9 << 0 */
  54140. { { 0x1f45627967cbe207L,0x4f50babd85cd2866L,0xf3c556df725a318fL,
  54141. 0x7429e1396134da35L,0x2c4ab145b8c6b665L,0xed34541b98874699L,
  54142. 0xa2f5bf157156d488L,0x5389e359e1e21826L,0x0000000000000158L },
  54143. { 0x3aa0ea86b9ad2a4eL,0x736c2ae928880f34L,0x0ff56ecf4abfd87dL,
  54144. 0x0d69e5756057ac84L,0xc825ba263ddb446eL,0x3088a654ee1cebb6L,
  54145. 0x0b55557a27ae938eL,0x2e618c9a8aedf39fL,0x000000000000002aL } },
  54146. /* 10 << 0 */
  54147. { { 0x87ff09a04f2f3320L,0x7c2e411f1a8e819aL,0x9daa4da9842093f3L,
  54148. 0xa2c7c178fcc26329L,0x4a9246b11ada8910L,0x901d879ac09ac7c3L,
  54149. 0xfcfe7bb6721ec4cdL,0xeb8f22bda61f281dL,0x0000000000000190L },
  54150. { 0x2954bc98135ec759L,0xf3689639739faa17L,0x536f6163dc57ebefL,
  54151. 0xbf5349d44d9864bbL,0xa97fd78a62ef62d2L,0xc2eeb2144251b20bL,
  54152. 0xbaeab3b0ca2ba760L,0x5d96b8491614ba9dL,0x00000000000001ebL } },
  54153. /* 11 << 0 */
  54154. { { 0xecc0e02dda0cdb9aL,0x015c024fa4c9a902L,0xd19b1aebe3191085L,
  54155. 0xf3dbc5332663da1bL,0x43ef2c54f2991652L,0xed5dc7ed7c178495L,
  54156. 0x6f1a39573b4315cfL,0x75841259fdedff54L,0x000000000000008aL },
  54157. { 0x58874f92ce48c808L,0xdcac80e3f4819b5dL,0x3892331914a95336L,
  54158. 0x1bc8a90e8b42a4abL,0xed2e95d4e0b9b82bL,0x3add566210bd0493L,
  54159. 0x9d0ca877054fb229L,0xfb303fcbba212984L,0x0000000000000096L } },
  54160. /* 12 << 0 */
  54161. { { 0x7be69571bf842d8cL,0x3774c75c530928b1L,0x477fee9a60e93801L,
  54162. 0x44e90b7c3fb81b31L,0x107cf7a5967713a6L,0x81874157958457b6L,
  54163. 0xe4fae9749c7fde1eL,0xd9dcec93f8221c5dL,0x00000000000001c0L },
  54164. { 0x79e7b1a3281b17f0L,0x884ba72224f5ae6cL,0xcc10a6f951b9b630L,
  54165. 0xd6d18843d86fcdb6L,0x5e404abf6a17c097L,0x63fe65ab71494da4L,
  54166. 0x3ce1d103a682ca47L,0x48b5946a4927c0feL,0x0000000000000140L } },
  54167. /* 13 << 0 */
  54168. { { 0x1887848d32fbcda7L,0x4bec3b00ab38eff8L,0x3550a5e79ab88ee9L,
  54169. 0x32c45908e03c996aL,0x4eedd2beaf5b8661L,0x93f736cde1b4c238L,
  54170. 0xd7865d2b4924861aL,0x3e98f984c396ad9cL,0x000000000000007eL },
  54171. { 0x291a01fb022a71c9L,0x6199eaaf9117e9f7L,0x26dfdd351cbfbbc3L,
  54172. 0xc1bd5d5838bc763fL,0x9c7a67ae5c1e212aL,0xced50a386d5421c6L,
  54173. 0x1a1926daa3ed5a08L,0xee58eb6d781feda9L,0x0000000000000108L } },
  54174. /* 14 << 0 */
  54175. { { 0x2c9e682dd3432d74L,0x6767f6b812efbf5dL,0x79df3e4b7bc744aaL,
  54176. 0x74fc06c8b897222dL,0xd4fb0babe0b31999L,0x958b401494116a2fL,
  54177. 0xe1b8ccfaaf84ded1L,0x5bc7dc551b1b65a9L,0x0000000000000187L },
  54178. { 0x41669f852700d54aL,0x5b690f53a87c84beL,0x11e89bf1d133dc0dL,
  54179. 0xd07781b1b4f3584cL,0x0847ce9b86d7ed62L,0x8470122b8e51826aL,
  54180. 0xd66290bbabb4bdfbL,0xa4923575dacb5bd2L,0x000000000000005cL } },
  54181. /* 15 << 0 */
  54182. { { 0xe9afe337bcb8db55L,0x9b8d96981e3f92bdL,0x7875bd1c8fc0331dL,
  54183. 0xb91cce27dbd00ffeL,0xd697b532df128e11L,0xb8fbcc30b40a0852L,
  54184. 0x41558fc546d4300fL,0x6ad89abcb92465f0L,0x000000000000006bL },
  54185. { 0x56343480a1475465L,0x46fd90cc446abdd9L,0x2148e2232c96c992L,
  54186. 0x7e9062c899470a80L,0x4b62106997485ed5L,0xdf0496a9bad20cbaL,
  54187. 0x7ce64d2333edbf63L,0x68da271571391d6aL,0x00000000000001b4L } },
  54188. /* 16 << 0 */
  54189. { { 0x3a6c508f81a8402fL,0x0dbf5c8007dcdc53L,0xe5965da7985630dfL,
  54190. 0x943ff18861ca00a0L,0xd632f8d20b188a52L,0x2a87f66192fd3f3dL,
  54191. 0xda97da26ac743b0bL,0x7d10d8a89c8ad05dL,0x00000000000001d1L },
  54192. { 0x52e272f89bc73abeL,0x9e3004d28d186333L,0x0b3075ac9d998852L,
  54193. 0xc182e1398db547aaL,0xc7ca30c94b6b82c1L,0x1335e4c3b800d50eL,
  54194. 0xc714b18d3d3e6972L,0x37343c582d77001fL,0x000000000000007aL } },
  54195. /* 17 << 0 */
  54196. { { 0x76f817a853110ae0L,0xf8c3042af0d1a410L,0xdf4e799b5681380fL,
  54197. 0x760a69e674fe0287L,0xd66524f269250858L,0x99ee9e269fa2b3b4L,
  54198. 0xa0b874645923906aL,0x0ddb707f130eda13L,0x00000000000001b0L },
  54199. { 0x35b9cb7c70e64647L,0xe6905594c2b755f5L,0xd2f6757f16adf420L,
  54200. 0xf9da564ef6dd0bf0L,0x8d68ac2b22a1323dL,0xb799534cf69910a9L,
  54201. 0xc111d4e4aeddd106L,0x683f1d7db16576dbL,0x0000000000000085L } },
  54202. /* 18 << 0 */
  54203. { { 0xfdf44d01dd99c61dL,0x84ce572f5a15c423L,0x2f0702c3096dec08L,
  54204. 0x6edbb8525bffe522L,0xbd0cfe367de4666dL,0xf7e86dbc7bf99a7aL,
  54205. 0xcb2edcc5b63d1281L,0x33425e72a12779eaL,0x00000000000001bcL },
  54206. { 0x35d841e2d8f9a86aL,0xa79fe15b19f84fd1L,0x915d1b4b45209b9dL,
  54207. 0x234aeb201f7a9133L,0x2c8e4a00ac84c044L,0x4fb07ce0d196f255L,
  54208. 0xe3e74d33d9e63d02L,0x06e999885b63535dL,0x000000000000010dL } },
  54209. /* 19 << 0 */
  54210. { { 0x78ff0b2418d6a19bL,0xfecf431e725bbde4L,0x9232557d7a45970dL,
  54211. 0xfa3b309636266967L,0xfff0acdb3790e7f1L,0x45b77e0755df547eL,
  54212. 0xc0f948c2d5a1a072L,0x8dcce486419c3487L,0x0000000000000099L },
  54213. { 0xa9091a695bfd0575L,0xf5a4d89ea9fbfe44L,0xb0ec39991631c377L,
  54214. 0x73ad963ff2eb8cf9L,0xcc50eee365457727L,0x67d28aee2b7bcf4aL,
  54215. 0xc3942497535b245dL,0xd5da0626a021ed5cL,0x0000000000000137L } },
  54216. /* 20 << 0 */
  54217. { { 0xe2603bfb11b0344fL,0xad792e43b74e16d8L,0x11dd48b9bdb3cd5cL,
  54218. 0x09506339cb1049cbL,0x2e968fbed342b517L,0xbd767c2ab0d93fb1L,
  54219. 0x3deeae39cc6f8cc2L,0xdd7f1b889598a465L,0x000000000000018bL },
  54220. { 0xdd3287fed0990f94L,0x37ccb22eee9cfc94L,0xedfaec1030da8ef8L,
  54221. 0x4da3bdddc6d4eae7L,0x546c550952d31120L,0x9ee7f52b410b9444L,
  54222. 0x6908296959bf0af8L,0xaadbe63f68ca5b6bL,0x00000000000000c5L } },
  54223. /* 21 << 0 */
  54224. { { 0x42ef399693c8c9edL,0x37ac920393a46d2dL,0xd9497eaed827d75bL,
  54225. 0x46257eae4d62a309L,0x19523e759c467fa9L,0x268bb98c2ed15e98L,
  54226. 0x3cc8550859ed3b10L,0xcbb2c11a742bd2fbL,0x00000000000001a1L },
  54227. { 0xe60bc43c9cba4df5L,0x7c9b0f17649ccb61L,0xbeb43a372c63eec5L,
  54228. 0xdf741a53da483295L,0x180a296f6bafa7f7L,0xe83c0059c5193e6cL,
  54229. 0x2c12da7c5e40ce62L,0x209d7d4f8eeb3d48L,0x000000000000011aL } },
  54230. /* 22 << 0 */
  54231. { { 0x4e38650bb6f5a561L,0x904b3a12cae0af93L,0xadfffcca8b28ca1fL,
  54232. 0x74cbfe1018ffcd40L,0xbde3122096c4089fL,0xa7facca319d4b7aaL,
  54233. 0xf1f6e66dc1eae621L,0x00ce6190c6d36ca5L,0x0000000000000097L },
  54234. { 0x64319ad5a535acadL,0x5c43427efea6210dL,0x2f22ec132ed14e5cL,
  54235. 0xf40ac9cdadfe028aL,0x95e0fd06c5b46824L,0xbe4a8d24e415f9c1L,
  54236. 0x61c78fad62100104L,0x78827e13569356b0L,0x00000000000001fbL } },
  54237. /* 23 << 0 */
  54238. { { 0xa1c6a5ece2af535cL,0x07e1f1ac26ae5806L,0xe9e3f8e9a5ec53e2L,
  54239. 0x1f6f83fc9af5b0afL,0x490d234d0cdd4510L,0xee7a39ba785fb282L,
  54240. 0xdb1cacec5f547b8eL,0x0b275d7290159376L,0x00000000000001aeL },
  54241. { 0xd815c3536fa0d000L,0x213b4450a8d23856L,0x3c27b27bb07dd0c2L,
  54242. 0x10843361ee97fcf4L,0xb431647844c2dc0eL,0x7d759ff890d05832L,
  54243. 0x68a2858fc068471cL,0xc97a825e53853806L,0x00000000000000f2L } },
  54244. /* 24 << 0 */
  54245. { { 0x44a18c28b69bcef2L,0xc710838fa0a4198fL,0x6fdefaa4a86f6559L,
  54246. 0x93ad7a9b2d0e4f66L,0x91391a8862c2cd7fL,0x0e49a0e6ec407366L,
  54247. 0xb447ce5d4930becfL,0x8e98d1008e9d525dL,0x0000000000000096L },
  54248. { 0x8a0b537a0b446729L,0x0575ce65dd7dd9fdL,0x8385e09fa134f793L,
  54249. 0xa48f492cf3d07536L,0xb4cd2b81880aa962L,0xa555cd2f64a2b032L,
  54250. 0xe44476658a352aa7L,0xa7e96f293f75117cL,0x00000000000001e1L } },
  54251. /* 25 << 0 */
  54252. { { 0x3f8c2460bf70ace0L,0xe41e0eb1c25d3fb1L,0x56e87e2aa648ff27L,
  54253. 0xa91856917c36ee4dL,0x1c772c8c5499994aL,0x0073102651b107b1L,
  54254. 0xa35874a6f5dff9d2L,0xe84c6d5c5a9a1834L,0x0000000000000154L },
  54255. { 0x4325bce404c78230L,0xeede2a54672e6b6dL,0xd1e2370a6a5972f5L,
  54256. 0xdee3543572fbc1a0L,0xf66c2888151666a6L,0x15a923eb0022a0c7L,
  54257. 0xe22a28f80bb60d3fL,0x0fdce9171910473aL,0x00000000000000cdL } },
  54258. /* 26 << 0 */
  54259. { { 0x60d9e9a7e8c685c6L,0x68dd29c10c73e410L,0x007102d5dd038ed7L,
  54260. 0xf686bfc27593b717L,0x09bc2cbefa11d6aeL,0x31a02407e9a85766L,
  54261. 0xd9857bb0c04dcd13L,0x61bd55cc8b533222L,0x000000000000017bL },
  54262. { 0xe74aacc5b9b4844bL,0x5b8bff6c058ff572L,0xd74b5b2ac347d133L,
  54263. 0xb4ddb8a4191a4648L,0xcbdc724709e1f426L,0xc8b4ac79f5a29ba2L,
  54264. 0xa0196c0682be4633L,0x4da05ea4b9de3bbeL,0x00000000000001c3L } },
  54265. /* 27 << 0 */
  54266. { { 0x357643017002d68bL,0xb215604492ec4568L,0x51353aeda0d3163cL,
  54267. 0x80b2123da719d483L,0x33f35187e135854dL,0x8739535d0e4f862cL,
  54268. 0x62a4d4eb889e646fL,0x373edf8218f9b6a7L,0x0000000000000160L },
  54269. { 0xf3e6aeca5d90b740L,0x463ffe709d45acb3L,0x13b874f4a8bb572eL,
  54270. 0x1efa491ed92ebc54L,0x4a56f78e1a1b2201L,0x9fd193c5cf52c3bbL,
  54271. 0xe5828401ac06a3faL,0x597050014dcfe1c5L,0x00000000000000f1L } },
  54272. /* 28 << 0 */
  54273. { { 0xe160709ed9985b0cL,0x291adc92433ee2deL,0xb93220fe2ad07f0bL,
  54274. 0x949da6c395738534L,0x116d7f87032133e2L,0x988bb828d895ed5dL,
  54275. 0xec5c29642dd68d1aL,0x95646effed8e5f6fL,0x0000000000000191L },
  54276. { 0xc31c832ba74eed38L,0x886f4ded1741425aL,0x2e495cf2adcdd6b5L,
  54277. 0xb345b828c8b09a2bL,0x5443c5d9216ae388L,0x606d3f34656a52efL,
  54278. 0xce28b4724f834f49L,0xacd53b00c9f29f3eL,0x0000000000000177L } },
  54279. /* 29 << 0 */
  54280. { { 0x2c3927618eda25dcL,0xf33d8595d51f6d96L,0x4003ab8e847ffb9eL,
  54281. 0x5ca9bc06876d7291L,0x28bef38f7664a130L,0xf9f45131e86265ecL,
  54282. 0xb3c1fbfcb65a085fL,0xc644d6c94b68287dL,0x0000000000000174L },
  54283. { 0x187bbbc4821a0c30L,0x0679927c26ebbfbdL,0x50c2732d706d303fL,
  54284. 0xbe0e21952ce0d90bL,0xb5cf5eb795ad34b7L,0x0233ef8fcb6441fcL,
  54285. 0x05acc95b41b7b782L,0xf3a7c2f87f419e68L,0x000000000000011aL } },
  54286. /* 30 << 0 */
  54287. { { 0x6117fab72ec4b081L,0xf7d9b10f1b0af595L,0x352756cc169eac6bL,
  54288. 0x35573f35d14754c6L,0xea52dbcbae2a3e44L,0x3cf015e1f913a610L,
  54289. 0x0b6913261570a6b3L,0x87d70d11074b36bbL,0x00000000000000d0L },
  54290. { 0xb64d6af6579dbed3L,0x069edd46ff01cfc7L,0xf279efee5d860be9L,
  54291. 0x54d5b99d1d7d4adaL,0xe47015660d29f153L,0xbcde1cd94afbdbd3L,
  54292. 0x811d7b95a6ac2dceL,0xd07f8c3cafdc1636L,0x00000000000000c4L } },
  54293. /* 31 << 0 */
  54294. { { 0x2257d0e0c16a8803L,0x0dcfb5e488e24812L,0xfc14c1ac09cd6b22L,
  54295. 0xd65543a904c9d429L,0x7260a83ca5e7726cL,0xb574589657c2a661L,
  54296. 0x006a58cdb7307b7dL,0xe9920cf30f0c6615L,0x00000000000000d8L },
  54297. { 0xca4677c739792d19L,0xaa1bd97c7b54318aL,0x139a868cae4cc263L,
  54298. 0xf76b8c3244d14790L,0x0aefb72cbed1aa30L,0x8b5406328f10c806L,
  54299. 0xdf09c13a214a30ecL,0xb023b5454a663987L,0x0000000000000127L } },
  54300. /* 32 << 0 */
  54301. { { 0x47915ab876e56a9eL,0x9cf7475cd6c5c782L,0x67d69bd6ba5d1f94L,
  54302. 0xea04a35dc73596ecL,0xdba7ecefb9e5ebd6L,0x3e3e16654e068038L,
  54303. 0x43707af94ba15b34L,0xba3596d20a3a4694L,0x0000000000000166L },
  54304. { 0x95ca9a9914a156aaL,0xcd98c965ab961636L,0xb74de1c7ea0f36dfL,
  54305. 0xe204cdb818cdd6b9L,0xc1df01c65c2dd77dL,0xff7bd8bf5ff01967L,
  54306. 0x1635e75ff3e08268L,0x7b0ff4d1940ab811L,0x0000000000000047L } },
  54307. /* 33 << 0 */
  54308. { { 0x5ea2e1fc649f308dL,0xa5ec59186b2ed12dL,0xe9a519a57aa53ac2L,
  54309. 0xabdbea7e2b77ef1aL,0xf381421a74236df0L,0x52086d482be92613L,
  54310. 0x8c76eb4e3c76f58eL,0x4195f0978fb969e6L,0x0000000000000028L },
  54311. { 0x6be95a3dd3e11c4dL,0x88effd5c228b58f3L,0x00bd7216c16deb3aL,
  54312. 0xe7656ecbf3d138bfL,0x9e016769614ac5f2L,0x24d513abe063c663L,
  54313. 0x7b7a3bc869056d3aL,0x43eb08c656dc636bL,0x000000000000007eL } },
  54314. /* 34 << 0 */
  54315. { { 0xdfeab253d54e4d87L,0x55ac0435b8317a8dL,0xc1f1f8993db2173bL,
  54316. 0xa866a98b697d432cL,0x0e7d84e588581cdeL,0xeb8db26b14dbf8bfL,
  54317. 0x48c58962f5b7c130L,0xf66451d0843fb594L,0x0000000000000122L },
  54318. { 0xda9dba82fd9a06dcL,0x6baa5223db7571bcL,0x13184d9be8ea9140L,
  54319. 0x5097293e4f87a6a4L,0xd357d7c04965b051L,0xa373f5aee0a89a48L,
  54320. 0xc1f12141aee1538aL,0xd137b942249932f3L,0x00000000000001beL } },
  54321. /* 35 << 0 */
  54322. { { 0xdc1039c9ccd7d718L,0xa92ff614b5dcc8d8L,0xee4a618608f6b2ceL,
  54323. 0xb4806c84fda74023L,0xc4a780b56f97392bL,0xa267a642b593e0bfL,
  54324. 0x398b62069e0ba392L,0xc300757549630a78L,0x00000000000000ddL },
  54325. { 0x3eb1d3ef241e07f4L,0xdeba4db422640a4dL,0x5c212522ee69e797L,
  54326. 0x9ab1178bd2c70142L,0x462796591a31db50L,0xa510936cb5d85bcfL,
  54327. 0x1b83431f0c30dbbfL,0xbd2d07f6ac7fc5ccL,0x00000000000000c1L } },
  54328. /* 36 << 0 */
  54329. { { 0xae56cbf798bd6ef0L,0x5323bdc821e585edL,0xe724672821b585e0L,
  54330. 0xf385da9cc679bb96L,0xe81a91dac8198aa9L,0x2a25afe471eb8ad9L,
  54331. 0x514d5e71894c417bL,0x81c98659bd21e082L,0x00000000000001adL },
  54332. { 0xac7712f8455c99efL,0xd2c4ba1759a98b43L,0x75db963d8698121dL,
  54333. 0x1af50b0bb140013aL,0x61285bc6dc8f01afL,0xca7f475441227b97L,
  54334. 0x61aeda5705b3c0f8L,0x7026e6cf8e6fc4e7L,0x0000000000000121L } },
  54335. /* 37 << 0 */
  54336. { { 0xf1ac4d59b557a36fL,0x8c64e76ae4780273L,0x0e58e26ee0980df2L,
  54337. 0xbd445763a2885604L,0x29ed0ae6af9d5749L,0xc35c5d56c1d59e42L,
  54338. 0x39e798352ded5867L,0x4f64a6c21832b671L,0x0000000000000094L },
  54339. { 0x312bf98394fb2a03L,0x31a4be4056988296L,0xb85c564995a057c3L,
  54340. 0xdcbdbc2471c83f81L,0x26317da6b7991305L,0xfe4e6ff21865f859L,
  54341. 0x0c4b9624f26cb192L,0xb7ee1b02028ab741L,0x0000000000000150L } },
  54342. /* 38 << 0 */
  54343. { { 0x853028d72a5f4a8bL,0x46f120cb19ae965dL,0x12ac2ecc9d4e6883L,
  54344. 0x18413823ed8d4ba1L,0x690815bcef8f3127L,0x9078207b610c2c77L,
  54345. 0x922563d71ef6e744L,0xaeb1530c7d932a18L,0x0000000000000195L },
  54346. { 0xc87e1acd797bd130L,0xa29e51d193b701e0L,0xe3e3c9a002b7985bL,
  54347. 0x51f9ba596291ef1eL,0x06c5bdf7d0e15448L,0x8611d8bd49b6090aL,
  54348. 0xc0ec0975884bb030L,0xc42d3cc093242000L,0x00000000000000e0L } },
  54349. /* 39 << 0 */
  54350. { { 0x0b704119ee33b77cL,0x5b4fa1d48083af67L,0xac0bf434e5fa3179L,
  54351. 0x256b0cc58626a1e2L,0x38d9fd62359c6ea7L,0x9e9661a49b5b9072L,
  54352. 0x5264126356a49902L,0xa0b8f411fbad6075L,0x0000000000000124L },
  54353. { 0xd8dcdc61228b61a6L,0xf212e74b698e40abL,0xa3caf2415944e762L,
  54354. 0x18dc59feb96825aaL,0xdc0b1240c690db48L,0x68937baa8796154cL,
  54355. 0x602a9a406bbd399cL,0x29616edc7335dce3L,0x0000000000000010L } },
  54356. /* 40 << 0 */
  54357. { { 0xaf456a57824c9d93L,0x067fffb5ac53dbcfL,0xb513eb4d0d01e18fL,
  54358. 0xf85d832dc9767b2bL,0xc4ad6090a169b596L,0x9f67883679409022L,
  54359. 0x3a0c67f41886ad96L,0xfdef97e46cd54455L,0x000000000000002eL },
  54360. { 0xb591f36738ae8e5cL,0x2c101fec75d81e09L,0x4f4ef79e44aa97b2L,
  54361. 0x46a5357b21dc2240L,0x5bb3141d0df516feL,0x23ffc6106dff96f7L,
  54362. 0xc4c2a4687e65a6a8L,0x8e2e3fdd283592d6L,0x00000000000000d8L } },
  54363. /* 41 << 0 */
  54364. { { 0x8e00ce952624381eL,0xddfda1a522cc2af6L,0x4c08c3ddc8297bfaL,
  54365. 0x16b931eaf495ccceL,0x85b85f23864a60c8L,0x52a523e4b28998a6L,
  54366. 0x63ebfd9d28830825L,0xa140ed79e85e24a7L,0x0000000000000175L },
  54367. { 0xebeb760ec1028ecfL,0xf75dd758e7f3a3ecL,0x052a6e551fa28ebdL,
  54368. 0xb39e0e11ecf327daL,0x23de821b22c82111L,0xab59e580e9ee5632L,
  54369. 0x36f21343ca399be7L,0x9696d71855e2d4edL,0x00000000000001b0L } },
  54370. /* 42 << 0 */
  54371. { { 0xb7902612a9491855L,0x420bebfa3767dcd4L,0xea20d4e83c72305eL,
  54372. 0x2868fa8595d78243L,0xf5633364979e0bdaL,0x874f472a2a5de6f2L,
  54373. 0x7a0a1c0aa146f918L,0x960dcd7bd7263ed3L,0x0000000000000161L },
  54374. { 0x38a50e352ad521efL,0x414fdd6ad7d07223L,0x324cba6a2c4cce08L,
  54375. 0xf728d67c4e39de86L,0x2da602f01cc43b7eL,0xa00e6a6b58d1eec4L,
  54376. 0x5c6ae0d1031bc121L,0xc1cfdd433815668aL,0x000000000000016aL } },
  54377. /* 43 << 0 */
  54378. { { 0x713e3083224f497eL,0x51f0b62fdee07d20L,0xa3a74e7a9b3d85caL,
  54379. 0xfc66ad7aed7d37ddL,0x8ef0f94438fea396L,0x70678aa2ec1419afL,
  54380. 0xd55022d90544d8a0L,0x0148a165ec58e4feL,0x000000000000018cL },
  54381. { 0x895829067683adbfL,0x94edb92f76b688d2L,0x932d602b547ce17aL,
  54382. 0x67fd6098879b1cf1L,0x7a3037819f1a0becL,0x2677e91db1d144cdL,
  54383. 0xebf7a83c7aa3bf24L,0xbbaa1f099e78869aL,0x000000000000010aL } },
  54384. /* 44 << 0 */
  54385. { { 0x78f253cdcde738d2L,0xb25aa02cb1d33a53L,0xe77fffe912d2b367L,
  54386. 0x761e3e73e6509ec7L,0x7c3cfcbef88c88cfL,0xe1cecbe9fd57f650L,
  54387. 0x5f0c48a04cca16cfL,0xdb51df11f0b29b48L,0x000000000000013fL },
  54388. { 0x42343b5cbafa661aL,0xa123424f99a20b52L,0x57733ea23d7284a8L,
  54389. 0xa4460186aa2271d3L,0x9ebedc0452b7c2f2L,0x7aac908b39acf39cL,
  54390. 0x4e4f65b3d0338f66L,0x4c8c184a7228a703L,0x00000000000001d1L } },
  54391. /* 45 << 0 */
  54392. { { 0xa32dec600fc95c1aL,0xc2954607b66b70c4L,0xdc8ea1ace5703f0fL,
  54393. 0x79189b7df8a1f2d9L,0x7b2df5e3f1972867L,0x7a58f7f28c147cc0L,
  54394. 0x79596b8fff2bc020L,0x69d186aca09e53b8L,0x0000000000000049L },
  54395. { 0x9498a7cd000903a9L,0x3463f5d90b37564fL,0xe6ed9e879be328e1L,
  54396. 0xb8d5b2802eadae85L,0x35584a1bbcdb40a9L,0x15862a4232708841L,
  54397. 0x4d6ac21f3149fc7bL,0x1ec9b50cd8d3847dL,0x00000000000001e8L } },
  54398. /* 46 << 0 */
  54399. { { 0x64f2ae8093e738a5L,0xf672b6d2bd57d22fL,0x07c09231d2ec1549L,
  54400. 0xa6ddb5626540f81dL,0x09f753aaf1c4d248L,0x1a9cfb9a69a8fc57L,
  54401. 0x1998e2d14f33a8c5L,0xdb162d8284a91002L,0x00000000000000bbL },
  54402. { 0x42c142895961259aL,0xb7ec80b09fa59f0eL,0x7d3af42dc8cd7e17L,
  54403. 0x2a1831112f54132dL,0x2ece424b786f6c37L,0xb81c9fbd9674149dL,
  54404. 0x1fe9c7cabc10b00aL,0x86f0d5921216efe0L,0x000000000000013bL } },
  54405. /* 47 << 0 */
  54406. { { 0x2fda63c9abd59d11L,0x0a56a130d1ecbb67L,0x9cee75a3a9c4dd66L,
  54407. 0x381864a0b9e922acL,0x97233106c71dd0b2L,0xe4e4fe2714033ff8L,
  54408. 0x9cf5083ecc35882cL,0xe31f8907048afd5fL,0x00000000000000afL },
  54409. { 0xd3065d2f1d90e1d6L,0x11ca41599f10673bL,0xebb760f478d825e7L,
  54410. 0x9276080b904982a6L,0xecea7f3276f06497L,0x605f079349209f88L,
  54411. 0xb4290cbbb54ff69aL,0xf95dc8657275fe9dL,0x0000000000000012L } },
  54412. /* 48 << 0 */
  54413. { { 0x87027d612ad879adL,0x641752bd214aea2cL,0xdedc21b10ff08ee6L,
  54414. 0x2da0980f3f6fbfacL,0x4b3cc8a5803e72f4L,0xae7d6d6672102c33L,
  54415. 0x8158e5caec62c8ccL,0x35de3b21557462acL,0x00000000000001fbL },
  54416. { 0xb1958193d256d46bL,0x596f24804841cae7L,0xb7c142e0fb0e3c28L,
  54417. 0xe6214d64a1d97e37L,0x871294f66cc2e1baL,0x76f27fc94d09e2ccL,
  54418. 0xa855b9ec4bb3f5c1L,0x34a5ac1587992dedL,0x000000000000018dL } },
  54419. /* 49 << 0 */
  54420. { { 0x0c8cb45049efc0adL,0x7258dab1ac4c04caL,0x91d8c84e2e345fa8L,
  54421. 0x6bc2a2df52f62842L,0xf581b8b111dea9ebL,0x9d45c347ae499839L,
  54422. 0xcba40a63bbaba0d3L,0xcb98fa3c0b8c1d57L,0x00000000000000a5L },
  54423. { 0x0b9bf46a2c8884b4L,0x4b963fbfb0b88b1dL,0x0c10f2ceebb72bb4L,
  54424. 0x5dd9775543d575c2L,0xb072c39d9da8bf83L,0x749ee467877e5b7eL,
  54425. 0x1409b01bf72e151bL,0xdc95654090d77b97L,0x0000000000000015L } },
  54426. /* 50 << 0 */
  54427. { { 0x5386773de84d4766L,0x56b6ddab593aebf3L,0x250a859beaced3f3L,
  54428. 0x84804ab26d84fe02L,0xd8384cf1be365bc6L,0x5312b292e34a0cfbL,
  54429. 0x0baf0dbb1aa3f9caL,0x76204957627b7a12L,0x0000000000000171L },
  54430. { 0x3f16ac6addc84f8fL,0x36298e21939f704fL,0xad93d2e5b9d0e753L,
  54431. 0xaf8c1321bb6c8d5fL,0x5def1db4859b504cL,0xd3032d3a9450b50cL,
  54432. 0x83e07ea5f688b03dL,0x713d5c2ffb0e1119L,0x00000000000001acL } },
  54433. /* 51 << 0 */
  54434. { { 0xa8d916fffbcc9504L,0xfba689ef1d7be2ddL,0x1321ae1b1054cbc0L,
  54435. 0xc2edfe6af07390dfL,0x3ba316cbf9beea26L,0xfdf9f5bde34fe9baL,
  54436. 0x025d93b68145f3ccL,0x395ba51e278415a2L,0x0000000000000168L },
  54437. { 0x8eb9c45edd5c087bL,0x0600aabed3a89e18L,0x849c36096e3aeba5L,
  54438. 0x97bc2b68badb600cL,0x24e5b174adeb9b3cL,0x52dd878f21c480ceL,
  54439. 0x39d9531942d3f579L,0xcc10f3ca041a2456L,0x0000000000000071L } },
  54440. /* 52 << 0 */
  54441. { { 0x86177e368b29f6f3L,0x955114f2afcab7a1L,0xf00784311b6e5993L,
  54442. 0xb9259354dcee33a4L,0x58aef6be769f0693L,0xa4dae03e0c1b4b4aL,
  54443. 0xc39a55b518749158L,0x32e875ce65d1e6d4L,0x000000000000001fL },
  54444. { 0x9301992d481b07f8L,0xbd6b45f989f292daL,0x112577769cd77ef2L,
  54445. 0x1e73a061b8098a91L,0xa0c126d318c39791L,0x2cbf93bbae0f4ad4L,
  54446. 0x895ea8b22ee1a6fcL,0x3c8e76fb7849180bL,0x000000000000005aL } },
  54447. /* 53 << 0 */
  54448. { { 0x6285684cccb69906L,0x08153da9c9880816L,0xd3af581fba4fe12bL,
  54449. 0x4e210e637209a78eL,0x27e82f6f948100c4L,0xf8688be916895fb7L,
  54450. 0x7b3d0ffd310306dfL,0xf6e249195ee693f7L,0x0000000000000143L },
  54451. { 0xfd6ddaddd40c7861L,0x040a3dfbc4abee6aL,0x0f6a7a9de3b4cf8cL,
  54452. 0x4fdf64f503cf3bb3L,0x35437e8053d10cb1L,0x7dc73fdde42c2169L,
  54453. 0xc5611a0257510987L,0x3e8fcc9618eb2a74L,0x0000000000000105L } },
  54454. /* 54 << 0 */
  54455. { { 0xf5ae2048a0ce100cL,0xf707cab63228fdfcL,0xdac4214e4dbf052bL,
  54456. 0x393cf55982451c97L,0xc6d866fdc6c98505L,0xcb09728861ea138fL,
  54457. 0x414997e998e0e3e1L,0x8e65f2a40e6899c6L,0x0000000000000193L },
  54458. { 0xfa47b98bb8d1b411L,0x0f607d677492659bL,0xc972b99ee0d7fcbcL,
  54459. 0xc6069fa8017db8beL,0x222e0ed99fea4bd0L,0x943485186e2074e8L,
  54460. 0x9c2868a692e89dbfL,0xd556dd0941ce794eL,0x0000000000000163L } },
  54461. /* 55 << 0 */
  54462. { { 0x84ad7ccebd470f5eL,0x7fe9ab4bda96ac4eL,0xbe17486b1e0b549aL,
  54463. 0x8cca93917cad27e6L,0x6472d4028e8da1a1L,0x7cb03e9fd9d0a79dL,
  54464. 0xb551e4155c6daca9L,0x52fc4b6d310ce7c4L,0x000000000000004bL },
  54465. { 0x7a196cd230a36ef2L,0xfa03a23006a096eaL,0xd69609e345b53586L,
  54466. 0x10aa85895c5a084cL,0x00fb114a7dbae155L,0x619f44311a16a0b6L,
  54467. 0x385ea7907a1a7b2eL,0x85e54fe81461ae21L,0x0000000000000035L } },
  54468. /* 56 << 0 */
  54469. { { 0xb3f739d5ae2df998L,0x1df04ea2e96c1840L,0x5730e56267acca24L,
  54470. 0x01378e253fef51d2L,0x9cc29b3435be97f6L,0x638c12398e4b8b01L,
  54471. 0x7e9056e95b0cbef7L,0xd775038527f32bafL,0x000000000000003cL },
  54472. { 0xc10d9706f4083cbaL,0xeba60fb5d8b4723dL,0xc431863c1a8cbf15L,
  54473. 0xb52a737cbaa0ffa2L,0x7c1e5b54987f4a28L,0x2b0430e114f67a39L,
  54474. 0x70e1a3561fc3e123L,0x9bf7cf42095c5b17L,0x0000000000000078L } },
  54475. /* 57 << 0 */
  54476. { { 0x3475330a4e9a13e2L,0x8372c8fff95c8450L,0xf66fd5bc64b8a520L,
  54477. 0x4af300bbde9118b2L,0xef3c6d77a521b9f8L,0x5a8defe72e6dbf85L,
  54478. 0x4463da75efb25ffaL,0x53c3e7fcf3c902e0L,0x00000000000000dcL },
  54479. { 0x33ad7f7fd9c4248fL,0xa9493190c62a5532L,0x4a3f82056a929f73L,
  54480. 0x3482530d0d3bd86aL,0xb62e7eb390dff3eaL,0xb13d0dd2caf9d989L,
  54481. 0x68073ee6c4d4f8f7L,0xe88fccd4fdbd992bL,0x0000000000000074L } },
  54482. /* 58 << 0 */
  54483. { { 0x0f583210d81ab70dL,0x5479d3ccb04647adL,0x342a03e174a3106aL,
  54484. 0xb96a728ad56c650dL,0x9871b54c6764d3fdL,0xe61385c801f5277cL,
  54485. 0xd53b6ad821b5026bL,0xc46df1c09851ab92L,0x000000000000008bL },
  54486. { 0xfa08b29292c1205fL,0xcdec69190bf94d71L,0x3b8ac3a45ca1b766L,
  54487. 0xee784bec8fca81a7L,0x52b53e4fe686134fL,0x765073f1f9a731aaL,
  54488. 0x7a4c58d40bfb0e0bL,0x48ff92784e9946a2L,0x00000000000001d9L } },
  54489. /* 59 << 0 */
  54490. { { 0x63be8a26eb16686bL,0xcba8524ec3472088L,0x1a90342d64373a8aL,
  54491. 0x055693c9b1344c69L,0xaae5c2934c222920L,0xc7223c5d98901999L,
  54492. 0x063c60342df29eadL,0xaeb454ad31876773L,0x0000000000000035L },
  54493. { 0xcf4aa03c5381fa2eL,0xfd82c38cfaffe51aL,0xc9fd5fddd64ffec3L,
  54494. 0xb8cf8c44bc83d0b8L,0xe22f2ef3cb6efd45L,0x15a48db3660903f4L,
  54495. 0xdb0b0ca0aff1ba7fL,0x7ecbec147e7e43b4L,0x0000000000000018L } },
  54496. /* 60 << 0 */
  54497. { { 0x9fd17ffbfca45bdcL,0x051c3f6061c25274L,0x7fb6bf92d04b42fcL,
  54498. 0x92681661adc786c5L,0xf79836e37bbe1183L,0x36f33caef52de9fdL,
  54499. 0xccb82b562ed32ff2L,0x8a508e954435eff6L,0x0000000000000003L },
  54500. { 0xf8464ad3910e9522L,0xd748f73799f3e5d4L,0x4b1ccdfa683285b4L,
  54501. 0x5edb1e7a605abfd0L,0x997df1a529560a5aL,0x9b0ecf8e37baa0e9L,
  54502. 0xdb7a7399b931e716L,0xbd87d8b1e7bd4d2aL,0x000000000000008dL } },
  54503. /* 61 << 0 */
  54504. { { 0xcb53d8cfcfc376a1L,0x952bad1671543c41L,0xa5e7fce59a7b32d7L,
  54505. 0x7193c11a77dc0b39L,0x4cd724b1be8b1717L,0x8b6cd17d5b660d1aL,
  54506. 0x92ca7c732a1c7d8fL,0x544c4a011407425cL,0x0000000000000115L },
  54507. { 0xb8eff8cd4a17604bL,0x56f22ee9c3fe5e24L,0xa834ff603afa032bL,
  54508. 0x03f78d54b7f553a8L,0xec097a3aed58c6a0L,0x79af485fef422cbfL,
  54509. 0x07996d2a399c872cL,0x3df9c6c0ac6485b3L,0x0000000000000115L } },
  54510. /* 62 << 0 */
  54511. { { 0x9627fe31114dc85eL,0xf0a8c971ef2a1696L,0x213f3fe32bfd4e19L,
  54512. 0xa38bf246fec516fdL,0x943ae59581dd5885L,0x378b0b7bc177aeafL,
  54513. 0x20f6ed49f27734e2L,0x05dada534c5c8ae0L,0x00000000000001f6L },
  54514. { 0x19f1002224aa57b5L,0xdda2d7e072a578a3L,0xcb156b6e7671eb7aL,
  54515. 0x6284a831f6b296eaL,0x50e685ccd164a220L,0xf2b0afd6935f4aaaL,
  54516. 0xa2252c7a4be38a37L,0xf96d82698b78d305L,0x000000000000014fL } },
  54517. /* 63 << 0 */
  54518. { { 0x0f5beb6fce8888e5L,0x75af7d025770ac8dL,0xc63996847586265eL,
  54519. 0x3ae99661308e125eL,0xe7f54fe4d51b0845L,0x1ca21b5affa0ddc1L,
  54520. 0xe82f799acb0a6e8eL,0x32753b64640c457fL,0x00000000000001c1L },
  54521. { 0xe9d15ad2a03dba15L,0xaf657b5bf664a2acL,0x13f78f82f0071283L,
  54522. 0x05d3dbdcec1896bcL,0x595e8c353aa22380L,0x1a9e093286414006L,
  54523. 0x6d81ac89b205d796L,0x47e184197a053817L,0x0000000000000153L } },
  54524. /* 64 << 0 */
  54525. { { 0xb53dc38ce320f742L,0xf5aab8029a04fd41L,0xa7c02c1603e7001dL,
  54526. 0x1bebd3c5efda3773L,0xb614b9ccf8872d27L,0x7ebdbba81860bbacL,
  54527. 0x4f3d7c0392fec2a6L,0x9aa17dce1112ecd1L,0x00000000000001abL },
  54528. { 0x5af17058a5f8df5bL,0xc1c1a5dba0653dd4L,0xf4a7b9e3af958043L,
  54529. 0xac165ba1508d4b10L,0x0c63ba369e87ab8bL,0x9bb1cc8b2fb1dc1dL,
  54530. 0xaa10217c57b9586dL,0x8d70eb848e920573L,0x0000000000000074L } },
  54531. /* 0 << 7 */
  54532. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  54533. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  54534. /* 1 << 7 */
  54535. { { 0x76b026e5736fa9e0L,0x2e27e720e23413b5L,0x51df70816a5f814fL,
  54536. 0x4e49496876271d7dL,0xd3124af75ce07d97L,0x3c9698bbc2d6dd2cL,
  54537. 0x631c070153023fa8L,0xd41259f27e381f83L,0x000000000000017cL },
  54538. { 0xbc309412c9dfb131L,0x0e3434093472a8e4L,0x4e69c32464ace613L,
  54539. 0xa49ff4b0dc99ac8cL,0x1b4fabc3b1af9ca9L,0xdce01ed3e7df7966L,
  54540. 0x5330ffdefbc7a682L,0x6e5df506a8283dceL,0x000000000000006fL } },
  54541. /* 2 << 7 */
  54542. { { 0xb38e8b9069be00acL,0xe46b33cb95e50b81L,0x9c9152c41f5d4723L,
  54543. 0x7b8f4f6e8c2a465aL,0xb85fa9e8f269cb33L,0x03c7389ecb5b47a9L,
  54544. 0x458afc780f312e99L,0xf40a0f02b5ac20c9L,0x00000000000001d5L },
  54545. { 0x8fac1245486bde7fL,0x1430cd504d4a7784L,0x58d2b99dbd29a67bL,
  54546. 0x965cf65738e3bcebL,0x062dc3aa57354f17L,0x40ed2a81e5b45635L,
  54547. 0x981bba93103b69c5L,0x3503aa73413c42fcL,0x000000000000008eL } },
  54548. /* 3 << 7 */
  54549. { { 0x56870723706a1717L,0xdee44d64cbecf7ecL,0x2120fc43ae06d588L,
  54550. 0x78086900695451dfL,0x596711a00b6e13b5L,0xb8e2b20d76c11762L,
  54551. 0xc1f30fd6f71431ccL,0xc8cfecf557133623L,0x00000000000001fdL },
  54552. { 0xb73cd41565e5811aL,0x688b3301550441c7L,0x9cb5a657d50fd76fL,
  54553. 0x724f5ed8b588f34aL,0x48eeb907f67f5927L,0xf71b353897aa02c5L,
  54554. 0x0239e51026db84caL,0x61ab0a5710fce663L,0x000000000000014dL } },
  54555. /* 4 << 7 */
  54556. { { 0xa48e3c3a9bd47f93L,0x4e1485e3636c0850L,0xd8264f7ff0ea4f3cL,
  54557. 0x0b9047fc044463c8L,0xb03311c98360fdf8L,0x007c068dd0db7f48L,
  54558. 0x5e82c7e7d429af87L,0x5a81286a6d64d318L,0x000000000000000eL },
  54559. { 0xe1d75c7eef97408eL,0x7c54b93f58a5e905L,0x0d8eee9a08c607d5L,
  54560. 0x2aeac3b0e2dec0b5L,0x96db5ced9fc99e2cL,0x27764de20a51c0acL,
  54561. 0x7999170f1b15ad22L,0xdcfc7192ced85f26L,0x0000000000000137L } },
  54562. /* 5 << 7 */
  54563. { { 0x136100c21f0ab49bL,0xf2763c0d8fd640c8L,0x32576a60a10ab0fbL,
  54564. 0x45efed229b4b2fc8L,0xd50aafff5ed021c9L,0xb8246dec184ac0c1L,
  54565. 0xe2519fc446002b5cL,0x440b77c67d492f06L,0x00000000000000a7L },
  54566. { 0x24fdbf51777310deL,0x1b57c3c267a603d1L,0x4daef7f2d4f9e51fL,
  54567. 0x2326062ffc847f9dL,0xbf6644f62f1175f9L,0x170083e32d9bbb9dL,
  54568. 0x7f64b63896089981L,0xb949d76a9accba57L,0x0000000000000165L } },
  54569. /* 6 << 7 */
  54570. { { 0x49eb72c3f62a4087L,0xec8734325b00b2bfL,0xbb040159643c12a4L,
  54571. 0x2ef972f4eac95679L,0xc7e358bd2bbea697L,0x924a6105db23f1b4L,
  54572. 0xd587c6bebdd61fe2L,0xf348d2f7aafc22ceL,0x0000000000000058L },
  54573. { 0x7bf1deec930f49aaL,0xfd3224c43cec939aL,0xac7eced36d94e0bfL,
  54574. 0x5ef5a81cb2c7b10fL,0xa6e9c773f85c84d4L,0xe139b7ab2f547b59L,
  54575. 0x436bffd61fd522dbL,0x32ee281e0b189b69L,0x0000000000000073L } },
  54576. /* 7 << 7 */
  54577. { { 0xb97c4ac3ef64ffeeL,0xfafc66c9e0513ff3L,0xcb15b02551d57f8bL,
  54578. 0x5a94fca3a0f73040L,0x1df583781ecdef64L,0xdc88683a2e876043L,
  54579. 0x897308dfa547bc00L,0xf9d9cd0346cddd21L,0x00000000000001c8L },
  54580. { 0xa05d56b56854aee5L,0x948513d41337a153L,0x96806e7b1461e392L,
  54581. 0x74d411bcd4f89728L,0xe39ed8aa54173ab8L,0x82acdb9ae17fabd4L,
  54582. 0xb0b61eeaa5fd0c85L,0x4ab388ee0a933577L,0x00000000000000fcL } },
  54583. /* 8 << 7 */
  54584. { { 0x8a4d6b672986daf8L,0xff67c35d3f0247b1L,0x3e45f2e50f48c2d6L,
  54585. 0xba941fa43663525bL,0xfe5a47af97fbdb12L,0x617a16b820ae9103L,
  54586. 0xfd6eee9fc57a09d0L,0x4bfffdbead5fad3bL,0x000000000000018cL },
  54587. { 0x7c2cd6fce8839b07L,0xee10cab923601344L,0xceed18245f0b8f0bL,
  54588. 0x6ea30adb68064245L,0x66306dadbf29705fL,0x4f9d0131be7db901L,
  54589. 0x1d972c0a531d35ddL,0x0ff3da3c08edcc09L,0x00000000000000c9L } },
  54590. /* 9 << 7 */
  54591. { { 0x69344fe39d6186adL,0xe85c33e690fc2732L,0xde9bf41a7d60ee51L,
  54592. 0x9d90a9105a70cda6L,0xff3b1a64879cdbf2L,0xcd89aba7dd686017L,
  54593. 0x9a891f87db1f6b9cL,0x6fa1abfc9b556eb2L,0x00000000000001f4L },
  54594. { 0x9aeb96367a4d8d49L,0x7f968cba1b2933faL,0x0e04c95323abd39dL,
  54595. 0x4a4b0b0549509543L,0x95fb7e645e7d71ecL,0x9568b11718f7086eL,
  54596. 0xeb8a07ef0390b0c3L,0x7b8624d13cccb970L,0x000000000000014cL } },
  54597. /* 10 << 7 */
  54598. { { 0xb491062b1c6cac89L,0xf20c58359adecc2eL,0x488d7b916f1d7401L,
  54599. 0xff98b90e94761e60L,0xe63993ca857557a9L,0xc4ff9951acdeadfcL,
  54600. 0xed5a53c7fd8dccadL,0x42e02c14f101c24aL,0x000000000000012bL },
  54601. { 0xbb9fe6f6bd3fe0efL,0x72f26ffcc1393d0bL,0x2e831b196c25ed19L,
  54602. 0xdb50a0d7ebcc6b99L,0x202ac3c8245c479cL,0x97b284d7436117a0L,
  54603. 0x13bd5e82fd694e11L,0x452b5a94022193a6L,0x00000000000001c8L } },
  54604. /* 11 << 7 */
  54605. { { 0x3d8c19764ac0927eL,0xcbc9ba6613389954L,0x727a3bb8defdd149L,
  54606. 0x4b2d64d24a3e6bb4L,0x4f5d185658ac36e0L,0x6d5e79b9f5acaac1L,
  54607. 0x426e868b4b602032L,0x1efd37220c41942eL,0x000000000000004dL },
  54608. { 0xdb8ef6c4ebb168f0L,0x0b4d7fd2de0e0478L,0x9c77f534097fdb12L,
  54609. 0xadaaa54bde3ea9bdL,0x3bdbe93f45f9f191L,0x45cf748118bd8d2eL,
  54610. 0x422ed3d85e63012bL,0xd8c1b94ed20c2076L,0x00000000000000cbL } },
  54611. /* 12 << 7 */
  54612. { { 0x65c7757b84367fecL,0x7ff69a4b6aa22fb7L,0x197f4c3659b0a103L,
  54613. 0x897241b712350397L,0xefb60dd033bf2644L,0x3ed30a65944af798L,
  54614. 0xd67a5cbd5bd2d770L,0xe9d97ea6f3caa508L,0x000000000000006eL },
  54615. { 0x94633f8662fc83a9L,0x6d68a34729a5137eL,0x88f2b4777bf9924dL,
  54616. 0x7bd70fcc00b533fbL,0x4dd3b695b7b8167fL,0x85dfca1cd0162981L,
  54617. 0x2f96a81f43e5022cL,0x2596b2ef14872ddfL,0x0000000000000131L } },
  54618. /* 13 << 7 */
  54619. { { 0xf21f278ab1cca421L,0x69452c4fc9c944e1L,0xab6f0267b5e1995bL,
  54620. 0x6871f6bf8e371695L,0xa175e5747c561f3eL,0xa0a9a596fc97048eL,
  54621. 0xdeb9a72472d14a89L,0x6068a848beb4e020L,0x00000000000001acL },
  54622. { 0xd187185e41589675L,0x9ab0c85fe7f8b9ceL,0xd866c2c25a6ef98bL,
  54623. 0x4fe3a42c88dd5569L,0x28e16344591c5ce6L,0x2ab62c9dac764ab7L,
  54624. 0x924cfb8417e00b2aL,0xb039e64f1804d328L,0x0000000000000039L } },
  54625. /* 14 << 7 */
  54626. { { 0xd59595d1d131f694L,0xce8a83752a7fdc21L,0x9e62e8b175869627L,
  54627. 0x336d78456e01b014L,0xb53acb366ea5a8edL,0x4451f2e57dd8ac89L,
  54628. 0x4c8cf19c2bc29533L,0xfbc29ef47c10e63fL,0x000000000000017cL },
  54629. { 0x9bc2ec347a9357faL,0xde489a133b8a04afL,0xb3521cda230520b7L,
  54630. 0xd7699690af6deb0dL,0xace1af3a14655a0fL,0xf628697fcd89b94bL,
  54631. 0x40a71ea33c079ab6L,0xe7b89297fd251809L,0x00000000000001dbL } },
  54632. /* 15 << 7 */
  54633. { { 0x49041d4784ed9ff2L,0x199606dfb57c5ed5L,0x3b8805182e409600L,
  54634. 0x854b5c40f0548f8aL,0xc64b1a67810d2870L,0x7232957f7095700eL,
  54635. 0x84f1a370b4758cf0L,0x5c267b9e70f58198L,0x0000000000000132L },
  54636. { 0x0339062438472718L,0x07734d06b8b84729L,0x1b78f06c26126b2bL,
  54637. 0xd92e040a77c87891L,0x2c4ba3849588cf7cL,0x09b19b0e230e1a23L,
  54638. 0x634174526980a2b2L,0xd34ae179bbe3f6e1L,0x0000000000000023L } },
  54639. /* 16 << 7 */
  54640. { { 0xd00804524043c91dL,0xe3362d2a01d9a152L,0x3d143282404673daL,
  54641. 0x1d1c9b70a881d770L,0x4254627ed4a785a8L,0xf801104f2d8b8d09L,
  54642. 0x306f6f22c6ceca92L,0xf0529d16130418eaL,0x000000000000011bL },
  54643. { 0xfa1e73fd6d8f9fa8L,0xb402cacceaa0860bL,0xcb08d922ae11ae49L,
  54644. 0x79908f8f76387f9bL,0x126b0ebab8b14819L,0x156a5ea63bb333a0L,
  54645. 0x0ba63111fe7f302fL,0x225ee26a4cd4f889L,0x00000000000001d0L } },
  54646. /* 17 << 7 */
  54647. { { 0xfcc2afcec54b8cc3L,0x2c4032b2bc4ec6f5L,0x9e6c26d66c62aaf9L,
  54648. 0x7b93cc5ae1eb8fc8L,0xce80f55d20a95dbdL,0x841e250cb822f54bL,
  54649. 0x9b84e5a91965018dL,0x36e53589b969312cL,0x0000000000000002L },
  54650. { 0x3c511a989eaeb028L,0x2efdcdb20cd5d5c6L,0x3226c4a858b01f2eL,
  54651. 0xdc5dfb8949ca64c9L,0x9afbb61ab0678018L,0x4114e7856d147d7eL,
  54652. 0xef683c889ff02c8dL,0xe143f8689b0655ecL,0x00000000000001aeL } },
  54653. /* 18 << 7 */
  54654. { { 0x4300169a60b57216L,0x0143c544441bc961L,0xa682548d7fef586cL,
  54655. 0xf064f99ee993fe8dL,0x169a43dbdeba875bL,0x935ce8bf6d3cd064L,
  54656. 0xe986a7cb7c9700ddL,0x1447fbea51c0f10fL,0x0000000000000117L },
  54657. { 0xf10cf577e3adf2d8L,0xfd750660bf433d46L,0x4944b8842395ce48L,
  54658. 0x63c24a4dc1725875L,0xb12376d0f3392f50L,0x9fb12a1a97588187L,
  54659. 0x3c03cc124bb92450L,0x26f27fe0b4e9c733L,0x00000000000000c8L } },
  54660. /* 19 << 7 */
  54661. { { 0x67ab4438cc4b3b6cL,0x9d47969be199d9c5L,0x95211e215e288cf6L,
  54662. 0xec223f59eb99a911L,0xd4408dad7fbc455bL,0xcf5037c6e8bd254dL,
  54663. 0x8d0f9f2ca920b371L,0xafbc9c94f0d5952dL,0x0000000000000100L },
  54664. { 0xdd090be1bbfd4541L,0x91fb0b2960a60ef2L,0xa631624d7477e013L,
  54665. 0x121ab825fa1b4a90L,0x13446ddf0a2bfab6L,0xdf92e361a05dfd80L,
  54666. 0x5a41609e15079b20L,0x815020c4d656089fL,0x000000000000016aL } },
  54667. /* 20 << 7 */
  54668. { { 0xdcf42b383b9e35b6L,0x5b92cc18d2a99f54L,0x55d1c68c30e7c057L,
  54669. 0x3a66cba43a7bd12bL,0xbd21276482b879e6L,0xd0154d7d0bca108eL,
  54670. 0x1e0c926fb273e3a1L,0xf063b1fd5e005f6eL,0x0000000000000169L },
  54671. { 0x7eea86aa702dd8e1L,0x4ed21f67fb054211L,0xfc634d80c3b592f6L,
  54672. 0x36066f725afadb07L,0x11244608875383f9L,0x57a100127c01dd73L,
  54673. 0xfa53012f4eea7d92L,0x32fc27c706e46a11L,0x0000000000000151L } },
  54674. /* 21 << 7 */
  54675. { { 0x0560b7a81cdbe62bL,0x48216ec02b69b169L,0x8473c01ca53cedc8L,
  54676. 0x4b28a72f421b41f1L,0xca176bcdb2a9e3a2L,0xa53467c885e7ef54L,
  54677. 0x5acde94e6e7b42b1L,0xca852c3fe58d357dL,0x0000000000000184L },
  54678. { 0x361ac3bf65696a12L,0xa17302498773f839L,0xb67cda7b8af8aa33L,
  54679. 0x495fa40ff68d9e49L,0x1db30912ed1f64d0L,0xd69756d5040cd7f7L,
  54680. 0xf00a572051714973L,0xb1431d1bbd1c1d1fL,0x00000000000000e3L } },
  54681. /* 22 << 7 */
  54682. { { 0xfe87dde0d9e02e98L,0x416547e5c932a7d3L,0xbac5a7827d904335L,
  54683. 0x7077ab520fa3993dL,0xbe4eacb39ea4d3e5L,0xcddb4006f56df114L,
  54684. 0x0c4fcca5a34c7b12L,0xa1450a3a05dc8144L,0x0000000000000178L },
  54685. { 0xb5d6b79945594505L,0xc1e8f726dd0ac080L,0x6269b2a1e2d97d82L,
  54686. 0xe9c9e6e320004746L,0xab497cfaa7f067f5L,0x55fdf3a16dfbd572L,
  54687. 0xfb825d8470231374L,0xbe464555e606857aL,0x00000000000000daL } },
  54688. /* 23 << 7 */
  54689. { { 0x4aa75dbf3fe45c64L,0x984319bfac44599fL,0x6a9f5fe68d365824L,
  54690. 0xb188e2357af31facL,0x238f73c3d9a23fafL,0x55ae76a5b2011c25L,
  54691. 0x3fc45a1279e98b35L,0x4cebe6d6b9178aacL,0x0000000000000002L },
  54692. { 0x2ad7f331d91ba2ffL,0x337d19a14528123fL,0x6966284d9172998eL,
  54693. 0x3dbe46a5a78104faL,0xd64c5cc3126b5bc5L,0x7c3b65aa76f1dc3bL,
  54694. 0x51807e032b762128L,0x5a96328ec6a60ccbL,0x00000000000001e0L } },
  54695. /* 24 << 7 */
  54696. { { 0xa0242d2359b58cfeL,0xdd86e8cadf33a5caL,0xf5108bc2b08cbf3aL,
  54697. 0x4eb5d82bda1733ecL,0x01eb740244dfac1dL,0x66f1ca152a30cd80L,
  54698. 0xde973c30bfd63e5dL,0xeda12faf640918e8L,0x0000000000000148L },
  54699. { 0x250a8d93bd70515dL,0xb2d0389b15f9705bL,0x4845788f4ee84ceeL,
  54700. 0x88926b3283f6fe3eL,0xd487de769e834d93L,0x3e4a88e11b7dfaa1L,
  54701. 0x10b6759de684beb9L,0xefc2282ffc887b1aL,0x0000000000000021L } },
  54702. /* 25 << 7 */
  54703. { { 0x5abbd8f370fe7fa0L,0x3f9bb48bf231ffd3L,0x935b99d8645a2ba8L,
  54704. 0x6516eb26a79dc498L,0xb3f04c2b9205d3a1L,0x947f338edbe99243L,
  54705. 0x7fb24af62be752afL,0xfe1b2b011053a4b9L,0x00000000000000d6L },
  54706. { 0x3bdc2af92a4ff7ccL,0x17cf61867902709aL,0x37394caeb4a54187L,
  54707. 0xdd2fa8aaa97f6c1aL,0x61478eb937775709L,0x9191485999524713L,
  54708. 0xa52dace45c79ed9fL,0xcf33ce2c602de95aL,0x00000000000001a4L } },
  54709. /* 26 << 7 */
  54710. { { 0x34cdf57179fba304L,0x2da4c0b855cba8eaL,0xfa08edb0e3ab7e7cL,
  54711. 0x89bb570a1176d554L,0x13f14aecf620989dL,0x070496cf73ab04d1L,
  54712. 0x0fd6e1e4e776b1a0L,0x6be78274e938cbf6L,0x00000000000000d9L },
  54713. { 0x8c93bc922cea82b4L,0x841a245a8f61cc83L,0xf6d7371707b43460L,
  54714. 0x17789f54496e9107L,0xd79a87dabf60ab90L,0xccb42770f04f3232L,
  54715. 0xda9dc1deaaeb6908L,0x0389467e83b7bd43L,0x0000000000000081L } },
  54716. /* 27 << 7 */
  54717. { { 0x8a119d3b89293e7fL,0x8829872e7fd1cb46L,0x511969b796e8a867L,
  54718. 0x2ae47fde2fdcd328L,0x657ba478462c5116L,0xed1e2c23686b8ab1L,
  54719. 0x9e111f8d653b32c7L,0x507b05a0cf55d5efL,0x000000000000005eL },
  54720. { 0xe452817b4beeff01L,0x20683c1527b777f6L,0xe075294f9877e28dL,
  54721. 0x56526da46e018831L,0xc0f16bef1997f554L,0x167a23dd2b350ba2L,
  54722. 0xb656c0d37a19f7c2L,0x0f9c5b5b5adc0909L,0x0000000000000110L } },
  54723. /* 28 << 7 */
  54724. { { 0x536183888cc1b1d8L,0xc4caa4f436009a81L,0xbe295ba7db665aa6L,
  54725. 0x4ca4e46fbc0a3df2L,0xfa5d29b60beea0f1L,0xeb13931e86c30cbbL,
  54726. 0xc3fbe7b253ec9ee4L,0x95a931572b98e62dL,0x0000000000000003L },
  54727. { 0xf8ef16326477ddd7L,0x87ad8c3b79fe61f1L,0x5d00661fb635ececL,
  54728. 0x181527820f321c67L,0x4819373f635bba1eL,0xde36d5089a09eb68L,
  54729. 0x48d4a31bb4c9aa92L,0x28c3f527bb549db3L,0x0000000000000182L } },
  54730. /* 29 << 7 */
  54731. { { 0x38c9f940c68fad90L,0x77d0f2254b76e5d4L,0x7df41a86096626aaL,
  54732. 0x377aea6d8c22d84eL,0x8228cfbb882544a5L,0x89f9f9b3b1669379L,
  54733. 0x7a0ef6c3e8ac7a4eL,0xccef3bafc96ea0a2L,0x0000000000000172L },
  54734. { 0x70f4de9feb10583fL,0x76f7b047c27ee4adL,0x544bdfb63fcb3ebcL,
  54735. 0x632d453921a2c4e7L,0x4f70b8c6ab207ae0L,0x2daa1737ce209d65L,
  54736. 0x9f094efb4921286aL,0x725653ef5465a990L,0x00000000000000a3L } },
  54737. /* 30 << 7 */
  54738. { { 0x16a72eb79e6dbb64L,0x0e4a2f79ddd1a126L,0xa231a534482b6a66L,
  54739. 0xd1506e255f4424b5L,0x72869485b848cbb7L,0x8110e25977260252L,
  54740. 0x4f3776fa6132f329L,0x71ce95f6f911712cL,0x00000000000000c9L },
  54741. { 0x85e3de361c4417d8L,0x26e85989703b3b41L,0xcb1f8ab41d0da946L,
  54742. 0xe042ea5196c2e272L,0xe2255e1f662c470cL,0xa1bd3d5672c1f8b9L,
  54743. 0x38698fd77fd14593L,0x4b9eda73f820ee6dL,0x00000000000000edL } },
  54744. /* 31 << 7 */
  54745. { { 0x6bdf5a24c96f6fd8L,0xde9420b80ec69af9L,0xef89755b25a46a01L,
  54746. 0xf7447d81e8871eb1L,0x1477c32e4ed21e9dL,0xdf036e42996bd5b5L,
  54747. 0x78099d1b9918c856L,0xfd2e3b70f8dfe807L,0x000000000000011eL },
  54748. { 0x19437721fb1df8efL,0xdae12e1cfdd0d41dL,0x3fdde152bbb0b79fL,
  54749. 0x8f8c75324bd97ea2L,0xcdbac848d872e34fL,0x2b507f37168ac6d3L,
  54750. 0x3128cebe46a04043L,0xb4196978f5a821c8L,0x0000000000000092L } },
  54751. /* 32 << 7 */
  54752. { { 0xe070a145e4ffac9bL,0xf8295455aa280fffL,0xa2d6cf897010805fL,
  54753. 0x04e130893220ff7cL,0x5935e6e2ad11681eL,0xd91efb7bb9cef2bcL,
  54754. 0x3c260b9914bb8c4dL,0x24bf88d53a265599L,0x00000000000000f0L },
  54755. { 0x1ff2439ccc9c279aL,0xdfcd0b6e90bab4cfL,0xfa08a7bac3acbfdaL,
  54756. 0xc91b8f40cdb22a56L,0x9624ac18672be103L,0x1e59bac0a7cb0f83L,
  54757. 0xae0aa78eed5f94c6L,0x9655b8c3b43029e1L,0x0000000000000052L } },
  54758. /* 33 << 7 */
  54759. { { 0xf0abb749e0b45567L,0x35a3562be1b25216L,0xda2ba89fbebb512cL,
  54760. 0x4f4fc05d4d9c9ed4L,0xf4f488b08789462aL,0xc1b1ed9676223e7bL,
  54761. 0xf4702d30ca356c71L,0xf25425fa6075b8afL,0x00000000000001a4L },
  54762. { 0x48f573eca93e0794L,0x336e5577b317dac3L,0x66be7dbc49940907L,
  54763. 0xa2da2289fe310627L,0x4d39847d129aaefdL,0xfc33556aa71e2383L,
  54764. 0x3f36017c8c962e42L,0x4a29a03939ef2110L,0x00000000000000e8L } },
  54765. /* 34 << 7 */
  54766. { { 0xdec3cf59ea27c05aL,0xa7f67083b52e2b6eL,0x38ce7a200474b960L,
  54767. 0xdd1975e729def768L,0xb114af497c50fb3cL,0x11ba4d4fb0b25935L,
  54768. 0x5b8088f0f6882daeL,0xdacff26b9f98d4a8L,0x00000000000001c2L },
  54769. { 0x14dac24531675d19L,0xb28812683ad6531cL,0x335b8fbc4fcee598L,
  54770. 0x03d355986a6218a9L,0xf949f8bc00de3490L,0x5f3ac4d1197b4f84L,
  54771. 0x5d0134a9bf92f51dL,0x34d805dbf42b3ec5L,0x0000000000000106L } },
  54772. /* 35 << 7 */
  54773. { { 0xacde8c05303edc58L,0xe7448e83f30b2de0L,0xd01600b5f56693dbL,
  54774. 0x11dddd528d1de024L,0x504351d8ae9a52a3L,0x9575e24ebb9ae192L,
  54775. 0xa063f065f2894ae3L,0x3217c3923c876549L,0x0000000000000083L },
  54776. { 0x212aa9d5e6932da1L,0xf7acd1f004c91e15L,0xb961a8a429495668L,
  54777. 0x943925040ea593f7L,0x834bfa64200847b6L,0x033b1ec77dd4647fL,
  54778. 0x4541a2f2334e806eL,0x90ec0295dc2bc63fL,0x0000000000000126L } },
  54779. /* 36 << 7 */
  54780. { { 0x35da5eaa514aa1a0L,0xcdd35c375b9bed0eL,0x91f1d3dc0834c326L,
  54781. 0xe529992bef9c0f44L,0x04570f257660418dL,0xbbfdcd21f2e7a423L,
  54782. 0x2b52019a1b481b2aL,0xf06a0cbd956bf66eL,0x0000000000000133L },
  54783. { 0xf47b962bb2bf730cL,0x22ad11370b787697L,0xc2c14c015f9afe14L,
  54784. 0x8bd0f5f23b4dbb1fL,0x2787d1b7137d3f32L,0x0e60261f91a6f97aL,
  54785. 0x761bfe8ae5b0f47fL,0x9e0f42185e729f2fL,0x000000000000005eL } },
  54786. /* 37 << 7 */
  54787. { { 0x3c0cdc877d8589ffL,0x6b599da101ab0129L,0xed6ae833cb178542L,
  54788. 0xc4206185c7014257L,0xfdee5dc18ed75972L,0x30422a42c46afcb6L,
  54789. 0xc990c82f85ac77a7L,0xc73e857d3a775c10L,0x0000000000000180L },
  54790. { 0x2dd3442b8642a173L,0x89d3b9151d213119L,0x19f6ce0fbd1f66b3L,
  54791. 0x1cb3fe0ba7811243L,0xc8383bb3c3786820L,0x8b5dc0c1b06a0e53L,
  54792. 0x575971ed870c6488L,0x5c1eab4ff71666b8L,0x00000000000000daL } },
  54793. /* 38 << 7 */
  54794. { { 0xa112afd237c6742bL,0xf85c7e5425ef3985L,0x4e623a062fde58cbL,
  54795. 0x4831bb2c1b18660eL,0x070a617b8cc9ce53L,0x3b59092b1d9b9cddL,
  54796. 0x4ff5178379d76cd8L,0xc59e27c72cd5db8aL,0x000000000000018cL },
  54797. { 0x18adadff364202e7L,0x7394b31421136377L,0x27ee75271da7b19aL,
  54798. 0xca9f1342464f6acfL,0x1f1d417206c24afcL,0x9b2124214cee62e0L,
  54799. 0xb63db356d4324e57L,0xc446ad3f5e72cf84L,0x000000000000013eL } },
  54800. /* 39 << 7 */
  54801. { { 0xb4dab7c1dd5c0101L,0xa2df684b3940fff8L,0xb22f144657aeb440L,
  54802. 0x20bafed817987125L,0x5d3a5c17f81f2ea1L,0x8542239d74810449L,
  54803. 0xeb05aff9d7f767b9L,0xe88b3034fd75c524L,0x0000000000000041L },
  54804. { 0x1dc76528d9c83428L,0xd317a4a7299a05ffL,0x2868cf78d8e73503L,
  54805. 0x4d9140a24d6ccb4aL,0xe0b0f24894eb64c8L,0x4b38e9477c5e853bL,
  54806. 0x920c1373dfb43575L,0x069956acc7f6e5c1L,0x000000000000001eL } },
  54807. /* 40 << 7 */
  54808. { { 0x2120f7a02565cae3L,0x8b7701807772e523L,0x83d1d71da1a4e556L,
  54809. 0xac9de3546893b076L,0xfc06849cd643a9a5L,0x66cc453d6e46c73eL,
  54810. 0x295b72d3e6b4cb6cL,0x27d7ea49f8d2fd22L,0x00000000000000b0L },
  54811. { 0x0a0022913905ce31L,0x58fa6abc37b6e43aL,0x639d7074f0bed901L,
  54812. 0x751cca9a0b2b80d7L,0x498f8be5356bb88fL,0xa1e192ed084fa7f7L,
  54813. 0x72123071fdabffe4L,0x375dd6cab6d31ec0L,0x00000000000000e2L } },
  54814. /* 41 << 7 */
  54815. { { 0xb986a1033fa0a922L,0xd8af1426471aa7a6L,0x142757f75da16f1dL,
  54816. 0xaa5aa2e5112ab9daL,0x2528729d7a36d194L,0x66f8e9d2a5931641L,
  54817. 0x647ff5ed954111d4L,0x91353bb782096582L,0x00000000000001f3L },
  54818. { 0xd5e1357471f27d0aL,0x8a17cfc4bef718caL,0x045d82b76c25b86eL,
  54819. 0xc190470da060638cL,0xfe1ccd344fe469efL,0x7216f6a2b6e4a4e6L,
  54820. 0xe878f0013d4ecd71L,0xd9e6bef5c06db8e1L,0x000000000000000bL } },
  54821. /* 42 << 7 */
  54822. { { 0xa2ac1ae9ac8574c2L,0xa94d700bd8e57fc9L,0xe553a50483768f7cL,
  54823. 0xf7ee17786a4b96ceL,0x9cd65ec7435476b3L,0xec29f389227fc1c3L,
  54824. 0x04d7c2cb02ab76ceL,0x955fc98eabeea649L,0x000000000000003bL },
  54825. { 0x2caa7206a4347b25L,0x8f9c3dfc888d9c02L,0xd13abad5c7637e02L,
  54826. 0xdd4f2d9889bff5e0L,0x6639923e91237db0L,0xfceb7bec76b38fc5L,
  54827. 0x6f51b35946622c86L,0xcb45000bbc3b052aL,0x0000000000000096L } },
  54828. /* 43 << 7 */
  54829. { { 0x7bdd3a436fe42b7bL,0xd751294a80a13668L,0x0c360e45a02c31b6L,
  54830. 0xcadb32ec364ab022L,0x714b47b52915fc64L,0x12894036314a27daL,
  54831. 0x93988364131a29c9L,0x8345fcb41c11e126L,0x0000000000000020L },
  54832. { 0x7379fc37adf71005L,0x763700973e92607fL,0x7ef1e34ade1aecfaL,
  54833. 0x3e9dccbc364796b5L,0xc2a20940b9b3b46eL,0x209ff5a7b71eead0L,
  54834. 0x8fc5eddf3e6a184bL,0xcaf50b8310b1d636L,0x0000000000000004L } },
  54835. /* 44 << 7 */
  54836. { { 0x24ac95c1b023a7a7L,0x900f86d152a600b3L,0xee5907d16cb1e79cL,
  54837. 0xac05c5459e15310bL,0x379b5f665baf1a18L,0xb936c3748ebdeb65L,
  54838. 0x2da06f140b4bb218L,0x3cce7e77a902a571L,0x0000000000000105L },
  54839. { 0x6e88f5350d47761eL,0xcdbe953128102f67L,0x5fbc898b5d8a732bL,
  54840. 0x4e2b80b20674c9ceL,0xbb1b8ff3b9ca6e9cL,0xacfb7ce058cf73eaL,
  54841. 0x3e38eb1e246664f7L,0x23e34b6712c6e67bL,0x00000000000000b0L } },
  54842. /* 45 << 7 */
  54843. { { 0x788cfa862ce9987fL,0xcf87d7181f3a827fL,0xeda41d438963ebe8L,
  54844. 0xc0fc14f2352ede26L,0x1c887d1f9aab3086L,0x4b2ee360e7afe709L,
  54845. 0xb32dcc7781abfa6eL,0x93acc0e721e565c6L,0x00000000000001acL },
  54846. { 0xda186d0d64798caeL,0x0e1245903faa2a4aL,0xdf259b1e17f2b48eL,
  54847. 0x08d00309e1738aa7L,0x55fad154488c2c04L,0xa49a1f6c8d1cb326L,
  54848. 0xc17528412a587b54L,0x1ae3846021b28da0L,0x0000000000000125L } },
  54849. /* 46 << 7 */
  54850. { { 0xc60450ffcfe88e41L,0x90e4a31ce80ee199L,0x129c8141054f77f9L,
  54851. 0x3d87883643d18e19L,0x7d538b08d0aa43a2L,0xaec78cbafedc871cL,
  54852. 0xc2512a4b22c45176L,0xe0fa4fd7adc1c057L,0x0000000000000054L },
  54853. { 0x6977ed3cb3d0e464L,0x20392cf15876e2f1L,0x4ccc33533e070075L,
  54854. 0xb7aeeef1cf3dc364L,0xed66fe98757b2e2fL,0x5aaa91f114988622L,
  54855. 0xe8f06691772fe270L,0x593bcbdce68972e1L,0x00000000000000abL } },
  54856. /* 47 << 7 */
  54857. { { 0x79f3c8d48b4979c1L,0x9f314f3ab34227caL,0x53f70c238542df00L,
  54858. 0x735c9c1f5d2925f4L,0xbc85ead47a520674L,0x03ed628cbaac2b52L,
  54859. 0x920fcf7c3b63752cL,0x82b2bbcc4ddbca03L,0x0000000000000025L },
  54860. { 0xb3e15c93eee68bacL,0xcaeaf1cab4c6d5dbL,0x87135e437d63080dL,
  54861. 0x7aedd26eece9d3d5L,0xc2cf0281703d669aL,0x669e59b813ab55c5L,
  54862. 0x3682cc5bdc1f5faeL,0x27631c8b969d7e7aL,0x00000000000001faL } },
  54863. /* 48 << 7 */
  54864. { { 0xd8af5067441231b0L,0x060a5889b44f70adL,0xc8b668b8d34dc5fcL,
  54865. 0xefd712c3c0913970L,0xb399e81b39dca3dbL,0x78fe34977b823568L,
  54866. 0xe9898e44b2345a5cL,0x71d1075305abf156L,0x000000000000004aL },
  54867. { 0xb207612eabd2dbffL,0xda4acee7f8666c01L,0xb5385d489eb81547L,
  54868. 0x54aef0260b0b50f1L,0x753b6de9117bb8baL,0x770ce21ac85f7040L,
  54869. 0x2c84b50d55ba9a93L,0x3d6e5e41ed6d5184L,0x0000000000000172L } },
  54870. /* 49 << 7 */
  54871. { { 0xbc90b46a54ddbec7L,0xd41023cc9f994187L,0xacd294e2e2bc97ffL,
  54872. 0xab4a43a925eb30dcL,0x73a2f91e7d271790L,0xfdddfdbd90babdcfL,
  54873. 0x075d1009786d202cL,0xe27659f112af11b5L,0x0000000000000132L },
  54874. { 0x82bb740b5015e833L,0x1b146b579756a549L,0x0676b19bbdbbc646L,
  54875. 0xd905bde08b917c5dL,0xd612630a385d16b8L,0xa990c8d30750f8afL,
  54876. 0x9b692f8b964eca68L,0x0cb1417c6cbf6aa8L,0x00000000000001ddL } },
  54877. /* 50 << 7 */
  54878. { { 0x633c95cacfeb6e6dL,0xf310f055d3a913f8L,0x82b3c285962f7c53L,
  54879. 0x93cea71d41ab7d17L,0x3e1938c7c2663a84L,0x03e5c149da567012L,
  54880. 0xbef4569ed1fddee1L,0xec2c08d2c0a14e36L,0x00000000000000a8L },
  54881. { 0x9f1984ea8c66bb0dL,0x33ec54fa24a7ab3cL,0x82363d70bc7cd59dL,
  54882. 0xcdc086c9dd7205b5L,0x81cefb78bd3f9b62L,0x2f7d9848d0c20358L,
  54883. 0x7d19925e827ab25fL,0x27432ca7bdc46e8dL,0x0000000000000103L } },
  54884. /* 51 << 7 */
  54885. { { 0xe5fb482725ea9627L,0xd1b15417eb4a6824L,0xec66b336f640dc0eL,
  54886. 0x58b67fde1f768b93L,0xdb052d30c38e94beL,0xb8f9bf0026c71d3aL,
  54887. 0x524029e3967c2608L,0x2cc1604c3e96c14bL,0x0000000000000018L },
  54888. { 0x1e00bf024096151fL,0x4682903a3280e791L,0xd10747413f59b08eL,
  54889. 0xf805afcf57dc3da5L,0x69231f31c41ed588L,0x8d88792c3a6f17f2L,
  54890. 0x8c7ed0f3e5562da1L,0x56210b8fcdd3b578L,0x00000000000001c9L } },
  54891. /* 52 << 7 */
  54892. { { 0x9560994f8b256515L,0xe6a1c4bfee0c60f3L,0x90616d735c40e06aL,
  54893. 0x96b06d488938c896L,0x3e91746cf7a0d6a3L,0x64101f1f323bb0dfL,
  54894. 0xb9063a273c5f05d8L,0x9a3278f8707f1505L,0x000000000000016aL },
  54895. { 0x99599034cd47eb2dL,0x2445f57192baec6aL,0x3d775c01f4785d10L,
  54896. 0x5b52741ba39f1742L,0xc3b9b777ae6b587cL,0xf843aed8a8f986d5L,
  54897. 0xac95d65bc8e3e8a2L,0x5ae638e982675b40L,0x00000000000000e1L } },
  54898. /* 53 << 7 */
  54899. { { 0x02e5f7474e915b10L,0xfe984f976f9492f8L,0x9539886769709243L,
  54900. 0xf4525d86df138cd6L,0x0c4e8a47f691a83fL,0x7ad0d619cd6eb376L,
  54901. 0xc5185be22dc115d3L,0x0f31c58e3c0cb3c6L,0x0000000000000117L },
  54902. { 0xf32d5bc157532f62L,0xb11abd34088396f3L,0x41bca25c0b5c4572L,
  54903. 0x85c1d94afd7dee4cL,0xa3bb272129b04077L,0x4ca6c9d0b087910dL,
  54904. 0xef465fede2824a30L,0x3bbcca9059bb45e4L,0x00000000000000c2L } },
  54905. /* 54 << 7 */
  54906. { { 0x5620edeac1805532L,0xb0d80cc507b46a79L,0x147fd42b4ad3c20dL,
  54907. 0xc5a3cfad1efb9437L,0xa8c731ffafcc3dd3L,0x3ba852716b815aeaL,
  54908. 0xae961cead66d3336L,0x3f046de2c4a83a83L,0x00000000000001d0L },
  54909. { 0x87ee923ff0ea8ff8L,0xd0fa8affd0f83feeL,0x5164155928b3f47aL,
  54910. 0xfe93907dbda41a94L,0x8da252c4dadabbc1L,0x02c5a8792d3e40c8L,
  54911. 0x1ed3ebe41b678f29L,0xcc33244ff9b63773L,0x000000000000007fL } },
  54912. /* 55 << 7 */
  54913. { { 0x347a11bc92d26303L,0x59820ecf9064fc95L,0x32c8ea2bb66853a3L,
  54914. 0x3dd1cb41b71920c8L,0xdddf7e6914bbf36bL,0xb0f71e18c4d27229L,
  54915. 0x35218d027c56d60eL,0x0e1f568591c81b81L,0x0000000000000049L },
  54916. { 0x94649487c1a83b3cL,0x79505e0ac2894f9aL,0x12548fe7f64af5a4L,
  54917. 0x0ee8e52a838817e3L,0x625ae0a8faeb95f3L,0x6e82be89f6fd174bL,
  54918. 0x16cb1065c3c4ee67L,0x43c8d753e4cf40ebL,0x00000000000000d2L } },
  54919. /* 56 << 7 */
  54920. { { 0x7dc3f4d8b36d4820L,0xc1367c104f2582efL,0x0d65009c600cea72L,
  54921. 0x663152830418692bL,0x973e1aad1b497fe9L,0xa89362316a9c3aa0L,
  54922. 0xa884d7d4c778e6f9L,0x241c3d34142bae6bL,0x00000000000001acL },
  54923. { 0x09636cb73ff4bc16L,0x7f924363dc70dd8bL,0x44ab005c916de001L,
  54924. 0x5995d92173cf5f83L,0xbc1528c1ae70dc46L,0x94335a4f065bfd79L,
  54925. 0xc50d05469b5a3a41L,0xfeaa8d5a6c039454L,0x00000000000001bfL } },
  54926. /* 57 << 7 */
  54927. { { 0x47a78493446416e9L,0xa88b09e0e09e1613L,0x8ffe68539241f3eaL,
  54928. 0xbf5369920fdd9ac4L,0xd619356d487d6560L,0x66a29c0b3a326f9aL,
  54929. 0xa4562dcb975f8c4dL,0xa9b11a8f6827192cL,0x0000000000000034L },
  54930. { 0xa18d94c3beabe49eL,0x4c95b3d210247731L,0x7e4aaa62800c61ccL,
  54931. 0x192be7ad93aafef3L,0xacdb0684548c37edL,0x906c5dca6b217274L,
  54932. 0xe82905411aa5e87bL,0x99499377af948d0eL,0x00000000000001a4L } },
  54933. /* 58 << 7 */
  54934. { { 0x3ccbfc85947098a6L,0x51a647133cedcde0L,0xab36cd65840db808L,
  54935. 0x27f54065e1e6da2eL,0xacb7bc24c4dfb935L,0x0539fb6b85811a51L,
  54936. 0x9a834c153458dbedL,0xf200b042d91c1ffbL,0x0000000000000129L },
  54937. { 0x64408f3e63cef0a1L,0x9248b34a1e8f0362L,0x666f2a1ef133487cL,
  54938. 0x47574c1e074d37b5L,0x747eddc62bfb71a2L,0x126ccc0ee2f3a687L,
  54939. 0xfe46cb0a74df9695L,0x76c6f165390f4609L,0x0000000000000166L } },
  54940. /* 59 << 7 */
  54941. { { 0xcdaa7ab5f50dae67L,0xaa79f66748a0f682L,0xb8527b90a5eece8cL,
  54942. 0x52140489e971d0cfL,0x46592debe5dcb864L,0x93b033d749d3a03cL,
  54943. 0x2ae696de6111a307L,0x92d90b30ac5a9212L,0x000000000000012fL },
  54944. { 0x1237c3437c548a9eL,0x0a6a33f85ca220dcL,0x89efc633944f854aL,
  54945. 0x1720353b68491e43L,0x50c189b0beb38a01L,0x84cf858336ee395cL,
  54946. 0xd644ee4d644a684cL,0xc496e4eacb2536c3L,0x0000000000000039L } },
  54947. /* 60 << 7 */
  54948. { { 0xa12ab81202bf43adL,0xec13c1d85b4fa76cL,0xdc2693f35ef4cae8L,
  54949. 0xe77c16cfd10b16c2L,0xf0885709af73ee84L,0xa0178986db518b00L,
  54950. 0x5b09e2e2435f7a09L,0xb043059120378b2aL,0x00000000000001baL },
  54951. { 0xe4f25ecfc35a9aefL,0x183d67e6923c79b8L,0xc1ef889887e007cfL,
  54952. 0x243bc11fdc0f34bcL,0x93f6d3cab5219ef8L,0xce0f0c34e7f8f11cL,
  54953. 0x2980543534f5dd6fL,0x425109831808c4ddL,0x00000000000000aeL } },
  54954. /* 61 << 7 */
  54955. { { 0x4a1c78eb6d3ef9b9L,0x8e378182ea5b2c00L,0xcc80009a7f17bc57L,
  54956. 0x4ac0725c3aa76f52L,0x67074a8316090e69L,0x247a99f906040d66L,
  54957. 0xffc91223c202669dL,0x36cc81087cf6079aL,0x00000000000000ecL },
  54958. { 0x0f4c307f9a9b6f1bL,0x784340bca4206c20L,0xb97598c2e2d0b207L,
  54959. 0xc7505ffe1ddcc638L,0xe9d636eee73109c9L,0xd85e9e014b69754bL,
  54960. 0x2a9802d5445c653eL,0x56e8b9e89805df1cL,0x0000000000000183L } },
  54961. /* 62 << 7 */
  54962. { { 0x50749bac0480a6eeL,0xd198789139ea640eL,0x13ac416185393676L,
  54963. 0xe28d116425c2eec7L,0xe636a59655b9f322L,0x4ba90f173a8ba194L,
  54964. 0xbca2eb38d49ed797L,0x9dc621d4f4e753b3L,0x0000000000000036L },
  54965. { 0xe1f60197f0f3bf12L,0x9137f979e7460711L,0x65cf559e696dd5d0L,
  54966. 0xbcc8bc9be80803f3L,0xab56300de8693f04L,0x03ece5d00979cf03L,
  54967. 0x907f30ef073bc6e5L,0x3a7773c1344d837eL,0x000000000000007aL } },
  54968. /* 63 << 7 */
  54969. { { 0xe25c24651f92f8b4L,0x3c12a2ad947b1043L,0x159bbc425aea4035L,
  54970. 0xe2519611012a7a12L,0xd237c4afeec2c287L,0x070eb6c60bb8f6d1L,
  54971. 0xabc1864e29a8a0f1L,0xc6d6f9dc9a1ef77aL,0x0000000000000179L },
  54972. { 0xca4e4bdfe6f42115L,0x86dc6504954f8811L,0x501d86c5c35fe50cL,
  54973. 0xf381c7b059fd3d0aL,0x2f3d1282a5a428a8L,0x152986e24130b67cL,
  54974. 0x2b3719068151bc5fL,0xdf41c90aa163dc68L,0x0000000000000063L } },
  54975. /* 64 << 7 */
  54976. { { 0x2172a8aa81a7b4c3L,0x97ca8dfdabf93bbdL,0x2525d8caf37d1211L,
  54977. 0x16442a63917e5726L,0xc67b9ec8e12467bcL,0x53240d523c5227e1L,
  54978. 0x6f6049267101b132L,0x70da1ac7de1a0f56L,0x0000000000000086L },
  54979. { 0x8d0c56be53e7dcddL,0xca55c626eabc48deL,0xd4cbc52a585ca3c4L,
  54980. 0xa36f240277288d74L,0x42922ebcf7ff687fL,0x482022cd5efbb12dL,
  54981. 0xe539f2aa7a1abed1L,0x561c207037c7469fL,0x00000000000000c7L } },
  54982. /* 0 << 14 */
  54983. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  54984. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  54985. /* 1 << 14 */
  54986. { { 0x6db672c63a46caefL,0x999560bf8bd02589L,0x53e343871d900fa3L,
  54987. 0x33c80c2c53d2590eL,0x3b11ead69801a393L,0xc6701879591e52f0L,
  54988. 0xc1c1982d60428399L,0x77d747971932418fL,0x0000000000000177L },
  54989. { 0xa4f615a05b4fa0ecL,0xb5afe599059eb5c5L,0x1260ba581142b875L,
  54990. 0x3cc654abf4f69ae0L,0x0422ac16ab6d27bdL,0x119f316acae65c55L,
  54991. 0x3ec0a913e15b6c6fL,0x1603620e0ae71c5aL,0x000000000000008dL } },
  54992. /* 2 << 14 */
  54993. { { 0x7d5f8e474538e761L,0x37c788724c878738L,0xe69f4711816427f0L,
  54994. 0x4da6f4677315c7d8L,0xf4665c460e84d136L,0x6b6c9c506a9d82d0L,
  54995. 0xab5d9fec1a96fcd2L,0x9ed96c86f7974f3aL,0x000000000000011aL },
  54996. { 0xbecff7179a66d7acL,0x67d08b6d8f4f08b6L,0x0f7ce5bec02e60acL,
  54997. 0xcae69a50294aed52L,0xb1e2278e10970dfcL,0x618459af75b3e40eL,
  54998. 0xe395787ded5e54a0L,0xcd8a442be862c8ffL,0x000000000000001cL } },
  54999. /* 3 << 14 */
  55000. { { 0x501c5422910040b2L,0x3d8fadef6fd18a7dL,0x1ca9754cc159f2e8L,
  55001. 0x3e337074f3570cc6L,0x8d2e0b274f64c1b0L,0xb458964157d8e707L,
  55002. 0xdb9c20ff3b377e8cL,0xe202cb7e3c7a95bbL,0x000000000000014cL },
  55003. { 0x443b521528898156L,0xc803d7d24d94ae93L,0x768497c3aa70513bL,
  55004. 0x48e7031adb916475L,0x7668dee27654c9a3L,0x9d9403b272eb0122L,
  55005. 0x28eaefd23999b060L,0x663b8a7974c55442L,0x000000000000017bL } },
  55006. /* 4 << 14 */
  55007. { { 0xa3480d58caa4bec3L,0x389489935989e4a0L,0x3f4d7b6c6f7ba4caL,
  55008. 0xe2913a55d39cb2aeL,0x615043ead7be6499L,0x9d4c41cbf504fec3L,
  55009. 0x4f93da968d44893bL,0x33a7acdc9a7928e0L,0x0000000000000013L },
  55010. { 0xc865844f48219a09L,0xa6d0b17937426bdcL,0x7386a0a6284ae0e6L,
  55011. 0xddd6cba0c2dc16fcL,0x77d2934d2940d262L,0x3af6ed35741b88abL,
  55012. 0x96f43a65a6dae43fL,0xc71435351414083bL,0x0000000000000057L } },
  55013. /* 5 << 14 */
  55014. { { 0x7790d2eebb886b9cL,0x80caee478c4013c7L,0x2d7d404ec987fefdL,
  55015. 0x31a416b818d7d489L,0x00f6c0f7206e539eL,0x725d958fe52b602aL,
  55016. 0x5729d79e5c4f58e3L,0x2e03f6286906e10dL,0x00000000000001b7L },
  55017. { 0x2e85fdc682793d69L,0x90676d2f89340b5fL,0x21b84c0e32410378L,
  55018. 0x0a3f3ec8596bac35L,0x986e33fa25754c0dL,0x9d278b18aa967da9L,
  55019. 0x60e45c3719545be5L,0x7c67878814875f0bL,0x00000000000001b2L } },
  55020. /* 6 << 14 */
  55021. { { 0x5f3b4a9387f6aa1fL,0xc2b1fe751d34fc74L,0xc437a7aee34cfc89L,
  55022. 0xed72014c30161cfbL,0xfe567e693f395ab9L,0xa1639cf06f0de2a7L,
  55023. 0xd21f55d847970dc6L,0xb5e535794207deb0L,0x0000000000000139L },
  55024. { 0x594d169afd419bd1L,0xb52e9e26c90e05bfL,0x44d444b7a62de4b2L,
  55025. 0xdd2f17762364737eL,0xc0f6a25563c867d5L,0xf2b52b0e19341f8eL,
  55026. 0xaf95afc014538a86L,0x9a4427ad1dd0c0a7L,0x0000000000000040L } },
  55027. /* 7 << 14 */
  55028. { { 0x11f2c66709bb5ac2L,0x09e0c0068b1bc2b4L,0xb8b059d595edf7cbL,
  55029. 0xe84466599cc3b6f1L,0xff0bb4d21a19ff38L,0x4b28f740daa847abL,
  55030. 0x4dc18b713f2ba13fL,0x82797e6a24f93563L,0x0000000000000066L },
  55031. { 0x24647b9ce0b37526L,0x151f8e85a66e7426L,0xfbc49bd366cbd549L,
  55032. 0x35236b47f1bf9e2dL,0x22d57f5652ce20f5L,0x348388680fb86429L,
  55033. 0x4fd6f7c92729eb8cL,0x47760b45003362a5L,0x0000000000000104L } },
  55034. /* 8 << 14 */
  55035. { { 0x394d510624891f36L,0xb4265c4f825fa293L,0x65a54b87f6ecbd5eL,
  55036. 0x6a2f900f2a351a03L,0xfb26d52f8d1dad9cL,0xbd651f19ba2c39ccL,
  55037. 0x2d5894f2bb30ed5aL,0x4cc3f05794732ec9L,0x00000000000000c3L },
  55038. { 0x8c03ccdc9bfec4ffL,0x4ce76352d52329c8L,0x0a92cdf03995d109L,
  55039. 0x44d28a5d7518ba0cL,0xbd74ecefce16a6a6L,0xcab52531123cb82fL,
  55040. 0x72065b99f34e1c5fL,0x4949379f03a9a916L,0x0000000000000164L } },
  55041. /* 9 << 14 */
  55042. { { 0x8ee1c74910ad8ac4L,0x110157d24a29d219L,0xf118918bb59bf09eL,
  55043. 0xfbba7a0ed6b61104L,0x63da0b9a32b9e1deL,0x3fb49a8689f92a39L,
  55044. 0xd229edda291d7f6aL,0xc1e45caaf69a443cL,0x0000000000000044L },
  55045. { 0x08deb935b6066acdL,0xdd28bcb7b88f3d6aL,0x2e6be43d91b9a3ccL,
  55046. 0xb2480a1a17c1ed87L,0x6bde69bbb5b2b5bbL,0x97dc1fe8cc8f7010L,
  55047. 0x7e2807e7fdb1b32fL,0xe7b130d5f70fd8a0L,0x0000000000000043L } },
  55048. /* 10 << 14 */
  55049. { { 0xc3b8439c8b56ac59L,0x59cf8542da6f121bL,0x025a79c1032590e5L,
  55050. 0x3f98129081a8cbceL,0x757cdfa5b3cf905bL,0xea0bba9b91354970L,
  55051. 0x59482cb1dedf20afL,0x67d12c761e59c982L,0x000000000000001fL },
  55052. { 0x639ba69e08e7113dL,0xa47020a6d9a39024L,0x9fef97a3cb50be8aL,
  55053. 0x5a7a5e7f9d733c97L,0xf2794e015c28cf0dL,0xc1dbb356cae9bfbbL,
  55054. 0x77793cc224716c82L,0x5ccc298d50e5d617L,0x0000000000000037L } },
  55055. /* 11 << 14 */
  55056. { { 0x9812a6d442817149L,0xb73e1c2efd845130L,0x842633677ea37239L,
  55057. 0x3074c70bd66a5ae2L,0x15461fbba435a562L,0xe1457c9dcfd53243L,
  55058. 0xcb95324a4b559ae6L,0xd21b06be80fee082L,0x000000000000005bL },
  55059. { 0xb2a047a250bd939bL,0x50f8174e9ab3c538L,0x7566dd4371fbec0cL,
  55060. 0xd8e989b442a8285eL,0x40b5fb08c129ba84L,0xd3febcf542eb6910L,
  55061. 0x85627da7e425b9cfL,0xb5baf38fc4232846L,0x0000000000000071L } },
  55062. /* 12 << 14 */
  55063. { { 0xd49bea9d0d67ee97L,0x3b54996ff8ce59aaL,0x609f5808f5862792L,
  55064. 0x8fff6ee3bf16a7b1L,0x2d515a919ef889a0L,0x9fdad17ecc6a85c3L,
  55065. 0xa93c168b54d161d4L,0x269cbd3fd42907b7L,0x0000000000000077L },
  55066. { 0xefbdc466cc9bc5aeL,0x562163329f2d0abdL,0x567a46bc78b7f191L,
  55067. 0xfe6f5ffe55cb85ebL,0xb6a1bd3a1fa1e9b7L,0x92a1f94db23aa4a1L,
  55068. 0x8706df4e85b417c5L,0x80f8e27972c38e1dL,0x00000000000001f5L } },
  55069. /* 13 << 14 */
  55070. { { 0xdac5bbdfc3346801L,0x108dec419bcb0f02L,0x5fe3f06d48153635L,
  55071. 0x5ce5a8679d23b153L,0xe5dc5b536531411eL,0xae4960cfe36feb3eL,
  55072. 0xd2e67e4524c4fa67L,0xf00a144f30702333L,0x0000000000000182L },
  55073. { 0x746a744e9428502bL,0xe12542d5e48622c9L,0xd694eee1a88fe253L,
  55074. 0x971c241e1cd5c3a5L,0x7de4e880e0e6cad2L,0x76187547c4ea49e2L,
  55075. 0x0bd43790d02af40fL,0xe7cbcdee5dccd37aL,0x00000000000000edL } },
  55076. /* 14 << 14 */
  55077. { { 0x7c22cc01f186fbd4L,0x658ab99c126df416L,0xe558e64094889f6aL,
  55078. 0xa2bb3d4d6138f3ddL,0x0b566d593c7c1262L,0x3d6e21d39de86bbaL,
  55079. 0xf58a8bf45b3fa663L,0x5fcb32d5e5a9783aL,0x00000000000000deL },
  55080. { 0xe003185eed8094b2L,0x8c44e4e9cb093e1eL,0x9b22bf6557b21153L,
  55081. 0x4e77fcbff755775dL,0x60aa9c223918bf3fL,0x02efccef93854e6bL,
  55082. 0x8d5c09d076894b99L,0x000562319adbd877L,0x000000000000016dL } },
  55083. /* 15 << 14 */
  55084. { { 0x63d27e60b67b7904L,0x440e4862517bd828L,0xc6f01d917b4009d7L,
  55085. 0x111a41ce5fd8c6d0L,0x711dda3365429b9eL,0x2cd2af55551c4ccaL,
  55086. 0x5fb416e681cbda87L,0xa20d3108da546986L,0x000000000000004aL },
  55087. { 0x0554dea9f7d2d8e0L,0x8b6bfcf7eb41abb9L,0x40ee181804e3c7c0L,
  55088. 0x530c3e7220c85212L,0x235f022bc9a2fca7L,0x95fab2db0300639fL,
  55089. 0x48426194585506f5L,0x61a8465852018681L,0x000000000000014dL } },
  55090. /* 16 << 14 */
  55091. { { 0xb3ee676376229445L,0xf39bdb10fed827feL,0xbbd917775abbf64cL,
  55092. 0x260ee1d529a83fa6L,0xa0fb51a9e14c0321L,0xe285da4285203855L,
  55093. 0x5c8ab2d255550c91L,0x88a94f055e3e844aL,0x000000000000006cL },
  55094. { 0xe2c20af1885e1b36L,0x93632bfb5132eb84L,0x8ec0a26aeec26e58L,
  55095. 0xa189aa9bc1a0b075L,0x3786be8fff4a93f9L,0xaf4ace63e4302fc2L,
  55096. 0xc19ae28d5856207eL,0xcd791d4e5425099bL,0x000000000000013cL } },
  55097. /* 17 << 14 */
  55098. { { 0xc2e311642e400acbL,0xb36b8691858c3d81L,0xa51d8133cc1c343cL,
  55099. 0xb58a9c83c55818e2L,0x8ccec493946b84c6L,0x5665d20eb30779ccL,
  55100. 0x2edf3534a8d10a72L,0x865f8ffe3962aabcL,0x00000000000001a3L },
  55101. { 0xd992bb1c76d1bd21L,0x1b61530c574f2eebL,0xc5cea02a6431db08L,
  55102. 0x5abac615b6643c40L,0x839a739d9f0146c4L,0x0a6bd0d2d7b1dc8fL,
  55103. 0x225d01259f6f6dcbL,0x413d64406b6c5498L,0x0000000000000047L } },
  55104. /* 18 << 14 */
  55105. { { 0x72eff79a8d1df15dL,0x71e97979714870c1L,0xe66f939f9eb85672L,
  55106. 0x88eea0f77089e658L,0x4d2e37bd4bc49047L,0x3acc988fdd1bd5e2L,
  55107. 0xf4436daa725264deL,0xd294eb310c6f167dL,0x000000000000012bL },
  55108. { 0x37dcec51defe6cb2L,0x0eb39b1e82ae447dL,0x0e67d023461c386cL,
  55109. 0x67298ef032d4e679L,0x70c9d3e74c18fd88L,0x322b18eedc3a0158L,
  55110. 0xe643985c8d036e18L,0xafecf85494a080a2L,0x0000000000000102L } },
  55111. /* 19 << 14 */
  55112. { { 0xbea1d3999258e609L,0xade5b232992aab46L,0xa937d66aabb0b737L,
  55113. 0x75919dc971c1be45L,0x11f1edf6dcb6b3e1L,0x62be1beef84fc1e9L,
  55114. 0x5a7e2788d3a531f7L,0x5cc174fcb1eb09f9L,0x00000000000000d5L },
  55115. { 0xec6dc93ff199ad60L,0x7966f0725067e8eaL,0x5db6fb626cfa4a74L,
  55116. 0x9b7792ea5a8e325eL,0xd0165798a79ed9e2L,0x618db06c17fea9f4L,
  55117. 0xd4f26caecd5efe3bL,0x8848d8a2b1147f97L,0x00000000000001d7L } },
  55118. /* 20 << 14 */
  55119. { { 0x782a46b3a45742d3L,0x7fb395dc9ae4f831L,0xaa0a249906715575L,
  55120. 0x336dd153987995c6L,0x5678c82a70d00fcbL,0xdc87a87233b45f8bL,
  55121. 0xd5b269003498dfa5L,0xa8ef2e81410f7c71L,0x00000000000000ecL },
  55122. { 0x00e42ef069a89d17L,0xdfd638d21de60ee9L,0x5e3e68a98e2a3b24L,
  55123. 0x19d1cc8ad7a07f7cL,0xd84e18094d2c9b89L,0x7674bfd1fd778f5fL,
  55124. 0x962735a61e2b3490L,0x9ad592a5f535952dL,0x0000000000000031L } },
  55125. /* 21 << 14 */
  55126. { { 0xc8f1c0548a0c0bccL,0xa30f26a5b54457fdL,0x6fc1b24c95252d41L,
  55127. 0x7c17f5b425f17d79L,0xaa30b0d126e54e69L,0xc7319dab8072a467L,
  55128. 0x1b3b1209f653c077L,0x95dd97a541b0d682L,0x00000000000000b4L },
  55129. { 0x48e4678c3f3185d7L,0x1558aab9c5f4f58cL,0x8ded1080b9177b55L,
  55130. 0xb0f7ed32d457739cL,0xfd11aae5a6f09d9fL,0xd8c1338874a99d1bL,
  55131. 0xe68c2f61727f9c0cL,0xbe311c7779ee6a1eL,0x0000000000000165L } },
  55132. /* 22 << 14 */
  55133. { { 0xf5eaf9f335acce1dL,0x0b96a6023b9738ebL,0xad95bc9e3eeb44d8L,
  55134. 0x0eec1a5bd535a06aL,0x772a256b21ef687fL,0xb4d097892f4e9fceL,
  55135. 0x5f51391a31e0fab4L,0xe19ddf7c24d4a11cL,0x000000000000001fL },
  55136. { 0xe78b3824810e0d87L,0xb9a45999c38b789aL,0xef8856703d63565bL,
  55137. 0xc5c41e8704fbb216L,0xfdad741d95b5b15dL,0xf47540283617de9aL,
  55138. 0x270e0d35c4ebd6d3L,0x38c2d45b3166287aL,0x00000000000000b7L } },
  55139. /* 23 << 14 */
  55140. { { 0x87dd73b253e3448fL,0x60a7de8cc6d5fcc9L,0x0f0e775e7d9f372aL,
  55141. 0x7d3d0454356ca0ecL,0x67ef63091202240bL,0xe19efd47f65d2cbfL,
  55142. 0xd3407ca767184ce4L,0x6e17fc95a294bbdaL,0x000000000000011aL },
  55143. { 0x4e28296f4ece1453L,0x1c7af2e5626ebbdeL,0x9701e52b02e2a703L,
  55144. 0x17ae7fa8ab279190L,0x8db8f694dcaf71a6L,0x1ab5594633e49a0cL,
  55145. 0x38b2529c4c4de6d7L,0x16f59109d0e0b997L,0x00000000000001e5L } },
  55146. /* 24 << 14 */
  55147. { { 0x80d754cbaf63a6ffL,0xa4f718c114970f91L,0x33767545b184b25cL,
  55148. 0xcb615b6126115598L,0xddc1e848b0ec3a99L,0x238885ae7a9ee0f4L,
  55149. 0x4f434c1a70cff1afL,0xa5d8f62804f92877L,0x0000000000000103L },
  55150. { 0x889a468cf5e7b21cL,0x42c6b1284f73f4c1L,0xc825355fea99c1c9L,
  55151. 0xdfabd44eb8502cabL,0x2c19c4f8078ff997L,0x766be192f948436eL,
  55152. 0xc086ddd4d3dcdf09L,0xf28f946c1d8fd86bL,0x00000000000001ffL } },
  55153. /* 25 << 14 */
  55154. { { 0xba6292380ed67da3L,0xf098937a18b18a45L,0xf40e4ff532aa3697L,
  55155. 0x65f0f6d484f25d73L,0x0447d49a2409ee55L,0xd8f3f95ebe06fc9aL,
  55156. 0x6720b40c38a09cf5L,0x498d11f28fdced99L,0x00000000000000fdL },
  55157. { 0x30ba67a673dfbf54L,0xe1f24bf629950888L,0x0cb868f331bfd446L,
  55158. 0xc17fd67b7f9e5043L,0xa7da16fa4623e449L,0x3702bc7d2f358149L,
  55159. 0xc350a191ea209cedL,0xe0d4d94b80089030L,0x00000000000000a6L } },
  55160. /* 26 << 14 */
  55161. { { 0x4a2e8b7588b8ffebL,0xac8299ad552743eeL,0xcc88211f46a49114L,
  55162. 0xeb39502e41625dedL,0x55322cd961f01503L,0x5dfc1640b9fcc446L,
  55163. 0xa4dcb9b9752c2d0eL,0xbc5ff858b4084347L,0x0000000000000016L },
  55164. { 0x842af48f1d8ace0dL,0x0c7fed42216d4efaL,0x2f280f63cee88219L,
  55165. 0x15a76cf8278f154dL,0xc1dba01188ffa0d4L,0xe18e7b9a5dab9669L,
  55166. 0x1072ce8351c3451bL,0x81466b0bc0625ce7L,0x000000000000008dL } },
  55167. /* 27 << 14 */
  55168. { { 0xc6532dd495f1a993L,0xed2d9c8e994550dfL,0xcd980625dc3206d1L,
  55169. 0x44920d5d8a99860fL,0x179a1fbfe95e6ac0L,0x21586f6e642b18a0L,
  55170. 0x382e467bb9bc16e8L,0x1bdc2a08eb4a3081L,0x00000000000001bfL },
  55171. { 0x2dcdd601a46e68e0L,0xd015240b93b19720L,0x77749858ce57fd5bL,
  55172. 0xb3cdcd8216d48d32L,0x65ad981f28365bd7L,0x392c56e9dca4a70cL,
  55173. 0x76767327573481d2L,0x5827f187873f6cf3L,0x000000000000005bL } },
  55174. /* 28 << 14 */
  55175. { { 0x9ddc754cae4622faL,0xac04c42905c5947fL,0x0b53d6db2dbfb6a4L,
  55176. 0x1fb16f7b883c6d42L,0xe38b1745e5dbab18L,0xa320f80a0087b164L,
  55177. 0x4a5c274f32cd4694L,0xe32650c10855dc1fL,0x00000000000000ceL },
  55178. { 0xf1c1a8c55997c5b5L,0x3a20ff072e051a16L,0xbaaccce236a4bc59L,
  55179. 0x72ae4a192c407bfdL,0x0ada1e57c128c710L,0xf4ce04dbb2d91ff3L,
  55180. 0x8616da8731fd0538L,0x5c19b57f245b59f8L,0x000000000000010bL } },
  55181. /* 29 << 14 */
  55182. { { 0x31597b8c0a73b81fL,0xcd52d82105ab588aL,0x4baf4239e28ced35L,
  55183. 0xc53a092e39673af6L,0x9e64a4d0f36bf7f2L,0xac2e493576c02cdfL,
  55184. 0x4ee3570ad7fd8566L,0x3a35bcc242fcfa04L,0x0000000000000178L },
  55185. { 0x556867075b8e9c9dL,0xba2645ac9c6ad053L,0xb43529a90a748b98L,
  55186. 0x2f9af439901cf7c1L,0xd7996db75282357bL,0x11015af01ce89b7fL,
  55187. 0x67b216b74963a6caL,0x8a8db55b74ad3678L,0x0000000000000054L } },
  55188. /* 30 << 14 */
  55189. { { 0xb2d55efa0c44bf54L,0x8f646047b5668a6cL,0x5e399e3f28000a00L,
  55190. 0x50551969f61e1838L,0xc32196b12613df05L,0x3e838233f7a1478cL,
  55191. 0x392a6c1fc508d707L,0xd93d05d6311b3998L,0x0000000000000009L },
  55192. { 0x6b31024ef05a16e5L,0x5a914eedc202d6aaL,0x2ecfe24db04a8795L,
  55193. 0x596a539e3e88e191L,0xebfa53cb697fdba9L,0xa69b735d1dc0d0f6L,
  55194. 0xa6a8ce767ff79787L,0x071e45f09aefaf38L,0x000000000000007eL } },
  55195. /* 31 << 14 */
  55196. { { 0xf27472c1ae93f8c0L,0xf04c6ea4a8e48c7bL,0x31d58b6422cad4c6L,
  55197. 0xc7ff26cd06556907L,0x44e71c873b03e6f6L,0x01eb2ef5eea10ed3L,
  55198. 0x61bc27e81b7996e9L,0xd0ab98cdb523dd48L,0x00000000000001ebL },
  55199. { 0xfe27e8cd3a19cd0fL,0x5ccf20a0d70e567bL,0xf2e641e142c65e55L,
  55200. 0xba46dfaf1ed8e850L,0x1af42222e5ed2072L,0x691811faab988c72L,
  55201. 0x94e7f4fa93d8842eL,0x6442a9c5a1152efaL,0x0000000000000186L } },
  55202. /* 32 << 14 */
  55203. { { 0x44edf8be84357b3fL,0xe5df9129588059d0L,0x83e65cfaab7d5b23L,
  55204. 0x79c2e1982121a504L,0xe6a19633eb3be7d1L,0xd9f8869586b85bc4L,
  55205. 0x78508fa279f2187cL,0xa2eb8fc012254f09L,0x00000000000000aeL },
  55206. { 0xb1a6704e2797d3faL,0x95b4c2682c78669fL,0x5294a8e42997c68dL,
  55207. 0x7246b0614085bad5L,0x7ca017c24159e5efL,0xb8fe1a6187d1a013L,
  55208. 0xdba0dcde44bc4ea3L,0x1fdd53c6a8ce296fL,0x00000000000000feL } },
  55209. /* 33 << 14 */
  55210. { { 0x8476dad138c75952L,0x256608000e53b9c0L,0x6f5f6ffc5002a11bL,
  55211. 0x025ccfea8d537febL,0x1d09d62b2eb845d9L,0x5d4596b2e1a65903L,
  55212. 0x49528722d492b0f8L,0x444b3def4cf2b0fdL,0x000000000000008cL },
  55213. { 0x25c1941661967bd6L,0xff50303688985e0dL,0xd180daccc95cd952L,
  55214. 0xea18affd18456eeeL,0x6ccf36af65317267L,0x8fb2380251dc5738L,
  55215. 0xaf16178d33439112L,0xb342543e0b99b0cbL,0x000000000000006eL } },
  55216. /* 34 << 14 */
  55217. { { 0x53277acc3ccbc40bL,0x218e751f6d939a22L,0xb3e92769c121b67fL,
  55218. 0xdbf0fdc0522b77a4L,0xbed0af74fafbf581L,0x8a9c509e162b2417L,
  55219. 0x1ee6bd74f86831a5L,0x14cbe9f436df364bL,0x0000000000000100L },
  55220. { 0x013a60b8164ffbdaL,0xfc05d43a28203c5bL,0x112489209bc7a027L,
  55221. 0x2ffa9cf550713fb1L,0x9c1d0bd5b07e598fL,0x207fcec72df3eb6eL,
  55222. 0x632ef362e16f2bc5L,0x20bb3d440a840efcL,0x000000000000013dL } },
  55223. /* 35 << 14 */
  55224. { { 0x9a5c53712dbf76edL,0xf5cc66adfa183c55L,0x84ce4c1f1c020230L,
  55225. 0x4c2d3b4490f2990cL,0x9150627f643357baL,0xb7cfd07f31fe37c2L,
  55226. 0x1e5a915b888b5198L,0x5ac98b6e98bbacf8L,0x0000000000000185L },
  55227. { 0xc79d020aeb775585L,0x5974d3de45a3257fL,0x72b152daa6a4749bL,
  55228. 0xf3603d175ad334feL,0xe3d82b9532e115dcL,0x15a6b62edf4f90d7L,
  55229. 0xda84eab108fdd614L,0xd893690b706bc3c1L,0x0000000000000199L } },
  55230. /* 36 << 14 */
  55231. { { 0x7dbc777cc8eda3e4L,0xf93443a53d138b69L,0xf88673fabe32f323L,
  55232. 0xc53f686eaf91501eL,0x2c583a94a9e8df0fL,0xdbb476a579a360bfL,
  55233. 0xd6d61debed573377L,0x8bf9489dd85e7ce8L,0x0000000000000186L },
  55234. { 0x4ea12cf58c06659eL,0x3a5df265fbc275d3L,0x434f440ba5ea596bL,
  55235. 0xa386793e82ec727bL,0x4f4d4575b4af3144L,0x465aae52b64cd799L,
  55236. 0x4c7c443401dd7df8L,0xc7d3008e40ec3273L,0x00000000000001e3L } },
  55237. /* 37 << 14 */
  55238. { { 0x296d12f19fb85a94L,0xf9e671e189de482eL,0x596ff3b73de0eed9L,
  55239. 0xd4bdb6b976feff0bL,0x8ac1d1fe0133e043L,0xf3a91297c19b02d1L,
  55240. 0x247fdc3217bba0e5L,0xadb9cc46caed480bL,0x00000000000001cdL },
  55241. { 0x71f9bb404eb96e74L,0x786704f425cbd4f9L,0x35c01daf4127f783L,
  55242. 0x53bcd595ca68c06aL,0xf7a45e8f548751daL,0x8c0b80dbc36658b5L,
  55243. 0x0eccb01f3182ead1L,0x7b4da8ae3dd4577bL,0x0000000000000111L } },
  55244. /* 38 << 14 */
  55245. { { 0x0f80cc7b2aa68d6cL,0x2aeea46ba5b1edefL,0xc1a582e38e4246c2L,
  55246. 0x4890117c468c83c0L,0xb203066fc0f4c50cL,0xc3d86d97753bd8c0L,
  55247. 0x7c7796b45821c82dL,0xeab746ef789602bdL,0x000000000000008bL },
  55248. { 0xfec63dc6d79ff090L,0x3f34e577fcc4f8c9L,0x755ddf0eeb73c7c6L,
  55249. 0xcb6ee6d1c400c474L,0x070ef40f27a0f15cL,0x3e30e74ac75fb5ebL,
  55250. 0x203e4d10f0681326L,0x1933a5161906e321L,0x000000000000015eL } },
  55251. /* 39 << 14 */
  55252. { { 0xf40dcbdd97c06856L,0x5093f148ba7c198fL,0x9b63c31888a4e5e1L,
  55253. 0xfbe0d089980bc362L,0x0d1d1889d1a2f1deL,0x56df5ede9fb22fc5L,
  55254. 0xcb790b388b0d329dL,0x68de9e9507e0dd4aL,0x00000000000000ddL },
  55255. { 0x870b198434557937L,0xbc4de915cb8041c0L,0xfb1e1e3b25df82a6L,
  55256. 0xffd486000bb66bbdL,0x408f76d32485fda7L,0x5eb686cd56698db2L,
  55257. 0x9b466dc1a16d4f85L,0x50657a6ce17cd57eL,0x0000000000000085L } },
  55258. /* 40 << 14 */
  55259. { { 0xd06fcbb8cbdd8953L,0x5a7495784a83da15L,0x9a509298fbdbf149L,
  55260. 0xe87856427b745cc2L,0xf473e129b6b6ea45L,0x325e846f5982df34L,
  55261. 0x2761bcbf39c922dbL,0xd598487a4c8a1843L,0x0000000000000141L },
  55262. { 0x4d4ce00e255dbee0L,0xb990df3e75a0e0faL,0x947755b894297a3bL,
  55263. 0x4797193fbf7a683bL,0xe3be49554c1f5e73L,0x0ebabf7ce3832a6eL,
  55264. 0x55aa92bb16574df2L,0xd05f35e66ace50f8L,0x0000000000000032L } },
  55265. /* 41 << 14 */
  55266. { { 0x0fe114732d5dd3eeL,0x387d15619e3b9f56L,0x6e68c4c4a2b445d9L,
  55267. 0xea666a0682103ef1L,0x5d1c563756e00144L,0x6167168a056a94dcL,
  55268. 0x75af25224dd46bbbL,0x9d5ac0de25f2477fL,0x00000000000000d6L },
  55269. { 0xb2c55ad2ad8ada45L,0x5e2a1d14c04094efL,0x2c7f76f93c359f4dL,
  55270. 0xfec96532462b8fb3L,0xc5ddd1a99a542665L,0xe0ff14b28d3fb2adL,
  55271. 0x802a81d51b16e7c2L,0x02eda0edd5bd8418L,0x00000000000001b9L } },
  55272. /* 42 << 14 */
  55273. { { 0x19d40ead8c3208a2L,0x921a28ae4b57239bL,0xd9c1cdf87c048e0dL,
  55274. 0xc0896b487c1924adL,0x6f8e11b70015cb8fL,0x93fbe340e490613bL,
  55275. 0x34f8734f8758f850L,0xaa9acf4f5cf61cbfL,0x000000000000014cL },
  55276. { 0xc3636b8815758f79L,0x7c1d4f0928dc60c1L,0x48cb27e6b77f1edbL,
  55277. 0x5d5a94b007580b50L,0xb6934e25a129e7bbL,0x6f00412da44d9a6eL,
  55278. 0xe6e347f209f16d89L,0xa60de5594470a50aL,0x0000000000000086L } },
  55279. /* 43 << 14 */
  55280. { { 0xd94e16dd0f5545c0L,0x99311bd1655e0f8cL,0xbd28f252b6084433L,
  55281. 0x5dfc8beacb8a0b6aL,0xca27033f7e2964c9L,0x4e1d96942b5eacc2L,
  55282. 0xca11c059f2eab44eL,0xb9a4ae9feb61f161L,0x00000000000000deL },
  55283. { 0x6840e5d242e77d55L,0x58235511a7df2d6cL,0xb00763753af2b1f8L,
  55284. 0x7ac404ff9f430068L,0xf5b2bc675e6129d2L,0x3d474d6c30d6fbbaL,
  55285. 0xa0c66d83afc5cd14L,0xa93c5ccf84651070L,0x000000000000019eL } },
  55286. /* 44 << 14 */
  55287. { { 0x28e8d7cdab4f88e3L,0x898baec98ec7fd82L,0x13328d8ec459c3fbL,
  55288. 0xa635e9b13b0493efL,0x039493381ddff9b3L,0x93f2886cff82a4fdL,
  55289. 0x9cb165730c609c2cL,0xab282b67ae8e6e06L,0x000000000000018dL },
  55290. { 0xc16fbd160792dcfbL,0xc42bbe74adf64db7L,0xc85534c4315f21d9L,
  55291. 0x66cd4cd3747b8361L,0xcd26cbe3f33752b1L,0x185add8554d2bfa6L,
  55292. 0xac366f9f3364f9b0L,0xdb6b5e544188b82eL,0x00000000000000f0L } },
  55293. /* 45 << 14 */
  55294. { { 0x40394dc28eb60051L,0xe85d4323b94b7c23L,0x35ece007398df4b0L,
  55295. 0x4048e7668f3837c7L,0xd2968bf381699670L,0x341d0b90ef321d08L,
  55296. 0x9fb3d866adb69687L,0xf649f7a01e95fbc8L,0x0000000000000040L },
  55297. { 0x637c2c6a230521a6L,0x538783613fbf1391L,0x624386a14812d57dL,
  55298. 0xeac925d71c92e4b1L,0x886160dadd9f8fb7L,0xafade790ad700edaL,
  55299. 0x4795d6eac4a75e99L,0x30a507699c844dbeL,0x00000000000000a4L } },
  55300. /* 46 << 14 */
  55301. { { 0x7749f0fd407325c4L,0x82a14463fa3e21b6L,0x456f01251367a25fL,
  55302. 0x7fb481cd59345788L,0x18b408080fbab520L,0x44f57759821b00b4L,
  55303. 0x2260d7a7e88bb2c7L,0x3b6a935d609f7ea5L,0x000000000000004dL },
  55304. { 0xa078b27909d38bfbL,0xa5a0db3da266eacdL,0x5b022ed5eb2a2fafL,
  55305. 0x6596a4aea49586caL,0x401a450d6f1bd9bcL,0x2a272cd4fe972a51L,
  55306. 0x1af0c66897c701beL,0x74c04b6721402335L,0x000000000000012aL } },
  55307. /* 47 << 14 */
  55308. { { 0xa046a8084e621a9eL,0xb61cdc55514a1be3L,0x45b894ae05e335b8L,
  55309. 0x2a7afd2f3f2cbd40L,0x9febc8b21d4cdc78L,0x8022fb1d990da9acL,
  55310. 0x2a544f9786ea08feL,0xc8f50cd46af5d246L,0x00000000000000faL },
  55311. { 0x8325acc8dbea7bddL,0x86ec5d580a254408L,0x0328bd2f6b93bde0L,
  55312. 0xc4a75a47256ef2b3L,0x61b14aee0d43792cL,0x660894bc15f60963L,
  55313. 0xf06c411a9e2ec909L,0xc7bb2f80846c3b1fL,0x000000000000017fL } },
  55314. /* 48 << 14 */
  55315. { { 0x5e597d089b0a6b1cL,0x3ed100fab66ad53dL,0x9852718497c12a70L,
  55316. 0x295556e631779d59L,0x9733135a0d5a0720L,0x4cf945e66f937863L,
  55317. 0x8289d86b87679e05L,0x1979cf02f3b45d70L,0x00000000000001b1L },
  55318. { 0xeca4684be1874574L,0x4cde87b963ec3ebbL,0x74486ff281b929caL,
  55319. 0xcf9c54dd5113e211L,0x95bbc0e1b8237581L,0xa92320f70fe355e7L,
  55320. 0x945a1a0345b9dbd3L,0xebbc1d0d4c99791aL,0x0000000000000143L } },
  55321. /* 49 << 14 */
  55322. { { 0xffd45977b2f6d655L,0x2a2895ec5dca5a02L,0x4b12c0cb0f0229d7L,
  55323. 0xbc5066638eb2d617L,0x7859a404b4414ebeL,0x25a4ed7bd0414b93L,
  55324. 0x967f9aa382670c9eL,0x1ad77f6fc430405bL,0x00000000000001ebL },
  55325. { 0xf88be831313b212fL,0xe2e6cab7348e2d56L,0x357676d439019ec4L,
  55326. 0xff936f3869846bd4L,0x6345ca8d66ce27ceL,0x82836c0ec72384c9L,
  55327. 0x5ebe05967beacdfcL,0xfc1d54f4150fd26fL,0x00000000000001abL } },
  55328. /* 50 << 14 */
  55329. { { 0x6649d0ddd7587da5L,0xa9f6c67abc3b988fL,0x7ff9da31921c0c68L,
  55330. 0x47453a7901728d6aL,0xf29a285af14e4958L,0x559fef9ecb3695aaL,
  55331. 0xf00d26d90d698abdL,0x9f2a87adf0e12bf3L,0x00000000000001e9L },
  55332. { 0x1cdd21ff7823d0cfL,0x7817d994456ba521L,0x11a2d178e6b7b13bL,
  55333. 0x272ed174315c7508L,0xee909a0bdf995ad9L,0xe9432355b9194220L,
  55334. 0xfe5bd9b1b2458aabL,0xea8e397b7dcd8a61L,0x00000000000001adL } },
  55335. /* 51 << 14 */
  55336. { { 0x3dbd43387b55498bL,0x6e596b6bc82e0ebdL,0x382ef7e250a694bcL,
  55337. 0x3c840753865dac40L,0x37b13cd0267c7b8aL,0xa4767ad5cdd6b7e6L,
  55338. 0xf700ba8d60af4929L,0x3fdbfdfd4c96867aL,0x000000000000019dL },
  55339. { 0x4f711cb378e1611fL,0xeaf744da23723236L,0xc3f6bda778ebdacdL,
  55340. 0x9aeef0e09e0053b5L,0xbdb6d71a90b16d38L,0x3765112f3dacd8caL,
  55341. 0xf6d3a468704cac3cL,0xe6f258412646b586L,0x00000000000001e0L } },
  55342. /* 52 << 14 */
  55343. { { 0x74ff5c5188e250d1L,0x46e6a1dedc911cecL,0xc28ba25b48c5291aL,
  55344. 0x0f571b2aa9fde68cL,0x1c7d3fe989952038L,0x40b66dab6a4850f9L,
  55345. 0xf2a3db3956af4d75L,0x9861204f03123ba0L,0x000000000000016eL },
  55346. { 0x1ecdbbd45ac22cd7L,0xe7349a910000be6fL,0xff94c6a2327586b9L,
  55347. 0xe78c257f7e123652L,0x18e795c5aaebcaf2L,0x7dffc5b363c70794L,
  55348. 0x6c3b3d2067e76a08L,0x820b7e33afba9f7eL,0x00000000000001cfL } },
  55349. /* 53 << 14 */
  55350. { { 0x28046bad1bed718bL,0x89dd1a2a107fad6bL,0x72d4a58ce5be292fL,
  55351. 0x44c2bfb40b8f0633L,0x175b44b9acf0bc64L,0xe77b0389e2a0082bL,
  55352. 0xba56099662ce72f4L,0x88d47c05977a1195L,0x000000000000001bL },
  55353. { 0xe08df997f1937128L,0x7be24d4e6d7b6de6L,0x2c1da8cc2895c158L,
  55354. 0x867b4dbde6095143L,0x2f9fd14167dda364L,0x746c8bb98f5dd0a7L,
  55355. 0xec978e1931fe3f41L,0x3c2b278da2b6be6eL,0x00000000000000abL } },
  55356. /* 54 << 14 */
  55357. { { 0x53305692201e8211L,0x453de0b663165a91L,0xb5787597bc0e4356L,
  55358. 0x49d7a66f6036286aL,0x4f3ec2a9545399b0L,0x87b0f978e70c2bdcL,
  55359. 0xc41adf47db793dc5L,0x6394b7ef20acc60eL,0x00000000000001f1L },
  55360. { 0x8f24f67bcb1ba826L,0xfde4bb5c9e783ae8L,0x4ab170a0b072e2f2L,
  55361. 0x01968ba82be627d9L,0xe8c1a0115710c838L,0x9aa5552eff2c4c0aL,
  55362. 0xebf694e1aadea875L,0xcd34f51184feeee3L,0x0000000000000101L } },
  55363. /* 55 << 14 */
  55364. { { 0xc1e4d3db1ef1e686L,0xb8a1403857560e2aL,0xbb3d623b47538074L,
  55365. 0x18921f9026b5e77dL,0xbb7096d508be51c1L,0x1118eb73c714f7a6L,
  55366. 0x0dfe997369e0fc89L,0xc28cba21f8a93363L,0x000000000000018bL },
  55367. { 0x66c5603da2f03e1dL,0x4f17de957d775555L,0x26e00c87c2bb36bdL,
  55368. 0xf5a4806a3288e106L,0xf934a912a9a42ed3L,0xe374aa3df76e08e9L,
  55369. 0x3bb52d94983fa9ffL,0x74b832e55d421496L,0x00000000000000c4L } },
  55370. /* 56 << 14 */
  55371. { { 0x932645e87ada2a97L,0x21c7eba2e8300b13L,0x948ee3bec714208aL,
  55372. 0x7d4c3d65d66c4b41L,0x8373248e8530bdeaL,0xb053676048b836e1L,
  55373. 0x9db23d3975656dcaL,0x37da5fa90e294ebdL,0x00000000000001fcL },
  55374. { 0x8715df66bb355ca4L,0x9f0eb8f4ca81ae22L,0x477877be167325c2L,
  55375. 0xde6d697564174912L,0xfd9770aebb0b5cd2L,0xd83513421999f713L,
  55376. 0x14fbdc847fecf8ecL,0x1700b51341521ea8L,0x000000000000006bL } },
  55377. /* 57 << 14 */
  55378. { { 0x1fb72fa4e1a987e1L,0x2ec447d4b3a419e1L,0xf414904f0af68019L,
  55379. 0xbd78ef312a752878L,0x84280607c9d3f03dL,0xd234588a676d8a40L,
  55380. 0xfd83257c8405dfdbL,0x9e40b20e5b0e8942L,0x00000000000001aaL },
  55381. { 0xad94e86e8e352cd5L,0x28598b94e481b980L,0x6bf8a3fa3441e4f1L,
  55382. 0xcf0e604288c65230L,0x9e3cb7518097669eL,0x205666a00e1cc1eeL,
  55383. 0x0c18df29b2f5cc87L,0x418ba30d6986decbL,0x00000000000000b3L } },
  55384. /* 58 << 14 */
  55385. { { 0x440f76b5efc7c941L,0x2655270e0f135411L,0xf29c7ba6095b4edaL,
  55386. 0x7ec4aadc12c0b3b9L,0x162b1a6e2637926dL,0x25e1e9634eef2802L,
  55387. 0xd413ab20e56edc9cL,0x0d6ab23eca7901c4L,0x0000000000000019L },
  55388. { 0xf1d31cac5c98bcd9L,0x939dbd4ebdcfca60L,0x0492c4cae0be4dfcL,
  55389. 0x68e939f3422574f3L,0x80996ded137cc107L,0xc714e969aff399fcL,
  55390. 0xe772477000fc77ccL,0xd980f985472af5ebL,0x000000000000014eL } },
  55391. /* 59 << 14 */
  55392. { { 0x5a28ef5122dc1e97L,0x9da0854654fcd9c8L,0xc6b613d635ad72b3L,
  55393. 0x413cb175fcfc0f36L,0xe16aa604bdfa0b08L,0x3e1bbeaf35235a92L,
  55394. 0xbcc910ff3b7d1193L,0x4f6b1df31c21441eL,0x0000000000000087L },
  55395. { 0xa940ba897d940cdbL,0x93708a405b4b3a34L,0x67579e47cc7f3b19L,
  55396. 0x16260fc86b5c6b95L,0x0bac93e0a1c9c2e9L,0x5dd70dbe2d9c44edL,
  55397. 0x01ed179d47ff1001L,0xd7e891ea2eb5f1fcL,0x000000000000006eL } },
  55398. /* 60 << 14 */
  55399. { { 0x330f31b6c916e988L,0x601fca7fa6e737c0L,0x99e063dcdf9c7b04L,
  55400. 0x49e97a9627cd93b0L,0x576fe3429a7c06deL,0xa6d8c4796eac19aeL,
  55401. 0x4c5cc139fc72dc81L,0xf34b69073533fe76L,0x00000000000000f0L },
  55402. { 0x8d444d34983c41e6L,0x650af8bbe2e49bd6L,0x1794d4c0c1bcb88aL,
  55403. 0x798cb3d8b2fe435aL,0x8544a707e7433605L,0x82dfc6359fd393e0L,
  55404. 0x572bd64292981c51L,0xb451731fe001273dL,0x000000000000010cL } },
  55405. /* 61 << 14 */
  55406. { { 0xfd6a06190f7d5e62L,0x363d0d2820d126daL,0x56b94c82ec82e67dL,
  55407. 0xdc493f04d5e8870aL,0x936ac4b4c9cd9fc3L,0xfb6d59b2ad27c8daL,
  55408. 0xc94e470edf8f5ef6L,0x9e47d7f32e818bf9L,0x00000000000001a3L },
  55409. { 0x384d552bcefa9b33L,0x02d8353268aade38L,0x61b0f08d8208634fL,
  55410. 0xbf13ac956235c74cL,0xa44deea4a108f58eL,0x485fa5c8a991ab4eL,
  55411. 0xd53cb2c59682a856L,0xa590f750072f2accL,0x00000000000001bdL } },
  55412. /* 62 << 14 */
  55413. { { 0x5dc324b538f9f14fL,0x0e1b29ca25417001L,0x244cc7596932af3dL,
  55414. 0x19787a6c2765e15cL,0x7144d48fb7fbbde0L,0xe898a059012c68f9L,
  55415. 0xc66ebe6d9d907dafL,0x02aa0fd3e114e429L,0x0000000000000101L },
  55416. { 0x138b94bb6551e782L,0x326631f7bb5ff6d2L,0x21c17feac81f02a6L,
  55417. 0x72f829c4a1d73b84L,0x941c0390bd578fceL,0xd2c600c409bbf7a1L,
  55418. 0xb849f9bdd3438945L,0xc09307c24d330616L,0x0000000000000170L } },
  55419. /* 63 << 14 */
  55420. { { 0x6c553f60c70835a7L,0xdb249d1d454158b1L,0x34eea92e29f411e6L,
  55421. 0xd75f12f67037c4c4L,0xfc5cafae3a77bd41L,0xa7309f006680eae8L,
  55422. 0xa04eb002404a6360L,0x359a53cfc069275dL,0x0000000000000147L },
  55423. { 0x2bb3ac825af98268L,0x1f3fdf5f50056aa2L,0xd82b90bbcc7a2c08L,
  55424. 0x5c7b793a7c4dbbeaL,0x7bdbb47f568ef299L,0x3b7716307b4f839dL,
  55425. 0x2fa53e49d475515dL,0xa0ef2b77608ea974L,0x0000000000000101L } },
  55426. /* 64 << 14 */
  55427. { { 0x4f0e025fa2302041L,0x4d50d98948d262b5L,0x01720a0ad622c7d4L,
  55428. 0xe3b5a94158d1c97cL,0xfbc5b18338aed2a5L,0x27f02177823b5d8dL,
  55429. 0xadf74074775f38c5L,0x95bf91f44f1a6ea0L,0x0000000000000104L },
  55430. { 0xf9cd82998e2d6ab2L,0xa75b296b6c27631dL,0x077000491e00bac9L,
  55431. 0xdc99e546ebd66975L,0x44fa528275e54993L,0x25fbca4bd50e44d1L,
  55432. 0x4663139381057b1aL,0xc22eff26bdcdf45aL,0x00000000000001cfL } },
  55433. /* 0 << 21 */
  55434. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  55435. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  55436. /* 1 << 21 */
  55437. { { 0x3519394e7f6b9b0bL,0x76e8c23501aed422L,0xcb70fe5c64bf111aL,
  55438. 0xc6c025915b3c7eeeL,0xb53b8858f9ed8925L,0x51503afabb66cd7eL,
  55439. 0xa2479b22a6b3f2c4L,0xfbcb06c48eeee4e4L,0x00000000000001c6L },
  55440. { 0x29f2ff47198bb516L,0x1895fb6877671ddcL,0x10a1e7541e2b80eeL,
  55441. 0xb19efc72a7732627L,0x88f9176e1e0ef24cL,0x22ef41af1fa7183aL,
  55442. 0x994ea31c47d7c8d0L,0xe838b3f2e9793ae0L,0x00000000000001b1L } },
  55443. /* 2 << 21 */
  55444. { { 0x39f73a5667d26eacL,0xe15b72b9938fa0e2L,0x16e09f8b554f85dbL,
  55445. 0x0e6d1cee02a16cc2L,0xcd989df35e548e22L,0x9ba195fc3cacda0dL,
  55446. 0xcfecc6f94ce28d02L,0x8b8f51e0c91fa6d8L,0x000000000000019fL },
  55447. { 0x79f455b2c1a33bd9L,0x76514d33fe83b781L,0x3f5ec772f2ef9526L,
  55448. 0x2d1e47946ea54f2aL,0x472fb203c1e2d62aL,0x6e94a20beabf2c9dL,
  55449. 0x11da7502781a8076L,0x12ccf29a91ba87c8L,0x00000000000000ddL } },
  55450. /* 3 << 21 */
  55451. { { 0xc9518f3fb711958eL,0x74d3a13f0bc5dfb8L,0x7da464ac62025afeL,
  55452. 0xbfb139fa9a3e2fa5L,0xb30511cc9a8d7c09L,0x4d3a313f17e41faaL,
  55453. 0x7c53ff823a10c83eL,0x2e85a451abf3f866L,0x00000000000000d5L },
  55454. { 0xe2844777df1d2939L,0xc3a4ccfe21fdaeb8L,0x47b7e6138c8f6176L,
  55455. 0x038b43eb1b6571d0L,0x9f380474e3f47c8cL,0x623e3416b97bac68L,
  55456. 0x625b6bf1bed4caefL,0x6ac6e0c81664fcddL,0x000000000000011fL } },
  55457. /* 4 << 21 */
  55458. { { 0xe7bbf4a8d2249935L,0xbaa56999adb64049L,0x5e0ecae945f8df55L,
  55459. 0x20b22a2f64e2a249L,0x480102231420d76aL,0x24bd8f9ffb45acfcL,
  55460. 0x66e9c51167673f8dL,0x719eda3c1f02406fL,0x0000000000000138L },
  55461. { 0x56f88274d07c2fdfL,0x2b82612a54c1db4eL,0x0d4ae93896c3b009L,
  55462. 0xf97a730e5897ed7eL,0x3e3505c0396f9c18L,0x20d682e4daea8f31L,
  55463. 0x05fe6ea4e85bd289L,0x6e05507b14613e5cL,0x0000000000000164L } },
  55464. /* 5 << 21 */
  55465. { { 0xf0307ea7a3abdf0fL,0x25bc4d1d49de2354L,0x2b8ebd094b8160b8L,
  55466. 0xf437b69e3a63c866L,0x59c64b2fdf07da1aL,0x817d2723ba53a71aL,
  55467. 0x1ec10e309715b466L,0x852eb71d4b5f821fL,0x000000000000010dL },
  55468. { 0x3a53ed2dab617319L,0x0279fb691e3accc8L,0xe2746511030858a1L,
  55469. 0xd5411a7f4fd0acffL,0x8f31def309c66cf1L,0xf8b414cf85c0c9f7L,
  55470. 0x15222a47d2565b67L,0x732e7eb6471411c7L,0x00000000000001a7L } },
  55471. /* 6 << 21 */
  55472. { { 0xbc36eed32f7bf34dL,0xfcdedaaa7cce180bL,0x3b719b5b5cb22fdcL,
  55473. 0x6ae5bdd9e4111433L,0x865a0148381f4186L,0x170a523b9245c6f6L,
  55474. 0xe3be816ac2b1118bL,0x30e7aa62174efd73L,0x0000000000000033L },
  55475. { 0x1abfe12c4ca2f7c2L,0x60485268733b1f6aL,0x82690e31a1d38bd6L,
  55476. 0x3a55f831d862dc8fL,0xfb3e4436e03e590aL,0xf265ed1075222c2cL,
  55477. 0x41cf2d8753b1fb51L,0x12922d525a82041bL,0x0000000000000060L } },
  55478. /* 7 << 21 */
  55479. { { 0x5b6a6ca5ef7dc356L,0xc47b9c0f55c1a178L,0x89eb8747c07b52b0L,
  55480. 0x097775cf736ebbe8L,0xcb84611f506fbdb6L,0x2135b7da68c82d60L,
  55481. 0x1084122dac4454a3L,0x115da2f59c93e278L,0x000000000000016eL },
  55482. { 0x743591776721fbbeL,0xd051798061337a71L,0x78b344de3aa24943L,
  55483. 0xf41a1bfb0c600b70L,0x25f8d92f0af82b82L,0x1ca931aa74d2845bL,
  55484. 0x0a49f46da9adc76eL,0x78678a328a130e6dL,0x00000000000000bdL } },
  55485. /* 8 << 21 */
  55486. { { 0xb5f5385146d39a88L,0x58a99a0f9cc76debL,0xcfdd909ef3825b82L,
  55487. 0x8f49dbdcf4694014L,0xefd505fe9cfec7b7L,0x66a7f2a156925281L,
  55488. 0x6f478d9b2a604fb8L,0xcbc72e9e60f7c436L,0x0000000000000021L },
  55489. { 0x5bf75682d9c31e98L,0x74d5cd73c8bce143L,0x778bd5f1c700e94aL,
  55490. 0xb01480c73a66b233L,0xc667f078688df0ccL,0x780c73e416bbcf57L,
  55491. 0xb77f5ba9485890e0L,0xd62addf5b9ddacb3L,0x000000000000017dL } },
  55492. /* 9 << 21 */
  55493. { { 0x672c965fd2ab32f9L,0xab2a374db95c87a1L,0xe4fe8139aa132e05L,
  55494. 0xb98cbbc73f85bf7aL,0x725d68d9d7ccb3cfL,0x582b15ae213f62efL,
  55495. 0x11c9b3fbd26e9f8aL,0xbeaca8d74076121eL,0x00000000000001f7L },
  55496. { 0xa1ba33fa48888485L,0x9bdae7eee5ea2744L,0x4ac9910c709eeb17L,
  55497. 0xc40fb92fba0596edL,0x5ae8178f018b8c4eL,0x195d2620536bad49L,
  55498. 0x6ae6807272578ac1L,0x6c759dc05272df37L,0x00000000000000b9L } },
  55499. /* 10 << 21 */
  55500. { { 0x28b82948eb24a59cL,0x0bf25c631b236d05L,0xd387a58c49bfeed9L,
  55501. 0x2dbced2791685729L,0xa1cb27d76177f87aL,0x090e003097e13ddfL,
  55502. 0x20eb9c50449d6867L,0x83a4a7d47cf7d05eL,0x0000000000000055L },
  55503. { 0x65e05f87d0f35fe0L,0x655acaba791ab720L,0x55a8ce4f5da1223cL,
  55504. 0x995fb0091d34dd73L,0x20286c23a837ca4eL,0x9fb1050b368d1ad1L,
  55505. 0xc5fa244d09ee2148L,0x6cfa02a5fdb0a25eL,0x00000000000001b1L } },
  55506. /* 11 << 21 */
  55507. { { 0x22421cd9ffa96a6dL,0x9d55702c11437d61L,0x7321fa9eeefe0024L,
  55508. 0x6dcd329c64264faeL,0xc46bfa2b9df8f072L,0xae3d0b0bb712b9bbL,
  55509. 0x58872fd2843ca51fL,0xfd7ba4be6a587093L,0x0000000000000085L },
  55510. { 0x6a5d962f34e5cb31L,0xbee0621565638aaeL,0x1c6f68bce79e0fa1L,
  55511. 0x2a909815c8d586b0L,0xcd970a5f1e6c2e8bL,0x5d111730d4788cdeL,
  55512. 0xf1e99fa3f9502cb7L,0x2820507bb7a2fea9L,0x000000000000015bL } },
  55513. /* 12 << 21 */
  55514. { { 0x2840a083925c2709L,0xbeeb776d988e40dcL,0x9d2307cb281c1df1L,
  55515. 0x17b077868a93579dL,0xec15d5f787d44e7eL,0x78b701a8e8f57a6eL,
  55516. 0x514706b67b1c05ecL,0x7bde81a7918bd719L,0x000000000000014cL },
  55517. { 0x41d47f48d22c8109L,0x48389e6b0794bcadL,0xb520a2fd65114ee0L,
  55518. 0xad7526c779202240L,0xc25e665af69e5952L,0x180f827aab014a8dL,
  55519. 0x7ec96758db437718L,0x16b626051ae01bf2L,0x0000000000000159L } },
  55520. /* 13 << 21 */
  55521. { { 0x338766eecc06a7bbL,0x38189d60f59f6fb9L,0xca63fefc094f4b7cL,
  55522. 0xfadabb8f08ed44efL,0xf56c6c633c5674aaL,0x2ec1c71c3c5178f4L,
  55523. 0x9a2f00872b225bd4L,0x7cbf794d2016171fL,0x00000000000000d0L },
  55524. { 0x08fc4051c49781faL,0xacefd0a45580fd95L,0x2f99b4e639b0e279L,
  55525. 0x88bc9e961fdcb4f4L,0xf3a44b826f6877a2L,0xf16942811529b850L,
  55526. 0xc94ab84f2fac2a36L,0xdddea7e816a99317L,0x000000000000007bL } },
  55527. /* 14 << 21 */
  55528. { { 0xb6fa89c0c3d79838L,0x05627f88d9737181L,0xd82f21517555d940L,
  55529. 0xc6f6a5ca0013b808L,0x54dd8d247472b0c4L,0xbe50f040fb2fe264L,
  55530. 0x43656c23cfed9e37L,0x35bd9e4cb5cb0103L,0x0000000000000150L },
  55531. { 0xb9da98d1c1640493L,0x6f00d8cf3420374aL,0xf9b4f2fab2892822L,
  55532. 0xb2d967e790404bd7L,0x520b40fcf966a3e1L,0x4eb41624d081f30bL,
  55533. 0xfdf4f5d90f5d4fefL,0x49b561471a1cf19bL,0x00000000000001a5L } },
  55534. /* 15 << 21 */
  55535. { { 0x5312245c641ed37aL,0x88c4f135b0b9a3d5L,0x30d1dde090934ee0L,
  55536. 0x2b24f2af7109bd4bL,0x9894c85859f2fef6L,0x0c3a394918ea397aL,
  55537. 0xb69afb5c6556487aL,0x3e722abc2b37f147L,0x0000000000000014L },
  55538. { 0x4f3625ece9d75120L,0xe8bc9f6e760f4777L,0x5ec9f7ad26990adbL,
  55539. 0x12ce89f5a71fa52bL,0x162ca13a59e66240L,0x30e35e8e2c327a19L,
  55540. 0xcc9671c352274f0bL,0x1c3179a8ad16ddeaL,0x0000000000000043L } },
  55541. /* 16 << 21 */
  55542. { { 0x173ab94cd4820fa0L,0x6ac5ae1344f0e094L,0xf67c3f7164fc4c70L,
  55543. 0x2648a59a2ad78517L,0xa7b344939505580cL,0x8cab6b445a741d25L,
  55544. 0xfe41bd4563355fa6L,0xd2731f41d1091a6dL,0x0000000000000096L },
  55545. { 0x2550a62286e4f90dL,0x65fa978b80070b03L,0xf3ac57b5e3b526a5L,
  55546. 0x8e9207bcf84fa4bcL,0x675a8e31f88e6047L,0xf648cc7c9050ddadL,
  55547. 0x1fd62dbcbc5b7dc3L,0xcc0960d696f0aeabL,0x00000000000001daL } },
  55548. /* 17 << 21 */
  55549. { { 0x35b9693643afc702L,0x7ab761253f64bf46L,0x74536901af94fce5L,
  55550. 0xc398a29f000050c4L,0x253372e11f61a444L,0xbec32a601a7a968eL,
  55551. 0x30f79ca4d32cdd9eL,0x8fc8a273d36aa188L,0x0000000000000199L },
  55552. { 0xc1011950aa637877L,0xcb16308c8348afadL,0xbdc517d0d75d1a04L,
  55553. 0x2416e9476e49496cL,0x536ff3587ffa91ddL,0xebfa91de093d5f53L,
  55554. 0x153def3fb776f2e9L,0xa316de0622aae585L,0x0000000000000077L } },
  55555. /* 18 << 21 */
  55556. { { 0x993330c9fc3f22cdL,0x79577855bd4eda29L,0xa63d19d45c666141L,
  55557. 0x0ccb6a6a0146d928L,0xb074cc0b404bc7b7L,0x1f7a96006b8f40e2L,
  55558. 0xbd70c74eecad6cd4L,0x822420f05348f77bL,0x0000000000000151L },
  55559. { 0x4a3aacda27f09596L,0xaa0514071e083dd4L,0x0424ddfeb91831f5L,
  55560. 0x0131f82ae4d16705L,0xd233fc30983d9eb6L,0xfc5e1759f3dd3cd0L,
  55561. 0xa114e50adc95864fL,0x5ccf299fd01ca0b8L,0x0000000000000019L } },
  55562. /* 19 << 21 */
  55563. { { 0x4addcb6e89602aeeL,0x0ba1477fe7a864c4L,0x6896c0d0f2013ee4L,
  55564. 0xf5447fc09de2ee99L,0xf2325a0a377aab46L,0x96715e9cc03d1c27L,
  55565. 0x3c1b0e332e7c82afL,0xb8a1bc163c32e96fL,0x0000000000000124L },
  55566. { 0x5285e546d427a41bL,0x1e61fb9d07e6faadL,0x6fa31b8c157445aaL,
  55567. 0x613502752276672bL,0x53c4145cc150c553L,0xefdeade47ae2f69dL,
  55568. 0xedfc8ce4622f4c92L,0x30cacfbd5ecf6936L,0x0000000000000156L } },
  55569. /* 20 << 21 */
  55570. { { 0x49d65486dfd05db3L,0x18ecda88925480efL,0xe5b4aff93f652a32L,
  55571. 0x80fbd64756e37478L,0x62442ef6e9be38ecL,0x8dea0ede229ca487L,
  55572. 0x59628d74c45becfaL,0x235003453f7398eaL,0x000000000000014aL },
  55573. { 0xd54645dad2ee9439L,0x35245813ba3abc64L,0xe3fc1027aa7cd95cL,
  55574. 0xeecaee6787f95eb9L,0x9985e5e9fadb71b8L,0xfe172fffbd62ea7fL,
  55575. 0x08830ae729eba895L,0x32f7a9479ea9c27aL,0x0000000000000167L } },
  55576. /* 21 << 21 */
  55577. { { 0x770d7b309a9f0e06L,0x205abc30d3efacefL,0x2066b6add8556b1fL,
  55578. 0x2c8caabeea298703L,0xaf766f04735b610dL,0x7c5f3a1083028232L,
  55579. 0x92971e06f3c16a5fL,0xc5f89af1fb4e3fb4L,0x00000000000001f1L },
  55580. { 0x0a43e9f2974cc63fL,0xe8c4f4a95430a8a6L,0x7ddaf6fbfcb45c3dL,
  55581. 0x40f4d1e3666ef219L,0xe11fa195c2a08ba7L,0xe4176c0448cc0ad3L,
  55582. 0x31da8dd0809145e8L,0x528f736389a99e31L,0x000000000000009aL } },
  55583. /* 22 << 21 */
  55584. { { 0xe30c5fbf95151b35L,0xaaffaa4c155b8c7dL,0x4033f52aae3e24abL,
  55585. 0xefcad4675b76fa3eL,0xa0bcb1bd465985c2L,0x7640ccc01c9d6d1eL,
  55586. 0xae11fe7dc809f0feL,0x33f7a2ae8005b8ffL,0x00000000000001c7L },
  55587. { 0xc69cf35dc2423d81L,0x773a30c54c072a0bL,0xefdf7d157240291cL,
  55588. 0xdd1706dd64a77c60L,0xd313db32365ddda5L,0x3d4114c15a818bbeL,
  55589. 0x83081bbb0394b6b9L,0xf661d4963d411defL,0x000000000000011dL } },
  55590. /* 23 << 21 */
  55591. { { 0xe5de8769bd6b5de4L,0xbcc2c3222ca8a529L,0xc18bcfbfe5d4e70dL,
  55592. 0x9756709ea7699d37L,0x3b89a6dbe98a7c6cL,0xe184ab40dd776ae3L,
  55593. 0xfd37deff67292edbL,0x462b1ccb170fc654L,0x00000000000001fbL },
  55594. { 0x3009aa92647fbcf1L,0x8785ad4545f17f6bL,0xae5f59f29bda68c3L,
  55595. 0x77316cdb713844d1L,0xc3895dbe491a5e2aL,0x6dcdee854abfe1d4L,
  55596. 0xfcebdedbde5388b7L,0xf805a43359094b22L,0x000000000000019cL } },
  55597. /* 24 << 21 */
  55598. { { 0xf7ba638d767335cfL,0xb6fb9463733c2346L,0xa0e475a1ed81c85fL,
  55599. 0x5d2fc9f1cb58e955L,0x941fbdc675a1dfd5L,0x732d6cea0f14f1c2L,
  55600. 0x4c13e55921367160L,0x5ba5a950ef0e8d39L,0x000000000000007dL },
  55601. { 0x355dbbb2bbeb43f6L,0x0adaf151b3505972L,0x01976a0482f0d0baL,
  55602. 0x080824b6fd4be88bL,0x8392b272f4424f37L,0xdc69d67872f6efd8L,
  55603. 0x0a4b8ba4a06b0ca3L,0xb731404cad3fd7c9L,0x0000000000000119L } },
  55604. /* 25 << 21 */
  55605. { { 0x8c4b893e8438ab04L,0x426e9c015b7cbc7eL,0x3a294e956f565d53L,
  55606. 0x69f98657888e6f0cL,0x6a9486adf5b803f6L,0x687e5264ebcd577aL,
  55607. 0x6cdc93244a205a78L,0xe10a9e9101c97e5dL,0x000000000000001bL },
  55608. { 0x42d58686fb52764bL,0x157871b80b39ec31L,0x75a0505c0126704dL,
  55609. 0x96dfd8c2437c5a08L,0x5302bc74e97bb9d4L,0xcae0092ca0fbe05fL,
  55610. 0x4fbf134085caaaa1L,0x6d4de19cce5683a5L,0x0000000000000139L } },
  55611. /* 26 << 21 */
  55612. { { 0x45d1b5e3ae0d2bd0L,0xc13cdbc8ef5c8f0bL,0x662be7feef589951L,
  55613. 0x423d544a2ef4171dL,0xe796a4fd9bfaa54cL,0x5e9de83af9b57752L,
  55614. 0x2042c3e8074e5cbfL,0x6c4961a3ae564697L,0x0000000000000001L },
  55615. { 0xe64d92cdaa69b5edL,0x7ca022404de0366cL,0x385792b3c4de9d34L,
  55616. 0x75b4e2b8b781fad5L,0x77d2671da5772294L,0xc636df75604302d1L,
  55617. 0x35987ba57c003a82L,0xcb61e2501756909eL,0x000000000000011aL } },
  55618. /* 27 << 21 */
  55619. { { 0x399a20701976dae9L,0xf6f2e4571b71d3a9L,0x0bfd6fc7e9b58f96L,
  55620. 0x8164107dd991b706L,0x7fb03af7769ff866L,0x0af6920107c255c8L,
  55621. 0xdf5033bbe1aec752L,0xedd2e23d0349d656L,0x0000000000000030L },
  55622. { 0x48b220ca845c71bdL,0x60aab3582feac689L,0xc6d4210a5c225cfeL,
  55623. 0x5b76afddcd64d859L,0x006a820512c63e37L,0xfadfd8bbe741c044L,
  55624. 0x1bee33806de9fb14L,0xc9e8b7a6ac7fb855L,0x000000000000005bL } },
  55625. /* 28 << 21 */
  55626. { { 0x03e7b349f5aa1704L,0x2b9687f12b58ae4bL,0xffcdf578bed31f46L,
  55627. 0xa9fe8c654e9c3260L,0x6ba91059a84d3576L,0xbe8c2ce937adc2cfL,
  55628. 0xee24bad42fb77257L,0x44fd20b693ddc7b8L,0x00000000000001e9L },
  55629. { 0x0712f3d6af6ae6cdL,0x514a5d50bce47d88L,0x4c6cf0d6b218f3e1L,
  55630. 0x7d9faf6bbe3ebfe3L,0x819449e21731f3f1L,0x7f24451d0be0a5ebL,
  55631. 0x5fd2cc6d6f0fce5eL,0xb9ad4dddfc0930cdL,0x000000000000015bL } },
  55632. /* 29 << 21 */
  55633. { { 0x89bcb72f2965c1a3L,0x78ed158faec32473L,0x267c90783c9aaa3bL,
  55634. 0xd76fa6e14f0cd352L,0xebd853f87afb0f9bL,0x95af77ace6185ea6L,
  55635. 0xe4203b726f3b8b65L,0x7ac011da5e19c531L,0x00000000000000d2L },
  55636. { 0x6a32dcf32bb4a48fL,0x175e8a50892a8375L,0xd4c5362a9b6237f1L,
  55637. 0x82a7c950596608d4L,0xae9aded7238fb8faL,0xfbdad9713df49d9bL,
  55638. 0x53f6cf7db8a3ecdeL,0xdf1be8c023bb25c6L,0x000000000000001dL } },
  55639. /* 30 << 21 */
  55640. { { 0xe0af085cad265654L,0x96a9b06d0e9ba333L,0x0498e6bb80075bf9L,
  55641. 0x0774434cfcf89a88L,0x15763bab9d96f967L,0x7ad273ba38775e47L,
  55642. 0xa68abae987147b51L,0xc5afb6878f85dc73L,0x000000000000009eL },
  55643. { 0x189583a3e29591afL,0x6ab0c471c24ca220L,0x76fefacd27b4fd7dL,
  55644. 0xc550d3513e87b357L,0xae78a070f6961730L,0xc3a5de91c814eb1aL,
  55645. 0xdcf655c51e9f0ec6L,0x1603d1090f632d7eL,0x00000000000001dfL } },
  55646. /* 31 << 21 */
  55647. { { 0x655aac17eac519cbL,0x067206c2476f0c95L,0x4ae4ba9e51b4934fL,
  55648. 0xb1c15e7aa0cbfd9fL,0x7fed60c898298b00L,0xb3e6e1a265b6c888L,
  55649. 0xf518f046f462720fL,0x3639f35c665b8764L,0x00000000000001c0L },
  55650. { 0xdb15a3075d4b45e6L,0x84723914fcfdc41dL,0xcaefb6d932ec163fL,
  55651. 0xd1731f430c7b5872L,0x85d686fd05f934e2L,0x513e444327b0a36eL,
  55652. 0x2d051e22c7b3369bL,0xb4398e0fd3c6239dL,0x0000000000000184L } },
  55653. /* 32 << 21 */
  55654. { { 0xddd7a0733f0741e6L,0x6d74b1e2a4689d58L,0x6f6037646798ba3cL,
  55655. 0xdc038772b996b179L,0x6e7e797ae1668e1cL,0x551f4a8e3e285251L,
  55656. 0x705484e5e67fd032L,0xa65fdfcdebcceea3L,0x00000000000000eaL },
  55657. { 0x33a1c053acfc4123L,0x25030e6abbe1fd24L,0xd9d6af7100d3d90cL,
  55658. 0x063f818bade7d232L,0x99630ac3521ce597L,0xbb594d0eb9ea28edL,
  55659. 0x3f61acbd3a1fb8eeL,0x7e00686f88caade2L,0x00000000000001a8L } },
  55660. /* 33 << 21 */
  55661. { { 0xbf04c2f10188a108L,0xd97a675f9bd5cac3L,0x7cf307ba3d550f85L,
  55662. 0xd92bf5638175fa0cL,0xc0b15ced245f8262L,0x21bc381f3ac2e314L,
  55663. 0x0546ca1b630688d0L,0x175e7dc3c4b4496bL,0x00000000000001beL },
  55664. { 0xbf335d90428c7969L,0x0b0387dd9505806cL,0xa6ebd4a0fef04f3fL,
  55665. 0x019c08a6f16cd1eeL,0x159f950c8516a54dL,0x884c6b4c08e3a0ddL,
  55666. 0xb24a63a5f481327fL,0x0f59393fc58c7694L,0x000000000000006dL } },
  55667. /* 34 << 21 */
  55668. { { 0x9e5dfe7511482722L,0xd5cab6054b5e60d9L,0x4fc124c7091e9a56L,
  55669. 0x1bc8ffa6100bd803L,0x415d2974a1c1f05eL,0x5deb11b2328462a2L,
  55670. 0xad47e4ee7cb76829L,0xe28e8cb0734c35faL,0x0000000000000156L },
  55671. { 0x01bfee8e695d79adL,0x632fa08695129a0dL,0xdf01f6b258964d2cL,
  55672. 0xa535f7780eb0c0feL,0x437acc8b6f055b47L,0x1e090aa3051435eaL,
  55673. 0xabb69b8a1ab3ecedL,0x1ef06b846365da48L,0x000000000000018bL } },
  55674. /* 35 << 21 */
  55675. { { 0xb6a65d464fa97150L,0xb19c96e55e1dcaa9L,0x2a6a862687e3b1c3L,
  55676. 0xd4b9123d8d849559L,0x56b91af2419166f0L,0x84129be9531e2638L,
  55677. 0xfb4a404a41f85918L,0xd871249af9933f3cL,0x000000000000012eL },
  55678. { 0xefc9fb3fc819be78L,0x3c47fb8f43aa377fL,0x431fa13f86e32edbL,
  55679. 0xa6fca0c0f64f51c5L,0xd04a845a6d65828aL,0x2c545f532d623133L,
  55680. 0x979e09ca20bf1330L,0x64b6bd355d28805eL,0x000000000000004fL } },
  55681. /* 36 << 21 */
  55682. { { 0x2303e5e45b1a63a6L,0xa8610396589d2437L,0x27c48ce9d7d1d687L,
  55683. 0x5032499a49a2c92fL,0x30727e711af2969bL,0x2668c8f074c335f4L,
  55684. 0x9d11c2808dc25fe6L,0xc1523a37506d1e4dL,0x000000000000010bL },
  55685. { 0x8709ecf62fa178dfL,0x0eb58c3af8acc7d4L,0xed6a352bd28b9c62L,
  55686. 0x9b232108faaa811eL,0x0cb3f9aa038718f6L,0xd05191930f05ad17L,
  55687. 0x67bf6bec1293e6a5L,0xa3508a7f9abd18f3L,0x00000000000000dbL } },
  55688. /* 37 << 21 */
  55689. { { 0xf1555428b42a7bd1L,0xca229f80867797e1L,0x23196735437fd7e0L,
  55690. 0xd6fc95759fda4046L,0x8731b144c2ba4501L,0x748a43a0bda4783bL,
  55691. 0x52878286165a1976L,0x345e999725fe070eL,0x00000000000001d8L },
  55692. { 0x0193b975d77d2d63L,0x9d406d507cb07465L,0x5d583f3f36396728L,
  55693. 0x236de10de9208950L,0x5f11d5c8ad10ddd5L,0x5d6a91ce792b9f41L,
  55694. 0xf7889239e0f9ed3eL,0xa6278c8f7ed1f09aL,0x000000000000003aL } },
  55695. /* 38 << 21 */
  55696. { { 0x4658a9436e35bfe0L,0xf279bf8ffef18cceL,0x3d61d8ba12d3e8a1L,
  55697. 0x67988c8558473f0cL,0xecd48fb0d8032914L,0xb5c547e7a044eadbL,
  55698. 0xf1f61987b5cf8144L,0x90c69abfbd65f4c5L,0x00000000000001d6L },
  55699. { 0x6dec092ab30cf08aL,0x5a64596a78a36a3eL,0x53cfc2f19e10edc3L,
  55700. 0x82422ac095ce9b54L,0x0b10c3c0c6b2c86cL,0xc4dfc68d6242e7f4L,
  55701. 0xcd0fc4557cc7de9fL,0xe0a9c2568e4beec1L,0x0000000000000147L } },
  55702. /* 39 << 21 */
  55703. { { 0x7dcd4b4eb68ba235L,0xcaa7d77bd7b38b21L,0xcd6cb4594112e083L,
  55704. 0x04b016fdda7d8cafL,0x5c12612e23c89818L,0x02ba59c59b3e18caL,
  55705. 0x834f4c029a9ffffbL,0x5da192d72e725278L,0x000000000000003bL },
  55706. { 0x3aede0a9980ddff6L,0xcc057c5354ec8b06L,0x7467ec0755f24b26L,
  55707. 0xb3e3163b82166403L,0xf3b64bb023f83247L,0x92f1e85be0a32218L,
  55708. 0x7995216504903b6eL,0x0e3d1d200ffbaf22L,0x00000000000001d6L } },
  55709. /* 40 << 21 */
  55710. { { 0x1730b2a5c9b816e5L,0xf2c2a1bb5531ee33L,0x1da21329659e0b2fL,
  55711. 0xbec25192c88bce0cL,0xddd4b9e6ac6f52abL,0xf15bd68f9e4b9f7dL,
  55712. 0xea9e12e67d249b4fL,0x56a65055451abab2L,0x000000000000015dL },
  55713. { 0xc4d7dc72c4b6910eL,0x5fd335922ddff22eL,0x43e429e2b8287af6L,
  55714. 0x258a4647a1585685L,0x31f72f413b62ce95L,0xf63172fa57933b4fL,
  55715. 0x54749d3a0c5cb4d8L,0x514da5d28cc931c6L,0x00000000000001deL } },
  55716. /* 41 << 21 */
  55717. { { 0x896165235e844515L,0x0445b78da349dfaaL,0x2d97809a98cd85abL,
  55718. 0xa26356f9acd297c9L,0x23138b25dfcf5a42L,0xf5c56101752030d3L,
  55719. 0x561b7e4288014607L,0xda38360218c12c54L,0x0000000000000052L },
  55720. { 0xa13a8ae1f3c90e7eL,0xdc8c1d54456ccc88L,0x88f1c0dc733a77aeL,
  55721. 0x55e1567fceb2924fL,0x300ab8cef0291fc2L,0xe4710c77ed9f68aaL,
  55722. 0x623ef9b378f1c0afL,0x90b6c115031e610dL,0x0000000000000055L } },
  55723. /* 42 << 21 */
  55724. { { 0xaf881c6a5ed47898L,0xd583a12d314be8cbL,0xc871d32a13385ecbL,
  55725. 0x4a3b26ef9abb78b6L,0x10bea9273313c278L,0xc5e4fef09e2de3c5L,
  55726. 0x899e5a357f670b65L,0x7af654120a813003L,0x000000000000000bL },
  55727. { 0xab30982a8e0cd895L,0x3ab1a9f32bbae855L,0x1cb2164cf9f45ea1L,
  55728. 0xdad048026dc7de22L,0x31422acf309178deL,0x86ba73a70880dc8bL,
  55729. 0x53255902a44f7762L,0xf8b3d2e6ac090679L,0x000000000000015fL } },
  55730. /* 43 << 21 */
  55731. { { 0xc81e8be2e96fc1efL,0xe9b8e8ecdf4a79a0L,0xcef3624371875b4bL,
  55732. 0xb76d0eb976c9298fL,0x04a9f25a7a2f4f86L,0x5ebfbe16b98eed69L,
  55733. 0x591258f21cb923a3L,0xd2704654ca8f4451L,0x000000000000008cL },
  55734. { 0xa74e395adab82d0eL,0x1838dbcba15563c4L,0xcb3ad95626785cf7L,
  55735. 0xadb39a9392ecd059L,0xbf1440198a788f6cL,0x75a7eb68cdfe152fL,
  55736. 0xb637e415a521d720L,0x2224b489166357b1L,0x0000000000000144L } },
  55737. /* 44 << 21 */
  55738. { { 0x7201e2d03e49e1acL,0x11258a5fa85d74edL,0x3d5f97d1aa5d5c55L,
  55739. 0xb0353c296874d83cL,0xbb008111fe79c52fL,0x1bb9d0a52da4d5d7L,
  55740. 0x6c0efdbd45897053L,0xc65636e774481945L,0x00000000000000c9L },
  55741. { 0x71b21b9b33347b52L,0x84ca3f41d1ced26cL,0x49d65cb043c68921L,
  55742. 0x601a6edc743b9e48L,0xa97dc603e90fc101L,0xb42db9c7d4aa7153L,
  55743. 0x4440eced6c624cd8L,0xcf52d4b8c03036a6L,0x00000000000001e2L } },
  55744. /* 45 << 21 */
  55745. { { 0xb6b5541f80eea99bL,0x5e05ba1d0d5c66e2L,0xda681cef35ca870fL,
  55746. 0xe9ce25959f52ac0eL,0xaa144a0897103546L,0x2e8adeea8bc0324fL,
  55747. 0xde71c23196352390L,0x5ffc158b1190a231L,0x00000000000001eaL },
  55748. { 0x5a6d7ebfd3c77423L,0x087f3be2aadf36cfL,0x44b7382ecac813f8L,
  55749. 0x9a7ea85fda66aca5L,0x7e5e106813af7225L,0x40e6c5730690c976L,
  55750. 0xe2bb8ee55cda95bcL,0x89ab8fbbc7d15d87L,0x0000000000000131L } },
  55751. /* 46 << 21 */
  55752. { { 0x2b26bc1e17ca1ea5L,0xabb1ea0d563a9b23L,0x4cc07a7612c5592cL,
  55753. 0x752dcb1940938649L,0x8fc2268dba4358cfL,0xc345a36ba21931cdL,
  55754. 0x89df99fef439d9cfL,0xd9befa2b4f0c2580L,0x00000000000001c4L },
  55755. { 0x01e1ada7484a52cdL,0x4e80d9c73ea4c56fL,0x48c0b1526b8a8abaL,
  55756. 0x8a3649d3a4a434e3L,0x9c200c7ff18df9beL,0xe4cf8e1570e9b087L,
  55757. 0xe5ac0206645b233fL,0x1ae5ea925372333fL,0x00000000000001fdL } },
  55758. /* 47 << 21 */
  55759. { { 0x56086f88e91f967cL,0x5b068412777b581aL,0xdc912cb06758892fL,
  55760. 0x619754c616bcc341L,0xd9e47125e612c547L,0xc12c85685dc7a039L,
  55761. 0x40e97019a27fd186L,0x7959dd2a02b1678cL,0x0000000000000006L },
  55762. { 0x586f5aa0a27d91b6L,0xc2305d49c6dda71fL,0xf2d049553d6d14cfL,
  55763. 0x9e617cf9d31a1d03L,0xa356ea57cf1d8491L,0x65704bd38b75a624L,
  55764. 0x5fa767156b36400aL,0x975fbf3565a5489dL,0x0000000000000180L } },
  55765. /* 48 << 21 */
  55766. { { 0x0febef06cb4a809eL,0xa8af434c261b4facL,0xe3b7185059d1e70bL,
  55767. 0xb62f01e45d1c24f4L,0x8abe4e3db303a2ceL,0x91a5a10f36e2c2a8L,
  55768. 0x710bd5ca7e472ba9L,0x14a31aa677a05ff7L,0x00000000000001bcL },
  55769. { 0xbadec183453e07baL,0x54c92ec41e3087a2L,0xb87b0b724a6e06a3L,
  55770. 0xe26c6162b5507e77L,0xeb64a07175faedaaL,0xde1c75464988a08dL,
  55771. 0xe99b34851ff0a98fL,0x29a660c2053f0e60L,0x000000000000013aL } },
  55772. /* 49 << 21 */
  55773. { { 0x06ed9df68c85e279L,0xde8923fb07d26dabL,0x9de21f265df321eaL,
  55774. 0x46573469d2739ec1L,0x9bd77ab28eaffbefL,0x99493fc132417837L,
  55775. 0xdbdb09c5fa664abaL,0xa128e72276e35b38L,0x0000000000000108L },
  55776. { 0x89bd3d466e299be1L,0x909cae0e56999cb7L,0xd14abf38cde8b394L,
  55777. 0xb449bc09d7c8d422L,0x0a2f935904ef1f5dL,0x164492d22c962ea5L,
  55778. 0xc334ff1d4322bdc8L,0x0ac21031d0e9b113L,0x00000000000000ccL } },
  55779. /* 50 << 21 */
  55780. { { 0xf0185304edc95e01L,0xc200becd9186d5d5L,0xbc9946c03722a9d4L,
  55781. 0x73d2b80aee0c0f7bL,0x3ffac114c25f680aL,0x86a201b64940567eL,
  55782. 0x1744de6eddd392baL,0x9a30fb2334cd027cL,0x0000000000000078L },
  55783. { 0xc5e2e29d26372a22L,0x82a3e1cb9ea293dcL,0xd470ef090b09afa0L,
  55784. 0x44a6a43be89990a9L,0xffabe7ec82f9f8bfL,0x8c1227e6f274a2b8L,
  55785. 0x73b2f7bba3b60869L,0x1b2510533ae49e15L,0x000000000000003aL } },
  55786. /* 51 << 21 */
  55787. { { 0xc6ce482996fffaafL,0xc3f952ef261e06b1L,0x0d07b3310380850fL,
  55788. 0xa2e1b0974bb1fc31L,0xf060f318c059a3c1L,0xef8ae3b2316feff5L,
  55789. 0xc8cf197fa5686663L,0x5f974b59e2cba233L,0x00000000000000e0L },
  55790. { 0xcc26bce6f24e9213L,0x5d59296170c1bfbdL,0xbb4681d331d2656eL,
  55791. 0x4271c96450f0683fL,0x5a9976d944783a96L,0xd3ed0a6a41eea6ecL,
  55792. 0x9f24f797beae86afL,0xf38112f792dadcecL,0x000000000000001eL } },
  55793. /* 52 << 21 */
  55794. { { 0xba2cf7c45cb6324eL,0x7bba7a0805b7da17L,0x53084c6758c59b62L,
  55795. 0x2cd1c9a43cab8df1L,0x0cfd3c151f38d256L,0x373df9d2a34a65bcL,
  55796. 0x88a92c31e815057fL,0x11b2a0e5b8c0cad1L,0x00000000000000c5L },
  55797. { 0x97f74ae939d6533fL,0xb04e5e9516c73570L,0xf7a53b4ffa446dfbL,
  55798. 0x61dba2b24b4d094aL,0x24fcf80996f67da4L,0xea60ebf50b21ab78L,
  55799. 0xe4d76de60bf97bb5L,0x95032a893c1883bcL,0x000000000000008dL } },
  55800. /* 53 << 21 */
  55801. { { 0x55ae0b1461612346L,0x9b0f5c01b19b690bL,0xed0a114eb5185164L,
  55802. 0x852e56403471d444L,0x54c370df67c7af55L,0xf3573f9e9df278c9L,
  55803. 0xf658b02c593c852fL,0x353dc49805bbf9f2L,0x00000000000000ccL },
  55804. { 0x3f5d30ef08d3da4bL,0x40be4093f479393fL,0x67b87661778da315L,
  55805. 0xf50ef8637512f2ccL,0x4c8c728ab69c92c9L,0xb8a11ef63cbf14a8L,
  55806. 0x75df83bc26cd8287L,0xa4cf8319c99c3d51L,0x0000000000000054L } },
  55807. /* 54 << 21 */
  55808. { { 0xd5b6600ff0c1462eL,0x532c6476588cdddfL,0x97737ad126ec65e9L,
  55809. 0x88033b8f801516dfL,0xf9c06f4a55cfa617L,0x5be87436cb5d8557L,
  55810. 0x4245d3d2f48c909fL,0xeb3b54849a6b09b1L,0x000000000000016dL },
  55811. { 0x377762c7c7ff074fL,0x62240f289ec0af00L,0x47dfdc3ecc3b8a22L,
  55812. 0x70a10d983d40f5bcL,0x61657aba05e18781L,0xb7c112fa31910613L,
  55813. 0xdc29680dfb3b31a7L,0x00aafce3d41fe224L,0x0000000000000102L } },
  55814. /* 55 << 21 */
  55815. { { 0xcb71ba5711096104L,0xb0ce7ba638a2b20aL,0x808983acaa6ba1feL,
  55816. 0x21cab98eea2ddbe8L,0xf7e656439f7d2f9aL,0x687d4d7ac9df8af6L,
  55817. 0x342af3932ccf2d82L,0x0352c43ac6a8fbdcL,0x0000000000000052L },
  55818. { 0xa968c9be5fb47434L,0x3135271d91ca8cbeL,0x7cb25ca5e3f8970fL,
  55819. 0xc427d97cb50ea245L,0xc5144f82bfadd4b8L,0x54473d162937e958L,
  55820. 0x9b5c789b8cb41622L,0x409ccf55ddc0786eL,0x0000000000000114L } },
  55821. /* 56 << 21 */
  55822. { { 0xd495b0ec16eba181L,0x834a505a76f4fb91L,0xd1950cf8db3b0c92L,
  55823. 0x5108e0cdbf6bd68fL,0xd8492e459f777ac3L,0x2caa1a4e184f5a9bL,
  55824. 0xfbb91ea5ce860f91L,0x05957c32597025f9L,0x0000000000000097L },
  55825. { 0x1774a862b07d29ffL,0xcb4eda89cbcc928eL,0xa19276a102ad819bL,
  55826. 0x3d0cacf6f5af5b3eL,0x8dcec31f3bdbc653L,0xaad437092f1ade3eL,
  55827. 0x544e97c3574e10b1L,0xd4364902c62c4debL,0x0000000000000077L } },
  55828. /* 57 << 21 */
  55829. { { 0x1c617b0ec7454b5aL,0x192f8da5688d212fL,0x8bb3ad324dffab82L,
  55830. 0x921d0b102ac4cb94L,0x11a93e54698b156dL,0xbbffdd46ba176214L,
  55831. 0x29fbe579b563b65bL,0xf339c5ead20f3224L,0x00000000000001fdL },
  55832. { 0x425dfbffb94c9ba7L,0xd5bd477b25caf944L,0x99c838ffe4b5755eL,
  55833. 0xc25eb25038c573fdL,0xb5118d7f75ed773bL,0x44f6e5e8e6ea5b48L,
  55834. 0x2ca7102a8a7e4c4aL,0x0124d2c29c4f4fb8L,0x00000000000000c0L } },
  55835. /* 58 << 21 */
  55836. { { 0xa364e55cbfc650f0L,0x1a2b834413857077L,0x0f38bd537e8e2025L,
  55837. 0x61829061f7c11262L,0x7e9710e7c3c52c38L,0x9d61eb0b5437249aL,
  55838. 0xe968f5e104c73e0dL,0xc086474678394fb5L,0x0000000000000185L },
  55839. { 0x08333228a65f7f47L,0xcb026a48269ef9c3L,0xdf7cf0f3902d129eL,
  55840. 0x7fba1a847a5fd75eL,0x3f7338c577e5e332L,0x24a06483c7545ae0L,
  55841. 0xb84bdda926f22ee7L,0xef0538ff3c3d5295L,0x00000000000000e2L } },
  55842. /* 59 << 21 */
  55843. { { 0x7cac9163c6f9388cL,0x91c49193705210dcL,0xa5c1088c1358a451L,
  55844. 0x7b6710a56e928e99L,0x98d4263179fa67b4L,0x31932728f9f623b3L,
  55845. 0x27ed2f252417899eL,0x6900af3df6e9651dL,0x0000000000000044L },
  55846. { 0x7021421eb17ee12aL,0x9dfd837bbcafe310L,0xe54f136b84cdd344L,
  55847. 0x0943bddb5f7875fbL,0x23786b2bbd2ff324L,0x758d4cf386597884L,
  55848. 0x8e831868849cb1f8L,0xfbb48f93c01a2e6fL,0x00000000000001b9L } },
  55849. /* 60 << 21 */
  55850. { { 0xaf3720cc32afdff7L,0xcc84e0db51d60c35L,0xedf89c0a595d2b23L,
  55851. 0xfbb1fafb0c9c0f55L,0xe3556b3b8b9b6aeeL,0xc208eb382f5e0a50L,
  55852. 0xa8ee4fa226e707feL,0x65ce95e5b043519eL,0x00000000000001e4L },
  55853. { 0x05eb17d3ca16c880L,0x617a63a31f1e4c1bL,0xb8aa601ff35ebf94L,
  55854. 0xaf515b4fc5022f1aL,0xc98f8f0a17a2b7fcL,0xa768b9ca67e03fd5L,
  55855. 0x67e6d9afb2e5670fL,0xf069de05d217f764L,0x00000000000000c1L } },
  55856. /* 61 << 21 */
  55857. { { 0x90211eba92f1a89dL,0x8a3418ed81b3b80aL,0x0150ed13b0ea17d5L,
  55858. 0x5fc05e99bddb5ff9L,0x3db25dcec5bd9918L,0x50bdec38c09beb7fL,
  55859. 0x34650128159c352dL,0xdf63ab922366df69L,0x00000000000000f1L },
  55860. { 0x15595a9127aaacfaL,0x4b262b893f0cad94L,0x750f5c4e8ffe4bbdL,
  55861. 0xc7c6cbdf6617b6f5L,0xc96e50343fc54c60L,0xc0bc517912e64bc3L,
  55862. 0x145b25c60d79b77cL,0x049ab957d4b9a2fbL,0x0000000000000044L } },
  55863. /* 62 << 21 */
  55864. { { 0x127e4b38a542a8b1L,0xdd85f0c3e2f444f6L,0x44ee07fdb6e479fcL,
  55865. 0x59ef243a40f4a51dL,0x1e0e83ac6f8ae9ffL,0xc7de39577fae0abbL,
  55866. 0xc911c37f62b89c14L,0x998e3826b3ff9facL,0x000000000000010cL },
  55867. { 0xa45e8947bb8b084eL,0x5a4ef9bf80029d67L,0xc371f57529b4c9c3L,
  55868. 0x1b4c0fbe77732c86L,0x3bd5da09a6282a9fL,0xd668e0a2ffac1e00L,
  55869. 0x2df2a2a08aae6398L,0xa4ab9fcd898755b4L,0x00000000000001ebL } },
  55870. /* 63 << 21 */
  55871. { { 0x1935900b9cdb1e23L,0xa2ad33fe0d798a47L,0xa53f7a0a7d291929L,
  55872. 0x320277e12e3a69e3L,0xe5139222cfcf9a38L,0x2ff86f3bdb790cd4L,
  55873. 0xc0bf4565f22c11d1L,0x565340d652a81f8fL,0x00000000000001a0L },
  55874. { 0x16ce3752e31fc3cdL,0x948e3a7d7e402490L,0x2e2c0f7e5343bb9bL,
  55875. 0x17956f666ce73ee7L,0x93ca1925cce89b93L,0x6b3d128c41464004L,
  55876. 0x11370aca5c4abe8cL,0x70abf93623032806L,0x0000000000000124L } },
  55877. /* 64 << 21 */
  55878. { { 0x87daa931dbbc43b6L,0x882a2421d1895005L,0x6013f2ba7aae1124L,
  55879. 0x01d2a8f0bad34df3L,0xdb1b7f432f0b3d59L,0x59039f352a95ac2cL,
  55880. 0x555077aaa6c0a8b9L,0x543b69a862685a03L,0x00000000000000e0L },
  55881. { 0xbb104059ec48d2afL,0x691c1f18930fa171L,0x8c434c7637d9fd85L,
  55882. 0xd1e56d52068741abL,0x1117a9fc130e01ecL,0x126d517b1f510538L,
  55883. 0x25ce40cef290a27eL,0x0d0b0d8ae90e675dL,0x0000000000000028L } },
  55884. /* 0 << 28 */
  55885. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  55886. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  55887. /* 1 << 28 */
  55888. { { 0x93d61c073ca98249L,0x04c4f43d907aa44aL,0xee3d2c3151d5b1d6L,
  55889. 0xe74d6892f859df2aL,0x16ab4838922f8fa9L,0xb0b6f7d1757b0010L,
  55890. 0x7ca940d8a918f320L,0x45e9325b97b8c9b5L,0x00000000000001e1L },
  55891. { 0xdb18d7bf37316056L,0xc34532048fc0eb89L,0x3929db79060e2db1L,
  55892. 0x2ccbf668b1e67403L,0xc7ce019a9b05f538L,0x9377f4464dca0ffeL,
  55893. 0x42947eb68a570683L,0x6eb25e34e0a1bf92L,0x000000000000009aL } },
  55894. /* 2 << 28 */
  55895. { { 0x8b60dc2df6130e66L,0x8ed41be47b6448fbL,0x0862c67e5ea7dec5L,
  55896. 0x97cd528272e431edL,0x944a76da0bff84c7L,0xc168a8fda2075162L,
  55897. 0x21af8de713ad271dL,0x27ebcd24437e9e66L,0x0000000000000044L },
  55898. { 0x399007d74c7b3dc7L,0x5128a9febafa8850L,0xb7e7cff44db4a4b4L,
  55899. 0x923571173410d116L,0x47320eacb450efedL,0x47ad42e6f8042421L,
  55900. 0xe4ef55c263b6aa24L,0x7a97987c3f882833L,0x00000000000000b9L } },
  55901. /* 3 << 28 */
  55902. { { 0xc76e5f4d022667cdL,0x2c78870a3e07fb1fL,0x9e001396d1c68926L,
  55903. 0x707a9c2eed2a502eL,0xaa9a37f8e68933fbL,0x1ae458ac4e4c8f98L,
  55904. 0x8047ed5da71656eeL,0x06826324a9df9d4bL,0x00000000000000adL },
  55905. { 0x2c4cbd9319c176efL,0x8dac64428092be6eL,0x0c349ee87a074bffL,
  55906. 0xec35b47c0129e1a0L,0x4096e01235253255L,0xb3e6e7fd06b23b09L,
  55907. 0x8b36eac316fd165cL,0xb7d5f97294ad125cL,0x0000000000000154L } },
  55908. /* 4 << 28 */
  55909. { { 0x58241d2f43416440L,0xad00daccf36bb0ccL,0xef105aade1b517a4L,
  55910. 0xa88fb367418524a2L,0x960efc2bd69f903fL,0x58b761e2bb316fa8L,
  55911. 0x634a724e43593289L,0xa341dd2178b2c871L,0x0000000000000178L },
  55912. { 0x29de72f83261324cL,0x53767dbc0ee348c0L,0x7f5a005b2ebc04f2L,
  55913. 0x8c6987a70f7b3b9aL,0x0f387e9d7e48f271L,0x644134585b456a10L,
  55914. 0x015a5da5d0a2a3c5L,0xb236cc58708be977L,0x0000000000000057L } },
  55915. /* 5 << 28 */
  55916. { { 0x13c413632bb30ebfL,0x1c51e2fb84a62b56L,0x0ffaefe0883cb2caL,
  55917. 0x23a651151997f036L,0xf030712c9c64e7e3L,0x06320295457aaf0dL,
  55918. 0x945bd82fb2498539L,0x2995df47623a481dL,0x0000000000000161L },
  55919. { 0xf962f403feb7f8b3L,0x244d8a3a872dff16L,0x59fdaabc89f6ddcdL,
  55920. 0x41661bc87db8acbfL,0x1b641d50c256c87fL,0xd7f8aadb27ccdb57L,
  55921. 0x4daf613731f353c8L,0x33d401882a2a6f9eL,0x0000000000000125L } },
  55922. /* 6 << 28 */
  55923. { { 0xbd4062286eed0f95L,0x8693a9d97c6c1c3fL,0x0392e931c066dcc8L,
  55924. 0x2e1eedc6cc819d2eL,0xc7a315d6069e2217L,0xa7495b1808e6f72dL,
  55925. 0x364f38117051ff13L,0xeeeb3cc4bb59d612L,0x00000000000000acL },
  55926. { 0xfd9e0c1078616d6cL,0x585de5ada8d4af09L,0xd08d9021c3143504L,
  55927. 0xb38fe6557f67ffa2L,0x5682040cd0fcb4d0L,0xd56c8348e6329179L,
  55928. 0x76229a732621c84bL,0x0c98cb02de4cc81dL,0x000000000000000aL } },
  55929. /* 7 << 28 */
  55930. { { 0xbfb85a9ba8f70eb0L,0x9fa45d83e59b107cL,0x90207916cff39e25L,
  55931. 0xdf20520f61816661L,0x250a81b64d88eddfL,0x3583bce4d4c88e4fL,
  55932. 0xfcafba316121deecL,0x40e71ea745ff2c20L,0x00000000000001d6L },
  55933. { 0xf91f204550452ed6L,0x4c7be74a00fca85dL,0x6ac750dc0fcc66daL,
  55934. 0x829ccef87bb3a7cdL,0xf232419e97039a3fL,0x1647039db5f00ad5L,
  55935. 0xc72ebf12dd7f9785L,0x42bbfd03c675e619L,0x0000000000000119L } },
  55936. /* 8 << 28 */
  55937. { { 0xb2308971ed0d691fL,0x31c3c54e8cef282fL,0x5cc3d26a97a5ed69L,
  55938. 0xb611a35d43da55beL,0x97492fe68fe11b61L,0xc10a18f0e26f0805L,
  55939. 0xb6e0f2a2ea78e6bbL,0x2570f42e71c3f3daL,0x0000000000000043L },
  55940. { 0x30048b23d0630da9L,0x3756d05e0f635ba8L,0x1e6e383a8ce0e80bL,
  55941. 0xcbe43361c723d456L,0xb1f089e45cd18501L,0x53132cf36ff2c160L,
  55942. 0xc759b7a24a0406d9L,0x17917e066dc5143eL,0x0000000000000141L } },
  55943. /* 9 << 28 */
  55944. { { 0xf8c5b2eb11628dfcL,0xc66d10fc0a42e49bL,0x44c184b4e26fe77fL,
  55945. 0x22ef369da4d3daf3L,0x6662870a2cbe0115L,0x80846b9736ca9e6dL,
  55946. 0xbbafd1317ed388a8L,0x4da614274029082fL,0x000000000000011cL },
  55947. { 0x68db20a0c06f365dL,0x46005f812ffb8bb6L,0xa0a17ce3bec18577L,
  55948. 0xb7627d8dc3cf8b54L,0x441830cdff30d00dL,0xa53ed5cd8f7a941dL,
  55949. 0xfd1147c999071de9L,0x619db4eb77dd8ad3L,0x000000000000010cL } },
  55950. /* 10 << 28 */
  55951. { { 0x7fc5ba6013564f62L,0xe82397841238d231L,0x8249f141e7b6cfbcL,
  55952. 0x37e1b845668154d8L,0xa99523bc5095c5eaL,0x1196969c76fb9d42L,
  55953. 0x6428aa7c92185a3aL,0x428e78d88246676aL,0x0000000000000095L },
  55954. { 0xe44cef632b1e5685L,0xd9665e7e0d228ca1L,0x066367719dfacf7eL,
  55955. 0x42b09d00fd5605acL,0x0b101edce65b8e60L,0xca4d0290e2210994L,
  55956. 0x50ed6bc6cf9cc92cL,0x2ca63c9ebdebc35bL,0x00000000000001fdL } },
  55957. /* 11 << 28 */
  55958. { { 0xa32a9d65fd85284bL,0xb08333a5a4fae26cL,0x8aca0a12ef75e239L,
  55959. 0x9035b7385a77bb33L,0x466f97979aa71a08L,0x375dd05662f91bc6L,
  55960. 0xd93ea401f5cb1c8cL,0x7ed00ca316d691c4L,0x00000000000000d1L },
  55961. { 0x8ccbd8fae0a3542dL,0x948625d070b071d9L,0x8654df26586a94d4L,
  55962. 0xd6fbfc0f80290be1L,0x2e103eaa260729e8L,0x342394e5f5f52aa6L,
  55963. 0xfaa21f70fb684270L,0x1348fabd7c862797L,0x000000000000002eL } },
  55964. /* 12 << 28 */
  55965. { { 0xf5e5237b52fecadeL,0xe0a50e6e4db2795eL,0x7481845f2a4c1493L,
  55966. 0xfea36aefaa8fba83L,0xe7a2e20bee8eab2aL,0x3f4ceb5766a0ad1dL,
  55967. 0x9be294e7c15afc26L,0x7952338d711c1de5L,0x000000000000016aL },
  55968. { 0x8a9806bba64d25ceL,0x6e72057d8eb8e0acL,0x46eb31f2d3f7e99eL,
  55969. 0x4a408b8d7c3f1998L,0x5df31a262f59604bL,0xd12dc298137d937aL,
  55970. 0x60c9a1480678810fL,0x3011046b48418a2dL,0x0000000000000139L } },
  55971. /* 13 << 28 */
  55972. { { 0x317b098c5ca5f978L,0x18fd83202c21b6e9L,0xc147ab01f1193accL,
  55973. 0x7ef3414deaff0d9fL,0xef1a3d6fe28e9173L,0x2603ccbeb25fceacL,
  55974. 0xf825502d5affa9ffL,0x539a125e066a68e2L,0x00000000000001dbL },
  55975. { 0xaf4b16bfa90a3b2dL,0xe0d81048ff63d1faL,0xb203e68707286721L,
  55976. 0xec631a327bf45b93L,0x4d38cb033b10b512L,0xe08eb57aca57f26bL,
  55977. 0x737d9cd0d7d6ddd0L,0xb00845a86c572d39L,0x00000000000001e1L } },
  55978. /* 14 << 28 */
  55979. { { 0x6f24af3eec231c64L,0xa4edad38e7c7bee4L,0xc6ba273ed1eead3fL,
  55980. 0xf68b581f08c4d123L,0x1db45c2364b13567L,0xcd3d42cb5772318eL,
  55981. 0x5cd6e6cb007bf13dL,0xf02d313b071bfdc9L,0x00000000000001aeL },
  55982. { 0x09083eda4ed3782aL,0xbcdf9ce75b29280eL,0x014232bc63b04675L,
  55983. 0xbd4bdaeceefec679L,0x8712c19ed47c5385L,0x4bb00b447ae76a01L,
  55984. 0x1f847ebd2fb2cf2cL,0x9f2b12b9a7a56439L,0x0000000000000050L } },
  55985. /* 15 << 28 */
  55986. { { 0x6ee9325abf53583dL,0x3b7ef054921dd595L,0x95c35ce8c0abc07eL,
  55987. 0x08a3a510646fe810L,0x77fe478185ec11baL,0xe382a5134e870f3eL,
  55988. 0x4eeb7787a9f1b8bdL,0x8521f39d9d8f6459L,0x0000000000000068L },
  55989. { 0x10aae6d8428a37fbL,0xf0578f9fd66092f9L,0xb90f50ee1ab36081L,
  55990. 0xbb41bcf30ae841eeL,0xf73fa600cf79eb81L,0xeb88461b991afd1bL,
  55991. 0x1b9feff62ce5c0f2L,0x80183105cab1b304L,0x0000000000000029L } },
  55992. /* 16 << 28 */
  55993. { { 0xabf17feb008c7a44L,0xade7917a7b12def4L,0xbfba65b83786b033L,
  55994. 0x8ef4af44f0d9f9f1L,0x8f47615cab136caeL,0xe42f100dbcbd5d3eL,
  55995. 0x8f3dc658f05f9b27L,0xd95a6b2dd6f2dbb2L,0x000000000000008eL },
  55996. { 0x23bb06a546bbc412L,0x15718699d0135eb6L,0x8f1639c4b4ed9e10L,
  55997. 0x767fee42d7f644a0L,0x668267b0fe8ec420L,0xec4f548264e90133L,
  55998. 0x679e614e536d132bL,0x0d72fbaf174df6c5L,0x00000000000000a5L } },
  55999. /* 17 << 28 */
  56000. { { 0x0d423fc8b05c732aL,0x1a585cfb9fc565afL,0xd0f09ba8438e8e22L,
  56001. 0x87cb63973b53004fL,0x30673a866bc86afbL,0x555ad65d7e068e3cL,
  56002. 0x4da2eed69da1d5afL,0xe25456e54cb910dcL,0x00000000000001fbL },
  56003. { 0x412e1fd8c5516135L,0x5465fd3139d159b8L,0x36d437af1a1ab099L,
  56004. 0xed474e6a03e10008L,0x4f229235c14fd291L,0x6f4a44ce3622b070L,
  56005. 0x5221ac85c506ac3cL,0x3e9f54bc552fd421L,0x000000000000002fL } },
  56006. /* 18 << 28 */
  56007. { { 0xbe5ee60713182632L,0x4d463baf9bbc5212L,0x658fc11c5c21a796L,
  56008. 0xb81542941474c364L,0x66b925171f6fde42L,0x85cc97916fd16ba1L,
  56009. 0x57c38a821feefec5L,0xb5c51d319b44b1d1L,0x0000000000000145L },
  56010. { 0xe2da12a3c6228bbaL,0x2be11b05a8522096L,0x8b60f44c6f83d963L,
  56011. 0xf3bac9f672782a82L,0x32bd85e32757d236L,0x901c50c6d59ffc8eL,
  56012. 0x1075eca86ac7c1deL,0xe78c786cf1302741L,0x00000000000000c3L } },
  56013. /* 19 << 28 */
  56014. { { 0xe045587941df76d7L,0x5fed520b829a93bbL,0x8eb7752aa9c54f24L,
  56015. 0x0d73e9371b21ee03L,0x4a09582102686b1cL,0x8f887b9944c1e014L,
  56016. 0xc7dd142035f32864L,0x0ccee70dcd5896e3L,0x00000000000000f7L },
  56017. { 0x73d4e288f84e6409L,0x37444a9e84a45459L,0xac888ad1fc6bd60dL,
  56018. 0xd0f03008ce257cdaL,0x1eba5a906f0e3546L,0x556839e8a7788e16L,
  56019. 0x1fa94edc1624a710L,0xf1ee65bb28d9bd43L,0x00000000000001bbL } },
  56020. /* 20 << 28 */
  56021. { { 0x9685604a378806e4L,0x5c0e5a8763fdb760L,0x47b37fd23c4d46e7L,
  56022. 0x911e9f7c46ed261aL,0xab42ac68497d6281L,0x656f59410a8e88d4L,
  56023. 0xcfe3ffac3a296c4dL,0xad1cbe5719241e9dL,0x0000000000000070L },
  56024. { 0x880193368cc01741L,0x8d354ea83f0eadf5L,0xd334ed2c30cf53f4L,
  56025. 0x4490515e7d521d3eL,0xd5d3d50f83d830dfL,0xde5fac26a718d969L,
  56026. 0x45707e7e4e0d85a2L,0xbac03693e2568e37L,0x000000000000003eL } },
  56027. /* 21 << 28 */
  56028. { { 0x05691330a54a03daL,0xf9e12a7e52a5d05bL,0x4e0a20c105bb2074L,
  56029. 0x27872197491f88b4L,0x9314134b0a02eb07L,0xb5840bb05633b498L,
  56030. 0x0348bb60dac28206L,0xc7eaa69e4fa82ef0L,0x00000000000001ccL },
  56031. { 0xd9d4c45319e54096L,0xdd3587dceb3875e6L,0xd6fdfca14a4b4149L,
  56032. 0x1abc691467148a91L,0x6061e274b3da5e59L,0x2f9eb868f7cea854L,
  56033. 0x057bca4f05aa6a2eL,0x3aed5fe77cc21838L,0x000000000000000cL } },
  56034. /* 22 << 28 */
  56035. { { 0x718f892ef3348160L,0x9f4c88c8f6acbf45L,0x2f886753c5fc4654L,
  56036. 0xb078063657a5c32dL,0x63248d855ab020c2L,0x490a231ebebbd4c5L,
  56037. 0x6daf12ab6bf2e47dL,0x144885a078e76ccdL,0x00000000000000d2L },
  56038. { 0xb5c08a51682e7203L,0xd3b7632dbdc76ca6L,0x1272869f10ad6667L,
  56039. 0xa07122fb431c8b82L,0x226ced3c14371122L,0x2f17db3f67cbe25dL,
  56040. 0x74e6946b54858696L,0xed3a84c544ffb855L,0x0000000000000102L } },
  56041. /* 23 << 28 */
  56042. { { 0x40dee98563bc734eL,0x0ef45f6e0c38c9b4L,0x9c5858bc94b7735dL,
  56043. 0x4368630de30fa193L,0x4b9bc14602726a71L,0x18142c21960891e8L,
  56044. 0x08d6b5780dc0ea24L,0x055ca09abe408a2eL,0x000000000000008eL },
  56045. { 0xfa8cae11987c9c95L,0x9f692d092b011ce8L,0xe5f725ad8e7c6b42L,
  56046. 0x6b54b6a3f4d13859L,0xfaa64fd0e8384d5eL,0x66a16b11682b4c97L,
  56047. 0x04b57cd76809bc31L,0x1afaad69d3eea7e7L,0x00000000000000faL } },
  56048. /* 24 << 28 */
  56049. { { 0xf7692e60b5cdfb7bL,0x7fd887faa548923aL,0xe43623edc2d58828L,
  56050. 0xd8047114e1e2f3d7L,0xadd5a16d7c6abbb8L,0x9fafe28a2f1133a2L,
  56051. 0x5ecaa9bd69688723L,0x5281e4addb5c34c7L,0x0000000000000153L },
  56052. { 0xfc1a8cf1c42d278eL,0xb76ff008220d26e8L,0x6749770f1fb6e918L,
  56053. 0xa7e6f520aec33172L,0x23c7456c247a2e94L,0xe4ef1adf8c38913cL,
  56054. 0x26c0c817aa8455e9L,0x9e38ea10680454f1L,0x0000000000000155L } },
  56055. /* 25 << 28 */
  56056. { { 0xc4a03e90b431c373L,0x75a014321dd2d074L,0x9ef6f893b6235777L,
  56057. 0x3e6557afdd83b252L,0xc30056fad6d21946L,0x49175c7ccc4e6bfdL,
  56058. 0xb48d402316ad5f7fL,0xe1f1aa86dabf2fa4L,0x0000000000000054L },
  56059. { 0x7fd8a69da617a3afL,0x3a6875aeeb6b1e2bL,0x1b42637effaff5c6L,
  56060. 0xa397fc03cb327e27L,0x251106b73e60a49aL,0xf36242809c3e2b31L,
  56061. 0x04a1243054509c5dL,0x023238269992caa5L,0x000000000000001cL } },
  56062. /* 26 << 28 */
  56063. { { 0x1375e971b4520f2dL,0x1507d0b367025850L,0x9d9c351920db152dL,
  56064. 0xb9f63cb55e5e5b1eL,0xe4cb0a89428af0f0L,0x9e1857404a4140ecL,
  56065. 0xf05173ae168f1d13L,0xe6a8daa0b553bdd1L,0x00000000000000d8L },
  56066. { 0x5bbcc749353c767aL,0x85192aa1f811d60eL,0xfbe7b89e7cbc2769L,
  56067. 0x752cc4426f68ea1eL,0x0e5d76f4f550fd90L,0xf2ca39620ee19f5dL,
  56068. 0x1fb501b48398c8fcL,0xbeeab7ad6047081cL,0x00000000000001d3L } },
  56069. /* 27 << 28 */
  56070. { { 0xe4f13a4678187349L,0x1a7986452cdad07dL,0xd12edd3b435e558eL,
  56071. 0x0a466b2500c452f3L,0xa1dbe185e3d65c74L,0xcc10132b5bd1dd39L,
  56072. 0xbb42cff31919d652L,0x711748162c26481aL,0x00000000000000f5L },
  56073. { 0xeae22d3ba0f7e4f8L,0x29d360c402dd3bb2L,0x016d91b5e3b86cf6L,
  56074. 0x888b637cdf4dfbaaL,0x72a94792ab525be8L,0x69d628cde606b3baL,
  56075. 0x34904e50a95540daL,0x18979662c4644642L,0x00000000000001ffL } },
  56076. /* 28 << 28 */
  56077. { { 0x1f06341d13a9aa39L,0xedc0d26a7415e0c4L,0x1ba18cd0ee8fed64L,
  56078. 0x6d8fa3e4fbfac509L,0x394bae0b08dda417L,0x44ead62fd835f0acL,
  56079. 0x793b6a8501b1d873L,0x0956227870f859e9L,0x000000000000017fL },
  56080. { 0xc42d6d2dc699d304L,0x41e68ef38ef5407fL,0xbfe24ff5a825f2ceL,
  56081. 0x36108ae9bdd3f4d2L,0x7fd3cdccbe47aabeL,0x93e1da7ca8b5af7fL,
  56082. 0x29fa9925b0cf1bc3L,0x5c9f946832411132L,0x00000000000001eeL } },
  56083. /* 29 << 28 */
  56084. { { 0x600a0bf9d2dac618L,0x685a2a4448291771L,0x0e7bac6514e41416L,
  56085. 0xff8f4f544c0a19a3L,0xab91c47719bf697bL,0x8874baa15a8ae505L,
  56086. 0x4a95436eb79474baL,0x7ec81267f0b04bbfL,0x00000000000000b8L },
  56087. { 0x61aa15a6d7dc681dL,0xdcbce70b90573096L,0xed2174ff06e003d3L,
  56088. 0x5118698a1f70c6b5L,0xf3f6ebce94529a6bL,0x2e3c16ba7facd875L,
  56089. 0x56ff76fa9c233c63L,0x48d58232b25308c3L,0x0000000000000040L } },
  56090. /* 30 << 28 */
  56091. { { 0xe0fe382608b55604L,0x2c1942a38d460615L,0x9527fdfe82cecf84L,
  56092. 0x2a193e252ceeffc0L,0xc238cb9d25d20cb2L,0x357240a611d898a2L,
  56093. 0x94c467330a554201L,0x860fcb2f93f09e27L,0x000000000000019fL },
  56094. { 0xe19b84d262304b4eL,0x7d06c611375b7f95L,0x59267a24db7fa504L,
  56095. 0x2712fa55cb322b42L,0x31e2690a2bbe4428L,0x0fd9a28a599eb8cfL,
  56096. 0xff80495e26c5d99bL,0x6de22868dd44826cL,0x000000000000002fL } },
  56097. /* 31 << 28 */
  56098. { { 0x18e983ea9babce7fL,0xd794f3872c121aedL,0x95377a1ff9be1cb0L,
  56099. 0xec3a779fe94176eaL,0xd1e5c67084093fafL,0xcb651415f62b3cf9L,
  56100. 0x1b0e00bd178fec50L,0x84529ad9e1300de2L,0x0000000000000019L },
  56101. { 0x4cdd2ef87fd07920L,0x987b7c86fbae0a4eL,0x7fe7d1505007327eL,
  56102. 0xdf55c0da4a8c92b3L,0xcbdaf5ad3b61e07cL,0x0a768f308803468bL,
  56103. 0xf887801ab2ef831eL,0x5dd31ed28493948eL,0x0000000000000166L } },
  56104. /* 32 << 28 */
  56105. { { 0xd256b6072de9b28fL,0x286fc763cbefe110L,0x736ff52a138783fbL,
  56106. 0x6f6d822b4ebcd973L,0x78c5a0b685eca174L,0xbfcc5ab679ea21b7L,
  56107. 0x9ccb278d4937e0daL,0x9f50f4422d009304L,0x0000000000000049L },
  56108. { 0x566947d729f8a798L,0x9793a90581cc1ed4L,0x73da631e851115d4L,
  56109. 0xa0b5c181fc7da6f5L,0xa70593d29f5a7634L,0xc9f71df41e6250a8L,
  56110. 0x2dfd10897a97cd35L,0xc3cdac7ed4e0074aL,0x00000000000001fdL } },
  56111. /* 33 << 28 */
  56112. { { 0x527dff175e34cb9eL,0x1185849f852371a3L,0xb9d706ca6726ca47L,
  56113. 0xc1dd38933d915bf0L,0x9a9f8c7c35256ac7L,0xe2c3c09136838dcaL,
  56114. 0x05e64ff7870a320bL,0xa994d8aef3132cc9L,0x00000000000001f2L },
  56115. { 0x46e991b9272d18e8L,0x8a25edf2fd58a9ceL,0x3785868f285cac3eL,
  56116. 0x5fb2e743d880fc4cL,0x3a1d2ef3b2c3e9a9L,0xfcdc85b5e00ef7a8L,
  56117. 0xbd24e872b5b4076dL,0x668da80789caff99L,0x0000000000000017L } },
  56118. /* 34 << 28 */
  56119. { { 0x97bd38162078f256L,0x5d8f6c9b986e1064L,0x54503fe4f389bb49L,
  56120. 0x926f338e896b4713L,0x456413e55b6b0d6aL,0x0c55b0104f321c4cL,
  56121. 0xff7b9d8b68144d46L,0x5558ef1ff5a77121L,0x00000000000000acL },
  56122. { 0x1d11903a5e46b3dfL,0x5d07f4024329d68cL,0xe7fc54483d4584dfL,
  56123. 0x85cb4edde10f716bL,0x2d8138c27ae7e0dfL,0x23fa18aa0e362800L,
  56124. 0xd29f622742704470L,0xd019bbc004ea20cdL,0x0000000000000010L } },
  56125. /* 35 << 28 */
  56126. { { 0x77b70582bfc725dfL,0x40b2fec1c7ac2712L,0x3c12e6c61950a057L,
  56127. 0x854deccd121c54e6L,0xe6650cb5f20f8d75L,0x68bd92942455567bL,
  56128. 0x4d88a2b9b216af0dL,0x690d0fed06150c6bL,0x00000000000000edL },
  56129. { 0xd17bece2f2efbe2eL,0x231fafc9bb1f57baL,0x06f9776b85b23326L,
  56130. 0xaec0776ef3f362f2L,0x21e0b5369e0c259eL,0x944c4d19139e4f62L,
  56131. 0x6d3067c700a6a022L,0xf58f9dfbd6539e9fL,0x00000000000000b0L } },
  56132. /* 36 << 28 */
  56133. { { 0x61acda55111366a8L,0xdec95e38b7f07d93L,0x8222e3d6baf73ce6L,
  56134. 0xa8d24dfa339b0560L,0x205df5b8caa53e45L,0x53ceb84c07f44c35L,
  56135. 0xd44ff89c819e3f50L,0xab02c3c1a9d0fa4bL,0x0000000000000156L },
  56136. { 0xdb16ebcd79987e96L,0x986ace08fa013307L,0xb83bb30a0c1a370cL,
  56137. 0x9d2cd27dc95cec3bL,0x4c125471240da52eL,0x8f9b0f23588d5cc2L,
  56138. 0xb03e0c8a0e21e5c9L,0xf3a55d8b860c813cL,0x00000000000001a3L } },
  56139. /* 37 << 28 */
  56140. { { 0x90c5a583c3835851L,0x4219b5de3cb23bf5L,0x044d34effe2a24a9L,
  56141. 0x5ae5eb83762f96deL,0x9d476c6487fa31c9L,0xbc6aba41aed7972fL,
  56142. 0xbea75febc9ec7341L,0x8ca0dd60627f5b64L,0x00000000000000a8L },
  56143. { 0x1b50115ed6888e70L,0xa4545e2d794f75c3L,0x401861f9dace48fcL,
  56144. 0x2d5a89afe11b82bfL,0xbe38f972ae3391a5L,0xcc1f6db06d026c05L,
  56145. 0x084ca28ae7a3ef5eL,0x176e9f1fd2864659L,0x0000000000000050L } },
  56146. /* 38 << 28 */
  56147. { { 0xc2019c0271b15a05L,0xd48bbe070860ed8dL,0x2361677c20c6be37L,
  56148. 0xa957ea9259c63464L,0x48bdee912c443f75L,0x44f7cc053758b6c0L,
  56149. 0xf4910cca5bc5717dL,0x149c230cd5085dc3L,0x0000000000000100L },
  56150. { 0x6daa5d33b9ce132bL,0xccf4fbdb2fe80f7bL,0x844149b7b34a3216L,
  56151. 0x66a4b73c9372de80L,0x54b0e50ab74feee9L,0x733214dc6d44764aL,
  56152. 0x06e5f78a04b817acL,0x179ba42cc714eab2L,0x000000000000006fL } },
  56153. /* 39 << 28 */
  56154. { { 0x41ca17fe324ebe57L,0xe5b597fc38248859L,0x25a9281f71b1fc77L,
  56155. 0xec8c0f355257f629L,0x9951712b32763a6bL,0xba39f3393983150fL,
  56156. 0x59a52f445396034fL,0x1272ba122070c464L,0x0000000000000195L },
  56157. { 0xfd4339486ff38a26L,0x0b94645a82186928L,0x37e034cc66c1e676L,
  56158. 0x82bb11a0826343b0L,0x90d5b4c1572a5785L,0x1cb39ed5535b33caL,
  56159. 0xa751d3ca20e812b4L,0x99eed4a961c771afL,0x0000000000000120L } },
  56160. /* 40 << 28 */
  56161. { { 0xe819cc844c848a52L,0x97d6bb24a95d1c11L,0x68b512de29b00048L,
  56162. 0x61bc95c028390416L,0x51f63fea5a21876bL,0x109aebd7e3075459L,
  56163. 0x7735f70c233315b7L,0xef66a59c6e0f35a5L,0x000000000000006cL },
  56164. { 0xad0aafcd784af74dL,0x3c5bae42c1b0ebe0L,0xe12e2963f5a634d7L,
  56165. 0xa0bbcbda7a495138L,0xa4c2f0c2863b8befL,0x1d13dc0a0362bfb8L,
  56166. 0x04be3b6554a111c8L,0x9eefc66cb793f1e6L,0x0000000000000149L } },
  56167. /* 41 << 28 */
  56168. { { 0xaff95949aba4045dL,0xef288e2241d0dbc4L,0x0ab889d979410183L,
  56169. 0xc48157059989f404L,0x2b110dc9491692caL,0x6d5786920c0aece5L,
  56170. 0xd6afdbf4189fb2dbL,0x6188a57807a0d0aaL,0x000000000000006fL },
  56171. { 0x9daa0f2d3790f377L,0xad1c16553dbd8164L,0x806e1f9d98217107L,
  56172. 0x10c67e47fc30518dL,0x80f2ab513af331c8L,0x36c8e5f435bc6788L,
  56173. 0x698054e25e7b589fL,0xff145a30b144fd63L,0x0000000000000039L } },
  56174. /* 42 << 28 */
  56175. { { 0x77f03fcfcaebe2f1L,0xb032ab4fdb8d0df5L,0x50298bee11271b80L,
  56176. 0x7c9b538213044e40L,0x1e63fb4cba1f0404L,0x0cc77790e5221558L,
  56177. 0xfb667df9d87c07c1L,0xa1bd9b5d4fa5461aL,0x000000000000015dL },
  56178. { 0xe666b8a3f59d0fc7L,0x8cd99856f93b329fL,0xf15ac9dc87d43f51L,
  56179. 0xd62f1d4413c7726bL,0x35987d28cf157054L,0xe7319cf68090fc08L,
  56180. 0x4fb5e518a58e7727L,0x3d916c071005294bL,0x0000000000000096L } },
  56181. /* 43 << 28 */
  56182. { { 0x26387c347fa8da38L,0x006b5bc95663e995L,0xa81762db2fdc672fL,
  56183. 0x5aabce64d76c766eL,0x6c65a1c46b285f33L,0xecc5dab81d758143L,
  56184. 0xdf983510b9f496b5L,0x2cdc07a59176541cL,0x00000000000000a3L },
  56185. { 0x290335c934e7f5cdL,0xddb7748db9b7f197L,0x109b9ae09bc63c8dL,
  56186. 0x29e888ac028d3fc2L,0xbf292ad344771ea8L,0xdb60dfe2168360c0L,
  56187. 0xf3f5490d7d7a936fL,0xe387ba89057dfc8eL,0x00000000000001f0L } },
  56188. /* 44 << 28 */
  56189. { { 0x9a4b7f6493d68b0bL,0xe6e6ab700404d1feL,0x6879df3a95063fb2L,
  56190. 0x6aaafd74fc273d08L,0x71f6336497fb7eb7L,0x4ae28c634362c275L,
  56191. 0xf5848a9d8c1a487fL,0x67c1efe8eeda4a03L,0x000000000000005dL },
  56192. { 0x60e266b622da687dL,0x0a676ac5b651741eL,0xe39e0012736dd734L,
  56193. 0x7cf92513a3880359L,0x8b6c609629913ad2L,0x2c5b829daf6a7412L,
  56194. 0xd6fb88f34ff49696L,0x2eb1377cdb4b807cL,0x0000000000000030L } },
  56195. /* 45 << 28 */
  56196. { { 0x7a3663d88d937dadL,0x505e614c7a1002c4L,0xc785b58d85142711L,
  56197. 0x656182e5d3ad2984L,0x8d10353e265220cbL,0x3b1be55ab5b54894L,
  56198. 0x5cee86bd6fdc5483L,0x3405297d76c6839eL,0x0000000000000198L },
  56199. { 0x872c51c47e6df1d6L,0x924e0616fdbd9f55L,0x8dfc23caec4f6876L,
  56200. 0x14989c5e42c59e5bL,0x9cb5b0b59f20ac1dL,0xb9a5c77bffb1f896L,
  56201. 0x9eeec4ae52e7e29dL,0x6b0353efc45b8bddL,0x00000000000000bbL } },
  56202. /* 46 << 28 */
  56203. { { 0xf2d4f1c72688cd8bL,0xf192d22d5ed62791L,0x40228bada8326f24L,
  56204. 0xad8b562974aeaf7eL,0xc7d3b568ecf92ff6L,0x23108db20fd0b496L,
  56205. 0xafc3418f1ebda53cL,0x029bfd1a165a4ef6L,0x0000000000000160L },
  56206. { 0x340cb9d7c908ed51L,0xef88826762017c05L,0x1313d7669ae63181L,
  56207. 0xa8d9c2cd6c8a1b89L,0x524cb90b35bad6c9L,0x91af48d2c6aabfdaL,
  56208. 0x7b7487b93c3231cdL,0xf20201abf5028680L,0x00000000000000acL } },
  56209. /* 47 << 28 */
  56210. { { 0x414b33978ac56c3dL,0x721029e16bea57c1L,0x9cee0c176997d034L,
  56211. 0x0e066baa743206c4L,0x54151f4c5f961984L,0xed5900facc869502L,
  56212. 0x0d9da2d227e7b18eL,0xc7fa2af5e3783266L,0x00000000000000a0L },
  56213. { 0x6616bf15ad5ac8b4L,0x72c8d17c80102d46L,0xbc1f78c8168b5c6eL,
  56214. 0x48018dd3c400914dL,0x20cd1be54cc9c130L,0x7fc70e61d99d9e60L,
  56215. 0x8b14cc2a42d62a83L,0x74df1bd13070d89dL,0x0000000000000074L } },
  56216. /* 48 << 28 */
  56217. { { 0x8fd8dc497694f566L,0xb2ab052d1fa6e13cL,0x7e4a708e9aabc7cfL,
  56218. 0x68a9c33a6b81f0f0L,0x96e4988af1f7cb07L,0xdca8d731ea264c22L,
  56219. 0x245371e321b3372fL,0x02216476308d2300L,0x000000000000017aL },
  56220. { 0xebf5411633696cfdL,0xa10c5784419623a9L,0x4c6a119c38fa84d5L,
  56221. 0x5c8eee646d4e5bafL,0x7f99d26d9b4959d5L,0x58708101174f417cL,
  56222. 0x48cab8f38294b72eL,0x828aaa19d9710f9bL,0x0000000000000192L } },
  56223. /* 49 << 28 */
  56224. { { 0x8a45f3c1f711e80fL,0x9f5a1b9df5d9caccL,0xbc1fc975a7625035L,
  56225. 0x80b67120b5f7fc73L,0x9bc987572eafb656L,0xf20515ca406e0a1dL,
  56226. 0x83305c67b23372c6L,0x40f4c0ce9ecd6e90L,0x00000000000001c9L },
  56227. { 0xb3598c05be9425d9L,0x255dd9d8a49eb383L,0xd4ec4a2f04a8bd10L,
  56228. 0x5c0d36abd5c340f9L,0x0d568642795637acL,0x728aa0f2e00d6487L,
  56229. 0xf8f49bec3e20b8a8L,0x65d71712de23750eL,0x00000000000001fdL } },
  56230. /* 50 << 28 */
  56231. { { 0x73e49f63e25b0952L,0xb877a9e56030d626L,0x3ce843972e0cf3a4L,
  56232. 0x3d1a2de214820b67L,0x528fcf23c2261e9aL,0x8a9318e1c47264bfL,
  56233. 0x87331e933d4a4fe5L,0xc5f4d3321ad39c92L,0x00000000000000e1L },
  56234. { 0x3c22a52df23bdfd4L,0x78a4fe92df000b45L,0x359fa4c23eef9355L,
  56235. 0xebd16e3f4c272143L,0x661c7c241736536cL,0x72a7416408be5d5dL,
  56236. 0x417ef58e88a433ebL,0x79f30b9d3a0aa85cL,0x00000000000000d0L } },
  56237. /* 51 << 28 */
  56238. { { 0x968f8fd66f2f9e3cL,0x0dbd79fc8adb4e50L,0xf78190a5bc410644L,
  56239. 0x0167515013eafb09L,0xaf9a05602b728353L,0xed98a1b3fb685f2bL,
  56240. 0xe07d0806e04f3502L,0x6607fe2785954a39L,0x000000000000007cL },
  56241. { 0x7169286c817b5efdL,0x8cc453557b7f8a16L,0x0c3339433f68a9c3L,
  56242. 0xf6f5c92ef13d3edcL,0x1e09ef6cd115e7cdL,0xad3b1ba9f6271d3fL,
  56243. 0x4cc6ee4fc6be55c7L,0x32cd2db2e20d8022L,0x0000000000000151L } },
  56244. /* 52 << 28 */
  56245. { { 0xa2b57e47ee31f1eeL,0x35ea17041c5d6c0eL,0x5e23fbd525856990L,
  56246. 0xb560d2e20908d00dL,0x5c0804d5b516dceaL,0xb84fd1cf6a938abeL,
  56247. 0xc1f15c276ad24548L,0x42850a0f4de8022eL,0x00000000000000b8L },
  56248. { 0xcf3f0f8c86fac159L,0x1e9b9f2741cd1461L,0xc470786c27f36196L,
  56249. 0x8eb042646ab8c405L,0x237fb49506bbbc7dL,0x40c30b4714750e91L,
  56250. 0x9db7193bc17373a0L,0x597f1ea9b153e953L,0x00000000000000c2L } },
  56251. /* 53 << 28 */
  56252. { { 0x4fdf2cebc8434a58L,0xe2d310b11587a33eL,0x7870a0118476a5e1L,
  56253. 0x23a5c69ca4d72f4dL,0xc77d905fce3550bcL,0xd61a54a01c717549L,
  56254. 0xd97c3c91864059b2L,0xe1f1c2f0d6636fa3L,0x0000000000000036L },
  56255. { 0x312ce02a59481b67L,0x361cf25529cb2c16L,0xa6cb28f9c8ad1e71L,
  56256. 0x82729b40b59d68f7L,0xf6d4ac7bb8b4e098L,0xb4993a2c711612b7L,
  56257. 0xac9ba748b7a1e41aL,0x5418d9a322a5eb87L,0x0000000000000005L } },
  56258. /* 54 << 28 */
  56259. { { 0xd89fc40850c82edcL,0xa41578bad7465868L,0x6fd92f67c937ccbcL,
  56260. 0x7564cfdc2467d5adL,0x32ba16a72b4babafL,0xf6ff32a4cfe6d562L,
  56261. 0x2797b1689ef2ceb3L,0xb7a640f2f578b176L,0x000000000000008bL },
  56262. { 0x4f319670b8ca6146L,0x972e72a0742476efL,0x7bfd9206f2f25ce2L,
  56263. 0xc68027e007eae81cL,0x2eeb468847fc7d16L,0xaa08354f502dda1cL,
  56264. 0xe3137c68ceb141ddL,0xe5e27505d1f6ba8eL,0x00000000000000f9L } },
  56265. /* 55 << 28 */
  56266. { { 0x62a6970950bee1d4L,0xd1f4674013839f16L,0xab48f6f44cb023ecL,
  56267. 0x683371fa89ac6079L,0xec8abd69ca14e962L,0x3f2a8f4619f6cf07L,
  56268. 0xd2ceec98cde7fef2L,0x4615e03fcac0741bL,0x0000000000000196L },
  56269. { 0xcfe7cdc5821caba6L,0xbd82d1481006abb4L,0x5725410af4919b55L,
  56270. 0xab26f4c1af20960eL,0x1bef3c7b9558b455L,0xa4b2fad5d098a394L,
  56271. 0x9a656c097f01c091L,0xdc7048d7fa70a8d2L,0x00000000000001efL } },
  56272. /* 56 << 28 */
  56273. { { 0xcd4f21b88df62d16L,0xa99200834bc94f02L,0x95211c6856a37590L,
  56274. 0xc933ae22dc0e83d6L,0x8e733582aa26236eL,0x129991995e6f68d9L,
  56275. 0x43f6cb3853e4cbe4L,0x6d14bf9948098f89L,0x0000000000000177L },
  56276. { 0xa3e3899f9173bb49L,0xbf5bc771d1969f3fL,0x09207ffae5b5b91bL,
  56277. 0x29d14eec974821e1L,0x0d3fdde868cded21L,0x4d99062ac9895973L,
  56278. 0x836aaeee85928705L,0x9ca8345688cad913L,0x000000000000013cL } },
  56279. /* 57 << 28 */
  56280. { { 0x7b16f87dcace418eL,0xd2a74c4165a2b019L,0x95ec1e15c7d4681aL,
  56281. 0x01c830f417e4aebdL,0x0de6f0ba401c8bc1L,0x8114c81627d5149fL,
  56282. 0xa01d3c00882054d5L,0x2eca68b0abf0dd69L,0x0000000000000105L },
  56283. { 0xe2858d41a6369d0cL,0xdc444fb36d9ac709L,0x8d51a6eb2ea50b78L,
  56284. 0xc3c1f95e17149666L,0x39e712190439bd89L,0x5f3e04cc1fa5b6d4L,
  56285. 0x40c776d524944156L,0xf7859b8892597750L,0x00000000000001ebL } },
  56286. /* 58 << 28 */
  56287. { { 0x18a3a3122877dcf9L,0x4c57231db0789aa4L,0x1f9758d9f4e77a15L,
  56288. 0xc5c1c2ddea02469cL,0x4f33f024035a3628L,0x33b60b241bf0ca55L,
  56289. 0xb957e710bdd64bdbL,0x96d0abb164b24ecaL,0x0000000000000059L },
  56290. { 0x0b9145eaa2035647L,0x929ac0d3196cc1d2L,0x0daf403c10192c2fL,
  56291. 0x7250de726ce0a385L,0x5027595cc2217f3eL,0x7650cda46818396bL,
  56292. 0x7df3f9df94ef5f3fL,0xf9ce383e3e9c1a38L,0x000000000000010eL } },
  56293. /* 59 << 28 */
  56294. { { 0x80307b9548f639d7L,0x089dd1b7fada9eb1L,0xc0f43d7948380214L,
  56295. 0x2cc2421afbf50727L,0x24111e56f3ae1323L,0x33dfbad162541943L,
  56296. 0xfa604e1b9bf30a36L,0x3a41e9980ca23f2cL,0x0000000000000051L },
  56297. { 0x463d1718e369ad8bL,0x4b789649cbdad74fL,0xd921f71d3229fa15L,
  56298. 0x179d3710aa4ffff0L,0x347a47e251e078e6L,0x79ded1a24aaa0a8dL,
  56299. 0x93fba0dacc6d871eL,0xf4b3e8f626309221L,0x0000000000000158L } },
  56300. /* 60 << 28 */
  56301. { { 0x0220cc1183aab8fcL,0xb66eba5bd21536a0L,0x7f537a8dad7476c7L,
  56302. 0x6250e935d154a65aL,0xe3e8bf57ecf46b3fL,0x8f3f800bb0133ba3L,
  56303. 0x3b16a5be59bfbdb8L,0xe575b5ca3f0f52efL,0x0000000000000096L },
  56304. { 0x41211e957280531eL,0xc1287776078368adL,0xae87eec633a5db39L,
  56305. 0x2d076f221846c7c5L,0xe11fe8f1bbe5f70eL,0x7cb1cf6f8bc46087L,
  56306. 0x5c2a40382eb6325dL,0xb0aa793ef76b0b80L,0x000000000000018aL } },
  56307. /* 61 << 28 */
  56308. { { 0x2d5e2db75759d562L,0x036f50c2f0d645e9L,0x5a2f49d295e73061L,
  56309. 0x43a6194ca19819ccL,0xac1f9da3bdf2a175L,0x5bc51f5ea6e0386bL,
  56310. 0xd932dc0aca202aadL,0xab9d361dead9e506L,0x0000000000000179L },
  56311. { 0xc3fd69caa5500bccL,0x35ec63c388bc2b00L,0xaccf525c4e34d8b0L,
  56312. 0x7689d112db03dce1L,0x6686d2b5ebcfdfc4L,0x6cea5f5186d46983L,
  56313. 0x52e8e77117e4417fL,0x279048cbca4c2157L,0x00000000000000eaL } },
  56314. /* 62 << 28 */
  56315. { { 0x5cfa362a96323595L,0x10d1ad380b2a3e9dL,0x59baa91aad12493cL,
  56316. 0x0f5bb9d432c9bd68L,0xac141dcc0464141cL,0xc3d395e08460a809L,
  56317. 0x6919e44f14719d6dL,0xa66fc8237e5aa5c2L,0x00000000000000a4L },
  56318. { 0x7d4fe91ad7fb6604L,0xf0cdc6166125d587L,0x52bd3f11ba69e22bL,
  56319. 0xbcb33f67f9af69bdL,0x4f3824ca3296150fL,0x2490712b2ab3bf72L,
  56320. 0x561da32946d6d180L,0x1a7607b4bb6fe954L,0x00000000000000c7L } },
  56321. /* 63 << 28 */
  56322. { { 0x6f5340ce32ebce2aL,0xf8403e09331393daL,0x4cedd42fd5eed810L,
  56323. 0xd697d934f24a2dedL,0x7253178f7f2eed40L,0xf637a3c22e487a59L,
  56324. 0x3a562449230bbe9eL,0x7ee1c93313a9f00aL,0x00000000000001e0L },
  56325. { 0x3e9c3f430c67ff5bL,0x415d74ea77e94e6aL,0x4ce10a8fdaa7e03eL,
  56326. 0x3a38ac77ca7e82ebL,0xb63762010391062dL,0x9e261b95276309b3L,
  56327. 0x33787055f4fd6e43L,0x0655512a1e763082L,0x0000000000000114L } },
  56328. /* 64 << 28 */
  56329. { { 0xaed480e002f799d8L,0x021a2f24d635c04cL,0xe49a60d8004d0abdL,
  56330. 0x58ab8fb04d8873bdL,0xf36a43c81ecd98f1L,0x555f15c4cd2f93f7L,
  56331. 0x295d868d4eb95e03L,0x1aa8e425b50553a1L,0x00000000000001deL },
  56332. { 0x2efce59878fcbf33L,0xc499e9fdf4e93711L,0x0f5220ad0c6e6fadL,
  56333. 0xed0d0a9b9fc9da8cL,0x84235958f7813802L,0xed21398e62729b3dL,
  56334. 0xdf6c25ab3c9bb158L,0x87d306d9edd78e48L,0x0000000000000085L } },
  56335. /* 0 << 35 */
  56336. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  56337. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  56338. /* 1 << 35 */
  56339. { { 0xa0bede1baa9a08abL,0xa32364531fc48289L,0x27f83d5a8c4e95c5L,
  56340. 0xd4e05998a98b2122L,0xe4118aec7d51821bL,0x18ae6c6a883ce4e9L,
  56341. 0x686d2a6e0d65e4afL,0xce00c72768d87702L,0x000000000000004bL },
  56342. { 0x8c8c0c984c0b4b11L,0x09c31a00977e63aaL,0x1999f20642100b94L,
  56343. 0x7314df12c4f0cf33L,0x0bb59f1a5f5da290L,0xf08e85bc03d4fd95L,
  56344. 0xcb0b361fd6fb0524L,0x9192a173f35d713fL,0x00000000000000b6L } },
  56345. /* 2 << 35 */
  56346. { { 0xd23357cbc11b2a0bL,0x70de0d3fb179a631L,0xb57a0fad122b12b6L,
  56347. 0x3203600f78489416L,0x99fe0b86d26d2267L,0x36f3262f3b9deed0L,
  56348. 0xb6e6116024a32dcdL,0xeabd7c06aa745047L,0x000000000000009cL },
  56349. { 0x3f277e18cdc4cff1L,0xcad81ada6eb7045fL,0x3f82d6dabb804212L,
  56350. 0x7eca837503b6a618L,0xda88796995f2970dL,0x21fc350feb3a7834L,
  56351. 0xfc332b6e55f9ac1cL,0x0d85b43418d4111aL,0x000000000000003aL } },
  56352. /* 3 << 35 */
  56353. { { 0x0a06f1def4fbe878L,0x09f64854ab82ebedL,0xce87ff16deccf5daL,
  56354. 0x8da229260c3ee54fL,0x9daecdb54b3b01beL,0x3235049383c3f13aL,
  56355. 0x83009a5fce924497L,0x02c32dd344f6445cL,0x0000000000000099L },
  56356. { 0x29fe64280889ade6L,0x53e62dea97b76d1eL,0x2bbd1dbc85849c69L,
  56357. 0x2b35472d511dd92aL,0xce302bb9a1200de3L,0x8da55e0b188c8660L,
  56358. 0x4beaf0cbb581d96dL,0xe8b2a18ff7b7e9a3L,0x00000000000001edL } },
  56359. /* 4 << 35 */
  56360. { { 0x9b7b7da8ccec2c14L,0x1ebd382dcf4fcf1bL,0x72a07d22f1c3f836L,
  56361. 0xef166de452992679L,0x5add8684088555cdL,0x61fbb803c2f8fff6L,
  56362. 0x7da8e738e52770faL,0x36a94145f9f2506dL,0x000000000000016eL },
  56363. { 0x50af6f099e6f7092L,0x541acac8bd540556L,0xf927547a616159c2L,
  56364. 0x4d2a84617c7dfe4cL,0xb603c320754fdadfL,0x0ada986235c19059L,
  56365. 0xaa95304ebe17a78aL,0x50f8baff41244129L,0x00000000000001d6L } },
  56366. /* 5 << 35 */
  56367. { { 0x260efac5aff9e319L,0x8e3650c87d4f1d91L,0xce7bee9d3b3fb7b4L,
  56368. 0xa6d415cc99eed5f6L,0x8041fbf9974686a2L,0xcfa2aa4f379d32bfL,
  56369. 0x920a936febfae5bdL,0xb75e33b8282e5ad1L,0x0000000000000050L },
  56370. { 0x979059cd6175e89dL,0xd630ac31f3da1ed4L,0x64f8fbb8d3225d27L,
  56371. 0xf78de657c1c566deL,0x6759e1cfd17fb6a5L,0x50864db03bc3a849L,
  56372. 0x225685c9365020c5L,0x16ef56abaae66d87L,0x000000000000013bL } },
  56373. /* 6 << 35 */
  56374. { { 0xa8187a5fc0c3e8aaL,0x89107b456dbae123L,0x023bb57a57ee86f9L,
  56375. 0x7b574f5dd0a5e4b0L,0xf832b673e8c79ce3L,0xc10bfdf66771037aL,
  56376. 0xf448e37efad2b5dbL,0x198293caef6701f1L,0x0000000000000070L },
  56377. { 0xee3e2714deb4db92L,0x5af53d653e2a9e0fL,0x8fe35f6e0fa38e48L,
  56378. 0xe512d6895dd085e7L,0x8b6aac03ead33215L,0x44cf0c3c6dda0f8bL,
  56379. 0x1d642848a861f599L,0xaae60d552d02dd4fL,0x00000000000001bbL } },
  56380. /* 7 << 35 */
  56381. { { 0x79710d49dbb8281eL,0x2296ca841e2a213dL,0x7f8e1a9cd847ec78L,
  56382. 0x158f24bed7aecd74L,0x571e8ca657b870e3L,0x8748e407df98feb8L,
  56383. 0x822192b857348ae5L,0x7eea8f745f73e93bL,0x0000000000000136L },
  56384. { 0xa56d856b87d43834L,0x9fe0ff564fd91500L,0xf52ef09924aebb47L,
  56385. 0x3c311496864cba01L,0x93d2bcd8a74253feL,0xfbd223f96fbb71dbL,
  56386. 0xa7776b83bb1badf6L,0xcbdd63a911f4e4dcL,0x00000000000001abL } },
  56387. /* 8 << 35 */
  56388. { { 0x6a7316dd5dc62efbL,0x377777eb824cf4dcL,0xe349e9457255c5a0L,
  56389. 0x64111cb9bf497e75L,0x1d91dcc714b1eaaaL,0x87ea1779cbcf5454L,
  56390. 0x070f848d42c890f3L,0xaaaf9a3881e4bc6fL,0x00000000000000baL },
  56391. { 0xfd521f1d853096ceL,0xa44cca3f3c8f7ac5L,0xd960927b3f30cfceL,
  56392. 0x0d30feb7c5999722L,0x5b0d38e22adc3822L,0xa00f4a022aed7af7L,
  56393. 0x1bc83e716ed4dd28L,0xba2213a238615d83L,0x00000000000001a7L } },
  56394. /* 9 << 35 */
  56395. { { 0x7df37450630874ddL,0x028f47c9e0e446b1L,0x1ca7c1c3881cd7a0L,
  56396. 0xbef2f5ce04bd0fa2L,0x6cb6bfe1bb0716baL,0xfe1d702d263901c7L,
  56397. 0x8537e484e098aba3L,0x9f5aa1332885a9ffL,0x0000000000000196L },
  56398. { 0x82ad05da072c7a4fL,0xaa09589418c27ca3L,0xc39c9cdde3b68587L,
  56399. 0xe94da9f0e85d5f74L,0x7287ea7df479ea5cL,0x7b4a94403825c3aaL,
  56400. 0xb8bfa948d0cc984aL,0x713f8cc029742546L,0x0000000000000073L } },
  56401. /* 10 << 35 */
  56402. { { 0x4a7912f4453a46d0L,0x1d2e76231c7cf115L,0x2208de2b8f29c610L,
  56403. 0x809daa6181e502b5L,0xa8f149fc6bd724b5L,0x38af43fc31ce0e18L,
  56404. 0xa2fdba97e8139cfbL,0x665271bd9eb155f9L,0x00000000000001f1L },
  56405. { 0x8b86fc468d28ea7aL,0x8cf2558a51d8fa58L,0x2c97c546d7ba83e6L,
  56406. 0xde7cf223acf26595L,0x7802038e4ce7407fL,0x95574ca7ac6b1de1L,
  56407. 0x98631057f0e9c573L,0x43fa05d155e8bd77L,0x00000000000000a1L } },
  56408. /* 11 << 35 */
  56409. { { 0x35492249be9bd7e4L,0xcafe206f52521c89L,0x47dc978d77be09a2L,
  56410. 0xc0ea0080ebf81c97L,0xc3e10de2694d91c7L,0x9811bc56772426ecL,
  56411. 0xd1f4fedea3e2d3faL,0x4305664eb53e0995L,0x00000000000000b6L },
  56412. { 0x25a3583d1be78b26L,0x8ddb19664de54cd5L,0xa766c88dde4b1b5fL,
  56413. 0x5b23a2a7fcd74bcfL,0x1ed2d0cd3a4784f6L,0x14020b80b6c02a2aL,
  56414. 0xec21146ed646ac46L,0x6896cbd4a392e47bL,0x000000000000000fL } },
  56415. /* 12 << 35 */
  56416. { { 0x6f3326291afb08a9L,0x9f159db2908c995cL,0xa36f91bb5e8dfd58L,
  56417. 0xa8ee1cd8736ce4d1L,0x45832ab2cf58ae21L,0x08ee6a41316e9061L,
  56418. 0x0e39db0b1a2ffc32L,0xea9414e1380323caL,0x0000000000000042L },
  56419. { 0xff010e54fc832689L,0xee1f4824c59214ecL,0x8ac0dc4a62b52f22L,
  56420. 0xcca082d2dba63497L,0x03b4dafd826e8cd4L,0xbc3c59580f8ac57aL,
  56421. 0xfa53329789525cb3L,0xc00ed59547ce0d1eL,0x00000000000000d3L } },
  56422. /* 13 << 35 */
  56423. { { 0x38ac2c1f27599c6fL,0xc8515670058fc921L,0xc95ee67684954ea1L,
  56424. 0x7d87418fc0523bbdL,0xa9b8cc71138ac6b7L,0x0230bfcbd4f818f0L,
  56425. 0x114c9539beee08eeL,0x32b57cb454435a17L,0x000000000000019fL },
  56426. { 0x997e7382d0b079caL,0xcd0eddd90952e376L,0x80c215bbc512362dL,
  56427. 0x0d7da33c06ac1492L,0xb6eeaf325c2720a8L,0x90b67f842106208eL,
  56428. 0x2e08a3ff7e0e56f9L,0x76e9b031c6afd704L,0x0000000000000120L } },
  56429. /* 14 << 35 */
  56430. { { 0x50c0ae1bbc78973aL,0xda11769b5afc5571L,0x72dca0e13989fc6eL,
  56431. 0x270e2d671f23be5aL,0x0c9d34d48bb2aef0L,0x37f07fdb48ef02f4L,
  56432. 0xff1c0206e0c549efL,0x9a62c16a6fd94255L,0x000000000000005cL },
  56433. { 0x368d1944785a3c92L,0xbab00ef3f92d17b7L,0xe8f15f69e6b2113aL,
  56434. 0xd58342fff6b46f5cL,0xa0edf615ada12adeL,0x12d90798e7b4926bL,
  56435. 0x284ca9e1671bba9dL,0x15def43a8ed23f9bL,0x00000000000001d2L } },
  56436. /* 15 << 35 */
  56437. { { 0x132dfd2814ffdde6L,0x9e0ba5fef2e1c419L,0xda21747db1dbfe86L,
  56438. 0xd0fadabd78a62587L,0x50ce9d488a2d37bdL,0xb4ee4b8999d70e25L,
  56439. 0x12ade8a38db8fbb1L,0xc03f3ecad2ef5fd5L,0x0000000000000188L },
  56440. { 0xfd17694aa2e6a2faL,0x1225dce9e3196a27L,0x25b09ef2a191bfcdL,
  56441. 0xe260325f7975942aL,0x3e62541bc98342fbL,0xdc572b5772876fc5L,
  56442. 0xadbbfef5c5ca0ccaL,0x16960b62028d57f8L,0x00000000000000d6L } },
  56443. /* 16 << 35 */
  56444. { { 0xd714194e2f415999L,0xa4b29d685128d8d9L,0xd1046cb83324ca57L,
  56445. 0xe5e6a47504828300L,0x9c5c4f6c694c18e9L,0x84d00de8d01e5707L,
  56446. 0x8ed94290bc2b3e66L,0xafe23a51ec6a6e31L,0x0000000000000141L },
  56447. { 0x2b996fae976e9c3eL,0xba0cc494be1288dfL,0xceb07fa6de8aab8eL,
  56448. 0x7f460647985651adL,0xee200258189376f0L,0x21f13320f9a7ac9eL,
  56449. 0x66a57bc58f3cd359L,0x7b13832775ed8259L,0x000000000000018fL } },
  56450. /* 17 << 35 */
  56451. { { 0xa54091b5fe742428L,0x9fb8d0ae9ec0b6bcL,0xcc9d3cfd658202baL,
  56452. 0xbd1360dcdec5a1f7L,0x62b0e1a8e8f09c97L,0x66efebd288db9d06L,
  56453. 0xe55656f90a30c3dcL,0x62ae035fed27ad52L,0x0000000000000190L },
  56454. { 0xdd740f0ce530b69fL,0x3d2642b8e83c5d80L,0xf42b632fcb53650bL,
  56455. 0x94ffb5fb97b9f17fL,0x446299b5b4231998L,0x43df639e2a9a71deL,
  56456. 0xeca5ac9a024e9ab0L,0xff1ee10a967d00dbL,0x00000000000001e1L } },
  56457. /* 18 << 35 */
  56458. { { 0x68d62207babd7e5dL,0x7618829b2368aad8L,0xd8bc9d594cb2e88bL,
  56459. 0x8f4545f76fb516efL,0x0a5769f13078ffdcL,0xa7ddbd1aa5fbf510L,
  56460. 0xc4c70ba312ba6fd0L,0xef602078f8e0dafcL,0x0000000000000016L },
  56461. { 0x6035217344f95785L,0x945017d70d3be590L,0xc12442d3ec7355cdL,
  56462. 0x57fd71d8b71b36eeL,0x65aeb2d8ced7c563L,0xcf050f810155581fL,
  56463. 0x6cf9c035b2f83a15L,0x302a86fc4cb4ddf5L,0x00000000000001fbL } },
  56464. /* 19 << 35 */
  56465. { { 0xd6296332f0be10e3L,0xaa891752113c0106L,0x3b36e13f465f6c3fL,
  56466. 0x90cfbe2263274782L,0x3c2b63160c7104f7L,0xa12c5ed0f74fb1bdL,
  56467. 0x6687e14716325f64L,0xeaf5b0a897e27f93L,0x0000000000000012L },
  56468. { 0x627645cc46e1d4f7L,0xfafd755a48296d3bL,0x5bb39b18554edbf9L,
  56469. 0xe91e5bcea18115ecL,0x292b808ed880befcL,0x2a8abf44b42f1efaL,
  56470. 0xfe48a1ec96bc93bcL,0x081792b8168933f9L,0x0000000000000077L } },
  56471. /* 20 << 35 */
  56472. { { 0x0e5eb14161f457e7L,0x92a3bacfeea01ebbL,0x564ad7678fc26d40L,
  56473. 0x4f48057b446b177aL,0xf1255b23788fcc70L,0x1ac8aeff459f99eeL,
  56474. 0x24731f8fc8af6c59L,0xc44122dacb32a633L,0x0000000000000114L },
  56475. { 0xce32416d6fad3db7L,0x59d803bd73ad309dL,0x211e641d0cc0c9aaL,
  56476. 0xe385bce0bcc90bbcL,0xd24b7461c6690793L,0x31d7bc5e4908516dL,
  56477. 0x268c54c4acbf7371L,0x95c7374121b9407aL,0x000000000000016bL } },
  56478. /* 21 << 35 */
  56479. { { 0x25a6ec1a4565257cL,0x56da9c6f45d4b786L,0x5200f490abb04ea5L,
  56480. 0xf553a6bfa633d526L,0x8a563d61827dc74bL,0xd459b61db4bc0d1fL,
  56481. 0xd0762e8ca49cce8fL,0x29c625e7ab89a9c8L,0x0000000000000091L },
  56482. { 0x4ce3b817f18f870aL,0x07ae3556c595c23cL,0x314772b0444d3dd1L,
  56483. 0x7f09c046fc8efafcL,0xed25d47e330b71bcL,0x604967dfcf801ce1L,
  56484. 0x67101fd2467cf3b9L,0x3ec2c9be15a86011L,0x000000000000005eL } },
  56485. /* 22 << 35 */
  56486. { { 0x5ee4bcbf9aa0a8c1L,0x3f701e41a37cddbfL,0x57790d50253a2decL,
  56487. 0x594f2c7ff30ec59cL,0xd104ac878a383d81L,0x28c238510097bacbL,
  56488. 0x961c3dc36de5b94bL,0x21b3dbc6dd673666L,0x000000000000004bL },
  56489. { 0x223f6e40bde60673L,0x8109ed96d88c2017L,0x3ce877773b960bf7L,
  56490. 0x36b20625e3dfdd86L,0xc959fc6a737dc9e9L,0x9f3acc42635e8d98L,
  56491. 0x4c171a9b4e87cf60L,0xec218d66033b148cL,0x00000000000000ecL } },
  56492. /* 23 << 35 */
  56493. { { 0x7f91a5a7bade2b11L,0xb2db06128afc083eL,0x17ac0a6acfbf6469L,
  56494. 0xf0a36b26bbf78b3fL,0xa69725b4b4b48af4L,0xda7604dc4099e049L,
  56495. 0xeaafe16b1c309bb4L,0xf50567b89f231c92L,0x00000000000000feL },
  56496. { 0x4fbc4f36d6af3953L,0x704506374fa5818dL,0x71c67575b7d018d2L,
  56497. 0x1ed130f60d98cd48L,0xbba32ed1f5abe4f8L,0x90a0d5512ef01ac1L,
  56498. 0x45da1ef510ba9c66L,0x28d732789d8a6865L,0x00000000000001e9L } },
  56499. /* 24 << 35 */
  56500. { { 0x4b52f6fc34afd3ffL,0x246423c4e0c6879cL,0xd21db87bae1f9e19L,
  56501. 0xdb92edd51b56152cL,0x4a4aba09d420e95aL,0x21e9b73d912bbaafL,
  56502. 0xc22a8b330f004632L,0xa90e4438f3b78c5aL,0x00000000000001abL },
  56503. { 0x7bb69d03a21ab7cdL,0xb0658b924a91742bL,0xd7386c4d4adc7123L,
  56504. 0x981e8258ee6c6852L,0xb2ae71400efe8332L,0x5b91d439245b9f6fL,
  56505. 0x8f2118290fda3b1fL,0x54beff28842e2ae7L,0x000000000000006fL } },
  56506. /* 25 << 35 */
  56507. { { 0xe8b3dacc713db46fL,0xcb8349a7f7365288L,0xa68504d17f939e4bL,
  56508. 0x51411b60ddbe781aL,0xf7a8ba4b0fac5648L,0xed3a51aa99f6d936L,
  56509. 0x4ba023ffd3588b2bL,0x16e53adf129cf4e2L,0x00000000000000c6L },
  56510. { 0x02ca237308fbb8e1L,0x90ae9b6d0b60e3caL,0x6776eee587d8385aL,
  56511. 0x0d6b1b9314bc9d4aL,0xf68d1f6c8be2915fL,0xd0e01dedcaf0f0b9L,
  56512. 0x31e1a76c60db9ce0L,0x882c3e86268d5f62L,0x00000000000001adL } },
  56513. /* 26 << 35 */
  56514. { { 0xb7715ceaf14e77a5L,0x30b15cbf85d3eae0L,0x99aada434b1d66a7L,
  56515. 0x11e13473f303a321L,0xe075d04ca3c2fa64L,0xb02855205f4d07aaL,
  56516. 0x3d838d13e5d0dbd5L,0xd65785326adca13dL,0x0000000000000082L },
  56517. { 0x3785f4d05fa73d0cL,0xfaba0633c4098f4dL,0x9d0a4e294f749d9cL,
  56518. 0x5966c3debe4319fbL,0x97e059ae1a5367dbL,0x0333cfc26fa3debcL,
  56519. 0x38e9675b283be3d5L,0xd800fdc824d7367aL,0x000000000000017dL } },
  56520. /* 27 << 35 */
  56521. { { 0xe425802eb9ecf83eL,0x67179c5efe330a56L,0xa25d8b602db73eacL,
  56522. 0x6e954907ce31e6bfL,0xef2500fedf0e3b24L,0xacd2851f01fa4396L,
  56523. 0x836d694c844ce475L,0x1a7d6c59d48a71ebL,0x00000000000000ebL },
  56524. { 0x25d87aac9839f111L,0x09fa18f8953ff5f0L,0x9b079ca013ca276cL,
  56525. 0xcfa23f4558b56ba5L,0xbee77e5598b2b4caL,0xc8c1a305977b27daL,
  56526. 0x8481c92fbcc31ad3L,0x88afda5311734146L,0x000000000000010cL } },
  56527. /* 28 << 35 */
  56528. { { 0x7532ad64b77714eaL,0xaa8b0d323e2ce07eL,0xaeaa4744b51e888cL,
  56529. 0xfd08f7188e7b5816L,0x57016828e993b6a7L,0x69a9d410ebc5408dL,
  56530. 0x2c0a373da91c70a1L,0x5b583311992d9800L,0x0000000000000197L },
  56531. { 0x93f02d300402323aL,0xeefa9c5481b765f8L,0x99557a399c28c31cL,
  56532. 0xb410e5842d8a08a0L,0x70568fa7fe1a202aL,0x4ac9eaec07bcf04cL,
  56533. 0xe4f69dc4367c9a04L,0xb483bddb581e3bc5L,0x0000000000000178L } },
  56534. /* 29 << 35 */
  56535. { { 0x54c022d2e7b598dfL,0x79e2cccef073700dL,0xa5336c980669c555L,
  56536. 0x27cdeec12dc4509aL,0xcfed8ba84197e364L,0xd45ef416e15c075aL,
  56537. 0x29454994f444e86bL,0x799e40a7cb4d8ee7L,0x0000000000000060L },
  56538. { 0x0000babdf8d904ecL,0x7653dc720e4e5eb3L,0x0d0087d05b6f7b42L,
  56539. 0x38be9b10a6df9d85L,0x1240afd3b918bb23L,0x23d4f0c546176345L,
  56540. 0x8242efed0c47ed2dL,0xd81070a93597fe3eL,0x000000000000002fL } },
  56541. /* 30 << 35 */
  56542. { { 0x1a52836470b32e66L,0x5b76dabb0e9b3086L,0x48b57c94382fa85dL,
  56543. 0x49de76759cd9f361L,0x6c744071b5f63c2bL,0xb7067ebbe741cfa6L,
  56544. 0xa95efc93702d19c9L,0xfd647a47cb409c01L,0x00000000000001c6L },
  56545. { 0x4c31f670f9f06368L,0x775b1698a075c748L,0xfb6cbb0fe7656e7dL,
  56546. 0x69c0f805da1881a5L,0x1267496cc2fe6b31L,0x0612fb94d8926ee1L,
  56547. 0x561807476cefc9dcL,0x5518665cf90f2aa2L,0x00000000000000e4L } },
  56548. /* 31 << 35 */
  56549. { { 0x64d0965b1258699aL,0x4318a056f7bd1b22L,0xe86e065bcbafcc09L,
  56550. 0x7607f0446a179875L,0x368d4f652cc4b9b5L,0xae4dd2ebe34674b6L,
  56551. 0x8ff7af5a487e0831L,0x6c65f9af48388679L,0x00000000000001f0L },
  56552. { 0x30078bec2c49e55bL,0x353adc525131ccecL,0x1a60d3e32e7e4f72L,
  56553. 0xcffb559b0d8f9cf7L,0xf7ba89a6b2eb6515L,0xee0b6927ba852015L,
  56554. 0x691a678d8a982a09L,0x70d6cf66d8d36085L,0x0000000000000178L } },
  56555. /* 32 << 35 */
  56556. { { 0x1683448de93ef527L,0x158fd9220e5b6f98L,0xcd0bcea6e23f2fa6L,
  56557. 0x455d35de15982d3bL,0x2fc788d7bda98d71L,0x65d44c08f139b889L,
  56558. 0x219749fd4105fd65L,0xa9ff816ae02f1fd1L,0x00000000000000f0L },
  56559. { 0xa2a53148e55948cdL,0x2d952f500cc0a0b5L,0x26f77e7161839836L,
  56560. 0xa8bf589aad87bb45L,0xaf21e0fc6a9296e4L,0x917881207d394e96L,
  56561. 0x47f3d38968622361L,0xf17141da090a8cb2L,0x00000000000001b6L } },
  56562. /* 33 << 35 */
  56563. { { 0x01279781a9d1af36L,0x135633e6209d1854L,0xca9959c34bcc2c26L,
  56564. 0x9ea2bc68a8553b2aL,0x5f97d137804b7466L,0xa1790fc774b3739fL,
  56565. 0xe150cdf4830b9a2eL,0x3b7a3f5850e4d1e3L,0x00000000000000bdL },
  56566. { 0x75a53d5299105ebeL,0x4fafc9b8bd00206aL,0x9fadf1e5d48baa99L,
  56567. 0xcd2c901c2526d67dL,0xc2888298bf4b9ef1L,0xa185bc6b5615d788L,
  56568. 0x66f7aae4c02b90eaL,0xb58dfd6d544bc9c7L,0x00000000000000d4L } },
  56569. /* 34 << 35 */
  56570. { { 0xbeac5a04dc3598afL,0x57afe9de8974646fL,0x729e165d14018728L,
  56571. 0xdb5aa250c48f69fbL,0xbd3732ca6a2a9532L,0xfb8b66ed0953ae9cL,
  56572. 0xc4b2791764a63ee2L,0xb3cee5a7b501889fL,0x00000000000001d5L },
  56573. { 0xf01d492bc01b6386L,0x940d92c8f50d3221L,0x5fb0717d1df2850aL,
  56574. 0x53198fadecdc9e39L,0x3b43aaab37221dedL,0xa776ceb1fdfd723bL,
  56575. 0x795561a2d6f780ecL,0x0ddf9112bd9c4c20L,0x00000000000001f2L } },
  56576. /* 35 << 35 */
  56577. { { 0xb2b958b192246bb4L,0x9ec1fcb042a8ec26L,0x7d035e6622501d65L,
  56578. 0xef96b924dca60d56L,0x40aa7306904e72ecL,0x65df4ceb51cae3feL,
  56579. 0x5588726f2e43f4adL,0x01b8b3c1ae60824eL,0x00000000000000d2L },
  56580. { 0x274d226496d3ef76L,0x706cf68d25663f29L,0xe211735d2bf5fb14L,
  56581. 0x40d4f39b286e96f9L,0x2c31dc264a2cee83L,0x074f6ff7ccc7a3dbL,
  56582. 0x049ab010073b5faeL,0xe8f39718a3d95de9L,0x00000000000000b2L } },
  56583. /* 36 << 35 */
  56584. { { 0xa58e956bdb750655L,0xfe67d0fba11d4441L,0x802a67090052ef49L,
  56585. 0x7b37040d5393e1e1L,0xad57cd92a8bb9edbL,0xaedc34ed19bbc0edL,
  56586. 0xb8126e59b39c8f27L,0x6a9f6ff2bda531eeL,0x00000000000000d5L },
  56587. { 0xc8b6e197c6cd7feeL,0xd9b0106ebfc7cd1cL,0x3c0e289b85aecd74L,
  56588. 0xedb8f5b324b94e66L,0x3d0c40fa4ce2b7b8L,0x849aa40d48dca638L,
  56589. 0xd6fc723dfa48d109L,0x4515db8af5dd0476L,0x0000000000000193L } },
  56590. /* 37 << 35 */
  56591. { { 0xb0683294383e3ce8L,0x844dc47e33ed51a1L,0x50c94e00d5996d55L,
  56592. 0x267925bb3bd6b4f2L,0x604bd4192b0e3cc3L,0x52095d9846421982L,
  56593. 0x55192496666ba499L,0x606df30c07e53b0dL,0x0000000000000092L },
  56594. { 0x3f2abad16f768ae8L,0xf2e7735ad41589c9L,0x61e8c3dce8516d55L,
  56595. 0x28e7a45b76303e72L,0x2b702b792e5c0204L,0xdf2882d56c2ea1b0L,
  56596. 0xebb4aaf6636de2e3L,0x9004996c994b5397L,0x00000000000001ffL } },
  56597. /* 38 << 35 */
  56598. { { 0xcc3ce574ac6839afL,0xd81a4213153dc2e1L,0x64829f778956f5daL,
  56599. 0x884a66eb32d3dfacL,0x9a52938ce79ff6f0L,0x0d56f215990e8a04L,
  56600. 0x723fbeb5a65e0186L,0xf97b1537897e6514L,0x00000000000000bcL },
  56601. { 0xf78198881229ee99L,0x08bf9c3750e4f43aL,0xf0b1d230513be81dL,
  56602. 0x8d920ee5da4f7856L,0x9e796bc35527eb47L,0x55d5a35111049ee3L,
  56603. 0xbb55397b9ccf6b0dL,0xfd8390b6d17e55b2L,0x0000000000000180L } },
  56604. /* 39 << 35 */
  56605. { { 0x8234b440d5d9e622L,0x32e428882d0e1ea8L,0xe6c81ec8c99d38ebL,
  56606. 0x699cd82e1c6911f6L,0x6de7dd4f91d95087L,0x61e4d9397e50aea9L,
  56607. 0xf41214b481faf2c5L,0xc1542f137ad1dfbcL,0x00000000000001caL },
  56608. { 0x17093e561e2098e1L,0x6971fadfde3dc089L,0xa5dd0f64be5223dfL,
  56609. 0x8d77620a6d9a65adL,0xc3f34c417cbf0ed6L,0x7d4db21d9d25c237L,
  56610. 0x09ca81b6e8037141L,0xc7fdf36262a876abL,0x00000000000001b9L } },
  56611. /* 40 << 35 */
  56612. { { 0xb817b9d19327a3feL,0xdf8ced7438fc86a0L,0x2f4869ed9e7c4a3bL,
  56613. 0xc669a7c7022e4d73L,0x0712075affe0fd8eL,0xc59f461860ab5941L,
  56614. 0x4c87781b6b168844L,0x0500f12a63e6a599L,0x0000000000000105L },
  56615. { 0xdf244b348e82038bL,0x78b822897d03382eL,0x8a995d805630be38L,
  56616. 0x217987bd6eec82f1L,0x58d1319f3e083c91L,0x21230442c486ee90L,
  56617. 0xd86f468d72c75e0cL,0x18abe0c5258783d0L,0x00000000000001f9L } },
  56618. /* 41 << 35 */
  56619. { { 0x2cd9bc83a782ee3eL,0xc6a91ca1e958c3feL,0xa54debb7cef64e5eL,
  56620. 0x13b5af135fa73ebdL,0xbca16674c51b44e7L,0x338f4db0f95d0250L,
  56621. 0x180e25555828c384L,0x6986868c0f86e48cL,0x0000000000000191L },
  56622. { 0x142eb0de6eaa2da6L,0x9637e5a057a6f82cL,0x7d8f0f3eb84c21f7L,
  56623. 0xa3ad6bbcd40afd1bL,0x1a3cd6cdc1aee54dL,0x279abcffa6b9ea25L,
  56624. 0xbd7ea9b9bada8b66L,0x326276b4e718fe19L,0x00000000000000f1L } },
  56625. /* 42 << 35 */
  56626. { { 0x65ac0bb815dc08a4L,0x9b10b48fc7249272L,0x2f699538403ae1cfL,
  56627. 0xc4f720464df2cc13L,0x17bc249e14a28ca6L,0x8df067e5a41e3e9aL,
  56628. 0xebbdab21cf185139L,0xe1eb3c38424aadb7L,0x00000000000000ecL },
  56629. { 0xb6e0e2277b05b001L,0xc762d6e11470a2b5L,0x6bc7a06efd43bfd1L,
  56630. 0x5a47815c8ded3264L,0x1c717f27bd22d935L,0xe646d0b9b9dd3b0aL,
  56631. 0x214767e6b264d058L,0x02cd9ec33f311afcL,0x0000000000000060L } },
  56632. /* 43 << 35 */
  56633. { { 0xc955625993b6ff60L,0x86bf8b7f7fca1753L,0xb14d3c3b96187d86L,
  56634. 0xab1072c272d71a34L,0xce7cbb0d13fdfdc4L,0xae9ae97bd5bd0917L,
  56635. 0xf3f150fb81d80e76L,0x5c972596c81ad986L,0x00000000000000b5L },
  56636. { 0xa46c1d9b50ed6bbdL,0x7d7a19d1be2ea4dfL,0x60b07dd08bbf9adeL,
  56637. 0x6588d7bf1aa70d31L,0x289483929a089f74L,0xcf439ad0c4f70486L,
  56638. 0x8753838310931614L,0xef1f89c0cfba8634L,0x00000000000001b1L } },
  56639. /* 44 << 35 */
  56640. { { 0x830e21f1e0d139ceL,0x999277dabb3c2b4dL,0x61d61a69008b64d7L,
  56641. 0x3ea63636ecc3e4e6L,0xf278f8248d368e08L,0x5b5021ec52c1a135L,
  56642. 0x49d77b1348ac51c4L,0x75a6dad231d8b33aL,0x0000000000000184L },
  56643. { 0x8979245368b03863L,0xeee0ec59459c5d13L,0x2215a723a762a714L,
  56644. 0x3c61664047adac25L,0x3ea9bf8cf74e1d76L,0xe81f677183aef634L,
  56645. 0xe90d300c801a214aL,0xbdacf70fbbdf6cbdL,0x00000000000000d6L } },
  56646. /* 45 << 35 */
  56647. { { 0x549ca8a62fc82ebbL,0x0966172fefb4da37L,0xbd657773f05f137eL,
  56648. 0x9273f3b9a0a14c1eL,0xae7674bea56d37c3L,0xe796fd98e7eeb54cL,
  56649. 0x690f7da335a31dd8L,0xa773d549f2bc1053L,0x000000000000019fL },
  56650. { 0xc61a2aee6e4461e5L,0xe788fcf6f11cab4eL,0x1e15e9ca7de73225L,
  56651. 0x203c64df06c82462L,0xb6c8a5f360b7c125L,0x10a30ced94087cf9L,
  56652. 0x244298d7aac7db9fL,0xadd593c3e38b5928L,0x00000000000001fdL } },
  56653. /* 46 << 35 */
  56654. { { 0xac92aa67efd692f8L,0x461a4f0414aa1b74L,0xf756506f6e0d1b70L,
  56655. 0x49b9332e7202c5a0L,0xd458392bf4a3eb34L,0x70a6f237903e034dL,
  56656. 0xf7e74bff376f0e79L,0x1bc49634e7406700L,0x000000000000003bL },
  56657. { 0x69e839c6aa0f8fe8L,0xa0b25fcee8e918f6L,0xf06f66d255fd9ea4L,
  56658. 0xe54dd6f4c525cfd7L,0x0fcb1d3e1bab49adL,0xfe97828a8d6460e0L,
  56659. 0xc8f87d5388be0227L,0x32bc6479a1578dfeL,0x000000000000010aL } },
  56660. /* 47 << 35 */
  56661. { { 0x05a8ef77b79714baL,0x221f14fe8c448461L,0x036b54d7ebb08ec8L,
  56662. 0xb1fe5c5abc4ae646L,0x68b64241fa20e161L,0x6c4ed74f692e9ad3L,
  56663. 0x906e788265157d53L,0x34dba9f715097f12L,0x00000000000001e4L },
  56664. { 0xc9480d587381885cL,0x028e2690706a98a3L,0xeeec9a743a34e3a5L,
  56665. 0xb249016cf655d964L,0x305946104c688049L,0x9e7bcdf9637460ebL,
  56666. 0xc1a40951e8f969beL,0x144d1507a47ffb9aL,0x00000000000000b1L } },
  56667. /* 48 << 35 */
  56668. { { 0x93f63503110a8e2cL,0x8bcb929fed94cafcL,0x44934ed35baa912cL,
  56669. 0x4dfc0eac7920fec0L,0xf2f642bb86b99a2bL,0x0e2e59bfd0903505L,
  56670. 0xcc44edd3ef99237aL,0x98cde5795af6f89aL,0x000000000000000fL },
  56671. { 0xf279af6dd1ecb2d4L,0x2c520d717a4ba4e6L,0xce33faea662b4f22L,
  56672. 0x5d2c6df333ddbc4eL,0x5c2f283138dcc3b7L,0xbeea8bbc5e64ea59L,
  56673. 0x434aad230772c227L,0xcd6d33c871062cecL,0x0000000000000007L } },
  56674. /* 49 << 35 */
  56675. { { 0x59bd148246810d15L,0xbc56caa70ec29531L,0x11fe2559ba32ad70L,
  56676. 0xcdeaf7da9b04c10dL,0xa556a5eee042abdbL,0xf5bada661c47b667L,
  56677. 0x134006e409d62e56L,0xede1067f8a871ddbL,0x00000000000001a0L },
  56678. { 0xe87c38b88ef287f2L,0xee72603243670334L,0xe21a09b60809c366L,
  56679. 0xaf24199e33fbad00L,0x99a879c66232ebebL,0xfb8b08a73b1c8edfL,
  56680. 0xe8cbbe4589ee6cf4L,0xf4ba2e5b2ecf414aL,0x00000000000000b9L } },
  56681. /* 50 << 35 */
  56682. { { 0x332d72a9ed527173L,0x4c71937716c49b89L,0x7a127d87b684d892L,
  56683. 0xedb45e899f77ace9L,0x68ecf908296cadb1L,0x917a4d8b8ce0247fL,
  56684. 0xc7c634e3094ff83aL,0x095bd5da5ccc4d40L,0x000000000000000eL },
  56685. { 0x27e9246e4f7ddfa2L,0x7ebad205fca8cbe5L,0xc99c9b0be453080fL,
  56686. 0x1896f632232df338L,0x2e0647ce4226a666L,0xac91062c634cd754L,
  56687. 0xf0df151c71368fc4L,0x53d1a5a831f38365L,0x0000000000000114L } },
  56688. /* 51 << 35 */
  56689. { { 0xe1e928f1f39f6d35L,0xaf73a1624b4eae8dL,0x599d1e428e29612fL,
  56690. 0x6e7b4c2da2bd2b03L,0xcaa94b7e5ee08f6fL,0x26452280a708c9e4L,
  56691. 0x4753c0e9eff87fb1L,0x9b9aacc612d79464L,0x00000000000001ffL },
  56692. { 0xece3bccc055d6691L,0x80f7b76baa64ed7dL,0x63a1053ef4adacb6L,
  56693. 0x3f5e833d69482071L,0x8ab2d2e776d37d8dL,0x7b4984d4509e5d79L,
  56694. 0xe5a32d95009cb254L,0x12f2ee9dde547828L,0x00000000000000ddL } },
  56695. /* 52 << 35 */
  56696. { { 0xeb1a46cb0fe7547cL,0x7ac12a6c6dc6c819L,0xaa7ee65698dfd5bbL,
  56697. 0xb28ce5904b306758L,0x4d7945bd2c268cacL,0x10ac23b8b94ae165L,
  56698. 0x6e1efae24834d9ffL,0xb2b5efa68220fd25L,0x000000000000001fL },
  56699. { 0xbff886d8844e5b7fL,0xc242fb3908602f14L,0x9f9bce94f58b4aa8L,
  56700. 0x80e46cc5c48583ffL,0xcf29272952d4ade0L,0x38f3ac0b3f65f345L,
  56701. 0x8ff60c1263b097e5L,0x35ecd555287b7dfdL,0x00000000000000d3L } },
  56702. /* 53 << 35 */
  56703. { { 0x278102a1a5b222e4L,0xdc5f6121b47a6032L,0x2d38216511dbcae9L,
  56704. 0xc63c21bf42bdb2c3L,0xafb68446d7dcac98L,0xe3685e2c3cd2e244L,
  56705. 0x414b4974731f6884L,0xd741f91c9dca2bc9L,0x00000000000001e0L },
  56706. { 0xd0a669e178ac8c45L,0x07fa58a7b7b43ab5L,0x5fd07638f2052d03L,
  56707. 0x4f0e4b2faa9999feL,0xcb9ac71370fd1eaeL,0x9410da48ebee3806L,
  56708. 0x7fcbdae832a700beL,0x488b3853abe7c10cL,0x0000000000000154L } },
  56709. /* 54 << 35 */
  56710. { { 0x8868bd8fe499eecbL,0xd00762e79257c00bL,0x4e58b972773fae1dL,
  56711. 0x0aff71c0bac2df50L,0x3ed0b4a37887e1d6L,0x627024cc558b9dacL,
  56712. 0x9e13a0f7c4135286L,0x4491810f6ebacef7L,0x00000000000001f9L },
  56713. { 0x6d08b913f5189d9fL,0x8312190a24b2fc37L,0x3c282ef702c1068fL,
  56714. 0x40cba7b5bcc75f8aL,0xb992a9c6dd4704f4L,0x437dc8551cf0f9d2L,
  56715. 0x7f902ae7786d0addL,0x464c08c2f6b23723L,0x0000000000000125L } },
  56716. /* 55 << 35 */
  56717. { { 0x153be35473256476L,0x632f6ad7cdbfb55dL,0xeacb063c1701fa3dL,
  56718. 0x711992817e50dabfL,0x8e70efe0e361247cL,0xeef996913d6c2584L,
  56719. 0x99342b365f1a7172L,0x82aa3e46a3be3898L,0x000000000000013bL },
  56720. { 0xb6926ffd3bcc0564L,0x80027de19f27bfb8L,0x0a6cec9deb09b4cdL,
  56721. 0xf952ee6b237c12e6L,0x20b2d4160475ed2aL,0x533c12b6f0643f11L,
  56722. 0x11bbdecdac6468acL,0x651e84e95b039866L,0x00000000000000c3L } },
  56723. /* 56 << 35 */
  56724. { { 0x90a60e09bd58611dL,0x19f9e897807acd15L,0xd14b65a53359e712L,
  56725. 0x3a8cd601ba2e3c02L,0x3ebf3dc780855419L,0x0ba3dcc9993da1c9L,
  56726. 0xd926fa9c763aea46L,0x5ee8f9003720bb78L,0x0000000000000094L },
  56727. { 0x9ab2f1db266ccac9L,0xc5c9efa5c6c9d71aL,0xe65768f4ba1a6c65L,
  56728. 0x80f0f12041ee29cdL,0x8fbbe2f2a9fda865L,0x678e08db3f325a3cL,
  56729. 0xd72a224576840159L,0x934c1904a4d8a7b7L,0x0000000000000108L } },
  56730. /* 57 << 35 */
  56731. { { 0xb8c07819e38a2661L,0xf92e9402c650e59dL,0x850a80f7d03a96cbL,
  56732. 0xf0ea0c7a76ee02d4L,0x02d96e07379b1ef3L,0xd5859369a8a6f8e5L,
  56733. 0xb4f7b27644e88c39L,0x8f739a71219c6d30L,0x0000000000000186L },
  56734. { 0xf88fbdd26ae83e11L,0x1fc231f84717aec8L,0xce4d216fe7ac9dc8L,
  56735. 0x8c12832abc741f40L,0xa80e842a9f5a5cb4L,0xb9bc23a867283096L,
  56736. 0xf430ff4d9f6dbbbbL,0x45c97a92f754b3cbL,0x00000000000000ecL } },
  56737. /* 58 << 35 */
  56738. { { 0x16ae9ad4b70d4afdL,0x9c91d2ff7b8ce81cL,0x3e1a68ffeaeff601L,
  56739. 0x99980d7d3c05df00L,0x96c29797ec215736L,0x6b6bf83e0a99316dL,
  56740. 0x8054259cf62899d4L,0x9f39008f36676143L,0x0000000000000179L },
  56741. { 0x2a1d68baa09fd65fL,0xb072da01ec5477d0L,0x140d29fa404cf420L,
  56742. 0xdea8aef7aeb69f20L,0xea9606763125f663L,0xa26de345935e02bbL,
  56743. 0x4c0152b7e9df1fe1L,0xda6d781f6b1162bbL,0x000000000000019dL } },
  56744. /* 59 << 35 */
  56745. { { 0xbb583f128d5542aaL,0x1e29f9ecad0e801eL,0x02f793efaccc9b85L,
  56746. 0x1860130f78b3365aL,0xc802165b57c401c1L,0x6f5837856b64648eL,
  56747. 0x78f10b17e6256a68L,0xcd0480700f5c43c2L,0x00000000000001b8L },
  56748. { 0x1e171d092dd5f89eL,0xc80605272a1458eeL,0x63b259191e335fe5L,
  56749. 0xddf7e4de6c2fe24aL,0x80d9ad40e1a3ca49L,0xba447a3c45a9751bL,
  56750. 0x79a8b213fbe20918L,0xf998902bbd826959L,0x0000000000000114L } },
  56751. /* 60 << 35 */
  56752. { { 0x4d0c9dda2123b077L,0x3719ed5f6ec3e16fL,0x76e14fb3c9becf2aL,
  56753. 0x7dc73e7accf6aa22L,0x0a75e100ff4a5f27L,0x2989ac9a67dc8054L,
  56754. 0xb33b298936f3d4bcL,0x0d79fbdf97f57f76L,0x00000000000001b4L },
  56755. { 0x375f79ecdba7f5bbL,0x74babfbe620e1045L,0xaab000d015cd82b4L,
  56756. 0x8d9157aa4d992702L,0x6bcd5a63d172ff7fL,0x21e3f97b1b8b959cL,
  56757. 0x441526998f55153bL,0x77e4a535e4da53acL,0x00000000000001fbL } },
  56758. /* 61 << 35 */
  56759. { { 0xc760c5eb35a8ed76L,0x8541ae9427f20985L,0x8a3d6f6810483c73L,
  56760. 0xd591830c3769b499L,0x398ce1dcc595ef94L,0xbc869a47fb6918d3L,
  56761. 0x9142551146b1edc9L,0xf492ed9dd2a4555dL,0x000000000000002fL },
  56762. { 0xd7e24885b950c177L,0xf90c3a0f3f6c9fadL,0x415add2251346351L,
  56763. 0x756021d26e45e3f0L,0x72d65b4ecbc2463bL,0x53f3c07f1d91adb8L,
  56764. 0xfd0b41b9a53cbedfL,0xf9a3af4ca9280662L,0x0000000000000112L } },
  56765. /* 62 << 35 */
  56766. { { 0x6a014cb6220edea6L,0x00dcaecc734585b6L,0x8d16a80d06d56992L,
  56767. 0x3aa9c24e844d8382L,0x71822c10f37e3563L,0xca2e4d4a8db2350dL,
  56768. 0x799322647ddafb6eL,0x8529609524430c95L,0x0000000000000125L },
  56769. { 0x8c63f30844734d8dL,0xf46aabb1d60d0ba7L,0xe8395fc9b18fc0c3L,
  56770. 0x042d21115a21c6b9L,0x1b5e8a27cdcb4261L,0x50632338e3efa848L,
  56771. 0x60640eddc6805c4cL,0x6273c772ea293267L,0x0000000000000127L } },
  56772. /* 63 << 35 */
  56773. { { 0x386e53df690f045fL,0xf7efec6f9776e13eL,0xd24ce88d1988fcf0L,
  56774. 0x0b5d478a3fc9102dL,0xc08a3154a9efc4f5L,0x06d0820155e4fb51L,
  56775. 0x03e1529886b656d1L,0x456f88bd833c233cL,0x000000000000013dL },
  56776. { 0xbba27abb7db3562aL,0x05c60b050a210d7bL,0xd46a2c3778da9e61L,
  56777. 0x7b6c46bc07fcae8aL,0x3993caae6c9035bfL,0x48e1c8d96b90aeb9L,
  56778. 0x01561d3435f0b54aL,0xe9cf0fd81ed47430L,0x0000000000000003L } },
  56779. /* 64 << 35 */
  56780. { { 0xa6149ac821a91383L,0xfae0515c63176a50L,0x436d0d6a696e3e7eL,
  56781. 0x3d44ea3eb32b2e16L,0x142644cc66f3bbe0L,0x697d5cef82322b00L,
  56782. 0x384543c64c388edbL,0x4afedcffd395d1d1L,0x000000000000002dL },
  56783. { 0xa7b35fac84cec5f9L,0x003daaa65d827e5cL,0xc7c5f3d3dfc8263dL,
  56784. 0x8dca1315d98790d2L,0xb1f54568f00346beL,0x3e6f6876de680d87L,
  56785. 0xde73e95b6af2e269L,0xa5969ec77e8fae93L,0x0000000000000185L } },
  56786. /* 0 << 42 */
  56787. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  56788. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  56789. /* 1 << 42 */
  56790. { { 0x747e8dddbc0ffee5L,0xa50f058afb9178a5L,0x14f41c93b2d52777L,
  56791. 0xf7c95492aecac13cL,0x9698bef3b7f715d3L,0xbd7fabc2f132c199L,
  56792. 0xbec856136e9b47a4L,0x08c7486e62f85cadL,0x0000000000000036L },
  56793. { 0x3a44d74eb39c9ba2L,0x22b4c6aee89de157L,0xfe4985bbb93dc56eL,
  56794. 0x85d435bfdd1201aeL,0xa01e7f53aa68d442L,0x2a4fcf509d9afcdaL,
  56795. 0xcc4c5b5c6b95d6f4L,0x5e8afa0e8c390221L,0x00000000000001c1L } },
  56796. /* 2 << 42 */
  56797. { { 0xaa498bba799e30a1L,0x7e193db1562eede4L,0x4dc49402f4a94bc1L,
  56798. 0xcb63d972c4d7d024L,0x98d59716f6778b61L,0xe6c0a829b40261e4L,
  56799. 0x5f1738fb65e3b28cL,0x3c4e80d216a75ce7L,0x0000000000000035L },
  56800. { 0x376d19ef733ded62L,0x9400e36e0a93203dL,0x013ef7caf98ba94bL,
  56801. 0xb7556ca035756aaaL,0xc6b8b05a2f643611L,0x23891b32438f759bL,
  56802. 0xecc9927e27f69733L,0x2ebe0180969ae58dL,0x0000000000000069L } },
  56803. /* 3 << 42 */
  56804. { { 0x9417c585174bac49L,0xac479ed35fe90109L,0x40cb51ddc374556fL,
  56805. 0x2767e7c46cf0ff89L,0x0df9e9546a284db1L,0xbf89af89b317ca42L,
  56806. 0x863018a69d05c5e5L,0xb68c6f8129717e9eL,0x0000000000000151L },
  56807. { 0x69a97e79a12e3bd5L,0xc85780bf4a057173L,0xab4d585f2bfaaeadL,
  56808. 0x039589dfaea4c334L,0x38823f8a9a840138L,0xe4448b345b0d8117L,
  56809. 0x9fc3060247e9d309L,0xf9f42989a44f2124L,0x000000000000004bL } },
  56810. /* 4 << 42 */
  56811. { { 0x6f7f2fe8b6813f72L,0x95f979fe940210f0L,0x42cbd8d71a409657L,
  56812. 0x2e2d2f08474c141bL,0x63e5eff052a6a362L,0xcd24503eb1c5a27dL,
  56813. 0x30335d77db08b256L,0x827057cf9724bebfL,0x0000000000000003L },
  56814. { 0x6b372ca7dc5feef6L,0x7557c331d06696b6L,0x4b10d90b4a42090fL,
  56815. 0x2c93e9846f10352bL,0x72ac24ff2b8ded01L,0xfa53f5dad8c833a6L,
  56816. 0xc166ed4b7c9354caL,0x81df59a09e3b4cf5L,0x00000000000001faL } },
  56817. /* 5 << 42 */
  56818. { { 0x3d37b5c3f1e8092fL,0x52f9d7f02083e034L,0x2f7de776ee86398eL,
  56819. 0x302298c9ac0cfc7fL,0x08b41a8f7f5bbbf5L,0x331ce968d91f52b2L,
  56820. 0x1ec1c1dc1cb43d1cL,0x6c93d72038545bc3L,0x0000000000000121L },
  56821. { 0x9fbb15c9f1925474L,0x2779a1a6c6e0020dL,0x367a921594e71878L,
  56822. 0x4a1ce464e2692460L,0xa3c5e4560c3a5aefL,0x5dc2ef3ced47ac93L,
  56823. 0xd27ada21415bd438L,0x90ca8c3166b0f5ebL,0x000000000000007fL } },
  56824. /* 6 << 42 */
  56825. { { 0xce8865dc68f7cf0dL,0x9734bed0051db980L,0x6c1ebfc3805247b4L,
  56826. 0xd80a3c973be516f2L,0xfdd123b9beafd70bL,0x6dec300ae3a84da4L,
  56827. 0xe6d7e14f24178c07L,0x39810dafc4a67c89L,0x0000000000000067L },
  56828. { 0xfea3bf4eb47aea7eL,0x8394f3c24a4fe2ceL,0x50753f252a191024L,
  56829. 0x39846eca1cc794e3L,0x6ce5aa37c806fa24L,0xacacd14890982be7L,
  56830. 0xbab241b1ed46b6b3L,0x7b696b06ecc56027L,0x000000000000010dL } },
  56831. /* 7 << 42 */
  56832. { { 0xda69cd2586c38b08L,0xfca9f4e06f3fb63dL,0x80d0a99f6a96c788L,
  56833. 0xd69615b854e77f31L,0x17eab3a318a78b2dL,0xc66044b4227cf99dL,
  56834. 0xd2ed45988076af9dL,0x2bfd33d7c6fdca97L,0x000000000000014aL },
  56835. { 0xd6701f8ed292c052L,0x0b5afccd75d952dbL,0xf6cb5727fc4b2866L,
  56836. 0x39ec93d2bb220367L,0xafb0b16b7c18bfc9L,0x198e2dfd9803aff0L,
  56837. 0xc5ff9fc4d2b124a9L,0x7ff8ab6a82414a7eL,0x0000000000000009L } },
  56838. /* 8 << 42 */
  56839. { { 0x8ce9e114e43c6a8bL,0x4ee9f8b0804168b8L,0xf5fffd5b5fa74509L,
  56840. 0x4589d84cdc20088eL,0x00cdb864d8cca5adL,0xfab8ee1674cb7285L,
  56841. 0xd5e46fc6ab702098L,0xcaeb2ef79cdb1896L,0x00000000000001ecL },
  56842. { 0xf5886bbc26b04438L,0x61613d0ed9567198L,0x749eb5d8ca99b91eL,
  56843. 0x5861944d53b41996L,0xdc22071c54df4765L,0x1f6288a8b8414aefL,
  56844. 0x6b34db2f7ff1c5eaL,0x5edf2873ff5262b0L,0x000000000000002eL } },
  56845. /* 9 << 42 */
  56846. { { 0x239a57b62bd9413dL,0x341d26f30136f66dL,0x9e4222cf78b3a484L,
  56847. 0x76a6fe313e227fb8L,0x9d724ac0af025ba5L,0xddc57fc691ab5699L,
  56848. 0x8b768f35e278e0ceL,0x485f7b177c12687aL,0x0000000000000198L },
  56849. { 0x3d6e79f4688c325fL,0x45b4d50680cb1ab1L,0x92f89190ab8640eaL,
  56850. 0xd70c0dc4e079ffe5L,0xa80c729bdd78e9ecL,0x2b7956208591ab90L,
  56851. 0x5cd2ea6e7f90dc9bL,0x7790417ef057c6c7L,0x0000000000000024L } },
  56852. /* 10 << 42 */
  56853. { { 0x3688c2cfb08b842dL,0x46e70a8b509af85bL,0xa580b032ae4e0ff6L,
  56854. 0xb945d72433674d0bL,0x58bfa0dbb95b1c05L,0x3e5e9d8e35ca8038L,
  56855. 0xe0ef29bd3ad503b7L,0x9f300fc22fae5708L,0x0000000000000148L },
  56856. { 0x7c225981128ae9feL,0x1d205a4dd0101b45L,0x95c33725f98e3575L,
  56857. 0xc2c9df812443a70aL,0x1be7bd1c134b6ea6L,0x70b8bd656f1a4e1fL,
  56858. 0x7d3e41455ee45a2eL,0x27bc05477e8f38cfL,0x0000000000000117L } },
  56859. /* 11 << 42 */
  56860. { { 0xd8495a1a4ffde107L,0x82acb1112b7f0d9cL,0xaf106329c3622c88L,
  56861. 0xe61140ff59f698b3L,0x75bd953659068866L,0x03d5841c591b7a27L,
  56862. 0x967eb69f7bdc7639L,0x504f158a5e4ec11cL,0x0000000000000137L },
  56863. { 0x4b1ed56a9f2d48a4L,0x9f0ade2220312abcL,0x07898cc964b74837L,
  56864. 0x082d0eea21d92392L,0x6c1103086781ebf3L,0xef9ecbe4e9ad8425L,
  56865. 0xbe46c0f330b02c57L,0x2b1d60726267db5aL,0x0000000000000139L } },
  56866. /* 12 << 42 */
  56867. { { 0xcb9e50b3cc6dce31L,0x0b656fda60399388L,0xd3104fa3600d4b62L,
  56868. 0x7cfc68acb660e0eaL,0xd8c2218add9f415fL,0xb3e0d7c626c649d9L,
  56869. 0x37e6279f4d09f7fcL,0xe9ef720e136ad787L,0x00000000000000e3L },
  56870. { 0x0bada672d03870d7L,0x553ef23f815592e0L,0xc1132ad8b8dd5471L,
  56871. 0xd8666e9fb80b521aL,0x38f49d542c62908bL,0x3095f1bec9f15b3cL,
  56872. 0x5aa771bafe8866d7L,0x0fa253a28590b3cfL,0x0000000000000015L } },
  56873. /* 13 << 42 */
  56874. { { 0x6e37d1fe56b126a7L,0xdb1215088ecf27a8L,0x3012eca692def89aL,
  56875. 0x03761cf976effd5cL,0x9b49af9365fe555cL,0xd4cd598969a41926L,
  56876. 0x506c406f65022be0L,0x4b49c23050baebc6L,0x0000000000000154L },
  56877. { 0x6fdd3549c425eca7L,0x42690f8c7dd8dd57L,0x866a6a5097938d4fL,
  56878. 0x6e77025f9055da56L,0x7ba19f35e0dd3935L,0x57a71e7db1e74f01L,
  56879. 0x4a9fffaa48000494L,0x5c18a259085743ccL,0x000000000000011cL } },
  56880. /* 14 << 42 */
  56881. { { 0xd38ceb253d23e873L,0x94c2501ab6c80ee0L,0x8d03f7c2d5c233a4L,
  56882. 0xd86ee22efb9f0759L,0x8b57c3981344aa31L,0x21f15c8d4b44d7e4L,
  56883. 0x22cba67334bf4ed1L,0x2d459d4f587690f1L,0x0000000000000038L },
  56884. { 0x3b954f93b9acda8fL,0xc41e5265e7721250L,0xc76c15110881961bL,
  56885. 0x2a0b4efd6e53d2c8L,0x350455dcec0adfc1L,0xd7ac97bd922255b8L,
  56886. 0x39d023ee4c4c50cfL,0x1fc03d079473b093L,0x0000000000000183L } },
  56887. /* 15 << 42 */
  56888. { { 0x57c3a1e1315a5a83L,0xb75058039091dc2dL,0xb9c26bcd9d320a7bL,
  56889. 0x13c81a8a12c8df41L,0xab970177f757a70dL,0x8f2be088a4a27340L,
  56890. 0x01636d7437506668L,0x940d42aa8a92e58fL,0x0000000000000025L },
  56891. { 0x32a6a8b7201c31e5L,0xd1c8f9cb0fcf80e1L,0x7fc5fd9302fcef41L,
  56892. 0xa09c4c02472f6386L,0x6a852fb75767dd02L,0x995703ec3d17f69bL,
  56893. 0x10cde7934fac3a32L,0xafa0f0edf71bbd98L,0x0000000000000065L } },
  56894. /* 16 << 42 */
  56895. { { 0x49d0e9bbf1a37365L,0x650f8e4e523ffafeL,0x37b691a0517b3aacL,
  56896. 0x73372e761824cba0L,0x0c0a1ac3063372e3L,0x2387470841aa63edL,
  56897. 0x1d70995daf840388L,0xea733e27491b2e8dL,0x0000000000000122L },
  56898. { 0xeb6e7c3b573b43edL,0xa645f29308f87584L,0x19a56fe0af100aa9L,
  56899. 0xb767ce92b1d5fdbaL,0xdbf9b1b20c349030L,0x42f0cdf3586e1ab8L,
  56900. 0x65876bea99631140L,0xbf016fd8268af542L,0x00000000000001acL } },
  56901. /* 17 << 42 */
  56902. { { 0x746b65d463a3307eL,0xdcff899fa57f17f0L,0xd9adca93946f6eaaL,
  56903. 0x0ebe65fc04756a3bL,0x2653a837dfb99071L,0x3a80de4c3b8ce452L,
  56904. 0xc64562cd4fff1594L,0x02dce3ea859d741aL,0x00000000000000e9L },
  56905. { 0x1a949222944de68fL,0x1535fa32a48135b2L,0x2691dcbf6a03cc87L,
  56906. 0x99ddb4450fb1f4e3L,0x621c99c2eee93dd0L,0xb9debe99ffbc6597L,
  56907. 0x64a5568250d2fbbaL,0xdeefd277ceda3428L,0x000000000000017eL } },
  56908. /* 18 << 42 */
  56909. { { 0x379bfe948e2cc41eL,0xef843d504cbaff27L,0xa541389d608dd952L,
  56910. 0x7b3cda475d24e091L,0xa66d480fd051a610L,0x082af70b435609c5L,
  56911. 0x00529182762a5791L,0x6f4651518460f5f8L,0x00000000000001d3L },
  56912. { 0x53c20bfeab267f94L,0xb8917621293967f1L,0x176c8af2c7ca82c7L,
  56913. 0x875c7792331a2dfaL,0x0a34cdbeaace8970L,0x2228eeade29878a0L,
  56914. 0x64ebbedcb9e6b75eL,0xebc8fa2c87e5fbcfL,0x000000000000001fL } },
  56915. /* 19 << 42 */
  56916. { { 0x677eec9a5c8cb438L,0x898a62466444b1f1L,0xfd46a21196472331L,
  56917. 0x7a4f96db39ad4d79L,0x24a03f04113e2f4bL,0xe39a949531a0af3eL,
  56918. 0x7efd887bd3774f4dL,0xc58e8360638e2e62L,0x00000000000001cdL },
  56919. { 0x8e289acabcd909afL,0x5c99d510d5131f29L,0x5d5122b8e85edbd9L,
  56920. 0x919b2e2d6e18283dL,0xd740dddc5070b20aL,0xea31401ae4d879e2L,
  56921. 0x14ff112abc0c3eeeL,0x1a6ad04b61dd98e5L,0x000000000000012fL } },
  56922. /* 20 << 42 */
  56923. { { 0x3133809747525f3bL,0x49551e31c6cdf694L,0xdfbe83625b9451f1L,
  56924. 0xfed9c23bee491931L,0x5270a02f324d645cL,0xe323781f4175d154L,
  56925. 0x31511e52ff475990L,0x0b60cda369b0445eL,0x0000000000000082L },
  56926. { 0x822e418092fa5405L,0xe78f939b6b4d67b8L,0x6f09c296265e1b54L,
  56927. 0xf6ef60ddb6baa0baL,0x1d83f2968be593baL,0x777e06327e71d499L,
  56928. 0x5db334162e0ded5eL,0x6800dc32357e1be4L,0x0000000000000077L } },
  56929. /* 21 << 42 */
  56930. { { 0x519d71ba17d9dbd3L,0x70caf81bde95e99aL,0x067d64fb20043aefL,
  56931. 0x533a02d15cd816c7L,0x662d9255fa0316f7L,0x7a04f551f523f7a0L,
  56932. 0x5e00f334ee1e5d9aL,0x246b5aebe7439ed3L,0x0000000000000132L },
  56933. { 0xdf48079568d4c2bbL,0x945bf6c579f10fbeL,0xe817703aa572433dL,
  56934. 0xd9c8580c61013cf1L,0x0e77739ac9d9bbe6L,0x2d2a8c7aceebe40dL,
  56935. 0xe5561526c853e2ccL,0xa6cf89623e9b763fL,0x0000000000000147L } },
  56936. /* 22 << 42 */
  56937. { { 0x284322075173f4b6L,0x774e95f84181e605L,0x36b97d1c4247bcb6L,
  56938. 0x46efcfce781dc2fcL,0x401d5ab2e22608d3L,0x6b854062c32b8fd1L,
  56939. 0xb99d2e90c0486953L,0xefcb9abbaa770dd4L,0x000000000000018cL },
  56940. { 0x44a667184ef47c94L,0x3a5e72bf4f3e8c89L,0xff303101df7dc70dL,
  56941. 0x4029bc66a63c3782L,0xf74a21b993c6a3feL,0xca320f1afb0d401eL,
  56942. 0x80d8bd7447c8d5c7L,0x20da72fc97e610dcL,0x000000000000014fL } },
  56943. /* 23 << 42 */
  56944. { { 0xe29af3f05a5540f8L,0xe1ce7efc815f0154L,0xe3ff74e8e67013a7L,
  56945. 0xc51d9c7ce89998d7L,0x93913371cde4787cL,0x72b290126ed58fccL,
  56946. 0x61f6d6b908f0c14fL,0xe3aafef0f44b2791L,0x0000000000000119L },
  56947. { 0xc72229012a036f1bL,0x1ecbb2c2387c8c54L,0x6ee742220b32e10dL,
  56948. 0x51440a0c8a95e719L,0x3d20b7fb998fcd81L,0xf52f182651a10e47L,
  56949. 0xbac05579a9edb43cL,0x05aefa586b0f7532L,0x0000000000000143L } },
  56950. /* 24 << 42 */
  56951. { { 0x7992da26804ed5e3L,0xac4677b05fcc6497L,0xb1a09585208ebd95L,
  56952. 0x1c0cfae7199d3419L,0x7c862f540715a11dL,0xd23e934f9cab55b0L,
  56953. 0xfd5d250ad4310fabL,0x0976782caef426bdL,0x000000000000005eL },
  56954. { 0xf78b0a7a2a7d5b37L,0xf31c5594fedf69deL,0xb2b9e3f157f76616L,
  56955. 0xe9cfa2f23040cca6L,0x8a91bf0c5a72502eL,0x71f8a5b63c810d16L,
  56956. 0xc9701ce42a7666dcL,0x2da80d6c216a59c5L,0x00000000000001e8L } },
  56957. /* 25 << 42 */
  56958. { { 0x869a4db4310de1c9L,0x81d5423c32f9190cL,0x42e3244d1db414efL,
  56959. 0x09c8b865ced2746fL,0xd49a9c37e3ebcd63L,0xf0120bc11b4c24b1L,
  56960. 0xabf538a709b52979L,0xe04be5a8f0f3fce2L,0x0000000000000139L },
  56961. { 0x17738b903126b962L,0x723f5845c088121aL,0xe3d9c64015629c9fL,
  56962. 0x509e97d95b8dfc68L,0x578a3869fc16c27aL,0x1bab4b8ea2a47461L,
  56963. 0xe1443bf0c957e6f6L,0xe9cc17852bcdad9dL,0x000000000000002eL } },
  56964. /* 26 << 42 */
  56965. { { 0xa2f2f2c1f23794e6L,0x6f6281621181e396L,0x2e9bab64fced0d2eL,
  56966. 0x631f7e60c6bd7b02L,0xf0db7f12468fbec3L,0x854afaf573c8b79eL,
  56967. 0xf579fbedb0de4a3cL,0xee13e418678e1e08L,0x00000000000001b1L },
  56968. { 0x1c725f6e874ac8caL,0x85414cf3fbbfc22cL,0x5262e129ec3fb934L,
  56969. 0x6facf53f4a0f37deL,0x6811fea52216fde7L,0xf63e665515b977caL,
  56970. 0x63c2344877533feaL,0x2481232a38302196L,0x00000000000001c5L } },
  56971. /* 27 << 42 */
  56972. { { 0x5e06ff9c56e023ccL,0x8a89de8fdb3e3bc7L,0xa103d54745fa4924L,
  56973. 0x788c59a2e1c033e8L,0x4f7c33e967f782afL,0x2f37668d9ba93c12L,
  56974. 0x73d6fb8aa10f70a2L,0xdca22ebded2fd7b3L,0x00000000000001c7L },
  56975. { 0xf6b6e6fbe8f38522L,0xcc7d7c45a5a249aeL,0x6a5235175bb4caffL,
  56976. 0xbe60043dbe38ee66L,0xf0dad8cd1c96b5f5L,0xb597c1546c3e4799L,
  56977. 0x3f06c2ab2c9871edL,0x4581dffb3963ae2bL,0x000000000000013eL } },
  56978. /* 28 << 42 */
  56979. { { 0x46fbcf70aad63226L,0xc023eb8af2c43f64L,0xab1b684ca3f42111L,
  56980. 0xc6262621d12cea22L,0xa2539d86ad523f98L,0x76b98970b45f0b6fL,
  56981. 0xf9874df8d788809cL,0xb24620c7ab358b89L,0x00000000000000c1L },
  56982. { 0xdd50316f92e3b976L,0xb6a2fed9ecdf1dc5L,0x746bb5d67f40b693L,
  56983. 0xb76ce9e40572240eL,0x5c65a823084f25baL,0x51ba6ed9b9890ec6L,
  56984. 0x3930dea2cad192d9L,0x2c78150416dd9bfcL,0x0000000000000126L } },
  56985. /* 29 << 42 */
  56986. { { 0x3e8797c7ef8491edL,0x7842b2dd5f13493eL,0x2c99f9363afa2890L,
  56987. 0xe3e157b785014501L,0xaea92ae17774f4f0L,0x05b7b3bc560e63daL,
  56988. 0x3d2b8875bf8030a7L,0x21095ef3004c61e7L,0x000000000000004bL },
  56989. { 0x203687226361e4fdL,0xc9d8ecca7cb95f1aL,0x1063e19ed5c7cc5eL,
  56990. 0x0bb0e71d020a9508L,0x5b895541fb092e99L,0xb1733fb8dae4a59cL,
  56991. 0x2a3ef56b29edfb53L,0x75c1ba1c389ab3bfL,0x0000000000000090L } },
  56992. /* 30 << 42 */
  56993. { { 0x0c3e572a0fc1e4e8L,0xdbded0b529787f66L,0x103a656853b84d7fL,
  56994. 0x939253ddc74bef10L,0xcc3f928f5bb84406L,0xbab921429ba6615cL,
  56995. 0x41a9b386cf35dcdbL,0x750c32e133bd6fc7L,0x00000000000001cbL },
  56996. { 0x0fc37bf5d0b0d141L,0x213a97d1ad59d2e5L,0xcc1dd07db86e3859L,
  56997. 0xb3b4668f4a229914L,0x258c47aac41c94f3L,0x51d26a397745d941L,
  56998. 0xebbd50931809b9a4L,0x9a31e3caa6f1976eL,0x000000000000010eL } },
  56999. /* 31 << 42 */
  57000. { { 0x12b398e7ecb584d1L,0x71379d000fd02cf8L,0x5d69a03de25d53e5L,
  57001. 0x724445bba9cf6c9cL,0x97942b084184b050L,0xd8e7770f8a903d8cL,
  57002. 0x23be2cd6e285a39bL,0xd8262c7f54e43dfbL,0x00000000000000faL },
  57003. { 0xb1dfd3321171711cL,0x91720264c55e34d3L,0x6c2fe07176ef48eaL,
  57004. 0x50a86d8419f04ea9L,0x21b234876ef9f5adL,0x2dd2953198ff68afL,
  57005. 0x2ccd5b31e5be2b6cL,0xdad0c4408cb81a45L,0x0000000000000078L } },
  57006. /* 32 << 42 */
  57007. { { 0x2631b3c36ea5e7eaL,0x0576e1edc566c837L,0x1e50e071ac9c1eb8L,
  57008. 0x5e74360ea8482d3bL,0x2e037e7718ceab4cL,0xf7d17456c8424fabL,
  57009. 0x202efbf582fe1841L,0x410f708c8cca4c68L,0x0000000000000165L },
  57010. { 0x659dece0d00ea056L,0x495170f43d1301caL,0x749e3276cf2c6e53L,
  57011. 0xc0f5d00087b6f996L,0x46b7c068dfd50725L,0x83e9d3de67ef401bL,
  57012. 0xec1cee4e3d4ef196L,0x31583197bef2dd76L,0x0000000000000023L } },
  57013. /* 33 << 42 */
  57014. { { 0x4aaf3d3a2d846afaL,0xcf35de6580c606a7L,0x022deb760cb93fcaL,
  57015. 0xa0e60afc96fa361cL,0xafcf7cc90b377305L,0x876c066cbc5e9abeL,
  57016. 0x5632b4763bfd78a7L,0x1271111fa016a308L,0x000000000000007aL },
  57017. { 0xe762fb74fe8f5299L,0x7b179b4e4b614b25L,0x7e5de5c81f840510L,
  57018. 0x69047ec18d783eabL,0x98b381ec3516e026L,0xe7778e602da90ec5L,
  57019. 0xf3b4d6cf5930e668L,0xc0bc0326fa9e8051L,0x0000000000000157L } },
  57020. /* 34 << 42 */
  57021. { { 0x2618f715359a6e41L,0x9132721a8b5e4de2L,0xfbfcf4aad2b349c7L,
  57022. 0xa4719bf086415128L,0xac080de43058d78dL,0x588b76300c29ab89L,
  57023. 0x847249def2b1a566L,0x090c25d01545fdf3L,0x000000000000013aL },
  57024. { 0xdaf439760ee334d7L,0xd847290c51ce020aL,0x62246b88adafdd5dL,
  57025. 0xc4fabcc7285636d3L,0x5f4bbd8e908964baL,0xd76d498d43ac7a30L,
  57026. 0x5beed326f425209aL,0x7bc22416f9dc7d90L,0x00000000000001e2L } },
  57027. /* 35 << 42 */
  57028. { { 0x512fa0c9f59767e3L,0x2b8b565b236870ecL,0x646b5d0b30d8fd55L,
  57029. 0xc0726c70bbcfff1aL,0xf09c125e16cc9832L,0xf7d5fd367c1cfc6bL,
  57030. 0x22257c4b1e01063cL,0xdbd248561d6d9bacL,0x000000000000008cL },
  57031. { 0x9ed1b5e18f3af826L,0xc42dcea6f3160e2aL,0x3f3e13b1ff834019L,
  57032. 0x39d61040dc48b3b9L,0x557fd39ac47f458eL,0x452a16ac987520beL,
  57033. 0x2ec6d00219505190L,0x66fac607d5b3ed1aL,0x0000000000000174L } },
  57034. /* 36 << 42 */
  57035. { { 0x1eb52d8c8961c678L,0x9318b87f5188a0b6L,0x449da5f7998c4703L,
  57036. 0x814e23ebba1284a8L,0xc4d98c41bcd03139L,0xb1fe6bef965a1803L,
  57037. 0xa2b5b201889a0bc5L,0xbc93a3519b13ccdcL,0x0000000000000181L },
  57038. { 0x17c9763ff4e51116L,0x26c730852a842e35L,0xdd6481a71296397eL,
  57039. 0xd588b1b854f7416dL,0x59f846cbc3d62325L,0x8f0d9ad920321e09L,
  57040. 0xd9c7bb569e1699daL,0x42a8b57f15de9318L,0x00000000000000e6L } },
  57041. /* 37 << 42 */
  57042. { { 0x90c29dc2d1043639L,0xbbc7cbdcf5e17066L,0xc249c81d9a986ddfL,
  57043. 0x081eb4d8c19cc606L,0x2e390f829fa13a21L,0xbb500f2ce369c007L,
  57044. 0x2f716b7cb5aa598cL,0x7ac490d538645632L,0x000000000000004cL },
  57045. { 0x1d73543fd62a0b86L,0xed5674cc9eb85ebfL,0xcb4ba15fcbdf1a2aL,
  57046. 0xbe0c1e77d0caff4dL,0xcc8905381e3e3f97L,0x9513a987b2624ae3L,
  57047. 0x6a93bf660437efabL,0xc7ab75cc119e6bc7L,0x0000000000000146L } },
  57048. /* 38 << 42 */
  57049. { { 0xc2ae2ccee84ed2b5L,0xefb47683e2c4c512L,0xe86fe38992bbe0b4L,
  57050. 0xb027a47b2d4a353eL,0x270a319fed2c3482L,0xb5470e60df72b036L,
  57051. 0x0264dc8895967134L,0xb410a2f4bfe6af47L,0x0000000000000063L },
  57052. { 0x1d1024bb7ae0582cL,0x88675bcfef5e48e9L,0x0d928096f5e8824bL,
  57053. 0xf172a15d94f0edf3L,0x1deda1cb3b823a69L,0xdc3722f122ea0b88L,
  57054. 0xdea7f8583437020bL,0x16543f8ce317d065L,0x0000000000000187L } },
  57055. /* 39 << 42 */
  57056. { { 0x1df3bd54a11f8d7eL,0x76b9ed25db6b8ddcL,0x5bc6ebdf63a01f8dL,
  57057. 0xf96b8f72b7f1589dL,0x94fa3a83a5476f8dL,0xcb63499a5fde5d1eL,
  57058. 0x7f89c36d688048cfL,0x3e2f2d487a377a21L,0x0000000000000169L },
  57059. { 0x8537c54896c0c39bL,0xeb98619a0dbf2821L,0xa5abaf6ffc11be9fL,
  57060. 0x88d3c0a10a5b0478L,0x4cb55dcb4c72ea75L,0x7585e394e753fdedL,
  57061. 0x797b588de3417ae1L,0x82dea02b45a0ebddL,0x00000000000001ceL } },
  57062. /* 40 << 42 */
  57063. { { 0xb6f28395a29d2024L,0x77ac682616726da8L,0x295c447073fd20f1L,
  57064. 0x9b2ec3f65856531fL,0xca27a7659555237aL,0xe497546f7a7bffedL,
  57065. 0x4f51b73ba508d541L,0x6b23a204befd9c3aL,0x0000000000000039L },
  57066. { 0x264295052ddd93a9L,0xda92059c3ccf01dcL,0xaeca4b1d851d4cdfL,
  57067. 0xf7fcfb537e0ca450L,0xe87d6e18cddb9a15L,0xb126c191d895153cL,
  57068. 0xc8a744137e5a46c8L,0x36ad8a91de12f4f4L,0x000000000000018bL } },
  57069. /* 41 << 42 */
  57070. { { 0x74ef02d265e852a3L,0x324fed680f658cfaL,0xd466f103eca3fc85L,
  57071. 0x6034b5f0a0f02951L,0x806ff94ed0dc2633L,0x70ab663177e83219L,
  57072. 0xbda70dbc6db52c50L,0xbb7c538955b0b5a5L,0x00000000000000e1L },
  57073. { 0x0e0d975de1aff7efL,0x3e308234bae3e688L,0xaf6711bacf272359L,
  57074. 0x62d70d6cffc92c50L,0xc95de419f4cf9c6dL,0xdc7dead78879f341L,
  57075. 0x33e941e09e25e4beL,0x14dc267622519153L,0x00000000000001a4L } },
  57076. /* 42 << 42 */
  57077. { { 0xd434b84d74697824L,0x40539e16acf24795L,0xd572b3054ad638d2L,
  57078. 0xde69e6788dd379a0L,0x675895fb4f7acb10L,0xa9e7010e28b809ffL,
  57079. 0x0c46b090bb932c71L,0x67faa77393164c0fL,0x00000000000000faL },
  57080. { 0x929c93f16059ac46L,0x18d944565f740f53L,0x329b4c8fea065a97L,
  57081. 0x84919b306f560f7dL,0x861d07d5062ec3f2L,0xb7f0c7801f09dfe4L,
  57082. 0x7bb618819bc97c71L,0xc37b2767a48c1b40L,0x00000000000000dbL } },
  57083. /* 43 << 42 */
  57084. { { 0x3e450ce0a8d0cff3L,0x2e663e6b78ff9f55L,0x9f15134d5c0ea3b0L,
  57085. 0xa8e53ea772ce0e5fL,0x6668ae1188e1d08aL,0x11c498e6b3e48748L,
  57086. 0xcf8e174401b97c6aL,0xa7d61b3ffb5a55faL,0x00000000000001e8L },
  57087. { 0x9be324b502984ae9L,0xb2ada2ccdc986c8cL,0xb73282ff92e4acd9L,
  57088. 0x59645b6929444216L,0xb462b0ec08094d4cL,0x3a282fab8a220754L,
  57089. 0x01b6567e6f43ca4cL,0x3413e0b6dd2bfc33L,0x0000000000000035L } },
  57090. /* 44 << 42 */
  57091. { { 0x32c6a931b227157cL,0xd276f7d0d347b7d4L,0xda50395f0ab44f59L,
  57092. 0x5d0c517699a52be4L,0x7b0f28e7b97054dcL,0xdae56aefd8e7b1deL,
  57093. 0x05b0180087b4ccaeL,0x21c81809274a0ab5L,0x00000000000001edL },
  57094. { 0xc1c7e06b9f9761c7L,0x3bd3309fc2a78191L,0x2c239fd7702a4f90L,
  57095. 0x5686716434a9f65dL,0xf8097255c1695583L,0x9b59c0bdf8597cf8L,
  57096. 0xe0c0ea8558996101L,0x30afb4de2622f5edL,0x000000000000005bL } },
  57097. /* 45 << 42 */
  57098. { { 0xc37c982c301c80f7L,0xc0bc3df13218b36fL,0x6c7959568f8447a3L,
  57099. 0xd3e11b8074d687a6L,0xba0e78bbacfeab37L,0x3160260448e100f1L,
  57100. 0xc59f32cc2759d36eL,0x919a699fe7c183a1L,0x000000000000014aL },
  57101. { 0x1db45cb6b237b42aL,0x6be246b1cd20d06fL,0x71175e1852d92e5fL,
  57102. 0x1b1a559dc6379ff3L,0xf4a86e0f067063c7L,0x4f55eca2e61fb16eL,
  57103. 0xf4aa39140b9b68b1L,0x26746312b83d83f1L,0x00000000000000d8L } },
  57104. /* 46 << 42 */
  57105. { { 0xc3d57a8323e01244L,0x6c1765687554530fL,0x17e5b0c355b8fbe0L,
  57106. 0xea068a1726350a44L,0xf06413c117ff3090L,0x2daf2cf8baef2995L,
  57107. 0x499bf72a2db9ee9eL,0x1a0ef8eab6efdb69L,0x000000000000000fL },
  57108. { 0xe1a9efa76d4eb0a2L,0x6e8182ea78617b26L,0x9b7d9837881857d2L,
  57109. 0xf18d42363a64071bL,0x21e43124c7df9bb5L,0x223bea1620366b6aL,
  57110. 0xbca36c195f3b8b74L,0xf6998f39fdd2b391L,0x0000000000000036L } },
  57111. /* 47 << 42 */
  57112. { { 0xa5e08e2708c182faL,0xe7dbceb058be3eb8L,0x454381379f440918L,
  57113. 0xfb10aa677a37d898L,0x8ca45c4a838e089dL,0xae3e13c06477efedL,
  57114. 0xf42788377871ec9cL,0xa4efd9487c02bcddL,0x000000000000014bL },
  57115. { 0x8058ab501915d2b1L,0xf0e0b18507a23009L,0xf312041cb21746a5L,
  57116. 0x19702c8127ff31ffL,0x5bfc0ffa39269d49L,0x11f8306f5b2bb7e4L,
  57117. 0x7fffa345134e7ca7L,0xdca4d5ef3f626ad8L,0x0000000000000138L } },
  57118. /* 48 << 42 */
  57119. { { 0x882e70bcf935169aL,0xbe4f1a7e9faa4bf4L,0xc00ee4b63f49bf19L,
  57120. 0x7108876fcf2ef2c0L,0x475d94d6ee33e82aL,0x88381a2fba2b1bafL,
  57121. 0xd6ba047a0e1d8204L,0xf49a4704c9ad93abL,0x0000000000000112L },
  57122. { 0x64a6ca0222fcc815L,0x35c840ded006e9dcL,0x44777fb5d7dc2178L,
  57123. 0x3dfbe7fd91ca3731L,0x026fff77e116256bL,0x6ffb7c2a648b3f43L,
  57124. 0x6688f6c0470a3209L,0x632e1094a98c1c6fL,0x00000000000000e2L } },
  57125. /* 49 << 42 */
  57126. { { 0xeb117f6f5c5e8510L,0xb1cacd2d52aeb1d2L,0x62bdb4954f806911L,
  57127. 0x230a593c916da8a5L,0x8f5cf40280caf0c9L,0x4031db58a1e8c7e9L,
  57128. 0x34c5ef907e23e556L,0x276981361c3c4694L,0x0000000000000148L },
  57129. { 0x99ac9916ec9b4f91L,0x432ac8cc476a48a0L,0x25d59bd336ceb46aL,
  57130. 0x03e24d9a547005eeL,0x01435f74efa3d224L,0xa6cf7444a4870b84L,
  57131. 0x9725e6046f067e62L,0xba420cc6d694cb2cL,0x000000000000015dL } },
  57132. /* 50 << 42 */
  57133. { { 0xba476d873030cc65L,0x40c8a7233f53e13fL,0xf15a7ebc139ddd99L,
  57134. 0x59473015dcdd8ea6L,0x06ad0d0e2ca9faa1L,0xf95d33cc9672c4efL,
  57135. 0x183bc0d13b31f16aL,0xc7e7132613880e33L,0x0000000000000079L },
  57136. { 0xd4ca8c9030b61d4dL,0x293fb721dfe76d10L,0xcd4378cd025faf7eL,
  57137. 0x496f67ab38987186L,0x96bbf0c70b0caad8L,0x5a441f7ae9a127fbL,
  57138. 0x292a39d18bc38c28L,0x1fa309288bff6412L,0x0000000000000006L } },
  57139. /* 51 << 42 */
  57140. { { 0x41cf0341f2c97897L,0x07ecbc3155140e3eL,0x25dbd2d5fd0e65a5L,
  57141. 0x89d802f8ab0e731eL,0x200aa9cfaeb60ed9L,0xf2abd47318270058L,
  57142. 0x2290980f7222134fL,0x80dd2156d98c893aL,0x0000000000000033L },
  57143. { 0xe4dbee4746b5197dL,0x5d110c69d34bc910L,0x2551116c7c6d43e0L,
  57144. 0x03391f080b0a6c40L,0xe11b366d39a3ac3bL,0xda60ccdb29749bb2L,
  57145. 0x32d05f2bfab0625bL,0xb2a3d728348b774dL,0x0000000000000057L } },
  57146. /* 52 << 42 */
  57147. { { 0xc3120df78ea50ac8L,0x124a99bf819551e9L,0x69dd9b95eddf11e9L,
  57148. 0xde805c83adcd1283L,0x3cb8d5f8a354632dL,0x1d9dcbaf4d718278L,
  57149. 0xebf2d04742c9aa97L,0xaf43c4b6b9b68e10L,0x00000000000001adL },
  57150. { 0x21edfcb3d2451b29L,0xcc9acf06a48336f3L,0x8471e8c311e3e8b7L,
  57151. 0x3fe0082e3e1e38e7L,0xf9e09f1df6a8aa86L,0x3b445adbe946eb4dL,
  57152. 0x83d1b8d21579db09L,0x602db173ecaa7cd2L,0x00000000000001feL } },
  57153. /* 53 << 42 */
  57154. { { 0x7d0146ba1a83feedL,0x0be06076b6b5a896L,0xabd622a1b574173eL,
  57155. 0x4511461a9687cf2cL,0x6a8662ecba2a9970L,0xcd138a7026840ba5L,
  57156. 0xb4600008dbae80eaL,0x446cc5d10e75802eL,0x0000000000000077L },
  57157. { 0x9d3f027ffb4be66eL,0x155462bc96f39f6eL,0x573003efe04e4009L,
  57158. 0xd4b2edd219bab2ddL,0x82a7818a37b54094L,0x2619e20c3540a3bcL,
  57159. 0xd9815146946f623dL,0x393c8bfaa09d03ebL,0x0000000000000115L } },
  57160. /* 54 << 42 */
  57161. { { 0xa34c9ed658a89822L,0x42082c28ec5d8ce6L,0xe8d9bea36ba32197L,
  57162. 0xad2b7b6391123266L,0xc27acd5a18a3ad12L,0xcb8ed647708ef7a5L,
  57163. 0x0c5b0ed49fb1e72cL,0xd6580f7a5e30a10bL,0x00000000000000a1L },
  57164. { 0xc52666b0438e766eL,0x3526912dd840853eL,0xfe1aef567ea68037L,
  57165. 0x0d8d383e9ccb43f9L,0x17788627acf36e20L,0xa28864ec0e1a7491L,
  57166. 0x822d8f2efcc40c94L,0xdddffd26a2b0bf5dL,0x000000000000012bL } },
  57167. /* 55 << 42 */
  57168. { { 0x48dff182c056cfd7L,0x4520fe724282fd9aL,0xfa0e53108d3bc991L,
  57169. 0x298fb724742f02e4L,0x403a647af5b8e1dbL,0x5bcd5a1655262f9cL,
  57170. 0x92889ba779b16c76L,0x1e26ed2971a16b7fL,0x0000000000000109L },
  57171. { 0x749c137ce8e9b2c2L,0xd3b85753db690723L,0x940eb70133649fbfL,
  57172. 0x89e374f678597b64L,0x02cb67149414281bL,0x024bb7dd9f5a5741L,
  57173. 0xe048fe4adb3b50aeL,0xc6de99b14e7a1fffL,0x00000000000001c8L } },
  57174. /* 56 << 42 */
  57175. { { 0xb48fa75a590e92d6L,0xab1888ebeeda06b4L,0xffb140dd9e71fec0L,
  57176. 0x8fb4c8ed2a623d2aL,0x645c4442bdd3fd9aL,0x34adb68f2de96e6bL,
  57177. 0xbd7819ec59225d29L,0xa0a8b0c5768b22e9L,0x000000000000014eL },
  57178. { 0xfc0ab8407662f537L,0xf75bde0788b7fcc6L,0x6dcf7e22656a1f21L,
  57179. 0x6c1116415318b15eL,0x731751bd77a8529eL,0x23e7c2723c846197L,
  57180. 0xc6ab7b666ad27061L,0x7e315762aad0e5b0L,0x0000000000000163L } },
  57181. /* 57 << 42 */
  57182. { { 0x6fcfbba1bbd9d928L,0xf3fc85d8a6ad07f2L,0x4eb1ce1bd5ec3e9bL,
  57183. 0x35a18838bba23455L,0x83f9e697aa05e005L,0x51b2c15bbbab3722L,
  57184. 0xf2f76c2f91080b97L,0x6b4c3d7b30adc94eL,0x000000000000017fL },
  57185. { 0x676703ce17466400L,0xb003d1e144ab5f8fL,0x5c71817b4472d0d8L,
  57186. 0xef5dfdab35b276e8L,0x223dce9a94c083b4L,0x8fab9633c842f4e8L,
  57187. 0x7487d2a71b32ae51L,0xa73df4521e91b61eL,0x0000000000000149L } },
  57188. /* 58 << 42 */
  57189. { { 0xe3081ef15ee16ecdL,0x572190eaa301933dL,0x717f1fbb78b476f0L,
  57190. 0x53f3424bbecdccd6L,0xd6e3646020c12be9L,0x1a9aba50bf672196L,
  57191. 0xc677242c64fea24aL,0x1243d8cf3163375eL,0x00000000000001beL },
  57192. { 0x649ea2f620d364ecL,0xef9918f9ca1347d1L,0xa690c23690a25227L,
  57193. 0x46de1a1ee9d7a9a7L,0x04d980378f454a29L,0xf92c691733fe5162L,
  57194. 0xd8fca5190ab84b9eL,0x142af9fc4db77590L,0x00000000000001a0L } },
  57195. /* 59 << 42 */
  57196. { { 0x9bd789058423f66aL,0x4a1a18da7b4303c8L,0x9bc361e5f078f42dL,
  57197. 0x6df051f9fb9c9f42L,0x25d75614bbe4b87aL,0x17afd17b86701f66L,
  57198. 0x5d6afce29d60c6f3L,0x167f180eae9efcb6L,0x0000000000000029L },
  57199. { 0x74ade397a1f06cc8L,0x450132df74fbcdd8L,0x5fd754812ec58631L,
  57200. 0x7db6f5af073ebc91L,0x29bfa114e046dfe0L,0x955659d40764e251L,
  57201. 0xc8420c2c3dc0bd0eL,0x50e6309a6943b512L,0x00000000000000fdL } },
  57202. /* 60 << 42 */
  57203. { { 0x8b2c940f98c0aa63L,0x6b8f11b6552f4b66L,0x36d68942208bdbd8L,
  57204. 0x1a27268d6d35a682L,0xffbabe3ce3c883c6L,0xb2f48c34c7b51fa6L,
  57205. 0xc307666acff5f20fL,0x988421026823d193L,0x0000000000000064L },
  57206. { 0xa307127da730707eL,0x89c67ae8b63d595aL,0x235a76d5075c1933L,
  57207. 0x4e1488e6c680da9cL,0xbd34618dac7d5a89L,0x22131bc390fe0290L,
  57208. 0xb6709cefe5f6d0e4L,0x6d74a464cb81bb60L,0x00000000000000f8L } },
  57209. /* 61 << 42 */
  57210. { { 0xa91ebf5aa98f49b1L,0xe9966de520c72be4L,0x399c3525d2df5446L,
  57211. 0x30b0a731b8d64fbdL,0x85f30a4fb17ad183L,0x4178f5643bdb7251L,
  57212. 0x0497c93c32984a4fL,0x8a5d97eb380b5a7bL,0x00000000000000e8L },
  57213. { 0xf2cae7dca29fd5b5L,0x73d2fdf8ff1c8977L,0xd5fc8a2e7251ce7cL,
  57214. 0xbf3e822b747dcc22L,0xdc9332f10b7bb04fL,0x80bd7f3cbf0baf6dL,
  57215. 0x063050956dd4d5a3L,0x2a6fa9aa22dfb616L,0x00000000000000ecL } },
  57216. /* 62 << 42 */
  57217. { { 0xbf786c4fd9712fbdL,0xd9e5f5873f8f4ed7L,0xdce2f57471fe2a47L,
  57218. 0xb1e0427d219a6430L,0xbff2b1baae521bdbL,0xc5166a723324479dL,
  57219. 0xd150919d6a6c33dbL,0xaaf9eba7e5412b6dL,0x00000000000001a8L },
  57220. { 0xcb1c3eba6cba10baL,0xacb0b7075d5d30ffL,0x25ef098c370207e7L,
  57221. 0x74fb4cec078d8b39L,0xe0ef8c1cdd7b66d2L,0x678bee9533e9c36eL,
  57222. 0xdcbfd88e938220e7L,0x6c67d672b4dec38eL,0x0000000000000049L } },
  57223. /* 63 << 42 */
  57224. { { 0x40811a23bc3787fcL,0xf1e0938a0cc25bf6L,0x8ea5e4b9a83d5a2dL,
  57225. 0xeeec61008466a4b5L,0xd1e8499efe0d444eL,0xe27ecb8978890749L,
  57226. 0x901b2a6fa043632dL,0x424899f7baecac92L,0x00000000000001ebL },
  57227. { 0x1c781c1973b26d1eL,0xbccb957b8f157a3eL,0xa374f01ccf29cb56L,
  57228. 0x3271773277420ca6L,0xd147cbaa49904865L,0xbaa719955c9dce3fL,
  57229. 0xe8d401d705fee441L,0x47f583418a001ff8L,0x00000000000001a9L } },
  57230. /* 64 << 42 */
  57231. { { 0x62b631691c3be7efL,0xdab254bf8074207dL,0xf6f1466b235a4c77L,
  57232. 0x66f8f60fd3b01424L,0x9da540693bae9f80L,0x1a840763500f8a6cL,
  57233. 0x542e2dd9b25994b1L,0x996307e5183b3ceeL,0x000000000000006eL },
  57234. { 0x45e2ae85a4b301edL,0x0640d46de1fb6112L,0x7f102d1983fc8f4bL,
  57235. 0x6eeece3a4f30038eL,0x74d062f5912f39c3L,0xa802a55316906c7bL,
  57236. 0xa8d8c58fe6d6e8c1L,0x77cfd9bca57b4387L,0x00000000000001f0L } },
  57237. /* 0 << 49 */
  57238. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  57239. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  57240. /* 1 << 49 */
  57241. { { 0x3b61c3204268e7acL,0xf9fef1976dd3709fL,0xabd3a2d551f7146dL,
  57242. 0x4c03d266f40188f9L,0x56e27dfd088bae58L,0x5ba4660d03fa2b77L,
  57243. 0x56889642a39ff216L,0xc11b9feaca849201L,0x000000000000007eL },
  57244. { 0x357c77971dbca40dL,0x23c449c26d3c6441L,0x6ad3b6a626ca2d6eL,
  57245. 0x32cadcb3b2ca4aa6L,0xdddc43e5ad004aa8L,0x7994e3ab37600864L,
  57246. 0xf09f263976e4580eL,0x6a2032a0a270cd54L,0x000000000000017aL } },
  57247. /* 2 << 49 */
  57248. { { 0x598766ce569614a3L,0xfc1534f1d485cc29L,0x1f5e87ce4f099a45L,
  57249. 0x93e6071f387d4d84L,0xa3f72298a130f8bcL,0x51372018edd37225L,
  57250. 0x165340e9b856f72dL,0x4d64ec749011bc47L,0x000000000000004cL },
  57251. { 0x975d2c0d5b62d194L,0x845d25cb1bbd10bdL,0x1326f9d742ee849aL,
  57252. 0x61f90228a333154cL,0x4993f33d7500f71eL,0x3824dc401b6dcf4eL,
  57253. 0x1c71e193b65b8ecaL,0xa8ddc0c7dca1396bL,0x00000000000001a3L } },
  57254. /* 3 << 49 */
  57255. { { 0x35a51eeba9c350afL,0x22821a636097710dL,0xf5a5c2c95f6ee6e1L,
  57256. 0x8f9f201269599ba9L,0xed36867f12918ea9L,0xf1a5450d0ea832e9L,
  57257. 0x58c5a7311e15e027L,0x5a6460d600416b3dL,0x0000000000000198L },
  57258. { 0xa0afb24fcf8c23f6L,0xdd6966eb2d40bca9L,0x7c8d20aabf132ab2L,
  57259. 0xc24efb7d7d32b64dL,0x26d793380c9547f5L,0x7e7d62251fb47f5aL,
  57260. 0xf1f5880d9a488725L,0x8ec9740d38749037L,0x0000000000000030L } },
  57261. /* 4 << 49 */
  57262. { { 0x7bad211d4ca94ce3L,0x7b7bed87d66cc144L,0x7eba714bbb5ee0ceL,
  57263. 0xc26e3a3cf5eb8337L,0xe5c617983dfec21fL,0x9c679e26117ba62aL,
  57264. 0x6d67db8c1b6e1641L,0x1c2e077ee31c06d5L,0x00000000000001a2L },
  57265. { 0xc0d71279cdc2d75cL,0x0b15b14709371b29L,0xba1f3359dc2ceb6cL,
  57266. 0x9a701873be25dad5L,0x03c466b8c8bfe287L,0x9697f32941ec3009L,
  57267. 0x4e21e900b4a54990L,0xee1b53c8a99d3093L,0x00000000000000d5L } },
  57268. /* 5 << 49 */
  57269. { { 0xcacf7227489ba5d2L,0x1a523c29f67d6ed6L,0xedfb4ca69923509bL,
  57270. 0x571434694ca275c9L,0x31b2e485340e8fb1L,0x1839d1e3fa9cdb14L,
  57271. 0x0f1f4aa874423836L,0xa1f66938027614bcL,0x000000000000012fL },
  57272. { 0xddd453d05635bbd0L,0xf078bbfbac909f3bL,0xdc827eb809ce7304L,
  57273. 0xbeecd2de0f10ecffL,0xee375c35e43d5225L,0xd47f1c6dc1caf971L,
  57274. 0x6d9b9daf56133721L,0xe2e43b93763d052bL,0x00000000000000b9L } },
  57275. /* 6 << 49 */
  57276. { { 0x9a842cd1d7d39f33L,0x45d1ad8c4bca4affL,0xe490b9caf398d092L,
  57277. 0xdb73aab1dde5bfc4L,0x3b7984d7741c8e35L,0xf0b828d5f5819fedL,
  57278. 0xce2fc89bfbaad5b1L,0xda615df411c9e58fL,0x000000000000015cL },
  57279. { 0x4b01920ad96156faL,0x221381dccedf3b14L,0x98da481c5d9b1206L,
  57280. 0x826399dbe4e4c2f0L,0x51dc45b6d73dbbd5L,0x68f639eb3f275528L,
  57281. 0x7093a3ab2d235520L,0x520f9416e8429996L,0x000000000000013aL } },
  57282. /* 7 << 49 */
  57283. { { 0xb3638db98048a2d6L,0x0526971177f15306L,0xa09f7697de04e4f2L,
  57284. 0xc782f1073cfbd4a7L,0x0232781e01adb58dL,0x2caf85d422724ee7L,
  57285. 0x952f12dda5ca3245L,0x658d58a74cc18585L,0x0000000000000191L },
  57286. { 0x35ad5dc0145a3b22L,0xc6acb7e2d56fc847L,0xdce25662da9b5fadL,
  57287. 0x3c6d9c6620861f44L,0x4c3680ea5c573776L,0xf59066292ac95553L,
  57288. 0x5e70ec1c5f814c5eL,0x3ec45db4dfcde9c1L,0x000000000000004aL } },
  57289. /* 8 << 49 */
  57290. { { 0xbb59f2675c346588L,0xac37b36876f373a1L,0x4826e015a4c6d860L,
  57291. 0x4ef341b061bdf224L,0x70b01fb4becac30bL,0x5f518cfcf0bb0c51L,
  57292. 0xbbec7a919d163117L,0x8a65bee8de2da58eL,0x00000000000000baL },
  57293. { 0x965caf8e566098b5L,0xe8ba0e81afbd8436L,0x77f4e27d7299fbc1L,
  57294. 0xf5169f5c367e2155L,0xc88fa56101a49a6fL,0x8a6a0228557b66deL,
  57295. 0xc867f1fa8e1bee40L,0xbf4b5f806de8fcedL,0x0000000000000042L } },
  57296. /* 9 << 49 */
  57297. { { 0xb9524e1cb1f9f441L,0x0598193ea2b3656bL,0xa4259f49f5540942L,
  57298. 0x1cfdec1f6adefa22L,0xd923db68e30584a3L,0xa2a82559fd521cccL,
  57299. 0x3411a7edd7abf365L,0x40a53bccd2452d25L,0x00000000000000f2L },
  57300. { 0x56b5c3f7d570f6f4L,0x692c9ae1fbd422beL,0x76027f68bf2bc5acL,
  57301. 0xe51a3a373e31e89aL,0xaaf34aac1dfddf2cL,0xf45a034e9d16cfcfL,
  57302. 0x5c8fe990ce407aa9L,0xbbe2e574acf3b5ffL,0x0000000000000149L } },
  57303. /* 10 << 49 */
  57304. { { 0xc3a9433d7169c63fL,0x3551fd4733c6d323L,0x507699e2bf2ca336L,
  57305. 0x5f6565d46878f701L,0x006acf880d019638L,0x788dfdcf4671f89aL,
  57306. 0x4d2c708a3224fccbL,0x7802c681810c6074L,0x0000000000000002L },
  57307. { 0xc5576f9ad0c38110L,0xa8c3419961cfd5a5L,0x48b1d5180a8a1b9cL,
  57308. 0x9d1cb1dff3740051L,0xd7f5a27ca860e4a3L,0x9f149f487f8bac83L,
  57309. 0xddf84b81ac7f5c55L,0x30e0002ad9d529a2L,0x0000000000000047L } },
  57310. /* 11 << 49 */
  57311. { { 0x9585b7bc418dfaddL,0x4c58f686b5a32cefL,0x7efb7fb586cf7c76L,
  57312. 0x87512eb00cdda427L,0xd3b27213699021c9L,0x3a1741d24f969176L,
  57313. 0x58bc37cb14fd5744L,0xbfe9f937752fcbd2L,0x00000000000000e4L },
  57314. { 0x10b3c0c658cc73abL,0xcaf09eae9f733202L,0xc729ced840fbabedL,
  57315. 0x997df02c3ccd6909L,0x4898124828c2898bL,0x734c9f989c96b3a4L,
  57316. 0xf025ebc3f20c8071L,0xd3a570ab384f54dcL,0x0000000000000066L } },
  57317. /* 12 << 49 */
  57318. { { 0x35e45c4b84376818L,0xead0b323c0564a2eL,0xf9e0790fb6852540L,
  57319. 0x3336a9aa55fed5a0L,0xa1dbea8ed6d817e4L,0x66ca0e37a8cb6e98L,
  57320. 0xfeb1493cc60383bdL,0xf910ce15208ea92aL,0x00000000000000c6L },
  57321. { 0x25d128bd3a6aa1eeL,0x0bcabc8337d1b4d7L,0x31cb792ba825d7afL,
  57322. 0x288f5d5b7a6b56c0L,0x737a14be66b37a0fL,0xe9005d89b6662a43L,
  57323. 0x446d1492f1b00aaeL,0xd0be38cc545ace31L,0x00000000000000edL } },
  57324. /* 13 << 49 */
  57325. { { 0x87493232bdf7f4e6L,0x14541c5b49d814e6L,0xbbad3425fc906a15L,
  57326. 0x2cde8410c26b9540L,0x03d8b69a2269726cL,0x522113c8df932996L,
  57327. 0x329dda1640f1b59fL,0x1eb39fd5a2a62e23L,0x000000000000018dL },
  57328. { 0x3e9e4ab1d977f9b5L,0x06b3afd518f3f70bL,0xee59a274d12f3910L,
  57329. 0x94e07eede16dd544L,0x8adc0bdaed27abd3L,0x7e4135b59fa28de8L,
  57330. 0x6818fb61b0186541L,0xcf0f9186cc9fae56L,0x0000000000000184L } },
  57331. /* 14 << 49 */
  57332. { { 0x8532e2b84de469aaL,0xd1324820fefd245aL,0xbf47d6669b108318L,
  57333. 0x33c64bcbd7c86054L,0x4859cbd052374f8aL,0x8339b91418337de4L,
  57334. 0xb95a65009523dc40L,0xe759895961b6fee1L,0x00000000000000d1L },
  57335. { 0xf85b9031652f4cf1L,0xa2fc5e77406dc843L,0xf12c0af404306a60L,
  57336. 0x2ad58232e20d0293L,0x884487ac3ca21308L,0xcc3570635bd3f20bL,
  57337. 0xd673170784ae6af6L,0xb8ba5ac32757be45L,0x0000000000000091L } },
  57338. /* 15 << 49 */
  57339. { { 0xa659f5656e835f6eL,0x7ac653f268f73febL,0x9c6e43b5e00fa5c1L,
  57340. 0x2b9b4245746bd49fL,0x3d7a750dd88d0e3cL,0x6728829167922860L,
  57341. 0x67eac654cd8acf74L,0x5d155498c194238aL,0x00000000000000a9L },
  57342. { 0x7ac1ed3044b273a5L,0x4387bf6824d195a1L,0x5491474be5f20156L,
  57343. 0x961ee2ad04598989L,0x6ba547225e180905L,0x0119d4fa7801d12dL,
  57344. 0xe0f12a42f7d5390fL,0xb4fc030b3479de65L,0x00000000000001b6L } },
  57345. /* 16 << 49 */
  57346. { { 0xb19a5828676a875aL,0x40729f28c83a4911L,0x511949b1c6dce05bL,
  57347. 0x25914c8c3fcf0490L,0xc49490de0c6c2742L,0x3b21feefdf6cd770L,
  57348. 0x012d2802dd1a82a2L,0x72f5a0b76453439dL,0x0000000000000020L },
  57349. { 0x3e85d07d9b58e26dL,0x56527bdd1c50af24L,0x564b56587df377d0L,
  57350. 0xf5b0335865e97a30L,0x2b22d6e96b31bc52L,0x8ad449abcccd4bbaL,
  57351. 0x84b8b888f7c162a2L,0x3b647f0e4d56f29bL,0x00000000000001fbL } },
  57352. /* 17 << 49 */
  57353. { { 0x538386b50142105eL,0x6a36896e5d844432L,0xa3f6bbe123903414L,
  57354. 0x806672513da50509L,0x2989b59047596bafL,0x71137e6cddb7c04bL,
  57355. 0x6b76f4c5aaf9107fL,0xad1575a18f0a7798L,0x0000000000000118L },
  57356. { 0x8015bb4110007622L,0xf09b16c927c41f67L,0xc42d63b3961b905bL,
  57357. 0x8e8d60bf0b64722fL,0x1d44e65b31893514L,0x17aef76a971aab52L,
  57358. 0x63b990c7275e43b0L,0xa16c2ad0eabdb348L,0x00000000000001e6L } },
  57359. /* 18 << 49 */
  57360. { { 0x07120374a0e09362L,0x693d91b9dee217daL,0x69d89c4913f0cc96L,
  57361. 0xc39d993228c1b06fL,0xa20b517e54c7a529L,0x1076b98fce82be67L,
  57362. 0xacbfb44d04839b7fL,0xa0e7e6cbab7a6a5eL,0x00000000000001d8L },
  57363. { 0x5aefed1d047ea917L,0x01ab000dbcbd7218L,0x9c9729136a369a58L,
  57364. 0xf9b364f2995e7c83L,0x15d114f8c4e2de2eL,0x04720f6fca00e9fcL,
  57365. 0xbf1f54934913f69aL,0x4128e1d050a572a8L,0x00000000000001ceL } },
  57366. /* 19 << 49 */
  57367. { { 0x04052b0bc21341c7L,0xaa3738e32824cd0bL,0xd61bd9fcff92879dL,
  57368. 0x1f81dbbdef405b1fL,0x50764b05b9087702L,0x1c477a0b30be79faL,
  57369. 0x3bcf0f99f3adedf2L,0x3270cd7bfb1671efL,0x0000000000000099L },
  57370. { 0x2dce98e903485ca4L,0xfd79314bc4e9dc13L,0xf64590430750dec0L,
  57371. 0xbcc8ef428a2f200dL,0x2a48ea838bcdc7daL,0xbd19939a616d34d9L,
  57372. 0x46c4674e673a3ce3L,0xdd5c17afe21d038cL,0x0000000000000047L } },
  57373. /* 20 << 49 */
  57374. { { 0x807392c4a8bd340bL,0xed20f6e0c0dd8190L,0x9d0f81d8fd1d379bL,
  57375. 0x410ec93adc0a7e5cL,0x660be24545c6a3ffL,0x920e232a68bfc7cbL,
  57376. 0x3a8e589e4992a0cbL,0xf7aaf37ed0ba8827L,0x0000000000000004L },
  57377. { 0xf799075916cfd13dL,0x593652e05843ca4cL,0x8520e39c721fc81bL,
  57378. 0x01c1aeddee26ecc0L,0xed48e68e20064495L,0x2049cfb8c4b50a1dL,
  57379. 0x8e4545d403b6baebL,0xd1b2962aa041443cL,0x00000000000001aaL } },
  57380. /* 21 << 49 */
  57381. { { 0x9442441e21dd7a46L,0x5c5c5dfe1855582fL,0x411281d4104a43f9L,
  57382. 0x6fcbfb5d529c0255L,0x69cc3d43ef383628L,0x3e5adc17455ff08aL,
  57383. 0xb5aabfb47a16eb28L,0x464de4ae5c39b1b0L,0x00000000000000d4L },
  57384. { 0xb36f33a4ee570b8bL,0x7f2f0809885f3677L,0xc110d6674adb4bc8L,
  57385. 0x17ebc77514f16716L,0xfcb24ac6d06d0b5aL,0x2a8eb070bb467ee5L,
  57386. 0x82498e6dff7b6a27L,0x651560a7b3be99c1L,0x0000000000000152L } },
  57387. /* 22 << 49 */
  57388. { { 0x5974d160916366acL,0x4c1117ea317518b7L,0x0d910ce0a9e0482cL,
  57389. 0xc472a9267522314dL,0xb531e038788e3d76L,0xc33babe371936389L,
  57390. 0x651b8b5dd7e44d40L,0xff292597d3f61049L,0x00000000000001e2L },
  57391. { 0xe0dab29387469e8fL,0x94f31bf9b9860039L,0x49baafd0dbea96daL,
  57392. 0xc0dac82a69701943L,0x3975417bfbced35eL,0xd932a0c9387455bcL,
  57393. 0xedee6eec6ae9c37eL,0x004ab4ffb7a67355L,0x0000000000000005L } },
  57394. /* 23 << 49 */
  57395. { { 0x796e9c557ca11ad2L,0x58f34f3f7d85a82aL,0x591f92c027ca6530L,
  57396. 0xd83841d85ac34027L,0x465a3ea45f65d747L,0xde92e4766398a5caL,
  57397. 0xcca220e5e6df968bL,0x71b01c2ad75b85fcL,0x00000000000001afL },
  57398. { 0xdabcb750ef8429deL,0x6ca8ddffc37a94d1L,0x20d1c1e8c06f1a6dL,
  57399. 0x16cedc9406a7eca2L,0x2af3694ef6b38940L,0xb88e20dd41111d23L,
  57400. 0xeaedf8e6ab3419aeL,0x233e0966baf248ccL,0x0000000000000074L } },
  57401. /* 24 << 49 */
  57402. { { 0x59fa6794628233edL,0x1c30a04a25a1287dL,0x8dd4fdcabf3fad38L,
  57403. 0x522aad840d0b6f87L,0x12a66e90d160f8ccL,0x714213f3e673af6bL,
  57404. 0xd5e6feebad0ab724L,0x0ddf08f16a892358L,0x000000000000001fL },
  57405. { 0xaa50abcec077feddL,0x36e6411ee7610feeL,0xbea885d1eb815b83L,
  57406. 0x9710ed6d5d57a6abL,0x794e6f1b85645674L,0x7608184df124cbf1L,
  57407. 0x356377f6cc8be47bL,0x56cbd2604b3e7161L,0x00000000000000d7L } },
  57408. /* 25 << 49 */
  57409. { { 0xf3da8295fec48fcaL,0x4aa389b04868517dL,0x1eae63410e4fb849L,
  57410. 0x2d79adaf3e627a33L,0xeb057943c16bf394L,0xf68653de184ebe57L,
  57411. 0xafabe009c84066f6L,0xeadf4244ef303ea2L,0x000000000000008eL },
  57412. { 0x9cf14a2e9d04a4cdL,0xeb45f173a1896d1aL,0x40bfdff6e61abc9aL,
  57413. 0x7fc85552930f6a60L,0xd9ca2a4361801770L,0x545752c1d7ce2682L,
  57414. 0x75f003dc8e904de4L,0xf7d696c1e0d28d1bL,0x0000000000000138L } },
  57415. /* 26 << 49 */
  57416. { { 0x318921d51607513cL,0x4f4691aba028aaacL,0x6b89bf2c45571403L,
  57417. 0x6a33bd35bd50a74dL,0xa12697537320b060L,0xbdc0601f7b3d4567L,
  57418. 0xa3a545d0adadfa59L,0x1d57a713fb791746L,0x00000000000000b7L },
  57419. { 0xde5af490b3ccc7d4L,0x230148e32096ef20L,0x1728c17afd7a6a82L,
  57420. 0xfe9ae61d832185caL,0x5315c8993c95585cL,0x1c5382864602f4edL,
  57421. 0x8e2eb045d51e72feL,0xfd69ab13b1dfc663L,0x0000000000000103L } },
  57422. /* 27 << 49 */
  57423. { { 0x907945a9e512926eL,0x0b965ac514dff417L,0x6e735674cee891d7L,
  57424. 0x9560323e84d70b73L,0xb20c6b12b867ed3aL,0xa8c57b78f3e266acL,
  57425. 0xaacc72a9031e4af9L,0x21a577716c8def4aL,0x0000000000000042L },
  57426. { 0xc3c3673e5eba099dL,0x9adb0cfb96d46b1fL,0x360e2fce94637eeaL,
  57427. 0x96d93ecf8c797569L,0x2044f2cabf3878dfL,0xdbd03f0c8a4a46abL,
  57428. 0x0aa2542188fd829cL,0xe10b564de070ef95L,0x0000000000000024L } },
  57429. /* 28 << 49 */
  57430. { { 0x5a14d2a9e7beab9fL,0xbb93a9d2eb30ccceL,0x033eff382f6c4435L,
  57431. 0x241389884ca1d8d9L,0x683fded4354372d6L,0x3a5733b79f237e56L,
  57432. 0x8cf9a5daed9be593L,0xfb98100be321dc4eL,0x0000000000000062L },
  57433. { 0xe3c8df880c2b9ec8L,0x1e3f4b351aab0f71L,0xea412d009efbaea8L,
  57434. 0x89c2b8592a711842L,0xab502e2666337728L,0xf8397452aa5e9d63L,
  57435. 0xd1426326e61ce0f3L,0x3c65ba888b2a3595L,0x00000000000001d5L } },
  57436. /* 29 << 49 */
  57437. { { 0x7c40492595f69136L,0x45e971ba99e00647L,0x8f52311b8df162f7L,
  57438. 0x37be3333b9625948L,0xf78c980fdcd3f0dbL,0x04fd571e95450e66L,
  57439. 0x2c8c94a45ad646dbL,0x7aaf42e5cbda65ceL,0x000000000000017cL },
  57440. { 0x839547cff6df4638L,0x95d2aac672edd7ceL,0xcfdfa802e0028305L,
  57441. 0xbf7fbb9b592ed18cL,0x828e423790ce00f9L,0x83653bee85dae1c7L,
  57442. 0x92cc5b1aa352c38aL,0x323f48337c389854L,0x00000000000001ccL } },
  57443. /* 30 << 49 */
  57444. { { 0xa8b2a97fb6cedd11L,0x97dbaff9f8032972L,0x342989110d29a5ceL,
  57445. 0xace98046cd01a3cbL,0x2a3d2959be278299L,0x5178699b7d9f96a4L,
  57446. 0x275e90c83aefc4d4L,0xed40ae71c9ddc6c5L,0x0000000000000018L },
  57447. { 0xc68d02ce0082825dL,0xeb8c04bb63e05e72L,0x734a75cc8b7a75f2L,
  57448. 0x1c6ff3f5f996c116L,0xc23fa867564c6f4bL,0xf13cff17198d779eL,
  57449. 0xa4f04051d621edcfL,0xd86ea3fb9bc3a2beL,0x000000000000003cL } },
  57450. /* 31 << 49 */
  57451. { { 0x8687c8d286fb5666L,0x51bda4adead592d1L,0x9a47bc7e8d9bf5adL,
  57452. 0x0c16fc8e3f314ef5L,0xcb5262e50b653a4dL,0x4dee35618e512af9L,
  57453. 0x41aa85f125232f51L,0xb4b485ed7af6c2e0L,0x0000000000000084L },
  57454. { 0xe3326af2a937424bL,0xb091d60435264ac9L,0xb7fe1c75607363fdL,
  57455. 0x8d3fc5e05ce8b153L,0xfea7f23d9ac5e150L,0x38b3592fc8c1f2f9L,
  57456. 0xb5346f4f01996117L,0x485d0162ede54b07L,0x00000000000000ddL } },
  57457. /* 32 << 49 */
  57458. { { 0x0b91d5244cfc2928L,0xaada5377f9855767L,0x43014e69652cad7fL,
  57459. 0x8680000dee500ebeL,0x95eea80462086edbL,0xea6484375ce7cd0aL,
  57460. 0xee14680d51a5bb78L,0x28363f309167ae22L,0x0000000000000047L },
  57461. { 0x5335dbd719692e28L,0x30c79590c6495ad7L,0xb9f87b1462c85189L,
  57462. 0x5b87c196c5b0545cL,0xbbdfef3cbe7fb4f3L,0x2b531d69f3216d95L,
  57463. 0xe7298f7361c8215cL,0x9652e358d96015dbL,0x000000000000011dL } },
  57464. /* 33 << 49 */
  57465. { { 0x4ecfdcbc609f01e8L,0x43cce6f602da9b00L,0xb5ccb510cb875b01L,
  57466. 0x38ef08459d14985dL,0x5dc8f4f88e28ff2dL,0x2123c91386de81d1L,
  57467. 0x80691159098d59d5L,0x44715192dbc14f82L,0x0000000000000171L },
  57468. { 0xc7d2bc1e420737d6L,0x04d07a8634926b1fL,0x4a558a526719bbdcL,
  57469. 0xad7181739558b878L,0x0d2e6fca5af3a191L,0x6c49dd8fa73f113aL,
  57470. 0xf57eefe8b3f72cf4L,0x39b23c1b37c5645aL,0x0000000000000093L } },
  57471. /* 34 << 49 */
  57472. { { 0x1a21f7609e382dbfL,0xbe278ead5c4326a2L,0x72f12ef962016fedL,
  57473. 0x21bf913c8afa14a5L,0xb7c4145a9f9b8899L,0xc17a7b5fde4dd03dL,
  57474. 0x14f34601ab717706L,0xe6192f11432876c5L,0x000000000000013bL },
  57475. { 0xa2f7972ba69fd71cL,0xf6ccdd1f9a0289f6L,0xc4634027e67f1f93L,
  57476. 0xc87dcef88ebcb728L,0x2053a2db4468602aL,0x6406b53cacbdae11L,
  57477. 0xf3f29cf3ee6ee32cL,0xcb79a551a0e19432L,0x0000000000000110L } },
  57478. /* 35 << 49 */
  57479. { { 0xef5cb254481df44bL,0x3184a229b38cbae8L,0xc1b8f38dd3bfe1cbL,
  57480. 0xd054eb6b1523138bL,0x9635da2935029a99L,0xed8ad119918794bfL,
  57481. 0xb3b9ea73d86ffebcL,0x174afa73454d5e5dL,0x000000000000007dL },
  57482. { 0x0b7e89f996442409L,0xf308ceb46bf1c207L,0x7bf551a8d7488abbL,
  57483. 0x06be62570d2826dfL,0x7da841c4c45d6b49L,0x90e0c656320fcdd6L,
  57484. 0x625d0ad9c57ae245L,0x1117fa49a6216b67L,0x00000000000000eeL } },
  57485. /* 36 << 49 */
  57486. { { 0x740389608eaee36bL,0x7df35d2c162d1f6bL,0x2cebbe053186aa89L,
  57487. 0xc17db617944dc7acL,0x1c6a5a0781e3d0d1L,0xc1e8ce8e29c741eeL,
  57488. 0x8edd5a72fc708460L,0x337ba607bd44d4a2L,0x0000000000000143L },
  57489. { 0xc54244b594eb3f3bL,0xf6303630ea66f38aL,0x72aff79bc6149c29L,
  57490. 0xecb88c9faa4b1c13L,0x648ec54762873c5dL,0xec17c8cc65222b9bL,
  57491. 0x887c31775c4b3466L,0xcdc8fe2b7e3e7954L,0x000000000000008dL } },
  57492. /* 37 << 49 */
  57493. { { 0xcefcc053278778a6L,0x8b23916cf443f1e0L,0xb54c427ecbee97faL,
  57494. 0x24c75ee812bc4efbL,0xb7b0cb176a167e91L,0x1b307498bacd972fL,
  57495. 0xd744a51b519cb27aL,0xbc28421783cd2333L,0x0000000000000020L },
  57496. { 0x81f745e1b02be1a4L,0x9de30681c6537840L,0xc9bdcf9e9fe1b32eL,
  57497. 0x850f2187eae10736L,0x5dc72e3f8cbe70ebL,0xff288749c832cb6eL,
  57498. 0x648754cfbdaa6ffaL,0x24e3f97d26354f2aL,0x00000000000000c0L } },
  57499. /* 38 << 49 */
  57500. { { 0x09c04a0f926bc690L,0x43fbfa9f6286e106L,0xd1a8fb90e1c3b305L,
  57501. 0x7b4ee666fe37cdb9L,0x404be05f9b915078L,0x5d886ece2e0fdca6L,
  57502. 0x58cfc29cedf36049L,0xf94ec764dd30d905L,0x00000000000000ebL },
  57503. { 0x4ad5bb20650c67d2L,0x760e0784377c5de6L,0xa6fa0ad7a47acd80L,
  57504. 0x91e26191802a68ceL,0x932e9b57c492de6cL,0xf51aafe3c0d70872L,
  57505. 0x17e1ee20c0a4eb8fL,0xdadd7f5ceb04a2d8L,0x0000000000000101L } },
  57506. /* 39 << 49 */
  57507. { { 0x4b6c35299c3fb75cL,0x2020efc7e2f85697L,0xd2dfcd4892684019L,
  57508. 0x366e38a2ec2edf42L,0x7217d73d4aec48b0L,0x098c0ae01adb4cf6L,
  57509. 0xbbbcb22ae102cc11L,0x46785dc5b1740371L,0x000000000000004dL },
  57510. { 0xe2cbce804c10fb38L,0x2ae649622280d0afL,0x7e3465aca1b0c46fL,
  57511. 0x8bfd57b6dd9e378dL,0x01f628f91dde62e5L,0xf3e4adf12526bb39L,
  57512. 0x1734ed33ba88260dL,0xe6b9194041672e7bL,0x00000000000000d0L } },
  57513. /* 40 << 49 */
  57514. { { 0xf42c064a910fda3aL,0xfbafa50fcea6aa25L,0xafe5f5580de9bbbcL,
  57515. 0x24e9d4ae0e89fb39L,0x5b71973925c76201L,0xa87ea5295475aeeaL,
  57516. 0x1e5495e03c4be889L,0x7866138b995ad46fL,0x0000000000000087L },
  57517. { 0x5f9f803e46afb538L,0xf8c0f078ca875a75L,0x63f1050a89b71552L,
  57518. 0x0858baab8d43bb0dL,0x8dc61935fe38cf7dL,0x50fbdae220f815eaL,
  57519. 0x6c6a84e52e070889L,0xa524045e73fb1857L,0x000000000000001cL } },
  57520. /* 41 << 49 */
  57521. { { 0x18d8ccdae2479e67L,0x1baa53f2a74a289fL,0x6edaa01c578d7dd5L,
  57522. 0x39deb2bf383bedf1L,0x55b2cb09c0c843bcL,0x4389566147a692a7L,
  57523. 0x6c9ae23f7e9cda94L,0x21cc9bceba7b7179L,0x0000000000000026L },
  57524. { 0x19db39e25f4eedefL,0x5c22018976727eeeL,0x2bc4e7bfd2b991deL,
  57525. 0x9c136af758617aebL,0x25f438605bacc62cL,0x8e469c5668e7b7a7L,
  57526. 0x905da2b18fd497f0L,0x5ca49b9f114ad2ebL,0x0000000000000067L } },
  57527. /* 42 << 49 */
  57528. { { 0x1a6f8d8de1a52dc5L,0xcf96814d03a474a1L,0x89bf6b6d11521565L,
  57529. 0xdef2de686891d9c1L,0x84acad656e7c7d4bL,0x886b8a280175a6cfL,
  57530. 0x9ee8240c926fe7bcL,0x152a76cc39bf83daL,0x0000000000000091L },
  57531. { 0x85376a369b33ef6eL,0x59cfd5a4f181f89cL,0x679c3adc2593d6caL,
  57532. 0x6ed84b8bfbae89b6L,0xee128a9017cb08eeL,0x4f29fb137726bc40L,
  57533. 0x20ed5454dd8a2a9dL,0x4e91664a378adbadL,0x0000000000000191L } },
  57534. /* 43 << 49 */
  57535. { { 0xa5dad36b52b70595L,0xf87e799e31e1f282L,0xd2cc0cbf9e1f33e1L,
  57536. 0x4cf0cf552d62e0a1L,0x18d2a4d5fc30b065L,0xbc92b38273812cceL,
  57537. 0xb252123d18868d58L,0xedac40192d70d6d7L,0x00000000000000a1L },
  57538. { 0x06ef9212c3f4e226L,0x59efef442a3fda9bL,0x9bf2803a42146a29L,
  57539. 0xfa8dab397c4a93deL,0xe1d34b9562d8ca13L,0x9989f1f7ef4060ceL,
  57540. 0xa57df883280ad2ffL,0xa7672319b32b7398L,0x00000000000000d1L } },
  57541. /* 44 << 49 */
  57542. { { 0xb841b3a2716363bfL,0x1fe55966930c285eL,0xd32798db70bcc6e5L,
  57543. 0x69e8e3f7cd08aa70L,0xc062c65836522b1dL,0x5f540d1d845d3226L,
  57544. 0xc3fb106d65d5893cL,0xa7e29ee98ae43be8L,0x000000000000012aL },
  57545. { 0x10107bd45f12406eL,0x09597eeeaff644d1L,0xd6016ea4a82208eeL,
  57546. 0x91ae818f1b864b66L,0x443f4f76f39bba56L,0xfb1e51720ed82a06L,
  57547. 0xa79c9ef8d5b29a93L,0xcf62b0acdf4bc546L,0x0000000000000095L } },
  57548. /* 45 << 49 */
  57549. { { 0x786dddbd9a6770dbL,0xfbba1c37c9bdf259L,0xb0ee1d34c50b403cL,
  57550. 0x1d67be441e207360L,0x186f06bc422c455bL,0x595806c00c1576b6L,
  57551. 0xb88abc273985699cL,0x47398d6d704fbcd1L,0x00000000000001c0L },
  57552. { 0xdf0187cd0bc02f06L,0x98eb35357610f278L,0xa253493558e633dfL,
  57553. 0x633c5838abe6ba6dL,0x98e6522d8345acf1L,0x403be8d023f02650L,
  57554. 0x929e6fde26185a91L,0xe11ef0da93f223bcL,0x0000000000000106L } },
  57555. /* 46 << 49 */
  57556. { { 0x0e407af213d053ffL,0x90d5045e06f74badL,0x066fbdeab7245e4eL,
  57557. 0xfd7b75ca58eb3154L,0x1b71f8fab1085c0cL,0x0813f46a32f91863L,
  57558. 0xcb798c7cf9b79419L,0x89ae2cf7b03a117aL,0x000000000000009aL },
  57559. { 0x5c04b5fd596b9fb0L,0x39cc235d1bb7e7a6L,0xbd27de310638c16bL,
  57560. 0xd12cf68dc62576c7L,0xdab34467be49955fL,0x6e9ff707f0e83b90L,
  57561. 0x9be7a05a7f860800L,0xfceae2f729c5a536L,0x0000000000000076L } },
  57562. /* 47 << 49 */
  57563. { { 0x839213697b1d62c9L,0xd22e2902a95f6724L,0x29d3cff45962cbf4L,
  57564. 0x74adaf534e973e6cL,0xad2f70c1a766f389L,0xc8eadf0ac2b8cd2dL,
  57565. 0x8206870d8d1654d4L,0x99168a47a8feba9cL,0x000000000000002cL },
  57566. { 0x1b25ea9fef1068fcL,0x48d00e1e844eec1fL,0x5e405a57497cdaeaL,
  57567. 0x9ea279918c28de85L,0x162811a8db094da1L,0x83072388e11f3bc4L,
  57568. 0xb0b78a7ce6b0b528L,0x97576dd0cdb3fabdL,0x0000000000000046L } },
  57569. /* 48 << 49 */
  57570. { { 0x0f9052c7b597ec4bL,0xc6f41c80ad573ab6L,0x347a20e1e3a60425L,
  57571. 0x8b466cefc852cbb5L,0xf38734d5dc78e008L,0xf347cd72d1ad9a04L,
  57572. 0xb82d096f30eec82bL,0xe43cc8e9ca4f7ab3L,0x000000000000001bL },
  57573. { 0x78d630caf659615aL,0xd686695eb1617e24L,0xbe1c2194d5983cf9L,
  57574. 0x4522d8f78329caaeL,0x672fee6b101fb01aL,0x1b1f4c0950d301abL,
  57575. 0x7dd87dac5e431e1fL,0xbf07ee0cea0100dbL,0x0000000000000172L } },
  57576. /* 49 << 49 */
  57577. { { 0x07f921760f9f20faL,0xfc96b84ecb68b725L,0x7718b02302cccb62L,
  57578. 0xedd4dd7985b5fbfaL,0xf6e1e454f4db3795L,0xb4888ae03a7653c6L,
  57579. 0x8fb8fc4474baeffbL,0x063c86b72d45c22bL,0x00000000000001cfL },
  57580. { 0x0c41e282815b2541L,0xac43abd94c2ee392L,0xe24e214a71c286d3L,
  57581. 0x1282830043728b88L,0x3bd6814757828877L,0xf197e9452febf81aL,
  57582. 0x8a1c679cedbea19aL,0xe251fa945967dcd2L,0x000000000000016eL } },
  57583. /* 50 << 49 */
  57584. { { 0xe01d086a1075213eL,0x8f1b00cbea347edfL,0x8498f8c425c21dddL,
  57585. 0x95abb4086d820738L,0x557eaed7ec5afe32L,0xe497900ca38f0434L,
  57586. 0x0515c9bc903e17b0L,0xc02387e3dc40307aL,0x00000000000001d3L },
  57587. { 0x96a0bc63eaf352c3L,0x579c49029ee03dddL,0x757a34d6c98eb9dcL,
  57588. 0xcfa9d25abd86a2baL,0xc8809301f6054b1dL,0x30b0c70afff80255L,
  57589. 0x69f40403c5ff5831L,0x6e5fd068c60c11ffL,0x00000000000000b6L } },
  57590. /* 51 << 49 */
  57591. { { 0x5340fc5166c83cbeL,0x507640cb9f3024fbL,0xf750a8d5a1a0a1e1L,
  57592. 0x9e7f6338adbb9bb1L,0x09a208b43976445dL,0xa6cb9df3457f574fL,
  57593. 0x7de5c8214fbd3509L,0xde3f5ae19d50d9a1L,0x0000000000000027L },
  57594. { 0xc82405f8ed17132fL,0x43256e646a46977fL,0x8a353d2a994b1950L,
  57595. 0xff3152f2ad9a40c9L,0xfc9cfa4f87e47049L,0x3ac2a3b0c168d8b0L,
  57596. 0x80742ee9bb4d7fe6L,0x3d2ba8aa8678a9d8L,0x0000000000000046L } },
  57597. /* 52 << 49 */
  57598. { { 0xa04a119dcd2fdac3L,0x2ee2c11c9ce17d39L,0x197cfc5f32fe1c10L,
  57599. 0x656774fe3aab0424L,0xb43b296a067463a7L,0xad338aca55d78e93L,
  57600. 0xc74471b7b87e1358L,0x5bb5cfc201be2553L,0x0000000000000075L },
  57601. { 0x71ed2ff019301a86L,0x49d0b18dabb3a3f6L,0xb14c65b0aba86284L,
  57602. 0x4a537637cb47beffL,0x340621ea976f6945L,0x66fae29b5c4ae1ecL,
  57603. 0x8e56e0fba5e5cc76L,0xc09a72fd7cd3d0bcL,0x0000000000000035L } },
  57604. /* 53 << 49 */
  57605. { { 0x349d9c4dee613f38L,0xef68106f51fb9826L,0x92f4c8386d78ed38L,
  57606. 0xb98420f7586485edL,0x0ec1b91d60f3f9deL,0x93d3828b84a7a66eL,
  57607. 0xb9f3374876299a8bL,0x4961a01e9f7fcae6L,0x0000000000000106L },
  57608. { 0x9f606ab04ed763c5L,0x1d8f91a3e9a674f4L,0x97fc8242a521bae2L,
  57609. 0x7008aa90dcb2af6bL,0xba359079b4110efcL,0x7e54f8c1fd447eaaL,
  57610. 0x3aad38aaf746ed2eL,0x3eb1cecef0df9b09L,0x00000000000001d6L } },
  57611. /* 54 << 49 */
  57612. { { 0xd32d280e3ccd90f5L,0x91e87e9e7cb176bbL,0xb5a8a77f30f3973aL,
  57613. 0x1f6389b465126792L,0xda9c26d978cd0d47L,0x5207f05eb2c99703L,
  57614. 0xbd89f16910a3caaeL,0x79ecf9d1f547e27cL,0x000000000000005eL },
  57615. { 0x5a9846021ad57e4bL,0x29373c083b6dc43eL,0xadfe6bad320676e8L,
  57616. 0xd4122508a6380857L,0xa83a74ecd1d1ad46L,0x98c04d58f1207f89L,
  57617. 0x19948a9ec12d1d1fL,0xa3cf675347dae287L,0x00000000000001bdL } },
  57618. /* 55 << 49 */
  57619. { { 0x69a5518193a902f6L,0xdc736d4689ee0441L,0xea81c08bf0cc23a0L,
  57620. 0x9a63c879a61c1beeL,0x9b8c27d1f2c2dedcL,0x14c7458b5f0dcf06L,
  57621. 0xaf32ef31e8763a8aL,0x46821a538c0aa44cL,0x0000000000000108L },
  57622. { 0x0c7e06114965b20cL,0x69154474ce496d11L,0x964e6477e160f351L,
  57623. 0x841083e9d6e4fb2fL,0x70640bc3c0e71fd2L,0xbed0bbf4db30ddc2L,
  57624. 0x1b30d4d54c9e01f9L,0xc58137f9a143b3feL,0x000000000000017dL } },
  57625. /* 56 << 49 */
  57626. { { 0x32966f76bd667641L,0x7de72be5f0d579a6L,0x0a6ffafb81276712L,
  57627. 0x0c76a2135e91a169L,0xeb960ed85f953cedL,0xaa5f7f8f0be111cdL,
  57628. 0x2cd0b477911f59faL,0x059a70c6e5220a86L,0x00000000000000dbL },
  57629. { 0x16f99e8ba61c4277L,0x011745b656710251L,0x13cb7d19f1ef7ff2L,
  57630. 0x2162edb414f0c0e0L,0xb0a459e867467a1cL,0x2cee2121248e6fc9L,
  57631. 0x2ba236eb98142385L,0xbd7465c91e63fa6eL,0x00000000000000daL } },
  57632. /* 57 << 49 */
  57633. { { 0xed2afb1c966951c4L,0xd8fd93de5daeedf7L,0xe5fa9c4cc93d1c57L,
  57634. 0x386b2c9bfaefcc9bL,0x4b59656fc59929c0L,0xce1d20e5eab86992L,
  57635. 0x3c11b1a137676f63L,0x1a35c38f85420d79L,0x0000000000000171L },
  57636. { 0x8f88bb55620441abL,0x47af796eaf094865L,0x8888bcd9ef98fea4L,
  57637. 0xc3f31342413e8555L,0xdfeb4b48c2b75c9dL,0xfd99c9a4a0c1d15fL,
  57638. 0x94241431cefee2e3L,0xab9e1f0a23fd9b10L,0x0000000000000026L } },
  57639. /* 58 << 49 */
  57640. { { 0x25ccc78e776cdc28L,0x34bfe1407f0407e4L,0xfdb8fac8d9e8897dL,
  57641. 0x49c0ddb3814ce374L,0x4c983cdc10173846L,0x9c4d4eff62108873L,
  57642. 0x12fd9caa476f5b17L,0x8658c9a0731d2d9dL,0x0000000000000171L },
  57643. { 0x14b0aedbf23ff601L,0x632cfdc58f68ccdbL,0x8485d63227078299L,
  57644. 0x1b83394f4856bb41L,0x5f905b4a04999398L,0x9645aee589030563L,
  57645. 0x30ce56159f7c6eecL,0x53aa062997c9b6f4L,0x0000000000000182L } },
  57646. /* 59 << 49 */
  57647. { { 0xddcbdedee68e0fedL,0x99ccbf1f05063476L,0xb89a94876cb38f6eL,
  57648. 0x3022a2323bc6e121L,0xbc4aed50fab2bc77L,0x46060acead728bfbL,
  57649. 0x6c950f528b881519L,0x9c0edf597814d1f0L,0x0000000000000137L },
  57650. { 0x58b14d40d0e8fc6cL,0x5e61d01c942ae23dL,0x6bdbad564712f262L,
  57651. 0x61fd6441155fe00bL,0x1ab1151ad617185cL,0xce8ea53c623a376fL,
  57652. 0x5f0cac41c768b147L,0x1f5f832e22a26dbdL,0x00000000000000ceL } },
  57653. /* 60 << 49 */
  57654. { { 0xb9532a46e6ebc565L,0xde038371b7c6883fL,0xa934fd5002bbe9b7L,
  57655. 0x4b82ec8ef3837d8bL,0xc00073fba5d11dfcL,0xae3a22c2dc5ac742L,
  57656. 0x8adb521a73b3415aL,0xe0902743f43bd62bL,0x00000000000000dbL },
  57657. { 0x3cf82ff6173b48dbL,0xec4e00c39af49c1cL,0x786b4099b3a267e2L,
  57658. 0x16e02a248820f967L,0xe0689ca4e4fc99deL,0x2a5f17575fbd3f1fL,
  57659. 0xc0c02624ba0f38aeL,0x586ca28d58cae5dfL,0x00000000000001a5L } },
  57660. /* 61 << 49 */
  57661. { { 0x25b05b4ed1f10799L,0x76cd6f8bc800ad41L,0x13fb260460b2ab0dL,
  57662. 0xf59f0cccd05a52c0L,0xb65218b0288de748L,0xc03f3f749f3e5ca5L,
  57663. 0x777a1100abf69427L,0x69340a66f7b3528eL,0x00000000000000eaL },
  57664. { 0x1dcae8f5b7b29411L,0xa34600730dfea3c8L,0x13b469f258498ba4L,
  57665. 0xdf838dd3bbab9202L,0x4dbec5fffe347b04L,0xb84fd1d91eac8f9bL,
  57666. 0xe74760c46e283eb9L,0x7c24f5141a49e088L,0x000000000000008cL } },
  57667. /* 62 << 49 */
  57668. { { 0xb330cfe8ae5124acL,0x4205f06afb62311cL,0x21c0f9cbdf03f5d1L,
  57669. 0x0f4d3d7709c90889L,0x970803101dc16211L,0xae129fff455f228eL,
  57670. 0xb209416415043833L,0x95312756bac62236L,0x00000000000001b5L },
  57671. { 0x74af54c370d0fd85L,0x55862bd38d6ef975L,0x52ae68bcf7bdbbf6L,
  57672. 0x92615cfc17424b12L,0x3711586fe21a24ccL,0xc0afbe33e3739cefL,
  57673. 0x46f3ae0794c296afL,0xb16803df799e4152L,0x0000000000000031L } },
  57674. /* 63 << 49 */
  57675. { { 0x0e910ae76e30834dL,0xcc082cb386c72df4L,0x88a278b2b0dac2d3L,
  57676. 0xddd107b085c2a06eL,0x7423df9623246789L,0xc10556841087702dL,
  57677. 0x75cc98651081b21cL,0x5279c1a2e7f4c29aL,0x000000000000006aL },
  57678. { 0x0fcaa2f8953245b6L,0x828ab5a68cb75480L,0x06381dfffccbede4L,
  57679. 0x0c3f8eae499f669cL,0xc6fe81f8f5dc5c99L,0xb5083730b4aae613L,
  57680. 0x8d2038c777622821L,0x263228451f870cc7L,0x0000000000000179L } },
  57681. /* 64 << 49 */
  57682. { { 0xdeed672da38be841L,0xd62d42d762febdd5L,0x002aa47e2d4af6ffL,
  57683. 0xdadcda955be24d99L,0x91ec05c46727939bL,0xe7535c591b7966d0L,
  57684. 0x83d7f5f023c47893L,0x470bca4e2c4e6181L,0x000000000000010eL },
  57685. { 0xfe45f9698440535eL,0x240e6b2c49adab54L,0x61089282db726b76L,
  57686. 0xcff3e30bfa643350L,0x3aafb169a7c01f88L,0x51923c30e0a5514dL,
  57687. 0xc077936f3ccc700aL,0x23375769586f4854L,0x000000000000006eL } },
  57688. /* 0 << 56 */
  57689. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  57690. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  57691. /* 1 << 56 */
  57692. { { 0x9aa53b475a714194L,0x01163dd86957d5ebL,0x5bd2c24f908f5929L,
  57693. 0x87f519f4dbe42b0fL,0xff767379fb6b5ad4L,0x4d0f8bba9a193f28L,
  57694. 0xf3c42bd0ee549d79L,0xbf851d3f825244faL,0x000000000000009bL },
  57695. { 0x825ffb609f78b57fL,0xd1913668e0f74b73L,0xf42a5b035468f89dL,
  57696. 0xa2347499aacae46cL,0xc771e34cc85272e8L,0x295684c1d427d3a1L,
  57697. 0xed749903433451dcL,0xb872072c0cbabbd4L,0x0000000000000049L } },
  57698. /* 2 << 56 */
  57699. { { 0xf98db50e8435735fL,0xeb51c34660bd7b77L,0x200adf1e996ef096L,
  57700. 0xecac256b57b8d488L,0x889639b07e65ea9fL,0x4f763f7313a4a243L,
  57701. 0x401c22a42957db01L,0x86cff8bc68eb751eL,0x00000000000001c7L },
  57702. { 0x1c0549ebe47805e9L,0x57716280b223b355L,0x69a29cf4db5c068bL,
  57703. 0x63fb8a8c432af690L,0xdcbb94f97f36ebd6L,0x693983dd08609c4dL,
  57704. 0x69875f98d458fa6eL,0x149758e81fff90b4L,0x00000000000001eeL } },
  57705. /* 3 << 56 */
  57706. { { 0x8452736310a0d011L,0x299e1cb30bbaddd0L,0xf5f3079b5294c956L,
  57707. 0x9edd5fa24f0a3584L,0x764bb175641f1fe4L,0x0217a94a93b38db4L,
  57708. 0x61c992b7e31e6fdbL,0xeb231629764cabecL,0x000000000000013bL },
  57709. { 0xbd3b12a4d2e8c15cL,0x8eef9b5d8accc1f1L,0xb931fbc752747252L,
  57710. 0x8a7b86c7f9817befL,0xb52330ba584e1181L,0x9bc4926d25a0a0abL,
  57711. 0x002feb9b89a625d7L,0x653946b5db41831aL,0x0000000000000061L } },
  57712. /* 4 << 56 */
  57713. { { 0xf1efe65befd91d43L,0xdd872fb0aa3323e3L,0xcb7c357901e9dd62L,
  57714. 0x04677143cd97ebd7L,0x906eceb8806e055fL,0x334b997f2fd96082L,
  57715. 0x41a732b0caaad051L,0xe1b97e125bc0500eL,0x000000000000008fL },
  57716. { 0xfc4e9baaa1bee510L,0x2b887e327d63c5f0L,0xcfb9c52eee6cad4eL,
  57717. 0x596bb714b0b8dd96L,0x2db254c665f9a215L,0x000359bdd799749eL,
  57718. 0xc4ecaf126d91b457L,0x8153709ebe4f02f6L,0x00000000000000c4L } },
  57719. /* 5 << 56 */
  57720. { { 0x2218489b09d9e2f2L,0x563769927f4fe3c0L,0x61e365211ed2b98eL,
  57721. 0x166d671a178d242eL,0xb65381c97e8d39b6L,0xaefe583a82851b43L,
  57722. 0x6caa4459a24a7af4L,0xb421380f5640d447L,0x00000000000000b5L },
  57723. { 0x706a413011d91549L,0x4214be92e3064f4aL,0xa7c3b7b8b7649258L,
  57724. 0xa782e2fc71c05ddeL,0x0fa90ef683d30793L,0x1c77425b15dbd474L,
  57725. 0x917cdb42fc0b16d8L,0x7ef5faf8c7bfa045L,0x00000000000000e9L } },
  57726. /* 6 << 56 */
  57727. { { 0x5b408946a60059ebL,0x0d707cc2a1e69f42L,0x9be262d3cddd4401L,
  57728. 0x0c2d64bd01c14145L,0xcf8b305a27c198a5L,0xadccc32e05c03494L,
  57729. 0x22e5f02b6c1de307L,0x2ae62bac48f43edfL,0x000000000000001cL },
  57730. { 0xb02341cd598a8ef6L,0x0e6041748456480aL,0x159e591932132353L,
  57731. 0xe03d4f2c8b3a8a62L,0xd1190722f861d8f0L,0x59d3d3b6a37c89a2L,
  57732. 0x07fb0e16a2987768L,0x5dd98e191da91a16L,0x00000000000000adL } },
  57733. /* 7 << 56 */
  57734. { { 0x09238de907ae5402L,0x14fce2b1444b8b61L,0x37ee7affbd0d2eadL,
  57735. 0xecbc75de97804504L,0x343a5d1a3b5e5fd8L,0xbf806ee5a90dcf6bL,
  57736. 0xd07f1054b2bf2a3dL,0x6f590326ed9fffe2L,0x00000000000001fbL },
  57737. { 0x9c42832de6198aabL,0x3eacd0ed475ec98dL,0x715b6aa8937ffe67L,
  57738. 0x4b35d1e7891bffc8L,0xfad8af9cb36a8835L,0xa3a21d6f7b8f6f81L,
  57739. 0x4faaf12e771c3b1cL,0x4e05313304fad4c8L,0x00000000000001f1L } },
  57740. /* 8 << 56 */
  57741. { { 0x7eecdfe4e541183aL,0x7b0dd2285aa8b868L,0x8d38cd0c1de22f71L,
  57742. 0xa9ca796dbd2638c1L,0x1819373249e5ea36L,0x4fc5461729212b0fL,
  57743. 0x4f3874d22debe3f7L,0x46499322cd4b02fbL,0x0000000000000015L },
  57744. { 0x7977cdaaa3bc23c0L,0x954aa6d88ba98676L,0x6b8471c793c7bf98L,
  57745. 0xf8025a0b43c70437L,0x0aca0d09b1a8c71bL,0x9fb1d00b6fc48277L,
  57746. 0x50bccc4ee312939bL,0x5aeaf55665e5df83L,0x00000000000001abL } },
  57747. /* 9 << 56 */
  57748. { { 0x296c4e5e4114124cL,0x8f760836d47c56bdL,0x9fda0a36f6758211L,
  57749. 0x2bc5e75b36cd51bbL,0x32e6873f1bba9f2aL,0xed7a7c288e6c979aL,
  57750. 0xbec902bb47cccd6cL,0xacf4c76c48dca66aL,0x0000000000000080L },
  57751. { 0x44a892f6355a975aL,0xbbd44a35bd1b1666L,0x6b49014ca612f865L,
  57752. 0xcd50cbb36b81bd2eL,0xb25e204fc26beab6L,0xddcf6123f93fe188L,
  57753. 0xa3c651667a980260L,0x87f09af9e19ae815L,0x00000000000000c5L } },
  57754. /* 10 << 56 */
  57755. { { 0x36fafde5fbbd4e98L,0xaf44b924868ff31bL,0x0281a7fa945ab6b9L,
  57756. 0x2a4bc2c85323df28L,0x51959c042a3e0fb6L,0x6aba3103143c1a63L,
  57757. 0x3a572db88876e600L,0x418cd1b4506efccfL,0x00000000000000b6L },
  57758. { 0xf121c2f9beeeb151L,0x69c65d11d76943abL,0x74063608addb71d4L,
  57759. 0x072af1c6702d26b0L,0xe0fd470b473b6ef3L,0x765b0f46bc36697eL,
  57760. 0xa24b34bcc6acd252L,0x0401f4521c3311e8L,0x00000000000001d2L } },
  57761. /* 11 << 56 */
  57762. { { 0x3f298d941c6a01eaL,0xb6ee6874dec1f22cL,0x189023ac496d5522L,
  57763. 0xca543ecfc08a48c9L,0x240ca6a0a2db1ea9L,0xa591ef2e54492401L,
  57764. 0x22027038344bcd0bL,0x34cb84596dc4ced7L,0x00000000000001dcL },
  57765. { 0xb5a949080414ed02L,0x8bddf24ba14739f7L,0xa788ab9679ac753bL,
  57766. 0x754163a977fe2ff1L,0x49803f05af045bc3L,0xf482041842d13f83L,
  57767. 0x9f86243cd7528fa3L,0x9b4c2abe08588f48L,0x0000000000000131L } },
  57768. /* 12 << 56 */
  57769. { { 0x34853c5d35da05aaL,0xedf100f6b15b5d6cL,0x1dc6e841d3da67b0L,
  57770. 0xaa5d83f0310fd872L,0xa686fa787cfd885bL,0x297a0e48b09f9c96L,
  57771. 0x9e899c7dfbd40e05L,0x2bfbaf44b9589b4bL,0x000000000000013dL },
  57772. { 0x937376913784f654L,0xaba39ee088f316f8L,0x7fc611358a3c3666L,
  57773. 0x5a09da1f80a1fadeL,0xffd6018133651828L,0xc400cf569a7ac400L,
  57774. 0x64fc091f665c4152L,0x8679f2d7c350f654L,0x00000000000001ecL } },
  57775. /* 13 << 56 */
  57776. { { 0x3af9dcd14473f37cL,0x7c31843080e36492L,0x5115486ac8d049ceL,
  57777. 0x594ee800b10d6316L,0x3c9aec97f913f656L,0xc9b99ae4476865fdL,
  57778. 0xf9a597f80fecfa86L,0x59313aafc2664276L,0x0000000000000020L },
  57779. { 0x431f1976e5a1239aL,0xb406a1eb58838d43L,0xc023f4698d681f4cL,
  57780. 0x5f1dd612dcccc654L,0x9032c342434f82c6L,0x99bc4322c7965da3L,
  57781. 0x8c2f2ce32745885eL,0x415ff1a86cf68162L,0x0000000000000009L } },
  57782. /* 14 << 56 */
  57783. { { 0xb10ff95e0e9132f1L,0xf49e33b7045c8800L,0xdf0314f4842d3bdcL,
  57784. 0x55fb97a8f584e160L,0x0b923612e71c4d35L,0xdb8c2885ea2f1d23L,
  57785. 0x514e37d7dff21f90L,0x0a0cbe3dfd2278ecL,0x0000000000000081L },
  57786. { 0x20daf0c8e84e328aL,0x9885850d6978f468L,0x8ffffeb098151489L,
  57787. 0x5bb7fc177a0b4d73L,0xfc401e51706e036aL,0x7016943c64c94259L,
  57788. 0xa8cdd03a570abcacL,0xb94b40df2520b74eL,0x0000000000000167L } },
  57789. /* 15 << 56 */
  57790. { { 0x41ec06596dd7d8c6L,0x8baeaeffb07d565dL,0x55f5138c26c9b544L,
  57791. 0x975e212788825ee5L,0x90422ca7c1a092e0L,0xa03de4e8dbde0554L,
  57792. 0xdf408882734e71a8L,0x80e01f63a10cc8e4L,0x0000000000000157L },
  57793. { 0x7b4e0e130a65cb93L,0x1f3e7faec1e49a1aL,0x1b12fdb3dd71b3f8L,
  57794. 0x8d32d35f1253f42eL,0x38e09d674312f8b0L,0x9a727ebd4281b5ceL,
  57795. 0x0002358abf211bc2L,0x46c3dba13e61916cL,0x000000000000003cL } },
  57796. /* 16 << 56 */
  57797. { { 0xbf2097b9414d9815L,0xfa0673b3cda66dfcL,0x8c775677193b17b0L,
  57798. 0x07c8dbf6c5387e9aL,0x141de69d4c5da984L,0xf0650ac806a8b133L,
  57799. 0xadd766eed2b258c4L,0xa6f4276396303678L,0x00000000000001daL },
  57800. { 0xcdbf1daa39c8824bL,0xf8f2cd8c5638cb0cL,0xd966c8e9b6d33286L,
  57801. 0xe4b63ef8c1331e1fL,0xac72d8e3fb5f843eL,0x110d0d4a8ff6b4b6L,
  57802. 0x0067fe1eacd5cf3bL,0x5eaae5b321c1e826L,0x0000000000000068L } },
  57803. /* 17 << 56 */
  57804. { { 0x3c2cc8401217a97cL,0xb50bb1f3c1c919f8L,0x5becdaec4470c37eL,
  57805. 0x378cab9bceb1fbb9L,0x04563e25cc95f3f6L,0xae040e389d4a2100L,
  57806. 0xe66969915950151bL,0xa855c542c36aef82L,0x00000000000001e5L },
  57807. { 0xe5c950666cd47003L,0xc602fbe4b6bae5a9L,0xacce809c76110dd2L,
  57808. 0x757b37d9047a58c6L,0x58c9dc97ef3e68d5L,0xa2dc7d9012714826L,
  57809. 0xad4e0ba11fbf2747L,0xe710d91de5af3928L,0x0000000000000084L } },
  57810. /* 18 << 56 */
  57811. { { 0xd79cd3bc6e819754L,0x7c18ef6a8809e3d0L,0x29468b115c990dd5L,
  57812. 0xed6cf22a8be7c0b6L,0xb62cab9a75ff6d61L,0x035cfbcc46116fc2L,
  57813. 0xc375d3ffcb5139a8L,0x9fab6a6207bedcb9L,0x00000000000001e9L },
  57814. { 0x0b07578f9d888066L,0x9438e828693b78fdL,0x046f159b622825fbL,
  57815. 0x00125b1e0a349677L,0x408d9c746d8e1d12L,0x4e46f3fed0358225L,
  57816. 0x63dd41bff4448e2fL,0xc87ae9f74d54acc2L,0x00000000000000a1L } },
  57817. /* 19 << 56 */
  57818. { { 0xca6d413b739aac79L,0x5ca8d0f0cf84b822L,0x6ea753d2490fbae0L,
  57819. 0xd02d641bf68588dbL,0xdcf9aa5b12a69358L,0x3b3d2093c00dcf36L,
  57820. 0xaef49dbc3556af94L,0xd878e02a7ad78427L,0x00000000000001a4L },
  57821. { 0x8f65cdc927f5b36dL,0x968c84e51ec6669aL,0x3a412c9d99424d9cL,
  57822. 0xbdda9213690b435fL,0x00899ee877958c53L,0x64032787de5424aaL,
  57823. 0x6d3df87b4261056aL,0x556eb68e62019e38L,0x0000000000000015L } },
  57824. /* 20 << 56 */
  57825. { { 0x797062240d893addL,0x73be154c32ee77caL,0x462c16d2021f4043L,
  57826. 0xe593ff234c08fc6dL,0xb17e52f03b138c7bL,0xa8ab2ad5e5fbe9bfL,
  57827. 0xcf64eafcb597ce57L,0x83743f38f970be21L,0x00000000000000fcL },
  57828. { 0x6013ab2614c70201L,0x0c69287d9ebefca5L,0x255e3927d7113008L,
  57829. 0x5077b04f4d7558a5L,0x85c914fda5be2217L,0xc44bb4136d336d7bL,
  57830. 0x84a4f0027728a6a9L,0x9c83da4f0040ca25L,0x00000000000001bbL } },
  57831. /* 21 << 56 */
  57832. { { 0x3757eb12813cd071L,0xe2c5e0702f18fb8aL,0x3dfd08305f451a83L,
  57833. 0x91e430441b09aef4L,0x0b8493b2153d6dfbL,0xe5cb9f878aa9de2fL,
  57834. 0x5f4136b67e86e730L,0xde3b214ff8007c7dL,0x00000000000001b1L },
  57835. { 0x6f3d65ebaa289400L,0x2937901f23fc2f30L,0x208a45403c97ad38L,
  57836. 0x496fdaf41d956449L,0x68d7b49d7b70e243L,0x1fe890dbad43f7c8L,
  57837. 0x6d5d15b6fb734683L,0xd8cace1d2636aeecL,0x000000000000007aL } },
  57838. /* 22 << 56 */
  57839. { { 0xa221c321cfb59cc5L,0x54e6a28dd152e86fL,0xbe574fad4c73e2cdL,
  57840. 0x66a16063a28c6a34L,0x9d051f2ba6bf4e33L,0x6f6e57f0efef1f7bL,
  57841. 0x9f8530c7266ea965L,0xde64f62ffc3c5ce8L,0x000000000000016bL },
  57842. { 0x101e26f9e249ae6eL,0x64b186185ccd4bd7L,0xbbe43dbfa725469eL,
  57843. 0x2a13bcaf3c77a158L,0x3f52b1d45196b990L,0x5d3d31009643175cL,
  57844. 0x0c45dd2949e58e34L,0x2376457f0c9272d1L,0x00000000000000e2L } },
  57845. /* 23 << 56 */
  57846. { { 0x1aa1200038b3205cL,0x76e66ea19d58cca0L,0x80c79ada0cc03958L,
  57847. 0x81bc2b5e01351773L,0xd3728abfbb0e9fe5L,0xf5ab4fb5c491587dL,
  57848. 0x87338eb582fd5606L,0xf6347c4826c78494L,0x000000000000001bL },
  57849. { 0x8a791f669efdfe9aL,0x755e8267e727d49bL,0xa3099a447992d40bL,
  57850. 0xef46bdb01d15a101L,0x559174a23c94ac49L,0x584f8051ea2c9e4dL,
  57851. 0xf4e16886bf84b50cL,0xff78f54b1b77ee46L,0x0000000000000074L } },
  57852. /* 24 << 56 */
  57853. { { 0x7ac3de5ca9041d75L,0xf644635482759efdL,0xab1b9f174ade5840L,
  57854. 0xeee52981b8197804L,0x46000cbe38c3a5f5L,0x88230b1626431a41L,
  57855. 0xe28d80f67766d1fbL,0x2e75ed96eb167421L,0x00000000000000dcL },
  57856. { 0xc2e83c5b0e7b8b33L,0x1066058ce284acc3L,0xaf2f0891593a5571L,
  57857. 0xdc3b9416f48d96e4L,0xb290b6d07c9c6be2L,0x52eb2fde7c9039b2L,
  57858. 0x3eb91e6fb68324a8L,0xb30518e936711c4dL,0x0000000000000015L } },
  57859. /* 25 << 56 */
  57860. { { 0x2d009d1f7e81379fL,0x1186c036eeb29927L,0x9c5dd22a91b3998bL,
  57861. 0xb6592abfab377cabL,0x244093f60dcb585eL,0xa4aab53d2afe72b1L,
  57862. 0xcb3555cdbf6a94fbL,0x4fb141b4a362f98cL,0x00000000000000f8L },
  57863. { 0x4a846565f7b37ee8L,0x951a4ede2449b8c8L,0xd0207baa5b7a7cadL,
  57864. 0xf6d4d8d91d81b91bL,0x92e4989362f348efL,0x2d1344480ce09f2aL,
  57865. 0x1d44afc329e7a94fL,0xd86cd0c3d2df7d47L,0x0000000000000005L } },
  57866. /* 26 << 56 */
  57867. { { 0xbed09ef139dafe80L,0x29280156660a6824L,0x44826c00399c500dL,
  57868. 0x62a0b9bc916333c5L,0xf8e99a122f328b47L,0x5399ea024bc286c4L,
  57869. 0x41c108bcc314dc67L,0x84028e33144199b5L,0x00000000000000deL },
  57870. { 0xdc9acfdf38f3e37fL,0xd25f15a1b6ebf57aL,0xb8cf0e9228aaf7a7L,
  57871. 0x3e4b2657ebf0dd9cL,0x47c13b14898b9c60L,0xb86aa4de88315b53L,
  57872. 0x3c922479502a03e7L,0x12a71062d5664fb1L,0x0000000000000002L } },
  57873. /* 27 << 56 */
  57874. { { 0x0888c3373a129502L,0x58221c2e5b441f44L,0x492f61b92730c69bL,
  57875. 0x9ec3c2d586c89b52L,0x6c5376a2036b0dddL,0x324072e8e30189f7L,
  57876. 0x9627871a8f6dcce8L,0x2affe689f14c2a67L,0x00000000000001efL },
  57877. { 0x7a6891020deb1c93L,0x4adb5b63d03180c0L,0xac46e5de2dab3606L,
  57878. 0x2cdcc3e0f809e0c3L,0x5eac59fbb6bcf717L,0xec49aba1d98d62edL,
  57879. 0x2c547f2b9cbb81b3L,0xfc3afcf962672e3aL,0x00000000000001a1L } },
  57880. /* 28 << 56 */
  57881. { { 0x56b5f75c7925dc46L,0xfa149311dd8ca6dcL,0xfca42ef910155bddL,
  57882. 0x661b558ac2779509L,0x330257621f4fc11dL,0x00a4a692ba594d25L,
  57883. 0x384f36c67892fe4eL,0x3559163a4b3bd1d1L,0x000000000000007aL },
  57884. { 0x6e75533a4dc7b82eL,0xef9a1ec584f65759L,0x3b6598970198445eL,
  57885. 0xc1635aefa87878e8L,0xcded2de7b779f2fcL,0xbcce07ca79b30a66L,
  57886. 0x784f05e143cc83b7L,0x18fb4648ebaf4810L,0x0000000000000118L } },
  57887. /* 29 << 56 */
  57888. { { 0x21cca143a0849267L,0xdb3c09476150ab19L,0x913aed807d17af24L,
  57889. 0xb9d184be112ef198L,0x51e8658a87ad4afeL,0x3af8395f440d7c27L,
  57890. 0xaa056c70a4538d3aL,0xd32da7d8fb38fbd0L,0x00000000000000ceL },
  57891. { 0xdd19261f7df2749cL,0x3d136e087f22ce77L,0x824d05c2e8e2900cL,
  57892. 0xbb9952149c7ed67cL,0x3d3500c36d5ca1e6L,0x3c05e9faa07cb4afL,
  57893. 0x3cdab734d4dc2a66L,0x8f0dbd5f524a3016L,0x00000000000001afL } },
  57894. /* 30 << 56 */
  57895. { { 0xde0a68bcc944ad6cL,0x5789ad9ef6a7c9ceL,0x5bd83d19ff4935c8L,
  57896. 0xa976293acf267a19L,0x04552718f1aef41eL,0xd87c58e4cdccd277L,
  57897. 0xd5d18bf72542f5a7L,0xb41bcf033a6a2a8eL,0x0000000000000086L },
  57898. { 0x21e495d3188aeb3aL,0x158ee1fff0ac6ef0L,0x18e6446f09c4dffeL,
  57899. 0x82fc447d9c1afb5aL,0x84595eeeace56f3dL,0x94f6edfe590928aaL,
  57900. 0x2b0c90f9b997105cL,0x71ba70da5d064ab3L,0x000000000000016dL } },
  57901. /* 31 << 56 */
  57902. { { 0x6ce8c00009abc364L,0x4ec14c04f010a407L,0x45e5c5da8c10a618L,
  57903. 0x91bbf4e4ca43655bL,0x171e65a9b62c2cf9L,0xdb1915f3821cd7faL,
  57904. 0x75cf2fe3e5acbc70L,0x46e005431959d2b8L,0x00000000000000ecL },
  57905. { 0x2a339ea5cc146e5eL,0x0d4b69e30a693102L,0x7b2707c6610642e3L,
  57906. 0x5ed9f43767880ecfL,0xfa1b6091b769708aL,0xba717e325aa5501bL,
  57907. 0x6833adaf1c963c7dL,0xc66016586e445c3bL,0x00000000000000f4L } },
  57908. /* 32 << 56 */
  57909. { { 0x9917e8cc2c863225L,0xe627d938dff7a5fcL,0x62017450d3c9fa85L,
  57910. 0x30453775ce2573f1L,0xcaaa02c343e3b41cL,0xf541c0065901e5ffL,
  57911. 0x78ec0e91e163aa77L,0x1cfd0693f446bf70L,0x000000000000009bL },
  57912. { 0x82aeb71678063f41L,0xc442f8a7861c6782L,0xccfbc9f3f28b51f4L,
  57913. 0x92a5f71127335516L,0xdb6dc76e23578ef8L,0x365972b3cfc25f57L,
  57914. 0x0dc48630afd7fcb4L,0xccd4f3de87ea6884L,0x00000000000001b4L } },
  57915. /* 33 << 56 */
  57916. { { 0x0cba78e07f180ae5L,0x651f442380de7820L,0xd2280fe6fdcee178L,
  57917. 0x0398d592f0604b17L,0x719a56a516c5f918L,0x521773981ba15826L,
  57918. 0x73e7c994b4cc167eL,0x46116f5351fc4cb9L,0x00000000000001a0L },
  57919. { 0x39eb2793fe76f997L,0xae5381c07344404aL,0xbdb170ea3a99ef88L,
  57920. 0x4b807687b9364627L,0xda38d1e6010cb096L,0x7a26ade40e9e8c32L,
  57921. 0xdba2bc77b15795a0L,0x4a4ef3a9e390b4ccL,0x0000000000000107L } },
  57922. /* 34 << 56 */
  57923. { { 0xb822040321dd5804L,0xc94d9465a3678e1aL,0xd4f146062c4bff3bL,
  57924. 0xcd466a747b9ebea0L,0x2b6ea1b11a3915eeL,0xbfe9fa8d4c9d25b1L,
  57925. 0x5acc811179c0b546L,0xc015bce832ae8d9fL,0x0000000000000199L },
  57926. { 0xb1b1a996c5d68750L,0x0e3f7bd1a3119441L,0xac55b06d80de3e62L,
  57927. 0x1901ae921cb02517L,0xbb05723529251d65L,0x84ab8976f8de5e88L,
  57928. 0x8b0306a18a2a5ceaL,0x9ff34fa9b109a4f7L,0x00000000000001c1L } },
  57929. /* 35 << 56 */
  57930. { { 0x8b2cc329e83b40b2L,0xd03981d20af83376L,0x223bb252aa06f709L,
  57931. 0x98fdf150d0ed1e1fL,0x7197d38267248d5fL,0xc87c56c008a30dffL,
  57932. 0xad81ab335715c061L,0xb4c884e24a323524L,0x0000000000000122L },
  57933. { 0x715113b529703ca5L,0xb22e290ccedaf9ddL,0x627021563b1af469L,
  57934. 0xe0bade40092e1c63L,0x1e7acfe15a88c7d1L,0xcdc94e4fb93c02c6L,
  57935. 0x8053412b444075f9L,0x73d22f8ea1d504feL,0x00000000000001a2L } },
  57936. /* 36 << 56 */
  57937. { { 0x36a54e320063e3a7L,0xb6ab589b2e92d11dL,0x8472d62cadfa6a1aL,
  57938. 0x57c611004799cceaL,0x7643922d8a3d93afL,0x55c52a1e7e3deed7L,
  57939. 0xa0399845e3d1e892L,0xe9e618c644708214L,0x0000000000000035L },
  57940. { 0x0f929bf6c945e0b5L,0xbf9d77efcd8bcf03L,0xdb81f7486f13964cL,
  57941. 0xad6fc6071da1d2d6L,0x658cbe0e689fa23dL,0xaaa75375cf636410L,
  57942. 0x5c69a9f55f5e58b8L,0x518fcdbee31fb8a4L,0x00000000000001d3L } },
  57943. /* 37 << 56 */
  57944. { { 0xe2ad01a012b9d5abL,0xa94dc3c22971085bL,0x6355e2e3013db1cbL,
  57945. 0x91e8f97c89904bc7L,0x4f79feeb5e230144L,0xafa43327cbf85425L,
  57946. 0xc3326b4bd442e79dL,0x696348b814e996efL,0x0000000000000040L },
  57947. { 0x4a58ba810613928eL,0xd30d25defaff6e4cL,0x6ad322500b0b681dL,
  57948. 0x79e4e5c4e8c851fdL,0xc90a7058e2a3530aL,0xe2f77504052a52a5L,
  57949. 0xe34ab1ae2475a042L,0x9cef5db6ac963f34L,0x00000000000001d1L } },
  57950. /* 38 << 56 */
  57951. { { 0x0b472c43ecfb80deL,0xb75578188d5196f0L,0x30b9f8aeed8ed1caL,
  57952. 0xa918b126b15b2bdfL,0xe178db2f9514c041L,0xeb5a0fde8071a8e0L,
  57953. 0x21a6b6aaa6e3fbd0L,0xcde45edad9a740a3L,0x0000000000000193L },
  57954. { 0x6ce6ff4ec84efc29L,0xf7196b6a7acbfc4aL,0x5738f1534c99adcbL,
  57955. 0x0f8d6be935bb6865L,0xaed7c338f140328fL,0x3ca7470417870fb8L,
  57956. 0x09445978820d213cL,0x35cabb29e28e0ea3L,0x00000000000000f6L } },
  57957. /* 39 << 56 */
  57958. { { 0xb78f9b1e46e1e6d1L,0x2ed415ee865fb220L,0x3360c23105fb6fb4L,
  57959. 0xd9e41dc9b4123875L,0x850bc64de51cfcb3L,0x5a4028277fb29e1cL,
  57960. 0xa819c1459a1fd35dL,0x8963c9145adf53f3L,0x0000000000000096L },
  57961. { 0x351539579dc592daL,0xced12343842c7d44L,0x45e5c8029b3ca1dfL,
  57962. 0x93fc7aba55fca7dfL,0xcb44a2f1565bfe7dL,0xeab3c41a6a6d828eL,
  57963. 0x832aaaf0b3280533L,0xc36ebe30002f19ecL,0x000000000000006dL } },
  57964. /* 40 << 56 */
  57965. { { 0xbfe65b92256f11aeL,0x41a8ca150644ccdbL,0xe72c186365b6247eL,
  57966. 0xe9f2d3429527c44dL,0xf6db950dd064e99eL,0x02e75e2bfa7900bfL,
  57967. 0x159712c560f397f2L,0x26eb5985287407e1L,0x0000000000000159L },
  57968. { 0x252ae5169ac237efL,0xf57b24855909b88eL,0x78c4a6859abf3888L,
  57969. 0x0e57276f7fbe4495L,0xb9f442a4dad1dd50L,0x20323a507183d2d5L,
  57970. 0x1e676b45da92af11L,0x175b3098b5f33ca3L,0x000000000000015cL } },
  57971. /* 41 << 56 */
  57972. { { 0x942771e527b66afcL,0x5a76b2fdd50f0efaL,0x299b8398f6f37575L,
  57973. 0xb9e442799d7b0cb0L,0x7962c682564cf210L,0x70aea74fa2ec8efdL,
  57974. 0x7ebb28461b348292L,0x40b56fbf19dcd6d3L,0x00000000000001d7L },
  57975. { 0xe4ff5d4aa08f1cb4L,0xfdce86fb3ff162ccL,0x995a1749d9c055c8L,
  57976. 0x5be6cef5e3361d50L,0xda779c62528fda04L,0x0264ede22f552d58L,
  57977. 0x28357e96ad3823aeL,0xc574b6220958846aL,0x00000000000001cdL } },
  57978. /* 42 << 56 */
  57979. { { 0x4d949b43a2192eb6L,0xd0de4a428ff40937L,0xe301c8c698fc090bL,
  57980. 0x2165e3123a1432b5L,0x30a1e1eb1a548d24L,0xb66c9f969ea5f18aL,
  57981. 0x28de679479bd7860L,0xad6af8cee995d105L,0x000000000000017eL },
  57982. { 0xe62d25e80f66e7fbL,0xeb2b047e88130c02L,0xe5efabe5f80b2318L,
  57983. 0xba1f6034e02a6606L,0xe48ec52ac80eff69L,0xd8b89963cd47e665L,
  57984. 0x2694fa9e78df8006L,0xd934e06fdc90bb92L,0x0000000000000104L } },
  57985. /* 43 << 56 */
  57986. { { 0xbdc431c9ad266526L,0xbcd5379c9e6ba1ebL,0xd8fc65f5826ce26aL,
  57987. 0x507c025156e89a30L,0x8ec5b4caece29675L,0xdd420cc204892288L,
  57988. 0x918fb43e1582ffe4L,0xa3d0b98215ec5417L,0x000000000000016aL },
  57989. { 0xdeecb7356e2a93d2L,0x9def735bd30c86b8L,0xe0df13b92ae8f100L,
  57990. 0xd9f31ccf470824c5L,0xe80be73073dd956fL,0xe807bc69658cc359L,
  57991. 0xb8739dedee8aacc3L,0x55c2bcac185d5debL,0x0000000000000123L } },
  57992. /* 44 << 56 */
  57993. { { 0x62044fa7be3ae5f4L,0x5d17023b9ee07956L,0xb01411700a1c53ceL,
  57994. 0x390aa024b633da2bL,0xad7f59f5895bf18aL,0x3124a23cb468fe0cL,
  57995. 0x92ca9da8b12aa6f9L,0x25147c19ebb5363aL,0x0000000000000022L },
  57996. { 0x900b43421dab5723L,0x0e396b3038ee6d5aL,0x1d3fd7ae1561252dL,
  57997. 0xd169e474281a619eL,0xf25b8b97bef82d20L,0xa77f259526ffd23aL,
  57998. 0xc4075d3659107aa9L,0x4989a721e23d327cL,0x0000000000000043L } },
  57999. /* 45 << 56 */
  58000. { { 0xeb1574d03f710952L,0x9657aa2874526b72L,0x7076e904776a3edcL,
  58001. 0x83f624e2036e6cf0L,0x270d20bab0e58a2cL,0xef81f06d5199fb54L,
  58002. 0x50f81b5e9ba0b9d1L,0x14e233d537d9444cL,0x00000000000001f7L },
  58003. { 0x9ff63f3750de8a6dL,0x714682f14a57ccbaL,0xb16d90f38d6253f0L,
  58004. 0x2690aca4f1fb2279L,0x5c8e1c463fcd9343L,0x1f2f4c3f2b43dfd0L,
  58005. 0x9deb00529b4e03c0L,0x75061f03526d24e6L,0x00000000000000bfL } },
  58006. /* 46 << 56 */
  58007. { { 0xe2ca98a649f1acc8L,0xb46de54a52116d8bL,0xc5be41266f108234L,
  58008. 0xb5e07998003f2803L,0xe387c00379eff438L,0x4c0287daef9ad35cL,
  58009. 0x0a8181cbd85d5441L,0x70ca63cfe9926489L,0x00000000000001e7L },
  58010. { 0xdc2fe75c91ae2059L,0x4e23a3c7eb458c3aL,0x02922886913edb61L,
  58011. 0x66549c892805c886L,0x599148224b1cc49dL,0x3326135d3790bfbbL,
  58012. 0xaa62b1535b40d61aL,0x06f704773550a984L,0x000000000000011bL } },
  58013. /* 47 << 56 */
  58014. { { 0x23c79b50ac79f04dL,0x96ace814167f28e0L,0x5644752c2d99e5a8L,
  58015. 0x28bfad59c099f81eL,0x27250746e9970582L,0x210db573f528c364L,
  58016. 0x5b59afc5e8f782d5L,0x402269fb05ace43fL,0x000000000000018eL },
  58017. { 0x1f133f478b618330L,0xb691d541312582e0L,0xf40d84c8a3f64f94L,
  58018. 0xb2ed7ae2d60b793aL,0x0b604ad005a966ceL,0x12809a7526260877L,
  58019. 0x1248f6b2686c8bcbL,0x4eea6c43474eb54dL,0x0000000000000045L } },
  58020. /* 48 << 56 */
  58021. { { 0xc1d7001b26e22b52L,0xb4b208962825905dL,0xa064fdcde739e7beL,
  58022. 0x83bfa334f2d62d9aL,0xa2baf3892758b810L,0x3a88f2e4ebd64633L,
  58023. 0xd621be3476dfd697L,0x7168c0779f4a85c3L,0x000000000000017eL },
  58024. { 0x5b8f06f520f8f0eaL,0x95e44505cfacfc46L,0xe20192bd787844b5L,
  58025. 0x316468c44a04adc2L,0x30d71497d6774463L,0x7c826a925a606a2dL,
  58026. 0x22abadf981ba512eL,0xeb15b45fce26365cL,0x0000000000000146L } },
  58027. /* 49 << 56 */
  58028. { { 0xb9887fcaf7bbbaf0L,0xf0826aeca4ce1d88L,0x4d62ea62c4f7965fL,
  58029. 0x06f15abe449e26f1L,0xc18e11f2b31e5238L,0xf8b93bbc1af9d49aL,
  58030. 0xcd0a8fb808d073aeL,0x4b51841540d4dd9fL,0x00000000000001e8L },
  58031. { 0x7374840c30998d71L,0x589382d436ccc41aL,0x9ca23a60306c2184L,
  58032. 0x176eee48b753b87fL,0x434f008845478462L,0x3fb180f1636c669aL,
  58033. 0x558742218a7ad6a7L,0x8abfe4a668f8bf1aL,0x000000000000015dL } },
  58034. /* 50 << 56 */
  58035. { { 0xd232ef02f6009ce1L,0x33e196f312d0c06cL,0x61b889c3d37ab4c6L,
  58036. 0x6994c1271c3a216cL,0x50bff9f8aecf084eL,0x7d2e7c71fa0d3536L,
  58037. 0x4d0c3a44f42e86b3L,0x42a1cf960b3e7d90L,0x00000000000001b1L },
  58038. { 0x6bfc53d7f9bec891L,0x0969a0d9708ecba2L,0x57d04efe31b7bc78L,
  58039. 0x7ebd3fd128efd902L,0xa9cfa0e9fd6e7da3L,0x39fae95964c474b3L,
  58040. 0x6549f29eb68d9f5cL,0x3c570ecc13f84c68L,0x0000000000000060L } },
  58041. /* 51 << 56 */
  58042. { { 0xbf9a21ef1634ceebL,0xb16b78a414c68429L,0x7ff643a098fb371eL,
  58043. 0xc733a0a42e44c567L,0x24e633f2d310aee6L,0x3ce8bdb316e3c03bL,
  58044. 0x3ed7a15b662d44e8L,0xa81ea8e22329d421L,0x000000000000000bL },
  58045. { 0x28405c80d6491d1dL,0x6ac0cea7e069e536L,0x6d6d4d3e7e67cf0bL,
  58046. 0x889fe753240ea8e9L,0xcbbf7c5b0a89ac1dL,0x1dd88ea1a2477925L,
  58047. 0xefd5f0e148e2e534L,0xaf56b1c5af3ff0e0L,0x000000000000003bL } },
  58048. /* 52 << 56 */
  58049. { { 0x02d6a09b39435d76L,0x14607c4033261f8fL,0xb7bbc6828cfa6714L,
  58050. 0x24891fac3486f8c5L,0x940f9bea8592cea5L,0x20d420065230ad37L,
  58051. 0x3bff94e036b6e919L,0x596fec36468065a8L,0x0000000000000163L },
  58052. { 0x1836fecec86ba807L,0xe1f9af2970ec6073L,0x51b5a102f4de5c91L,
  58053. 0x0108f1ed8eed7ffdL,0x22569348f45657d1L,0x59b9601720dbe0b7L,
  58054. 0xa90e49237730150eL,0x477531f6182fbcc7L,0x0000000000000106L } },
  58055. /* 53 << 56 */
  58056. { { 0x4e73f4eea189246bL,0xf9fecdedca87ad2dL,0x207ec7d5e2e3d505L,
  58057. 0xf37313baff1083e2L,0x16c97e9761bd24c3L,0x89474bb93845239dL,
  58058. 0xca1c54f442bcd760L,0x20cae9061413c906L,0x00000000000001f9L },
  58059. { 0xa2333077c7397651L,0x5c211fa519423669L,0x559cd47daed32353L,
  58060. 0xadff408bedc217ebL,0x40cf1b33123dc0f4L,0x839ce0897e4a35f4L,
  58061. 0xff76ddbefb7762b1L,0xe8e61888a4957ad5L,0x0000000000000130L } },
  58062. /* 54 << 56 */
  58063. { { 0x591de5c6362c4edeL,0x39aa3a8cf936a410L,0x471d9875f45a68eeL,
  58064. 0xab848bf26417283dL,0x3930f64c17395a6aL,0x46c2c2ecd5c088c5L,
  58065. 0xc82eea0217d1685dL,0xd2578ceff9e81418L,0x000000000000000eL },
  58066. { 0xd203425d8941c18dL,0xebbd3e9aa73385c8L,0x13b2699de2650901L,
  58067. 0x021e79314a90be3cL,0x6af0b6e9e7819b93L,0x2eb061baaa10e875L,
  58068. 0xdab14c0d7d693ff1L,0x23a83afc0f7ce5e2L,0x0000000000000139L } },
  58069. /* 55 << 56 */
  58070. { { 0x3415bc0daddd94aeL,0xb6da870e206a5091L,0x383aebe8951ecb36L,
  58071. 0xe2381acfc3cc4b83L,0x2c57fcd46077da9fL,0xec27dce3cdc2bfa4L,
  58072. 0x5fa457d7ac74831bL,0x70929b9d873146d5L,0x00000000000001f3L },
  58073. { 0x2898bc157ff3cfb0L,0x933c69db1b1cd249L,0x21dab0321a6a3715L,
  58074. 0x06e0bc6b6ced718aL,0x93052d3510328c54L,0x8cc2fac1d73c7c80L,
  58075. 0xcd2b155686936113L,0x458e24e07668b2bdL,0x0000000000000168L } },
  58076. /* 56 << 56 */
  58077. { { 0x5ac4879b41fa2753L,0x2b60d3a8345073f1L,0xe2046eb872eac59bL,
  58078. 0xf480bccdf197df4cL,0x326cfce9578d9371L,0x15c3eff387f19540L,
  58079. 0xf5d1f2f62d76b437L,0xaa3b9f284a2d837fL,0x000000000000004fL },
  58080. { 0x3bb0f06972915337L,0x3514f6f95f8295faL,0x1dcca7e3156a036bL,
  58081. 0x68d2d0615d48ae2eL,0xb5731bd212ac786bL,0x4015ce122bd726a6L,
  58082. 0xd3b325b52f972524L,0xad89e2c715ca38b8L,0x00000000000001dfL } },
  58083. /* 57 << 56 */
  58084. { { 0x80f3752746ba3374L,0x17c3915a76b9250cL,0xa81ef86e5641a4faL,
  58085. 0xdb65b01ec2e3b903L,0x46b79c9acbaa007dL,0xf96657aafa03f7d5L,
  58086. 0x39c73fbcba538237L,0xe95777559318c4a9L,0x0000000000000063L },
  58087. { 0x78d1e0b2fb143ab2L,0x93fa7bf4cac9457fL,0x316cc8b62c49a2ceL,
  58088. 0x5aabc3b2f41cd892L,0xeee80db1bc9a08faL,0xfb07f5c1b59f1a2eL,
  58089. 0x1d1ae1622a1ae2cdL,0xfb1c023c3b5e28b2L,0x00000000000001a0L } },
  58090. /* 58 << 56 */
  58091. { { 0x57e6838723bbb10bL,0xce43b3fbe2d50c09L,0xf1dfd466de95334dL,
  58092. 0xd33833ab00568c70L,0x3b07afa03dce59d5L,0xe06155f041d46076L,
  58093. 0x66345e81ec062903L,0x35831a3a7d9d7c58L,0x00000000000000c9L },
  58094. { 0xcfc25d2564cfcde7L,0xb06f5dce33ced182L,0xe4c9634dd03004a1L,
  58095. 0xfb6ff3a0ae1218d2L,0xd789018b67a58246L,0xecb1e40866957bbcL,
  58096. 0x905b08ad2c29f673L,0xb1a3289d3755ffdaL,0x00000000000001e7L } },
  58097. /* 59 << 56 */
  58098. { { 0xdb31fac07977f851L,0x94f0265d50bac93fL,0x112b3aa3de5cc643L,
  58099. 0xbd801c10091773b4L,0xd39349f406356000L,0xb6d10739951a5fccL,
  58100. 0x67c4c2a346a64c7aL,0xbbff71099b914860L,0x00000000000001c0L },
  58101. { 0x3bfe3e8b848ac957L,0x05211d3b5389375fL,0xeb0bc5c75c156ba0L,
  58102. 0x08d24e2a1a7a553dL,0xfa0cc235b328cb81L,0x782a58dc91f27c34L,
  58103. 0x149da3fa1cdf0ee6L,0xdab41dcbf1d7c685L,0x000000000000013eL } },
  58104. /* 60 << 56 */
  58105. { { 0x468816bf0e4b804cL,0xe3c85f32cf84abe3L,0xf2a460f32a6e257bL,
  58106. 0xfd519486a6979e17L,0xbc722a3681e12915L,0x43285362e2965c8bL,
  58107. 0xeb684e297dd12eb2L,0xcf0b3d2c51940f61L,0x00000000000000b5L },
  58108. { 0xa9d02d65f2905443L,0xf19253da29be718dL,0x6fbe038204a5ffafL,
  58109. 0xd4d42b3a5466364eL,0xf2575aeb4fb8b934L,0x56a35ffa88dd5475L,
  58110. 0x894d296f67b692e6L,0x50e6c388fb45781eL,0x000000000000018eL } },
  58111. /* 61 << 56 */
  58112. { { 0x352429236de91b7fL,0xe73222409cc8a649L,0xee8e66a463b2941eL,
  58113. 0xc8bd62c66e2c9a28L,0x3e82ac1bc43d158cL,0x2eb41b3b9be8efd0L,
  58114. 0x551eec869d585174L,0x258c356317ccd162L,0x00000000000001e4L },
  58115. { 0xe63ed8577a7d717aL,0x0f09b874c207eb1fL,0xbb94042c0ecdee46L,
  58116. 0xd08478728f418f3dL,0x3eab958e700177deL,0xc326a47822aea03dL,
  58117. 0x22d01a0f37ccd3d3L,0x0bbe9ef8f9dda412L,0x0000000000000140L } },
  58118. /* 62 << 56 */
  58119. { { 0x0c949e8cc853e7e9L,0x52feaad8231a9c75L,0x382cfee233fddf9dL,
  58120. 0xc6b412401b081917L,0xbb2af113a5800aceL,0x203d3b3f62a15a88L,
  58121. 0x174b2602c32d6121L,0x32bc39cfd9a93228L,0x00000000000001f5L },
  58122. { 0xf13bf17ed40e0765L,0xc54f2409c1eda9b9L,0xe824c8805d92029bL,
  58123. 0x43d79cbb1e13c2d3L,0x4b8b896c14d20cb3L,0x3c32a0d82559daa6L,
  58124. 0xdd2321a03cfe4976L,0x6dc9b1af4fd3ecceL,0x0000000000000024L } },
  58125. /* 63 << 56 */
  58126. { { 0x0b7ce8de2ef7874bL,0x7b4bfaa070157203L,0x4b6f5fcb1af1491eL,
  58127. 0xc0b9acac1e572d0dL,0xe4012cfb1d5fcf38L,0x80f2e86c0a1993d1L,
  58128. 0x4c7ae53b9d2105deL,0xabfc15200cf27789L,0x00000000000001f9L },
  58129. { 0xb62c40f483f73444L,0xd3306a87826409c7L,0x9f04fded3ab05940L,
  58130. 0x3d7534fb2d9db0f9L,0xe36a557d5f5bff91L,0x3c009b9826b33300L,
  58131. 0xfee7231232a9d384L,0x1d83185a7c1210c0L,0x00000000000000b4L } },
  58132. /* 64 << 56 */
  58133. { { 0x72f88bd2a3b42a3eL,0x7cca9272c8287e7aL,0x527c4a5caad93849L,
  58134. 0xfb481c75da6615c2L,0x27ce59bf042b3497L,0x70b3fea29ef62e76L,
  58135. 0x025ecfc40d097f4bL,0x5ef137da607f9d21L,0x0000000000000053L },
  58136. { 0x3295047616741f79L,0xeaac9e23a4e120e4L,0xe15f333776f4fe2fL,
  58137. 0xac402f2d8028f30fL,0x87a6b88b99c4b4d3L,0xfedd124cb0866e18L,
  58138. 0x07c5d4334aa80397L,0xafdfa6830961d56aL,0x00000000000000a6L } },
  58139. /* 0 << 63 */
  58140. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  58141. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  58142. /* 1 << 63 */
  58143. { { 0x1f70b2980af43bd4L,0x9351c3c2d13901f9L,0xf702c613845ea55bL,
  58144. 0x892be0152c193388L,0x485c40141e6adb21L,0xf394d50e9296f310L,
  58145. 0xda5872dfb9ab0f6fL,0xa10bd887f5d389aeL,0x00000000000001c6L },
  58146. { 0xe268935dc8f44c3cL,0xaa7e595bfa72991bL,0x78c2a8e39bf7d8ceL,
  58147. 0x0caadde13b655948L,0xd9444be5c080228cL,0x4990733bf651b425L,
  58148. 0x7513085102578b0fL,0x5c375bb3c5635719L,0x00000000000000d6L } },
  58149. /* 2 << 63 */
  58150. { { 0x94a182e2689dbe3cL,0x2d8ee16602610256L,0x4d0cb259e6294291L,
  58151. 0x244db1200a7fcf2dL,0xb50d34b08f58f3afL,0x2ad4b9ec13275075L,
  58152. 0xa19beccfc96bfcfaL,0x1a5509da86f5baf0L,0x0000000000000185L },
  58153. { 0xefe1469c5ac043e6L,0xc86b77217d273130L,0x2324af0c2606809aL,
  58154. 0x33a3324e21800fcbL,0x8a38f30fa6b0d999L,0x12db51d0d038b182L,
  58155. 0x53ca86ccb3490ff5L,0x2ecd7ecf7a935163L,0x000000000000016fL } },
  58156. /* 3 << 63 */
  58157. { { 0xc4bc947556f30775L,0xb8bffac8a7779bc2L,0x59c0b0079550271dL,
  58158. 0x68dc98306303b3f7L,0x4079b84d19d6cca7L,0xb3a87933f7ff41a1L,
  58159. 0x8417384b97ab2b4dL,0x795a4fd926faec00L,0x0000000000000179L },
  58160. { 0xc72b8fd99ce51ceaL,0xc230b054cc876f6fL,0xfdb6c8fa23c093c2L,
  58161. 0x6c7406112bbd837bL,0x5f6bc8c543802bffL,0x4cfcbe27f9bfb3f5L,
  58162. 0x7ed94f5c4444552eL,0x12cd078f366d40dbL,0x0000000000000089L } },
  58163. /* 4 << 63 */
  58164. { { 0xf192b0164b374ff4L,0x3aaded48125fd529L,0x57484ac45dfa717dL,
  58165. 0x815b6549a4b4e41eL,0xe230ea493153d4afL,0xbd883b1277769a23L,
  58166. 0xae58965ead605e32L,0x4cc9cfcf77179455L,0x00000000000000a5L },
  58167. { 0x5cfe2ea43f30741fL,0x79c512a52565e3d7L,0x9a4075adaea005bdL,
  58168. 0x6b2593277fca076dL,0x1ea80148166a3678L,0x25075d36d75fda30L,
  58169. 0xd9f2bba9ad53e052L,0x04fc6adc182ac606L,0x0000000000000090L } },
  58170. /* 5 << 63 */
  58171. { { 0xee4779be0ebd57d7L,0x459b071978264e7fL,0xc881006f4bb02fc8L,
  58172. 0x9379e60f2a5e085dL,0x4dbca56b92d5f103L,0xb12b712ee2f44c2dL,
  58173. 0xb00fd84a642c9631L,0xdec635e926d7fa3dL,0x000000000000006aL },
  58174. { 0x6c7096bf5787204cL,0xff933f0d77eeab07L,0x98ce764279f79751L,
  58175. 0xa30afccb5d93fe38L,0x5019a10fa1509d52L,0x6da21e0612f60c20L,
  58176. 0x0caadc3c96ee3760L,0xc316231446e7b054L,0x0000000000000129L } },
  58177. /* 6 << 63 */
  58178. { { 0xbb3cb4daaa283027L,0xb3284a114637a686L,0x2f675f378d4d1678L,
  58179. 0x4d2b46fe6bce4a50L,0x65e0d06d583ad60dL,0xa897d633525ea4b7L,
  58180. 0xe2aa9fcc42bb371cL,0x8f91d296dd500e47L,0x00000000000001beL },
  58181. { 0xc43c6cffaf7965f1L,0x116c957ca63638dfL,0x80c1361be5a3f8a7L,
  58182. 0xa1f87abecc9582d3L,0xd47bc0102bef1ff9L,0xdb660935f3fe712aL,
  58183. 0x8cc56dcfcc584a15L,0x27984274a035f2efL,0x000000000000019cL } },
  58184. /* 7 << 63 */
  58185. { { 0xfee036b2d5a60b38L,0x6c09cbdd3de853d2L,0x11f2edd4d74766efL,
  58186. 0x19ec36dabb8e5e8fL,0x3755e6f8b103f6efL,0x79a6edc7cfd76631L,
  58187. 0x7f3d410265a8227fL,0xc02ea4d369326d57L,0x000000000000019dL },
  58188. { 0x8d5764e32379c4a9L,0xdee4a0f9250aef31L,0x88e469b586f0044aL,
  58189. 0x4e83703b0ef683ecL,0xe5887ceab9688ea3L,0x6b42207428d29d78L,
  58190. 0x3a20510f60098e8bL,0xa6d929986b4eab5cL,0x0000000000000172L } },
  58191. /* 8 << 63 */
  58192. { { 0x803986670f0ccb51L,0xb87e1d013654974aL,0x7f58cf21b2b29ed9L,
  58193. 0x06c0e9aaa3add337L,0xf13b35d0e9d08ffbL,0xdd8bf44c96761627L,
  58194. 0xa4a18c14758a3ef4L,0x96a576dda0043adbL,0x000000000000013eL },
  58195. { 0x2bde24f8632d95a3L,0x79f15ef14c524829L,0xaadd863e9bdaba19L,
  58196. 0xdde053f4a962b707L,0xc598a2de14258d98L,0x9fa5a19d061c235cL,
  58197. 0x0ed46510e8ffd32cL,0x2aea9dd1ef78ceacL,0x0000000000000185L } },
  58198. /* 9 << 63 */
  58199. { { 0xdefc05a810b7033aL,0x3f675458ac32078fL,0xd3ea130a9dda153bL,
  58200. 0xda427c6edbbec7f2L,0x10c3809b269c27d6L,0x6f00e4483acf442fL,
  58201. 0x00cd414cae989dcdL,0x33eb20b2f559398aL,0x000000000000013fL },
  58202. { 0xd16d5178ee191966L,0x641a327ef65d2127L,0xac8d07fac5fe58aaL,
  58203. 0xf0bf06d10e428901L,0x65ea2147d6f1477eL,0xdf1a1634f78e78f9L,
  58204. 0x43cec4b2889a387cL,0xb52152850e161507L,0x0000000000000163L } },
  58205. /* 10 << 63 */
  58206. { { 0x2bb9d8b5b329f7d3L,0x7e561b23569eba9bL,0x65fdae9309b7bca0L,
  58207. 0xf4206737ef327916L,0x2963cd698f7b2113L,0x3b22a38a9cc9532fL,
  58208. 0x455c3790b31def2fL,0x9a6cccd5931e5346L,0x00000000000000e6L },
  58209. { 0xe9860742981c49a8L,0xc6bbffefdac58cfbL,0xf28ca98c7dcbbfa6L,
  58210. 0x6a53c5d43e512f79L,0x072d38f9fee0577dL,0x75fc677e0b2260d2L,
  58211. 0xe1ce6a188e97c4b8L,0x48308dff3d3b1e4aL,0x0000000000000109L } },
  58212. /* 11 << 63 */
  58213. { { 0xbc61c248776b9816L,0x2c83f888139741f9L,0xeab3396648a694d8L,
  58214. 0x6a7740beddf8a509L,0x3bde3e01f388b62eL,0x5c579737c76e98eaL,
  58215. 0xafea98992f10893bL,0x1d6486dafbf3549aL,0x00000000000001b1L },
  58216. { 0x43087f5893143072L,0xe844a95631e5c89cL,0xed5c4e44bee070faL,
  58217. 0x7371101a889fd481L,0x282498090f890001L,0x4c8a8d3097b45376L,
  58218. 0x4fcaf87c54c665a0L,0x8685ba22863ed8b9L,0x000000000000019fL } },
  58219. /* 12 << 63 */
  58220. { { 0xd389b38cd19f496eL,0x9868052fdc520fb4L,0x698b397ebf6e877eL,
  58221. 0x7896e7ac15d39a80L,0x3eecc9b5057ce533L,0x00f6cfc7001509b4L,
  58222. 0x8c2c3d6ee01e25f6L,0xf64a3e270dd1056aL,0x00000000000000f4L },
  58223. { 0x192245f8ba1bde97L,0xb68aa03741e87accL,0x849cb6e449d24c74L,
  58224. 0x93c36f752569de67L,0x93542a5630ad91a4L,0xa802f2bfcd021165L,
  58225. 0xf3eb185fcecd5cdcL,0x42ef43d9ae520746L,0x0000000000000185L } },
  58226. /* 13 << 63 */
  58227. { { 0x78a7620a8a3944cbL,0xca1330ad3a2c833aL,0x151fe934a9fff1aaL,
  58228. 0x03baba7dd19fba22L,0x8cd7ec0578147950L,0x8e217c558062827dL,
  58229. 0x91e43f9a80a596cdL,0xe63325fdf60dd85bL,0x0000000000000109L },
  58230. { 0x3beb5eceb5446496L,0xdb683de1a5d6592bL,0x1e1c60087cfee827L,
  58231. 0x2c4433fbaf08ef62L,0x6818f3ec36270cc2L,0x03581a8683829e2eL,
  58232. 0x40161dd9a2a84e47L,0xfe30fa15a62fe107L,0x0000000000000013L } },
  58233. /* 14 << 63 */
  58234. { { 0xcc39400a70a75215L,0xd237b4077ebe4792L,0xb2cf5c3bd20c2507L,
  58235. 0xe7b00e11daa4c46dL,0xa576029d38cec7a9L,0x699005e7b05e1375L,
  58236. 0xb88d5837f1b051bcL,0x054f8abb44630f00L,0x0000000000000060L },
  58237. { 0xe53a8d17da2bb0c3L,0xcfdd266cae7bdb56L,0xd9551cebdb11c9b9L,
  58238. 0x1a11ac221fc5b3d0L,0x63056e13e161a118L,0xdfd99567f76b5e73L,
  58239. 0x7f5f7283836f2217L,0x8323f67fac0c57e8L,0x000000000000001aL } },
  58240. /* 15 << 63 */
  58241. { { 0x49581733db3272b4L,0xae447ec9076cd8bfL,0xfa292064666afbe3L,
  58242. 0xf8194e0e317ff821L,0x87ab3e6df316b471L,0x2d909542058df8f5L,
  58243. 0x951e4970d7fd5afbL,0x073c56e8e8f2f73eL,0x0000000000000175L },
  58244. { 0xcd8497e0c3995b6aL,0x76d443067eda0594L,0xc71be704d1359e77L,
  58245. 0x3e29076941cc9d7aL,0x7762b707ad2c5ff9L,0x4208efa8d4102ac3L,
  58246. 0xfa15b04cc6d0e969L,0x977815e5ee7e56aeL,0x00000000000000b2L } },
  58247. /* 16 << 63 */
  58248. { { 0x2838cdbfeb5a169aL,0x25c826c4e1505d76L,0x2d5b0ff8c512faf2L,
  58249. 0xcf831e691e5cd6d6L,0x4540775caf5eda1fL,0x4f4514da5ad5605eL,
  58250. 0x8472b1ae2f87cfdfL,0x07c8cbcc9e338ce6L,0x000000000000014dL },
  58251. { 0x096ab718d9243216L,0xe966635fe37cff51L,0xced8fb110586ebbcL,
  58252. 0x3216d6af86abe6f4L,0x37392a301b77f4e2L,0xecc903afb8ef62b3L,
  58253. 0x0453dc44fd74231eL,0x3cb3927b57895508L,0x000000000000013cL } },
  58254. /* 17 << 63 */
  58255. { { 0x6e902960eae03d4eL,0xf94cc9d57676a731L,0x0a624542451cd174L,
  58256. 0x702f8c7ff9a07db6L,0x9c4d40d28812a01aL,0x3fdb4c44d775f115L,
  58257. 0x3ac9ed82f31b60aeL,0x0c7df028f7bfbf86L,0x00000000000001cbL },
  58258. { 0xf0269e95a5da962aL,0x3cd5a3532fa54061L,0x120017f41745823bL,
  58259. 0x8032a3c67de7a766L,0xdea8fbfb36927fd0L,0xc8a86f2deffef472L,
  58260. 0x1931f92fe94c1b8aL,0xd2aaccbcae43c384L,0x0000000000000023L } },
  58261. /* 18 << 63 */
  58262. { { 0xa1b0bbc3e372d394L,0x4eecaeca8044f021L,0x97636d0124c350e7L,
  58263. 0xf1f047ef209d0e2dL,0x0f922e78d12b0758L,0x8808519a01a2a08aL,
  58264. 0x6570af356b5dcc8bL,0xee31edf8b59cee8eL,0x000000000000003eL },
  58265. { 0xd467ff1c9bcdfe17L,0xa6feffa02d58b7e4L,0x3b8f9b17271e5025L,
  58266. 0xbe2d94786c151628L,0x934cf55f75fa8b04L,0xd6217d62abf8e3efL,
  58267. 0x6f1625cc9841059aL,0x8d4b7142ed8bf5fcL,0x0000000000000148L } },
  58268. /* 19 << 63 */
  58269. { { 0x2f17878e04af92fdL,0xdf29ab114470d793L,0x62094a2a645c90daL,
  58270. 0x386b0df0e461f0d2L,0x0ba305e3fcfc889bL,0x01b6e611b9ce50c0L,
  58271. 0x396be840f25a09d7L,0x6bd838a8d5715b41L,0x000000000000018dL },
  58272. { 0x60d5c8f971c336e6L,0x7967118885352eb0L,0x58de4fd6d579c51cL,
  58273. 0xf65c5db8b8e61555L,0x88023de715ccbec4L,0xf2334044e8662625L,
  58274. 0x469745190bbb953eL,0xe8eeca46d6f4b217L,0x00000000000001a8L } },
  58275. /* 20 << 63 */
  58276. { { 0x6bab39543f106abaL,0x3d9c29e352dc57c5L,0xbe339e28d50ff250L,
  58277. 0x247c8a49f08b8b6cL,0x79dd3128317bbe5eL,0x735c5b6dd533b321L,
  58278. 0x1374c3a28fd164c9L,0xce029be81cd71fb5L,0x00000000000001e7L },
  58279. { 0x0657b663c6aac6a7L,0x0dfd84e22f233cfbL,0x210fbd7bb2f9d0b2L,
  58280. 0xd7e7ca02a90dec0dL,0xc37d11213fa3b10cL,0x160276ee1aff3c3aL,
  58281. 0xd825f5ceca6d0545L,0xe03cdac46558c1bbL,0x0000000000000124L } },
  58282. /* 21 << 63 */
  58283. { { 0xe3bdc41f8a78618fL,0xe5e00b1c2fa238c3L,0x132f66010ad92caaL,
  58284. 0x35cdcd7606de8ddaL,0x78c2f93ab95776e5L,0x3819082008f8ed10L,
  58285. 0xa2862e2c045f708aL,0x5bd7b941acb45943L,0x00000000000001c8L },
  58286. { 0x23fbe1be22514d9aL,0x7e20070b8cd4c4b4L,0xb77618475401c6d5L,
  58287. 0xa95163e18bd87a02L,0xc87858801cce9d98L,0x814bc82ea8f70e71L,
  58288. 0x166f6fded4ddb0eaL,0xc2e1b1800be17361L,0x00000000000001fdL } },
  58289. /* 22 << 63 */
  58290. { { 0xd238e451a7c101bfL,0x0bad1bd28a0e4552L,0x15eb91427e77916bL,
  58291. 0x9c8ef51649ebcc4aL,0xf6425c28ca085959L,0x498ce242c87d4707L,
  58292. 0x14b8121edfbf2093L,0x338d5aacdc3b4580L,0x00000000000000e9L },
  58293. { 0x886a911f6177b4ecL,0x6d305ab15a7d1548L,0x6ec3be3475e8baeaL,
  58294. 0xcf1cb5a7891bdf87L,0x9aa5f7ec6088b030L,0xe261eedf83288f6bL,
  58295. 0x2db08f6444678f76L,0x8d912da6c1cc7f63L,0x00000000000000e2L } },
  58296. /* 23 << 63 */
  58297. { { 0x03241429b406a7c9L,0x1b3c5b0c0308dd8eL,0x27f414dbcb00e3ffL,
  58298. 0x8a9e850bba256af6L,0xd8f206fadb86c3b8L,0xaf051dbdec108e78L,
  58299. 0xf8093ab3972aaeffL,0x2bc37f41ac85f743L,0x000000000000006eL },
  58300. { 0xf57594cbae5ca3d2L,0x0b140cbbbc1ec354L,0xcac08c4c7d8c40c9L,
  58301. 0x0266382d8f8f46cdL,0x9a78dd2907b8649fL,0xd8fe7b2347d25b30L,
  58302. 0x322a7bb1b13c050cL,0x7a03a032e5ce60b1L,0x0000000000000140L } },
  58303. /* 24 << 63 */
  58304. { { 0x0644bc15b320de71L,0x2ed296112aefad3fL,0x67754c4c88519d1dL,
  58305. 0x47de1837e5f01818L,0x8ea1dd7e63033410L,0xc1abbecd8f6b2c5cL,
  58306. 0xb06bd510c8ab4da2L,0x4e0cdecc5964e0aeL,0x0000000000000006L },
  58307. { 0x7c3b12481ffdb678L,0x28ff66790e9911a3L,0xaf7deb99a718a3daL,
  58308. 0x391b96215e272577L,0x0f2789b0b4001e20L,0x60b4541686a4c603L,
  58309. 0x0c3941313a259848L,0x3218bf48aa7e7d38L,0x0000000000000109L } },
  58310. /* 25 << 63 */
  58311. { { 0x9e4832f7116eeb08L,0x7554d6af45cb254fL,0x7098d4b3fab6ca32L,
  58312. 0x994c923e7f403fcbL,0x265bea28516cf1e5L,0x927a73b63faae4ecL,
  58313. 0xc69ac429986dbcd2L,0x67575e0ecdf65148L,0x000000000000009bL },
  58314. { 0x71fc74abaa76166eL,0xb0cf3fe0f558c185L,0x9b68f71b7630d7eaL,
  58315. 0x78713c556bcf7e7dL,0x442d5e7f38f14777L,0x71c0d44b3002fd0fL,
  58316. 0xe3ab882351ea27dcL,0xa89c6ef9a03d2925L,0x0000000000000080L } },
  58317. /* 26 << 63 */
  58318. { { 0xb03563923e5a6e61L,0xb5e0e27873b8d05dL,0x53f7d377b3078789L,
  58319. 0xd56358e1c698706fL,0xa2674710505a1be5L,0xbc1559f4cb650c44L,
  58320. 0x93361f0867d11d3eL,0xd5d124ba63826b8eL,0x00000000000000d9L },
  58321. { 0x943eb3571403f021L,0x80d125b3cf992a03L,0xb1365ff2d8bab8cbL,
  58322. 0x5eb0490498a1fae7L,0x4f728e6f8004beaaL,0xa4b1dc8074121d80L,
  58323. 0xb8b782b3c6b52616L,0x844cf275c3ab4b91L,0x00000000000001c4L } },
  58324. /* 27 << 63 */
  58325. { { 0xdb731dec2c7c6d72L,0x95be4c6d7253d7fcL,0xd983f26a3926cba7L,
  58326. 0x256d5d8e5a99093fL,0xd645f6ec8fee2c83L,0x76df91bfb562b901L,
  58327. 0x96cd6502753a97a8L,0xe53742c4a5a241d4L,0x0000000000000012L },
  58328. { 0x5e920ba21d11162fL,0x628a198b1bae3cc8L,0x571e9f2b57d92345L,
  58329. 0x7a8271497c06194fL,0xddad8318036be033L,0xac129b561d5e7930L,
  58330. 0x89a5024057a2e5f6L,0x92e5f7ac3a385984L,0x0000000000000041L } },
  58331. /* 28 << 63 */
  58332. { { 0x255d6d1bf8682934L,0x6167be166fbe8832L,0x3f2fb997c331343cL,
  58333. 0x80c30a82bbc0455fL,0x6b06e6039604ee9cL,0x61433976a8a2c05dL,
  58334. 0x9b693e3ca6c73e15L,0x5643bc3ac7b6d3ddL,0x000000000000001aL },
  58335. { 0xf362db1d072fc054L,0x95f7e68981452d4cL,0x14382bdc7e8044fbL,
  58336. 0xf0ccc6594e884acdL,0x9f4598920db303d4L,0x4494e0177763f7b4L,
  58337. 0x8d4de910b3422e42L,0x949b363a2b03d91dL,0x0000000000000174L } },
  58338. /* 29 << 63 */
  58339. { { 0xb20fa7f54065d8a4L,0xd5b8bde5f6cf1533L,0x61ca108443d18b61L,
  58340. 0xb4601d7fd5f9671fL,0xe56d7386bb8f433dL,0x29cab0089d364d92L,
  58341. 0x6ecb78fce1b4761eL,0x05c88ba39ae6c258L,0x00000000000000deL },
  58342. { 0xc84ab45ea2dcaaceL,0x3eaa1e487c3d46f9L,0xfb29bfa87eed4017L,
  58343. 0xd630592c198259f1L,0xf88e6103edba3b02L,0x7e5463527779bed4L,
  58344. 0x66431dc5fdd7c079L,0x9c9edb200505eab1L,0x00000000000001a4L } },
  58345. /* 30 << 63 */
  58346. { { 0xd5f2127b4413c3c8L,0x53d19d1790c5ee5bL,0xf46a12c4bd0b0607L,
  58347. 0x23ff83b852f21415L,0x345d3cc5564a2084L,0xdd29de25b8128778L,
  58348. 0xf22c6930511855afL,0xd4a6af3342541b83L,0x0000000000000067L },
  58349. { 0x3ff378abc334139fL,0x0d042fa8c59741e7L,0xcc57395df6333e80L,
  58350. 0xd458b57146a21bf4L,0x7b5378f61b92954cL,0x0b6a333ea29d48caL,
  58351. 0x83ebfc9324bd0efbL,0x84a30cec1062509aL,0x00000000000000a4L } },
  58352. /* 31 << 63 */
  58353. { { 0x7364675a65f8a22dL,0x29dd71039c0e9419L,0x7288a9c2677d42bfL,
  58354. 0x1b1991ece9334a31L,0x4b82036d71ee3d46L,0x27597cb83d91b61fL,
  58355. 0x1f4334c21acd3c55L,0xdd32214062f2ff38L,0x00000000000000c4L },
  58356. { 0xddf5a8caa81abb52L,0xcc1d2bd5579198bbL,0xc721ebe0c5d36fe7L,
  58357. 0x80f82284e4f0a67bL,0xa611478e97997e42L,0x36fdad39b81d30e9L,
  58358. 0x8abcdb957f9c8ddaL,0x81ddf6066c6cffd1L,0x00000000000000e9L } },
  58359. /* 32 << 63 */
  58360. { { 0xd8720c8ae96a67e2L,0xa646ecedd54e0f6aL,0x3936ce2dcbd31552L,
  58361. 0x6d44c225b35268c2L,0x56dc0d086168f13dL,0x2b9bbca1fb2c207fL,
  58362. 0xb4f0da3aa136c5a4L,0xed2cf79bf8216f89L,0x0000000000000141L },
  58363. { 0x1eb0707d7ec6bceaL,0x341b0f22ebe7eed0L,0x99c3c50c37333b3eL,
  58364. 0xdcd5faebde463e09L,0xe688ed5ee481cdd0L,0x6fc12bd10fead808L,
  58365. 0x7b8a498329746a50L,0x2be1b92f829e8d3cL,0x00000000000000a8L } },
  58366. /* 33 << 63 */
  58367. { { 0x81c98ad1581c9488L,0x3aae9ba74c2faccfL,0x4d2f796dcc390584L,
  58368. 0xcb22c0644247e6c1L,0xed884751e19da72cL,0x4dd2400863d28313L,
  58369. 0xad0c15efb0c8a9d6L,0xff5e4387d0d17586L,0x0000000000000023L },
  58370. { 0xc41ee78e2c12a59eL,0x8b5949a3ffb2cb34L,0x62a3917a30a3b1a8L,
  58371. 0x5e9cd23e2d50ea6bL,0x226184de89a1faf0L,0x3d73604ee842ca17L,
  58372. 0x72b01c78c7b33e65L,0x46bc0719126c1d15L,0x0000000000000163L } },
  58373. /* 34 << 63 */
  58374. { { 0x4bed8237777faa85L,0x48347d35048d0b1eL,0x7f0b38f476fcc2e5L,
  58375. 0xef6f31029486baa3L,0xb5f8acde91d438bfL,0x41a87e12a8526166L,
  58376. 0x8cc2ef135592881dL,0x8f99d106859fd440L,0x0000000000000045L },
  58377. { 0xe6eac1d316e9fab7L,0xda9bb9ddb98856beL,0xc6a6ad2170c12aaaL,
  58378. 0x4e24a2b058c77b2fL,0x33432f40f95a8674L,0x021a71070c9020e7L,
  58379. 0x4089166d8650289aL,0x4d1986f551969a61L,0x00000000000001a4L } },
  58380. /* 35 << 63 */
  58381. { { 0x9c21dfb230fb58e2L,0xa6f3914dbbbd435dL,0x6e602e2898109fb9L,
  58382. 0x1b700670b44ff97dL,0x7edfa439ab01fb2fL,0x42325f8d60a9be9bL,
  58383. 0xb5e0887a0a50918aL,0xcbcf143dab8877f4L,0x00000000000000aeL },
  58384. { 0x173d8cfbb2bf045aL,0xf7ed171942d73eb8L,0xca200f4ec094493cL,
  58385. 0x9ad3c750b986ac9eL,0x11c9b6c837ae7c68L,0x315a7712db180137L,
  58386. 0xcd8c3dbe14ef1560L,0x35a53627c9a60bfeL,0x0000000000000029L } },
  58387. /* 36 << 63 */
  58388. { { 0x8bb1ae9afa1e7335L,0x472218bcbf806e06L,0x2b9d24030e0e14d2L,
  58389. 0xdd03847c275884bcL,0xa4ee2d9878f97e8aL,0xaf93d39acb69f1f8L,
  58390. 0xf3e76c60b8b834bfL,0x0b4f2c0473094895L,0x0000000000000060L },
  58391. { 0xed08418036b33636L,0x81b18aa7f78d1671L,0xe20fd32389e80436L,
  58392. 0xf8c9f81cf1faefd0L,0x1f7ad3e2602d9f2dL,0xcbff2ab2648cee87L,
  58393. 0x4e7440a0f25ddd51L,0x2670e9e1dceab96dL,0x0000000000000193L } },
  58394. /* 37 << 63 */
  58395. { { 0xaa3d00eac058f210L,0x6e5ea70ba3c14757L,0x379d3b3b7e489509L,
  58396. 0x62f62a0692767b17L,0xf1539bc721b030b4L,0x4162495067544fc9L,
  58397. 0x4f5b019986666040L,0x1be80ab4745a7692L,0x0000000000000032L },
  58398. { 0x6049ad0475117623L,0xe49e9c8781efb988L,0x90dbbf72b574d1cbL,
  58399. 0x27d065b3ece9ab4dL,0x8370a703e2632ad5L,0xf390eacbf0859cccL,
  58400. 0x4babadd0e117d800L,0x066b62d0cc9697a5L,0x00000000000000c3L } },
  58401. /* 38 << 63 */
  58402. { { 0x63c4d634e78a2da4L,0x4b7a5da294ad0358L,0xf41e93ee9966ada7L,
  58403. 0x12072c45fdad9880L,0x1418ca2416a9e931L,0xf74ace09b30a4eb9L,
  58404. 0x637d765850045726L,0xf3b20a5e78ae3400L,0x0000000000000157L },
  58405. { 0xf15e1c7ab9e5db75L,0xbf1ff1c2bd8986eeL,0xdec28ef35b8b26b6L,
  58406. 0x7bf708f1dc427cd4L,0xefb80977c13928a3L,0xf4975bf5e4c8c4aeL,
  58407. 0x8feb6a29fe76a6bdL,0x695bb4dcb4eb10a8L,0x0000000000000193L } },
  58408. /* 39 << 63 */
  58409. { { 0xcde6ee654783776eL,0x47aa98dbab6a4a7dL,0x5c94835bc8032fddL,
  58410. 0x992ff3a1c6534206L,0x98b88c5e4ff7a8c4L,0xfa011fd93428ff60L,
  58411. 0x4788d51c15510bf4L,0xcacb9fde0719ed09L,0x00000000000001c3L },
  58412. { 0x7d204f6aa83da259L,0x9e4d04ff36ac5825L,0x1928285183d984faL,
  58413. 0x29d49d8eb1488712L,0xf43e3fe22c533a1dL,0x826ce0162ddd30e1L,
  58414. 0x2c7004d34084ac94L,0x88fe5d68d54b7430L,0x0000000000000091L } },
  58415. /* 40 << 63 */
  58416. { { 0x6e4b93549a207163L,0xe7ce12aea3fa19e2L,0x3b79d9c3731e7845L,
  58417. 0x22d9831ccd2ede26L,0xabb6705b86ca4cc8L,0xdd0920df29ddb9f2L,
  58418. 0x9d0f445b811862d7L,0x4166d6e7839180cbL,0x000000000000005eL },
  58419. { 0x182711206b4e81f1L,0x4b6b68c349837065L,0xb7377b163263682cL,
  58420. 0x2e0fba0eb79cc7e6L,0x55d9ecf4c02e89f6L,0xe993faa0482c2446L,
  58421. 0x9753d5e395d1ab52L,0x73fe5af5c1b06cfeL,0x0000000000000096L } },
  58422. /* 41 << 63 */
  58423. { { 0x7cb01f2827560700L,0x3116ede7f0594295L,0x11714c3a769c3488L,
  58424. 0x31b80a2e8fbf02ceL,0x11cef04e5c6535dcL,0x64df55ff3e27c9edL,
  58425. 0x0d63a163bc8158feL,0xf9cbf1603b63a411L,0x00000000000000abL },
  58426. { 0xe26c4abf3158ba4aL,0xdb117a38e132d2cdL,0x4ad696322a572d0aL,
  58427. 0xbefddee3a8b979c3L,0xbcee468784c32c63L,0x3f861ac5f38ca9cdL,
  58428. 0xe94a5b0f5d303be4L,0x60bf3ab155305eddL,0x0000000000000143L } },
  58429. /* 42 << 63 */
  58430. { { 0x2b73e62e977fc1ccL,0x33819c4b1eef1b48L,0x86c62fd2606d7b32L,
  58431. 0xb1156e8b9ebbdc60L,0x066d6f66b9e5df80L,0xc91948c566b577afL,
  58432. 0xcc7f76043ef1fbe6L,0x5c16641e68aa2e46L,0x000000000000012fL },
  58433. { 0x2747d4b711e75c9bL,0x6b27519fd9bd64a9L,0x1283769a2b54c57fL,
  58434. 0x10e1164d081abde1L,0x5a1f76f9992f7ed2L,0xb6c588bf852850b2L,
  58435. 0xddb5d11939399542L,0x6a550ca3115876ecL,0x000000000000013fL } },
  58436. /* 43 << 63 */
  58437. { { 0xa47c585a016bcc9eL,0x7e0ec9f0578e48a0L,0x708dc0a8d8c93583L,
  58438. 0x6612567c04b5e0bcL,0x3ac1ff92dcf8bbb9L,0xf51ba067ac4f9eb8L,
  58439. 0xdfbec7c94bcfd749L,0x44bbd8642eb5bab3L,0x00000000000000e7L },
  58440. { 0x25f2603535bcc21bL,0x060e8f62f03ee3e6L,0x15c57ec99e0479e7L,
  58441. 0x976e8a5b05f84775L,0x127c6d03c8c674bbL,0xc9e9f32f933c6b5eL,
  58442. 0xe405fea7628e2f5eL,0xd83b69a218dc1cf1L,0x0000000000000085L } },
  58443. /* 44 << 63 */
  58444. { { 0xfe64594aead54bcfL,0x698f1f89193023aaL,0xea6309e02517e1b2L,
  58445. 0x5dba33b1015a622bL,0x95a9c92cfbf4115bL,0x30c7972981cc106eL,
  58446. 0x05ae3f9d9e44aa71L,0xb996f804a23ddbcbL,0x0000000000000101L },
  58447. { 0xe3d697de475da0b6L,0xce26df727a70a313L,0x057b0e9b55989f12L,
  58448. 0x705ef3af732a2c49L,0x55b69e808c2b9314L,0x17f9042282897d3bL,
  58449. 0x235ae22e75a957a7L,0x77811795607c84ffL,0x0000000000000022L } },
  58450. /* 45 << 63 */
  58451. { { 0xff24c793f9b699caL,0x14b15d3217ea10a0L,0xc719f783343073bbL,
  58452. 0x2a83d8b90e93b5d4L,0xde503f82f5353f85L,0xbac075114f18ac59L,
  58453. 0x530d278c7f81ab98L,0x7f51762a1c619e74L,0x000000000000010eL },
  58454. { 0x5897a7e714360ac7L,0xd69da38de3ff95c1L,0xcf0c8334bf9736ceL,
  58455. 0x6e465e9273bc4213L,0x950fdbd6a4e87fd3L,0x4bb07b3a47ca6e6aL,
  58456. 0xb9eded92744a7e7bL,0xfb882d485a7514baL,0x0000000000000116L } },
  58457. /* 46 << 63 */
  58458. { { 0xc25e05c36b05e0d7L,0x5a2b025d4da08ae2L,0x71b546980cb36f9eL,
  58459. 0x96bf67a4248d9978L,0x9a7bcaa587c7581aL,0xffaa9a7f39a6ff19L,
  58460. 0x425c17c27471755fL,0x250359a026062f38L,0x000000000000000aL },
  58461. { 0xd0b2e9a20e795413L,0xbd4e31cb33853998L,0x8c4541ae95a4388fL,
  58462. 0x8cb64c8bc50dd060L,0xe34c811101ab0da8L,0x5de5d97069305f2cL,
  58463. 0x7a13ad595f5aba36L,0x9e2facc817de1ab9L,0x0000000000000086L } },
  58464. /* 47 << 63 */
  58465. { { 0x7cdf9204bd8cf1d7L,0xe3ad55d8bb0ef236L,0x15773c50555a9e3aL,
  58466. 0x46af0d3003688a2bL,0x221ee5d72fc9260aL,0xd1561cf90bcc7900L,
  58467. 0xeb1929a2fa485b0cL,0x13482477f9bbdb62L,0x00000000000001b0L },
  58468. { 0x9432cb5a6ca8bf58L,0xb64c60ac6c5411efL,0x52c05411eb94e57bL,
  58469. 0x34597b1a6e3b2facL,0x7861df27595820b3L,0x4aff5520d02f000cL,
  58470. 0xd0d78d9d0b71a270L,0x015e10d18fe933a3L,0x0000000000000125L } },
  58471. /* 48 << 63 */
  58472. { { 0x0498365338587f45L,0xdf7ff2c77c9bede4L,0xb0158c72a21d0d97L,
  58473. 0xa774c9e3a5e5d3c9L,0xf58e7c02cb10150cL,0xb4af1ee79c24a5a9L,
  58474. 0x02e0a1d644ab20cfL,0xf24d2c5ada1b7783L,0x0000000000000028L },
  58475. { 0x80bbf95278f7b5b8L,0x4c0bd396efe31505L,0xbcf19c3bec6d175dL,
  58476. 0xa8e820cf868e9452L,0x902114319cd29126L,0x7518c2f8cfd996fbL,
  58477. 0xf676e6cf4ebb311aL,0x6d108d7e7fac5d7aL,0x000000000000019cL } },
  58478. /* 49 << 63 */
  58479. { { 0x97aaaba1c829bb99L,0xf6860f8745bb55feL,0xf8b50fe71498e519L,
  58480. 0xab3d16e3fe8f0221L,0xcac909cfdcdb7323L,0x685be174503ac866L,
  58481. 0x97600f6f42b4888bL,0xe935129f3b2bde52L,0x0000000000000189L },
  58482. { 0xb9914e14c98a8902L,0xaf8252efd12e2742L,0xed19080a9e82bc5eL,
  58483. 0xeb729e01b2ce8f88L,0xad7c2b07fdc2d2e7L,0x714be551434c5683L,
  58484. 0x533f127a33d712c1L,0x5c1a7dc314b47fa3L,0x000000000000017fL } },
  58485. /* 50 << 63 */
  58486. { { 0x4291478195de7bd7L,0x19372e9158be52bdL,0x17fba77f92e5c6a7L,
  58487. 0x6374fd9b699a1dfaL,0x22a45a6bb5c76282L,0x5c9a9a28c720a1c3L,
  58488. 0xfb9dceee60825162L,0x69f9a5093ac4b11eL,0x00000000000001a1L },
  58489. { 0x934410934bd1d68dL,0x9f75dc6d6ded82e6L,0xf936823f9ad5428fL,
  58490. 0xe87ec8b9c84feabdL,0xdac9bfc13c2f56ffL,0xa160399975f3b25eL,
  58491. 0xfa8751ec5ca58a84L,0x1a709ac5f6e53798L,0x0000000000000165L } },
  58492. /* 51 << 63 */
  58493. { { 0xf327fa804594c279L,0xb58ea5486215b212L,0x20e5b9a833e0ce1fL,
  58494. 0x3747da9a4a370732L,0x1634ee2e0777119eL,0x32df2dda5c08f5e7L,
  58495. 0xa5d66cb9f811ab09L,0xdf8c1dc9ed7de036L,0x0000000000000003L },
  58496. { 0xc910aaf774efbe82L,0x20b0ebe46c378a20L,0x7542866526368ec5L,
  58497. 0x85dcb02d25e2b43bL,0x14b5055e26273949L,0x07415b0245387101L,
  58498. 0x0986b25d605380d0L,0xf0f61b04cf0def05L,0x000000000000013aL } },
  58499. /* 52 << 63 */
  58500. { { 0x8a87953f92591b59L,0x3143818d5a451f32L,0xf2e96f8b0c29d764L,
  58501. 0xff943ed94c40a8a4L,0x82967f842535730bL,0xccf1a40336dcbf8dL,
  58502. 0x7dc8d83c45f21a55L,0x0d1d08e3cbf08cb6L,0x0000000000000093L },
  58503. { 0x5eee829d0ab0a1a7L,0xafcb11e44d5694e9L,0x4d87ac664b03e1c1L,
  58504. 0xeeeffa85094e51d0L,0x07e16ed7f957519bL,0x7a329adbbe6b8eb5L,
  58505. 0x56f27e425f41a65fL,0x749a394ceb0c920eL,0x0000000000000113L } },
  58506. /* 53 << 63 */
  58507. { { 0xac10b05febfab632L,0xe9db26eefb615921L,0x83f9274ff7b609bfL,
  58508. 0x208ff0fdb1c6defcL,0x25f97bd50ee1d15bL,0x0d1929a73bcd6f7aL,
  58509. 0x13414e340bea3ce3L,0x5a1fd76dac768695L,0x00000000000000f0L },
  58510. { 0x52166f0da85b0ab0L,0xd7b84eb0d03e5891L,0x3d177fbb05391cf4L,
  58511. 0xeda59b5d0eff66c3L,0x4eae434e57c15709L,0xe2e28d1394652300L,
  58512. 0x9f6723518ddca2b7L,0x6b18b0d057928e33L,0x00000000000001d9L } },
  58513. /* 54 << 63 */
  58514. { { 0x692493e38e9e3858L,0xe3613ac3c54960efL,0x394b17dd14dee07dL,
  58515. 0x6dc33f9010f81a66L,0x1c2b9571fe76445dL,0x64f0d6f6fb0961bbL,
  58516. 0xfedcf72c371e04d8L,0x0877291e9cf9ca3eL,0x00000000000001a2L },
  58517. { 0xe33520e7f874564aL,0xa7acf4bf1026c741L,0x46569cf304030157L,
  58518. 0x89310d88c0980781L,0x1fe5287f0acde0c6L,0x3e05a033a4696f12L,
  58519. 0x1a5f3ea425cf5a8cL,0x4587f6f783c85990L,0x0000000000000076L } },
  58520. /* 55 << 63 */
  58521. { { 0x26047dcdebe585d9L,0x3abcde530ddc7b3aL,0x43231aa9e036918aL,
  58522. 0xf4316041818bb25dL,0xd95a25f65eb56f8eL,0x03d1ea7b84e16f23L,
  58523. 0x385f010d0e007937L,0x421c7ab1ce1fa2b5L,0x00000000000001bbL },
  58524. { 0xea42f6aa9c67ceb2L,0x2756973ae3f1940aL,0xa4fb7ed908e9b02bL,
  58525. 0x26e6e78af5b1921fL,0xa9293c8b90f146fdL,0x39bd4ec3fa3d511fL,
  58526. 0x6a82d362a65253d4L,0xbca05eb41e0fdc37L,0x00000000000000ddL } },
  58527. /* 56 << 63 */
  58528. { { 0x10fc7b6fd90fa53aL,0x3e6ce96795fe03c1L,0xcc2308acf9b7b89aL,
  58529. 0x1bc9f27a33c58673L,0x1c12f0186273457cL,0x68e172f74c063ea0L,
  58530. 0x52f75bf1d34d34deL,0x0ef03bce65f6b2caL,0x000000000000000bL },
  58531. { 0xd8cb54d3d705118fL,0x1e4b56503a7509c9L,0xcc35224e84c60259L,
  58532. 0x8ed6226ce578172fL,0xe6fbb97fafa5bb2aL,0xdd461323189d5d7fL,
  58533. 0xa4ff6f7a32109b05L,0x5896d4ed26f15e4dL,0x00000000000000f6L } },
  58534. /* 57 << 63 */
  58535. { { 0x05a13d26e82b26aaL,0x9be7e85d1f51ad4cL,0x64216a135bf8d231L,
  58536. 0x9a52f4d338918288L,0x811795296042f73aL,0xcf4531b88fb3e209L,
  58537. 0xa5ecc2b2b60e33c8L,0x4065785c53ac1b01L,0x0000000000000106L },
  58538. { 0xc19366e2098430e8L,0xd01b9140bad7cc45L,0xd9cd202403d7ed4eL,
  58539. 0xfdc06de10880828bL,0x9dc1458082c50ff1L,0x050a0ad4dd5cb07bL,
  58540. 0x23c2c3e802e03fb2L,0x9ef4c1720f843180L,0x00000000000001cbL } },
  58541. /* 58 << 63 */
  58542. { { 0xf269b6ea5323d6c0L,0xdf260532c643e91eL,0xc1455524c2768048L,
  58543. 0x7b5d6da85f0207e5L,0xde9b50f074781d78L,0xd95862cbdcdf15deL,
  58544. 0x5d8d5fabb94c1baaL,0x6892741043e83ad2L,0x00000000000001e8L },
  58545. { 0xf6e72c24aee1d9b7L,0x3326fcbb24b9bb0eL,0x3a749a424a7f74ddL,
  58546. 0x5d2578773471ef0cL,0x33ecdd54c95f4cc2L,0x52eb8a04991cbb7fL,
  58547. 0x3a73fead1aea5286L,0x6a0234c85d8e847fL,0x00000000000001a1L } },
  58548. /* 59 << 63 */
  58549. { { 0x3a9e952c73bc08afL,0x94816b86fd2ebed0L,0x308a88e4ad9f31a6L,
  58550. 0x9a7dfdeed0600231L,0xe4f89ee9f181de44L,0x0a7df633f7c26fb9L,
  58551. 0x2c9ae6ae5f221c7aL,0xe47f3d2872d4115fL,0x0000000000000010L },
  58552. { 0xbf708d7c085f506eL,0x7c4c215b9b26815bL,0x9176aca1c2ec9917L,
  58553. 0xa6a694bbe5176a22L,0x119764672c3a75ddL,0x8c4de6dc47e0fd08L,
  58554. 0x6111e87d0d1f734bL,0x8d1ded25dc07d865L,0x00000000000001eeL } },
  58555. /* 60 << 63 */
  58556. { { 0xfd833a94974ce9cdL,0x4ca65be246948f84L,0xb7ca6a79f17f102dL,
  58557. 0x0c2d75789b8d7dc5L,0xa344848c42df2129L,0xbc8ee0055ec488edL,
  58558. 0xb46597b0bc2053abL,0x5c865ead03f3e2ffL,0x000000000000012fL },
  58559. { 0x276249288a899a69L,0xc02d2ee568d0b403L,0xe46c1cdd828b23ceL,
  58560. 0x8e52b84309c12d2aL,0x860ddf224f41e7ffL,0x077cf30319235b08L,
  58561. 0x7a4db503690d79ecL,0x13f69a12e8a29f83L,0x00000000000001e5L } },
  58562. /* 61 << 63 */
  58563. { { 0xcb347d5f91d9d6feL,0xd0a524b43b9ef3c1L,0xa9e6392c547edac4L,
  58564. 0x04d365a9b14bd9b4L,0xe5c90208db0aa5dcL,0x28ab9f56ad2db020L,
  58565. 0xdcb2fa5be7ec65e5L,0xed81f29efb0e42b6L,0x00000000000000f9L },
  58566. { 0x4bc95c3197f4324bL,0x64fafe5f71476329L,0x044a41775a70b0cdL,
  58567. 0xf2c61da17ba19d9dL,0x983216f2da3877adL,0x83298d8d4b4bd3c0L,
  58568. 0xc7243bf461564560L,0x464b5bf41111eafbL,0x0000000000000061L } },
  58569. /* 62 << 63 */
  58570. { { 0xc34857014b40dfadL,0x6400778d0760a76bL,0x89f31e637e4a553eL,
  58571. 0xb98eb50e3246a962L,0x956d3e4e7966732eL,0xb7fd65f4820569a6L,
  58572. 0x35f492b77a5fd094L,0x079fd9be89a9e2d7L,0x00000000000000baL },
  58573. { 0x2f9bb4decf21481aL,0x7303b3e8d3a12b6cL,0x500d6509ad398eb9L,
  58574. 0x4e8be72efe3a1a76L,0x8a82354a5745b6f2L,0xf037ebdaa20fdfe6L,
  58575. 0xe12aac60584f6152L,0x75883d79f01f9963L,0x0000000000000178L } },
  58576. /* 63 << 63 */
  58577. { { 0x32b6b535c7c043c7L,0xe41d0e05423daf2bL,0x2cbacde8c0f421f2L,
  58578. 0x11cd2d90fdeefc5dL,0x2fd90ed7e691e7edL,0x4bf72e93f5721f79L,
  58579. 0x764fb068602fe745L,0x21594eaa97cd2c33L,0x000000000000014eL },
  58580. { 0xaeee0ca0ca8ea7a2L,0xe469cbb01485c545L,0x4c947ee0467f66fcL,
  58581. 0x92f9f6b3606a8aa1L,0x56783791ed86541dL,0xcdb60ee64c8d8313L,
  58582. 0x2f7fcb7560eca2e0L,0x0a847de3e7816be5L,0x00000000000001ecL } },
  58583. /* 64 << 63 */
  58584. { { 0x27b472fa3d0e9678L,0xcef22b18f18eab4aL,0xc49e75cc5fde2724L,
  58585. 0xd9ec427a39f3c3d3L,0x240963ea07a9f9b2L,0x2b0301e0fc73761cL,
  58586. 0xf734c2f480d8c0e3L,0xb9f52a609948da76L,0x00000000000001c9L },
  58587. { 0x6ef525e6fe70af9bL,0x4faf1315c936d7daL,0xfed0cb7aa1c67010L,
  58588. 0xb1c8cdfb650fc5bdL,0x643e77418ac141ceL,0x8ecffb683144c8a8L,
  58589. 0xf6ff17f5544deba8L,0xea30d6b2721a6d98L,0x00000000000000d0L } },
  58590. /* 0 << 70 */
  58591. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  58592. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  58593. /* 1 << 70 */
  58594. { { 0x476395029a2936b0L,0x48a88079918b33d5L,0x453bc7931b067a87L,
  58595. 0x5fe40adc63e55fb7L,0x615677f03d2b9756L,0xdc376c92833e336aL,
  58596. 0xf7743da0b0b6c914L,0x780bc5a93effe23bL,0x0000000000000037L },
  58597. { 0xe9c333804a1a9456L,0xda9c55a8eb2eb173L,0x022757865ed17864L,
  58598. 0x491f250816039d4fL,0xb1ac3d7b0ec8959aL,0x4d3855d3465a7151L,
  58599. 0x7285c2d418e0d6b1L,0xd1a5af1833eac3e9L,0x000000000000011cL } },
  58600. /* 2 << 70 */
  58601. { { 0x80877bfe331dd8a7L,0xb708de53dd15f09dL,0x19f93da02ae5d424L,
  58602. 0xe7e4ca9750064a50L,0x95ff7eafc76f7c7eL,0x5a6e49f06e0344d7L,
  58603. 0x1f016633a4144a34L,0xff32c2a16fe7d882L,0x0000000000000031L },
  58604. { 0xc8c7b1826df27677L,0x33049c001751ad84L,0x7685641c109f091bL,
  58605. 0x0e2bef03fde67f9fL,0xfb7ba091da20f027L,0xcd7200850d2e4994L,
  58606. 0xf565899fbc584078L,0x465f703946520913L,0x0000000000000058L } },
  58607. /* 3 << 70 */
  58608. { { 0xb439f594f839375eL,0x273e0e12d6fabfa0L,0x4811f186986b62bdL,
  58609. 0x3460a7df29a07e23L,0xf7fb6f4c20aed738L,0xf26b2b9c97d88113L,
  58610. 0xa87f0ecc047ebd57L,0x0403df2b1a81558bL,0x0000000000000130L },
  58611. { 0xe8071597f66ce34bL,0xd14095a79440f830L,0xe7924b9994488565L,
  58612. 0x972cc87937553260L,0xd33dd2db3c2f0eaaL,0x57e6830e9bf34ee1L,
  58613. 0xe2f328371d13ba62L,0x4f84bcb955174ffbL,0x0000000000000010L } },
  58614. /* 4 << 70 */
  58615. { { 0x519a595a5c6f42b0L,0xe39552a9a675acb4L,0xc993a489609641a9L,
  58616. 0x1427eb18cb9d6301L,0xeb102dd9fe02d86eL,0x86dfc2d5a4c15ddcL,
  58617. 0x0dbfd177b76f6b2bL,0xec31ea91b285289aL,0x00000000000000e2L },
  58618. { 0x46ed4b2ab85445ebL,0xd272162cc8124af3L,0x1b7e446d675589f1L,
  58619. 0x605b28069e56e455L,0x39f9b1abbd0d72efL,0x52d79f51793f00e5L,
  58620. 0x28d3e23b7978077cL,0x9759e0e64866c9d8L,0x000000000000010cL } },
  58621. /* 5 << 70 */
  58622. { { 0x5783df4e1036ae82L,0x96d3c8e7186158a3L,0x161876e639b3df61L,
  58623. 0xca9525e1b8b99336L,0xdcf0e3f745776a81L,0x1cbd5ebdcf6ba61bL,
  58624. 0x895ebb5a345d74a8L,0x9861a95fa29bb4f8L,0x0000000000000106L },
  58625. { 0x59316637e824248aL,0x81f91fac0ec8a559L,0x48d8a50d1b2789daL,
  58626. 0x75627156f8298d6eL,0x1c340cf13f452c6dL,0x7e99c311d0221466L,
  58627. 0x57d7d1fef04842bbL,0xe0208d495f471f39L,0x000000000000006bL } },
  58628. /* 6 << 70 */
  58629. { { 0x04d40419725e8d7eL,0xd8a785c43faf2e8eL,0x7ed0dc16b456823bL,
  58630. 0xab8169b6f8db939fL,0x5066e969510cd7adL,0xa9050429b3cff3f0L,
  58631. 0xbc2fb7ff7450449bL,0xc550ea90106929f3L,0x00000000000000fbL },
  58632. { 0x75cfb97c77f10a30L,0xdc20c3be0987d625L,0x69e0878cb18777d1L,
  58633. 0x2d77668ec850871aL,0xf2759bdbdcf84652L,0xf7efd592769eb8e1L,
  58634. 0xb4dd3aea69169a30L,0x18106739653dd7ffL,0x0000000000000053L } },
  58635. /* 7 << 70 */
  58636. { { 0x6f435bba95d13790L,0xc082ddb3b8171861L,0x28f5c4cfc3b9797dL,
  58637. 0xbd46e6f20fcbceccL,0x8a08c2a6fb265f73L,0x0c89cd1ab54ce3e8L,
  58638. 0xb0915e664d2eecf6L,0x4d3a71276c691306L,0x0000000000000154L },
  58639. { 0xdcadc680181127fbL,0xd56dde12bec233c6L,0x77ec3c0ffb46e355L,
  58640. 0xb047a6a206812dfbL,0x8fee038a509e92cbL,0x799cdc0199465b9dL,
  58641. 0xf82664276ce79488L,0xbee7eeebd26ea0f8L,0x0000000000000128L } },
  58642. /* 8 << 70 */
  58643. { { 0xbb292bf5f98c20beL,0x3a3411a680e7f858L,0x4ee85c60884a2064L,
  58644. 0x8bf2f700d1ffb068L,0x28a61b4ff5514a5dL,0xef4280ba021ca558L,
  58645. 0xaa64507dbeae03e4L,0x8bf2aa0fd601d59bL,0x0000000000000123L },
  58646. { 0x61ca18a2ee308bf1L,0x9e9dcccd55fddd4fL,0x858dd91faa4b0103L,
  58647. 0x21a4a04654338e37L,0x88237da980d564cfL,0xfa544159a0dc17b8L,
  58648. 0xf6e71432e684e7c1L,0x9b2ec5cb6bcb8393L,0x00000000000001d5L } },
  58649. /* 9 << 70 */
  58650. { { 0xf8184868d78b3258L,0x294a5c8693d8db62L,0x3631dd8ae94c1e33L,
  58651. 0x6086c859e22ade8fL,0x1333c8b0fad51601L,0x755a497081778bc4L,
  58652. 0x9d0a7220adf97dbfL,0x9271364238802b70L,0x00000000000000daL },
  58653. { 0x5c8e5b906601b869L,0xde3d0dfec943c397L,0x39d9f226d18fdcc1L,
  58654. 0x8c57ea34a90b2bf5L,0xa83a15756c4a7c25L,0x3e4fee5b3def7d92L,
  58655. 0x5027d72ad9fe323cL,0x01ec60b853dd5f74L,0x00000000000000ceL } },
  58656. /* 10 << 70 */
  58657. { { 0x8bcb3d9d1b2bf1b6L,0x973fa9e312796b3bL,0x8c312eee0826934fL,
  58658. 0x182e3371e7601ca6L,0x6ced3e75991abc97L,0x5b8ae056a347d5c8L,
  58659. 0x4808debf4983ea2bL,0x0011eae167510327L,0x0000000000000156L },
  58660. { 0x15ce511d25441f8dL,0xf97a353ce97373ceL,0xf04be7106e289edaL,
  58661. 0xe44c1542149c56f2L,0x0bbd7b79d31e6fa7L,0xc7461c7396def27bL,
  58662. 0x4947e763f0b4134eL,0xb17d8168c56f702bL,0x0000000000000128L } },
  58663. /* 11 << 70 */
  58664. { { 0xebec93f04ac3f69bL,0xea341f190108e13cL,0x44c89c183b9dc7aeL,
  58665. 0x1b643dea7d219c86L,0xa0f8211f1b24f1adL,0x362ed929b660c2e5L,
  58666. 0xf4111c58accef904L,0x7d5ae557616b6ca3L,0x00000000000001c9L },
  58667. { 0x5e15f25e64078f7aL,0xd5afe9e9dd0f5ee0L,0x494ccc3c481745bdL,
  58668. 0xab14448b8d7378d7L,0xe2d6f0d304da0eb6L,0x133ece3a8e9cff05L,
  58669. 0x26d60edf3571e036L,0xbbd2816fb4f9a6f3L,0x0000000000000125L } },
  58670. /* 12 << 70 */
  58671. { { 0x23c4d719a31b8bb9L,0x048abcac740f7882L,0xbd895a1c5ee72269L,
  58672. 0x95595e429077db96L,0xd01e2d4b49088381L,0x48570b7ff7e50193L,
  58673. 0xa8830d23e6f4ed20L,0xbc8aae5b9a45ddb2L,0x00000000000000dbL },
  58674. { 0x527e8ff8970f294eL,0xd3f0cf5026c1d870L,0x255e637c69aefa63L,
  58675. 0xf332ed105bf085b7L,0x6a0bbba69520d99aL,0x46f6172c3bbf6757L,
  58676. 0x5f0b4e9f77664d47L,0x5b8c50a11e6ba9efL,0x000000000000019bL } },
  58677. /* 13 << 70 */
  58678. { { 0x9236c67ae086b576L,0xa790103d654d0bfeL,0xc8991f4701bcdc45L,
  58679. 0x6a6f3fb3bec6da2fL,0x01249352077f3e54L,0xc242ea70f714141fL,
  58680. 0xeb3a0089b7c19b57L,0x03647999992e47faL,0x0000000000000025L },
  58681. { 0x8b46fc0338224530L,0x0349584a95b7d309L,0x86dd737f92514473L,
  58682. 0x3e5228f5a538c8c4L,0x184a5259939d9593L,0x4bb9925b0213865eL,
  58683. 0x908c3fccb5c7937bL,0xb776024601e2984fL,0x0000000000000065L } },
  58684. /* 14 << 70 */
  58685. { { 0xfadbffb640bf4cfeL,0x6354576d468d492eL,0xa417db805eb84c73L,
  58686. 0xc5a35afd367becdaL,0xd167b100c1d6833fL,0xf181791bc862b1ffL,
  58687. 0xac0ff3d2016dded6L,0x29435dd2caf04f74L,0x00000000000000bdL },
  58688. { 0x5caa8fc6fdd66ecaL,0xcaf04d02f73457f0L,0xe4738b2cd8d60dd7L,
  58689. 0xcfc4221aaccec9a2L,0xec1fc96e6d831b6dL,0x8661a6fedbc8cecfL,
  58690. 0xc3fe3bbe0060ed23L,0x24c065e7ff5c70dfL,0x00000000000001a8L } },
  58691. /* 15 << 70 */
  58692. { { 0xc66433dceb676b47L,0x05c45b2d6ed68884L,0xbec6dd9cc497d94eL,
  58693. 0x71567210fb86988bL,0x924292f876834001L,0x0d814f7c3e825949L,
  58694. 0x3738e741cd6e5f83L,0x320f4721372ab8dfL,0x0000000000000039L },
  58695. { 0xbf2143f9dd94ecdbL,0x4f2a53a48df2f184L,0x5fb740b7b9c7e9efL,
  58696. 0x96aed28a2d5b4840L,0x9a359445fd4ed339L,0xb275af3abcf23a6bL,
  58697. 0x0449c11290242ee5L,0x06516db8a7ffada0L,0x0000000000000056L } },
  58698. /* 16 << 70 */
  58699. { { 0xee02879ba3ea1a16L,0x8e2314e439f3a110L,0x931dcab50671f5a4L,
  58700. 0xb3010e67fe8a9df4L,0x5df54e420f52a951L,0x0b5eb472530c0c9dL,
  58701. 0xfc19d87c18a07787L,0x60ed2c6ff0f2b9f8L,0x00000000000001b4L },
  58702. { 0x6bed0b7e2c3d7f45L,0xd6903d7610fd3891L,0xcb4a9876f30f92b1L,
  58703. 0x328688dd25c03d48L,0x8f51283ccdb11750L,0x195f5a81b8d8e361L,
  58704. 0x4cf3580afeb346d2L,0x044cfa9425c261e0L,0x00000000000001dbL } },
  58705. /* 17 << 70 */
  58706. { { 0xf125d0eb580b2aeeL,0x3878efbce322b538L,0x2faff7abfbc577d9L,
  58707. 0x911a569672826ae1L,0x217136025b759fdaL,0x874e78b16c83f073L,
  58708. 0x8357b9eb1ae1f09dL,0xc50cf6a266f5e089L,0x0000000000000041L },
  58709. { 0x7c5ba64930d641b4L,0x4e0c4810d87b5271L,0x7de6d695aa6c6d4eL,
  58710. 0x48585b5d9e6e0dccL,0x27e52cc9733b7f52L,0x44f93094118055e6L,
  58711. 0xc466de5e79e243a3L,0x9b120026ce5a2675L,0x00000000000000f3L } },
  58712. /* 18 << 70 */
  58713. { { 0xa379e5e5451e1063L,0x839bca6f1cfc15bbL,0x76267c6eeeb1f167L,
  58714. 0x6bb1f5c8e8de14b2L,0x053a50d80a056b25L,0x67e18b5c6046ef57L,
  58715. 0xc508121660b6d2acL,0x97efffed56e951e5L,0x0000000000000189L },
  58716. { 0x6fe2249a0a6237fdL,0x3e8fc2c9af92fe3bL,0x93406ede77987ec1L,
  58717. 0x4a6f3ffcdd289c9aL,0xe6d23748bee59fb5L,0x1218f5958261de30L,
  58718. 0xcc8cfa5bd3a0e00bL,0x3658c52f485e6937L,0x000000000000016bL } },
  58719. /* 19 << 70 */
  58720. { { 0x9588721c38f24c62L,0x75f78ee0b63f6799L,0x966fb95973e53b96L,
  58721. 0x6898f5efedfa6b1aL,0x5d4be54bfd90c78bL,0x4a9c2f701c06c9a4L,
  58722. 0x14cbd88183649de9L,0xc1f0d4edc04aa071L,0x00000000000000a7L },
  58723. { 0x523d47a89250cc0eL,0xf2bc8db83a37d239L,0xa41c054f9af865f7L,
  58724. 0x86e0c8282af3b998L,0xea4726e56c6e21eeL,0x9d8a2148c0a499d4L,
  58725. 0xe590538e9cb7dc09L,0x74c7dd3bd2d8393aL,0x000000000000005aL } },
  58726. /* 20 << 70 */
  58727. { { 0x4143662dbe2d233dL,0xdaa51ea937b9c343L,0xe4543a36e39801a0L,
  58728. 0x8f043e35c1319e2eL,0x7a0f8df8504b47b3L,0x0c081ef2d4d60dabL,
  58729. 0x710081a899486cd4L,0xd2e4ec67a36e4207L,0x0000000000000116L },
  58730. { 0x55c7a9fe07d56e26L,0xe01c071f037f6067L,0x6c4b2bad496b19baL,
  58731. 0xe511cb4ebff6490dL,0x0e086c9385868504L,0xac978aca2db3b875L,
  58732. 0xc24e564e28a8e768L,0xdba8099b3b1f3412L,0x00000000000000e2L } },
  58733. /* 21 << 70 */
  58734. { { 0x1e036478c5e524ddL,0x7482522f06751ae2L,0xfdd65ecb4d805e43L,
  58735. 0xc85188213c81a2c1L,0x4351af46208510feL,0x20258b4286654055L,
  58736. 0xce94ad2436951413L,0x51719c791fa571bfL,0x0000000000000186L },
  58737. { 0x4160e3cc57cb1d62L,0x54f91d695c7ca415L,0xac962802c7c230eeL,
  58738. 0x474a74dd38772ba5L,0x07dc8e8dcbfb771eL,0x4bbf1d327faff162L,
  58739. 0x5c6df969a5e951feL,0x8faf6e8b30aa1ccfL,0x0000000000000124L } },
  58740. /* 22 << 70 */
  58741. { { 0x2ae2176e4a7aedcfL,0x6cc99ac5db4109f8L,0xafc603ca9acd7a99L,
  58742. 0x5709cd2e0292cec2L,0xdc3bbdc4a767e68aL,0xd1b99d15ca6414ccL,
  58743. 0xbdfd63d8b90ce4c3L,0x5a277d71758432cdL,0x0000000000000165L },
  58744. { 0x57bc026809f79161L,0x8069381b75174677L,0xaee30d96471d5392L,
  58745. 0x5b411edd0ab268faL,0x5c6780935ee8258bL,0x16dd3897aff1f327L,
  58746. 0x6bd497a4b7be8300L,0x0ed094006a9ec135L,0x000000000000006cL } },
  58747. /* 23 << 70 */
  58748. { { 0x8935e366d379c4cfL,0x3ac951791ba6b75cL,0x0ee860648518d548L,
  58749. 0x9ad786622b6b6891L,0x986fd8162db27dc2L,0x94cf26ad2da61998L,
  58750. 0x97182802f34138fcL,0xe6a82f6cccc999ecL,0x0000000000000059L },
  58751. { 0x279ba13f96ed64d3L,0x66e45c5f8c942f2cL,0x1e723356b167bb87L,
  58752. 0x63392b6ace4614e6L,0xb157e406828ef176L,0xfbdeff2043a70a11L,
  58753. 0x26398beb39d70349L,0x84fc3685130bd235L,0x000000000000003fL } },
  58754. /* 24 << 70 */
  58755. { { 0x06845f761c46e0a4L,0x304f1a22bf614354L,0xf1ef1477999719c7L,
  58756. 0x077cb0a94a2082f1L,0x88d79bc1c5ce4148L,0xc0da1dbebec656ffL,
  58757. 0x5b78daea71ddae3aL,0x6216ba84ea9a43f2L,0x00000000000001abL },
  58758. { 0xdead308ebea49092L,0x857aa6bd5f4f2d7aL,0xa80d0eeedf4f49dcL,
  58759. 0x81f3fbd4612b71f0L,0x8feb7e2e009cb72aL,0x149df0698880b33aL,
  58760. 0x49e5030ac70e9ef9L,0x7fdf363de32d7d93L,0x000000000000018cL } },
  58761. /* 25 << 70 */
  58762. { { 0x4b7b9419cca1b866L,0x1b91f7a8ed4b0024L,0x292b214b3f190795L,
  58763. 0x4f0f9a9468187149L,0x6af57b920991d891L,0x62be4e9781380070L,
  58764. 0xf9631fb59570bf10L,0x85e5e54a46791c24L,0x000000000000019aL },
  58765. { 0x0d1b6e6f58d272bbL,0x2dd54725026260b1L,0x52925be520caa63aL,
  58766. 0xd73b7bdf49bcdf40L,0xbf521158f9da7059L,0x2d260f094a257601L,
  58767. 0x8711caee7733680eL,0x01fa1a04c910008fL,0x000000000000006eL } },
  58768. /* 26 << 70 */
  58769. { { 0x5fc62df164ca38aaL,0x6e65ba75928404d0L,0xfac5532c04b905ddL,
  58770. 0xe7e788ced028cacdL,0x6f6d46a1e4ebaaadL,0x612bb1ccbaea7105L,
  58771. 0x234e28db202ccfb7L,0x9368d2b838a2bd0aL,0x000000000000014dL },
  58772. { 0x8fc9d15599616067L,0x8d1b2d5f8551e5c2L,0x86bef02384a895d8L,
  58773. 0xe771fa9da6dc3808L,0x7aaebdff2dbeb156L,0xd8179f04aa61893fL,
  58774. 0xe3a11d5ab4df5a7eL,0x83babe1fee003cd5L,0x00000000000000b2L } },
  58775. /* 27 << 70 */
  58776. { { 0xbaa5e960356b7671L,0x69cbe8949a55c547L,0xea21f0e7d010da2eL,
  58777. 0xa6458bae24057f33L,0x685e19ade119c12dL,0xa4a4bf1cd1323547L,
  58778. 0x638bc3c57ea2692cL,0x1b23941f787fa55fL,0x00000000000001f4L },
  58779. { 0x07070fbbd655f411L,0xcdc85f1b0a078b8bL,0xcded78e989c7f01aL,
  58780. 0x8e56f279561248b4L,0x27131c4543017398L,0xd85568439a89e7acL,
  58781. 0x840f778f5022acd5L,0xd02560ccbad33615L,0x0000000000000132L } },
  58782. /* 28 << 70 */
  58783. { { 0xdc8418b0430aee87L,0xbd5f89c0fe56a51aL,0x10db29c4c631bea3L,
  58784. 0xa03fbcbc0c973806L,0xace383ab0ab83b29L,0x19f1d9ba5aec5994L,
  58785. 0xf36d16c245cb06a0L,0xa80a5ef4e427ea44L,0x0000000000000104L },
  58786. { 0x8c77115e67c4bd41L,0xbc0d9d752edce105L,0xb4d58d35e1a157deL,
  58787. 0x0564c86be85ab91fL,0xd0bdf26d3cc536ffL,0x4b36e529237657ceL,
  58788. 0xd108d7f75c27949bL,0xca0dc963ad81e019L,0x00000000000000d5L } },
  58789. /* 29 << 70 */
  58790. { { 0xdf088fed5170a20bL,0xa9a7752101752a4bL,0x7ad0d5a5d8096500L,
  58791. 0x40031b9258232679L,0xf714c7503413e6bcL,0x9869755a1fe03713L,
  58792. 0x6e2501ebb8c82fd3L,0xdc0984c442530088L,0x0000000000000016L },
  58793. { 0xbd92501c05c25c04L,0x1c5321cc9ec4c868L,0xfb1f693a4a48a478L,
  58794. 0x86d327ca3b87d350L,0x46be9803e525bdcaL,0x1ec5bdbab274abccL,
  58795. 0x83c080f9369d1df5L,0x4f700c9cc46b2610L,0x0000000000000149L } },
  58796. /* 30 << 70 */
  58797. { { 0x2f91efc7c0526cd7L,0x798751b06bcf03f2L,0x2e9a2b185b1d1b15L,
  58798. 0xa5df63b07585e989L,0x0f7f20cbe088785eL,0xf7e41109c3e810eaL,
  58799. 0x6f2e6b0196ddfd16L,0x7c815f673677adf5L,0x000000000000012cL },
  58800. { 0xc88f54441615746aL,0x7c59e46e6b14f304L,0xa4d9adb5c4343abcL,
  58801. 0xba341145932fd2e2L,0xa8ead97ec577c110L,0x72c03b1efc69b4dcL,
  58802. 0xc7cbf9dac2418ecfL,0x585777da2a60ff3bL,0x000000000000009cL } },
  58803. /* 31 << 70 */
  58804. { { 0x355b900311214b41L,0x5c4c60458255d77eL,0x653841db02befdccL,
  58805. 0xf0dc18ec82060478L,0x041dbc6fd8b5343aL,0x2ab668cdcad75821L,
  58806. 0xa8219ba431403e5eL,0x2187bcd7dd6f1818L,0x0000000000000057L },
  58807. { 0x3a187181672ef3b6L,0x32aa9ece8bbe1871L,0x42db253f9083e47dL,
  58808. 0xaf661bbede04d778L,0xc7d30363b6e2c3a0L,0x883a3cf7c303c0daL,
  58809. 0x2e743c812e09eda8L,0xb8a80c00d43eb9a9L,0x00000000000001d6L } },
  58810. /* 32 << 70 */
  58811. { { 0xa8aece33c6467674L,0x89ff0d8f1843299aL,0x59adbaf13ca3a78eL,
  58812. 0x196374f4b9a4a75fL,0x789f72316ac10a73L,0x448193fe379c704eL,
  58813. 0x65c6e5794fdf5217L,0xe6565a0b57174e77L,0x0000000000000001L },
  58814. { 0x509a5be95b7a3aacL,0x5ec7dfd35b281d20L,0xfd549cc3ff94ffc7L,
  58815. 0xf29fe9740cd3bd2dL,0xd8a4f3af708e35b7L,0x45222e3bb52edcd2L,
  58816. 0x896b102acd710014L,0x452cd4f4e63ebf74L,0x00000000000000e8L } },
  58817. /* 33 << 70 */
  58818. { { 0xe1cc6844d76a7d21L,0x98a653c0aad01f39L,0xa8e0aa6f5cc3db7eL,
  58819. 0x53e176c8616ef3c3L,0x2fcd40c1ecb97fe7L,0x979560d1dc9765aaL,
  58820. 0x8ceb932ec9497178L,0xfdda2a9f528d5fbfL,0x0000000000000046L },
  58821. { 0x5d78055191f09fb7L,0x5025b276358205e3L,0xa2ebb84ce669a482L,
  58822. 0x0a0299fb3630ef08L,0xb1b479c07a91a3e9L,0x90ec5d7d5a165b78L,
  58823. 0x82e7a594584a646fL,0x393648e146cf895eL,0x0000000000000126L } },
  58824. /* 34 << 70 */
  58825. { { 0x4122c7785767b754L,0xdb5083e1fffbd4d7L,0x602665453533b469L,
  58826. 0x729a29a76027f62aL,0x9d5e8150d18a8518L,0x99983cb81c736f6dL,
  58827. 0xeee827892fbcc4b2L,0x48c41e5e31554af0L,0x0000000000000062L },
  58828. { 0xed41a057380bd093L,0x90fc9595fa2649adL,0x200199ad591d2e82L,
  58829. 0x8936742d4c2cb7bcL,0xd0a3fd6e36575e21L,0x76e227053f305fa9L,
  58830. 0x7bdda0df7a21b3afL,0x143dbef0c67f4dcbL,0x00000000000001d1L } },
  58831. /* 35 << 70 */
  58832. { { 0xb5f11cf2ba68056bL,0x15cbc5b04de81e37L,0xd4417ca25cfd5b38L,
  58833. 0x5bfb146339a246f9L,0xb74fd92f7cc33e94L,0x7f04e99306ac2e09L,
  58834. 0xa79523fd32ded24cL,0x546f77e4f9bd012bL,0x0000000000000169L },
  58835. { 0xca1194a897bb2761L,0xeb8c23d390384797L,0xae9b4cf2ec702d04L,
  58836. 0x7591beee789790d9L,0x40a5a1fd3a51f2ddL,0xf696422591d9c91fL,
  58837. 0x943b41c0b539db9bL,0x4bef1a61aa810609L,0x0000000000000084L } },
  58838. /* 36 << 70 */
  58839. { { 0xb89c242a654f4e39L,0x3a242406ac7df59eL,0x351db3bf11cc09b6L,
  58840. 0x337ce2e5b5cd27daL,0xb911a8c8941f351aL,0x1829610f4f4c663aL,
  58841. 0x8c1e50449abd904dL,0xb2a4aecbbe384923L,0x000000000000007bL },
  58842. { 0x20f4b1d2485a76b0L,0x946f7c9f03d1b899L,0x7ee2ae32c4080be3L,
  58843. 0xd8926ff9ae4c9f69L,0x29dcb8a9752ffbd4L,0xa19b5f862d627aa0L,
  58844. 0xf21a0cf6dbad059aL,0xf209613aeaf6e53bL,0x000000000000008eL } },
  58845. /* 37 << 70 */
  58846. { { 0x77b7a695addb51a9L,0x371624600758a0dfL,0x6366fadd9b96c964L,
  58847. 0x9620762a8a257da9L,0x4cf5a821b73d4d9dL,0x885a02e7a5a44883L,
  58848. 0x2efaff5be9e6dabcL,0xe56434986c631f4aL,0x000000000000010eL },
  58849. { 0xbf8c22605af0c963L,0x38af35636c1508fbL,0x90e5c18cd3e73bcfL,
  58850. 0x45ae790f15381143L,0x59b3919ca68915fdL,0xdeece0122f3f3dafL,
  58851. 0xfe50ee7cdf4846ecL,0xe06d6ac82b4d8de1L,0x0000000000000042L } },
  58852. /* 38 << 70 */
  58853. { { 0x4f86e374d4ed697dL,0xfd6361cb5404674dL,0x3db2dbac05238633L,
  58854. 0xeaf6a3abd21266d6L,0x9f326b1f6a6ac16eL,0x68602e1a98c82d68L,
  58855. 0xf07a98f68c974427L,0xbad6f88e5e76b4d5L,0x00000000000000ceL },
  58856. { 0xd1694a3fa0041699L,0xac0ea49e1561ebbdL,0x9b0d19f405ab2755L,
  58857. 0xa4f3fc8b7cc61e69L,0xbef82a8875e5fe87L,0x725fa4412cf49dacL,
  58858. 0x2bd557393e82ee1eL,0xae5fe7a67ebae861L,0x0000000000000005L } },
  58859. /* 39 << 70 */
  58860. { { 0x9ba09dec8ca53aabL,0x77869c0e2e5633a1L,0x4461fc7c445d39e4L,
  58861. 0xd6d9b5a15d1700e4L,0x14500eb6bbbe1927L,0xccc39a2e8b1d7227L,
  58862. 0x24697b146d4210ebL,0x5f09bd32b1242c25L,0x0000000000000021L },
  58863. { 0xc8a50fa9ad88b85fL,0xf50a6eb907748b9eL,0x8135162693366f48L,
  58864. 0x56d7aa91bdb9d82eL,0x03d6cc9b76c2a5ddL,0x6aa01804c25383cdL,
  58865. 0x0827cdc98f69ded1L,0xfb2e0e58afb7e2acL,0x0000000000000024L } },
  58866. /* 40 << 70 */
  58867. { { 0x3c4abf3fd97e4127L,0x4d660aa326a7685cL,0xc97e6b3ef7a49e47L,
  58868. 0x7b9d1badf34336a0L,0xf7dbf5ad2d068101L,0xb0467ec242fece7dL,
  58869. 0x73d37b2b1e537f73L,0x057949157ad06ac5L,0x00000000000001dfL },
  58870. { 0xe8ecdcf643f6a0ffL,0x972197753cf6cfddL,0xc01f32aa931a36ecL,
  58871. 0xed5da14457db8ac9L,0x94cc6cabbc5ffc23L,0xfbe877fa7d5d27b3L,
  58872. 0xe1c5975e5e6428ebL,0xa2193c9c5a0daa17L,0x00000000000001a4L } },
  58873. /* 41 << 70 */
  58874. { { 0x011b7a689d61071eL,0xe35a59a67bc5c1bdL,0x4b057690da770dd1L,
  58875. 0xd5a013dbbc56db57L,0xeece6246f79b0f59L,0x5518d020efdf202eL,
  58876. 0x8df9df69a3d6bee3L,0xbda52c0199387789L,0x00000000000001e1L },
  58877. { 0x1c5105e0e2d9d626L,0x9f7cd19de1a5379eL,0xa53dd35bc7f9f7a7L,
  58878. 0x18b24218ce4fa266L,0x3e96fdc091047332L,0x97b94516870935f2L,
  58879. 0xa433f8ee4468e1c7L,0x4870ae15d77235fdL,0x0000000000000121L } },
  58880. /* 42 << 70 */
  58881. { { 0x7f759aad1e4e55d6L,0x1b6e4c24207d1d3bL,0x12b6917f6a8f4624L,
  58882. 0x746b53df3e128c2fL,0x527ebc86d5a0eb44L,0x65d4cf7354880c3bL,
  58883. 0xe52f9c5ebc2f92c2L,0x243b18aaa7581d5cL,0x00000000000001ceL },
  58884. { 0x1f18adb3d81cca4bL,0x08ef8756ddc57750L,0x38cec13ab0ed406bL,
  58885. 0xdbece99f1f99966aL,0xf86d0ec07285ef43L,0x04a1c0d00f13fcb7L,
  58886. 0x5a7dcc74169a4c21L,0x8224bde539fd0453L,0x0000000000000039L } },
  58887. /* 43 << 70 */
  58888. { { 0x3f137f59354edaf3L,0xcf81077943db0014L,0x11befe5055d92f75L,
  58889. 0x03b4beb76cfede5dL,0x142107251b39d04fL,0xba238693ed8e6364L,
  58890. 0xd3fb6113eeec60deL,0x88ce54c975c482ccL,0x000000000000000cL },
  58891. { 0x8b56584bc7c2449aL,0x737e2a1969e7b7c6L,0xb58a7dbac7c387c9L,
  58892. 0x82b6e6dd3480c33bL,0x0cf346f48d2ea041L,0x37f1d4d6f60831b2L,
  58893. 0xaf853adb2b91d254L,0x122fe99374182acdL,0x0000000000000132L } },
  58894. /* 44 << 70 */
  58895. { { 0xdb55c6c2986f7001L,0x67b6c09795cb3d1bL,0x8c985426d2166c0cL,
  58896. 0x59026d57e1c9bf0dL,0x59a7419071c85698L,0xfd2dc29c95831354L,
  58897. 0x78a61f5c43d60779L,0x09fbd320b2969ee8L,0x00000000000001c2L },
  58898. { 0xba4292559295996cL,0x76252a2b15de5fd1L,0xd2cc5546092dcfa6L,
  58899. 0xe91692386e887ebfL,0x4f4495125fc232c0L,0xd0c857cd21b85119L,
  58900. 0x2f36082f35fd0670L,0x1be3d45ba37cb8f5L,0x00000000000001bbL } },
  58901. /* 45 << 70 */
  58902. { { 0x25daa7796cfea33fL,0x93c7759086e6a405L,0xcc1ccf6884a1c535L,
  58903. 0xfeeab6205ed4d313L,0x6950b0c08a15da19L,0x5b4db037675f34acL,
  58904. 0xd84162c5a5cc3525L,0x912030b7ec7e21adL,0x0000000000000078L },
  58905. { 0x86c56b4f19587a4bL,0xb15a58ba8f6920d2L,0x779c28482105317dL,
  58906. 0x5e6d47915859b5ccL,0xa7fc961e970b44dcL,0xcc0bf4dd02b1e83bL,
  58907. 0x523624b256135690L,0x3f667b5f02443fb1L,0x00000000000001afL } },
  58908. /* 46 << 70 */
  58909. { { 0xc1d83a2638e205b2L,0xfe5221c8d7d0c2c6L,0x6bdb4ac3c1a769f6L,
  58910. 0xe4bb2703001f5426L,0x8938ae06f0e37a2dL,0x0f684030b78134eeL,
  58911. 0xc37b7d9287aeb54bL,0xca52792c4d47a2bdL,0x000000000000011dL },
  58912. { 0x6ecb81f1b4c2b8c1L,0x4b8c56014b97345cL,0xb37eac649a59f0d9L,
  58913. 0xa66ad129a90a37c7L,0x0f2869f7c18ae478L,0xd96066b5ba43a3d7L,
  58914. 0x0cfd6f7c091f5184L,0xf30d4f40005d8ddeL,0x000000000000016dL } },
  58915. /* 47 << 70 */
  58916. { { 0x8d6966bae1015a09L,0xdefb5a8cfc2b390eL,0x34a1b39c52254d4fL,
  58917. 0xdb691d108958a3faL,0xe17c12d40f1291afL,0x0ea4f61874a2bd6dL,
  58918. 0x64d7a420721c9f32L,0xc520a90d468a8bb9L,0x000000000000019cL },
  58919. { 0x811ff4142196746fL,0x6c84aabaec8df85dL,0xf0a1815c502c2e9aL,
  58920. 0x2e613f1cb74e586fL,0xdfa1ddace514289dL,0x4de976896069c2c1L,
  58921. 0x42a9730362662f01L,0x95584b0f209c9f1bL,0x0000000000000161L } },
  58922. /* 48 << 70 */
  58923. { { 0xcb0dbd8c81e4d356L,0x292afafd4e0178cdL,0x3a7d9941430adf54L,
  58924. 0xfb7dbe480c8f7a12L,0x3191467eb36cc72eL,0x77375b0ae1c3bb00L,
  58925. 0x4f6d8307a22d64d9L,0xdd46b8bbaf0baa09L,0x0000000000000131L },
  58926. { 0x07b578c9007dcc0fL,0xab944686094e6e2aL,0xc6bc5ecc762c8082L,
  58927. 0xf113fd5e9044d50eL,0xf84f6c1a3048cdafL,0xb3d315cfaf0b90f9L,
  58928. 0x8cc36b9430fc0e21L,0x5af00bf1a2975344L,0x000000000000013aL } },
  58929. /* 49 << 70 */
  58930. { { 0x0204a7ed30e14cfeL,0x5c1b090c936eb829L,0xe2bdd0f52ba5fc20L,
  58931. 0x2a73a40606bd827bL,0xd292485433abbeffL,0x8878d661123777d9L,
  58932. 0x14dfbc3db90150c1L,0xa843edd44ea45920L,0x00000000000001c5L },
  58933. { 0xf21e1fcc3beeb206L,0x2fa375889c6f5b91L,0x974397a83ab64565L,
  58934. 0xfd643b96d524eaa6L,0x0c4a87767802c959L,0x66bd68b3d2e8b462L,
  58935. 0x3b3d987b5d35d420L,0x1f4edb49c91abd9aL,0x000000000000014eL } },
  58936. /* 50 << 70 */
  58937. { { 0x3b0bd56922fa69b6L,0x6e75e34a36478f37L,0x0a1ffa483270c064L,
  58938. 0xf278b5c8cbfa92c8L,0x03e1bfbfa2b9c974L,0x427d4a8c5815805bL,
  58939. 0x70075d82b9a9f3c8L,0x1f9ea976a8d98663L,0x00000000000000f3L },
  58940. { 0x13a1debcb67afe56L,0xbc746aced4f90c05L,0x26c5d6f8a280bbb0L,
  58941. 0xd0247b69581ca4b4L,0x37e29a53be4842a8L,0xb47c7fa39ad28343L,
  58942. 0x2054355f055f25aeL,0x92c89f4292dd61c7L,0x00000000000001f0L } },
  58943. /* 51 << 70 */
  58944. { { 0x160e975afc9057a1L,0xdeb93807786662abL,0x9aa06f5246488ffeL,
  58945. 0x8a968143b1e1b1c7L,0x234c6e2387bb6c38L,0xe5f30ad246087620L,
  58946. 0x6a37229c0f760c37L,0x38bae97e1a50ae34L,0x00000000000001eeL },
  58947. { 0x1326f1c92b609a2aL,0x9fd27c710b12c5f1L,0xf8ab5311a97362f2L,
  58948. 0x67b636400430e4faL,0xdeff5367d8964eb0L,0xb2cf669aa1dff262L,
  58949. 0x48a55fe4bc0c0282L,0x8cfe7c6a6cdb5eadL,0x000000000000014cL } },
  58950. /* 52 << 70 */
  58951. { { 0x64900ab5e105ffc2L,0xb3e0a69fd00c2920L,0xfe3a57e0acdc7d5bL,
  58952. 0x50017de528a32d2cL,0xdbe2ba7e5bd24047L,0x8f337130884e4863L,
  58953. 0x79022d566b48a2eeL,0xac5c8a0b0c2f309aL,0x0000000000000186L },
  58954. { 0xaab8b2cf84bfc6c8L,0x50877d98c9fe9744L,0xde69bb18384d5471L,
  58955. 0xe88ee61e438c52a3L,0xa76f2afccce637ebL,0x75b5620ad56fd7bbL,
  58956. 0x56f3f8f0d04fbc41L,0x394174bf023bb654L,0x000000000000014bL } },
  58957. /* 53 << 70 */
  58958. { { 0xd023ab52c6bea32aL,0x6c51c915513932d8L,0x5aece30ad133acd1L,
  58959. 0x6fcf4832b981cb16L,0x8b2e8cad9ec1f734L,0x8ab4c75ad10ea732L,
  58960. 0x2a044ea51d74bf98L,0x73e479194c492848L,0x00000000000000c6L },
  58961. { 0xe7a5d2cd98038ea5L,0x556046e204a82c25L,0x25d91782b242bacaL,
  58962. 0x51f3e0ee1c690836L,0xdbc96f2e730bec27L,0x70830a8102ea0f79L,
  58963. 0xc1c16df146e8fb12L,0x2ab499df30403687L,0x000000000000018bL } },
  58964. /* 54 << 70 */
  58965. { { 0x158102961f3b5f22L,0x0488e5021393cea7L,0xaf3e259b2f7dd31eL,
  58966. 0xc4a20bf305698181L,0x4f6f54d7c0ab5d89L,0x5057c46df04298f4L,
  58967. 0x9e02e2ef67d898beL,0xc88dbe64a3b4ef38L,0x0000000000000124L },
  58968. { 0x3ab2db8ba57e0f38L,0x64b8bc290e21d3feL,0x8d667ea9125f5c6dL,
  58969. 0xdabc90e93b7d1513L,0x4e4bad620a9eb460L,0xe51a1df4ef2b9108L,
  58970. 0xd19961243d204330L,0x05d1c570c95c650bL,0x0000000000000143L } },
  58971. /* 55 << 70 */
  58972. { { 0x0c0baf4e9e1ac5acL,0x6560212c36c092b3L,0xfe47d88b97f69772L,
  58973. 0x60ccdb14e9dd8621L,0xd01c9fb94799fbc2L,0xf0eed0a832103864L,
  58974. 0x5253a877d8a18225L,0x98d6acb8b7b95f7fL,0x00000000000001e4L },
  58975. { 0x2648e152738b06ddL,0x906b0951d8d81a05L,0xf65a31390c1f0749L,
  58976. 0x4c6f7f0c228e993eL,0x828fa196a36a2aabL,0xcb565b672d28a2c2L,
  58977. 0x56253a6472e6f445L,0x64f614b086c8a38aL,0x0000000000000138L } },
  58978. /* 56 << 70 */
  58979. { { 0x3a67b300e334c8abL,0xc08d0ff9984aa5b5L,0x8d72ed49cd8e1509L,
  58980. 0xae856df59b2a8535L,0xa34ef023c0cd980fL,0x29c83e84c243d7d2L,
  58981. 0x8ecdc4d8411fad2aL,0x26ab853b89eddc0bL,0x00000000000001a4L },
  58982. { 0x3a060b7bbb5b50a7L,0x62adcbe78ddeacd4L,0x953850e464c7dc2fL,
  58983. 0x4ec4a15c4e7bf3a3L,0x1834b3ee7d5b2569L,0x729a63cc470a84c0L,
  58984. 0x9c80233ffa5e25d1L,0x7da5b6c70ec91aebL,0x00000000000001e8L } },
  58985. /* 57 << 70 */
  58986. { { 0x8ea14527251ffa02L,0x2bf1e67547d87a1fL,0x7b27c81091ba2e1fL,
  58987. 0x104c606b9b71cd04L,0xbcccdb93d614f681L,0x7acc330aacd80ec7L,
  58988. 0x6ae973894a27fd8bL,0x53827c1b27ccc900L,0x000000000000008fL },
  58989. { 0x4d95d08cb8be4cffL,0xe400db2af9ffa040L,0xa0141a32b1c11971L,
  58990. 0xd126f1474397353cL,0x566cd105b5f4819bL,0x270fb6709b0536dcL,
  58991. 0x23af7e24bab1fd28L,0x9710b8e7df1db272L,0x000000000000007cL } },
  58992. /* 58 << 70 */
  58993. { { 0x8dc226ba4ad8bba5L,0x33460d86e63da7dcL,0x77a4605dc88d1aadL,
  58994. 0xed5b10f1ea39f371L,0xb70a14697ed77a64L,0x0e60327c61d9bd6aL,
  58995. 0x0783398bbf619adbL,0x3ec7209535f6c121L,0x00000000000001b1L },
  58996. { 0x13dd11d6e87d8781L,0x0511b90514684b3eL,0x84726e9723c18f1bL,
  58997. 0x29ac0d6d26942427L,0x7d1e62d4f6e29d25L,0x2135742a96de6bd7L,
  58998. 0x496a330ced5c26b8L,0xc1ece08a9387f81cL,0x0000000000000060L } },
  58999. /* 59 << 70 */
  59000. { { 0xd254b41b30e4ed89L,0x78502bb1706e5eddL,0x0f80dc97668407b3L,
  59001. 0x29261f750c1adca1L,0xc8e281d5d1026701L,0x92b4da71f0a77f80L,
  59002. 0xbcfa39e991c34f07L,0x59668cfc83cca319L,0x0000000000000039L },
  59003. { 0x92ab845a79387e8dL,0x59bad0ced71a614cL,0x0388357983ae2d62L,
  59004. 0xcda51bd9b1b30c96L,0x81794eba23f2a56fL,0xd5783d4ce9a2644cL,
  59005. 0x8c083a7a6e365e0aL,0x6bf3855df6e86aefL,0x00000000000001eaL } },
  59006. /* 60 << 70 */
  59007. { { 0x2edc22f9503dc30cL,0x8e15166ba819de2aL,0xde92a1c90881ff55L,
  59008. 0x5063c292425bc484L,0x7265e0a25894ffddL,0x29a93e2bd01afeacL,
  59009. 0xb10aae1e4f850b16L,0xd136e09e5bf5f95fL,0x00000000000000f3L },
  59010. { 0xb339031cb292040aL,0xe3a653c6c8872fbeL,0xbba8b2a4e3b091d0L,
  59011. 0xde53daa4755f2616L,0xcbc9a13169ff06f9L,0xd7d107b972b153a9L,
  59012. 0xbf3d962eed2593a5L,0xf9c71c781eb4063aL,0x0000000000000119L } },
  59013. /* 61 << 70 */
  59014. { { 0x54e878315b00173fL,0x9491c63fe8310c5bL,0x224a487d193c27b7L,
  59015. 0x37533a42f6a4c698L,0x2f6a7d23faa79af9L,0xc21f52e2a74900adL,
  59016. 0x310382fe6980e5f8L,0x61df1496b9570f7dL,0x0000000000000086L },
  59017. { 0x9519fbd250fcfb88L,0xe3699589db1e40bdL,0xd08ecf3c5d58a256L,
  59018. 0x42ca58a17f189165L,0x388309fef63d209aL,0xa9954b554f9fea80L,
  59019. 0x0e725ff40cafcd97L,0xfda100dac558c042L,0x000000000000003aL } },
  59020. /* 62 << 70 */
  59021. { { 0xe8fe168dfd2310a4L,0xf898b948a4b90dceL,0xf56e896e16d40ff5L,
  59022. 0xb637e62886078426L,0xf8260b3ffb6bd016L,0x8fdde3e65f7d485fL,
  59023. 0xf26d3120f6ff0bccL,0x234769001b371153L,0x00000000000000faL },
  59024. { 0xc48d9d588885aa1bL,0x44b751afc5bcc29fL,0x0e786e998d1dbf86L,
  59025. 0xe7b9a49131eb141eL,0xd729dba6c2bc12c3L,0x6feb96ced668fcd3L,
  59026. 0xfe0d902270a496e3L,0xfbdf5ea4ef9ce528L,0x0000000000000170L } },
  59027. /* 63 << 70 */
  59028. { { 0xc62025d1d8d1bed1L,0x83a5876e694e25bbL,0xcd4bdf56f844819bL,
  59029. 0xbf1ff474a318be3bL,0xd44a10d049d8a390L,0x01e2b1518c6e34bdL,
  59030. 0x148d248d646df4a8L,0xc5c4aad079925c4cL,0x00000000000001ebL },
  59031. { 0x5a268e4ba03ccff9L,0x2d03661edb04c064L,0xdfcf0af9ac3e2387L,
  59032. 0x90b2da8ddfc0530cL,0x9bbf27ecac30685dL,0x3c286c0f4d93abbcL,
  59033. 0xf8cf7f6864a024fcL,0xff5929d6b416d6d9L,0x0000000000000129L } },
  59034. /* 64 << 70 */
  59035. { { 0xc6999604bdf87653L,0x5383b379b3f0b8c1L,0x98c6ac3d0bf0435cL,
  59036. 0x2b04984e433c527bL,0x5308793c02073e7fL,0x4897091de1ef3fa7L,
  59037. 0x4fea6f39bb6b4777L,0x5ad4c5cc472023e1L,0x00000000000000e2L },
  59038. { 0x0db5541ae6cd3ba8L,0x5504d5218c0bac0eL,0x32f61c5ccfac5e4cL,
  59039. 0xb8e644b58538bd21L,0x8517c72e51fc9949L,0x8d47a70cad6f4e8dL,
  59040. 0xb158e06317ab479eL,0x8c565f7b74f01418L,0x000000000000002fL } },
  59041. /* 0 << 77 */
  59042. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  59043. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  59044. /* 1 << 77 */
  59045. { { 0x4dc47d473ad158a6L,0xaaf743f315320816L,0x4ecb999de6c5537cL,
  59046. 0x4daf6b4ee63c7840L,0x4bf5f19b02bc574eL,0xf65d174caf39b238L,
  59047. 0x0093f58bd91f67b5L,0x8ad3a5b346d5e8c9L,0x00000000000001c3L },
  59048. { 0xbb99652c22171340L,0x4da02aaa3f1193a3L,0x7a73a7371776161eL,
  59049. 0x831def3aa5ff856bL,0x5f6a4f56da00dc5bL,0x2a23f5009ec3a028L,
  59050. 0xce2fd53b7cb32472L,0x894514811bb02b47L,0x000000000000012dL } },
  59051. /* 2 << 77 */
  59052. { { 0xc75e1cf3dbfed7ccL,0x2af884ee092e1835L,0x1e303d715472bf17L,
  59053. 0xb1ea537be7ad90beL,0x7fa6a69cc4d8b1cfL,0x5b5318ee1b57f5b0L,
  59054. 0x60e617587ccbafcbL,0x5832172a9c4acec8L,0x0000000000000168L },
  59055. { 0x36bae29b9f2f8613L,0x9181194ad464a557L,0xf74c13fe52ff8f2cL,
  59056. 0x88d40dff0860d712L,0x405a03bb6c86e898L,0x61f01f2fdc243178L,
  59057. 0xea9771e091b667f3L,0x1db5cff3b26bd16bL,0x0000000000000141L } },
  59058. /* 3 << 77 */
  59059. { { 0x2366b92a98d9df56L,0xa626f80c44eface5L,0xae61b15e9040c6eaL,
  59060. 0x1a44a0e218d1d16eL,0xc6f45f75c7cf836dL,0xe0057ed6c87c35feL,
  59061. 0x568b05b9b88d323dL,0xfbfcae7a9a12dc71L,0x00000000000001feL },
  59062. { 0xec63ad133dcc4d25L,0xc75d539ba54f349aL,0xeddd4102c5ea1e5dL,
  59063. 0x9028eb89a867f628L,0x2d3b3fd042846e4fL,0x23190ead8ed269b9L,
  59064. 0xa55122ea67d610dbL,0x83603cdd637c60adL,0x00000000000000faL } },
  59065. /* 4 << 77 */
  59066. { { 0x73f3a17d4787129cL,0x6ca94151e8c8b154L,0xae7257f060011616L,
  59067. 0x5d72f548d4459499L,0x11739701c3af5f62L,0xdc2f39ee9915b9b1L,
  59068. 0x1d6448e76a3a0976L,0x1263eb6a9216a12dL,0x0000000000000001L },
  59069. { 0xbc6e933bd3c200a3L,0xe4ee3dd9bb9a9ff5L,0x3772c8f553b7bff8L,
  59070. 0xbb6a11b8482ad6bcL,0x59bbe81bcf1dd575L,0x2c9ad563891128dfL,
  59071. 0x4b190e9390470495L,0xb40f60c5d58762deL,0x00000000000001e5L } },
  59072. /* 5 << 77 */
  59073. { { 0x8c814a121edc8a1cL,0x7b6a7bf4e7395565L,0xc868143978ca6525L,
  59074. 0x57477d25fae6014dL,0x8d407fcfb71944fdL,0x4bab62eee154d68eL,
  59075. 0xe0db4fe2db1a8e36L,0x8b5a0a9e51e7105dL,0x00000000000001f8L },
  59076. { 0x3c6ba57aeb49cea8L,0xd7100fde6fa16f5cL,0xbc73dcf2580249c3L,
  59077. 0x8fa02f243f4bc342L,0xb32061c81a285d16L,0xb348535c499f8f5eL,
  59078. 0x95cd0cbe63dc0bc7L,0xd1a09b04920c26c1L,0x000000000000008fL } },
  59079. /* 6 << 77 */
  59080. { { 0xab913473c18c21fcL,0x9a8d50e85a3c3b57L,0xa3f98027ab4214baL,
  59081. 0xff00eda9ed6199deL,0x7e5255d83ff38cd6L,0x200f60a17976e4e5L,
  59082. 0x2145dc0f6604bcbcL,0x26506027e30d5f5dL,0x0000000000000075L },
  59083. { 0x74c1c25830bf2169L,0x0636d007d332125aL,0x5fae19411ab021b9L,
  59084. 0xa2e53c56b7779050L,0x0f15f2a1fc02474bL,0xf32c52daa91a9c2bL,
  59085. 0x016b2c4e09af347fL,0x3b98d8d9c8b5752dL,0x0000000000000195L } },
  59086. /* 7 << 77 */
  59087. { { 0xbfd693ce14dca7e0L,0xfca53d1fdf7201d6L,0x10ef9c293f39346cL,
  59088. 0x2f007c8150335445L,0x1cd56f642fef4d80L,0x727adb3f179a01cbL,
  59089. 0x043c868d1216b55bL,0x1725267a8b7e4431L,0x00000000000001ebL },
  59090. { 0x08f27860c03b7717L,0x46184e5ad56540e6L,0x9d4413db0cd006c8L,
  59091. 0xec1262b6c613918dL,0x6dd0eaa7719b6e5eL,0x04a254658cea469dL,
  59092. 0x66575d7d57fe33b5L,0xf2df873dc1eba9ccL,0x0000000000000104L } },
  59093. /* 8 << 77 */
  59094. { { 0x620aff9a81128a65L,0xa463ffe7d6a9d2c1L,0x2206277add4810efL,
  59095. 0x413edd73dd0687caL,0xf4b12ec9249cef0aL,0x14dd6665c4b165cfL,
  59096. 0x0cf86a23c5c070c3L,0x42354fe984755f2cL,0x0000000000000131L },
  59097. { 0x6f4741df2e9c881eL,0x2656911d43f26343L,0xebae8ae41c82e8e5L,
  59098. 0xceb1ca37f3900776L,0x07f2f8fe16721332L,0x59265673aad4911bL,
  59099. 0xe8799eabfc3bda3fL,0x55805723fd073355L,0x0000000000000088L } },
  59100. /* 9 << 77 */
  59101. { { 0xc1702e2d7ad5f4c8L,0xf923f2bc5a1339daL,0xa595a3bb549b6f65L,
  59102. 0xc610545ee1dba535L,0x7f51f3d42ebaad6eL,0xce7f8bcc6c9cae0fL,
  59103. 0x688732ab3d8f57f7L,0x2804a3276493278dL,0x0000000000000117L },
  59104. { 0xfd4db14748347a3fL,0x6fcef6816be9c766L,0xb94a0653e9cbd7c2L,
  59105. 0x1642e8b6693b1957L,0x9d6c17e5b68dad23L,0xedc75322b0a1d8feL,
  59106. 0x6061c9696d7dbd33L,0x898893654e198b67L,0x00000000000001e7L } },
  59107. /* 10 << 77 */
  59108. { { 0x9c3c0e612af820a9L,0xe80ec4172b23949bL,0xfd6741edf39b5cc6L,
  59109. 0x7508d2c569195b07L,0xc5b0b05bf66670e1L,0xc3a6eff7b4fbe0faL,
  59110. 0x6bcdfee8439d44f0L,0xae90d63b912965c5L,0x0000000000000197L },
  59111. { 0x7959bec9ee9e6f8eL,0x59f50c0987483ac6L,0x5deccebbacc28474L,
  59112. 0xd832648efced11d1L,0xd59cde8c46abbea7L,0xac18a27605da98dfL,
  59113. 0x315ebf629282c511L,0x67cf83eca91cc95fL,0x000000000000009eL } },
  59114. /* 11 << 77 */
  59115. { { 0xb25b845fc9f46a97L,0x5f2a1efdc18bd95dL,0x454be47ef18f3fc7L,
  59116. 0x0f14f6605543dd92L,0xcce66ca31e88d28eL,0x7de0041d6ad77c03L,
  59117. 0x0bfa9ef1875fe7a5L,0x459043152b7c660aL,0x000000000000011dL },
  59118. { 0x5d7c18371811451fL,0x43278c38b3d82a76L,0xc1a74c9387525910L,
  59119. 0x6426e55e01983c0aL,0x9ef7fff22afe0faeL,0x54814953d94166c2L,
  59120. 0x356c3af7244a9fb1L,0x5b0b753ca6be34beL,0x0000000000000063L } },
  59121. /* 12 << 77 */
  59122. { { 0xeb936532eba11d2bL,0x5a99185776dfa0d1L,0x557cb975f1dda3f2L,
  59123. 0x31a06276bca5b098L,0x43b4ab995e00fd06L,0xdbca3db3e6b05745L,
  59124. 0xf82d9a4dfbd3914bL,0x9df9a855d9583413L,0x00000000000000ebL },
  59125. { 0x0c6f9f1ac17aeac3L,0xadb82b657aa9309dL,0x5f7d18d0dad1edf8L,
  59126. 0xda0ccd7d6f7a4113L,0x21ff3dd62e459a42L,0xef0ced7a4b586ff3L,
  59127. 0xd3899d53cc45432cL,0x06cb34b4415e1762L,0x0000000000000095L } },
  59128. /* 13 << 77 */
  59129. { { 0xd87d4bad1db8928dL,0x6b3b3e07435b5743L,0x4d2de9b2332129d7L,
  59130. 0x69e49dacc8cf4e98L,0xf69c8eec8eda24cfL,0x0957359a143e9d82L,
  59131. 0xb85860d9519c4f29L,0x8280559d5dfb9972L,0x0000000000000126L },
  59132. { 0x3d53979179a086c0L,0xa2641be22809fd90L,0x90c6e7b0d3b9b9afL,
  59133. 0x219465d05d6d7e22L,0x6faef26d4f1805adL,0x8ec78f8e9ea67504L,
  59134. 0xfde34e6960c2bd44L,0xada7e8b46e85d7c5L,0x00000000000000c0L } },
  59135. /* 14 << 77 */
  59136. { { 0x09710a2cb143b2feL,0xe8a5da4966ee5443L,0xd0c100132f12b4d5L,
  59137. 0x5e7b0e772671b1baL,0xb4dddf2e8a6348f0L,0xeacee7a2c4ecac65L,
  59138. 0x19a1c51d04d317f5L,0xd5075202f7bfac9dL,0x000000000000014eL },
  59139. { 0xa82630e6c4383072L,0x739a02360f9afb1bL,0x7cd580240782c13aL,
  59140. 0xd5dca3e5269cb563L,0x534d1d4469d39b18L,0x8a99a7eee725e8c4L,
  59141. 0x4ae1a734e09b12d0L,0x96b8831a4511fd7dL,0x00000000000001e3L } },
  59142. /* 15 << 77 */
  59143. { { 0xd348f834f34ecfb3L,0x82423bf3a2b5a7e6L,0x11e41b02c531994cL,
  59144. 0xc4141466202d71c6L,0x60d3db1693b2104bL,0x2b9cc9bbbf1488fcL,
  59145. 0x820dd17464971852L,0x255efd4eb83dbadfL,0x0000000000000017L },
  59146. { 0xc2d71a64d751248aL,0x2088c20bbb351370L,0x5fdf0cf4c33df9a9L,
  59147. 0x71e307bbd6796dcfL,0xecff035ef166c04cL,0x8f6ee686bd58429dL,
  59148. 0x51a81bd8027186e0L,0x52e8524b22705c39L,0x00000000000001e6L } },
  59149. /* 16 << 77 */
  59150. { { 0x2b14935a7ce70edfL,0x1d88d30ee3c6f5a6L,0xaa6220de207e5973L,
  59151. 0x692b3ff064b5e637L,0x04c9ddc8ff0eb748L,0x9e5ec39e44978142L,
  59152. 0x9cc06266fa674339L,0xe0d13dcddd3e430dL,0x00000000000001edL },
  59153. { 0x74604722f38bd4ceL,0x473e4d3549da70f3L,0x1228875507d72efcL,
  59154. 0xdf89a5050a7521deL,0x674176564c1a6866L,0xe2c330233f7a0eadL,
  59155. 0x5e100468a7474dc1L,0xa47ca1a5dcc02d45L,0x000000000000001bL } },
  59156. /* 17 << 77 */
  59157. { { 0x6ec465e156e2014dL,0xe11db5d88be7c4bcL,0xe280c2ef46ee44bfL,
  59158. 0x9650200bfc287502L,0xa623faba21131932L,0x883521a67c64c58eL,
  59159. 0xf6cf505718803a4dL,0x3466bd19ec4cf07aL,0x00000000000000b4L },
  59160. { 0xb89009ef651d7f32L,0x97e0c0afa7012731L,0x5a66579cdb06f6bfL,
  59161. 0x326054c1ae4ef154L,0x6701b07d9709ad6aL,0x754acc2876647a83L,
  59162. 0xec5c1b4194a4d548L,0x7da690fff296788aL,0x00000000000001e7L } },
  59163. /* 18 << 77 */
  59164. { { 0x89971aabe09fd32aL,0x8863882406d544adL,0xc2ce75b757b06c62L,
  59165. 0xcf839aebfde27541L,0x236be270534a25f6L,0x22e7c530c753df84L,
  59166. 0x8c9277e537d2ea4eL,0x48d1f633ebc61e9cL,0x0000000000000160L },
  59167. { 0x89e3f1eb69876684L,0x90c977e026a0ed1bL,0x610a0a8534a0698dL,
  59168. 0x12b6bc1933cdaf22L,0xa40068414f80ee0eL,0x91146c1f7b956979L,
  59169. 0xcd77ddc326655fa5L,0x3f480d870f745a46L,0x0000000000000061L } },
  59170. /* 19 << 77 */
  59171. { { 0x40b96c1c3a259f14L,0xe7f40ea079e72202L,0xe8313e54d7267895L,
  59172. 0x173ce8f7559cafffL,0x494a51b3a6c1b23fL,0xc696bcceeb58815bL,
  59173. 0x170010c8e0dc01fdL,0x01086056d3602b64L,0x0000000000000061L },
  59174. { 0x410f23cc8a1148f2L,0x9c1f4ffc71449f8eL,0x1b7c1d63e39b69fbL,
  59175. 0xb3c0a279581a2ebbL,0xf3a475ed4e37ab82L,0xbae74b39c0ce76a6L,
  59176. 0x10059c6f67feeea6L,0xf4b5db802b5f3fc7L,0x0000000000000039L } },
  59177. /* 20 << 77 */
  59178. { { 0x899ff5b3a39492e2L,0xba2ed9c090fec192L,0x1f3f792e373ec69eL,
  59179. 0x58892019804a999cL,0x2decbbf65680eb65L,0x4c4d1fb1f1991cdaL,
  59180. 0x81c7cd2da9bff737L,0x641d5365db793801L,0x000000000000010bL },
  59181. { 0xd1a3e393e7b02799L,0xca23126f920e1690L,0x16229cabdae08e97L,
  59182. 0xe02535dc0dc624e1L,0x7f4a6c2707229ca3L,0xd00f68a7ea546fbcL,
  59183. 0x14c7a9060bcb65fbL,0x18a29801a778cdc2L,0x000000000000012aL } },
  59184. /* 21 << 77 */
  59185. { { 0x88ef7214a340a2bdL,0x6c21447fb3711634L,0xeda5e1cf59a1a9edL,
  59186. 0xec843ced532a2068L,0x5d030969a721eaa9L,0xf848b622c5c12f80L,
  59187. 0xfdbbe02eb3b5f479L,0x5a4a7e27ecfb32aeL,0x0000000000000152L },
  59188. { 0xa0ebecc73bd579c4L,0x947cc8931ae87971L,0x55a335a5f997b3f8L,
  59189. 0x0fa52370c742c232L,0x04f557068fe480bdL,0xd5dfbec56e89bcf3L,
  59190. 0x68094b4fe7e79004L,0xb930cb0577e383c9L,0x00000000000000e8L } },
  59191. /* 22 << 77 */
  59192. { { 0x404b0ca7ef717037L,0x086a03c3afacef33L,0x1a82f5347d458148L,
  59193. 0xe4380258397e4eb4L,0x1330d8d4ca7d334dL,0x1838b028ce1374f2L,
  59194. 0x368e12f620c20e72L,0x5a1a189b19279435L,0x00000000000000a9L },
  59195. { 0x938d0621ba67ae4dL,0x8edee31826d4e2cfL,0xf5476a05b5445042L,
  59196. 0x32fd912047791f6dL,0x9b896d1d278da749L,0xf0647a5b8027024aL,
  59197. 0x3dce74aede2c779fL,0xd238785c70d0322bL,0x00000000000000cbL } },
  59198. /* 23 << 77 */
  59199. { { 0x1389bd572c5be10bL,0xf417b76d6f40d705L,0x43eb4f0ae6bbc695L,
  59200. 0x83ee3dbbbceede7aL,0x3b7944776a96d4ecL,0xc8718559cc6adadeL,
  59201. 0xa5a422fe93cb083cL,0x88f55bde65b67cc0L,0x000000000000007bL },
  59202. { 0xa38582d46eabed01L,0x8555c12c141ce97cL,0x8af7c38b358fc420L,
  59203. 0x40639ba9c43f8fcdL,0x187da0e6ebd2a1e3L,0xface1ad56d325bf5L,
  59204. 0x9f44ec9fbbc2d694L,0x9029fab4d125a7f0L,0x000000000000007fL } },
  59205. /* 24 << 77 */
  59206. { { 0x79b40005d7c3e500L,0x99957461a7cbe47dL,0x1dba911d53a81eebL,
  59207. 0x50049c2a54cac621L,0xc3052ce65c8458c0L,0xd4e4cc285cd9822eL,
  59208. 0xa64bd2ba9c89113bL,0x616f47f324a9a360L,0x0000000000000000L },
  59209. { 0xb309b38536bb95e6L,0xf7808da5eeb3af75L,0xc9eb3a68ffef855aL,
  59210. 0x0d7c5382da981f49L,0x2176630e5a29fe14L,0x7c59c56f4b6dd847L,
  59211. 0x363fc08115c998cdL,0x28b9018e1c0e00d7L,0x000000000000009cL } },
  59212. /* 25 << 77 */
  59213. { { 0x2573417e81c83b0aL,0xdd9e807e048ebc99L,0x82a6c4a81b29f10cL,
  59214. 0x7d10a230142588d2L,0xbfcc4299646d2ff1L,0xcf6ec008b3d474d4L,
  59215. 0x4739d5a10fc69418L,0xc40c43ea6653b7ffL,0x000000000000010cL },
  59216. { 0x35cad063fec6bc85L,0xf71acf741da4918aL,0x1cab540ece2afbfaL,
  59217. 0xda8b2b24c98eb950L,0xc727151dc45eb0daL,0xff80e6ff5e8f915aL,
  59218. 0x61ece0f0f43fe366L,0xea66de22262859ddL,0x0000000000000128L } },
  59219. /* 26 << 77 */
  59220. { { 0x474171efa97a4763L,0xd93201a034920094L,0x6481f28d5a35265aL,
  59221. 0xe3e4d437b7eff28fL,0xe9af6e1aae3a1e45L,0xc4aa6f1cbd9522f4L,
  59222. 0x7c03335bbc9780cbL,0x96d41e4a321d6c2dL,0x0000000000000174L },
  59223. { 0x5f26167549113aa9L,0xaa8b464d7b5a62a4L,0xa5a46db0820a01c9L,
  59224. 0xc7faa813d78edb2fL,0x930e2c550d6a1d85L,0xa9093a617de2a013L,
  59225. 0xa127661d71d619aaL,0x54cbb5a5f1c8ce41L,0x00000000000001e9L } },
  59226. /* 27 << 77 */
  59227. { { 0xb2ba328e784b5740L,0x3aab9cb34128749eL,0x28f63dea025efe48L,
  59228. 0x50ac057754239c62L,0xd69d52d61945325dL,0x30729b23d6e44079L,
  59229. 0xb53986e0ba39b326L,0x00cee2b7000d74fdL,0x00000000000000b9L },
  59230. { 0x4c6c851b9dad4796L,0xe5e9073bbb3f588bL,0xb353a8be7a520bcdL,
  59231. 0xf3e17105f9f53a85L,0xf1f9092b4ca27a37L,0x98d205f5591535ccL,
  59232. 0x36d397df9b0d9312L,0x274fe8314e3ed5a2L,0x000000000000010bL } },
  59233. /* 28 << 77 */
  59234. { { 0xa5c21ee422b55a11L,0xb3d53f0aaafcfa04L,0x801275fda03eadb9L,
  59235. 0x1d198806804399caL,0x90ebcc340a2e19b3L,0xe6e38f0aaea736abL,
  59236. 0x708a52b84a9edc51L,0x2eb66e95fc7ffffbL,0x0000000000000178L },
  59237. { 0xd46591fd9e589f0fL,0x4f0d19c86d5aa7b2L,0x06709841bf48454bL,
  59238. 0x9ebeefe12b45c9c0L,0xf0a115fc6fb45000L,0xff84e50179ebcb41L,
  59239. 0x0ec79d93ce8d1212L,0x5566d34415ee3721L,0x00000000000000e9L } },
  59240. /* 29 << 77 */
  59241. { { 0x1ef4d33308cfb94cL,0x7441eb2b997fed75L,0xf5168da9af996143L,
  59242. 0x81618ae829a3693fL,0x19744ee0f0b96e6bL,0xb965ef0bb2fd289eL,
  59243. 0xe5e5dc6b0cebfaefL,0x8ff8be97049bc826L,0x000000000000010aL },
  59244. { 0xa8eefd0dcb1a9859L,0x51a376b22ac2b4a8L,0x21bc8fa24625bc78L,
  59245. 0x415780cf59ca09f5L,0x91b61e743291ae38L,0x5571371deabadbc8L,
  59246. 0x03af77636156dc1eL,0x71baf8d9a32f5f90L,0x000000000000008cL } },
  59247. /* 30 << 77 */
  59248. { { 0xb983e450215de93aL,0xf9a04f4d388b1042L,0x4a5d19b5a992494dL,
  59249. 0x6daa0b565edd34c6L,0x47c234303575862cL,0x3088d50b4e9d944dL,
  59250. 0x02b04a29ada9072cL,0x78027f7acb9e0062L,0x00000000000000f0L },
  59251. { 0xa0826f19f446b373L,0x7d93fb0f81263a01L,0xe6921097c78ea270L,
  59252. 0xfa538ddd2aa5c2f9L,0x01c031423df7010cL,0x955fa08be237455bL,
  59253. 0x056bc335462e5d09L,0xf4253cdec6b5db6dL,0x00000000000001f8L } },
  59254. /* 31 << 77 */
  59255. { { 0x7817f55b58d0551dL,0xb14d44372fba3e21L,0x0957c7c6213afec8L,
  59256. 0x16af19829c3d5a98L,0xce97f84f27ee4bc9L,0x9e67f2ecbb61232eL,
  59257. 0x21a4a6a3aacf3cfbL,0xaf2c734abe76c0daL,0x00000000000000d4L },
  59258. { 0x3c25948c614d7f45L,0xe38052af2070cdd5L,0xa1eee814c0addfb7L,
  59259. 0xaddf7463aef0d0e1L,0x881ca72b6f18263dL,0x3ded9d2a4ed2eeddL,
  59260. 0x1fc7d77bd7c0367aL,0xd72254b3b3ebfcfeL,0x0000000000000047L } },
  59261. /* 32 << 77 */
  59262. { { 0xc9d22d532c51ab39L,0x0bb42c882f02748eL,0x576c89c847e18934L,
  59263. 0xf34cdc49b9513257L,0xaf97df129ed107a2L,0x860263daeead8f82L,
  59264. 0x6147d39bfe11c289L,0x3b94b3ebf41158f1L,0x0000000000000113L },
  59265. { 0xc4c84d7cf747d887L,0x9a54f1a2f71f1726L,0xb4a79290daf5817fL,
  59266. 0x33dd5df87893855dL,0x567a1293f6953979L,0xf0c76bb60eac5025L,
  59267. 0x863fc87abb498d81L,0xf5d4e58ee9b3c11dL,0x000000000000016aL } },
  59268. /* 33 << 77 */
  59269. { { 0x3b17d547448dfb53L,0x7f2cb0729f642572L,0x63e29455c76a69d7L,
  59270. 0xca61b766bd3e3646L,0x37a6dd73810708b2L,0xe1a14fd91c905068L,
  59271. 0xd44e8f8c80ac4b2fL,0x835bf4e52af9b43eL,0x00000000000000b3L },
  59272. { 0x8c346f71e06e063fL,0x1a328b150b7d8d8cL,0xbaf6a09807bf6a99L,
  59273. 0x87e133f9596da0b9L,0x0e597178cf3e907dL,0xd5f05f8ddf233a55L,
  59274. 0x309225a26b463c36L,0x300bdf0f0584aa15L,0x0000000000000053L } },
  59275. /* 34 << 77 */
  59276. { { 0x4e7a75991895dfa6L,0x47a75f95bdba3effL,0xca07fe2d3f9a18a0L,
  59277. 0x5980f02ac1d1c586L,0xbbb9347f47e52186L,0x64655f6ac4d3c668L,
  59278. 0x49b744d851222ef4L,0xff1a52afbcee213eL,0x0000000000000046L },
  59279. { 0x07b176399164551aL,0x8670c0eb724fe5fbL,0x939b844418827401L,
  59280. 0x0057903fe2b0b7e0L,0x3715250a6bd60303L,0xfab5172cd457ae91L,
  59281. 0xfe0fffd5cb98bd63L,0x2442dd530529b127L,0x0000000000000045L } },
  59282. /* 35 << 77 */
  59283. { { 0x1ff6afce70614995L,0x8ec5c3c42d35576bL,0x3db78d6bf19c93b9L,
  59284. 0xb687f566561b78bfL,0x9a0059d21b471120L,0xd2335ec12a6d841dL,
  59285. 0x51f487eb03bae0baL,0xe0cddfe86348a091L,0x000000000000017fL },
  59286. { 0xe81c1483f1461684L,0x37d83bb3baeed32dL,0x5d8cbce8fa24c9aeL,
  59287. 0x14b9a08bc19282f5L,0x0ffec978bc0d960cL,0xe3453f9dcc202f77L,
  59288. 0xe258d82ec95021acL,0x0b7e13ad3cb3f629L,0x0000000000000166L } },
  59289. /* 36 << 77 */
  59290. { { 0xc7ac11e626f1454fL,0xc3c07fb2b35c3517L,0xb3250791aaa6cc48L,
  59291. 0x386fdd4b80913dc3L,0x9ceadabacef02e0dL,0x8ffbd36041b82b0cL,
  59292. 0xa419d90fe5459cf5L,0x96b655a4d2be1233L,0x00000000000000d6L },
  59293. { 0xfc4d23c02f0b4251L,0xde6584339c166c63L,0x5d2a686fc992b364L,
  59294. 0xebe9eab62aec7318L,0x1f276b32205d70a4L,0xa86bf8dbe3ad7c9fL,
  59295. 0x94a38b3aee6e87b8L,0x60dafef41af5d923L,0x0000000000000175L } },
  59296. /* 37 << 77 */
  59297. { { 0x5a3443b09f246493L,0xf304564dbcd26507L,0x0e97a06aa7092182L,
  59298. 0xc3db692d8477c80fL,0xc5947c4347f9b7bfL,0x5b16b09bfcb8be69L,
  59299. 0x6d68633942bfed11L,0xb2e2c5a703585ba1L,0x0000000000000102L },
  59300. { 0x0c92464dce2a9c87L,0xdd3ba87f5a22f114L,0xe91630bee7c79285L,
  59301. 0xec9d61b81671061bL,0xb124aeea3135b566L,0xdb2e1760b108a419L,
  59302. 0x8dc457368dccb7e0L,0x395f8c1269f288caL,0x00000000000000d0L } },
  59303. /* 38 << 77 */
  59304. { { 0x5b44bbb6e8d951b3L,0x3fd669c6eda76243L,0xf5060d8492a121aaL,
  59305. 0xa3cdd2388ff0d7c2L,0x1fd8c08b68451b81L,0x0d473fa8947d2bc9L,
  59306. 0xb84cfb1558ecd9f0L,0xc1d74eaa5861f3a8L,0x00000000000001b4L },
  59307. { 0x8992dcd5a7e3fd83L,0xaca06108361d9bebL,0x6e8a01451eea9b43L,
  59308. 0x468cbdff0dec9235L,0x13f19bff1f3f0571L,0x1c521a953db7e61dL,
  59309. 0x8315bb22648cc46eL,0x7a4b2e18e8060604L,0x0000000000000155L } },
  59310. /* 39 << 77 */
  59311. { { 0x5aeb03ff7d3ab094L,0xfda8c273a90d5cc9L,0x6883bcf2ddf59c2eL,
  59312. 0x6496e8504dec3d19L,0x356eab571c428360L,0xf15edcc7aa376191L,
  59313. 0x751db33905e75700L,0x90dae8887250d302L,0x000000000000000bL },
  59314. { 0x11679572d6180ad9L,0xfed6254809ed164eL,0x14598065c141b48bL,
  59315. 0x1c1f0baca4575d4fL,0x207b297aa286b951L,0x971052a3ae4c9f63L,
  59316. 0x38ca88212a097f14L,0xe505b1ec718e620fL,0x0000000000000119L } },
  59317. /* 40 << 77 */
  59318. { { 0xf02ebe9596f52213L,0x2aba2dfc62f9f1e9L,0x7bbdde57934ef9f0L,
  59319. 0xd5c7882ea417af58L,0x55cdfe89dcdf7815L,0xf79051b18470a435L,
  59320. 0x364da0aa7e8593e8L,0x02c3d160975a5f81L,0x0000000000000034L },
  59321. { 0x59493183ccd37734L,0x085a8cd2e645e991L,0x2d54d2668c4b4a86L,
  59322. 0x96cf84cf7b4079beL,0x4abade40ba683f56L,0xfb29c00bb5457b07L,
  59323. 0x6ed5fd3592ae7f9bL,0xb1f1a25fb5a9d039L,0x00000000000000caL } },
  59324. /* 41 << 77 */
  59325. { { 0x26cd556b3921e1a1L,0xaea7a4d9b1f5f62fL,0x8be062eb1ad9028bL,
  59326. 0x99c738b3f3c0f0ceL,0x5db59317f043ae79L,0x30903c23fa93058cL,
  59327. 0xe075745250dcde94L,0xb63ee08f5d35faf8L,0x0000000000000130L },
  59328. { 0x9dade46088d5a5a1L,0x7f687f6624dc764cL,0x224429986af08677L,
  59329. 0xf6ffc5179857465bL,0xdd1d92cd16eeb385L,0x3b27c4363a9ab99fL,
  59330. 0x36fc22217b450819L,0x8a2ae9917c077c4bL,0x0000000000000126L } },
  59331. /* 42 << 77 */
  59332. { { 0x6edbc169d3c026efL,0xb990e974b3656143L,0x82dce5f11052b46cL,
  59333. 0x522b454f346588e6L,0x87be4c0a2f04bf25L,0xc013f791d83edef8L,
  59334. 0x208f49a8736ff68cL,0x00ae3843281e5af5L,0x00000000000000b8L },
  59335. { 0xfb7c1540b14834ccL,0x7578c1c9036b2491L,0xb1328c4174f9c4d3L,
  59336. 0x9158cc04bb0a5630L,0x95d413897757dcf6L,0xe6be1b4f6bdc01a7L,
  59337. 0x92930721197a54abL,0xf8cbb795262c5de9L,0x00000000000000feL } },
  59338. /* 43 << 77 */
  59339. { { 0xd4e40c43d91f2e22L,0x760551b0ea9f06dbL,0x7271357be6424d8fL,
  59340. 0x1c139ebfd700c632L,0x36ffaff59c1ca226L,0xcc10334cc07ea685L,
  59341. 0x066963dbb8b2376aL,0x38066959a91e1636L,0x000000000000006fL },
  59342. { 0xd27f9dc0aa8a23deL,0x9143dd55b035bca1L,0xd21f7d664d70575dL,
  59343. 0x3e86e93ad29defadL,0xff32fb430d7d088fL,0x268353357ceb5006L,
  59344. 0x9696d3a595ff6981L,0x6e866b5b44250a28L,0x0000000000000156L } },
  59345. /* 44 << 77 */
  59346. { { 0x351a043f060f4eebL,0x15209879d5b3bb63L,0x9698170c9178b96cL,
  59347. 0x5b90ee14085b927aL,0xc8993568b5f2f8deL,0x9b5e29d34847abb4L,
  59348. 0x46be1cebefd9a245L,0x8b4d783fe64a4af9L,0x00000000000001ddL },
  59349. { 0xb7bef10844ca314eL,0x26be580eea2bd1a1L,0xf57173d964855abcL,
  59350. 0x21d2e1ed42aea843L,0x2a75fcb632f0d49dL,0x13316023b1c84fadL,
  59351. 0x45734d1e7a1b533dL,0xb1a134dd8eee750fL,0x0000000000000050L } },
  59352. /* 45 << 77 */
  59353. { { 0x2891a9cc118e30e2L,0xcaa1b23324d29c24L,0x299600b7614d15b0L,
  59354. 0xd3fa214bb2b193beL,0xabd77d87402684f1L,0x8c0b18c2fdec80f4L,
  59355. 0x977833ca8efc68d8L,0x80752a69b3a99b6dL,0x00000000000000c1L },
  59356. { 0xab8b54aaaa4faf4bL,0xe58674b91485e938L,0x70e4907df9448c62L,
  59357. 0xb74aadeba5f687aaL,0x994221ada0ebfc28L,0xa2e0bbac8df568a9L,
  59358. 0x66e22982e1f06342L,0x800f40d53e73b5bcL,0x0000000000000053L } },
  59359. /* 46 << 77 */
  59360. { { 0xad24f8630abc1fc6L,0x04be06226625e9ccL,0xa0fd69eda80ce1e7L,
  59361. 0x3f61e48b44c92416L,0x2ff89da5ce72dfa6L,0x462258a109268f2cL,
  59362. 0xfb125f58b4b7fd03L,0xf72a865567c58ba6L,0x00000000000000e1L },
  59363. { 0x4db84d835c451179L,0x88ccccc63b02f7d2L,0x03ac849dc542c185L,
  59364. 0xc20bc4c8b38b637bL,0x8076a9b8cdc5a419L,0xc712278bb3ddab32L,
  59365. 0x3cf2df106e8e74b9L,0x7b177eb9486b20b2L,0x0000000000000105L } },
  59366. /* 47 << 77 */
  59367. { { 0x8afcc24d382f5750L,0x3acddfde54812d70L,0x7299dc77cd9c82edL,
  59368. 0x1642c13900c140feL,0xa778b51691c0c3c5L,0x038b15eb2502380dL,
  59369. 0x0762404f0bd24e3aL,0xad1e2552ce726c20L,0x0000000000000196L },
  59370. { 0x20a92f312523da44L,0xd1023bc8c536bc84L,0xe6b5f3a86c43897aL,
  59371. 0xadd1b4f1b3437151L,0x5687d3eb1a97933bL,0x07c6421383350406L,
  59372. 0x56874e419e93c582L,0x6bfc781c1f59dab5L,0x00000000000001a8L } },
  59373. /* 48 << 77 */
  59374. { { 0x6503932f0c7723e0L,0xd185af25a8934788L,0x5bc1660c792232f4L,
  59375. 0xcfb04aabc2ccd476L,0x59e84fee16844fe7L,0x736c2cd809c31ad5L,
  59376. 0xdf44215499058585L,0xf3b79464c3f2b46eL,0x00000000000001d3L },
  59377. { 0x282464c7089e2e4fL,0xbe9d0bfa17d8eee1L,0x7934aed1fcf3e876L,
  59378. 0x76465104d4e606b9L,0xf114efb4fa4412cbL,0x8f9f32d2f1fc8480L,
  59379. 0x2879c7855c340a29L,0x3d28e8a7d570bcefL,0x0000000000000178L } },
  59380. /* 49 << 77 */
  59381. { { 0xe39823fd528505acL,0x8ebc47325c5f2cf1L,0xc44463bec2949fe8L,
  59382. 0x85161d86cce2693eL,0x07a25ac07ee556d1L,0x4f25af1952e857cbL,
  59383. 0x11c601ec54424593L,0x73ab0d66312c6359L,0x00000000000001b7L },
  59384. { 0xa5a485e638d15a2dL,0x508d127b1473315aL,0x77f80913ce227761L,
  59385. 0xc5ab5ba6f973549cL,0x2feded3f26e06fadL,0xe3e8a9421884393cL,
  59386. 0xd10318ee59a646a0L,0xaf1ac30d53726ff1L,0x0000000000000152L } },
  59387. /* 50 << 77 */
  59388. { { 0x100b85a9dd94b4d1L,0xd8daf57a6587d8ecL,0x9310171258ae0fcaL,
  59389. 0x0f97b4f8f2987b29L,0x7a3e6862af6fb771L,0x3a285868b8b39256L,
  59390. 0x00d36274ee37b5eaL,0x52b11d2e10720476L,0x000000000000012bL },
  59391. { 0x3fa5ea33242d8351L,0xf9d559b230f44661L,0xd2c61b6cb62b0b61L,
  59392. 0xc316078cfe0480feL,0x0ad7a72e4db4ea51L,0x624045e0f8bdda6eL,
  59393. 0x30f27b5ad9c158a9L,0x94b07694a3b997c1L,0x0000000000000152L } },
  59394. /* 51 << 77 */
  59395. { { 0xc2965b4b16ac65feL,0xc4b7d9409ab82e5bL,0x229ff0cff7ea0055L,
  59396. 0x40efdc6369eaa5fdL,0x93c5764644112d4fL,0x0b25310e2715e10eL,
  59397. 0xd6a9efe5c9974136L,0xedacc9706ee8d832L,0x0000000000000046L },
  59398. { 0x893377613727b7e1L,0x88c850afd078941bL,0x58756ece7b823796L,
  59399. 0xde7bb167aafaba1cL,0xb057cc537a7fc085L,0x83b15ebba59b9fbbL,
  59400. 0x1319c88bc112199dL,0x74f8df4e55023975L,0x00000000000000d7L } },
  59401. /* 52 << 77 */
  59402. { { 0x52c39bdd29c86c06L,0x36c4a7422e6da397L,0xb429fe2916c08eb5L,
  59403. 0xa8cbbcaa5f62d74cL,0x49c149eb40b83aacL,0x38128a270b423a47L,
  59404. 0x947c4abf4f3121f9L,0x0b2c865c2ae48961L,0x0000000000000096L },
  59405. { 0xd489f8b216565942L,0xc94dc15e2e387adaL,0x7ecdbea39ec45872L,
  59406. 0x122026994189738aL,0x57deb4ea1268576dL,0x59dbccf1d8ef43ebL,
  59407. 0xdc0d07a5acc68febL,0x519e8d571a01e26aL,0x00000000000001d3L } },
  59408. /* 53 << 77 */
  59409. { { 0xaf380ca366cddf42L,0xcac3e386a4625641L,0x6366ffed6a06256bL,
  59410. 0x9803be38a63544acL,0x75a7a48c4235d59aL,0x880b86944b0fa3b7L,
  59411. 0x105f4598e06fd240L,0x861670560370cf92L,0x00000000000001c6L },
  59412. { 0xded452e494949561L,0xddae0321d7dd2556L,0x9f81b561326f74c1L,
  59413. 0x12b3e9632604eb59L,0xb7f0a72f30a9e3ffL,0xdc6d097e4df8dc6aL,
  59414. 0x5b82f64fb2ca84c6L,0x605abf186073c250L,0x0000000000000052L } },
  59415. /* 54 << 77 */
  59416. { { 0xcf8532fb7c6c5928L,0x809b06af68ef4167L,0x1e3f716e69dca4f9L,
  59417. 0x605a859dd655961bL,0xc5414e946c1180f7L,0x864afda1026b8a2cL,
  59418. 0xd181e149da3fadbaL,0xe7be322d8fce2449L,0x0000000000000142L },
  59419. { 0xc85d4ffa5670ff12L,0xf7e91b0ec3a84a89L,0xdf19ed5befc145c4L,
  59420. 0x206c72965a8c3c4bL,0x0b97942db93b820aL,0xb1b890b7a51b824dL,
  59421. 0x013d153d20dce1a9L,0xefe9ded346743f8aL,0x00000000000000a5L } },
  59422. /* 55 << 77 */
  59423. { { 0x88d2dc674477ec08L,0x80ba5fac1411b3c0L,0x969b5230a98dfe57L,
  59424. 0x752ad8d4eeaf4654L,0x6a922cc35f3d4184L,0xc523a34808e7a943L,
  59425. 0x5f764b409cfe4145L,0x7395772bc03b9f6cL,0x000000000000012bL },
  59426. { 0xa990597615682164L,0xf164f513939f3d99L,0x30f6e9db7016f097L,
  59427. 0x8890d32051fe1e18L,0x3bba183346117780L,0x70ac1f57c19f9604L,
  59428. 0x8457dd06d81e63e5L,0x79f823471aee9177L,0x0000000000000076L } },
  59429. /* 56 << 77 */
  59430. { { 0x8acd524bd326ffb6L,0x4a1091a39e731029L,0xb056d998600d299aL,
  59431. 0xfb695c26b78ebf7fL,0x2b83e30c73cc7f48L,0xf2364e614bcb6645L,
  59432. 0x6a707650837638c3L,0x6d1652bf21528a26L,0x0000000000000034L },
  59433. { 0x353dc81f6d2b8fc3L,0xfd3003918627a2e4L,0x5f7c25651179264cL,
  59434. 0x69856301af46d535L,0xdfcd6cbd16f35cbcL,0x5d2268fb4fe07645L,
  59435. 0x2ca719dd29cac6aaL,0x9f8fcb728cbe9556L,0x000000000000017cL } },
  59436. /* 57 << 77 */
  59437. { { 0x4f2db278e6836ef9L,0xdc9db67431f1f845L,0x41dac672afb53ff4L,
  59438. 0x1f39842ea4d18cb8L,0x832a0120c8d7d103L,0x5af1307130d09edaL,
  59439. 0xba18cee34f80aef4L,0x919ff54e9b1ece22L,0x000000000000004eL },
  59440. { 0x9e47ee63129039d8L,0x9b52315e4fcd8e90L,0x38df4512cbd444d5L,
  59441. 0x35db7331788cc2acL,0x50dbadc2e36c9026L,0xc6ef1044bca03510L,
  59442. 0x79e05a990a970df8L,0xbdd712ff5af0d25aL,0x00000000000001beL } },
  59443. /* 58 << 77 */
  59444. { { 0x9aa54906870f00c8L,0xeda2769c2f3b15c0L,0xe0532ca76d46ab6fL,
  59445. 0x9c0906af876b4061L,0x1bd77842076041c8L,0x6174e11fd89f7021L,
  59446. 0x9d479b3b9bd405a2L,0xf4f7c9ebacfbc196L,0x0000000000000019L },
  59447. { 0x7913dcc655e1cddcL,0x1aed0ee4b8d46e1bL,0x15d4d50ecd4a8a46L,
  59448. 0x19f9f35e2c6ab887L,0x1572156140028363L,0x87e4c807d98c50bfL,
  59449. 0x3c2ea1ef5dd21087L,0x7f39af3bfc7cfde9L,0x0000000000000065L } },
  59450. /* 59 << 77 */
  59451. { { 0x0418f880e7228e86L,0x02a31e0bc2425928L,0x1ba3e262cd64b30dL,
  59452. 0xc90cd1893cb75cfbL,0xdda6046a6b60d4abL,0x700f6be365d4ae88L,
  59453. 0x6c19cceb2a55c16eL,0xdda5c411dc3d25b4L,0x0000000000000088L },
  59454. { 0xade4b36ac8dae67cL,0x406b38c3a42ae110L,0x2ba70cf3e640d5b3L,
  59455. 0xdb2c34c2e6b4b6d8L,0x2e0c90d8bd73609eL,0x6d1be3ccade63bf4L,
  59456. 0xda9a3d0bb0ac8323L,0xc42d60d0d2f72670L,0x0000000000000076L } },
  59457. /* 60 << 77 */
  59458. { { 0x302ccef76dec3c88L,0x04db4fd6110918afL,0x895be3981815e18fL,
  59459. 0x87d89080690de8a8L,0x95d62d3304a44f0fL,0x206a7909fb546063L,
  59460. 0x327de8996eea1c3fL,0x729f6291fe7aa87fL,0x00000000000001e0L },
  59461. { 0x0efe87e02a49d439L,0xccc22bf2fdf9dcd3L,0x22e02cc613639aaaL,
  59462. 0x9502c35f9ad086fdL,0x7d3551898b574050L,0x1ecc10ff410cce0eL,
  59463. 0x8f538a0a134236aaL,0x8f60cd8c27d66de9L,0x00000000000000a4L } },
  59464. /* 61 << 77 */
  59465. { { 0x55645b80c16661c6L,0x948e917c7d0ee031L,0x3eecac38b7e15502L,
  59466. 0x0d8e9f161640fcf5L,0x43c6dc1921b94ca6L,0x6e812bbb6a097c02L,
  59467. 0x2d3f616b6e983e37L,0x328a6ab8353feb24L,0x00000000000001b7L },
  59468. { 0xdeacf95c5372c6e4L,0x16bf649897e667ceL,0xc73d49047d89c4c0L,
  59469. 0xedddbb70621449d8L,0x55eda935acd93cd5L,0xdb12b4afb06b3addL,
  59470. 0x2c09fe7ab0dddaedL,0xb5cdc9e307cb7ab9L,0x00000000000001acL } },
  59471. /* 62 << 77 */
  59472. { { 0x63077120aefe3471L,0x6afdb40a16520c6bL,0xdefe75d8e10ffec9L,
  59473. 0x61bb8618aba587dbL,0xe787478faa110a6aL,0x660b61e0adaeb173L,
  59474. 0x9c2ab425be6b827eL,0x05e45ab3bd4272fcL,0x0000000000000105L },
  59475. { 0xfc20b8cb722ef6c6L,0xd78e5751dc4821b9L,0x6cebe18b1f7e4a73L,
  59476. 0xd82a17b7b3b3665bL,0xda96aa6da35af6cfL,0x7b5b59476f5ff66fL,
  59477. 0x43ad4a772606eb76L,0x358dcbd77d164e28L,0x0000000000000173L } },
  59478. /* 63 << 77 */
  59479. { { 0x980490160e955688L,0xf9f19c4243d2e2e4L,0xd2c0104dda5c9863L,
  59480. 0x700371f62cdd8df3L,0x5d7f0fa834cf1b7bL,0xc54ce1a18d7b8a16L,
  59481. 0xc4ba22b8ecd80872L,0x31c353dc77828799L,0x0000000000000032L },
  59482. { 0xffc587a418dc7eccL,0x4973b0e2389fb0feL,0x65013621b185b1d7L,
  59483. 0xad6003d1a86d72c3L,0xe78484f1bad2e076L,0x20f1a5678d9f7dcfL,
  59484. 0xc351ed478c3d52ceL,0xa6280661ec7a67eeL,0x0000000000000146L } },
  59485. /* 64 << 77 */
  59486. { { 0x20084293eea8d666L,0x01afa6ae12780dedL,0xdbce851a5b79d11cL,
  59487. 0x280a43a009b895b3L,0x95c92e1a77c59c03L,0xd99606376b9ec1b8L,
  59488. 0x08c0bb007beace14L,0xd0ba7943eb76c9beL,0x00000000000001b6L },
  59489. { 0xa14d2a3f15a51540L,0xfd25ffcb7211ba73L,0x020efe82cbeedfacL,
  59490. 0xdc5b6591aa5301e5L,0x25d3413fe1708393L,0x9a3fff34b0a1e5cfL,
  59491. 0x1892f1b7d310f9aeL,0x3ec31f629df3548dL,0x000000000000017cL } },
  59492. /* 0 << 84 */
  59493. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  59494. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  59495. /* 1 << 84 */
  59496. { { 0x541bdd795338e99eL,0x2753b15c2656702dL,0x360263f1a7f6af6eL,
  59497. 0x42c9778702adc827L,0xb4b4a66527abff88L,0x1f9dfe514a9a1ce9L,
  59498. 0xf1fa56ac48ceb12eL,0xf0e55a366d0b967dL,0x0000000000000116L },
  59499. { 0x7ed35bc349642f41L,0x69c8bc4622ee3354L,0x528466231911836fL,
  59500. 0xdb193bafbf4b87e2L,0x427ff5f44209f1e3L,0x4152fd13dae27044L,
  59501. 0x3b73f059a1f0ae7dL,0x621ace506f1503e1L,0x0000000000000196L } },
  59502. /* 2 << 84 */
  59503. { { 0xceb3d6d8ecc914faL,0xaaddd75d326df942L,0x8475ee47391b67b2L,
  59504. 0xad4cc87be0591e3fL,0x1aa4c9fd9129c3b2L,0x52172155525f0054L,
  59505. 0xa32fff27aeade029L,0x550ac763217c0ea7L,0x00000000000001dfL },
  59506. { 0x3d4bbc04df12e80dL,0x82d0b17e8d5ad5baL,0x7b059d1e1e38ba38L,
  59507. 0xb22b3beb0f9c9ad6L,0x75948e7725833548L,0x15e78db4b7d8216dL,
  59508. 0x3c573681c1697cc0L,0x02dfd8b537f9ed90L,0x0000000000000172L } },
  59509. /* 3 << 84 */
  59510. { { 0x72c5cf1e83625a05L,0xb04221efd0b73c77L,0x52de6bdddcd8527bL,
  59511. 0x73e03488d491416eL,0xcfefb1b130e7b551L,0x872c5b20813a17faL,
  59512. 0x75f43fb9685a3923L,0xf057cae66960bcd8L,0x0000000000000119L },
  59513. { 0x84e8d67954becb7eL,0x47d5e5da3afdb96cL,0xf0b5d59b04476ed9L,
  59514. 0xb2d7daee4c2984a8L,0x07fc2e0e986271e7L,0xa9895f88b3300786L,
  59515. 0x8f8fcd5a53a88830L,0xe9446200452d1a5eL,0x0000000000000181L } },
  59516. /* 4 << 84 */
  59517. { { 0xeb05b269a9e110faL,0x3dc96e495694769fL,0x22d5dcb190129a2aL,
  59518. 0x15b02839ddcab3beL,0x2784efed9819a2d9L,0xc19a373a83ba587aL,
  59519. 0x0ecfe7e631ac78ebL,0x6b7d9a50b6580d76L,0x000000000000009fL },
  59520. { 0x20cf011e22e1f23eL,0x2bcd70c671dec689L,0xa4956ecdb968b2e9L,
  59521. 0xee6224fd8c68507eL,0x2aeb7d0c6e7c15faL,0xf857d1a55e1c74a9L,
  59522. 0x4f5eb8c6298d033bL,0xfcda7bdada7ef5ffL,0x00000000000000fcL } },
  59523. /* 5 << 84 */
  59524. { { 0xf21724305ce20879L,0xd48233b602995c9bL,0x5da336e0d39d6149L,
  59525. 0xc516d0131a37df28L,0xa7098d962b3fe1c0L,0x65cee9a96a3099b8L,
  59526. 0xd1df9d2e320323a0L,0xb1c49334cfad65d8L,0x0000000000000024L },
  59527. { 0x3bbc258e902dd9f8L,0x13861a7c0e9ce909L,0x0f0497f50f7c4ab6L,
  59528. 0xef96a255ddc4a4caL,0x4655fd6414a185ddL,0xa983915491345882L,
  59529. 0x96c039266695b74aL,0xd88db243481da372L,0x00000000000000d0L } },
  59530. /* 6 << 84 */
  59531. { { 0xabe2205b68e52960L,0x773afddfa062a50eL,0x8c58ea01f1cf4a46L,
  59532. 0x3e88e23dc76bb8d3L,0xbb3b294bc501e0aaL,0x42cfd6220859b18fL,
  59533. 0x8c6dc95f16286e18L,0xd4ba253e0ecf00feL,0x0000000000000071L },
  59534. { 0xc3970825eb3340eeL,0x4f981608b3ad699eL,0xffb5ea24c80bc4deL,
  59535. 0xb774f894604dbb78L,0xa164c4cb1c947619L,0x92bd21e5cf2b764bL,
  59536. 0x4b38a590ecca13ddL,0x1a47520a05cb48a4L,0x0000000000000166L } },
  59537. /* 7 << 84 */
  59538. { { 0x85e007a105e31f06L,0x8b43c7defdcaffd8L,0x53d13f277e4ab187L,
  59539. 0xf7d22a394d4e71e1L,0xf1daecf88d0a8b1dL,0xe51e2f3a90c409cdL,
  59540. 0xb84b6e0b46d43496L,0xb70b148ef5e87710L,0x000000000000017dL },
  59541. { 0xfdcd92b7e45e1097L,0x6c5fa06295da5ef1L,0xd2fa00bb7bac30eeL,
  59542. 0xaada82e4f49d2088L,0xf8c4fc0f56827ba3L,0x04ef216b207c79acL,
  59543. 0x3a3a685138449d34L,0xf0ad4b5191900ce7L,0x00000000000001aaL } },
  59544. /* 8 << 84 */
  59545. { { 0xb4c52f11f3d7286aL,0xec47cb5cbbf67a41L,0x89d3382eaafb10a4L,
  59546. 0x4afd876806222b90L,0xfa16b295feb5416dL,0x0946f9d45d095b7cL,
  59547. 0x18526b28ff975e3dL,0x259cec2fb2f1c609L,0x0000000000000104L },
  59548. { 0x545642a062e36127L,0xc3e4c6f71c38e6f5L,0x1d0e02c41bf9d6c4L,
  59549. 0x8a7a6fb6483ba43dL,0x7104aee9cf390b9cL,0x4acdccdf2578e2fbL,
  59550. 0xc17af6df73b3feb4L,0x2fb789d77977fa95L,0x00000000000001d6L } },
  59551. /* 9 << 84 */
  59552. { { 0xa14396d3e9cd61e9L,0xe5b79eec037dc92fL,0x88217b170156582fL,
  59553. 0xedc457471f70551fL,0x60be827f32d048d9L,0x2fe4c45edb6b91b0L,
  59554. 0x8bc71163ba4dc597L,0xe3fc3791936e1f8aL,0x000000000000002fL },
  59555. { 0x8dfc5ec30139f399L,0xc93f22717334f267L,0x9b8d510da10066dcL,
  59556. 0x8a9d400ab7c157a9L,0x5e83d95d3ad20222L,0x2e244da8483db80dL,
  59557. 0xd434f50e97e427ccL,0x0c98d8fe73195f8dL,0x0000000000000014L } },
  59558. /* 10 << 84 */
  59559. { { 0xbf53d7cafcc691daL,0x6b8fb94f57f9d8b0L,0x8124062527343963L,
  59560. 0x98cf3891d6d682edL,0xf0ae9654119fed89L,0x61f5810a32803c8eL,
  59561. 0xda1c6f26ce561b4aL,0xa23e3c857b478bc7L,0x0000000000000048L },
  59562. { 0x455e708f3530d96fL,0x38d3928e003d010bL,0x289f06c4764bfcb5L,
  59563. 0xcccf4fd96ecaae0bL,0x76496e196b09aa3eL,0x13cdb1b5f2f24787L,
  59564. 0x1040ea015837cafeL,0x869751f81de1b6daL,0x0000000000000027L } },
  59565. /* 11 << 84 */
  59566. { { 0x573811f6ad9570b9L,0xbaf2ec126ca614d7L,0x6f4a9a0bb735cb79L,
  59567. 0x850e4b736f9affb6L,0xe399dfb43b760ac1L,0xa7759b8e5cee0611L,
  59568. 0x58d84ae60722de06L,0x5ab2ed5483dbb9feL,0x0000000000000148L },
  59569. { 0x98c24006df14f9e9L,0xbbd0130f0ad7bd90L,0xee55b08dc3c91b77L,
  59570. 0x16a18d954f6934d7L,0x5f191a312deed126L,0x776bcd3284897d4bL,
  59571. 0x83b4d25b7b0cd708L,0x6e6aa60cd9f50beaL,0x0000000000000181L } },
  59572. /* 12 << 84 */
  59573. { { 0x34383bb055bef397L,0xc14c123a43be84dfL,0xa0fae432057eb68fL,
  59574. 0x5c6c07b24903c2d8L,0x3e78de9d32bcfee6L,0x3d2d16af93bcba15L,
  59575. 0xafb2db59c206822eL,0xbbea1116a332e64fL,0x00000000000000fdL },
  59576. { 0x20075ed100c6ea12L,0x2b1d0a044e4f3d33L,0xf3bf3ba82c5370c4L,
  59577. 0xe1675545a4b86668L,0x609432c3bcc6dc6aL,0xc09a32e36777d69dL,
  59578. 0x9248e09861f37219L,0x32650569f539662aL,0x00000000000000eeL } },
  59579. /* 13 << 84 */
  59580. { { 0xe82b6739d225d7c4L,0xc69d44ec0e8b47daL,0xd842c960d69237a8L,
  59581. 0x6ed0097ad24a796eL,0xef96b040030e4149L,0x55c049ac212e51d1L,
  59582. 0xcce35f170c44bb8bL,0xbfd67f2971c94884L,0x0000000000000196L },
  59583. { 0xf02b65df4755c1c8L,0x3330ff77a8144225L,0xb4d9365aa39fb2b9L,
  59584. 0xd5d31cf295c66174L,0x7597fd7decc0ca46L,0xe7565e2ce11870a1L,
  59585. 0xc709bc5da36c5100L,0x4d319121639f0a7cL,0x0000000000000144L } },
  59586. /* 14 << 84 */
  59587. { { 0xaeb813e3c79e8798L,0x01ceafba48e50c58L,0x974bdb02569d8013L,
  59588. 0x83c90f107c7c5033L,0x2d6e1617702dce8cL,0x55eec88c3e07ead9L,
  59589. 0x9f9bb723106b9a4dL,0xbdbe0818e2b351c3L,0x0000000000000084L },
  59590. { 0xaa512a7ee5058362L,0xb288f28904c001daL,0x0ceed00ca713504aL,
  59591. 0xff656d2de24f8ee1L,0x637ae9543eb57ca5L,0x4a21412e7342f010L,
  59592. 0x205cf0c2a9ce4de1L,0x4780b6a3d59aee6dL,0x000000000000005cL } },
  59593. /* 15 << 84 */
  59594. { { 0x83994e557fcc0c7eL,0x887856631c37f01eL,0x88a9a5679f196624L,
  59595. 0xcd828df25b3fc857L,0x470f8623581344f9L,0x85cf12a6768e83a8L,
  59596. 0x5d11327b9718a861L,0x9a1045d76e713452L,0x00000000000001c5L },
  59597. { 0xd4c452e4711f46b1L,0xdc41b91e12fd1e23L,0x845897e431aa874fL,
  59598. 0xcf51cd7e8cd6171bL,0x1825bd254f183e74L,0x361a0e53b5da3216L,
  59599. 0x16349308601e0405L,0xe3a40682f094f144L,0x0000000000000187L } },
  59600. /* 16 << 84 */
  59601. { { 0xf762eaf77b602085L,0x3b6e62332d470147L,0xe1028d76d3cca3e7L,
  59602. 0xf3616dd8ccf39be7L,0xa35c4cc108e8f10cL,0xc413db107cb4b321L,
  59603. 0xeab81774c3249f4bL,0x3e7bdea7be83bc78L,0x0000000000000134L },
  59604. { 0x86999f159d38d508L,0x0c9a990afb204d42L,0x27c4421dcb616f5bL,
  59605. 0x2cb6590d46ae31ecL,0x1a33f6ab309acf22L,0x13d99e2a80320210L,
  59606. 0xa13731b3341d1667L,0x7e0baeba4bfcc116L,0x00000000000001f0L } },
  59607. /* 17 << 84 */
  59608. { { 0x09ab412d6424425eL,0x74cc553061d3c0abL,0xa97378272d2c78c7L,
  59609. 0xb25da089e684f1f2L,0xcc4de4d2f911ef5fL,0x35b774b0c9b239c0L,
  59610. 0xf155c51653f100b2L,0xb58b7edbfde0c23dL,0x00000000000000c8L },
  59611. { 0x176534ff99e35e49L,0xfdb72d0f3f22064bL,0x96fce9811926fa09L,
  59612. 0xcb7d400f587ef357L,0xe45d45ab0b2988b7L,0x7c8cc19e1cbac1b2L,
  59613. 0x8e43cd5f0a3cb693L,0xb06b000d3302b5a0L,0x000000000000017bL } },
  59614. /* 18 << 84 */
  59615. { { 0x544bbffad1aca0f8L,0x27a01dc60e8e570bL,0x23f27a75fdaaba6eL,
  59616. 0xf3a345d98626fd81L,0x439bd947a89f1553L,0xac968c8688113865L,
  59617. 0x7aa489c6aea28591L,0x386be8175e2e0423L,0x0000000000000198L },
  59618. { 0x8a5f011f50c91fc9L,0x1f8371bf1c27ba7bL,0x7e54d98356505a0bL,
  59619. 0x108343e521aa0a75L,0x291295d453e9e9f6L,0x4398536d23f6347bL,
  59620. 0x864de21b44ba01efL,0x58d7f468737319f8L,0x000000000000012eL } },
  59621. /* 19 << 84 */
  59622. { { 0x90da648771065501L,0xcaa29c6b26a4582cL,0x9e4edc4a47ed26adL,
  59623. 0x42003fc1576cca06L,0x9781c36fa7d795cbL,0x61aa367436397bcbL,
  59624. 0x5a283a1bf9903003L,0x9e80ff413adf36feL,0x00000000000000c5L },
  59625. { 0xf5ff812916855bc1L,0x65046899a776d1b4L,0x221fd17941fdef50L,
  59626. 0xf19ba04539dee7c5L,0xe6df5dec0fcab146L,0xcf68fd0a805416abL,
  59627. 0x710f16e2e4dea8b1L,0x703229d7af3ae211L,0x000000000000015cL } },
  59628. /* 20 << 84 */
  59629. { { 0x8622dc3ffa286a36L,0x51b25ca952dcd8b1L,0x3dfcd6c4753d9d21L,
  59630. 0x491384cce2aaad12L,0x016b19a77f8167ceL,0x8c03c919e7a09ab6L,
  59631. 0xc7ded8e3e8c1f60dL,0x318a4556c45fa24dL,0x00000000000000f2L },
  59632. { 0x93decd4a3ff218c4L,0x84efb5a7f04927d8L,0x2f9ca93e1cdd14e0L,
  59633. 0x77747b0197364d94L,0xf0555c73f6ad16c5L,0x7fb0cf2f141826ffL,
  59634. 0x7c2e2ed7b21f5339L,0xabcba46bf76ea20fL,0x00000000000001b8L } },
  59635. /* 21 << 84 */
  59636. { { 0x01a139a713943e96L,0xa3a5224c0be158e2L,0x25b4c06101cb5d09L,
  59637. 0xd4f1a98e51e99014L,0xad1aad0e8cd226c8L,0xe791062d81749b08L,
  59638. 0x6ecee7e89a223687L,0x4f3163daa063dc05L,0x00000000000000d8L },
  59639. { 0x7f1940fa1f3aa8b7L,0xbedaf19c58b91285L,0x4c309e63f113920aL,
  59640. 0xcce150924a8a95e9L,0x7e8c2c756d1f1185L,0xeb5093d138e24ee2L,
  59641. 0xbb1a329aa0414d8cL,0x7521eff1265b457eL,0x0000000000000085L } },
  59642. /* 22 << 84 */
  59643. { { 0xdacb242420f495b0L,0xab9079b8e08cfb82L,0xdc0a584e764487f1L,
  59644. 0x541bbdd56d17b2b2L,0x75e7c8239b665315L,0x9e5256ca8b3cf073L,
  59645. 0x53ce698ca963c000L,0x746f0c775ca2949bL,0x0000000000000027L },
  59646. { 0xac741a8b7915623dL,0x64426fbc4a5edc48L,0x8a52fba3aaef5c08L,
  59647. 0x3c353caa91018453L,0x1e2985f81a96fde5L,0x200f91cc90733d41L,
  59648. 0xe60794477db133faL,0x274563f14eac2054L,0x0000000000000180L } },
  59649. /* 23 << 84 */
  59650. { { 0xd573dd7a12d8cd30L,0xdce706a9ec2de865L,0xc9b322f1a4ab8aabL,
  59651. 0x0ce9268098773392L,0xa1b40d60bf5196e7L,0xc5cefc2d898f2d1eL,
  59652. 0x4fe80b90c18c6f17L,0x87eb7298e4fe5bcdL,0x0000000000000181L },
  59653. { 0x1038d18b1c63bac1L,0xff56f0c8735b6d04L,0x0f9b85f87624d96bL,
  59654. 0x8d0da28ef1d48f88L,0x3cc190897e1f8316L,0x75114fea47058d44L,
  59655. 0x8f7130d118e224edL,0xa0f4114bbb6215f2L,0x00000000000000a2L } },
  59656. /* 24 << 84 */
  59657. { { 0x5dc39d107da4f65cL,0x0973b4af52e2bdf1L,0x2e35974b195c5d3bL,
  59658. 0x2321d8c5de0856b3L,0x9b218d518e19f2b6L,0x414f483cb9eba23dL,
  59659. 0x5eb4d875d87c2c14L,0x8c3693144becdcf7L,0x0000000000000180L },
  59660. { 0x8ce9961bd78615e3L,0xcb4dca5b7877078aL,0xa082b950067faf84L,
  59661. 0xbe4ef854a1ea4fe8L,0x1a746d028ebd8cd5L,0xfcd8a6be58ced7feL,
  59662. 0x5afef0183e2b39bfL,0xfd07234d1eb20debL,0x0000000000000028L } },
  59663. /* 25 << 84 */
  59664. { { 0x5f8ee39ad41d6132L,0xdc76ed945f63e2f3L,0xc24a406ab107431eL,
  59665. 0x8b30660eca996341L,0x5673b95c20747fc9L,0xe09168a8b0bed38dL,
  59666. 0x6120f80719a7ab41L,0xaf1f3376e6b66ed6L,0x00000000000000a2L },
  59667. { 0x7c535035491f6023L,0x7d70019de7f908d7L,0x92f8ca9996e33046L,
  59668. 0x18c5df345fc7f094L,0x38c7e1eabe02b829L,0x7b6ee9b4cc301d3bL,
  59669. 0x55f41778b14d398cL,0x52a275ff5b3f124dL,0x0000000000000081L } },
  59670. /* 26 << 84 */
  59671. { { 0x48df4f176e539400L,0x6433abfeac7ec090L,0x9c935918c9474b64L,
  59672. 0x472fedd0406d83e6L,0x42cc03c72592c93aL,0xff2ae77db510b8b0L,
  59673. 0x22fb8dc513ebd07aL,0x3f093c2be656d363L,0x0000000000000016L },
  59674. { 0xc46f526fd725a2dbL,0x95cef0f32be69c0cL,0xb941c71b329e02ecL,
  59675. 0x37a8cf5fe0fc49bcL,0xe5d012a888a9e033L,0x0a90a0c07d701e97L,
  59676. 0x4d8ce592bc2ddfcaL,0x4698c015e01f5349L,0x000000000000005eL } },
  59677. /* 27 << 84 */
  59678. { { 0x97ca07ca64725780L,0x901c76f4cdf4cb59L,0xba0472400a8dd50eL,
  59679. 0x5a6ffd1da8028447L,0x438d0474cd8e128fL,0xf92f83db9e7e41c5L,
  59680. 0x9504f799ad95ab9dL,0xb2df6f6578f9ca93L,0x000000000000004eL },
  59681. { 0xae2d32fcceeb8c6aL,0xd66683f2eccb6ad1L,0x2132bf4fd0b462abL,
  59682. 0x65d7f312152b21c8L,0xc5abfb1aace7ab8bL,0x3c88dd8282ccd06fL,
  59683. 0xd1916201e023fe4dL,0xce3e0f140f882c2bL,0x00000000000000beL } },
  59684. /* 28 << 84 */
  59685. { { 0xa1a2d265436f1191L,0xa63ecd90846e768bL,0xce361cce96880f0eL,
  59686. 0xbb06470312cc9bb7L,0xe58b4cf9b6d5d885L,0x711f490d872f791bL,
  59687. 0xa31d70221b61790cL,0x1c0231435e010dedL,0x000000000000016cL },
  59688. { 0xc4833f45b9f2ae47L,0x39556e38e6c5aad5L,0xe7889ba4714e6359L,
  59689. 0x7d4fa851edaf5d7dL,0xa860fdb59de3fcb8L,0xc4a44f663b213dacL,
  59690. 0x843b20da5b662002L,0x0e4569247cc1f364L,0x0000000000000194L } },
  59691. /* 29 << 84 */
  59692. { { 0xa1f3ae570844c579L,0xff79de39a6263761L,0xc2bc07f0a1ce54dfL,
  59693. 0xf6f36b5bc7a75e1fL,0x37ed63e547649754L,0x0bbee79b9e40b603L,
  59694. 0x3111770ad1396489L,0xa0be70b7655f8f80L,0x0000000000000118L },
  59695. { 0xf396b09dfffbe440L,0x5c64b53ee98d45b7L,0x42aa83ff599b7ea0L,
  59696. 0x4130842825c6b232L,0xdf4377f764153f28L,0x7253ee06ddc00b84L,
  59697. 0xd6e3139b30384ae9L,0x47a15b0b5bbb7451L,0x000000000000002bL } },
  59698. /* 30 << 84 */
  59699. { { 0x817f91e777960e81L,0x16ec79224e9251d1L,0x20edc99036eecb38L,
  59700. 0xd1287d7e6d0c4b7cL,0x9a98e31842255d2aL,0xc5d8fdee1cbf6b61L,
  59701. 0xf4aa4eed4b8c971fL,0x506ed9b587a96b0cL,0x000000000000000fL },
  59702. { 0xffb1cc83853daa7fL,0x650ab9962aa0d0a1L,0x1d1a02515ca4f753L,
  59703. 0x7e3dbe541252c13bL,0x256550cdffc132b9L,0x0c01f3a681cc2164L,
  59704. 0x174f7145eb5741f8L,0x6d134e21b5f4b761L,0x00000000000000bdL } },
  59705. /* 31 << 84 */
  59706. { { 0xb2113429b557c0e5L,0xa95168cadc18b438L,0x64839ff62228b40bL,
  59707. 0xc0d6a854c63f11a4L,0x80502e786ee1d154L,0x872c5a6d432e45d0L,
  59708. 0xeedcdd06c62d1651L,0x8ecee7ea2f605a64L,0x00000000000001caL },
  59709. { 0xa5dc211b2d708b77L,0x4e92269ac396cd5cL,0x384e400c93709f53L,
  59710. 0x48afd1bab372eb3eL,0xc189796872262e2aL,0x0fc769ec4a02e904L,
  59711. 0xbee107dfe82e06b6L,0x47b15a79d838f656L,0x0000000000000012L } },
  59712. /* 32 << 84 */
  59713. { { 0xb6675f53da1ef419L,0xdea5203bad0b5824L,0xf882dc2fcfff1ea2L,
  59714. 0x8ef992e408eb5b24L,0xd80e2ecfc3d2321fL,0x4ca7becca5f96675L,
  59715. 0xe2ce41b01e1a9196L,0x9b3d81319890d917L,0x0000000000000094L },
  59716. { 0x85c66efe87c9c810L,0x66fc21bdf644e538L,0x2b90cdb5e4835d87L,
  59717. 0x9a60f2140f91258fL,0xb60eb76484bebf7eL,0xebe2c36f96b0614bL,
  59718. 0x95acc92792a11210L,0x31101643f35ccb23L,0x0000000000000101L } },
  59719. /* 33 << 84 */
  59720. { { 0x1bb898741403ae70L,0xb71332db93c5c5adL,0x8d376cac631d9843L,
  59721. 0x6a64f3d5a0d90788L,0x65f635c0b16fa167L,0xe8b3efe222000a88L,
  59722. 0x4c11db4472cdd206L,0x64fd7c85794b4affL,0x00000000000001e6L },
  59723. { 0x360185c79563ef6eL,0xedeb5d8659aa49f9L,0x012d2b3e6927b587L,
  59724. 0xba435a3d7c25729dL,0x222cea98cf3ce39eL,0x8fa5ad445dd816f1L,
  59725. 0x4d2112b530d8033cL,0xb60209556011d8d8L,0x0000000000000099L } },
  59726. /* 34 << 84 */
  59727. { { 0x63f01bdaa71c3878L,0x3d4afb465cf66f74L,0xf9583ec1678f8f6eL,
  59728. 0x9cbcdf8b63daaa0bL,0xf342f44f57521779L,0xf8840fe19fc0e1bdL,
  59729. 0xc9eaf6ad31105808L,0x33c51a393f6d43e2L,0x00000000000001b6L },
  59730. { 0xab9720cfd10fa72dL,0x8df3a2db5c0d0c52L,0x99fcecd7c197aa7eL,
  59731. 0xea53f54b37c93ddaL,0x6f185d4115d2837dL,0x19f0b7534b1e1f08L,
  59732. 0xfe2fb6302131d7f8L,0x72d9a3561a76d7ffL,0x000000000000019bL } },
  59733. /* 35 << 84 */
  59734. { { 0x437f79d375c6b34eL,0xc0e3f217b9eb1ad2L,0xe876fb20b70a0c11L,
  59735. 0xf769ec0a5ab5e17bL,0xb15cd92e0e3e8809L,0xa0487df77a2baf4eL,
  59736. 0xcc0959837cf8334eL,0x1d8963d1c44ce5deL,0x00000000000000eaL },
  59737. { 0xea4053f0120c4d48L,0x15f63fd5cac7a63aL,0x6a390224848ad40aL,
  59738. 0xec32269d76a755f4L,0xcda608f2eefe1c64L,0xdcb61661d558b4eaL,
  59739. 0xf98391a0dc807487L,0xe633fa599e31b651L,0x00000000000001bdL } },
  59740. /* 36 << 84 */
  59741. { { 0xb964e249e324fb45L,0x968e1e694d8f7829L,0xe883e2ce4313e21bL,
  59742. 0x62f2f3a5c0e654f9L,0xb2d921e6c6129771L,0xbb10882246ee4248L,
  59743. 0x27fb3a768f8b0e62L,0x3a49d6a6d36ce785L,0x00000000000000c0L },
  59744. { 0xad32676fa616ee2bL,0x73b1140bc4840882L,0xf1464ae8588be8beL,
  59745. 0x24d0cf2d0a9bb743L,0xeae9e1c230c88289L,0xd8f78a5b642331edL,
  59746. 0xd5010f57537f40f2L,0x0a936df89609dfcfL,0x00000000000000ccL } },
  59747. /* 37 << 84 */
  59748. { { 0x97f48719ae3ce48eL,0x54690b991d17ac8bL,0x5c9c2f04b5e64622L,
  59749. 0x9e62f3506da3c286L,0x153fcc9a51798c01L,0x9d36b1d6f1674c75L,
  59750. 0xa7cef42f10977d7bL,0x00610128c0bbe827L,0x000000000000017eL },
  59751. { 0xbe9358d9aaef8892L,0x53abaf01b2af87ebL,0x2b4001b86d6cb1d6L,
  59752. 0xa14df2ed1faf6b9bL,0xf88044d032289473L,0x83b6b3499918fd58L,
  59753. 0x52115a9d8fb5d528L,0x9acd77c8a0bf9026L,0x0000000000000191L } },
  59754. /* 38 << 84 */
  59755. { { 0xc91a51c7040a8d8fL,0x3cc49d9661a7ef84L,0x80b29df6ee19d30eL,
  59756. 0x5846acc4c76a6aa3L,0xf59e5c8b0f6e605aL,0x59cc663742788224L,
  59757. 0x2573ab2034f423d5L,0x80ee46c160e18d6fL,0x000000000000017bL },
  59758. { 0xe7ec97098046e552L,0x492ef25050f412aaL,0xd4bcffad10a7a752L,
  59759. 0x6508108fc376b144L,0x977ff961ba934045L,0x07d99b2e5dfcae1eL,
  59760. 0xc4fed2e4aa955090L,0x294c7669e1d608b7L,0x0000000000000067L } },
  59761. /* 39 << 84 */
  59762. { { 0xccf1f6c5ef4f2f8bL,0xacbd47025a3525d9L,0xb3ca26135fecadcaL,
  59763. 0x46fc46a340358ec3L,0xd3e61faeea406aaeL,0xa7abaeca6d70ad8fL,
  59764. 0x53468d6374115258L,0xb276835206ffccd5L,0x0000000000000000L },
  59765. { 0xa424a15acf32d90fL,0x28766c229c8153d6L,0xbf06c575395ba3bbL,
  59766. 0xbd027833e7a31dcdL,0x12a012a9eefa9763L,0x951bd91f08eeecf7L,
  59767. 0x1b2a8bbf81cc733eL,0x46edd7f005bc357dL,0x0000000000000198L } },
  59768. /* 40 << 84 */
  59769. { { 0xe4e1851f8482e5f3L,0x41c94a2d3be00950L,0xbdd52c7712e434aeL,
  59770. 0x985367cf5700e59fL,0xc9368d83bd1a3ee1L,0x7be0cf37f24fd5acL,
  59771. 0xad4cb8dc8c53e814L,0xfa2bf5414d59b923L,0x0000000000000100L },
  59772. { 0x205f070765c46cf7L,0xe87fc3e236c06ff5L,0x40686149364e6680L,
  59773. 0x3e7a4dba44aea566L,0x1a43cd99743158d2L,0x8b6d491ef63802a0L,
  59774. 0xd4956a9d57ffabb3L,0x0416326261950885L,0x0000000000000181L } },
  59775. /* 41 << 84 */
  59776. { { 0xb1e98d6fc192467eL,0xed8333a1b0944aa3L,0x306ef165d1c49f1eL,
  59777. 0x707bc71d81d6b7a9L,0x29be1c1371882a29L,0xcc9c8eea35825332L,
  59778. 0xfa4ea1ed6d1089d4L,0xcef289b15f949cc6L,0x00000000000000b5L },
  59779. { 0xf99439420c8b490cL,0x2a4684215ca1924aL,0x5ddce0e570f4aec7L,
  59780. 0x4b380387ab2f1d5bL,0x9da44a9eea16b553L,0x8f497cc8d5cc8e78L,
  59781. 0xef3ebf1567627483L,0x5686bbe0bbfb1b54L,0x00000000000001b1L } },
  59782. /* 42 << 84 */
  59783. { { 0x4662d28ec7e6847fL,0xe545ac9ad8ddd128L,0x2172153149f08bf3L,
  59784. 0x88bbc0079365959aL,0xce2248bb82dca136L,0xb666d008f10e0af2L,
  59785. 0xd415bc8db5c51813L,0x3651b829b851a49aL,0x0000000000000011L },
  59786. { 0xe1ba9a43aa6302e4L,0xfb903793436b8d1eL,0xcdf4d3f7f178a0e6L,
  59787. 0x628bbcbbdbcf158eL,0x18e2270de95d3b9bL,0xa5a9618a9f902344L,
  59788. 0x41faa409a5c86b2bL,0x8332a0d2a1a1c2d3L,0x00000000000000c4L } },
  59789. /* 43 << 84 */
  59790. { { 0xe886e4cd45872d57L,0xee5bd4078124f950L,0x28bbc75fd3ba8e8dL,
  59791. 0x3fe2689b2ad21b8bL,0xf73d1b63843923c9L,0xe845cc510bcd7064L,
  59792. 0x6744555d4cf3485fL,0xd3ec166fa5a608c8L,0x0000000000000090L },
  59793. { 0x1b78f5d6c66341adL,0x6652224f03d0da0eL,0x85b069c5afb3147aL,
  59794. 0x60fd70524a920fedL,0xb521aa799812ba7eL,0xada36124a15040c2L,
  59795. 0x2c982c738205d28fL,0xd4e80bba57750491L,0x0000000000000005L } },
  59796. /* 44 << 84 */
  59797. { { 0x5010064a8e955d63L,0x11caef9eaaaa54d2L,0x3de4eae733f1f9a9L,
  59798. 0xd559a26a9a5be2dcL,0xfa61002e0022eaadL,0x156c011675f376cbL,
  59799. 0xa67586806f193ebaL,0xf92ce94d44b2579eL,0x0000000000000191L },
  59800. { 0x083cc46c2fb67bd6L,0x4f3c6ca21f06d1adL,0x0ee38f3985b65aa6L,
  59801. 0x093adf465c42e7deL,0x31fbdf11aaeadb6dL,0x6be3fc78b115c404L,
  59802. 0x7e385a3a7716f591L,0x18bda694c482d126L,0x00000000000000d1L } },
  59803. /* 45 << 84 */
  59804. { { 0x62bc238b9350ca2fL,0xab8c8c907ce8d14bL,0x330fffc7cb6951fdL,
  59805. 0xadbdbdf726228babL,0x97da0a346d86e130L,0x7fec5623a25aea42L,
  59806. 0x2922441ffd4335d9L,0xab2cd1dd1abb6d5cL,0x000000000000002aL },
  59807. { 0x7d759a051a8bdc24L,0xddb3079c7d82c77bL,0x3eb72f6e47e40f15L,
  59808. 0x486385847b2f8e23L,0xe112ce8c04043e37L,0xb48be1b38da1281cL,
  59809. 0x0e10355b67f8bfd0L,0xf2b0c5434b82b796L,0x00000000000001eeL } },
  59810. /* 46 << 84 */
  59811. { { 0xaa7425c422ecf2b5L,0xc695477f535d1924L,0x49eaebfa73688248L,
  59812. 0x5d1daa50958195b3L,0x5e4b153e7c018a3dL,0xe42017076ee32e65L,
  59813. 0x96e3679190564352L,0x65162c18dfee3262L,0x0000000000000123L },
  59814. { 0x128ef8610f1e66b1L,0x0b3b7f96243b98e6L,0x69252a134db87938L,
  59815. 0x6523a4f880af7609L,0x2883c39d8576bfc3L,0x1dc4d969021262edL,
  59816. 0xf1d2dc8acd5cecd3L,0xdcd1e118b56a9e1aL,0x000000000000007bL } },
  59817. /* 47 << 84 */
  59818. { { 0xe7bfb96f27c1c719L,0x1a7c15ff79d8affaL,0x5641d7e5ee475f3bL,
  59819. 0xbd5cbcc3a00e54e0L,0x18dc810eba44c745L,0xd7a3f693c8b3b3dcL,
  59820. 0x225735667779731dL,0x305ba162fa55fbf2L,0x0000000000000119L },
  59821. { 0xa47c5ff2e6ca3cbbL,0xe4d73b0fbe4bf508L,0x7afb6b99d95ffd74L,
  59822. 0x0acb7b5955f22144L,0x162205d8205205dfL,0x8650751dcde671e0L,
  59823. 0x34f91ffb549b2867L,0x7dd0bef98cf1252bL,0x0000000000000047L } },
  59824. /* 48 << 84 */
  59825. { { 0x8f345bc8d78fd6f6L,0x35446be7bc603416L,0x22a05fc392954e8fL,
  59826. 0xcd51695bde517ca3L,0xd452c3c1c30b42e4L,0x71f0be42385847bbL,
  59827. 0x3e5604dafa66294bL,0xa32470c791efa7abL,0x00000000000000f7L },
  59828. { 0xbe46e43f247c00dcL,0xa464ee494fa716e2L,0xf16522fa81328c41L,
  59829. 0x495048b6187556ccL,0x71224071c1682e5fL,0x5e33dedfb9f18963L,
  59830. 0xfce493c999a767d5L,0xc7f53c566ffa81f2L,0x00000000000000caL } },
  59831. /* 49 << 84 */
  59832. { { 0x7557d129fa582630L,0x0c29419fc3a8f93dL,0x05d98c11c43ea10cL,
  59833. 0xa42d9960b32cd279L,0x5477eb119d8e50e3L,0xd9df006a04037414L,
  59834. 0x1a8f5bce799cf5b7L,0xe5f831b3973a4d2dL,0x00000000000000b0L },
  59835. { 0xb71509b84f43baa6L,0xde79572a94216d36L,0xe4e1219ff8c907f2L,
  59836. 0x718153f00c58e3d5L,0x375bc748b0b9c967L,0x74542658e9866665L,
  59837. 0xbbc3f48935637c07L,0x7be87a6602bef3c3L,0x000000000000009cL } },
  59838. /* 50 << 84 */
  59839. { { 0x6f3a54f7faa6af3eL,0xb6b5c7a3b40d2a61L,0x74488f8b7e5e78e1L,
  59840. 0x9785934f32458d93L,0x816bb076497bb349L,0x402cd0102bab1095L,
  59841. 0x645a00a73952775dL,0x81c168da32ccaf83L,0x000000000000001cL },
  59842. { 0xf349c1a8e63682c1L,0x05b8208312f3fdf5L,0x4a66e016a3c212ccL,
  59843. 0xdf57f4624c8e1a06L,0x0a58dc1f3ce46f7bL,0xc2cbccbdbcb4ff74L,
  59844. 0x4181af1fcd9816e6L,0xa74ac7b2d9bef6cdL,0x000000000000004eL } },
  59845. /* 51 << 84 */
  59846. { { 0xf4c94110e40800bcL,0xe7fdd5f32c1adf77L,0x34cdd805433705c0L,
  59847. 0x1e052bace29c6896L,0xac99d1e357668ffcL,0xf2493acb108fe93cL,
  59848. 0x2525654594876b05L,0xb5bdfba4243ab702L,0x0000000000000043L },
  59849. { 0xca1a99e24e61dec3L,0x3156650fcadd4f7cL,0x154d58e7316df624L,
  59850. 0x168f675ec69f07dcL,0x2b6132aff1f6e22dL,0xcf26d9cecaa1da1eL,
  59851. 0xc90ebd6649614b29L,0x25bd2d23c33f111cL,0x0000000000000104L } },
  59852. /* 52 << 84 */
  59853. { { 0x0b53f0b81b4d52d0L,0x8c4441776ef01b39L,0x3bd2523e3ae80d38L,
  59854. 0x9bc7180022780af4L,0x790c175dfad470e3L,0x6b0901ca7899421dL,
  59855. 0x02f1fae7f277dd5eL,0xc3f2ff0fa752993eL,0x0000000000000053L },
  59856. { 0x6a5fdd41467789ecL,0x008e446af6c45a22L,0x29b94285a8a2549dL,
  59857. 0x97b6f905b790912aL,0x813ee7d71d18e889L,0x24ef40cffb27f9c7L,
  59858. 0x17804ebd2e5b2ee9L,0x46e274b1a23b11aaL,0x000000000000009fL } },
  59859. /* 53 << 84 */
  59860. { { 0x37405c0f2ec88247L,0x0efb4320bcd3980cL,0x6f5208443300619dL,
  59861. 0x55ddd732bc2d59fbL,0x9492d50639fafeb5L,0x497dfa7083d6b3b2L,
  59862. 0x256fc9c3bff9aafaL,0xf098b2e3bc00553cL,0x00000000000001a0L },
  59863. { 0x614f8b947c52e7e2L,0x2a37ad1ffc24205aL,0x6789e9ab7cd65901L,
  59864. 0xfc1affa3cf4a3893L,0xe85ebf5395afb652L,0x1f125e08d894d2f9L,
  59865. 0x84ff44210581d1a7L,0x94d9ad851141226fL,0x00000000000001daL } },
  59866. /* 54 << 84 */
  59867. { { 0x2a6c39229fd5362bL,0xe3f57b2c9603ea6bL,0x9bf96cfc06b377a1L,
  59868. 0x78441c5bfb189eb4L,0x92b2f03859b24728L,0x36df97db7aeaa65fL,
  59869. 0xffaf8dc7577bb75eL,0xfdf8a723f94a0cd7L,0x0000000000000054L },
  59870. { 0x9d98b4e63b18f662L,0x006a23929f5527a3L,0x146d79edb9fcb789L,
  59871. 0x1c2e41541a688f00L,0x9c3ad38a03723314L,0x20db0b042792f661L,
  59872. 0x3f8e5a9ad44e279cL,0xc1759eb7e4234ee0L,0x0000000000000146L } },
  59873. /* 55 << 84 */
  59874. { { 0xd93f2eb26a5a8f34L,0x03be88bf736696f7L,0xc567bc9fa6421a9dL,
  59875. 0xd3de6d94de629f74L,0xc0c799756b3804e1L,0x915c3c2d9fb8218aL,
  59876. 0x37a5348070dae219L,0x6846e38d019dc6dbL,0x00000000000000beL },
  59877. { 0xf7e5952acfdfaa59L,0xadd136aebd5931efL,0x7d46541132cb2671L,
  59878. 0x185c32a081655330L,0x3c4b5ce10349dbfaL,0x1c3fed832ecb307dL,
  59879. 0xe46449a989c05184L,0x675cf8dd123d9b59L,0x00000000000000ecL } },
  59880. /* 56 << 84 */
  59881. { { 0x1278fa814bccde89L,0x5f87ab65ca1aa6b6L,0x3224aa7276b5225dL,
  59882. 0xf6eb6a973ea5228fL,0x54144015f78bb113L,0xa045a86710626f8cL,
  59883. 0xe3ff56bf38d5584bL,0x74caa5e96ff5aa1fL,0x0000000000000078L },
  59884. { 0x8caf4a080806bd7eL,0x8362ba16c2f33680L,0xaa6661c891a5125fL,
  59885. 0x62bc9088a5e3e1a5L,0x5290b3f327286edaL,0x4af9e00621622922L,
  59886. 0xea41b46caf9f424cL,0xfeb0036d7f5a2f0dL,0x000000000000006fL } },
  59887. /* 57 << 84 */
  59888. { { 0xb092feff1b9c9b5aL,0x85d4a394ef27381bL,0xc9ae229257c413efL,
  59889. 0x81ef8394c16afc72L,0xba0aabca6f16377fL,0x973f71e7685374b1L,
  59890. 0x138a6e2ee8d2affbL,0x15c3a93400cff0aeL,0x00000000000000a1L },
  59891. { 0xa37a19670e094a1eL,0xc8f1b7699121d92aL,0x1556bdb35570ebaeL,
  59892. 0x713b4c060db754c3L,0xc864a6fa87371dd4L,0x80539a886f6d0e2dL,
  59893. 0x69cdcf5f5dce8380L,0x175bcb246ce73030L,0x00000000000001fdL } },
  59894. /* 58 << 84 */
  59895. { { 0x463bdf0350cdc663L,0x00f4f1ac34ae8e83L,0xc4553a54d0dcb3a3L,
  59896. 0x765bdbb63611767cL,0xf523682af9a08ffeL,0xc9e2adb2d0c9ea77L,
  59897. 0x6dc611956b5ff81bL,0x45281bf570e2e065L,0x00000000000001c6L },
  59898. { 0xef26494f7be2fd61L,0x06bccc4c1e97e9c4L,0xaf0deb0092a75c16L,
  59899. 0x4e67e0eaae8a4e84L,0xbb994c6fb27331a6L,0x9d9431e64250cc74L,
  59900. 0x1e6013cbce2fbad8L,0xfe2c5db4c8934179L,0x000000000000012aL } },
  59901. /* 59 << 84 */
  59902. { { 0xbf7ce9203eaeb879L,0xe4adb4412790ca4dL,0xaef87b4077d14c85L,
  59903. 0x9db9212d3d01cc39L,0x5d1080dd2db945cbL,0xd85c0a46a0ec741eL,
  59904. 0xa0db567c6f98c8ddL,0xbd5887fda6c88bffL,0x000000000000010dL },
  59905. { 0x3d55f50a2ce32631L,0xbe582d2664339e56L,0x4e2f8bd7ab5210f9L,
  59906. 0xffe002bf641284e2L,0xa5b24d9844b55b21L,0x35944f8f399a9eceL,
  59907. 0x78b96886bc8d155aL,0x6d2b068993da1b6cL,0x00000000000000b5L } },
  59908. /* 60 << 84 */
  59909. { { 0x752f2383f47d22d9L,0x4436f59ab058e8a3L,0x30d780e7be6327e8L,
  59910. 0xf7e393b5f00c622bL,0x46d05f6528533fa6L,0x9642c8a0e01903bcL,
  59911. 0x99f5c21312b7afdaL,0x3b740059a89e1edaL,0x000000000000009bL },
  59912. { 0xdf0a0c70304f33d6L,0x458c5da833038214L,0xd2045ba526c1e684L,
  59913. 0x217fbdb9379ac190L,0xd94eb4c18e21ec0bL,0xd12612ebc3ace041L,
  59914. 0x5e37a0e595fe0e88L,0x8c588a87aadc9beeL,0x00000000000001c8L } },
  59915. /* 61 << 84 */
  59916. { { 0xb3ad16e907cffecbL,0xe901374a7619fc54L,0x65759e1cf2eee444L,
  59917. 0xe4070ff0f73eefeaL,0x6d124a8bfdf9f9a6L,0x9c8abaeafc9dd073L,
  59918. 0x9b32d3d77a8681c4L,0x3f11eec648f8390bL,0x00000000000001cdL },
  59919. { 0xb0168093d60307c2L,0x7c6c4d9c939fd410L,0x56673b7ed7727cfeL,
  59920. 0xa94cd30a12c5f670L,0xed7ebb3137b094e2L,0xff2c49e15fa3a378L,
  59921. 0x484ca05395672337L,0xf003dfa5bc56bf71L,0x000000000000007bL } },
  59922. /* 62 << 84 */
  59923. { { 0x838aaa72aa1a8108L,0xcb69952741314f71L,0xb86e9b187229923eL,
  59924. 0xe4b3edd49f464608L,0x8771316c1b071ed2L,0xb07e1b084e5a8628L,
  59925. 0xc26653e1c612209dL,0x4b3bbf396bb8d7dfL,0x0000000000000182L },
  59926. { 0x893144f03ca1a824L,0x78bd4476853ad53aL,0xe55634ba95927c46L,
  59927. 0xfff6f90115cb52a7L,0xf4277aaa05f678e5L,0x6c3177a1ec5503b2L,
  59928. 0xa0cf20337725d926L,0x7509b601bfb02022L,0x000000000000001cL } },
  59929. /* 63 << 84 */
  59930. { { 0x3c71f272f99ccff5L,0x248c71670baa49d0L,0xcb6b725da2ef88aeL,
  59931. 0x4a1a6badb5a5e92bL,0xd7a8a6680140c680L,0x07311eb78037e44dL,
  59932. 0x0eabe9b35a276617L,0xa7103657db352138L,0x000000000000019cL },
  59933. { 0xb1c0fed884d7f562L,0x9983df5d634efe2aL,0x9ba4a7697ef18903L,
  59934. 0xccf0889b53fb1f2eL,0x8330a65c863a63e2L,0xc9763fe49141ee1fL,
  59935. 0xa9145ee450a81aeaL,0xe21cc944bd46f62eL,0x000000000000004aL } },
  59936. /* 64 << 84 */
  59937. { { 0xbf73b24cded2eb86L,0x102900b33ea89845L,0x1d88c5073857cdb6L,
  59938. 0xa939a76b9be255d7L,0x28d517522ff653b3L,0x6d8170467642df2cL,
  59939. 0x148b45e157e353b2L,0xd565f776b34f0f19L,0x00000000000001e5L },
  59940. { 0xca5185a2c4b5de1eL,0x527acebfeadf8e0aL,0x652b994b86479736L,
  59941. 0xe252209ad2f97a05L,0xc9b07fc9d6960578L,0x479ba949d264f983L,
  59942. 0xc80d32b5e8d9b938L,0x59280d580a6a7f28L,0x0000000000000177L } },
  59943. /* 0 << 91 */
  59944. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  59945. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  59946. /* 1 << 91 */
  59947. { { 0x2db7055db286bac2L,0x0fce34c5fe2d537aL,0x8addcea5b95e9476L,
  59948. 0xf1bacbd41a7c7ff2L,0x28b7f0c9203fde3aL,0xdfa6cf793e844a62L,
  59949. 0x0107e9039627dc6cL,0x053f2778413fcc52L,0x000000000000011dL },
  59950. { 0xf67e718bd10f90a4L,0x7dbcf1e00bc29398L,0xfd5e65d19130e9c3L,
  59951. 0x6149b3969c518e5bL,0xfb574bb4918e2279L,0x6c67563fc513415eL,
  59952. 0x60b90d7aba1b801aL,0x2239b9dfaf900381L,0x00000000000000c8L } },
  59953. /* 2 << 91 */
  59954. { { 0x2d2f9e08a2abb00eL,0x4c8c679d17648c6aL,0x52e2e9bab8520197L,
  59955. 0x7470a3cfe0898e48L,0xbfeb2a9190617e18L,0x247ea702f44de1a6L,
  59956. 0x7baf95b27b1604fbL,0xe9e81b78020c5856L,0x0000000000000159L },
  59957. { 0xdeb81330da533799L,0xdc4de9f13996b5beL,0x6a8b7630d33f04b5L,
  59958. 0xa4554acb2bccad83L,0x7974bd472a7f5d61L,0xc481a752b01696d5L,
  59959. 0x6dfbefde8ca48da9L,0x2fda492fe7db0c27L,0x0000000000000053L } },
  59960. /* 3 << 91 */
  59961. { { 0x9ade14635a0a982bL,0xd31440afc586e5b9L,0x07bd1b34749ffc4eL,
  59962. 0x2f9bed8ea9f71f98L,0x73de5d52add7cf9aL,0x1b55d53a31a718f9L,
  59963. 0xf06707b8cde59432L,0x247e5a8deaf860faL,0x00000000000000d0L },
  59964. { 0x76dcbffdf5131ee4L,0xc17d25f7d4e3d0eeL,0x195daf924a96ace8L,
  59965. 0x342d659305b1ca63L,0x4675cf349b40dafeL,0x1855efc293b0ec70L,
  59966. 0x94aacae1f878f477L,0x818b2f1a524aa9d8L,0x00000000000001faL } },
  59967. /* 4 << 91 */
  59968. { { 0xa2dadbb4cd046713L,0x63eac83e81afa390L,0x0d85b1ab422bc0bfL,
  59969. 0x9dfc0092d5895af2L,0x125b2e6c87ee0edeL,0x962988829eb070d9L,
  59970. 0x1a1178f85b0785c6L,0x9335c96bd4486f80L,0x0000000000000029L },
  59971. { 0xe747e4433c5cb794L,0x50803223044fd597L,0x4bf3bcc02fc59de3L,
  59972. 0xd9f4dc3244245ab1L,0xbedf6330d2dd61e3L,0xdf8110a904d7c5a7L,
  59973. 0x852f2205bd400d1fL,0x4595afaf9c6e9cefL,0x0000000000000111L } },
  59974. /* 5 << 91 */
  59975. { { 0x72eb4fb66672a844L,0x2ed80354a581749cL,0x456d603fb3a028e8L,
  59976. 0x82bb6fec3703c343L,0xec001da6c2967450L,0xe6930d3c01cb4b41L,
  59977. 0xd3a7073dfc88dab9L,0x28564308bae83616L,0x00000000000001aeL },
  59978. { 0x7a6b143eef89965aL,0x3d75a3d3e25394aaL,0x7185b011164ed20eL,
  59979. 0xf6744be64334a31dL,0x9715be2f8a86350eL,0x8d3ad1d585ff2738L,
  59980. 0x1081a847a2b1ebffL,0x7918917b3d13f45cL,0x0000000000000030L } },
  59981. /* 6 << 91 */
  59982. { { 0x1f6fad01e435a290L,0x2233fb1ca1797bbcL,0xe5c86b07adec0e98L,
  59983. 0xa6c3e3b32c38f3f3L,0x148c7cc4be4d76ecL,0x9a269e568f91b601L,
  59984. 0xdd4fde651872ef0fL,0xac81696c8aa5366dL,0x0000000000000123L },
  59985. { 0xdd10f5bfc06df67aL,0xe02f88cfb5e3d640L,0x67533defb63366e5L,
  59986. 0xb81b500dd4f7515aL,0x258048297ac6fdeaL,0x05e776b30c92e736L,
  59987. 0xd366e4abfdda7ba5L,0x1c88e25338a7d99cL,0x0000000000000199L } },
  59988. /* 7 << 91 */
  59989. { { 0xa8dc56599f91d149L,0xa923bb49026dc899L,0x2690fd103064ff52L,
  59990. 0x5633caf40d3450c7L,0x923c18b90f268931L,0x7e333305cc000404L,
  59991. 0xe4913381c2160055L,0xc8b61c0db37bdb04L,0x00000000000001e7L },
  59992. { 0x8f3cfed118432691L,0xf3409d8e0bbd5e86L,0x8094f20d1f240ab6L,
  59993. 0x8ae2ba7484473b65L,0x509f55533d950c04L,0xb377553f306e84aaL,
  59994. 0x32863abfc776e80fL,0x7de67f5d788698b4L,0x000000000000005fL } },
  59995. /* 8 << 91 */
  59996. { { 0x9b40a31f03d3477bL,0x57e0e72e400294feL,0xe8aa7d3fe3e8af40L,
  59997. 0x6a3d54748dd4d7c0L,0x564564fc65e1bac8L,0xf8584769108c5fa4L,
  59998. 0xeb211eacdbbbb595L,0xe06b04dc24a6b7f6L,0x0000000000000197L },
  59999. { 0xc7689ffd29bfb3d1L,0x7aee57f372378c9eL,0x007255d96efe861bL,
  60000. 0xb8d3f65f6cfbbfabL,0x44629a5fb6d3923bL,0x49e47cea97373f3dL,
  60001. 0xccefc3e7e5d385ccL,0xcccad6e68461478dL,0x0000000000000061L } },
  60002. /* 9 << 91 */
  60003. { { 0x65e1029251b47bc2L,0x050f0ef396e11799L,0x05ca59da588c0f6dL,
  60004. 0x3fe6edce2ff2979fL,0xf5d22ed3902d3268L,0x66f1fad3053dcf39L,
  60005. 0xf59a2c579c249cbdL,0x376c29df17ad6077L,0x0000000000000132L },
  60006. { 0x023fb75627e9548cL,0xeca768ffcc4e8a89L,0x9751524855744e88L,
  60007. 0x62133797b724a018L,0x047efbc1039f2eb8L,0x12605556a4f29411L,
  60008. 0x25f2a0fe026f882aL,0x58e45392f069b7f0L,0x000000000000018dL } },
  60009. /* 10 << 91 */
  60010. { { 0x8980df2d3699e35fL,0x9116ddbe7fee846fL,0xe8e6e54efa3d46b8L,
  60011. 0xb6c3996eb65bc109L,0xe549c8eaeffaee6cL,0x9553bb7b31410debL,
  60012. 0x3900d1cca660056eL,0xea4c30ef15f7dbf7L,0x000000000000018dL },
  60013. { 0x0bf375e11b976fc5L,0xbfa9c68017e1cbe9L,0xd9c860a1a7478ff3L,
  60014. 0x3412562269e4e8e5L,0x0e98341ce1ff1512L,0xd320c6fe76eb4630L,
  60015. 0xa06cec281ea3e4a9L,0xbb00b6a08ef84307L,0x00000000000000deL } },
  60016. /* 11 << 91 */
  60017. { { 0x892e36ce5b432ad3L,0x65dcf3b180d272acL,0x4a5861edd686b1c7L,
  60018. 0x313b59e35fca28acL,0x1db0e208a29011f3L,0x4b91de51b632d0b2L,
  60019. 0x024ca341ce943710L,0x6427e1ac2e5db5ccL,0x00000000000000a9L },
  60020. { 0xd6513c981850c1f6L,0xb93d2ced05479ac3L,0xe186562779609143L,
  60021. 0x8cfd054ed44fec67L,0xe60e2c83e580c3d8L,0x17f8ddb76f8b3a07L,
  60022. 0xc6deddcec0273a7dL,0x8020047a079b21a6L,0x00000000000000a7L } },
  60023. /* 12 << 91 */
  60024. { { 0x475427960f5bfa4bL,0x30d431dc7949b183L,0xf8988f286f450425L,
  60025. 0xd6f6e60dd3778a2cL,0x08719f9364d83e77L,0xc77516d1cb7840ccL,
  60026. 0xafbcd88077b2ccb6L,0x7037603dbfacc373L,0x000000000000008eL },
  60027. { 0x7d1f72796e42ce5bL,0xc9c7aa48535c241fL,0x117dc1334fa7bc3eL,
  60028. 0x85e9129b83ac9251L,0xb0237b53de78fbb3L,0xe95c6512ab35c8eeL,
  60029. 0x8ba19c451f97669bL,0x9b9f0c8a7aab8881L,0x0000000000000127L } },
  60030. /* 13 << 91 */
  60031. { { 0x007dd941777f4caaL,0x61a0c071d02a6bbfL,0xc0651514126587eeL,
  60032. 0xee66732f97cb295eL,0x9c72c2da783373deL,0x530a0bde961281efL,
  60033. 0x595096121d87a2d2L,0x3c9c4775fe361e36L,0x0000000000000144L },
  60034. { 0x190552d422a5f596L,0xee643d7b2beba873L,0xfb0ec2637529f7c0L,
  60035. 0x4aae3efb6677edb6L,0xeadd8fea23ac4ebeL,0xcc44798f791f6241L,
  60036. 0x69c5d73d0d94c9e9L,0xda1bbd06d7a37d3aL,0x000000000000008eL } },
  60037. /* 14 << 91 */
  60038. { { 0xc184af99246bc98dL,0xae516351e0904d25L,0xda6cc6c8a4fa486aL,
  60039. 0xfc9ef8fe33dd0f0aL,0x8981f399afd708fbL,0x655302032a22f104L,
  60040. 0x5a8d2895890718a9L,0x7f48ddf88c71713aL,0x00000000000001f0L },
  60041. { 0x2e16fac769a4fbffL,0x1ef4ff56c3abf535L,0x8f332c083aee6084L,
  60042. 0x312a01982b2ef3e8L,0xb53036685ba34302L,0x728716190f62a886L,
  60043. 0x9f6ff887fcb4c8bfL,0xa86874a9c3743566L,0x0000000000000180L } },
  60044. /* 15 << 91 */
  60045. { { 0x146f727ef7c671dbL,0xab579f7e0aef41c6L,0x7e4ba80ab8fe8727L,
  60046. 0xeab360c1711b17dbL,0xb47511fe2b3966d2L,0x62e7f396f8e65dffL,
  60047. 0x3d7a6cc5ea306211L,0x1f4b50346432ae78L,0x000000000000002aL },
  60048. { 0x3aa75ca8e91c698dL,0xd1e99a5bf01868a2L,0xcc1cd1bbcb461835L,
  60049. 0x5c3cec62d521fb7aL,0xad85cc2cefc4153dL,0x9f85fe129a592b99L,
  60050. 0xb9e983d15f43c9f4L,0xb9597f273e56eaf6L,0x00000000000001b8L } },
  60051. /* 16 << 91 */
  60052. { { 0xc8be45a27fe18629L,0xa5c577aaaf2dd971L,0x6e3a67f061570e7bL,
  60053. 0x2cfc162946c8f13dL,0x6a05848ca2754906L,0xfd319607d0da74f2L,
  60054. 0x0941d89d65b65761L,0xe3d2c4005821ae08L,0x00000000000001d0L },
  60055. { 0x3664ae19a334b91eL,0x21285e386768d183L,0x0914545399758724L,
  60056. 0xd3debfa9ff52fa6cL,0xa1d9cb9ad614ce9eL,0x9c371626452e7305L,
  60057. 0xcb2d7e9229277a97L,0x13171ad82f307a9aL,0x000000000000010eL } },
  60058. /* 17 << 91 */
  60059. { { 0x2734f7ee0da19241L,0x55c59dd0eea444d4L,0x41e48f0d6be546beL,
  60060. 0x2d64bb8923f87d2cL,0xb0e56af43a6b2d00L,0x3393eb7224e16c9eL,
  60061. 0xf318640a2c65adb4L,0xaf23c472de501421L,0x00000000000000f3L },
  60062. { 0x67c51d3ea5bc2d44L,0x4d7c5ba436622944L,0xb46b82ed7d4c50ffL,
  60063. 0xe6e6322325bd5c42L,0xd6c35c121416508cL,0x8897538f107cf747L,
  60064. 0x3117daae4b44b6e4L,0x6f2813a36be5042cL,0x0000000000000068L } },
  60065. /* 18 << 91 */
  60066. { { 0xa810227e65dad623L,0x01fcda5624662210L,0xe8543511a9154721L,
  60067. 0x2914e67ce47aeec9L,0x85243b1645a2aec8L,0x1055599c4db1dcccL,
  60068. 0xd8c2e07a3d1ee37aL,0xb240748691ff64f6L,0x00000000000000e3L },
  60069. { 0x89d53742c47ad646L,0x887493ed21d95cc6L,0x9ec6e14c252a6effL,
  60070. 0xdeaa3eedb7c7af4dL,0x0b5ceb7cdc2be798L,0x95f753c3e8559739L,
  60071. 0x3ca3a7c8a188513cL,0x4f9912cfdb1ccc8cL,0x0000000000000085L } },
  60072. /* 19 << 91 */
  60073. { { 0x8d3434eb19505b84L,0x75856d66d34ed7c1L,0x2729b5cb9dbea3edL,
  60074. 0x01f91132230db209L,0x9b6962d157a8fccaL,0x506af49aacc7b180L,
  60075. 0x29049874256b28d1L,0xcafca60eac95cde4L,0x00000000000001f6L },
  60076. { 0x80e8ade36c3f0557L,0xd1f00017614e9fb2L,0xc24e87cdec075c35L,
  60077. 0xf5c0c19b0803d1bfL,0xc8256d3c56042212L,0x77309bac1e9e447eL,
  60078. 0x41174c583958b51fL,0xb48e28ca88a66bf7L,0x000000000000011bL } },
  60079. /* 20 << 91 */
  60080. { { 0x66b11de35097807fL,0xd97001688956c6d6L,0xb44ab980f789112eL,
  60081. 0x8d84c890d8065a6fL,0x68bd1eb836556220L,0x2d78a2f0600ab712L,
  60082. 0x877475e699e8428eL,0xbaf046b5bd40b22bL,0x0000000000000054L },
  60083. { 0x406ca5189164af2bL,0xcfdd3ad4600c8b76L,0x8b443270cb90ec32L,
  60084. 0x9f021a66e20d198dL,0x507f551ad2177737L,0xf1edd1ff8e49231aL,
  60085. 0x8f30cab6007eba51L,0x7b91be67d8676f16L,0x000000000000001eL } },
  60086. /* 21 << 91 */
  60087. { { 0x8135ca7369086939L,0xbf17399a0e19ce3dL,0x73f0d2c021d13a4eL,
  60088. 0x9e4c35ad3729460fL,0x323cde3e58ba36c1L,0x4e3c7f3ec77b972aL,
  60089. 0xffa35319fd8afb3cL,0x36171d68c30e0685L,0x00000000000000e9L },
  60090. { 0xea5e35682a5c8115L,0x6c46f6048b0154e2L,0x7df48b8177c0512dL,
  60091. 0x9fde5f493a09ececL,0xb1b004dbc5c11a60L,0x0c476649dac83f4cL,
  60092. 0x1a15eea3cbc8f2e0L,0x993e1a33ee486143L,0x00000000000000acL } },
  60093. /* 22 << 91 */
  60094. { { 0x2bfa1554b203d524L,0xc6d86d8c64dafb80L,0x26807c023ee93e42L,
  60095. 0xa384b2f0de86dc52L,0xc5816a9f5725df01L,0x89bbaec758fbaae1L,
  60096. 0x2f452eb60957c4acL,0x119f0291913c1a72L,0x0000000000000121L },
  60097. { 0xf173df1d2ef523f1L,0xf7491b475c934cd7L,0x83698ba3965c47e2L,
  60098. 0x7c88c285287406c3L,0x241e36fff3d293e3L,0x43c728798f6a23afL,
  60099. 0x0f6571eafb1ed946L,0x5a627fec5514fd3cL,0x00000000000000f4L } },
  60100. /* 23 << 91 */
  60101. { { 0xe8dcffc39c33a23cL,0xeec6350e83037ff6L,0xa373f6d772695216L,
  60102. 0xe4df9cb0099d5a16L,0x0173befd9af7d58fL,0xab067d55382cc41bL,
  60103. 0x3d34f02eb8a58041L,0xb209e9f323f980b7L,0x00000000000000fbL },
  60104. { 0x1980fc9941c0bd9aL,0xa60001622a593908L,0x2a1c27e0070bfb85L,
  60105. 0xcd18df8fce5c648fL,0x288f117d5cd7f21cL,0xcfc5495f8bc00633L,
  60106. 0x39b2c847ff32ad8fL,0xebde0138e4bf5e9aL,0x000000000000010aL } },
  60107. /* 24 << 91 */
  60108. { { 0xec04ae998e006e2dL,0x923ac4fcda7c9902L,0xe91a96c89ec9a28aL,
  60109. 0x28004a30377c556aL,0xe82f82d4be756bbaL,0x4e9c4655155143b8L,
  60110. 0x667c4acfadd3ed92L,0xdb590aa6c2d95a2bL,0x000000000000014cL },
  60111. { 0xcb7f053132237847L,0xa06ff9854e110073L,0xba69f4b935676e46L,
  60112. 0xcadc7250f1a9b32eL,0x10cc7f2281f0bbbdL,0x5967c22300cb192aL,
  60113. 0xc93fa9eb9b9c2e28L,0xb1d3b84416699f51L,0x00000000000000a3L } },
  60114. /* 25 << 91 */
  60115. { { 0x90d4d5b4123e7bddL,0x05b161ba1ac34bc4L,0x1298247b24947c92L,
  60116. 0x914a1d9003dbb06cL,0x8f033b39a0a6e2f3L,0x625982a2e7492fa1L,
  60117. 0xe46b4b027b73d40aL,0x8b9a26c0eef66bdcL,0x0000000000000008L },
  60118. { 0xe4754290054f7507L,0x13a6f03cb0598a51L,0xece11d437539cf78L,
  60119. 0x3b7853f2ffc61cf0L,0xf7ffdf3512e72e37L,0x1c67b7d797dd7ff3L,
  60120. 0xc653bc89ecdd5b21L,0xd831303a1ec35d8cL,0x00000000000000acL } },
  60121. /* 26 << 91 */
  60122. { { 0xfba33000f6b1ab74L,0xa9e1f2f50c96eebfL,0xe84f0eda5c33000fL,
  60123. 0x33789a12153679c1L,0xda4629f589209ee2L,0xce3785b20e22fe7bL,
  60124. 0x53183b466f0c0ec3L,0x6fe1779e5285b4bcL,0x0000000000000056L },
  60125. { 0x1eaf8ecca5d768d3L,0x224ee37310c1561aL,0x519298e8fc7af9f7L,
  60126. 0xcdca25634af7c25cL,0xf4096cb4d862bfefL,0xd49b6f4ff5223cbcL,
  60127. 0x678d2e9f1ac83c79L,0xaadf01b78f1ddc04L,0x00000000000001f6L } },
  60128. /* 27 << 91 */
  60129. { { 0x75ef961ad84fd84cL,0x0012c3ae9bfb608eL,0x5a1f3b50c70e020fL,
  60130. 0xd81bbadba2abf2c7L,0x2869fa049c0e2b8aL,0x4ff238ccd4d55cb5L,
  60131. 0x11663a7ff9176721L,0x60c84c2b1764febeL,0x00000000000001b2L },
  60132. { 0x937b3b185215da65L,0x81b22f969dc29782L,0x7c0c13b1cbb740acL,
  60133. 0x830290ae8e2779a6L,0x27d939bfe3e00368L,0x0e2ecf5b729116afL,
  60134. 0x69e0ac2bcdb96f4cL,0xead47fed70704210L,0x0000000000000168L } },
  60135. /* 28 << 91 */
  60136. { { 0x27690556b119ec98L,0xa07fc4e8b33cdd83L,0xdd70a4e6959d2560L,
  60137. 0xc723b197a824df32L,0x387f408b6b104364L,0xe36f86cbda9c0a19L,
  60138. 0xee5df4d2ef6744a9L,0x8c583a3ff56ce630L,0x000000000000000fL },
  60139. { 0xa32cfc657cb1662aL,0xa698c83930e77387L,0xc3eacb751453a17bL,
  60140. 0x86e25cca10ce2530L,0xbc4ec77ed137a2d7L,0x4c6746ca235dafc3L,
  60141. 0x8b168ec927d5122dL,0x0c75daef3d1a30faL,0x00000000000001caL } },
  60142. /* 29 << 91 */
  60143. { { 0x5cc5c9119b2cccf8L,0xc8000ca65c1cab93L,0xd80663f5fef5ea9fL,
  60144. 0x62906368e60a72beL,0xd85016621556648eL,0xcc2b6f93bb48531eL,
  60145. 0x21a9b53d7fbf49e6L,0xddd378ac7b9c185fL,0x00000000000001e9L },
  60146. { 0xcb7033f7f7fc334cL,0xde062112a5b5d78cL,0x509a02a1701bf69fL,
  60147. 0x64339bc557e490a5L,0xd4bb88c029ce5872L,0x20944f831dd17464L,
  60148. 0x7d5c190934197eb0L,0xbcf57d5faaad6be3L,0x00000000000000e8L } },
  60149. /* 30 << 91 */
  60150. { { 0x3bb43beb00ef2a72L,0x0ea2ee348a65bed6L,0x4a07c01a25cf2864L,
  60151. 0x81f50428def2d374L,0xb5b902f731d5ce65L,0x740f1ce1478326b1L,
  60152. 0xaf7a25606905c052L,0x4e6e4f6e1fc70939L,0x000000000000008bL },
  60153. { 0xc32ef5c1b1edaa65L,0xf0ab55ac28e6d983L,0x954900d5708aceb7L,
  60154. 0xefd9f5c13a326bafL,0x05fd87d8be1c4709L,0xa40702b17b6cae96L,
  60155. 0x9263a19265344d33L,0x141dbc82576f073dL,0x000000000000001bL } },
  60156. /* 31 << 91 */
  60157. { { 0xb15e9545d626ae06L,0x3a0722a1ab0b410fL,0x832cba6776772e76L,
  60158. 0x015d5fd9bc34d2f1L,0x067102cb87c77de6L,0x0469b3fc490d84b1L,
  60159. 0x5e2f5a08b3462225L,0x352eb90a0d1096feL,0x0000000000000113L },
  60160. { 0xf9ef4a525930c83aL,0x5808cd0ba38b4104L,0xdbff69203cdabd8eL,
  60161. 0xb7881613d88a14eeL,0x79c0026b1b096991L,0x5e69a28a2c82ffa3L,
  60162. 0x607809fee1524e82L,0xe0f5ec4acfaec5c0L,0x0000000000000187L } },
  60163. /* 32 << 91 */
  60164. { { 0x336b06222feda8acL,0x4658ae220c0b391cL,0xe12f058f1f2119d0L,
  60165. 0xa1f96c94495525a1L,0x32efc7aecd7d9f17L,0x34e4fe2abea7a5ebL,
  60166. 0x0efd24927135c5f5L,0xd7a04eb2b83241ffL,0x0000000000000036L },
  60167. { 0xf11b8e769ca40933L,0x1951cd54d06857c8L,0x0e9124f629f13914L,
  60168. 0xe6ebbbe33d67d0cdL,0x5483a2bcbf16f9c2L,0xd4e4ea52255ea8caL,
  60169. 0xee0db0b5734eef50L,0x54434b5116207775L,0x0000000000000017L } },
  60170. /* 33 << 91 */
  60171. { { 0x553daedb5944343fL,0x3606ec07d4d0ffc7L,0xc6524155ca243c3bL,
  60172. 0xd58cb6991527de09L,0xeede8aac13bfd2dfL,0x21ba74aff923c663L,
  60173. 0xc82663667eb66df9L,0x5afc421916d74e8bL,0x000000000000012fL },
  60174. { 0xe4988134c59c0bfcL,0x068d052cefd2d387L,0x44132ab7b193eae2L,
  60175. 0x1debbc87bebb0f7cL,0x2e1126dfd9772c79L,0x865dc53f3bbb504cL,
  60176. 0xe1701501b85e7361L,0xe2a6ef6ee258a516L,0x0000000000000094L } },
  60177. /* 34 << 91 */
  60178. { { 0x76fd2af6bbcf1ef0L,0x74f728d1582e6b95L,0xcb8aa6bfdda9b1feL,
  60179. 0xb9f03364c5708bf8L,0x84ebfa3ca5d5e4d0L,0xb007dc5e583e8a91L,
  60180. 0x746afe5e82e7bb71L,0xe320d41037085932L,0x00000000000001f0L },
  60181. { 0xd70e0d63282273ccL,0x5cf2e2c3305f484bL,0x04768257c5138617L,
  60182. 0xb603b06f9f72b38aL,0xbc2f8d4d238eeca2L,0x16fd9071880b51d8L,
  60183. 0x4c13664ff86838b2L,0x7de53d218a6ff68bL,0x00000000000000c7L } },
  60184. /* 35 << 91 */
  60185. { { 0xd9d533d44f5adf8cL,0x3734d7f8177b8731L,0xc155a11279082d46L,
  60186. 0x9fee9bee55c670c1L,0x4792e233bb026778L,0xbc36eade50fe0facL,
  60187. 0xff70c0e73da20a58L,0x417610c538fdb880L,0x0000000000000192L },
  60188. { 0x05cfaa1554127b14L,0xa92f93dee146b94aL,0x80d3ad15e5af320dL,
  60189. 0xf6fdf30cf9b93477L,0x56e1e73f8912b2aeL,0xbcde8088a81d4249L,
  60190. 0x8711ca7358fe2d0fL,0xc2c9cd60328932f2L,0x0000000000000124L } },
  60191. /* 36 << 91 */
  60192. { { 0x657b00c3c6659533L,0x7c4ebb89d4f40b8fL,0x240ac0f607952574L,
  60193. 0x67788f2a2d1103acL,0x04a55a0c15dfac39L,0xe516c9830d854801L,
  60194. 0x25949bd2eba13079L,0xa603149e1cc2ef88L,0x00000000000000e2L },
  60195. { 0x394021ec0c1c2efeL,0x06c411c6ad56f16fL,0xed5735a23c85892cL,
  60196. 0x744c27e3a7749e09L,0x48ec0665ae7e3e20L,0xf9b4163bac7bd334L,
  60197. 0xcd5581551a4bbacbL,0xd6b52b5459cdd2baL,0x0000000000000167L } },
  60198. /* 37 << 91 */
  60199. { { 0x39a2354ea18a42f9L,0xa6316bc8cc4b9ce8L,0x45cd304831be097fL,
  60200. 0x250cf0da411e55eaL,0xaec0f4a08756aa97L,0xbbed2c68e3cd749aL,
  60201. 0xdc1516bc6023d468L,0x2031a0cf013b7d7bL,0x0000000000000198L },
  60202. { 0x66bd2998907d5626L,0xf84be0f5ef405159L,0x47913cd8a13eea10L,
  60203. 0xd98e273609412514L,0xd07e8ff1d7eeebc4L,0x2ccf81bb692ebfb6L,
  60204. 0x98259e9beaa3282cL,0x1e73d6761979dfddL,0x00000000000001dcL } },
  60205. /* 38 << 91 */
  60206. { { 0x17915cc92fd4fbafL,0x5ccfa56f987a738cL,0x9322bbcdd4f04e2bL,
  60207. 0xd11dc12a3d80faf3L,0x8a5b1f959751eb1bL,0xa0944deec74e364aL,
  60208. 0x7830f950bf5583f7L,0x3ccabd2290302a78L,0x00000000000000d4L },
  60209. { 0x97af459227945905L,0x3e6475f8c89e8478L,0x07a75003061caa42L,
  60210. 0xf307f63fe96c6ee8L,0x116b590fb3ac7eddL,0x8cc5129fcc572d4eL,
  60211. 0xfbb1956538070b86L,0x142309e12214d88dL,0x0000000000000151L } },
  60212. /* 39 << 91 */
  60213. { { 0xe87d85e1849d8d67L,0x67f27415f71ba46bL,0x2a469ef7261c4c7bL,
  60214. 0x42b25fbb196b3a59L,0x4a06c13c64ab6781L,0xb5fb64097145eb2bL,
  60215. 0x2ef16fec84d837e2L,0x1336ee80fc35be92L,0x0000000000000126L },
  60216. { 0x0950419772173df1L,0x08ed9987c1ed4d44L,0x60f415854ec72dc9L,
  60217. 0x1e96109cdebdeb7cL,0xbc5d5e01d4e266dbL,0x865f2779b97437abL,
  60218. 0x60aec81e4603b596L,0xbdff4a3579f89a7eL,0x0000000000000133L } },
  60219. /* 40 << 91 */
  60220. { { 0xdaf096439768c17fL,0x3fea42473fefbb34L,0x6219c7a10b58d304L,
  60221. 0xb1d22efdcc27f099L,0xc40b3e4087610d7dL,0x5130d3dd8f8e950cL,
  60222. 0xc50fef134b6433abL,0x8694a6fbe79d8b49L,0x0000000000000034L },
  60223. { 0xbe5028acda708745L,0x573354a3d2e9e2b9L,0x65023a39bda28cccL,
  60224. 0xfd3f235151c040dcL,0xe8674a7754e038e6L,0x6c2a5e75ebadf602L,
  60225. 0x26ebf6e9a9330218L,0xe564a069001c8135L,0x0000000000000022L } },
  60226. /* 41 << 91 */
  60227. { { 0x93b89ac719647427L,0xf2e9800662f60cd8L,0xd17928788b4a860aL,
  60228. 0xeca75f8aa6f7f822L,0x553e987fa08afc7aL,0x68c7eeb375168c32L,
  60229. 0xe2d7c361f02866d8L,0x4cf488d01f457ef8L,0x000000000000019dL },
  60230. { 0xb02e2aee5dd3a10dL,0x399ac0b774d7f78fL,0xeeb5d6194dadb32aL,
  60231. 0xe9749e2d31475847L,0x0e2894577dbb6ca6L,0xb1a8de40d01c8c73L,
  60232. 0x111bb1a717e9a87cL,0x38016c50525524c7L,0x00000000000000d3L } },
  60233. /* 42 << 91 */
  60234. { { 0xf2f5b47cd83d5980L,0xa9d9084742d37e32L,0xe0e804bb8fe68776L,
  60235. 0xdc4f8950138c0caaL,0x7eff3e0f5c3e9d96L,0xc0a1de28825548b0L,
  60236. 0xcb0ce3648a12ad2dL,0x3467ec580d44b1bfL,0x00000000000001dfL },
  60237. { 0x80a72cd7353e4e27L,0x3d8c7245c5047f28L,0xa74798df7231688aL,
  60238. 0x99e24af065d80630L,0x5a653dea8475aa27L,0x89d84371a44391b2L,
  60239. 0x2eaf73f22f4f0562L,0xe1628cbcc9be07b0L,0x00000000000001b2L } },
  60240. /* 43 << 91 */
  60241. { { 0xf84751465841f56dL,0x5b972d1beaa26045L,0xc1bb3bb69326720cL,
  60242. 0x656b3cc491990d51L,0xaa493b911aa9c0a5L,0xd12902d4f2af0e57L,
  60243. 0x873e1f30136832d6L,0x7f93fed865bab8edL,0x0000000000000150L },
  60244. { 0xef43b48fff75fde4L,0xd7cad9e14e9e8062L,0x5f0fc4bb495e772aL,
  60245. 0x685fa07c58df814fL,0x6b8d8ef7088c5dfdL,0xc2ecf7f51436df3eL,
  60246. 0x3c2b71f5f99a9736L,0x0a2a30a45b65c55eL,0x0000000000000172L } },
  60247. /* 44 << 91 */
  60248. { { 0x1fe9426b0a6c6d9eL,0x8a955028e8e6c259L,0x6575bc53fe2d3113L,
  60249. 0xaf4a1328b7cc80aaL,0xe3b2d1e559ce1d34L,0x555642307da20bb6L,
  60250. 0x450e75e56f0a3e73L,0xf4462fa27ff87e37L,0x0000000000000146L },
  60251. { 0x0c211f3a58e16248L,0x902c342f4506b24fL,0xea4e8fd0a68aa254L,
  60252. 0x7a8a1409258fdf8aL,0xd77bc05e1304fbd3L,0xddf4d3af3e566510L,
  60253. 0xca6b3c5a7fb9c9ffL,0xaaf671967fac362fL,0x000000000000011cL } },
  60254. /* 45 << 91 */
  60255. { { 0x8f3d956e6b9e05ddL,0x8e7c2babc7ff7e65L,0x5a75719253ae6a00L,
  60256. 0xc96d8b795b54b6a8L,0xed3e7f1c5b7d7d00L,0x228f166f5ceb2b6dL,
  60257. 0xbfb91eee09dac21bL,0xa8279317dbe20b62L,0x00000000000000cfL },
  60258. { 0xccd5ccd6ba990e97L,0xb945ae888236c13eL,0x01c61e4b7ec5ab76L,
  60259. 0xa390fe0b1315a1d6L,0xbb6f26932a162becL,0x782df1974811290fL,
  60260. 0xa16250e205a4beb4L,0x8a94424936670e18L,0x000000000000010aL } },
  60261. /* 46 << 91 */
  60262. { { 0x08104eead1978abcL,0xc4aa64182869f184L,0x1d3bdf3040a17f91L,
  60263. 0xd385a51c24b0f6d7L,0xc07b19a5e867b991L,0x91a34606528814b5L,
  60264. 0xb4c41a54b65a49e7L,0x9babbcf59df9f529L,0x00000000000000b4L },
  60265. { 0x764aa96de287026dL,0x5314fa4f90cc1767L,0x8d66884a1c955f29L,
  60266. 0x5fbfb4e9877d0860L,0xb389496c4518d3f8L,0xa40da285971965e0L,
  60267. 0x92289bd13d3104c7L,0x5467d571480627c0L,0x0000000000000004L } },
  60268. /* 47 << 91 */
  60269. { { 0x73b067663d3889f2L,0x9cfaaec7975d71c4L,0x32dbe1cbaabb2914L,
  60270. 0x95c1be2fe4d3f5b9L,0x9f043bb55a9d6ef0L,0xd8fd47fa2124525fL,
  60271. 0x2ee657cb218e24aaL,0x53358623f62039d7L,0x000000000000005dL },
  60272. { 0x1c9f2390e488690fL,0x74350646284b571dL,0x62b8f014eecc8839L,
  60273. 0x0d0727a2cc3602ddL,0x9a4a864741b32344L,0xc53ceac84c506cfdL,
  60274. 0xe07215a5fbf809a8L,0x74ccdf9bf0d0c843L,0x0000000000000185L } },
  60275. /* 48 << 91 */
  60276. { { 0xffeaae90a5f79719L,0x6e6df606d3492f7dL,0x2c2bb9c576eaa27cL,
  60277. 0x33d699cda76e4fa4L,0xfc90add1bcbefbc6L,0x2c7014b254672c91L,
  60278. 0xea55e101b935deeaL,0x12f035bb8a9ea2a3L,0x00000000000000a5L },
  60279. { 0xa3e9e470a478a531L,0xd90105eb1992bfd8L,0x8c0b466dde6e1978L,
  60280. 0xaf1b491584e1c6f7L,0xca957a0824931507L,0xc5b18ccd670262dbL,
  60281. 0xc8b50dc0da787fb6L,0x087dea9c7d5253ebL,0x0000000000000119L } },
  60282. /* 49 << 91 */
  60283. { { 0x06a9262ad8cffaefL,0x0202733a16dcad26L,0x889461d885e4b6a7L,
  60284. 0x8aa5ee3ebf2b5a1eL,0x209afe0dd59e8c5dL,0x6fbc3bfe9fb34eeeL,
  60285. 0xa2cafea7854d31b7L,0x40dbcb67b34dea06L,0x00000000000001b5L },
  60286. { 0x38c04e9a6fa0ebefL,0x7e538c4aafa0dcadL,0x7bda0e2a29d75198L,
  60287. 0x6af9b41944d6606eL,0x35cba42c03f90cb3L,0x7067e8fb0ac1b1afL,
  60288. 0x97044878e1e90e22L,0x3e5ea9f8d802e89fL,0x0000000000000041L } },
  60289. /* 50 << 91 */
  60290. { { 0x510da10c610f1026L,0x3905429820278fc2L,0xec273624264701f5L,
  60291. 0xa28eaba19f852f1dL,0x3a48f9a649452affL,0x80200f98532be9b8L,
  60292. 0xe1fe9faf3e0fd8e1L,0x9016f5592aed9512L,0x000000000000011cL },
  60293. { 0x15a0b2f34d16a4deL,0xdf45147fc711f66cL,0xacec295a2e9d2971L,
  60294. 0xa363ba454d608ea5L,0x2be77f31ef707d72L,0x71e2efaca70f5e07L,
  60295. 0x8874489778c61141L,0x7088d771f36cb684L,0x00000000000000cfL } },
  60296. /* 51 << 91 */
  60297. { { 0xa15af0a98612eda3L,0xd20f6eee8cfdf251L,0xd13f13187edb43d9L,
  60298. 0x12c8caefd20f1911L,0xf718e3879d2dddffL,0xe5476ac9ae1d8619L,
  60299. 0x46996c8c6abdf7a6L,0xaf747be0d673af48L,0x00000000000001e7L },
  60300. { 0xbca4d3b4f681818eL,0x97d89e7e1dc67c61L,0x8fe1d23272adad93L,
  60301. 0x0c3d0e0aab0d1120L,0x80755cb5354d0bbaL,0x8227290c29941953L,
  60302. 0xd6b2bf435bdc8c57L,0x72b415c4cc5efbb9L,0x00000000000001adL } },
  60303. /* 52 << 91 */
  60304. { { 0x9840fefb94eceab4L,0x3f2df52cb4ab428cL,0x5d01c629dc912e83L,
  60305. 0x69fb1a87dccd56f5L,0xae7a79433c692deaL,0x62cfa5b6348795b4L,
  60306. 0xe0b621352bff3017L,0x1355d15a465aa055L,0x0000000000000031L },
  60307. { 0x715572c92f17bc87L,0x3d0761bb5408ce13L,0x32e1ebcc740d844eL,
  60308. 0x503de141845bcbc7L,0x5f5d73affd491083L,0xe357fd9f459050caL,
  60309. 0x1b55a4836d811ad1L,0xf503dd70e855671eL,0x0000000000000152L } },
  60310. /* 53 << 91 */
  60311. { { 0x99472f10e9570837L,0x59fdf7f0a7537eccL,0x6163b2fd4bf81966L,
  60312. 0x9cb1ce6d58669895L,0x5f1f0238bb6928bfL,0x87b6a8471944b59dL,
  60313. 0xa0dfa5cc4196844fL,0xd89a1cde26186526L,0x0000000000000184L },
  60314. { 0x0601560613c8ebd4L,0xeb16ead091204191L,0x46cbe8543c28c13cL,
  60315. 0xd000b7abdfb0d4deL,0x1726c9a74ea29c57L,0x0f193196c781b82eL,
  60316. 0x1387110693994983L,0xb50560b19d7bf34fL,0x0000000000000168L } },
  60317. /* 54 << 91 */
  60318. { { 0x163701bfea642575L,0x0a6a2f5d2e678618L,0xe4c9b9f5804587ebL,
  60319. 0x6f8e5064ccc8fb0bL,0x4b69a7091c635a34L,0x5e86bae9b96732e7L,
  60320. 0x07fa20d37c643344L,0x77f6268664b84c35L,0x00000000000001d0L },
  60321. { 0x06a5c9c908ae642bL,0xb472c3f14c44fcf4L,0xe52310eac2df057eL,
  60322. 0x72597d099a3c2a5eL,0x953d96935b215b2fL,0xe9a9436c573f77fbL,
  60323. 0xf577c9c6334b0b7eL,0x9dba2bccbce93fb3L,0x000000000000011cL } },
  60324. /* 55 << 91 */
  60325. { { 0x770c5fece69da7a9L,0x19f64e37a77befe4L,0xd3c78be1c75aa586L,
  60326. 0x9f4fad22a4140e40L,0xdacc138f56ea04c1L,0xcf2449f983fdff97L,
  60327. 0x7459e685c65440d0L,0x86ec5d4b46bcfca7L,0x00000000000001acL },
  60328. { 0x6741957f376dbad7L,0x7a7f41f3d45e0c7fL,0x1ffdb37d40041998L,
  60329. 0x3df73b0673f33365L,0x7ef0296328023845L,0xe58c3a849cc74753L,
  60330. 0x4d442f576df77c6fL,0xe0517e5e00f4cea8L,0x00000000000000c4L } },
  60331. /* 56 << 91 */
  60332. { { 0x46d19e84e4ffc94cL,0xb0c6a22b46ac3defL,0x78b32cb951b0c5b0L,
  60333. 0xf3a9d47ca4d6703eL,0x564725a602e1858eL,0x962820cdda51085bL,
  60334. 0x07079fae5d66a816L,0x2975644b7efdb35cL,0x0000000000000067L },
  60335. { 0x53e0fe0f027e7d4fL,0xe7919470fe2f6b5cL,0x0029df1fba6e0852L,
  60336. 0x4a8c72c2cb9b0c0eL,0x8e94526c4398ce0cL,0xe5535ec6945ea9caL,
  60337. 0xfed0915990686396L,0xce1523a9a17486e4L,0x0000000000000175L } },
  60338. /* 57 << 91 */
  60339. { { 0xb6a22a0200055b41L,0x1530d3c2738d7765L,0x74b844494b19e498L,
  60340. 0x7e8080589e7bef67L,0x99f69a43bffff80bL,0xfdb0e8b1b027fd95L,
  60341. 0xc5bc0fd033b928baL,0x6561d98bd273c3e1L,0x0000000000000124L },
  60342. { 0x3b992ebc4c8a05b1L,0xd151de1554ce8100L,0xbb63a62b154cbf46L,
  60343. 0x3374fb329ce29809L,0x13994e41708b1aceL,0xb37f9846587049f3L,
  60344. 0x6b6708e773cace40L,0x25ed315a8dfbe7acL,0x00000000000000e7L } },
  60345. /* 58 << 91 */
  60346. { { 0xc6f86aa312eaab15L,0x3f4fc2334051be9cL,0xcd591d72db49c31cL,
  60347. 0x65ba21ffd2100c28L,0xdced627f512e30dfL,0x9c948bfd52d495f0L,
  60348. 0x3b246e9ca178617cL,0xb7e99939f772b804L,0x0000000000000085L },
  60349. { 0x3ba75fc152793a53L,0xdf8f02a9c86c7a0cL,0xb7861f9ac573bac1L,
  60350. 0x16b41667a3b76aa3L,0x069da96a345dfe76L,0x1df94b267585cb88L,
  60351. 0x8b57ec9d4f2f7645L,0xfaa8230851320177L,0x00000000000000e0L } },
  60352. /* 59 << 91 */
  60353. { { 0xd8ac0bcf6c9950cbL,0x316eeb3196787697L,0xe1b0fb38589d27eaL,
  60354. 0xcb9d58fbbdfd0018L,0xfd39a23040bd2016L,0x47ae06bd222818c2L,
  60355. 0x7ca37a695d2a87c5L,0xa8a39329d2a51e11L,0x000000000000005eL },
  60356. { 0xf1e98f9d31797318L,0xfeb139037e1cb61dL,0x7d84a9664aca85beL,
  60357. 0xe2dfd634b1056464L,0xf62a4661ae33a99dL,0xcc522a0cc86d2097L,
  60358. 0x8800d70dc3d29ab3L,0xfe0e17145aa40b80L,0x00000000000000f8L } },
  60359. /* 60 << 91 */
  60360. { { 0xaf525dfffd31cac1L,0xab4dd60075e22b8aL,0xd6df54601bcfac1dL,
  60361. 0x83d0b758ea498cf2L,0xc6c8a7db725379ffL,0x926a186bb282eee0L,
  60362. 0xb0e0b072c1496c2aL,0x8f159a3e48668171L,0x0000000000000101L },
  60363. { 0x4494dfeda5edce74L,0xb5dadc35e28d5661L,0x320502550d978436L,
  60364. 0xaa350e02ace0dc5dL,0xff8c6c8dc85e3d76L,0xadd61548038e9206L,
  60365. 0xc5b0eeaf48b9ec2aL,0x3f1e7dc7c2645b2aL,0x0000000000000125L } },
  60366. /* 61 << 91 */
  60367. { { 0x911b6ec2d4d191d2L,0xa0be596398bbfebdL,0xcfc1858fcdb33929L,
  60368. 0xe838e59fcaf4b07cL,0xc3cf06ff253f9c18L,0x96d4c2242cb76433L,
  60369. 0x1bf6b527db17c2efL,0xdf9282d82792e421L,0x00000000000000b8L },
  60370. { 0xd9b60a5fa94190e4L,0xa82f09cdaf66cfaeL,0xb65d0c46c4e5935aL,
  60371. 0x65c1bc0a65ce2172L,0x533f9f19629364c3L,0x522db0fc51c1cd20L,
  60372. 0x1038f65b19332e86L,0xb64007f864003cedL,0x0000000000000094L } },
  60373. /* 62 << 91 */
  60374. { { 0xd5070a5ea979804eL,0x1fcc05daa28853d5L,0x7537020daeea2123L,
  60375. 0x33583d857d3940eaL,0xdb4854fc6a16ee2aL,0x2fa7b6c674cb45f0L,
  60376. 0x94b299c273a0bac3L,0xf5bfbdf0066135e0L,0x000000000000008fL },
  60377. { 0x7700d5f6ff090f73L,0xf186cb1328b231c6L,0xd080b318eec40e57L,
  60378. 0x9acfb30b5e6eb82fL,0xdfa57c03550c698eL,0xe32e90ca75f80094L,
  60379. 0xe4f0efa25d0871b3L,0x2c4e1314ff1ae785L,0x000000000000019fL } },
  60380. /* 63 << 91 */
  60381. { { 0xa1cf6e98abb1ce91L,0x94357a5ece988fa5L,0xce23c897403945dfL,
  60382. 0x8926b4a89ae2d087L,0x39d0ec46294d25f4L,0xd571fa4d0340cfb0L,
  60383. 0xd0389f1b25552596L,0x31c3d45476b870adL,0x00000000000000adL },
  60384. { 0xa4be459fc1acb2bfL,0xf98de31e4912a631L,0x5058dbc3f8e05adfL,
  60385. 0x30b64887ecf93058L,0x6f0ccdd7a4a98333L,0x4f036282a5e29a50L,
  60386. 0x141c5a024774ab8fL,0x5b11663b58682707L,0x00000000000000ebL } },
  60387. /* 64 << 91 */
  60388. { { 0xe67ad2a7a597628aL,0x424dfe8947deb6b6L,0x42669bdc0ecaca8eL,
  60389. 0xae7a2f64d86f6549L,0x3858f56b652a2e24L,0x8e5611a650291825L,
  60390. 0x21c2061120feb545L,0x4e550a9ecd63163aL,0x000000000000005fL },
  60391. { 0x4fabbb26b3b110bcL,0xebe74805036de290L,0xde88d2d633789748L,
  60392. 0x56a1b7b8dbf7865dL,0x0646d53de8707cf0L,0xcfb67fae64108a0bL,
  60393. 0x04f1401ba32160eeL,0x5998552d5f462a78L,0x0000000000000056L } },
  60394. /* 0 << 98 */
  60395. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  60396. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  60397. /* 1 << 98 */
  60398. { { 0x80e86d53083e8647L,0x4c143f8de6bf14c4L,0x98965bebd250ddf8L,
  60399. 0x66ad16a097f5f7ceL,0xf3b79e6a91ca08f9L,0xc8478bb25555ae35L,
  60400. 0xa3b1085a3048210bL,0x400e0a3fc2e9f129L,0x00000000000001f1L },
  60401. { 0x73dd8aabef069132L,0x4aa4c72566348212L,0x44b84c9436f78446L,
  60402. 0xf835da5068c9b6cbL,0x66b8e1d9a3536e11L,0x29ffbb214f4541d4L,
  60403. 0xcdb5baffa43e5d3eL,0xca8fca6dd75f692aL,0x00000000000001d6L } },
  60404. /* 2 << 98 */
  60405. { { 0xbda14abf4d9b67c0L,0x54478dfabf9ac0b2L,0x08943aedca457b40L,
  60406. 0xd82f3d75f18006c3L,0x434d99a148f5e818L,0x600c40e3c5422ad5L,
  60407. 0x8a6294594361f89dL,0x25fd287b9c176983L,0x0000000000000003L },
  60408. { 0x5465deb69d02479bL,0x61fd5b4facf06848L,0xbda65f8547787599L,
  60409. 0x1689cdce23280fccL,0xb2efd35d62e25557L,0x19fd60739c9f12b4L,
  60410. 0xaf9a39433a87dae1L,0x20dd9c0ac5a84a92L,0x0000000000000101L } },
  60411. /* 3 << 98 */
  60412. { { 0xd8764ed5adab4cf4L,0x6a3f2257baf7618cL,0x6607661ba03bb43aL,
  60413. 0x16f0ad3d41029908L,0xf8dadf979b47f97eL,0xe690674d9dd13ddaL,
  60414. 0x8f5f3c154180317eL,0x9694476452c697a1L,0x00000000000001b8L },
  60415. { 0x9e9715e5f7894511L,0x43c263b702f78d2dL,0x31b78c2547ad4de4L,
  60416. 0xe2f6454ce10ef4bbL,0xd0f816ad15787104L,0x169f4e00bc5c632cL,
  60417. 0x99c89fa79b77e99aL,0x7c758a0eea13b439L,0x000000000000003aL } },
  60418. /* 4 << 98 */
  60419. { { 0x067f879fc7734385L,0x787c7f18b4a51794L,0xa269c44672d9af69L,
  60420. 0xa4498e7387d71897L,0x28e3d84aa91814acL,0x8caf2f61f62fede0L,
  60421. 0xad36da315dc202bfL,0xfed8bc0fa4689189L,0x0000000000000068L },
  60422. { 0x84a0854296aa1400L,0x871885f1cd72b4a4L,0x00954202e9d3027eL,
  60423. 0x19b350695c86a302L,0xbe420b636cfc52a2L,0x8b75228287175b19L,
  60424. 0xd1811b8c9a22611dL,0xf9c23d803e468601L,0x00000000000001d2L } },
  60425. /* 5 << 98 */
  60426. { { 0xfd9470df9bb055e9L,0x356be674b8a9cabbL,0x7ceda113f1c13a27L,
  60427. 0x2a717f78d70ae9b1L,0x971609234ca55928L,0x7f9e4e226e14f3f2L,
  60428. 0x5b8a03155a589e18L,0xf8c780b940b09acbL,0x000000000000008cL },
  60429. { 0x2fee3ccb74d98575L,0x2d33151fb892607bL,0xf0fdedda3a2a25c9L,
  60430. 0x0c82e2d3124e2527L,0xdab009109bbb329bL,0x402e27ea52798e10L,
  60431. 0xd0009cb2f6d91403L,0xeb90c221ea21c5d4L,0x000000000000010cL } },
  60432. /* 6 << 98 */
  60433. { { 0xbb7c3bbf98814afdL,0xfa3eb481e568d703L,0x1b8f1e0658318259L,
  60434. 0x44c2c4a0d9df9cc1L,0x9906fec621cb9541L,0x4513855b90220398L,
  60435. 0xba8e04c7730f3d49L,0xf6f844eec5039f3dL,0x0000000000000062L },
  60436. { 0xff651f70c32b230cL,0x2bf8f30c4ce8747eL,0x2748f82ddf061f06L,
  60437. 0x9ebe9d519b73f4e2L,0x428724b7b60edd59L,0x88ddeb09c85196ecL,
  60438. 0xe9a64c7a9ed85523L,0x2465d7a62e865fdfL,0x0000000000000099L } },
  60439. /* 7 << 98 */
  60440. { { 0xf8cb5eb1fe3b6e1dL,0x8200ee3a92dea299L,0x8cd62994aae59107L,
  60441. 0x2953835d17e38995L,0xebc59a3c6b24fdafL,0x847a4f3c89e2b86aL,
  60442. 0x68f32c1a505225e5L,0xd9d254f8ac4ce49cL,0x00000000000000e5L },
  60443. { 0x357de1596d60adcdL,0x7ec27f7d8d7d0d59L,0x43af31858acd0224L,
  60444. 0xda2541a71f551347L,0xa13e7bac81ae12cfL,0x4952416780e2588fL,
  60445. 0x8b716928caeb93b5L,0xe32a7fc61642f543L,0x0000000000000146L } },
  60446. /* 8 << 98 */
  60447. { { 0xc52699b9e6a0bf64L,0x3d1f9b860d0e9732L,0xa14ca004e0882130L,
  60448. 0xa69508493d669257L,0x65c264d6d76816d4L,0x594a5d7cba522818L,
  60449. 0x8e44a20532ad6596L,0x74445203093718efL,0x0000000000000189L },
  60450. { 0x63b108c628885dfcL,0x7ddd44ccc31cf288L,0x82b2cad4b5267f9aL,
  60451. 0x5b8a5f7b449e0cc8L,0x24a85f05e8bbb4a4L,0x694cdc1ca0eb93a8L,
  60452. 0x58943b3455741ffeL,0x381df171377ad2a2L,0x00000000000000adL } },
  60453. /* 9 << 98 */
  60454. { { 0x0801f029405ebc29L,0x416cbd9c9e0c3db2L,0xf0fcb43499f8654aL,
  60455. 0x6ab20655c0f9668dL,0xc4c78a18877a85deL,0xdfe8ab138d16c153L,
  60456. 0xdcd5e7c1183c66dcL,0x2f1f7dc246c3b605L,0x0000000000000173L },
  60457. { 0x1cf1a9f24a25993fL,0xa792f66ce5a76bd6L,0x124befa3e06def72L,
  60458. 0x4b2b2ef9d85dc995L,0xf1b45b1645b0c395L,0x7b35ab2fcf5ffc87L,
  60459. 0xb7b346b5d34c4e26L,0xb00503fe39b8fa4eL,0x0000000000000013L } },
  60460. /* 10 << 98 */
  60461. { { 0xb5491319e335e6c2L,0xc892ed96b5f0342cL,0xcc4a8411e412e065L,
  60462. 0x2f8b20e3fd229e7bL,0x9ab982f9843e35f8L,0xf904caa67a728b27L,
  60463. 0x283c27cc8360e327L,0xd3a7f980e08c96a6L,0x0000000000000049L },
  60464. { 0x11de6dcbf507feb0L,0x9033db6c32233dabL,0x39e46408c4586261L,
  60465. 0x0c31a9624bae870bL,0x5f833a79cfa69865L,0xa4e9e08b019af648L,
  60466. 0x928769ade156f8d8L,0x9ce74709c4a99988L,0x0000000000000150L } },
  60467. /* 11 << 98 */
  60468. { { 0xb53d5e9b4a51dfcaL,0x7b60443da3894de5L,0xe25e2bf7b1515643L,
  60469. 0x3486b05885451eeeL,0x2c0827a4d806fefcL,0x6cec283cdbe198d0L,
  60470. 0x589f669bf950d73cL,0x2988117f1a6cbf5dL,0x000000000000015eL },
  60471. { 0x6f8031cd9cf3edd9L,0xf0ec99d2e35d3239L,0x06284ed6d954a869L,
  60472. 0xdb1fba06265e04bbL,0x94f3d6a2d08e378eL,0x5a060f9e778b4464L,
  60473. 0xbd9c9b10152f5a69L,0x7045807405281905L,0x000000000000004eL } },
  60474. /* 12 << 98 */
  60475. { { 0x13996f30e402d747L,0x2524a83bebc31a51L,0xa41699b795d7ebc0L,
  60476. 0x602112c7ad867499L,0xbf81b788d43b5a3eL,0xf3cd28581c736ceaL,
  60477. 0x01a6df580ff424ddL,0x6e527daa95500baaL,0x0000000000000171L },
  60478. { 0x1d966ecbd1b77ff2L,0x2980d1c923985bd7L,0x20a275a635732ba6L,
  60479. 0xa1b81f99430369d0L,0x6052b0183c0a4d36L,0xb4fa4d6c8a790b12L,
  60480. 0xf4ee3079353165bcL,0x79ef46797ed670deL,0x000000000000002dL } },
  60481. /* 13 << 98 */
  60482. { { 0x7ace245a07c2e7e9L,0x64cab9a80fd5b38cL,0x6a04658d9c5cd391L,
  60483. 0xc6e7b879e6b8f8d5L,0xbc208a42349b740dL,0x67f77d263e4deb3aL,
  60484. 0x47b6aeca8c7f3b39L,0x74b9557530083c67L,0x00000000000000d4L },
  60485. { 0x780d1c78d729d124L,0xaa4b4b8bf3bd1ac3L,0xcb0e1707d5afa9bdL,
  60486. 0x336ea478e41831fcL,0xb34289ae0e1e4c73L,0x3533cae21e38d267L,
  60487. 0x50b48d18bd7e62d2L,0x419bc9e607476b8eL,0x0000000000000006L } },
  60488. /* 14 << 98 */
  60489. { { 0x443c1b80fa605db6L,0x57287045107c6a8cL,0xe9fd39204bfa9bb8L,
  60490. 0xecb90ec960291f2cL,0x78b1fc15087ea126L,0x3caa818986592da6L,
  60491. 0x3a2abd00dd8c6d5aL,0x885c9499a771ec5bL,0x00000000000000a3L },
  60492. { 0x15c5483b4ae49580L,0x66b59335ec88a215L,0x5486fe34207948b2L,
  60493. 0x1a41ac9453866679L,0x9f568c63de3497c3L,0x6b2cc6b5ee1a320bL,
  60494. 0xb2e2cc04d12d68ddL,0x3bcd8d271b2a518cL,0x00000000000000ddL } },
  60495. /* 15 << 98 */
  60496. { { 0xcc3f7489019ade2bL,0xefb874571a7402efL,0x073176ddb31586dbL,
  60497. 0x062ea41b73784230L,0x688de8033a8fa379L,0xe281a7a7a2e28e00L,
  60498. 0xa232a142a323d618L,0xd84cb9002792d666L,0x0000000000000143L },
  60499. { 0x2f1e3f96de5d6ab9L,0x9fad76a0b1a97255L,0x0db69c89649a5f4bL,
  60500. 0x3a997973b899710fL,0x75ec0561af8157c2L,0x62753eabd270655cL,
  60501. 0x497669a80b46d35bL,0xcffb44c44b926857L,0x0000000000000084L } },
  60502. /* 16 << 98 */
  60503. { { 0x84b4e6f6783099afL,0xa94ca2294dc772b8L,0xcb768aa65ea29d0bL,
  60504. 0xd47361170fcb316cL,0xc411b7b79775774cL,0x410c974c96ac3f48L,
  60505. 0x1663c40aad24a12aL,0x87f1508da2a503bdL,0x0000000000000161L },
  60506. { 0xecd265ced518bbbaL,0x8d77018ddcc67981L,0x1e9c19223ed1a18aL,
  60507. 0x5484ed8427440d05L,0xd319640942d659d6L,0x82ce3a7181354397L,
  60508. 0xd097534de7d7dd79L,0xda9d11cf084658f4L,0x000000000000006eL } },
  60509. /* 17 << 98 */
  60510. { { 0x2a6ad43f50e3eb59L,0x735dd00ebc32b62aL,0x317f6f679e89b620L,
  60511. 0x7b9e260c36e98778L,0xdd338b8e168d53a4L,0x83c196436f9a8038L,
  60512. 0xff1ec28cb607e41aL,0x2d7cc7618f05f0a6L,0x000000000000005dL },
  60513. { 0x4276274d347c52ecL,0xbaff740b14ce5d7eL,0xb47b6a4167d528d1L,
  60514. 0xd0c678f7962850ccL,0x4891dea22b049133L,0x1786e620ada076ecL,
  60515. 0x09451905486b08f6L,0x948834d92bbf984eL,0x00000000000000a8L } },
  60516. /* 18 << 98 */
  60517. { { 0x92cfc98dea9c994bL,0xcfc7b48217371932L,0x820a2d553180e799L,
  60518. 0x0a164a5a5b0a82c4L,0x45ddc7fd7a87b97aL,0x582e845754b2116cL,
  60519. 0x371ef68d8f9eb2cfL,0x127d572a03067708L,0x0000000000000069L },
  60520. { 0xde83da9cc02d06c8L,0xc262d58529c5e4bcL,0x32c73d8f44046239L,
  60521. 0x2bf12411bebd50efL,0x7a2729e160af2df6L,0xaef5ebfcc859d25dL,
  60522. 0x05efd7c034c0edc8L,0x89adc752185901c0L,0x000000000000019cL } },
  60523. /* 19 << 98 */
  60524. { { 0x485e2623be1f51beL,0x143ebff4f8173134L,0xa688b45a819e5154L,
  60525. 0x67fe58f8eff4fa2fL,0x449394c9d4ce70a0L,0xc37b8a8d12dd3462L,
  60526. 0x2a10cdc1217745f0L,0xd6435c4c17a00c1bL,0x000000000000015eL },
  60527. { 0x3222b4a2ce699e69L,0x9473d565ecbef61eL,0xa183e92e8db063eaL,
  60528. 0x2f2df05d20ff011eL,0xd201a960916ed069L,0x6af80e44c72fff72L,
  60529. 0x994817c219a2150aL,0x63e8bea770fd901bL,0x00000000000001b2L } },
  60530. /* 20 << 98 */
  60531. { { 0x9886a22962c16459L,0x0e0236afe5aa41c7L,0x468d4c3a61fef10eL,
  60532. 0x8c3171ad3db4d163L,0xea4180801022bf50L,0x29c61bfddd95500dL,
  60533. 0x79073998fc1086d4L,0x18e62735d880bed1L,0x000000000000008dL },
  60534. { 0x3772a3a6bab5ed67L,0x59aeaa70c4a82be5L,0xdefd15693fa10eaaL,
  60535. 0x60cf6bbd3d7a410fL,0x9c3ce822061382edL,0x4b45af6448a0b43dL,
  60536. 0x4c7b5a07752c5323L,0x638f2663cfd710f2L,0x00000000000000b9L } },
  60537. /* 21 << 98 */
  60538. { { 0xee1e449ab498ff47L,0xbe4cfc2e82915614L,0x45947d849510e9cdL,
  60539. 0xd413618b021fadf7L,0x896a62bc9cdecbe1L,0xf4113eb9627f1028L,
  60540. 0x5dd6e91605aaea6bL,0xa52dee6d9a1ac809L,0x00000000000001a4L },
  60541. { 0xdf07521a7863cc22L,0x5bdf617356d0ea3bL,0xec462a8693dd110eL,
  60542. 0x4a53f3c18d68aa25L,0x45919920a7d4b28dL,0x2d2d42abfbc5e401L,
  60543. 0x2158573907fa46d3L,0xd5715aa9b937900dL,0x000000000000017dL } },
  60544. /* 22 << 98 */
  60545. { { 0x759c736628c6b666L,0x68d5cbc1f38bb6acL,0xa6acf7fb07508ff3L,
  60546. 0xdb68b1c90d31ee2bL,0xfc8f402a071bbf2dL,0xebed7bdc838e87a0L,
  60547. 0x3441693f9465d8b3L,0x6732878d1dcb390fL,0x0000000000000129L },
  60548. { 0x358cd92b170795c5L,0xab88a0a20a185fe1L,0x9901aeb8c4cc8c02L,
  60549. 0x4b763c08e85250e9L,0x29f2c8154625a096L,0x153b9ed3b3124358L,
  60550. 0xb8af8770a4d48d39L,0x8e3217113164955dL,0x00000000000000a0L } },
  60551. /* 23 << 98 */
  60552. { { 0xccdfacd34cddc5baL,0xa06e3fe25047a9f8L,0x81206e0e9d8c2652L,
  60553. 0x75167c3e88419d67L,0x3c0442de1db10edcL,0x019f18ac0d0d486aL,
  60554. 0x56c7baeb64efbe20L,0xc7ac08b0f7c220bfL,0x0000000000000062L },
  60555. { 0x07ea8fcd9f040b6eL,0xf02de9fda6b37d8cL,0x93fd1121da55f26fL,
  60556. 0xd0393a45090ff3e0L,0xf492651ae4b87e78L,0x4bc0e5b5eef1cbf2L,
  60557. 0x6f560378d51bb3b7L,0xf471b347c5efaa96L,0x0000000000000175L } },
  60558. /* 24 << 98 */
  60559. { { 0xb6d0eeb7510be54eL,0xed352173060b7322L,0x0f581a2183364ea6L,
  60560. 0x78ef831ef59ec71bL,0x09a472c9a055e4b0L,0x0a529bcb7d2404dcL,
  60561. 0x45f10074b461331fL,0xf80627f369a5a576L,0x000000000000006dL },
  60562. { 0x12cf73e37362082aL,0x7cb89bc91d6278a0L,0x2b0c5312b9f399d8L,
  60563. 0x4403d4fb21e7ef6cL,0x34dd11819b453f15L,0xa38c5e981ae02a19L,
  60564. 0xa1ed1aaddce1792fL,0xab8261dba4d71c9fL,0x0000000000000036L } },
  60565. /* 25 << 98 */
  60566. { { 0xfad65c13dac2b992L,0x762f983d5304c00cL,0x4c7b49b7d2da32e3L,
  60567. 0x4c4122a83bf0d5adL,0xe3afec2564f9af81L,0x933f38f305217cbaL,
  60568. 0xb213496e96d7241bL,0x469b9aad37ce2c05L,0x00000000000001b7L },
  60569. { 0xd105c543c1166f98L,0xff7e04a6a913acbeL,0xf07ebe34252a9c03L,
  60570. 0xcc7a8b753e7df88dL,0xf14f0a16e44bdc1fL,0x684fefd718c1bb4eL,
  60571. 0x498ab8c0925b286aL,0x598d3f5808702939L,0x000000000000002fL } },
  60572. /* 26 << 98 */
  60573. { { 0x06c90f137ba2cdc1L,0xb427ace8f70aa58dL,0x33fed4366970546cL,
  60574. 0xaf8ae02b0d5eafa5L,0x74b6f45d390ea792L,0x121708e487c81e88L,
  60575. 0x323a3672d186ce90L,0x1a66c0a48b4e7832L,0x000000000000006eL },
  60576. { 0x331064266beef707L,0x722fb7844f59525fL,0xa73cb5be473798d4L,
  60577. 0x2bebfc77f44d5281L,0xf397282673030f11L,0x89c0d9dad93404e2L,
  60578. 0x4e76c1852e5aa5fcL,0xe95f8dc3275485ffL,0x00000000000000d2L } },
  60579. /* 27 << 98 */
  60580. { { 0xa925539c3ede62d0L,0x195ef41b574551f7L,0x7049c9c1f270aea1L,
  60581. 0x746d0dbf486bb267L,0x3cfb69b104d8eafaL,0xd0a86d9e8cb4df64L,
  60582. 0x8abf12841dbb9b19L,0xe7d381d1d3b0e425L,0x00000000000001f1L },
  60583. { 0xa469a46539ce8ef0L,0x63cfb5adf537b1feL,0x2f84fd9dfb96b734L,
  60584. 0x3ddae07e2ef3ff5eL,0x8be74870350b4402L,0x0e014d43098f11eaL,
  60585. 0x2862b3b50f0784b0L,0x097303411327f2c9L,0x0000000000000102L } },
  60586. /* 28 << 98 */
  60587. { { 0xc9eed4f2599a7682L,0xf1ade4e4a4f4f82aL,0x7479dc8b6ab6d04eL,
  60588. 0x2da874dc271e42cfL,0xc700ca719265e2bbL,0xaf88ba91255fdcc6L,
  60589. 0xf68c29705705e0ddL,0x6ee1135b229fdc50L,0x00000000000000fbL },
  60590. { 0xf4bd32a2a1a31961L,0x4e67eccfc4785c20L,0x8c0cd85d17f740e3L,
  60591. 0xf6930e3ad8c21194L,0x2c9d9c7376b4c919L,0xd32de819e69ea290L,
  60592. 0xc1028dd33724a066L,0xfd3f06ee7538d3adL,0x0000000000000054L } },
  60593. /* 29 << 98 */
  60594. { { 0x616e5cd45bf0af55L,0x6b79cc4dcd382cd3L,0x661574af66107910L,
  60595. 0xf7ad62be9aea6fa1L,0x6a47e48e8c0c9cdfL,0xaf5aca071e6d464dL,
  60596. 0xf180a69f8925c182L,0x282864092b7ca708L,0x00000000000000acL },
  60597. { 0xb6bdf74fa48967ecL,0x95d640c0484ff456L,0x942032b4db3ef654L,
  60598. 0xd12caff283c4f9e7L,0x946903ca1b8fa837L,0x1cd9b1463e8e7338L,
  60599. 0x7376fa9dd4c41057L,0x50be41a35e26c299L,0x00000000000000f3L } },
  60600. /* 30 << 98 */
  60601. { { 0x152c38fcd581471eL,0x05b8e79160b4b12aL,0x5ff32ad285168011L,
  60602. 0x43ff030dbf64b3b6L,0xcb660ffbb119ea1dL,0x0d551ab6abe7c1cdL,
  60603. 0x7c012e803b76feb4L,0x6cafd8b9ffd0b552L,0x000000000000005bL },
  60604. { 0xbc486f8d855d1dfcL,0x8a6440ef381a9c23L,0x5e97a549d9d1b832L,
  60605. 0x351cc9264d4208d9L,0x2c905f05f72a4413L,0x0feb2643c61c13c8L,
  60606. 0xbbebfa77d50dbd43L,0x3bacdd79c7cfee04L,0x0000000000000141L } },
  60607. /* 31 << 98 */
  60608. { { 0xa489600cd04efabbL,0xb1913b347679d8faL,0x071f212fbbe3b326L,
  60609. 0xa78728838b2e519dL,0xde545995b4e503c1L,0x5e5c3df6f58f6c94L,
  60610. 0x8ab21347bd887cc7L,0x894be454e5529c65L,0x00000000000001d1L },
  60611. { 0x5628656d77eb1957L,0xad52a8d96df565d1L,0xa83f387c8e0b8311L,
  60612. 0xbddb40c83f3a1d96L,0x1f91eac2cc121356L,0xff612889d0bb2745L,
  60613. 0xa15437c096e19a86L,0x6ae3410f4efa63fcL,0x000000000000005eL } },
  60614. /* 32 << 98 */
  60615. { { 0xad3570f4d827a280L,0xdb625d88b2f60f8bL,0x81bd93b7ae94d18cL,
  60616. 0xc2fffe8af3ae3394L,0x06b0ec262e4a72b4L,0xf1285a13c7728dc7L,
  60617. 0xd97dee85a4190a48L,0x945e4869d4b0f305L,0x0000000000000023L },
  60618. { 0x44587f935c577abeL,0x256b56424ddd2f17L,0x36e73dff0eab2bc4L,
  60619. 0x6b2b5f3ace0f4471L,0xce1f2f0fa25bae4cL,0xcf10076029866124L,
  60620. 0x0ec9b4d25ea0d400L,0x621b68580adece0cL,0x0000000000000162L } },
  60621. /* 33 << 98 */
  60622. { { 0x33e194dd9a7e3430L,0xe9d5ab561284bb95L,0x9c067ead0e58900aL,
  60623. 0x05355bd3e1af14c3L,0x9a3892ac06815865L,0x5a8c70c331c62938L,
  60624. 0xd8e522e3afee9136L,0x50e266510abe2cc3L,0x00000000000001f9L },
  60625. { 0xd8ab109d2469ed04L,0x90fc703dbdad4fa4L,0x1d0882afda97fdebL,
  60626. 0x60f8b44acdeac89eL,0xc497d8d5af9d0bf4L,0xe30ef07a66044397L,
  60627. 0x614c26190dbb6093L,0x8eebc530ea3adb8fL,0x00000000000000e1L } },
  60628. /* 34 << 98 */
  60629. { { 0xfc84c7d966cf468eL,0xb05444b6a6dd0c36L,0x6ceefdc9cb75ae66L,
  60630. 0xa16407e1fcd19989L,0x0e4d008e3ea55530L,0xe2e44180a8796154L,
  60631. 0x2c96ee812bd73378L,0x84c750f4a6a094e2L,0x0000000000000046L },
  60632. { 0x3ced13152f93d6caL,0xbc1e7b5cb492a410L,0x4e0238df9daeead4L,
  60633. 0x946fe9921e47d1a3L,0x6b3827027ae7ff3fL,0x305d7c604be9a4c8L,
  60634. 0x5b4a7ad35a3421c4L,0x97dd360169cf2602L,0x00000000000001f8L } },
  60635. /* 35 << 98 */
  60636. { { 0xc7c08962ae59aa33L,0x65e33dad2f839e55L,0x751e8014c7cf5accL,
  60637. 0xdce80c8b384a7c9bL,0x4ed68aa2155876dfL,0x68f1fd1e6a12109fL,
  60638. 0xe478bfc5df171beeL,0x25a6d4efa0d40af1L,0x0000000000000127L },
  60639. { 0x3d08cf5216e520a5L,0x0e0c219aec295ca3L,0x4a11607f58c573d4L,
  60640. 0x2e94a059027c52aaL,0x5f86333bf001ea33L,0x1d5390fe8d19323aL,
  60641. 0x530581f92030a6c7L,0x13436ed1984258a6L,0x00000000000001c0L } },
  60642. /* 36 << 98 */
  60643. { { 0x1ff09f33cae6514fL,0x191fe11b261fb47dL,0x97e72c53bdf0b228L,
  60644. 0xf81cdedb8caad4a2L,0xaa5f28367542e922L,0x090df178d68e225fL,
  60645. 0x9adfb6202c8431d8L,0xb8f9bea70f010ff8L,0x000000000000016bL },
  60646. { 0x78fc8973f422e828L,0x8496b0b5d149e76cL,0xb1f0911a565c8f4aL,
  60647. 0xe580f18ca79f3220L,0x8d3b71356fe124baL,0x8911601d673928b4L,
  60648. 0x193c9fa9e5209d66L,0x988483f1bea837ffL,0x00000000000000f3L } },
  60649. /* 37 << 98 */
  60650. { { 0x2c6f263b3fdaa30bL,0xc469da4af8289eebL,0x126c0a3e4f2905c9L,
  60651. 0xac4d69276852183bL,0x9f76c56965b948b8L,0xdd3297e86cc30f05L,
  60652. 0x83cca68afee0c55aL,0x7062249b13d1eb8fL,0x00000000000001ffL },
  60653. { 0x66cca2f1488bb713L,0xe4fe61c013ce959eL,0x10ef025c5bd7aee9L,
  60654. 0x651aede32c4e3aa8L,0xe233186271ba632fL,0x91887184db1340c5L,
  60655. 0x5cae47ac291e4167L,0xbd1dc2ac61e04921L,0x0000000000000062L } },
  60656. /* 38 << 98 */
  60657. { { 0x9365bd5f6e280862L,0x3eb1370af4e5f679L,0xad83574dac728e89L,
  60658. 0x6011dce778ccbe43L,0x51010f61d20a552bL,0x614eaf6c6c29a90eL,
  60659. 0xb1d5f33caea2fcb2L,0xa001efcb12511f6aL,0x0000000000000114L },
  60660. { 0x769ae8486be363efL,0xed582b28c1195a6dL,0xab11de93a3d3cde9L,
  60661. 0x6e467f11acd39daeL,0x0439b529ba6cd7bbL,0x71019d73fc6195a0L,
  60662. 0x9693ad57c81639e0L,0x31a722a10ed42ec9L,0x0000000000000068L } },
  60663. /* 39 << 98 */
  60664. { { 0x0c5c60509cd7678cL,0xac3eeaa649215514L,0x1d124f7ffad388f4L,
  60665. 0x1aed3c0e6d9c49aaL,0x7cb12edb54a3c297L,0x7f1e0889f2432aefL,
  60666. 0x62b2bae3fd1795fcL,0x48e20ba944caa18aL,0x00000000000000cdL },
  60667. { 0xb1a6ca263b7036a9L,0xe53c3a75af94680fL,0x878870b5352a936eL,
  60668. 0xaf3c86ea55fc352bL,0x60a91eabd9b66071L,0xa2c246a297c722a4L,
  60669. 0xe1f2588cdfe226b7L,0xd1671ac1fc2267c2L,0x0000000000000079L } },
  60670. /* 40 << 98 */
  60671. { { 0xf9bfe015460032b6L,0x6410756336a6c19aL,0xb0712a3510d65254L,
  60672. 0x3c97ae7d2a9946dfL,0x28e961edbf77c7f9L,0xf937f17cbc8537a9L,
  60673. 0xed718f65057512d9L,0x7ee133ff8bc561a9L,0x000000000000003cL },
  60674. { 0x675476a99e3441e0L,0xf8abe77c9eeb9df0L,0x0ce788421a10b4ccL,
  60675. 0xa6f28b21793079e4L,0x01c63657267d9dcdL,0x2de2e74e702b40e8L,
  60676. 0x28620c5a25617600L,0x7505685e5d4d9809L,0x000000000000008eL } },
  60677. /* 41 << 98 */
  60678. { { 0xc77c81dfb49ef4f8L,0xcc7a1f775aa25efaL,0xdc450c19b138a6f6L,
  60679. 0x05d2d28b8a09e2e6L,0x6c631d9e49886053L,0x0fb35d84bb82d381L,
  60680. 0xd8a0a353fa26cdc8L,0x8b49879a9a4448dbL,0x000000000000001aL },
  60681. { 0x6d91d316fb8aa58cL,0x933d09813affa02bL,0x6f68fd557c5a5a04L,
  60682. 0xcad6f83f21ede5f6L,0x364829e50302650aL,0xabf09253bc326cd4L,
  60683. 0xfc23db4b75573e98L,0xe6ccc3f67891f2f2L,0x00000000000000adL } },
  60684. /* 42 << 98 */
  60685. { { 0xeded14459eb444e9L,0xd1605d6d257afeb5L,0xd9c649f54a25d9c4L,
  60686. 0x8f148eae369dfcd0L,0x72c632dc79197e8eL,0x55a15a077cdbf577L,
  60687. 0xdd50e58248c28164L,0xd9e03b72971e416fL,0x00000000000000d2L },
  60688. { 0x63443c908a063207L,0xceb2fadf26fe1696L,0xfe06b1df27b56c4cL,
  60689. 0x75978d3adc74026aL,0xdd313d3424c9b16eL,0xd8d800e0eacc75c4L,
  60690. 0xdc863b4b595b73daL,0x638f474f0a6c15f6L,0x00000000000001b4L } },
  60691. /* 43 << 98 */
  60692. { { 0x4e30388a3fa31d74L,0xcedb2dfc4960cae1L,0x744a7745f4f45ce8L,
  60693. 0xd742c0017186bc80L,0xcafad4ad164ca760L,0x396ee3d486f8d7eeL,
  60694. 0x1084ed389b54c6bcL,0x289c4f8e0f7a5b68L,0x00000000000000b2L },
  60695. { 0xf6b9e59783ea21b9L,0x3135f10773dd812fL,0xe1012d9a9ee85a75L,
  60696. 0xc9a47983ba06a432L,0xb237d66881581dfcL,0x1b0225611e35da83L,
  60697. 0x837cc40f94261e64L,0x11f933f5fb3344f9L,0x0000000000000161L } },
  60698. /* 44 << 98 */
  60699. { { 0x5cfc2f27690b6bf1L,0xdc6e6043f33ba977L,0x39dc991e82d11ba7L,
  60700. 0xfb80c94e2922c70dL,0x393dcc3ba5cdeaffL,0xd44d9c7ca687f07dL,
  60701. 0xbd25ebab33bc5437L,0x9a389625d71c4392L,0x00000000000001e3L },
  60702. { 0x0ac41a2f228f0787L,0xabb96a60cde860b7L,0x22cd3ce604c04d14L,
  60703. 0x157669c6f65e7b0dL,0x0ef03f6167abced9L,0x9d2cd63a814717ccL,
  60704. 0x3991c34977387f7aL,0x3c1b38a58a80a7f4L,0x0000000000000033L } },
  60705. /* 45 << 98 */
  60706. { { 0x051a1d25a03c152fL,0xde506b47f51d02c1L,0x6a0458d855e35f7cL,
  60707. 0x9df1cf180c96a540L,0xb658cf9b47a847bdL,0xdb2efe9ce8d42a41L,
  60708. 0x8e2290741219314bL,0xf8fbac85a1cd9697L,0x0000000000000143L },
  60709. { 0xfdf09168226d0a89L,0xb58b9906a82a9965L,0x88fdad1ff0b79bc5L,
  60710. 0x573b2da29ccc3019L,0x4c2a220d8173e9ccL,0x060bc07731f682e6L,
  60711. 0xdf135af96e7e3dfaL,0x78c191ca507811ffL,0x000000000000004bL } },
  60712. /* 46 << 98 */
  60713. { { 0x75627d858584bbbfL,0xbe77f77ec5670f07L,0x86ed433624e2e6cfL,
  60714. 0xe9f725fc83e2e6e6L,0x14b4015ff8a3131bL,0xb1211805c61a5f71L,
  60715. 0x024152443d5b62ceL,0x1aa1a84fcf15a0dfL,0x0000000000000171L },
  60716. { 0x36f8293435d927f8L,0x22e3300715513cadL,0xc5e42e5783d8b14dL,
  60717. 0x33e90ea35251a8c2L,0x64c1eb44d96f4b8fL,0x52f2ec240f126f58L,
  60718. 0xef84f773b2a8cfecL,0x34949d2ed9d11c70L,0x00000000000001eeL } },
  60719. /* 47 << 98 */
  60720. { { 0x7ec007f751d62408L,0xe1669c21119dc50aL,0x8260e2ecf101ad5bL,
  60721. 0x6a6062580c5eae7eL,0x221708bd91ce06f0L,0xdb91beab76d79e37L,
  60722. 0xbdfb4ec33adee1b3L,0x61d216d1feb7511dL,0x000000000000005dL },
  60723. { 0xf77d7881483fb649L,0xf16f36a8d54d0788L,0xece1796dbda356aeL,
  60724. 0x79f49ef894859937L,0xc4397e207982f311L,0xc98b6e076ce8f498L,
  60725. 0x6c9e0cfeb80ac218L,0x485d36a17b24e50cL,0x000000000000017aL } },
  60726. /* 48 << 98 */
  60727. { { 0x95f7fb41da8576c3L,0x42901717d151bb68L,0x7a0277d38777c80cL,
  60728. 0x6827807b5a429477L,0xb98e1de8941ef5ecL,0xadd50957575465fdL,
  60729. 0xd436cda505f5b417L,0x6d30bf0bc232aaaaL,0x000000000000012dL },
  60730. { 0xd4b799a488873a5dL,0x2200c6d4d60dc1d3L,0xb784a12b75c91d8fL,
  60731. 0x6c8aa91f09fed40cL,0x48db563f5720cce1L,0xbb0de5c0f50bddc1L,
  60732. 0x4aa1fb064c4bc117L,0x905d18a31cb0da02L,0x00000000000000e6L } },
  60733. /* 49 << 98 */
  60734. { { 0x05ae51c09ef391c0L,0x6da01b3ebbec8ce9L,0x352303693ed0bf8bL,
  60735. 0xdde6b42cbd380ef8L,0x306e895ec96ab6ceL,0xcf75a84635797d57L,
  60736. 0xed402b30cc298916L,0x66ddc1ffcf95180aL,0x000000000000013eL },
  60737. { 0xc472f66dfeb4d388L,0x446f756911b1a667L,0x4ebb535be578315dL,
  60738. 0x54f8ef708b039744L,0xf6b95976b877b79aL,0xcc4283c1f5430e02L,
  60739. 0x393ea2f9e1778b25L,0x26d55bfec9f45a41L,0x00000000000000feL } },
  60740. /* 50 << 98 */
  60741. { { 0x5617c67b09834aaaL,0x1520f46508ecedacL,0xb331bf9d63dc2045L,
  60742. 0x1633f5f6de5be628L,0x959dffbb65391a40L,0x53450d3241b0bbc4L,
  60743. 0xaa6442cbba6d681bL,0x7e6d47c0f07b5808L,0x0000000000000095L },
  60744. { 0x78def4619649ca24L,0x970eeaad9fd68eb9L,0x2f170dfd1f670a41L,
  60745. 0x8c28d6fdfad9c708L,0x46892517acdef254L,0x0ca7991fb22ff7abL,
  60746. 0x42ef276428c61efaL,0x1b1b24d9879002b5L,0x00000000000000e9L } },
  60747. /* 51 << 98 */
  60748. { { 0xf6465253c4c46cabL,0xcc3593d92fc27318L,0xd17ca4d778519ac0L,
  60749. 0xb34dfb3947d5bfbcL,0x4fe4682e89d6216dL,0xdbe11575a53af405L,
  60750. 0xb622af037d96d9d0L,0x27441f0161f9b532L,0x00000000000001c3L },
  60751. { 0xef5e7b08d1742a09L,0x77b47c7bf740e0bcL,0xbbb5e859b3c2b8fbL,
  60752. 0x676b7939cb40d08bL,0xb98d654932da9e1aL,0x42546a9dceb3d8d7L,
  60753. 0x0f1e38ea5687f118L,0x357ea1d50f472bbaL,0x0000000000000101L } },
  60754. /* 52 << 98 */
  60755. { { 0x85a59a49b81f2d5fL,0x5ab98b4cd12cafc2L,0x7be9e55c9036f3d4L,
  60756. 0xb6644d14ac17dda1L,0x0d6caf4ba23f330bL,0x960e78ef567899fbL,
  60757. 0xb6ec1c3f4bedf73dL,0xbe7e5caba971c6b3L,0x00000000000001b4L },
  60758. { 0x20cb3a6a66a01413L,0x1fc8c49d71dd7853L,0xc6eea4c1d0f467cdL,
  60759. 0x72adc39ac442dc91L,0x1349ac1b9fd5a2e0L,0xa58d769226814c74L,
  60760. 0xbe23da1602685093L,0x411491b34f2278a1L,0x00000000000001c3L } },
  60761. /* 53 << 98 */
  60762. { { 0x5df613d86eeb2735L,0x9adffc0f3bab3590L,0xa9e579d5fbb0951cL,
  60763. 0xb2f2301d93eb0acaL,0xfd90af4277018d78L,0x5fb3dfa8d26e5801L,
  60764. 0xb5f4a0b58db45b65L,0x5152a2c96bff3350L,0x00000000000001a3L },
  60765. { 0x3c3d0aae3bbe30c4L,0xab6a28c32b64812cL,0x552a8e1fd45d39b8L,
  60766. 0x00f9ad121a9ee27cL,0x0985dcca840dbe6bL,0xa511b246f8a3d008L,
  60767. 0xbec2ee441ff2d83bL,0x53a67bbe0e46b345L,0x000000000000001fL } },
  60768. /* 54 << 98 */
  60769. { { 0x63e9d7b2f8ccf1c3L,0x158001879260eed6L,0xa687c4759a40eaa7L,
  60770. 0xcead499e587304a0L,0x0ea47fe6fcd6e4a2L,0x1fd51b69b04a24daL,
  60771. 0x5519ae53a83160ecL,0x4f7d9444ab88175dL,0x000000000000009dL },
  60772. { 0xcd73bd2d8fd64c7dL,0x8da0c21e69451d1fL,0xeb66fd3fc0f3a5ffL,
  60773. 0xcb267f27e9499043L,0x407f43f7df79a3d9L,0x000a877adb145264L,
  60774. 0x056c0e2af3952498L,0x6f893940b83e7528L,0x000000000000008dL } },
  60775. /* 55 << 98 */
  60776. { { 0x42495d2779a151e2L,0x040725e19e477378L,0xc4d382f1ef2c6b94L,
  60777. 0xf34dd70c2b5bb0b4L,0x3d2740c94a5150a8L,0x53de504865e4ddbdL,
  60778. 0xb110cd91f58703deL,0x5c3abd4e167ffc8eL,0x00000000000000adL },
  60779. { 0x136129e5607e01a6L,0xed84c7926c809502L,0xf9c736f8a3f3ceccL,
  60780. 0xc43308d14cf83eeeL,0xc8ae4fca644d91efL,0x3b58a62bc25f1045L,
  60781. 0xdddbbba6a80de8c2L,0xb2c329cf2b831b25L,0x000000000000012aL } },
  60782. /* 56 << 98 */
  60783. { { 0x414530555ab463b0L,0x545b0b693248cab2L,0x25ec52d5dd9b920fL,
  60784. 0x73bf68542dcdb1ceL,0x8efb2a6d02bf830cL,0x794ab4165ea6b254L,
  60785. 0xa4422d12df2a60f8L,0x78bd1b524e9d5a0aL,0x0000000000000026L },
  60786. { 0x3f341acbb43f9e41L,0x4a73e42a6991d638L,0x596cfd672d29b6eeL,
  60787. 0xc9184fe2940dd578L,0x283a30954a2883edL,0x0626dd7aa58bc7ceL,
  60788. 0xf2d6c6ef401334f3L,0x55b107493c254bafL,0x000000000000002eL } },
  60789. /* 57 << 98 */
  60790. { { 0x2d9295c1f2bf5edcL,0xf764d4c5cb524dafL,0x2ca917e19800cf00L,
  60791. 0xda3da70db6d553ffL,0x6a14076bcce4eb3bL,0x1bcbf4e8ddd246c7L,
  60792. 0x653ed1fcfc906223L,0xc0ffa99f49e555d1L,0x00000000000000e7L },
  60793. { 0x6e75a577914f520aL,0x043dd7d0d4070fe6L,0x58ddc37ff47638a3L,
  60794. 0x2d28267b70ceddeaL,0xe1c529280b9f91ffL,0xefa6ec2805e983baL,
  60795. 0xdd61a80670d85f35L,0x9226446bcd48aa34L,0x00000000000000d2L } },
  60796. /* 58 << 98 */
  60797. { { 0x00afd4965d8690a8L,0xf86123ff5f81af58L,0x92791fc1d2e32baaL,
  60798. 0xfb0517927d442591L,0x05d935c115baf7c3L,0xaff80ea31ee6a681L,
  60799. 0x4c82f39458a15599L,0x691aa0055165d86cL,0x0000000000000160L },
  60800. { 0x8fc906b0da216432L,0x2553176a31adbbfeL,0x0acd0c27fa180f5dL,
  60801. 0xcc22f6a295ca0db6L,0x2aa225bbd4f8515bL,0xcad879abe8685485L,
  60802. 0xa7889114fb4b2f2dL,0x5e2f58e958175c94L,0x00000000000001dfL } },
  60803. /* 59 << 98 */
  60804. { { 0xa3fff0780481f1e4L,0x2c928413de29a775L,0xdb08b5d3f7168a7dL,
  60805. 0xb2f81d56633213e1L,0x9928e38b33a95654L,0x42d16f450c473c01L,
  60806. 0x0662ab7be4c7ffdcL,0xbea6e39ef5484520L,0x00000000000000b5L },
  60807. { 0x34cd343237cd50f6L,0xb969f3cd85686cceL,0x10558cab3e15b35bL,
  60808. 0x87aa8ec532f13ad4L,0x706b9ee99311191dL,0x38adfcb860ba780fL,
  60809. 0xa1485d172515550eL,0x2de9d6fd18b92a8cL,0x0000000000000052L } },
  60810. /* 60 << 98 */
  60811. { { 0xdcdfedb147c91a15L,0x89c1654de8003763L,0xeef03c09e074525dL,
  60812. 0x1a75460c0b7979d2L,0x58881343fed5ae1fL,0x3fcd3227ddb9340aL,
  60813. 0x1e4db699885bf042L,0x2923f9382340afaeL,0x0000000000000067L },
  60814. { 0x934ef610cce2e800L,0x8db3f34bbfb68efeL,0xd78192d6c8df9008L,
  60815. 0x94929564d3fa0c49L,0x2d0cdbabfb20d848L,0xbe73f64fcd307b38L,
  60816. 0xbdf434f3183096a8L,0x009a7ab97bb336bfL,0x0000000000000096L } },
  60817. /* 61 << 98 */
  60818. { { 0x51482c31c0279b71L,0x5a64d764fa114064L,0x1cea19dc613f02e4L,
  60819. 0x584b4754ad92a890L,0x41d258fefe288772L,0xa46f97e2712b9833L,
  60820. 0x6834b1b47263bd06L,0x2377b6a5e840922fL,0x0000000000000085L },
  60821. { 0x785b453e05243545L,0xf7cef5b951e1376eL,0x0b4baf26bf6985d3L,
  60822. 0x1b19968160b01ea0L,0x8c67d48322d1bd0aL,0x44534e2069d7265dL,
  60823. 0x5c66184f4d1b7631L,0x80173aabb4f2f684L,0x0000000000000139L } },
  60824. /* 62 << 98 */
  60825. { { 0xb2f73e97c2f18c9bL,0xafb9e244bc189020L,0x7940431bb4f03f21L,
  60826. 0xdf6d7a8da1743efeL,0x34b51488b2d1f43fL,0xa4c57f09da0bb60dL,
  60827. 0xca8497729e7a0788L,0xabb13fae3c00114bL,0x00000000000001f3L },
  60828. { 0x82b4d795bc829c42L,0xf9f1dad153a68a72L,0xf4dd335759991d6fL,
  60829. 0x1602f217fff13f30L,0x55af8ec3e9568101L,0x36f1d1f1147a832eL,
  60830. 0x9f1dd9d2408cae6eL,0xe5d03de373b26e6dL,0x0000000000000193L } },
  60831. /* 63 << 98 */
  60832. { { 0xf3dd72a10f87eb25L,0x8ef640f8237745deL,0x49c04801fc90b8afL,
  60833. 0x836914f5bc493335L,0x3fc6bc7c66e73cf5L,0xbec3517371e8f965L,
  60834. 0xec11f247478c734eL,0x1806c5d2f53ad410L,0x0000000000000058L },
  60835. { 0x24f77c0dee27650aL,0xf19cd730e89f447aL,0x2d4d5ff8af16422aL,
  60836. 0x4a5a3cf9b38edb7dL,0x4476596d9a775f5dL,0x2fda6cb49e5716c4L,
  60837. 0xe4926cdd84e5e040L,0x54c354ba388b853dL,0x00000000000000e9L } },
  60838. /* 64 << 98 */
  60839. { { 0x5d3f00ecbecff63cL,0x280fc963671a2835L,0x27cf9990849ad2f5L,
  60840. 0xa1cfa523b27c7f2dL,0x9d9a6870b8278b74L,0xd6176cdf9ee793b2L,
  60841. 0x9a98521ab31e9501L,0x4422e43e7436e438L,0x00000000000000d9L },
  60842. { 0xda4f7464daa8dc76L,0xa5b83150919e1298L,0x00d3948d81c82c13L,
  60843. 0x95def32463724cdeL,0x9b57597b7d5a1038L,0x42d9d64e57432b3aL,
  60844. 0x9807d998936e411cL,0xe68eefacf1e57507L,0x000000000000003eL } },
  60845. /* 0 << 105 */
  60846. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  60847. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  60848. /* 1 << 105 */
  60849. { { 0x45d90cf8876b33acL,0xe53e1a993ed58f0bL,0xd5d181f549d916b3L,
  60850. 0x1b1ef0402ec09be2L,0xe5787176b2113b57L,0x11d02e708073044eL,
  60851. 0x9d1c19e7a2ae38ddL,0x2662d4943634f6faL,0x0000000000000130L },
  60852. { 0x454c8a736bd6208eL,0xd2447cefae37911aL,0x56ac592e69b8c5aeL,
  60853. 0xe7f564839b615bfcL,0xfac066e1bbe7fe62L,0xb2ac3ee1b7777b32L,
  60854. 0x55f8653315114adaL,0x15cba83e46497cc9L,0x00000000000001efL } },
  60855. /* 2 << 105 */
  60856. { { 0xc06a64ce981fd289L,0xb8dc2603d11fcd02L,0xea27a922770d2eb2L,
  60857. 0x83c64076da8f19edL,0x9f6d1b650ae6a311L,0x977277bf73fa8721L,
  60858. 0x7115ef98cc0292d8L,0x93237ae7d2e0c67eL,0x0000000000000069L },
  60859. { 0x83481b595c151734L,0xba00bd740ac1576eL,0x48f33272f178d4f2L,
  60860. 0xe09fde3816492d95L,0x876124dbb9dfce3fL,0x27e7b1e503fe728fL,
  60861. 0x79347e4604f98f99L,0x63ec8c5d48dcf0eeL,0x0000000000000149L } },
  60862. /* 3 << 105 */
  60863. { { 0x82a80d88b23b9243L,0x1a102766d91555efL,0xdf3cec50f069fa76L,
  60864. 0xf6c125294319ca89L,0x9a11b37a0330eea5L,0xa5a659a902c12564L,
  60865. 0x3e01e4311612fa73L,0x85580747e35674b7L,0x00000000000001daL },
  60866. { 0xfa500e83b5a20999L,0xb539909dcc336ec6L,0x76aa969e7ae2ac1eL,
  60867. 0x2144206ce0a9712fL,0x095fec7e3ec387d1L,0x5988797252c7840fL,
  60868. 0xb61a7c61262f5f93L,0x75bc25e7a76b83b5L,0x000000000000016aL } },
  60869. /* 4 << 105 */
  60870. { { 0x327d64092ccbb0daL,0xc5750f6adc39da33L,0x8b9eebbf7383f8f4L,
  60871. 0x9ebb5a8e256c4edfL,0x7513f7c0a917a2aaL,0x31eb5a3dc4824bd9L,
  60872. 0x2d6a4cfc2ed4a7f4L,0x9ee354aae0c9c30fL,0x0000000000000179L },
  60873. { 0x20eb09c9cbf2d15bL,0x4574d31c2547c112L,0x76543e3dd38e79adL,
  60874. 0x1d35b8874edc05c4L,0x3ac58dc7aea4de85L,0x9aa6fa0aaf5715e1L,
  60875. 0x8869704eb163a66fL,0xc685ea7ad14001caL,0x0000000000000083L } },
  60876. /* 5 << 105 */
  60877. { { 0x5b6711a5052b505aL,0x3b32ee5adbb104daL,0x3a59883e14432cfaL,
  60878. 0x57b6d6bc88b7c74aL,0x363dc2628d5582a5L,0xbe6d3bf58928103eL,
  60879. 0xfffbeb0963b06525L,0x29acbf58fac9b5ecL,0x0000000000000002L },
  60880. { 0x78696df41ce15975L,0xa9732060c78337eaL,0x288fe1958aafa892L,
  60881. 0x5de9cd9132a7be5aL,0x2f1baccdbec8ed8fL,0x88131f8db1f0d997L,
  60882. 0x8d15c4049d123bf3L,0xf460d41630a1544aL,0x0000000000000029L } },
  60883. /* 6 << 105 */
  60884. { { 0x95524dcea3342331L,0x2ddf9b2f0e413b88L,0x342e0ce86a03fbe1L,
  60885. 0x8e2dec3eeaa3999dL,0x3ccf191b5ca80ad0L,0xf93ebc99804b9c29L,
  60886. 0x97d83573f2282b48L,0x51f33e7359ecb135L,0x000000000000004eL },
  60887. { 0x789b5cfc7d53f035L,0x5ff3ae9a209b881cL,0x09af30bd80dcd35bL,
  60888. 0x850cd0aa799b2059L,0xb660d065e2642327L,0x9d9424520f5134b0L,
  60889. 0x1fd8897381ab299bL,0xe126dbe9b6a2ba25L,0x000000000000013cL } },
  60890. /* 7 << 105 */
  60891. { { 0xcc6292a08a547e2dL,0x9a76a8e180565c69L,0xda4d2475fb616140L,
  60892. 0xc9cd45238b5a04c3L,0x8313b6c0554879adL,0x9a103a9522038226L,
  60893. 0x4e5db49dd06a57e5L,0xfc49d649d1f333efL,0x0000000000000063L },
  60894. { 0x529f97e82f30ea09L,0x06692dc9416e0148L,0x534c9f6ef6dcca0bL,
  60895. 0x26f9f8409d575d04L,0x93f66c9743c153d2L,0x776b12bd9d1b22cdL,
  60896. 0xa44528e4b4000757L,0x738ecfb9881f46c4L,0x00000000000000e8L } },
  60897. /* 8 << 105 */
  60898. { { 0xbee094232a7f01fcL,0x75176a16998af9a2L,0x13273068fbe89a7aL,
  60899. 0x3e74aa6f13c42b6aL,0x7da022be579c61b0L,0xaa759216ff23e10aL,
  60900. 0xcf7f7d1afd852641L,0x0e9aaf1c1090b6c7L,0x00000000000000dbL },
  60901. { 0x483b1f8c6d9ebcadL,0x25f3aadc987b2c42L,0x83a7bd03f70950d0L,
  60902. 0x67aefd6a14f250eeL,0x6e90c4f990070d75L,0xb9d65432035fdd1eL,
  60903. 0x190281bb2ab23f7eL,0x36008cb1b69015daL,0x0000000000000137L } },
  60904. /* 9 << 105 */
  60905. { { 0xca31701dc0f403e8L,0xce036ea893374a84L,0xf15352701872a713L,
  60906. 0x346ccdb0e92111e7L,0xd0427b8ab3ed8f01L,0xa165cec95fea17ceL,
  60907. 0xee36680a6bff1155L,0x0db2ff965a8d9ad0L,0x000000000000004bL },
  60908. { 0x8f2638947cf7d4fdL,0xb1a229c024f483f3L,0x141a47114139f5c5L,
  60909. 0x4449f744e2a1f981L,0x1450ba3101c7860aL,0x5b968d93857f6d90L,
  60910. 0x63ac13fa1646bbaaL,0xb43e9791d771bff6L,0x0000000000000110L } },
  60911. /* 10 << 105 */
  60912. { { 0x105147eaa3ef560bL,0x4a60db0bdc1823adL,0xd8e3108b48c7d8d2L,
  60913. 0x562883f0a2aa9b3aL,0x59413cccf07a672cL,0x8d5b9b0ad952cc65L,
  60914. 0xc63448bef4ec1122L,0x82790e4d35ea3ffcL,0x000000000000003bL },
  60915. { 0xb50f1a1a88531051L,0x5529d01f18f9cd8cL,0x57f285f266427c66L,
  60916. 0xc98f9e0abe17e614L,0xa773fa6e3bd58a1cL,0x8598347086cfbc69L,
  60917. 0x54cba22bdac04edeL,0x847b94b086e3311eL,0x000000000000015bL } },
  60918. /* 11 << 105 */
  60919. { { 0x1d61cce6ad9b2624L,0xc78885f8427ab78dL,0xd59f99b14857d152L,
  60920. 0x3346b89ca5824a84L,0x8430b19997613060L,0xf59e15a866033997L,
  60921. 0xbc442c8ea4ba1ed0L,0xb74f9fca46645f9cL,0x000000000000010fL },
  60922. { 0xe65a7edb5a48ff11L,0x145010e14866254fL,0x041641c5b4e7b068L,
  60923. 0x54f8ae8efeb7efdaL,0x506d0109d08412eaL,0x4aed71b9d1b1a35eL,
  60924. 0xfcdcf29c36c821e5L,0xc9b518d3da012ad9L,0x000000000000015aL } },
  60925. /* 12 << 105 */
  60926. { { 0x2dc395a5556d2be5L,0xd27a811d2fe83cf2L,0x915fbe80e070e5d3L,
  60927. 0xc3e38ef0c80a61afL,0xc1b529f6b988671fL,0x74b7fce60412de40L,
  60928. 0x8ff8c2c5a6ec7d2aL,0x7d3093d743346692L,0x0000000000000032L },
  60929. { 0x6d6fd108ef669f24L,0xdb66a863e60d43d3L,0x2cdb23a2da77cc60L,
  60930. 0x6baec01bd73a2bbfL,0x4ad344c27d5fe4c5L,0xd6cf895c9f1df645L,
  60931. 0x9cabb9379501481dL,0x3f57061a600abd58L,0x0000000000000042L } },
  60932. /* 13 << 105 */
  60933. { { 0x9c26b76ab37d43cfL,0x4ff11777927c55b2L,0x585193b49f3f5d94L,
  60934. 0x3d85adc371de2d3fL,0x76d195fa70a2a2beL,0xc91acdf60f514a93L,
  60935. 0x921b5a28d78a46abL,0xe46c201728239dc2L,0x00000000000000e4L },
  60936. { 0x6d7969d8d3531ba7L,0xf409eb62ecfbe5eeL,0xb31fe091d2c08a17L,
  60937. 0x250b1f2efecaa70fL,0xfc73982e66500ad3L,0x4dac9fd1ffab2445L,
  60938. 0x507eaccaa3931986L,0x83eb25409bbe5225L,0x0000000000000105L } },
  60939. /* 14 << 105 */
  60940. { { 0xb9e3b8bb17a515bdL,0xf8d68dd2d396d767L,0x7de89508decadc2aL,
  60941. 0x9831907c75695a61L,0x4c5f2cc7a3b7d429L,0xcea07ffc4ee09e20L,
  60942. 0x309f2c3fef0d7f4aL,0x3227ec7f9643a1feL,0x00000000000001dcL },
  60943. { 0xf8cd3e8373ee6524L,0x5570129e98f4749eL,0xc8a020dfd9f271b3L,
  60944. 0x0ab6677db2fbafd9L,0x0a0168838b084241L,0x466644d787d85db5L,
  60945. 0x3d631143fb15dbe1L,0x698e8237c6afa7c0L,0x00000000000000a0L } },
  60946. /* 15 << 105 */
  60947. { { 0xfb9c0840bf144a2fL,0x1fddb4d78eea78b8L,0xcd5da1617a68c123L,
  60948. 0x57bac9f5ce110d74L,0xbc329c6f726a02baL,0xf2e4e02404b8b550L,
  60949. 0x88018b6a9f558689L,0xd1eb211aa0192931L,0x0000000000000066L },
  60950. { 0x5501bc7802a25d57L,0x5eabb394b7c28b33L,0x4a322d1b7fbda862L,
  60951. 0x67f3f67e6314f639L,0x06e2768557f63f41L,0x2d1fa432b4657646L,
  60952. 0x0338960d3950136dL,0xaa94f24fd48716a5L,0x0000000000000188L } },
  60953. /* 16 << 105 */
  60954. { { 0x80d935b163b7a2ccL,0x3315375ed6dc2acdL,0x400bb7948b895a51L,
  60955. 0x35962ff9b28f625aL,0xd75e5cd7ef66bec1L,0x3bea41715157464bL,
  60956. 0xf372e7c8605c7eb3L,0x3741fbf0e3301a57L,0x00000000000000bfL },
  60957. { 0xa5388110d0c6184bL,0xcaf6355ef89ed74aL,0x4e170981fa93c1eaL,
  60958. 0xea60089b0dd9b47fL,0xa27efd8b3b9cda73L,0x5852497b5ee68672L,
  60959. 0x60f0dd9c45bac304L,0xf444a8f03048cd59L,0x00000000000000baL } },
  60960. /* 17 << 105 */
  60961. { { 0x95f255bb5c07340dL,0xf8de4c0b69160158L,0x234d0988543e6e26L,
  60962. 0x728fe0b5fdbbdcdaL,0x28415205dc5479d1L,0x0d10dabb4737ebe0L,
  60963. 0xe66b187c8bcd92a4L,0x7c1384f8268d40e2L,0x00000000000001b5L },
  60964. { 0x8f6f9b23c6f33f05L,0x84188aaa402cf04dL,0x0c34d78fd3d3cb54L,
  60965. 0x99b6220be5a78cdbL,0xca0404e0f3f4a122L,0x3e0f1a94d9b7dbc7L,
  60966. 0x69544dcc1e434d32L,0x3c5e1f066cf599e2L,0x00000000000001a5L } },
  60967. /* 18 << 105 */
  60968. { { 0xd5c3ba5d9b7426e2L,0xbf007ff534f50a36L,0x1f35505edd9b1ae0L,
  60969. 0x4207411bf1170c6dL,0xa092286e1fa9f8c2L,0x8561f6d09aa935faL,
  60970. 0x25f6a210887aa36eL,0x1326468d916cf990L,0x000000000000014aL },
  60971. { 0xc5b4aec75f4c5f97L,0x19078493fd51578bL,0xcce5c1b5d27f947eL,
  60972. 0x555a000791d55544L,0x673149265ee062edL,0xc2e2b9bb30473d65L,
  60973. 0x84a0705f0c4f654cL,0x2e7ddefcb53d901dL,0x00000000000000cbL } },
  60974. /* 19 << 105 */
  60975. { { 0xad0f207da13d6874L,0xaeef4cf48cb34cc1L,0x9d7d25e0cda81d1cL,
  60976. 0xe8c11d3a47b69696L,0xdcacc0c193463587L,0x8da07ec922a666bfL,
  60977. 0x586f6831dd7d59bcL,0x98e125d5a4e67363L,0x000000000000015dL },
  60978. { 0x0f9878144fc1e663L,0x739c449ae54e65abL,0xc2f151cddacb89f8L,
  60979. 0x54c9468cfda8de8bL,0xfe379ed859e9db53L,0xe53c1246de0d711eL,
  60980. 0xc72d6669b716288dL,0xd98eb6947ff434b8L,0x0000000000000197L } },
  60981. /* 20 << 105 */
  60982. { { 0xd8828453ba55c50eL,0xfba129a6011f25cfL,0x92b111d214212513L,
  60983. 0x606c4cac10dc46bdL,0xa2bdb94ec971ab1aL,0xef64fc272ed13cfbL,
  60984. 0x4e6abf3b6d95da9cL,0x893ad58b6db4e176L,0x0000000000000093L },
  60985. { 0x8aae0314242e9cd4L,0x7d6d2214e64a78e2L,0x03a80376d3b2f48aL,
  60986. 0xdd43f77b18e8cac0L,0xf140eb83098210f5L,0x0a31f295b84aa3f7L,
  60987. 0xdc0dce3edf6e0c08L,0x69d9d0ad1f6094c0L,0x000000000000016eL } },
  60988. /* 21 << 105 */
  60989. { { 0xed2e0249efb97167L,0xb89824df19f6e8d9L,0xe23ede3948475753L,
  60990. 0x70604a1063c1dad0L,0x722e21c1ccd7cad5L,0x6df0e5f2a10d5e50L,
  60991. 0x61ca16329aa48e17L,0xe65eba88f9569945L,0x0000000000000023L },
  60992. { 0x70f4a192cb5b92ebL,0x2b9a208a8900f126L,0x76409cc9f97972eaL,
  60993. 0xf41dcf4ff70e601cL,0x2650a3476f181642L,0xfb733417318b0fe1L,
  60994. 0xc6b04e56b5a047eeL,0xca664142806a09c4L,0x000000000000002cL } },
  60995. /* 22 << 105 */
  60996. { { 0x1ac10389b68f339fL,0x91b38759ed194f5eL,0x3914798fba6b7970L,
  60997. 0xf3539fa888adc703L,0xafe49a1323a1eb1cL,0x07391e320e9a2944L,
  60998. 0xfe950d80c196e2e6L,0x757a6aec3d5aad1eL,0x00000000000000bcL },
  60999. { 0x21f49f512bc1cf8cL,0xdb4a00d39672f74dL,0x1c85164cb58d71b2L,
  61000. 0x8dec2f612cd5ed70L,0x88bf4b050eed1979L,0x33896b492dbd7dd1L,
  61001. 0x0524e9cf77fa12f2L,0x42e60f7f839d35a8L,0x0000000000000029L } },
  61002. /* 23 << 105 */
  61003. { { 0x491564d68731bfb8L,0xe89203481128cfb4L,0x0026a96d348cd681L,
  61004. 0x58193c9ea0af729fL,0xa3e1089947a22bb8L,0x074a8f92dcd1bfa7L,
  61005. 0x45cbe7b054946516L,0xfea57561cd7b02f6L,0x0000000000000069L },
  61006. { 0xb19a61bc10b93767L,0x2866d9cd9dcdb1b4L,0x8f540d9d3b401ae1L,
  61007. 0x196d3843ed89cc1bL,0xfaa6336ea19e3aadL,0x1132d0261b294d32L,
  61008. 0x9aff85ed6a0b975aL,0x11e2111302584ad0L,0x000000000000003fL } },
  61009. /* 24 << 105 */
  61010. { { 0xcacf976d657d30afL,0x8d99f439e599602eL,0x89b7ba5142c60609L,
  61011. 0xbe1fd86127695726L,0xd1fe4929cf48052eL,0x785c994775a3938aL,
  61012. 0x89c0d82562f5496fL,0xcf585a3f24237d10L,0x00000000000000eaL },
  61013. { 0x3d2d602df48c877eL,0x56732dbcf094b87eL,0x5603dd5c4c825b63L,
  61014. 0x41a7454849d45408L,0x573734f5ddfc690bL,0x5fa016412c2993aaL,
  61015. 0x1bd91fcaaadfe3cdL,0x3cd67d47be83c452L,0x00000000000001d2L } },
  61016. /* 25 << 105 */
  61017. { { 0x1003b83b3cc92301L,0xf5e76d65f8f493d0L,0x2ce44912fd07df7aL,
  61018. 0xb2781226fa8fc5caL,0xc1188930371bb7b0L,0xd903037daecaa2f6L,
  61019. 0xb5a0c7b572ffff20L,0x250bc26809e28877L,0x00000000000000daL },
  61020. { 0x51246eff1d835cf8L,0xca86aff7e2aa17cfL,0x4a286343ed95465cL,
  61021. 0x761b330a2e0ec7c4L,0xcec609e70e238a29L,0xaf57e17f2ded7b72L,
  61022. 0x783fee52dd97a8e7L,0x9e70a6bac9b0e6e1L,0x0000000000000148L } },
  61023. /* 26 << 105 */
  61024. { { 0x9ba159e917acbbacL,0x21d2cd40b3b2d4f8L,0x19d30414cf0c0962L,
  61025. 0xea38bfa1e46a922fL,0xbe6961f2463d079cL,0x811dff90c6bf5348L,
  61026. 0xd96c494b785c3396L,0xf3ad523ddcd944e8L,0x0000000000000066L },
  61027. { 0x634d8e7d206d05a8L,0x15b16c22a1324639L,0x16b8add8e59be967L,
  61028. 0xfeae166da509f7ccL,0xb9c7e3979f5a873cL,0x7bc71c573ef93a82L,
  61029. 0x6b70e12d6115406eL,0xe22f4254de6bab3cL,0x00000000000000adL } },
  61030. /* 27 << 105 */
  61031. { { 0x7552422040c553faL,0x8b57e7c008e5d334L,0x69dc672bb0576f54L,
  61032. 0x93f4183b389374d2L,0xb75b0d40cc422c64L,0xb44b0e56287a6c2dL,
  61033. 0x6409c0e89c25d3baL,0x02c259d8c06b946bL,0x0000000000000089L },
  61034. { 0x84719a851b45cccfL,0xca07d64720613663L,0x04055dbca18c0ce1L,
  61035. 0x2769ca934c88632aL,0xebd3eba9ae212295L,0xbbcca701d7d19150L,
  61036. 0x7890908d5520d207L,0xbe9223c03918f231L,0x000000000000001dL } },
  61037. /* 28 << 105 */
  61038. { { 0x7681afca91957c78L,0xd0e5379bf37ff077L,0xf5d60a4494adc198L,
  61039. 0xdf6fd776d87fe24aL,0xe361851fd13e39d8L,0x2513ccb0576ba50cL,
  61040. 0xfa50610afb934e52L,0xbeb4cabb8dfdc65eL,0x00000000000001b5L },
  61041. { 0x578b16474b080c52L,0x5c27918e45a7bf77L,0x8eb701fd5007f0c5L,
  61042. 0x98bbf9989230a8a8L,0x82cf1074790f53d9L,0xff6b6226a375084bL,
  61043. 0x09a928db2eb7289aL,0xc28d4dacfe5e2315L,0x000000000000011aL } },
  61044. /* 29 << 105 */
  61045. { { 0x31bc319cc98a9c37L,0xa0bb2283a3984dbcL,0x3f301a6b54cd9423L,
  61046. 0xac47b1b806b84615L,0x26450a5582d1dbffL,0x1d5657363a97de2aL,
  61047. 0x47aed4ea512c76a2L,0x7ccd33197fd528d3L,0x0000000000000055L },
  61048. { 0x2164253f5696d45dL,0x5e0bf77bb4f480d6L,0x1abf68e6540a1dfdL,
  61049. 0x17538afb9e1e823bL,0xa0f9656e310ac00aL,0xead8fe6396b4c493L,
  61050. 0xbb21e9ed4430ccc4L,0xe750b446f8db037dL,0x000000000000014fL } },
  61051. /* 30 << 105 */
  61052. { { 0xfba9eb2d3cec0762L,0xa9fcc5c16e39d300L,0x49efec4e5d9d4024L,
  61053. 0xf0de3c99a14df0e5L,0xf1a1eda4cd197e7cL,0x23c79138c8fa57dfL,
  61054. 0xfa27666efaf7ab50L,0x88c563d41b17e0b9L,0x0000000000000103L },
  61055. { 0x354d24b33bec9b99L,0xa6f3879ea3b30a27L,0xad3cbf31c4a341d3L,
  61056. 0xc39733b81873136bL,0xb0e58f73d36a0e8eL,0x6de55e1efb08244fL,
  61057. 0x921fe1304a5d4a2fL,0x2ab1ca90c634beb7L,0x0000000000000176L } },
  61058. /* 31 << 105 */
  61059. { { 0x07c0f5899a41407aL,0x9c8bf2b39bbbd8e9L,0xa5b4bcf8e513a7dbL,
  61060. 0x85e61af7f2979de9L,0xf4ccbb625ca009daL,0x41d81be066ef1639L,
  61061. 0xc7870e2a74a14becL,0xd0817703e04c1567L,0x000000000000000fL },
  61062. { 0x2be84421f2970915L,0x59794c74f26c5082L,0x8883a0bbf491677cL,
  61063. 0xcdcb38a31f01db0bL,0x7ba2101e6fba9ddfL,0x9228e0674b0b0f97L,
  61064. 0x0000e6124d5c084cL,0xe7be273d6bd21734L,0x000000000000016cL } },
  61065. /* 32 << 105 */
  61066. { { 0xd15ea6b41f8670abL,0x1957a0f1199b1007L,0x113aff43e3efadc2L,
  61067. 0x07c606090fdc6abfL,0x93e7ba310bb0014bL,0x0f6b7e135d34945fL,
  61068. 0x2303a74aa9f86051L,0x6c9fc83a312cf1b2L,0x000000000000017bL },
  61069. { 0x5588cca5e501aaa7L,0xef0d3bc16e7ac7bfL,0xbffcd55147339a1aL,
  61070. 0xf83b4cb8c36eaf74L,0xa4e70ee39ed93d5fL,0x0972ac415c249069L,
  61071. 0x2e9968feca09bde3L,0x1b5b37298c5aec39L,0x00000000000000c5L } },
  61072. /* 33 << 105 */
  61073. { { 0xacc96c98b769fd56L,0x86d507327dae0910L,0xa1dd43651386165eL,
  61074. 0x38e6d2a3f3213894L,0x890e1328f8b379aeL,0xa6200559306788d4L,
  61075. 0xf88c4751a7def4f1L,0x6975c2db70bc1914L,0x0000000000000100L },
  61076. { 0xa8f2f1c9b892640cL,0x5b1ed01e21f7b44bL,0x13ff919bbacaffcbL,
  61077. 0x76bae5427271c130L,0xf6daeb9faf5a9725L,0x9da7b38033ec07e8L,
  61078. 0xa5cf0ef503585e6cL,0xf79529ffe6ef4b51L,0x00000000000001a1L } },
  61079. /* 34 << 105 */
  61080. { { 0x1f7b4389bdeef89eL,0x6789ffd1066ce776L,0x671ae6869d25dc8aL,
  61081. 0x6e4eaae92a888ac7L,0x232dbd9f46a4af36L,0xbb17127ac6fea211L,
  61082. 0xe34ac986ff807938L,0x0222d0b4132b4057L,0x00000000000001cfL },
  61083. { 0xf1511b8e8217c466L,0x04a4581414fdd478L,0x49147df5a79487d8L,
  61084. 0x9bd381fa23c6e0fdL,0xd91d805a9f74cf82L,0x0ab490b37a8b86c7L,
  61085. 0x090cf1b26d582a67L,0xc64ddf5627fa5841L,0x00000000000001c6L } },
  61086. /* 35 << 105 */
  61087. { { 0x3bdf7a2ad1814226L,0x07c5dfc8f027968dL,0x4bb29e991211439dL,
  61088. 0xf7c1b4f71caf12c0L,0xd7b807fb79f9fde7L,0x938bf15f5fb1dd69L,
  61089. 0x073eebfd1780e837L,0x642b138cb0faac2bL,0x0000000000000168L },
  61090. { 0x56b0d340082b362fL,0x0bfe8f67f85cc2dcL,0x50c288955c32b783L,
  61091. 0x1e53f45c7b898114L,0x71b9ae7056cc9e6cL,0x56b5107c72099c86L,
  61092. 0x63311d09311f3509L,0x78acea51d6a5f3d0L,0x000000000000005dL } },
  61093. /* 36 << 105 */
  61094. { { 0xc2089b19fcc9c03eL,0x089cb861b3c3b222L,0xc98b822e1ce7d1e5L,
  61095. 0x3dabb2044977f564L,0x227cb87d5ea70d29L,0xdcafc8a47069304cL,
  61096. 0x20d80ad6802b1253L,0xca26c7426b904cd6L,0x00000000000001b3L },
  61097. { 0xb9ce07cead8419aeL,0xa9b14ff2a9544909L,0xfd3d940bb7a73089L,
  61098. 0x5fc97e71d3d01c28L,0x84eadd2847850cf8L,0xb54183bb27f823aaL,
  61099. 0x557fd65129af6bf0L,0x180b581acc18b8a8L,0x00000000000001f4L } },
  61100. /* 37 << 105 */
  61101. { { 0x7a4cba6bb978f541L,0x3e6f49205343823bL,0x2bbd7ba217fbe204L,
  61102. 0x4026c8212de816d0L,0xc3b60a1a0e9b6bf8L,0x9ed6b7df684e996dL,
  61103. 0xf50e40abe73868b2L,0x10b2f15cc492b090L,0x00000000000000daL },
  61104. { 0x221216615aab5f3eL,0x8e9e9c682529ac88L,0x12a17b7723cdd031L,
  61105. 0xef53fa6250d3b5ecL,0x2d09807c8fad5c6dL,0xc40e0cf6487138ddL,
  61106. 0x52d5db3b323038f1L,0x1425a7359d09f1aaL,0x000000000000019eL } },
  61107. /* 38 << 105 */
  61108. { { 0x59fed1c491a11ed8L,0xfe263c0a3180d98dL,0xdcdc10e42d368fcaL,
  61109. 0xaa2f0a1bef1e9926L,0x768984895745f2e5L,0x48830803112ada7dL,
  61110. 0x4c63137696c9e854L,0xc0e129f08250e11dL,0x0000000000000191L },
  61111. { 0x457dd4a21e6bf787L,0xecd443ca026b528dL,0x4a02a60ad84d6716L,
  61112. 0x5a2a31fee3f215d7L,0x05c6ea2ef4789397L,0x78bb4bc49df48571L,
  61113. 0xbd322028c263a45aL,0x57bc9ae162fc82e6L,0x0000000000000131L } },
  61114. /* 39 << 105 */
  61115. { { 0xa51538ca93f73b65L,0xa209bc3c23ecb9fbL,0x5f4b4dbe6590de4cL,
  61116. 0x410efe51eba978b2L,0x2c2cab5d0159bea6L,0x506278d2a9e69f90L,
  61117. 0xcad07d66b89db270L,0x5b59625e22847a48L,0x00000000000000abL },
  61118. { 0x4c305e6bb8cea678L,0x5842bcd09909f9a3L,0x53a5a114477599b2L,
  61119. 0xc7c5a7e8a735de6aL,0xec49f912c9df0d78L,0x794e2c2d3be4756bL,
  61120. 0xdb7b920d68824272L,0x3c4823e0e7d2549fL,0x0000000000000156L } },
  61121. /* 40 << 105 */
  61122. { { 0x8ff38aa4093edcb7L,0xc3c6b459e8f5564fL,0x613e5157b8935ffcL,
  61123. 0x1eba7a2ae10e448eL,0xcf8d70c9fc31845bL,0xe1e4d5bb77f5a42dL,
  61124. 0xe61bc59edd07816dL,0xa0928cb3e85fabbeL,0x00000000000000c4L },
  61125. { 0x12e7717eacc0393dL,0xca036b26540be4cbL,0x4f59050e36dcf32fL,
  61126. 0xdd2e7ff9234b425dL,0xbd17895136b8d833L,0x132d27fef989d479L,
  61127. 0xc2049ea7ba09ef6dL,0xb526a9b5c83a3b7cL,0x0000000000000157L } },
  61128. /* 41 << 105 */
  61129. { { 0x06a4efb20228649cL,0xdffc2bcda7942aedL,0xcf2e51715b4eb8e0L,
  61130. 0x399bb5320052238eL,0xbc53cb0c46e3f1d6L,0xa020f3e430a71ec3L,
  61131. 0x340c96716ae10068L,0x0bcd58b7dc04715bL,0x00000000000000f7L },
  61132. { 0x87deb87d8f9d8244L,0xc510965fb14747edL,0x5e084f544fa3df33L,
  61133. 0xdf3d534d10cd6916L,0x15345bf7a9379b76L,0xa6d306f97dedac05L,
  61134. 0x18243b39dd131822L,0x12fad40f9d9eee60L,0x00000000000001d4L } },
  61135. /* 42 << 105 */
  61136. { { 0xe47e92bfdad2a018L,0x7169fc3557faecabL,0x824b95d921861e70L,
  61137. 0x3691cc6191077fa6L,0x39b9bee4de1dab77L,0x3166f0042a4c87b1L,
  61138. 0x6279470b574cb51fL,0x0fd510aa9eac155eL,0x0000000000000040L },
  61139. { 0xbe71e07d80d4bb34L,0xf09f4e405a9bdb09L,0x7045942d1a249979L,
  61140. 0x603c2c25ed241724L,0xa6fa617216c91e0fL,0x9fa0a49fce6e8b62L,
  61141. 0x9767b1486cd9fcd8L,0x223901649b1d52e6L,0x00000000000000c5L } },
  61142. /* 43 << 105 */
  61143. { { 0x2ef5152be65ed57bL,0x7cc90f473bb1fd66L,0x98f6873244e66f0cL,
  61144. 0xa3447ae327bd8ce1L,0x324c3ac08f22eaccL,0x838a435f0397222dL,
  61145. 0xc63bee579b0ecdb1L,0xd0bc1d6a9d2d789eL,0x0000000000000015L },
  61146. { 0x1c6f47cf4202af3aL,0xe847a6104c99a557L,0x9cd3807e4b94f1f3L,
  61147. 0x703f916b8a2806c1L,0x8fb83be08cdede77L,0xb07b30bcc62bf497L,
  61148. 0x90f4da36187ed83dL,0x035fd29aed3131adL,0x0000000000000157L } },
  61149. /* 44 << 105 */
  61150. { { 0xb259c83324eedf44L,0x2037b6fb73545c4dL,0xe126c4834c157523L,
  61151. 0xf80292adb36b003fL,0x4ae3fcd9772a9a08L,0x424a61f919be1da2L,
  61152. 0x2e2b901d8026443fL,0x879864f1dd59dc90L,0x00000000000000d9L },
  61153. { 0x4b838953b15eac94L,0x0c5fb88ce1a57ca6L,0x9a09e28ada88728dL,
  61154. 0xa80a4a9b6853a1deL,0x46a596bff0e07484L,0x6511ec6e7b61760bL,
  61155. 0xd2f6b328571859f8L,0x5e872f813cbfbf41L,0x000000000000018cL } },
  61156. /* 45 << 105 */
  61157. { { 0x3011bebc26674da8L,0x667107b215be6300L,0x0c1b7f26f8a583b2L,
  61158. 0xa10eba84d1d1ee29L,0xd03a1e2d00f8d4c1L,0x20d5861341f576b4L,
  61159. 0xae64da886806cd41L,0x75f1394a49176ef4L,0x000000000000012bL },
  61160. { 0x5e06e1f20154a8b3L,0x8c54c4c780905a09L,0xed75aad004b741beL,
  61161. 0xc7be78f5779f5177L,0x1976c894ae9becfdL,0x20b11c80c14943e9L,
  61162. 0x6155f1fdebe9faabL,0xbba7d4a7a2d16b16L,0x0000000000000015L } },
  61163. /* 46 << 105 */
  61164. { { 0xc96ff6be3e035793L,0x8883f0151793d415L,0xc4f3ef64d04363edL,
  61165. 0x93a75f7f73f1283bL,0x9614a3999f7ba92cL,0x061bd7e241b95c66L,
  61166. 0x887792ff1c2276a0L,0xa80706d28ef5b98aL,0x0000000000000063L },
  61167. { 0x2d7720a8b322dfefL,0x7623a0674dcabd9eL,0xc6936cd944e66fadL,
  61168. 0x9841e95ee16d312aL,0xe3e195b9eb94fa29L,0xf3edafaa2c284fd7L,
  61169. 0x7aeee8c08211a418L,0xebec3d3fb6305911L,0x00000000000000ffL } },
  61170. /* 47 << 105 */
  61171. { { 0xba2c92f5f2b0af81L,0x0d64e1ce1aae3f08L,0xa1f9d651cc19d12bL,
  61172. 0xc6f6a4bb78a15858L,0x12f3f8828d55e390L,0xb2791f72dc4b6dcdL,
  61173. 0xf51d8c9b758a15d5L,0x0f712d967cb6c682L,0x00000000000000aaL },
  61174. { 0x42b424f386a49713L,0x63664f53b65c98caL,0x09fa6b470cee5673L,
  61175. 0x066107f5de3c1fedL,0x0797ca8db363b845L,0xe5df7026114d2e2dL,
  61176. 0xf827b59cf67fd6bdL,0x657c8f1421876f0bL,0x0000000000000112L } },
  61177. /* 48 << 105 */
  61178. { { 0x68a3040e09eb3233L,0x0a44434506fa4864L,0x579edeff83af8af8L,
  61179. 0xd619358709f49bafL,0x4597975c33f9ee19L,0x5318a888cb85cb9aL,
  61180. 0x6366031f423ff919L,0x32fa03eef3ef6e44L,0x0000000000000072L },
  61181. { 0xadc2b71b8fe0bdc4L,0xa4b86022245354c6L,0xbd96981bed7a1ca8L,
  61182. 0xaaf0bf088d27b9f8L,0xcb56e8f255ef3926L,0xee69ee6af868426eL,
  61183. 0x04146106114f6b0cL,0x5bd940000b8d34dbL,0x0000000000000154L } },
  61184. /* 49 << 105 */
  61185. { { 0xbb9ce2cd216785d7L,0x6542eac454fec1d6L,0x26fad4f1cd6bc203L,
  61186. 0xd35862595dbdc5edL,0x9549ea9fae3698bfL,0x8c354042fe0d57b9L,
  61187. 0x9548e67f2676cd04L,0x059aec2b22edf4dfL,0x00000000000000cbL },
  61188. { 0x21fe898ad316063eL,0x78930f796d38b86bL,0x72064b45d1154023L,
  61189. 0x3184619fc2fe7c4bL,0x9e47fa4ed2cc3286L,0x99484c69731d0886L,
  61190. 0xa10f25480273326dL,0x84c2f78729efc551L,0x0000000000000133L } },
  61191. /* 50 << 105 */
  61192. { { 0xc677d129f82dd083L,0x8a9a603584a35d1fL,0xa0e725f2f7707c51L,
  61193. 0x0e67f36673314f89L,0x5ae78b3962c79980L,0x57e1ea302a48db75L,
  61194. 0x1c77997bc8cb73f3L,0x69c6ee32c1a61b9fL,0x000000000000019aL },
  61195. { 0x53abe39156756339L,0xeb1cdabe4edc4cd8L,0x15f70954026801e1L,
  61196. 0x9295a5207fe8de52L,0xb6eda43869a0fb2eL,0xd9e6e518510522afL,
  61197. 0x121fd3cf4e8e7655L,0x0b587ad6ddc0367aL,0x000000000000000cL } },
  61198. /* 51 << 105 */
  61199. { { 0x1c0ee685d50f1534L,0x9abb1c5827e3c974L,0xdc73da165ae04b81L,
  61200. 0x0bc4a178fc2d401aL,0xd5c269e4ba33ef71L,0xf858a1fc996faa33L,
  61201. 0x859915cd45b85f00L,0x7c507b4238b33ae3L,0x00000000000001f1L },
  61202. { 0xbde761b6490593a4L,0x388f79d436f6b62eL,0x6129b78b1b33fc5bL,
  61203. 0x04a3b9f5b8eafc22L,0x4a718e577eab0b39L,0x14ea35580398ea2fL,
  61204. 0xd737bd1bfca0213eL,0x34c27b9174332a05L,0x0000000000000185L } },
  61205. /* 52 << 105 */
  61206. { { 0x84ace35ba08df37aL,0x8f2e690a3ece9e6eL,0xe2649ed7bd6ed0cdL,
  61207. 0xc2618e7d5b70fbb4L,0x3f072e8727f675dfL,0xfa17717f88590abbL,
  61208. 0x6aa5119dc257a2b9L,0x016cbe362f48d5c6L,0x00000000000000ecL },
  61209. { 0xf7d3a01b29117b53L,0x3e544e8558d4d8f2L,0x63bf0dc8bba83f7cL,
  61210. 0x341d35ac60f1bfacL,0x84e37ee48ea4bbc4L,0x981744d7192d6dc4L,
  61211. 0x7b559536ca34c6e6L,0xf32ddf2b067ad38aL,0x00000000000001d6L } },
  61212. /* 53 << 105 */
  61213. { { 0xecf882c7ecfed198L,0xbe88ee265c47e839L,0x6c267c95a60cc381L,
  61214. 0x285d1e767ffdbff6L,0xee34af6f6e349fd3L,0xa331769599f4ea4eL,
  61215. 0x5f87359375d39105L,0x3559f31e8c9de520L,0x00000000000001fbL },
  61216. { 0x61d45de2d0a8892eL,0xbbe42953bd8a2c6cL,0x7792057fe3e3ec8dL,
  61217. 0xd040df71566078d8L,0x8852496ad470a52eL,0x4b6b08597ebff173L,
  61218. 0x1195102db36b2801L,0xeb28646305df9bc3L,0x00000000000001e5L } },
  61219. /* 54 << 105 */
  61220. { { 0x6e8ef1e946b46e28L,0x7cfd8d1f86249c66L,0xa8f6559d7a5aa3bbL,
  61221. 0x2bee79a6f7abc1b4L,0xc8286725b48f60e7L,0x2b883127f717fbddL,
  61222. 0x7ed12c1e2d4ef9e3L,0xfc910265e008750eL,0x0000000000000024L },
  61223. { 0x56569b61212f5d32L,0x97ddd0d69d4ab1c5L,0x639c33f149ee1f05L,
  61224. 0x97d1ba29b2886916L,0xef869ff04b553ea9L,0xaf504911b88cbafeL,
  61225. 0x524feccab9efa22fL,0xfa15902b321d6755L,0x000000000000014eL } },
  61226. /* 55 << 105 */
  61227. { { 0xdac797ffc2df83f0L,0xca75939070f59d50L,0xc53a3b9d8dae80d1L,
  61228. 0x4ee2534321d73857L,0xd458295ea7ae4212L,0x5b29d98f30385f03L,
  61229. 0xda3843b910deef6bL,0xd148ab67448387b3L,0x000000000000009fL },
  61230. { 0x68ca489bfa10caadL,0xbaf2095ba1ccac6aL,0xcf4d1eac05a5bc7eL,
  61231. 0x67866117ff5f28e5L,0x62d6cf59182d4a00L,0x96353d36ae15e91cL,
  61232. 0xf5b32693175f7fd0L,0xa160046d521eaa66L,0x00000000000000f4L } },
  61233. /* 56 << 105 */
  61234. { { 0xfe88213a38540b67L,0x16613cada30b9044L,0xb06dce427861d61fL,
  61235. 0xfb5c9ffde2b9cbe1L,0xae4af79ba5ae6125L,0x56e69b5a3ff351aeL,
  61236. 0x68de3b3f31df9832L,0x8d2c2960fa3fc1cbL,0x00000000000000ceL },
  61237. { 0x979c3dd49fd40f91L,0xca979b58b5640389L,0x855dd28e836ea10cL,
  61238. 0xbf40ee0e17f1cc25L,0xe02bbb2f5fd556ccL,0x6aadb11005f32f3dL,
  61239. 0x26bf5c119366213dL,0xc15f02c49a1ca27aL,0x00000000000001b0L } },
  61240. /* 57 << 105 */
  61241. { { 0xc2cf8600f06edb9bL,0x74745d77824ec696L,0x2a502a21bce3ad49L,
  61242. 0x0e2fac9ccc8c2f94L,0xb6c43b6ab26006bbL,0xf76dbb35c74f3d21L,
  61243. 0x3559f25ed6920ba5L,0x0203fe602af91aa6L,0x000000000000016eL },
  61244. { 0xa1ee163458415056L,0x49c48a0274df3e92L,0x8a871514959f3e11L,
  61245. 0x2a50833460c01400L,0x06ab882ff3c1f3f9L,0x788fd2f2f3f8a3b2L,
  61246. 0x8d9f63abe5d2052fL,0x6f9136c2baebe4e6L,0x0000000000000102L } },
  61247. /* 58 << 105 */
  61248. { { 0xad4aeaece0792955L,0xc662f8dc6c8cf64bL,0xf96c715cccf91d5eL,
  61249. 0x798040378fbd7f45L,0xf0f3ddf401cb31dbL,0x0448603b334e8ec7L,
  61250. 0x1c9e8c7be737fc3cL,0xa9fdbafdff78b864L,0x0000000000000112L },
  61251. { 0xd2c6c2de72547858L,0x82dd7a88ff8f4f45L,0x55db641e9eab2f08L,
  61252. 0x7243199dd73bcc8eL,0x55e708b46a907e32L,0x361af050db188207L,
  61253. 0x4e21c1e461f3c0edL,0x948142fe7cd3c766L,0x000000000000013cL } },
  61254. /* 59 << 105 */
  61255. { { 0xf937b0e53e950ff0L,0x6e24b4e5de551199L,0x9190ae60d524b733L,
  61256. 0x23890323e070cdbfL,0x3b61f098514e259cL,0x63091050729f0e0aL,
  61257. 0x74ce4e07d2ded515L,0xec98c9a7417d44baL,0x000000000000012fL },
  61258. { 0x3ada2c8f63dc0f50L,0xe80a5a8ce2593386L,0xa39d716914c9dcbbL,
  61259. 0x084c3faf0c4fdcd8L,0x8833788bc79dcb54L,0x852a9f9b6aaccf73L,
  61260. 0xbe2be436ab0ef855L,0x8e522348aebf47baL,0x0000000000000147L } },
  61261. /* 60 << 105 */
  61262. { { 0x413a5117a2262a1cL,0x29c97c05795db169L,0xa03d9861d7ca7976L,
  61263. 0x8428c9aa730d1caeL,0xe2922ccf6fb7d613L,0xb8a33ca521533014L,
  61264. 0xf8c059a418266bd3L,0xbc7db2234ebc4a35L,0x0000000000000007L },
  61265. { 0x6fce14a2f2d17d69L,0x91920c6844b28892L,0x9066e8d13c3cdef6L,
  61266. 0xf90115f8d5c6e3fcL,0x39f91f2fe9ce6701L,0x5ad4bcb4a1f30378L,
  61267. 0xc6b0e8f1aa92e892L,0xf2ab25c70c0ef133L,0x0000000000000036L } },
  61268. /* 61 << 105 */
  61269. { { 0xd256b02a6cb68a4cL,0x2b16306d2ee6b938L,0x4886fd97cad8da2cL,
  61270. 0x9a5accad3825c96aL,0x772d7b13cfe2cae3L,0xe16361a620e8843eL,
  61271. 0x32473b0333448c28L,0xf1a37e18be23247cL,0x0000000000000040L },
  61272. { 0x63ebc83fb66042daL,0x583f691176c07055L,0x4f7630ae6a3fbd5fL,
  61273. 0xb785702efb0af367L,0xb7c837a554d558ccL,0xdbf9820a000c0c3fL,
  61274. 0x32b10b9d6233b57aL,0xc811d02fd02a7cc8L,0x0000000000000179L } },
  61275. /* 62 << 105 */
  61276. { { 0xf67675f773b899a6L,0xae60c0d9aaf10a99L,0x1090ce72648df5b4L,
  61277. 0xe325ffed3b186a86L,0x403f48e80c01ed9cL,0xf7453a5696c2e25cL,
  61278. 0x5151f743bd8e41e6L,0x76cac7110aecca2bL,0x0000000000000147L },
  61279. { 0x5c51bf550e29a85eL,0x6c7fc654143718f3L,0x8bd8eebdb31a4a9cL,
  61280. 0x852d2032b22e7b3eL,0xf6cd67263b6c1296L,0x8f10ff0f4ca1aa08L,
  61281. 0x7ec8838028830ef4L,0x765904f339ee7926L,0x00000000000001c9L } },
  61282. /* 63 << 105 */
  61283. { { 0x2dde6e928637fd54L,0x0b87d325ba84f1feL,0xfc08553ab4af92e1L,
  61284. 0x7dcf26d634d231aaL,0x94da1a1a6fab3060L,0x33fbca8958b11020L,
  61285. 0xc68e11f0edc2b3bcL,0x21a56c3647f05ba9L,0x00000000000000deL },
  61286. { 0x9daf1e861bb9fa34L,0xcc4688c2d6e87d28L,0xd32c7df423e13585L,
  61287. 0xb2b03cbacdd2746aL,0xc5c3af6b73eb2f89L,0x11fddbb38e2796fcL,
  61288. 0x3212dc8e0fa04a64L,0xc6628b6fd92a5784L,0x00000000000001d7L } },
  61289. /* 64 << 105 */
  61290. { { 0x671757a6e2adfecbL,0x22eb6b422ba58ff0L,0x845ad5524e6e393aL,
  61291. 0x3dc6f7cb60fb46a7L,0x9240526b0a84396fL,0x13c8f57c56152715L,
  61292. 0xab02366c6c45e7a9L,0x6d4f07bead159399L,0x000000000000006eL },
  61293. { 0xf69fdd7f07f6e883L,0x946b2efb3f45aaa4L,0xc3390ff156806edaL,
  61294. 0x22764fab21d28bc8L,0x363b41d10c20eb57L,0x7d693bb1f6e0fe71L,
  61295. 0x5ba2e46a2816dfc1L,0x53c3d41ab0f7ee72L,0x000000000000012dL } },
  61296. /* 0 << 112 */
  61297. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  61298. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  61299. /* 1 << 112 */
  61300. { { 0xc2d7eaa1c6884ce1L,0xd7b35c4f9faf6322L,0x8d1a1d85337ea884L,
  61301. 0xbcc6a8090f946ebeL,0x45eab172754fb8d2L,0x1e0b251e91dbd926L,
  61302. 0x4b61112afdce8503L,0x80737c4915fa4759L,0x000000000000000aL },
  61303. { 0x1973c88b40260e22L,0x83078cb7e48dca69L,0x4815d67fb199e3ebL,
  61304. 0xf57bde1f7b4de5d3L,0x88a1ebb5e139dc10L,0x7c20e7c66689dd21L,
  61305. 0x40cba34680884875L,0x5c82140239171e05L,0x0000000000000062L } },
  61306. /* 2 << 112 */
  61307. { { 0x922f12dd4e187fffL,0x5edc9b962faa9f8aL,0xb7c218f8c854c83dL,
  61308. 0x3dfcbf3265052d62L,0xbd809261053d38c2L,0xf871b4be31d0c279L,
  61309. 0x6db21156f30b4a34L,0xb50605148db71e6aL,0x00000000000000d9L },
  61310. { 0xa08ce4a86bedc91dL,0xdf89cac0a0bae827L,0xc035a514aa3f520fL,
  61311. 0xd5e9631fda672398L,0x8a5c34867150a93dL,0xe176d6c30d1a66e5L,
  61312. 0x1aebd73874a2379cL,0x42d11fe6279c3eb9L,0x0000000000000139L } },
  61313. /* 3 << 112 */
  61314. { { 0xf2937edecb4c6645L,0x1e8dda6d1b68f3aeL,0x25a8cbca5c45eae7L,
  61315. 0x6f07c48eb1a328e4L,0x473a67acef4b3917L,0x5e4eeac1208c0836L,
  61316. 0xca67351bec92f538L,0x34a8f9f8177cf537L,0x000000000000015aL },
  61317. { 0x7d7f6d7ab9a3216bL,0xa4ad0bab0ed36d7fL,0xd58507f3d4b646cdL,
  61318. 0xbd275213a2950840L,0x00f031c076c25f08L,0x300e0a0c3f46258dL,
  61319. 0x6ce16cd6a03dfbd7L,0x35e0211d40c879f4L,0x0000000000000001L } },
  61320. /* 4 << 112 */
  61321. { { 0xa033349762383e65L,0x4f94f82b681092c0L,0x583b450378a19ca7L,
  61322. 0x81c69ed050e7ea14L,0xbde43e882042e0a5L,0x752a9d3e6a9f7938L,
  61323. 0x865464d9af321417L,0x5bcc326fb5794804L,0x000000000000000aL },
  61324. { 0x7714afcab958f657L,0x3b927db46e725914L,0x9ef1925c7fd9a9d8L,
  61325. 0xed13fdfdbe7e139eL,0x5b57aa066e80a43fL,0xc9c221be810f9412L,
  61326. 0xe6536f3a04ec7d73L,0x77765db5db4d13e7L,0x000000000000019bL } },
  61327. /* 5 << 112 */
  61328. { { 0x21fe770f84924113L,0x2c5d06120ab300cbL,0xe1699e81ed6c7197L,
  61329. 0xdec38f45f5948795L,0x79db54b83a48da6cL,0x95f9d633b3f3af61L,
  61330. 0x3e4e733da772f809L,0x48dbe53a605e477fL,0x0000000000000142L },
  61331. { 0x5ab3454e86f2714fL,0x87d83de7939b3218L,0xb980fbc096d16ff0L,
  61332. 0xba3cfaaddd96a283L,0xed41324416c3b69fL,0x57968830968c773eL,
  61333. 0xf315b38ced4d4dfaL,0xa013acc5a24cfb0fL,0x00000000000000caL } },
  61334. /* 6 << 112 */
  61335. { { 0xd064803e24e3c650L,0xa90109303b9aec0eL,0x407b393219f6f56cL,
  61336. 0x045d7e95d143be9bL,0x2933b6be47a9533bL,0x01b01ec62bc7f731L,
  61337. 0x723abd9a043e4c5dL,0xcd8a1bfd25c4e8afL,0x0000000000000095L },
  61338. { 0xd719eded6d8a2f90L,0x08b7c6af8b5c2378L,0x027c6cb7c01df5dfL,
  61339. 0x1c020ce0155cbce9L,0xc3aeed933deb94d9L,0x2cae43c7a6f7fee3L,
  61340. 0x54637a4a7512ef37L,0x3b64366081582bd4L,0x00000000000001e8L } },
  61341. /* 7 << 112 */
  61342. { { 0xc6d7698f7e59dde8L,0xb1ab83ac08aab860L,0xe1972059c7fcac6bL,
  61343. 0xde4446ae656119bdL,0x8dfbbedef9f8d976L,0xe3b8e6d2009be348L,
  61344. 0xa8ead6ee974cb79fL,0x4a566503b7a415bfL,0x0000000000000002L },
  61345. { 0xd661701b24c0d839L,0x6a3200d111c338cbL,0x5016ba3237f3769bL,
  61346. 0xf4396987a00f1d08L,0x16abf9062add49aeL,0x17dc53e804f3dbd4L,
  61347. 0x9ee15f5354a44690L,0xaaa77f7ea27e4c96L,0x00000000000000bfL } },
  61348. /* 8 << 112 */
  61349. { { 0x86dd8f04def62f7aL,0x42cd01b9cc9e5065L,0xd50b855643275c45L,
  61350. 0x404e04a59814155eL,0xf7e62f98266b665eL,0xd68e806e86eedc55L,
  61351. 0xb23e4bf34332001bL,0xe0b405b2366d78c2L,0x0000000000000150L },
  61352. { 0x6e4c1160d49d6c3bL,0x10c209647ce72d17L,0x0c0ba5325475d05dL,
  61353. 0x77d8dc831523a4f9L,0xb053a8be5693cdc6L,0x5e0897a3e947e953L,
  61354. 0xde13f4517899d5d6L,0xbafca001ca78c763L,0x0000000000000013L } },
  61355. /* 9 << 112 */
  61356. { { 0x668d132f5602a1b0L,0xbc4a769fef7a02a1L,0xe67a3b7a4126a867L,
  61357. 0x6bcb37d5a775d18fL,0x719b93ef11901e4bL,0x3aaa34d531f7386aL,
  61358. 0x7f81f95156335bb0L,0x22ce53aa1d9a8fb5L,0x00000000000001bfL },
  61359. { 0xb901f8b5580d76d3L,0x9ae57d49a4d6e345L,0xf7af2dee4e5b689dL,
  61360. 0x5d79160110e321e9L,0x43f66981301f6090L,0x8835a85f23c4f0ccL,
  61361. 0xdab2de3b083b5b68L,0x7fc613f51e97c0faL,0x0000000000000051L } },
  61362. /* 10 << 112 */
  61363. { { 0x9655cac34d110319L,0xf55e56d996e35209L,0x6f375ec27c15d50eL,
  61364. 0x2d38334326e468ffL,0x943096d75c103732L,0x4b30c0d40b0e523aL,
  61365. 0x4169da7ced307fccL,0x5c1e47e9da5da806L,0x0000000000000158L },
  61366. { 0xaf9ea9b5700e6489L,0x05d34fdbb2f6bfc8L,0x3b2dc12594068bd4L,
  61367. 0xb568253751b3f965L,0xc1a3271e109ff65aL,0x79ffae0e4b377ba6L,
  61368. 0x5e0149cedbfb4a77L,0xdfdb05a969f94a1eL,0x0000000000000143L } },
  61369. /* 11 << 112 */
  61370. { { 0x98cffe72a8e16494L,0x990dcdef990f6ae5L,0x2ffe758f7718e6acL,
  61371. 0x08fffe7f94b86a5aL,0x29ec8e3824f249ecL,0x1115cf1e702e2efcL,
  61372. 0x42d3b998ac7863bcL,0x9de49c4ba8469112L,0x00000000000001b3L },
  61373. { 0x23c141d47f0f461aL,0xd622ebb51a75ea51L,0x671dac9b98084ef2L,
  61374. 0x930fc09d8fbe7d8aL,0xb8ef755e8fa1e70eL,0xfe65e8a389920cf0L,
  61375. 0xe79b849e876f0425L,0x1c6ba4df46c016e1L,0x0000000000000130L } },
  61376. /* 12 << 112 */
  61377. { { 0xe8f06c2f869db704L,0x1225fe8e1be3a442L,0xe40e87fdf139548aL,
  61378. 0xafff68201a7dfd4dL,0x883cbb604489813bL,0x21f07a4520c07c1fL,
  61379. 0x037847dd761bfeb8L,0x2879d201fe9d73f3L,0x0000000000000098L },
  61380. { 0xcc3e104798fd5063L,0x9e3888796f0c1179L,0x6f8e0ca8f2e65336L,
  61381. 0x51d688edaf342355L,0xfef444c177e831aeL,0x34b47f9f18abf899L,
  61382. 0x4f7c42ecf9d15d64L,0xfe977f078747ba4bL,0x00000000000000b8L } },
  61383. /* 13 << 112 */
  61384. { { 0x1d7948e7e31a2875L,0x305e549d55f21221L,0xaf6d2fc5ebbf39ffL,
  61385. 0xeabb12c80ffed2feL,0xaf421cd07b32d227L,0xf8226502a9bec07cL,
  61386. 0x065359ac149ef0f7L,0x9e5e784e4f1cbce5L,0x0000000000000027L },
  61387. { 0xe64bdf95e8995641L,0x4f00ac4c4e803ed5L,0x04ac0dec6b51176bL,
  61388. 0x6de249642c3fe476L,0xf765f2240dfd1e8dL,0xdae016d744709cc0L,
  61389. 0xdcaa2f3b8ee0b68cL,0xae531c980b6bdaa5L,0x0000000000000192L } },
  61390. /* 14 << 112 */
  61391. { { 0x586d8be345624df6L,0xc58ca225de489ac4L,0x2131279186184b44L,
  61392. 0x1bacffb7566e654fL,0x795c06ee841818e5L,0xea81a1f7a64fc54eL,
  61393. 0x4202ba3b7bed4199L,0xe8e7eeb7fe735c4aL,0x0000000000000195L },
  61394. { 0x3c3260519c58b094L,0xd321218c31dda195L,0x2bf7a3196e707d92L,
  61395. 0xcde93cdbd88f1ad2L,0x80b6b9f4ceafc8a2L,0x8ddef6d7edd98905L,
  61396. 0x999d8539ce356fbaL,0x57048edffb834c3dL,0x00000000000001d2L } },
  61397. /* 15 << 112 */
  61398. { { 0xb4c8a95f54f6c3c2L,0x75cb6585b4bb79eeL,0x42acf9813af10b62L,
  61399. 0x390e90f9b1fbe61eL,0x8b38992a73c905dbL,0xeb8eeaa4b2772547L,
  61400. 0x50f226739fb26d56L,0xa7fd3621bc8ff539L,0x00000000000001fdL },
  61401. { 0x9f5f71c047cb14e9L,0x57efde78a4eea6f5L,0xffdcce979720279aL,
  61402. 0xf2602f0c42407354L,0xc32e952e4f8047b7L,0x6bef44fb120ea438L,
  61403. 0x64d8e221d5ec1b83L,0xd99027b78ef102a3L,0x000000000000003bL } },
  61404. /* 16 << 112 */
  61405. { { 0x8002b6d63dca9409L,0xd31714c1163b8124L,0xca655b42720a124aL,
  61406. 0x88388dbe9596636bL,0xa321822dc0b7dc61L,0xcdd952c85824e60fL,
  61407. 0x79ff44366cb4916aL,0xa115847e5f88dab8L,0x0000000000000009L },
  61408. { 0x1eaf3d400aed0c43L,0x7a7196f7ea2a20a4L,0x4312341497781948L,
  61409. 0x856126d0e88d93fcL,0x96dac31fd5710224L,0xc23548f5243e6395L,
  61410. 0xf351df8b9613a79eL,0x0dae5d50626fb1fdL,0x00000000000000e2L } },
  61411. /* 17 << 112 */
  61412. { { 0x9e8c65562d81c8fdL,0x361ab7401015a8f8L,0xd8bacdbc343077c0L,
  61413. 0x37cd82a04634dcddL,0x0977ad1e940d6c70L,0x97fe72e327c38270L,
  61414. 0x412f62f6a07167acL,0x08deab9b451a09bfL,0x0000000000000150L },
  61415. { 0xdd02b8d3abb38852L,0xef1b8f1d41ed4b96L,0xbfd538b1da6597c2L,
  61416. 0xf98a304e10475511L,0x232d62f619d54040L,0xa2b919809183ec5cL,
  61417. 0x5ce198ce8f3f79d5L,0xa5c7192628c2e16aL,0x0000000000000028L } },
  61418. /* 18 << 112 */
  61419. { { 0x8aaeb6bb3f28f069L,0xe57bd85a41cd19f6L,0x7a7033fbcdd073b6L,
  61420. 0x5fa5d883af974d72L,0x034fe2f8317d5354L,0x022dad78dc1c3c86L,
  61421. 0xb115c5fcdaddc33bL,0xd20ed9cacf71be7fL,0x0000000000000076L },
  61422. { 0x906767d94036188eL,0x3c3cac57a74401b6L,0xb26d32b46272050aL,
  61423. 0x01cd2c3ee4d06b8aL,0x7caabb449244b30cL,0xa4c1874d25c6219fL,
  61424. 0x53a70b98afbb215cL,0xe357a7f7f2280543L,0x000000000000012aL } },
  61425. /* 19 << 112 */
  61426. { { 0x21419b4f117d5755L,0x6af1ac64475ac8a6L,0xc1226e159cb49eebL,
  61427. 0xd61aa69c2d3f8486L,0xaacb9140fb60ad9dL,0xe0fb2170b59dc623L,
  61428. 0x5aac6818eceaecdfL,0x1e88ae0f5cdaceecL,0x00000000000000fcL },
  61429. { 0x823f91bd24c8c72eL,0x3f419586c2b074dbL,0xec995125d3c89804L,
  61430. 0x8c98840af3104c36L,0x90445c3bd88cb43aL,0xe9d1da4f814367c8L,
  61431. 0xf5edf338d4636152L,0x316aba3a39ac293dL,0x00000000000000bdL } },
  61432. /* 20 << 112 */
  61433. { { 0x1ef1df604dd7f14bL,0xc190c8b79206dde0L,0x8c0095679fc144a7L,
  61434. 0x0ca2f30a0f11e938L,0x3f06119ad15a3b46L,0xce68675d1a911f3bL,
  61435. 0x3e234a0e7dd215dbL,0x909d38cd6028bdf1L,0x00000000000000f4L },
  61436. { 0x49b323bb7b25c4f0L,0xe0a212449f498976L,0x8ffcd809bf2a0459L,
  61437. 0x1a6890a9cea1e7daL,0x6e2e2b99ab0cff78L,0x650e3170c5d1287eL,
  61438. 0xb5248d4d8ae5d083L,0x0951c926d7596441L,0x00000000000000c0L } },
  61439. /* 21 << 112 */
  61440. { { 0x9bf0fe1536b5757bL,0xf078da917322f698L,0xed973489b52119b0L,
  61441. 0xa22cb0b80dff82b2L,0x8f83dba01da278f7L,0x15a6cc1299da0c4fL,
  61442. 0x2f67fdfe5e334bd0L,0x25ab5ab602e8e1cdL,0x0000000000000125L },
  61443. { 0x269f859aa8d8e447L,0x575d716c1b24a12eL,0x729ae77eb95f04daL,
  61444. 0x4372f9de30e0ed29L,0x673c0bfd398cfa49L,0xbe9ff4fca3ec6966L,
  61445. 0x5ce7e5e3d01c14e2L,0xbec8d2f406373e24L,0x0000000000000040L } },
  61446. /* 22 << 112 */
  61447. { { 0xd93727e0486bb813L,0x04283a3e1fbd99dfL,0xdc4788c99b75b637L,
  61448. 0xe6851f5a32167da9L,0x998f7431fbc4ea2cL,0x7a9c33d1a9183057L,
  61449. 0x6b3473245d20e7e2L,0x18a168600b90c80cL,0x00000000000001ffL },
  61450. { 0x38a94d64bc888e85L,0xfe7b79ac9df19c05L,0x00bbefebf654ee0bL,
  61451. 0xebfaab4e7bfe85a7L,0x48deed60b19482e5L,0x287c06898db1c527L,
  61452. 0x5a6b27ad4c8eb494L,0xf68182ae0d447f2fL,0x0000000000000118L } },
  61453. /* 23 << 112 */
  61454. { { 0x4b816e241c2457e4L,0xbb437cd3f149da13L,0xe0be68f94998c797L,
  61455. 0x883b58207dbbacacL,0xe1da5fd525b58074L,0x77d77fde69592848L,
  61456. 0xd1f2bc60c4c21c04L,0xf2bd7b785acbe370L,0x0000000000000114L },
  61457. { 0xbea3154637b024f6L,0x7f15fc8a9fbcaae2L,0x1b56ad116021c3bdL,
  61458. 0x9356fdf096b118b0L,0xb7865be1daa0804fL,0x3a2ca9e99574d0d5L,
  61459. 0xaa5adb0f5f999f14L,0xc25f9c38ebde48f6L,0x0000000000000049L } },
  61460. /* 24 << 112 */
  61461. { { 0xb4c7662650ee9086L,0x2d9cf5f46a31d89fL,0xff6bfb32dff60978L,
  61462. 0x5176dbe145a61de7L,0xd00d55447d0750dbL,0x0d83b80c85c9b411L,
  61463. 0x2dd6470906fb9605L,0x69b0c1333d535903L,0x00000000000001d7L },
  61464. { 0x94871938210a0c39L,0xf8331fb90c93f6efL,0xf7ee035f253771b7L,
  61465. 0xbfbf3ac00f1e874bL,0x6d02567e077969c4L,0x29a752a783d55d94L,
  61466. 0x4f69563f088bff67L,0x7b1161060b77d6f1L,0x0000000000000034L } },
  61467. /* 25 << 112 */
  61468. { { 0xba6aeb1a33687c9eL,0x7d52e286f08ec854L,0x53187e3da1008096L,
  61469. 0x6cc41c9a2b238ff7L,0x5c95188b399bf250L,0x4864754ddbe60f4bL,
  61470. 0xd266be6d3c9440abL,0xe59c36d4977447cdL,0x0000000000000128L },
  61471. { 0x7c29f965bea1476aL,0xb8fec71e7624ae90L,0xfa1cc18fde04ae65L,
  61472. 0x00fa80b93a6b1843L,0x8ebd2e7305e7520dL,0xfc12b6a59d714810L,
  61473. 0xa219d25f3a532a09L,0x1121083c45999cf8L,0x000000000000013cL } },
  61474. /* 26 << 112 */
  61475. { { 0x137ada30d2de83eaL,0xda2153422a878fcfL,0xa6a5cee60e171f25L,
  61476. 0x3f69086f2dd4c3c0L,0x86088100fb43ba86L,0xef809bbfbb0ccb0cL,
  61477. 0xd79c4869c4d677f2L,0x2b2bdbb20404add2L,0x00000000000001aaL },
  61478. { 0xdafc91eb22edf44fL,0x79590681f4d70677L,0xac8808fd3d9bfe05L,
  61479. 0x2b0c8d47afdedeb8L,0xc767c9b30f819111L,0x26d2b198b54b2fdaL,
  61480. 0x17a4d748425ecf19L,0x3d553a2e27bbc127L,0x00000000000001d7L } },
  61481. /* 27 << 112 */
  61482. { { 0xaf086404ae4f64fcL,0x24ec81035e4dac4cL,0xa4251f19f4188728L,
  61483. 0xb90da169ecde3424L,0xee6c23889d75d76cL,0x5cf9b73e303f7e0cL,
  61484. 0x4f0d6e9e45d8766cL,0xcbbe41aa6734beb6L,0x000000000000006cL },
  61485. { 0x11f1929f6460b3c6L,0xbddb7165e81dc98bL,0x0dfd5fdd725622c8L,
  61486. 0x7c4b0cdc2c8090abL,0xf2605abf9966a482L,0x5ef91579fab0a8e3L,
  61487. 0x334d92ff7a5431ecL,0x5440c23516dc21d9L,0x0000000000000086L } },
  61488. /* 28 << 112 */
  61489. { { 0x9fa60a6af5784616L,0x54bc84246184acc2L,0x57d5d2c41435c018L,
  61490. 0x5f94475b333621cdL,0x5b7740d06e210ce6L,0x624d301d0dd3dbd6L,
  61491. 0xad599276a4216433L,0x7e1140bd4b3817e0L,0x0000000000000032L },
  61492. { 0xadfe76b487f3e336L,0x88a9a1231a1b9b6fL,0x1bac6e4f14c14b8aL,
  61493. 0x8a531f4dbc215bebL,0x874545261c42d401L,0xc65a168cd62ecb42L,
  61494. 0x38188b89f24bf291L,0x94f7d5dec788c069L,0x0000000000000194L } },
  61495. /* 29 << 112 */
  61496. { { 0x7d9d6f15fd868b43L,0x3308e6e8e1332d89L,0x53a64fc25c2ea868L,
  61497. 0x819f727861bab859L,0xcd683cc16fc55f42L,0x46ec76818e4ac49eL,
  61498. 0x16e180e3b85ccaf8L,0xcec7676e180c0dc5L,0x00000000000000f0L },
  61499. { 0xcaf24b54f10d6c7dL,0x3bb37a70423e6ab5L,0xa40e49d25eb685afL,
  61500. 0x512b2a6ca52af2beL,0x495633b5253da10eL,0xa87169e1ac1316b4L,
  61501. 0xd9ede4ff3ea71d6aL,0xa7bde55c751fee86L,0x00000000000000c6L } },
  61502. /* 30 << 112 */
  61503. { { 0xb4dbbfc31d447fa3L,0xc0180e814e1f0ae5L,0xc4aa44e04e921352L,
  61504. 0xed72abd5dbbbcc8dL,0xbe0924e6f0fc4050L,0xc735729a7e5a1390L,
  61505. 0x23b83364443bdb32L,0x72df0a07ec53bdc4L,0x0000000000000048L },
  61506. { 0x2c24dd590a570f18L,0xe436ab7291876f65L,0x5b92bcc4ffc6ae4fL,
  61507. 0x3d6471f3c9ebc873L,0x43efbc5d44292f69L,0xd47637134a107c1aL,
  61508. 0xa367b573248b7c52L,0xf099ea0671daf202L,0x000000000000013cL } },
  61509. /* 31 << 112 */
  61510. { { 0xbaf9d6a6b3e1adf8L,0x20ccb29705fd0ec2L,0x3241615122d8be8eL,
  61511. 0x8c0084416a2db0f8L,0x1ef0ebd4551dd651L,0xe6cc97edaca8e550L,
  61512. 0x9c6f70152c1571afL,0x6ffa2b32b9c3f7d4L,0x00000000000001f9L },
  61513. { 0xd200e04cc91c0f39L,0x0e096f28fd99b77cL,0x9594a20807de898dL,
  61514. 0x55a442ae69bcb511L,0xce1d9649e015f1b4L,0xdd4a639869edda8eL,
  61515. 0x3955b85fcca25768L,0xa003c09dc949f4a7L,0x000000000000000cL } },
  61516. /* 32 << 112 */
  61517. { { 0x0fd02a81c0326cdaL,0xb52279ac0e5cf6e9L,0xd0e8f1cf682ad865L,
  61518. 0x01eb99642e847be3L,0x30468f94689baa91L,0xa466fa2bb4584d20L,
  61519. 0x99847f1b327c510fL,0x206bd41d26e6f2c0L,0x000000000000010bL },
  61520. { 0x8a04fd93ba3011f2L,0x14c757b9af6c7e86L,0x4987100779ecbe33L,
  61521. 0xedf33e226185a74fL,0x35ad7383d4a03368L,0xeb5a269ece6efd32L,
  61522. 0xc83c5fb3208fbf53L,0x35030bb2702bb900L,0x00000000000001deL } },
  61523. /* 33 << 112 */
  61524. { { 0x286bf9c2facb4117L,0xddbf33d2133bb3bdL,0xe0c21ce9897c4fe6L,
  61525. 0x3f3a249c219126ebL,0xe925c2cfe9c7e211L,0x7999d7c0f418a42dL,
  61526. 0x24d5577c585a7c91L,0x580ba3affad6e5c8L,0x000000000000005dL },
  61527. { 0x596e7dc97200c090L,0x8460b9a4531d17ecL,0x19f9aed95e4e1067L,
  61528. 0x522379e68a7a6444L,0xa6618a0e7cdc51a7L,0xb285055396e7f790L,
  61529. 0x605b7e1ff732fdd1L,0x0fe9b751fa8b87e4L,0x0000000000000028L } },
  61530. /* 34 << 112 */
  61531. { { 0x0686b81946cb78fbL,0xac50e15b367be8acL,0x6b74a620211895c8L,
  61532. 0xc35a52e83817a3f9L,0x9d3a57cd4fc49432L,0x771878ad4df33060L,
  61533. 0xea4ae8015c216dbcL,0xecc02683da89b496L,0x0000000000000193L },
  61534. { 0xea1efb5a768b6f09L,0xd97562e7e3ab79adL,0x61ad861c094a606aL,
  61535. 0x614dfe95b42bae9dL,0x0372b7a5558bf490L,0xfec9f31dd1f2089bL,
  61536. 0xc31fd1236d5d51d4L,0x26dec1eb0f1ef668L,0x000000000000004bL } },
  61537. /* 35 << 112 */
  61538. { { 0x26ce089dbac679acL,0xa9d9673a64c08615L,0xfe92cec3f9d9d747L,
  61539. 0x4616a4dcad6da7b2L,0xaaddf97cb6f6b8fbL,0xa1cabda1c32a0803L,
  61540. 0xe8591a79c55e17e5L,0x3bb889adc7dc707aL,0x0000000000000191L },
  61541. { 0x22158400511bd374L,0xd10d5a727f1f4d0bL,0x5b40bd90e732bf5cL,
  61542. 0x88d82eb665a81746L,0x4f64f578fbcebfe8L,0x867c0094eee40ddcL,
  61543. 0x6934932a6c500cc0L,0xc117a16b667da9c5L,0x00000000000000a4L } },
  61544. /* 36 << 112 */
  61545. { { 0x5c7994b4abedee4eL,0x3e77983ba4fbf6d7L,0x9d7f330f30003463L,
  61546. 0xb2ec7f739a611df2L,0x595627f9a405b4d8L,0x187ea7ae0ea408bfL,
  61547. 0x2b087af141b1dec4L,0xd8d66597807e4012L,0x00000000000000f6L },
  61548. { 0xfb1b1154ea7b83ffL,0xcb3c2b19d3b88c90L,0x8c15c0b5ff85a044L,
  61549. 0x65154a83e62fc44dL,0x1fbf5b7f26ed762bL,0x81d36b15c7b364c0L,
  61550. 0xdb0091f1bf2553b1L,0xb6dddcaf2845f359L,0x000000000000016cL } },
  61551. /* 37 << 112 */
  61552. { { 0xaa5114266f231058L,0xc6482f93928adf7cL,0x523a25c347a07da7L,
  61553. 0x4ab79da70c795a5bL,0x9a5026f119711fe7L,0xcf2212a729784bc7L,
  61554. 0xe59e7fa59822fbdeL,0x5b4e997e94e459efL,0x00000000000000d8L },
  61555. { 0x085b185681605f9eL,0x8e3365c4f006bca8L,0x71d7b84b54838742L,
  61556. 0x2b18649aea5a336eL,0x3268764778f7c79bL,0x2b02db33998d6a9aL,
  61557. 0x830a0a96ce221a5dL,0x6c02d7d754314b97L,0x000000000000007aL } },
  61558. /* 38 << 112 */
  61559. { { 0x618ac20093031925L,0x160d9b20afb97ccfL,0xbd4b01c66aed35f4L,
  61560. 0x202c1b39edeb2215L,0xd52fb1cb468764e6L,0xd6da21af72b76e0bL,
  61561. 0x98740e64527eb510L,0x443caf748fdbc02cL,0x00000000000001b0L },
  61562. { 0xd1d700ea574366bcL,0xb40254dd9b0e1210L,0x3172876c607a8809L,
  61563. 0x624a23de5ac14d73L,0xdb1e5debed4d8a80L,0x5d717d8f2976f6e8L,
  61564. 0xf4e1d47f42f699c6L,0x433896d520c0ece7L,0x000000000000015bL } },
  61565. /* 39 << 112 */
  61566. { { 0xc648e6401f24b1f1L,0x783449d73e5f7c72L,0xa57ac4eff3742d85L,
  61567. 0x61ffe0c9835552b1L,0x62834ef697fdac2dL,0x02703b63f115fbd7L,
  61568. 0x44f47a41aa559e1dL,0x1e7e37c5d15332beL,0x0000000000000134L },
  61569. { 0x427f35ffd9dd4be1L,0xddcf13578da4e6a6L,0xe76af9ebdda54617L,
  61570. 0xe3e193dbf90ee15eL,0x39a4c7219604bac2L,0x14789a4ac4760af0L,
  61571. 0xb38e14c8cebf3c19L,0x40f7c343d9f78662L,0x00000000000001dbL } },
  61572. /* 40 << 112 */
  61573. { { 0x7d46f1e8b4cf8254L,0x3c44cc7f8651132cL,0x3875ea48ee02fdc3L,
  61574. 0xd5d464377fd9ae7cL,0x25ebde075fbebf38L,0xecdce3a5ffa2efbbL,
  61575. 0x6d34a645aacaf39fL,0xca5b72131c664594L,0x000000000000012bL },
  61576. { 0xe9ad950f97a7b67dL,0x37188f256fb141fdL,0xced17e9ca1d977f0L,
  61577. 0x8137e722c6c3dbbaL,0xc50f36d663a37fe7L,0x68e1ce2f8fea88a9L,
  61578. 0xbee6e56df5023489L,0xeaa15a26a2efd265L,0x000000000000013aL } },
  61579. /* 41 << 112 */
  61580. { { 0x504c9c3d75e5a8b4L,0xe977ce76a03d92b7L,0xc3f27a726d9519acL,
  61581. 0x5832b7597ec79b04L,0xb95c1a2f6e80227fL,0x0c329956fb9974faL,
  61582. 0x3359e49ef8bfa9b0L,0x2d20a5b0e2a1b8aaL,0x0000000000000034L },
  61583. { 0x4fcc30afd686911eL,0x308f27ac164c63ecL,0xf28538a1ee74882cL,
  61584. 0x1b5788b17d109e31L,0x1f74b17e6527057bL,0xa00fba0ef43780f0L,
  61585. 0x43f846884577d23eL,0xb6a7ae44decaaa4eL,0x00000000000000eeL } },
  61586. /* 42 << 112 */
  61587. { { 0x032f87b82c06f35aL,0x64d3ff064e7bb1e5L,0x08996732093862e9L,
  61588. 0x3170addcccf193beL,0x641c81835da05299L,0xe296c9ff4ef3361dL,
  61589. 0x3995b3a1e8783402L,0x0800b438e47c8177L,0x000000000000012cL },
  61590. { 0x6dd8391f62e4d595L,0xdb4d7411ab9a174dL,0x927d7c28f1eb7186L,
  61591. 0x26657338bd593ae9L,0x3bc2051cf5628e63L,0xa97e4b8b685408d4L,
  61592. 0x28251aebd2f3e22eL,0x4a08d5bc83d10ac4L,0x0000000000000043L } },
  61593. /* 43 << 112 */
  61594. { { 0x2a8ce2836288507bL,0xa635d48fdd390d24L,0xeee7975ed1b87f8fL,
  61595. 0x162563d6d731058cL,0x3d84bd12fbab97f7L,0x5c918d9c5fb43dffL,
  61596. 0x3c4bd11bc0a07876L,0x8d4ddedeb4d4f961L,0x00000000000001faL },
  61597. { 0x38e6acf7ee510691L,0xa15ceec44c94614bL,0x50a5b266995668e0L,
  61598. 0x0d4a02f08e0821feL,0xb6f05bdce7b13d84L,0x8f749724f4633064L,
  61599. 0xe9c87eb2218611c2L,0x266a06987e558ce8L,0x0000000000000193L } },
  61600. /* 44 << 112 */
  61601. { { 0x1a590ef8fd2add3aL,0x9a67ccb86eafaac3L,0x32b6e3eaa95c46a5L,
  61602. 0xdedf7158cc6fd626L,0xb43928588add9774L,0xea5bd604df9136c1L,
  61603. 0x8675163af55a7019L,0xb3f4557cc3a96febL,0x0000000000000111L },
  61604. { 0x2835680edb0e4f25L,0xe969cf144cab4022L,0xae88c607bfa42739L,
  61605. 0x27cb7e15c80b87daL,0x4bb26559fc7432f5L,0xd083dbeefb7371b5L,
  61606. 0xa47fb4e384e05decL,0x2872d4720a3ab26bL,0x00000000000001c3L } },
  61607. /* 45 << 112 */
  61608. { { 0xeefa89d6ccfb12f2L,0x2096c071dafb741aL,0xd3d1918e4619fd06L,
  61609. 0xfddcceb9da05c012L,0x3385b550dc794688L,0x038c5c77c3911912L,
  61610. 0x770139d611721c23L,0x2266e021c30f428eL,0x0000000000000015L },
  61611. { 0xfa215837ef6edd0dL,0x1c26f889bb764661L,0x7b94a37bba914166L,
  61612. 0xf571f7e9042f65bbL,0x38de83e849b57e28L,0x30b1332bdf81998cL,
  61613. 0xc8abf5abaabd0834L,0x4a0c78cfc8381e84L,0x00000000000000afL } },
  61614. /* 46 << 112 */
  61615. { { 0x3d5a2cc2b9b6cb9dL,0x451655a6344f2f58L,0xb1b47d157fa3f835L,
  61616. 0x968a6841f42c60d9L,0xb84b7308f8f7c5adL,0x452a354d89555eb6L,
  61617. 0xef55dd0ffdf2cb27L,0x74eb80451f99bc70L,0x000000000000010fL },
  61618. { 0xee70cf6eae8f7d18L,0x0c7c6a33cc7856a6L,0xa0b262b553cc50b3L,
  61619. 0x885cbc7856cd61c9L,0xe804e59f27357b72L,0xa25e4e2ff0de1262L,
  61620. 0x6f15c8fbe66bc201L,0x553d0f8e2a012e0eL,0x00000000000000aaL } },
  61621. /* 47 << 112 */
  61622. { { 0x984e30a1d77350faL,0x2d8d4baba501ad13L,0xf6a76e16e10ee73aL,
  61623. 0x512b31c76955b642L,0x25a977e01e88bd3bL,0xf5a5f60798821007L,
  61624. 0xebb4e8ed81819b38L,0x359f9c62004e07f6L,0x00000000000000d2L },
  61625. { 0x1c0218a4499f21c5L,0xce12310336fc822dL,0xa9a55a60d384c462L,
  61626. 0xf891a118812e45c9L,0xadc5eb313ecde0e1L,0x189f50c1e4e0da26L,
  61627. 0x34b21a3323276e3cL,0x490c316c9467a0d8L,0x0000000000000192L } },
  61628. /* 48 << 112 */
  61629. { { 0xa59d74fd4ae20507L,0x46d0adbaa86a468cL,0xc004c36b0df04371L,
  61630. 0xa0f3cad9c6138633L,0xfe2133c1eeb5863dL,0x0ef5dc4884041aa3L,
  61631. 0xbc3f0e491707f418L,0x3677e9ebdd7cdf90L,0x0000000000000178L },
  61632. { 0x454656623a62115fL,0x4985e0a08192fa59L,0xabd64eec2ae07a9fL,
  61633. 0xe0e94a6d9182d301L,0x5230272bb543c76bL,0xb7a9f6ce5b5b137bL,
  61634. 0x45903dec3e7b2872L,0xade6111744296989L,0x000000000000001cL } },
  61635. /* 49 << 112 */
  61636. { { 0x1641b779225fe8bbL,0xb2c04a9e0995ebcaL,0x0270ad40d7b634d2L,
  61637. 0x54301c3a0235166aL,0x17a2655a84428da6L,0xe4849f07bf319f15L,
  61638. 0x54346197a3975f9bL,0x1400bb7353454131L,0x00000000000001adL },
  61639. { 0x1d8cc6c47b133fdaL,0xac430140c99c62beL,0xe438a1d959380ab9L,
  61640. 0x984c0ed8d0ce3602L,0x56f90ee1bcab7a0bL,0x55067ca825fcdba1L,
  61641. 0x7fde8ced07db34c1L,0x70a106fa9448fbdaL,0x0000000000000110L } },
  61642. /* 50 << 112 */
  61643. { { 0xf5c0e5baf99caf44L,0x4b0a642c89af2ab6L,0x082ea9e1c6f1f294L,
  61644. 0xc1da27771a9eb5e8L,0xce038334379f1b75L,0x662775ce806524f1L,
  61645. 0xd4200a961de789acL,0x94e49840f985d4c7L,0x0000000000000188L },
  61646. { 0x9765c5a05332e704L,0x35e54513f357c532L,0x871a4dcee65f1729L,
  61647. 0x100d2bbf9b2d7c46L,0x58590df34c23bfcbL,0x8ffec9bf59d15a0dL,
  61648. 0x33c0e85e6a2a3312L,0x6fb39c77d2846bcfL,0x000000000000002fL } },
  61649. /* 51 << 112 */
  61650. { { 0x2f6183097b4858b0L,0x4d4d2b80f34c0437L,0x4bef8204699cc258L,
  61651. 0x13a4f63696736be6L,0x6ca2df088c828b7bL,0x0dbf95001564f616L,
  61652. 0x03806a3426723221L,0xadd4715f3594f49bL,0x00000000000000feL },
  61653. { 0x2255c005d91a7a23L,0xd31821aabd8738f4L,0xf417c40758c41cdcL,
  61654. 0x1bf2e581ce1b6aeeL,0x13ba4d9331a003ccL,0x02658dbdb9d35167L,
  61655. 0xcce7251fcb565afcL,0xd17dc6a8d300b06dL,0x000000000000011aL } },
  61656. /* 52 << 112 */
  61657. { { 0x023b057fad5df81cL,0x0906bab2d1df9f2fL,0xd8d8a173709fadfbL,
  61658. 0xa8ba2a86a6c45ef3L,0xeb1d4e331be5b53cL,0xdef9c19e56c39843L,
  61659. 0xbd1763c0c1d3eacbL,0x0e7eca5142490ba4L,0x0000000000000088L },
  61660. { 0x8d446e88a5f070b8L,0xe8136967fe9e8b21L,0x0a26424b816d519bL,
  61661. 0x0dee87a30bdd1c2bL,0x2c6c6287b75b6cf0L,0x50558e41c28a75f2L,
  61662. 0x40727fe07d2b4ab6L,0x34832548349c668eL,0x00000000000001fbL } },
  61663. /* 53 << 112 */
  61664. { { 0x135a24aeba593c17L,0x024315aeeeadb96bL,0x549040a3872ee831L,
  61665. 0x05781e1ca527850aL,0x97a7a4a46ff2f4fcL,0x667bef40328e2318L,
  61666. 0x133a153c13ae6aacL,0x25e691f7dd80ce7dL,0x0000000000000041L },
  61667. { 0xbf2b901433cf2b24L,0x74df7e9c1ad04c41L,0x5cb289df132de33cL,
  61668. 0xbcd1bec484f41349L,0xc0f49a0c36f55149L,0x578571e03398aefaL,
  61669. 0x65823d11b11cd39cL,0x44f1a009ce63b025L,0x0000000000000042L } },
  61670. /* 54 << 112 */
  61671. { { 0x8a2b478e8343cec7L,0x2820d2fbda374a71L,0x9d473bb194af8efbL,
  61672. 0xcc54c95f16b56d2dL,0xa0bf40a0430f13f0L,0x6a56a1dbecc6cb08L,
  61673. 0x6180fbfdb7bc57d0L,0xd6b165b76bdab048L,0x0000000000000100L },
  61674. { 0xf5b147b7f8e4648fL,0x97d37c258437bf24L,0x9465879086556798L,
  61675. 0xf1321e101f3fcab3L,0x37d4d1ea7351c0deL,0x59b6bf365fc92770L,
  61676. 0xa950de8086276f0aL,0x367635f61786be75L,0x00000000000000b6L } },
  61677. /* 55 << 112 */
  61678. { { 0x31f3a5c38e113349L,0xa374734db1c20ec8L,0xa6f0e423d1eafe52L,
  61679. 0x1f32e96c0b901678L,0x895ce01dbb18837aL,0xd91347a55d9930e0L,
  61680. 0x7a43364e9a86a004L,0x590ec9096b157d23L,0x00000000000001cbL },
  61681. { 0x7e3b46799392608eL,0xe29453e8a9c8b459L,0xf460b030993c90ffL,
  61682. 0x91ec7bbc33b15097L,0x743fbdfe1a68fecfL,0x224e914959860761L,
  61683. 0xda87ca63eb1dabdfL,0x6f509876cf17d2b4L,0x0000000000000058L } },
  61684. /* 56 << 112 */
  61685. { { 0x951aef0c34412809L,0xb20f279499403457L,0x5a30efe2df842006L,
  61686. 0xccd7c89150a68d91L,0xb750afe1f819f912L,0xc0017d9a4fa1c8d5L,
  61687. 0x19a5f2cdbcde79b8L,0x7b6686e03b7f4682L,0x00000000000001a4L },
  61688. { 0x74060a6acdce424fL,0xd35ffef26ee7e0a4L,0x8e238effacd0a03dL,
  61689. 0x95d28a08f5cb5bb7L,0x654858407771be75L,0x3b753ffc4873ff72L,
  61690. 0x1bcb2bc8c60d11aaL,0x005e5c5d3dc06c4dL,0x000000000000008cL } },
  61691. /* 57 << 112 */
  61692. { { 0xcd13e3389eb436baL,0xb0ac873ea2da8315L,0x4666e06810f3dbf3L,
  61693. 0x0e5832027644be64L,0xd682457a397db83fL,0xd55546a11b832130L,
  61694. 0xd6dcb98d8ecffff5L,0x7e95eb40c3368e15L,0x0000000000000125L },
  61695. { 0x8239cf6862306bb7L,0x3ab70de64ec9caf2L,0x4387316c86af4457L,
  61696. 0xc60d6e709327cf2fL,0x0f936e7caea1796eL,0x184ef761f8dcec2bL,
  61697. 0x447d5a965eb06c81L,0xc969bcce3764ed27L,0x0000000000000145L } },
  61698. /* 58 << 112 */
  61699. { { 0x6a9ea90ba4680770L,0xf9e6ec6093314278L,0x69360f538727b4c9L,
  61700. 0x5f20e2ccaf754475L,0xfe3f4c4aef4d31f2L,0xe25edaa3fd4dc244L,
  61701. 0xb255796172dc983aL,0x7ab62907a1c19791L,0x000000000000002dL },
  61702. { 0x6af3e2c939a3be8dL,0x7c100f6bba83593fL,0x933408151f986d85L,
  61703. 0x6a3e36274c8ce9beL,0x263f3820d0fe0d3fL,0x100201e1f9a54852L,
  61704. 0x34ab0e71c2175ba5L,0x105312c8a23a1598L,0x0000000000000196L } },
  61705. /* 59 << 112 */
  61706. { { 0x1a844aabd7391a5aL,0xaaab287d8b4b3501L,0x1435f8a12bc5061fL,
  61707. 0x4588693ec9044802L,0x9e86c1820a553513L,0x7bd0602fc8fd44d9L,
  61708. 0x894b901621d26ce4L,0xc0f06181bf73bfb1L,0x000000000000000bL },
  61709. { 0xe6ec15971782220eL,0x4c2e6efc285fb2b4L,0xb688822d2edaadb2L,
  61710. 0x129be3f8338c9913L,0x0836465246d13d20L,0xbc93fd48530f4ffbL,
  61711. 0x8b6d9caf472dad14L,0x7a977a52a37172c2L,0x0000000000000037L } },
  61712. /* 60 << 112 */
  61713. { { 0x1b26fa58fe5246ecL,0x45b69d4ea6d48abbL,0x4bd1bf364b47c822L,
  61714. 0xe543f2c9f015149cL,0x1f82bab432c44a8eL,0x6f27aee23824ae58L,
  61715. 0xba8cabd695e3e7ecL,0x9bbb31bc66b8eb78L,0x00000000000001fbL },
  61716. { 0xc88a99b9e2708288L,0x7e228e8097db1cd7L,0x84c064e5c935e31eL,
  61717. 0x0d69185a2f2f010dL,0xfa9c64e661a440ffL,0x9d655e24a4bf903aL,
  61718. 0x776e8661bacc5b4eL,0x39a98e6e18231a7eL,0x00000000000000f3L } },
  61719. /* 61 << 112 */
  61720. { { 0x3d7416191aa43b05L,0xa196772534da61f6L,0xc6a9881c9fe86cb4L,
  61721. 0x312a9d68c3b88c86L,0xbb34c3cefbce7f28L,0xab59cf050eefb825L,
  61722. 0x174945c17c8ca5a1L,0xee1a3e9f78d5f3e7L,0x00000000000000b2L },
  61723. { 0x23545e86246672c5L,0xea0ffabbee486373L,0x5d0ad0371dc589cfL,
  61724. 0x7c9e301d57718f3cL,0xc9772db800fbd5beL,0x9821a095463668b8L,
  61725. 0xc76345bdc3c57757L,0x4bd844a73c2d1c8eL,0x0000000000000060L } },
  61726. /* 62 << 112 */
  61727. { { 0x8539e35c7e332459L,0x00fc0e9f98112339L,0x66bb5320ba989b61L,
  61728. 0x4c6a3f25209282c3L,0x14ad058dc440c82dL,0x6d4b647649afd02cL,
  61729. 0xe2a127a77b3f32dfL,0xf3a4d7633c921ff2L,0x0000000000000036L },
  61730. { 0x88de18f672d6240fL,0x980bc77f373f12c2L,0x6558ca734246eba3L,
  61731. 0x903c033b4ec51cefL,0xd83342185dd505bbL,0x51a9e645e8bb1731L,
  61732. 0xb32588b6e307ec2dL,0xc9a481b31c46ca72L,0x000000000000015cL } },
  61733. /* 63 << 112 */
  61734. { { 0x2b5bdf56beea4241L,0xc1e3e0225b740107L,0xfc8fbae009238bd4L,
  61735. 0x991d834280953392L,0x3418731d37d2efb3L,0xea7940f99b0e2279L,
  61736. 0xe45b37101a57c70bL,0x69c37528e4e38879L,0x000000000000009dL },
  61737. { 0x6f566050b423111aL,0x8719ea62fb467f2fL,0x805bec724b45fb47L,
  61738. 0xfd2169aca28673f3L,0x90d8d9757d896d31L,0xf553651583762591L,
  61739. 0xc7fc36f483122a6dL,0xc145ab75e6c19a5cL,0x00000000000000f8L } },
  61740. /* 64 << 112 */
  61741. { { 0x809dc9ec3ecc9997L,0x005bcab58cf9605cL,0xfc78790eaa1b4ed6L,
  61742. 0x6d80a56d687f88a6L,0xb7640965ab9c0398L,0x61fbd11cfeda1c18L,
  61743. 0xdf0fb213831177f2L,0x39e15bfe11a2d00aL,0x0000000000000049L },
  61744. { 0x05d1b9cec407557aL,0x0fa7f405ffe62203L,0x0267252d7efa3c26L,
  61745. 0x445c8adda59468e2L,0x205a0236cd1dda49L,0x3a2196f39f2bcbc8L,
  61746. 0x9c1158d8cd2760d0L,0x1ad9a2f4e806abf2L,0x0000000000000044L } },
  61747. /* 0 << 119 */
  61748. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  61749. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  61750. /* 1 << 119 */
  61751. { { 0x97f22a4110c355dcL,0x550f2515bf8056baL,0x253c72a37ef07316L,
  61752. 0x0f1f8cd585b059a3L,0x8d432e48a7e4d4a3L,0xcdf3981d7b2c78cfL,
  61753. 0x15d98f56dfd71053L,0xc95ecb64949930d5L,0x0000000000000195L },
  61754. { 0xd5e23bcd4b7d613eL,0x8603f848f66ecebeL,0xe2cfaef127a24540L,
  61755. 0xd35bba9b2e9e7eaeL,0xb7f17d307f8c1bd4L,0x901506c4e0ab51a6L,
  61756. 0x3e0d62a390755f2bL,0x8db637dd3c553544L,0x00000000000000c1L } },
  61757. /* 2 << 119 */
  61758. { { 0x9ebd0a79e09d583bL,0x8890ceb33f312038L,0x254ff069fe1c7d97L,
  61759. 0xcd82a50a3825dcb4L,0x065bf2f94c37cde0L,0x59b7c4e2a7b458e7L,
  61760. 0xace6716e7d105c29L,0x84d999349f26170eL,0x0000000000000107L },
  61761. { 0xdca7480bfaada7a3L,0x203303d30d4fb693L,0x0ec1c4d2b9ef7822L,
  61762. 0x2b97216d594552eaL,0xb93e533eb59c5490L,0x50d31ad60d6c3787L,
  61763. 0x0f1014d65cb84476L,0x0523796c02b816adL,0x00000000000001faL } },
  61764. /* 3 << 119 */
  61765. { { 0xaf1e4ca2a7db5dafL,0x7cd7bc5fcf367163L,0x1bc98e50f65d85a6L,
  61766. 0xb86fe8a7aeed093fL,0xfebaef0941e74246L,0x7c4ae3825d97753eL,
  61767. 0x93352c2db192c8c4L,0x0edbd295f0753edfL,0x000000000000009cL },
  61768. { 0x12c415e884e12bc3L,0x6f90b11c8582ffc1L,0x67cb4af0d8c1070bL,
  61769. 0x97c8ccb18a79326dL,0x69ed5c55e5125d94L,0x496103ae1b1baf56L,
  61770. 0x32066cfdbf98cfc1L,0x77c898116d9f4999L,0x00000000000001d4L } },
  61771. /* 4 << 119 */
  61772. { { 0x186535555b9bbe35L,0xe67d27e0e3d2342cL,0x06c2f1f39775eeefL,
  61773. 0x1d98dae9e778d2ddL,0xd04ae2693d8c8e86L,0xc49c1b77d8c7ff3cL,
  61774. 0x33c474c9dff1687eL,0x4b0397567350001aL,0x00000000000001d5L },
  61775. { 0x3a01b07dfe70659cL,0xe8bb7a25ec01b5d1L,0x42f9b07d713a5bf0L,
  61776. 0x9c1f15cf370d1490L,0xd2804385895c898bL,0x72905d530194561fL,
  61777. 0xf467f9e0828ce8b5L,0x54d2132d53e3859fL,0x0000000000000183L } },
  61778. /* 5 << 119 */
  61779. { { 0xf143a867c3316e20L,0xf2bd4f50bc497e24L,0x2aaad2ef37ab1547L,
  61780. 0x9ce62d3f3f7713f9L,0x3246f9c020486bf8L,0x3db017e20da96c8cL,
  61781. 0x56b674701a782cc7L,0xc4c70e3b136bf566L,0x0000000000000058L },
  61782. { 0xd8c1bb99ac35dc35L,0x7487501327c7a0dfL,0x45a025f618aa1c21L,
  61783. 0xdd7ce0f04280e892L,0x8fc15397ddb495aeL,0x51b198def1891c05L,
  61784. 0x81cd5f32268f273eL,0xec2aa11586b31e95L,0x00000000000000fcL } },
  61785. /* 6 << 119 */
  61786. { { 0x7e4fc745603f4f62L,0x300e74342f0eb97dL,0x0e64a63411be4195L,
  61787. 0x6c160b9d52b038e7L,0x4d130d75a62d7fb8L,0x83b6412b23b6bf71L,
  61788. 0xe92b5b0719d0a2d2L,0xf547f666fe79aa1bL,0x00000000000001dbL },
  61789. { 0x609495e1a1364f6bL,0xc196a1c69de725e5L,0x24e0c338051a1989L,
  61790. 0x5b24ecc17132b77cL,0xc38889537d5f2440L,0x847186d0ddffd474L,
  61791. 0x0ea28f9c643c84f9L,0xac9296ca4cdfcc12L,0x0000000000000151L } },
  61792. /* 7 << 119 */
  61793. { { 0x8010e2ec682e5ed7L,0x231b6fc4ccd555e2L,0x08b20819b4cc2bb7L,
  61794. 0xba49a7a8b38f4af8L,0x6ee2df34ff5875adL,0xe10d9cba25883081L,
  61795. 0x7b41a2bf599dc323L,0x01679b17a6aaa35bL,0x0000000000000060L },
  61796. { 0x3396ca47c09ee443L,0x4eb85f5371662a3dL,0xd9dcc6710ef4b6bbL,
  61797. 0xaead8bf43c3199edL,0xd5ee8048216c81a9L,0x5e60fffd6f00e815L,
  61798. 0x115afc95967359a3L,0x316b88ba9c6fb569L,0x00000000000001cfL } },
  61799. /* 8 << 119 */
  61800. { { 0x62e30f146b33442dL,0xde4d2e1042123a0aL,0xa1e5e2dda59b4649L,
  61801. 0x2b6aa7d5dfa5d292L,0x83f0033e00c25b90L,0x2e6143261d598a8fL,
  61802. 0xa5aa5a26df8943faL,0x7459318ad4fb7104L,0x00000000000001a7L },
  61803. { 0x53ed625bd67084d6L,0x47a2d5950d232f5dL,0x593a7030f8863270L,
  61804. 0x3e87b5ab993051e2L,0x02e51486ca5387c6L,0x7612f0c7a818de0fL,
  61805. 0x32d26729b42f317fL,0x48a9b12fb9a3c2f4L,0x00000000000001ddL } },
  61806. /* 9 << 119 */
  61807. { { 0xb331e5f4f0c18c18L,0x34ebae25ed4f1f6eL,0x1d43ad4aa25f2fffL,
  61808. 0xc75517b81c368e17L,0xeb289c54992ad974L,0x8ad87538f5e364bbL,
  61809. 0x914d356e089ad0f3L,0x65a5ea69d54982caL,0x00000000000001c4L },
  61810. { 0x51212cfc269ce3e2L,0x43a6142228f9247dL,0xfaed8540c4abf936L,
  61811. 0xeffda37241f6c6ccL,0x766e3a2bd9497366L,0xbfb0e6af67baae9eL,
  61812. 0x4b943b2b4cf8e2eaL,0x14ff3bc90579b694L,0x00000000000001c0L } },
  61813. /* 10 << 119 */
  61814. { { 0x60b11099cc0ae72bL,0x51cf7973d3588531L,0x62aea2ee1f018f3eL,
  61815. 0xceaec7a028e42557L,0x695f7cce52df0599L,0xf22825452a1b3f00L,
  61816. 0x8c2df32e6394de22L,0x18ce083e2db1770fL,0x0000000000000088L },
  61817. { 0x7989f8bf4ba02f8fL,0x22fc813fb69bd72bL,0xf4eefa600a383c73L,
  61818. 0xd7aa3e7e6dbf9f7dL,0x98113db2d2d50a4dL,0x47e078b14d81782dL,
  61819. 0xef4cea6327df6aceL,0xf720012f577eefc9L,0x00000000000001c9L } },
  61820. /* 11 << 119 */
  61821. { { 0x8a7250ac0b860356L,0x68cc18db827712fdL,0xf51e42975c278210L,
  61822. 0xd739081ce152d377L,0x3be304ef809d58a8L,0x2e2866fe1d8e32f8L,
  61823. 0x079e155045a93bd3L,0x0b6e67a48277ca0bL,0x00000000000001d6L },
  61824. { 0x554f41797dac30e9L,0xd57280b1379d715aL,0xd12134dcd0185268L,
  61825. 0x9fb040dd55b10542L,0x89f90cbe9419c076L,0x058fa0d6397cc301L,
  61826. 0x7b1ebc8b10ab543eL,0xeeadfe47674313faL,0x00000000000000e1L } },
  61827. /* 12 << 119 */
  61828. { { 0x45ff6cffe1a83401L,0x7b9b4eed54a79e2aL,0x979b1475933bb48aL,
  61829. 0x135e2594634d7ec6L,0xc08ba7b4d5dccbbeL,0x78fce165c3826372L,
  61830. 0xb1f172e431102cdeL,0xb6fd8f343eba4396L,0x000000000000000bL },
  61831. { 0xf7d351a9b4f622a3L,0x80215fc752af1195L,0x967f5f190e0e3c73L,
  61832. 0x4e05f75f9f80960bL,0x76c30e858eeb6e11L,0x9f270d1556a7acb6L,
  61833. 0x9236e11764fff770L,0x80c87737e474ea10L,0x00000000000001cfL } },
  61834. /* 13 << 119 */
  61835. { { 0x991489171d928ce8L,0x727f54c83b241dc3L,0x837f9b5e5b7b0e99L,
  61836. 0x60b9885a65c90179L,0x025c5092a0723b78L,0x6f465cadb35a299dL,
  61837. 0xbf3e23b849ac4709L,0xd3d8a7547a8c1a2fL,0x00000000000000c0L },
  61838. { 0x855e31df15d9ac7dL,0x57c4d92146e48a7dL,0xed2f5b45d787acaaL,
  61839. 0xb004403b65895d32L,0xb671cad3324326eeL,0x419aace1f7db0750L,
  61840. 0x5079c99935051f2aL,0x4785a42e08e80cc5L,0x000000000000001bL } },
  61841. /* 14 << 119 */
  61842. { { 0xd3c4e96b03d54c5eL,0x962ef31f65450ba4L,0x4a75aeb64dd512c0L,
  61843. 0x4c4d23aa233d2675L,0x42cfc07c0055293fL,0xbbff60c5242a0317L,
  61844. 0x3f27d5c95c4f2c32L,0xca352c57746505b8L,0x0000000000000080L },
  61845. { 0x5751eeca92a1ef30L,0xb83a993e1f9eee84L,0x5eec2ed72e0ac56fL,
  61846. 0x95ad825bcc0d1e16L,0xd3aa7ba68af2a112L,0x3035c3f8c7ef1fcaL,
  61847. 0x5b5bf3e55216a429L,0xdf187ddd0fcb5720L,0x0000000000000025L } },
  61848. /* 15 << 119 */
  61849. { { 0x78efe954502ba658L,0x1acdb02ca79d89e5L,0x6c83c8808cccff30L,
  61850. 0xf6b6cc94db66a880L,0x9f374ff9ce82c740L,0xf353329b9f06fbbeL,
  61851. 0xfb73109a9e34d30bL,0x4ff19c4c2ae4fb4eL,0x00000000000000d5L },
  61852. { 0xf3329d5a4e4bec08L,0x14090d979e97c3adL,0xc413b1e477844381L,
  61853. 0xa1649708be56dbe2L,0xba1a525241d4f044L,0x2c7da53909d84593L,
  61854. 0x5c1494f9961312e6L,0xece942c3d4cd25b5L,0x00000000000000c3L } },
  61855. /* 16 << 119 */
  61856. { { 0xa549238eb310bea8L,0xb542445a99bb8ab7L,0xa930bd6a8c208b86L,
  61857. 0x1b97c831168af442L,0x18d4fc46a291bffeL,0x1d202d44a6b461aeL,
  61858. 0x433dd2d7c57c66fbL,0xf21b5d1d2a79f133L,0x000000000000001bL },
  61859. { 0x99343aa32ee37543L,0x904b8dcd7eff1bd4L,0x4e1b01fa9711ab88L,
  61860. 0xf8111ac33af62c90L,0x59ccfea158910f9aL,0xf4d713a358e5f398L,
  61861. 0x6cbbd15fb9c12355L,0x6181d1c0c3f59372L,0x0000000000000170L } },
  61862. /* 17 << 119 */
  61863. { { 0xfd1909b68d45b896L,0x40d662ac394c6c7cL,0xf5cea1dcf74c3e17L,
  61864. 0x52641b5abf892800L,0xba56fa53cfae386cL,0x34d5d6e508a7d7cbL,
  61865. 0x93a70eb6eb77e443L,0xe1f4539c3df2b1acL,0x00000000000001f7L },
  61866. { 0x654e70fda8174410L,0x5b339e60fbefce00L,0xcbd494e6957674d3L,
  61867. 0x59a2fa2ba3719a56L,0x84b7ef4361be71b8L,0xd993ba7996bbd063L,
  61868. 0x4e360f9d87a626feL,0x47fb3ca54c60de10L,0x00000000000001c1L } },
  61869. /* 18 << 119 */
  61870. { { 0x64f8ec4c94dbcef0L,0xc97a5fe1d006d598L,0x7cc416b15fee99baL,
  61871. 0x5e76561a698113acL,0xc81c6079ffa11af2L,0xc04b5048cdaee971L,
  61872. 0xa79ec707c46bb0b7L,0x20aedd0f45f1cfd3L,0x0000000000000189L },
  61873. { 0x678e01fdf1aa0926L,0xf6794950809be2ebL,0x9420aa4b9f89e63eL,
  61874. 0x80440a43f8be307bL,0x5f745612dabbb2e6L,0xc68ea3c278a61df1L,
  61875. 0x37c8c2f6d67e5c46L,0x32cac5262b38ed94L,0x0000000000000008L } },
  61876. /* 19 << 119 */
  61877. { { 0x8e864ff05d5cfcd6L,0x43e2041c6f9fc03cL,0x2db99b7e23583833L,
  61878. 0x5dccb3a8339ff572L,0x06586d385e30a99aL,0x1c5dfb435976d778L,
  61879. 0x23751881d86629e2L,0xa5d2aa9db94c022aL,0x0000000000000164L },
  61880. { 0xb460335a0d36e04dL,0xffae905ee8e64c22L,0xe3a3a0890ef4ac2fL,
  61881. 0xf2395b267d86626eL,0x2601b8cb3adcc664L,0x5fbf5face8832bd5L,
  61882. 0x6ae36465bff22aedL,0x8df993b2b0541b7dL,0x00000000000001f8L } },
  61883. /* 20 << 119 */
  61884. { { 0xc2ab59e873ada2ccL,0xbae59c15cbec8583L,0x91b446abcf3b6345L,
  61885. 0xff7a1af20becb4e3L,0xa2ba8e42707dec53L,0x3ad25c5191ee1072L,
  61886. 0x50624ace261414e7L,0x52c9513adfad31d0L,0x0000000000000085L },
  61887. { 0xe08f4efe933887cdL,0x88ef090ae39784afL,0xdf8d631e0d1e77c0L,
  61888. 0xa5d3a5292f764f0bL,0xd782f2bf2a993c96L,0x66bd58533d305512L,
  61889. 0xdaa06e5fcaafa3fcL,0xe5ee3ae28e21902bL,0x0000000000000189L } },
  61890. /* 21 << 119 */
  61891. { { 0x4a29ed0cfac4faffL,0x845117baae022e6bL,0xdabb52d4f8d70af3L,
  61892. 0x24026deac5e6fbb3L,0x44b230ca918eea16L,0x0ed0c105bfaa5514L,
  61893. 0x57c3322682aef559L,0x67bcef99cd389b75L,0x00000000000000b1L },
  61894. { 0x7e8088902867777eL,0x8de1b2c3af7d1830L,0x2755e5556dd95dfeL,
  61895. 0x64641564b86f4994L,0xb629925edfc94844L,0x5297aa1c77dec939L,
  61896. 0x1f706f40c445f067L,0x9384cd0b480c8c54L,0x00000000000000e7L } },
  61897. /* 22 << 119 */
  61898. { { 0xb191bfc95379208aL,0x2a1f2ba91ad2a396L,0x8a482274cff511f3L,
  61899. 0x20fb75155b03819fL,0xedc652327fdde9d5L,0xa73b9708f88e8979L,
  61900. 0xe0bfe37f5e93f0a2L,0xbe3b0ef20f1f13c2L,0x0000000000000008L },
  61901. { 0x52cd7f260e0288fdL,0x6dc435d7872f25e9L,0xfa45bea70164564dL,
  61902. 0xdd4667eb9d109fcdL,0x1e23bd77b282d30cL,0xb3bb1a7478610e7cL,
  61903. 0xf48ee3dfccedda5fL,0x2483a44a16942c44L,0x0000000000000048L } },
  61904. /* 23 << 119 */
  61905. { { 0x05a88878734d704cL,0x40c181a63077bf30L,0x8a9a744692a8af26L,
  61906. 0xda1c1e825393db91L,0x5ed215541599d840L,0xfadc24032c645869L,
  61907. 0xf2bf75501e1b5dd7L,0x2f512f9789250c44L,0x0000000000000003L },
  61908. { 0x0b1020bc1e05e15aL,0x8998b2fe07c12cd3L,0x1f9de8b8a849a0abL,
  61909. 0xed5d9ad7b34dda41L,0x8f576dfd3941866bL,0x6b2ab23bdf701b54L,
  61910. 0x1e8c11f936179a14L,0xb9f4893243e693ffL,0x00000000000000a4L } },
  61911. /* 24 << 119 */
  61912. { { 0xeb1706ffe55d9dc3L,0x128f942b47cf0bc8L,0x6a5d94a8cc1ceeedL,
  61913. 0x8736f0290ca71858L,0xc100090dd1fd8b55L,0x5970b8829caa1f54L,
  61914. 0xafe5e74c9266c865L,0xff310a7a2889325fL,0x0000000000000005L },
  61915. { 0x4b0a8d9bae5ed924L,0x81e086f41a8d0a30L,0x6c209d40190f4957L,
  61916. 0xbf69cda925fd95f5L,0x5a7a31a215c6321dL,0xc4f9d4e866200541L,
  61917. 0xa675123925161f67L,0x3134ad6fd5ff9687L,0x00000000000001e1L } },
  61918. /* 25 << 119 */
  61919. { { 0xb5f514a7e0bb67bfL,0x9e40b6e4e48a475aL,0xf889e93751dfc4c0L,
  61920. 0xd6a56b5fa94b1777L,0xa53c024ce66b7400L,0x54aa63659c499f6eL,
  61921. 0xa318725c40eea1d1L,0x959b22025fa02502L,0x0000000000000166L },
  61922. { 0xf4ac61080c71fefdL,0xc0ccefc5a79fdca9L,0x4c540ee1fc90c9f8L,
  61923. 0xc426e0d1c1d56f4bL,0x5dc15d4c5b7bde88L,0xc5e8b846ddd7a8bfL,
  61924. 0xd8f63c9b8700dbd8L,0x96966bee03f867b9L,0x00000000000001a3L } },
  61925. /* 26 << 119 */
  61926. { { 0x60ce32b9138490feL,0x3195cd4ad2685b04L,0x0e36b35e239110a6L,
  61927. 0x63129c87d4740967L,0x994570fadc6d3f99L,0x8edae6940031cab0L,
  61928. 0x504b1b8f7af36802L,0x5cfd2bdac466fec6L,0x00000000000000c8L },
  61929. { 0xd5dd304e703de0c0L,0xe7e0f651df8244d0L,0xc5bf943c240569ceL,
  61930. 0xa100eda82824e162L,0xb7b7b3b63dda41f9L,0x48f90dd91e5455a9L,
  61931. 0x8c821e2a7b1de463L,0xe653f0674ede44e9L,0x00000000000001ebL } },
  61932. /* 27 << 119 */
  61933. { { 0x459c2acbe7a0e738L,0x3e7b0714c6f21da2L,0x5475f4ffcb875deeL,
  61934. 0xb951bacce164b589L,0x457e8912de96aba5L,0xb774ee72fe8219a9L,
  61935. 0x8978e772f097ebadL,0x12860ee828f4d4e3L,0x0000000000000061L },
  61936. { 0x360293f7aaea6fdaL,0x31008270991d3924L,0xb8b3a28e0bd95d8eL,
  61937. 0x2f38092f695f3004L,0x581cce8636edf878L,0x96dd5a9a14d73e23L,
  61938. 0xe318676fff47dbc9L,0xb767451baba7fae8L,0x000000000000004cL } },
  61939. /* 28 << 119 */
  61940. { { 0xbc008f6f12853216L,0x4bf12ce42b48c455L,0x54ff9bd2fbafa90aL,
  61941. 0x5fe9e7e641840f1fL,0x042dcb9c65e15455L,0xcfd8e3cb4c57c3f3L,
  61942. 0x4c57920afcc0e297L,0xb4cdc9adedd993d0L,0x000000000000009cL },
  61943. { 0x6b6ee23c382e05c0L,0x17f4b2c3b8821acfL,0x48517aa5b5db9ea8L,
  61944. 0xa86c1f52c23154e4L,0x5c13f1540f4d1d9dL,0x83e69e90e13257a3L,
  61945. 0x4cfd01f2e6b1bd31L,0x04610d106f53c1d4L,0x00000000000000d2L } },
  61946. /* 29 << 119 */
  61947. { { 0x96f21b5c587ece4eL,0x2ec1c0d35e494d28L,0xb2f2b82c71276480L,
  61948. 0x1556d678fc677d2cL,0xd2d1d79ca8cd767fL,0xa317f1c6a04e42aaL,
  61949. 0xbb445d70ddedc4ffL,0xc2a0dddccfff4b00L,0x0000000000000048L },
  61950. { 0x743026ad46ec7a40L,0x909df3034e4b2c97L,0x1942a04f54f5aea2L,
  61951. 0x2316f22aff478c5fL,0x1aa79b3decddd9c1L,0x2a9f761432e997bfL,
  61952. 0x58b8aaba9b14edfdL,0xf2e3dd78e507dea0L,0x000000000000004dL } },
  61953. /* 30 << 119 */
  61954. { { 0xd498bb74e6cf516eL,0x5142e4d31d808796L,0xa5e120b141cf0189L,
  61955. 0x50b0208b41823038L,0x290dda83eca548f7L,0x3617a82941bd5a4cL,
  61956. 0x3ee40e94717cabccL,0x7801f6aa97f09b10L,0x0000000000000175L },
  61957. { 0x00bc1f19e1e5636cL,0x3ee1b2a1790abe39L,0x423dcd56b6935099L,
  61958. 0x951fb17eb8189d05L,0x2086426183d235d9L,0x1d060a7799abd480L,
  61959. 0x393b00f9871477e4L,0x3d751bf09a968951L,0x00000000000001e3L } },
  61960. /* 31 << 119 */
  61961. { { 0x6b238a6a447a1655L,0x87e723a1b29ad51dL,0x2e1618a3cb5d4927L,
  61962. 0x61ce36defb5ea331L,0xe66a95a69dbf6e02L,0x7e2d71c88ff6b838L,
  61963. 0x19ff9378b2144d22L,0x573686d3dbc2f8afL,0x00000000000000ceL },
  61964. { 0x027a78fb3b8116a5L,0x431129b0105e775dL,0x0b111a77a199ce40L,
  61965. 0xe282a92c3d72ffeaL,0xe4e9e0d2f41b8ebdL,0xc6775590ed468e58L,
  61966. 0x585f9c702df78db2L,0x6c1d2b10c6120772L,0x00000000000001bbL } },
  61967. /* 32 << 119 */
  61968. { { 0x0bc2fc66a6a08edbL,0x4f83dbe481d46942L,0xdd379bc14e44b819L,
  61969. 0x6f409f1ab5785cc1L,0x3fac6dda40232da3L,0x83b4bfdc11b9bc84L,
  61970. 0x4563149ac91e3874L,0x210062c6f562966fL,0x0000000000000126L },
  61971. { 0x6a00191e9548d9c4L,0x800f66bcd9716285L,0x3a8c05a315dd9859L,
  61972. 0xaf6dcdf5ac571627L,0xeae07417006a2a90L,0x11b368fbfcb7c955L,
  61973. 0x5e47618fc4abe2b7L,0x328f44c85ab9dd68L,0x000000000000015dL } },
  61974. /* 33 << 119 */
  61975. { { 0x2a1f44bf35f04663L,0x35863dbcf2cb12ccL,0x65966eb50645618dL,
  61976. 0x121be877084d9977L,0xb293bc95a71b0855L,0x15cbf71b3e8b2bbaL,
  61977. 0x18432ee58df913c0L,0x47fd2827e04dfad2L,0x00000000000000e0L },
  61978. { 0x9ff5d0451f756bc0L,0x149333a7cb99ff05L,0x514778ffc7520037L,
  61979. 0xf9e3810a69a033b3L,0xc107c7f739edc855L,0x613b65b44f1cf022L,
  61980. 0x8ad96f8dcc6df762L,0x5d46de0029fc7d62L,0x0000000000000000L } },
  61981. /* 34 << 119 */
  61982. { { 0x1d850ba68665bf9cL,0x0a5bfa5ecd57b87fL,0x06ecc39391eb1ac0L,
  61983. 0xc92b6bfb47a8713aL,0x4dfcc9f1b5a6c2dbL,0xeec1b0b4361c81ceL,
  61984. 0x44635bcce1d3f510L,0x73ed43e468bdd964L,0x000000000000009eL },
  61985. { 0x5ef7da45e203e241L,0x415015340b472483L,0xae2fd0edf8c38f62L,
  61986. 0x497f78e07f8125eeL,0x3b25ec8d2f86cfe9L,0xdf5be34f63202086L,
  61987. 0xfaac26690de5c0e6L,0x515f0bca5c14a0ecL,0x000000000000002cL } },
  61988. /* 35 << 119 */
  61989. { { 0x388204a5856f6cd7L,0x904812166cf197baL,0x464561f15fb4bf7dL,
  61990. 0xd134b856f100c475L,0x6ff4dcded7592257L,0xd76fb6af4d3963e5L,
  61991. 0x5158524f9e80e9eeL,0xe56520ec2e0e44c9L,0x0000000000000002L },
  61992. { 0x8178bb1d5481b113L,0xa4bcda1d0bcdb35dL,0xb5f582f01dfd501eL,
  61993. 0x0a69c092b148ca76L,0x2d5d8f611ffdab41L,0x1559fa8d0416db07L,
  61994. 0x3e0dfea55da20aaaL,0x65feeb54cdae4b30L,0x00000000000001b2L } },
  61995. /* 36 << 119 */
  61996. { { 0xb99c8cbbb9f77625L,0xbb9f09212461cc35L,0x8b93dbd9bdd1edb5L,
  61997. 0x5a53e36e7de8aac6L,0x2aa01adc4d122c59L,0x9beb895d36e58874L,
  61998. 0x49cebc216f3b18ebL,0xd6ceb0334676c58aL,0x0000000000000075L },
  61999. { 0xa914bb8e5fa2193eL,0xc4e659990f747a2cL,0xa6d517b9957743dcL,
  62000. 0xcdd3ede4d4c39e00L,0xbcec7332aa4c0329L,0x3ab06883425fe620L,
  62001. 0xd1cc5d15668dfa78L,0x4d96ddae52b7579aL,0x000000000000019bL } },
  62002. /* 37 << 119 */
  62003. { { 0x4be1055088151d4cL,0x9d380be1cd317b85L,0x135a9b2500b5933aL,
  62004. 0xb2a5bbf5bebf245cL,0x18fafe7a7fd975c7L,0xd68068c9b48104efL,
  62005. 0x1aa0df9c8079c090L,0x8efcc46fcdbc1da3L,0x00000000000001d2L },
  62006. { 0xf773a926f6609360L,0x43b75bbd140a56e9L,0xa4c713e6d3a0b820L,
  62007. 0x0f821f3f5de9d334L,0x1c6c4f45b947eadcL,0xa974aad7fbb18aeaL,
  62008. 0x414b97de33ca4d45L,0x809bfa14f7bbcc4eL,0x0000000000000076L } },
  62009. /* 38 << 119 */
  62010. { { 0xca350ea9e37b698dL,0x9eb0052ef86416b9L,0x784ed0be5ed684a6L,
  62011. 0x2b41249bd685ba76L,0xcbb7f9bdf8885679L,0x18973477ded73fb4L,
  62012. 0xb89489b5a787e3a6L,0x7bc63168aa40bdecL,0x0000000000000079L },
  62013. { 0xfec9cd3b6d62a5c6L,0x91f481cbbf766a62L,0xb55ba1f2286b4265L,
  62014. 0xf3e28afc6b10ea1bL,0x1945a36d4e4ade55L,0x9823132fcb191569L,
  62015. 0x0c4ce33732178d49L,0x5f0a08e255189f04L,0x00000000000000a3L } },
  62016. /* 39 << 119 */
  62017. { { 0xb7849d36fe2477a8L,0x311c25a323f26d2cL,0xd6601942c5f1b989L,
  62018. 0xc45c73d160698449L,0x8f52a35889025c50L,0x289f61fd4503f0efL,
  62019. 0xce5ee29ccfbdc0b5L,0x56a6fd6fd0947666L,0x00000000000001fcL },
  62020. { 0x53c2998e1173eb9aL,0xd7e525fbca74814cL,0xe6a9bd42e7ae0a8bL,
  62021. 0x26587842f9aa587bL,0x464bbbf3f79d2faaL,0x89a0bd3355f3fb1aL,
  62022. 0x8fe1ac20cbeaece8L,0x2387e29f36016942L,0x00000000000001bfL } },
  62023. /* 40 << 119 */
  62024. { { 0x6d20e58e82000ffbL,0x1ea966716e7d118eL,0xb0cb325041c88eb5L,
  62025. 0x973b977faacd407cL,0xf20cd8f6f0ca7a17L,0x2f0ef22e9fef2038L,
  62026. 0x23d15a01175a188cL,0xdbdddfa829188156L,0x00000000000000a3L },
  62027. { 0xfb1a78b3993a35e7L,0xf7badc2f131829bdL,0xf9e29ac9a58a4099L,
  62028. 0x302502e0c7ced6a2L,0x0d09dac9f1cb6d2eL,0xb31805d7d96fafbeL,
  62029. 0x8124802b7410b804L,0x8720b403d824baa3L,0x00000000000001ecL } },
  62030. /* 41 << 119 */
  62031. { { 0xa7290d9c48b1f38cL,0x5b8c285d132d4075L,0xb97ab2320f6612c9L,
  62032. 0x278778d5f8cc7252L,0x1bb9cfb9f88bf532L,0xbf27cee0fe2d82b3L,
  62033. 0x568fe3492c626677L,0xa29cfa7b663a62bdL,0x000000000000010eL },
  62034. { 0xd8eaa38b28160c39L,0x5aa3566b05af5ea1L,0xd5de166d4c045d02L,
  62035. 0x3d0029b93de6e8d1L,0x6ef61a9745c158b3L,0x2a76310bfa47b87aL,
  62036. 0x2d4cb8f174440b9fL,0x2f1d69bf22788f42L,0x0000000000000061L } },
  62037. /* 42 << 119 */
  62038. { { 0x2aa57c505668fefdL,0x1d383b64bbaeb298L,0xe4be715ad8a2f406L,
  62039. 0xc0d9df9754005292L,0x423dc4c773eb56abL,0xa5651c8e01586953L,
  62040. 0xa4afc432bf57c12fL,0x0fae1a0b3db56d05L,0x00000000000001d6L },
  62041. { 0xb6a8f2764827d50cL,0x6096d31c6921e003L,0x4100d72e88d61542L,
  62042. 0x872c450a56e575e6L,0xf25cee3e5a82b93aL,0x797af76ca2a32ba6L,
  62043. 0xa1e2af54ff02fe90L,0x6ba03aab44163fcaL,0x0000000000000052L } },
  62044. /* 43 << 119 */
  62045. { { 0x45e97d51cbeca15cL,0x92ecdf862b747064L,0x2dd8552961bc072aL,
  62046. 0x1ff9552ac1c0783dL,0xe424c5fe4c9235f7L,0x702ed8f71a1bccbbL,
  62047. 0x44ce8000061a4767L,0x09ad63882e4d5303L,0x000000000000018eL },
  62048. { 0x93a69860c1a12d88L,0x20fe34ce34096d41L,0x0395762d55ed8738L,
  62049. 0xb52c3127b21aa0d2L,0xb3ee6efe8c5c0ab9L,0x7ef6aa092ab17c19L,
  62050. 0xc7dfe85539c623b4L,0x4b4e21ec470a5812L,0x00000000000000c7L } },
  62051. /* 44 << 119 */
  62052. { { 0x41f1110cc6c5882fL,0x269cfa8003a383a6L,0x063066bc3fb339bdL,
  62053. 0x893cda4818001024L,0xdc69f450a35accd7L,0x7bc9d8c37bfcdca8L,
  62054. 0xb3034c8661dc6f02L,0x65e4d3ac27f28f29L,0x0000000000000026L },
  62055. { 0xd485c332700bcf1aL,0x97bd7f097c2ae8a6L,0xd07bbb26c2fe444bL,
  62056. 0xc637e7632b702432L,0xb4e830218750ecc1L,0x1bd3bfac22178bdaL,
  62057. 0x2deb354ce56f8538L,0x9ffac3411745164eL,0x00000000000001e6L } },
  62058. /* 45 << 119 */
  62059. { { 0x83369d68f61454ceL,0x3f00ac930ef465c0L,0xf372ca70c9ac3434L,
  62060. 0x7a4df749a652a4c2L,0xb5cbf0aa6d77058aL,0x016c55b4f828b256L,
  62061. 0x2d5b8556574471d6L,0x3802a2adf605e691L,0x00000000000001efL },
  62062. { 0xe250d04a621747a1L,0xe1815010f73b751dL,0x2911a81dab76c836L,
  62063. 0x47e76c4cd4ec7b58L,0x13bcbfc531868dabL,0x71fd1826ad6217bdL,
  62064. 0x58d008b0332e4a37L,0x6b046494cd88d120L,0x00000000000000bfL } },
  62065. /* 46 << 119 */
  62066. { { 0xb0dddff0f61ce5bfL,0x162bfccb7644e88bL,0x62f50e15ab7a4b15L,
  62067. 0xa34c92f13b3289aaL,0xa78127d8ebab98c4L,0xe805aadc0908f884L,
  62068. 0x237a8b9aab0ff641L,0xe0017b5f1b7ff0baL,0x00000000000001f3L },
  62069. { 0x871e2a2d3a0be93fL,0xab5b0dab375f5672L,0x4db1185439454995L,
  62070. 0x5586e23420d5e373L,0x45ba928391960be2L,0xca170fa228c6ac75L,
  62071. 0x73af1b708481edb7L,0xe7f738bd66cd194dL,0x00000000000001d0L } },
  62072. /* 47 << 119 */
  62073. { { 0x5e706dac23b4a6d5L,0x1ce385acc2e54919L,0x6aa1ae21e6a1b808L,
  62074. 0x8b6fa602d276b630L,0xa045ee27b1666aecL,0x0d94dfa8f4de0f17L,
  62075. 0xb8fdb55612f63f7aL,0x16083fc661173439L,0x000000000000001bL },
  62076. { 0x1b8ddf1802095fabL,0xf10e700fe66b44c1L,0x0b6d14a584bc01ddL,
  62077. 0x34f7a7e595aace58L,0x068003fbb0cef64bL,0x071161805837ebefL,
  62078. 0x09e3dbb9530aee02L,0xf16a7550c2d924daL,0x00000000000001dfL } },
  62079. /* 48 << 119 */
  62080. { { 0x7504bfd02e9b52d8L,0xc14c2e06f96980f1L,0x9f8a9d759fd5b1e3L,
  62081. 0xf182865b45156aedL,0x50b0cc368ce9cc26L,0x795f14da99833447L,
  62082. 0xbfb65a7c8bb4ee45L,0xf69152996ad0b825L,0x000000000000015cL },
  62083. { 0x7515a268f20f5a41L,0xa9f0c26ab40016f9L,0xa1e9255c68244585L,
  62084. 0xa7f9b9b63593b04aL,0xb3b584b379b006cbL,0xf8f232002fa6001dL,
  62085. 0xded262cf2d85354bL,0x32684f9602a212c4L,0x00000000000000ceL } },
  62086. /* 49 << 119 */
  62087. { { 0x28f6eb1f7209b0aaL,0xd3ad776d5ceeb136L,0xf5776c122c51355fL,
  62088. 0x68ceac473c98f9caL,0xffe36607a189cdf6L,0xa6aa2cb0c41b5335L,
  62089. 0xb6f97b13f4228d0fL,0xc08f5f9ad8499d39L,0x0000000000000170L },
  62090. { 0x64fb5744ba209520L,0x285a6f3a3e69bcfcL,0x94ed78757004b6d1L,
  62091. 0x58cae99fdf95df4cL,0x33c25bed249942f1L,0x65d8b14cba4429fcL,
  62092. 0x49855d740b951c72L,0x19c4896828bf84baL,0x000000000000017bL } },
  62093. /* 50 << 119 */
  62094. { { 0x4c9d8cacff2d8b65L,0xc45bd92d179f3040L,0xae72e5018e5cdc37L,
  62095. 0xaa449c76f3403c8cL,0x7cc0b59ad969f8fcL,0x82d42d85953bc5f9L,
  62096. 0x42d22f167329ed61L,0x1346f831d79da154L,0x000000000000013bL },
  62097. { 0x453eefc095d4c1b0L,0xf368d0a9c0151480L,0xe5e70e121c88eed0L,
  62098. 0xd2d4e183ede8dcafL,0xb3c1aeaf2b7c0e96L,0x267cfdc3d7119ef6L,
  62099. 0x726315544d66f240L,0x35a5053f8b3ba01bL,0x00000000000000ebL } },
  62100. /* 51 << 119 */
  62101. { { 0x18e992882d99b995L,0x91eaf7bd18da99ddL,0x6cd867b276baf30cL,
  62102. 0x81ddb37e79f3951eL,0x1a31a11da660cd44L,0xfd1d7abdc64bb6caL,
  62103. 0xd06da3853ad047a1L,0x0551dc5d18500d26L,0x00000000000000d4L },
  62104. { 0xd655dbc4a56c2d9aL,0xefd030860031587cL,0x72e9f59994e89201L,
  62105. 0xe40fe6c62ab9e1cfL,0xe096cda83f4facbcL,0x8f1256653d8ae874L,
  62106. 0x757c85715e1ae9d2L,0x194254584eb4b540L,0x00000000000000f7L } },
  62107. /* 52 << 119 */
  62108. { { 0x2b59d0e19914987eL,0x0dd9211ffdcd7c4eL,0x8e64f4307374cecbL,
  62109. 0x2871801fdb74abe1L,0xec2a36fe7eccd46cL,0xa352a1fa019682e2L,
  62110. 0x4d33e93e89fdb09dL,0x0766c47e0aa4a0efL,0x000000000000018fL },
  62111. { 0x0b8e93435eb6bdccL,0xcc0ff53bc54f61f0L,0x4c56f488f18e3583L,
  62112. 0xe68caf9247091732L,0x3ae769850463bfb7L,0x5e1c264ec3731f02L,
  62113. 0x02c43734b13b2407L,0x39c2841a6ae98aa9L,0x0000000000000053L } },
  62114. /* 53 << 119 */
  62115. { { 0x2426d599fceb982bL,0xafc5ece1fee285c2L,0x350815619b7e6025L,
  62116. 0xc7320a8d2bf6fcb1L,0x45755ed78c9bf467L,0xbc3282102df44bf3L,
  62117. 0xb259e7efd74d2ff6L,0x674facb030ed2509L,0x00000000000001d0L },
  62118. { 0x861acf33a2f0cc96L,0x62db05068367db2eL,0x639033ec2b1fb906L,
  62119. 0x91f2cf72b5b5f399L,0x76236bf2b0eeeb34L,0xbcf075451b047c87L,
  62120. 0x071f150ba29bc4c3L,0xef42687e05dde2d9L,0x00000000000001f5L } },
  62121. /* 54 << 119 */
  62122. { { 0x7a8eb2ab0ee6708dL,0xba7e08b7f90168e5L,0x763aac0d3f58f2dcL,
  62123. 0xb0cdc84a7ba2a4dcL,0x02a8bd35f1e3b519L,0x5f39ac1b8e3b9f2dL,
  62124. 0xa042d7e89d98f86aL,0x8096461ca9e64b14L,0x00000000000000afL },
  62125. { 0x3d09672d4e3e44e8L,0x2506dd9dda7c3de8L,0xf85d30baf4829b9eL,
  62126. 0x082923844dfd7291L,0x915707e19e64b3dbL,0x19683c2c819a0b64L,
  62127. 0x23cc1a36324f5d0fL,0x3d11e9fb33ce2655L,0x000000000000012eL } },
  62128. /* 55 << 119 */
  62129. { { 0xf68386fa888aa958L,0x613390b5d9d0f67aL,0xeaeacf1eed2656b5L,
  62130. 0x74b550a872877de3L,0x57fa4d941ab845b2L,0x1225595224eb57b1L,
  62131. 0xa4f4c0fe98a50b36L,0x52f5c07e1ae96581L,0x00000000000001f4L },
  62132. { 0x30898f2d1028fdddL,0xfb3f5650a0344437L,0xd5033e856a58e784L,
  62133. 0x9e51e2e6ee46b6efL,0xd5e841f005a8c5f5L,0x15887595fa9bc00eL,
  62134. 0x8adf4c9304c01ae9L,0x4a9cd9bb9d9db32aL,0x000000000000016bL } },
  62135. /* 56 << 119 */
  62136. { { 0xaa6cdc01e7416b5fL,0x92bfe795ec1feae2L,0xeeb400bddc173db5L,
  62137. 0x8609dbe0bff7846dL,0xecf621229d201903L,0x4c15e42f5a3ec1d7L,
  62138. 0xcd2b85015119af15L,0x981a0c08add9cb95L,0x000000000000004fL },
  62139. { 0xa6d2f3a0186db260L,0xb259fad5b0c24c87L,0xc68d1b53c7f64d0dL,
  62140. 0x38c1c8c2543c50b7L,0xb3f7a5c61e042c56L,0x2083f846d4498e97L,
  62141. 0x41c5fb320b7d08c5L,0xc5196c8d9c2caa96L,0x000000000000007aL } },
  62142. /* 57 << 119 */
  62143. { { 0xee862a82e2056fbaL,0x1f4e8288d286c0abL,0x55158dbfed0751cfL,
  62144. 0x3e72a1b69c51cc83L,0x07e9544a464cbf5bL,0x06b7f08d84ca5228L,
  62145. 0xfd4e306720cedbbaL,0x441f23d2fd663b38L,0x000000000000014bL },
  62146. { 0xb56e86d029cf364bL,0x2e4cbbe886ee100fL,0xa2ac7cde1af4c403L,
  62147. 0x20b602aeead7dfd7L,0x32db7a58a912eeebL,0x7e46fc37cd65cfcaL,
  62148. 0xa61ce9ec64e513e6L,0xc46e45ad5e355c59L,0x0000000000000082L } },
  62149. /* 58 << 119 */
  62150. { { 0xd9446d12d08d5183L,0x1930a976ff54d766L,0x4b5f889fe0f983c0L,
  62151. 0x3f9cb2d9f4cf0b95L,0xf25e0f78a3e156f3L,0x85698419471f2ed8L,
  62152. 0xcd2e901f340547cdL,0xb735b0afe5b67d75L,0x0000000000000090L },
  62153. { 0xbd5dc2a524d04605L,0x81b22ff6cdaeea52L,0x35e5177fc2dcbe54L,
  62154. 0xa021681e5d5c2a50L,0xb6316fbb7772bd63L,0x7513efa7fac05cb2L,
  62155. 0x2ebe68f969e4bb0eL,0x4ace321e7d9692bcL,0x00000000000000bdL } },
  62156. /* 59 << 119 */
  62157. { { 0xfd326e55d25b6175L,0xaebfd41920d968c4L,0x470743454b5e33d5L,
  62158. 0x0c5e0f18553ad718L,0x435094bf6a41609dL,0xe4583ca75b278266L,
  62159. 0x62009983871212d6L,0x1404bbcffc7a545fL,0x000000000000002fL },
  62160. { 0xe34736dd5f7295d9L,0xf5e4b0cb1eb15ba6L,0x1815b6fdfdabc947L,
  62161. 0xbac35e1fea16f54bL,0xd9adc92196fefacdL,0x8bd671a7a338e668L,
  62162. 0x024352aa43905638L,0x7f4f43cc43d3b2ecL,0x0000000000000084L } },
  62163. /* 60 << 119 */
  62164. { { 0x74409db3feed975fL,0xe70514b682733880L,0xfe1b718ab5a41e01L,
  62165. 0xa2059a6544b53e78L,0x25c2079fb1fe6720L,0xea6df9fad9cd24f6L,
  62166. 0xe5f1f5b4fca222f5L,0xe8f6dcb4dcef0479L,0x0000000000000039L },
  62167. { 0x2cfc5286b2a16b82L,0x25ecb74775d40713L,0x4b263a4755dda1f1L,
  62168. 0x0676b9c117aa9c19L,0x6f2e9310476acc39L,0xb27ef44fd5c4e15bL,
  62169. 0xb5d3e4f79d72b9d2L,0x8a3aeb37ca49521eL,0x0000000000000038L } },
  62170. /* 61 << 119 */
  62171. { { 0x1a80ebd82d914976L,0xd5d1c8cc996eff0aL,0x06ac9a8535cba3eeL,
  62172. 0x381d54f62e809546L,0xacf4ce4c769411f3L,0xa64b28314a37638cL,
  62173. 0x13d99aaab7cc63d7L,0x462b14c7a591857eL,0x0000000000000192L },
  62174. { 0xf3807c3ad22ea880L,0x76f9339636cd3b1bL,0x77d0bc89d2ab27d0L,
  62175. 0xd7e7f64e87dcabebL,0xef3f8eaa3ec8afddL,0x698141961205cc30L,
  62176. 0xf89c8a8ee16e9331L,0x95b0f6fd2d30c290L,0x00000000000000dbL } },
  62177. /* 62 << 119 */
  62178. { { 0x3471f7f706f7bfa9L,0x912385e739e980bbL,0x829fcd40e8774d7dL,
  62179. 0x637e17490e295af0L,0xe2aacc7d9fab3a4eL,0x1e074bab0dc9e073L,
  62180. 0x53fe3fd6bf348272L,0x0779d4332877f11bL,0x0000000000000076L },
  62181. { 0x44b3a7711763e639L,0x50a471be9d95f8b3L,0xb50122f106d99fbaL,
  62182. 0x6fc8784613054c47L,0x33befbe2d0e71575L,0x1cac97e3789e115fL,
  62183. 0x3f61f57e455d8c54L,0xec75111ee7dac210L,0x00000000000000c7L } },
  62184. /* 63 << 119 */
  62185. { { 0xae4363ed7c759c6eL,0xb663d67dfa6e2ba0L,0x745abea27791af0aL,
  62186. 0x708b4c271cfea43fL,0x90ce598808d390fdL,0x3142798061acbc72L,
  62187. 0x413c40bf20dfc34bL,0xc7577fba6be74f89L,0x0000000000000054L },
  62188. { 0x4f315b816225f675L,0x08b7537d99b0789eL,0x0723ee516f760ca5L,
  62189. 0xe6fd90d08bcdfc98L,0x40eb0f9177226310L,0x6412fda8f8b2e5bcL,
  62190. 0xf1421d2a7e40a5b9L,0x846449c3f273b934L,0x0000000000000165L } },
  62191. /* 64 << 119 */
  62192. { { 0x7ac007ad8451ad30L,0xadb09d590905b6a7L,0x96b382333ed8d9dbL,
  62193. 0x7ba1ab90144aaaaaL,0x2d31fb344abae176L,0xc0471119d1d9cb6cL,
  62194. 0xe56b681221c9fe02L,0xfd040d70efbd1643L,0x000000000000009eL },
  62195. { 0x91c517c02975af75L,0x7a77c8f2834de3adL,0x7dfd1527c6e95530L,
  62196. 0x982a2eef0ea03560L,0xc340fe70c7e0205dL,0x302ca446735bc119L,
  62197. 0xcc1072285c271f62L,0x9ba4e55bc486fbdaL,0x000000000000006fL } },
  62198. /* 0 << 126 */
  62199. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  62200. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  62201. /* 1 << 126 */
  62202. { { 0x6a00d57da5e6776fL,0x8a138da8dbd9bd8fL,0xa059ed07d5fddaa1L,
  62203. 0x4f6122d91a42e212L,0xe72e39c509d704dfL,0x025696a8f15340ddL,
  62204. 0xe75fa17db760bafdL,0x1b7950b1017f537bL,0x0000000000000109L },
  62205. { 0x1e1af3bd3f72ec2fL,0x0b95f25a8df112a2L,0x6f3e98aec4b96ea1L,
  62206. 0x5b890eecf3ddf2c6L,0xb4e902c3d1b40c40L,0x331cef2678e129b2L,
  62207. 0xdf376cfca4f572deL,0x9299466aad414479L,0x0000000000000103L } },
  62208. /* 2 << 126 */
  62209. { { 0x36252c7bd5a6eac2L,0xe218a649cae5dc4cL,0x690f3b49b249829eL,
  62210. 0x4858d6576e5a7464L,0x6e4b2ca633ae77e0L,0x28cfd8ba871586adL,
  62211. 0xaadaabc9d63d4d38L,0x2ea000e98acdd480L,0x0000000000000043L },
  62212. { 0xbb0525eeaa905e22L,0xd6ad676ea045363fL,0xa0abe10eadbb3a6dL,
  62213. 0xbf7d435a49793facL,0xd96b7452c4dd6260L,0x4e64c9930aa813f9L,
  62214. 0xac364502001a15ecL,0xc33efef71af6493aL,0x00000000000000eeL } },
  62215. /* 3 << 126 */
  62216. { { 0x4ac52cc0248119eeL,0x69c12fe2732cf0c4L,0x4ed67c2a560e7ac4L,
  62217. 0x82f29f7e79346ba1L,0x47607b94f488c23bL,0xb39bff863dbb4817L,
  62218. 0x91de351665116670L,0xafd0ce8fa77373f0L,0x00000000000000d3L },
  62219. { 0x9d96404bc2a1911eL,0xa43a089a21382683L,0xf16276e883e13d93L,
  62220. 0x581897d09fe988eeL,0x3ad0dd8b998d0f46L,0x078f1a9bb6143261L,
  62221. 0x303d457410d18924L,0x0bc45e0c82a9a0a6L,0x0000000000000076L } },
  62222. /* 4 << 126 */
  62223. { { 0x9aecae2d6a3cf15fL,0xd9d0b49a9c959376L,0x4aad945457cc7e25L,
  62224. 0x683618323876fe58L,0xccc6f2d82bd9dc24L,0x3970525c605bafbeL,
  62225. 0xf17524eda2c5499dL,0xe30b69d5b0c7bf4fL,0x000000000000005fL },
  62226. { 0xa71532adb5d073b0L,0x37159fb3b4fb97b3L,0x15b655b27a1fff6dL,
  62227. 0x55ac89ee9e08a89cL,0x13cfab6bbc027776L,0xa57a7f289dece9a9L,
  62228. 0x65a3d815c03a1d45L,0xe5cd61ea95515dbaL,0x0000000000000100L } },
  62229. /* 5 << 126 */
  62230. { { 0xb5c48a06cfc6b235L,0xaa7c3f7009f1e479L,0xb6bb50cf899f94e4L,
  62231. 0x3e0823b34b850b6cL,0x4777c2c2795acd34L,0xde6999f169c9c574L,
  62232. 0x5d3e7f18cae69639L,0xa0a30c05ee76b726L,0x0000000000000095L },
  62233. { 0x0d1df4b3760bd806L,0xe76381175f56b063L,0x876307d8fe5fc610L,
  62234. 0x0db04d83536a446cL,0xf020f6b4437b971cL,0xd5eae3a0ee10ad1cL,
  62235. 0xd8041973920ed5ecL,0x42825e955216c588L,0x0000000000000147L } },
  62236. /* 6 << 126 */
  62237. { { 0xb0da1338de123c1fL,0x0e0c698e649a8652L,0x812b95f93c9b1fe1L,
  62238. 0x15e7b770d3b3714aL,0xd75d98da400398eaL,0x86663448a6666434L,
  62239. 0x8a820ce79a26a89aL,0xbcd785914d7f2fd1L,0x0000000000000058L },
  62240. { 0x470af7d334f3d449L,0xa54f2eca47a36f7fL,0x1a1afce9ab8573e2L,
  62241. 0x180bb5940e1d26f9L,0x0adc2f21c2f87c19L,0x0292b1813d39dcddL,
  62242. 0xd116d62af52b928aL,0x803ab7608dc43b17L,0x00000000000000f2L } },
  62243. /* 7 << 126 */
  62244. { { 0x9fabf32c1b953f8eL,0x6a1919f297c27760L,0xffc5895b235fa996L,
  62245. 0xbc6a06c9a860faa0L,0x08a3f0b8f5cf032cL,0x1b50f6d7e54d862aL,
  62246. 0xbef9525a2ee95ce6L,0xd29d4cbec0cf300eL,0x0000000000000078L },
  62247. { 0x3298f5bef6f748fbL,0xa1477e05624cb33fL,0x790a733bfba77178L,
  62248. 0x5c71c7fb1a852470L,0x412df1e51e5e062fL,0x1deae6b98494f310L,
  62249. 0xe28bc9e2a851449cL,0x0a8819713101ceafL,0x0000000000000076L } },
  62250. /* 8 << 126 */
  62251. { { 0x64107659d44e9b1cL,0xdfe2b3ed599694f3L,0x348b163455939fefL,
  62252. 0xeb5fb1860b2f8b7aL,0x19d2becf5a1469b5L,0x24c67ff96bea8f5aL,
  62253. 0x1a4037a85924fde9L,0xdd0e9acefe0231aeL,0x00000000000000f0L },
  62254. { 0x5b3f06a237cee8e6L,0x3ccc49c67e4a80a6L,0xe8729cc405b38a1cL,
  62255. 0xa51323391f4373f1L,0x1dac8246b3a773f0L,0x9824b4980193d5b1L,
  62256. 0xb63e677ac4db540aL,0x9c74537f5f10a7c1L,0x0000000000000094L } },
  62257. /* 9 << 126 */
  62258. { { 0x04c48d47fb40834aL,0x597722f2ce2a8ae7L,0x60d17d9eeae4d77dL,
  62259. 0x621c37135b996e51L,0x57bdcd302bc1e0daL,0x8dcb34eedfdc6cc5L,
  62260. 0x5252936144ce5a05L,0xbf52929bce1a2ef0L,0x00000000000000dbL },
  62261. { 0x1b8e10a725993998L,0xfb6d649983675966L,0x03318a2d858e41c6L,
  62262. 0x6b6b365e33cd6c75L,0x3aa091143500ee2eL,0xf2ac959d6840c8b3L,
  62263. 0xf677e86103445169L,0x2a0d3377b52f2064L,0x00000000000000ffL } },
  62264. /* 10 << 126 */
  62265. { { 0xbf7a23f2f851b8fcL,0xc1bd1b74db32c685L,0xd0ab7f93138501b8L,
  62266. 0xe7c5770454cdc320L,0x6b64807ada0a6e60L,0x84f83a22d75c0a8bL,
  62267. 0xa555aa9537b4524eL,0x56787a37b6459681L,0x00000000000001a2L },
  62268. { 0x4479f49de83cd71fL,0x4f53ebedc838cf55L,0xcba234498ff72ff6L,
  62269. 0x203ff691435a3557L,0x51f0d2949bb325e0L,0xe3da5139806ceb26L,
  62270. 0xcc4b204ebe6bbdd2L,0xf05ef8e12e3bef4aL,0x00000000000001ddL } },
  62271. /* 11 << 126 */
  62272. { { 0x8726192031da68e9L,0x8d660db73619c127L,0xf3d5a3e2f282597bL,
  62273. 0x9f1535cd54448812L,0xaba3e02b18f499d5L,0x70d4159c457d8737L,
  62274. 0x4a86b7edcd6f52acL,0xb48981d296176e37L,0x00000000000001dfL },
  62275. { 0xe05b90319a61218aL,0x1933ad6600381905L,0x32c647a4988b8b38L,
  62276. 0x4dda10b72c5224bfL,0x2083d17f002c8769L,0x76184ea513c0705fL,
  62277. 0xa4ab64210b653f0fL,0xaa24960e3a9ff008L,0x0000000000000010L } },
  62278. /* 12 << 126 */
  62279. { { 0x21cbb2c74ce9abd3L,0x7f157a4845073c39L,0xbc887f720de2380eL,
  62280. 0x295bad1c6f96a397L,0x9bb39be48ff6daffL,0x65b52767d80498e3L,
  62281. 0x1b07529402b936a0L,0x04c89f2fb90ec0fcL,0x00000000000000b4L },
  62282. { 0x47f62ce6f3bf4b3dL,0xf79921250e3e0bd4L,0xe1555bf8a14a6183L,
  62283. 0x8169e02567f3936cL,0x62dae8ae846ce4b0L,0xcee40b04fe0b0558L,
  62284. 0x520c3e208fe270e1L,0xa1f2420ec44de629L,0x0000000000000150L } },
  62285. /* 13 << 126 */
  62286. { { 0x87a4f58f95002c4fL,0xc0f5a15375cb2b64L,0x462b10584fa3bd39L,
  62287. 0xa53461051d56f6ebL,0xb2b70b8860c20135L,0xdcbcdccb9df24a37L,
  62288. 0x71d030c375cefc7bL,0x389a788c776a7674L,0x00000000000000faL },
  62289. { 0x26ad8f5398b8d9f1L,0x33640e375d442332L,0x4831351d6a8d3878L,
  62290. 0x8f84df35bb4f8ecdL,0xf9ee728f0921bbf5L,0xa4768d023391c771L,
  62291. 0x07b56316b867956aL,0x9e1ae1cb2338f7bfL,0x000000000000018aL } },
  62292. /* 14 << 126 */
  62293. { { 0x3b0ae395e4f69814L,0x5ff5c84e6a747e34L,0x35e69b0a29ef0396L,
  62294. 0xd1b54c35835654b0L,0xe247e93979cfc63cL,0x7efb57321f7bdd7aL,
  62295. 0x07af836785156ce9L,0x3437319c68ad0803L,0x000000000000014bL },
  62296. { 0x3162f3727ac81dc5L,0x9bb5caf4f08565feL,0x467224e5d19abfdbL,
  62297. 0x92050b4fbbfb8528L,0x2a78b72b6812bf36L,0x33a409687b2efcf0L,
  62298. 0x4ebd9e465991d0feL,0x68ffa516e8555f3cL,0x0000000000000100L } },
  62299. /* 15 << 126 */
  62300. { { 0x415876531dc87e3bL,0x40fd387a843c306eL,0x6000915d01f6cef6L,
  62301. 0x86df2dc147a8966cL,0x63a5132075e86f42L,0x6ee59bb6b9751faaL,
  62302. 0xbee42edc6eb0fe81L,0x7d4ceebf9df2a3daL,0x0000000000000188L },
  62303. { 0x59eec8519e8c84ebL,0xbe9bc225ac158f45L,0xb50d7f7ff403ec17L,
  62304. 0xcae0e31f86689313L,0xa85359400a613f4fL,0xd2fc94710a594025L,
  62305. 0x900273e8256edcefL,0x1b5776c2b67ee0d4L,0x00000000000000d5L } },
  62306. /* 16 << 126 */
  62307. { { 0xc773faacbc875baeL,0x5ad3cc9408dc8719L,0x23a9cf666fd3dbdeL,
  62308. 0xf9c47b69a4c8d8feL,0xaefdcd39fc6d9e13L,0x3647f3a92ef2fff0L,
  62309. 0x7fbf9d741f53ee3cL,0x9199963d85e5a502L,0x00000000000000efL },
  62310. { 0x191173743ad5b178L,0xa5892671f086fdf5L,0xa828f5beaeabb8b1L,
  62311. 0xa9c1a33e62711d4bL,0xf8a2e9b101e1de48L,0xe5eb2de9568801daL,
  62312. 0x3e0b7a845f2f8052L,0x074d3c36ddb76ffaL,0x0000000000000160L } },
  62313. /* 17 << 126 */
  62314. { { 0xe3bba4c44e1d104aL,0x23d230985486ea3dL,0x23f6a18676d19da0L,
  62315. 0xc286b66dbbcda9b8L,0x9e42651ea2ccd664L,0x597a8783ea75aa04L,
  62316. 0x688cb16b74bcab22L,0xd983661aec74a513L,0x000000000000017bL },
  62317. { 0x7065739f19c41974L,0xc026315ab663d886L,0x0417e4ca5bc05ce0L,
  62318. 0x9e43b822c05ef3e7L,0xd2e8450ef16ab5d6L,0x278211c0ab315709L,
  62319. 0x9bb0e36146c481b2L,0x222788b5f3acac77L,0x0000000000000164L } },
  62320. /* 18 << 126 */
  62321. { { 0x9a36088c8517b761L,0x1d49f690e77f2f41L,0xaef7ca451b4af218L,
  62322. 0x9629c9c7b17e4fabL,0x052e9acce55663cbL,0xac455c5874b22e1aL,
  62323. 0xcf000252de25ce2aL,0xddb6e6c4449e7684L,0x000000000000008eL },
  62324. { 0xaf28bf6377f6ffe8L,0x3b6eb30b6fd5f4b2L,0x77b4244aef362208L,
  62325. 0x5db842e4ca41a1f6L,0xd7a8774263a815d1L,0xe9a9c316ac2312b0L,
  62326. 0xcbd383be87fa009cL,0xbe2a91d2de5be94bL,0x0000000000000041L } },
  62327. /* 19 << 126 */
  62328. { { 0x1c18d8a676f3e8f0L,0x4521da83a2651f7bL,0xc8d2991e18f7ac31L,
  62329. 0x96c25646c128653aL,0x852b44c9acc53a44L,0x9fad53c52030825fL,
  62330. 0x207273a08d2d18e1L,0xd9dee4ec3094fcfaL,0x000000000000011eL },
  62331. { 0x3720de1cc5166970L,0xbcc50de4fe148454L,0x059615420b197ac1L,
  62332. 0x940a3e6cabb72c37L,0x19cec56f63a3ba33L,0x94b04c0ec28fc6deL,
  62333. 0x337e7309aade99efL,0xa9b60e49406b3fedL,0x0000000000000148L } },
  62334. /* 20 << 126 */
  62335. { { 0x3ca5ae614d0a48d1L,0x39648cec7f021444L,0x3c92b2521e90c6ddL,
  62336. 0x776994bc94a49837L,0x53e54c207ddbf5b2L,0xfaf593c7d4576141L,
  62337. 0x17e000c226cc7ab2L,0x9484de380bf5318aL,0x00000000000001c9L },
  62338. { 0x7aa1d4d397546078L,0x06b60ee9f1e5fd32L,0xce10bdf08447917dL,
  62339. 0x40fd8d610e3de8abL,0xa3c917af34e29cc4L,0xa7bb1b542c27de76L,
  62340. 0x6992979931e6c453L,0xc668fbe42f185b22L,0x0000000000000142L } },
  62341. /* 21 << 126 */
  62342. { { 0xe0dfb4e582a7839cL,0x724fc7b532068c9fL,0xf8510404a4a51707L,
  62343. 0xf65fb0e634e33830L,0xa1ae29bf48e5b4d0L,0xc70a3beaa3d3410aL,
  62344. 0x131c23e466a5d1beL,0x5eb1c285d107cd51L,0x000000000000019cL },
  62345. { 0x7b61971c7c414730L,0xc722293b3a7e4352L,0x0d3203c6f5ae7457L,
  62346. 0xaa7fafaaf773fd74L,0xf88c67cc68830e7dL,0x5a71236c09730382L,
  62347. 0xa1661f7d1701c04aL,0x4e8979467ed93ad0L,0x0000000000000099L } },
  62348. /* 22 << 126 */
  62349. { { 0x10ea083c5ec936b2L,0x6011069c58b11715L,0x3e58532003a1796fL,
  62350. 0x538e1d0310eabb5aL,0x4b9640632ab5d141L,0x7d34fa8206aba7cbL,
  62351. 0x81692c655f1e613cL,0x2f3ed8894411f352L,0x00000000000000a1L },
  62352. { 0x3cea6506f6fe4425L,0xb246f4318a8d8686L,0x69666392fdb1c07dL,
  62353. 0xf8e2a71872b25c8eL,0xc2f6c4bc10e81a1dL,0x5c6746ed3d2788f2L,
  62354. 0x92d9bfb31d236efdL,0xc65dc241f922e874L,0x00000000000001b3L } },
  62355. /* 23 << 126 */
  62356. { { 0xa01148ecf4a21f7eL,0xfd85ea9c5d0894d3L,0xc1349c182e3e497fL,
  62357. 0x6ff182da3115b3ffL,0xc67455c26be8d31fL,0x559369800aa15b5aL,
  62358. 0x35904c6ebdd17173L,0xae743b7d52b5b531L,0x00000000000000c3L },
  62359. { 0x4785276788ebfa67L,0x7a8daccd6235572bL,0xf8c7cfd6e9fb4fe0L,
  62360. 0xece07c0c6f9f658aL,0x121e045b2550b943L,0xdcf493e709e11ba8L,
  62361. 0xf120183ac50b4aa1L,0xb68ec6f24668c0f4L,0x00000000000000fcL } },
  62362. /* 24 << 126 */
  62363. { { 0x953b8ca7af0603f0L,0x4b5eced77e21e713L,0x427652e12864dca9L,
  62364. 0x547f5fb516cbfbb1L,0x6ad85c7ef75f17f1L,0x469af7948222107eL,
  62365. 0x20d4c8e79bef1085L,0x867d4d0b152552e6L,0x0000000000000142L },
  62366. { 0xbb5ffb0cf3f26574L,0x047c1bc015cd38c0L,0x76c5dbf176f8e575L,
  62367. 0xf7eb7b0e20d33c17L,0x1e9cc21e6d879e9eL,0xeb2edc8340ca3223L,
  62368. 0xb0aa90a8290d165fL,0x7c17d3b223c1ef71L,0x0000000000000055L } },
  62369. /* 25 << 126 */
  62370. { { 0x91d91ecf643d458cL,0x962345a55e8691a1L,0x883ac05d1af94a9dL,
  62371. 0x747a7302f476f098L,0x44c326ffd0667890L,0x344aaeb5f76f1602L,
  62372. 0x60e6437c716561c5L,0x412f5a0546540e4cL,0x0000000000000104L },
  62373. { 0xb0553215617eda16L,0x8d95ffd17e7cdce8L,0xe1162d136fa892cbL,
  62374. 0xd69a1ce67041a11eL,0xb8559697a144ed95L,0x6ec56d46024f8ca9L,
  62375. 0xefc9cdeb514bf316L,0x69d2c9b290a22342L,0x00000000000001abL } },
  62376. /* 26 << 126 */
  62377. { { 0xc9f4133c7443182bL,0x8a6b2562f5d6eab0L,0x8ab8fc0b96e13ea9L,
  62378. 0x1070f3aa810771e3L,0xe8745a7c01bb3865L,0x97bf12d49586f6d4L,
  62379. 0xa82edb725d473130L,0xa75508ecbe3c9bdbL,0x00000000000000e9L },
  62380. { 0xdb554bec480c4283L,0x647fca1d341e42eeL,0x7dabe114766ae5bbL,
  62381. 0x7b5db510e7581fb7L,0x4f1647c0bb3a71a7L,0x5389934264d27664L,
  62382. 0xebda4815606cf2edL,0x7a8fe4ecccc611a5L,0x00000000000001bdL } },
  62383. /* 27 << 126 */
  62384. { { 0x7e2894589cb55c95L,0xa834c287ecf5f9e0L,0x4a74f1cd2bc1efeeL,
  62385. 0x6a1f60941ba0db9dL,0x3cd9e239da42e0c4L,0xeac13ef43e2dbd01L,
  62386. 0x99353f4571c37766L,0x5c633343c0c9f425L,0x00000000000001c6L },
  62387. { 0xc7d01c367439c08aL,0xec5613e9d32aca4fL,0x884fb18182f492fdL,
  62388. 0xa551f913b6c01487L,0x15b7ed76d5a46ea5L,0xe961a4ea688f0277L,
  62389. 0xc7addc6a16149e7aL,0xb3ee69e80d41a979L,0x000000000000001fL } },
  62390. /* 28 << 126 */
  62391. { { 0x80fd3dd3c1e4a87cL,0xf2230946e63e847bL,0x9d51e3a3477178b7L,
  62392. 0x06b089a460b2e4deL,0xf98e4cdc53ccd5f0L,0xfaba504ae9e18aecL,
  62393. 0x22b799be34dba1caL,0x75409d50a4c9ca6eL,0x00000000000000f9L },
  62394. { 0xec619962617902e1L,0xed26be734c58c299L,0x083e94e46d1c30e8L,
  62395. 0x2c8f71158be269bdL,0xf7c13ea9e0fed762L,0xb6c9bea0b517e55bL,
  62396. 0x7d656933aeb4bec0L,0xf386fed9ca01bf37L,0x000000000000007dL } },
  62397. /* 29 << 126 */
  62398. { { 0x9263b871dc1dc230L,0x0208cb151bb6cdf9L,0xe767b789fbb07097L,
  62399. 0x180f1502fe499e7bL,0xeb8fc35d782cd35eL,0x0e5aede16d18dc13L,
  62400. 0x596979e9075b5f1cL,0x93548273ddab0649L,0x0000000000000108L },
  62401. { 0x6484acaddf9a9c9fL,0x698f20c8bfee6c7dL,0xb3f89ba614c8b2d5L,
  62402. 0xa1b11b16c07bd4dfL,0x5a5eef740acd17d8L,0x5f2d1074f24e1b0bL,
  62403. 0x161a5489766b5674L,0xb208a6abda3b10e2L,0x0000000000000145L } },
  62404. /* 30 << 126 */
  62405. { { 0xd57b41e5ce2874a6L,0xfbf0d623b5bd9b26L,0xab64b932fd3750a7L,
  62406. 0x12be25d6586fba44L,0xf28a20cd1402ddf6L,0x058c0a6028b9102bL,
  62407. 0x27678cf4d68b4aa4L,0x927445e5de23211dL,0x00000000000000f9L },
  62408. { 0x46a5c0939c6e96d4L,0xcda4538f010f2c55L,0x5053aef6b0b776d3L,
  62409. 0xb0f5c0f895e614b4L,0x0d42f943f2856b07L,0xfe51414f426b1275L,
  62410. 0x49b65061a5de95fcL,0xf4a6fb5cadbdf4beL,0x0000000000000040L } },
  62411. /* 31 << 126 */
  62412. { { 0xcbeee2169021308fL,0x2959093bd6ece14dL,0x68d757404093d151L,
  62413. 0x77a6a05785259344L,0x63b1a5fb6d893564L,0xd7bcdd88e3e35d1eL,
  62414. 0x76f862a445c13992L,0xe466691221730cecL,0x0000000000000056L },
  62415. { 0x23e1ecfbce1e1e57L,0x3dd3e08822c19c3aL,0xa7d0301032146b0bL,
  62416. 0x35193697fe806487L,0xa9f13fa54854ad0eL,0xe4ba06e756149ff5L,
  62417. 0xfa5cbd737e6032dbL,0x3f663df3adce1658L,0x0000000000000197L } },
  62418. /* 32 << 126 */
  62419. { { 0x1036eb9b66fd07caL,0x6ca52cc16b7fb490L,0x512e973ed3e0c270L,
  62420. 0x889980bf73d92d11L,0x38b4cfe4a4005eeaL,0xb6f992cc8ceb4313L,
  62421. 0xd0ac2f8d6daf7c23L,0x1ccfbf17e32a93cbL,0x00000000000000c2L },
  62422. { 0x7bd9d6f12f508ccaL,0xe82d7171595a72afL,0x25d0297697512873L,
  62423. 0xefc1de8b8cf39fbcL,0x25e6b77f9a1237f4L,0x9f3b73e7d4d98b5dL,
  62424. 0xe1fda62beccb07feL,0xdb813b03625350cfL,0x0000000000000014L } },
  62425. /* 33 << 126 */
  62426. { { 0x7907b2c97fcca66cL,0x6516825362d05422L,0x94e0752213f45a4fL,
  62427. 0x1ac91e11c4c62129L,0xef3c27c76a4cc2acL,0x5677109687867eccL,
  62428. 0x091994ca1289a9e2L,0xa3d70e2a75d15d56L,0x0000000000000004L },
  62429. { 0x5072005570aedaf7L,0xd252fab22cf95f71L,0xcb0c8766830ec191L,
  62430. 0x3fe6bf257e18f064L,0x5c5ce223ae21206aL,0xba44c780c5b7f1b0L,
  62431. 0x339a7894181afeebL,0x68d02a575ff231ffL,0x0000000000000134L } },
  62432. /* 34 << 126 */
  62433. { { 0xe8ab1445c5eaf5e9L,0x95d96c674d22ede6L,0x03c3ab6cb7a0fba7L,
  62434. 0xeb3b5b6796487583L,0x171befc1c3e7d0adL,0x8b43bc1ffef58ae3L,
  62435. 0x11800901171b454fL,0x6a42fc801f5358b5L,0x000000000000002fL },
  62436. { 0xbcd8373de74453acL,0xefaf2d8e8b03d1efL,0x7e17c8902b434397L,
  62437. 0xff3a65b4b0f49b6fL,0x288d883d723ebfaaL,0xe152b3f524e32fdcL,
  62438. 0x2f044966e2dff973L,0x16f0bf33f2c0ae62L,0x00000000000001b3L } },
  62439. /* 35 << 126 */
  62440. { { 0xdc6b5651efbc2867L,0x077952546b03925cL,0x2860cb96535d4160L,
  62441. 0x273f6ef8fec0f37bL,0xb7b144148bb7ccdcL,0x012561602d4018d9L,
  62442. 0x84671a39bfddf7afL,0xd52d837cbaae273dL,0x00000000000001aaL },
  62443. { 0x4b1d19cb649da549L,0x4c354d7d9cecc0b3L,0x64e4665700376779L,
  62444. 0x247cc8922e59378cL,0xb4be23495c6e18b1L,0x5793c5c864dfd529L,
  62445. 0xc486d6656c38c470L,0x0494793f93ade6aeL,0x000000000000015bL } },
  62446. /* 36 << 126 */
  62447. { { 0x2b675aad33c1333aL,0x5b635d5de3f70bc6L,0xdc1b161fcc3993dfL,
  62448. 0x3a966f3c07e1c9cbL,0xbd684a329fcdec80L,0xd7b51c19f12c7088L,
  62449. 0xadfdefb4f549b4dcL,0xe542877b58db90bfL,0x00000000000000c0L },
  62450. { 0xd7a8f7cbf2b37e98L,0x0898feacb303eaa2L,0xc40968038ab3ec65L,
  62451. 0x178d3f6fd7d2f42fL,0xceb00cd5c31552ebL,0x85d9d2b5d878396dL,
  62452. 0xc6b51a1f2173b3b9L,0x3de5f48ac997717fL,0x000000000000008dL } },
  62453. /* 37 << 126 */
  62454. { { 0xdce090edcd84da75L,0xb1165394678048f7L,0x58e1c4df92f6f8caL,
  62455. 0x8347365693eda7aaL,0x88359b5039500625L,0x455fcb1a6424b594L,
  62456. 0x11ffcbdad7a86a6bL,0xabcf989ad68b45afL,0x0000000000000121L },
  62457. { 0xbba5977cf6d851a8L,0xd4a4f5319a39399bL,0x933ce57bf1b1f725L,
  62458. 0xd9e63d1970d12e1eL,0xe8a4a94f4c3e73b5L,0xb54fbc144103bbdbL,
  62459. 0x8b96cc8c90f25055L,0xb660990e7ed06482L,0x0000000000000154L } },
  62460. /* 38 << 126 */
  62461. { { 0x89568720a7253d96L,0x1f68812e0b93c9e3L,0x14077833b832d791L,
  62462. 0x9374abd0a1b1c6f2L,0xbc4a0f3f2945ec29L,0xcf31921a8bc301a2L,
  62463. 0xd2aa436db992ae7aL,0x9a3d6309f1dcf7b2L,0x00000000000000b4L },
  62464. { 0xd6cddd57e108567dL,0x97dd4615bb904179L,0x9724b58f7f8e9eacL,
  62465. 0x20258807decb2b7dL,0xe3ac333cdf5e10b6L,0xf0ee0a7bde6510deL,
  62466. 0x502e4677f77ffa98L,0x05bc4724ed6c6731L,0x00000000000000a0L } },
  62467. /* 39 << 126 */
  62468. { { 0x14ea632747944f6cL,0x4b542fa18e12e641L,0x9e73d65b716c29b4L,
  62469. 0xce4fcd50943d8274L,0xc2d8f4bcd50b1954L,0xf56c1429bcaa5d11L,
  62470. 0x4d3009e5bbec9109L,0x74cca9dfa25b9016L,0x00000000000001eaL },
  62471. { 0x0d3ba441245ef27fL,0xcdfaf08b5f09ac0aL,0x20f8b98d19f3dcfeL,
  62472. 0x0de8607dec975f66L,0x9137d362b488e1c8L,0x4bd2dd285453d7a0L,
  62473. 0xd98457be533bf6e9L,0x492026fc9c747fd1L,0x000000000000019eL } },
  62474. /* 40 << 126 */
  62475. { { 0xfbefb8c9644f809dL,0x5013f5ad50b747faL,0xab3c8de1a054a0c4L,
  62476. 0x687c5279c608ef1dL,0xfd4c40096bdf1f8aL,0x49caa9ab72a4a4a9L,
  62477. 0xbbf3951812790b7cL,0xe0535999b6373459L,0x000000000000007aL },
  62478. { 0xa2dcab70fe2fb036L,0xc2aa9ad018b31f0aL,0xb5a76e592be108efL,
  62479. 0x68ff6f12ba3ede8bL,0x6da7ac98e860842eL,0xdba409b2969f77f7L,
  62480. 0x490dd67bf92b2ef0L,0xfa837cde26207a6eL,0x0000000000000143L } },
  62481. /* 41 << 126 */
  62482. { { 0x19f334f8515e0800L,0xe86806502435b94cL,0xbcb190dd8313a87dL,
  62483. 0x834b84a8ec5a36baL,0x15203a655639ac59L,0xa8752a705230a929L,
  62484. 0x37ae9b10e149343aL,0x3cdbed17ccf9e664L,0x00000000000001a6L },
  62485. { 0x7a8926e6dc707695L,0xbdc0bd41fa849e17L,0x46621657668bf25dL,
  62486. 0xcdac0561b33a596cL,0x359a86131244fbc0L,0xb6d5d31e02b73688L,
  62487. 0xebcef3d390394d81L,0xec76090ef03972baL,0x0000000000000140L } },
  62488. /* 42 << 126 */
  62489. { { 0x951148835e5ef22bL,0x9125af3b086c572cL,0xb24ef04ff594e704L,
  62490. 0x414a4c09671591deL,0xc586772f55b0d554L,0x41daf9a1e3d723a3L,
  62491. 0x7a8f5eb2def1abf4L,0x60825c418dc54c39L,0x0000000000000185L },
  62492. { 0x40b62591f51569e0L,0x0696b545d752fec4L,0x60b8363c88119cd2L,
  62493. 0x234f3e85ae327b8eL,0xd31f4f0acda9ccafL,0x3d581d7377e5ebc5L,
  62494. 0x4e9b38118e20d693L,0xc3db07bad0c29c3cL,0x00000000000001c4L } },
  62495. /* 43 << 126 */
  62496. { { 0xbe476abd5b92e5ddL,0x7338532b16d1237dL,0x022f670f6870cfdaL,
  62497. 0xeb8dc7c79b90dabeL,0x393200eecda571a8L,0x0c6aca6791ac6936L,
  62498. 0x14346e26488cb230L,0x273065e39536c901L,0x0000000000000030L },
  62499. { 0x13aa183bc593d9b8L,0x48ae6dc7343198d8L,0x7b62448571798e8dL,
  62500. 0xea83244ea71750d3L,0xf55e8ab5f6a39a13L,0x1728d30129d92e75L,
  62501. 0xd50d981f10614337L,0x6b0decaf77d6383fL,0x00000000000001f8L } },
  62502. /* 44 << 126 */
  62503. { { 0xea856cb6b878c367L,0xa9c546214a4fe60cL,0x1019fc69abf32138L,
  62504. 0x6c4b6ccd06730992L,0x1a311a6d0e41375bL,0xf0248235114992a3L,
  62505. 0xf41b1b39764b38c8L,0xce60da46dc105e9eL,0x0000000000000114L },
  62506. { 0x6aa1e85bb3994b60L,0x71512ea2c86972bbL,0x0741f2c4ee618490L,
  62507. 0xca37bb0da39e9c5fL,0xde4d4610ac5d2a89L,0x4f6c0db09ab5d88cL,
  62508. 0x81bc4e8876ac9892L,0x69c37cc885406e8bL,0x00000000000000d0L } },
  62509. /* 45 << 126 */
  62510. { { 0xdee629187f42e8afL,0x5cffbdddd3afaadeL,0x4a1b49fdcb2e4014L,
  62511. 0x50618d1c0d3d2d10L,0x33f3664eaae624b4L,0x0cc69b93cc062199L,
  62512. 0xb24a2b9bc82d9ff4L,0x3aa76f87ba908201L,0x00000000000001deL },
  62513. { 0x2be85cdcf5e32e54L,0xbf49717e92be486aL,0xc399c36657a1a1deL,
  62514. 0x6fca0189fbd93af2L,0xae241e2234367725L,0x09d626afae886ef0L,
  62515. 0x98529fc5b2523cdfL,0xb9cf93bb7627b317L,0x000000000000016dL } },
  62516. /* 46 << 126 */
  62517. { { 0xec182c95314f1ef3L,0x639755d63bb94f80L,0x68f1135f4226cd5eL,
  62518. 0xea726aae144b80b7L,0xf28425f789e8c673L,0x6b1aa275b32750e6L,
  62519. 0xad084021d82069ffL,0x8a46c57d9ec866b1L,0x000000000000001fL },
  62520. { 0x67b95be0941c5c8aL,0x276c490eded9fac8L,0x8420e9525734f9f6L,
  62521. 0x02f4cdf9bda6a56aL,0x7a37266e3ae782dcL,0x3980321a3e284d56L,
  62522. 0x36a300897c1d0382L,0xc0e8d093bc4d5b39L,0x000000000000015aL } },
  62523. /* 47 << 126 */
  62524. { { 0x067b652bab71a0a4L,0x556b7ba427ec168fL,0x5148f2daa39161e7L,
  62525. 0x37949e842818aeaeL,0x06837989d63cdbc0L,0xecae47c32c2781d1L,
  62526. 0x3a35acca4f826df1L,0xbe89aad66bd0dfeeL,0x0000000000000069L },
  62527. { 0xa31d586b613eaca4L,0x01ae304c231ef718L,0x85eddb49ac30afbeL,
  62528. 0x535eb7b938cfa36bL,0xb71c1334f948b8d0L,0xf0bb2d35722426beL,
  62529. 0x022926d36e23d8a6L,0x9229e9f90a053ffcL,0x000000000000014aL } },
  62530. /* 48 << 126 */
  62531. { { 0x2d8061ae51e200c8L,0x2ed4baeacba53504L,0x7a99581d1a816471L,
  62532. 0x918011cd8e03b1bdL,0xebf02ce3403bb07bL,0xe34fa50b55b600a9L,
  62533. 0xc9b864cdbfd6e3caL,0xd321624427effe1aL,0x00000000000001ddL },
  62534. { 0xcfade4e193849908L,0xc0f031bf48a0e903L,0x7d2b8b8ebce49719L,
  62535. 0x42d55ff0b518922fL,0x1f87d2e3d6fedaacL,0xd2e6ac95fb5ffdecL,
  62536. 0xfcf0b4b31a3a896aL,0x5a3b6cf15070e85bL,0x00000000000001d9L } },
  62537. /* 49 << 126 */
  62538. { { 0x6fec5fae1ac7901dL,0x4e7d2ad3ab3555bcL,0x6cef79e4c1f20c1eL,
  62539. 0xad3307c2b04f2014L,0x51bf0ad4f00438c5L,0x77be5b640c555e7cL,
  62540. 0x656812453f950e12L,0x233d773f91066329L,0x0000000000000136L },
  62541. { 0x1416db4b63b0a3cfL,0x0c8a94bac1652c6cL,0xc516152a81614204L,
  62542. 0x48b25ff63cfe5f60L,0x1d525e0bfc3f6c21L,0x9e60149106bb637aL,
  62543. 0xb042eaaac477a455L,0x538885a61fc4039bL,0x0000000000000026L } },
  62544. /* 50 << 126 */
  62545. { { 0xd8969d84fc075646L,0xfb95b2b9cf469b45L,0xd0558743461890b9L,
  62546. 0xc4a7c4d62d5be147L,0x7bdddc2abf485a2dL,0xe51570f923629993L,
  62547. 0xe4e0e7eca9fa2458L,0xe6106cdc8e0678aeL,0x0000000000000190L },
  62548. { 0x2c4c56ebce32e8eeL,0xd94ad3f5a5593d72L,0xe854d1ac0ff0a233L,
  62549. 0xa406b8375145ee0bL,0x0e3584ca488da729L,0xb6ff4f5380b8f316L,
  62550. 0xb363e9cc402b0513L,0xccc22a8755811946L,0x000000000000019aL } },
  62551. /* 51 << 126 */
  62552. { { 0x47d2138b3580621bL,0xbd4c9c9a1474dbb0L,0xf1481018ae0e3eb4L,
  62553. 0x6a093b167078ee4eL,0x4224d1f910edc815L,0xbb73d935a375ffefL,
  62554. 0x218c7befdaa15567L,0xda7f1dca1a74f587L,0x0000000000000027L },
  62555. { 0x811b1e8e92233eafL,0x5000dc5d3554ea4aL,0xecf34661944bd497L,
  62556. 0x0450716d15e5b3a0L,0x95e2529d671d928fL,0xd19305ae3946dfe5L,
  62557. 0x0f2065a76211cca3L,0x0e1476a6c806fd74L,0x0000000000000181L } },
  62558. /* 52 << 126 */
  62559. { { 0x84b08fd1b927faf4L,0x236eae2654fc3722L,0x1a7cb9bff4836cc0L,
  62560. 0x251833480db8508dL,0x36a19e7c9d1b8764L,0x8eb89180de352f40L,
  62561. 0xccf372836e1a3ea0L,0x3e550c0a0a72c4d4L,0x0000000000000136L },
  62562. { 0x8e83af37f7b2ea82L,0x03c78b22395bdbdcL,0xc229423fef042d8eL,
  62563. 0xf9eb603d4ed515f9L,0x2f56337627176ddcL,0x8390b596112af839L,
  62564. 0x617bed410774a6abL,0x52903a20d5f44b62L,0x0000000000000014L } },
  62565. /* 53 << 126 */
  62566. { { 0x4e4fe470af6efb14L,0x6e9bbcf0be657506L,0x68100c8e2c3159ddL,
  62567. 0xc0b59ffa5bbdf11fL,0x08681fbde6d49ff6L,0x7169ccb7e31b4c65L,
  62568. 0x8703c995c929042fL,0xa12f13323361e4ddL,0x0000000000000196L },
  62569. { 0x00ebad68a0783eadL,0x02d1925992856a97L,0xfdb7acac51bb0952L,
  62570. 0x5d46997c526c7fadL,0x9835ebd5c7a75eb1L,0x2ac64c34c3655307L,
  62571. 0x13101862da8f9faeL,0xb0f6ab8ed9f230d0L,0x0000000000000012L } },
  62572. /* 54 << 126 */
  62573. { { 0x6cc723d437603fc6L,0x18055821d352721aL,0x942c0d47fe656ee0L,
  62574. 0xd20be2694b170f87L,0x02f7ba5088d08be0L,0x53e64fdf1346bef5L,
  62575. 0x2d23c4d4ea146dcfL,0xe68a09a37987bc92L,0x00000000000001bdL },
  62576. { 0x7620c264359c5796L,0x5846dd812b06b415L,0xf5b1ce8c2b242c54L,
  62577. 0x3a42814aa2888a57L,0x4b2d89cca26460b1L,0xe3423f2974533daeL,
  62578. 0x3da2e8a63e9f0bf9L,0x53b6f11b1454ac77L,0x0000000000000021L } },
  62579. /* 55 << 126 */
  62580. { { 0x06ee24893ca6735bL,0x70fee9e83374e617L,0xe8b3fa54d4a16bedL,
  62581. 0xf364a301f3c1e5d0L,0xf16d5ef13c3e0753L,0x248d4e50d21da609L,
  62582. 0x242edf3ef60f6054L,0x3fdfc80c0c24e00aL,0x000000000000008bL },
  62583. { 0x0a18a90bc3170235L,0x5c1bf5dec086e9b1L,0xcaa2d5f62cd7657aL,
  62584. 0x51a3c67591ee757eL,0x16c99b21a186249cL,0x2c5561941b8cadffL,
  62585. 0x9c58712f16ef2913L,0x6ccee5a5004b31fcL,0x0000000000000078L } },
  62586. /* 56 << 126 */
  62587. { { 0xa5dba4e1352ecab9L,0x6b02e6822c778abaL,0x2540e2cbcd90027eL,
  62588. 0xe9273e1028ef0df3L,0xf06ac93932993c75L,0xff0dd2dd17e95ccbL,
  62589. 0x67647a2edba0d5a0L,0x88aac34883a00096L,0x000000000000017fL },
  62590. { 0x5b0503a0a1edd5c1L,0xa3b6b42ad77e1a61L,0xfbbc558fb0ac4790L,
  62591. 0x6e091b612c98fea0L,0xe9dd74b179d85e44L,0x01c6eb8996cb7b14L,
  62592. 0x3f220aba0a79bd88L,0xb30988e26365ab82L,0x000000000000002cL } },
  62593. /* 57 << 126 */
  62594. { { 0x54a308fd559f11f2L,0x31e2721b647cace7L,0xf118348be8222f9fL,
  62595. 0x97c4a761d5c359beL,0xded55d0b43515850L,0xeaf9aac7c43c5a7dL,
  62596. 0xdbb25a12d68e503cL,0x282258dc50e474a2L,0x00000000000000c8L },
  62597. { 0x7464fbebff35e9a7L,0x522a0c6c38c685f9L,0xa70a2bd404a05041L,
  62598. 0x0637bf682fc8355dL,0x33130aa254cf363aL,0x3ad9a6df0d4657f1L,
  62599. 0x9e49f74a60758bb0L,0x2024ecfce25eb216L,0x0000000000000085L } },
  62600. /* 58 << 126 */
  62601. { { 0x33f1a6e161e91c74L,0x4ff19110e6c0cb10L,0x5c42e957f600ab08L,
  62602. 0xdde03dd42f9bb837L,0x3641e9391a234d0bL,0x53f8620f0b9b78b0L,
  62603. 0x1fe0b61aa1409944L,0xe3dc9c0333cfbe8aL,0x0000000000000053L },
  62604. { 0xe668c6ee20c3c089L,0x427daa6df27385e3L,0xcac71fe61f72a4abL,
  62605. 0x6e5eb2cfe1329f8eL,0xe46c870f4e37087eL,0x5831ca51ad032d30L,
  62606. 0x5991353dee77c07dL,0x3362598e0bd85cd0L,0x0000000000000138L } },
  62607. /* 59 << 126 */
  62608. { { 0x9eb88eadeb34a93cL,0x6d29e37a4701b69dL,0x426b10f150770987L,
  62609. 0x73548e71d1f0f072L,0x80f016da0def01d1L,0xb1ccf96a3ea4825dL,
  62610. 0x39265cb1e0b3c83eL,0xc978e8b42b3039c2L,0x000000000000007eL },
  62611. { 0x730a6fbc3e04c5aaL,0x67b705f33d44b9f2L,0xefa40dc7e961f235L,
  62612. 0x5d20afc2c64cbe5bL,0x7e3e1033b0a4ab7fL,0x26ca57a6425506cbL,
  62613. 0x0205449170798bbfL,0x2397723fbe05c4e1L,0x0000000000000144L } },
  62614. /* 60 << 126 */
  62615. { { 0xaa272aaad19d50a1L,0x3571d10bb1d206b7L,0x13d9fd10c3b75ad4L,
  62616. 0xd8dfb50b546daf84L,0xd2b77b3a3a1f736bL,0x33725766683f310cL,
  62617. 0x5c27d38b9fc3b081L,0xd74611bad1642ff7L,0x0000000000000026L },
  62618. { 0xdb5eee71f30e1c09L,0x819fdb72ca6da656L,0x312f0d734cde6546L,
  62619. 0xa45ffdbb7bf7c656L,0x3fe1359af71f5257L,0x6ee0ea0ac34e9a29L,
  62620. 0x969e2682b1e77c79L,0x1e8323864a901cb8L,0x00000000000000daL } },
  62621. /* 61 << 126 */
  62622. { { 0x22ed87b1b25beddfL,0x3683f8776daac239L,0xda6806bcb77d6ed9L,
  62623. 0x046324c87a1c73b5L,0x5302a1f0280619fdL,0xff691f965d3ab015L,
  62624. 0xfd8e1f0576a75d3cL,0xb170a9c48883921dL,0x0000000000000199L },
  62625. { 0xe2e4582834cf1693L,0x4e53f2ccb6cbeb25L,0xd7c26c5a13f317d0L,
  62626. 0x51871564f2f46ae0L,0xd17031e8abf83111L,0xe07adfc84579ad64L,
  62627. 0xa9461bc123467da6L,0xcb2976479eccc563L,0x0000000000000035L } },
  62628. /* 62 << 126 */
  62629. { { 0xb146ed5aa9f72a7cL,0x484b8997a7f0e604L,0xeb7b7cba9531f3daL,
  62630. 0x272a057cae6515d2L,0xb5afd269686fed9dL,0x3495b87c6d05afcbL,
  62631. 0xd60b71ce218f80f7L,0x2d850946e0ded104L,0x0000000000000002L },
  62632. { 0xadb631e23692300cL,0x30aa16333329dfccL,0x8546c0fa71ffd9aaL,
  62633. 0xc5e4b3590962f556L,0xf09a2444bd391207L,0xdbec490c71cab26bL,
  62634. 0x4055668615b145deL,0x5f18aceeceab1ac1L,0x0000000000000170L } },
  62635. /* 63 << 126 */
  62636. { { 0x62cc9557f077d63dL,0xf30f4a8be8f5f5f9L,0xf98c9bdcde80ec73L,
  62637. 0x167d81b80c4c8e3cL,0xbb7ff344653cd736L,0x60725f05591730e0L,
  62638. 0xbe4ef60d1803adcfL,0x04ed04c0c5127350L,0x00000000000000f1L },
  62639. { 0x5d2cbf0b776f33beL,0xd1a495b3cd90ab6cL,0xd47c850fecb6e7d7L,
  62640. 0x75dfa50f266f13f8L,0xfe272a12e317dca2L,0x14ce7728bdff1777L,
  62641. 0x3dc3926220fba381L,0x148ac59d6c2259d0L,0x000000000000012cL } },
  62642. /* 64 << 126 */
  62643. { { 0x904f2d4bdf9314e0L,0xdaae850de7a00aacL,0x79231083582efb03L,
  62644. 0x80f1c283ec7fe6d2L,0x2d5b3996199d74a8L,0x5f120b9b395007e7L,
  62645. 0x30d237734773f03eL,0xf4c192733b78b686L,0x0000000000000121L },
  62646. { 0xf103ff6dfa8b51f0L,0xae7afb5140e2bdf0L,0x1130380e83254171L,
  62647. 0xe83501b8cda10d95L,0x1057771e4f3a8c01L,0x8f52196aac807069L,
  62648. 0x3609b0aaa5623821L,0x8c25790694a0a7f1L,0x00000000000001dbL } },
  62649. /* 0 << 133 */
  62650. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  62651. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  62652. /* 1 << 133 */
  62653. { { 0xe2445c75cb0284f6L,0x7266ed21f0d3b65cL,0xa6f7fb639c0cd13aL,
  62654. 0x68d77e3537fee05aL,0x1d21ea95dd708c8eL,0xc75f44e793ba8d14L,
  62655. 0x8bb1876d90e34ca9L,0x7a3621e4b70e8cb2L,0x00000000000000b8L },
  62656. { 0x0fb7c958e1d0f420L,0x34b8bcf2fadb2239L,0x1800038b6a67f72cL,
  62657. 0xa8e3236ac19f70a9L,0xa73dd94cb908c753L,0xd7569d95a6fa426fL,
  62658. 0x5ab784f60a295ae2L,0xdc2bd296583f0f13L,0x0000000000000039L } },
  62659. /* 2 << 133 */
  62660. { { 0x4624399658603a1eL,0xf6bf54496310788dL,0x178120864c799cc9L,
  62661. 0x20a0d4e63f9c7982L,0x13340a26930d81caL,0xb248675461520fa5L,
  62662. 0x0e9480cce3e2cbb0L,0x11f633c1c61dd54aL,0x000000000000008eL },
  62663. { 0x34510e9e07ef7a73L,0x242ea6950e00a9dbL,0x1a146ea20ead5b7aL,
  62664. 0x52c0a70bf54a3534L,0x4b85dbbeb8113e6aL,0x62df74261446fc2bL,
  62665. 0x3a79c26ee9fe597aL,0x6327cecda7afdc59L,0x00000000000000c7L } },
  62666. /* 3 << 133 */
  62667. { { 0x8bf9e0791c403388L,0x219a3154046f9ecaL,0x3a8ee73bcec86e4aL,
  62668. 0x0a31124e281f2e27L,0x6a6fb93716bc3255L,0x0706364a8ae63821L,
  62669. 0xcce86c65323d4b3aL,0x0c238449fd6cfbd4L,0x0000000000000174L },
  62670. { 0x031202de7faa8a49L,0x97b770b2579d75fbL,0x5cf4413ea5e0d986L,
  62671. 0xe93b56fdcc936d96L,0xe4ec80d2b1c5576aL,0xbf8972a2da093bf5L,
  62672. 0x0c5a98bdbcbefd15L,0xa19b3e630e6f9d2eL,0x0000000000000131L } },
  62673. /* 4 << 133 */
  62674. { { 0x0f73c85a8201c48bL,0xef502f8a4c9caee3L,0x8df7699641d84048L,
  62675. 0x93f8a34bba0f3b82L,0x0fba696cd6a81ed8L,0x0be6c83196622944L,
  62676. 0x0de9a8f2085495f9L,0x12d843e6580b2551L,0x000000000000010eL },
  62677. { 0x507820fbe51de678L,0xe404cd9317831a13L,0x4818c9d1721196c2L,
  62678. 0xefa01a64cdda697fL,0xdccd32f0bab8b58bL,0x51ac6e1fb4a19bdaL,
  62679. 0xd402693f4e25340aL,0xd6567590afbbec44L,0x000000000000018aL } },
  62680. /* 5 << 133 */
  62681. { { 0x07cf170343ea64efL,0xd1dcaf5fe29ad51dL,0x6bc714cbfe586ba6L,
  62682. 0x95d455c4a564449aL,0x786b09c6a3f8c7b9L,0x6b2825349a9f9acaL,
  62683. 0xccceb672df41c312L,0x88da8f633a5f10daL,0x00000000000001c5L },
  62684. { 0xf41c956600a865dfL,0x8eeaa9fb92362410L,0x232c80aa699ea6c5L,
  62685. 0x86ad242d2e4ce53aL,0xf54d983fc51e3b6bL,0x5fef2fb86e2dcdcfL,
  62686. 0x08b9a493e3f0b5dfL,0x32594fcd676f65f9L,0x00000000000001cfL } },
  62687. /* 6 << 133 */
  62688. { { 0x79541ad2f0258929L,0xb69d65afa7ffda3cL,0x7a83f701fb3fccfeL,
  62689. 0xb8c83005284111f3L,0x7b48d4acff594c0eL,0x4364f321b301dc8bL,
  62690. 0xccdb0184404f2b6cL,0x52239a4b8f4e85efL,0x0000000000000144L },
  62691. { 0x1dd594a2f650828dL,0x98b50e840aad2d93L,0x491fb295fd90d0f7L,
  62692. 0x511abc0b7fc0144cL,0xeb240aa88d0085cbL,0x926f083c4f4e0a76L,
  62693. 0xf5e8865df32a6e48L,0x8fae6ec023e3413aL,0x00000000000001a5L } },
  62694. /* 7 << 133 */
  62695. { { 0xe038336eae697aa9L,0x1545b82e6b122bc8L,0x2acfc7a2465cab13L,
  62696. 0x396d60549e0670bdL,0x7099e416d4ef9b8aL,0xa745f4a6f144b1b7L,
  62697. 0xe859dac381092b9fL,0xf4bf2786ca8dba24L,0x000000000000016cL },
  62698. { 0xd43fa47a1d8e919dL,0x7848e02298994d0cL,0x88559fc88b5c1e94L,
  62699. 0xd810594a0ee65987L,0xc6b9837b9476a135L,0x08b04d2778667d75L,
  62700. 0x3d35806e815d0639L,0xd703da9b9cea4585L,0x00000000000000feL } },
  62701. /* 8 << 133 */
  62702. { { 0x714c9d4d6e4a010aL,0x9e8621eb98bbdd05L,0xf3f33305efc60f48L,
  62703. 0x4e392a4c0706c352L,0x5d0f7b3a94dcfc6cL,0x28c343062434d058L,
  62704. 0xdba377bb41885900L,0x0ed4082dad73df88L,0x000000000000012aL },
  62705. { 0xc0899758fcdadfebL,0x1638c31454319374L,0x1831028ec8ae469cL,
  62706. 0x41093ffe3a0e36a7L,0x75c6667b2860701aL,0x38c843a264de0a06L,
  62707. 0xc6e2c8a0949389d1L,0x754f22b73a1cc818L,0x00000000000001feL } },
  62708. /* 9 << 133 */
  62709. { { 0x90d5cf72e8548dffL,0x0b0082421130f27fL,0x2b742a08fd094a2dL,
  62710. 0x8002cee1fe8642b5L,0x94ba68b089e850d4L,0x9bfe83a1084d0ab9L,
  62711. 0x6aa91c002d2b5f7bL,0x0886530f383c1125L,0x00000000000001b0L },
  62712. { 0x039fd9101b334478L,0x762fdf6b772b30dbL,0xf0b07b33950b4e70L,
  62713. 0x704eab49aab6690eL,0xfe91d13cbd747525L,0xb40f6f7ea5ab8cd3L,
  62714. 0x9f66e805fe523b78L,0x232466335f117f27L,0x00000000000001d3L } },
  62715. /* 10 << 133 */
  62716. { { 0x3660997e1d29651bL,0x017c92f21c43ee22L,0x399bd07278817d09L,
  62717. 0xe7886c7efcc2e4e7L,0xd86cddf76c75869dL,0xbf7491ac8d350f4dL,
  62718. 0x794d402ad99eda1fL,0x93a31aa3ba86bb24L,0x0000000000000155L },
  62719. { 0x3be864461ba82751L,0x2fbb5d14599c74c0L,0xb91bfae79528f6e4L,
  62720. 0x9718d1dc27ecc011L,0x2e6ae4695685c69dL,0x755ef4fcf2f01e8fL,
  62721. 0xd7d5ab2292d8a1aaL,0x0b96bd64fa7d56f9L,0x00000000000001f5L } },
  62722. /* 11 << 133 */
  62723. { { 0x803708af0a32a860L,0x611b39670a9ffb60L,0x1d73591bd1c64167L,
  62724. 0xabefe36c919b5b6dL,0xa6e40fe88e76d295L,0x59af88d392cc3d6cL,
  62725. 0xed75288dc978e6c9L,0x1d4f6dc597c882eaL,0x00000000000000adL },
  62726. { 0xa71e31457368f4a8L,0xc5b4991a47a78cbcL,0x718cfc2581954234L,
  62727. 0xd154abe8846e6039L,0xfc6cac6c2e7fa9b9L,0xf8c914314a4c53c3L,
  62728. 0xcc073a4bfaa6ddcbL,0x3980d5f90aec7bddL,0x000000000000009eL } },
  62729. /* 12 << 133 */
  62730. { { 0x53f7cc1dcd9c3b89L,0xd01fc88e37c09eedL,0xdaad94c7fd4ba95dL,
  62731. 0xa7bab576f6331227L,0x4919757ba6066bfeL,0xa8d525106197a2b5L,
  62732. 0x1a7c2cdd80fe8f9dL,0x47a0587c292e069aL,0x000000000000016dL },
  62733. { 0x0374fc0618a5170bL,0x80e54bec68f03073L,0x8de8d710a373c6a3L,
  62734. 0xc25d052115e254d7L,0x97fb5a235d0da356L,0xae1d930aa3099c32L,
  62735. 0x4a362d78b750367dL,0xeaa2fd7c6c7e426dL,0x0000000000000160L } },
  62736. /* 13 << 133 */
  62737. { { 0x7d18c1c82affd347L,0xd1380fcd2983736dL,0x595f7723c63223ddL,
  62738. 0x631cfbe5b484b6fbL,0xbd2861390a6ca8ccL,0xee72e38d4f471ca1L,
  62739. 0x032046a1971ca142L,0x479212432a1dd8c0L,0x00000000000000c2L },
  62740. { 0x35e6b9e5d7ae4e8fL,0x5a00b0f90a3feca7L,0x1c342e080a0a3d2fL,
  62741. 0x1e8879ddee0b5c36L,0xa420ee79ec8626cfL,0x79a1917573f33218L,
  62742. 0x1258124a86bdec5cL,0x691be2ab06058dd7L,0x0000000000000042L } },
  62743. /* 14 << 133 */
  62744. { { 0xcfa90e928d85981bL,0x44fbbe308470ae90L,0xb1c923e3b4a1c507L,
  62745. 0xb2d07ce9ff4afe17L,0x6efdd4cc1fefef7fL,0x9dc388240fc6d59eL,
  62746. 0x90a95ff8cd639f85L,0x97907edbc6d5cc6bL,0x0000000000000012L },
  62747. { 0x4321d7bac15ff87aL,0x266401efa1c681ddL,0x71b9f08c84b64526L,
  62748. 0xa59beafcfd5df281L,0x75c4a3cfbb791707L,0x48cac59c01ce567dL,
  62749. 0x14cd0e56a00a8628L,0x2e9e9b3f0cacd47dL,0x00000000000001d7L } },
  62750. /* 15 << 133 */
  62751. { { 0x234103cfdeacba24L,0xfe7118f964b60ddaL,0xb600dd482a7d4f4bL,
  62752. 0x60177286754ef7dcL,0x49a59cffe9ab0cb2L,0x309aeff80cbfcc2dL,
  62753. 0x0a995830b4cb626cL,0xe5c24958357da294L,0x0000000000000108L },
  62754. { 0xdc25d5d416fbf2d2L,0x76f7dd357630d805L,0x0fa599f1883ffd97L,
  62755. 0x81490dda0c07ab63L,0xb0afa4b335d3a0b3L,0x5339cd6c98872553L,
  62756. 0x31702ec41f849f90L,0x111738088b6e6311L,0x0000000000000180L } },
  62757. /* 16 << 133 */
  62758. { { 0x58821c974a0c0913L,0xb7707006307795f2L,0x44f5f5bcea20c664L,
  62759. 0xc23f5ac39c5ec494L,0xe83e4fc380affd1aL,0x7e92884d50102ac6L,
  62760. 0x632405b8a3c31198L,0x1995f831453cc03fL,0x000000000000009fL },
  62761. { 0x8019071721e50847L,0x794b63d991f3efd5L,0xe9d69357a95c778cL,
  62762. 0xbd298eb0d04a14c3L,0x40a105154c5cb3bcL,0x296fd944f9c2fa5cL,
  62763. 0xfee5fe79efb9a49bL,0x12e8d7b35ba9db09L,0x00000000000001d7L } },
  62764. /* 17 << 133 */
  62765. { { 0x7978a92b15e89a09L,0xc21eaf079c8cbea8L,0x977fccc67d83c497L,
  62766. 0x037b22f5a4996ef4L,0x79b075dfb1fa5efdL,0xff169c5d895b8646L,
  62767. 0xb91366e1139eaab3L,0xfeac1026a55cf585L,0x00000000000001b6L },
  62768. { 0x0e827a8e83e55daaL,0xa7a27e77cd68ce98L,0x2cc9672e7d586572L,
  62769. 0xd055fa46a3ff0e35L,0xafcc63023268d057L,0xccf7b4f3294e84d7L,
  62770. 0xe972308991a61758L,0xda4feb6b72a08bbcL,0x0000000000000098L } },
  62771. /* 18 << 133 */
  62772. { { 0xa3c2e3b89a33dcbeL,0x69a1af65846e1f3fL,0x325e624b23d94d03L,
  62773. 0xc9f9a9fe7b606aa5L,0xe660b7b341d6f8e6L,0xd9b994a8e7a4b883L,
  62774. 0xd97bd77226a3c490L,0xed529b01110a6d8eL,0x00000000000001a4L },
  62775. { 0xc956d69d12852a59L,0xe0271878b91f3a5bL,0x70ca2552c30df3d2L,
  62776. 0x1b322ad23ed9a3f0L,0x2bd7fa803ed7b14dL,0x2b0e40c9937ca92cL,
  62777. 0xf0a680d7c88bf5f3L,0x2c1717bae18f006dL,0x00000000000000e0L } },
  62778. /* 19 << 133 */
  62779. { { 0x4f62538b805ba0bfL,0x521cb0d1ab71e577L,0xbbc91db992f0b4c1L,
  62780. 0xd97b96acea45846aL,0xce2a73bef99195b7L,0x4808f872335360b4L,
  62781. 0xeb784cc1e09fa8c9L,0xc9d0de8524667ffcL,0x0000000000000098L },
  62782. { 0x8aa32a023abb4464L,0x8539cb99aa2eeb37L,0xf97a730fe6572cb9L,
  62783. 0x49a2ec198d17e745L,0xcbb7f722581a6561L,0x5271b9e7fd748594L,
  62784. 0x7df05c8555efe907L,0x12b457a3648b30ffL,0x00000000000000dbL } },
  62785. /* 20 << 133 */
  62786. { { 0xc2eb058989126facL,0x796ce4619a94396fL,0x40eca49d99c7ecccL,
  62787. 0x20ed57c7c492a4a3L,0x4089296506fa952eL,0x4690915c906f1b9fL,
  62788. 0x099b286b548ce05eL,0x293617b76fe582a4L,0x0000000000000094L },
  62789. { 0xa34b04313831cd9dL,0x51eeddccb647a424L,0xcb7754a1e82a9c3dL,
  62790. 0x59bd6cabb14c49bcL,0x8f6d2d2e8ac8f7a3L,0x5f2fbf4346ce83b7L,
  62791. 0x93ece81c0d68eb87L,0x01271a1304d06b9dL,0x0000000000000067L } },
  62792. /* 21 << 133 */
  62793. { { 0xe26b19f2d74f6e10L,0xf3d3187d2ce14a93L,0x389726ad0da15517L,
  62794. 0x370c53b748f5a2d4L,0x052065fa2adf6e52L,0x35193065bae051ddL,
  62795. 0x82351b7900b33478L,0x03e7d6d80cdf4884L,0x000000000000019eL },
  62796. { 0x383538be2e446a7eL,0x36190c9adb8a52deL,0x51d74979946c8943L,
  62797. 0x01bf13a579d3b4c4L,0x7f27c8610f2f49e2L,0x6ce84ff46a734dc1L,
  62798. 0xec6f79ddbb5ff5a0L,0xdb6e4fe3a96d9a23L,0x00000000000001bcL } },
  62799. /* 22 << 133 */
  62800. { { 0xbeb1d116cfb1ec29L,0x3f1502f0c5f0152eL,0x501456fe75a4ee8aL,
  62801. 0xde95a49a23265eafL,0x9e9e8319c0b85f89L,0x04d93a60647d2726L,
  62802. 0x63a54a59cb65cc94L,0x56766e88f173d58aL,0x00000000000000deL },
  62803. { 0x9bccc01ebdb6a51cL,0x3d893bac5ac0d14dL,0x4a89af9516e16ea6L,
  62804. 0xcd7eba6798db611fL,0x90e2d187e84acf42L,0xfdb5ecbce1053f4dL,
  62805. 0xac124000e8c4a365L,0xf724f56ecb5910b3L,0x000000000000017bL } },
  62806. /* 23 << 133 */
  62807. { { 0x0978471e01ac4394L,0x057a926de4d2cc08L,0xece99f2f002fbdc9L,
  62808. 0x07bb884abe832818L,0x7f396535fb1c9404L,0xfdb86a9f6ba39a7cL,
  62809. 0xf4b372d9665c78e8L,0xc1b321e9dd520572L,0x0000000000000006L },
  62810. { 0x51f1b8b8841a3ed3L,0xf49b313516b4a01bL,0xe01130df5af2717fL,
  62811. 0xb62166e4eea414c3L,0x7991e1ac050b5040L,0x8d632c2207cfddfaL,
  62812. 0xa9033c3efa37f8b0L,0x542b8994790c1190L,0x00000000000001fbL } },
  62813. /* 24 << 133 */
  62814. { { 0x1711039279d6593dL,0x7d88866ed6d1e388L,0x27e0aa5fc9a20e92L,
  62815. 0xc82ef455b781bc4cL,0x36888ad0a1e9a984L,0xa51d1804962eb333L,
  62816. 0x3964bf4a6589216aL,0x88904ffa7529c9fdL,0x000000000000016bL },
  62817. { 0x9e0aca53e59081d4L,0x8b9066c009c4315cL,0x51d18e8b44dafb2eL,
  62818. 0xa86cd85c3c757835L,0x7534cba2ed8b25e4L,0xe1db4aebe59c5ebbL,
  62819. 0x77af93de72024396L,0x0779f6af77f5a9beL,0x0000000000000090L } },
  62820. /* 25 << 133 */
  62821. { { 0xfa55f353e1eee7e8L,0xe3728f0f832a86f4L,0x08ddaad44cb9e21aL,
  62822. 0x9b49d70e9cf0f3d5L,0x8ffab00c2fd4bb7bL,0x7b24a72f1435c1efL,
  62823. 0x390f209023687920L,0x1ae25cb77c75e684L,0x00000000000001ceL },
  62824. { 0x881170cb4ea45115L,0x7cb03b3b2fdcf8cfL,0x0a7628ad560c4124L,
  62825. 0x44811560823820e9L,0x61ed767b6994e17cL,0x94da851fb95b76c6L,
  62826. 0x78bdec4b3c1ed403L,0x463d6cc3f1d85a84L,0x00000000000001bcL } },
  62827. /* 26 << 133 */
  62828. { { 0x4b1cf5b9c8514599L,0x609b60221834d2b1L,0xbe5b9326da5dde47L,
  62829. 0x64409ae86c87d75fL,0xa3567801e8d1e7fbL,0xa9b932338bf2915aL,
  62830. 0x91fd8fe62941cc91L,0xed0e7455cddffdf4L,0x000000000000010dL },
  62831. { 0x913d2a5deef7108cL,0xaed5d7062be9d4d0L,0xfa01ca9bfa991f21L,
  62832. 0xf3518ce8e99b856dL,0x981faad4e99672cdL,0x539dd546e7f474e0L,
  62833. 0x9bda2db4157e9f13L,0xb8a88661ee003dc8L,0x0000000000000081L } },
  62834. /* 27 << 133 */
  62835. { { 0x8521387559df2f72L,0xb509af3789687b4aL,0x077892b261f8a34aL,
  62836. 0x5603f3095d0fee80L,0x6d42d34edbc6cf37L,0x0cf8c9c4a3920fb1L,
  62837. 0x655e26bfbdaf412dL,0x7272f887e2208eb2L,0x0000000000000141L },
  62838. { 0x62a68859878f4a5bL,0x0146336435dc49edL,0xc3a2caaec6d3081fL,
  62839. 0xc6b69c2ce990949fL,0xbf1385e215a826edL,0x0419547fb367f8c0L,
  62840. 0x389ab431323d3470L,0xb0453b45669f8c98L,0x0000000000000180L } },
  62841. /* 28 << 133 */
  62842. { { 0xd815b0c258bc45e5L,0x91a14033dde59521L,0x2af00d61185031ecL,
  62843. 0xb1113f8df49ae2adL,0x623869a703db5dd0L,0xa27f52a38b084e1aL,
  62844. 0xffae28447ec2a78fL,0x316a4a837d788dcfL,0x00000000000001edL },
  62845. { 0xda151fa30ae71753L,0xd2c6156661148b48L,0x5e1d6aa1ced8d6e9L,
  62846. 0x4c784fcdacc9df51L,0xb5715fadfeb5fd68L,0xe8aa4f453c4bd41aL,
  62847. 0xc295cf2c83a6506bL,0x6ebcfbe68959cd18L,0x00000000000000aaL } },
  62848. /* 29 << 133 */
  62849. { { 0x1e628033cbc78ba4L,0xb1b10d9e6af66a7cL,0x22732085003e1d98L,
  62850. 0xf76bf139b4ef67c4L,0xfdc2dc37b969d917L,0x8e9b0e633e84da86L,
  62851. 0xe1860be5f0916be7L,0x0e800a237c15f060L,0x00000000000001deL },
  62852. { 0x213138e0bed62300L,0x2919defb59a9fc70L,0x076e46c4a40aac25L,
  62853. 0xba2e019231a4812eL,0x8fc6de496adfcd6aL,0x38d17f427d95423cL,
  62854. 0x79adb39063487d5cL,0x58a207a931a424a8L,0x0000000000000025L } },
  62855. /* 30 << 133 */
  62856. { { 0x35c5164a45d58f3bL,0xe8b634c956a438f9L,0x9534282771b03d58L,
  62857. 0xa8c2ac9f6b9023c6L,0x4d90973f13636501L,0x9d371c592eb26e43L,
  62858. 0x24e2ea7d97f169a3L,0x6307489ee3af53edL,0x00000000000000a4L },
  62859. { 0xa142cc05e27954edL,0xfa9cfb5de2d9d9dcL,0x7d78edee9c8624a8L,
  62860. 0xf0c2bd235976c173L,0x9727567c08649437L,0x516662a467e6759dL,
  62861. 0x5bc285768c8f1790L,0xa62faec4956463faL,0x0000000000000068L } },
  62862. /* 31 << 133 */
  62863. { { 0x6a9df5fbe3f77972L,0x52703588c85f0f3fL,0x29c45e81e6d57b9dL,
  62864. 0x3ff4393a0be4937bL,0x5c85f2ccdeb7dec9L,0xf885d42872f17b38L,
  62865. 0xc839bd481d95a39eL,0xfd14d7c7dd7372cbL,0x000000000000010fL },
  62866. { 0xe9a106f0dfc4e535L,0x8d1efece352ca519L,0x4649995c18b5a799L,
  62867. 0x17e6bc99cda75652L,0x9b7edb4dc27545bbL,0xb196ef1436d9adb6L,
  62868. 0x2a3244496ef504feL,0x5a8e3e9fb9b92a69L,0x0000000000000095L } },
  62869. /* 32 << 133 */
  62870. { { 0x0d200089e0b8b7c6L,0xfa7c2a74e0c3a66cL,0x47465db046e3e5cfL,
  62871. 0x2bd1dd818537bb62L,0x748d70127165a234L,0x4d3737455c718337L,
  62872. 0x40c0f48e189ce8cdL,0xd018ce08a2f751cfL,0x000000000000014bL },
  62873. { 0x5513201a7ac22c09L,0xf559e050a1cd3533L,0x6e1eba1ebd4031d0L,
  62874. 0xbfd8a1cc532b1d53L,0x3fdee4cf5a15b193L,0x226693f7789bb143L,
  62875. 0xa0d4dc89dee75e9dL,0x438d3544f09a0c6cL,0x0000000000000189L } },
  62876. /* 33 << 133 */
  62877. { { 0xae388e5fbc7cfa67L,0x519392e5c4a83747L,0x4ccc4f517e71db2dL,
  62878. 0xd0613eab43b51f80L,0x512eb54540a16cffL,0xfb154e87e61e6026L,
  62879. 0x676633c8c236be41L,0xad0ef2ceda383a00L,0x000000000000010aL },
  62880. { 0x551ec1eb5b304592L,0xf85423b68c0864d5L,0x4e1550fb4b330062L,
  62881. 0x09fe089b38cf2f38L,0x5b9116c2970c0163L,0x9098bb3fcdf09e59L,
  62882. 0x7e65e01668bd9e33L,0x5c5d66f89b52bf2bL,0x000000000000000aL } },
  62883. /* 34 << 133 */
  62884. { { 0x72d78fb610dd1d61L,0x8be49d9a7bd8cd95L,0x3026eb2662e523ecL,
  62885. 0x7bfdd7dbd55b37baL,0x7dc305b0effcc9e3L,0x00a2eb23fa3415e8L,
  62886. 0x44ce408be37bc2bcL,0x0988ece81f78d0f0L,0x0000000000000098L },
  62887. { 0x0e7dd8fff0f57120L,0xb519a4f6b2d8b7daL,0xc28b9d98aaa4606eL,
  62888. 0x63655931b7ebe8daL,0x7d5e49937aa83d31L,0x8fc247695d7113b2L,
  62889. 0xaa723099af3672e6L,0x57a2ede46113f6bcL,0x000000000000017fL } },
  62890. /* 35 << 133 */
  62891. { { 0xbab36a6c9c8171b5L,0x2b92b467e3b4a5e7L,0x44181477ef7b6955L,
  62892. 0x14887f78ea6af659L,0x9d6c37d31334f773L,0x46ad0d60b49909b1L,
  62893. 0x5e6f4e00e13b1c8bL,0x1342dbff52e575dcL,0x0000000000000028L },
  62894. { 0x845e56bef3dd7aa6L,0x35d1cd6645b0451eL,0xef47dfa5d812844cL,
  62895. 0x58c3217d8a377dfaL,0xf1c825800e7fcba0L,0xd8b870a470af2953L,
  62896. 0x8b04f1bb44705ea2L,0x985e4d4d60d8733fL,0x000000000000016dL } },
  62897. /* 36 << 133 */
  62898. { { 0x6339d37cd0d9229fL,0x6005c395e584a476L,0x6d0069ae28566e91L,
  62899. 0x429756900b0315faL,0x79dd1ffdec520a49L,0xc838751c0a8b3c1eL,
  62900. 0x0d28edf14f3751baL,0x500d09678bbc87b4L,0x0000000000000118L },
  62901. { 0x7c7e207e14e4c072L,0xe63e49dfd3416c7cL,0x477aaa052eab5b31L,
  62902. 0xb73c00ada919f8d1L,0x3f892c301613ac11L,0x04d69886a3169be8L,
  62903. 0x8a2cf2a7f534f014L,0x3181e5a8a0b80c93L,0x000000000000005aL } },
  62904. /* 37 << 133 */
  62905. { { 0x0ab7aabfdc9ad56cL,0xd23c15c5eae45f77L,0x8890ba1666310ed7L,
  62906. 0x78aa3af2f6769617L,0xddc04ace79481281L,0x93d7c93609693faeL,
  62907. 0x89f579dca7f87b7bL,0x9fd68aa4c0811d4dL,0x0000000000000090L },
  62908. { 0x90acac1c3d570677L,0x2db8af73915160c5L,0xb68f09301a9bd834L,
  62909. 0x92d8f38a3bc34baaL,0x6cc48f4d2c2a218eL,0x29cb31dccf297452L,
  62910. 0xa425d2e8b3a8e929L,0x778988ad9d279aa0L,0x00000000000000f2L } },
  62911. /* 38 << 133 */
  62912. { { 0xd64682853c9f5c09L,0xe9c6093417a4877cL,0x30e2768b789a9e6bL,
  62913. 0x92c8cc80a7f44fb3L,0x0da7ce7e21477158L,0xd6e1e02b94e9e544L,
  62914. 0x9610eedecb4dc8d2L,0x47f8263b903a1fa3L,0x00000000000001d5L },
  62915. { 0xecd9b15649d6c575L,0xb862a41f882a88f1L,0x49423e64ede1dca0L,
  62916. 0x4c5fda7de7b3c050L,0x949691d28a4614e3L,0x66bb747b0b9f0904L,
  62917. 0xd4d91254ab12272bL,0x255b9e8717d749cfL,0x00000000000000b3L } },
  62918. /* 39 << 133 */
  62919. { { 0xa875e013bb5d1c4aL,0xa3f2502ac3e007c7L,0x6de7cc3766e12aa2L,
  62920. 0x879a3b104a63a2bcL,0x6b31dd72854e1969L,0xd90cc9a146ea617aL,
  62921. 0x379e82c25c4a71f7L,0x8f516047281e3dd5L,0x000000000000009bL },
  62922. { 0xa0fcb1903b84b7abL,0x0a52b50e0fc3d3c0L,0x32f65ccf32e1e6d1L,
  62923. 0x0ab8ab6b013731eeL,0xea4c3be597b82568L,0xaa6c59b1f617b5d5L,
  62924. 0x84b5dc5864f766bdL,0x1408d8b8df0ccd58L,0x000000000000009dL } },
  62925. /* 40 << 133 */
  62926. { { 0xf9573f8d640e6a08L,0xae4874b31138e3e6L,0x9de063dcda7c7652L,
  62927. 0x3f4f25905c5e679aL,0xbf26d5286355457cL,0x071b6eb12fbdc5abL,
  62928. 0x66f75278b8344ed2L,0xfcae83ac52898292L,0x000000000000014cL },
  62929. { 0x13b69d24c652cbb5L,0x072f96e6120253a9L,0xe8f88c7564985f28L,
  62930. 0xc7eafd4f089a1e10L,0x6d4d0fbc9562b680L,0x6e4e5af7b91b73bfL,
  62931. 0x253f58ce07278b89L,0x1df25657e8a56798L,0x00000000000001fcL } },
  62932. /* 41 << 133 */
  62933. { { 0x7366c523a6d0298eL,0xfc9896739908952fL,0x4e7b7e4b7cad6846L,
  62934. 0x7d61390da76096ffL,0x121c9c4bbdc2d1afL,0x9b4a5607a0731325L,
  62935. 0x037059e473265b99L,0x8674868ee48a42e1L,0x0000000000000097L },
  62936. { 0x78109eb260bf7a21L,0x84264885d3af48c1L,0x07659bf119b54790L,
  62937. 0x8ea14ceb95d6aaf0L,0xcae15147cf069d4aL,0xc76144d6c7c72fb0L,
  62938. 0x2b3a00a10d04f324L,0x2b1ccca3b23706d2L,0x00000000000001d3L } },
  62939. /* 42 << 133 */
  62940. { { 0xb2737edb4397a1d4L,0xa3cc4752adf24307L,0xe7076bb998c5ca38L,
  62941. 0xda5f14a29cbf2670L,0xf17c4d57900f3687L,0xa5da2a2bc47f8b80L,
  62942. 0xfe06debef4dc7298L,0xd171fac45a85e086L,0x0000000000000059L },
  62943. { 0xcf8e159ada084c91L,0xe537e29b9bb027abL,0xda5d260c2b9929b2L,
  62944. 0x79587899c6d406c9L,0x4901def2b1285e88L,0x75514c448458dd8fL,
  62945. 0x942b087b90071771L,0xb3bc605d576fe985L,0x0000000000000185L } },
  62946. /* 43 << 133 */
  62947. { { 0x20ff84d0abe1e0d1L,0x72bba8f48b5ddd1aL,0x17ea9fa311158d5aL,
  62948. 0xdde176b4d05a1a67L,0x26a74063002ecc58L,0xf2a0564dbcefb61bL,
  62949. 0x5846fefa3d6fdda7L,0x362dbb738d841101L,0x00000000000001daL },
  62950. { 0xe7957a081e70f44aL,0xa9dc89fa1e152397L,0x871ecf03a8f6bed7L,
  62951. 0x01428e993a1d5e32L,0x6cfbafd4d04d7217L,0x31acf44166b784e1L,
  62952. 0x68da3e28dfd839c2L,0x0eefd3f7a67bf28aL,0x000000000000005bL } },
  62953. /* 44 << 133 */
  62954. { { 0x16ce6ba9219403a6L,0x704c37ed72f83290L,0x1af9f9d700efb6b4L,
  62955. 0x456cd8d972b63e74L,0x98256804fe6873b0L,0xcc5ec6b62243b040L,
  62956. 0x0d6b88a1bf16f3a2L,0x19632b44d89006b4L,0x0000000000000188L },
  62957. { 0x8b9574fa6b48efbaL,0xaa2a766f9517e3beL,0x134f8f42c7789b73L,
  62958. 0xde6e8af2e435cc54L,0xfdb8a89202acd7e2L,0xe7fc99b4db22b516L,
  62959. 0xe33eb6b38a467a40L,0x7c98831102aaf81cL,0x0000000000000117L } },
  62960. /* 45 << 133 */
  62961. { { 0xc69fa235f9f382b1L,0x138dde0b97936162L,0x0193fb316ab8c45dL,
  62962. 0x52b3734d5b963d2fL,0x68bcf54c42cb98caL,0x946127ae86c80ea7L,
  62963. 0x2e85d3b8ea0c5814L,0x89b5ae1d0c05cfb1L,0x00000000000001efL },
  62964. { 0x30ec78ba83ead66eL,0x89ee8df807bc31fdL,0x3ee5b5dfe40653a5L,
  62965. 0xbda53ce7c0d84d01L,0x8719017a332fd5e1L,0xe2c26ec1af60a467L,
  62966. 0xfe92a92c5324fdd3L,0x4fbb7d03fc90f8e2L,0x00000000000001d3L } },
  62967. /* 46 << 133 */
  62968. { { 0x41517372268ee4c2L,0xf2ef66f1567195b7L,0xdee93cfd536b7c76L,
  62969. 0xf4c81df537122f67L,0x8e18116fe95c1d48L,0xe55b76c713761ce1L,
  62970. 0x067b6632af514d6eL,0xff26860207d9b612L,0x0000000000000050L },
  62971. { 0x153007507f8082e5L,0xba3bf499a614746aL,0x9bfb85fdc02fae9aL,
  62972. 0x326b1d5cef48c254L,0x62d6db68098f53e9L,0xcd5a5120d68a1895L,
  62973. 0x9cda1c53b571d2d1L,0x6745a05b13894f7bL,0x00000000000000a9L } },
  62974. /* 47 << 133 */
  62975. { { 0x395e92dd10b4a524L,0x2f607e83a39bfaf5L,0x56f5226da4ecac96L,
  62976. 0x43a914ee1330398cL,0xb856077396dc6548L,0x7d6df876b7a3e898L,
  62977. 0x119324ecf20fa238L,0x094f660ac05709d8L,0x000000000000009fL },
  62978. { 0x0adf96dc3dad163eL,0xd9a70fac8472aa53L,0x87276f1499571aeaL,
  62979. 0xdb8f9182eae49b95L,0x0e612c83e0b31c76L,0x04a89299b29554cdL,
  62980. 0x2cb3c97166eb58f3L,0x9b80b548127517b4L,0x000000000000002eL } },
  62981. /* 48 << 133 */
  62982. { { 0x6df6776bc353a269L,0x0d232f2ddace9809L,0x7649e04403d5d78bL,
  62983. 0x59710087fc283d82L,0x86d65eeee2ee05abL,0x3d1fc3f227851d69L,
  62984. 0x3b86ed771781977bL,0x4d4a61be1ac0290eL,0x0000000000000161L },
  62985. { 0x2deac320c5400967L,0x026949097381541bL,0xd373ba709cd429a7L,
  62986. 0x547f0e86928b72c5L,0xb1c2f84c223ab61aL,0x06c039941115f60aL,
  62987. 0x6e5b0cbe82136cfdL,0x08e4a467489d7de6L,0x00000000000000c6L } },
  62988. /* 49 << 133 */
  62989. { { 0x032b213a98212293L,0x2c3771f84175ba18L,0x34d7387f11656e9eL,
  62990. 0xcf12328156425813L,0x2b4ef4b4722fee93L,0x7db8afb2799c6333L,
  62991. 0x0ab9c8aa511cf76cL,0x14dcb970c785bcccL,0x000000000000018cL },
  62992. { 0xa5db10cad3cc86c6L,0x6c6a06a4abf9410aL,0x9057b0ca268823c4L,
  62993. 0x1a3de830fa5744e8L,0x695f7952038b260aL,0xe0394707ae89d231L,
  62994. 0x24a3e94c86b0b57aL,0x1acf30aee57206e7L,0x0000000000000161L } },
  62995. /* 50 << 133 */
  62996. { { 0x60eee52395f7e189L,0xe5499be0c5942327L,0xd385ce00d2ee8132L,
  62997. 0x4cfdb18cfb6609d3L,0x2b4bb533b29a9768L,0x21ee5b2937a92df5L,
  62998. 0xd24d2625d93a8b26L,0x432dc9a2102ae479L,0x00000000000000f1L },
  62999. { 0x9df9906be725bdbcL,0xe95ee011daabbb73L,0xe681c90af4d6dfbeL,
  63000. 0x062b8fb003bd2ae3L,0x0e25ec30f61d8f86L,0x78c7612e5bb8dbf5L,
  63001. 0x0c8b6a8545b562fdL,0xd972652ef4549f6fL,0x0000000000000123L } },
  63002. /* 51 << 133 */
  63003. { { 0x17b6f280f8148b30L,0x2114d1ecfc765a46L,0xc69d56bdd97da81dL,
  63004. 0xe2ef34422e97a94aL,0x05212af05bfe5bbcL,0x98c1299f03cfe2a6L,
  63005. 0xbeeb7efdee28e6caL,0xdeb67b9c09994359L,0x00000000000000bbL },
  63006. { 0xd4578886fad7480dL,0x61e757a46cb49108L,0xe2811c9d28480964L,
  63007. 0x14ffd6bb2a68d261L,0x6afd6a0aac401fe7L,0xed21c3f69db834a7L,
  63008. 0x877e265b2e156034L,0xfda68f45935cb0feL,0x0000000000000190L } },
  63009. /* 52 << 133 */
  63010. { { 0x0b0a8610ac5e165dL,0x21152a8c85cb157bL,0x6db9a7ce551cabe6L,
  63011. 0x7e36ec91dfda6187L,0xf8727bdde8ff337eL,0x6009e6f01152b37cL,
  63012. 0xffbdd5570cbded62L,0x4f1c3db00152b926L,0x000000000000002eL },
  63013. { 0x6b32d8b606c8a9bcL,0x734eb64a79b60428L,0xf680ec0030394592L,
  63014. 0xff99fb910bfa6092L,0x43b696b7cbac9513L,0x3029ffe7fecf53a4L,
  63015. 0xe36787ca6985a6f8L,0xa1c08a99132dbdbfL,0x0000000000000188L } },
  63016. /* 53 << 133 */
  63017. { { 0x81e74494c49d4659L,0x981c641e95f5147bL,0x84d1d3de4d8b3bd5L,
  63018. 0x1aa8242301a6e411L,0xa98db43ce663d148L,0x1f4e05fed67ed0c0L,
  63019. 0xb53dbab2662faa40L,0x8d1f14ac9c524ee4L,0x000000000000003aL },
  63020. { 0x0d7f01a90f85e070L,0xecc933cbe5063726L,0x683848d9dc641f20L,
  63021. 0xd714d8d086dc3268L,0xee00e70ae4fb106bL,0x4c0af171fdd9367fL,
  63022. 0x9085d9012d77d729L,0xa4b755e3da1b2659L,0x000000000000014cL } },
  63023. /* 54 << 133 */
  63024. { { 0xba16f14aab5c411eL,0x73bf410805bb77dcL,0x6e5e936e0cbdb790L,
  63025. 0x095df1e82806dd17L,0x93d31cb976115ed3L,0xad42b79f4dfb1145L,
  63026. 0x27fb4d2ee478b2adL,0xa0de22b349819e04L,0x00000000000000e1L },
  63027. { 0xbae8522996dab504L,0xe3f3c7d5dc069f77L,0x844307a2ed7f4f3cL,
  63028. 0x3a8486cde2db6d25L,0xd085347ded20d8e4L,0x6af9e096f2d8d426L,
  63029. 0xbefd13e374c38168L,0xbd6ee56577f7349cL,0x00000000000000a5L } },
  63030. /* 55 << 133 */
  63031. { { 0x4119d514d028e912L,0xbc53213293adafd7L,0x0176ca03e31467d7L,
  63032. 0x109f2dd7dbe712aeL,0xc991ff43dc87e626L,0x986c9664bbe227c2L,
  63033. 0x55b27b44ed625994L,0xab0d9892fab4c1dcL,0x0000000000000184L },
  63034. { 0x73fa82dee846b7deL,0x76b39d20978e6d94L,0xbe90c6022955b242L,
  63035. 0x258fcc6d60653be4L,0x2884e00013a12e7aL,0x6e23077d6c5283a7L,
  63036. 0xc52f652b50650616L,0x76c21d604a4564ffL,0x0000000000000115L } },
  63037. /* 56 << 133 */
  63038. { { 0x06fec2df700cd193L,0xf077afee002863a6L,0xb60894fd6cf0c0c2L,
  63039. 0xc7d01cd0f8b7c551L,0x7adb74e4c33c337aL,0xb4b5767ea8867af3L,
  63040. 0xbdb10aa62f3d57a7L,0x80d5ac5eb1ff9d7dL,0x0000000000000116L },
  63041. { 0x0e0df41c91867318L,0xe3cbb1ae1912bed5L,0x006dcee9c15465bdL,
  63042. 0xf4768566352746c5L,0x567e2bcf767e554dL,0xa4eddfaccfc14923L,
  63043. 0x5c661c2e5e096c3aL,0x5b13488d8123fb58L,0x0000000000000045L } },
  63044. /* 57 << 133 */
  63045. { { 0x7efb5d55427705e9L,0x7441763e3aefa5a4L,0xcfc1631a7dd7503eL,
  63046. 0x1931431763a1ebd5L,0x28701646cb713fcaL,0x14e962bd8b152c31L,
  63047. 0x257692ff76400fa4L,0x0f6600204b46efabL,0x0000000000000046L },
  63048. { 0x3fea71317ad6603dL,0x972475c8e4e9e4c9L,0x4bd0c751cecafbf3L,
  63049. 0xbddcfd670c1312bfL,0x0a572cd16dcda451L,0x6c9ccfe8e4c9282fL,
  63050. 0xad69bc9f267b4addL,0x504419d562517ae3L,0x000000000000009bL } },
  63051. /* 58 << 133 */
  63052. { { 0x874b11b11d0861d5L,0xdfb04016f49936cbL,0x2882feda5a6b94bdL,
  63053. 0xfa80197cbaeb3a74L,0xc53a57fd3f8223adL,0xc4dff53dfc41cd27L,
  63054. 0xff8ccf62cb813e8fL,0x243607d1e9325b2cL,0x0000000000000128L },
  63055. { 0xdeb8c7f10169da0dL,0x13f6f33fd5072565L,0x5a8a4c2f5128d693L,
  63056. 0xefe2355be809d274L,0xf9fbb0786c9a8373L,0xe2b94a728f2e8165L,
  63057. 0x0bb7b087052f5589L,0xb3a7cab974dc02e5L,0x000000000000017dL } },
  63058. /* 59 << 133 */
  63059. { { 0xbc9b22ed1648af13L,0x4cc818be46cd5d3aL,0xc5656c38380e7df9L,
  63060. 0x7c961b149f628ec1L,0x96ddf65e6035c381L,0x9fb033981ee39576L,
  63061. 0xf237b837459ee04cL,0xcf997019c1178539L,0x0000000000000067L },
  63062. { 0x35b3503f7d3970f7L,0x24df0bf854532bd5L,0x09e847bde9c532dfL,
  63063. 0x0c5f797166449ee6L,0xfb9cf1629563558aL,0xe7e49989a521d4caL,
  63064. 0x6a8c87b04a7e71d1L,0x0f9600f8c64c4fe0L,0x0000000000000121L } },
  63065. /* 60 << 133 */
  63066. { { 0x941f1a68f391b195L,0xf563c05b48755ceeL,0x02fa0eb4a4b11b13L,
  63067. 0x89f09fe4110e0044L,0xda3601eccdf17866L,0xb63e2b31821c239bL,
  63068. 0x72afb2946a4cfc70L,0x4cc16417876bb699L,0x00000000000001bbL },
  63069. { 0xf02270e155c4416fL,0x1a69d7a0a8fb98a1L,0x4f5219550debae64L,
  63070. 0x0d93fc627a75e48cL,0x7555793a2e11801bL,0x6e275e97618c2327L,
  63071. 0x57957f18f1af9ebcL,0xe16aa048085f0047L,0x00000000000001d3L } },
  63072. /* 61 << 133 */
  63073. { { 0x959cb1705b5721dfL,0xbef678407757dfadL,0x296da84fd14066b5L,
  63074. 0xf63609e59024efb6L,0xf643a52c8efdaf37L,0xc512f72a5fdff43bL,
  63075. 0x35dea1a55c5a2b0aL,0xbbe9f38e3bdccba5L,0x00000000000001efL },
  63076. { 0x585065f80662190fL,0x1b566da784cbad73L,0x20937378fd439316L,
  63077. 0x00e8c5423908a556L,0x7f10e264f315c479L,0xdccc1dfc4840a392L,
  63078. 0x6097b7f6a789f4f8L,0x7d593eef0fbc7e15L,0x0000000000000187L } },
  63079. /* 62 << 133 */
  63080. { { 0x9c59a11981b51f74L,0x7a7aacec4c9c20b2L,0x8ab9de7d0959f510L,
  63081. 0x3bc2215deff0cd8cL,0xd609a192ba5ab07cL,0x2dc4323dfe7c9044L,
  63082. 0xd20fc5a275025d5bL,0xc38808f868ad1441L,0x0000000000000054L },
  63083. { 0x41574f55f8f1594cL,0x0e9628dc130cb3f2L,0x30f8407c5375a79aL,
  63084. 0x28bee5a986522cdcL,0x75a4472e6be35431L,0xcb6da55b06f2326cL,
  63085. 0xf31d9ef60acc996cL,0x75b5edf92e86b7ecL,0x0000000000000140L } },
  63086. /* 63 << 133 */
  63087. { { 0x3e6fae603dad7855L,0x5030d3e21224bc29L,0x23be6fa4604102deL,
  63088. 0xe2fd452d186e1249L,0x04d431a74a13d329L,0xef754a14c4ee6e42L,
  63089. 0xd4a33388d01ee315L,0xce211eb300a21f02L,0x0000000000000120L },
  63090. { 0x066c034572a9514dL,0x18de295c8b1c5dd6L,0xeade73adf43fa0aeL,
  63091. 0x5e1c485dbc9f2723L,0xc998a5fa0a88330fL,0xe42f25e4f90d631eL,
  63092. 0xab6b3a19b31f7dc7L,0x6c02cfddca2d7e01L,0x0000000000000061L } },
  63093. /* 64 << 133 */
  63094. { { 0xae917a54a084d91aL,0x4a1095a88a3ae45fL,0xb7a358faa30ee909L,
  63095. 0x807aca835aee3272L,0x58d144a9681d54bbL,0x36569b8d3352c5e8L,
  63096. 0x75b7e2f1e5d9ba90L,0x348c70da08068bb3L,0x00000000000001d8L },
  63097. { 0xc2bca2f5309376d1L,0x87ca2cb0457d23d0L,0x7dccf53dacf94fc7L,
  63098. 0x0646dea871e898bdL,0x8a053df3c8bd817eL,0xa9e9c6825a002253L,
  63099. 0xb23c781375a16c9fL,0x2500d5a13f81c2beL,0x0000000000000043L } },
  63100. /* 0 << 140 */
  63101. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  63102. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  63103. /* 1 << 140 */
  63104. { { 0x7facf165d19906d0L,0xd8e059afad92d455L,0x7356696f6ebec576L,
  63105. 0x67044e551d6d311dL,0xe2bc81dc3a2e50cfL,0x860036dec00ea37fL,
  63106. 0x71dfbe61ff32d69dL,0x298b766bf502baffL,0x000000000000019fL },
  63107. { 0x5e5e123901bb03f8L,0xd36c35835304ba94L,0x5025f960b49f6a95L,
  63108. 0x72dd554f75e5b6e3L,0x85bfb398869c9d17L,0xd71cf71f9cace4a7L,
  63109. 0x0f6fd3ad7291dd9dL,0x5da8a689d1b5758fL,0x000000000000018bL } },
  63110. /* 2 << 140 */
  63111. { { 0xabdf1b02db567888L,0xf47d5cd15a14bd4aL,0xa3483f68b56ec127L,
  63112. 0xf09422294e65795aL,0x225b339b2de6ae78L,0xfbfe7ef011792afdL,
  63113. 0xf27b31a04548c2a8L,0xb4821ea3dfbd3ba7L,0x0000000000000159L },
  63114. { 0xba06333ca1c887b9L,0xfc6eef566b243e38L,0x345900c3596ec79cL,
  63115. 0x243b17ab43e33d8dL,0xffa7e30da9370da9L,0x3dc587a50f09347dL,
  63116. 0x0fd1b2463343a72dL,0xe4acefb48372fcf3L,0x00000000000001d5L } },
  63117. /* 3 << 140 */
  63118. { { 0x99d91691af8c8ccdL,0x2be2648633764c92L,0xb6e681492477aa78L,
  63119. 0x90430fc6c52d4964L,0x4ced96c54e1647a5L,0x5b52a279c1489674L,
  63120. 0xab7f4127c26ec42bL,0xcd5528fcf1097b9bL,0x000000000000019aL },
  63121. { 0x7785add63a47e5c2L,0x9c82fae9635cb4acL,0xadcb0de0ced83245L,
  63122. 0xa42230c8ccb91b16L,0x6af43e953a3e11a7L,0x36288135a3145d6bL,
  63123. 0xb74a3e63e2ded224L,0x15df0d2948aab5a7L,0x00000000000001bcL } },
  63124. /* 4 << 140 */
  63125. { { 0x25455c2ae3e97a29L,0xd497ab4fd3028514L,0xeadb13ea914ae0c9L,
  63126. 0xf9f6a27533e0bd85L,0x1103bd6053851649L,0x445b182dd66c948dL,
  63127. 0xf74f853bedbecea9L,0x643db0530d27351cL,0x0000000000000082L },
  63128. { 0xe5ccd1170fd56cdaL,0x421562c371495df1L,0x865b3f9ab2d1a036L,
  63129. 0xe0407f28d3e4f471L,0xa64f74fccb7e4c42L,0xe87e464d1d1e7bbeL,
  63130. 0xcdb9e777abad4a1aL,0x6e1021d7e76deed0L,0x0000000000000161L } },
  63131. /* 5 << 140 */
  63132. { { 0x089fbb85b7f279fcL,0xb3562a0b547a1efaL,0x40a3fa3c98080868L,
  63133. 0x90ce47dd94597f7dL,0xb3bb20850c6f4b4bL,0x8c24eda75953ab03L,
  63134. 0xb8b110f04eee13ecL,0x3ace7b901bdb3cbfL,0x00000000000001d7L },
  63135. { 0x33b6b36f335c7820L,0x43efeebc6b2b5992L,0x3b56649d36ded655L,
  63136. 0x15419020a9dd98a3L,0x08d081b563f405aeL,0x5b1f59d02c588c8aL,
  63137. 0x745c687eff822e70L,0x7ab7b9f169ef398cL,0x000000000000017fL } },
  63138. /* 6 << 140 */
  63139. { { 0x568e60bc840e5c81L,0x12b35cd301788f64L,0x70422fa0123e9018L,
  63140. 0x6ceabfced9cdbe2eL,0x67032a107626e2dfL,0x0888ca79d250ef1cL,
  63141. 0xca1fa245d5ba46afL,0x590f29972f6be510L,0x00000000000001d1L },
  63142. { 0xbd6dd880f2a02370L,0x3ae5f4ac20d42c5eL,0xd2b300f46c08e487L,
  63143. 0x662be2ef896bdb34L,0xe7632d9b07011f7aL,0x9481b843e7e83b8eL,
  63144. 0xeb7e2084a30c0fb9L,0x53e59adfa71241b2L,0x00000000000000cbL } },
  63145. /* 7 << 140 */
  63146. { { 0x49d93794c2911aecL,0x586554f1a810c993L,0x867b77a3f2322411L,
  63147. 0x6083b099c2e4cbc5L,0x0445ed8e7cbd094dL,0x417ba195e0feaa26L,
  63148. 0x432b645fc178ed78L,0x429282dfc9948690L,0x000000000000010fL },
  63149. { 0x3045657baddc286fL,0x10f36372863fa4c0L,0xab804fd7dca96fe2L,
  63150. 0x6b0a12a618c34d71L,0xbae3dc772a7c0ea4L,0x241e63a0abc48f80L,
  63151. 0x34efeaa3ef1843f8L,0x321d171a8498816eL,0x00000000000001c1L } },
  63152. /* 8 << 140 */
  63153. { { 0x26e479f9b9b07fb9L,0xf8e49cdfc03b5adeL,0xa0d66a21d525e891L,
  63154. 0x8a062d759a62e3d2L,0x4b025cb738704c65L,0x2b7a6b60d440836aL,
  63155. 0x3e55fe53a3ca3ac1L,0x59577407f1031f19L,0x0000000000000128L },
  63156. { 0xa5bb1eb02b4edfebL,0xaee5a2174dcfd68cL,0x582146cfa19f4f45L,
  63157. 0x4481152269f7c258L,0x72d7ce9a7f9333c2L,0xe6c88fe2b1dae530L,
  63158. 0x1367ce5c88b50de2L,0x10367dac7150206bL,0x00000000000001a1L } },
  63159. /* 9 << 140 */
  63160. { { 0xd210619a37f4b554L,0xa2cc4be40b01fa7eL,0xbf3805805488768eL,
  63161. 0xcb190c6f8a100ae5L,0x6f82bce1749bf03eL,0x0914bcf0c75efd73L,
  63162. 0xbdae235886e6b29eL,0x6e286b36ec5deb30L,0x00000000000000e7L },
  63163. { 0xf4eb4fefff080663L,0x0702453df93ba24eL,0x1ee5c4e556edfb3cL,
  63164. 0xdc5bef4b7afd8870L,0x74bee7cdc025f4abL,0xaf63727b5597771bL,
  63165. 0x2a51fee0dc0cb4faL,0xd9eb893d309e2a54L,0x000000000000017aL } },
  63166. /* 10 << 140 */
  63167. { { 0x991ebfca6cd7b62bL,0xb8571f56009d1d74L,0x14d27d7c441cb94aL,
  63168. 0x4021306519e77736L,0x9aaabb26cb20ade1L,0xa283eb52533f6f74L,
  63169. 0x84ae1f5856dd48e0L,0x275ab1ad91f11a89L,0x0000000000000118L },
  63170. { 0x61f3c5b415960882L,0x036d46e444f0a7a1L,0xf6c5a1f94bb28f39L,
  63171. 0x610f8313f1cd4bc6L,0x571ba872fcde5b45L,0x23c35a185f066ef3L,
  63172. 0xf878375da40c5fd0L,0x9fc32ccc1158dc83L,0x0000000000000167L } },
  63173. /* 11 << 140 */
  63174. { { 0x86d444cdd1d81ec5L,0xe5f57d64c29b3744L,0xe606ada6f74f9589L,
  63175. 0x5fa4dfad28f6b922L,0xf90993ec5b5d30e9L,0x307d234bb0541c49L,
  63176. 0xc010a0daf75b0402L,0x2f36ec8b2d0d3135L,0x0000000000000168L },
  63177. { 0x1ebdfad4b51917f2L,0x7f7f6c94411faa6eL,0xaef4c9a7d74ec215L,
  63178. 0x3f7ff15d4041ef68L,0x21d6dddc30b6b53bL,0x1ecac9bc6f918cebL,
  63179. 0x05ce1210fcb67a22L,0x7aa44454c5c0e9e3L,0x0000000000000139L } },
  63180. /* 12 << 140 */
  63181. { { 0xac513c23102cc86bL,0x34aee96bbfd0baafL,0x47047407eaab0d63L,
  63182. 0x3a1eff07ccd57509L,0x53f237cca81c8d03L,0x7742e3f1cc16c904L,
  63183. 0x5325d4796e2e981dL,0xd959b9f8289e6427L,0x000000000000004cL },
  63184. { 0x3114735e26f5e6cdL,0xd17e0d5337c5de44L,0x5adf2f3f002a7993L,
  63185. 0x7c1f1f6e176f2f70L,0x01d7f210003758e2L,0x8a2a198693beb852L,
  63186. 0xbded219b40b61e5bL,0x2450d9f2a7427ce0L,0x00000000000000c4L } },
  63187. /* 13 << 140 */
  63188. { { 0xfef846878597ca44L,0xa1379684d227c76eL,0x661764327517d749L,
  63189. 0x1420872d295d8438L,0xf296988cd91221f2L,0xb6115a026241e88eL,
  63190. 0x589dce4ea0969d25L,0x4318724ee35919faL,0x00000000000001d7L },
  63191. { 0xf3ea462a41fa8073L,0x8f577c2156900887L,0xb4318c9929e43377L,
  63192. 0x821a520ca7686967L,0xb62b1149354c5868L,0xfc76e87f6a9dfe8eL,
  63193. 0x8aeb05c6bdc6443dL,0xabcbb41c51a3fd6aL,0x000000000000000fL } },
  63194. /* 14 << 140 */
  63195. { { 0x06bc23ab58dd91bfL,0xbfb489e37fcdce7cL,0x50a99333f0d69619L,
  63196. 0x6f1a78a3d65751b0L,0x10ac9bf8e1dbd9d2L,0xe3d584f0133b5409L,
  63197. 0xa52cba20db27d29bL,0xbee71f220ded25f9L,0x00000000000000beL },
  63198. { 0xcdbfa2cb8d49e1d6L,0xea7e04c2752b7a25L,0xc6cd12c9915cdb88L,
  63199. 0xf5d56504b292eaddL,0x2d0ac7ff26dc8f0bL,0xc6e0722d551bf7fbL,
  63200. 0x17f9acd4c0a3d7f5L,0x0cbdeb4f3498ee12L,0x00000000000001cfL } },
  63201. /* 15 << 140 */
  63202. { { 0x8d2b73570149c225L,0x6f048760b1294d56L,0x4feebefe53097a6eL,
  63203. 0xdeb1abbeca846c24L,0xc920fe521ba7f7c5L,0xa851d87174295fbeL,
  63204. 0x8a977818717e5fe3L,0x4e35d70c5320f185L,0x000000000000000fL },
  63205. { 0xcc43de63bfb2d00fL,0xfc526e5170414bb4L,0x45574b72696ef1cdL,
  63206. 0xf29b91cc4f96a64cL,0x17b2e3503d419bbfL,0x13f2873916dc8aacL,
  63207. 0x3a8afbb755b08a44L,0xf1cecdf34e23f8ddL,0x000000000000000dL } },
  63208. /* 16 << 140 */
  63209. { { 0x69cad3ccc4d6ab08L,0x3adb57773b8990b8L,0xd0cad8ce8d958801L,
  63210. 0xcb572e666d728f9eL,0xe3d9e7c4cd5131fcL,0xafceb6b06145dc06L,
  63211. 0x12ecd392e213043aL,0xbd5992943a64c87cL,0x000000000000000bL },
  63212. { 0x8623bdbbf6ea9cf1L,0x3aad9495547aa650L,0xd3d853fcbeb27159L,
  63213. 0x3d25a64830b40833L,0x12d188e8dec51bd1L,0x836330d2b348c3faL,
  63214. 0x9df50cfe73c2ea59L,0xb5dffb2061ded0b8L,0x000000000000018aL } },
  63215. /* 17 << 140 */
  63216. { { 0x4b138db0a2237262L,0x6dd1135e1ab9ad06L,0xc31f50c4c7cfff02L,
  63217. 0xc89ab22d6ab45111L,0x5b8461c35a62394aL,0x0f8a58be8236491bL,
  63218. 0x3660e9f30b0011e4L,0xc83dfd989395955cL,0x00000000000000d7L },
  63219. { 0x8c4f8327e2177d42L,0x893a9166a8a2cb6cL,0x27d47141b6f7405aL,
  63220. 0x2285f6249e2be11cL,0xb55b89d717722bbfL,0xecb10b0d28d3d548L,
  63221. 0x9682096f6c97c7cdL,0x5d84617f8588d1cbL,0x0000000000000008L } },
  63222. /* 18 << 140 */
  63223. { { 0x75cc12737f775b7aL,0x0e0a040e4f3b788eL,0x2eb00b21038bc8ccL,
  63224. 0x750b88536ea1ad7eL,0x0d93be1bd56b81dcL,0xdd262f462a3c3eecL,
  63225. 0x421995083289b172L,0x0fd1c19221cf4378L,0x00000000000001a8L },
  63226. { 0xc038f20f787c37a0L,0xd8f48746f363e515L,0x5d91de9f54a85207L,
  63227. 0xf72c0e8f953d5932L,0x4e37af2f3f25bdebL,0x03d9084d0ee85cdeL,
  63228. 0x64e551feda041351L,0x55fdee4e6067100cL,0x0000000000000096L } },
  63229. /* 19 << 140 */
  63230. { { 0xb4254ee4e048f571L,0x2529deff0aebb093L,0xf1f1ecbca72853eaL,
  63231. 0xf100ab831a56b014L,0xf09cb22e9d01985fL,0x65e22e41cd855cb9L,
  63232. 0xfc3e23afafc54970L,0x8a0f8e16847cde07L,0x0000000000000105L },
  63233. { 0x6c27488e9e09346bL,0x38666895d7783338L,0xd28155fd191e59acL,
  63234. 0x5454681fe04ff0aaL,0x27bbb0f76362c683L,0x18a787f430340b44L,
  63235. 0x22879ce10a64c12eL,0x0eeb0304b5ac5768L,0x0000000000000164L } },
  63236. /* 20 << 140 */
  63237. { { 0x1a9a04ffc48a91ccL,0xe11f57dd5723e9eeL,0xeff193d3f573d896L,
  63238. 0x4c2ce4824e62f80eL,0x9f1e43a7010a0e78L,0xe9c1be55f4364c5eL,
  63239. 0x548071daccd4aa64L,0x9eecd41439d22af2L,0x0000000000000064L },
  63240. { 0xccea349ea1aa4684L,0xd2413abfc247f97bL,0xecfa10c1aa385b03L,
  63241. 0x9b0d25ddf77ac70dL,0xcffb885d12dfd388L,0x89e1174d6f33dceaL,
  63242. 0x37e1423cdf3cee18L,0xe4ba71be378c8bd0L,0x0000000000000110L } },
  63243. /* 21 << 140 */
  63244. { { 0xabb17070333bc84fL,0x41090912d03c10ebL,0x8adda5ae18e32b11L,
  63245. 0x7bbc3c10f86dc4a8L,0x9092ae12d649c287L,0xdb06dd82bc3a65cdL,
  63246. 0x18ca4d753e07b6b8L,0xe291bdc47a9f4b35L,0x000000000000001aL },
  63247. { 0xcca919f56830e001L,0x748a24a9e3117f7cL,0x9ed8b483a3222af9L,
  63248. 0x745dc8ae55996204L,0xf7c9afa042dc624aL,0x900e3f41449efd5dL,
  63249. 0xed319f077084a837L,0x3e4911c944052eecL,0x00000000000001c2L } },
  63250. /* 22 << 140 */
  63251. { { 0x83bd9ff7daa696bfL,0x7fa14326059a611cL,0xb526f26264d7924fL,
  63252. 0xf1ef5c6fc1cfb749L,0x6a2d7d3f6892bb09L,0x34b326a1d69bfa95L,
  63253. 0xb702cd98f8f49ec0L,0xa32611a39b8d2fe5L,0x0000000000000028L },
  63254. { 0xbd0e80afc982fe86L,0x3c59319f0292e026L,0x1e77d11ec72215d4L,
  63255. 0x39d2b2c6fa0d77edL,0x22ab784f71ca01efL,0x87ece833a7e8268dL,
  63256. 0xb5d67f6bd1682c8aL,0xb18f577d677b9508L,0x0000000000000183L } },
  63257. /* 23 << 140 */
  63258. { { 0xa02284c4e2be6438L,0x234448f60d1b27d2L,0xdb7d087adaaed164L,
  63259. 0xca39a1f9bb959ba3L,0xf87e2f49a4b8b5f8L,0x559e905f4d5f1b60L,
  63260. 0x479466a072370c3bL,0x63d28e16b0bca628L,0x00000000000000c3L },
  63261. { 0x147e8781e8d32ad2L,0x40e530111472ade4L,0x40f05d9a97cc63c9L,
  63262. 0x485dff28f13f5454L,0xe360a4c25824a4c6L,0xac09f1c4ebb6e58eL,
  63263. 0xd80077bd1e778bb7L,0xb549c19d6ce4263cL,0x00000000000000dcL } },
  63264. /* 24 << 140 */
  63265. { { 0xae6b428f554b88b9L,0x26bf6b6c8313c74eL,0xae7e5874ce24b917L,
  63266. 0x26e268738b3162c3L,0x2ba4f3edcaad88f4L,0x6e9e5051375a3f9cL,
  63267. 0xa754cc49d70210f3L,0xff8cb757e4553c0bL,0x0000000000000119L },
  63268. { 0x93f6a0a4ae1c208eL,0xb56b6a4ad247d4e2L,0x4cff7d0391009637L,
  63269. 0xc6b56f6be0efc126L,0x81f5d59c42de039cL,0xfc4c1d26f36854c2L,
  63270. 0xa66ab1792d280f60L,0x6c5468c3eece88ceL,0x000000000000000dL } },
  63271. /* 25 << 140 */
  63272. { { 0x1df2fe5226b04f55L,0x43febfabf8717ce0L,0x6ca4a4c906a32d96L,
  63273. 0xc625ce6c9a25aad0L,0xddcbd5755bf093c6L,0x4740594fcb1fbaf2L,
  63274. 0xa1e50234d12cede3L,0x27b1937203f2fcf1L,0x000000000000010eL },
  63275. { 0x5b9999d1c137a9c5L,0x1580a031522d2decL,0x21b2cc0a35220780L,
  63276. 0xc66015fbb9286a1aL,0x5ecd634a90d3aef9L,0xd9c91a6d88d39d33L,
  63277. 0xbc02dc02864919a0L,0x110830f991b49396L,0x000000000000019eL } },
  63278. /* 26 << 140 */
  63279. { { 0x897d947ac5d1e1e8L,0xbfcff6ae0587d4d8L,0xb5f3ffa5279d1ebaL,
  63280. 0xa4c3eb1cb725ec65L,0xfe037a76cdbd4600L,0x424c015216a86cd2L,
  63281. 0x23645a597b3ea150L,0x9e913a47c9db1cddL,0x00000000000000baL },
  63282. { 0x714c4dcedc4fca02L,0xa1c699ea5ff04ea5L,0x6144a96f0ffeae0fL,
  63283. 0xcd2e50d7203b8a69L,0x0012fc770d2c230aL,0xdbc4f25bfa8b6928L,
  63284. 0xea8941ce060f3141L,0x86836d7b946f207dL,0x00000000000000d2L } },
  63285. /* 27 << 140 */
  63286. { { 0x95a4c2bcfbc9136fL,0x9ffd305bbee15a48L,0xe445467ef86e497bL,
  63287. 0x7bbb4922bc2519c6L,0x9dda7889bc9b2de2L,0x9ec70bb743b88ea5L,
  63288. 0x5b58943ca1bb75a8L,0x3426ff7c5c5cfe2dL,0x0000000000000042L },
  63289. { 0xbb152162963204a4L,0x19ab08f23ab85bdcL,0x266ab5ad034cca2fL,
  63290. 0x7a27928d8eb8753eL,0x405302a272272090L,0xea7479374a010ee1L,
  63291. 0xfd2764875eb40da3L,0xf8d4f8029b6cf000L,0x00000000000000c2L } },
  63292. /* 28 << 140 */
  63293. { { 0x0587d31801873864L,0x6c4940d1a8758f49L,0xd5928f463f1f13cbL,
  63294. 0xb0917630481afcbdL,0xafbbe96c2804e91dL,0x1016565133ef9d5aL,
  63295. 0x7284a58ea2c3796eL,0xf013d38a5ff369a3L,0x00000000000000b8L },
  63296. { 0xea1ad141d71ec602L,0x5faa6539449f5326L,0x30080af4455cde9aL,
  63297. 0xc4bcfdcd6affaba7L,0x52e0ef42801f9569L,0x5abc27b2c80b0b5bL,
  63298. 0x3c4cd4339e99ccf2L,0x63e689dd6703e3c9L,0x000000000000010eL } },
  63299. /* 29 << 140 */
  63300. { { 0x55b2acfd76824739L,0x7f2d73ede9167239L,0xd7e63103419b9e86L,
  63301. 0x4c358f755f58d997L,0x9b8771ba635a21ffL,0x5f3394307708bd7bL,
  63302. 0xa0de93faf730a252L,0x19524f0de8a755e8L,0x000000000000014cL },
  63303. { 0x426e17b7446f65a0L,0x93c214feb669d1a9L,0x93fd2087a657e7bfL,
  63304. 0x16820da66b9354c7L,0xea8818c3c6a24661L,0x8b673d76ca97c304L,
  63305. 0x028065fc59d65adbL,0x6e75b61ccb0656f7L,0x0000000000000098L } },
  63306. /* 30 << 140 */
  63307. { { 0x94bdabc696b632d8L,0x5685cd96c04f512bL,0x09135f1dba7c2f6aL,
  63308. 0xdf4bccbf16711651L,0x9339f902ba842c06L,0x84649cec4ea6ade7L,
  63309. 0xf98ce1ace76c4520L,0x25d796d082b2e5edL,0x0000000000000159L },
  63310. { 0x190184670ef41247L,0xa8aba9cbb06ab440L,0x6a2c8f0d424575efL,
  63311. 0x29542661a7641251L,0x4aef28806063cd71L,0xb6521c4661007b1cL,
  63312. 0x44b83804d1f05f1cL,0x96545d8984a8d313L,0x00000000000001c8L } },
  63313. /* 31 << 140 */
  63314. { { 0x56c2c87fcabeb4c8L,0xc0acf4c98c3e6148L,0xbe7fe6ccc20e488eL,
  63315. 0x423761668330b587L,0x5af5ced080883de3L,0x4b6aaaf85add9229L,
  63316. 0x7c7ad512ab13ab0dL,0x14bc975727ddc17bL,0x0000000000000036L },
  63317. { 0x92d037848d17337bL,0xd5d878b97bd6dba0L,0x9d229cd79e89007bL,
  63318. 0x3c014e2492b07e2cL,0x533280fee56c30b4L,0x41fd5f6ecb3790f6L,
  63319. 0xc5e9b610c89facbbL,0x89429ae2d48d455fL,0x00000000000000cdL } },
  63320. /* 32 << 140 */
  63321. { { 0xe843d0350c62942aL,0xeb792fc5d8920cd4L,0x3fa4154e90be6fd2L,
  63322. 0x002631cbce2557abL,0xb37b952a226742b6L,0xa7658c0afeafdc24L,
  63323. 0x62a7de67b5a09597L,0x25074f6a9bb3cfdeL,0x000000000000015eL },
  63324. { 0xe6db0f49d03cf65dL,0x1187c8b40347dff1L,0xdea411166e4ce605L,
  63325. 0xac0ca35322313708L,0x395ddee3b6a5cadeL,0xf31abcb1c6d80c86L,
  63326. 0x013371b1a07f0747L,0xf54231898f55b804L,0x000000000000014dL } },
  63327. /* 33 << 140 */
  63328. { { 0x31cb7a50f9a638eeL,0xb23e940381388b46L,0x1c0b9ebc7bf805a3L,
  63329. 0xcacce3dbd40f4071L,0x8360c4c6652cc8e7L,0xeb2829c4327a1acdL,
  63330. 0x4fca72678eedc8bbL,0x49a6630aca904d48L,0x00000000000001edL },
  63331. { 0xdf7aff0abe745b6fL,0x15b66c0630f736dcL,0x4efc54545d6c3ba4L,
  63332. 0xa1becaaa4ec61d29L,0xda6f8551b17a9158L,0x889c4a939eed3eb8L,
  63333. 0x6f5dc762cc33be94L,0xd0f2a30010588a5bL,0x0000000000000144L } },
  63334. /* 34 << 140 */
  63335. { { 0x93b6f1877e5836afL,0x0e7009435c3af4b9L,0xdb3b4d704b4f0f02L,
  63336. 0x0c196039d71d4375L,0xede744582ed230c5L,0xd0630162add9da94L,
  63337. 0xae533629cd2c0ec5L,0xa93a8b231108523eL,0x00000000000001b3L },
  63338. { 0x6891494b70a36874L,0x5c15139dd85b565bL,0xc8104f07b620217bL,
  63339. 0xda49717001c964eaL,0xcf38a9e7631c7daaL,0x631856c19e124493L,
  63340. 0x057b8cd2ab9d4cd3L,0xb3d089bab13791b7L,0x0000000000000013L } },
  63341. /* 35 << 140 */
  63342. { { 0x27d87b3b4032e076L,0xe37fc28f6aa218a2L,0x55a525b1ad652b86L,
  63343. 0x82ecdf89db0e1642L,0x7951a419d974a454L,0x4367ac17f8195a7fL,
  63344. 0xad2b7d0d86b0cad5L,0x36113772d6140139L,0x00000000000001a8L },
  63345. { 0x98f04f1c8ec6a745L,0x1dfaa104644bb3a5L,0xb9c03e2bd331c407L,
  63346. 0x15188e1662af07a8L,0x0b2f2cb67f329a15L,0x0b7ca5fc0a91b5ebL,
  63347. 0x28b5e4bb5c410c39L,0xcc64e7eb0de792b2L,0x0000000000000188L } },
  63348. /* 36 << 140 */
  63349. { { 0x5f4b9fa400a0bdb1L,0xcc2cb2b2a274ac45L,0x7c05dc7c6e646620L,
  63350. 0xfca73a120cc2626dL,0x6bf5386457718621L,0x1843b57ae81976a7L,
  63351. 0xc350b19bf323d6d3L,0x0c514dd5c4a360eaL,0x00000000000000c7L },
  63352. { 0x24ed924263c17c00L,0x4a49aa5368306bc4L,0x11b210cc1744cb19L,
  63353. 0xa6d24a9cc7284b23L,0x7a438e436b558be0L,0x798304c7bda0ff5cL,
  63354. 0x5c6782b6c1c19b1aL,0xab2864276f4d0e2bL,0x0000000000000106L } },
  63355. /* 37 << 140 */
  63356. { { 0xfedd7c404f2f5c7aL,0x77c579e61a9c79efL,0x88cfe011463e782eL,
  63357. 0xd51523c57ff1d238L,0xbce03def946a4c51L,0xe56855fe4486a582L,
  63358. 0xb52fc072d6d9ead8L,0xb406446c52fe62bcL,0x0000000000000085L },
  63359. { 0xa4db7d7811dd4ac5L,0xd877aae6647e8dbaL,0x2c7ace9980bc3941L,
  63360. 0x29f8ebc99faa3242L,0x6153632a10afc24eL,0x57cbe075dc5c3cc6L,
  63361. 0xcae0ed2e9b8a0c22L,0x029cbee5ef2c6786L,0x00000000000001e7L } },
  63362. /* 38 << 140 */
  63363. { { 0x413c7ee2987d0c74L,0x2ed4f5a085300d40L,0x158c43d7ac13c624L,
  63364. 0xd71848db09c8b19dL,0x75505e2b0565dac7L,0x168e414a20fc368cL,
  63365. 0xcfb4283e0ea9f88eL,0xf39543bf758fe171L,0x0000000000000164L },
  63366. { 0x35e54289d98d8173L,0x2ca86f6fb9518343L,0x61dcc693519ce3cfL,
  63367. 0x91aded0d3f9e26eeL,0xbf70d414b824d11fL,0x8a2d8a7f0f4cb14dL,
  63368. 0x735009e46c6261f9L,0x7ec2b1232471c948L,0x000000000000008dL } },
  63369. /* 39 << 140 */
  63370. { { 0x870f9cb4a32999b0L,0x74437cc97189a3daL,0x9dc9814abe7c0a6aL,
  63371. 0x49d7ea1cd8a8b051L,0x0501d49b68b28d3fL,0xd3e65e3df496c58dL,
  63372. 0xfcade2203b8d66a2L,0xb5a6c1c9526c8bd0L,0x00000000000000f7L },
  63373. { 0x91cd67b271fb5f4eL,0xa0af14d96d6e2e1cL,0x840a19d4d38b37efL,
  63374. 0x4b66e20a93a9ea62L,0x81fb5fa30b83bf02L,0xa92fea241051e64aL,
  63375. 0x6788483422c14f6dL,0xe10bafeeca340776L,0x00000000000000ceL } },
  63376. /* 40 << 140 */
  63377. { { 0x789f41da83a65a18L,0x5bb4894fb8a305c9L,0xa6f3bacf2f738054L,
  63378. 0x997b0fdfdaf74eaaL,0xd5684faae810d5cdL,0xa935b391392fa19fL,
  63379. 0x8663e1c6850b10bbL,0xc0bb73437c749d23L,0x00000000000001fbL },
  63380. { 0xb090011f1ae17d4fL,0x67152af36d6954d9L,0xc2e0ab2979e7822aL,
  63381. 0x6dd7cec997784f62L,0x96c7fc2957109376L,0x2815b8113f967c39L,
  63382. 0x22cb5983d7fabd0fL,0x583ee8355fa5a752L,0x0000000000000146L } },
  63383. /* 41 << 140 */
  63384. { { 0x8b56eb2c5019302bL,0x06e9d1aea8d84e40L,0x691e1c877df7094aL,
  63385. 0x47b910adb1f1e654L,0x83e506b760b44fd1L,0x1918e257b9ba00c8L,
  63386. 0x0ec4be508d41465bL,0xfd121959da18d1a6L,0x0000000000000140L },
  63387. { 0xa34a1e684d047374L,0x6201d460b4316331L,0x331a7882078f21dfL,
  63388. 0xfaf64df9148c48aeL,0x2cce458d87e58591L,0xae3393755d170040L,
  63389. 0xfd9ba9ff4a6d9a42L,0x58493d52573859d5L,0x0000000000000056L } },
  63390. /* 42 << 140 */
  63391. { { 0x6187b95820a9dac5L,0xfd9315c1a8f9e18bL,0x50e385c080fbbe78L,
  63392. 0x42e8fa0b6d70e105L,0xcebf0b28c535e577L,0x2095d5027cb7352dL,
  63393. 0xa6673d873972a336L,0xce13ca020126a92cL,0x00000000000000a9L },
  63394. { 0x6f3dff0689b255fcL,0x71a60c67df1a0a04L,0x9b04cf5301c122cbL,
  63395. 0xc3d298b91342573fL,0x12aa6b82848b07eeL,0x8b10b9069b619109L,
  63396. 0x56660e8ccc89c390L,0x32bd385c8f29dd7bL,0x00000000000000e7L } },
  63397. /* 43 << 140 */
  63398. { { 0x4e3876b249617dcfL,0x0eaded881393d785L,0x7c6967e570cb9ce3L,
  63399. 0xc6873abae584ff6cL,0x6d18a71a967162b9L,0xf29d7f31a203b785L,
  63400. 0x627ccb0851ea4b5bL,0xa4218e75ad6f8c89L,0x000000000000014bL },
  63401. { 0x552819fdac3f5ce4L,0x4a00293c539999a9L,0x5eb79de4c782bfc7L,
  63402. 0x21fe279d671a30eeL,0x146b912c58c123e6L,0x74b095804c97f32bL,
  63403. 0xf182d37ab3acbf61L,0x8c9886570d00d2b4L,0x000000000000006dL } },
  63404. /* 44 << 140 */
  63405. { { 0x57f80100fe209f1dL,0x71c60c6fd43ccebcL,0x033d3c2854e446d5L,
  63406. 0x2003e502d3f1007bL,0xd87ffd20d79548bbL,0xefd5056f86ece398L,
  63407. 0x80cef761e69482deL,0xf62b923038d1673eL,0x000000000000003bL },
  63408. { 0xfb44b80cfdb5cab4L,0x4f520a4aa1af6209L,0x0ff5bda847e5b2ffL,
  63409. 0x85d1dc6e8b0ac82cL,0x8a19ca4f1d2eb0e8L,0x9e99fdca7c488126L,
  63410. 0xb754370b1edfdd03L,0xfd181a02ee494576L,0x0000000000000106L } },
  63411. /* 45 << 140 */
  63412. { { 0x1d3d318ff362cd2eL,0xdd4725846711d19aL,0x56207e9ff1858a12L,
  63413. 0x3bad522a5c10b471L,0xc925ffa871aedf63L,0xd8d53ffedae62373L,
  63414. 0x248da617a3819bebL,0x71fe647262ae36adL,0x000000000000012bL },
  63415. { 0x2acc43d9375712a5L,0x8d942d284a4962e4L,0x53c296197cc6b7beL,
  63416. 0xdec24b5919f536c1L,0x15b9e285b2e78107L,0x86d0f79383e95280L,
  63417. 0x225219f813179418L,0xd416e229387c2867L,0x00000000000000adL } },
  63418. /* 46 << 140 */
  63419. { { 0xb58259824bea9e27L,0x9e27af0751f4fd00L,0x5cec315a1e77fff8L,
  63420. 0xcce4be49021d7518L,0x9330fb3373d0692cL,0x1730d9e896be6a41L,
  63421. 0x9019c06c80444818L,0x84ee038eefcdd584L,0x0000000000000041L },
  63422. { 0x65869ea65157da30L,0x478e70f6facf8c15L,0x5cfd22fcca9def36L,
  63423. 0x5ed90506a3126a73L,0xca6b0ab1a1e2cd48L,0xaab6ac8215cb7122L,
  63424. 0x8f88e213d86ddc96L,0x0412bf12c8c13f1eL,0x00000000000000b1L } },
  63425. /* 47 << 140 */
  63426. { { 0xc4a01839e6931841L,0x5953809f30be402dL,0x8b56ce11c3fa4c19L,
  63427. 0xd2677642043a7e0fL,0xd4b9df95fe0f5cc6L,0xc6f4a5a22d6b2c98L,
  63428. 0x49db7c27426282a3L,0x658d11be03260727L,0x00000000000001b1L },
  63429. { 0x9236615fda96f5f3L,0x76e3fa6f6e6ae4a5L,0x1f1d55010c7de659L,
  63430. 0x80e17dc33f994e69L,0x74c24adc6684ff4fL,0x614652d6c4a60902L,
  63431. 0x6ef20ec54a2e2ff7L,0x6db06cdfcfd9b199L,0x00000000000000e0L } },
  63432. /* 48 << 140 */
  63433. { { 0x6b8f830418a82ccdL,0xc3c560011b132b2cL,0xafb9250d8ded65a4L,
  63434. 0x921b4635945b6410L,0x100306bd9f168610L,0xdae04ed366edab88L,
  63435. 0x4edab84ed86b2664L,0xdedaa28cc815c6b2L,0x0000000000000142L },
  63436. { 0xdb8265f17b7161c2L,0xf022683f8f11558cL,0xb8859f1fcf5fe6efL,
  63437. 0x7419abd8ad90be7eL,0x8289c33f24aa372cL,0x3871cb407c9d3be5L,
  63438. 0x55402906b3034315L,0xae557332a7e70821L,0x0000000000000014L } },
  63439. /* 49 << 140 */
  63440. { { 0xd39f520b8e0f7e9eL,0x153866ff8d0fd062L,0xdb15decf87a3f88aL,
  63441. 0x6ff41e5c72d55d0eL,0x44ba35b94ded067eL,0x46f07e1e584a3fbbL,
  63442. 0xc2998a4a3f909c94L,0x645d2f7dc1f8d292L,0x000000000000019eL },
  63443. { 0x992c5807341c12c9L,0xf2d2f1e0b2c77b3fL,0x9dbc83aabc99a864L,
  63444. 0x0687cbd145300329L,0xf8b22c0a5d7b5dfeL,0xe110d7e57cb97195L,
  63445. 0xa680d2d96fc7e42dL,0x39f4584cae5d5039L,0x0000000000000023L } },
  63446. /* 50 << 140 */
  63447. { { 0x7836badb584fb47eL,0xec96b42dcc48845dL,0xeec01e0f435017f2L,
  63448. 0xd7f7857766f61203L,0xe82608d41730ab48L,0x9eb3b2c3a4b35551L,
  63449. 0xf14b296e21e399e8L,0xa07c6566f4d2e554L,0x0000000000000005L },
  63450. { 0xf50bd939b79d53beL,0x376e88bd324ca0b6L,0x43a24688b91f677cL,
  63451. 0x821c11d97fc385c7L,0x0b766adbfa3459fbL,0xce0225e33c45fecdL,
  63452. 0x508a49f7130a419fL,0xde6f53c5b9515e1fL,0x0000000000000143L } },
  63453. /* 51 << 140 */
  63454. { { 0x175cd2cec14ffcbfL,0x4b1b3cbbd269602eL,0xea11435a257cb2b8L,
  63455. 0x172ffe4827c1f139L,0x2f4e6229bfffa4fcL,0x4be074c9c2be5e41L,
  63456. 0xf91f21bb8f2cb3cdL,0xf116fcf14d7108b2L,0x000000000000001dL },
  63457. { 0xf93def59effad0fcL,0x9957c785e54de87fL,0x2b3d8e7396903c15L,
  63458. 0xc373efb0f091ee95L,0x881699e9f4564854L,0x4a64517b7de613edL,
  63459. 0xb260565d73c10c4eL,0xdeb813b518d4d4fcL,0x00000000000001b8L } },
  63460. /* 52 << 140 */
  63461. { { 0xd64a62e38f0599a4L,0x17c8c046e4bc61a0L,0x76b9b05d1812e087L,
  63462. 0x253e9187c0f673d1L,0x8e02cdd01f8cde04L,0x576609d68714debbL,
  63463. 0x61bb207657420758L,0xfeefae3a3e68bfb4L,0x0000000000000111L },
  63464. { 0x2ec9513515522d32L,0xe35811c580c19a4cL,0xe7dd7c057e37cb87L,
  63465. 0xb1cf36ba16a8ca9cL,0x57163e9bb05ac678L,0x9bbe8a774ab4d064L,
  63466. 0xadb308e09451dd9dL,0xe7b834ec17aa1d11L,0x0000000000000093L } },
  63467. /* 53 << 140 */
  63468. { { 0x847550a14f3203c9L,0x441cd9d9bd63820cL,0xf827fec2d231b04cL,
  63469. 0x96c5e5dacae5e016L,0x06dc22775d223032L,0x87e8052724c4313dL,
  63470. 0x15cc1b277bb78ea0L,0xd92f2574201d9edcL,0x0000000000000159L },
  63471. { 0x4d7082592d170a33L,0x01e2b8e72fbd98baL,0x180daba85f9e906fL,
  63472. 0x77a1bf3a8def35bbL,0x648fbd384dd7bc01L,0x7d90c0863455a0d1L,
  63473. 0xaa24fa724004cc29L,0xbf3868c54a5fd928L,0x000000000000008fL } },
  63474. /* 54 << 140 */
  63475. { { 0x8cbab5a70c570045L,0xa475735431d1bb51L,0x9eee4ceb444399c0L,
  63476. 0xbb0778665a4d10a8L,0x04f4700eed6a38a6L,0x58c5c6c85bcbbc76L,
  63477. 0xf7c0f5c3976b1c84L,0x9ac5fe72074af6b7L,0x00000000000001caL },
  63478. { 0x551d4acecdfff064L,0x7aaa92f1a4c00fa3L,0x1e55fe218c3f16a6L,
  63479. 0x3de2f116f2e73439L,0x457d00585c583e87L,0xe3335a69ca962853L,
  63480. 0xa21c0d2c118d709fL,0x4257e6a6d21e990aL,0x00000000000000cbL } },
  63481. /* 55 << 140 */
  63482. { { 0x6e6c89f5d04d03faL,0x63aaa58dce5e7290L,0xf76838bda910619eL,
  63483. 0x80c24771bcd11f15L,0xddc294169425e02aL,0xcc486bce0263e8cfL,
  63484. 0xad11349862db25deL,0xb4bf878a6dc9f601L,0x00000000000001fbL },
  63485. { 0x895ee8c70b91aeb4L,0x8e7cb7e0cf0f7609L,0xe89b60279e1427a2L,
  63486. 0x7b9035cf7b8dd96aL,0x096b128e4535357bL,0xe333a5e139e3f807L,
  63487. 0x4d2ce2d08819dd53L,0xafe18d5568251143L,0x00000000000001e3L } },
  63488. /* 56 << 140 */
  63489. { { 0x8d6eba17e9d0c03dL,0xdf3d3c1cc3c1f760L,0x9776992607401f2bL,
  63490. 0xa0a5992204cb691aL,0x1fe9bb01b6ffb7a2L,0xceeee53e207c9509L,
  63491. 0xc9224c7f82352c8eL,0xbb29f68f772d9de6L,0x00000000000001d7L },
  63492. { 0x3708ea24802ea716L,0x7735dcd80cb41faaL,0xb0e4dc31e2e98dedL,
  63493. 0xfcbf0807a5776dfdL,0x30b121261602ac0eL,0xb1080dc0cb155450L,
  63494. 0x9872c0b7686b0117L,0x53718ec24fc407d0L,0x00000000000001f2L } },
  63495. /* 57 << 140 */
  63496. { { 0xaac1bebddd3131b6L,0xb6ae2dbd355fc1a3L,0x179c6fe93e91bd61L,
  63497. 0xdb13596c2f5fe441L,0xaefaa096a6171014L,0x6af216af84ce8690L,
  63498. 0x90fc31872771b4c1L,0xef31625f6c17ab8eL,0x000000000000005aL },
  63499. { 0xd7de907dbe106f8eL,0xea860c78ef29153eL,0x19de038a9fff6a9aL,
  63500. 0x1a4b9b0f816645f7L,0x6eac219be91f38cfL,0xec8bb484cc084436L,
  63501. 0xf1df126ec024e970L,0x106e9d1df10a9f32L,0x00000000000001c7L } },
  63502. /* 58 << 140 */
  63503. { { 0x887f5f7dadaeff53L,0xedcbca6c786fef67L,0xd7bb8943f09a8d39L,
  63504. 0xd479d649909702dfL,0x4ae419db67ca7124L,0x261d989c485a86afL,
  63505. 0x98967d4a9be0ae87L,0x3f6aaf7ec22f8626L,0x00000000000001a2L },
  63506. { 0x84cce3aa6127b3a0L,0xd6c6f9e454bfe185L,0x7ea36b64c8207accL,
  63507. 0x9ec42d09651c627bL,0x3b933445b30cd27eL,0x24671c86057472eeL,
  63508. 0x59ecd8cc6eb69b43L,0x87b80a767eb210dfL,0x00000000000001b4L } },
  63509. /* 59 << 140 */
  63510. { { 0xa923220091a7620eL,0xedd722be85bc2a66L,0x3876833331e7a7fbL,
  63511. 0xa190e74125837410L,0x0ba399038d0339aeL,0x5e5bede878292e1bL,
  63512. 0x65c8e564fc1727e6L,0xca1a08b61c7626a6L,0x0000000000000165L },
  63513. { 0x465c87a5d36c351dL,0xdfbb991bdde74f25L,0x587247c439474176L,
  63514. 0x24452876ad1dcd0eL,0x020dd2685d105c53L,0xc6578e676c09755dL,
  63515. 0x38e992b57fd6720dL,0x722e35424d7cab65L,0x0000000000000028L } },
  63516. /* 60 << 140 */
  63517. { { 0xafc72082bce9ceeaL,0x3d6782d22e39b303L,0xcf80e0e42d0707bdL,
  63518. 0x2ce86804499c7a85L,0x2886fd1d0078e18cL,0xb4fd3d50f4b05c32L,
  63519. 0x0e15e71ec3872f88L,0x22a9f5d16ed84f63L,0x0000000000000021L },
  63520. { 0xb3373fd31a67be31L,0x2d735f4cc320c1a6L,0xbe78bf0e89cc9314L,
  63521. 0x103c15dc9d83b96cL,0xdc4911c6e59d4b8aL,0x82035e43e77f32abL,
  63522. 0x5b67b58fcc0fc8d0L,0x68345fd533f6fb5fL,0x00000000000000a6L } },
  63523. /* 61 << 140 */
  63524. { { 0xbf16e67a89cea871L,0xcc9468110e8a4e02L,0x0b98bedf81bd3ab2L,
  63525. 0x3e1426e33d54ffffL,0xc1cbbd7556c0dfa1L,0x620757a15eaf6969L,
  63526. 0xf4bcd2c407429b44L,0xfb1d11cafa1954fcL,0x0000000000000130L },
  63527. { 0x620e9551ec84e8c2L,0xed5fb669bd2b2df2L,0x5fb8443227f1b8eaL,
  63528. 0xfc245aeffde8747eL,0xb5c86e67b3d63366L,0x840d13cbe6f5ace9L,
  63529. 0x8f48e4b80d52b642L,0x47218d9612968625L,0x00000000000001baL } },
  63530. /* 62 << 140 */
  63531. { { 0x63c7f49beaf731a7L,0x8de8815f4d3db806L,0xabb9f24f05a18ce5L,
  63532. 0x5907d287c98281baL,0x112f1c1499819cb4L,0xb6c82e83f4b873c6L,
  63533. 0x84dc0f43369bf15fL,0x71c53d9005d32850L,0x00000000000001f1L },
  63534. { 0xa83cf8ee69584f8eL,0x5417454910553d5bL,0xbfb36711adafdb64L,
  63535. 0x4d28a04142f7244cL,0x03458837900552d0L,0x712d0c1cd6f23c51L,
  63536. 0x5f541b75b10fd53eL,0x3e1824c5f43d7b90L,0x0000000000000081L } },
  63537. /* 63 << 140 */
  63538. { { 0x83f636b0455342b5L,0x4eefc94489cd2497L,0x9cd00d6c21d70b2fL,
  63539. 0x6ffa051f02a29335L,0x03085ff0e800ddffL,0x9de699100fcc7935L,
  63540. 0x33e4e2a246689663L,0xaa6c25f3b467e56cL,0x00000000000000c8L },
  63541. { 0xb448fad49af4127fL,0x1b3603254d024fedL,0xdd1b4ec1724446eeL,
  63542. 0xac577edb13df9d91L,0x515818244616a822L,0x289df7cda5480005L,
  63543. 0xcd8f303c0b8040a5L,0x88e9b6fa7d0559c0L,0x000000000000012eL } },
  63544. /* 64 << 140 */
  63545. { { 0x42458cfc40817aa5L,0x96f15f13560cc12bL,0xf96ea2034400b1e3L,
  63546. 0x266c2a626ebc6b8eL,0x98ebd5d42b374cbcL,0x15c1f4fd97f946a4L,
  63547. 0x759238ae33a07357L,0x6de75cfe2e3338c4L,0x00000000000000acL },
  63548. { 0xf73dfd08a1d6bad6L,0x32228f5f72566188L,0xea587fed0497dd53L,
  63549. 0xad4c4a562c1673c2L,0x8c8dcec4ade968ffL,0x77bf520edef7feaeL,
  63550. 0x856bb7987e6a19cbL,0xc289274db7fb508cL,0x0000000000000050L } },
  63551. /* 0 << 147 */
  63552. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  63553. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  63554. /* 1 << 147 */
  63555. { { 0x2491a894de6bafe8L,0x8aa13ac5ee9eb4c2L,0x1623b9df31b2d1feL,
  63556. 0x1fb69ca81a5b21efL,0x722f1be3290d231cL,0x8d2a56eeb93891f0L,
  63557. 0xb534845b48a2dc2aL,0xe4fadafc3e2a9160L,0x00000000000000caL },
  63558. { 0x7f9d50b8810034b4L,0xfebda319e8703f93L,0xecae100844caa3d9L,
  63559. 0x21767275bb5e0dc6L,0x529817cdac64fb7eL,0x984cb5bd31b97b4fL,
  63560. 0x33000d288ba3a593L,0x950b9c149003a472L,0x0000000000000039L } },
  63561. /* 2 << 147 */
  63562. { { 0x5e94c2a2a1da3c44L,0x90d950916c05a3e2L,0xb29b791e74871eb1L,
  63563. 0xe82a41fa50c2d855L,0xd2d24df91e689f42L,0xe9e935450cf6ed2fL,
  63564. 0x5fc9d992c6ed3e7eL,0xb4eb7df03606713dL,0x000000000000004dL },
  63565. { 0x248fd9d72099171aL,0x908d539e1d16d66cL,0xab47b9eb171bfd3bL,
  63566. 0x70e5de8cecdd8e37L,0xedd44ae051eed557L,0x4983c6faad95aeb2L,
  63567. 0xdedbfea1cdc8214fL,0xc6ae2030131549b3L,0x00000000000000c9L } },
  63568. /* 3 << 147 */
  63569. { { 0x7f642d9767b9ec83L,0x262cf832a01a1318L,0x279669d0288517c4L,
  63570. 0x39e8ea3451456d59L,0x5a8b5b78e9cdcf0cL,0x37b6e21f183a3198L,
  63571. 0x0cee02daf754f97bL,0xb6fc483e9c76fa86L,0x0000000000000137L },
  63572. { 0x783a819125386715L,0x4fa789033e397588L,0x25dc90b31825e7bbL,
  63573. 0x648caf54125497ccL,0x14940daabd22072eL,0x0a6fb1af51e5a037L,
  63574. 0xc637e1ef41570602L,0xb63d078dc1685b35L,0x0000000000000030L } },
  63575. /* 4 << 147 */
  63576. { { 0xff25170724db06fcL,0x4421108c849ea0b1L,0x3073c4caca8162a1L,
  63577. 0x6d768642e42af7adL,0x031eba68a6bc7790L,0x9a8154c3d8d64e3fL,
  63578. 0x7060550e297aafe9L,0x8681a2c6641391fbL,0x00000000000000fcL },
  63579. { 0xe9e76b16e0675e14L,0x3c4e3c42740f9bb7L,0xd3e75ff52869a3aeL,
  63580. 0x99a891aba47c7580L,0x42b47bcf0b321989L,0x2d1212a00a6dd3baL,
  63581. 0x25b1c5c8b43e9086L,0x8bc954e8e8d1a73fL,0x00000000000001acL } },
  63582. /* 5 << 147 */
  63583. { { 0xcb43d398c9b67ea0L,0xff2afbac39f12f2bL,0x516c8971a99ef099L,
  63584. 0x283cbd94271d23e0L,0xfc2a6cb5cb3ec463L,0x2f08949e25d3036cL,
  63585. 0x496b399a5d21c843L,0x493ab65a61dc0631L,0x00000000000000afL },
  63586. { 0x1f2e2d3d092d0f6cL,0x4d09ae2975901dd5L,0xb4324dff826cc023L,
  63587. 0x98744acff8f24acdL,0xb4b90fd6c4da3267L,0x3c5a2dffa221c054L,
  63588. 0x70c249032f1d7804L,0x3d8676a9ae973b22L,0x0000000000000080L } },
  63589. /* 6 << 147 */
  63590. { { 0x5c9da1422f134a93L,0x898c25ba65dd482aL,0xa8ce92fef6ef3e64L,
  63591. 0xe462faec5da54ecbL,0xdff68f3fb81e3ec3L,0x5278eb6c4b8ef144L,
  63592. 0xf98a36d50dc84f3cL,0x8edd6edba94ef000L,0x0000000000000191L },
  63593. { 0x738606c4ce8f5403L,0x102f1b3a1a20b349L,0xe7f1bf3328f73251L,
  63594. 0x0136f3eb1dccbbdcL,0x5b2b77633df6d9a6L,0x02b03dc6c9ee09fbL,
  63595. 0xff600116ea421742L,0x432728e840d3c3ebL,0x0000000000000034L } },
  63596. /* 7 << 147 */
  63597. { { 0xd97ddfa513137accL,0xb48fd161f90ae86eL,0xbe3b1135664772c7L,
  63598. 0x36a3f3bb882ebcbbL,0xa0bd95d4c260b262L,0x15aa4d0514b47d2aL,
  63599. 0x93607e4a08838ef1L,0xdbee0effc3e3a24aL,0x00000000000001d5L },
  63600. { 0x552772377ea76b01L,0xfdb2d29e02b16d83L,0x8503e9f50a9f47bfL,
  63601. 0x6b462a78702205edL,0x996d0687e7449e0cL,0x005ffde4a89f336bL,
  63602. 0xd784ec5fe7b964f6L,0x4360cf20c319e445L,0x0000000000000194L } },
  63603. /* 8 << 147 */
  63604. { { 0x4bc6f28624374decL,0x9ded182eddbf9446L,0xf58ddb470c3c51e1L,
  63605. 0xa6bd194efcff08c2L,0xdc47a3a63e931aaeL,0x7f1020a8daf165e6L,
  63606. 0xd439739f8faabc58L,0x6efc35ab5951222aL,0x0000000000000187L },
  63607. { 0xf15ee7129498152eL,0x9e85afc9acbf1f82L,0x7b5853ee397280baL,
  63608. 0x0283243a6b8d13eeL,0x64abbdc796cde865L,0x0284a75f3dff94eaL,
  63609. 0xc476e3a69c7b3d53L,0x9dafe302d1884045L,0x0000000000000133L } },
  63610. /* 9 << 147 */
  63611. { { 0x274d321fa6ea2d61L,0x189731b0d4b12aecL,0x3e3ad753923d81b9L,
  63612. 0xe89c40b7befba1a5L,0x6fcd642a015eb22dL,0xde04f997d12be7f4L,
  63613. 0xf2cfa38caf2ccc17L,0xc9aa307ed96b8001L,0x00000000000000a9L },
  63614. { 0xd390598b0b1d5123L,0xe784d0dc329e33efL,0x5b5c64a26d030653L,
  63615. 0x3bc1c276b5a20b12L,0x2cca6aa8755810f1L,0x0c01df0aabe5186fL,
  63616. 0xe997bd088aa9c400L,0xbb8d216198c3fb2aL,0x0000000000000117L } },
  63617. /* 10 << 147 */
  63618. { { 0x1d7b9b778d4fec63L,0x47eb33fb690c571aL,0x3d2bb2de05a01ce5L,
  63619. 0x16cde99b78c47fffL,0x0359242c699656b3L,0xde0c7d81bdd416b9L,
  63620. 0x60863068b6144f4eL,0xdfa66d197583c05aL,0x0000000000000142L },
  63621. { 0x892f8b4e8ccad1d1L,0x085cf7f6cceaac0fL,0xa07608425df33b07L,
  63622. 0xd4737bc3a8747ec7L,0x7f8147a128f4caddL,0x49d9db4c8480de3cL,
  63623. 0x5baa01d5872dea19L,0x2a8726b1e84044c3L,0x0000000000000126L } },
  63624. /* 11 << 147 */
  63625. { { 0x7f3138f9e293680aL,0x6dca11bbfd6a8b9bL,0x88932ac6b4b7ee2fL,
  63626. 0x5138acdae2b95958L,0x91dc3e9a639d074fL,0xd7d4903064296944L,
  63627. 0x818ab55f21383bd9L,0x78ae7acb1032d97fL,0x0000000000000069L },
  63628. { 0xb23f14d075173454L,0x51df08b37ebc4f81L,0x808454cf65aa52b9L,
  63629. 0x782b09610e6c952bL,0x40658769b8e92c5cL,0x4fd3ace2349f1d8fL,
  63630. 0xa9cce79ba0699cc6L,0x587f8a83e565c582L,0x0000000000000043L } },
  63631. /* 12 << 147 */
  63632. { { 0x19a54eb6407386d7L,0xdf16baf601c2186eL,0xfad573e89bd9a894L,
  63633. 0x343bbb0bccbeac47L,0x44febe5e4f7f5443L,0x87c81269c3ad9175L,
  63634. 0xdd79411447319eb7L,0x3302374938f26dceL,0x00000000000001ebL },
  63635. { 0xf94f891c1f1401dfL,0x2ae0e96a1450357fL,0x179a522785202255L,
  63636. 0x10518e7f397d8d98L,0xfa56e665828575b0L,0x7622b705faebb982L,
  63637. 0x63f9067ae3b3b8acL,0xb30f7bec6fdf48ddL,0x00000000000000dcL } },
  63638. /* 13 << 147 */
  63639. { { 0xa1e6af0f35b8d081L,0x46af5adba14b50ceL,0xc6cc9452288c50f4L,
  63640. 0x1bcacbd6f8910af4L,0x9ac8ebdad83a4b2dL,0x021e43ee5514aa3dL,
  63641. 0x4d5d0544b14bfd4aL,0x5bef6ab754bc3519L,0x00000000000001e1L },
  63642. { 0xd6ee66883af6fd56L,0xfc55226508bc92a7L,0xedab91fa2e7ddfb3L,
  63643. 0xe3f1fd7731472d2fL,0x2c751ccf35ea46d0L,0x570cf16d4cdfe038L,
  63644. 0x6ace17d6c87e7495L,0x02a9a0f3942997b0L,0x0000000000000198L } },
  63645. /* 14 << 147 */
  63646. { { 0xe5b551ea2dbff4f0L,0x438195568ed22f87L,0x1a42769cd42f4897L,
  63647. 0xe5a6f518a1a6ee3aL,0x9b53a9e63ab29b90L,0x6189a415c2fbf1e6L,
  63648. 0x6ee4570e2599d956L,0xebc865b6dd1f4bcbL,0x00000000000000a4L },
  63649. { 0x66abacd8843e4791L,0x3bb5c48e7a8cdc84L,0x3f4e2d197b5a2f8cL,
  63650. 0xbb945d44caffda4fL,0xd09a8f34b7bfb4d5L,0x1308f3d83501d709L,
  63651. 0x0bfb71e4352b9435L,0x92c77d2a403e594cL,0x000000000000019bL } },
  63652. /* 15 << 147 */
  63653. { { 0xcf38db175fb9017bL,0x66e774ccd1149878L,0x262164d38581662dL,
  63654. 0x52ca418bfbc653e2L,0x9d3b9b86c74d0c1aL,0xdd58b60b41dd9fe0L,
  63655. 0x63455b0ce55cf6f6L,0xef7fa7be5e37bd43L,0x00000000000000dcL },
  63656. { 0x6982c041cf5b3c78L,0xb48f8d01eb7fb22cL,0x2f88398d5c4c129eL,
  63657. 0xfe6c03131bfa5216L,0x2c94d9d55eaa1448L,0x19b49c084fd026c8L,
  63658. 0xf3ff621ee08f4788L,0x4b3e563397f2b547L,0x000000000000012aL } },
  63659. /* 16 << 147 */
  63660. { { 0x9e4ab8c58b327354L,0x89377c3c73f5d13aL,0x1f93cc126e55dee9L,
  63661. 0x7b4255bce490c030L,0x5451bdf5047ea02cL,0xc01d952cb461d14eL,
  63662. 0x172d0f20b9e21078L,0x694587a5a1295f3fL,0x000000000000002fL },
  63663. { 0xd54076270219fa4dL,0xbc0b846fa3bb7f30L,0x5c17104e2ba06bddL,
  63664. 0x2490f12bdf3ce36fL,0x0fe2e1ca08468c10L,0x8126c060a9e2c73fL,
  63665. 0x7685e59c5cce9dd7L,0x5f5f64da9e8ca8b2L,0x00000000000000bfL } },
  63666. /* 17 << 147 */
  63667. { { 0xd8f8dcb47165a15bL,0x3566655d27456d16L,0x3f8d6e4dd64d1044L,
  63668. 0x63cc9c8d4d23368eL,0x3b81eaa384ed399aL,0x7c81ee61be377229L,
  63669. 0xdc091f9720e863a4L,0xa2d486a7342e6ec7L,0x0000000000000194L },
  63670. { 0xcc7f5d9294fa2791L,0xdc18552a8cab138fL,0x0418657c2e9238c0L,
  63671. 0x38b45acaaec9eaebL,0xbd68814fa14aa270L,0x5b521b2ae14bc29cL,
  63672. 0x22f15327c5ecd539L,0x285ff2f2e109b02eL,0x00000000000001d1L } },
  63673. /* 18 << 147 */
  63674. { { 0x90276bd80eed122fL,0x5feb9a3a51af464fL,0x6723d65f591afda1L,
  63675. 0x4612b5b20f6233c3L,0x8427e3b7aa39d6e6L,0xa6311da25050a2a8L,
  63676. 0xfcf3c90a384a189dL,0x956c6fa5c0e2cb3aL,0x000000000000010aL },
  63677. { 0x665bf31000b63facL,0xcb8cfee137c71ea8L,0x8b3cdfeac1bc2f1aL,
  63678. 0x712f91a9956eb88fL,0x3e7ab8c3b979486bL,0x376b1f96e540d2b4L,
  63679. 0x01ef726f8cb06e29L,0x240b1df4cc582bd2L,0x00000000000000d2L } },
  63680. /* 19 << 147 */
  63681. { { 0x489148c9c274d307L,0xc660855334a59a0aL,0xf1b52d7feb4b8eedL,
  63682. 0x98e050a7ffb5310fL,0x5c6c2a50069fa531L,0x390546312329789cL,
  63683. 0xd525a9f162ad0e01L,0xfe4f68300d72772eL,0x0000000000000145L },
  63684. { 0x22065d2ccfec9cf1L,0x55c4e59c64422d9cL,0xf233fd545bdf4751L,
  63685. 0xcd8536a0221ad6b3L,0x277d802686061244L,0xee697ba465e521cdL,
  63686. 0x0efce228316d5176L,0x26bf3a5dde23683cL,0x0000000000000189L } },
  63687. /* 20 << 147 */
  63688. { { 0xd145eb32b6f1416cL,0x77bfe297670bd3e2L,0x4fe924dfce10f4d2L,
  63689. 0x9651650629f3c127L,0xcc669c51715b9e23L,0xafa90094b60a780bL,
  63690. 0x35114c8ae1aee1b5L,0x3f793f136599dd0aL,0x0000000000000176L },
  63691. { 0xf098fa02bab41133L,0xc018fb4737635fb9L,0x0be935b6eb948d5cL,
  63692. 0x453838bc27db09c0L,0xcf717312b29a531cL,0xb001eb51446ff102L,
  63693. 0xeb0a15c7275b0b94L,0x32e88f1499a3fa93L,0x0000000000000049L } },
  63694. /* 21 << 147 */
  63695. { { 0x8cf0c5cab2cd40e7L,0x02005c870804d05fL,0xda149871a34588ceL,
  63696. 0x867ee45824cedfe3L,0x87be46ef27b2c1f9L,0x7774a05c22a6426bL,
  63697. 0x37322562a785a3d7L,0x1027a76b6ecf1cdaL,0x0000000000000164L },
  63698. { 0xe5e8a7d6131efb98L,0x93da652a3c4c1d49L,0xe7c912d72658edacL,
  63699. 0x8185f36a36903539L,0x37b3cf19dd6f668dL,0x70ad7a7cb48ddd81L,
  63700. 0x8b290a4f8b04de45L,0xb7382782f7a955b9L,0x0000000000000031L } },
  63701. /* 22 << 147 */
  63702. { { 0x5add1d5f23342e9dL,0xdfc4c696230f2ddeL,0xd925c3a6049c89baL,
  63703. 0x9e2e23d5074b981cL,0xa11db26cf8766d4eL,0xc0a69d7fc37ce4cfL,
  63704. 0xf6de27c4b102e1d0L,0x9921ec7010409988L,0x00000000000000c1L },
  63705. { 0xa66b32657b6f0de2L,0x2bd9a65778871bfbL,0x29f760a353bb697dL,
  63706. 0xbd91b082ad080bdeL,0x8644a3328e96ea2fL,0xb3e71cdb10d83cf8L,
  63707. 0xd8611580758300c0L,0x7ebb9fd48146381dL,0x000000000000009fL } },
  63708. /* 23 << 147 */
  63709. { { 0x64b6828796343187L,0xf8f6db918829c5b9L,0x6474822e697768c7L,
  63710. 0xd5cf4ddd770add15L,0x483b8ab4e7439172L,0x793a759d7624731aL,
  63711. 0x9d4b4dcd439b35adL,0x46654a6afecca0f7L,0x0000000000000084L },
  63712. { 0x9f2b0ec49d347a03L,0xc4ea4300d7610174L,0xfe4be93c7f5b78d3L,
  63713. 0x00984cc68d6e3886L,0x42a4f895c7e026a2L,0x258e4272d69990e8L,
  63714. 0xe50f642e7dbd5c71L,0x6f81b7ea0d04a6c6L,0x0000000000000073L } },
  63715. /* 24 << 147 */
  63716. { { 0x8c9f5cc170b1bcceL,0xe2d68ecef726d3d6L,0x330e1c4c707f25abL,
  63717. 0x4397647f18dfd382L,0x8f83b1ee249a6ebbL,0x7d291bb65738ebedL,
  63718. 0x11d6af26e8db7b2dL,0x47b048ec173d8d33L,0x00000000000000e0L },
  63719. { 0x16819a7b1843c807L,0x9bddc58230ca2736L,0x2bccd7f2e1525168L,
  63720. 0x0f9dcb4d5900125bL,0x90e3017bb5adef07L,0x09c2381a7bda2ffdL,
  63721. 0xa203c883d47cc848L,0xd173669eeec3c0e4L,0x00000000000001a3L } },
  63722. /* 25 << 147 */
  63723. { { 0xb3652eaae3f65b22L,0xcaf7a68167717ba5L,0xa80950e2129aa188L,
  63724. 0xff5be361375861bcL,0x6770cc746abb2853L,0x00252a511fd9dd49L,
  63725. 0x9fe309b2ac485383L,0x59660b05d6c63d4cL,0x00000000000000fbL },
  63726. { 0x0434d8c896b55b01L,0x053204c5de25fa3cL,0x4291f70d0e8d9361L,
  63727. 0x29a8f0a9a61ef3faL,0x0192e14431b82f8eL,0x9df111c73cfa7d38L,
  63728. 0x344917426663b84fL,0x5da29dea9c154f7cL,0x0000000000000022L } },
  63729. /* 26 << 147 */
  63730. { { 0xf1321a601f9d09a9L,0xf4d31ea30c863f7aL,0x8a43a25aad2ce3adL,
  63731. 0xe338837799bc8bd4L,0x062857c2a8e816fcL,0x56378ac296c41801L,
  63732. 0xdc0f04db0e66af1dL,0x8848081a56ffcedbL,0x000000000000011aL },
  63733. { 0xea2a3e6060b59a1eL,0x85720082f6ffb469L,0xe10dc94cd3e820feL,
  63734. 0xbbead00b43243370L,0x9c4f4aaf715983bcL,0xb53c487337aab294L,
  63735. 0x527c167f49239950L,0xfc0884fe9c1d2b15L,0x00000000000000f1L } },
  63736. /* 27 << 147 */
  63737. { { 0x066eb52486148ffbL,0x05fa5ca6b12813aeL,0x3f6cf7521042cb23L,
  63738. 0x620497148cc148c2L,0x7063a531fc06d539L,0xdd392b8c9422ec6eL,
  63739. 0x0dabd4a1dc8c778bL,0x86485e1b9e0f9471L,0x000000000000013aL },
  63740. { 0x6c358e988f9b6601L,0x11820d055601185aL,0xed9ba8a45e0a28b4L,
  63741. 0x3f28600944c12ec9L,0xa4b35a622ef871ecL,0xe8a89ea53312df04L,
  63742. 0x22cdb00ad5975031L,0x34bb65de3d7c84eaL,0x0000000000000142L } },
  63743. /* 28 << 147 */
  63744. { { 0x247f9f991415b5a5L,0x8d40f1e22ed5e708L,0xf1133cb0efc81f52L,
  63745. 0x278a9e9c2b0ed8b6L,0xd0e4058b608882b8L,0x0a74bb730c8107e2L,
  63746. 0x13e8d54e5260f955L,0x7a147d79d3ab9424L,0x00000000000001c8L },
  63747. { 0xdc0b55a16f9ebf4aL,0xe7a018e054ae1fa0L,0x542720cc8cebfcefL,
  63748. 0xad8fb8dd27d8ba5fL,0x6e9d00da68c5590bL,0x4f1fa055014f5fc6L,
  63749. 0x972a148006b1efd5L,0xbe9062432116830eL,0x000000000000019cL } },
  63750. /* 29 << 147 */
  63751. { { 0xc6004c28eeec070dL,0xc744cdc1249ddbdeL,0x33a8dd7ed2fdcac0L,
  63752. 0x1bb3b8478a15f9e3L,0xbe5270ba74951deaL,0x974cefc5c62182beL,
  63753. 0x91a2ed05e7bb8ba2L,0x54ec25d63ec05196L,0x000000000000003fL },
  63754. { 0x61e73c5078cfe5f3L,0x26d3abaa9a6a4149L,0x4813ce619128d73eL,
  63755. 0xb60761a175e2bad1L,0xa8f869cadca6d591L,0xc46ef1b082aaaf57L,
  63756. 0xe207a47f87ca8574L,0xe156c908eb027d9bL,0x0000000000000131L } },
  63757. /* 30 << 147 */
  63758. { { 0x12a5b6b9d51ea4edL,0x6ee257dc65396af7L,0xd921c77aecfe3419L,
  63759. 0xdb9d587e463e4d69L,0x0224cc9f03fe3388L,0x062c03973ec5049fL,
  63760. 0x705fdb3fb1e1d2beL,0xb9c77024ecd64766L,0x0000000000000140L },
  63761. { 0x9591f031cc7fc0faL,0x2eb3bc1cc0b49c59L,0xbd54081797ce9a6bL,
  63762. 0xd5285b3641b37630L,0x85137b727a1313a2L,0xce410db03bb3c320L,
  63763. 0x2d3628d4193ace4cL,0xa39b6d8775b26d92L,0x00000000000001acL } },
  63764. /* 31 << 147 */
  63765. { { 0x0caca7f6389bff14L,0xc34226ae7bbc3a8fL,0xe99816857bf0ff44L,
  63766. 0x259e33e7580f4f8dL,0x5e909449d4a80364L,0xf8b2da9223c3d509L,
  63767. 0x5b3a3f4bbf30299bL,0x4da73ca88151ad0eL,0x0000000000000010L },
  63768. { 0x5a575220fe7e78fcL,0xef28d13b03eda908L,0xe131b1fcb0f3f2f4L,
  63769. 0x2c8fe211d8151429L,0x1b9897d692f85e68L,0x76e34f11b6437168L,
  63770. 0xe13b797b97e53e66L,0x0ec0b9d4463020b9L,0x0000000000000042L } },
  63771. /* 32 << 147 */
  63772. { { 0x16bc33413fdd638dL,0x8c37c58a8c518c30L,0x9dddb8ee79df75d1L,
  63773. 0x0bc82320c91a620aL,0x6e924a6c9126a200L,0x744594a9d20c8c89L,
  63774. 0x0e9b59ac4cc73caeL,0xce872f0a0b276b4cL,0x000000000000008bL },
  63775. { 0x651f74222c35933cL,0x95238355e025609eL,0xe7891b5b6c14d96eL,
  63776. 0x89c0fa370304d219L,0xdf7da33d61b597efL,0x43df03574120905cL,
  63777. 0xacf01355718df73dL,0x7ca32d0e631ada96L,0x00000000000000b8L } },
  63778. /* 33 << 147 */
  63779. { { 0x88809494252b6a07L,0x9afb2482a30ec634L,0xe68ffbc927436190L,
  63780. 0x63223b43168356f3L,0xed2dddc2640ef7ffL,0x8a3d853beeb5ce07L,
  63781. 0x6b555cec4f9347a7L,0xfbff3ff241559afcL,0x0000000000000189L },
  63782. { 0x60b423485261ab5aL,0x06ec126f930b3a8dL,0xb70a741a9eff20dcL,
  63783. 0x63ef08dd43f6aeedL,0x4b7e962b391a4cbfL,0x2dea977be636890dL,
  63784. 0xc8bcca8edf28a2beL,0x75a069a00db7e727L,0x0000000000000130L } },
  63785. /* 34 << 147 */
  63786. { { 0x64ad4b5d38c6cb20L,0x87b25a276cccb7aaL,0x882e1be1695dca6aL,
  63787. 0xb6e216ae98e6653aL,0xab1adfbe4f2a32f6L,0xc7eb17991640b34eL,
  63788. 0xdfb5a618e9b287dbL,0xb98377f2e1c483baL,0x000000000000017aL },
  63789. { 0x38c1708b0e576a20L,0xcae3cbb5666618d3L,0xe7681da6a8baaa65L,
  63790. 0xca4a87db3661f5faL,0xad07c49713a2923eL,0xfb8e098a1612b88fL,
  63791. 0x00648cbd0211082cL,0x77fb7ef7c08add74L,0x00000000000001c4L } },
  63792. /* 35 << 147 */
  63793. { { 0xfd7f19efcd518979L,0x3d439ca9d73c25fcL,0x0834e5770d158067L,
  63794. 0xa52457eb7560ff4fL,0x1d72c5c540f8627fL,0x90445790aead9bacL,
  63795. 0xa0019ef9ebd5094eL,0x0ec581eff66ceb3bL,0x00000000000001e8L },
  63796. { 0x52b5917cee75ca82L,0xf66fdce0bf5bea5aL,0x825c07b024f56801L,
  63797. 0x5fd13cef8991b8a0L,0x3d1d4880e739ff2dL,0x01a6a6218d6aead6L,
  63798. 0xb5cae8d5fec72d3aL,0x48c498cf9e68ccccL,0x000000000000011dL } },
  63799. /* 36 << 147 */
  63800. { { 0xeb7eb4e3cf7c7817L,0xc190cb66eaab7734L,0xdc8faf6a81d04f60L,
  63801. 0xf11c8a8cf998d778L,0x4e2d4b63db67e150L,0xe5522c9556099bb9L,
  63802. 0xcf8dcbf0aebfc2a4L,0x921787cc0c8f6ce7L,0x0000000000000075L },
  63803. { 0xf6e3e647e163b36fL,0x5e1a1c7428973a57L,0x08c85f9ddf4fba25L,
  63804. 0x45137abd0f27483aL,0x993d2b71753cc2adL,0xc6b0112853fa2055L,
  63805. 0x74e63b5088ca2fe3L,0x06aa66a1d2a13d00L,0x000000000000019bL } },
  63806. /* 37 << 147 */
  63807. { { 0x682ffa1b7ec4f64aL,0x95d2e079a15dfbe9L,0x172c693cf5184016L,
  63808. 0x45b10e4f33eac72eL,0x57f555c9d99bc8daL,0x0ca53b2f0656b3e5L,
  63809. 0xd5ad1f26afff9ff6L,0x54197dd60c648286L,0x000000000000016aL },
  63810. { 0x98c5f4989aa5dc36L,0x906d5559936cf066L,0x4daedbf578c08c11L,
  63811. 0x60ee55a31fd25c15L,0xdd6d6c5f83d1fea5L,0x66af4443c96f658cL,
  63812. 0xd8d4b001326b34adL,0xae9b2b71a2b138dfL,0x00000000000001dcL } },
  63813. /* 38 << 147 */
  63814. { { 0xcf5174df03cbc63dL,0x6c45aa2990858f82L,0x4feeb0e94ca9ff29L,
  63815. 0x45c913dd476b0fb3L,0xe019eaebc60aaf76L,0xa616a69f20013ca2L,
  63816. 0x57a9477b8c19cea4L,0xc2d0700a1cd82afeL,0x000000000000007bL },
  63817. { 0x1eef2b5fef402297L,0x9f9c57d25aca14a2L,0xb890e7bcd4f3bbf5L,
  63818. 0x210714a2ce430268L,0x9088523a57390f8aL,0x165bff6f4e58247dL,
  63819. 0x9aa04525f815b565L,0xb775a4615c6d8ac5L,0x000000000000012eL } },
  63820. /* 39 << 147 */
  63821. { { 0xa9bd87c6bd49c789L,0xa1fe2842970f53ebL,0x59160816abe18d83L,
  63822. 0xf69f674898c30254L,0x63688c8e6543b683L,0x14d5ee6af773af1cL,
  63823. 0x327a220e8c42efc1L,0x666a878c900c62ccL,0x00000000000000d4L },
  63824. { 0xd868e30687e762b1L,0x213f7b043de4e833L,0x022b5fe26c684d45L,
  63825. 0xdfbac3e02cd286d1L,0x7d4e6a80aedb794eL,0xbc3f105e1e60b9bcL,
  63826. 0x6dfd09ed711f8011L,0x2b4f4fe7a3a0de69L,0x00000000000001cfL } },
  63827. /* 40 << 147 */
  63828. { { 0xda90f7d5baf7c7bdL,0x1a6719969766aa85L,0x3528f03b24f802a1L,
  63829. 0x04b09da3c7d51cceL,0x7a2fb5077b8e58c9L,0x4cd283ca46c7716cL,
  63830. 0x3c682896f1027492L,0xe34524bd8d6b9f97L,0x0000000000000186L },
  63831. { 0x4696ab6ff2e6ce3eL,0xff2a7b70f6e77b14L,0x19cdf652897ff820L,
  63832. 0x09f952c2cdf6c8f8L,0x9b3b7e14e34d3dcfL,0xecf5054ee1a3bd0cL,
  63833. 0x19d2e4c83403783aL,0x549bfbc73a373796L,0x00000000000001a4L } },
  63834. /* 41 << 147 */
  63835. { { 0xdeaf616310141b69L,0xc41e53f255557467L,0xce2b3655c4d8b612L,
  63836. 0x5ac8d24202f58186L,0x213affee697dcf46L,0x254e7ec39c955508L,
  63837. 0xc43cb58c85f554a9L,0x0d58d3994500579bL,0x00000000000001efL },
  63838. { 0x466b1a5bf7a19f41L,0x113f74e91fe1301bL,0x18bbe771c54304acL,
  63839. 0x8340ad81c26c2e27L,0x65367af7544448c8L,0x3021f03f017efbe2L,
  63840. 0xbe92d7e6b090ae98L,0x1a0f53e920ecd3cfL,0x0000000000000133L } },
  63841. /* 42 << 147 */
  63842. { { 0x66dc8a9b1def0f5cL,0xf4d1c2b73e9135edL,0x317063850d8e70e0L,
  63843. 0xdd355c7a4d254a7bL,0x6189dd55dcf70a93L,0x9d62b529b728ef6aL,
  63844. 0xf9986ad1c74066b1L,0x9aea4f1ae540d945L,0x000000000000011eL },
  63845. { 0x130818dcf200a284L,0x56418ab66e71f015L,0x94b3427eab8722d7L,
  63846. 0xc5c1c1587aac7863L,0x55fe2df518b94dc9L,0x4813e9915c782da6L,
  63847. 0x6c50ae473eb671daL,0x8b25a79012ba0f9cL,0x000000000000004cL } },
  63848. /* 43 << 147 */
  63849. { { 0x409447460587a0e4L,0x5d458c798d9f57fcL,0x684919bcd8657675L,
  63850. 0xcf551d43839fa071L,0x9de6fa17af775947L,0xf4bfb5506669009eL,
  63851. 0x234870726375aeddL,0x5cb589eb1c7180e2L,0x00000000000001bbL },
  63852. { 0x128d24df97ad0e22L,0x160d55a40111adbcL,0x7e57af656d0f5f99L,
  63853. 0x4d6c763f09910699L,0xfedb36a7ab9c174aL,0x35fd8a827f579c65L,
  63854. 0xdf7e65d169af343bL,0xca6829bb448a45a4L,0x0000000000000015L } },
  63855. /* 44 << 147 */
  63856. { { 0xee98bc02f445f09eL,0x8a9361ff6b4728abL,0x8ce33c616bc007c9L,
  63857. 0x191819be51c7e170L,0xa1c971c0a0f7eb3dL,0xc00ad1e760c9f532L,
  63858. 0x790750ba5972bc14L,0x665d98cb776c1093L,0x000000000000014bL },
  63859. { 0xcf81d62fd598c5daL,0xfe84e05c7aa8be48L,0x0943e0156c7e2a3cL,
  63860. 0x39bbb769352063aaL,0x3ec54f1b638ad619L,0xe0a92fe3e248bbc8L,
  63861. 0xedeb7234718dc78aL,0x22840b19ce6775b8L,0x00000000000001f1L } },
  63862. /* 45 << 147 */
  63863. { { 0xb6f96a59d33ac825L,0x5b7d26dbe328d33eL,0x4b914baafb3a9c2bL,
  63864. 0x626782a126376196L,0xc4ce8e4e9c5c39ccL,0x936c7957afc6729fL,
  63865. 0x7d33ddb57a880449L,0xf1c162de61f21de7L,0x000000000000003fL },
  63866. { 0xca755d673c0abcc4L,0xee71ff879568310dL,0x57bb9cd89996bdbfL,
  63867. 0xcda5682e63602af4L,0x45f7d757e526c8a5L,0x3f70d0a67e9730d0L,
  63868. 0x47d5cc70584be9ddL,0x57453cca4a5091fdL,0x000000000000001dL } },
  63869. /* 46 << 147 */
  63870. { { 0x9e6e310cf74041ecL,0x00525f452f102196L,0xd509a1fafb089536L,
  63871. 0x25eafb85b6ecab1dL,0xc3db17473e670edfL,0x73cd5b1a02a74deeL,
  63872. 0xda5f180a708059e5L,0x4756564105f4a4a7L,0x00000000000000d9L },
  63873. { 0x4617c8dba2e177c2L,0x4c1cd54d48928799L,0x9db79cc174cd39f7L,
  63874. 0x6ad011de815393e2L,0xfda0a9d375ab45d3L,0x941924fb4944f8aaL,
  63875. 0x9e5612f2425803feL,0xb85b6231e73ad659L,0x00000000000001beL } },
  63876. /* 47 << 147 */
  63877. { { 0xf5f9fc42c0ef1a21L,0xe9f903271bb54b84L,0x194164521fd4c3d0L,
  63878. 0x07230be791a093adL,0xc8611dc627a57239L,0xeb64b31ef0a2ed05L,
  63879. 0xc99864d317c09562L,0x13bd93ec682aa5c6L,0x0000000000000072L },
  63880. { 0x22a721e66314648aL,0x04bbe0541809ed8cL,0x709a97cb3431bf60L,
  63881. 0xd23000ca75e2ab96L,0xcf94327f7317e6e0L,0x5c07a24361efe4dbL,
  63882. 0x1e0f88bd75585a53L,0xe9d5784e71067b16L,0x000000000000008bL } },
  63883. /* 48 << 147 */
  63884. { { 0x140d97d668d43990L,0xc2153671f05254d7L,0x15c7cb4048835a51L,
  63885. 0xed01ae6e9b1e5c22L,0xc33296c45a63713bL,0xb44ae73171a53417L,
  63886. 0x70b2359e4e771c6bL,0x582eacf2fe7d32b4L,0x00000000000001e3L },
  63887. { 0xb6a805b0b9a67492L,0x97617ae34369cc31L,0xdc08edb44d0a7af9L,
  63888. 0x1c89e626c0c63f8eL,0x75e1f1ed615ac711L,0xe03d1b7d8e3eb258L,
  63889. 0xcc2e06e4761fadb7L,0x2dea6e630cfc1724L,0x00000000000000d9L } },
  63890. /* 49 << 147 */
  63891. { { 0x30eeed7612619b7aL,0xd8daa1efe23568aeL,0xaf0c5d2700f7929aL,
  63892. 0xd89f78a90dca03efL,0x8eb2878fe39fdcdfL,0x8d8e0ddda71f1a3dL,
  63893. 0x4042473e60afe2bfL,0xe0501f41c19d3ffbL,0x00000000000001baL },
  63894. { 0x1693d5a1030e8b4fL,0xa0d858cf93320df4L,0x45b0c87cfcabd7c4L,
  63895. 0xb6e171378f8fa025L,0x892617bc01ff2d11L,0x89030f422ed3a401L,
  63896. 0xda0ddd2ac10ee939L,0x24b042d5fd5f3ed7L,0x000000000000009dL } },
  63897. /* 50 << 147 */
  63898. { { 0x28ebed439ae8948eL,0xbe7a777ec909cbadL,0x4f5b240434fdd33eL,
  63899. 0xb0ce95a86f24e7feL,0x9549d6a80a6117aaL,0xea4f9ae39ab68d8cL,
  63900. 0x117b35bf9258ab2fL,0x262f08aed8e0e9b7L,0x0000000000000092L },
  63901. { 0x808fe92c29be09dfL,0x57f69b77ea43d2c3L,0xfaf2e024f50c9e91L,
  63902. 0x00a2dbc95fce3573L,0x72d3ae0513d465d1L,0x4fc54830ed56e68cL,
  63903. 0x662a86491a37f74cL,0x6977a68476c58416L,0x0000000000000063L } },
  63904. /* 51 << 147 */
  63905. { { 0x56c1d2934f06b0daL,0x396c88f326ab5d67L,0xef6b98362d0ee910L,
  63906. 0xbd5794fb82fea351L,0xb4aa0ebb8e8a0674L,0x1f99bd2c992a8e30L,
  63907. 0x6c77c4ce13f5b05dL,0xcc2d35166d96d584L,0x00000000000000eeL },
  63908. { 0x29896c6aa05844fdL,0x615a57b51b2ee851L,0x0780b7ba64120a3eL,
  63909. 0x5b4a41d756738a39L,0xc38019755ea981b3L,0x925ef03121aafd98L,
  63910. 0x62a94e460c31922fL,0x13cf0f0c36933ad5L,0x0000000000000083L } },
  63911. /* 52 << 147 */
  63912. { { 0x301c46545f009683L,0x5dd9f7cde23f6a45L,0xe751c7d9d96753e9L,
  63913. 0xb26fda93e50ed86dL,0xb48e4d2ea3014b3eL,0x6d82b06551d16e40L,
  63914. 0xa8b8f4a19952b35fL,0xa3b70bff95f097b1L,0x0000000000000003L },
  63915. { 0x98b9e4d7ea5ce5a2L,0x86cc4bb2d9548b1cL,0xee2c3a715f65d9a9L,
  63916. 0x22b7cc27212980abL,0x8820302cf5dfdbeaL,0x7f0290529fd77d3bL,
  63917. 0xfaef33b3599b0e13L,0xd6b215998a929bfaL,0x00000000000001bcL } },
  63918. /* 53 << 147 */
  63919. { { 0x3822d6dde05bcff9L,0xa1df90859a966665L,0x37d8d08affd0c260L,
  63920. 0x044eb203a393185cL,0x2bb1e2a097b4fa61L,0xd824c5f2f069339aL,
  63921. 0xee973a505e47a499L,0x57c7cb70c7739a14L,0x00000000000001a3L },
  63922. { 0x50708368841c8a1bL,0x149b29f0e1c18a5bL,0x6d3057aff86259ebL,
  63923. 0x42b1013f9c561498L,0x9c917c000a3c96c5L,0x1f64ce7260e1c1e3L,
  63924. 0xdca64e5d0b26eacaL,0x70809a61ffe62202L,0x0000000000000060L } },
  63925. /* 54 << 147 */
  63926. { { 0xf7cb364bebc4106bL,0x322868aa1f5b16d7L,0x35d2bc278a47978eL,
  63927. 0xdd71c1c5888a45d6L,0xbced525701370078L,0xdb80de35d2c742c3L,
  63928. 0x9de9da88492943b8L,0x056084de6d5369b2L,0x00000000000001ceL },
  63929. { 0x481ba518bd731791L,0x5b7297867252de15L,0xd9e0d759af151de3L,
  63930. 0x32df8fcf9485cf7cL,0x959a47d70da582faL,0xada095c0ae5e4106L,
  63931. 0x1f870a322c80f5beL,0x3996f25c7b53b872L,0x00000000000000fbL } },
  63932. /* 55 << 147 */
  63933. { { 0x7b6c5a0d299215b2L,0xe63c9ea3ff30cd5cL,0xe20dcdced944d3d8L,
  63934. 0x58fc33a5037bfe23L,0x084db73f8964c02dL,0x295cbb668036f2d5L,
  63935. 0x5fb5b1575f11677cL,0x08c6f7868c0b8c9aL,0x000000000000005cL },
  63936. { 0xa71be7daf9fc7b49L,0x90b4fb112eb884afL,0x5a433d1bc20f3de7L,
  63937. 0xa9f96c15d7ec8c53L,0x19d73a9202b16cf4L,0x6db1ec20f0c59b32L,
  63938. 0xea08ad41e9148372L,0xa9425964a8fd959aL,0x000000000000012eL } },
  63939. /* 56 << 147 */
  63940. { { 0x327d0a715d58ae51L,0x5781201b6bbb0e9dL,0x2e738768cb5ba871L,
  63941. 0x7a7c4287a1ce9418L,0x75e146164efab0e1L,0x14839cf658a84558L,
  63942. 0xc9c0e010b0156aeeL,0x337859475f043330L,0x0000000000000177L },
  63943. { 0x9f821ccf075f05d1L,0x18ea20c4c28c986fL,0x6b3173993906dd1dL,
  63944. 0xf8c200ac1ac84aa0L,0xb6876e9b2170699eL,0x967ebc48894c5351L,
  63945. 0x545de7957c5503a5L,0xaa3e77f946b8d0c9L,0x0000000000000038L } },
  63946. /* 57 << 147 */
  63947. { { 0x09995831678db97cL,0x21a68fbeb3a294d1L,0xe7e00883a6e564a6L,
  63948. 0x6c2bc4473c6351fbL,0xb26c5e696be68123L,0x5f0bec160f558615L,
  63949. 0x7861fd1d3d4e11daL,0x401c74bb74294954L,0x00000000000001abL },
  63950. { 0x99ccf2f0240019eaL,0xcd7b969a7d4cd159L,0x5c8c5407f98ad9e1L,
  63951. 0xed9f828849e17f16L,0x15e6f01c07ec8be3L,0xb9385f7f9215c605L,
  63952. 0x9d0dcdec545b52d8L,0xcf19523c4ee0d717L,0x0000000000000081L } },
  63953. /* 58 << 147 */
  63954. { { 0x6075fa38019b76d6L,0x69026a5309c93da7L,0xd74ca37abc94b34eL,
  63955. 0xb9326f7dfdb4db42L,0xee55a0529d571ca1L,0x28cc82349b045d9fL,
  63956. 0xc32980ff32b90fbaL,0xae7b8a9e23bcaaa1L,0x00000000000001d9L },
  63957. { 0x7999b36bb1e28505L,0x3f1a81991a8b12dbL,0xfc384a1e842adb45L,
  63958. 0x45928ce192acfae9L,0xf9c422639575c3b1L,0xa1d497c00c64efb3L,
  63959. 0xbb171deb8f675d61L,0x1112bb0ae420e774L,0x000000000000012cL } },
  63960. /* 59 << 147 */
  63961. { { 0xd3a1a740a18e8dafL,0xc7ea1eb81f85d156L,0x9cb8aa11e8cb68e8L,
  63962. 0x5867e62f3cd3e2e8L,0xb9a337f1d8525a5eL,0x19e80310986615bfL,
  63963. 0x35b1126ccd2046ebL,0xe0adfd0ca338224eL,0x0000000000000114L },
  63964. { 0xb5041e87e0d36af3L,0xf6c1d74ac830aa98L,0xa1251bcd3d9a58b5L,
  63965. 0x084bde5b887e46c6L,0x17c1cfdec9066fdfL,0xdbd86d9be1a07155L,
  63966. 0x04e6b547ad8b184fL,0xe1387caf9ce95793L,0x0000000000000082L } },
  63967. /* 60 << 147 */
  63968. { { 0x4443a6c3322a7d6eL,0xbaaa07e080c34583L,0x030a347041f390bdL,
  63969. 0x1570596ce98c416cL,0xa7ed4c7e3ed2ccdaL,0x936b5951440b9124L,
  63970. 0x6587c9d546d24df9L,0x77ddf54c8b22db32L,0x0000000000000025L },
  63971. { 0x63c9e7b7a4762e43L,0x5a15b97f843b6aa6L,0x370982cb89c1481cL,
  63972. 0x2d4bfe90bc3ce946L,0x5467f0821fa11973L,0x727ec857f1ed8d70L,
  63973. 0x6d0ddd0bbcd130f3L,0x952129f8b6cbeddaL,0x0000000000000142L } },
  63974. /* 61 << 147 */
  63975. { { 0x8c63e55ac218c2b4L,0x93017667ca59394bL,0xc0f8e0d1602295deL,
  63976. 0x5de02425002fb9b1L,0x493fd199e8b8fc46L,0x854e759781e1ea54L,
  63977. 0x2f57f5a2dae7a5f5L,0x8454844cd6f46c80L,0x00000000000001b5L },
  63978. { 0x246d3a54b0b01c98L,0x807bf3892860d179L,0x3455551b5474e8d3L,
  63979. 0x8e007f866fc4f8b1L,0xc409e7d377e29dbaL,0x84510eb48359b208L,
  63980. 0xf29d0ad368d94a20L,0x7afbd7935010b843L,0x0000000000000114L } },
  63981. /* 62 << 147 */
  63982. { { 0x48b9115978951f4bL,0xaef87217265fad80L,0xb5d5547ad94d42dcL,
  63983. 0x723c460f1a5ac9d5L,0xbced8eb304aa83bfL,0x276275ab9f569648L,
  63984. 0xb7e2654d7db652c1L,0x16acb62bdd9088a8L,0x00000000000001d8L },
  63985. { 0x8318bbe3a0134fcfL,0x73dce05c07cab5f3L,0x0d3421b9ead384b5L,
  63986. 0xeb5c77f492b4c9c7L,0x15186834e01bd002L,0x27583717e576e035L,
  63987. 0x4d3ecbc88c8d4d43L,0xe63044592b81fde8L,0x0000000000000059L } },
  63988. /* 63 << 147 */
  63989. { { 0x7ec6163a6f63d2c3L,0xdff5558287421ff8L,0x7dd99c23b1f59a95L,
  63990. 0x7604aeaaa41319c8L,0x81c31a0cf7b60b77L,0x80a5bea5597dc7c0L,
  63991. 0x9abc806b7c1f1d0fL,0x60e9f42bb2c9a37fL,0x0000000000000090L },
  63992. { 0x3526b63f850d46b9L,0x4532e167a10fc8e7L,0x48e5c8f5a35019f0L,
  63993. 0x7aee2a2dd22272ffL,0xa08dee5c726d0685L,0xd0058b333979987eL,
  63994. 0xd155241263607bf5L,0x2201b75aca9a11d4L,0x000000000000018cL } },
  63995. /* 64 << 147 */
  63996. { { 0x5249e953d6ae5716L,0xbbf778ca1027f3cbL,0x0a535c1f01020499L,
  63997. 0x80f4cf1b7b847ceaL,0x3cb8c87b66d8dbf8L,0xa8d7b35bdd3562a9L,
  63998. 0x0305b1595ba3f0abL,0x9d5ee3ba7775dbedL,0x00000000000001b7L },
  63999. { 0xbe2096494e5050cdL,0x176602a16790efceL,0x6aa6ba5f0b21f5c7L,
  64000. 0x6a1d5df0f8c4116fL,0x1a188a83746abbc3L,0x2b2d3317fd2c047eL,
  64001. 0x18067e79b9e5d5b8L,0xed9bbbcfc4be8357L,0x000000000000018bL } },
  64002. /* 0 << 154 */
  64003. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  64004. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  64005. /* 1 << 154 */
  64006. { { 0xf6a2bf97f0ab06d5L,0x9f8da4f011f2c6a5L,0x776a1eb0cb8b966eL,
  64007. 0xe74b7349a1903dd7L,0x6978c653dae05c8fL,0x77d364c9e1f5b52fL,
  64008. 0xf3e29bccbc7779eeL,0x4cd77a80641ba885L,0x0000000000000136L },
  64009. { 0xc79b648f9cb2168eL,0x1b52d0b7d06dbbe6L,0x7b7302bfa65c96d5L,
  64010. 0x1eea500edc838093L,0x83aa1612fb69971bL,0x6398cff0528e16ffL,
  64011. 0xa64963a56d95deebL,0x36f359053d7da7aaL,0x00000000000000a7L } },
  64012. /* 2 << 154 */
  64013. { { 0x708003f83c48adedL,0x936a8a382497ce05L,0x66f8e450afece34dL,
  64014. 0x6cc3a161513e1c0eL,0xe2fb655e044610faL,0x8af6a3b362e764c3L,
  64015. 0x839a61f18ca809a0L,0xd43f2d1ec330dddfL,0x000000000000007fL },
  64016. { 0xf4fb698b7acee1ffL,0x5d19501bcb302bf8L,0x393c9f0876ac0468L,
  64017. 0x16f8b677fd22441cL,0x85662743c504d916L,0xdf3d33119c8cb9c8L,
  64018. 0x1feb20ee42f9cbe5L,0xecd3eece5cad0542L,0x00000000000001ebL } },
  64019. /* 3 << 154 */
  64020. { { 0xa9c120098d6d74c4L,0x862c2e5ac0e79387L,0x30e24459ee38eff9L,
  64021. 0xd3637e69764f4b51L,0x6440afad56e273a5L,0xc95ca130e45adb77L,
  64022. 0x89cbd694c96ea2baL,0x9b9c1edbf2099810L,0x00000000000001d9L },
  64023. { 0x48770298e474a5acL,0x5612463b7b903222L,0x4d92c48f12de8a11L,
  64024. 0x360e5c32ca366bd5L,0x8f16dd03e7e9928eL,0x41cbda9e88bf12f7L,
  64025. 0xe7d794691af3b3edL,0x34c52e7caa4e82a8L,0x00000000000000a2L } },
  64026. /* 4 << 154 */
  64027. { { 0x8756b00a9f004528L,0x20374136e9c2b2e2L,0x9e6c6a22cca54915L,
  64028. 0xc5dc6015f6629736L,0x5ef3efa8c4510c8bL,0x1fe7836cdcc2ce9aL,
  64029. 0xac80124a0b55a453L,0xe430cd86dbb7a64fL,0x0000000000000104L },
  64030. { 0x939b5896a385741dL,0xa80c7d7e3a6c90e9L,0x8df754d6e4c02621L,
  64031. 0xccc73ff172958d91L,0xa80cd923e911d8d9L,0xee0dca498c0171e8L,
  64032. 0x850d8439fecadde6L,0x37550fc24f714086L,0x00000000000000c8L } },
  64033. /* 5 << 154 */
  64034. { { 0x04b6a0e91ecb5d79L,0x76dd6ff66661a50aL,0xf781aee776b0f62bL,
  64035. 0x1c5aba38e8569d33L,0xcedc599451bab8d9L,0xb9753d145556e4f7L,
  64036. 0xe0434b07504b2dbaL,0x20ebda14290170beL,0x000000000000005dL },
  64037. { 0x2c1ede1ef77da08eL,0xcf0c0f3da5a7547cL,0xfb8f6167f81eb5baL,
  64038. 0x36854edada4a5de9L,0x006dcb13de55ea82L,0xc92040022e6d0330L,
  64039. 0x444e1300ee733ae1L,0xc75a73608f3de483L,0x00000000000000c8L } },
  64040. /* 6 << 154 */
  64041. { { 0xe09a3cf0af969a6bL,0xb92d2f90bd6ac057L,0x1b2f0a7c84d4595eL,
  64042. 0xc74ccfc4694eca28L,0x5f9cd8d4330323f5L,0xfcfcae74ef391ed4L,
  64043. 0x0081ef66bba18e42L,0xc025895aa955d164L,0x0000000000000156L },
  64044. { 0x9ea9ae8ddcd1ce6dL,0xce0eaa5f3c6ec110L,0xf8336a3517ae8ce0L,
  64045. 0x34205d8698f175a7L,0x42a29536af7c195fL,0x21b0cb3cf85cdbfcL,
  64046. 0xe6da7fa8840fe9bdL,0x766646688a894e33L,0x000000000000017cL } },
  64047. /* 7 << 154 */
  64048. { { 0x9ef8a9907b69dfd8L,0x3c01c44a3ad9d90cL,0xb576538c5e18521eL,
  64049. 0x234ca9937a342024L,0x08f6b0d84b8f02d4L,0xb2c97f96b70eb5bdL,
  64050. 0xe8747b6f235ce355L,0x04d9f7126870110bL,0x0000000000000075L },
  64051. { 0x1fe78e291de0c835L,0x7069aa9eac0c1b5dL,0x5f04cb3d2b647a13L,
  64052. 0xf3523829affc1b77L,0xebec6717bb0df520L,0x6abc248682c68f93L,
  64053. 0x2ac72f4e21541ab0L,0x82b5d659bfc23f23L,0x00000000000000daL } },
  64054. /* 8 << 154 */
  64055. { { 0x8323b86fec088bb0L,0x18eeb2d3e169bf94L,0x9eabc22555450a6bL,
  64056. 0xfd49e8fee35c62e5L,0x1a8255f86a5d661fL,0xb7ee978fff87b2b7L,
  64057. 0x6d59a24739975957L,0x8a12c7f513e61ba9L,0x00000000000001dfL },
  64058. { 0x61a3f3a2b30ea34dL,0x21fa89924be16d8dL,0xba41fc20d8613751L,
  64059. 0x10b11b88cce7e39dL,0x82a797d7f79ede48L,0x9559db4a5fdaa76aL,
  64060. 0x445442ce577e7ef6L,0x358c9be06751a909L,0x000000000000001cL } },
  64061. /* 9 << 154 */
  64062. { { 0xc5febe234897adb4L,0xdd7e212192ee8af1L,0xdf70f39b6892b4c9L,
  64063. 0xf1ea9349d4a09185L,0xd5121d35fb3ba54aL,0xe4d39b40e927a37bL,
  64064. 0x39f03f40d3517713L,0x414e0e866f12f5e3L,0x00000000000001eaL },
  64065. { 0x4c24f87b627300f2L,0x8ef8b8301a0c9008L,0x959744aa7b140d22L,
  64066. 0x7a406464bb9589caL,0xdb329b0f1bfde0ceL,0x0401dd975b24cc0eL,
  64067. 0x8aebc77378371f29L,0x02fc0c33f1febffcL,0x0000000000000028L } },
  64068. /* 10 << 154 */
  64069. { { 0x56e2294c1317d843L,0x66a415d0f34bd426L,0xd65e0abd82328d7eL,
  64070. 0x0026bcece495cbefL,0x45b42d450356eb16L,0x08f16cebd999f3c6L,
  64071. 0xa841b2bee82cc5e0L,0x9273864fb4719eefL,0x000000000000005dL },
  64072. { 0x35ca9c719f125b1bL,0x2ae57e9490d045baL,0x2ca6a02babbd691dL,
  64073. 0x1dfa73463e2e1507L,0xff9ff444b7fc8813L,0xc6cb3ba2fec77e7dL,
  64074. 0x3f9d74e5b9d39df1L,0xfc653ef49be360acL,0x00000000000001baL } },
  64075. /* 11 << 154 */
  64076. { { 0x2d1043706f4b5907L,0x279eeb552a965a41L,0x06863a068bfd9926L,
  64077. 0xb1a1567f839d5e83L,0x8f417c47d8c0490bL,0x548295eb268992d7L,
  64078. 0xf3a1978a1ef3cdefL,0x402b4001669c3be9L,0x0000000000000097L },
  64079. { 0x9a9f1ab9606891d7L,0xcbe4ac71cf1bdb11L,0xbcd93ed09ca6dbb7L,
  64080. 0xba64c0644767f5b8L,0xd64c49b1842b720dL,0x4ed8dc7f29bf4c35L,
  64081. 0xa97b185f57bb1f04L,0xfbfd4a978e62cd56L,0x000000000000017fL } },
  64082. /* 12 << 154 */
  64083. { { 0xa22790ae7d5e235dL,0x6ec954be4a9a5780L,0x26aeeddce38ffa50L,
  64084. 0xbeb75310eb3feee0L,0x44cbb50840a31067L,0x4a0ff701380e0baaL,
  64085. 0xb23528c820cfe922L,0xcff1ac948fdf6c51L,0x0000000000000158L },
  64086. { 0x80acb80001d7f58bL,0x2181a99daf2d7b4dL,0x30ff9020146506d9L,
  64087. 0xf091d3057967a5dcL,0xb37c10521cd6c51aL,0x401010b56b0db694L,
  64088. 0x1b1bc5e960fc5f73L,0x8ab0cf8eab3aac42L,0x000000000000019bL } },
  64089. /* 13 << 154 */
  64090. { { 0x58703a2ad975b4b6L,0x6167e7ae4f202eabL,0x26cb064f7c8b1d44L,
  64091. 0x1bd0c0b1552b7474L,0x1f1fa56f85b02ad6L,0x42f451f99363ab7aL,
  64092. 0x9f9888f1b7f2df41L,0xe0982ddc935b0f16L,0x00000000000000b0L },
  64093. { 0x5b3133ffbbf0e24eL,0x22cadc2c623da1daL,0xc106e88a6ba85f88L,
  64094. 0xf6e00838a71bd558L,0x6917980380b79631L,0xcc177913a4fd8cdcL,
  64095. 0x004e0ca999889eeaL,0x530683b77ea0ea1dL,0x00000000000001fcL } },
  64096. /* 14 << 154 */
  64097. { { 0x409928e4278ffc44L,0xe39bdc274353b086L,0x1323b2d040382fefL,
  64098. 0x69de9b7d28c99bacL,0x1c68f0e2bfc5d486L,0xfe49bce5094d3cb2L,
  64099. 0xd37daaf81110a3c0L,0xc9938bea2f6c58b9L,0x000000000000012cL },
  64100. { 0x39b6da445a2f1875L,0x848c2bc18302b740L,0x10b917d8cb988452L,
  64101. 0xac9b47fabbe451fbL,0xc1d6792eeba243b2L,0x2eab0db88610f760L,
  64102. 0x3810ac18e475e77fL,0x1e60d81024c55728L,0x00000000000001aeL } },
  64103. /* 15 << 154 */
  64104. { { 0xff7ded2add770286L,0xd8d3c66e845a63e9L,0xf05e27d53c535b94L,
  64105. 0x9aeb2f6723f42216L,0xc399087f1031b277L,0xa67bb1dd192acf43L,
  64106. 0xc3957a6162fb8f4eL,0xd3ac962f8f632266L,0x000000000000006bL },
  64107. { 0x078cf75e873bbcb2L,0xde95d2a9aa5d4d4aL,0x94e8064d7a48befdL,
  64108. 0x168bbfc6763f2312L,0xf48b61bc4603519fL,0x997d31e07c65d872L,
  64109. 0xc404c7b818cffe80L,0x540b8bdd75fcbc1fL,0x00000000000001c4L } },
  64110. /* 16 << 154 */
  64111. { { 0x686698e89cafe97eL,0x3f2a465db6891510L,0xa99bcd91c9aad498L,
  64112. 0x0c7ae217a47c770bL,0x95067a8b6a5e6f06L,0x0b55da4025a11429L,
  64113. 0x5372b805997cabffL,0x1e8bf414963d233fL,0x000000000000002bL },
  64114. { 0x1343ebe6ab613409L,0x7aab5a01ac96cd26L,0x243758af112c0b65L,
  64115. 0xd276e441b236cad6L,0x88a7d43f557111daL,0xc6dace8ba0f46068L,
  64116. 0x866c31efcf4a5cebL,0x6dd991b89554f30cL,0x0000000000000066L } },
  64117. /* 17 << 154 */
  64118. { { 0x4d8b375c14bc49d9L,0x93b4385f18a01862L,0xc3b0ad5ee4090d89L,
  64119. 0x2038dbc2d3248ee8L,0x84c0d4bc2c487600L,0xc5ec52743ea53b08L,
  64120. 0x92d8a64f7d099e76L,0x26a6f8d1e6d580edL,0x00000000000000ecL },
  64121. { 0x105080aa3d7beff0L,0x854ce36ec85ce751L,0x94e0df2bbbe2d753L,
  64122. 0xdd3a67f7a54ec65dL,0x21d6f4c15968bba7L,0x5951642df707706fL,
  64123. 0xc5bd9cd33158e447L,0x566eae345c290325L,0x0000000000000042L } },
  64124. /* 18 << 154 */
  64125. { { 0x0a1212fdf6bf1120L,0x1bc14a398cc5a658L,0x351552bdc1b52efcL,
  64126. 0x0d19749245d55560L,0x425372c97793c57fL,0xf0c48415f5838d74L,
  64127. 0x4153e1917c64e071L,0xc43828e2373272eaL,0x00000000000001e7L },
  64128. { 0xba8932ba91dc2c19L,0xa5756a08a5163390L,0xf64a62cb65738648L,
  64129. 0x66c5c1a874a8bf79L,0x355f420f98ce1d80L,0x2de834b1f30008bbL,
  64130. 0x580f0664950681b0L,0x8630c1290033866aL,0x00000000000001deL } },
  64131. /* 19 << 154 */
  64132. { { 0xe77f6cc4e46e0754L,0x77af9150a883763fL,0xc5aad5130393ef51L,
  64133. 0x62ccd275526f9855L,0x83df1ac8abadaba5L,0xf6caa723741443caL,
  64134. 0xf43bbef6876c8f4bL,0x8c6e39220425ccd7L,0x00000000000001a6L },
  64135. { 0xc5cf64d1ac4879ccL,0x1b761a83ae4857efL,0x480792c183901056L,
  64136. 0xef90c8b6047b0328L,0xb86c8a422c523b1cL,0x6aa932a8a31dd46eL,
  64137. 0x64259ea3d3dea6ceL,0x092ba1c68d41d4d8L,0x00000000000000faL } },
  64138. /* 20 << 154 */
  64139. { { 0xb7c90bf85b923896L,0x42f96bafd3f08076L,0xddbd3b0b0bd90a84L,
  64140. 0x8adbbb43e00a7e7bL,0xd3205108b2059c91L,0xccb379b76223fd65L,
  64141. 0x2c1eb7e2a6f8571eL,0x13f3bc56d80ebb13L,0x0000000000000092L },
  64142. { 0x5e23bc738d30df11L,0xaab73a1f4aabdcd3L,0x4cd660823e764e18L,
  64143. 0x942328161d0c98c4L,0xd8b64c225b5048f0L,0xaf741f8ad2a17f6fL,
  64144. 0xc1540070cdb03f14L,0xa16e5e67a2476ee5L,0x00000000000000a7L } },
  64145. /* 21 << 154 */
  64146. { { 0x94c155b1feb3c7cfL,0x703b56a4cc26b74bL,0x7291810d1f436b9fL,
  64147. 0xe3ef9b82d28ad0adL,0xc6941fe32504f06bL,0x370e5a2eadb26060L,
  64148. 0x4328a40ec8e317ddL,0xc67fd42b0bfa2d08L,0x000000000000012dL },
  64149. { 0xb93e8547eb854e1aL,0xdadcb35a2b4d3b66L,0x1de5ea2d8ff90fd7L,
  64150. 0xcb5d75a2d722dc7fL,0x5c4192d10e3ec171L,0x2ba11f14ce7ed871L,
  64151. 0xc43e303f9840ca81L,0x34cd4fabb1da84e6L,0x00000000000001bdL } },
  64152. /* 22 << 154 */
  64153. { { 0x90e3c53ef55acde5L,0x910bc008184aa9b0L,0xa62f771bb71d8054L,
  64154. 0x4f6e1a5480ff577fL,0xdaee302fe079e754L,0xeba6f1187bcd7837L,
  64155. 0xec13761caa06a669L,0xd39dd3f3f5ea95fdL,0x00000000000001c9L },
  64156. { 0x049ae3a64b42938aL,0x8263e429b24a6867L,0xfb618fee9e9b8374L,
  64157. 0x77cd9ba6a9571903L,0x6c5a592dcd0c2186L,0x7539392cf94608faL,
  64158. 0xdb4b672140df175aL,0x7b74240b2438f55eL,0x000000000000009dL } },
  64159. /* 23 << 154 */
  64160. { { 0x7daf2c363805dd53L,0xedea2d49323f28d9L,0x6f8dce4163a8e4e3L,
  64161. 0xe5d47bb559423e7dL,0xdd4329e18b816db6L,0xcb6f85f22cffb9a4L,
  64162. 0x5b0ddadbae45f979L,0x6a78983747aea678L,0x0000000000000082L },
  64163. { 0x275090b481bcd3e9L,0xfade474e249fdc18L,0x2ab90ae1bdfb4666L,
  64164. 0xbfa10e3514787825L,0x8e5ed81ce23c2f2bL,0xacf48e50825ca78fL,
  64165. 0x46b832f9ef7e9e7aL,0xf3d4d7e9278268fcL,0x0000000000000162L } },
  64166. /* 24 << 154 */
  64167. { { 0xece31ecffe1d1b82L,0x368c5ac029036cfdL,0x217420afa13ff567L,
  64168. 0x1b29e5f077776b5bL,0xdd1a5dda98f42d23L,0xba05233bb6c34257L,
  64169. 0xaea7d3bd2d56e9b5L,0x3d5777e784e7205cL,0x00000000000001c4L },
  64170. { 0xf4dd56b5e7c6eb47L,0xc479b9d64a1b9d04L,0xfa1d38a48117a210L,
  64171. 0xdc603246dfb5a934L,0x9e8156abda0675ecL,0x6937ccce0ef78eabL,
  64172. 0x72dd487ad2e5cc67L,0xb735f780d372a668L,0x0000000000000049L } },
  64173. /* 25 << 154 */
  64174. { { 0xff5df7dd9f3f2988L,0xa20bc35e1be8119dL,0x244ccc83e9801d10L,
  64175. 0x5ab8e9f3c620ba2eL,0x7a1cb9e05237f9aaL,0x0e50887f61d0d851L,
  64176. 0x95f1d7727e0353c5L,0xfe7dedca9253110bL,0x00000000000001ebL },
  64177. { 0xa2337f586a64b9c2L,0xb9e4cb8e44e70c68L,0x0812cb6c5ecd48d8L,
  64178. 0xd9cf0c0e6d048efdL,0x5fc207222d2d3b1dL,0x3efd117c6b03a35fL,
  64179. 0xa42ea8a8cef040c3L,0x80c4e52b3199fa1bL,0x00000000000001c7L } },
  64180. /* 26 << 154 */
  64181. { { 0xfd5782606e9f3949L,0x94e36ca087ee9707L,0x919b401eb1a117e4L,
  64182. 0x2418b5ce109738b5L,0x0185bb8483a54440L,0x1d22a848d6945f4eL,
  64183. 0x17c275c3624fd9caL,0x81862ee627b15448L,0x0000000000000108L },
  64184. { 0x57cc2c959184dc02L,0xb31ae7d544011d47L,0xe076ac2d417b7eb1L,
  64185. 0xa5b2ac1baa4495ebL,0x14ca78cad984cb5fL,0x59005112daa7bbc6L,
  64186. 0xf45dc10071d06591L,0x681ef23be278b5c0L,0x00000000000001e3L } },
  64187. /* 27 << 154 */
  64188. { { 0x8f8240265a0a487dL,0xdbd1d7c23e8d3e90L,0x1a69874bd3c62608L,
  64189. 0x435c7884c6cb4268L,0x85b31d00655218b6L,0xcacf7eb498a67fc2L,
  64190. 0xd20215ddf7a56bd5L,0xc6950c8be60ce8e3L,0x00000000000001e7L },
  64191. { 0x1cba47452e984f46L,0xca242d3a2a298b6bL,0xa1d3653a98c71337L,
  64192. 0x5bc149263ad4bafbL,0x09f200a204dfe1ddL,0x78e00b4714fa42e9L,
  64193. 0x1f80dbadfc2c69b2L,0xfd84c0ea9cd01382L,0x0000000000000098L } },
  64194. /* 28 << 154 */
  64195. { { 0xc3b2adb729fffdeeL,0x154f4d7951fb8606L,0x56e497fe9d7f4b0cL,
  64196. 0xe5e69faa0df7fd94L,0x1891fe5d114fa3caL,0x4162f0e9045c3286L,
  64197. 0x98de02c4780253d6L,0x703080027947b60fL,0x000000000000019cL },
  64198. { 0xe77f7b12a9510bd2L,0xc663fbe72d32a857L,0x6538a301b9274d4fL,
  64199. 0xb2c191d0bb01302dL,0x567474f26366bbf5L,0x8446925cae1e52e9L,
  64200. 0x3ee00ea9209b55e8L,0x3d76982d2419e4bcL,0x0000000000000091L } },
  64201. /* 29 << 154 */
  64202. { { 0x6ce35fdc36bf03a9L,0x2cca3e4b19fd800dL,0x1c42c2ebeb7c3707L,
  64203. 0x345e0391fc298d33L,0x6f552d1aefea0fd9L,0xc22eadb8e73d461fL,
  64204. 0xe49110b96d4435f7L,0xf7a2fb8a81759c25L,0x00000000000001f6L },
  64205. { 0xc09df3a632d5a1d8L,0x423fb07a53b9696dL,0x9a5942112802e680L,
  64206. 0x59e615a3e5d1b962L,0xf418291d6976a9d9L,0x93addf8326ee6369L,
  64207. 0x376c918a7446e0d4L,0x73ff26b4530f3c52L,0x0000000000000179L } },
  64208. /* 30 << 154 */
  64209. { { 0x271550ac40465c23L,0x7a499e8dee0dd714L,0x6feba0dc2394b340L,
  64210. 0x666de55a6e293ce6L,0x3dcefd6d17e817f4L,0x337e774f93eedd97L,
  64211. 0xc9c103f37a86610eL,0x97ae91cfc0eb2c8bL,0x00000000000000d3L },
  64212. { 0xa7dfe71a65981a9aL,0x3d63534234407037L,0x05739745cfe533bcL,
  64213. 0xf5188158a1bfb967L,0x2d76a9c44e4702c5L,0x7e11dbe04bc7cf4dL,
  64214. 0xd6a6cac11e0faed1L,0x04ceafa1c20c5723L,0x000000000000006fL } },
  64215. /* 31 << 154 */
  64216. { { 0xad5aac564ea2ba2bL,0xad0a5b610b4933f3L,0x5aa51da928d19d01L,
  64217. 0x15a74ffe94ed89f4L,0xd23335608a870eb2L,0xc94daf2ed5e5a24eL,
  64218. 0xd98f616d567659edL,0x08f6a62c6c8eddd7L,0x00000000000001b1L },
  64219. { 0xab4fe43bf3295b7bL,0x5562384426f75385L,0xe9d70df0097f11c9L,
  64220. 0x7cf18143e23c34a2L,0x2a7b24fa136938d0L,0x74154841e678eea9L,
  64221. 0x0ec99b1920202480L,0x4d1aea7252e4b7d0L,0x000000000000005aL } },
  64222. /* 32 << 154 */
  64223. { { 0x08136cbf025189d4L,0xa1c389cbc1b25a05L,0xbecdade76e9ed11dL,
  64224. 0x6557006ba7f3f38aL,0x96d6c877bc852dbdL,0x3a0afe4bc53efd4fL,
  64225. 0xc7f58410febe4737L,0x86deba3b84e35e2fL,0x000000000000015bL },
  64226. { 0x96256db24dfa7da8L,0x379735573dccf202L,0x2e0b263e8fcc1274L,
  64227. 0x14870fe89ee7b82eL,0xcb8f9ba5425ca276L,0x683c748e7d876e79L,
  64228. 0x48e990d5de2f2cfeL,0x2ecc8f1f48547013L,0x000000000000018fL } },
  64229. /* 33 << 154 */
  64230. { { 0x5b7d4e5300df51d2L,0xd82ba908518c2d9bL,0x95121a5d8447eb0bL,
  64231. 0xc25d07a662755277L,0x51cbe7f5c19c32ceL,0xd038800e4c726273L,
  64232. 0x1e1b0e9125fbcfcfL,0x5cb2408eb5e8a4eeL,0x0000000000000122L },
  64233. { 0x940da58ede254894L,0x6fe04e02f5d5b5bbL,0xbe069bad692f537aL,
  64234. 0x6d24c50013873687L,0xd1cd8bd1089ad9bdL,0x07929deff8eff657L,
  64235. 0x8d4d97bab426304eL,0xefe85addf45dc5d2L,0x0000000000000014L } },
  64236. /* 34 << 154 */
  64237. { { 0xa5fc916ec715b5a2L,0x7e6dcd80c069c5c9L,0x94dc1dd10085e7b3L,
  64238. 0x81041f123e71623cL,0x29f931fd28807fafL,0xaa5f757aaa8003e0L,
  64239. 0x0f9865bb318fe406L,0x2f18ba42cbeb37eaL,0x00000000000001bfL },
  64240. { 0x8e9acc7259cb1f04L,0x3b9c7ff8d790d71aL,0x081ec7dcecbc1c2aL,
  64241. 0x2ee6eb196e63fe41L,0x95815ea0f4ad6fa0L,0x8bd5c1ad79cf7f1dL,
  64242. 0x3d73c9c85ae89337L,0x2eaa40409b1286a1L,0x00000000000001f3L } },
  64243. /* 35 << 154 */
  64244. { { 0xec9fa757fbefa7e8L,0xb41dfd88382bb7b7L,0xf9cd0f6314c0b89fL,
  64245. 0x94a8c09b56c7b584L,0x251fde74a9d131acL,0xfe3e706d8a47f3e6L,
  64246. 0xa2cc25d799bfb317L,0xb9cb1e4114c7fe92L,0x000000000000001dL },
  64247. { 0x9daf45e2768f397bL,0x1903422a83975ab8L,0x0e42b292a61b4715L,
  64248. 0x947c78bb1a1323d8L,0xbe36ec019d1699c0L,0x9ac1807792e2ce89L,
  64249. 0x8dccf873b118c12dL,0x879c7a2187638db3L,0x00000000000000bcL } },
  64250. /* 36 << 154 */
  64251. { { 0x15dba0d81dbeec0aL,0x6a1671e23145554fL,0x6f59000813588c31L,
  64252. 0x404b6424783bb97dL,0x30502b92cc7922feL,0xa1bd25ce1517a238L,
  64253. 0xeb81e9dd5fbc51a5L,0xea919df3bdc3b1f2L,0x000000000000009dL },
  64254. { 0x70802002a4aa5953L,0xb908e35d23fbdf34L,0xb47ddc1ad971a142L,
  64255. 0xe4f88a184c6ebd7dL,0xb2f7177f3065ed39L,0xd7b8cc98162b61aaL,
  64256. 0x8472dbd5774c6ad4L,0x8d1dfea98f87d2d0L,0x000000000000018aL } },
  64257. /* 37 << 154 */
  64258. { { 0x5caf9816316399caL,0x29ecd26efcaa7fe5L,0x07f4e09b03d18979L,
  64259. 0x00e88b2581b43697L,0xb04d6d03bd0408bfL,0xd3e4a0d3cf0b6793L,
  64260. 0xd98262dbce0e8490L,0x3ed76b1601bed96eL,0x000000000000015aL },
  64261. { 0xcbfff64a7d070eadL,0xfd8db6ed1776da0eL,0xca03a6a2b1279cecL,
  64262. 0x16f6ec788b989efdL,0x17f581a70dabb5e0L,0x975c57adf8b5a413L,
  64263. 0x34bd7827ed1e3568L,0x7460f3374292fb3fL,0x0000000000000193L } },
  64264. /* 38 << 154 */
  64265. { { 0x754f1e7fd6633590L,0xb281de767862f091L,0x9135b836c3494e22L,
  64266. 0x4cb7a1bd84da9104L,0x20bf9b88ed7088a0L,0xf7e2c4378ced80b5L,
  64267. 0xfafdaef6038f3ae6L,0xd948d168e786659fL,0x00000000000000ddL },
  64268. { 0xc84110b66115d5e3L,0xf7cb7190a7d744e1L,0x2542a0d478a699f4L,
  64269. 0xf0ae20cd574dd390L,0x4ce38ec5f120b181L,0x3763208a49ac50eaL,
  64270. 0x24a93ddd6df7ab1eL,0xd9ae90ec2e3c1f8aL,0x000000000000018fL } },
  64271. /* 39 << 154 */
  64272. { { 0xc6069b8567f9df8fL,0xf9f56d614436dfacL,0xa3926590bf7359e6L,
  64273. 0xd22bc2568d84397aL,0xdbf0455ce61706d0L,0xd01ed734b7bd8dafL,
  64274. 0x6dd4ffa085c07accL,0x474802574f3c459fL,0x0000000000000198L },
  64275. { 0x5cc9670110bf26f0L,0xe4166acc4f70a85aL,0x73219eb9cb8f0809L,
  64276. 0xd9798096679a93cdL,0x6737a07257df9ffcL,0x1c897e3a1e65b481L,
  64277. 0x87fb6a8b73063acbL,0x28140113b7aded18L,0x000000000000017fL } },
  64278. /* 40 << 154 */
  64279. { { 0xadcd31054115d224L,0x1fdacdebb7fed1f1L,0x878fcb459e5a2448L,
  64280. 0xc3910eabf7e8596aL,0x5fca4f0e37f267f6L,0xd10d0aa06e9fb79fL,
  64281. 0x589f94624b12a182L,0x2864c5acfb879db8L,0x00000000000001faL },
  64282. { 0x6c024c2c07e34963L,0x49581cb82de2a43dL,0x4cdcc98e29c06b7fL,
  64283. 0x338a9c59b976f565L,0x38540bc223c8ff24L,0x53f3c9b98bc61d4aL,
  64284. 0x3eaa8166e3913cd4L,0x4620fe57455e4018L,0x00000000000000b9L } },
  64285. /* 41 << 154 */
  64286. { { 0x3d88a754db29e8a3L,0x7bb8f52c14527b19L,0x2d3bb7d2dbd788d1L,
  64287. 0x49dc14bd036cfe26L,0x99471968e3c4e712L,0x0ac8222f664d6f40L,
  64288. 0xd76f5194480b3215L,0xc9359ce9711701abL,0x00000000000001e9L },
  64289. { 0x159c8f1b440f4fe5L,0x56a3531e0b66c225L,0x132eab73408ea71fL,
  64290. 0x7ca9883f8ce9f301L,0xa709285bc3646318L,0x7d27e063cbe3e36dL,
  64291. 0x751cfaef4d8cd738L,0x0efabf55a2b6ffd2L,0x000000000000013cL } },
  64292. /* 42 << 154 */
  64293. { { 0x7a9706beff928d4eL,0xbb8726a8faba89c6L,0x39fe9f9bcfa998b9L,
  64294. 0xd62320f745c97a8dL,0x9742ef6f536968ebL,0x2cd382d2901e7715L,
  64295. 0x1439fc59a576e87dL,0xfa71d3e06310658eL,0x00000000000000c7L },
  64296. { 0x9b0cf9a2d3308f7dL,0x8c7587624856e971L,0x58b4f4da34174e29L,
  64297. 0xa8406c3fda8aadc3L,0xc13d8977c487e6bdL,0x45e5cd3baf56ece9L,
  64298. 0x243c3a5ffe52108fL,0x52d1472fea829c13L,0x00000000000001dcL } },
  64299. /* 43 << 154 */
  64300. { { 0x8bb77dc36083c21cL,0x77acd9f15ed5b28cL,0x45d3bd9415b1ecbeL,
  64301. 0x3801687abc78b16aL,0x65a8b24dc6a5dc14L,0x5c1f39f925ba9696L,
  64302. 0x094d5000498bf2fdL,0x5dc5f51d8d58cbc4L,0x00000000000000a4L },
  64303. { 0x260fd308925ee9eeL,0x19449853450ade34L,0x8950cacc6228bb71L,
  64304. 0x04853a651585b4e1L,0x10cca9b124de0ad4L,0xde491b7b3294f352L,
  64305. 0x56f35ecb05bf7690L,0x1a71fd8811eab2d9L,0x0000000000000123L } },
  64306. /* 44 << 154 */
  64307. { { 0x22d05a079995b39fL,0x95d85f0e97572e8bL,0xcd0262424cb31201L,
  64308. 0x15c10195a9661cffL,0x7366e9943d4d42b5L,0x3d89205fd08b2304L,
  64309. 0x4f08bfe1c72f3319L,0xf2bb6fef51da0362L,0x000000000000000cL },
  64310. { 0x61689ed6daa8789cL,0x1342f413c80ebe32L,0x10e3c8bc6cf15c5dL,
  64311. 0xb59a6f209e380e00L,0x6faf882b16a0a01aL,0x5b43ff2c96deb592L,
  64312. 0x61ffa81c22cda20aL,0x825e5e4545d1497cL,0x0000000000000070L } },
  64313. /* 45 << 154 */
  64314. { { 0xf3a2aa2ef62a271dL,0x608d878cdf46740aL,0x2ebfec653fb8ed79L,
  64315. 0x085d812e2eb1d516L,0x739c07e661ebd520L,0x085705a0bd9b19a6L,
  64316. 0x6589012abf32e3aeL,0x87354918e8e0d4a7L,0x00000000000000f6L },
  64317. { 0x2ae316a69560d282L,0xff6571977fb5311aL,0x2e317d5bfd7b740eL,
  64318. 0x392cd22956bb7d02L,0x9a84fd4ad462ed84L,0x381b59c019b2f83eL,
  64319. 0x230a68ca47a6c3e2L,0xc9372bc4660fbed8L,0x00000000000001faL } },
  64320. /* 46 << 154 */
  64321. { { 0x610b5c299b82e4dbL,0xd237f09a0bdec03fL,0x8509f5a57eab51f4L,
  64322. 0x418b77d8c604baebL,0x02830b0ff0b4e07fL,0x4af187f4a4d4df6fL,
  64323. 0x00483aa9e0bb134bL,0x9b0b6e7722357f23L,0x0000000000000120L },
  64324. { 0xcb09d589a259bfb1L,0xa708770853774d43L,0xbab0b5d04504b5d6L,
  64325. 0xc128fefd23ae1fc3L,0x84a99019f0cf68fbL,0x3bbf2bd5b1656aaeL,
  64326. 0x36294624eda54a94L,0x0c6df507d4e9b03dL,0x0000000000000068L } },
  64327. /* 47 << 154 */
  64328. { { 0xb3210cb2d8b230d3L,0x1e173d0445f2b4dfL,0x777f7e921e51c3c1L,
  64329. 0x1f09c83dca2d24a9L,0x18f6110d7b0ed41bL,0xfc47b77f1741f679L,
  64330. 0xed0c01d530bbb573L,0x79d732666b1edf8dL,0x00000000000000ccL },
  64331. { 0xd80eca007d182a43L,0x8d7a50665674063cL,0x6f3a06ba012fb6faL,
  64332. 0xe06f683a10c1f5c8L,0x305692702fb5cb0bL,0x009de930236d12d8L,
  64333. 0x1b3bc0356438e8fbL,0xb4c91501af74c6d3L,0x000000000000003bL } },
  64334. /* 48 << 154 */
  64335. { { 0x0724e185fe85076bL,0xbda15c151e532717L,0x6005728065e7c149L,
  64336. 0x1a0cafe8158e6817L,0xee796ad900baa1ddL,0x8ff14a074d3ca73aL,
  64337. 0xf153c867a3604f8bL,0xe07458b5c4ca1be8L,0x00000000000001c5L },
  64338. { 0xb8c4f3ad8f7dc861L,0x98ff4d7f6c38d10dL,0xda77b9018c10e7a5L,
  64339. 0x448fbc787d69625bL,0x91ff7124ed5dcb7bL,0xaf0fb28be310d65cL,
  64340. 0xacf3cfc0c388141aL,0x2d3d003454bbb99cL,0x0000000000000097L } },
  64341. /* 49 << 154 */
  64342. { { 0x81bffa6ca966e8acL,0x048dfaa314845f1dL,0xb38f181e803a2355L,
  64343. 0x0f854fe03a91ad7aL,0xb523f3665ce6a9d7L,0xf40cf03a828f212dL,
  64344. 0x128550efe3b4d93eL,0x16cb5eee53d13993L,0x000000000000011eL },
  64345. { 0xde85cde7c9e55138L,0xedc613495183130aL,0xaa4bac70d709a5b4L,
  64346. 0x0e69e8bd50ab30c0L,0xef2c35b69738eaddL,0x486ac544ed00f833L,
  64347. 0xbeaf94aad4708e9cL,0x1be9775c9a0bfb65L,0x0000000000000111L } },
  64348. /* 50 << 154 */
  64349. { { 0x111041700f944affL,0xe0fb9dfafadc4f56L,0x86a7245c1411b66cL,
  64350. 0x25afc20163eb7a89L,0x3400be4c6404ec18L,0x62d34a7e53c67d6cL,
  64351. 0x4feaee310655849bL,0xd0343df08ad7770cL,0x000000000000000cL },
  64352. { 0x1a2a4a20c81c959eL,0x9386848e8c2194e7L,0xce7c378aca4024edL,
  64353. 0xd336fb923710a3aaL,0xfea376078da68818L,0x885e98fda10bd29aL,
  64354. 0x7fc72000f5d55becL,0x5f1d796a7f14dad7L,0x00000000000001c4L } },
  64355. /* 51 << 154 */
  64356. { { 0x808147c7c32eac97L,0xb959c61d91e84536L,0x9ce837b46b7f230bL,
  64357. 0x62b7aebfa19a78cfL,0xfdbf0af641120b6dL,0x30b5525b18a1bdd4L,
  64358. 0xfe54bd619fc0f391L,0x0f19f880e152702aL,0x000000000000000aL },
  64359. { 0xfea6fa9a19cd0ff3L,0x4f3c3272b86342a0L,0xcb3db4f982cd5ce9L,
  64360. 0x626a3ebd70dd4903L,0x3103519773bd843fL,0xddcb8135885ec254L,
  64361. 0x19e39cdd277200ffL,0xace2b791def0d1b4L,0x0000000000000098L } },
  64362. /* 52 << 154 */
  64363. { { 0x9429698b23371e14L,0xd9d9270c3fdb1b92L,0xa4a76289dd4ba2a1L,
  64364. 0xd9dd43d69ad4dc60L,0xba76236063dc6801L,0x210be4e3b8a45231L,
  64365. 0xaaa24379f764e727L,0x7b1a75a82b1fed01L,0x000000000000006dL },
  64366. { 0x89e40d215f621487L,0x70c38498a2f303d5L,0xa88ce1890faffebdL,
  64367. 0x0cc0eae6735ebceeL,0x2b755a3d8518c06bL,0xf3cd31dc62f92c33L,
  64368. 0x6f7fe733c7562c48L,0x749f7a1c83b00376L,0x00000000000001e2L } },
  64369. /* 53 << 154 */
  64370. { { 0x2f1ce070f5ce45c0L,0x15740dd943485e36L,0x2d64f265dda2a33fL,
  64371. 0x121759ed77b450e6L,0x4948df7e9b3e74e3L,0xcbe885b4fcd25d35L,
  64372. 0xafbf90f2e3436d1aL,0x5e26435a3deb2819L,0x000000000000016aL },
  64373. { 0xbcaae7b82a463668L,0x57186a775ac86d9eL,0xc0d15d503d5f4223L,
  64374. 0x4a2f6842c4fcf264L,0x79991f8c301187fdL,0xc699b4b77352976fL,
  64375. 0x51c47ee14838204eL,0x716e444dc03bb06cL,0x0000000000000151L } },
  64376. /* 54 << 154 */
  64377. { { 0x8d3fcb66a7684cb1L,0xa4bb8ee051970634L,0x29ea9efdb52f9d9eL,
  64378. 0x63fef7659018974fL,0xe31f478fb752b634L,0xdcc67b7730b8f98fL,
  64379. 0xafff9899b4b62d24L,0x7d4a60ee4efb0c00L,0x000000000000005dL },
  64380. { 0x17d0f2ffa2bb6822L,0x3d74b52ab3b2e1d7L,0xf7e7150d5ba4a476L,
  64381. 0x712e26f18771c73eL,0x22f9054ff322f80dL,0x9863136b3c085bcfL,
  64382. 0x317a39fcc7e4dc86L,0x96a83008be7f0929L,0x0000000000000092L } },
  64383. /* 55 << 154 */
  64384. { { 0xe0908d5214cb295cL,0xf74df339f363ef28L,0x56eab1abdba8fa26L,
  64385. 0x33f43f008ecabae3L,0x5d1acbf12425e382L,0x480bf576ee67518fL,
  64386. 0xd6644dd469d388d3L,0xb3c512501e64d1a1L,0x0000000000000069L },
  64387. { 0xcb3010b42e3bfab8L,0xdb788efcba2e0da3L,0x4bd5ad9cf9d0d7c4L,
  64388. 0xd363a5471214e14eL,0x108980023a09dbd2L,0xb0745bedf03a2af2L,
  64389. 0x5d56b6aefacfc072L,0x37ac6ad4e2873b41L,0x00000000000000b1L } },
  64390. /* 56 << 154 */
  64391. { { 0xcf04e87527a5499fL,0xea912dfb28f3fc97L,0x4a9e4e41d59efb52L,
  64392. 0x9ccb0b83f8f373c7L,0x684d2d75ba1b61ecL,0x15449a0254d58701L,
  64393. 0xee02c9456a4e86aeL,0x5887a0882069e1dcL,0x000000000000006aL },
  64394. { 0xcf7bfc8c922649ceL,0xb4fff12e522a5024L,0x262bf90df6d0066eL,
  64395. 0x97ae80928e0b0afeL,0x7191c6fe18507cbcL,0x54e973e1b2ae3ee2L,
  64396. 0x41b734bc7bea70ecL,0x38975ba3b3f6b89bL,0x0000000000000138L } },
  64397. /* 57 << 154 */
  64398. { { 0x0cc156bd6c72b806L,0xa9d9c17b0dd25daeL,0x3b6c0857b6738119L,
  64399. 0xb95b735d3476c04bL,0x737d1ec2dc86969eL,0xb36e0bc8c1cb47bcL,
  64400. 0x83f15727ea463cd7L,0xd7484fb02e58dce3L,0x0000000000000060L },
  64401. { 0x85416de81bc14766L,0xae6a0b47fadb3be2L,0x496b92ab303d0900L,
  64402. 0x3fa4d158292db573L,0xf501ec245e3fb9faL,0xa317ae11bf021888L,
  64403. 0xfef0d5ec2271c572L,0x7e69594e90d2ebafL,0x0000000000000162L } },
  64404. /* 58 << 154 */
  64405. { { 0x19f57f08b5d2523cL,0x197abf7ece1690c1L,0x9fdf174c768a6dafL,
  64406. 0xb1a50c4b7f45acc9L,0xcac4790de77ff44cL,0xc4985159642f4c0bL,
  64407. 0xdfc5151faf23c14cL,0x61f453cb9b5fb8d8L,0x00000000000000abL },
  64408. { 0x61f3c9ea1432808eL,0x4c3b91d68da6cd90L,0xa97b9dd60b47817dL,
  64409. 0xe51ba786ae34dcaaL,0x6e1ab1b12bfe1245L,0xcf8435b9aa609192L,
  64410. 0xdf7a582cf97cfe54L,0xf9871f1f80fca392L,0x000000000000014dL } },
  64411. /* 59 << 154 */
  64412. { { 0xbd5fce303e85ba4cL,0x12152109b1d4ff28L,0xa94551982256991dL,
  64413. 0xe54b2276191dc793L,0x7aba8d3c1232ad0dL,0x95b7d7023e493e3fL,
  64414. 0x90c17102574f412aL,0xab5d8dabf1245c79L,0x0000000000000119L },
  64415. { 0xd64211426352b215L,0xbea2f2d73ca86b5eL,0x4c3b97bbedf46484L,
  64416. 0x1bd94ff68332db35L,0xb8729f9a7dcd9899L,0x461df4172e1c9299L,
  64417. 0xbfbcdb18295c8819L,0x1613563c551a6832L,0x000000000000017fL } },
  64418. /* 60 << 154 */
  64419. { { 0x704d466059d5d8e0L,0xa4a222b252d7ca1eL,0xa45b5ce29c26a86eL,
  64420. 0xc9668e73dfb9fb62L,0x13efde0ad58183ffL,0xdc752a59850dedb0L,
  64421. 0x0314cbc5ebf8c27dL,0x279680f3d1ab5f41L,0x0000000000000118L },
  64422. { 0x3b8a1d583184e940L,0x8cc52f17cd1fa6c1L,0x5118b9093f701026L,
  64423. 0xe04d31daac34a4afL,0xf3a66f73282febacL,0x05018340e8d029f8L,
  64424. 0x1a8bd0002058c971L,0x61198c7e7e962723L,0x00000000000000d9L } },
  64425. /* 61 << 154 */
  64426. { { 0xa86cc3e807f97c2bL,0x8c9e8034112ae91dL,0x1cfc242420bcc2f3L,
  64427. 0xbb04d40865dcf7adL,0x8b7bd0b5e4652017L,0x080b6a0df49cec36L,
  64428. 0x94d0ab4360e82729L,0x97ec8ea8a301c00dL,0x0000000000000012L },
  64429. { 0x9eda2fd27ed16beeL,0xbfef5c8acc95961fL,0x877ec19bae691773L,
  64430. 0x2aad9eff76522fecL,0x4daeb48170b656f0L,0xc4fb1cd626197e6fL,
  64431. 0xd8bab20ec0e741b5L,0x4b5d6d8e16332fd1L,0x0000000000000044L } },
  64432. /* 62 << 154 */
  64433. { { 0x67d03c6a85f8f5b5L,0xdcb9caba90e96ceaL,0xd23feeb7f3811dc4L,
  64434. 0x8c54b7237276f1b4L,0xd09156767d4bc3c9L,0xf48a98c87a1d17a8L,
  64435. 0xbe959d5b76b265b7L,0x6fe4777d4abdcaa0L,0x00000000000001f5L },
  64436. { 0x2807c04517c8deaeL,0xd1bbf745674d701eL,0xa8e5a7bf272c6e74L,
  64437. 0x1901e0947c7c55cdL,0x2e1316c029711934L,0x05f68290f804ee8dL,
  64438. 0xd3a3cb0a7511e346L,0xd3a640c3c5565874L,0x000000000000000dL } },
  64439. /* 63 << 154 */
  64440. { { 0x088fccf4ea02385fL,0xdec0885d3c2e714bL,0x02d6b86fad82e553L,
  64441. 0x8712c2bf6c241bbcL,0xf59427d81f33a407L,0x172dd5359fa5bde4L,
  64442. 0x019b1451380694e5L,0x55b2c33bf9c76789L,0x0000000000000135L },
  64443. { 0xf73d19986397fbd3L,0xfb91732482721b52L,0xd42957f6aee6a644L,
  64444. 0x9d7857f260cbb57cL,0x6dc17afa5df4783aL,0x875dc5e0e0382dd0L,
  64445. 0x458c445b02d1298bL,0x8a1562fb5183e144L,0x00000000000000adL } },
  64446. /* 64 << 154 */
  64447. { { 0x11446efe378cab85L,0x4c3c68cfbc48bf6dL,0x5e51466164c19bafL,
  64448. 0xc0f00735d5cbb135L,0x5d4844a7a693b1a9L,0x517a48719579fdafL,
  64449. 0x5ead064b532c1e6eL,0x60207c2d4135ecb1L,0x0000000000000172L },
  64450. { 0x4b033a37843dc902L,0xb2d3664cc27a9863L,0xf4ebdc3518280e54L,
  64451. 0xac7789a6ae02b757L,0x50084ba410dd96f8L,0xcc3459371f5f6349L,
  64452. 0x5f65aca8fdee6f84L,0x4aac5f5902d841cfL,0x00000000000001b9L } },
  64453. /* 0 << 161 */
  64454. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  64455. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  64456. /* 1 << 161 */
  64457. { { 0x7c44096f532856caL,0xf054ac944d701f46L,0x1bf992e78de81577L,
  64458. 0x871d2df2a90a4d2eL,0x963357a5775cabe3L,0x2e92d83dbae3ac5dL,
  64459. 0xc39e645c415be4dbL,0xbcca60e29781b22fL,0x00000000000001c9L },
  64460. { 0x638cf76cfc5374edL,0xffbfbc7a24278420L,0xde577d69e7668bc6L,
  64461. 0x88444fdebab7b568L,0x4cb8237b59d220a6L,0x02186c1c25b582ebL,
  64462. 0xe4a04cb19b639f32L,0xd12b0e644590e20dL,0x00000000000000abL } },
  64463. /* 2 << 161 */
  64464. { { 0xdd0f09b1bb55f47eL,0xfacbdef0be55c9d6L,0x8b8b1a9cbb62c5eeL,
  64465. 0x617ff446eb8f0bbdL,0x24176f925c1efe94L,0xf27ae452962f4019L,
  64466. 0x3b812a15220fc04dL,0xb17b1b9bcc92239dL,0x000000000000005cL },
  64467. { 0x9200f2e48a465257L,0xc8ca2a1cfbb69960L,0x5410ef875a8ff2aaL,
  64468. 0x87bc97b0e11b6896L,0x1d3a496952263f49L,0x2ed88b0bcca15d27L,
  64469. 0x90ab34c1765c9300L,0x719d9bc7d2630404L,0x0000000000000010L } },
  64470. /* 3 << 161 */
  64471. { { 0x6366cc838d9e9c1eL,0x6da8b24c7cf6ea2bL,0xcf34ac0834a0c6ddL,
  64472. 0x957954dde3a1bea6L,0x2ea0ef68f4060336L,0xe61893a5a84fdf5dL,
  64473. 0x03cacab47bf522c5L,0x823249dd0dbf1790L,0x0000000000000145L },
  64474. { 0x2ea0344dab3e90d0L,0x5c70cc712bcccc9cL,0x5eec27550063e840L,
  64475. 0x3983cb1bbe50d3a5L,0x462b3dc27b09ff44L,0xf779391edd6b34bbL,
  64476. 0x6c00d9b8bbf36f70L,0x9e0eb0d1f82ee371L,0x0000000000000080L } },
  64477. /* 4 << 161 */
  64478. { { 0x41b4d05bd15e752dL,0xce20b1f846e78fafL,0xb529cc0108d808b5L,
  64479. 0xd934f10f2210cf60L,0x9f2e7e1be41eca93L,0xc09da7a94d82d15dL,
  64480. 0x45a84216a1ed7860L,0x9f6fa43de6be684eL,0x0000000000000109L },
  64481. { 0x592bd464ecf53a79L,0x9dac1bb8349754edL,0x79bbe62284339a7dL,
  64482. 0x29c3d4aaf9f4fa5aL,0x4788cda816dc4698L,0xf94ea4495c3060efL,
  64483. 0xc5f4191dcb3c2b37L,0xeb720d23ff69861aL,0x0000000000000026L } },
  64484. /* 5 << 161 */
  64485. { { 0xd2285ad12caa3808L,0xb871463efbc2278eL,0x361fcadec889c9b8L,
  64486. 0xf261c688541e9cc3L,0x2cdf861c7a27b983L,0xc97af02cacc87384L,
  64487. 0x7a80f6087638d824L,0x79852d0b79663aabL,0x00000000000001e1L },
  64488. { 0x9a2b626f98893ca3L,0x31a7d784d1e24597L,0xd230aba2129eedbdL,
  64489. 0x1d339471d270be5eL,0x826c3dd781950b28L,0xfa1b74c66b0b44f4L,
  64490. 0x5d2131e993fdbbceL,0x78176ad853eabdffL,0x0000000000000002L } },
  64491. /* 6 << 161 */
  64492. { { 0x52df1de37f4c74e7L,0xa1554957c7c2a420L,0x2bb5b1a7a850b73bL,
  64493. 0xd0b58abf05174618L,0x09c054687bb9dc77L,0x50cca4a64e6b8e44L,
  64494. 0x53298c54a61636f7L,0xf0325227718f824cL,0x00000000000000daL },
  64495. { 0x10f1de0bbf549e72L,0x7153f47caccd5cd7L,0x9c171b49425abf63L,
  64496. 0x9902c984eac3d535L,0x9853a7df0a098af6L,0x7f88102cae0627b1L,
  64497. 0x318ec476f6bd8690L,0xaca786dae42b065eL,0x0000000000000069L } },
  64498. /* 7 << 161 */
  64499. { { 0x75eb8d356bc9662aL,0xfdd82d5f0d8bcb50L,0xd8caaf4b9d8ad82fL,
  64500. 0xffb9e309d0642731L,0xb514ec984da42a1eL,0x9a765c8a7d4421ffL,
  64501. 0x0ad7d2be7e9ae93dL,0xab4d7910c97fd28bL,0x0000000000000130L },
  64502. { 0x4f08b836fb2b614dL,0x259737dca73051d0L,0xea3c3bc8c30af31aL,
  64503. 0x5cee4c934a11e8faL,0x4be3e8e3b1fed7ecL,0x0b313e360052c235L,
  64504. 0xd760058f5f082363L,0xc6e58d205fcae886L,0x000000000000000dL } },
  64505. /* 8 << 161 */
  64506. { { 0x7b9409bb42df612fL,0x32f47dd21bc66a3fL,0x213f80e023f375feL,
  64507. 0xaa71c57f06aa6c21L,0x5bf7b3a784298947L,0x001c2c965b608fa3L,
  64508. 0x417619c6173c7f4fL,0xbcff66acd4a20677L,0x00000000000000b3L },
  64509. { 0x81b9b5640603bc79L,0x8f39155ef875e591L,0xf6a508fddfd32c0dL,
  64510. 0x7eace6f96b0dac71L,0xe40163d89e4c1eb3L,0x265226c5ff10fa6dL,
  64511. 0x1e1af5cbda76d272L,0x954bc056a10dc788L,0x000000000000012cL } },
  64512. /* 9 << 161 */
  64513. { { 0xbca524e7fadb3e3dL,0x0d2906d5783f176cL,0xd5e30887e94c1a4cL,
  64514. 0x3f2d19b69790cfbfL,0xe0965575d49af522L,0x3830ed4d1881a1acL,
  64515. 0x207dbc8554f43059L,0xf0f178b3973ac147L,0x000000000000003bL },
  64516. { 0x7f0e0020693db310L,0x4914754404980bdaL,0x2d9a8176cc4521bfL,
  64517. 0x3893e7acc5e2d29fL,0xa99dd4d11afa9ad3L,0x8a6ce7fab2e0af41L,
  64518. 0x868c12a1a5188ad3L,0xd1138b17b8debefeL,0x00000000000000feL } },
  64519. /* 10 << 161 */
  64520. { { 0x709016a77aa3bb92L,0xad85ec5a6310f638L,0x37806a891d746ab2L,
  64521. 0xb878e2df80c6026bL,0x2d1bd5cb715e5095L,0xfad149bdcf029798L,
  64522. 0x252f826209fa7a60L,0x48c7e31ca0e64ce2L,0x0000000000000124L },
  64523. { 0xed6295952077c9ebL,0x86ccb5d1e1191074L,0x456067b16aabffa9L,
  64524. 0x55deb4fa5921dfc9L,0x4d9bfe498fec9c3fL,0x09a4cb5ce52a0452L,
  64525. 0xa590232e9c48af89L,0x593663f633ac7451L,0x0000000000000032L } },
  64526. /* 11 << 161 */
  64527. { { 0xe7e659560b715201L,0xc3db8e9fdce536b3L,0x0f53382987bf4fd8L,
  64528. 0x4630cd5699c4668aL,0x377120aca98b1b34L,0x878344bbd54a8a45L,
  64529. 0x788fbd286c45b8aaL,0x473be93182f3fbeeL,0x0000000000000097L },
  64530. { 0x3fc47f9a536fee38L,0x69bea946488b377eL,0x3d75c35835c67175L,
  64531. 0x7fd136ea89085cb2L,0xda6e1ab485bfe292L,0x703a854684848f1eL,
  64532. 0x37f0e804ac8000daL,0x53b3ed02c83fb8feL,0x00000000000000b6L } },
  64533. /* 12 << 161 */
  64534. { { 0x76f6bd2345f1f8edL,0x01af1d612c1af63bL,0xd83a40982bd9cdc2L,
  64535. 0x12ec79ad79d14104L,0x999b06da0b7f13d7L,0x111b8eeeecd188a9L,
  64536. 0x920f2064138b5729L,0x290b5f2475b98e34L,0x00000000000000c0L },
  64537. { 0x38a91bb8b98cfd7fL,0x0cc2d4ceb574c3f7L,0x49a05d4b8ff024c4L,
  64538. 0xff054d9491b0d00bL,0xbed247dd100eb8aaL,0xafdb1747e9a46615L,
  64539. 0xf801a52fc03cffdcL,0x415f01eeb9d027ceL,0x00000000000001aaL } },
  64540. /* 13 << 161 */
  64541. { { 0x15b2ae5549f234c7L,0x58635013b0beac59L,0x94c23cba4739fae8L,
  64542. 0x840ab93eacef3a53L,0x3bc47650dcccd34eL,0xaac77901e7df4d3bL,
  64543. 0x440cfe01370e4438L,0xa53a1a7b8e5923e1L,0x0000000000000006L },
  64544. { 0xa8e48ebfaf875672L,0xb6d62f9f3221cb04L,0x521ca35fb9d685cfL,
  64545. 0xba27652d100ed01aL,0x652fe08c46958398L,0x32b370924443c383L,
  64546. 0xac43dc6de676ea7fL,0xad362a924bab6228L,0x000000000000014dL } },
  64547. /* 14 << 161 */
  64548. { { 0x018820c2d2f48f4fL,0xc0dd7d24686b3002L,0x8ff02f40a5f47131L,
  64549. 0xb84bad1b1995b352L,0xc640b6049af32820L,0x87268cb03dd15622L,
  64550. 0xfea64350ffd221ccL,0xc7f6e79257deea86L,0x000000000000012aL },
  64551. { 0x482e7151037030deL,0xf781946d9cfd8f64L,0xd4d751a1037bbb78L,
  64552. 0x3197bde1031ed4d6L,0xd9bbfeacd6ba8cd4L,0x5688d4fdc0fbe2e3L,
  64553. 0x76dcd7e0f260abefL,0x019122d294017174L,0x00000000000001f7L } },
  64554. /* 15 << 161 */
  64555. { { 0xf22306192420c83dL,0xcb52f3d51a6ad672L,0x6f23327787188da8L,
  64556. 0xc9978c3e37b3ba7eL,0x043d79269986ba91L,0x71312bf8b69e4f23L,
  64557. 0xe868d488669cebefL,0x358d1c613b9ea975L,0x0000000000000000L },
  64558. { 0xa1f3d9c7d2435583L,0xb30834558f46d4e8L,0xf857db3c847df616L,
  64559. 0xc69106f36e4969efL,0xff89cb872a3e3af0L,0xa28a9399bae1ad4cL,
  64560. 0xae59df21c67b70e7L,0x10e6c606fe60fba4L,0x000000000000003bL } },
  64561. /* 16 << 161 */
  64562. { { 0xdba8e40547f7153bL,0x73071fd967dbfebfL,0x35881eec4441a2ffL,
  64563. 0x50623c475b31b917L,0x8f09dbf6c2bad8b3L,0xbf1f09cd90bb890dL,
  64564. 0xab770cd77f034fdcL,0x45b959236b7d98b1L,0x0000000000000029L },
  64565. { 0xd2ef1e00f599c343L,0x1289bdb17024d641L,0xed8e7886f4e36687L,
  64566. 0x4ad57b343696269cL,0x69bd1b6e70bf3629L,0x680f08622bab0453L,
  64567. 0x1865f02a68e4b123L,0x7bc5dbf3e8d8ab75L,0x0000000000000150L } },
  64568. /* 17 << 161 */
  64569. { { 0x6726ccbc3e2aff94L,0x5484b226c90c8dccL,0x2a2bdbc53a2527a3L,
  64570. 0x0bc5ef43d04f49d3L,0x3e245050b41ceddeL,0x89eb42f3066f3911L,
  64571. 0xd5a654cff6abf8ccL,0x667c82e307a3812dL,0x000000000000009fL },
  64572. { 0x1263649921a22440L,0xe811715df9b6b318L,0x9b6531ad5cd6faceL,
  64573. 0xcc9494fa99de1630L,0x515021752dc29591L,0x65b72bd29d42f5bcL,
  64574. 0xeb938f6b2e72ce01L,0x9f28e413b40a61c9L,0x00000000000001bcL } },
  64575. /* 18 << 161 */
  64576. { { 0xa7b6d19ac91805e9L,0x615699eb501c2667L,0x48e2afa5a34bc77eL,
  64577. 0x3481417aa5c5f041L,0x2919a3596c1e6286L,0x3d1dd1d074db3545L,
  64578. 0x342a15f49e76b201L,0x82b5db095e08f638L,0x0000000000000105L },
  64579. { 0xbcc640c0ad8c1f5eL,0x2251bb88dd8a841dL,0x5f210ad6a5948f36L,
  64580. 0x28d15c5f82e9e673L,0xbe1d9e7e6a1b484cL,0xd40a0934622ce1afL,
  64581. 0x1b7d637fbcb6d740L,0xa76f02210e1a2598L,0x0000000000000174L } },
  64582. /* 19 << 161 */
  64583. { { 0xb896a3f2d350250dL,0xf294278d7ee9ea71L,0xc9c8283e6249854eL,
  64584. 0xc21eab81bc99cd28L,0x73b8e2c38f4be65aL,0x8244fedf69c189ebL,
  64585. 0xce75ac12d0cdf781L,0xf323ab63fe1faaacL,0x000000000000004aL },
  64586. { 0x8860fa20e9ce92e6L,0x83479ba5eff82f2aL,0xfe15b93eda4dba32L,
  64587. 0x7f6c7ace601dd142L,0xec990ad49d19bd4aL,0xde2eee45c95fed76L,
  64588. 0x88e4dcd7f5448f60L,0x8aafa008120b0d53L,0x00000000000000ebL } },
  64589. /* 20 << 161 */
  64590. { { 0x5e52e88599dd702eL,0x8788f039002b4e01L,0x1c6e3d695c4f0701L,
  64591. 0xe5739c8b4d9f865eL,0xaa101c5cc3799864L,0xe3cf2696f3fa07fcL,
  64592. 0x389a552716f96437L,0xbbb4d9808b801596L,0x0000000000000164L },
  64593. { 0xae6ea79567728022L,0xa02d2498f57436ccL,0xa7d4f844f72b5ee7L,
  64594. 0xe1be79d19c24f898L,0xe9d02da89af2917fL,0x589677b798d5af37L,
  64595. 0x8515a1be298ddfedL,0x85c9f54d73c666eaL,0x0000000000000099L } },
  64596. /* 21 << 161 */
  64597. { { 0x266b62cd5e9b3f3eL,0x5923ec10fcf4c770L,0xa94e579454e6c393L,
  64598. 0x4537ad5461e76eecL,0xb0c3a5730f27b256L,0xebc9b1cc3d1829adL,
  64599. 0x43f486fb2a535031L,0xac5e5f3d265b0bf2L,0x0000000000000034L },
  64600. { 0x696366449ddef973L,0xcb381b06bd3c5340L,0xa007691234214149L,
  64601. 0x15c92a1bbe0faff1L,0x9093712f0da430c9L,0x925af269f6ce1ed0L,
  64602. 0x25aac7039766963aL,0xf00a980f330c5e9cL,0x000000000000015fL } },
  64603. /* 22 << 161 */
  64604. { { 0x9dc85b22b1c47096L,0x122c6be77e0e8e66L,0xdec66b03648fb290L,
  64605. 0x27f4376ec40116e7L,0x7b7bafe69dc0cc4cL,0x0cad9ff312d08efbL,
  64606. 0x70db245bd6542645L,0xc28346160b545d05L,0x0000000000000026L },
  64607. { 0x298ec3d3ed63af02L,0xbba1f13c8bf8477dL,0x2830e1ecef7a945eL,
  64608. 0x49a0e5e009c1b798L,0xe2ef4ed3728f9e0cL,0x235768bb24570e74L,
  64609. 0x10007a9283a6aff4L,0xae2217684ff5f9d5L,0x0000000000000014L } },
  64610. /* 23 << 161 */
  64611. { { 0x78be01f01cdd5596L,0x27c282a59b4b44f6L,0x03a41b7ba989e031L,
  64612. 0xd477af5342fc6296L,0xd24df6d41fdb1d44L,0x7458e14ae1b0d7beL,
  64613. 0x8eefd3d58838a0f9L,0xdf17dc2d7db4b37bL,0x0000000000000113L },
  64614. { 0xbb8f431ca4c7855bL,0x7cc9118df5a15060L,0x61ff999b04efc1e7L,
  64615. 0x34f30946331fc317L,0x6f24717219a61908L,0x869beba812619b2eL,
  64616. 0x1c53bd3a4916f1ffL,0x1276f58ea988bc64L,0x0000000000000005L } },
  64617. /* 24 << 161 */
  64618. { { 0x02e206c37471a905L,0xb6ce013934d0c122L,0xcda8a158ca1ec8adL,
  64619. 0x17ba844b6eb26374L,0xf8dca5a62ae7179cL,0xdab1da42807ae8f2L,
  64620. 0xdcc18ac94083d6a7L,0x1464e68edf65f291L,0x0000000000000038L },
  64621. { 0x6599fd7bd22a48c2L,0xfd36f482477abe8aL,0x403663c930756f73L,
  64622. 0x1b38f348805b2e09L,0x213feb71c142d148L,0x9878091a8855d42fL,
  64623. 0x317421962821af05L,0x9023473580457e5bL,0x0000000000000053L } },
  64624. /* 25 << 161 */
  64625. { { 0x47ba1f99743fea79L,0x06acb3c3a291a643L,0xaa7348bb9f2bb6e6L,
  64626. 0x84fdba6fbc8a12e9L,0x15b33b6b0a667c24L,0xba9f7deb101dc30eL,
  64627. 0x459a46034c57add7L,0x5464da8fa6609167L,0x00000000000001a8L },
  64628. { 0x0c6a508a3784eb33L,0x4479937d0f0a90bcL,0x1a531a0d977b0dcdL,
  64629. 0xc2b64ddae64bad13L,0xd5be67bfee7f09adL,0x22f09f2ce76c1626L,
  64630. 0x9686e65fe16904b6L,0x36b7a900855d97f2L,0x00000000000001d5L } },
  64631. /* 26 << 161 */
  64632. { { 0xd43858c0df99624bL,0x13136325cb492988L,0x1c894e8eee9f005fL,
  64633. 0x22ac0619eff5ed87L,0xe5541a5988b981bfL,0x5bdc0aa3fa6c6896L,
  64634. 0xee9ae8d5d079468cL,0x62019c6ddee442fbL,0x0000000000000133L },
  64635. { 0x26522a74f2b6d9c7L,0xb5b484afa0d85fc4L,0x5e43e58b8ecffd0bL,
  64636. 0xe4208afcae402e16L,0x0f40d075c422d4d8L,0x2a9bb7082750ab4eL,
  64637. 0xede6cf4bf468eff9L,0x8513051277fae59aL,0x0000000000000198L } },
  64638. /* 27 << 161 */
  64639. { { 0xcc69a0ccd9e4f8e7L,0xc022938a9bed81f0L,0xfa5d71e306664d82L,
  64640. 0xd5be5e220f1e2acdL,0x92c0da616ba1adf6L,0x7f4f4a83200f1487L,
  64641. 0xf057fde0dd6b2d46L,0x04a1fea64ee5aa31L,0x00000000000000c1L },
  64642. { 0xc89bcd96ed79484aL,0xa5c975a6ec2453f9L,0x33215bdb09a122e1L,
  64643. 0x354116245bf4ac00L,0x555dccea0adbf9dcL,0x305b7c95457c70b7L,
  64644. 0x1afe30a21ef03bcdL,0x4fb417396ad91b4aL,0x00000000000000e4L } },
  64645. /* 28 << 161 */
  64646. { { 0x9b725e514dd1d21eL,0x168e6606593e95eaL,0xae7b78d6fc4197eaL,
  64647. 0x5292f0812cd1c536L,0x7ec384125dbdb782L,0x2853f48a71352e28L,
  64648. 0x904986af7516103eL,0x23d71c892b57f46fL,0x0000000000000091L },
  64649. { 0x5d4a4f006a1e8ca4L,0xbbc96d859935baceL,0x4175dcd7b578a386L,
  64650. 0x208f65eaac20bd79L,0x2859dbdb96f5e3efL,0x59757e035c91ede6L,
  64651. 0xcca1eb6dce0673afL,0x886baaa29a7cf180L,0x0000000000000086L } },
  64652. /* 29 << 161 */
  64653. { { 0x23206c18b63cc880L,0xae2a1109db8b7f25L,0x6779ed193b8e5e1eL,
  64654. 0x565a9bd7cd18feadL,0x17bd2284ccf3caa7L,0x385aef038c0d52eeL,
  64655. 0x8ae77665138d63ffL,0x718bd33248a59df4L,0x0000000000000008L },
  64656. { 0xf9d111dbe3242981L,0x2fa83b3d575d3c49L,0xf45ce3fda49b5fe1L,
  64657. 0xf35d796a9d2ec2b8L,0x9b29bd6b4fff07dbL,0x7a773285d6801cbdL,
  64658. 0x2050e529a0c11fd0L,0x049b8045486f19dfL,0x0000000000000178L } },
  64659. /* 30 << 161 */
  64660. { { 0xfd8f5732a214ffb8L,0x44b1642c528bc00cL,0xddf614c664ab949aL,
  64661. 0xd2c8792db600c8caL,0x742d67de888308f1L,0x7c935d3ecbd60490L,
  64662. 0x100cda325395d111L,0x1b6a6cd19a931f92L,0x0000000000000110L },
  64663. { 0x5d45901e48ac9d0bL,0x1b6930212ed16103L,0x938c16a2a85d4fd3L,
  64664. 0xd42348aaa382830dL,0x1bdea8d49ba29408L,0xde5f07a05aa9b9f4L,
  64665. 0xf2ff6e2c17118d5eL,0x7d9e7fd948437ea6L,0x000000000000001cL } },
  64666. /* 31 << 161 */
  64667. { { 0xf21bb0d569edba14L,0x5b03deeaba63fd7fL,0x6428178b6ccbda3dL,
  64668. 0xd90721c9ae40f7cfL,0xffa95ed408c9d593L,0x233675f5916327bbL,
  64669. 0xf63a304a3ebd7c4dL,0xfc1e62599af1bdb0L,0x000000000000019cL },
  64670. { 0xe10c054ef0fb085bL,0xa82deca9e42abb84L,0x9657610111a401b5L,
  64671. 0x7a8a0895b7452de3L,0x9a132acfc3b65cceL,0x550ebc8e611b6aaaL,
  64672. 0xc769bab2fbb950d4L,0x9b0207afb0bbfea8L,0x0000000000000139L } },
  64673. /* 32 << 161 */
  64674. { { 0x4f6ba84d09ed0733L,0xdb3908d14bf2273aL,0x33bcff3f3a074347L,
  64675. 0xbafc83c622e849cdL,0xfb13992ceed3b0dbL,0xd24dd41d3c016bedL,
  64676. 0x0d15167af6c72694L,0xe06346be162238b6L,0x0000000000000050L },
  64677. { 0x28fea53455d96852L,0x46aee84a3f0cef9eL,0xb8af77e1775a77a5L,
  64678. 0x63e3b7fcb66f217dL,0x763ceb6796e84554L,0x39b7ec8ed79b3203L,
  64679. 0x62e24b184f17b166L,0x873ea1aa905054dfL,0x00000000000001f4L } },
  64680. /* 33 << 161 */
  64681. { { 0xf9e957e011ecd03fL,0x36e97a5162a70172L,0xddc99f268cee4a6eL,
  64682. 0xc9133a8bf59c132dL,0xf0360bc56ea138eaL,0xc951611bbf929662L,
  64683. 0xd5e127b017c41f0bL,0x273a6206effc45eaL,0x0000000000000034L },
  64684. { 0xede37cd5600d7097L,0xeab8d796081144bfL,0x1b45983f88a59279L,
  64685. 0x9bac431f8fd88379L,0x1261faf43b1033edL,0x72f4d092e7106cb8L,
  64686. 0x9c77283c885fe210L,0xd61437588f312001L,0x0000000000000120L } },
  64687. /* 34 << 161 */
  64688. { { 0xe741401b3e4b27f0L,0x3cba76aa0649726dL,0x56c542047fad17c1L,
  64689. 0xc6f0731569335954L,0xc578f101a9fcaec4L,0x5c100c039431d291L,
  64690. 0x2bf9d339f2630180L,0xfe18d6e0fb611fd6L,0x00000000000000f4L },
  64691. { 0xf7c8ebd21d5a95e2L,0x50abdb6201c572d9L,0x8122c3d1cfa44f8aL,
  64692. 0x6eb1ebb1266a9f78L,0x6fac9cc4ea52170fL,0xb27ace4dd2a508fcL,
  64693. 0x6060020ac99e9aa1L,0xe55643997d3f48ddL,0x0000000000000190L } },
  64694. /* 35 << 161 */
  64695. { { 0xa9e4882c7ed59d91L,0x07a64a9b1fce9c0dL,0xcc45cd129065e704L,
  64696. 0xeecf8b38f26f1dfcL,0x2f5c4945a1616c3bL,0x900b2ccf9642e488L,
  64697. 0x5af1d7f8162fc9e2L,0x2a71595e18424eb8L,0x00000000000001fbL },
  64698. { 0xec338fe3dd9c2e9aL,0x65dafe42b0517883L,0x40a9bae3d93ec0b7L,
  64699. 0x674169aaf094a74bL,0xcc4ca4f411a22a04L,0x45a2ee1e25ffd70dL,
  64700. 0xf12af516101337a6L,0xaebc10f406fabda0L,0x0000000000000072L } },
  64701. /* 36 << 161 */
  64702. { { 0xc0bbb7f74d30e883L,0x492e66eefcb15f83L,0xf72ef2fe6f48c1f7L,
  64703. 0xb947548d314b03feL,0xd65e9cf3c25acceeL,0xff39b4dceeb29d36L,
  64704. 0xbec64e77c99c5afcL,0x5b8a197d3a67c06bL,0x000000000000002dL },
  64705. { 0xe1331e50f871d815L,0xe03985a391481e0fL,0x813f257a226cedebL,
  64706. 0xcd331cce2a206ba1L,0xd638fdf4827d764dL,0x6a615884c63d7d4bL,
  64707. 0xcc4d0e0d6b08663aL,0x66436385310ece41L,0x000000000000005eL } },
  64708. /* 37 << 161 */
  64709. { { 0xadd8cd73f0ecf34dL,0x43f62967ff35e2e5L,0xf5e43e254b1a345bL,
  64710. 0x1ae3f1eec54f35a2L,0x4f1c7df9cad2bf13L,0x15d4803bde8fd01bL,
  64711. 0x9f4042173924fc8eL,0xadab12608a67eaacL,0x0000000000000030L },
  64712. { 0x194e264056788778L,0x9150f420b9b52528L,0x65e6f21ef741753eL,
  64713. 0xdec82a916b87ac55L,0x1cbe14d2287c7942L,0xd7a761913f6f27b9L,
  64714. 0x4aab93b16fc85b18L,0x542dd2083b421209L,0x00000000000001e3L } },
  64715. /* 38 << 161 */
  64716. { { 0x2791f6cbd8c481b1L,0x5f6e979b105355abL,0x9717cbdb3c359624L,
  64717. 0x524de35b434adfa2L,0x342553b9e4390513L,0xba52714e2c4aa1d3L,
  64718. 0x203610b03352d5aaL,0xb0417dbfde6e9eb2L,0x0000000000000007L },
  64719. { 0xa7a4ab660778eeb6L,0x3e73596701347028L,0xfefbc03f86847bcaL,
  64720. 0x6b746803cc5bdcc8L,0xec44a1ae77b147a8L,0x447f4acf99a32887L,
  64721. 0x57fc9a18a05edd76L,0x984f16610c725648L,0x00000000000000f6L } },
  64722. /* 39 << 161 */
  64723. { { 0xd19616ae1983ebe8L,0x4503d5f2e1e673f5L,0xef3f5a36e6b42028L,
  64724. 0x55b2352ddf585e21L,0xc96b97cb803254a0L,0xbb91658d46a8dc81L,
  64725. 0x510b21ca6c1d02c5L,0xc01a0264618a46ccL,0x00000000000000fbL },
  64726. { 0x809346c47c10f0d9L,0x1f4da743e1e88f53L,0x53670064ebd2df12L,
  64727. 0x700b420afa09e88fL,0x4a22c1529e631b7aL,0x1d4d965c170a085dL,
  64728. 0x0d6d1a47fbbdf9b9L,0xf95f3f2816be4629L,0x000000000000001fL } },
  64729. /* 40 << 161 */
  64730. { { 0xe410d8f75fd30bbdL,0x966e71d6031cff85L,0xfe51c6c9a6f4b6a7L,
  64731. 0x6aa83ca8d5681412L,0x28a61d2e57a5d801L,0xb699f6cb52bc0413L,
  64732. 0x1729f8d0443bb821L,0x6e22f51204452a00L,0x0000000000000076L },
  64733. { 0x7b51ffac0cc2608eL,0x370f9a54495e770aL,0xe32a66e2f574b07cL,
  64734. 0xc3ead5c57c808c30L,0xf04bdebd20d3d51aL,0x82b07f2804ffd31cL,
  64735. 0xd2d81ae3b6df8fb3L,0x3978bb58002ea4e2L,0x00000000000001abL } },
  64736. /* 41 << 161 */
  64737. { { 0xe78315f6dfbb52a9L,0x9d3cba08427fe77aL,0xdfe7bf03a89c1b0dL,
  64738. 0xab65916f705a6509L,0x674049815c466030L,0xe8f1d410c97d6559L,
  64739. 0x38bdb4141cd203caL,0x3ddba428daf215d9L,0x00000000000001e1L },
  64740. { 0xd1174c6998d10f89L,0x049f8fdc7bf92d99L,0x5e93b8e5cb52899dL,
  64741. 0x886da2cad057f3d5L,0x7bedd886c75e69d6L,0x48b808d7b869acb7L,
  64742. 0x542a5fbb7168759fL,0x18d5a3b332d207f7L,0x000000000000015aL } },
  64743. /* 42 << 161 */
  64744. { { 0x7d28aec6ca1338b9L,0x60e2c0021de0a9e9L,0xec83a036473cdc40L,
  64745. 0xa18a48427b3ca8baL,0xbb6ce1a4d57240f9L,0xd8849fb45cd926edL,
  64746. 0x0a6bed34a99ff832L,0x4f95f32bbf65f46cL,0x000000000000016aL },
  64747. { 0x1b97562771d2f781L,0x75e4501fc527e102L,0x79130a459ac2b105L,
  64748. 0x470192f34acebcf5L,0x72b54c075997b4a2L,0xed718897c8b60b66L,
  64749. 0x4093b1f8f51bd41fL,0xb29f58d3a42de0f8L,0x00000000000000d7L } },
  64750. /* 43 << 161 */
  64751. { { 0x331982b89a4db510L,0xf3712ed38465e8c4L,0x3d34b58f16d166c5L,
  64752. 0x4c288793731d073bL,0x70ff503acbb64d41L,0x8c1af3bc188deefbL,
  64753. 0x5a73b272b1ec9218L,0x9ef75613bf5d7d3aL,0x00000000000001bfL },
  64754. { 0x539822ff861474bdL,0x180f16e73e4fbb41L,0xcd2510ea4d5b4fafL,
  64755. 0xdcc4d89a7fd914a7L,0x2b80a838ae4c4ac9L,0x51b8089df7376ed8L,
  64756. 0x0ab1f9608fbaa6a0L,0x6e736c68dd816684L,0x00000000000000d0L } },
  64757. /* 44 << 161 */
  64758. { { 0x5d35a91d101c28c4L,0x0f09bee540733fc9L,0x15b904b81454c498L,
  64759. 0xca3a5474136142c5L,0x58c9b304bd03303cL,0xea4075b5a60b59dfL,
  64760. 0xca58872e67858464L,0x788b761f48354a3bL,0x000000000000016eL },
  64761. { 0xd17d61f750501d32L,0x791776d613aceb1dL,0x3b0e441e42c97751L,
  64762. 0xbc212d890edad7b1L,0xf9fe60a0ce37bf73L,0x65fcc158880d070dL,
  64763. 0x00a84549d1d4e035L,0x01c1e68c701162b4L,0x00000000000000ceL } },
  64764. /* 45 << 161 */
  64765. { { 0xd0a8554c494fb156L,0xc71afa6a8c500c38L,0xee41b4fa39a89f0bL,
  64766. 0xbbb592d2af6b45d9L,0xfe957349f903b987L,0x43cd6c638db1e4d9L,
  64767. 0x8e43ec817ce3023bL,0x416c60c5329a63c2L,0x000000000000019fL },
  64768. { 0x2b21d1cf4d61105eL,0x251b9594b74f4dacL,0x12b8fe3c5e4d45eaL,
  64769. 0xba2c53365fc42715L,0x223fdd1c773b2d48L,0x94f125933065fc8dL,
  64770. 0x492cc924e2333395L,0xb3616a8475ac3c66L,0x00000000000001e3L } },
  64771. /* 46 << 161 */
  64772. { { 0x5ace22d86c5a60ffL,0xb851dfa9f4a3b8e9L,0xf69113c2fa83cda2L,
  64773. 0x32ebf61d64cfd0f2L,0x54c22f18957e47caL,0x6bbd312371db481aL,
  64774. 0xee07ace023f0bf72L,0xe21cc99694f56b82L,0x000000000000015bL },
  64775. { 0x5f550ca712edff28L,0xfe0f2ee6bdbf147cL,0x0c5ce5382fbf0a76L,
  64776. 0x1ed469f774b92d4cL,0x9b1c90af48edafecL,0xffd719c5d02d67d9L,
  64777. 0x1393017c26b20c72L,0x394c92a765bbfc0aL,0x00000000000000e8L } },
  64778. /* 47 << 161 */
  64779. { { 0x8e3b16ffff7e659eL,0x46277baa15e7d54bL,0xa9a805181780a668L,
  64780. 0xa3c489288ee7de0dL,0x5a33494c6a492932L,0xf21c24fc8c77046bL,
  64781. 0x0f03d8aefe34a7d0L,0x124f0b04cee67a16L,0x0000000000000155L },
  64782. { 0x5a35d64c33c9043bL,0x43c74b4c3bf7ba98L,0x799109fbd8945905L,
  64783. 0x144fe1552c7afef7L,0x216b3cd4a58245eeL,0x59db3457dee2d7edL,
  64784. 0xff7a2017df7c0f11L,0xc4f76ef73306c02dL,0x0000000000000056L } },
  64785. /* 48 << 161 */
  64786. { { 0x35a5767a91f7da33L,0xb73136937ba4dfedL,0x3843d6c37f7e4d30L,
  64787. 0x6f461c6be2595a8aL,0xa34766d014105be4L,0x62d28311d7c9924eL,
  64788. 0x7bfd28110f51f78eL,0x9cd30fb24b760751L,0x00000000000001c4L },
  64789. { 0x739b01bc3391726aL,0x82721aef5fde4fd5L,0xf3ec542dea71f1f2L,
  64790. 0x520fdd3458345718L,0xef2a3d6f54bb2d09L,0xf75fc3fcfaeb5530L,
  64791. 0x6fb68582f73076b3L,0x27d3835620e57568L,0x00000000000001beL } },
  64792. /* 49 << 161 */
  64793. { { 0x7a28d24dd585507dL,0x1e4e683466285c9dL,0xe4b682babb22705bL,
  64794. 0x64d1ef0045ab2054L,0xb5cec856cc08627eL,0x889ad5ebb8b7e942L,
  64795. 0x8d714cd95079afafL,0x4d8076a73e83d558L,0x0000000000000190L },
  64796. { 0xe9f3ad2bf576cd63L,0x59000a34b58cfc2fL,0xc264ed814685f799L,
  64797. 0x982c7552123238a0L,0xa9ee7e5968384c7bL,0x8664439308b33f41L,
  64798. 0x17b12f704e50471dL,0xc0d7e9bc75ebea21L,0x000000000000019bL } },
  64799. /* 50 << 161 */
  64800. { { 0x912222d815c2f2a8L,0x2de888271cd8f2a3L,0xe76034a53dd91b8dL,
  64801. 0x845a5d5194b6f95fL,0x2eb60c5b52e29a05L,0xf0d98738ba25e6bdL,
  64802. 0xfe6a89c8cdc0327cL,0x167c43e4c20b4ca6L,0x000000000000005bL },
  64803. { 0x39630959e8c54a45L,0x02c1c7fe70765ab8L,0xec3f9a8de3407090L,
  64804. 0x9cc4b5fb695237a6L,0xd8f106ce75b984f0L,0x9cbaf61edbaba8d1L,
  64805. 0x1d97a9051041afc9L,0xf2e9161e55b31a38L,0x00000000000000ebL } },
  64806. /* 51 << 161 */
  64807. { { 0x5a6bf7f91f8b55a8L,0xc69d8efd172ad4e2L,0x225a073ce679c187L,
  64808. 0x715c881907c52ca1L,0xc0e7ea40ea089856L,0xd468af9b39f8886eL,
  64809. 0x0d4ba8bc050432baL,0x19f774a064252dceL,0x0000000000000156L },
  64810. { 0xc799518c93721f59L,0x366c163c364ad15dL,0xba588393e560fb0dL,
  64811. 0x016a8490de01278dL,0x2b528be2d1a40335L,0x5309de257787392fL,
  64812. 0xeb1b66711c0958edL,0x53fc34a953ef3c21L,0x00000000000000a7L } },
  64813. /* 52 << 161 */
  64814. { { 0xb4329354b10450e0L,0x467523c0f2c7c16fL,0x8704d83d9859020eL,
  64815. 0x04daea48e8ad89feL,0x63c0e5f15b92f0a8L,0xb46d370e1b70e374L,
  64816. 0xdbf6127aa728e693L,0xb2121298b13a28b4L,0x00000000000001a0L },
  64817. { 0xd0421f84c0574c9fL,0x0cf61cd6d362b1a8L,0xd89f8484bb97b57fL,
  64818. 0xc9bd3731b39b01f3L,0x1af2db789dc8f339L,0xe4841c8d5be1a90cL,
  64819. 0x4fa214cce1f35bd5L,0xdf654917c1a9f844L,0x0000000000000118L } },
  64820. /* 53 << 161 */
  64821. { { 0xcc657fbdeded2e02L,0x141fc3e7caf6a533L,0x7da03a50c37499b1L,
  64822. 0x065eb76c204614f0L,0xcc8bd1807ab23c85L,0xca7080fb5f1cec2aL,
  64823. 0x1760042d05f0a0fcL,0xd8fe8fc96c675e0fL,0x00000000000001b4L },
  64824. { 0xeac258083d064fc5L,0xa906864eade9696cL,0x58fcf49e1f711665L,
  64825. 0x1ff08bacde11a5bbL,0xa7feb828b482ca23L,0x6a0182962648ed45L,
  64826. 0xb86ca29c5066a0a5L,0x6365a8682517aa29L,0x0000000000000077L } },
  64827. /* 54 << 161 */
  64828. { { 0x34733894f44f0ca9L,0xe4cfd1e412871471L,0x744cae9c6937e907L,
  64829. 0x4e64dd6163227fa9L,0x47d3efa71c46edc0L,0x0872f46ecc49f614L,
  64830. 0xef5581ef6c3aa650L,0x40cbe7deffa56263L,0x00000000000000b9L },
  64831. { 0xaa3435661a572651L,0x3dfd8846f16f48dfL,0x0a61cd2df660bd14L,
  64832. 0x2aac6852b7382316L,0x237e7531a213fc6cL,0xe5fd6bd5733eb51dL,
  64833. 0x07d667c654816bf0L,0x1ad4cb04e1079eedL,0x000000000000001eL } },
  64834. /* 55 << 161 */
  64835. { { 0x6798f4d06e56988dL,0x41378b308e88eaa0L,0x2dd138d2fd992c8bL,
  64836. 0x5e7400ae71030b13L,0x7b00ea1f13c9ad72L,0x171f656d79101b3eL,
  64837. 0x1614fd762b2d5ebdL,0x75c70e686e0f5bb5L,0x00000000000000cdL },
  64838. { 0x9d980a7936d23463L,0x834c407489e9fdb9L,0xc9b2dfe11423a5cdL,
  64839. 0xab0462bbfec68ee5L,0xf1b299fd96ad5ee7L,0x1a1052ce79847284L,
  64840. 0x11d08428d9a4aba9L,0x3f76770dd07f8532L,0x0000000000000058L } },
  64841. /* 56 << 161 */
  64842. { { 0xf85c1b6a18db2823L,0xda36fa1c2203eea7L,0x81f96771cdac541bL,
  64843. 0x52e33f39605c943dL,0xadf4c06637c23121L,0xe9e5aa4b8ad2c86cL,
  64844. 0x3d4a61630354ad23L,0x44b4d8ebae152c75L,0x00000000000000fdL },
  64845. { 0xd5d3d35dab2d2652L,0x55b6f8ed382b2fb7L,0x3a1eee79a7e69b83L,
  64846. 0x98f430aab5c6da08L,0xf4af6cd956cce57bL,0xd67e787b7af2ea27L,
  64847. 0xc276f0a7d8841e4fL,0x2e23f60fc0478c59L,0x0000000000000026L } },
  64848. /* 57 << 161 */
  64849. { { 0xf0eb4ab877863073L,0x94181818a546f8bfL,0xcd887c3ca8731841L,
  64850. 0xe2bcafcc75595c73L,0x344aa895985d3b76L,0x1bf93659471fdde9L,
  64851. 0x966caabac3b6a887L,0x3ef855c5d55370f8L,0x0000000000000066L },
  64852. { 0x19d2a2302184ccb0L,0x8fc183ee69acc9dcL,0x7a4e06407c15ff8aL,
  64853. 0x558ad1c20c26289bL,0x6c4115510529310cL,0x280ac8190fca48a9L,
  64854. 0x0415f9bacf58bdbfL,0xc3886683f2c0dd4aL,0x0000000000000062L } },
  64855. /* 58 << 161 */
  64856. { { 0x3e88401aeebc8d94L,0x7e5f8ec0075f3f3cL,0xc9fa5c48d3004237L,
  64857. 0xcb17bcbb3d2f2e5eL,0xb105514bea735fa2L,0xba377336fba76370L,
  64858. 0xf221092e050d6dc4L,0x77a261f905f5f809L,0x000000000000013cL },
  64859. { 0x606d9cfad207d34cL,0x596d48e3d86cebd4L,0x9446a6eea25feb06L,
  64860. 0xf8aa591e0e3061baL,0xfafdaf2e4d4e8f87L,0xdc642f5dcde1b623L,
  64861. 0x0780a3b18c4123c6L,0x0b0e00885b2343d8L,0x000000000000009fL } },
  64862. /* 59 << 161 */
  64863. { { 0xd6968c6456a686ebL,0x76bf6f10f6be50c1L,0xb07ea82138afb6a8L,
  64864. 0x0fc9edaf1d7736e9L,0x20d6045f9b3e0246L,0xd17c5795991c0a45L,
  64865. 0xd7db43f4df3ed4e4L,0xc89cf90f2ac74830L,0x00000000000001a2L },
  64866. { 0x30417f69b28de367L,0xcb660863643918c8L,0xbdb5eb048fb7d82fL,
  64867. 0x401f0699f4368ab2L,0x9ef1961f15413dabL,0x30b0324f41c40991L,
  64868. 0xc2b48a84f8668b54L,0xd93b0282b6d52027L,0x000000000000019aL } },
  64869. /* 60 << 161 */
  64870. { { 0x69660fea949317feL,0x373d869babd661a7L,0x9af9b8f1d3e12c73L,
  64871. 0x924254a4b60c5995L,0xe35cd8673d19f242L,0x52b966e567041fb6L,
  64872. 0xa23e82421d39defcL,0xdd92b1a8eb62a410L,0x0000000000000125L },
  64873. { 0x3c1d6f5250ed0bacL,0x3266bab423c65483L,0x1773d1942fa296fdL,
  64874. 0x1716ffa0cc5c82b1L,0xed0b4af7185788b3L,0x9ad866b5990b8e96L,
  64875. 0x3263e59f69dad8d4L,0x4fa90e3f3c4701bbL,0x0000000000000142L } },
  64876. /* 61 << 161 */
  64877. { { 0xedc26bc2b7001966L,0x07965896b8d8521dL,0x485564a35427755aL,
  64878. 0x522dd1d1f3f96155L,0xf182a1d731bf10a8L,0x3967f375fabecb7aL,
  64879. 0xe657de0bdcd6c80cL,0xa8db2b3a8de73efbL,0x0000000000000074L },
  64880. { 0x6cec45bbbb1b75a3L,0x1e28ed9134f5ef01L,0xe4a2fdbab493e0f9L,
  64881. 0xf3b058cbc67f30f4L,0xc63ce1f97c21e9e4L,0x6df803bc9587af66L,
  64882. 0x83b68042b2d6058dL,0xbd466da98be4c8adL,0x0000000000000050L } },
  64883. /* 62 << 161 */
  64884. { { 0x8ebd9194aecfa334L,0xf12fdf8b12498ec5L,0x10aeeea323bc15c8L,
  64885. 0x67e32fb5746aa8f0L,0x6c2a3ce334ea8c2cL,0xed5b45bd7d1e6a40L,
  64886. 0x4ec06953c478d94cL,0x06653d528fa54d3eL,0x0000000000000002L },
  64887. { 0xefe66e37c9fc19c3L,0x3df15ce78f92ef51L,0xecae3d50d107059fL,
  64888. 0x4e588f54d6f8d314L,0x3fb75086789921daL,0xd475779892273a4eL,
  64889. 0x18a75dfb63e04c7bL,0x90f39dd1fa412403L,0x000000000000018bL } },
  64890. /* 63 << 161 */
  64891. { { 0x618e0931d9ee46b4L,0x3c65fdc65ac70195L,0x46a7ca1f25b503a5L,
  64892. 0x3d43ee7529d9d453L,0xeae5decfcb21a646L,0x32cdc75f95a04c13L,
  64893. 0x7b39b1bcfc631a28L,0x903bbdaed2ab7499L,0x0000000000000085L },
  64894. { 0xa0cfb2a4f158b009L,0x59cf9fdda8d72e02L,0x2f83798e4e24207dL,
  64895. 0xd8fb75cf4272d53dL,0x55e7a933a3dff9a0L,0xb72160f8815ef182L,
  64896. 0x5a14b7e3fe0d0337L,0xad937b534b590bc2L,0x0000000000000041L } },
  64897. /* 64 << 161 */
  64898. { { 0x0db2b099cad6b074L,0x4749379c2a6efc26L,0x31862f75ab64d63cL,
  64899. 0xa465075d1623e85bL,0x5f03bbea00e7e1b8L,0x24ef8956a2c133cfL,
  64900. 0x6f9fbad452533ca3L,0xdfb15df3abf81b19L,0x000000000000015fL },
  64901. { 0x0616fd242796855aL,0x4a9a066c9cbc946eL,0xaa0fd8ee347283f1L,
  64902. 0x63bde9adf15aa16fL,0xbdd5677a9277e9bbL,0x5ec032e2d045538cL,
  64903. 0x5f4eba3aba8c76fcL,0xa17d2872088e500cL,0x00000000000000a6L } },
  64904. /* 0 << 168 */
  64905. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  64906. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  64907. /* 1 << 168 */
  64908. { { 0xd8faa3bcd4cd8948L,0xddc437839d2888d8L,0x1e951bd5581abba5L,
  64909. 0xa52dfab22947d11fL,0x8fbb0ed8728a40eaL,0xd4f4d06f31d769ccL,
  64910. 0xd93b1d93fac908d2L,0x8852b438f5a3b0cdL,0x00000000000000bbL },
  64911. { 0x84ea0e03c8c88de9L,0x621a808863cdb21fL,0x332c292ecd6ec216L,
  64912. 0xfd01ee09c4cd0dcaL,0x5354ec9efdfce95cL,0x05c307b2a6b8db30L,
  64913. 0xf7b254eab44784aeL,0xd38481257e61408aL,0x0000000000000128L } },
  64914. /* 2 << 168 */
  64915. { { 0xf9b815fe2f1993f7L,0xe1f5199a3ecce0e2L,0x8898d789ab10a910L,
  64916. 0x49863dac4e863533L,0xb5f118aa5e465bafL,0x10d031280281e10bL,
  64917. 0xc98361355042343bL,0xc2140930bc68242dL,0x0000000000000073L },
  64918. { 0xf1417466e84f3896L,0xd4167f1323db4590L,0xe5347265c7699f09L,
  64919. 0xe4458198be6204bcL,0x9375296868d8b7a8L,0x49757c532a065d8bL,
  64920. 0xdc0856fbb6927e83L,0xb1679b0c56449cf6L,0x00000000000001b2L } },
  64921. /* 3 << 168 */
  64922. { { 0x1a80e022f6b5e497L,0x210b6f4b8d73860aL,0x16f2e7bd7b7f92c4L,
  64923. 0xded9e969d068de98L,0x68105e12546ace60L,0x56a0c5b0efb6f66fL,
  64924. 0xf0d5fdb985d590d0L,0xf15e274fb69d5821L,0x00000000000000bbL },
  64925. { 0xd8d0621dde543268L,0x9e0ab44c04b71011L,0x25c135cbdb9fe3ccL,
  64926. 0xf0a9044b024b4ce3L,0xecfb54fa49d2589aL,0xf57495388bca2c50L,
  64927. 0xd76bf119f8f8e5f6L,0xbd946e2c292a452eL,0x00000000000000b2L } },
  64928. /* 4 << 168 */
  64929. { { 0x1d43440f28eb6ffdL,0xa97797d41faa5c82L,0x14a960425c895eefL,
  64930. 0xd35e5d8cd4fa3e4cL,0x9e68f293277b5084L,0xbf5b8a162bc6b1a0L,
  64931. 0xa1d47a38cf49a617L,0x703e609e62fd2244L,0x0000000000000048L },
  64932. { 0x5909fbf6c6af3c4fL,0x1428b8357c1975abL,0x30f8a30810400297L,
  64933. 0xd753559f5b5750bbL,0xbc5235ebf99fabb3L,0x588aaf0bcaa35305L,
  64934. 0x13085abc579dc86eL,0x793f9efafea9393bL,0x000000000000000fL } },
  64935. /* 5 << 168 */
  64936. { { 0xd1e60e5f8256720cL,0x171027f57c49fa90L,0xf64e8839f6549f3cL,
  64937. 0xffa1490469b799b0L,0xadd4e8fb34553fdcL,0x7cf91923741a95baL,
  64938. 0xc9fa2fe993a1ba5aL,0x5d9e34020980acc1L,0x0000000000000020L },
  64939. { 0x2a5cb99c98d2c9ffL,0x448896bf6c3294e9L,0xf76232cb81e067a4L,
  64940. 0xbda3583a3757184dL,0xfa41813b2e0c61aaL,0x6ba2aeb6c106499dL,
  64941. 0x93782286a19e4b30L,0x13e2306f86e8c59aL,0x00000000000000a4L } },
  64942. /* 6 << 168 */
  64943. { { 0x6f8275e50e37edbfL,0x64ad3b76db3e6343L,0x2eef15036a5161ebL,
  64944. 0x2c60875ecf10d729L,0xd477f32a9424ce59L,0xfbd5ab3fddd91be6L,
  64945. 0xbe1f16dfac18456bL,0x88e755378dac1a4cL,0x00000000000000d1L },
  64946. { 0x4f8e076e3c10f2f8L,0x04f48ba57a6bc509L,0x8b825c99420b54d1L,
  64947. 0x35fb71ddd7412044L,0x1d954ed2771b6d9eL,0x24ead049473e8a03L,
  64948. 0x513ff05d28ba193aL,0x42d94d2c7a8abf0cL,0x0000000000000143L } },
  64949. /* 7 << 168 */
  64950. { { 0x5169a5ba3792d0e1L,0xa94f38ae866a52b1L,0x52123a0860f5270dL,
  64951. 0x3753c8f7a5b51694L,0xc28f1bd14c0dc22bL,0x39279193e55184f5L,
  64952. 0xb9fe5bda528c4498L,0x1a04e978bce7de75L,0x00000000000001c9L },
  64953. { 0x95b584d1ed890690L,0xd02b7fc965d82f4aL,0xa630a8dc3f0b031aL,
  64954. 0x79759d955be69e84L,0x8cdb211f45539242L,0x523fbd101032dad8L,
  64955. 0x40c47f4d5b003e94L,0x02de551920d6fd97L,0x0000000000000144L } },
  64956. /* 8 << 168 */
  64957. { { 0xf63486b5ce9c07a2L,0x109221f7b9b5e762L,0x0450b6c79210d1caL,
  64958. 0x8a9b11b1cc780322L,0xf33c4701a30bfdaaL,0x1a7d75f3c33bfca1L,
  64959. 0x4ee930e51c13af9dL,0x3ce4223bce402aa2L,0x00000000000001ecL },
  64960. { 0x2ffbfae311fdd6eeL,0xca5f04d003c1edebL,0xbd80684a5d3a2e52L,
  64961. 0x98d1a18d54193ab1L,0xc549cecef366fc87L,0xb194e11aa13ead38L,
  64962. 0x6acaf7b21882660aL,0x686c0c7bd2cad2adL,0x00000000000001ffL } },
  64963. /* 9 << 168 */
  64964. { { 0x1a90defed7b4fdedL,0x195bee8f6336c055L,0xe843d42796a94272L,
  64965. 0x86cae8e64d7dd6e9L,0x5403b7b7119151e0L,0x3314afc85037da6bL,
  64966. 0x6d7f8f8212ca9455L,0x3937bc09b94463aaL,0x0000000000000081L },
  64967. { 0x306e5a03cb8e9b37L,0x126473043c8b52f2L,0xc869679ef93cae12L,
  64968. 0x20f33375ab4f3d13L,0x90d9c5cf0501336cL,0x35c85984849df5ecL,
  64969. 0x42f846286244c6c3L,0x901d2a938b835c13L,0x0000000000000113L } },
  64970. /* 10 << 168 */
  64971. { { 0xb584b65394932b53L,0x68aad973af36cdd6L,0x2ac829a60bb4cadaL,
  64972. 0x403367f33f0e5d18L,0x412b28ad7dda08e1L,0xe7841355e24b3863L,
  64973. 0x5171c588093520b9L,0x9db8db4c5ec5762bL,0x00000000000001d1L },
  64974. { 0x8d3b541ec6238d25L,0x586350aec23dc89aL,0x8455da87fa4d8c25L,
  64975. 0x7adfdca316492352L,0x8fdb5c08c81f1590L,0xd5e01e0324773e80L,
  64976. 0x4a3b7f13dcc95928L,0xc08babf4f80b2facL,0x00000000000001e9L } },
  64977. /* 11 << 168 */
  64978. { { 0x37d8ad51452f6968L,0x9abf76030be46391L,0xc64ba0aa4f51f996L,
  64979. 0xb71cf4b72bef5fa2L,0xdadcbf144aea3eccL,0x86619a4a5ca7abeaL,
  64980. 0x17bbbd06af54e743L,0x70c9d3b76d5362ebL,0x0000000000000057L },
  64981. { 0xf2486bbdfbf53393L,0xbf16873cb87c38acL,0xca1694b587557348L,
  64982. 0x95ad3cb860dd9d75L,0x61177e70b097e1eeL,0xb481729fc4d1faaeL,
  64983. 0xaa07352130f14ce4L,0x8c3e81e6e534f9e6L,0x0000000000000104L } },
  64984. /* 12 << 168 */
  64985. { { 0x22d3054c1ab5373dL,0xbd4f796363adadc0L,0xfb4298ff2650904eL,
  64986. 0x2801e275ebdbc2c0L,0x1122ea0608190926L,0x41ec28d8b2e79279L,
  64987. 0xce049e5276667fcfL,0xc84223fa732778a4L,0x0000000000000081L },
  64988. { 0x56be4933666ff503L,0x0b396d37bcee9583L,0x1b469e0e153f80beL,
  64989. 0x3d42cd0932305dbbL,0x8c0d230527134efdL,0xb90a2abb08752f5eL,
  64990. 0xce873be8b5b796ddL,0x6a240d331b25403fL,0x00000000000001d4L } },
  64991. /* 13 << 168 */
  64992. { { 0x86aad63f60740f5cL,0x32b7cc316ee3ee57L,0x14340252a16df7d9L,
  64993. 0xc70632bd30867552L,0xc34ab941e536c3ebL,0xb8cea58f1b8c9771L,
  64994. 0x4f12848942876fc8L,0x2b6009fca2b9447cL,0x00000000000001edL },
  64995. { 0xc93452d882b5e6ebL,0x29958d78ac7dee6fL,0x22dd8fd9bf6fa7e3L,
  64996. 0xc59c69516a75f72cL,0x1c6101e36123b596L,0xf5907c48e3f2d479L,
  64997. 0xe5d0b6a671bd58b7L,0x840ff28c56d9185fL,0x00000000000000a7L } },
  64998. /* 14 << 168 */
  64999. { { 0xd89e1fe8330465deL,0x73a9c39780ef0efbL,0xb8200ef38ed739f2L,
  65000. 0xe0914b2f6ec1025dL,0x7f277714866a3ec9L,0x1c9b4cd05716d865L,
  65001. 0x176d3095167f3a3eL,0x85a16f0afcccac3cL,0x0000000000000177L },
  65002. { 0x767e84814f1e3019L,0x88b991b861f15fdcL,0x26cbcb752a17701dL,
  65003. 0x79f801348eed411eL,0xdd053c40411302fdL,0x35d3c2f030858f66L,
  65004. 0x0b53da7a9107a692L,0x9452396f37f9cacbL,0x00000000000000c3L } },
  65005. /* 15 << 168 */
  65006. { { 0x961404136bc539e8L,0xe6edfee1e4524c6bL,0x09749744d07cccf5L,
  65007. 0x1748b47ec03bdba2L,0x2690d0192bc9c91eL,0xd3f34165bade77f3L,
  65008. 0x1903c781805ee388L,0x56ede14320ee5637L,0x000000000000015fL },
  65009. { 0x4300285a7b5b9f4aL,0xdd3a022f1b6ae86eL,0xc54a8abe376288f0L,
  65010. 0xc1d8ec4f26e3394dL,0xa3979d7b91ce3ad0L,0x0aaf9ce7d1798cc8L,
  65011. 0xe972a6d14649a9b3L,0xb0d0e5b7f260defcL,0x000000000000002bL } },
  65012. /* 16 << 168 */
  65013. { { 0x327eec483e206f1dL,0x20bae09cfd9e0124L,0x90e15a5012fe91f1L,
  65014. 0x0dd6de71359590d6L,0xb47ff7877346265fL,0xf68c7538d72b31fcL,
  65015. 0x1210aa5e853e2029L,0x22955a4df09c0c81L,0x0000000000000040L },
  65016. { 0xe194dba07335f4a6L,0x9d6532fb4bde2f58L,0xfac563c59016930aL,
  65017. 0x626eaeefaf9e2095L,0x7af29b71b7d9fde1L,0x809b7fe436360bbfL,
  65018. 0x57b5e52de3cd1c8eL,0x52b9040937b01251L,0x0000000000000032L } },
  65019. /* 17 << 168 */
  65020. { { 0x2de80b5c1b9fe008L,0xd7a592bdd3848f67L,0x12505f695f8777c4L,
  65021. 0x596956be711b00a8L,0x04ead4ce34d9bb68L,0x87d1821cd0ed1006L,
  65022. 0x0f78cb9699acc9f9L,0xb77b5d17054b4885L,0x0000000000000081L },
  65023. { 0x61d1517fd4aa7593L,0xc1f884346683d4cbL,0x15409fa1c660ba6aL,
  65024. 0x5756c0f91e5e0b78L,0xa110b7ec1649f63aL,0x5a1b015f245a2867L,
  65025. 0x450aaadd6a15fffcL,0x2f44146d8f20e164L,0x00000000000000edL } },
  65026. /* 18 << 168 */
  65027. { { 0x34d354711d7c9b90L,0x02efc83e7cd3e5c4L,0x3bdce4d599838e28L,
  65028. 0x903b361fc09f1f79L,0x13c9e9250540eab6L,0x69f28111375ec845L,
  65029. 0xd35cefa96f3fb692L,0x7dd9245da6e1cd71L,0x000000000000007bL },
  65030. { 0xcf0e51b7d6693e85L,0x34584a15e14a978eL,0x38d36120591126beL,
  65031. 0xf26f3d52d1a5a853L,0x904a64964e97c262L,0x7f3089ff6ac89132L,
  65032. 0x1f8934fd38e0e5fdL,0x52e3fdf2cd20b982L,0x0000000000000134L } },
  65033. /* 19 << 168 */
  65034. { { 0x1c18f81921822327L,0x19d3895763107dafL,0xab3c2c5bbf02410bL,
  65035. 0x056973d48084f3faL,0xf6c0f0ad9c6c0e1eL,0x5813f6354715d332L,
  65036. 0xb1435e02d54f75b4L,0x483968e79f4ef80eL,0x0000000000000077L },
  65037. { 0xeb0da4e25a942323L,0x2236437f2120ac60L,0x16ee032f66313c05L,
  65038. 0x6bff696400a38fedL,0xf5b8ee71cf6d4cd1L,0x939c85b5fdc6617dL,
  65039. 0x1505c244a7fcfe0fL,0xa496610ab7881695L,0x00000000000001cfL } },
  65040. /* 20 << 168 */
  65041. { { 0xf915b3f2f47e55c4L,0xb163cda470610cf0L,0x822197f50a302cbbL,
  65042. 0x8d787800ad959227L,0x10c30f94571bc9ffL,0x2a28b5ab2caa7d3cL,
  65043. 0x35cdf34647775889L,0xc81fec4b397cc8f3L,0x00000000000001fdL },
  65044. { 0x83a251027f5a86a7L,0xfc270fdc49e2b112L,0x351f20f947f16503L,
  65045. 0x4fc2abe97820ddd9L,0x68391136093b9c29L,0x0bb983f1c6d0c759L,
  65046. 0x15a671860ea6b033L,0x56602ab7edd62f4fL,0x0000000000000125L } },
  65047. /* 21 << 168 */
  65048. { { 0x947fb594aba4398dL,0x19a131cb57bb07e8L,0x8f3be50326eac16eL,
  65049. 0x451e83c0f2546781L,0xb4139dd4e44ca83eL,0x38a9d3905dc48a1cL,
  65050. 0xfadb6d0641cfb776L,0x6ff29cc5eef89414L,0x0000000000000021L },
  65051. { 0xcbde6f766a7e915cL,0x1a7e27d2797752a6L,0xb09dd97ab6cdad5eL,
  65052. 0xbe5d66881bbb61b1L,0xc4b76c701fa85cafL,0x88282fbd92ee96baL,
  65053. 0x1681c7dde1b4e7a4L,0x3c57dd60ee3982f6L,0x0000000000000128L } },
  65054. /* 22 << 168 */
  65055. { { 0x54c8fc4e9f2b71f9L,0xb6c0fc49988e8120L,0xd2058da0c8927203L,
  65056. 0x16766dd5bd3f622aL,0x7ad98310f854d625L,0x4995d6bb55c5058dL,
  65057. 0xeecdf90c74bcfc75L,0x2d62d4faf4154102L,0x000000000000005fL },
  65058. { 0xbcfd7e5cc78ec9abL,0xba7846a3e9c8c551L,0x80ce88d165cbee60L,
  65059. 0xefda52b95632fdd2L,0xfeae287b8ddbf5e4L,0x8fe72dfa152ac780L,
  65060. 0x63f4561e614d87e5L,0x1a8d5a1e1190f43cL,0x0000000000000124L } },
  65061. /* 23 << 168 */
  65062. { { 0x14e9504a41cf60e4L,0x4d580f91ba2fc313L,0xc4d5ec9342122efaL,
  65063. 0xa5a21ef9a3107935L,0x190ecc1c466437b7L,0x696df2275126df44L,
  65064. 0xc9d6872cd8ae1dc6L,0x7e2fbe46f515214dL,0x0000000000000047L },
  65065. { 0xe226b86e0bb95f94L,0x77f82979db22d5b5L,0x059b2efca0b81578L,
  65066. 0x8994c684251b4724L,0x248ab92581c5c432L,0xd7a601bd7218d58cL,
  65067. 0x87e9d6e652fa557fL,0x94240f677c6717d2L,0x0000000000000172L } },
  65068. /* 24 << 168 */
  65069. { { 0x04b6642cc79728ecL,0x82006db7d4052ddeL,0xd7c03908da99c38fL,
  65070. 0x7ba70fb9a6637549L,0x1dee482cb94a286dL,0xa628ac2a01d36d7eL,
  65071. 0x4de12e5c003da5e7L,0x4f68a006e306d20eL,0x000000000000013cL },
  65072. { 0x90cb32d5635d5908L,0xa802b2585c89c608L,0xbb22484549a3be5eL,
  65073. 0x53f1fc3655480c5dL,0xa3eb1e7b0c070e5aL,0xd0e34a5af1abbf5dL,
  65074. 0x145ea8cb4b88db7bL,0xa9ff13bc839bead8L,0x0000000000000147L } },
  65075. /* 25 << 168 */
  65076. { { 0x30cf3767c86ddfa0L,0x6b3fd143eee9269bL,0xcebdd16d52204c51L,
  65077. 0x274b0dc204cd14b8L,0xb6e928505a86d610L,0x6b37ae54e6800db9L,
  65078. 0xd93efc3df84a0f79L,0x879d7dd56af06c52L,0x0000000000000101L },
  65079. { 0x8167dc1f83b6b8e3L,0x13e08ee718402d20L,0xf0186bf60b26ce15L,
  65080. 0xd5aa811535c6875dL,0x0c76d0c2c5ca2103L,0x5fc8a70593646cb0L,
  65081. 0x8afb8877a4ae3f67L,0xe2326f750e699723L,0x0000000000000143L } },
  65082. /* 26 << 168 */
  65083. { { 0xcf7d26bb15ba71a8L,0x000c8e8c0bfbfa5cL,0x718a54266f646f01L,
  65084. 0x7c0fa210dd018dfbL,0xb64adc0f384f7dcdL,0xc0c66542477625edL,
  65085. 0x871e593e2c75b53fL,0x96c1451fb9f00e20L,0x0000000000000060L },
  65086. { 0x8e0c5c99b1d5302fL,0xb2c5f34efd4421c4L,0x947c3fa92a1a9d1cL,
  65087. 0x6721f393881b28b2L,0x1b5513edddd050a2L,0xfb2d77941408593bL,
  65088. 0x3425f229e707ecefL,0x88c2673666df4ce3L,0x00000000000000aaL } },
  65089. /* 27 << 168 */
  65090. { { 0x5b7ecdb52c5f43eaL,0x53082afe02559d3bL,0x070e354264f68b42L,
  65091. 0x58d6c1aa7c879d43L,0xc41be80750405684L,0x955a275cbce7908eL,
  65092. 0xc70c146dbab9f5c9L,0xd31d7c27901ac701L,0x0000000000000010L },
  65093. { 0xdbc82b2bf7614365L,0x2875d55c32cd5ab5L,0xb395d08feaa9be8aL,
  65094. 0x97838c558ce9b4d6L,0xee22d8ce4fc6794dL,0xe401877623372c0bL,
  65095. 0x6dd2c34bfe0d49b5L,0xbcbcd109f128646fL,0x0000000000000105L } },
  65096. /* 28 << 168 */
  65097. { { 0xd0bdf16917216f79L,0x2a9d74a468bbe483L,0x6965b608e5c7b3b8L,
  65098. 0x83e8d0b290d8ddf1L,0xb27aa05509ba77b1L,0xbf4a09be67c32e3aL,
  65099. 0x5982ac195bf2c8eeL,0x764907324f70b752L,0x000000000000000aL },
  65100. { 0x1088b1f878a204d4L,0x40a0293f4d4e8a06L,0x312854a3af8d6f9fL,
  65101. 0xb1df39186282a51eL,0x9de32af13769fc44L,0x045404379a6d0abbL,
  65102. 0xdadc6c9d13185e57L,0x1f2b8d38e979f37bL,0x0000000000000012L } },
  65103. /* 29 << 168 */
  65104. { { 0x5f8a8c0d3ddd0191L,0x1f266a867fae699cL,0xefbd18d2bbbb048eL,
  65105. 0x648e5f90d1ab43b6L,0xf81591adcf10f706L,0x362ddc168ed8f28fL,
  65106. 0x2108b2c3f6b398e1L,0x1269ce097783a2c8L,0x000000000000008bL },
  65107. { 0xa6a691c37f465dfeL,0x8bfddfc027667ee8L,0x85db93c4e9bbb777L,
  65108. 0x77b3e07dc3aaecb0L,0x0bba38f41d6635b2L,0xb608d7f20156a865L,
  65109. 0x628c6f6e0f7e38f2L,0xddc70efd519f6429L,0x0000000000000069L } },
  65110. /* 30 << 168 */
  65111. { { 0x705bc9adde556ab7L,0xfd31b77a08c5f548L,0xe4d6128f47ccec97L,
  65112. 0xda6413aba2467e6cL,0xf551c43677e4ddf1L,0xd60ca0c72bc04c9aL,
  65113. 0x7ad228c8ff849e17L,0x59934f4e930f91a1L,0x000000000000011fL },
  65114. { 0xa76a8707868154b8L,0x15eca497a7dde8cfL,0xc7c5191877ab98a0L,
  65115. 0x3ea558ae7fb66e87L,0xdd8e344c48afd9bcL,0x2f65b11c119fb92fL,
  65116. 0x9dff92f896a00df2L,0xe2fde0a4be17daf9L,0x0000000000000057L } },
  65117. /* 31 << 168 */
  65118. { { 0x65ad3804ea9ec2a2L,0x44155525f7c6d675L,0x7c1934b57d7cdf15L,
  65119. 0xa9ac66b468cc4856L,0x98b006b4ab305ce3L,0xc0bbc4242c87391fL,
  65120. 0x1c8056caa6fc5d89L,0x91c2a6af74ba9ca6L,0x000000000000007dL },
  65121. { 0xa0b6f93e661a095dL,0x91a7b4d05deac6cdL,0x151ef226bb2331fcL,
  65122. 0x37ebf47e93095466L,0xab8aa36598606ec4L,0x27d7aaadfc03f039L,
  65123. 0x0c431597fdd46012L,0x0556f5285af06a03L,0x0000000000000118L } },
  65124. /* 32 << 168 */
  65125. { { 0x7eff6eb56037ff54L,0x78cfc774963e7cb1L,0x48d139d16b3956a1L,
  65126. 0x3265461a619f159dL,0x80dcb967a3b1db5eL,0xdb164bf4f293c925L,
  65127. 0xb0a372de83b65b62L,0xda262fd344760c21L,0x0000000000000058L },
  65128. { 0xa8f9432da6dfc562L,0x0c7b74ecdc54c213L,0x56b4b751df24c7e3L,
  65129. 0x5b32314bb42c77d2L,0xcf2312a419053195L,0x60bf22144f2c75ebL,
  65130. 0x0207884171877095L,0x8acd999da44f75faL,0x0000000000000152L } },
  65131. /* 33 << 168 */
  65132. { { 0x45a2719a8907ce54L,0x013d1b3aea166fa5L,0xed88621b21199f5cL,
  65133. 0x7700e61eede4254bL,0x5939852d884c08a4L,0x19734a9b2d1d89aaL,
  65134. 0xa246df9f0dfa3941L,0x9879316c979c73daL,0x0000000000000151L },
  65135. { 0x8dbcc1180b113864L,0x7ee1a88ce82525b4L,0x0c43f86653bea16eL,
  65136. 0x37ff6f028824f34eL,0xfa8838b9b027581fL,0xed25a70c8647d511L,
  65137. 0xd63ae1953618e600L,0xcf0b98339b9a93d4L,0x000000000000003bL } },
  65138. /* 34 << 168 */
  65139. { { 0xd506324903eb9185L,0xf65164dd7c1fcccaL,0xb69558864fb70360L,
  65140. 0x0d697e8afac2988cL,0x9c4c06a537c97636L,0x635c88f58055600fL,
  65141. 0x4ea4c09a74703af8L,0x81ec33b9e7a75723L,0x0000000000000089L },
  65142. { 0xda9a2dc047213f93L,0x6ed717efabaac078L,0x3076325bed22d7f4L,
  65143. 0x951dc05863bd3f8bL,0x77f1cf965b1c8d00L,0x9dea7ebab5941b35L,
  65144. 0x293095f4d4e61491L,0x0e7ead86eb9ae037L,0x00000000000000d2L } },
  65145. /* 35 << 168 */
  65146. { { 0x39f9f819f6c209f4L,0x089db5253c2a5cb7L,0x20c5ff24accedeb3L,
  65147. 0x82f84b46d2b5c3fdL,0x1a1ed43fb90a33ffL,0x436766d3e973e5afL,
  65148. 0x2294111437456b11L,0xe860807c70ae9ea9L,0x0000000000000059L },
  65149. { 0x9009e20ab72f6cccL,0x741fefc4fe6e5cafL,0xf1a848dd63098fc9L,
  65150. 0xac752a505ede32ccL,0x9efccb9732ba5b6dL,0xb2856b15b94e8d20L,
  65151. 0x99e35bc499607f7dL,0x113f31762f82564aL,0x00000000000001d6L } },
  65152. /* 36 << 168 */
  65153. { { 0xea8b99529f5e6fbaL,0x667318ea35ac6c04L,0x7485f1c55ed348acL,
  65154. 0xee18ff33019501b6L,0x90107a5f3e904e7dL,0x2ec33497aed29e07L,
  65155. 0xafd289974c20de45L,0xc48cd0bacca26170L,0x0000000000000018L },
  65156. { 0x9ba74136a948ebdbL,0x78ed508ac81acda0L,0x9facc76fef5fedcbL,
  65157. 0x36faeef8a3b6ddffL,0x5624949573b54036L,0x089e6fa3c9408662L,
  65158. 0x1604ae228f9f0744L,0xc1297a7657db098eL,0x0000000000000065L } },
  65159. /* 37 << 168 */
  65160. { { 0x3992cb6807815aaeL,0x7195db4f1b803175L,0x97cd250b424fb1cdL,
  65161. 0x016049f38ff45927L,0xb64141ada1ad30f3L,0x8f16a5857dd25547L,
  65162. 0xaec66e6aea7f6a7fL,0x4dd29ee57846a86dL,0x00000000000000bfL },
  65163. { 0x6e964890f5112f11L,0xb011a6269bb780f1L,0x6e448385bd208e60L,
  65164. 0x5210e0dd83eb0a37L,0x996090715d94a88dL,0xc8bfcac7273e631fL,
  65165. 0xfc414a18bb2f9b24L,0x975182160c054385L,0x0000000000000196L } },
  65166. /* 38 << 168 */
  65167. { { 0x9b304aea874e82c3L,0xffbfb0822b7d090aL,0xd9196a7d06ec403aL,
  65168. 0x9209f5cde36151faL,0x8935c8aae25e0c13L,0xdb1a4c7716593d65L,
  65169. 0xd1e963377d694686L,0x4356bae0e08dcb7eL,0x000000000000001bL },
  65170. { 0xea20f2c0c14af785L,0x48d27833a4295f88L,0xf05d85ca6c7d3114L,
  65171. 0xe58db881730ea2d3L,0xdfbe2a686b20c2a2L,0x31768d41efcae9f4L,
  65172. 0x9cb4a4e393d8386bL,0x63ce4ef1ad75a399L,0x00000000000001f9L } },
  65173. /* 39 << 168 */
  65174. { { 0x5614856e14f693f9L,0xee48d0157ccc71a7L,0x943ba66129590c3dL,
  65175. 0x154b5cc174db3bfaL,0x3d1ee077d73d37dfL,0x05d5e0cea58a17d2L,
  65176. 0x6abb262dfdb1cf05L,0x858b3bec8b39082fL,0x000000000000013aL },
  65177. { 0x394f12df6ac53fe7L,0x9d14a39e3a811443L,0x051a0ce3addbf1b9L,
  65178. 0x7e4fc131013bd7c8L,0x5795cfb876750d1bL,0x14f8ee5d3ab7d068L,
  65179. 0xcb83f31d2f526886L,0xe6f51eea0b3f327eL,0x0000000000000032L } },
  65180. /* 40 << 168 */
  65181. { { 0xe17cf4f985e05448L,0x5e29ec55936b85d7L,0x5f4969344230c449L,
  65182. 0x6fc1d8a08206a6f0L,0x399712364d5d2de2L,0x42689259be3a7848L,
  65183. 0x77279b58c493be56L,0x43cbcf5c7d422c0cL,0x0000000000000004L },
  65184. { 0x6b1df3f0438b9048L,0x293cee3bd53799a6L,0x44b4dee8945bae0cL,
  65185. 0xdf3236a21fc75aedL,0xead6de57fed25024L,0x68541a4ce87d013fL,
  65186. 0x72be3aeb4a734d6eL,0x5e84735bc7371e3cL,0x00000000000000f3L } },
  65187. /* 41 << 168 */
  65188. { { 0xd3aca247bfebd246L,0x7d956df376ca7483L,0xb7b30bf20f3a19b4L,
  65189. 0xb062c4b5697de983L,0x31cdaf2d79521344L,0xb8daa6236ced6cf0L,
  65190. 0x73830cc4156e1821L,0x6364e445b8644ed0L,0x0000000000000152L },
  65191. { 0xb26d84846704d687L,0x42ebf82d2c2b018aL,0x68b526dcdc65295eL,
  65192. 0x145615d496530ca1L,0x3ece93877955b80aL,0x177d234769f38006L,
  65193. 0x19f33f4c84e14bbaL,0x01c98346e0704d10L,0x0000000000000082L } },
  65194. /* 42 << 168 */
  65195. { { 0x735eb443357ba15dL,0xdfa17a9a54409ca0L,0x6ef5378cabc39f28L,
  65196. 0x7936cd2a1ccd0467L,0xd85db56a5c9af9e0L,0xfcf9e3d12316133cL,
  65197. 0x3904ded86c2487c6L,0xbff674d2b8cc515cL,0x00000000000001ceL },
  65198. { 0xbb912bd83ddb6e4dL,0x9d82f6936116dc27L,0x3b72986d952ee214L,
  65199. 0xc932e3fd03c36dd4L,0xd787bc68500decb3L,0x39092ea64b6dc85fL,
  65200. 0xb3cb876162e68168L,0xc4df21b060e2d9eaL,0x0000000000000029L } },
  65201. /* 43 << 168 */
  65202. { { 0x77cf38dd8b9bbedeL,0x7b0a344f7b110970L,0x18827ec691d85793L,
  65203. 0xea6a1f394d11d455L,0x2fcabbd4a81e87bbL,0xeae28f10dc775f92L,
  65204. 0xa3df2a95e8acef4dL,0xc5e112384901a4f9L,0x00000000000000c1L },
  65205. { 0xda7885dbc589a008L,0x1054bc12edbebdf5L,0x24ffbe9e60727f53L,
  65206. 0x89be3122c2e1b79eL,0x28e91a4be68dc55cL,0x2232a01160a852c4L,
  65207. 0x578de9e994036a7fL,0x6e5b3ef4936e8e5aL,0x00000000000000e7L } },
  65208. /* 44 << 168 */
  65209. { { 0x8a7b02d872e5f18bL,0x29c3db48b8dd1860L,0xf3b0f47fa5b307f2L,
  65210. 0x6bc9ea8cbaf7b51bL,0x6651b8dfc59c6616L,0x11df28a9da6f33adL,
  65211. 0xc8879af48b93d7fcL,0xc119ade4e9b03431L,0x00000000000000c5L },
  65212. { 0x6bafe0406631c4f0L,0x4ecf64f6c34562b8L,0x1ceb750c3c4c04caL,
  65213. 0xadff4c89b93e2106L,0x9e281057459e3e63L,0xbf3b3cdd4b54f2c3L,
  65214. 0x7547b18beb880314L,0x34d7af52e0663b30L,0x000000000000017aL } },
  65215. /* 45 << 168 */
  65216. { { 0xcf9abd89b41c4c8fL,0x5232bc8561dc8213L,0x02da5b3b1cbcb9e4L,
  65217. 0x43ba9d21f98b522fL,0xa061c2b6534bf7adL,0x5f375638a48855a3L,
  65218. 0xa0450b26113089e3L,0x9ce6a8484ff249d5L,0x00000000000000b8L },
  65219. { 0x9fbdac93bedac56bL,0x4f95bd5bcdf67eb4L,0x657253778d668ae4L,
  65220. 0x762845ea23c3aa43L,0x3af6d2c21ff463b5L,0x6f2aeb6c0ec166d2L,
  65221. 0x134f65a49be5d26dL,0xeb728f6afabccaddL,0x00000000000001a5L } },
  65222. /* 46 << 168 */
  65223. { { 0x4a0927077c43553cL,0xabd2598f43690980L,0xab06313fa8572f82L,
  65224. 0x56e8f3ac4cb0844fL,0x0bd7554aa69f60b1L,0xadaa48b599f8ff55L,
  65225. 0xc7f85e160e0ed3d2L,0x906dfd3f77e510f2L,0x0000000000000064L },
  65226. { 0x1629167574a41facL,0xc679c38178d601bfL,0xee9838c2bd9fa391L,
  65227. 0xe1fabfc20c7f88abL,0x7759b0943183eaaaL,0x62bdc1f4cf96a23bL,
  65228. 0xaf85e735b9a8dd9bL,0x1be45d2bfe461052L,0x000000000000017fL } },
  65229. /* 47 << 168 */
  65230. { { 0x8add55157869f938L,0x8328e90a3567ecdbL,0x265f489d0ab7633aL,
  65231. 0xda46aaa44a9a5a8dL,0x725f698404b3b4a5L,0xd5cb793e1d7e98acL,
  65232. 0x77a2e141b724608bL,0x711415c04b81416cL,0x0000000000000173L },
  65233. { 0x5d2381001f95cc6aL,0x8eeb20613f6f9261L,0xa9f048ce38ff1f73L,
  65234. 0x39ff65199978b00cL,0x1e81ccd1a7a52e68L,0xfd1103a50c01e3a2L,
  65235. 0xd533b3a501de60d6L,0x7746c9c4374412d8L,0x000000000000013fL } },
  65236. /* 48 << 168 */
  65237. { { 0xfbdd71d76da23955L,0x58aed61e4e9dca11L,0xc8f75ddcc41906acL,
  65238. 0x37020b118ae30a21L,0xf91295233fe85c4fL,0x201400fdbe4b3724L,
  65239. 0x9739962d3a2d4446L,0x917e35cda0f4b655L,0x000000000000018fL },
  65240. { 0x99496b29ae9e0ffdL,0x98a9369f6dc1cb95L,0x5db5ca11cf116e11L,
  65241. 0x3df10d8508fb818cL,0xddc80cc991ddcd37L,0x8e8647da496af53bL,
  65242. 0xe244c394573a894aL,0x056a45e741b4de2dL,0x00000000000001a1L } },
  65243. /* 49 << 168 */
  65244. { { 0x84c2553f194efd8eL,0x15247b56051d3139L,0xc1e3437f7cdf7295L,
  65245. 0x8c154778be6ef662L,0x809b77523cdb4e9aL,0x573cbaf2cf155669L,
  65246. 0x083e1d6cc2fec451L,0x879d2b2408e53cb4L,0x00000000000001f3L },
  65247. { 0x6ed740af3991a529L,0xcf5df2320ee78333L,0xd597b1865f2a7fe1L,
  65248. 0x169b4d47e1da55b6L,0x4b61da2128866db1L,0xbedf5c1851a98c39L,
  65249. 0xbcfa723bd4c47affL,0x293bc51c24bc0569L,0x0000000000000193L } },
  65250. /* 50 << 168 */
  65251. { { 0x2a3902169926b505L,0x8d78ef77e00be256L,0x1b4243060813f0f7L,
  65252. 0x7bbe8aea99e1bfc2L,0xee0d8bfb2c16d048L,0x0f52f62c16927281L,
  65253. 0xfa1eed898b0aab8eL,0xc960284b03aa8ec9L,0x00000000000001f0L },
  65254. { 0xc0cea54084e2c7d4L,0x2c967298631cd12fL,0x9d363cee377d24ddL,
  65255. 0x8044dcd6a5143a2eL,0x827cd09de5438b71L,0xfa445ab5e086affdL,
  65256. 0x6bde5b7ea21ab95cL,0x473e55f7e1344c94L,0x000000000000018dL } },
  65257. /* 51 << 168 */
  65258. { { 0x1806b23055de5e11L,0x66181382a8b7907bL,0x9a53b2cd761b28ffL,
  65259. 0x99b04005e0d8111fL,0x2329d028af15774dL,0x0c69a9aeed7ab9b4L,
  65260. 0x679b29e25ba9fb26L,0xc4da383c1109c306L,0x0000000000000096L },
  65261. { 0x0c596d701ec7b181L,0x2320a21d38dd635aL,0x76fb5cbbbef074c3L,
  65262. 0x659c69f34c245d5aL,0xd4cb6c4f73910addL,0x7a9b35b02bcb561aL,
  65263. 0xe6a998c30b42e5baL,0x1d13f70aedffeffeL,0x0000000000000050L } },
  65264. /* 52 << 168 */
  65265. { { 0xb063202f31fe14fdL,0xbb003d9c8bbc840cL,0xf0e2d2cc3d91dd50L,
  65266. 0x09db1c24722cafcdL,0xdb3b82e189c2e546L,0xe719cfa86f470d17L,
  65267. 0x909871aeb4c59142L,0xbce979234a64f3fcL,0x0000000000000112L },
  65268. { 0x95b635710d88533eL,0x778f74c30006844eL,0x2821500ad11a08e6L,
  65269. 0xcb91cf3a0d64bdc9L,0xe1ae9e56e2129232L,0x7f7c927ab11ff55aL,
  65270. 0x8db638e4416ac07aL,0x3a38dd3d1d2c2dc4L,0x000000000000002bL } },
  65271. /* 53 << 168 */
  65272. { { 0x12c5026f19d3a430L,0xebd36b518531be4aL,0x2d0eedc93dca12efL,
  65273. 0x441f0dec6cc652f4L,0x8b0fd67bf1272c4aL,0xd9b90373ecb89af5L,
  65274. 0x75514cf9029341daL,0x438f0a8da9e45ec9L,0x00000000000001d0L },
  65275. { 0x79fa46f4b976862eL,0xbd0b6a77cc80c75aL,0xf37779ebb69d3f59L,
  65276. 0x77b1d47d8cfc2042L,0xab8c9d21eb6f9983L,0x02620b797cff3615L,
  65277. 0x4000cec1d74dafd6L,0xd5cc4e4a5cc17f2fL,0x000000000000000aL } },
  65278. /* 54 << 168 */
  65279. { { 0xde6d2f0250b19dedL,0x17e09363c883d0e3L,0x583f1980473a0d98L,
  65280. 0x669ec3ddc3666af9L,0xfc4c58c495d4ca2fL,0xcbba5d0a4125183cL,
  65281. 0x878a81f19cd646daL,0xc3fb9edf12f64d9aL,0x00000000000001eaL },
  65282. { 0xdb504ffc97bd5280L,0x05aedba0a49b016aL,0xfdada5630d234e6eL,
  65283. 0xf7d210f9201efad7L,0x41e2fadcbad7f0c4L,0x8746684bf35f6af5L,
  65284. 0xebc37b5a8f816409L,0x5fe729b874ccb6cbL,0x00000000000000feL } },
  65285. /* 55 << 168 */
  65286. { { 0xfdc15977e34a2d53L,0x03a3ecd71eef5a01L,0x4a024948549c37d6L,
  65287. 0xf9b6ebba3572805dL,0x8468d745a3904985L,0xa446d8636fe46f66L,
  65288. 0x6425a52a6242e469L,0x0d8ea4349722c51cL,0x00000000000001dbL },
  65289. { 0x11603f9e75d953e9L,0x424af418470a0f3dL,0x62dec6c2e5d8071dL,
  65290. 0xd26d146f32dad225L,0x99f756df8f286bb3L,0x4c0f5d7c1dd19cbaL,
  65291. 0xdb43a2d1dbe50905L,0xce07db2555d15d34L,0x0000000000000145L } },
  65292. /* 56 << 168 */
  65293. { { 0x060ad0b2473d5f1aL,0xba73eccaf0d23a2aL,0x38ff0b96b44913b1L,
  65294. 0x551791f011ef6a24L,0x728c5333b5d8ff2aL,0xa22a2fb1f6c23b09L,
  65295. 0xfbf8a99a6442b975L,0x2433fcf020e16f2cL,0x00000000000000d2L },
  65296. { 0xd98e567c33ad7094L,0x386b2d8e3689fe95L,0x842afb8d5d2e0b51L,
  65297. 0xb04c9c8d2f412733L,0x09acadadc3a3812bL,0x6ca2083c78c320ceL,
  65298. 0xdff84922933deb8fL,0x729eef0f270fa28cL,0x00000000000001ecL } },
  65299. /* 57 << 168 */
  65300. { { 0x0e70ba30d1457b21L,0x06d7b4372aaf52a4L,0xb5fd37195a0d8d07L,
  65301. 0x57f2d337eaca1022L,0x2fb19653b038b66dL,0xb7aab5519f1835a2L,
  65302. 0x183eb2b9e5565ff2L,0xbe91ace36018b442L,0x0000000000000052L },
  65303. { 0xcfbd5ca05082d526L,0x4f358cf275761316L,0xe67eeb30dbf98fffL,
  65304. 0xf3719573a45ffb48L,0x1fe011d829cc0c3fL,0x640743f0507ad2f6L,
  65305. 0xe2e66fb4d225c2fdL,0x37933dcbf3f6de1aL,0x00000000000000beL } },
  65306. /* 58 << 168 */
  65307. { { 0x56d47bc171146be1L,0xeb3ec09f4e911458L,0xa9dff639184c52e8L,
  65308. 0xe68567f4b5d0a63eL,0x1c2ee8b7126e32dfL,0x731d04202898412eL,
  65309. 0xfc01fc84e0b2f347L,0x0599ae70d031d939L,0x0000000000000011L },
  65310. { 0xb90a4fc12e48754aL,0x8c4c8dcccfc67435L,0x8986e7b11cd90cf7L,
  65311. 0x080af15a92813705L,0xf31e604f94c68b5fL,0x178bab1966ad70b8L,
  65312. 0x017bfa632a529227L,0x1e4d20d3e0e9d229L,0x00000000000001bfL } },
  65313. /* 59 << 168 */
  65314. { { 0xd7680aaa26e31466L,0x90f7d3a84ed9df83L,0x7ce63b23f4cc85fbL,
  65315. 0xc97e8e4d3d2b2ee6L,0x8e1b908f2f0ca474L,0x6d334abfe6f70df8L,
  65316. 0xc8ba8486ab24e38dL,0x21f8763be7ca8513L,0x000000000000018cL },
  65317. { 0x238477ee82cf6a21L,0xbd6b5c610164a8f3L,0x4a931e61674dad92L,
  65318. 0x48f0a0a926e566deL,0x0e8886143f5f44c3L,0x42f5473b4302e1beL,
  65319. 0x322092857a5fca8fL,0x4f77cc8c4b4b7cb1L,0x00000000000000b2L } },
  65320. /* 60 << 168 */
  65321. { { 0xa1dc7875d24cc937L,0x8bcc5f83efc3446bL,0x26da651ee8126a41L,
  65322. 0xe784188a356f436fL,0xa5765424d774138aL,0xfc685d4cc8a96662L,
  65323. 0x036ac0f080a3fd62L,0xec41502a6dd04e6dL,0x0000000000000006L },
  65324. { 0x6982079813ec2f1eL,0x52ceaa44e8f956dcL,0x9f8211bc6c221df1L,
  65325. 0x4cedf8cfdcd0689bL,0x915c690a05fbe468L,0xb745f676942032b6L,
  65326. 0x531dfaeb81ab170bL,0x63163f66951d11b4L,0x000000000000016cL } },
  65327. /* 61 << 168 */
  65328. { { 0x59a83a30ebfe0068L,0x532358c703d578c0L,0x20e092c3d7cb9ad8L,
  65329. 0xea469bf62dec6c49L,0xcecff1a9d541249dL,0xe8346d1ff9970638L,
  65330. 0x90c33c61a2e00cb4L,0xaa2babde0c03ebbaL,0x000000000000015eL },
  65331. { 0x6905928fd6423e1eL,0x68fd55acb4419fbfL,0x9475915a53727da0L,
  65332. 0x6d4d6b768dd0d218L,0xeca16dd535e418acL,0x67962c9e28ea6a4eL,
  65333. 0x7e5a60333071a0a4L,0xcaa404212bdbb2f3L,0x00000000000001cfL } },
  65334. /* 62 << 168 */
  65335. { { 0x24a1ffcd85febcc0L,0x4e2d4cce5fd15677L,0xa52aaecdf168ed5cL,
  65336. 0x7fc6ca94de1944d8L,0x7b058166dc2e18f1L,0x6ebb51366c4c7ac7L,
  65337. 0xa11f966fd06c33e4L,0xcc445c9f1e602e6aL,0x00000000000001e8L },
  65338. { 0xd8622d0945fc989dL,0x48b4f9dfc820794dL,0xb3a22f12ceff02c8L,
  65339. 0x1fb5feb7350fc5d3L,0x6590d85b716bd79dL,0x923b166fb46d3df3L,
  65340. 0xae7d111bfb66e05dL,0xf869c3913e382cb3L,0x0000000000000035L } },
  65341. /* 63 << 168 */
  65342. { { 0x91592d60beca406fL,0x2d8ce8f2838ff992L,0x194caec60bba2292L,
  65343. 0x38833614c8d8769dL,0x04f36284a443febaL,0x3352e7afed8c2369L,
  65344. 0x431ee9dbda6ad421L,0x2ffd00f078f1f563L,0x00000000000000d8L },
  65345. { 0x47fcd60325da5fc7L,0x5b55a33e45b44e69L,0xa8ea02a5be9c36d7L,
  65346. 0x510aa45fcd6fb386L,0x1378ce53b8adeea6L,0xcc015dd0847ef47cL,
  65347. 0x77f3813358f44061L,0xca4610c8de8eac82L,0x00000000000001a1L } },
  65348. /* 64 << 168 */
  65349. { { 0x0cfa67a640b0a066L,0xe97c179e8057a710L,0xb69d285227cce600L,
  65350. 0xf7dde8c5419687d1L,0xdbcb15185d5b039eL,0x3e47772fd99abbe0L,
  65351. 0x71c9c23ab2a9c6a0L,0x5af10b9b94496951L,0x0000000000000152L },
  65352. { 0x0f96137f2c91f83aL,0x1f743fa449f15b33L,0xd43b3ec0ccb4c1b1L,
  65353. 0x895a3be3cfeea9b0L,0x27c3b4959eefee4dL,0xf1b4212712e344eeL,
  65354. 0x023afa76ff929c1eL,0x3078097686d07325L,0x0000000000000166L } },
  65355. /* 0 << 175 */
  65356. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  65357. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  65358. /* 1 << 175 */
  65359. { { 0x48a2fc84658b96b8L,0x039af24c465ebf34L,0xa7a9b0144f404eb3L,
  65360. 0x80176ef0763ab5c4L,0xd4984b136b5617adL,0xa6a39ed89195ee81L,
  65361. 0x1ce2974905c2eff8L,0x78aeff6c1281fa56L,0x0000000000000199L },
  65362. { 0x40cf462310374f0aL,0x89212e99958219f6L,0xe7599b2027b97cbaL,
  65363. 0x1ae1cb659e551710L,0x62881658502e6670L,0x8f78ccf876e23a8cL,
  65364. 0x78e165ad732cc46eL,0xd6b5ab1cf7670684L,0x000000000000014aL } },
  65365. /* 2 << 175 */
  65366. { { 0xb342d85dda44ff51L,0x54ba0522d08596ffL,0x3da8e8ceb0ac99c2L,
  65367. 0xcebe6a9691f37dcbL,0x8ebad3d9c24d7d1cL,0xf11a4319c75945efL,
  65368. 0xd4dfe534ed1ac001L,0x745e27721a521e4dL,0x00000000000000c4L },
  65369. { 0x745e5b41df65e0bbL,0xf8887b533b84ed58L,0x1a54bc479c0684eaL,
  65370. 0xfd4f1d36ce9c7672L,0x490bc265ce5730fcL,0x2fa1ad6d8430adb9L,
  65371. 0x0f117bdcb7db19b4L,0xbd339a789c246e44L,0x000000000000005bL } },
  65372. /* 3 << 175 */
  65373. { { 0xbfc7e834db350c46L,0x3c5690ac4efc9f55L,0x2fa3c78e3dac8271L,
  65374. 0x0a74acbe0c8572aeL,0x8923620856c68aacL,0x8fca20bdc305b75fL,
  65375. 0xb42c64d995be9334L,0xa738887613fa1dedL,0x00000000000000cfL },
  65376. { 0x03c242e114b5ce0aL,0x89ee94768381d1adL,0xdd3c7dcb2d1ceb97L,
  65377. 0x64f13ad71ee7368fL,0xa014619a5ca7fdc4L,0x5a62e9bd3cf1e7aaL,
  65378. 0xb9e9288a45541059L,0x3008f4f6055be852L,0x0000000000000019L } },
  65379. /* 4 << 175 */
  65380. { { 0x5f8fd91ae19a881cL,0x355105b08cf8a2c3L,0x442b97782810e499L,
  65381. 0x930d835ada7972c5L,0xd2266522555ef4d8L,0x943d9adb64e05b06L,
  65382. 0x480bd27f42fc02faL,0x9265b289699e5b7eL,0x000000000000008dL },
  65383. { 0xb60df9c855c7cd14L,0x62131e73270e2672L,0xe6983794672942b7L,
  65384. 0xbf8c55d1817db72eL,0xc3785f3608a5963dL,0x4a6646098f39218cL,
  65385. 0x95c868541b5b49ccL,0x045a0243178df85cL,0x0000000000000019L } },
  65386. /* 5 << 175 */
  65387. { { 0x52a05628990339a3L,0x5ef0637a72ee1accL,0x88b9dfca0eb46118L,
  65388. 0xc529dec836cbba9dL,0x0a9a77cd549d674aL,0xba2d3b7b6e878eebL,
  65389. 0x3585c2a2ed48127fL,0x79c54417a4fc7430L,0x0000000000000130L },
  65390. { 0x70f7b87e0affc41dL,0xf0e0487fd5b72949L,0xd9b820bb6ad325efL,
  65391. 0xd3d96caf9a05b4d4L,0xb4785d8a951e1dbaL,0xcb985c219eb25fc3L,
  65392. 0xb11c96769313e51fL,0xd6e66bc87fc01e6fL,0x0000000000000100L } },
  65393. /* 6 << 175 */
  65394. { { 0xccc1bb64b666ff60L,0xe786f358ba04b5c3L,0xbcd5e56d384c0ad4L,
  65395. 0x5d22436fd0372bbdL,0xfeea9ed9a061a543L,0x6f81f168fa3d34beL,
  65396. 0xf52059d24ba47193L,0x5ff055894ada65adL,0x000000000000006fL },
  65397. { 0x346aded56d4cabf2L,0x65e4b11f4f1a8ee1L,0x1521718b07eba73aL,
  65398. 0x8a2f32bad16d7d56L,0x01d49595d3acbb17L,0x67625faad3f62095L,
  65399. 0x7c3cbecf613b6059L,0x3908f6506118c496L,0x000000000000016bL } },
  65400. /* 7 << 175 */
  65401. { { 0x98a6459bb3ccbfebL,0xf71c7a35cafe23f3L,0x7bb7dc9d87162f32L,
  65402. 0x547b6132e519e8a5L,0x3663ff8b259f407bL,0x5bf1ec1a75b127d3L,
  65403. 0x00cb4c43429402e3L,0x129914ec09801ce9L,0x000000000000017eL },
  65404. { 0x4ce81e8a0e74a262L,0xd40155c7834f3480L,0x17b56afeb5575007L,
  65405. 0xd977fa3a692ceb5cL,0x6efadcc239b47d03L,0xdcbe2b844d776ac4L,
  65406. 0xfdc2c5f16ba4ae9dL,0xada2148824840515L,0x00000000000000f1L } },
  65407. /* 8 << 175 */
  65408. { { 0x06494428cab2443dL,0xc52ad2d86afd7840L,0x8ef6e0a6fce7b5f7L,
  65409. 0x6151d2b3a82ae7e3L,0x08abb38a14e3b825L,0x9782e6f9366cada3L,
  65410. 0x9f0127b25076c2ffL,0x2f29b7282d812ed5L,0x000000000000004fL },
  65411. { 0x7142e7e004e049f5L,0x9338a870d7f99e76L,0xf7e4837b72a90177L,
  65412. 0xa7bff79911aacd17L,0x5442d6f2d1d10b06L,0x986e7bc45ecc3f54L,
  65413. 0x02cf381831286fe1L,0x5cdc56d1cd383eacL,0x000000000000002dL } },
  65414. /* 9 << 175 */
  65415. { { 0x3383252d2cc34f63L,0xffaab47215c2cf2eL,0x04fb57cdf89242edL,
  65416. 0x6b87076af9b1e42fL,0x9ee7a62c24682e88L,0x23d9fb1a99ffae3bL,
  65417. 0x24a055cdce125019L,0x33ba5705ebdee308L,0x000000000000019dL },
  65418. { 0x911f2dd9f00fb803L,0xbc3c90d88ccecdf6L,0xac2a5eead4d059dbL,
  65419. 0xde8cfc4cc3dc4a6fL,0xf51a932dc565a8b6L,0xe0ac04382b13a372L,
  65420. 0x6f9dc1bf079c4979L,0x386c19b4d0c32e09L,0x0000000000000068L } },
  65421. /* 10 << 175 */
  65422. { { 0x7303ec69c80291f9L,0x0f2c64390c9ff7f4L,0x96c08ea0f3ada285L,
  65423. 0x3cb50f3ddeae887cL,0xaba571fafefe26dcL,0x4e4dba336c6f1071L,
  65424. 0xf5796982f02bda38L,0xa59c60b140485de2L,0x00000000000000a1L },
  65425. { 0x28d7c281cab044f7L,0xa5eb04fe515d247aL,0x5b42d919ba014b10L,
  65426. 0xb150b4fbde221cc1L,0xb5cb8c3a22a5a502L,0x62c0da97cc37e34aL,
  65427. 0x4b9bfb1f9e827814L,0x96666256c97679acL,0x00000000000000e6L } },
  65428. /* 11 << 175 */
  65429. { { 0x0df173a23adf88d8L,0x519aec4c0cd5f80fL,0x83c410d4af5f84deL,
  65430. 0x9cc04e5db1f7f73aL,0x1aec97b529db8865L,0x12748d28220ee9e1L,
  65431. 0x9fb6df0a4d6669a8L,0x02305a83b3714010L,0x00000000000000f4L },
  65432. { 0xbd96e2ea2c8a86caL,0xc5436ccd0f9a14c0L,0xf428f7fcf0d34672L,
  65433. 0x952b703956697a68L,0xdffdd1770bbf56c6L,0x8b4ea6932b65057fL,
  65434. 0xdcef28d3630e47e4L,0xef879aca74cb48baL,0x00000000000000b6L } },
  65435. /* 12 << 175 */
  65436. { { 0x415fab9a8b894ac8L,0xb189914d64822449L,0x0abfdbf50f4b9444L,
  65437. 0xa333e872eb96cf1fL,0x91d3473db8c5318aL,0xbb5740e624d09cb4L,
  65438. 0xebe6ef7f5b5d73eaL,0xbe33338809f67393L,0x00000000000000fcL },
  65439. { 0x9970d38e1ffa22b4L,0x00d1fb74003e55f9L,0x0d1ef824820f7bfdL,
  65440. 0x4352125173fc040dL,0x295f8a66e51b5870L,0xceacb67d3dbfe159L,
  65441. 0x0ee77417a218d2feL,0x25a0e0a9f3b7d44aL,0x00000000000000f8L } },
  65442. /* 13 << 175 */
  65443. { { 0x3e2e135a15a102e1L,0xa4b33d115fb3faf6L,0x12da9549693b3a58L,
  65444. 0x32c39adbee7132b1L,0x87da9a38fea6b800L,0xd32b22eb92074fa9L,
  65445. 0x3f8d05570673a898L,0xfededb49a5044d27L,0x00000000000001fdL },
  65446. { 0x89658bcc94e1a724L,0x5ad21f6e48a02c0cL,0x4d17fd1d0c70669fL,
  65447. 0xdef09b95709fc4a4L,0xbbf206eb610ed18eL,0x4f454d2e2282af7aL,
  65448. 0x5c8334bb75660c93L,0x0037d62bd4064169L,0x000000000000006fL } },
  65449. /* 14 << 175 */
  65450. { { 0xc1f7698483ef0448L,0xc4d18389fb276974L,0xfef2c810e52836c2L,
  65451. 0x3687104bc09e4020L,0xec3248ef0cc4bf06L,0x38daa51bc401078bL,
  65452. 0x84bd9f6157bc72f2L,0x68b23e45003676ebL,0x000000000000009dL },
  65453. { 0x22526e98d78b9d6bL,0xc4ccdc71c4f28366L,0x7dd12d941c646b9dL,
  65454. 0x0cc00136931bd51bL,0xfebf1e1e512ec8a6L,0x6bc281f6bdc888b1L,
  65455. 0x0bc271f3f6ab354fL,0x27d1ee7630c4e559L,0x0000000000000038L } },
  65456. /* 15 << 175 */
  65457. { { 0x98275c41fd5ea81aL,0x74f37478b8ebd833L,0xb91006f1e7e3e071L,
  65458. 0x6c900f222a0389e5L,0x7fecd4c8919e031fL,0x36625840d6596951L,
  65459. 0x3f43ae32a685759dL,0xfb2b004d44199a43L,0x00000000000001faL },
  65460. { 0x92383e835e0731d2L,0x387ddec2cdb84d5bL,0xd4dbfa0ab10f9abbL,
  65461. 0x50172a7a4e02cd21L,0x6b1b8c40d0a95f48L,0xc47d694d5c2cd4f6L,
  65462. 0x4b0402695e712406L,0x4fb68605536a77c8L,0x0000000000000041L } },
  65463. /* 16 << 175 */
  65464. { { 0x12427d324acccf77L,0x3194664ffb77f869L,0x07e01cac61a58e24L,
  65465. 0xc506637b91bf22b5L,0xce7d0251dd2d701aL,0xf9a662d4befc0d7fL,
  65466. 0xa54117ba2c6c9454L,0x31864e416978e919L,0x000000000000007cL },
  65467. { 0xbbe419029d971044L,0x68742001f8f24116L,0x6d0065933e4a40ecL,
  65468. 0x9fc1b8e282771429L,0x59b2f9342e7968caL,0x4817f90b470dd353L,
  65469. 0x3d32e10f7e2c1429L,0x43e9474e00206509L,0x0000000000000076L } },
  65470. /* 17 << 175 */
  65471. { { 0x30a937cc52c7da7aL,0xe5ea72ba19c1f2b9L,0x6bc71d9c417aa5aaL,
  65472. 0x10aab323644f9edbL,0xcb37ff967bfdcf69L,0xb0a66538b7e9b0cdL,
  65473. 0x40d040ead2138d03L,0x8aec105b0bb5c9fdL,0x0000000000000074L },
  65474. { 0x19ed6f4d481e74caL,0xc36fb9f46f0a3b87L,0xb010d6af88bae63fL,
  65475. 0xc7eb8196dc29e08bL,0x4a7e448713523497L,0x9c01c48c96c052d3L,
  65476. 0x71342956f6210924L,0x8034186347f93f2aL,0x0000000000000099L } },
  65477. /* 18 << 175 */
  65478. { { 0x2ac928fa4ffa68bfL,0xafb482236b647009L,0xa7b54f134cfae9cdL,
  65479. 0x8a271e4bbb3f772cL,0x78faaf7ebf953d68L,0xb5f12134519aa8e4L,
  65480. 0xef343445359ae969L,0x86e25aad76816a06L,0x0000000000000110L },
  65481. { 0xa0b1814536a88707L,0xdd48d1f21f9a1284L,0x48670dad845e01beL,
  65482. 0xc13d5aa9fc7fe6a9L,0x611969b964757542L,0xa4529c72689bb1c7L,
  65483. 0xd7c3f96a06f31f72L,0x8b09a45a5418d15eL,0x0000000000000121L } },
  65484. /* 19 << 175 */
  65485. { { 0x0b8c943bc8c379e3L,0x00e426a148453fc4L,0x15fdfec387f6176dL,
  65486. 0xd298cda5d2efc806L,0x8be18a1c7d81d810L,0x45580c064b172b23L,
  65487. 0xac5fa9093b7607d4L,0xcac47041e73d7361L,0x000000000000001cL },
  65488. { 0xb2b2c5bc0eed9820L,0x2cc057538ff7e335L,0x35caa1845f2063a8L,
  65489. 0x342669b5a43751d7L,0x222d457413260988L,0x2bd0633f296a6b04L,
  65490. 0x3c803e22f5904b86L,0x1fd07d57a93673c9L,0x000000000000019aL } },
  65491. /* 20 << 175 */
  65492. { { 0x58170eb934fcd20dL,0x8205ac09c669b90bL,0x2dd08c383d1c1595L,
  65493. 0xea1217ac91da182aL,0x3c9275359d2cff8aL,0xe8223f7a2a4a396aL,
  65494. 0xd206d341db22c77fL,0x6e03fe3227864348L,0x0000000000000168L },
  65495. { 0x3a717c4665d9bb06L,0x234158eb1431d7afL,0x389290045a27a3b0L,
  65496. 0xd745267181008744L,0x7961f9c3055610e7L,0xe260f8a1936a3625L,
  65497. 0xc05dfba284b88f57L,0x930747e71f67fd22L,0x000000000000002fL } },
  65498. /* 21 << 175 */
  65499. { { 0xc7079fd7a4e9afe7L,0x43bbec79f95430a2L,0xafb58ef46bf066bcL,
  65500. 0x074e17d918835bd8L,0x9fa64f88ec35838fL,0x627686e0a6a44e92L,
  65501. 0xb2fa7adbf0040657L,0x064a31740debb6c9L,0x00000000000001a8L },
  65502. { 0x37d6f29579c093ddL,0xa72f5b6a3288b841L,0x46c586707cfe2a15L,
  65503. 0x221b3107d1f7e80fL,0x0e332aa17826dad0L,0x38c9217328c7b27fL,
  65504. 0x522ac38d4d0aec11L,0xdc271d8fcef88378L,0x00000000000000b2L } },
  65505. /* 22 << 175 */
  65506. { { 0x886c7f2258ef1600L,0xd581f2bc4eb5bba0L,0xd6c7b858e64666b2L,
  65507. 0x114250884e813bb2L,0x428e86f000c98e08L,0x3ac9b40376eb5c59L,
  65508. 0x904f313961bd2db8L,0xa3144a05c71cfa5dL,0x000000000000002aL },
  65509. { 0x002ee77cb69fa450L,0xa1f5050c87240a19L,0xd7df65abbe333836L,
  65510. 0xb64362dcb8cd4a96L,0x058d9bc3d814096bL,0xad04c7e39687901cL,
  65511. 0x67aef9e2f5527030L,0x20dae8096f375a8bL,0x00000000000001ddL } },
  65512. /* 23 << 175 */
  65513. { { 0x6cdcb4f4d7358b2aL,0x721a661239de828fL,0x90fe45b87849fa10L,
  65514. 0xcbf025e4f5f3dd29L,0xafc867ddd5e38af7L,0x445f0caec89ee1fcL,
  65515. 0xa1bb95133a94995aL,0x9e2677e8a7fc2cc0L,0x000000000000013bL },
  65516. { 0xfaac6a7e45067fe6L,0xf6e4b6c3db3c4c8aL,0x9505248205472bc2L,
  65517. 0x99a92d49b96169dfL,0xe9f7dcdc77a9943fL,0x5962e40811c6f013L,
  65518. 0x9f2209abb25ab9f6L,0x9a3c6ccf1c4e31c0L,0x00000000000000abL } },
  65519. /* 24 << 175 */
  65520. { { 0x2124d45c3f9900d0L,0x2452fe1db6a32111L,0xf12b476586f1f700L,
  65521. 0xc04e44ec977316f6L,0x582ca8509705fd58L,0x51ef29493167cf6aL,
  65522. 0xca75486404f204c8L,0x61dec7f3a46fd945L,0x00000000000000b9L },
  65523. { 0x78114ed6af6e04d1L,0xe1ec56f601a4b6d2L,0xc26f5416ba41c631L,
  65524. 0x76b8204b7d9b9f82L,0x665fe0fec0565f61L,0x7ccd8aa573c27925L,
  65525. 0xcd6756d82f58e901L,0x6e932418e8f75a4fL,0x0000000000000019L } },
  65526. /* 25 << 175 */
  65527. { { 0xf40476e4bcea293fL,0x7b36fc1824605173L,0xddc9d807136fecebL,
  65528. 0x07e3f62b80bde5c8L,0xff1a3e28f192162cL,0x6e38386668f587e8L,
  65529. 0x7f14a26b473ca679L,0x8370dc18bbb2a08bL,0x00000000000001abL },
  65530. { 0xc10876849fae944bL,0x8b7105dd319085b9L,0xa81fceb47e689653L,
  65531. 0x9a69e78c74054550L,0xc13a53b0d742d36cL,0x57e2bd060cfde494L,
  65532. 0x2d7eb0afe06377e1L,0x21f439a8df91f422L,0x000000000000001eL } },
  65533. /* 26 << 175 */
  65534. { { 0x11113aff28dbbef1L,0xac6ac5329515632dL,0x1e88244e42a245a7L,
  65535. 0x30f28f4a9b0e20e2L,0x8bc178722b15e0ecL,0xc15e2549ba5a885aL,
  65536. 0xb42f06201685ce7cL,0xd80f13b9df452e98L,0x000000000000008bL },
  65537. { 0x39df7724f9a80bbaL,0xc734b0bb28dcf06dL,0x6e09c92bb43a5cd4L,
  65538. 0x175127da8c0ee83eL,0x50bde213f88485b4L,0xd9f6c90124a0ef83L,
  65539. 0x66ce46bfc205d20eL,0xd6f1c04fde4968adL,0x00000000000001a2L } },
  65540. /* 27 << 175 */
  65541. { { 0x0b0c0c46b26e8efdL,0x9afae2cbef3aeaf3L,0xce90d21ea18d8d77L,
  65542. 0xd951a21fb7ae720cL,0x33317bc9a460d39cL,0xe5be6b979a5930baL,
  65543. 0x9ea57837ae7f0e7bL,0xeec5b7efc747589eL,0x000000000000007fL },
  65544. { 0x454e0e744ac962c6L,0x3b802e2b396bb8c0L,0xd3aa625a4cd0c242L,
  65545. 0x44ea67800cf000fcL,0xce7a84112be0e87aL,0xa9448c66754f626bL,
  65546. 0x62c789ed9e6d6832L,0x0f5bd24ad7463e7dL,0x0000000000000096L } },
  65547. /* 28 << 175 */
  65548. { { 0x920e0cf981414e26L,0xb45cf442498a580dL,0xd424e9e24cbbfa67L,
  65549. 0xe64390071decf2e2L,0xc7fae004d9051a61L,0x9fd02f2898e66be9L,
  65550. 0xcc4afb0b419b7e92L,0xfd421f03ef8af4b3L,0x0000000000000126L },
  65551. { 0x7b45c797e0e5eaccL,0x04a9b25f202041aeL,0x27888ac85849c309L,
  65552. 0x9325ce353f58628dL,0x90e98c4a25ef6fdbL,0xf4ff673cfd3dfdf2L,
  65553. 0xe56aad1a32ccfb2fL,0xa6c6d2caab9d6f10L,0x000000000000011bL } },
  65554. /* 29 << 175 */
  65555. { { 0x4a4d81339e5e7cc1L,0x80abf8ea31cb6f3cL,0x098274246ffe6f1cL,
  65556. 0xa164acfc5b814af3L,0x5141097ba9b76b27L,0x1693d5fc6e26a0a5L,
  65557. 0x70d5e6e75223f787L,0x417a7ddfd3686b7dL,0x0000000000000082L },
  65558. { 0x9315994a8004c24aL,0x1bb50e549423011aL,0x0c8b3470ead2f81cL,
  65559. 0x9afa2a0e52c11f14L,0xc7094b863b019170L,0xc3405dacd8518bb6L,
  65560. 0x3df2a5c805b718b3L,0xe0dbf810b65b9d21L,0x0000000000000038L } },
  65561. /* 30 << 175 */
  65562. { { 0x13f45d45ed942a64L,0xfcafee83705cbec8L,0xbc9a11d052186f58L,
  65563. 0xb5ec924941ee3189L,0x71d770cbc95c6c4fL,0x7f348c27d610f241L,
  65564. 0x9116747564ab476fL,0x30396f906d8350abL,0x00000000000000b6L },
  65565. { 0xb866ca72a9c8b74bL,0x26aeabdb3d3df97bL,0xd4ea56a365cae75aL,
  65566. 0xc873fde088facf27L,0x4d4211cedb995516L,0xa01cf05289799b04L,
  65567. 0x55d85824d0f0c2a4L,0x434682b0dd83ded2L,0x000000000000011dL } },
  65568. /* 31 << 175 */
  65569. { { 0x920437b6b0463ae7L,0xed6c97665155b076L,0x06ad4f3c0a2cdb79L,
  65570. 0x98cb88f2485ffea3L,0xc8ba1b252988de4dL,0xce3a27f73529a997L,
  65571. 0xb1440b30b2796951L,0xb810edd37887e411L,0x00000000000000c6L },
  65572. { 0x22d9308a6c094e06L,0x01d5e2e57cb1cafeL,0x2587378cc3de4bbcL,
  65573. 0xf60e9c3d774d4435L,0x689cff22147428d4L,0xc3dc80c093139fcdL,
  65574. 0xb3c4ba93c526a089L,0x623be8e82e6e4891L,0x00000000000001d3L } },
  65575. /* 32 << 175 */
  65576. { { 0xc03c182d851368eeL,0xbb94a33d57c919f2L,0x9cf0c767e333ace3L,
  65577. 0x037c7d47d974de7fL,0xe96e02cf8b18fa5cL,0x6f1a3e9126cf35f7L,
  65578. 0x47affdc033486c59L,0x2c370bfeec8c2a2bL,0x00000000000000e1L },
  65579. { 0xdce5de2c18a3f84bL,0xc4bb672e2ad42ca2L,0xb6581d7edd0731b2L,
  65580. 0xb6ca46ca2809ac7eL,0xde8edba2189b0ff8L,0xa72ee3e81ff4631dL,
  65581. 0xf44a8fc6f1004bcbL,0x103dd1b9c8878531L,0x00000000000001caL } },
  65582. /* 33 << 175 */
  65583. { { 0x4d01b08c332bfc6bL,0x8223c8936205e95dL,0x4d003a46cb91bfccL,
  65584. 0x08316e3431e111dbL,0x30c85a86e0c13d49L,0xce3c5846b4fd3073L,
  65585. 0xe4b316bc05c18409L,0xd7e8304cc72b6cb1L,0x00000000000001ddL },
  65586. { 0x9ceb7fccaa1fc1eaL,0xcefb89e96f61cf07L,0xb1728fd5a3daa487L,
  65587. 0x2476192440ab1f39L,0x23d5fdba2e9e2328L,0x0ba18c70f81dd4c5L,
  65588. 0x61333b1c10884f58L,0x57ef145f6496ae54L,0x000000000000014fL } },
  65589. /* 34 << 175 */
  65590. { { 0x5bf22305ea6d16ecL,0x1a13c5bb3ae82195L,0x622ea9454f1c43f7L,
  65591. 0xdf1011f675063cf4L,0xbe98aca99eec62e8L,0x2face80fd88258b0L,
  65592. 0x9e3dd0c4bd532a0aL,0x1c13334252ad512bL,0x00000000000000faL },
  65593. { 0xe7004937964433d2L,0xf15f8f25b5d0a434L,0x392242bbb1c07babL,
  65594. 0xfd3c197437177cfcL,0x611a58203051cf50L,0x4a830e19f9c0b4ddL,
  65595. 0x2675d3aa2d92d1b7L,0x7a2ae9dcb649859eL,0x00000000000001e3L } },
  65596. /* 35 << 175 */
  65597. { { 0xed601d01372f2e61L,0x989f14361e886ed5L,0xc924db9cee004808L,
  65598. 0xbe07b40b7469977dL,0x2be5445a075e3ed3L,0x2dcb8edfb00fb21eL,
  65599. 0xbc859cd63ee23c76L,0x484c8988125dd98bL,0x00000000000001dfL },
  65600. { 0xf6b5b6871f25661cL,0xc95ad2c580939d4cL,0xfa12444f920a40aaL,
  65601. 0x7880e344a99e78a0L,0x6539ed2251356672L,0x41f6c73ba4910f50L,
  65602. 0xb6372d7ea09afb69L,0x6e7a691b1e8c75a4L,0x00000000000001adL } },
  65603. /* 36 << 175 */
  65604. { { 0x659f832f1cc592e3L,0xd9c86a4591c3bf97L,0x1b1166b918c82b12L,
  65605. 0x82ad18e294eb33ffL,0x0678927a15699561L,0x7cd0ef8016f7b8a5L,
  65606. 0xfd885fe19451b7e7L,0xaf7de79539a9fc7eL,0x0000000000000052L },
  65607. { 0x6f2206e984cc8626L,0x71d11d08a976b5b7L,0x0ac59e61b66812ccL,
  65608. 0x1b40ab0a9c675e35L,0x6562f93810775f6eL,0xc2da3006def4955bL,
  65609. 0x89a9418346554627L,0x2972033edfe70a84L,0x00000000000000f2L } },
  65610. /* 37 << 175 */
  65611. { { 0x985f25c699200f88L,0x262dad2bfac98496L,0xc9274cc72ed4811bL,
  65612. 0x413e0b2d02b34d7eL,0x57462287f3201f03L,0xefa6d0a869264714L,
  65613. 0xc052453a9baffce0L,0xab1111b0929171a0L,0x00000000000000e0L },
  65614. { 0x1358d4d4112c22ffL,0x2fbbda6874617bcdL,0xbe2bac8e85a767f9L,
  65615. 0x5a30778114862b96L,0x82c0ea86a58e1ec5L,0xe096587186208bacL,
  65616. 0xda711c4c6dd71c57L,0x8babe7ae242273a3L,0x00000000000001e8L } },
  65617. /* 38 << 175 */
  65618. { { 0xfb985617a96468b6L,0xc71a196944df6e18L,0xb8f7a7d810c008aeL,
  65619. 0xdfa67bd1372d99b5L,0x328e967977169ef4L,0x20e3b7e505134517L,
  65620. 0xfa7cac595097dc00L,0x09631199122797d8L,0x0000000000000003L },
  65621. { 0x6ef792160862ee06L,0x71996694a81f02cfL,0x133519becbd2e915L,
  65622. 0x193f486759e47728L,0x90195620a28aff0fL,0x5da4a9d642049561L,
  65623. 0x60372d2126350d3bL,0xa7b159f3c9f56af2L,0x000000000000003eL } },
  65624. /* 39 << 175 */
  65625. { { 0xa58f7256ccd817f2L,0x0465664ef4fbcf70L,0xad43a3ec1608a6a2L,
  65626. 0xad7caae01bfe0a90L,0x3f2599a0b3a447bbL,0x4ddd47b8f61936f6L,
  65627. 0x61a3607779e2c9edL,0x6cbe8278c92cb5b7L,0x000000000000013aL },
  65628. { 0x3c882911139061b8L,0xd6d348d221d48350L,0x5979da6b4860b3fdL,
  65629. 0xd051bc321869311eL,0xf3ba42446ad422fcL,0x3b84c1810d1d093bL,
  65630. 0x2f29f5a6a96ab441L,0x8f9c5d395bf8399eL,0x00000000000000e0L } },
  65631. /* 40 << 175 */
  65632. { { 0xa3b9aaacdc1c3f86L,0x529872b63f893dadL,0xff3e74c2e604ac86L,
  65633. 0x39652c96857a9dd4L,0x494455e9fa60a469L,0xa11b7cbf1320b873L,
  65634. 0xeb26217c6ee60a53L,0xf732544484560f96L,0x0000000000000125L },
  65635. { 0xdd6e98a1c4996f4dL,0x5fc566d07e9e70c1L,0x59e3c611dd9ee515L,
  65636. 0x4d60fb0795e436c0L,0x50e75e0cc096c8c2L,0xaa7d04addebafd21L,
  65637. 0x2fd1b14c7ea109b7L,0xd72ee3392594d6f8L,0x00000000000000c0L } },
  65638. /* 41 << 175 */
  65639. { { 0xff378e0a242ee38eL,0x38d26881d4264551L,0xca783b631e1df843L,
  65640. 0x019aeefff9c95555L,0x2fcd1e94eb753522L,0x16c244eec1225950L,
  65641. 0xbc7a6a75685338b9L,0xae67fa3b6215cf68L,0x0000000000000012L },
  65642. { 0x53b4e8f437defd78L,0x2263cc33e9d41961L,0x62814a2a2119dc07L,
  65643. 0x50dd22ec96b76d54L,0xbf0b2b8727c615d8L,0x66c9c5f1730ae555L,
  65644. 0xc04c86a937cd7d89L,0x451915bed4ed94d0L,0x00000000000001f5L } },
  65645. /* 42 << 175 */
  65646. { { 0xb3e69f756c45239eL,0xa015685259815529L,0x37951fa13984661aL,
  65647. 0x8f7699e888e8fd3dL,0xae10f84b6ebf1690L,0x7f2baff5ec3175edL,
  65648. 0x2d6f42f53266e09eL,0x94482ac1273e04a6L,0x000000000000015aL },
  65649. { 0xa3ed1424e85317c4L,0x7d9afa32db2a9492L,0x660fc8e609558105L,
  65650. 0x611bbeb9a8be7a44L,0x8d66417600638075L,0x4685c94a4d7a0954L,
  65651. 0xb23ae4dd1ec88785L,0x766a2eddccb991f4L,0x000000000000016bL } },
  65652. /* 43 << 175 */
  65653. { { 0x1c24478a341f455fL,0x8132a6b905502538L,0x5c23c4d9528d2865L,
  65654. 0x6fd3bc4e93b35d0fL,0x88838b49f6f4768fL,0x60c0a07f18a8ded4L,
  65655. 0x4fb44a8e0d71dcc0L,0x4b41b64efbd17fc0L,0x0000000000000198L },
  65656. { 0xdb828f7a2f01d067L,0xad69f37320b0b060L,0x650cdaf51f7c4be0L,
  65657. 0x00b810e8ef9f47e6L,0x924e5a636e908d72L,0x4836dd4ef82efeeaL,
  65658. 0x91855928e8ee36b6L,0x747f47d578e6199aL,0x000000000000001dL } },
  65659. /* 44 << 175 */
  65660. { { 0x7844a30e11f5f4d4L,0xbd36ad4cc9663248L,0xaf697c63af7b4892L,
  65661. 0xe1f94853bb03fb6cL,0xd5da7f43e368631aL,0x970c4f6c783be7a9L,
  65662. 0x2321bd2643f90845L,0x5030a262966a8c34L,0x00000000000000e6L },
  65663. { 0xf12d877ff7a82150L,0xbcdd93fea5ce6cbbL,0xe6c917b93c59668fL,
  65664. 0x4184cf3046222b1dL,0x24b27ee14b67d28fL,0xba7e6f7345e0b96bL,
  65665. 0x64dd699bf935b686L,0xaf0be69e62eb62c4L,0x00000000000001cbL } },
  65666. /* 45 << 175 */
  65667. { { 0x74ae258fe63f6b8fL,0x2f58e84b09144f8aL,0x858165d0064af3f4L,
  65668. 0x77ecf07c5a2081f6L,0xd9e9be22e211fb05L,0x3758f5b14971cc28L,
  65669. 0x68ca7d8af535a5d2L,0x2addd4138398e52dL,0x0000000000000046L },
  65670. { 0x442dfac0dc04d140L,0x6abc234ebae00092L,0x63209027118de0d8L,
  65671. 0xb2510bc14b1bb070L,0x6bda803e3b104f51L,0x1821f785bcf2d58fL,
  65672. 0x506f07e25785c8deL,0x9d78c916b2e16847L,0x0000000000000028L } },
  65673. /* 46 << 175 */
  65674. { { 0xd3bb0945ec04d3d9L,0x3a706fed4eca5fecL,0x9b228ea2c93eefcdL,
  65675. 0xd412dfcf0a627f68L,0x906c39a812f470a0L,0xa115f5899c93c4ecL,
  65676. 0x5f22b7175e649e76L,0x83ba978a159e8642L,0x000000000000014bL },
  65677. { 0xde363c41c76cdb50L,0x909b66c948f7ba77L,0x30d1e4ba7d0d3b17L,
  65678. 0x39336ef38b390c4eL,0x8cb65cef53420b4aL,0x5c811baa11b8a142L,
  65679. 0xa4be4bebf8eef3ffL,0x4a11fd509bc39344L,0x0000000000000097L } },
  65680. /* 47 << 175 */
  65681. { { 0x8474dd63efa97351L,0xa12cf18a58d6b638L,0x3bd605e35d890e6cL,
  65682. 0x21cf4525a2127369L,0x7db4aa6a5466e713L,0x3f034b4fcda4954dL,
  65683. 0xce44ccb88ede8849L,0x6e5ff0eb6fe75314L,0x0000000000000191L },
  65684. { 0xa700e7fe9dd62d65L,0xa2be6afacff305a6L,0xfc61f045f675a7e6L,
  65685. 0x69be21693f984612L,0xb5e140abaabd7748L,0xcdac92d519c004cfL,
  65686. 0xe28bf3bbd7164a07L,0x1ae1ffdfbe784423L,0x000000000000002eL } },
  65687. /* 48 << 175 */
  65688. { { 0xf57c47836c0f67a6L,0xa5704e7dd3a38f5aL,0x24fce48d4f9422eaL,
  65689. 0x0dabc5a4d9982f3dL,0x6bf4f9eb3f09226fL,0x944ed407a196f481L,
  65690. 0x949495bd7d88490cL,0xbae973645634cf1dL,0x00000000000001e9L },
  65691. { 0x5bebd8ee1e5dca35L,0xbac77371b329d451L,0x124ff920b7a9d67aL,
  65692. 0xf7e8e1f69616c1beL,0xa518deb38dbc7e17L,0x13ffa792d52e3e76L,
  65693. 0x6dc6ef5d93109227L,0x5ba160b49ce19c4eL,0x00000000000000ccL } },
  65694. /* 49 << 175 */
  65695. { { 0x1dfa85794d2a0cf8L,0x48618e4b2bfba0c2L,0xf266f3b7177f1fc5L,
  65696. 0x0f12b884cf1720e2L,0x0ae8e5a8ddd5c9f0L,0x33a683cfca4456c4L,
  65697. 0x68b15ae27b153cf3L,0x78c717e3f483a724L,0x0000000000000135L },
  65698. { 0x3416113cd38af77aL,0xd5063d39fa9c36dbL,0x97daad1fc1a854fdL,
  65699. 0xf7b1efa6f2599bffL,0xaa3314678e129857L,0xb920da73a4b7c9f2L,
  65700. 0x6aa551a06d96f499L,0x2b7f6f1fdbcc5e09L,0x00000000000001d9L } },
  65701. /* 50 << 175 */
  65702. { { 0xd823b9961d977aa9L,0x88decc8f402a5bddL,0xc7b191d8368c7e5cL,
  65703. 0x556e9ec0f5ed5110L,0x4a81febdffecce67L,0x75919f76814bb429L,
  65704. 0x04d08334849762c4L,0x9a037df8ab24edb7L,0x000000000000004bL },
  65705. { 0x9cab359f9592c8e9L,0xcf5dd731f35f9450L,0x49ff6c9083f04d04L,
  65706. 0xce238fe14f50c7adL,0x6a971ec477442addL,0x7aaff382eb6dada3L,
  65707. 0x14b43e873b7f4447L,0xc9e21cc7c67838aaL,0x0000000000000032L } },
  65708. /* 51 << 175 */
  65709. { { 0x3c5764d9e652d9e9L,0xf6d664d15c58afd5L,0x6f72c39c5263ea19L,
  65710. 0xb7c2a994e740eb02L,0x24868934ecf6cd38L,0xeb5aaa0ab07e9b54L,
  65711. 0x76893a641cf1a8dbL,0x13b31739fb9f2e6aL,0x000000000000012dL },
  65712. { 0x185abf0f52104f6aL,0xa352e81acf2e3361L,0xf3d248cdd9a21f71L,
  65713. 0xdae16ec865f3686cL,0x42ce080c6bd346e8L,0xd0354599fab70983L,
  65714. 0x9259e6c9a24aa4fcL,0x816c3c813b4fe5d3L,0x000000000000007eL } },
  65715. /* 52 << 175 */
  65716. { { 0x4df0de9441fb96a0L,0x4412561574225d62L,0x02c82702def80205L,
  65717. 0x7611d83d8585c7f3L,0x4b30c7c70a4a0380L,0x5f2089fb0d1c3a3aL,
  65718. 0xce0fd7a169b754f7L,0xcbcf956d7b840647L,0x00000000000001eeL },
  65719. { 0x9254d02e9152b2f6L,0x0004290f5a55c8eeL,0x1e65776a06eeb968L,
  65720. 0x1aa40ca875898404L,0xe5f6d7e1082b1b3dL,0xe8a4447d432c62aaL,
  65721. 0x5c988bde7f251463L,0xf1a617221e477a2bL,0x0000000000000082L } },
  65722. /* 53 << 175 */
  65723. { { 0x6e94a400a12e0ed3L,0x7ec7f137693f0b2bL,0x3369312a64dcb97dL,
  65724. 0xb6ae9d92bb174be6L,0x4343763fb49f4545L,0x2781f0c93988b19dL,
  65725. 0xae34e2bfa54bfd46L,0x19a6243e347e1992L,0x0000000000000135L },
  65726. { 0xab693a17f339cc98L,0xcda5aa8a306031fdL,0xcdbd42722daafd10L,
  65727. 0x8fafb43f6dd6c153L,0x1eb19e412ba28ddaL,0x34a0298c447fde55L,
  65728. 0x7872662a05fc38b9L,0xa174d1070222688cL,0x0000000000000032L } },
  65729. /* 54 << 175 */
  65730. { { 0xbe5631d2d56dc535L,0xde5e0ef7f0485a91L,0x848a5d3836185a80L,
  65731. 0x61dbcdebc44e4ba7L,0xb9a36cbf13524447L,0xb10894ae6417cda2L,
  65732. 0xfdf2be12c4321744L,0x604734309cfcb161L,0x0000000000000031L },
  65733. { 0x13f91ab30bb077cbL,0x27f4d378846d00deL,0x3a75d114c18b6495L,
  65734. 0xb33cd9d3cff1421eL,0xf72e1ba92e077183L,0xe6d74ff2fb4bc174L,
  65735. 0xcd5a5f06d2ed2ef7L,0xeaa9a4d132ead477L,0x00000000000000adL } },
  65736. /* 55 << 175 */
  65737. { { 0x208c52b387c78c83L,0x8a814dcb41c862e8L,0x278976d32ca53494L,
  65738. 0x488caf4bcd7bf0ceL,0x2a07f905074b5f09L,0xb53383af0fccf4cbL,
  65739. 0xcff62835deefe7b2L,0xbb0afbcbc2febcf9L,0x00000000000000c0L },
  65740. { 0xea3673b6d107b949L,0x9253804482d5a087L,0x52da8af43c18e3beL,
  65741. 0xcf635990b6fe0565L,0x7be60be52dd319a4L,0x246d7e44be349ee4L,
  65742. 0x395a48efc0cb8352L,0x3013388d08100678L,0x000000000000000cL } },
  65743. /* 56 << 175 */
  65744. { { 0xf43f57f1644be376L,0x5ead8d33cf66858eL,0x40d9ab0358ad4128L,
  65745. 0xaa6ad5b5707e7c69L,0x52d2bee602b4e5f0L,0xb39b48968b1a1287L,
  65746. 0xa9f1e0ecebc32b16L,0x7ff75a69f442c70aL,0x0000000000000039L },
  65747. { 0x118149e893cee35fL,0xdc281d8fcbb28a72L,0x33055e64e8a60d55L,
  65748. 0x8c247f5a89367610L,0x246297062f93e57cL,0xff8dc0ef68104540L,
  65749. 0xea50e01fccda4787L,0x18ae4a7472e80504L,0x000000000000015dL } },
  65750. /* 57 << 175 */
  65751. { { 0x974295ab6f7aa51eL,0x5f1f806d43926d80L,0x803b6f7cdc56e092L,
  65752. 0x02a052652cbe5bf6L,0xcec50eba11dcac2bL,0xebc5da4767993ba7L,
  65753. 0xeb38f44945afb69aL,0xf84fc77f0e5d3809L,0x0000000000000103L },
  65754. { 0x31bbb0ec544fb496L,0x3d31c7f9675994d0L,0x8c77b0c4c5116ee0L,
  65755. 0x8f212d31360d5cbaL,0x133fa56c95775eb7L,0xea09f1bbeb5fa46aL,
  65756. 0x50d1ec5096379da9L,0xe07b4ad7d54e7be9L,0x00000000000000bbL } },
  65757. /* 58 << 175 */
  65758. { { 0x6e83884fcc138ec4L,0x776f59d1af876d2aL,0xe884ba6e1138ec1cL,
  65759. 0x1f5ac35fb7ee8a3bL,0x411a904dc6f0ca3dL,0xa0e25f75698458f4L,
  65760. 0x8ab4b3f1270abf22L,0xc45f0668afd72a81L,0x00000000000000ccL },
  65761. { 0xe93b101ab1428555L,0x49c43cefe1110034L,0x5d33dd3532cec22dL,
  65762. 0x6c96474469e47c69L,0x2a3af875eee1b050L,0x9ef7e37c53339d75L,
  65763. 0xf7b4e7cc69f70379L,0xe52c507c005d6188L,0x000000000000016aL } },
  65764. /* 59 << 175 */
  65765. { { 0x900a407c16ea7e9dL,0x7472498ebf1e2d4fL,0xc41b8e8f47d6ffd6L,
  65766. 0xd93cdcdb567590d9L,0x2361492cab650660L,0x0ada3e50975a5b7aL,
  65767. 0x4342909767613b71L,0xa8d9a32cd90f479fL,0x00000000000001ceL },
  65768. { 0x67c544a1722a95d2L,0x68312626d409ec5aL,0xed244c5c2738cbb0L,
  65769. 0x491e21fa8fbbe571L,0xbc6431fdbe4b131dL,0x8b84091b8eb05fb2L,
  65770. 0x7d82a00220103d94L,0x016cc8bc6ef8af3cL,0x00000000000001cfL } },
  65771. /* 60 << 175 */
  65772. { { 0x5e2b4a26cd5ccc7aL,0x44e349def1b8db05L,0x034d54b8efeedfb9L,
  65773. 0xaf410c3eb0de1cf0L,0x0e6cbe44ed9148e5L,0x752ad823e9cc2a8cL,
  65774. 0x3917cc72e9af3244L,0x8639e4a393e23c63L,0x0000000000000111L },
  65775. { 0x4c0d05a46faf150dL,0x2d93d0d2d8d42497L,0x70669c4383f3c667L,
  65776. 0xea34f74cf766b202L,0xcfd2dfc1a8cccad3L,0xbe520b4002cb38f7L,
  65777. 0xeeeebc97677939b8L,0xc7a734e82e86cf07L,0x00000000000000d8L } },
  65778. /* 61 << 175 */
  65779. { { 0xf72c72940d75ed6fL,0x3135f686ccf5cc3bL,0xe971c1f6cb3219edL,
  65780. 0x01aeed44d7c35486L,0xb9fe395d13a4d803L,0xad124ee40f47fdc0L,
  65781. 0x113d1117ee46329cL,0xe252a70e8ffb9c24L,0x0000000000000072L },
  65782. { 0x88f443817efec9e2L,0x2444c821133a819bL,0x558382008114f80eL,
  65783. 0xc3a4e191088f5c42L,0x222c3389f8775660L,0xee7e2c8b0329f914L,
  65784. 0x3a4fad9f45c18e0cL,0x3ace9e4b3309eca3L,0x00000000000001daL } },
  65785. /* 62 << 175 */
  65786. { { 0xd343830f2ab0160aL,0x731c5a9bd81bd1a9L,0x4443103457b8df66L,
  65787. 0x2af1ef67433ef550L,0x9e84336c278ea0d9L,0x53f2c6addb1c8881L,
  65788. 0xbdcdeadf12be675fL,0xfca45c98ffb39ecbL,0x0000000000000109L },
  65789. { 0xd7e752f42cd3a337L,0x245572edf0c5ccafL,0xad130568627281c2L,
  65790. 0xf1948b1494920647L,0xc35f002381b60cceL,0xc99bf95e4d6d439fL,
  65791. 0x827a29de2c19ed5bL,0xbefcd94f65737517L,0x0000000000000157L } },
  65792. /* 63 << 175 */
  65793. { { 0xf54cd73b46227f96L,0xb6beaa8d1a062ddcL,0x1d6ea57dca017154L,
  65794. 0x47292049f2c3f854L,0xe0b35769eb41db25L,0x58573070cdef8384L,
  65795. 0x8cd35c89d8eb4e66L,0x883e914d4fdc8982L,0x0000000000000056L },
  65796. { 0x0e47c705af242c24L,0x864a4cc18e09b24fL,0x32ee11e88747f144L,
  65797. 0x72d496348f666496L,0x74a0a314bbf0720bL,0xabe29f1db6ba8cc1L,
  65798. 0xae92d4e7c20e7e84L,0xc2e5dd9336f6c9f1L,0x000000000000005aL } },
  65799. /* 64 << 175 */
  65800. { { 0xcb35df1c0a0eb364L,0x6d0479606efaa084L,0x2ae2d2833735ce56L,
  65801. 0xe0b9d7e8df82fdffL,0xff7a316c39cf5ab2L,0x23254f4e26b6c05fL,
  65802. 0x4751cb2de5c125fdL,0xfa059629894e9a61L,0x0000000000000148L },
  65803. { 0xe64ca47b49112eccL,0xf4f9f08cf5fd0dd6L,0xad1c8c7274bdc4b6L,
  65804. 0x34660962bba001e4L,0x346d7a407e2ad36fL,0x68c8b34bd27181b2L,
  65805. 0x8aeb7ea43b424e34L,0x257ab659d4498d11L,0x00000000000001f2L } },
  65806. /* 0 << 182 */
  65807. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  65808. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  65809. /* 1 << 182 */
  65810. { { 0xad57280abb5be7e6L,0xf102ff10066e97a7L,0x5308cb8e61c86340L,
  65811. 0x11b53155d02e15c2L,0x50ed7916ef223374L,0x8c48f8371ee821e2L,
  65812. 0x0b3010cf7931b97cL,0xb84cd0142062ec30L,0x0000000000000007L },
  65813. { 0x05a7a5a024b6e1ebL,0xf8364d18b5a7402dL,0x2b9ec6c5f9eb3538L,
  65814. 0xf363dac905915b41L,0x2a567784a7909cb6L,0x5b386ead22fa3badL,
  65815. 0x646554b91e873fbfL,0x99f6ad72b88ca34cL,0x0000000000000077L } },
  65816. /* 2 << 182 */
  65817. { { 0x8f37e861fc3d5a8eL,0xd09d8e74901ce1a2L,0x212e32a992f81574L,
  65818. 0x38ac8ba60d96a933L,0x3d990b98b84c99d4L,0xb97f4e73df58647bL,
  65819. 0x95ae93cc7641888cL,0xd7bdb083a0969dd3L,0x0000000000000182L },
  65820. { 0x6531530c17830426L,0x9db488f48a57b683L,0x9452ca0f0d87eca3L,
  65821. 0x19b198f08b4be2a7L,0x17939ab22775f0fcL,0x7f662a0625bc5c0cL,
  65822. 0xdf04cbef428884f3L,0xa4d202209f9ff142L,0x0000000000000090L } },
  65823. /* 3 << 182 */
  65824. { { 0xd36d95e98d20af1dL,0x042b6b721475a01dL,0x90de7dc34e5322d2L,
  65825. 0xd7201c9c8085753bL,0xb2467afb2a41a80eL,0xde0b994dfcbef3eaL,
  65826. 0xab46bec5219735a2L,0x5c6efc5a9f068a58L,0x0000000000000167L },
  65827. { 0xad80498ffbe3e605L,0x0e49b878b58b1af1L,0x5a90b3d5f7467e30L,
  65828. 0xb6feeb53d872561eL,0xd33ca82162456735L,0x6262f717cdf5cb42L,
  65829. 0xb7fe12752d9b039fL,0x3d76868940af9134L,0x00000000000001efL } },
  65830. /* 4 << 182 */
  65831. { { 0x4585d3aa31ff6e80L,0x8521ac35c19ae65bL,0x983e0c6af9f78334L,
  65832. 0xc4131279435db0f0L,0x0f2d350b51bdb67fL,0x1fea5391d65d265fL,
  65833. 0x7f0b55f7798e80aaL,0xf322493ad549eaa9L,0x00000000000000ceL },
  65834. { 0xdf7b80aafe9e5dabL,0x5585f93a1861e785L,0xb70fa9abbbb5764cL,
  65835. 0x23ce8aed3a39ef40L,0xa719329a14920ff9L,0xa74511124a00e5b9L,
  65836. 0x48b0001bff5c3588L,0x8dcb5fe10e0551ceL,0x00000000000000f1L } },
  65837. /* 5 << 182 */
  65838. { { 0xa31575ca4b4c5966L,0xae86a8c831b5d540L,0xd19ce0a2386fc523L,
  65839. 0xce86998b4540a480L,0x7a4897ab0f0eeee5L,0x0dea1fa0042b6dc6L,
  65840. 0xd1c403044ff99780L,0x3d882bc861fb0837L,0x0000000000000023L },
  65841. { 0xef942ae4bd2b6cedL,0x7a91fbca038d1540L,0x644571d23631a109L,
  65842. 0x865061c09289c9a1L,0x9f9d809df67c8866L,0xa73777bb75b91533L,
  65843. 0xd4128ce73ee99cd6L,0x2c83701571d8a67cL,0x0000000000000043L } },
  65844. /* 6 << 182 */
  65845. { { 0x1e318c6a5ab019e7L,0x83c490b03660eaccL,0xe464c85856e4b9edL,
  65846. 0x6724aedbecf9b627L,0x83f9312e6a28f322L,0xe1f8314f3e3758e7L,
  65847. 0x8ac29afc1c0639f4L,0xa0390923591fb450L,0x0000000000000132L },
  65848. { 0x0188fc767dab76e1L,0xcff3c75f570fa4c0L,0xd1a1db3a4be7e55eL,
  65849. 0x6f97be3c575e816aL,0x5ea0e3240a9acea0L,0x05699068a9be2cc7L,
  65850. 0xbe8c58299391ceb6L,0xcb55ac5d672c1fcbL,0x000000000000013cL } },
  65851. /* 7 << 182 */
  65852. { { 0x82320b25e4eec241L,0xa93543d00c54433fL,0x5ff474b1024c6917L,
  65853. 0x70337516d2e8c7c0L,0x5d97d6b2eff507c2L,0x415cc09eb642c29dL,
  65854. 0x6234cb715a3b675fL,0xf4721ec9bf150b2eL,0x00000000000001bfL },
  65855. { 0x5e4120da2a377b63L,0x518a3bf81a851ddcL,0xe2dd2b95dcc9ee26L,
  65856. 0xc2b153998fd7b647L,0x1b4b43df7eb436e8L,0x7c354da61ca50fa6L,
  65857. 0x2997e27dd1f1b4ceL,0x89b755a4f0e78f01L,0x0000000000000097L } },
  65858. /* 8 << 182 */
  65859. { { 0xdaa72ebc797ee80dL,0x5ee6de5e13bde073L,0x8f21fd78a69b5019L,
  65860. 0x5a8fce8c89191df9L,0xce39466d725f4f61L,0xe1015721d258c98eL,
  65861. 0x22a2f6a5bfb1acc6L,0x5dfef1da97265eaeL,0x0000000000000164L },
  65862. { 0x4697804882470cadL,0x5a62de6c92e3daeeL,0x95cbc0199163a136L,
  65863. 0xd1f51a60f0ad7fbeL,0xd300b7c6f2380828L,0x3fce67f4b1246df8L,
  65864. 0x6aec1313466ec418L,0x95ffd2856063ce6fL,0x0000000000000080L } },
  65865. /* 9 << 182 */
  65866. { { 0x082a54184ceb12b4L,0x20d67a8ce6889f68L,0x5beee4dcf78c7ee3L,
  65867. 0xe234bc07a7c70d07L,0x57957765845cd20bL,0x9f16fc18ce9f8562L,
  65868. 0x7793805865d54d1fL,0x244d5d5c0a33ac80L,0x000000000000000dL },
  65869. { 0xa7642eceb3d0302cL,0x7553b599438b82ceL,0x35db7e6e3bca2614L,
  65870. 0x0f549f7414c632c4L,0xe9d8a3122cf8bdaeL,0xa27062b3281d7c68L,
  65871. 0x1023e6791155cd46L,0xa2d781fb734a6f3fL,0x0000000000000017L } },
  65872. /* 10 << 182 */
  65873. { { 0x46cd5849f6ef2fdaL,0x5b3fa640b1d02cdaL,0x0fb696664e1222b9L,
  65874. 0xf7c6c4a888c8de4cL,0x742c5f24ef16cc79L,0xa4866982c0032997L,
  65875. 0x076035dbbf0a2982L,0xffa69b49779ef790L,0x0000000000000068L },
  65876. { 0x74a20b1174e76a5dL,0xb9bf4b3f35722dd9L,0xad2de2d42bf57ad6L,
  65877. 0x413223308bb9d811L,0x6e7574a05ee8d6c2L,0x16253e6b439a3683L,
  65878. 0x8ba8f866d611da87L,0x11f5f946c9e2df24L,0x000000000000006aL } },
  65879. /* 11 << 182 */
  65880. { { 0x1fa5a29708431e9cL,0xa400cf7ae43aea69L,0xc197afcabd8182b9L,
  65881. 0xd8a48cb691ed64e2L,0x45b3b155fcd39e10L,0x4951cc79cbe71480L,
  65882. 0x939e1a833101aae8L,0x4c354aa4c1bc4f13L,0x0000000000000042L },
  65883. { 0xc21a1cab3571c9c2L,0xe85b99fb54b5d704L,0x0b26a9e0e740e33cL,
  65884. 0xcc33a25ef6780727L,0xaa203d30c2871675L,0xfee96fc8735015f8L,
  65885. 0xea5f0118fb6c489eL,0x1ee87d166e566a79L,0x0000000000000012L } },
  65886. /* 12 << 182 */
  65887. { { 0xd3107dc42eb6d453L,0x3897a60ba3f6b312L,0x5d8ae4b9a26ebd5eL,
  65888. 0xf83e1efa445f3ea9L,0xcdf3f2d6e9c5ae62L,0x43624a7ffe4a7f11L,
  65889. 0x9169460f6634235dL,0x642b8b112f75464eL,0x0000000000000186L },
  65890. { 0x7924b1cdc84496a4L,0x0a5eb42c5f8f5f30L,0x14068d49492cd04aL,
  65891. 0xe0824856f2a5f227L,0x6e146cdead328ed4L,0xc63a68c19118fabdL,
  65892. 0xa295b4127e56624bL,0xc1d31ed187055125L,0x000000000000001eL } },
  65893. /* 13 << 182 */
  65894. { { 0xeb7242709aeaf343L,0x51e4dda7521d1303L,0xb0867bcf4b6d79ecL,
  65895. 0x9f3769280dc1e1c1L,0xc807e9397ce09227L,0xd46d4ccf18f02ee5L,
  65896. 0x4f50c46e7cbe5fbfL,0xee0d19eb8464a6c6L,0x000000000000008fL },
  65897. { 0xf9eabcaf838eb681L,0x3a04860e43b0649aL,0x3ffc96f3f6f4a93eL,
  65898. 0x0e1cefca2689da24L,0xa5c0b7cc6aaca275L,0xa5bbc5ab87f572dcL,
  65899. 0x4c577d4f315e7e93L,0xcdd104b0be10ef14L,0x0000000000000065L } },
  65900. /* 14 << 182 */
  65901. { { 0xa267789abceb62c0L,0xc3536fa5dd342598L,0xa0a158edc66bb97dL,
  65902. 0x2282d372413001f7L,0xcc6365d7bb80b2b0L,0xcfcbab5a75e3e8e9L,
  65903. 0x0b0c89a9d832c899L,0x4c5f3c139109e60aL,0x000000000000013eL },
  65904. { 0xe9437990177cdf1aL,0x0ce91379f9a4d1bdL,0xb3a1a40968b5bdb7L,
  65905. 0xf9a22cc775573480L,0xd05f00d5bdd43f32L,0xc65e107c24cd9011L,
  65906. 0xd3c7f981782fd8d9L,0x4b998ad9771b4074L,0x0000000000000153L } },
  65907. /* 15 << 182 */
  65908. { { 0x3829eee292c5afbeL,0xd6ceab835f385af5L,0x80feac24ad9740b3L,
  65909. 0x2795a4aa1425ac94L,0xf8a2e2fea345fd1bL,0x83e9ee2e41cf9386L,
  65910. 0xf384b56b675a9faeL,0x8dd8fd07ad024c34L,0x00000000000000b8L },
  65911. { 0xe5e8b6b647baac01L,0x0cf5cdaeebb4627bL,0xa0c05d92d9ece132L,
  65912. 0xb778b8723138e22fL,0xf15d930b482fb046L,0x4420d1953ef00d49L,
  65913. 0x07c2bce32acdfd2cL,0x5f0932a7df5d86deL,0x000000000000008cL } },
  65914. /* 16 << 182 */
  65915. { { 0x241872e36910d714L,0xdfcd9db5cf96f106L,0xd32e27facb3a51e7L,
  65916. 0xa55ecaeac4a051c2L,0xfc54759af8944204L,0x569d9efdf938b503L,
  65917. 0x8882ab15c54bf05fL,0x9a8869ed0cab8124L,0x0000000000000007L },
  65918. { 0x1f5995bf361ce52aL,0xda53a556b51ee176L,0x735bfcd6cb664a03L,
  65919. 0x4d8e405d38486de8L,0xeeca6379a807c481L,0x9a24ac8a4d456d2eL,
  65920. 0x159b9f4c3b85ab21L,0x77524d58f256c82eL,0x0000000000000125L } },
  65921. /* 17 << 182 */
  65922. { { 0xabe54ca59d266057L,0x10173cf8ad5590e8L,0xd52929fdc2710408L,
  65923. 0x75164c9941c9bbd6L,0xe2042c2e09ec8272L,0x244a305e411aa6ebL,
  65924. 0x004b6a2930ab6539L,0x58d67a63bb2284dbL,0x0000000000000190L },
  65925. { 0xd830c66efcd95a1cL,0x0e023ec73b20bcd5L,0xc136f25c50b4c7a8L,
  65926. 0x2e36e65af69c7a3aL,0xfca3db62e46a0699L,0x2615d7fe828e0fdbL,
  65927. 0x4bcd0acac894a9f6L,0x1f6a011bc266e64cL,0x00000000000000d6L } },
  65928. /* 18 << 182 */
  65929. { { 0x9624aea7c3ba79a5L,0x303f5c44356b4d55L,0xb266745f4420746aL,
  65930. 0xd554d641ab2157c3L,0x270e293a89a1b1c6L,0x73541da2e81fb3d0L,
  65931. 0xa3af4df99d28ef8cL,0x83e20fe57f159a0bL,0x0000000000000075L },
  65932. { 0x6d4032ad216ce79aL,0xa979ded996dc5993L,0x0653ce03a77cf5e7L,
  65933. 0xd4c7c0f8e612cbf7L,0x664b14144cfd535fL,0xfc1127f460795eafL,
  65934. 0x3c612b6b68378b1cL,0x023e398ec1c7d949L,0x000000000000013dL } },
  65935. /* 19 << 182 */
  65936. { { 0x6f1d92ec3d4ae696L,0xb86106f398fab4fcL,0x822b872e3d5b0645L,
  65937. 0xe99b1302745556efL,0xf7d257a7ffb5a1f3L,0xd1c72810c5469b4cL,
  65938. 0xc023f597f796298aL,0xfe1e4d4c37019403L,0x000000000000016dL },
  65939. { 0x0afd0124d8c8e429L,0xdc549ae033397fcaL,0xcb6b425ffef20af6L,
  65940. 0xf179caa3d3ee3c39L,0xa2bafb4ae2cd0281L,0x6ed7124a8c6764beL,
  65941. 0xe347fd98c891540aL,0x6b531daa0ba5c525L,0x0000000000000176L } },
  65942. /* 20 << 182 */
  65943. { { 0xd83376b06e0604e7L,0xf3da2540b9bdabcdL,0x8a64129ab0069b9cL,
  65944. 0xf98d8a694ed21f8aL,0xcd7950fb17c1fdd1L,0x988ac822a1b303f3L,
  65945. 0x2d6dc22444468a4aL,0xed780eb123f65549L,0x00000000000000c2L },
  65946. { 0x38e4f1e17c4f29cbL,0x030f563663776af6L,0xea357f378032b066L,
  65947. 0xbc96afa12141ebbaL,0xe1396e9f7cacbe45L,0xdc5e9f07c62172a2L,
  65948. 0x00ca038fa26039a1L,0x23796edf96c93fa4L,0x000000000000014bL } },
  65949. /* 21 << 182 */
  65950. { { 0x016e72db586f95f7L,0x7f9e2c36c2400728L,0x052457cf2bf04972L,
  65951. 0x029911681fb30152L,0x5be915ba80cd0439L,0x5e151e1c6faa956cL,
  65952. 0x21ab062272dcf9d1L,0xba0e51b09414b9b9L,0x000000000000014eL },
  65953. { 0xf0a1bc7a201e1ca9L,0x768f5444c7ce120fL,0x2961c06b496c605aL,
  65954. 0x3dfd88f3c22605eaL,0xca174491e4a89909L,0x71319e378b5c6ba1L,
  65955. 0xd56268a9e975dbafL,0xb2e5ff36f38511b5L,0x000000000000014aL } },
  65956. /* 22 << 182 */
  65957. { { 0xa943c94277e540eeL,0x9d13fef6443f5f5fL,0xe9c360fc9ef01a49L,
  65958. 0xf2e1fb0698f8ab08L,0xcb966ce4cc21b8e9L,0x212a01e81f1cecdfL,
  65959. 0x800a4f8be95f2409L,0xa0a6b162fa1a1310L,0x000000000000009aL },
  65960. { 0x23b1052ee4bde75fL,0x032a7dcbb01aa17eL,0x5e4cb05ba641f2b7L,
  65961. 0x6ff29dd715184d0eL,0x29181004f479238fL,0xc3f7b9466a04f7f9L,
  65962. 0x12db296a2c9e0a68L,0x323542c22f7f2a7dL,0x0000000000000108L } },
  65963. /* 23 << 182 */
  65964. { { 0xd9cf8b726028a775L,0x3850c15741cfa8ecL,0x6b4bc9b606915137L,
  65965. 0xae55a728d1c99839L,0x045b7719e23ff638L,0xcae591faf3269ec6L,
  65966. 0x04d5743ff130730eL,0x53372a0e6208ad0cL,0x0000000000000036L },
  65967. { 0x7db65e4e4af7b7f8L,0x9dfde4aee67bba08L,0x62dda13e2cc2e030L,
  65968. 0x4ffd3135a4080e00L,0xd06a20444b48aad0L,0x9442188e59609700L,
  65969. 0x10ffbebaa9ce37a8L,0xe22428600ecb7346L,0x0000000000000005L } },
  65970. /* 24 << 182 */
  65971. { { 0x20f7c6ee1bcf9917L,0x1c7d940f8cbc7d2aL,0xc2a1139ed592def0L,
  65972. 0x0b6b644a936c827aL,0x1b16bf59abb4f3ebL,0x1693fe7916b8b498L,
  65973. 0x4b81cf5badbf552eL,0x620ef3be7e0cb980L,0x00000000000001a3L },
  65974. { 0x6106878f2f6f9a16L,0x15c2303e6cf02778L,0x18c605cf7f7e7e27L,
  65975. 0x6bd45dc798a8de3fL,0x5874172095869ddeL,0x621d8a4b2de20d0aL,
  65976. 0x7632703cdca67562L,0x9374d05536957eecL,0x00000000000000f1L } },
  65977. /* 25 << 182 */
  65978. { { 0x291cad563c81c389L,0xfa1b6f768a663dfaL,0xc23bccfb4d4e1bfcL,
  65979. 0x14218a8881c16ee9L,0xf4c48023fae0c87eL,0x58e978728e9874dfL,
  65980. 0x690b375959dabf0aL,0x45e8790a2f13f6bdL,0x0000000000000156L },
  65981. { 0xc1070b3f17bd5f8aL,0x4bb893cf246d0744L,0xf5e5d9a855e6f814L,
  65982. 0xfea75ee5a20ad845L,0x000d0926d4e9a182L,0x120ef85508b102aaL,
  65983. 0x495db2342947588cL,0x5101834a455b2626L,0x000000000000011bL } },
  65984. /* 26 << 182 */
  65985. { { 0x2a8ebbb27efc758eL,0xc14880f28e3bd85aL,0x95ec9fa6536a42e7L,
  65986. 0x07a26257f6cf0da7L,0x67976b68d1a6a137L,0xf143f97bfcd0179aL,
  65987. 0x99645da231832f2bL,0xbe0940ca0955eb50L,0x0000000000000076L },
  65988. { 0x6d01c753e3acb83eL,0x9cb6f41194373f4aL,0x935f9fc2e758ddffL,
  65989. 0xddee3e64b16c8ae5L,0x5b16820748e77dafL,0x2c0a5f0862a3cf00L,
  65990. 0xf47f143a79315466L,0x2adc4a4853a7d9beL,0x00000000000000dbL } },
  65991. /* 27 << 182 */
  65992. { { 0xd2d98879bb29fe08L,0x261ca47e9e1e47cfL,0x349da8771951592cL,
  65993. 0xe6da4080eb147166L,0x036929ab99d5410fL,0xa870f2a4ff40d8a3L,
  65994. 0x6e12a9c78b775ae9L,0x0c493e092de6fac1L,0x0000000000000193L },
  65995. { 0xea12c2dec0522680L,0xb3a5c0e533afbcc6L,0x5e7da51f049aab7aL,
  65996. 0x5dba87587f2dfa4eL,0x4e931594e3339e83L,0x100c2dcd0c75a4c3L,
  65997. 0x6795a18e562cd1e0L,0x3778c7509aa010f2L,0x00000000000000e5L } },
  65998. /* 28 << 182 */
  65999. { { 0x2d0e0e8c3a12be03L,0xa4febeba75aaa59dL,0xe5ac02d67e8056d8L,
  66000. 0xf3788c67bacd030cL,0x4018ae3921fda504L,0x690259dcf16aa240L,
  66001. 0xf51723b291ad5d2fL,0x9cf893221f0aa525L,0x0000000000000166L },
  66002. { 0x0f4b0c2a09388e2cL,0xb8308ceff40b8763L,0x2462458061a66221L,
  66003. 0xb67a79e8165aaa95L,0x94bc0b4708789bc2L,0x8b234c8708114d2cL,
  66004. 0x1ee26556bec8d5efL,0x22e3055df315d134L,0x0000000000000118L } },
  66005. /* 29 << 182 */
  66006. { { 0x46cf9a123b3ba75bL,0x1d186c661adb1a26L,0x56c777349bf1316cL,
  66007. 0x0f3e2f5ed8304840L,0x01baabfbe6070ce6L,0x503f8d930c9102d2L,
  66008. 0x4dcd3adacd453ef9L,0xd1a8baf5fc6aad57L,0x0000000000000084L },
  66009. { 0x1faf5d6dd292a0c7L,0x910d30cb74f8c530L,0x442d713a6c0fa806L,
  66010. 0x0a18ec4704b1a792L,0x880b2e809501a8f2L,0x2f074b43aac9e8f5L,
  66011. 0x44209c655e1eddb7L,0x5916efadee7e28f3L,0x0000000000000131L } },
  66012. /* 30 << 182 */
  66013. { { 0x91e1ced21c8781b1L,0x1b160a6cd9eaceccL,0x32169b6de05009ccL,
  66014. 0xa6e611cbd398f69aL,0xce953c71b0eee5fbL,0xf0b9112de9cdb766L,
  66015. 0xad581159c871f5d8L,0x0ebe554be2279127L,0x00000000000001e4L },
  66016. { 0x89976adf1ab77e95L,0x33164f3df139a517L,0xef133446a1c4a5aeL,
  66017. 0xdcbd304791d5782cL,0xdbd5c67c9750d5e5L,0xa23fc0fea185893eL,
  66018. 0xe094fe8ec7f91de6L,0xf9e3a96a99faa7a7L,0x00000000000001bbL } },
  66019. /* 31 << 182 */
  66020. { { 0xd116cbade405020cL,0x7c108b67c633aba9L,0x2b7856f5e8aa0582L,
  66021. 0xf8eab5a93ec464a6L,0x0e90e325e59632daL,0xd4dee596e85e20bcL,
  66022. 0x4cf2c91482dd5124L,0xdda35341a6160911L,0x0000000000000073L },
  66023. { 0x4d225d4108a2c6f5L,0x481686652c17247aL,0x65877f1497b579b6L,
  66024. 0xda95b1fa53d48dd2L,0x43fb7079ca44e73aL,0x7b69f069e3ec902bL,
  66025. 0xdfd35aa860d9ab1cL,0x3457f579b3e5b6edL,0x0000000000000041L } },
  66026. /* 32 << 182 */
  66027. { { 0xf43e7556bd385e53L,0xbf8f9681875c0190L,0xe3d90dee555bd31fL,
  66028. 0x3baf65546edfe5ecL,0x3d6df218960e906dL,0x7b6635cb873d0635L,
  66029. 0x98a44993ded25371L,0x918b7555ad8e24b4L,0x00000000000000d7L },
  66030. { 0xb776f9146553287bL,0x7075a0a36fa9fa1dL,0x7bc1d77c11d5513dL,
  66031. 0x789a19867993f668L,0x6162a249612a7f5aL,0x04348eb04ee7f938L,
  66032. 0xf7102ceb56583274L,0xae423442e356e7bbL,0x0000000000000002L } },
  66033. /* 33 << 182 */
  66034. { { 0x523d61302f4ead44L,0x201058f04e5b8666L,0xf7680d4267d123adL,
  66035. 0x0884457684ebdfb4L,0x84274505abd16ac3L,0xb9fafd02b3ea127dL,
  66036. 0xbbfa958703e32460L,0x291a5eb015781790L,0x0000000000000173L },
  66037. { 0xe91a30aee53f10c3L,0x9584ef2bfd5dd433L,0x108924ba581b9fcaL,
  66038. 0xc2fd60ccfd8e8fa8L,0x318e224fcab2784eL,0x0c81392b9d31ae14L,
  66039. 0x9b2311108aa8130aL,0xb270d685276f3462L,0x000000000000010fL } },
  66040. /* 34 << 182 */
  66041. { { 0xdb7ce23edde05ffcL,0x3498ab21c6d0e52dL,0x70c111977b0e5286L,
  66042. 0x2397818f56a3293fL,0x8e5190030f16f124L,0x42f9ae77dad7d391L,
  66043. 0x5b6d52b49000eaadL,0x0250415c53e5d19aL,0x00000000000000a4L },
  66044. { 0xd5134d31720c627fL,0x5225579c2ace2686L,0x43db384eb8a3ec7cL,
  66045. 0x3f857459f0f7a16dL,0x897549699739d8dfL,0xb1a377181c8ce480L,
  66046. 0x81c5b1868267d330L,0x3f45401b037f89c0L,0x00000000000001ddL } },
  66047. /* 35 << 182 */
  66048. { { 0x4e66abd437417d43L,0x9514ca813998603eL,0x3fd620ece6ffe0c3L,
  66049. 0xc72d522ec2371320L,0x9aa50a59acf05fbfL,0xc3e9213306fe5a5dL,
  66050. 0xc1d244d73c56f206L,0x7c22b8ea72b4d2e0L,0x0000000000000114L },
  66051. { 0x2cd8c20869310665L,0x41bc43a56af1617eL,0x41acd532d54f9707L,
  66052. 0xc3fe18ad05c56c89L,0x706756a536a5189dL,0x63137c9f3815ce6fL,
  66053. 0x2ff051973eaabf9bL,0x0c3118fe365d4a01L,0x00000000000001d8L } },
  66054. /* 36 << 182 */
  66055. { { 0x5d07a2964e588df1L,0x141993bb19b144a5L,0xabc8b7f17aef2cfcL,
  66056. 0x6a447e47adf5f260L,0x3617bbf9413523aaL,0xae2df3568658871bL,
  66057. 0xb73a2681eca0d3d9L,0x9faa02a845905049L,0x00000000000001daL },
  66058. { 0xcea9672c9249e1f3L,0xd6030dd792b80377L,0x1731a9b6b430427aL,
  66059. 0x707319a7dd23ecd8L,0x7497f2d3137eac72L,0xfd455e149fc57ecdL,
  66060. 0x1d5be9f6f7a02326L,0x58127f1635ac3188L,0x00000000000001daL } },
  66061. /* 37 << 182 */
  66062. { { 0xa465edcff4ff1298L,0xf6875a88fb3ce39aL,0x0f8c3e4154571e9aL,
  66063. 0x9750c93b2a33bcfbL,0xa4dda6a9c95cd2d0L,0x09512242e236cfe6L,
  66064. 0x7045f4a1f8b5241bL,0x6cfba4be0c875c33L,0x0000000000000053L },
  66065. { 0xbbda856f057cc244L,0x039c06c1a80b8883L,0x909d27543627186cL,
  66066. 0x02163479f6b0fc43L,0x46c3962436cc44beL,0x83113b35d0abcaadL,
  66067. 0x0d62ed6f0ef103ffL,0x04100f40c2c14b5fL,0x000000000000000cL } },
  66068. /* 38 << 182 */
  66069. { { 0x5492babe8e507a53L,0x01ef00154f5fdf0cL,0x5b07f050e8bf3b02L,
  66070. 0x06205d089907fdc9L,0x4ce4ecc11ad754c1L,0x3d01c3b63723fdafL,
  66071. 0x77064d779065a5a2L,0x5de5e1cb725ff125L,0x000000000000006bL },
  66072. { 0x32d6e29d839ddf7aL,0xb5908a08f6518318L,0xcaedb6a5e99f9497L,
  66073. 0xbe22eccb8509addaL,0x46511cdcdd3a6f5fL,0x74e345cb75b8d2e3L,
  66074. 0x041b65006c166683L,0x23c654ead41aa178L,0x00000000000001a4L } },
  66075. /* 39 << 182 */
  66076. { { 0xd79f98edc740422aL,0xb365a02f6f658438L,0xcbd68ebb726bb3d3L,
  66077. 0x1a74279568c9ffe1L,0x173b3d054253a108L,0x2873faa613d84b25L,
  66078. 0xba2b605b705e1276L,0x35aa0bfe1d1e7e13L,0x0000000000000013L },
  66079. { 0x54a4ac10ae28e669L,0x392bcb0022d8b070L,0xf15f6b0819e99d02L,
  66080. 0xd3019505f97077efL,0x8ba03e9342036fc1L,0xf1b3b093837e9fd2L,
  66081. 0xc92b110d891b000bL,0xb99d4924e628c1deL,0x0000000000000169L } },
  66082. /* 40 << 182 */
  66083. { { 0xa62acac89702711bL,0xfa8afde1e5a60500L,0x6d0b6ec9851d3077L,
  66084. 0x2928a849ddb4d927L,0x40731d2fee9c5656L,0xf53c199c78402e28L,
  66085. 0x8d704153bf178d27L,0x67bccd2a3f735c1fL,0x000000000000008fL },
  66086. { 0x1fb2240d935c8aa5L,0x1fa6b65f794daaa0L,0x30aa4bd3c31a7abcL,
  66087. 0x7b571e77f50b1a73L,0xe5105e178d05b874L,0x224ce4ac6574a6a3L,
  66088. 0x64f2c14ba2d9fba5L,0x30e0f151c304c3dfL,0x00000000000000feL } },
  66089. /* 41 << 182 */
  66090. { { 0x7400571b0014829aL,0xc976d3db3d15b8adL,0x2d3780591335164cL,
  66091. 0x57e68ee0e2e843bdL,0x0df368cc40341b75L,0x004e99f63666a071L,
  66092. 0x80898faa2ded5ebeL,0x2d5e2b8d5d64a7c2L,0x00000000000000a4L },
  66093. { 0xb54da69bd389bb74L,0x3f2bfe1ddb6e2d4aL,0xeb09473dc831acffL,
  66094. 0x64455b0c0ad6afc8L,0x38ac4f0c13088a99L,0xcd44c67980602e36L,
  66095. 0x6b28f3b36c93cc94L,0xcc9ed6f2649f16c0L,0x000000000000001dL } },
  66096. /* 42 << 182 */
  66097. { { 0xcb8db302d5aaec94L,0x58fb71700e303300L,0x0a78247a8b0e0ddeL,
  66098. 0x2d30370d6c007b9cL,0xb9d1fd916bd6d93eL,0x8e4be06b02362bd0L,
  66099. 0x373af6632227469cL,0x1a1b76090bac6e9aL,0x0000000000000171L },
  66100. { 0xae3c93ace2962773L,0xbd96ef35232d4523L,0x44b5d53f254b07b0L,
  66101. 0xbdc86e94658ea74eL,0xbde3eada9d758615L,0x267b46acc55f69d0L,
  66102. 0x91fc9a2d4f0a8474L,0xc3757adce7249118L,0x000000000000006cL } },
  66103. /* 43 << 182 */
  66104. { { 0x18b7327734169522L,0xc80df3cade9f570cL,0x2248ebd72ee0abb1L,
  66105. 0x719461e77ebb6b43L,0x8432cb62cbf4f4e6L,0x031df9951dcda661L,
  66106. 0x1889b33b9e588c1dL,0x1d9ba4a04dee2e11L,0x000000000000017dL },
  66107. { 0x57ee376f719a392bL,0xbc128291bcfce4c0L,0xde788ed68be2ebb3L,
  66108. 0x865d088f0c72b0a0L,0x720f285ae7b5af3dL,0x716d0d401f6564faL,
  66109. 0x68b5093e16b7733dL,0x3ce4e5a3544922acL,0x00000000000001c3L } },
  66110. /* 44 << 182 */
  66111. { { 0x3e157f2273ee88f7L,0x1c0630464384bb96L,0xfa8ccff1163124abL,
  66112. 0xf2a63516e1c82e20L,0x06f7a495ecc52cbdL,0xd00255d7d546b8b3L,
  66113. 0xa4e0ea97f2c1bd00L,0xc279c9b9d8367846L,0x000000000000018cL },
  66114. { 0x493ca0d2f4846640L,0xf2f65176836101bbL,0x9a2131507c4f5f62L,
  66115. 0xe7a4d6cb33ca1654L,0x6705565959e1757aL,0xae2233738bbdda8eL,
  66116. 0xe915be3be856975eL,0xcd6117edb40db96eL,0x00000000000001cfL } },
  66117. /* 45 << 182 */
  66118. { { 0xb4e8c9370aca7d71L,0xaac0761b9812c1fdL,0xe8596d4bee0886f8L,
  66119. 0x9bcbfa589fc12093L,0xb9e4b19c06967ae7L,0xc0e4f5c98172cd32L,
  66120. 0x94098a335ccb77f4L,0x8996dc27bdfdee8eL,0x0000000000000129L },
  66121. { 0x81b4d7ee284d4731L,0x263845cfdbf96ca8L,0xe773b3cd3a19983dL,
  66122. 0x7e16a7d17e7d7707L,0x7270b36600cffe6cL,0xef2ac9029c2de9feL,
  66123. 0x3cfae8b0c875b52bL,0x8bf88154f21e1d82L,0x000000000000002cL } },
  66124. /* 46 << 182 */
  66125. { { 0x9c765f620a5e3ebbL,0x970ccd4e818fffc4L,0x9522877a70bbf4fcL,
  66126. 0xa720852dcd9f1e17L,0x50dd2c7e15b0005dL,0xd5ff9c20842795ddL,
  66127. 0xa942f53eaab55facL,0x9c8350e25cfb4548L,0x00000000000001bfL },
  66128. { 0x8afd20bb94f7a376L,0x17de2a98a5c8cabaL,0x97d74ac55ae239ddL,
  66129. 0xcf5925c5917be399L,0x0092fdd6185c43f8L,0xbce625310c2334a6L,
  66130. 0x264385c8688c7ea4L,0x09b75046c0a5b76dL,0x0000000000000000L } },
  66131. /* 47 << 182 */
  66132. { { 0x1569eaf24cb224cfL,0x269fa0409f146821L,0x76debe784598e444L,
  66133. 0x55dbf9b1dfe244a5L,0x16cbf26eb67a835eL,0x59af39e01281e580L,
  66134. 0x71eda217a229a7a9L,0xbada5b1369432cfcL,0x00000000000000e2L },
  66135. { 0x59356f88eb5b5f1fL,0xac200a20ee82718cL,0x870cbb11bd305f9eL,
  66136. 0x6ef0a89a969de1ecL,0x89c705ef0110fd77L,0x2c944b594c73e141L,
  66137. 0x4bac7679c140aaa6L,0x910125524b4d3534L,0x0000000000000024L } },
  66138. /* 48 << 182 */
  66139. { { 0xb77b2273b687e9e4L,0xd0c9629b158071baL,0x7b0d0576bd865783L,
  66140. 0x47ca9a1b48334138L,0x22c0b777990beeffL,0x3dae022d7e8dbe92L,
  66141. 0xdecf568567233c8bL,0x96eadd8a999e9c94L,0x00000000000000d6L },
  66142. { 0x8aefeaf1b8755eecL,0xbfd2bc88789362fdL,0xa2c3bc994e34479dL,
  66143. 0x5025831148df5301L,0xd392cb00c0e07947L,0xc8c4c6a5e4a0c2baL,
  66144. 0x315a9be295c84fd7L,0x12be251d40cb144aL,0x000000000000007dL } },
  66145. /* 49 << 182 */
  66146. { { 0x600281fafdfb666dL,0x89b2e2ee9bee6f0fL,0xe8f208e3124ff0a1L,
  66147. 0xd674853a97ef8785L,0x333f682b7c613cc0L,0xa7bcf59549dc2ea1L,
  66148. 0x3431a30d26a67e52L,0x1023799fbe4720f8L,0x00000000000000abL },
  66149. { 0xf98a30432480bd59L,0xc46d6cf7fdffea8fL,0xf6f7c7e58a9d667dL,
  66150. 0x2a7fac095c65f054L,0x389cf284df19c157L,0x7b70ba00b35cc84dL,
  66151. 0x068cc13ee30d0abcL,0xca24da284f1db63fL,0x00000000000000adL } },
  66152. /* 50 << 182 */
  66153. { { 0x22becdcd9c071a34L,0x66bca042c09cda4cL,0xf701267bf0732913L,
  66154. 0x25c3b4b5a6a84d63L,0xd20b654f96a4bccfL,0x649bf2c16963824eL,
  66155. 0x3e173b274d84f899L,0x0573e68b5ae76effL,0x0000000000000193L },
  66156. { 0x850d688aa7578c52L,0x9e967e16cacaef52L,0x24e39bf84daec11eL,
  66157. 0x9ee4a66878b0072eL,0x3255f3f8f17b5e45L,0x1d8b5306c11d1f63L,
  66158. 0x79b70aa80fd0248eL,0x1e15707ccfcc577eL,0x0000000000000095L } },
  66159. /* 51 << 182 */
  66160. { { 0x6e9477a46b25f458L,0x808fe2c599cb8c78L,0xad2dccf34619ad52L,
  66161. 0xf2424ad828e3efdeL,0xb4cf55c2bdd4b5b1L,0xf03879f1d1735445L,
  66162. 0x74fb4795f9feaf2dL,0x588c3fd6312ca1eaL,0x0000000000000046L },
  66163. { 0x13b13beed8007d8fL,0x5c5b92246fdaacf9L,0x84ab74efc221e90aL,
  66164. 0x37384eb8758581d9L,0x923205a320eaa26aL,0x0cfc39ffd0995704L,
  66165. 0x8b3bd7a2d4ede2ecL,0x4a640b0002c020dfL,0x00000000000001a2L } },
  66166. /* 52 << 182 */
  66167. { { 0x9649b0c126bd0385L,0xdf659955ac77dd42L,0x512cab0f5f1d946fL,
  66168. 0x3365c06cb8e888ceL,0xd5b139364003ad9bL,0xb9ddf7422e777936L,
  66169. 0xd882a2e7f0a2ea17L,0xca25477d329706f7L,0x000000000000002cL },
  66170. { 0x109144281f14b985L,0x8c6727485f7bcafbL,0x43da81611a6b62b8L,
  66171. 0xadee9242ffc82eccL,0xb7dcdb418f391fa4L,0x1fbbf2e0593add60L,
  66172. 0xfb551a699ec74127L,0x2ae9b20e7443a903L,0x0000000000000116L } },
  66173. /* 53 << 182 */
  66174. { { 0x1ef97491410cd077L,0xa8206904f205d56bL,0xdfea5b4c334d1427L,
  66175. 0xf1982219bef52120L,0x2f5de7f02af4cbccL,0xb80fa224b097d873L,
  66176. 0xe7ebce309b3ef192L,0x34043ba58508a38cL,0x0000000000000044L },
  66177. { 0xe73a1b716e77eddbL,0x422356ea070ebe74L,0xd1e293e6b5fe5ce7L,
  66178. 0xe8897492231d1036L,0x04241a1ea9676b41L,0xbfe53ca26833593dL,
  66179. 0xb52a531006b71326L,0x09b13c8e66a34460L,0x0000000000000197L } },
  66180. /* 54 << 182 */
  66181. { { 0x65b70bc6eeae508aL,0x78b81935b70e19c5L,0x9652937bee8c6b85L,
  66182. 0xdfb53e2a9ba55188L,0x9bde675e8ce3f3baL,0x021519ed8693d863L,
  66183. 0xb64130071fd9ac55L,0x428560d4845869c4L,0x0000000000000170L },
  66184. { 0xeae5f3757b7ec622L,0xe582b16f49a0d23aL,0x23c4a6c413352ff2L,
  66185. 0x29ac206336a323c6L,0xc1be1ef1f7fdd1f1L,0x490e35a0a7d81d3cL,
  66186. 0xe6fce48a29caea09L,0xa8b619aaf3969db2L,0x00000000000000f5L } },
  66187. /* 55 << 182 */
  66188. { { 0x1870f45409e7211fL,0x63654bcea1a5ce06L,0x82f781ebaee02970L,
  66189. 0x704b05b98e6cfb1aL,0xda7779919e75ee2fL,0x9c311b5c8119aee8L,
  66190. 0x878920321ec5731dL,0x45db4af638e2efbaL,0x00000000000000f7L },
  66191. { 0xc9da8fd8e60fa998L,0x2a908c8fa661efbfL,0x948c9b3fca468a51L,
  66192. 0x485238d4944e68b9L,0x4d696e8be223a143L,0x260195a48ab78084L,
  66193. 0x3c53be3a2fda134dL,0xaab965b37d24899bL,0x0000000000000028L } },
  66194. /* 56 << 182 */
  66195. { { 0x2698187d69d2a365L,0xceac05a40b4636e7L,0x508d87efb39d959bL,
  66196. 0x7dadb94ac08ac0caL,0xbb5161f9df1dc5eaL,0x9f9118e6ec7a8f47L,
  66197. 0x5f7d5a7ee578d6bbL,0xd2cf3964beb0c4c3L,0x0000000000000076L },
  66198. { 0x312ccd712dd174e0L,0x84bf3b4bf1b3cf22L,0x4215bd31f0927edbL,
  66199. 0x062cfeefc2aafa52L,0xdd22d90155eec990L,0x18e19734057e44e8L,
  66200. 0xdfc288d25f2cd2dfL,0xbfbe2cee43c3cfcdL,0x00000000000001b0L } },
  66201. /* 57 << 182 */
  66202. { { 0xede9dba37de1996dL,0x5cd619af1e5e92b0L,0x10a0c857f0d58153L,
  66203. 0x61315a1882d47722L,0x66dd97910865fea2L,0xd2de59878c9ba9c4L,
  66204. 0xa5824d290e0820d6L,0xe5d76f638dfb9646L,0x000000000000007cL },
  66205. { 0x50c9cf139ea56fc3L,0x6da6381cbdb8339fL,0xb032c6afcd108fc0L,
  66206. 0xfa7e5df3f3b77a78L,0x5341541b5164eb5eL,0x155b51417cceb4c4L,
  66207. 0x4f553c4b4beeb913L,0x6843d58366d8e171L,0x000000000000012cL } },
  66208. /* 58 << 182 */
  66209. { { 0x46edae7d7392fef1L,0x13c81fa327e3da29L,0x131235e48fc31b9dL,
  66210. 0xd45727f4b5da6124L,0x01da47fdef43cb27L,0x5bf5a111ba1b6f30L,
  66211. 0xd139d86b94e2ec2aL,0x4509851b27a5489dL,0x0000000000000050L },
  66212. { 0x8e15e7da4e69630dL,0xb108240ba9cd3f1aL,0x3a17d2e7e78db971L,
  66213. 0x5c5d774bbb9907c6L,0x28a2b3d988c7b081L,0xae4db188a3b1b36dL,
  66214. 0x2f3dad86d87987a6L,0x9a5bf38f3ab24f4eL,0x0000000000000158L } },
  66215. /* 59 << 182 */
  66216. { { 0xdcf8bff495b0e157L,0x53222102015e65c5L,0x26806b4211c7c94bL,
  66217. 0x5d3b14efad4a65f6L,0x5b3c27aa8f1803e1L,0x9903b6938f835996L,
  66218. 0x459cd77f13b3933bL,0x895307a086b8393cL,0x000000000000004aL },
  66219. { 0xc82810de845e5630L,0x8eeb40e14c46edd9L,0xd71578b209ff3691L,
  66220. 0x5d4c8c8d7d9b5b99L,0x27751925ddbab2dcL,0xaa917a7c563fc5f1L,
  66221. 0xdbeea6a290fd3955L,0x758fe38ec8b0effaL,0x00000000000001bcL } },
  66222. /* 60 << 182 */
  66223. { { 0x3069b9d66e77aef9L,0xd042ac052eb93fb9L,0x8335fe4212830002L,
  66224. 0x293146e6e1b614fbL,0x652317e76ddb3ae5L,0xecf47236fefba037L,
  66225. 0x24b51adf58eb0b7bL,0x5109f7df4874fb35L,0x00000000000000d6L },
  66226. { 0xff02ac885f1d5485L,0x8a993daf530607feL,0xc63139c93ba41f73L,
  66227. 0x934a2f9445f411a8L,0x2208220bc95aae6bL,0x96710a9c63292771L,
  66228. 0xc1b102e35b2a77a3L,0xc8177ecba35d5e23L,0x000000000000014cL } },
  66229. /* 61 << 182 */
  66230. { { 0x9203060baa7b98a3L,0x07051a435181b164L,0xd3fa67c3eaf21604L,
  66231. 0x088e3498db6572d5L,0x7bab12be9fe1247fL,0x3c0eccaaaa9ff72bL,
  66232. 0x57f2e32204b15e7eL,0x633bc218494c1a0fL,0x000000000000010cL },
  66233. { 0x773b7a085bd8eadeL,0x8f844710f88f009dL,0x13dac3f48190c4abL,
  66234. 0x48d9eb6ea3f2ae28L,0x81f21ad313664e39L,0xd4110b6316c4b065L,
  66235. 0xa11b1afa2b8e957dL,0x0a5f65cd9bc85cb9L,0x00000000000000a6L } },
  66236. /* 62 << 182 */
  66237. { { 0x8739e462a1a8188eL,0xca1226f5110b4497L,0xce536f0a7d506e8cL,
  66238. 0x9f0e49dc8a1e00f5L,0x8abd40830a409966L,0xee494417b4ff83a2L,
  66239. 0x6a2c14d4c8b8e02dL,0x2eba1a0242c27ed3L,0x00000000000000b6L },
  66240. { 0x4991518dec3148eaL,0xa516810f34200143L,0xd15d96f86b6513deL,
  66241. 0x359a3d9657b574aaL,0xa689c45cdeda4bdbL,0x764cbd196bba4697L,
  66242. 0xd9d7997f82988c9dL,0x24dddb31d7554449L,0x00000000000001daL } },
  66243. /* 63 << 182 */
  66244. { { 0x51bc4616753f0ed2L,0x7c3c6eee58b2a1c0L,0xcf37a0748131bc15L,
  66245. 0xf06bd740fa7909e1L,0x2d7984b54b800a3eL,0x57f583984ced2487L,
  66246. 0xdc68de17f0f308caL,0x813c4b8e3a16b769L,0x00000000000000ffL },
  66247. { 0x26daebaea97c43c2L,0x258edf708fe82e3bL,0x64847056879ab94aL,
  66248. 0xfab3c35232f43e05L,0x01aa155831a2f7f9L,0x0ac01ea817d8b3f2L,
  66249. 0xa7e3667b67cf00d7L,0x83e9a2ef50ccf5eaL,0x000000000000000bL } },
  66250. /* 64 << 182 */
  66251. { { 0xdbeeb421cfd387adL,0xd208fe085bb4d523L,0xff2282dbed24edf7L,
  66252. 0x30556ff9c806b492L,0xe7716c3cd5b5bf57L,0x847e3a43153fb3b2L,
  66253. 0xe9a8fb3c391809c5L,0x52b4a72992596244L,0x00000000000001c0L },
  66254. { 0xe49b344e59d9ae12L,0x5a5e32a1c925b6daL,0xe81d38d1f054a1c6L,
  66255. 0x4ae4fe0cf15fb6d7L,0x6ef46dcd5cf03296L,0xbf46b97612da300dL,
  66256. 0xfb373fe835fa7fddL,0x0f78e5ee62bcaf82L,0x000000000000003bL } },
  66257. /* 0 << 189 */
  66258. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  66259. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  66260. /* 1 << 189 */
  66261. { { 0x9f3034247a56433eL,0xbbfa0fd960307947L,0x21c78cd331db3e3dL,
  66262. 0xa837641c0a2a5f1fL,0x28338efb56b8bdf5L,0xc0b66594f0600d27L,
  66263. 0xc07399315cb9a3bcL,0x95eac1715267267aL,0x00000000000001e3L },
  66264. { 0xe9ee22d1897f04b2L,0xb6002a034cde7dfbL,0xcbb7be483c3b494cL,
  66265. 0xbe6c1a98670f740cL,0x9e9d0b911fc603e2L,0x532af80c351c0915L,
  66266. 0x0bbf9ea379802339L,0x96c16ecadd33d50bL,0x000000000000002bL } },
  66267. /* 2 << 189 */
  66268. { { 0xd7ba67b2dca5c86fL,0xa2ad0453e4c65e75L,0x77cf1258e190bc9fL,
  66269. 0xb3f630142c69bc9eL,0xd962eac71689858fL,0xc1b865c669336a7cL,
  66270. 0x3f97565d9b5a5216L,0x93ea967c1a73a39eL,0x0000000000000083L },
  66271. { 0xa8e4af6b6ea73ebaL,0x3ff8e52dbe248173L,0x28a4e2bd3f3d34acL,
  66272. 0x5d52213e1be61adbL,0x8ebaa43d02968a4bL,0x735958e06fadce98L,
  66273. 0x2f143cd6c15f7644L,0x533bec76a7fbfc74L,0x0000000000000061L } },
  66274. /* 3 << 189 */
  66275. { { 0xfbd6e794814311efL,0x1751996b26cc272fL,0xe6a2e157a4d9ffa3L,
  66276. 0x10fc93529a7d88f4L,0x02545d80395d7365L,0x56b7ee84dc6c4d32L,
  66277. 0xc3dea31ea455538aL,0x582e311bb82cd5f3L,0x0000000000000151L },
  66278. { 0x1eadf021b3bec16dL,0x3406d4109ce73860L,0x6785be85eadb4c7aL,
  66279. 0x68adfdc3e1e59a9eL,0x131ead3cab13f561L,0x0b2c0c4925936137L,
  66280. 0x6c318ebc0f35b6f1L,0x0abe8c27f819e825L,0x000000000000015dL } },
  66281. /* 4 << 189 */
  66282. { { 0x44b3f23919fec274L,0x1dc89875e3a66eccL,0xe36ec60985eab4f3L,
  66283. 0x3713bcd6840458e2L,0xccea99d32bb88a8aL,0xebd3d4bafd21e802L,
  66284. 0x03437c286ffc588bL,0x3a21efba413b06bfL,0x00000000000001d8L },
  66285. { 0xd9afa45c16355e69L,0xe9b28f5b2502acc5L,0xef1999b91711da7dL,
  66286. 0x4657efa14eaa0320L,0x0729dac2badbe83dL,0x45b0acd9b9cfbc6eL,
  66287. 0xa014eab6bb296d4bL,0x29f6bef363b0d362L,0x0000000000000101L } },
  66288. /* 5 << 189 */
  66289. { { 0x30016ee322b152c0L,0x70de4bbf114bfedcL,0xcbdbef831e26173aL,
  66290. 0x7614a523370e3b92L,0xd7d0c5f4d3e9e924L,0x221af66abbea4a57L,
  66291. 0x2da2bd107007e4f7L,0x17d2a5bacd5b3b7eL,0x000000000000012cL },
  66292. { 0x6e8482436639e4ecL,0x9eeab903ee4d0989L,0x0bb3fb64dd0b4efbL,
  66293. 0x07089df4ce8f6909L,0x7ef71f65545a7c71L,0xe91cdecc6884437fL,
  66294. 0xe1d60e1401c4ba6fL,0x398484de2ab50390L,0x000000000000011fL } },
  66295. /* 6 << 189 */
  66296. { { 0xebce4a115a224092L,0xfe887cc974e91ac0L,0xed3beff1626717d8L,
  66297. 0xd6915dc097f9e7d2L,0x6c5aeb18a6de7e4eL,0xe18c932268e302a2L,
  66298. 0x4ef08d0ee3a4fce4L,0x7524f6f1a36161aeL,0x000000000000001cL },
  66299. { 0x096e3563fe82f5f0L,0x54cecafd13216b13L,0x51d809421d3cde0aL,
  66300. 0xdbd61ad0c2608747L,0xaf378b29ddc6c9f1L,0x09a4057360507871L,
  66301. 0x755fb6481251c43eL,0x7eeaf993a14377deL,0x0000000000000035L } },
  66302. /* 7 << 189 */
  66303. { { 0x354d6470cff89fc1L,0xd5880e0184c3f4a5L,0xe8cb2497dbd934d9L,
  66304. 0x80244f291dd7a63cL,0x87c983b43117c661L,0x72361de291c17b69L,
  66305. 0x2c94190b2ee78d13L,0x995a4ff57d91fc16L,0x00000000000000f9L },
  66306. { 0x98b17d2525c080a5L,0x3f2403b05b281b5aL,0x30f4915af7f4c45bL,
  66307. 0x01310b2ab9189ec2L,0x3dd5f6adef36c514L,0x39c3a0e711fd5062L,
  66308. 0xcb2063dc862bd28eL,0xe1a75d8e90a76270L,0x0000000000000037L } },
  66309. /* 8 << 189 */
  66310. { { 0xfdf7681d6debbcf6L,0xe21aef25600ea3c3L,0x181fb048bb30b75bL,
  66311. 0xf9d8c43d8d8b7b4fL,0x3d3bc6deca68ec32L,0x6d469252af1641ebL,
  66312. 0x1be3c9ba10252291L,0xb57f2c328fa4c10bL,0x0000000000000155L },
  66313. { 0x599e10e59ea96c94L,0x4426deb740593ce0L,0x948d92862d48d29fL,
  66314. 0xd3ad8e54c03f5cc5L,0x53fe15e4219cd0d4L,0x03b914210c8fc479L,
  66315. 0xa023c978e5aa96e6L,0xdee00502edb69f81L,0x00000000000000b7L } },
  66316. /* 9 << 189 */
  66317. { { 0x2cd49083e79f9778L,0x7f9946f671882e65L,0xfb08405c07d0fe20L,
  66318. 0x5ed7e04781c7bafaL,0x01aa5ca253de8921L,0x71ada196b70cdb9aL,
  66319. 0x2db79a24e4149028L,0x2d2a7f5c94c21733L,0x000000000000016eL },
  66320. { 0xecf6e42f2cbeb376L,0xe632d553b396294fL,0x5cca8cb36fd4084bL,
  66321. 0x92bbab151b2a587aL,0xb2e240be130d1e99L,0xa0672abac859261dL,
  66322. 0x84cf5fd413d5c102L,0xf470027bb2cdd4ccL,0x00000000000000dbL } },
  66323. /* 10 << 189 */
  66324. { { 0x27e1ae748e84955fL,0x09aaf5ae9c4f7a26L,0x4ec5554621e1e993L,
  66325. 0x800515f0370d3efeL,0xc32a04e6c4c06f83L,0x5483476dd5fab42cL,
  66326. 0x07278cf44de2d405L,0xad26e4ed4e6413ddL,0x00000000000001e4L },
  66327. { 0xbb9628ee17f12587L,0xaa5ff06f578f0bcaL,0x5c7a8d11d465f293L,
  66328. 0xbf2955e83f6e5394L,0x262cc5a3affc8451L,0xc35a8e8a722ffad7L,
  66329. 0xb93e5c2aa09cc5e1L,0x4cea80e846301158L,0x0000000000000185L } },
  66330. /* 11 << 189 */
  66331. { { 0xc18386a836ae1465L,0x7f620b6851f49485L,0x35ff5db59ac12858L,
  66332. 0xa24cb377e1b66ef8L,0xc5a5f120824944e6L,0x6ba1777e2c75d5a9L,
  66333. 0x9b02b8a4205b5e9dL,0x06a6688c47c4473aL,0x0000000000000039L },
  66334. { 0x17801becd6b7a9eeL,0xf99177ee7266ee48L,0xce538f55eb961569L,
  66335. 0xeaf8059b06dbe1e2L,0xf136975608a59309L,0xd86d2a94532ac00cL,
  66336. 0x64467ba65380bcbaL,0x0301f9be27d7e1ebL,0x0000000000000164L } },
  66337. /* 12 << 189 */
  66338. { { 0x29d39a4a7807bc2cL,0x835ca5afc2a6dc42L,0x26bb5781ac817836L,
  66339. 0x3def5563525f97d2L,0xc6cf91e9237a68b5L,0xe1e954d9f9f587a7L,
  66340. 0x7854a450126484d2L,0x0690c82dd3ae3825L,0x000000000000010fL },
  66341. { 0x3d46b028271428d1L,0x278c1fafd766ea34L,0x9c59b166355eec06L,
  66342. 0xd6570ec7a36f1efeL,0xb64c51d48e8de46eL,0xdc4c58e2b39a5f35L,
  66343. 0x1c46808b966c687fL,0x0d045d3e28f0fa4bL,0x00000000000001f4L } },
  66344. /* 13 << 189 */
  66345. { { 0xe1f8f593e4035d20L,0xf3115ca872b27c29L,0x6f021dbcce8a79a5L,
  66346. 0xc9b99de992e812c4L,0xeef9605ed479ced8L,0x17bf75d1ed230e0aL,
  66347. 0x1c37a667604f45a0L,0xba2e8685455b00cfL,0x0000000000000159L },
  66348. { 0x8d9901318b4e88e5L,0xfb0085e29fa679e9L,0xd4b5a294d35bc826L,
  66349. 0x65e3da16624f4c16L,0x28dfc963738be5c3L,0x093e9cb0de3d8c84L,
  66350. 0x83ea7628f32f052dL,0xe095054317da9fb1L,0x00000000000001d0L } },
  66351. /* 14 << 189 */
  66352. { { 0x55b440bb989b4a3eL,0x4a558cdb7ca65342L,0x0243665f6848d1afL,
  66353. 0x46e00dd3eb611d13L,0x7cdbc1eb485f070dL,0x0b6b2a4e37d9317cL,
  66354. 0xb86c7c90d9212b88L,0x0a5a39d8f0436535L,0x0000000000000185L },
  66355. { 0x0d127ab6cc7ad679L,0x87e9e7400651b018L,0x4c87124af0507f1fL,
  66356. 0xc89734aeae2e207aL,0xba7939ac576d7e51L,0xb95bd1af45eba10fL,
  66357. 0xc1674d96f2530deaL,0x227312b48e61b9f4L,0x0000000000000066L } },
  66358. /* 15 << 189 */
  66359. { { 0x1b31108442459f4dL,0x7cae90dc5e878116L,0x127607a98c0a313eL,
  66360. 0xd2c39871a55fd972L,0xdc51776a077e2127L,0x34b0a44a2fdcf34fL,
  66361. 0xa79ff2c28333072cL,0x384befa6bf1e4db8L,0x000000000000014eL },
  66362. { 0x1163018471e4da59L,0xe8eb4bd16da9fa16L,0x169061c82cf15f97L,
  66363. 0xef24bf4b32753221L,0x79cf9b4e978c0e94L,0x4ee31d9fb2e8c08eL,
  66364. 0xa9999a9b491f866aL,0xb40eaa6d61d44be8L,0x000000000000018aL } },
  66365. /* 16 << 189 */
  66366. { { 0x28904911200ad609L,0x6fb2b6633505c98bL,0x1bf6e6b517ad4abaL,
  66367. 0x6d0e654fdbd8e9b0L,0x8db772c1f588fbb6L,0x5c2b736fa292489eL,
  66368. 0xeac6e04ab902a7c9L,0x249c84e7b2dbafadL,0x000000000000010bL },
  66369. { 0x2cbc039029de2306L,0xac01d1a5bfc36a57L,0x89f1a059bacd8b95L,
  66370. 0x2e1e095a3e92c99aL,0xf172bad607b4e976L,0xdce0b2e435885013L,
  66371. 0x9a0c55567fa11b87L,0x1df0dfd67eab7ad3L,0x000000000000008cL } },
  66372. /* 17 << 189 */
  66373. { { 0x55c1cb327ee5e091L,0x9b3b38b6a4f1553eL,0xa93f2ab9ca3703b5L,
  66374. 0xe153206da14864aaL,0x53cbdcbff2500ecbL,0xd70649347984ffaeL,
  66375. 0xf0193f44c239a4cfL,0x6bfc462f1567d5deL,0x00000000000000a5L },
  66376. { 0xcd6b480b381c54e5L,0x17190f5f936eeb1aL,0x55514c1aab4dd2d5L,
  66377. 0xff15013f4d378b6eL,0x086bca23e25466d6L,0x84b630fef5c92761L,
  66378. 0x6909e2adf9aaf597L,0xea3054a8e1b21ec2L,0x000000000000003dL } },
  66379. /* 18 << 189 */
  66380. { { 0x5225f56496479004L,0xfe7f6ae01d60f576L,0x1215e4a2885f56a8L,
  66381. 0xe70f09235d1e6df0L,0x7cbf30fb66614db3L,0x346de189209d9a42L,
  66382. 0xff0cec30249c0bacL,0x76488efe69c479beL,0x00000000000001a1L },
  66383. { 0x4ad5db4a81213654L,0x748c9e51a3b0203eL,0xd9c64583acb72ac8L,
  66384. 0x3926c7c4856aab8aL,0x62eae82ca80385efL,0x74d7d9713c061721L,
  66385. 0xe647d75b3a7ddbb3L,0xab2b33724d872279L,0x00000000000001a0L } },
  66386. /* 19 << 189 */
  66387. { { 0x563ada4da040a5ffL,0xea621ac31fff0784L,0x28e6ff0875ce88f5L,
  66388. 0x09769ec371f3aeceL,0x0ff40dcb3d45fb95L,0xd7b33147eb09a022L,
  66389. 0xf62ccb4a81d97a19L,0xe45cc4d83f51b39aL,0x0000000000000137L },
  66390. { 0x79aa7c43e9a9779dL,0x36b108fb70f8c585L,0xe1736644af50cf32L,
  66391. 0x820b16320c429c35L,0x442c9d21b01595cbL,0x28c0c7683c79c26cL,
  66392. 0xde4901b3e59608caL,0x0a19facf0b39089cL,0x00000000000001e0L } },
  66393. /* 20 << 189 */
  66394. { { 0x1b5336d7e43ff8d0L,0xc6586c542375cf3cL,0x751a95b05d372296L,
  66395. 0x95517fa7db98d315L,0xb7671c0f015782f7L,0x467c1fe893c3fe96L,
  66396. 0x2a6c0f17f284f967L,0x76bff3a612aa02beL,0x00000000000000d9L },
  66397. { 0x3242434e39647784L,0x4cfb956b92a3ffe2L,0xebebb9bd37da53caL,
  66398. 0xb0c81cc581b8ee8bL,0xe3f6dd68212e7cb8L,0x7bc578594c1c5556L,
  66399. 0xc053d123d233497aL,0x599caf98bd4c5762L,0x000000000000017aL } },
  66400. /* 21 << 189 */
  66401. { { 0x461e855e310573dfL,0x54014992600cd5d8L,0xf59622b38d9f5217L,
  66402. 0x8a12593ce712e5d9L,0xc3ec3c3adfefd672L,0x424c770e4264f3aeL,
  66403. 0x08be0d0020979dd4L,0x5d78b2e57c42109aL,0x0000000000000147L },
  66404. { 0xe0136d93f5bad4bfL,0xd06d7d2e2957b516L,0x43aec5cba5b37693L,
  66405. 0xfb83976ee625c1bdL,0xf244bc273bbd2729L,0x82b9d28ff5aca07bL,
  66406. 0x0accd6d898b95aeaL,0xad438298370aaec2L,0x00000000000001f8L } },
  66407. /* 22 << 189 */
  66408. { { 0xc7c33c5eecca4b24L,0xf9044a18db7e92a0L,0x33676183cba7445aL,
  66409. 0xa9ae5991d5766cb2L,0x77c6ccfb59467537L,0x7f0b64d45a680fc8L,
  66410. 0x942a29960cb827b1L,0xec6fda25fe4e54e9L,0x000000000000003fL },
  66411. { 0x89d45bbf50285e48L,0xc367bbc6bbb6d77fL,0xcea1ade71e45ff58L,
  66412. 0xcf02f6dc094f0616L,0x87e28486305c7815L,0xb1509ee1bb11a8bfL,
  66413. 0x17d6e7d1b32df112L,0xc8c5a7f784aced31L,0x0000000000000038L } },
  66414. /* 23 << 189 */
  66415. { { 0x1dc8bdbe227db0f6L,0x1e425be636244ac1L,0xc6c7f5b0164da7f4L,
  66416. 0xe2aed98497ff7952L,0x92e74200872554e1L,0x15004c56b9be5350L,
  66417. 0x402804113966ca44L,0x5ac0cfaa80173c93L,0x0000000000000149L },
  66418. { 0xbbe3e8071236a9b6L,0xf1699483b8a492bbL,0x7a217dfae96083dcL,
  66419. 0xfcae468c2ee8724bL,0x2a1ced809815ca66L,0xc8a7078d0644ff4eL,
  66420. 0xbda30ba562fb3e52L,0x7a487bb502077ec4L,0x000000000000017dL } },
  66421. /* 24 << 189 */
  66422. { { 0x3555f75c6a7e545fL,0x1ea37a8e7a15bd6cL,0x188207a366f5c712L,
  66423. 0x0fc45bd94926901eL,0xc55d2d8cd34b1e01L,0xfc75e1afd84f7268L,
  66424. 0xded24e68bec74ee3L,0x0f611682b82806baL,0x00000000000000e2L },
  66425. { 0x5454065af1943440L,0x88291bffd01b257eL,0x6eaca283c6ae2502L,
  66426. 0x88f29ce08a74cbe8L,0x6ddb3ae9adce5e80L,0x93df4593bd911187L,
  66427. 0x16bdc203a6b62e07L,0x3a0ad818e8eaac95L,0x000000000000011fL } },
  66428. /* 25 << 189 */
  66429. { { 0x28e370db59a880c7L,0xa84aac2c2a3c718eL,0x4f9fc4fab725af9dL,
  66430. 0x52ae3e8947f0e1abL,0x4684a83853068039L,0xa3f5b78f6eb5b99bL,
  66431. 0x631dcbf590a53bb1L,0x65924aa0fbbc4453L,0x00000000000001a8L },
  66432. { 0xe12adaad50519774L,0xc9899fa49227bb12L,0x496631535bfe092bL,
  66433. 0x7ddad74485659edfL,0xd527efb9d5a37c69L,0x52d5d81842abf762L,
  66434. 0x8a41c43b2d11ba2eL,0x97bf9f89a7abf282L,0x00000000000000c4L } },
  66435. /* 26 << 189 */
  66436. { { 0x3f21fb13ef8235fdL,0x488567261d6a5b98L,0x6ba7b7667852a2adL,
  66437. 0xcb927631373de0deL,0xcae220066eb7e6a0L,0xe58ea13dfac8816bL,
  66438. 0x4dc4f35b4b2cf759L,0x7a8c6844737f6e13L,0x000000000000016eL },
  66439. { 0x0ae2eab434c605b7L,0xd78433a0fcd4c618L,0xa7596dae82b46a25L,
  66440. 0x35dcb1ff9d1608b8L,0x6380a771432f758cL,0x73bf36ed012ea66aL,
  66441. 0x923c12bcdf4a3ba1L,0x4cfb1a1b12249dbfL,0x000000000000002fL } },
  66442. /* 27 << 189 */
  66443. { { 0x21c6dda909afafd5L,0xc3ffe02f54ec3531L,0x81c46e852f5b6b5dL,
  66444. 0xfbca5691640e9b41L,0xf3a8c5f270a6f613L,0x47f8636a333304d4L,
  66445. 0x9619088688f84bdcL,0xa74c957089b07f7aL,0x0000000000000003L },
  66446. { 0x8ac2444429053fe3L,0x5f016a56f3422459L,0x3957735f6aba2e10L,
  66447. 0x1bf31ff8ed5bdd25L,0xc4c8ee2ef7e5572dL,0x6c36f06fae94f876L,
  66448. 0x5abeb8b11cf49d8cL,0x9226e08369e4554aL,0x000000000000015bL } },
  66449. /* 28 << 189 */
  66450. { { 0x6b89e2e509ace912L,0x5f4e515d7b067334L,0x6aa5259aec702301L,
  66451. 0x9cf73f7f688485cfL,0x48a5f3410659825eL,0xde9eefd6a1d3be96L,
  66452. 0x34a432aafaa769f6L,0xd1f8f08434abde10L,0x0000000000000025L },
  66453. { 0xd9b076e3bbac8db4L,0x85858504f72ee1b8L,0x451a18815ebc2846L,
  66454. 0xc8cb018a0ff63a36L,0x5256a51f13eebe02L,0x85058bc0160ac671L,
  66455. 0xd110ea4ed0d4a62aL,0xcaad594b2b033a9eL,0x0000000000000023L } },
  66456. /* 29 << 189 */
  66457. { { 0x1d34963913c1a7a6L,0xd980f79ea896afb9L,0x701959597495f839L,
  66458. 0xf0615616e8aa79c8L,0x80061bd87a3147beL,0xe5d69e15f6973e6fL,
  66459. 0x2522bad76030ef18L,0x8acfbac4495c762cL,0x00000000000001acL },
  66460. { 0x5cd25ef7321a2280L,0x95b9b0d0a0458db8L,0xccf4f8ce8ac8b7deL,
  66461. 0x904356985aa93f11L,0xe50024d1e7df2595L,0x09d83948ac09ff49L,
  66462. 0xfbaaf1d19abb573cL,0x28e4b4cd92bbe12aL,0x00000000000000daL } },
  66463. /* 30 << 189 */
  66464. { { 0xe5ca83fa634ddcb6L,0x5460a43245f882c8L,0x01a701ff4d1b379fL,
  66465. 0x743801734316aac9L,0x5e1a0761c8e815d0L,0x4f129ade260d2619L,
  66466. 0x3dab946d6a892a9dL,0x6ec73a540d8efc75L,0x0000000000000048L },
  66467. { 0x7d8189195a78b6c6L,0x110936717cd52f20L,0x42d3bed515e9988fL,
  66468. 0x1c55dcea772def70L,0xcbdacd7c334ec5e9L,0x0686fd8a7201506eL,
  66469. 0x6148b0ee02462ea5L,0x55acec514eec4f0dL,0x00000000000000a2L } },
  66470. /* 31 << 189 */
  66471. { { 0x009751a569eb5133L,0xda66bc95a61f94abL,0x839c283d21b8e5ecL,
  66472. 0x77b3814771f6e8b4L,0xf08e62f140cbe8fbL,0xf1e7ec5e33993050L,
  66473. 0x3e540919a5c6f5d6L,0x143d5a48b948ae50L,0x00000000000001abL },
  66474. { 0x227237fe6d7c37b6L,0x12b782ba91c864faL,0xe770b68f8bb0141aL,
  66475. 0xc3059e3f470cb922L,0xc55ecc13e3494d25L,0x7c7ad20198ead855L,
  66476. 0xed29220cdbf56bcdL,0x55607debe48d3158L,0x00000000000001bbL } },
  66477. /* 32 << 189 */
  66478. { { 0x1206ea28cd7bbb6aL,0xeff556d0c63062faL,0x8ad321fadeb86a3aL,
  66479. 0x9ea9fbdaf78fcdc3L,0x3ef406cb0e8c80a8L,0xc168b5970f593d36L,
  66480. 0xd6456267c352a3a0L,0x303bd08332c5a9a8L,0x0000000000000102L },
  66481. { 0xbf911f73e680d0f9L,0xb12fcca8bc1a1b47L,0xb8264577ef8024f6L,
  66482. 0x9d17b8b7f66ae119L,0xb135dfc275b33227L,0x4cbf0d6d96e667c2L,
  66483. 0xfff742beba373b24L,0x218e787e776cbd3bL,0x00000000000000ccL } },
  66484. /* 33 << 189 */
  66485. { { 0x6ea795ecf0b3e8e9L,0xa8d0f3ef415b14e0L,0x388d0b9eb2b8bdd7L,
  66486. 0xbac3606b47077e99L,0xf27e9a49fd56307bL,0x879d0ad938cc9279L,
  66487. 0x2b33ad7acd8f229cL,0x948444d5577207fdL,0x0000000000000164L },
  66488. { 0x028ff3d3b9b6280bL,0xec12413d8aba1800L,0x8fa64506ac21d32cL,
  66489. 0xfb3b64089ad6c573L,0x4e558b8146d75117L,0xdd4a2eea3159469fL,
  66490. 0x7c9060ddb61dbf21L,0xadb892fb4fe85705L,0x00000000000000e6L } },
  66491. /* 34 << 189 */
  66492. { { 0x610cb28654137f6cL,0x1aede3330753a5c9L,0xc67e4426f48014beL,
  66493. 0x85b1131f733f87ebL,0x4b5b882d2cea996fL,0x29c274a0859aabbeL,
  66494. 0x822e16883647b4a9L,0x484e63777cae42c5L,0x00000000000000b1L },
  66495. { 0x358f911aacf0fda3L,0x0693edbb8fe82648L,0xfbec08a1c04f3fd0L,
  66496. 0x45316917607c7c60L,0xc8ea888ada6dfc1cL,0x2121c681c65bf16dL,
  66497. 0x00ed364fa1da19afL,0xa28b1de4514495d3L,0x0000000000000184L } },
  66498. /* 35 << 189 */
  66499. { { 0x2999ad23a2dc7f0dL,0x77d0c3861314df56L,0x01f67ce42a664882L,
  66500. 0xfe134b6c5787a492L,0x2bcd1d1996126d18L,0xf190abf67aa5602bL,
  66501. 0xcc21b699f42256adL,0xc629989d7e2510b3L,0x0000000000000001L },
  66502. { 0x7aabff2fa2c86a01L,0x8f5272cc0bbe44c5L,0x86c041b44308cfe8L,
  66503. 0xb14043018862f6b2L,0xbe9d148d51fa122eL,0x651dfd87b3519fd0L,
  66504. 0xa0610f30d9e81817L,0xb6976414ed2a30c7L,0x0000000000000110L } },
  66505. /* 36 << 189 */
  66506. { { 0x386cb3067bdfc975L,0xb8ab848e10483147L,0x7fbbc54074dde708L,
  66507. 0xd58eb2b596761accL,0xa885a6e8b8a0f062L,0x2630f19117e92bb0L,
  66508. 0x7169a8ed1258ed15L,0x471e6bcb40976b29L,0x000000000000007dL },
  66509. { 0xa6d493e2795c47a6L,0xe118ad5806746dd9L,0x47ea093ba29cee54L,
  66510. 0x2a61aa20f7d8e228L,0xd78ec0e1fa70eda7L,0xf9511b38e1f2734cL,
  66511. 0x491fb14ec91629c2L,0xa3379d598e002052L,0x0000000000000170L } },
  66512. /* 37 << 189 */
  66513. { { 0xc505a9bdbc1a0a26L,0xb85a1e9478d9ed45L,0xdea7d140b7a562f3L,
  66514. 0x9930f6d4e2ae8f4fL,0x1159929213476304L,0x13e811ae421ff4f6L,
  66515. 0xd9e2eee649cc4771L,0x73c04b328b036469L,0x0000000000000180L },
  66516. { 0x4664a7a522123d30L,0x053c5233f9cbf61eL,0x0c6d121442902bb0L,
  66517. 0x61a509855f6d2484L,0xb427545c1f3fb40dL,0x55e444a4dbf4c320L,
  66518. 0xa8311978c13da776L,0x4623001ddb288ee1L,0x000000000000001eL } },
  66519. /* 38 << 189 */
  66520. { { 0x1cb6ff10734c362eL,0x3ec3afdc195a00b1L,0xa1ea59124f0957c3L,
  66521. 0xd9fc3ff63a5f5203L,0x9949e8d68e8a558fL,0x252995ac0e4cf7d1L,
  66522. 0x517b1dfacc935cd7L,0x7d8bdba8f0db0cf8L,0x000000000000005aL },
  66523. { 0xe8ce78b579f92ab1L,0xd9fde900ede42817L,0x5a6add0bb9b4bf72L,
  66524. 0x845e8b94a03706c2L,0x3bb16f047eaf2758L,0x29d823930580ca79L,
  66525. 0x5930385b7bf0462fL,0xd69171b381b47f3fL,0x000000000000007aL } },
  66526. /* 39 << 189 */
  66527. { { 0xb054987a59b57345L,0x690f4ea00df9adbcL,0x709a2218b262038dL,
  66528. 0xb5df8e93e44eaaedL,0x3e1580e4b2db7099L,0x1ebefedb2b3342e3L,
  66529. 0x6e0ef1246521bd90L,0x767b444de97f9531L,0x0000000000000112L },
  66530. { 0x4fa11e48d4e8e902L,0x804eb6b4375336b0L,0x0d79d368f96e7400L,
  66531. 0x66fa057582576c82L,0x514fbfc45ec62c7fL,0x72eff87ed38bd85aL,
  66532. 0xfe9185f4d8d6cc9cL,0x47a733213fd2ed50L,0x0000000000000171L } },
  66533. /* 40 << 189 */
  66534. { { 0x1f8215f9efb91de7L,0xf3add5d08a2f74d9L,0x56433008a520d556L,
  66535. 0xb6df83c58628ac75L,0xf3c38ea27390eea0L,0xb1aadf0f6078a673L,
  66536. 0xa9e0832827b6b8fbL,0x22e64291f3b7ce53L,0x000000000000017fL },
  66537. { 0xb3e7ae4c6e69500aL,0x740b9752c441e02cL,0x3d04d6dcf503d4a0L,
  66538. 0x22490a59862f3496L,0x0f4a62aab2472177L,0x668475b979720c85L,
  66539. 0xf6ebeb0bed9b4fd9L,0x8a5a6926914e8bf4L,0x00000000000000f2L } },
  66540. /* 41 << 189 */
  66541. { { 0x88714284d7f15d9bL,0x23bb89a963dae31bL,0x1dd869f770aad758L,
  66542. 0xade2a58dbc0c8b8fL,0x4e34cb29ecee1b5aL,0xffc36695a418cf27L,
  66543. 0xe6b995d08e90eb26L,0xdb6704209e7edb4cL,0x0000000000000030L },
  66544. { 0x11a61ac697a71becL,0x01a7863ce7f9c778L,0xb33e274f0dc175d2L,
  66545. 0x5bc952b86bd31118L,0x3d3c7b5ecb4a461aL,0xb247e08560a81989L,
  66546. 0x98cead253cabd814L,0xcbda7ffe5f3774b0L,0x0000000000000015L } },
  66547. /* 42 << 189 */
  66548. { { 0xfb865e6491e6c598L,0x88b4cbc94f5c3464L,0xc14f04519bba56dcL,
  66549. 0x283e370e9828f0baL,0x178381311807abb9L,0xbd9227dc91eb4794L,
  66550. 0x998862db036ae356L,0x64214f5650a6534dL,0x00000000000001d6L },
  66551. { 0x5c07fc067be97a7dL,0xb83d3ca51f918746L,0x1fc4ac0bf600c884L,
  66552. 0x00c1c0643ff9138cL,0x37107da9fe8ae63fL,0xce43f9671a021382L,
  66553. 0x533716b2dcafef65L,0xa50b01d91c1ba0a3L,0x0000000000000140L } },
  66554. /* 43 << 189 */
  66555. { { 0xc8c61097bfe6c874L,0xe4a957c48c7b1695L,0x8975c3d5cd617093L,
  66556. 0xb55cf8b8a2aeb3c3L,0x210a5fa0412b23dcL,0x3b306039222fd5e8L,
  66557. 0x58ebec8802e8b2b8L,0x85a935b9175925d9L,0x0000000000000088L },
  66558. { 0x20262a2acd9e1515L,0x23dd0510bad24e8bL,0x3f904417b39e83bfL,
  66559. 0x4767a90419e5a1e2L,0x4cd0316ec8b10371L,0x33f91aa8c3985efdL,
  66560. 0x2d2eabb1bcaf62e3L,0x61c39f69a9070a71L,0x0000000000000197L } },
  66561. /* 44 << 189 */
  66562. { { 0x2f548b4254bd23edL,0x9bdccde5e22e32ecL,0x01b0646f4d769b35L,
  66563. 0x749212ca1ddb13a7L,0x01aeb2c2793156d2L,0x1dc2dd05afed290bL,
  66564. 0x2dc90777f5976b90L,0x69b807201c24d363L,0x000000000000000aL },
  66565. { 0x927ebc909024b3d2L,0x04befa23e7fba843L,0x179ed851cc504025L,
  66566. 0xd66e92d06f1e878fL,0x27604533a48eacd1L,0x25f304c0be099838L,
  66567. 0x12f01ab1ff150469L,0xfc009f4cb502c2c3L,0x0000000000000067L } },
  66568. /* 45 << 189 */
  66569. { { 0xd18e7cdd15b76157L,0xb8b81063545ee371L,0x18860c3a5685e78aL,
  66570. 0xd2d62d66fa06d7f1L,0x7d518c8ebe31f479L,0x49634d5aca4d86edL,
  66571. 0x73510393286743faL,0xac5cb2646b005aeaL,0x000000000000006dL },
  66572. { 0x3ef1fb8c995ac4f7L,0xb1b476da5041fdc8L,0x013bba673ae16bdeL,
  66573. 0x8edf24bd989ab5d7L,0x27cbab12f77269c8L,0xd0df40b13ea9fa4aL,
  66574. 0xa0ef8425ec2bb20dL,0xe69c5d12bbb95ee4L,0x00000000000001edL } },
  66575. /* 46 << 189 */
  66576. { { 0x38d4b079f0269288L,0x024ba79538c84188L,0x8dce75a4f8f34375L,
  66577. 0x12ed9b998811a78eL,0xc43f9833966242c8L,0x1ebf2a2893a4de55L,
  66578. 0xb77ba54b5df20ecbL,0x0b59c76549fb4c99L,0x0000000000000001L },
  66579. { 0x23d73eaa305df024L,0x17641a8bd4804cb0L,0x3d7e68433251d480L,
  66580. 0x3a7ca4126fb3aef7L,0x511263cf18747d97L,0x670de6bd5cd3b9c4L,
  66581. 0x6cdd5a8ae71b247aL,0xd984e646528e3fbbL,0x0000000000000108L } },
  66582. /* 47 << 189 */
  66583. { { 0xe027d07b2f4be08cL,0xbcc10ac427c3e5ddL,0xf64b8a22e63fdda2L,
  66584. 0xf9df0d4046b68556L,0xc08d7d8e7e2240fcL,0xd854c44766a163bcL,
  66585. 0x5c52966b491bba4dL,0xb84134db9f066e7aL,0x0000000000000044L },
  66586. { 0xb09bdb9264c613b1L,0x2ca2ccbdac59d414L,0xa97aa22e6436bcf3L,
  66587. 0xf22bc357227e1feaL,0xd8a7b25c7f842c67L,0xfb4cb6c88939f9f0L,
  66588. 0x28b488967f1d398bL,0x8de5e61a807c6f89L,0x000000000000000eL } },
  66589. /* 48 << 189 */
  66590. { { 0x4231da59e97ea880L,0x5d4c048745262614L,0x3718643736aeeaeeL,
  66591. 0x17229d1dbbaa66cbL,0x342daf59a5d41097L,0x5fc2cc015080f051L,
  66592. 0x657c05a20e6527beL,0x3e61c315949e36ecL,0x0000000000000008L },
  66593. { 0x961bdc35d8a5319fL,0x5b8f4db874708cd1L,0x901d28564726604cL,
  66594. 0xe35ad211ccc10400L,0x5a9b120594004a0fL,0xdbf493bf5c8eaabdL,
  66595. 0x6ccc828bbaff6fd2L,0x83003f1077e9a126L,0x00000000000000b9L } },
  66596. /* 49 << 189 */
  66597. { { 0xd0396d365c605661L,0x736a0fba8c8a36ddL,0x120af17a26d18bcfL,
  66598. 0x2846334514e206a3L,0xd3690bd20f5657e7L,0x5f7879531bb3ddbbL,
  66599. 0xee94af0449d00002L,0x29f266ce19c87885L,0x000000000000005aL },
  66600. { 0xe4c501899ceb0396L,0x065237a9181dd431L,0xf6b4de78102156d1L,
  66601. 0xfadd137e9466701bL,0x556194d58bad4752L,0x4d7cd2ed0b23e83eL,
  66602. 0x770c7e894b1329fcL,0x4af47a31fb173fdcL,0x0000000000000035L } },
  66603. /* 50 << 189 */
  66604. { { 0x111c4e8e15567b4dL,0xba2af2f3d1278cb8L,0x95e0ef97c8a0c184L,
  66605. 0x47e7053b2a46e1f4L,0x1e288ab774cb99fcL,0x2a5285bb17060961L,
  66606. 0x50bf49cf6921f98aL,0x4ce741821d7e1372L,0x00000000000001d1L },
  66607. { 0xcf181e712a064bf7L,0xc534c01e49b3e010L,0x277fe91f939ef9aeL,
  66608. 0x0724737c2a40040eL,0x2a320ce8ffe77170L,0x391b6f9f8eff74edL,
  66609. 0x83b4195abe5b9daeL,0x937f0bcf4114237dL,0x0000000000000021L } },
  66610. /* 51 << 189 */
  66611. { { 0x41d6ef761ab2d533L,0x298cc67e04d17f47L,0x062870d3c680b409L,
  66612. 0xa74cd183e9685d65L,0xe2db43ef1eb8e1cdL,0xb0125ff3856c97e5L,
  66613. 0xe7d81e0b672a3ae4L,0xaf12df591600af74L,0x00000000000000d7L },
  66614. { 0xc6a9d40b7bdc041aL,0x8e91290a49e7d705L,0x52beef55ae198296L,
  66615. 0x5c4b1922f23fb61aL,0x79a2a393957a052bL,0x1452ec147c8cc360L,
  66616. 0xf168e6f217c63a38L,0xbe17a226707be9dfL,0x000000000000012fL } },
  66617. /* 52 << 189 */
  66618. { { 0x717f198fb091e5e2L,0x13a018ba5a3c1a39L,0x2f8745d8131531cbL,
  66619. 0xfc9c44e53e11e93dL,0x7240364643a6f330L,0xebbbe261babaef99L,
  66620. 0xc4f1941da2e2749dL,0x6bb03f4bdec5c4fcL,0x00000000000000ceL },
  66621. { 0x321b501994a5c6e6L,0xc6b51804a3f6b8ffL,0x269f2a832561b248L,
  66622. 0x3b97ea7807238ba9L,0x2fe33d8bf290911cL,0x5d148537c8cb8e95L,
  66623. 0xd1a1305196d62b4bL,0x44121143649ad208L,0x0000000000000049L } },
  66624. /* 53 << 189 */
  66625. { { 0x18c67cee142f459eL,0x374f0e63c240a5c7L,0xccb426eed0b3c8ceL,
  66626. 0xc83a69c7018a50d7L,0x9a2e51154c61e39aL,0xec5edbee6dc14408L,
  66627. 0x45725abe624cdb91L,0x4c0a11373d6d72aaL,0x0000000000000154L },
  66628. { 0x7accd15cc3b86af3L,0x78de4ff07ef41f2cL,0x3601519c309d2841L,
  66629. 0xa8712f8c378ff8f6L,0xb6e9045a0b8f9a4eL,0x2ef0a92ac1501d2eL,
  66630. 0xfff126325c745eefL,0xb0712d67b91b1b4aL,0x0000000000000165L } },
  66631. /* 54 << 189 */
  66632. { { 0x7714e43a0f7b0604L,0x225769c178d565bcL,0xedbd4a162759fc30L,
  66633. 0x5094390eb8daef23L,0xcac7cdb538737603L,0x6ec71d48993c34c2L,
  66634. 0x9eb0c65edf4ffd86L,0x9a9076f819830bd7L,0x0000000000000159L },
  66635. { 0x43d60e2fafe174ecL,0xbc38a3da61f4d263L,0xcca7c7f7dd11ad45L,
  66636. 0x8aaf2e3342e975cdL,0x9d8b2919134c2420L,0x5f8c989ebd92fa2bL,
  66637. 0xb4ee181c72b418feL,0xaa7368d199f80763L,0x00000000000001a8L } },
  66638. /* 55 << 189 */
  66639. { { 0x7baebdad95697470L,0xf6fe566efb547be8L,0xb087ed3f2a8fb882L,
  66640. 0x1c4d32db206e9a27L,0x3b047777f384b8edL,0xf2a55b91a1dd6624L,
  66641. 0x949d913812f34dafL,0xdb09a6fe227067acL,0x00000000000000d4L },
  66642. { 0xfeb27fb80160f0f1L,0xbc082e7c89550518L,0xea404d2ff506e716L,
  66643. 0xac5ac13f410aaeffL,0xa6463d178eafe900L,0x41febe7847b7f1b8L,
  66644. 0x7f6304ec189426d4L,0xf481347ff7b60b29L,0x0000000000000178L } },
  66645. /* 56 << 189 */
  66646. { { 0x3d91ea604c2a4cefL,0x8de8f69c3de838adL,0x9a725723538c37d7L,
  66647. 0x3923fa077948b4ecL,0xd1a25d23d23e67f0L,0xa2d7b9d7396fbc50L,
  66648. 0x8f8504e41d36f98cL,0xaa9e585159191798L,0x0000000000000147L },
  66649. { 0x8edbf0c2e3db7296L,0x677a299681fc8f30L,0x05e27b8db727e6aaL,
  66650. 0x4f5a9a6903113b4eL,0x9d4724e83ed42117L,0x06c0b8a572fcb859L,
  66651. 0xecdcf4d8ad040b87L,0xe6bb9a0e8cda9eb0L,0x00000000000001d4L } },
  66652. /* 57 << 189 */
  66653. { { 0xcf9d92912f2e8e0eL,0xa061e2d775701d6aL,0xf4a75abcb896c99dL,
  66654. 0x7b502799c595a675L,0xd703789763e618e2L,0xf076e4da3fbfb9e6L,
  66655. 0x3b7196719736bb0bL,0x0e2f898f4f343030L,0x0000000000000056L },
  66656. { 0xa67c36c34ce58368L,0x42fc1d6643ec3b5dL,0x2bc8c76731b19f69L,
  66657. 0x66bb8a65b40529acL,0x2ddbd08a1bd5d8bbL,0x3358549130479ed3L,
  66658. 0x4fe81de647ea8842L,0x9d43206628fb9086L,0x000000000000000cL } },
  66659. /* 58 << 189 */
  66660. { { 0x0ab82b7cfd9f395bL,0x6a40f5c4b4edd9d2L,0xdff6705215b2434cL,
  66661. 0x52a16a6a7627d662L,0x42d0a2e3360868d1L,0x7bd61bc13135ddb7L,
  66662. 0x756baf27fd0b2628L,0xc66119f396b6d910L,0x0000000000000054L },
  66663. { 0x1b35db2327a27e71L,0x3de3025d74802d8aL,0x1d1924ad6911cfedL,
  66664. 0x56b50c4fc3626e7fL,0x5ae02f9e48297981L,0x92c82e544102fd01L,
  66665. 0x0824a2f45de66a6fL,0x0e3e069689d53be8L,0x00000000000000eaL } },
  66666. /* 59 << 189 */
  66667. { { 0x31330a7b71c94713L,0x4311eeb630cbcf92L,0x6cbdc637c826f128L,
  66668. 0x07911288df0bb278L,0x13c1197a55ca042aL,0x7058c95b521d6793L,
  66669. 0xb4f7251008580366L,0xae2725c7fa6780eaL,0x00000000000001cdL },
  66670. { 0x132cefa9e24b6b80L,0xb87b576fa20cfc85L,0x596c4323e05b359dL,
  66671. 0x2ad43ee0a8c677f6L,0xb4bdfd4283cb25e5L,0x0cb93226376be03eL,
  66672. 0x5617ae0aeb0a9712L,0xf2a2e92048e8e273L,0x0000000000000040L } },
  66673. /* 60 << 189 */
  66674. { { 0x20be8f1deec0daffL,0x06e4f56b826d13aeL,0xa4c7e5313d4e15daL,
  66675. 0x27dce66c40aa5d0bL,0x88778febdc9227b4L,0x64304c472cecbc95L,
  66676. 0xd9d8f0d3d393cef4L,0x3383e2dc872b3f66L,0x00000000000001dfL },
  66677. { 0xe805eb457cf69310L,0x961caa7041f9dbf8L,0x3053e3c57e2d4b33L,
  66678. 0x4b877980a63a655eL,0xc41dc07cf1836df4L,0x6d1c3b9b2634f265L,
  66679. 0x368c4bd1062e70e4L,0x35c6e6c42b00fe78L,0x0000000000000106L } },
  66680. /* 61 << 189 */
  66681. { { 0x664ea3fa8433f73eL,0x20696c8e1e96d416L,0x8ac356ece1e2cdbfL,
  66682. 0x104c4bd5e64270ecL,0x8f25722b0c79a50eL,0x43523e2977d6a915L,
  66683. 0x04bc5be29f26d4d4L,0xfb4a05a84542270dL,0x00000000000000fcL },
  66684. { 0x908b94c28618efebL,0x99dceba2b5266591L,0xf3834ace94cf34b4L,
  66685. 0x69e6d2cf5a56d236L,0xf4030a4f05de63ddL,0x05ffad5422571079L,
  66686. 0xd5fff5da4cdc3814L,0xf0c143e2079d4e91L,0x00000000000000a5L } },
  66687. /* 62 << 189 */
  66688. { { 0x57f9bed894e9705aL,0xb2152f6c13e76e24L,0x35c88fe5d3293955L,
  66689. 0x2f9eae4d5ff3839fL,0x9c81a6c705d09a9cL,0xfa25a810240d9691L,
  66690. 0xb72c661177297890L,0x6181b2bd10c73788L,0x0000000000000101L },
  66691. { 0x4339f177dad59376L,0x03decffdc272fd1eL,0x0e311e8c5e1915cbL,
  66692. 0x89e003b809e2d503L,0x4356b8d46f2fb5edL,0x459d3fe5f482888bL,
  66693. 0x8851c7086fafe565L,0xf29b97c5da78e2b5L,0x00000000000000e3L } },
  66694. /* 63 << 189 */
  66695. { { 0xdee86d864b8e33f0L,0x2db9e320e3d4a055L,0xefdc83bc93eda388L,
  66696. 0x8960e57a47eda00bL,0xb96aaddffff77657L,0x44b1deef8dc0dd1bL,
  66697. 0x5a154403cb477801L,0xb14a66c5a8f3ae22L,0x0000000000000103L },
  66698. { 0x3acee5a7c5a696e7L,0xa833e7959e1e41b4L,0x1956f091705706c0L,
  66699. 0x0f37ea79ba39f516L,0xecc5e91b4a48092bL,0xbf42b417f640b7abL,
  66700. 0x2f32ddc0addbe690L,0xa136296a9903bfd6L,0x0000000000000153L } },
  66701. /* 64 << 189 */
  66702. { { 0x6287bbca1236bec1L,0xc16eabd8608e6b5cL,0x253193ef15fcd3c6L,
  66703. 0xd4ee71c7da5fe623L,0x62531449ac806cb8L,0x9152cf1690d7e00dL,
  66704. 0xa1e05703d20a1668L,0x6480d486bbf588daL,0x000000000000014fL },
  66705. { 0x37f70ab3fe2753e3L,0x562f4a46023ebdf8L,0x97358d7d89caf63aL,
  66706. 0x387422a7ab4b1dfbL,0x80d654962c8c3421L,0x7d338b4bdb8e13cdL,
  66707. 0xa535529dac590192L,0x39a28761a6760430L,0x00000000000000c7L } },
  66708. /* 0 << 196 */
  66709. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  66710. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  66711. /* 1 << 196 */
  66712. { { 0x1e226a938f1ef579L,0x8aeebec9138fedd2L,0xa7e39d7d1ca4c4e2L,
  66713. 0x5e53f86d49724f86L,0x9815987deb759db4L,0x538c9f700e9cd47aL,
  66714. 0xfffc98c71a7fac87L,0x3195776e7ce980e1L,0x000000000000019fL },
  66715. { 0xccab7b37e33cdcbdL,0x561d18f2855619d0L,0x56aa5963818f21d0L,
  66716. 0x1413193b571c3c5eL,0x9b30214cfd748c72L,0xef0bd8d48eadf936L,
  66717. 0xeb6d831fd1964b92L,0x4b37d5e09bc42bebL,0x00000000000001efL } },
  66718. /* 2 << 196 */
  66719. { { 0xb854567b979551eeL,0xf97b8cab3f3f499dL,0x3e343aca603fe8e0L,
  66720. 0x2c4167f8813abd6bL,0x6b23eed8a74bfd77L,0xf88b1cecd47dd491L,
  66721. 0x9e613c3226b2fd87L,0xc1b1ac19fe54bd69L,0x00000000000000afL },
  66722. { 0x12bcafbb43b4df17L,0xbd0829247266cd9bL,0x9d1e0eb35a197805L,
  66723. 0xf44ac91276cae6cbL,0x7d4e90e630d68179L,0x5407a9a02ad9609fL,
  66724. 0x02cbce1c921ecca2L,0x058ab973a246d665L,0x00000000000000c9L } },
  66725. /* 3 << 196 */
  66726. { { 0xf31853c99a73eba3L,0x3fd889550e6e4613L,0x0f685bb932a3d4acL,
  66727. 0xaeab0cd88cca35faL,0x8f65c0f7ef18d468L,0xbd45dd2509f0f948L,
  66728. 0xfc2ea6e46ba83339L,0xf6f79e60ae6934ceL,0x0000000000000158L },
  66729. { 0x3d279791e60d9028L,0xc2ca4234f0c3cf4fL,0xf21ec8f085ac780aL,
  66730. 0xc2d9b19ee6fdb32bL,0x9e2811fe0827c781L,0x42e1538749e61bdbL,
  66731. 0x936b8e23414d6887L,0x7fe54043d7edc198L,0x000000000000008aL } },
  66732. /* 4 << 196 */
  66733. { { 0x61b51bb04bee80d7L,0x0e1f6a1f7692de69L,0x8379e46ca0ebc3bdL,
  66734. 0x1c0bffa7930644f0L,0x97c67b87390db077L,0x095c33e1fada1ce9L,
  66735. 0x3c500addac54b512L,0xc231d360d3118656L,0x00000000000000b0L },
  66736. { 0x0628929839bcab2fL,0xc0c0678064dd220aL,0x062f6084763dc2a0L,
  66737. 0x88e9da731938c3e3L,0x69be8f2d52e46eb9L,0xe55c8d2d6a5de0fdL,
  66738. 0xf3a3fd63db2c0e26L,0x899c6d9f1e4bff57L,0x000000000000014aL } },
  66739. /* 5 << 196 */
  66740. { { 0xef850c0a886b7b20L,0x8f635025bb9943c6L,0xb81d4c7d73ea21aeL,
  66741. 0xcb8f069f99d3a6eeL,0x6cf775a6fa33eeb0L,0x4e222f778f96805dL,
  66742. 0x143517aaa6141ea6L,0xe38a3c64167210c0L,0x0000000000000116L },
  66743. { 0x0fb62f621fc78dbbL,0x2c6410236cab326bL,0xa72ea35af1549e38L,
  66744. 0x537f6ea3830f25ceL,0x9e079cae33eefb84L,0x38c173bab87ddbf0L,
  66745. 0x1b4373897184af77L,0xf978084cb1868bccL,0x00000000000000aeL } },
  66746. /* 6 << 196 */
  66747. { { 0x37456b07d454e1cdL,0xca872026e651ca99L,0x66d075726a03d9a8L,
  66748. 0xe6e9ba231d31cbaeL,0x2b720e01a80f7b13L,0xb6d7f827615f6ca5L,
  66749. 0xf88f8cd69012b0afL,0x5024d5de7a8e112bL,0x000000000000019fL },
  66750. { 0x24ea6d08a8749354L,0x1143855e290612b8L,0x64cfb996e2edb77eL,
  66751. 0xaddfbf4f77a5f775L,0xdd57f915dd64fd57L,0x89ce3192055a07d0L,
  66752. 0x9323e3e13cd0549cL,0x7cc109cdd89fc00cL,0x00000000000000dfL } },
  66753. /* 7 << 196 */
  66754. { { 0x09dac9edf4222533L,0x241333a9fd65cf38L,0xaa15ecbaaf69f2f4L,
  66755. 0x680cc1a0e6afa6e0L,0x581099c95f6f8c82L,0x32f948104dcae40bL,
  66756. 0x0fad007d4ff8175cL,0x5dfd36385450471eL,0x00000000000000bbL },
  66757. { 0x57a1bd6b9bedad5eL,0xb187ede777139166L,0x66ab56bbd66ab437L,
  66758. 0x8d67305e0875cc7bL,0xd1221e1d2130fbabL,0xed4482700a435b57L,
  66759. 0xea5da47bf4089497L,0x280b2cd4e8bfb1f6L,0x0000000000000115L } },
  66760. /* 8 << 196 */
  66761. { { 0x8f33504dedb74cb1L,0x1edd5d969d2a2437L,0xb4a43aadbeced5e0L,
  66762. 0x94faee53a6679dceL,0xda5ca04ff6d1589dL,0x4e55494935d8be40L,
  66763. 0x3df8d236d5311f54L,0x46f9c2d24988fe68L,0x00000000000001f7L },
  66764. { 0x4d0d9475fb2327cdL,0x552291cef0b8faf0L,0x3e3f4a98661e3c78L,
  66765. 0x2c452f05bda95549L,0x53276d708bb411bdL,0xfde0440e539322f3L,
  66766. 0x02d8d55b20961bf1L,0x3c1e105518739dccL,0x000000000000017cL } },
  66767. /* 9 << 196 */
  66768. { { 0xc03f25c3c4aa5646L,0x86c63161f5058946L,0x524d9f422c02da6bL,
  66769. 0xffd709d2d08cfc8fL,0x1e8214f8bd67d9acL,0xfdb0716ea4953705L,
  66770. 0xcee198f0637d647cL,0x0eda33411fc50c8fL,0x000000000000014cL },
  66771. { 0x3771081ba26d80ecL,0xf495ac4f7ee1f2e6L,0x458ecda5cc9f8790L,
  66772. 0xa98f84aa11d6c1d8L,0xe9d067997b694bd4L,0x510a0f753eb0c3f8L,
  66773. 0x9747f31b40f2693dL,0xa08798275c3a8fdbL,0x000000000000014dL } },
  66774. /* 10 << 196 */
  66775. { { 0x2588c869678be8ecL,0x643c5bcd70a17049L,0xfa8ac412627e6964L,
  66776. 0xc9e2c5e1d12b30bbL,0x6189df6fd7f8b20cL,0x7fd5df1593b30b2bL,
  66777. 0x30176abaaa08dc30L,0x12c058c36722406aL,0x0000000000000166L },
  66778. { 0xf11e3160e2a9cc34L,0x839d94196b6ddfb8L,0xae2e884680035a3eL,
  66779. 0x8bc4c61bd1f3c45bL,0x128980af18fd9ad6L,0x4210b25ee59cc085L,
  66780. 0xab245ee01ef3a74bL,0x256fac53af76d59eL,0x00000000000000d9L } },
  66781. /* 11 << 196 */
  66782. { { 0x31509afca5f6cedaL,0x147406dd5010591cL,0xbc35c5699341d9ceL,
  66783. 0x7ce9ace9ba35f50aL,0x19928ac5ea9234bbL,0xe036d3987fe039f4L,
  66784. 0x920ffca4004965e5L,0xd18e5104051a7e12L,0x0000000000000040L },
  66785. { 0xf5630cf3a22366a1L,0x52e3ff045ca6ab82L,0x98b95576053a65e4L,
  66786. 0x8e7f4a1b08b986a1L,0x7e4f3c04e03a5dbcL,0xca92d084a3cc2e38L,
  66787. 0x92ebfe5fefcd06f6L,0x88f060b35a709eabL,0x00000000000000d6L } },
  66788. /* 12 << 196 */
  66789. { { 0xab2a1492a5cba744L,0x6a6a4317986c613bL,0x9c8d1d01e872357eL,
  66790. 0xe7c3d762a1a8701eL,0xca296c88937b667fL,0xe5ddb632b105ffabL,
  66791. 0x602efda3db9d7cfeL,0xb72b8ee5075fa1abL,0x00000000000000f7L },
  66792. { 0x420f01bf09297d3fL,0xe6cdd604ce02895bL,0x475de3990ec6827fL,
  66793. 0x2a44d697d96cd553L,0x889200f98c9d9769L,0x4fa1f222a7289c6bL,
  66794. 0x5a45ff976d4d1b4cL,0xdc9910a51e63aa2dL,0x0000000000000098L } },
  66795. /* 13 << 196 */
  66796. { { 0xb6a85b1106456038L,0xa422307cd48af4a7L,0x25c9835ce781207fL,
  66797. 0x61e1a5ac67c18dcbL,0xe294353581f948f2L,0x427f9ac30f7fb178L,
  66798. 0x2dc53c002e2bb161L,0xda0d1835b838b9f7L,0x0000000000000122L },
  66799. { 0x2e4d3e46df6800cfL,0x66910d0655d86505L,0xae5a0dd7f0d1ed6eL,
  66800. 0x0f3f3d6a84643a02L,0xe9d03f79eecf2e38L,0x8a7c07d8ef3e2228L,
  66801. 0xba7786af35a3f709L,0xff8997ead43da7c4L,0x0000000000000044L } },
  66802. /* 14 << 196 */
  66803. { { 0x78fbe6ecff0fdb4dL,0x4625db146786490eL,0xd296291fdba395e3L,
  66804. 0xa6a1df669878e3c8L,0x0aa57c9655fe0afaL,0x9294f74589235066L,
  66805. 0x6fb4692d1d24d786L,0x7fdaab78e13f2a4eL,0x00000000000000ecL },
  66806. { 0xced57ecbeec9bdbdL,0x5b935678813a87cbL,0xefed2811b9c45d4fL,
  66807. 0x17b12bf552c52dd1L,0xc8f5c7e0211123faL,0x387fa7dd245804d9L,
  66808. 0x2a42349809bc76eeL,0x5b95c590457daa36L,0x0000000000000089L } },
  66809. /* 15 << 196 */
  66810. { { 0xd2006fad8a90d8c0L,0xae1a509ab872540bL,0x774048a4ea281ecbL,
  66811. 0xa53efead7a84cfc0L,0x5d970194332cb313L,0x4b2736352866ed7eL,
  66812. 0xb646a148a3d68d32L,0xfaca3712cf8b5d7aL,0x000000000000011fL },
  66813. { 0xc726fbc2c789acf1L,0xabf5095893f6d7f4L,0x5c9b593f8791335aL,
  66814. 0x83523e7de5e84484L,0x5dccab399f06edacL,0xcb72c6d6bc2cd75eL,
  66815. 0x5038af212638469fL,0xfa7eba1954b0dba0L,0x0000000000000165L } },
  66816. /* 16 << 196 */
  66817. { { 0xfd0261287468e327L,0x789e8dc4ee755906L,0xea0453e480218c94L,
  66818. 0xe263fe27088d7c56L,0x9219cee630277200L,0x293401d28ce5ad85L,
  66819. 0x627036d3b960ebbaL,0x8be032fef92da0eaL,0x0000000000000030L },
  66820. { 0x7ab52e739daf8d6dL,0xd6d75d4c3f789f6cL,0xc3b7560ebfc9a31eL,
  66821. 0x87b7f183d7db7ad5L,0x0f60a2db9c213425L,0xc2e67c9452c58981L,
  66822. 0x001cf3e81b6d0b43L,0x31efa39b78235b3fL,0x00000000000000ceL } },
  66823. /* 17 << 196 */
  66824. { { 0x82dcc474b926527eL,0xb05d073fc3255b46L,0x3a5d46c0a94534d5L,
  66825. 0x90e7d00664949c9cL,0xe4de4002925753d1L,0x68653da277145588L,
  66826. 0x8161ee0fb6d85753L,0xa76d05fcda37d8b8L,0x0000000000000030L },
  66827. { 0xf0baeebad0cbedc4L,0x6aee7715d6cb0047L,0x9d0952da03cdda9dL,
  66828. 0xd90557e55fc2f41bL,0xe30c3f5a68e8a4deL,0x2393e17cc79fca8bL,
  66829. 0xb11077041c6c604eL,0x6bc9e1e163858b47L,0x00000000000001ddL } },
  66830. /* 18 << 196 */
  66831. { { 0xa27480914603ef03L,0x3f533f5d3c01915dL,0xfbafdfb8da43a354L,
  66832. 0x730d876e3f58afaeL,0x72a24af75e4a20cbL,0xcfb685270e8ac725L,
  66833. 0x98dfcd5a0ac3e4cfL,0x24183e26023324feL,0x0000000000000033L },
  66834. { 0x47f328728f9a1a5bL,0x24813af407534a66L,0x928fbfd422744d19L,
  66835. 0x4f40a8ad4dc1aabfL,0xe39d2cf81946d1feL,0xf5ff40ea1ad5eb5fL,
  66836. 0x84e96cb1cc4f45c9L,0xb35d04bd39761faaL,0x0000000000000045L } },
  66837. /* 19 << 196 */
  66838. { { 0x0bd7313310603fe6L,0xb1b275b4ef3295dcL,0x1c6cf47747c52883L,
  66839. 0x950000c5904cba77L,0x36086feec437482dL,0xd59c1b42b7e63ab4L,
  66840. 0x66106e22b1b9479aL,0xd0f2f68620df7528L,0x0000000000000180L },
  66841. { 0xacb366106e9a8384L,0x7db709202b9b5667L,0x4a1fb3fe1f19a121L,
  66842. 0xe5e0295f9e62333fL,0x827ae3f70cc830aeL,0x4546f4aa82d17628L,
  66843. 0xbc357b50afdcfe1fL,0xd5287e6e8ed152d5L,0x00000000000000afL } },
  66844. /* 20 << 196 */
  66845. { { 0x829ed3209592cb28L,0x86b85a02f9bfea7cL,0x895d6cf2a22a9de0L,
  66846. 0x9cabe2bcbfd6d129L,0xb1c051eb4a792e52L,0x6684d6d90fbf1905L,
  66847. 0x77f1483ccb09e7cfL,0x8e04529b9e4cc9deL,0x0000000000000103L },
  66848. { 0xb4e2ff1ee3817349L,0x5486debd159eed89L,0xd58f04d8f1b7cfbcL,
  66849. 0x825120be1fd7a7f8L,0x3db1a0c20fb0d63dL,0xda92a7911ca49429L,
  66850. 0x21772918dadc1761L,0xff883825e3d1c3daL,0x0000000000000151L } },
  66851. /* 21 << 196 */
  66852. { { 0x6e8d3a7747c54a44L,0x2fbbee944c70d069L,0x3b0b5d7dcfce5abdL,
  66853. 0xa1588de81dd88c6fL,0x8bea3b2f3970b25aL,0x9b57781fc0211a66L,
  66854. 0x41559a91a0f70d7eL,0xac02eea95d7a7d8aL,0x00000000000000feL },
  66855. { 0x7fdaae745ec7c1d1L,0x21301b2354323760L,0xa5575e5b951e014cL,
  66856. 0xf6ddf2aea1689a42L,0x9f9b01adda3ec528L,0x21dfb4c20341571eL,
  66857. 0x9f2734abcda1a75dL,0x794ad1e16d2418bfL,0x00000000000001c4L } },
  66858. /* 22 << 196 */
  66859. { { 0x2b0a6d8949380b2bL,0xb6be08f3d53dda84L,0xf12421a02bc75f54L,
  66860. 0xc6aa94691172bc8bL,0x9ae6f245bc269c6fL,0xea55b4def0069449L,
  66861. 0x2efdfe343235c756L,0x48d89a45a7f9471aL,0x0000000000000006L },
  66862. { 0x6aac03fd019f94c8L,0x6cc17e953487dcb4L,0xd3be9f21dac7ae3cL,
  66863. 0x85c706c50cfe0d60L,0x15cdd8e82e74e362L,0x043cda214f1829b3L,
  66864. 0xaff541f04b50619fL,0x27f7440b29562dcbL,0x00000000000000aaL } },
  66865. /* 23 << 196 */
  66866. { { 0xcee0dd4d2d4aff98L,0x8cd8c37c025d56dbL,0x2855e53f95b39565L,
  66867. 0xfd72a2f7a7cba4d4L,0xc36a463b8758cef7L,0xaacda7d98488a435L,
  66868. 0xb77cbe7dbdca5af5L,0x019c571e46e70a6cL,0x000000000000008eL },
  66869. { 0x37e15e7801d4a3a0L,0x5ff7813ccd35c388L,0xcfea3bf2ac8378caL,
  66870. 0xf8b1ecb62e32328bL,0x2930b5ffe4c83cf2L,0x489f0f1ad6f765cfL,
  66871. 0xc8be93137d7c2d1bL,0x3ee2ba463c16e2c5L,0x0000000000000084L } },
  66872. /* 24 << 196 */
  66873. { { 0xbbcf2dcf3deb0321L,0x999e365320b9a035L,0x80ef540546c0470eL,
  66874. 0xe80ed2ab9934bc72L,0x512c5cb9f684a11dL,0x3d5b66118185f3a7L,
  66875. 0xdf159ef4885ea75dL,0xa3ea9b394ed4cf9fL,0x000000000000013eL },
  66876. { 0x7b66126b8c20b4d1L,0xc4ed6bc1544ac0e0L,0x279f02aab2923004L,
  66877. 0x0b40e88bf0747e04L,0x05c9e6d27312dc2cL,0x6294972e1b7860ceL,
  66878. 0x14a57cd533881463L,0x8b82ededa1248b49L,0x0000000000000185L } },
  66879. /* 25 << 196 */
  66880. { { 0xd7d62aa27fb8b741L,0xcc49ebaa22c2ceb0L,0xb7bfb7a6d783b548L,
  66881. 0x38bc7436ce389959L,0x8b0f8386da43e59fL,0xdfc845523c0eb486L,
  66882. 0x45ec3ccb01814a76L,0xe962b5073a441d4eL,0x000000000000017dL },
  66883. { 0x2b9bf5d3e7daa36aL,0xf3db2ff2de01078dL,0x8329d82a2f10cb32L,
  66884. 0x8a933f560a0240efL,0xb05ac0fcf0ab8458L,0xdc32a5492dd7cd0aL,
  66885. 0xa53ce7ea66018a68L,0x8d453dece96184f0L,0x0000000000000017L } },
  66886. /* 26 << 196 */
  66887. { { 0xfd28fd2f06a1b72fL,0x54d721eb28ab431eL,0x131944e6449a31ceL,
  66888. 0xcee896aaf743b99cL,0x5a22f9b61f309b87L,0x52595371d6f002c9L,
  66889. 0xec1119fd2f9c5506L,0x685f82c7228d2e82L,0x00000000000000d2L },
  66890. { 0xee614493cbf1b3bbL,0x44d7be7af3861222L,0x4b01c72974a0b60fL,
  66891. 0x8272691f411bef96L,0x276d9a53b6a0abc9L,0xec66bc5e0495166aL,
  66892. 0x0c3802fb8127af16L,0xe1d8c99ccfd1e4a4L,0x0000000000000021L } },
  66893. /* 27 << 196 */
  66894. { { 0x4fe4d6cc0345e12eL,0xfc55a162bd0ba258L,0xf5945aba4fa7fa6fL,
  66895. 0xef5b2f368a815568L,0x345ed8ff6f8d1f91L,0x57a9ecae13e62497L,
  66896. 0x121b4b4054ea607cL,0x2e33b7eddc577373L,0x000000000000015bL },
  66897. { 0x69b188f030164779L,0x5a5c8bf1b5595d69L,0xa5ddf2d33c99af05L,
  66898. 0x5421f999e5f631a2L,0x75741d7fc9767800L,0x9f3f1a7c1e91e805L,
  66899. 0xed1f12ac428cde8aL,0x0cbc29b61258e75fL,0x0000000000000179L } },
  66900. /* 28 << 196 */
  66901. { { 0xdb0b25781169daafL,0x6136642d2a9d17caL,0xfa6bc4e8f72df335L,
  66902. 0x1778a4c225b9ed79L,0xb633fd4f4310dbcdL,0x4b13b4faafd58778L,
  66903. 0x4522514b00e07b54L,0x559f9ab9e477fe71L,0x000000000000011eL },
  66904. { 0x5c8d43b07ddf0054L,0xa53226de46f8cac6L,0x065c1269f2f221b0L,
  66905. 0x9cafcd4a9956f22cL,0x982ac10bc519cd6bL,0x15318af6799774cdL,
  66906. 0xe71307981ac986c1L,0x73d702b5045f1c18L,0x00000000000001e3L } },
  66907. /* 29 << 196 */
  66908. { { 0x8eadf42faf4686cdL,0x1d08e2137ab97161L,0x0f210dfa3f500b83L,
  66909. 0xf1b2e0861ce61acbL,0x7eaede2891fd68dcL,0x895d7935745fb13dL,
  66910. 0xe01b00823880eb43L,0x6f6f1e0287e35884L,0x00000000000000a3L },
  66911. { 0x54e32082e6dbaf6cL,0xe7a3aaddfb20f209L,0x9a0378062a9ec5d4L,
  66912. 0x03e8f27aac9a81a8L,0x2a98abdec88a9bc4L,0x71ef89d99dc10283L,
  66913. 0x4f0489fad411c02dL,0xff054fe1b63afa4dL,0x000000000000002aL } },
  66914. /* 30 << 196 */
  66915. { { 0x5c9de5a4256a761eL,0x683f423188f0d612L,0x2a78b4b8280c04f5L,
  66916. 0x57b2bf75e3f6518bL,0x477eea36ca8677f5L,0x71035e47b0bb0034L,
  66917. 0xc12117e2aff585d4L,0xfc2faeca0c076757L,0x00000000000001cbL },
  66918. { 0xeaf9bdfa3be3d035L,0x8d68f8ccf1ff65dcL,0xf293f7cad465c674L,
  66919. 0x89ba6110617b8082L,0xe20a69b05a81151cL,0x6846f5bf5cdee0ceL,
  66920. 0xc152ffdd86d5304aL,0x0b309e4ff1a6e86dL,0x00000000000001c5L } },
  66921. /* 31 << 196 */
  66922. { { 0xd0483c82a8530876L,0x63098f1b0e175f10L,0x3f2b2af973cc5d1bL,
  66923. 0x1e1a0147e2868b4bL,0x2c156d2e0a5b21d5L,0x58954ed044ca50d6L,
  66924. 0x66c0fee44271ccf5L,0x4671b5ead83255c9L,0x0000000000000072L },
  66925. { 0xc96b825264cc2271L,0x79bf4ed687d0b7d3L,0x90aa275e308f708aL,
  66926. 0x556639c530812a17L,0x926fb02487645ec9L,0xec979253102ed54aL,
  66927. 0x5317b9e51478db12L,0xbd141acf0110f601L,0x0000000000000171L } },
  66928. /* 32 << 196 */
  66929. { { 0x04e8dc9fbcb97cccL,0x4652847e88086fbaL,0xe5ec071965411266L,
  66930. 0xaf72b4a169e1c843L,0x48e75c318161e951L,0xab6457928a39806bL,
  66931. 0x3fa10b38a2a97512L,0xba9e2ee7fc3a693aL,0x00000000000000ffL },
  66932. { 0x3b96e7c33b70d15fL,0x87c3f3dd4ae9e52cL,0xa256e7e864ecc9f1L,
  66933. 0x541d8b6d07c90736L,0x2367141f6c2b4160L,0xe32aa363cab770f3L,
  66934. 0x51e2c83261282e7eL,0x194b06a2f3fa7817L,0x00000000000001c1L } },
  66935. /* 33 << 196 */
  66936. { { 0xe8a62c0de1d32dbfL,0xf1f616421cdaf3eaL,0x70881e0fbf70d93dL,
  66937. 0xf031d4ea8bca2111L,0xa19a22ea7037de31L,0x37018144040b9b64L,
  66938. 0x6890d852d77984a3L,0xe460fa7552eda9feL,0x0000000000000105L },
  66939. { 0x6446173460a056fcL,0x708f17630b561251L,0x8e32715ffab9f6f8L,
  66940. 0x562046fb8987e3bcL,0x6fe352a8e555a225L,0x9a1db7632433a38fL,
  66941. 0x81887733cbb91ebfL,0xeff8a2c627793c77L,0x00000000000000e9L } },
  66942. /* 34 << 196 */
  66943. { { 0x3ca6f47973e4c097L,0x6ff9fa2ae38e7294L,0x1289d5bc9ea599abL,
  66944. 0xf2a37ae7a8928130L,0x50f2f989f1a6c895L,0x8757f302d7d6cbbeL,
  66945. 0x4196104d4e40f53fL,0xebbe471fbd519cf2L,0x0000000000000107L },
  66946. { 0x2ffa710db24b0064L,0x02cddcf4aee5996eL,0xe16b2968e5d23a32L,
  66947. 0xe5c9be9072f414d2L,0x8a5c1db065de7f6fL,0x2130bd6b0ccef750L,
  66948. 0xdd3df13f4f42f281L,0xc13fe304695f4b82L,0x0000000000000084L } },
  66949. /* 35 << 196 */
  66950. { { 0x93e7f4ec605cbaa3L,0xae4407b383e3f52bL,0xa2097b0241a92aa1L,
  66951. 0x9e7466e3deb06bacL,0xf8f92193bd45255dL,0x8b5f880087cc518dL,
  66952. 0x3f49ebef9ff8b60fL,0xde7fa84a2963894eL,0x00000000000001bfL },
  66953. { 0xb50f8ad28a71215eL,0x458e00b689d5ea0eL,0xd7713a988a12ca3eL,
  66954. 0x3a87bb016251a8ffL,0x9628caabf1b37745L,0x33b4c2ffd0d6c193L,
  66955. 0xc3ce2cd7168ba8e8L,0xcf2c2dd14078fec2L,0x0000000000000147L } },
  66956. /* 36 << 196 */
  66957. { { 0x8bf7c9c33cf23534L,0x5653e5d9a1868c02L,0xbfec2eeac365617bL,
  66958. 0x2b6f61f1ecc8298dL,0x40396d9f1a169a31L,0x42eb3d8659bd4b25L,
  66959. 0xa1b8cc7d241065d7L,0xa6e89c216fc1ace9L,0x00000000000000e7L },
  66960. { 0x10d6248e72bd3d50L,0x1a6446b3c4671f34L,0x6734a9f04bfde2edL,
  66961. 0x84afb994938bdf38L,0xa122be493fee450aL,0x9b83520e500ee214L,
  66962. 0x11982bd9dd8ad22dL,0x3bd3f748c9839b36L,0x00000000000001baL } },
  66963. /* 37 << 196 */
  66964. { { 0x621af6617e7b439cL,0xd6e8e2b815afe413L,0x97c6b17c7b245ddcL,
  66965. 0x289e61717feb0b73L,0x98505d821c5e51f0L,0x33cb22cd631d3314L,
  66966. 0x723a81a5e1e6b48cL,0x8e32d81164218c3eL,0x000000000000014dL },
  66967. { 0xf98fef26fdc0e56dL,0x0e9cba0ad776149fL,0x896f5700cc8b41d0L,
  66968. 0xc2361bf783699489L,0xad6795f43e5d1c59L,0x717681b64d2c7cfaL,
  66969. 0x5fe3591eeb9a970eL,0x47c95b0d8350b6e6L,0x0000000000000184L } },
  66970. /* 38 << 196 */
  66971. { { 0xbf0616bd5ddc2698L,0x765ac3d4be906553L,0x1f75a167f5494395L,
  66972. 0xf81d9ad94284513fL,0x9d6e5bdc7d63f117L,0x64311ef80dd9a72fL,
  66973. 0x1e03cb88a093fd4cL,0xc044f4baf45dac7aL,0x000000000000004dL },
  66974. { 0x01c2507bcd22efaaL,0x62a24322e919f292L,0xb1b116e684c75e56L,
  66975. 0x8ec19402f1471232L,0x4b206e3ba7712367L,0x91ef56c2038e4419L,
  66976. 0x9facfa3e5ab207beL,0x4fdd07bc11203cd6L,0x0000000000000106L } },
  66977. /* 39 << 196 */
  66978. { { 0x4d0117ffbfec68f5L,0x4cd18a0033d8d3c4L,0x3d63af1e96480162L,
  66979. 0x8b2bf467fa9ff1b7L,0x74b4ad4943c77644L,0x35725c2f089a359eL,
  66980. 0x639a66f4df226886L,0x50b29f65fedcac88L,0x0000000000000018L },
  66981. { 0x0afc4f29bd92ab9fL,0xbad68d8a47163560L,0x1ffa046d37e10fbcL,
  66982. 0x2b49d323ec249cbeL,0xac325052aec86c45L,0x3a7519254b6a83a5L,
  66983. 0x22ede30b2f277217L,0x8f88e2e854d41982L,0x00000000000001dcL } },
  66984. /* 40 << 196 */
  66985. { { 0x7278584f6efe90ecL,0xffe6da80c2971903L,0xd05ae9ff0e5b498cL,
  66986. 0xef414b291a1027b3L,0x2f651f532ca82e24L,0x2f0da56297e1b677L,
  66987. 0x7e984b0792315558L,0x30f1b1f81c3e6b0eL,0x0000000000000183L },
  66988. { 0x273edf2427a65a6cL,0x6ff4b6fa7b16c778L,0xfedb4e3731fb5dfeL,
  66989. 0x181e43b8cf9d4e15L,0xd60dc117191c9415L,0x9daa6f3583e150ccL,
  66990. 0xeff60ac45cf670adL,0xa75fc519da594d74L,0x000000000000005dL } },
  66991. /* 41 << 196 */
  66992. { { 0xe20b5aec250f9de7L,0x1aae76fb3fab5e0aL,0x0becc02b33318cb6L,
  66993. 0x3238d3a763f85fb8L,0x32b6b02f81279952L,0xfbd0321d4463d8dcL,
  66994. 0xbcf5583706ba9c4fL,0x215737ab3e66a0d2L,0x0000000000000047L },
  66995. { 0x0630af2f21485b77L,0x98d384749422760fL,0xd5ad435706253457L,
  66996. 0x3d72489a60164b41L,0x1eceddf2318658e2L,0xc01ea9d766ad11e8L,
  66997. 0x85381580468ad1daL,0x6fbf66bb215835b0L,0x0000000000000000L } },
  66998. /* 42 << 196 */
  66999. { { 0x89733251bc6e092dL,0xceb697d37f36c9faL,0xcdd80fe333cded69L,
  67000. 0x4e1dacdcad9308baL,0xa2ffd125033c2941L,0xe8d009e6974bb3ccL,
  67001. 0xd72c5fa93368b9c9L,0x8d7ed4ff5a1331c7L,0x0000000000000189L },
  67002. { 0x4813b528e8edc388L,0xdc17a243e0c0af22L,0xf1bd51fa74495d32L,
  67003. 0xec53b061b286aa96L,0xa6abdf9619068cc1L,0x820646d9e4207cdcL,
  67004. 0xf74a8d2d1bcfa5c3L,0x8633342d5f097f9bL,0x0000000000000078L } },
  67005. /* 43 << 196 */
  67006. { { 0x0c95ca695ac18348L,0xf75ca2fa5b052634L,0x28d4424b71bf0289L,
  67007. 0x0d40063f31653756L,0xc814832deb0bcc02L,0x0158f9995e70861fL,
  67008. 0x05d5a762936ad90aL,0x434a7f74a144b3f8L,0x00000000000000dfL },
  67009. { 0x6ffd78fee3f669f4L,0xe16f72d982c47401L,0xe6e5963f36c8f97aL,
  67010. 0x05c42226cf7de123L,0xd4101edcb94ee7c6L,0x6b3e2b62daa047a6L,
  67011. 0x4d55db3b99607484L,0x70960806e3c0818bL,0x0000000000000055L } },
  67012. /* 44 << 196 */
  67013. { { 0x0c19aae6b0dcfc0fL,0x9e0eb373c5c3aae8L,0xc161fd1c4a50f55cL,
  67014. 0x1ee02a2b9e0697e0L,0xd57f6a602ee4267bL,0x5d336ac44a0ddf2dL,
  67015. 0xe695c75e6e4a7d7fL,0xa79a0ff3fb055923L,0x00000000000001d1L },
  67016. { 0x2e7ea0098188fce2L,0x81ef9870c12184a3L,0x4e03c68fb1e88e83L,
  67017. 0x3b5ebc5d7e85694dL,0x436f1044bbcd787fL,0x56c1bc0d2d3e5789L,
  67018. 0x23c6542d6fe9f054L,0x8a1bf0c65ffd53ecL,0x0000000000000162L } },
  67019. /* 45 << 196 */
  67020. { { 0xee9e0619502108a8L,0x4f1b33366a1062e3L,0xfe009ec650a122d9L,
  67021. 0x2d8fcb69c9e48f99L,0x808241ac63c706c2L,0xc91225fdb524a19dL,
  67022. 0x4a8e5dcc9ec80451L,0xa03ef54586005457L,0x000000000000015eL },
  67023. { 0xac3efcae7fd50c83L,0x7e0b922f431aa19dL,0xa715c2def3d56a91L,
  67024. 0xc92deab66be3d952L,0x1c388d660db1584fL,0x65d59dea3102a4c9L,
  67025. 0xaa23da841d251b83L,0x12234fba7c16c390L,0x00000000000000d7L } },
  67026. /* 46 << 196 */
  67027. { { 0x908fc9cd1bcbb1ccL,0x1c8e79c605c7336aL,0x3be79537e9943726L,
  67028. 0x50fbdd811d9cea24L,0x0bfab19d8c2c7fbdL,0xc5549a0ad1ce3a2fL,
  67029. 0x9b9d925f8cd9652dL,0x9897484a739e0cd3L,0x000000000000007dL },
  67030. { 0x393991e454df8672L,0x3182ec23505c2450L,0x1a6d66342e010ffdL,
  67031. 0x4862c7f13a3a0457L,0x04128c4709ce1141L,0x7665a44691ecac9eL,
  67032. 0x4d35845d698e56a2L,0x2bd11b9c63edd2e5L,0x0000000000000069L } },
  67033. /* 47 << 196 */
  67034. { { 0xf005c9a8b9a2702cL,0x810498cf2c1e6de2L,0x6befe7b4e18f6d56L,
  67035. 0xc6589cf794b8d39fL,0xbf8d443c00cbf65bL,0xc7c9879f45df1b9eL,
  67036. 0xccc79b076de50858L,0x929bea822826a4e0L,0x000000000000010dL },
  67037. { 0xb296b3eca13db6f7L,0x7e5d7795faf5b85dL,0x2ff9b0b266854f2bL,
  67038. 0xc25523050a9a844bL,0xbe3c89f03882805eL,0xa9cf3ecf3b332aa9L,
  67039. 0xbe5ed1a69fad543cL,0x0f7d29f52bec4b80L,0x00000000000001e3L } },
  67040. /* 48 << 196 */
  67041. { { 0x22d8c3c4d2a1f241L,0xcb6055158ed2c14bL,0xbd634a2e2939f855L,
  67042. 0x30b2b6b91e9519b4L,0x19911c0008a31d22L,0x60b0713b979cd33cL,
  67043. 0xf41a8abdb94f9b61L,0x3f2d8c91ef72cf1eL,0x00000000000001b4L },
  67044. { 0xf0acf9b3d78b56eeL,0x12112d24e915a265L,0xa18c93adc1d7025fL,
  67045. 0x279a4db82e652107L,0xbca73ad02bffb5daL,0x2cdfeee4e2d168eeL,
  67046. 0x6d83a77f5a4aca12L,0xc203514b1d22e8f4L,0x00000000000000f8L } },
  67047. /* 49 << 196 */
  67048. { { 0x91055288c64e6ec6L,0x8c16e01acd04e9b3L,0x4036627a86571434L,
  67049. 0x881ed57082957000L,0x310c958bfa5d4e68L,0x06baf7e9bb2d87a9L,
  67050. 0x4fe3ea057c2f0a2bL,0x38bb26bfe948412eL,0x000000000000007dL },
  67051. { 0x66b2c752f3e37ae3L,0x0dd0ff8df7224205L,0xf90ce316e12378caL,
  67052. 0x6491f235c3d6855bL,0x4fb4f58faf02496fL,0xde97dddce1cb8cd6L,
  67053. 0xd92c7227fa3d595fL,0x9f6b1ce8fceea6b4L,0x0000000000000180L } },
  67054. /* 50 << 196 */
  67055. { { 0xbd22be71b0de2450L,0x2e3f91b14c3a57a3L,0xa977e3772a4ffb4aL,
  67056. 0xdbf6fffe5aa5cd91L,0xbc48435eee1e3920L,0xa563e4307d378540L,
  67057. 0x62f6de0dfb41e34cL,0x8011c6cce38ee8efL,0x00000000000001baL },
  67058. { 0x005b98bcd74a67ceL,0x8befdb54ccb7e590L,0x9f161fae5663c8aeL,
  67059. 0x3693d9d550eb0d37L,0xafb1e38ebf1d75d3L,0x087fcc9c5153565fL,
  67060. 0xf43377b8105862c2L,0xeb84439f6dec3a5fL,0x00000000000001dcL } },
  67061. /* 51 << 196 */
  67062. { { 0xcde6dee7eca8f051L,0xe3f3cf361cc4d62eL,0x25ff2aa03b1c36b8L,
  67063. 0x6e72443eafdc5613L,0xf893f5ecb9772bc5L,0x38371f1262192ac7L,
  67064. 0x9c1813baf309d94fL,0xb449174edc9a7a48L,0x0000000000000111L },
  67065. { 0x3b0e446d09c82a82L,0x6f50ae7c89493d60L,0xf1903236a6080476L,
  67066. 0x5e3827be27267e80L,0xc24b7fe32bc49a51L,0x616056db7c842855L,
  67067. 0x97ba566f1e70d7b8L,0x4dc726365a13ac33L,0x00000000000000d0L } },
  67068. /* 52 << 196 */
  67069. { { 0xf4f43b19e0e59b2cL,0xc6e2be38afeb7cdfL,0xae8a39acc29cebd1L,
  67070. 0x6efba10c45c2e785L,0xf8e52a9ab2641116L,0x40c2f2414196bec3L,
  67071. 0x60a7d1e4b1d839e0L,0x5d7d06d259f62c00L,0x0000000000000130L },
  67072. { 0xea760695ac9c3c53L,0x5986bea02581f9d6L,0x59308ce3cfc0fd55L,
  67073. 0xea705a6119235af9L,0x443894840718acaeL,0x836bf3f6328cc902L,
  67074. 0x235deb73230f3339L,0x8e0c21f18ee4baf2L,0x0000000000000164L } },
  67075. /* 53 << 196 */
  67076. { { 0xe926ef80c0a99509L,0xed1649689ccfc4f2L,0xe99b4885e39ff73fL,
  67077. 0x8ccce32809d0e1beL,0x805d18ad17806543L,0x10726fcfd6d2a9a6L,
  67078. 0x0e3467645de89209L,0x9b900651642b18f4L,0x0000000000000027L },
  67079. { 0x2b74d221bc1b36e9L,0x7e989f8c6caed8c8L,0x1e25efb759d92e98L,
  67080. 0xc6de531b1b5c7709L,0x26e58ed46b64af05L,0xd86e96d549e9e433L,
  67081. 0x4fecebf92c240df5L,0xe0d4dbf983308bfeL,0x00000000000000b9L } },
  67082. /* 54 << 196 */
  67083. { { 0x0e30bb6868a51131L,0x0989155b462c88c1L,0x548c6c52d03cae33L,
  67084. 0xbc452d0ffe58d840L,0x24200a5335a13957L,0xa601a8497546a30fL,
  67085. 0xe5d9c7e607f23c63L,0xfc71ce9d10a1c525L,0x0000000000000015L },
  67086. { 0xf6a1299a1fe5ca30L,0x2f81c374ea5824d5L,0xe644122857981dceL,
  67087. 0x3df02523b1a2de8fL,0x54e40ac804cc4237L,0xa3055eea7bd400d9L,
  67088. 0x48872d662187a56fL,0xa69e9dee884aac47L,0x0000000000000181L } },
  67089. /* 55 << 196 */
  67090. { { 0x75eefbfc42f8fcbdL,0x07eb8d597ba7414aL,0x84cd31bc2c8f2b79L,
  67091. 0x4d26c915d04becaeL,0x36868d1c210fb6c8L,0x6cfccace72f79b53L,
  67092. 0x3cdf02781ebdbe12L,0xdb4a114286fc40ddL,0x000000000000000bL },
  67093. { 0x73f66dd28db9ed5fL,0x889959a887f6b0c7L,0x6704c74140878e48L,
  67094. 0x1090b3d446b6c3a1L,0xd7b7aca178e5c4b1L,0x2d612e96ad1a5598L,
  67095. 0xca5da9eb614b70ebL,0x9ca5c48a854622e0L,0x0000000000000031L } },
  67096. /* 56 << 196 */
  67097. { { 0xd20ea6d6f77ed05eL,0x4ba76f5ad4eba7fcL,0xb8f202d214b757d4L,
  67098. 0x4c9fe411a5fa5280L,0xf6e25d132839f868L,0x13ea010ba1cad300L,
  67099. 0x480c268bf85ea22fL,0x4d0cf6672072c1bbL,0x0000000000000023L },
  67100. { 0xf1e5e5230b6bb224L,0x0d56223d8d239295L,0x3682808df54c3f69L,
  67101. 0x0c17e3ca1e59cb8cL,0x7d756e19ec2f17dbL,0xd836652462e7664dL,
  67102. 0x3768cbff8ac12886L,0x5e741a688c3d34f5L,0x0000000000000020L } },
  67103. /* 57 << 196 */
  67104. { { 0xc54fe29871847964L,0x8280a8fcfdf1f5dbL,0xd6a0534af822e863L,
  67105. 0xdc9d3cf826386f9dL,0x9bc6b98e0407ff49L,0x017784bd80755fe7L,
  67106. 0x213c81559a977a8fL,0x8dd3801d4e65da56L,0x00000000000001bcL },
  67107. { 0xef919759c03c33b2L,0x75233bef62d3430bL,0x3f1cfea4e4cc6a49L,
  67108. 0x38ab926464e971bcL,0x423b0ed9d5eb0c22L,0x6624a340b79c6d63L,
  67109. 0xd6b3fce896fa51f4L,0xadd1d8b35d609eceL,0x0000000000000070L } },
  67110. /* 58 << 196 */
  67111. { { 0x35045126ad9eda52L,0xc2ea75df374dd433L,0x487538ab0373e6c3L,
  67112. 0x33614263e0eee811L,0xc58358ea57c10df4L,0x32dc5cc35073a6c4L,
  67113. 0xb045e46a13446f08L,0xa5732ad5b66c0656L,0x00000000000001baL },
  67114. { 0x7a153e655b0966fcL,0xb603017fb8c3c1afL,0x1a39c8dba067a681L,
  67115. 0x3033a65440667020L,0xd7801a9db73a160fL,0xac1ee568789ccc50L,
  67116. 0x554288945893ec7cL,0x384002a000eda7e3L,0x00000000000001e0L } },
  67117. /* 59 << 196 */
  67118. { { 0xe8b72ba4767216dfL,0x2bd7cc62233437c1L,0x2ec3866c25595c2bL,
  67119. 0xad8e4cadcb1171acL,0xb3013d8151bd5ac4L,0x6b5abdd61b508534L,
  67120. 0xb4cc2718d3050696L,0x6b986ac7816e843cL,0x00000000000000cdL },
  67121. { 0x674cf9e1a395c9f7L,0xba207b7ba99d5579L,0xb88e686fa1933b93L,
  67122. 0x12c6706d9df81c4fL,0x15e65e3946b23f93L,0xf35458c73fc0f44aL,
  67123. 0xf1e31de2002e545fL,0x4af49917e9f03de5L,0x00000000000001caL } },
  67124. /* 60 << 196 */
  67125. { { 0x9dbe2571dddb531aL,0xcb512e4c394ebff0L,0x4b63c8a4a8d37bdeL,
  67126. 0x97beaa21bdb7f8f0L,0xf200e1e9b0a7a3f0L,0xdb7fe7da3a46a4e8L,
  67127. 0xa180445dad11a863L,0x74cf8239b2a4b922L,0x0000000000000108L },
  67128. { 0x427c0b0eb74b8368L,0x55c6a2ea42e1ee50L,0xcecb56d06ee5f819L,
  67129. 0xdd52e9cef6d2ec2dL,0x1c990f3f9331556cL,0x9178c5a82f80fd9fL,
  67130. 0x75d32ffded631398L,0x0cedb14b019fba96L,0x000000000000012aL } },
  67131. /* 61 << 196 */
  67132. { { 0x69faed89822a012eL,0x53c0271bc1ad8f52L,0xee0d31f1937d338bL,
  67133. 0xa06b3a494041a239L,0x8b63fb07702f6ba9L,0x41d5178398b69014L,
  67134. 0x8486c40b544bbcb0L,0xcf2a64640917e881L,0x00000000000000ceL },
  67135. { 0xeadcae05e83b1cf0L,0xc225b14edd855ea5L,0x1ea3000a0373f195L,
  67136. 0x28e08aa0bef5f415L,0x323f250c04f8b333L,0x5c2790bc8c761109L,
  67137. 0x49334e096d0e9ebcL,0xf82c8cd830e0fcafL,0x000000000000010bL } },
  67138. /* 62 << 196 */
  67139. { { 0x4c1a21f51222a135L,0x7ffc7eb85e187c31L,0x2b6d847fe1fe189aL,
  67140. 0x19dfc0372d394d0bL,0x55dc23a056e7e285L,0xeadb01c77fb7a5c1L,
  67141. 0x885f8312bd11402fL,0x7bb2f26fff2843e4L,0x0000000000000137L },
  67142. { 0x4be6d277183e33d9L,0xdb4a534c64233c38L,0xf6cb271db58af85bL,
  67143. 0x41e0e7e5e334d256L,0xc91e2cea2d50cf26L,0x7819aed35fda0020L,
  67144. 0xe8f81026c0a98fb6L,0x109243793a618687L,0x000000000000009aL } },
  67145. /* 63 << 196 */
  67146. { { 0xac831cc6dd08552fL,0x749fb06f21e38f55L,0xffe1fa0503348862L,
  67147. 0x8181db69c8c3e026L,0x1404819e3dd3daddL,0xb065c5a303749cdaL,
  67148. 0x9f2ff76605fdc4e1L,0x6c73b8ccf67793efL,0x0000000000000080L },
  67149. { 0x807f0dcbc1f25aa0L,0xa38b959a84dfac44L,0xa112f1c8427a1fa8L,
  67150. 0x8bbe3c9dca7866e4L,0x67777e1960dbae5aL,0x323e9a90a9f6aa43L,
  67151. 0x693abeca12ab7028L,0x262a90dad5667809L,0x0000000000000053L } },
  67152. /* 64 << 196 */
  67153. { { 0xad8f0fe4c4e24c8dL,0x81cf16fdd1eaa52dL,0x710a08a7d68864caL,
  67154. 0x8e736c0e7539de5fL,0xca6583377f67341cL,0x63892b7d900b74b6L,
  67155. 0x5d1d91db6e9be886L,0xa4da95649633a600L,0x000000000000019bL },
  67156. { 0xcdae7a975c319d97L,0x873b4f53d0316874L,0x7ac186845c213ab4L,
  67157. 0x4f0b5ae2ae9109c5L,0x1934b7ed7a661690L,0x0f98acd90707b518L,
  67158. 0x12f07c5534017e00L,0xe9b121a16ce4ad49L,0x000000000000015eL } },
  67159. /* 0 << 203 */
  67160. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  67161. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  67162. /* 1 << 203 */
  67163. { { 0xf4d3bcb3e588a775L,0x63161619365983c7L,0xba7334ad66782f6cL,
  67164. 0x1f14dedb8783d25aL,0xff6fe73c50c67fe1L,0x711ddfe3f79a86a3L,
  67165. 0x7cbd7f3a027d18eeL,0x7f63d331c4ecd52aL,0x00000000000000d7L },
  67166. { 0xf463a32bcb49037bL,0x66e4ce3de7c35c02L,0x1d175313116e0d6bL,
  67167. 0x3bcfa6722d307ee9L,0xc6f9bcdc7c79261dL,0x79bb33dc994649cfL,
  67168. 0xb491b05f6d4ee55cL,0x4bd0668e1e6846bfL,0x00000000000000ffL } },
  67169. /* 2 << 203 */
  67170. { { 0xe7bfc99fbdec6efbL,0x2bd3d26b67326c7bL,0x23f041ff594c614eL,
  67171. 0x5a778c67ec9b4420L,0x75b5618b30eaa444L,0xf8e2bb92ae6d50a4L,
  67172. 0x7278c60b1fdeb6f0L,0x5b8471dd97c654ccL,0x0000000000000139L },
  67173. { 0x115a81123e959ca8L,0x13dc4aa38bed7eeeL,0x02340f86ef94c5fdL,
  67174. 0x519293a499a5d5ccL,0x09573381294349a0L,0xdefe063fda33b39fL,
  67175. 0x6a18640aa382a806L,0xb3e25fdbd227a86fL,0x00000000000000d3L } },
  67176. /* 3 << 203 */
  67177. { { 0x64018be514712d81L,0x5fafa8b67cdf8720L,0xd92dbefac4676cc7L,
  67178. 0x81b9d5d13ff37dbaL,0x2ecd7dde297a8d41L,0xc893b59f1f558676L,
  67179. 0x5d8d83ce75659922L,0xe1dc82f90559beacL,0x00000000000001bfL },
  67180. { 0xa3cc74ebdce6c952L,0xa76fdacac95505acL,0x67ab4bddbfa02be6L,
  67181. 0x2a24dae8df7d00e4L,0xf82d0a5af2523788L,0x0b3db8532f8ffc37L,
  67182. 0x65ee0920549e630cL,0xb682bfc6e02b93afL,0x00000000000001ceL } },
  67183. /* 4 << 203 */
  67184. { { 0xe3169760d3a4d912L,0x5568005c7ba3a1a6L,0xb469884dd7e7b5d5L,
  67185. 0x6be70c098cecec62L,0x6300a32fc5d6363dL,0xc2fd66e44db63578L,
  67186. 0xa131ea2135ae7bebL,0xa82fd7fbd31a6f2fL,0x00000000000000daL },
  67187. { 0x1280d69100deb4b3L,0x72865157a4ea0abeL,0xc87881678934a09bL,
  67188. 0x5733cc11a70dd871L,0x139e88760ffc8eb0L,0x8e9436e30d958521L,
  67189. 0x06d1a845b3059f58L,0x3c220ab3a81354f6L,0x000000000000000bL } },
  67190. /* 5 << 203 */
  67191. { { 0xadb4a7d18cd7b861L,0xa73ebcba1bf42950L,0xd952d5552c86dad2L,
  67192. 0xe3f82d13b988894aL,0xc389b7497ad6f062L,0xef0ed10973ec36d6L,
  67193. 0xecd5d73dcdd4431aL,0x006edb8d828f55e5L,0x0000000000000144L },
  67194. { 0xf19bb0ce05a40d99L,0x152e0fd650dd05b4L,0x057bbf2e9508569dL,
  67195. 0xa125e601f434a3adL,0xcfbf6d31dbd7abf3L,0x8a47f4fbabb7ec67L,
  67196. 0xba9b13e665be73a5L,0x06d9f4989a033039L,0x0000000000000113L } },
  67197. /* 6 << 203 */
  67198. { { 0x1499ff98ac49d960L,0x98f7925a3940ff6fL,0xf6c696dd743f2ccdL,
  67199. 0xe7c6c272ef310a73L,0x4029492d91ad1858L,0xa2e65af9483037ccL,
  67200. 0x080c3fd0d3453348L,0x4a1f9803068380c0L,0x00000000000001bcL },
  67201. { 0xa39427ddd9dc2514L,0xe0f733ecb2a91d48L,0x0144d74f29219e28L,
  67202. 0x25ddcc92e3fc6c5fL,0xb90e371391f871e5L,0x3f763adb81a245caL,
  67203. 0x1fc6a1492f3e2323L,0x92cc2090b41f0b93L,0x00000000000000a7L } },
  67204. /* 7 << 203 */
  67205. { { 0x16fc10ab7052570aL,0xb8ba7dd0743fc619L,0x74e19ac2fdc9c41eL,
  67206. 0x8c377fa7ad8dc91dL,0x9c7d2ea6e0cfa9fbL,0xb1f1b0d571b1aa87L,
  67207. 0x912d33bc900e1282L,0xe8efdbbb0235ab3bL,0x0000000000000193L },
  67208. { 0x2f42a780ecf05e45L,0x4abc067a5ffea26bL,0xd934e1bf3b8f86d9L,
  67209. 0xc622689102f42e09L,0xb828a02f94bdda3eL,0x08d0e0d8fd23164aL,
  67210. 0x49138165cd40abe2L,0x2cad4154325e1e74L,0x00000000000001d4L } },
  67211. /* 8 << 203 */
  67212. { { 0x293385edb0596774L,0xcdf619f0dc09fb31L,0xc4af9e6a90f76d96L,
  67213. 0x54b471b7cc8596fcL,0x18ffee0265bb2ef9L,0x4942b53fcf9d919eL,
  67214. 0xd6f9d2a9e553f316L,0xd83946cc6a58eaa5L,0x00000000000001b2L },
  67215. { 0xa1d2daecdf8aa88fL,0x62cd7b320caed19dL,0x7c08bc5735b5b292L,
  67216. 0xe1a60a4454118651L,0xb1d83a9eaa8e4f5cL,0xc47b05fda30e7ac3L,
  67217. 0x9167e33e388daa83L,0x27a10be2b9685de6L,0x00000000000000bbL } },
  67218. /* 9 << 203 */
  67219. { { 0x61072e6115d296f8L,0x11fc465ebc5f7f34L,0x93eb012252ce572dL,
  67220. 0xe66fe1a8a14f9fc8L,0x0857caf11118519bL,0x0ec99efbce22fd7aL,
  67221. 0x9630984caeebd7b7L,0x06e2507983a6f11eL,0x0000000000000123L },
  67222. { 0x6b5c0e4a5b5a2bf8L,0x0a0430a05250b970L,0xa547c2981f8d2d99L,
  67223. 0x942a92d7773b6ae5L,0x3832ae1f9b1776f7L,0x9ff2f6eaf2484715L,
  67224. 0x8e886adfed1ac349L,0x5fa46fc33779f565L,0x0000000000000112L } },
  67225. /* 10 << 203 */
  67226. { { 0xf5fe39ed1fe5f835L,0xe17a6fb3164e9741L,0xeb9a084a0f1180e9L,
  67227. 0x95f55d56a1174f31L,0xc33fa3d103850ac7L,0x15a29bac6e0ddd06L,
  67228. 0xb80a0b7836f2f29eL,0xe5d8ddf467cde67aL,0x0000000000000133L },
  67229. { 0x1767c74cc5ee0dd4L,0x1d61299bd7e4bddbL,0xf4d89a2ffa74fb11L,
  67230. 0xe8a63c4a0037fb90L,0x30fcdb047800ec4aL,0x49a1e298d490df3bL,
  67231. 0x3d3510a2da5acae7L,0x2d4184aa78ce9832L,0x0000000000000024L } },
  67232. /* 11 << 203 */
  67233. { { 0x461789e5a7e331b4L,0x94f5c063e056cf9eL,0x51c4cb0bafe86b1dL,
  67234. 0xa77f9298ef14a074L,0x077bb1b48fc7cda4L,0xe5463bbe3ec37500L,
  67235. 0xd8929e637a85c083L,0x99bde81e8a6a20f3L,0x0000000000000039L },
  67236. { 0x3267c02daa1f7d63L,0x23d9787ed3ea992dL,0x8bd7ecc6eadfc006L,
  67237. 0x1dcc457818d40a6aL,0xf4e545c5c2837f18L,0x4936de14599552abL,
  67238. 0xf7ba407716ae7bc3L,0xb5a4143a28bd986bL,0x0000000000000132L } },
  67239. /* 12 << 203 */
  67240. { { 0x7af8ee911d17b705L,0x8e4e597421098f55L,0x0542a394d5cecacfL,
  67241. 0x4d8eb8395094f357L,0x8c86900c62d5a150L,0x7ad4081bafe653e7L,
  67242. 0x387c8a7e677a5bbcL,0x088120b9be7886d1L,0x0000000000000156L },
  67243. { 0x986523706c398918L,0x7c9c49714f6c44c4L,0x443abe7820a8fa98L,
  67244. 0xf42a7ff4137f926fL,0xff4c7aa9f464b480L,0xf88b491a277d4eb8L,
  67245. 0x170a625fc3cab7f6L,0xf9bba62bcdcab435L,0x0000000000000186L } },
  67246. /* 13 << 203 */
  67247. { { 0x31b0c09c5bf0852dL,0x18aaaed5d0a908a1L,0x4895590f40ba0908L,
  67248. 0x5b3c1647b5ce8ae3L,0xf1b7f80893496465L,0xd5dd6bab9f019279L,
  67249. 0x85473bc14ec60138L,0x5e219e24c353225eL,0x00000000000000b9L },
  67250. { 0xb175cd2ff10b3294L,0x8cdc3ffa902373d3L,0x49bf103f9b547ce4L,
  67251. 0x78437a78684806b9L,0xedf8cea1ecb2881dL,0x3f74415f802d7f2aL,
  67252. 0xf921f614ec2bd162L,0xc5e11e9860a14a15L,0x000000000000007eL } },
  67253. /* 14 << 203 */
  67254. { { 0xda963dc90741634eL,0xc2b6b3cc6a62e31dL,0x726ffdb0926a9817L,
  67255. 0x2bc8a0c6a7a05347L,0xb440bef6dad1f7a5L,0x96ae7cb3666ebfb7L,
  67256. 0xf3b41ea36955bba1L,0x2ed577ffb1869190L,0x0000000000000025L },
  67257. { 0xcd5dc527b188b5e5L,0xa3fa5778ce6e943eL,0x463b9aa822daf81fL,
  67258. 0x2a0544efdfb44926L,0x7c78f0e5c5f56c83L,0x83a5552b87a0cacfL,
  67259. 0x8a5a5cdbf491affeL,0x419ba8841b8398d3L,0x00000000000000bfL } },
  67260. /* 15 << 203 */
  67261. { { 0xc7a233d26a1409e2L,0x75613083d555f813L,0x57856cf213217cf0L,
  67262. 0xa98b1bfbf09af4a8L,0x43ce553426956b0dL,0x952672fca3623606L,
  67263. 0x6c5123aa9b1676b8L,0x7ea503cd2c03b708L,0x00000000000001ddL },
  67264. { 0xfe97c8445f696473L,0x41fc8b4210c17454L,0x5988fe457d0bc836L,
  67265. 0x771a9260151ffcdcL,0xb20c19f78f31f140L,0x6a616316ea95a25aL,
  67266. 0x16ca637432de15b1L,0x428f650bfdd3aecbL,0x00000000000000fdL } },
  67267. /* 16 << 203 */
  67268. { { 0x4ac7cf5e23e6c204L,0x7b4459a48deb8019L,0x2ffd2583ebe4e27bL,
  67269. 0xab15feb705e6ae2aL,0x270a5d8fc902355cL,0x8d3df414faf419fdL,
  67270. 0x191b90b534ae3d01L,0x497282c4bb5abd9eL,0x000000000000011bL },
  67271. { 0xd2232ae08c7267f4L,0xe1fec69b17b6532fL,0x1c6a586eb1a2d82cL,
  67272. 0xeb84318629128558L,0xbf24d2f13a80efd7L,0x93763ddbb22228d1L,
  67273. 0xf9da00393cb37b92L,0x780d8ba986cd2952L,0x000000000000018aL } },
  67274. /* 17 << 203 */
  67275. { { 0x85ce6086c42c91ceL,0xe3730ba1beff726fL,0x3a03ccef7b5cdd1bL,
  67276. 0x21f5dd5f74df90ccL,0x515f92541dd8a8a5L,0x32e144b04540ec56L,
  67277. 0xd5b0f4ce1bf59220L,0xf7475efc15b613a1L,0x0000000000000009L },
  67278. { 0x9648786de09a8312L,0x637db864dec600f8L,0xc8d80a2aeff36b2cL,
  67279. 0xb35ee379748d7b89L,0x80480f180bc51ee5L,0x93ecb703dc1e3844L,
  67280. 0x96285408970354c9L,0x1d025481acdc2e04L,0x00000000000001b1L } },
  67281. /* 18 << 203 */
  67282. { { 0x11da16733b2b4777L,0x0da01f6bee05eca4L,0x4a39b2c1b5c102bfL,
  67283. 0xb1c398f40180ecafL,0x0f34076588c87533L,0x0c47914ac3c66289L,
  67284. 0x3696a6fa0dd34c31L,0x81e365a2a368c6d7L,0x00000000000001f0L },
  67285. { 0x840b207fbd408342L,0x30261282fece17e0L,0x40257c9f3da41fb8L,
  67286. 0xa4cae7603b1ac31aL,0x5fbcff5f594f704cL,0xe351cefe85314299L,
  67287. 0xe22cb75c12b975ceL,0xb1f453d9aa5cac15L,0x0000000000000004L } },
  67288. /* 19 << 203 */
  67289. { { 0xc9ead8a3a32cf5c9L,0x7dc1770b97c506e6L,0xe7c79e2d42a4fbc7L,
  67290. 0xb04c9f61bd24d6a0L,0x3205b73d256b6b7bL,0xf16c9e4b2de3cb16L,
  67291. 0x227f1ff5d82a3f34L,0x0019b2fde6349182L,0x000000000000016eL },
  67292. { 0x1f14191b7572f22cL,0x7302f1d0bf7099bbL,0x7fb16da069ac373fL,
  67293. 0x3339a34583f442ebL,0x2e9f4d5b3748f434L,0x824a57612b80770fL,
  67294. 0xdbb71eccb3f15c50L,0x1682849bf4442e7bL,0x0000000000000195L } },
  67295. /* 20 << 203 */
  67296. { { 0x178d85d0416d2153L,0x4c5e98ac3192f6b3L,0xa2bf4a99f469bfb7L,
  67297. 0x0cf96dce79b1c827L,0x1f0c1c1426bfefe5L,0xb311eb1d1eed9d89L,
  67298. 0x740f6075a0e8edfbL,0xaf5aaccd20253b96L,0x000000000000004aL },
  67299. { 0x383c53e0e2c5bcb2L,0x2bd6968fddf8bed4L,0x3f7fded26470a5adL,
  67300. 0x4262c3d7081745f0L,0xda4dd333cdf6dfd3L,0x3198e00505d05d05L,
  67301. 0xc90c1c96590157c9L,0x2ab65d5b805804c4L,0x000000000000018cL } },
  67302. /* 21 << 203 */
  67303. { { 0xc8b63533163574afL,0xd4411f669392afb1L,0x39cae3efe849fbb4L,
  67304. 0xb6905a8d734c3270L,0xb67c07e1cbbb8c06L,0xb255b4db9aac51d0L,
  67305. 0xf199d235564033e6L,0xa95f3a7c0f798793L,0x0000000000000188L },
  67306. { 0x991b58c05d94e2acL,0x160c5d37fee15559L,0x34604e5ab17d3f15L,
  67307. 0xf5a0f8bdfb1b01f8L,0xe991821b060c46a2L,0xf7a38307a55a0299L,
  67308. 0xc356d8e03afaa0d2L,0x333a3c25f0970ad8L,0x0000000000000175L } },
  67309. /* 22 << 203 */
  67310. { { 0x127344e29f66bf23L,0xe5072714c3ff9b2aL,0x9aa6b001571e9d32L,
  67311. 0xe92e4ae6e6738a5dL,0x4616e315433defabL,0xe1309a4a0b892330L,
  67312. 0xde5f54f81acd85a9L,0x6615d532a0013a39L,0x00000000000000b2L },
  67313. { 0xae7fe9461948c112L,0xaba4b1f25fc94eefL,0x622344602eebeedfL,
  67314. 0xe9794e6c8c0c8afeL,0xa2dbac68aa7d5990L,0xf59d5a7ad07e966cL,
  67315. 0xc301f1334490bb8bL,0x05102377fac91f14L,0x0000000000000076L } },
  67316. /* 23 << 203 */
  67317. { { 0x60373c888966b32cL,0xea1c42d6dc6c28c8L,0x18d4ad6301e1db60L,
  67318. 0xbdaaea6027297a7dL,0x8195b41927d1104fL,0xc48c92ed6b0c1bc8L,
  67319. 0xb73823906b31a986L,0x33294cc20e930151L,0x00000000000001c0L },
  67320. { 0xc482e8e3c6e67f35L,0xeeb9cc9aee7cfe14L,0xff393c6df96fd071L,
  67321. 0x77f360224c240d36L,0x7aa6e6d4008cf062L,0x33f7ba5e334659e1L,
  67322. 0xb7bb47e3338f19e0L,0x24641529965a354bL,0x0000000000000081L } },
  67323. /* 24 << 203 */
  67324. { { 0xff3620b84bdbf53eL,0x9a92f844cfb096a3L,0x3b4c39d9d79176efL,
  67325. 0x5c23425d20c67ba8L,0x2a3a36c2aa571818L,0x131fbff694d33bceL,
  67326. 0x8a647ce852fc474bL,0x082f25d4708dee34L,0x00000000000001b7L },
  67327. { 0x0b83c1f0799941fcL,0x39efdd8895537412L,0x569503fdb5578a16L,
  67328. 0x858772ff0ac52d85L,0x1eb29ef86eeaed65L,0x416b2a4900efb022L,
  67329. 0xc34726fb98e0e612L,0x460f3c084eb7474bL,0x00000000000000b9L } },
  67330. /* 25 << 203 */
  67331. { { 0xfd46e1db27a1181aL,0x1ee50b461711b1f7L,0xa60af377813334e3L,
  67332. 0x8151c9876ce57ecbL,0xc75b6a7d140d4b4fL,0x1b8f031e29797048L,
  67333. 0x142493c798c35dc6L,0xb2cfe7b7cbe996a7L,0x000000000000015eL },
  67334. { 0x80544a487edde636L,0x46353ae9fd5db792L,0xb20013c8220846afL,
  67335. 0x2416e5bdde7762b7L,0xe64be27df87fd397L,0xab712e13e2ffa788L,
  67336. 0x5193155a057b1e4aL,0x5469e2a4b847b16cL,0x000000000000001cL } },
  67337. /* 26 << 203 */
  67338. { { 0x5d942f48eea1b609L,0x5b5928f55d45821eL,0x4e902a63e4334d8cL,
  67339. 0x9487288dfd9c133aL,0x076583ec0562afa4L,0x15ac51ce847620a8L,
  67340. 0x75614dcd6bb7db20L,0x61b4f0ac79817a3cL,0x0000000000000135L },
  67341. { 0xafa3db2917e1ade5L,0x34c874f1303a98a8L,0x46a0324db21aa653L,
  67342. 0x6bbd6e145845d604L,0xa08a64424c41da8dL,0xa86f0eced381c0bfL,
  67343. 0x680383de6177267eL,0xd8a8c02c2eb78f7aL,0x0000000000000182L } },
  67344. /* 27 << 203 */
  67345. { { 0x510c5be254c5aa6eL,0x814e5b33a2c96898L,0x5c5409cc0bc238d9L,
  67346. 0x5b5f3771d0f892eaL,0xc6d889cb5adb6dd6L,0xd69b4a965bcc3a28L,
  67347. 0xb005053762d3d8caL,0xb649554bbbed8aaeL,0x00000000000001ecL },
  67348. { 0xeed46bb08eb806a6L,0x9b77f90339b297c4L,0x768412874c81b21eL,
  67349. 0xb9f15aae9f97d21fL,0x860ca9350ecfb6efL,0xe4199e02d03a9365L,
  67350. 0x4b4f34036b22befaL,0xfce4b34a3e909e2cL,0x0000000000000035L } },
  67351. /* 28 << 203 */
  67352. { { 0xa29eabe4613c2400L,0x6da11ad55fd4843bL,0x6c479b3ea02471adL,
  67353. 0x36f15bc6fbb5c3acL,0x4fb2678cb1d9580fL,0xffe413ff946486c5L,
  67354. 0x5907bfdfa12b55e6L,0x32f96e37446dbb1cL,0x00000000000000f6L },
  67355. { 0xd371325a5f34ecbcL,0x4381c3cd2296b634L,0x059d9308e5fd27ecL,
  67356. 0xf6ce8b258e757bbaL,0xddbf8e7ade871b1eL,0xe66728521ed3e5d9L,
  67357. 0x6d20b61da5d76131L,0xb8902120ed8a464aL,0x0000000000000029L } },
  67358. /* 29 << 203 */
  67359. { { 0xafd1249ea0049ad9L,0x17e3f90da460a3f1L,0x9bf7805cad6c8671L,
  67360. 0x4de57997e5e4efdeL,0xb6d31c92436e52fdL,0x3b5d07d0e66dfedcL,
  67361. 0xe8f61a8613b6040bL,0xdb120430540de2f0L,0x0000000000000046L },
  67362. { 0x17a3a42b480fcae3L,0xe6724148df4383beL,0xd0d8e825e7398a02L,
  67363. 0xff5e909116413545L,0x80a83d1b9e9f32d7L,0x1e64d4128169cd89L,
  67364. 0xc06a950009862dd0L,0x5ab3d610135884b7L,0x000000000000017fL } },
  67365. /* 30 << 203 */
  67366. { { 0xb22b6df53fe8f109L,0xe4ae50e7c00edcd4L,0xbf891ce36387044cL,
  67367. 0x0716f49bd08fb385L,0x0efbe8c154934b45L,0x08e66176982f659dL,
  67368. 0x042ce73691962a9eL,0x1f08748ca2974528L,0x000000000000006eL },
  67369. { 0x8fa7abdd6b9af5d7L,0xaa2fbf79978b04ccL,0x4ea61bae7f3136b7L,
  67370. 0x406b670e150cad9cL,0x22be2a1b08aa96f6L,0xffcc680d566c56d7L,
  67371. 0xe65207819a111236L,0x940aef1c69d2e843L,0x0000000000000062L } },
  67372. /* 31 << 203 */
  67373. { { 0xd129e91b896698afL,0x73b41a17181e6925L,0x97ce44352236ade8L,
  67374. 0xd75aebca34fb46a8L,0x14c944000e23617bL,0xcd8b9bfbeb166d12L,
  67375. 0xee040a4c3a905495L,0xb72ecd7ec410f093L,0x00000000000000dcL },
  67376. { 0x061e964149500be0L,0x6bd1c08f37d923d5L,0x20ace6977d7c8942L,
  67377. 0x4b0799a17ec28340L,0xd78d922cc03f7a1eL,0xaa5ed16c52d72598L,
  67378. 0x9a9465fc536adef7L,0x1520c2f1b2190fa1L,0x000000000000014fL } },
  67379. /* 32 << 203 */
  67380. { { 0x0fc6c549c4c762bcL,0xc43915e34e5eb96fL,0xad88ee68d1bb0b5bL,
  67381. 0x484a9fad3f1f26a3L,0x0d93055c2bc15e9dL,0xa745abbb06d26bb7L,
  67382. 0xf60ed3b8464f0731L,0x963d8d94ea9058bfL,0x0000000000000039L },
  67383. { 0x4608ac087b67b298L,0x3baf2ae6c85cf812L,0xb30aec550d25bedfL,
  67384. 0x581493507ce48459L,0xfcb39f45d3c41e2dL,0x48d241a0126e11a7L,
  67385. 0x7b425421909a1621L,0x9bb349dde746bf4bL,0x00000000000000abL } },
  67386. /* 33 << 203 */
  67387. { { 0xf78ef0177735364dL,0x4242a9b94f24972cL,0xaafb2ff361309582L,
  67388. 0x68159118c9fe5e6bL,0xa139c9d817d00812L,0x396e0ab8226a0decL,
  67389. 0x3a30e3c673ea4520L,0x18df75b8a9dd6918L,0x0000000000000104L },
  67390. { 0x1604bdd3791132f0L,0x0d35e98dca54008cL,0xe9ceeb9b6c26b2a0L,
  67391. 0x4a4c2574b1f5b2a2L,0x69fbe01ff67ec174L,0x869a7c63315bc86cL,
  67392. 0xf08c67d6679659abL,0x5569ff11470dfd0fL,0x00000000000000dcL } },
  67393. /* 34 << 203 */
  67394. { { 0x3f0253b63cbfb254L,0x6ae0490dfbc31984L,0xe3211ed9838456d9L,
  67395. 0xa777ce33d6dda841L,0x2477049c8192bf72L,0x272fd5e9a4c1ffceL,
  67396. 0x4d93c00b02a926a8L,0x1f2575f0e049893bL,0x00000000000001daL },
  67397. { 0xee660c10a1ea2fafL,0xd873fc0cb8c5388cL,0x567dcbe9dca70a47L,
  67398. 0x9d40a36f11c8a42fL,0x3676748d0ac98534L,0x2bcbf2174d49d6cfL,
  67399. 0xe11f56cea7891326L,0x1ab209d7060afa57L,0x000000000000009fL } },
  67400. /* 35 << 203 */
  67401. { { 0x4b6d579ba05593bdL,0xc6285d8e3e95708dL,0x9241a96b5c289411L,
  67402. 0x25ca7d1a7ff046d7L,0x2590294a1361f71aL,0xb49a914ec83ad83eL,
  67403. 0x89aceb3a85fb27d8L,0x6776c7f95575641fL,0x00000000000000ccL },
  67404. { 0x4b835dbc0613476bL,0xc94fdc0798cd4c80L,0x335103581a99e1e3L,
  67405. 0x904d83c4be2dc3aeL,0xbd1970b7528f5723L,0x6bd945cdf6821722L,
  67406. 0xe3f06e613361a4b6L,0x6dd9696ad6bd360bL,0x00000000000001aaL } },
  67407. /* 36 << 203 */
  67408. { { 0x060220b0d5aabf1dL,0x7ec07ddee8faef1bL,0x1c30e81f33c88f67L,
  67409. 0x3ab29b3b460c1969L,0xc884e421d4f18871L,0x3d76eba1e1d5f78eL,
  67410. 0xad2f04f5f5600f5eL,0x2e07b7c6fdfaa998L,0x00000000000001ecL },
  67411. { 0x94aa1de0801495d7L,0x35dead394496468eL,0x3b3856ac27ab597fL,
  67412. 0x0d1781704ce8ab57L,0x32add9b6a50d197fL,0x251a00a000be8d21L,
  67413. 0x8c65dd58c2200093L,0x2da03bd64b7ac520L,0x00000000000001f3L } },
  67414. /* 37 << 203 */
  67415. { { 0x7d77930ffe885231L,0x7c1d348265515480L,0x1028d2f332001982L,
  67416. 0x7bdd01a2f88d1e1fL,0x08e5a9624fc0514fL,0x5fe3e2f0bdf8eb8bL,
  67417. 0xf4028d9cf33bf562L,0xfd0aac8b9adec91aL,0x00000000000000fdL },
  67418. { 0x262500f4c7eecbc5L,0x8e1ea6e773113904L,0xb4fda953c677fb11L,
  67419. 0x15e2bec7f004bb4cL,0x0ec674739adf1319L,0x30c7b3002e1908c8L,
  67420. 0x72b9155302f8fe1cL,0x4c1ae8241fef5d3dL,0x00000000000000bdL } },
  67421. /* 38 << 203 */
  67422. { { 0x65afe7c36fc63e54L,0x6c79e1d949f2ee4fL,0xc8c051c698930252L,
  67423. 0x433fbf5bda5a1e42L,0x0f5fb506d2262325L,0xc3ac5598bf7bb66eL,
  67424. 0xb4080aff038c1d7aL,0xae7fdc8a879a0b88L,0x00000000000000fbL },
  67425. { 0xc8633f62b2ccd88dL,0x7a8c4df946413bf3L,0xbb3a0aff154bc142L,
  67426. 0x0a25d6637f99f5ceL,0x2f9b556d91512e7dL,0x5856e88dd4fcbfc1L,
  67427. 0xfbac60880d590e7bL,0x3e74b8f7572a6a15L,0x00000000000001f5L } },
  67428. /* 39 << 203 */
  67429. { { 0x2e92481a490bf8c3L,0xb234c92c44d07befL,0x23be000f6010e6abL,
  67430. 0xdd24b74db1f6e796L,0xb885f4d57f2b555fL,0xf884923f24e9d3e7L,
  67431. 0x12bb9608f5252325L,0xeb4d240142895b93L,0x00000000000001d8L },
  67432. { 0xb7639fb2e02a475cL,0xbf16704256218563L,0xe8f52550b704617fL,
  67433. 0x35fbc89365a77f60L,0xb7cf34eb39d0d9f9L,0xfc9a3a37721dfea9L,
  67434. 0xfbdd63fe12b1bd09L,0x8319294c9b186376L,0x000000000000002dL } },
  67435. /* 40 << 203 */
  67436. { { 0x760be85ba57579c2L,0xe47a63aeea20d741L,0xf80319e5232ac17fL,
  67437. 0xe3a492894c6087d2L,0x3d8d470fe20d0690L,0xfb770c1ae9a1e231L,
  67438. 0xd7e1cba177a0824aL,0xc90a181ef7ab7398L,0x0000000000000123L },
  67439. { 0x26bd2f3b59ec175aL,0xbf65beef751bd1bdL,0x242a83d6fe1b44e7L,
  67440. 0x9c16d231a1dccec8L,0x7ca438f66e6b3e04L,0x50b091d4c43e7f09L,
  67441. 0x23a893f32d886f9aL,0xb18a52c8b26c60c7L,0x0000000000000069L } },
  67442. /* 41 << 203 */
  67443. { { 0x9bd5bea7d2af96d4L,0x6fb5de3bbc502c9aL,0xb5fe88e904928dd6L,
  67444. 0x660accf4c03c98a1L,0xe59d202975520adcL,0x12c50027fe29eef8L,
  67445. 0x6d2739cf3758dc66L,0x49b418f24b9cb6a0L,0x0000000000000021L },
  67446. { 0xdf55798a1a079e8bL,0xc7c4f956fe9f31c6L,0xca1c9c93604849fdL,
  67447. 0x29d32b26f33c9d98L,0x79f867bfd1cc0d6aL,0x776857b4bd3b05cfL,
  67448. 0xf445083cdc53ac52L,0x19f3a0e3be72024fL,0x00000000000000faL } },
  67449. /* 42 << 203 */
  67450. { { 0x4a5cee83dee4aed4L,0x670871eaaccf44e5L,0xd325710515daa7dfL,
  67451. 0x41ed4dee9573f014L,0x0621cfe9c7e9c774L,0xdb71a7db46ae0c35L,
  67452. 0x5fbbb44236d96fe6L,0xfc4ee442791497f8L,0x0000000000000025L },
  67453. { 0xb58373bfda824d48L,0x2eba350be2b6feb3L,0xe732690e5cece104L,
  67454. 0x42f7dc57a0fade31L,0xb2ac02a777a8ea62L,0x2c39600f2730cc77L,
  67455. 0x71ec3499ab92a6ccL,0x857ac22e85b8f70eL,0x000000000000013dL } },
  67456. /* 43 << 203 */
  67457. { { 0x351b69db61e98acfL,0xb2699c2328ac4d57L,0xee2392c34b2cd5c6L,
  67458. 0xcb4914379838b68cL,0x11af2ea4a79b35a0L,0x0baaf41584ec5f87L,
  67459. 0x380dbda247432ae0L,0x5949262bbd9fecc1L,0x000000000000011aL },
  67460. { 0x461c1a7c33de0a7dL,0xed6b4f1a2158de9eL,0x1b51b42f97af5453L,
  67461. 0x5dd95efc0b1f9f62L,0x43680178f2fe73b7L,0x43eb48a07ad44206L,
  67462. 0xfefa59bbbc57342dL,0x92be4ae731e62d3eL,0x00000000000000ebL } },
  67463. /* 44 << 203 */
  67464. { { 0x50720100fd88d0daL,0x6c96ed6eff0c9301L,0x5cfee40f95d538bdL,
  67465. 0xb8a8dc1d8ce5618cL,0xc4f7326f15fc988cL,0x2c93679915b83096L,
  67466. 0xf99f2517cfa85d25L,0x822fcfae5900af2cL,0x0000000000000011L },
  67467. { 0x4c87b89e2e424f4dL,0xce5f4f37eb2ebfe7L,0x9bea312196392a9fL,
  67468. 0x30c5e7742855b498L,0xa9fef9945a06b8f3L,0x9372653173d076d1L,
  67469. 0x3237fe278510f6faL,0x2889eaaa1ed4a243L,0x00000000000001bfL } },
  67470. /* 45 << 203 */
  67471. { { 0x2854d519527d1fa4L,0xec81e71f030bfa56L,0x7c7a6f6c74f9b14eL,
  67472. 0xc14b2e2fac46e139L,0x266d547234be2050L,0xc76508966ee9b75eL,
  67473. 0xbcb2a8ff31cc54dcL,0xd30db5283217cbb0L,0x000000000000005bL },
  67474. { 0xc60582de3d8f4fe7L,0x3571cea717d2bcceL,0x51f2c889cdb6114aL,
  67475. 0x67599f6dd8034eb2L,0x39ea1fb81c73d606L,0x202f869715dcadd0L,
  67476. 0x75b193f9ed7493ddL,0x0594f438966147b7L,0x00000000000001baL } },
  67477. /* 46 << 203 */
  67478. { { 0xe8a247b9ddb773eeL,0xf011460b3a15d54eL,0x513260d9c6c9729aL,
  67479. 0x3141d40090f7c352L,0x08abd3ed3ad70a9eL,0xecc1c0b0d4416182L,
  67480. 0x378a698baf4f30d8L,0x0e16d0c80d60ca6eL,0x00000000000001beL },
  67481. { 0x1dfd2561ff8f8008L,0x81ea4aa79a575caeL,0x7c786f74b483667fL,
  67482. 0xd8fed3f94ee8c195L,0x90fbadb4a6f48ec1L,0x60ffc1f0427e2ac1L,
  67483. 0x50278a1d955ae40eL,0x6ad088ec707c1993L,0x0000000000000040L } },
  67484. /* 47 << 203 */
  67485. { { 0xc5fa1b24da9e4707L,0xb2ed74501186afbaL,0x6a7b01ee5671cf3cL,
  67486. 0x533241c421e91105L,0x33fe3ce08e6c7277L,0x6bc05f002376d680L,
  67487. 0xe35268f1a828e28cL,0xbbe9432cb60d1db9L,0x000000000000002bL },
  67488. { 0xc11785a77cd09d89L,0xa68d9f4cc5495098L,0xfd929e7877817c92L,
  67489. 0xfc91a43abb6c8891L,0xa931f7edb133140cL,0x30f07e5841125b2aL,
  67490. 0xff9ddb7427f03ab2L,0x0cb025851fd99248L,0x00000000000001b9L } },
  67491. /* 48 << 203 */
  67492. { { 0x9cf44ab408998910L,0xdb3fc2ed1a5c47c4L,0x7752c31eee0be9f5L,
  67493. 0xbd4bdfa943658470L,0x6fe2594572f2fc86L,0x237e1bcfef842a76L,
  67494. 0x74a857e47220a961L,0xd007b3e3c6bc996fL,0x0000000000000075L },
  67495. { 0x133e7f3d64ae70e0L,0x31966cdb96444608L,0x88fe449aacf0d4efL,
  67496. 0xddc0df233b47912bL,0xc19d556d5771cdb5L,0x122a6b4c834c9d4cL,
  67497. 0xf4fd9193128abd43L,0x42dde25bc55b3ec4L,0x000000000000004cL } },
  67498. /* 49 << 203 */
  67499. { { 0xfdb3c4406206a4feL,0x125e23203bd37671L,0x51afe42085c66b55L,
  67500. 0xc82746a7c940c824L,0xd2f7bb9f815d4539L,0xafc81b12635037a1L,
  67501. 0x52186ca4c7627416L,0xe1af5236303a7901L,0x00000000000001d8L },
  67502. { 0x2f110c396dc058ebL,0xbe11880e4a4c8a7aL,0xd08d8ee763cc89a4L,
  67503. 0x609e4b127ff4eaa7L,0x34344cbe13acbbdfL,0x327f290902faa861L,
  67504. 0xa78fdd5ac3ebf0d0L,0x0bb5a4256c4d55c8L,0x00000000000000afL } },
  67505. /* 50 << 203 */
  67506. { { 0x42aad690805acc53L,0xa7493fc7dd905627L,0x487f9407d9ff6965L,
  67507. 0xdaf7232e6c45192aL,0x403d57cd8d6e7d00L,0x931d29065fd272e5L,
  67508. 0xfd7ddc1c35824aabL,0x587760407dd72d28L,0x0000000000000194L },
  67509. { 0xa559885f94fb6cb8L,0x18dd399e1dfeaa2dL,0xa6f23d25eb1a0248L,
  67510. 0x4875945120e84064L,0xd481f3bae40bec92L,0x7bd5cf14464e0aa2L,
  67511. 0xdcfcce53ab13bd66L,0x47391f2ba2ec1297L,0x000000000000000aL } },
  67512. /* 51 << 203 */
  67513. { { 0xac5fad77cb3652b2L,0xf60c981b1702815cL,0x3f848d658c5451aeL,
  67514. 0x158ab410e63af4c6L,0xcd7bb3a5f46545efL,0x81dac1f4dd4f3e3eL,
  67515. 0xae18eb6b0ca68587L,0x3c11c12b0f2f0afcL,0x0000000000000027L },
  67516. { 0xa770e6757e36cb2aL,0xdf6d0de92153e716L,0x84b953bc23da6df9L,
  67517. 0xa2b731d222921fadL,0x76d5d2bd6f721c04L,0x84826a176ccf0ba4L,
  67518. 0xc5876c6a0f44e9e3L,0xb215b5099f6f565fL,0x000000000000003fL } },
  67519. /* 52 << 203 */
  67520. { { 0x156a9949f151db06L,0x22b6b0fd06a70b1aL,0x32d582e4ce617d0dL,
  67521. 0x84fb33d0992eed75L,0xa1c7f6b2c077d815L,0x3285938f313dbd79L,
  67522. 0x8a8fede6076f503eL,0xfdae2afe7c95c93eL,0x0000000000000139L },
  67523. { 0x96f542035812daa7L,0x479ba6d3a2d361b6L,0xa3793b005705ed2eL,
  67524. 0x943d444ad5ffe440L,0x474e4864379e007aL,0x9ff8bc4dacd38afbL,
  67525. 0x508f54e5a6195a99L,0x3085a04113817842L,0x00000000000001feL } },
  67526. /* 53 << 203 */
  67527. { { 0xfc91e9f6bfd0daa6L,0xaf6b749fa3f661c7L,0x01909cf557e3ccf5L,
  67528. 0x35b238be3ee3bca3L,0x4bcd54419bf8184dL,0xfba84a8c70887c36L,
  67529. 0xfcbb0d1de463801aL,0x50ccf27f439a5570L,0x0000000000000087L },
  67530. { 0xc4493206a8126517L,0x7fe519f9f3614d98L,0xd384e085c3b33b80L,
  67531. 0x7cb14d0b2f997b13L,0x768db950e87f06d6L,0x970b51fbbfee3e6aL,
  67532. 0xa39779e815cd21a0L,0xf677327e5bb60c21L,0x00000000000000ccL } },
  67533. /* 54 << 203 */
  67534. { { 0x1da1477e29decfa5L,0xda072008f02d4900L,0x308e95bba4a4a5efL,
  67535. 0x7ea7a7e700684dadL,0x8fdecb5864c70f1aL,0xac1f215de2b6bc4cL,
  67536. 0xae5dcfe17aee88e2L,0x755dc3734b87ea15L,0x0000000000000113L },
  67537. { 0x31cdcd38c9abbdf0L,0x002275fbb68c75beL,0xa597136936819c82L,
  67538. 0x0d32bd7478d0808aL,0x8c6272fd441d62d9L,0xac06165632ff00f8L,
  67539. 0x21b9e0076a1b924fL,0x38af0f3fff5ff630L,0x00000000000000dcL } },
  67540. /* 55 << 203 */
  67541. { { 0x55989a4e1513fe24L,0xd6fabb7a377c6d9dL,0xfb823e5b0578f12cL,
  67542. 0x2468f83105377082L,0xd4878755ace05f05L,0xcdb85e0e1e391758L,
  67543. 0x45635c6b145f3ebbL,0xd278b81411717273L,0x00000000000001c3L },
  67544. { 0xc72cd647b50c5d7fL,0xf047d529dd74bb7aL,0x9300b986938084c6L,
  67545. 0x39476814f0b7388cL,0xc7b74b2fcc7f991dL,0xd684e2f5bed333beL,
  67546. 0xc6191b9f5f713216L,0xfacbf180c5995497L,0x0000000000000065L } },
  67547. /* 56 << 203 */
  67548. { { 0xe3cf0d5abdae44fbL,0x71ecef1ef6f5cfd1L,0x7fa5ff37a11bc661L,
  67549. 0x2e0d9032ab6a8007L,0x8e465ff4b99ed2b3L,0x63ee69531a62a4cdL,
  67550. 0x31ffa26bad2e514aL,0x0c5e085f6ff7bb4aL,0x0000000000000128L },
  67551. { 0xe1b74ab9d20c8193L,0x0f67229ad63050feL,0xeeaf4ec6ce73ff43L,
  67552. 0x10094ecf114d6d87L,0xf515978540801d95L,0xa09334933f23d6dbL,
  67553. 0x0ac122515f242117L,0xa1a4a37f5643d48aL,0x00000000000001d7L } },
  67554. /* 57 << 203 */
  67555. { { 0x08bb5ac7384a5d01L,0x4b476ae6141e85b7L,0x00590a5e1d16b1baL,
  67556. 0x722dce02a2654e49L,0x380d3ac2483bd792L,0x247a5eb2ce16ad4eL,
  67557. 0x5ba4f9402eeba293L,0xec77ec84a7507cc4L,0x0000000000000137L },
  67558. { 0x1abf1b23c775da9bL,0x51926f26193fd227L,0xd4a448fe01380d03L,
  67559. 0x681fe1925ea66a42L,0x794acc9567e1d118L,0xe712708229692e86L,
  67560. 0xbf4924323e527353L,0xd9aa506903fc2288L,0x00000000000001adL } },
  67561. /* 58 << 203 */
  67562. { { 0x8f6c6de220075145L,0x2005c1b150c10e08L,0xcb6f289fe8304e93L,
  67563. 0x8772c2f895b33af8L,0xfc9ac3cfb78f1556L,0xa4a401e2be444c8bL,
  67564. 0x140354191c3ecbe0L,0xa65d09c100ac6e64L,0x000000000000015fL },
  67565. { 0xa6d278eaa028bb56L,0xf8fd2af7f7809e33L,0x8ae6c10268f7c2dfL,
  67566. 0x6c70558658cdaa11L,0x2bfbbef7e3c31f4cL,0xf8b8a7cb9e618b41L,
  67567. 0xb521782dd7782d09L,0xd779f775dff8910eL,0x000000000000013bL } },
  67568. /* 59 << 203 */
  67569. { { 0x5320eefa9777d185L,0x68beb1e5eb1e2074L,0x78dee05ec1e19dd5L,
  67570. 0x5f860f6599bd6062L,0xdee3934194257635L,0x342770ce8635d6c5L,
  67571. 0x8a06a3512e8be17fL,0x9d59963df78ab6fcL,0x0000000000000153L },
  67572. { 0x39d400fbb2b8dd24L,0xf133abbb1acfdb33L,0xffd9d7a4d0506911L,
  67573. 0x134d6fedff9d17c2L,0x64622ea9d5149d82L,0x8ff0c386bab0505aL,
  67574. 0x7998c2288977e003L,0xc41aea628ad09185L,0x000000000000001aL } },
  67575. /* 60 << 203 */
  67576. { { 0xe8f81e67f0dbc26bL,0x67a84c46f8124049L,0x7c12baed629b2402L,
  67577. 0xd39ab731384afbbdL,0x7abb971abe6168eaL,0x3ec476fb5dc96bddL,
  67578. 0xf568fab44fa5f270L,0x739374abac51818fL,0x00000000000000bdL },
  67579. { 0x83d36009af42bb0fL,0xc6958d2c42dbd415L,0x39f20878bfd8cb62L,
  67580. 0xb2528156e23525ecL,0xdf6b3537ea725e7aL,0x6ddafd2d6c2dc45dL,
  67581. 0xb696f0b8b8682ed4L,0xdd22cc010b611962L,0x0000000000000123L } },
  67582. /* 61 << 203 */
  67583. { { 0x10a08a1d429ade6cL,0xcfebf0de40932626L,0x2a55e9c5e357b14fL,
  67584. 0xd551713e4ac50b0aL,0xeb32aa3fa3be7addL,0x6c10ef40612e530aL,
  67585. 0x887ba5fed318f9dbL,0x9328d459bedf5ba0L,0x000000000000013aL },
  67586. { 0x91af92d7c4ce63daL,0x2500a7b7aa099030L,0x5cea55f7f0e69a79L,
  67587. 0x28ca6b389e2136ffL,0xa0a71734e6472420L,0xfb6dfe6f191baf68L,
  67588. 0x80d32b3c985c5e32L,0x29d49cdaf82c5f47L,0x00000000000001a2L } },
  67589. /* 62 << 203 */
  67590. { { 0xb55c2c748f50537fL,0xdd9c6df320a3297dL,0xb0b5477afce6109eL,
  67591. 0xdde894cfd5a0ccedL,0x4499db297480d3a2L,0x22dfd2bb556180eeL,
  67592. 0xde7299830c83a1cdL,0xf4dc6b95a709c0a5L,0x00000000000000f0L },
  67593. { 0x2f295e2db07bd50aL,0xc0a72738bd5546b5L,0xd52477a78ec7811eL,
  67594. 0x92e14d8eba3186a7L,0x8eb36ad32467a3e2L,0xebe38e24a07ed270L,
  67595. 0xfbebfb87fef24897L,0x6bf271137005debfL,0x0000000000000144L } },
  67596. /* 63 << 203 */
  67597. { { 0x9441cc5908dc7a12L,0x64ac736d8fca53eeL,0x19d3acb882a58c26L,
  67598. 0xc159d488cda04962L,0xfe82b61dba03928cL,0x8a7234e590149eeeL,
  67599. 0xa561263424bf8caeL,0xfb65e1ea2ac90b43L,0x00000000000001ecL },
  67600. { 0x646b4ad41ab30bd1L,0x49c490c08bc81256L,0x0e07b398bb57c018L,
  67601. 0x8d00bbea5bae6201L,0x1e3cbbaf746d5441L,0x48ea6a235bc6f24eL,
  67602. 0xf6828b36cbbbf53aL,0xb54e8f928f84432bL,0x00000000000000ecL } },
  67603. /* 64 << 203 */
  67604. { { 0x8f45148da52d1421L,0xe89923fd09daf522L,0x112ca311c8f15492L,
  67605. 0x91b33ccb469e61fbL,0x040de443fb2ab91bL,0xb9d124fd4f9b32e8L,
  67606. 0x84da47a9f07573bdL,0x93b7ee6baacdd14fL,0x0000000000000064L },
  67607. { 0xb3af161f4be64122L,0x5946d2ec149c5475L,0xdc04fcd0256a1ecbL,
  67608. 0x4fc571b7327e7a8dL,0x5206ea559580edcbL,0x7f41a742f20a94c0L,
  67609. 0x1bfddff0f7fe1fbbL,0x3860b232e2f1fddcL,0x00000000000001caL } },
  67610. /* 0 << 210 */
  67611. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  67612. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  67613. /* 1 << 210 */
  67614. { { 0x7eaefe12155c337bL,0x357f27cec7186596L,0x90c26c69654dbbebL,
  67615. 0x6bcca278a1b63a6aL,0x776b7a928edd9123L,0xb2bef5076c6da5e9L,
  67616. 0x805ed3aa0e3c747bL,0x298ef458659df2efL,0x0000000000000098L },
  67617. { 0xe3dd893935a79f8dL,0x672b109ca1972c6bL,0xad41cbae07953a4dL,
  67618. 0xde07527fd206de77L,0x1f55a4c0b61d9811L,0x929d56d57a75360eL,
  67619. 0x9f2becff5032efe6L,0x0de654c760f0622cL,0x0000000000000018L } },
  67620. /* 2 << 210 */
  67621. { { 0x50e39fd1ea8dc4aeL,0xc68d8b0f5fd16c88L,0xc95f46e90ced75abL,
  67622. 0x845ee3947375e952L,0x5865161d3c14b1c2L,0xe29ae3a6399431acL,
  67623. 0x02d1c6eaf0feca0eL,0x76059dad24f35b02L,0x0000000000000081L },
  67624. { 0x29fefca13ac6a96eL,0x260a7f7d5d01c1d8L,0x63fa36033ef9812fL,
  67625. 0xab1a91c9f9404b6dL,0x32555cfda9406e88L,0x666eae1c5b63890dL,
  67626. 0x22ec92aafe9605e0L,0xde2a85103235e860L,0x00000000000000c3L } },
  67627. /* 3 << 210 */
  67628. { { 0x6587c0b191979247L,0xf06dc068ccf0762eL,0xc3a2b88e277351e8L,
  67629. 0x42e9494a2f607af3L,0xd1aeccc782b271dfL,0x3ac627d494648a93L,
  67630. 0xeb180b78bb62dfa0L,0x7e34653033232d06L,0x0000000000000183L },
  67631. { 0x084e8c75e5c2357eL,0xa380334756c91ac0L,0x772e24a0015742f3L,
  67632. 0x2610a9b247393c4aL,0xb58ced0b436a641dL,0xd55dbdc01850fb56L,
  67633. 0x64c97fc5aecf40afL,0x6de1de5d00330087L,0x000000000000009cL } },
  67634. /* 4 << 210 */
  67635. { { 0x2bad7686d90119aeL,0x8dcd64f0464b230cL,0x1d1eeb94dad19cb1L,
  67636. 0x3b47038986f0eb48L,0x42abb37d2c50f380L,0xfabbcebba7a99eb1L,
  67637. 0xfeed69dd33fb0b08L,0x8de8b50e31dc2b1eL,0x0000000000000057L },
  67638. { 0xe10dc8a6054ed7a9L,0x7094fc36cf39bec8L,0x487789a825848527L,
  67639. 0x8786eaa339974124L,0x47a0d6b0a6e3e5abL,0x54ed0b21e981e517L,
  67640. 0x85cf17eae768123bL,0xd9a933b0636e78c6L,0x0000000000000127L } },
  67641. /* 5 << 210 */
  67642. { { 0x773317e5e965abe3L,0xe8862edea879f77eL,0x4601164bc562701aL,
  67643. 0xbeb011903d4e07b4L,0x75a41c645c19194dL,0xd86e32ca954ddfb5L,
  67644. 0xbe5ca8c991a87274L,0x034c2e1d26aacfeeL,0x00000000000001e7L },
  67645. { 0xc2bc377abea32ea0L,0x9de44c2dbe946f97L,0x5d4e3f655c44e66dL,
  67646. 0xbaa8d970ac2805f5L,0x706fe3da518a0081L,0x2bf6f7c79bc1f747L,
  67647. 0x1b468d12759da2e6L,0x3f5a410239f61705L,0x00000000000001deL } },
  67648. /* 6 << 210 */
  67649. { { 0xe3acc0e88e647c26L,0xf22855fa2eeccf87L,0xf31f71d569ff841aL,
  67650. 0xa9e26b1ad8ef203aL,0xb3fd64db61ef98cbL,0x29af19d73b642e77L,
  67651. 0x94474091741591eeL,0x904e7fd077619d47L,0x00000000000001b2L },
  67652. { 0xe4c9e0608f0e5bcdL,0x9a35f72d0905a05eL,0xd0ba9e95fa0cf7dbL,
  67653. 0x445ca1a5614f1042L,0xbbd0d5dcaf5a5318L,0x67782d6e0a41d90dL,
  67654. 0xb296381bb6a00b72L,0x57fad3940de3382cL,0x000000000000006eL } },
  67655. /* 7 << 210 */
  67656. { { 0x6da8acb7636d8777L,0x17555ae8d341b800L,0xb1568202f44d6da9L,
  67657. 0x08a44805f4dc644fL,0xc55f2c18e121a82aL,0x5b5aad0b568d7db6L,
  67658. 0x3ee3c48b686c7713L,0xc57cac2c6d44f289L,0x0000000000000128L },
  67659. { 0x0f14e697858b59f0L,0x00d714b14d03cf4bL,0x709f77084de0de30L,
  67660. 0x708cd7f0c5ee4559L,0x38dd88083e9a8665L,0x0a5fb9589f83fbcbL,
  67661. 0xc224694a5c7dd1b5L,0xeb7258003626ededL,0x00000000000000ddL } },
  67662. /* 8 << 210 */
  67663. { { 0xd388e288cf34553bL,0xd09b7877c6d36700L,0xc3e51b059504c41bL,
  67664. 0x0bbd1313d0ef31abL,0x455759080a3e2144L,0x774bf584d4b738b8L,
  67665. 0x3f4d85bae9d97733L,0xdfea7f28f0e4a66bL,0x0000000000000172L },
  67666. { 0xa6b684558118ae5cL,0x7a387b8b8e41c0e2L,0x96193c31f2b2cd4fL,
  67667. 0x54d8c8934c5c7414L,0x397ba89f0ab2b85fL,0x2ab9e8f773eebea5L,
  67668. 0xf4b5eca1e8d4c927L,0x026a0b0842ac45bdL,0x00000000000000abL } },
  67669. /* 9 << 210 */
  67670. { { 0xc2c87545298feddbL,0x470bb0bd57824145L,0x8535201fe71f2a83L,
  67671. 0x15c5c54c117080d6L,0x128d4fe3a05e76beL,0xd4e70c4a4bf91f37L,
  67672. 0x54fe9a939826b38eL,0xd67c68802a561594L,0x000000000000011bL },
  67673. { 0xa82826c1a97b6d7dL,0xe2da2126e413c90dL,0x2d897fea71a14c78L,
  67674. 0x507ffba7806b4541L,0xc9ce796501b35c08L,0xaced047127638092L,
  67675. 0xbcbf0b84ed0ea6ebL,0xb63a061b05d84400L,0x000000000000002bL } },
  67676. /* 10 << 210 */
  67677. { { 0x57e9a69316532d1aL,0xf478a1fbc138250dL,0xf361a41cd2ac2c5bL,
  67678. 0xf25c676d2e731c53L,0x279560ad1ebc7490L,0xe8236eddc10384e9L,
  67679. 0x7441e5732d5228caL,0xd118d9328feb88d7L,0x00000000000000a0L },
  67680. { 0xf31779e746032b98L,0x05ab63064ee8d408L,0x4e67de56b0bcef53L,
  67681. 0x762e211f843fe3a7L,0x22bf07e8774b56d0L,0x3aade5d730c2d994L,
  67682. 0xa7f2f71246c80546L,0x3ac087b22883ca5fL,0x0000000000000087L } },
  67683. /* 11 << 210 */
  67684. { { 0x407c5d9aeb5d82e3L,0x30a608780f78a237L,0x245819947c64f8aeL,
  67685. 0x731df3f705e01562L,0xa2e62428758cc895L,0xd211176cfb7413daL,
  67686. 0x7e6e91ec84b68277L,0xa3f3f7633b3b5b35L,0x000000000000016aL },
  67687. { 0xb6008526ecd1f4b0L,0x713463dc81f30634L,0x6453a4f7bb65e2e0L,
  67688. 0x1a1116bc0aa7ed8bL,0x363735d5d3c34ab4L,0xf0333b9b525b97f3L,
  67689. 0x284602fc50aa6cbdL,0xa9f283df0cadf6a1L,0x0000000000000145L } },
  67690. /* 12 << 210 */
  67691. { { 0x4b736d32df234e4eL,0x66237d17d14bed77L,0x552baa3e4dde4942L,
  67692. 0x947169dc23756ffcL,0xe595f2646749eed0L,0x2ed82e6ee3c8ec5fL,
  67693. 0xd52dd4bc495b60a0L,0xccd7a2b340553cfcL,0x00000000000001b7L },
  67694. { 0x9de7e73e889fbda2L,0xeb68c0d9c02a698bL,0xc433363b1510c24bL,
  67695. 0x329f6b4ee2af686fL,0x3bf95cb33cd6cbd5L,0x2c9924b339e49b52L,
  67696. 0x3a4322bb3e1ae491L,0x3efb3b85504f582eL,0x0000000000000150L } },
  67697. /* 13 << 210 */
  67698. { { 0x013dc2bd0444d98fL,0x4de8b097924c66e2L,0x9ec9f89623d19d49L,
  67699. 0xfe687746b87f064fL,0x246382118a91a448L,0xc67b870471e274b7L,
  67700. 0xc4418f6008d4a531L,0x4586c1eb20ce1a9cL,0x0000000000000131L },
  67701. { 0x7ad3cd88751ffcc1L,0x18d68df10ce22160L,0xccfeac397abea4ecL,
  67702. 0x29d9fddc2685bf7fL,0x9e6b18ff47a6efeaL,0x3b627d6f57d0e3d5L,
  67703. 0x58ce41ec7ff343f2L,0x5158919391a231faL,0x000000000000017cL } },
  67704. /* 14 << 210 */
  67705. { { 0x21e51a0354ff9df9L,0xbc033f12390d78abL,0x7faa458e9c43347fL,
  67706. 0x2057222fbf867c8fL,0x6f5b703c3e064f9bL,0x4e36ce8df6330e33L,
  67707. 0xfa0198f8267ee695L,0x68eaf31f89f13590L,0x0000000000000153L },
  67708. { 0xb493ba909970b82bL,0x31e3a61197d166daL,0x0b11fb84ae14be07L,
  67709. 0x10d94ceb5fe0479eL,0x56c6f6fae10acb34L,0x46f3308f1d2441e1L,
  67710. 0x1374e4f3ec9db49bL,0xd948930f13d2533eL,0x0000000000000025L } },
  67711. /* 15 << 210 */
  67712. { { 0xbd79f69a17f3e079L,0x581645e9398eb5c8L,0x1164a83314fbf1e0L,
  67713. 0x578256f31c79999dL,0xc3dd57963e64e48aL,0x00207040947387efL,
  67714. 0x73a0b57ed406b606L,0xd9d3c48c970a0d17L,0x00000000000001dbL },
  67715. { 0xde458dfe8fa49aa3L,0xe87a7a3cde431fd9L,0xc6f7d8ffcbc16172L,
  67716. 0xc105217099a5121bL,0x4a8cdcc81598125eL,0x748703e3e913bc06L,
  67717. 0x906112b45fb246a4L,0x784afb8f1a1a56f0L,0x000000000000006cL } },
  67718. /* 16 << 210 */
  67719. { { 0xa01f0a1936b984a3L,0x46ad91732ae5ad96L,0xbd7c413ddf12a570L,
  67720. 0x24a748c0fbe510aeL,0x27ff3748434d6671L,0x96ad6f33e1d69baaL,
  67721. 0x4b89a84a7daf1390L,0x2e25577782e527cdL,0x0000000000000129L },
  67722. { 0x78b130d2615c0331L,0xf5a9b025fa3cef15L,0x67b99de5fea12b29L,
  67723. 0x5f5b07e21f56caceL,0x2af1ee2faeb8b26dL,0x04e82314346279b3L,
  67724. 0x0f1d88179ae70e2cL,0x85f03c614c3ea88cL,0x00000000000001fcL } },
  67725. /* 17 << 210 */
  67726. { { 0xbbf913425e25254eL,0xae8a194d65fa3727L,0xe2ed53b88c80987cL,
  67727. 0xe90dd4e4332d1115L,0x858c5b438276591cL,0x96af9612cf030af3L,
  67728. 0x334408b230f81b63L,0x50a0b93648908e62L,0x0000000000000156L },
  67729. { 0xc07a9b16e44f7fbaL,0x64b736ca33fafed2L,0x701e1cb3ac0f2dabL,
  67730. 0x7d4fc722562b85a1L,0x2c86fea7d2b4d291L,0x83ee4a5d9f6970e8L,
  67731. 0x6620f63f3d8c97b0L,0xe3bca31b9ad21699L,0x0000000000000123L } },
  67732. /* 18 << 210 */
  67733. { { 0x92101b445ffe5dfaL,0x6b76bbf95527f907L,0x2869cfd96356a819L,
  67734. 0xfd98991f858d1a94L,0x8d5d5864f0fd9b00L,0x625cab968f9c11e6L,
  67735. 0x0da53e4909b866b8L,0xca447b81b24cabbeL,0x0000000000000178L },
  67736. { 0xd0ac32d58a4893cfL,0x2edd684e9a4293e3L,0xfbc5f91fc233ef37L,
  67737. 0x2516eb7f682025b2L,0xc25529e742c123aaL,0xf5da8e54c9f4f7a0L,
  67738. 0x8c3d0de074eaf57dL,0x6794c4bfccd164a2L,0x00000000000000b9L } },
  67739. /* 19 << 210 */
  67740. { { 0xc69f59364255c77cL,0x62a41fef78ceaf18L,0x94bd08105a8dd0a1L,
  67741. 0x7afbb99a49892f3fL,0xb9544236faf945a6L,0x28836d015e540f1cL,
  67742. 0x244e6a470bc80b13L,0xb283cf827c32d810L,0x000000000000014eL },
  67743. { 0xf47d267a487a9f79L,0x2ad81400b00b749aL,0x7f9b103420d209bdL,
  67744. 0xfbf1adbd49d3785fL,0x8d59d9898a036103L,0xc6f4b53a089998a5L,
  67745. 0xace1e9ee478e179dL,0xa749c8aad355bf72L,0x0000000000000005L } },
  67746. /* 20 << 210 */
  67747. { { 0x63c835437badaa12L,0x2929fbf993d1298fL,0x22d8a8e5a6d3c271L,
  67748. 0x4361a0966cc70feaL,0x4c1698920b060761L,0x43b3a57b7b83b19aL,
  67749. 0x8e4e16ed5d1e0382L,0x1c4596c101fb83b1L,0x00000000000000d2L },
  67750. { 0x571e0f7a2d0878bbL,0x28efbf803ba6448bL,0xc49eadd53f53ec10L,
  67751. 0x5f67c5799b6b85b6L,0x999676ed0f279676L,0x62ba191b129e0870L,
  67752. 0x5f0823b621475e41L,0x8bc381adf2c8b56bL,0x0000000000000164L } },
  67753. /* 21 << 210 */
  67754. { { 0x343c04685b855e62L,0xd05a781d65a9e8a0L,0xad965cc0d76b69d1L,
  67755. 0x0a60d928e3a92585L,0x8eb709dc93667a1fL,0x4612c3b7f09f0396L,
  67756. 0x76e56cdfe5ba21c3L,0xefd26ea6b6dfce55L,0x0000000000000142L },
  67757. { 0xe8ef0107c3ea51b4L,0xc510a688a6e86ef9L,0xe1382167be6e6ff2L,
  67758. 0x6235ea21a22146a1L,0x0e75ef83dec8e173L,0xc3aa17235d276798L,
  67759. 0x81b77ebb6f964ef4L,0xb332f534b9a1daf2L,0x0000000000000062L } },
  67760. /* 22 << 210 */
  67761. { { 0xc71a3f48dc690e06L,0x449a246c614381b4L,0xce239cf6f0ea8df3L,
  67762. 0x2384abc79f46bb3aL,0x1c93a8ec536f0722L,0x60521fc696bdd0e7L,
  67763. 0xd3c1a0736defa22aL,0x5e2ffd99b0905245L,0x00000000000001a0L },
  67764. { 0x865d018d4fa96567L,0x2e861bcde51f532aL,0x0512006f4808fb7dL,
  67765. 0x3b0ec5befab3cc28L,0x79df334934155d68L,0x4799a6e956e98b04L,
  67766. 0x620b5b8666630df1L,0xdc690f70a3e08672L,0x00000000000000b1L } },
  67767. /* 23 << 210 */
  67768. { { 0x85d162cd106f9475L,0x44f080894ef3dae9L,0x9cf807e0bd35511bL,
  67769. 0x578df8ace663e312L,0xa653190ceeb0b989L,0x9ed6127f1ddf4b8cL,
  67770. 0x8b0c20c4f18fed73L,0xf4b71bd731359811L,0x00000000000001adL },
  67771. { 0xc4f7a8d1c65be73aL,0xbe69a441506a8e82L,0x6d5546328fe4f097L,
  67772. 0x617fa14727ccad49L,0x1652a47ced10618eL,0x3daa7571df5f43f5L,
  67773. 0x2bd307ea683542bcL,0xef379a1097a6ae86L,0x000000000000015cL } },
  67774. /* 24 << 210 */
  67775. { { 0x86b14b1452e9a506L,0x06f9f838ecd178c9L,0x3d605ee53599039bL,
  67776. 0xdd3ad5a22e3df8f7L,0xbd51af94fdd6867fL,0x707034f3d45cf3daL,
  67777. 0x54edcf4a3f70a45cL,0x7b6164392979902cL,0x00000000000001aeL },
  67778. { 0x7d63ee2728389bcdL,0x8b39bb03b8eba714L,0xfe5a3aaaa6e99d38L,
  67779. 0xaf6074ac14a97bafL,0xa15ac327aff2ed81L,0xba728133fe4fd2efL,
  67780. 0x9db04ddae93db974L,0xd50f26293a858d00L,0x0000000000000119L } },
  67781. /* 25 << 210 */
  67782. { { 0x5313dae6dfa56156L,0xd94f3ae7ac345c99L,0xe78fb5be35108fffL,
  67783. 0xce8566813a5e8c70L,0xa235711d5b1f6104L,0xa71be1748b87dc50L,
  67784. 0x896b4d545b8939c1L,0x8a8231c084f3ab7aL,0x00000000000000c9L },
  67785. { 0x817bf1fb1e85d890L,0x184f61cf5d643f88L,0xcf5848918efc7679L,
  67786. 0xc9861a5c09913c4cL,0x9957437efca0ed7dL,0x26eaeb36d4e9c4a6L,
  67787. 0x62a2b4ce68bef05fL,0x35eee957532fb33dL,0x000000000000012fL } },
  67788. /* 26 << 210 */
  67789. { { 0x0d102216761b3f5fL,0xc20c57002b98c864L,0xf843d83e1aecabe3L,
  67790. 0x9f6208ea8ebbe2cdL,0x0a052c4a80658842L,0x10da1ddaf5022171L,
  67791. 0x75bb824b9d07cdcdL,0x13e6b38440d6c610L,0x0000000000000047L },
  67792. { 0x9ba0732bd447fb06L,0xfaa3332e7c85db71L,0xa4b5cb19124daefbL,
  67793. 0x030a7ebf84434aeaL,0x90bb08622da1bf4aL,0x92e2162ee7273d3fL,
  67794. 0x58dad0586f9f95d6L,0x4ce76e55838aa919L,0x0000000000000099L } },
  67795. /* 27 << 210 */
  67796. { { 0x1ba73b76eea26fe5L,0x10311b589f6d8b56L,0x1e7165b4f59dcd15L,
  67797. 0xd84021591383a1dcL,0xe0e1eb96c044dfbbL,0xcd512afcb13d4262L,
  67798. 0x0770855a201de5aeL,0x426e52a9e44af8a8L,0x0000000000000064L },
  67799. { 0x2b3f973f1b631b61L,0x3facac113c56e76cL,0x96d8fde961b33795L,
  67800. 0x3d15ae3c51fe1162L,0x966f56a2d095fad2L,0xe5cec26f7a7ed99bL,
  67801. 0xc86a297d339268ffL,0xac1327d95a7d5aacL,0x000000000000010bL } },
  67802. /* 28 << 210 */
  67803. { { 0xea0d44c4e34e4c6aL,0x6f50243de8b02105L,0xede2b16c796c212cL,
  67804. 0x3f7169f242a087c6L,0x33fa8470a4762cdcL,0x05f65db613ffc120L,
  67805. 0x9bf29f3f4fb1c4f7L,0xef4ca47345433134L,0x00000000000000f8L },
  67806. { 0xe59da628331968bcL,0x3fbf6bc46946b696L,0xec6ab1d7f82ef2afL,
  67807. 0xd0423e4f260bb4a9L,0x956fef511d44cbf6L,0x26f861228e5195c9L,
  67808. 0xbe8b410c5daca40aL,0x3fac01f29d08bdadL,0x0000000000000104L } },
  67809. /* 29 << 210 */
  67810. { { 0xd296d03e4da85b59L,0xd20dca5fd6b01747L,0x3f815ec4dc2596abL,
  67811. 0x2e8ffb20523225c2L,0xa03e3bec4c45bcbaL,0x8b8a4e375be794ddL,
  67812. 0x1e80fe190c2625e8L,0xe38cdda7ecb0a216L,0x0000000000000125L },
  67813. { 0x78939a7c40a4f676L,0x38a302b8686cd8abL,0xf39054024d368792L,
  67814. 0x52f9befe123a4394L,0x5386d9fb555bef5bL,0xc8d8eee487e29a25L,
  67815. 0xfd789f9f36cb1b91L,0xe75f606b085c477fL,0x000000000000006dL } },
  67816. /* 30 << 210 */
  67817. { { 0x76c885eb91229a3aL,0x2604b6f7f73e4d9aL,0xbebdfaa988fa9a1bL,
  67818. 0x442a747cb58bb763L,0xd8fa3f9ca1ef860dL,0x719d6316f2d89cacL,
  67819. 0x39eebc32fad21ad8L,0x5c00d02d886de11cL,0x0000000000000148L },
  67820. { 0xab82282a837d7661L,0x638d139d5cbb4510L,0xe6066d3862fc0035L,
  67821. 0xce4a49a8185cd0ebL,0x48f9a3ee3d41d802L,0x95d7f1ee067d33eeL,
  67822. 0xc5e89c814c069fc4L,0x25e2b6e5d8b300b7L,0x000000000000016dL } },
  67823. /* 31 << 210 */
  67824. { { 0x125cb0656fd3f45eL,0x5d373f9c2da83750L,0x596131d335c71844L,
  67825. 0x93ab568a7590cd52L,0x4296d1f04f64934eL,0x2af6028ba38c427fL,
  67826. 0x5578235374fe642fL,0x10ae3ac1911c7354L,0x0000000000000064L },
  67827. { 0x24d13d1cdca07c95L,0xa76e8a5d5578ab0fL,0x8a3c17a4af1f99f9L,
  67828. 0xa1a2a81e49509859L,0xf7a6e870a17853faL,0xe77c3c235989a9b2L,
  67829. 0xacb43c903f2d4d84L,0x0e10eb44d3af2b00L,0x00000000000000b5L } },
  67830. /* 32 << 210 */
  67831. { { 0xbfecf64a8f358002L,0xa9fa4a5e9179b6f0L,0x8c1ecbec5b44cf88L,
  67832. 0xf443c158eb342a9cL,0x0eee17b6ada473cdL,0x4eb51b723af99df4L,
  67833. 0xa524e6d1e0fe8dfcL,0xedc72c8efe2a4f42L,0x0000000000000073L },
  67834. { 0x34eb386de0cd65afL,0x387c3874cc80c3b0L,0x75ac76b751883b25L,
  67835. 0x0f6ccbfb6b514806L,0xe85c5856867909e7L,0x61a5bc9e5a9b263cL,
  67836. 0x08b8491ac6228360L,0x6835d3592850dbc7L,0x000000000000005aL } },
  67837. /* 33 << 210 */
  67838. { { 0xe5a1c0f716762f99L,0x18e150a00e1ffb05L,0xd8d254b5dd30ab2eL,
  67839. 0xca9fbad497982447L,0x704cf09c072ceeb3L,0xd983772bb6dc2abfL,
  67840. 0x60d8e8589d4a88cfL,0xb7370cc99a762e11L,0x0000000000000042L },
  67841. { 0xdd8c613394f66f49L,0x854a0a8a64840d80L,0x8b36199429e09701L,
  67842. 0x720bc46c87681a8bL,0x3e659cf95832499fL,0x639e121a3a965654L,
  67843. 0xafe73745a0e877fdL,0xdb5167d3c73ddb0fL,0x0000000000000041L } },
  67844. /* 34 << 210 */
  67845. { { 0x93ca4468eb54bb36L,0xc9f2df65fd1a5e06L,0xfc22174b03097b4bL,
  67846. 0x91fd9ae9c45c49f5L,0x6102dd35230002e3L,0xaea4b2e3ff6b1838L,
  67847. 0xb762468b28453764L,0xa05639a86875b179L,0x00000000000000b6L },
  67848. { 0x406563adc60f9413L,0x61b6bb5f75616054L,0x1625fc74b653f9e0L,
  67849. 0x7ea58a6a21ca1e00L,0x6461c50537e49dedL,0x904294a956620a78L,
  67850. 0x4c01cc1dca8aa6d2L,0x3f8e60a4beb7b9c0L,0x00000000000001f5L } },
  67851. /* 35 << 210 */
  67852. { { 0xe65251c39be7d1b0L,0xd8e18151bc857666L,0x80d8d4670142a8f7L,
  67853. 0x411203864e50d192L,0x44e9b0d1d0683bb4L,0x6027de4339b0cd7fL,
  67854. 0x39cda0ca1570eb84L,0xe0cfbadb6ee54d8fL,0x000000000000007cL },
  67855. { 0x613dc76cfd483908L,0x9f4c35cf97d9650eL,0x1ec7107c69d29e0eL,
  67856. 0x11de8c70c58a2a1cL,0xc1d1bd39db5936e3L,0x0645f3a73278328dL,
  67857. 0x44a30bf055cc8564L,0x918eccc88531a826L,0x00000000000001a7L } },
  67858. /* 36 << 210 */
  67859. { { 0xfbfa18bfa4b8ecdcL,0xdb161f18fa7c7c3dL,0x1ec53bad24a21f6cL,
  67860. 0x3e5343aaf4f6ce31L,0x8ae86fcd1b669758L,0x394b964b7befd9beL,
  67861. 0x84b25af45c60a585L,0x02ad7f6ba5888ffaL,0x00000000000000d1L },
  67862. { 0x0b86e101c83fb0aeL,0x6e16e6e6d2b8e139L,0x29425fb60333faf0L,
  67863. 0x8d0d9ad20ceb6480L,0x9249e8d0b3e18ad7L,0xae3b935bc94d5491L,
  67864. 0x06fe7f0744260b3aL,0x1d8af88339ec64d8L,0x0000000000000158L } },
  67865. /* 37 << 210 */
  67866. { { 0x2e41b2ed1d704acaL,0x03c2bc0817bf101fL,0xce1bfaaa844c18f7L,
  67867. 0xb4df6b7a96909ca0L,0xbf63a091ee5e0867L,0xd4388841d246a432L,
  67868. 0x2f79892f9ad915f0L,0x32338dc06b41b066L,0x0000000000000118L },
  67869. { 0x78bf5ce2c53b3850L,0x989487d6540132ceL,0x3b028312158f0507L,
  67870. 0xe5505d7a61847bccL,0xbd26640fe9c5f58fL,0xea786834f46d807aL,
  67871. 0x12b9c22738c8f52aL,0xbb0394c11e8ce727L,0x000000000000006fL } },
  67872. /* 38 << 210 */
  67873. { { 0x5c442a83c9cff0aeL,0x6e3e75c4d44225eaL,0xf41d8d06757bd27dL,
  67874. 0xabb92c7ca16c6a26L,0xdb02bef102370af2L,0xa394000dce87ef1fL,
  67875. 0xe4d6eb87c3ac8949L,0xabff55c1682ec032L,0x0000000000000002L },
  67876. { 0xf2439cb836f99a0cL,0x871399611f895491L,0x86e73bb2972293fcL,
  67877. 0xffb0f9c0f4587a52L,0x9158a262fcccc9b8L,0xe20f8fdc77325b64L,
  67878. 0x9691d90945464152L,0x3026f5898a043f9aL,0x0000000000000147L } },
  67879. /* 39 << 210 */
  67880. { { 0xd75c363aca0bb47fL,0xe06dcec09b0fc2feL,0x1d124ff2ed47c2e6L,
  67881. 0x68ae6fbf9c71dd3cL,0xd425be30410658daL,0x88b954dad343a932L,
  67882. 0x64648b8bab08b1c5L,0xf891ed517f60614eL,0x0000000000000007L },
  67883. { 0xe06bce61aef1da1eL,0x4d8cbe4802d489fcL,0xa5cce046ba95c57bL,
  67884. 0x71410ffba132fa69L,0xa708d710840160e7L,0x7d480584f5c1605bL,
  67885. 0x31d61aa873bad916L,0xc34e2a1339c4685aL,0x0000000000000032L } },
  67886. /* 40 << 210 */
  67887. { { 0x97330958b61d5315L,0x9b1fed27813d91e0L,0xfc2aac10d0c63423L,
  67888. 0x4a30af61043b9728L,0x0f62b5c1ed8502d8L,0xd9575c7c3b16f0d1L,
  67889. 0x03c27db727b8c8d4L,0x3244778e33be7fadL,0x0000000000000106L },
  67890. { 0x8537bd35641d5339L,0x81bf82ddb3c40dc8L,0x20172430409d603dL,
  67891. 0xb5da061ce2469826L,0xed42f1f0959d0f5aL,0x00dad493913111f5L,
  67892. 0x1cfddf2bf851b239L,0x9851d1e84275e8f9L,0x0000000000000051L } },
  67893. /* 41 << 210 */
  67894. { { 0x4855d1dba965d2c8L,0x5f30449c244e4576L,0xf1f66ddc102836a7L,
  67895. 0x8e9131a9ec4310cbL,0x0408e0751723bfb6L,0x328592dc99ea53beL,
  67896. 0x0d16c086afb2a7d0L,0x08ea2ef221079ac9L,0x00000000000001adL },
  67897. { 0x5e9c1e1cb8a4268dL,0x22500bb2fdca442eL,0x423f0e3ccdfb9609L,
  67898. 0xb07f48f43b66dab4L,0xac3334e53a9a16b3L,0x11f147c037448161L,
  67899. 0x486506187014f21dL,0xaeecce6968960de4L,0x00000000000000c8L } },
  67900. /* 42 << 210 */
  67901. { { 0x819fe7e06ed79a0fL,0x784ceef609f8e8a1L,0x57d5b1bfcb22dff7L,
  67902. 0xc4f56fc69ae9661eL,0xbdd03823162750f5L,0x92bb9df3f146dabbL,
  67903. 0xee6ff7d7605cee53L,0xcf0c1d6c6350f6ccL,0x00000000000001f9L },
  67904. { 0x1c9c29e313fb9416L,0x60aac35195ce11d9L,0x7f9a4b110ffd00b2L,
  67905. 0xc81e3235f6f182b6L,0x398950bd16cf3c7aL,0x5b69da1297a24847L,
  67906. 0x642f9f183df06a74L,0xd8879543ae3dc599L,0x0000000000000184L } },
  67907. /* 43 << 210 */
  67908. { { 0xc62e4a9bccf48be5L,0xb6e83e2b8c35dbceL,0x0191a9c69385a75bL,
  67909. 0x8db45f037f8a7eb3L,0xc05fa5da716b86b4L,0x85aff148ef42c3eaL,
  67910. 0x0bdc01682db38738L,0x93337937d776daebL,0x00000000000000feL },
  67911. { 0xa17b9fd4403afd34L,0x7b09c077646aff94L,0x90597e2d8dc6a08aL,
  67912. 0x744099e0183f3e3eL,0x1c5fb306071fb772L,0x92b8d6a4d997fb7aL,
  67913. 0x0de13d6454bb10dfL,0xf31dfa573608964fL,0x000000000000015dL } },
  67914. /* 44 << 210 */
  67915. { { 0x7f7941d9888f4bfaL,0xc4f99685476bc929L,0x3f73018d8e853ce0L,
  67916. 0x68a86f6134fdf8e9L,0x7c88b0312a6fb200L,0x3bab6755f6911821L,
  67917. 0x06b84c1788917fc6L,0xa9f91561f5254039L,0x00000000000000dbL },
  67918. { 0x76c522936dd119d8L,0x6571dd2beb1cb340L,0xc66e8c823a33b42bL,
  67919. 0xaf289ebefc43ddfcL,0x203bba75ed2b085bL,0xdb1d86048176f169L,
  67920. 0xf762fbe0d91afe68L,0x7dd617af2026cf1cL,0x000000000000005cL } },
  67921. /* 45 << 210 */
  67922. { { 0xf92aaa90b3eec59aL,0xbffbac4cb98fa157L,0x4a6eda99c95c081bL,
  67923. 0x31c0fde9dbbc33a6L,0x9ad4e5b9ab1887edL,0x580110e38983bb1eL,
  67924. 0xd7156bd5507d9979L,0xe03e75829ecccea1L,0x000000000000002cL },
  67925. { 0x672fb2c3fcff6b71L,0x7d73a95202c0fcacL,0x6217982052b713ffL,
  67926. 0xcdaabc9d8923912dL,0xf0d3eb3a651247bdL,0x5484c30ba50c00cdL,
  67927. 0xa9f1173c03bba882L,0xbe7465af19a18e5fL,0x00000000000000feL } },
  67928. /* 46 << 210 */
  67929. { { 0x88fcfb06d58a4ee0L,0x00a415e2c9be2df9L,0x84e1ba6b22d03ed3L,
  67930. 0x51cd83af2567aa47L,0xef6aac434fda2455L,0x2a32b1e255ea0dd2L,
  67931. 0x013e1751228720f4L,0x57afcdce7bdbd78dL,0x00000000000000b5L },
  67932. { 0x094f8441471c7d66L,0xac4896c544539ae3L,0xe82e74eb5776831eL,
  67933. 0x21087391291c65cdL,0xd340f5ed3160a6b1L,0x85bbe11244d404aeL,
  67934. 0xca35de4823d823a2L,0xc20e39e406df497cL,0x000000000000011dL } },
  67935. /* 47 << 210 */
  67936. { { 0xfc68fe96d1751282L,0x8a1f297e5936ef4cL,0x4fc2f368e07ac5feL,
  67937. 0x5ef7311f109bf107L,0x6fbed28144342ef3L,0xf825e7ea55138f1fL,
  67938. 0x2c91032471e64888L,0xac2d0335ae2f2246L,0x00000000000001aeL },
  67939. { 0x9fbad98320933d06L,0xea69d15035c00e2dL,0x559df842a04206ecL,
  67940. 0x2a9cc878d54938e9L,0x16e14d674408551eL,0x022ec0d86db7e02aL,
  67941. 0x54cacfa9f1bcbfb4L,0x25095d1626646fcaL,0x0000000000000181L } },
  67942. /* 48 << 210 */
  67943. { { 0xf147f1a2e7e50e60L,0x1309c8a5e30cad85L,0x565c5e69621ed64aL,
  67944. 0xbe5a64757938c494L,0xe56315e5d7792054L,0x64855cfdd97f771cL,
  67945. 0xe95a4b9e599e2f5dL,0xef1c8a857b06d720L,0x0000000000000015L },
  67946. { 0x2331c4282a92c2f1L,0xe155a823f37e82a7L,0xb47cfc2976020919L,
  67947. 0x6131a11ffe98e8e0L,0x965adc12c0be6be5L,0xf773d72c153cccbdL,
  67948. 0x10d64e59d8ed6127L,0xfa7d60258b5ec467L,0x0000000000000063L } },
  67949. /* 49 << 210 */
  67950. { { 0x51c2bdba271b6102L,0x965c59b90e9a8af4L,0x0a54e4d7610fb124L,
  67951. 0xed96a5b2a543ff6eL,0xbab9d37243265ab1L,0xe63366bd24cf6541L,
  67952. 0x5fcabfec17413aecL,0x6ba1941437041b8eL,0x000000000000009aL },
  67953. { 0xc746f20dfcc3cfccL,0x2b0937465e1dfaecL,0x2e75151e14285929L,
  67954. 0xb4ef90301b96cff8L,0x54cbbef998c89aeeL,0xcc53de423a028272L,
  67955. 0x8373e2805f57ba4bL,0x551c46b3b1498773L,0x000000000000008dL } },
  67956. /* 50 << 210 */
  67957. { { 0x1c238ed06300acf7L,0x8eb48c65bcf1125cL,0x65b5c0cb231365bfL,
  67958. 0xd9d40c2683d76f5dL,0x7dbe2462ae3872f0L,0x4262f282de107d81L,
  67959. 0x48bf1e05b21512ceL,0x27e6ff2817212e1bL,0x0000000000000184L },
  67960. { 0xb39aedb29b451cb5L,0xe96de26a84a29aeeL,0x1a3154cc9725d43fL,
  67961. 0x587e1cf56d8be1fdL,0x840560b633539bd1L,0xd4b6a7c4663d836aL,
  67962. 0x4203e22eb3f669b5L,0x02be0e3cf18b437cL,0x0000000000000095L } },
  67963. /* 51 << 210 */
  67964. { { 0xc1f65b0d9dc37e45L,0x89275a9136b7d53bL,0x2949c4982e971c79L,
  67965. 0x8c04749a1a538febL,0xcc9b6fa02cc328a8L,0xe22336ea602cfc59L,
  67966. 0x47f83e70f41f9ba2L,0xbbfd03212cbd1052L,0x00000000000001cfL },
  67967. { 0x4711443cede128e2L,0xea12ed3f30c82c13L,0x17f83633829d3106L,
  67968. 0xf1202f38f5b5bc62L,0x5850efbc562fc338L,0x07fa11815e423b47L,
  67969. 0x9a419bae32459cabL,0x8add9587ec4146c5L,0x00000000000001a4L } },
  67970. /* 52 << 210 */
  67971. { { 0xfe4cd502f1b7c167L,0x679fadc6dab47f91L,0x1bf2bb513037e209L,
  67972. 0xd9ea6d92822e8a02L,0x7a2a77d530ccb948L,0x6fde628029a7a46dL,
  67973. 0x8b71cb731bd2bdc9L,0xaf8d591ca3c0ca96L,0x000000000000004aL },
  67974. { 0x63fcc569d852c164L,0xca7202764f07d6f0L,0xa7e6e11ee7dc1581L,
  67975. 0x325d3921440980ccL,0x098bd53a148a56a4L,0x4eea0c37ebc5e005L,
  67976. 0x89434ac1b9773a5cL,0x97bd03a875cae957L,0x000000000000017eL } },
  67977. /* 53 << 210 */
  67978. { { 0x00d9070caf1910dcL,0xc617cd48dcfbd522L,0xb533991595cfa421L,
  67979. 0xbed0e54c1c7f6141L,0x5fc82c432e31d64eL,0x4c95d5c841370bb0L,
  67980. 0x384401ba1dc077b7L,0xe88940db1b711f2cL,0x000000000000017dL },
  67981. { 0x60e0ccb946cd94eeL,0xfbc8e63f705dad8bL,0xad2f8d2430990961L,
  67982. 0xd6724b3aa578ad6eL,0x8b11d8339c176f25L,0x12e79dbbbf8e3ac8L,
  67983. 0xe4a943d7fd9940cbL,0xc888a09a909e8fe4L,0x0000000000000122L } },
  67984. /* 54 << 210 */
  67985. { { 0x6109ea2de8fb7694L,0x3ec1e872086093e4L,0x978e96c0f4225f3aL,
  67986. 0x2695c6c91952ecdcL,0x728be492d83757cdL,0xc810df7023ac63eaL,
  67987. 0x9485d432d730ebadL,0x86e4d8518f91edcaL,0x0000000000000009L },
  67988. { 0x1a3378469ea9e56bL,0xa27a55a28a9debbaL,0xb23af748c0f66a79L,
  67989. 0x5d8b134dd11bc92dL,0x00567e5825e02569L,0x4e55a9c941991079L,
  67990. 0x4ddebd3f77d6ad31L,0x6933b46e536f3d79L,0x00000000000000ccL } },
  67991. /* 55 << 210 */
  67992. { { 0x812a9b2184f5a0c8L,0x33d0143243a13fc4L,0x9e71afb2efaf3fc7L,
  67993. 0x1663885a0884b6c4L,0x97be8fad8c8fcea3L,0x8a3eed05a8e13913L,
  67994. 0xb2262ce22e54b510L,0xfe9acf7eba246055L,0x000000000000003cL },
  67995. { 0xa302ad0e8b89f53aL,0xa73ed70070b8d772L,0x9e311983c5c37f58L,
  67996. 0x01e6b111978870fdL,0xd584e4e06afd83b2L,0x70707df88e6f511cL,
  67997. 0xfe0812356f6fab16L,0xc476c66841571d07L,0x00000000000001d6L } },
  67998. /* 56 << 210 */
  67999. { { 0x442afc6dddf45a12L,0x91e285345c5e6114L,0x29813a938589fa9dL,
  68000. 0xeb71194671a4ae9dL,0x5dcd8adc9044306aL,0xaedcb84bf9b52561L,
  68001. 0xc21e290a402e75f2L,0x70510bcaf6550a52L,0x00000000000001d3L },
  68002. { 0xde9843e884f2532aL,0xa14af3a6f79d325fL,0xf6906268bb1868bfL,
  68003. 0x8ac9b2825fb4a6caL,0x6c5dedcd4676cd53L,0x149996604f339636L,
  68004. 0xde2a17658d7b427dL,0xe8c56a66710567a7L,0x00000000000001f1L } },
  68005. /* 57 << 210 */
  68006. { { 0xa8ec1a8d2b835d07L,0x8c8dfa457ecde602L,0xf08edd6c0d0246cfL,
  68007. 0xf33a88675d9bc1adL,0x39c5d909b8675ea3L,0x282a2d848a96fc50L,
  68008. 0x019ee082d2d27a32L,0xfcf2f31ba5e0dcc9L,0x000000000000003eL },
  68009. { 0x6a0ed3b9c1f6a4afL,0xdb83b0612c7730e0L,0x169a96abfe5cb03eL,
  68010. 0xad5ae2df0f055afeL,0x50fa3820d27ed7d3L,0x050484f10e2b1595L,
  68011. 0xd07a515e63ebf720L,0x406f5d0cd68d846fL,0x00000000000001bbL } },
  68012. /* 58 << 210 */
  68013. { { 0x04d02219db404261L,0x85b9c71ed3c9e7d3L,0x52acbf57505dee08L,
  68014. 0x9e35ee60c4e1ad8fL,0xd4c0ce77194c1493L,0xfadfd42351103eeaL,
  68015. 0x11403891926541b3L,0x25c4c172eb4f082cL,0x00000000000000cfL },
  68016. { 0x1f7c31b8ac3bd930L,0x88a8cccb65d3a485L,0xe081d0a295e69145L,
  68017. 0xc513ae2e9804d14eL,0xf7b6aa084dcb993aL,0x47de6f4d191aee26L,
  68018. 0x42b005f56011eb61L,0x05f03ae3f7e525beL,0x000000000000015cL } },
  68019. /* 59 << 210 */
  68020. { { 0x0f37890e7c825579L,0x4fd5d272b3c0d6d7L,0x9a299db6ddb4405aL,
  68021. 0x0730a9825deb2939L,0x28d8bac57c904d7eL,0xa71c627fe6a7919dL,
  68022. 0x52f1b334b49c2af2L,0xef7414134b512f97L,0x000000000000000eL },
  68023. { 0xfedb9bfd92b96ec9L,0x613a1e5742d22f35L,0xdf9ee8d6b9175ebbL,
  68024. 0x085d38923a0ce558L,0xb7207bf1f3f089c9L,0x31660368ded15db0L,
  68025. 0x4ea4ebce0beecacdL,0xcaab38cc88eaeb88L,0x0000000000000159L } },
  68026. /* 60 << 210 */
  68027. { { 0xa10cda065dc2aa4aL,0x89d874e605ad6cbeL,0x7d51bfd5d061da12L,
  68028. 0x457d656c376141d4L,0x36ced50a1a715c73L,0x252b0b021d27223aL,
  68029. 0x053aef6fe2d6e01eL,0x8096c5e332716027L,0x000000000000013fL },
  68030. { 0x1864a030cd3635deL,0x5aa25da659cc5701L,0x8af63026ff2bcdd9L,
  68031. 0xebdb7f1717c277ffL,0xf94d8299758b7979L,0x38025e0009bd3eb9L,
  68032. 0xf7c4c29e5bd5c30aL,0x202201c752f90b3bL,0x00000000000001d5L } },
  68033. /* 61 << 210 */
  68034. { { 0x1af17d6b9a9a68f2L,0x1922895850d8202eL,0x5f26f6141d379566L,
  68035. 0x8842f3f0ba041c62L,0x856e05ae211c23dbL,0x7fd5b4c8db979091L,
  68036. 0x61f3b3740064021dL,0xee2403c789416b44L,0x00000000000000a6L },
  68037. { 0xf52f661156a4b455L,0xc3da69834dd9ba22L,0x58cee2db445eb941L,
  68038. 0x20f0bd4632a7bbb7L,0x212b03f7ea3e0325L,0x810b632b68653bd0L,
  68039. 0xf7a4c209c6cb33d9L,0x2f5c990c6c3facffL,0x000000000000001aL } },
  68040. /* 62 << 210 */
  68041. { { 0x6b3cf500b77b2655L,0xc203e28b60b8b5ffL,0xf19e8ec597cbcd7eL,
  68042. 0xb1cfa6bb6369ebc0L,0x4bcee60766936b2fL,0x49c8783749743037L,
  68043. 0xfebdbbae374df175L,0x6db093b69f79968eL,0x00000000000001daL },
  68044. { 0x6dd1ddbd88f766e4L,0x91fd01c5e8ee248bL,0x5837f9b63c727a7fL,
  68045. 0x336706e3393e3990L,0xe1e10fe46d43c4f7L,0x20ca5f27d6266f87L,
  68046. 0x7f2db9d9c2c42304L,0x3f3536bedaad6d40L,0x00000000000000e7L } },
  68047. /* 63 << 210 */
  68048. { { 0x1c8bb48681b82b0bL,0xddb9f1979b95474dL,0xa53b69cef11441e1L,
  68049. 0xcc7971f5218104ffL,0x40e07e762fd8166dL,0xd7f1d93ac9d44c2cL,
  68050. 0x3322abe434b2fcadL,0x7d0aab3a9bcb07b0L,0x00000000000001c7L },
  68051. { 0x60db8e39682100afL,0x747095769a4ff812L,0x93df55e1c3eef35fL,
  68052. 0x6ce66fa8b82acf43L,0x3b3b298818e25e0aL,0xc288d46523740df4L,
  68053. 0x824c5d4cecf599f6L,0xae5bb7388de7b001L,0x000000000000001cL } },
  68054. /* 64 << 210 */
  68055. { { 0xec9a8956f6d20ecaL,0xeda0a24d684e0169L,0xa55ae258e583c40aL,
  68056. 0xbe8c6286455d3ce1L,0x05bf63132096ae62L,0xf68e024920b48bdeL,
  68057. 0x1b6595bc4d99cd14L,0x0e740830774958beL,0x0000000000000030L },
  68058. { 0x3241b0df9fd73274L,0x7b6532398fe5a5ddL,0x2d4dd56e38412a8dL,
  68059. 0xe2925f33cc58a62aL,0xb859ea32f5cee12bL,0x5af7c4027c25d1d2L,
  68060. 0xe172cec16f196e55L,0x34815491de00641cL,0x000000000000010bL } },
  68061. /* 0 << 217 */
  68062. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  68063. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  68064. /* 1 << 217 */
  68065. { { 0x0869ed35fa226aeaL,0xcbc7bd56645f4485L,0x611101b13e6c3d97L,
  68066. 0xa1550183f7a56f83L,0xbe209b3c80a6fcd4L,0x0e2c9da9ea3beaffL,
  68067. 0x0fc7a16f14d9f7ceL,0xeb8a5e147a1e6db1L,0x0000000000000047L },
  68068. { 0x55a78c253b0fb32cL,0x449a7852a430d4c9L,0x1383a88a412509f0L,
  68069. 0xe895d858329af78dL,0x14afc01cf8d65a07L,0x89303bc5193d67e3L,
  68070. 0x42b20c9716fbcdf5L,0x79fe69660ee012aaL,0x00000000000000d9L } },
  68071. /* 2 << 217 */
  68072. { { 0x7480912f507ce79eL,0xf2251da23a1ea21fL,0xb925aadbfbc957f9L,
  68073. 0x79a66979f4548e12L,0x9200714b6de9a9feL,0x779792bbee62d344L,
  68074. 0xeed3d08357501cccL,0x51ecec8b0ef8c948L,0x000000000000014cL },
  68075. { 0x734a634b05271e42L,0x70e28c86643cdb88L,0x849fc7dd0c24a7eeL,
  68076. 0xcec60426b20506a4L,0x6ee05fce35655c14L,0x79ca2be8c072d950L,
  68077. 0x6c473203105c09efL,0xd9698b133dbf27b2L,0x0000000000000010L } },
  68078. /* 3 << 217 */
  68079. { { 0x15079b9d3a7de86eL,0x97e07c04354faf62L,0x045f48f34280e300L,
  68080. 0x9a5fd235bd9ea013L,0x3f75a31f8760c3d8L,0x18aec5ffd05d488fL,
  68081. 0xccfb484b617daf6eL,0xf33084debffab914L,0x000000000000015eL },
  68082. { 0x1c034f37dd5bc9b0L,0x8e2bedaf882c69a5L,0x6789f307a61afc24L,
  68083. 0x8540d05dc57b651cL,0x7214914319f83ea8L,0x57af134d962c6ed0L,
  68084. 0xcd059751d98b1089L,0x08ad5d1d42e7077aL,0x00000000000000dbL } },
  68085. /* 4 << 217 */
  68086. { { 0x163cd52464d8c387L,0x0cfe9416cb029390L,0xce6b5dab9e9ec846L,
  68087. 0x96a78639e9ba4592L,0xa78e42968f174287L,0xe5d09a7637763d66L,
  68088. 0x9f47acf6b54f368dL,0x8e63481b6a0fa894L,0x0000000000000026L },
  68089. { 0xe1663ca805c8bab5L,0x99bf02aaca0af033L,0xfb1c0c7faa1d7c42L,
  68090. 0x05ac75b011bdcc7dL,0xbfa1dc7399d86019L,0x8f11d0a4937cfa73L,
  68091. 0xf4795bd7d24e356dL,0x7c1f3dc478b4e4ffL,0x000000000000014cL } },
  68092. /* 5 << 217 */
  68093. { { 0x3dfeef486fd25746L,0x5940add47d758bd3L,0x9f08c453d26de538L,
  68094. 0xbc7dd28b040d20e4L,0x92cebd97aab4420fL,0x79f4bb203337466eL,
  68095. 0xa72fae2ecb132a17L,0xb394a9c29a59e4c7L,0x00000000000001f8L },
  68096. { 0x6146396eb48c979cL,0x24b453db99a310e3L,0x7e3917a871967c56L,
  68097. 0x3be40e190e539ed0L,0xc357bac87206739fL,0x8f8c1d8229b17828L,
  68098. 0x06f0ea1f949db344L,0x922daa8467ea4ce3L,0x000000000000013bL } },
  68099. /* 6 << 217 */
  68100. { { 0xe2473fe401d47863L,0xdf01581ba1940ffcL,0xa35005ef71f1311bL,
  68101. 0x647d568ca5eb4e66L,0xf1dfe4475da1c32bL,0x05d5c8b5ba555b7bL,
  68102. 0x2584842719302166L,0x5bae9fdf71dcfa1aL,0x0000000000000184L },
  68103. { 0x531661b422bc00eaL,0x3db39e0ce55a5757L,0x1cdac297fca4fbfcL,
  68104. 0x1dd0012bb1d24a8fL,0x52ae5759714bc921L,0x016aea1fe8481e89L,
  68105. 0xf34842d1254d5d7eL,0xeb75ac8af21fe811L,0x00000000000000f0L } },
  68106. /* 7 << 217 */
  68107. { { 0x27a66dd1e4c74b72L,0x9942ada0c51b39c7L,0xaa53c8461a3166bdL,
  68108. 0xc987efb7b9d48025L,0x991f01bd361c98d0L,0x5bfb025e3b09f9e1L,
  68109. 0xab478eb54514704bL,0x784f1a8de0c6dd62L,0x0000000000000031L },
  68110. { 0x42757f2cc630dfe5L,0xead6fb443f3e6723L,0xe8128bbe1a1c8b83L,
  68111. 0xe35a9d2fab681466L,0xbf9be668356c2595L,0x0e3cf40f99e2b833L,
  68112. 0xfee57f088ea10a4bL,0x207da69ed45302c9L,0x000000000000017bL } },
  68113. /* 8 << 217 */
  68114. { { 0x36cdc3e624acb1faL,0xf593d32d6c6d43adL,0x766c2fcd373c8e18L,
  68115. 0x0a1518363d12b7f3L,0x924427f4b4234a24L,0xaab877852335ff44L,
  68116. 0x9e5811897c362011L,0xd86f8fba5ee724dbL,0x0000000000000184L },
  68117. { 0x25f04ed9c9558569L,0x0a315324ef9562c5L,0x65a02a289ccefb92L,
  68118. 0xb2429dd488115608L,0xc1714c93641d646bL,0xba4d369148bb144aL,
  68119. 0x48ec2d9d9efa3a6fL,0x5ff6a4fbf1a93ae3L,0x00000000000001edL } },
  68120. /* 9 << 217 */
  68121. { { 0x6a3f7799955cae01L,0x8fedb6b1e4f38ce0L,0xdb6107f34e85864eL,
  68122. 0x03ade49547410da3L,0xddcbf5190038d029L,0xf0f29d5fe5d4d46aL,
  68123. 0xae17f5923b27f562L,0xf29afa56e7c3f779L,0x000000000000001aL },
  68124. { 0xd5026e725d8adb02L,0xa06db93aec16acd0L,0x83acfde18042236aL,
  68125. 0xc38abf4033ae9809L,0x22fe6dfbdca5d7eaL,0x383a9fa5a2c8db99L,
  68126. 0x6d9ccce5d334a39dL,0x7861d1e9359da075L,0x0000000000000120L } },
  68127. /* 10 << 217 */
  68128. { { 0x8fec394bb678283aL,0x24675c5b80934192L,0xe910c009495ca6ccL,
  68129. 0xe27707e02e53b765L,0x804e24f1a4ea631dL,0x3f919eb5058db7caL,
  68130. 0xa5010f37cbbf29eaL,0x758bd2cc225ee400L,0x0000000000000019L },
  68131. { 0x52fd1ce51535d519L,0x2b1decdc28e1db07L,0xe076dbeeb4b9815aL,
  68132. 0x670c75e2f9f5ad5dL,0xc9fc07876a78d26dL,0x52951cf34ae31294L,
  68133. 0xe318cad8e793634fL,0x0e9242886e01fcb2L,0x000000000000015aL } },
  68134. /* 11 << 217 */
  68135. { { 0x892b3b400cfb1d04L,0x3bea12122b96b4b2L,0x70f73b359c1f649cL,
  68136. 0xcae6ffb47e679dacL,0x96b8d2aec55695fcL,0x0050271f424e84bfL,
  68137. 0x8650dd5119533f6bL,0xc383e0b7571d0e67L,0x0000000000000042L },
  68138. { 0x3b0bfdab1f7cfd38L,0xea8f9b107b7ec7d6L,0x43139c4e0919083aL,
  68139. 0xd69f6d790fe910eaL,0x094221d3e7ba5fb2L,0x4f374df8f556a667L,
  68140. 0x328a7762ed30e6dbL,0xfc57fcee326a62bdL,0x000000000000008dL } },
  68141. /* 12 << 217 */
  68142. { { 0x4c7be70cc22a178bL,0x396b7df601209f9bL,0x2816070b60b48d09L,
  68143. 0x0995b11e9d11e63dL,0xde65c7d35ac5b1b2L,0x29c06ce1dda415b0L,
  68144. 0xf95189d9abdb408fL,0xb6f3dde38bbf2454L,0x00000000000000cbL },
  68145. { 0xbd38febf8dc44542L,0x2c9d18903f962af0L,0x34cea4d76e93a735L,
  68146. 0xf63e364df81f25ebL,0xad8d7b89df0cdfdcL,0x126ac26d730e8a2fL,
  68147. 0x434700f896d59c8dL,0x1aa5875eb3da4bcbL,0x0000000000000139L } },
  68148. /* 13 << 217 */
  68149. { { 0x2598aa4de58417d7L,0x73315ae4ba28fc1dL,0x5517268c46243119L,
  68150. 0xc4974c53b719bdfcL,0x6100c44e189538d8L,0x9db41e3800cd674aL,
  68151. 0x18d5dd5009fe8bf3L,0x4e55b10393ed2b3aL,0x00000000000001f2L },
  68152. { 0x6bdabaafa06be83fL,0x7521de13204a1caeL,0x1a330aaabbfcf7aaL,
  68153. 0x7d263940f4260f0dL,0x9f8f411dec87d8bfL,0x7a6f66562f9d628eL,
  68154. 0x0ffef527076cad32L,0x1702ce89176beb62L,0x00000000000000a9L } },
  68155. /* 14 << 217 */
  68156. { { 0x52965a07e1c091b3L,0xc19999534000c8f5L,0xb46cb0961b5972d1L,
  68157. 0x4a308aa918f8f6f4L,0x3cee84ce606ccca8L,0x486fcae6a169fc9eL,
  68158. 0x5b19c4bb5b7288ccL,0xa20b1b3b9004638dL,0x000000000000005aL },
  68159. { 0xc63c9bbd9e2f0f41L,0x23cb2e54e409e31cL,0x7da5e7c8549c6dbaL,
  68160. 0xa5c2d1b958a734a6L,0x710b2953b6fb8021L,0x17c27048b5adc912L,
  68161. 0xc775ab78900f7c18L,0xc77a1a632b014e3aL,0x00000000000000e2L } },
  68162. /* 15 << 217 */
  68163. { { 0xe77fd781f0aa0c3dL,0xfab5faadce9dd050L,0xdada6c655657f21fL,
  68164. 0x783b1101e768bcbfL,0x6589af44e3340018L,0xcfb592b9da65a6a7L,
  68165. 0x7bd5567297e1f3a0L,0x88785334ffb1fd45L,0x0000000000000119L },
  68166. { 0xa63a0a55b5cce8f0L,0x6f3064b4eac3c4bbL,0x268dfc16c3931cf1L,
  68167. 0x2e70af6b4661d0dfL,0x1d3463d47cf9a2d9L,0x06221386427a35c3L,
  68168. 0x0fcc93fc18f7dd40L,0xe1df83f19e78e3a1L,0x00000000000001deL } },
  68169. /* 16 << 217 */
  68170. { { 0x8661728eb584af4eL,0x954bb8753a25e264L,0xc839860915be119dL,
  68171. 0x06a54d7f989fb866L,0x27b590ede0375bc8L,0xc394a6b7afbf60ddL,
  68172. 0x32cb71643a892981L,0x61b46241cae4336aL,0x00000000000000d3L },
  68173. { 0xa2e80eed970af48dL,0x087c2e6320f95e36L,0x82956a6eee080071L,
  68174. 0x933a2568f9fc2967L,0xaa2b21a31b5430b1L,0xb1efdf09b6502fa8L,
  68175. 0x56b2b8b50a897789L,0x3a6f9fda663dc2eaL,0x00000000000001e4L } },
  68176. /* 17 << 217 */
  68177. { { 0x6a53c0b0f4e4f6bdL,0xbed51fa0b3339216L,0x9e1c31446ae0a294L,
  68178. 0xe8f9136d0186061aL,0x6f0f313f188527fbL,0xc8b712bfe45aa9f5L,
  68179. 0x6a4edc9711290895L,0x8f5a9d9328245576L,0x00000000000001a7L },
  68180. { 0x77e9f20e207e93acL,0xf2aac110e8d7f6ecL,0x6d098ccf619f7771L,
  68181. 0x7cad915e8ce10c43L,0xfd880f1671cec05eL,0x1c2925678cf46b99L,
  68182. 0xfc5d2f1c5226011bL,0x157e69596cc74eeaL,0x00000000000000f3L } },
  68183. /* 18 << 217 */
  68184. { { 0xbc6a400038abf795L,0xee50c23a9287efd7L,0x2e49103a9a5fe5c8L,
  68185. 0x932f55e7ec47bc0dL,0xfb9d8ba5a1e42656L,0x14bc1a30bfec520dL,
  68186. 0x0e22436e2c51ebdfL,0xb45f409c227f0203L,0x00000000000001dbL },
  68187. { 0xdb059428e549200dL,0x944be2239a2f5fa0L,0xb50e8d34ddb8f268L,
  68188. 0xcf19eea782193454L,0x89965b1de0c72633L,0x6d5dd72287cb4786L,
  68189. 0x87dfc6f877b57b33L,0xa3814dd5d3b6507bL,0x00000000000001b0L } },
  68190. /* 19 << 217 */
  68191. { { 0xd3422f5b02e8723fL,0x77b65a704b483835L,0xfb8db8f5e6c4fa44L,
  68192. 0x178119d69bca2cbaL,0xd3011b68fb7c2516L,0xb51eb8ed7b2422d2L,
  68193. 0x638d850b4fbdfe7aL,0xef478553a4a2cc4eL,0x000000000000006dL },
  68194. { 0xcc1b4cbab66d461aL,0x85209539ab0614a7L,0x9284a459d7b45e90L,
  68195. 0x6261939b3d6b31c4L,0xd440f1eca261a369L,0x8b9f30274347957bL,
  68196. 0xeb40b1e9593ca13cL,0xe4bc3937f76f36a2L,0x00000000000000f8L } },
  68197. /* 20 << 217 */
  68198. { { 0x8979880e76ef73cdL,0x6b6723b19811ce62L,0x76b79fd3ebf26fb6L,
  68199. 0x485a962d3a38e353L,0x55df05bbf650782aL,0x2708cce29010a481L,
  68200. 0x55a55950611af69cL,0xdcb0ff444d195963L,0x0000000000000012L },
  68201. { 0x02313a03b53e1297L,0x0496acc4d53e4561L,0x71dc5bb477fff348L,
  68202. 0xb3a90b9a3497b65dL,0x1cc2d09ab0eb0550L,0x6d92c629525a2a0dL,
  68203. 0xacf38f9941e776c6L,0xdde54e8b76ce2676L,0x0000000000000040L } },
  68204. /* 21 << 217 */
  68205. { { 0x75be2409fd243c58L,0xfb1f463bdac51e3fL,0x509862194d0a4586L,
  68206. 0x36bd9a9e93c8ee2fL,0xeef97f6992bc64f0L,0xa78103bf1086dfc5L,
  68207. 0x88aa88434e424ed1L,0x0a5b655e99ba7ee6L,0x000000000000009cL },
  68208. { 0x249c1f37a7bff9c2L,0x524a308b3e8c734aL,0xbe9e7a1c4cca4101L,
  68209. 0xbfe5d60006384eb3L,0xb7d6b88ba7870afeL,0x9298e013c329ae1bL,
  68210. 0xf209c57749fa728aL,0xf266f26d14fa6743L,0x00000000000001f7L } },
  68211. /* 22 << 217 */
  68212. { { 0xecaa972f97a6c375L,0xaa67099f3c5aa416L,0x5e4734dc5f9037b4L,
  68213. 0x5a71f4d8feaac9beL,0xb66122ce9fd22e94L,0xd09f8f79796500a9L,
  68214. 0xb6e9a33d09e807a9L,0x44a1b6f515b33f25L,0x00000000000000feL },
  68215. { 0xd1c9abc3752c8f9eL,0x9b55269a8dfff422L,0xedfdfd976e33a411L,
  68216. 0x624051be5fc39babL,0x09b5446a79090558L,0x59df039c097b7956L,
  68217. 0xbc79ccb2f4c7668cL,0x04b2b4066bda888cL,0x0000000000000157L } },
  68218. /* 23 << 217 */
  68219. { { 0x01657adf2b32a82cL,0xa562f4cf4f956c2fL,0x84ad34232910648fL,
  68220. 0x9ea4e24d2bbdbd02L,0xdead6b9a4da91c2aL,0x36d5efe14c04f787L,
  68221. 0x7fba5358fe4dddb1L,0xa6479901f366a73fL,0x000000000000018dL },
  68222. { 0x3feba9211c557b81L,0x8a7d55ab07441493L,0x2494fea073a3361bL,
  68223. 0xe0b259a20c4b1040L,0xb916142e58b9d4d9L,0xbc680954f8a4db27L,
  68224. 0x5cd9b153e5640dffL,0xf4a05f27ae9b5981L,0x000000000000009bL } },
  68225. /* 24 << 217 */
  68226. { { 0x8b2f31a02c825d50L,0x5fa4a38e0b3dd67aL,0xcc07eafedd220e0fL,
  68227. 0x3a8496f853666cd5L,0xf1e8b23e116da23eL,0xf48de9f41631080dL,
  68228. 0xcc3274454139c8dbL,0x3270ce0a1dbe7c3dL,0x00000000000001c6L },
  68229. { 0x210895785054f6b3L,0x8295ec2dd94bf609L,0x1922bdba854941f4L,
  68230. 0xa95eb4de357020e9L,0xd15fe663df0d7747L,0x89ca6db1ff86b9ceL,
  68231. 0xc3bbaadc4f1a6d6dL,0xdeab3f658a0c471eL,0x00000000000001bcL } },
  68232. /* 25 << 217 */
  68233. { { 0x52c4c94bafa6c8a4L,0xcccdaac638d082d5L,0x6756e588603919fcL,
  68234. 0x46e53d034f729c3eL,0x79a9a3ba3642d064L,0xf7f9370b6e781f51L,
  68235. 0x871f38423fc72274L,0xa2be2d7f631fa996L,0x0000000000000169L },
  68236. { 0x33d1dbbdca0f5b6dL,0xfa5e0a4020137338L,0xe03314dea4fd1455L,
  68237. 0x15c0dcb0e68a4ad0L,0x5c99e48ccf09b744L,0x80be1812142f6b65L,
  68238. 0x13aa8e51ca2e9df6L,0x7a1772606a44f01dL,0x000000000000002cL } },
  68239. /* 26 << 217 */
  68240. { { 0x600b48b92806f212L,0x24f49b0b9ce93a73L,0xa61905f11fa33a53L,
  68241. 0xd8112bb3e9c9f4ffL,0x668461e5cd923562L,0x6a04eb9c7c8fd814L,
  68242. 0xcfebf8b2aa0b7176L,0xf5aeff5e9fdacbcbL,0x0000000000000089L },
  68243. { 0x6a4e78ccb73a9977L,0xff5464997a7fe914L,0x9a3851b2e4e9e8acL,
  68244. 0xece7462ca3e78784L,0xa3a59ea640b86efbL,0x7247b5df42bac9ceL,
  68245. 0x0807058cc4751049L,0x0f02c3bc79e24b3cL,0x0000000000000120L } },
  68246. /* 27 << 217 */
  68247. { { 0xaaa07644734ec473L,0xd85e99103b702814L,0x21a498758173c202L,
  68248. 0x2c890717cb3f4b5bL,0x33c149506922f4aeL,0x124c5e49ad484e7dL,
  68249. 0x611d7a967d9e2082L,0x7df895594d15f0b6L,0x0000000000000098L },
  68250. { 0x2e345ed3a5039457L,0x34947b7cce38e17cL,0x8fd52a5e30f99d29L,
  68251. 0x4f8f3001c0b186f0L,0x2581c68bc7b4641aL,0x5006916be7dbbd07L,
  68252. 0x2f2495f23e744e9bL,0x449cc2d31db7cbc1L,0x000000000000013bL } },
  68253. /* 28 << 217 */
  68254. { { 0xb30ff36d7eac7e6cL,0x388bbe38ee0df2a8L,0xf2398b6858bf4ee6L,
  68255. 0xc7af5233c8a3f768L,0xac4dd8d6f880b20eL,0xc09ce5090735320eL,
  68256. 0x50ad570da58d9c39L,0xadc538325bc36a0fL,0x0000000000000021L },
  68257. { 0x177653737fa3650eL,0xd8e95e4f742687e5L,0x3209d3007af39d87L,
  68258. 0x67bc05f8a5910ecbL,0xc3af4f238d00bc76L,0xd314a1fac6edf5f9L,
  68259. 0x41cf7b7ee3a65fdfL,0xe40089715a11eaacL,0x00000000000001c1L } },
  68260. /* 29 << 217 */
  68261. { { 0x0c838f9887c8edecL,0xe5dd51181e7c478fL,0x2ff66c0512dc028cL,
  68262. 0xac5ad1a801931b29L,0x329df33f2a15b905L,0xf092020568a1a962L,
  68263. 0xebc983869ed7766fL,0x6f88971bad265df9L,0x00000000000001b6L },
  68264. { 0xa06e9c10c9c14848L,0xcafd6d9fe8e7e01dL,0x77ea7583859a3229L,
  68265. 0x934d04af8688d9faL,0x35e7ddcd558f96b2L,0x6961dfc8332509caL,
  68266. 0xceeb4359f0cac525L,0xbb84703578878919L,0x00000000000001e1L } },
  68267. /* 30 << 217 */
  68268. { { 0x4348c0d62208ea16L,0xa6b7c867828ecfa3L,0x5e6e24f8bf2263f3L,
  68269. 0x44a63dcbd3a6da5bL,0xe19a8335346f0280L,0x92f45f0a44192c6fL,
  68270. 0x2683e6fff5c5e5e3L,0x687acfae77d82944L,0x000000000000011aL },
  68271. { 0x64dadbd27318bba1L,0x06775603e713f894L,0x5a86db2702699287L,
  68272. 0x0eb2657c9dc65560L,0xad0ecf6ae85b2f8aL,0x5213fbe63ce623b6L,
  68273. 0xe728f470f79b4791L,0x2f462b02e21f708bL,0x0000000000000185L } },
  68274. /* 31 << 217 */
  68275. { { 0x316de848faeaedfeL,0x78a110cb74883e78L,0xc02acbf279b5bfb9L,
  68276. 0xf2a4e3d18302fa76L,0x82098a687e585e68L,0xab0f26c8b64373beL,
  68277. 0x17a96c041f6667b4L,0xa5804b6a8049357dL,0x00000000000001f3L },
  68278. { 0xc4cddde35fe9e210L,0x52214a65e888afb2L,0xd1e861acda8a2060L,
  68279. 0x228f7b6e8c3a37f0L,0x81cb013a4631a725L,0x1500ad208bfd51f0L,
  68280. 0x17504e9c496fa6f0L,0xcb0a2b4070e311bfL,0x00000000000001fdL } },
  68281. /* 32 << 217 */
  68282. { { 0x1874803fd759f021L,0xe16e4f43f7ccdc14L,0x33b15c686ca96e4aL,
  68283. 0x16647507c0c8f6a5L,0x0a69a27b0ddc1a2bL,0xefa1d7d28c4496ebL,
  68284. 0x8bd873d347064396L,0x13b07fa653dd5370L,0x0000000000000008L },
  68285. { 0x97373827dbf8a088L,0x0f48a5dfdcd37018L,0xf3bc5022172e6d9cL,
  68286. 0x96a0d7020867bc4eL,0x26130628d1a46e33L,0xba6c1f6a8c2bdda5L,
  68287. 0x273f3f4d4e5e6112L,0xc9f3341ecf810455L,0x0000000000000084L } },
  68288. /* 33 << 217 */
  68289. { { 0xba5684306a70e5e5L,0x2dd3cf84f677fdb2L,0x4639444c2093d4d4L,
  68290. 0x48145ac0cfa9d695L,0x1947f72dcbcdffdcL,0x8ee3d63223a695efL,
  68291. 0x3f7cef682c0c00e6L,0x50a326aa9f8878a3L,0x00000000000001eeL },
  68292. { 0xf2ef9b77f3659baeL,0xb02047c9bb5d2078L,0x9342227bf5473552L,
  68293. 0x6af1262c972198b3L,0xf06c8495545c59d6L,0x5b76b44d7d2254a6L,
  68294. 0x0edf239adae2db07L,0x808bcb01b071a927L,0x00000000000001e0L } },
  68295. /* 34 << 217 */
  68296. { { 0x751ecd118ea4d1a3L,0xa416549385584530L,0x3c998d2f48ca5366L,
  68297. 0x5d2a945994867756L,0x40eb22d0ed2ce938L,0xf2384049eb6fa53cL,
  68298. 0x1dfae9f4452bfcd0L,0xfde76aeb67aaa0a6L,0x0000000000000070L },
  68299. { 0x3971401bcff41b83L,0xe60901c2652b56a8L,0x4e58a099f4f9d6bcL,
  68300. 0xb822ec2f3cb0761bL,0x2199ca7ff5a4cea9L,0x52146c0e87d35cffL,
  68301. 0x507233f309f44c81L,0x24a9f28e1ba0c4d6L,0x00000000000001a5L } },
  68302. /* 35 << 217 */
  68303. { { 0xadddf2ffd9c057f1L,0x6634c99638431f5cL,0xdeb1e0e10e0ccc49L,
  68304. 0x5b08f82a9eda3938L,0x5ac5ba95b7be5ac3L,0x12e7c0a6d405b331L,
  68305. 0xa7e8f80e1ce1a099L,0x09192de2086e69e2L,0x00000000000000b2L },
  68306. { 0xfd1c75f964436336L,0x02a5a6cdd3750eebL,0xfcb0759338ceb24fL,
  68307. 0xe613ce9408e8d3d1L,0x84bd977dbbc20a44L,0xc301f3f18b41ad98L,
  68308. 0x75dc2519a7586874L,0x2c179de3bb4cc82cL,0x000000000000001dL } },
  68309. /* 36 << 217 */
  68310. { { 0x783751f1ace85e33L,0xe9bdcbb4d36f8988L,0x51d219a6e7361da6L,
  68311. 0x5f374eab9fd26dfbL,0xd62ecb9f12301759L,0x77f528f2f3af5667L,
  68312. 0x38de7fed85a91b36L,0x52a085d7d022c0bbL,0x0000000000000045L },
  68313. { 0xf7f423fb3a234e71L,0x69e75f34635eed5eL,0xb2196ded1d3590a4L,
  68314. 0x46a9094b52c84b99L,0x039260d5c36fa19cL,0x755dd132b5b09dd1L,
  68315. 0x85d599e7784fe05eL,0x71187dd1167916d1L,0x00000000000000fdL } },
  68316. /* 37 << 217 */
  68317. { { 0xc2003f2f71056506L,0xbd1af63cbedf3b7dL,0xb8bfebef0a027704L,
  68318. 0xcf2b3463da5747a7L,0xd7620b0138eb7d5aL,0x04ba1fe62aec3578L,
  68319. 0x99b988baa26a76faL,0x059d1e5079ac26dbL,0x0000000000000182L },
  68320. { 0xca94d1c96ef3129bL,0x361e2c88bdcca8b9L,0x446fbd76cc7b11afL,
  68321. 0xbc12cc4345c1ff9eL,0xf61d708a1b41f633L,0xddb2bf042db37562L,
  68322. 0xa470ca1eff6e0b9fL,0xbf4c9c9e1ce7e20fL,0x0000000000000026L } },
  68323. /* 38 << 217 */
  68324. { { 0xdd3f12d68dbdc1c2L,0x01e34587f4c4a308L,0x29de44b9243d76ecL,
  68325. 0x5d17233cc2f30f10L,0xa09262e4bbc6db0bL,0xd17c9a64d629b3ceL,
  68326. 0x57d7afc416e00ed2L,0x7968b7727b3d962bL,0x0000000000000011L },
  68327. { 0x07c08b240363a6f6L,0x37ca731f096b5148L,0x3bfea8f7cac7db7eL,
  68328. 0xda2e44f5fd9625cdL,0x5b4cdad91660ca28L,0x085b48054e493323L,
  68329. 0x7c6994fd2f3ba77bL,0x0a0387299decf7b4L,0x0000000000000071L } },
  68330. /* 39 << 217 */
  68331. { { 0xfffbe77ba9ae3378L,0x9beb958edc28dbdaL,0x7fec7dbe060ba465L,
  68332. 0xeee11a73a6098a07L,0xc83f4667ba7234f3L,0xdb034e18753fb743L,
  68333. 0xe274fb5a5f53a77dL,0xd2a161d640d9d73fL,0x00000000000000abL },
  68334. { 0x9c9880a8ff15ef46L,0x97bf6f4576ed1f9aL,0xec02ab9ec55d9ee9L,
  68335. 0x8a3e57efb5ad0d12L,0xe9db08c164d665e7L,0x0e7074369e1b30c6L,
  68336. 0xe953299b83aecc46L,0x9ec97a400bdbf832L,0x00000000000001f3L } },
  68337. /* 40 << 217 */
  68338. { { 0x677450828f3756c2L,0xabf1e75d0a7bfcc9L,0x047931dbb8bad3afL,
  68339. 0xa380c9855e392278L,0x5195e47d0237d6bcL,0x8c7ef452fee7427cL,
  68340. 0x4f078dd2585b6365L,0x4e82eb4b1e10d24eL,0x00000000000000d8L },
  68341. { 0xda54dc52610b349bL,0x96746e43904633f2L,0xd2a58f332c50aa46L,
  68342. 0xffea4d06987f9fc3L,0x5505265acc521553L,0xaf2b7da0c316df83L,
  68343. 0xa74f09b1ea362ecbL,0xcf9f0ac3a2e1f4f5L,0x0000000000000078L } },
  68344. /* 41 << 217 */
  68345. { { 0x59af0c27a1a02f35L,0xe0ac14ea079fffb3L,0x7eb918803ba6efeaL,
  68346. 0xf4f7ece1c20a4df2L,0x38d3a92237d80bd8L,0x54c4a59d6a6ea3f3L,
  68347. 0xb2a32bcebdcfa4d5L,0x700e28b56b9040fdL,0x0000000000000170L },
  68348. { 0x56e3b014ab113b65L,0x0ec2175c548c1c84L,0x35fef7ad0213402aL,
  68349. 0x4d91c747b2ce0bedL,0x9c699db9ebfc8d58L,0xfa3d5a081329db85L,
  68350. 0x74b910498a16ccdfL,0xbb98d8300887072cL,0x0000000000000131L } },
  68351. /* 42 << 217 */
  68352. { { 0x96c26386e4cbd521L,0x0b1a38abd272b855L,0x30a03997f9875ff5L,
  68353. 0xe00ab13a61dbb1c1L,0xb31c80251bf9a773L,0x4d09ff2938888083L,
  68354. 0x356496085a48bffdL,0x8734455b7c0ceff5L,0x0000000000000185L },
  68355. { 0x4e3f5b3369306de7L,0x54c1bf0426328640L,0x7405d971c8b247deL,
  68356. 0x0193c644218439ccL,0x91d5c51bc5bd4db2L,0x083af5e8d97ea0c8L,
  68357. 0xc29d34ebba9533ecL,0xa61393defdc6e9e3L,0x000000000000006bL } },
  68358. /* 43 << 217 */
  68359. { { 0x4cbc18fd8f743330L,0x794313312b0a18ccL,0x1a8f8cfe4b46dd3bL,
  68360. 0xea6a1b0a78faffa6L,0x71b836b8520dcc57L,0x5efddbd89b6e74bbL,
  68361. 0x3d6b6151dc6b7c9dL,0x95f2cabff235d63eL,0x00000000000000f4L },
  68362. { 0x15b2e9802245f71cL,0x557c9c3eb1ea762cL,0x7121b8e7a57e9103L,
  68363. 0x31c6a917b2bff1cdL,0xe6883a84ff413e00L,0x33f8655f4a67ca7bL,
  68364. 0xa548bf42c27e7e2cL,0xe32f78ad352d4fb4L,0x00000000000001afL } },
  68365. /* 44 << 217 */
  68366. { { 0x75ec3f26656e2672L,0xcf0d9739ddf3748bL,0x5765797c7991dabdL,
  68367. 0xaf30965268cee722L,0x5bcf9603ed47b3c5L,0xb739ce4e493a140eL,
  68368. 0xb209fb5dcbfbd96fL,0x10de84841ecedf68L,0x000000000000007fL },
  68369. { 0x297535a097eeb1fbL,0x40bc00d9479587cbL,0xd20d467736f110f6L,
  68370. 0x029ce5ca422c636cL,0x9c8133c2172916e3L,0xf6e1a538e3a60dc9L,
  68371. 0x17809428fbfdb3abL,0x399fdabc973f2523L,0x0000000000000155L } },
  68372. /* 45 << 217 */
  68373. { { 0x103d1964126508d7L,0x9374fc63953fe4a0L,0xa3e5fef2bf65b5c3L,
  68374. 0xcf1e9f434dea09f3L,0x73cf4433db5dd9c6L,0xe0cd97b415af4b48L,
  68375. 0x6ff6d7f6ebecabe5L,0x67ab5f01e7947376L,0x000000000000006eL },
  68376. { 0xe36cafbd0ef747caL,0x69cff962339f8b52L,0x0aaf54ce45c3da2bL,
  68377. 0x15c960ce248fc6dfL,0x0464d7df61eff9c6L,0x1f783e7b3a1eb474L,
  68378. 0x37d81b791791de17L,0x356bda6296b6e9c5L,0x0000000000000188L } },
  68379. /* 46 << 217 */
  68380. { { 0xb0afc4e65c223c96L,0x88f2e5f35aaede44L,0xc3183f1cb71a856eL,
  68381. 0xa41a1487b9c00b69L,0x28b5aaaa69d2bc7eL,0xf5c5dc2172fcc598L,
  68382. 0x6c70b857400234dfL,0x861eedb2c2d21c53L,0x0000000000000060L },
  68383. { 0xc9d7f77696cb55a0L,0x0497d6176a92197cL,0xa3e0f3a608b23cbcL,
  68384. 0x2110a78eda86341aL,0xdde07944da306990L,0xbf6cfc6ab988aed8L,
  68385. 0xe2add66fd14d708fL,0xa44d983157dbfd52L,0x00000000000001d0L } },
  68386. /* 47 << 217 */
  68387. { { 0xc56bbdf675812dabL,0xd9e2cea8a82d54d0L,0xc78535044a6379c2L,
  68388. 0x2c974afd849f9130L,0xb35b4d7bb75ea82eL,0x7fa6b09c58bd2e96L,
  68389. 0xe1416607f1d13d0fL,0xb684652fd79eb307L,0x00000000000001ccL },
  68390. { 0x987764f187c31932L,0x99c1ba6ffb1d4bbcL,0x2ed38e948015c51fL,
  68391. 0xf424922c93ca5a9eL,0x201c868c6510cf1cL,0xfcaacc9a10c4ed5dL,
  68392. 0xe622fa46dc5316eaL,0x6f9a6df2518b7d2aL,0x00000000000000a9L } },
  68393. /* 48 << 217 */
  68394. { { 0xce7ae0b6075676dfL,0x24daa3aa29be05beL,0x795b32d17b2f292fL,
  68395. 0xf71dbf4f77ae64feL,0xe5f8b83bdcca4f00L,0x111a06db71e2e120L,
  68396. 0x6e7937f5a861e714L,0x7b14d15817bf3be6L,0x00000000000000e6L },
  68397. { 0xa8748d319d04daacL,0x28e3fdac9325722bL,0x4384ac259e26fc1cL,
  68398. 0xcbce8c3320f8d023L,0xa21e8abb9fed4b2fL,0x5f1d2dfca075f969L,
  68399. 0x43d3c57f5e8e705bL,0xcac9948fdeb0bca3L,0x00000000000000a4L } },
  68400. /* 49 << 217 */
  68401. { { 0x66a65e83dad7d797L,0xdbd972bc359e9564L,0xe35acc8a5eccb5ffL,
  68402. 0x35e3ffac0ad3ef9bL,0x851de6e98dbecf69L,0x90c0b3bc520a3d86L,
  68403. 0xdca6e3dd40607f03L,0xba8a7ea766dc9c2eL,0x00000000000001b0L },
  68404. { 0xe2a78b19c0187be3L,0xf0bfde9ebd554b70L,0x6a61dbf7e7357ee1L,
  68405. 0x7189a9916f16a7a9L,0x1027a7495028b3bdL,0xab2f2df6a104d723L,
  68406. 0x3f214e95834a7f51L,0x5033df8cf6019533L,0x00000000000001f3L } },
  68407. /* 50 << 217 */
  68408. { { 0x49d49732774494b6L,0x3c9506bd04770a4aL,0xbb8415e4c248a4fcL,
  68409. 0x60ed58b8374418ddL,0xc26440d39aeaa332L,0x1601233a7aefa5a0L,
  68410. 0x8ba67f98ffcc867fL,0xb93887e4e716de59L,0x0000000000000028L },
  68411. { 0xf9467d0a3f1ea0e3L,0xd69dc7b3c349e641L,0x21bb7c3d47a1fb70L,
  68412. 0xcdce7b0485baf8f8L,0x6a94cd2df74d61bdL,0x9b4aaf70d80c40ccL,
  68413. 0x67958b15554675a2L,0x1212272b37de6aa5L,0x00000000000001a1L } },
  68414. /* 51 << 217 */
  68415. { { 0x65b30c4693d202fcL,0x69278e20a91bc534L,0x2159b74620ebfcbaL,
  68416. 0x9a039589158a9358L,0x3431bf268fbe3a07L,0x3f052e4d5ac5aff9L,
  68417. 0x0c9236c539ee1355L,0x95924b8148fcf947L,0x0000000000000179L },
  68418. { 0xd60db53922fd1648L,0x6fa28ffd2d08381cL,0x48efc7edf1831068L,
  68419. 0xbcbc20d73ebf4420L,0xaa29a9d85f3f90fdL,0x79b874cc5a1ca0ebL,
  68420. 0xc177fb6d3a75b3faL,0x45005fcc887cd30eL,0x00000000000000e5L } },
  68421. /* 52 << 217 */
  68422. { { 0x22c042b9ae0ff839L,0x532ee1b07b82dbadL,0x05e95394dd5b19d7L,
  68423. 0xc6702ff7d56b7f6cL,0x55d30e5d0e9b86feL,0x709ba115f1732c78L,
  68424. 0x74a6cd649ac1f9aeL,0xc692aec65f088cabL,0x0000000000000067L },
  68425. { 0xa276f7466deff8f2L,0x36b98e844ee21c9cL,0x862c26e1b552c998L,
  68426. 0xd5a2a5bbbc4fbe00L,0x4919ca8c18fdb4ddL,0x66d9bb81c77b7776L,
  68427. 0x5aacc969d0db6420L,0xd14d5266a5ac63abL,0x000000000000000aL } },
  68428. /* 53 << 217 */
  68429. { { 0xef65a4d01f4c8edeL,0xaa46b120dcb08a38L,0x40f468df7069f2d5L,
  68430. 0xcb4829542bc58171L,0x8be42227c99b25f5L,0xb0f18b7307eb98b7L,
  68431. 0xa1fae0b29b9ec47fL,0x8be5738cb5a371b2L,0x00000000000000bdL },
  68432. { 0x4c571a9fdc6a7103L,0x34ce343edce86822L,0x8d732bf9cc528a1fL,
  68433. 0x4203e1f92a313cdeL,0x3ae79ca7a5626baaL,0x0b552456eaeef625L,
  68434. 0xfa5b3a161b406f85L,0x25b35d73eb95605bL,0x00000000000001d8L } },
  68435. /* 54 << 217 */
  68436. { { 0xa9dfea9c3c7a06c3L,0x529d3a3644d3e30cL,0x7f8d907f76897d3fL,
  68437. 0x309a2182581c26b6L,0x4d29dc6f0c0581fdL,0xcdbc510a7bf06072L,
  68438. 0x9d0cbdf3f55f687cL,0x5a5443e55b0b307dL,0x000000000000019aL },
  68439. { 0x5738cbb543970892L,0x3219a82ae52498eaL,0x00e3f1db9a0b043fL,
  68440. 0x87e704902e29f37dL,0x3bb34b3bd2d0b401L,0x8ca921c189b818faL,
  68441. 0xf122b4d3fa6c6e6dL,0x70098c5f3ea74c79L,0x0000000000000097L } },
  68442. /* 55 << 217 */
  68443. { { 0x4faebb5ed4d176abL,0x793cb9749742e217L,0x42c33d81e013378bL,
  68444. 0x4ac4b7ac800a3d3cL,0x929871ea86ae5230L,0x02e2b5fbd923d457L,
  68445. 0xba95bf17b797df41L,0x4f2509a33651e982L,0x0000000000000117L },
  68446. { 0x1a4e60c5a0afd2c7L,0xe96f14e4d2685919L,0xdf1961fdab7a498dL,
  68447. 0x8692057a65b97a84L,0x4ceaacb1ed5ec892L,0x806aa214f34b0220L,
  68448. 0x285dd9b1501fc893L,0x401b959d0115c368L,0x000000000000002cL } },
  68449. /* 56 << 217 */
  68450. { { 0x17100a613bb93eafL,0x7ccb5bf3d80ac200L,0x585d17b6eab320c3L,
  68451. 0x8d53eff1e7258f8dL,0x9d671ee13f21f78aL,0x76e7ab703dc4ad54L,
  68452. 0x9ef2272419b3ffc7L,0x67b54b1fafd5a3caL,0x0000000000000122L },
  68453. { 0x629dfafb33a86edfL,0x237e33d97e4ae084L,0xe1d102344ca49a1aL,
  68454. 0x768d5901b6e2e180L,0xfebbd9dad2ec4ad3L,0x90ab63eba9e332dcL,
  68455. 0x5e2636c78da3786bL,0xcbabb3fad3f6ff9fL,0x0000000000000190L } },
  68456. /* 57 << 217 */
  68457. { { 0x96c2b30c8b4503bcL,0xef8079b76ea400dcL,0xa8693f0228e1ce2dL,
  68458. 0x3f191b4d2d51f267L,0x32e177ca3361ae9dL,0xbd7d0a66ddfc80a5L,
  68459. 0xdd761eaf25fb8d88L,0xa2e52fd503d4a584L,0x00000000000000f1L },
  68460. { 0x023d3607fda8c4d2L,0x51a0c87a59aac242L,0xcf51d25c4f8a9c42L,
  68461. 0x3a8a96c6aaac8b07L,0xa635ca96feae776bL,0x09f4b77ce5b272d7L,
  68462. 0x1edda904f7a74fccL,0x3baf043648f0578aL,0x0000000000000015L } },
  68463. /* 58 << 217 */
  68464. { { 0xaaa50d58f000e356L,0x0b3193c7016dd924L,0x8fb754d8a0ea14b9L,
  68465. 0xd91c9f3fa50b4c23L,0x10e6d8a82bb95226L,0xca4a37214dd94671L,
  68466. 0xadafc0d9ce05e753L,0x1ed81caf97e6c298L,0x00000000000000e8L },
  68467. { 0x230fcce8d8b0bb47L,0x04b5df73c0f13872L,0x844ee3ee24286c1bL,
  68468. 0xd25336e8292c55b7L,0x49b25059b9fe1d90L,0x88302407130bf270L,
  68469. 0x164ea993ee3efa36L,0xa2967cc81606a7aeL,0x0000000000000063L } },
  68470. /* 59 << 217 */
  68471. { { 0xf3e4e4d3c3c8fb65L,0x51ce545919cbf83fL,0x11a1dc28f47ff417L,
  68472. 0xc47cc26a9408c5fdL,0x8e59575bc25546eaL,0x462f9375aea3d032L,
  68473. 0x9c0a03996f33ed40L,0xedb8b2b6d15ac9d5L,0x00000000000000a6L },
  68474. { 0x50c5c11ffcbc7ad2L,0x3cdaedf0e5d53272L,0x7e5df4def7d3737eL,
  68475. 0xfd4570fe5964b614L,0xf29db31b4d1d0bb0L,0x1927ae724617ec1bL,
  68476. 0x7f3dd228e3f040bbL,0x4b4fa22b6617a2b1L,0x000000000000012fL } },
  68477. /* 60 << 217 */
  68478. { { 0xa71ecbf6370b5ec7L,0x2ed3a5916ae50f0bL,0x5197ab87111470faL,
  68479. 0xaea260dbe30df740L,0xcd7e1f9d02e37578L,0xa3569bfd8bae68d9L,
  68480. 0xea8e96e7c2a89697L,0xb9d1f162f9fcc566L,0x00000000000000f8L },
  68481. { 0x32cd11647ef36ad4L,0x1e58205fe4b08a4fL,0x6e7d004a3dc37cbbL,
  68482. 0xd639b5b527ebbda0L,0xe92db32e2cb36fdbL,0x25ea06757e17bfe7L,
  68483. 0x5f49bd54c8e8cd0cL,0x793d24cfc3e25af2L,0x0000000000000033L } },
  68484. /* 61 << 217 */
  68485. { { 0xe5c1b03d6c5f70c5L,0xc634f61e0bda5d66L,0xf7fa1fb6c3782a1aL,
  68486. 0x9da5e4eb94b3a1ddL,0xab10baef997aad2eL,0x9bfff40e40296f45L,
  68487. 0xa17714fcaf3ca04eL,0x44315b37424f4d32L,0x0000000000000152L },
  68488. { 0x1898f6677a2bb552L,0xf73bf0419fba5d55L,0xa0505207adb92bfdL,
  68489. 0xb5f8949940775fdaL,0x0a4bba547c52106cL,0xb238bff05336edfbL,
  68490. 0x7586b6aeb6c0f11bL,0xf3b1a6d93320ed85L,0x000000000000016cL } },
  68491. /* 62 << 217 */
  68492. { { 0x1ed5330496a2c264L,0x25d19d7be58b1775L,0x87234824d1c26e46L,
  68493. 0x2eb0c2acba0860f7L,0x1ae2194cc81321d8L,0xd45ec0f1fcdf40faL,
  68494. 0xa0953ba97e3d11e6L,0x495a35ac11350bd8L,0x0000000000000184L },
  68495. { 0xbcc2861b80ecf438L,0x859849509750ccb7L,0xbdb997929e1cc8e6L,
  68496. 0xf64a9df281f7c4e1L,0xd1860d60ca400f68L,0x9782a95d5e2b500eL,
  68497. 0xa3af2257d6320c6bL,0xd0a1666d0488032eL,0x00000000000001f1L } },
  68498. /* 63 << 217 */
  68499. { { 0x69a468fdb7a36758L,0x297d8dd0da785f23L,0x66c8518c215c8620L,
  68500. 0x2b420fdb7e84feb7L,0xaef8a39b26a3e7afL,0x81979bfa23484aabL,
  68501. 0x5b9c8bf22d0d13d8L,0x1dcbdb5fa6ac2309L,0x0000000000000132L },
  68502. { 0xa9c831fa65bc4bffL,0xbd8b10387d5f077cL,0x361b762378a3206eL,
  68503. 0xbeec611b4724ba57L,0x423f56177b690d52L,0xbc6dcd6aeaa09b15L,
  68504. 0xf0b60ebf7d9c160bL,0x1c3af39c6918b37eL,0x0000000000000110L } },
  68505. /* 64 << 217 */
  68506. { { 0xcf8e03c512a09898L,0x2090118438287af8L,0x8fd47e85371620a2L,
  68507. 0x5a2b2ec87f16350aL,0x45841b1c608c7488L,0x627c632e01739426L,
  68508. 0x3cb05aa78f8e8224L,0xbe277fd79b643a85L,0x00000000000001feL },
  68509. { 0x950843e61538cb4dL,0xe88383994f7ae0e6L,0x6b90ac85d2e1d225L,
  68510. 0x78c211321e5361b4L,0xce09f24034b950ffL,0x3884016974b71400L,
  68511. 0x58ae40a665e2bbafL,0x5d370978c823b954L,0x000000000000017cL } },
  68512. /* 0 << 224 */
  68513. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  68514. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  68515. /* 1 << 224 */
  68516. { { 0x7ddf47051733b3c3L,0x7c7878a3f4a25d85L,0x4d86f57c29ad09a6L,
  68517. 0xa97d4ab6b26d5c69L,0x71cc925004b07913L,0x08a84131b4c0b7b2L,
  68518. 0x388fc8aa5119f83eL,0x23a3bd0b6bfda0cbL,0x000000000000007eL },
  68519. { 0xdfc7c8448e549373L,0x439dc785b52ad215L,0x9e157e18fb9de6dcL,
  68520. 0x9283c3318793d562L,0x79f9ec9033ddc16cL,0xed0dbb7fceff5086L,
  68521. 0xfa4668078765145eL,0xba9411a9a3b387b7L,0x0000000000000176L } },
  68522. /* 2 << 224 */
  68523. { { 0x319885d110e10587L,0x2da8979a609853a4L,0xfe907fe389b08ef5L,
  68524. 0xa3a338a61a97d9dcL,0xa5ad1a9ad7e3fb92L,0x77a3bfc07a0136e3L,
  68525. 0x99634588aa6ed29aL,0x41f148beef4787b6L,0x00000000000000dcL },
  68526. { 0xb8671195ebf698bdL,0x323b6965e2974ee2L,0x1411c67084c20702L,
  68527. 0x840b396eba4bc1edL,0xd857a525eecff9a6L,0x0afad4f4d2d6829bL,
  68528. 0x84ef6315bf6ce02cL,0xc38fe857ccc6b333L,0x000000000000001bL } },
  68529. /* 3 << 224 */
  68530. { { 0x2d9ba7e36f07eef9L,0x46ef4ce6eb692362L,0xa869ee262fa2cdc9L,
  68531. 0x5b7d3a81642a2378L,0xc024410ad4d6bcd4L,0x88cc0f7121ceafefL,
  68532. 0xeee011ebe04af152L,0x9cf87d1d7829107fL,0x000000000000002eL },
  68533. { 0x49260571e07147b1L,0x632583460ca0c303L,0xf1cda5ae6602e056L,
  68534. 0x418b618681a45861L,0xcbf17fcdd1921fa5L,0x355e5d1ae07a08f1L,
  68535. 0x3f4f5bb0a26b6b2fL,0x898ca884ade69b50L,0x000000000000008fL } },
  68536. /* 4 << 224 */
  68537. { { 0x1a00fc111c417fadL,0x8816dd0b3fba7366L,0xb3a5499232c0e5a9L,
  68538. 0xb6a634789ec0fa14L,0x880b10b8a8d8615eL,0xe3635bb83abbe5fbL,
  68539. 0x62a209f64de9be52L,0xac41cce182b76cf9L,0x00000000000001c5L },
  68540. { 0x287c7bc77dd1e73fL,0x072bb2ac1f8c7d2cL,0x399011fb3af5565cL,
  68541. 0x787b94845e2a7e13L,0x5858c3df5761ae9cL,0xf0f831ae6d2875daL,
  68542. 0xd5f5bf2dae9c82f1L,0x191b45fbb247a36eL,0x00000000000001ddL } },
  68543. /* 5 << 224 */
  68544. { { 0x1d2d4ab0fe772021L,0xd6e75054041053d5L,0xdb480d2e5705d868L,
  68545. 0xf68a09f76aa63e89L,0x0bcf4c31379a4d0cL,0xcbc0c737b681873cL,
  68546. 0xdb6931a6b886d407L,0x0fbaa44bf84e033dL,0x0000000000000056L },
  68547. { 0x5339b4f34f90a0fcL,0x2743f6818ebc0b28L,0x37567e5bf7db2715L,
  68548. 0xf339c91aa5b1053aL,0xde65f7188125ebfbL,0x32f7c06d6bf4ed15L,
  68549. 0x8071d1aa40353dcfL,0xb8fdddd93c994068L,0x0000000000000198L } },
  68550. /* 6 << 224 */
  68551. { { 0x1c081356b6965640L,0x7a01b38990c7a0f0L,0xf72fdba4874007eeL,
  68552. 0x6bd85d94dcddefa2L,0x80fbde7e48db2fa6L,0x60b2be1c4a319dadL,
  68553. 0x996217fbee51fb71L,0x85f1b13be0edb983L,0x000000000000012bL },
  68554. { 0xdf53aa14ecfb1d0dL,0xdd77fc37760a217cL,0x659bf31e99b56fbdL,
  68555. 0xd0f042ebaca3e106L,0x50c215ba1f907ea8L,0xc6bb892ca4ef5f48L,
  68556. 0xc3beb73bfeb86870L,0x04b740bd4123f812L,0x000000000000007cL } },
  68557. /* 7 << 224 */
  68558. { { 0xd50c9fcf6016e8f8L,0x27f12c32b8c12f9aL,0x2e13fd2b08e0e13cL,
  68559. 0xe48a1bce89e659efL,0x1bbe7f01f62a49d6L,0x87e0ca4fd417e497L,
  68560. 0x1cf55a48364ee9cfL,0xf4fbc7eaf66635a7L,0x00000000000001a6L },
  68561. { 0xbe3e55113eb12a0bL,0xaffcad4b462ebdcdL,0xf6f097ace8f4d182L,
  68562. 0xdb1fe0f2404a92feL,0x9e2a51594fc084ebL,0x6acd3a8e7af882b2L,
  68563. 0x17654a579602fc6bL,0x1307d12271de39cfL,0x00000000000000deL } },
  68564. /* 8 << 224 */
  68565. { { 0x470bfdd42540e5c8L,0xc2c849a1057592ecL,0xd8f4b30d2f886637L,
  68566. 0xce56d15025ba43e0L,0xcaca4a05f200d2fbL,0x38fdfb3595d80545L,
  68567. 0xe274649f22418951L,0x155badb2cb7437beL,0x00000000000000a4L },
  68568. { 0x09195792c828a666L,0x3ceaf45353f59336L,0x3982e19643850a1dL,
  68569. 0x02f8077df2d2afbdL,0x83197e1e6a6946faL,0xf158b0b4c4ffad53L,
  68570. 0x12559573853b51daL,0x8838409e8d35c9deL,0x000000000000019cL } },
  68571. /* 9 << 224 */
  68572. { { 0xa844a48f37315ba1L,0x2db10df96f401d40L,0xb092031359508b56L,
  68573. 0x4ccd40a51df7356bL,0xf6e6de667cba0994L,0x8d052d22aff1e407L,
  68574. 0x6579f0aee1ad5185L,0x02a2654c2fe56ff9L,0x0000000000000107L },
  68575. { 0xfbe7245fc52e3a9aL,0x5cf1f315767802eaL,0xd1bc98865cfa064bL,
  68576. 0x6fe2e272218c2d74L,0xfbc0f239e105d3c2L,0xe93040f86c2d5d8dL,
  68577. 0x3564207844f0c1ddL,0x526cafb534a20e65L,0x000000000000007bL } },
  68578. /* 10 << 224 */
  68579. { { 0xa403b2cd3e0bf039L,0x1f331cd769ae1607L,0x5808812d9341e113L,
  68580. 0x3bdc37f4acaef9c4L,0xeef79000a056ccf7L,0x6e36e89079f26a8eL,
  68581. 0x225a7216a5a165ffL,0xb0f49eea4a8d4e72L,0x00000000000000c7L },
  68582. { 0x7df03cd678eaf6ebL,0x4e96fcfc7a3ef5e3L,0xb4578857fd3bfa43L,
  68583. 0xaf079521906c3961L,0xa8e06dea1227fc18L,0xf0f06e6808be24bbL,
  68584. 0x0af15713b84b3fa1L,0x6bb9ba45d30f7aacL,0x0000000000000111L } },
  68585. /* 11 << 224 */
  68586. { { 0x7055735e2734bc7cL,0xdbbb0d7f2015daffL,0xde7f735ad048c6f7L,
  68587. 0x1401c4fe3d025035L,0x3017088af09b1518L,0x53beaa128c919403L,
  68588. 0xe623ff8d6e6f4894L,0x1622621fa6c45b25L,0x00000000000001a6L },
  68589. { 0x3aacbd8120e1fd32L,0x21963a49f0c52d67L,0xb521f29dda79f988L,
  68590. 0x5ca6538ab632a340L,0xfeccb403a1c38793L,0x800a81e46c1993a7L,
  68591. 0xbfe7989e08775f1fL,0xa7c0bb935f6056cbL,0x000000000000007bL } },
  68592. /* 12 << 224 */
  68593. { { 0xba1f3d04e155a234L,0x83285cb7a2f5d3afL,0x120231908196da46L,
  68594. 0xc05f48389399a9b8L,0xe1604051a097e0c1L,0x3c48963b8f3cb46aL,
  68595. 0x7ee7debebc20857aL,0x74c375ed8ef449ddL,0x0000000000000148L },
  68596. { 0x6086f7e549a22d3bL,0xcf65faa71ff513f7L,0xe5f24ae161c6db58L,
  68597. 0x085cdc7708664d9aL,0x8e2385ab1df20e4cL,0x58910a818006cd4aL,
  68598. 0x1858bc67c143e34cL,0xf88a9ca118f7d8ebL,0x000000000000000bL } },
  68599. /* 13 << 224 */
  68600. { { 0xac6ed780d8dc7694L,0x1517db0f7f0ce3c9L,0x14e574efe2724276L,
  68601. 0x06bf1c0ad420a1b9L,0x092fcdc0ecb5bb09L,0x00b1952db3c22e3fL,
  68602. 0x8486050d66dfef5cL,0x4162baf5b4aa2363L,0x0000000000000035L },
  68603. { 0x5f188ef1ccd62e93L,0x357224c0a78fc426L,0x6a38a6a0f311d595L,
  68604. 0x632d3b1d9363d024L,0xda7edb5aefd29098L,0x1ae7e00046198910L,
  68605. 0xd299ea6c8637f141L,0xa33a21d96dce1f27L,0x0000000000000191L } },
  68606. /* 14 << 224 */
  68607. { { 0x33b557a9edcbf5e2L,0x8d42c77f4fb31e95L,0x3f006dce258e5a7eL,
  68608. 0x07ab56329dc0f10dL,0x6a79f1d388012825L,0xbbc9f71d997f67e9L,
  68609. 0x733aee4fb0484d0cL,0x0d7d26af06b23588L,0x000000000000007eL },
  68610. { 0xae584763447d2b4bL,0xe3c380900abe0533L,0x19dc9a0946a66debL,
  68611. 0xc5e21596f7351889L,0x67efb3732e9062b0L,0x38c539278def3d27L,
  68612. 0x8f2afe546ec1f561L,0xa80f0c62159002baL,0x000000000000007aL } },
  68613. /* 15 << 224 */
  68614. { { 0x0574b1c11fe4b65fL,0x564bc4eb99fc3470L,0x040cf7e88ad913eaL,
  68615. 0x72f64fde21e6dc7aL,0xf061a2f945e43f1eL,0xb30d7ace4cf73cd7L,
  68616. 0x4e67338fed5303f8L,0xd1ca92f827fb18b4L,0x0000000000000123L },
  68617. { 0xec92ff11b2ff61b9L,0xa1196425dd3bd645L,0xeab1a0b3ffc4a720L,
  68618. 0xbb01e20dcde12819L,0x222fca782f6f9062L,0x5343239fbf735e40L,
  68619. 0x8e4c78ee7a1efa11L,0xbb68361cacee5111L,0x000000000000009bL } },
  68620. /* 16 << 224 */
  68621. { { 0xbce0f1074175e7e0L,0x51ac63d71965464dL,0x429f6b9f52aaa9ebL,
  68622. 0x6ed3c53b2a1846d7L,0xfa87d5876dcda98aL,0x9858c801c72d6d0aL,
  68623. 0x94a5bcf367681451L,0xb7c46ecdd3de0285L,0x0000000000000183L },
  68624. { 0xfd301b76d2dfd89cL,0xac9c2b0d0f38e6c1L,0xcf9d3acf2da8e6d4L,
  68625. 0x99db13dceb9024c5L,0x4ebfc5ba9ee659a9L,0xbded80949b2fa547L,
  68626. 0xfcf035f9c08d98c5L,0xb50dd13656b8b217L,0x000000000000014dL } },
  68627. /* 17 << 224 */
  68628. { { 0xbd6785f67bfbd788L,0xf5b0998e64b74e2aL,0xb9807c2339968512L,
  68629. 0x7de81d72cbb6513fL,0xca27798033ef0d45L,0x09ea26e95b9b19d8L,
  68630. 0xbf8414db4390e170L,0xef1287bc2e6a7e43L,0x00000000000000c3L },
  68631. { 0xd10112737f0c5ef6L,0x47393f003fc452dcL,0xb193a4a17f51c291L,
  68632. 0x7d0ffe318cbc8483L,0x330d79be90e56adaL,0xb913a2e9c8c6c717L,
  68633. 0x3c5e0d0c3f227508L,0xf57d2ea48a43f045L,0x00000000000001f7L } },
  68634. /* 18 << 224 */
  68635. { { 0x00b8eebbbd959bd9L,0xc5406f8e65f420cdL,0x6a60db3f063154c5L,
  68636. 0x5d36e596311dbdeaL,0xa2bd49a842a485e7L,0x661fe033dd24a2ecL,
  68637. 0x00d78bfb695ba009L,0xfcc1198129afe784L,0x00000000000001afL },
  68638. { 0xf30ad5348384e611L,0x46f55e5266df249dL,0x5cb69969ee339313L,
  68639. 0x266a39971707af6dL,0x58d83aaf3a65d217L,0x46289bda29bc352bL,
  68640. 0x13a780b3a7375993L,0xc694ec0434a72490L,0x00000000000001d0L } },
  68641. /* 19 << 224 */
  68642. { { 0xf54fce2fa396f979L,0x69dd3e5e44540d2dL,0x4bdf033a2929586cL,
  68643. 0x055090d894086923L,0xda62e5374c8595c6L,0x8a9e1def4d489859L,
  68644. 0x84a3f9502ac811faL,0xe6753ec71733f749L,0x000000000000011bL },
  68645. { 0x1d3b67d036f97445L,0x6f154f990f2533b4L,0x69493d6eb0e8573aL,
  68646. 0x4ca3dad5b8f6d7acL,0xd3ec695236a717e5L,0xd8c719b7e78bfc25L,
  68647. 0xf4746d3e069fc4b0L,0x8d967a3a6486c44dL,0x00000000000000e9L } },
  68648. /* 20 << 224 */
  68649. { { 0x7d8f48632cfeec8dL,0x9974152a814a01dbL,0xddc0bc6cc92694faL,
  68650. 0x4e7bff595e2b5689L,0xbaa96e1a812f16fcL,0x800462f4f6585b6aL,
  68651. 0xbd8c7d984cf44364L,0xe49ad28a84fa6863L,0x00000000000000d3L },
  68652. { 0x417df8bca87cb33dL,0x4fccdc1bdcf62845L,0x8784400a576b1235L,
  68653. 0x708f13ce2676a8a3L,0xa7534d0dfdc376c9L,0xbdcc20da643f1159L,
  68654. 0xc0f21e2e86b8fbe7L,0x632c15d52f0326c9L,0x00000000000000a6L } },
  68655. /* 21 << 224 */
  68656. { { 0x68fdb156f0af9d3bL,0x5f53c821be3429a8L,0xf37ba120798adc16L,
  68657. 0x13793b18980624a3L,0x5f6297ab421c8a0aL,0xd429fe05b9a9bd9fL,
  68658. 0x80b7d860ff3a84abL,0x10ecc26a3e1769e6L,0x0000000000000020L },
  68659. { 0x0a1afce2c04cbbd5L,0x9b6b5b9cdb6c081eL,0x5759236d62cada78L,
  68660. 0xce57613aedc49bd7L,0xf66a9105f4df2865L,0x738e3e09768d556eL,
  68661. 0x4ea024b2487b98d6L,0x69f02ea84e9bb27dL,0x0000000000000078L } },
  68662. /* 22 << 224 */
  68663. { { 0x8499723aa10fbd04L,0x638fdf9d1d392e78L,0x7befbecbdf12c367L,
  68664. 0x522a5d26db60f06dL,0xce23f73fe6ce2fc3L,0x42f4ea36b20e9b7bL,
  68665. 0xcaf5a320e0401d85L,0xdf4bf7a79938d740L,0x0000000000000131L },
  68666. { 0xfc8a14c7b9493be8L,0x2e89cef551148e47L,0xea3375758b804aadL,
  68667. 0xce58b786362d9aaaL,0x0f3cdaec13bc5120L,0x1e773c0d49f1afd7L,
  68668. 0xe9127a8b4ef25b4aL,0xe6d30caf29f670bdL,0x00000000000001c6L } },
  68669. /* 23 << 224 */
  68670. { { 0xbd401bcae131ef57L,0xbbe597a154c52236L,0x6d1c702efcd7d43bL,
  68671. 0x0eb0316d8a359106L,0x143b98b6ac6374afL,0xb2578bfac4a2b559L,
  68672. 0xa210d0c1bd53053eL,0x5fcb9211c1779f63L,0x00000000000000f6L },
  68673. { 0x5f83788c000e35a2L,0xd00c38172eeb99d2L,0xa565d239c63ff60eL,
  68674. 0x147f29dcd0d4caa8L,0xf8b63389115dbd52L,0x2dcb407f6856405dL,
  68675. 0xb1bd3bb6469671d9L,0x4468b9a148cac2d5L,0x0000000000000013L } },
  68676. /* 24 << 224 */
  68677. { { 0x2db0707f8144a351L,0x0885661375ca2dd2L,0x7a5052e1db5369b9L,
  68678. 0x0ee205ccd81351b7L,0x17352e8de1a0c288L,0xbb36a1cf89c9cc19L,
  68679. 0x5797a9b2768d2d2dL,0x2736a45cd28ca1e5L,0x0000000000000118L },
  68680. { 0x0c9e5469931503b9L,0x2c0487af3d942235L,0xb71d495e95ae408dL,
  68681. 0xb5c2e5d1a853a205L,0x09747539585803b3L,0xc703600a44cf93eeL,
  68682. 0xa0a16aed1904461dL,0xfb5c6e6ab0333ff2L,0x0000000000000119L } },
  68683. /* 25 << 224 */
  68684. { { 0xc4c7b8c62b36290bL,0xe2fb417d81e58d27L,0x086f3d384750dfe7L,
  68685. 0x8359ab7548c6d58eL,0x7b78687a094386f2L,0xcb1d4021a140ec3bL,
  68686. 0x52a8d9962d7dbaa3L,0xc7552a9b8facccf9L,0x0000000000000182L },
  68687. { 0xfc3ce1ff88706b52L,0x5cfb2c61ee0aa036L,0x3c52b2c9b87e28faL,
  68688. 0x01ceb01f22eb006dL,0xb0fd7d823174e206L,0x190d8131ade8d5d2L,
  68689. 0x1d195d6ac3f7f087L,0xdbfae9d2eb09decdL,0x0000000000000134L } },
  68690. /* 26 << 224 */
  68691. { { 0x9b21b0eb2daa2fb7L,0x62506bd10665aaf4L,0xfbdb475b82e9704eL,
  68692. 0x4088093f50b1377eL,0x5397eea199707c61L,0xd3356b6e75fd8b3dL,
  68693. 0x561c380705fe8914L,0xd0304825f77342d0L,0x00000000000001b8L },
  68694. { 0x7daa92433fdaa949L,0x12f461af51ea7441L,0x56c37d995a63573fL,
  68695. 0x5d6c77c84a7025e9L,0xd2f2be05817b31a0L,0xc3b01b281f472be6L,
  68696. 0xa9bf6a9f861524ccL,0x1dc74be29f0ca5b6L,0x000000000000002fL } },
  68697. /* 27 << 224 */
  68698. { { 0xdf2687a38ee78e5bL,0x5ca01f45dd1c0e1cL,0xf2bb5db54161d203L,
  68699. 0xabe1d9781258d82dL,0x9ed61dc1371f1fc3L,0xb5882d2e8ebcd9bdL,
  68700. 0x62d2a79ea86df9f4L,0x925a80af6c50a563L,0x00000000000001b8L },
  68701. { 0x472e8479a891d8f3L,0x47741910543b0678L,0xa1df2d293d53f8d9L,
  68702. 0xde28fb0e30acb4b1L,0x9683ff8d5d4e1f2aL,0xeb74a8044ae8a13eL,
  68703. 0x727434e967e736d4L,0x514af3dc0db30c54L,0x000000000000010dL } },
  68704. /* 28 << 224 */
  68705. { { 0x8b883f22fd5b9cfeL,0xebc175f592656667L,0xbe995418d9c86f02L,
  68706. 0x9dee3ec51ed7a5adL,0xe9c7b177a10117b1L,0xae7ead0547724e37L,
  68707. 0x4baba8316fefa7e4L,0xb496a2d1d7727641L,0x000000000000013eL },
  68708. { 0xed31fca226014cc5L,0x3b36d6148a223091L,0x32ac1f7b521e4fcdL,
  68709. 0xcc7348015ad644d7L,0xf60d0ae0931450aeL,0x1db3acecd993d7c7L,
  68710. 0x0f3e95427a9cbf22L,0x7c688fba58fede8aL,0x000000000000005bL } },
  68711. /* 29 << 224 */
  68712. { { 0x53259e5950ef71baL,0x1dfc6bec47c25dcdL,0xfbd8d5c47087cf41L,
  68713. 0x5a5ecfd10249e9e4L,0x2c6af4a91ea582fdL,0xd01b1f80cc54d09bL,
  68714. 0x9cfa9960500567ffL,0x7c744e9348b2e9d5L,0x000000000000004cL },
  68715. { 0x5c596099783f1792L,0x7e2b1d15d0f14bddL,0xcc195fedecad2e07L,
  68716. 0x324953104117835cL,0x8eb7128ca206aabcL,0x0b9d40cd4873c84cL,
  68717. 0x4ffb71b40648225eL,0xe7ef4f33a4139697L,0x0000000000000081L } },
  68718. /* 30 << 224 */
  68719. { { 0xf6171f9bdc8d6167L,0x1bef4c1bdcdaca1eL,0x069ea1943224f5b9L,
  68720. 0x16e603adae98eedaL,0x1c2551a03527f99bL,0x677bfceef3324cf7L,
  68721. 0x89739e2afaa65d81L,0x7c63f321ee01a2a8L,0x0000000000000083L },
  68722. { 0xfca4b775684bf04eL,0x12b2accc10aacf28L,0x60eb59796f5b70daL,
  68723. 0x0973753341ad9c9aL,0xcbfd801c2698b98dL,0x6915f2608eece898L,
  68724. 0x932c7de6e88b02bbL,0xb183858db0f499f9L,0x00000000000001daL } },
  68725. /* 31 << 224 */
  68726. { { 0x9a4db1714ada6df2L,0x113d6ca8a6503065L,0xfe1ce2a393f30e86L,
  68727. 0x0ec4df0f5b883187L,0x2ba9f9377b6de31bL,0x6319ca2907d3cc32L,
  68728. 0xadf2d42c0de3d0c8L,0x1cf47cbc8b60ebcbL,0x00000000000000f3L },
  68729. { 0x9737b3155a5c472bL,0x405097d38f44ac04L,0x11d7b5e098060980L,
  68730. 0x1031d3a49c649638L,0x851dd24036cc36a2L,0x72174467106c19e7L,
  68731. 0x0689ee3ef1ab03b9L,0xab05c26f83c47bfbL,0x000000000000002eL } },
  68732. /* 32 << 224 */
  68733. { { 0xa198d04b1b9ed16aL,0x2244536251340438L,0x77078e91251deca8L,
  68734. 0x1d7b7be1be67e98eL,0x106648be2cc726d4L,0x79dd8d7bf5877e13L,
  68735. 0x42bbd30e37993843L,0xe768f54dca7796c9L,0x0000000000000078L },
  68736. { 0x91c5e19d1acdf2fdL,0x0a2eff89e93c20d4L,0x6a84e609ce41ac1aL,
  68737. 0x186ab6e8df08373cL,0x44c2aef6f6f9abc1L,0x9c7070b0dd735102L,
  68738. 0x0e58b51807643871L,0xbc9f2e800b15d805L,0x00000000000001ecL } },
  68739. /* 33 << 224 */
  68740. { { 0x2cd086126ac3eebeL,0xe2163c355db014f3L,0xcc0834dc214e34deL,
  68741. 0x67d2cc1775ee3864L,0x804612d5c4b02021L,0xa11ef6c76c805b05L,
  68742. 0x898fc69d371dfecfL,0x8e977d1ba62b7df8L,0x00000000000000d9L },
  68743. { 0x037816ccb8e7e3c7L,0x2bc7a1eb52cd66b8L,0xf12d63ac37ef823eL,
  68744. 0x42f8b36b29442388L,0x5b1d0dd6caa4d841L,0x21e213cd81986c48L,
  68745. 0x492df17ff19ef6e3L,0x8a08cec5a5bac400L,0x0000000000000033L } },
  68746. /* 34 << 224 */
  68747. { { 0x49d545a21757c756L,0x8610764d3c78c7fdL,0x888363b0285ce4b1L,
  68748. 0x6afe14c4d52e0e81L,0x612a58397177ffe0L,0x05a4bea49679b41dL,
  68749. 0x121bb1c14c519b94L,0x844a95ddf521675cL,0x00000000000000d7L },
  68750. { 0xc6045c5c7288cf7bL,0x79319df2da1016c6L,0x67ef5845055e3ea0L,
  68751. 0x91e7ead7bee71541L,0x285c08d78843f3afL,0xa90f3a94c2089d1fL,
  68752. 0x3d0e6d1caa37b132L,0x2f18d93b62fb149bL,0x0000000000000013L } },
  68753. /* 35 << 224 */
  68754. { { 0x9287f41090921a21L,0x0cb3476c2f63ade5L,0x87eea82b66e3e879L,
  68755. 0xb3c50d698eaa88f3L,0xe5b64f705624741fL,0x6fcac6de5e6a215eL,
  68756. 0xe786b1dd66acd6caL,0x9e478411a5244800L,0x000000000000009cL },
  68757. { 0xf784aa4fa84c388dL,0x801593a26cdc8009L,0xadc07673ff1109a6L,
  68758. 0x708a579d42678ae7L,0x2d246455e0d1dc79L,0x42f5c10a232c0027L,
  68759. 0xd7adecb1785590d3L,0xeb58cecf139cf371L,0x0000000000000061L } },
  68760. /* 36 << 224 */
  68761. { { 0x5f0ef75a63dbd14fL,0x70883cf607b91b63L,0x2a1a32252f16a270L,
  68762. 0x4d2ea66709740ebdL,0x50d5f3687e12f70dL,0x94442fbf06eda6c6L,
  68763. 0xff1df80648f80934L,0xb5b52dadc7599220L,0x00000000000000e1L },
  68764. { 0x307f5ffafef02d74L,0x980fc52d49e703feL,0xa1006542c0eb1a94L,
  68765. 0x2748d7af25476aa3L,0xcf9eda78370f6f57L,0x56c8f00f6ec2b826L,
  68766. 0xc61b847a72375d88L,0xb0833b255e744eb8L,0x00000000000001c2L } },
  68767. /* 37 << 224 */
  68768. { { 0x78124c4f967e4b4eL,0x7ed9ab8d15a66ffdL,0x26af569efc3a3f52L,
  68769. 0x0286ff20425d38d8L,0xfec9b67f51e9e240L,0x6d8a01c657256933L,
  68770. 0xfc8f705ad2ca6b4fL,0xac3d7833da28a9d3L,0x000000000000008aL },
  68771. { 0xc4371b8ea0924274L,0xe543f30a55a72435L,0x03405ef6afa7c869L,
  68772. 0xa44ce2098226a4b6L,0xc0aac941a0f9fc88L,0x3fd69258a497b61bL,
  68773. 0xd431b511f80688b3L,0x664b77780a42eda0L,0x000000000000009dL } },
  68774. /* 38 << 224 */
  68775. { { 0xb9d84fc9d0cf69e7L,0x98f1940ea8e34a97L,0xe4bffa94dfc118ddL,
  68776. 0x1849a3edfc66b9fcL,0x623db3947287a7dcL,0xde0d7d087019e9ecL,
  68777. 0x2331aabf80aa347bL,0x44a365b11b999a3aL,0x000000000000010fL },
  68778. { 0x198f73ac92ae7427L,0xf62dc73002e04aecL,0x0506c93d3088101fL,
  68779. 0x945ac732184edd51L,0x57f825fdaf7c6201L,0xeda00ab31c31f295L,
  68780. 0xeda9d910f425b2e6L,0xa360259c7cdd8528L,0x0000000000000040L } },
  68781. /* 39 << 224 */
  68782. { { 0x7f0b99ba527dce55L,0x34b0ebfe5507d70eL,0x17cf8c47887de484L,
  68783. 0x24a47965c1e5db40L,0x7d00b4a73f930257L,0xb294ecc224daec20L,
  68784. 0xe8b20a6d4dcf26d0L,0x3214127cf13fd50cL,0x000000000000015eL },
  68785. { 0x8cc788b35eb3732fL,0xfd1ae000133d4b75L,0xf9bce1bc69223ceaL,
  68786. 0xdb5a3d114511bb55L,0x39a956cd174c7629L,0x8b986a5b97c29420L,
  68787. 0xa2a1eb4b38c80915L,0xa61c0e9f0cbb3c1eL,0x000000000000009dL } },
  68788. /* 40 << 224 */
  68789. { { 0x225c059ed015590aL,0xe49bada67483540fL,0x2318feb81b31b7a6L,
  68790. 0x2f21ceebe675c20eL,0x3120aaf01c4da767L,0x96ab6834faf8f96aL,
  68791. 0x3d4658ec30ea971bL,0xd1ea8938bf6a4e03L,0x00000000000001acL },
  68792. { 0xfd222beee78e187fL,0x56be63dab3c6322bL,0x8d1df732b9be02d7L,
  68793. 0xa3df259fc2738beaL,0xafba1c5a5132fe56L,0x3fa503e9e7b27139L,
  68794. 0xa27ca7549faf45eeL,0xbfd0a46e69c674caL,0x00000000000001fdL } },
  68795. /* 41 << 224 */
  68796. { { 0xe4addb8a7c626af5L,0x95410e92784c28c3L,0x46cf5d1e41cc58ecL,
  68797. 0x84ef22e1ed080326L,0xd2a89dd536622acdL,0xbbce8e6ab278d4ffL,
  68798. 0x7e82c968ef05bffcL,0x529507651613c4e7L,0x0000000000000191L },
  68799. { 0x66b1666ebbbb1311L,0x6e7c4d8967c415b7L,0x349f95b4f99b5985L,
  68800. 0x1570e3124410e7e1L,0xd580b98a20a06e99L,0x6d57fcf02719178cL,
  68801. 0x33adb81f803d3d62L,0x00289e3d44e383ffL,0x000000000000014cL } },
  68802. /* 42 << 224 */
  68803. { { 0x4c6047e27f3de4d2L,0x52a7f1291f69a829L,0xad9795a543bd0bc3L,
  68804. 0x5c71a352ab36a628L,0xb208e87f6fe6bd16L,0x8b2cd1443b7ddcaeL,
  68805. 0xec7432bb74041659L,0xfb284cccef17cb28L,0x0000000000000032L },
  68806. { 0x046dc83e96a2607fL,0x8134edca02e02d8dL,0xacdfc4551b88ca47L,
  68807. 0xd0074a612695bb9aL,0x11987bd8c3074bc3L,0x5438070061264550L,
  68808. 0x00b82a987a57f0b8L,0x66c456c5454b48d6L,0x0000000000000168L } },
  68809. /* 43 << 224 */
  68810. { { 0x900944e57151aea8L,0xdbad74a8f5bff8a2L,0x1eafcf55286f204bL,
  68811. 0x82458315f3dc6626L,0xd4007ce5a7714adcL,0xf73b313fb5ba570bL,
  68812. 0x044331b1151fb782L,0x45880fd4a6e31445L,0x0000000000000167L },
  68813. { 0x42f4af3c14b5e10eL,0x8b5d030c99a6683cL,0x79e437bc5e5633aeL,
  68814. 0x2d81f1998b1a40ccL,0xcddd50cbdacea56aL,0x8211a78b39d40f43L,
  68815. 0x5191c58618becac1L,0x749d45b75e116bf3L,0x000000000000006aL } },
  68816. /* 44 << 224 */
  68817. { { 0x6b40cb65a890ca97L,0xd7c6159338fc3078L,0xc78089f208c33a15L,
  68818. 0x43e1b721021432bcL,0xc865bd2ccbef3f81L,0xbbcbee060108433eL,
  68819. 0x336daf037cbe3b8eL,0xa10111577168018cL,0x000000000000007dL },
  68820. { 0x267f0241c0b153a9L,0xfc22a8b8984c2ad8L,0x6906a223572e597aL,
  68821. 0xd964050675f9a034L,0xc9187173533e0c25L,0xd8b9f9f87c94582dL,
  68822. 0x66fbb9c58980b28bL,0xf8446492c9daecc8L,0x0000000000000098L } },
  68823. /* 45 << 224 */
  68824. { { 0x2d9ea0622878a241L,0x46de4cda5368642aL,0x4fa9ad358a5243abL,
  68825. 0x5ca45b8ff67260e4L,0x50a702ff0b4f3d28L,0x0f7f2095dd1fce0eL,
  68826. 0xe417061dba620770L,0x86cae35273b13911L,0x000000000000002dL },
  68827. { 0x8ab3ae4b76e1fc5aL,0x06f704572033cefaL,0xa5bff96c08db98caL,
  68828. 0xff04cbaf958d6e43L,0x43eefc8fe3c74fa8L,0x76185b498db92137L,
  68829. 0x920ee668bd3c9f38L,0xe1f4f3f2758c856bL,0x00000000000001f8L } },
  68830. /* 46 << 224 */
  68831. { { 0x0f97a466381dc2a6L,0x3113353553f904e9L,0x69dfb20035d8fd47L,
  68832. 0x6cfcbaffbdee4042L,0x54a55759ff2c161aL,0xadb79909f50226fcL,
  68833. 0xf13ec08be24595a7L,0x39d14bf39ab2b842L,0x0000000000000127L },
  68834. { 0x87045804e123ba29L,0x795dc65abe8c6f6fL,0xbc7dda3badade7d8L,
  68835. 0x9f5dae17f9cb4dcdL,0xf1289fa8b261a79cL,0x9e5958fc2330157cL,
  68836. 0x20d13331d798dd7cL,0xadd88400a218259dL,0x0000000000000065L } },
  68837. /* 47 << 224 */
  68838. { { 0xd7059bcbd7a1a42cL,0xcb29b62ddd63d4acL,0x2ddfe66885e05419L,
  68839. 0x78011be6b23f63caL,0x40eb7f025dfc1c3aL,0xea4802d856a4fd4cL,
  68840. 0xb4ec884c80924d5cL,0xd095d9a909fbfe59L,0x0000000000000115L },
  68841. { 0x4b5bb25c529993bdL,0x2be02abeb9b7521cL,0x8c0176b7641b7babL,
  68842. 0xf479474a9c6a564aL,0x6dfc0b64f26968abL,0xab5dfefcd5ea697dL,
  68843. 0x6f077f0cc6b8cfc0L,0x67e7275df6bfcd48L,0x00000000000001acL } },
  68844. /* 48 << 224 */
  68845. { { 0xe83dfbfb6987a9bcL,0x311372dfe03b29b7L,0x1b88ad50f4176bdcL,
  68846. 0x5771946f37733cf5L,0x4a020165d5c0cd18L,0xb8e35a40c7603086L,
  68847. 0x3d06b8d0db55f57eL,0x9cdb00cab17b440aL,0x00000000000000fbL },
  68848. { 0x840ec34134bd8619L,0x40b0c10700ab86c3L,0xf478205885c69c9fL,
  68849. 0x22e8d92e10d63734L,0x5b8e637420a53cdfL,0xe80c3d14fec8a052L,
  68850. 0xb9c0834eede62895L,0xb2ae0eb3de2ef959L,0x00000000000001aaL } },
  68851. /* 49 << 224 */
  68852. { { 0x61c9a15ff1779177L,0xf9aa8a6cc76f1327L,0x913619829bedde20L,
  68853. 0x2649f43e26525601L,0x411daf56f5d6018bL,0xaa5c02480e72e330L,
  68854. 0x5d4c0d86d07c778dL,0xf6219f689575ab53L,0x00000000000000d2L },
  68855. { 0x3b3e3119f9e2f91bL,0x842508feb3dd20abL,0x1715d9be576222d8L,
  68856. 0x47805f30e4ac2305L,0x7d5a8bff610df90aL,0x82289362f166a8b8L,
  68857. 0xb10cd13ca0b00aafL,0xce3012dc2bd95a52L,0x000000000000008eL } },
  68858. /* 50 << 224 */
  68859. { { 0x7f3557744356b52cL,0xe4df74da343a8082L,0x0ad02ea630fd3ccdL,
  68860. 0x41c092de81ee408eL,0x5b7314cc0b7af2cfL,0x4f14ea6e18876155L,
  68861. 0xee09e162c5bc9211L,0x33b0203b754d1a04L,0x0000000000000119L },
  68862. { 0xbba2396d5a659158L,0xc8bd42a381dc2121L,0x96ca706eebae2b49L,
  68863. 0xa47f6a3b27997ddaL,0xea8114cfcecdd7f9L,0xd2c8ebeae936e2e5L,
  68864. 0xd7472cb9fb68d089L,0xa23bd4403d346567L,0x0000000000000024L } },
  68865. /* 51 << 224 */
  68866. { { 0x1cb466c1b9c5c233L,0x644e56e7ca17089fL,0x87689df22f23ec6bL,
  68867. 0x7fb193160983cadeL,0x3f174e023542b10fL,0x896aa0aa52204547L,
  68868. 0x0fac42698f3a3319L,0x16bfb9186ea6d467L,0x00000000000000b8L },
  68869. { 0x9f2675ddc7905198L,0x2377a69ba0bc6a9aL,0x789bb3609de78affL,
  68870. 0x3c9e13121dc56711L,0x7e45f51897a01744L,0x57d6f870229ee331L,
  68871. 0xf4e661027c84830dL,0xa8a3ff8f92a41beeL,0x00000000000001e7L } },
  68872. /* 52 << 224 */
  68873. { { 0x47a968bae826a120L,0xc0fb676354042559L,0x97dbf43c0b0b45edL,
  68874. 0xd11788e1d819d0baL,0x6209a0c57eda726bL,0x65a8225cbb83ca8bL,
  68875. 0x1cabddf0a6e5d980L,0x19cc1e75572ce15bL,0x00000000000001f0L },
  68876. { 0x292a9cf080e60532L,0x93ad928f418cbfdcL,0xeefb9eff36c16b79L,
  68877. 0x2b2bb7cb6df5235dL,0x06920ab01a3f0e35L,0xafe3ce52c22c596cL,
  68878. 0x7e04284c52a95640L,0x2a270b1a7b4789a1L,0x0000000000000121L } },
  68879. /* 53 << 224 */
  68880. { { 0xc6b314c1f4239b73L,0x4e54432f8debd8afL,0x1e45f0025aec3601L,
  68881. 0x4b7090c312f51571L,0xdce4e7a4c9c1cea5L,0xe75161b104928b9bL,
  68882. 0xa454b9d35dd8b9f9L,0x50ebb50835b06602L,0x000000000000011dL },
  68883. { 0x07a84718985c8551L,0x2563d00d0e100ba7L,0x3f69f4101b90b25bL,
  68884. 0x6cf41c9be0ed8b78L,0xb71319ed7d01acacL,0x978d8b39525d0edaL,
  68885. 0x064db8e6734ed194L,0x9ea11ecb8d6d9654L,0x00000000000000cbL } },
  68886. /* 54 << 224 */
  68887. { { 0x2b8b31c4eed9cdf5L,0xe7e616bfcb262a4cL,0x41dae45e4b7d7dd3L,
  68888. 0x982a2408caa8c982L,0xffcbce7a3f2a9e6fL,0x50121acccc21ea38L,
  68889. 0x4c2cf642e32f6ca0L,0x22f3a5335b36d5a2L,0x00000000000001c9L },
  68890. { 0x1f2ad6eee92b1fe6L,0x6a3bf10db5ef5acbL,0xae6f23edd3503528L,
  68891. 0xc2baee0f5ded8513L,0x1f29e1b304c9a105L,0xadd1d742e6b6e61fL,
  68892. 0x72dd27a22e532676L,0x9a53e3a5ac0aaa7aL,0x00000000000000a9L } },
  68893. /* 55 << 224 */
  68894. { { 0xe0c8af94cdd6ae96L,0x7a4ea983e2977012L,0x9e749b02365a4de3L,
  68895. 0x2ad28ef487969ffaL,0x93dfae73b6015cd4L,0x6a0350fcd291c2bcL,
  68896. 0x8899eb4142cbcfd4L,0xbf324b61613604beL,0x0000000000000112L },
  68897. { 0x2a22b916e110f342L,0xe9b1f40520b9a301L,0x7429d456c530c11bL,
  68898. 0xc8c6bb369c275befL,0x65e9dba104319247L,0xd3433e680d8f08b4L,
  68899. 0xe6d50c0a297ee342L,0xa35cd9c083615fc4L,0x000000000000016cL } },
  68900. /* 56 << 224 */
  68901. { { 0x8439b14cbaa20680L,0x5f16560db2c77c25L,0xe3c19ca9554f95cfL,
  68902. 0x9e494f8ec3e722e3L,0x3d4b917f1908e637L,0xbc08600dfe6f4915L,
  68903. 0xd730de4026e8d819L,0x28025a154c864edaL,0x0000000000000106L },
  68904. { 0x0fe4b4805cf7d60eL,0x1d9c195fd22286e8L,0x7c30b704daca5bfaL,
  68905. 0xbfddf0e2b1185d19L,0x1ddf3bfebfa68c75L,0x95d6947fa94774a2L,
  68906. 0x491b041fc28aaaf6L,0xdd984208014c07d3L,0x00000000000001eeL } },
  68907. /* 57 << 224 */
  68908. { { 0xc006f8261c14b152L,0x607b76d8548caad4L,0xc533d8f6644b2fedL,
  68909. 0xb5949a09a9cbaf32L,0x980f4e5ee9b82934L,0xb69c4940e0bc902cL,
  68910. 0xc483bd7010ceb0afL,0x85a7296f0da99f98L,0x000000000000015dL },
  68911. { 0xae2476dd7693b27cL,0x4fa6dd3599041a13L,0xb3ce6a53c4e4e838L,
  68912. 0x4eaf476a9801412bL,0x615d927d421334a8L,0x663ccce26297dbf3L,
  68913. 0xe2e7668e3d03a5e1L,0x4d15aa4099993736L,0x0000000000000188L } },
  68914. /* 58 << 224 */
  68915. { { 0xb7639306e80de633L,0x8206add9ee5e527bL,0x2f5e86f4baa789b6L,
  68916. 0xbc772de757d25d54L,0x3ce87740b4b2b380L,0xf61acf7ebc08ab4aL,
  68917. 0x1b81b706e4c17950L,0x70e16670f97a672bL,0x0000000000000084L },
  68918. { 0xb3c11d39ee5d0d74L,0x57470243c23309bfL,0xc04f806ad970c46cL,
  68919. 0x0a91f05641f15577L,0x0888829070ab35d2L,0xb413e83fe301207eL,
  68920. 0x0b17e3648bba92e8L,0xb1b97d4ed7b430e6L,0x000000000000017cL } },
  68921. /* 59 << 224 */
  68922. { { 0x89447b27bd4b54d0L,0x19cf8afd7f8112f3L,0xf8b4a959bf831e34L,
  68923. 0x6dd1726a6b244017L,0x5783a070413e1aedL,0x27438461d5a29d55L,
  68924. 0x29a921f789e2fbdeL,0x1abdad7e001a5932L,0x0000000000000106L },
  68925. { 0x9c35f7e9947b1ac9L,0xfe5f4c5b086b5e09L,0x12da650c105c5c10L,
  68926. 0xd6e60f998dbaa678L,0xd3f99655ca972737L,0xeed2c3bd48d3ad22L,
  68927. 0xfa0d06cf42a51f2eL,0xafe258e8c9d10b1eL,0x000000000000007eL } },
  68928. /* 60 << 224 */
  68929. { { 0x920ef3b8f225d101L,0x14533fb672346f7dL,0x8f391dc232eaa7edL,
  68930. 0xca99c1fc9cf81d89L,0xbd298ba671bd3ed7L,0x2ee73abe68942dd3L,
  68931. 0x2cb7b2009bca1375L,0xad67f957123137f3L,0x00000000000001b8L },
  68932. { 0x838fad634c6ecb7dL,0xb79af8cbb96744e2L,0x7c4190fcd3bee960L,
  68933. 0xdb298cdf1740bbdbL,0x801cfc4a655bc379L,0x35869a8d80ce1b99L,
  68934. 0x437c60f11004665fL,0xb904ae8df965f967L,0x0000000000000176L } },
  68935. /* 61 << 224 */
  68936. { { 0x9b6cb18391a51175L,0xdd88aec4fb80c7eaL,0x29cb000bb640c84bL,
  68937. 0xb391ad58d58c3da3L,0x2671ce7f83dea34bL,0x3daf6c2d490ede19L,
  68938. 0x39e152910ec82d99L,0x8c5df3d73928795fL,0x0000000000000124L },
  68939. { 0x00f19b087e411379L,0xd74a2e9ee6aca0bdL,0xac5723e381207f79L,
  68940. 0xe888e1b58224168cL,0x9f54500800c0b0efL,0x14e8160dad9e4155L,
  68941. 0x8f04a2a28203bc81L,0xef916792d7fb7e1aL,0x000000000000014aL } },
  68942. /* 62 << 224 */
  68943. { { 0x5057d40664da7708L,0xcff34770c7f0fb54L,0x71779c1c72de7d6eL,
  68944. 0xe3245536baafe87eL,0x3547d3cc27ee8200L,0x6fd335b373ca8819L,
  68945. 0xfe68353f13487c33L,0x3465439099cdd431L,0x00000000000001d5L },
  68946. { 0xb1b27dd4e9031706L,0xce565fc49d72eed0L,0xb48715abb1962bc7L,
  68947. 0x849d8b56bae93f30L,0xa3548c4ddb34ac91L,0xffa60fb4985a3543L,
  68948. 0xe43b129448a4c7bcL,0xeca115250e74194dL,0x0000000000000021L } },
  68949. /* 63 << 224 */
  68950. { { 0xf1bac1afb0f94217L,0x93744bd640f2ef25L,0xd920ea38f832f1feL,
  68951. 0x95ddcf8c13a22b90L,0xaf759f72e0087be3L,0xdd03642be6baf27aL,
  68952. 0x012d7445cd0dec66L,0xef35032ab1bfa5cbL,0x00000000000000bbL },
  68953. { 0x980f0d5290448667L,0xf4cca39fef1eead8L,0xe11005d6d02b1b57L,
  68954. 0xff6253f2cc5182aaL,0x75f3838e96a49c6bL,0x49b5a038a5348a1aL,
  68955. 0xe2ae0b06dcd79d60L,0x976e296a0a8fa296L,0x0000000000000196L } },
  68956. /* 64 << 224 */
  68957. { { 0x4b67fb4118d0a514L,0x0a9fdb8e32ae28f3L,0x786b00f8c238ebb0L,
  68958. 0xf73d53d11cbb7ea0L,0xe3928456988a4366L,0xa108e52a1d62fcebL,
  68959. 0xb923f2471d9484f2L,0x9c8dfc0caf781f08L,0x000000000000012dL },
  68960. { 0x6485c32f15c72d41L,0xf7ef7e581a01f229L,0x2dca15d289c87f68L,
  68961. 0x91a22920d86c6968L,0x6015a068fe0747cfL,0x429c4d4dd744a2cbL,
  68962. 0xd707e9ea43d3b8a7L,0xa03aa304040ed223L,0x0000000000000107L } },
  68963. /* 0 << 231 */
  68964. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  68965. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  68966. /* 1 << 231 */
  68967. { { 0xa9338e3d41b1cb9eL,0xe9173c96c409be61L,0x2b8ea989ba7ea91eL,
  68968. 0x5ad99388870edd75L,0x9d3c5a11c2112dafL,0x5a7c3d52851694a8L,
  68969. 0x8ecc1d6dfce31234L,0x2aca74ef790d720bL,0x000000000000002cL },
  68970. { 0x66dc50ee20df1f66L,0xe8785c5b3b05ea85L,0x0e28d55e569d94c6L,
  68971. 0xacd3c1651a119f91L,0x51910b8e7226e29dL,0x849b5229dc3eadb4L,
  68972. 0xc8c44e85a88f3b08L,0x990504945e42bc66L,0x000000000000019bL } },
  68973. /* 2 << 231 */
  68974. { { 0x27068f87578b7a3fL,0x506446f1423a5346L,0xe9d9c75b58dac5e4L,
  68975. 0x8ebc86e561b8f695L,0x272ac14e611c51e3L,0x67863a1d4e24fb32L,
  68976. 0x270d4fdc02e5b539L,0x96d7b7a9a4186d8dL,0x00000000000000f4L },
  68977. { 0x1a60ef0526627252L,0x31682a839bdc0f5fL,0x52a055ada112be82L,
  68978. 0x9c3a88484ecf7367L,0x5235087249e70680L,0x61b6b478b881b9cfL,
  68979. 0xbec16c5a887d3c1eL,0x8a8b2b82d598a671L,0x00000000000000efL } },
  68980. /* 3 << 231 */
  68981. { { 0xc493e06c7cfbc9e3L,0x7238a446e82d3bdbL,0xf388c069940bcf25L,
  68982. 0xb82837d2da27a485L,0x693111380941d771L,0x93a43f0de8bede22L,
  68983. 0xb3578669b3bafb47L,0x44d6e546bc7d5cc6L,0x000000000000010bL },
  68984. { 0x9f703d04c2f5a320L,0x6cf923ae1a4d8cbeL,0xe24663d06bec90d0L,
  68985. 0x94870abbb4276e9aL,0xd690b52fecc55c0dL,0xbed5a84236316797L,
  68986. 0x8edde42f1e63e3fcL,0x2f6f5311b2a7c97fL,0x00000000000001b6L } },
  68987. /* 4 << 231 */
  68988. { { 0x3dac1eb44cb7b72bL,0xb027bce2e0c7deeeL,0x69032db2e994001bL,
  68989. 0xde2c253a4d22b49aL,0x957977f9bf66a47bL,0xc118eae521ad303dL,
  68990. 0x40c78cb818ba4889L,0x09901c2ce69238cbL,0x0000000000000162L },
  68991. { 0x8099814b08bc1ceaL,0x3e74578a38139921L,0x899412a6d9d15fe2L,
  68992. 0x973a21ac29446072L,0xe6c4ce99ee7401cbL,0x03a86c736a4c5223L,
  68993. 0x6976124e6f3e93cdL,0x074326df34dd40ecL,0x0000000000000065L } },
  68994. /* 5 << 231 */
  68995. { { 0x02f0014275880224L,0x6ee059da7021973cL,0x931f296db3dfe309L,
  68996. 0x9ed8b1e9485c0d9bL,0x6f3fc0cb1e018747L,0x9add7a9b697a142fL,
  68997. 0xe2ddd8f3e94cc581L,0x666a9b29b6d8d36cL,0x000000000000015bL },
  68998. { 0x1eed14bb24add8dfL,0xfcf71bd2216b86a8L,0x0f87aa7920faa29cL,
  68999. 0x7aba4fdd9fce47e7L,0x48902baf0a014042L,0x93e911622f4b7154L,
  69000. 0xa39079f6e5f3dae0L,0x6114f249e871766cL,0x0000000000000071L } },
  69001. /* 6 << 231 */
  69002. { { 0x943dbc45cedc41c5L,0xa3889cfc075fbcddL,0xab0a889dbee1ac11L,
  69003. 0x9a5319b1d8721711L,0xc4228d8987ecea8eL,0x55cfce64e8221d39L,
  69004. 0xd3e9699d39e3e962L,0x8ed1dd020549f4cfL,0x00000000000000baL },
  69005. { 0x1729967dfb5fec20L,0x16246ab37a6208f5L,0x10904e4b5f5af897L,
  69006. 0x68c575bb273b4049L,0x973f128b97335687L,0xb696381ed6cb8cd4L,
  69007. 0x3ef2ec73d2fba17bL,0xe4c62fde5233aeb4L,0x00000000000000bbL } },
  69008. /* 7 << 231 */
  69009. { { 0x2f171a11b947f8c2L,0x56959046cff17f3fL,0x824fb57f66097883L,
  69010. 0xdd07bd642c2c8782L,0x5b17dd22867ee913L,0x9adb1675796b2aedL,
  69011. 0x9cd315516326bf4eL,0x5839ce47d98c3c62L,0x000000000000001eL },
  69012. { 0x03323a3fb463977aL,0x95dccccf667a3e88L,0xe3a04d01dea1a6bbL,
  69013. 0x427caf8c2c159eb1L,0xbb2dd277ca73e601L,0x833e194b414b5d11L,
  69014. 0x6594999ed51e212eL,0x5423b8373e583089L,0x000000000000017cL } },
  69015. /* 8 << 231 */
  69016. { { 0xb685f627dd308ae0L,0x78d327cb5a08f7caL,0x83e55dd1ee74108bL,
  69017. 0x906408358d01ffdcL,0x6d7694e81625f9a7L,0x48b92a43d782c8bcL,
  69018. 0x61f7b571bf98ee6bL,0x02b2a743e511df25L,0x000000000000003bL },
  69019. { 0x020b09053aea9b6bL,0xc648d06d989114d9L,0xd7861a73ec1e3d92L,
  69020. 0x2c0eb0720a0581e5L,0x5be8c4da3fdd93bdL,0xd45049f2897946c7L,
  69021. 0x0fa12b386ebb7fbdL,0x7b5391783aca1751L,0x0000000000000001L } },
  69022. /* 9 << 231 */
  69023. { { 0xc8f1de47497aeb0eL,0xa1535a60dfd637d3L,0xda8089a50d3b3e38L,
  69024. 0x9981de1279280d2bL,0xd0259e6c483a9659L,0xb16ad60f1cadaecaL,
  69025. 0x150e8c7e335fcb39L,0xba8a6b8c3224d554L,0x0000000000000028L },
  69026. { 0xcdf6bc521dfd36bfL,0xd89e8950109ff325L,0x2bfbb3aa949c6cf7L,
  69027. 0x5d155ffeb638dd02L,0x9f778149256af551L,0x6ad7a0913e7b2743L,
  69028. 0x4045ec8341939950L,0x6d36b14a36c29ce4L,0x0000000000000009L } },
  69029. /* 10 << 231 */
  69030. { { 0xf61f56901631f481L,0x31cd4a4460057252L,0x11c6764a7f3683edL,
  69031. 0x813e617d855abd6dL,0x07dd6c6674bffc99L,0x4eff77903d28a486L,
  69032. 0xda809b5a1236cc16L,0xf3a0a984e1b1fa07L,0x0000000000000015L },
  69033. { 0xc1557c02fdbaa820L,0x22f1b155490ace41L,0xaadde80bbb30fe96L,
  69034. 0x3ecb3b1e8005fcbcL,0xbfef06d968a1db30L,0xa8e0a6a1a6b85ed3L,
  69035. 0xa602e5b52b82ae83L,0x567eabd6fa699305L,0x0000000000000177L } },
  69036. /* 11 << 231 */
  69037. { { 0x714021c9367bc63eL,0xdfe85b6765d131c1L,0xaba75de76eeda148L,
  69038. 0x53a1d3775e567a81L,0x2990d626909efc1aL,0x178755cfa636420cL,
  69039. 0x9b168b964750968fL,0xdb2cc57e5af133a1L,0x000000000000008bL },
  69040. { 0x58ce08b0e2ffaab5L,0xfd0ff4ad1865bb21L,0x838c66c9bb65b3fbL,
  69041. 0x4a4b95229893cf54L,0xf50f0afb0467f480L,0x1380b003555da012L,
  69042. 0xb2a7dda45126e11dL,0xc88ac327dd17c592L,0x000000000000018fL } },
  69043. /* 12 << 231 */
  69044. { { 0x9d86d84feae13cfbL,0x6d235a5f994991dfL,0x0b5b3e99352cbf4aL,
  69045. 0x9512101aa087ee0eL,0x2ab9fec1900fd50dL,0x48129fe5c8fd91f5L,
  69046. 0x69ed1f4d08c5117bL,0x533e83c6e7007bafL,0x00000000000001e1L },
  69047. { 0x10a0c08d2f0fac2dL,0x35a77d2af3e1daa4L,0x447a8e905f5e78a5L,
  69048. 0x0f5835b0d3acde30L,0x5486f6b961b9aad8L,0x9be0a9b8ecbfd6b2L,
  69049. 0x95a5bd0409452928L,0x4fc3182dea830996L,0x0000000000000125L } },
  69050. /* 13 << 231 */
  69051. { { 0x91c85cd2fc7a969bL,0xb16347ac0b3e36b1L,0x66a36f694a3e8b27L,
  69052. 0xb8ef5e3f91cb5d5eL,0x0aace6f26be296f5L,0x4e6d9d9d548235c6L,
  69053. 0x9f24f5c8a7a35b0bL,0x3260930390a55e8cL,0x0000000000000048L },
  69054. { 0x57924d7afc9c2b83L,0xfc60aa68e403b1e3L,0xdb73a35932ffed37L,
  69055. 0x68d0af3455642effL,0xef0d8368290a4929L,0x7be7c6143930fca3L,
  69056. 0x22ac1195c9f52bc6L,0x074fde05df055539L,0x0000000000000191L } },
  69057. /* 14 << 231 */
  69058. { { 0x9e71f0bb8bff6d2cL,0xf35c6c1367b26058L,0xb8791d9e9fb2cd17L,
  69059. 0x834f77fb655344b7L,0xf672749488c6106bL,0x1d51d49a83bf0b92L,
  69060. 0x2888ca81b2598cc2L,0x454c00258377dcf4L,0x000000000000000fL },
  69061. { 0x622ab6ebe9046dc1L,0x3594e53e40d5f30eL,0xaf4fd362632372beL,
  69062. 0x08601954aa276034L,0xa2369d15a10a69efL,0x9c9ffcf525bf301bL,
  69063. 0x7cd516d5dbaf10e3L,0xc24aacc1f35e5f7cL,0x00000000000001f9L } },
  69064. /* 15 << 231 */
  69065. { { 0x518f40a0ba132499L,0x3773088dea2f1aa0L,0x232cfab18b326435L,
  69066. 0xa399e58d73900055L,0x0b416d331a80306bL,0xa34d9a80d9f9b09fL,
  69067. 0x8f9f4355cb95746eL,0x73a7c35d1ce94cecL,0x00000000000000a6L },
  69068. { 0xf619fafd8b3a57a5L,0x80e70710632fe43fL,0x287b444e581e2becL,
  69069. 0x916afe78030be2a7L,0x6ebe236508f41e02L,0xfd7b7641b70e8c84L,
  69070. 0x1a131e7bdda3edbaL,0xb8e1748a0677e206L,0x0000000000000110L } },
  69071. /* 16 << 231 */
  69072. { { 0xb5b80c0e82a8845fL,0x6fdd0a0f42fa43cbL,0xebfa4307803cf184L,
  69073. 0x1dd85b5b4935a211L,0x2438607c6beecb33L,0xfbbb723e40ea88b4L,
  69074. 0xaf5258a6e84db1ebL,0x2c2b8cd9b7ad5e3bL,0x000000000000013eL },
  69075. { 0x313ce4450a092935L,0x9fc84cec8d0efda6L,0x004929dc197593c0L,
  69076. 0xebd50bb3fbef27f1L,0x9e71f61938c08b52L,0x590ef00571196231L,
  69077. 0xae3c0d2eafc73d42L,0x768bd9624da4a91cL,0x000000000000010cL } },
  69078. /* 17 << 231 */
  69079. { { 0x47c8d3c8ab1c60b6L,0xaf198413d12a659bL,0x73fcfe24bd4d19d2L,
  69080. 0x59c7728758032192L,0x48b1aa1f88887224L,0x01e399cd38e96fbeL,
  69081. 0xf1a74ef9ab366e8eL,0x5087c7eb4f2103f1L,0x00000000000000e4L },
  69082. { 0x8861cfef7dda9880L,0x92b60a92d734c648L,0xefd3e299ed7977feL,
  69083. 0x658f37a6e874dc55L,0x4b3fb1954e7aa888L,0x1c6111122ff97d89L,
  69084. 0x25ad74f9f8345cd3L,0x676666b8ef50e0ffL,0x0000000000000157L } },
  69085. /* 18 << 231 */
  69086. { { 0x716cad1e90c8a719L,0x631d6acf882637e0L,0x42fd6468b140d288L,
  69087. 0xe8dfb49488b10f5eL,0x5fd3394471d6849dL,0x51459c14c0026192L,
  69088. 0x4c72b94fd25c7d5bL,0x157cf7e3c3a7ed7bL,0x0000000000000123L },
  69089. { 0x046419ab6bd8dbe9L,0x4be7f1c837eee4d3L,0x27f5a81aac98ab3aL,
  69090. 0x830a7200bf7071f0L,0xa4dba25c4ebd5b40L,0xa8af3addf94bab5dL,
  69091. 0xc5156c404fd3e972L,0x1fe23347c1a472c5L,0x0000000000000096L } },
  69092. /* 19 << 231 */
  69093. { { 0x314e6990933c502eL,0x3eb198b24230fb72L,0xed31a6ac78b0ebd9L,
  69094. 0x98ac708cb7cffa58L,0x41e4880762ee91bbL,0xdb80a5fd6ff7ad3fL,
  69095. 0x647ab9160c32c160L,0x258ca51ad736fefaL,0x00000000000001c1L },
  69096. { 0x65c312791e5576c9L,0x8393256a7c73070aL,0xdbcbab2ebfd3ad2cL,
  69097. 0xb4ef593498b6146dL,0xf3e6d641f150b4ceL,0xb4ca1b92aa5589d8L,
  69098. 0xc19f635f440c31ffL,0xf3d5705f5bb1fe31L,0x000000000000012aL } },
  69099. /* 20 << 231 */
  69100. { { 0x96618bec30be228cL,0xdc83ae086b84d4f4L,0x260b2652348c399dL,
  69101. 0x7c10ac42e6ac3a94L,0xe3d44aeb367c5edeL,0xe0c1989639ce735eL,
  69102. 0xa2bccd0b708b357dL,0x30d6969b489d30b3L,0x0000000000000039L },
  69103. { 0x3e9d894367d235dbL,0xe6ab2b4427ea16dcL,0xd5b60a504c54afbeL,
  69104. 0x48f39402c0c645f2L,0x44fb14e9a03ed92aL,0x8a66c28c8ecf7a8fL,
  69105. 0xf5ba4cb58d9f6e44L,0x8dd59588edf7d7d3L,0x00000000000000c8L } },
  69106. /* 21 << 231 */
  69107. { { 0xa9f649382296ca7dL,0xd80c7ae06b898494L,0xe041220c5a93cd3aL,
  69108. 0x5d42e026f46c53dcL,0x9574fdec710ec9c7L,0x2f2e24b48dbdece9L,
  69109. 0x87afdef250244f09L,0x325f4866235858d8L,0x0000000000000003L },
  69110. { 0x13e624ede637e34cL,0xa841d34a17e610a5L,0xf899a907bf2faa12L,
  69111. 0x3d28b531ebb38d02L,0x73d1eae320ec138dL,0x6799644ed687d71fL,
  69112. 0x51b93047fff6691cL,0xeccdd0242e44e87aL,0x00000000000000f8L } },
  69113. /* 22 << 231 */
  69114. { { 0x0d8a75e7972b1d30L,0x9556f1ee4f05a10bL,0xb0a90e0afe233210L,
  69115. 0x5899ed3fe8c3ab51L,0xb3f56019411d224fL,0x2fc2ad6f9a30b1b3L,
  69116. 0x66b1a36860c33436L,0xcb5310cde3490548L,0x000000000000011eL },
  69117. { 0x520fb4e711647babL,0x2c5403554e4c5f55L,0x3b4f3cbd58a8e072L,
  69118. 0xaac1cf335d4dbcaaL,0xb5ff4b0426ac1c58L,0x456d3fb2cf35e684L,
  69119. 0x6c05aac04b1eebaaL,0x3eb4e1447d0debb1L,0x00000000000001fbL } },
  69120. /* 23 << 231 */
  69121. { { 0x9f9f128f83dccaefL,0x285a6d9d3e4d202cL,0x1dce04e0fe2f32abL,
  69122. 0xb63ad64b5c47d746L,0xc620a818ca9e5cbaL,0x5599183b102c367cL,
  69123. 0xfc28310f1bb11cf3L,0xa518ef8ae7fe07a0L,0x0000000000000125L },
  69124. { 0x05d6e328aaca5233L,0x3485f1f7c0d36868L,0x2418102af2b53b08L,
  69125. 0x2d7820ab3d138665L,0xcfd8d841fa9a106eL,0x70abdc68a83768a0L,
  69126. 0x666ec137bd673c42L,0x0f55e404e77d49adL,0x000000000000002eL } },
  69127. /* 24 << 231 */
  69128. { { 0xbb5261dba4cc0ff1L,0xf63383eb52d5233bL,0x8ab1587033aa18a6L,
  69129. 0x1779ee6ed6b62ce9L,0x80ef23be8ef0f8e7L,0x9ec1cfb401c71a76L,
  69130. 0xb18a364ac7c793f1L,0xffc4c25b753ab994L,0x000000000000015bL },
  69131. { 0x80645523d4ca91f1L,0x7e8594c5f895f3afL,0x5e0d810510b5a95dL,
  69132. 0x9a087f09fb4356b9L,0x7784383794c16770L,0x5f6c04ef5837e54aL,
  69133. 0xa0803997f3166db1L,0x797335e56b68a586L,0x0000000000000075L } },
  69134. /* 25 << 231 */
  69135. { { 0x8821f20b25ea7faaL,0xea6cdaf038359721L,0xef36817a60f5c37bL,
  69136. 0x79058c6589c3b6f8L,0x5f3e57a4f0e9c92aL,0xea23b73ca0eeddf1L,
  69137. 0x3ce00ce36e7ca79eL,0xd7301945b21fe070L,0x0000000000000199L },
  69138. { 0x37f5e88ca60f2418L,0x4eab2df52a6caeecL,0x5a02d837c64cc4b6L,
  69139. 0x6316cbb4f8a52989L,0x54985f0512b8c43aL,0xaa0b8a9313cc4fa3L,
  69140. 0x19b9999e164acd3cL,0x3e99a0388122f26dL,0x000000000000002dL } },
  69141. /* 26 << 231 */
  69142. { { 0x86bb6a2fcf51acf8L,0x8cfb578447a49e34L,0xa931fc6be3b6d1faL,
  69143. 0xd960cde64a9d14a8L,0xe4c4116245b21189L,0xe4aeb21abbbeb75eL,
  69144. 0xe45db020d9be6508L,0xa001afb4789ad9e8L,0x000000000000002bL },
  69145. { 0x5f754551c271c0d6L,0x4926b87f0543b435L,0x3157188ab3123bbeL,
  69146. 0x2a77d4547b3addfcL,0xb1c6000b0ee40ae4L,0x6de2cc2872f6a072L,
  69147. 0x64fd97f7f1dd26b5L,0xd43467c38f229a39L,0x0000000000000041L } },
  69148. /* 27 << 231 */
  69149. { { 0xd00fdf12e6fa0314L,0xd447ca319be251fcL,0x27bc3f9abfd2b9e3L,
  69150. 0xda101c4d5b716609L,0x109ee4ee24e9876aL,0xf8887370d3fb25a8L,
  69151. 0x0491476e95f97cceL,0x6b7b4ebf8296d338L,0x00000000000001a2L },
  69152. { 0x52f3da4126bc2048L,0x0be18a87f37ed665L,0x83c03d105741e841L,
  69153. 0x9477ee3354bbb810L,0x0ae3b6318e10be02L,0x13581e1a7ec3bc35L,
  69154. 0x04ed1310294c0925L,0x8b6b71746718a4e9L,0x00000000000001baL } },
  69155. /* 28 << 231 */
  69156. { { 0x5717fd84a98f0156L,0x968337919a823677L,0xebe83d77a05e6d66L,
  69157. 0x39e669f95c1d28c5L,0x0f577b1f0bf89425L,0xb3c2f12c9dfb7d73L,
  69158. 0xe9ffe3e1987f449fL,0x14f8a1d9a57e7e4aL,0x000000000000017dL },
  69159. { 0x4e980189dfe5b34cL,0xa5561e4e202cd41bL,0xf6df35fbfb0d13d1L,
  69160. 0x7f002e1707e1500cL,0x9324d1d0ca1bf4b4L,0xd3112b6a3e7adfa3L,
  69161. 0x65b4c876e04902b5L,0x4ebbc331bb04398fL,0x00000000000000e4L } },
  69162. /* 29 << 231 */
  69163. { { 0x6863329b21c34854L,0x3ecb8aa8e4cc2e73L,0xf0e9fa087d257dbdL,
  69164. 0x41ae92e4882c3c29L,0xd637e8e96de51602L,0x60745807093e1831L,
  69165. 0x4b79a97b71922332L,0xb6903e0875e68278L,0x0000000000000157L },
  69166. { 0x4c8fab3b704b19d2L,0x550c2a56b34c0d32L,0x67347887bbcc5f6eL,
  69167. 0x63946f225a9bebe1L,0xf0c5304d01c39700L,0xea8d8d6872deb3c5L,
  69168. 0xd8369ef1c2a03da6L,0xaa3fd01140135bcdL,0x0000000000000025L } },
  69169. /* 30 << 231 */
  69170. { { 0x7b5e2027b631ab3cL,0xa4ab4559f2c42e69L,0xd8a3adc1b1670c20L,
  69171. 0xa2240db40abc7c17L,0x104ae5cff054f41fL,0x5c08b0bf128df5f1L,
  69172. 0x651f1be1877d5d9eL,0xafb7992265e13f7fL,0x000000000000015aL },
  69173. { 0x140370ee632ac61aL,0x7cc393058a188e1eL,0x21a228d9f6eac7d0L,
  69174. 0x8a6f15613fd21c04L,0x64418721c35936a2L,0xf9f06b28f3e01680L,
  69175. 0x7efe7361fdeace5bL,0x6a7264a96e30226aL,0x0000000000000017L } },
  69176. /* 31 << 231 */
  69177. { { 0x3f5aafe0bddc0937L,0xd2d0dd4a79f1b07eL,0x56e48aadca9cadcdL,
  69178. 0x44f035c701af31d7L,0xf288f9b9baf4a56aL,0x8a486f9d65fc0205L,
  69179. 0x0047f8d1941bb761L,0xebdae91b757a98e1L,0x00000000000000c1L },
  69180. { 0x1bb72fdd52fd742aL,0x5073de5a4fd8ea03L,0x47d8be4faa00a9ccL,
  69181. 0x9c262879e45ce75eL,0xbd62c1d3f0a9c65aL,0xbb434e5b8c15c467L,
  69182. 0x611816bfbd22def7L,0x8aa8cf5383778ac8L,0x000000000000016fL } },
  69183. /* 32 << 231 */
  69184. { { 0xe1f0c1aefcfefdb2L,0xb5bc33d344930c59L,0x253d5f4964d2c6e0L,
  69185. 0x25efddede316ba1fL,0xeb3ab21fe30c3a34L,0x797a1ad6cfa52a9dL,
  69186. 0x6a3ca2e0a81ba831L,0x27bb664ce112dd07L,0x000000000000007eL },
  69187. { 0x91fa1e121961aa16L,0x381b2d7167dd7513L,0xbae8635144db8a51L,
  69188. 0x4cc1915fbc31c1cdL,0xf79f40598ec6e9e1L,0xb142b6eca8929a72L,
  69189. 0x4629c6488ed71fb2L,0x9f79bccfbd52faa7L,0x0000000000000029L } },
  69190. /* 33 << 231 */
  69191. { { 0xa550f18a6cc76e30L,0x22627d8f61df412dL,0x1d0dc5d69ca28ee4L,
  69192. 0xababc480beafb2bbL,0xb0a7d6926fbfd3a5L,0xf1a64e38a521f4e5L,
  69193. 0x2ee40ff432ada17dL,0xad661a64254597f9L,0x00000000000001a4L },
  69194. { 0xc6d509050b6c9498L,0x0853d7fe81c37fddL,0x41fec397945c0241L,
  69195. 0x9d94a286648033d3L,0xa977521cd11a039fL,0x9d70047366f73195L,
  69196. 0xf3925c9498f1d8a5L,0xe03e6214f2182e10L,0x00000000000001c4L } },
  69197. /* 34 << 231 */
  69198. { { 0x8a13a69fe9708f78L,0x127338fe9439033cL,0x1a55f4be1c0ae257L,
  69199. 0x687f3349da266c1dL,0xe84a7b031264780dL,0xdc796cef48a52f85L,
  69200. 0xc0fd19a2aa4f5258L,0x72b52c44c6e60b07L,0x0000000000000069L },
  69201. { 0x754a8552ada70b8bL,0x7384869e2ab69b35L,0x1eb9a71bb23f4955L,
  69202. 0x699c11f83f8656e9L,0xacab43310b640cf6L,0xee38be2d21b0d6e8L,
  69203. 0x9d57cbd55499e2e9L,0xb90d2b06448f08faL,0x00000000000000d3L } },
  69204. /* 35 << 231 */
  69205. { { 0xbb9af2d1f25aa87fL,0x633f9eaf006ff7eaL,0x32cc47c05d875219L,
  69206. 0x9245422d65a7fed1L,0x7b6095ee882e7479L,0xb0921b30038514acL,
  69207. 0x599167f588ba84a2L,0xf15c510b4de07284L,0x00000000000000d3L },
  69208. { 0xb152f53babf4a045L,0x019016bf296dd5f3L,0x3eafdc360650071fL,
  69209. 0x4843e9fc756a424fL,0x3f90b62472a46c6dL,0xfd2948483854ef62L,
  69210. 0x139dc631ee3f68a4L,0xdc88b9b1f8d64497L,0x0000000000000044L } },
  69211. /* 36 << 231 */
  69212. { { 0x9ef8fc68b3f02f00L,0x4eaaefc11b404dfdL,0xb1a6864fa257718eL,
  69213. 0xab09391e2d8d0067L,0xc38aa83ce8204af9L,0xe1bfb2b08c822776L,
  69214. 0xe2cf738131273df4L,0xb2d517e40cd8fa47L,0x00000000000001f1L },
  69215. { 0xe5e30566969d3c42L,0x14fdf845f7d7eddcL,0x7eb18e1c25c3adf3L,
  69216. 0x32abb9b1be777247L,0x3b129a9caeb73f86L,0x112ad378338cedd3L,
  69217. 0x885cc5a12602d011L,0x4fc5afd3bc5586fbL,0x0000000000000066L } },
  69218. /* 37 << 231 */
  69219. { { 0xcc800639d6008057L,0x9c266f39bbc8d8f7L,0x95ceb2f0607153c1L,
  69220. 0x45f0801babb7937fL,0x3642f3177d002d68L,0x3c72feaeec4c17bbL,
  69221. 0x86921b33df45d803L,0x2166557618a187dcL,0x0000000000000116L },
  69222. { 0x16fc57bf455df4c8L,0x6a3f8e24a0a801ddL,0x44f80fcbe3f46c99L,
  69223. 0xb6a005d8815493ffL,0x9fb7e1ddb10c1c29L,0xd427ba4473b5524fL,
  69224. 0x8b46a23436db93d5L,0xa2c3267a65278f1cL,0x00000000000000b2L } },
  69225. /* 38 << 231 */
  69226. { { 0xcd0681f765c96952L,0xd11c084db226a120L,0x6961cff3a518daf4L,
  69227. 0x72d85fbfaaa2d432L,0xbb0bfa37d8029adfL,0x8b307974f3e263afL,
  69228. 0x1e78acfe4357cbf0L,0x1b24c3c478faf796L,0x00000000000000beL },
  69229. { 0x29e359eb15c49c42L,0x2a0e85c6bd5142a0L,0x2ca4919c8f74c2f3L,
  69230. 0xc2c0522dab7dcd71L,0x78448d5f2687cfe8L,0xd7fed0780bc1b515L,
  69231. 0x21d8acbbc78392e9L,0xc825030ceddd3383L,0x00000000000001b5L } },
  69232. /* 39 << 231 */
  69233. { { 0x6ded17c668888e6fL,0x7d04fbec48d7a438L,0xc95939f56720bd0fL,
  69234. 0x32116dca5b339abaL,0x9868395c78b10c61L,0x9a631ebf64f83fe3L,
  69235. 0x353adbd78b655864L,0x780ed89288891331L,0x000000000000014fL },
  69236. { 0xa1034f139209f475L,0xc3119769ebdacdb4L,0x5e46e5b81adcc433L,
  69237. 0xb13ab568c9ea84d3L,0x65af681d3d982349L,0x495774cdb9fe5358L,
  69238. 0xc4f40572e4dea0dfL,0x64ddade9d672b677L,0x00000000000000e2L } },
  69239. /* 40 << 231 */
  69240. { { 0xdfe1e6afd3bc4454L,0x940641a79e92d2f3L,0x9ad218730e1c2fa0L,
  69241. 0xb6e06bc5a411d441L,0xb54c27d838bf29f0L,0x7dacafceb14f35d2L,
  69242. 0xbfe2b09082b7bc07L,0x868699ab8d3eeed0L,0x0000000000000072L },
  69243. { 0xbb74a259b8f76318L,0x3ed5995df91b3df3L,0xa4a97a19ac6557b1L,
  69244. 0x07255a2568cf70d0L,0xb28d48077f106380L,0xef6b891b7375c430L,
  69245. 0xf638f42c90c29af5L,0xdf57cc5407c206daL,0x0000000000000088L } },
  69246. /* 41 << 231 */
  69247. { { 0xcce61ebaa95f4034L,0xc03193858d3934cbL,0x48125313045ecf08L,
  69248. 0xa5293e9e00a86a56L,0x9685609ce4739621L,0xb4763b6e45a8cdacL,
  69249. 0x0f7efc7417e70b13L,0x3fa90ba2b41aaabcL,0x0000000000000088L },
  69250. { 0x38849e404a869a92L,0xbe5d13dcf392f0c4L,0x564182b6a7a77b35L,
  69251. 0xad96f8613b51e934L,0xcda67468a8944a6dL,0xc3a4639791afc06eL,
  69252. 0x46517e758aa12264L,0x600044e225aa0d28L,0x000000000000019fL } },
  69253. /* 42 << 231 */
  69254. { { 0xac0f2e82bf2a6824L,0xe4a045edfde799c0L,0xf4bedaf812796db6L,
  69255. 0x852692d02f95b690L,0x5991cfd95d3f8741L,0x91cffa0d40b8c83dL,
  69256. 0x26c9dc52a566930aL,0x3dcf171f8c1fd3deL,0x000000000000001aL },
  69257. { 0x977041071ef70b29L,0x3419dd6b356da0a7L,0x69a6690c3f4259f7L,
  69258. 0x643596f23f596c22L,0xdfa2ac5495452620L,0xa98ed767c7c2b5cfL,
  69259. 0x78d44543a1b281f8L,0x2d6f804fb1800c0bL,0x000000000000007cL } },
  69260. /* 43 << 231 */
  69261. { { 0xd820a109f48d85ccL,0xacacc587ae63a21aL,0x64e3da09e0beb46aL,
  69262. 0xa5020c60fca415a6L,0xb1ce6feb30ac9de0L,0x796e8d8ea918a87fL,
  69263. 0x14d8b838e24fc12dL,0x50543fda5a2748e6L,0x000000000000007cL },
  69264. { 0x998570177a2fdb75L,0xae937494f7002ebcL,0x99906c28e38e1a23L,
  69265. 0xc922a7b49285a1c9L,0x3783412560208b56L,0xfddcb5db55aa5343L,
  69266. 0x7e1aa3e079405671L,0x717994d9b6c5afaeL,0x00000000000001ccL } },
  69267. /* 44 << 231 */
  69268. { { 0x3a6e35396a057b5dL,0x96bfc6907338fb26L,0x9dd6b30a6ec9a962L,
  69269. 0x13980a46d62386f5L,0xe2efd90ec9e88bceL,0x2e952aea56736496L,
  69270. 0x0f711da87eeed705L,0x25c0012c4f696d10L,0x00000000000001ccL },
  69271. { 0xd4f64d9daaecfe2aL,0x77d4ff6c04f3c02dL,0x6dfe2746f2d2d351L,
  69272. 0xbe133c6bd547c567L,0xe3eefd95ed234f60L,0x5de33b9d0cbf5f2eL,
  69273. 0x563fbcfd11ecd741L,0x4dd1ff2449ec76f9L,0x0000000000000166L } },
  69274. /* 45 << 231 */
  69275. { { 0x7f90db705dc505baL,0x0ed287e682dff023L,0xdc1e823736006439L,
  69276. 0x45f7189e5d5fbcc5L,0xb0519882a90fa834L,0x88e1b59f135e2379L,
  69277. 0x5f22a5ed447a0e94L,0x12230205384b1b44L,0x000000000000006aL },
  69278. { 0x4c6df3168a6a5944L,0xdd99a4c395811e9aL,0xdc18aba483642434L,
  69279. 0xb5d321bda71f9f25L,0x338aadb635fc1540L,0xf7d5d16c9c5d076fL,
  69280. 0xe9aed76046537780L,0x0b88e00e065f90bcL,0x0000000000000050L } },
  69281. /* 46 << 231 */
  69282. { { 0x5eba88dab51a448cL,0xc59140a1a3bf6be4L,0xfcb188c338515c47L,
  69283. 0x5d212b1bf85097c4L,0x0a031432c37af0c8L,0x1434b11f8a69ea4fL,
  69284. 0xf196646e16e47ba2L,0x49acc62d4ce5d965L,0x0000000000000062L },
  69285. { 0x63725ac292f56298L,0x18022c719412d3b4L,0x992db0a6db2b50a3L,
  69286. 0xc57263c1c99dae3fL,0xa5cf2e9592d1d97aL,0xb5f93d02b730a5aaL,
  69287. 0x500efdb45dff5370L,0x30e83357974821d1L,0x0000000000000198L } },
  69288. /* 47 << 231 */
  69289. { { 0x8e008d522c941ea0L,0x59156f3bb3ec2760L,0xf8e5257f72bd1775L,
  69290. 0xfeb8a6caab104dd1L,0x0aa7934f1e24e935L,0x082a542f75b78c22L,
  69291. 0x08a13d3ac08f5967L,0xafcdee9dbd0f2e83L,0x00000000000000b5L },
  69292. { 0x7d14271c4b5bc3a0L,0x0aef85c6d39586e5L,0xd92fb2fd460c3ea9L,
  69293. 0x17c4554cbee0de36L,0x80e5aba407dd1df4L,0x23e588707cb3ce68L,
  69294. 0xae5fe85678e22f39L,0x8cbf32748b9cde6dL,0x00000000000001aeL } },
  69295. /* 48 << 231 */
  69296. { { 0xf4d18a133b6da0e9L,0x10102e98bbaeb6f3L,0xb82cf999e6f414ebL,
  69297. 0x5a2d09f201420725L,0x51ef37070d541392L,0x044404a7a4b6cbf7L,
  69298. 0x98b51c307f783763L,0x154e7643eaa19df9L,0x000000000000012aL },
  69299. { 0xbba4d0924bea27e5L,0xfba7ca7dfc03da36L,0x4399448fa62fbccbL,
  69300. 0xcf7863be93fbb08cL,0x41954ccdf35720c1L,0x6c37e6594ed8dfc6L,
  69301. 0xfd3d7cc05aa73a82L,0x616281f077f1e04cL,0x00000000000001e1L } },
  69302. /* 49 << 231 */
  69303. { { 0xb8843a3baecb9c56L,0x471c521f71eb02e7L,0x2646f42f1978dff2L,
  69304. 0xd1840b68db9b06ccL,0xf1c565cdd2eaefe7L,0xac478d82e5aac498L,
  69305. 0xbb81c5731219236fL,0x9cef590eaf3ec7ebL,0x00000000000000fbL },
  69306. { 0x00fa48fd12839c79L,0xbe6930b2f9ba96f6L,0xca60400a52dbbdc6L,
  69307. 0x97cdebbba58fbab3L,0x6cd668db0120fba7L,0x030f7cb1b6282babL,
  69308. 0xf6a0f50c8096a500L,0x13f0031822365ca4L,0x0000000000000137L } },
  69309. /* 50 << 231 */
  69310. { { 0xd3e0a88bc7a47d95L,0x9c63dfdd73d59495L,0x02515679ddfa7285L,
  69311. 0x719c60b134a9c1aaL,0xf7ed64522d297d47L,0x018ba27bb3864320L,
  69312. 0xf0bbeb08c51f9896L,0x55977ff5c2943b8cL,0x0000000000000106L },
  69313. { 0xe29e2e6d9d310344L,0xa73c141821499e9fL,0x37f93b334f2b6177L,
  69314. 0x1a953d005b41fd72L,0x079596887fc4c74bL,0x51fa8d6a18b54a16L,
  69315. 0x8a2f0b23d73b8d7dL,0x81dcdf27c35d31feL,0x00000000000000bcL } },
  69316. /* 51 << 231 */
  69317. { { 0x86a623829fd8b32aL,0xabdfdda101d41983L,0xa53f4563528a7673L,
  69318. 0xab916c12bedacf84L,0x3dc44fc48b14352dL,0x993c3213260d4c30L,
  69319. 0xc539686f7e662556L,0xf1138c58b39a1a90L,0x00000000000001a0L },
  69320. { 0xcad7199577e5eb4eL,0xaa31beaacc030f64L,0x0f60b8841f7cfe77L,
  69321. 0xa420cb1721b8d4f6L,0xd09feccb7de24d35L,0x63320b49b3473f35L,
  69322. 0xb5bcc3e10bfbe930L,0x57a963500fedd838L,0x00000000000001ccL } },
  69323. /* 52 << 231 */
  69324. { { 0x00ed7a23a6fdb2c9L,0x1409a2b34b8ba58aL,0x4851489b0a6a87eaL,
  69325. 0x66659b7f33733bf3L,0xda3870049ec4876fL,0x35ad268a1554dc93L,
  69326. 0x8bf6bbf30c00d57eL,0x32a2935c06b48eaaL,0x00000000000001e1L },
  69327. { 0xe212ae20816d8641L,0x8cebe342575da6b9L,0xf2bd08277c7ccd5aL,
  69328. 0x7a418ca5b8c2e3c6L,0x2348a14f2994a6fdL,0x5a31412a5490a371L,
  69329. 0x73f8d42f36fd59c9L,0x161fdd18a541ed5dL,0x0000000000000038L } },
  69330. /* 53 << 231 */
  69331. { { 0x300696f3057c5ceaL,0xcad8a2c50df8356aL,0xfc4cb7fd7c706e7eL,
  69332. 0x60e7d69ebe6a669dL,0x40003669ef923169L,0x5930b76457070b74L,
  69333. 0x3ef2e5f99cff0d14L,0x7ade11730db36e1eL,0x00000000000001e5L },
  69334. { 0xa0705ba5db6d6631L,0xb1a50dd1e4903c95L,0xa8b727c765e44762L,
  69335. 0x07f6f4c60825fd15L,0x33baf983444de623L,0x655caaaca138402dL,
  69336. 0xe0cbfea729652452L,0xa99c262e681e5a6cL,0x00000000000001d6L } },
  69337. /* 54 << 231 */
  69338. { { 0x3132e6ce76fc9e0bL,0xcebc5afbd0dd32bcL,0x2c75ba8753bcc7f9L,
  69339. 0x8cc874cd8ab343c3L,0xd2021ec20024924bL,0x2cda2074c5678891L,
  69340. 0xd724916957e36dcbL,0x7097b4f7611442f7L,0x000000000000002dL },
  69341. { 0x6e6cea215db4d265L,0x7257f2934bba329dL,0xaa12a1bb9bf3c783L,
  69342. 0x0702399538239dc4L,0xb4d22bdc73524369L,0x204186e3b3252770L,
  69343. 0xe61c9fd037080fbcL,0x9c9a7d157396cc53L,0x000000000000010dL } },
  69344. /* 55 << 231 */
  69345. { { 0x4d6356cea8b6ae97L,0x55e296caebe17bcaL,0xfb9ed8b353d6b21aL,
  69346. 0xedf72d6ada093a8eL,0xfa81761c24490122L,0x97e3e7c62f808d4fL,
  69347. 0xad75f995aa0130a7L,0x641a63cfee06c9b0L,0x0000000000000083L },
  69348. { 0x309921eba0884ac4L,0x1cea2e3f6c788b29L,0xb412c4919295fc7aL,
  69349. 0x9eb836cabbe43b7cL,0xeffb3ae33c591e1bL,0x825cb6d838f93652L,
  69350. 0xcef6276e83301934L,0xcd857684c28e8b6dL,0x0000000000000195L } },
  69351. /* 56 << 231 */
  69352. { { 0xe5755448cd5974dcL,0xdc4336085d6bc190L,0x291521f7431ba450L,
  69353. 0x31e71c894d80164bL,0xb42bb11ca6ed9fc5L,0x3a0966fead792be1L,
  69354. 0x7f75f881469b8352L,0x38ef2c56448076a9L,0x00000000000000a2L },
  69355. { 0xac95a77d7d743f9fL,0x06026129f3465546L,0xd56bee30e9fc9605L,
  69356. 0xfad39345bbcc7494L,0x2b178c653f526356L,0x22418748c661ca67L,
  69357. 0xeb53cf749b79aeccL,0xe7c48bdce76a53f4L,0x0000000000000092L } },
  69358. /* 57 << 231 */
  69359. { { 0x781ddc8410eb4bceL,0xfe20bc22689f566dL,0xabf9614b250b11c2L,
  69360. 0x2abc1259fc25b7b2L,0xeb9d15476817ae1dL,0x9e614c5fc00482a9L,
  69361. 0x284a7be697aa02e3L,0xd2786becb912f11aL,0x000000000000006bL },
  69362. { 0x3e5b8b80f712bff4L,0x2b276fe8615a7bb8L,0xb7e4a47741667babL,
  69363. 0xdbf07505785e403bL,0xdafda3048e5d87d1L,0x651fa13f2485f1e7L,
  69364. 0x0e96561c41fa8c33L,0x9a964b6afc9533c6L,0x00000000000001f6L } },
  69365. /* 58 << 231 */
  69366. { { 0x5efb8a35a9a4aefeL,0x69f838d2ce792292L,0x56e06b1041f75d79L,
  69367. 0x39c0f9fb6db28a88L,0xdc03a5303f58d36bL,0xc80062fdc6689d55L,
  69368. 0xcd52297236e0a293L,0xa0179bb20ffb115aL,0x000000000000000dL },
  69369. { 0xab0bb76d856d0d54L,0x2513146539f307faL,0x4bedb07820813767L,
  69370. 0xf9a1263f59928c34L,0xefe5bdc4909d6dd5L,0x5bec7330c4f8aaecL,
  69371. 0x434209fc1c5c1187L,0xc6f261bcb3b2946cL,0x000000000000015fL } },
  69372. /* 59 << 231 */
  69373. { { 0xb939ba08271eac87L,0x01b74a5f96572526L,0x0128e1a8d003e6caL,
  69374. 0x0acc7456cdde9dc4L,0x645651efcd70a637L,0xe19b922266eff529L,
  69375. 0x12e19d5d5e40a325L,0xe0ba91f712d0572cL,0x0000000000000009L },
  69376. { 0x1b2ebb6600213e90L,0x0f796868e8f5a418L,0x460b815804d5336cL,
  69377. 0xef5b776a8f3acd2fL,0x2d61e4f233112586L,0x13cb818d4d8859ebL,
  69378. 0xae3177cd776f15c5L,0x9ce64970a87d1497L,0x00000000000000b6L } },
  69379. /* 60 << 231 */
  69380. { { 0x9cb870731e4539afL,0x9478d2def6271c13L,0x090c027268d3482eL,
  69381. 0x8c977ce0f731a796L,0x13f5710bdc318bd2L,0x2dae989a9a151ed0L,
  69382. 0x598f15eed94e7992L,0x72aafc8f4d65daf0L,0x000000000000012bL },
  69383. { 0x4ad64f6d702eb8f6L,0x2151ae34a1ef79d5L,0x98837c0e3ce0c875L,
  69384. 0xd63615b6a2e6eb4eL,0x447c6fc3b7d9edb7L,0x67f864f5a86179a6L,
  69385. 0x1e980d0ce354cae7L,0x983691a48c4e9674L,0x00000000000000b8L } },
  69386. /* 61 << 231 */
  69387. { { 0x81446ce047b083ddL,0xeb0eb48ded4164dbL,0x92159ee968b817beL,
  69388. 0xfb501e7cb43bc0efL,0x7486c8f67ac944b2L,0xd091b2f3d63a9c1cL,
  69389. 0xd80fde4c25e0d296L,0xc22410b3ba3d2bb5L,0x0000000000000042L },
  69390. { 0x547f85ccae50848bL,0xaa2af55884859461L,0xdbdd0e1a20f810acL,
  69391. 0xe6f7bb90536880ebL,0xcd47da15f32226b1L,0x8a5bf84843885abeL,
  69392. 0x0a95beffe5ade276L,0x49f09071102f85efL,0x00000000000001c8L } },
  69393. /* 62 << 231 */
  69394. { { 0xe16cc278d16c8677L,0xf0f1c0291aa4823aL,0xf235fc167c6b2ef4L,
  69395. 0x854561cc58128c62L,0xb9553b64017d2fd0L,0x8f733f2883213fa5L,
  69396. 0x52ededb79f93720dL,0xd7f0a1cf64f4fb42L,0x0000000000000070L },
  69397. { 0x23d01627ac7cc128L,0xbe2bb56afa287351L,0x961cade267bd39eaL,
  69398. 0x1ab8cc062eaf0e26L,0xb46886315db2972dL,0x6e48cee137868d66L,
  69399. 0x37856b801193521cL,0xac3f87662ddd16edL,0x00000000000001b5L } },
  69400. /* 63 << 231 */
  69401. { { 0x90c3310c6550603cL,0x368ddcb260508b36L,0x22724f188d23847fL,
  69402. 0xe486e47c49eb4fe7L,0x4fe67da23edc4892L,0x437b4cda2c8767dbL,
  69403. 0x61352775146e8e6fL,0xfc0a61384acc18f9L,0x0000000000000043L },
  69404. { 0x2faf71994c5f4459L,0xc82c0ac392e4b40aL,0x0044de2896e9663fL,
  69405. 0xbf301ebfb957c578L,0xa25deea70d544928L,0xa78c79201fd91e0aL,
  69406. 0x0e8f9087ba045978L,0x33fe0d7b7b01bdf8L,0x0000000000000142L } },
  69407. /* 64 << 231 */
  69408. { { 0x5a6db3a8e35ab524L,0x2e6954315117b9cdL,0xd81f6f6417217cb3L,
  69409. 0xb4296467910f3354L,0x7249dcfb5a83e39dL,0x7b6df96f8c87a277L,
  69410. 0xbc8ccd9fcfb09d4cL,0xb644e4e35f67508dL,0x0000000000000174L },
  69411. { 0x1a228c95246be9d7L,0xd9b7805b669d44f0L,0x7c240e63f5a7d167L,
  69412. 0x863012f56bd7f19bL,0x1cf3d77e3a9321beL,0x407dcfd2782b061fL,
  69413. 0xdbccc9df881439f7L,0x4a3a07a3116d1beeL,0x0000000000000198L } },
  69414. /* 0 << 238 */
  69415. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  69416. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  69417. /* 1 << 238 */
  69418. { { 0x9ab5fe51e870201bL,0x181be214428dcc9dL,0xea30361a335ab6fcL,
  69419. 0x8f43702a3af87eceL,0xa46b867147df3e87L,0x4b2fdc3fbb02e25bL,
  69420. 0x72e3bc8e68e4d43eL,0x854ae7242cf96610L,0x0000000000000075L },
  69421. { 0x56ecf90bfeb21bf5L,0x75d38316e555d52aL,0xfaea840084cbcf08L,
  69422. 0xbd4a0672b5126460L,0x33c3dd8fee751f85L,0x4d658970d8fd6a67L,
  69423. 0x49e1041a439f0c52L,0x0480366fbd63268fL,0x0000000000000101L } },
  69424. /* 2 << 238 */
  69425. { { 0xcc24e895e1756b7aL,0x3874a79a3c09615bL,0x30e2489d9014ffc4L,
  69426. 0xedfa2851e9070c97L,0x69113ac763017e47L,0x2dbd4d59ee9161c5L,
  69427. 0xbd93abe740c20e53L,0x2eb660e491ccc0f9L,0x00000000000001f5L },
  69428. { 0x1363f45a719c9f85L,0x32dfb30ea43cd38eL,0x35933e9a0b75d1ebL,
  69429. 0xaf1fc78775aebc26L,0xb444f393a27240c4L,0xdb46c96df7592075L,
  69430. 0x59c26ad852510ad2L,0x163890bf029bb7a0L,0x00000000000000a6L } },
  69431. /* 3 << 238 */
  69432. { { 0x35e461c73f298075L,0xdabce92b476fd938L,0x1a928e413e13910bL,
  69433. 0xb2e8f656cc7dd6cdL,0x8a8aebfa4d4cd65aL,0x23cc2419d684d87bL,
  69434. 0x6e96b40ba93085c3L,0x303b86411f9c3babL,0x00000000000001f6L },
  69435. { 0xe66619d05a55180bL,0xab397f7d3be53831L,0x103c38d48f88fdb7L,
  69436. 0x7e6d67dfadf9520eL,0xc93512456e517e33L,0xd8596b94a69929b8L,
  69437. 0x9611f83a43dd1ff0L,0x46568571d30d5f6cL,0x000000000000006dL } },
  69438. /* 4 << 238 */
  69439. { { 0x0f8341fe21dd6e7aL,0x5c106f8eea93e5c1L,0x8e2ad8e9ad0114bcL,
  69440. 0x277ef823f059d291L,0xed4a28e5dc50fd78L,0xa071965189cdf20dL,
  69441. 0xe393b2641fde162cL,0xd383b86d30a5b16dL,0x0000000000000041L },
  69442. { 0x04b8115bad6dbeafL,0x7d7f0bb9a996519bL,0xab54d4c89c397c91L,
  69443. 0x1750b97d77a6a3e3L,0x1637909b14554321L,0x7311da687a5aeea3L,
  69444. 0x1f91a0fd52130453L,0x4338b3d686753f28L,0x000000000000014cL } },
  69445. /* 5 << 238 */
  69446. { { 0x555a5ed3e41bdc8fL,0xa4c7146e378bf6c2L,0x38ec797a397ff807L,
  69447. 0x0a90aceb5054b6b5L,0x51c4fbf35013868dL,0xd02e806b4c84f3efL,
  69448. 0xe6b25f2947687bd6L,0x9c80d5336dcd81fcL,0x000000000000003dL },
  69449. { 0xa804c672bf2ef9aeL,0x4a9ee6cf0608b597L,0x2e9648af9b9c23c3L,
  69450. 0x4b4c51d97c465908L,0x742376d23f199fb7L,0x2c2466d04892a894L,
  69451. 0x65b4a926f76de379L,0xe991d330e599d231L,0x000000000000018dL } },
  69452. /* 6 << 238 */
  69453. { { 0x524e9cb4da163afbL,0x8a0e4a8f228fb3bbL,0xf664c14b45960ee1L,
  69454. 0xe6eea91bc51f2265L,0xbc9515293ce6bbedL,0x1dcb0c979f66a923L,
  69455. 0x3c1dcaeffa6e34abL,0x8566db771ec37478L,0x00000000000000deL },
  69456. { 0xbabc8a979886e4daL,0x7be9df692fc58670L,0xfecd51cafbbd20c7L,
  69457. 0x3d9edb6c856ca68fL,0x842d8464e1a1b32aL,0x7bb8fb391fab27d8L,
  69458. 0xc7a7b8614b4c1060L,0x942bd576d69619c6L,0x00000000000000e9L } },
  69459. /* 7 << 238 */
  69460. { { 0x6870abbb49d18a7eL,0xeca5915c9e4dd9d3L,0x394f185c0196125eL,
  69461. 0x5b1885351bb56e6bL,0xcdaf07e8e1299083L,0xca4421e89e734760L,
  69462. 0x4288c2236376839aL,0x06e9e6aac7f2476dL,0x0000000000000043L },
  69463. { 0x83c257a2e91a87cbL,0x37d3a58193ba96d1L,0x23c753bf4ea5fd63L,
  69464. 0x202f819864a1df10L,0x97a5b3dc5b6d5dc4L,0xb3262185add5915dL,
  69465. 0x37a728f3055d11a8L,0x1110f66b8d850652L,0x0000000000000028L } },
  69466. /* 8 << 238 */
  69467. { { 0x99a1daa94cf92b1fL,0xb08a7bdecf013530L,0xcbe6c7bc1576e51bL,
  69468. 0x9f88c296e6c13e9fL,0x13fdc9556370791cL,0xadefac0da42b1973L,
  69469. 0xe69418a412cb2ffcL,0xaf05ce9762eae4e0L,0x000000000000005bL },
  69470. { 0xadb36e6565e89a12L,0xde7fee5853131bd7L,0x7335c5cbabffa9c1L,
  69471. 0xabf94bc392947061L,0x11d2e02b6109bc5bL,0xfc1fc1d28a097cdaL,
  69472. 0x4512fbb6f3d5db21L,0xd40e8637336a3d5fL,0x000000000000013bL } },
  69473. /* 9 << 238 */
  69474. { { 0xb927982ec0e8a1abL,0x478a75ff53dc6cd9L,0x45e6200fbe786ed0L,
  69475. 0xee2c3a3699401156L,0x042c35b2176e07e7L,0xc09e54deb073382aL,
  69476. 0xb23b8397c14ed4c6L,0x296c490bcedd676cL,0x0000000000000181L },
  69477. { 0xab1a53120317d2e2L,0x63ba4b47c5b44b41L,0x2c8a05a1a006a95dL,
  69478. 0x4c3b5bebc7f285b8L,0x14371a425d385fdbL,0x465ae20ee294b472L,
  69479. 0xd3ec2abb5edaa3f4L,0x72641b9f580e0a46L,0x0000000000000078L } },
  69480. /* 10 << 238 */
  69481. { { 0x005ce3f7d14c0264L,0x8ef018dc6b7d372fL,0xad9b3a6ec20ea32fL,
  69482. 0x860938b2c327793dL,0x6c1669174b6867f4L,0x8d96f5fa19062b2eL,
  69483. 0x484a2deb22be3819L,0xcad084fb965dec51L,0x000000000000004dL },
  69484. { 0xd3afa07be469f94eL,0x58e526d7762e7cf6L,0xec8641d0a6338b20L,
  69485. 0x7694b364330d3bfdL,0xf5d8cf6f4193c78fL,0x7395355f11616b29L,
  69486. 0xe29b7a83ab78eb55L,0x71c471aa4eb0dd18L,0x0000000000000079L } },
  69487. /* 11 << 238 */
  69488. { { 0x27a0dcec4640a9fcL,0xe00471295ee9a3a5L,0x94d54b86054af15fL,
  69489. 0x21f6ae1dc99e6364L,0x9cb3b7413a5ecd7dL,0xdd128fa1c6840ab5L,
  69490. 0xf62bd90375f71498L,0x5651778f8bd73c30L,0x0000000000000148L },
  69491. { 0x0c84978d1977a031L,0xee1868aba79b8071L,0xfcf1485672e09b67L,
  69492. 0x0b1982dd174d8166L,0xa43baf2886045a38L,0x089d267e5b6bcf85L,
  69493. 0x7bba2d8b97f39f60L,0xacccd7c488b1a299L,0x0000000000000030L } },
  69494. /* 12 << 238 */
  69495. { { 0x3671d520e411c88bL,0xe56d2622af747caaL,0x8c2d939f3f298a36L,
  69496. 0xd09f955e38b36307L,0x7aef92fdacfe3a5fL,0xaa1b543a3c3413e3L,
  69497. 0xa68bcf7585e8eea2L,0x1c33b90957271ab1L,0x0000000000000175L },
  69498. { 0xe829b5480993374bL,0x93ace6b43758fa53L,0x378932adfb48d303L,
  69499. 0xa0be54cd7b9aca58L,0x6f020d2f07d56bfcL,0x661cc6df332d5724L,
  69500. 0xe1c67b4c4702e14eL,0x6d7e1534fe0ce1f4L,0x0000000000000165L } },
  69501. /* 13 << 238 */
  69502. { { 0x542bcf698602b37eL,0xa5abcec8d9ccafc9L,0x9bbef4144d01c669L,
  69503. 0x1cbe4eb53f21f94dL,0x73e4bd548d17cca3L,0xc71a14ef0fc467fcL,
  69504. 0x965e6d4741791872L,0x53d248008a5d401cL,0x0000000000000045L },
  69505. { 0xc5e9fb2b7bc260c3L,0xaff4fa860768d8edL,0x3d9b189fe9bbb088L,
  69506. 0xc2b32e2cb971a9c0L,0xef0b19a9500994faL,0x9a916d6b4ca815aaL,
  69507. 0x3808a111df10d2f4L,0xfa259ef2d7d6440aL,0x00000000000000c1L } },
  69508. /* 14 << 238 */
  69509. { { 0x427e8420abc1c27eL,0x21124fb3118cc0c6L,0x3fa9121b7030b6d2L,
  69510. 0xda46a2b7cba1c68bL,0xb248a68d3fa27645L,0x55268b8ec3876d05L,
  69511. 0xd12a2229ca45c78bL,0x65aabd782de0e319L,0x00000000000000e4L },
  69512. { 0x6e660d9b77d9dd90L,0xe4edced2707fbf26L,0x8c8269de5d53a600L,
  69513. 0xa9d2ac7cc1d0cb90L,0x7adf4c79998ce4bcL,0x553294473903cbb1L,
  69514. 0x2af44eb383b6a801L,0xf3b473a71f55b558L,0x00000000000001c8L } },
  69515. /* 15 << 238 */
  69516. { { 0x650d6b150b56ca3cL,0x510d05a999013060L,0x8f317f930173d49dL,
  69517. 0x1ba9a82c346efba3L,0xf21915c9238c3a66L,0x400b5e7081e3727dL,
  69518. 0xb7a6c68ff2e8bfe8L,0x4ff4a4efe83e0afeL,0x000000000000003dL },
  69519. { 0xcdd4dd7cc85ada21L,0xef6508c1604c767bL,0x1155f07962894489L,
  69520. 0xe85ce6f65b58e49fL,0xa5be7867bcdbe11eL,0x94251f2e0254ac77L,
  69521. 0xb7e1e2fcb2a4c84fL,0x93b3013dad5da02aL,0x000000000000013eL } },
  69522. /* 16 << 238 */
  69523. { { 0x70eae5e2b7c097fdL,0x690c65c6becc7c65L,0xf684ce2cbeb8a529L,
  69524. 0xfb5bd6fa772826c5L,0x12025c313b0d8680L,0x8f20fac7cbef00adL,
  69525. 0xb810bf456fc66ac3L,0xa960e1b3c7878181L,0x00000000000001a1L },
  69526. { 0x85a5e619f6103b53L,0xcc4cf223fc14a4b5L,0x68985b1f977a8c64L,
  69527. 0x410eaf63fe82447cL,0xe20381490453d341L,0xe1d008ad719258deL,
  69528. 0x26c1b1773410d895L,0x93cad3da45bae984L,0x000000000000012fL } },
  69529. /* 17 << 238 */
  69530. { { 0x83470dd85087e317L,0xdb7733bae1f29847L,0x54f0d79b32b8ee6cL,
  69531. 0xddc71c2d83573e46L,0xfd1fffb55e2b6321L,0x3daa5b01a31cbcafL,
  69532. 0x084026ba3ea75ecaL,0xd4e58127f22d9f33L,0x000000000000018aL },
  69533. { 0x3ea9cefcbd40d455L,0x4350051a09e79ec1L,0x0e7888a7ce0a3585L,
  69534. 0x32dab5ea59e3067aL,0x4843818f5953e6d3L,0xde8b4b0fcc703daaL,
  69535. 0x386a70895d1c9c6fL,0x68d1bfbc6eac5abdL,0x00000000000000b4L } },
  69536. /* 18 << 238 */
  69537. { { 0xbd7c96176411ed7fL,0x39202b58f9a594c7L,0x4c20a11472ff2f6bL,
  69538. 0x8eae9ef7641d9c13L,0x89aa633f48b0cce2L,0x92b63306557288b0L,
  69539. 0xb3a581c0ce7380aeL,0x8666b913fb705467L,0x0000000000000095L },
  69540. { 0xf15719ceee9abfefL,0xe780789a4e41aa97L,0x9d21215431e6afb7L,
  69541. 0x17d9bfab5cbf72ceL,0x0c48ccacb0237bb2L,0xe0a08569d349a092L,
  69542. 0xa409e08ded3cfb4aL,0x79e67928a1c0e87aL,0x0000000000000182L } },
  69543. /* 19 << 238 */
  69544. { { 0x1d3c45e847667107L,0x866ca278c080ca9aL,0x9a41e8792dc42392L,
  69545. 0xad3283a25b513845L,0x14d23b50b285d0a7L,0x4aef4370d7364e64L,
  69546. 0xc5043319b807cdb7L,0x88c508189673ed5cL,0x000000000000002dL },
  69547. { 0xd56fa0fcf39ca196L,0x97e6dbd9852a5db8L,0xd8361629027563f3L,
  69548. 0x93495e12e4c1ef8aL,0xcd5776f11bc10140L,0xb21ef334e3b873c9L,
  69549. 0x48f0ece3098c8fa7L,0xd97318a4f2302f9dL,0x000000000000018dL } },
  69550. /* 20 << 238 */
  69551. { { 0xb83fdb669de748b4L,0xc46f81000c41f158L,0xade8932fb8f8f374L,
  69552. 0x5728e8aac7ab11feL,0xa3be4365601535d1L,0xf366f0d450c52b71L,
  69553. 0x6e00860084db7699L,0x39c5934c32bd9061L,0x0000000000000003L },
  69554. { 0x4c5f3ab49c964a3fL,0x30ee02c369a70ba7L,0xe4f4e7721699b55bL,
  69555. 0x957efd09f2104682L,0x7be1bdb0298947d8L,0x128be588a6ce37daL,
  69556. 0x10f0abbb5110d219L,0xfe63de4b6c433528L,0x00000000000000a5L } },
  69557. /* 21 << 238 */
  69558. { { 0x0ce1685131ae8a81L,0xb72c77b2d7337ca8L,0x7e74dba79aedcdf8L,
  69559. 0x18d4e5e3da3c5c9bL,0x19ccdba8edb516a9L,0xe62b675c446ece23L,
  69560. 0x5b4aa29acf1e7f89L,0x37dd4f643940453dL,0x00000000000001b4L },
  69561. { 0xb3c5170a3b3b6d8bL,0x476b1d951f6c85cfL,0x7eba2355afd2f7d8L,
  69562. 0xd6496bd907671014L,0x9b1e6ea26f122c61L,0xcf03fff746b200adL,
  69563. 0xeac4278017b28fdeL,0x38eab344da84d1a7L,0x00000000000001bbL } },
  69564. /* 22 << 238 */
  69565. { { 0xb5bc3117e7c0701fL,0xb48e5dc0d6fd7595L,0xd1b5fe1a3b0f2afdL,
  69566. 0xf1099d2f9248f207L,0x6cc721d9ca2b2ed7L,0xdb339d46a360ed1fL,
  69567. 0xfa226637396de0adL,0x2fba134ae405fd2eL,0x0000000000000110L },
  69568. { 0xb1d2d7ac0b4bf098L,0x79d1b226f5ff126dL,0x92a0d70fbd01aa18L,
  69569. 0x67e5828531f22085L,0xf694f833d8b14f5cL,0x13c3cc45a40691daL,
  69570. 0xa3405c019388bfb8L,0x6003716261c4da19L,0x00000000000001b2L } },
  69571. /* 23 << 238 */
  69572. { { 0x9a02b009aaccf1f7L,0xb6ffb0541f2fd3a2L,0x16512f3487e4db60L,
  69573. 0xf23615007af3e638L,0x3fe5d84a1d4c8fc1L,0x73c21064f2251788L,
  69574. 0x54f27fc6fd65b906L,0xc2262a4040e07e0eL,0x0000000000000072L },
  69575. { 0xb8c93aab02b4791eL,0xae54bd0ca0bfd55eL,0xebb909da4ea41398L,
  69576. 0x8af3c61555c3e881L,0x61d0d6b9cff9966fL,0x1c28b62eb85433a2L,
  69577. 0x58167c244f422e5bL,0xae2dfae6446a4077L,0x0000000000000063L } },
  69578. /* 24 << 238 */
  69579. { { 0xee8b94e0bcbcf019L,0xa3965127952a5a75L,0x5d306ffdbd99b8e6L,
  69580. 0x9726acfcf7f77f82L,0x52a8c48f333e69a2L,0x2561b47ee5310f8cL,
  69581. 0x5c707992ddba50adL,0xca39fec1d49f9302L,0x0000000000000197L },
  69582. { 0x773374e03330c1deL,0x3c186e5a12186692L,0x7c50d77c2a07fe4fL,
  69583. 0xb0387d01ec8cb87fL,0x891a741524af7e0dL,0xacd3fc805dce5454L,
  69584. 0x2a92f9cb257238d4L,0x25075cbc4415b2a6L,0x000000000000006fL } },
  69585. /* 25 << 238 */
  69586. { { 0x7884bbb629f1ff9eL,0x2b3706ed9719d7f0L,0x3a418c4929172624L,
  69587. 0x1857e4ddd83e00c4L,0x8d5bea69add00324L,0x60ee0dacb3d682c5L,
  69588. 0xf34b52b594bf155eL,0x9cbc6954fa986cc0L,0x00000000000000ffL },
  69589. { 0x23d72f25e31ed109L,0xa053addcebe1cbecL,0x375503015674aeefL,
  69590. 0x2651c46a6eefe964L,0x600c18699dff26f4L,0xc20ce2878be15274L,
  69591. 0x17f6b16a86f62663L,0x919c4e3d4158baeeL,0x00000000000001daL } },
  69592. /* 26 << 238 */
  69593. { { 0xe8d55c1e634e034dL,0x344ec79cd9e13479L,0xf3b583bf4be319f2L,
  69594. 0x36bd595ea43a6c72L,0x64c244cb8ee00c73L,0x592642553034b765L,
  69595. 0xf98e04c8d6d25e62L,0xfe83950036bfb0f0L,0x000000000000004cL },
  69596. { 0xcc19547c4f773a47L,0x1b974525f727e658L,0x36290dd2b17ab2bbL,
  69597. 0xb1e03bc6dd339b6dL,0x3d2fd734d4b510dfL,0x56e14c3136363925L,
  69598. 0xa61a6fd8574c83b9L,0x7340921e4c17fa62L,0x00000000000001afL } },
  69599. /* 27 << 238 */
  69600. { { 0xe6eeba2ac872b54cL,0x3734508057576f82L,0xc82723574939b69eL,
  69601. 0x4c9f83c24460d5baL,0x635d558bfd73c262L,0xf58b7a7750cb2d56L,
  69602. 0x14bdaf8abd4c14f1L,0x31d03f3b5acf2c6eL,0x0000000000000099L },
  69603. { 0x595629f11a4aae0cL,0x2f72899cf87bedc0L,0xbe2d7dcff6797377L,
  69604. 0x49fb22c2ff654225L,0xfa99f364161f0820L,0x6f069ff13b8a9200L,
  69605. 0xf07433d474600803L,0x4035ba9921b24016L,0x000000000000003eL } },
  69606. /* 28 << 238 */
  69607. { { 0x64f0ae6630ae5727L,0xeb7fee1cccfe2f46L,0xcb52d65cc17226f5L,
  69608. 0x11bfdd3c4bde2ff6L,0x14593dba22f56523L,0x7549c2a8e5a07b06L,
  69609. 0x27e857b0a259420cL,0x5f2702cfd795bf2bL,0x00000000000000ceL },
  69610. { 0x50247b7799ef6f42L,0xc5d4d501a9496281L,0xc2898fd0848ee90aL,
  69611. 0x5916df473b105ea7L,0xc963d568a3fc2a93L,0x4f5dbd88a71e69ffL,
  69612. 0xb1dfb820ed98520aL,0xf91d6e9e5bbb0779L,0x000000000000010eL } },
  69613. /* 29 << 238 */
  69614. { { 0x96ad602860bf7a00L,0xc3426e16c47cdc65L,0xe57e994a1e2760b1L,
  69615. 0xeb93b5f7b3fb4b03L,0x31bb9ec24a492c4dL,0x65d3cf03584d5be8L,
  69616. 0x601b91ccc97a4958L,0xc969b84d7336cea0L,0x00000000000000e7L },
  69617. { 0x0979646c913be9f6L,0x6320c63456598b42L,0xfb1cb31e59f91ddfL,
  69618. 0xa2f17bfc0c88b8d8L,0x894985b268d26956L,0x3e960fcbabfa8376L,
  69619. 0x913526f20caa7b2dL,0xaa97458ead4a33e5L,0x0000000000000087L } },
  69620. /* 30 << 238 */
  69621. { { 0xa3931ead385812f2L,0xa5d9d3ab9ff9b9a1L,0x8b98aee83299344fL,
  69622. 0xb9e1f38bbfc5c57cL,0x66c8223742e07798L,0xf2bb539d6f4bc8baL,
  69623. 0x022615e0eb11077fL,0x41059629845c0f9aL,0x00000000000000d5L },
  69624. { 0x05e13d3b4953c8ceL,0x4892bd1e05ecb056L,0x15c3d629e54ce7b4L,
  69625. 0x818460931bc0c8cbL,0x70ae6768e5b06fc6L,0x549cae2800e46659L,
  69626. 0x674019953a739df8L,0x3323b1b868fcc1e8L,0x00000000000001c8L } },
  69627. /* 31 << 238 */
  69628. { { 0x1b81beaa3dce6ebbL,0x3232328e2986bcc8L,0x08562a2e7a7ec1b1L,
  69629. 0xeed1e9d9c46c24b9L,0x15a05107ef0106c2L,0x54dbe4e566610461L,
  69630. 0x4c5fb5c51ec80c7eL,0xa7507d581e15f329L,0x000000000000011dL },
  69631. { 0xc3de850e31675fecL,0x2164d583de66dee1L,0x2346eecfef36f11cL,
  69632. 0xd3037b676d397030L,0xc88b32b46c94a3e5L,0xb9494d80fcb7031cL,
  69633. 0x45060066a79a0c8bL,0x2c283d47fd946bacL,0x00000000000001ffL } },
  69634. /* 32 << 238 */
  69635. { { 0x6bce4008db3002ceL,0xe109980c03fe67efL,0x35f077201cd61540L,
  69636. 0xb0adfba4723c0ef2L,0x811b100860ca9a5bL,0xedd17f04c0d112c6L,
  69637. 0x8cc7cc5f49688782L,0x716f36bbd5f89c31L,0x0000000000000031L },
  69638. { 0x700cb92a1d19d891L,0xb99918262daa7a23L,0x834cd1fdd9ad0c74L,
  69639. 0xd74ee37682c919daL,0x6569353497696deeL,0xe2615c6e12e9ab53L,
  69640. 0x4be93a40090bbdf3L,0xb811069663437098L,0x0000000000000162L } },
  69641. /* 33 << 238 */
  69642. { { 0x3776e68de439b6e6L,0xc11c5cf2a93fec79L,0x18322c456e8cb760L,
  69643. 0x6d23d5923074466cL,0x922635baff1e0ba8L,0xa37b56544de73b12L,
  69644. 0x0767e97a82224c9fL,0xae0f9650044cded8L,0x0000000000000050L },
  69645. { 0xa0a9a5b35971b232L,0xa1aef7a02da1a761L,0xdf1cfc2c85b63dfeL,
  69646. 0xf91bbb7d5d293c49L,0xcba0ba2a9a832665L,0xe5a1b4c739fd3a27L,
  69647. 0xe647ded0140ed954L,0x6ea2c367f0e619ccL,0x00000000000000dfL } },
  69648. /* 34 << 238 */
  69649. { { 0xcdf28f7cb59ac237L,0x2d2fb106ea4e11ccL,0x0c4d36c2120a150bL,
  69650. 0x21adb80a382f0b0eL,0x3559de088dde2c46L,0xf419d3758b9d7854L,
  69651. 0x925741d95bea2eceL,0xe94a66a4372032e0L,0x0000000000000170L },
  69652. { 0xb34b3fbba5e4a112L,0xf14faedf1303ea36L,0xfd2f1daa22e48527L,
  69653. 0xee04e38138ae2616L,0x4f70a2f74b4262fbL,0x6cdf8c988f9eaf7fL,
  69654. 0x89287d7a67171cc5L,0xbc4f369fa911d65aL,0x00000000000000b4L } },
  69655. /* 35 << 238 */
  69656. { { 0xe0b1e01ea1fc8413L,0xd1272c9abbb3e2e1L,0xb79eff0eb97e058eL,
  69657. 0x3e22d38d68027d9cL,0xb8a10d739d6e9ed5L,0x2987ceb003d3a5b1L,
  69658. 0xc039b0fe1d7eb0f8L,0xa40991bc58942c9fL,0x000000000000004bL },
  69659. { 0x0b8602254bd1a64aL,0xa2a6a556eeeaa4f6L,0x2006573bd5fb4f71L,
  69660. 0x7e2ec04cfcf5eb9fL,0xdded1c6ad3080364L,0xf0eac914ed587661L,
  69661. 0xbbad7d89912701dbL,0x1926f99ed89b48faL,0x00000000000000c1L } },
  69662. /* 36 << 238 */
  69663. { { 0x2640b0474717da49L,0x6b303097f0a90682L,0xe3fbb37ba4756b74L,
  69664. 0x084581b1e3f7ea6aL,0x942b168d67a536e8L,0x4cecb7ef8e8e4dbdL,
  69665. 0x48f4b7c0b17164d3L,0x8a464b3a93bfca74L,0x00000000000001ffL },
  69666. { 0x21f4906f7268ec93L,0xd61c24432acbde61L,0xde475d32d6fa2261L,
  69667. 0xbaae1526a02f45c5L,0x16b2c6b30212c1fdL,0xd6afdfe9fddea6a2L,
  69668. 0x1f8fb94d5daf789dL,0x2f89389b576846a0L,0x00000000000000ffL } },
  69669. /* 37 << 238 */
  69670. { { 0x9382f1039bf6e708L,0x17d1164758ef0269L,0xace45ade38ec27d2L,
  69671. 0xcfc559ceb0a356d1L,0xa771069d6edef1e0L,0xc0dc328f753868d8L,
  69672. 0x19a2e784b9621a36L,0x2a959514f8607fa1L,0x000000000000007bL },
  69673. { 0x2edb1cad55f7e034L,0xb17fb1b8a475236eL,0x06c1cd91ec88e88fL,
  69674. 0x01b3ac7c9b4b4972L,0xb826191aad44bee8L,0x80260416b37c96a9L,
  69675. 0x3ca2a771b7132816L,0xc38c82ad652906e9L,0x00000000000001edL } },
  69676. /* 38 << 238 */
  69677. { { 0xec3a61c2762601e9L,0x4b70960158620f6dL,0xa4d1de2b8cb3717dL,
  69678. 0x926fc94297198836L,0xa3b5a26b93c6aeffL,0xc6f933c6ee4999ffL,
  69679. 0xf2fc0ac93b15ac85L,0x645c919b43ced35dL,0x00000000000001d9L },
  69680. { 0x543749ecccb952e0L,0xa05917794fd35411L,0xaf499a4fecd3e486L,
  69681. 0x3a78d1f489b19c12L,0xe110f2333129acbcL,0x13e4941b73ea2d43L,
  69682. 0xed5c7b9f61892b8cL,0x9cbe3ebf9fd89b47L,0x0000000000000092L } },
  69683. /* 39 << 238 */
  69684. { { 0x5abb2e1f0648f550L,0x6f964c0a58d46cc3L,0x568ceb9058852020L,
  69685. 0xe01f9481e794a871L,0xe5687af6d5c440dcL,0xd88b9baa6ed0bf7dL,
  69686. 0x8730befb073a24f1L,0x950d38f59614bd97L,0x00000000000000d5L },
  69687. { 0x49e471eba5517b5bL,0x1fdc6a0f9ba2bb7eL,0x9e3baa4d4a47f403L,
  69688. 0x96ba18b57bbc5ccbL,0x570a28b31bbd2780L,0xbf948e37002edc95L,
  69689. 0x6a92422b11a4eca3L,0x00a21cb769b7b1c1L,0x00000000000001e8L } },
  69690. /* 40 << 238 */
  69691. { { 0xff9f5e5ed7c958a0L,0x99585b2f434a426dL,0x07b475a96db1ed0eL,
  69692. 0x1ea7f5d7a973929cL,0xb4006a0b7bbc180bL,0xa86f75d4925bfaa9L,
  69693. 0xf986de1075c8a7e3L,0x43e74f08f25ae706L,0x0000000000000088L },
  69694. { 0x4ffd5c105068acf5L,0x6ffd7eb6063d53ccL,0xe899d17938343cb5L,
  69695. 0x9451a0150a3df7beL,0x8a581525a24b1528L,0xe5dfdb1b67a03545L,
  69696. 0x715d2b87caaa5064L,0xae4594ce0ea125baL,0x00000000000000c5L } },
  69697. /* 41 << 238 */
  69698. { { 0x3d8b52ea7a44f134L,0x9831076a6478318dL,0xc343c2e93314ea42L,
  69699. 0xce35d8739724b677L,0x4f9c688b8f14677dL,0xc7c080a58d1bc77fL,
  69700. 0x512359ab2b8053a1L,0x5bcae66250c3b651L,0x00000000000000aaL },
  69701. { 0xc82f3a8769afbb4aL,0xb073c1da2d601213L,0x68d6cf6518ce0d09L,
  69702. 0x620f23a591c7fb05L,0x938c96dc6d56e8edL,0x966e1f705007a705L,
  69703. 0x3e4a940a2db66d9bL,0xac446031d466e3ccL,0x0000000000000026L } },
  69704. /* 42 << 238 */
  69705. { { 0x87aa2f8da0cc66f1L,0xcf4b9975e899fbf0L,0x45cc21ef33edf673L,
  69706. 0x7005319b091438f1L,0xc1e62e05fd50eaacL,0xe49ef8a210d2041dL,
  69707. 0xf49778b07531821dL,0x8390c7378c684a3dL,0x000000000000012bL },
  69708. { 0x435518173d6cf7afL,0xc011d17b97f2560fL,0xd222f97d5c29d8b3L,
  69709. 0x5a9ffa8ccce3a4e6L,0x9271c90c8587b8ccL,0x73277e5099870509L,
  69710. 0xe004a07eeca76a93L,0xff9a8582086c9530L,0x0000000000000115L } },
  69711. /* 43 << 238 */
  69712. { { 0xb04a4b529d47f4d6L,0xa1c4d096aee9c324L,0x98e9d57517076ad9L,
  69713. 0xea9ab91c22dea26cL,0x58e4d80a64a5ea57L,0x2ec9a6e0dcb2a76fL,
  69714. 0xd05f78756a1249a1L,0x0cb424f2ba719843L,0x00000000000001c8L },
  69715. { 0x20832c3e5f3b404eL,0x033963e7451b36cbL,0x74046f923cc7d7f7L,
  69716. 0xdfe2ad55c47171c1L,0xe7fd701821fb7d83L,0x7bb4722bf8319c2fL,
  69717. 0x1b7cb3224986e88cL,0x7ab64a64a9ab0760L,0x00000000000000bcL } },
  69718. /* 44 << 238 */
  69719. { { 0xaa0898403516e4d9L,0xdfbb159afba094abL,0xdcb895e26bb49ebfL,
  69720. 0x7a7b572756cf3c64L,0x52861b3c38c7bc1dL,0x7c34176c27352c7bL,
  69721. 0x5b3cc2177d33ae38L,0x4a2083698c494a63L,0x000000000000002eL },
  69722. { 0xd32926625f514fadL,0x5dee99706020b420L,0x8aff8c84fdae8486L,
  69723. 0xfdc0ee6551e60c42L,0x564287bd236681daL,0x6da3e12ecaa82af6L,
  69724. 0x6d17c67ce1efbe58L,0xa0334020ccc6c519L,0x000000000000006aL } },
  69725. /* 45 << 238 */
  69726. { { 0xea94c88e4fe1d344L,0x0a08e3ce5bb17e77L,0xfa1bfe20b9b51a79L,
  69727. 0x8d455cf8fb324d32L,0xe58f0de564d6dc3fL,0x01e80692f396b39aL,
  69728. 0x86a1250628441338L,0xa81733dd8e134355L,0x00000000000001e3L },
  69729. { 0xb5952292228e3d82L,0x3582cb17e1eb802bL,0x84129ab6accfd9feL,
  69730. 0xd3cbf4eca3db67b7L,0x5dfcb4576325750dL,0x638916ed9030a81fL,
  69731. 0xa26d196d5d39a3b3L,0x26d30fec1b8864fdL,0x0000000000000124L } },
  69732. /* 46 << 238 */
  69733. { { 0x6c72d4108c03da42L,0x3b05e597d8d0e71eL,0x947e55e37b5f1e9dL,
  69734. 0x3c899ff708629865L,0xffbb711ddaaa3d57L,0xb888cf7bedecbe75L,
  69735. 0xd7b6bd46961d1f1eL,0xda9a7125dc451900L,0x0000000000000121L },
  69736. { 0x683d251ae65785ccL,0xd00439685a2422c2L,0x6d4668e5d36c1417L,
  69737. 0xe8df49820c580ec5L,0x80f79552b28680aeL,0x4e777d7eab114520L,
  69738. 0x67995b1ae5b2f6b7L,0xddedce535855291cL,0x0000000000000064L } },
  69739. /* 47 << 238 */
  69740. { { 0x219101904aeb5bb1L,0x3e9a204ae5de24ffL,0xe8ec4721ae3b23c7L,
  69741. 0x1e87147a6dc89b75L,0x13ca53950d19680dL,0xf1352672920c68b0L,
  69742. 0xc6cc77db4ad11314L,0x78d984df75daeeeaL,0x0000000000000186L },
  69743. { 0x6cad576e442cc089L,0x74bd0f59409ad43fL,0xfb0ec10fcd1f82dfL,
  69744. 0x6b46a052bf822010L,0x90658aa13d6c9741L,0xa56000a1d91bb102L,
  69745. 0x7c8e2b47f0edb777L,0xc0607199447fdf10L,0x00000000000000faL } },
  69746. /* 48 << 238 */
  69747. { { 0x0609a97b58033238L,0x5b9678b1d40689e9L,0x4ecd26c3986c40f7L,
  69748. 0x7a6083dc2002e8ffL,0x73fd1d708b769797L,0x0fa7df7924e06e55L,
  69749. 0xfa7254f8d49b9efdL,0x742ad69df862350fL,0x00000000000000b1L },
  69750. { 0x78e2366a314a07f3L,0xd0ecaebdaa487012L,0xfb13a82507fd4b1bL,
  69751. 0x6ee4483aec0c854aL,0x0e7d617e72fd006eL,0x0cdfec5b291b4018L,
  69752. 0x2b9fa205f66cca32L,0x261f67f6149d20deL,0x0000000000000075L } },
  69753. /* 49 << 238 */
  69754. { { 0x664c27d0a20d557aL,0x896b2675f0744080L,0x8beaf01afc5af408L,
  69755. 0x40ffc5cd38622d77L,0xc43885d4a2528371L,0x81e1f6745b02e290L,
  69756. 0x4916d18799d1631bL,0xb223123e8dd86517L,0x000000000000009dL },
  69757. { 0x40d9d05f2fb7c4aaL,0xe40e4753a50abfbfL,0xf850526214078e53L,
  69758. 0x5e24344182804fa8L,0x7915bb4726da0a8fL,0xb2c6b557779d3504L,
  69759. 0x04e9ded5050e4e95L,0x9e99a2bb5f476a78L,0x000000000000006bL } },
  69760. /* 50 << 238 */
  69761. { { 0x6c34a56a6ea0b1cdL,0xc71325505a787710L,0x7b88ee97e9a5ea07L,
  69762. 0xe74726638239f9a0L,0x4d37a6dde17258d3L,0x15bae9319708c6bbL,
  69763. 0xc174958fbbc04aa0L,0x7625733b86528ebdL,0x00000000000001efL },
  69764. { 0xafb5465248095b06L,0xc1c05fafd067b459L,0xa6ad20025bc1a76aL,
  69765. 0xaa096c10cd725a94L,0xd37e975f282785d6L,0x2ab89b9ff67d3a9fL,
  69766. 0x5d6f3ed7b7b6e4c2L,0x04ff41ca29502853L,0x000000000000005dL } },
  69767. /* 51 << 238 */
  69768. { { 0xc888d1d441ece6c0L,0x26df9e1bbfeb1062L,0x0b4ddd821bb94aa4L,
  69769. 0x71efd8d119ffddd7L,0x9b3998224e47d498L,0x59872b31aa653dcaL,
  69770. 0x759a84fb2712e2c9L,0x398af98399e74778L,0x000000000000007aL },
  69771. { 0x35ebaf9392c7b6c2L,0x8bacd47278141bd8L,0xd60364f09c53d1e9L,
  69772. 0x790e9dcba27a7a57L,0xb5e554f8991e40b3L,0xc7f3ce27da7a13f5L,
  69773. 0xfb65dc3926398b00L,0x2c6cb9b8229dca96L,0x0000000000000036L } },
  69774. /* 52 << 238 */
  69775. { { 0x46d6266d92756c0eL,0x3164f6a8305e1611L,0x65dfea3d613b00c0L,
  69776. 0x75ea9ab9571828a5L,0x5184dc138be872a9L,0x8c59c14192347d22L,
  69777. 0x96b331914baa4678L,0x0d34cc5a2ae17a1bL,0x000000000000000dL },
  69778. { 0xc05c3c516fcb342dL,0xb36a7efb677d6ea3L,0x016811b2a8067b2bL,
  69779. 0xffff97f94822fa85L,0xfc646b5145883bb0L,0x56c40d49c28d61dbL,
  69780. 0x91be8847eadd1593L,0xecf0a8f5128d8ad9L,0x000000000000002bL } },
  69781. /* 53 << 238 */
  69782. { { 0xe276b588d7262b3fL,0xa64b1324064fc6ddL,0xf82cb69a9cd02e25L,
  69783. 0xf399f6f385ba9d89L,0x3903c34dc52f03e2L,0x91d41630888c7aa6L,
  69784. 0x0402b6f8cc39ea02L,0xfda829d4f8c6dce9L,0x000000000000015eL },
  69785. { 0xba3c550fb2f9160cL,0xc4ef6745e2ad5099L,0x528d3a72cba7c269L,
  69786. 0x38e13dec67106a10L,0xff878c2e05687e58L,0xa6f53fec246e5459L,
  69787. 0x4f30e0c2f126c843L,0x4d3dedcbbdfc0320L,0x0000000000000131L } },
  69788. /* 54 << 238 */
  69789. { { 0x897294e8dbf874eeL,0x84ec352267d9abddL,0xacb0e94b830bb2fdL,
  69790. 0xe4e81bd945db3a07L,0xfb029eaa52e22815L,0x920edf272170ad75L,
  69791. 0x4ebb3c5001e13530L,0x01db6df29b62da53L,0x0000000000000096L },
  69792. { 0x555a5a6823815d09L,0xc3c7463a59449b21L,0xebfe5fcc964b5b8bL,
  69793. 0x1683e495c2076735L,0x361c14526e18bdb3L,0x14496fa3aa0ef3fdL,
  69794. 0xdd45b105a48eee14L,0x91cc21d205ac61dbL,0x00000000000001d6L } },
  69795. /* 55 << 238 */
  69796. { { 0xb539df1f919748f9L,0x942df28d9ab585efL,0x22d555d147e56084L,
  69797. 0xdee5bf1a34baa8ddL,0xe9eef1adca2d8eb5L,0x78505f54b404690aL,
  69798. 0xe4d77116b87f8bd2L,0xae4949dbdcee6b7cL,0x0000000000000177L },
  69799. { 0xb6861e9ac81fd641L,0x113403993596b4c9L,0x588dcca1444a7b1cL,
  69800. 0x573e6b83df0cc0d5L,0x429e5ae8d6610ceeL,0x060d9bb429bd62d5L,
  69801. 0x1337eefec513318aL,0x5c3cda2664cc2019L,0x0000000000000081L } },
  69802. /* 56 << 238 */
  69803. { { 0x436121db4291d3c6L,0xdb32e56791d00413L,0x17e048dfd571849fL,
  69804. 0xcadf80d09d174b7aL,0x504fcd8cf3a16f6dL,0x0bca040b55a79e74L,
  69805. 0xae5e562a9dd8e72cL,0xa2ad35266d83c58fL,0x000000000000001cL },
  69806. { 0x68cc0e2f8be48c08L,0xa4cf89f3a957cc18L,0x7ee580a6720e8f3aL,
  69807. 0xd45347c5ce9222edL,0x2043ba4b964685a9L,0x8a59c2fd1ad8acb9L,
  69808. 0xb2ab5a3fa3a1fb58L,0x6f0d28c3e7a7befeL,0x0000000000000060L } },
  69809. /* 57 << 238 */
  69810. { { 0x02c32597e24f4558L,0x6b8cd177f3b8d3e7L,0x51fac672365fb517L,
  69811. 0x5553c4053855aaf3L,0xfa6c278a2250753aL,0x5c1b7cbccd07fcbbL,
  69812. 0x84300435520e2f45L,0x4913a52b00bf3f6aL,0x00000000000001a0L },
  69813. { 0x438a1803fb3388e2L,0xa15ebc4ec2b44780L,0xa830255c9087838aL,
  69814. 0xb7e6abf7884847d1L,0xf31fc86eaba507f4L,0x72009f406675e50fL,
  69815. 0xadacd3a574ec178aL,0xd6d36127afba1b1cL,0x00000000000001d1L } },
  69816. /* 58 << 238 */
  69817. { { 0x768d163a3a14efdaL,0xa080b14468d84579L,0xd477061fdb39ae5fL,
  69818. 0xbfea91ebc229bda7L,0xe28c79fa07f1e026L,0x0a0fb62d143ffd3eL,
  69819. 0x41b2fbc3a2ac222bL,0x184753613ba365f9L,0x00000000000000f6L },
  69820. { 0x70329a2a27d288b5L,0x02abc5a928617e54L,0x14f646bfa0ba713dL,
  69821. 0xf5b3652fb5d28656L,0xe0841164ce97deccL,0x0aa84aa74b63dcf6L,
  69822. 0x59613768715e4e05L,0x23d572c0c884e71cL,0x00000000000000adL } },
  69823. /* 59 << 238 */
  69824. { { 0xbff79e46c5aae205L,0x4c77219362eb2de7L,0xa6d723f0b383be53L,
  69825. 0xc2f26458e641839bL,0xfcf6980d5442a5ecL,0xc755fd48bfc3bddbL,
  69826. 0x7a1a100b9504bc93L,0x8864ef9fedf3f45aL,0x00000000000001dcL },
  69827. { 0x58dd0f0e5a20814fL,0x52770e9bee9ed846L,0x64c23fef02e82a1aL,
  69828. 0x4fbca3bc96d16619L,0x547101a099489c36L,0x92869dbbaffda8d9L,
  69829. 0x28fe8e2924c28bf1L,0xa859941e8b9885bbL,0x00000000000001e7L } },
  69830. /* 60 << 238 */
  69831. { { 0x33ccf08de10db8f5L,0xe481ea75d2b4cba5L,0x8db73d5bee9cdb6fL,
  69832. 0x5d11d992b5c523baL,0xe9d79978d11b927bL,0x61be8fc17a355c88L,
  69833. 0x5c31c7a65a062e74L,0x2aff5a1117a4a844L,0x0000000000000061L },
  69834. { 0x9f5386773c9f31b4L,0x7f7681c7766dfcb0L,0x1d759dd9cb41b746L,
  69835. 0x1842ce5a3df8b332L,0xd6650a1d46cf5438L,0x3afad154d8e57a31L,
  69836. 0x72df5ed3c779ec95L,0xa9f04f62733f1f9aL,0x0000000000000072L } },
  69837. /* 61 << 238 */
  69838. { { 0xa4c9bad76cd25119L,0x0893c15c677a2ff2L,0xd4c74a285fa5309cL,
  69839. 0x811ace597343a331L,0xb4a1a3738b5d30f1L,0x2d2b14a4650fba78L,
  69840. 0xf38fc6d263c2365fL,0xc7ab7a5135ada1beL,0x0000000000000021L },
  69841. { 0x24c8de56b90ba651L,0x47e5107fc3a16ea7L,0x48d7396e8d859e56L,
  69842. 0xd9eef922d1c2b3d0L,0xf7d7c0fa24267a36L,0xc1b416e77f92ade4L,
  69843. 0x88ae119ef0634ab6L,0xe2c4fb17dc882f42L,0x00000000000000f7L } },
  69844. /* 62 << 238 */
  69845. { { 0x5678bea8848f8152L,0x09edf78a2db8f5f7L,0x577354a80e7a5101L,
  69846. 0xde84b145d55f3d58L,0x6ce8a6e52f8a88c3L,0xab0c3fd1f9ac5318L,
  69847. 0x163316926681788dL,0x4e1eba4bb9aac85eL,0x00000000000000afL },
  69848. { 0xaf37fba2668c4bf9L,0x5916958ee908dc73L,0x3b15e5e0d1351d09L,
  69849. 0xcd0e3ea56388db27L,0x37a3364b5ddebef5L,0xf881e32c12e18700L,
  69850. 0xd52db48980d36881L,0x67630057f5db73f9L,0x0000000000000094L } },
  69851. /* 63 << 238 */
  69852. { { 0x1574e5fe8e01c90eL,0x9a04e874681401adL,0x29186da48992dd9dL,
  69853. 0x2625bf89f6a91151L,0x7292c99664fb81e6L,0xdb4e7747f161c777L,
  69854. 0x21977978208c9469L,0xa25997d421d3699eL,0x00000000000000ecL },
  69855. { 0x3546a978ddd52ddbL,0x9242e4d42d7cf82fL,0x1080e50bb80f359aL,
  69856. 0x70bb06fc98035b62L,0xf1ea6ee2098bbe60L,0x0e5cc73d8ba58df8L,
  69857. 0x383ef670e8608307L,0xfdeaac2ef5e05b50L,0x0000000000000064L } },
  69858. /* 64 << 238 */
  69859. { { 0xdd9166282d3d7641L,0x99029e9b39c02ceeL,0xce03fac9b6de7881L,
  69860. 0xc2cd0f784f66ebbcL,0xe391948364c83e37L,0xfc853cb8fd7bb155L,
  69861. 0xa5a99b24432314ccL,0xef0b7ed0133b2709L,0x00000000000001d0L },
  69862. { 0xe4c4d8a054de3ecbL,0xe2f88ac25f8cb5ceL,0x17a4e60d68eb11a2L,
  69863. 0x6d0e05fb3b79619aL,0xa54874b7d5da75efL,0x18c2b1b3c77f6ac1L,
  69864. 0x5a2a6fdd829736c3L,0x9ce62f22cd44843bL,0x0000000000000059L } },
  69865. /* 0 << 245 */
  69866. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  69867. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  69868. /* 1 << 245 */
  69869. { { 0xc3e525d2afd7c4f7L,0xc11fd457ae2b9475L,0x6cf55e765d48ead5L,
  69870. 0xf9546fe48f93eb95L,0x3e3712a75e124ba8L,0xcb71caafcf7a3e81L,
  69871. 0x512060172f3d629dL,0xe226fe2dbab1761cL,0x0000000000000079L },
  69872. { 0xbb618c7bf963a03aL,0x2fd9211cd55e0ab2L,0x25be6c8a20dfe924L,
  69873. 0x40f5ff09135b7156L,0x7770ba4af706b788L,0x5a2146e0dc114357L,
  69874. 0x48f25eda54b6fae3L,0x5adc7aa519ead5c4L,0x00000000000001e3L } },
  69875. /* 2 << 245 */
  69876. { { 0x21e292cb67355505L,0x7cdf9c24e192a20dL,0x07228775f6753eecL,
  69877. 0xcd83121b93217c7fL,0xf6e99141ad41ce70L,0x2214296a41a8ec10L,
  69878. 0xcdf7237b0200ddb1L,0xe2d943f5c7ca562dL,0x0000000000000056L },
  69879. { 0x9f743d7c9627a12eL,0x33ff2e7e31099d8aL,0x3c9e84d12a07248aL,
  69880. 0x9cbc405a6136b3f7L,0xb131c000970be1e5L,0xea9c160b84162e6bL,
  69881. 0x1c54fe695ba3f7a9L,0xd5a98fdcd51b962fL,0x000000000000015dL } },
  69882. /* 3 << 245 */
  69883. { { 0xd01bfb1f891d513fL,0xacf22e961375d0d4L,0x6f5c76f9d43c24f1L,
  69884. 0xa220f50707a66e1eL,0xa0b91c2af227b93eL,0xefe049868fc8f377L,
  69885. 0x58482184fbf6c7cfL,0xb224b543cab58946L,0x0000000000000094L },
  69886. { 0xe07e7d7914855341L,0x68881fb60a675863L,0x4083d236b9736e0fL,
  69887. 0xec6ce43102dac8a4L,0xb0477cf188891340L,0x67c0cc0512cd1f4fL,
  69888. 0xf3101c296f7b5340L,0x60f49d6d1e980837L,0x0000000000000116L } },
  69889. /* 4 << 245 */
  69890. { { 0x3cd54b988ffa8932L,0x73a8c09947855c60L,0x5272d16b3ecc6b44L,
  69891. 0x7cf96927b4e83ce5L,0x08af41c8a3908edeL,0x98de920a73495d2bL,
  69892. 0x6ddc94e1be247419L,0x0936e34f5e3e7c96L,0x00000000000000acL },
  69893. { 0xf3b1a1aa9d269d4bL,0xb20aff071103e749L,0x9a43c7a4632098aeL,
  69894. 0x221c12cbf450a9eeL,0xf04a8e7c7f773a12L,0x427a8cccb2ad0ee7L,
  69895. 0x93f7ee9dc0b2a786L,0x6592bb0089bbc18dL,0x00000000000000fdL } },
  69896. /* 5 << 245 */
  69897. { { 0x8f1c77f7a9e8cde3L,0xeb057a9562fd5799L,0x8428a885dbee1bc1L,
  69898. 0xaf8c03c38acd2865L,0xd5c2c0039061a6feL,0x4daad9cad2016bd3L,
  69899. 0xf698f86cd10ce994L,0x5da25e28b620fd65L,0x000000000000007cL },
  69900. { 0xe3162c8fff2198a7L,0x60b05d1f9084af55L,0x64ecff3c74ccc32dL,
  69901. 0xadde221a29f6e28aL,0xd6d98db85f2a1653L,0xb661bb0b597a14a9L,
  69902. 0xbaa4d0b80bf62ea4L,0x60b8da55e7feeacfL,0x0000000000000118L } },
  69903. /* 6 << 245 */
  69904. { { 0xf760f828ebf01d55L,0xd9e13bb2143c38d6L,0xdd69a7832620bb25L,
  69905. 0x6d16106459a570bfL,0xda4ed76759a7c1a7L,0x5b07d2a0a22ce561L,
  69906. 0x2d1614b0616ba6a2L,0xc2c99b092013b7b5L,0x00000000000000f6L },
  69907. { 0x532f835b6606eb53L,0x11e4eb8cd0fca568L,0x3d12bcb83abd1c3bL,
  69908. 0x293651b7eeebaabbL,0xe49cf58535da243eL,0xf0377e4414e175c4L,
  69909. 0x12a1f99f39a28cfcL,0x5b3c4c81c02ecdf6L,0x00000000000000bbL } },
  69910. /* 7 << 245 */
  69911. { { 0x6670d91e241fce4cL,0xeff7977950cec570L,0xcbdafc5ecfa2eafaL,
  69912. 0xa40c09e53265b4a2L,0xc4fb20c0fb68c280L,0xdd0b12e9bb2e6910L,
  69913. 0x31437bff0f2bc13aL,0xa92209d7493eae11L,0x0000000000000124L },
  69914. { 0x0dfa947c893d23e1L,0xed7f8f9c103e6b81L,0x2dd62ed73002e4c1L,
  69915. 0x6ddda0871f9973e2L,0xb79ed2773b014d60L,0x12fbda2fe51b686aL,
  69916. 0xac9c34b6911b0e3bL,0x6fa28f425f117d64L,0x0000000000000106L } },
  69917. /* 8 << 245 */
  69918. { { 0x1ebc5309b6bf5ec4L,0x29ca5ba73a92ba16L,0xbdb1bce470839c14L,
  69919. 0x963fd369de1f966cL,0x208fdc754faba5b7L,0x2f1ea65a678fc163L,
  69920. 0x792fa255a773bbc5L,0x752a08fab22a653bL,0x000000000000008fL },
  69921. { 0x096aff662e58f405L,0xee92b17dd6658910L,0x65792cb3d33b5b5aL,
  69922. 0xfa503f215678f269L,0x4e2757c8efdffc67L,0xbe46a6f1665347f5L,
  69923. 0xd049a1586d9773e7L,0x9555b002b0a28ac5L,0x0000000000000145L } },
  69924. /* 9 << 245 */
  69925. { { 0xa7c17d0350b289b1L,0xe3a9a8a3443f567bL,0x9c99bd6ac3e63db0L,
  69926. 0xcf6a4c889362bf69L,0xbba95ac8927e459cL,0xb80f52a8dd937105L,
  69927. 0xc518fc9b74c7d215L,0x8fed53990bae5104L,0x00000000000001ccL },
  69928. { 0x2389f46b189ab2bdL,0xf139d7af7d235907L,0x9aca655892901705L,
  69929. 0xbdcdd09046ee4c1bL,0x0a0a655db42f41a5L,0x284d525ace537427L,
  69930. 0x18dd8dea58dd7840L,0x379387c05ca95c31L,0x0000000000000040L } },
  69931. /* 10 << 245 */
  69932. { { 0x239fc64e9727b936L,0x1de0020395de5e1aL,0x219a07de1a43157dL,
  69933. 0x2f427b59cdcec250L,0x557502cb4c36c8b8L,0x537492cd37e0f19fL,
  69934. 0xe3d2dfb34d57d9a8L,0x48ef0bf3324ed81eL,0x00000000000000dcL },
  69935. { 0x9315dbc85a1538b2L,0x0591ee6e61aa41f9L,0x0c0c5fc2151dbb76L,
  69936. 0x651f06aff4c47091L,0x89a2c2611a1f91b5L,0x6fe23d1b6d668c27L,
  69937. 0xf8dc9ee1aec2fdebL,0xe253b8d8cc0d69afL,0x00000000000000bdL } },
  69938. /* 11 << 245 */
  69939. { { 0x9eccc0619669ebc7L,0x7bf661a6126d010aL,0xe72acef27390cab5L,
  69940. 0xe4a7f348dffd3e7aL,0x3e37551fb1e12c74L,0x53e9e142887a122aL,
  69941. 0xb0209d65daf5f134L,0xcff03a74033bfc15L,0x000000000000011dL },
  69942. { 0x3a133010d1f95cedL,0xdec6cfb744c85df0L,0x31308eafa9e486feL,
  69943. 0x454ed725f49d5ed4L,0x4a3e969ce6dd4580L,0x6feab60dd7bb11baL,
  69944. 0x9cd05773f075d873L,0x010563d04c9c43e6L,0x00000000000001f2L } },
  69945. /* 12 << 245 */
  69946. { { 0xfba8a8a05b07b574L,0x936590094fae646eL,0xdf8077f4446c60c1L,
  69947. 0xb7680afc92fd0bc0L,0x1306288acacfb628L,0x674a6a5a74ed5a73L,
  69948. 0x75a261a6d68d0dd6L,0xa583ee269868f3d7L,0x00000000000000ceL },
  69949. { 0x62c16e2068186114L,0x2403de3e993c15efL,0x1a539413fcfda8e5L,
  69950. 0x97f7f8afd65a7fc5L,0x72fcd1fd33fff67cL,0x83b84ac442b4cdceL,
  69951. 0x8b56062c4f14b831L,0xe29d467a09559420L,0x000000000000015dL } },
  69952. /* 13 << 245 */
  69953. { { 0xcfd36b8773920568L,0x199605c3bd6b45d1L,0x3d17e798231be8deL,
  69954. 0x93901889a9b26b26L,0x922f8d5d101ebf1aL,0xdcb7b7b5e9748c52L,
  69955. 0x87e18bc1250b67efL,0x1e23453034bdfc23L,0x000000000000016eL },
  69956. { 0x604df42a18efccdeL,0xfa49291cf9a7eb84L,0x1685a7f7495c62acL,
  69957. 0x58a272e26b469c70L,0x7fea89e721cc23beL,0xa979783e76435dfaL,
  69958. 0xe993c6cff9404884L,0xb653fe56934876d1L,0x0000000000000079L } },
  69959. /* 14 << 245 */
  69960. { { 0xe586141f43c118d1L,0x0d76256cbe65c263L,0x8f0413fd8fb5ce5aL,
  69961. 0x451d3b65c1f76b2bL,0xf9a2ed094e7dd6faL,0x538af492d1e10a14L,
  69962. 0xb8e78de206963767L,0x59887d285b003a25L,0x00000000000001b5L },
  69963. { 0xc9b05b2112b423aeL,0x6df1631e64549910L,0x1eea65ded96c323bL,
  69964. 0x6d740f2bfd188fb9L,0x73b45366ed093cd7L,0x987a12abdcd33ed0L,
  69965. 0x5807600262ef953cL,0x58db0e16370b300dL,0x000000000000012dL } },
  69966. /* 15 << 245 */
  69967. { { 0x9fbc14aadc38ead1L,0xb9f7df7f1a362565L,0x0745197f6a333aefL,
  69968. 0x73dccd67666cc110L,0x8f3f2dff9fd92535L,0x7e7180ccf014a6eaL,
  69969. 0x59028fc434220f3cL,0x92c45cc3fcf7431aL,0x00000000000000e3L },
  69970. { 0x8b17b3e2eb8c17e2L,0x2b02cf29251a6593L,0x415193432efcf7e8L,
  69971. 0x359e00a1d098ec6eL,0x25f8934e771d7b65L,0xb51d511b14852dbeL,
  69972. 0x36c3fe357bd243eeL,0x36a7b1f3424f4d55L,0x000000000000012eL } },
  69973. /* 16 << 245 */
  69974. { { 0xb09a3e8b160e37a4L,0x8ed9ac0627db36b6L,0xecf1838a99cbfcbeL,
  69975. 0xb12c94da28b4ee00L,0xd0841818c5f1fdc4L,0xc43e50b2bee0adf4L,
  69976. 0x19f3f05b122324c6L,0x796bac65988338bbL,0x00000000000001e3L },
  69977. { 0xf211af1ab50f7626L,0xdecf7989ca2f6779L,0xcbba6b74e1ecbba1L,
  69978. 0x73f60e835e5fb261L,0x3eebd6890629dd5dL,0x8906a06e05fba7eeL,
  69979. 0x7a23d83a58152375L,0x0f4b9b2de9f1d23dL,0x0000000000000009L } },
  69980. /* 17 << 245 */
  69981. { { 0x6ce126e4d85698daL,0xf003860ccf075ef6L,0x94424096d5716919L,
  69982. 0xb0087ff76be87caaL,0xbc01f71788808904L,0xcdcb3e3812c3e361L,
  69983. 0x66f47afef1ea9907L,0x2ff5843cd4fd5d8cL,0x000000000000005dL },
  69984. { 0x75de692e3ba79e08L,0xc49213b6aa146821L,0x61e443642707efa7L,
  69985. 0x2fd64e12f5923cdeL,0xe51ec2ec37fea533L,0x03d72d4d2b36407eL,
  69986. 0x6b84a2abe430e4e0L,0x1a1435c7bb4cafc2L,0x0000000000000028L } },
  69987. /* 18 << 245 */
  69988. { { 0x109514806348bb81L,0x58ae664bb1393e25L,0x206c4681f3ace22dL,
  69989. 0x5984dabba050e142L,0xe1505d6e42ded28eL,0xfe2d93213e9a8afbL,
  69990. 0x93770eed1a368d4eL,0xd3341598faa53c5eL,0x0000000000000136L },
  69991. { 0xf6818bc6a2785e49L,0x4cead604627405ccL,0xfcf4a9e7f9aa0a7cL,
  69992. 0x8edff908798642c5L,0x34760c98e4554131L,0xb0849ed68b48863bL,
  69993. 0xe5ed18d214caa88fL,0x556aff0a0cf7a0e4L,0x000000000000002eL } },
  69994. /* 19 << 245 */
  69995. { { 0x8cfd5c7326c01d7eL,0xce0dd0049cc28137L,0x7bdb6939b057fe81L,
  69996. 0xf5655f1d1a601839L,0x700651ddc4d38ed8L,0x4715da6ad0c0338cL,
  69997. 0x7c55a32fbe60326dL,0x30b13a3e98b89aa3L,0x0000000000000038L },
  69998. { 0x557d7dd83a5be149L,0x102ac658be542331L,0x66ff48f819017e3cL,
  69999. 0x27a63afe85e0ba4aL,0x432a65afa1825871L,0xd6468f214e9d0950L,
  70000. 0x096b0aeda4e2a365L,0xdb22f9adc561a95cL,0x0000000000000046L } },
  70001. /* 20 << 245 */
  70002. { { 0xa85ed91b7adf4067L,0x5b954f9965cacc6bL,0xb7da20a12f4aa0c3L,
  70003. 0x23a0819e1862e363L,0x6c89e6eef4277b93L,0x49352790f3cbf94eL,
  70004. 0x05e6e05515eeb890L,0x36ead153d2477c80L,0x0000000000000152L },
  70005. { 0x8ff423f9e980c969L,0xc70c24c96aeda7ddL,0xd2de4028b39df2f6L,
  70006. 0x39a559b5f10f8f9bL,0x63fd365c5f8db29cL,0xed98f7141e8cd83bL,
  70007. 0x1a8436d2a9f2a6f0L,0x089cf3ce58244f99L,0x00000000000000eeL } },
  70008. /* 21 << 245 */
  70009. { { 0xa9fd702dd495b62dL,0x766d1e6148af0c7cL,0x47f352707278e7c5L,
  70010. 0x2aa27ecc84042027L,0x52159d31712a50d9L,0x180d507f699ec99eL,
  70011. 0xe39fe323c1243d21L,0x7401559b0f3447e1L,0x0000000000000004L },
  70012. { 0xe920ac3e65cb715bL,0xd8cb492cf07c740fL,0x833b8edbf1d5efc0L,
  70013. 0x43948f5714286a01L,0x935934879d912791L,0xb5a2432fb3767c2cL,
  70014. 0xe21bc65688710c3dL,0x1a221b9a8df3f76aL,0x0000000000000077L } },
  70015. /* 22 << 245 */
  70016. { { 0x387b2584b1906296L,0x8584a570a0a5329bL,0xb0661a62c81806c4L,
  70017. 0x5ad2e7599a819368L,0xd0ba7b8c1935cf34L,0x9333ac71b650c085L,
  70018. 0x8c44bf98270788e5L,0xa1cab6f9e489817cL,0x00000000000001a9L },
  70019. { 0x44b0c84dda4fcce7L,0xe0dc701408d74a53L,0x29f3c3aaf88d0826L,
  70020. 0xc605de2dd59e82c3L,0x5a98c98fc992079dL,0x356000aaded5509cL,
  70021. 0x4574e63a9a00a60fL,0x02d48eb1e09e5c5dL,0x000000000000000eL } },
  70022. /* 23 << 245 */
  70023. { { 0x97d1f1180b0ff62fL,0xfa0770e729e1d0f6L,0xca7267da66d367dbL,
  70024. 0x5b45034eddb1fdd8L,0xb3c238531ac7f4bdL,0xa4b9b677a12063dbL,
  70025. 0xfc210b01c13ec6ecL,0x08dbbba6a89a2e69L,0x000000000000003fL },
  70026. { 0xe4ea8bbb6db96407L,0xfbbdda3e4fc2c9b8L,0xd18a140e6d2779d3L,
  70027. 0x61cd8ce8845b983cL,0x6761497b8625b6adL,0xd2cb01c2f6ed8b35L,
  70028. 0xddb4236ebbd0de0bL,0x5b9f0f78c73e54a0L,0x0000000000000097L } },
  70029. /* 24 << 245 */
  70030. { { 0x353ae6fd77b9aba6L,0xbaab19af013f3158L,0x14d0564c7b9b7aaaL,
  70031. 0xe591b96a2d9ff473L,0x327e3fb873f46109L,0x61c0191e6be11242L,
  70032. 0x9696f1bd6345cf6dL,0x3dd87573684c060bL,0x0000000000000058L },
  70033. { 0xdab49ba0285a6ddeL,0x7d66e2c3075ea1c1L,0x721973502d8ce1f9L,
  70034. 0x5e64c366ae730c53L,0x17154d6dd30475e5L,0x14153f7a3341d88bL,
  70035. 0x711dfab66235304eL,0x0e010897bd4533fcL,0x0000000000000177L } },
  70036. /* 25 << 245 */
  70037. { { 0x90afab7861c062deL,0x085ac4c2aae92dfaL,0xcdd94ace38f3885aL,
  70038. 0x6c65b82d47a3478dL,0x66eee2c9f6eaaf3aL,0xe8a38973dc89840fL,
  70039. 0xd2521b00921f59d0L,0xbda51f4f1181d481L,0x00000000000000e5L },
  70040. { 0xe3827db66a211907L,0xf410b7cc6515551dL,0x09bbd3d40a46f1f2L,
  70041. 0xdaad1c9c2e0d139eL,0x54b99d040d9c10adL,0x9f1f110e278404afL,
  70042. 0x29de72bad41fbe0aL,0x6f428ceb3c27e332L,0x000000000000002cL } },
  70043. /* 26 << 245 */
  70044. { { 0x76f0baf9f438a35fL,0xfa3966c30e5c85e7L,0x665a4870128d42bcL,
  70045. 0x8d58fb6289898e12L,0x9626f184d06176ebL,0xe88973ea03d85e8dL,
  70046. 0xbb142568436dda00L,0x712753b8eda9d061L,0x00000000000000baL },
  70047. { 0x8b191872ecfb2bb2L,0xe7642ce7114331a6L,0xd94e89fb7b3f2f87L,
  70048. 0xdb4f769e3ed434edL,0x8c523d17a03c029eL,0x3d8653b866bb80baL,
  70049. 0xed8721cc07b5bee5L,0xd64141c9844de9a9L,0x0000000000000140L } },
  70050. /* 27 << 245 */
  70051. { { 0x1181f23436682974L,0x63798602dccc4ea9L,0x80305e1d99b2ec36L,
  70052. 0x274a84d12b53add6L,0xf45a7bce6bc50022L,0x7d855ff90f7d22c4L,
  70053. 0x5ff789e9d60e96d8L,0xc84f80d186a8a1fbL,0x0000000000000087L },
  70054. { 0x49754d1d801c8558L,0xd27f7b211e49e2c3L,0xd93d0ac5d01e947bL,
  70055. 0xf581f071a6785e70L,0xe2049e7954584369L,0x300d73a40f8c465dL,
  70056. 0xaa7f684546083b76L,0x9f6345f0a50d63b6L,0x00000000000000c0L } },
  70057. /* 28 << 245 */
  70058. { { 0x6d8d90ccac308a80L,0x862fae36c3f7e859L,0x9bf414eea742e940L,
  70059. 0x4ddc964c49029fb4L,0x39750fc64a18bf6eL,0xf8942dee1635f7d1L,
  70060. 0x93e9fc2d8da2b6c8L,0xd42be164a18d4d86L,0x00000000000001b9L },
  70061. { 0xc831040e0d6c2213L,0x15f8e86f52d9e6dcL,0xcb79a0d697616828L,
  70062. 0x7953d51dae14208cL,0x6a92f51122ec1792L,0x560d3bf6a8891fdbL,
  70063. 0x418b3565a7acd242L,0x523a75944f8e5129L,0x00000000000001f8L } },
  70064. /* 29 << 245 */
  70065. { { 0x503e9a04849613c3L,0xdfe7b77ff0d7e56cL,0x6f2697fcdb76d90eL,
  70066. 0x65933ee209bd9c92L,0xd5685ecd28343738L,0x710f4176749952faL,
  70067. 0x42e023189f5d102fL,0x36d10f77f94440f5L,0x0000000000000159L },
  70068. { 0x0d4263d509266d0aL,0xdd8b8663db5bdbd7L,0xefca1b51b558c145L,
  70069. 0xf5ee60e3e70a0974L,0x37dd6d658dc33d8cL,0xfd4a3bdf6814d0a2L,
  70070. 0x153b585c1553384aL,0x7d4f0dea08b2ec0eL,0x00000000000000b8L } },
  70071. /* 30 << 245 */
  70072. { { 0x4b3eb15613fdc5c9L,0x449dcca9a182c015L,0xc78094722f93b771L,
  70073. 0xda7036300e7455d0L,0x513554a53b5a9e06L,0xec7fcdbf4fa313a3L,
  70074. 0x047528ffe3fb4d67L,0x38bdf53faef7306eL,0x0000000000000118L },
  70075. { 0x24680a5476ccdcebL,0x96e42aa84664792aL,0x02494069a27801bdL,
  70076. 0xcb8439da7bf928a0L,0xe60d6eda322f44ffL,0xb0642335e482b462L,
  70077. 0x6336c8709f3803ffL,0x92e9919ed725c323L,0x000000000000013bL } },
  70078. /* 31 << 245 */
  70079. { { 0x5e729774cb774815L,0x17da6efe704192afL,0xdb3c15ed0faeee6aL,
  70080. 0xd9b8570bec65984eL,0x56c96381470571eaL,0x6962e90b4e573376L,
  70081. 0xa7e5c4ff990ffae0L,0x4c90d86ef841ae38L,0x000000000000013cL },
  70082. { 0x27cca1fe0c9cf81eL,0x4e5348da7fef5618L,0xa59515bce0a75316L,
  70083. 0xd66ee09d1c82ccd1L,0x79be306784c1bea5L,0x13fa7967e65dc45cL,
  70084. 0xf47f47eda8987a90L,0xf329d0e19d0d80bdL,0x000000000000014fL } },
  70085. /* 32 << 245 */
  70086. { { 0x75b620639659f9e9L,0xa5568027c4b6dc18L,0x1c5dbfff1f499e7bL,
  70087. 0x35b20ffdffa60eebL,0x4368ac975e2237e6L,0x502c0e789ed425d7L,
  70088. 0xf8877b29f5aeaa27L,0x137e015dcd2e9bcfL,0x00000000000000fcL },
  70089. { 0x69be3c6d3fffeb71L,0x5739d6c9e33b4ca6L,0x94672002643a1eb8L,
  70090. 0xd1359e0570fd238bL,0x3b7ef87493916a8aL,0x4ef08127efdaf809L,
  70091. 0xde4174e74143ab1aL,0x3bb964e042e7aee4L,0x0000000000000151L } },
  70092. /* 33 << 245 */
  70093. { { 0x3693de23e707614bL,0xf7ec069499298960L,0x556f28cf89f11c00L,
  70094. 0x7931968eb75a3c61L,0xd6c72278485683d2L,0x734c3512d4369fa8L,
  70095. 0x08671bfcf17d7c5bL,0x1f06b63a5d69bd69L,0x000000000000011cL },
  70096. { 0x64d8055d7c23e2a8L,0x96251f5e1d95c234L,0x5fce87cea0f43bc1L,
  70097. 0x67071f622f15f523L,0x40eb36b8d3fea005L,0x1d9ee274012556e9L,
  70098. 0x10730e770887e50bL,0xa1a356784004f24dL,0x00000000000001c2L } },
  70099. /* 34 << 245 */
  70100. { { 0x8bd447567568da86L,0xcae3a56a8d725c85L,0x2211f108801c5fc6L,
  70101. 0xe5de07da4c3c8b44L,0xff2167cbd0fbe37fL,0x7ef2307074994e56L,
  70102. 0x150e804810cf15abL,0x052337af2c095024L,0x0000000000000106L },
  70103. { 0x7c6057f0e87d4ca6L,0x77900e45486f4fb9L,0x566981d17ba84399L,
  70104. 0x8f863f24198b27dcL,0xa84e0841e7a49f6dL,0xd17dd7370f1060b9L,
  70105. 0xe4f4d9b344f7961aL,0xa1b242e5da29c5a3L,0x0000000000000027L } },
  70106. /* 35 << 245 */
  70107. { { 0x47c2e6ed3a5f7687L,0x2dafe7db3cce6bb8L,0x419ffe4b771db38fL,
  70108. 0x8410ddfd2d624c59L,0x0779b3125b900ecfL,0x1b01dc1c0ab57b8eL,
  70109. 0xd245703de2fc4c74L,0x37c542c2f9f31707L,0x00000000000001f4L },
  70110. { 0x941e03652f8379e7L,0xf76dc50d288ef711L,0xba0af92876ab8d8eL,
  70111. 0xa3e8cdbdc0c73e45L,0x522c45b349565c3cL,0x00f5e95a79c8c078L,
  70112. 0x7554d72bef1b71feL,0xa36855168a5118f3L,0x00000000000001d2L } },
  70113. /* 36 << 245 */
  70114. { { 0x8bf63edd8e519803L,0x7d6d968474760503L,0x99afb2fff64f6308L,
  70115. 0xc2df0c31c23b3a72L,0xaf8529c6950f14adL,0x9af0832dee96370cL,
  70116. 0x46194ea77aef8e49L,0xe92679536da47b01L,0x0000000000000031L },
  70117. { 0x55bde6f749681136L,0x41ab4f3da512f655L,0x6dbf743677c5141eL,
  70118. 0xa2c75d2e5507fa84L,0xc8117d02f9b98137L,0xfe2760c706888e33L,
  70119. 0xc13bb97d53002110L,0x385619defd63f2e3L,0x0000000000000067L } },
  70120. /* 37 << 245 */
  70121. { { 0xfa1aa2447f27814eL,0xab02051c5105d84cL,0xccef8bcfe9b00b16L,
  70122. 0x3783041e1158a067L,0x5b79215725e29b71L,0x401c2417fb1b4107L,
  70123. 0x39c42434410a421fL,0xf10e887b5c4f6b31L,0x00000000000000e8L },
  70124. { 0xacea55d402076600L,0x9054fe9a59b7f920L,0xbcb07980e8a4b5e1L,
  70125. 0xe33c2ab1dbb2df1aL,0x1651e2d0390680daL,0x68446f35401d8675L,
  70126. 0x9f2b69d026985f00L,0x4446113258d0f8faL,0x00000000000000fcL } },
  70127. /* 38 << 245 */
  70128. { { 0x29d634179986b9d7L,0x39e022af0df6e934L,0xaf6cc96ebe1e9fb6L,
  70129. 0x0891c88dc858c743L,0x7925f4300375dff4L,0x02fa4b94b52848d5L,
  70130. 0x6db74714e2416cc1L,0x7af11e364b95f2caL,0x00000000000000f2L },
  70131. { 0xe003401840add981L,0xccccc6929796397dL,0x387856d06074f7dfL,
  70132. 0xe812adcb61907678L,0xef4f33383c753d8cL,0x052c6e49e90021b7L,
  70133. 0x384bcf9006bfb694L,0x5c0dec98d371fde8L,0x0000000000000012L } },
  70134. /* 39 << 245 */
  70135. { { 0x8029b1cd33b35443L,0x26829ac6820cd2abL,0xde4f535f48a6b896L,
  70136. 0x1b9e10d51639919fL,0x20ebdfe88bdab109L,0x6ed42c3b39b129b6L,
  70137. 0x73dc485879c78aa5L,0xc98fc0ea9a71f600L,0x0000000000000184L },
  70138. { 0xacb1ccb55aea360dL,0x7d835bfbddc1cfefL,0x32bfa37ed7c954a0L,
  70139. 0xbf2da393f2998fb3L,0xa1d82913b19bfdf4L,0xe16c3b4a32ac5588L,
  70140. 0xb9ac5ec37b25f23eL,0xe15ddc917547c489L,0x0000000000000011L } },
  70141. /* 40 << 245 */
  70142. { { 0xaa4a212a2177c1c1L,0xf08f1f5d4c8a2a83L,0xeeb0a8940fe14c27L,
  70143. 0x564a1c8f3f0c1f0bL,0x6b73048c9297b55eL,0x3ddce9077a810e5bL,
  70144. 0xd8f99efc3de8797fL,0xd9b3fa2e37379157L,0x00000000000001b0L },
  70145. { 0x65a7dc22fe9275e2L,0xbe8b93fb6960a690L,0xc783df8863f437eaL,
  70146. 0x4fbcf1465a22f1efL,0xa1b86ab3cfdcf231L,0x0b1309cf50cb90c7L,
  70147. 0xa77f0bdefc3cce3cL,0x86deff3cc30ac697L,0x0000000000000170L } },
  70148. /* 41 << 245 */
  70149. { { 0xbfed1d85a5415e7eL,0xf2cdc9c92a5ee8f8L,0x3a474a3965d153a3L,
  70150. 0x1ba4eaf88d3a6303L,0x1710d1c4a46a689bL,0xe2f2cbbc3a54597aL,
  70151. 0x3b223c6c76dc2731L,0xaff989c894979d28L,0x0000000000000158L },
  70152. { 0xa41d3a99df88fbd2L,0x75c1ec4cfb23896bL,0x915a2173fcfce02aL,
  70153. 0xddc565efe861b7b0L,0xb1d0fa3f1ec84240L,0x93bee4d79ffc81bbL,
  70154. 0x236a25221687f61cL,0x7d49c63e462bda79L,0x00000000000001afL } },
  70155. /* 42 << 245 */
  70156. { { 0x692567a5f802386cL,0xa13a56f6a6dfdde3L,0xa50394cb37c39a0dL,
  70157. 0x3d16f5aa7040d3eeL,0x3aadd2f5e6edf55bL,0x187fbe5ca51277bbL,
  70158. 0x55e700a285daa140L,0x280d135ca930617bL,0x00000000000001bdL },
  70159. { 0xf8d3e2267e0c0d8bL,0xdbb1cca204aa1cf1L,0xbb77b8f06552a12fL,
  70160. 0x8e70802ad8ad6b41L,0xa021a4d7010ddbf9L,0x76ea576d780704b9L,
  70161. 0x9e3a04148cfb7119L,0x8a6f4f2384e51f1eL,0x0000000000000177L } },
  70162. /* 43 << 245 */
  70163. { { 0x12aa2288f305b6b9L,0x8f748eae3e09e0afL,0x8a8746cf8e3f1a4aL,
  70164. 0x51cbe927d1e329d8L,0x1e39a4366f29094aL,0x54d285eabc8f1209L,
  70165. 0xe590966b4e8e7975L,0x5dec63afe66ae4aeL,0x0000000000000116L },
  70166. { 0x3b0e71ae7e09821fL,0xab231a0941d1372cL,0x852865276a4390eaL,
  70167. 0x4d60e9bbb914c18dL,0xf0ad8d4e2ad21e36L,0x8bb1cc09fa2444eaL,
  70168. 0xbdbfb2b40d8c7208L,0xcb2f1f7a32f413d5L,0x00000000000001efL } },
  70169. /* 44 << 245 */
  70170. { { 0x4515599dfdc05854L,0xda8ff3a6782c42a8L,0xdd8e941349490283L,
  70171. 0xd85e445578dce0e8L,0xa77329fb7ac7177cL,0xb067a59806fd1d4eL,
  70172. 0x6f1ddf79c8cd2f44L,0x1dee178202e39ce4L,0x000000000000007bL },
  70173. { 0x1a0dbd3e38a3a617L,0xa3c67e5f162bbdfbL,0x316f1b4a3173b0f1L,
  70174. 0x1e49c5c3e5224d7eL,0x3f88443f64108b19L,0xae6531a1f6f95472L,
  70175. 0x7c046d1e7c89c919L,0xcbc20e84ca70cbb4L,0x00000000000001e6L } },
  70176. /* 45 << 245 */
  70177. { { 0x45ae06b2bdcc3342L,0xd509e8020d55ebf4L,0xd1fe846db7bfe591L,
  70178. 0x7e45117b66ea6d0cL,0x07f7ba94b5cb8e33L,0x2365cffa4c1fe4bfL,
  70179. 0x59614a7a9e7ed518L,0xdba553f88f9fed0eL,0x00000000000000aaL },
  70180. { 0x99ca2d5a345708b0L,0x835ad98cebd1a22eL,0x66f253ba9c713fbcL,
  70181. 0xf1015a40ae272ea1L,0xe582f157d00914a6L,0x9906ea50402ca5c4L,
  70182. 0x299870d22428dccaL,0x7cfd6b258095af1aL,0x00000000000000fcL } },
  70183. /* 46 << 245 */
  70184. { { 0xe3be5d0d627f185fL,0x2c3d75b32b3389b9L,0xd0313bacee1e001fL,
  70185. 0xe82de4821eb0a534L,0x8321862f2d78d8aeL,0xa2872545e1ffbacaL,
  70186. 0xf8d9d239c1719916L,0x15cfd49783909f63L,0x00000000000001daL },
  70187. { 0x1e3e01f01063999eL,0xc5d2f9e1bd7538e6L,0xb25f6bcfbe3c8745L,
  70188. 0x20c30f7613cc6a66L,0x77edef8bfee4b1ddL,0xb7b09fa8731e7a9eL,
  70189. 0x3c514cc2bc686eedL,0x699ed1d2ae1d335cL,0x0000000000000025L } },
  70190. /* 47 << 245 */
  70191. { { 0x8850e09b2de78492L,0xa4f91fba9d81e3c5L,0xa47dca1e2b1eb8b4L,
  70192. 0x2983ad5bc084e7f2L,0xde8c13ab5f4efc52L,0xff2fcf43652354fcL,
  70193. 0x81e86497f601c563L,0xc3d6d3864dffcb43L,0x00000000000001a3L },
  70194. { 0xbab2f6d53a79466eL,0xa087360abab23b64L,0x5b37df4aac31247dL,
  70195. 0x2b145d97d5de2624L,0x4851c9515cb00cc3L,0x22c4304ef34ad1bdL,
  70196. 0xbdb1ce92cfbb9914L,0x07ccef0abe21104eL,0x0000000000000170L } },
  70197. /* 48 << 245 */
  70198. { { 0x9584a837980c0f9bL,0x4c2c21b4f234ff0fL,0x584a18241068eee2L,
  70199. 0xb3c08003c5b71c77L,0x98a59e372505132cL,0xfeeb536724513321L,
  70200. 0x83f623522c9afa82L,0x5a470aad23d28bbeL,0x0000000000000160L },
  70201. { 0x2aa901fdce4e21a9L,0xc0fb45706c14573aL,0xe0711b5e21c1a7afL,
  70202. 0xee3bfbfa2a47a293L,0x12830261ff0de285L,0xd334f3ee68d87d16L,
  70203. 0x3fb8d74765c6b8bcL,0x1c40f1aba12a5638L,0x0000000000000070L } },
  70204. /* 49 << 245 */
  70205. { { 0xd8de01e7d09513b0L,0x0e224cf695a57479L,0x66098ecb776d5c68L,
  70206. 0x31dc808681d73198L,0xf34ab49771885d5aL,0x245b101068c07bccL,
  70207. 0x1b0415956f754ffeL,0x28d98ac39eed986cL,0x00000000000001edL },
  70208. { 0xa5b7b90083abb8f7L,0xbbccf881305576feL,0x7ecadad7abfff444L,
  70209. 0xac85c6b037ee04eaL,0x7fd13117a17cd3d6L,0x21d25a19ddd5bc0aL,
  70210. 0x28de095c009073caL,0x3961d13dcb0c209fL,0x00000000000000beL } },
  70211. /* 50 << 245 */
  70212. { { 0x10bb54d9391ec713L,0xf25eb2bfe18ff505L,0xa45400ba6cc76e34L,
  70213. 0xb1e654a2e55f9f1dL,0x6a929b7df4ab5d8aL,0x7cbf9f1318655654L,
  70214. 0x1221d22fac713cefL,0xcdac9c9be1fc247aL,0x00000000000000b8L },
  70215. { 0xb83d4bf76480f3c8L,0x0cf881acf07b9b03L,0xb1fb5d2137534ebdL,
  70216. 0x15bab0952c0e8fe1L,0x7f18cd140fecd0e1L,0xbbbfff81257469e3L,
  70217. 0x7067debb1615060aL,0xd2be688fb55abf01L,0x0000000000000016L } },
  70218. /* 51 << 245 */
  70219. { { 0x608780b7e2bc7bb1L,0x561f8901ef5a0e12L,0xf0542f44549f8bd6L,
  70220. 0x963cf806da34a9a6L,0x478e5efcfe94c12dL,0x35bba59014a9626cL,
  70221. 0xa601a1bbc34e6af0L,0x269dffd4d19c944bL,0x00000000000001f8L },
  70222. { 0x6f2956333e41b8f0L,0xee0766054b4a2e7cL,0x15bdc7de38d4d8e1L,
  70223. 0xaca4398008c99e00L,0x34c67680c545ca80L,0xeae77ef56ce03f0cL,
  70224. 0x27fa04e27e5bff0cL,0x87b2f2a846a0e91bL,0x000000000000007fL } },
  70225. /* 52 << 245 */
  70226. { { 0xf60ae3ffcb6d2a3fL,0x482de542c33f5aa1L,0x22d7de4039386ccfL,
  70227. 0x798f81e53a7d4c56L,0xd4d64bde3c8827d9L,0x1faf02c38b3b5cbaL,
  70228. 0xaa438f22b1afda7fL,0xfbfbebdfc3170b92L,0x0000000000000122L },
  70229. { 0x429680862811743aL,0x82b9e326d780ee2bL,0x9105ddae1fe0dcb6L,
  70230. 0xee40a9d2d989fbf7L,0xb3bbbe7a4dc53350L,0xb68fe7420a6e7da0L,
  70231. 0x3e0083720512a045L,0xb766291ddaec0849L,0x0000000000000088L } },
  70232. /* 53 << 245 */
  70233. { { 0x01a091d8d3c4976dL,0xe976df9f909844adL,0x5a02c8a4247d52fcL,
  70234. 0xb1aa080f7be65bb4L,0x7706859fef4a179aL,0x527a3e36b3d4fcd2L,
  70235. 0x3984a1c97a4a6782L,0xefe16fbd714ae36bL,0x00000000000001fbL },
  70236. { 0xa8211b1c25cbb098L,0x4859a0eb3bd99868L,0x6c9649c20efd41d2L,
  70237. 0x1bb4ba1856a41c6dL,0x0c8121ddb6bddebeL,0x34837d357d24a62cL,
  70238. 0x5c3d55bcff33e24fL,0x45030bfd16840912L,0x00000000000000abL } },
  70239. /* 54 << 245 */
  70240. { { 0x5e50374c3a2da57dL,0x5f78556b1119606dL,0xd16ae65786badbf3L,
  70241. 0xbcdc9d3ef7ddc184L,0x4272a8b0992238fbL,0x60ed6dffce0899b9L,
  70242. 0x0c3d43145f78be82L,0x250527665a51c6b0L,0x0000000000000069L },
  70243. { 0x0fa9b9ce4a2967c9L,0xde64435bda5253ffL,0x466eacc0338fe90dL,
  70244. 0x8ebe67813d7ec117L,0xd32402bfc1104e59L,0x5dba885e90be00a3L,
  70245. 0xadfd197ad73138beL,0x8137f0c52ef27a3eL,0x00000000000001c3L } },
  70246. /* 55 << 245 */
  70247. { { 0x7f02f467394ad9efL,0x285df1a69f23b02aL,0x16e5676ecde7acc7L,
  70248. 0xe3e9c6238fac90dcL,0x76aef25902c87d17L,0x92e6a16157eb512dL,
  70249. 0x37eca5054023938aL,0x6b1963cf77e7fdd6L,0x0000000000000158L },
  70250. { 0x27a4063d61891784L,0x858d6af50fd9cb7dL,0x8af301b292403037L,
  70251. 0xf4b2e253c2b52eceL,0x226bffe2eb92c43fL,0x50fbc9f200c974e8L,
  70252. 0x7d07d1186b7dbb3fL,0x8fba39c8af045ee6L,0x0000000000000194L } },
  70253. /* 56 << 245 */
  70254. { { 0x1a4d19d6b580e3a2L,0xcee647c220834fccL,0x94066a7c2e9454e0L,
  70255. 0x220b4993b1b480e6L,0x0a89c3e330e72308L,0xf22f323e6294e865L,
  70256. 0x27dad374645c364dL,0x16b70ed4b47a7a2cL,0x00000000000000cdL },
  70257. { 0x208a7f56cc79e99aL,0xb844ed7d1991087eL,0x6f19c1c07ee9fc8bL,
  70258. 0x12a4140bb9208633L,0x8f976b252c1a5947L,0x083544dda1bfc7c3L,
  70259. 0xd432604b206df951L,0x0f3c03b57eca93b3L,0x0000000000000115L } },
  70260. /* 57 << 245 */
  70261. { { 0x99d40986753d916dL,0x76e71d0dc6f9ad8aL,0x7c1b28a9131d329eL,
  70262. 0xd572e26068eda873L,0x6573c96b3dc992fcL,0x7f37ed7ff8056b40L,
  70263. 0x8763b71e7e52cfb2L,0xb95a7916e3cc1875L,0x00000000000000d3L },
  70264. { 0x063f06bfa0d93ec8L,0x8e86a0ae68082206L,0x00d504f407041b08L,
  70265. 0x4dd113bf92c96a08L,0x52e9b7eac04ae2b9L,0x84e384d5fdcb7b5fL,
  70266. 0x493ca1391d0c6202L,0xcca8ca15fe81207dL,0x00000000000001a4L } },
  70267. /* 58 << 245 */
  70268. { { 0xd5d4d7cff6f13b77L,0xa235e197561ed919L,0xfb2fe413292a81c4L,
  70269. 0xc0813a2712fd60fcL,0x5810faf1d63cb00eL,0x9f5f197d3fd6725eL,
  70270. 0xf14546b1874b8146L,0xdfba72ae7fee7377L,0x0000000000000194L },
  70271. { 0xeae4ae28cbc9ce37L,0xec3f756dcd373c41L,0xa06e06a8f77cea19L,
  70272. 0x94d4d6712105ff62L,0x72cc585c06f6fd6fL,0x663727a62e929fcfL,
  70273. 0x8b961949dbf5886dL,0xda00c0f69718340aL,0x0000000000000021L } },
  70274. /* 59 << 245 */
  70275. { { 0x1f690177297f5c08L,0x829e1e491a44476bL,0x546ce72c95b8a526L,
  70276. 0x775796e3c8b75808L,0xc88ded0ba53f8e9cL,0x6c9d25f77d4c14caL,
  70277. 0x19c94323081d88efL,0x558a9201bd375822L,0x0000000000000011L },
  70278. { 0x3f9d75a8b8d1b7eaL,0x7922b2448df0af6eL,0xad5e8cc1abc15eedL,
  70279. 0xe3b3754bf3b890e1L,0x379f1383a7648fddL,0x9eaff495874c0014L,
  70280. 0x67e39f779ab784b9L,0x620e2eb4778ccdbcL,0x0000000000000127L } },
  70281. /* 60 << 245 */
  70282. { { 0x8f73b2234438a469L,0x39a3151a312f3e82L,0xc1b4a65f4fd6149eL,
  70283. 0x5cfd0145d0d76e86L,0x391146bb1a77eab4L,0x3e4961491c97071eL,
  70284. 0x60e4eddaec115d98L,0x0e58bcd6dcd6b9e3L,0x00000000000001a1L },
  70285. { 0x64049099d8bd20efL,0x2204f491ea12243bL,0xa219aa014de1a0f6L,
  70286. 0xf04edad6989ff1f5L,0x5187c5776afebbdeL,0x6b50208e8707b524L,
  70287. 0xf92f5bc8911785b9L,0x939c770bffc55f6cL,0x000000000000014aL } },
  70288. /* 61 << 245 */
  70289. { { 0x23bee635f7258c06L,0x167cae1604f1f357L,0x44dd3c13265880aaL,
  70290. 0x14d4fcf659e7b653L,0x1cce371ab23c6ca4L,0x1f0d3fd2be665d7aL,
  70291. 0xf9a6b67edbd611d0L,0x3914288b373b5d3eL,0x00000000000000b8L },
  70292. { 0x35ece3f280efbc9eL,0xf5ca78c4e90d9d2bL,0x28a4ac1626f91851L,
  70293. 0x6c410ee1547cb8abL,0xe034876ad121a20cL,0xef1f5ccc10ad2acbL,
  70294. 0x46b897f276faa816L,0xcfc360975d09bc6eL,0x00000000000000d4L } },
  70295. /* 62 << 245 */
  70296. { { 0x4e9b70429fe870d6L,0x6b3a18c95b05c44dL,0x9402371050c1dd23L,
  70297. 0xc73dd6f17ec19f72L,0x341988d5d13247c2L,0xa2507b4211b903adL,
  70298. 0x317804a96ab937b4L,0x61a65fcea908e4c7L,0x00000000000000f0L },
  70299. { 0x39645ebd823fbc2dL,0xb735849ea4146076L,0x3155c49373ffc246L,
  70300. 0x38a8186d9eaef0bdL,0x6dcaacacad300f96L,0x1aa11954454bd19bL,
  70301. 0x4742ad6d770ef5f2L,0xb5e674ead3dddd4eL,0x00000000000001e4L } },
  70302. /* 63 << 245 */
  70303. { { 0x2e70fc86d8f34db1L,0x5465c430a63abec9L,0x7ec081a39b336fe3L,
  70304. 0x5dce23079972d290L,0xd92f92e87c892943L,0xc47b48bcd6dacbb0L,
  70305. 0xace480e295957dcbL,0x762e668932a0e43cL,0x0000000000000187L },
  70306. { 0x3475d0d61e89009dL,0x943cd5f0db2bd19bL,0x534c64936ed81e64L,
  70307. 0xbe764b65e36cda5dL,0x5a315225d65e0449L,0x6e045dc36797dfb5L,
  70308. 0x50e92a969bf6935aL,0x08bc07d4aa863084L,0x000000000000005cL } },
  70309. /* 64 << 245 */
  70310. { { 0xc3246fc8bddb33c7L,0x68dc29bb81972f1fL,0x7b5edc9bee7ed0fdL,
  70311. 0xee83430ce158deafL,0x8a924b48df7c5708L,0xb421a505f2c65a04L,
  70312. 0xb5da215e5c289f82L,0x752d5ff9b9d02b8aL,0x0000000000000165L },
  70313. { 0x55564b4a0d9d7788L,0x70c744916cab3607L,0xf53bc98690091526L,
  70314. 0x1e88044d9abc41a6L,0x38e9d3dd2bb6d384L,0x4177105e84bc3dfeL,
  70315. 0x2b95a432674df1b0L,0x38196726eb1de0dfL,0x0000000000000137L } },
  70316. /* 0 << 252 */
  70317. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  70318. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  70319. /* 1 << 252 */
  70320. { { 0xa6d6b095dbbd171fL,0xf0d3b95744f06181L,0x46b9786578fab381L,
  70321. 0x7da97845ae356e29L,0x4a0c3e00d01b3c09L,0xaed18677e106d5beL,
  70322. 0xd7309c761affdb67L,0x9715875425f2b8c2L,0x0000000000000193L },
  70323. { 0x65d3657b24785079L,0xb1d2b5f75e064334L,0x0736bfda2b7b61e1L,
  70324. 0xb39c4db1284e4fa6L,0x66cedf43bd934998L,0x8f9f6243324d2de1L,
  70325. 0x92f2524e4c193171L,0x75705acd964a8383L,0x0000000000000031L } },
  70326. /* 2 << 252 */
  70327. { { 0xfce13e03d0739036L,0x0af573f2a4161596L,0xf3db4c750bdedd89L,
  70328. 0xb594cca3e8eae413L,0xd9ad2edce2e66f2dL,0xe99c048166f7f599L,
  70329. 0xd141ff976886e453L,0x087714a153e3221fL,0x00000000000000beL },
  70330. { 0x91eab39e5daebd46L,0x3f9ddea494fb01f2L,0xfaaa200b142ae67cL,
  70331. 0x853da6b0ca631c4bL,0x4c9ca396fb3f4229L,0xb00a8de2e3690f95L,
  70332. 0xe8000000c2c7704aL,0x65c0ab7393ad0dbcL,0x00000000000001e0L } },
  70333. /* 3 << 252 */
  70334. { { 0xedec6d350f810445L,0x2ee468445fe4215aL,0xdace7f0e969acde4L,
  70335. 0x3708f4f4c754dff6L,0xa510303f6c0370abL,0x9d5cac3ab4adc2feL,
  70336. 0xf33d4a2b395a765bL,0x437bfdca1856e0c8L,0x00000000000000c5L },
  70337. { 0x287dc7f70812a78cL,0x30cb0cd905dc3fcdL,0x80343b51008ec68bL,
  70338. 0xbb3da3a5cc404f65L,0xd5276af593d9f303L,0x85a875d47daa5950L,
  70339. 0x5baae52f078e6556L,0xddd9e3efe58a4e97L,0x00000000000001c5L } },
  70340. /* 4 << 252 */
  70341. { { 0xa3ff48a37252eba7L,0xfe771fd391359daeL,0x9dda3a45d05be01fL,
  70342. 0x5cfa713de97a9a89L,0x5fd23bd887cb6c64L,0xbe45c0758d9ae4bbL,
  70343. 0x90f9438478e27270L,0x3e1b0d18f0dbddd9L,0x0000000000000018L },
  70344. { 0x6e5283f7f2fb7facL,0x232e9cd13593d0e4L,0x97418d9cee81f08cL,
  70345. 0x339540f51f2e8dc0L,0xeaacb20b619b5ee8L,0xefc8079a4ae00660L,
  70346. 0xa968fb1c765802b5L,0x60088783f20650faL,0x0000000000000145L } },
  70347. /* 5 << 252 */
  70348. { { 0x322efe142a7cbe50L,0xaf425a7db2f85051L,0xcc7c9d91812b26a2L,
  70349. 0xd89fd04968066e44L,0x79ba895fec83b2f1L,0x570c2db410e90a64L,
  70350. 0xe00f1ae889c59658L,0xd94f065c78edd742L,0x0000000000000021L },
  70351. { 0x3fa27bd8c5b5b0bdL,0x432599d6a5121de7L,0x528925da2e8294cfL,
  70352. 0x28c15142cf0f9464L,0x38498320a6fa7f3cL,0x92cde9b1ba93f4b8L,
  70353. 0xefe2455e4bb98cacL,0xe0cc0ef1d1b0e59cL,0x00000000000000d6L } },
  70354. /* 6 << 252 */
  70355. { { 0xc538d35074a00efdL,0x4776ad9697bc3ac7L,0x22041b531867f889L,
  70356. 0x2aa3594319cbf055L,0xf00a49d00c38f064L,0xcf40e6177bd0991fL,
  70357. 0xa59df69b0155ffafL,0x1f2d50feace4aa07L,0x00000000000001e4L },
  70358. { 0xf1a777ee5cce1b0dL,0xfb8a0ab09c7ad9aaL,0xc0d3b78058a6aff6L,
  70359. 0xa9f4b3a3370af1d6L,0x3a0731a53d39d147L,0xf7aa9df732c93fa5L,
  70360. 0xd9a0599f9c938c2dL,0x2702735d01b0c0d0L,0x0000000000000152L } },
  70361. /* 7 << 252 */
  70362. { { 0x64f62dcba1d24f4bL,0x134da7c1f5776ef9L,0xb6699e3f534bf835L,
  70363. 0xc9b93539ef275259L,0xa9d68c870f7cf548L,0x4ee54ff7fbd2d9a9L,
  70364. 0xcaf81404465e7c2cL,0xa02fce30048cad5dL,0x00000000000000d4L },
  70365. { 0x9ce2e24c6e76c091L,0x8353d7c941ec4c75L,0xe7f5bfbb43a019d0L,
  70366. 0x74cf2bbe508e92c9L,0x58f2e1b68dfcbacaL,0xbe79df8b98bdc65dL,
  70367. 0xceabfa1cc699db7eL,0xe237815e0e3f9421L,0x0000000000000093L } },
  70368. /* 8 << 252 */
  70369. { { 0xcfe4f02e36e4a40dL,0x3af87a7df2b51e5eL,0x3b6baa2683fbf682L,
  70370. 0x9a7a9339063e5979L,0x77214ebf41b680c9L,0x1fbdee591ae59f71L,
  70371. 0x9a4dd12ee1530c0aL,0xe113839691fe54b0L,0x00000000000000baL },
  70372. { 0xf84d66ebfc229914L,0xfcc47954452da1c3L,0xe662b9c06f9743c5L,
  70373. 0xd0db646d087d7194L,0x2abc096b6e1bbf6fL,0x24272840331f3a96L,
  70374. 0x0da86ea2a6b9f40dL,0xedb363317dcb4554L,0x00000000000000d5L } },
  70375. /* 9 << 252 */
  70376. { { 0x35ca7b714da6061aL,0xa9bf19f0003e19c8L,0x1298c7034c3c37f1L,
  70377. 0xef43fc92921f123dL,0x065e9cb5cf8acdbbL,0xaf1392df0a25165fL,
  70378. 0x2174ceea344d3fc5L,0xebfe81c529d22225L,0x00000000000000d6L },
  70379. { 0x0fd8fdf2bff99ba3L,0x7789d27d28498d5cL,0xc5d731b872535985L,
  70380. 0x4dac761544e0ec8dL,0x1997b34953628596L,0xda8f1b453df08420L,
  70381. 0x2cf56fdce0df23fdL,0x3c9a7005f2c7864dL,0x000000000000019dL } },
  70382. /* 10 << 252 */
  70383. { { 0x5c1c16872c1e8de6L,0xd70ec472b1c70780L,0xeb11585ec5b43635L,
  70384. 0x943929d2fe1004b8L,0xefec44e1735d06beL,0x22380d73c2f367dbL,
  70385. 0xcf498e0d550f497bL,0xb9d7707958da0a67L,0x00000000000001cbL },
  70386. { 0x4a86da6a6139e58aL,0x59828182eba6ee4cL,0x117ea761d5b978b9L,
  70387. 0x6e5c95fb421c7b72L,0xcb8ab1e8b9da6233L,0x8a99b06f696c2a02L,
  70388. 0x128544479166802eL,0x66c2c35cf1aa2cccL,0x0000000000000120L } },
  70389. /* 11 << 252 */
  70390. { { 0xd558d1c2d75dd2d2L,0x835a529183c47104L,0xbe1680cbd6a8d82eL,
  70391. 0xf1ed775571b65f2dL,0x375ac4137edd4aa0L,0xca2bf9c9863979e3L,
  70392. 0x8b2d261eb6a3f48cL,0xe3fa313d74fd8349L,0x000000000000001cL },
  70393. { 0x0b8664383e70dd66L,0x6a5fb43b15cef5dcL,0x83a0fe8cf8871f0cL,
  70394. 0xb879a0e6848f9812L,0xf93ce978f35ca817L,0x74643f68687d2a6dL,
  70395. 0xb9e7ba00c6df8a5fL,0x151a645afdd5d515L,0x00000000000000c6L } },
  70396. /* 12 << 252 */
  70397. { { 0xaf39cf7917f8115eL,0x538d81c5b1e2e5c2L,0x6d3a29b22661d6e6L,
  70398. 0xbf9ab97716f4f3d1L,0x1ff2e621c84d4f92L,0x985dff6bdb14f203L,
  70399. 0x24559c328f4f0e0bL,0x960527201a1e7a96L,0x00000000000000feL },
  70400. { 0x398cc66a79786d47L,0x009bc173b2b9653fL,0x295b412ed23322beL,
  70401. 0xaa78b521ffe060a9L,0x5ff5a5feb808d2b8L,0xe84af56c3182e463L,
  70402. 0x94972ab444022236L,0xa17d7b55de52f2baL,0x000000000000014fL } },
  70403. /* 13 << 252 */
  70404. { { 0x8c90e71abe54c3a6L,0x449b10eaf71c5359L,0xeea87dfd829fa44eL,
  70405. 0xd8353ef02ca80e90L,0xaa71620cd1229447L,0xb0445ef2d4344caeL,
  70406. 0x2792ebb0451ce474L,0x3581deedc2907707L,0x0000000000000199L },
  70407. { 0x39ebef0294adefa4L,0xc44fb92c3ac01ca7L,0x4df141e2c456c3caL,
  70408. 0x20aed69b471dbf3cL,0xb31db16ce85b7ce0L,0xc239e7166911a4fcL,
  70409. 0x3d8c230321f7392eL,0x98f6f7e6e19b03ebL,0x0000000000000142L } },
  70410. /* 14 << 252 */
  70411. { { 0xf3d8f02c9371d8ccL,0x034277222083bc29L,0x1bc1a1a2e0a508d0L,
  70412. 0x75402b4365386b1dL,0x7832c7a2a81ea689L,0x30fdf8d8d3c43e8dL,
  70413. 0x11af93da8bdabe83L,0x1fc117f8df22b64fL,0x0000000000000015L },
  70414. { 0x266747ceaaca36f0L,0xa3b4bacfb8eb0f62L,0x60b72b71577519e7L,
  70415. 0x689653954bdded3aL,0x0366164aab2ff463L,0x5615191444c3432bL,
  70416. 0x2040ed772700d67bL,0xf6b08ac8cff9e250L,0x00000000000001c8L } },
  70417. /* 15 << 252 */
  70418. { { 0xb8e81a2dddb4eb9eL,0x89f9c08f3947b43aL,0x69d84b2bb0e758a3L,
  70419. 0x862f559972bc3e5fL,0xe9c567914ac68eabL,0x8d66059f8912bd54L,
  70420. 0xa386e77fee35a78cL,0xa434e2e64303b216L,0x0000000000000165L },
  70421. { 0x545f743413593d90L,0x745c910055bbcb3fL,0x45e63824bb344485L,
  70422. 0xc26c34dd38c0f16bL,0x55c10ecddf952e71L,0x60c4a2e598fd979aL,
  70423. 0x5ff003efa6ff9ef9L,0xdfb5fce95e578209L,0x0000000000000077L } },
  70424. /* 16 << 252 */
  70425. { { 0xa87650d1eaffd713L,0xec781c97a797ad44L,0x1e94accdb4bcac17L,
  70426. 0x2284f96fb3981cc9L,0xb8b2ef57091634ebL,0x4accf5e8cad053d0L,
  70427. 0x0eca4f9b5d1ef480L,0x1598ef27d6e76957L,0x0000000000000131L },
  70428. { 0x7cbc9061b72d8840L,0xe611924d86a5ba36L,0xe02e9ca8e066d292L,
  70429. 0xdb092f52a68a0466L,0xf5d97f5d0c0b18f8L,0xb5e171465c99b95cL,
  70430. 0x1bafbe749d3d6acfL,0x606103fef370bd5fL,0x000000000000013bL } },
  70431. /* 17 << 252 */
  70432. { { 0x3fe39e9cda6f368fL,0x4af61b0fabb8e7a1L,0xc4fc73f42b9c9912L,
  70433. 0x20ef2e5ecc24e5dcL,0x481cdbd4f1023146L,0xcb417697117bf9ceL,
  70434. 0xb8436bbb544036a2L,0xd828ba5c0a8f949aL,0x00000000000001fbL },
  70435. { 0x19515a04ac53c4beL,0x909688614a652fdcL,0xddbc6aacea6eab85L,
  70436. 0x15a84e31dd8f09c6L,0x1482d4ed2a71c6baL,0x48887451b38da85cL,
  70437. 0x885c36530c77e28cL,0xca5e7a1b99505152L,0x0000000000000004L } },
  70438. /* 18 << 252 */
  70439. { { 0x040a2260aa34bc2dL,0x121519766afe1aeaL,0x6cef13fc4b8bff60L,
  70440. 0x648802d6ff7615d9L,0x840563e335e69c6bL,0x39b0d6a55fa0b253L,
  70441. 0x88a3c3ba4bb58678L,0x126b85d347abaea3L,0x00000000000001afL },
  70442. { 0xcc56805c23a0415aL,0xc577101dc281dd52L,0xfd3ef16d7ca89e69L,
  70443. 0x4a7283f560b671afL,0x852732a794a73553L,0x3cdb84d0f7951035L,
  70444. 0x6d9330e01c556d8dL,0xec1e7cd492cf6b85L,0x00000000000000e1L } },
  70445. /* 19 << 252 */
  70446. { { 0xd51138a7d7841050L,0x5a5253a482ee0b99L,0x724f84f5c6740508L,
  70447. 0x80a3e456c2d2de09L,0x19dfa21c187141e2L,0x4d41ef7b42877c25L,
  70448. 0x9d6b3326d75209b4L,0x3a21cd023587efacL,0x0000000000000006L },
  70449. { 0xa492f40456ad32a6L,0xfcda204c21031b3dL,0x4cebc3ba8fa9f767L,
  70450. 0xf96068d423837f90L,0x99013dab42ea9f03L,0x6e21bf1b0ddd2cb5L,
  70451. 0x0c9a452bdf051b9cL,0x5c9d2ed27034ea63L,0x00000000000000efL } },
  70452. /* 20 << 252 */
  70453. { { 0xc3c8d26f643c4cbaL,0x3a5bb59455e63c4eL,0xe0a25b35545e3cb6L,
  70454. 0xc6d52abeed177530L,0x2eb287968f4cd3c3L,0x01b5433943c6ceddL,
  70455. 0x85930ae934575ceaL,0xcf13a14404294cffL,0x0000000000000172L },
  70456. { 0xe9cf3a7c89e62cecL,0x19f62eba02e58adcL,0x0b98464bd3762108L,
  70457. 0xd148d77d942b9f9dL,0xefd8cf2b6ffd03d5L,0x2ce97d571fe049ebL,
  70458. 0x684bd7957de2640eL,0xf509af614fadaf12L,0x000000000000000eL } },
  70459. /* 21 << 252 */
  70460. { { 0xdaeeefc8bd7db126L,0x9aa0f6ca3e712793L,0x3219db3fc2424c7bL,
  70461. 0x176f35eb708e50ebL,0xecd6fe934b0b3588L,0x897e0be7e25dd575L,
  70462. 0x37764d7c511df00dL,0xf2534cd41e410d17L,0x000000000000005fL },
  70463. { 0xe086716404e39c47L,0xfcaa5822faa76d22L,0x325e11738fa74426L,
  70464. 0x744a07fe3c45bc8aL,0x554c7032d61136b6L,0x0530bfc9ba0e8c67L,
  70465. 0xf25a3a8ed53c15a6L,0x2f2c8715310c9174L,0x0000000000000134L } },
  70466. /* 22 << 252 */
  70467. { { 0xc4edf2abef129aabL,0x669fce1c0d57c727L,0x1d02a96d42e87512L,
  70468. 0xe150a353f32d3174L,0x6808c4ab4d52e358L,0x16c366cbb7c74f3fL,
  70469. 0x143e3bb816eb7940L,0xc50b78ebcc3ed5a4L,0x00000000000001a8L },
  70470. { 0x9cb287a40ac87da7L,0x35ecfd38b9dede9aL,0xfc155649fad6c214L,
  70471. 0xfb97929926af1c4eL,0xb4fd33291b4ba2a3L,0x5027b62cd8079f78L,
  70472. 0xcef56123ef96d8aeL,0x5c7c3b2ab1952e0fL,0x0000000000000147L } },
  70473. /* 23 << 252 */
  70474. { { 0x5a3018dfed37f7b8L,0x7a3b0c2a057bed1eL,0xd616a40033284d2aL,
  70475. 0x86517965e501d780L,0x2216349cdf6fe150L,0x8af9ad6f9114ac94L,
  70476. 0xc1a53ab4a61c04b5L,0x8dcbb53b09eb46c2L,0x000000000000010fL },
  70477. { 0xe672328378dcf9b4L,0x3aeddb5334ae43fbL,0x616116d1e4997ea6L,
  70478. 0xd0fa538e3f22345fL,0x25131525fa6fa9fbL,0x7c1a8081705d6d97L,
  70479. 0xc89bbc7389f5d450L,0x542a0882dbd80319L,0x00000000000000ddL } },
  70480. /* 24 << 252 */
  70481. { { 0xd883edca1854dcb7L,0x158f2ad5e4b33262L,0xa89ba702743cfdc9L,
  70482. 0x762616ff85efe2cbL,0x01c666119880709aL,0xec6df8890999a8f8L,
  70483. 0x11cbe7f35006451cL,0xdb0dc5696a551e2dL,0x0000000000000078L },
  70484. { 0xc8ac5659a91c9a13L,0xd146235491cfcd3fL,0x8031f8ffb83429e2L,
  70485. 0x12f36b88c7c807beL,0x9bbe73ada17696d9L,0x631f9dbe13e49ec5L,
  70486. 0x6a868794fccaf136L,0xe0341491d4c71b95L,0x000000000000001fL } },
  70487. /* 25 << 252 */
  70488. { { 0x714fded2fb616313L,0xd1f8be5c4138197bL,0xe06020deda814497L,
  70489. 0x16e6c5994f00cb7cL,0xb75cfe69712c2c0bL,0x303d77a3db529279L,
  70490. 0xaa2d207ddca146f7L,0x587e3f839bbeb98cL,0x0000000000000158L },
  70491. { 0x988d1f50a6b10157L,0x43a1d2fb914103b3L,0x8d3afdfca224786eL,
  70492. 0x52bfdecb99a99cfbL,0xa6f20f93dc38e50cL,0xe71ad506ab79cb34L,
  70493. 0x937405c803ca3b19L,0x12b16d20ade81e6bL,0x000000000000000cL } },
  70494. /* 26 << 252 */
  70495. { { 0xe14ddf295a95e0d7L,0xfb5740d3f0aa2850L,0x5e8c11d18d654360L,
  70496. 0x3aaed8340252e7caL,0x1aeba10cf88cdedaL,0x1a57aa22cb63f2a9L,
  70497. 0x89ae2ab42123c4aaL,0xf8665895bb8d9ec1L,0x00000000000000a9L },
  70498. { 0x73de3b4627fe0dafL,0x1267a3e741ca4fd7L,0x26684605cca84b06L,
  70499. 0x9190d4d64bded61bL,0x50d97803989719ddL,0x605632471d59b025L,
  70500. 0xc151df922083bb72L,0x6fdbeb823d3ce909L,0x0000000000000094L } },
  70501. /* 27 << 252 */
  70502. { { 0x0626cb92c7c9761dL,0x20d73ca5c6afa3e7L,0x1e20927bbdd40e51L,
  70503. 0x39788dd2d806e2caL,0x143aba83269c8534L,0x127e8992cc4cd1ffL,
  70504. 0x29eb0e1d86bb67bbL,0xe6cd55afdef639abL,0x000000000000005dL },
  70505. { 0x42f52e70509595ecL,0xc41012f3bf39cfe4L,0x6f7fb05ea709badbL,
  70506. 0xd80b13e292cf6184L,0x23683493edc7bd6cL,0x277892f1dc43b987L,
  70507. 0xc76285574535695eL,0xac2a363a1b8d2e1aL,0x00000000000001aaL } },
  70508. /* 28 << 252 */
  70509. { { 0xe90f84570012e81eL,0x6fa09e16b98fd2b0L,0x0a09399d9805fedcL,
  70510. 0x2e315eef2d5c3795L,0x890ace479a886fafL,0xa901e7b5d1690ec4L,
  70511. 0x45116659bbd30a26L,0xa07c60ad19302f7cL,0x000000000000016fL },
  70512. { 0xda9350157782fa75L,0xb0253020981b2b85L,0x3a2434f0f76c5389L,
  70513. 0x51b7a3ea04884584L,0x09d81db0d12297ecL,0x46842ca99d202166L,
  70514. 0xe9fd1469d502c092L,0x61703bf654ddf5cfL,0x0000000000000176L } },
  70515. /* 29 << 252 */
  70516. { { 0x6fd8079edb2c1400L,0x143a2304cd0e2f67L,0x9987e77144296e69L,
  70517. 0x6d27cba4601afb95L,0x8f6d58c41a75b55fL,0xac76bf6fb30a6c2aL,
  70518. 0xb6e0fa7760de6c0eL,0x1793832b98b30d3eL,0x000000000000018dL },
  70519. { 0x7d7582eccc35416eL,0xf0472b74398092a7L,0xb122b93c58c6b243L,
  70520. 0x100b1fe07e032f1dL,0x62b71644058ca84bL,0x036760890ac11b8bL,
  70521. 0xb36d7ad9092839edL,0x092759cf5f77a937L,0x00000000000000c2L } },
  70522. /* 30 << 252 */
  70523. { { 0xaf6d6bee01c05a63L,0x3d7282dbd5a612b2L,0xa4bcb677f9b49c9dL,
  70524. 0x1186eeb8b8f5a993L,0x08fede59fdd551f9L,0x6ac2844cb7c047eeL,
  70525. 0x972583e24e4c3786L,0xefb8e22533d3b9fcL,0x0000000000000145L },
  70526. { 0x9164f2c84f585b1cL,0x7f49bfd2d53a4a93L,0x4ad4bfca07ec3188L,
  70527. 0x0412a46f933b2990L,0xddfcdb113f03779dL,0x1d7078ff17678e3dL,
  70528. 0xe3fbc9b2e9b85930L,0x25bbb056ee1174c2L,0x00000000000001e8L } },
  70529. /* 31 << 252 */
  70530. { { 0x6a2da2be4951a177L,0xa7712dade0249695L,0xca9500ddebd45219L,
  70531. 0x9512855fe6a249cbL,0xd2fd8a82b7b464f3L,0xc32ea5d18aea2d80L,
  70532. 0xeb2a2ca3e13e3278L,0x629f37f5ac6e4e6bL,0x000000000000001eL },
  70533. { 0xfa92ca3d66778869L,0x994101dfad4fa305L,0x00e70ff2866528e5L,
  70534. 0xf4e501e9fe725c14L,0x35f8f43e07d0014bL,0x55689c488108dad8L,
  70535. 0x998730a593fa8b70L,0x640054d4497da817L,0x00000000000001fcL } },
  70536. /* 32 << 252 */
  70537. { { 0x272ec59646e69dafL,0x348d7acd79b09a47L,0x8731070bd806f931L,
  70538. 0xe1191599011d80caL,0xd001ced01b8cd947L,0x31dd3c9878a6654eL,
  70539. 0xde8dbd0cc6409599L,0xb8939d44691b6141L,0x000000000000017aL },
  70540. { 0x146fdd629c45660bL,0xeb9a13d3a6283d26L,0xb99e7e66c9e2a86bL,
  70541. 0x926ee0abe626a5eaL,0xf01ec218e8a93dedL,0x8562b91a040fb497L,
  70542. 0x25fa595f6ddd2f63L,0x9389fffca2612413L,0x00000000000000d2L } },
  70543. /* 33 << 252 */
  70544. { { 0x6c4d9184bf16e29fL,0x70e6d2ab705bb9c2L,0xfcabd209b2118b5cL,
  70545. 0x66321abfc9722264L,0x7a36d66f3200176fL,0x674a9b43fdf743c2L,
  70546. 0x0b70838fed49945dL,0x274a8631bf04eab2L,0x0000000000000028L },
  70547. { 0x08650f55a3b6345aL,0xa2cda848cc418bd7L,0xea80cd7d13c42880L,
  70548. 0x6895e5e434f7c51aL,0x1c51266d65380432L,0x5a024a2f94c33187L,
  70549. 0x5e5fd4988a8c0674L,0x1b9f5d2d250b1cacL,0x00000000000000ccL } },
  70550. /* 34 << 252 */
  70551. { { 0x54a1d996f85100b2L,0xcbc5aa64db80cbefL,0xe91d2b9f59e324dbL,
  70552. 0x9a5be55343d54cb3L,0x0ce9b03acb01dac4L,0xba4de3a2c63fd291L,
  70553. 0xb1deed8fe51325e2L,0xeb22652f5595c748L,0x00000000000001d1L },
  70554. { 0x1ba3d9749c6ab6f4L,0xea84bc15d4814870L,0xbba9c3a7b8034e24L,
  70555. 0x07482120618eb92dL,0xf6e8b897bf7a2f69L,0xbb141cd921f09ce1L,
  70556. 0x4737cb5e28f04b32L,0x333210812dbf0affL,0x0000000000000148L } },
  70557. /* 35 << 252 */
  70558. { { 0x3fbd36619f67786dL,0x0301a8134bc980f7L,0x3ccde4731d1abf93L,
  70559. 0x7ec69b27aac22970L,0x02e4efca9d9ef464L,0xd3ecb5f7e4b97c90L,
  70560. 0x22fc87ce2817aeb6L,0x3703fcc9926bb15eL,0x0000000000000151L },
  70561. { 0xf0906667a44ed08fL,0x685d2d12441de931L,0xfbc0bd4c2d6d7984L,
  70562. 0xf76a510d39dbe5d7L,0xd2b30ce9192862c4L,0xbdea2ba3ba2b8335L,
  70563. 0x020d4e210976edb4L,0x67d9047cef64f6acL,0x00000000000000f6L } },
  70564. /* 36 << 252 */
  70565. { { 0xcbe3c6553fca4498L,0xfe7348762b198c78L,0xd29325d2244e4325L,
  70566. 0xf811d9a114fc0ce9L,0xaefd7d9540622672L,0x9e01aeebb59070b6L,
  70567. 0x14811a71f8dae8cfL,0x9c4680d5c01426c9L,0x0000000000000154L },
  70568. { 0xf106ef2abc07c7efL,0x249a2234a39f9edfL,0xc8183c09615d7a51L,
  70569. 0xe250cd31f509f19fL,0xf28eefe149134f13L,0xee2b97e95ddaff55L,
  70570. 0x28b2f72ad3959547L,0xf40f9d6a47cd3c7bL,0x000000000000009dL } },
  70571. /* 37 << 252 */
  70572. { { 0x319d18853945bc6bL,0xc0569cb414c1c53cL,0x0e23bbe24104fd05L,
  70573. 0x22ec69d1af763b66L,0x79816606bb0000e7L,0x6a3a8ae493893673L,
  70574. 0x0573de9d2d6abbc4L,0xb28bdaa38fb6032bL,0x00000000000001d6L },
  70575. { 0x50baaea5ac05f0cfL,0xe88864181615f297L,0x9311a1dfa9d25c58L,
  70576. 0x3333e14f8d6c9eeaL,0x6a8f3dce13608d91L,0xbb6b6955b736b86fL,
  70577. 0x5aeb5a41eb0a22d8L,0xccf9043b974aa869L,0x0000000000000161L } },
  70578. /* 38 << 252 */
  70579. { { 0x9634396daf728c46L,0xa5bc9b7d247224e7L,0xdfbc08af5c081218L,
  70580. 0x40daef2f74944bf7L,0x363b2863461700f9L,0xc7b2d7bc173bb294L,
  70581. 0x99080d3eefbfe051L,0xf987b4b797e98cf6L,0x0000000000000023L },
  70582. { 0x3984bf231aeb61d0L,0x4d59b524b46acdc8L,0x5523fe15227d50bfL,
  70583. 0x77b1691dcec5964bL,0x6517492432344e0aL,0x0778001be2ac2d32L,
  70584. 0x8cea375f288c0542L,0x92aae3acad80ca37L,0x0000000000000047L } },
  70585. /* 39 << 252 */
  70586. { { 0x5f72b28080743791L,0xf6d24353bad4058bL,0x40941ebcfb22ed42L,
  70587. 0x46f017e280467bc1L,0x43155ecf5b2eaf8dL,0xe7c3771ea97e0752L,
  70588. 0x87b477068a9a2623L,0x8ca0232ae08b1132L,0x0000000000000184L },
  70589. { 0x32ef7ae5683dbb52L,0xa8dcbbe761094cb0L,0x9f2062fc2c48a96fL,
  70590. 0x16bab4ceed9269ddL,0xf2b4713d2b9caa66L,0x81ccd94c07417deaL,
  70591. 0x71dfb81ae196d3b3L,0x836e59ce53016c55L,0x00000000000000c7L } },
  70592. /* 40 << 252 */
  70593. { { 0x94804b92b95527d4L,0x90dd532b78404dbdL,0xf8e5b1c62c372391L,
  70594. 0x7c4b488d68836ee7L,0x9d266ad6f8300a06L,0x16fb86b496340c5aL,
  70595. 0x593521324c6fb7a6L,0x20328cf8e55babb5L,0x00000000000001a7L },
  70596. { 0x8cc5cf828c337a9eL,0xed52a678cb12ddf7L,0xa38d7a38af21e702L,
  70597. 0xf4ea981de8c19a9eL,0x0e4e6bdc79a44d8dL,0xc76b800a5236cabdL,
  70598. 0x4ac864e69c3644f3L,0x418d9fe3162729f4L,0x0000000000000132L } },
  70599. /* 41 << 252 */
  70600. { { 0x632fac9b6c0b884dL,0xe64b31b11fc25e52L,0x96132f079cbd3314L,
  70601. 0x0e24dd947d867c6bL,0x895f8df9b24daf39L,0x8436f4630d7b8ad5L,
  70602. 0x292df4b9f79f4019L,0xffefe90e02a7ed35L,0x0000000000000007L },
  70603. { 0x4ce7024fd1b1dfcaL,0x8ec5462cbcd0728bL,0xaf6d3ed726fa57c6L,
  70604. 0xe6c42b8d3f45f510L,0xf8c2493a062a663eL,0xe988a4782075f60cL,
  70605. 0x641270957d167671L,0x3fd8cd1558cf1479L,0x0000000000000152L } },
  70606. /* 42 << 252 */
  70607. { { 0x46159bb21866454fL,0xdb5d23dbf1c1de9dL,0xa5b2b20f73b122e7L,
  70608. 0x1a5328d36e867746L,0x82d316f43432f556L,0xe1773f940a06b40bL,
  70609. 0x283be2a70cbb906bL,0x3ba5f206a07eb52aL,0x00000000000000f9L },
  70610. { 0xf0fb626d3c7cb6feL,0x823e7d48108f5d54L,0x3e2713ac7b3646d7L,
  70611. 0x23042db5afba0565L,0xc8d983df57696cd7L,0xdc2055c0f11edcedL,
  70612. 0x3476704b495ce49dL,0xcb1299b72f5349ecL,0x000000000000002eL } },
  70613. /* 43 << 252 */
  70614. { { 0x44b93e40fd864ec5L,0x605efca6e1c25de8L,0xb0a3cd7d5f1178d6L,
  70615. 0x4bff709678414d02L,0xc6c0f44c9e501072L,0x77967c9f92ad4719L,
  70616. 0x579a4782a54e73ebL,0x0130dc8919eb16b2L,0x00000000000000dbL },
  70617. { 0xc93dcbfb4e105bbeL,0xe67766b5e0552c72L,0x05677f76faca76d4L,
  70618. 0x766985710bce1720L,0x63946321e3270162L,0xa67411fbc2d2c96cL,
  70619. 0x1e3dfd40c17bd0d9L,0xac6177b43071540aL,0x00000000000001b4L } },
  70620. /* 44 << 252 */
  70621. { { 0xccdb3eded06656ccL,0xbe5af4fa347da6ffL,0x22c0b0573b487907L,
  70622. 0x027b5dcf0b018142L,0x18cbedfa397640bdL,0x296c1adba9ac930fL,
  70623. 0x2dc0515599454bb2L,0x5a7c04edc0072ff9L,0x00000000000001ddL },
  70624. { 0x817ec973da3ec7e0L,0xbf7de96bcb692075L,0x5ec2350044bff6eaL,
  70625. 0xcefad43c6f9cedb1L,0x808cbeda0e575221L,0x9631a43c7d0ed004L,
  70626. 0xbbd48ef5cc055d44L,0x7adced52db3a9305L,0x00000000000000e8L } },
  70627. /* 45 << 252 */
  70628. { { 0x4479d35b7ce3f5eeL,0xea8a93523bdf4c0dL,0xccc3b4b4a0f641a1L,
  70629. 0x4f9baeb1f1275498L,0x288f6fbb535c1ad2L,0xaf50e68f7d7e5e34L,
  70630. 0x1573c99dc8c366c5L,0xf29ed752cda48eecL,0x000000000000008cL },
  70631. { 0xf61dfe1cce19d1fbL,0x3f0ba2cbf727fb66L,0xbf17e60c5a46a948L,
  70632. 0x58bd4583e9e2c738L,0xe2ba0170ca15e3b6L,0xffe816af2fd57fd1L,
  70633. 0xd258abc333e06a1eL,0xd48a7702b820bfbfL,0x000000000000012aL } },
  70634. /* 46 << 252 */
  70635. { { 0x1e9da85c3cb7986aL,0x8ca319700a232882L,0x6c1d4813d8db00b0L,
  70636. 0xf05b2bb6728803a7L,0x757a5bfee989dbbbL,0xfe3782b857179a1bL,
  70637. 0x580279433184f652L,0xed24df1e636b602fL,0x000000000000010eL },
  70638. { 0x23f24bae4b469488L,0xa30177834d56de00L,0xe304cfa2ed103477L,
  70639. 0x4a55640cb8c80476L,0x58e7adcfb9b7feacL,0xf4f50f1087583584L,
  70640. 0xf38761e72ee6decfL,0x62d87e7311f8bef0L,0x00000000000000d2L } },
  70641. /* 47 << 252 */
  70642. { { 0x64c6e2ee38f640b0L,0xdbff010c230cd78bL,0x7b6805e3711d0b19L,
  70643. 0x31953411b2ead66cL,0xd03cd197e3497d2eL,0x7aa2213ee0b7847dL,
  70644. 0x68c6e618540fd2a5L,0xee78f1944b427d04L,0x000000000000019dL },
  70645. { 0x110e84797561c23dL,0xcad5537536e5b2c6L,0xcb7d30ac9827ac1bL,
  70646. 0xf609071cb3eff64dL,0x5a62d75bde8b2b8eL,0x2232be091a7ce124L,
  70647. 0x266ebe5057ad42dcL,0x1b421359c61e775bL,0x0000000000000065L } },
  70648. /* 48 << 252 */
  70649. { { 0xc65023db6599420cL,0xd5f259932de4f201L,0xdf04eb7f325db6deL,
  70650. 0xba7a4c67088c5b7bL,0x4288030314fff349L,0x5d8c5ac1ced29b1cL,
  70651. 0xba44893aa9d0ff4fL,0xc94974baed3f3117L,0x000000000000010fL },
  70652. { 0xd804dafcffe235f6L,0x1701e38d67c31efdL,0xd6b499096b9307c1L,
  70653. 0xf33c74961fa96ebaL,0xfab4f9f892099d0bL,0x3cc5ed866d5334f5L,
  70654. 0x41745249c94e6d74L,0x27ef9399dd4b2b7cL,0x000000000000018fL } },
  70655. /* 49 << 252 */
  70656. { { 0xf099cc75f8a9e112L,0x3c74b4cb76c67a3aL,0xfa20479f8dc52ec8L,
  70657. 0x65abe5c0989c6964L,0x3af2709a4f2c71f1L,0x57640513f76588b6L,
  70658. 0x6353f91e26a792a6L,0xe89c1bdb21c67c8dL,0x00000000000000bdL },
  70659. { 0x0b515fad1e10dca1L,0x90abf43dcdaa45ecL,0x062412e84bc4b73dL,
  70660. 0x718bd3c5b7e454bfL,0x39ad2babc0ac0ad2L,0xc873e3cf0fcc426aL,
  70661. 0xd62abb4369ef63f2L,0x2586fe964669d4c8L,0x0000000000000034L } },
  70662. /* 50 << 252 */
  70663. { { 0xe39f0511307f1c16L,0x5b10e8b6bbb6c973L,0x0309e94f4d0b7a24L,
  70664. 0x260ce1fd6621d244L,0x45fc1a57139898f6L,0x8ea7b91a596fd366L,
  70665. 0xde6371e00771a0eeL,0x5482ebb5731efc15L,0x00000000000001dfL },
  70666. { 0x11d6093d8aff3f7fL,0xcda42fb9470d25aaL,0x005b142823539f03L,
  70667. 0xb8c213cf33a131c4L,0xc8d4d05bc2d06673L,0xc280e948257b0746L,
  70668. 0x382e6cb317e2d479L,0xdb86d2f4febdf3feL,0x0000000000000027L } },
  70669. /* 51 << 252 */
  70670. { { 0x78caffd2c356407bL,0x20edea9e58f1eb89L,0xd16fc85fb2dc193bL,
  70671. 0xb1cd53747c8d19ebL,0xe2e606b24e7a43f9L,0x8c6f1b375ae2453cL,
  70672. 0xb3e9a3ea3ab64627L,0x043518e52094ca40L,0x0000000000000084L },
  70673. { 0x2c793d0352c34b1dL,0x21222d8dafca2b29L,0x951527fbcef8af6aL,
  70674. 0x73984b4bc18db31eL,0x30bd73641bf872baL,0x6c06495be01d557bL,
  70675. 0xacb554b9fc5f7d63L,0xc02a11b7f50b0bc4L,0x0000000000000017L } },
  70676. /* 52 << 252 */
  70677. { { 0xdf677374c18bfe67L,0x03daa39249685742L,0x69d2a99736b62aa4L,
  70678. 0xb7c3f6dbf4a734a8L,0x6ad1791560bb2339L,0x266dfc1f08f94b78L,
  70679. 0x2d3d477dd21b35dfL,0x41aea44988cfec52L,0x0000000000000125L },
  70680. { 0xfd65ad5e5f780039L,0xffe76cbfd96b8044L,0xf7ae0f1428bac68fL,
  70681. 0xe84394e6b4333bc8L,0xccce5687ad2c4225L,0x70471c81a6a9c7e4L,
  70682. 0x60c5e87940b576e0L,0x2f4ef8bb92e9f4efL,0x00000000000001bfL } },
  70683. /* 53 << 252 */
  70684. { { 0x3e0a60297892ba11L,0xe21b499382962ba4L,0x3b60b6f50126f7fbL,
  70685. 0x981850279dd3e473L,0xb337b151eb77334dL,0x32fdde882bed2f71L,
  70686. 0xfb8f226fb6070306L,0x8f2db293b0c2ca16L,0x0000000000000130L },
  70687. { 0xcd05c367cc0de01fL,0x07bdf2d67df2cb4cL,0xb8082bfb2af2a6bfL,
  70688. 0xfe5118c41f02c02fL,0x5c991d3da008a47dL,0x7f1fa1d4d8b33356L,
  70689. 0x0e9d143a397fafb1L,0xaa7061308868a859L,0x000000000000011cL } },
  70690. /* 54 << 252 */
  70691. { { 0x827702a8005513c4L,0x716246abd9b83e12L,0xd204accf5fb3021dL,
  70692. 0xaf843f358a4d8221L,0xbc3afbc0f965adc0L,0x7123eaadba9a8f54L,
  70693. 0x21d08b162c8578f6L,0x5e0ab2f832307214L,0x00000000000000baL },
  70694. { 0x9c1fc84883e1c1a8L,0xb9c17d7ec713b134L,0xb1fbc3be4cbb0030L,
  70695. 0x933803110d6f6b13L,0x5881c5cf7e61b510L,0xfeb0553c44ff008eL,
  70696. 0x2c22a2f1e14b8b02L,0xbdb4134af7f01665L,0x00000000000001f9L } },
  70697. /* 55 << 252 */
  70698. { { 0x1e57a0852a7b7c1fL,0x501cd11a379f8b64L,0x2005ea95719460b2L,
  70699. 0xe4cd1ea340555356L,0x6a2088ea43dd7f96L,0xc825ffeab958affdL,
  70700. 0xec97ea43d0db0c21L,0x4d5da9be6175e131L,0x0000000000000076L },
  70701. { 0x754f2673e8c6ac0fL,0x822a8787328cfe16L,0xa2b1e03d7390327fL,
  70702. 0x71a953aae3470001L,0xd29bef5157384b61L,0x6faae163b4e19442L,
  70703. 0xd180a23c76c973c0L,0x356ee274d45e2bd4L,0x0000000000000021L } },
  70704. /* 56 << 252 */
  70705. { { 0xde124a53d9996176L,0x1ec1e39cdc53c313L,0x91917a6c42d879f3L,
  70706. 0xa81372c74e70e810L,0x33d61ba95780fa10L,0xb52f521c73805446L,
  70707. 0x81bba0727bcbb8d7L,0x91a608a605f22a02L,0x0000000000000164L },
  70708. { 0x6f11a4a870220345L,0xa3513d6d297b6e84L,0x3dc485a1de56cf82L,
  70709. 0xf5e5240385610560L,0x72803421fa22b180L,0xb1e2031c7f0dc46cL,
  70710. 0x676c5f9e43d4c03dL,0xa891aa30dfa7f707L,0x00000000000001c8L } },
  70711. /* 57 << 252 */
  70712. { { 0x8080622ee89b1d39L,0x34718e3b8c5f94f8L,0xd8aa15ea60bd7116L,
  70713. 0x795258304437b505L,0x82c1c2707e5823faL,0xfcc0012b92d8a1baL,
  70714. 0xff16cf3c978289d5L,0x01b487fe51fcb704L,0x000000000000007eL },
  70715. { 0x271a09c44bfec059L,0xe3ab9cd3fa138ec8L,0xdc8d866309c5dcc2L,
  70716. 0x4caf43f7e599f66bL,0xbb4dd3b4688cd1edL,0x07eb1d9caa0ebb96L,
  70717. 0x80eac6dc610cba68L,0x55e5e866ead2696aL,0x0000000000000085L } },
  70718. /* 58 << 252 */
  70719. { { 0xd27f55b9c46df5c6L,0xd940f368e310c4baL,0xc1697f3a32602d58L,
  70720. 0x020061eebd564d22L,0x3042100cfa5d7c97L,0x937a3a303d8a5709L,
  70721. 0xc60488f76c8b2008L,0x3dda8ffaab473dbeL,0x00000000000001f2L },
  70722. { 0x6f893aab79642b56L,0xf329524470359a71L,0xd7462e6ed933ef1eL,
  70723. 0xccf86cd167e8de14L,0x0e8675605a4acf89L,0xc72ed3fef8e9e4d6L,
  70724. 0xc0dc88afd19e4a39L,0xf2e51d088ff2b106L,0x0000000000000161L } },
  70725. /* 59 << 252 */
  70726. { { 0x94c5c2faa76e3067L,0x74c5f7baa9e0ba68L,0x503de3ffc79e67a2L,
  70727. 0xe9da75b49903d81fL,0x52f7d9e94da7e1f5L,0xa83731d7b613e973L,
  70728. 0x2dae3eefc35a30c5L,0xbfb55d4be5ffe984L,0x00000000000000b8L },
  70729. { 0x174b687d0636d4a9L,0x00f11f55b75b9375L,0x70524e62e10ec42fL,
  70730. 0x0ef83d5da15440e5L,0xab7c2c2b7a7046f2L,0xa155482caf88ba29L,
  70731. 0x5aa1f5c5edd7b984L,0x5b7323ff9eab391eL,0x0000000000000001L } },
  70732. /* 60 << 252 */
  70733. { { 0x4f18d1477a7d8443L,0x0d76e1b7d1967058L,0xee35bb031486e355L,
  70734. 0x2b32b859da1bc577L,0x063f800d38adb65fL,0xd65ee21ff3f59f4cL,
  70735. 0x56ccb1068382ccb9L,0x74e330b878c00d95L,0x0000000000000179L },
  70736. { 0xa3aa4a6f8436a8d9L,0x2b1f2c1a7144c8c3L,0x95a3d612fccef510L,
  70737. 0x3c20cfce1af2d8c4L,0xddfdbbd52c0b33e3L,0x4236a2daf230e136L,
  70738. 0x22b8cad2b533d171L,0xc5398e4f52bd69b3L,0x000000000000001eL } },
  70739. /* 61 << 252 */
  70740. { { 0xf9998925356a789aL,0xb035d4d643e44f5fL,0xa362c1d3c0491bb1L,
  70741. 0xf9139080777ccd77L,0x7d0109074fefec2fL,0x77961dd61ea1b160L,
  70742. 0x3674c27d2f9de773L,0x6d1ff90f84e79d39L,0x0000000000000065L },
  70743. { 0x54b1da37ba03c500L,0xe9a2696034fdc983L,0xb4ab12ee290f32acL,
  70744. 0x6589b027a54917aaL,0xef94b1549a84fd5cL,0x1c598975cea54c74L,
  70745. 0xbc50a9b7ee3e0bdfL,0x5d755951d99ab48eL,0x0000000000000004L } },
  70746. /* 62 << 252 */
  70747. { { 0x3607f884f22962e3L,0x7fbb0064f0bfe22bL,0xbad02b9b716b8109L,
  70748. 0x2d2f55801bea19f6L,0x119a51eda3da1600L,0xed4bdc13a03e7da1L,
  70749. 0x52cf75e0e1594dc2L,0x5cd2a02ad2740de2L,0x00000000000000deL },
  70750. { 0x1c1cb857aaa37069L,0x69623f57f69b1560L,0x77e24490cebe0023L,
  70751. 0xca262a30e6395606L,0x4c68833affe15b74L,0x4daa7aa356fcb2a8L,
  70752. 0x4beede7dc40f75e2L,0xa00dd3197a34c150L,0x000000000000002eL } },
  70753. /* 63 << 252 */
  70754. { { 0x15c921c8bf854109L,0x91333f4fff524ec9L,0x739e37ee20bfd5d0L,
  70755. 0xe61087f8f8a8bc93L,0xcfc07fcddbe59f26L,0x1f5ac6d2f568fbe9L,
  70756. 0x78a1b8654452a4d4L,0x585d2501d6b939b7L,0x00000000000001d0L },
  70757. { 0xdb4c45affd113ba3L,0x0741c4004abbacd3L,0x84f69bd7c86145c4L,
  70758. 0x023850e1d597a974L,0x5d3a93d41f667362L,0x24eaefd5d8326769L,
  70759. 0x79ebdedb45edadbcL,0xf8833039310dedefL,0x00000000000000cdL } },
  70760. /* 64 << 252 */
  70761. { { 0xd1a48c6847edd0e3L,0xfefb60be253c6bb5L,0x7265ebb75ab3e95dL,
  70762. 0xc8d1b679f058192cL,0xcdc478d6fa21c3ebL,0xdf6360dc10b2b221L,
  70763. 0x824b28a71101d18eL,0x4bc043f1e04269d1L,0x0000000000000032L },
  70764. { 0xa342984e5d49e112L,0x981ac5544e80cd3bL,0x489ede322c45f14dL,
  70765. 0xb97b3ba50671c724L,0x3818c351bae2cd87L,0xf3719c9261521947L,
  70766. 0xb9116ed9a8252d72L,0x992761ed9c406f54L,0x0000000000000141L } },
  70767. /* 0 << 259 */
  70768. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  70769. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  70770. /* 1 << 259 */
  70771. { { 0xdfbfa8c0b9f59031L,0x683df70ba5e17023L,0x07958fdc42ce28b7L,
  70772. 0xb8965b5bc6d4dc78L,0x78441b9a6e4b4290L,0x3909e659ea4b4aa1L,
  70773. 0x9c8f59c629b6cd62L,0xf400a01919a026ccL,0x00000000000000cfL },
  70774. { 0x09844edef77fa34fL,0x9da8cdc495b4acfaL,0x5bb762074d52835bL,
  70775. 0xc39505e29c0584e1L,0x4c9a0f296c4f318eL,0xdd1a8f417d87f206L,
  70776. 0x423805cd95ec312cL,0x21639f519304343eL,0x0000000000000092L } },
  70777. /* 2 << 259 */
  70778. { { 0x6d9b0c3c9185544dL,0xad21890e8df2765fL,0x47836ee3cbe030a2L,
  70779. 0x606b9133f7651aedL,0xb1a3158671c00932L,0x9806a369cfe05f47L,
  70780. 0xc2ebc613f57f3700L,0x1022d6d2f065f07cL,0x0000000000000109L },
  70781. { 0xb292c583514c45edL,0x89ac5bf2947e68a1L,0x633c4300af507c14L,
  70782. 0x943d7ba57da4020aL,0xd1e90c7ac0ed8274L,0x9634868ce59426e6L,
  70783. 0x24a6fff2c26bc9deL,0x1a012168152416cdL,0x000000000000000cL } },
  70784. /* 3 << 259 */
  70785. { { 0xcc2fec030b4a18c4L,0xfc29fc82165d1776L,0xc8ab611ac317fc9dL,
  70786. 0xa8d299571029913fL,0xa225949049f64636L,0xda588063c1db5e74L,
  70787. 0xff94c5e6c0d70127L,0x199c1b8e74f89721L,0x0000000000000062L },
  70788. { 0x168ebf642d3b8836L,0xb05a8c0f1c2db301L,0x409e24edc0a052a8L,
  70789. 0x6b6bb0163125a8edL,0xea9b956bf64bc66cL,0x4453021083f44d9bL,
  70790. 0x0eb41037fe8b6632L,0x555c39b858ef78d4L,0x000000000000002eL } },
  70791. /* 4 << 259 */
  70792. { { 0xc2453d609102b570L,0x70840e5c142c3e23L,0x7294b1f1c30037d9L,
  70793. 0xa2500f121dbf5ab6L,0x03eceb67c9c8ee6eL,0xa19c319330820abbL,
  70794. 0x7aad59e87da6b820L,0xe97823f8c38d842fL,0x000000000000006dL },
  70795. { 0xce5bb75ea7b6bb9eL,0x9090358d569c9eddL,0xa8b5ec369cd0c065L,
  70796. 0xb2b5ac1cf81c82b8L,0x8feb364c3ffceb86L,0x355ed9ecdf4f9f7eL,
  70797. 0x6f2efe425ce12ff4L,0xb23168780155070dL,0x0000000000000035L } },
  70798. /* 5 << 259 */
  70799. { { 0x38a82571854f48c1L,0xd1b1b09af520fd6bL,0x7f01089cdf7207c9L,
  70800. 0x96a6180fc9393ec5L,0xa736bb517aea3ec3L,0xd25dcafeb56b8f87L,
  70801. 0x48933536a43ea781L,0xbbdbedab8e0fd61dL,0x000000000000003cL },
  70802. { 0xe8b599d37f7a088dL,0x85ade4938e5efd0fL,0xe3049a17adbab77fL,
  70803. 0x3a24830b430f3f92L,0xe267f23e183b494fL,0x05f42dd6166e606aL,
  70804. 0xbee09553f479301aL,0x5adda2a63ee09623L,0x000000000000012eL } },
  70805. /* 6 << 259 */
  70806. { { 0xd8be53eb86660e96L,0x72c2673c8be7763dL,0xa7c5462ec6b55bf0L,
  70807. 0x9def337b574a104bL,0xa8fe70ae9e9a1386L,0x6070f210bd010cf1L,
  70808. 0x5d3eda3894ae907bL,0xa69d86791bea88cbL,0x0000000000000000L },
  70809. { 0xd1dde97203c8dd6aL,0x562332d1d8950c30L,0x33be213e5ea340f7L,
  70810. 0xebb49ed4eb40e91eL,0xefe4aac270b2ca5aL,0xf6ad3cc1900ceeb3L,
  70811. 0x67e9a8816cc704d6L,0xdd3f2baf12fe8a0aL,0x00000000000000beL } },
  70812. /* 7 << 259 */
  70813. { { 0x7d8fff086a2f9346L,0xdf0fb4f2d1e2a388L,0x45ba8c01535d98ffL,
  70814. 0xce448379f67301f2L,0xbedd58c03767978bL,0x7b1171f555aef5a3L,
  70815. 0x66b7c88d5a486411L,0xd35c98709f6c12dfL,0x00000000000000d8L },
  70816. { 0x9dc04b408b746e49L,0xdef5954d4eef5b2bL,0x4bc53645fdc0ba16L,
  70817. 0x3b488da37054acf5L,0xc610686016a0c2b8L,0x299f1abb911bc8b8L,
  70818. 0x5422e599ecec19b3L,0x9ec27cb47fd2c939L,0x00000000000000f0L } },
  70819. /* 8 << 259 */
  70820. { { 0x5f56b5a41bc0fa77L,0x6cdd6bb564fd36f5L,0xd0ac68b58a5b7c7fL,
  70821. 0x4a92d9bf09919ef9L,0xc305e12b71c3c520L,0x554a9d1cdb699aeeL,
  70822. 0x7fde007761f54643L,0x99c13124479115ceL,0x0000000000000039L },
  70823. { 0x25f890e1c271ac2dL,0x1353ccd394b370acL,0xc7b5adf6744d4011L,
  70824. 0x9ccd7687be378127L,0xa8489b5c06c4e3cdL,0x1945580a305505f9L,
  70825. 0x07190a204ab3b12bL,0x0ff53eb11534ea4dL,0x0000000000000159L } },
  70826. /* 9 << 259 */
  70827. { { 0xa3f06f7e03301a8dL,0xfadeedf1ec05ed54L,0xe26adc226b4601b1L,
  70828. 0x1b283cdddadcb386L,0x3acec9e811b4a113L,0x91b8284f1118431dL,
  70829. 0xe18d0cc4ac01391dL,0xeb2c1b0a7cc7d837L,0x0000000000000074L },
  70830. { 0xd0662bde8e3877a7L,0xc979f8a15d0641caL,0x28d798bd044f4903L,
  70831. 0x296941594e7b2108L,0x84d5ff89c5381df8L,0x299250a7a51d6348L,
  70832. 0x02ee4fd3909ecdbcL,0xcfa39db1c84b1fafL,0x0000000000000114L } },
  70833. /* 10 << 259 */
  70834. { { 0xe774eed9b1167003L,0xecde86e1932845b9L,0x0381d17897a8a10dL,
  70835. 0x995a4926aeb8bef7L,0x3ee19c812304bae0L,0x541449e3fe977e97L,
  70836. 0xd7ef476ba517b358L,0xe55330bce0d847cbL,0x0000000000000012L },
  70837. { 0x1620a1d6f06a91d6L,0x714b3502ac578bfaL,0x2606ebdb6bed112dL,
  70838. 0x8b7b271563f8e778L,0x31833913651fd543L,0x14929f1adc9638feL,
  70839. 0x2637ec813ee709d3L,0x39faf7e705547eaaL,0x000000000000009cL } },
  70840. /* 11 << 259 */
  70841. { { 0x224aff4aa7b53656L,0x93b4629f1786efa8L,0xdcf8ce96a546dcbcL,
  70842. 0x55f8dbafc17cbe15L,0xe0377d7cd48c57adL,0x28143a41d9a9a135L,
  70843. 0xc1c07a77d9b71cc6L,0xed6d2a8fb29ae6b2L,0x00000000000001e4L },
  70844. { 0xe5dc2a6836867275L,0x7bb1a0b5349e1d5fL,0x326d1d94c30c763cL,
  70845. 0x06389c1a6db2148cL,0x3a572e33ba33a05cL,0x4244f4884ff8334bL,
  70846. 0x0a63419a240e3005L,0x8fdde11d479fe00aL,0x0000000000000038L } },
  70847. /* 12 << 259 */
  70848. { { 0x785e09ff6c6a364bL,0xd00a50fe53e3c393L,0xad964c6e0d36fb23L,
  70849. 0x353441feebada914L,0x4e16727ea5ba72fbL,0x5114c6e07bdc78a4L,
  70850. 0xca3a8e27f38384ceL,0xe48f64cc77307092L,0x0000000000000089L },
  70851. { 0xb3152778351aa439L,0x0bbc970e6a2e6c8cL,0xae03de8312cfdc8dL,
  70852. 0x1622d6db779c99e6L,0x82d6078b59ef9e70L,0x3539ffd07368486aL,
  70853. 0xe61a3e2b083f7b1aL,0xb214f0b74b874dc2L,0x0000000000000155L } },
  70854. /* 13 << 259 */
  70855. { { 0x97a1306e9e1d014bL,0x59ede0475517a3ffL,0x327b01f207a6b3f4L,
  70856. 0xfc8bd2c2fd4f1a9bL,0x0e1b92c4b1af517fL,0x646bae59e1f96248L,
  70857. 0xd14955bc75d5c91cL,0x6f849a406c2dfbfaL,0x0000000000000134L },
  70858. { 0x984d6925802559b7L,0xc51f33f880d5fd4fL,0x6fb6927113165975L,
  70859. 0xb5ed83cd5dec0cc7L,0x53314bcd8649d155L,0x716d891fbef7bfa8L,
  70860. 0xd7c07da0c3486607L,0xcab5e610669368bcL,0x0000000000000048L } },
  70861. /* 14 << 259 */
  70862. { { 0xe77c03eed7ecb581L,0xb0b4de18cef15beaL,0x318e5b24fa1ea3ffL,
  70863. 0xfd1d902e710e95fdL,0x8daeda0655cafa30L,0xcaba29bf2bd11001L,
  70864. 0xaec1861bd88085bdL,0xfaa66562e591d19aL,0x00000000000001f6L },
  70865. { 0xeee386f7b68c7429L,0x0a876aec502c0797L,0xcb587df8c6806fa9L,
  70866. 0x4f7cb6dca84de772L,0x407a1f0ff746cc93L,0x7862e9bb6b953e5cL,
  70867. 0x6c106caa0a4c9357L,0x04213043c0096e5dL,0x00000000000001abL } },
  70868. /* 15 << 259 */
  70869. { { 0x6c0ea19b675e5fddL,0x40b9015015507582L,0xf7237ea726e603f5L,
  70870. 0xc4dce1026e0be9ffL,0x5f0d8a2e3c5b733fL,0x26a280f86ed664deL,
  70871. 0x5f532bcb33c11487L,0xb0f9d44cacf164f3L,0x000000000000009eL },
  70872. { 0x70fbc712b712571dL,0xa2becc32da63e6aaL,0xaae77cf6c170057eL,
  70873. 0x2f1d39620a4897dbL,0x4c1b5709079995e1L,0x5771457fe2de734eL,
  70874. 0x7b355bf238fcd883L,0x1acad483a6f023b3L,0x00000000000000bdL } },
  70875. /* 16 << 259 */
  70876. { { 0xc68052c94876bab8L,0x81f704baf84c2e38L,0x28bb9436f2cf9927L,
  70877. 0xb89bbfa0d06c972cL,0x00fe1dd8b7a78e76L,0x3adfb05af7f1e1aaL,
  70878. 0x45321e42b7278eeeL,0x13d850e0a528ebe4L,0x000000000000006fL },
  70879. { 0x6b724c681934143aL,0x2f944afdb657d809L,0x38e501dfaba2fa08L,
  70880. 0x9285ece1be66e568L,0x7af221f7f9df3327L,0x00b8a86fde74aefcL,
  70881. 0x19d675189a992072L,0x806d1c88d9ddbbb6L,0x000000000000009bL } },
  70882. /* 17 << 259 */
  70883. { { 0x20ea1405d04d2000L,0xea35dca5c089a6c9L,0x038602bf3bdda2e6L,
  70884. 0x477b746aebf1aaa6L,0xd47867e49e7854cfL,0xd8b1935170bc2ee9L,
  70885. 0x76412c62a44fee1eL,0x129d55355abfa5d8L,0x000000000000019eL },
  70886. { 0xa5e36fcf3ab81c33L,0x6245c51eaf823a1eL,0xd62852eb0e836757L,
  70887. 0x3b2db4b779c4b928L,0x11dc7ad28063e57aL,0x0316df7eeafc4648L,
  70888. 0x44a90cbbfb758030L,0x3db503f2caa01c6eL,0x00000000000001ceL } },
  70889. /* 18 << 259 */
  70890. { { 0x2aaea367bd35d8cbL,0xf2a64bd7ae020e8fL,0xd7f80264d6dc5572L,
  70891. 0x890e23621f36c56fL,0xb9daf028a09342ddL,0x6cee1fb190bf076fL,
  70892. 0xfae167e70f0412ceL,0x2a79d89a8a2fd483L,0x00000000000000e0L },
  70893. { 0xc222a2450849a624L,0xed4033dd0082dedaL,0x11f78e31df0dc525L,
  70894. 0x34240b3ebb3eb85dL,0x135d407dc287296aL,0xc47fbfce741ff1b3L,
  70895. 0xe34dd021da643502L,0xf183174d65e3ba7aL,0x0000000000000116L } },
  70896. /* 19 << 259 */
  70897. { { 0x10f9009fe7aa5ec4L,0x125939c308e38826L,0x85a399e720424b3fL,
  70898. 0x04eafd33c0ac71f3L,0x79c534b4452782e8L,0x57a8e52137e8307cL,
  70899. 0x905909823134ebceL,0x8c0acf7565ff10a6L,0x000000000000015bL },
  70900. { 0x27afc0afe6436fe3L,0x9739bc6f13b24125L,0xe7b31b50902904b5L,
  70901. 0xf7ac9e9c0e8dd2deL,0x8b0c28b2295bca58L,0xdc5817376beafa7eL,
  70902. 0x1ccce1e33aa35160L,0xe57661cc297eafc9L,0x000000000000000eL } },
  70903. /* 20 << 259 */
  70904. { { 0x83c6b9ded09b1b31L,0xc2325238e3c06d55L,0xee4a352851db1a32L,
  70905. 0x69bba3f21edd1449L,0xa445212e855c819aL,0x00a83136b62b4fefL,
  70906. 0x1c51eb23e3edd8bbL,0xf5eba0c09a238dcaL,0x00000000000001daL },
  70907. { 0x1223b0b5b2448058L,0xb6e3ad9f699217e3L,0xa7ae6434584dfe78L,
  70908. 0xf7d3d93f5b407cbaL,0x68b167ad39035117L,0xb369219cfe239c88L,
  70909. 0xf3d9bc4913bba594L,0x6123679d698e3bb5L,0x0000000000000183L } },
  70910. /* 21 << 259 */
  70911. { { 0x95f7b69fd2f71619L,0xf96d943794b12017L,0x6d0cf626a6415ee3L,
  70912. 0xd6ca14a945b74621L,0x9cf18c6eccba609cL,0x3d33890bfba5a052L,
  70913. 0x38426ba5c7e9a4e6L,0xdd28b78e61840224L,0x0000000000000062L },
  70914. { 0xfff724ab6d9606c1L,0x9b61bc1178750133L,0x2137470f8fd0f355L,
  70915. 0x84605f37daf83165L,0x24ee8714edc5f305L,0x77cca00adb7ee62aL,
  70916. 0xf45654e1212cc286L,0x638f7126ef2ed80fL,0x00000000000001abL } },
  70917. /* 22 << 259 */
  70918. { { 0xfa37c4d089b3a5a0L,0xa8ed9bd86065deccL,0xc5068acfef8cc1dfL,
  70919. 0xea2a71018c98a08eL,0xde77dd771b4baeaeL,0x855a8b672b794f71L,
  70920. 0x1acf5585cfc02477L,0x1535d73cc30f94c2L,0x0000000000000149L },
  70921. { 0xc7f723eba566c87bL,0x88d22c712cd0a69dL,0xd7f9318bf60c47c0L,
  70922. 0x8d652ed79c239254L,0x186ab5d6c46760cbL,0xf83bb0d588e7879dL,
  70923. 0x2976daac122a83b2L,0xc7bc8602f240460aL,0x000000000000010aL } },
  70924. /* 23 << 259 */
  70925. { { 0x6c4da53b55c8c9fdL,0xcae3b7ba785cfe10L,0xcdb8f1c59c4cd91cL,
  70926. 0xbd1c603ab874a86bL,0xfb8654e1043ea4acL,0xad5c88fbca482074L,
  70927. 0x89d5aa873262bbd5L,0xdcda775402ad836dL,0x0000000000000076L },
  70928. { 0x4d5190e63441966aL,0x99698619c7ff468fL,0x0a5e1697bb1a77beL,
  70929. 0xb5c0dcfd32ea31f9L,0x2121cd321b6f6ba9L,0x53b7874f779a966aL,
  70930. 0xadb4e60ea3c6172cL,0x5de2f937754ab9e7L,0x00000000000001fbL } },
  70931. /* 24 << 259 */
  70932. { { 0x4a7aca2f4dde4b24L,0xe56e7b54b4a15f13L,0xecb9c748eb5705b0L,
  70933. 0x675ffbc695977aa7L,0xd200cc67501dca3aL,0x82b4152d3c43e1ceL,
  70934. 0x64be95945c124198L,0xfc52e520389aa160L,0x000000000000000cL },
  70935. { 0x157e8281f875201eL,0xe98a64c03b179b49L,0x8df77ef0d4bce1c6L,
  70936. 0x8b6764909a9fd8e8L,0x6d8879b8bb67721dL,0x558091cc19e81bddL,
  70937. 0xebacde3fec6e7394L,0x987a87d51bc77288L,0x000000000000010fL } },
  70938. /* 25 << 259 */
  70939. { { 0xd2fded8759ce0d63L,0xfb2c78fdad3f2b6aL,0x1e47201d30bf7a0cL,
  70940. 0xefd45dfcdd7cca88L,0x9d46cdcf392768b2L,0xbddabe42411e4cd1L,
  70941. 0x6a2d18754088dddbL,0x56ac6278c731d94cL,0x000000000000011eL },
  70942. { 0x11aec7dcca650d47L,0x0f4e8a9e2d8a5dedL,0x92a664a4c2c1f5b3L,
  70943. 0x2cef12ef01e930d9L,0x87e8b0bd01ac4347L,0xdb547402a854a695L,
  70944. 0xcc487db9b9d1733eL,0xe8dfdc0472b35b30L,0x00000000000001a5L } },
  70945. /* 26 << 259 */
  70946. { { 0x866ff3c908ea3335L,0xfb58377c88d2ec52L,0x5715d9e014a8829cL,
  70947. 0x9376778b0595d929L,0xc1ccd5d59b8ed6b5L,0xd90d82dc00d1367fL,
  70948. 0x15bce4d84cd41c48L,0x1144874144a2b97eL,0x000000000000017fL },
  70949. { 0x0e3e35fe60aa94e0L,0xaa1456964891e593L,0x51ec590f402ead1bL,
  70950. 0x23c0996d7345d47dL,0xd93e5a1a2ca244e6L,0x80c00f6fdf85d7f8L,
  70951. 0x1ca50525867d760eL,0x29cf9fb20984377bL,0x0000000000000196L } },
  70952. /* 27 << 259 */
  70953. { { 0xbd692d023a5647efL,0x964c9bae291eb75eL,0x704d6f07f201fd7aL,
  70954. 0x6fdc417b52db9f6eL,0xbf85909f6291d4a1L,0x75d316a483e42991L,
  70955. 0xaeed45ef9cc62549L,0x1f4d10c5995a6c4fL,0x000000000000002bL },
  70956. { 0xe5ff3d1dbc6c43a2L,0x552282bdff596546L,0xc9a7f0f45518beeaL,
  70957. 0x29e5b89aa6339aaaL,0x1b7acff5f0d0399dL,0xcec8edaece588c77L,
  70958. 0xaeb3a8e88fe82680L,0x96f35f5b9fc80e41L,0x00000000000001daL } },
  70959. /* 28 << 259 */
  70960. { { 0xb95253361ea445c9L,0xa8a0fe24c10de158L,0xaba4da83211f91e9L,
  70961. 0x307538caf2390466L,0x1e0313e0153d0062L,0x8f5ee2c89ffb2a03L,
  70962. 0x49f2777ff412ebc8L,0x463f67093d268ae8L,0x0000000000000057L },
  70963. { 0x3856bef0a32a201aL,0xd240074b30514b6fL,0x277c70d8a9c71d35L,
  70964. 0xe35d68cf7aa435f7L,0x8a3c9a0960681a98L,0x4ef5a19a5d25e946L,
  70965. 0xdb60e7fc4316cb53L,0x2693e9a568601ecaL,0x00000000000001a5L } },
  70966. /* 29 << 259 */
  70967. { { 0xad35ecaee98cd7adL,0x906bd768a474bc5dL,0xda3926c0d0ff4afdL,
  70968. 0x9b850c9da31111e9L,0x426e3fdc6caf82a7L,0x9644b0d4bfb03a61L,
  70969. 0xc524fe4534531e4bL,0x0bfc8bcd7c3802beL,0x00000000000000c6L },
  70970. { 0x9342cee294463876L,0x83cc9e39f1be35a2L,0xb18ead7df321b335L,
  70971. 0x00c2fb7044628d65L,0x7b320756ac074cfbL,0x71f3cd03644e931fL,
  70972. 0xf82be78c1e0df54fL,0x397a7d9ed542dddeL,0x00000000000001e0L } },
  70973. /* 30 << 259 */
  70974. { { 0xd8bf062c1e073747L,0x26c96d9fee2e6d05L,0x79d919d7890b4d75L,
  70975. 0xb42e2bb900653fbbL,0xf8987798e3ccc877L,0xb47d6eb25033de8dL,
  70976. 0x39f94c596c5fd1a3L,0xf3c0c3882fa0ab65L,0x00000000000000c9L },
  70977. { 0x9661d7f82b18b119L,0x6fa045ecc4b5c3d0L,0xc858de883bcf37a2L,
  70978. 0xd81d90fb3224d885L,0xf251a9f77a8377e5L,0xfeb83a50a3d8c771L,
  70979. 0x853cfabcb5394fe7L,0x950559bf67c9eba6L,0x0000000000000000L } },
  70980. /* 31 << 259 */
  70981. { { 0x08cf7dfbd3c147b9L,0x12ac86d2f10d9656L,0xe02add8249b8805cL,
  70982. 0x9456f02a5f74b988L,0x4a631e1087cdba37L,0xb51ee73a96da245fL,
  70983. 0x1378e514042f40e4L,0x9ca9b65c1f1d6aa9L,0x000000000000002bL },
  70984. { 0x01757173a246897eL,0x943f9cc04c7b233cL,0xdf545f8e7858a222L,
  70985. 0xb8b36cae3d074306L,0xb7c5c74d9a30dc70L,0xe3b361764c35c88cL,
  70986. 0xb0a1f4f1f0bac884L,0xe86e2f8874506af4L,0x00000000000000d4L } },
  70987. /* 32 << 259 */
  70988. { { 0xee31e71a286492adL,0x08f3de4465f86ac4L,0xe89700d4da713cb4L,
  70989. 0x7ad0f5e9a86b7104L,0xd9a62e4f2572c161L,0x77d223ef25cc1c99L,
  70990. 0xedff69613b962e0cL,0x818d28f381d8b205L,0x000000000000008eL },
  70991. { 0x721231cf8cdf1f60L,0x8b640f2b6717760fL,0xbe726f8ce045a403L,
  70992. 0x422285dc0370689fL,0x7196bf8f72ea0dcbL,0xa16f7855c8086623L,
  70993. 0xd4e19fc7c326fe48L,0xfdbc856e8f68bf44L,0x000000000000013eL } },
  70994. /* 33 << 259 */
  70995. { { 0x28ae363b4f9810f3L,0x3c8be1a72b4adaa2L,0xb6ccf2e9a106c1dcL,
  70996. 0x1eaa8df5dc082342L,0xa9d31a0f093f4db0L,0xc21ccdd96a7d1821L,
  70997. 0xb65f98905a9fd515L,0x2277f550f370da1fL,0x00000000000001c6L },
  70998. { 0xe9c244cb48277947L,0x1c4bd7fbd7f2e795L,0x0f131239511d2132L,
  70999. 0xa8414dbb86c7eecdL,0x191644a8486dca5aL,0x1ca965ad6c84a2bdL,
  71000. 0x56022cf1985eb7e9L,0x25b227393c581accL,0x0000000000000118L } },
  71001. /* 34 << 259 */
  71002. { { 0xb1b6d3a65bbb33a1L,0x3075d6caf5c56c88L,0xe6dfb0e533d4db68L,
  71003. 0x7f2ef47003fc741dL,0x2bd5d92bec7c0497L,0xaa499ca8edca6a5fL,
  71004. 0xb16771e43fd78f37L,0xc110eac51e8f7acaL,0x00000000000001a6L },
  71005. { 0x1faf956a555073f9L,0x2e665871977f2a0cL,0x2fe68703a4ed455aL,
  71006. 0xcc2bd95fa496e153L,0x8233f9bfafc21f60L,0x402fea60f2144bfbL,
  71007. 0x680a736ca2ffc242L,0x69634dcc94d4f0c9L,0x000000000000013cL } },
  71008. /* 35 << 259 */
  71009. { { 0x230cadee4136c79aL,0x53a2dce673945040L,0x94f8a859e6429d9cL,
  71010. 0x52383e90b1ed3b5dL,0xf2a0901f5fa55cd0L,0x2026ccf13e2f8760L,
  71011. 0xcdbaa7cc91a22dacL,0x5b2163adbd3c3a35L,0x000000000000017fL },
  71012. { 0xdd444ce700d782bcL,0x100dcc2abe1fe73fL,0x640c492a0ab9b972L,
  71013. 0xa487fe3863528daeL,0xfc1e9dac220fe227L,0x299b97cdc6c10c53L,
  71014. 0x598cccf628179b7eL,0xe4991c506af23688L,0x000000000000017fL } },
  71015. /* 36 << 259 */
  71016. { { 0x1f021ef05478138aL,0x53076dc4067de90bL,0xb325a033c6cbb9c7L,
  71017. 0xd41768278793b908L,0x3cb14074a18b1a70L,0xf50ef63a236f4953L,
  71018. 0xc59bf449c8bc84feL,0x2952abb6f0b868b8L,0x000000000000005cL },
  71019. { 0x2a0e56c1652bb7bfL,0xf2186af3b9a9a9f7L,0xbfb054232c2d7ef8L,
  71020. 0x9aceb677cabbdd86L,0x40314bd8270a74efL,0x71e9c648d933146eL,
  71021. 0x9a19956d14b0eac3L,0x9797358c0c75f494L,0x0000000000000121L } },
  71022. /* 37 << 259 */
  71023. { { 0x80bc51e0c4a4f043L,0xf18f17f98fe0c29cL,0xdd6b0e054c815822L,
  71024. 0x63bffee5b3d55da6L,0x84b0917351b59231L,0x71689568a7d603b1L,
  71025. 0xd579f92e227fbaa1L,0x962feaddbb1f1d79L,0x0000000000000079L },
  71026. { 0x52e249efd48c66eeL,0x400c89e816b9737bL,0x39cc526b4abe856cL,
  71027. 0xf38ccc7eca5d4e44L,0xb215a07bacb8ef4aL,0x0712bcf081443047L,
  71028. 0x494d622ee238c55bL,0xcf6a1baa50e72dfdL,0x0000000000000117L } },
  71029. /* 38 << 259 */
  71030. { { 0xd8eb671dd0e16c37L,0x426b4fe04fac827eL,0xa5ca693c33cbc22bL,
  71031. 0x54de649e6a5c797dL,0xd9e900bf9e0e10b6L,0x531cffe217dfa29fL,
  71032. 0x0482aa87674ac4efL,0x210528300059648eL,0x000000000000010aL },
  71033. { 0x056126f75d644042L,0xb2cdfa0f893ad834L,0xdd7935cd9cc62fcbL,
  71034. 0x820515a09f640985L,0x6aebdaeeb809328dL,0xdfe17ad7fc12ef5eL,
  71035. 0x6b650484501f50e3L,0x3b8eaf3215fd9a0dL,0x0000000000000002L } },
  71036. /* 39 << 259 */
  71037. { { 0x82ed9a8dda6639adL,0xf6024a774e995343L,0xe6a1cdf6070572a1L,
  71038. 0x6a15e3512ab3eb5fL,0xcb4f48bb6655ecccL,0x9295854303dcb66dL,
  71039. 0x060fd5396523aa99L,0x3004bc44f42a7f0bL,0x0000000000000090L },
  71040. { 0x8e2060ce679910bfL,0x512c4ea8e342d6b3L,0x6d125c9b569f8e2aL,
  71041. 0x833d68f3ecacb92cL,0x7ecfa091e570be21L,0x14539cfe17dae806L,
  71042. 0x111cb671599c5e7bL,0x7d0361e735cad2bbL,0x000000000000006eL } },
  71043. /* 40 << 259 */
  71044. { { 0x0206454024a7e70dL,0xd7c69d0cb892b167L,0x4b5a7d36f6f94cb8L,
  71045. 0x7237ffff807698d1L,0x90ca471730d2a69dL,0x052ba947da584fe9L,
  71046. 0xea15b35b970ee0ccL,0x0d7ba4f0be2d7cc9L,0x00000000000001ccL },
  71047. { 0x10d8cd17f953d168L,0xcd255ba241da2817L,0xed38eccb2381ea26L,
  71048. 0x53eee2ef55ed1ab5L,0xc94ad92333ac6a32L,0xd000d271a71253bfL,
  71049. 0x77c8d5c9547f8b3aL,0xbef4d3aa18ae2ddeL,0x0000000000000159L } },
  71050. /* 41 << 259 */
  71051. { { 0x3eeba73f7dc5de84L,0x61f94421baf4ce8eL,0xebf5e4c01e5e5d3fL,
  71052. 0x87b7a9d18b008fdbL,0xc78a071f49b69718L,0x56743f3d87413117L,
  71053. 0x28ca8e2f94c872cdL,0x5f36f860fac7f330L,0x0000000000000100L },
  71054. { 0xbce6c975e85d255bL,0x21e0235a4066ae6dL,0x786e6d4ac50be9f7L,
  71055. 0xfdd3a4ee582e9ec5L,0x5d8ee443c1fda7e1L,0xd076758e1bf06a98L,
  71056. 0x31508bfc8534eecaL,0x27ab9f1931641184L,0x00000000000000d7L } },
  71057. /* 42 << 259 */
  71058. { { 0x76b363b63c5ce17cL,0x75e8ba323e1f0c00L,0xafe8f47ea3ad49f4L,
  71059. 0xdeb90e8dd38a4c8bL,0x59e3777d07743abbL,0x1092a633dd2a10deL,
  71060. 0x082446e157e17d7cL,0x0d01da2edce36407L,0x0000000000000019L },
  71061. { 0x73a9f09639a6db94L,0x96bc010721374c72L,0xbceda9caff17e1edL,
  71062. 0x32b708692d130febL,0x14a201008f0e1601L,0x34f1cbbbee4a4a76L,
  71063. 0x488b76db85c287b8L,0x4e64b547b6a7d1feL,0x00000000000001adL } },
  71064. /* 43 << 259 */
  71065. { { 0xa836842eb6ae189eL,0xf1b19c170056ab75L,0xae3374042b01c3a6L,
  71066. 0x89d5cc7a0bb8c2bdL,0x6e02b009fb866289L,0xdcadc0fc5abf3d3bL,
  71067. 0xce7b2d6604290e7cL,0x94ee4a4d18364ed0L,0x00000000000000afL },
  71068. { 0x672841bfc58e7b41L,0xf2fbd6fa87db5ad0L,0x2511d4e7dce7195dL,
  71069. 0xd21c4d314dffb69cL,0x8231cc4396b5a36fL,0x75c447f63ea477ecL,
  71070. 0x2574bee0d6186096L,0x52870fd9c167aad7L,0x00000000000001b3L } },
  71071. /* 44 << 259 */
  71072. { { 0xece40f9775f9275cL,0x686e628af28cddfcL,0x544b842b887b5aa2L,
  71073. 0xb33a8517c4ad2061L,0x1525dcd7bdfe3c4fL,0xc771ef08b09c44b5L,
  71074. 0xeb02c6bf781ae208L,0x784dbff997fc9c2eL,0x000000000000012eL },
  71075. { 0x10717e71d93974bcL,0xd6a9e82900a10d31L,0x27b00c7f35d5e291L,
  71076. 0x451d556e0bed8699L,0xa3ff4fe0f5118f55L,0xfb5d9590f07091d4L,
  71077. 0x2dea085ea6378d60L,0x24dac7bb4741b622L,0x00000000000000b6L } },
  71078. /* 45 << 259 */
  71079. { { 0x58f22e521589fc91L,0xd26d923c1572f936L,0x119123075356419cL,
  71080. 0xac8ef534d050441dL,0x2095327f1a4e0cf4L,0x39cc6a1ee169d2ffL,
  71081. 0x8ebb4d099b67523aL,0xcc3a215be1bf9afcL,0x000000000000001bL },
  71082. { 0x39abe3cfd0c96670L,0x1948c476066b056eL,0x47932f316512b7d0L,
  71083. 0xc905d875ca50f67eL,0xe94876bfcd454f38L,0xf15a676e69ed3d3dL,
  71084. 0x32320896d595a940L,0x0656340a48ad1e79L,0x000000000000006aL } },
  71085. /* 46 << 259 */
  71086. { { 0x8f6ca036a25c9b50L,0x56356d4785bcc87aL,0xe646d82299817898L,
  71087. 0x6f9c87155d43bafeL,0x09e17a9509926705L,0x1eb95e765fc6bd98L,
  71088. 0xe5894e0146e44174L,0xf345a2821c1f16f6L,0x000000000000018bL },
  71089. { 0xe6a6189e502ca51fL,0xea04086caf88b82cL,0x400cf34589a390c7L,
  71090. 0xf1da9ba44ed71572L,0x07b61a37913f522cL,0xc69f7f0c0e27f8e4L,
  71091. 0x25d6a2dee6073472L,0xb1d97674586573e4L,0x00000000000001e0L } },
  71092. /* 47 << 259 */
  71093. { { 0x3bf9c246be511a2aL,0x528e184cd12e41f6L,0xe473382fff9c33cbL,
  71094. 0x7b152e99e6e39137L,0x01d3d113a4a2e625L,0xa7ab2c27eea47137L,
  71095. 0x0a69cf3194b87f50L,0x36af1fa902fcf00aL,0x0000000000000177L },
  71096. { 0xc5a45d54b2ff7576L,0x18998a609b2e0046L,0x70720cc450e4fdd5L,
  71097. 0x8ab8a8766f9adbf0L,0x0c09fe59285f4e50L,0x41f772e1aa49ce03L,
  71098. 0x70675276e7e928b3L,0x9e4c40d95f1dffb6L,0x000000000000002bL } },
  71099. /* 48 << 259 */
  71100. { { 0x3b52947390b32585L,0x57359ccd7b3ba1d5L,0xb6daa5e0f8889d88L,
  71101. 0x6ef5de0607674ccbL,0x5c000c596eb2b8c9L,0xdc4f33e5fbfbbf74L,
  71102. 0x195a92f58a060ed9L,0x49c845be41beff63L,0x000000000000014eL },
  71103. { 0x7190d74d265e6dedL,0x95373592453d9809L,0xb087112de8f1b76dL,
  71104. 0x1341db8a73d34d52L,0x54075f5b4bfa2fc8L,0xef25714741071528L,
  71105. 0xfe227bc8c3a0079cL,0x6dff050f64de7e14L,0x00000000000000d2L } },
  71106. /* 49 << 259 */
  71107. { { 0xefa6ae34e7d9c270L,0xb1abcf3dcd99fc38L,0xed1681698ef0d319L,
  71108. 0x3648e51e7269773aL,0x0b08bb8036ce881bL,0x9055f280db3f6fc8L,
  71109. 0xe95823b16ad5efdeL,0x0a18738401dfee23L,0x00000000000001acL },
  71110. { 0x2a8f55bea8a15ccaL,0x96c9c72dde4c36a0L,0x439e0198306f2426L,
  71111. 0x225257a55ad4151dL,0xbd8a9150e4407dbcL,0x93ded257490cbb52L,
  71112. 0x70f1e3f2f0fb6dcfL,0x8d424da6ceb42cfaL,0x0000000000000194L } },
  71113. /* 50 << 259 */
  71114. { { 0xd80664eabe1827eaL,0x8444e48081e18779L,0xb6e6246bfc3ae63eL,
  71115. 0x48ff2368b6e36f8bL,0xf79455fdd4a8a970L,0xe3403cbb1f46a06bL,
  71116. 0xad00139dab2a8c5dL,0x68a9ece4fabd20d8L,0x00000000000000bfL },
  71117. { 0x8240e0275b7b9242L,0xe89bd598dbd8c035L,0x761d0b2eec9d4f1aL,
  71118. 0x111fa0e57df88f57L,0x4741f6b016d01143L,0x0f4b1c1ae59c8337L,
  71119. 0xa23d571e0fe0544eL,0x84be6651ada2d65aL,0x00000000000001bdL } },
  71120. /* 51 << 259 */
  71121. { { 0x4835246b6aff5b05L,0xb280322a955831bcL,0xf96ece94ea39c9f2L,
  71122. 0x3282ca94819d4198L,0xffed1187773856f8L,0xd9f62443678893c0L,
  71123. 0xac106b951224557aL,0x4ab67573ee3a017cL,0x00000000000000d5L },
  71124. { 0x5a4f21a86940798bL,0x25024af6ee0b3a60L,0xeeb9fdf73f8b5370L,
  71125. 0xa76a2c14c102bf6fL,0x0c1da7e1f47f6803L,0xd2f244e7ed271ffbL,
  71126. 0xbc823e462de8cdc9L,0x07bbcd925979772aL,0x00000000000001aaL } },
  71127. /* 52 << 259 */
  71128. { { 0xe1db6b7c281e407cL,0x2bd41b23f0f0127aL,0x8c62b1db49d40963L,
  71129. 0xa0a5378e4aecf129L,0x0ab063f6afb779b9L,0x9fce0a3976caf17dL,
  71130. 0x361c82ec51f85f9dL,0xdc45a48c857d1c19L,0x000000000000019cL },
  71131. { 0x01fd89c64251f9f8L,0x1ba0872e3d68ecbaL,0xed3894017d29b968L,
  71132. 0x7de4a3b2496be4e3L,0x3e8815a6d28dc1a4L,0xb4a743b262683444L,
  71133. 0xc9c4a64ad0be70a4L,0x3e79e5754095638bL,0x0000000000000053L } },
  71134. /* 53 << 259 */
  71135. { { 0x65d9c77be8976523L,0x0ac11fd66fc3be5eL,0xe939a935d9655ecfL,
  71136. 0xc9debc12fed311c3L,0x0b460f9bae0088a6L,0x28a82b09d0f0139bL,
  71137. 0x15465c4bc746dd3dL,0x4c149c73f132fe91L,0x0000000000000061L },
  71138. { 0x7556718de6868a48L,0x8da2dee8b28b880eL,0x24856a384e5dda6aL,
  71139. 0xdc76c7a70ea27973L,0x9fc3053c360bd595L,0x8d41a89c3e1540e4L,
  71140. 0x4b7e977841c20751L,0x14907ac0e8d84b0eL,0x0000000000000011L } },
  71141. /* 54 << 259 */
  71142. { { 0x4f736d9a66c5c0c9L,0x2677a79c58a4b4fcL,0xf612bcf8a49ad272L,
  71143. 0xf39799188256b986L,0x1957f6626eb7515dL,0xefbd5ff12964c253L,
  71144. 0xc33ddfe1e8447ca9L,0x9638690a39b7430dL,0x000000000000015fL },
  71145. { 0xa3552fe58470d9dfL,0x2a0d1fdf093484ccL,0xb81bda1be2eb7fa8L,
  71146. 0x3634d9242688d523L,0x11f94f70cc600f24L,0x87021e6c2adf964fL,
  71147. 0x35b07acd5ace8426L,0xfa2853e1dc2e6f71L,0x0000000000000142L } },
  71148. /* 55 << 259 */
  71149. { { 0x2575efbd283e89e9L,0xdb769726720a620fL,0x37c9268d59c0da16L,
  71150. 0x7f35d8bbd0357166L,0xbe8309c61eb19a85L,0x74eb837d19a077efL,
  71151. 0xb1eb237daca65900L,0xcdc312ad0d7c99c7L,0x000000000000002aL },
  71152. { 0xbe10915aed84c76aL,0x7b0f723a85519abbL,0xf538710f42a081a6L,
  71153. 0x78265356dcbbd734L,0x0f499a07096e7577L,0xff5daaf70079b100L,
  71154. 0xc8bf37a2eb6c1ba4L,0x84ac26592b098eb6L,0x000000000000017fL } },
  71155. /* 56 << 259 */
  71156. { { 0xab4d88d64a5595dfL,0x6c8dcabeef39ae0aL,0x2624df12f37103dbL,
  71157. 0x86be6542141f2376L,0x647ba3bba25fabc3L,0x5332a3fce7456368L,
  71158. 0x6d3c328ba44bfa16L,0x34a647fa239e3b29L,0x000000000000009bL },
  71159. { 0xaa7ad625991ffeb1L,0x4e43f778d03d63f2L,0x39cf73f43cab9baaL,
  71160. 0x2250a6ab66f0706bL,0x83bbddff0e7828edL,0x8c63c4f79209731eL,
  71161. 0xce7951a6b2988761L,0x9d4e402fcac241c2L,0x0000000000000150L } },
  71162. /* 57 << 259 */
  71163. { { 0xa12465c4df67bdd5L,0x9218ff8bbc9eca2dL,0x794924a761d09f06L,
  71164. 0x89d11f65e1dbf4b3L,0x60e94678bcbbbecbL,0x34187685a297c4c2L,
  71165. 0x2169b8c93c788f5bL,0x61e7a4603bb5d6c8L,0x00000000000000e3L },
  71166. { 0x25af24472719a0edL,0xdc1c88f4edfbfd6dL,0x0eaec9a6d9888a49L,
  71167. 0xcf7bc7e4fc0565b0L,0x7d9b1b74cd500f9dL,0xd2664e1ae2b62831L,
  71168. 0x18412cb253f95ba4L,0xb652b95b9c4b365eL,0x000000000000012fL } },
  71169. /* 58 << 259 */
  71170. { { 0xcbcce98ffc07fefeL,0xdf3b08fa0bdfc750L,0x4e39fcd4fc05529bL,
  71171. 0xf2aaac2e27114979L,0x7131d54541e195cbL,0x933fa5193f41e9fbL,
  71172. 0x630c99b3e95fc9dfL,0xbd5163825cbe8a8eL,0x00000000000000c9L },
  71173. { 0x3c6b0a2406057628L,0xff27b4a4ef249b30L,0xe42dc28302e9465dL,
  71174. 0x71d7d424dd0bae7bL,0x4d04ba9f602f88c3L,0x6111058a74d2ae5bL,
  71175. 0x2c382c9cc3712cc6L,0x80b7d0e14d5b66d2L,0x0000000000000017L } },
  71176. /* 59 << 259 */
  71177. { { 0x019c03604022dbe0L,0x592bb5efcfee0bd0L,0x19be33c02b149c03L,
  71178. 0xc89d18c2ba04db0aL,0x5a3f5d450bba9aa2L,0x01319e4ad2d6cb21L,
  71179. 0xf6e9f27badc7b155L,0x5bdb9a7844825e84L,0x00000000000000cdL },
  71180. { 0xfd75100dca64ee61L,0xe13ed4adcf163911L,0x56d0e58980d2069dL,
  71181. 0xf8064a05c45fd383L,0x64567521ca0632f6L,0xebfe94ed94c7f528L,
  71182. 0x80f8b30a5e4debb5L,0xa3d53bbb3bc900f7L,0x00000000000001baL } },
  71183. /* 60 << 259 */
  71184. { { 0x72ce80061672b5e3L,0xe0d15784257ac5bfL,0x2083a445fbb308f1L,
  71185. 0x2fc46f2dc8e53f2bL,0xad835795aa2adb58L,0x89b3d1edf35d6ebdL,
  71186. 0xcf54ea81724a0efbL,0x3085e94b513eb0ffL,0x0000000000000046L },
  71187. { 0xc1d6ca589b47ffc7L,0x553268ba41a17354L,0x15f50394aaba1ae7L,
  71188. 0x9377378dcd023c80L,0xf5556f2a70213614L,0xb56122a4cb30db70L,
  71189. 0x03ae2b4c59650a3bL,0xbbfaa947e337a318L,0x0000000000000108L } },
  71190. /* 61 << 259 */
  71191. { { 0x0c07f65f3e218411L,0xf93336dc34e3653eL,0x915543013151ee8cL,
  71192. 0xcdeb170ac7b83bc3L,0xae1673cd6ed8c8afL,0xd6fa1c4b8a778809L,
  71193. 0xd98dc5cc95d4e2f8L,0x50a6f916a906d0afL,0x0000000000000048L },
  71194. { 0x9842940d56885519L,0x487e1610eaed31f7L,0xb4336a8018cc4dd5L,
  71195. 0x92384fdd9eed314dL,0x39f2647569b8de9dL,0x9fd9be6b397286f7L,
  71196. 0x861bc717ce04611aL,0x5eb3a63d5d9aafe8L,0x0000000000000022L } },
  71197. /* 62 << 259 */
  71198. { { 0x577a30fa4b357fb9L,0x36a9492463e6b447L,0xfce5c432731fd6c4L,
  71199. 0x48eaf60527d69a4bL,0x0c5fabdef271da03L,0xab9ab8bd570d0974L,
  71200. 0x07780c6b9c004fe5L,0xe78c11feecd1146cL,0x000000000000015aL },
  71201. { 0x52c4fa6239153966L,0x7aebe3aa7ba8471bL,0x618c9a3ce81fa8a0L,
  71202. 0x7abd26a68a47b9d1L,0x844c1024f06473efL,0x6231f29ab4072d4aL,
  71203. 0xe698c315218d976eL,0x39b20c9ebfbe05f4L,0x000000000000001aL } },
  71204. /* 63 << 259 */
  71205. { { 0x407010d297770b95L,0xe2490ae0b2c13f78L,0x7cb994e1b8634a50L,
  71206. 0x8ccc0776281300b9L,0x1c7a056d83f81cc6L,0x592034c74d47f984L,
  71207. 0xc170bd8f7df09160L,0x07b59c4e6cf44c96L,0x000000000000003aL },
  71208. { 0xdc66941021689ed3L,0x4ddc860456288484L,0x68bfe9ed8f1a853aL,
  71209. 0x426531e548e4f90dL,0x574498889bc57ac4L,0x5144cfe92e90e5caL,
  71210. 0xfc1d8502d5f8796eL,0xcf50aeba50c5f60fL,0x000000000000018dL } },
  71211. /* 64 << 259 */
  71212. { { 0x225256fdb79711e5L,0xbdcf3433a6a843b7L,0xbd3d4548414a71abL,
  71213. 0x2e13fd39e29e7606L,0x194b6e92e07f29c4L,0xd6f5e492b68fd0d2L,
  71214. 0x3ac649985de0ae9bL,0x10e5afe94e5ba961L,0x00000000000001f7L },
  71215. { 0x27df3c4b8ec9ccffL,0xdb2913722a7b0a2bL,0x1ca89222f045afdeL,
  71216. 0xa666763c69c99247L,0xd8d9f6b199033177L,0x10b696f690eca082L,
  71217. 0x41991d660d180f50L,0x7cee7f9b82d6f6bcL,0x00000000000001dfL } },
  71218. /* 0 << 266 */
  71219. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  71220. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  71221. /* 1 << 266 */
  71222. { { 0x853233c2b24565f3L,0x43478b915fbd38c5L,0x962087ffd2a6992bL,
  71223. 0x403427f45ec71ec0L,0xc07276099b151a4fL,0xa8bb2dc4dfa1844cL,
  71224. 0xa20d339e101140e4L,0x0df52fbda1c70e3bL,0x000000000000002eL },
  71225. { 0xdc4129870447de06L,0x080b5dd16cd90fa6L,0xcb6a6bc7c4ecddc5L,
  71226. 0x9462fbda970fe140L,0x4b0cda7ea7581610L,0x6437af41dcab0c19L,
  71227. 0x3ab19e3f4e100705L,0xf8e93a95adc5e7feL,0x00000000000001f7L } },
  71228. /* 2 << 266 */
  71229. { { 0x38ee58f048e075e3L,0xf285797e18d38b67L,0x02e97c63a120348dL,
  71230. 0xc64defa717bff13cL,0x0fd5b7237f983d56L,0x70acc4a830d1770fL,
  71231. 0x0f0ec2d749151740L,0xe99f0a612968c0dbL,0x0000000000000174L },
  71232. { 0x4a5d683a67aa8ad3L,0xfa3a36cc56c69e37L,0xa392130edf8a093bL,
  71233. 0xe80d7527c840b37cL,0xa28eb4926ab73b96L,0xeece0912c7d4304cL,
  71234. 0x0b900a1130b9dd79L,0x43d757e3a20c5d55L,0x000000000000018aL } },
  71235. /* 3 << 266 */
  71236. { { 0xdbc8e45f29056168L,0xb1789b8f8aa24063L,0x8e394ec4e8af7801L,
  71237. 0x451958953e6dacb8L,0x42e76886d8e18229L,0xe9be1e0238912e71L,
  71238. 0xf4cc3bbbc793af2dL,0xa7dc4d1bb6ef26b0L,0x000000000000011eL },
  71239. { 0x0255437c02adbc28L,0xad007fd57f4098d0L,0x5b827c408ecbf87dL,
  71240. 0xb9acb85cbf9b34ecL,0x6d45ae094a85c2b6L,0xee94e87b95bd71adL,
  71241. 0xa7f0f61b420c1eafL,0x8f39c45c8f1291d2L,0x00000000000000c0L } },
  71242. /* 4 << 266 */
  71243. { { 0x56f74e6985edc827L,0xafe2ef0a6a731640L,0x61f8bcfdd51647d7L,
  71244. 0xbeabbb8f41e33fa7L,0x3e4c3aaeec83c547L,0x48a9d1e92cc8dd97L,
  71245. 0x7b4d53b5e57d3822L,0x92387ac8a45c0584L,0x00000000000000d5L },
  71246. { 0x802ece3dfacdb1cbL,0x9e4f5d209e537236L,0xd10acc25386a5610L,
  71247. 0x53f55d464c6c0247L,0x390fe9808c419fa4L,0x8b0a8aa6bed2bd92L,
  71248. 0x90e7f479f854424fL,0xd714bfb59e7f4392L,0x0000000000000074L } },
  71249. /* 5 << 266 */
  71250. { { 0xddbded0597026decL,0x12f1ff098a199bb2L,0x761a746fc1428d3eL,
  71251. 0xb9495d7ef012002fL,0x7a7c2c3aa50c6565L,0xc1264e37dc970f6dL,
  71252. 0x4f05342c865a7518L,0x9818d13d49d9ae95L,0x0000000000000195L },
  71253. { 0x1bb4a4a08cc45e7fL,0x5fba73b315781343L,0x1e704a47f68560e4L,
  71254. 0x90fb65e54eaceb4fL,0x95438866400ac026L,0xbc4b4d817e6f6a48L,
  71255. 0x3b2bbaaf6e7d0d0dL,0xddf027615419780fL,0x0000000000000070L } },
  71256. /* 6 << 266 */
  71257. { { 0x2f9cf1972fe33230L,0x17021cdb2ceae391L,0x18b273a28a2ad728L,
  71258. 0x53289496e7d3cd0aL,0xfbf1d2dd06775a09L,0x445cf659aa70465eL,
  71259. 0x69ef17ef44d92276L,0x852c4f629a70a820L,0x00000000000000d9L },
  71260. { 0x24819cb9192b4bfcL,0x2a3259fffd8c7b97L,0xb39c9e000e31618aL,
  71261. 0xf4dfe5b7f802aa84L,0x57bd5d63fec026deL,0x4cb4de99848b4c62L,
  71262. 0x68c65e5354a00cf3L,0x37ed0124161b63a7L,0x00000000000000c8L } },
  71263. /* 7 << 266 */
  71264. { { 0x2a5e0c228610952eL,0xbf871948e20cb271L,0x24fe902d31955404L,
  71265. 0x9678b0feab00b79eL,0x0d170ac43fd72c73L,0xc91bb075236c56b0L,
  71266. 0x45feeb4f75044149L,0x8cd5418362f8b77aL,0x000000000000015eL },
  71267. { 0xadceca285c84440aL,0x27d8d9ddcc727b54L,0xcaa94f511f1d6f1eL,
  71268. 0x2e5e70ce41c288a6L,0x2bc6ff5b6c8116cdL,0xd84f24cf5725753bL,
  71269. 0x71d36b45a268b9d2L,0xb10ff02719274e7fL,0x0000000000000065L } },
  71270. /* 8 << 266 */
  71271. { { 0x9abf4318e7c8e1a2L,0x89fd5c8d5ef038d0L,0x20641c7c755be1d6L,
  71272. 0xfff489fb38b2c08cL,0x792104e1b3b3a7b1L,0xd8a69114c507e7d7L,
  71273. 0x4c07f5bac1ac93f9L,0x0a2e3d13315c3a89L,0x000000000000012cL },
  71274. { 0x016026bed523d79cL,0xd4e3d86f00ee5640L,0x07627a1ca8e8f5cfL,
  71275. 0xc07c67f8533afedeL,0x081a516dd3bed1acL,0xddc6f44086e8ff0cL,
  71276. 0x4df71bc8c112d075L,0x2b8cc08f7cc49d32L,0x00000000000001d0L } },
  71277. /* 9 << 266 */
  71278. { { 0x8f20e8e5296dd3e6L,0x5b35a6296564254cL,0xee36dfc32969a7f7L,
  71279. 0xa32df83a9b8ce874L,0x449cb63355989616L,0x1cfec15081a04ac4L,
  71280. 0xd625a5fa5f6ac24bL,0xea46b54e1f95a1ceL,0x0000000000000093L },
  71281. { 0x08e7153e171cc8e0L,0x0b4cc450c58a9d47L,0xcca705da93881d6fL,
  71282. 0xbb825112c702b9a2L,0xffa42735ea68fb62L,0x5ccf465db32b28d7L,
  71283. 0x6c099defd7fc4547L,0x91a920d33f37b44aL,0x00000000000001cfL } },
  71284. /* 10 << 266 */
  71285. { { 0x3377ff96a34b8405L,0x735fe3b8a3607c6dL,0x05bb89954a680280L,
  71286. 0x2a1b844443f751d4L,0x88577381b6131136L,0xf6095111bd4bf7bfL,
  71287. 0xdbb63de95babc815L,0xdcbda003457174ffL,0x0000000000000125L },
  71288. { 0x4c0dac17d659699aL,0x0c97f1a4b90797e1L,0x86e3f70037c1752aL,
  71289. 0x28770759661a54f7L,0x696ccdc1f0226610L,0x36399bea2424ad25L,
  71290. 0x94f98b4bbaa7e4e0L,0x7e2207dd8e149164L,0x00000000000001e3L } },
  71291. /* 11 << 266 */
  71292. { { 0x3e459b94f997f2b7L,0xe2c4670e5a5ab47fL,0x6c42f7bea7277f71L,
  71293. 0xb6f4a867b849ea22L,0x9c261ef533ef93ebL,0x14faef70383434e8L,
  71294. 0xcc2581fe68ecf568L,0xbb425d21b0d9b128L,0x0000000000000069L },
  71295. { 0x43dd049b2a74207cL,0xd89e8403d14cc7c9L,0x5e4b96d61aa77222L,
  71296. 0x64f3514b16efa356L,0x9336114aa79aa125L,0x86cfa19308e23be5L,
  71297. 0x6b0d3088316a61e2L,0x8ba7f7d478b735b8L,0x0000000000000041L } },
  71298. /* 12 << 266 */
  71299. { { 0x74af3f63edfcbedeL,0x6b0830b11356f827L,0x060db15a02536f8aL,
  71300. 0x166f9099f7095358L,0xd759efb4e03b9601L,0x05a4e29768484f67L,
  71301. 0x469b4832dc631a7aL,0x7c5406150bb2b1b6L,0x00000000000001b2L },
  71302. { 0x590174e012481c04L,0x8d4ef6c7d7180a84L,0xd134b543303674ddL,
  71303. 0x60dbf72600c378b0L,0xc60e026a93d8406cL,0x57af4a82082c527cL,
  71304. 0xe3d038fe349a607fL,0xa7cb9b475a3582e5L,0x00000000000000c6L } },
  71305. /* 13 << 266 */
  71306. { { 0x113d76470bd80953L,0xe4478391e4fd3d00L,0xb599a4a78a9e2693L,
  71307. 0x9b0a26a00c2122b9L,0xa06d75d822f2ab6cL,0xa91bce84d181c4b8L,
  71308. 0xdcb896f252c19efbL,0x5c009091838a3552L,0x00000000000000faL },
  71309. { 0xd077530a7a3feb1eL,0xb923c5e923a5b8ecL,0x518a1fde94742d7fL,
  71310. 0xf5d7ccd85609a48eL,0x98a271bf88865d38L,0xafea9987a60efbd2L,
  71311. 0x145df51ead05f497L,0x776f6dcf9f9e829bL,0x000000000000005eL } },
  71312. /* 14 << 266 */
  71313. { { 0xb4b3726011219674L,0x47c3a79526626299L,0x64c93e90f7b9b98aL,
  71314. 0x08eff93aff8e46adL,0xb4204ee85b43c5f6L,0x520b0790611d0ad4L,
  71315. 0x29d122dcc1dc2742L,0xcbcefa6e3169b5fbL,0x000000000000000aL },
  71316. { 0xd43ca630a537c7b5L,0xae40e59aa9c0a428L,0xfdf9b81999f2182cL,
  71317. 0xca851eccec7e7227L,0x6760158bab6a8d6dL,0x3875e88ce215b7ebL,
  71318. 0x569be1e84514f9e0L,0x0a0a202ae14d5c5eL,0x0000000000000124L } },
  71319. /* 15 << 266 */
  71320. { { 0xf6eefade50247dc1L,0x507af32ce36262f1L,0x7e981908f13b6ddcL,
  71321. 0x7212c2b68c8c8580L,0xf643133ca54e7f13L,0xa1b10239c4a0069fL,
  71322. 0x18ae36e186279c29L,0xe4f7235a61fbeaf2L,0x0000000000000167L },
  71323. { 0x4bc859b15533c37dL,0xdc59cf0624b1408bL,0xf488d1e9100554dcL,
  71324. 0x3eaf3d7920b37912L,0xa87f0850ee5acf54L,0xec6d7d40fd3bb7e7L,
  71325. 0xd95e630cb6b4eefbL,0x1aa0a4a5b2a5e55dL,0x000000000000005fL } },
  71326. /* 16 << 266 */
  71327. { { 0x69017ed5f1c86157L,0x8ad717eb3aabcca4L,0xe14dd980e57ac297L,
  71328. 0xc2f0da4b931e307bL,0xde7fd5799080b37dL,0x45bf6f6414134de4L,
  71329. 0x5cde0727ac019cf3L,0xb4e5c2e7863e739eL,0x00000000000000e6L },
  71330. { 0x094e085628e15f36L,0xf92c44fb46276090L,0x9219998521cb21ccL,
  71331. 0xcedcd4f2de53957dL,0x802c6f95b6c417ebL,0x0ea41a2b6075e71dL,
  71332. 0x194d6fb1b9eec681L,0x8e7cd41f2e0320d8L,0x00000000000001caL } },
  71333. /* 17 << 266 */
  71334. { { 0xb35b4973fc9a8271L,0x07df6c1baa64d87bL,0xf8a40753c20694b8L,
  71335. 0x9e99bcc963c0ee99L,0xd1a9e1547b93b57eL,0xdf820e3853787f84L,
  71336. 0x27f53ecd99f332cdL,0x4fb11f5a9232ec79L,0x0000000000000088L },
  71337. { 0x24b553cbee20f924L,0x0b7ef51349d43360L,0x96c9487ce38d79baL,
  71338. 0xfdb1c74fb5ed12bcL,0x21685ed84900c152L,0xa357e469e3bf2258L,
  71339. 0xbd08ba2c6fb351cdL,0x6bf4eab57c702332L,0x000000000000019bL } },
  71340. /* 18 << 266 */
  71341. { { 0x4d9b809e882e2e8dL,0x9c08905471a4d335L,0xf7d10eab057174cfL,
  71342. 0x2362775e835f8b97L,0x02cffff193e325e5L,0x5da2c5e530a19357L,
  71343. 0x3682adb3fac8a110L,0x0c80cbc5842d7712L,0x00000000000001d6L },
  71344. { 0xb1f34b5ce63fcecfL,0x1b7ef8b72036dcacL,0x1e77a65bf2918bdfL,
  71345. 0xee7953ef56dec2d7L,0x3bb9d2d96e8dce20L,0x690991b765dc8ddcL,
  71346. 0x289f7b1c5127b031L,0xcfc012e6b308fb5fL,0x00000000000000dfL } },
  71347. /* 19 << 266 */
  71348. { { 0xe4e588655455e3ddL,0x0a3faf6e37979e4dL,0x0fb1185abc2baf05L,
  71349. 0xa7757468231db3c6L,0xdfaa6b1e2dece4e4L,0xe0fd7fbb57b73e1bL,
  71350. 0xd0a759633c1319ebL,0xfe723d7944751078L,0x00000000000000f2L },
  71351. { 0xf34d75824e65024aL,0x4f3e335728712abdL,0xd736d0a0dc0619d8L,
  71352. 0x700cb63c18df1a77L,0xa741d8188dc6f72fL,0x1fb046b4e3f4ce0dL,
  71353. 0xe4c65bcf36daa0d3L,0x7de83bf3e0a1b42aL,0x0000000000000118L } },
  71354. /* 20 << 266 */
  71355. { { 0x5466a9901fe423c0L,0x59f6a48ba57e7875L,0x09a9f84acb7bd46aL,
  71356. 0xb5ae0d9469e02df0L,0xaecc3392d9fec11cL,0xc94de920a4bcd130L,
  71357. 0xfb5b36f882c78f1bL,0x32ad1cf22d4fc970L,0x00000000000001fbL },
  71358. { 0x8cd894d5df0a2534L,0xcb83665c9735fc04L,0xcbd9157635169f6fL,
  71359. 0x2f3b64a72775c9d4L,0x80c9608fdd6410d3L,0x6503badcbcad20d5L,
  71360. 0xbdb308571b2b1640L,0x92338c7878fbc82aL,0x00000000000000d6L } },
  71361. /* 21 << 266 */
  71362. { { 0xac3b7a4a49a3cdceL,0xf58661f0a02ad4fdL,0x1ffcfa7c613c7e53L,
  71363. 0xf2524615a312b766L,0xcf475cfb5616df03L,0x4cfa2b326c13fc81L,
  71364. 0xbccd8375bc58b87bL,0x8abab16ea321ba9dL,0x000000000000011dL },
  71365. { 0x3e0c8aa36c9c6bdeL,0x52b709235145030fL,0xb3b79def957b71bbL,
  71366. 0xc5d4d6d82ae65cb2L,0xe46b42854fe000d6L,0x7f0cbea3df9a4175L,
  71367. 0x184a74fff4816509L,0xd4309c3fda9b614fL,0x00000000000000ceL } },
  71368. /* 22 << 266 */
  71369. { { 0xc8015af9e84d1058L,0xfde0b0b44630167fL,0x75a6485be04303a9L,
  71370. 0x386d40635dc6a595L,0xb6a7e6ddb5e1fea7L,0x88760f62a98f79ffL,
  71371. 0x0fa02a3715ceb5eeL,0x3b5f506d6b7b4aa6L,0x00000000000000f8L },
  71372. { 0x03364c2377688a7bL,0x8efa63b109c6d5c2L,0xb57aa39794f3f323L,
  71373. 0x1527ffadfc11fce0L,0xfe42ecd364d6096aL,0xfdc0cc40d56842e6L,
  71374. 0x4e82c4c8770bfa36L,0xc43342307717694dL,0x00000000000001d9L } },
  71375. /* 23 << 266 */
  71376. { { 0x4fcdc0c1d5f4e912L,0xfa7cfaa4004a4db8L,0x25aecad367023dcaL,
  71377. 0xca002afd5eb57cd6L,0x34541373741405d5L,0x67a0d594d3812ce2L,
  71378. 0x7b34bef0cfcf2d6dL,0xd6cf2f835bdd535aL,0x0000000000000110L },
  71379. { 0x454609ac442959beL,0xe9237086b8a51511L,0x6fac92553babcba9L,
  71380. 0x78f71e6b27e7884aL,0x92d4c3ede8f4feb6L,0x52c5d2b4420fbfedL,
  71381. 0x009792ee9f40b090L,0x82b8ba85df824367L,0x0000000000000179L } },
  71382. /* 24 << 266 */
  71383. { { 0x3f99e9b3ee05cae4L,0x32cc71107fa0e686L,0xfefe300a1ef8a5c1L,
  71384. 0x232d446e86846634L,0x250f4e801ce3e75dL,0xca3146f236bae498L,
  71385. 0x41b28b529339513fL,0xf05d31b6623cacb0L,0x0000000000000066L },
  71386. { 0x12b4c656682f53c8L,0xc865fa0ef72ed178L,0x7d41ffbc55f68dbbL,
  71387. 0xe4aa53b7c0ac64aaL,0x66e397bbb7194380L,0xba629db6834331f9L,
  71388. 0x6d14e879ea0c0083L,0xdf2e7eb0039343fcL,0x00000000000000d6L } },
  71389. /* 25 << 266 */
  71390. { { 0x0397ef6f17081314L,0x9546deb646fff7e1L,0x5b4dd93bc94171ecL,
  71391. 0x0a8a85527444b12cL,0xb1513889b9c40474L,0x9cf88d84bb2a206fL,
  71392. 0xb910e92085c19e6eL,0x45eccb62676a3583L,0x00000000000000feL },
  71393. { 0xae266163ff1f2098L,0xf440e5da0d1ec4a4L,0x3253fc3f92193348L,
  71394. 0xe74818b8e34f82e7L,0xd5a623060676bff7L,0x27b66af8199cf83fL,
  71395. 0x3f10e57fcc0d1357L,0x5e957d2472cc938eL,0x000000000000008fL } },
  71396. /* 26 << 266 */
  71397. { { 0x575278cf18bc690fL,0xcacf60ceb54dc657L,0x26bbb292b42fbfb1L,
  71398. 0xdc41efa143d3991dL,0xe1b66a31f437cbfdL,0x78f6b7c39a9fb752L,
  71399. 0x91bb4eee42b805d5L,0x6be454c8c53eb4c3L,0x0000000000000003L },
  71400. { 0xa33f2a2a709d0dd7L,0x991168d9fb00c9eeL,0x33f59abe2755ae74L,
  71401. 0xddbd1abb9f173047L,0xe45fa246f4075d82L,0xbaf7b425bddf38fbL,
  71402. 0x6a934744ccd0af06L,0x3f33c9152473c3b8L,0x000000000000017aL } },
  71403. /* 27 << 266 */
  71404. { { 0x354623ea02695dddL,0x311af2095e666b21L,0xf8aaa2aa323d976eL,
  71405. 0xff0efef950504afeL,0x87d20f09de7f31dcL,0x6295e64a7c4596b6L,
  71406. 0xdc29db81de13042bL,0xa145cbbe42be7ef5L,0x0000000000000111L },
  71407. { 0x0833ee13598cec0bL,0x3915b741a55c1756L,0x56a8ab1191e38ffdL,
  71408. 0x8ab41e3bc1b823ebL,0x18fa8910defb1732L,0xe3454a259a628d6dL,
  71409. 0x9e4264e494e99e1dL,0x31832bb5637d5ee6L,0x0000000000000182L } },
  71410. /* 28 << 266 */
  71411. { { 0x3ee61d53e8a300ecL,0x65e529c7e0cd8617L,0xb8c03cb0077b303bL,
  71412. 0x05eba936d5c88dd2L,0xc1e54497d42bb4afL,0xab477aafb0589057L,
  71413. 0x55acddc8e8f70a56L,0x6579b78b4fc80182L,0x0000000000000164L },
  71414. { 0x535e7ff0bc97c72eL,0x65e954c9809dc093L,0x49edc4b8cd182ee3L,
  71415. 0x804874f9877d38adL,0x20104ab16df1638dL,0x78459a4b748ee6f2L,
  71416. 0xb895205d3504aa35L,0xbf26ac8af8089e32L,0x0000000000000041L } },
  71417. /* 29 << 266 */
  71418. { { 0x414660fad60c46d9L,0x771ea3b5defcc1eaL,0x47e275514478526fL,
  71419. 0xe13deda6872bc6bcL,0x6a8af4a708e6829eL,0x0d234a58c0cc0817L,
  71420. 0xc209a0b1993176d4L,0x703a36e8e4d7c55bL,0x00000000000001e5L },
  71421. { 0x00e521dbaf301144L,0x8cd4f076373a95e5L,0x1c409a63aacbb198L,
  71422. 0x1712c6cf0c0dd3d5L,0xc2bc08609ade8d6fL,0x0f2f51bcce84b335L,
  71423. 0x76bf54aa4a193540L,0x0b17b9455c0db4e1L,0x0000000000000040L } },
  71424. /* 30 << 266 */
  71425. { { 0x76251b3e9f2d82b0L,0xaeb86af12e4a0ac3L,0x01448c52ff3f9965L,
  71426. 0xa3280f7c61042ff9L,0x1845a38fa1a3a6fdL,0x802be4bc51d4dd8dL,
  71427. 0x189cd677d4837b6dL,0x9b052dc25af0fb47L,0x000000000000007eL },
  71428. { 0x91e76d5f5c765e26L,0xa63a93d821904658L,0x03318a472af96a70L,
  71429. 0xe2b55958bc3a294cL,0x4aa9d90d9f7a740bL,0xdbb00ae4baa31d88L,
  71430. 0x83df26343920d053L,0x33b1b418ce51fe2dL,0x00000000000000baL } },
  71431. /* 31 << 266 */
  71432. { { 0x6c95ebc8b8c1d76aL,0x70c33cc22d77832aL,0xa73477b6b48e542bL,
  71433. 0x6d00020b6eeb8df9L,0x03888e1c3df975fbL,0xae48633704e49a91L,
  71434. 0xfbc90f2f0d90bd52L,0x44ead1e3dfec8b7cL,0x000000000000013dL },
  71435. { 0xedd5fc2f83ac4742L,0x88933280ea5af10aL,0x369ae840a19847d7L,
  71436. 0x2404ca4e99b4a8f0L,0xade7c798d4e88a47L,0x049832ae08308b57L,
  71437. 0xb5fe206808d5ff33L,0x234872b6142fa38dL,0x0000000000000130L } },
  71438. /* 32 << 266 */
  71439. { { 0x3dff858061e5aa9eL,0xa33aef70955100c9L,0x7a52da3956ab4275L,
  71440. 0xefe16518102c4123L,0x8faeb0188d2e4d91L,0x3516243081719f70L,
  71441. 0x4ef1fb91fa78398bL,0x95eb0d18c351721cL,0x00000000000000dfL },
  71442. { 0x90c4d877e5f04c88L,0xe108471abf176e9fL,0x8efd42750ef8e8fbL,
  71443. 0xadb1fc8e3b26ba83L,0x35050fd319bcb6aaL,0x00a7180d1e9a804fL,
  71444. 0x23ae97b660b511c8L,0x07d0be62403cef81L,0x00000000000001b3L } },
  71445. /* 33 << 266 */
  71446. { { 0x5c7f1fa9f7983284L,0xad20a27f4cf3733dL,0x848a72d4d256795dL,
  71447. 0x11cd1a8f31c2d9bdL,0xd101e6cc7875f7e6L,0xea169cd1013cee4cL,
  71448. 0x7c00964f6ba5c6f0L,0xce957f49def21557L,0x000000000000019fL },
  71449. { 0xd87fec0c8fd38646L,0xc44d7c05105da346L,0xbbf95c4d910c4d58L,
  71450. 0x6a379cd0ed266251L,0x3201baf27b4b75b5L,0x6835bd3cf593add8L,
  71451. 0x09e93440b444ffa3L,0x8dd8d5428a999e34L,0x00000000000001a8L } },
  71452. /* 34 << 266 */
  71453. { { 0xcdcc17966d01191eL,0x76069b30cc266a67L,0xfe9a5cc93738b9e9L,
  71454. 0xbf210857b8d72f0eL,0xe71cb6f7c51394e6L,0xad01d21bdaf33303L,
  71455. 0x34c92183dc573fc6L,0xa293b60a8177e535L,0x00000000000001e5L },
  71456. { 0xe9e6f1516e74482bL,0xd9b14871a07f28dbL,0x9ec270143e8ba372L,
  71457. 0x9050edcf579d622dL,0x2b3d57a3b7a0dec1L,0x5282d3fd7399d805L,
  71458. 0x46fbf40518b06ba7L,0xf0d75d34706066edL,0x0000000000000089L } },
  71459. /* 35 << 266 */
  71460. { { 0x88b9a526ca277da1L,0xe990008438a61571L,0x899e1a40fccf02aaL,
  71461. 0x5b352690d569929bL,0xc363f9897750040aL,0xad91ef44bd062400L,
  71462. 0x3dc71c7812eaa485L,0x7644bd1efe306e6dL,0x000000000000007dL },
  71463. { 0x7f8ad11ceccd773eL,0x13cc76ea8b4bd7ffL,0xfba893a3a1e0a336L,
  71464. 0x3563ef917150a5e3L,0x2676215848bb8dceL,0xd02351235bc0826bL,
  71465. 0x284c75afcaf00888L,0x127c932a48b68a1eL,0x000000000000012cL } },
  71466. /* 36 << 266 */
  71467. { { 0xd877404a6fc3e4d4L,0x90f4424143959c60L,0xb11bc0dfadd26aa4L,
  71468. 0x45c833fe8773bddeL,0x26e39709ca264f8dL,0xcc87592446314f2aL,
  71469. 0xd9def19853ddf49aL,0xcd60de6495742a00L,0x00000000000000bbL },
  71470. { 0x5cb1207487d742a0L,0x41ddaa31655afe45L,0x69765ba5a54ece2cL,
  71471. 0x575d21810b4b57b8L,0x8540de4bfdec936bL,0x2d73ccba13c17184L,
  71472. 0xdeba26f2a345fe93L,0xf9a8115844fc190cL,0x00000000000000e6L } },
  71473. /* 37 << 266 */
  71474. { { 0x20db3c8c67046c7eL,0x5c5899fcbd8b92cfL,0x707ec19eda3d6021L,
  71475. 0x3d4b9927fbc017dbL,0x6d8757ba35097e5dL,0x6daf1a7097e8598aL,
  71476. 0x84677a8a65cf83adL,0x99e82cb24b4483a1L,0x00000000000001b6L },
  71477. { 0x85ac6ec39423cf6fL,0x746d4cd7f8ea9921L,0x7829a0ad8b6c7446L,
  71478. 0x17833a99799b235aL,0x04cc99281cdb0e56L,0xe119f3213d1957beL,
  71479. 0x9d723d47d6f73bb6L,0x478afffc456cd261L,0x00000000000000cfL } },
  71480. /* 38 << 266 */
  71481. { { 0xcac9ee0296bb50a1L,0x344a30a171b75917L,0x7040c29be338ca78L,
  71482. 0x7d11b5ab7f1329d3L,0xf545164d5deb103aL,0xc056825de377a217L,
  71483. 0xd1b8ce5d1fdc5ba4L,0x4ea7fa876b3f275eL,0x00000000000001f1L },
  71484. { 0xeac8c31323ff0cdeL,0x4317e5a759d122e1L,0x402d1078cf955e30L,
  71485. 0xa26f2bb9e2aefe0eL,0xb33602a6779d0928L,0x5ad6f902966256a4L,
  71486. 0x9f13eca6064745a5L,0x49432dbade6d235bL,0x000000000000018eL } },
  71487. /* 39 << 266 */
  71488. { { 0xa1dd69bd5714383bL,0x1ecd74467128e274L,0x5c14f4e26a0407deL,
  71489. 0xda00128e3ea0e272L,0x3f07ca2c2e4b7815L,0xc886f05e80348645L,
  71490. 0x987b488fb9edab2aL,0x56a44c68aa59100cL,0x000000000000000cL },
  71491. { 0x31c490fc20216efbL,0xc7d7cd07a226907eL,0x4f8dc600fbb809ddL,
  71492. 0xbe7d49f895a97bb8L,0xc8632c28bc899729L,0xbccde2198bbfdb6fL,
  71493. 0x9c20db29a3bffcd9L,0x63ae8bba2a16b4f5L,0x000000000000016dL } },
  71494. /* 40 << 266 */
  71495. { { 0xdd8026ea8d40a41fL,0xb0e2795c8f0752e0L,0x6f120a8d5e6d1f7eL,
  71496. 0x0aa99441abaf2381L,0xa60677641815fcf4L,0xfa43027bfe2668e2L,
  71497. 0x74557a4f87d678a7L,0x5c068d13c6096024L,0x0000000000000053L },
  71498. { 0x0ce11532bfd0f624L,0xce62d3a67e476a2aL,0x467ae9f11667b2b7L,
  71499. 0xc418d77f4e4ea4bbL,0xb96c33825132ff6dL,0xca75d16c5fdb9483L,
  71500. 0x24cf4df2d08f6f87L,0x70388217eff3b645L,0x0000000000000106L } },
  71501. /* 41 << 266 */
  71502. { { 0xce9620b3056271d8L,0x6612d8926cf33e57L,0xcd12436bbb8f54f3L,
  71503. 0x98972847878977e9L,0x066c6a3753a12cf9L,0x80af4b986f85ed96L,
  71504. 0x939721e3a7d2b688L,0xc07ca3cfe4b6e967L,0x00000000000001dbL },
  71505. { 0x5b3c9f28b32ef369L,0x2e365cec90bec7a7L,0xd2755e2441f7a73dL,
  71506. 0x6eb6f889ea6be0adL,0x19a373073dda2212L,0x07bd68ee7ab4b633L,
  71507. 0xadab0fac6a787bfcL,0x5cf888d8ce37e38dL,0x00000000000000d8L } },
  71508. /* 42 << 266 */
  71509. { { 0x9818697810a4cecaL,0x6360bc55d3c03045L,0xcebe3bc3f1e322f0L,
  71510. 0xfb5d861458625a5fL,0xe91937a64f41216cL,0xd94e229fa392d9f4L,
  71511. 0xe9cbfba022aa028bL,0x7c8a3d9b9f26e506L,0x000000000000004cL },
  71512. { 0x8095d4ac44690ed0L,0x8e76d94ab578e759L,0x25a1ead877504659L,
  71513. 0xe7ffc4626bd2caf9L,0x18085dd8c7dcce0bL,0x336faefbf5476396L,
  71514. 0x5e94e9dde08c63f9L,0x9be80bf65614a1c5L,0x0000000000000051L } },
  71515. /* 43 << 266 */
  71516. { { 0x225252040c05d291L,0x8254fc5ea459cd01L,0x7826a55fb121c3b1L,
  71517. 0x0000dd29a49d91aaL,0x49463679dee46523L,0xcb5fab5db2c6c30fL,
  71518. 0x70d7ed1edabb3865L,0xceac3e388d1d4152L,0x000000000000012aL },
  71519. { 0xe5ab8203b1dc6339L,0x00871ca7d6a1dae0L,0x3831e96762dc6379L,
  71520. 0x6d423be07a6a29caL,0xad645df0e61ffe3fL,0x68567d31e414b0ceL,
  71521. 0x48455422119b3661L,0x6860c25d6c3cf9ceL,0x000000000000005dL } },
  71522. /* 44 << 266 */
  71523. { { 0xf04691638d0bc669L,0x62b84488e939f5a9L,0x0d3f495380fe63b5L,
  71524. 0xe39a7aa158880c15L,0x74df281ee613f21dL,0x908934dcfa016692L,
  71525. 0x5b9cf6cc980904b0L,0x0f3aa0f43a17dd3aL,0x0000000000000105L },
  71526. { 0x346bd219651d59e1L,0x51024297c71b37bfL,0xc634d031f0640f18L,
  71527. 0xa657da60ff003294L,0x9cfc79fc15aabd29L,0x56807dd77b4a869fL,
  71528. 0xcd97cd8959d9033cL,0x58640103a3233c39L,0x0000000000000090L } },
  71529. /* 45 << 266 */
  71530. { { 0x1c1d333fe7c0c2e9L,0x5dad349290d5ed65L,0xfd50637bd1fbf910L,
  71531. 0x73765e39d92af73eL,0x97100d8c7e12eac1L,0x2dd53ccca486a059L,
  71532. 0x0a8949c5fca9464eL,0x86fee09ec1d1e819L,0x00000000000001f3L },
  71533. { 0x14a6857f2f1b392dL,0x55e63e4b61f6f679L,0x096b8806e2721792L,
  71534. 0xe0c5fcf597b80c13L,0xbabc39f6d78c2248L,0xd7a963e14b2c3516L,
  71535. 0x5d1bf511e8c0ee67L,0x15b6e43183b7041aL,0x00000000000001d8L } },
  71536. /* 46 << 266 */
  71537. { { 0x9fd0467622691895L,0x7bc9efbad1407b18L,0xbeaa1052bef6c449L,
  71538. 0x5ec3fde4887ba913L,0xdc330887b93cc69fL,0x2f45e738189d6049L,
  71539. 0xa5561ceda7b55419L,0x6c02e536c7c0c880L,0x000000000000013fL },
  71540. { 0xc480b98a11c8b600L,0xbce33f4ca381f348L,0x0993dfc429fe9783L,
  71541. 0xde78a2b0e6c1590eL,0xe61ed1285347e99dL,0x51af7410e78af478L,
  71542. 0x65be48f114275d9fL,0x3434df3d7cf1aca6L,0x000000000000011fL } },
  71543. /* 47 << 266 */
  71544. { { 0x2eb82ba1bd51b234L,0xc17a47adf106770eL,0x913b0804bcdd7ce4L,
  71545. 0x2be5948e905cd641L,0xa2db49622ce3902aL,0x22c48f2c8ad6d3f0L,
  71546. 0xab188f07cc119a95L,0xd8177552595fd7a9L,0x000000000000003dL },
  71547. { 0xd4de0f9cdbc3d844L,0xd195cd3257218c66L,0xbf9e5b684e68fd4aL,
  71548. 0x6e6f3122bc74f17eL,0x6daa87f5d46c0547L,0xf636ac5282c5a92dL,
  71549. 0x897bed5f780d6a32L,0xbcf2b58bde400db6L,0x0000000000000146L } },
  71550. /* 48 << 266 */
  71551. { { 0x79ba87baf1c9c2ecL,0x0e53555266aab703L,0x31d1d9712c990b59L,
  71552. 0x1e0b5d0e12c6b29eL,0x014d53ff563bcab0L,0x425986f2f64309d0L,
  71553. 0x475fc9d5318b9d6cL,0x02739c50ff59e392L,0x00000000000001b2L },
  71554. { 0x8bf58dfc16f1caccL,0x1c93ba4e6b08ce06L,0x79b5e0399fe18430L,
  71555. 0xc9f67bd47de66325L,0x5def2733713d0fefL,0x31bd8b37b9945412L,
  71556. 0x8b2b69f3f3b99628L,0xf08a7e5a3118ce62L,0x00000000000000d4L } },
  71557. /* 49 << 266 */
  71558. { { 0x421966e5b03d785fL,0x3dbb06bb2db82562L,0xfef17870e406ab4aL,
  71559. 0xa6f04241b0f7f7ddL,0x69b5bcd1cb5270d7L,0xecbf4272e68d39e4L,
  71560. 0x722a3a295fb029edL,0x12e1d8236a535ae2L,0x0000000000000080L },
  71561. { 0x57f3541d31af5bf7L,0xa9463bc40db44d31L,0x320dc4d335748c65L,
  71562. 0x86e70f72eabc0fddL,0x47911116c02d0191L,0xb66114907b95b2f9L,
  71563. 0x60ad777bb050875cL,0x168967505cfc66b9L,0x0000000000000015L } },
  71564. /* 50 << 266 */
  71565. { { 0x2f89c1663c2c5333L,0xddab9a55df09beceL,0x4bf00d3c6640cf11L,
  71566. 0x8366d23df05a2e65L,0xaf81ce01e2c9f1ecL,0xbca9287ae2678ff5L,
  71567. 0xab1854ea91ec560bL,0x2c74e77c6381b109L,0x00000000000000c8L },
  71568. { 0x36214f8f0b1c20e1L,0x658bf89c86a631eaL,0x160b2ce485061fe2L,
  71569. 0xf7d151ea1d7b78f5L,0xb50a06792bdd0675L,0x8dbbd631d2f1cae3L,
  71570. 0x2548deae849ce90bL,0xba74f3b7bb58c6f7L,0x00000000000000ffL } },
  71571. /* 51 << 266 */
  71572. { { 0xdbc33fff01a3ae90L,0xdc1fb1371737a61aL,0x7213e66891def29eL,
  71573. 0xd99530b841d7df49L,0x23a50594943c90e3L,0xfefcb98881dd6daeL,
  71574. 0x736b8505dbf5986bL,0x6f4c28a987496a5dL,0x00000000000000f4L },
  71575. { 0x92d13be9ca00d61fL,0xebd928d6dce1556dL,0x307e3fecc71ae83dL,
  71576. 0x2a4939c2c15ca194L,0x13947cafbcad067dL,0xf4ce58667d41f480L,
  71577. 0x1ef59d7047e07cecL,0x5d8068403796b61dL,0x00000000000000b1L } },
  71578. /* 52 << 266 */
  71579. { { 0xfea0d82ec8a4656dL,0x0fa181b503d94a84L,0x3666bfd2f8b5c4f4L,
  71580. 0x4e246013619d399cL,0xea46dfc9c11c1ce3L,0xdfb408aa10af3583L,
  71581. 0x94fce3f2785d7d61L,0x3244f6181feff091L,0x00000000000001b8L },
  71582. { 0x939d98f4add4f84aL,0x4c2e3d15e9d04356L,0x08529c57c5d1729dL,
  71583. 0x4966bf7709597836L,0x03b9958cf4b32760L,0x2e7213b46a9536d0L,
  71584. 0x455ceb5984faa490L,0x7d83e2f5146ed682L,0x0000000000000004L } },
  71585. /* 53 << 266 */
  71586. { { 0x3006b4db99b32f7cL,0xcc70659922b7c67dL,0x2ef09c9c5259dc6dL,
  71587. 0x732ef8c90faf1eb3L,0xf3c83942a1837500L,0x6633ddde6cc28b75L,
  71588. 0xd1c95f71e1ebcaa0L,0xcd6609dc9e548e3bL,0x000000000000017aL },
  71589. { 0xb35f17893b3da933L,0x8d169444379ef7f6L,0xbc00a35a8c84c365L,
  71590. 0x3411d83a5ea4534aL,0x209414cbada5b0fdL,0xd0ae1bce1a59ed3cL,
  71591. 0xeb7542c292c524f8L,0x0d233104eb75a43eL,0x000000000000003bL } },
  71592. /* 54 << 266 */
  71593. { { 0x9a4dd7b8ac1a7884L,0x2067b936b874749eL,0x52260e05d13b0d4dL,
  71594. 0x61476a10a9c3e750L,0x2047d74ca0f97967L,0x8655120d1d34b122L,
  71595. 0x60cd407c935034ebL,0x499ba4dd8bbe83b1L,0x00000000000000b1L },
  71596. { 0x6213fd52b2bdce3cL,0xda3f6f864cc05a03L,0x24183f37b78a7247L,
  71597. 0x996bea8201ebedc6L,0x7de1df0aaed2def9L,0xb59c1f5a624d5b0eL,
  71598. 0xd9b892084ec7e5ccL,0x230df59c54090935L,0x00000000000000feL } },
  71599. /* 55 << 266 */
  71600. { { 0x0e683a79496c5739L,0xd855e4884737520cL,0xf3b0fb38b1dea15cL,
  71601. 0xf5118c492c55746fL,0xd313798ab9dcf49eL,0x33e97020992ef98fL,
  71602. 0xc6ae345eabd13522L,0x47fa0669425f9edbL,0x000000000000012eL },
  71603. { 0x697599ad5e3eb523L,0x977313269216d4e8L,0x2bf6d652088d222bL,
  71604. 0x852230c5114a21aaL,0x8e713dee3f02aad7L,0x02c85a4ffccdaa39L,
  71605. 0xbebd0ff6b7a53b32L,0x103bd947b9b77764L,0x0000000000000199L } },
  71606. /* 56 << 266 */
  71607. { { 0x984d21e6b92a02beL,0xf2bba82c09f08a26L,0x9c4259d1909fba26L,
  71608. 0xa36bcd437030f0a5L,0xf6c218e468ae6f05L,0x199a1ef30ed869f9L,
  71609. 0x803860ff417e95faL,0xbd6bb9b4f29f7c84L,0x0000000000000130L },
  71610. { 0x5fd4e3b2d4e924d1L,0x388d2e0a9b2814d5L,0x8e4696653e9b1aecL,
  71611. 0xe24a5cfe9a8320a8L,0xffd986e2a83ed877L,0x8499105d9c00fbc3L,
  71612. 0xc6b2171f73f5deaeL,0xf1432d70f9d058f7L,0x00000000000001e3L } },
  71613. /* 57 << 266 */
  71614. { { 0x030550d7132338dcL,0xd768b93af6e8f267L,0x90ea975362c49edbL,
  71615. 0x3d4ff755ca1676faL,0x2a6f71962a52f67cL,0x85f2473be355efcaL,
  71616. 0xe1fbd88920c998dcL,0x70bfdc6fd8491c54L,0x00000000000000d1L },
  71617. { 0xcc89bbcf2b71306aL,0x10ea9edd6100aaa5L,0xd1774fbfe1f76710L,
  71618. 0xf006f841ec8bb412L,0x7dfaa7290c2fa1dcL,0x45cca48e8fed926cL,
  71619. 0x4600d2919e67f94aL,0xe363f267269a4cefL,0x0000000000000132L } },
  71620. /* 58 << 266 */
  71621. { { 0xd167783be279b76aL,0xa10f42afc988d262L,0x41da90eb8a53ddf3L,
  71622. 0xa66061125539740aL,0x0575a23cff000f06L,0x150f47e563a5124eL,
  71623. 0x8c923bf91a1c07a4L,0xac510583f4752dadL,0x00000000000001d7L },
  71624. { 0x32fa0b887c3a94ffL,0x7625bb5ffb91c0cdL,0x2f2be34111b94d00L,
  71625. 0x824f6bfebcf2e24eL,0x95a9120f6f255fc2L,0xbde9336c35e3c721L,
  71626. 0x95742cc454f31228L,0x689d8bf3a899e1bbL,0x0000000000000155L } },
  71627. /* 59 << 266 */
  71628. { { 0x04bab74886920088L,0x0cb1d789aa224f96L,0xc93eb318d28e0286L,
  71629. 0x523d44902dda423dL,0x5150f518bcd81054L,0xe0443e329498fbc3L,
  71630. 0x0089a01e8fd77381L,0x7f5cebd637ce0637L,0x000000000000011bL },
  71631. { 0x40cbeb26cb481b5dL,0x29d513b817e35565L,0xf884cd0182b961c8L,
  71632. 0x2ebd1a191cf01a93L,0x2ab31a0b8f398d6aL,0xa15f3eaec09c3a9dL,
  71633. 0x549b4cfc31f19b5dL,0xd42d563bdb0d2199L,0x0000000000000164L } },
  71634. /* 60 << 266 */
  71635. { { 0x8626cba3cd27ff10L,0x5f83c650dc15323dL,0x370d973042cc94e3L,
  71636. 0x06ebd6efdb164003L,0xcda6f2d782850e4bL,0x74e500ef17a82fcbL,
  71637. 0xddab08dbb228248bL,0x56e403d5870a453eL,0x0000000000000083L },
  71638. { 0x507272fc79dcfe50L,0x25ee735db3d2ba34L,0x92386ed3fc3349eeL,
  71639. 0xb0a88de8f9ebdeb6L,0xf1ef010cdd93abf9L,0xead25256a0838914L,
  71640. 0xce2acbc0d54b6544L,0xbc78ce9a7c94ce27L,0x00000000000000d9L } },
  71641. /* 61 << 266 */
  71642. { { 0xc6914e748df59decL,0x1fe914fc5fb68222L,0x6927c9ee4c5a99bcL,
  71643. 0x6b391ac926d71724L,0xb702eac64ccabd0bL,0x30140f3225ef1fb0L,
  71644. 0x2925f1a5368574cbL,0x019a246c817bdcd8L,0x0000000000000148L },
  71645. { 0x8b5bc82843a579fdL,0xa7df3a7e0428a197L,0xdc92a823b299e290L,
  71646. 0xb4796ea49b9eaf60L,0x37fdf758efff2b39L,0xb51d61b119a00b8aL,
  71647. 0xd0ba025158fec2dfL,0x4481424bdb70c86cL,0x000000000000019dL } },
  71648. /* 62 << 266 */
  71649. { { 0xdaf4f001c3742075L,0x9d21b51ee86d1e9cL,0xfe5359f1041b08a3L,
  71650. 0x68890b43565a56b2L,0xa5dd5889cf437ef2L,0xf78e7c4621323d5aL,
  71651. 0x0d6b8410646f2ff6L,0x7d08bb8206a40139L,0x00000000000000deL },
  71652. { 0xd9a729497ac5686cL,0xf03be45847486981L,0x7f3c9dc4cd31b81fL,
  71653. 0x5c3b01b791730a67L,0x4abfeae42bcdc09cL,0x3e98e2ec1f65b976L,
  71654. 0x280fe587b1686b96L,0x7038ea9fbcdb3f69L,0x00000000000001c2L } },
  71655. /* 63 << 266 */
  71656. { { 0x0788729410b5679fL,0x4a660d8e0e9207b5L,0x65f23f96a702eeb6L,
  71657. 0x4d2892f71035ebdfL,0xcf6962a6237548bdL,0x599710afb3dc6988L,
  71658. 0x0787789e9e8129faL,0xefe5135a7b65d139L,0x00000000000000f5L },
  71659. { 0xc1041db3dc996150L,0x61f30cbfb3b9717cL,0xcc86186dd933fafaL,
  71660. 0xa89429239edd4ba5L,0x3b35f50b2d323ad7L,0x8f43b479acc1d0e8L,
  71661. 0xda38daa46793e392L,0x564b87346fb6121bL,0x0000000000000004L } },
  71662. /* 64 << 266 */
  71663. { { 0x0e13c1ddcecdf0dcL,0xacd530b6eeb9aa6cL,0xbe3c0fc80af8d3a8L,
  71664. 0xee67f380ce44ae8bL,0x9adc56363854b528L,0x527f7f90130f4497L,
  71665. 0xee085713e80c35ceL,0x29bc4b3e190fae23L,0x0000000000000064L },
  71666. { 0x17ea6fb5dbb3838aL,0x192eca92b425af89L,0x5fd3bfcf85a94659L,
  71667. 0x8d75b3f5daa4b4ccL,0xbacc18b89bee144fL,0x57591774ff60ec49L,
  71668. 0x319cba952363ac43L,0x6c0d079e472ee36cL,0x00000000000000f0L } },
  71669. /* 0 << 273 */
  71670. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  71671. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  71672. /* 1 << 273 */
  71673. { { 0x28cd16ce7333eea3L,0x601ab611845655fcL,0xf18179d957ed4bf8L,
  71674. 0xa704b004172167c2L,0xe22ec70382e3fcf3L,0x4cd9bd0de64c4745L,
  71675. 0xd1eb58dfec9737e7L,0x540c29e8e6658aacL,0x0000000000000124L },
  71676. { 0x4f35d47d4b18bb58L,0x3ee2a66ad4be21bcL,0x9d3d69a1052b60fdL,
  71677. 0x556347ef8f07eb0dL,0x66014006165af89bL,0x808eb84331e62cc0L,
  71678. 0xfd119574309553a1L,0x4945b9cd7656234dL,0x0000000000000060L } },
  71679. /* 2 << 273 */
  71680. { { 0x05bfabadb30c227fL,0x163a01129ca0d9f2L,0x448f630b4a448ffaL,
  71681. 0x7a304fdcf52d44f0L,0x4ceb9902f50356e7L,0xe7615ab1c43b436bL,
  71682. 0x9fd56374d63f192dL,0x38470c8f418bd616L,0x00000000000000d1L },
  71683. { 0x4b42c1459554d529L,0x5556cf8b2bfe7bc9L,0xe28b6f8994eb909cL,
  71684. 0xc00748ee637dcaabL,0xf71e0fcffc076bf8L,0x57642f92b580d617L,
  71685. 0x755fdf2e1d91f20cL,0x9c3c9c86dd5ab14eL,0x0000000000000187L } },
  71686. /* 3 << 273 */
  71687. { { 0x8dfa447387950112L,0xd032940ae8d5c1aaL,0xeb909e673379771dL,
  71688. 0xe780d40da336a4f3L,0x318e1a69ce022106L,0x36b6b1748702e3c8L,
  71689. 0x327e8db4f8e60cedL,0x9c1a790b8380c97eL,0x000000000000008fL },
  71690. { 0x8eec3caac6534a9aL,0x650fa0d556cfdcf4L,0xfe45e2ce58c3798cL,
  71691. 0x320fac25a60e6872L,0xb399ec98ef983104L,0x133c9f01be57c16eL,
  71692. 0x9736e7543b73b0a7L,0x12c0ce90b48f9618L,0x0000000000000155L } },
  71693. /* 4 << 273 */
  71694. { { 0x2ff940bfa7c8fc21L,0x9b3cbeeea6a86c6bL,0x5cd96c7d171573a2L,
  71695. 0x49bb08e812cb3013L,0xddba493e34b92d91L,0xa56f49a5ef35e196L,
  71696. 0x7a454c1c2cdca6c3L,0xb9c038ae684d25fcL,0x00000000000001b7L },
  71697. { 0x15adc72daf46c7eeL,0x21450db25eaf9891L,0x115517e153a32b0aL,
  71698. 0x5bd9d862e26d8171L,0x991737bf3f8e37e8L,0xcbb33580531a836dL,
  71699. 0x96aff0213d976493L,0x9be26568ca69b662L,0x00000000000000beL } },
  71700. /* 5 << 273 */
  71701. { { 0x32d089edecfa97e6L,0x9bf82c96b9f080c2L,0xf1798cd9af6bf9aeL,
  71702. 0xa111bd63cc9b8764L,0x9d1aebb4295a4931L,0x37f6c9ac32442dc0L,
  71703. 0x3785c17e6d6b2b32L,0xae63aea3ccbaa5adL,0x00000000000000e9L },
  71704. { 0xc2207aa55718e310L,0x5aaede6c9004a15fL,0x07e98d521a4b7f1bL,
  71705. 0x351eca4df3f71723L,0x0026164672a30c08L,0x838f24ecf46357d8L,
  71706. 0xa8278e1a05348650L,0x402ee68e10ec3795L,0x00000000000001e9L } },
  71707. /* 6 << 273 */
  71708. { { 0x91955973e33296fcL,0x83dc2cea4212671bL,0x59b7959a3ef3d3ddL,
  71709. 0xad706c14147b4051L,0xff0e938e46217be6L,0x3550f6ba963236afL,
  71710. 0x26a254a435de4d64L,0x829799ebd3fb0643L,0x0000000000000194L },
  71711. { 0x30dcbccb348f4e93L,0x1211c003aaa258acL,0x9d8500d9383698a3L,
  71712. 0xc2c4310a530725faL,0x6f60e024d88235feL,0x1bcdbca5715c563aL,
  71713. 0x2100b4b2000501c5L,0x9f483a0505c8bf39L,0x00000000000001f5L } },
  71714. /* 7 << 273 */
  71715. { { 0x618d04f0001b7109L,0xc5cbefa8a94e8a9cL,0xd5f0e7b20aed80f2L,
  71716. 0x9c876050cd2e2661L,0x18a046bbe3f15e9bL,0x3568d9e165664a6bL,
  71717. 0x8ef9c3b4b0b7229eL,0xa779b68d66dde1eeL,0x00000000000000dfL },
  71718. { 0x9997a707b3465741L,0x28192afa90f61124L,0xea06c8b89ace2e5bL,
  71719. 0x208f1ad1acb7cf35L,0x1ac49e4ae569efa2L,0x7daffa0f8368ecb8L,
  71720. 0xc559483f40e4879bL,0x8de74638753b0b83L,0x00000000000000e5L } },
  71721. /* 8 << 273 */
  71722. { { 0x51db2d9d07207165L,0xc7d56a41c3d4c59cL,0xa47fadda4e278b0eL,
  71723. 0x5c3964e204ffc588L,0x52bc9f389719ecfdL,0x2c9292c035a04049L,
  71724. 0x885ff9bafae7580eL,0x2319a2dcd5cc866eL,0x000000000000015cL },
  71725. { 0x8b77ddb70ae9af6eL,0x0e21b050dd7fd36cL,0x35d968ecdc8b9c19L,
  71726. 0x6f3f0785a624ad4fL,0x97778a681d42c97eL,0x86103bf0a2a4342cL,
  71727. 0x0aef36fd3ababc35L,0x46c8fb212fe10364L,0x00000000000001e1L } },
  71728. /* 9 << 273 */
  71729. { { 0x21488bccf8cbba8bL,0x6cd7d298c6cd24b8L,0x0c83f3ee5de8e8e5L,
  71730. 0xdf29c9784582fcabL,0x7024c1526806aafcL,0x979cd4ff958067f2L,
  71731. 0xc13fbc7c8cde09dbL,0xd468e6f5da3a5090L,0x000000000000000dL },
  71732. { 0x1ba673a47757fef1L,0x6992b5485070e0e7L,0x8b2c42327acfd5ccL,
  71733. 0x27210f84a508dedaL,0x883d6e39c2629e49L,0x1b83cba19e7dd61dL,
  71734. 0x455f212a4f2bee2aL,0xed70ce46ee719f5fL,0x0000000000000182L } },
  71735. /* 10 << 273 */
  71736. { { 0x5c3a0ed97adc9d29L,0x37ad64e4796a4dc2L,0x0d5920486ce3c6a8L,
  71737. 0x2f5d313d166ba729L,0xda128b7bb5ea827fL,0x97c63821f4a68914L,
  71738. 0x35a2d15501c3f074L,0x07fa2fb4b80123e9L,0x000000000000004aL },
  71739. { 0x408d54c34c208ee5L,0x75119aa6b2f910c3L,0x424a684d1453eecdL,
  71740. 0x800c87a64e1cc60cL,0x1ca02fe5f835f438L,0x019870df716b0991L,
  71741. 0x94e36e623cf7b652L,0x45cc33a25dabec4cL,0x0000000000000019L } },
  71742. /* 11 << 273 */
  71743. { { 0x304d81e391a9d18eL,0x152664f7aa95f5c9L,0x6507a739a51eeedcL,
  71744. 0x77d8c41271aadc19L,0xf9908b36a7b6ba22L,0x8b2dd6ce2d5c2f59L,
  71745. 0x38f2787cb66f5e0dL,0xccd13ca9b2c40bf0L,0x000000000000012dL },
  71746. { 0x1887e4a728b4694dL,0x417981e3a25eec32L,0xe07f28ff6490e81dL,
  71747. 0xd2ba6c79f00abe64L,0xe0af21fccddfeb36L,0x82fbcfeb986898d3L,
  71748. 0xae77cb38e0718462L,0x0818cb63fba01b54L,0x0000000000000193L } },
  71749. /* 12 << 273 */
  71750. { { 0x188c77cc75eccbbdL,0x424f7ec52aa03503L,0xfa5819b9c8fde26bL,
  71751. 0x70a39f9b566dae00L,0x70ea7dfba22f5199L,0x502f681e60b863e4L,
  71752. 0x0fd204ff4581af1cL,0x536f4b875d1aa7e9L,0x0000000000000044L },
  71753. { 0x52d311fb5713fa2eL,0x28d3afee2b0af3a0L,0x82aca5d14dec093bL,
  71754. 0x9d6a3856a946f620L,0x91eb4618e32ae798L,0x62580350783bff5cL,
  71755. 0x610110e5b76e4c61L,0x76287f2f3c2ae4aeL,0x000000000000002aL } },
  71756. /* 13 << 273 */
  71757. { { 0xdc5bba7b75716569L,0x41487a141dac5c65L,0x36e2a740b5c823e7L,
  71758. 0xe40d249065e0b210L,0x77d4708f8839779dL,0x879b9a4ba1d7eab5L,
  71759. 0xb3409669311b4f51L,0x6d1899fe423b3b2fL,0x00000000000001e1L },
  71760. { 0x2d351db99db2b624L,0x7143d053d054c63fL,0x3ad8fce9c5ae5097L,
  71761. 0x98ac8ae089757358L,0xcbb20672ee232061L,0xf703f203c02c786cL,
  71762. 0x9f7f153b2f4907aaL,0x2b2d7f4056eeb499L,0x00000000000000dfL } },
  71763. /* 14 << 273 */
  71764. { { 0x5054d6c0d4daec55L,0xe75aaa4d2d795df2L,0xa72ffe306da506adL,
  71765. 0xe019fd58e375432eL,0x9827f72b4fde3a24L,0x54f713e42a3320a5L,
  71766. 0x41408596baa1f5f6L,0x9c42b30fc65b3ff9L,0x0000000000000038L },
  71767. { 0x1b36dca6031dba90L,0x5e80043e0c0c3559L,0x17a387f6a3a6c663L,
  71768. 0xc9a8c64f000711d6L,0x304a1f4178156da7L,0xdc5de4a9cbdd6bd9L,
  71769. 0xf65f6d1a599ddcc9L,0x591e35e24c1e3e7aL,0x00000000000001afL } },
  71770. /* 15 << 273 */
  71771. { { 0x8a775e63fc349e8dL,0x25de6478e3b39a51L,0x1962bc0927ae51faL,
  71772. 0x7d3cc7f79952670cL,0x9a09a697059050f0L,0x392dbf4355234066L,
  71773. 0x1cbff05524efc89bL,0x68a50b092f805012L,0x0000000000000078L },
  71774. { 0x1c48213e47bef4e3L,0xae844a2a0d5e95d2L,0x95f0efc014c40369L,
  71775. 0x0e1d7c2d59ee29dfL,0x1ed16e33d68d68f3L,0x0c54c8d47babfe13L,
  71776. 0x155a3aa83b036552L,0xd9fd099e9efafce5L,0x0000000000000123L } },
  71777. /* 16 << 273 */
  71778. { { 0x2fe08a10462e6862L,0xa86db08f35ca4eceL,0x4af069a05960b9c7L,
  71779. 0x9f0086014c7fbbe4L,0xfe91aaab59bcd54fL,0xbb6cd66467a1bc8aL,
  71780. 0xf3b3590354ab69bcL,0x2d5b1227ff914c06L,0x00000000000000f9L },
  71781. { 0x22226588f7d5ac27L,0x5bf4d921d14893e4L,0xa0a5c850c384f172L,
  71782. 0xc5deff764351441cL,0x9cba07b4539d45baL,0x324345620a80ae0dL,
  71783. 0x0e144257bb44f664L,0x1c5c19c163da2750L,0x00000000000001a4L } },
  71784. /* 17 << 273 */
  71785. { { 0x51e56fd2377fe385L,0xd7492e760b164c7fL,0x2f6b60c80ef96709L,
  71786. 0x9b0711e5922f73a4L,0x94778ad3f280a8eeL,0x64c426437a4bcefdL,
  71787. 0xb0c26afc659c9918L,0x82ee9fab35019434L,0x0000000000000074L },
  71788. { 0x3d35f4ad7e800ff4L,0x238e7f313d01d6ceL,0x172c4169e901ebbaL,
  71789. 0x3232f5673a643a41L,0x4c6f397f79701e48L,0xc8b78dae42cb8029L,
  71790. 0x456590ca23d30eb2L,0x4822aa96ecef86a1L,0x0000000000000136L } },
  71791. /* 18 << 273 */
  71792. { { 0x2827509940aa836bL,0x4ff61db18e6dfe44L,0x8402c1a4b2ff8beaL,
  71793. 0x35306c0483432ff2L,0x038990de7e604bd8L,0x24c5056d94db9d3fL,
  71794. 0xe7b9a01fdf1dc845L,0x10d538b1c5918c0aL,0x00000000000000a5L },
  71795. { 0x1d80e8bd54959824L,0xcb6fd66c89a5d7e9L,0xf3af6940860e3fdfL,
  71796. 0x421ce5e8563137c7L,0x03e6f677661866ecL,0x71e09e4b5276a885L,
  71797. 0x915f8f97aa9aeb74L,0xa95c50572cc76508L,0x000000000000001aL } },
  71798. /* 19 << 273 */
  71799. { { 0xb3809974fb81dcebL,0x04c8b5f63319a12aL,0xfb0f28c8888e81bcL,
  71800. 0xacbe4a1d2ad580c5L,0x98364afc0bb15f66L,0x989e8123ad9238a6L,
  71801. 0x1c447ce56b1c3603L,0x5aefd392295aa36aL,0x00000000000001c2L },
  71802. { 0x9710f3e830cc890fL,0x7282afbae4c45659L,0x14ca9438c207839cL,
  71803. 0x1ed458d898c2b015L,0x3f2a4c7af1ba2f97L,0xd9a0fd1c44908498L,
  71804. 0xde8553a737b341a7L,0x2da1c2272e563011L,0x0000000000000140L } },
  71805. /* 20 << 273 */
  71806. { { 0x73d2ec27a3fa7b6aL,0x97ae7b3a601abb5eL,0xd42c967294f25a78L,
  71807. 0x9516e3b715a54045L,0xae7bcc8d6b889d29L,0x1cde169f55b50252L,
  71808. 0x52e0bd3767c5274dL,0x8784031d2ef34a50L,0x00000000000001ffL },
  71809. { 0x8993fe21afdcf8acL,0x09332a37f854b7d7L,0x7e59ab356cf0ef3dL,
  71810. 0x296081d775691e53L,0xadab7d8697d96038L,0xd517a740df09ba1eL,
  71811. 0x0883ca2d330b20e9L,0x930bfd5f43b56a48L,0x00000000000000bcL } },
  71812. /* 21 << 273 */
  71813. { { 0x8f9362b782308867L,0x4c617f3d2b121634L,0x7128d265a0c31abeL,
  71814. 0xb149770ec374c526L,0xa30771d74c5ecbefL,0xabdc769627acda27L,
  71815. 0xc258797b6450a1feL,0x8f0ac6d683044b48L,0x00000000000000b0L },
  71816. { 0x92e7643b6ce14f0dL,0xbb0cc016cc8cf431L,0x7a9fce4ef1056d87L,
  71817. 0x7ebc00349fd21abcL,0x76ad91162c8c09ecL,0x38a51d4d3b161bedL,
  71818. 0xe1f7286b9a9b8590L,0xd2bef39669822c45L,0x00000000000001e4L } },
  71819. /* 22 << 273 */
  71820. { { 0xceeadc92e3dba9dbL,0xd218a237a95c8cffL,0x03302b21eaf709daL,
  71821. 0xbf3e305a8111468bL,0x72ab2ec07e82860bL,0x1a2df5a3e186f8f4L,
  71822. 0x12579936f1a95aecL,0x61e2b1e1c19a4e2eL,0x0000000000000000L },
  71823. { 0xcc6802561edb4b21L,0x73d87649d7bdc78eL,0xe440ad1918073608L,
  71824. 0x016ef0c7d90974abL,0xa466d5335c7e0663L,0x2885493eee21a1a9L,
  71825. 0xf459216a2e4d05c1L,0x6dbce2c807a94608L,0x00000000000000c1L } },
  71826. /* 23 << 273 */
  71827. { { 0xfaac87ee84d6cef3L,0xd90ce8f916e9316aL,0xb90a157b7c9c7338L,
  71828. 0xed9b08d2005e1b8bL,0x2439244636898a59L,0xa6ca07901c2f7350L,
  71829. 0x9a93d39ad9447b26L,0x56acad519cb4c8a9L,0x0000000000000051L },
  71830. { 0xf8f0216874848490L,0xa86f9dc8d08c617aL,0x49b48bf8a0731a33L,
  71831. 0x78126e62538afcd6L,0x40cde5c8ed4d2ea8L,0x254dee95831e1aebL,
  71832. 0x7532ce3731639537L,0x27fe56322d4f834cL,0x000000000000012aL } },
  71833. /* 24 << 273 */
  71834. { { 0x604b730ef1ebe533L,0x336e362e0b4b9191L,0x246e5c1ab711e872L,
  71835. 0x652dc2c1f46e3f97L,0xc3492e151398e328L,0xd85f2669475cd2bfL,
  71836. 0xb4b28424a3c972bbL,0xf3d5711649a9ac4eL,0x0000000000000148L },
  71837. { 0x2a5e5f5425e365feL,0x9202ddff6abd415aL,0x314e872acb24f45aL,
  71838. 0xced1dcd9b7bcc7d1L,0x0d39cf240377ce8fL,0x75eb96c9d1065414L,
  71839. 0x984b4a459fe0ee9aL,0x8237616704703ab1L,0x000000000000011fL } },
  71840. /* 25 << 273 */
  71841. { { 0x2839ff0b73edf179L,0x0c86f7213c27933eL,0x0635f21660380a50L,
  71842. 0xe30ac47e08978124L,0x9ef7580ca3c4c0c9L,0xfe842e3b5c323f9dL,
  71843. 0x320eb96f2322e2a9L,0x37e518f3ea489b6cL,0x00000000000000e9L },
  71844. { 0x382199260b9d992eL,0xd96ade19441272a1L,0xddfb5d87ff188af1L,
  71845. 0x0bb3a1d0afbb820bL,0xc81b98b73d9f94e9L,0x9fd45fcc0f4b8cbbL,
  71846. 0x2b2e3a3ac5127190L,0x92c22ecf750fda83L,0x0000000000000047L } },
  71847. /* 26 << 273 */
  71848. { { 0x614ba6ccc44776c1L,0x80fede5815132829L,0xd69d5d613359d3ecL,
  71849. 0xf302a63e0d76029fL,0x201938b1bc711f3fL,0x1e7db241764f0544L,
  71850. 0x466d273d60c27af9L,0x472d12f244190095L,0x0000000000000027L },
  71851. { 0xb30bbbad213788c2L,0x64d2b58670427068L,0xa0040d46f4c71bcbL,
  71852. 0x025d2898a6fb55daL,0x8f6bb191b5d4d6c2L,0xd9899a763ad65acfL,
  71853. 0x08acb6e19fea8d7aL,0x75cd5e5c63dd79b2L,0x00000000000000a9L } },
  71854. /* 27 << 273 */
  71855. { { 0x217ede5bae998a64L,0xb49ddfe7f6bdf2a7L,0x27344e0df7b9fd0fL,
  71856. 0x6692431a88552d89L,0xf22f33be0cc964fdL,0x56140230df10ab05L,
  71857. 0xded604f02c79339eL,0xeb4b1cedf36bd72aL,0x0000000000000079L },
  71858. { 0xba2b0ff9f7844c49L,0xbda1e2396fb21a72L,0xe9ac028a95fb942eL,
  71859. 0x33324e2b37bffacaL,0xb5068cc3dcce1f97L,0x3cf1b594dd4cc89aL,
  71860. 0x65c4fd79ab81d662L,0xffd08615372b50fdL,0x000000000000018eL } },
  71861. /* 28 << 273 */
  71862. { { 0x06b3e15d5771af61L,0x1235e2b0a0b64d87L,0x5454afd261821972L,
  71863. 0x94396699d6c76c37L,0x2aac7459c61d6be6L,0x94893168ca05d3cdL,
  71864. 0x8d77047bc2250b78L,0x9adb6b8db1a06efaL,0x00000000000000c4L },
  71865. { 0x8cbe58961a7b33a1L,0xd75a2d7bd83f7033L,0xe81731f314f445d2L,
  71866. 0xe905889593c865f8L,0x6caea833605f5264L,0x96df9656e3b6d3dcL,
  71867. 0xe7afb0760b224f18L,0x4cb4c72107aa123fL,0x0000000000000090L } },
  71868. /* 29 << 273 */
  71869. { { 0xaded87ed9d1637d6L,0x6d5d5b3b694a536fL,0x6aba5271494ef964L,
  71870. 0x5a9d8207f899f7acL,0xb426737cd77bd7d8L,0xe8de83bc8e7761fcL,
  71871. 0x99f09dab881d65f4L,0x145efe113369e1a4L,0x0000000000000084L },
  71872. { 0x385830fac6470ecaL,0x08d8e0664a415836L,0xbac25039b5241a86L,
  71873. 0xf02ed14198be6a68L,0x172cbd25fb41f819L,0x8e8c6c3ec0a203c3L,
  71874. 0x4a7861303316f5ceL,0x0e5195fb1ecc5915L,0x000000000000012fL } },
  71875. /* 30 << 273 */
  71876. { { 0xb067305d41f4e9eeL,0xe2c3afab7b26ad35L,0x620dc76da158082aL,
  71877. 0x13e8afcc03213e9fL,0x64018f55c12946a4L,0x770066dd8c4c89cfL,
  71878. 0xa07b753efbe52d37L,0x79cec78b7424b86aL,0x0000000000000072L },
  71879. { 0x5ec514f1a5dc80a7L,0x7e70e414c049c348L,0xc3daf2f2eebcac00L,
  71880. 0x0f49f8a703563a24L,0xc36c093204e789e6L,0x6c17a7c02b59bbd2L,
  71881. 0x3a84fc9dc6cb7b49L,0x05e1457e0de6085aL,0x0000000000000109L } },
  71882. /* 31 << 273 */
  71883. { { 0xc90eb31fc17d94b2L,0x8ed3a7945e87b6dbL,0x85ebc38150d82b3cL,
  71884. 0xc906cf47dfff4d95L,0x122b7a67f28fdcdcL,0x96bd35386bf4a9acL,
  71885. 0x67788dc93f96461fL,0x982412df832f92faL,0x000000000000007fL },
  71886. { 0x5eaf69178324dd6fL,0xbd5ae389c8093147L,0x1c19b1917939568aL,
  71887. 0x5fc18a88e5600018L,0x5c483792b28ac566L,0xd15eaaac13b67938L,
  71888. 0x3ad1d25e8cab3ebbL,0x6e68deb0247e9904L,0x0000000000000031L } },
  71889. /* 32 << 273 */
  71890. { { 0x2347e38373435eb6L,0x75563e7858ea9f89L,0x20ccb854efa62cb9L,
  71891. 0xdac97aec1cc86c06L,0xbe99c357f432d1b4L,0xcd89da561c2e03f6L,
  71892. 0x7e424afda789af68L,0xc386d1bf401f225dL,0x000000000000009fL },
  71893. { 0x46f9bdbba1a12ca1L,0x489bdf59a6469919L,0x94ad85a73974bf6eL,
  71894. 0xa7fe1c85c9fde759L,0xa26931a072b3c209L,0xbd5b56203db247ccL,
  71895. 0x9ecb8a741085c481L,0x9134bbd1ea48e281L,0x00000000000001dbL } },
  71896. /* 33 << 273 */
  71897. { { 0x10689653e6397251L,0xd36ab8d90f9f0184L,0xa8c95b34a5da43efL,
  71898. 0x1920d31fb6e047b5L,0x0dd12f4ce1469d06L,0x94efeb8c3cdee90dL,
  71899. 0xf6b42234490b18f4L,0x4ffd0c3f9d9c97d9L,0x0000000000000165L },
  71900. { 0x04db694b8907f755L,0x1297a489cab5d47fL,0x531adce1572fba2fL,
  71901. 0x63960f81014224ecL,0x61175880c4a771a5L,0xbb9116fd2941f7a3L,
  71902. 0x04047b18a59d986aL,0x671b243166eb690cL,0x000000000000000eL } },
  71903. /* 34 << 273 */
  71904. { { 0x9db986ad8855ba41L,0xc106268894b3744eL,0xa92f7d8b15201d6cL,
  71905. 0xe1e9769008782567L,0xc9bfc18a482f9905L,0xcc6569b1f54a18e0L,
  71906. 0xd623f6e0ad8f5366L,0xb312dc0c5852a673L,0x0000000000000024L },
  71907. { 0x82a24990455c2368L,0x77771a72791c090eL,0xbbcd5223698071e5L,
  71908. 0x4877919b2f7dbcb9L,0xb5b54e4e8622b142L,0x6c0f9b68c924f541L,
  71909. 0x40f658639de92f6aL,0xd1b03e4e626f28ffL,0x00000000000001aeL } },
  71910. /* 35 << 273 */
  71911. { { 0xe357497c44f788aaL,0xeb886a8f9952cd9fL,0xaabac389c4d3a590L,
  71912. 0xaf02fe81b2782010L,0x4cb27146ec5da884L,0x7104f1641074d877L,
  71913. 0x3c049a5c4bcda0fbL,0xcf680a9200118890L,0x000000000000005aL },
  71914. { 0x76ea5fa1d2ca967bL,0xc8e6d78fb8d792d3L,0x203e8ca7e4fb3e32L,
  71915. 0x80a8f1e34959b68bL,0x3b5a8c7f0165eb1eL,0xbe35a03d5c518971L,
  71916. 0x815cc58c3dff7dceL,0xf4684b055909c47bL,0x0000000000000065L } },
  71917. /* 36 << 273 */
  71918. { { 0x7a8173004fabf449L,0x73b582d840f2b2a9L,0x3a3d45a8c970d55dL,
  71919. 0x4b929ad041a73083L,0xc39402f969c262bcL,0xdbc16a80f9b3d2cbL,
  71920. 0xf9abdf398d4fd1cbL,0xb3b5baa009125d99L,0x00000000000000afL },
  71921. { 0xe8d916331263ea71L,0x34f37faa9afe25feL,0xe00102248d62a061L,
  71922. 0xfd4ac0ee89324085L,0x1ad23c7839425188L,0x3e04ce94f9b054feL,
  71923. 0xad2630664ba78a71L,0x1be2291a86fdcda7L,0x00000000000000baL } },
  71924. /* 37 << 273 */
  71925. { { 0x6acd94de05e1e1f4L,0x673190a0645a2a41L,0xa35fc575310fafd6L,
  71926. 0x3ac9c62230e58773L,0xb82a873cb07d1795L,0xe9946d72a34ccba6L,
  71927. 0x46c81998a6222e44L,0x2ff50bbcc8faabe8L,0x00000000000000d4L },
  71928. { 0xa0b601a6786a9817L,0x93b775763e461079L,0x97ef405844808435L,
  71929. 0xf5a7b80c1199d980L,0x9e41ce271e84febbL,0x208a021be7f836e4L,
  71930. 0x58bf3f9231e33980L,0x00755fc7899562edL,0x0000000000000117L } },
  71931. /* 38 << 273 */
  71932. { { 0xdd5761c511676ffeL,0xb0cce6b697334331L,0x0cce322c7ef96ef9L,
  71933. 0x79fc56838c450809L,0xac7ad874bad8c85cL,0x41f7958cc41af040L,
  71934. 0xf491765edf1245d8L,0x02e26e6ccfceb02aL,0x0000000000000039L },
  71935. { 0xb1abbef48131e277L,0x7aa601fe63dca0d7L,0xb2c6c9b5d7e372dfL,
  71936. 0x0b7298ad989af18aL,0xc7f3a5e3d5fe8f67L,0x769001fffde1066eL,
  71937. 0xe10fded0dda36343L,0xa92f0d1b15d0522fL,0x0000000000000131L } },
  71938. /* 39 << 273 */
  71939. { { 0x6c1a6c256f3eef55L,0xb08580701c18b346L,0xce1c87968b4446ceL,
  71940. 0xf17d9053e23c4f17L,0x327e132e89f21512L,0x205508fe284e94ebL,
  71941. 0x1e62dda7f24fbc99L,0x344bbe262d39e997L,0x0000000000000060L },
  71942. { 0x770d0acb3035df5fL,0xdcd8b49049761501L,0x632b7d51ee075e78L,
  71943. 0x6d945e49b47d9adbL,0x0f8c0b321d0ed89eL,0xc279b05c89cac70aL,
  71944. 0xa227cc73353633eeL,0x925d141639a4d0deL,0x0000000000000046L } },
  71945. /* 40 << 273 */
  71946. { { 0xad4f18816bb2c3b8L,0xd45f9a0cd380ca18L,0xfb839dafaca25641L,
  71947. 0xb89884f27e519019L,0xde295e5458cd6c25L,0x1bc5070e25a1e8cbL,
  71948. 0x66f1635747c21e93L,0x379e8f32a4bddfa8L,0x0000000000000108L },
  71949. { 0x9141ea4e87cc4a52L,0x285cbaf972cff2ebL,0x27898f4df492be77L,
  71950. 0xd49d035f223c8859L,0x763866c2726065cbL,0x0886e8d5b2eb9e8aL,
  71951. 0x7deb06b31f70bf7bL,0x8ce6bcb7889d3e33L,0x0000000000000060L } },
  71952. /* 41 << 273 */
  71953. { { 0x271a04f88ce4f4b0L,0x2414550726b4b7f8L,0x159a895bbef3547bL,
  71954. 0x3c71622e5db5a5f9L,0x7ea8523192ece243L,0x65c89b75bc972333L,
  71955. 0x936ef797fc711efdL,0x05b810c7af98632fL,0x00000000000001b8L },
  71956. { 0x233474cfdbe53feeL,0x13f02ed581983f5cL,0x26f0244eb5c5b790L,
  71957. 0xc39151490fd4b89aL,0x5d5731029a9ff308L,0xaa9ca0826b5e3103L,
  71958. 0xcae619b710f4837cL,0xcd1617e2cf88ff6eL,0x00000000000000c5L } },
  71959. /* 42 << 273 */
  71960. { { 0x1b012cc6fcc7c3d5L,0x02b9f445dde71f72L,0x5f2cfd665a2000beL,
  71961. 0xfd676315c8780139L,0xa594ecd3ae9b27dbL,0x9b06895afd3cedc4L,
  71962. 0x0d532a0d1a268fffL,0xe06bfde60dfb1337L,0x0000000000000103L },
  71963. { 0xaa0a8cfdfbe7f2e7L,0xb2eddfb7adf3624cL,0x452e0b4fddeeeaa1L,
  71964. 0x4bc994baa46e664cL,0x2bd9645ea0eac15eL,0x4d34b0e75e550962L,
  71965. 0x6295f4a1697c8f01L,0x778a20923c08aab6L,0x00000000000000a5L } },
  71966. /* 43 << 273 */
  71967. { { 0xc4b1b87656477894L,0x9f8b9485bc8ff924L,0x55fa6ad5e675d0aaL,
  71968. 0x27cc06eb926549deL,0xa53fe770d61fa7adL,0xb407e08f8fd62473L,
  71969. 0x4c2c03f2a92b75d5L,0x810deda5009ca888L,0x000000000000016fL },
  71970. { 0x0f8e637dcca00512L,0xb195a15968dd81afL,0x44a70f986b904e07L,
  71971. 0xb264193f52c9eb87L,0x5e838f6fe75cd8fdL,0xd25d4157a7123b3dL,
  71972. 0xc6a13879cc52e032L,0xdda5d51ccffcbb8bL,0x00000000000001c7L } },
  71973. /* 44 << 273 */
  71974. { { 0xc7879147afb7d394L,0x8ec1b7fd4fb2b482L,0x955ea97dbd72c391L,
  71975. 0x9c5c1ec6cdb4e57cL,0xeda7ae96723ade30L,0xc27b17b48054db82L,
  71976. 0x0d1e386b91170eb1L,0xc6366e519aa3db3dL,0x000000000000002fL },
  71977. { 0x710fde5f6111f40cL,0xd231d1b3fd9de6f7L,0x9cbca1b1a15652beL,
  71978. 0x1d1b5b4d0a93c0b0L,0x29f6c799dc4c3234L,0xc414ea5fcda6aad7L,
  71979. 0x7c44805f3ead0e82L,0x1eea7f63e86c4877L,0x0000000000000036L } },
  71980. /* 45 << 273 */
  71981. { { 0xea03e06e6909b7b5L,0x1eb59e94dd60ebe2L,0x34dbf67688d4c7b9L,
  71982. 0x45027f88f72d9b9dL,0x31b1f57995e61759L,0x61dfe2f6d4650f5eL,
  71983. 0xbd0d212d6d0b74f4L,0x3f9948eb48083b0aL,0x0000000000000013L },
  71984. { 0x2bc49a766742cc59L,0xf83f88b2df5d4832L,0x3334aa91a688f8eeL,
  71985. 0x8a225b1d50913867L,0xe3d0925b9f5830baL,0xdef272bc88056d19L,
  71986. 0x22310572a90551e7L,0x5be1f7e622653c85L,0x0000000000000164L } },
  71987. /* 46 << 273 */
  71988. { { 0xc39065a8339a9d0aL,0x003e9b1e5ed50927L,0x1bddb64990510e1cL,
  71989. 0xc9cd7f8305bf885aL,0x1f6f6b26c677e374L,0x22c8e14499d0ce42L,
  71990. 0xe73b3c75760954c0L,0x8f1169532abfdac1L,0x00000000000000a7L },
  71991. { 0xcb29557273c46650L,0x9eadcd045832208cL,0x81a07d4b6a6f83b0L,
  71992. 0xddf5c6863ab3dd60L,0x8f79004b68e2062aL,0x4dcc7bc7d2487a89L,
  71993. 0x23a734b65d1fc56bL,0x8bd92ff31445da6cL,0x00000000000000beL } },
  71994. /* 47 << 273 */
  71995. { { 0x2484e9b86f9d25d5L,0x15a3eef11bb1562fL,0x2877237285a8fdc1L,
  71996. 0xbdbe7ba434f5a652L,0xddef4b0751555a0cL,0x9ce61078fb946931L,
  71997. 0x3f96d51e4a63b946L,0x870c89e539f2af27L,0x00000000000001a6L },
  71998. { 0x502642ad8155bbecL,0xf6405faf03db10e1L,0xe8a6560fa29bb9c3L,
  71999. 0xe50d29554c3a2c35L,0xcde535401a0decc4L,0xbba9da77090bedf9L,
  72000. 0x14ae1323a72b5b8fL,0x21a90f4992c11268L,0x0000000000000167L } },
  72001. /* 48 << 273 */
  72002. { { 0x0a65feba78bb30f6L,0x0235d91a50eabf36L,0x0b8ec4a4cd2d934dL,
  72003. 0xa122f10b8dfcce34L,0xc3c86b639b2e6536L,0xb8002fac84962539L,
  72004. 0xa6893cfbf6d36ba4L,0x280e9d60dccb7f1fL,0x0000000000000072L },
  72005. { 0xcbb4609e279551b6L,0xc6e893884b03a718L,0xdf62f063744dc7e2L,
  72006. 0x1799ea3e4146ea10L,0x73d8cef29ecd77ceL,0x2b87c10eb2229d1fL,
  72007. 0xe9d08175cabfdf74L,0xed1d16a83f0d60c4L,0x00000000000000ecL } },
  72008. /* 49 << 273 */
  72009. { { 0x2631e8bd95df30c9L,0x247fec887ec7359eL,0x37b1e3913bc00041L,
  72010. 0xcbe855f3b87062faL,0xd338fd26481816c3L,0x0d8dd09ad0f19ebfL,
  72011. 0x2741bf86ddff6006L,0xaef4f2e5495cc8cfL,0x00000000000001aeL },
  72012. { 0xeb8c8ac5a59d77bfL,0x63e588b77c3fc77aL,0xbeea43ed5d00f92dL,
  72013. 0x8dff885a80169336L,0x5c0cef670a35b365L,0x4c61a43ba705b9e9L,
  72014. 0xe95772c54a8c46f8L,0x0d81ff84829ff66bL,0x000000000000005dL } },
  72015. /* 50 << 273 */
  72016. { { 0x3dc4ad30a16aec5bL,0x9cf3022a8eb3ec7bL,0xd940cce316b6219fL,
  72017. 0x6324514378a15c73L,0xa70b4f69107ecdeaL,0x3ac7eb803b2bfeddL,
  72018. 0xee677c763137afceL,0x9686744c986c1392L,0x0000000000000115L },
  72019. { 0x9db83670d591110eL,0xfdc8ae98d29a560cL,0x0e27d3c0f840aed9L,
  72020. 0x98bce3eb7e127e30L,0x7c1bb6b9184ba73eL,0x410c3f4f986eb84aL,
  72021. 0x8c28448dac4caa8bL,0x2e3c82365a3618ccL,0x0000000000000101L } },
  72022. /* 51 << 273 */
  72023. { { 0xbf1dd991bb37b704L,0xb36ed5ae0cd09760L,0xd9750a8697aa7d3eL,
  72024. 0xd1a27c2cc8a95b0fL,0x399937693893c07cL,0xb85a62c28ba9319aL,
  72025. 0xc233630451b89005L,0x1c942e9fef7a20a2L,0x00000000000001c2L },
  72026. { 0x291509822572cb48L,0xe1ca81031d0b9df4L,0xfb70c750ba52c264L,
  72027. 0x4cf3fb966bd2e72dL,0x04b65b4daf9a2bcfL,0x56eaf0f7db2205e2L,
  72028. 0x5551b3333466cfadL,0x886b3275c55a1b10L,0x0000000000000139L } },
  72029. /* 52 << 273 */
  72030. { { 0xa976f5a2f8701332L,0x203dc2057771c835L,0xb1c541bde425fcc5L,
  72031. 0xbe9921205c2cb7eeL,0x300e2b0279278283L,0x24b80fbfc88d605bL,
  72032. 0xfd23544c3006aa2dL,0x1a212c5fd593c6d4L,0x0000000000000103L },
  72033. { 0xd9fe69f1ca88f548L,0xf2e065d1a37c6e22L,0x5804ff61e43ecc0bL,
  72034. 0x34abcb423becc85eL,0x7d223605fd8e1751L,0xa2a0ea503b76b819L,
  72035. 0x6c7b9dfe147f6beeL,0x8db65fbd3be2fcbdL,0x0000000000000178L } },
  72036. /* 53 << 273 */
  72037. { { 0x633d962c0c9fe7cdL,0x8fb7af4e05e74840L,0xb9cfda5ce5228fe1L,
  72038. 0xcacff0b65199eb36L,0xb9ac48c7b6155dc2L,0xd147c6d3300bab8cL,
  72039. 0x4f58e235a5034c42L,0x097078470291dcc9L,0x00000000000000edL },
  72040. { 0xacfde54d059836b0L,0xf755e402b6d8e2f6L,0x282c2d5581436e4dL,
  72041. 0x0a8eff54b3ba7338L,0x910d9a5dc0551151L,0xcb2a43a629e3a972L,
  72042. 0x49974730b85e35ecL,0xf79b7d5ccd5a58fbL,0x000000000000017dL } },
  72043. /* 54 << 273 */
  72044. { { 0x65d17a41539696a0L,0x57f8e852def0e88dL,0x8ef4f324c7739797L,
  72045. 0x532ceb30ab421668L,0x691ae9641db40e22L,0x19a80aabc518454eL,
  72046. 0x520e94d1338ad96fL,0x172bc7b6d28f8389L,0x00000000000001c1L },
  72047. { 0xbb52038d92e07ed9L,0x7ebce2feb5272282L,0x2cd12a6bfbf12724L,
  72048. 0xd1c0d0f017e36d0bL,0x46b0fc6ca1709284L,0x41f37ca9d0015640L,
  72049. 0xcc5dea20be174e7aL,0x2831510fbcca4571L,0x00000000000000eaL } },
  72050. /* 55 << 273 */
  72051. { { 0x488370b5e902f19eL,0x1fc4025b68b7a415L,0x27c316dbc935ac89L,
  72052. 0x2fb89fb00293079cL,0xe4c123f52ad9ad17L,0x7031724aeb3910deL,
  72053. 0x38223c12db0a05aaL,0x199b557bdce2bb89L,0x00000000000001efL },
  72054. { 0x49462b3bf467f0c4L,0x53d52ebfda88978cL,0xfe52b9ef3b5363f5L,
  72055. 0x64ed965fa8acbd66L,0x92e5b025750c6e88L,0x0f4841bfe5b28b0aL,
  72056. 0xd2a3d837e73509c1L,0xdf28934e0db0512bL,0x0000000000000078L } },
  72057. /* 56 << 273 */
  72058. { { 0xc466fd7b7514e752L,0xc0c9a0af8e1fd662L,0xd4b0ae397f3083fcL,
  72059. 0x9af1c21f24cb5771L,0x8c20329d469dcd1eL,0xb115fdd26579990dL,
  72060. 0xccd93d2a3160b749L,0x4aa17bb996f8fe36L,0x000000000000004eL },
  72061. { 0xea95c80a4118ebf1L,0x267ce3a6e78b533bL,0x54167eb7152ee4f3L,
  72062. 0xda581b52d6d5b4c9L,0x285ddaa44f9408c6L,0xa1e4d6dc1ff6c988L,
  72063. 0x9d1464077540a223L,0x127967a3f46c92d9L,0x00000000000000ffL } },
  72064. /* 57 << 273 */
  72065. { { 0xb39e35c824e3fbfdL,0xafef277235e6a7afL,0x25b3068748cd5a9bL,
  72066. 0x305cd07226cd12d2L,0xbe0af44b191d2eb4L,0xe0c88872b14a8482L,
  72067. 0xffa8362a895930d2L,0xe2da964817b31851L,0x00000000000001ebL },
  72068. { 0xc073c946625426d8L,0xd397726f62c66394L,0x3d1398374528c5faL,
  72069. 0xd8da5a25b3221944L,0xf50efb6b2635e15dL,0xf68306be42115851L,
  72070. 0xfc4919fa16837a4bL,0x5d4ab1f6b111cecdL,0x000000000000015cL } },
  72071. /* 58 << 273 */
  72072. { { 0x1fd61fd0b5286dd8L,0x237ed76f1b4f3393L,0x3e86a9a9d71eceffL,
  72073. 0xc8ab89b8e74180c8L,0x2402e229e2014494L,0x41893effc276af0bL,
  72074. 0x4b0c1a54eb97a632L,0x8d403e5aabdd0d62L,0x00000000000001d1L },
  72075. { 0x033c88e0e7df1bb5L,0xc4ff0974917b53cbL,0x6834e17dff5540f3L,
  72076. 0x333daed32024b7efL,0xd76d2d74e7919887L,0x16ad783eccf4d0d6L,
  72077. 0xe57b0eb14cd5587bL,0x9e52405b4c7e37b4L,0x00000000000001a3L } },
  72078. /* 59 << 273 */
  72079. { { 0x2233ca7fb47270f2L,0xae765c245a51e38aL,0x685a629043be58fdL,
  72080. 0x070f79e18346ee5fL,0x09dfa96060cc36f1L,0xba1b744a516ab0bbL,
  72081. 0xb99d4a5d2b2125afL,0xa88ef3ca45541791L,0x00000000000001d8L },
  72082. { 0xaa2d4980e27c4c50L,0x7bb1302b2a828c2eL,0x2b7f34c6e586f990L,
  72083. 0x182b69e2b22de340L,0x084ae47141494741L,0xff811bebdda7aa90L,
  72084. 0xb62bc87c0b45b4acL,0xc3971692251fa3a0L,0x00000000000001bcL } },
  72085. /* 60 << 273 */
  72086. { { 0x08c553f113562036L,0x11b803b8e4d93e33L,0xe7b3f20692fb7e89L,
  72087. 0xd8352288cd0cc8c2L,0x2bf9cd2faaea0945L,0x828bf1c71d16f78aL,
  72088. 0x9228c534afc79192L,0x1d7fc7f1c87becfeL,0x000000000000008bL },
  72089. { 0xbc9bc44354ed41f5L,0xfd759f9579a650b9L,0x951687f8bbe6ecb1L,
  72090. 0x396d94a79e55762cL,0x4e489097b787cfabL,0x522cc6c3111e72bfL,
  72091. 0xf494094c7a4d01d8L,0x2f0b8ed600666f1dL,0x00000000000000ddL } },
  72092. /* 61 << 273 */
  72093. { { 0xdaa376d3bf886d75L,0xda77b4e0c5fa164dL,0xc5fa99d7e140d0afL,
  72094. 0xc1298a7f239e4b91L,0x656278ea77b95e2aL,0xd4615db928c2dbf7L,
  72095. 0x679e343ab4fffdf4L,0xf454c81fb109106fL,0x0000000000000020L },
  72096. { 0xebb250e9d09e1320L,0xc1bacc99bc92b5b8L,0xd2bc9ce8c6fa578aL,
  72097. 0x4b5480d06d5411c2L,0x4a667abdbc01eef9L,0x2293ff502b5b5ae1L,
  72098. 0x064d795250578246L,0x4999b1244736e18dL,0x0000000000000056L } },
  72099. /* 62 << 273 */
  72100. { { 0xacabe0d649acab59L,0xf5c52f50022e503bL,0xc388decf5bc47f3eL,
  72101. 0x8d0cdcf14f1b89a5L,0xae32536823906d64L,0xc3ce9106967e20ebL,
  72102. 0xa820be6f821b2939L,0xa323b31a73d7b74cL,0x00000000000001eaL },
  72103. { 0x4a67d5f8ea7184dfL,0x34355eead1834b43L,0xdeb639e821ecfdc7L,
  72104. 0xfa16656adbc01369L,0xb8791490db78b8d2L,0x8433fb9c29d46e0dL,
  72105. 0x7327033b802bbe56L,0xcb2f72c7be24f129L,0x0000000000000091L } },
  72106. /* 63 << 273 */
  72107. { { 0x6d4e39d3ac1f4630L,0x1fa0065075a61ac6L,0xddc652c51817a6e0L,
  72108. 0x42b1966823e50264L,0x3e980ad593896122L,0x8a47a5191081f154L,
  72109. 0x6b4199134c2ffd1aL,0xcfb1914f16b21385L,0x000000000000004eL },
  72110. { 0xce79f49b2fc5c303L,0x9efee352e1d19a11L,0x7d084d1833b27ec6L,
  72111. 0xd078a4c3479ee85bL,0xc88a27f1983e02c4L,0xf7493d4c411e9106L,
  72112. 0xd13cca1d20cfca34L,0x80a39dc9c4f5a885L,0x00000000000000fcL } },
  72113. /* 64 << 273 */
  72114. { { 0xcca33db42a22b97fL,0x808d2e981942f8f7L,0xd972d1a737133c3cL,
  72115. 0xfe4b5f5f5ff8d7aaL,0x8bd08c189175512eL,0x67bad971bb95ce67L,
  72116. 0x885de1d49cf69b1bL,0x00d0ebbe54ba8e61L,0x0000000000000111L },
  72117. { 0x50aeec386c90b677L,0xc765c4753df368c1L,0x3865a7395d423382L,
  72118. 0x5f843adf7e55f0d3L,0xa8c20b65e6159793L,0xbc3d7a4f05c2f2b9L,
  72119. 0xb6663d297a052d8bL,0x50cdb83a65a7ea81L,0x000000000000017bL } },
  72120. /* 0 << 280 */
  72121. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  72122. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  72123. /* 1 << 280 */
  72124. { { 0x4c740ae10ac4cb66L,0xc8a66d9759c635ffL,0x328b65af2569dac8L,
  72125. 0xfdb6599b8838dbc9L,0x702473f87fd83c9fL,0x0d1f2ad8128683f6L,
  72126. 0x00ae5b505030b76bL,0xb1375d706d15b5edL,0x0000000000000159L },
  72127. { 0x7a772a901f1e1f7fL,0xa790dcb7c669aa61L,0xdad905aec5e4f185L,
  72128. 0x3bd91c29116ad6ceL,0xf87c96eac329d8a7L,0x399c929cb5b14581L,
  72129. 0x6fd2983c3a8253c0L,0x616a8b61da988b39L,0x0000000000000181L } },
  72130. /* 2 << 280 */
  72131. { { 0x0d6e6eedae0e245dL,0x5c37e80f26f68799L,0x575626142aeeb588L,
  72132. 0x9261cb14de82abc1L,0xa4b446f5ebeeb914L,0xe8b749efffb71dc9L,
  72133. 0x3e1382391fcf5e8eL,0xcbdc4c5315c8cfb4L,0x0000000000000185L },
  72134. { 0xe8acd37da80326b1L,0x4aa2d80f6ffc9ae9L,0x46da631fdb069e01L,
  72135. 0x1463768de7abe06bL,0x932e528dc3be779fL,0x756bc3de494fd10dL,
  72136. 0x4a181a650b0c9870L,0x0ceae429ae34b70bL,0x00000000000000aeL } },
  72137. /* 3 << 280 */
  72138. { { 0x3a070e58524bc705L,0x86404f01fbd0358fL,0x88456d7874567144L,
  72139. 0x91aabc494cb2bf46L,0x829df4fdb1e29372L,0xf177ce20230cf9f5L,
  72140. 0x404eca037a3d29caL,0x6d9b609a231007dfL,0x0000000000000159L },
  72141. { 0x7ff3369eb1bf4593L,0x94ff624f5e4049a7L,0x5b7ef74134194bc1L,
  72142. 0xf4bac202131b06f0L,0x70a46357b7549633L,0x0b293380761ae1bbL,
  72143. 0xb2d9c64d974c1977L,0xe27e23b400e7751aL,0x00000000000001dcL } },
  72144. /* 4 << 280 */
  72145. { { 0xe15ef16cfaadef15L,0x0f2927a1babe010bL,0x252539dbcefdeda3L,
  72146. 0x1e8ff8c4a98613a8L,0xec7026d9f76d425fL,0x507c1214ac386095L,
  72147. 0xfba6c762c8024ee0L,0x1088460c3f4dd18eL,0x00000000000001b0L },
  72148. { 0x6ccf1452202080cbL,0x33b934d5b645d8e0L,0xebd4d772c0fd54b2L,
  72149. 0x62a8045e207e1dfeL,0x9e5d3b88601b9f43L,0xc8f7e47d77e357fbL,
  72150. 0x1c8764778ec21437L,0xc08c5a27069dd1c9L,0x000000000000005cL } },
  72151. /* 5 << 280 */
  72152. { { 0x8b7bad84aa505f62L,0x8052b3cbecbd5f9eL,0x0e985e1ab3660a2bL,
  72153. 0xc17e62d3a69bdfaaL,0x9bb1033189b5e1e8L,0xc572485a6b55d39aL,
  72154. 0xc322f39adf1f6747L,0x88881e7fc81cb6fdL,0x00000000000000d9L },
  72155. { 0x31d3f8493310a660L,0xdd188984fdc9db36L,0x89a0af2c3c61b203L,
  72156. 0x508fae9c8e454871L,0x2ebd3d7a69879c4fL,0x5ac4c93d83e6e3f8L,
  72157. 0x71744332c59f4c51L,0x0322f749ad204b19L,0x0000000000000057L } },
  72158. /* 6 << 280 */
  72159. { { 0xd445e8962dac6a90L,0x6904dd238a6d208cL,0x83adfbbf4e016973L,
  72160. 0x91630953a384d374L,0xcd5e353435cac47eL,0xcec42d1088bc5e3aL,
  72161. 0x13d0e8aa5141de2dL,0x3bbd85d1be1d414aL,0x0000000000000105L },
  72162. { 0x2b200480b911ac9aL,0x0c681a4332bd4596L,0x68e2718368edeb24L,
  72163. 0xf8a34ce78950ff7bL,0xa58265b03afb03e3L,0xd0d866606bc58ad1L,
  72164. 0xf9542bba3303c185L,0x13afe747cc393e4bL,0x000000000000005bL } },
  72165. /* 7 << 280 */
  72166. { { 0x6871a6e155b6f895L,0xb935913e9d7e2730L,0xfe1eebb1a9ac21a4L,
  72167. 0xfdab879429c16938L,0xeb9afe9adeeb21b9L,0x967a2fb2797f546dL,
  72168. 0x2fe2023bb9cf34cbL,0x9272977ee049697bL,0x00000000000000caL },
  72169. { 0x348928ef50b4a316L,0x115e58ece32c9a4fL,0x6d858be4e3a235ffL,
  72170. 0x7464d70472b943b7L,0x6e785131e862030bL,0x4060a8c7b8a27819L,
  72171. 0x831b7288d3e4f0d6L,0x81c21f75b36c3f8bL,0x0000000000000004L } },
  72172. /* 8 << 280 */
  72173. { { 0x640c489c80744c7bL,0x76c2615a09c3bd56L,0x0a0a64544b2e41b9L,
  72174. 0x1f67ea463635acddL,0x7a93c39af36dc54cL,0x4efd6c2f386cdcccL,
  72175. 0x789ffbcd8dd41a02L,0xb718d8187068e710L,0x0000000000000002L },
  72176. { 0x463b2b5d8e3ed0fcL,0xef348838c77bcb34L,0xf3cd1bbd8e9bf495L,
  72177. 0xc275c5432a4ec1faL,0xe606d611cc394e16L,0x45c1e7c61a56a93cL,
  72178. 0x828c42db1f6707b2L,0x59ff294843754051L,0x0000000000000100L } },
  72179. /* 9 << 280 */
  72180. { { 0x23ac84cd9e107222L,0x011f6752130abb36L,0x83d1979f5931a184L,
  72181. 0x87880be04349bee2L,0x785209566b06ebe2L,0xa12c6e2f5c02eecfL,
  72182. 0xcfb3b87d2c027b98L,0xe399b69f59d49343L,0x00000000000000dfL },
  72183. { 0x73f60492f763472aL,0xd0630d7aa32c8e02L,0x64fda2740b7eb763L,
  72184. 0xd2ebdd95c0295433L,0xd3bf0c58f8650b05L,0xc0c0a4abdf491d11L,
  72185. 0xfdd83464bec2efd6L,0x42dbbf3363fec348L,0x00000000000001e4L } },
  72186. /* 10 << 280 */
  72187. { { 0xeaefe760e7307475L,0x660015223de4536aL,0xc0c1396d45928311L,
  72188. 0xb972d84029ea65fcL,0xcbf018ad83c0faa0L,0x0ce90359f5116096L,
  72189. 0x33a6e9c82c9e2cdbL,0x1e61a90c5f1aa2abL,0x000000000000001eL },
  72190. { 0xcddf71f961709e18L,0xae43057240f72033L,0xde53f951b1b7d4a2L,
  72191. 0x409f0a90cc853277L,0x341fa0c03789a7e2L,0x9cb4a809daf6b61dL,
  72192. 0x3b42585df7bd34f3L,0x7a624ac415d77b4cL,0x0000000000000078L } },
  72193. /* 11 << 280 */
  72194. { { 0x02e9c325f196b6a1L,0xcfc01de1b0374324L,0x289b25be0121a620L,
  72195. 0xec188af9f09b541fL,0xac954bc5fcb86a52L,0xd883b21f87a757b9L,
  72196. 0x1194e3a12741cd24L,0x3d1914b61e3ef5eaL,0x00000000000001fbL },
  72197. { 0xb13ea4836bfd085dL,0x6e20b8d504a5dcd1L,0xcf5fba257f7af4feL,
  72198. 0x58625751914d9c51L,0x1005bcc9eb304193L,0x7b54ef23579943f8L,
  72199. 0x50ead06cc7d1c9baL,0xcd9877673664cf97L,0x000000000000010aL } },
  72200. /* 12 << 280 */
  72201. { { 0xe78a2eefd978be2cL,0x1958503c388b0164L,0x63a5d6fb3d35eaf6L,
  72202. 0xff6e50d5dbfb3304L,0x4b9c89e3931e2555L,0x93d6c6e9e2a419d2L,
  72203. 0xb2b26a9296f11b80L,0x1ba661c44c413fb3L,0x00000000000001feL },
  72204. { 0xea30821624fc3599L,0x83000d9ae1823a76L,0xb614483695d2aac8L,
  72205. 0x661640c0996c6b75L,0x5212a79fa7b4f33eL,0x40c6bfde5a2fbee7L,
  72206. 0x8ce6e88e86ce3a36L,0x4a9b0c5eccb757a9L,0x000000000000010bL } },
  72207. /* 13 << 280 */
  72208. { { 0xc8b31578e40e993dL,0xdd419459041d243fL,0x0c47e4492fbaf7c6L,
  72209. 0x10b731c47d71b295L,0x41dca681f36a08c0L,0xec3582403d924e38L,
  72210. 0x891991a88593f600L,0x8d684b374a984c9eL,0x0000000000000109L },
  72211. { 0x44787399a8a706dcL,0x307e57cb53caa9baL,0xea0ad37576a3276eL,
  72212. 0xb1b79db12e025195L,0x96703f51aa828a3fL,0x174f1c27536e5266L,
  72213. 0xc2d7da86fba650e5L,0xe69208051bed53a0L,0x000000000000010fL } },
  72214. /* 14 << 280 */
  72215. { { 0x6076eba5d73f6d54L,0x2dc200db4826039bL,0x683c59a00761fbffL,
  72216. 0x525681dffaeb001eL,0x84175769d29ce601L,0xb5301cfc04112e5eL,
  72217. 0xa242021d3aed1274L,0xc2f154ceb3cf3089L,0x000000000000005fL },
  72218. { 0xc754a9e65799204cL,0x186ec103d6251a86L,0xaa3bc7933f06cc52L,
  72219. 0x2512fb5391c10e49L,0xe63f08c7df01b044L,0x4138d8974a7a5bc2L,
  72220. 0xd23a1be79258b0e3L,0xddb136202bb7743bL,0x00000000000000c5L } },
  72221. /* 15 << 280 */
  72222. { { 0x409beff853938400L,0x3593e4f9c460d38bL,0x6d0b5d57f0673911L,
  72223. 0x22c8dcaec72c6491L,0xe6e263f173e0ea62L,0x14c1e16512ece129L,
  72224. 0x45b34f069a474ff0L,0x36c07c4fb96851d9L,0x00000000000001fcL },
  72225. { 0x250b8e258259bf92L,0xfb6826a6866e22feL,0x1d0fb6d935566f47L,
  72226. 0x6381018504537faaL,0xf8f10b30f1d6bcdcL,0x6ce068c4abbf20c8L,
  72227. 0x3ceaa8c944fcf678L,0x44c0ee4daa121e6bL,0x000000000000012cL } },
  72228. /* 16 << 280 */
  72229. { { 0x3878c70adf5ee186L,0x62f4f54a6fffef9fL,0x0a7664c380400fa0L,
  72230. 0x99be58c2d0ea21b9L,0xfa70b9ade311aa6dL,0xafadd452abf43a4dL,
  72231. 0xe6291c610f7b5de5L,0x388a421578d61e62L,0x0000000000000024L },
  72232. { 0xf188f980ee1bcdafL,0x9ccc1a6bc991f497L,0x6f733d1221ec6f5dL,
  72233. 0x59ce56b9da9f5bdbL,0xe03a9a1f40e88d50L,0xa5e60328c0190a2aL,
  72234. 0x382bdbe69ff9d482L,0x26895085bb792de6L,0x0000000000000013L } },
  72235. /* 17 << 280 */
  72236. { { 0xb62405a5676a3e6fL,0x5ef780579ac1ab5eL,0x4aba44936c1169c3L,
  72237. 0x0e3dce11827d4ae9L,0x2d8bffba23687976L,0x9fc0f8a871502c8fL,
  72238. 0x7bddcff7be7d4d2cL,0x00784e850b6a00acL,0x0000000000000163L },
  72239. { 0x54fa77ad66a2abbaL,0x14fc08c88a96575dL,0xf1b50adef2dd1b8eL,
  72240. 0xeecd2a0f774ea727L,0x6cc9ccbcf14625cdL,0x8800d8a0ba597acfL,
  72241. 0x52ee2b93f9dec864L,0x5da5fb84e642a27dL,0x0000000000000056L } },
  72242. /* 18 << 280 */
  72243. { { 0xcd861ffbe4649d6fL,0x2ed9b50d8dd76900L,0x5e5cff5dcc6dd1f1L,
  72244. 0x2f649d9fe440c31aL,0x1b6cab30e1b50625L,0x0280ffb2fedf3d27L,
  72245. 0x41fea755cdd53867L,0xda1c31ff4b6b3458L,0x000000000000009aL },
  72246. { 0x504a5a4a1c5bfa1eL,0x3b16eff4cb6c1131L,0x42ae4011ae721056L,
  72247. 0xadcb0a5c2f4db3ccL,0xe9f89fbe43d4383fL,0x243f76cc28188da6L,
  72248. 0x836268eb0f53be46L,0x2fa1ca1b386264f4L,0x00000000000000e8L } },
  72249. /* 19 << 280 */
  72250. { { 0xdf5b66aab830b085L,0x2f6cdf43b7a797cbL,0x0101d0724241a303L,
  72251. 0x0a16ad64a6623b9eL,0xcdbd54b3a9f4c582L,0xc97a95567ee209feL,
  72252. 0xac166a4f72e05927L,0x944328443d9fa567L,0x0000000000000073L },
  72253. { 0xa051a3107a366e15L,0xfd0e5a53c6bf5c08L,0xa240cf6d978ada91L,
  72254. 0xe8ad78c9349ea3b3L,0x9494acb015573256L,0x2bdfd51e391180d4L,
  72255. 0x911ad26d30e11852L,0x066206b1c0d32653L,0x0000000000000173L } },
  72256. /* 20 << 280 */
  72257. { { 0x682b6f1d6f37fe71L,0x3754800ccadcbcd8L,0x12367b4b70b949f5L,
  72258. 0xa470950748bd0160L,0xf46eb3dba321a86bL,0x9ea717597b65a082L,
  72259. 0x49607c639e80e35eL,0xcae1103f0ed3f9afL,0x0000000000000110L },
  72260. { 0xfecfb034c97c9712L,0x46794ae3487685c8L,0xd801e8d1d123a90bL,
  72261. 0x6ee2529e5b0b89caL,0x2b3b7f4cf650661aL,0x23257437dbf31d1eL,
  72262. 0x6d2e599d2f61e4b7L,0x4853ca0956a975a9L,0x000000000000013eL } },
  72263. /* 21 << 280 */
  72264. { { 0x4641c185951032bdL,0xb4a82d1ed654967bL,0x4f60abfaebe0534aL,
  72265. 0xd8d59a71563969dfL,0x69a8365d897b93d0L,0x34dcbce7a3ddcad6L,
  72266. 0xb4798d7484801108L,0x1ef48f2b9509858bL,0x0000000000000186L },
  72267. { 0x8f01ec3308d02285L,0x8f361eccfa7f5f30L,0x03d8d9aa173946f2L,
  72268. 0x2ee8b5750e55fbc9L,0xf3d5ab9b804c4aa0L,0x928acfc13fb93feeL,
  72269. 0xb60fb73a1f387d73L,0x4f0a74e1fabfa19dL,0x00000000000001aaL } },
  72270. /* 22 << 280 */
  72271. { { 0xdd033085ffc38940L,0xbdf00b79e0cbd312L,0xe027364751bfe81bL,
  72272. 0xc9dd4f9d4889fd94L,0x307b0e6e06260888L,0x1cc21a4c57fc3aa6L,
  72273. 0x80015db80375ec4fL,0xd8cd58e27ec6ce20L,0x000000000000017cL },
  72274. { 0x46ba9532bf2925beL,0x948247d693eaa62aL,0x7dd8c538b71fae69L,
  72275. 0xc90496865561d353L,0xdcbb708b427cf50aL,0xa367d55f861bc80eL,
  72276. 0xf46ec4634a8f28ddL,0x3481474dcbce8110L,0x00000000000001acL } },
  72277. /* 23 << 280 */
  72278. { { 0x254c69ed55155f2cL,0xe14b1c5db7d2603eL,0x2dffb214ba8bd917L,
  72279. 0xcddb7eb590dff8acL,0x66e23246426e1109L,0xcaa97ba1cdf4a95bL,
  72280. 0x56522b0177be0ef6L,0xa81706f55d3f77d4L,0x0000000000000011L },
  72281. { 0xd4b76f04639ff0cdL,0x15091830d19f7652L,0x64d3e1589351196cL,
  72282. 0x63b04349370e92f9L,0xf247c96d68ca3652L,0xfda88c1295b0a39cL,
  72283. 0x09ec4902691b35f7L,0xf1e93e7656a345a6L,0x0000000000000195L } },
  72284. /* 24 << 280 */
  72285. { { 0x1c1293a1f9640d38L,0xc24e8f93b6709da3L,0x5d9b87cb8cbfeeaaL,
  72286. 0xab49ee81b0fd1d5fL,0x09cba9064c63b1b5L,0x379febb06f867688L,
  72287. 0x2061b6eec99ba636L,0x966f2eaf51159b58L,0x00000000000000b0L },
  72288. { 0x4a130277873b42abL,0xacd92f6c1c8ab9b2L,0x117dcc6ba66d3168L,
  72289. 0x70362ec85dae335fL,0x1f13ef5eea5f8570L,0x8268cf14a075c01dL,
  72290. 0x2f8431fad2b71b7fL,0xfff9c7d1382b4939L,0x0000000000000046L } },
  72291. /* 25 << 280 */
  72292. { { 0xed53320a5467b695L,0x95777379d81bc3c6L,0x1f53f221165800f8L,
  72293. 0x5a3a36ac90c1143eL,0xf319be6f7a9ab721L,0xb6d3e1158c4ed728L,
  72294. 0x6a9e9dccfaceb5d7L,0xa8abd38370e27532L,0x0000000000000080L },
  72295. { 0x28f0cede226f9ad0L,0x8a96ae65e9efd27fL,0x4fe7eb7fef2564a2L,
  72296. 0xdea5e9aaedd96a1aL,0x818a8f76469bfc52L,0x0e8eab80c7f687f6L,
  72297. 0xebe81c5d4198b48fL,0xdd7e25c68d9d05f8L,0x0000000000000144L } },
  72298. /* 26 << 280 */
  72299. { { 0x5cfa7cbf1f54bc21L,0xd37a2401c5bf8ac1L,0xd6e4aa9fe1b4948cL,
  72300. 0xc0af78bb87876571L,0xd5f38c4a9435c756L,0xdeaf4d5d196d5a67L,
  72301. 0x847999d3665b16adL,0x55e422ab944e41cdL,0x000000000000011aL },
  72302. { 0x1c73a7be1f893849L,0x98773cab9b84e408L,0x5e6a4e145ed1c89dL,
  72303. 0xe78d1b90716a5325L,0x1513fe4a577ed006L,0x7b8cfbaa90824caaL,
  72304. 0x663d3fa73c2a2886L,0xc9d7e9608eb5b6b7L,0x0000000000000167L } },
  72305. /* 27 << 280 */
  72306. { { 0x7804ab0cd5dd017cL,0x2ee33f77c259ae7cL,0xbc379b5e1987fb05L,
  72307. 0x472603f311e07d17L,0xfde157912168f043L,0x474bbd4c5d357133L,
  72308. 0x278fdbb181d0f190L,0x44d8a1465f7a199cL,0x0000000000000090L },
  72309. { 0x7cf6a404bbd57b48L,0x19a5cb69db6852eeL,0x6f08b1da1b26de4bL,
  72310. 0x04262f2a58360fe7L,0x287dbfd73bf7c760L,0xddcf22856e702e73L,
  72311. 0xe4f8a899fe86dc89L,0xee9807e0c06c6e6fL,0x0000000000000118L } },
  72312. /* 28 << 280 */
  72313. { { 0x0a59179b025c0e2fL,0x43088758ddb8e4e4L,0x9ccb5d9baf9e3d51L,
  72314. 0x5b220d64f6cc6fe2L,0x43a38530f69d1a66L,0xcf4dace9fdc5b0f2L,
  72315. 0xf1bba4e1418ba2bbL,0x70e502e9d82fb27eL,0x00000000000000ccL },
  72316. { 0xb4fb372ba990ec9fL,0xc1c31603c5fa0250L,0x79b46f6cecbe934bL,
  72317. 0xad2fc8f7b28f7d50L,0x240f4901b4d4e6d9L,0x11c72be533c59d92L,
  72318. 0x16cb9bc5c94ffb67L,0x8517fa2b2e957b97L,0x00000000000001e0L } },
  72319. /* 29 << 280 */
  72320. { { 0x8672f8c178c2fae1L,0xce853dc0b390e692L,0x50cf0558fc7389d6L,
  72321. 0x0eb7599014218bbbL,0x8942e82713a837c8L,0x07fb92d0213f6565L,
  72322. 0xc3e799a7db1d4bafL,0x93ef2dbe0d7238aeL,0x0000000000000087L },
  72323. { 0x7e1c949a4d6f61edL,0x0951d2409855b4b2L,0xe99da0df0768f131L,
  72324. 0x3a9895ca40b9263bL,0xeec3111e988e877cL,0xb887eeb1392e2a50L,
  72325. 0xd26c888f3ae6a3edL,0x60db343170b42b56L,0x000000000000001cL } },
  72326. /* 30 << 280 */
  72327. { { 0xd6d025d839e224e4L,0xea671ba973ee2abdL,0xf71e527f0b2458ebL,
  72328. 0x97adc0a443f0bb0dL,0x39d5e7b826a9a537L,0x02ee550a7e29adfcL,
  72329. 0xd7fea1b5e6433c20L,0x6777e7f94b13721aL,0x0000000000000126L },
  72330. { 0x4682b1468c2c454dL,0xd6e496150d5c34dbL,0xe84ad426a9213f48L,
  72331. 0x9143f004be2e5e10L,0xeb48a5a485f087d1L,0x10d141c784d2ceecL,
  72332. 0xc96c7d6673ca411dL,0x28aa426c59faea28L,0x0000000000000144L } },
  72333. /* 31 << 280 */
  72334. { { 0xbb86295ab95fe143L,0x7a0778a004aa86f0L,0x72402bb054f3df03L,
  72335. 0x5d2146943f81659bL,0x19aaa8e646689638L,0x8de0ef98937688a2L,
  72336. 0xda612f96d910473cL,0xb0b8a1120a41c825L,0x00000000000001b9L },
  72337. { 0xd8d116daef118dcfL,0x4e24efd829a90bebL,0x3bc302db0e413b54L,
  72338. 0xa0e984fd1a8c9f3eL,0x7b485798206268a1L,0x52a1f4523d769ab3L,
  72339. 0x7bcb688e6853067bL,0x6b7f3335e784e934L,0x00000000000001e2L } },
  72340. /* 32 << 280 */
  72341. { { 0xba3a04f75f8fa47eL,0xb9c44aa1833dfb7cL,0xe4f3a4a6af4ea679L,
  72342. 0x02b4bc288240ae75L,0x390076ae282412ecL,0x74e5bd6406709592L,
  72343. 0xb87b1a57dbad0025L,0x71e0c6f732123b04L,0x000000000000016cL },
  72344. { 0x266b71d5e4ffc2c8L,0xb061cb88a73f6fdfL,0xbca068cd75b93ff4L,
  72345. 0x4552d43b97712a14L,0x1035134c5b941ba7L,0xc14623abf31b6915L,
  72346. 0xdfdd91c4aa972a0dL,0x54e8e7e0e17b9ad3L,0x000000000000008dL } },
  72347. /* 33 << 280 */
  72348. { { 0x664d379c66087692L,0xe4cfe5932b4cc0e5L,0xa293eb7c765981c8L,
  72349. 0xa366a8be9ac9be69L,0x18a8fabdca5c9348L,0xa3d94fcda2a2c5e9L,
  72350. 0xd6d42b142c19d210L,0x90c8d32950ebedf6L,0x0000000000000077L },
  72351. { 0x4b232a133ea6cce2L,0x9709a4f5efe51889L,0x6641e274e233ec8fL,
  72352. 0x68744e54abf46598L,0x8c12e8da847eb365L,0x31c4a313be0dc8beL,
  72353. 0x88503ca97bce4bd9L,0x98356a4724bf7fdaL,0x0000000000000058L } },
  72354. /* 34 << 280 */
  72355. { { 0xdd5dfc11a0dad11eL,0x6af8128d95bbbc01L,0x2a09533d2ba204d8L,
  72356. 0xf656433c14308665L,0xfb9b0752873ddf2aL,0x462baf84bff789b4L,
  72357. 0x4119391c36f8d363L,0x24a0d61bc83d0643L,0x0000000000000128L },
  72358. { 0xa811558a81d32679L,0x73ebefc16d51d480L,0x52e334d76723ca36L,
  72359. 0xe102931c3bc64e40L,0xe0fc619a226f57ebL,0xc6533d88d5a49296L,
  72360. 0x8a96610b856dc0b3L,0x7fc05cda95a3bcb8L,0x0000000000000128L } },
  72361. /* 35 << 280 */
  72362. { { 0xbdbe8a3a30b14db2L,0x7e4bc20c9a8247cbL,0xa620bdf811e536d0L,
  72363. 0xe972971a67a49b87L,0xa10d8379f31c11efL,0x8908fe100b816ab1L,
  72364. 0xe44858845c7db701L,0xacb4e91129807371L,0x0000000000000028L },
  72365. { 0xdb757df6497c4dc0L,0xad84afa0fd068916L,0xb98bb9c9c0ed25c9L,
  72366. 0x9af8511a42c7c5feL,0x853e412f8549f45aL,0xe5fcb0b400cdd781L,
  72367. 0xdda7fef0653d6e1bL,0x3340956d20aa3f18L,0x000000000000018bL } },
  72368. /* 36 << 280 */
  72369. { { 0x3751cc30569b8171L,0x0a5f50721195ceb6L,0x67a550c5aed5f6f7L,
  72370. 0x9fa0ca1a467c1996L,0x342155f04c5cc05bL,0xa8fd7a3b1265b643L,
  72371. 0xa105382b94eba9ddL,0xd2dc6762655a3ed5L,0x00000000000000c7L },
  72372. { 0x2913e45239c2dcc4L,0x81fa35062758d09cL,0x7df16b9411840bb6L,
  72373. 0x0d96f28f04eeade0L,0xf5ab6c8c883daf5aL,0xa53d625e24e9795aL,
  72374. 0x14158b332a711c2eL,0xd5ce7e2a97ad3f03L,0x000000000000010cL } },
  72375. /* 37 << 280 */
  72376. { { 0x9871dafee3cd99cbL,0xca11ffb2f9d1422bL,0x0cbec630ffe7633cL,
  72377. 0x095207519701f5fbL,0xe7cdf5f0b714a25bL,0x54b44266e17aa21aL,
  72378. 0xc53a84760ef13940L,0x9e8c18f56acbd9dfL,0x0000000000000057L },
  72379. { 0xabd27e097605396aL,0x731f83a012ea5abaL,0xb6a23513f28d07f9L,
  72380. 0xbba530fa2ea3b230L,0x38f79ffe89abfb21L,0x2767e58ab7dce472L,
  72381. 0x7eb867f9c16bd8b5L,0xeab0414eb76ce0c7L,0x000000000000009bL } },
  72382. /* 38 << 280 */
  72383. { { 0xe100e0eec1c91709L,0xa73bbf8c56238cdfL,0xe8b191e09196fb53L,
  72384. 0x0c54c7820203b3d5L,0x914cd8154ad45f0cL,0xf488ed49b504e7ebL,
  72385. 0x91983a3b525a0122L,0x7a9db32607a6bc76L,0x00000000000000fdL },
  72386. { 0x9e5874870b0b0ef1L,0x0c5df87d4deca852L,0xa671e125fcfb2b5bL,
  72387. 0x4c0dc9d789fb90a9L,0x8bc6b9a1b47b79f0L,0x5ed3c685bcc0d53bL,
  72388. 0x107f5ef1ec8aaab6L,0x5f93971f98ffcd41L,0x00000000000001e2L } },
  72389. /* 39 << 280 */
  72390. { { 0x81d5acf81e69cfcfL,0x5786ae3471bda15cL,0xc3e9c790d4ba8896L,
  72391. 0x78415f43b320fab2L,0x5407bb1189d23809L,0x6b5d5e41d3007de8L,
  72392. 0x1f686d5c39797363L,0x0be555c28d9004c2L,0x00000000000001ebL },
  72393. { 0x8eb5c5bf91addc9dL,0xe8b81cffe200f350L,0xca3b953d44b42146L,
  72394. 0x6ba06ea9ecc482e4L,0xa6a70a446e4d1a38L,0x3210ff44eff587e8L,
  72395. 0x9ad9ba8e1d8a7cf6L,0x813c4d94c77bf97eL,0x00000000000001f3L } },
  72396. /* 40 << 280 */
  72397. { { 0xe31effa2306c1354L,0xb5e2c13d85925368L,0xb1f2607f35ef339dL,
  72398. 0xb06e916138e6170eL,0x4e6644b8f3f3e31bL,0xda16e937e3e59db4L,
  72399. 0xc66e7dbf6accfe20L,0x31622dae364dc59aL,0x0000000000000187L },
  72400. { 0xc9d619cbc2b0bd83L,0xfe780349cf4a8cacL,0x8109dbb48b3d6584L,
  72401. 0x55e1a93c943709d9L,0x651c52d321ed38d8L,0x87ca86938ef82c60L,
  72402. 0x6ba45f8f4280d960L,0xe903e26b7e505800L,0x00000000000000a4L } },
  72403. /* 41 << 280 */
  72404. { { 0xbeaefb738d027004L,0xb93ae273b643fdf8L,0x171130c78b054ce8L,
  72405. 0x03e50d97fa4348b9L,0x1e136c40bcd5a01cL,0x4c3c0b3320e072eaL,
  72406. 0x5b07b9f5fb37369aL,0xc306209f6aae7067L,0x0000000000000096L },
  72407. { 0x28f228fdd8133dd9L,0x5e97b819ed9f4989L,0x0511850fa8e2e90eL,
  72408. 0xfba9dac8a577a370L,0xd8f8a690e9748a8aL,0xc4061391c30a3f0bL,
  72409. 0x22a676e042f585a6L,0x252bd6609c5f7211L,0x00000000000001b0L } },
  72410. /* 42 << 280 */
  72411. { { 0xd9e89ab1b2261b5aL,0x896f863c0bccf5d5L,0x09ba590aa5b7eb39L,
  72412. 0xc8f52dfb0fa4086dL,0x3f236dfd1075176bL,0x0e0cc891296f969aL,
  72413. 0xdfc18d50a2313921L,0x8494f9a73ef48a34L,0x0000000000000084L },
  72414. { 0xd57a2f227f5e334cL,0x69d7c5b7ded57c18L,0xcdb18f19b1ccf76cL,
  72415. 0xeaec2b7c33021735L,0x41b62e1affce6cf5L,0x12282e773aad7e4cL,
  72416. 0xf9c2216e9db6619cL,0x5f1678eaf32e4661L,0x0000000000000079L } },
  72417. /* 43 << 280 */
  72418. { { 0x3806aa79ed2215aaL,0x77b2b474fda96f56L,0x4957726aacc33f60L,
  72419. 0x3aeede639dcb6de3L,0x7c5a4b2dd1f46307L,0x03638122d27dc35dL,
  72420. 0x5c8c687cad802f35L,0xfb84505dcb2b917fL,0x0000000000000089L },
  72421. { 0x86ad4d10d3241367L,0xa5bbbe2804283e3fL,0xae8a8a156cf1b159L,
  72422. 0x8b30bb7f97d37100L,0x302e14e45dc590ceL,0xe3aa0b5dcdd1751aL,
  72423. 0xb2d7de843c7c9c0bL,0x9693fc8121ea3e9bL,0x00000000000000baL } },
  72424. /* 44 << 280 */
  72425. { { 0x30e7e4bda557a890L,0xb6a8ecf96b5cdb6fL,0xbec5ed5023b68ea9L,
  72426. 0xc359d11f3fe99380L,0x84e9e7d83bd97138L,0xa58c8a9a3a5815eeL,
  72427. 0x759839a47c240941L,0xb652633099670993L,0x0000000000000144L },
  72428. { 0xe3f92bef6bfae59dL,0x6eb6a3ef34c6f089L,0xb35ddc7862aa2a94L,
  72429. 0x2495301b6c27da9eL,0xea719a48d8d23941L,0xf0be43ad79c61b1bL,
  72430. 0xbafb76e1a27c859aL,0x9d2f814c97f29bb0L,0x00000000000001f7L } },
  72431. /* 45 << 280 */
  72432. { { 0xe3d9794863bfeecbL,0x787b7b93c4e33b5dL,0xd193545380e717c7L,
  72433. 0x80f09edff51d7ee8L,0x5ece8dec2cb8e492L,0x1c2e49aeb0fbdd75L,
  72434. 0x555ffd0c62ca40e8L,0xb087f09cc34239e1L,0x000000000000011fL },
  72435. { 0x058e0296c7e17929L,0xc37bb9507cabdf29L,0x3f760103337ba5a9L,
  72436. 0xb04c49872eebc4d3L,0x06ed604d12273246L,0xb2b6a2ac48a00bdfL,
  72437. 0x7b9eee4ef1e6f9caL,0x2bd8117abfcb3b3dL,0x000000000000003cL } },
  72438. /* 46 << 280 */
  72439. { { 0x9f03aa3fbadc0444L,0xd4646ae421350843L,0x9d669c31ae89c5cfL,
  72440. 0x28f2dcfa88476683L,0x1a27c9a49927c5d4L,0x05f0d014342307c4L,
  72441. 0x74a305b664bcee6dL,0xf2d3fa9c6b8102a1L,0x000000000000004cL },
  72442. { 0xb2801ee8e8313032L,0x484d7fc270c2bf31L,0xb1e823146bcb4da5L,
  72443. 0x01c6855cf5dbd4bdL,0x59bc8152d21f4295L,0x452be6974095767fL,
  72444. 0xd1557ede45d79429L,0xec32dcc2afb02a09L,0x0000000000000173L } },
  72445. /* 47 << 280 */
  72446. { { 0x196940e45ba5d05dL,0x6576d0f4bbc541ecL,0xe5e984bd3a91a1daL,
  72447. 0xbc63c9eaf3498971L,0x89135ed31f03c14dL,0x44fe60e13379f59eL,
  72448. 0x28a5a0b752e302bfL,0x14d350309b2c7e38L,0x0000000000000073L },
  72449. { 0x1c34012525832327L,0x88c1ebb85e862352L,0x5e82c2f646d29a75L,
  72450. 0x98aa3bf4b5f97690L,0x17a8b7d4fbcc02caL,0x8190772afcc8f81bL,
  72451. 0xee79fec1e5a4dc65L,0x62c89b093fe96241L,0x0000000000000166L } },
  72452. /* 48 << 280 */
  72453. { { 0x521cb4e322b7448bL,0xb51bca884c726beaL,0x9391bdea39c312eeL,
  72454. 0xf9128ef72c8b9a0aL,0x988f9f78a8e51d04L,0xdd44418f96c8257eL,
  72455. 0x3688fb242d7f2f00L,0x2f92e5ff1b1fdd4cL,0x00000000000000e3L },
  72456. { 0xba865459e98c49f5L,0x3545cf759dfe9dd3L,0xeb3ef7ffce823a85L,
  72457. 0x39bc813a9b39a2a8L,0xb753463592a11c12L,0xb16a5bd61ee6d123L,
  72458. 0x3192e6dd82fef180L,0xebfb81b4287687c4L,0x000000000000008fL } },
  72459. /* 49 << 280 */
  72460. { { 0x41889a308e521628L,0x353bbe7cd54a23f0L,0x6e30dc47b96e2ee6L,
  72461. 0x957c31e030bf9a04L,0xe87fac6e880b0a80L,0xe7f5c5c603c6d936L,
  72462. 0x2b605a09abd24985L,0x24da8804c0227c2bL,0x000000000000009bL },
  72463. { 0xbe44195151deea0cL,0x1d27a5349a94a2b3L,0xe89bd706906fd00bL,
  72464. 0xbe0e3af4b48a3888L,0x462540f9ba0f807fL,0x5698134e4480f7e0L,
  72465. 0xefbf0694f9470f38L,0x622aa439f2147a77L,0x00000000000000eeL } },
  72466. /* 50 << 280 */
  72467. { { 0x3d0eff5a9e14a157L,0x17b32d7a1e610aebL,0xd7d7e6da192e4c2cL,
  72468. 0x9fe47524bafe7a78L,0xffde6e808f0f59d8L,0xfa5b05067f07595fL,
  72469. 0x727527ab0c4ca54aL,0x3125b812f2ff633cL,0x00000000000001c5L },
  72470. { 0x9949eb375ebf3165L,0x6b3b1ca23d969575L,0xbdc906e777691f06L,
  72471. 0x5c7fb79048e77747L,0xe14e6e1461b6e449L,0x168745a6ae1ca8c2L,
  72472. 0xb1a8c53a10d7485eL,0xafba1519b3f97687L,0x0000000000000012L } },
  72473. /* 51 << 280 */
  72474. { { 0x1954666c0c70fb24L,0x82266d143f951a55L,0x05d351fb7571c7d1L,
  72475. 0x18474822a33960cbL,0x9e21b386aff4d604L,0xdc1523b7c7722030L,
  72476. 0x97d8d47c3b40f662L,0xe46c6e58c518f8e3L,0x0000000000000197L },
  72477. { 0x33776420fdf51fe5L,0x13c170deea2d40baL,0x9f058330686e0c42L,
  72478. 0x187d65578e9b7d13L,0x60731c312fd50daeL,0xc4a33b8f616a056aL,
  72479. 0xde3318374d1e0552L,0x883f0b1c76622fddL,0x0000000000000004L } },
  72480. /* 52 << 280 */
  72481. { { 0x702fec554340d2f2L,0xbfddf7ab5a6c6a38L,0x52d5a7ef0a77c874L,
  72482. 0xb31d293155a58f3bL,0x3088d8036274e0d2L,0xb939133876fc6ab3L,
  72483. 0xb144eb7c8e936c61L,0x9c6f8e0c31f651c4L,0x00000000000000eeL },
  72484. { 0xc4f7ef971969c94bL,0xd0ae9ee1b1ee6473L,0x9a2310ae3c6ef7b5L,
  72485. 0x201667dcd9af7a6dL,0x177ef629e661696bL,0xa295439c27dce2c8L,
  72486. 0x917e7ad90654b39dL,0xf4f4160e253e2455L,0x000000000000016fL } },
  72487. /* 53 << 280 */
  72488. { { 0xa5f4d18206539fa7L,0x00e9ca62193bd001L,0x4f82a43b34a98a26L,
  72489. 0xf191a2c7acba36e6L,0x24af9551e410e4f3L,0xc497e07f6d3535ddL,
  72490. 0x29c932541c60ad3bL,0xc979ef0d599a657aL,0x0000000000000155L },
  72491. { 0x0481964ddc0c026aL,0x02af224ad01e5c0cL,0x82bf913f1c2ef89cL,
  72492. 0x86f6d32c471bf1c0L,0xca2ce84ad8022d80L,0x4f145b6799803487L,
  72493. 0xebd0ffccda0964d7L,0x19f8d6f7bcef48f7L,0x00000000000000bbL } },
  72494. /* 54 << 280 */
  72495. { { 0x509b71b9ac36d28aL,0x15d32c770811d528L,0xb793235561dc6575L,
  72496. 0x05233f01fabb650dL,0x3a16d034167495fdL,0xd567e0bf8c1efb75L,
  72497. 0x253895e41fec8e93L,0x6b69015c5648158fL,0x000000000000000eL },
  72498. { 0x879a7df915627f86L,0xab3caf87f08f9464L,0xaebb91e351cc0b72L,
  72499. 0xf5f3a2ce80718925L,0xb5740882c3e6f70bL,0xed18d27690f16d5dL,
  72500. 0x318733e770b09c3cL,0xc1e1c737e4c59a44L,0x0000000000000095L } },
  72501. /* 55 << 280 */
  72502. { { 0x88537bbe883279acL,0xd66ce961da9ea3d7L,0x5a009e7f6f24804cL,
  72503. 0x1aa5de7b572a81f5L,0x0a2d89e029910a84L,0xff6d0adba6a3b709L,
  72504. 0xf709ae9d176ecf3bL,0xb55a2f97857e7161L,0x000000000000013eL },
  72505. { 0xd6ef2ad66d5ac444L,0x0cf086d7c738f5bdL,0x36484c34061945a8L,
  72506. 0xad1acdb879dd65c5L,0xd58ac17af96e2538L,0xb1bc5d14ee8ca9ecL,
  72507. 0x51ee010ef4765340L,0x2285cc3b31335245L,0x0000000000000138L } },
  72508. /* 56 << 280 */
  72509. { { 0x939fe75a6fc48236L,0x23d3887d911d8cbfL,0x258fea93b7d3a0e2L,
  72510. 0x9b073bf37f01bba5L,0x7324e1698e6cb543L,0x44843d4aaf26dedfL,
  72511. 0xa04a7c60ede00d61L,0x10218bd6cc5a03bdL,0x00000000000000a2L },
  72512. { 0x33c5563a2b93360bL,0xd50f6be0d4e9d47fL,0x78e7dfa1c7ad7ac7L,
  72513. 0xff7c2c5a92c64ebeL,0x932531e7bb22d05aL,0x1c8f30604bc070ddL,
  72514. 0xbd9787cb8d8150d1L,0x8ce2223b0cee42b4L,0x00000000000001f6L } },
  72515. /* 57 << 280 */
  72516. { { 0x6731c027e046c0a4L,0xf718dcede5a06138L,0x78ee5eb548b6ba4aL,
  72517. 0xc2d5dfcadd81e407L,0x35da8dfe47dcfcacL,0xdc81e42a8eb7a98dL,
  72518. 0x35db538102f60af3L,0x137c92f71af4e84cL,0x00000000000001a2L },
  72519. { 0x5fff48bc7fae3e38L,0xed6bb7ba7bfb9009L,0x3ea9829b94d9f8d9L,
  72520. 0x1b02d966e57ac9f7L,0x2a2e7b3b9e17a7b5L,0xfd677d10f8b5971cL,
  72521. 0xf02c62c4feac2153L,0xb2853d963d277f34L,0x00000000000001a0L } },
  72522. /* 58 << 280 */
  72523. { { 0x34cda6b2e8bcbdccL,0x1ca83d8ac58e01bcL,0x9c38e61d6a6033dcL,
  72524. 0xd3df77d1696792c9L,0xdf573ec644eb1ecdL,0xa8a065432d74f38aL,
  72525. 0x3cb79ad7491230eeL,0x828962151a271b8eL,0x0000000000000182L },
  72526. { 0xb889ef07d85525c3L,0x39a37a8da74b5e4bL,0x6dd97fe1ba9f0edfL,
  72527. 0xfc32a4c55df3ce92L,0xfa0958f820517719L,0xd2570ed03c80801bL,
  72528. 0x7b0d90f5df333517L,0x5448e3b21cbee93dL,0x0000000000000005L } },
  72529. /* 59 << 280 */
  72530. { { 0x9dafe225907309ceL,0xb5c7f7796ab4285bL,0x025fe316475406c6L,
  72531. 0x6427b6a73703b8aeL,0x077b26865c34c5ecL,0x16bcd88fb1889dd6L,
  72532. 0x963169a8eab6ae3aL,0x2a42b76c7535cd94L,0x00000000000001d2L },
  72533. { 0x7a7d5f3e60ea3972L,0x03495625a755ec1dL,0x441847032b183692L,
  72534. 0x8303d22fadd33ccdL,0x6932dab9215523e8L,0x26f696dea7164118L,
  72535. 0x682a8f9abb3aa620L,0x86aa638d15247803L,0x0000000000000078L } },
  72536. /* 60 << 280 */
  72537. { { 0x51849a5b53fbf94cL,0x2436d1f33647dfb1L,0xbfd7dfe1ac158d60L,
  72538. 0x4157581eaba95982L,0x574c1d648b89798cL,0x6d659219754f1eb0L,
  72539. 0x0654acce001d0c68L,0x8f1cafc9c86fb259L,0x00000000000001aaL },
  72540. { 0x96cf49426662061dL,0x6928d7c4565613e2L,0xfa3e5e7011afa907L,
  72541. 0x2bedac91cd3c3062L,0x7b05951c87adb45bL,0xa2b68ef665e3fffeL,
  72542. 0x682b65bedb7b8c54L,0xf8ef1353338a27a4L,0x0000000000000153L } },
  72543. /* 61 << 280 */
  72544. { { 0x3eec74aaf0d73d13L,0xb1200378a199d41eL,0x0501130712fce9ecL,
  72545. 0x59e08d4685af38d6L,0x1c3028b097eb7439L,0x4389b2a7c8c2d7f4L,
  72546. 0x41155e4c03df89a8L,0x06a993c37e415914L,0x00000000000001e3L },
  72547. { 0x1a57145402fb35d5L,0x818c71f0107f51ecL,0x009f840d42da6adaL,
  72548. 0x67e4374f54a5468dL,0xf2250a74b245d86aL,0x09bc3e44bca120b1L,
  72549. 0x6fdb2a6b308416a3L,0x0bd60e1c6a9146c0L,0x000000000000010fL } },
  72550. /* 62 << 280 */
  72551. { { 0x19ba4fdb0b35a9e4L,0xfc93eff181057e1bL,0x852ae0abf5380848L,
  72552. 0x910c30d66877b719L,0x3bf62a9503916cb0L,0xd56a881ea3c2d070L,
  72553. 0x256c3542a356f757L,0xcef8a8d929d75c65L,0x000000000000007eL },
  72554. { 0xca44a43576ea795bL,0x611ecedea8f27192L,0xfcb3a868de9182bbL,
  72555. 0xac04e9d7dfa3eca5L,0x03f47adae89f80a7L,0xde7b801854858348L,
  72556. 0xbf27c5a14a0e3befL,0xcd91a04d3461a145L,0x0000000000000117L } },
  72557. /* 63 << 280 */
  72558. { { 0x76dec50fd577c07cL,0x5a1d94bf5a8d2c7aL,0x871183453616e745L,
  72559. 0x8b4e25d136e7d7daL,0x0464ac2c0033ea1bL,0x62f6569a2c5caacaL,
  72560. 0x1989e0f6d2649cc3L,0xcd5990464b02997cL,0x000000000000006dL },
  72561. { 0x8df4238f7a8f232dL,0x04a5230661f90575L,0x179274765fdb83b7L,
  72562. 0xddba74da6f09f3f4L,0xf6cfd200793d48bfL,0xe3ee41a1c980f85dL,
  72563. 0xab48c17ae75f5667L,0xb09a7c62d4d971e8L,0x0000000000000009L } },
  72564. /* 64 << 280 */
  72565. { { 0xa99e0fa88b404760L,0x5f6b7eaa28835bbaL,0xebe75466811f0bccL,
  72566. 0x3d69da3e9d0fffa4L,0xd815e361185f1ae0L,0x78623276b30ff597L,
  72567. 0x3518246ea8466de1L,0x3c8e0d4a516b0e43L,0x000000000000003dL },
  72568. { 0xf4bc4434d1614abaL,0x49d062b7bfedf3abL,0x878c93290fc7e5b4L,
  72569. 0x727ea9198a92c516L,0xd159dd269ac43994L,0xcc04bc19c25a36a5L,
  72570. 0xcc7ffb96172789e1L,0xc136b9c92f2ee22cL,0x000000000000014bL } },
  72571. /* 0 << 287 */
  72572. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  72573. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  72574. /* 1 << 287 */
  72575. { { 0x758be5677ed6ead3L,0x5aab37984ea30f41L,0x8a66701d724bded8L,
  72576. 0x3e1ad9a070544b4aL,0xd0286777ee940423L,0x3335377b329a995eL,
  72577. 0x244d471a4eee58a7L,0x32d4dfa067275e49L,0x0000000000000105L },
  72578. { 0x7ef7dd10f91eeef2L,0x51c22e8bba0c7d57L,0x45c515d485233341L,
  72579. 0xd9d7cefcd353231aL,0xbef9d961da5bd561L,0xa5110c6f5531a41dL,
  72580. 0x0f1f7a194328f21cL,0x1ad6d24c49ec18e6L,0x00000000000001a9L } },
  72581. /* 2 << 287 */
  72582. { { 0xbf2ffcb76e640a8dL,0x63479501a0b5a07eL,0x55bb30015f36f2e7L,
  72583. 0x9890f999058a676aL,0xd9ee341b455c0d27L,0x6c95780c18e08fc8L,
  72584. 0xeb63a675442a075dL,0xce46a1a5fb69da00L,0x000000000000006bL },
  72585. { 0x8c618934f3ed6253L,0xe00342446e9433b4L,0x989b99214260b2c5L,
  72586. 0x11699804d9df4747L,0x125fe61f763a7f63L,0xa972786dc6ec395aL,
  72587. 0x662f9fe7b7b7b8c6L,0xfb644a615456556eL,0x000000000000008aL } },
  72588. /* 3 << 287 */
  72589. { { 0x2014334668cd4338L,0x46b6c25dddec02b3L,0x7ed7b8e00f3bdda3L,
  72590. 0x233b739abd4bfa08L,0x5d637074764e5f80L,0x16dca3c8bf2e9eb6L,
  72591. 0x833e08beee088b75L,0x2e6d8782d0ef69a0L,0x0000000000000067L },
  72592. { 0xdd6bac439054fc97L,0x20f0fe3f00b0046aL,0x1f53f565aa8b318aL,
  72593. 0xf74826286eba16cfL,0x899f86ddb055944fL,0xdecc577c4b26279cL,
  72594. 0xefd021ba3dd92904L,0xa8be3c70f9aa1d87L,0x0000000000000029L } },
  72595. /* 4 << 287 */
  72596. { { 0xed29c2ffb0bb44d8L,0x0874c2a5fa00ddabL,0x9398e8a2065a4a5eL,
  72597. 0xa6e1952691aab917L,0x20a816ac667898deL,0xda4b97934b94a66cL,
  72598. 0x6fee1473b00e36e2L,0xcd9958d793a46ce6L,0x000000000000000fL },
  72599. { 0xeab9fa64a362872fL,0x87cc55b095457fb6L,0xe3e3f13d3c702019L,
  72600. 0xe025b3c8ff6208c0L,0x8fcd5b2fd8b8f87cL,0xcf9ded31789bc9edL,
  72601. 0x7474244818d40f49L,0xbf14e1f046c33140L,0x000000000000016dL } },
  72602. /* 5 << 287 */
  72603. { { 0x509b4ebd2a3f7a56L,0x284be6724315de88L,0xd9bc95a7708c6237L,
  72604. 0xb614a4d485dfe317L,0xe35de3d30c1c5737L,0x9e0b17191bd97337L,
  72605. 0xc3b084f841c2b929L,0xce03487b0953b7ecL,0x000000000000019bL },
  72606. { 0x35d5de3da22978fbL,0x7207c915b2212285L,0x109219a2328771e5L,
  72607. 0xb262f06c8716c153L,0xc47aadea45f2bdfdL,0x7032cbeb4a1497f4L,
  72608. 0x1603a5f69eabdf95L,0x56c6eb2bf53bb028L,0x0000000000000033L } },
  72609. /* 6 << 287 */
  72610. { { 0x0aa08334a3a5a2a2L,0x7b1e2f91dcfc5939L,0xe1c64158673e221aL,
  72611. 0xa9ce2061cb3319d0L,0xb359c34b977a9b41L,0xc127af82b7f9fc83L,
  72612. 0x18ada73481166c12L,0x1c4c48fb092d64d4L,0x00000000000000eeL },
  72613. { 0xfed1a8da4c5015c4L,0xefd54478526e1897L,0x0ac4f64075bbdc91L,
  72614. 0xc0774cce910661ecL,0x699bb035c30ccc07L,0x836b7b1780952ccfL,
  72615. 0x03b8bfef9788bdc1L,0xb24604c5fd47a69dL,0x00000000000000d6L } },
  72616. /* 7 << 287 */
  72617. { { 0x8f58d77c3904520aL,0xeaf3076af6db1f47L,0x249c1fdb6a139301L,
  72618. 0x26211ebaa843505dL,0x4d3b5e4366b80789L,0x9adf20c48887bf76L,
  72619. 0x411b47eb328f97c2L,0x3d00025636d82c8aL,0x0000000000000022L },
  72620. { 0xf0826b0c86b4639cL,0xcc429385bf2141c6L,0x72d72d948f036210L,
  72621. 0x4aa9b7afc64f7650L,0xdfeb64b0b237cb8bL,0x7f901ff757a7461fL,
  72622. 0x273abe41dd134f03L,0x026d1740005c1f46L,0x0000000000000033L } },
  72623. /* 8 << 287 */
  72624. { { 0x35e7af927e198aecL,0x2937b845ad58220eL,0x9c8c65cc625b0972L,
  72625. 0x91991d8a1a9911c8L,0xc9f134d90a4ef588L,0x1cbe5c250e01d57fL,
  72626. 0x4c31016e85251d47L,0xc587777652dc527cL,0x000000000000018eL },
  72627. { 0xa9232336d429c5f4L,0x60454705bfabb412L,0xf5f84846794cc5c2L,
  72628. 0x1bd49ea0bfc8532dL,0xd4b45b2c3042cd43L,0x49590033374ab02bL,
  72629. 0x78770266ee464c45L,0x0a33044eda262362L,0x0000000000000144L } },
  72630. /* 9 << 287 */
  72631. { { 0xcc4bae5e0e57b63fL,0x3d11ca0f42641e4eL,0x3bbfa96aefeece66L,
  72632. 0x4857057f6abcde9cL,0xe796df9dc90f2d13L,0x28e49c241a945e44L,
  72633. 0xb57f90935abaacacL,0x49a910222d46547cL,0x0000000000000058L },
  72634. { 0x868bc6345a6f0bbfL,0x466dce120f7ccec2L,0x23df20ee964331dfL,
  72635. 0x281867e6b92cecd6L,0xd198e769f76f2ce7L,0x2461e009b02bb0f6L,
  72636. 0x1a2009db2911f73cL,0x112c2f8e0897b7efL,0x00000000000000e8L } },
  72637. /* 10 << 287 */
  72638. { { 0xc17c5414720aebb3L,0xeaa1a7b97089e6bfL,0x9ee50ba136de9f22L,
  72639. 0x4beb00685b3bf8ddL,0x330e8c045b3f6992L,0xf477636d6e7a978cL,
  72640. 0x5799678a9543861aL,0xceb7d074810077e6L,0x0000000000000019L },
  72641. { 0x0d20db6dcafef71cL,0xb1c02cba35fa4e9fL,0xeb6628684630ee0eL,
  72642. 0xda4bbe8c88265202L,0x71b53dc3e1aa127cL,0xf4e2e52f0abcaa62L,
  72643. 0xe4c4cc96f8f6c926L,0xf9cf5ba414aaf997L,0x00000000000001e0L } },
  72644. /* 11 << 287 */
  72645. { { 0x34d27e320a34e7b4L,0x7fa34a4218845536L,0x54f38c415010e48fL,
  72646. 0x1d19749a05382614L,0xcd7a8eea88443b45L,0x12534e16ab25cc4eL,
  72647. 0x609939ae83f50958L,0xcd6795401a366d0aL,0x0000000000000027L },
  72648. { 0x877cd4c17f225eb8L,0xb0125faa2fd2154bL,0x4ee9df665f1aa132L,
  72649. 0xb14bc327752041d4L,0x606da47f0db62194L,0xf4f0a39330e3f6b3L,
  72650. 0x7f0d0e0743435381L,0x4078be8ab43b6346L,0x000000000000013fL } },
  72651. /* 12 << 287 */
  72652. { { 0xf946ab5188098f73L,0xe98c6e73ffd8bc23L,0x30d30a3c98758f69L,
  72653. 0x302d5f8fbc8e359cL,0xadaa2ff6fcd2f1fcL,0x694de81c4adec57aL,
  72654. 0x69735a5a97698a60L,0x15bbae8c2d55531dL,0x0000000000000164L },
  72655. { 0x2398abf08c6b2d9bL,0x258bdc0e9ec5ee96L,0x80aca75ca9bf887eL,
  72656. 0x3e3adc8cd1495ad2L,0x1a30f94862d2f571L,0xebdbf063989dda10L,
  72657. 0x86bddede74d3efaeL,0xa42598aac749c868L,0x00000000000001f4L } },
  72658. /* 13 << 287 */
  72659. { { 0xb8f4898284e24afbL,0x5df2eabb25b308adL,0xce0372215016261dL,
  72660. 0xcf815e15125443d4L,0x0e41691c69ba86afL,0xb766cbd5d8f262a8L,
  72661. 0x4ed7451e7fb6ecf2L,0x5df5ae6ef7f4659eL,0x000000000000005eL },
  72662. { 0x93994f1bcb7e522dL,0xc69bb9db8eb5bd8cL,0xc5a23729da4ece9fL,
  72663. 0x33f2b7fbf2b293e1L,0xef4bcb035cb85fd4L,0x6c325c5ad8976753L,
  72664. 0x5d3acef4ea95ccb4L,0x7ec98c6cc5de15c3L,0x0000000000000053L } },
  72665. /* 14 << 287 */
  72666. { { 0x6af0b935c936a7e5L,0xde94d724d4a248abL,0x0491c733594e53b7L,
  72667. 0x238ef5341ccd7088L,0xaf0e791e4f5052c3L,0x70cbea8110c3411dL,
  72668. 0x6b7c8574577d38bcL,0x00e147ae4ea6a924L,0x0000000000000085L },
  72669. { 0xcab57e2a497b793dL,0x3f642966edf47059L,0xa276326d2eb66b98L,
  72670. 0xeba64255a76e1221L,0x698fd276d23677b9L,0xcbb4637445a0625dL,
  72671. 0x5d92dddc50b672ebL,0xbef8ccd00839333cL,0x0000000000000091L } },
  72672. /* 15 << 287 */
  72673. { { 0x262fcdfa594f0099L,0xafc1ab5cbe87ba17L,0xfcb0b4ee7101073dL,
  72674. 0x015c42afebd8503dL,0xee71a1a41b5a7741L,0xd77265524bdea91fL,
  72675. 0x1bfe39a18879ccceL,0xb0ba1bfd516f30feL,0x00000000000001f8L },
  72676. { 0xcc05e22168028efcL,0x248242e61ad5d85cL,0xfa93caa2de771fc2L,
  72677. 0x76d50a1a7d5ef758L,0x028a0b8d7b147dbcL,0x00f8e82a37b904dfL,
  72678. 0xe105ca38ea612d6aL,0xc985187504292b07L,0x000000000000007fL } },
  72679. /* 16 << 287 */
  72680. { { 0x225420c396139042L,0x90a38d5c5bcf13cbL,0xb99a43ae99d999b0L,
  72681. 0x5bbbe4d450a20372L,0xaa92420245a7eda6L,0x49543e058bb2a5b6L,
  72682. 0xbd11556497d32f2dL,0xc57d1af95d680f19L,0x000000000000016fL },
  72683. { 0x93af05115ff37259L,0x89c88bef9b9cc398L,0x85526ff5a91987b5L,
  72684. 0x8b7bb52adfbf9615L,0x25767d030839c531L,0x6b15aa2e1cd9033eL,
  72685. 0x47490261dfae7d95L,0x4ee02157e7e1e8edL,0x000000000000015dL } },
  72686. /* 17 << 287 */
  72687. { { 0x61b3233b6fc2ac46L,0xf300ca4f577be5eeL,0x20751b6858ff827dL,
  72688. 0x84f4dcd94fe2d451L,0xf566f8aebf7191ebL,0x4e0bb7c0ab75d2e1L,
  72689. 0x3d4267d7246dbf2eL,0xce9ecb9b3888199fL,0x000000000000004eL },
  72690. { 0xd53b33dacd5cb1e5L,0x7c62f3c8dde86c33L,0x133ba1c89594264fL,
  72691. 0x41e6d49f69a3d324L,0x3256265cae79db2cL,0xbf68642bd17a25eaL,
  72692. 0xc3828f62f72d6723L,0x4e859cfbd6e41d3dL,0x0000000000000050L } },
  72693. /* 18 << 287 */
  72694. { { 0xfce66781065c3b1cL,0x2f28b538b5195f93L,0x9294fa3ed5f99ba0L,
  72695. 0x32ef709c66c624bdL,0x4c555df34f610d8cL,0x90ee123f438e3d99L,
  72696. 0x92d19b98919841e9L,0x2e228d8aeae83102L,0x00000000000001e9L },
  72697. { 0xb4566d09009cf7c8L,0x60b0ca8338105c3aL,0x9a4fa08aa8da65beL,
  72698. 0x3208ad03b5fde8eeL,0x8462daa4737b4ec8L,0xbc182470a5c1b058L,
  72699. 0xb1bf27ce7f0b478aL,0xdede341e67045b89L,0x0000000000000156L } },
  72700. /* 19 << 287 */
  72701. { { 0x1e44dd062149658bL,0xb1e065c68c59cd31L,0x8c96ff88ad2dd1ffL,
  72702. 0xa18fb42b4f3c3753L,0xdd93c68fc4f74914L,0xf429553b8a075411L,
  72703. 0x12086bb9bee2c2ccL,0xc0662dd733a37788L,0x000000000000002fL },
  72704. { 0x7830ac9733d6e53fL,0xd680aa17f434e81aL,0x2e2c636cbe139240L,
  72705. 0x72e62040f21e8aa1L,0xcb4ac7a150aba0b2L,0x73f9f305362c3428L,
  72706. 0x8582ca9c2d5d90edL,0x272c8dd4ca5ee047L,0x000000000000005dL } },
  72707. /* 20 << 287 */
  72708. { { 0x8cc3adc33883bee0L,0x306b08f63f15b848L,0xbf4896fc2340f68dL,
  72709. 0x19b1de94b541ad34L,0xf343c4602c320a09L,0x1e5fa35ff581b0d7L,
  72710. 0x34d600c7b3db161aL,0x54cd8526e9f8b6d9L,0x000000000000015fL },
  72711. { 0x4aa6ccd6ceb32adaL,0x2c2c5e7e7497bc17L,0x531ec78678791b13L,
  72712. 0xa7f862c881596a68L,0xeb04236972e7ad06L,0x306db5ce7edad2f1L,
  72713. 0x5e7a162ea1cdbb31L,0x06f0b4f3565f914eL,0x000000000000006aL } },
  72714. /* 21 << 287 */
  72715. { { 0x7d799dcfcf519949L,0xf36bf428d2734641L,0x775036b5b77431d3L,
  72716. 0xa5a5c727b6b45979L,0x5aa5863d1c9b3278L,0x9330e8bbbc1f335dL,
  72717. 0xfbf7cb34780d9905L,0x2287f0a50c894491L,0x00000000000000a2L },
  72718. { 0x1f922f765522c3eaL,0x52a337049e9a1399L,0xf0a0d965ba537263L,
  72719. 0xb18778ccb87027faL,0xf15ece21a7bc1a07L,0x34ff0a5a0ebbdb94L,
  72720. 0xf7875a19a18106b2L,0x6e17627f9432c0c3L,0x0000000000000040L } },
  72721. /* 22 << 287 */
  72722. { { 0x5f16528ba968accdL,0xdcfd5dc1261063cfL,0x99c6a790ad45c838L,
  72723. 0x4b83b5dc811ff9d4L,0xc3c067f23c3deab8L,0x447ecca83496c2cdL,
  72724. 0x212e9948ad2663c3L,0x080d13f5354fdc23L,0x0000000000000074L },
  72725. { 0x4e4a2ffaf202bae2L,0x12ee692f0b704ea5L,0xdf48fe7d66a3e286L,
  72726. 0x13228b5095bdf85fL,0x65ab3ff9422dbe99L,0xfd795432b376e1eeL,
  72727. 0x7dca34ac0de9e917L,0xf907ad9a8614521dL,0x0000000000000159L } },
  72728. /* 23 << 287 */
  72729. { { 0x6a62326cf2bef374L,0x0148ab35d0229744L,0xfec14cf2e5c28016L,
  72730. 0x7f7a20b8f2913691L,0xe68c19f0a7a66511L,0x64181257c831bc8bL,
  72731. 0x79373addb8bf5318L,0x3be916c44ab48ca2L,0x0000000000000197L },
  72732. { 0xab6dc2ae0e694594L,0x3e6d6dee6f24abaaL,0xe8f7befa436d78e7L,
  72733. 0x40917244dce86463L,0x04837770fb488d63L,0x1645ed1b53cb01f8L,
  72734. 0x492f484212320a08L,0xeea413edf21580d9L,0x0000000000000033L } },
  72735. /* 24 << 287 */
  72736. { { 0x1bcb1d73c96d566cL,0x0b51a27a1b6f4d02L,0x773be48b463d8fc1L,
  72737. 0x267e606a6f19334fL,0x67a49a30db4a4bb1L,0xe33033bb6f476620L,
  72738. 0xa2e4076b92025915L,0xb1845ee448f182afL,0x0000000000000070L },
  72739. { 0xdaf44e82d2f77d9cL,0x753f7f717caff6b8L,0x7fda258ac5d9943fL,
  72740. 0x2f47f8379b012134L,0x9cbbdae94d2a9bebL,0xdb39f169221f799cL,
  72741. 0xee68daf32048a54bL,0x36939e9d7f5aef38L,0x00000000000000f3L } },
  72742. /* 25 << 287 */
  72743. { { 0x21d565da891c0901L,0xe7258e5a02e8d871L,0xf7683e6e8d22ac60L,
  72744. 0x40188b73d38b13aeL,0x09f41af92bf12facL,0x3a928b645a7b3178L,
  72745. 0xb7eb9139de59434eL,0x12c96b6ff71e130dL,0x0000000000000003L },
  72746. { 0x0e18e0904423f103L,0x5e5184ba34e17c6bL,0x8fcf43a26fb05bb9L,
  72747. 0xe5990252181ce682L,0x7deda4923df077f4L,0x37d276b504c18d50L,
  72748. 0xb95438914c706ccdL,0x94d023c4ddbcb26eL,0x000000000000010cL } },
  72749. /* 26 << 287 */
  72750. { { 0xabf61a9ea3b3f8c3L,0x90237370b62fc9daL,0xc1d3de232c5128dbL,
  72751. 0xf67097fb65ae3521L,0x0016debd78d68d97L,0x23ea15ddeeb9df30L,
  72752. 0x4a09e240431259f6L,0xeb81173106ffdc4bL,0x000000000000001cL },
  72753. { 0x3c709776a20611b6L,0xd695948645d62433L,0x86c9232cc8344819L,
  72754. 0x636675f6a260c3b3L,0xb927e00a2b6adb42L,0x9644f9e9f1c8c3f9L,
  72755. 0xa0842190e01260eeL,0x6ea161f8e2a15fa9L,0x0000000000000127L } },
  72756. /* 27 << 287 */
  72757. { { 0xf245e320841600e3L,0xc597f039837d15e7L,0xa427b0c93669ff83L,
  72758. 0x1b1fa11c054ce42aL,0xf985c1ab66e1c039L,0x7ee24b84af17c731L,
  72759. 0x90d42d66f467a998L,0x670192d6222a6bd6L,0x00000000000000e4L },
  72760. { 0x252106f6b89fb34fL,0x8fcde56c7af89916L,0x9a6897639a7b371dL,
  72761. 0xd92b0bdc14b4d750L,0x295cd60df7fe2ea5L,0x4f16e7fa93025bb9L,
  72762. 0xb50d8e98acc07895L,0x0b2c2aab85295081L,0x000000000000001fL } },
  72763. /* 28 << 287 */
  72764. { { 0x84450f4a2d3a1514L,0x1ca1912da211fa6dL,0x18a4e99f487df3dcL,
  72765. 0xae9dd13e6535495fL,0x0ec3771fba83ee44L,0x3ef3b94359ed9f53L,
  72766. 0x0bae7d1fa163406cL,0x387121a0b815b7afL,0x000000000000001cL },
  72767. { 0x2dec1270f94fd988L,0x21680d0e3d3b53e6L,0xcc653cca28c69753L,
  72768. 0xc03803d715d406f8L,0xae4e927ee939bf4fL,0x01dbf41d381933f7L,
  72769. 0x602169e07ef8dbc9L,0xe782930581026dd0L,0x00000000000000aeL } },
  72770. /* 29 << 287 */
  72771. { { 0x793030dcfec9973dL,0x5e9bc45d259f2cefL,0xf691294dfb8710e9L,
  72772. 0x371e0880556e5077L,0xe396fa2c3875f837L,0xc8062d5a607aa969L,
  72773. 0xd17b9ac343675d61L,0xbe71883cde013cf2L,0x00000000000001eeL },
  72774. { 0x4495699ba7344978L,0xf546f5591c109544L,0xda2f84f37dd1fa4dL,
  72775. 0xce4166a343595270L,0x1341e861a7df4f65L,0xf6ee6a0739292f29L,
  72776. 0xe61f4613e5f02532L,0x3b36f58881f967c6L,0x00000000000001f9L } },
  72777. /* 30 << 287 */
  72778. { { 0xccfc7051875e2133L,0xfc3c0b55821f76a0L,0x544e229fcd8ef672L,
  72779. 0x3666479347494f15L,0x22c05e5f109b2ce0L,0xc294314c492bcbb1L,
  72780. 0x15beecde16558d91L,0x4518316761ae3008L,0x00000000000000a6L },
  72781. { 0x80bc2b2c26c28852L,0x941f0224510b0086L,0x0fcb9de4abffeb4cL,
  72782. 0x0b1e80a966f723b4L,0x186fcc2be5cd0627L,0x8b1df932ca71dcf8L,
  72783. 0x789cb0a1eb01452cL,0xb2e81e3681ffe1eaL,0x000000000000009dL } },
  72784. /* 31 << 287 */
  72785. { { 0x1d0a215efdb151faL,0x3e242b9cb0e023c9L,0x7b69678cc83b6d8bL,
  72786. 0x2e8beb24f99e1e2cL,0x93149d54e690affeL,0x2b4e1f769b805cc9L,
  72787. 0x68ca06fa9599daa1L,0xeab0311f5ca75c0fL,0x0000000000000170L },
  72788. { 0xa1012deb5102ca3aL,0x72335ccf4312d2e2L,0x1012b2bf4ab55d59L,
  72789. 0xd09a5f033368547eL,0xd9b1570985acd78fL,0x6d3b9f42f7e576dcL,
  72790. 0xc1de787eea6f8f55L,0xac3238aafb4c948fL,0x00000000000000fcL } },
  72791. /* 32 << 287 */
  72792. { { 0x5ec6427b05487074L,0x0b59fa1f80c426adL,0x0207d510c9946594L,
  72793. 0xba1fe985d38f83d0L,0x113aec98c96eb133L,0x3424ad0182515193L,
  72794. 0x3eb15aeffb6f9b10L,0xccb719e8f15d8be1L,0x000000000000013cL },
  72795. { 0x63f898834c67518dL,0xb5ca3508f85eb1d9L,0x1ea1c74faf652b25L,
  72796. 0x4fbc5476bddedc4dL,0x22daa81af4b33c74L,0x9f7941a03f36ae29L,
  72797. 0x90c2b8cebca5ca40L,0x53e736a1b587b3d6L,0x00000000000001b3L } },
  72798. /* 33 << 287 */
  72799. { { 0xb2c4b8f8fdcda3baL,0x5913f72464002d11L,0x978aed4cec7c81e6L,
  72800. 0xfb9e4c7819795e08L,0xa63ad972e046e1ddL,0x4c913ef2ca493c76L,
  72801. 0xa7b7de5c67d5a177L,0x34ea3faed5d548edL,0x0000000000000076L },
  72802. { 0x263ab24db8e17278L,0xf9db154a9ade657bL,0x66eac09c731d358cL,
  72803. 0x40f840edb8d08934L,0x409adfa60c35b4adL,0x96e6e42913ed3e4dL,
  72804. 0x4f8bc420d468368cL,0xbe6e5b6a5f85e95bL,0x00000000000001a3L } },
  72805. /* 34 << 287 */
  72806. { { 0x739e7cd7ebab693dL,0xcd08edef192f5597L,0x34ce91e9b4ab362eL,
  72807. 0xbf0869027d8e9063L,0x9f85b3292893d739L,0x7b7713eb12c08939L,
  72808. 0x81aef3b177d34b27L,0xfa873780f155d573L,0x00000000000001f5L },
  72809. { 0x1ec60390a76da4e5L,0x14047fa7fc79130aL,0xc4e484be8c4dd66cL,
  72810. 0x347d3c918b008f74L,0x7a9fc84aca0ddaedL,0xde23768b59c02ff5L,
  72811. 0x353ba3ed8983d294L,0x70bfbadad7535907L,0x000000000000016bL } },
  72812. /* 35 << 287 */
  72813. { { 0x7dd4835098829cd0L,0x6839f375c56e3a5eL,0x860921cb36c4f91eL,
  72814. 0x0ca5e0b8159903ddL,0xb123ae8b23724973L,0xaa807279fb25d155L,
  72815. 0x2b58fcf5f2d0840eL,0x33c635c7409f55e2L,0x00000000000000efL },
  72816. { 0xbdba4c387aa5323bL,0x8b3acb9b864fe257L,0xd440031e6ae45ddbL,
  72817. 0x37b9bb525d86d712L,0xcc88786333cdcabdL,0x1f6533527c1daefdL,
  72818. 0xc7bcc11e8a84fdccL,0x676e3d84b34be64aL,0x0000000000000004L } },
  72819. /* 36 << 287 */
  72820. { { 0x0b7c799943b4fc88L,0x47ea96a46a55dc86L,0x67fe6b4ba0bec552L,
  72821. 0x8164398732aef8ebL,0xcbe3ebf7b23195ffL,0x23a03ed1b70013ccL,
  72822. 0x3bfe99e80f6a4762L,0xdee758be7483a709L,0x0000000000000190L },
  72823. { 0x05a52134be5007a9L,0x869f393c68e4cf51L,0xc7b56267c28c1a88L,
  72824. 0x2bd98f7e0dc40b0cL,0xfa631a8321f9d503L,0xde940d201fa14801L,
  72825. 0x26fdb625c3e152acL,0x7f72d33650d8d6edL,0x0000000000000093L } },
  72826. /* 37 << 287 */
  72827. { { 0x7298111644c81fefL,0xff5c80aa32f7a76bL,0x82f5d039182a39d7L,
  72828. 0x2f32365a7960f5f3L,0x0488e8918cb0e827L,0xd8549d180721822bL,
  72829. 0x5c80c8d57d9cf4dfL,0xc607bd030ead496bL,0x0000000000000016L },
  72830. { 0xc7ff1e33ab77acf5L,0x1a514f0a044e2661L,0x12911922b906ce12L,
  72831. 0x847951f023f86570L,0x83242de153bd17b8L,0xd04a3e96190ad7e7L,
  72832. 0x3445dc26604be4d6L,0x616a61a208bac680L,0x00000000000000d9L } },
  72833. /* 38 << 287 */
  72834. { { 0xdc35d8c52cfeea6bL,0x45a9d97d99c6b24bL,0x727b2ff281261d8bL,
  72835. 0x87bfa12e9a446a97L,0x44b5cb46d045b1efL,0x4aae3f8a70c29285L,
  72836. 0xb911c6a8e7a014a0L,0x0692e0e36e1c9679L,0x0000000000000117L },
  72837. { 0xa3759e511300d87eL,0x461e8bd13ce09839L,0x55a8b8194932e9acL,
  72838. 0x0623e3207eeff04fL,0x6f21721881e0ff93L,0x0b726fc0f9ccdbceL,
  72839. 0xb94f97d15fb03e1eL,0x9339f75bbbd8417fL,0x000000000000009bL } },
  72840. /* 39 << 287 */
  72841. { { 0x4b7fd5cd70221112L,0xe95de56b71ae6670L,0x2cb7d98df08bbdedL,
  72842. 0xabcbcd2fe57331a7L,0x69c3b30710dc3694L,0x5587e28e8e64f72dL,
  72843. 0x29d7a61b02846a2eL,0xfd4abcfac88e66c0L,0x00000000000001f5L },
  72844. { 0x80ba4555d4f9d318L,0x7038827722c31c44L,0xeef78af085d0468aL,
  72845. 0x846341582221ca01L,0xc8ec963f726e877cL,0x3aba70060d2be74bL,
  72846. 0x71274ecbb2a71a81L,0x4a7c7680a6648fddL,0x0000000000000016L } },
  72847. /* 40 << 287 */
  72848. { { 0xa5d6c61faae6fe14L,0xff4fd50037b0da63L,0x087ca2202386bb0bL,
  72849. 0x80a0d03deb70f71aL,0x1b5ed1d861b7b396L,0xc49483c906218384L,
  72850. 0x3a3b534cb715959dL,0x4109d89408511c23L,0x000000000000018eL },
  72851. { 0x0524d716504b62e2L,0x514f91699a0104bbL,0xc41c74c8e9c613c3L,
  72852. 0xce7a9561b4df2024L,0x17116cae95be7a5aL,0x372d47642172e2c5L,
  72853. 0x9aadf8d65aae7d3aL,0x77bd6304d35903dbL,0x00000000000001baL } },
  72854. /* 41 << 287 */
  72855. { { 0xdc15770ef840ae67L,0xa3aefed136f17978L,0x38cf706b58806eafL,
  72856. 0x7b5317312b8ca8e1L,0x45c9f9de1eb7b6cdL,0x8410e75a44a70febL,
  72857. 0xd362903a942c4e05L,0x43e5ec0b482b04fdL,0x00000000000001a0L },
  72858. { 0x176aecfcf569465bL,0x8c6de88ca5f800a2L,0xb4efde01873fdbb3L,
  72859. 0x1d4f10aa523beda9L,0x7299f81d77f8dd80L,0xae24679ffafe5f4aL,
  72860. 0xff5eedaf142ab79fL,0x4f0aa1d58274cfaaL,0x00000000000001b3L } },
  72861. /* 42 << 287 */
  72862. { { 0xd9e66f808bbcda48L,0x6bf81e10ab2f71ffL,0xc0410a0051ca5f9cL,
  72863. 0xd4c92b1195d2aff7L,0x83f38269af7927b1L,0xab3223cedeb329c8L,
  72864. 0x1efd631048360a2cL,0x8aa5d85e4ed0a930L,0x000000000000018fL },
  72865. { 0x595e653509c61585L,0x00203ea9f8489891L,0x4a048a9784a2d1acL,
  72866. 0xc3ccb4d21c6df789L,0xe7d740b3ab880e8cL,0x6345e96775fd1a87L,
  72867. 0xf5636d795359993fL,0x100b98e94907e135L,0x00000000000001d9L } },
  72868. /* 43 << 287 */
  72869. { { 0x8f91e1fd96799962L,0x55b13fe2a1ccf057L,0xded45a5794d8177bL,
  72870. 0xb9dceec579709266L,0xe3be73222eb10923L,0x8b06ffc8fc82aeefL,
  72871. 0x46d6485a742741aeL,0xe1e0f1bc0e82d8e4L,0x000000000000013eL },
  72872. { 0xced2707e39ee8a27L,0x5c2664879dd5a0ceL,0x1d4115d44e369f35L,
  72873. 0x92c350e24ba9cf2dL,0x6533ce6ab1d46440L,0x633115437de4fb1eL,
  72874. 0xdc75f32cc0b8f159L,0xc04579e13b5b946fL,0x00000000000000f5L } },
  72875. /* 44 << 287 */
  72876. { { 0x980752e1b618c3fbL,0x1c15864b25161e86L,0x490bec9c83024300L,
  72877. 0x20d33fca89ce7925L,0x34c7ab08582837dfL,0x207a275e0bfd6076L,
  72878. 0xf09157704f9e58d0L,0xa8525b2f1b53bc52L,0x00000000000001c4L },
  72879. { 0x1a6f37d694130fe7L,0xbc72fdaaa18d2529L,0x6e51aec7bb557067L,
  72880. 0x44860fc5147b7b40L,0x64f81f1cd254589cL,0xb4ba31930406123eL,
  72881. 0x9dd412efe8b8be32L,0x8dbcb40b15702711L,0x000000000000013fL } },
  72882. /* 45 << 287 */
  72883. { { 0x9eca299b06a27b5eL,0x79f6fdc3bc3f5221L,0xc5b3305b7346f300L,
  72884. 0x570a19511022cff2L,0x58740fccc5207454L,0x5215d8164004ea39L,
  72885. 0x522224c739c8ddd9L,0x174c95e1039a27c5L,0x0000000000000001L },
  72886. { 0x4f69c604296bcce0L,0x51755ce45119beb1L,0x3d12e7d8a35cc907L,
  72887. 0x360935b0ab351798L,0x75eba43bc11b521aL,0xaf991a2cd31467daL,
  72888. 0xfaaf67ac17e63972L,0x44abfc569f13868dL,0x000000000000003dL } },
  72889. /* 46 << 287 */
  72890. { { 0xec7238d7c2d59d30L,0xaa4ef2e4aaa203fcL,0x566f58f4dcf9fc1eL,
  72891. 0xc8474f1a0869c0e1L,0x2d77f6726ad3ccd6L,0x9325fbc3dbfe2d82L,
  72892. 0x2860c924182a952fL,0x07b221d085b5769aL,0x000000000000000dL },
  72893. { 0x259039edbb854ca5L,0x70342bbcfc89ff2fL,0xc9a179010e634818L,
  72894. 0x6a06796dc81f0292L,0x3f625bdd35063f58L,0x5d78a549f498f7f7L,
  72895. 0x5fb6be9d911b1e7aL,0x9a3fb5bc3ba9e1daL,0x000000000000001aL } },
  72896. /* 47 << 287 */
  72897. { { 0x5731b8f3d98e6e5dL,0x6778b260d5a03ad1L,0xf279515b649b1ebcL,
  72898. 0x48610ff53312d0c8L,0xd389681f46354ff0L,0x80e063c9ef3c2717L,
  72899. 0x10ce407a83f0dd58L,0xbee78d46158e8ac2L,0x00000000000001b0L },
  72900. { 0xb5676bdb1a5531b2L,0x3ce62d7f2fb26867L,0x76e1b2152b0af296L,
  72901. 0x76875d567a42d01bL,0xb59fbfcb56991384L,0x7faea2f32de3a3a4L,
  72902. 0x06298c2772f7718aL,0x79264b65651d7515L,0x00000000000000acL } },
  72903. /* 48 << 287 */
  72904. { { 0x4de60e1e16d44fc0L,0x86143bbbd5546f49L,0x41fa8fd595ad6b38L,
  72905. 0xf2f21b350251812cL,0x2f5ade77eb2a57e4L,0xced255c0ac290bf7L,
  72906. 0xd1e7969058b23e1fL,0xba7a7514f406ffc4L,0x00000000000001fdL },
  72907. { 0xe2a9e7bc7b8ce9b6L,0xcc6107e8803955b7L,0x8a59ec8c432fa865L,
  72908. 0x6886d08c481bbb72L,0x0de2fe38db7fcc20L,0x654419299976d353L,
  72909. 0x0527047ec4efae8cL,0xfeec201ee21b2e66L,0x0000000000000086L } },
  72910. /* 49 << 287 */
  72911. { { 0x3f121bc676bffba9L,0xed8f7b175c3251faL,0x4755cd3f2c99c00eL,
  72912. 0xe79768df8e766134L,0x58662ef2b2a09ffaL,0x6f8d645a6a29c866L,
  72913. 0x5973d32426f990c9L,0xae9beecf5ae23357L,0x00000000000001baL },
  72914. { 0x64c20c91b3f0d194L,0x36b4d96ce153d1b9L,0xf294b342c9707d50L,
  72915. 0xb269c9b80599d63fL,0x2aa166e48a672b71L,0xdd8cf8ad8c69d106L,
  72916. 0xe446c91269bb8492L,0x3a5068e1e0afc64aL,0x000000000000006bL } },
  72917. /* 50 << 287 */
  72918. { { 0x7748105e4dfefb66L,0x952fc9823de55ef3L,0xc945662fec01a7dbL,
  72919. 0x57dfc326136c9246L,0x5864f8aab3c0dd2aL,0xdd11387181126d21L,
  72920. 0x096e017bc2f6ee68L,0x2bd384b529f22a80L,0x0000000000000171L },
  72921. { 0x7acc273262443e2eL,0x21f545cefa227e81L,0xbc0f387d716b1121L,
  72922. 0x8756ea78a8d3df9cL,0x91294298cf6c071bL,0xa109d544d37e7a16L,
  72923. 0x2c27c61c4a979e5dL,0xad4662bf6bb98eebL,0x00000000000000c7L } },
  72924. /* 51 << 287 */
  72925. { { 0x8f24735f7ef57d61L,0xfe764b217a74fb7cL,0x6b90cddaa7913c97L,
  72926. 0x89001bfd3d0fed42L,0x874d170a776c73c0L,0x7a7095c6e6fd64e8L,
  72927. 0x5f787a9dc5b6b31aL,0x550f1c531ff8424aL,0x0000000000000048L },
  72928. { 0x384c067743b13b54L,0x65d8884e2e5b67d4L,0x7106b3682b2b005eL,
  72929. 0xc22c663d2cb1f1a1L,0xc3bb1b8294e03ce8L,0x04a562df2d97ddaeL,
  72930. 0x7886ec4ba917202bL,0xa8eb4ac88bb2ae23L,0x00000000000000efL } },
  72931. /* 52 << 287 */
  72932. { { 0xf9a8bc79c269cd29L,0xbe6982a835a97cb7L,0xa7740e027200f43eL,
  72933. 0x72be0da1165175c6L,0xf7c5f902e8aea997L,0x079dd00fe6d7de98L,
  72934. 0x82940a7e0e5cd7c2L,0x615687af6e74f7ebL,0x00000000000001dcL },
  72935. { 0x84a93d46969bec3aL,0x673f8a1a81283fd1L,0x59ae6b7d1a24c4c1L,
  72936. 0x1506e799db5385d2L,0x43f89c2dfaf7c9e5L,0xcd4a58e507df349dL,
  72937. 0x87d1239226eff985L,0x9c7b514286548735L,0x000000000000000bL } },
  72938. /* 53 << 287 */
  72939. { { 0x8bbe703a952e81fdL,0xdf43b74182f9b684L,0x9c6ac3560ffbeeaaL,
  72940. 0x78aacf6dc17fcb23L,0x2698f3bec9ee6c25L,0x707d8033a6fd9701L,
  72941. 0xe844b5ae82b097acL,0x02cbc3fa57be01a4L,0x00000000000001bdL },
  72942. { 0x14ebe4367cedc9bbL,0x1d64fe901c921970L,0xe55c69b4daa0458aL,
  72943. 0x0f68f561da8951b9L,0x606ce9ddeb7f4390L,0x8b249877c8204883L,
  72944. 0xdae70a0a533eea70L,0x8367156bebbfc8d6L,0x0000000000000050L } },
  72945. /* 54 << 287 */
  72946. { { 0x4f085c6b70d71433L,0x500e36aeffe3039bL,0xbbb595eeecdbb49bL,
  72947. 0x49b4a39e84d8418bL,0x657af86547150026L,0xa1b6888f3495dd49L,
  72948. 0x3db61acb5f0cddd8L,0x86208eb95b9b0493L,0x000000000000017eL },
  72949. { 0x378f7c79a3a8e19bL,0xfe9d20c80225c551L,0x7192347f8a7d2706L,
  72950. 0xaf66bd88bd5a1a12L,0x184528325eb963bdL,0x0eddc645fe3cfb9dL,
  72951. 0xc50b1fa21f6d4faaL,0x582fc52f738cdaacL,0x000000000000015bL } },
  72952. /* 55 << 287 */
  72953. { { 0xcd8bb30ccff1f7f5L,0x2e476a3d52375afdL,0x84b205ede21acdfbL,
  72954. 0x0c07485624b6524dL,0x081539bb079c9199L,0x0ff9151612dbacdbL,
  72955. 0x0e2a291d778ea0efL,0x2c6bb624b6ae1b88L,0x0000000000000115L },
  72956. { 0x559603e05013ff58L,0x91ab545e04d6892cL,0xe58c8f9c9aabb577L,
  72957. 0x460c88fc3f50fb7fL,0x1d36f37d2c29abefL,0xc32f5683e698ffa8L,
  72958. 0x4311a22b14f77974L,0x061f7526c6512ae6L,0x00000000000000c9L } },
  72959. /* 56 << 287 */
  72960. { { 0xd0fc63b0ea5c4656L,0x87e24742b04936cbL,0x242865fef6223111L,
  72961. 0x0a1c9f7c88c3fdb2L,0xa1ce393deb785b41L,0xb57b01e50f014ec6L,
  72962. 0x84cd63f91eae978dL,0x28a02cf7615a8787L,0x00000000000001c6L },
  72963. { 0x000d32fb64317827L,0xeec5181bd8ebcb3aL,0x4f559972be5be8f9L,
  72964. 0xaaae45d1ff34fa5fL,0x34330820ec25372cL,0x3d3d88af5f583d42L,
  72965. 0x16e14e2dac9463faL,0xbfe401edd02c6401L,0x00000000000000fdL } },
  72966. /* 57 << 287 */
  72967. { { 0x303f7c2191026338L,0x1044db852d912c48L,0xfc2085c2470306fdL,
  72968. 0xf1ae74d7d6261c9eL,0x9383596cca88358bL,0x40e3fc61130fed49L,
  72969. 0x5b31503e7fb7caddL,0x74ae8b314ede0bbcL,0x000000000000019fL },
  72970. { 0x762dd492f4cfe3f8L,0x73ff4852c626dc61L,0xd71c7548dde18f9cL,
  72971. 0xb0f6e288549faaaaL,0x1e4864e9596d3c8dL,0x9d6ef29060783b2dL,
  72972. 0x4d4887031ec18d75L,0x18bb5d8f44f1de93L,0x000000000000005cL } },
  72973. /* 58 << 287 */
  72974. { { 0xd773ed1b16219cdbL,0xa9bc2d4bfd8c1c68L,0xb43ef1e5878e384fL,
  72975. 0x1b070439a150dd75L,0x8d5c9984e8a4281fL,0x7b4371effe5192aeL,
  72976. 0x4ca528f0fceb6294L,0x3657f78ac01f35a7L,0x000000000000008fL },
  72977. { 0x00b1077093170e8aL,0xab16fb4e1d2e8bcaL,0x9f313a1a4f2f8602L,
  72978. 0x88521cae6b9b2573L,0x6f6bf5ddee331076L,0xcf05b7228e09934cL,
  72979. 0xf8b445c395762a35L,0x2e1579120c892f04L,0x00000000000001a1L } },
  72980. /* 59 << 287 */
  72981. { { 0x3766a4d7858bc9caL,0x295bb5db99714cdaL,0xac54938ab5298fadL,
  72982. 0x2ba0547a429ecfa1L,0xc49c9daef173653aL,0x1de672b7e9d21243L,
  72983. 0x24960d342b2352bdL,0x46067324b31663a5L,0x00000000000001cdL },
  72984. { 0x13eae0f3789923d1L,0xb1849a53eac934d6L,0x354d92ffec456259L,
  72985. 0x88a4b03fe558f44aL,0x8e9d23e101d5bb7aL,0xf5734a3494fdf6baL,
  72986. 0x79e3d56e16e73899L,0x1ed057ee0e63d42eL,0x0000000000000099L } },
  72987. /* 60 << 287 */
  72988. { { 0x287d78f48c86cf27L,0x957ebaca51081682L,0xc5e2c0757ae4db49L,
  72989. 0x4fd137c952000f40L,0x614a4ab213285161L,0x71a6928ddae9e341L,
  72990. 0x9758874ba666dafdL,0x4bc8b6693697e3c7L,0x0000000000000161L },
  72991. { 0x5c31b76a89aac81cL,0x365bcf13bf1fcb91L,0xc64df528441b324dL,
  72992. 0x8b57f07fbe9a9cffL,0x7ae23c2186fb45d6L,0xc3bf3c3b136ebdd0L,
  72993. 0x6b5dc92e6dbd0b61L,0x330886f1d519ef41L,0x0000000000000019L } },
  72994. /* 61 << 287 */
  72995. { { 0x6d2e03fe6d8655c7L,0x0487d0369a5d4136L,0x86b1ba539c89b36cL,
  72996. 0x168a8617c25c8477L,0x818ec8e4ce0b81d6L,0x5f7e1f5aa79096adL,
  72997. 0x3ed99ae7396d84d2L,0x2798c459eef4e012L,0x00000000000001d7L },
  72998. { 0xe6564f4f531b9dc3L,0xb6627fe65b38bbe7L,0xd9ad26a6bea83504L,
  72999. 0x1b9d887b0e3d69e1L,0xb67ab97090f81c05L,0x16c1fc9ffcdbb086L,
  73000. 0xd7732e23d19f14b4L,0x047368461ec62389L,0x0000000000000100L } },
  73001. /* 62 << 287 */
  73002. { { 0x1dbc0bb16ddfa714L,0xda0302b7eec67fc7L,0x6daa1cba5a9dd848L,
  73003. 0x640d3b5ed9e894e2L,0x461653b3f87be8b5L,0x5a9dcbfef36a148eL,
  73004. 0x2e4784fca907eee0L,0x234c8b37b34d04b2L,0x00000000000001c4L },
  73005. { 0x2e70d5abec9c6abaL,0x6e9c28cbf32925b5L,0x77fd60422d0e1d25L,
  73006. 0x216e3254980aa40bL,0x75e1075516878b0cL,0xcc80010706a2ba55L,
  73007. 0x5f1f53368bfe962aL,0xc043f7eae6e46f09L,0x00000000000001e1L } },
  73008. /* 63 << 287 */
  73009. { { 0x2cbaa9d79a7d2353L,0xc8ddfcbfe0405dddL,0xd8b33d0c694fd5abL,
  73010. 0xe1c2a3f3c2c6dfbaL,0xb26f832191fe9c8bL,0xd30b644aa794437fL,
  73011. 0x2a94f86d74a29d06L,0xc249a27839b16ed8L,0x00000000000000b4L },
  73012. { 0xa2e31c29ea3096fdL,0x622d7af518e9785bL,0xf9a9c952c1cf5446L,
  73013. 0xe5c66c9d44c9a592L,0x128613e545227c47L,0xc57169f2f5ed7a49L,
  73014. 0xf5fe83dd15211638L,0x7cfbfa9beeaff7d0L,0x0000000000000140L } },
  73015. /* 64 << 287 */
  73016. { { 0x8645efeb9545bb61L,0xf696af86207181bbL,0x94d3014ca2b2d411L,
  73017. 0xb8f1515665c54db3L,0x6574f1cb011dd592L,0x7d9c69ebf3247ab4L,
  73018. 0x1708b24d5a391a77L,0xaaa19d08312e131fL,0x0000000000000167L },
  73019. { 0x1d3f4510ebaea62dL,0x2186c9c26c118b52L,0x81c0b0afcaaadd5fL,
  73020. 0xa0256b3c665bb598L,0xec461656eced1f38L,0x77bfe65265aa7914L,
  73021. 0xd2600229333f7aaeL,0xd916fbbde1f081ddL,0x0000000000000010L } },
  73022. /* 0 << 294 */
  73023. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  73024. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  73025. /* 1 << 294 */
  73026. { { 0xb64361a93f7cae04L,0x23cfcf76af64efbcL,0xb4539c3cd4965ae5L,
  73027. 0xf16e3e884df1182dL,0x2bf7eed4dd75fed1L,0x831a5956a215b733L,
  73028. 0xc23e3f1a9732d4ddL,0x3644961904677879L,0x0000000000000068L },
  73029. { 0x14675e68e07af31cL,0x82c3d1baabcd16d6L,0xab1b388e6fe13962L,
  73030. 0x3490b5218016a6aeL,0x13b584a11ce7f93bL,0x44265da4a5cbeb76L,
  73031. 0x17e4726763df9697L,0x10144c87cf2b278bL,0x0000000000000013L } },
  73032. /* 2 << 294 */
  73033. { { 0x4e75aeb08523aab6L,0xd32a993258144cddL,0xe7a2ea2d3c055e41L,
  73034. 0xc25dc24e31c1949aL,0x719e3bdaa124dbc2L,0x331bf1820c1b238cL,
  73035. 0x6fb91096fb86656bL,0x6a12ae8db484c49dL,0x00000000000001e0L },
  73036. { 0x4e4b8553e97e59afL,0x6a2b1f0d8e98d66eL,0x9001ace6d49bc96bL,
  73037. 0x70b21c8a3e8d2774L,0xba4c7da4473972a2L,0xf159ea8b7b898adeL,
  73038. 0x7a0e87a0cceda981L,0xb886ab7d2f280717L,0x000000000000003aL } },
  73039. /* 3 << 294 */
  73040. { { 0xdda29d3be583a2c5L,0xbc0632201b0c039aL,0x31c58c6f602b6077L,
  73041. 0xc8ddbb1bbb639a64L,0xdea19aefea3cf3d1L,0xbca9f001e9a2053aL,
  73042. 0xf0ec77121930345dL,0x4f2cddd43b9b8eccL,0x000000000000015dL },
  73043. { 0xeb7851a8abf98eaaL,0x12d75a839dc39602L,0x252365a4ebb5f975L,
  73044. 0x1b9301bcb8efb6a9L,0x0b489a405e8ddd2aL,0xd3629e5fce3b1dacL,
  73045. 0x2064a36707a223ffL,0xdc7e94d10080ee45L,0x000000000000014aL } },
  73046. /* 4 << 294 */
  73047. { { 0xe0828a5b448996e2L,0xdd3f4d9b516e440dL,0x223b4f87ab10e109L,
  73048. 0x766bde384ce7241cL,0x0b1cc320dcaf88a7L,0xb0470e7dd75440d5L,
  73049. 0xe3894e41ba76b7e8L,0xa0341305a762bb9eL,0x000000000000013fL },
  73050. { 0x4f5581d30eadf722L,0x6e4e31e050d8999bL,0xc14bb14802f03368L,
  73051. 0x41f1964326a263b5L,0xc0642e4c3b5f480eL,0x0a3280df63191881L,
  73052. 0x4ee1959a78fa9069L,0x7376078a557a8dc0L,0x0000000000000181L } },
  73053. /* 5 << 294 */
  73054. { { 0xbe2d598bff25ee79L,0x2a7c3b68c82ea4ecL,0x2914f1c160cc7b7bL,
  73055. 0xd9676e92e29a111dL,0xa5c2d63ba8ee3c8cL,0xa5c3ce60331676c4L,
  73056. 0x865ae6a4e189bc61L,0x73e0bc606cc0c210L,0x000000000000004fL },
  73057. { 0xb36fdaebc2480585L,0x9e32b2fb0aa27761L,0xc1bc360f749efcb7L,
  73058. 0x7bb61cd4a1c021cbL,0x78d559a81295d34cL,0xdb3da27d9ed2b89aL,
  73059. 0x2cd8e29bdd5ef272L,0xc8ef3c63de181b01L,0x0000000000000092L } },
  73060. /* 6 << 294 */
  73061. { { 0x1d99435dc6064b04L,0x7fa5fd072b95a7ceL,0x40ef3a291dacc40aL,
  73062. 0x95af1d5af4c68a6aL,0x67a2b605532c2d93L,0xfcb49b4b78620565L,
  73063. 0xf814de99833ae939L,0x5770eba80f620cb3L,0x0000000000000190L },
  73064. { 0xbf93ee90ff475874L,0x334debc1a2a5b169L,0xc67fbf1e68aa4bedL,
  73065. 0xfb1410ed74d07240L,0xb0a00657a9eb3f94L,0x59c6aa0a0f1be110L,
  73066. 0x5d615203b40b739fL,0x8724fc0b4ad94ffaL,0x000000000000006eL } },
  73067. /* 7 << 294 */
  73068. { { 0x30c955f422b25fbeL,0x0469be6e38702ec5L,0x24dc7ed77b4c3dddL,
  73069. 0xbcd2c1e51999ec26L,0x63d42519eb5918a4L,0x5b92b4a9b9272f31L,
  73070. 0xd02102ce79dedbcbL,0x09bae7da4777b662L,0x000000000000017fL },
  73071. { 0x96d4a0c4897b1f72L,0xd481098d85bb152eL,0x226203a263df30bbL,
  73072. 0xca5e74089bb6051aL,0xc89f1c4be0dead4eL,0xf9d8f9b5503a124bL,
  73073. 0x9e73ea84a08dd221L,0x5a898d3d7b5a3e30L,0x0000000000000173L } },
  73074. /* 8 << 294 */
  73075. { { 0x5c6dcfe8fcb68ca5L,0x499866e3902e03cdL,0x28638635cff1adc7L,
  73076. 0xd224bf5d6538cf65L,0x59fac5c2d7c55f70L,0xc710492699cda00aL,
  73077. 0x043001c39ae92020L,0xbaf959dbc325cc56L,0x00000000000000c5L },
  73078. { 0x76aec243e69664a7L,0x0885dbb386d69554L,0xe4a288833647325cL,
  73079. 0xdb1adc9a6e8e47a4L,0x3e2230dab14e1019L,0x49a16a19ac7da236L,
  73080. 0x12eac3e98df54dafL,0x78d48ea77964ab39L,0x000000000000008eL } },
  73081. /* 9 << 294 */
  73082. { { 0x6033de1bbaf7f635L,0xc253533472bc0c5aL,0x8192188210a5ae12L,
  73083. 0xa15accef6c3b8435L,0x6d0c30b8371eff0cL,0x877daecc0e7e663fL,
  73084. 0xae63f47ab0fdba65L,0x9b91f14bbb19f291L,0x00000000000000fbL },
  73085. { 0xf98cbf19c9ed84d4L,0x26265242c73f3fb1L,0x62fba52fa237aff5L,
  73086. 0x561e0ed381f85bc9L,0x18825d251d817972L,0x53de722c9ed3f84bL,
  73087. 0x8a2817fa3854812bL,0xd03138cf3055d672L,0x00000000000000c6L } },
  73088. /* 10 << 294 */
  73089. { { 0xca64371d1b6ba219L,0xaee6dd0f5d49fd5dL,0x3bbf0a2ce222ca70L,
  73090. 0xcdf5981fdfd4aa18L,0xd59333e9703352b0L,0x63c14fbce8c9d667L,
  73091. 0x59c6249ee1c82654L,0xf74f29f7a2f2b42aL,0x00000000000000cfL },
  73092. { 0x78a98f744fb7397fL,0x3b72aacb7d62ee2aL,0x5a2b827142b78618L,
  73093. 0xe73a88377efdba25L,0xe029ba19bb860133L,0x47b0f0fd48745802L,
  73094. 0xb416fb7d8b425a5aL,0x1716aca7838eaabdL,0x000000000000006eL } },
  73095. /* 11 << 294 */
  73096. { { 0x7b5e9555e7377511L,0x764963ddf57ac8a7L,0xc9d4d1202bc0c55cL,
  73097. 0xc89debb21325db7aL,0x768b37c0a42ad0a5L,0x6c47d86ab2c32964L,
  73098. 0x592ce7ff10712241L,0x5fc45fc1874d5848L,0x00000000000001c2L },
  73099. { 0xfaa50c97de74b8a0L,0x3552df05a90e0a0eL,0xd9fbb1a5d216a436L,
  73100. 0x08a1940cd78657f8L,0x2d91c2d64f5a0ba1L,0x0c1b9d61812b8946L,
  73101. 0xe048c827ea96bec8L,0x71315883fa6e2770L,0x000000000000016cL } },
  73102. /* 12 << 294 */
  73103. { { 0xcb52bfa5386c4e0cL,0x9ad631ce173c0506L,0x7779fd8d1f481a10L,
  73104. 0x0ce5155cadbf3b01L,0x946c3d6c4a66e714L,0x82363b8efc39257aL,
  73105. 0x5bff5f529f7ddfa7L,0xf6019194c959f74aL,0x0000000000000195L },
  73106. { 0x97e049ccd1a7e5e3L,0x20b70812ba5aba47L,0xaa1ae913eed6d2feL,
  73107. 0x3a742bce668bb4b6L,0x4527c1a564d51f79L,0x70e8a3c89295bfadL,
  73108. 0xa30663031cc82fc0L,0x2c7c0291fd3f6160L,0x000000000000006bL } },
  73109. /* 13 << 294 */
  73110. { { 0xe645810f34132c1aL,0x77c28cc35de4c75fL,0xbb2f5483a0de31e3L,
  73111. 0xd0fb9a7bdb26a8b2L,0x8886a0245235b15fL,0x526b04be0b4d1737L,
  73112. 0xcf6084d9489f9855L,0x971ca8398ed5829fL,0x00000000000000e1L },
  73113. { 0x33b5bd61ca6b951dL,0x6bf54e1fb00b2c5aL,0x3e739a1de67b50a4L,
  73114. 0x4a9af7f0ce82ee0bL,0x0fb8696146a2ee3eL,0xdb9363a79c97b9f9L,
  73115. 0xabd29abbdb1be929L,0x7d4fb696e812de1aL,0x000000000000014eL } },
  73116. /* 14 << 294 */
  73117. { { 0xca22e1011f4db09aL,0x1a821888be1a96d0L,0xa5b1218d300d31d8L,
  73118. 0xb4e11200befdce35L,0x6900c54fa507c579L,0xa343019dcc9fddebL,
  73119. 0x1ef6f8e7ce55a800L,0x0b7e6f2eb39b7d09L,0x00000000000000a9L },
  73120. { 0x67aee879d16b84d2L,0x4775d42bc4a9e158L,0xd13945291f790f48L,
  73121. 0x2cbd6d019bbcca5fL,0x08205b6360ad2134L,0xe69529826beba839L,
  73122. 0xda24d18c265360e7L,0x070fe85c1afb1319L,0x000000000000002aL } },
  73123. /* 15 << 294 */
  73124. { { 0xb382471bded9c20bL,0x2a710cf6db64da44L,0x92e11ddce8b5040bL,
  73125. 0x81d6600416313d98L,0xf9e48b77cfeef40dL,0x8a566a5c1961a274L,
  73126. 0x7e288e774935ffb4L,0xf4d9e1a989fb716aL,0x00000000000001b3L },
  73127. { 0x27596e1e6d08166fL,0xc36263f89c92f5d9L,0xff7193ddc1150003L,
  73128. 0x928de56fa4c5e839L,0x5709e478ecf9d5d0L,0x78834f6b90cc279bL,
  73129. 0x3581d7a4a251ce7fL,0xe66b47cd30d757fbL,0x000000000000013dL } },
  73130. /* 16 << 294 */
  73131. { { 0xeb4b23274247e72eL,0x6660a1e5175cc2ddL,0xb6cb2db4fa58cacfL,
  73132. 0x035b7ab3f93c9b5cL,0xd2582c31bbc94809L,0xb80863e54328d05fL,
  73133. 0x61f99dd580b782b5L,0xa17fb8fc59e27db6L,0x000000000000004dL },
  73134. { 0x4bdd2a99e6b71bdcL,0x586b3ce9210c0d88L,0x590b0c459295119bL,
  73135. 0x1ee8b021a417f7deL,0xce83ae394efecb1aL,0x06298f05eb3e3c84L,
  73136. 0x0e13905295e6d8c8L,0x5e8a4031babc6bd8L,0x000000000000011fL } },
  73137. /* 17 << 294 */
  73138. { { 0xa45c4393de825f40L,0xb9ec95008c3cf0b7L,0xebe3990e65d35126L,
  73139. 0x2de346a7703debc2L,0xdaaaa35182941b06L,0xb233de5e0a85d32cL,
  73140. 0x6f954814ea2ff0fcL,0xf60aaa4dbbd2cf8fL,0x00000000000000a4L },
  73141. { 0x844743f9f912025aL,0xcc428af1e86e6a91L,0xdfe077bdd8b2ecdcL,
  73142. 0x20eb2e7a0b8f76e2L,0x6063a73f0c3abbbaL,0xdbdcff05caba37acL,
  73143. 0xec2f6cb84aaa8012L,0x1ae4c16d8cad3681L,0x00000000000001c4L } },
  73144. /* 18 << 294 */
  73145. { { 0x57d2461128803c3cL,0x9c6f153e905c766dL,0x2a8d0e65a3df5f03L,
  73146. 0x5fb1c0c5ff0dc35dL,0xe3420a10bb4bd9b3L,0x464e2fa04c4a9eb0L,
  73147. 0x511a5d07694c91cfL,0xb23f2f1a52c89680L,0x000000000000014aL },
  73148. { 0x3d9d955113088161L,0x3747c9ca64c5a2d3L,0x5d13ffb630032fbfL,
  73149. 0x5f162ef0c0855550L,0x68bc14cc7f54d72fL,0x8ede5be68d825c01L,
  73150. 0x437cafd1d87e0007L,0x7040f1e0bca3477bL,0x00000000000000dbL } },
  73151. /* 19 << 294 */
  73152. { { 0x28cce0ecb9bebb36L,0xb29c8a152f0621fbL,0xf651326b8d2580f0L,
  73153. 0x26df142f35cc66fbL,0xe3750e9e14989eecL,0x55305d0d09feca96L,
  73154. 0xe006e3b93188fa22L,0x19b0e9242df6f347L,0x0000000000000093L },
  73155. { 0x53811345b5c4cdb2L,0x57ac7a2a79fcfca5L,0x7814795cae76763eL,
  73156. 0xecc5a5628821cdb4L,0x4cb555779a55aef9L,0x8e7a4b3792ef5935L,
  73157. 0x45f20156f18a1791L,0xa785efdbf98c417bL,0x0000000000000038L } },
  73158. /* 20 << 294 */
  73159. { { 0xb9b6ebf9b1351aabL,0x3199f6e349a08f81L,0x3cfdb7175df347a9L,
  73160. 0xad627841b15d1ecdL,0x994ac9a2d4918f31L,0x3f3b84a1a482e07eL,
  73161. 0x82f47118d01df2a1L,0x1ce7c2530612e165L,0x0000000000000117L },
  73162. { 0xa4d357d1b1a67846L,0x0ed36337a5f6313bL,0xf759acc56224b03dL,
  73163. 0x9f79550a43833acaL,0x71238a8d5b80bab0L,0x2f5d78d1f5a7e9d2L,
  73164. 0x34844c10af79cf0cL,0x202250a1878e03c7L,0x00000000000001deL } },
  73165. /* 21 << 294 */
  73166. { { 0xcee095846722f2e2L,0xa7e2d5ef2b812e11L,0x021a444781d9a125L,
  73167. 0x53b6ac752c3c35a1L,0xd41b7fef6cad23ebL,0x6f10644550687730L,
  73168. 0x6c5f184cbda38409L,0x4fcae4e8afaeeeabL,0x0000000000000058L },
  73169. { 0xa6a280db7a9ad8daL,0xbfab051035f6f97eL,0x32ca44d4a6d62fe2L,
  73170. 0xc7d3521955b5a2b0L,0x5ecd78fd85d6e1a4L,0x40b504b0f0f12cdfL,
  73171. 0x483df9abceb7c1b2L,0xf416371483db0c9aL,0x000000000000000cL } },
  73172. /* 22 << 294 */
  73173. { { 0xd7d6b8dae1e2262fL,0xdd1ce7929442a0a8L,0xb3338e7a23ab20c5L,
  73174. 0xc454dd1843e4d64aL,0xc03cf46e65e83085L,0x219b81220c11eb73L,
  73175. 0x9e2f67deff2cd3d4L,0x46fff24e3a0d6beaL,0x0000000000000131L },
  73176. { 0x990fc4b50f52b1d3L,0x980926dcfa16bdcaL,0xf70295610e725151L,
  73177. 0x009a73258100d906L,0x14beed1973be583dL,0x862ab646ee8ad63bL,
  73178. 0x96bf39cdac7c1267L,0xe73e0eae5d9e3cabL,0x0000000000000053L } },
  73179. /* 23 << 294 */
  73180. { { 0x3ca878fc4806181bL,0x405c7b2811146abdL,0x2d16043c0771366eL,
  73181. 0xd07c69fd4027bbabL,0xddadf4e4fbcac82fL,0xf5a67b2b7559132aL,
  73182. 0x942a4965f1a47aedL,0xfca25633a52e8212L,0x0000000000000022L },
  73183. { 0xaae49d7b10ca9169L,0x97c05152759d11deL,0x655d94ad51815da1L,
  73184. 0x57445ad9b5063685L,0xfced3ea4c51e8dfaL,0x2e9e229089e37384L,
  73185. 0xe62ae24628f62dccL,0xfd5969067f5a5b72L,0x00000000000000c9L } },
  73186. /* 24 << 294 */
  73187. { { 0xaa91d38ba207739fL,0x8c5e7ae36cb4b052L,0xa785648126932370L,
  73188. 0xec5f6683810f6a28L,0x56d9b66fdd4a1a39L,0x936d24f5b4ae3605L,
  73189. 0x5b89adb53ccefa36L,0x7d893e3ac6a0096aL,0x000000000000015eL },
  73190. { 0x98cecb6d99db465cL,0x66db3e132c1113b7L,0x9dfafbca881d1c5cL,
  73191. 0x78d6b56821503e69L,0xb0197722f05ac1b1L,0x2523d52bc45e608dL,
  73192. 0x8e77c13ceeb9ef93L,0xc5c6e0e756a50594L,0x000000000000010bL } },
  73193. /* 25 << 294 */
  73194. { { 0xbe9639f5607be4ddL,0xb7d415b59e82139eL,0xede6ac04d77f0ac4L,
  73195. 0xd8471424ceeb4155L,0x3fde6834bc76aa1bL,0x9020c58cae990b2aL,
  73196. 0xbe49e85009e1f067L,0xfe76c73de5218d9dL,0x0000000000000077L },
  73197. { 0x787b9b1a0b3809c0L,0xd095141cf230c780L,0xfd6de04e1550c58cL,
  73198. 0x648eef5d108a70f6L,0xbd0974b51fd5d1caL,0xc29be634e9f30f9eL,
  73199. 0xb8559f72240c47b3L,0x8787033507c3bcdbL,0x000000000000001eL } },
  73200. /* 26 << 294 */
  73201. { { 0xfcf2897b3170660dL,0x29f6635c142ac9b8L,0x1b6d6f170b575017L,
  73202. 0x254f887f443ebbfaL,0x5659e0e267479d77L,0x7f8597a73e6e63f8L,
  73203. 0x13d34c6edcbe3f6cL,0x061b32786dbd9c9bL,0x00000000000000b0L },
  73204. { 0x9240fa42f1d121d3L,0x596d9037c65540a3L,0x420820c53103dd1aL,
  73205. 0x494911c61334ddb6L,0xe0b43cc55fee1bfaL,0x6336d37087b32edcL,
  73206. 0x726ed517f52b8682L,0x7c94653320a217b3L,0x0000000000000031L } },
  73207. /* 27 << 294 */
  73208. { { 0x13f2450b909c1a88L,0x3344c3cdccbda714L,0xe230f4a809da0a01L,
  73209. 0x3fed866bfb805ca4L,0x2fe1c1cfca3269efL,0x49f7a32b47965aa7L,
  73210. 0xaecab243bd604104L,0x79769ec1a97dc613L,0x0000000000000134L },
  73211. { 0x107daf6c16bcca1cL,0x1593235a005a0645L,0xae1114dcea3b7e40L,
  73212. 0xfc3e330ec40033b9L,0x579ceaaf9e3b41e1L,0xee0d6fe7a459911eL,
  73213. 0xfc55400245f98d3aL,0x2b995f850e73fc4fL,0x0000000000000102L } },
  73214. /* 28 << 294 */
  73215. { { 0xf7ed6ffdf50a3d85L,0x920b807525ecd014L,0x9074d5d14ebbd57eL,
  73216. 0x2c7656f08ce72dfeL,0xd17c1313336df7b8L,0x342593894a6a7112L,
  73217. 0xf9112c8171d23283L,0x80ee8f87b19617b0L,0x00000000000000daL },
  73218. { 0xd411f8b2e36790d1L,0xe0352d7ac03b68a7L,0xe2b16d4e55dd2c1fL,
  73219. 0x3282a3de3b874068L,0x26fbc96e1b3d4991L,0x42f10b4520d08473L,
  73220. 0xf17dce35c84ed8e7L,0x78da06e791f15069L,0x00000000000001daL } },
  73221. /* 29 << 294 */
  73222. { { 0xf9775c57cd2967d5L,0x65123c2cd738174bL,0x4d91a7cdd3820c86L,
  73223. 0x3e709d34caf234acL,0x66250e69863a7e8bL,0x73cccdebb1885fbaL,
  73224. 0xca872751809b48d3L,0xeb4ca203f236ea5cL,0x0000000000000115L },
  73225. { 0x7e499db1bb1d64a0L,0xff0b67f3c37a7a2cL,0x443c5f612741f78eL,
  73226. 0x0768cb396aa2725fL,0x98c48c0d92dfbd7cL,0xfdada4a36fb67cbfL,
  73227. 0x00c916f66b221b57L,0xb25a08a38fa18490L,0x00000000000001bfL } },
  73228. /* 30 << 294 */
  73229. { { 0x32fa6aa0ebf76affL,0xbbb4b69eea27786bL,0x1a61db994113e36cL,
  73230. 0xd9ec11e72884fc1dL,0xa196c2e729d7cacdL,0x076ce25757e81101L,
  73231. 0x2d9b9f7041062d32L,0xa0f7f96948d96dc8L,0x000000000000016dL },
  73232. { 0x7ae29604caa1564cL,0x7860e39ddbb46de3L,0x099372d4dfc84fb0L,
  73233. 0xf784833c650622aeL,0x9711ddf9d66fff47L,0x62b51a5f046095eaL,
  73234. 0x50d05cef44618f6cL,0x2b3bc7637a5aefdbL,0x0000000000000024L } },
  73235. /* 31 << 294 */
  73236. { { 0xbd875cc5b89c9889L,0xaf8042931aa82e4cL,0x4ce2924dde1defecL,
  73237. 0x01f089d19b41586cL,0x9f2310e7ff9732bfL,0xe4c86bf3b0bb7eb1L,
  73238. 0xaa010c968bbc420aL,0xed2c9c7164c47381L,0x00000000000001d8L },
  73239. { 0x4a6b565e045bc12eL,0x36bf29cf77275cdaL,0xb464be38b331e0c4L,
  73240. 0xbdaec4d0cd49e3edL,0xa8c0eef1a647036aL,0xc40dd02ed31fa960L,
  73241. 0xc7a368ccdc2f5113L,0x3bad9d88e632a505L,0x000000000000006aL } },
  73242. /* 32 << 294 */
  73243. { { 0x709ac1575b6e48aeL,0x7ef27b0f95eb72ebL,0xb1bca839d987e330L,
  73244. 0x16d0f9b110b85d29L,0x08d6d9b2a5e559f2L,0xdcb7602d980b6daaL,
  73245. 0xb38f08a5f2f9b64cL,0xd9adc282e2cf92b2L,0x0000000000000164L },
  73246. { 0xcc6a51913137f926L,0x9e4ccf8488821c6cL,0x0b3991794c8babe2L,
  73247. 0x4269ee3929c119f0L,0x1374f63a3509d23aL,0xb7563c4386b73069L,
  73248. 0x2ad51f46077f8bbbL,0xc383bf47d8d3310cL,0x0000000000000079L } },
  73249. /* 33 << 294 */
  73250. { { 0x1d6891d39c0144e6L,0x52ac8f54ccdbe3ccL,0xb8332000c88c51c3L,
  73251. 0x033a0df23700556fL,0xf97e93d0ae841be2L,0xd8b2ae2e08523501L,
  73252. 0x6eeb8117928f1a3fL,0x81999870a8d353f4L,0x00000000000000b3L },
  73253. { 0xc84500b07b8bb4b0L,0xae616e25d3320838L,0x0bd7d96a43cfdad3L,
  73254. 0x8f9f3fbe4f1f18b3L,0xcbb1ebb2592a0c27L,0xfe42cf82368d7ebbL,
  73255. 0x6ddf64b8747c2e25L,0x20e39304cbc56bb6L,0x0000000000000152L } },
  73256. /* 34 << 294 */
  73257. { { 0xa1259eb0bb2db655L,0xa89c9e6723209bffL,0xf09647c4a6c417deL,
  73258. 0xf92aefac3904a74bL,0x0704a73616ca9de3L,0x9adca9d445a1c8e8L,
  73259. 0x07a94afe87213d9bL,0xf74f1787766b608cL,0x000000000000002cL },
  73260. { 0xa9546f6cb6803298L,0x890b7f942c895a2cL,0xb63ee1f2ac1c77f7L,
  73261. 0x1d40ecd67d5d03b8L,0x170a292646dba729L,0x11c4fcbbcd7545ccL,
  73262. 0x39e139d129a71c77L,0xfba76833cdb60a56L,0x000000000000019dL } },
  73263. /* 35 << 294 */
  73264. { { 0x8887dfd9515bc9c3L,0x1cae6d1e9a3bf242L,0x37ab9d8905a3a363L,
  73265. 0x1d37a7a883c27e10L,0x053e57b62672c074L,0x97d3adbad73a2ac8L,
  73266. 0xb633f506bcc69d6dL,0xd4e3c2b08a152835L,0x00000000000000f9L },
  73267. { 0x6ee41d786c369bbcL,0x4ad8ad62941e1248L,0xf4e782a534050f32L,
  73268. 0xa8ea4017752206f9L,0x073e2905a6c0904eL,0x536f600f5e5e161cL,
  73269. 0xd67e05f5518ceee8L,0xde6a5527c3b67d17L,0x000000000000010bL } },
  73270. /* 36 << 294 */
  73271. { { 0x7bfeb9af12391b95L,0xd79181d83d2855d9L,0xeb0cb5ba84bc3f73L,
  73272. 0xc7aaee27d4577568L,0xbebb1d976d62aaf2L,0xdf7f87711c0d2c76L,
  73273. 0x8e735dc01390efe5L,0x324a3fef10b0342dL,0x00000000000000ddL },
  73274. { 0x0f074d4be5ef45e7L,0x2af56abee6c99cfbL,0x55f70e37666b03e4L,
  73275. 0xb1f0116afed0a21eL,0xf9fe9c995603998dL,0x70507e45a43bfa71L,
  73276. 0x68d2f7d4ce0e4a10L,0x819fd53796d5a95fL,0x000000000000006fL } },
  73277. /* 37 << 294 */
  73278. { { 0x0c0b1628c0ce3722L,0xef71fa4e06194427L,0xe9ffc8fd35815428L,
  73279. 0x5ba6b0819d519771L,0xc0ff3c5e81293238L,0x5a91a345e4d2fa29L,
  73280. 0x6bedab154d0e36d9L,0xa2860c0014f98febL,0x0000000000000145L },
  73281. { 0xd39d5aa9b47fcfd6L,0x7d6097fdb3537bdcL,0xcc18e7c947a1b76aL,
  73282. 0x3a4f5d36e2ef31f8L,0xab932eb1656164d1L,0x48ad2dae3bb3c089L,
  73283. 0x79240de0dd6942a5L,0x526b6529f9e208c8L,0x0000000000000130L } },
  73284. /* 38 << 294 */
  73285. { { 0xf53da60c28eba272L,0x120745e32d8a9f6bL,0xaecd0eced8dacf70L,
  73286. 0xa40838eab208a28dL,0x5a1a7c465d52ddc5L,0x3a57c3b47e8ea970L,
  73287. 0x0e1cbbe5ac84baeaL,0x6b65d65510465e38L,0x0000000000000170L },
  73288. { 0x0f1ebb96b489253dL,0x0c973fcbc40f5d44L,0xfa1cc30044a55f05L,
  73289. 0x35173c9e07b22802L,0x4ba69f3619062869L,0xd0986139f6602251L,
  73290. 0x26fa63d1e46cbd26L,0x5b75686d57991c42L,0x0000000000000082L } },
  73291. /* 39 << 294 */
  73292. { { 0xc5115f182596f8fdL,0x3eb7ab5627e6366fL,0xb46be9749a07d0ecL,
  73293. 0x5a6e73b4dc031cbcL,0xcaaa10655df414f5L,0x42f6367757566770L,
  73294. 0x475e0a1036b5a3d3L,0x2fa0375c46291bc7L,0x00000000000001e4L },
  73295. { 0x541780b5c542ce68L,0x8a2dca3d229cf7b2L,0xe792776ef974bae0L,
  73296. 0x998503c7f582aed6L,0xc8c05f91dc12e582L,0x8fe4af98095607b5L,
  73297. 0xccf8f7d8eb35165fL,0x292d6f084818a888L,0x0000000000000085L } },
  73298. /* 40 << 294 */
  73299. { { 0xf2f55e6187055f7cL,0x96c05bad1c7b6ae2L,0x24d4ba609b81ccc6L,
  73300. 0xc4c666e9b704f1f6L,0xc505d03fec354e60L,0x6ee24bea512b62beL,
  73301. 0xe86bc686b5ad8726L,0xdea6279ec3fc6e18L,0x0000000000000196L },
  73302. { 0x2bb0ed8b4f92584bL,0x4cdf258aa481affcL,0xf067c8c665362effL,
  73303. 0x0341567f73099e69L,0xa42fa640487d6afbL,0x4856eb7e41d7455bL,
  73304. 0x7deaf1b1d3730d35L,0x7158dfe5d247b629L,0x0000000000000068L } },
  73305. /* 41 << 294 */
  73306. { { 0xcc0ff75ba1efb92eL,0xba0ae458675c11e2L,0x7e9bb0646ac807cbL,
  73307. 0x5050c5000f219badL,0xf8135f19babe7ae8L,0x3e7c7d8e65eda230L,
  73308. 0xe7ce162a30069ec8L,0x7c3c5a9262a18f99L,0x000000000000015fL },
  73309. { 0x82e3dd1fddf2de5aL,0x130d220e94ff0565L,0x06f36b112ac2b85eL,
  73310. 0x78f3dd866617c47fL,0x1aa3510d1a1d5df9L,0xce8b3b99c16a9a31L,
  73311. 0x6b56971575712816L,0x573cac34cb8ca234L,0x000000000000000cL } },
  73312. /* 42 << 294 */
  73313. { { 0xd92f6b9d75b13008L,0x9a504d49a2bb0d27L,0xb38fde71b9ba11f1L,
  73314. 0x4901413b2e9f2060L,0x8d13eeeadee6353eL,0xd84abab0485f7dd2L,
  73315. 0x620df02792f99ca3L,0xc03f647f5e4d1b12L,0x000000000000019aL },
  73316. { 0x54560d5e25f0441fL,0x4338b22c51d1f048L,0xed6b559a159b7a05L,
  73317. 0x476886554fdc8368L,0xf42f1a082eab0196L,0xac60f4d1f3b18394L,
  73318. 0xa915b254a5f7a4b2L,0x73b6a490db363c41L,0x00000000000001bdL } },
  73319. /* 43 << 294 */
  73320. { { 0xdcf1a754ea2591e8L,0xfd641959381e2f22L,0xfbf1c118a66001ffL,
  73321. 0x4269279d3413d83bL,0xe4ac33ac4b48066aL,0x6e6c559e0dc98b68L,
  73322. 0x02a9a9e02faa1329L,0x8648b1ba747c1385L,0x00000000000000d9L },
  73323. { 0xc0aad5a5256c9a1cL,0x73129d17a8e79c07L,0x23145244eca7c812L,
  73324. 0xfed6f8e785cac27dL,0x0054b0438269c8f3L,0x5a78b38da889f04aL,
  73325. 0xbb890a92bf9897f6L,0xc7ce53668d484412L,0x00000000000000e6L } },
  73326. /* 44 << 294 */
  73327. { { 0x23095fdf14c98670L,0xa48c421e9dc0f253L,0xbe07424b0e23ffa6L,
  73328. 0x2d6b8ac86e8dc32eL,0xe3d6e195ad8e1120L,0x2f1ee8e1ffc71daaL,
  73329. 0x603908be648bd635L,0xff134805e912c300L,0x00000000000000ddL },
  73330. { 0x0ffcc425d4322e89L,0xc809f5ed8f09f42aL,0xc1114010ef2508a2L,
  73331. 0x5c07dc01c51cb0c1L,0xf3d650a11d946eb4L,0xd907ad9a51e6b2b3L,
  73332. 0xd588d588c945f2d0L,0x7dab07bfd1faab39L,0x00000000000001e1L } },
  73333. /* 45 << 294 */
  73334. { { 0x9d5b2544a3d51ab0L,0x084588178813a487L,0x4159e69cb8d92933L,
  73335. 0x59494a445c5ee13aL,0xd339bd9cdcad1546L,0x3c021d0f1fae07edL,
  73336. 0x07c938bf8be84dd4L,0xe4509d7a3163647eL,0x000000000000011bL },
  73337. { 0x29cf63b6756908ceL,0xa229c250b92741b3L,0x1d4507fd023662a4L,
  73338. 0x5ec7929f7f96cee4L,0x6c6abb6dad431e51L,0x99b1af2bb7feede1L,
  73339. 0xb08a47e466ceded9L,0x77b5577b2af814d4L,0x000000000000007bL } },
  73340. /* 46 << 294 */
  73341. { { 0x23c220f22f3ee9b9L,0xb3a0e0c9bf727513L,0x3e276e115108bd41L,
  73342. 0xf269c6b23fb319d4L,0x28a035b0e40e70f5L,0x9974d2d490400c05L,
  73343. 0xf7d62731e4e71f3bL,0x44119e4474b742deL,0x0000000000000000L },
  73344. { 0x502b39745f29b07dL,0x02f9f845c8b1ec1aL,0xa80e587d1ff9b054L,
  73345. 0xc0e07aea1fd0e64cL,0x8b7e83622e582f60L,0x3e21f291ad1f1dbaL,
  73346. 0x214395c034de6756L,0x5728d60a7d45dc64L,0x00000000000000b7L } },
  73347. /* 47 << 294 */
  73348. { { 0x39922191c05c3ffeL,0x5de7dd5586c48ba9L,0x325c9b5cd38564afL,
  73349. 0x6a88a43990fa14b2L,0x87cf5b102362445aL,0xfa0eab8bc88b3f68L,
  73350. 0x18f7e5b5341e78b9L,0x31b27ad4116fd87eL,0x00000000000001c8L },
  73351. { 0xf0ff17d4932024cfL,0x205a03fe3a30a631L,0x60b6627b733c9445L,
  73352. 0xb091ba56a715d6f1L,0x0c4397ab3b1a6b21L,0xf16a58e63a2bfd3aL,
  73353. 0xd217ddb7b6447176L,0x79d9a86cc2536744L,0x00000000000000faL } },
  73354. /* 48 << 294 */
  73355. { { 0x29d8faf43544cc95L,0xcdde285818e4e95eL,0x0a01b08dfe9368caL,
  73356. 0x40512dd7c6dbbcdaL,0xcef252a068c1423cL,0x98204e95aae7650dL,
  73357. 0xb922928b77e51a04L,0x9a77021a72eb97a3L,0x000000000000018dL },
  73358. { 0x5647c6f296c7c29cL,0x6a17e12a870ba81bL,0x42df0e2e73c0ee75L,
  73359. 0xa214b4098765ee48L,0xc098d30234faf6eaL,0x0f5b59a79aa0e1a1L,
  73360. 0xd73224f17c87855fL,0xb78b168cd6d2a061L,0x0000000000000050L } },
  73361. /* 49 << 294 */
  73362. { { 0x070fda90fa5df695L,0x3160656226b01e04L,0xf6e12156de3aaaf3L,
  73363. 0xed0f215de7dd01d6L,0x57e283329659a00fL,0xc5969e57935e63c7L,
  73364. 0x90e3b2844178ad18L,0xbbcb285453123b93L,0x00000000000001bcL },
  73365. { 0x36b29ac2195f63e8L,0x5771e9f017eb8981L,0xfe74b12b5da40865L,
  73366. 0x5f0ff67386d920b2L,0xd327498440426defL,0xdeaef693e06941f1L,
  73367. 0x61416da7dd68bf90L,0x8ff9d2bdf1723ba8L,0x0000000000000109L } },
  73368. /* 50 << 294 */
  73369. { { 0xd1da2b970f4ced78L,0x9486496aaff53bddL,0x3b2c09e905787a65L,
  73370. 0xd714235e3bf092b0L,0x2c2bd98def495c76L,0x48d93c1256044673L,
  73371. 0x897376addff54802L,0x68777721468af1b8L,0x000000000000016cL },
  73372. { 0x5bbb6bed1f304dd6L,0x35dd2294241518a1L,0xb94de945df0e416eL,
  73373. 0x016ce62126a1b13bL,0xbd7cca2324a58997L,0xe3cb85775eb8b579L,
  73374. 0x8ed1e530dfb46f50L,0xd3e45de5b7bebb2fL,0x00000000000001f4L } },
  73375. /* 51 << 294 */
  73376. { { 0xe3819d9a1c771ea1L,0xbf690720dc59eb84L,0xa541e37699348dcaL,
  73377. 0xb7888fc369fbe622L,0x1c8a5762136e6a6fL,0x9ead48dabbfa63abL,
  73378. 0x23ea7bafb1ceea24L,0x9e5b105b5f2cdd03L,0x0000000000000179L },
  73379. { 0xa0d739e636b63e7cL,0xdbe55702dbda9abdL,0x73866365556299bcL,
  73380. 0x4c48b2c9efe0e38eL,0x06427eeebf017592L,0xf3d389aae05788eaL,
  73381. 0x1db17dbb783c8e0dL,0xf1a6d1560552d575L,0x00000000000000baL } },
  73382. /* 52 << 294 */
  73383. { { 0xd185cfc3f5823bcaL,0x94e833382d648a40L,0x719def2c4d22d2deL,
  73384. 0xe23be64f266e78a8L,0x8830cb3e752ac9cdL,0x2598bc00d0f2cc62L,
  73385. 0x42513e2c62336adaL,0x7343da72b35e9e9dL,0x00000000000001a8L },
  73386. { 0xa38d5d2219b56641L,0xd7e2949e94a2e805L,0x03f06fa6a850f355L,
  73387. 0x744779e0dea5393aL,0xf6078b4c9cf8ff02L,0x3a150184d43248faL,
  73388. 0xf2b064f88cce580aL,0x3894f51466eaf1aaL,0x0000000000000049L } },
  73389. /* 53 << 294 */
  73390. { { 0x5bf8be23e3841518L,0x390df312c1d8812eL,0x87c36912461bffaaL,
  73391. 0x9159a05a2adfaa7cL,0x7c1ebbe962f281cbL,0x9c0a76c9082166d0L,
  73392. 0xa929dffb920301aaL,0xc32334dfd7fd6366L,0x00000000000000b5L },
  73393. { 0x3d292b74f63f5f63L,0x022e7982a5482092L,0x45808135f3179942L,
  73394. 0x7256ff64865831a6L,0xa5c9588e5a3e9363L,0xcc7d2ca88c82986eL,
  73395. 0x7bec162f05626c9dL,0x89da9ae77b9ff705L,0x0000000000000198L } },
  73396. /* 54 << 294 */
  73397. { { 0x5b038af3f5bb585bL,0xb98ecb5f37bd3ae5L,0xc1b18cb194be2a43L,
  73398. 0xa9618ec095e4d777L,0xc40f2dabc748a4bfL,0x21904d556228ac53L,
  73399. 0xc660cec8dde83410L,0xff36f88f50979bf2L,0x0000000000000160L },
  73400. { 0x9628fa6551d8881bL,0x73f061b88947cb47L,0x79f5d6c845cf0762L,
  73401. 0x49504051376a43d5L,0x70c737b7a3f83f46L,0x59d034dd0cc593bbL,
  73402. 0xaa0875df26342c19L,0xa585ead811d79d98L,0x00000000000001ddL } },
  73403. /* 55 << 294 */
  73404. { { 0x1779f234ef839635L,0x8f58efb1f40a5a65L,0x1d6206ab3e5cc402L,
  73405. 0x1bbd6fd7e912df6eL,0xc924914685b7d132L,0xff29fea43e802e9cL,
  73406. 0xc61175867bcf48b9L,0x6540528e9282c06dL,0x00000000000000e1L },
  73407. { 0xd0f41b96127c2594L,0xe7b7f49987819eaaL,0x86005a00584aaa91L,
  73408. 0xb82005e47840a3b8L,0x37a7f2cccf139be1L,0x483a5922c7f15281L,
  73409. 0x606a1b81c55ae9bdL,0x93027e7d27ed3387L,0x0000000000000144L } },
  73410. /* 56 << 294 */
  73411. { { 0x095c54694caddfa0L,0x7db5b97d383c724eL,0xb4698e9a92ca76e8L,
  73412. 0xd964ac2001ae58ecL,0xd743f813b822b97dL,0xd8de0d8520171bacL,
  73413. 0x549e8ae5ea164044L,0x03c9d920f8426c21L,0x00000000000000bbL },
  73414. { 0x794be56d907e69abL,0xd3c037943abe9f98L,0x9a5eae5c84e132d7L,
  73415. 0x9a7afb80bf979b72L,0x624910c94bcba819L,0xfef0daf5adb707c4L,
  73416. 0x7c9d0680ecc8bf66L,0x342fd8b9681d3792L,0x00000000000000a5L } },
  73417. /* 57 << 294 */
  73418. { { 0x31af9ea81c876e00L,0xf54b3306c17ce3b9L,0x9da29ba8b7b66baaL,
  73419. 0xe8f958bdec97fbaeL,0x9aed85e5d5d5ca73L,0xde6ee26dfcf4f1d7L,
  73420. 0xf4e2831640d20e59L,0xc344605f84d7d1c1L,0x00000000000000b3L },
  73421. { 0x5488e1b958226056L,0x79c948a9cb124c25L,0x278af742f40ff7b7L,
  73422. 0xecc60fa1740757d1L,0x648f9a18476f60f2L,0x28d72cd41ec656a0L,
  73423. 0x0679149a291cc21fL,0x74d87b8355eba80bL,0x00000000000000e4L } },
  73424. /* 58 << 294 */
  73425. { { 0x6d48fb31ad6f4fb9L,0xe536f4b6b626e78dL,0x49aae08b0d7fdbe4L,
  73426. 0xcb3963457a9ed668L,0x041268b9b63b577cL,0x0b1593d8ea5b7d95L,
  73427. 0x26c9109ca54dcef4L,0xcf5576e783ea872cL,0x00000000000000b2L },
  73428. { 0x835382690ae7e08eL,0xe844c9b9f4c32ddfL,0x839bf854110c1a1fL,
  73429. 0xfaa5f6775c69fab1L,0x198e91e6e763e4adL,0x47da5f178f63cd42L,
  73430. 0x61c638a62c872558L,0x6bf1c8895618547eL,0x000000000000018bL } },
  73431. /* 59 << 294 */
  73432. { { 0x6a8cc986caae6ae4L,0x1d7c2d67d6d6435aL,0xdcdf751c1f27d040L,
  73433. 0x084a8ad907b0b209L,0xa03ce81aa4cb20a0L,0x8bd7ee7273b7ce3dL,
  73434. 0xc30a9ee4bdc436dbL,0x09c04ae46034aff0L,0x000000000000007bL },
  73435. { 0xfabd79026c6bd45fL,0x799e004bc957c862L,0x5638fc917a905a28L,
  73436. 0xf0faba028a378c7eL,0x89e982772ac3baf0L,0x80c111429112a683L,
  73437. 0x134bf54ad1c0a381L,0x6981a134a371b908L,0x0000000000000165L } },
  73438. /* 60 << 294 */
  73439. { { 0x8cdf5496ea2d6f47L,0xd16475ce1384a82dL,0x443c6bbe79dce016L,
  73440. 0x520583ea11c229e7L,0xc345965d32d1ee47L,0x046c5c214eff5930L,
  73441. 0x9810075e19d48e5cL,0x3e1425909cc794ddL,0x0000000000000186L },
  73442. { 0x254d003679cf471eL,0x87a8c5ed0d5a2f06L,0xbc16fd945516fbdfL,
  73443. 0x2e7c1bf26fa2a909L,0x28297856237ba960L,0xcfb6b336091507fcL,
  73444. 0x0cab1eb283a9939dL,0xe49bc8d8aec9cb63L,0x00000000000000b0L } },
  73445. /* 61 << 294 */
  73446. { { 0xc62b48a8982b000eL,0x8277c2682d1953b3L,0x19cfe475a9b47cd0L,
  73447. 0x310d9c740992a068L,0xc03ee94ec1dbed2bL,0xc26915c631c025c9L,
  73448. 0x46d1a3136d451124L,0xd8840ea94a5e33afL,0x000000000000005eL },
  73449. { 0xbcb605537c315236L,0x01b759256d7c2f69L,0x31e142f17568be8fL,
  73450. 0xd39380b76ad30805L,0xeafc7a683c516d0cL,0x83a284ec418c61d5L,
  73451. 0x493a0f10045a330fL,0x548e81d57c31cc6aL,0x000000000000006cL } },
  73452. /* 62 << 294 */
  73453. { { 0xf3445d6401011685L,0x58c874941bcba0abL,0x4a5fb2a29e299226L,
  73454. 0xf76e578d815c50bbL,0x996d096f14f6347fL,0x6056b8185831b153L,
  73455. 0xda2fd3d05d5d22b4L,0x512217c398f9bc2eL,0x00000000000001bcL },
  73456. { 0x82c87114979f39abL,0x7a032a31ca612d87L,0x81bd29f591930220L,
  73457. 0x361732d21fc75c2fL,0xff5fd67e43ce4841L,0x53b8c32d784a180bL,
  73458. 0xc666c0a34a359515L,0x78095258fd91743fL,0x0000000000000002L } },
  73459. /* 63 << 294 */
  73460. { { 0x22c1d1baa579fa74L,0xa3000c7398e2761cL,0x35fa789b86e47f27L,
  73461. 0x78247dded7ceb040L,0xe86dae9bf0211813L,0x4526464eb9a8e680L,
  73462. 0x8a415c8dcf84b9e3L,0x2a3d5df6bc25d1acL,0x000000000000006cL },
  73463. { 0x34af41b5b5ad0cd3L,0x18920068740f40d9L,0x3efc1ccfbd6c4c23L,
  73464. 0x7d188dcb889947efL,0x9b63949593e850cdL,0xce1d6ae38bf50f30L,
  73465. 0x3f8370629c1740b0L,0x80d89ab62e93fa82L,0x000000000000008fL } },
  73466. /* 64 << 294 */
  73467. { { 0xcdb8a92c817221d9L,0x7ff2643e780ed8a2L,0x5efcceda56fc9caaL,
  73468. 0x59b5aa12f823d2fcL,0xfe97818b9dbfeb54L,0x2becceafa13dde72L,
  73469. 0x5d5b53cee8692b1bL,0xf5e5ac69cae9ddc6L,0x000000000000000fL },
  73470. { 0x6ee75741c692d9ccL,0xd97eb6f262a91d4dL,0x8858ba5de2924e75L,
  73471. 0xb8e1b22a517030b1L,0x651a68382af83dfbL,0xc1fb14d21c21be14L,
  73472. 0x87689d46c9eba60eL,0xe16cfc1a0da1a29dL,0x0000000000000107L } },
  73473. /* 0 << 301 */
  73474. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  73475. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  73476. /* 1 << 301 */
  73477. { { 0x4021a24de3c91b63L,0xf7cbd01a0b896f6cL,0xb005e27e145743c1L,
  73478. 0x170d30313d2c0449L,0xb2369781715e87bcL,0x7ef5d8e0d6e85650L,
  73479. 0x1a5fa6c7b232c66dL,0xc0455caedb20ffd8L,0x000000000000001fL },
  73480. { 0x3acf9bd305c7c488L,0xbf769bb0294df5b3L,0x8d5f90958fa692fdL,
  73481. 0x9b20f4c777aef48dL,0x312134317987ad09L,0xc0b03aead6a327e1L,
  73482. 0x5be9a205e6f56badL,0x2db39c5e6c7ff60dL,0x000000000000002cL } },
  73483. /* 2 << 301 */
  73484. { { 0x06e672911fbe4b1aL,0x2df4c01c7328b43cL,0x811847ea7350889aL,
  73485. 0xee53f7eff19988a8L,0xcc3fc6d371578d7dL,0x20682a7b7b0f48ecL,
  73486. 0x6979a4f21ec4cd51L,0x58272b7c845bc78fL,0x000000000000000eL },
  73487. { 0xceec799c35e8ef48L,0xa01333eff9ec8ae5L,0x5b99b83ef9262e87L,
  73488. 0x37c4df170f427205L,0xb20cef3ff972dea8L,0xb63ac380c6c4c976L,
  73489. 0x0b915c3290866381L,0x8817b26a91eedcabL,0x000000000000001bL } },
  73490. /* 3 << 301 */
  73491. { { 0x7ace3143a092069aL,0x0bc9cd595e70d5caL,0x1c26df9860dae8ccL,
  73492. 0xf4358cefb881888bL,0xfeddc9766632ab56L,0x08206f72b870dda8L,
  73493. 0x46f76ea4cc81f687L,0x865b6cb3ca702001L,0x000000000000007bL },
  73494. { 0xc064a2e3b099af17L,0x88beb2371d625dcfL,0x507be25af7b18ac9L,
  73495. 0x46c8c36077f8ed84L,0xb019195fadf90251L,0x386ed5ce56c4eb40L,
  73496. 0x46427f9c870504a2L,0x156e3c6f36d0f019L,0x0000000000000033L } },
  73497. /* 4 << 301 */
  73498. { { 0x06e0332e000535eaL,0x5c58e86403bbbe55L,0x4d9a6db110b9b5a0L,
  73499. 0x7ef09cfc6a24db5dL,0x61d105f4819d4d78L,0xc5e243dd82d474a2L,
  73500. 0x8742d427886e0d59L,0x08cc598e079399e7L,0x00000000000000afL },
  73501. { 0xb1af75d1c8e53592L,0x74857a7fca9dbfddL,0x2f7f11d8d49cf79fL,
  73502. 0x82c78c0d7c4073d2L,0xbe13602fab4c74c0L,0x4282184ed0d37ad7L,
  73503. 0x719bb29728289fe0L,0x08fe79e9b09427e0L,0x0000000000000192L } },
  73504. /* 5 << 301 */
  73505. { { 0xfb9970015eaa1129L,0xbec9a530e84da535L,0x133710955d6afc1eL,
  73506. 0x7156b33510b368edL,0x86d22c634c902f9eL,0x64ea7336eaf83f1bL,
  73507. 0x700571f6d4313851L,0xe6398407a8fb758cL,0x0000000000000191L },
  73508. { 0x004bcb3ad7673444L,0xa0ad23ff6c5d7b10L,0x86969ed559aa896fL,
  73509. 0x80c4897508a9f27cL,0x37a8337cba7fc097L,0x295b4ece65a34328L,
  73510. 0xb14eceddf56efccfL,0xcf9265ea638d1620L,0x000000000000017cL } },
  73511. /* 6 << 301 */
  73512. { { 0x91a6ba108d64773aL,0x18e9f8c089ac1f66L,0x49f08c886ff68e9cL,
  73513. 0x57b6fb9131913442L,0xdce8f943d9be3a61L,0x03a6d0137c897a92L,
  73514. 0xa3cf84d469451d27L,0xf9d603b978585859L,0x0000000000000019L },
  73515. { 0x9b651ee0bbe619d9L,0x6595951edf219411L,0xc4b2ffb73e53e02bL,
  73516. 0xc32b5aa6f8bd17f1L,0xe7788f4a97f05123L,0x31d33abeb624663dL,
  73517. 0x9e736612d8b9fcd9L,0x6b948711fa3eaa15L,0x00000000000001a5L } },
  73518. /* 7 << 301 */
  73519. { { 0x7f209595588ba3f7L,0xe2407c9a57ea6473L,0x9beac14648c8914fL,
  73520. 0xa76746da7281653dL,0xb98edf137b9eaf4dL,0x4af237b992b8e681L,
  73521. 0x9681674885d4493fL,0xcf67088b2d55fb92L,0x000000000000002fL },
  73522. { 0xfc9967792f89cd08L,0x62bf8d1b54cbddc2L,0xd9395c418dff283aL,
  73523. 0xc384a2e9e7ffadd5L,0x39f0e602bedf1036L,0x0fc173dcd28e10d4L,
  73524. 0x574c346fb4a775a3L,0x9f62fef62b897266L,0x00000000000001cfL } },
  73525. /* 8 << 301 */
  73526. { { 0x163a9e62eec6e312L,0xd11432c1459162d8L,0xdde7d941a25d4934L,
  73527. 0x9067028e8d868aadL,0xb71b17085b6e3d21L,0xaed73637e95d3c7fL,
  73528. 0x51bcc93c1dce0d78L,0x2f45d06a504a9d0bL,0x00000000000000beL },
  73529. { 0xec12ea4b300b2478L,0x91ac6eedf2a48388L,0xfbdc1bba7a7631adL,
  73530. 0x5b2669cb79d5f4ceL,0x219d64f948c8f025L,0xadcaab29aadb5873L,
  73531. 0x3b07af1c671bd673L,0xe66e7c67b7f2d8f5L,0x00000000000000c9L } },
  73532. /* 9 << 301 */
  73533. { { 0x877a56c5e8c21c07L,0xaa9b34cc64389ebbL,0x05d0452d80b06ab4L,
  73534. 0xef13a83f48e78fb1L,0x8f1ccb089003b1f0L,0x9b6f68ae0e240740L,
  73535. 0x3b4e3941e661e336L,0x3d50ab4f9673bef9L,0x000000000000002fL },
  73536. { 0xd84e8415839a034eL,0x9af0ecb379490c58L,0x3fa5698f53a7f6c2L,
  73537. 0x7ee6a1fe1f5f8a6cL,0x759f0ff62d9134d8L,0x413d44f634a2bc05L,
  73538. 0xecaf95ee0fc28762L,0x881b307762a3eb28L,0x000000000000001bL } },
  73539. /* 10 << 301 */
  73540. { { 0x1d2684d8817a08b0L,0xdb7dca26c8be8d55L,0xa069d7e07c8974a2L,
  73541. 0xc061be91d03247e4L,0x1c6b377d7bd92a76L,0xcd7e0d7f50330391L,
  73542. 0x6de4e84426762364L,0x07276c1516426e46L,0x0000000000000102L },
  73543. { 0x1744a4f50c65db3aL,0x08c6a33f9b8fb672L,0x31f23108ebf4762cL,
  73544. 0x7b2c0ab0181df967L,0x53cd3abd2be95364L,0x0be1aaa87bbb3eddL,
  73545. 0xbb0cb0531b469e7fL,0xea338278d6e16032L,0x0000000000000047L } },
  73546. /* 11 << 301 */
  73547. { { 0xc7f394748381c552L,0x986d2d61d55f8773L,0x1748580c54b59ccdL,
  73548. 0xe071cdd56194dad0L,0x1440e99aa75ba866L,0xd162309c0cb3e564L,
  73549. 0x45786580289fc2bdL,0x1d4120f1da2a714cL,0x000000000000011aL },
  73550. { 0x564bfb392e7a47d8L,0xc43ad5f9c38c2c08L,0x60d4dd7acc7ead2bL,
  73551. 0x89166f8b91fde4a6L,0x7f1ac6ee9f62d204L,0x1a5728aafbfd7551L,
  73552. 0x7997f14a2e75d1a5L,0xfc2804ea649488adL,0x000000000000019dL } },
  73553. /* 12 << 301 */
  73554. { { 0x2d511de52dae34a2L,0x280126a9cc783bacL,0x247eb07f3b00a441L,
  73555. 0x909b0ea7567b28f6L,0x6045d39b53c3600cL,0x41714d14c75815a6L,
  73556. 0x6bef6123c601eadfL,0x3683ccf3d6343c4eL,0x00000000000001b0L },
  73557. { 0xcfce0c48b23f24c2L,0x8a051e71622cd9bbL,0x07ec1bc49eb85129L,
  73558. 0x4ca832899cabb17eL,0xf095659733580331L,0x88e7f968e465e3beL,
  73559. 0x61c5c643086d84d3L,0xcd236eee26444e10L,0x00000000000001c6L } },
  73560. /* 13 << 301 */
  73561. { { 0x6a3f660b0dc590beL,0x32d22798247e0247L,0xc90cd006d66c6982L,
  73562. 0x653993195369eca2L,0xa1346bcab0838f49L,0x3b5d8514fb956f90L,
  73563. 0x17fa86f9b27e8c72L,0x61b430690dbbfbe8L,0x00000000000001daL },
  73564. { 0x3d46ae770fb82755L,0xeac173262c02b0f6L,0x869be2347fc42178L,
  73565. 0x845d561ac8b457dcL,0x8295d7de2c8495efL,0x57e84cd5f079a84eL,
  73566. 0x30e443fe60b7d282L,0xe0340819a844632bL,0x00000000000000e1L } },
  73567. /* 14 << 301 */
  73568. { { 0x0cec34cc215c702cL,0xf9534c2acde28ed6L,0x5694c1addb2b1db4L,
  73569. 0x78834607f0ce1dd3L,0x0897479ede16ad83L,0x711db79e7ad8d6cbL,
  73570. 0x4fec3d6a30d12f46L,0x2fa068bab2925929L,0x00000000000000e5L },
  73571. { 0x79ae08ddd6d413d1L,0x7afae372233385f9L,0xa9faea3a1c5915fbL,
  73572. 0xd1d81ccddbf76a40L,0xbcee5b60311bd5b4L,0x33fd134e0d295473L,
  73573. 0x8971c976a1499b9aL,0xbe778d06c2dd33cdL,0x0000000000000128L } },
  73574. /* 15 << 301 */
  73575. { { 0xe165fe45591537d3L,0x494e9b586f9e77daL,0x05048c2406b5f840L,
  73576. 0x27b142e0669c0541L,0x266d5823ebf3cba1L,0x2c9668a9f5f6117eL,
  73577. 0x92b1a670041d08abL,0xd2e4bc7d98b28dbcL,0x0000000000000110L },
  73578. { 0xd96f0a4eb50c672eL,0x2a5ba3084f40bed9L,0x6ad427836ada6e01L,
  73579. 0x11d68fda636a6b24L,0x38d87a77bfcb526bL,0x3666085af7663abdL,
  73580. 0x9e8dd236688f4c58L,0x3f5eaea3577ddb84L,0x00000000000001c2L } },
  73581. /* 16 << 301 */
  73582. { { 0xf03e26842bc15ca5L,0x0b130b09bf196674L,0x3c27538756217f5fL,
  73583. 0xb26d17d4349aca89L,0x3faf18590269bf70L,0x3cdeb74fb288736aL,
  73584. 0xeba8f6007e38ea96L,0xd24052c851da8c99L,0x000000000000015eL },
  73585. { 0xa5582bacb2f51cdbL,0xa325b5cbd0a7f7c7L,0x065a27f009931317L,
  73586. 0x1abd17b6cddc78ecL,0xd8fd426937962ce7L,0x5d8403c8002cf3c2L,
  73587. 0xe62f5305e3eb09a4L,0x1900f36ceeaf6fb3L,0x000000000000010aL } },
  73588. /* 17 << 301 */
  73589. { { 0x284fc126babba399L,0xda961c2d629b5b0cL,0xdb458a6c7acc2fc6L,
  73590. 0x2d048b73b07e4eb6L,0x9ee17cf76011f0dcL,0xff56041501eb1f54L,
  73591. 0x39ed447f8b55cf30L,0xcf2256f1d85dbed0L,0x00000000000000bbL },
  73592. { 0x084a817403650842L,0x71be289cb89d85e1L,0xb9c9f5b8f0aa2e1dL,
  73593. 0xf454a8a2a0048186L,0x67e89b8f11c62ecbL,0x3fefb1f66eeb3419L,
  73594. 0x19c5c988db8b8343L,0xd477b615cb26d01dL,0x000000000000012dL } },
  73595. /* 18 << 301 */
  73596. { { 0xfebd0210b24b42c5L,0x4f8bb6ab782d99ddL,0x624530b516f9fb4bL,
  73597. 0x9f9ac0dcf52469a9L,0x6cd360b7a7297153L,0xa1989d5ae3ffe52bL,
  73598. 0x493e7f8e086c3ae2L,0x598af31b052d016aL,0x00000000000001a4L },
  73599. { 0xd22cd1eeecebf13fL,0x1dece9d773807b67L,0x9d68d0462573e787L,
  73600. 0x70f7848f24c5d05cL,0x2e846609ad526173L,0xc8a05dcd05ce91f8L,
  73601. 0xc39b7711eeae3077L,0xcbb8347d040614a9L,0x0000000000000127L } },
  73602. /* 19 << 301 */
  73603. { { 0x87eac716c5722d13L,0xc1afc869d61ef2abL,0x496b7a2aacf51364L,
  73604. 0x5d48541015d5ca0bL,0xcb57650b8772fb05L,0xd26d4f958869f973L,
  73605. 0xb320d08e025cc659L,0xa950e9363419e9a4L,0x0000000000000030L },
  73606. { 0x5e80b7840e4326edL,0xe712d1b6118b4b67L,0x9188de4ab4e2f1d5L,
  73607. 0xddd7c742931ba11cL,0x19856e2d083a8b4aL,0x28fd9f4ec237b67aL,
  73608. 0x264aa6aeb17c199bL,0xbb708f00b04ee318L,0x000000000000009aL } },
  73609. /* 20 << 301 */
  73610. { { 0x9d1eae14e6c6fa68L,0xc10a9135e799dc68L,0x7abe45371d7af249L,
  73611. 0x50c5b3e44b78fb26L,0xba92be148298b03cL,0x6229f220227a8e85L,
  73612. 0xde2d6415248042a7L,0xeaaddb9bcbfda7ebL,0x00000000000001bdL },
  73613. { 0x3495558bc0642562L,0x5649a710eb006b80L,0xdeb44b295e284cb8L,
  73614. 0xfb01767c2fb2ad7eL,0xb40225510f9ccfacL,0xbe4eb5c0a67be6fdL,
  73615. 0xb5d9f3e86d920a44L,0x918cde4238b14e5eL,0x00000000000001f8L } },
  73616. /* 21 << 301 */
  73617. { { 0xf14dd13f7e46d751L,0xde1faee5de539ce6L,0x1f580420a878c7e4L,
  73618. 0xa4536a613feef467L,0xa7e9291d7b545e56L,0xded28c89e2b7025cL,
  73619. 0x59506d85d042bacaL,0x14b37eee8a3adfd3L,0x000000000000000dL },
  73620. { 0x89d83dd3823c023cL,0x8dc3c29fca288645L,0xdd64a1a648af0bd8L,
  73621. 0x79f885a65f285574L,0x26f5a31b60248187L,0x70bd4d6ace84d4b2L,
  73622. 0x3f15dbc4463583a2L,0x6544d8e78426710cL,0x00000000000001baL } },
  73623. /* 22 << 301 */
  73624. { { 0x76d2d5eb9381aba1L,0xb2322af89b7df6b5L,0x71f40e2e58f343b9L,
  73625. 0xb61e43f9efcc85ffL,0x0300fa7259a01585L,0x5988ff95db05e553L,
  73626. 0x2b62aa0f5e93de6fL,0xc87ff47b4b549154L,0x0000000000000021L },
  73627. { 0xd77a8a93ff66a25dL,0xa68eea535e13f466L,0x794995e4f79a54c9L,
  73628. 0x6df911fc56076e44L,0x8d78ab8c47c83b15L,0x3507ec1cb38bbf1dL,
  73629. 0x613c3c1f6a89e612L,0xc07da4b905f7fa61L,0x000000000000009eL } },
  73630. /* 23 << 301 */
  73631. { { 0xb88f49e250318e89L,0x0b6037ef58a8e5b1L,0x62b4464f8305be22L,
  73632. 0xda32be6c695d0c2dL,0x53718af39a3f3741L,0x7eab5da6e64b6964L,
  73633. 0xd3594c8663064d0fL,0x39279566f6eaee98L,0x0000000000000012L },
  73634. { 0x4bbb1b13042a5dd8L,0xa70b5d62793e0d15L,0x30393d03d1ba796cL,
  73635. 0x4a21fdf287555c23L,0x9646d43c61ba2ab2L,0x6408cb45419993c7L,
  73636. 0xb9acd44b338322f9L,0xf283c84d4759b6ffL,0x00000000000000c4L } },
  73637. /* 24 << 301 */
  73638. { { 0xd142bfa992701a9aL,0x0b59d01447539e92L,0x7cefec6e8724475bL,
  73639. 0x5c77d10dbcfd641fL,0x4946dbabdd42eb47L,0x4ae66c3a14f1c33bL,
  73640. 0x05ba3e754c9f2c71L,0xb618a5071fc0f7b7L,0x0000000000000065L },
  73641. { 0xdd94ee057c169a16L,0xa29e26195a337e5eL,0x30e106eb9ad816b6L,
  73642. 0xb91e66f71a17810aL,0x46abf80d5b672e86L,0x0f40f077f89626ffL,
  73643. 0xa474dfbe8b67b224L,0x9d3af9248053aa79L,0x00000000000001ffL } },
  73644. /* 25 << 301 */
  73645. { { 0x7d22cf775e1f232dL,0x548fda9e7e51a2c7L,0x11a9774149cf868dL,
  73646. 0xf0db0b7e2fb759c5L,0x1796b06efc5eb57dL,0x60ede66826f8e4f9L,
  73647. 0x7c37fa5cf37f1ae2L,0xf5348593ac10e958L,0x00000000000001abL },
  73648. { 0x05239d1323d8b38bL,0x2c55a6e0d76a3773L,0xcea20821cd282bc4L,
  73649. 0x9e552a3a5ca82699L,0x3f1ae5bfa1548eb2L,0x56ca5414452552bcL,
  73650. 0xec3a3f85e1ba16dfL,0x91ed704a56240ce7L,0x0000000000000041L } },
  73651. /* 26 << 301 */
  73652. { { 0x525d2794aa3af70dL,0x62666bbfbf65bbd6L,0x250750d4b925995bL,
  73653. 0x050457f8e340c57bL,0x919451793b4931b3L,0xa4a0e728d223ec63L,
  73654. 0x9aa8b43380a43404L,0x9c52b96aaaaa7d45L,0x0000000000000149L },
  73655. { 0xa4dcb38e2dc7ef6bL,0x115ba55675a63e19L,0x31541c6e90d13e8aL,
  73656. 0x4e0b09787401562dL,0xd81287b447cfebc2L,0x59ec023f074cc01eL,
  73657. 0x7086b3db94d89d32L,0x274daafbbf9b0f39L,0x000000000000009fL } },
  73658. /* 27 << 301 */
  73659. { { 0xd7fd9795758d15ecL,0xbe89bb8c335f014bL,0x3be772ba54b6b739L,
  73660. 0x2d652a561a35e643L,0xfd8b75fe36ab48b7L,0x89fa8e1d9c89c766L,
  73661. 0x75e124aaea145d8fL,0xdf889765299c9171L,0x0000000000000170L },
  73662. { 0x103dda2e55540308L,0xc3c035e7cf05bb03L,0xd346e06a52488d57L,
  73663. 0xe7833e27f8c702d6L,0x25b942ca6be87eccL,0x7b0588057505ad4bL,
  73664. 0xa6fa90a5c97e6686L,0xd1d89bee28a9c029L,0x000000000000009eL } },
  73665. /* 28 << 301 */
  73666. { { 0x2b1a24297e163accL,0x07a52207912df2c1L,0x8b00c607c28459a1L,
  73667. 0x172a4e12d0d1c992L,0xd7d28839f97852b8L,0xfa91f13ff8fd2bdcL,
  73668. 0xb40ceb9cc7c71e5bL,0x6dfbd3ef1bb25495L,0x00000000000001d8L },
  73669. { 0x77d795eaecb9e7d7L,0x307ec55c034640ceL,0xc81199211dc90456L,
  73670. 0xf336a8d62e6c8828L,0x39f69ea7efbdf285L,0x9f9b88446f6376edL,
  73671. 0x9cf44f2767ef7e9cL,0xcfb6ea37759662d0L,0x00000000000001deL } },
  73672. /* 29 << 301 */
  73673. { { 0xac8e3a669a265363L,0x0bcc6be9a837586eL,0x1800b8af5b913525L,
  73674. 0x6bb8bc3eaf0766d1L,0x83ca07cb0bad6358L,0x29442dc1330633bbL,
  73675. 0xce862c876fbccbf4L,0xc5550669b96ea743L,0x0000000000000073L },
  73676. { 0xf015f8b97920c9d7L,0x34a73daf4c203156L,0x97bf03c337bb3adbL,
  73677. 0x7a7f0014000c2070L,0x04a1bac2d9d1d2beL,0xbd7991e0b7297737L,
  73678. 0xdbb0bd6d8deac191L,0x8ddab47a8386ee08L,0x00000000000001a3L } },
  73679. /* 30 << 301 */
  73680. { { 0x3d87a8098b966d8cL,0xb435d15896c76473L,0xefbd14d8e443c697L,
  73681. 0xa1d59738435950d1L,0x53a2c7714b9bf3dcL,0x712bc49a2cf7a12bL,
  73682. 0xa73d130b39f96cb9L,0x4c00c64ead7eebcdL,0x000000000000006eL },
  73683. { 0x75300d109db550eaL,0xa7235321f4f7bd1cL,0xfba90cd35f63a433L,
  73684. 0x49b56ce3aeaeca59L,0x1d562d49f8ceae69L,0x42bf5c058ae7ade7L,
  73685. 0x571ef4b5c6aa760cL,0x2beb1d379fdd6c7fL,0x0000000000000074L } },
  73686. /* 31 << 301 */
  73687. { { 0xf025bfb65b9ab00aL,0x5afcde150c317febL,0x2dbf474e5deefa10L,
  73688. 0xfa820330f1e3a088L,0x52d1d96aa577534eL,0xaab36a89d11cbc7aL,
  73689. 0xe5b59c3e1028606eL,0x11298e30688131c6L,0x000000000000017aL },
  73690. { 0x4e1d910a80a78b33L,0x82826cbfb3ed3ed5L,0x6259a943c011cfa6L,
  73691. 0x81284e4503ee6f69L,0xc3b994d2b86b8f5eL,0xd4dda4b45f239bddL,
  73692. 0xbaf7541f709ad8a9L,0xeaa31ffd52390dc6L,0x0000000000000186L } },
  73693. /* 32 << 301 */
  73694. { { 0xcfdc285df79421d8L,0x263289988674686eL,0xf991086e1ed73cd0L,
  73695. 0x65046369a36bd06dL,0x9712bb0b72adcd0aL,0x9b2d422f5faf9c7cL,
  73696. 0x7e3989f851491c47L,0x9fc24bf809aeead9L,0x0000000000000029L },
  73697. { 0x8584ee840370acb9L,0xed56c569ea40417dL,0x6443587557b4cb9aL,
  73698. 0x752c5fa691d35c5fL,0xbbcf8703abd0eb6fL,0x0dd72d15c233db59L,
  73699. 0xf2b7a1ab692baae3L,0x6ee634377baadfbeL,0x0000000000000111L } },
  73700. /* 33 << 301 */
  73701. { { 0x2f00b1014d3f67f2L,0x02773442dabf0299L,0xb050dd0649b08536L,
  73702. 0x155d73c3ee3a8e0aL,0x0e468ccb7c29c66fL,0x3b7660e15b398646L,
  73703. 0xb6b2782165c7155bL,0x09cd57fcecb519d3L,0x0000000000000133L },
  73704. { 0x3aa32f6097fcfd5dL,0x35d5448b279abb9aL,0x54bab5ce95cf663fL,
  73705. 0x9dc193ea1776f8d6L,0x6d2bed78f4d90465L,0x08da1c145e61f723L,
  73706. 0x68c8bb0604d91875L,0x03458fea8b3a3a3cL,0x00000000000000eaL } },
  73707. /* 34 << 301 */
  73708. { { 0xb40737908373a6e5L,0x9ce42cd2a1188649L,0xce446162ad0eb978L,
  73709. 0x322dadd09b7ffb70L,0xe568d26ddb803c73L,0xd74eb110c414c261L,
  73710. 0xa1be744270b5c055L,0x5f70ec901a420208L,0x0000000000000175L },
  73711. { 0xad6727ca8c2a9937L,0xe9fd6825a03949a5L,0xe4790c050a8c931fL,
  73712. 0x80943e80b52d4b49L,0x104bd74362d38bd5L,0x0510772ffcc1cf4bL,
  73713. 0xc669adcd5f9185c7L,0xae818ff028123eceL,0x000000000000006cL } },
  73714. /* 35 << 301 */
  73715. { { 0x7a5717a10792b4faL,0x2c248be7fcfdf67dL,0x970a7feddcb61131L,
  73716. 0x0234eb04df345fefL,0x3eb4489ba2745622L,0xb145f3f95ed28a99L,
  73717. 0x0384b4cc064fe474L,0xea70e7d96931ea00L,0x00000000000001c8L },
  73718. { 0x331e0fd9802e2aebL,0x42417e6c8732f311L,0x6006728b12056492L,
  73719. 0x3ce9e7fd5b979aa4L,0xcaaffb764b4fa416L,0x064dd6eca006759aL,
  73720. 0x28b047d186a9190bL,0x029d74a7595fc9faL,0x00000000000000c5L } },
  73721. /* 36 << 301 */
  73722. { { 0x657f1a4a0d3a6ecaL,0xe4131c3c9584cfd2L,0x75ecc937303e30e6L,
  73723. 0xb062e9f44c0801a8L,0xd9cf5f10d3221408L,0xae77108f25262e9fL,
  73724. 0xf5f313faaf40a968L,0xe40dcb7d2c4518f7L,0x0000000000000163L },
  73725. { 0x949fdc6e98e347c8L,0xef10af84b013c3abL,0x4c48606d0e6d48feL,
  73726. 0x97e690a711fb595cL,0x9f47aea713f11f69L,0x1d670e6e31bae984L,
  73727. 0x35020db9e62e6909L,0xc43ff5489d07874fL,0x00000000000001d4L } },
  73728. /* 37 << 301 */
  73729. { { 0x28316d8b9441a550L,0xff7227210a759555L,0x5481756e2ab2ee17L,
  73730. 0xf3cbe2e8e3dd7974L,0x7dc4b0f78aa159c8L,0x9e5b4f561bf333e7L,
  73731. 0x63ff9f52a91020b5L,0xc76c6456bc08d5b0L,0x0000000000000103L },
  73732. { 0x69bcec9d3a833b1fL,0x07441e04281f6fa7L,0x08315e671838e4e7L,
  73733. 0xcdbae7275209d351L,0x14c1373de5e46a7dL,0x8e3601e092125731L,
  73734. 0x6fa6044488b745e4L,0x8ec5cb7e562f6bedL,0x000000000000004eL } },
  73735. /* 38 << 301 */
  73736. { { 0x9936081ddd58574cL,0xcd952445fe2c792cL,0x852d5476ed663b93L,
  73737. 0x4b13dd0faf869b0fL,0x8793e140290f6625L,0xdd61017faaf6d5b1L,
  73738. 0xe7d2fe4699c8aae8L,0x8794c5703e234ac0L,0x00000000000000e3L },
  73739. { 0x2586bc84622848ddL,0x81816931dc799fa9L,0x84e590e24092ee76L,
  73740. 0x7c11f235d863e257L,0x5f43fd9706988708L,0xeb474948e569a68aL,
  73741. 0x66b18d86d3b8b848L,0xcaf4df955083487eL,0x00000000000000c9L } },
  73742. /* 39 << 301 */
  73743. { { 0x89d29ec37898d2fcL,0xd5e69b49b98c5a0eL,0xe3c7a979b49ac9f3L,
  73744. 0xebe0c817530d25dfL,0xbbec2d1a2e03e0ccL,0x6447dc091be011beL,
  73745. 0x1d990dee2d10c2c8L,0x8ad4a24baf507a38L,0x0000000000000197L },
  73746. { 0x8f38e29bac7a283aL,0x3ce5725db29af2c4L,0xe17035ef8077fba2L,
  73747. 0x5b50a50390b970fdL,0xfca6cdafb8efdf69L,0x0d252e814d349a01L,
  73748. 0xfe068bd123d614dbL,0xeb14408f3810431aL,0x0000000000000086L } },
  73749. /* 40 << 301 */
  73750. { { 0x97defe3d7938d98eL,0xe2458feafd0bec69L,0x7df8d2b58b42ddbbL,
  73751. 0xa82aab40ff39914cL,0x78549b01d30f07e6L,0x253f8c461331557eL,
  73752. 0x771750d919648cceL,0x96ad6776d045bc36L,0x00000000000000f2L },
  73753. { 0x4a2ee334e08b83f8L,0x3e9c4cb72e3086deL,0x913eae4b9936bab0L,
  73754. 0x3cf83551d23cd36aL,0x7c51d84adfd27d4aL,0x2595a90f4d006eddL,
  73755. 0xb2d5c68461cc7be7L,0xbb02bd59a4b310f9L,0x000000000000018aL } },
  73756. /* 41 << 301 */
  73757. { { 0xea273b8fd19caa8aL,0x8f2eb0e5fbdceb6fL,0x13e96cf4cc37e1f6L,
  73758. 0xf91f2f4d7b6607e6L,0xdb70dc3e919dcb16L,0x752725306a35e521L,
  73759. 0xd48d0a08e930983fL,0x62bb3d8f9e955697L,0x000000000000001fL },
  73760. { 0xc492f1a5bc57ce3dL,0x0496b245370d6a7aL,0x2a0b281dc8ed431aL,
  73761. 0xb8a3ff7922cc9f02L,0xfb6c685d7d711d84L,0x68e508ad40b6b8b6L,
  73762. 0x437d076c1f1236edL,0xdab5a2ef69a9f09cL,0x0000000000000009L } },
  73763. /* 42 << 301 */
  73764. { { 0x45ad42dec9ebfcd7L,0x4054e68145eef6c3L,0x05427862b00d1763L,
  73765. 0x025fc05fa9852684L,0x717a17c10de39afeL,0x618c2b085586b46fL,
  73766. 0xff0a80f7f6b71672L,0x3c7fa577f5e7c531L,0x000000000000010eL },
  73767. { 0x33e3534c52ccb986L,0x9ddd2298303c58a4L,0x261e5b794a324d2cL,
  73768. 0x52c1c46af081f324L,0x0216cb8dfd3db922L,0x8e5b647c45a5a0e2L,
  73769. 0x1b1c0b847184888eL,0xc1297760e66e1c57L,0x00000000000001d9L } },
  73770. /* 43 << 301 */
  73771. { { 0x555d70c34aeab359L,0xc57ab8bb64f78762L,0xf95aba0b8d3e12c8L,
  73772. 0x8bf166223b0a34c8L,0xd9b90d4a97a02258L,0xd2718cd14e070653L,
  73773. 0xfc0b4a7243ae776eL,0x10b07a1f9e739e1eL,0x000000000000017dL },
  73774. { 0xc53e4794dbf1d1baL,0xb82723e1ab28bff7L,0x5cc8876d993dffebL,
  73775. 0xc84384567c943552L,0x98d1a6ea3e1940aaL,0x1bb513db6e2214d7L,
  73776. 0x27a9e1daf0e11ef9L,0x000546decb247662L,0x0000000000000114L } },
  73777. /* 44 << 301 */
  73778. { { 0xf6820c898f7f0d51L,0x470f631b3e6bb71cL,0x1489563d67e33eb0L,
  73779. 0xf9a58c5e34260065L,0x2f0cbe5541d317c2L,0x3501da3bfae4b6f9L,
  73780. 0x25caef56436223a2L,0xe86cd4faaa1af452L,0x0000000000000178L },
  73781. { 0xbcda46bd2a68b8bfL,0x7005074bf6e3ff4eL,0x17eb86a110cc5301L,
  73782. 0xaa01cafcfcf4b5a2L,0x8f4954e944dd4413L,0x485d7a8e3dbc7cb6L,
  73783. 0xd042f1f4fef97fcaL,0x8e1bd4289991c8f5L,0x000000000000007bL } },
  73784. /* 45 << 301 */
  73785. { { 0xc6611fa87a271022L,0x10ac4d7405f4fa97L,0xf94e7e96b448c4a7L,
  73786. 0x24a2e0ae49c62985L,0xa2d6dd08a74848f0L,0xf7710e0eef1b6b35L,
  73787. 0x3e6eca62ceae13e0L,0xcc1397bb0a3d98c3L,0x00000000000000e2L },
  73788. { 0x4220e9e620923648L,0xecbcfc545b686455L,0xeb4580c51656d644L,
  73789. 0x9d1747a6a197f15fL,0xcf2b77a1f78eda46L,0xe417400145448aa3L,
  73790. 0x9a23f9a71649a48cL,0xfc6d16ab76272579L,0x00000000000001d1L } },
  73791. /* 46 << 301 */
  73792. { { 0xacf13584ec5f73b4L,0x14f5910a780e4469L,0x556672606fa1789dL,
  73793. 0x5866c80b9a4d28b5L,0x4a3a72f3217e2b8fL,0xc774aa4118da75fcL,
  73794. 0x9c9be5c98ca2cd13L,0xcfcbaedc2145b62fL,0x0000000000000070L },
  73795. { 0xf78d77ee3833e520L,0xc536906550caeadcL,0x0392c83f4af31e0bL,
  73796. 0x9b9f30ce94537049L,0xb56dc7c2ef2c1d25L,0x820e464242363f57L,
  73797. 0xe70134f9abbf4146L,0x55264e69abc9ff2eL,0x00000000000001a1L } },
  73798. /* 47 << 301 */
  73799. { { 0xdd3503c5cee406e7L,0x4b64dd4333236849L,0xac777279889363ebL,
  73800. 0xeec078a0cf6f0811L,0xfd559e756d243ab0L,0xaac1010f2e4d26baL,
  73801. 0xc0b719ef55e9c8f2L,0xefff2f164e29695cL,0x000000000000016dL },
  73802. { 0x3717eb9cad47f17aL,0xb39b8c6162b05e31L,0xac892a92918390b6L,
  73803. 0xaa3c7f01650cfed9L,0x6a8f7ec0fba21f56L,0x4732e5129121bba3L,
  73804. 0x220ce23e1a14d894L,0x9199750e5dff1692L,0x0000000000000038L } },
  73805. /* 48 << 301 */
  73806. { { 0xcaa727068efb0157L,0x713a7f37f08f035cL,0xff58c6a1aa4fd5e2L,
  73807. 0x760b066000a48205L,0x4a39e66655f07cb4L,0x0f6bedac67558061L,
  73808. 0x9eaa88c266a118fdL,0x8d9ea75c97d29ca9L,0x0000000000000190L },
  73809. { 0x50a4bc7abc6094f3L,0x105120ce68f17d91L,0x514fdeca4e559f9aL,
  73810. 0x414f4c0ee8d688caL,0x1b91555424de5ac2L,0x5d983c0e298823dbL,
  73811. 0xa537321243264448L,0x4baf77e986eede9bL,0x00000000000001cdL } },
  73812. /* 49 << 301 */
  73813. { { 0x5233363c3908e1ddL,0xd337db04f34868cbL,0x67e60b131108934fL,
  73814. 0x197bff64d6300ccbL,0x2ae67541ba25d4a5L,0x2cecde5e52500639L,
  73815. 0xc89f08d4f30776caL,0x5a8a70c2d54d3966L,0x0000000000000119L },
  73816. { 0x69950ee38b87ac93L,0x82f8ef8a8aae9a41L,0xa7240350d2ceebf8L,
  73817. 0x89babd2121a729faL,0xb32954b0bf228627L,0x0dfef1aac46b78bbL,
  73818. 0x9ea9cd1f4c5f1ea3L,0xd23bbc8bc8c76503L,0x000000000000017bL } },
  73819. /* 50 << 301 */
  73820. { { 0xa095037ded6f2736L,0x0646535bad883679L,0xf786126e9a39a143L,
  73821. 0x7b0ca7e623b36c0aL,0xf24b3e4b927379bbL,0x9b7fb39b25e2bb09L,
  73822. 0x9274d841abe08b45L,0xf6c52548dbee12c4L,0x00000000000000d8L },
  73823. { 0x50b4222ef75cb030L,0x166b97d284f9c593L,0xe850289b5a778cc3L,
  73824. 0x36ac8e7bdbacde12L,0xcf3371820d8b021aL,0x01f6d14c223203c3L,
  73825. 0x4680d14e6369d2ebL,0x6c0e46e4e17a4aa9L,0x000000000000011aL } },
  73826. /* 51 << 301 */
  73827. { { 0x7061a9f024b2f7edL,0xbb9981d31b3a2b57L,0x2656f1674fea4e43L,
  73828. 0xd302b1ff4e19186aL,0x99747d59605eaac2L,0x462f9060bb48ed8cL,
  73829. 0x45023c424c6159c8L,0x580520656cbe1bc5L,0x0000000000000041L },
  73830. { 0x87e0f7951f1a47dcL,0x4ea66203080b099dL,0xe9051bdc1dce1263L,
  73831. 0x30ec89d3e469142cL,0x6daa81dab80471f7L,0x2e12e2fbfb7c0aedL,
  73832. 0xc395d4415db48de3L,0xedde9d18069032faL,0x000000000000014cL } },
  73833. /* 52 << 301 */
  73834. { { 0xbcc582303e5ab417L,0xa60c1a36b86fa32bL,0x3918edf55e73256fL,
  73835. 0xff9846acf315fd9eL,0x31b17c0d4471f470L,0x953aeb49574ef0a1L,
  73836. 0x98879828271105fdL,0xc61be3605efdad16L,0x00000000000001f1L },
  73837. { 0x64a9eff28dee2c40L,0x61c07dbb3ce994d5L,0xd5f17ebaedd78e35L,
  73838. 0x2cad1e605fa0d125L,0x4a769e59482f87caL,0xf9d4824301c7ca2dL,
  73839. 0xa283ff0e1070afc0L,0xc2dbfd1c7d19332bL,0x0000000000000165L } },
  73840. /* 53 << 301 */
  73841. { { 0x658850d16ce799deL,0xcc973847aef174f3L,0x6caf2e528de6a894L,
  73842. 0xb84584ad02fa012dL,0x1e78d607213be59fL,0xd9bf24ad7c2ee0adL,
  73843. 0x8fe953f726b076c3L,0xd38dc31c14cee17bL,0x0000000000000178L },
  73844. { 0x8d0b066db1c6915aL,0x21ccd05457340145L,0x5885c54667ec6ddfL,
  73845. 0x41e073c91b2ec5ddL,0xf847703ff931f748L,0x20d56c94c21f1fabL,
  73846. 0x5dcb60b7021229beL,0x5193baddbaadd8d0L,0x0000000000000024L } },
  73847. /* 54 << 301 */
  73848. { { 0x37f1fc2d03a65cc2L,0x521d119a085fe64fL,0xfc0fa31a43e08d7dL,
  73849. 0x8f29f08e14fb6112L,0x79513894d29b5799L,0x8c2a5e15290f1bc8L,
  73850. 0xb0626ceaab7d477eL,0xde49612f5a1f5a67L,0x0000000000000035L },
  73851. { 0xef75ebd052be58d6L,0x480a1e4323635dadL,0xb57c91739a3cbeb8L,
  73852. 0xe84cbe7311c90c9dL,0x53973bd42c272fdfL,0x5a69a9e16b1fc029L,
  73853. 0xf510e2b810568445L,0x8abe0317a03d18b7L,0x000000000000010fL } },
  73854. /* 55 << 301 */
  73855. { { 0xa24d79fc1f915fbdL,0x6f9b01cac405aff7L,0xa3f928dac9dc1424L,
  73856. 0xb6d7a76790832142L,0x1bffa8759c7ec089L,0xd8406c711f1d58cbL,
  73857. 0xc10c59f08ec01b2bL,0x0e6c986c5c4d7bafL,0x000000000000001eL },
  73858. { 0xcaba835f0b06de2bL,0x82f3ad2b2bc71659L,0x987d851df34a59e4L,
  73859. 0x3ea0707f48bfc12dL,0xd79e3cbe936f8bdeL,0xf496192f8bd05c8aL,
  73860. 0x8c3ba6aed29848eeL,0x87f5784cba394b14L,0x00000000000000feL } },
  73861. /* 56 << 301 */
  73862. { { 0x47212cd83110ef21L,0x351356ca7dab31daL,0x5c31add7777a302fL,
  73863. 0x44844eb4dc66a1c6L,0x559f3fb428384807L,0x95dab974ff78dee6L,
  73864. 0x2fe12e92fb20857bL,0x41436000ef499bbaL,0x0000000000000106L },
  73865. { 0x5e0e5f369df7b969L,0x2c96f308dc819d59L,0x3258db7411cf4119L,
  73866. 0x6246da5476676d2fL,0x5be278cfca079f54L,0x61ab6eb06e36452fL,
  73867. 0xe7742741461fc9a3L,0x252fb6386a926fe5L,0x0000000000000171L } },
  73868. /* 57 << 301 */
  73869. { { 0xd15425a0044b1e79L,0x30c1da1c01c4e18bL,0x2a8fe18f5b56cf96L,
  73870. 0xa65a8c353ec8ae22L,0xd5b3902b1ce4eff5L,0x25dd04aa45191df9L,
  73871. 0xeeede6edd2ec0e96L,0x3dd71ef21178f647L,0x00000000000001a3L },
  73872. { 0x61cbd8a0a99485faL,0x2e3a830310b88a62L,0x821545277d196b55L,
  73873. 0xee30afd7176227b8L,0x0d7f8cb387f3f451L,0x461ab2741c2ae402L,
  73874. 0xb510aa7e7c25eb24L,0x2064a9326d6cb16fL,0x000000000000013aL } },
  73875. /* 58 << 301 */
  73876. { { 0x3a647a701e66ebb3L,0x87eda648234fb017L,0x522f0e31ab81b9b8L,
  73877. 0x0b423e7514efd69dL,0xa4876674b8df1b85L,0x43be28d578427a50L,
  73878. 0x2959b6b085148f33L,0x49b1b83da5796dabL,0x00000000000001cdL },
  73879. { 0xe42c30325d6b2eb8L,0xdfa003ce05f8e677L,0x59e1401917e9254cL,
  73880. 0x34009be012ac5202L,0x7e0ebbb0db58cac7L,0x590acd1a64a0ffdfL,
  73881. 0x100e7b6afca1d458L,0x8933fc7a84524656L,0x00000000000000ecL } },
  73882. /* 59 << 301 */
  73883. { { 0x5251639ab0e87051L,0xf6f979ce0ca338d5L,0x144d90c7b6e253b1L,
  73884. 0xf037aa216a68696fL,0xf89c93246540c170L,0x29ff81b785893ae1L,
  73885. 0x4adef9b90e2c8c1bL,0xce6b4390efee4a2eL,0x0000000000000002L },
  73886. { 0x8ddf233de075825eL,0x6b1e1fb82bb7ce2dL,0x6b6d4972646ee9e4L,
  73887. 0x83b3d991a7723d1fL,0x99b83cd10ec203d1L,0xc03b08a4e02da448L,
  73888. 0x02a118288fc47033L,0x604306491e6f5d22L,0x000000000000018cL } },
  73889. /* 60 << 301 */
  73890. { { 0x9628c0db8ed909faL,0xd3b2a86d0580185eL,0x5735bd594bd03ffbL,
  73891. 0x4f83f8fd1cc44682L,0xbfa641e8a18ede58L,0x840c9d0a5ea97db7L,
  73892. 0x66b28600dd4a3122L,0x8e603955d4678750L,0x00000000000000e8L },
  73893. { 0x7da4912cd87216c2L,0x1ff65b078fca0ee4L,0x7e1fd56ef9bc6ddaL,
  73894. 0x566b2e611503ac12L,0xda75d74167835799L,0xc0ea3d59dc72ec9bL,
  73895. 0x6e72e5f65e154614L,0x7c42bca592cee288L,0x0000000000000185L } },
  73896. /* 61 << 301 */
  73897. { { 0x745a839ffd28d6bcL,0x4589047acd47e3b7L,0x93b23d94bbb197acL,
  73898. 0xa34679ceecf4fc7bL,0x034298450d34fd44L,0xee153249190fa29dL,
  73899. 0x3ad1071072eda190L,0xcb61b38e3b741423L,0x0000000000000119L },
  73900. { 0xaf04e1516a6a568fL,0xf197ced617e3e52aL,0x0940b3238f8d327eL,
  73901. 0x5ac9433f0d86d681L,0xa5cff71ee57e66a8L,0xebe9a6ff3736d6feL,
  73902. 0xb84eef1671bf3727L,0x3c02e98d17c1cf71L,0x0000000000000088L } },
  73903. /* 62 << 301 */
  73904. { { 0x4c6238c497dd1d20L,0x3fa03dda3196ab67L,0x5fc72512a7f69b5fL,
  73905. 0xfa56e5413948db72L,0xe631f4fbd8fa32d6L,0x8495ca1d086e83eaL,
  73906. 0x715f2aad61ea493dL,0x7d8cfba3b12179dfL,0x0000000000000124L },
  73907. { 0xff5705a163c29a0cL,0x6b7f470e4fd2f2a7L,0xd4a25c106860eb08L,
  73908. 0x479eeecf19028042L,0xdc108a08934796a5L,0x6dfd7872672cac03L,
  73909. 0x809fd3bfc86d5c23L,0x193e18ab4ad9c302L,0x000000000000016cL } },
  73910. /* 63 << 301 */
  73911. { { 0x5f0eb4740d66d7d3L,0xad88da12ff43b22bL,0x6ddd0823f87427f3L,
  73912. 0xa8753432c0af65aeL,0x8e4d1f970f47e6a3L,0xb9a187a3ec52c9c5L,
  73913. 0x7df606cae458ff72L,0xb5b21deea1c108f9L,0x0000000000000107L },
  73914. { 0x14111844be16cc0eL,0x9bca8c559765b2a4L,0xf0649ee7e8f13547L,
  73915. 0xce303044c8254c5eL,0xf277fadc62c52494L,0x8634d4d0b31a1319L,
  73916. 0x3076ab431394abaaL,0x2ba1f7ed9e0ac32cL,0x00000000000001b3L } },
  73917. /* 64 << 301 */
  73918. { { 0x70c5acdc38693d3aL,0x9edee68238f054f9L,0x16e053f22960ceeeL,
  73919. 0x5926857c28bfe7b1L,0xb9f7420e6145f8d1L,0x9e0c42f59c0298efL,
  73920. 0x50b7210edd7d9fc6L,0xf9e4bd53d7be096fL,0x0000000000000078L },
  73921. { 0x428c2455ed19fc57L,0x9e8f777d56aa75dbL,0x4caeba30a671d991L,
  73922. 0x5f927d79eae0f53eL,0x00d6ad369e4c2a5bL,0xc8811438a2e12d0aL,
  73923. 0xa36d664eb2aeb4b1L,0x74e76676929a8748L,0x0000000000000191L } },
  73924. /* 0 << 308 */
  73925. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  73926. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  73927. /* 1 << 308 */
  73928. { { 0x358eb53667db4570L,0xaed3f999685fa5baL,0x4593c950cb571fcaL,
  73929. 0xdff7278c0411dc5dL,0xd62a44643bfe7e51L,0x53b87ca249f6f05aL,
  73930. 0x72327899f2c3d2dcL,0xbaa194aa9df4da5eL,0x00000000000000c7L },
  73931. { 0x3e73accfb50a3e06L,0x0d8ebee30754f2fdL,0x3cd0ae954b3f3fd1L,
  73932. 0xc4a4eee0c08bb2dbL,0x7955296319d71e5dL,0xf91e1ab7872e35c9L,
  73933. 0xc85090f6f6c102afL,0x8edf8c5d1e42a1baL,0x0000000000000179L } },
  73934. /* 2 << 308 */
  73935. { { 0x56923e55f33c5a4aL,0x1c5624ec829a3c22L,0xed234e3870000295L,
  73936. 0xa8467561edf3ff42L,0x717a939e9cec9497L,0xf80e28024e6be199L,
  73937. 0x5023bbec06fa7b8fL,0x16e26a9ddd95c07bL,0x00000000000000fdL },
  73938. { 0x88091d673c3485e4L,0x0377260fd40b6b47L,0x6d9c6df416f7b3abL,
  73939. 0x65376516f71b1fddL,0x89cc11f991956d40L,0x58992a09807610b8L,
  73940. 0xdeb47aa2b2799c7eL,0x3ee5834c8a327765L,0x000000000000012aL } },
  73941. /* 3 << 308 */
  73942. { { 0x421b840e80905a7aL,0x97c7f1d394b48cbcL,0x421a23843b79f360L,
  73943. 0x1121a2d8eaf59ef3L,0xddbe9d9959fb65d3L,0x6ad2be2371d9d306L,
  73944. 0x36fa0077789af534L,0xb928a6e78013dc59L,0x000000000000017bL },
  73945. { 0xb4c26798a38d78e5L,0x8884dd394cf38545L,0xb74dd46112a2023bL,
  73946. 0x1b242f854133277dL,0x401d32f2d29d7071L,0xcd7c9aa43d2e2a0cL,
  73947. 0x9df2157e06ba6ad8L,0x749bfc4c80e2c3c5L,0x000000000000018bL } },
  73948. /* 4 << 308 */
  73949. { { 0xccf8b57aeffb980aL,0x82ea22f5d0108b23L,0xcab6a69f6c902061L,
  73950. 0x7a3d74d843663f25L,0xb12ca29a0ad5df2dL,0x9d3ebbeb2f9fb277L,
  73951. 0x6f975e2189bc5273L,0x75e8bf950929deceL,0x00000000000000a9L },
  73952. { 0x14493740e1af64e4L,0x9ce3ae66109961dfL,0x36651bb7e31f4ffdL,
  73953. 0x18b7131cff1fcfe2L,0xded3378b085a67b7L,0x28efb2896e283271L,
  73954. 0xb66deb9a73427ac3L,0x3c5fd6d2a9baa451L,0x00000000000001b3L } },
  73955. /* 5 << 308 */
  73956. { { 0xec1f6a5762efd94dL,0x1d80b5e87b95536cL,0x01f8ba60af47e2b4L,
  73957. 0x6e8ae542a3b0e6d0L,0x5ecb52d9e45fefb7L,0x2108032a327299a8L,
  73958. 0xc49fc5c5044ed33fL,0xd1fd083752cd0833L,0x00000000000000e1L },
  73959. { 0x3f6ae9b6cdad11acL,0xad3f0fa813bb828bL,0x812626816ff056e1L,
  73960. 0x2fd37492a73196cfL,0x172beb76df90d5f4L,0x63f2c6e466144036L,
  73961. 0x3e1f497457f6d086L,0x5e0d8e49fb6eb366L,0x0000000000000095L } },
  73962. /* 6 << 308 */
  73963. { { 0x611f4a795e2d7653L,0x966e843cceebb0a9L,0x2e358cf506e8a15dL,
  73964. 0x2ce41dc740a74fc7L,0xa2fdea4f5eb455b2L,0xbbbd718f120fa4d4L,
  73965. 0x210bff82030fff11L,0x5a1b943aa68b00a0L,0x000000000000002aL },
  73966. { 0xeb814a67ff037be3L,0x3b08220469f52c59L,0x3f72143e74ff3224L,
  73967. 0xe7e85cc436f89aedL,0x2afcbe04caaf314bL,0xf8c8bb32bf93fd35L,
  73968. 0xe41f8328ac1dae25L,0x5318c6d7bdeb2001L,0x00000000000000f5L } },
  73969. /* 7 << 308 */
  73970. { { 0x630190bb95989889L,0xe041da504e659dd2L,0x5d88d99b5df8e753L,
  73971. 0xdbac25445ac2e158L,0x1ff6ece7699eda49L,0x3d0860a21051bd60L,
  73972. 0xd4d8685740c3a989L,0x2bfcc26c4002d915L,0x000000000000012aL },
  73973. { 0x0c43772c2f4acc7fL,0x54963f2fe3753d32L,0xc699be8765dc40e8L,
  73974. 0x6dbc95ad81560a01L,0xc805d7411dedf025L,0x46b049c177fa74c6L,
  73975. 0x7c0f62fb288c1133L,0xa8a2e1f9e6f066baL,0x00000000000001feL } },
  73976. /* 8 << 308 */
  73977. { { 0xce24d42c1b72e95cL,0x7fa4289beab74b64L,0x42ba739e523fc1e5L,
  73978. 0x9293167b814c4fc8L,0x4418fbfd8623db10L,0xb079853f76a132b6L,
  73979. 0xec5bad8abf394947L,0xc78e5748e7b0a665L,0x0000000000000169L },
  73980. { 0x6038ad95d7eba9ceL,0x421ecdc9572f3671L,0xc6b7effc60bc3cfcL,
  73981. 0x2c4b7b77a48fd001L,0x80280ec9d57795e8L,0x350815c93a7f6d67L,
  73982. 0xce30bcdd7da13b86L,0xe36da7b123c894d8L,0x00000000000000c9L } },
  73983. /* 9 << 308 */
  73984. { { 0x31105c7864ea99c5L,0x513faf09396e75e9L,0x34a79931a04b75a5L,
  73985. 0x3e026b0ed4c954f0L,0x70d2aeeb235bf7e9L,0xdd6c193bdf5682b4L,
  73986. 0x7cf6e8f29b1d9704L,0x41fc6b32026eaac2L,0x0000000000000132L },
  73987. { 0xd09919ef5413aa96L,0xdb06523a393fc9e6L,0x8c6f8bcb74809cc3L,
  73988. 0x7d2a5b46b27e50abL,0xc4f0d0792a507c1fL,0x28c3944b4a751fe8L,
  73989. 0xcd55d261bf88e984L,0x56d48d0616da21b0L,0x000000000000008cL } },
  73990. /* 10 << 308 */
  73991. { { 0x2cf7fa7761bfa954L,0xb24bbea98e5118a9L,0xc5c77927689db327L,
  73992. 0x8d12557569c43762L,0x41f4bb986c359329L,0xf0715fbed02caf97L,
  73993. 0x3319662497538059L,0xfc8ae58b5ea0263aL,0x000000000000005eL },
  73994. { 0x7245131ce020630fL,0x459c5721ee23ba9fL,0xf25f9be9ac36a41eL,
  73995. 0xbed1a35049589c41L,0xa72555b2c636e1cbL,0x35398149c006b213L,
  73996. 0x7761c08b6a446a84L,0xed021d8673e41c6aL,0x000000000000001dL } },
  73997. /* 11 << 308 */
  73998. { { 0xf8d97141473e6d47L,0xe73699d31e25f25eL,0xbb3aa86000986563L,
  73999. 0xd8158f88653b68e8L,0x1c7d943eb586d23bL,0x1074ee6888ee5191L,
  74000. 0x6f60808b0b60c796L,0xa7fa912d84dd4730L,0x000000000000002aL },
  74001. { 0x589bccf26b6fe852L,0x902c7b946abbb0e2L,0x9145309822db1367L,
  74002. 0x6febda2d555ff37dL,0xb6fd9b3008771767L,0x968892ece5a8b409L,
  74003. 0xfe1910a2e1233793L,0x13fe7f04213d591eL,0x0000000000000184L } },
  74004. /* 12 << 308 */
  74005. { { 0x59975b4fdfc4e7ddL,0x35d9e63a3fa2a870L,0x7d6653749901f064L,
  74006. 0xe89caa890e9dca74L,0x6eeb63913d92e7f8L,0x19d9af358a4ccbb0L,
  74007. 0x405c35c2928e5cf9L,0xed771157ddb633ffL,0x000000000000008eL },
  74008. { 0x6ad1dcbc685b9a90L,0x479ab5746efb4e61L,0x27a023b6e72992c3L,
  74009. 0x3607decab94c54fcL,0xfb2f50d0fbf16aa6L,0xaf3f098398c7c140L,
  74010. 0xd1a20e9ea3814586L,0xf1bc43165412b23eL,0x000000000000018eL } },
  74011. /* 13 << 308 */
  74012. { { 0xa047b2e89a705668L,0x2fb2a1b74cd0215dL,0x90ef0bb734146de2L,
  74013. 0x340074458c103e1eL,0x4803ee28d95e743aL,0x574f1ca6bb762bdfL,
  74014. 0x703fec4e2ed0dc5fL,0x3f19a069d27172caL,0x000000000000002eL },
  74015. { 0x3dd8f275c44bcf81L,0xa32f84ac517a8afbL,0xc065ba2bf26384b8L,
  74016. 0xb3fadb9619d14499L,0x6258447d07523eb7L,0x4c8c791afd107696L,
  74017. 0x041ab2e7d111b4d3L,0xfd008507e28a3a07L,0x0000000000000165L } },
  74018. /* 14 << 308 */
  74019. { { 0x75d00875fbdd51caL,0x8c2e5ff75d7aa834L,0xee4fbe0aa4a1a123L,
  74020. 0xdf61ce6939ea5515L,0x8a747ddaf3ee68beL,0x106c5c5d3cedff21L,
  74021. 0x51ecf5362c3519fcL,0x6581ec138cefa861L,0x0000000000000187L },
  74022. { 0xa8668f9d0eecd8dcL,0x4dc8fbe96bdd6803L,0x5aff8cdd339f6f89L,
  74023. 0x7a39f0ab91d488acL,0x20e1dcc8d8fa0333L,0x12e03a970fb08c2aL,
  74024. 0x265c2724173af27cL,0x962fa034cc395512L,0x00000000000001bdL } },
  74025. /* 15 << 308 */
  74026. { { 0x5fa1aa9d9283f38aL,0xe0dcef924846cfa5L,0xea5d81e7e4c20234L,
  74027. 0x5959dbcadf690b8cL,0xb77391b0c6e466a6L,0xdf6353c23982757aL,
  74028. 0x6516e711b064d2c4L,0x6a29f216df8f77c9L,0x00000000000000e5L },
  74029. { 0xb5fd98187a2702b1L,0xdc2a2e1d49291bcfL,0xf18db82a493dbb22L,
  74030. 0xaaef9aa431732b87L,0x6ce115f70f27262fL,0x4784c2ed93afc24bL,
  74031. 0x97df3c8932540ad9L,0xc01564c169f2a2c6L,0x00000000000001dcL } },
  74032. /* 16 << 308 */
  74033. { { 0x92401ab5853572e7L,0x957d2ca6eddea020L,0x7d54dd653f9fbd6fL,
  74034. 0xad0c7d092e05d05dL,0x6656fbab04183b30L,0x543b50170b716d5bL,
  74035. 0x2481449d9857d796L,0x86173b6de3a39722L,0x000000000000005dL },
  74036. { 0x7130d0cae71e511dL,0x168ef9d935663592L,0x63a9936eadbf816fL,
  74037. 0xaf63ee57d4f7a44aL,0x59f21032cd0ea152L,0x2f552046a881056fL,
  74038. 0x26eda9a621ba6bf5L,0xe75991c7d0a0caf9L,0x000000000000004cL } },
  74039. /* 17 << 308 */
  74040. { { 0xd892c4c47f86d0feL,0x56f68e92d138ac8bL,0x8b6cea6b812bef69L,
  74041. 0x65e6668136fb366fL,0x61708f66c5da12b8L,0x0f58c3a4c22b7b76L,
  74042. 0x51d69be4faa405a1L,0x468bd1ec9efef316L,0x0000000000000182L },
  74043. { 0xfd9983c6150289b7L,0x7eb083abd79ab364L,0x2931bc8877a84d7fL,
  74044. 0x521e5eaa959467b2L,0xb6c94464c1b64119L,0x6012353f4c2cadbfL,
  74045. 0x134c778a4a2afac0L,0x996a73009c581747L,0x00000000000000e2L } },
  74046. /* 18 << 308 */
  74047. { { 0x33e1640091a78548L,0x0be887bfab17fd14L,0xd0a2c5b684e585a3L,
  74048. 0xa7263ff6c9aad376L,0x3043f2fece1efd0eL,0xa0680aabdef6a593L,
  74049. 0xe60970a1f0023f93L,0x3a37d9532721a60cL,0x000000000000019dL },
  74050. { 0xa6f89b88c747ceb9L,0xef6327fbd2f9af42L,0x9fc2f4e140059ad8L,
  74051. 0x8cf625fb17fd0a67L,0x7b274e49d4b8e5fcL,0xabdf2b193b7de841L,
  74052. 0x33ace325cb52a6faL,0x245e8346cedd79e1L,0x00000000000000ceL } },
  74053. /* 19 << 308 */
  74054. { { 0x01bacaeabea17fe6L,0x59915363440c14b2L,0xaa37092ab5b2c0b1L,
  74055. 0x0d2bf652ab5e63ceL,0x78f5ca508ad78521L,0x22c92a71ed54e597L,
  74056. 0x25e63d45070cfe02L,0x4bd01cf9443e0e82L,0x0000000000000092L },
  74057. { 0xd059eaebbee76889L,0x6bc4542fa6dffb4aL,0x249940849553d515L,
  74058. 0x2ce00cb4cc103183L,0x45a3fdc168016708L,0x2bad1eabbac0273eL,
  74059. 0x38ef326920c8a277L,0x849cd583f91eef7fL,0x00000000000001feL } },
  74060. /* 20 << 308 */
  74061. { { 0x1da8036a7a1e7dcdL,0xeba687ced11490f5L,0xc64142142c78ff92L,
  74062. 0xf74c827871e76977L,0x4f4870199295ccc6L,0x9f1f19e06d459a5fL,
  74063. 0xbd88bfbb1a7a5b0bL,0x64780f07e527efe7L,0x0000000000000042L },
  74064. { 0x9e3e79f3e6b1281fL,0x0b7b6ea6cf470445L,0xa1b8c1490c2ab815L,
  74065. 0xc063df408bf69287L,0xc8db56473cda2051L,0x44a55be78b19b178L,
  74066. 0x359c27432185346fL,0xf88c095f67dbbce5L,0x0000000000000103L } },
  74067. /* 21 << 308 */
  74068. { { 0xb91e5920ac8ef011L,0x7a54d4adfbcdb74aL,0xfe11613ffc5098b5L,
  74069. 0x1336af032aef6001L,0x84605c56a061b0f6L,0x0f60d5e2e1fcaf04L,
  74070. 0xde8852e49907ac17L,0xb28a7d61ea6f8bdfL,0x000000000000005dL },
  74071. { 0x4004301e0f0e5fe5L,0xf197d689fc10a41cL,0x0b0fa151123330c4L,
  74072. 0xf03abc5f0d80b3fdL,0x70938e36c84adc56L,0x56e25d0682880d7bL,
  74073. 0xe4ba61eab767a4f9L,0xfec4056bec7805ceL,0x000000000000007bL } },
  74074. /* 22 << 308 */
  74075. { { 0x71b0470927f2d575L,0x4ce1b5a35ec90c8dL,0x1fa98cc92ed1c562L,
  74076. 0xffac24ea60a174a8L,0xa9eb67c721c17f93L,0xdff4dc8fc22a0e55L,
  74077. 0xd44fe45a97f21f99L,0x617b224cd9032856L,0x000000000000012bL },
  74078. { 0x807472aea19c8053L,0x83365805a0ea3ce7L,0x15ade403800a5422L,
  74079. 0x1d7f62916bfeca38L,0xd3454c6c3975cdabL,0xba22ba37899c6b79L,
  74080. 0x46901af86bd4d316L,0xd7dc618e8259a72eL,0x000000000000006cL } },
  74081. /* 23 << 308 */
  74082. { { 0x2c1a594ce5e70724L,0x9827008023b65011L,0xc4bfcb78112d48a3L,
  74083. 0xe9f153719f70adfcL,0x95fe6dfa442466aaL,0x11f7ba5cc44e4c58L,
  74084. 0xbbb7c63059794602L,0x3caea52a595ab424L,0x00000000000000beL },
  74085. { 0x7bc2206923fddef3L,0xdd953f62707e24fbL,0x4711583a602d304bL,
  74086. 0xb63e6c862ceb6dc1L,0x37485fd80d5380cbL,0x9dd8e21be6c10e7cL,
  74087. 0x47e4555b2bf9a466L,0x12bffd0346e86fd9L,0x00000000000001c3L } },
  74088. /* 24 << 308 */
  74089. { { 0xe2f4e66122495a58L,0x0f547f2112dedb25L,0xda70b4ccab617fa2L,
  74090. 0xdf8f0a8727716051L,0xda92b34e5b9602c9L,0x13f62ddb9edc1bb8L,
  74091. 0x4c9453427196c75aL,0x03d6a92485cc70b4L,0x00000000000000b4L },
  74092. { 0x5b3255495f951e47L,0xcfdf328e31c6c06cL,0x4c747ca3b4409bc1L,
  74093. 0x82b37aedb2420014L,0x254fad7217af258aL,0x8520c05a9aaf24d3L,
  74094. 0x22c81bd52f2d8a68L,0x15f846222126085bL,0x00000000000001eaL } },
  74095. /* 25 << 308 */
  74096. { { 0x49cbcd516677335fL,0xff3b5c376973a2a6L,0x24fbdf0a76d9b3b1L,
  74097. 0xb90d67e23be472a8L,0xd3104c78a0370080L,0x2d0c35e019f99197L,
  74098. 0xc01ae666656ff6cdL,0x70357f51c10c44d5L,0x00000000000001b1L },
  74099. { 0xe922e0ca48b5b2f2L,0x8f4a74eeba82bfd9L,0x78744832f23c0329L,
  74100. 0xdac7d5e418144f0eL,0x4b6c8a5573ab198bL,0xad8701552aeb0191L,
  74101. 0xcb25a018937740afL,0x217c8ebb064ab75eL,0x00000000000000ccL } },
  74102. /* 26 << 308 */
  74103. { { 0xc3e6e304b6017e8bL,0xe0f4658e93da01e9L,0x7c000b973650f195L,
  74104. 0xa252398f0db26432L,0x5b8c3d166a3e2695L,0x58aceeec15c35d5cL,
  74105. 0xfbd04cf40c9d3e37L,0x91e494fb96955becL,0x000000000000006cL },
  74106. { 0xf233b2294ef54821L,0xdf93fae3e9f9da80L,0xbcdd5253e7d7234dL,
  74107. 0x4b8a114bd07bb906L,0x32e091a2d6937e9aL,0xcc369893ad38b041L,
  74108. 0xcc0a70efd48839a3L,0x243948c57344ccffL,0x0000000000000070L } },
  74109. /* 27 << 308 */
  74110. { { 0x7d6c6c044e864354L,0x0a901df4875d7d03L,0xb5907546246dae1eL,
  74111. 0x6729f83134e1570dL,0xd764551bcfdea622L,0x313f1c743b5e6805L,
  74112. 0xa1481042669a54ccL,0x5f415fd1b868de4dL,0x000000000000004cL },
  74113. { 0xd716453f41282c78L,0xd0195eb53fa4d88cL,0xe89c4289ab207259L,
  74114. 0xcde2eb67f7971651L,0xcea4c8f7c8412a8cL,0x0bc1ad8e99a02f0aL,
  74115. 0xae4acd7a8011b76fL,0xa1631045edd271d2L,0x00000000000001eaL } },
  74116. /* 28 << 308 */
  74117. { { 0xef3289b04ad9d4d3L,0x1642bc9a269cee37L,0xc43668c748c83a9dL,
  74118. 0x1273811b4be20506L,0x6ac04b3ad754dea6L,0xd7fc6015233d6ef0L,
  74119. 0xe1f876a478099339L,0x95f3600d848cc174L,0x0000000000000093L },
  74120. { 0xd887337dfe703d68L,0x7fe8618d7fbb4be6L,0xcc8553bb5e92c232L,
  74121. 0x7c8c470d76d61087L,0x895e49a664c6ee9dL,0xd18e92679cce131bL,
  74122. 0x37e1526eafcd5762L,0xb36a29bace71ee8aL,0x0000000000000012L } },
  74123. /* 29 << 308 */
  74124. { { 0x5bd3e13724ef2377L,0xe78c3cf63fdfcae6L,0x4e142cabb58a6d07L,
  74125. 0x3e136d15d953e9a1L,0x0a7cc513153a91f6L,0x43b28b2c402eae12L,
  74126. 0xcc70a80949e328e6L,0x36f604d3e4e3b6d3L,0x0000000000000137L },
  74127. { 0x9dab1378923289cdL,0xf78d3f45bde1d213L,0x5ab3e38b81422f9cL,
  74128. 0x1380b31a8ba8cbebL,0xe4a0c0d8f6d62dccL,0x05a681bd04c2e5fcL,
  74129. 0xc2dc99873ae76bacL,0x1b5b77687287ffa4L,0x000000000000009eL } },
  74130. /* 30 << 308 */
  74131. { { 0x313ffe575bed3c7bL,0x89efad76113b0db7L,0xa4068d0b23656bf8L,
  74132. 0x58b54b358440fcd0L,0xf012adff64e85c0bL,0x95fc8d711b1a0be4L,
  74133. 0xd8dda43290669498L,0x43a699b8cb319f35L,0x0000000000000030L },
  74134. { 0xb47ffe3b8d9462a9L,0xd89b60f9768e68eeL,0x8679af2a3a0033a4L,
  74135. 0x585f61ee9dcca100L,0xaa093db603db700aL,0xe80a02fe08a588b7L,
  74136. 0xd6ad55849c2f6c6aL,0x0955a470748f1c99L,0x00000000000001c3L } },
  74137. /* 31 << 308 */
  74138. { { 0x6323f8eed9c72869L,0xd78b8344726240f5L,0x7eee40c79fcc91c6L,
  74139. 0xfe0d1b6a43b91a09L,0x9254b68dbdf3e3e0L,0xf7ab62718f3b0872L,
  74140. 0x913f625223694657L,0x306927fe683200daL,0x0000000000000151L },
  74141. { 0x68e2727cbf01e24eL,0xcfc5c7bd9ce8a665L,0x97659cc53e39c7f5L,
  74142. 0xeb81619823c6a080L,0x40b159fb9cc5fbe1L,0xed0d128e7072081eL,
  74143. 0x15146656cfa8fd34L,0x8a860e6be7cd5746L,0x00000000000000adL } },
  74144. /* 32 << 308 */
  74145. { { 0xed90e62b5e3ced2bL,0x160214bb5a919213L,0xdfb8ac078cb4fc2dL,
  74146. 0xea5aa6e7ea384db0L,0xc9492ed2f916fb11L,0xf40cecce1305bd78L,
  74147. 0xb98af5013f28555eL,0x4e9f84b268417d62L,0x000000000000014eL },
  74148. { 0xbe791feaac7df2e2L,0x15c9429ce745ba60L,0xb02c1705198a2d50L,
  74149. 0x0a67cdce9b6e6a44L,0x640506295ad00221L,0x75620ea82b314076L,
  74150. 0x64c89ead87b02aecL,0x0e5ff515a92113ecL,0x00000000000001caL } },
  74151. /* 33 << 308 */
  74152. { { 0x2c19949ef2406274L,0xeb1e901251f176c7L,0x2695dcbb4ba80dc6L,
  74153. 0x2e07a7e0f5334f98L,0x9428720daf669d01L,0x82c33b4fefb29d88L,
  74154. 0xb2e43bcd57ca108eL,0x04a02cd6212733c8L,0x000000000000001aL },
  74155. { 0xa88f7adc850c9f85L,0x3e05d4e2e6d0c323L,0xfd785dccf2abaaa4L,
  74156. 0xf4655ef4740cf540L,0x8ccd72a6db4f34c1L,0xff73999f3cb7f1afL,
  74157. 0x7a8f7afb67b965c6L,0x689736dc011e9fccL,0x0000000000000190L } },
  74158. /* 34 << 308 */
  74159. { { 0xe370e04bda8b5457L,0x63b60bea8169a63aL,0xca9c40db704d3577L,
  74160. 0x3232585b00e9f510L,0x917ba31c02396333L,0x7c5080f6b91efb06L,
  74161. 0x1eb3475cbf68771cL,0x4cec20604cf02263L,0x000000000000011cL },
  74162. { 0x507d8e2d9a69e3c9L,0x5851d2297408ec4eL,0xb2ade543a8576e51L,
  74163. 0x37a8e2664dc34c8fL,0x3bdee95ac43ffaaeL,0x0a0c91250fa2332cL,
  74164. 0xe24013f395ee30f9L,0x5147e3805619b0f8L,0x00000000000000bcL } },
  74165. /* 35 << 308 */
  74166. { { 0xf004e4c8373d4c8aL,0x7822596b460ac6b0L,0x471aaf043775d740L,
  74167. 0xcf749e00d276f1e1L,0xcaccb1f7f2ebb22bL,0xb5588cee33256066L,
  74168. 0xcc12f8a3b5237d3dL,0xee1ddeae0b0be19fL,0x0000000000000019L },
  74169. { 0x447a0ca173675ea4L,0x635562ac3d1ae535L,0xf0743ca5170b653aL,
  74170. 0x1104441f680762e2L,0xde5a0d91fdb1f4acL,0x2e7d6445c33ac495L,
  74171. 0x9dcd3ccb794a087bL,0x1d3f68a58696a6a5L,0x000000000000015aL } },
  74172. /* 36 << 308 */
  74173. { { 0x2789d11789bd607fL,0xa49b3a3d1cf5731bL,0xb4d1ae40375eac7bL,
  74174. 0x7a9e3214709d9d95L,0xc7af5abb98b3eea0L,0xde6ea6f093831eceL,
  74175. 0x0a4230d2a22c398cL,0x7a2d8ce8484e09f8L,0x00000000000000d7L },
  74176. { 0x41dd59f7641a8d21L,0x160f13b2f280dbb1L,0x5a3ccbd65a915aa1L,
  74177. 0x2bdc905e2c8b1919L,0x94c2351282289eecL,0xce5342af75f08e5aL,
  74178. 0x6fb1fe090c9c86e0L,0x8eac3f4599539227L,0x00000000000001f4L } },
  74179. /* 37 << 308 */
  74180. { { 0x3994c61f837a73fcL,0x05e46220c3c61376L,0xc0e2194910b886b8L,
  74181. 0x8359b1f1189ab28eL,0x13999cf923e8fe68L,0x04111bba06dab3daL,
  74182. 0xf18121394ca82f29L,0x5dd0e72bd9943929L,0x000000000000004fL },
  74183. { 0x04858d7e9fe6d683L,0x2a004635afbc7265L,0x107e46cab959a351L,
  74184. 0x2f3e6d698b035e0aL,0x801c719799822213L,0x4fc2eb1161f5bc41L,
  74185. 0xf7c878ac5cbd4694L,0xb9dd8d02b6b9a266L,0x0000000000000196L } },
  74186. /* 38 << 308 */
  74187. { { 0x2cc54df39a952054L,0x47e7fb8b51ab4e98L,0xaff4e345b6e2cbd4L,
  74188. 0xd610c468f8c1d6a1L,0xa7563cfa992df027L,0x140c736189033162L,
  74189. 0x63971f30eb289c93L,0xe2d280352b4f7844L,0x00000000000001eaL },
  74190. { 0x82228cb1bae96b69L,0xdf0d49c6a3083751L,0xbe69f9c9c81c58d0L,
  74191. 0x3cd796d57b379ce3L,0xccd51828bf65993dL,0x211b60262d97d104L,
  74192. 0xd4fc2ed814cae057L,0xc6ec10767e620833L,0x000000000000012fL } },
  74193. /* 39 << 308 */
  74194. { { 0x5f9c3dd34c7a6d9fL,0x980f2239fc7c6101L,0x2f9d1cdbce021a46L,
  74195. 0xa28bd3e778b27c58L,0xd945b2bc1c8ef989L,0xda48a77c0d1cb17cL,
  74196. 0xfd09eebd7610f5aeL,0x56a9dd2796b6ac9fL,0x0000000000000167L },
  74197. { 0x849e468d1395f988L,0x2ab3d74264a87f6dL,0xf31f45c333b48458L,
  74198. 0x3919d83712166e26L,0xbd8adf1e79b58f44L,0xfb3b7a45366e3d27L,
  74199. 0x6290beabbba7525aL,0x7c682d245b4cecbdL,0x0000000000000147L } },
  74200. /* 40 << 308 */
  74201. { { 0xbe900c2b8b2cdcd6L,0x9cf651cf310d52b5L,0xd4a52f802935c768L,
  74202. 0x6e2e1c7e42edb029L,0xcdc8d47abefe41acL,0x199ee4beeda259faL,
  74203. 0xe706031f7f85ad33L,0x5a45278532b0f784L,0x000000000000004fL },
  74204. { 0x2d3934ba35610090L,0x398169e89e7de644L,0x471618b4dd43f89fL,
  74205. 0x54961e3c7f1ef9b1L,0x46d59c5ed6fd43f8L,0xf5b2ecf88f2fb30aL,
  74206. 0x6c423061b68e08a0L,0xb491e42bdf61a0e1L,0x0000000000000080L } },
  74207. /* 41 << 308 */
  74208. { { 0xdd61e4a3e3a78953L,0xbf87cfd848d529a0L,0x05aa387d57575951L,
  74209. 0xd7335ac15d8653b6L,0x5a87134fa75e619bL,0xd3b65b4ffb2975faL,
  74210. 0x60914e3730514133L,0x164480addf63e2d9L,0x0000000000000089L },
  74211. { 0x46993b20c16d3f41L,0x56b02cb3f40e7e23L,0x40dccfe49fd8bf53L,
  74212. 0xd27718e9865bd74bL,0x7e67918f4f316243L,0x1496d27854c01a95L,
  74213. 0xe335a4aabce954eeL,0x1c65a2279c07cc82L,0x00000000000000c8L } },
  74214. /* 42 << 308 */
  74215. { { 0x88c2882bd4c52879L,0xf5a17282601e9b5bL,0xa2cdc54876b70fe4L,
  74216. 0x58dd0c4b6978da58L,0x745243423ffc240dL,0x24d69e0ea8be34baL,
  74217. 0xe8e520f3fa0a2e8bL,0x3dbd0ce31ec56e1bL,0x0000000000000053L },
  74218. { 0x30f5a879ad6210bcL,0x2d50247054846592L,0x0fbd0ae1e24df628L,
  74219. 0xca9f795424f3e652L,0x33c6f50b4c7907ffL,0xc6985026d1598043L,
  74220. 0x05041dcd7b3e68c9L,0x16ce3f929c508fc0L,0x0000000000000012L } },
  74221. /* 43 << 308 */
  74222. { { 0x662b4d35c3726445L,0x5720f5305038de2fL,0x19da86837f89ec6bL,
  74223. 0x73da9d38c6ee50d1L,0xd29069f62da75c84L,0x946fa6989562b2a0L,
  74224. 0x39659a1c99802cc5L,0xeba11d668e39c13dL,0x000000000000013bL },
  74225. { 0xe30e9161797cf75fL,0x77a27dc6dd246755L,0x4681dd15f948fc78L,
  74226. 0xce663c6999c0ffb3L,0x4b7a85cb661acc30L,0xa9a796cce444094dL,
  74227. 0x36c43bcb6c9f5061L,0x2545040379695bfeL,0x00000000000001edL } },
  74228. /* 44 << 308 */
  74229. { { 0xba81ed506a19d751L,0xd7d6c9a08ede7c16L,0x20a58314e4efb6faL,
  74230. 0x6cf44b6f17466134L,0xfabeff5243e52adfL,0x8bdd16b1c5f6f126L,
  74231. 0x4a30ac449514d967L,0x1b589fbac46ab077L,0x0000000000000180L },
  74232. { 0x77cbae8d7a9f8a8eL,0x09f14f7997385badL,0x8136efa828b2c50eL,
  74233. 0x9d13c7d39d3f91e1L,0xbfa47812231393c4L,0xd5e2e14001104469L,
  74234. 0xd3e4a6876112a9bbL,0x3bb8410cfced65caL,0x00000000000000b2L } },
  74235. /* 45 << 308 */
  74236. { { 0x495b282a648a530eL,0xd97f888bbf1bfeddL,0xb8d68e2a724ef32eL,
  74237. 0xdcb78c0f092d41ebL,0x225506b0d83cb14aL,0x9697dda14cd71449L,
  74238. 0xbb1813e322d21a2bL,0x7e0e1f41ed79869fL,0x00000000000001baL },
  74239. { 0x8da6a9cc02b9ce33L,0xd4e48938353fb0c1L,0x4071ef95164b3e77L,
  74240. 0xe00f67a4c29fdca6L,0x24ac0818d8687a9aL,0x3f2bbfa3f2c95e4aL,
  74241. 0x3732ed47b24c03f2L,0x287b67fdaa853fa7L,0x0000000000000012L } },
  74242. /* 46 << 308 */
  74243. { { 0x71f8ab3171e1d201L,0x66af84451112f38eL,0xadf03cc091779ef2L,
  74244. 0xde8028abfd0ab5dfL,0x4fa210fea692662cL,0x145649061d83000fL,
  74245. 0x925492c383e1d5e3L,0x980ad314f0d5fb5bL,0x000000000000012fL },
  74246. { 0x8d0164410565708eL,0xd4ee65af3b1c93d2L,0xf2759e7872ea4b77L,
  74247. 0xee155661b4384101L,0x354a5e0f85775c4dL,0x0d8ef755c8163ffaL,
  74248. 0x9ea27178c24bbdd4L,0x9b53bbce1a2571bcL,0x000000000000018cL } },
  74249. /* 47 << 308 */
  74250. { { 0x30766fec7f664c94L,0x7409db5ad21d54f0L,0xd49b56fe5dcd8399L,
  74251. 0xc78b523220b37488L,0xb2b34e987db34742L,0x453f193cc27ee29fL,
  74252. 0x819f1a9ce7ae5b8bL,0x3da6aced7c36808bL,0x000000000000009aL },
  74253. { 0x6cfd9af22dd54b89L,0x774fa5ee9ff83338L,0xe4d38d08b9373ef9L,
  74254. 0xb7e1f43fe23f834bL,0x1333a5c20add6baeL,0x4fbffd23faa1e20fL,
  74255. 0xce555c822816888cL,0x34303fb8dd0eff4aL,0x0000000000000034L } },
  74256. /* 48 << 308 */
  74257. { { 0x52a60da401ecea43L,0x00e1ab1441bf6835L,0x785545cadd97b88aL,
  74258. 0xe2bc1326d2f2894eL,0x3c730457e398bf19L,0xa4c297531bdd3170L,
  74259. 0x7f01a08492ec7e73L,0x54d483b824bb9d11L,0x000000000000005aL },
  74260. { 0xedc13dd6beea4dd5L,0xbcecc285125ec53aL,0x8b7de1ba5bcd72ccL,
  74261. 0x1853dbccddbbc9b6L,0x799b97b28f47fc1eL,0xc01253b8176cce73L,
  74262. 0xab6c5fdd5430bf2eL,0xf9250653cf5b31e6L,0x0000000000000042L } },
  74263. /* 49 << 308 */
  74264. { { 0xbad1e3b4b1814e8bL,0xdc80df020017a14bL,0x92e7c7f5d0caa98aL,
  74265. 0xd0fedadf154a72acL,0x83700909e5406a31L,0x009b49af34a6a9f1L,
  74266. 0x49747a7f5e86330aL,0xa14c39aabd0ef998L,0x00000000000000aaL },
  74267. { 0x26eebaee360a5e0eL,0xfbf14808edfa126aL,0xe4d1dac6b7d01479L,
  74268. 0xf04493dbd8063451L,0x8429cb9e48a0421dL,0xfa1a9ed2c7323dfeL,
  74269. 0x1efcb833ed9d72e8L,0x3e8726103cf78a46L,0x000000000000010dL } },
  74270. /* 50 << 308 */
  74271. { { 0xc38371374a0bde6dL,0x675b967c2d8556a0L,0x6eaf1e86aae51478L,
  74272. 0x36675d0c822be9c8L,0xcbcbfe0f90625398L,0xcc96e4dff88a4d3bL,
  74273. 0xeaec101cdedaee78L,0xd87f4dc26c6fba50L,0x0000000000000071L },
  74274. { 0x2cffa71ef76c62cbL,0xe7adbdb562fc75eeL,0x991645e69f96589dL,
  74275. 0xb838a48a46b866b7L,0xf77a287f7526217bL,0x255a2868320f6b81L,
  74276. 0x59f9a54802fd4fb6L,0x3883508a2441ca7cL,0x0000000000000049L } },
  74277. /* 51 << 308 */
  74278. { { 0x6b348fd624b337a6L,0xa4e8dd141026a300L,0xae405b249069dc46L,
  74279. 0xeb322a385cd34d1cL,0xacffdda0bfddc93eL,0x2d3ead70a2004269L,
  74280. 0xca6ef046c923eea6L,0x95ec33c04d1c30e0L,0x00000000000000f6L },
  74281. { 0x8a4391ac74ff127cL,0xed6f4c5ff3de50bfL,0xd956fad840e42f57L,
  74282. 0x078b1fbfab13da63L,0x53b8c6760f03b200L,0x7620a901916e1116L,
  74283. 0x60ba8e8d5d005bccL,0x5aeb871b8c06ea49L,0x00000000000001bdL } },
  74284. /* 52 << 308 */
  74285. { { 0x3a62717c0ffd6985L,0x1fd32f21733d9f3cL,0x011dbe5d8147aa6bL,
  74286. 0xcd9908fee54d912aL,0x3a816c571d8a478dL,0x2c3b8621546c8c6aL,
  74287. 0xeed9efbfe7163461L,0x486c1588b1748edaL,0x000000000000014fL },
  74288. { 0xc74f435a42f32ff9L,0xcbb8a284762199ccL,0x21786a042b632b1aL,
  74289. 0x4f00521e9c0f441eL,0x9731b233a4693246L,0x61903ec24f45b460L,
  74290. 0x90d06bda1812873fL,0x233ebe9ac7dd899aL,0x0000000000000189L } },
  74291. /* 53 << 308 */
  74292. { { 0xd0cc6ac7d1604578L,0x8f7c03bd9a7cf248L,0xc3737964837f507aL,
  74293. 0xd2cc12f3eb1aec18L,0x08827d5b1130097fL,0x1345bcab91f0bea0L,
  74294. 0xad565af5255b4d20L,0xcefc35609f26fdcbL,0x0000000000000105L },
  74295. { 0x8242ac7a2f183ca4L,0xa6018cc3f9824ea7L,0x6efb40a2aafae2dbL,
  74296. 0x34ac62097610e9fdL,0x86ec4e010120c604L,0xa63ab91f18999b56L,
  74297. 0xf56dd81f2c39681aL,0x5e77017c8a7397f3L,0x0000000000000048L } },
  74298. /* 54 << 308 */
  74299. { { 0xcee29d979fd8ac86L,0x100ebc46736e18ebL,0x772b082c315677bdL,
  74300. 0x9c1db95fb0a2e064L,0x396ce154ab199211L,0x1e30a3a2c6daa93aL,
  74301. 0x9a7ac319f96900f6L,0xf1e451de804c81cdL,0x00000000000000f7L },
  74302. { 0xb332554cc5dcb3e8L,0x7417b3062c2bb6ebL,0x049d887506fac3fbL,
  74303. 0x534ef151175afdd7L,0xf342d62e3a58683aL,0xe583a4bfe09ea4c3L,
  74304. 0x5cf0b6caaf2483c0L,0x8faecd4f589f4692L,0x0000000000000189L } },
  74305. /* 55 << 308 */
  74306. { { 0xb73d4ba8c609a9acL,0xa3ae20b5e8cd2948L,0x6c9f7f2cf5ba63ceL,
  74307. 0xba195b445d88340eL,0xee88c9c07e1cee38L,0x7ba10f56fcfa1694L,
  74308. 0x4834f9cb439198d5L,0xa4fa944dd69d83fbL,0x0000000000000045L },
  74309. { 0x9488f1e0aee1243cL,0xf3931d8f731dc6a0L,0x6ea82c88b9a9311dL,
  74310. 0xcae86a35158843d9L,0x7d8f6b9789e3d41fL,0xe45413a917a8638aL,
  74311. 0x54fc84f72fde14adL,0x4889b4d4045c542dL,0x0000000000000137L } },
  74312. /* 56 << 308 */
  74313. { { 0x3b6ae375df5713a1L,0x507539c8eeb08615L,0xeea363fd79f23ed8L,
  74314. 0xd35de9c05a24a3a6L,0xd655632794c5e698L,0x43cfb402eea346eaL,
  74315. 0xf7f0d1e1bebe4d32L,0x3b36bd8c70a22463L,0x00000000000000b0L },
  74316. { 0x78777cd9c845e984L,0xcb446e18a31e5dcbL,0xb4851ea3dabefc01L,
  74317. 0x18d2a234ef97b76dL,0x50a85010d5a74049L,0x14b78201acb00ffaL,
  74318. 0x0a8fc98c4cbb648cL,0x4be4551f9873fce5L,0x0000000000000124L } },
  74319. /* 57 << 308 */
  74320. { { 0xb363062aa7afddabL,0xd8268f1de5dd4407L,0x3ace2a091b790e64L,
  74321. 0xa0c92d9c3555f9a9L,0x0f752fb5384658faL,0x6749e84e52980595L,
  74322. 0x7084539ff40b0d0dL,0x9eb1046f552ed611L,0x0000000000000052L },
  74323. { 0x4d47f6856686c007L,0x44bbdeccedbb1abdL,0x114cafdc075d0809L,
  74324. 0xf4f4eeea6a05c788L,0x75ddcddfd45dfcc3L,0x147b1787235c7924L,
  74325. 0xd492c7aaf5a4ab5bL,0xaa4b32a02bac18a4L,0x0000000000000075L } },
  74326. /* 58 << 308 */
  74327. { { 0x084a6b6311d23a5cL,0xab5f9756b3a73439L,0x252f50e4cf1a7bceL,
  74328. 0xa066a37e7a498ac8L,0x29206e9e8c559d33L,0xf9fe43ec8c602500L,
  74329. 0x2bb76d93c7c77774L,0x68609df4f9689fabL,0x00000000000001fbL },
  74330. { 0xf6223435a31c6d6aL,0x016ccdb2eeabda79L,0x33ef208790e53bb3L,
  74331. 0x942ea7869d04b29fL,0x86905d345ba2a37bL,0x613723c8ac546743L,
  74332. 0xd5a462b093c3a659L,0xf133494680b4a914L,0x0000000000000095L } },
  74333. /* 59 << 308 */
  74334. { { 0x0e964bfae51c867dL,0x4f3f0bcc3ed4de99L,0x66c3bc1c46193003L,
  74335. 0x5ea89fcea9802a49L,0x1e81c4b4399876daL,0xa68d345dbf61cf47L,
  74336. 0x2a527a8bf4ac1373L,0xcde8a8a922975cf0L,0x00000000000000d9L },
  74337. { 0xaad318a1d012c097L,0xca78d31b9b8d36dbL,0x2448c6ace479884dL,
  74338. 0x7c43e6d65bb93799L,0xd293de3aeeca6834L,0xaec6d7d535dd9091L,
  74339. 0x34f04c3b3ed39ff8L,0xa79da00f1ce455afL,0x0000000000000174L } },
  74340. /* 60 << 308 */
  74341. { { 0xd9e135d4909e5d9bL,0x1ae0a17c2e0bc5d7L,0x1fbfefd075076db8L,
  74342. 0xe071dc39a834aeb9L,0x1eeb9d2eb5d650b1L,0xaa20dfbb76cddd0bL,
  74343. 0xc32c3efc3795fae8L,0x5adcde3c2a3650a9L,0x00000000000000edL },
  74344. { 0xdb923c659f719586L,0x8c1b9bd1f69546b2L,0x4823b2184ffcc633L,
  74345. 0x841f3292451d0538L,0x52a64ca0ebeb45e8L,0x8a0b375b64d61c71L,
  74346. 0x0425f6cee13c6ae6L,0x98cf4b4d00827285L,0x00000000000000a7L } },
  74347. /* 61 << 308 */
  74348. { { 0xdcf7204a502a5841L,0xe8803fd9b3c2389dL,0x98af342ac7587e46L,
  74349. 0xf6d845cf1b1a333bL,0x1fbe34235acdf342L,0x8ad324448c6cef92L,
  74350. 0x4a48cbc2ac8608baL,0x105bf24a88f4bfb2L,0x00000000000000cfL },
  74351. { 0xf5bd7fbb45d5cc83L,0xd251ae69b14bb0ceL,0x7f6c9961cda6e920L,
  74352. 0x5548da95b0e20d2cL,0xb2d81a5eeeb3f6b4L,0xd3c1ac3f83ee7b22L,
  74353. 0x1198f80d9dcdee2fL,0x0f1113270cca9beaL,0x0000000000000052L } },
  74354. /* 62 << 308 */
  74355. { { 0x681c9c9e5551d22dL,0xe1011410c24d40bbL,0x1a659728df00294fL,
  74356. 0x1d4ac5e4045c6bd6L,0xb61e6eb0c71e0ac5L,0x0aa6738fbd4c522dL,
  74357. 0x278bee73f286cbdcL,0x9a9ca40d64f560a3L,0x000000000000003cL },
  74358. { 0xd18807d339aa5452L,0xcc5b2a69613b3726L,0x230b5e89c8957cb8L,
  74359. 0xd32a1ec3b346ab21L,0x8a21c20975cf8d12L,0xd5d16bd029962528L,
  74360. 0xc6f8836703130361L,0x034d6f15925aef31L,0x000000000000011dL } },
  74361. /* 63 << 308 */
  74362. { { 0x42e9edc80584715eL,0xd218b0a4011faf8dL,0x055e4eb095fd2a15L,
  74363. 0x68ea9b5ddccea016L,0x0180246ffe9af8f8L,0x38bd9a02b832006dL,
  74364. 0x9af977eca3414177L,0x0746ad2fa173e5e0L,0x00000000000000ceL },
  74365. { 0xefef29e60b444e14L,0x4357b9377d74016bL,0xeb63316d6bec3801L,
  74366. 0x25164848dbfc9d02L,0x00d845fccd52497eL,0x8c54d90c615fd91dL,
  74367. 0x33ceba564ec93464L,0x7a9e51d9f6f85b80L,0x00000000000000cdL } },
  74368. /* 64 << 308 */
  74369. { { 0xc071157213cc2875L,0x422583136ec01830L,0x32cfef4101e95528L,
  74370. 0xa8741ca0af8116b4L,0x3195f7f358f1fa26L,0xf2e969281144142bL,
  74371. 0x5a9c331f6b179bf4L,0x45e363f236c6c42fL,0x0000000000000057L },
  74372. { 0xbe2e55f12c04c8aeL,0xa522f7d53af16430L,0xeae2b2c42904630cL,
  74373. 0x58f5c76e8e151736L,0xdfa21ea65aee8e9eL,0x103b7ad681717f92L,
  74374. 0xa89e274a9b4464eeL,0x316f580f2daa3259L,0x000000000000004eL } },
  74375. /* 0 << 315 */
  74376. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  74377. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  74378. /* 1 << 315 */
  74379. { { 0xd1ce126eec3d1383L,0x0c7f980a4805b18eL,0x65945086fc1b1f4eL,
  74380. 0xac1703ae092e0ca0L,0x834c77f98b5ee5c0L,0x3e722f576d19fbb5L,
  74381. 0xae8a944af6770bd1L,0xe1d110502a7c7101L,0x00000000000000d7L },
  74382. { 0x62029fd2ca303000L,0x366c72c9acb52ecdL,0xcf89c1aacc8dd8a2L,
  74383. 0x95c235bf5d1b984dL,0x3434d10dd1a80d52L,0x094d0a8f77e95addL,
  74384. 0x03890027d1203660L,0x32faf27329791ab3L,0x0000000000000075L } },
  74385. /* 2 << 315 */
  74386. { { 0x18cadddda03efd8cL,0x9d59bb52aeb3a762L,0x571d86bed1fd3f91L,
  74387. 0x81642aa1d2f26d6dL,0x7d1c3bc999877251L,0x0518eff8d7c2fd25L,
  74388. 0x6a54f17037b6c641L,0x8ffedfc00d33a426L,0x00000000000000c8L },
  74389. { 0xacf67416bb54847bL,0xa293a8d7f2b54b28L,0x32f2b11a1f7f6b47L,
  74390. 0xc11948bcc6d67a9dL,0xc8b86b1f47623783L,0x357326aa5c2362e6L,
  74391. 0xc298be1b6cf79126L,0xf07b3ea784c5a79cL,0x000000000000006cL } },
  74392. /* 3 << 315 */
  74393. { { 0xe4cc8937c5cfe5e0L,0xb01db28fe534260dL,0x3311127e76c1f2f6L,
  74394. 0x0f4f7cfcdd8e1644L,0xd788f9f85ae2b93fL,0xf64431f8007d4765L,
  74395. 0xb3ad8af287159ff4L,0x8401e32600a7857fL,0x0000000000000016L },
  74396. { 0x49b5a301e78a8db5L,0x97b3fd44b4d74fcbL,0xf5e2754d19f77e5aL,
  74397. 0x908fbc9c7bf17a6bL,0xfbe48b086980179fL,0xc33a8480cd28c69bL,
  74398. 0xa74a2ebed11832dcL,0x572b5f3957d49627L,0x0000000000000115L } },
  74399. /* 4 << 315 */
  74400. { { 0x4379897720210875L,0x8e95ab32d58004c6L,0x33058f96c68a6aa7L,
  74401. 0x2db1fdb8914082e8L,0x7841a48993e12423L,0x051a4e151f9d2ff5L,
  74402. 0x618eeac54da88e65L,0xc52113cd512c1795L,0x00000000000001b5L },
  74403. { 0xb6dace96e93af674L,0x4ea1073bedb5c3f6L,0x4352509fa0b861d8L,
  74404. 0x05451d6f7adb5cfbL,0x194e3acd9a3375d9L,0x6258a5ab33658d41L,
  74405. 0x2bc60cb7f542a8d8L,0x68e50e5a74afe0cfL,0x0000000000000187L } },
  74406. /* 5 << 315 */
  74407. { { 0x8ab1a9337e8401d3L,0xdb8a437374dd345cL,0x8fc17b06dfc52ec6L,
  74408. 0x53a4528c3a8cbd43L,0x791f0050ff746544L,0x97c15abf468923c8L,
  74409. 0x4ba5521cd71e2cedL,0xe7ff5cc44367a0f4L,0x000000000000011dL },
  74410. { 0x2397c8b2ca828fa8L,0x2d18f0b05bbc8858L,0x8aaec79f7ccdcee6L,
  74411. 0x058906aaef1284beL,0x2bfc7d36d3e0d3afL,0x497a175435bb97ffL,
  74412. 0xb270ae8ea8383a01L,0x3a7f70b8db1e5515L,0x0000000000000083L } },
  74413. /* 6 << 315 */
  74414. { { 0x5ebbd7015a0c9415L,0x7bcef0e229572d13L,0x539a78133f5a169bL,
  74415. 0x6f3a84a4bac0abfaL,0x822da09bea1d0b7aL,0x9b2d6a6c05c00dbfL,
  74416. 0x134fe65dcd8c7e6eL,0xe4622a9f6301e4caL,0x00000000000001ffL },
  74417. { 0x5fbeb1f8073963ddL,0xcca648b0e595aad8L,0x5cc97e773d15c1d4L,
  74418. 0xf2d7697062989b5eL,0xf321c0c78afe8351L,0xbf361aa293a60c7bL,
  74419. 0xd9938c1174c2503aL,0xb05daaa5e409747aL,0x0000000000000008L } },
  74420. /* 7 << 315 */
  74421. { { 0xc6874a121147f509L,0x0882051c83b58e0dL,0x25553306823e9395L,
  74422. 0xba5751a97954be0eL,0x86056e04f06cf7f0L,0xdb057ca02c10577bL,
  74423. 0x8ec2f7fd400e24a9L,0x32356d2fbcf34c3cL,0x00000000000000cdL },
  74424. { 0x931835514bb690a0L,0x373451d622798da7L,0x2474aa366b8da44bL,
  74425. 0x947d984cdaeba693L,0x3c3e3b2b21f6d6c8L,0x37b0234fecc78a44L,
  74426. 0x4b49e661959f6b39L,0x29cafa8b37bb5b1eL,0x0000000000000097L } },
  74427. /* 8 << 315 */
  74428. { { 0xc43876449d2224b8L,0x80c92ac5563094e8L,0xef919bdbf6d0542eL,
  74429. 0xc71a882d5c40a787L,0xdb3851be0880c1b1L,0x4f72ff0c287cae73L,
  74430. 0x0a628f172bf3efe6L,0x29db69240150e4a7L,0x0000000000000175L },
  74431. { 0x7983f80acc367287L,0xfe2c8f3dc4633183L,0x41b0e222ae89f8c9L,
  74432. 0x93fdd59beb58ac1eL,0x5ee164c797538725L,0xb8e3b75b7591fb4eL,
  74433. 0xa2d0fa2e355a6a6cL,0x391a05540405f33aL,0x00000000000000e6L } },
  74434. /* 9 << 315 */
  74435. { { 0x1b0bf08bf55f34e4L,0x5fe51caa1de9b981L,0xc243b50297197570L,
  74436. 0x2cadcc3d699ac777L,0x80b62305dd9c8010L,0x93a003d3113ad5e8L,
  74437. 0xbb920d789e783dedL,0x2a2df2e8cdfc37d0L,0x000000000000010bL },
  74438. { 0x14e3757112860379L,0x99f12790521bc74cL,0xc05287f50407d2b6L,
  74439. 0xeb6b8d61b3fd9150L,0xe41ab7595d637ad6L,0x8efa6e451fb70681L,
  74440. 0xe371b32cf025b1ceL,0x5bf35241e85fa064L,0x00000000000001e9L } },
  74441. /* 10 << 315 */
  74442. { { 0xfde8d0ed0254d2d3L,0xdc6868c5f24357a8L,0x1806776f26106991L,
  74443. 0xa3a1446d387d0f81L,0xeb83f7b319591fdcL,0x97678d46136e098cL,
  74444. 0x89292ad342e7487fL,0x53b24c0ab3c12865L,0x00000000000000b3L },
  74445. { 0x06fc68f37a74e056L,0x10354bae9d0dd6d1L,0x713509d967092c45L,
  74446. 0x5ddd0fba52c97523L,0x421e81604616eaf9L,0xacaf5cf0a795b907L,
  74447. 0x1ca067c8beb5a28cL,0xe07cbbcdb79cea20L,0x0000000000000179L } },
  74448. /* 11 << 315 */
  74449. { { 0x59900b5c8b1b724eL,0x8dd0246c388c09c0L,0xbcf033ea7b567f8dL,
  74450. 0xaeb6215272898dc3L,0x01d8cefa24f7cceeL,0xa34d4c312415a08bL,
  74451. 0x60315ab2bee682c8L,0x28bd510f85ec5fc7L,0x000000000000000dL },
  74452. { 0xc031c759d505a0e7L,0x40d1a56cda783571L,0xc15647414ec503e1L,
  74453. 0xbd02b9a6621e3c52L,0x618d1cbbeb48b235L,0xdf1bdb37880c3090L,
  74454. 0x95d53d4b664302a0L,0xeaf9e9bde9acab6cL,0x00000000000001ebL } },
  74455. /* 12 << 315 */
  74456. { { 0xcc511efe456925a5L,0x4290a6e5f0a1b7e2L,0x1705dcce8756548bL,
  74457. 0x4c139046b509c290L,0x9d0bb0844cd17379L,0x4643b4bade17e05eL,
  74458. 0x12be04c35f7100f2L,0x3ce4459479197058L,0x0000000000000191L },
  74459. { 0x065c3e87f32703cdL,0x5ae023cc11390895L,0xd2a40ecac01552a3L,
  74460. 0xfcd1382288ee5054L,0xf61ca6f773498d40L,0x2a4653be0dd5e19aL,
  74461. 0xa56016eef88e9af1L,0xbd5c973aa73e0e21L,0x00000000000000f0L } },
  74462. /* 13 << 315 */
  74463. { { 0x4416d2e6c4cb8040L,0x004946f92aceef23L,0xfbeb8979a86b1ea6L,
  74464. 0x878481c65fd3c659L,0x28f514fba8e572d3L,0x8b9e4bdd55d6f02dL,
  74465. 0x3e76d73546867a07L,0xa1050be7517430a4L,0x00000000000000c8L },
  74466. { 0x6538fa01526ae111L,0xf277a4bb142b038bL,0x6be27430efe4dd66L,
  74467. 0xd8ed5e9f8f8d8888L,0xca67196065dc30b6L,0x1a1ee5afc652d2a8L,
  74468. 0xe1a803044b3fccbdL,0x0ec65bd04cbd0471L,0x0000000000000177L } },
  74469. /* 14 << 315 */
  74470. { { 0x72e348491df30301L,0x71ba20a6a7ae2709L,0x2ac2b9e7eac84515L,
  74471. 0x7db23e2c684fdd3dL,0xb7ff18f9b1b07c3bL,0x296f805422f64d40L,
  74472. 0xe7e74e51aca26121L,0x2382baeba4abf51aL,0x000000000000004fL },
  74473. { 0x076d34bba03677f6L,0x42bcc9c76484f153L,0x7b5fd617d74dd1bbL,
  74474. 0x1ba3e99c797cf9d5L,0xa907800787403dc5L,0x98278850d6d1e062L,
  74475. 0x456314ca6cc37a89L,0x3d3cff1b0a6daf4bL,0x0000000000000117L } },
  74476. /* 15 << 315 */
  74477. { { 0x1a19978f485193f0L,0xadb5a7bdde0df861L,0xbaaeb9a4f73b9dc8L,
  74478. 0xc66335183779f809L,0x9b55d68f3edee638L,0xcb261cf96a5affdaL,
  74479. 0xcb6a9ba2e39b793fL,0xa4ee0df08936019aL,0x00000000000000faL },
  74480. { 0xe482665d53161177L,0xe3b2fc496ea0bdb4L,0x783ca2b5dabcdfdbL,
  74481. 0x9025498735a60e50L,0x6b9114ed0414d9ecL,0x2a9467665f239c27L,
  74482. 0x4623c042397b3971L,0xe683e6e532995c63L,0x0000000000000001L } },
  74483. /* 16 << 315 */
  74484. { { 0x088b099e8cdfe07dL,0x5a641cf1b905708eL,0xc281af16a221b96aL,
  74485. 0x8bfa8dc0f622f5bfL,0x432872735ecb0216L,0x13ea7e4d6dab8b7bL,
  74486. 0xa478fb012212b506L,0xcb4be166a0c1a955L,0x00000000000001d3L },
  74487. { 0x38a2aa3dcf16c121L,0xcd70ea8a7f8eed07L,0x54532cd7e3a04c52L,
  74488. 0x8939f904ba78e53cL,0xc0132c268b563a91L,0x6730a0fcc093e75aL,
  74489. 0x1e6d961600fb49e3L,0x0af2a79f28587059L,0x0000000000000176L } },
  74490. /* 17 << 315 */
  74491. { { 0x866bec9ed63e2975L,0x8a29116c3e8d9c3cL,0x2b0d1b0436ea7fa8L,
  74492. 0xbf75196cf80c5e0dL,0x94dd18d370a51d7eL,0xdd9d61b9ea3f979eL,
  74493. 0x7ce80604db84f9c7L,0x4207dd17a593918aL,0x00000000000001b1L },
  74494. { 0x5ab49cbf0b981980L,0x336f5442a93b94b9L,0x6568223fc5e38c54L,
  74495. 0xff80f21b3b2b4ef6L,0x6a77ff11c1e9ce9cL,0x07d4d0c02fca93e4L,
  74496. 0x955d771d76e3c109L,0x2f22c54d0ae199b7L,0x00000000000000c4L } },
  74497. /* 18 << 315 */
  74498. { { 0xbd742bb58c8601dcL,0x0d577d51bbd68faaL,0xb1ba3c3398b6e280L,
  74499. 0x1bfc6c723e8a148eL,0x59a16f766e41826eL,0x3ee5c3e7161094f5L,
  74500. 0xa98675bc24c86f2eL,0xb94c47abe2761752L,0x00000000000000b9L },
  74501. { 0x1824673056dc8149L,0x846838c94ff82f9fL,0x23c95268450afb9aL,
  74502. 0x40cc51aa14fb3828L,0x28d1619711f0d733L,0x0efcce77513057a2L,
  74503. 0x9edb17beed0a7d9eL,0x4d6ed1fac7b17549L,0x00000000000000d8L } },
  74504. /* 19 << 315 */
  74505. { { 0xbaca7240c82b5aa4L,0x61e27f19ef5855f9L,0xb4c9237aea0e986fL,
  74506. 0xd090d6a554db69bdL,0x6b4fb63fccceaed7L,0x0cc89909fabad461L,
  74507. 0x9f7676cf0b9709e1L,0xbe92aa69fdda8413L,0x000000000000018fL },
  74508. { 0xd99cc5a0410aa767L,0x39b6f4a87e75f2d8L,0x1980d6925eec5fa5L,
  74509. 0x9b314dc3b8846f32L,0x9714e192286dd13bL,0x94cccd2c467b8524L,
  74510. 0xd7b3d49005fba305L,0x75b7f38f7a5ff3c4L,0x0000000000000096L } },
  74511. /* 20 << 315 */
  74512. { { 0x15396e6b8c4141d3L,0x3ec8a34ef7755d55L,0xa9bddf95f39fb433L,
  74513. 0x79e71beaed69b7d6L,0x51c722cb9d0122deL,0x8de4cb47e0e7b60cL,
  74514. 0x726ba86dcbb17e78L,0x2815c3bf5c037641L,0x0000000000000032L },
  74515. { 0x3366bd3547050a39L,0xcf665be239de8ff8L,0x0b1b2dc88b657ce8L,
  74516. 0xac1e0b80db61f750L,0x09f5eeb8971e2a24L,0x92850350ee755facL,
  74517. 0x3ea8358d3e97465dL,0x755b7ed954cb917eL,0x0000000000000188L } },
  74518. /* 21 << 315 */
  74519. { { 0x374097fdd5c529c4L,0xeae8aeaf14e14b24L,0x6246c5fa5449b2cfL,
  74520. 0x99c13884f8dc4b4bL,0x2e72eaedec7b3eeeL,0x877887a6f9f0d5f4L,
  74521. 0x4f97725fc0e5a19eL,0xbd7971fe9bc83533L,0x00000000000001a0L },
  74522. { 0x79302079c035fa1bL,0xfa3e954f075d1cbeL,0xb59fda4254310460L,
  74523. 0x35004b05cb8dc827L,0xfa4227dd598766a4L,0xd6610ed7257db68bL,
  74524. 0x91f34e57df3d7a8aL,0xbc586bd69c420862L,0x00000000000001ceL } },
  74525. /* 22 << 315 */
  74526. { { 0x930cad152d7a2680L,0x6d7a0454c719cf5bL,0x7478744ebbb88406L,
  74527. 0x2598c4885883c3c3L,0x466925014f5fab3aL,0xc803c49ddd8a471eL,
  74528. 0x10cfa5b5831d5062L,0x2bce8e3c8cd03021L,0x000000000000004dL },
  74529. { 0x8a75f6cd09a2cca3L,0x44598d59b03cff30L,0xf49eefdc9b9d4ac1L,
  74530. 0x6d759aea116a7518L,0x0f330edc02b18830L,0x52612307c41fc942L,
  74531. 0xea4652fb41b5e855L,0x5dce0d5c3ad0f9a9L,0x0000000000000018L } },
  74532. /* 23 << 315 */
  74533. { { 0x685e156c633e8718L,0x664dbda487a0c479L,0xbd5bd2516b3e4747L,
  74534. 0x873fb05ad9204996L,0xe1c1b3745b9ca959L,0xaee1fe5ab48568b8L,
  74535. 0x2b8a77560ccc64aaL,0xe0fffa144a842525L,0x000000000000001dL },
  74536. { 0x81ab0b04d7864a53L,0xd2ded9626dce74dcL,0x20f4f42ae6ee03b4L,
  74537. 0x216939d9b133502cL,0x1c164e2ae583d735L,0x558bb0247a01a682L,
  74538. 0x68e8d4b88ff470e4L,0x1b500f437a69dc9aL,0x000000000000000aL } },
  74539. /* 24 << 315 */
  74540. { { 0x87cd5f5b43522030L,0x9b95d7cca97925f2L,0xa97d2673c4f3d98dL,
  74541. 0xb760715ae3a33b1bL,0x6848b7f36f47818fL,0x19d3d312f4b35002L,
  74542. 0x94faf039b3f57798L,0x62a72bfeb76ae400L,0x0000000000000100L },
  74543. { 0xdbbbafdc31877679L,0xa68c50a2945b79f0L,0xd5b6b7c1a457a77eL,
  74544. 0x1d5249e0e8ea38c6L,0xef61b6ab33b52300L,0x864aca06e3d8c9a1L,
  74545. 0x852087916060f8d6L,0x1827cac1e1dd6babL,0x00000000000000ecL } },
  74546. /* 25 << 315 */
  74547. { { 0x417c93d92a097cc4L,0xe2006ea23311b1c5L,0x6265dae786c3a4d3L,
  74548. 0x22777fa2fd61a771L,0x21c8566ee52726a1L,0x5544b0ba525cbc66L,
  74549. 0x0227192516a552ddL,0x26f159fe26ee27ebL,0x00000000000000a9L },
  74550. { 0xa03998cbaecc32f4L,0x3836f5f386372aa8L,0x0d708a1f5fb988bbL,
  74551. 0x8d865eebac677bf6L,0x9386ec40244e47bcL,0xf38e252310e055dcL,
  74552. 0x938b35a76ac7bd8bL,0x79cc344948973178L,0x00000000000001a7L } },
  74553. /* 26 << 315 */
  74554. { { 0xf8f4c244d0a59fe9L,0x0b34084b76402697L,0xe4240b863e032519L,
  74555. 0x7cf7b7aac2065720L,0x798134d64cb1ffe5L,0x78e358f275f60549L,
  74556. 0x4557430370582d54L,0x452570d4828dfbfaL,0x000000000000009eL },
  74557. { 0x1b0bcbc468d79237L,0x8bcb0d804f5a6a6cL,0xd108b4f099609cfaL,
  74558. 0xe08db1ff71be7d63L,0x7ad777da27bd2d03L,0xce7fae775749c830L,
  74559. 0x1ad692f7c4565777L,0x93798a2aff8b8327L,0x0000000000000010L } },
  74560. /* 27 << 315 */
  74561. { { 0xa44bd43b7d176e2eL,0x73017a4eae0c21d1L,0x6f98fe80c170cbb6L,
  74562. 0xab5799b293df22fbL,0x765f4dcaa85dd542L,0x854eddbc619b4adcL,
  74563. 0xe1dc52446cf558e6L,0xc0a4f996e45f4052L,0x0000000000000150L },
  74564. { 0xc1e0e94ea8a05aa1L,0xaf1abf91f3f24aedL,0x58c0603ec4d3ce6eL,
  74565. 0x9c496e91dc76c75aL,0xe6049fc196d9aa52L,0xd7862b4a2ed5b8c4L,
  74566. 0x41ceb99338f87e08L,0xe769c78f3c16ca50L,0x0000000000000000L } },
  74567. /* 28 << 315 */
  74568. { { 0xc50efa15dacda34cL,0x159e94dbb6e96210L,0x94b10231bd9319beL,
  74569. 0xa5914f55e2a461f6L,0xb75fb2ab47bb66c7L,0x4ffcfa6756b6e4cbL,
  74570. 0x559918efc40a2512L,0xad434761b66c07d4L,0x00000000000001e4L },
  74571. { 0x9885be1bebae3f4fL,0xbd84a8ee4302a9a7L,0xbea75f26c373e684L,
  74572. 0x0da8fdf6472f2c17L,0x381a92bbb5dffe57L,0xc69646bad24160cdL,
  74573. 0x0577b8792ecad05bL,0xc59496c27fb62711L,0x0000000000000068L } },
  74574. /* 29 << 315 */
  74575. { { 0xab4afde7ff46e9d5L,0x33e45d21d2516ec8L,0x5561315ae08354cdL,
  74576. 0xde6e1582510407f3L,0xad202e0aad3ef0cdL,0x03c92749fc289a62L,
  74577. 0xc5022bb7bd3bf154L,0x3b2112f0358497bfL,0x0000000000000085L },
  74578. { 0xd97a76c60e367447L,0xdd1c70ee13a73f92L,0xef80383807320e00L,
  74579. 0x92fa2d854bd797b8L,0xaaeec02b5287a9ccL,0x8dc7d907101f13d4L,
  74580. 0xffebb4d5f8c6b255L,0x76ea86c8a78c99b6L,0x000000000000007eL } },
  74581. /* 30 << 315 */
  74582. { { 0x04cc8a0b9c2de291L,0xbde190d41b774116L,0x76fd915e0cef5563L,
  74583. 0x08980204a3ad15abL,0x8532bff00047227eL,0x93713303df68231cL,
  74584. 0xa4d4b863b1b0de98L,0x67686192e0cad308L,0x000000000000007dL },
  74585. { 0x6748cd2672cf3e2fL,0xa342c5d7eb321523L,0x0466141c5021d422L,
  74586. 0x116bf2246a70d2d8L,0x7129a3a4ce05f6fcL,0x86600259d9185da8L,
  74587. 0x8a6db564dd965c37L,0xb073f80c79e8f792L,0x0000000000000049L } },
  74588. /* 31 << 315 */
  74589. { { 0x00da97d33d831a04L,0xd929cf2a1eac836aL,0xf7d5c4c77c7c118eL,
  74590. 0xde71253e1c4c51ceL,0x6d2474376ec3e2e0L,0x9b912b7bf31fa3abL,
  74591. 0x10f538043da99cb1L,0xfcf8a99c2a16e669L,0x0000000000000098L },
  74592. { 0xa70d9571d49b2fc3L,0x081849f4834cd35bL,0xf1e28cf98756bb05L,
  74593. 0x2fa729aa5568d3a9L,0xbb5d124899bba4c8L,0xcd742b7c3ee032a3L,
  74594. 0x693342cbd87a7668L,0x9bb74be7bfcfe6a8L,0x0000000000000176L } },
  74595. /* 32 << 315 */
  74596. { { 0x5f47ddb9ab9923d7L,0x839865d48e3fac52L,0x0214e93f647424b0L,
  74597. 0x266c909c31d65c6bL,0x956deca451457facL,0x8e8d240ea85ce8a5L,
  74598. 0x736652c4a4d9b281L,0x131a4191b77a526dL,0x000000000000008aL },
  74599. { 0xa848319532d8542eL,0x1f7a8e67c3f38387L,0x162ac248d6797f2eL,
  74600. 0xd26469e10a6a1118L,0xb33aff1ff203102dL,0x63a52154aadf0ae9L,
  74601. 0xf0431dbb4bb313a7L,0xf93c18fbca9da156L,0x000000000000015cL } },
  74602. /* 33 << 315 */
  74603. { { 0x39974a2672134c85L,0xd7aa0a9d4c7e0f6eL,0x1b9edbab3443bd65L,
  74604. 0x6cd2d98bdccd2e50L,0x632879884b109d43L,0x44825b34d397a0feL,
  74605. 0xd53353c27118c8b5L,0x268cd6d6c01b82dfL,0x00000000000000f2L },
  74606. { 0x8c5babff457c84bdL,0x117faa3055b81ff0L,0xc124c04661bbd4edL,
  74607. 0xe136b9a5a787f1f3L,0xa06373d1bdafa50eL,0xea1b6c0844a7284aL,
  74608. 0x9330d2feb1a5b08aL,0x25aa027d162f9e9cL,0x0000000000000182L } },
  74609. /* 34 << 315 */
  74610. { { 0x568ec079d87b35feL,0xa08deac6958c3388L,0x715279434034a877L,
  74611. 0x0859576ef2fef769L,0x60bd705595201257L,0x9f19d411dd68e3c4L,
  74612. 0x595fb01498308e14L,0xa2a84c0d4fa07f02L,0x000000000000000aL },
  74613. { 0xdf1e5d32e69aea45L,0x9557a618318f191fL,0xd4f95c503b1c6341L,
  74614. 0xaaef0d9e6ae9e855L,0xea3847180c9cb2d8L,0x13e92ab81a52a30cL,
  74615. 0x1651ed2863bb271bL,0xd97ff1ee98a52306L,0x00000000000001d5L } },
  74616. /* 35 << 315 */
  74617. { { 0xfe80b99efbbf1e27L,0xfb7b5ee11955b0c0L,0x4f3a5833e1708fefL,
  74618. 0xf5a2e09a55e25e94L,0x9c6d38ed81d8c307L,0xe55d8fbc85262c42L,
  74619. 0xd65f395c2d4726eeL,0xdc540d4333cd1d74L,0x0000000000000149L },
  74620. { 0xc010dccfd74a298eL,0x9e7056864a666f1cL,0xe0cfe3db254c3b4fL,
  74621. 0xb979124ff7b07fe9L,0x649ceddfb1b99c8aL,0x400cca2d83df18a7L,
  74622. 0xb0572105b99596b6L,0x30719cbf1edf710fL,0x0000000000000087L } },
  74623. /* 36 << 315 */
  74624. { { 0xa19953973af2d340L,0xfeb7bfb1d4141779L,0x64f0f9677a4bd845L,
  74625. 0x55dfb0868b2b75ddL,0x3b71a0508bbb38e1L,0xaf038a2aeba716a2L,
  74626. 0xc49b38c6a91319eeL,0x71f1e3cea8535e9eL,0x0000000000000105L },
  74627. { 0x3f07f7e964c26f33L,0x953a5abb347b8f7bL,0x5104f896c06b5c17L,
  74628. 0x8a2e1b533c3e52c6L,0x2127f321ffba4ee1L,0xaf288b9499e502b0L,
  74629. 0x04fde09b29407d69L,0x29d8e20c86bf0d35L,0x00000000000001d6L } },
  74630. /* 37 << 315 */
  74631. { { 0x1aee0faf9fbec97eL,0x7d82f31e42ad7101L,0xc9f00d2750e8458eL,
  74632. 0x5c099fbe6b18313aL,0x96a679ef65d81613L,0x4fff394b8db6638eL,
  74633. 0x53a97eea9248e6a3L,0x707785311729be5eL,0x000000000000018bL },
  74634. { 0xb8c6dd9e948f04aeL,0x4eb6c7f94a39815fL,0x1501c0bd1b7294deL,
  74635. 0x33ed433f9a242a2fL,0x3d50c608994d9f32L,0x324ac45bfda6fbddL,
  74636. 0x7d8a03ef6736a16dL,0x631d6c60ef0faacaL,0x0000000000000008L } },
  74637. /* 38 << 315 */
  74638. { { 0x01fe1042e436d76aL,0x2b65db559d05ddffL,0x48d26665932d9e5cL,
  74639. 0x01c106ce8a761836L,0xbd83cdb30e8c1caaL,0x9a02dca8ac1b3140L,
  74640. 0x6c27ef627d158450L,0x927980c2bedbbed5L,0x0000000000000123L },
  74641. { 0x965261732483b8e3L,0x5665a308b841e686L,0xc8dd3428f4a890ffL,
  74642. 0x824c2b9522ade66bL,0xcf13a52fedb93640L,0x2af59ea913125d21L,
  74643. 0x975485e0deb818fcL,0x1c34566416212cb9L,0x0000000000000074L } },
  74644. /* 39 << 315 */
  74645. { { 0xb327a7bf9b17c8deL,0xa8ec6459cea7bcb7L,0xd6939689168426e7L,
  74646. 0x370eb9046450b774L,0x1f06ba383d71defcL,0xe185afa6aa16d5feL,
  74647. 0x3814a269b3148755L,0xcf44b1bd8bb9de20L,0x0000000000000005L },
  74648. { 0xcbb2da404b8ed855L,0x32b8240ebf15a195L,0xf0cccd5a739cc9d6L,
  74649. 0x2b6147c4d907536bL,0xada9b9b4b3b57e0dL,0x75abb8dff4093307L,
  74650. 0xc503586c3ecd482fL,0x60a0b02fcd1d3312L,0x000000000000012bL } },
  74651. /* 40 << 315 */
  74652. { { 0x20527cec16bbc6f0L,0x1af2887295b9b3caL,0xea34ee171e96e75fL,
  74653. 0xa45bba37e4b8a04aL,0x41f417225f3036dfL,0x4b86d3e223157bf7L,
  74654. 0x1e67259e1a02706eL,0x8c1a3d9994a77d8dL,0x00000000000001e4L },
  74655. { 0x8c9fd4c4e3ae391cL,0x69e1f95801a97eccL,0x5e0c660b4f7bcd62L,
  74656. 0xf3952575a21f57d6L,0x6b7d050c79bf361dL,0xf7a8893ffc95fe58L,
  74657. 0xe28efa2075d0c333L,0x7b561de2ce39269eL,0x0000000000000042L } },
  74658. /* 41 << 315 */
  74659. { { 0x479800978563f771L,0x3410f8763c5662deL,0x5bc9cdab15e8afdfL,
  74660. 0xd53088caea947c39L,0x9443dc753bdd8982L,0x71da1712be12e18fL,
  74661. 0xdea9106b816abd0aL,0xc7145d12fe4cbce7L,0x000000000000018cL },
  74662. { 0x9be617aca5361866L,0x540a22e459fd2228L,0xf93e692ee3292da4L,
  74663. 0x9f730056c797fbcfL,0x0f5b37dc080fb9dfL,0xee979d41dfd5be21L,
  74664. 0x2fe9bbd377da5594L,0x7392b500940c7fabL,0x00000000000001d2L } },
  74665. /* 42 << 315 */
  74666. { { 0x534669b6bfd08da9L,0x0131ce0bad7f4feeL,0x3d07710449c9f551L,
  74667. 0xa0519089124d6d6dL,0x9df5e6650e3c525cL,0x03e0caa51b0855c0L,
  74668. 0x70f2d1aeaed8b293L,0x5258a199d9adab56L,0x00000000000001ebL },
  74669. { 0xab747165401dd32bL,0x5048cc1cab988597L,0x1080390a14dc9ff5L,
  74670. 0x71808335ec187b93L,0x894a24ab1a1eac91L,0x97f922c61c234f84L,
  74671. 0x245d34ae36d5595eL,0x8a43c41f6aaa4b14L,0x00000000000000a3L } },
  74672. /* 43 << 315 */
  74673. { { 0x295a4c6365d5cfa5L,0x5a8a43db51adce61L,0x25de9d5fed6aa752L,
  74674. 0x934b8f517f9df62cL,0x6534c400235bebd6L,0xcaefa633d24cff48L,
  74675. 0x4c55585a8562870cL,0x0a5d10180ddeb2e1L,0x0000000000000031L },
  74676. { 0x58d16026be4d501fL,0x38874de4d04fcc16L,0x4b795f00352da735L,
  74677. 0x9e97091eac8c0b50L,0x91b153a99ebf81f6L,0xacf58b7ba5ec6a01L,
  74678. 0x22374c638e177fb9L,0x62b7622c28edeed0L,0x0000000000000183L } },
  74679. /* 44 << 315 */
  74680. { { 0xc24d78dd440656c9L,0xca4fb99cb3819092L,0x88caaa9847f6ea2eL,
  74681. 0x3ad7dcd37bf55007L,0x2a94011d87af1062L,0x176b3e376efcf26aL,
  74682. 0x907e6108c362be62L,0xf00a10062b7c25a0L,0x00000000000001d0L },
  74683. { 0x435481d3adb9d45cL,0xbba44b115b840331L,0xc7c2869d4c4de57bL,
  74684. 0x8cdffae2d43dab64L,0x1aa7c5f0c28d2e22L,0xb3f11b4bcab6c7aaL,
  74685. 0xa0153a91cb4e8df7L,0xddf80a114ca337bfL,0x00000000000000ecL } },
  74686. /* 45 << 315 */
  74687. { { 0x6dae6ce65d4bac9bL,0x7e0cef116b6b0289L,0x45c7d3063e081f88L,
  74688. 0xaba7cab9700ca222L,0xe8d94fef1fabd270L,0x0e76aac6f6b272a5L,
  74689. 0xfe456c4b4ca8b682L,0xd021e03d4d6a93ccL,0x00000000000001f6L },
  74690. { 0x08355e745d39f92dL,0x6c1360477eb5dcfdL,0x90169cd5975ce76dL,
  74691. 0xd01445f219764b90L,0xd67c0cb3d06031acL,0x9d522c431c5f97b0L,
  74692. 0x5fde48bb040b9a24L,0x718a636325d29470L,0x00000000000000e4L } },
  74693. /* 46 << 315 */
  74694. { { 0xfd7f44ed23a3af11L,0x6333bd403ae53e07L,0xf1d2c8efe459a255L,
  74695. 0xa0c37f9d8799c62dL,0x37ef089911e1d53fL,0xef656bda08fca1f8L,
  74696. 0x0af3992870158e0dL,0xab14f9d1328c88d9L,0x00000000000001b5L },
  74697. { 0x51b410993d600c77L,0x343fc57816ffb129L,0x248ecbda469c89baL,
  74698. 0x2c28ff288dc1b85eL,0x767141bf62952b72L,0xbcc3e57bafdcd8a2L,
  74699. 0x80051675cc86283cL,0xa19961c6af99a56fL,0x0000000000000182L } },
  74700. /* 47 << 315 */
  74701. { { 0x0e5ec8bfc833c8d2L,0x17a323039aeb80ddL,0x0c8054818f413e42L,
  74702. 0x53199f904fd9773aL,0xc6aa9d94e4fdce86L,0xe86019a45ea3d808L,
  74703. 0xb2b25ecebe5d522cL,0xe50d1357b9dc03e5L,0x000000000000005bL },
  74704. { 0x18d688efd7d8655eL,0x9f297b45587aa095L,0xeb6488495ed1bfd1L,
  74705. 0x2d62357eb283a41fL,0xd95a7a38244d4363L,0x3e01047c58e32ec7L,
  74706. 0x4919ac6899283274L,0x84094ea76a033583L,0x00000000000000b1L } },
  74707. /* 48 << 315 */
  74708. { { 0xe54c6f706e842fc6L,0x19bf910e6f75efa8L,0xcc5b5fbd630e0ea6L,
  74709. 0xf157ce88092d7e53L,0x1022928d11cf8dc2L,0x8f6b3753d03e642dL,
  74710. 0x1cffc03b083e6d0bL,0x265c111b7e943f5fL,0x0000000000000025L },
  74711. { 0xc6cfd943368cce07L,0x1a14c3f74cc79e09L,0x38d2c6d092562102L,
  74712. 0x98b25e33a91a0815L,0x0ac5666f3d7c75edL,0x1d89b14a9aa46d95L,
  74713. 0x8c53e6ca3e1d0cacL,0x7e07bbd31325bf89L,0x000000000000011cL } },
  74714. /* 49 << 315 */
  74715. { { 0x0df1c4977dc11a7cL,0x223a1262b01cb5eaL,0x25dd803c0810c4dbL,
  74716. 0xcb11f08785e41656L,0x73ec3e8b2f1dae29L,0xe50ec09af3bb0e96L,
  74717. 0xbeb6b3fc3fc029fbL,0xdbcd195de9278518L,0x0000000000000144L },
  74718. { 0x1e51439cff7c554bL,0x7dd293ce2201bf38L,0x6521c8b6a1239dd1L,
  74719. 0xd2200070b51cd909L,0x727d874744dfb20bL,0x57b82eaaca155e14L,
  74720. 0x10761f46b6a7c6beL,0xe2b999e41d4536c9L,0x000000000000005bL } },
  74721. /* 50 << 315 */
  74722. { { 0x22af766ca4d900afL,0xf9a8bad8a91576d6L,0x532fb69eaad75d1bL,
  74723. 0xc11ff92d39a81213L,0x51e63b1dc464eab1L,0x651b3246a2f8057dL,
  74724. 0xeb84666f3dbcbf15L,0x98ac1e1baac37a68L,0x00000000000001e5L },
  74725. { 0x3083c4843eddc711L,0x0bc703f86ed884e3L,0xd1e76ede3d5e550fL,
  74726. 0x4c24d2caa561ba09L,0xb7c212f9f8192b2bL,0xc683270c6e012870L,
  74727. 0x1a5fe85a82b37cb0L,0x91289562a1818811L,0x0000000000000156L } },
  74728. /* 51 << 315 */
  74729. { { 0xe48906e35f228d80L,0x6216e75f94bedc7cL,0x9707ebd62f8e26a0L,
  74730. 0xaa3958ca1a673e7fL,0x01ac80f2df41fe97L,0xb23738e01bf96493L,
  74731. 0xe7684540e0b97882L,0x770056549fe02c76L,0x0000000000000151L },
  74732. { 0x910af00f89327a45L,0xd534a172f8205cadL,0x959d2b243776c9b4L,
  74733. 0x3ac5f308cbb27ef7L,0x51ba3c3d49b5ab33L,0xe0177e6705861588L,
  74734. 0x3fd40125c93b0f10L,0x29f0bcbb828131d6L,0x00000000000000adL } },
  74735. /* 52 << 315 */
  74736. { { 0x6bae11c47053fb58L,0xfed4afb1535c8c5cL,0x620bebb4fb6dca6aL,
  74737. 0x5759da42ed7f3e91L,0xb537fcf726663077L,0x2829ffe0fbf0d31eL,
  74738. 0x93666d29f290f144L,0x4de9a65e5826718dL,0x0000000000000146L },
  74739. { 0xbeff2ca3b96fd449L,0xeb3c9ddfbd865ac0L,0xd6c2bd3d851f94ceL,
  74740. 0xaa428d52f9f0af14L,0x5a1106774f5cc20cL,0x3e976fa8ae1e9de4L,
  74741. 0x82d0634b6dc9a17eL,0x4d4a7bd7afa5e744L,0x0000000000000171L } },
  74742. /* 53 << 315 */
  74743. { { 0xa3e8d517e8867df3L,0x59597f2323e2a3cfL,0xa5bcfb3e413462bdL,
  74744. 0x69942cb7f1f38aa8L,0x8cb693756d9a2565L,0x4e5914dde3fa45a6L,
  74745. 0x45ea2ce7124a4896L,0x0c9700171f1299f3L,0x0000000000000000L },
  74746. { 0xd543d0a6ef855750L,0x04dd229ce72dddf0L,0x2c72b7c73ffe71adL,
  74747. 0x726f5c442305ab6fL,0x64438793d6704991L,0xc5a4c2667ff42b14L,
  74748. 0x76ddf391b3086b51L,0xe5b30282588400b6L,0x00000000000000d8L } },
  74749. /* 54 << 315 */
  74750. { { 0xe5142d28595b12d0L,0x55e40067a14fe68fL,0x2b84189dd93da1feL,
  74751. 0xa65531bbbe6833dbL,0x7b7eea747c7d7e8eL,0x41c72bc07215eb28L,
  74752. 0x0a90cf0ce2d3c42bL,0xc3232468acb45de7L,0x000000000000007bL },
  74753. { 0xf045e44eba15d9c6L,0x2c6f4bd762fce75bL,0xcc6ed0fab9430ca1L,
  74754. 0x2683da6990020f7cL,0x7c4cec7dca6d9077L,0x3e7e028b8fe80396L,
  74755. 0x06f3e60f0ddbf616L,0xc0fabfc1d2a2e8d8L,0x00000000000000c2L } },
  74756. /* 55 << 315 */
  74757. { { 0x092a8391a47dbcdcL,0xbae279ea63678f3bL,0xf395a2501fb0434cL,
  74758. 0xe1183e16105b8bc6L,0xb001cfbfdfd13240L,0x252d420549ae1be6L,
  74759. 0x27006420135a39f1L,0x2a130dbc2d859c73L,0x000000000000009bL },
  74760. { 0xe638dc7141b6b9aeL,0x6a5f1007bc07e485L,0x7574919914cad421L,
  74761. 0xb6012f24c1f1d11cL,0xfd20f9dfdb1f7592L,0xd7f2dfb9fa2a3c16L,
  74762. 0x8ac19b7459368297L,0xb95552cd4e1622dbL,0x00000000000000c1L } },
  74763. /* 56 << 315 */
  74764. { { 0xe319a4da11c1ef91L,0x117ca85fa8ead392L,0x38784b6c757ae2fbL,
  74765. 0x457a99aea307b95bL,0x698e3e9c8bb14a8eL,0x7172c6b2571ef3c5L,
  74766. 0x02cd25bf3cb33498L,0x390b5efba243fce4L,0x0000000000000003L },
  74767. { 0xad23a309fd0eb02fL,0xd22e490f36c9fa28L,0xcdf111a3ab8b5d09L,
  74768. 0x257bbdffe1c0b8c2L,0xd405532721284f9fL,0x46e4a9a534bb090aL,
  74769. 0x7284ab106b2b6998L,0x46aba7e6f57bde50L,0x0000000000000099L } },
  74770. /* 57 << 315 */
  74771. { { 0x7475a134e10a04bdL,0x2e024e9bde9287bcL,0x48ef65326be4a304L,
  74772. 0x761c87702ed78c9bL,0x450d1cc689b960dbL,0x2ba413a36e1855fdL,
  74773. 0x0af0c64be2a82c40L,0x43c4773285bd1f85L,0x00000000000000b0L },
  74774. { 0xb79d374d5e6e57c3L,0x19d597c487b58f00L,0x2f08689424272b25L,
  74775. 0x6fc826ce4ba5e7dfL,0x1daa63e338f961f5L,0x792ed02f8f78a2c9L,
  74776. 0x93075e80fdb2ab90L,0x4b5aa382b67ba93eL,0x00000000000001aaL } },
  74777. /* 58 << 315 */
  74778. { { 0x4e9aa71ef43a6307L,0x58c0f6106e978e59L,0x093500d272236e84L,
  74779. 0xfc4ac660ffc659dcL,0x47c0fdad706b4f50L,0x2056f72fe095393eL,
  74780. 0x0b7adb25dd3ece91L,0xb6e5174297d8f944L,0x0000000000000023L },
  74781. { 0x009f45c1d0aabe39L,0xd2041cbbdb8e94e8L,0xf0ef2bc26a4112a3L,
  74782. 0xd4b13654552e8c7fL,0xc2e819a41fa6f19cL,0xe9595ff52d299fceL,
  74783. 0x2125ca74767e22d2L,0x99902ab316614806L,0x00000000000000a0L } },
  74784. /* 59 << 315 */
  74785. { { 0xe4fd64ae0cc153cbL,0x78e9e456424b39d7L,0xcdaf25a5d3fb88daL,
  74786. 0x8b5157c5d1d2090fL,0x3009df9409a3b59fL,0x8993e887afcc70daL,
  74787. 0x98d62e4b6aba6ca6L,0xae5bd1e9d0b55588L,0x0000000000000091L },
  74788. { 0xe51727ead2a73231L,0xbb78c75a11119940L,0x46cd02d334fead71L,
  74789. 0x516fb90f79f074e0L,0x95794a415926aab3L,0x2acb4273ca95c0d8L,
  74790. 0x2a554c55046d8abfL,0x3ea635345e0541c8L,0x000000000000014fL } },
  74791. /* 60 << 315 */
  74792. { { 0x39e516db05bd6b40L,0x6326d151b3450a21L,0x3f0595f40cdbf670L,
  74793. 0x330c29d1933eccf4L,0xd4b341de30d980edL,0xcc507c0b49b16dfaL,
  74794. 0x7013862cb0cf6c26L,0xea9aa644dd0f4300L,0x0000000000000104L },
  74795. { 0xaac1ae33a1a7c1c5L,0x990e19302e944d25L,0x3494435a34e6e768L,
  74796. 0x2bffd9d0fdea3e73L,0x3449aa3d63401018L,0xd0742bd47458c879L,
  74797. 0xedc90d58f893bf14L,0xc78a12f7ab8cd554L,0x00000000000000b1L } },
  74798. /* 61 << 315 */
  74799. { { 0x47b5e95d00a65e5fL,0x0d78b1d6649f9ff6L,0x9e2aa63ce37ee6a0L,
  74800. 0x58f817a994c11bf3L,0x8c170c9fd5ba3c18L,0xe27da94f98518956L,
  74801. 0x7e12d7a9bd858fd0L,0x913469c75403cba6L,0x0000000000000026L },
  74802. { 0xc0dd6e546195786aL,0x618e56115011e7e0L,0x06e017b330513dd5L,
  74803. 0xd3af20882b48ca95L,0xc622ce0100e7de21L,0x40605d3ed4a05456L,
  74804. 0xe3ea86f3be2886acL,0xa32b791e48371f63L,0x0000000000000185L } },
  74805. /* 62 << 315 */
  74806. { { 0x7475dd141a434a2eL,0xc1e3790411388191L,0xc94b7692bdadfaabL,
  74807. 0x92ebeb2376d05a84L,0xead9002dddfc6806L,0xf8e3b5ab13f239d6L,
  74808. 0xe76ca47a2f934e01L,0x05a1ecc18aded0a6L,0x00000000000001c9L },
  74809. { 0x545938b83172c0f9L,0xf0b5a269bd43272dL,0x8293c33a4c480501L,
  74810. 0xb10ab474e2acb95bL,0xfe46ba6ee7f9dc18L,0x4ee4b0fc931c6276L,
  74811. 0x9a2730d99b042b1aL,0x2d3175b3367479fcL,0x00000000000001a9L } },
  74812. /* 63 << 315 */
  74813. { { 0xf08f79df91452e27L,0x826c0321a1c388dbL,0xeea26b8de44c7caeL,
  74814. 0x46b654482b6c49eeL,0x2c7c6d5d512e6928L,0x3279f451651d9718L,
  74815. 0x8be44bdd001af2d0L,0x85bc67e29221e194L,0x00000000000001bfL },
  74816. { 0xc3adab308c929562L,0xd50abbf382b1d07cL,0xcb2300bd7c0e0792L,
  74817. 0x275fc0b89c6c9591L,0x906b1ac03c1ea028L,0x4251b8a186a2a725L,
  74818. 0x30af7c5057abc4f4L,0x865249727174416dL,0x0000000000000101L } },
  74819. /* 64 << 315 */
  74820. { { 0x8a9e56659d53ff0eL,0xe4c4fcd2c7ccbb62L,0x95a2b7a2b60b6fabL,
  74821. 0xcf39fde59242b4d1L,0x43983f305b49d9f2L,0x4b5fece7220ec7baL,
  74822. 0x10b1639c221fb872L,0xf5955c1df594795aL,0x000000000000008cL },
  74823. { 0x73dd1711eb1eea2cL,0xf027dae274f9e73cL,0x11c87d1589586cb5L,
  74824. 0x16bc03cf1380814fL,0xfbbbe67a19693d82L,0x9ca4b47e5b37ae4dL,
  74825. 0xad59beeedc7860a0L,0x46ff6ded599ca348L,0x0000000000000031L } },
  74826. /* 0 << 322 */
  74827. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  74828. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  74829. /* 1 << 322 */
  74830. { { 0x47fe51518f87ae00L,0xf49ebf83b2d64637L,0x11eca7b4a1e86582L,
  74831. 0x58bb53f9cbde2995L,0xa620bba204af7663L,0x2a01040d7221bc31L,
  74832. 0x1734531da243ac9fL,0x1dcb67d6117d06e9L,0x00000000000001acL },
  74833. { 0x5bb6699b43275ffdL,0x4b141be73bfea061L,0x805d08b0dae58347L,
  74834. 0xbbbbbae321ee35afL,0xfa863bafef02b56dL,0x21460360b35e5127L,
  74835. 0xb64a8ac4dacdd7b7L,0x51582b4f92b58b6aL,0x0000000000000172L } },
  74836. /* 2 << 322 */
  74837. { { 0x74f71c976305b1faL,0x75c64449aae6788bL,0x072b8b0afc132537L,
  74838. 0xd66862f496fd8bc3L,0x32cb2f3a5ff59f77L,0x9667801b58ffe8e1L,
  74839. 0x227b57a4558302c6L,0x0c384f6e441664b4L,0x0000000000000130L },
  74840. { 0x0cfd7a96c16bc635L,0xe8f67af8d846d4c0L,0x7a398e333637d199L,
  74841. 0x2648cdd111d7443bL,0xfe3bdc069843f169L,0x8192bff3b42d2c33L,
  74842. 0x7caddfdcfd2b8fc0L,0x42d128611456b53bL,0x00000000000001dbL } },
  74843. /* 3 << 322 */
  74844. { { 0x4c7066df84e9430dL,0x77abd2e8e1f59506L,0x784cde21534bda51L,
  74845. 0x84176c345bea6125L,0xc4f00c4c11104b82L,0xdbb8ef7087f79adbL,
  74846. 0x1e47fff55961812dL,0x70326449202d45cbL,0x000000000000002cL },
  74847. { 0x84ecf48df169b460L,0x972348061a19979bL,0xde2caf4d9bdcf29dL,
  74848. 0x90acca5e218caca8L,0x66480bb594715145L,0x70d761509ba70365L,
  74849. 0xae45e69a924d4c52L,0xab48997cc321ca7dL,0x000000000000013fL } },
  74850. /* 4 << 322 */
  74851. { { 0x5637ceab569dfcd1L,0x0d1cf091b2c13802L,0x09115a1f731087b6L,
  74852. 0xeda479febdb45b2bL,0xed883a7d8e6e5507L,0xbc9206ba30bd8162L,
  74853. 0xff2af28ec6294b24L,0x2058521ac8947bc9L,0x000000000000003cL },
  74854. { 0xfcfa87a55a82fbaaL,0x988a9a6c1569f45bL,0xe65849f65d3d6aa5L,
  74855. 0xa3d0879f05446b48L,0x45571ccf76f480d1L,0xacd9a3230efd5f79L,
  74856. 0xf30e5ec4ae956132L,0x325306d0ea93f245L,0x00000000000000a7L } },
  74857. /* 5 << 322 */
  74858. { { 0x8582acf43008f8f9L,0x78d113721bd79b09L,0xab3aaaf5e6af3cc0L,
  74859. 0xecdc672eae9dabd8L,0x56f69a15ed65ca69L,0x51b4b25a3932ae63L,
  74860. 0x8047c54c6f8e81f3L,0x7fee87e2910eb492L,0x0000000000000006L },
  74861. { 0xac401b28e398d849L,0x5cda81e9c78212ccL,0x1d38ac77ab650ca3L,
  74862. 0xf1c7e42583da6475L,0x2150ce594108cdceL,0x9a59ba89de85336dL,
  74863. 0x3bf646ba9551319dL,0x2db133dd2540ea12L,0x0000000000000068L } },
  74864. /* 6 << 322 */
  74865. { { 0x7c1d8a0eaae05a6bL,0x4906595862835a21L,0x66338e4d7023e607L,
  74866. 0xa8aec3272501507bL,0xe3eb9783283179faL,0x11908e2f9703f59eL,
  74867. 0x08ff92f55a86e591L,0xe4c7c4d922806045L,0x00000000000000c6L },
  74868. { 0x27f1b842af9bd2edL,0x238d7152eb1c7239L,0xf02ca4f06935f71eL,
  74869. 0x528b57266888b5feL,0xb9965603e8e613dfL,0xebd0e8fe7e1b59f7L,
  74870. 0xeaf264d6f09bae67L,0x01ff76c9a540edcfL,0x00000000000001fdL } },
  74871. /* 7 << 322 */
  74872. { { 0x80a0e45b314cc74dL,0xd7fa3610b57c5800L,0x848d96d7b67e5f65L,
  74873. 0xc861fad13449baceL,0x68cb8a38ddf3f1adL,0x66d16b9c66a153ddL,
  74874. 0x94b81dd9e8236d66L,0x26b5570869130397L,0x000000000000008eL },
  74875. { 0x0b0a8f43a6bf9b14L,0x185a239e96c9d7aeL,0x1119dec363fcebbaL,
  74876. 0x952da42323c83456L,0xbcecf110bdc4a430L,0xc64ba9f6b2a77ed2L,
  74877. 0x75d06bb1323b6059L,0x192de9edf709226fL,0x000000000000004aL } },
  74878. /* 8 << 322 */
  74879. { { 0x5f7d9850fb6f765bL,0xafe6dbcad0ccfce0L,0x9e66a5e9d97d6f42L,
  74880. 0x1b402928377f7e90L,0x44b0d87abfc71aabL,0x3cffd5151de366f6L,
  74881. 0x845d7d74b292c4f5L,0xe0822ef93f88e818L,0x0000000000000017L },
  74882. { 0xfff7c1d7104d2069L,0xe53e122dec0fdb18L,0xf07a43395646b614L,
  74883. 0x3f2341d0b47765f6L,0xfde6dd5e2cb3def4L,0x87d324787a97d20cL,
  74884. 0x27235476bcb7b256L,0xb03f98dc9303c7d0L,0x000000000000010bL } },
  74885. /* 9 << 322 */
  74886. { { 0x634e5bf3d3323dedL,0x3bf31a84f4d4e862L,0xdd6b8f2235e8b445L,
  74887. 0x0b82f8ffaa9b65cbL,0x34c6a6fd744b4cf6L,0xe1831208a43f35f5L,
  74888. 0x7cd47de06db12386L,0x845e032b5b4183e5L,0x000000000000013eL },
  74889. { 0xc7b8b5ecb448fbe4L,0x779c1f1019d44cd8L,0x63be24d85e05ecd4L,
  74890. 0xc34e9ff989f86617L,0xe1b13059d96a53a8L,0x92101f9fec8a4021L,
  74891. 0x56150074ecb053eaL,0x802050cb44760734L,0x00000000000001d9L } },
  74892. /* 10 << 322 */
  74893. { { 0x29f559f30101f121L,0x755e6943457fc6c4L,0x4531ef607c423ebbL,
  74894. 0x2e214b5f5c1752afL,0xfbb45080bf760382L,0x4ac072f6fb9ec95eL,
  74895. 0x1c738977d3f9dc13L,0x8941f56b46cd8ddaL,0x0000000000000035L },
  74896. { 0xd99d101d543301b0L,0x9cbe76c1eb88a1f0L,0x3a83d44c974b3e02L,
  74897. 0xaa0fad91d4c62aafL,0xa4393659c1aac52fL,0x5cc89ddeb695fc35L,
  74898. 0xd248c1bdc017698dL,0xb232bd2028af0b2aL,0x00000000000001f1L } },
  74899. /* 11 << 322 */
  74900. { { 0x09742d9a3320fef4L,0x211ff0f93e06ff4bL,0xd78969686f42e626L,
  74901. 0x6bd0c95a11fb5505L,0x28d29ee1288e9a9cL,0x6ff437b97d75ef3cL,
  74902. 0xaae59f1669ad35ccL,0xa8d0a7a2e20c026bL,0x00000000000000faL },
  74903. { 0xdc4feadd783a9b51L,0x387f15e0622a4a07L,0x78005c174a207939L,
  74904. 0x2f1c8ed7a4ad0da9L,0xba0da149f12ae544L,0xd3085ef61db1ce40L,
  74905. 0x8185ae15c8027370L,0x672ae84ee7699af7L,0x0000000000000107L } },
  74906. /* 12 << 322 */
  74907. { { 0xc1d74d05ac5fab15L,0x6ea132c49b102d52L,0xd3ada4ce0d890cd3L,
  74908. 0xab7248f092823f62L,0x246c373023871113L,0xebbca0b998424f07L,
  74909. 0x0061eb2c2e62e741L,0xac1b03d25e90c5b4L,0x0000000000000136L },
  74910. { 0x0748c14a7eefae68L,0x82525b3581f8a2ceL,0x31a64097398363e1L,
  74911. 0xcbf57e0257b6b33bL,0x523f0584807217e6L,0xd607efe780b9700fL,
  74912. 0x79afcc9435596890L,0x140ed6f46985a97eL,0x0000000000000160L } },
  74913. /* 13 << 322 */
  74914. { { 0x994d6f091dc32085L,0x7ef66c0ca1ec3338L,0x862f3f00d05f032bL,
  74915. 0x14b255ab398a3cd5L,0x15dcba7d14d0afb9L,0x426d2d2b0eba73c0L,
  74916. 0x49c12810c97b173bL,0x1b41ee58de677412L,0x00000000000001e5L },
  74917. { 0xf95f8080e3f62ad7L,0x2043cc48def132ffL,0x675e320a4ac025a4L,
  74918. 0x70d97e051e334fb8L,0xf1f374fdd5c92698L,0x092930a4e24b9c4bL,
  74919. 0x9df749fe264df791L,0xba72b3748ec13529L,0x0000000000000170L } },
  74920. /* 14 << 322 */
  74921. { { 0xd9b7a5b9e1c9df84L,0x709198f2b5280f15L,0xb34b95d48277fd56L,
  74922. 0xfd99a4ec9de8b8a2L,0xe382385a3a437ec0L,0xec27c9e21c556ecbL,
  74923. 0x40e3599d22df4e54L,0x01c11920edd21904L,0x000000000000016dL },
  74924. { 0xd4049aebdd8453f7L,0x8c013265d4ed86eeL,0x97aff20706af369cL,
  74925. 0xa09fb20b053ebdd8L,0xa0864a12daa9bb5aL,0x046821b0487993d4L,
  74926. 0xc60e798c71b8e214L,0xe34ceba3b599ac41L,0x00000000000001d6L } },
  74927. /* 15 << 322 */
  74928. { { 0xa5828c36d7a89dc3L,0x469a1d568dd9c304L,0x66de18a2fd9cd815L,
  74929. 0x9c9dbdc6b2dc8e19L,0x1a498589fd4ac190L,0x5a56e72594b98ad2L,
  74930. 0x01af3fa4075c69ccL,0x1545c78e90dffbb5L,0x0000000000000050L },
  74931. { 0xa65c03dcc589d32aL,0x17e9f0ce6060cac0L,0x0e4407a37302e7a5L,
  74932. 0x0b6d8617e87d0d8cL,0x6c4d924e82c0970fL,0xb8323cda4e7cf7a9L,
  74933. 0xfec1519afc7592f4L,0xe3ca60ad3b413603L,0x00000000000001d6L } },
  74934. /* 16 << 322 */
  74935. { { 0x116ca45b2e19e0b1L,0xa49d8f1b730ac8c2L,0xda037586eb7a1238L,
  74936. 0xeae3abd5e834391bL,0x8675c82a277eeb94L,0x975ac10634b19d06L,
  74937. 0x6ab169a96b83a163L,0x3ed9a40a967424fcL,0x000000000000013dL },
  74938. { 0xa23d2b9b2082d8bfL,0x853ae3f39a7d0a3fL,0x04c7ce962879d8eeL,
  74939. 0x17da556d29c66703L,0x1b3a760f1fde40f6L,0xb98726458c5b2120L,
  74940. 0x59b18fee260aff65L,0xf2a8908d5df615dcL,0x0000000000000116L } },
  74941. /* 17 << 322 */
  74942. { { 0x0c565f6dbf610ef7L,0xfb3f938daf30f04fL,0x3e626c858b8f63a6L,
  74943. 0x46b39352fcc292aeL,0xf7d0a0563a488d11L,0xdcc803337f10c63aL,
  74944. 0x9ce707d99c6af943L,0x5a919c777093b168L,0x0000000000000198L },
  74945. { 0xc635f424549b3f1eL,0xdffe84686bfd7fbaL,0x2ca865d6999c72f8L,
  74946. 0x904ff1826178fabfL,0xb431f3d908971a3dL,0xb6f8633bcbc2b248L,
  74947. 0x65788bf3b9173f22L,0xfb2c9aaa9e356216L,0x0000000000000091L } },
  74948. /* 18 << 322 */
  74949. { { 0xa0fecc4018e76bfcL,0xaba8add4477d51acL,0x41057a450ba7ff2eL,
  74950. 0x75b902a119cb81e4L,0x8e5b4a580e68c3adL,0xfcb68db8cc58a3d4L,
  74951. 0x0a7e44ce4f044a64L,0x40e4907ed0543f9aL,0x0000000000000006L },
  74952. { 0x32195dac8df38660L,0x6e1d60e5377aa840L,0x847cf167ef79a408L,
  74953. 0x3be397f0d44fbdebL,0x6bf1298cb6474131L,0x116995a6fd22822dL,
  74954. 0x5af45b34c8290ecdL,0xddde3eecb230c779L,0x00000000000000e9L } },
  74955. /* 19 << 322 */
  74956. { { 0xd3d86741f2c7d24dL,0x21d5116b19322c3fL,0xaf9d1a0819063e10L,
  74957. 0x5b594a50e31c6774L,0xe61198cd516f6354L,0xec9e8eb451088a79L,
  74958. 0xcc3031bbfcba2683L,0xeb08633e531785d2L,0x00000000000001f4L },
  74959. { 0x539664466d67c0fdL,0x2a42f1e974ae1a80L,0x6c12467c885ea4ccL,
  74960. 0x81ab0c5b0efb792eL,0x71ddf7497b91b2e2L,0xec246aafead35602L,
  74961. 0xa0f4a61d2563662cL,0xc717f71c505df6c4L,0x00000000000001c0L } },
  74962. /* 20 << 322 */
  74963. { { 0xafc75c178ec70a8dL,0x32686ebf7b117380L,0x16050cda21e28c47L,
  74964. 0x70c05654e731b083L,0xafa2e57571d1f6d2L,0x0df1a032c1982fd6L,
  74965. 0xc0e7b1461e86f69bL,0x0df3c6bcdce1864cL,0x000000000000012aL },
  74966. { 0x46fa0fa600b0d0b1L,0x1f0a42b21691a590L,0xf5a6e4e8ac8c1189L,
  74967. 0xa2cc987973a0ab49L,0x721ca290cf17f795L,0x4026f9c3ecf32b7bL,
  74968. 0xbabd20c019cd7057L,0x99378e8c5c30cbccL,0x00000000000000d2L } },
  74969. /* 21 << 322 */
  74970. { { 0xd0cbcc47c26a88c6L,0xc7b0cda13f2dc480L,0x405f4a1024029c61L,
  74971. 0xa79337861f262318L,0x009fa8def18a254aL,0xd8e1d3ff56e86d6bL,
  74972. 0x9d1c8cb1cf685730L,0xe9e94c8373d42c86L,0x00000000000000b4L },
  74973. { 0x03d5e8cf263d6639L,0x008d0a7caf59818dL,0x030bfbf3d18597c3L,
  74974. 0x7e6faa51312d4f8fL,0xbe896d83b2d948e3L,0xd6a7d6786f4f8181L,
  74975. 0x2140942ed01ccf0aL,0x458145e3bf228206L,0x0000000000000182L } },
  74976. /* 22 << 322 */
  74977. { { 0x9925822b53727667L,0xb75905699f8ec5bcL,0xab4ec9d48d2a5fc8L,
  74978. 0x1fdf79f123996a2bL,0xb7c9dca72e618aa4L,0x70df99533cce63acL,
  74979. 0xdb24712df2c51a36L,0xd95239ec9d3a3f59L,0x0000000000000083L },
  74980. { 0xd649c751d2ef6338L,0xb18fa99e47365d93L,0x1f96c9811d979826L,
  74981. 0x752db605cc8def36L,0xe723f8151830cba5L,0x11a2323f7123ba6eL,
  74982. 0x63fb9a0d0a390d71L,0x41a6131c77638870L,0x00000000000001daL } },
  74983. /* 23 << 322 */
  74984. { { 0xa3e39aae9386104aL,0xde389403c6bab3e7L,0x2aba3b6dc8ecba58L,
  74985. 0xaba666e342eda205L,0x247aa93c7ec04499L,0xeabe55e2811dc300L,
  74986. 0x955ad4c37f7c679bL,0xffa5d2930dd8edfcL,0x000000000000001cL },
  74987. { 0x6cd7828c8d795923L,0x93fdd33bcf549b25L,0x8a2a61d68e5ca30bL,
  74988. 0x5e0466db7302313aL,0x296faf9fba7c9c91L,0x4f8645cf5999f063L,
  74989. 0x589f67f837992492L,0x0bed28248081dc37L,0x0000000000000177L } },
  74990. /* 24 << 322 */
  74991. { { 0x2229e06cccd6d98dL,0xad78008c2bbc14eeL,0x361ffa4fda34a88cL,
  74992. 0x6023fcf46cf499fcL,0x72051f272a50f74fL,0x56cc61c8e9a59a2aL,
  74993. 0x2defb0a1bf0392cfL,0xa5ed8b89d29013a8L,0x000000000000008dL },
  74994. { 0x9d396c29d3d7339aL,0x0d21b9dfca0262d1L,0x164b69e0a000d10fL,
  74995. 0x2f7f7dfce1147d4bL,0x3cc2909978310e2dL,0xdca71fac36ae5a21L,
  74996. 0xe0c8579aa0f4cfd4L,0xc05c548904582119L,0x000000000000013fL } },
  74997. /* 25 << 322 */
  74998. { { 0xecc1d27d517fd248L,0x5e8aa5936053787bL,0x46fe1e027a0727d4L,
  74999. 0xe190ed905b0731cbL,0xaf9197611b2c2c55L,0x6d3b24cf61100b10L,
  75000. 0x354826b3638b7314L,0x2ab60c42a335005dL,0x00000000000001b3L },
  75001. { 0x60406971fb3548c7L,0xa39ee5b246ea496fL,0xbda9226bdea5de60L,
  75002. 0x125efd34ee468f88L,0xe04d9f1abe0b4fadL,0x123e18b7c72e7621L,
  75003. 0x0e4c5a0dc75a09c6L,0xb31d669e57d867c5L,0x0000000000000162L } },
  75004. /* 26 << 322 */
  75005. { { 0xf5747cbc85245da0L,0x120980ce618dcf96L,0xec629da41d48d206L,
  75006. 0x4419aa98d3952436L,0x01a4a6e1bb4544aaL,0xed247d13a94aa6dfL,
  75007. 0xbceaddb76a5924fbL,0x11fbff73e1cf234bL,0x000000000000017fL },
  75008. { 0x224a152e21813c71L,0x6e2a6f4a20f47b53L,0xbf1a147535e50638L,
  75009. 0xf1f713223308616bL,0x64d14f69d2f8fef1L,0x1e8b9fffa246cbfcL,
  75010. 0x62bf5aa4d3763484L,0x7c57e682b86702acL,0x00000000000001baL } },
  75011. /* 27 << 322 */
  75012. { { 0x3a70dcd25f13c332L,0x576f41afe4313910L,0xd0b6b3c552430b5bL,
  75013. 0x0d5e9e48e8996f32L,0x207b17fe77e70a78L,0xd0d76189584a4c91L,
  75014. 0xd35b7d9ee12153afL,0x1b5f87f40becd4e2L,0x00000000000001cdL },
  75015. { 0x4bc65a348ff1d0a7L,0x4eefffa356825c30L,0xa42098b2616e22dbL,
  75016. 0x46bc46e15e3e3225L,0x015f358ae05be037L,0xe02307bbd86e016aL,
  75017. 0x14bc3a329a393613L,0x5bdce022e6a07114L,0x00000000000000b5L } },
  75018. /* 28 << 322 */
  75019. { { 0x161b9770b7dc0f64L,0x42ad385a84f67076L,0x6a94116c710d4992L,
  75020. 0xddfa30033ec54457L,0xa17c61d12d520342L,0x7e673638f36c6f21L,
  75021. 0x7654e648eaa1a95aL,0xc4b4a3c40dd8029dL,0x00000000000001cdL },
  75022. { 0xd748525500c9033cL,0xcf0d9c3551acd2cdL,0x02022ded596a8678L,
  75023. 0x56fe8164d90b82ecL,0xe376a376863801c8L,0x559b0f3fad337694L,
  75024. 0x3c720b4f06e23e58L,0xe02dcd8191914c96L,0x000000000000003aL } },
  75025. /* 29 << 322 */
  75026. { { 0x7c7c5db9082cfac8L,0x3598e5560a7f3db9L,0x2601b07557884076L,
  75027. 0x6ff31de8b9759bd5L,0x8a065c1fe55fc009L,0x61b3433f212241c7L,
  75028. 0x20413706427bcc47L,0x11748db7fc48d7c5L,0x0000000000000004L },
  75029. { 0xe5cf15518d4fd88eL,0xd68399f20567016fL,0x8e255e59ce2a0316L,
  75030. 0x5214f9d91ac90dc8L,0x1e0c990eef6bc99eL,0xd604cc6438467d13L,
  75031. 0xc3e5306af38a48beL,0xadf8009b6d167ca7L,0x0000000000000044L } },
  75032. /* 30 << 322 */
  75033. { { 0x21487ed2e126ce5dL,0x49bc01bc5bd1e210L,0x1aa5f2c20fa11fabL,
  75034. 0xa2242af403fff4b4L,0x973eca3c209db9aeL,0xf2db2f1b3dd561d9L,
  75035. 0x784606951bcd0ed1L,0x5510ea75e062faa1L,0x00000000000001abL },
  75036. { 0x5e7d9dd5f2bebc17L,0xe4244808d597a75dL,0x0aa0f5a516b9fe86L,
  75037. 0x61d40d8a03e38a68L,0x934f4bef9e2e8268L,0x52a157da1ef90390L,
  75038. 0x7b1a6498cc5d0b9aL,0x95b9693300f06240L,0x0000000000000072L } },
  75039. /* 31 << 322 */
  75040. { { 0x7952dc96c4dcca38L,0x71e01c35fdd766a9L,0xd4ad5e22d4782655L,
  75041. 0xe4e886ca808c793eL,0x636e86b943abdc47L,0x00a2bee29483f877L,
  75042. 0x6a88f59186462a7cL,0xff8140be192bbe07L,0x00000000000001b3L },
  75043. { 0xd8e44cf01ff8cf63L,0x82b1238f14439990L,0x9f1800edc4edd1d0L,
  75044. 0xae0de82d7eb239ecL,0x9b60b1dfaf69441bL,0x4e521d71e632474dL,
  75045. 0x964fd7357e9a7351L,0xed7cf4349f2ad1cfL,0x000000000000001eL } },
  75046. /* 32 << 322 */
  75047. { { 0x699f72e9e084ea4aL,0xd1c4bc45dc721bcaL,0x7eb43d78995db3e6L,
  75048. 0x76e84fae02088e1aL,0x1b061123e048084dL,0x7caf0d3279abe6feL,
  75049. 0x9340583753b13e9dL,0xa05d1313cc58f64aL,0x000000000000013cL },
  75050. { 0x81d54e675fa5b0aeL,0xee551c40086b46c4L,0xe7b98e209b7daa1bL,
  75051. 0x8082803eb868c9d3L,0x036502f236731930L,0x075455aef9a93c2bL,
  75052. 0x080e704652a61944L,0x9f4bbcf0580494e0L,0x0000000000000154L } },
  75053. /* 33 << 322 */
  75054. { { 0x298a0e46721ade9eL,0x677e8b3ac7e30064L,0x0568fd0178016c49L,
  75055. 0x994f0036d3ec1adeL,0xeb07215b15c5599fL,0xa97133b3e01597c1L,
  75056. 0x6c991e6ed54986a6L,0x2fe04bae2e971e6aL,0x00000000000001dfL },
  75057. { 0x25c966cdf287199fL,0x7e9f51d01c337d60L,0x0c823f68216d1b44L,
  75058. 0xb381e0434d7ca148L,0xcb0cd817bcd421f3L,0x188b342f88fea786L,
  75059. 0x751d7c1bb2a40514L,0xb05475b4f0efd0dbL,0x0000000000000083L } },
  75060. /* 34 << 322 */
  75061. { { 0xf12858a030e60874L,0x885b746a49363fcbL,0x89677efa9e6267faL,
  75062. 0xda86b591948152a0L,0x13a52d2eefe62f36L,0x44a7c6cc22770a18L,
  75063. 0xb71c6a83c8b69076L,0x239a31f25ed31aaeL,0x00000000000001c6L },
  75064. { 0xa91974f8adbb6beeL,0x0cef8b3d5fef0a99L,0x47accfa21999c491L,
  75065. 0x8d9fd072192c2a13L,0x925393d4d87514a7L,0xad667ad4e6c482d0L,
  75066. 0x812fbf47a5668487L,0xf1c2e82276e7bd3dL,0x0000000000000019L } },
  75067. /* 35 << 322 */
  75068. { { 0xbf8363be4df133aaL,0x00d7ebe6830d997cL,0x2059980566b5fdb9L,
  75069. 0x2b682dec73cd9f64L,0xc4ab8c87e5db0383L,0xfa2dc9686d539483L,
  75070. 0xb0ede1675e8498eeL,0x5d8c23dfa6a71bb3L,0x0000000000000002L },
  75071. { 0xed62df962ddcfedbL,0x62dbb40ddecfde69L,0x3a847e28ea8d6afcL,
  75072. 0xb4c7f1db2fcf58a2L,0xd774982684eebdafL,0x0a5078bd6259f54bL,
  75073. 0xf9d2df2d9b7545e8L,0xa5b293c9ca1ea850L,0x0000000000000053L } },
  75074. /* 36 << 322 */
  75075. { { 0x0e4b463a886b2e59L,0xa7091bdde1730e93L,0x53693de2e485313cL,
  75076. 0x32137cec9d335d4bL,0x30983f46e7b8f7b6L,0xa8f5732c36785d2fL,
  75077. 0xfc96dd6d27f2db5aL,0x649054e25a562614L,0x0000000000000164L },
  75078. { 0xa4b1b99714766d09L,0x93af1a132001eceaL,0x436fdf6a69bb5799L,
  75079. 0xb0f3e655eae264adL,0x1ff369c761838a92L,0x3780d328a24da60cL,
  75080. 0xe126d99241cade42L,0x9cc0e1ea9ea7d1b4L,0x0000000000000056L } },
  75081. /* 37 << 322 */
  75082. { { 0xe3f5c92af2c9c91bL,0x9fe56b3fc64b60e7L,0xe651ab8b2d15166bL,
  75083. 0xf7421bb890e51defL,0x0adde7402cacdf7bL,0xdaaa12e1cb9e11e5L,
  75084. 0x42dde46b5211a0ccL,0x621aea01f0da0299L,0x000000000000004cL },
  75085. { 0xb1c259a1a55cbce3L,0x10fd90719f2f0057L,0x8242faffc92645adL,
  75086. 0xabdf00a3cbc7aa9bL,0x0b2deaa426b1272bL,0xc9edb172bc53e47fL,
  75087. 0x7e3c26de93e77e99L,0xcadf52633d8eb2e5L,0x00000000000000ddL } },
  75088. /* 38 << 322 */
  75089. { { 0x89f03416a0f14094L,0xd56358745bf6b5a6L,0x07140f5ab2d9fec2L,
  75090. 0x3a6be1f713d6753aL,0x29f0b6713669ba9eL,0xd3e499809c9edd9aL,
  75091. 0xa1222f0a876e1af0L,0x7e4b2d8e3a539f63L,0x0000000000000197L },
  75092. { 0xb9fb59ba3657e3ffL,0xb0bdaaca95a402e9L,0xd6f9607d9fc5fcb5L,
  75093. 0x08277d4ec95e8496L,0x9d6231d624a10303L,0xc45279e62ff82594L,
  75094. 0x925b8d7bff7c6659L,0x2ce594e8599f6b14L,0x000000000000009aL } },
  75095. /* 39 << 322 */
  75096. { { 0x0d0927adec179a82L,0x9bb9d81707986ba2L,0x4dde10ba9a1e77a6L,
  75097. 0x52ceeab0fa680f62L,0x7415c752e0dc60e9L,0x45bbf4dea0c28835L,
  75098. 0x926ccc195a41d082L,0xc18e0bf9fcaf9128L,0x00000000000001e0L },
  75099. { 0x212b073ade970121L,0x2f3acba643d17f79L,0xc4f7513cb540cfcfL,
  75100. 0x5d4ecfec9dba50a6L,0xb6ac72945403b601L,0x445f1431a3e52e7bL,
  75101. 0xa4471581a24dd4c9L,0xbcac26f166e43679L,0x000000000000009eL } },
  75102. /* 40 << 322 */
  75103. { { 0xb3e7eabf951c2d0eL,0xbf9959209512c00cL,0x0f1d97a8dbf1f0f9L,
  75104. 0x6a52615c430981d0L,0xfb0f0d2097073d82L,0xd843bc6cc0430de7L,
  75105. 0x1bd02e5440061f87L,0xca4930b25dd88dc1L,0x0000000000000056L },
  75106. { 0x92c1350259a249afL,0x1597c507b2ca76b5L,0x298751f3039592d2L,
  75107. 0xc50bb3a4e8a71d91L,0x4d3a058405f1e850L,0xd16f70a3764af248L,
  75108. 0x5d508a243f2215ceL,0x2cbcdaed889ab117L,0x0000000000000193L } },
  75109. /* 41 << 322 */
  75110. { { 0x33651b0fa901023bL,0xb284799cf74f9e94L,0xca2adf58ab42f967L,
  75111. 0x5682cd2f8f916cd1L,0x1fa28c120716ddd4L,0xc7fbd070fcce3af4L,
  75112. 0xe2584ea683c7d494L,0x292cf09563e96f86L,0x00000000000000d3L },
  75113. { 0x978eab0d561ae9f0L,0x505bd69d87b3fa7dL,0x6da8f644e5f1eb0dL,
  75114. 0x23835289de97f4beL,0xcd57f90042407f6eL,0xebbf612c3210ffbaL,
  75115. 0x7b4bacd8094d959eL,0x8bff4d6940769457L,0x000000000000003aL } },
  75116. /* 42 << 322 */
  75117. { { 0x0afc9e7020994117L,0x0e57032cd363dcc3L,0x7524eb6c993e395fL,
  75118. 0x8ef74be384122007L,0x7d33ed5003a27726L,0x27513a4eb65c88c8L,
  75119. 0x6af64d0b7d9f370aL,0x4cb05a9b45c17a8bL,0x00000000000001ecL },
  75120. { 0xfd7afd321f4198b9L,0x385d1c7039b3b13cL,0xab60c146d2b332b1L,
  75121. 0x50b827d7dc655444L,0xa2c7a8ddd25c4e3cL,0x0a27f3eab718ce9fL,
  75122. 0x14ff04ece2dbeea8L,0x63f281fe2fef5044L,0x0000000000000074L } },
  75123. /* 43 << 322 */
  75124. { { 0x49fbd643eab88f85L,0x564f4ba7e8c9011dL,0x1d818e0bc7b1478cL,
  75125. 0x1803f387883b4833L,0xedba2a623bc03335L,0x634a781db6fc5a17L,
  75126. 0xe8196ce6811f8210L,0x76af8a379732049aL,0x00000000000000fdL },
  75127. { 0x8c283abdc06054cdL,0x34308c7a8998068fL,0xde75159933710724L,
  75128. 0x992f8183afd84b44L,0x893f046a3e7c8ce0L,0x0a967e5f70f40608L,
  75129. 0x95c11e854bc01128L,0xa5e3708141fc13dfL,0x000000000000000eL } },
  75130. /* 44 << 322 */
  75131. { { 0x8ed9e22a9439311eL,0xd3f46e41314b0141L,0xbdb1570568382359L,
  75132. 0x149adebfb65d3aabL,0x4f73e3254fb4c8c2L,0xef7883ccecdfb62cL,
  75133. 0x7a0ecaa2123003b4L,0x8da68ece15a2a7fbL,0x00000000000000ceL },
  75134. { 0xaac484e542250748L,0x5e1020b2e43c22e1L,0x755475a75f3c8e7bL,
  75135. 0xbc1fd16e533061b7L,0xd10d8530011d193cL,0xb8d9c97e4ae8efddL,
  75136. 0xf19de2648f813fc8L,0x3a0b5f66415daf6dL,0x000000000000009eL } },
  75137. /* 45 << 322 */
  75138. { { 0x9969b5fd3135fadeL,0x9bc95aa606e484cfL,0x355ddb588b0fc080L,
  75139. 0x1093422b3bf11d43L,0x5d5237f95bc21dfdL,0x25c184a661758002L,
  75140. 0x1625b15c318e6360L,0x32d2ae19b508e1ebL,0x000000000000012cL },
  75141. { 0x722ed1b76e253643L,0xe9242c221809165eL,0x5c962af74b9630a7L,
  75142. 0x36d676d51fe4f40aL,0x9c6232022f1b1556L,0x209b0bc4daf3120bL,
  75143. 0x72726a0105689599L,0xc16d60ab500ef70cL,0x000000000000004fL } },
  75144. /* 46 << 322 */
  75145. { { 0x9808593467fbef8fL,0x22bc62a9f82be097L,0x98cded2d74bb7957L,
  75146. 0xf315e03a49c8bd33L,0xf9e872d565490065L,0xa5a6bd39857ea243L,
  75147. 0xded7128e8cfe8539L,0xd763a75b8905dea9L,0x00000000000001c8L },
  75148. { 0xc9861044843cde89L,0xe3761912078c8f57L,0xefa422f7582d9659L,
  75149. 0xb50a0a959632fa91L,0xf955855a469df6c0L,0x0ea369f34669bc3dL,
  75150. 0x368ab00685599310L,0x2ad00a5eb7a8b481L,0x00000000000001deL } },
  75151. /* 47 << 322 */
  75152. { { 0x4c84c9f9ea65b932L,0x0b54ecf8bec4ea40L,0xd5de970a9e70ecd9L,
  75153. 0xc940c1ed40455e5cL,0xc8bc7dca3838fdf7L,0x63c4efb6ef33dfd4L,
  75154. 0x82b51dd6c47f4e20L,0x5cb41a27ff99b86eL,0x0000000000000123L },
  75155. { 0xe7b1d8113117d1faL,0x517166515e4a173dL,0xc6d75c1834fbc8acL,
  75156. 0x4646316c524b402aL,0x361c0a1b7b71c7b7L,0x777727080796b95bL,
  75157. 0xe6e931370451eccfL,0xb43aa00d237aacf2L,0x0000000000000108L } },
  75158. /* 48 << 322 */
  75159. { { 0x77b4759ecdc28bedL,0x2c9485511067b654L,0x97a30e9c1be3d888L,
  75160. 0x1b8ee1134d8a74eaL,0xec2a632c3b1697ffL,0x60ac030fa8d72746L,
  75161. 0xee82efee20b60c63L,0x6c7904a018c6ac9dL,0x00000000000000a0L },
  75162. { 0xefabd68d11a97778L,0x0c8e7905d29960d2L,0xc58e496f0b58310eL,
  75163. 0x8bbcb95ce092e4e6L,0xcfefaa5cd7b6d076L,0xddb0d933600c7c58L,
  75164. 0x7ec76492d34b8f40L,0x6ad971caad23f589L,0x000000000000004cL } },
  75165. /* 49 << 322 */
  75166. { { 0x9c3eaccf73c220baL,0xecd040d222e53490L,0xe4e958c14dcc1e96L,
  75167. 0xdba4a808b1af5f74L,0x3106a290a95fbb79L,0xffb704293792882cL,
  75168. 0x7e595219f8432c48L,0xdde6ce6c8e43e77bL,0x0000000000000125L },
  75169. { 0x5c5bed0062b3c950L,0x4287ec7870ec2a41L,0x31f56d23604c34a9L,
  75170. 0x39550dc938e5e90cL,0xce05656c3502e7a3L,0xf65501831c683d8bL,
  75171. 0xcb128c0981e26495L,0x4f4f4402cc33b9e6L,0x0000000000000053L } },
  75172. /* 50 << 322 */
  75173. { { 0xe5a77166be5da74fL,0x32f62c8e2fa814e0L,0x70ae9f87b6c207d6L,
  75174. 0xd803c9a7fce84376L,0xa7e7e9ec53846c94L,0xeb357fcc3fa01a22L,
  75175. 0x2fcdd432d264e780L,0x4ce115c9c352af13L,0x00000000000001faL },
  75176. { 0x9543539d8912fd69L,0xe1eb19b8d14ed2c2L,0xc47ab4f0beea02a9L,
  75177. 0xa097de0020a38f8cL,0x182cb223511265f0L,0xcdaae98f01614e32L,
  75178. 0x9968eee31ece63d3L,0x6219a46db34a7e22L,0x0000000000000080L } },
  75179. /* 51 << 322 */
  75180. { { 0x9e12cfec9c3a4c3bL,0x779628a45f53855bL,0x7ac6e3494ee550f6L,
  75181. 0xc167283c7a4b2192L,0x58c2fa2063e39e4dL,0xbab2d6ae0b743e23L,
  75182. 0xa34a920cca6e9cb0L,0x7818f9f4ececa894L,0x0000000000000010L },
  75183. { 0x3416933959b9f008L,0x0a9c68d604ef634eL,0x18a98bb9e6a78900L,
  75184. 0x124443d61e0fa784L,0x56668b018fc2d6cdL,0xb5ddc6d2faa5ef32L,
  75185. 0xeb89133aec245cffL,0x5b3dd85dc2929841L,0x0000000000000197L } },
  75186. /* 52 << 322 */
  75187. { { 0x42c6902d17001ab9L,0x6bcd13b0e3c3bef7L,0xe61d8161a3b5a78cL,
  75188. 0xa201774e05b85e95L,0x9c0940abd7e54543L,0xd8c739a71066397fL,
  75189. 0x2a086159a49687e8L,0x6e5a1b2592222916L,0x00000000000001d9L },
  75190. { 0xc2fe70be069126eeL,0xd337ff0cda37306aL,0xd91e07f157f8eb8cL,
  75191. 0x83eef5e6c3e8974fL,0xa0584968665f08cfL,0x377cdce9b5297c10L,
  75192. 0x581d1c013d1f2799L,0xa1b669d8bc2e1714L,0x0000000000000096L } },
  75193. /* 53 << 322 */
  75194. { { 0x087569b150902c90L,0xf91f6a3c073c744dL,0x7811c91daa8b077cL,
  75195. 0xa5ec0a6d68dadbd6L,0xb885e064f45ab631L,0x24b696dc452bd6b1L,
  75196. 0xa528be732e9ef035L,0xc5683c7afffda366L,0x0000000000000196L },
  75197. { 0x944aef1b14b55baeL,0xf9b890250d064e11L,0x47c699ca4c807c41L,
  75198. 0x37312d6d205c11d7L,0x5d1546c69319437fL,0xdb86c05376c56164L,
  75199. 0xc554d7719937d348L,0xfd1f3aac9cff2d06L,0x0000000000000140L } },
  75200. /* 54 << 322 */
  75201. { { 0x4e5f70bd593eeec7L,0xa08a3a07c68adf61L,0xa939150808b6d600L,
  75202. 0x0b36d861cb6b65f8L,0xa5b6fccf274f5cabL,0xd821c75ed6a29c3fL,
  75203. 0x61f56a9e5d06fe0cL,0x818aaa46240372a9L,0x000000000000010bL },
  75204. { 0x97e136c0c49978b0L,0x9ae5030e27f22acaL,0x9a2ab3a3ebb6f0a4L,
  75205. 0x4eccb9a421c62aa3L,0xb3c264e17e298f4aL,0x5681ce55f5126a1dL,
  75206. 0x2e55fbbb2dc003dfL,0x96eea8b06c8cdffeL,0x00000000000001bfL } },
  75207. /* 55 << 322 */
  75208. { { 0x225b4c7ca087d667L,0x1c7212bf5e019ad6L,0xb4d883fa55533217L,
  75209. 0x060a1cb3a9382203L,0x0cdd75b0c64dfca2L,0xbca3849f8129ca54L,
  75210. 0xea0f1541fdc4ba6cL,0x76420c089f8d1f5fL,0x00000000000000e6L },
  75211. { 0xa53a534f6ce1b6a2L,0x2489f4cd43caa085L,0xce3afd72f0ea6160L,
  75212. 0xaf9e1e469665daedL,0x947a8d04312ec1beL,0xd802b36ed89e92feL,
  75213. 0x41a7f3301ed24021L,0x6b8789018bfa23a0L,0x00000000000000d5L } },
  75214. /* 56 << 322 */
  75215. { { 0xb42ef882816f7665L,0xb3afb61fb9084579L,0x3127e9a54745395aL,
  75216. 0x1fa6611f0126d538L,0x798fa552070097ccL,0x6f41901c704f16d6L,
  75217. 0xf528b063bd6749f9L,0x3ca460784b9fff68L,0x00000000000001dcL },
  75218. { 0x0096eb977d54eb8eL,0x9de669afe24facdeL,0x1582b22ac6df403aL,
  75219. 0x8f4fbd44a91242ebL,0x1696fcc0e0ad2760L,0x334c9d4ad2d90e25L,
  75220. 0xe57995440d5893e9L,0x5074b63ed1077be4L,0x0000000000000029L } },
  75221. /* 57 << 322 */
  75222. { { 0xc11c1de6640b3b9aL,0x3075eec8641ac7c4L,0xa2484dec7b144ab5L,
  75223. 0x4ac49f44e53e597fL,0xaabefa613e6c80d7L,0x2d964c50b363a587L,
  75224. 0xcb58a0f06d2d92f3L,0x2015b478e899fe65L,0x000000000000005dL },
  75225. { 0x7c51a1a88df037fbL,0x86b9973bd5582434L,0x946f58e266867f0cL,
  75226. 0xbe9451d97ed59b38L,0xfecd089d4c5df184L,0x3f14866afe5f8eeeL,
  75227. 0xae2f927fc486af2aL,0x684917776c511735L,0x000000000000004fL } },
  75228. /* 58 << 322 */
  75229. { { 0xd8bfc4c4210815c5L,0x13012a4f8aeec2dfL,0x2fa0e6847ae5255eL,
  75230. 0x1088cf4336a2fa9bL,0x94cd1efe36ab082dL,0x128c234009a7804bL,
  75231. 0x159360ff1bb24487L,0x0a458b52ae3eab0aL,0x000000000000001cL },
  75232. { 0xc4775d3d9576ecc4L,0x13a0078c5c9c25a5L,0x92ef8e4e4062c8e8L,
  75233. 0xf196769660375b3eL,0xd072937ba24b431cL,0xe5e3bf64d0420605L,
  75234. 0x68712d5bb23660a3L,0xe89fff9ae6358c41L,0x000000000000016eL } },
  75235. /* 59 << 322 */
  75236. { { 0xff0da5c42a22890cL,0xc044cdfc46bff2d8L,0x2fca586d876f2f60L,
  75237. 0xf06e8c8c14dd39adL,0x042dff7320789797L,0xed6a327aeb5cf944L,
  75238. 0x844d7c94375fa477L,0x710ee88704b7b91cL,0x00000000000001f4L },
  75239. { 0xb8c9507ae8e1a9f5L,0xc273343f9575c160L,0xe3da5ae5991fee34L,
  75240. 0x712ed5679ba2b295L,0x9301bef49b3f465fL,0x8ed51c6c25950377L,
  75241. 0x5f46a90cad56c370L,0xb7694541fed996efL,0x0000000000000014L } },
  75242. /* 60 << 322 */
  75243. { { 0x5f4ba23b78e658c5L,0xa9463d66dd8f6428L,0x2b6792e9fb241842L,
  75244. 0x10dfa360934aa1f1L,0x7769322ab7bf8a36L,0x223c1474f127aa05L,
  75245. 0xebee2760d048d6c5L,0xf495b445e7b13526L,0x0000000000000032L },
  75246. { 0x7baa637e8bb79c71L,0x349709051681a7b2L,0x12359173edd0293aL,
  75247. 0xbd9deb854e888c4cL,0x43f03f70563c6c2bL,0x42d131b2f20fe520L,
  75248. 0xb080e82cdcf32d61L,0x7aca6b8c0817ea86L,0x00000000000001f4L } },
  75249. /* 61 << 322 */
  75250. { { 0x430d75a3c507c83dL,0x4406dddeeebe1adbL,0xdfe966eb94d0023eL,
  75251. 0x7a403a862a422704L,0xc7f74e48d3fbbc05L,0x47ef018fe07bdeb7L,
  75252. 0xb69187f8e5ee7ca7L,0x9340009d4fda175eL,0x000000000000001bL },
  75253. { 0x6eb88ceabc7b237bL,0x862c7ae95249e73eL,0xb517b7e79cf910d6L,
  75254. 0x2b780471297fe7b4L,0x99738346acbbc73bL,0xc0a18e55e317c474L,
  75255. 0x3fdba5cfe254a076L,0x02f6984cd7a4c08eL,0x0000000000000174L } },
  75256. /* 62 << 322 */
  75257. { { 0x70310eb86def0125L,0xdc681d69eddbda48L,0xcb29aa5c303d3057L,
  75258. 0x93a7cbfff83bc576L,0xff9e461be48ded6cL,0xf0ba47061d15d104L,
  75259. 0x2700a174bb028212L,0x85b2f2b815ed0881L,0x00000000000001a3L },
  75260. { 0xf48c263c758e2de5L,0x5fc91b78a810b626L,0xcc57c5471ef04f52L,
  75261. 0xa3bc05d6db2ff614L,0x5918d61139c567b3L,0x8af3817bbf54d907L,
  75262. 0x0f65e1a44cd3470bL,0x26d7c80b9d7f6cebL,0x0000000000000122L } },
  75263. /* 63 << 322 */
  75264. { { 0x6854aa7ee687f6e1L,0x74212a251b7b35eeL,0xadef57c11b3f79a5L,
  75265. 0x1a748b8e45511b30L,0x5725c9e78c892a6aL,0x94cc52b54d12a323L,
  75266. 0x633cda13a8b2824bL,0xdd069d05b24a8579L,0x00000000000000c6L },
  75267. { 0x563f4058af114a39L,0x820ab6c934462a35L,0x4340b6d903cc02e3L,
  75268. 0xe8104176d06f02c1L,0x0b6583783c825b98L,0x07d0c3f46311ea4dL,
  75269. 0x34b6a707673e0f0fL,0xcc3e2922dea3d23fL,0x0000000000000086L } },
  75270. /* 64 << 322 */
  75271. { { 0x4d1ba365c000e4f4L,0xcf34a1a87b2caa8fL,0x0e4a58d5783e3c39L,
  75272. 0x1ad4b5ce2c1fcbd9L,0x6b30bfb9e8b9556cL,0x304ad2366301b3a4L,
  75273. 0xdacf31b8c8d571f1L,0x25b7a0fdec93e088L,0x000000000000012eL },
  75274. { 0x2863bcbf3b6cc6ddL,0x70760671e9430f99L,0x46cce87b7586cddeL,
  75275. 0xc1f58398161a045fL,0xa84ca0cf291636aeL,0x11242d2726892bd1L,
  75276. 0xb1d85da78c971e9fL,0xc66e0e1d61aa5039L,0x00000000000001b1L } },
  75277. /* 0 << 329 */
  75278. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  75279. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  75280. /* 1 << 329 */
  75281. { { 0xbd52d5127c1a3915L,0x88b64d2e59d9dc08L,0x142d5364a1da166eL,
  75282. 0x138ed011c8ef7e38L,0x90e189904d6d06eaL,0xb0081001147f3f6eL,
  75283. 0xa8e9f89711a1ee9aL,0xe7607f70e28c7a31L,0x0000000000000011L },
  75284. { 0xa73dc4e4db957a5fL,0xb3c023c02fa7966dL,0x590ca0877aefc5b1L,
  75285. 0x63427f912ca0d266L,0x7bc0f1ef4eeb8864L,0xef9125d279239e3cL,
  75286. 0x12e924a1a90c09c1L,0x0fec85e3b3663a4eL,0x0000000000000085L } },
  75287. /* 2 << 329 */
  75288. { { 0x6c6119f6a1c88f3cL,0x924e5fec2ec6944aL,0x4c8aac605742ff2aL,
  75289. 0x60adde1eddb22c7cL,0x9728938cfa5d25bbL,0xfa5ac4f7ec117de0L,
  75290. 0x41f35ab7482929c1L,0xd1c4e8f90afd95f5L,0x0000000000000180L },
  75291. { 0x2fc4e73da7cd8358L,0x39361a57f2a1c920L,0xf6f2f130ad94d288L,
  75292. 0xe37e24662b6a78e2L,0x0babff8b79c262cdL,0x6cae01ef61b597b9L,
  75293. 0x9c1e33f0a60d4e64L,0x52a42280dd01f845L,0x000000000000000eL } },
  75294. /* 3 << 329 */
  75295. { { 0x9f19b3e18c730727L,0xa2231248d5e33b72L,0x0505b3dd5bde07e8L,
  75296. 0xaa30e5ace8a2fc4fL,0xb2d24a392f964eabL,0x2d9d22a460ca41f1L,
  75297. 0xc7183625e0e8dd2dL,0x87f3ab032653d84cL,0x00000000000000d8L },
  75298. { 0x52e505e3c7fb02d2L,0xed5fcc2c7154e8b7L,0xc0df346f8e8397adL,
  75299. 0x1c9abde6f542ce97L,0x158cd908e2a2205eL,0xfbf550dfe60b9a18L,
  75300. 0x66a4aa43bd817d90L,0xeca35b6cc60dc534L,0x00000000000001beL } },
  75301. /* 4 << 329 */
  75302. { { 0x09bc56744c81da95L,0x9756c443f23b526dL,0xac041332abbece84L,
  75303. 0xd933aaa327696aa1L,0xfe78e91d3e4e9032L,0xe491ec63cd67fcfcL,
  75304. 0xb73746e7e8fe9c4aL,0xd2ca6f6a199f1eadL,0x0000000000000191L },
  75305. { 0x86a7466aad125891L,0x4817dd6e42499ff4L,0xf5478e3b7c6a0addL,
  75306. 0xb92d8e5d2a394366L,0x5c5238e3bcdf955bL,0xfa855ff10489d6b1L,
  75307. 0xbb15d2fd134f7f2dL,0xd5faf13744bd6838L,0x00000000000000f0L } },
  75308. /* 5 << 329 */
  75309. { { 0x0fc11e4c84b0f4eaL,0x435c27d47d244a14L,0x3996925dc6eb93caL,
  75310. 0x0b699c9f09f7e1e4L,0x92d5807e1eb96a28L,0x772a095b9c14e99aL,
  75311. 0xda362fd51bc8f956L,0x157e3c0b9d4800b7L,0x00000000000000a8L },
  75312. { 0x5efb3b8f90d9ec28L,0x8cc8c25ffa2e2948L,0x1ee212252668d00fL,
  75313. 0x37102fb19651d783L,0x341ab0e5a50af73bL,0x868464e967e0b7b5L,
  75314. 0xe264f59d5ba120e4L,0x661650aae80385c3L,0x0000000000000158L } },
  75315. /* 6 << 329 */
  75316. { { 0xfab2f74c3ef1eeb1L,0x71af5a9992007e36L,0x384d6a18a0273729L,
  75317. 0x03df77a9ab5eaf13L,0xbe0136fa0e0bdcb0L,0x5f4be468bebaa588L,
  75318. 0x2ebfcfb42840138aL,0xf8e098f02594311aL,0x0000000000000053L },
  75319. { 0x84055186c73f0476L,0x92dcdd0e729b0b1dL,0x7c523b4806be9764L,
  75320. 0x95357b956a57baf6L,0x4b556882860ce9b4L,0xdc08b8f831882647L,
  75321. 0x11c9b3c738c3deafL,0x50b6fea8e68f20c0L,0x0000000000000164L } },
  75322. /* 7 << 329 */
  75323. { { 0x76b2671fa4c28ca5L,0x91a0d41bd0f62e23L,0x3db3924db448f296L,
  75324. 0x0925dc3fa60a9738L,0xa37774b00371c080L,0xfd182ac7b5167fe8L,
  75325. 0xce4795b714eb4895L,0x7c993d229887590dL,0x00000000000000b6L },
  75326. { 0x6090f452a0feb93aL,0x032de9c217e4f78fL,0x29ffff34a237d15cL,
  75327. 0x81205285efad6015L,0xcf90cf14ab143ecfL,0x56d1caab0dbd215bL,
  75328. 0x2648af04284b4611L,0x6df91b71bc20a51cL,0x000000000000013aL } },
  75329. /* 8 << 329 */
  75330. { { 0xbf0b5ea3d34b138fL,0xc49513813ac7cad4L,0x82ca5536cab6a319L,
  75331. 0xff56913688bb4ea8L,0xcee2512a4761d3e9L,0x4695e52155ef9647L,
  75332. 0xbb83316b9378f132L,0x1d447f048d43bb4cL,0x000000000000002bL },
  75333. { 0x777ab201ce5889f5L,0x635d968f4c6f0545L,0xbb48a0cf872777eaL,
  75334. 0x33f4de62c616138fL,0x93e74192bc8d65ceL,0x532ca9bd5ebae1f0L,
  75335. 0xd783e104fbaba8d0L,0xb32af569bdf2d850L,0x00000000000001baL } },
  75336. /* 9 << 329 */
  75337. { { 0xa0bb7fffad4e0ec6L,0x6621d487b0fd2273L,0x7dac286992bb025eL,
  75338. 0x2daea181e142e35dL,0x6d2ad2a7b5585b04L,0x7c156b91c67b8de3L,
  75339. 0x018e5ad7f9a8259aL,0xa2fbf18af52813cfL,0x0000000000000176L },
  75340. { 0xf5f511266c344a4bL,0xc8ca1d94c7d3e7f0L,0xdb27ea15da64dad1L,
  75341. 0x248a9d6eb2dd60c7L,0xc27b6461b6e10f17L,0xf64f36ecd01fa2bcL,
  75342. 0xd395dad1052a4c0eL,0x2ed72e101ac0c910L,0x00000000000001b8L } },
  75343. /* 10 << 329 */
  75344. { { 0x218712c5d244dd3dL,0xed19fc5f3849ea68L,0xe4bef41212cdd2e3L,
  75345. 0x4189ad768e675f49L,0x818140c606411e8bL,0xb13cdb88bd3e301bL,
  75346. 0x8696b6b929e10534L,0xf325c324cdba3b73L,0x00000000000000b9L },
  75347. { 0xd41cdb59966ebb3fL,0xb82e5cba766a762bL,0x4cb02db9628fab85L,
  75348. 0x1092daf6bd4d732cL,0xf307aad8333ec4e3L,0x956be117c56ddc0cL,
  75349. 0x2e03ef708674b500L,0x9a540a11d836fff7L,0x000000000000010cL } },
  75350. /* 11 << 329 */
  75351. { { 0x5fe1030137825aa3L,0xa74e7065f13007ceL,0x7d3ebd9df6e9c94eL,
  75352. 0xcba3ac5535e6d681L,0x602758b91c29d435L,0x6199e8ffebf0335eL,
  75353. 0x338348e5e2747f04L,0xf3585a73bf365565L,0x00000000000000c3L },
  75354. { 0xb3c68f52e99b1b1fL,0x4f91a78bc8085753L,0xc7e549a78c010053L,
  75355. 0x17912acc9790e0b7L,0xabbeaab400cedc5dL,0xe885041467136ca1L,
  75356. 0x166b73459b51dc45L,0xc12d21e36d037065L,0x0000000000000102L } },
  75357. /* 12 << 329 */
  75358. { { 0x88367eebb1714fe6L,0x7e62026793ba98daL,0xc32ba6878352de93L,
  75359. 0xf542af8c979410b0L,0x929bae6b0e5b7cf2L,0x1201a42abe4afff0L,
  75360. 0x8dd7508567016e6eL,0x6cba441bc820de5dL,0x000000000000011bL },
  75361. { 0xeda68f37476e21aaL,0x16fcf4f2e71dfdbeL,0xc43966b272a6702dL,
  75362. 0x2732f8f0d6af1eb7L,0x2bbd7368572832d9L,0x83807036b54abbb5L,
  75363. 0x1f34a2c505aa9032L,0x0840702abc5297b9L,0x0000000000000130L } },
  75364. /* 13 << 329 */
  75365. { { 0x9989f80307ef564fL,0xb8b2ad57d8354633L,0x6f40c68a0ec997bbL,
  75366. 0x1c7963bcff213ab9L,0xa9548ec25a844439L,0xe55816bc980a798bL,
  75367. 0x724de727d2674309L,0x5a50a29195e2a8a4L,0x0000000000000119L },
  75368. { 0xf46573aa104d6a06L,0xff5f3f99d9d12718L,0x9d527c1889d06ed8L,
  75369. 0xdfeb3fef6ba0946bL,0xa156e73dd8fcc522L,0xcf5fb969177f3823L,
  75370. 0x98210af8c27cc78fL,0x452ce06048c56dd6L,0x0000000000000116L } },
  75371. /* 14 << 329 */
  75372. { { 0xce7489926632ad8aL,0x334efd2bdee28c6eL,0x5486cc6ba645df0dL,
  75373. 0x5f02c1614bf66fcbL,0xcf2ca9b5e228e838L,0xeb7b3e95c58148d8L,
  75374. 0x25f22a19a344184bL,0x8f522dbb73976e50L,0x000000000000013eL },
  75375. { 0xd758bbbbe87ee0d7L,0x6d7c077ae946a6cdL,0xd9732f17c80954b0L,
  75376. 0xae1d674e56d292c0L,0xa1fba7cdebea75caL,0x533d65b08398242aL,
  75377. 0x22fc479e22740f06L,0x5c13ab6063ca9aecL,0x000000000000008dL } },
  75378. /* 15 << 329 */
  75379. { { 0x9941d21ab49db659L,0x5284918d18fab9deL,0xa325293ef612f99cL,
  75380. 0x2062c4dd8ebff205L,0x7b4b97775321cff8L,0x10d0c4726905b8d1L,
  75381. 0x1645eefea2c71febL,0x7fad527a27ec5eb4L,0x00000000000000d7L },
  75382. { 0x36795144f93f74a9L,0xca5177b36115fcf9L,0xc49b404e5df5ccc6L,
  75383. 0x940ca8bc2bda601cL,0x60d8607073ae2f2eL,0x410c1e9c3f1321a1L,
  75384. 0x3181ce2c713e1037L,0x1d252106ec2ba1cfL,0x00000000000001a3L } },
  75385. /* 16 << 329 */
  75386. { { 0xd552c9d248351408L,0xa6d83a480ef56558L,0xad5e955a313b47c2L,
  75387. 0xdf3caff7f6dc03beL,0x3d62ff1951cc488dL,0xdb49f397966a34f9L,
  75388. 0xe10e72130bf6a9e7L,0x560e329abc5852d2L,0x000000000000004bL },
  75389. { 0xfdad029af3017c8cL,0x6ca51acbb78d4d1aL,0xf984fa8679d7d7d3L,
  75390. 0x75d9044b911a4d3bL,0xc5b20c87ef955e4eL,0x413d6838f064fd0cL,
  75391. 0x37a5ec08ec7fb5c9L,0x634cb97f74561d5bL,0x000000000000015bL } },
  75392. /* 17 << 329 */
  75393. { { 0xad1efc90854c308aL,0xff83fb8276d035cdL,0xd1959a8384fefc47L,
  75394. 0x62c1d0574906d383L,0x8634b4ac4f968d2bL,0x03ff550c1a5571d2L,
  75395. 0x76f35ffb3a99965eL,0xafa6323331f48bcaL,0x0000000000000100L },
  75396. { 0xb5c0272bad54971fL,0x4cb20e716cd136bdL,0x6245003b6f9aae9dL,
  75397. 0x0be08260dd76ce6dL,0xe45b5015d2a01ad8L,0xa079ad1be686ab99L,
  75398. 0x6ab15c9d69f8ac52L,0xa52bdbd741f5309eL,0x0000000000000161L } },
  75399. /* 18 << 329 */
  75400. { { 0x0b617b8a00484cadL,0xd966cd8eedfb5312L,0x78daeed22e0556bfL,
  75401. 0x3770c07d5f740718L,0x0ca5bf4b4716ccf7L,0x0ed0493a9b99f851L,
  75402. 0x9fd997f26f7a9b17L,0xa0bd37177c8b6fdbL,0x00000000000000f4L },
  75403. { 0x708283ffb63b3e84L,0x41f2f8872ab27c88L,0x2af970973e877cd1L,
  75404. 0x9ded7532521ef940L,0x939a47de0eeff999L,0x630c45887ae38086L,
  75405. 0x34268747773f602eL,0x9a91920734993ab5L,0x000000000000008fL } },
  75406. /* 19 << 329 */
  75407. { { 0x707b18b6c3928c9eL,0x465e5a820aa48af4L,0x2c18c4e7e68a74beL,
  75408. 0x9b9037c2ac6930e1L,0xa1560f34b3416163L,0x511406a69285d6dfL,
  75409. 0xf68235cb6e106799L,0xbd3d844a088a6ad6L,0x00000000000001e5L },
  75410. { 0xc4f78bfd85e2f692L,0xc83f003671075cbbL,0x8a75bafa208b6885L,
  75411. 0x8b4097d0654cf76eL,0xf567fd4ff884572aL,0xf5dfb3b1ada26881L,
  75412. 0x4f423f8bd71ea04eL,0xb148a467cfdbf809L,0x0000000000000147L } },
  75413. /* 20 << 329 */
  75414. { { 0x98d7ec4574b83fb2L,0xda049f4667938ccbL,0x6abf18a43e04316eL,
  75415. 0x200bc564efa482a2L,0x5858ac6c029cfe0cL,0x2d81cea5a5bdc064L,
  75416. 0xe7ab7be81636eb12L,0x6e7bd59fd1ea4c1cL,0x00000000000000b7L },
  75417. { 0xaee1246920b44e57L,0xeb14e358836b5462L,0x9b4f621d2b22fdecL,
  75418. 0xa6b8be6be8b1a5d9L,0xc43a3ec35e3da0a5L,0xd89e2333d43f2c85L,
  75419. 0xe534c8393fe85436L,0xc8f70bb54d6862b4L,0x0000000000000106L } },
  75420. /* 21 << 329 */
  75421. { { 0xe3f343d136aab671L,0x872612411057e237L,0xc649dacfd4686627L,
  75422. 0xac5c2e85d6976ca9L,0xa778bdd13322b77bL,0xab619e1c856b0eb6L,
  75423. 0x0b5fe3ad8a9941ebL,0x2f9b420a9c019561L,0x000000000000014bL },
  75424. { 0x185fefbbeb33f10cL,0x1cf9640cc41725d5L,0x55b9968c85d74435L,
  75425. 0xede863e0504b63a5L,0xf59711270e07a7e9L,0x50d97b0da57bae09L,
  75426. 0x6dbd2b8ab0f76892L,0xf52601b7f929729aL,0x0000000000000179L } },
  75427. /* 22 << 329 */
  75428. { { 0x9f97c2576700b350L,0xd002835d78f746faL,0xcf3ecd578da75e7bL,
  75429. 0x8768abd95e23f219L,0x3f9e66466cf8ff2eL,0x3064948b1f360d9fL,
  75430. 0x92bfce3bb129b55eL,0x4de97c12253a1789L,0x0000000000000180L },
  75431. { 0xa94b1dff29e5efcbL,0xb9c77f91f225c1b6L,0xeaf061bff40e20caL,
  75432. 0xc7f20a1e5a880560L,0x1a49752babd0d172L,0xb2397b9b7704d613L,
  75433. 0x1bf06d60563fd774L,0xb6bf63b045039cd5L,0x00000000000000d3L } },
  75434. /* 23 << 329 */
  75435. { { 0x7ea8ee24b4cc0562L,0xb5885f8fe2af04aaL,0xaa012337275d5351L,
  75436. 0x76e54bb937e29944L,0x7f9b8f182ea56782L,0x4b3d999e28d442b8L,
  75437. 0xf8b0e3804718f1e2L,0xf137fa8334e560c9L,0x000000000000002aL },
  75438. { 0x7fd295c0dadf8134L,0x4677e5ebe41515edL,0x5f4a4ea2b67de812L,
  75439. 0x083b497c8e609e41L,0xb70b8f2669132911L,0x62c6e87f984b49d3L,
  75440. 0x2549a999e54f6ee3L,0x16bff3e87206acfdL,0x00000000000000f4L } },
  75441. /* 24 << 329 */
  75442. { { 0x9fa30f39e43b6c21L,0x4d3822aab9fc57bbL,0x0230adcf69a8a55eL,
  75443. 0xdc8ab2796f87f988L,0x2d642a82b2af81fcL,0xb9e63a7730765913L,
  75444. 0x5787400625f2a77cL,0x0aa30a6f5bfee0f1L,0x000000000000003dL },
  75445. { 0x796f6508fce49daaL,0xb586299fbf907285L,0x21ccfc555838145bL,
  75446. 0x20a0f8c0e6d43b4dL,0x17170a2be5e80fc6L,0xbb8f840688fba946L,
  75447. 0x5c226b0e411fcbe7L,0x35ace6e02ae8e090L,0x00000000000000b0L } },
  75448. /* 25 << 329 */
  75449. { { 0xb547200a9bb37cabL,0x0f91bad87af4fc99L,0xb714d3e6695a4975L,
  75450. 0x6f563effb9242c77L,0x6ee4ef17510f7214L,0x7119fbcc1b9f9343L,
  75451. 0x0fd99faf8ce55139L,0xa9595dd66c1d1f5cL,0x0000000000000149L },
  75452. { 0x78fa8f186fb6dccfL,0xc9458c1fa23f4d29L,0x3c91cd7025d83072L,
  75453. 0x05d221aa5d471830L,0x2c8874b90e7270b7L,0x88b5608741995b6bL,
  75454. 0xbfa1e6af9c1280d5L,0x47e5b560d7d76623L,0x00000000000001c0L } },
  75455. /* 26 << 329 */
  75456. { { 0x35456330801af096L,0x8f66380bcdef18ceL,0xfd31fa5e4d12da33L,
  75457. 0x931659924b9ed4a6L,0xc5112dc875c17662L,0x326d6659939112b6L,
  75458. 0xab1acfab4f3be3f0L,0xac364fbb2e4d4d54L,0x00000000000001a5L },
  75459. { 0x45c40db020574528L,0x6a6667eaf0339597L,0x6e4543629c83c9c3L,
  75460. 0xb385d150e06d9313L,0x3e135b18bcb29487L,0x5f5c63f833110b15L,
  75461. 0x5b0e0ba2c9488f2dL,0x9bc7194609682bedL,0x00000000000001f8L } },
  75462. /* 27 << 329 */
  75463. { { 0x3472744006e20becL,0x7fac38c38c7ef888L,0x54d2cd7ecae2f3e3L,
  75464. 0x8d4cf97a5064f2a7L,0x3db5cda7e928fb60L,0xa7a160cf6269afa4L,
  75465. 0xd3612410e4aee8e2L,0x1a72c3961a2ec9d6L,0x000000000000000aL },
  75466. { 0x95a203bdbd1ee880L,0x22c099e645b639cbL,0x67dd291643ae9aadL,
  75467. 0xdad086a4aa05dfd7L,0x8b832fd8c468741dL,0xd3b83b4b3b45c4c2L,
  75468. 0x99c4a32791dd0c79L,0xee55689e99f169b2L,0x00000000000000fdL } },
  75469. /* 28 << 329 */
  75470. { { 0x15b283fd125d84a3L,0x56aeb34bc1890bbcL,0xd3b9d608a09c584aL,
  75471. 0x0c2cb39dd4cb3bc0L,0x46db0f67fc3cc700L,0xf5cc2708db50f7dcL,
  75472. 0x5795e7521f0867f2L,0x7cc9145f0427b3cfL,0x0000000000000178L },
  75473. { 0x2fe532cb31e66ab0L,0x2ac67713eee69b01L,0x38f6d515d77ed9feL,
  75474. 0xf275c56a2118c560L,0x21a9c7f00fdc638fL,0xc50b3c693254e3f3L,
  75475. 0x8fbbc2505f950b32L,0xf7122780014ae500L,0x00000000000000e9L } },
  75476. /* 29 << 329 */
  75477. { { 0xdd3ec700226f04ecL,0x0df90c19482e80e7L,0x68dc1e01c63dd9a2L,
  75478. 0xa4f28e23a15fe774L,0x565f36a73ca7a790L,0xafb1eabf67ad7df7L,
  75479. 0xd0cf7ff0d1c1da4dL,0xaeff6da8edc5e910L,0x000000000000005cL },
  75480. { 0x3c053168041b88a4L,0x988833f5df29cc86L,0xeed26f752ed77d58L,
  75481. 0xf7f4788983991f9bL,0xa1271ee5e35e68a2L,0x312e0d918f01ec3cL,
  75482. 0x839f1a84dea08bfeL,0x387d533914668886L,0x000000000000002fL } },
  75483. /* 30 << 329 */
  75484. { { 0x3e48d19e46fa0eb2L,0x3c52023de9765fc6L,0xee7c3a58ac5628c8L,
  75485. 0xcdc6dc5fe06e780cL,0xda092f8a33c55394L,0x3f53c57f6eb9b6e2L,
  75486. 0xa2f3321bbbf66534L,0xf14d50d72a650a3cL,0x0000000000000116L },
  75487. { 0x6e9f43d0f6b86d3bL,0xd845899a16fcfb74L,0x9ab03ba416f965f3L,
  75488. 0xbb61b4a2cc21c1baL,0x13f64e24d547c4e9L,0x484e226bb2b9ce9cL,
  75489. 0xddbc2681a05d3c18L,0x3c16171abbf49b24L,0x00000000000000aaL } },
  75490. /* 31 << 329 */
  75491. { { 0xee38edb2dd1bbe51L,0x80e6050243f2c49bL,0x74c3e9d891622e00L,
  75492. 0x5a8bd3cd4047f50bL,0x4dd146c4f8cdd703L,0x91e38765ec128a35L,
  75493. 0xaf641c18735f735cL,0xef96fbd12fcab7adL,0x000000000000000eL },
  75494. { 0xc3cbc6ca45287b7eL,0x55aec8fea1ac0f00L,0x630fa637af6e4abeL,
  75495. 0xd83b22d2587d5779L,0x84fa662a50afa01dL,0xbd8dd789b19f62afL,
  75496. 0x490ccda6f64aefedL,0x5008037e4af86aa0L,0x0000000000000164L } },
  75497. /* 32 << 329 */
  75498. { { 0x446b17b0e695916fL,0xb3b0dcebf9bd8da6L,0x6c76c3ce5ff86aadL,
  75499. 0x0785d5a20cde74d8L,0x2ce9fae12bb7ae7aL,0x87cd05685f32e59aL,
  75500. 0x8e229326e1598559L,0xa0bad54e34edfb01L,0x000000000000015dL },
  75501. { 0xa54529c20e1290b4L,0xe7c719cab795dba1L,0x68cac3a5109b4740L,
  75502. 0xb032bd2ba68e8e4aL,0xce03d9321658337dL,0xb39d102ecc95d9dfL,
  75503. 0x79838d96be248c98L,0x02562708d7df0b44L,0x0000000000000127L } },
  75504. /* 33 << 329 */
  75505. { { 0x65202498cc143cf4L,0x09f80cd704445898L,0x54fe51bec4f61a5eL,
  75506. 0x29013981597d0979L,0x13b63add19e0ee5eL,0x1ea5e689341200cdL,
  75507. 0x1bea4d3663d7514eL,0xe7d322f47b46f902L,0x00000000000000a6L },
  75508. { 0x349b1972cc60de8eL,0xed79aafaa2075005L,0x88f0a5b6004f0314L,
  75509. 0x8c0738bc46dee06eL,0x870acd790b63003aL,0x64a1205ca367811cL,
  75510. 0x8aa20bebd4a99dfeL,0x5f8eba3fc39ef513L,0x000000000000013bL } },
  75511. /* 34 << 329 */
  75512. { { 0x4cb51584855891a5L,0xfcd86f0188f33a98L,0x9ca889eb8e39e929L,
  75513. 0xc0a5ca46bdff8628L,0xba14fbf09e965cefL,0xce2474e21b5cb8ceL,
  75514. 0xde7d528bfa459a1bL,0xd741fd3992785092L,0x00000000000000dcL },
  75515. { 0xeb956f25ddbc488bL,0x29bacdcb6682a201L,0x03cbba50fb38ad85L,
  75516. 0x0687794318ad03f3L,0xccb0a078e746ec1aL,0x4518bbf1c6d1f10eL,
  75517. 0xf769f2dc1f59b213L,0x3b8b1035e24118c0L,0x0000000000000123L } },
  75518. /* 35 << 329 */
  75519. { { 0xa52e2eb373c6ed28L,0x3cbcd662c077dde7L,0x0a2b9b2967eeb3d8L,
  75520. 0xcd61f644d697239bL,0xa934b899cd0e9bdbL,0xaf89b6ed95b01dfcL,
  75521. 0x7cf64dadc1fd5fc8L,0xf9ed347799099fe9L,0x000000000000006bL },
  75522. { 0x473364deca19dae8L,0xb33f7926c2de1948L,0x9f77368bc9fef6ffL,
  75523. 0xe9d364e3aa467f92L,0x825ebc2192bb93b6L,0xb348b9bec4932331L,
  75524. 0xd66d94ed152467b3L,0xb6970ac7bb4591fdL,0x0000000000000028L } },
  75525. /* 36 << 329 */
  75526. { { 0x18584526dd5eaf27L,0x316d5c3591e8b4c8L,0xf0515b605b8d3ddbL,
  75527. 0x5b64260a45525bccL,0x4f05352788d9435eL,0xa92426af7aa1b06eL,
  75528. 0xac351063a5dc466eL,0x5b9ea7dd575a1f35L,0x0000000000000187L },
  75529. { 0xaca204a297772298L,0xdcd6314ff757e252L,0x2f9c3b40aa5ea9b6L,
  75530. 0x1cc338f109311e8fL,0x441c170303512e14L,0xd1da2ca59c64f91eL,
  75531. 0x9730d382c7ddc586L,0x84cea67d55dc73e9L,0x00000000000001e5L } },
  75532. /* 37 << 329 */
  75533. { { 0xbbc4e624ee3271b5L,0x6b5e21b6fe977a0dL,0xa3265ba66d0452d6L,
  75534. 0x1ec78dd87baf2b08L,0x2c05e3122eebc034L,0xaa1b947bea4f5ad2L,
  75535. 0x94f4933a06ebc241L,0xed58b946d50bb167L,0x000000000000014dL },
  75536. { 0xaec8d2b31be81ae8L,0xd86c6d69b3d0e22eL,0xa1ac5934c12c7d6dL,
  75537. 0xcab83b6a54faf69aL,0xdde77363c47d62b7L,0x71f0a7769d919c14L,
  75538. 0x5606c72bfbf2ab5cL,0x453a2d5d9db0d55dL,0x000000000000006dL } },
  75539. /* 38 << 329 */
  75540. { { 0x998d5368a9b51f22L,0x1f15d19ff477ab5bL,0x37442775d68c28bdL,
  75541. 0xd64687ec2c0cd5c3L,0x90e88caf0f326169L,0x35fe08e939109538L,
  75542. 0x32f70606af2c556bL,0xc6fc69bd96a5aa0aL,0x0000000000000095L },
  75543. { 0xff2f1fcae1d825bfL,0xabd7283905cc4840L,0x5e6ea842c3ceac94L,
  75544. 0xa37eb05d7bf5800bL,0xc7e8cd9218feb383L,0x2cb64fd5a0e35725L,
  75545. 0x14c7de98f5b53b67L,0x8c6f364a3280ab21L,0x000000000000004dL } },
  75546. /* 39 << 329 */
  75547. { { 0x052a61531ef9be5dL,0x2ce3b605a27b942cL,0x2d1982cec7a50a00L,
  75548. 0xd2ab12fc3938c01eL,0x1aba919ad4e38b6aL,0x6464772967f6c405L,
  75549. 0xcacf20a9efd8f7f1L,0xa8d90b0f84d73009L,0x0000000000000170L },
  75550. { 0x20b77432d6e9b843L,0x47d93d17d9df2d13L,0x15ac011057912081L,
  75551. 0xa24fc7094dbc99b8L,0xe2f6ba470ed28e94L,0x6a9d4bb1e81889f8L,
  75552. 0x48035db36831c638L,0xbc7f16c9b7b511f6L,0x00000000000001a7L } },
  75553. /* 40 << 329 */
  75554. { { 0xa39d4ac8162dd91dL,0x5704769322e67a01L,0xdfe57f997c446028L,
  75555. 0x0f49df77d131a2c8L,0xc8f26682f7f779bdL,0x1696655818e884f1L,
  75556. 0xc5d9d516f390907bL,0x23356e77617f5f5cL,0x00000000000001edL },
  75557. { 0x5e6830b9679deabaL,0x18bcc37f9fd1a70eL,0xfa84e86272225892L,
  75558. 0x2e6cd938c610763cL,0xc179376a671378eaL,0xe3b844b5f502ea1fL,
  75559. 0x74a390b75fb4dc36L,0x51f019400ed8d535L,0x000000000000018fL } },
  75560. /* 41 << 329 */
  75561. { { 0x829f07763b84874aL,0x43871c3c629f0068L,0x67ea591aabb86558L,
  75562. 0xcd9d158842e26ff5L,0xe790b7b4b87fc2b3L,0x8fe0b1aded7d3f58L,
  75563. 0xbd60a61ed9c77f0fL,0xfdc080c3779dd449L,0x000000000000013aL },
  75564. { 0x2a1419e0e10dd216L,0xc53633aedf69bf09L,0x8750156c554560f6L,
  75565. 0x45d18d5211057cd2L,0x668e9f5d6bc3b095L,0x23c0ca2bbef1182bL,
  75566. 0x66b5954e307147d4L,0xb55897fa6582e607L,0x000000000000001dL } },
  75567. /* 42 << 329 */
  75568. { { 0xc560dffe49b36a45L,0x93e588366b8574d5L,0x8181236440ae3131L,
  75569. 0x0b7a1cc90adbbe10L,0xf0300653f9d147a1L,0x74bd55b4db6ee70fL,
  75570. 0x04f147f86856ffd7L,0x62a12dea5e8fea8dL,0x00000000000001fdL },
  75571. { 0xe387062af295523bL,0x3c88bb54562c7c5dL,0xc1c6d25554ab4cb0L,
  75572. 0xa2aa7dc600ede737L,0xf102965348769099L,0xe7fb6655931dbf6eL,
  75573. 0x9b7f1bca63b027c2L,0x1a04490be25853c3L,0x0000000000000061L } },
  75574. /* 43 << 329 */
  75575. { { 0x2cad6e8e7d7a3311L,0x192637a101d2ce9dL,0x54408f763b09d1e0L,
  75576. 0x056fbb0e6c9f1c9fL,0x5d86dd60e8a73041L,0x3cef3dc1649edc73L,
  75577. 0x2a5855721c3a9234L,0x6fc27608d555c011L,0x00000000000001f1L },
  75578. { 0x084bbef69c34f177L,0x3e28813737096f4dL,0x4d163b57a397ab9eL,
  75579. 0x2b50f5310e1e07c7L,0x8440e162a93ad09dL,0xe8e444632593df14L,
  75580. 0x197660292b20316fL,0x90ef0d967f635186L,0x0000000000000190L } },
  75581. /* 44 << 329 */
  75582. { { 0x30ac47e8f7a5ad23L,0x9c7749b063788eb8L,0x74b0ccb37ba11421L,
  75583. 0x95738a0b1c6a3f64L,0x0aae5fbe05110374L,0x53cfe62bc0c6e8eeL,
  75584. 0x0c56162d6af02414L,0x3257726d88eb33eeL,0x0000000000000148L },
  75585. { 0x3f56ab59dcbe894fL,0xdc75f5e0bd7699eaL,0xb8f7d880e6f78aa8L,
  75586. 0xffbb24f65e5e8d85L,0x7833e090f2011756L,0xcf9af908a0349a95L,
  75587. 0xd31658498856a70dL,0xfaf01d021845a0d6L,0x00000000000000e9L } },
  75588. /* 45 << 329 */
  75589. { { 0x8b9b44f29e4685aeL,0xef81af6a7b8cf6f7L,0x8adef463de2bcbddL,
  75590. 0x1b69518ffcffa721L,0x561f0c5a405464acL,0xe28b2f168bfc6e45L,
  75591. 0x9172848b090e79c0L,0xe3c6092f2826d317L,0x0000000000000129L },
  75592. { 0xd95f1d0b79a9a188L,0xceac08db1f69871cL,0x93a8b01280b65e91L,
  75593. 0x48d3e503ce3e8c95L,0xed2ceabcdf74d29fL,0x71220652c2119809L,
  75594. 0x4bb4bca76642cbb1L,0xd228abd74d461a6dL,0x0000000000000122L } },
  75595. /* 46 << 329 */
  75596. { { 0x13cbe9d39086d901L,0xd71e1a2890ec6eabL,0xb8ae9ebb66472a41L,
  75597. 0x4e3a88fd205e2c55L,0xab212c986f72621fL,0xcea45a44e27bb1b9L,
  75598. 0x9056afc557d42873L,0x9d2d273bcb3c220bL,0x0000000000000056L },
  75599. { 0xf13ce2c9170143e2L,0x1f44bb4286d61f29L,0x005bf7e894eddae6L,
  75600. 0xc24a3c91c0d3e2fbL,0x553b308db50ea90cL,0x9e779eb0a6c0a0ebL,
  75601. 0x8d8a0321d980d46fL,0xba0df44d582cf028L,0x000000000000015fL } },
  75602. /* 47 << 329 */
  75603. { { 0x44c65a3ddcd99092L,0x68e73d6682c4c760L,0x19c50c79b8ca4e79L,
  75604. 0xbd60adfb0971debaL,0x0bfa8cc333ecbf46L,0xb178da302146a1a7L,
  75605. 0x1e60002d50fe9c55L,0x6ec488ea055d5140L,0x000000000000018fL },
  75606. { 0x79affabd184acae0L,0x7fb90a1c9869ee93L,0x2f1f9a663466f356L,
  75607. 0x02a8273d4ef8be31L,0x8ba3132741874651L,0xc56ff44fd2483813L,
  75608. 0x5efdb725a6e5448dL,0xaded563f0992ce80L,0x00000000000001acL } },
  75609. /* 48 << 329 */
  75610. { { 0xc9a88248ca91f6f4L,0xa368fd8ac7d5acc8L,0x33d9fd5ccea11e10L,
  75611. 0x0af2f470816de633L,0xe78e8101ac186f1fL,0x0d97de7d5e3c4857L,
  75612. 0x9346af7407946bb1L,0x81c2bd5ec7044ea9L,0x0000000000000003L },
  75613. { 0x04c2eda3696d947bL,0xc3f988f301efa843L,0xe839587792f22674L,
  75614. 0x376972a2c83396c7L,0xaa679a3144f2ad2fL,0x61a46ebc3112b6afL,
  75615. 0xbda02ce0c6b3224fL,0xb42aaba7dd4c7b77L,0x0000000000000060L } },
  75616. /* 49 << 329 */
  75617. { { 0xfd99ddf3949f1e54L,0x9e37bc9a42c74bcdL,0x667e6412b528c0acL,
  75618. 0x45b8bbdceb560efeL,0x2605f758266eae0aL,0xd45cba357019456fL,
  75619. 0x1e7abac6b80ad6eaL,0xccb23c42ba18ec32L,0x000000000000004eL },
  75620. { 0x3e3b6948e4a456abL,0xe98cc81ccdfaf3a2L,0xc3a78e4acfc4cf5dL,
  75621. 0xcf981aefe80c61daL,0x4423a07d0a0699bfL,0x80a93eef8c2fa65fL,
  75622. 0xe7396c7f7cac8832L,0xd9866a7b731d27fcL,0x0000000000000042L } },
  75623. /* 50 << 329 */
  75624. { { 0x8d452f698f1ef9c7L,0x87eccf87baea3098L,0xfc3204e24903728eL,
  75625. 0x35db9b5ea004f3b1L,0x6094bdc2ebb31480L,0xfae255eb95e7fa59L,
  75626. 0x59012cfcf0cf198fL,0xc7622600b97968b3L,0x00000000000000beL },
  75627. { 0x477ee91af42b1d5cL,0xf8a49e41b38f6e92L,0xc194985a0f78930aL,
  75628. 0x829ec9f4fa14de02L,0xfe13d75852882268L,0xda34194f3e1e5ad2L,
  75629. 0x0eec2380dbbe0391L,0xa33de0d430cc7f21L,0x0000000000000040L } },
  75630. /* 51 << 329 */
  75631. { { 0xab573086122f0868L,0x76c0316c261b14f7L,0x83bf61c4050c5fd4L,
  75632. 0x41ca4dabb9bab773L,0x8071890301138744L,0xe790898da00fb373L,
  75633. 0x502ad727a7ee4925L,0x4f02eb663990928dL,0x0000000000000086L },
  75634. { 0x73860d4fb81fa334L,0xec04cbff2fa2a1eeL,0xda93b91043041addL,
  75635. 0x2fbb81e1afc62072L,0x3534caef06e6fd7aL,0x38c3238d9bcc1697L,
  75636. 0x4ef619b141f85807L,0x97e4cb5432d5853aL,0x0000000000000140L } },
  75637. /* 52 << 329 */
  75638. { { 0x78dba3df1b03222aL,0xf9a19f4df743b0a5L,0xd9025fc728786953L,
  75639. 0x974c35dd0e75b160L,0xec2ad730190ab6e7L,0xb9c3d4efe7417b0dL,
  75640. 0x0e19df5b715a93ceL,0xac4cd49c6cb2d8e0L,0x000000000000006fL },
  75641. { 0xff2080ed69898bd3L,0xc0e345b7e724b25dL,0x4632246b33da2d5bL,
  75642. 0xa031381d832ae2aeL,0x38d4d94fa7bf9935L,0xd7ca7e55f30d34fdL,
  75643. 0x5ddbe112c9320a7aL,0x69fa155ed90e6170L,0x00000000000001fcL } },
  75644. /* 53 << 329 */
  75645. { { 0xf3fcd3f329070358L,0x61bcf6a94766608dL,0xae11489bfdc834a4L,
  75646. 0x153265f486fa8a4bL,0xb39af52a03431002L,0xeb126ae4c8551498L,
  75647. 0xd606f364aed87f5cL,0x38f70cbcb9361319L,0x00000000000001e3L },
  75648. { 0x6b1582752f3d2eedL,0x1e8d787cc83309eeL,0x4e7802fda22933fcL,
  75649. 0x98a126cb4e0120dcL,0x1701b21f14accf81L,0x94d92ff6e9dd2425L,
  75650. 0xeb6c98e6deda42cbL,0xea752ae39a83bbf7L,0x0000000000000088L } },
  75651. /* 54 << 329 */
  75652. { { 0x74c7966431e64320L,0xa73a381035e3541dL,0x1ef1544db34c3f57L,
  75653. 0xf71aa56d9a16c02bL,0x42d6f0ef06f35f04L,0x674e853d76201cd4L,
  75654. 0x4d416adc0eaadc1eL,0xe5434f2af51ddd7aL,0x000000000000015bL },
  75655. { 0x6a5d1969438cbc53L,0xb97f4776646e4cc8L,0x79f5d3dc66273332L,
  75656. 0x93fbdc3b3afa59e8L,0x0c142dfb9af35764L,0xa27741a2a47ac0b1L,
  75657. 0xd3a0f40d48383b7eL,0x7d05a2c010bffaaeL,0x0000000000000087L } },
  75658. /* 55 << 329 */
  75659. { { 0x32bec69a22d06febL,0x20b57b7bd6ed9f30L,0x65ca9046547cb8e3L,
  75660. 0x689788bd1f69889eL,0xa4cfd9a0d2378606L,0x94db81ec364645eaL,
  75661. 0x554dc20ad90cf501L,0xfda49475b0075c45L,0x000000000000000aL },
  75662. { 0xec832a2b513eebf3L,0xa3810d026f4c8dcdL,0xd92de6469737c052L,
  75663. 0x32f07ce28b7a8178L,0xdc9adea7f8e7ea6dL,0xb078a52bd7e3c857L,
  75664. 0xf70c3ad51cdd8d09L,0xebe8bcc6aa541cccL,0x00000000000000b0L } },
  75665. /* 56 << 329 */
  75666. { { 0x8879637b3d70360cL,0x053c278f72f41087L,0xcc895e1ff07f009eL,
  75667. 0x4c9b8c6468db6690L,0xb45473981b97dac5L,0x0399cac8af65ff38L,
  75668. 0x295e09141fd0a6c0L,0xab605fcd871bdefaL,0x00000000000000d0L },
  75669. { 0x3f2d42975ad63582L,0x28fda2bbdc7d3a40L,0x7f14436765672d9eL,
  75670. 0x9322ab082937e8c8L,0xf351279faf748929L,0x63a624f5149d6f5dL,
  75671. 0x3351f4ff989f5325L,0x0456187bbc7dd8d9L,0x00000000000001b1L } },
  75672. /* 57 << 329 */
  75673. { { 0xfcbf34524112884dL,0x7112c9ea903f7279L,0xa82dea538dfd3bc4L,
  75674. 0xad4f103abbd451a6L,0x49d6cb3f59f7f2f3L,0xffe87f02c526bf33L,
  75675. 0xf2b85e4ed9e6c585L,0x7c5777c158b38628L,0x0000000000000120L },
  75676. { 0x250a9befb4b57ef8L,0x3b872628b7cb867aL,0x35b111a51a879fadL,
  75677. 0xcfd5cab5f73c98b2L,0xe484a6f6312c4749L,0x84f719e11c8b573eL,
  75678. 0x83edb875f8840f86L,0x915e1ef95d2dc42fL,0x0000000000000064L } },
  75679. /* 58 << 329 */
  75680. { { 0xa77f1d5f92bf4853L,0xcd9ce94099447d87L,0x4cd274fcba386d27L,
  75681. 0x075c64605c0cdd46L,0xfe26dec8d7583ed0L,0x4c0a447759e4255cL,
  75682. 0x247938de6aef2ed9L,0xd8dbd48a3d227000L,0x00000000000000f2L },
  75683. { 0xfb51bb52916ce89dL,0xb7997a98092acb0bL,0x94bbe9d8ac2e55d7L,
  75684. 0x899feb11827bea20L,0x469b4834919b2a7bL,0xc994c41b1dab85a6L,
  75685. 0x8479555ce43d5b1dL,0x6635657f3b0925c0L,0x00000000000001c8L } },
  75686. /* 59 << 329 */
  75687. { { 0x81a0c97ada91e249L,0x5e1e5d32838076e9L,0x389ca1e02c7cf349L,
  75688. 0xde81e23cbb367fc5L,0x926f32b9e5e4a732L,0x061a6b8f92c1b204L,
  75689. 0x6e5faf35ed97ed0fL,0x4e1d4d170caf4fd6L,0x00000000000001b7L },
  75690. { 0xc8dc770aa4583241L,0x12e4ecf1e1ef9744L,0x099f111cf7d6264dL,
  75691. 0x2b2307382e6772a8L,0x65cf0a517f27f826L,0x8ba92657ed871105L,
  75692. 0xe9d1d3f5887e4295L,0x5cbeaefe4562fb6dL,0x0000000000000190L } },
  75693. /* 60 << 329 */
  75694. { { 0xeb7316a61a0dfca9L,0x12d74d0102113c17L,0x518499bf8b72396bL,
  75695. 0x8151dceddcf70010L,0xcea6bb1168208deaL,0xa1127162501ab541L,
  75696. 0x3b35298f471895d1L,0x1e43d852103950f4L,0x000000000000009fL },
  75697. { 0xe259a9b2a01e30b4L,0x8af1dc7b7c0b94bbL,0xb1020ba1b8d2d163L,
  75698. 0x91d4953f11932c5dL,0x393b1a0c79689ea9L,0x42222ff8a18ad561L,
  75699. 0xad03a6dbdeccde82L,0xe2a11f661162399eL,0x00000000000000f9L } },
  75700. /* 61 << 329 */
  75701. { { 0x6bc7b50525db69deL,0x4482b033d8b4b0e3L,0x52fe701dcc9e8d21L,
  75702. 0x050c4edfc61dbddeL,0x7c631930d20dc520L,0x123db30c2e5b2f60L,
  75703. 0x2fd7e1ec35d20b9cL,0x8385cf8e2644151dL,0x00000000000001afL },
  75704. { 0xb885a30bcc451719L,0x21c65d8e47e67d5dL,0xe971a878fa2b6a6fL,
  75705. 0xa60fa1b2838c9aeaL,0x4efefeb5e4efcd77L,0xee35b7474fc48efbL,
  75706. 0xa95f3beaa06a6906L,0x371c74645e0e6ebbL,0x000000000000019fL } },
  75707. /* 62 << 329 */
  75708. { { 0x5c59edc157066b91L,0x08407d6cc76fa7ceL,0xb3f0b31abfb5115dL,
  75709. 0x54a04e6483f65955L,0x8f95167b035d326eL,0xa0eebe160d24f491L,
  75710. 0xb1a1caf05e5b0ffbL,0x802645e2d08382c2L,0x00000000000001d8L },
  75711. { 0xcc8f65eaca39e065L,0xea7e6b2a6df057d1L,0xa725e7f64dbc48a2L,
  75712. 0x60f36a0fd5c8d0dfL,0xd2adbc8c8f0cc4ebL,0x5cf276c19f0c2849L,
  75713. 0x77ade71c8cc56dffL,0x77f04f45d35bc65cL,0x0000000000000121L } },
  75714. /* 63 << 329 */
  75715. { { 0x927e172adf84476cL,0x850b77b9a02bc731L,0xb6ccc003cfd20fdeL,
  75716. 0x43ff11ca335e3da6L,0xf5fcebf888b42166L,0x08508ffce90a7019L,
  75717. 0xaa50439e5c4b02b0L,0x64666563af1407d7L,0x000000000000008aL },
  75718. { 0xf0361fa97015d2adL,0x06c10c06c3f6d10aL,0x6b30ce607a0b50adL,
  75719. 0x905727d44499ab51L,0xadaabac64b4ca19eL,0xb97d87dff24f4c97L,
  75720. 0x9bd3bb9db808e478L,0xc0476491fd5b3b47L,0x00000000000000dfL } },
  75721. /* 64 << 329 */
  75722. { { 0xfab6fa734e185ee5L,0xec85b9edf15957d4L,0xa978adbd72ba04e7L,
  75723. 0xc7e3107e7986fb14L,0x0e97063de37740b4L,0xf26f51c225e29918L,
  75724. 0x66b9445312e6f22fL,0x6617deae68090e9aL,0x00000000000000a3L },
  75725. { 0x86595b1dd2dafd33L,0xcca6cd7ff3c234faL,0xd24847edaac709ccL,
  75726. 0xbe089df8fc689536L,0x4fdcc1dc367bbbeeL,0xc2592739a01bef50L,
  75727. 0xff4d427aa53d6b64L,0xd3ddc2bc47d9af89L,0x000000000000000dL } },
  75728. /* 0 << 336 */
  75729. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  75730. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  75731. /* 1 << 336 */
  75732. { { 0xadf5e06ea79cb073L,0xcb46aca98bf180e6L,0x5bf0d9eb835f8e22L,
  75733. 0xd692cd207713f3adL,0xa33e9d7ff0d87f74L,0x9f2b6950f602a362L,
  75734. 0x27a4c70bdfa4f77cL,0x99c699dd3c56080aL,0x0000000000000105L },
  75735. { 0xdfb1b25595338fa8L,0xabadba3ad59e754dL,0x2338452b436e70fcL,
  75736. 0x34cfb5b2e07a21b6L,0x25ddb684f81ea5a2L,0x98f463c0aa325fc8L,
  75737. 0x963bbc8094aeb02eL,0xa98fe976434ab9faL,0x0000000000000188L } },
  75738. /* 2 << 336 */
  75739. { { 0x9a7fc933204a966eL,0x7c1c59150d9680ecL,0x0643609730415e73L,
  75740. 0x574b06528ea44e8bL,0xd35d1340f4b8fe58L,0x81ddd1f4daa40ca5L,
  75741. 0x5c908486ac09937bL,0x467dffa614c180deL,0x0000000000000034L },
  75742. { 0xe6f97acc8000602eL,0x2650e9570f527147L,0x3af58dd97c3923e6L,
  75743. 0x67f7102e69f5cafdL,0xf80e76c00ecb60fcL,0xd3441285197f6bdbL,
  75744. 0xdeed257a52050b0bL,0x8c28afea0703c0efL,0x0000000000000052L } },
  75745. /* 3 << 336 */
  75746. { { 0x2ea6e18456500523L,0x566ccdd0f44d63fbL,0x8cc0208db01114ccL,
  75747. 0xdb7bf61311e5dd4eL,0x65e4263eff83d7b1L,0x12d2924cd6da83e9L,
  75748. 0x093bd19078380401L,0xd2835bdbff97c4f9L,0x000000000000013cL },
  75749. { 0xd3ae4c901d8e9521L,0xe2c92a4c42dc5bbbL,0x478e934b8c96057dL,
  75750. 0x0e526187ec6155f7L,0x3aca950d2bbe77d5L,0xe7edf96a6e492364L,
  75751. 0xfc039fd22fe76745L,0x68dfce9653928c27L,0x00000000000000f3L } },
  75752. /* 4 << 336 */
  75753. { { 0xab482b76e225fbd9L,0xd561f4cdd3c33a7dL,0x18813777ccb2f003L,
  75754. 0xa163377524cebce8L,0xddbe587d16adb540L,0xbc0d225f79e133cdL,
  75755. 0x8fa3d30032a4c54aL,0xded1ece4243dc5e5L,0x0000000000000024L },
  75756. { 0x94ce92a3ffd4b7ddL,0xeac8e7a15a8efbd5L,0x0c842c3fa9dc648aL,
  75757. 0x19172f460d286101L,0xc8681e80beca770aL,0xfaaa1ab4a8795d3bL,
  75758. 0xe8625d4663944868L,0xe13004f94f3254ebL,0x0000000000000104L } },
  75759. /* 5 << 336 */
  75760. { { 0xb0fece2bb7f3d4b1L,0x8b6168aa47b042fbL,0x207d9b0f01658a57L,
  75761. 0x52deebf25cf0bb71L,0xc678dcc72fc808a8L,0x8bea9d0975a39999L,
  75762. 0xf26b5d2b7042c5a7L,0x58b1d1bbdbe12667L,0x0000000000000120L },
  75763. { 0x10cf0b69d821c3eaL,0x045a9342c684e985L,0x2245c17f56babdcbL,
  75764. 0x7859852ab40c5f7dL,0xcbc11caf35b36fe0L,0xcbce03baddc4abe5L,
  75765. 0xfa4797269e11ee36L,0xc70cf89a8b993b9aL,0x000000000000013fL } },
  75766. /* 6 << 336 */
  75767. { { 0x2e911bb30d9ea003L,0x50503fd6dd7bbb56L,0x23780725f43c710cL,
  75768. 0xf3854bc2d236028aL,0x0bb0cd7085f08816L,0xaf2ba06878e34910L,
  75769. 0xb0ab1008558b8babL,0xe0676170e24955dbL,0x0000000000000049L },
  75770. { 0xe2b0161a87b571f5L,0x1676b3346209d9adL,0x402122ece2f86308L,
  75771. 0xbd0e364487d6f082L,0x587ef7c464747111L,0xe8edfeec8f3386a7L,
  75772. 0x2b70f9333a489db5L,0x819e1d7c442a278bL,0x0000000000000025L } },
  75773. /* 7 << 336 */
  75774. { { 0x731be59d6ee24007L,0xe96884c4b97efd86L,0x9e4a2bbecf73d698L,
  75775. 0x7820a2d72ef12084L,0x1ebbf048c5692055L,0x707194dac1b300f9L,
  75776. 0xf45fe3fec0d5dc37L,0x20cb9bf6df061c3cL,0x0000000000000000L },
  75777. { 0xef76e09349841247L,0x7e963d5c5673eee7L,0x135d2ca7c5eab79fL,
  75778. 0xf0d3ac04ceeb60e6L,0xdb33fc361d07b5f9L,0x37ef4405f1443ae5L,
  75779. 0xe4716fae6ec33bd0L,0x3a6e33a14fd6f657L,0x000000000000003fL } },
  75780. /* 8 << 336 */
  75781. { { 0x6f01c26104e188ffL,0x0d9bf057c7ff2e86L,0xf9cd2dd6c8e36163L,
  75782. 0xbfc6200bec1562e8L,0x735836b48afb5102L,0xb7a29e92035e1ed7L,
  75783. 0xb16b14ca5f2e5924L,0xa77550a628630d59L,0x0000000000000032L },
  75784. { 0x7b4bc3ef7418d27cL,0xdf5c38b623b67adbL,0x168d61e3ea3713c8L,
  75785. 0x806f95491abd92f8L,0xe806ab7b98eb3239L,0x47f49e50f09b81cbL,
  75786. 0x4324da1706fd5ba3L,0xd54dc8613193dd6bL,0x000000000000003cL } },
  75787. /* 9 << 336 */
  75788. { { 0x9f88ff35a3d49d3dL,0xe4284139fce247f8L,0x6c4d5c7af9dcb985L,
  75789. 0xfbcf4fa1161d138aL,0x2704ef59a06a95f5L,0x2a277e200d0e4d15L,
  75790. 0x3105f965c5de8f83L,0x10fd313deabd284eL,0x0000000000000133L },
  75791. { 0x308bbdee0774ab51L,0x3e273e4200f231beL,0x843c53d8f8392927L,
  75792. 0xbbae99a3c0007797L,0x110b8e4ce1f84317L,0x456790c6e26fc087L,
  75793. 0x13144322bf6798e3L,0x35d44ed5217a52ceL,0x0000000000000020L } },
  75794. /* 10 << 336 */
  75795. { { 0xd7c148b3841f5e75L,0x4fb757644b5442a4L,0x95e65524dcdfb2dbL,
  75796. 0x2265e0edd3446c55L,0x7d95f3b17a24cbddL,0x852beaa10567103dL,
  75797. 0x48c62a902808760fL,0x5f872492fc689aebL,0x0000000000000065L },
  75798. { 0x11fa99ecd6740dfbL,0x0b028e97621f47f7L,0x2a75276c3b2a21bcL,
  75799. 0xbad738bbb779b390L,0xa178ac3072cf8732L,0x4c515b788ef8ebc9L,
  75800. 0x5a411714b745b0deL,0xb7c566faf0341a62L,0x000000000000008aL } },
  75801. /* 11 << 336 */
  75802. { { 0xad24d78c5774fc6eL,0x0ae7e57b8dccc508L,0x92d4a44ce70f8e39L,
  75803. 0x3915c8eb837de2f6L,0xf7fd688854dd047aL,0x13bcad45d1bbd515L,
  75804. 0x86e766a1302bee43L,0x788ea08a0986a53aL,0x0000000000000188L },
  75805. { 0xe0117403716f966cL,0xf2ff910991cbdb03L,0xb30a2a3cf6368671L,
  75806. 0x29d49766adf90b6fL,0xe7333e2338d741c7L,0x11995ae97e584997L,
  75807. 0x0f46aad3bbc84668L,0x98ad5a3f89992582L,0x0000000000000197L } },
  75808. /* 12 << 336 */
  75809. { { 0x42814ac122ff19a0L,0xde569bc8b27c568eL,0x1d08a1226ada1db1L,
  75810. 0x3a3fde2e6e513dc5L,0x29c0813b1f856f5bL,0x13d3bc840b6cb7dfL,
  75811. 0xabba0aba2c40bc67L,0x1fb6edcc8a718cf5L,0x0000000000000072L },
  75812. { 0x806a0ca2b312563aL,0xbb056c4891380b70L,0x0c90364b0a157f24L,
  75813. 0xf79016c3d9e3f68dL,0x8d12edf88944a622L,0x333d61b31ec7abdcL,
  75814. 0x372a693d50bded2dL,0x08bad7dc2dfefccaL,0x0000000000000081L } },
  75815. /* 13 << 336 */
  75816. { { 0x95aecad65c1c6ddcL,0xdd32cd749ae10bd1L,0x81882ab6a84c69dfL,
  75817. 0x8a7d8cbe8838d94fL,0x099ad520bcc1300bL,0xd63bb039c30e4469L,
  75818. 0xb3bef31417356877L,0x48fea9063238c2d5L,0x0000000000000047L },
  75819. { 0x772aa8f68e8fbfbaL,0xe852c8f15845a5ffL,0xf1355ee5a907e9d5L,
  75820. 0x18c0ba0e5ba624e3L,0x32a3b125b72c700aL,0xe4e19fe46afd2a5eL,
  75821. 0x08009bd907e95944L,0x14a813f019294091L,0x0000000000000106L } },
  75822. /* 14 << 336 */
  75823. { { 0xfd9946a699102917L,0x62df6a373c73b904L,0x9998064f29c4664fL,
  75824. 0x626c7d71a38aeb0fL,0xebb4ba2d9ddbe513L,0xfb7b78301d72725cL,
  75825. 0xc1314481e4c19372L,0x90c5ec66ed09077dL,0x000000000000003cL },
  75826. { 0x05bccd2f92b2ca1eL,0xffb71e3f55d4157cL,0xe4913c2eb5edf4e2L,
  75827. 0x185eb955a96247b1L,0xd70ff9614d7924b3L,0xe6ebce13ed6c45f0L,
  75828. 0xcbb30c53786c10d3L,0x37b6a2f2137354e1L,0x000000000000015dL } },
  75829. /* 15 << 336 */
  75830. { { 0x4d82915996367153L,0x60562a5910e88061L,0x2b2c480b942bd412L,
  75831. 0xc015240fefbbe7b6L,0x363ddb1df084fba3L,0x21739dffd1c2f9eaL,
  75832. 0xbf972d6fefe1ac54L,0xdfc5ff12edbef772L,0x00000000000001e7L },
  75833. { 0x2f0a919a39250f37L,0xca4b3f9711cb4bddL,0x85909ebfc15252c3L,
  75834. 0xef2421d0f81d74c4L,0x7f8a45d7faa5d679L,0xcc97e0caaf2c27acL,
  75835. 0x11fa8448f0393356L,0xd0727c3b091f3a2fL,0x0000000000000098L } },
  75836. /* 16 << 336 */
  75837. { { 0xd17bc05981fe2fbdL,0x8247a0c7cdfc711dL,0x973eab2f63ce74eeL,
  75838. 0x270a6bdc4191b5f1L,0xe21afb51637f5917L,0xa84e71c550326c7bL,
  75839. 0x14cef332f30c35cfL,0xff0e5f89b7407d5eL,0x0000000000000011L },
  75840. { 0x7b23a55df8b6b176L,0xbc660c66c679c536L,0xad82144a897fde1aL,
  75841. 0x5082037d545baf12L,0x4bf2b1174448059fL,0x59c25c1bf1e8c52dL,
  75842. 0xc01a4b8d8e030e69L,0x45077803229951c1L,0x0000000000000184L } },
  75843. /* 17 << 336 */
  75844. { { 0x06ab930118ba92b8L,0x0ecfb20658c698f5L,0x0d07b9580c53b831L,
  75845. 0xeb8bcf504c6b8a70L,0xd6aa30dd46cfe9a3L,0xc0373457e824156cL,
  75846. 0x14ae78702b281201L,0x3c50eefa57c56e20L,0x00000000000000cbL },
  75847. { 0xcd4eac45dc159da0L,0x3e09b24db817f40cL,0xb1a9ddb4f1ce719aL,
  75848. 0x27e01e5ee7c528a3L,0x6d3effe69f1aa448L,0xcc3ea2c66c529ff2L,
  75849. 0xf2ad16d9cf1095a2L,0x8497e6bf6795d3f1L,0x00000000000000d0L } },
  75850. /* 18 << 336 */
  75851. { { 0x5936402fea46c7b7L,0x611f48a4c8e292fdL,0xc9178953b1ef5c93L,
  75852. 0xf8c3b0bf45132752L,0x6f60ee45243ba68bL,0x7aae87523de7945bL,
  75853. 0x9a2526667e5b0f06L,0x39503fed24112340L,0x00000000000000e3L },
  75854. { 0x8479c73c64655be9L,0xd3c0a16e00645b62L,0x4e71df09fbe33ac9L,
  75855. 0xa0dafba123f21934L,0xba16e195a3689496L,0x0dea634e05508b68L,
  75856. 0x6855cfe25ebe2694L,0xec373e0b7d85a1d4L,0x000000000000009eL } },
  75857. /* 19 << 336 */
  75858. { { 0xb8c3dacd4ca0c4d1L,0x8424abd597274623L,0x081fba1ddc429d00L,
  75859. 0x4ea6805c77022b62L,0x09561cf5610a6c42L,0x06bcb6857c4d0400L,
  75860. 0xbf9d4591ee3eda1fL,0x6bee800bc391cf2bL,0x0000000000000011L },
  75861. { 0x5e41cb27c0611ef1L,0x7a25441cc7cd8245L,0xc5bd725ca22201aeL,
  75862. 0x554ff12ef99102f4L,0x55ea06a484c51d6cL,0x93cc43c1fa4d3a28L,
  75863. 0x1e930d0e95158c18L,0xdbbd3924f3aca4a0L,0x0000000000000064L } },
  75864. /* 20 << 336 */
  75865. { { 0xa929ab929b4fcaa8L,0xbd15698f18c196a7L,0x52ba54d9ed6b3cd1L,
  75866. 0xaedec8263afce3d9L,0xc26a7b6aa7a05e27L,0xbfacb969c40091d7L,
  75867. 0x73f5ccaec8fc6e07L,0x7fd306960a44e5f9L,0x00000000000000b3L },
  75868. { 0x00ddfd1f2a5bedbeL,0x417d4298c591c174L,0xf91f5a4c55f96920L,
  75869. 0x3a6623d3936f7a6dL,0x9b67aaf628dd7721L,0x5bdda9995184915fL,
  75870. 0x14cb50bf61a502deL,0xfbb382b2f0d3a5f1L,0x00000000000000b4L } },
  75871. /* 21 << 336 */
  75872. { { 0xd2e51c02358407feL,0x379ba801aa5d1f95L,0x78805d1d433bee43L,
  75873. 0xc8406d4e30368d9eL,0xf1afbc18181d8bcfL,0xe1b5418dedcc02caL,
  75874. 0x594140aade21f349L,0xc935edc90960aedeL,0x00000000000001d0L },
  75875. { 0xb4bac9577c6b52f4L,0x193cae40a1f988eaL,0xd3611a5686c73777L,
  75876. 0x8861119d10907a06L,0x4080e88e97c5aba2L,0x13d48f856177a63aL,
  75877. 0xd98a14637d1505ebL,0x712f5704345cbb1bL,0x0000000000000145L } },
  75878. /* 22 << 336 */
  75879. { { 0x9602183a8656a9dcL,0x38d9cf9914e10f6aL,0xc4480df1af352f91L,
  75880. 0x312a0ee97284509dL,0xf8f1609428a89368L,0xdc60750c394fc38dL,
  75881. 0xa45097b8c4b076ebL,0xebc69f19188f7500L,0x0000000000000011L },
  75882. { 0x0b82a33debf35521L,0x38cfc247822af398L,0x7e47262408ea1a06L,
  75883. 0xdbf9ae15ca3b03b0L,0x992f77515b8ec4c3L,0xa2d4411d491fd8aeL,
  75884. 0x00e5457f6d6707dbL,0x91e79e34a3d679faL,0x0000000000000123L } },
  75885. /* 23 << 336 */
  75886. { { 0x729069f3c2aac2e0L,0x0a3cbdbdcabc2ef7L,0x1ac994e853919f9eL,
  75887. 0x988345d28f722950L,0x6c446036b3eaed7aL,0xc8d1ea591af32590L,
  75888. 0xcb555a29c5f0298aL,0x2245dadc5a95ddc9L,0x0000000000000003L },
  75889. { 0x28b43e4040fd5df9L,0xa37c16c1700ddf94L,0x57f4770188bdd8cdL,
  75890. 0xe46cf6913a7b7b20L,0xc2982480151c16ecL,0x064d58699ab5b911L,
  75891. 0x282e068b1e2e9b4eL,0x8bce73305ca7880fL,0x0000000000000079L } },
  75892. /* 24 << 336 */
  75893. { { 0xb8f663eeba7642c0L,0xd6de3ffd8e5f9f42L,0x5f7a9a7bb661e29aL,
  75894. 0x43e035a5e709fabcL,0x115ff746d241f6feL,0x9aff188d3a889406L,
  75895. 0x35a4d29a00ce6f54L,0xa43706eb19542e2cL,0x00000000000000d8L },
  75896. { 0x6d4d00fe5307c22eL,0x97c82f0ac02f495fL,0x23857399a4563bb5L,
  75897. 0xf5ad0f92e621b072L,0x5e28217f73ed71d6L,0xb850554f7c532cb8L,
  75898. 0xb75dcba289b00deaL,0xa9252801fabb05cdL,0x000000000000016bL } },
  75899. /* 25 << 336 */
  75900. { { 0x113df94b7d7ca596L,0xd0d81f973a09c4e0L,0xfdf25b6dde5f749aL,
  75901. 0xb7a9ca9ff56f6819L,0x4e227c423c76e2adL,0x8f568606fb0c6c74L,
  75902. 0xc68a1311e7d75727L,0x3cae257ea97c6a06L,0x000000000000003eL },
  75903. { 0xb8fc17b67c4eec48L,0x859ababb5c2177e3L,0x372a76051058469eL,
  75904. 0x82bc83878198208dL,0x362b7058289b96d9L,0x008fdbb14b1ff834L,
  75905. 0x6754a93e001b5d35L,0xaf0588963cb788ecL,0x00000000000000e6L } },
  75906. /* 26 << 336 */
  75907. { { 0x7f0b78bf7e8da44dL,0x6bc7705a76e657e0L,0xf62df055522bd33bL,
  75908. 0xcfa310d2d5730259L,0xdb3c752706babe9eL,0xa53c9580c5b35c93L,
  75909. 0x88a085faa6e6210fL,0x2436bc42bfbb2a0dL,0x000000000000011eL },
  75910. { 0xfa99d4eddcfc0929L,0xc08653aec8373758L,0xdd402a641820eaf3L,
  75911. 0x8fe28a88991a187fL,0xb2a8d2aa14e3031aL,0x5d15745af340b738L,
  75912. 0x03f304abb5d057bcL,0x42b9c992b2d32a29L,0x0000000000000130L } },
  75913. /* 27 << 336 */
  75914. { { 0x7bf6c878e6f3697dL,0x0da60fe25286dc50L,0xdaf811cf4427b675L,
  75915. 0x21263e1a63b81439L,0x6c1588eab23ad5d6L,0x67ae668ecf30a50fL,
  75916. 0x019d2c48dedb60c5L,0xcfb3ef72898225efL,0x000000000000010fL },
  75917. { 0xceb271fc50d5ad72L,0xc590aa97a684a6a0L,0xf0c51ceb97b0397cL,
  75918. 0xb0abb09c6f549db0L,0xb04b4898b6adf961L,0x4e5b4948ec0602ddL,
  75919. 0x892d411e95a537b7L,0x613fc8af84b4dcaaL,0x0000000000000166L } },
  75920. /* 28 << 336 */
  75921. { { 0xc9eb8a3732462315L,0x91893c7c6e4e47afL,0xc2c9569bf9bbc7b4L,
  75922. 0x656b2ce30314c0e0L,0x90b866af7e012597L,0x235d7f2adf853ba8L,
  75923. 0xce824693266a534dL,0x3b362419b30f8251L,0x00000000000001cbL },
  75924. { 0xf5c990529df9422cL,0x261a1d31ab69da5fL,0x29ac221f2d225cd4L,
  75925. 0x37090fc6ae4cec4cL,0x257983637417f8bfL,0xcd19cb04f6898caeL,
  75926. 0x98580a0a75239b7aL,0xd1a38556e19c424eL,0x0000000000000025L } },
  75927. /* 29 << 336 */
  75928. { { 0xc4b2e4321ec0f9bbL,0xb6d9c02b4f72792aL,0x692936bcb7745461L,
  75929. 0x70c8d81bf16ed29fL,0xfaf6602cead1e3f4L,0x9ff71ca731f17e50L,
  75930. 0xae87c59b5a4f7187L,0x8103cc5ccbbded31L,0x000000000000013dL },
  75931. { 0x973df81487cb1debL,0x8d733cccf3e31541L,0x3f9a0a7bd66e3904L,
  75932. 0xd9deff68e1a92726L,0x15118a0f9a57ef64L,0xfc1e37f6a079c288L,
  75933. 0x1f3b8593d66e3a5fL,0x2f41c9df69904b4eL,0x0000000000000130L } },
  75934. /* 30 << 336 */
  75935. { { 0x2438afa71bfa8266L,0xe42c4d707aca9c58L,0xed95a6df3a0b8f82L,
  75936. 0xc63e62418c218d8dL,0x17cb1bcf4a467ea9L,0x00add391e6a13b32L,
  75937. 0x84f65ead54bca5fbL,0xf3a6b748d44c6849L,0x0000000000000077L },
  75938. { 0x46a9ffa49a19a7a0L,0x0e8a201247152131L,0xbf3cce1b9e569e70L,
  75939. 0x8ad6f57ecc68962aL,0xdea8fc4929a6daaaL,0x71a147d711e9686fL,
  75940. 0xb705d31d21d2ae96L,0x6bab44926ad7409cL,0x000000000000008aL } },
  75941. /* 31 << 336 */
  75942. { { 0x3bcbec5b43f1bc6dL,0x82f1c117e173ff5aL,0x86732bfc5f7bbae2L,
  75943. 0xb369f7b53b3a68bfL,0x09723468dabd0f05L,0x536a17524466eb28L,
  75944. 0x797ce5a43d685bdbL,0x5c6904da797af4d5L,0x0000000000000112L },
  75945. { 0x0125dc59b2365e89L,0xe95c31e5e6b036b9L,0x025da8ff1bd84808L,
  75946. 0x980320c96689aa70L,0x7a7cf8959ce14041L,0x09fc1e84eddb13a6L,
  75947. 0xa562767a27a54095L,0xdd0ed2f995de4423L,0x0000000000000023L } },
  75948. /* 32 << 336 */
  75949. { { 0x6a55868f11c50119L,0xb78abb45c7912bbbL,0x00ec6edcf2598660L,
  75950. 0x45b396bf3b330dddL,0xf1e1b15d430b461bL,0xd7d7ad1de8c572adL,
  75951. 0xc236b2601ec38412L,0xb668a33699889cf7L,0x0000000000000109L },
  75952. { 0xe39ab64b0bf6ef3bL,0x83496baeb87b2f04L,0xc9a9009ddd04f4b5L,
  75953. 0xcd813e028fbed8dfL,0x8766407ed49842feL,0xed08303dd72a0525L,
  75954. 0xed117dd7b47e882eL,0x62ec57f744ce2e25L,0x00000000000001a9L } },
  75955. /* 33 << 336 */
  75956. { { 0x2f7726ba8e8a63f1L,0xb0c2ad66ecb3ae83L,0xe57a64b99accb54eL,
  75957. 0x79eb94ce3968e980L,0x1030ec413a04e7daL,0x60900b75ae88b7fdL,
  75958. 0x6a2b74e30d22ebeeL,0x93e1657222357db3L,0x00000000000001c6L },
  75959. { 0x0cbe946b8feb2f46L,0xeebf1e20d5d78ad9L,0xbf52e57dccc955e2L,
  75960. 0x03ca5245a84019c3L,0xd83c5de77390eec9L,0xdfb17932c7ca0529L,
  75961. 0x4408ddc221cf2ae0L,0x4b217712bd878077L,0x000000000000010eL } },
  75962. /* 34 << 336 */
  75963. { { 0x19c2fb35e68bfa93L,0xd194609c6be8cd17L,0x3d5bac21c0950167L,
  75964. 0xc6f452ad320fa097L,0x5efbc350c519d010L,0x04b5f5091ce6ff40L,
  75965. 0xbc81371fd33d1152L,0xec1882e91ec5cbdfL,0x00000000000000d8L },
  75966. { 0x389fdd4ad929e151L,0xbc3bf1fc30b376ceL,0xb57789146458a81aL,
  75967. 0xa1b02703bd08823bL,0x6e0bafc8b8ead9bbL,0x05009a9da4a6510fL,
  75968. 0x788cd68402719b2cL,0x4abb7c12f4eaace8L,0x000000000000015dL } },
  75969. /* 35 << 336 */
  75970. { { 0x924834880d6e1420L,0x0f6b842f02a9e525L,0x5f195b9ef2c23ed3L,
  75971. 0x872b7dab188c8a40L,0x6ea520e57a05f397L,0xb84f6f52a8318cf3L,
  75972. 0x7c20f13cb4ab7198L,0x94c07e8634d193fbL,0x000000000000007fL },
  75973. { 0xa665378f640101c4L,0xf718aba2f23d6880L,0x7feaa46ae39f34ecL,
  75974. 0x0c5e49bc45be61a3L,0x6c9e53e91d1097bbL,0x1f8311795b9afba2L,
  75975. 0x7c91abbff68ea497L,0x84c407ffcfb9359bL,0x000000000000010eL } },
  75976. /* 36 << 336 */
  75977. { { 0xf66002a7532cded3L,0x12ae6fbd9b51ba09L,0x1877c71151a4511fL,
  75978. 0x75a3a374b468daaeL,0x09f3fbee0866ffb3L,0xfb535b7479a0e5ffL,
  75979. 0xa9f20777119d443cL,0xb0d45806818ba850L,0x0000000000000089L },
  75980. { 0x9ebce29758c4764fL,0x25239275d673bbbcL,0xb8e731d526a3b9f5L,
  75981. 0xe00ea0a81b7a1218L,0x64e38615251ebaceL,0x1861ba0c43c768d9L,
  75982. 0xabffeab0faa8388eL,0xd7a8dc7e036e9163L,0x0000000000000138L } },
  75983. /* 37 << 336 */
  75984. { { 0x3a548ee6767f67e0L,0xf43995d96e7381e8L,0xfc613affe3f4fa78L,
  75985. 0x75b8421853a88ca2L,0x4efc41a4a34d77d8L,0x67704b6c6dfeccc9L,
  75986. 0xb6301c73ad702b28L,0x2257dc83b0bd12c7L,0x00000000000000c6L },
  75987. { 0x01f144891820d290L,0xd2b2e7b74b212d5aL,0x2372e19e203ffa93L,
  75988. 0x7847f736afc48e54L,0xfd061aa2b0d47790L,0xeb5d269c56107e9dL,
  75989. 0x90e172f6f400c123L,0xf13bd3b9a924ac2aL,0x000000000000014aL } },
  75990. /* 38 << 336 */
  75991. { { 0x2f1e5d38c7d8a5a9L,0xc812dad7d2f00aedL,0xcccd0e9be04e41ecL,
  75992. 0xac5b0abd217a004cL,0xb1332777129d0219L,0x7ec641f09f912102L,
  75993. 0x53d6db38ef3b0f35L,0xc9d6b3cacabcfc1cL,0x00000000000000bdL },
  75994. { 0x834b4b341b206ac7L,0xb6e4bc6ba8a9615bL,0x024f9e7d83fef8fcL,
  75995. 0x659a16fd427d6556L,0x56c796186ea415a4L,0x26b75d757aa919acL,
  75996. 0x01522021d880f489L,0xa250d22c6089862cL,0x00000000000001d5L } },
  75997. /* 39 << 336 */
  75998. { { 0xd90132009928e628L,0x1193d8578046a060L,0x4121d1e40ce4e473L,
  75999. 0x4c4d212253cd7702L,0xcd42376919823037L,0x696394e8b5506010L,
  76000. 0xbd26c4266e10bcceL,0xbb15eb862869fc0bL,0x0000000000000148L },
  76001. { 0x24e36d1ce3895fb0L,0x99b1202f62a2e7adL,0x7be82d41360abc5dL,
  76002. 0xaa8b30afe64dda1fL,0xa5c5cdf693938b09L,0x8a0d8440db48efedL,
  76003. 0x17db9cab6dbdc7c6L,0xe0f3f1a778477ea9L,0x000000000000014fL } },
  76004. /* 40 << 336 */
  76005. { { 0xa35909198b52c773L,0x76609450fa34c84aL,0xcbc53186e1eb0e17L,
  76006. 0x4f1f328a93f87b38L,0xad5a48aaf3e70effL,0xb90942f9338873f4L,
  76007. 0x8d9018db7c92f220L,0x883ee17010edbe69L,0x0000000000000090L },
  76008. { 0xacbf26d4352788caL,0x6e1134413124e676L,0x8c23d996bf850dafL,
  76009. 0x8781a364b318b4f9L,0xe9ccfb474366d53fL,0xc36fddcfa2522307L,
  76010. 0x0d9d490f5c18063fL,0x70e6946a7c772f22L,0x0000000000000021L } },
  76011. /* 41 << 336 */
  76012. { { 0xceb65c253265473aL,0x0848d8c109e9c600L,0x7a1d52b5da02fa2cL,
  76013. 0xc9d059a187ee1d9bL,0x6fc44d08796f782dL,0xc986ddc0de4faa1dL,
  76014. 0x7ae99e1cdb221bbaL,0xecce252439e934b3L,0x0000000000000145L },
  76015. { 0xebf9741ec8b2e015L,0x8291788dcc2829e9L,0x85e30cb4b92d367bL,
  76016. 0x6306f633d498e495L,0x982bf2b64b7d0e51L,0xec78717623b5ce39L,
  76017. 0x13813e58d7dbe278L,0xf35d5ab7de0b9f48L,0x000000000000010aL } },
  76018. /* 42 << 336 */
  76019. { { 0x3465a55880b2842bL,0x69ae8ee5fb5c4ab4L,0x0f60b67f1d9d3c2cL,
  76020. 0x43c637aba61d5441L,0xebb11af2616bb3beL,0xb233d60c8ebb368fL,
  76021. 0xfe78b8e8e666a6bcL,0x40c89e61199647bfL,0x000000000000017dL },
  76022. { 0xdfd02f7d1a7e4004L,0x67ea0f94f0db6c8fL,0x75fb799d0b25ec12L,
  76023. 0xbf15842512e0b07bL,0x6232d56ccf7cb388L,0x62852eadd2b1cf35L,
  76024. 0xdebdf566d4d5a337L,0xd4224257c5d68925L,0x00000000000001f0L } },
  76025. /* 43 << 336 */
  76026. { { 0x3b3b236a2705c8ecL,0x18e596fe8f9ca382L,0x6cef674b595529f9L,
  76027. 0xdd4d79e523afaeb2L,0x96b687668c095755L,0xc20d270322f1303eL,
  76028. 0xaf55fa652118e930L,0xc1598fdb6ab3adddL,0x0000000000000007L },
  76029. { 0x8c72b53a9f7ec947L,0x230c6c33ea8256afL,0x3631364728ff1428L,
  76030. 0xedd1a1d226269503L,0x35142f60f50ad51dL,0xfb1597d3365f7d6aL,
  76031. 0xc0d5b6da40fb6f18L,0xc3cf67973fa48c72L,0x00000000000000e4L } },
  76032. /* 44 << 336 */
  76033. { { 0x7d59c3f4712ddfbdL,0x839dd63f84f37f9dL,0xb7d4176f102b47ceL,
  76034. 0x91549e3ab3e2d34eL,0xf82494656176fa4eL,0x34cef89d534e8a88L,
  76035. 0x5752810fd05652fdL,0x05878d59e8109c08L,0x0000000000000045L },
  76036. { 0x83e223e70f9b0af9L,0xd4094717d8b7e4e9L,0xfd6789140f16428bL,
  76037. 0x39782a1591a6f1c7L,0xfc637c567d10b525L,0x396ce1a419b2719dL,
  76038. 0xe3c112a59d21f5baL,0xcc9423b1fec40d42L,0x00000000000001e6L } },
  76039. /* 45 << 336 */
  76040. { { 0x9918e21421c67dc6L,0xbbbe96db3ce73d10L,0x646749af353facceL,
  76041. 0x4471d11f941a1ae8L,0xdce491d8254be83dL,0x2a734d2b06044c3cL,
  76042. 0x015bb26f33e90f68L,0x2986a9179b397235L,0x0000000000000000L },
  76043. { 0xf2bc225392d0328bL,0x3cf80ec41c01f96eL,0x7059378025f2b93fL,
  76044. 0xe218c28f8caa3c34L,0xed5b3b01acf08f85L,0x78e7130b675abf03L,
  76045. 0xdc164f62e61ea709L,0x5e9bcdafe7cce590L,0x00000000000001d7L } },
  76046. /* 46 << 336 */
  76047. { { 0x7dd978412969cc46L,0x464f831465c2a193L,0x0f0814d7556ba73cL,
  76048. 0x4e0b01c2a746479bL,0xf769a86a222abae4L,0xaf204519b06949abL,
  76049. 0x219f3dd4bc0cae6aL,0x41e7fd75bb04e014L,0x0000000000000111L },
  76050. { 0x8c81a4171b4685ecL,0xc2cdc2fb56fcf448L,0x047f00b60ffe70b3L,
  76051. 0x4fb3e96353c0b627L,0xd6eb99c304092d40L,0xcef9e712824d32d6L,
  76052. 0x22438fe0661c9073L,0x1d24b9508b5d62a6L,0x0000000000000179L } },
  76053. /* 47 << 336 */
  76054. { { 0x776548c41646b926L,0x5da803c6cbd4f251L,0x9fb4cbbdcafbff5fL,
  76055. 0x136e5ab46b1967e8L,0xbf3187c655c2cc0fL,0xb5cb7010ce03caffL,
  76056. 0x75f960d74cba3a38L,0xf1f7da468c4de719L,0x000000000000008aL },
  76057. { 0xaa9771cf8e145328L,0x955607127e9c7154L,0x7576c566c54ac3ebL,
  76058. 0x83a1cc22b9565637L,0x65a033e85f237916L,0x0fc5b3076eecda9bL,
  76059. 0x6a8a26805a6bbbc6L,0x3f5df88eace3f66fL,0x000000000000011fL } },
  76060. /* 48 << 336 */
  76061. { { 0x8ee76fb84b60e7d4L,0xcdcf289366df99e4L,0xf0a8087980648b08L,
  76062. 0x3c499205ae3ade6dL,0x73d8d03503d4984aL,0x4fcd2c1ce21a233cL,
  76063. 0x0b5c1e89bf51ca1cL,0x1b7a009f237792d1L,0x0000000000000116L },
  76064. { 0xd2dca97044961ef0L,0xd5a6fbcba97a7b6aL,0x5e6da5975a4f98c9L,
  76065. 0x2421c548bca536b6L,0x7a591af11f7ee8a4L,0x320308818a8817c3L,
  76066. 0xd98a21782af67257L,0x31fb8f953828bbddL,0x00000000000001cbL } },
  76067. /* 49 << 336 */
  76068. { { 0x2fe629cce3886eebL,0x703263920694724cL,0x42ea1744001fde6aL,
  76069. 0x285ba5fcb4b7c99bL,0xa7474f9203317986L,0xfa84421405f64263L,
  76070. 0xe64e02dfea76091bL,0xe5356b2ddff26696L,0x00000000000000e7L },
  76071. { 0x47e54d6513506a2bL,0xb66069948dd04445L,0x86413fcafda61d05L,
  76072. 0x58a825310779b2ebL,0xaeebe93899414dd7L,0x838add05bf1cc63dL,
  76073. 0x98cbe079d98429d5L,0x7416b93677ceb9ceL,0x00000000000000d5L } },
  76074. /* 50 << 336 */
  76075. { { 0x196b992f7903265aL,0x3f8c505985ac43caL,0xa0542a9832f558a6L,
  76076. 0x34493872f8f15c20L,0x8422611411ff2331L,0xaaa95263dad5aa4dL,
  76077. 0x5ba3c89449618a2bL,0x7114cb67ffb0b7afL,0x00000000000000ebL },
  76078. { 0x22896ed5c413488fL,0xb68be598e59cf5a3L,0x8aece01d5a9f0b73L,
  76079. 0x5ef6ef9fe44bf3c7L,0x276042132e665544L,0x5cbaae365b4fb862L,
  76080. 0x2bc1f35ed164d7b8L,0x353fe76e05a5405cL,0x00000000000000c7L } },
  76081. /* 51 << 336 */
  76082. { { 0x5c6259f3f2bd866dL,0x74f730eb67f990fbL,0xeda67791bac84b24L,
  76083. 0xd77e5d5ff0d8e9e1L,0x997d32d627f0633bL,0xe26e2cff845bd85bL,
  76084. 0x214962750bcec89cL,0x615c7f755ab41a61L,0x00000000000001c5L },
  76085. { 0x5b5e76ff238ba9a4L,0x5a66c41f6342061aL,0x036bd57b984949baL,
  76086. 0xb8bd4d4c78893803L,0xade10dafc8bed951L,0xb17d2e19dd61db30L,
  76087. 0xa36f13476346eaccL,0x43ef15d396e37846L,0x00000000000001c2L } },
  76088. /* 52 << 336 */
  76089. { { 0x2e82f2e8fc7dfeebL,0x4351215c52c20206L,0x3b7875804be6deabL,
  76090. 0x480d4e87e24e7b8dL,0xbc1e73e71a2fee06L,0x9ee62e8dbbe97079L,
  76091. 0x729883c30c65ff12L,0x7d79b4450d40e7a4L,0x00000000000001c7L },
  76092. { 0x0040e8251338a343L,0xd46631e703c25efaL,0x69038f5ec8d68911L,
  76093. 0x5cdcc85d67efed4cL,0x7bc6c0d960dec282L,0x0ff1944dc69bd184L,
  76094. 0xe9c1f924840c0a85L,0x8744d9a243df13f2L,0x0000000000000039L } },
  76095. /* 53 << 336 */
  76096. { { 0xffb073725731b8dfL,0x55b50655528162dcL,0xb06b7e4fbaf43a0aL,
  76097. 0x2384151f3205c2ceL,0x2fb3a0ff0796e15eL,0x145b6de137a2080fL,
  76098. 0xa7fc63f1eb9e8ed7L,0x282c8eeddbb2c666L,0x00000000000001deL },
  76099. { 0x797ac3c0cdb70b94L,0x9ed6c19f8afe775fL,0x959e53d08fdf4354L,
  76100. 0xee3422904c6cd016L,0x878e3ce6da3d2171L,0xf91eb6cc0c0ecd98L,
  76101. 0xa4c9deb0352ddefbL,0xe0fbf7404cd91881L,0x0000000000000093L } },
  76102. /* 54 << 336 */
  76103. { { 0xcf3ab1a8c06a14cfL,0xe1dab4729134a070L,0x02695c59d307b78bL,
  76104. 0x6ff63c8927584f96L,0x0f2d84c83591c925L,0xc3f41483aee8afb2L,
  76105. 0x9f1021819b9720d0L,0x990e1e26ecc16999L,0x00000000000000b3L },
  76106. { 0x3bd5760e1240a3f9L,0xf40840d9bb9c9613L,0xbee95c7dccb1cc9bL,
  76107. 0x094f695218da33f7L,0x116776dcb55c954dL,0x7d5820b102e92e9fL,
  76108. 0x06fb44a56ee9fb47L,0x35771a46baeb1c66L,0x000000000000007cL } },
  76109. /* 55 << 336 */
  76110. { { 0xd0440862ec99e2a6L,0xab4a43a33ba340ebL,0x12bae2691f10a256L,
  76111. 0x4351afbd77fa12cfL,0x940ca3c3316a9a8eL,0xda41cfb0e7e77bd3L,
  76112. 0x0fa1738fa142b7e2L,0x00fc2c8afc50ace3L,0x0000000000000157L },
  76113. { 0xb1d820d0714f689bL,0xe64117180c4c8717L,0x59083d80ba8d5ce6L,
  76114. 0xcc2f13ab5a3b4531L,0xaddaf07ad5a8ebbeL,0xba541abb21a54993L,
  76115. 0xbf86b7ca801cc68aL,0x23d9dae3b2f94878L,0x0000000000000107L } },
  76116. /* 56 << 336 */
  76117. { { 0xebe606acae034f8cL,0x818cdf076b6018d6L,0xfe55379b7608ef90L,
  76118. 0xaa46536f8ba09a70L,0xc013d0e9c8e4d932L,0xf6c3c883da15fbfdL,
  76119. 0x9d01956feee975bdL,0x12559e14ca159bd6L,0x000000000000013dL },
  76120. { 0x13cd63821aedc90bL,0x0702dfbdbb2ab040L,0x30b7ab23ff22a921L,
  76121. 0x5e348016544e103dL,0x478ca80b00ef78b1L,0x5f56249af37d1238L,
  76122. 0x330515a9222de97fL,0x415dc934b0a87d9fL,0x000000000000015bL } },
  76123. /* 57 << 336 */
  76124. { { 0x1c4d07047b5bd6a3L,0x48c3ef051b90b22eL,0x70a08c1f1a64461dL,
  76125. 0x4a04e537dd99999aL,0x150e2d2272551b9cL,0xce73d701f738d935L,
  76126. 0x0075c2f9282e466bL,0xd4fb74363bbfab78L,0x0000000000000198L },
  76127. { 0x4aa5ceeeb6af5e61L,0x3d5e02891ce71dfcL,0x4ec385390a795137L,
  76128. 0x26a82c384e4c960cL,0x853dfe6003e80d25L,0x05c38fe7f833c27fL,
  76129. 0xa0fc2cad0e5fdc8eL,0x651964f066b1409dL,0x0000000000000155L } },
  76130. /* 58 << 336 */
  76131. { { 0xbcd1b8fdcd2c882aL,0x972b6862b2561e9fL,0x0f3d3eed44ec7dadL,
  76132. 0x2f193dca33dd798bL,0x16923e1b3425be8aL,0x424ac2d0fcea5e3cL,
  76133. 0x04dae6a5d3088f6bL,0xb37290420a495a9aL,0x0000000000000191L },
  76134. { 0x233de0d8c36dd1b6L,0x4201b3dd8a627653L,0x193ee18fa4ba6c52L,
  76135. 0xafd48153da4125b9L,0x893c89d06ef2233aL,0x1181fc422ad683d6L,
  76136. 0x6e9a5811f22ee65bL,0x2b60ec5e843e7be1L,0x00000000000000c2L } },
  76137. /* 59 << 336 */
  76138. { { 0x6906f9196f71d92dL,0x05811b7aa400e02aL,0xad0a7fbeb1147b49L,
  76139. 0x14756b6e854e11a8L,0x2f1ae8e68e071b70L,0xa923d788938cf9e2L,
  76140. 0xa2798bc0dafa6f8aL,0x0762c1b7bcd2c30fL,0x0000000000000097L },
  76141. { 0x53c32ec5438538b4L,0xb81a76f9225d6abbL,0xa6bfdddb1596d571L,
  76142. 0xe7fdd67a7bcbfa9bL,0x90bcccd91136787bL,0x2407ce31ef192712L,
  76143. 0x89dc7c1c2656dcdcL,0x613cccda158f3d14L,0x0000000000000044L } },
  76144. /* 60 << 336 */
  76145. { { 0x17f4ae2fa457f66fL,0xdcbaaf86f7f9b42fL,0x63f9b6a4512eae83L,
  76146. 0x0e7005e8906c197aL,0xa6dbca2a47d9a62aL,0xabfc7eb772e1d3d5L,
  76147. 0x67a98eeb1f26cd4dL,0xda8b076a0cbf90e1L,0x00000000000001a6L },
  76148. { 0x6b0ad7ac20b776ddL,0xc866b4abfcd80552L,0xa61879f9df7a54fbL,
  76149. 0xed17d02b5d624997L,0xd91598090e81e750L,0x0950c09fb796dd7cL,
  76150. 0x2841052885acec3fL,0x951a064a247e3b6dL,0x000000000000007aL } },
  76151. /* 61 << 336 */
  76152. { { 0x92e45635293aa8cbL,0x632ad2cb47abe5b5L,0xa90124982269db7cL,
  76153. 0xb43095b71331e914L,0x4791600f7092ae50L,0x12270e800afa04b2L,
  76154. 0x6734fdca0a89a3b2L,0x703efce3cef04cdaL,0x000000000000004cL },
  76155. { 0xa3a0c24dac19c42dL,0x56dd189a4b3e8f25L,0x9413431f3ed8d5eeL,
  76156. 0xb4f9626ec0db57d5L,0x7991275b8d43d9d1L,0x154a82d9aca25085L,
  76157. 0x30d558d279af6d23L,0xc37d14ed0894d400L,0x0000000000000152L } },
  76158. /* 62 << 336 */
  76159. { { 0x8a52f15018291f3aL,0x0ba052fb8e4a18eaL,0xb33beb1850947674L,
  76160. 0x24e7295dda7960d2L,0x9c881fa7b4252751L,0x141a115777d3eeb7L,
  76161. 0x98ba241b6d50cac6L,0x6e7627ae87169304L,0x00000000000000bcL },
  76162. { 0x4d7bda103d0d4bcfL,0x22827deb008a4463L,0x0e52c2e79a70f90cL,
  76163. 0x6712a9fce39b6617L,0xfd8973c0505fe510L,0x11cc0de558c8409aL,
  76164. 0x210477f3c64f2cdfL,0x0e6e51af443cc0a0L,0x000000000000001bL } },
  76165. /* 63 << 336 */
  76166. { { 0x4e7381532c5b1678L,0xf1264efdf0c3ad21L,0xe6b67649c37f0993L,
  76167. 0xb3250481fdf7a6adL,0x34841e26d656f64eL,0x6c582f17eb5e5266L,
  76168. 0xe98350b4455c5d17L,0x58f8e6d373857797L,0x0000000000000156L },
  76169. { 0x43289122e842a3acL,0xeb6f13b743590803L,0xc62511d75946d265L,
  76170. 0x68a0c27f718aebadL,0x0105232e8a8e7627L,0xf5c3f66c62bbebeeL,
  76171. 0x8ed456985e690cddL,0x3eeacd862e990ee2L,0x0000000000000076L } },
  76172. /* 64 << 336 */
  76173. { { 0xee2f0d5e485da448L,0x1ed09705ff6f7ae7L,0x14eecc17280081ddL,
  76174. 0xa120ee797230161cL,0xcc768683ff269a0aL,0xf63e5dfc2a872fafL,
  76175. 0xbb5b1ae6acc10cb2L,0xd110650707a71c22L,0x000000000000007cL },
  76176. { 0xa17256895a78b340L,0xc8802d2a8d805b2bL,0x4f1bd019e62fac2eL,
  76177. 0xa1dd8419806b6762L,0xe6808f48a9223942L,0x50a99d62a6a1e281L,
  76178. 0xfa71344852fbacc9L,0x09e7a5fbb5d82a8bL,0x00000000000000c8L } },
  76179. /* 0 << 343 */
  76180. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  76181. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  76182. /* 1 << 343 */
  76183. { { 0x56b1560ac1c7ce9cL,0x619fddf45fedc58cL,0xe8d35dc7b59afa4bL,
  76184. 0x0c5f5ac8eda188adL,0x14d11e1b1a468155L,0x9a5fd6c91529288dL,
  76185. 0xf8b121d3e9da413aL,0xcd307365e231527cL,0x00000000000000e4L },
  76186. { 0xda248cc0f086ec25L,0x800ea7d4306b0d1aL,0xa5011ab86b74d50aL,
  76187. 0x68bad0af749befe4L,0xc1ad06091bbbce0fL,0x363078eb2727c718L,
  76188. 0x2e2e4aec18c61d23L,0x41f8fd81c84e4120L,0x0000000000000137L } },
  76189. /* 2 << 343 */
  76190. { { 0x9a579dee796de182L,0x6f780aa7f6fd67c5L,0x8e2e0d6d6c566337L,
  76191. 0xd8d685b5e5314714L,0xbc0bcb3a8099f308L,0x7127691f585ce610L,
  76192. 0xb1dd4f51fe15ed8aL,0xab542e06217bd3c7L,0x0000000000000183L },
  76193. { 0x67e189835f29dbd2L,0xf0092c9f74d67113L,0x3faa747c847dc935L,
  76194. 0x798604f27f5be1b1L,0xf766db9a8c76c26aL,0xa38d86f05c205ca3L,
  76195. 0xfec097778c6e65adL,0x1c2b356c156b3b92L,0x00000000000000d1L } },
  76196. /* 3 << 343 */
  76197. { { 0xfd161d574973e99dL,0x10ee5e335fd197b8L,0x931929e7e937363eL,
  76198. 0x3593ac90e29447f7L,0x69e629fa511c53beL,0xa9140acf40818adaL,
  76199. 0x2228aa6cdbc45f65L,0xdac3b76cb6956fedL,0x00000000000000b9L },
  76200. { 0x6f387c616730915fL,0x167ce892b42fb653L,0x88ae15d58258e7e5L,
  76201. 0x5b5467b445c89d8fL,0x4689f145d122a7afL,0x47c3167dbd359cfeL,
  76202. 0xbaa7f767939f7d23L,0xd2457722cf62d4fdL,0x0000000000000051L } },
  76203. /* 4 << 343 */
  76204. { { 0x40e2e814378740bfL,0x63a78984cbd2bd7bL,0x372e13db8a8dac87L,
  76205. 0xaf09f900f60984c2L,0x5fcb7a8e79dd89c2L,0x29b8a792ff667cb1L,
  76206. 0x9f8db873adaa64f7L,0xc52129f85dcc5522L,0x000000000000016cL },
  76207. { 0xa7c053bf00c4f4cfL,0x236a5b2399f2b4cfL,0xaa4e794a7d8f5dfbL,
  76208. 0x42752a2262ae7550L,0xbf731493b6aa180eL,0x4cfeb68e0c875ff4L,
  76209. 0x0c30dcd7e0c5141fL,0x3dcf620376da59f2L,0x000000000000012fL } },
  76210. /* 5 << 343 */
  76211. { { 0x95dd4eb5f8656474L,0xd4669a971cd62198L,0x0cc8ef1e92d0b064L,
  76212. 0x9dcf50884d3ec93dL,0x98579f40ebb7f117L,0x5d355b938f1d1f2eL,
  76213. 0x84b5a27e9e66bea0L,0x813076efea829073L,0x000000000000013aL },
  76214. { 0xc377cf528a995f59L,0x51d5d552504af77cL,0xe78a03839e855f7bL,
  76215. 0xc28dc8efd54d0003L,0xeca6acc485efd53fL,0x94835190e0a0125bL,
  76216. 0x26df5fda0ecfbf08L,0xdeb29864cb0dd7d4L,0x0000000000000046L } },
  76217. /* 6 << 343 */
  76218. { { 0xdfb64f02974d9b78L,0x31f9a91b41cce8d3L,0x34dcb6e34999e143L,
  76219. 0x01d57ca3739197eeL,0xc0f2108c78b9f00aL,0xadc6692c4a735404L,
  76220. 0x8358671e3bcc3b72L,0x3fc1ea7d6f09f3c5L,0x00000000000000e7L },
  76221. { 0x9c983854e86d270cL,0x4d51aa04ae44b27eL,0xff192db6d49c136cL,
  76222. 0x8b4eb830e0f2963cL,0x839723cc894608a5L,0x39df449cfd6315ecL,
  76223. 0xa65f47eff69010dbL,0xdf70203694f69bacL,0x000000000000017cL } },
  76224. /* 7 << 343 */
  76225. { { 0x98a217d8a7979eb7L,0x2f4859d405e2e911L,0x37ec784f9f43d39bL,
  76226. 0x6047068b55a35243L,0x2d40c1194be6cdeeL,0xa28ca46cc2d0a82eL,
  76227. 0xf3f91ea1e53f26e5L,0xfaa1f1ee0ad5a3d9L,0x00000000000001c4L },
  76228. { 0x8774d3bab3deb139L,0x94e79e50bfe48f58L,0x31425427b8a91318L,
  76229. 0xac77740efab106c0L,0xb496d88441a74a18L,0x45952361c5556450L,
  76230. 0x3d513f1474936fcfL,0x80f8d50ebe0c79c1L,0x0000000000000006L } },
  76231. /* 8 << 343 */
  76232. { { 0xb3eee6fe2a5a58feL,0xe8fac6485f1bd90cL,0x8c76159758fb2b1bL,
  76233. 0x58d5a7ec41103723L,0x33335bb4a9800518L,0xa2ded46025ed26e0L,
  76234. 0xa8996e7829e98932L,0x819f8f8bcdfb40d1L,0x000000000000006fL },
  76235. { 0xb8b1d0edb98e803aL,0x29fd31264620cea3L,0xea10dcb49eebe49cL,
  76236. 0x29b7b6999ad55911L,0xc77d33dbf0ca87e5L,0xb9a166ecfe915661L,
  76237. 0xc2ad03b0eccf8c45L,0x7b16346d053affacL,0x0000000000000082L } },
  76238. /* 9 << 343 */
  76239. { { 0x916fd08c8984d1dbL,0x7c7870365b1bf3d2L,0xe148da9f2b88ff97L,
  76240. 0xa962ff45ac7c4189L,0x7c1ecc275768d54cL,0x33da8d97d43156d9L,
  76241. 0xbfe05acc50f9f6c3L,0x0fd6737671323d62L,0x00000000000000ebL },
  76242. { 0xe45e1307c547c707L,0x3db010d28499f1ebL,0xeabff4004f388db4L,
  76243. 0x0b46757cb6041ecaL,0xca91315ebf746334L,0x5980424bd4445cdfL,
  76244. 0x7ccb2bb7482799ccL,0x9c9aa96e3129e0d9L,0x00000000000001b9L } },
  76245. /* 10 << 343 */
  76246. { { 0x5e6daeb491bf9e59L,0x9dc3d78928978a08L,0x8ba213793cf5ab93L,
  76247. 0x13e05a849f7f32d8L,0xca46a51d24d864cdL,0x49da1d0958f27ab1L,
  76248. 0x3d44ac191dd5bb6bL,0x14eb042f960ba63fL,0x0000000000000031L },
  76249. { 0x8c9a73c4857451b4L,0x61a5f60d29e1992eL,0x6b6cd67b1aff692dL,
  76250. 0x3b702f11b835afc3L,0x4270a9babfc9d3c0L,0x68c63f32ca0c7cc0L,
  76251. 0x841cf2826ea38e95L,0x85c69baf0d60d28aL,0x00000000000001eeL } },
  76252. /* 11 << 343 */
  76253. { { 0x45e6c6b23f5f1b24L,0x15c28586b7cce3beL,0xe985cedf965cfc87L,
  76254. 0x26747eb284cf2b49L,0x681700f7c15ce505L,0xe2d3e6344273ba87L,
  76255. 0x09e2e994691f61b5L,0x13dccaf844b47927L,0x000000000000014cL },
  76256. { 0x8c7d0330798eedbeL,0xe0e7fa0ec3f4951cL,0x99e5422f22ffa060L,
  76257. 0xa977fefc3e202a9bL,0x40d939b29fda521eL,0x49c677526e65acd9L,
  76258. 0xc17c3b685171db47L,0xda5735369cc9843bL,0x00000000000000faL } },
  76259. /* 12 << 343 */
  76260. { { 0x085d3a3cd827cc1aL,0x66ade8b0b0a2b341L,0x4b810c4cb68dfc88L,
  76261. 0x77fe410ee5230a76L,0x8426dd8e389a3a1dL,0x2dda407d7d94bcf3L,
  76262. 0x5c661465415e7675L,0x442edb73273f2602L,0x000000000000016cL },
  76263. { 0xe079d5bcb074acfaL,0xa72d9c62d08169caL,0xe1d49019f8828607L,
  76264. 0x6ec373632e99dad2L,0x00f11e7bc8707b4cL,0x8b3275a0face4dc8L,
  76265. 0xfd045d4660ad7b4aL,0xb59f6b352d870ba7L,0x000000000000005fL } },
  76266. /* 13 << 343 */
  76267. { { 0x8d68557b51272392L,0x5309f4ee45658c02L,0x3095b408efe64d18L,
  76268. 0xaa43cad23d85c797L,0x859fdd6a4466d136L,0x19522c68bdd1220fL,
  76269. 0x2def78829b8cf52bL,0x3374cc6bda0d3564L,0x00000000000001caL },
  76270. { 0x70ba7af1481ff4fcL,0xbfec18ace52060eeL,0x193045817332c570L,
  76271. 0x9bca275ae05313dcL,0x792532b3e4688a8fL,0x73a7088b2cc15270L,
  76272. 0x0d5f57a3cdd433a5L,0x53928b9ce4932780L,0x0000000000000119L } },
  76273. /* 14 << 343 */
  76274. { { 0x360e5a48a3d933ecL,0x0ab120bdf7bbea20L,0x30b58f9adb780cdcL,
  76275. 0x30736d9595285853L,0xd52795fb1b3839deL,0x61abb62ef74f223aL,
  76276. 0x7134f16b31f8ec5cL,0x716089459beced0dL,0x00000000000000a1L },
  76277. { 0xe346fc2d8d5e323dL,0x56aa6ef5ae6c4aa1L,0xdea1e40d130796eeL,
  76278. 0x7685efdcd71960e8L,0x07e19bb51040e1bbL,0xb89e54e64709427dL,
  76279. 0xb09e9978ab677ccfL,0xd155e8cae4e79e41L,0x000000000000017fL } },
  76280. /* 15 << 343 */
  76281. { { 0x37911cec263d9d14L,0xf47b2325e6c4d1beL,0xda885016f0147d78L,
  76282. 0x0885ca03887ecb3bL,0xed86eb282d186bfeL,0xbdc86af2532d79c5L,
  76283. 0xb383a5e811c79f33L,0xe07db5fe06434eeeL,0x000000000000005fL },
  76284. { 0x94ebda7ed0e9c38eL,0x890cbadf57eec5ccL,0x0307af50c3e7bb87L,
  76285. 0x7a736b3ad82a5ccaL,0xa11df6677ff0813aL,0xb6108387e88d8258L,
  76286. 0xbd705b30d4d86b60L,0x8236cf82dac7fb06L,0x0000000000000038L } },
  76287. /* 16 << 343 */
  76288. { { 0xc08891ef1f60c05eL,0xf9407f855915d764L,0xde8e7a4f0c96f04eL,
  76289. 0x6f2753d62cc9d658L,0x59c566b1ddd346f9L,0xf47b8329e3197938L,
  76290. 0x279a225bec0f1790L,0xd2001390302c441dL,0x000000000000001cL },
  76291. { 0x71f6e57c20ea5e7fL,0x12786ba3c8eccc18L,0x31bfeee7563adb36L,
  76292. 0x688bbe01c99e4db1L,0xc1a39c8458226d89L,0x4a23db6dd0436b3dL,
  76293. 0x9009c835bcc4a5d0L,0xb5765b5b4bc5e903L,0x0000000000000147L } },
  76294. /* 17 << 343 */
  76295. { { 0xe6b4a598aa1bedf5L,0x961741ea269742a1L,0xa70c0ead730beb27L,
  76296. 0x6630a4735b0951b6L,0x7705bf6ebe99d329L,0x72c5d355f107c12aL,
  76297. 0x3339727727eb0146L,0x88057c43805888faL,0x00000000000001efL },
  76298. { 0x0e50400725ef77eeL,0xe4055d7b45c6b5d0L,0x50fe7dc291aab5e1L,
  76299. 0x0a4a41f4b30dde14L,0xf79ef05566d0acecL,0x47ff1b08d751cbebL,
  76300. 0xb3b376414b70d1cfL,0x839901ca495f96c5L,0x00000000000001e2L } },
  76301. /* 18 << 343 */
  76302. { { 0x70f293f78d7a1a55L,0x6d47ae698dbd1bcbL,0xd972ce7e2a482890L,
  76303. 0x565b5a69ae414647L,0x1ff7f1f4fac08052L,0x6ac7e4f7a6b8ea59L,
  76304. 0xb00046d54c758546L,0x57fda89278c94b54L,0x00000000000001efL },
  76305. { 0xc89c53d4ab9b1fd8L,0x120412c01939d37fL,0xacf8ab74178a657dL,
  76306. 0xf02ff62e6277e2f9L,0x6d388adadef2648fL,0x0a21d194d18d7ec9L,
  76307. 0x28a91fb9620af185L,0x9a4be9c4cb7ebf4bL,0x0000000000000025L } },
  76308. /* 19 << 343 */
  76309. { { 0xbc45e6e4b2dae93bL,0x078b15245136d380L,0x61d2079bcde5d587L,
  76310. 0xdcb2f7bf4d18976aL,0x3134fa08f1163d89L,0x4548e1cc166d26d9L,
  76311. 0x372b77f520cf54c8L,0x21e059e7370c6405L,0x0000000000000090L },
  76312. { 0x88f8eaa80398ad72L,0xef4dfabdc756e71fL,0x9793c8cd26ef090bL,
  76313. 0xa2183be477e6c7ebL,0x89687bae0c15e96eL,0x973c780afb7901f1L,
  76314. 0x98d0434c8c13b4e5L,0x5ac0079c7d545f02L,0x00000000000001b8L } },
  76315. /* 20 << 343 */
  76316. { { 0xb6cc18ebda4a348fL,0x75ec91dea1828b88L,0x33d09001749d90e6L,
  76317. 0x09157f665444d6a2L,0x3d99e23ec900287cL,0x5b7ea7f56e259af4L,
  76318. 0x23cf7c3d7f716c57L,0xf3eb640ffe71bb94L,0x00000000000001aeL },
  76319. { 0x8244fc846e9cdcf1L,0x595beb65e002db4cL,0x5caff71941a87d50L,
  76320. 0x79b6aab4e3ccf8aaL,0x1c57658749d3eb51L,0xe81912249671a8dcL,
  76321. 0x64c41ec1651fc983L,0x9f8680d37983f157L,0x000000000000006bL } },
  76322. /* 21 << 343 */
  76323. { { 0x60ab42fbe05b2926L,0x1c587bf61d33e1dcL,0x96f5e70249ff79e9L,
  76324. 0xb962af43e24c2e89L,0x30042cb3be7c4f64L,0x79f652a81d63ce35L,
  76325. 0xd898a931ad6a7c44L,0xb2fb1570230d1accL,0x00000000000001f2L },
  76326. { 0x2022d6a58be3811dL,0x00194f6b73c51c56L,0x3ef9434003d77a7bL,
  76327. 0x6d1989c6b8e27ccbL,0x03eae3f13a64841aL,0x41fadc74c63267efL,
  76328. 0x3e79f28722c3f704L,0x9d6bb8f454828d4eL,0x000000000000018aL } },
  76329. /* 22 << 343 */
  76330. { { 0x185cb8e721e2e26eL,0x1866dbbff82c3492L,0x5a5e2a8913fe27abL,
  76331. 0x2a97a225ba74bc51L,0x9699342b754d7055L,0x11cbb11a2395566fL,
  76332. 0x7a1a2e8d98ded0a3L,0x17986e2379b54681L,0x0000000000000003L },
  76333. { 0x646f4099da8c44d5L,0xb738986d451eeaeaL,0x09dbb26b7a3b8625L,
  76334. 0x5b427f68db3935bdL,0xd946c20da7131ae5L,0xae04ca918a745c0dL,
  76335. 0xa1b0ef3a3f2341a6L,0x7b87fe01d6c790e1L,0x0000000000000098L } },
  76336. /* 23 << 343 */
  76337. { { 0x72170b94be3f7ed3L,0xbce35d7df87e5a5bL,0x475dc4f4a187c49dL,
  76338. 0x8f70214da1e51c4cL,0x4a4f2173b03f9991L,0x0f402769644bfa17L,
  76339. 0x1fcb1fd205185c69L,0xc73f4d6ad59730d6L,0x00000000000000f3L },
  76340. { 0x718cba01d0af16c4L,0xf877dfc0321d02baL,0x92005bdd160a85bdL,
  76341. 0xa77c73b9fa3cc000L,0xd32784fa789d71a5L,0x1fed3e8451aa04d6L,
  76342. 0xe5eff488d6838f92L,0xc6dd5be9b197e512L,0x00000000000000b2L } },
  76343. /* 24 << 343 */
  76344. { { 0x78a6a00515ccb3f5L,0x77707acad710f874L,0xa9f60018df76fab6L,
  76345. 0x7a05131eb0ef7585L,0x73076403c0347bd4L,0x5677f9b970f16928L,
  76346. 0x71e01afcacdb7c70L,0x2801531df2261bc4L,0x00000000000001b3L },
  76347. { 0x2e0884c087ab879eL,0xcef683ae5692f07fL,0xe9378ca2ecb5108fL,
  76348. 0xb259e58446581fb3L,0xbf13bd74d9ab63e2L,0xdbb1a8660488e2f7L,
  76349. 0x308d1a9c791c614aL,0xc064c4b74bafecceL,0x0000000000000068L } },
  76350. /* 25 << 343 */
  76351. { { 0x3baa82b9d0344395L,0x61b0ae22f03f32d3L,0xfdf609fdb9ab6330L,
  76352. 0x8d2d4961e63485d7L,0x118bcbae7ed8bf75L,0x48084311dab22cceL,
  76353. 0xd878e073ffa72bf0L,0x2d31d41024088b64L,0x00000000000000d8L },
  76354. { 0x1e2ad88893e537ccL,0x723c084c89496f7dL,0x154523b8e2095efeL,
  76355. 0x60efb050a2a64c74L,0x1da398ac0f97d458L,0x3a4f1f7c382044e6L,
  76356. 0xced99f7be34a1f0fL,0x7d757166ecebb070L,0x00000000000001f3L } },
  76357. /* 26 << 343 */
  76358. { { 0x2368670204035fbcL,0x494b7bd0a09ffd39L,0x24d81683d3d1a346L,
  76359. 0xd8717302a15611edL,0x67d48150235fbe70L,0x7056885b92733e93L,
  76360. 0x7088dd8d149e63c7L,0x9d1fa18c9fa2b660L,0x0000000000000093L },
  76361. { 0x05ccc95bab42e341L,0xf8ddae598d84b663L,0xecbabdff710e5d05L,
  76362. 0x6bf408efe7d83fa7L,0x01e9fba9cc612f03L,0xb11b149a4b68351fL,
  76363. 0x2eb12cb1c441fdc5L,0x1c5aa7073f1779f2L,0x0000000000000079L } },
  76364. /* 27 << 343 */
  76365. { { 0x71a41f98b7c8df35L,0xc0956536a098c8e6L,0xba543f95b726e746L,
  76366. 0xc930b14a1d6414bfL,0xbe77ca4d1ffa41b9L,0xe2c9b33a01b6503fL,
  76367. 0x8f618a589be1f9f7L,0xc5352fdb58a1e937L,0x000000000000015aL },
  76368. { 0xab583155d4d38a4dL,0x7dae65b732f456ffL,0xe6dceba0864ea025L,
  76369. 0xe1b8eedb2beb7e85L,0x1afa273c24ef0333L,0x15c04d35f74c8c1cL,
  76370. 0x3df77f47fe398bc2L,0xe6759438fca98336L,0x000000000000010dL } },
  76371. /* 28 << 343 */
  76372. { { 0x37097c79f3582e38L,0x32fb2f72acb94fd0L,0xe9f248615bd8e99eL,
  76373. 0x021bd377d89f261eL,0xc27ccfba354d698dL,0xbd90006363d0d0d1L,
  76374. 0x1a2ff3650ffe8c76L,0x2e06e2ac0a5a912eL,0x0000000000000056L },
  76375. { 0x32d5f87321ac73f8L,0x6071df7f1ce57659L,0x7b26cfe7f3d02f88L,
  76376. 0x49889f71ac4b7cceL,0x6a8e756e4aa74667L,0x68698ee6cb72bec2L,
  76377. 0xf10fc0e132a6e923L,0x25d53885dde3045cL,0x00000000000000d2L } },
  76378. /* 29 << 343 */
  76379. { { 0x2578f6e4c55d2794L,0x33d4f6c052c21979L,0xcb692ea7f0ac80ceL,
  76380. 0x4a075eb4d0d2bb1eL,0x2bdca085d766fb6aL,0x28800b66f9cef794L,
  76381. 0x79a504a18e1af8efL,0x87b7c42918f6d72aL,0x00000000000000e5L },
  76382. { 0xa0315547c4fd70bfL,0xed90418d1bf84addL,0x9444ed07561cc0a9L,
  76383. 0xe218634f926e1d91L,0x1c2867c9c45cccb5L,0x8867a11b0088364aL,
  76384. 0xb33066483293a8c2L,0x5379837264319b9dL,0x0000000000000059L } },
  76385. /* 30 << 343 */
  76386. { { 0x6261f11a490fcb56L,0x80e1e5b92166a7fcL,0x2156e7b7410ca8f1L,
  76387. 0x6ba2949dcf083d43L,0x6f8c280e85f7a658L,0x86921a03c5362a6fL,
  76388. 0x212c2960a82059ecL,0xcd6e8bf65535b1fbL,0x000000000000003eL },
  76389. { 0xde0debf94fa231d9L,0x3891ee50bb251008L,0x4f2e882b1d3cf2f7L,
  76390. 0x55ae8ab4a441ea5eL,0x1a2fd89697f3d7d0L,0xaddcebb8240f6844L,
  76391. 0x00c9e36a7c1ae8a1L,0x017a9763b8c7c299L,0x00000000000000bbL } },
  76392. /* 31 << 343 */
  76393. { { 0x7f8843aa27c1fd2cL,0xc7c12738b7767dd1L,0xed262ca40459641bL,
  76394. 0xcfd418f94ae40df4L,0xfea0e51e4b4adc47L,0xf71a6afbc1076188L,
  76395. 0x51c967efae2fb1ffL,0x10af8b7593d3d135L,0x0000000000000005L },
  76396. { 0x60b155619802e32bL,0x1b766903875c51c2L,0x8e8f66b6afa3d68cL,
  76397. 0xb174d2ebe8cf549dL,0x514733991f65fa9aL,0x5bc23426688a0642L,
  76398. 0x7dafa87c49871359L,0xa01b3e316ee4c06cL,0x0000000000000069L } },
  76399. /* 32 << 343 */
  76400. { { 0x1e2df23635210df1L,0x387b5c569aace566L,0xdd8152c9ee401323L,
  76401. 0x56fe9ec99cac0076L,0x88ed7fc1e1a9f782L,0x6551487d681f0428L,
  76402. 0xeaacc10197689006L,0x626bcad13b7e7fe6L,0x000000000000015eL },
  76403. { 0xe1b3574a7acb23caL,0xadda7c9e3636a1c2L,0xfc998cf89f3d947cL,
  76404. 0x38ee4df41ba0511bL,0x1f40cc1403e4694bL,0xccecf4e0800fb6d9L,
  76405. 0x021f708ae1665d06L,0x2bcd7975c492d329L,0x0000000000000063L } },
  76406. /* 33 << 343 */
  76407. { { 0x96b4d04fab8001feL,0xe57a3a7bfe85f93aL,0x8ddba50b81d1d925L,
  76408. 0xa721d664f4b81297L,0x97ed33af14009a3eL,0x566f67398d669f51L,
  76409. 0xe390958133398239L,0xd7a868f9b1e9107fL,0x0000000000000027L },
  76410. { 0xdc583df06773c4c8L,0xd92a6a1e5e741619L,0x9fc62275eb819e25L,
  76411. 0xf9854e0cf083005fL,0xecbd75ce7b51e108L,0x4cc07d2722a8eea2L,
  76412. 0x06b4a95fa203629dL,0x65458a822e92393fL,0x000000000000009dL } },
  76413. /* 34 << 343 */
  76414. { { 0x0c33804b49726318L,0x02d8b4cea9a6b656L,0x308eaf52e8cf960aL,
  76415. 0xb36b768adf3a112eL,0x8131fab42b004e40L,0x0559670c887c5137L,
  76416. 0xff0aaaa311f55b20L,0x08f4a3c37882a219L,0x00000000000000f6L },
  76417. { 0x1e4c54f236e35580L,0x75b801076317c307L,0x08da116384ed361aL,
  76418. 0xda9c804e9fd2252aL,0x12f480031c027a95L,0x4c2edab64ba5b4b6L,
  76419. 0xc7e6ba6f307f959fL,0xb541004fdfb90d0dL,0x0000000000000099L } },
  76420. /* 35 << 343 */
  76421. { { 0x6e84f0d99170c45dL,0x6c18bb4d38aaf72fL,0x07982c04541fb2a3L,
  76422. 0x87b518be80d9c949L,0xdee66e2966394187L,0x31511309f8dbf99aL,
  76423. 0xa8778cbaf823156bL,0xf9faea959b606d0fL,0x0000000000000093L },
  76424. { 0xfd31893563961535L,0x7986e24f3f52f702L,0x5b1159b45ddfae4dL,
  76425. 0xcd9fbfec2eab8be6L,0x7b02b3fc8041e138L,0xd6a03b7891c5a91fL,
  76426. 0x27bbfa95e2cb2f1cL,0xa9ce01ce466ef3e3L,0x0000000000000133L } },
  76427. /* 36 << 343 */
  76428. { { 0xee5cc4b56463339cL,0x5db849afd60e46a8L,0x376ec6edbb0cd719L,
  76429. 0xb25bc974b73d2548L,0x4d3b9651ce5787cdL,0xc9f56856fb8a6b9cL,
  76430. 0x40712dcf9997fafcL,0x1e9a979d88c38605L,0x00000000000000ebL },
  76431. { 0x65aa240f387c6c7bL,0x8dba59ea2e4d5a46L,0x4dae7703cbc76db7L,
  76432. 0x616a9765ce122f7aL,0xa7ba80479be5f249L,0x0e3cc2bc559ff606L,
  76433. 0x533dc60febcf865dL,0x07f49e3224af8ab6L,0x0000000000000104L } },
  76434. /* 37 << 343 */
  76435. { { 0xdd77ebff685989acL,0xb6f95799ab8308a4L,0x4e3a55af398e759dL,
  76436. 0xa450ca615693678cL,0x54fc55a0b225faaaL,0x16584ec91dc73d17L,
  76437. 0x1a5d318febfd0546L,0x76b7d32f96c3c17aL,0x000000000000003eL },
  76438. { 0x51be80cc328cc1fbL,0xa7a78f194965e6aeL,0x5381b42874544db9L,
  76439. 0xaff29152aacad99cL,0xc48bbcc61156add8L,0x363047efe566895dL,
  76440. 0x33d0a4a5bd032371L,0x880ec2cbff5f5959L,0x00000000000000a8L } },
  76441. /* 38 << 343 */
  76442. { { 0x9690d5e55f5e7c31L,0xef7369b18adef74eL,0xf74ee9ef2a7db0c9L,
  76443. 0xd59cb64addf21c43L,0x6eb9fb438da8e4ccL,0xd1962bb086d3a35bL,
  76444. 0x7f8df70c107dd755L,0x4226aac2d64da7dfL,0x000000000000008fL },
  76445. { 0xe8ba50a0fff053a4L,0xcf3d93f3aa55315eL,0xb3cdbb97d1f458b0L,
  76446. 0x4b08420dd5d406bfL,0x7d869582f55c2820L,0x6fcb33b1698de39dL,
  76447. 0x6b7745f5daaa8a63L,0x6ecec49a60db3a06L,0x0000000000000189L } },
  76448. /* 39 << 343 */
  76449. { { 0xe7ec7a73a6fb4bf7L,0x9c4cb462c58d8eecL,0x1774812b9e39b420L,
  76450. 0x3eb336168ef96477L,0xfeb07e85981c4ce4L,0xc5cbf961bc2806edL,
  76451. 0x558213f9c99082deL,0x6da1895930463857L,0x000000000000006aL },
  76452. { 0x55fc5626e084de84L,0x1c14a1b6b1388433L,0xbcd81c8c13bcb966L,
  76453. 0xf3c19eac80ec3df1L,0x3d8209db319be8c9L,0x009dd32c97cb53ceL,
  76454. 0x11b045b569348a7cL,0xf062b5bf08a42755L,0x000000000000013eL } },
  76455. /* 40 << 343 */
  76456. { { 0x1c48fc22b0b3927dL,0x0bde722f69b0963fL,0xe408cacafa23304bL,
  76457. 0x0286346c33892f47L,0x4edfa1d344dca6d2L,0x4ed4dc92dc7e794aL,
  76458. 0x875f0a691bc2fa3eL,0xb6719990c61f95f1L,0x000000000000010aL },
  76459. { 0xd69e90f6b9d1af63L,0x78a0578fb8525cdbL,0x423058d607e5dd88L,
  76460. 0x4566d2724e64b363L,0xfa878a8931cb06ecL,0x88ff5b4a1bea9ffcL,
  76461. 0x343e558867212ac2L,0x0e4cb5b440dd6e75L,0x0000000000000184L } },
  76462. /* 41 << 343 */
  76463. { { 0xe0d0a82ddc9454b3L,0xf487a58cd0bd7052L,0x872289d507f23cb3L,
  76464. 0x739561b660a4d759L,0xa785b509596c0ef8L,0x0013852d0842b0e4L,
  76465. 0xf52d1e53d66380ecL,0xbff385dd62bb1e96L,0x0000000000000113L },
  76466. { 0xbdcb323fb841727cL,0x6943c4849a825146L,0x31893c76e74e00c5L,
  76467. 0x62c0e3d55e3801ccL,0xa692149105663bc5L,0xc521169e924ea71eL,
  76468. 0x3082a14de324bd5fL,0xa571779c8641c086L,0x000000000000004eL } },
  76469. /* 42 << 343 */
  76470. { { 0xfb39fb3373facaaaL,0x1305273c23052258L,0xa9205e1175193205L,
  76471. 0xef9fecbb8cc8098fL,0xdd0f157be588ca9eL,0x3364b687f8f2e14dL,
  76472. 0x3e0a4cb00594f821L,0x2697b264600abec1L,0x00000000000000e5L },
  76473. { 0x5f1048d60c425ae0L,0x596a72abd8196cc0L,0x76dbf0a6ff36707eL,
  76474. 0xc7ab267255665a0eL,0x27ae6b082aacd81eL,0x4a2646471184702cL,
  76475. 0xb6420d7981ffcc1fL,0x7ac1e298536904d8L,0x0000000000000188L } },
  76476. /* 43 << 343 */
  76477. { { 0xab8b3503416f5d87L,0x4fc288e16651df50L,0x3f0adfd9f62ec45dL,
  76478. 0x92cd8547172e5630L,0x434fbc19c3aca907L,0x38eb1388ccb55646L,
  76479. 0x19729f62dafb3a47L,0x8ced2ee49cfc34cbL,0x00000000000000edL },
  76480. { 0xb08ba1c3cdbc6116L,0xd075c733b7ab4b91L,0x547d457ff97f1759L,
  76481. 0x919a38e18c601000L,0x2fae128fc9a3a7ceL,0x050486e31643b442L,
  76482. 0x9034efad2afd1aa0L,0x92702ff21af79b99L,0x000000000000007dL } },
  76483. /* 44 << 343 */
  76484. { { 0x68d0506218f40095L,0xe085992447df111bL,0xab2400df4b409e59L,
  76485. 0x5f8d22db555656f8L,0x606ced3146df6523L,0x4c92283116251601L,
  76486. 0x8b383573007bb6a2L,0x99bb3be83dd4c4eaL,0x00000000000001e6L },
  76487. { 0x65838cf4d21d9bc7L,0xe07a59110168059dL,0x193d6b80c27c988aL,
  76488. 0x08d7198bb6411f17L,0xb229275330ee2a99L,0x4dba6885690e2ed7L,
  76489. 0x658b187cf10e2b34L,0x8002fb6b9ac63db3L,0x00000000000000aaL } },
  76490. /* 45 << 343 */
  76491. { { 0xf2aa7ff4fdb6b1f7L,0xfb45d9ab038645afL,0xfbe46a595d991f1fL,
  76492. 0x777ebeadd152a3f9L,0x830688a04a7e59fdL,0x205e03ef3a6d1d41L,
  76493. 0xe61a446a1ff8c82eL,0xc2557922ee29bd8dL,0x00000000000001e1L },
  76494. { 0x9181192fabfa9a84L,0xbcb13e6a99b82faaL,0xa509d7609f24f727L,
  76495. 0x30f91875d7fcdb25L,0xf5e87646a279f077L,0xa1abe3b1afcd136fL,
  76496. 0x5096c338f5d393a0L,0xe18e7d97c77f082cL,0x0000000000000023L } },
  76497. /* 46 << 343 */
  76498. { { 0x99a8fbb5a161f30dL,0x4b936314a6dca904L,0x582fbb6285f072baL,
  76499. 0x638b964291f813ebL,0x8fbc4a5f33b67634L,0x75c4f8854786ce86L,
  76500. 0x12fe375cb2be82fcL,0x57b6c79e1af62afaL,0x00000000000000ffL },
  76501. { 0xc584de033815bf50L,0x59284a85a5d2a462L,0x99205733a2db6069L,
  76502. 0xac414cedc789585fL,0x74c918a17924fc12L,0x4179d5c0e01a417bL,
  76503. 0xf3f6d46b2de7f1dfL,0x04d576ff993a462cL,0x0000000000000058L } },
  76504. /* 47 << 343 */
  76505. { { 0xe9599d6ac0d5f4e1L,0x175f50fe3ff2ad8dL,0x8387d0c9cbe62ffeL,
  76506. 0x19bd7a93f759c79cL,0xd6dc8c1718264806L,0xffcd7dc91f93bdb9L,
  76507. 0x272bbbde842b0f37L,0xa25c2429cea01bf8L,0x000000000000001dL },
  76508. { 0x6a294073e4187767L,0x209d9bc423ee345bL,0x720ae363dea56eddL,
  76509. 0xe3bf827a23447df3L,0xec4fc4d9dbcb4442L,0xa523dea0df06b38fL,
  76510. 0xb7a20ff275ff70edL,0x758975429c985220L,0x000000000000011eL } },
  76511. /* 48 << 343 */
  76512. { { 0xd6772399efd3e26cL,0x08fad2b4016cc649L,0x04b688e18c93ae74L,
  76513. 0xee4cd37f884e93feL,0x0adfc5f43f4161e4L,0x38b754b36a15d63bL,
  76514. 0x0a7c520fb63e3bbbL,0xc6d4a82a6bfb98c7L,0x000000000000006aL },
  76515. { 0x3fa2075432fe9124L,0xbb2d3081b6ba6e4dL,0x21294a30716ec099L,
  76516. 0x930eebfcd2636892L,0x0f2d1febac11c6dcL,0x4a22383d797f5a02L,
  76517. 0x40c0453b4e874895L,0x1d1ea32146bf9197L,0x000000000000012bL } },
  76518. /* 49 << 343 */
  76519. { { 0x98adef8589638e94L,0xef3d1a9e3d38b340L,0x6ce88584062c0c59L,
  76520. 0x7a306b12e4d7ed2eL,0x3fd19f650e0ad96fL,0xfd800846bdd0f7f9L,
  76521. 0x41aa2176c8958c40L,0x662b0a5f6b80a9f2L,0x00000000000000fcL },
  76522. { 0x3c1da866bc0ff89eL,0x8f659183ae7b7052L,0xf499f6a9c3ab5947L,
  76523. 0xbca8b00cb8e883ccL,0x71b521e4ffbd2095L,0x6d9347e395bc461eL,
  76524. 0x974c20ade248b5b4L,0x8b0e856009a7b234L,0x00000000000001e6L } },
  76525. /* 50 << 343 */
  76526. { { 0x0b011c32ee2b97d5L,0x79200cef3ad0b2ecL,0xea1decec50b54070L,
  76527. 0xec2fa4a8daf1d7c9L,0x9c2061eaa9203504L,0x01ca3089e8e76ddbL,
  76528. 0xf009b4ecb2ab1903L,0xd42e9d8d17418ffcL,0x000000000000003cL },
  76529. { 0x05c5851078dcb449L,0x366e588014134c89L,0xd3c226ca0f9d0ca8L,
  76530. 0x90368b2231202cdaL,0x4900c6c679c08f36L,0x282ba56a42a6f1b1L,
  76531. 0x3146c4170b497bceL,0x4b6a7d5d8b761fa6L,0x0000000000000182L } },
  76532. /* 51 << 343 */
  76533. { { 0x9687fad20f33e22dL,0xee13cbf0f861fe0eL,0x7bfd7b51e420708fL,
  76534. 0x7e3b03c29408f6c3L,0x98e32d6cd2478ff4L,0x46c6a5ee34a542b3L,
  76535. 0xfb063d20a9d664c8L,0x0d46f2fa462cd3bbL,0x000000000000005fL },
  76536. { 0xd864149319bdb879L,0x4c1eb5a09c32b27cL,0x7245a9ac8bb683f3L,
  76537. 0x6c0416d6147ac3bdL,0xf0b832fcf13b6273L,0xe4cf4607f2140e06L,
  76538. 0x3627fed4b74a3da2L,0x0b285a0d5eeec17fL,0x0000000000000118L } },
  76539. /* 52 << 343 */
  76540. { { 0x1fdcd60d607b148eL,0x52ba3a64ef0af894L,0x93d7e10f8e017e3fL,
  76541. 0x54586254a1c56691L,0x7ba1d3344dc39c87L,0xdb980aa5947633fbL,
  76542. 0xe005885333908ff9L,0x752e4a4cfc9c017fL,0x0000000000000111L },
  76543. { 0xf00b5caadca578c9L,0x33e7b721e5e36c85L,0xe12eabb0d35b31b4L,
  76544. 0x7e7f6feb77020642L,0x593a80b27efc68aeL,0xd15b1c05b098be57L,
  76545. 0xf2f8a3d4a680dd49L,0x41bcfdbc8743a900L,0x0000000000000152L } },
  76546. /* 53 << 343 */
  76547. { { 0xe941ed524f65e73bL,0xd3e1d57affc2f0daL,0xc6d535243702b0f7L,
  76548. 0x81cbf7778599b1e4L,0xec7ea8a9c500dfabL,0xba77eb049d0bfbe4L,
  76549. 0xa3d1cb95e1324dd6L,0xc8ef4cceede51d63L,0x00000000000001a3L },
  76550. { 0x6c2624e5052f9069L,0x235b7957a284f707L,0x2cef19e959304063L,
  76551. 0x0e2ccfb01ea15b4eL,0x9a4c9bf0010f6519L,0xc1edf0173339bed5L,
  76552. 0x5677cbbf8bddb55fL,0xe487e6d90b86d922L,0x0000000000000097L } },
  76553. /* 54 << 343 */
  76554. { { 0x942ee9fa3f9dfb04L,0x98f99ee04bb518c8L,0x7e82e828b4c177deL,
  76555. 0xcdc34f88cb890189L,0x7662d2b1295eb6c7L,0x40f6e30126ff62adL,
  76556. 0xb09ada6615539133L,0x0240f1ab994c1ee3L,0x0000000000000119L },
  76557. { 0xb788badd5b186991L,0x2f0f51d1feef6adeL,0xa6fcad6697ebc752L,
  76558. 0x7a41969ecb9d2718L,0xe8b76733a3690ba0L,0xfbb3978055a3075fL,
  76559. 0x905400f11e407ebaL,0x1cf6c26d29b33ca9L,0x0000000000000026L } },
  76560. /* 55 << 343 */
  76561. { { 0x82e0c91375602369L,0x37772fd0cdf88991L,0xed11013ce687811bL,
  76562. 0xadc2a6ef0e32e842L,0x9b95a8c33183cb5dL,0xb7ea194ef178fd02L,
  76563. 0xdf35cb1b0e373bbeL,0x4c70f3b2d5b46c11L,0x0000000000000154L },
  76564. { 0x62570b6cc73964d1L,0x0a0b268480c4e024L,0x400b160c1205a6a2L,
  76565. 0x826be2f82f65aa46L,0xd10b64a20a054f68L,0x12bffa7464766cf5L,
  76566. 0xfe9420788d929d96L,0x78a8682b8fa29a3fL,0x00000000000001a2L } },
  76567. /* 56 << 343 */
  76568. { { 0x567357340ee20005L,0x1867e14953306288L,0x30a011a2a8c834cbL,
  76569. 0x85dd3b76e4be86d6L,0xe080a590059d6838L,0x27ba4bbc384fc1a9L,
  76570. 0x08bd92bc1fb5f754L,0xbfe47313795078b3L,0x000000000000016dL },
  76571. { 0xd266058c646b3dafL,0x32edfdb12fbe6000L,0x641eba0fe2f9c075L,
  76572. 0x02c67e0c69ad2966L,0xe2f469e903ae6d25L,0xe7e4198ad0927943L,
  76573. 0x63e387902caf56f2L,0x563c3fe290ba1dc6L,0x00000000000000daL } },
  76574. /* 57 << 343 */
  76575. { { 0x986795c4e5fa0ed3L,0x6cacef9a47ffc3c3L,0x8406f9175b1dcda8L,
  76576. 0xfeb8ce4570d199f9L,0xbbbc1f37d1b1aa68L,0xbdab7e0ecf1643a5L,
  76577. 0x4fe791e953c4a8abL,0xebae700e4d20cc4aL,0x0000000000000177L },
  76578. { 0x702b8bdb97b76b31L,0x73da6623d6e6fde5L,0xb36946a708ea1f3dL,
  76579. 0xfb25cd3ff11e7ae3L,0x996cf485c8475ecdL,0xf3ac42d20ef1dcf7L,
  76580. 0xf218353842a60719L,0x3cc178281d61944aL,0x0000000000000191L } },
  76581. /* 58 << 343 */
  76582. { { 0xfcd47f6b67508a16L,0xe31427401bdf577cL,0x4895185967f0cff3L,
  76583. 0x7d6fcef807638e5eL,0x39b9d003e9235a94L,0x0f58af795a824938L,
  76584. 0x6cf21f76518b7880L,0xc485929558044273L,0x0000000000000186L },
  76585. { 0xe0f75e1aca93ef08L,0xd5644e7b4340dbbdL,0xcf01ad2491a927d6L,
  76586. 0x43829aa53be7c5e0L,0xa0c72646c54fdd3dL,0xabedecc81d939f5aL,
  76587. 0x8bd70b024c607671L,0xa0dc64200adc7aa7L,0x00000000000001e1L } },
  76588. /* 59 << 343 */
  76589. { { 0x26a9889300d4249fL,0x65abdecb009278b3L,0xc118a3f337065e41L,
  76590. 0xea008486e7ce142eL,0xb98918b36b326823L,0x0f1031f33887e45aL,
  76591. 0x7530610e1629d0aaL,0x6193410a3bdd47bfL,0x00000000000000c8L },
  76592. { 0xb1da190f84192eadL,0x61f8d02c3303a700L,0x6faa862b1b3bcdb6L,
  76593. 0xf55bc5e116da96baL,0xd95bdcfbc7109dd6L,0x1a75f2179573e7a4L,
  76594. 0x04ccd08b873cc228L,0x5b2039ee25a9f6f7L,0x00000000000001c6L } },
  76595. /* 60 << 343 */
  76596. { { 0x5fde9be18e99f004L,0xda1fca7fc4fcc705L,0x8776b448e77c338dL,
  76597. 0x12ae11e1e0384911L,0x28172fff338ac117L,0x7d32e433fc4479b5L,
  76598. 0x55f257f9c5c8cc74L,0x70190a52ed205691L,0x000000000000011eL },
  76599. { 0xb255a18ad36a0c3eL,0x435abf4b3c166cdcL,0x51f796a0d75211c3L,
  76600. 0xfa43f06b521d35baL,0x47fae95d0575debbL,0xf9f7ac07626266b8L,
  76601. 0xefd12b4837e8edc4L,0x03ccbf8b6af450f5L,0x0000000000000001L } },
  76602. /* 61 << 343 */
  76603. { { 0x4c3a5b247b4fd7f9L,0xbe4f6aaa73cfa932L,0xf8720019c183b294L,
  76604. 0xa88e61113efbffd0L,0x02a45a2f505fa176L,0x5614def1ca32b335L,
  76605. 0x27d80f82eb09898cL,0x341f3eb60072f7dcL,0x00000000000000bdL },
  76606. { 0x3b1074917ef9c7f4L,0x1db05b0daaca0f0fL,0xb4e8236c35fabb88L,
  76607. 0x9ecdb35c2d887bdbL,0xe9e477a4685ff351L,0xd66108c5c8693cb6L,
  76608. 0x3f45b6e0a0408fd2L,0x712b6b89197ecc54L,0x0000000000000075L } },
  76609. /* 62 << 343 */
  76610. { { 0xad5096b436373ad1L,0xc5c5d96a67e09911L,0x71d976bcd1c1bd0eL,
  76611. 0x734eef2e26276014L,0x39826b9398abb08dL,0xf97c29bb60504d90L,
  76612. 0x03e6b7bcc8dfe26fL,0x62fbcd06edab53bdL,0x000000000000001aL },
  76613. { 0xb8e19bcaba51fc6eL,0x51980bedfb188d4bL,0x947062215f9340eaL,
  76614. 0x55fd26f2ea1bf912L,0x9b4bfd5b52acf80aL,0xe0cfdad11517a40eL,
  76615. 0x0231b221bc0813aaL,0xd93ede1067c8de5bL,0x00000000000000f2L } },
  76616. /* 63 << 343 */
  76617. { { 0x14c36eed98352662L,0xb2fc535820cc7dc2L,0x4d9d0399afbf0b1cL,
  76618. 0xc45410e2bf803069L,0xadf0b1e408a75f7eL,0x32483ad625d55976L,
  76619. 0xe03ac79a40134cdeL,0x8a5e15bfeca20104L,0x0000000000000094L },
  76620. { 0x54bb69bfb2ad7a77L,0x1c7e147a4c7a969eL,0x3abd4c100ca1cfc4L,
  76621. 0x25cebf8026549e9dL,0xbc93e23dcf7a3014L,0xd35c8df023b55805L,
  76622. 0x6febda25410f6adaL,0x724a6fb680ffb7e4L,0x00000000000001e9L } },
  76623. /* 64 << 343 */
  76624. { { 0x2fb204ffc6ac25bfL,0x04264d4a20b8ff3fL,0x95b64338a430a774L,
  76625. 0x573a4b367da8bba5L,0x950affbb5b83d767L,0x9254695bb560c0f6L,
  76626. 0xfcd8a4fbff22df77L,0x8625ed302d6e43dcL,0x000000000000004aL },
  76627. { 0xed8010f61cac9547L,0x0612e17392c7ba4fL,0xaf48aeed051d9478L,
  76628. 0xf7067a1069a78479L,0xb17c4be898a1aa82L,0x2b21d42a7a94d7e1L,
  76629. 0x461b848fd38e3b49L,0x76af1bd6563a87e7L,0x00000000000000e8L } },
  76630. /* 0 << 350 */
  76631. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  76632. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  76633. /* 1 << 350 */
  76634. { { 0x5a4ab9c18d71ef32L,0x08205f9bf4f4cf75L,0xfe64565db34a8c55L,
  76635. 0xd12be047169994bfL,0xd3c3f84f43f91e62L,0x1dae2e732601b686L,
  76636. 0x2a07fcbe2dee30e1L,0x25e562459a754926L,0x0000000000000174L },
  76637. { 0x288455f32ce4d340L,0xa1f4e6b0e321170dL,0x9a36bac390039106L,
  76638. 0x1682b04d98c7ed01L,0x27166c68e9ebef5eL,0x41efe4f001ca803dL,
  76639. 0xf76898ac460a4c5eL,0x6a787fc31acbcda4L,0x0000000000000103L } },
  76640. /* 2 << 350 */
  76641. { { 0xdcaed4e0eb86608eL,0xfdfd21688d7ba967L,0xd4793142866e3436L,
  76642. 0x259b748bf9e22704L,0x86914896ac039548L,0x2236c40dd7c7eec2L,
  76643. 0xd76953aea1c8873eL,0xf3e9f9539cd08a3eL,0x000000000000013cL },
  76644. { 0x2d653796535c50c7L,0xcb8b6a753478f1c4L,0xa2abfb2acf0ad848L,
  76645. 0x9cd60fbf7fc08e6dL,0x3706c38749f48743L,0x3ea91a1d3e0781e3L,
  76646. 0x8c19973bd007f364L,0x566d7cb522e5f10aL,0x0000000000000103L } },
  76647. /* 3 << 350 */
  76648. { { 0xff04036328faa051L,0xefc95341172c6ce0L,0xe4028c4a7d53a624L,
  76649. 0x481fb2fce3aa1e70L,0x4671faf3d2d92ac4L,0x0d581a28cad49733L,
  76650. 0xcfab195da5e23867L,0xf6784d62c8bd1eadL,0x0000000000000170L },
  76651. { 0x2ba73d671694ffaeL,0xbaf16d6d47d613b7L,0x5748fb2fe24a2182L,
  76652. 0x337d36ad8b9d5587L,0x07b92ce38cfcf82fL,0x99b04584fca2cb04L,
  76653. 0xe8fe5417a5db355eL,0xa29a83971e795369L,0x00000000000001f6L } },
  76654. /* 4 << 350 */
  76655. { { 0x674e392f0261ada4L,0x5af762f55bb103a8L,0x281ad6a5c9e8bf69L,
  76656. 0xa88ad2e45c57af63L,0x7fbce1f23b909ce5L,0x37883da84a8c86daL,
  76657. 0x94f7c5708fc8357aL,0xa1f2fb59c7c21ea8L,0x00000000000001acL },
  76658. { 0x30c79e7b1cba57c5L,0xf71d84be6062fa39L,0x8fb70b03e2b9c131L,
  76659. 0xbb0f27e7cd862b12L,0x2fea10874ffd6a0aL,0x177871582a7a7b08L,
  76660. 0xf79606cc8653ce49L,0x9514c960629a5ff9L,0x00000000000001a0L } },
  76661. /* 5 << 350 */
  76662. { { 0x685cb5e1ee76561fL,0xc7eed1f695507f6bL,0xeeeab42cd2aff6dfL,
  76663. 0x32417d37c5c5362eL,0xf1dca5a7362b5f64L,0xa632d6b9fce1fb3aL,
  76664. 0xdf5ef2ab8d95fa9dL,0xebae375560e41269L,0x00000000000001ecL },
  76665. { 0x18090f8b62102f3eL,0x1f92da5a150229deL,0x3c7262f9f45b03a9L,
  76666. 0xf12f42c84967dec8L,0xc68b707051a319cdL,0x5fb0202c58e88be6L,
  76667. 0xea58670dbacf6553L,0x4a218180bb263c69L,0x0000000000000038L } },
  76668. /* 6 << 350 */
  76669. { { 0x2df8ac505afa5f7eL,0x6df783774959ec90L,0xb26bdddb192bec1aL,
  76670. 0x1c8d1feb809b6d87L,0xbf8e71e3c90fd61fL,0xb779d00f9d3abfd2L,
  76671. 0xc9b25e7d40d5d7a4L,0xcf5dc7c2ca6c2dadL,0x0000000000000100L },
  76672. { 0x360d9b18c50b6ba3L,0xdf5958ff1b4ca3ffL,0x1073b7f6e05fce33L,
  76673. 0x819739fa5936c3e7L,0x5d7bf0ce95b80771L,0x27043464d723e7a8L,
  76674. 0xf665f01f769d0313L,0xe8ba3b82d21e5578L,0x00000000000001afL } },
  76675. /* 7 << 350 */
  76676. { { 0xcc1a5d125c84085fL,0x689ccbbf11e07a83L,0x818e90645bd5ce0aL,
  76677. 0x7ff51fe77dd3b557L,0x244b2fc597c092fbL,0x56b49f61ce7dc3e5L,
  76678. 0x60465ba316e1cb43L,0xdad9e6d70bca87efL,0x0000000000000159L },
  76679. { 0x410a5b331f2824f5L,0x7940293fff4bbccaL,0x2c37932925ce7150L,
  76680. 0x4b0fcc706add5653L,0xbc7fa7355ad55175L,0xc751542bef886eb7L,
  76681. 0x4c8352570b74d18cL,0xae7eeb6061542f24L,0x000000000000004fL } },
  76682. /* 8 << 350 */
  76683. { { 0x1fb30b26534de721L,0x467328664123d0bcL,0xe4e83c0d3a143f8eL,
  76684. 0xe1f5f92a691180e2L,0x5fb00e76081f7230L,0x0e4e513d083c3776L,
  76685. 0x5b81ea91eb042c2dL,0x7a221cb200af7f4eL,0x00000000000000e4L },
  76686. { 0x7bfd3f9131e75c9dL,0x8545adada2c68d12L,0x01c295b9f986ad9fL,
  76687. 0x186952a541eb1f2fL,0x6f7e3e3ee802ffc8L,0x704e75d0b98fc92cL,
  76688. 0xc233afee4800a8fbL,0xd0111a57549d5fa9L,0x000000000000010bL } },
  76689. /* 9 << 350 */
  76690. { { 0x703bdfc28fa5a117L,0x3324b4c7a72de61eL,0x66bffd4e189dd1aeL,
  76691. 0x0dd312e197be2e90L,0xc0f200e159e34175L,0x494e207fb97fc751L,
  76692. 0xd1a1b7a1bb27e3eeL,0xaffbced9b305b999L,0x00000000000001b0L },
  76693. { 0x82ecc5d084711c62L,0x339f3eb9f8990ca3L,0xbf24f07a5e5cf050L,
  76694. 0x0e63379096b80f96L,0xb2713b232cd928d0L,0xdb2acbed1bec9ba8L,
  76695. 0x259a9461a584c845L,0xd024aa292d12b85aL,0x00000000000000b6L } },
  76696. /* 10 << 350 */
  76697. { { 0x162d7affa798f350L,0x904fd12e7ccf599fL,0x2e13439240e92c4fL,
  76698. 0x7439ad22afeb0edaL,0x2111df7dbb3a3984L,0x17da71600ba49716L,
  76699. 0x03c556c8ef500d81L,0x292974427287b40dL,0x0000000000000066L },
  76700. { 0xc61ab9d32dc3165bL,0xa427265826fcadf3L,0xb8ccd6c0838ee2b8L,
  76701. 0x2b43ac9dcad6ed19L,0xc5e072a314ac704dL,0x148021b6b3289a83L,
  76702. 0x3da3fcb61d3e7f5eL,0xf6e0d0596fbc3f05L,0x000000000000018aL } },
  76703. /* 11 << 350 */
  76704. { { 0x07d7152724577876L,0x0ad731b07475d82aL,0x8181bc1ecc35789eL,
  76705. 0x47453c419ab56a3bL,0x87ae49281343be4bL,0xff1e1a462366665dL,
  76706. 0xd89941a533896339L,0x8603a0feee010861L,0x00000000000000e0L },
  76707. { 0x9aa8f8f3ebc782ceL,0x0b8cdd59dfe2867cL,0xe6bd219d63a7e153L,
  76708. 0xb7748a8c62371590L,0x6f5ff5a8f67ba1d9L,0x9f057b843cc70904L,
  76709. 0xb3949d0a3aa770d6L,0x1d7417ebc36c1dfeL,0x0000000000000134L } },
  76710. /* 12 << 350 */
  76711. { { 0x238d0f45e5375e53L,0xb576c6ca60b1447cL,0xa3a372a662216556L,
  76712. 0xa36f6c4a8649c9d5L,0x00e80b35ab50c2cbL,0x11e5520e2556c5a2L,
  76713. 0xac58d6f1d3aa02dfL,0xd56bf8228b95fddfL,0x0000000000000094L },
  76714. { 0xd172331a2a513cc5L,0x35eee6975ef6a6baL,0x4f02b17fb0acdc95L,
  76715. 0x07ec621e1eb68058L,0xf266346cdac73d4cL,0xbe978e8aecab7ddaL,
  76716. 0xda0244e8968c2eb6L,0x50b38345cee91ed9L,0x000000000000014bL } },
  76717. /* 13 << 350 */
  76718. { { 0xe86714c444bbba14L,0x4a0ba67fe0ebe2c7L,0x4d7b6342e19e2833L,
  76719. 0x29e0766b768b7bbfL,0x109e7003d5b9f660L,0xcfaf2ddb39cb47bfL,
  76720. 0x4be8337c9fd257d6L,0x5ee652afd3082203L,0x0000000000000185L },
  76721. { 0x0eace717a4e898fbL,0x936b7743a3ed5280L,0x13bb777fe20eb2d5L,
  76722. 0x6e3fe7ac2e467eeeL,0x8b1bc5234bf9a409L,0x8e6eb8d336a9bc8aL,
  76723. 0xcb22f89c060f98a2L,0x18a47fe4fe67785fL,0x0000000000000171L } },
  76724. /* 14 << 350 */
  76725. { { 0xfb7641f78dd2f484L,0xd3968fdc8458af7fL,0x49aae2a03f2256aeL,
  76726. 0x3868855c184b5272L,0x02207efdb0964247L,0xc2e07ae88f026dacL,
  76727. 0x6043c98a10fccbd7L,0xa0dbf1ec385aaccfL,0x000000000000014aL },
  76728. { 0x8e75ed542cffc319L,0x83c12af3727fb8e1L,0xf3fb0e7d5665201cL,
  76729. 0x282b216e2c59469aL,0x7a71d0b07a2722ccL,0x3eab574727700dc1L,
  76730. 0xbec4c097b809482dL,0x5363ca88baa425a3L,0x0000000000000182L } },
  76731. /* 15 << 350 */
  76732. { { 0x3e16bd1f7200a8ddL,0x028318f4b10ec669L,0x1fa937c6b9c35fa7L,
  76733. 0x0ca277d969c407d8L,0xe0230f44ed5a32efL,0xa04df533e9dc21fcL,
  76734. 0x5775e2b0847b808fL,0x7319f97b14c0cb44L,0x00000000000001c6L },
  76735. { 0x4f313cb5e7259335L,0xc2de5cf8a2e9a717L,0xc6daf9a41a0c65a2L,
  76736. 0xe304c3aec39e1b4aL,0xa9a178e03cfad39cL,0x35dd14cdd2555011L,
  76737. 0xdaa2701adf9b2103L,0xbf3d425b40c31b92L,0x0000000000000087L } },
  76738. /* 16 << 350 */
  76739. { { 0x01188022f8816103L,0x64e1c614db3855d8L,0xcd4bd4c229a7c0d2L,
  76740. 0xd7ec42894d5ece84L,0x947a8bdc722fc703L,0xa4c09186bfebacffL,
  76741. 0xf7fda81edcf3b746L,0x3bf6dc1b435034fcL,0x00000000000000c8L },
  76742. { 0x319fc666878b4418L,0xd600347ccfa14a68L,0x5abcf8fc912b3c2bL,
  76743. 0xc82c5e12c5cd581dL,0x022f767c50a27865L,0x5c606862ead1f5f7L,
  76744. 0x2702e8192259d674L,0xae371a48e02204abL,0x000000000000001bL } },
  76745. /* 17 << 350 */
  76746. { { 0x97e034b8a9080de0L,0xd85ffb9e7489f5dcL,0x5e82572b143fa372L,
  76747. 0x0011ac86471e02ecL,0xedb1f0e68bd15910L,0x9f88d9fb76ba5f6bL,
  76748. 0xa93eec11e73fd22cL,0xf4980f348e89e8d6L,0x0000000000000131L },
  76749. { 0x6972155ccb678eeeL,0x8450fe29b3f64220L,0x92a56dd2a22f685fL,
  76750. 0x5938dc70bb05e6cbL,0x83b058f8c28d997dL,0x570df3b018f71a2aL,
  76751. 0xb7cea974dc59cccfL,0xdf9376c83099d0fcL,0x000000000000006dL } },
  76752. /* 18 << 350 */
  76753. { { 0x767a6f66b1d1d2c2L,0xa1322854fe1b6fa1L,0x4be1a1cc6461d755L,
  76754. 0xeed07ec250c221bbL,0x1ecbc0e0d9a306f0L,0xbe134f4df014a398L,
  76755. 0x5b391aae8a62aa33L,0xf89d0bd98f8374d9L,0x00000000000001cbL },
  76756. { 0x834f7a49bd81ad66L,0xc0847d0c5b161a3bL,0x55ca398ece94c03dL,
  76757. 0xee52a9325f7e7da9L,0x3c0764552256b0f3L,0x70a087cd10daae34L,
  76758. 0x1e749e8b041e8275L,0x32e770866583c7c2L,0x0000000000000187L } },
  76759. /* 19 << 350 */
  76760. { { 0x1705841bcd474570L,0x8286faca79fdf349L,0xfc5cfc0fab4d7902L,
  76761. 0xeaa4781d494df4d3L,0x160dd228a8d6515bL,0xc5e6a4393fac5de4L,
  76762. 0x6f080b52e14684a4L,0xa1171a632a68c81eL,0x0000000000000185L },
  76763. { 0xf6da51320bd7b821L,0xf02d821685f6e165L,0xe4fc78f80c8b9ae0L,
  76764. 0x0cb0278872ccbb8aL,0x37972865c36b4672L,0xa2e0aded0ddef47cL,
  76765. 0xcdb8736483760595L,0x5ca51c2951194739L,0x000000000000003cL } },
  76766. /* 20 << 350 */
  76767. { { 0x2af67b2b1d6f6e88L,0x02b012d358551562L,0x6b82b1fecafa5d8aL,
  76768. 0x7f82b4e2e6fefe9bL,0xac91d292e6b8bbdcL,0x1e330708aeb0467dL,
  76769. 0xe5723339d2226ec1L,0xdcb1dfc411ce4198L,0x000000000000017cL },
  76770. { 0x4c55853aa74e39fbL,0xdeadb9343e55add6L,0xbb7f6b234d9052ceL,
  76771. 0xc39590032f3e7badL,0x78636279ad990758L,0xc476679e34bcb90bL,
  76772. 0x9ab2badcf9fe3f2aL,0x414a32c01b69ef65L,0x00000000000000c1L } },
  76773. /* 21 << 350 */
  76774. { { 0xf972e207226d5378L,0xcd708a71ff9ac89fL,0xbf32f744ba4d2463L,
  76775. 0x46fe3a5fe3e118afL,0x746a334f64442a45L,0x716caa321f011c2cL,
  76776. 0xfbfd3914b0a5fee4L,0xc1e251fd8637d992L,0x0000000000000086L },
  76777. { 0xb45d3c09336dde94L,0x418b61d9bab03eaaL,0x1ec1facd52276f8cL,
  76778. 0x31a2838d276b4c3eL,0x5c0ac0e5344b4fc0L,0x84c5b86c7802d850L,
  76779. 0x7f2bde812d1f1518L,0x749429ab89820544L,0x00000000000000a6L } },
  76780. /* 22 << 350 */
  76781. { { 0x8fd557cda14acfe3L,0xa78896e226a144cfL,0x9171e9bb7e81425eL,
  76782. 0x1b03073ac232010fL,0xa2a67f9e4506d254L,0x9c74103f9b9e87abL,
  76783. 0xf03b5f8cfd9e2110L,0x701e9602fceae96eL,0x000000000000008eL },
  76784. { 0xed614e9542b8326bL,0x1deca584f7c276fbL,0xc1c4acbc5c38606cL,
  76785. 0x6c1d93a6a03fce8bL,0x114af997f1d63590L,0x63ff01ed89679610L,
  76786. 0x6c1091e92ef1af27L,0x7577c9b8e47fbe2bL,0x0000000000000115L } },
  76787. /* 23 << 350 */
  76788. { { 0xe1e509705873e203L,0x92537e522ccb0f6cL,0x57f7ce82a48a196bL,
  76789. 0x355baf4fa3f71850L,0x564770cb0fe17d67L,0x5f17428ce88a7b9aL,
  76790. 0x2ea41803c7ede7e9L,0xcb4b4df25e9ae4d6L,0x00000000000001a9L },
  76791. { 0xd9149883a345b2baL,0x5f6edbf7aff49765L,0x6ccb568246bb6e78L,
  76792. 0x28df77696f46d96eL,0xba7ce7265c6d0f7eL,0xef69e4d2e8c413d3L,
  76793. 0x12be550be5d1ee20L,0xfee595f001ecba93L,0x0000000000000116L } },
  76794. /* 24 << 350 */
  76795. { { 0x114453e727f2f67eL,0x7199960246edb75aL,0x481cfc650714f2ecL,
  76796. 0x7a359e11bd48c221L,0x6807f0b5bf80fbdcL,0xdfe57fff51b3a6fdL,
  76797. 0xe58f3c47b6794229L,0x7f22cf6adef683baL,0x00000000000001a6L },
  76798. { 0x551bbae28c39f9afL,0x5057c3a7b1e075dbL,0xeeedd6009e0d386aL,
  76799. 0x8d60b730715b2507L,0xd65f990b840be62eL,0x666437b2287cc361L,
  76800. 0x11c2019c9cfe886bL,0xbeef8eb4ebf4ce61L,0x0000000000000008L } },
  76801. /* 25 << 350 */
  76802. { { 0x71df4f783f6d4a3dL,0x6ac9564700648a32L,0xb4173a57d4684f87L,
  76803. 0xf0ae2e221d713b5dL,0xe8eef4e62c7e0fc5L,0xd646dd421ec5f774L,
  76804. 0xc5e4f3dc1af0e91dL,0x73fcee0ba0aeff88L,0x0000000000000123L },
  76805. { 0x054667e6cb349e02L,0x2d76accf002f27bcL,0x639a3672d120b014L,
  76806. 0x8402c2d156548bc6L,0xfdcef81372e04759L,0x09aed35779d36956L,
  76807. 0x5d0843b61de45356L,0x16e122f7b2d31760L,0x00000000000001c7L } },
  76808. /* 26 << 350 */
  76809. { { 0x5ff6e5554594bca8L,0x85a83cd1bcb20291L,0x4202282673cb711aL,
  76810. 0x24303de0175675c0L,0x426f264d2756e198L,0xbf84530704f7f348L,
  76811. 0xe8203455e5137f75L,0x5ab0febd0a6119acL,0x00000000000000a3L },
  76812. { 0x7e826f3fc403eb15L,0x84d63da08c0152f8L,0x4c0b1ad51370c544L,
  76813. 0x3a5afc691444a291L,0x4ffe236f29fec214L,0xb55331949df836dbL,
  76814. 0x816a0784d7e7ef89L,0x28a78c1c534192f2L,0x000000000000018bL } },
  76815. /* 27 << 350 */
  76816. { { 0x1ef828db53638a6eL,0x946738cd62a782dfL,0x126f1b39d74972fdL,
  76817. 0xae08daf5321db625L,0x8ed69c8a39bf7767L,0x3c65874016d76e57L,
  76818. 0xbebf5778cac27566L,0xcfbcae3b36ef536dL,0x0000000000000088L },
  76819. { 0x3f548dcbd43d8987L,0xcfe2a5921e3b8a98L,0x19ec85179e1c2d42L,
  76820. 0x9ebfff35ffe49227L,0x127821fc499ee1a3L,0xf02ebf0ae455b9feL,
  76821. 0x6e9864a56340b993L,0x615e97fedcc15810L,0x0000000000000012L } },
  76822. /* 28 << 350 */
  76823. { { 0x422833d5e2cce69eL,0x3c1c8bdb69ff8b37L,0x44d41dfbc9fb427fL,
  76824. 0x15bee2ddc54a1824L,0x9c804025e8ce4aeeL,0x5bcc7e5d9e5665b2L,
  76825. 0xf38636a040b6270dL,0x84cada1a60b6778eL,0x000000000000014bL },
  76826. { 0x28b4411b9b47ccbbL,0xe4bc1e916c368197L,0xc0f36e6b2562c900L,
  76827. 0xc60d562888c55430L,0x2e9613dffb81c20fL,0xfdd934ed56872b5cL,
  76828. 0x6bacd3ad187bbdddL,0xf6f821d7d1e42d9bL,0x000000000000012eL } },
  76829. /* 29 << 350 */
  76830. { { 0xcd767d6025104f3eL,0xe0d35530b0b2f859L,0x6ca28dab02abdd82L,
  76831. 0x6067b9bbdf3510a2L,0xdedc9f658f189d83L,0x80496472f42b7bcaL,
  76832. 0x9c8802199fd57966L,0xe6774cf970aaf3bcL,0x0000000000000107L },
  76833. { 0xb1fb2955713d14faL,0x9ea12ac28769fe2bL,0xb0a35fbaeff1af3aL,
  76834. 0x1fbdd1db98d8b108L,0x6d7db12ef9b6f0a4L,0x0a56e4cbdadac116L,
  76835. 0x08431700b1c6b49eL,0xea501d0b69c53deaL,0x000000000000001cL } },
  76836. /* 30 << 350 */
  76837. { { 0x28007de29245c149L,0x0befcc909b90ec07L,0x734c6339e8639957L,
  76838. 0x3f754697d0a82a41L,0x4336d11d47c0be63L,0x8325f084bda10defL,
  76839. 0xff63085e6c2de53cL,0x67ee3dfcd36ba132L,0x0000000000000057L },
  76840. { 0x315b2f045951d063L,0x5c7f6d6eb6f8a257L,0x4783c43abe41ee82L,
  76841. 0x08bf94b9341eda90L,0x85f12aced8558536L,0xb6cef1f47c1a76afL,
  76842. 0x10c93a9304c6e842L,0x48967ee1f5ea5860L,0x0000000000000074L } },
  76843. /* 31 << 350 */
  76844. { { 0x66227cd38c9b254eL,0xc23c940e19fc7eaeL,0x20d5a008c3ccf958L,
  76845. 0xd81a909cec5f6eb2L,0xfa042069526ce89eL,0x9d5429428e7af449L,
  76846. 0x79cd81ded46860c7L,0x490a80a877275fc4L,0x0000000000000061L },
  76847. { 0x056ee04b63c81130L,0x4c31c93ad967f41dL,0x4f91d3347b98d3c1L,
  76848. 0x5a584efc0f5d4299L,0xb591f98e4bb653f4L,0xa4bdd54c2f4e0cabL,
  76849. 0xe2b6ae4e8905a6eaL,0x0101e1289d3abe7dL,0x0000000000000087L } },
  76850. /* 32 << 350 */
  76851. { { 0x15581925de0d59fdL,0x861dbef21e668987L,0x000ca03681fdaea7L,
  76852. 0xee45e5edb5007bf9L,0xd98680509485c5fbL,0xd58ca541e2a800b9L,
  76853. 0xa0d643df05e1bf66L,0x3db52cbfbdcf7da2L,0x000000000000011cL },
  76854. { 0x0a1db94387af7109L,0x33754c60fd35138cL,0x2bdff118fc19982aL,
  76855. 0x2e8eb645d22ccc69L,0xa7873cd2c73e39d4L,0xd024363e1d04ff18L,
  76856. 0x492503d60cc6abdbL,0xade16418185ab722L,0x000000000000015dL } },
  76857. /* 33 << 350 */
  76858. { { 0x69f6ad632c6d6564L,0x547345e6aaa70f65L,0xfe220b531e796903L,
  76859. 0x9dc4208eac90043aL,0xdbcb2f9b1ac77eb0L,0x1509e41b952cb582L,
  76860. 0x5fe81cfafa615100L,0x271bdeea16628120L,0x0000000000000084L },
  76861. { 0x09d9f31d93ba6f29L,0x87762e121d5b9333L,0x5c78a0f96729ad96L,
  76862. 0x252d6ba8fb40c1fdL,0xfa3b5aae976145fbL,0x3838d4e64345c9ebL,
  76863. 0x90a0427561b22f62L,0x3f2b49f9eade3582L,0x0000000000000139L } },
  76864. /* 34 << 350 */
  76865. { { 0x7e06283b88db8098L,0x5254f2d8bdc2ee3bL,0x19a4b99da7d1d2bcL,
  76866. 0x5b7cb7c9c823fcafL,0x1610c35b55920769L,0xe39bf6381629e60eL,
  76867. 0xbb17270b9ffdb484L,0x41f2041ae9758c69L,0x00000000000001fbL },
  76868. { 0x51a46b85b2c0c563L,0x2b69e1e711275735L,0xb671220e53b3dcbeL,
  76869. 0x7340bec853362fa3L,0x6f57ddb541eb7772L,0xdf0ee415cb596fb9L,
  76870. 0xc417728bff8477c1L,0x684c4fa4c3d566e6L,0x00000000000001d3L } },
  76871. /* 35 << 350 */
  76872. { { 0x43631e362ace4d30L,0x476ddfb7e15627dfL,0xd855ee87e9821f21L,
  76873. 0xaafc352d13a160fcL,0xd491b1e722a31120L,0x2e330621a26e8121L,
  76874. 0xb50d21650feadde8L,0x223817649b3f8fdbL,0x0000000000000161L },
  76875. { 0x577fc13560e6851fL,0xf4782a8cb3f655caL,0x74d5c579b0f5f244L,
  76876. 0xdc93688ba2d001acL,0xa28376ef70768956L,0xbcb66d8a81df4a2eL,
  76877. 0x2d1fd4b5f6ec5bb9L,0x95fa7d6ebc9d4619L,0x0000000000000069L } },
  76878. /* 36 << 350 */
  76879. { { 0x9c427efd472a1c76L,0xbb1abff22bb334b6L,0xec7c11468050c592L,
  76880. 0x3795ab5851c77dffL,0x403fa93cd0a8565aL,0x7ea1b2ca8560a630L,
  76881. 0x644b40bfd92ff341L,0xb83c8b3e25f2cbbaL,0x0000000000000178L },
  76882. { 0xe46c901a355d1a67L,0x0c8aab17077d71ccL,0x7d04573304f187a4L,
  76883. 0x3849de53bd2def81L,0xb0b7dd7bb334041bL,0xb05f3b1d245df6e6L,
  76884. 0x561b16a93433e78cL,0x25e1f0a1995c0111L,0x00000000000001b1L } },
  76885. /* 37 << 350 */
  76886. { { 0x998716bf439d38a7L,0xd7f8d80f14ec2b79L,0x52cc523e0a116fbdL,
  76887. 0xb6fa8f35c553eb57L,0x2a9daed4b1df475eL,0x0f2a03f56efb1ea3L,
  76888. 0xd87de564a207c6daL,0x0d29f1b85c150d6eL,0x000000000000000dL },
  76889. { 0x35c9657e7f6bd7b5L,0xcc1b5f16e96359f6L,0xc90a1783a5f70bd1L,
  76890. 0x27e8319147906464L,0x107cc69df52d2fb1L,0x224e7abbf2dfc93fL,
  76891. 0x6e0e805ec41e54bbL,0x30574ac25e5db791L,0x00000000000001d1L } },
  76892. /* 38 << 350 */
  76893. { { 0x32b656e891d18868L,0xadfe8b2599eece6fL,0x6c153a31bdf1972bL,
  76894. 0x1b84a569401b1912L,0xa2dd8754adb8c7f0L,0x15bd0ffb165374c2L,
  76895. 0x7d7f5807ff9e26d0L,0xe009311e92a12880L,0x0000000000000156L },
  76896. { 0x54d8f6bc9af03d71L,0x1126a5a5e0a9ef63L,0xc1f792885b103cb6L,
  76897. 0x5e67739473108a70L,0x9a3befb284db9b2cL,0x9333f1aca12fbb34L,
  76898. 0xa5d2a0f07cda2b55L,0x5372d3c2551e98a3L,0x00000000000001a5L } },
  76899. /* 39 << 350 */
  76900. { { 0x3d682a3d4db17b24L,0x7560eaf34eca0d89L,0x47e3a60c20dd7043L,
  76901. 0xab67577582a0d23bL,0x2714437809a33798L,0x117b3f8609a73afeL,
  76902. 0x15f677792e71e0daL,0x861f0bb2216749aeL,0x0000000000000034L },
  76903. { 0xb6755fb0e3ecd9c8L,0xc2db4ae203f7866fL,0x5d4e3aa16690fbd2L,
  76904. 0x1e38e9a09b18ec9cL,0xc2c95824c703231bL,0xa8c457089d8a4205L,
  76905. 0x5504ec5e4e6d1e7bL,0x42b6c5bb54127e2cL,0x000000000000016bL } },
  76906. /* 40 << 350 */
  76907. { { 0x94dcb7602d3724f7L,0x092d781e5fcdc7d4L,0xc3fedca6dc823e29L,
  76908. 0xc2c19e31aebf4ac9L,0x2aeac69beaee6608L,0x2c2e52376c85a59cL,
  76909. 0x08949223a91d8cf7L,0x9ef9b311f0811914L,0x000000000000003bL },
  76910. { 0xbc09e4ad786d0a50L,0x482bc9fd3b427aacL,0x614bde569d2ef9b9L,
  76911. 0xd9d846800763d7b6L,0xe1c9849c7685856cL,0x5761de36532a8b13L,
  76912. 0xaee9ae018ab8534bL,0x6297f7cdcffe238eL,0x0000000000000045L } },
  76913. /* 41 << 350 */
  76914. { { 0xfab2dfc946c1f383L,0xd3520f6418f56f5aL,0x443d47dcf8bd38b2L,
  76915. 0xdb480bec4f279932L,0x5bb596b154a485e4L,0xdcfb04fde2601b21L,
  76916. 0x0271c9d48a3b9c6fL,0xf67d082d938b7bb8L,0x000000000000015fL },
  76917. { 0xeef77c2d42f4ac8eL,0x2dd70fb546d67b2cL,0x5e588ff9d68b1997L,
  76918. 0xe29565b76ba5fa5aL,0x6764f0e9d4f57c19L,0xd6b78633e66716aaL,
  76919. 0x3483bdb27fd1a5a0L,0x24be2d70396089daL,0x00000000000000d4L } },
  76920. /* 42 << 350 */
  76921. { { 0x13ebb2e30333009bL,0xa842a7f9346ee656L,0xcb9fb67a1cb3b9f9L,
  76922. 0x9b5fc3e5903d755cL,0xe776dadc2c519041L,0x1a3bbea475246222L,
  76923. 0x8a1f073c2b03e847L,0x85beb02d5652c2deL,0x00000000000000adL },
  76924. { 0xae2eada769e89348L,0xbc20bd57cb14c2cdL,0x079bf80535196234L,
  76925. 0xbb48228f19ee0845L,0xf53f5367fb15d09aL,0x256bd1e0244cd8e7L,
  76926. 0xd4a0ec81c471a7e8L,0x9ba40ccbd4b56f89L,0x000000000000000aL } },
  76927. /* 43 << 350 */
  76928. { { 0xd8f106f9a769db32L,0xfca92fe9493257bcL,0x32b2bed729a888b6L,
  76929. 0x13fc9590529f5843L,0xe2edce083bcd4012L,0xb316e6af3edeb588L,
  76930. 0xa0bd8dde9cbb3ae9L,0xddb5d928d8601cbcL,0x0000000000000053L },
  76931. { 0xced907601d3ae473L,0xaf2f245cbe08d340L,0x15eef9c599466d91L,
  76932. 0x3bfb970e9a2dd09bL,0x03c79319fd4d1efeL,0x9c6204518ce8f852L,
  76933. 0x34b1b4dd37bb72ddL,0x225b8a0b6e356b38L,0x000000000000009fL } },
  76934. /* 44 << 350 */
  76935. { { 0x354d7d39ff3579ceL,0xd61a6c33687273dcL,0x8e79f8ba0bf66ea7L,
  76936. 0x0914b68cc532810fL,0x86a1f3be19d74cd1L,0xf663a8d2ea1de01aL,
  76937. 0xe890d4e8f989647aL,0x1c31bdc54c3460f6L,0x00000000000000edL },
  76938. { 0xc48f0b654d05c7c2L,0x10f0830687586519L,0x3a28a202b0b0b6edL,
  76939. 0xa1ebb5b9a5655d5dL,0xbf19a5ab05790e30L,0x1e4ad7b17d237ad6L,
  76940. 0x829ae2daa98c9125L,0x5406f57a544704b3L,0x0000000000000099L } },
  76941. /* 45 << 350 */
  76942. { { 0xb9a01925ff611f79L,0xd0dea6882d74a7d0L,0xd80aae28a95f1244L,
  76943. 0xf70563196bebe957L,0x4ae651ef7898c6c5L,0xd293ea624619976fL,
  76944. 0xee6b9a710bb857f5L,0x360dd469c307fd59L,0x0000000000000060L },
  76945. { 0x1a0bd0e9eb91952eL,0x30b79c523a77c2b4L,0x847f13fa4936db71L,
  76946. 0xcd9fe25186f14605L,0x7f06535625b761afL,0x01d47bae6eb335f1L,
  76947. 0xfdd96f8d6c1417adL,0x7dbd3cab6631990eL,0x00000000000000e1L } },
  76948. /* 46 << 350 */
  76949. { { 0xd83c97e2086cf3d4L,0x590b4f8641268fe9L,0x5c1bb1b8a6161137L,
  76950. 0x49a11f2f49eeaf5aL,0xc2cf4d03cbb75280L,0x21ce922a465592f9L,
  76951. 0x8c6eb3c8ee919d03L,0x5b9a98e8c6b5102dL,0x00000000000001b2L },
  76952. { 0xb4ef0faef120a8b7L,0x5e89cb627dcb8d5cL,0xcef0e7bef2f28c26L,
  76953. 0xb52b392db642cfc8L,0x040a684ef03da73dL,0x5a723b5297933d4fL,
  76954. 0x29fee2268dc82a55L,0xe3c0f2c4aca0067bL,0x0000000000000051L } },
  76955. /* 47 << 350 */
  76956. { { 0x8e229d60a712d633L,0x7f1fe86bdd051e59L,0xc11af604d4ee7fdfL,
  76957. 0x9c0795378a1c305bL,0x6a1303f3cb306a9dL,0x07ddfe2aa268a120L,
  76958. 0xc779ab13dae81354L,0x99f2a4b38406f8f3L,0x00000000000001daL },
  76959. { 0x484fb852a158cfd0L,0xa4af6f9d2ca5e503L,0x4a8f9542f4809264L,
  76960. 0xe2c2fbd1146c0eafL,0xf06da61c067ff9c1L,0x33667ed5cd3a0fc2L,
  76961. 0x708523a842fcb10bL,0x18b6364260d97a55L,0x00000000000000f9L } },
  76962. /* 48 << 350 */
  76963. { { 0x6af20098edcc581fL,0x744e603fb1d8ef85L,0x77a155e23a4c70c4L,
  76964. 0x7cfec62980e719e5L,0x6ad16816771adb9aL,0xab2b9ae6917101b6L,
  76965. 0xfa1c8fa122b8606cL,0xc6ade9b6912fc59aL,0x0000000000000099L },
  76966. { 0x5842a39a8bbc4442L,0xf7ccacc0937825eeL,0x8af901af76669dddL,
  76967. 0x4cf82e79e7ca6918L,0x379dab5022df76d8L,0x7070302afcc877bdL,
  76968. 0xa959a86b0dbbc81cL,0x38c984cb78c2c637L,0x000000000000008aL } },
  76969. /* 49 << 350 */
  76970. { { 0xe5e34c9afe2aa4e3L,0xbeef09e66cbd98ceL,0xf2326ace0f624fe7L,
  76971. 0x3145bf2e6b6bd9e5L,0x8e26b154371241dbL,0xa8d70886b20897bfL,
  76972. 0x240fcf30e4ec8a60L,0x065ad618b722ddfaL,0x0000000000000184L },
  76973. { 0x04e64b08825ed711L,0x2bc526e052ae37dfL,0x0d76611b2229209cL,
  76974. 0xc5ec72065543bb31L,0x5d661329bd37b323L,0x4aee961c97f208f9L,
  76975. 0x296e8e5af8bcea25L,0x55be6c51c7f25a43L,0x0000000000000183L } },
  76976. /* 50 << 350 */
  76977. { { 0xbd485a2168b9bac6L,0x96f8ca66b92c9bd3L,0x54651d6c9d5cd2ccL,
  76978. 0x85a397f49b4d3558L,0xf9d46be109323661L,0x0345303a0efc8936L,
  76979. 0xd7cb4ab7b2193896L,0x3838fc1e8567d8a5L,0x0000000000000092L },
  76980. { 0x9d27d6cc5888449bL,0x92fb49af08f1717cL,0x7bd684a61b7df8faL,
  76981. 0x8d22465d49ddd9f5L,0xea8a1ab00ce6997cL,0x8a1f6f92b62a9a5dL,
  76982. 0xba4ee8c067caa406L,0xeea34c787853c0fbL,0x0000000000000153L } },
  76983. /* 51 << 350 */
  76984. { { 0xcca88cfe71c9210eL,0x80dfea7f906985e3L,0x2d6d64511adc705aL,
  76985. 0x1f00f1cd6a679020L,0xc90876f676b76b73L,0xb6782716fda27e31L,
  76986. 0x38816e90e3a35a4cL,0x68eccad2ba92fb37L,0x00000000000000a0L },
  76987. { 0xe79f9da1ee9ca568L,0xf5177267a2f60f20L,0x51bd81c4442792a4L,
  76988. 0x16871ba6b31012d2L,0x423ae3d46c49f876L,0xc1761593ca51334aL,
  76989. 0xe3e4701cbf879981L,0x718001bdf5648e7bL,0x000000000000006aL } },
  76990. /* 52 << 350 */
  76991. { { 0xe05ad50282808e09L,0x7b5dc16001e4f0b6L,0x78d1ca1933a6eea2L,
  76992. 0x9af18043509cb3caL,0x1e796ce5ff953005L,0xcac11cada26b33f2L,
  76993. 0xfb9db0d67d84e525L,0x1b66890a8bb37875L,0x00000000000000adL },
  76994. { 0x7bdca42375d780efL,0x0af21a0bd16d7858L,0xb56371f7cf42aee6L,
  76995. 0x0ed2542214bc7ae3L,0xafafd8948c5de97eL,0x340a2c54bb065e75L,
  76996. 0x4adb4195861c19d2L,0x98c390dba914dc62L,0x000000000000001fL } },
  76997. /* 53 << 350 */
  76998. { { 0xa7f5f77023a25854L,0x95c125267a96c4dbL,0x61219e73c1777cacL,
  76999. 0xc6fee78ab8df403dL,0x78e99f85fbf090aeL,0x9b7e068c86a1283dL,
  77000. 0xbe9e1b8565ed0dcdL,0xf7a0bb1948a40837L,0x00000000000000bfL },
  77001. { 0xd389955952c2db22L,0x40469180e852e506L,0x450f976387d5db74L,
  77002. 0x7cd7fc5ccc0b418cL,0x1fb11db4a5fe3416L,0x4b72467f1c837bd7L,
  77003. 0x5619b345e8279f50L,0x4d0dea319ff61f46L,0x0000000000000107L } },
  77004. /* 54 << 350 */
  77005. { { 0xa948d7bf766acf6cL,0x8f741ac1004e4c47L,0x7f1a1ef4defbd931L,
  77006. 0x5c0d5e57e6cfa20eL,0x496aead973d9db88L,0xb5f11ff5d6f826d7L,
  77007. 0x668dd88800cd9347L,0x22f18499a4ba53dbL,0x00000000000000d5L },
  77008. { 0x420e05d696fbb953L,0xbe035ecb7c5c8155L,0x8027eea1d72b42f1L,
  77009. 0xd679566ddb39e9c0L,0x60205b0969fc5b43L,0x9a8ba2d92cfe4776L,
  77010. 0xb6677a309c14db60L,0xf9a134b3f1fc12dfL,0x0000000000000024L } },
  77011. /* 55 << 350 */
  77012. { { 0xc696cf6211e1d5caL,0xbbb285ad84300330L,0xf241d535d08e2f4aL,
  77013. 0x0c85f24ee196ee2eL,0x2b070d57bf38d376L,0x7ef93bd06a98849eL,
  77014. 0xb45d3d7bee04656fL,0x5fe517a5ad03b679L,0x000000000000015bL },
  77015. { 0xd3536e2059c48b4dL,0x5cf6b777913f2941L,0xab4e101bd476b4e6L,
  77016. 0x1f717cd6a1e63091L,0x65c565f6c58ba036L,0x72bc476f79c53ac6L,
  77017. 0x467ede3be42bf81bL,0xc31436b46e7c6917L,0x0000000000000161L } },
  77018. /* 56 << 350 */
  77019. { { 0xe8077e42ed76067aL,0x7a4d661b5885cfc8L,0xed03423d6e12c1efL,
  77020. 0x2af0bd867d62b094L,0x5d5c959dbcde7990L,0x91f3292361c8c493L,
  77021. 0xd3a2d1371ddd8404L,0x43cf907ee9416bdaL,0x0000000000000179L },
  77022. { 0xadd9d450f88ab3d4L,0x26abefd97b3c1b2cL,0x0eabdf60f0ec7168L,
  77023. 0x48584461499d981eL,0xe2024f8a65f1e952L,0xb13926bdcc1fc913L,
  77024. 0xe32e53c3ba02b960L,0x44b16d28b114c958L,0x000000000000003bL } },
  77025. /* 57 << 350 */
  77026. { { 0x0015027283ce0bcbL,0x5a6f1e8ad0a33983L,0x4d483980f1c66143L,
  77027. 0xb37a9caf03204939L,0xb5e0caab9891623fL,0xaa5e602a0af5cfd2L,
  77028. 0xdb19404a6aeb8e1fL,0x5e564a47d547c845L,0x0000000000000077L },
  77029. { 0x6502ddab6fcff0b4L,0x9b3b917c3c4d269fL,0x4277a91c89572b60L,
  77030. 0xc4ab1a611c4fc851L,0x5e50a72e44e44005L,0xfcbb6af8780ad0dcL,
  77031. 0xb4a90497c67497ebL,0xe9db959ad12b1f98L,0x00000000000001a9L } },
  77032. /* 58 << 350 */
  77033. { { 0xdcad1a7a26b19fb9L,0x0c1c5ff9750b92a2L,0x0f1fa28b058f95fcL,
  77034. 0xb032e27098ee6b1eL,0xec3517835342789bL,0x61a075fe7dfa4090L,
  77035. 0x2f5bf3468f71a0faL,0x3c420b15ba67509aL,0x0000000000000179L },
  77036. { 0x96facab3da8a643bL,0x1072c6a32b8a5245L,0x9b4459674b2a6bacL,
  77037. 0xe7f134edb7657d74L,0x6fa48f3fa4ef87d2L,0x716df761e3af3715L,
  77038. 0xe49d3969fc7f3d67L,0xd570e53846ba85dcL,0x0000000000000096L } },
  77039. /* 59 << 350 */
  77040. { { 0x47a2e7b45d421347L,0x049637bb55c6424fL,0x5213873c8891d0afL,
  77041. 0x06df936818937d59L,0xab5b355bb5d15bd8L,0xd7cf6264f203554bL,
  77042. 0xbc1ddb87b0e99f34L,0x8fbc558ac4d2b9e1L,0x0000000000000084L },
  77043. { 0xb56dec543b99c8abL,0x41e629b48623e2feL,0x47827ed735ba9b9fL,
  77044. 0x23b57733e9486cfeL,0xa700b45f5fd4f31bL,0xb79d74ad710066b8L,
  77045. 0x7b479783645d8579L,0xee14d73cf1a07835L,0x00000000000001abL } },
  77046. /* 60 << 350 */
  77047. { { 0xe769d8f767a1352dL,0x49b1d2c3e9856974L,0x9c15a1fc86e54afeL,
  77048. 0x2d2c7e68b0e5b119L,0x3556ac15432cf4a2L,0xe25ebe20f39d2d76L,
  77049. 0x048843ae51e8c89eL,0xce4822e802531be3L,0x000000000000004dL },
  77050. { 0x4992a988c947b6d7L,0x7eb5fe67eb717c00L,0xd4f2215be33b7f1fL,
  77051. 0x32b9fcc2a4511d0aL,0x4884419d4d1089c0L,0xd7457e3e3dead6f2L,
  77052. 0xf12c9f16c66123f8L,0x2ff7bccda2831727L,0x0000000000000025L } },
  77053. /* 61 << 350 */
  77054. { { 0x0e0272a0d8d3b893L,0x63fb603b4c72d7cdL,0x2f171bdfcf3b582aL,
  77055. 0x624213d2708de1bcL,0x8a005cb66837c905L,0xd4146129e3c98adaL,
  77056. 0x1ab6660facaabcb7L,0x0db3d2d28ac26da3L,0x00000000000000d5L },
  77057. { 0x48509cfbc07194c3L,0xff8f379fd2f9b6d4L,0x08de73963fc8d8cfL,
  77058. 0x01b7305c8cdb7e13L,0xc49a1ceb4975a9a1L,0x5d43e036ac7b27e9L,
  77059. 0xd966fb67695b828fL,0xc7ec9f958dbdffebL,0x00000000000000acL } },
  77060. /* 62 << 350 */
  77061. { { 0xb044c5b0a1f25fdcL,0x6bd4233dcf34c1edL,0xbdbfa1ee0d505218L,
  77062. 0x1437801986e88bfbL,0x954329dfc9a0bf44L,0x7fe788acfcddd582L,
  77063. 0xc89b05d567f5acc9L,0xfb5501ae95b0f029L,0x000000000000008dL },
  77064. { 0xd48fc71fa2c08347L,0xd7b35093f58203e8L,0x577552bf58cd9e2eL,
  77065. 0x4832a9a2b63e6139L,0x6c51bff38d52008aL,0xb06b694411d85498L,
  77066. 0x617537ad72466c2bL,0xd62576bc4e09a213L,0x0000000000000087L } },
  77067. /* 63 << 350 */
  77068. { { 0x66ced69ad8552a05L,0x53532f6f8c357a98L,0xf59b886be8474111L,
  77069. 0xa434122383b36ae0L,0x5116daeee9fb4e22L,0xcbf240f8f9944958L,
  77070. 0x7f5ee08c446b39b9L,0x7b1439a31d6d5952L,0x0000000000000013L },
  77071. { 0x1bd881fb009f21c3L,0xd0e41f4209dc3ff4L,0xa0a93d64bf8bd854L,
  77072. 0x4755443ddf4bce85L,0x2c7dd3ae5137e57cL,0xb46efb67abbc8e6dL,
  77073. 0xa9992f040bb87209L,0xf87c5f8f5b4ea762L,0x00000000000001b3L } },
  77074. /* 64 << 350 */
  77075. { { 0x58e8ca2cea2e4075L,0x5307ba37f271d545L,0x14de3b6e7ae7ad07L,
  77076. 0x6bf3dac6169efeb3L,0x7be665b6f0996ac4L,0x3cbd076660a81ea5L,
  77077. 0x93369d84b0876044L,0x33cd68dc8a489412L,0x0000000000000133L },
  77078. { 0x44912d16dca5b802L,0x3c30f445808db8c1L,0xd59e92904d2b7d5cL,
  77079. 0xc1e20a6b2697a600L,0xfbbe023c3a028772L,0x8873d0bbc6e3b099L,
  77080. 0x5fe76ac9050828adL,0xcf2ac286c0ab0ab0L,0x000000000000003eL } },
  77081. /* 0 << 357 */
  77082. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  77083. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  77084. /* 1 << 357 */
  77085. { { 0x5fc885130076c379L,0x85e6f65cf31e63d1L,0x5def4f28ebc87b34L,
  77086. 0x74d28f51ed0be6efL,0x1b83692d38771840L,0xd791f738a859b7beL,
  77087. 0xed0cc1fea02d058eL,0x2b1befc5fecd2e54L,0x00000000000001a5L },
  77088. { 0x63864b8948cca591L,0x38195d6129335913L,0x8dc688bcc799aae4L,
  77089. 0xb6d23959417331b4L,0x3d08b4f2743f8e65L,0xd46215b24fec2809L,
  77090. 0xb37d17000497e0f5L,0x6bb17cc026ee48a6L,0x00000000000001e7L } },
  77091. /* 2 << 357 */
  77092. { { 0x59614f8580c55f68L,0x9dcd662c60ced87bL,0xe6dc932bf852f5aeL,
  77093. 0x9db84a914f45a31eL,0x6062b2d6babea7acL,0x54a5881d28b65906L,
  77094. 0x551e0b60b0f80dbfL,0xdb468350b286f88cL,0x000000000000005bL },
  77095. { 0x905656106bbb805fL,0xe38f65a46668e10cL,0xe619256657f2578fL,
  77096. 0xc26d80922a72a1abL,0x904a9a525119d939L,0x622f5869d6709295L,
  77097. 0x0a6ed42974543616L,0x8dad3c361c388e75L,0x0000000000000135L } },
  77098. /* 3 << 357 */
  77099. { { 0x8bf2fd7e6dae890dL,0x6b675c1fc9028f7eL,0x627b27a810d1a8c4L,
  77100. 0xd24c988bf522e753L,0xab18f36ae0be9869L,0x9ff0e1fa962cdfa1L,
  77101. 0x14911ef55945db5eL,0x6fd48fb37652ab6dL,0x00000000000001deL },
  77102. { 0xf8184ce8fbb2e5ebL,0x02056b25b09791edL,0x2e11264024abee11L,
  77103. 0xcf22e0fec5119309L,0x64e4ed26136a9cd4L,0x16bbcc713e9b4baaL,
  77104. 0xf2970b1f83d64789L,0x82c66547ec9a3758L,0x00000000000001cfL } },
  77105. /* 4 << 357 */
  77106. { { 0x9bf40d7110205c46L,0x10f27886161df55dL,0xdda5b7624763c7b1L,
  77107. 0x4bce55110fbe9f17L,0x8fa954484bd30a7dL,0x302e33b31d27e799L,
  77108. 0x4ddde60f9752ffd2L,0x98ddb153cded611dL,0x0000000000000069L },
  77109. { 0xdd9abcbb3e817caeL,0x3c6b3ffd52c627c2L,0x3209e7b3e28c3dfcL,
  77110. 0x376f4071edb287bdL,0x9ddaaa58af0fab10L,0x969074cff859b34eL,
  77111. 0xe16aec58c87e6ef9L,0xc5c7d470d113b6e0L,0x0000000000000066L } },
  77112. /* 5 << 357 */
  77113. { { 0xf0007020c199ebccL,0x1b8570d6f910a2a2L,0x35daadb9b2f82126L,
  77114. 0x49a1e3218ca81d3aL,0x608ed9749a7ad74aL,0x92ae9decbb27faf9L,
  77115. 0xea7db297dedcc552L,0xb61e57ff65e726f1L,0x00000000000001deL },
  77116. { 0x8b30b706d4b6b7e1L,0x9dcfebdd75d5772cL,0xa1e51c660b5f72fbL,
  77117. 0xc594354756a7d61dL,0x45520f75912e1f45L,0x5c5df563771562edL,
  77118. 0x8a2ee7850bc64d28L,0xd2c21b1430d7b664L,0x00000000000001b5L } },
  77119. /* 6 << 357 */
  77120. { { 0x845cd18adeaefda9L,0x0e694ca269b50e21L,0x060bd03952e5334bL,
  77121. 0x4ab963a525bae929L,0x7904f9fd2a8fceb0L,0x535df726e889b7beL,
  77122. 0x1fe0c30dab8d94f2L,0xddc0e7323f92e2a5L,0x0000000000000106L },
  77123. { 0xcc4c26e5404844ffL,0x53c01a4d301aa56dL,0xf7eff6a4a13a9558L,
  77124. 0x994253bcb771fc98L,0x5b9323e8b1d9733cL,0x29ed522b1cb7c6acL,
  77125. 0xe537003a3e4426a7L,0xbd83f66c36f23bb7L,0x00000000000001afL } },
  77126. /* 7 << 357 */
  77127. { { 0x732634970e7e5ee4L,0x01e0819a4f8e43afL,0x04dc6911b2620d54L,
  77128. 0x5908bdeab166dd4bL,0xc27f597530b81a6eL,0x4f969894d47d8ce4L,
  77129. 0x7d26b944a9b9b5fbL,0x1c77d724f2e481a0L,0x0000000000000007L },
  77130. { 0x99eafe7b9fefc298L,0xafeab30d35dfc4ceL,0xd9868f02b3fd8794L,
  77131. 0xe8470c347893a641L,0xbde8016f9a5f544cL,0x5735714a2d93e0baL,
  77132. 0x72d7a1dc41d47e55L,0xced50d7a89fe1dc2L,0x0000000000000137L } },
  77133. /* 8 << 357 */
  77134. { { 0x9dae6d7af8ece594L,0x7ad12f48cce0b041L,0x9d97efc7e7374970L,
  77135. 0x7b8b1668311f5e2eL,0x0d68a7b6bb741640L,0xf9ea3dea9be65aa4L,
  77136. 0xaa3e6811a11c78a5L,0x155ad4e50ac6e65eL,0x0000000000000062L },
  77137. { 0x5936d4fefebbfad7L,0xc94f1262a30ed6c6L,0x6013faf4b2081a7dL,
  77138. 0x684ffdbf85a4e883L,0xaaff243819dbdad1L,0x8f3484441f91e40fL,
  77139. 0x145d06f61ecea707L,0xeb7a4980ecbade82L,0x000000000000004dL } },
  77140. /* 9 << 357 */
  77141. { { 0xaf2d0a71a39faa14L,0x8c192e6be5bb2afeL,0xd62e45a44cfcdd3dL,
  77142. 0x7b553314289c2da9L,0xfc4135f79db2af8aL,0x9f4be8fde9590378L,
  77143. 0x20cb71f77e1f9d5cL,0x7b970c069a6d8b0eL,0x0000000000000090L },
  77144. { 0xdad63341ad2a5036L,0x8939b2fc3a6dbfb5L,0xd660a719b32c3bd2L,
  77145. 0x61fea0eae187ad41L,0xc6e6c4ea766eed17L,0x0e85a989e14c91a0L,
  77146. 0x8bf97e641167f7f1L,0x7a2eecaf37718ebfL,0x00000000000000d9L } },
  77147. /* 10 << 357 */
  77148. { { 0x374b1611a7274ad1L,0x2a0b82fdfe17b597L,0xa38209dedbe87483L,
  77149. 0x2d31a7607617b6e9L,0x8b68a60b8c2631d7L,0xe290dfe601490869L,
  77150. 0x9eedf0d622e67ae5L,0x17cdcb0f9c04930cL,0x00000000000001e0L },
  77151. { 0x8946af4e6874b6ecL,0x76be50db614e6518L,0xaf1e6990ff304e05L,
  77152. 0x810413073edb16eeL,0x9d7160e06d0ff72cL,0x580b29bd12ef3a1dL,
  77153. 0x47c5d81c5af9a9f4L,0xf96ef0842d828b7fL,0x000000000000009eL } },
  77154. /* 11 << 357 */
  77155. { { 0xa49b5b4d854620c5L,0x9e05bef6a25f2145L,0x53939ef2c63ed521L,
  77156. 0x436783a1db13d740L,0x38f3aa8913f1e4b7L,0x23317818c364e263L,
  77157. 0x301a26769ed21c63L,0x6e11a2342730950dL,0x00000000000001fdL },
  77158. { 0xc0dd00fe5bb3e26dL,0x0af3994912689233L,0x7ac01fb7c309b0bdL,
  77159. 0x21ee2903f25bebf8L,0x9d9ae3a052f8b604L,0x3602803614c273dfL,
  77160. 0x26126518bf5a2cf8L,0x022b5683c773cfd8L,0x00000000000000fdL } },
  77161. /* 12 << 357 */
  77162. { { 0xad453d3e15710148L,0xd5a72dcf93265c01L,0x153d58940f137f83L,
  77163. 0xd15b25236577f8f0L,0xc378424bb1bd2bcaL,0x7ad83eb42dcc38e1L,
  77164. 0xbe6c5006dea00d85L,0xf381d7b3003be5f5L,0x00000000000001cbL },
  77165. { 0x4290cf81a85be17cL,0xc4387af383bc4817L,0x81afe2281c4b8079L,
  77166. 0xf231b430a26513baL,0x1d86f33cd7539aeaL,0x1bb43b3e9c4253fdL,
  77167. 0x4eb49f8461000d51L,0xeaf801bc8115d791L,0x0000000000000053L } },
  77168. /* 13 << 357 */
  77169. { { 0x4fb83cd0f34cb82fL,0x69c93fd4019a99e9L,0xf9b3eb3e08b00516L,
  77170. 0xcf76e0e08510cc7aL,0xe20bf27cacf20956L,0xa953142555e33a65L,
  77171. 0x03e4e262d550453dL,0x493cf4e09dd063a0L,0x000000000000004eL },
  77172. { 0x677087f92a9ac3feL,0x4e26f17fdd36a879L,0x35822e0e3ced41c4L,
  77173. 0x0e5d370bf3c6996cL,0xc7a460b123afc844L,0x2b4d9af0771476f7L,
  77174. 0x5c3fffd48f8c1c25L,0xb02bbf7ab8ab8cb2L,0x000000000000016bL } },
  77175. /* 14 << 357 */
  77176. { { 0xfafd5607c5208d6fL,0x827f270e00c9ba87L,0xe8e7a1c84b607882L,
  77177. 0xdd16443cf35d1a14L,0x2bd6a6a7bedfd9feL,0x62942d8dc5b2c568L,
  77178. 0x590c4759127313a4L,0xc53b5fc26501778cL,0x000000000000009dL },
  77179. { 0x77c992e56221cd29L,0x1087ff0a2a5ecbeaL,0x1fca36f63f82e7dfL,
  77180. 0xdd6bd34d86fcbc98L,0x1edd8206d7088562L,0x2d9973d492bd31bbL,
  77181. 0x7f0e3aaba49088c9L,0x5a80616ca6b9082cL,0x00000000000001a6L } },
  77182. /* 15 << 357 */
  77183. { { 0x6c9c00cc9425d127L,0xb73e7c9e46995ad4L,0x63ea143a999706a4L,
  77184. 0x6c760fa3855b0262L,0x596b82bd2e3f833cL,0x6d1125d423701b52L,
  77185. 0xe44c7901fd4fdba1L,0x6e669d073ac0d4f9L,0x00000000000001e2L },
  77186. { 0xa580b58e12c34bcfL,0x56f7058f44605f24L,0x10addb7d59c18830L,
  77187. 0xd6c8cebf0522df9eL,0x1d4e0092ce01eedbL,0x545e99de98246639L,
  77188. 0x5898dc3c288b42dbL,0xfca8d04f85fc96dcL,0x00000000000001e4L } },
  77189. /* 16 << 357 */
  77190. { { 0x600c5b055bb88603L,0x9e4b5b739be3b3fbL,0xd485d76b4844ab63L,
  77191. 0xffa20a3320cd3b55L,0x6003ad11e40ec83bL,0xeb5423b4eed37ac2L,
  77192. 0xc25c87c09d4a0f44L,0x2de4bfe703c0e7d4L,0x00000000000001eeL },
  77193. { 0xaa9ee44d14bc1043L,0x9fc3875a24c86d4eL,0x8f9bc8b6b7405ee2L,
  77194. 0xaede13e5b46a336fL,0xbf5de69f6651c1f8L,0xb8e7a34070dc1e30L,
  77195. 0x437d3592f4d76655L,0x2d2c90e1beee67b4L,0x00000000000001c6L } },
  77196. /* 17 << 357 */
  77197. { { 0x4664ebe900c657d5L,0x7a43a626fad6a0baL,0x0fae848fa1a45bf4L,
  77198. 0xaaba18c1a7724169L,0x10f5d5da8bd42cf2L,0x7e8c8325bf839af2L,
  77199. 0x8d93d80931e37653L,0x74a5f0c70d179a63L,0x00000000000001f1L },
  77200. { 0xa04092aac673ef06L,0x22273ee1f1f44e71L,0x82b91d97d2424e61L,
  77201. 0xa9bbc3a3e15c0618L,0xe5affe60c664d826L,0x69a5df34ef461b41L,
  77202. 0xb5fcb32a9537f22bL,0xab073066f0b136ceL,0x0000000000000077L } },
  77203. /* 18 << 357 */
  77204. { { 0x291c30d8d404dbe2L,0xae586d4eba4aaab0L,0x4aa25d064fe7c560L,
  77205. 0xdd8a3fa74a2c320eL,0xb4d269773ce46c90L,0x095e11baa1e6595cL,
  77206. 0xbbc02c14dfcf4a78L,0x300d1c7c6fca5975L,0x00000000000000faL },
  77207. { 0x8f0f92e04d75128dL,0x32cf5813b7cce9f5L,0x723bf4fb506f432bL,
  77208. 0x6d4165742f9bfc6cL,0x6d46f9a0afeedb54L,0xa80d2408ab7e42b4L,
  77209. 0xdee2b761092cd638L,0x5ca05ac471680b52L,0x0000000000000078L } },
  77210. /* 19 << 357 */
  77211. { { 0x67ac7288f9b1e2a9L,0xd39accd88a9618dcL,0xf2eea4079788f1cdL,
  77212. 0xad399fed231e29d4L,0xdd9ed7a7c3fb75bcL,0x5e209b29d3b22d47L,
  77213. 0x207a0f402d4f8b93L,0xd6c21ae9ad537dd5L,0x00000000000001d6L },
  77214. { 0x12f0d8e20c6e991dL,0x9b2203f781f55960L,0x682308fa3fb0ba6dL,
  77215. 0x58c21718501385bfL,0xe7edb949f2e89261L,0x711b06333e12d5dfL,
  77216. 0xac5ff61ab4711546L,0x359f9e52fbe942ecL,0x00000000000000f1L } },
  77217. /* 20 << 357 */
  77218. { { 0xa7141cb5aa76edf9L,0x709fb9dbcdcda2d2L,0x49a8a4a4cafc26ecL,
  77219. 0x4fc050c2b2aaa10cL,0xffdc2eabf44d5826L,0xf762925f09ea8dd8L,
  77220. 0xd6378df3f8d1c25eL,0x26e9594cf8ef4a7eL,0x000000000000012dL },
  77221. { 0x17199c483eece377L,0x629bc6f2efd1ac52L,0xf4d78f2194fc4c0fL,
  77222. 0xce45f81dc083c2b9L,0x26e4498e79b23374L,0x8e61a4c5d50a6fe3L,
  77223. 0xde6b4c398df5a418L,0xc5b45d1908a404ecL,0x00000000000001a9L } },
  77224. /* 21 << 357 */
  77225. { { 0x59b3569b5557920dL,0xad74bcaee1289fcdL,0x1da74246b83a07d3L,
  77226. 0xb8281e1a04d7b322L,0xff7eb19711c785efL,0x401faa11f3120671L,
  77227. 0x757abd6ac64f7560L,0xba32b8d9912332e2L,0x000000000000015cL },
  77228. { 0xbb6740b88645d3ddL,0x21300afd5fb11e5dL,0x52e8e04d824b3790L,
  77229. 0xff431ad6955ae754L,0x297251b6af3db93cL,0x815b56ad6e5fe4c4L,
  77230. 0x7bc72cb2302c1847L,0xb47872d5d8ae63fcL,0x000000000000010eL } },
  77231. /* 22 << 357 */
  77232. { { 0xef086d92606c5ccdL,0x0368a9b91ad1f2a1L,0x7dca53159a4216d7L,
  77233. 0x3b9722752ba7308bL,0x680fb882cbdcb20dL,0x8cf5b86093be3a49L,
  77234. 0x2c366b9798528bf8L,0x83e51a9a2a100078L,0x0000000000000039L },
  77235. { 0xc4d52471a89bca47L,0x1b57283abe28d462L,0xd2435fb58f2b7ffeL,
  77236. 0x9c3b714e58596f3cL,0x29cc40da99689f33L,0x1f94e6936d34becbL,
  77237. 0x226148c7690e3096L,0x1b37296b5db2e1a9L,0x00000000000000d9L } },
  77238. /* 23 << 357 */
  77239. { { 0x86aaa7871589aaafL,0xa58a71afcf62397bL,0xb3f39935783c57c4L,
  77240. 0xb4bb84bd1d05d2daL,0x8dcaa3a8bcf38515L,0x0328ff676c302fbbL,
  77241. 0x2f6ae585de90d3bfL,0xce78807594b3fa66L,0x0000000000000082L },
  77242. { 0x3020d12b6ae46a4cL,0xa4a0efdd0714efd6L,0x4ce6635189a1f1f7L,
  77243. 0xa42a3a2d17f8bbb6L,0x3e63a2011cd5084bL,0x0e34ebb1e4b7753eL,
  77244. 0xb0db48f4e104b70cL,0x6365edb85230ae6dL,0x000000000000016bL } },
  77245. /* 24 << 357 */
  77246. { { 0xeaa998a0008164d4L,0x15d52dcd413f4ff0L,0x3b180c19e4ff76a9L,
  77247. 0x879fdc34c30ecbf4L,0x7ec379cd518fd432L,0x8a51bb32e6161641L,
  77248. 0x92e85885d582e0e8L,0x5503550ae00847a0L,0x000000000000008fL },
  77249. { 0xddf4c5cc039b003cL,0x0c8d3f93c4814d97L,0x213ca9b502075f02L,
  77250. 0x347d87b988920f8eL,0x96ef11c896dbf1b7L,0xb092ba1ccf927dc6L,
  77251. 0x6a12dcc7d068f694L,0xe98db68d16a6e447L,0x00000000000000aeL } },
  77252. /* 25 << 357 */
  77253. { { 0xc29f18d0d033e447L,0x4bf3a1eea22ae892L,0x92527cbfb0eb6f5bL,
  77254. 0xbf7f74b77873907eL,0x32e0d8d0c55a06f2L,0x801bcde493e6f6bdL,
  77255. 0x8ea36c4790dac3f8L,0xa17b404d8d084a01L,0x0000000000000096L },
  77256. { 0xadab47b6278c74d3L,0xbd17de910fa2bbdeL,0xb85a0413ca875158L,
  77257. 0xade2a656639a7532L,0x5434ba0b0f86e65aL,0xa4b00d71423a16d1L,
  77258. 0x2025b8db4f9d19e8L,0x774d5ba564a9c56aL,0x00000000000000e2L } },
  77259. /* 26 << 357 */
  77260. { { 0x89e6bc861181af3fL,0x989fcb1039d582cdL,0xdbe760be95374939L,
  77261. 0xc2a3b1a495db6d56L,0x00ca290f0bef3e32L,0xa80d17d5fb7e42c6L,
  77262. 0x37f23682391433b0L,0xa1497300fd3ba245L,0x00000000000000faL },
  77263. { 0x6684500110b99e4dL,0x163a5154d25f774bL,0xc3cb0e0eedd0e224L,
  77264. 0xf3b428594639adfbL,0x29b757cb827a88cdL,0x3b93e712313a5d62L,
  77265. 0xe90427941f2b4ad6L,0xd96f3be6f339ce2fL,0x000000000000010eL } },
  77266. /* 27 << 357 */
  77267. { { 0x9d900733986982c4L,0x318552d9ac043e1bL,0xc31329e818f19cd9L,
  77268. 0xd4545cc6e6d8fedfL,0x584a8c309990ad83L,0x9822bf5cc7f5de2aL,
  77269. 0x88a4ab27a1a0595dL,0xf33dbec11849603fL,0x0000000000000044L },
  77270. { 0xee18a6fa902af180L,0xbd6749d62d8a0745L,0x90f819e378988322L,
  77271. 0x77cbf6c1a8a89881L,0x2b25b032afc38279L,0x039111b11f85e6f7L,
  77272. 0x2d5c9c44f53149aaL,0x612b1f34576a5889L,0x000000000000017aL } },
  77273. /* 28 << 357 */
  77274. { { 0x57e0945b3f162106L,0xbf09909356b68350L,0x0dc60a427081a881L,
  77275. 0x83130a725c91ff51L,0xdfc2900ab5421031L,0x7adcbe4cda92cb5bL,
  77276. 0xe3b1b4e350fe781eL,0x825e00dc27e2e2f5L,0x0000000000000023L },
  77277. { 0x69dd98e974ae5f26L,0x65920f1833082671L,0x9667d392dfeeace1L,
  77278. 0x080e764c3d330572L,0x2e4af049cbec5f4eL,0xc33a0fcd50d4523eL,
  77279. 0xea84623a4fd8106cL,0x030d9f36f111aca4L,0x00000000000001deL } },
  77280. /* 29 << 357 */
  77281. { { 0xd59b137dd906f557L,0x13e53d54b000c6f4L,0x97b11ef277220004L,
  77282. 0xefa864eaba1ad04bL,0x01bbe0c53b9940a5L,0x093438c59461c4f5L,
  77283. 0xb8bd4858f02e4c47L,0xab236955aacdcf32L,0x0000000000000177L },
  77284. { 0x300f6e4fdc6fa477L,0x636c5e24479bc943L,0x162fb16b0a3037b9L,
  77285. 0xc9b34c7d8d1c8090L,0x7575aeaa39f26c09L,0xea576004e4a9b03fL,
  77286. 0xaa6ffb966b070d8bL,0x5f363e8ee19d31f3L,0x0000000000000156L } },
  77287. /* 30 << 357 */
  77288. { { 0xaec64b223ceb9d8fL,0x01c0e019c11322e0L,0x7fa117ffa28fed94L,
  77289. 0xb4fd42817951378eL,0x9272e9c11a7e709cL,0x778d28e9d6c3adabL,
  77290. 0x5dff9492913d9fb1L,0x5295e39d2db50e08L,0x0000000000000022L },
  77291. { 0x0793b7a2b251c930L,0x38b7ac80b20ea902L,0x63832322ecd86c5dL,
  77292. 0x7c7085f103041135L,0xc6a97824da3beea4L,0x243049099bbf9d98L,
  77293. 0x1dbbd3e6c5aa02c5L,0x777406cf81715102L,0x0000000000000101L } },
  77294. /* 31 << 357 */
  77295. { { 0x9ac223c2833f5b6eL,0xa41661e2c8ce1d45L,0x8e5c81882f76714bL,
  77296. 0xee29488c14400154L,0xf64aff1c7f02d81fL,0x2b93109a6b843a48L,
  77297. 0x88156fe61c2562efL,0xd4636076ee474fb2L,0x00000000000001c3L },
  77298. { 0x42c4cdd8a6b2aabcL,0x0cefb9353c0ab8d5L,0x950ee61226769ee7L,
  77299. 0x516831ada2977cacL,0x1174ac00ed854041L,0x261d3bcee16cfcdeL,
  77300. 0x8706465a2f4e7899L,0x18f2aaaff290e5cdL,0x0000000000000037L } },
  77301. /* 32 << 357 */
  77302. { { 0x46f9436c06c9837eL,0xa4feb9d508fea5bbL,0xc733ef31aa2ff650L,
  77303. 0xa58f3ffe205e0f43L,0x54d1150fbf567988L,0x78c0ac9216052b8bL,
  77304. 0xed2e587ba2f59a1bL,0xf80d6e5c2d6b5969L,0x0000000000000105L },
  77305. { 0x5029c675207ff447L,0xd8842988dedc6a4cL,0x5c3b90e4cf78d639L,
  77306. 0xa008ae416e8e9794L,0x098d2fe729023bd6L,0xf4bc574a003e7a86L,
  77307. 0xa7a024993d4ffa1eL,0xd55641098d521bd5L,0x00000000000001e8L } },
  77308. /* 33 << 357 */
  77309. { { 0x747b5923d475cebdL,0xe868d30ae7454df7L,0xc60fcf2ae8560236L,
  77310. 0xddcff0f2967f3f67L,0x84fbe85f458c2bbaL,0x3daf2c80fbff1388L,
  77311. 0x4799d4f27e86e7f0L,0x84482f9e8a74569dL,0x0000000000000018L },
  77312. { 0x521f01352b57d1d3L,0x7b4a58b49c2977e1L,0xd4b814010c9765b2L,
  77313. 0x50c0eb1af6d91eefL,0x2ad82cb773e68f47L,0xd4768ebb16252241L,
  77314. 0x92b37e3e308599d7L,0xea44f24f999beabeL,0x00000000000001d4L } },
  77315. /* 34 << 357 */
  77316. { { 0x7ec4adf92400c234L,0x956e6df24207eac9L,0xd2676feac9e07ecaL,
  77317. 0xb1d7900cd44e5bc2L,0x7371f0078421b464L,0x9dd2c07c552ddfb8L,
  77318. 0x55b32fb91ab48f64L,0x4c7aa6352d161efcL,0x0000000000000016L },
  77319. { 0x62af0f34d40817d4L,0x2bc7f399354cef0fL,0xf614ed51aef88f33L,
  77320. 0x2a8aaaf6562eb7b7L,0x3f69e05f9374c7f9L,0x4e8580ac24a5d254L,
  77321. 0x9fb8ded394aaed09L,0x47ee6861b44f65f8L,0x000000000000009fL } },
  77322. /* 35 << 357 */
  77323. { { 0xb88da0dd0cb7d987L,0x5803bf709d01e454L,0xcaa7cc1831cc5a05L,
  77324. 0xfd0c0e2094704898L,0xd20841e583df7331L,0x0dadf18abf70720aL,
  77325. 0x0eee9aa2e95a1826L,0x47c43dbaf7356e8dL,0x00000000000001b6L },
  77326. { 0x46f3881f01992a30L,0xf99d10419928c31aL,0x8cd5efdffba1c52fL,
  77327. 0x527ddf05123c3357L,0x46943c89233150b9L,0xf41e12734bbd1ea8L,
  77328. 0xa0cd7fce8c62e10cL,0xfd21a999192e00f3L,0x0000000000000183L } },
  77329. /* 36 << 357 */
  77330. { { 0xe6e75221cfe610aeL,0x1c98a33934eb829cL,0x1c8d8d909a4ac715L,
  77331. 0xace287a451bd9ccfL,0x24fd7cfcbd6b8384L,0xce03abe6093b52baL,
  77332. 0x42ac7a7ae38467d1L,0x97663c10c0df6af2L,0x0000000000000173L },
  77333. { 0xeab753a507e4f493L,0xe36b7afafecb8668L,0x02694012da27628cL,
  77334. 0x8cf6fdf942bc520aL,0xe8549a7e7f995666L,0x5f0a927973d4a08aL,
  77335. 0x1a87664ab708a5f3L,0x68333933435d6adcL,0x00000000000000ceL } },
  77336. /* 37 << 357 */
  77337. { { 0xb577c1533f989761L,0xae35d211bfa3d8fcL,0xd47c40c9b1f4a399L,
  77338. 0xd5b0975b2364454dL,0xed4d9984b3237eedL,0x97c31b497df401f9L,
  77339. 0xb7b427e22bc4659aL,0xd9bf226f45a55ae6L,0x0000000000000075L },
  77340. { 0xa5990f28073531a6L,0xe76bc93d8f8b9a4dL,0x588489cb74e5ed46L,
  77341. 0xd13ed6ab72ee0648L,0xc2577aeefed5353cL,0xdab9de078dc20accL,
  77342. 0xcac8e1f9d57b513aL,0x5e76607aad484dc4L,0x000000000000002cL } },
  77343. /* 38 << 357 */
  77344. { { 0xbcb19c11883359b4L,0x3ad2e194c4e7949aL,0xb773fca20ffa7882L,
  77345. 0xbd1a7603e60cfad7L,0xbea03ebea5b4d66bL,0x875da4b871223c53L,
  77346. 0x2e33d74ab5abef29L,0xa3ce7d910fd9b58bL,0x00000000000000d2L },
  77347. { 0x54784134feeafab8L,0x0af5113379e28a21L,0x02245680f0f5e643L,
  77348. 0xf467cdb0027bfdd9L,0x9446e78a520929e4L,0xc0190cecb05f7059L,
  77349. 0x31cbdade20e99cd1L,0x970d57f4c9001716L,0x00000000000001d6L } },
  77350. /* 39 << 357 */
  77351. { { 0x19dfeadf318077a4L,0x646f8bdab99ea8cbL,0x9c32bf839bce9a97L,
  77352. 0xf054bf9ba74ef02bL,0xb51e016b44a4ca3aL,0xc6e07a7bcd3dc334L,
  77353. 0xab3b52ad878eb40dL,0x12aa8a92ed323d42L,0x00000000000000acL },
  77354. { 0xa3436773633c177eL,0xa9c7bee1e2b5ef90L,0x175955d8acc698a1L,
  77355. 0x473dd3eb2725fc60L,0xa7b4bc94c65fecfcL,0x8767e77f84427009L,
  77356. 0xb719a53fe6c0bfa1L,0x66025e6e3b082160L,0x00000000000000a6L } },
  77357. /* 40 << 357 */
  77358. { { 0x8b335fa8eb78796fL,0x632a1e3598c921feL,0x8a81e3dc13ebb873L,
  77359. 0x6ea0a1ca392ac9a2L,0x12ac8f7d7a111fe3L,0xe8019e481b74982fL,
  77360. 0x970840ab372bd012L,0xf08f46778030b6baL,0x0000000000000191L },
  77361. { 0xf1daff85ff6ca70bL,0x83a30831c4c98b48L,0xb3d1402f4b44f090L,
  77362. 0xea42a852ffc5fc43L,0x64fb5a0e5adb2237L,0xa3f97d5cef91d510L,
  77363. 0xaa8a0026f0d6d405L,0xa9db41befedcd04aL,0x0000000000000061L } },
  77364. /* 41 << 357 */
  77365. { { 0xec4e0725f2d955e6L,0xf65913b6ba0ad53aL,0xb5436673f9c3c2edL,
  77366. 0xdbb1e9214c59fa00L,0x480014831381e59eL,0x688f1d33ba2b09c1L,
  77367. 0xcf5af8117a4e2a57L,0x11e023ee52198011L,0x0000000000000162L },
  77368. { 0x62cf35fa3dfe2dc7L,0xbced5f18d977b622L,0x240d0df41edd8ab6L,
  77369. 0x7e047352991127e7L,0xdc9572f31df7bc5bL,0x97b0d175afbc0867L,
  77370. 0x6a42f136de3d2346L,0x1fc3c25f5158affeL,0x0000000000000138L } },
  77371. /* 42 << 357 */
  77372. { { 0xeab39f78787edb77L,0x56a60472ff2e9f55L,0xce7b46bff785cb54L,
  77373. 0x278a0c9ec7d39690L,0x0cf992f68c3e887dL,0x9e148e8051d0d1c6L,
  77374. 0x5b33c695f3755acfL,0xb0451f2f658905c1L,0x000000000000018aL },
  77375. { 0xa6e028307fbc9643L,0x9338cbb303b27b50L,0x5c64eda85026ee72L,
  77376. 0x7f1647d2fcefe41dL,0x85619fccf3dbb4bdL,0x393e6efa01d6451aL,
  77377. 0x935171004e8d8ef0L,0x32c37325ffea99afL,0x00000000000000c8L } },
  77378. /* 43 << 357 */
  77379. { { 0x2b555d0e6fe03ba1L,0x773f545a8b03d806L,0xa31ffe71bcc6d9deL,
  77380. 0x446edf311990a436L,0xd8c4fc206592df48L,0x3317ee33c15ac3beL,
  77381. 0x41696fb6f63b4e1bL,0x83a4cba346027c25L,0x0000000000000084L },
  77382. { 0xde69ed4512dd9c85L,0xd667dcced6c26d22L,0x4ded2f5b385619c4L,
  77383. 0xd2655d51821e0244L,0x1311765ebf2c49a6L,0x9415d8cc38383d4bL,
  77384. 0xe71bcaf8bf9db4b7L,0xb3e5627ccc381e0eL,0x0000000000000025L } },
  77385. /* 44 << 357 */
  77386. { { 0xa4933fbea92fddffL,0x7c32d97032b86443L,0x2e9a7398b183d623L,
  77387. 0x486972894721f8c5L,0xbee88c0cc969e75fL,0x842542613c4d5de1L,
  77388. 0x909eae9e787a1700L,0xe31ff428974bad84L,0x00000000000001dbL },
  77389. { 0x984cb4ee752c8899L,0xa92f6ac567310f87L,0x47f0e7caa6a1de3dL,
  77390. 0x5c3dcb5fcfeb910eL,0x7dca121b1205acf2L,0x6399f030cb5ebb96L,
  77391. 0xe1c316b2e398cc1aL,0xfa8d37e0852051fcL,0x000000000000004dL } },
  77392. /* 45 << 357 */
  77393. { { 0xa2b6eb345f87572aL,0x0732cec41782a0d3L,0xd9435216d41ea9d8L,
  77394. 0x543571ed5cc97716L,0xe3521d10956feeadL,0x750eb198f41fe528L,
  77395. 0x4af6cf943d29c833L,0x78e073e6436a223fL,0x000000000000018fL },
  77396. { 0x49c4e5bc26897e4dL,0xb80996a2959ec43bL,0x13ae0906c00242e5L,
  77397. 0x9aee89d706f4670bL,0xd06613d5c8d05987L,0x201b5d15c8675f76L,
  77398. 0xd19defe0d4c74f5cL,0x043e361e6cb41c71L,0x0000000000000180L } },
  77399. /* 46 << 357 */
  77400. { { 0x3c015437c95ad2b2L,0xca901614d09999a6L,0xf8549f51d5fa15c3L,
  77401. 0x7fdb2f64c5630ea8L,0x1e4ee6802b7b842bL,0xf475e8cf313eb14cL,
  77402. 0xfcafbdb3d6c70e1cL,0x77bca78f4bdd4355L,0x0000000000000032L },
  77403. { 0x1512a85e9b20aef6L,0x2728e6820c9decf2L,0x8b3cf87bbefd8a4dL,
  77404. 0x3a42b96e601b9833L,0x6f27e84d058180d8L,0x0cfbc003489fd730L,
  77405. 0x208b7f66f8db094aL,0xf5987e8fc3f1fc46L,0x00000000000001a3L } },
  77406. /* 47 << 357 */
  77407. { { 0xf79e90d3ba0cfa35L,0x3d442ee9cd0223cfL,0x21b64ccc2dc0768cL,
  77408. 0xcbe9a804db61bf73L,0x5871a42fa4d78ca6L,0x67e5f390e0b6be3bL,
  77409. 0x9f4b155bff116508L,0x73f1924ac84bc47fL,0x00000000000000afL },
  77410. { 0xfb1d1caa6f41f665L,0x4e2717a196ad7cffL,0x1772f0581d490e34L,
  77411. 0xd52e78b067c82478L,0x53e323f99b612421L,0xb23240ab51b055c3L,
  77412. 0xb479a9cd2902f229L,0x1a63508d40c0e2b3L,0x0000000000000005L } },
  77413. /* 48 << 357 */
  77414. { { 0x56f46aeea79fec2fL,0xae7420e6caa8072eL,0xa8d82818e0909a51L,
  77415. 0xb6fde2a2d53b908dL,0x2c291216aa4b288aL,0x522c8be8315bc370L,
  77416. 0x27d342ed48cbe4c9L,0xcc7e7d2282bda6edL,0x0000000000000179L },
  77417. { 0x28c243b826b789cbL,0x0ee9307a736b8f95L,0x6bb0026317c8d0abL,
  77418. 0xfb2563cb96c50f3fL,0xda495d9aff006875L,0x4fb2a94706b90869L,
  77419. 0xf00cd1a64aec98d5L,0x0eff72f28bd40482L,0x0000000000000197L } },
  77420. /* 49 << 357 */
  77421. { { 0x98b780b5760dcbf1L,0xf260047b515a1d29L,0xfac95ac3814e0ee9L,
  77422. 0x816e57a0fba262ecL,0xfc5cd59e48334247L,0xa341052546e7e886L,
  77423. 0xd1db72bdddb0dcadL,0x5624b146ffd69bd4L,0x0000000000000178L },
  77424. { 0x35e3ace300b92a71L,0xc32822663c82793bL,0x53c3e94494ffd3b8L,
  77425. 0x9f71ff3e58dbdfd0L,0xa7a41d4df73e87c2L,0x78c91fa31039d1c0L,
  77426. 0xb58daa057807f696L,0xa450af015c2cd7b7L,0x0000000000000035L } },
  77427. /* 50 << 357 */
  77428. { { 0x7619732f42b7fc50L,0x765e9ae03259ee5aL,0xc6e36b88f486fc6eL,
  77429. 0x7161e3133e057364L,0xb06faa190eb94e6dL,0x5018350dd7092a7aL,
  77430. 0x2cd31d11fb6c1de8L,0x9561568bbc8ec647L,0x0000000000000126L },
  77431. { 0x839b1c55ed5d4d74L,0xf167bec107576342L,0x8afd2ae346e1cc51L,
  77432. 0x2546e4ffa5126110L,0x403b72bef10cc605L,0xe611d43086ab00f7L,
  77433. 0x6c828ae6ced04aefL,0xdac7bcf83ad5c8e8L,0x0000000000000029L } },
  77434. /* 51 << 357 */
  77435. { { 0x921b03409c60750dL,0x1fa1dc07a742d533L,0x2001a510cfe647c0L,
  77436. 0xfdcec65d559bac54L,0xb006791b6c9979ceL,0xd8786269d197b3b3L,
  77437. 0x8ba2d90530372529L,0xf0552a77063e1943L,0x00000000000001c2L },
  77438. { 0xaee03501d5b06ec0L,0xefbc6b5a906d4e35L,0xcba825b51f8fe6e1L,
  77439. 0x098a5cf0e1db85e0L,0x0ca97bd479d75481L,0xe2090d3481d62082L,
  77440. 0x0ee36412b26ca32fL,0x349e9c106f66e6d8L,0x0000000000000110L } },
  77441. /* 52 << 357 */
  77442. { { 0xe4fd1cf233c62e14L,0xbd7961f581615b2fL,0x1b82c51effc3ea38L,
  77443. 0xa02c70e8e04b3a9aL,0xf8853863926b63d2L,0x57013d79e2733711L,
  77444. 0xb62f0fb7006a0326L,0x225a8b3b98a22842L,0x0000000000000175L },
  77445. { 0x6718ed9f53021cd8L,0xdea4cdec2a3bf941L,0x0323bb3a5211899fL,
  77446. 0xd83957736e557ae1L,0x657633b4a363900fL,0xda61a25732721ca0L,
  77447. 0x9e53c3dbd9eb3821L,0x28972548aaf7a7adL,0x000000000000001dL } },
  77448. /* 53 << 357 */
  77449. { { 0x0e6ab03f3358352dL,0xaf91d6e912a5cbdfL,0xfc0c814d8350e169L,
  77450. 0x6d76035e025bc3f5L,0xc48c841c91cc2fffL,0x988a58692d378112L,
  77451. 0xe6b22cf41f1c5d84L,0x4d6a80c966be7431L,0x000000000000017cL },
  77452. { 0x329989467452fe56L,0x7c949998851cde83L,0x62f685df83aae234L,
  77453. 0xebc255cf3273ce30L,0x5d9b1076cc1c544bL,0xdcb2cc0ba0afe211L,
  77454. 0xb4985ff2bf40b28aL,0xe6162860dd765e5cL,0x0000000000000059L } },
  77455. /* 54 << 357 */
  77456. { { 0xdd36dad51f7dbea4L,0x668dad4d6506ae83L,0xb38d22d45b93e93bL,
  77457. 0x8f01ab0073a449e9L,0x66d3db72d8e6e6e8L,0x19a9dd5d3d2427faL,
  77458. 0x0fd8d0da3d40a973L,0x479f47bc10ca67abL,0x00000000000001f0L },
  77459. { 0xdf05de0bff3a276eL,0xc54847b14ffdc307L,0x56caf53a6fca2200L,
  77460. 0x9fb352117ecda564L,0x9a0a56923369ffa9L,0xdcfbf647f8af9180L,
  77461. 0x5b6d4451678c3fb5L,0x5a60678c6ff73ed9L,0x00000000000001bbL } },
  77462. /* 55 << 357 */
  77463. { { 0xd478174e1742c389L,0x5a2383c346b36bc3L,0xfbaca1a26581793aL,
  77464. 0x2a1d1fa6f855f601L,0x14a376f0308d3c27L,0xee58276c0cc714f5L,
  77465. 0xcc4030a2344e36b0L,0xce095846f956b0c2L,0x0000000000000093L },
  77466. { 0x89a622e8aeecd9c9L,0x206e4d6f27cd372fL,0x317476b49441b11dL,
  77467. 0x399a84cf983641d8L,0xe9f70bdcf169555eL,0xfe01d5c38ad9b9b0L,
  77468. 0xba6a96fc72ed19a9L,0x30239e4187057a78L,0x000000000000013fL } },
  77469. /* 56 << 357 */
  77470. { { 0x4ade586f26762e69L,0xa4d590d75c5452e9L,0x866d96d7a3d17b63L,
  77471. 0x4820299b54373909L,0x9c4970f071889f59L,0xbe409ea4a47395c5L,
  77472. 0xa1c14b17960a0ea2L,0x4a33c8a0307327b7L,0x0000000000000102L },
  77473. { 0xe590fe7c2b54a6c6L,0xb4a1ab5bc8f7ed0cL,0x91f19a290051c927L,
  77474. 0xd9f5d6078eac2400L,0x9bc268f6f0cf556bL,0x823c77404112a75fL,
  77475. 0x1a8168497d3647c4L,0x46f70e49b3b45d09L,0x0000000000000050L } },
  77476. /* 57 << 357 */
  77477. { { 0x66bea937a3a32754L,0x780ed9ca96a00b32L,0x65e5ad8e2b5cc630L,
  77478. 0x7283fbc3dc7657b5L,0x15dc690b934d9824L,0xd6f130dba98a847dL,
  77479. 0x0096e9cf3f226e42L,0xe2a54507e1e7d57fL,0x000000000000014aL },
  77480. { 0xee2fd2150bbc21edL,0xe095c08d4301f751L,0x32b119d43e5cb50aL,
  77481. 0xe435e70435ec749fL,0x83369dd530a40178L,0x594a72fe98292f0eL,
  77482. 0x118880ad3d2ea843L,0x9eb5cc991890318cL,0x000000000000011cL } },
  77483. /* 58 << 357 */
  77484. { { 0x361c1f3b4d6df598L,0x6956400f491b9e2eL,0x84efa820336843b6L,
  77485. 0x88c0cdee43925859L,0x29193ebb69c6047fL,0x13607b35f0aad25fL,
  77486. 0x20206ebd61dddd4aL,0x0e644f1eb9fc054dL,0x0000000000000108L },
  77487. { 0xca58a7ac1436fe82L,0xa817cc24e935e783L,0x2345a558c8ad7900L,
  77488. 0x64c0aff682da4250L,0x3070a842a7e6b289L,0xab848eb00aecec1eL,
  77489. 0xa26ce7e0900a03f0L,0x3fcafea7f76a6eeeL,0x000000000000018dL } },
  77490. /* 59 << 357 */
  77491. { { 0xc93375d857c613e4L,0xd6e163aa792ef674L,0x5b8da9694c9f17d0L,
  77492. 0x51f0cb78ce67b932L,0x3c1667b022f10ad6L,0xb370de10b6a741d3L,
  77493. 0x5b359e3527254ceeL,0xa4699c4001436030L,0x000000000000017bL },
  77494. { 0x444d66615ab27a0fL,0x7a63495561218274L,0x7accc97c8b6bc0b3L,
  77495. 0x31e90f52e9feb480L,0x0ae5f490d73c2467L,0xb42bb6330947f2efL,
  77496. 0x12130e62ca8bdc7cL,0x87538842afc7773dL,0x000000000000014aL } },
  77497. /* 60 << 357 */
  77498. { { 0xa0e61ef29c860a3dL,0x82efb508a7a35111L,0x95110f183fdf7c57L,
  77499. 0xd08244f748f762fdL,0xe2584f839119ce6aL,0x0818a297f38db17cL,
  77500. 0x0e604711bc3bc9e2L,0x46d5fe361b183756L,0x00000000000001b3L },
  77501. { 0x3c6c64217662e9b9L,0x1e057724d4a00cfbL,0x285c8771102bcc5cL,
  77502. 0xa606d16e09724e97L,0xab2089a86dd635dbL,0x6fdd9e810b59f6e3L,
  77503. 0x43d64d58ff787a8eL,0x7fd128ddd9699167L,0x00000000000000eeL } },
  77504. /* 61 << 357 */
  77505. { { 0x6e1e35308e1abfdcL,0x108178640e58238bL,0x91902f99aab590acL,
  77506. 0x5132a07808a83158L,0x530791584fdf05d6L,0x629edbe68ad80625L,
  77507. 0x32e9651d3f107300L,0x3e162ac228a30c6aL,0x0000000000000155L },
  77508. { 0x32d00fc0bb96dfefL,0x14d6778057d671d4L,0xd644f22da23a3842L,
  77509. 0x68c9d17f7564276eL,0x4081b0b960b55ea5L,0xfb317cd3bd1dd449L,
  77510. 0x3ae6ef5a8a1905a7L,0x2daed738a3b1e642L,0x0000000000000003L } },
  77511. /* 62 << 357 */
  77512. { { 0xab014c8728aa98f7L,0xf140362355cf61a1L,0x193f4267b5240bf3L,
  77513. 0x07d29ec4df79676fL,0x7e5d124afef053f3L,0x577b7ef54d8a7c4fL,
  77514. 0x05e53aa25f9e45cdL,0x0306e26cc0709ec7L,0x0000000000000145L },
  77515. { 0xd4609e0b47d36131L,0x0a27167e024b55c9L,0xc913e714bec0a1b7L,
  77516. 0x391fbba1aea3e853L,0x5541c7015910da47L,0x40e545fd1c083ebfL,
  77517. 0x73a6b44870eea6e2L,0x9578a3a138a320b2L,0x0000000000000133L } },
  77518. /* 63 << 357 */
  77519. { { 0x4d63d8568a4afc5eL,0x8dba9bbb93fe42a9L,0x2786def64388b3ffL,
  77520. 0xb178c71c588ff35aL,0x9acff904dc6b8ddeL,0x96fc5adfe39951bbL,
  77521. 0x36c16b128622694cL,0x8d3c04a120bbc11eL,0x0000000000000088L },
  77522. { 0xe910f16ab73d75a5L,0xce8c56594d0c3e49L,0xf9682dfd11ec38c4L,
  77523. 0x1c98872dec673776L,0x65e891ea498fb63dL,0x9c743402270806bdL,
  77524. 0x773660181eafb44eL,0xb52ff43420582f10L,0x00000000000000fbL } },
  77525. /* 64 << 357 */
  77526. { { 0x768ed0f6f74fb22cL,0xc967f6567e169c57L,0xf6c74d22e59559c1L,
  77527. 0x0a419045556961cdL,0x97e83ef261c6f540L,0x434d28d7f523b49bL,
  77528. 0x0f83e17117ac09eaL,0xfb02352b4a281f4eL,0x0000000000000160L },
  77529. { 0x78577044666031b0L,0x2aa75f54d401794dL,0xabf814bbde68d202L,
  77530. 0xc1d18b79fd8f841dL,0xb68edc5e8c8449bdL,0x837b65b088a85d15L,
  77531. 0x31a2c34e13249fa7L,0x2e20348e54be5f59L,0x0000000000000148L } },
  77532. /* 0 << 364 */
  77533. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  77534. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  77535. /* 1 << 364 */
  77536. { { 0x1d40359e91609a61L,0x9adf4e086890616dL,0x89dd66358b14a62eL,
  77537. 0xfaa34c0a49adeb20L,0x174689f7105a9bf0L,0xbf727a3da83a1154L,
  77538. 0x4afe90c10d6d5d50L,0x9954d9d01f2fe4ffL,0x0000000000000126L },
  77539. { 0x027df2555d2ac4b2L,0xa61a555783078809L,0x6f5d2cd40237c9bdL,
  77540. 0x7cd9f911cef7c441L,0x0d5256efabc19578L,0xd86047aff338db58L,
  77541. 0xaa2a1b5014d7c98eL,0xbe9edffaf5e65a3aL,0x00000000000001bdL } },
  77542. /* 2 << 364 */
  77543. { { 0xfd4ac9a343d7f5d4L,0xefaf0979c99e0960L,0x49f0cee8309e568cL,
  77544. 0x72b9d2770e83b629L,0xc9462e6b6b2c1601L,0x20fd87a59014edf5L,
  77545. 0xf153ae0a4589a246L,0xdfc0c033d0ad9b0cL,0x0000000000000034L },
  77546. { 0xea4cfb1187abe460L,0xde9d0bf08e491e8bL,0x8b4f7381e7b44c51L,
  77547. 0x5b470fd4582fc6f2L,0x351d31d09bd31114L,0xae86870521911e42L,
  77548. 0x8c25ead699c6cceaL,0x6372bb04f6408194L,0x000000000000012dL } },
  77549. /* 3 << 364 */
  77550. { { 0xf76d94ea2648a187L,0x65cd1ed8841945b5L,0xa8b8b52c6d3b41ccL,
  77551. 0x729f4f50c03e31c3L,0x2b315b9d4d930a40L,0x32c503647c78db5bL,
  77552. 0x53b03b69e0cab657L,0x1cb16125d343324aL,0x000000000000007aL },
  77553. { 0x0d0cc220cbba148cL,0x21e13a15066281e5L,0x304904e6ae6bb049L,
  77554. 0x9ed34cf1580464daL,0xb1c66d4684a6cdaeL,0x6ad36012751e42a6L,
  77555. 0xfeeed4dcc89edbbeL,0xd9897853a31a337dL,0x0000000000000002L } },
  77556. /* 4 << 364 */
  77557. { { 0x9f89743c7de96ad8L,0xb36af506b0e3c020L,0x92ba9b369da8c48eL,
  77558. 0x3b06a6c914e3dda7L,0x4ad7dbd9d035a505L,0xfd87c28a5825e565L,
  77559. 0x1f117e6b5633716cL,0xcef5e5d6dcd99a7fL,0x00000000000001e9L },
  77560. { 0x839ba6957fed2cecL,0xba25c337132c54ccL,0xf032353e857c3815L,
  77561. 0x9119f2e5b3b42940L,0xcf21d2c0fecbf8f8L,0x66b09ab9b5bafb4fL,
  77562. 0xdbe05a703946ff07L,0xb83571fc2d9ba878L,0x0000000000000018L } },
  77563. /* 5 << 364 */
  77564. { { 0xf62c03a397de0e00L,0xf48d1de82611619dL,0x15d1a317721bc870L,
  77565. 0x6ac60d814ed06bf2L,0xb8bc2ce0890cdbd6L,0x7810822846f4b48fL,
  77566. 0x04ef830c287c7697L,0x32961e64a49838daL,0x00000000000000feL },
  77567. { 0x97cd5e96d8551d19L,0x68053374b2b1fd05L,0xe3013cfcccf9a8f2L,
  77568. 0xcefdd29f981fa6c1L,0xef3a4ba402683ffbL,0x2e945f5855edc412L,
  77569. 0xa4a58e25bfd433f1L,0x621ef049513f74f4L,0x0000000000000120L } },
  77570. /* 6 << 364 */
  77571. { { 0x9e1fadfb16822e74L,0x601a0218e2fde79bL,0xfaf91c0fcc11fb66L,
  77572. 0x39b3d9cd38141aa4L,0xaecee4237b5e91a7L,0xe78c36baa418ff4aL,
  77573. 0x97ffc63f7f084d25L,0x8d9f7b524160ab02L,0x0000000000000079L },
  77574. { 0x4460a50327772a7bL,0xca164baf7bb4b563L,0x576f7498cf894432L,
  77575. 0x62af7b73b7c21ef1L,0x6559cd67a1ff287dL,0x366d49030189b834L,
  77576. 0xce4f2dd602496d3dL,0x140a8383d27b4ffdL,0x0000000000000125L } },
  77577. /* 7 << 364 */
  77578. { { 0x16a826340847c82eL,0xb70042545f9a9912L,0x798f9e628d0b4dffL,
  77579. 0x65342a6503c638d1L,0x4f20eebe5c54e53fL,0xc14bbfc9f840e2ccL,
  77580. 0xb7bdaec4bf5122a8L,0x36f7770447b6ee89L,0x000000000000014cL },
  77581. { 0x1a055b39452878a4L,0xec912e63a4357006L,0xfa8318c8ffc61cedL,
  77582. 0x2b0d1441f05c5661L,0x0b31a6b7f197ab70L,0x69d91f5999bc8257L,
  77583. 0x62ce77826b1fe057L,0xcc37b64e8fbf4a9fL,0x0000000000000160L } },
  77584. /* 8 << 364 */
  77585. { { 0x73c9ca8c32bf47dbL,0x9914d5863827df79L,0x594400907e5d5d65L,
  77586. 0x1fe4f4bdcc1f4322L,0x8e14f73d38ad9ffeL,0x4b47c892eea079b5L,
  77587. 0x753f974ac9bd577bL,0x4231ef4ec3271dfcL,0x00000000000000bbL },
  77588. { 0x871424ac14bcaefdL,0xb1b24d5c97355e9dL,0xd38496396b934706L,
  77589. 0xe90a821ca8c892f6L,0x884df6cc145aa180L,0x0dc1730e4c7dcb49L,
  77590. 0xdad8a1ef67744185L,0x444de13badd5ca97L,0x0000000000000008L } },
  77591. /* 9 << 364 */
  77592. { { 0xfa51638c3342c8cfL,0x0f68b9af3860e485L,0xea4d914d06cd5f80L,
  77593. 0xd5a9b6123d548a1aL,0x19cf167328c71d7aL,0xf88496f3e3ea941bL,
  77594. 0xf7458d464cd8d096L,0x40a7eccdc3a72c66L,0x000000000000009eL },
  77595. { 0x017e43b0f067b7ebL,0x0e89bb59ae8610feL,0x0c2437f2b2bc6765L,
  77596. 0x58c0a84449bf2eedL,0x723b0a50c13a6053L,0x3c2f581a1d1b46a0L,
  77597. 0x2a930c3a68e9e875L,0xf6144dd459874673L,0x000000000000013cL } },
  77598. /* 10 << 364 */
  77599. { { 0x501c908869c2c724L,0x114cd1394d26e7e7L,0x2c8e71896128092cL,
  77600. 0xd379c77c98d95167L,0xf4dc94f8c54fd3c2L,0xcb5d6568d61f0a9dL,
  77601. 0x57e935c0222d29c5L,0x19707d68e5ebead7L,0x000000000000018eL },
  77602. { 0x0ca3d650df704c4bL,0x3a11092f9e7fbd89L,0x94accaf17b93a0dfL,
  77603. 0x5e2ee6fc7a3cfa2dL,0xfe64b185e29c1ab4L,0x450622cc0dd624bcL,
  77604. 0x19b6dace885fe0efL,0xbca6ee1159121790L,0x0000000000000026L } },
  77605. /* 11 << 364 */
  77606. { { 0xc3561d8aba77ae3dL,0x9668544884e9a9faL,0xd02a219cfabb2bc7L,
  77607. 0xf05419ff19500a0dL,0xddec1e04fd9db302L,0xe8163eed27bb75e8L,
  77608. 0x167a448cf55bedacL,0x0674936fcf331bb5L,0x0000000000000112L },
  77609. { 0x6fdd6a8f05915d9eL,0xd10aba566bc230bcL,0x3d08b2be6495b1deL,
  77610. 0x1a677d3e25d490f3L,0x5435cabfabbb4e9aL,0xb1b88fe09dd066faL,
  77611. 0x4143d97f96ad240cL,0x84d22c1a8105c161L,0x00000000000000bbL } },
  77612. /* 12 << 364 */
  77613. { { 0x50c7c1f5570b56deL,0xc4ec2d0e45e64231L,0x30d743c79fc8812cL,
  77614. 0xc156a390336a6837L,0xed05f8e2ab56ec07L,0x9f31cb93c6ea8f39L,
  77615. 0xb4e6d426fe637c9eL,0xa2940274a1068079L,0x0000000000000131L },
  77616. { 0xe90e065d0de0a523L,0x6a732029e7aa66e1L,0x54d8e21335eff2d8L,
  77617. 0x316c567a8c25f616L,0x4926a680d4d8b337L,0x5af43676371babccL,
  77618. 0x3de2803eea35e392L,0x1a31dc8d2569c1f0L,0x000000000000015aL } },
  77619. /* 13 << 364 */
  77620. { { 0xe37816de9b725c0bL,0xcc2a89c9166bb8fdL,0x49ca0257d89fe85bL,
  77621. 0x48fd498a9b83fce1L,0x6ba525640cf52c0eL,0x1123fbde28ef21ffL,
  77622. 0x85f8991d4d0cdebaL,0xfe5797d8772b53b3L,0x000000000000007bL },
  77623. { 0x3fdf5c44dd6b4d3fL,0x5321b885e2dcd484L,0x69ce5c11dfb203b2L,
  77624. 0xe9a482386f8935bbL,0x9fcd2c9c75cc99b6L,0x251ac714e76daec2L,
  77625. 0x772611564802f1c5L,0xaf4e8d575d6e5d84L,0x0000000000000170L } },
  77626. /* 14 << 364 */
  77627. { { 0x7fc39bb869546059L,0x17a87451dc30034fL,0x66bd74dadc7c93a3L,
  77628. 0xf511104bf8e0b2a5L,0xffc0b9cecf5112f7L,0x32da477959194a90L,
  77629. 0x37f686a5fc465013L,0x4418ddc33c921bd0L,0x0000000000000074L },
  77630. { 0x60e891417cca9624L,0x924e88461d0c45a8L,0x63575d9e03f81752L,
  77631. 0x39ffb99931b565cfL,0xd2f96beca087029bL,0xbf5c66a0dd1e6fd2L,
  77632. 0x3a3bb584a7da0587L,0xeeac3f724fc63a28L,0x000000000000007cL } },
  77633. /* 15 << 364 */
  77634. { { 0xc06eb52d95408d0aL,0x617f37aae6cd02bdL,0x605c3d6c1493be3cL,
  77635. 0x74f50aedf516ed28L,0xe57889af120f76faL,0xcad1cd04a4bbda56L,
  77636. 0xfd346ecbfc158650L,0xaee419b5ae3c475aL,0x00000000000001faL },
  77637. { 0x53ab6494eba5c579L,0x89baeaa366501244L,0x76714c0a0e1dfcd7L,
  77638. 0xc31b6ae005ce3982L,0x38742418192bfb7eL,0xb303fdc69fa107f8L,
  77639. 0x50f6e46723401680L,0xed7828e6032db727L,0x00000000000001eaL } },
  77640. /* 16 << 364 */
  77641. { { 0x2a7e8ac175804da9L,0x0b41f6118d50bdc6L,0xcfa0a757d8fafb1cL,
  77642. 0x75540d94d231a6b0L,0x524440fb0c4fe03dL,0xb8665fbfce9738ddL,
  77643. 0xbb74f6a88f1bd64fL,0x063afa3cbb8d6c67L,0x0000000000000189L },
  77644. { 0x259b9da4a864385fL,0xdbafc55c17c2597bL,0xde890acb56bf5d23L,
  77645. 0xe51182c0f8455b59L,0x75d51a03c456e1c7L,0x9c7929c6b318e747L,
  77646. 0xaf23a7f139b3ed84L,0xee136a2b910f4ab2L,0x00000000000001acL } },
  77647. /* 17 << 364 */
  77648. { { 0x0d6618c6b5262bd0L,0xd008879e083e8d42L,0x46be04761e2a0f05L,
  77649. 0x29355fcba5a5a5d0L,0xf2990303abcc3151L,0x2ce9c4275a2b71a9L,
  77650. 0x1c9bd913b773a173L,0x64748c121fbefea8L,0x00000000000001f9L },
  77651. { 0x386d740f94f39cedL,0xa22fe8b4b4202079L,0x23754fe4118f988bL,
  77652. 0x3678c0d6fc32136dL,0x5fc81b01feb30812L,0x948119e46b9c9859L,
  77653. 0x5636de19370dac51L,0xf614eea049b1fab7L,0x00000000000000c5L } },
  77654. /* 18 << 364 */
  77655. { { 0xd019c1759fc99b40L,0xf967bba57f015d82L,0x3cb81a604805189dL,
  77656. 0x964ad8c7a00da205L,0xc888c43a64539ab5L,0x431eeadc9e553bdcL,
  77657. 0xfc5527a9fb748695L,0x208a7a8bd0016886L,0x0000000000000123L },
  77658. { 0x5094299ba7c932fbL,0xaad7933f74be1be9L,0xfbc80552444ba30fL,
  77659. 0x4ab16553f035fcc6L,0x364f1240c3e85c28L,0xa682343c2bb08da1L,
  77660. 0x87f463e18186f10eL,0xa693ff1c33925907L,0x000000000000019cL } },
  77661. /* 19 << 364 */
  77662. { { 0x09f6995a1c48a442L,0x247f21612a842352L,0x31ab8596522e8ba6L,
  77663. 0x5a378b5cda550880L,0x3cd7546920a22f99L,0xcc2308ad2a1b6f3fL,
  77664. 0x102b70a618c84da4L,0xd4fb60db44ee1f04L,0x0000000000000019L },
  77665. { 0x26f00eb8c1395620L,0xb74ce39019a12c39L,0xe4942801abec4e92L,
  77666. 0x975d591b94361e1cL,0x2996b121f3a13003L,0xcf1d269e23c37980L,
  77667. 0xe140df82c6996c73L,0x10e9b26e40c5047fL,0x0000000000000054L } },
  77668. /* 20 << 364 */
  77669. { { 0x7dde1d1d5efb05b4L,0x6b37ab24499b96d8L,0x9a11b06965ca03b0L,
  77670. 0x26cab3b3efe4f8e6L,0x438ff1523fa08ec0L,0xefcf8f96378206fbL,
  77671. 0xab9c72cb8483c3e7L,0x0870abe23c21f2eaL,0x0000000000000045L },
  77672. { 0x04b9b4a909d596d7L,0x45d7b711168e1715L,0x86f4b7024059f9e1L,
  77673. 0x1e23920b80207075L,0x247d24b7e32dcffdL,0x7fd7ee339b29daecL,
  77674. 0xae0501392e5b646aL,0xf15cc9311f0b3acbL,0x0000000000000047L } },
  77675. /* 21 << 364 */
  77676. { { 0xa7585ddfcda0c2adL,0x5cec5557fbb2fddaL,0x1548595a1e228a3fL,
  77677. 0x002f9003085c420aL,0xb68b0ae22c655b80L,0x9a41ed4526ea4931L,
  77678. 0xbbea439a2b93a6f8L,0x37e82cde83f487a5L,0x0000000000000036L },
  77679. { 0x44fb9f9aa4688d59L,0xf43ccad09af2f558L,0xcb0bd99c421900acL,
  77680. 0x6b14194f74d5dd67L,0xa515fb0e19820676L,0xbe5d2afffd020877L,
  77681. 0x7861af502826917dL,0xee0fe35be172b2d6L,0x000000000000011fL } },
  77682. /* 22 << 364 */
  77683. { { 0xaed4feadb6cf4a42L,0x6a1bf5325717bfe7L,0x276babf2e055049fL,
  77684. 0xe01a9b211147d4abL,0x92e2937e4d68fe1dL,0x4c40460f2682f5d6L,
  77685. 0x7921148cbeebb6b0L,0x0f17c058d8a93c95L,0x00000000000001f4L },
  77686. { 0x97b9609deaf84a2cL,0xc723aedd1812bc14L,0xa884415778c0b6d2L,
  77687. 0x5b68fd87c8fedc3bL,0x8109a51e6bec8a71L,0x476483e4a764bda7L,
  77688. 0x7a997c16a7945df5L,0xccbfe8d8ad8f125cL,0x000000000000019eL } },
  77689. /* 23 << 364 */
  77690. { { 0x3d7957be4e45dc3fL,0xb06a358bc65dd97cL,0x63040ec31388da6aL,
  77691. 0xe9adbf2a28e9515bL,0xfc0edda0f7900882L,0x4e1b100bb6465e9dL,
  77692. 0x331d94772276c413L,0x95d57b9c2e8f8278L,0x00000000000001a9L },
  77693. { 0x163d561ce4c6e97bL,0x911f98435b29a4caL,0x1577698cc6de446cL,
  77694. 0x48e6b4f38767f7e4L,0x126e23c51ea0038cL,0x8d52323e03c2a5f7L,
  77695. 0x56e33850a0a2f55eL,0x5eb93209ba225457L,0x0000000000000124L } },
  77696. /* 24 << 364 */
  77697. { { 0xd797e61ad1ac73e4L,0x8b484aed7b9eb978L,0xc447ce99d1eb07a8L,
  77698. 0xd899e82580667c06L,0xda95128239aa8ed6L,0x822cd6da7f6791f4L,
  77699. 0x50600320ded12afcL,0x8934ec503214d5abL,0x00000000000001aeL },
  77700. { 0xf517b1b73737e867L,0x0ceae5828cf888ddL,0x450dce832afa92f0L,
  77701. 0xc5fd288ac704f4d1L,0x5743e5b0f2c5c86aL,0x81bf9379d3c76ab6L,
  77702. 0xbab459db9789efd6L,0x1d34125a28e098dbL,0x00000000000001eaL } },
  77703. /* 25 << 364 */
  77704. { { 0xe068ffa804c78d4bL,0x9d83b38317fe7e23L,0xa43422d05ffbd663L,
  77705. 0x784837bf1788e709L,0x6a19ae5ea3723448L,0xbe6915ec36bb4307L,
  77706. 0xe34cdcaaa29d7e4bL,0x7f3a28c031be1af7L,0x0000000000000062L },
  77707. { 0x3c476ec90af51a99L,0x8cd5d84f4b33e5d1L,0x4a257f60e9cd7f91L,
  77708. 0xf6ce609ca61dd30dL,0x972ada9af1fc10e3L,0xf3e400881bbab939L,
  77709. 0x886722f3585887a6L,0x0cb7cdecebaf6fa6L,0x0000000000000104L } },
  77710. /* 26 << 364 */
  77711. { { 0xd7d4d4e717431ee1L,0x8625a46a4dd90921L,0xf9c316c0dcecbca8L,
  77712. 0xdbce57c02b95909eL,0xe97ae5d403ab6816L,0xab298218fd75225fL,
  77713. 0x3434b7146592f521L,0xe5971064d7eb9710L,0x00000000000000eaL },
  77714. { 0xe1455ae54bfe5904L,0x15c778976d8f481fL,0xb400810f008ce4c8L,
  77715. 0x779d772955e45c01L,0x8db56fb1e7d37e5dL,0x16686881921b330cL,
  77716. 0xe1bce71f3b2e17a1L,0x07149446c5c3c7a3L,0x00000000000001cbL } },
  77717. /* 27 << 364 */
  77718. { { 0x3257b5c4f07663a5L,0x929494c319ff6597L,0x15af82a9765f4edbL,
  77719. 0x483993cb5143381fL,0x6943fcf0b09287fdL,0x2fbb3117c67415b8L,
  77720. 0xd7034c07b7c892f1L,0xf10b0db718d9a7a5L,0x0000000000000120L },
  77721. { 0x76c9338468458d05L,0xdf2208aca2a5d536L,0xb5a419630a99477bL,
  77722. 0x51567562348c976eL,0xc695998909c4dcd4L,0xbbb28a3706af3fa4L,
  77723. 0x15191540091300dfL,0xad333a273f1804fcL,0x0000000000000065L } },
  77724. /* 28 << 364 */
  77725. { { 0x5de5079168e68512L,0x6eaf85bc7be5bbdbL,0x308bfd92de4b2460L,
  77726. 0x616a1141a7e52011L,0x9112ea97ef642831L,0x43149479aceeb127L,
  77727. 0xf1b98d034c36c7daL,0x8eb9ffb8b493cbf4L,0x00000000000000c4L },
  77728. { 0x146df8d848853921L,0xf179eb875b1d03c8L,0x1a59f02db362eec2L,
  77729. 0xe83b9f80c763c091L,0x17683a39794f86afL,0x6cd845d8f501ac40L,
  77730. 0x873e5f099dff69acL,0x3442ded6af6124ccL,0x000000000000013aL } },
  77731. /* 29 << 364 */
  77732. { { 0xc5590498d555d898L,0xc3d1e58af00e8206L,0x499ebd23f5f2de8eL,
  77733. 0x396cf1ae7ee84857L,0x14f61adf09b5553cL,0x8e6b51ddbf0b1843L,
  77734. 0xc49674c2948f473bL,0x95aebd3a86d2ba2aL,0x0000000000000036L },
  77735. { 0xb804d00b393f0237L,0x0bb1751cabab5c21L,0x1413fa32a74a192bL,
  77736. 0xbbb543ce65016834L,0x2d8a08b90125f257L,0x3663a514bf052c53L,
  77737. 0xc69d8e20946815fbL,0xbfb6a7656272ee32L,0x000000000000003bL } },
  77738. /* 30 << 364 */
  77739. { { 0xaea6f72ff310550dL,0xf9e9ffc76380fb54L,0x074b3feda3542522L,
  77740. 0x7af0bce77943f24dL,0xdbd33292ce11b0c2L,0x2e4f83e8bffe48cdL,
  77741. 0x32a133ee388ae49dL,0x1b3521eab2f1f673L,0x000000000000007cL },
  77742. { 0xc4ae5fe493f8a0c0L,0xfaf94f2b69efd7b6L,0xc5838b693296409dL,
  77743. 0x98330b32525a280eL,0x174ff22814c11c9aL,0xc8e5b0912047f8feL,
  77744. 0x15d70d58072b06efL,0x8dcfcc607c7eed95L,0x0000000000000088L } },
  77745. /* 31 << 364 */
  77746. { { 0x00d6f3b0bc8bc4c1L,0x369b84bf4048d8deL,0x0faa2409e1ade43bL,
  77747. 0x0fdb76c28c01adbeL,0xdccfe4b7706c272cL,0x4407382cb8f26255L,
  77748. 0x07a11518539912a8L,0x1dca7e6519fca10aL,0x0000000000000091L },
  77749. { 0xd012c49634100b1fL,0xbbf05b6d90c5a9c3L,0x574bec951ae000d1L,
  77750. 0x0006bcb031af3f21L,0x4efcfd1c01b77496L,0x0d7de152d781ba22L,
  77751. 0x404117375fc20376L,0x4b1ef6553da0d8d5L,0x0000000000000146L } },
  77752. /* 32 << 364 */
  77753. { { 0x6e1b7d0b35e16743L,0xcad975b354d72c65L,0x78f7434a453b8906L,
  77754. 0x8d140cae9690fa05L,0x6c8e152a31fe6bffL,0x1721155e418e415aL,
  77755. 0x73b115dc77693d9fL,0x1274ea409bbecdf1L,0x0000000000000134L },
  77756. { 0x5953c5fef3354b80L,0x1e60a291bcda146aL,0x1e20c5c571ebe5d6L,
  77757. 0x0bd949bfce4dfd53L,0xe489a64483280185L,0x819082883743f2a4L,
  77758. 0x6126ed3581ec227dL,0xa4aab2907ff6cfefL,0x000000000000012bL } },
  77759. /* 33 << 364 */
  77760. { { 0xfb1b1a6cf4b320c7L,0x8cdac3fdb49695b3L,0x7c408a7acaba7e3dL,
  77761. 0xdebef05ebf18e5f5L,0x806100c4ea74f06dL,0x3a0632a981be0875L,
  77762. 0x16729db36099042fL,0xda8ade1d095c77f4L,0x0000000000000115L },
  77763. { 0x44e85000f9515d7dL,0x5ebfe250cb748746L,0x09543f257df28b44L,
  77764. 0xc39738d79bb0b64eL,0x75a2ff624e839850L,0x690b6ea356b25b71L,
  77765. 0x6e23e1ff783dca86L,0xcb504c26dfe0ea77L,0x00000000000001a9L } },
  77766. /* 34 << 364 */
  77767. { { 0x08c2ce64b4d5547bL,0xeb6567bb7570811bL,0xd2d7337a3e351a31L,
  77768. 0xef2e55f1e1dcb4d2L,0x87a1f20bbd45eadbL,0xb378609624c1cffeL,
  77769. 0x4aee03b50bf03514L,0x56417387fd881168L,0x00000000000000bfL },
  77770. { 0x8d047d51fca2895cL,0x82ae96e1da4c8e44L,0x95a9a423cfd2216bL,
  77771. 0x448c829927592c95L,0xf825d63f8fc79200L,0x074291671bf6baabL,
  77772. 0x0ff441a2842248bbL,0x20f55cb3f2c6bed7L,0x00000000000000a4L } },
  77773. /* 35 << 364 */
  77774. { { 0xd0dcc4d999045a60L,0xb160c98a07cee1b6L,0xbe8cff874c5b2888L,
  77775. 0x70d351c7798a555dL,0xad3b4ed6fe119e8dL,0x9757616c9c6c31f4L,
  77776. 0xc52176c7462106d7L,0x77fddc8df2ad67afL,0x0000000000000131L },
  77777. { 0xcf84d1f92610cdb3L,0xbb418eb03591c4f0L,0x0b494ecbde10bf20L,
  77778. 0x70bf152917d05487L,0x566b9d733ea9d353L,0x93597d749bccb340L,
  77779. 0x803844ce3462181cL,0x1786dd011a14d060L,0x00000000000000fdL } },
  77780. /* 36 << 364 */
  77781. { { 0x9c89e7cd382cccb9L,0xe53e72d7ad6eeff4L,0xa3f5e6442aa88cbaL,
  77782. 0xb469c241d0a71546L,0x42273290f1c278adL,0x28a6cc29c0ea960bL,
  77783. 0xe580ae1c9ff3b57bL,0x1bc9463b7b46d573L,0x00000000000000a9L },
  77784. { 0x810616e386692079L,0x486d7875765a87f7L,0x85a742aae0ea3788L,
  77785. 0xd2c1955ea491b157L,0x1258547a517fc3a4L,0x69856b22b73f61a8L,
  77786. 0x5dc2140349f00472L,0xafd5b26dde8c4751L,0x00000000000000ffL } },
  77787. /* 37 << 364 */
  77788. { { 0xaebc5a8a3c902e8aL,0x0039907bb2ff532eL,0x6bdf54a1854fbcc5L,
  77789. 0x47e47af3bee412e3L,0x2366a7967b1e5aaeL,0xb2727457a8752568L,
  77790. 0x2a5bb5b73e2d49c4L,0x43fd4aba846e36b9L,0x00000000000000dfL },
  77791. { 0x07fd53c858bf3f4aL,0xf5d34130b3725916L,0x75ffa232665c44d7L,
  77792. 0xb016eb7dbc13d752L,0xfafa7dfaf6e37ef0L,0xdaa24625b805e1adL,
  77793. 0xb197266153688d53L,0x1641661f16cb34abL,0x0000000000000027L } },
  77794. /* 38 << 364 */
  77795. { { 0x298160581c03281aL,0x75d01a189bd0684dL,0xb81bb844686e7da9L,
  77796. 0xd71a3c0bc40baf8aL,0xa4b3a9cedf1cf9aeL,0xf3bea4bbb31c2e29L,
  77797. 0xbf969b09628d5818L,0xbb1228938a88b8b0L,0x00000000000001a4L },
  77798. { 0x1a053aeaf0bdd2abL,0x3f1e00a781b5cb4fL,0xbf606681ee3eed67L,
  77799. 0x30882b9db7a8958cL,0x4c4ba93ff0f63b80L,0xc55305cfe4dd1958L,
  77800. 0xc7980ec98839886dL,0xd0baf2020b84f8c9L,0x00000000000000c6L } },
  77801. /* 39 << 364 */
  77802. { { 0xc169b72d1a9696d0L,0x79d5eab70f71a373L,0x78392dc783d9401bL,
  77803. 0x27d3106e64b017d5L,0x2ce058abee26b0c0L,0xf22292a464858df3L,
  77804. 0x77df2276a825f6edL,0xf5c2e794c745605cL,0x00000000000001d8L },
  77805. { 0x5842cad01e3262dfL,0x46c2d6695f54d3ddL,0x62f0553f0317e888L,
  77806. 0xbbd1443d6a562002L,0xadb380e016279319L,0x1748e13513a945d9L,
  77807. 0xd2681a0e43efa572L,0x38243ccf1668bf58L,0x00000000000001dfL } },
  77808. /* 40 << 364 */
  77809. { { 0x58b0739464e7b370L,0x20ef7659a93df058L,0x7ac8f45caa81fd2fL,
  77810. 0x90c96baf8a23f6faL,0xe9598d129d6246a6L,0x75d74776229c6106L,
  77811. 0xc6d98ba922f9ac4eL,0xf8792c97aab500aaL,0x000000000000012fL },
  77812. { 0x3264168025617adaL,0xd86e42c0a6be76d4L,0xd5b8928f0df9cdabL,
  77813. 0xedf03a9f72787fbeL,0x257c8c9ab5556315L,0x97848014e655dc92L,
  77814. 0x06634000b2992b0cL,0xe138f022e211ecceL,0x00000000000000d5L } },
  77815. /* 41 << 364 */
  77816. { { 0x1cf9d9c562b826efL,0xde0751a348e1c189L,0x733c861c6c5c6359L,
  77817. 0xa75beab65162e6f7L,0xd84ce05b9aa1c7e5L,0xb69b230c41121218L,
  77818. 0xc120a79fc1206f23L,0xcdf5ec7b4bb91988L,0x00000000000000ceL },
  77819. { 0xaf493f97a913ee89L,0x19e21de5ac7f1f20L,0x7f0754187bdd0e2dL,
  77820. 0x439565b4bbab0c3dL,0x84fabbfddaab4827L,0xd5a718839b957b40L,
  77821. 0x65dd01abff3ed391L,0xe83562f3a0eb441aL,0x000000000000002aL } },
  77822. /* 42 << 364 */
  77823. { { 0xf532d6f892fc2c85L,0x1a97475f9caf0c74L,0x44916ac4803e9c82L,
  77824. 0x80f014aac9945b50L,0x9ebcba5a4b8a8324L,0x9637f84bbfc2d0abL,
  77825. 0x1d7908a96150d329L,0x389543cd86b92024L,0x0000000000000035L },
  77826. { 0xfa7fca4ff8d0e456L,0x248bb158f3de61a4L,0x1df7b5ebd5327ee7L,
  77827. 0x374c2f0c2af8ad25L,0x51f3a8052aa22e38L,0x373e647638aa0576L,
  77828. 0x2dd8f6d1b9f97a4cL,0x6ee1f4bee073724bL,0x00000000000001bfL } },
  77829. /* 43 << 364 */
  77830. { { 0xab26101395d029a2L,0x9f45cf6c13c9832cL,0x1e2e6b3ac91c3af1L,
  77831. 0x91dabc8d3d494d57L,0x038545e9d43ae977L,0x5ead75a54db2d953L,
  77832. 0x5efdfcc5311df140L,0xee39830768154467L,0x000000000000013bL },
  77833. { 0xb485d389e6691cbfL,0x1c58b2e497046a1dL,0xb29aaf67b741e05eL,
  77834. 0x6874c8a5612c46d4L,0x52630bffc1e99d9cL,0xe43b1e7b0eab9a81L,
  77835. 0x9478a8cba64b601cL,0xa70734a2196fee1bL,0x0000000000000002L } },
  77836. /* 44 << 364 */
  77837. { { 0x3587f767bfa255dfL,0xfc983ef16af83cb0L,0x5659537ddb44c3f9L,
  77838. 0x12c8477b4f59440cL,0x3e19703bd25c5fb5L,0x4cb6e3973476d63cL,
  77839. 0xe96e9d7e04a21d13L,0x02e48301348ff11dL,0x000000000000015bL },
  77840. { 0x2940b770d2f12b6fL,0xcd619390a18a0f70L,0xcdd831ab0615603bL,
  77841. 0x0e20657a0b4b54a5L,0x8a8ff290eb63b419L,0x6e48d4c674903abdL,
  77842. 0x8478c94ff92d7568L,0x626c5a4784711d96L,0x00000000000001ccL } },
  77843. /* 45 << 364 */
  77844. { { 0xaa734cc4102a3487L,0x3ebd19d83a09e6d1L,0x7a5e991c510cc7d8L,
  77845. 0xce45833c76adfd7dL,0x77c3dcda166b0b39L,0x5ba724c159d056b3L,
  77846. 0x6b925b8a841ece2eL,0x568a6bf7a7f90edfL,0x0000000000000139L },
  77847. { 0xd0b1c8c1322539a4L,0x1e34c638530b052aL,0x6905b2added5b43cL,
  77848. 0xe7b28e65808ea0b7L,0xaa066ef38d84deddL,0xdbd9101db7d82120L,
  77849. 0x9ab79b41f1b84018L,0xf4772c849e4ca179L,0x00000000000000cdL } },
  77850. /* 46 << 364 */
  77851. { { 0x38bc3f9dadeda939L,0xa31d9bba85bb4ee6L,0xced24b2e359d0796L,
  77852. 0x50df5f0d6683d656L,0x976d878c99e37319L,0x6c283c459b607d4dL,
  77853. 0x8ed89d1d9ce07db7L,0xbe380a9c0bb04d85L,0x0000000000000198L },
  77854. { 0x32a3bf77e788dc40L,0x7efa9172473ae393L,0x405f0a92035ff1faL,
  77855. 0x92e3f9ce4bc2d463L,0x925514e40a2021f6L,0xcd3b486a24f17a36L,
  77856. 0xb3d53d04f3613476L,0x71c3f97fe77820f5L,0x00000000000001fcL } },
  77857. /* 47 << 364 */
  77858. { { 0x852f1fbcfb7f52b7L,0xb0cc00e8a5216d54L,0x8672df32b5963f15L,
  77859. 0x762e9282a02e8cb0L,0x4d7014de28e19483L,0x00d4fe7499924b2eL,
  77860. 0x3774ec31f8b18141L,0x0420a9c17157790dL,0x000000000000007cL },
  77861. { 0x911b65954e573db3L,0x32acdb9fa20c4d41L,0x711a9ec71305a54eL,
  77862. 0x9c3d65a366d148ffL,0x625f52948fe247d7L,0xfab2043c4670bf1aL,
  77863. 0x12582823a07de38eL,0xafb1eded5b959f06L,0x0000000000000129L } },
  77864. /* 48 << 364 */
  77865. { { 0x5d8c23c4ef873f3eL,0x2a29d680ce7bae33L,0x5109e098bc00fc8eL,
  77866. 0x9bf92efc3cfad961L,0x272dfa3362036bcfL,0x5abb516cc2b13688L,
  77867. 0xbfad4cccddcb08abL,0x05945b934f260709L,0x0000000000000043L },
  77868. { 0x67fe093b08a5f87fL,0x5f8e248a6c6fe1b1L,0xf54f710ba3b887a2L,
  77869. 0x12e1b68790f7e972L,0x7002bd70429cd6c6L,0x0f010d4ae896b58bL,
  77870. 0x44fb054b1a7f5713L,0xb9f3026865508714L,0x0000000000000173L } },
  77871. /* 49 << 364 */
  77872. { { 0x65483a1ab5c1fbc2L,0xa155ccbd53bb27d9L,0x9094f0ed3d5359f1L,
  77873. 0x362abba1d9f40d89L,0x8d7bc1e7fa134421L,0x636633a976bdfe89L,
  77874. 0xc6ef5d639c5869b1L,0x8e7ba642480bb0a0L,0x000000000000000fL },
  77875. { 0x88d645e1d0feed4dL,0xeb4adfa1c20d0d63L,0xe2209996fb1b2e2fL,
  77876. 0x87d28ed192f8ce53L,0xed470981ceaa7a0dL,0x85aa8a0d90cf06b6L,
  77877. 0xc60e34c958714ef8L,0xc8981d2c3809d2b1L,0x000000000000012bL } },
  77878. /* 50 << 364 */
  77879. { { 0x72fc8211bef81f27L,0x537a557025bf42deL,0xcf4897acb921c86dL,
  77880. 0x5c8699ef53e61dbeL,0x8035b6a21224893dL,0x2898a3da7493e0eaL,
  77881. 0x513c67d938bb7c30L,0x061bd9489096e40aL,0x0000000000000045L },
  77882. { 0x6dfd6e4f28d8262cL,0xa5e899779626f8faL,0x96ad23672ccf3544L,
  77883. 0x942edf03854002f4L,0xbb5cc34da9661773L,0xb80cf020b8d08e21L,
  77884. 0xaf4b59e6c43a0450L,0x808e168e090b9341L,0x00000000000001ffL } },
  77885. /* 51 << 364 */
  77886. { { 0xa21298f924d00a8fL,0x72bfd3d362d44b6cL,0xca5b5295b39fb777L,
  77887. 0x5825f273d6c47ffdL,0xff94e450245eb6afL,0x6bc3a25b526f6540L,
  77888. 0x7e2ab869326c3a3aL,0xfe19c44598793894L,0x0000000000000048L },
  77889. { 0x458eaf5d312c9130L,0x799818f21bc835f0L,0x9a0379fca84cf15fL,
  77890. 0xe1e881b333eb47eaL,0xe8f388c96c148464L,0xdfd0331bf918dd3cL,
  77891. 0x0fe9948d37c326bdL,0xa2e594354fdeacd5L,0x00000000000000b3L } },
  77892. /* 52 << 364 */
  77893. { { 0x167a44a4f48d1a6fL,0x17bd533c0674b096L,0x608ef0ff851af68aL,
  77894. 0x853711b006c5a744L,0xe673db4b76e6aafeL,0xa818d41e84bb4967L,
  77895. 0xce0648d4874cd99bL,0xe54897de3fd7bffcL,0x0000000000000121L },
  77896. { 0x4459a34f07254e0dL,0x134eba30898bf5e9L,0x7ee5ba719c1abf50L,
  77897. 0x66a612de34bf7003L,0x78acbb6315d9f945L,0xb6d28e14bdb7f451L,
  77898. 0x689d24f8b95c7028L,0x6483c9b4ebadf135L,0x000000000000004fL } },
  77899. /* 53 << 364 */
  77900. { { 0x822f612e68d5a09eL,0xacb6e113a31bd8cfL,0x2c3ad4eae8d17d74L,
  77901. 0xab51cf8edfaf7e2eL,0x449183963772dca1L,0x62a617efa96de321L,
  77902. 0xf09187352e20c698L,0x6e7a487e6bb591eeL,0x00000000000000deL },
  77903. { 0x1d33a89b7db906a1L,0x4091e01471dc64dfL,0x0540b534a58cc14dL,
  77904. 0x849222c707396a5bL,0x58aef7eb775ea99bL,0xce7c63f65f302c6cL,
  77905. 0x7a1e02cd1b867273L,0xebc4857b3743b723L,0x000000000000017dL } },
  77906. /* 54 << 364 */
  77907. { { 0x0671c7e112ca894dL,0x6b0a2c88c57f111aL,0xca88bfaf1721a2c3L,
  77908. 0x61cb31da9a514c04L,0x4514bd8599b99880L,0xa9f46871a2059f8bL,
  77909. 0xec4e6edad93af5b5L,0x1cec9d601d560d16L,0x000000000000017dL },
  77910. { 0x6257f235a79d25f3L,0xb1979a667f90a7a1L,0xb38545ac0679b79dL,
  77911. 0x0703d6507dbe20d3L,0x5b88e91e64a68386L,0x7a5629c6c91e584aL,
  77912. 0x0915e551ff339016L,0xf8a9e56d23a0500cL,0x00000000000001a8L } },
  77913. /* 55 << 364 */
  77914. { { 0xee27859c0521098aL,0x970c4051d872b16eL,0xad0ecde9c3c5bbf1L,
  77915. 0x019f0c2c4b149f15L,0x9a5a4e5503a6d0d6L,0xa52621d2895c64f2L,
  77916. 0x707aa7e689956400L,0xbd0e5a053795410bL,0x0000000000000181L },
  77917. { 0xdc51bda6b2a3e2a5L,0xde72d588cfe02f6fL,0xb18b4bec1be05194L,
  77918. 0x68f8b786d6037923L,0xa494a1c4415279c0L,0x0e51e168a5aebb47L,
  77919. 0xe79a88f04a96a716L,0x1feb112e1d788449L,0x0000000000000186L } },
  77920. /* 56 << 364 */
  77921. { { 0x281825f0af90c0edL,0x508b8ef58b11c46cL,0x3cb0e5a0ff67b87cL,
  77922. 0xee6365c9a50bdce9L,0x3f933c55f589fb98L,0xf7950a283567064cL,
  77923. 0x21e677926924a0ffL,0x6d5be0aa7eaceff1L,0x000000000000005aL },
  77924. { 0xa914263d816da5c1L,0xf5a6429d6a464081L,0xea57f436d831fafeL,
  77925. 0x23641c3901b9ece7L,0x661d8811e2403f65L,0x023481f7816a7a7bL,
  77926. 0xe93d5b84dc13eaf9L,0xacb875252dee995fL,0x0000000000000011L } },
  77927. /* 57 << 364 */
  77928. { { 0x7bac8a1f71752fe1L,0xb6ee08d1ef8dbcc6L,0x3fdf644ebb0a75a5L,
  77929. 0x51e3c1eea521e7afL,0x920792c578e167dfL,0xbab8522244800674L,
  77930. 0x02e31bbf3cb5b8f9L,0xf0bc9665b24b43c1L,0x00000000000001b8L },
  77931. { 0xc3b8ebc338cf85bfL,0xb1c104d25af1dd95L,0x2bdfd6dcda6cbd8bL,
  77932. 0xe6ac454268e06800L,0x468c05305cbf5287L,0x65a8a23cdc2a274cL,
  77933. 0xe44faf739e3692d8L,0x88b9600a9770e1f0L,0x00000000000000b9L } },
  77934. /* 58 << 364 */
  77935. { { 0x78186f42d20e93e5L,0xf882de3b52cb40b5L,0xe02c79387365549cL,
  77936. 0xbc1fff4ede0f24f6L,0x4716829f33e8fb70L,0x487999c200e2d58cL,
  77937. 0xd32e04f967046452L,0x5c6c7d0f139cd04fL,0x00000000000001a0L },
  77938. { 0xf5210c69ac33a880L,0xd32472219054b79bL,0x399bf1bfb9b9b279L,
  77939. 0xb145a7345fa2a328L,0x70cb655f6a7cb853L,0xbb5c9d5edb9862fbL,
  77940. 0x239fe8d6762ffc06L,0x912d2a518fed6745L,0x0000000000000084L } },
  77941. /* 59 << 364 */
  77942. { { 0xcb67ef37ff6c372bL,0xe9425af5c428b56fL,0x7854e7f36ff3a356L,
  77943. 0x5965c0105029b282L,0x493d32f7fc87cae6L,0xc7ad7ff9dfc472e3L,
  77944. 0xcd9ab378d8bf71a9L,0xc49c4707acec3621L,0x000000000000005dL },
  77945. { 0xe4c80149cf6db5aaL,0x52602b84909b1173L,0x36ce666e6714c0c4L,
  77946. 0xc72ae2b5f3bdddb5L,0xbb0d0ceb584464efL,0x78bd6e2e92cdc8abL,
  77947. 0x77107721019f02edL,0x7dbc999bec0397b9L,0x00000000000001d5L } },
  77948. /* 60 << 364 */
  77949. { { 0xf252109992d52590L,0x30ed7b6d4f408844L,0x4955bd8bbba75995L,
  77950. 0xd37937658cb5aec0L,0x1261cf5df69bde61L,0xce174a491155e67cL,
  77951. 0x7a1dcb85672e120eL,0x01af5025a31f4618L,0x0000000000000194L },
  77952. { 0x5d88154d535c4264L,0xcf3544f8262baf6cL,0xcb20720cd283226eL,
  77953. 0xbaac302321f39572L,0xfe4b16de5314be46L,0xfd21b184e3413cb6L,
  77954. 0xd03c87359ac85ca5L,0x0ca26710bafa0f60L,0x0000000000000084L } },
  77955. /* 61 << 364 */
  77956. { { 0x502241e716f77078L,0x6bfa20aab341ccc0L,0xf1778314d15149d2L,
  77957. 0x7bcaa76057a09879L,0xdf92e0fc69388438L,0x203a14ae7744871dL,
  77958. 0xe7327d6a7937eee8L,0xa319cc7ba9d12fdcL,0x0000000000000126L },
  77959. { 0x909ce004523922bcL,0xd1da8fd14423b041L,0x7166e840ec1fd1fdL,
  77960. 0x7c04a7938d916182L,0xafa25c31611e6ef9L,0xaecab8083296fcdcL,
  77961. 0x5483703b06078065L,0xd008cd2df0c882a0L,0x00000000000000f1L } },
  77962. /* 62 << 364 */
  77963. { { 0x0e7d946f1dfa75e8L,0xb1e329eb0eb8e7cbL,0xe1df4442ba80dccfL,
  77964. 0xb3a29cdfc142cb7aL,0x3712a3cb0e5e7f49L,0x7037fc67a1f9236aL,
  77965. 0xf049ac787833129eL,0x638fe65adac94ad0L,0x00000000000001a9L },
  77966. { 0xec8ac9e743be67eaL,0x84d8f6db517473c1L,0xad9de5dbc4ec6612L,
  77967. 0x2f7ebb78e15058b4L,0x129353c9adf4076bL,0x7dab2a69d2683ad0L,
  77968. 0xff049895a4228a12L,0xd0348267bb32f462L,0x0000000000000067L } },
  77969. /* 63 << 364 */
  77970. { { 0x2e0d4e523c99d98bL,0x2ef5e71343e2da00L,0xc0c2309974663959L,
  77971. 0xc9df3fc467c2cd19L,0x5da2f192ba2721c8L,0x8702415febb5f418L,
  77972. 0x4db2fd402eec0530L,0x2295bd8643c2146aL,0x0000000000000174L },
  77973. { 0xe7a701ddd762e18eL,0xca06d33a84fe83ebL,0x168dafbfc46cc2ebL,
  77974. 0x398e74542544fc12L,0x4bce2b7d0e00ca94L,0x2488fa21756ef9e6L,
  77975. 0x8e5b79ce4e3f6937L,0xbf90406a0a5d699aL,0x00000000000000a0L } },
  77976. /* 64 << 364 */
  77977. { { 0xd414309fa567339cL,0x4ee5c7a8dff5fbcaL,0x33d8e6c3064cc887L,
  77978. 0x15992eb4ca553cbdL,0x3d733bb4459da20dL,0x98c2de2ea682b305L,
  77979. 0x68c13bed5602ed92L,0x639b79f1c3bf7b46L,0x00000000000000b5L },
  77980. { 0x93de5e06289407e1L,0xa8f2b4e1b05a27beL,0x9d07927a9f5a6be0L,
  77981. 0x9a5d02e2f1b97f94L,0x320db20df2dabbb9L,0x991313330c14980bL,
  77982. 0x44845e16f888e761L,0x1baeb18063a5538fL,0x0000000000000196L } },
  77983. /* 0 << 371 */
  77984. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  77985. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  77986. /* 1 << 371 */
  77987. { { 0x55417ffa525abf32L,0x1ff40e1678067dfcL,0x431a0ae12795ea6aL,
  77988. 0xc3de691cef54c597L,0x60a0c51b95f9d2bbL,0x30840ca982772f1aL,
  77989. 0xddaf460496eb0344L,0x03a9f6f48615d783L,0x0000000000000035L },
  77990. { 0x74598cb233edcfa4L,0xbb866bc9de9dccdeL,0x0c4831162a673bb2L,
  77991. 0x3eddd388fee306a7L,0x8785a002c80eb5b9L,0xe2bd81f71937371fL,
  77992. 0x501648595684a105L,0xf0f3fdde1f26e0dbL,0x0000000000000119L } },
  77993. /* 2 << 371 */
  77994. { { 0xa8c68b9d76bcd267L,0x95f78ca896362c64L,0xbb8302f303603f09L,
  77995. 0xf15b0d54272622b9L,0x4cebfcd197692826L,0x4d29d2b119c758fcL,
  77996. 0x4703bb56e11ac4feL,0x7152abd536b53bdbL,0x0000000000000060L },
  77997. { 0x68ac983427bede63L,0xd5c6c405e54a999bL,0x3d763e32231e8eb0L,
  77998. 0xe36ca2ff47c7edb7L,0xd9f185058d2b6016L,0x4e576eb060d55105L,
  77999. 0xe3e9f24976e3f591L,0xd5bf8f0083ea6a2cL,0x0000000000000157L } },
  78000. /* 3 << 371 */
  78001. { { 0x19167b042f78b31dL,0x0bc39ff3ee7cf690L,0x1ba8b94e84229ddbL,
  78002. 0x3246debb20f057feL,0x48ca85514add6cc9L,0x8b7f118143ae3103L,
  78003. 0xb668a2b5a6c8bb6cL,0xb64cc5c6b9096bb4L,0x00000000000000dbL },
  78004. { 0x9c55192350f09302L,0x9d4b2f64b0cd8facL,0x5082aef750c652ffL,
  78005. 0x8bcd4095cf098fe1L,0xa0548bd149d1d0daL,0x88bb345714f1bd75L,
  78006. 0xc0d5ee3412d51f96L,0xbf0bc99b3428d838L,0x00000000000001dfL } },
  78007. /* 4 << 371 */
  78008. { { 0x43164d3a02079397L,0x2a3fd379490d948fL,0x79ad8714635e0c5aL,
  78009. 0x5ba9289871b5cf85L,0x1babc5a1956bead4L,0x5408a355ff6d701dL,
  78010. 0xd924d7a369570fe3L,0x60d41a46831755afL,0x000000000000000cL },
  78011. { 0x7ccfe1a4ec2f26c2L,0x549a32be85ebc29bL,0xe183ff35d46e8b7bL,
  78012. 0x0e8dfc66d421604eL,0x1ab4332cb30ddee6L,0xad4b6b316c35cea0L,
  78013. 0x1d9c4df7856f9258L,0x65882c90850f81e4L,0x0000000000000052L } },
  78014. /* 5 << 371 */
  78015. { { 0x55a5a6ccdddca192L,0xb38bb7287b3e7f50L,0x7b9a20026c38d9d2L,
  78016. 0x1d2b51021b932082L,0x999e6e2237f9c375L,0x4479906f28599828L,
  78017. 0xf2f530c4a190dd77L,0xedf7a92bd90a48c8L,0x00000000000000a7L },
  78018. { 0x1f671a64995e4d4cL,0x600bfd00452d4641L,0xba5ff839569ac924L,
  78019. 0x0b7be6fdbe11e6a8L,0xd6254f776167c3fbL,0x9ca2fb561db1833fL,
  78020. 0xeaf23c8a2f38a1d6L,0x5ae79637580328b8L,0x000000000000007fL } },
  78021. /* 6 << 371 */
  78022. { { 0x14b97da09278f093L,0x77b62eb2aaf50774L,0xc94c47e5595788ebL,
  78023. 0x3f6fbf17e78a7acbL,0x8beaed91d648cdaeL,0x1402478db0281eeaL,
  78024. 0x06f48d3e057a9cc4L,0x9a75cb7b56f972cfL,0x000000000000001fL },
  78025. { 0x74749b84a7049117L,0xee6187df275efa96L,0xc8a4dd7fa7daefb7L,
  78026. 0xc2a5680ff26b4deeL,0xe64ae23802c8ed96L,0x55d8e7bdc75ab457L,
  78027. 0xc29f93f613daad11L,0x7e485b3f10ef96b4L,0x000000000000001cL } },
  78028. /* 7 << 371 */
  78029. { { 0x1c9e957789aec483L,0xba5e770a1bf4467fL,0xd7526f872451b462L,
  78030. 0x75016fd27032ba28L,0x2dabd34d28d9400bL,0x061fcf0b059924b3L,
  78031. 0x7b10c93f7ffabc41L,0x0036de6be31e7493L,0x0000000000000138L },
  78032. { 0xbc1e36684cf1f0a5L,0x7ee63407d00afe1fL,0x6cbde6d008365960L,
  78033. 0x547354bc69072183L,0x6034bec0b1ac8702L,0x87fd85e523bfc10aL,
  78034. 0x4324629f3e70e47eL,0x297e13f8b293881dL,0x00000000000000a7L } },
  78035. /* 8 << 371 */
  78036. { { 0x27cdf0121f91a935L,0xa3a2d0ab9b1da866L,0x62bc6ad520c6250cL,
  78037. 0xe637b6b235233aaaL,0x3921e6a2e5109b06L,0xa24b99c558d73641L,
  78038. 0x33073b25d3bd99f7L,0x60fad5fec0498cfaL,0x000000000000014aL },
  78039. { 0xb187185263080bdaL,0x8270739112d3fcf0L,0x770b113c7b3cd673L,
  78040. 0x2cf6e741ca843432L,0x77c74d8dd75af1c0L,0x979e1fd4a0c24279L,
  78041. 0xbf05a641f335ef51L,0xd7ec205d26b269b7L,0x00000000000001e0L } },
  78042. /* 9 << 371 */
  78043. { { 0x4a39cd1170a3f57bL,0xf7fad21a6293478bL,0x764c268bcdefc0feL,
  78044. 0xa00708591e0f3357L,0xede58f82eb1922d0L,0x892fff77f01c6ff9L,
  78045. 0x7560da0994b99265L,0xfa2a8b7655cd790dL,0x00000000000001a0L },
  78046. { 0x654458aebe04cab0L,0x54ae24c556d74126L,0x57a824ee98adf4c2L,
  78047. 0x40bad2871153f8faL,0x6ccafa8041c1dcfbL,0x04ca0dec0f0d346fL,
  78048. 0x823065b4b8909c28L,0xa2e9d0ed691fc92bL,0x0000000000000108L } },
  78049. /* 10 << 371 */
  78050. { { 0x12df8924cdf52775L,0xd89749666e3bc06fL,0x7f3310ce3e68cf93L,
  78051. 0x0a012c7f97117fe2L,0x65288f5ba16adbb8L,0xb1e26bb892bc7054L,
  78052. 0xa6833ac98a63d1c7L,0x5f3b945a5de7f156L,0x0000000000000176L },
  78053. { 0xeb8958990dd3a366L,0xef27b635958aa6f3L,0x8ef1df5f1dabec19L,
  78054. 0x871fec8b0f53bdd9L,0xfbb413be9efe0c6aL,0x06e372b6aa16add4L,
  78055. 0xdd08c66fa945e423L,0x66c1b806f3b12febL,0x0000000000000166L } },
  78056. /* 11 << 371 */
  78057. { { 0x933b1a154bc2cb58L,0xac8e7a848ef1d6b4L,0x70260e4618701778L,
  78058. 0x57de74846479f950L,0x978936a560f27f7aL,0x4e7bb94ff6be0506L,
  78059. 0x1457516e3fb3ea20L,0x0441479c4f869273L,0x000000000000017fL },
  78060. { 0x685fe4c987220437L,0xfa0bfbb2e943a125L,0x6fa0b3ed370ece4aL,
  78061. 0x93c118d6dfd5cc92L,0x6030a716ddc2f6a4L,0x0a8ac606b43868e2L,
  78062. 0x297b0af0c5884f2bL,0xd1a4017575bdb5b1L,0x000000000000007eL } },
  78063. /* 12 << 371 */
  78064. { { 0xa200e9eefc3de00dL,0xe02a24d1d3a22751L,0xc793c92ead1898f2L,
  78065. 0x46ab743bb70f915eL,0x274fed3cd9a716c3L,0x292a43535c0d17a2L,
  78066. 0xe7619f937874c664L,0xf21dbab53e3c8169L,0x000000000000019cL },
  78067. { 0x6d19c5de10f6e0d1L,0xc8d263ffddffa70cL,0xac7886e640a77aefL,
  78068. 0x22bd9cf6d4a9191fL,0xc53a3301624532d3L,0x8edfa100fa74a13eL,
  78069. 0x15f04d3357701dd1L,0xd5cfd2ed793d4da4L,0x0000000000000170L } },
  78070. /* 13 << 371 */
  78071. { { 0x398ee0581ecd73b7L,0x2f0d408133d6ed24L,0x1fdcc54b5fdbdcf0L,
  78072. 0x0395f23a4c72a862L,0x367f52079a32bf9dL,0x5b0e3a0c52b644bbL,
  78073. 0x1a611bc7d98749d5L,0xf33a5068dbd98abbL,0x0000000000000171L },
  78074. { 0x2e997900353531a4L,0x61b43baf887ff703L,0xc7f77d0a186f6196L,
  78075. 0x1848d88b69925319L,0x5714b501bc49f4fcL,0x8fea9fe19f096741L,
  78076. 0x967d954bbe08a7bdL,0x3924cd2b8379598dL,0x0000000000000187L } },
  78077. /* 14 << 371 */
  78078. { { 0x627f65fd51ed20ecL,0x1c31d4a36dec3a4eL,0x8f222ec0ea76b32cL,
  78079. 0x890e15c3bd5a76a5L,0x236174697a3e2d67L,0xbed29d6dd8178f45L,
  78080. 0xd61f7707c90e2df7L,0x31c286dd91be7739L,0x000000000000008fL },
  78081. { 0x7ea9ae7ce3d9f5a5L,0xcc26143e9dda23c5L,0xc231022efd1ef741L,
  78082. 0x66e91f63dc1fa1dcL,0xe831781e364d03e9L,0xf2247b2b629af703L,
  78083. 0x08f7eb82ae2b773bL,0x7c543051a0a208b0L,0x00000000000001d3L } },
  78084. /* 15 << 371 */
  78085. { { 0xb761f9dacad555a5L,0x1158077a4c08bebfL,0x20eb5340d9178836L,
  78086. 0xa017580fc9cb0f56L,0x6398ac5dd6a9dd78L,0x8c61b607b81a037dL,
  78087. 0xaeff0fa89e9b6cb8L,0x87114bb165251d54L,0x0000000000000047L },
  78088. { 0x54fe66cde6d7bffdL,0x691934c952cbec15L,0xeec20a71b2822a05L,
  78089. 0xca8eb263df0d5327L,0xe64d4637b7c3f818L,0xeafa8d4f41fffc65L,
  78090. 0xbeca4d821438206fL,0x5b1e7299b08e6da8L,0x00000000000000d4L } },
  78091. /* 16 << 371 */
  78092. { { 0x55a64b0a30239552L,0x447c6e084bfab408L,0x43cb43277063035cL,
  78093. 0x68afe121d293b9eeL,0xa975707bed50a41cL,0x15a6a8be4488f96cL,
  78094. 0xdbb6a3d81bf798e4L,0x0de2f103b5e600c9L,0x00000000000001f0L },
  78095. { 0xc070dab445bb5352L,0xd590d895afdac74cL,0x679fd21d37bfade9L,
  78096. 0xe8dc87e7a0aedd41L,0x9e48f870b31dbd72L,0x21afacd8c7ea78b4L,
  78097. 0x8ac51f26fbcf9d22L,0xb52293afde2b01dbL,0x00000000000001f8L } },
  78098. /* 17 << 371 */
  78099. { { 0x3758f2af7936635aL,0x74b798c72b40548dL,0x8f746cb7bc08951cL,
  78100. 0xe7c48c0db90c67e5L,0xb3aecd64547b6065L,0xa7abe0f2357ebb83L,
  78101. 0xf7870c3f514cd9bbL,0xd4d390c38af455d5L,0x0000000000000026L },
  78102. { 0xe3adfa666f5d6b82L,0x8aaf5a4741ab8606L,0x9f3a4e2e5c7cb83bL,
  78103. 0xbfb5e5f97f817e03L,0xa1774513f962e421L,0xd8530e824f95199fL,
  78104. 0xc634291ffd835e8cL,0xfccc2dcaabd346f0L,0x0000000000000086L } },
  78105. /* 18 << 371 */
  78106. { { 0x7f428dac77331596L,0xbf977f5fc255949fL,0x3da177d5c4d98be0L,
  78107. 0x7cb4b3b7a8527c4bL,0x040683908032ca6bL,0xfab16224bb04c171L,
  78108. 0x6660197a9c5610cbL,0x8fe2ad3091c7c2fcL,0x000000000000018fL },
  78109. { 0xc8df54981bc9c007L,0x9901a26b6aeeb5ecL,0x0c6cd18f85b8d02bL,
  78110. 0xcddd3b72972a7ea2L,0x603843318c6fec2cL,0xd4200454211f8358L,
  78111. 0xc7f5670ee44ccacbL,0x9fcb7d2d97a7417dL,0x00000000000000bdL } },
  78112. /* 19 << 371 */
  78113. { { 0xd144b65c368e0f94L,0x2aa6fd1861635627L,0x3f31fb42fe180a54L,
  78114. 0x8883d6b30264febcL,0xe08156372a275187L,0x1b41b0ab2efeb608L,
  78115. 0x7d4d5c8cd9209a9eL,0x059b7e52fb5e4ae8L,0x00000000000000f1L },
  78116. { 0x99f230bf1ae6d4a8L,0xd4305aa703d12070L,0x500e9eb3bfe7d196L,
  78117. 0xed0419172cc4d4c1L,0x86b8ce8a7c13ad0cL,0xb98fbc926325540fL,
  78118. 0x40a2b38df38b9857L,0xd9db5066e09d37d7L,0x0000000000000079L } },
  78119. /* 20 << 371 */
  78120. { { 0x00c31d64181f278bL,0x582351a85e31f839L,0x825b8006a74edfabL,
  78121. 0x3d9bcb438e3019c0L,0xa05cc896415f4421L,0xfa32c6f82e7c6507L,
  78122. 0xbbabcd82d133935fL,0xae65b063ca469a57L,0x00000000000001b7L },
  78123. { 0x6c872de99ba01391L,0x2905a70571855ccfL,0x9cd262192d4210d1L,
  78124. 0x9de7f89b7aa6af53L,0x8b4cf2b2be39c3f0L,0xc563fc954e4d215bL,
  78125. 0x957fa0bce34c2924L,0xfa619e7a4af69b61L,0x000000000000013dL } },
  78126. /* 21 << 371 */
  78127. { { 0xe46ef9e2f940c3e6L,0x54d48ea1dfd4f480L,0x35065f580b11f229L,
  78128. 0x18835d382a2631f1L,0x986d96526284ec7fL,0xd7edda2e522a1c50L,
  78129. 0x351d9e0abcef1fb2L,0x42a4da050d3f2923L,0x0000000000000048L },
  78130. { 0x65621778920b9d2cL,0xa4e48292ca599b9bL,0x705f6b5f09a51b05L,
  78131. 0x17e2e9be14fb9f4cL,0x626f13c1fdbae0a7L,0xe0fff527a6c97623L,
  78132. 0x0a492326e3b401a9L,0x14005f55d4c7923bL,0x000000000000014eL } },
  78133. /* 22 << 371 */
  78134. { { 0xe86339bafd804ef7L,0x0167369276bbf53fL,0x41236f2e3918ec65L,
  78135. 0x1043b6b3c14159d2L,0x732bcb46ab04bb98L,0x88d1cb4c30d86216L,
  78136. 0x3dca271b85ddd190L,0x927fba7b58e758caL,0x0000000000000182L },
  78137. { 0xca047c60f46e0e28L,0x915c93fc92b64674L,0x8fd233c6794d425dL,
  78138. 0x028132b544a3ec1fL,0x975c8aa816509efcL,0x041ef627622584e8L,
  78139. 0x1989a692938c99dfL,0x7704d7c7bfbbc611L,0x0000000000000192L } },
  78140. /* 23 << 371 */
  78141. { { 0xa7eaf4c895142d4cL,0x61e607a03cd97db9L,0x4763744a14981a6eL,
  78142. 0xf54972914ede7722L,0x149141767b2054a3L,0x214aa26ecbf81d43L,
  78143. 0x0f6799c64e524018L,0x0973267933808997L,0x00000000000001dfL },
  78144. { 0xd8603475f3af64a2L,0xf5e79fd58ab0f9e4L,0x691d0e631fe48f7bL,
  78145. 0x58500c202bae9eceL,0x8867f3767fa96563L,0x5ec76c8c31bb14b5L,
  78146. 0x4a24a4cf719e74c1L,0xa55ab3dc3018ac71L,0x000000000000008fL } },
  78147. /* 24 << 371 */
  78148. { { 0x8013eb783899c832L,0x463a9c46e6ba78baL,0x6d3a471ac9682ac6L,
  78149. 0x599a9fb58dbd293eL,0xfabfd28a1897913bL,0x1de9fe55b9a23b31L,
  78150. 0xdd90ed9ad55d93c7L,0x07581309290a5eabL,0x000000000000000eL },
  78151. { 0x54443bb9978f36b2L,0xc2c254c99f6c65c6L,0xaf9b5009f7b984bbL,
  78152. 0xc5416eec0b97ffd9L,0x1107f9bb5ebb7853L,0x0ff4c94c9d487ffcL,
  78153. 0x7b4f0985507ba23bL,0x0accf6dd5eb91f71L,0x0000000000000044L } },
  78154. /* 25 << 371 */
  78155. { { 0x192da2cd26f4c420L,0x572cee9631d8df5dL,0xdab3e7f5bdcf0a04L,
  78156. 0x6a1d4dfbce93d59dL,0x61e82d140038c2cfL,0x8dcf11e453b76f40L,
  78157. 0x0a4a89fff6fd7ad9L,0x1e290ca5ef8283c0L,0x0000000000000115L },
  78158. { 0xa9681e1b041ae86cL,0x8ed63e5f3f833d4dL,0x3610987bb4d3ddb4L,
  78159. 0xd2ccde6e391b2249L,0xca83117b8d72067eL,0xe1ddd26fa6bdb2afL,
  78160. 0x15ae36b72c70e306L,0xf98cd43ea7758469L,0x00000000000000beL } },
  78161. /* 26 << 371 */
  78162. { { 0x1a07bb1c0ac926c8L,0xdbdad1e77cde114dL,0xd677815bc1f3a574L,
  78163. 0x5758e60628dff5e7L,0x95c76291a7501407L,0x5cd2407fdcb4d1f6L,
  78164. 0xeb6d28c4b9472593L,0x0092a86b0b6fd187L,0x00000000000000fbL },
  78165. { 0x961f53cb791dec5cL,0x77e3a3129a8cd9d7L,0xcfc28c0775f8fc57L,
  78166. 0x748ab16f531e8336L,0x100e37fe05192627L,0x9477fb71d0292d0cL,
  78167. 0x924c1e0546a38ba8L,0x2018a9da4543f219L,0x00000000000000c8L } },
  78168. /* 27 << 371 */
  78169. { { 0xfc15c19894d6a58cL,0x6f96632933f600a9L,0x739ca01ad3897cceL,
  78170. 0x4d55aa32f9951c45L,0xba939be9855859c4L,0x6036fd9015e2f163L,
  78171. 0x5d186f9beeb5f81bL,0xa4fcf9103c005c91L,0x00000000000000d6L },
  78172. { 0xfbc5c0d24972f122L,0x98ba7c8a5c76ac91L,0x2ee0549a178b8a08L,
  78173. 0xa4b87f877d08e3a6L,0xb79bb97e78826c20L,0xf4d47cc987e0716eL,
  78174. 0xaf149859ce5232fcL,0xf06f3b636558ee4fL,0x0000000000000078L } },
  78175. /* 28 << 371 */
  78176. { { 0xdca43ef744ad140dL,0x18c95116f62a3beeL,0x766d5e214e144f65L,
  78177. 0x1087ab025d99574cL,0x3bae4ddc4954da34L,0x673d2cac0ddb3e23L,
  78178. 0xfc2f18ff40cd4d2bL,0xb67bbdbf2e578cdcL,0x0000000000000142L },
  78179. { 0xa3352aac08191be9L,0x24523f454fcf86eaL,0xca79a37a6eb6b7ebL,
  78180. 0x24b8db952ce7f66aL,0xb8ba67584e8f293eL,0xf38b987a8bde44aaL,
  78181. 0x0f3f142659cbcb5dL,0x647440675a6bc1fdL,0x000000000000001aL } },
  78182. /* 29 << 371 */
  78183. { { 0x4f553f1e50084eafL,0x17d18de4080f9a12L,0xc601052c365b8689L,
  78184. 0xbcbc88ed44666175L,0x520b172e6e738779L,0x17cf5474d9331305L,
  78185. 0xe5ca54f6af37d665L,0x729f3bb20505c180L,0x00000000000000acL },
  78186. { 0xb10c1bff0f04c79dL,0x521302ad827da287L,0x2beca71081205674L,
  78187. 0xe817a9cc8bfc4bc6L,0x22bec5a6eb2b7888L,0x57bc24e031e4912aL,
  78188. 0x1a575f46f1fc81a1L,0x52726c48a7f20ee2L,0x000000000000006dL } },
  78189. /* 30 << 371 */
  78190. { { 0xd9d203c4598d6047L,0xe1356b6104351a31L,0x8657a9c458b1e12fL,
  78191. 0xcc26f6378ed5aaf3L,0x7272b2e03b6c0450L,0x2ac17670212aaa79L,
  78192. 0x354b375423e6acbdL,0x22b9deae2a4f7adfL,0x000000000000005eL },
  78193. { 0x20421426b405d02bL,0x62f72a9f20ed4116L,0xb93c24e0308d525dL,
  78194. 0x5489564edbc245ecL,0xa904ab8f3b6d7c99L,0xe4c11c4d99f5d096L,
  78195. 0x1685220588930daeL,0xc2569fe5faef9b94L,0x0000000000000079L } },
  78196. /* 31 << 371 */
  78197. { { 0x54b7d472b9625eedL,0x96bf80ab1a3fb182L,0x29904fff4ee84a0fL,
  78198. 0xdd03b6edb1a2ee86L,0x940f809aa2dc4daeL,0x2afc6d8d553e27baL,
  78199. 0xc40f2a4177ffdc58L,0x8af0695509881ffdL,0x0000000000000052L },
  78200. { 0xbfd40b6420913ccfL,0x4fc3e9d8f708e344L,0xe401cede8f9c65a3L,
  78201. 0x524d923b6757c00dL,0x34ae158b58ac6a2aL,0xcca4076ede97ca62L,
  78202. 0x2504275746574675L,0x5b8c8366883cbd67L,0x00000000000001faL } },
  78203. /* 32 << 371 */
  78204. { { 0x0079a845a2fda60fL,0x6dfdf102da8db63aL,0x7d2759600148a559L,
  78205. 0xe089c346684b9737L,0x09f865b2820bdb1cL,0x000daef6891ae57eL,
  78206. 0x384f5eeea4f64f15L,0xdd68e4903da7e79cL,0x000000000000013aL },
  78207. { 0x20b7457d514ac5dbL,0xa03028fb954721fdL,0x6f20d5185c77cb17L,
  78208. 0x28f92697ad74495aL,0x630e01566b327dc8L,0x6c5067d665832ca9L,
  78209. 0x9c9305fbd3f6db89L,0x681013fa905fffdfL,0x0000000000000188L } },
  78210. /* 33 << 371 */
  78211. { { 0x052a6504fcde276cL,0x9ff83d3e03dca446L,0x6c456483086044c5L,
  78212. 0x400568d5025b2693L,0xeb70c97d3644f851L,0x1c742ab829e4ac6fL,
  78213. 0x6af46714baae2f04L,0xd4479f7478f947c6L,0x00000000000001cdL },
  78214. { 0x1e1fbf4082e4fc01L,0xeaa68ae275f50a5dL,0x499c4cf8e48656c0L,
  78215. 0x3f40e8ea21124f0aL,0xc566ab479726ab46L,0xfd51c6e3f33cf47cL,
  78216. 0xf8534cc9851da00dL,0x2d986dc979325a3eL,0x000000000000009fL } },
  78217. /* 34 << 371 */
  78218. { { 0x2d1cc7a62d628095L,0xbcbecaccf7084f83L,0x78bad38b2160880dL,
  78219. 0x1df37a887240ee90L,0x0b59cee4ffc4d943L,0xd4bf72533ff81538L,
  78220. 0x13ddd2ed2d735a8bL,0x70db19b11ebbaf08L,0x000000000000009dL },
  78221. { 0x7aab738e2d9699b2L,0xf14683cb590a2690L,0x70724263822d9936L,
  78222. 0x814b413b358857e9L,0x9b284542f4d1fbe3L,0xba341ce4894486c9L,
  78223. 0xecfa29df24e844b1L,0x8c25f4197db398e4L,0x00000000000001bfL } },
  78224. /* 35 << 371 */
  78225. { { 0x0989fd6fa3f8bfbaL,0x02117ba75cf7c0eaL,0x4c5844374540f23dL,
  78226. 0x1710744e9e8e6c43L,0xdc1372b3f6438f10L,0xa0a2cb729c4e8561L,
  78227. 0xd1bab93a68368006L,0x08b2d51c5111f2d7L,0x00000000000001e7L },
  78228. { 0x705118155d2f0743L,0x7d1b044ea896f737L,0x0f91e692474ba5bdL,
  78229. 0xb3f073c2df57596dL,0xac9fdc864f784ce3L,0x935a5e29481b5c27L,
  78230. 0xa971f3adde7a4bd6L,0xa1cffafcecf9a22dL,0x00000000000001e7L } },
  78231. /* 36 << 371 */
  78232. { { 0x1b626aed7e856756L,0x4c02b4f05910510fL,0xa2a90de9ad139464L,
  78233. 0x83ea60047ae191d0L,0x1928f46a9ab9cb7aL,0x5534f73888c91d27L,
  78234. 0xe0031a2f2b97814cL,0x85b9dbf6280ac4a1L,0x00000000000000b1L },
  78235. { 0xc4c2339403d60f12L,0x946f2de54e7af304L,0xf6586026d0fd54c4L,
  78236. 0x19818309ac2c7138L,0xd9892eb25758d774L,0x451fc66b1c44714fL,
  78237. 0x3f25ab9540fc9e5cL,0xe56efc7a8aac7a22L,0x000000000000016eL } },
  78238. /* 37 << 371 */
  78239. { { 0x84f0e7a3cea4d0ceL,0xa7728bf113707f9aL,0x1d933350247981ebL,
  78240. 0x34f0f2bb7bb094eaL,0x2f1819ad7e307990L,0xc52e823c730a56b0L,
  78241. 0x29203f56f2cc5b6bL,0x065fc11932c1430aL,0x0000000000000079L },
  78242. { 0xc38deb590a0c113dL,0xa8e60a9b5c85b7fbL,0x1b4a907f44e567caL,
  78243. 0xa57c9bff9092f1d5L,0xfa8d7fa56e0d6c5bL,0x559ae140d6c660a4L,
  78244. 0xfabdb4288cfb6e11L,0x54cb7688b87dda9dL,0x0000000000000065L } },
  78245. /* 38 << 371 */
  78246. { { 0x4cdf8a5640802856L,0xb093e241a4a7480fL,0x576c0cf150b6457aL,
  78247. 0x14ff4a8b058e9d35L,0xb21d8c190109ed61L,0x7e5665920c1db4afL,
  78248. 0x36ba4ef915791634L,0xcaf371a71d77afa0L,0x00000000000000f5L },
  78249. { 0xad4eb0fd4602316aL,0x4c1a0bfbe55635f8L,0xce0ed653ee1f570cL,
  78250. 0x8073dd5e35096165L,0x98a7d8c3635ca5ddL,0xc5c250773c9e3650L,
  78251. 0xe1fcd377487c2433L,0x3319733e097d8560L,0x000000000000013dL } },
  78252. /* 39 << 371 */
  78253. { { 0x304c6914e1dea7e4L,0x41d73698a178321eL,0x8282c3544499c318L,
  78254. 0xc89303ea889a1aa1L,0xf22db4e07f57871cL,0x4674f5c53ce03a4eL,
  78255. 0x6691881b63513ca4L,0x94a96d0fe012c78fL,0x00000000000000c9L },
  78256. { 0xc3ecade9ef232dcaL,0xddd2a751d4c84690L,0x2f25657a9d3d585aL,
  78257. 0x87c2944a846e84c1L,0x1d698bf57907e091L,0x65c42161a2f220f5L,
  78258. 0xcff188228c247a7cL,0x3391b401c1c4a35aL,0x00000000000000ceL } },
  78259. /* 40 << 371 */
  78260. { { 0xab14f586b69e066eL,0x3d8308fe198d67f6L,0x9bc53a0cbb4ecfc3L,
  78261. 0xa2057c4059a3b558L,0xd21e271d18789187L,0xd6d29ba1562cf2b2L,
  78262. 0xa247ac0da5521075L,0x419bb80c0b39367fL,0x00000000000001b3L },
  78263. { 0x0950c5ca7fce595fL,0xd07ff0ef4ee87d4eL,0xa2ed463145b980f1L,
  78264. 0x6bc63c99587079e1L,0x285d306134f889c3L,0x93c029ade97b8a76L,
  78265. 0x048f151b1dc86800L,0x69c5d19225bbc4ecL,0x000000000000007dL } },
  78266. /* 41 << 371 */
  78267. { { 0xd3f0afc8bdf94481L,0xc2e80a6c7e877adfL,0x640e4c028b332b2cL,
  78268. 0x48e6df1ddadae6eeL,0x2d21985cbe6727cdL,0x508bcca2a0c64c31L,
  78269. 0x2357969462e25c17L,0x2d968e90833629fbL,0x0000000000000074L },
  78270. { 0x0b400771bf0004d1L,0x0dd2ba8f732ac6c7L,0xd2763f3ee9c8ebcaL,
  78271. 0x5a8ce5f4b4da65e4L,0x1e35a7e4fe30cce6L,0xa06e97884b791927L,
  78272. 0x73f83c9a9857643aL,0x67fa51e3abdb7475L,0x0000000000000180L } },
  78273. /* 42 << 371 */
  78274. { { 0x4b13370446e00296L,0x58469825ecf84fdcL,0xe74203b87facef7bL,
  78275. 0x54e0d777083cae38L,0xa4793f4b884beec4L,0x9a8ad2accc02badfL,
  78276. 0x290844ff9959c92eL,0xf20beeebf615c267L,0x0000000000000004L },
  78277. { 0xe05d9d8869641a28L,0x612febd9d4942cb6L,0xc4beed25bc912c67L,
  78278. 0x2823c041b15d0758L,0xb4a3b23607b1ef19L,0x6d93041ca6fcb0e9L,
  78279. 0x291d2e3a5fd96b41L,0xc8d023c0ad731fecL,0x0000000000000177L } },
  78280. /* 43 << 371 */
  78281. { { 0x69db450ecf05454aL,0x525c58ba75dcc6b7L,0xabeeb3bd0f61f7ccL,
  78282. 0xa7f6efe0d44b4aeaL,0x18229e9f49553eb7L,0xb2a463ea04fec5cfL,
  78283. 0x79b8b43a90bd5c0bL,0x4d51d7f82413ad3aL,0x0000000000000077L },
  78284. { 0x0a5e7644b24c675bL,0xb2bc3292baddaff6L,0x7e9b435708757e9fL,
  78285. 0xa9fca74e7dcf5d67L,0xe472ad966fb18401L,0x0bf3fccaf63d812aL,
  78286. 0xfb195c5c96de8f40L,0x2301c12a4d363556L,0x0000000000000164L } },
  78287. /* 44 << 371 */
  78288. { { 0x853466f88199c13bL,0xdd186f3bb0442634L,0x6d825347e8a180a5L,
  78289. 0xf311344bf05ea1c4L,0x543f9e173f1923f1L,0xafe9831ddb31fbf5L,
  78290. 0xaac76e2e3fe85ce1L,0xcb2c4b1739f665e6L,0x0000000000000026L },
  78291. { 0x3f57a6d775b32737L,0xbab11b99a81e2c0aL,0x8b08cbcc651dac3bL,
  78292. 0x889d9229f60dda2dL,0x01f560868c1dda9bL,0xfd2f6e052a872c52L,
  78293. 0xd3107bf129a751afL,0x1817e8dd467418d0L,0x0000000000000142L } },
  78294. /* 45 << 371 */
  78295. { { 0x7c9274e1d1cb0137L,0x01a8534b7cbb09a6L,0xc6c9af57e5131af1L,
  78296. 0x8fab2771d276194fL,0x28137f5170cb22baL,0x5da5963a1723f388L,
  78297. 0x7e695abb9271a05bL,0x5b529cb96f26897cL,0x00000000000000f5L },
  78298. { 0x6740acd14d086e85L,0xee755ca560ddae0fL,0xc088e52bb4ff1a7aL,
  78299. 0x297fabb504dc5ab7L,0xff60a2d3d794648aL,0x6c6db4ae62e808e5L,
  78300. 0x0d8e99f3839f623bL,0x7578d594663b07d6L,0x00000000000000e2L } },
  78301. /* 46 << 371 */
  78302. { { 0x5dd4c07bf5fdc2eeL,0xbcec9e0dd1d27deeL,0xaffa6445e7512c4aL,
  78303. 0xd6b231ba13b92689L,0x0bd338d613334d2dL,0x9bd0284664cf3419L,
  78304. 0x0d52aaf854f6723bL,0x976e912d4b5a9b89L,0x00000000000000cbL },
  78305. { 0x0948483cf4895aebL,0xa34bdf41f41c95caL,0x85e0ef7f3df7ae66L,
  78306. 0x2815167549268058L,0x78edc00d1b0440b3L,0xff99353b86ea5b8dL,
  78307. 0x6b678541865c84ebL,0xc40ec092b9391588L,0x00000000000000a9L } },
  78308. /* 47 << 371 */
  78309. { { 0xa7b60f40bc65e597L,0x37cd630e90841defL,0x58baffce898b2bc7L,
  78310. 0xe885f4a0581ac6c7L,0xf964d08319b9fb1aL,0xf4a5ad855b3ac282L,
  78311. 0x90717aa56443f6a9L,0xac47726ca0dd88c9L,0x0000000000000182L },
  78312. { 0x3cdce286373ca424L,0xa7aafe97d673367fL,0x0c49b41131deeda9L,
  78313. 0x847dd95df6d479a9L,0xaa72287549401096L,0xb2a054cf08697d21L,
  78314. 0x1b72fdcf99963174L,0xb2cca97313acd04dL,0x000000000000007cL } },
  78315. /* 48 << 371 */
  78316. { { 0xa0d6c9190fdc0e64L,0xd937bde3d6679591L,0x9fe10f20a7296b3eL,
  78317. 0xbdf41b3b5deae5cfL,0x6e5b59b969a28c2bL,0x17c81d3b37854490L,
  78318. 0x61256f231f7560abL,0x2696b1a3d3960a12L,0x000000000000018eL },
  78319. { 0x5ec3263c732ac301L,0x6a9d57cc6da756ffL,0xb613de1323d4d5c1L,
  78320. 0x90e38bc60196d425L,0x68ed94b6587d8458L,0x332f6403561f02e9L,
  78321. 0x0b27d3cec8e40caeL,0xe9390832106640feL,0x000000000000019dL } },
  78322. /* 49 << 371 */
  78323. { { 0xe79632c57658c9c8L,0xb1f037013bb06475L,0x5bb0edce86ba01b4L,
  78324. 0x06572eac16fbe169L,0x2c8e64c3a5924068L,0x7ede0ffe23732feeL,
  78325. 0xa4591159b92acbf1L,0x1b4f74c83a486e3bL,0x000000000000011aL },
  78326. { 0x0d82a706815e1bc0L,0x06a4c7551a01cb3cL,0xeac6109da5a2752fL,
  78327. 0x9c365f91d94f2e37L,0x20cdddbd3616120fL,0x92b19f0c53afa50aL,
  78328. 0x7f2c06d314dc5f36L,0x5a35a24d05dfe73eL,0x00000000000000ebL } },
  78329. /* 50 << 371 */
  78330. { { 0x2940829b80478312L,0x6d88f23799ba7c9aL,0xed75717d55f305fcL,
  78331. 0xf6234707f1c984b6L,0xfe0a83681e1eadd5L,0x793a987e7a7b7a56L,
  78332. 0x13e0532a73a9a0d3L,0xd848c44c039e4c62L,0x000000000000004dL },
  78333. { 0x31b935621a681f5dL,0x0d47a8022edb93fdL,0xa221a02ed1f56820L,
  78334. 0xf9944066e96bcabaL,0x6c3e8d317fc20290L,0x2e17289b025a2ff7L,
  78335. 0x868dcd9301d72466L,0xf3c79dec7f37ad64L,0x0000000000000080L } },
  78336. /* 51 << 371 */
  78337. { { 0x80badd631af7163aL,0xe2608a8f629cc578L,0x1892410d5406ae87L,
  78338. 0xbc09e8683d5d72e5L,0x14574558087607f5L,0x00948800d06fba2eL,
  78339. 0x060ad156ab277f3fL,0xc764bee6823c305fL,0x000000000000014dL },
  78340. { 0x917cc72654d505f2L,0xe7795a1811309b88L,0x081915da5c4cc728L,
  78341. 0xe3effbf55402b2c3L,0x508c65bd11febf13L,0x816b40557ac06302L,
  78342. 0x4c50c5415428384bL,0xbaca344ca425f49dL,0x0000000000000111L } },
  78343. /* 52 << 371 */
  78344. { { 0xefebc3458f3735c1L,0xefe2d438ca5765afL,0xfd5881b2e7d0155dL,
  78345. 0x307995a912eee27eL,0x7b9d4f553b608fb7L,0x708a3f06ff1c1eafL,
  78346. 0x211f548861ef1913L,0x7bca0d46345312e5L,0x00000000000000eeL },
  78347. { 0x4015390c5a59bc8eL,0x669a2ef16c9ea8beL,0x37929e3112ae532fL,
  78348. 0x6de9c6360a87cc7fL,0x676cd09d6c8c1ed2L,0x35aa3cabb7391859L,
  78349. 0x4a95c14768a7d508L,0xda6e0209342e55abL,0x00000000000000c1L } },
  78350. /* 53 << 371 */
  78351. { { 0x85cf89c2f55b9236L,0x96d932f8623e2b82L,0xbbbaf4ed76def064L,
  78352. 0x15ba1b2b59036e92L,0x1a2bc54b01f493c0L,0xb1dd70b1dbf80e4cL,
  78353. 0x165dfa44fcd048d4L,0xc5f38ed45a7a26fcL,0x00000000000000efL },
  78354. { 0xffdb58f7756de9cbL,0x562fdec0964e7b0eL,0x40aff120746111edL,
  78355. 0xcfc66bfe369b2314L,0xd4bd6928d1966fc1L,0x0e4f2a7e7aa9bcd0L,
  78356. 0x7e4b8b6bd7888e90L,0x0bc4574aa4d094b7L,0x0000000000000192L } },
  78357. /* 54 << 371 */
  78358. { { 0xd94caad6bf3e4eb9L,0x940077c745546cf9L,0x23828c7cccb72d42L,
  78359. 0xa06e1dd3e7fd28f3L,0x736bbc49c6a02e4dL,0x0aca0d8e8dd80a94L,
  78360. 0x1e7355bdceb1aba9L,0x33cf05a96f071875L,0x00000000000000f6L },
  78361. { 0x87b3066dd067d6e7L,0x05db3ffab697139aL,0x681dcd62d8d90d65L,
  78362. 0x9710f9de2cc68eddL,0xc7d09e4f9b997b9aL,0x496208d612c858e7L,
  78363. 0x78dfdea3f1692d2bL,0x8ac90137e2dc87f9L,0x0000000000000114L } },
  78364. /* 55 << 371 */
  78365. { { 0x28dc28c979900f5dL,0xa2e881e24e099d79L,0x0d7885bbc60cf219L,
  78366. 0x72bc84f5273c738dL,0x9321cc7f255f875fL,0x8e9b118bbc4969afL,
  78367. 0x6886bf6250d698a4L,0xa31bc597d162494dL,0x00000000000001f8L },
  78368. { 0xdbea4f4c2ca3c41dL,0x7058c9c296f26b6dL,0x6ffbc7e3d72b2797L,
  78369. 0xf15734a58075e016L,0x8ae59627d4df5cc5L,0x942ceaa51c4364bbL,
  78370. 0x63d829e0d5a8b20aL,0x214a81864f8e049eL,0x00000000000000c2L } },
  78371. /* 56 << 371 */
  78372. { { 0xc0df77af85724c67L,0xcc83a425dd94fbe7L,0x6923e6ffe4c0e0ccL,
  78373. 0x3dad274320f8571aL,0x7ba73c28b62ef81bL,0xd60f9232838d2f78L,
  78374. 0x49a10395a7a6f55aL,0xc655ff3e8f133f51L,0x0000000000000075L },
  78375. { 0x5789909e2d6ab713L,0x5410badca52cb233L,0xbd3f37fe63454a5bL,
  78376. 0xc71998f0977b8cc6L,0xc70977414b81b017L,0x1d37afe2393bbc02L,
  78377. 0xc1f809b6d7cc8c20L,0x18920c3706ca3cd2L,0x0000000000000154L } },
  78378. /* 57 << 371 */
  78379. { { 0xdba5d98ececb3b2fL,0xfb97226090e743f2L,0xbd6ce397fe42c950L,
  78380. 0x28b067328d584404L,0x980fb92181815117L,0x02054320454978d5L,
  78381. 0x0563def626ab7bf0L,0xf531752a8c7146eeL,0x0000000000000140L },
  78382. { 0xd5cb7c6a87f97b5aL,0xbc242e6e9e1a8cd7L,0xfdfb12e765cee902L,
  78383. 0xd2e3803a56a42f2aL,0xe8ac69ade9206ed8L,0xfb57c402668b14a8L,
  78384. 0xef8f858c226e171cL,0x5021b98bec8fb4fdL,0x00000000000000d5L } },
  78385. /* 58 << 371 */
  78386. { { 0x2449088deebada79L,0xa23a4de43ccdafb2L,0x78b6631a789d4228L,
  78387. 0x419af03cb6ffabffL,0xfa3699ee13133cb5L,0x737ec4d896c22a36L,
  78388. 0x32edef00af55b6baL,0xe6f1c72e96e0d6a2L,0x000000000000011eL },
  78389. { 0xc0d0be8fc4de6c1aL,0xb7eede852cb83932L,0x65c116ca5f89a922L,
  78390. 0x77b8e6aff6c6c162L,0x7127e0625a82e691L,0xb9ae11c241062230L,
  78391. 0x64716a12cad22949L,0xd6cb5ed80e142596L,0x000000000000000aL } },
  78392. /* 59 << 371 */
  78393. { { 0x5563c8044eaaf6d0L,0x83785e884d61282aL,0x2d19641075b9e703L,
  78394. 0x738abe2a67031bddL,0x7351a702392114fdL,0xd74621a2b438377aL,
  78395. 0x224da5806c76f049L,0xa7ce99ec732477c6L,0x00000000000000aaL },
  78396. { 0x6e0e5a3a38bca0cfL,0x576efbc8ce259960L,0xfef2bf2e07a2c533L,
  78397. 0x0c374e7b37f23263L,0xd8436d82f9603370L,0x5afdbcd6f047d841L,
  78398. 0xa40d0067db50a26fL,0xfbc47928c1287fd3L,0x0000000000000133L } },
  78399. /* 60 << 371 */
  78400. { { 0x10c10e89a4f78e1bL,0x0bf7c82eae25d4f8L,0x198522759bb8dd0bL,
  78401. 0xdeccab587ef26c90L,0x51d20addcf49361eL,0x997a0f9909827779L,
  78402. 0x102a745d200dafdbL,0x98e1484b723114d0L,0x0000000000000034L },
  78403. { 0x3df6bedb00b69cd3L,0x7bd05f836f56e429L,0x9d31ea08762b3f9aL,
  78404. 0xef84ee087204e805L,0x20d6c20de5a264e8L,0x85b6881ad7fc3279L,
  78405. 0x8cff29870dd12086L,0x43898d6cbcca4f36L,0x000000000000007cL } },
  78406. /* 61 << 371 */
  78407. { { 0x8fdc9befa560413bL,0xe9ea9e2031f2730eL,0x8f3b05243a61d0e5L,
  78408. 0x2932274c6f9d4628L,0x36d58f3218df923fL,0xf66083b38611bc64L,
  78409. 0x6348e55c2d53743fL,0x69059a3b79693090L,0x00000000000001abL },
  78410. { 0xd72bb101f0d34585L,0x22d4ada32f8309f1L,0x19c6543bdb11c225L,
  78411. 0xab0ba09d5349e6fbL,0xfa38b0c8fd6bef5fL,0x40e20ab68c5ddf83L,
  78412. 0x28351a4d2e87ae87L,0xf51f0b52b8ff6cf6L,0x0000000000000024L } },
  78413. /* 62 << 371 */
  78414. { { 0xf768cfa5b3ce1936L,0x82c193e7cb0845b2L,0x0c2bbb74fc4dec8cL,
  78415. 0x6f0684557438b1bcL,0x7d7535bb62d4a96fL,0x40c7498bcced8820L,
  78416. 0x1ac733eed2c44657L,0xbc9de98f03f077d2L,0x000000000000004dL },
  78417. { 0x0db45688d55b796cL,0xa2f1857c7be53b69L,0x4df73c3c4671711bL,
  78418. 0xfe01dc6cd27fc313L,0x2f770bdcc11c8592L,0xcc8eb844ac8593b7L,
  78419. 0x8163d65855437a70L,0xe6072e3b4b436e88L,0x000000000000014aL } },
  78420. /* 63 << 371 */
  78421. { { 0x6a90b471803837e5L,0x18d7ef7345c32e26L,0xe5f4a8575ee5bdd5L,
  78422. 0x5d0201d0e7e31757L,0xd856baa14b111dacL,0x6e346ca66b462db1L,
  78423. 0x45ea4fb338b88b95L,0xde8cf5a046477f38L,0x00000000000000f1L },
  78424. { 0xce05bfba7c2ff5b3L,0x27291f1f1f7a8bd0L,0xc7620f3025a57de6L,
  78425. 0x1847ea5c759e1d2cL,0x02ab7ec1e3774792L,0x3807be6e22b81177L,
  78426. 0x389ec8496c206771L,0xf5c4fd984a375d6fL,0x00000000000000cdL } },
  78427. /* 64 << 371 */
  78428. { { 0x9d590ca72a708597L,0x5ea564a217c45d92L,0xa7098ca409f8d031L,
  78429. 0x231c716117a9a6d9L,0x5919a777951ecc81L,0x9fb5df367ab0cd85L,
  78430. 0x7f4d2d7a2b6b445cL,0x73a2764668251f9dL,0x0000000000000037L },
  78431. { 0x7bc56153e9e14113L,0x4747084f030af56bL,0x865abbe91efa69ecL,
  78432. 0xaf6534b5da5d565fL,0x40549f0bb0001866L,0xc451348f812351afL,
  78433. 0xe7323ae9190eb107L,0xfb3fd76fbfc098f1L,0x000000000000001aL } },
  78434. /* 0 << 378 */
  78435. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  78436. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  78437. /* 1 << 378 */
  78438. { { 0x7ef1f62ccf0f33caL,0x225317b7184de5d6L,0xba7645c1260fc821L,
  78439. 0x522c34f2d057844cL,0x53282114c4a6dff0L,0x6d3d84005f6dbdbdL,
  78440. 0x165e4194f3fb787aL,0x210a607ac8c575ebL,0x00000000000000fbL },
  78441. { 0x68c834c2832c8deeL,0xcc4ff8611602f932L,0xdcfa537d456ed4bbL,
  78442. 0x68f201750c079647L,0x972d770b8f28ecd5L,0xaa8fdbe82d099800L,
  78443. 0x06285716ecaddb29L,0x67fa9a61d5dc6040L,0x000000000000015bL } },
  78444. /* 2 << 378 */
  78445. { { 0xe12b714e622ed5c2L,0xb1e036a7cb699185L,0x3920a7371ab44645L,
  78446. 0x9844c8d9f5a325e1L,0xa91bea02c02de758L,0xaae624a018ade985L,
  78447. 0x3a700e40cc31937dL,0x47c0b398bfdea449L,0x00000000000000caL },
  78448. { 0x04213750a9e1b74eL,0xa1d25057b3f7ff5bL,0xf8c7fdcc259dc673L,
  78449. 0xa837e675953ca2b9L,0xe23e1e1fabf04630L,0xafe1f1b99889ea3bL,
  78450. 0x40988791c4db25cbL,0xec8592e4f18669b8L,0x000000000000014aL } },
  78451. /* 3 << 378 */
  78452. { { 0x1fcf2222c7504de2L,0x7a048586b37c96d2L,0x75a974ff2600255fL,
  78453. 0xfd8effbeea7922b7L,0x871c04531c3aeb4aL,0xe9445f23f167a3eaL,
  78454. 0xe8b8f95431d66e47L,0x3ba0fb51b46bc080L,0x00000000000001dbL },
  78455. { 0xfa565b995ec9920dL,0xfeee4e89a25ec3e5L,0x8428e8ea5fe155d8L,
  78456. 0x31b55db4caadb703L,0x1c66ace9fab8f8f9L,0x9190e7bf0f688545L,
  78457. 0x36695f2f7ad75316L,0x6674f106c6d6a5c6L,0x000000000000016bL } },
  78458. /* 4 << 378 */
  78459. { { 0x18caff50efbf6b21L,0x0eeb65ec51f2ba1dL,0x2cd8a43f296c458bL,
  78460. 0x04d795b29747ceabL,0x52b0bca6dc306c57L,0x39fe8ad517ec9c28L,
  78461. 0xa4a9e3fb81a0cb57L,0xdd6933a9a638d6f5L,0x000000000000017dL },
  78462. { 0x9893eb50d39ac021L,0x3bf7087339bd296bL,0xa10440a7792dec05L,
  78463. 0x96be97e7a67ad18fL,0xcf2175ae17ae5f6dL,0x70fbb8bf0b6f0503L,
  78464. 0xbb565fadf7a755adL,0x8904f9a093ccfd37L,0x00000000000000f8L } },
  78465. /* 5 << 378 */
  78466. { { 0x971b01fc2042af7cL,0x11b2c0307449ebbcL,0xe151578f6c456ea3L,
  78467. 0xc31adfedd9445535L,0x5dc3e787b13a3d98L,0x980db984e1bc2ac0L,
  78468. 0x97f837868ed9752dL,0x0eccc88119cc9947L,0x000000000000010cL },
  78469. { 0xe7a55af26e4202cfL,0xb38c0786032e736bL,0xe315cca3db912a92L,
  78470. 0xe02fb77c5d424e69L,0xfc196d63cee674b6L,0xd19ffd2edb4f40e4L,
  78471. 0xb9f89932b6e2749cL,0xfa1b8b625345d087L,0x00000000000001d7L } },
  78472. /* 6 << 378 */
  78473. { { 0xbbd6b9b6fcb957a9L,0xb8cd2aac28e9a858L,0x16959f6e00533aa4L,
  78474. 0xa81de300f05c87eeL,0xd64c0234e01f1fc6L,0xa35e2db9035bb306L,
  78475. 0xbf57719d17545c33L,0x67cf28a2fe2c9778L,0x00000000000000baL },
  78476. { 0x747839247b2ee141L,0xb20fd87638107770L,0x38f43f8a115e285dL,
  78477. 0xe4dc2337be44c1aaL,0xc0a9fdabebdb2590L,0x83b1017260412a11L,
  78478. 0xbc0797cb6c8e3144L,0xde47a666ebc61f01L,0x0000000000000060L } },
  78479. /* 7 << 378 */
  78480. { { 0x68c60c44993f8222L,0x3242a8afcabf4bf6L,0x6151a88033d5edecL,
  78481. 0xce5e0d4b5b66eb95L,0xd5a8ddd2df34b84fL,0x0a57559677e14d2bL,
  78482. 0x6b8e78f78bdbc216L,0x1f6b94ac13b5a167L,0x00000000000001b6L },
  78483. { 0x5a252b95aaa7bcc7L,0xb0366a61ee28e333L,0x721a9b24e1fbdb73L,
  78484. 0x4e73cf1cdc60cbf5L,0x7744e830ddbf9b87L,0x0bc943e99d8e60c4L,
  78485. 0x48c37b3ef7aeaeb2L,0xea23eb3ac6610f28L,0x00000000000000dfL } },
  78486. /* 8 << 378 */
  78487. { { 0xc7c5d4242b72359fL,0x9aedfa4ed89718f9L,0x74773e4f858b335cL,
  78488. 0xcccf6730b5020d9eL,0x7f2b567baaa8bee0L,0x929b3d35d1d4c7cbL,
  78489. 0xbf1c55591d6602b4L,0x58fd96154782966dL,0x00000000000001c2L },
  78490. { 0xf87aa9d87095c048L,0x145af97f67c5dc33L,0x1541a34b5808379cL,
  78491. 0xd5be204572f16afcL,0x008a4aa0a10e4d9eL,0xf75936efadb03c27L,
  78492. 0xcda58468a6d93005L,0x1817e5bad0cfa2ccL,0x0000000000000078L } },
  78493. /* 9 << 378 */
  78494. { { 0x7fd99a18a2f628e5L,0xeec261701304cb4fL,0xf99f01680146e6aeL,
  78495. 0xf3e3762978f53f23L,0x5fcabd21f138d376L,0x7872711aa084d16eL,
  78496. 0x96911ccd5f3b555aL,0xf959c94ce8c39ed8L,0x00000000000001d6L },
  78497. { 0x2470f0a5f551f7aaL,0x7eef9b723dd57d82L,0x04110c484b42ac7fL,
  78498. 0x6c1a12a04eb664c8L,0x47f1715711e0fd68L,0x4e51416c90d00893L,
  78499. 0x38843dcf77b01086L,0xab132a0fbda87debL,0x00000000000000aeL } },
  78500. /* 10 << 378 */
  78501. { { 0x6258b29f813fbb71L,0x9f43e2a3d4201179L,0x04bce1fd4ae85168L,
  78502. 0xb6919e51b37d3de9L,0x147eea3e85fe635bL,0x56f4e6e7898401b9L,
  78503. 0x711ff12cb0b8a1deL,0xa6fa12cd8720cbd8L,0x00000000000000c1L },
  78504. { 0x4b5a3c99e8a60e98L,0xd8e57a658a00f03fL,0x91a8dcbbcaebcec6L,
  78505. 0x44b04cf5355e112eL,0xacc706ab9cd62b2dL,0xd24a1f6ff56e7060L,
  78506. 0xd5d6a2b9b0814270L,0x1f19697e0659fb13L,0x00000000000000e8L } },
  78507. /* 11 << 378 */
  78508. { { 0x6cd1913f5c97d8d8L,0xab72e99fbb94b154L,0xc288647a9049a264L,
  78509. 0x6e9d0a5ea9bad9afL,0xc2c7f9c684af75dbL,0x171064782b1355e2L,
  78510. 0x8b29dbe3352a6b20L,0x179974899e7c0e22L,0x000000000000011fL },
  78511. { 0xef8d33f97c34be01L,0x1469347f10b46c03L,0xfd1e25cbdfc7f736L,
  78512. 0xdc1715fd11482a6fL,0x041c0ca1f7afc700L,0x513277296b2e7b33L,
  78513. 0x820b886909015f92L,0x7fd2bd94ba584623L,0x00000000000001a8L } },
  78514. /* 12 << 378 */
  78515. { { 0xf669c4582cff741fL,0x558296d0cb12d0f3L,0x4ca064d770be227aL,
  78516. 0x02b8d5cacf89f9f2L,0xb4e066608f1e5a13L,0xa030d85a9c08b765L,
  78517. 0xdfeb77d6922e04e8L,0x65930c729603967aL,0x000000000000015dL },
  78518. { 0x70cdeaff4ff2e952L,0xbaa81ba88b6332a9L,0xe573d5b4798836fdL,
  78519. 0x5b68b878605c5eccL,0x3f0a6abd47bc37ebL,0x823a54e1dfa7f440L,
  78520. 0x2fc0aa7a5c500937L,0xb97b588c35953c9bL,0x00000000000001abL } },
  78521. /* 13 << 378 */
  78522. { { 0x7d789b9087b7dd4fL,0x4976f243c24b301aL,0x0f6198c9640d22cdL,
  78523. 0x7a23eecf5f188165L,0x822ff8c203fe646fL,0xeac1adb321eb3279L,
  78524. 0xd9d1b22e196e1874L,0xd06dc84c8fe3f31bL,0x00000000000001f1L },
  78525. { 0xcff3200080218f0bL,0xf427e062189bbfe1L,0x11f7040839650e1aL,
  78526. 0x78cf93c09bd7d3abL,0x297ab5cc4bb1dc5cL,0x3cafe6cabdeb897eL,
  78527. 0x38ba64a35508aeceL,0xdfc60e77a99847bbL,0x000000000000013aL } },
  78528. /* 14 << 378 */
  78529. { { 0x727469356d9aeddcL,0x0063b3643e937a7eL,0x4451a20aa161dff0L,
  78530. 0xbcb491a8a3e9efb9L,0x878d694f5134d997L,0xed8ee2f3215771a0L,
  78531. 0xe231e6705410f9ccL,0x72716750ec1fea93L,0x000000000000010aL },
  78532. { 0x254ea4bca45d8095L,0xb3d903725398d742L,0xe51298cff66aedfdL,
  78533. 0xa530fd64c377e046L,0x68b31f366c7f5f39L,0x7e157769c86662bcL,
  78534. 0x8ff3a79cde21fb57L,0xdd498d1d7c37978fL,0x00000000000001dcL } },
  78535. /* 15 << 378 */
  78536. { { 0xf72ba696bad7f9f1L,0xef0bbbbfd7bf9dd5L,0x8b8bb6f20e7a7b7aL,
  78537. 0x86de41c7cebdc20aL,0x3be5c2c2b0e47167L,0x2cf82c5efce45a8bL,
  78538. 0xb309beb60f8be277L,0x485f837752133ceeL,0x000000000000019bL },
  78539. { 0x3f0fdc6f16b88e7aL,0x6e4ead572b6edd43L,0xe1e73101ebf2ff39L,
  78540. 0xbd513613ff830b18L,0x5803953eae63df26L,0xbc4b8e2d0f2a108eL,
  78541. 0x624c2bdb7feb9952L,0x91ce40cc4a8ed81fL,0x000000000000010dL } },
  78542. /* 16 << 378 */
  78543. { { 0xd89de8041ba719b6L,0x9a84d6145b7139e2L,0xc2f91c87d16e4f4bL,
  78544. 0x7adcb047bb8175eaL,0x4c301c4b3c2fe568L,0xec7dea0ce6e82790L,
  78545. 0xcc2c78869ce824abL,0xaa0f82dc64e12c47L,0x000000000000016aL },
  78546. { 0x3c6dca8ea0b4332dL,0xb161c4e9d82dc4dcL,0xfda8729063029487L,
  78547. 0xace5d0b634209806L,0xb8c940b78968ac6eL,0xb61329e9d0c0973fL,
  78548. 0xbcb0a143b1aa99b6L,0x96b831932211ae06L,0x0000000000000057L } },
  78549. /* 17 << 378 */
  78550. { { 0xcc654c3af4fab0d0L,0x3a7193d45e93c2bcL,0xdc03184c037e85acL,
  78551. 0x994431edc77bfee2L,0x7f840982a1d69ea6L,0x64144b55732776e9L,
  78552. 0x6dfdd076f3767206L,0x10851baf67f36980L,0x00000000000000a4L },
  78553. { 0xbc53bbcd0a6119d6L,0x56f7202f83f4b808L,0x9bb6c525fc7d8415L,
  78554. 0x4e2c95178310de3cL,0x571b5e0936d1c854L,0x624cc7f6fabd72e2L,
  78555. 0x71eb58cdd9dc56bfL,0x9d76432a443b8059L,0x00000000000001c5L } },
  78556. /* 18 << 378 */
  78557. { { 0xb9118d534b29393bL,0x8bf825e2e9376465L,0xecc73fc2f6b988f1L,
  78558. 0xb0431205a33b16deL,0x91cc2704f5e72a40L,0x072fa1aca15f1e6dL,
  78559. 0x414dfb0e57824766L,0x86360addb12159a2L,0x00000000000000afL },
  78560. { 0x9dd10faff209743aL,0xcf7178eb7cdd7a84L,0x8e5d30ddc7e5e621L,
  78561. 0x1a6ce1502049e4b0L,0xa18d488715cee376L,0x0db2ce2deb316c23L,
  78562. 0x0941fda5c1b42ea1L,0x895b347c8213b66dL,0x00000000000000feL } },
  78563. /* 19 << 378 */
  78564. { { 0x13fca9016d4b4f9cL,0xd76d3bc50fdeff6fL,0xf389e515b1be5101L,
  78565. 0xda9a159ba6ff67a0L,0xabe611a18258a9b7L,0x300fd58ae44d3117L,
  78566. 0xf942ed560729163cL,0x6a9c601afd9b49ceL,0x00000000000001dcL },
  78567. { 0x01dd23e56a998f6eL,0x1e8e8da62ed942caL,0x141780e73437bc31L,
  78568. 0x5f81d0587b25adacL,0xd166b90f7126e231L,0x9c4af4b145aaf0d3L,
  78569. 0xb3fd98f0f33f7481L,0x98f6cb285307b8d2L,0x0000000000000037L } },
  78570. /* 20 << 378 */
  78571. { { 0x39a64d5d2fd93ad6L,0x667ff12d2637e7f1L,0xed31162e5151441bL,
  78572. 0x9abdf9168277e2bbL,0x1b7630f0ec0a5f93L,0x89a828cc5b002930L,
  78573. 0x912428adb246befaL,0x632b0787765dbfe1L,0x000000000000018dL },
  78574. { 0xebf44ba86693bafaL,0x3ad447318a12bb84L,0xc0e12abb5d02d2fdL,
  78575. 0xccdcbc009ac44290L,0xfcc3f910ea70a61bL,0xcaed56197dbbd680L,
  78576. 0xeca08d0b2d159763L,0x4f51a9af6d9dc6dbL,0x0000000000000095L } },
  78577. /* 21 << 378 */
  78578. { { 0x3730726c925f6af8L,0x524421fae7224ab4L,0x1aec24f0a5f4383eL,
  78579. 0x629f850c80fe5b2dL,0x8aaca9471188c165L,0xccff714298ede9e4L,
  78580. 0x43c517b119ab2bb4L,0xcaf6524f70094fd5L,0x00000000000001f6L },
  78581. { 0xdc1ec8c7ccff9006L,0x2b848d94bd3c886bL,0xf0450380462da9cbL,
  78582. 0x5fc95f0aa7246725L,0xd8c6a8f472969208L,0x47615458614cff26L,
  78583. 0xceb01f21dab37dd7L,0x2d5fc9084a992e5bL,0x0000000000000095L } },
  78584. /* 22 << 378 */
  78585. { { 0x0a5c77dddfc1712dL,0x94a283f3cdb8fe3cL,0x9180c2149c7ddf13L,
  78586. 0xc61e53c7fc061c25L,0x3f2d5898ed6b66b0L,0xf956d429f2775780L,
  78587. 0x009936172599b777L,0x275022d3315c4538L,0x000000000000006cL },
  78588. { 0x09ffdfe9389149f1L,0xdf706504130dcff6L,0xd5e9e831a43853f6L,
  78589. 0xcb16e7db2c76d906L,0xfa644e731a6023bbL,0x93ccda7c56319253L,
  78590. 0x0f36a540e75c969aL,0xe5824f21d1c63fc4L,0x00000000000001f1L } },
  78591. /* 23 << 378 */
  78592. { { 0x12a31002e3beda68L,0xae12c484bc59084cL,0x21f82d81a6320c77L,
  78593. 0x82a9e0e6c37dd1e5L,0x672d57b4396dc114L,0xde55fbfb692cad7fL,
  78594. 0x58613e19cea6fcb1L,0x6c1ac62e9322e880L,0x00000000000000c6L },
  78595. { 0x92578cedb2d1f22dL,0xdff3a47d86773c2fL,0x6bd302c02edaad87L,
  78596. 0xa320a18615e3ca42L,0x2f12c817bac6dcf9L,0x59fab6f0e98fb56aL,
  78597. 0x378b36fb6afdac5aL,0xb71742e57cba0062L,0x0000000000000141L } },
  78598. /* 24 << 378 */
  78599. { { 0x6372245924ff803aL,0x4c6743967c6401e9L,0x322820a88efb71adL,
  78600. 0x49a9bb7e18386499L,0x809f13b4011be153L,0x21ea3bed1caa0e61L,
  78601. 0x062a8eb9cb8a3c34L,0xdad37ca0d371b482L,0x000000000000004dL },
  78602. { 0x517e7e99425737bdL,0xf0d5129c74652ea7L,0x46e5f98b493390ddL,
  78603. 0x889c952faccd9071L,0xc01d4483732246ddL,0x6e3982ca191b7f2aL,
  78604. 0xef390898ec4ffa9dL,0xac0c56044dcf0ca9L,0x000000000000011dL } },
  78605. /* 25 << 378 */
  78606. { { 0xa89e9095f20520f0L,0xb661e4bf9109833aL,0x59a9216a15746d4bL,
  78607. 0x66734a014b9b7b1aL,0x92958d4d87b01cacL,0x1fd10ccd73679175L,
  78608. 0x12a3f35acc92c829L,0x60943f7e876f0493L,0x00000000000001cbL },
  78609. { 0x8920cfd084536908L,0x27c0cc691195d0b0L,0x8203d7edf0d640ebL,
  78610. 0xc2aa233aa5db5d5cL,0x13dca3e4097a5f7dL,0x95698b5cddbee822L,
  78611. 0x68aa3cfad37f3c60L,0xe481f4454b5db726L,0x00000000000001ccL } },
  78612. /* 26 << 378 */
  78613. { { 0x4faf81a13da0fcd3L,0xc4f41b64bf5eedc6L,0x83413747016dba9cL,
  78614. 0x3e386d921053b061L,0xbc1f8c328779267fL,0xfae5180521378daeL,
  78615. 0x4c355e52cf8aed54L,0xbf4cc913379b3965L,0x00000000000001fbL },
  78616. { 0x9681bfb7b9829287L,0x1f8e11d1d0a0cab4L,0x5eabefb67b24dd7aL,
  78617. 0x49d30515db2856bfL,0xb7fdc303403cf7b4L,0x319eb33d9de58853L,
  78618. 0x7c0a5c445949bdfdL,0xa4de3e0f2cc2f57eL,0x00000000000000d5L } },
  78619. /* 27 << 378 */
  78620. { { 0xcc57d8f66ee81af4L,0x0853a12ac61b41b4L,0x1c2547e7fe3ce741L,
  78621. 0x5c804f085be4d27fL,0x470ef59f6b35897cL,0xa0ac230bf6f2a082L,
  78622. 0xdae8427f0e65b7a4L,0xc72903cbe4637dc2L,0x0000000000000170L },
  78623. { 0xcaf13ad329899253L,0x4ac375937ff415acL,0xeca18182a3e41fefL,
  78624. 0xce65d25d560f469bL,0xea0fd26a373b6eb3L,0x0261286e9b094b32L,
  78625. 0x93f9f0b4d6c2e004L,0x6cca5edad8c82ceeL,0x000000000000010fL } },
  78626. /* 28 << 378 */
  78627. { { 0xf0b9ede34dd2d2d3L,0xb06079398c4d1ceeL,0x1ca4ec570611df8fL,
  78628. 0x7f32d19753b914d6L,0x99b6f882dfa4df49L,0xfbe161cfb265f518L,
  78629. 0xc6db288e40c76bbcL,0xc8970e3f281437b1L,0x0000000000000139L },
  78630. { 0x9d76d4a51a18db0aL,0x59e76809238445c6L,0xa0f52e646a48deaeL,
  78631. 0x3692a8a8338904d4L,0x3fe48d48ba28d02aL,0x9f2130aab958b23dL,
  78632. 0x210a547ecf8cd8e9L,0x46e7623e5179029aL,0x00000000000000bcL } },
  78633. /* 29 << 378 */
  78634. { { 0x53f5f5178569de0bL,0x4e6537efa3b8228bL,0x08bfd7df2c494a3eL,
  78635. 0xa3bcb0835d18c56aL,0xe4af9a2015abd36aL,0x09e5e04722ae49d3L,
  78636. 0xc8e36b51c397412eL,0x29196125dfd6ffdcL,0x0000000000000037L },
  78637. { 0x6693d42066e82af2L,0x4fb5ac25fadfecf4L,0xb164f341bc2eda30L,
  78638. 0x04f0da03df7e18e9L,0x53e083ed285c2522L,0x2f841c4607496d5fL,
  78639. 0x747ed61b427e3224L,0x42d48a2449331c47L,0x0000000000000090L } },
  78640. /* 30 << 378 */
  78641. { { 0x85e622f707cff9c0L,0xb8f17575de26c2c4L,0xaa599c8cbd1f2537L,
  78642. 0xa43898660f10a87dL,0xd884accdd54bd70dL,0x4cb6081af85b6a22L,
  78643. 0x795d0348af6068caL,0x2fa1f312111fb967L,0x00000000000001c6L },
  78644. { 0x80ed98b42ce0216aL,0x11debd5b76a91579L,0xe6e2957b8b468ee6L,
  78645. 0x4342a477d5b0f947L,0xea4dce18e48f5922L,0x52271ff6d5e930f7L,
  78646. 0x957be36854819139L,0xd46357cc2613a69cL,0x0000000000000055L } },
  78647. /* 31 << 378 */
  78648. { { 0x2110cec0704bb446L,0x5227cdf087881081L,0x471af5acf3bba746L,
  78649. 0xc4c1c63bddaa6a2eL,0x411d5b30c65b5847L,0x428e1d0e0b7a1558L,
  78650. 0x2b3ee41fa104910eL,0x6dfe7d92a5cb24d1L,0x0000000000000071L },
  78651. { 0x2d6421d20c322db5L,0x3da59b47ec01fd37L,0x0297ffe5359e020fL,
  78652. 0x772575eb9679d700L,0x22d11608e029b068L,0x6f2151099c5d9d69L,
  78653. 0x23ee93a156e9b96aL,0x3dd497407cf5309dL,0x000000000000011fL } },
  78654. /* 32 << 378 */
  78655. { { 0xbe58970d503cfe9aL,0x72000a862dd620a9L,0x5825b2836d0ef833L,
  78656. 0xb88d53b7c706f2c7L,0x5f7df7cd0501f0f7L,0xf1fd2e3b2fa3b809L,
  78657. 0xf3afd9fb557798c9L,0x9254426ab970a87dL,0x0000000000000135L },
  78658. { 0x577560bee8947e84L,0xc60b998cb0f49a8cL,0x81d18bef9829431bL,
  78659. 0xeaa5fa385f48ada5L,0xba2cb72612db61afL,0xfa9de7ddf3d26bbeL,
  78660. 0x97876d0626881c14L,0xaec866638c84185dL,0x000000000000015bL } },
  78661. /* 33 << 378 */
  78662. { { 0x8e48e4e19306d591L,0x4b6d69bfe9712645L,0x7247afac5d8aee55L,
  78663. 0xddf6c68c41f8fc2bL,0x084113863c7c87c0L,0x120957078b0f0c59L,
  78664. 0x46947fbebefc7642L,0x863bdf60f346ed41L,0x00000000000000cbL },
  78665. { 0x75b2e77916cf6d59L,0x4e9533e6bbea42ffL,0xdce016328f701e08L,
  78666. 0xba39be402e0bc080L,0xa2f9af3ae20f673fL,0x40267291822b60a5L,
  78667. 0xbc77e4c4dbc55825L,0xd05a9f0c76e1abf0L,0x00000000000000a5L } },
  78668. /* 34 << 378 */
  78669. { { 0x63fa956e2881ab6bL,0x5f97abe5a6d783f0L,0x344bdf96bcb29243L,
  78670. 0x0472af080c53dc0fL,0x548e9be3e496461eL,0xe42405b45c491e0eL,
  78671. 0x511c368dad995038L,0x8598ee29b972eb7eL,0x000000000000019dL },
  78672. { 0x0fdaeeaaa63dbc35L,0xe5afbb55acd56541L,0xeb3f3ef7dcfa1178L,
  78673. 0x8ef2f4777f100925L,0xbd0f868ae3e055ebL,0x375cec42990b7aa7L,
  78674. 0xd9208d18c2d32362L,0xdfa689dd976f791aL,0x00000000000000c7L } },
  78675. /* 35 << 378 */
  78676. { { 0x6f5a60e4fb6e4091L,0xe2350a12bb9d8f61L,0xc03c9d59633d52daL,
  78677. 0xcf0b5d046e9e386eL,0x3ec86484059f0bfdL,0x26f396363c158dedL,
  78678. 0x608edd54a4550c89L,0x6cb66b6cb7317194L,0x00000000000000c1L },
  78679. { 0x1cc8c7fdab732b3eL,0xf1855941bc3597f7L,0xcadcddc4802f2f45L,
  78680. 0x95a6da93f7af2141L,0xe555f720ed61d1aaL,0x2a080de97297d73aL,
  78681. 0x8e9cd2c7d3e8e814L,0xfb38e2637857c2b6L,0x000000000000015bL } },
  78682. /* 36 << 378 */
  78683. { { 0xc988f588852cd09dL,0x67d21418af218601L,0xda5f50ec0c10a857L,
  78684. 0x504418a30e2b2960L,0x9f44ea6bf4038971L,0x6b5d406a2e458d2dL,
  78685. 0xfc240795801e5fa5L,0x0356185cf7584734L,0x0000000000000102L },
  78686. { 0x7a948fd177a57d4fL,0x5de3afba2fbb8782L,0x1ae44706bcffc674L,
  78687. 0xb97083b5563f5c74L,0xa91850575466ebd5L,0xf9c3a26cea623a4bL,
  78688. 0xc917551994105039L,0xa570c1c1819c3cdaL,0x0000000000000075L } },
  78689. /* 37 << 378 */
  78690. { { 0x46dc6fa89638c421L,0x4cf437b157d0f402L,0x6c0b0445701342c8L,
  78691. 0xf0b14b15d6de77a9L,0x0330a9ea2c12d1f0L,0x7ac4e03e350b8b49L,
  78692. 0x332483357702f7f0L,0x24c3fa9da7f3df83L,0x0000000000000134L },
  78693. { 0x40137a2bf88c7b4bL,0x00fa0f35cc5d6687L,0x873e236070c137a3L,
  78694. 0xbe8cf5ee9f32b2e5L,0x818f219f5482134bL,0x6c068d2515968a1dL,
  78695. 0x7426988417e92272L,0x8754eee4604a22f4L,0x000000000000004fL } },
  78696. /* 38 << 378 */
  78697. { { 0xee6b7f37fad88237L,0x2d162f469c14454aL,0xd67666908adaa0c2L,
  78698. 0x7aad29a762504b81L,0x550d67ce1623cf44L,0x7d50d506ae816ec1L,
  78699. 0x56d5a4f9ffac6535L,0x0bde908295e83917L,0x0000000000000177L },
  78700. { 0x56a58061dd9c907aL,0xd9d7c49ecd4c54bcL,0x4a9907a4bc6a0d7aL,
  78701. 0xeb86db82f6346080L,0xab70905fd6cc22b6L,0xe14a687600342763L,
  78702. 0xc033b0ad1dfee808L,0x2396008039a9c5dfL,0x0000000000000089L } },
  78703. /* 39 << 378 */
  78704. { { 0xf1f290a881e90f0aL,0x458336c79f36c486L,0xa956a20dce22f976L,
  78705. 0x027fc962a8516eeaL,0x7e14bad2c9b08021L,0x698bfa124cc598ddL,
  78706. 0x4bcf3d871d01279eL,0x1b94b7b30114d592L,0x00000000000001bdL },
  78707. { 0x02fc0a2093157584L,0x92faf06480300f42L,0xb05d7c3f5318f4dfL,
  78708. 0x1fa3eb6f3723e3edL,0x94aac7051da5cedbL,0x50d945d9cc65e3d4L,
  78709. 0x651a7b0c7daa7bf6L,0x4e497b4681a86469L,0x0000000000000052L } },
  78710. /* 40 << 378 */
  78711. { { 0x297e708e61fbdc72L,0xf59c64fb4dcb9e90L,0x4a61f848814f38e2L,
  78712. 0x081dabdced48623fL,0x7ca592c953b0cfe1L,0x1462ce03c049d136L,
  78713. 0xb5642b78b47bd071L,0x99e3adbb87d24f68L,0x00000000000001dcL },
  78714. { 0x643879618e44f3b7L,0xc1910e8c3aa42510L,0x45de7844b07adfc5L,
  78715. 0xdb7910a633804208L,0x77d0ec7574be91e4L,0x3e015cfce842cac5L,
  78716. 0x11c32fa6554fec82L,0x7c43fc38829dc4ccL,0x0000000000000062L } },
  78717. /* 41 << 378 */
  78718. { { 0x02ee8b2122993f93L,0x4223000d4723ef89L,0x1c6bdfbfc16af026L,
  78719. 0x116239f3ddb9aadfL,0x14eeb9730c4acc54L,0xf50134a6ffea830cL,
  78720. 0x9ac616a5f1f1d7feL,0x33ffb2cf33eadfeeL,0x00000000000001f7L },
  78721. { 0x68c32c5dc98eb88eL,0x258448994073d0f5L,0x885f35f066b25598L,
  78722. 0x8410c3f9269b7cdfL,0xee851ec9fb4d1244L,0xd94cf16a0f45f2d9L,
  78723. 0x18846fd1320d195bL,0x31093265cbb27bf2L,0x0000000000000158L } },
  78724. /* 42 << 378 */
  78725. { { 0x36f55d29067f0144L,0x31518706a7088a9bL,0x58c145700c4992a7L,
  78726. 0x38d22933424edaf8L,0x75e07014c6ebc015L,0x153a99adc1b7c05bL,
  78727. 0x94ab96cb56b197f9L,0x86645eeeb5eea03dL,0x000000000000001fL },
  78728. { 0x5f97f0b5125f3db1L,0x981e52e815dc479dL,0x7ba639b09f915ec4L,
  78729. 0x5c27dc763e5a1a0aL,0x350c904109dcfd90L,0xf571c49b5507f709L,
  78730. 0xfa19d576fda7d982L,0x2b60baf9b4533fd6L,0x0000000000000182L } },
  78731. /* 43 << 378 */
  78732. { { 0x3fa53846346c78afL,0x3ad12e905ed12162L,0xcecabd5a086ef430L,
  78733. 0xdcc55887eaeef2deL,0x47ef2f7bcd688b2aL,0xd4c09587a1d916a7L,
  78734. 0x0959a988121ec022L,0xf419bde5980a39d9L,0x00000000000001faL },
  78735. { 0xfed8228e2d3ca021L,0xdb264c8a05dd7141L,0x637f4aa24e4d3e80L,
  78736. 0x49ce73f1be791a76L,0xa9a2d7b25eeabfc5L,0x4961a76bd9e26135L,
  78737. 0xa9af174a2caa9899L,0x8cfe47a6f2b4ec6fL,0x000000000000016fL } },
  78738. /* 44 << 378 */
  78739. { { 0x3c3814b8a3acdb65L,0x42cea8683ac121c9L,0x95ccdca1554edbd9L,
  78740. 0xc8127847badd4e7aL,0x8249a372c95fe784L,0x1e5998d520661224L,
  78741. 0xf88a1a0815019264L,0x501ba0a9619de345L,0x00000000000000bbL },
  78742. { 0x27bce70edabd6eccL,0xbdbf47ad41144962L,0x949d92fd302c2f1fL,
  78743. 0x7ee6077edac7d399L,0x4b1ca3ab70cbd239L,0xbe03cf169c08640cL,
  78744. 0x67d91ddae90bb15cL,0x989110bf3584fe3fL,0x0000000000000033L } },
  78745. /* 45 << 378 */
  78746. { { 0x1ca61c2dd76f0dc8L,0xa128cf5611e0f9f6L,0xfe51323b25502465L,
  78747. 0x13ab91d00bc94de6L,0x28079c8f3b1e6a02L,0x38d9d80583cc5869L,
  78748. 0xd6a83dc6dd952429L,0x37bb912864101dadL,0x0000000000000028L },
  78749. { 0x86036ada8abaa4f2L,0x8f29ab0d2138c5c1L,0x50ae84e55a3f84bdL,
  78750. 0xc1cbb22a565e767bL,0x9b9f37f45a6bd205L,0xad2a69778bb3fbb5L,
  78751. 0x53dbbc715b169cc1L,0x8695b45396820288L,0x0000000000000166L } },
  78752. /* 46 << 378 */
  78753. { { 0x957c58ab585f2470L,0x78c7130743ec2283L,0x3c996caae6b95670L,
  78754. 0x6361761891d24b79L,0xe08b5b76a4281338L,0x77269a7a2091999aL,
  78755. 0x83e93389d6fac12bL,0x4599815c57805e7eL,0x00000000000000efL },
  78756. { 0xddcafd581b749d60L,0xea0911b95dd775ceL,0xb375a06039909bbbL,
  78757. 0x9e821684d7a4a2a4L,0xc1f34df74d520003L,0x427a57eafda0d68cL,
  78758. 0x92e8fd75768380feL,0xc70e584b69988733L,0x0000000000000083L } },
  78759. /* 47 << 378 */
  78760. { { 0xbcdc8a861fc73886L,0xbce7b5b885f4eabfL,0xd536699712d0b54fL,
  78761. 0x76ab760e8ac35fafL,0x5da79c8b25cb3d53L,0x435013bd284b22b0L,
  78762. 0x7a9059fffb9c2d44L,0xc8c98a74c8283091L,0x00000000000000faL },
  78763. { 0xd68585686a560d41L,0x21648ff9f86d0cadL,0x79bae93500f23e11L,
  78764. 0x92b6a5633f41bfe6L,0x1ca24a5ea6ff9d19L,0x12138d86b3a31dbdL,
  78765. 0x7a593f3c4180e5f6L,0x7a93e4a3f75d9718L,0x00000000000001aeL } },
  78766. /* 48 << 378 */
  78767. { { 0x77d57155881b7b9aL,0x41639a4746101b26L,0x06edc878203c9899L,
  78768. 0xe4ac1d9648d8ec5aL,0x7cec08752db1051dL,0xaf9facf257c860a9L,
  78769. 0x94ad13ccfa3dd49dL,0x853273184e345924L,0x00000000000000e9L },
  78770. { 0x9956ad2c84311ec6L,0x3d494579bfb208a2L,0xaa60bb0ed8ccd0a5L,
  78771. 0x6d3d4df518418197L,0x56386035884b2cb1L,0x7a104900464eebecL,
  78772. 0x0785d58b72ebaddcL,0xf5ad930908356589L,0x0000000000000191L } },
  78773. /* 49 << 378 */
  78774. { { 0x9cd32d496a0eb239L,0xffc5d2115f947b28L,0xd8fc9f9147a7c456L,
  78775. 0x0aa962f8dabfa006L,0xde49f418f9dc0c43L,0x019ab5542bf89f6eL,
  78776. 0x1feafd6ce086e756L,0x640de15457b70d2fL,0x00000000000001eaL },
  78777. { 0xa5b450dfb341f2e8L,0x2b3b8dc21fa4d7ecL,0xfe158c5b65700970L,
  78778. 0xc76f0c6c14a4d28cL,0x22b2faa32a1c0cfbL,0x63df95e94f73de9bL,
  78779. 0x649ebafd52ce6fceL,0x1e1e64ad89f379c8L,0x0000000000000128L } },
  78780. /* 50 << 378 */
  78781. { { 0xcd7ec65fe314b91dL,0x794c5c9db6d1882eL,0x3be845c193805243L,
  78782. 0x442f9269a76572cbL,0x6a284b3606390457L,0x5017a685566b2b8dL,
  78783. 0x3c429a7e068147d7L,0xe6e676dc3d7d6573L,0x000000000000000dL },
  78784. { 0xb0e3e213d011d3d7L,0x000fc6342254ec45L,0xe1ae05778f4dba98L,
  78785. 0x051781505eb4cfe7L,0xf48317f98c099058L,0x4aad616562e46888L,
  78786. 0x8b24c7fae08df65cL,0xc6fdaf0725f0f3bfL,0x00000000000001aeL } },
  78787. /* 51 << 378 */
  78788. { { 0x54b4c7c446b8ad3bL,0xa20b60629f0c5ef3L,0x6bfd32c40430b0bcL,
  78789. 0x6a9e2a3514c0b78eL,0x0de18d29d1bc6260L,0x9e69f8b6dcacf599L,
  78790. 0xf46879ae0342f0d4L,0x3a97c39069b78c8cL,0x00000000000000e3L },
  78791. { 0x0d979410c49c5e32L,0xc8ea1cec45e6c311L,0x535c6afae971af26L,
  78792. 0x2d1dfd6cecf4a950L,0x542ddbffbb1970d2L,0x8e8a91100eb842aaL,
  78793. 0x5b8b960b6529ed29L,0x6783066072a2a6ceL,0x00000000000000cbL } },
  78794. /* 52 << 378 */
  78795. { { 0xa58e52d8f7a4d317L,0xaf23bf92dc6f7aecL,0x70121c821c520880L,
  78796. 0xf68499f37bc182b5L,0x0edc4e6fb02b3e34L,0x4378badce425564dL,
  78797. 0x3b74b05fe75eb0bcL,0x5a234bae599d4d45L,0x000000000000011bL },
  78798. { 0x3094e3c091572efbL,0xc370662f6f509233L,0xc741ef37beb6af1eL,
  78799. 0x5e1d62655bf3bbd6L,0x39044bc61029591dL,0x05ff006b7c1724f3L,
  78800. 0xde62a8fca492bb41L,0x9682c9ebd3f4a832L,0x0000000000000159L } },
  78801. /* 53 << 378 */
  78802. { { 0x06101e47154beb06L,0x8a47bae12dd56ba5L,0x976db80f6a6e6cbbL,
  78803. 0x301b4afc4cb3e0c5L,0xdd64084a266c37a9L,0xa07718a2cb920e87L,
  78804. 0x9ddf6bc5d55d3754L,0xaaedcf9b5f737e92L,0x00000000000000dbL },
  78805. { 0x635303c5597c9f7dL,0x1808eca68f6f1955L,0x4ab48d642f11e00dL,
  78806. 0xa458c021206d04abL,0xa008af7312ba62a0L,0x5eeaf4ca985ad01dL,
  78807. 0x1bcc70a06bfde38bL,0x2e6677736abc5c8cL,0x000000000000009bL } },
  78808. /* 54 << 378 */
  78809. { { 0x989800d0d51106fcL,0x414919311337369cL,0x1789e03117476c07L,
  78810. 0xc38797d77a766687L,0x1eca11cde24df708L,0xe7932afec333cebfL,
  78811. 0x521256dc587ca6d4L,0x175eeb6278afc48bL,0x000000000000019dL },
  78812. { 0x9bcc1e605a409618L,0xb09ed90848452cb0L,0xc5b18a20839bb71fL,
  78813. 0x1137bdbf58d1f0ebL,0x4a020da2d9349073L,0x86cb98f90426e19aL,
  78814. 0x734d928504ee89f2L,0x2f82c2c9578df861L,0x00000000000001ffL } },
  78815. /* 55 << 378 */
  78816. { { 0xe119b7ec4dc900efL,0x35ef1e2ee7f6b120L,0x6c02b0384a8f5961L,
  78817. 0x8b99d41eea69e482L,0xe43de7767de16897L,0x48c7f64aef564cc0L,
  78818. 0xfa0d48d3b3691c55L,0x27688e1d0cebe168L,0x000000000000012dL },
  78819. { 0x192bab59f1e8aa56L,0xd9bce84222664c4bL,0x73dee69a5fbb90dfL,
  78820. 0x973907e9678eec7cL,0xa1568020dcefce7cL,0xf0a37f14c72b6736L,
  78821. 0x3c5ce56d115d70abL,0x4c444963700cde74L,0x0000000000000027L } },
  78822. /* 56 << 378 */
  78823. { { 0xb32047f1686b8e76L,0xc292c8960fead8feL,0xf552fe3f3d1bab8cL,
  78824. 0xdaa248af483f96f7L,0x2ada20d3b898320aL,0xc0e0325ce0ee1e67L,
  78825. 0x4769dc2e72f55358L,0x33cb916bbf19057bL,0x00000000000000ffL },
  78826. { 0xc1673b3e8a2a8023L,0x39484339b3d830bbL,0x91f2b0f7fee1a7e1L,
  78827. 0x0e2da8d5eeac1c7fL,0xaa77624c0292b469L,0x0a57d873d551849dL,
  78828. 0x6c78f50f595c052eL,0x33be2fc03744d368L,0x0000000000000000L } },
  78829. /* 57 << 378 */
  78830. { { 0x2a44d59cb95bfbc7L,0x02721445757b2e4cL,0x9a35c0d0c4ba0fd1L,
  78831. 0x588679287bbf16cdL,0xb250c3b6cd5c4373L,0x1334f593a72dc1ecL,
  78832. 0xc729aec7e9dd1186L,0x7d783ee76442117fL,0x000000000000006bL },
  78833. { 0x94d753e01d0c3d58L,0x3c96b6b638fff1d0L,0x0165d4cf9f22aedcL,
  78834. 0x565ce447eb09ecb2L,0x916ab8c27d1b5fc8L,0x759049861fe28f47L,
  78835. 0xdc0172730766822fL,0x295b6799ba9ddf82L,0x00000000000000c2L } },
  78836. /* 58 << 378 */
  78837. { { 0xeb2dc700fd394524L,0xfeac25e1d144a193L,0x9b9e20d4d700de34L,
  78838. 0xb7de3dcdcae6c578L,0xd2b130fc64b8c44eL,0x2f38b9c6c0a24c78L,
  78839. 0xbc0c4d2339c51692L,0x09fc3bb7f0a87c29L,0x00000000000001eaL },
  78840. { 0xc0146d59288a18cbL,0x0390fff82057898aL,0xf50646cc1a248697L,
  78841. 0x2866b5786190c9bbL,0x2179a3e5f18b0d82L,0xa1467d4b6d1550d5L,
  78842. 0x3f764ac4a485f508L,0x713e87e7b16d9964L,0x0000000000000038L } },
  78843. /* 59 << 378 */
  78844. { { 0xb78b208d153147d8L,0xbb8fda83f5aba599L,0xa17bebf0692f8e10L,
  78845. 0xea3ce68fe2f61fd7L,0xce34d743f27289ebL,0xf8dc8834a6ed4d37L,
  78846. 0x7823bdc45a72a376L,0x84253be985ccab89L,0x000000000000001bL },
  78847. { 0xc52b1b18edd17c50L,0x855aa457278702eeL,0xa4df8b06f0d89cc4L,
  78848. 0x9711592b7d65576fL,0x75ddf111029ef7e8L,0x66e25d8b3d858f44L,
  78849. 0x61753b0680ca5a3cL,0x40b270c67025f431L,0x0000000000000026L } },
  78850. /* 60 << 378 */
  78851. { { 0xbc3f4c479d702e02L,0x6a06f96d86c216d1L,0x9469cef28c2dc6f3L,
  78852. 0x753d64d2c98d9271L,0x7c7ec13b051508c9L,0x7b94098d95fd48e2L,
  78853. 0x724358006bb4f8d3L,0x01d3f3d188eee18aL,0x0000000000000039L },
  78854. { 0x764baacf1a6a057dL,0x7d880282f7326213L,0x37c2394043d2615bL,
  78855. 0x7e09836a6eef57deL,0x3f7e265cd790bbf6L,0x10025e4549a4f757L,
  78856. 0x515d51bbdcb5b373L,0x05699be5f534f5fbL,0x000000000000005eL } },
  78857. /* 61 << 378 */
  78858. { { 0x7edb67b24d9df16eL,0xbeb1fd5b9697647eL,0x47a1a16ea9c068ccL,
  78859. 0x2c834cb2b36fc492L,0x120019eb5e7d068fL,0x34074d5a2e4afc37L,
  78860. 0xc2e75a089febffadL,0xf789c01d12a0b113L,0x00000000000000ecL },
  78861. { 0x7cc8481c4f63e95dL,0xb6f5e67341ec8492L,0x4feee2f212d6bbaeL,
  78862. 0xc60be12a62737198L,0xce48ba8d9388c8aaL,0x7e6b28eed47186dcL,
  78863. 0xd62fb8a0145ae15dL,0xb08e7f37a6edd2adL,0x00000000000000b3L } },
  78864. /* 62 << 378 */
  78865. { { 0xc9101947f1a2cfc7L,0xe3b88442fe8ff8b9L,0x61ba92f3ab98fcceL,
  78866. 0x58bb6747b2128502L,0x91ea81ead23a937eL,0x8d0846ad6a138d6cL,
  78867. 0x9d4b901e5ec186c5L,0xe2cf1d36f0cf52fdL,0x00000000000000a8L },
  78868. { 0x3cd95aa50fe009e3L,0x933f220bc246d7faL,0x325b953ec0d3f179L,
  78869. 0x366196e9d25f08d1L,0x1b47a8966b247f04L,0x7e304fe85044a3b6L,
  78870. 0xce4199cc201f4438L,0xd816ed7de850cf8aL,0x00000000000001e2L } },
  78871. /* 63 << 378 */
  78872. { { 0x8052bcc2eafde3c6L,0xd80dca3e9b9351c6L,0x957a0b78e510ec55L,
  78873. 0x6cf7a4d7d0f3d49cL,0xb55b5ed2e3708855L,0x94ce53a450515ef5L,
  78874. 0x752e68fdcccde771L,0x95b49c5d4b31604eL,0x000000000000009bL },
  78875. { 0xed84542a33b84ba0L,0x41656dafcf833a49L,0x60eb8d9113262619L,
  78876. 0xd351476cda206701L,0x67d4bb1c5e340587L,0x9a8ae0da903f6673L,
  78877. 0x5801b4bb90cff4e4L,0x6a4aa36bf8cf6d47L,0x000000000000002dL } },
  78878. /* 64 << 378 */
  78879. { { 0x442ebf300bcf3b88L,0x4b863857dc5bfd2bL,0x632a1056c50960c2L,
  78880. 0xdbf49444c9d74020L,0x335f464b78287d19L,0x0cf8d5c75c490a63L,
  78881. 0x4f9d9bd7d7d2d2c6L,0x1490fb61ad52d8a9L,0x00000000000000ebL },
  78882. { 0x42aabe7434a088dbL,0x871248c89e5b69eeL,0x7d624d6e55a87edbL,
  78883. 0x81bc0bcfbaee4473L,0xf450c5ad9559a1b0L,0xa604379cdf4c738cL,
  78884. 0x36b304e210ec0574L,0x948a50d38d8cf3d9L,0x000000000000018eL } },
  78885. /* 0 << 385 */
  78886. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  78887. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  78888. /* 1 << 385 */
  78889. { { 0xc6ecf2f55565eb6eL,0x05e894602b260a3dL,0x459e260432c54616L,
  78890. 0xfbf40aab47dd43acL,0x54d5949f9ad0b934L,0x992295a5cea0eef4L,
  78891. 0x8a5af63cd5520b7aL,0x536ae69fa7f1ffddL,0x000000000000017bL },
  78892. { 0xddd868a73f0bc9f5L,0xb33a39d1bb82dc6dL,0x878d8aa048953ce8L,
  78893. 0xf2a35ce29802f566L,0xa2b9188a07f25b60L,0xd01fed060933ca89L,
  78894. 0x89013fce3114f728L,0x8128fdbe87828fadL,0x0000000000000054L } },
  78895. /* 2 << 385 */
  78896. { { 0xf20e17f13f9fa837L,0x0f66494807db1380L,0x5bcdc63187f0c342L,
  78897. 0x56c64eccbd3f369bL,0x5e2dd96811c76666L,0x77a37823dc4303ecL,
  78898. 0xa88173a174b208cfL,0x1c6268951af41e96L,0x00000000000001c5L },
  78899. { 0x72da351465467b39L,0xa97a3735ce45abdbL,0xa1cb4a2cc98eee0cL,
  78900. 0x03dd02d494c63a07L,0xd22b087a3b2689f6L,0x5a50b83c3043678eL,
  78901. 0x069adf5f844a417cL,0xa9eb7a19983fcfc1L,0x00000000000000c6L } },
  78902. /* 3 << 385 */
  78903. { { 0x4abf6de480e0c811L,0xfb0db238cf33e5aeL,0x3f65131865638f5aL,
  78904. 0x93e5d62e41078c4bL,0x53ec3d90b4b44d9bL,0x9fe564607ddcf3b9L,
  78905. 0x4714385079848b05L,0xbd3495a99e60315dL,0x0000000000000144L },
  78906. { 0x90409b61670bedefL,0xf0b1baf0b61f1014L,0xed3ccb5ccc4ad55fL,
  78907. 0x391b2125ebc6a449L,0x9f49ab65c399ddd3L,0xf7706ca403eddc81L,
  78908. 0xe42d1379579211fdL,0x9452b0d11ede88c3L,0x00000000000001fbL } },
  78909. /* 4 << 385 */
  78910. { { 0x984da95de0ea0baeL,0x7769cffa3ab813baL,0x02fd64a784cc8b68L,
  78911. 0x138655f25ea90ed5L,0x71074c7c40b410c4L,0xf3971b004a05f173L,
  78912. 0x113d8242d36b4f4dL,0x63bd460f4cdd1b0eL,0x000000000000015bL },
  78913. { 0x26bfaf816db9fe99L,0x001943c40a3c3a72L,0x258eccec8adf321fL,
  78914. 0x8bf97f30f50d775cL,0xa7b60597e6899fbfL,0x622bf2cb49eabd50L,
  78915. 0x9ff457e9b19e9649L,0x607570fde2dbb651L,0x000000000000010aL } },
  78916. /* 5 << 385 */
  78917. { { 0xf878768dc39ebd2dL,0xb1b035621b3a6b46L,0xe72832d029c2b56dL,
  78918. 0x218d6d25056bd4caL,0x612ca701aec98ff1L,0xe163cfb4087e18faL,
  78919. 0x87de2193c2bec7a0L,0xd4021463b488ad62L,0x0000000000000063L },
  78920. { 0x0edd28a4b8a8a68fL,0xf1ffbbca57379793L,0x35148b571e59f460L,
  78921. 0x05e012671c86cefcL,0x8a9be0b60125bc67L,0xe7e5a7b6ba39760cL,
  78922. 0x6f2c362f681eeb77L,0x6da71b8a21896363L,0x00000000000001f6L } },
  78923. /* 6 << 385 */
  78924. { { 0xeef26ae3c25300f5L,0x8bbffbbfb5cd52d2L,0xc6883fe52008ae5eL,
  78925. 0xd9c9a0c8e2b01d57L,0x9acae3b306c31ab5L,0x7b2f19eb43b0c30bL,
  78926. 0x95d3152ab1298985L,0x4794f0ec5f12ff03L,0x00000000000000a7L },
  78927. { 0x3bdefa96ef21ba62L,0x3b32556422a57592L,0x573f6bb2555fba4fL,
  78928. 0x732ad6b3bae1a0fbL,0xfc41bc29a2761ee0L,0x621784f7aba990f9L,
  78929. 0xd4ba1ab2e48a868bL,0x66312db4d1399b20L,0x00000000000001d9L } },
  78930. /* 7 << 385 */
  78931. { { 0x8049507015ff7901L,0x1478179a05613016L,0x59efd46ca8be1593L,
  78932. 0xbd1f8e76113933ccL,0x09e6abf36992abb5L,0xc95822eca1d045e8L,
  78933. 0x7436d5981f6c515cL,0x8d7c824f1bbfbeb2L,0x00000000000000e4L },
  78934. { 0x7d026a123aa9274aL,0x830bfca50bd883d5L,0xea9b5934fbf1bcd7L,
  78935. 0xbf8c71836b06d84bL,0x4c0885bc205fea9cL,0x5fed94ad4cff3b03L,
  78936. 0xd9f7b8f98be81d5dL,0x64d908c6893fa1b5L,0x000000000000007cL } },
  78937. /* 8 << 385 */
  78938. { { 0x51318ac974ba879aL,0x23723b6da68b584cL,0xa7872bf002ac441eL,
  78939. 0x1e0c8fd665c7b9f4L,0xe8e3bc24b893449dL,0x2e83c6b8f06e02a6L,
  78940. 0xba754c0178d50ef5L,0x7c6c06ef2c547c38L,0x0000000000000132L },
  78941. { 0xabbfe4266dee6431L,0x2d51aac612fd88eaL,0xc6f215251c83591eL,
  78942. 0x85c550e59ee42180L,0xe1a4297da8cd1c50L,0x28f07cf6b55723cfL,
  78943. 0xbede788e4113977bL,0x8c7572fcbedaeeabL,0x00000000000001abL } },
  78944. /* 9 << 385 */
  78945. { { 0x60221dac8c4046d7L,0xb29cba0533e800a3L,0xadcc3238ade5ecb5L,
  78946. 0x7c31f4169d44fbb1L,0x404d9db9fb584dceL,0x7fb5b64fb56640c3L,
  78947. 0xac38556d5e0e529dL,0xafa97e58214dd3d2L,0x000000000000008dL },
  78948. { 0xa24be8f4a0417228L,0x0b7b8efb5859d256L,0x70a6c4f46d40f4d3L,
  78949. 0x02c765814b0aa0daL,0x353a45a5197e7128L,0xf9bd691dbb79a5f7L,
  78950. 0xb428835a81ff0839L,0x89031e1bf8d35083L,0x0000000000000062L } },
  78951. /* 10 << 385 */
  78952. { { 0x92ad8865b1b131e3L,0xa2d8e77b3103a569L,0xd081c2a22d46d978L,
  78953. 0x7f1757fe957e5123L,0x258ebe578c2f4a29L,0x67dff774bb023960L,
  78954. 0x348ace6f79bb89e6L,0xaa23d41e5297feeeL,0x00000000000000adL },
  78955. { 0xbe8697e4a856e349L,0x2d3107c7e737bc92L,0x19b99e2f3e58c73fL,
  78956. 0x11837e89c5062b4dL,0xc2a68bd6f73092e8L,0x80babf047dbc2becL,
  78957. 0xfac9c42fe03d29beL,0xb7e929a3aca6ac1dL,0x0000000000000035L } },
  78958. /* 11 << 385 */
  78959. { { 0x8c4765f47229f2cfL,0xc8572c7d29c7e408L,0xf7bcff0b98553b8fL,
  78960. 0xbd8e805c1c3e85c1L,0xb2d8dc14369c9dbcL,0x63b17347afd0ed33L,
  78961. 0xb3f90b99d2d47136L,0xf1fadf5488ebb89fL,0x0000000000000052L },
  78962. { 0xe04cd6862e48f6b6L,0xf76ec1fa7a543a03L,0x20b50eebf9327d53L,
  78963. 0xd9309aa39cce80c1L,0x3997de2cb01adc78L,0xf4a8fcb0aa455bcfL,
  78964. 0xae359685f0199eafL,0xc8bc160985a31115L,0x00000000000001e8L } },
  78965. /* 12 << 385 */
  78966. { { 0xcbfda2506cdfcf62L,0x53113f8f15d70806L,0x4cf4b5dce80c79e6L,
  78967. 0x14c33f38b5232e2cL,0xce68bf8a96819808L,0xff81633abec13a2dL,
  78968. 0x969a055f1f77912aL,0x82aedb5c17822f63L,0x00000000000001bbL },
  78969. { 0x69352a3bdb5017a0L,0xc3ece4982392bd59L,0xdca599bd1b712201L,
  78970. 0xed41a64f4b6bb033L,0x99b107acea5c5ac2L,0x504405d0322c3dbfL,
  78971. 0x5fbbedce26ed81c2L,0xccbc266dcce08f72L,0x000000000000008fL } },
  78972. /* 13 << 385 */
  78973. { { 0x4dc83ee2d1ae29fdL,0xbaa31bd4bafce02eL,0xfa74ddcf5d8f2ed3L,
  78974. 0x14b7d53567047459L,0x66b98c8706389572L,0x8215c3ab0a7617b7L,
  78975. 0xd14796ab06956b2bL,0xc80fd323b54dabacL,0x0000000000000130L },
  78976. { 0x7400113068d54d81L,0x11823157d23ea02eL,0xaba5c32f9bb04c0aL,
  78977. 0x0f99a803a3c680e4L,0x05264fe5ef58a7d6L,0x67e9f52cd303758dL,
  78978. 0x4242203dcd5c1e1fL,0x98bea8cf604d23d4L,0x00000000000001ddL } },
  78979. /* 14 << 385 */
  78980. { { 0xc261b128c9294e78L,0x7e683d7ab56d383cL,0xa2af179eaec454d9L,
  78981. 0xb6fa2f8e64f12f29L,0xc0f33050e8ab3d63L,0x333793a2bd5691eaL,
  78982. 0x5db823fc3b368830L,0xf546d32a6a84ada1L,0x00000000000001c4L },
  78983. { 0x43664d6eac1380a1L,0x2c04be94f4f0f52eL,0xb9371f7f106b47daL,
  78984. 0x110a17dc191734f1L,0x9dc73cb428b143e7L,0xfa1c936f7fd60d8bL,
  78985. 0x7bf9010f2b6073d9L,0x1bb64c7ebece22e1L,0x0000000000000119L } },
  78986. /* 15 << 385 */
  78987. { { 0x25fbd37a93744747L,0x33a9d3b70c1a7fcaL,0x989f96796ae94f7fL,
  78988. 0xe2106d35e67bf578L,0x07fc53faf949bd10L,0xa8157d4460c12a97L,
  78989. 0x075634bf35cebe07L,0x71e2a9cdb340fcbdL,0x0000000000000121L },
  78990. { 0x1ffb67f0c2e6d92fL,0xbb9c28bc18900dbcL,0x3fe4feedc24b9a66L,
  78991. 0x28e9362d04596798L,0x10ba62895c8dc108L,0xe68c61d13a1458d0L,
  78992. 0x13d1e0ad364d8338L,0x123d93809d04965bL,0x0000000000000140L } },
  78993. /* 16 << 385 */
  78994. { { 0x72916be74e6df03bL,0xb14241ed090a7b6fL,0xec0532fbcf5e6f43L,
  78995. 0x750cd95b680383c6L,0x2892d449c7cd9543L,0xf0550587d5d3ad9bL,
  78996. 0x3b330694e9c29c0dL,0x6fa03173bfe6860dL,0x0000000000000111L },
  78997. { 0x6d55b870ab75c854L,0x156f9a4002f049f7L,0x72e2093bfa48732aL,
  78998. 0x4ba2d6cb9a3c272dL,0x58102be5d89ba292L,0x4074f320b3c5c3b0L,
  78999. 0xb478c05ee462c677L,0xebd4978f97182fe6L,0x0000000000000182L } },
  79000. /* 17 << 385 */
  79001. { { 0xae41de76e2896c2aL,0x1b2602cc3c601237L,0x9ae2e0c9af035deeL,
  79002. 0x209a883c726c6673L,0x9a58dd920a725ff4L,0x4f8eceb3832a10e3L,
  79003. 0x6c4d809c573317f8L,0x9121d8eac82c2a4cL,0x00000000000000cbL },
  79004. { 0xadff98fb9601c342L,0x2d42a3a3bae085d2L,0x5cf981d50ac42277L,
  79005. 0xcc545cb079b74c44L,0x1adec8675675aa3bL,0x78603cb5b8e8ddb4L,
  79006. 0xe48875e3002ae8bfL,0x6839bf245e1cb314L,0x00000000000000bbL } },
  79007. /* 18 << 385 */
  79008. { { 0xf8fae13deca4dddaL,0x671c8c158c52a92dL,0x5cb3ecc642bbc3c4L,
  79009. 0x2ce7feeb00cf0233L,0xd7c0cb28aa604a63L,0x4a16938b01f87be7L,
  79010. 0x17016645164102ecL,0xb8909311c9d1539bL,0x00000000000000b0L },
  79011. { 0x9567501142c22cc8L,0xc848925de932f6a0L,0xe4e700a4cd544b40L,
  79012. 0x026bbe7378d519e3L,0x90b7fb394152421aL,0x4e53739aec641e36L,
  79013. 0x481b7945122113b7L,0x49f3857d6b608fabL,0x00000000000001f5L } },
  79014. /* 19 << 385 */
  79015. { { 0xacef52d7c680deb3L,0x5387587420059de0L,0x1644e4b1f12a16d1L,
  79016. 0xc1fbfe45c593cdcfL,0x4408421f5d780052L,0xbc641892768b8368L,
  79017. 0x026a2b172ca3e625L,0x25d8c18e8294dd5eL,0x000000000000004aL },
  79018. { 0xf32800d6f856d7a9L,0x9c00ffb281a1f59fL,0xd4140fa9178c667aL,
  79019. 0x7f1e6c729c9e0df2L,0x5f77c3089371c816L,0x38e375d72850e31cL,
  79020. 0xfbf767e334b9cb0cL,0x69d86303ea279d88L,0x00000000000000b8L } },
  79021. /* 20 << 385 */
  79022. { { 0x6d3407e582d09cebL,0xc82381149c2bbfb3L,0x2305405592b91258L,
  79023. 0x8c29220ab1b79073L,0x6e2cb5dd0dc5de61L,0xc93055237d359d6fL,
  79024. 0x73cd337ac477e64fL,0x86a3f9fd7e8a066bL,0x00000000000001bcL },
  79025. { 0x0da1223f1b1fc70dL,0xc3d2d816b3c73ba0L,0x3a52c249c299cb6cL,
  79026. 0xdd532fb9d7dfefa6L,0x2709093b148749ddL,0x920933d71472abd4L,
  79027. 0x5cbbb77a1e9c9913L,0x582303e159854987L,0x00000000000001feL } },
  79028. /* 21 << 385 */
  79029. { { 0xd952ed9293f30e54L,0xf2283ddb40dfd445L,0x081f0864238b3390L,
  79030. 0xf19b4cdf2a2746daL,0xa3328cb41ad23d9bL,0xdadef9c990130bc0L,
  79031. 0xc12002c460008b07L,0xde3d9eb4c595f30eL,0x0000000000000022L },
  79032. { 0xfe6ef607efd5a387L,0x4cf4797c5e1e8932L,0x8f86442f05605d18L,
  79033. 0xff1f353769eb95f0L,0x79fb4e69e1868299L,0xb39a34470ce7a27aL,
  79034. 0x4c9b1dc040717364L,0xd6b2243f73ee2b9cL,0x0000000000000115L } },
  79035. /* 22 << 385 */
  79036. { { 0x1df547c1006a1b02L,0x75d489d5d0ae81b3L,0xd41b67c625b28229L,
  79037. 0x4032ac036d8b9daaL,0x274a3d504296baaaL,0xbbc28a28b538dd5fL,
  79038. 0xcf1f5a62d4df39dfL,0x56a0cad5d4f636b0L,0x0000000000000142L },
  79039. { 0x09732bfacd4a1f6fL,0x00b7aeb0011da78cL,0x2c967709103ab2f8L,
  79040. 0x47d6805e9f83ec41L,0x67ded88e17c4818bL,0x81d03ea39249a058L,
  79041. 0x5fd3a0fa51bce6abL,0xeb113e83c0a0c60eL,0x00000000000000f2L } },
  79042. /* 23 << 385 */
  79043. { { 0xcacc5334dbf7ffafL,0x481e6074e8597feeL,0x22aaa02633a987d6L,
  79044. 0x77e8e0fe6243bb61L,0x786b31ce6f7f8afcL,0x438f8b23c3bfd839L,
  79045. 0x86b7cfbfb8cfe3c6L,0xf996706fa357ffdbL,0x0000000000000184L },
  79046. { 0x0c3da18e104c5c98L,0x34545c356f3e682eL,0x4f1af92d2894962bL,
  79047. 0x009941c8e16a8ea8L,0x6af6deca88a739f4L,0x846dccbc81b41d5dL,
  79048. 0x867b168b1c5ffc95L,0x58edec94a80e7d65L,0x0000000000000111L } },
  79049. /* 24 << 385 */
  79050. { { 0x32c0cf8f2b1148ccL,0x881d8c7cc2086aa9L,0x6b25daf57c9fd47bL,
  79051. 0xbfbb7226cd5ec48bL,0xf2b79deb9f2307baL,0x03d30de55fcfb278L,
  79052. 0x4b2d3a4671ef137bL,0x4e4a24b1cad4495cL,0x0000000000000173L },
  79053. { 0x363160471ecfc10cL,0x8a4ac3bd75c27aadL,0x6fd1abefca6f6103L,
  79054. 0x6ab15369b741c7ccL,0xdb25d3cd86719621L,0xe0d34a98ee85249bL,
  79055. 0x25beecea370efc6aL,0x7d8a2ffca2cefbf6L,0x0000000000000057L } },
  79056. /* 25 << 385 */
  79057. { { 0x2b88e77fedb6e29dL,0x900de27858445e1dL,0x522be722d81ee6b2L,
  79058. 0xb9847465d06e0e28L,0x395dc5cc82b6650eL,0x3fd0468d0c60d859L,
  79059. 0x6aa7a4fff3820f0fL,0xb90a772a88d99f9cL,0x00000000000001dfL },
  79060. { 0xe2befebb447ef8b9L,0x24f508533c891b0eL,0xa8aa0aaa3230c6eeL,
  79061. 0xa73632633dd77107L,0x46e85896920f93c1L,0xf72d7453b2104594L,
  79062. 0xe5a8f1c909ceb433L,0xd2b8190067e39bb2L,0x0000000000000168L } },
  79063. /* 26 << 385 */
  79064. { { 0x1493570cf66b1750L,0x50fa5ae6f33cd4bfL,0xfbe2a3ecf561f917L,
  79065. 0x4b258b77bf898f7fL,0x02d1ec70beac2642L,0x564b6272573b8580L,
  79066. 0x8feedbf9ac5126d0L,0xd28fef1ae3a6f0e2L,0x00000000000000c2L },
  79067. { 0x75b483070a7958fbL,0x38a08c5c739a7ebcL,0x2fbd9f56e113feddL,
  79068. 0x99aeade0627d745bL,0x333b1f30c79028d5L,0x4d2b246a3ac98d41L,
  79069. 0x27bbeec3a17ca8a6L,0xd112ea7715c67437L,0x000000000000006fL } },
  79070. /* 27 << 385 */
  79071. { { 0x0605b9c712740e86L,0xdb6fb159ee416603L,0x1f40031e378c94c8L,
  79072. 0x9e927ae7e0c09055L,0xfb48258a00745eeeL,0x17a704069ead3088L,
  79073. 0x5e2bde8a82fa07ebL,0xcf976c7ddc554a08L,0x00000000000000e2L },
  79074. { 0x999adaffe0db5952L,0xab1e9977d27441b2L,0x866e1f16e9f1eeb0L,
  79075. 0x72c71bd9ddbd25bfL,0xedd79e2a7b597c62L,0xc6f23d50844b5124L,
  79076. 0x0709f4d02bd5cd8fL,0x5073c53ac01ec73dL,0x0000000000000196L } },
  79077. /* 28 << 385 */
  79078. { { 0x225e32b66f12962fL,0x65011534fcab5e88L,0x862db9d870ef87d3L,
  79079. 0x4d97fd3e79bbd513L,0x142eccbffb7fb6dbL,0x9e775e1506e8b3acL,
  79080. 0x6f6d15237bb36a4aL,0xd9b2a0b0c852c087L,0x0000000000000001L },
  79081. { 0x9fbaa9b411ee4180L,0xc87d89aabe044a8eL,0x60d2115a9d92fa69L,
  79082. 0xf8e31c6d7ba7b5ebL,0x9932329bb6df0134L,0x6c01970a3bc69b2aL,
  79083. 0x6737c958226ddb54L,0x3093ac432e11e8a2L,0x00000000000000acL } },
  79084. /* 29 << 385 */
  79085. { { 0xd55aab0baff63fb4L,0x157c404a98f804d9L,0x9093d56a62ac263cL,
  79086. 0x8b2a1a6b7a1d63deL,0xdbb15dd256b07744L,0x53d216cc32950c7dL,
  79087. 0xbd3ba7f922f29864L,0xaee5533c0b98ed47L,0x00000000000000aaL },
  79088. { 0x09e3a1ebc42105f9L,0x1bf3123ae34db19bL,0xed30f15386624ffaL,
  79089. 0x591b7778c2514f17L,0xdd3df3dcc880f93eL,0x97d5affb755e1411L,
  79090. 0x9465d5cd7316c386L,0xafe559200ce1ed81L,0x0000000000000161L } },
  79091. /* 30 << 385 */
  79092. { { 0xc5fdf2cd62f1c1fcL,0xb0646997d3c5ca15L,0xf1c45742869d0aaaL,
  79093. 0x1a9c6f309fad74f5L,0x093dcb0c3c18f5cdL,0x00d14f2fc8ca593dL,
  79094. 0x3f70f7e63c4f17a2L,0x39881e1d95d3df06L,0x0000000000000035L },
  79095. { 0x7afff24c258658e9L,0x5a4cacfcbade261fL,0xfe7767120735bba4L,
  79096. 0x85ba530a9c82c1f3L,0x5769e18fe973b899L,0x18db2bc75e4fcfcdL,
  79097. 0x9333ceae8e06e55aL,0x458767f2aac217feL,0x000000000000018aL } },
  79098. /* 31 << 385 */
  79099. { { 0x7dfd1fd9ca2c4cc8L,0x5f1a04ed9f267faeL,0x444c8449586d471bL,
  79100. 0x02f37da060b87610L,0x6eaadf6d90b1267cL,0x6424f0e60c425c19L,
  79101. 0xead76c1e5979d19dL,0x97135c570b5654ccL,0x00000000000001cfL },
  79102. { 0xfec92d05477c6636L,0xb5480096c82d5536L,0xe44d98c2c2f86198L,
  79103. 0x86c2ec24cc6a078dL,0x7b95096318833141L,0x7dc32105e34fc08bL,
  79104. 0xc28892a13971cbb6L,0x463463058d0debb6L,0x000000000000007bL } },
  79105. /* 32 << 385 */
  79106. { { 0x70148a3a1b27f40bL,0x4ce48c61b7c6cc7fL,0xf6ee8026e7beaad3L,
  79107. 0x37eaec76d11ab074L,0x060f2ede99c1a334L,0xe9ce92e469150184L,
  79108. 0xf90e484852d73bb0L,0x0436a9bf01b5ae4dL,0x00000000000001abL },
  79109. { 0x3f83381640d46948L,0x318236b2fc39fcccL,0x8835b602122bcc3fL,
  79110. 0xa430b37b965ac801L,0xf448ea0fbd0585fdL,0x49e52f74252bb5dfL,
  79111. 0x810768ae1085ace7L,0xa8ceb3299242e43fL,0x0000000000000189L } },
  79112. /* 33 << 385 */
  79113. { { 0xbb72e5ce86bb6ae3L,0x749128972db25cfeL,0xb7c395b6f4e593d4L,
  79114. 0x372cf85ccdd2d6eaL,0x445a6b38d1b19db9L,0xe2f1c5aff02db1e5L,
  79115. 0xf40284f827342884L,0xd719e46f7ff61a12L,0x0000000000000193L },
  79116. { 0x85eef4cd0c3e37e9L,0xdaab82657d012a8cL,0x53fd0cdf23c548daL,
  79117. 0xc34d267335e40658L,0x2632c0ec6bead888L,0x56b52a6c28040011L,
  79118. 0xa61cba5662cd9b3aL,0xd6c1e7a395ba9887L,0x00000000000000caL } },
  79119. /* 34 << 385 */
  79120. { { 0x0f3c881065ae1e9fL,0x799b5a9cf0ffafdaL,0xb34a3084f57f8537L,
  79121. 0x457b247d9712dd17L,0xfd397b692a860504L,0xbb9d2244c382e2faL,
  79122. 0x183b9ddbc05020bfL,0x6f191b5ad4db7efbL,0x00000000000000ffL },
  79123. { 0x4939abecf2576b34L,0x6e5798a1eeec4778L,0xc3df13c2b3b7580aL,
  79124. 0xdff5b312ac675c29L,0x778a0194555b2cb1L,0xf9cae67a3f92285dL,
  79125. 0x97ce17b1d7de701fL,0x8a9fd15db49e90c7L,0x000000000000010dL } },
  79126. /* 35 << 385 */
  79127. { { 0x3a7f3f9d32ef9964L,0xe88455e705b4501eL,0x068b8e3e93d07babL,
  79128. 0xdc8519791ecf38a9L,0xa62a62579f9d6f8cL,0x7ac87da256aa5868L,
  79129. 0xa40029a323a119deL,0x2e49e7d41bc4b0b8L,0x00000000000001e1L },
  79130. { 0x927eadf7c6307f61L,0x2dfa993d9c5dee17L,0xa5797580174f907eL,
  79131. 0xc72b1db10a1a1a63L,0x138d2381a926cd5fL,0xdbe05d6d4c571edaL,
  79132. 0x2d7239fa034e513dL,0xf768ed948d94b578L,0x000000000000003cL } },
  79133. /* 36 << 385 */
  79134. { { 0x222bc61f3aa3ae2bL,0x0b4319f85d0a7022L,0x57b1ba9af02709c2L,
  79135. 0xc67d4a2175d1c7a2L,0x57f3c2dd4dbde7afL,0xe0540e677f154d4dL,
  79136. 0xd326611a854758c8L,0x76d36182953b2828L,0x00000000000001b8L },
  79137. { 0xcaac624b594e7756L,0x29d87d7566978fb3L,0x7db2834f1a86fec9L,
  79138. 0xc3fdaa53e1e61a46L,0x3247175b496c598cL,0x2a3665e118def4f0L,
  79139. 0x7f16bd2286744f3fL,0x1d857a5588d6bb31L,0x00000000000001cdL } },
  79140. /* 37 << 385 */
  79141. { { 0x18e8c833b3916e3bL,0x50322ed8a25a77a8L,0x24a82c230f33743dL,
  79142. 0xd72d2a918dc8941fL,0x97ec76addc5e62c5L,0x37f2aeaee2b1f956L,
  79143. 0x0404f85aa5a4cdf7L,0x2731e35189098b68L,0x00000000000001eeL },
  79144. { 0xdcd6fb17be2d5536L,0xb6e4ddfd2a940f5bL,0x8f9be7ace6efc7aaL,
  79145. 0x0c3dc0406bc2863fL,0x9e250a533e9db65bL,0x565400b82775b5f2L,
  79146. 0xfbc78c75fbf0a926L,0xfd96db6c14630b19L,0x000000000000012dL } },
  79147. /* 38 << 385 */
  79148. { { 0xd1d64c7e70cb0e6fL,0x997708567217b5b6L,0x037f050cb96d710fL,
  79149. 0x5c378b693989e449L,0x45f5ae2c0daa4766L,0xf536e14e7cdc17e5L,
  79150. 0xc2e3f81a4a1e7c0eL,0x5e72b0196a5b8147L,0x000000000000005dL },
  79151. { 0xe084cdca97933356L,0xf687802de0f5495fL,0x04ef1478fb3f21ddL,
  79152. 0x896ba7f3fcd00810L,0x066c5f0935f6ca88L,0x537e6a61c9437172L,
  79153. 0x335f7cd8ad6a9893L,0xd94e13ac3666f7abL,0x0000000000000192L } },
  79154. /* 39 << 385 */
  79155. { { 0x9e5d42e974d23a2dL,0x65600770d82bc0e1L,0x398a0086f26aa51eL,
  79156. 0xf9af5ca91cb33414L,0xafade7f67627615bL,0x9b292aa17f2615cfL,
  79157. 0x5807fead310e94a6L,0x1e448d4bdd2d85c3L,0x000000000000003cL },
  79158. { 0x4f7f2205a8ed0e39L,0x314a4f3372c1bf70L,0x75555231cf595b09L,
  79159. 0x3e7a57821100fbcfL,0x8f5e0ca34ab8ef49L,0x26e8382b2cb0db78L,
  79160. 0x0712983ead48e8d2L,0x0b8c06c41c943b28L,0x0000000000000022L } },
  79161. /* 40 << 385 */
  79162. { { 0xe929b729504f8b28L,0xe706657cb887ef71L,0xb4bd5cda0b83db33L,
  79163. 0x465187f0e761913cL,0xbd632bd6040b98afL,0xd82bf2af91c37379L,
  79164. 0xcc1058b15380aec9L,0x243967a1c506f0bdL,0x00000000000000d1L },
  79165. { 0xb298442687d73c34L,0x5ffa94ea46cbe44aL,0x5814a34f20ddb255L,
  79166. 0x8ea5436889b68f69L,0xe21603b0d26b66c6L,0x4695dff2320b6862L,
  79167. 0xa5d5332742d53e67L,0xf17df48aa5931fd7L,0x00000000000001bbL } },
  79168. /* 41 << 385 */
  79169. { { 0x04c70f3885087978L,0xcd12cce53c8b44acL,0xfd4f376998f7c502L,
  79170. 0x5aff3f2f98e9d246L,0xb3f2d8a82e0cb01eL,0x3f858b53fe4d8812L,
  79171. 0x0b389f33abaf289cL,0xc9bcac4d85e783d8L,0x0000000000000158L },
  79172. { 0x93e51ba7c3bdb05fL,0x9043397744508070L,0x52617f035d615383L,
  79173. 0xc2c4e23fad138cfaL,0xb701a0c9d06ba79aL,0x48a3165417ef47fcL,
  79174. 0x495700fb2da06186L,0x15cef318fdd26d70L,0x00000000000001afL } },
  79175. /* 42 << 385 */
  79176. { { 0x9d3e388e0cd836e5L,0xc974d434ae7e8fa6L,0xceff33a84b7dfae6L,
  79177. 0x27a8202db4d988c2L,0xf74ea8b2ce5a2905L,0x28b4c3d397a229e5L,
  79178. 0x00c1ef677089a383L,0xf9a5cea3f47e577aL,0x0000000000000186L },
  79179. { 0x44edeb76bec9adcaL,0xbf02c338c5ffafb3L,0xa48a7dad4e0fcb0fL,
  79180. 0x73665bd816a050a0L,0x102f101b93a18024L,0x9fbc6810f7ce9939L,
  79181. 0x18723d426cef653eL,0x54d4b68723015f50L,0x000000000000007dL } },
  79182. /* 43 << 385 */
  79183. { { 0x645853a6e2304ce7L,0x6d6f5d6885f9b592L,0x3eca27a281bb3a8cL,
  79184. 0x6cc8c8de108b3b50L,0x586b66bb96537c56L,0xfa80528910974d25L,
  79185. 0xc040c8cf9654df6dL,0xc97f68c367879489L,0x0000000000000080L },
  79186. { 0xd38c57c16d2eec2fL,0x306846d4f6ea3d15L,0x2ff350501539a565L,
  79187. 0xb45d32a19a8932e4L,0x23bf0d184fcbdd72L,0x12fd080596cd132aL,
  79188. 0x7ff6b0e56bf400f6L,0x9c7d3dad7052b488L,0x000000000000006cL } },
  79189. /* 44 << 385 */
  79190. { { 0x5ab5af9029ea9024L,0x62586bb3faa25d87L,0xd43ef6de49148521L,
  79191. 0xffaab71343df6049L,0xc0aed310f00e3fdbL,0xe028fc70c33b556eL,
  79192. 0xf32399e91b8997a2L,0x1194cdd91f8f2427L,0x00000000000001e4L },
  79193. { 0x8d750b3d3951d0bfL,0x85ecbe512ba1a463L,0x46486edb52e64beaL,
  79194. 0xb66ae34e7ba482abL,0x6d57cca5622a95faL,0xbec47b1e8417d830L,
  79195. 0x740b9a5887cf80ddL,0xa6618207870a8a2eL,0x000000000000015dL } },
  79196. /* 45 << 385 */
  79197. { { 0x8a5916f00aa91c51L,0xa976e99375eff325L,0xa8408bc54ae87723L,
  79198. 0x489d2e43f775bf8bL,0xdde2904c56c8ba33L,0x37550da29db2b339L,
  79199. 0x1dc50f82a347dce2L,0x9499d24128c84734L,0x0000000000000051L },
  79200. { 0x3167754dddbca30dL,0x8a8577969acb20aeL,0x79980c5bd6bb103aL,
  79201. 0x12849fa2f6ad7a1dL,0x84d5a7c0e6a33774L,0xa909f1a10580739bL,
  79202. 0x97a40113e7b102dbL,0x070a98179145c800L,0x00000000000000caL } },
  79203. /* 46 << 385 */
  79204. { { 0xbe7c607599d8558bL,0x0822198ba470d7bcL,0x8134516f9b7f5084L,
  79205. 0x5ca862b58ca39d9eL,0xfff8c52dc7bd24f6L,0xdcb06ff955cc6708L,
  79206. 0x7ed3263cbd8b69ffL,0xa789da086cb08d57L,0x0000000000000017L },
  79207. { 0x7370cbd65877a86dL,0xbef9b4d34365e6e2L,0x73af11d1ff8243faL,
  79208. 0x041c0263639a4178L,0x1907fd7305d03c9aL,0xaf28c8a796ecf611L,
  79209. 0x073e51bc9586b05aL,0xb601e442e8c2096bL,0x00000000000000f8L } },
  79210. /* 47 << 385 */
  79211. { { 0x1194c0915f1b4c5eL,0x1d9f3b7afb88b9e2L,0x3bbc16c0a0f8b8ffL,
  79212. 0x2c750d1b3c524bb5L,0xa463b2158ed71219L,0x3732bfcb948322daL,
  79213. 0xe8cd027a3d667adeL,0x13d77bd8189f2eeeL,0x00000000000001e5L },
  79214. { 0x6adeab389ea63cbfL,0x4cc00ec1873d9cfdL,0x91206bd9dde3e73fL,
  79215. 0x673213982af25a9bL,0xdd29fbc0c7c128faL,0x07e8deda5044c8fbL,
  79216. 0x555612ea3dd8c690L,0xe56de5e753bf04e0L,0x0000000000000199L } },
  79217. /* 48 << 385 */
  79218. { { 0xa63bbec0976e030dL,0x7a81ce08e65327efL,0x0ac6397fa7c90248L,
  79219. 0x14ef2887488f9ba1L,0xb2b47a2f497add24L,0xa86a385740274de2L,
  79220. 0x25acdb8c12374808L,0x96f4ef892c57a8b1L,0x0000000000000050L },
  79221. { 0x3a8d6bfb85199966L,0x78bf5c36fbf35493L,0x8f1db78b5bd8876bL,
  79222. 0xb8ea47b6b2becda0L,0x5decd86d13992438L,0xc0abe6d250dc68c1L,
  79223. 0x85b05da73eaca155L,0xf8095622b1bd9e0bL,0x0000000000000104L } },
  79224. /* 49 << 385 */
  79225. { { 0xf17044b942b59f11L,0x716b5bccf9bc1552L,0xcdb5e87eaa109cdaL,
  79226. 0xb4b8bb4a0a21bde7L,0x56914afb00ddf7a2L,0xd9ad9a5b7a0a7463L,
  79227. 0x8cee2a803b0b3482L,0x2bed5feebf03e4feL,0x00000000000001c6L },
  79228. { 0x410ab42537a1cb27L,0x9811d04052ac89caL,0x04597789c9d044f3L,
  79229. 0x85209250bb67711bL,0xfd886ffc3c39b579L,0xdf3e4df20a8bfdf4L,
  79230. 0x6d2e6d431ca33a7bL,0x8e3aa535624713f5L,0x0000000000000140L } },
  79231. /* 50 << 385 */
  79232. { { 0x77f51e0c0442a7c7L,0x500c2b2ca9e3b607L,0x0ee098290847e5deL,
  79233. 0x20349adb09354cdbL,0x6b55b08cc2d79e4dL,0xdcb3401e13d8863aL,
  79234. 0x7baaec44aaf4e45dL,0xe52e2d8030e3684dL,0x000000000000015dL },
  79235. { 0x400371c05c87ddbfL,0xb6e45175f64b1914L,0x47b78ec27d6647d7L,
  79236. 0xd1b8a05f3eff6489L,0xbf7d56859a637fb3L,0x0928b2419e67d5ddL,
  79237. 0xdcd099e5146112d0L,0x5835194e38fa6f30L,0x000000000000004aL } },
  79238. /* 51 << 385 */
  79239. { { 0x994334489930200eL,0x57d680aeca0c5cb5L,0x500b59d823868cf4L,
  79240. 0x8a0c2ca2b5702fd9L,0x365864638d68cb48L,0x99d533d4fe2bd373L,
  79241. 0x76e5f84a8fdccef4L,0xf7a3adeac157857dL,0x00000000000001e1L },
  79242. { 0x9f89da8738e35a2dL,0xad503f99a5791c04L,0xeb04432cd0b1f650L,
  79243. 0xbb49f73c9de86969L,0x8029aec67728cdc2L,0x668e0a8ea7b3de2aL,
  79244. 0x316e9e0d920d8b5fL,0xd212034d5aafe07bL,0x00000000000000e8L } },
  79245. /* 52 << 385 */
  79246. { { 0x97ad23c88762dc4cL,0x20968d0f2d1c69afL,0xe2632e0a129c000cL,
  79247. 0x29f88599dc732336L,0xa44c59d4bac2d80cL,0x0cf8411a987353b2L,
  79248. 0xdcc28c77f498d31eL,0x78b5352a88cd769cL,0x00000000000000edL },
  79249. { 0xb0e90a4ebfdb4f02L,0xfe9de895a3128446L,0x5e56391e08215646L,
  79250. 0xca6dd28866fa22d0L,0x72eeff81542c7c9bL,0xd6c39a86d59415d4L,
  79251. 0x7b25916353a292afL,0x202fe2b6e8975c78L,0x00000000000001c2L } },
  79252. /* 53 << 385 */
  79253. { { 0x9806bd85cbec6480L,0xba6a35c617677c63L,0xfbb6db2a810128dfL,
  79254. 0x88738bb1e9051fcbL,0x9e84681e40f5e477L,0xb8c311c61481f032L,
  79255. 0x9e9a7bef01715e80L,0x281e49e5f705aa5aL,0x0000000000000004L },
  79256. { 0x9b309b2de678ef56L,0x3debc468f3faf55bL,0x46746951f0341856L,
  79257. 0x001ba8e5718dd586L,0x05ea65aa9144640cL,0x7e7a5e4f9362e2e0L,
  79258. 0xc16935252a9bfa2dL,0x8a8a985a2220ef82L,0x0000000000000022L } },
  79259. /* 54 << 385 */
  79260. { { 0x9f3090354dbc1eb3L,0x7c6d6a66748a3ab1L,0x76e43bf83c4a32cdL,
  79261. 0x0556dab29283b2c5L,0xbb92ce2099abd7c0L,0x32c8445805611ce6L,
  79262. 0x351c209534d866adL,0xb812b2e4c8c7f664L,0x0000000000000080L },
  79263. { 0xdfe378b30e2a92feL,0xe32b3be4077bd06bL,0xa07a0268acec79efL,
  79264. 0xbf50bf0d53a8e15fL,0x2d5cc452ad111c55L,0x9c9138f202874227L,
  79265. 0x2a5c81a2332546beL,0x3dce449a895ef21aL,0x00000000000001d5L } },
  79266. /* 55 << 385 */
  79267. { { 0xa63fb2af30833554L,0x54e207774ceef45aL,0x28daaccf9a93de1aL,
  79268. 0x8b71ff06448451c5L,0xfd21f9ee3deb0b23L,0xcfe45600d9f7168cL,
  79269. 0x60de95282235c182L,0xe30cebba4656a139L,0x0000000000000101L },
  79270. { 0xfc656b2211b55f1bL,0xa13bba09c477a553L,0x66fd4c2893274502L,
  79271. 0x9b86a1fd1a24b861L,0xb6afd1ffe2a47053L,0x6c0769ff48df1e95L,
  79272. 0x2b3b730d1b63f97aL,0xbec1276691aac5a4L,0x0000000000000144L } },
  79273. /* 56 << 385 */
  79274. { { 0x1b50fa628d00da24L,0x98c7ac500a0590bcL,0xc33c9f7f6c101946L,
  79275. 0x653848c30c4eaf7dL,0x7ab38c79dc892656L,0x2ce0ae53420316ceL,
  79276. 0x9df9a0087012d563L,0x130cd5656d51bd57L,0x00000000000000b7L },
  79277. { 0x21a2c95078ffe5efL,0xbc330a097b991b38L,0xc5151e1b2d4a375bL,
  79278. 0x70a29d1080c0f67aL,0x2e75a55f2247b284L,0xc95a638058f332f1L,
  79279. 0x0d7a5242a8fe1cc9L,0xc0b1176ca712a8ceL,0x0000000000000035L } },
  79280. /* 57 << 385 */
  79281. { { 0xe534d7e5b1b6b3a6L,0x442cc9a460e15a20L,0xb5b505780fc877d3L,
  79282. 0xef21ffca4c062301L,0xd29e142d0a3457fcL,0xdd64c344ceadc8c1L,
  79283. 0xb590679cb14c251dL,0x3fe76f10ab9b3856L,0x00000000000001e3L },
  79284. { 0xf136f66e27ca4c20L,0x7146348c84d4b0e8L,0x5d75318419adb36bL,
  79285. 0xa7218c7b88ceb93cL,0x2df7eeaa837ee73cL,0x026cdcf3914bf563L,
  79286. 0xf3f3d1a4997d9514L,0x16dbbf9d40ba713eL,0x000000000000019bL } },
  79287. /* 58 << 385 */
  79288. { { 0x0e9c00daa1923d11L,0xa4a935ba9e9a0e88L,0x235a9253ca54fc63L,
  79289. 0x392920afdbd25679L,0x856d174652a57c44L,0xc3504988fb239f6bL,
  79290. 0xa907f9f71cd72a71L,0x2925f0ced9f5d416L,0x000000000000011cL },
  79291. { 0x208bb07c7c23fe95L,0xb042893810ca84d3L,0xd0b3bf252f00bfa4L,
  79292. 0x34cb8007cd3bbac7L,0xc08e0a6ab206c13eL,0x1462ec66991968dfL,
  79293. 0x409af523c0694b39L,0x8ee92b86a076f928L,0x0000000000000078L } },
  79294. /* 59 << 385 */
  79295. { { 0xc9d7fc5dbd1a3ebdL,0x231bb307a5f1851fL,0xc749aba7d0d7e150L,
  79296. 0xebe287d36a97cf7cL,0xa7bbcbfaa5236547L,0xb20cff6656a38e46L,
  79297. 0x9483da01fe570880L,0xc9445f539dade10eL,0x000000000000018bL },
  79298. { 0xabb59e65fbfc603cL,0xe47b710ffaf6b799L,0xfe3b4ef8bb3471eaL,
  79299. 0x6b525a9fa2deb2bbL,0x66e384c3b6f775e6L,0x0edcc15e3ae04586L,
  79300. 0xb1ece91a0177a763L,0xdf3e41341824cecdL,0x000000000000008dL } },
  79301. /* 60 << 385 */
  79302. { { 0xc0f0454dd75aecf9L,0xdc6c13e10d80a3a1L,0xfcf9387eaa843e19L,
  79303. 0x062744c75f9e673fL,0x4930360b8a9a5169L,0xfca298466dfc67caL,
  79304. 0x4b177efcff3e9788L,0x40f92ea72d8232d1L,0x000000000000003eL },
  79305. { 0xc9ebe2461dab3098L,0xaee9d337a007be6eL,0x9e3a204cf11e73a6L,
  79306. 0x7827ccd7f46edd7cL,0x5c602ab2c4a2c4fbL,0xef03efa28ab96392L,
  79307. 0x22ebf4f017be24eeL,0x0b1dd25cd235301dL,0x00000000000001b5L } },
  79308. /* 61 << 385 */
  79309. { { 0x92b6122d364ef40aL,0x0f469c7408803dfcL,0xbb3f660c5008d200L,
  79310. 0x2e4d68e12a330a19L,0x276981d7235df9d4L,0x420bc1c3a23c3b5eL,
  79311. 0x2a0d705524eb5212L,0x576d86d23001513dL,0x00000000000001deL },
  79312. { 0x6afb220edab35c28L,0x405c936730584725L,0x5a57996203793bc2L,
  79313. 0x7d3538be9fd9bfafL,0x416ce5282511c844L,0x846db71687796d79L,
  79314. 0xf682f8faa73a6974L,0x0b2913aafdd19bbcL,0x00000000000000d0L } },
  79315. /* 62 << 385 */
  79316. { { 0x70db7f0c58ddd6edL,0x773c028cdbf9b863L,0xa04ef8b00cfdcb7cL,
  79317. 0x513684b8a4a65e38L,0xb60cf9c1508347a2L,0x54635f38bde9bcbeL,
  79318. 0x0b41f76ee79fc803L,0x6334d72bf373f10dL,0x0000000000000009L },
  79319. { 0x4cb3f53a0d2bc647L,0xa89a0ae94301232aL,0xacc6701961d28592L,
  79320. 0x82718dd4fa93ad0dL,0x845908b550eed143L,0x7f66caf46403a023L,
  79321. 0x003fdaae32636684L,0x776946a19c27c09fL,0x00000000000000d1L } },
  79322. /* 63 << 385 */
  79323. { { 0x1da47097240362a1L,0x30e9b0ff5b43cb0bL,0x5dd728da4f3db2c0L,
  79324. 0x0027f719ffe4271dL,0xf1adecee13577480L,0xf6bf7133b47c7e12L,
  79325. 0x1af855ba8221a9f7L,0x88896c19d53e3940L,0x000000000000004fL },
  79326. { 0xd07fee83edddb456L,0x362604d7f71a3cb9L,0x040220eda3c197fcL,
  79327. 0x7abad6759101be2cL,0x618e46cbeaab7424L,0x05c1a27e57e4b841L,
  79328. 0x197916805b141498L,0x37ed04403de4c4cdL,0x00000000000000feL } },
  79329. /* 64 << 385 */
  79330. { { 0x7b0373e4fd998a0aL,0x0bddac80c37e7937L,0xb979fdca8eeccc27L,
  79331. 0x150c3141e82b945aL,0xcf88a830cebf1156L,0x649c7c1abbef5c8fL,
  79332. 0x3199e1c5f10104eaL,0x31e4fd39898b7fd0L,0x000000000000011dL },
  79333. { 0xc24063de449bcd85L,0xb0cc16e1b96fef39L,0xfa391388b2f631b2L,
  79334. 0xd39c21b41f4a449bL,0xd036cb3135f5045aL,0x58a0729c367f428dL,
  79335. 0x7dde830655c42fb9L,0xd14ab2fef68c64faL,0x0000000000000163L } },
  79336. /* 0 << 392 */
  79337. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  79338. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  79339. /* 1 << 392 */
  79340. { { 0x5663f565a308e123L,0x91a48983157c2290L,0x222f7f93c054408aL,
  79341. 0xd8694963b839a520L,0x864b491dd314da50L,0xa315d96ed675cc09L,
  79342. 0x32964930390531b6L,0x9387671921e11f6eL,0x00000000000001d0L },
  79343. { 0x20f4598e0c3477faL,0x14c758b4ccf7f114L,0x0c83f642051b875eL,
  79344. 0x14ab1b501b290e7dL,0x99f812c7f1b18fa8L,0xaa60f39988ca8e75L,
  79345. 0x00de2bd0b9c6c5f7L,0x765da97328703a2aL,0x0000000000000015L } },
  79346. /* 2 << 392 */
  79347. { { 0x05a704cc2934ed82L,0x647089fb989edd8cL,0xe0b239d40ce7c62dL,
  79348. 0x4c892ea6105a5effL,0xa519395fd5ed6b04L,0x806c7003509ed794L,
  79349. 0x882e9886e70ce5c4L,0x50730ca1ff01f6a9L,0x0000000000000088L },
  79350. { 0x90a78a16dbcc5484L,0xc1ab078cfd454b50L,0x6f488252cb09e525L,
  79351. 0xdd663f53e19b2ed7L,0x16b10da1a67bf59cL,0xb47f6b9536bb770aL,
  79352. 0x6bdc8428777b2bceL,0xcd02ae3d561553f8L,0x0000000000000017L } },
  79353. /* 3 << 392 */
  79354. { { 0x06ba35c1ee2f1290L,0xec34093fd403d1e7L,0xc1b8ed8fa659075eL,
  79355. 0xea322ad8bfe99020L,0x3b7a95d8d5148b86L,0x979d99bec2cd9adeL,
  79356. 0x89a6a55285dba94cL,0xa5b7e51be090e6a7L,0x0000000000000120L },
  79357. { 0x033b73ceaf82552aL,0x8c98e0b55ca604c1L,0x177a92e5533addf7L,
  79358. 0x6eab8277ed1ad360L,0x05937e24bfb8e3e1L,0x4193e5cfd061128aL,
  79359. 0x4f781b5dfc1326fcL,0x74403eb19d0056bfL,0x00000000000001f1L } },
  79360. /* 4 << 392 */
  79361. { { 0x36da34d11edc1498L,0x7ba9673c18d4c455L,0x9acd94ff724eb3fdL,
  79362. 0x5db71c7ad31cfbc2L,0x64357011d49a2214L,0x80b6101f0aae0c21L,
  79363. 0xeffec6209853d1f0L,0xf928ed94eda4fb5bL,0x00000000000001bcL },
  79364. { 0x0031c5cce3db108eL,0x2663b3aa5110eb67L,0xc0432c4f3b2d50c5L,
  79365. 0xe5b812ab3d94b4fcL,0x031fcbe4e9828d03L,0x048dec907a08492dL,
  79366. 0x7420a4edea50d639L,0x0bd4bdd076eef289L,0x000000000000015fL } },
  79367. /* 5 << 392 */
  79368. { { 0xe7718e9bdf3566ecL,0x2acd4c45d1d77e5eL,0xc78694add9787985L,
  79369. 0xc7c600c5f645c923L,0xcd1e697ac393f54bL,0x7928ed5b20054d6eL,
  79370. 0xd3c839e03cafeabfL,0xbfaafdcec46a4425L,0x0000000000000196L },
  79371. { 0x6baeeca1e1804d34L,0x6996db6c70aa5e48L,0x24e11983b9577c2eL,
  79372. 0x3966f9a104335832L,0x5654cbdd50889c2aL,0xee86177f32df0deaL,
  79373. 0x7e9c591df8d76ecfL,0x57de93bfddbac362L,0x0000000000000022L } },
  79374. /* 6 << 392 */
  79375. { { 0x78709a5ca92d6561L,0x36b5d1f10880bc8eL,0xf980cebc0af2078aL,
  79376. 0x4b5e964a14edaab5L,0xd526f78563afd322L,0xf5a9d4c668e17240L,
  79377. 0x0c420e2819fc5026L,0x3327540903459b12L,0x0000000000000157L },
  79378. { 0xae433226c4d6bb5dL,0x5e39057b13ea6565L,0xeb7729af7aaf08e1L,
  79379. 0xa74c0ed7012567f2L,0x65b64576b6e89abeL,0x6b025e87f2498699L,
  79380. 0xbc92a03cc229c0f1L,0xc54da03b0f1f67c7L,0x000000000000001dL } },
  79381. /* 7 << 392 */
  79382. { { 0xeb525fbb07d2778eL,0x4cd96634c965143eL,0xb2ea802d742e1fcbL,
  79383. 0xa2f1ec4c75bc3cd4L,0xe778f1e1125ebaf8L,0xc700e4e4650b81ebL,
  79384. 0x66d593a59c841f1bL,0x4da417578d2984c9L,0x00000000000000a1L },
  79385. { 0x6e9ed77d57d4a16eL,0xefb8f94c1c1696aeL,0xf2961d2c8acbc2a6L,
  79386. 0x8fc9352de1d5de1fL,0x786158d1a7b8579cL,0x3ab33268fdcbac8aL,
  79387. 0xf237b433d583ed20L,0x3edcc184e4c10d57L,0x00000000000000cdL } },
  79388. /* 8 << 392 */
  79389. { { 0x8ec9a4151e96a885L,0xc95ec1ef7e63cb24L,0x8a77bef7c506a04dL,
  79390. 0x4e4dd4100ad06b3fL,0xc2eb62e4dc28fd42L,0x7cb2239454040fabL,
  79391. 0x74a3429a64595d06L,0x05983dfa26fd26d9L,0x0000000000000151L },
  79392. { 0x56acb9c1291ba5b5L,0x9967485f11c55994L,0xfc8eeb0bb23cd929L,
  79393. 0x0fe8db6b39d78fb1L,0x3d7281e846f04210L,0xe7f29c805d9fe1f9L,
  79394. 0x2ea28b7ef78b31a2L,0x594d39ee4dfe2d5fL,0x0000000000000087L } },
  79395. /* 9 << 392 */
  79396. { { 0x67f5679c7c9beac4L,0x985a78336230b567L,0xa250d8de064e4738L,
  79397. 0xb8bfbdd3b564700eL,0x087bf9e82e14ad7dL,0x4cf9220aa0317fafL,
  79398. 0x6614ae6eb05bc341L,0x1deff5d59e41105fL,0x00000000000000feL },
  79399. { 0x8b47d53a03966619L,0x72d5b26cbff94109L,0xdfc37d1510b76762L,
  79400. 0x669e715664b09f94L,0x16e999e2d3fb006bL,0x3e5aa52b6aa4487fL,
  79401. 0x8bfd7f5533c1350aL,0x68ff6cd44e72ea36L,0x0000000000000161L } },
  79402. /* 10 << 392 */
  79403. { { 0x450eccbf95b7cf7aL,0xdf3b7da8b44af149L,0x373e6b4f40c25b44L,
  79404. 0xf9db1d32e6c86b87L,0x02466d20439af230L,0x17bd88275830bba4L,
  79405. 0xf8f5e1805aef36c3L,0x6986ab02b7ed8e89L,0x0000000000000173L },
  79406. { 0x5c05151d51fe4224L,0x824fbd0f5576ccb6L,0xbe14d2f8e1751932L,
  79407. 0xc608e4c367fa6561L,0x4fa94021a856141fL,0x752b95bdda4ab1a8L,
  79408. 0xf4d032c295439524L,0x408521c03a8e1267L,0x00000000000000faL } },
  79409. /* 11 << 392 */
  79410. { { 0x9b7d1f3bfc0f4a8bL,0x7a8f0b0f5ccb978bL,0x00d61c73d3415ae8L,
  79411. 0xf46d7b22c6aede9dL,0x1fc2937114822df1L,0xe3e1d4675f740f97L,
  79412. 0x3a7e3ba3b9159596L,0xf99ca1a803b5ec47L,0x0000000000000029L },
  79413. { 0x04243bdfbb5ccd4eL,0x055a49f78802bd75L,0x51f2d40a306ea61eL,
  79414. 0xa70666ecda558bdcL,0x92ae69d13e523a23L,0x98055b32c4ef7644L,
  79415. 0x3748d45e0e228566L,0x9c4991a170bae7d8L,0x0000000000000106L } },
  79416. /* 12 << 392 */
  79417. { { 0x6502b92cbb5c5c05L,0x85d920e3bfbe8363L,0x7a2aba0d6e2b1eb1L,
  79418. 0xc02768187c1e4e5fL,0x8eed0e03e426684eL,0x164e869178e5d42eL,
  79419. 0x606a3a5498aa47a7L,0x2350730d0b830942L,0x0000000000000148L },
  79420. { 0x5e1965a01d104b08L,0x7e28dadd373e0f14L,0x77b7c36fac533cceL,
  79421. 0x8c2d1096e00217beL,0x016538a1ae057a93L,0x2fb0bf1e5a58f3dfL,
  79422. 0x0e6a5e9d9785d24cL,0xb945866bd5a89bfaL,0x00000000000000a7L } },
  79423. /* 13 << 392 */
  79424. { { 0x143510e9fe207454L,0xb0fd9824bbf845f0L,0x39c13279e8bf1a9eL,
  79425. 0x75fa89a10feca613L,0x2c66a7eb825a3dd7L,0x9c2b32c8b26368aeL,
  79426. 0xf92e1aaaf619a005L,0x4de668fdaaccfca3L,0x000000000000012bL },
  79427. { 0xa92801b445cfcf06L,0xfbd77f9cf74d70ddL,0x1e47198c6340644dL,
  79428. 0xffba0b1f6b4dae22L,0xe48cb9bbc7b899dfL,0xa2f0ece2c71b8b4aL,
  79429. 0x5d9815e62a173ebeL,0xb9b11bc50e9906daL,0x000000000000011aL } },
  79430. /* 14 << 392 */
  79431. { { 0x55ac3726fe2a7478L,0xe94f2031e30ff599L,0x469519bd10936c6dL,
  79432. 0x878d1fc50515a43dL,0x187f4315806e0b6fL,0xe03dc8bb2772ffa8L,
  79433. 0x32b48a444a6b058bL,0xea5822f35164ec93L,0x00000000000000a0L },
  79434. { 0x5c617856737160e6L,0xc9c64cd423c701eaL,0xfbaeb50175437eb9L,
  79435. 0x99422e75de99481aL,0x0f222393795537c5L,0xf7a2094923a1c0c7L,
  79436. 0x5e14e523f71edde9L,0xe03bfb13c7ec1652L,0x0000000000000099L } },
  79437. /* 15 << 392 */
  79438. { { 0x592528bcb0d0888aL,0x32b7ca4dcabde573L,0xa25e1b62404f7268L,
  79439. 0xa3da442d16381bf7L,0x62caeaaf5d6acdc7L,0xc9f64cd37e764a4fL,
  79440. 0x297687a84e48f5cdL,0xb315f2345e2d02a9L,0x0000000000000012L },
  79441. { 0x4f91c00520acaebcL,0x61ce683cdb8cbfe4L,0x22a4efd555ee34ceL,
  79442. 0xf8d7d3ca64516080L,0x38d087a027af0007L,0xdda0dfb2e0de0ef0L,
  79443. 0x7e0601f0f4c91376L,0x23d16e102ebd6270L,0x0000000000000141L } },
  79444. /* 16 << 392 */
  79445. { { 0x1bd8ce7b5a53c22bL,0x78733fcd7cab446aL,0xc44ca4e248acb394L,
  79446. 0xa9888b1ea38c790fL,0x36afb6eb15c34237L,0xb913b8a8fb702063L,
  79447. 0x34b77cc5917508faL,0xa931d7a7f9e4732bL,0x0000000000000050L },
  79448. { 0xa90a429056d21d18L,0x8266630755b410a1L,0xb4684a8b894a6b05L,
  79449. 0x8a1ade63828cf75cL,0x4fb2f85a127702a3L,0x83ff7d05adf7b709L,
  79450. 0x1d3f5a92a68d1db6L,0x243ce1dbc093cd5cL,0x00000000000000f5L } },
  79451. /* 17 << 392 */
  79452. { { 0x747050b4dc1f408bL,0xf1aa5f1cf0e53056L,0xfcd32b5db55215c2L,
  79453. 0x83e780e2a643d3d0L,0x10c32cd4a683aa1aL,0xb566a42ef274f385L,
  79454. 0xa94cdfc13c628a9fL,0x3a4dd494f28cf4d5L,0x00000000000000b4L },
  79455. { 0xd12f1ca48707dd0dL,0xc250d375379846d5L,0xb3d1f3e6cf8f7906L,
  79456. 0x828c0769504ef581L,0xd8ddb5fb91ed0a99L,0xb53dad6bfe27e621L,
  79457. 0xec6e3cd22a31b15eL,0x402c5dee5cd9ba0cL,0x0000000000000160L } },
  79458. /* 18 << 392 */
  79459. { { 0x39b44df663e47f96L,0x2c7206891f130336L,0x5543679012acc921L,
  79460. 0x2944066a5d875d70L,0xb6ba5ecab637f3dfL,0x69c8cadc79abbfd9L,
  79461. 0x359753d5bcef620eL,0x1caf0d9bbd2e9239L,0x0000000000000116L },
  79462. { 0x2412742cd051ae6fL,0xc8cb1cac54d13ad9L,0x19bdf52082ff17ddL,
  79463. 0x7310001c46f5ae00L,0x9f6dae8cefcb214cL,0xe3afc3481ac29d5dL,
  79464. 0x6162b535843d1a4aL,0xb25ff812e5174c3dL,0x0000000000000015L } },
  79465. /* 19 << 392 */
  79466. { { 0x2f2a4ecf475c5d3fL,0x012f076856a9da6aL,0x2d35ab720eb73946L,
  79467. 0x50aefcb5af90f132L,0x8ad439af4c3ab322L,0x70d8e68b3cca3e59L,
  79468. 0xff7ca8f5f7498297L,0xbb166b54aa99e5ccL,0x000000000000011cL },
  79469. { 0x08dd12eae174eb28L,0xca75bd49a8a34a97L,0x262fc207883d05e7L,
  79470. 0x6372076829e98b07L,0x6434261d442c2457L,0x6cf09b54ec47cd5eL,
  79471. 0x6e4d2a8b5ed4b6d3L,0x6950403c677585bfL,0x00000000000000d4L } },
  79472. /* 20 << 392 */
  79473. { { 0xe8bf0d2b9a86c296L,0x56b947a575d4fd5aL,0x7364354793941d37L,
  79474. 0x493899e4728c0b10L,0xa0d636a76ca7e1ebL,0x083f811e16ce84a2L,
  79475. 0x9602ad8b90bb012eL,0xb1c8808cfd7d4057L,0x00000000000000feL },
  79476. { 0xae262388f65f859aL,0x220164e04c8e2cf4L,0x7e1f59f2639a7befL,
  79477. 0x7777613522bd2b24L,0x191b18530b92201dL,0x9ebf0a3d99fdf0d4L,
  79478. 0xc250ea2f792cdf64L,0x9da499827937b250L,0x00000000000001dbL } },
  79479. /* 21 << 392 */
  79480. { { 0xe95372547eec5ab8L,0x20854600dc649495L,0xb2c454502060a38fL,
  79481. 0x074640c83b17ef7dL,0xc2ba81afeafd02b0L,0x76b5593495c308ccL,
  79482. 0x1be30f525d9c01c7L,0x00fb296b0c089ee6L,0x000000000000011eL },
  79483. { 0xcab278f10884bcb4L,0x81ed4c3515bdd541L,0x69cc0e14f5766a2eL,
  79484. 0xee19b33ffa305dc2L,0x0e66612c3941336aL,0x2d70aea0df5046faL,
  79485. 0x70ede44f5562d06cL,0x92a66c0bebd8019aL,0x000000000000014dL } },
  79486. /* 22 << 392 */
  79487. { { 0x7aef7245579e8701L,0xdddc870d737fd8ceL,0x4e4ad894eadbb996L,
  79488. 0x135b46160dfab3d7L,0x0433d57dcd7250b0L,0x4d3f5f9db0292ed0L,
  79489. 0x639e7722eceba527L,0xcd5b2c428487b3c5L,0x00000000000000e9L },
  79490. { 0xb1bdb67698d0936aL,0xaefe0fffc847c8efL,0x9f1c085f612bd61dL,
  79491. 0x148a96673d232e56L,0x5374bb9deeed1322L,0xb79378900e4302d0L,
  79492. 0x0c269a4be256e409L,0xf0c659b70315057cL,0x0000000000000129L } },
  79493. /* 23 << 392 */
  79494. { { 0x71ee59406a722275L,0x523a7e2bfa97bb09L,0x8cea508a21648596L,
  79495. 0x655546cf43160a2eL,0x715fd019b704209fL,0xc906616600197d39L,
  79496. 0xe176a99d7419b773L,0x8a8170e25ce68d76L,0x00000000000000a5L },
  79497. { 0xfb511b500b8abc3cL,0x6e8474d977a2cb0aL,0x849c55ee2037f989L,
  79498. 0x92e102d9d072d371L,0x90c88a1edd72df80L,0xaffc59588c3725d7L,
  79499. 0x92c20b445eb10063L,0x871b18dac2eb294bL,0x0000000000000129L } },
  79500. /* 24 << 392 */
  79501. { { 0xfaf6bd70ac57cb84L,0x32c242073eb61ae3L,0x5986ce0e7c9b61c6L,
  79502. 0x9b36f045f1733320L,0xe4dd9d839f8948c0L,0xebe72911a8a90ea5L,
  79503. 0xd34cb93e2d84d142L,0x787753d11c55d53fL,0x00000000000001beL },
  79504. { 0x48c0229aa2df0ca9L,0xbc42db5394660967L,0x4b209e4061935318L,
  79505. 0xcf7e4981898ae70dL,0xa42c59694dfb5d28L,0x2ccb13a68e4a6d4cL,
  79506. 0x77bb58626c36976cL,0x7b44f5ab71676ff4L,0x00000000000001b4L } },
  79507. /* 25 << 392 */
  79508. { { 0x2a3b21f19fd42b97L,0x388249b469e250e6L,0x7226d729f01c879eL,
  79509. 0xe588203b9e652254L,0xc6fb3b1a846a5090L,0x2dca87ce9a2a242dL,
  79510. 0xaca5c8fa7dc5f4adL,0x65334ff212ea5d25L,0x00000000000000bdL },
  79511. { 0xc1039e12cc6df18bL,0xb13ab3c2d6a89d34L,0x8573f608686ab623L,
  79512. 0xb34720f8b0a4c351L,0xb42c5a677841be0aL,0xcd53d55f37b5ce15L,
  79513. 0x99d97165e3cc80d3L,0x3c2a9a9ddb06c07eL,0x0000000000000091L } },
  79514. /* 26 << 392 */
  79515. { { 0x67dc211ce9a3ea9cL,0x292af224222b2a93L,0x818fb79cfe0f90b4L,
  79516. 0x379d01c415628e38L,0x48a83503ad420127L,0x9ee9b705ea2b1a5eL,
  79517. 0x0430fcdeff6e68d2L,0x3045e6fb6b148eafL,0x00000000000001acL },
  79518. { 0x9bba4b09d469ed6eL,0x95ac0bbe3cf66944L,0x109546371c2ed0d1L,
  79519. 0x21ece32632403941L,0xc4a8ba03051a64beL,0xb00e5c8aa214703aL,
  79520. 0xce818fb8ef7fa7a8L,0xc9b56befadb9488eL,0x0000000000000178L } },
  79521. /* 27 << 392 */
  79522. { { 0x7ad60105c31e7fc6L,0xf361576465d266f6L,0x5608c43e884a8482L,
  79523. 0xdfdf8db35cb2ba2aL,0xee76eb6488c0d22bL,0xf9ee20f3c433d719L,
  79524. 0x09ab2833bef67b85L,0x632230924b54aee4L,0x000000000000009cL },
  79525. { 0x5d63b8e97bbae00fL,0xb6348d60cfba1a43L,0xe080feba8eace1dbL,
  79526. 0xfc3847f6d9166854L,0x0cf910826edf4f5eL,0xb8cd7739571167c9L,
  79527. 0xcbc05dbd10dd80a2L,0x2a0ee01733e69b2aL,0x0000000000000129L } },
  79528. /* 28 << 392 */
  79529. { { 0x64c9253b379d2951L,0xe87333890586cd59L,0xce8eb9b4f6c64aa0L,
  79530. 0xd7a88646774ad3b7L,0x36b395a03dabf772L,0xd7d57f5b8f6f0f7cL,
  79531. 0x58773e9a09a83d1eL,0xb3abd1a2ee22a9a8L,0x00000000000000bfL },
  79532. { 0xd93010a338b8f550L,0xb2690375f35c0da4L,0x53a4d7c4f484121eL,
  79533. 0x11cb900504509d4dL,0x03f191749f6fa703L,0xb0fe84994edbc279L,
  79534. 0xd5d6975d38260010L,0xd7dd640ee6be46cdL,0x00000000000000e6L } },
  79535. /* 29 << 392 */
  79536. { { 0x7cc7d5e9bd89d3a9L,0x60d8204cc9dd7b17L,0x50ade1349d0542c6L,
  79537. 0xbc5be5f2b686ea56L,0xc092f3447f75b822L,0x352363f1339b6094L,
  79538. 0x7e59acc4f04ee90fL,0x4dacc4a31f72da27L,0x000000000000008aL },
  79539. { 0xe176a7be926af1d7L,0x2c9765fdceddaca9L,0x66708097b7d745caL,
  79540. 0x58469ef977ac7fdaL,0xff4993d33433d277L,0x6b648ba00477ce72L,
  79541. 0xa49cc8d961ca75eaL,0x052cd69af501a8acL,0x0000000000000166L } },
  79542. /* 30 << 392 */
  79543. { { 0x2f13fe842dd5e903L,0x339f67a10e555b76L,0x0d2f153c003c2ee6L,
  79544. 0xba0a0aae38f0fb43L,0x11b61a8eef9b72eaL,0xc7f6eca2a5c4597dL,
  79545. 0x0e72636cc732b509L,0x939553ecb7247071L,0x0000000000000075L },
  79546. { 0x759b4d18978c6c82L,0x232c43fac9b34e44L,0xacdc159177608f47L,
  79547. 0xae6056b93087fbb7L,0x000ca7db5c3883eeL,0x58de6f66140170e2L,
  79548. 0x95a29345ae255893L,0x6913fa78e7508854L,0x0000000000000068L } },
  79549. /* 31 << 392 */
  79550. { { 0x2c05d35ab3259931L,0x180318ee63243888L,0xe370c069e4a6d4acL,
  79551. 0x9a0e73d8115a7552L,0xb136040f3024b20dL,0x9ec6cce3c9b71921L,
  79552. 0x8240506569597e99L,0xad8cb3569f38ae91L,0x000000000000006fL },
  79553. { 0x056452385fc41873L,0xc5444c3e434b2df6L,0xcdaf76b3280c0eafL,
  79554. 0xf5e96a0627548836L,0x7642c921768eb175L,0x309ecc1fc140592fL,
  79555. 0xb46b3c8a55537f8fL,0x215fd24153c7570cL,0x000000000000015aL } },
  79556. /* 32 << 392 */
  79557. { { 0x8b3dc3d04aae7354L,0x9ccbf6ce4a8f62b0L,0xb3713c0060c73a7eL,
  79558. 0xf6f73585349ec6a0L,0xa995a64cfc30467fL,0x877334fefad776d0L,
  79559. 0x84588e41b236dcf3L,0xdcfdb088e9ccbd7dL,0x0000000000000181L },
  79560. { 0x188db860fb36e7aeL,0xe7a0df8df45ea4ffL,0x110245ac5ca6f9f7L,
  79561. 0xd4c3509d7a7031afL,0xf4aa648f34df0623L,0x462aa9497e664bd5L,
  79562. 0x415012b4e2f0138fL,0xec3dafa01c60732aL,0x00000000000000beL } },
  79563. /* 33 << 392 */
  79564. { { 0x892947c065b8343dL,0x04d4c1f54cc89339L,0xec0a8dadc9f713feL,
  79565. 0x49a1bdcd7e8cb36fL,0x8416e0725de9db7cL,0xe9d7856a814f2889L,
  79566. 0x00bcd25858d9931fL,0x77622d851e6d5f7aL,0x00000000000001d4L },
  79567. { 0x8d1d7219651ec975L,0x5d20520ede8d13a2L,0x62d8bd2acb73a5e7L,
  79568. 0x56596d73d791eeb1L,0xfe714aa9c07a2a30L,0x2829967735f34560L,
  79569. 0xc1f5477576599af2L,0x599f6db4c2e97737L,0x00000000000000daL } },
  79570. /* 34 << 392 */
  79571. { { 0xe27b3464824eaeeaL,0x2358f6ad5393879bL,0xa7df34d4710fb8f7L,
  79572. 0x833df1e070a35060L,0x0713f8dc37a6da75L,0x5c1f9b86d569678eL,
  79573. 0x5388bf51316a4a10L,0x3533b4196499c876L,0x000000000000005aL },
  79574. { 0x072045e7f7b0bb1eL,0xfea6dad18806fff0L,0x145700a9967aeedaL,
  79575. 0x7d1daf361c1fd04aL,0xa59fd9c4ba6c47f0L,0x9869b04f2051bc10L,
  79576. 0x922a2c62ed765e5cL,0xc45f00694fe8bc2fL,0x00000000000000d5L } },
  79577. /* 35 << 392 */
  79578. { { 0x7d73bb35ae7cd284L,0x95a93265f13cfebeL,0x35311175966ae16bL,
  79579. 0xdc7930b274e48e72L,0x81501ccbf7575898L,0x7999582f6a37a35dL,
  79580. 0x88d4ab111c496f5dL,0xd25f44e7a36d1b34L,0x0000000000000147L },
  79581. { 0x64ab3239231cfc02L,0x75e653046357d94bL,0xd0f90974d95dd829L,
  79582. 0xabf69128f4dfded3L,0x3cca87402a85856eL,0x1c555726610324c7L,
  79583. 0x46bba522508ec0bdL,0xbf2610b1479a9c93L,0x000000000000014fL } },
  79584. /* 36 << 392 */
  79585. { { 0xe1299139f1586f70L,0xd5cb2c10053083dfL,0x9e0ce9829ea052f5L,
  79586. 0x87de595b0efc851fL,0x4cccf7ae98742defL,0x87cfa3788548d910L,
  79587. 0x8ef7bc8e1a6128b7L,0xa605315051d38f20L,0x0000000000000047L },
  79588. { 0xd0797eddc7635909L,0x1eb856cb63113d00L,0xa2a965c95725aedaL,
  79589. 0x5eaa6eef217ab755L,0x4ada3e4af55bfed5L,0xe4d945933792f0d8L,
  79590. 0x19ea0a3b27ea0947L,0xe90121ad54aa8a99L,0x000000000000007eL } },
  79591. /* 37 << 392 */
  79592. { { 0xf2a647cdb728d429L,0x45a1d210eb7133bcL,0x4c8f934b6b83916fL,
  79593. 0x3b98f81e522dd12eL,0x454884a7d6e86fbfL,0x160c65f88689d7e7L,
  79594. 0x9069c27d763c2796L,0xf1405b86fc31e096L,0x0000000000000137L },
  79595. { 0xb0be8cff6fb3901eL,0xa7a916b0da1ac91aL,0x7c097b23b344f479L,
  79596. 0x6b3aa54eb469472fL,0x8f10c2209edf3457L,0xe485ee25d6189cf5L,
  79597. 0x01c0af56cb45ae2aL,0x16c2ecb7d3a5d9f5L,0x0000000000000004L } },
  79598. /* 38 << 392 */
  79599. { { 0x6caa8e9aab24a11fL,0x918618de7f998abdL,0x51ab05a0fa2efd0cL,
  79600. 0xc5db63b47afd5f5fL,0x40ddd9d21671f863L,0xdf21f123e8979929L,
  79601. 0xf964fdaa753f5f9aL,0xa6bc6ee1ac869b60L,0x0000000000000036L },
  79602. { 0x9ec7b5223fb9e363L,0x9cc1db429d4a17e5L,0xf6abb7fa2490da7aL,
  79603. 0x284023565a5d5231L,0x31c197bad7698b7bL,0x78e3957ee443b4a6L,
  79604. 0x6f747898b809dcacL,0x2cb14df9bc50dc28L,0x00000000000000e1L } },
  79605. /* 39 << 392 */
  79606. { { 0x087ae31a39de4487L,0x83eea765449ccd69L,0x4646830a781c8c19L,
  79607. 0x9cdece343b0c1627L,0x82837fda35c2820fL,0x942160f96db9709dL,
  79608. 0xd5d5c0d1874cbdebL,0xf6985f955a058b33L,0x00000000000001a0L },
  79609. { 0xce8987ae2e31c2f3L,0xf46bc0faeb414481L,0xd6d762899fa9260bL,
  79610. 0xbc302bed030e8a9bL,0xa520f637eba41851L,0x51304e88eecb96ffL,
  79611. 0x41e7a0102072ad97L,0xf7bd7e56c4794837L,0x000000000000019bL } },
  79612. /* 40 << 392 */
  79613. { { 0xc2587d72e962529eL,0xd3dac5d00c872ab9L,0x44187663c75c725cL,
  79614. 0x2e65d5ab3d496338L,0x01ca52de8b23156fL,0xa7ebba10d035e4ccL,
  79615. 0xb99dfaa0e871449dL,0x6248c81952b0dd58L,0x00000000000001ddL },
  79616. { 0x304d544909a0b2b6L,0x193afec00bb26682L,0x00425a2bba188995L,
  79617. 0xd4fc292d04bee432L,0xa56de92439190f47L,0x184b59fbac7e0841L,
  79618. 0xb2462d3ed4c24d7dL,0x6df3cff0827e5144L,0x0000000000000053L } },
  79619. /* 41 << 392 */
  79620. { { 0x750a3237cd83b337L,0xfa69ee5897a42787L,0xf38484d92bcd0f21L,
  79621. 0x727e6ceb1ed6eac1L,0x29cd75e4647cca9aL,0xcab25ca99b2e130dL,
  79622. 0xd347c8ae544b56afL,0x236188fa97bbcf15L,0x000000000000016aL },
  79623. { 0xd353f1b2c35b0afdL,0x5f81b2112df1ee19L,0x3a17334ebfef60b2L,
  79624. 0xf9c53718327923a6L,0xf7fb02d5bba0cddcL,0xaecae9e4533d5c93L,
  79625. 0x3e46f95af2acd6b6L,0xd5e4a5b1aff88b82L,0x00000000000000dcL } },
  79626. /* 42 << 392 */
  79627. { { 0x836c879be603487cL,0xc176b372be67aeefL,0xb16c1c093916ed2cL,
  79628. 0xa19f57d1b738de42L,0x19fcdaa9b53fd0d0L,0x4503028c6c65898fL,
  79629. 0x068d459d2a6eba9dL,0x230f913208ae7045L,0x000000000000016aL },
  79630. { 0x3e3021c260587627L,0xb845066f0a548829L,0xeb7646754d68e59cL,
  79631. 0x7c83af0ba57fd160L,0x41cbc6dd06cfd9b3L,0xa7c211a7c2ac70a7L,
  79632. 0xa97550d867a3cebbL,0x805d0a4b3463d8b3L,0x0000000000000146L } },
  79633. /* 43 << 392 */
  79634. { { 0x255df4920aef0552L,0x94df45d226aa07b0L,0xaf376f26633252a5L,
  79635. 0x8264ded59ce08ed0L,0x21195ce9e61e9dbdL,0x012afc4b431f8103L,
  79636. 0xce45e41bb0d6a41bL,0x16dc53f7e44539f8L,0x0000000000000189L },
  79637. { 0xfe21cebd1fa28378L,0xb1e3d1f305fb6ff7L,0x39b11a3701779f3dL,
  79638. 0x6cdeb0844103ef71L,0x63c18cbb4421b84fL,0x1b2b98a84c2217bdL,
  79639. 0xa219ed87720f56deL,0xde0857ad049a4d99L,0x0000000000000082L } },
  79640. /* 44 << 392 */
  79641. { { 0x1d09b95369c3d17dL,0xa867a21dd4d01ba2L,0x9871762c3828b992L,
  79642. 0xe3cda568f6da70c2L,0x68c327a254227c8bL,0xddd426509c5e4075L,
  79643. 0xee64acb06241b455L,0x63ab87f677bf9d01L,0x00000000000001c3L },
  79644. { 0x94f1514cde039bafL,0x0eee405d1d6d7285L,0x221b6b65199243d9L,
  79645. 0xe1ef5cd2e3b17599L,0xd2e0a39b3856f606L,0x920a00121b433750L,
  79646. 0xd7daeaa074d9b72dL,0xcb1206d333ef5d80L,0x00000000000000e4L } },
  79647. /* 45 << 392 */
  79648. { { 0xd79bfda671b41f80L,0x4e2adbae09635317L,0xdd1e0c89d5137b55L,
  79649. 0xac6035369d901bb6L,0xf7d994e2875b6bd0L,0x4493e365ac6726b5L,
  79650. 0xcb1b9b1a021fd3bdL,0xa22ba13d4673338aL,0x000000000000018bL },
  79651. { 0x6d613468f89eb756L,0x8c13c6accaca507cL,0xb066bbb54f35674bL,
  79652. 0x44f03d0c34fd9ee7L,0x44158ea1798b5c9eL,0x5c340cd7e85265edL,
  79653. 0x69ffabc8a643874eL,0x4b84dc1fe1f23e59L,0x0000000000000145L } },
  79654. /* 46 << 392 */
  79655. { { 0xce3e4f6f3537a3b6L,0x2a548acae4be3890L,0x7d257a739c6f309fL,
  79656. 0x517b74e62188a544L,0x92dc6544c008b28fL,0xcb56ac9408dd8b68L,
  79657. 0xd9f11fe9935a4ae9L,0xad4d23a2a1dcf178L,0x000000000000006eL },
  79658. { 0x1498f1e4e17213f0L,0xd0519b28c758cd28L,0x22057e5f11edd1c3L,
  79659. 0x533378fe26560bb4L,0x15a266a251beeb5fL,0x49d6d63b32a25673L,
  79660. 0xdd62ccbdf0100cdbL,0x872a3d87c5eadae3L,0x0000000000000007L } },
  79661. /* 47 << 392 */
  79662. { { 0xb529a755894cd820L,0x7ac841f79aef3e4aL,0x2639532a82c12ceaL,
  79663. 0xa107d5768457ba7dL,0x08cc2140624c6ce4L,0xc75a2afd83169cafL,
  79664. 0x692f8acb9178032bL,0x8835d7e399fdab3eL,0x00000000000000f2L },
  79665. { 0xcf248e4d21fefeb0L,0x7a5d84be645aab81L,0xa1692e0b81b8aa2cL,
  79666. 0x06c5eb427bb653f7L,0xda8e28a27c4d70c9L,0xf13e2010d45a9397L,
  79667. 0xab9054ad78f1ab45L,0x80453fc864bc5f43L,0x00000000000001acL } },
  79668. /* 48 << 392 */
  79669. { { 0xf77afc9ec1f9124fL,0x010af17a5d958392L,0xa9aa7d55eeb66cb6L,
  79670. 0xb41570ca816dea76L,0xb2138d58a983b39cL,0x0fd404cfcd6cbaa5L,
  79671. 0x29c1f2fd40c224ccL,0x1e263cab99c23815L,0x00000000000000e0L },
  79672. { 0x371cd0937649d2ffL,0x7c79d3cc02038ff9L,0xef3261855ca5e1b9L,
  79673. 0x1beb030be02c0478L,0x134d0c94f859fd4aL,0xa767faa5ee41b919L,
  79674. 0x8d957aacd5d9e3c5L,0x4b1c1deb191fca35L,0x0000000000000175L } },
  79675. /* 49 << 392 */
  79676. { { 0xf5232405e8e50647L,0xb61e0f313bba4ef0L,0x0a5328116f05e31bL,
  79677. 0xe3b1d72b683d197fL,0xbd55f76bb72d36f2L,0x2645e034ab6bfa34L,
  79678. 0xd94ce3b970f52ddcL,0x83e891a2470c7338L,0x00000000000000ddL },
  79679. { 0xe53e6361797af474L,0x9d94b01e8e09f9f9L,0x8e23416db8099125L,
  79680. 0x8f3abc4c8ef378a1L,0x0da6e3fef861c054L,0xe9d3638b203190feL,
  79681. 0x5dce7db98c12ac92L,0x8dd8a61cb8335d65L,0x00000000000001aeL } },
  79682. /* 50 << 392 */
  79683. { { 0x0df313e10d732decL,0x0667dd1e5229a7a4L,0x78efd49555c31c0cL,
  79684. 0x554c55303735e643L,0x3b29c30758c97feeL,0x7da349bf85e2c6f5L,
  79685. 0x982f2be25cb9ce70L,0x39274c84c0441b24L,0x0000000000000100L },
  79686. { 0x77e9356c2307d25bL,0x2e81d63615ed7120L,0xa39ba7a3e3143227L,
  79687. 0x153addc96bcece22L,0xdeebf6c01983ffb1L,0xb5f2d60e43d43f1dL,
  79688. 0x8340038620d8e424L,0xd127aeddf6f0e03cL,0x0000000000000164L } },
  79689. /* 51 << 392 */
  79690. { { 0xdcf0cd6a73ccae26L,0x4e52859e04a8a411L,0x085570403909f6beL,
  79691. 0x1aeb429cdd5f5f1fL,0x83c8410392fd6de9L,0x45a05c6efd051de2L,
  79692. 0x334d659ab6a36a9eL,0x9775761ac86254bfL,0x00000000000001d0L },
  79693. { 0xbb498a7e7ef71b31L,0x54320c2a87a1a905L,0x308a31e5b01357e7L,
  79694. 0x115312b91ec5af64L,0xe3add38ecaff60f0L,0xdd257d552ac78ec5L,
  79695. 0x0e0b29616ac51787L,0xf7537bdd2f9e42fbL,0x0000000000000050L } },
  79696. /* 52 << 392 */
  79697. { { 0xb6018ff0078f7ff8L,0xc9a3c8112ae4ec18L,0x974c8b824dbc5b54L,
  79698. 0x323120b429c8b8b7L,0x04c883d798439a31L,0x1ddaaccbbcd28a10L,
  79699. 0xb22b548cb61251c6L,0x2cda48d6c6154ca5L,0x000000000000013aL },
  79700. { 0xe783d50d03857e72L,0x0cb1de54fe7e9d44L,0x608cd3398526e99fL,
  79701. 0xb9d4ef4ec00cf265L,0x37c326a39eaef59cL,0x435851a4046d5b54L,
  79702. 0xf4813c30147da907L,0xdb37c0b9ecfdd94dL,0x00000000000000f9L } },
  79703. /* 53 << 392 */
  79704. { { 0x9f97d529526acd82L,0xbea14de9698d81a8L,0x1da65dfe087fdd78L,
  79705. 0x162991819e331cb6L,0x1770cd3351ed1f90L,0x2241947f48d1fff3L,
  79706. 0x8048c4b872e59f7cL,0xd4c7c70884441c30L,0x00000000000000ffL },
  79707. { 0xcc713a4b9a697e4eL,0xa066a6de4c19b3dbL,0xab7c9dad5ca3148bL,
  79708. 0x8806b0223699de2aL,0x8d2c17b13c648f2dL,0xc39af0f9a3d21b8cL,
  79709. 0x91f94812fa66eebeL,0x74178170791cae62L,0x00000000000001dfL } },
  79710. /* 54 << 392 */
  79711. { { 0x60e7c5987a182f35L,0x60a81db4abc6a786L,0xa067c36017995827L,
  79712. 0x4d1b77557880874dL,0x79a8c6235b3e98d0L,0x0301653a9ae9e287L,
  79713. 0x32be063279f6a138L,0xf8d8c8ed410d08d5L,0x00000000000001b5L },
  79714. { 0x2b071af2a699c790L,0xa8d0fde78eae615cL,0x76c4cd7340ce53bfL,
  79715. 0x7c36a3f742866824L,0x870e41145d8103bfL,0x1804432af7b9f5c6L,
  79716. 0x755a6755da7a89f1L,0xed97487081c30af9L,0x00000000000000a1L } },
  79717. /* 55 << 392 */
  79718. { { 0xc713ff085d801301L,0xf291ca368d9b4f05L,0xb3705a12e497df3bL,
  79719. 0x375e1513870fa5afL,0x1bedb38c4d5d9664L,0x418429ed114386c5L,
  79720. 0x7e3be1187561f279L,0xc7253d1a4481b482L,0x00000000000001b8L },
  79721. { 0xf5ab88cab54466aeL,0x2dae1aa5a2485564L,0x1c5fb396c500fd73L,
  79722. 0x056e87292af65306L,0xb7b4568100a94c1cL,0xd6401f60194f2a01L,
  79723. 0x526b81492fad156bL,0xa59af828a8705811L,0x0000000000000115L } },
  79724. /* 56 << 392 */
  79725. { { 0x7ff87b1828b89234L,0x575b28532190da3bL,0x6cb04cf22920f908L,
  79726. 0xe32b0d0ea76a9361L,0x027f1c53b013a013L,0x77e8e27c2aaf2e7fL,
  79727. 0x3893cb0fa11e5652L,0xb166780751a15388L,0x0000000000000185L },
  79728. { 0x25c5deff91ed25b2L,0x08e728a029e55ce0L,0x7b1d2010d66015ceL,
  79729. 0x73f667cefeb85d6cL,0x9f9d44e01d9437eeL,0x67a6af17f0ca5a45L,
  79730. 0x187111cc3ef07297L,0xfb461da6e1bf1374L,0x000000000000011cL } },
  79731. /* 57 << 392 */
  79732. { { 0x8bca57126c0c1111L,0x3c2a9c8f3987bdfcL,0x195b1886f65f43a6L,
  79733. 0x5edb9cbca9a638d2L,0x1431220ace7b35feL,0x67d81dc8b9c9e116L,
  79734. 0xa7ac26bb4fd8d442L,0x36ed9544c1404219L,0x00000000000000cfL },
  79735. { 0xe7d51488f0454b54L,0x116abfb6322e62ddL,0xb1f5e4f6001cdbf0L,
  79736. 0x9bd7a0abcd63aeaeL,0x47c74ae592cdc9cbL,0x227b9e3eca320f47L,
  79737. 0xfa2f9090db249cf3L,0x5b61134f5b7d7aeeL,0x0000000000000185L } },
  79738. /* 58 << 392 */
  79739. { { 0x43f9e01159567749L,0xa8d74c0c892a23d2L,0xa2a6b93c4bf3e620L,
  79740. 0xd89ed75630144479L,0xe5959b544c80c6bcL,0xa347e101c7491d8fL,
  79741. 0x4c15de92a7b7e26fL,0x6abeeb069eb0ff29L,0x000000000000012eL },
  79742. { 0x5140f873047e9fd5L,0x95b33ace83629d83L,0xbf2e419db7778fc5L,
  79743. 0x6312ed5f27390d18L,0x786b21f5b52a1899L,0x440713779eba3860L,
  79744. 0x4a5c36d9bf4ba461L,0xe456c1a900bda888L,0x0000000000000157L } },
  79745. /* 59 << 392 */
  79746. { { 0x1447b2045e0c66c3L,0x29de6f26ef30a205L,0xde1a4c88ce42e500L,
  79747. 0x5e3b0fd1142dc812L,0xa09c32a50c08edb8L,0xff98ab9bee677bebL,
  79748. 0xfe7f349438e3e89aL,0xc8cdfca112d9eb21L,0x00000000000000a3L },
  79749. { 0x08002f8e769eaac4L,0x4e6619127e091da0L,0x4f251942d82a7ee4L,
  79750. 0x04224eebaddda269L,0x52263b35de1b38faL,0xa5bf36c7afeb716eL,
  79751. 0x37a49608b7bed189L,0x6adfba3c0e29dfa1L,0x00000000000001bfL } },
  79752. /* 60 << 392 */
  79753. { { 0x40081916318060c8L,0xa156d0f0ba050c4bL,0x8dc9db0e2b261fa1L,
  79754. 0x68193be8df24d4d3L,0xbbe73d7801ab2aefL,0x0b5476e951f96cf0L,
  79755. 0x596e6ffcb23a6db3L,0x19c3aa46328c3923L,0x0000000000000125L },
  79756. { 0x4dd42ff66a2f1ee0L,0xf18649df63cbc446L,0xcc5e8e48ad36c42dL,
  79757. 0xb5d4fa7bbea9ed49L,0xe416534f32b06489L,0x94451bdceeb06919L,
  79758. 0x7ce63f1bda8c40e5L,0x7c5eb653de02e8bcL,0x0000000000000166L } },
  79759. /* 61 << 392 */
  79760. { { 0x2b1881b9ddf7ab7fL,0x273489fcd43adb7cL,0x4f3bced12fe87555L,
  79761. 0x67ce19731b543d67L,0x7eb827d4fb21a673L,0x2c874f363c90ce65L,
  79762. 0x63771809ae3661f0L,0x25e81e55185e86efL,0x00000000000000d4L },
  79763. { 0x75cb5647a9b46abaL,0xe2d43a0498398ae2L,0x082e5804f8448dd1L,
  79764. 0xb6b5fbf01effa351L,0x8b4e95a375ee0d01L,0x06330f8cd78e5cfcL,
  79765. 0xbcc0fb586ad576ecL,0xc22b7b8e85b758baL,0x000000000000010bL } },
  79766. /* 62 << 392 */
  79767. { { 0xdc394f862b10c060L,0x7f3635c2f1d68dd6L,0x3b34936258a2aefcL,
  79768. 0x588c1a8631e77678L,0x6b1049c678fc729dL,0x45a9ba71868947e0L,
  79769. 0xe9942ba2cca46979L,0x3d7cb195075f93c6L,0x0000000000000038L },
  79770. { 0x33d8da16edb3b71fL,0x42573533d151ca7dL,0xb104ef742e4faffdL,
  79771. 0x3f9371862391eaa9L,0xa30cd9a391847e30L,0x9f51fc0894616135L,
  79772. 0x62f836fed3dfb130L,0x8ded8ab1d7469a7bL,0x00000000000001f1L } },
  79773. /* 63 << 392 */
  79774. { { 0x1d872ee0919b82d0L,0xbb4d27900009b3eeL,0x3b7329e978baf440L,
  79775. 0x8263e55cb963f90aL,0xdbc7ce8a45acfd70L,0xbab362ce2b929345L,
  79776. 0x9c781d6df934b89dL,0x15e751c458e6ccb7L,0x0000000000000075L },
  79777. { 0x96c9fc5853add358L,0xf7cecd0bdb680749L,0x65ebb93796cf3096L,
  79778. 0x87a7f1a067509825L,0x5425deef814d4898L,0x654213dbde0f2f8fL,
  79779. 0x958c4db48148c6f8L,0xa910a27703d86f8bL,0x0000000000000141L } },
  79780. /* 64 << 392 */
  79781. { { 0x1379b176e80649c8L,0xaa0c2dc8b7fdb132L,0x3f3050ef1134ffd2L,
  79782. 0x28d4e288d4a76f0cL,0x22ca05f7cd9b7f91L,0x9174bee06e7b9ee5L,
  79783. 0xc0ddc6356b341cb3L,0x1cd07d05eea9da0eL,0x00000000000000bdL },
  79784. { 0x423ec36bbbaa1df4L,0x33ccc8ade74c741eL,0x598d466249b5cd06L,
  79785. 0xd8bfc7e58fa121cbL,0x2cbe86b991bec4baL,0xbf1fe841e8453f40L,
  79786. 0xa35ff85d392592b5L,0x8de9f3df9c5807b2L,0x00000000000000fcL } },
  79787. /* 0 << 399 */
  79788. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  79789. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  79790. /* 1 << 399 */
  79791. { { 0x40f66d1915b26e6aL,0xfd654e8a64400d78L,0xe408365366ad9de7L,
  79792. 0xa64ca69b686c1b2eL,0x698749ffa80066e2L,0x197528a4b76196c5L,
  79793. 0x2bcfcf647bf835dfL,0x1a83fe8460e478bfL,0x0000000000000020L },
  79794. { 0x948f3e0ac46d1075L,0x3ccd3dc1e5c05fcfL,0x11b825b26414eb04L,
  79795. 0x2b7a9a5521e3f864L,0x2a24f5706daba159L,0x51900d4ade3eb61eL,
  79796. 0xaddc9096a6a6766bL,0x357eabf9e9dc3b6bL,0x000000000000007cL } },
  79797. /* 2 << 399 */
  79798. { { 0xf5c1a4c690185363L,0x15f58fd920c04ed5L,0xa7b46e0ce913a1b2L,
  79799. 0x1e7167c636f1d8c5L,0xf4fe6bfebf5fcfb1L,0xc46faf10a6c2027bL,
  79800. 0x45d593004e1f12f4L,0x46bcc87312185485L,0x00000000000000caL },
  79801. { 0x7c5180716432c12bL,0xb7e004ad90ae7556L,0xdf847160d8532693L,
  79802. 0x4d8c7b8aa18b3802L,0x90e2504596872af8L,0xe69d4894aecb6fadL,
  79803. 0x6ddaa06c17d0fe85L,0x49f1a466340c3528L,0x00000000000000d9L } },
  79804. /* 3 << 399 */
  79805. { { 0xc6994861edb77a32L,0xc0f2710e201b6740L,0x11783a64ccf36bb4L,
  79806. 0x1630e8ffe0b5e3f2L,0xd2491b8b26aad4b6L,0x3256836112f7b4b7L,
  79807. 0x99a8959b60726313L,0x3cec4f7d4a40d4b4L,0x000000000000011fL },
  79808. { 0x47cbbf961233c171L,0x1ea33d4222a94a13L,0xb5d248d864606917L,
  79809. 0x6a7bb04e94261f36L,0x701e50e4b981ece8L,0x8d98d5f9f1f36171L,
  79810. 0x13e58d4a2fb6d9e1L,0x9c02d71bdbf4e167L,0x00000000000000a6L } },
  79811. /* 4 << 399 */
  79812. { { 0x64782a476da18f9eL,0xb89e0b654a496e02L,0x437a49f6501c3a88L,
  79813. 0xae9ea08748a19f6eL,0xa787948b346d2069L,0xa6b9a3f1532eed3dL,
  79814. 0x728ab35e8ad26937L,0x3cf24801041f4f43L,0x00000000000001b0L },
  79815. { 0x5e272327cbbab58eL,0xe4a3c5f9f8705ffbL,0x2edc1c8eedd26ee4L,
  79816. 0x1bd46ff5f26d033fL,0xcc566431d87192fcL,0x03c7e40611764c8aL,
  79817. 0xebb80e34882a69abL,0x7a7f694361a08d84L,0x000000000000011eL } },
  79818. /* 5 << 399 */
  79819. { { 0xd0861f01b67232e5L,0x3205675cbdf5cb99L,0x2a44e3cf1cfea92bL,
  79820. 0x1eb229f3cd5c6e38L,0x81f6ebd18862b582L,0x352be0bf4d434531L,
  79821. 0xc8516209d530e407L,0x4f591cd009b02235L,0x00000000000001a0L },
  79822. { 0x8b5483211f7e7b7cL,0x566ba99cc0ef1651L,0x3c01398da82de656L,
  79823. 0x91efd970cc222c87L,0x5dbe62201a5c5157L,0x777a9fa3a2c60991L,
  79824. 0xe77e3a4db85f488bL,0xdfb3c629f1b3b74dL,0x0000000000000057L } },
  79825. /* 6 << 399 */
  79826. { { 0x68f4a4e058b77137L,0xd8a34e67f12f5bbfL,0x1781240f1e0619c2L,
  79827. 0x44495373498328bdL,0x98e9f61a545b7d41L,0x767db401602a0c48L,
  79828. 0xe138e5e8806301deL,0x65a3883b4b21aa89L,0x000000000000012dL },
  79829. { 0x647b00780423fe94L,0x424f483ffd276310L,0xaca222fbd6a06303L,
  79830. 0x47162acbffa52c17L,0x7ae0c5019de267feL,0x998dc9bb667a30c8L,
  79831. 0x988cf192af48c727L,0x0a270986dfa23a3fL,0x00000000000001fcL } },
  79832. /* 7 << 399 */
  79833. { { 0xc0de0a4647a483d7L,0x0946aa731afeca92L,0x2c67c9fb91e66640L,
  79834. 0xf3b518e6ebd0a936L,0x8eb8587c263a1c1dL,0x900d28a75c6581b5L,
  79835. 0x50591d7a71723e84L,0x47f2689834a99ff8L,0x000000000000016eL },
  79836. { 0x52fa5964e25d2f04L,0x0e347f610f4fb57eL,0x4bef23dcbdeed9f3L,
  79837. 0x212f5df4432fedd3L,0xde891c950211bb33L,0x13ed4284567558bdL,
  79838. 0xa113c3552c283e9fL,0xa06260f73e48dd8bL,0x000000000000003cL } },
  79839. /* 8 << 399 */
  79840. { { 0x5c9209c1c4646439L,0xceb6698586c5d6bdL,0xa5f5225829e415b4L,
  79841. 0x18fff2c1e95d2a27L,0x21d464f1be40c8d9L,0x11b4696e059828cfL,
  79842. 0x5c1f73c570f76aecL,0x6019fadb273e3f5bL,0x000000000000012cL },
  79843. { 0x6d1ff5913eefab44L,0xf913524cba2986b4L,0x96fc0b7a290dcf2aL,
  79844. 0xf9e7ab52061df2a2L,0x66401173d47330a6L,0xff2aca188b9f749fL,
  79845. 0x8d4ac80f1ab42ac3L,0x10ec329ea1378039L,0x00000000000001aaL } },
  79846. /* 9 << 399 */
  79847. { { 0xc06dc058c4f1cb73L,0x739370439ab6fb16L,0xb663bdf55f7fa374L,
  79848. 0x8f5e3b3839fa047cL,0xf517fb9ad860a576L,0xcb414b9bd755537fL,
  79849. 0xe86864ea508a12c8L,0x49a663b4cdaab9daL,0x0000000000000029L },
  79850. { 0x9e4da7f330251bfaL,0xb084b69fac60f268L,0x15b981fb93903a9cL,
  79851. 0xa6905f206dcadc57L,0x81e961cf5050b9b0L,0xc583b4e4f6646d47L,
  79852. 0xe30e25dcfbc96082L,0x8c92e5d8f0b0ffc1L,0x000000000000000dL } },
  79853. /* 10 << 399 */
  79854. { { 0xa5fc51ef9c1d86ccL,0x66a9b8980b3faad3L,0x96c73c2521d124edL,
  79855. 0x392440db050626ceL,0x02bfb1ac50a4a12aL,0xc70a30741742ddddL,
  79856. 0xf1f9daa647fe811dL,0xd4baa6b1fb3ce6ccL,0x000000000000016eL },
  79857. { 0x09042d7509d96ce7L,0x4c92ce693315f77aL,0x4992b1f9a9c0d9f6L,
  79858. 0x7c0ffbacd18ec980L,0x53d205dca008ab38L,0xf0a098f7c908481dL,
  79859. 0x2bffd3630ba397beL,0xca36e99f49003f86L,0x00000000000000a2L } },
  79860. /* 11 << 399 */
  79861. { { 0xd239593542d95daaL,0xdcda6a94ea334140L,0x9c27790794a62966L,
  79862. 0xc61b5734f86dfd3eL,0xd943aea70796fd19L,0xaca22cf206f55e66L,
  79863. 0x55372159c0b75487L,0xc7b6b1d2d1244fdcL,0x00000000000001e3L },
  79864. { 0x13f187feb3b5b131L,0x8620e1362bcd4cccL,0xe68718297f061f4fL,
  79865. 0xcb04eeb2f4a85e13L,0x4a93fccba0f352beL,0xe2ecabd9b9d84a8dL,
  79866. 0x7183cdc20b9058d5L,0xbf25cd935d8dda50L,0x0000000000000168L } },
  79867. /* 12 << 399 */
  79868. { { 0xa074fdb7be4badb6L,0x97b054950df5f046L,0x5a3f64e4eac3a8b1L,
  79869. 0xafc5e0132971faa1L,0xe6d4ae36568e4a3aL,0xeb0324bb97479a2aL,
  79870. 0x2dcaf3d866a2c69bL,0x9f9b5551813f21eeL,0x00000000000000fdL },
  79871. { 0xea8f05c8a13d686cL,0xf27edb763bdbd1deL,0xb2e5fd405c65b0f4L,
  79872. 0x5e959c016cbd964fL,0x02ccb301dbc193a1L,0x34ca7ed9013b972dL,
  79873. 0x7191cd287ede3f2fL,0x1d07f45798bf4e0cL,0x0000000000000057L } },
  79874. /* 13 << 399 */
  79875. { { 0xe0b1685c5ebfc951L,0xa517e7a232c59513L,0x9a6282865780ed11L,
  79876. 0x499d70c775533b55L,0x593ee20b020f6027L,0x63a5ee05f683a38dL,
  79877. 0xf672f073150476ecL,0x621c8f9616caa574L,0x0000000000000094L },
  79878. { 0xf0da17c319bf3540L,0x77043ebd6e05c870L,0xf32446b727a4416aL,
  79879. 0x2ef699c612d04df5L,0xdd3cfd1f324cbf7eL,0x0171a41f631b06ceL,
  79880. 0xd12b01852e95d511L,0x043cb48ffd0c0078L,0x0000000000000174L } },
  79881. /* 14 << 399 */
  79882. { { 0x284e98f320f12986L,0x3112bf24749ea8d5L,0x5fc7a2c42782914dL,
  79883. 0xb2f7c229d94786afL,0x4b17bcaec7158280L,0xa139d563e6189a46L,
  79884. 0x9c72e9c583cc9173L,0x5cd5a6a0be56b6a8L,0x00000000000001a5L },
  79885. { 0x51f0e802235a8051L,0x153dc987c4c5fb7cL,0xb549e9c79868a706L,
  79886. 0x717390089bdf5c1fL,0x0d04f60cccbec99bL,0xde66c9617f4bd294L,
  79887. 0xa787d95e51156724L,0x7ce4b4a5ae12b9b3L,0x0000000000000091L } },
  79888. /* 15 << 399 */
  79889. { { 0xbcb9c82f32d7d93bL,0x1bfdfba7dce386e9L,0xc05d039a3f8b5ca9L,
  79890. 0x58c78e8e299b0f53L,0x1baa1781e60cbd19L,0x8fb6ae0db0eeb838L,
  79891. 0xf26dfec46483aeedL,0x01b7456091303d67L,0x00000000000000ccL },
  79892. { 0x39567f445ceae83dL,0x9a407eacf43d8eabL,0x361a32025ab1a391L,
  79893. 0x1c532e29d43e2092L,0x558d4fb789f04a1eL,0x0fe9497d2017914aL,
  79894. 0xe96b05380171fd50L,0xc9b0b3ffeff1c1d7L,0x0000000000000044L } },
  79895. /* 16 << 399 */
  79896. { { 0xe7f35808fb6618bdL,0x6abb67e1732ef576L,0xaccabb44cd0bfd8aL,
  79897. 0x176ffa9183459746L,0xcc12958585b88b2aL,0x28d94486fff151ceL,
  79898. 0xf55fca164c84bb00L,0x07cbc8419c3a42b6L,0x00000000000000c6L },
  79899. { 0x488400d078788c39L,0x15ebb100d8eb1fdcL,0x58decae3bdc05f72L,
  79900. 0x3bfda4a75d56a2cfL,0x7ea3f8ec5ae6701eL,0x652e7e0b3aaacab3L,
  79901. 0x267d275228609228L,0x52ddc983912efd7eL,0x0000000000000029L } },
  79902. /* 17 << 399 */
  79903. { { 0x4a33ff03ff5fa227L,0x12b266a45dfb4bb5L,0x18ad0812a77d3789L,
  79904. 0x316275f3135e8b73L,0xb8aeba2e1aaaa211L,0x30578d2fb9d962a9L,
  79905. 0xf8b00f02cb534bc9L,0xb935149cdf535572L,0x00000000000000a4L },
  79906. { 0xf8d93fe1793528c0L,0xea0a5bcdaa631367L,0x7a221948dfb0e4e5L,
  79907. 0xeab2e52a857da8f2L,0x80f72c632657a647L,0x24118aa3a1509961L,
  79908. 0x1131400950388917L,0x9ff6d9f6a085a80aL,0x000000000000006cL } },
  79909. /* 18 << 399 */
  79910. { { 0x0ce0f89f0356ef50L,0xd8cdf51e37f24a9aL,0xd0720e9bd237fd55L,
  79911. 0x20b75973aeb71292L,0x0d6efb23e42b2758L,0x0fcbdd568721aecaL,
  79912. 0x11658ce90fda8ae5L,0x23a4d576700782d9L,0x00000000000001acL },
  79913. { 0x77fc6f2f903bb623L,0x36710ba75b2a0237L,0x4ea518d1d55a12f4L,
  79914. 0x0c0509e14c95dee0L,0x67e240784bf6c59fL,0xa9bd12b5c925e26fL,
  79915. 0x5865b6c38fabdba8L,0xc6e3433b33b34605L,0x0000000000000101L } },
  79916. /* 19 << 399 */
  79917. { { 0x273d761d557caec5L,0xd8de3470242043c4L,0xfc9eec9d6293eef2L,
  79918. 0xa671ef1786203aafL,0xf38b26fe7f44eb34L,0x40c0286ed1ecc573L,
  79919. 0x3ebb5cf5dc14b363L,0x5b2c33762e1dfe45L,0x00000000000001b1L },
  79920. { 0x836149c9bd11c412L,0x49c3837653342417L,0x4c93a91757fa625dL,
  79921. 0x529ab0965445be81L,0xd172a7c5803a04c3L,0x0c47e6b365873d1bL,
  79922. 0xdcb189bda095bddeL,0x9bc935372caf25cfL,0x0000000000000071L } },
  79923. /* 20 << 399 */
  79924. { { 0x8287592e80c0e648L,0x79cfe5b529ce1a05L,0xbc2ed6c732859038L,
  79925. 0x076334f7af367139L,0xe13e55593a592211L,0x94d5548847f87368L,
  79926. 0x15d99113a2f1b6f2L,0x2bc0ebe9ff79885cL,0x0000000000000171L },
  79927. { 0x68eedbb2ae127d70L,0xadf3485597ae5d0bL,0x02e40ba8d1f6dc0cL,
  79928. 0x46cf4b8f3e7a23c4L,0x111958025626c5cdL,0xde32666e1c728ee6L,
  79929. 0x2c594c77bf2d8b70L,0x3dcf58bb1469bbd0L,0x00000000000001cbL } },
  79930. /* 21 << 399 */
  79931. { { 0x7b9d09c5567ced39L,0xf2c277bc10de6fecL,0xd48b924b423b4942L,
  79932. 0x21f49c8bb147ebacL,0x45ce05f0003eef62L,0x291f77ada2b01ea3L,
  79933. 0x754bbb867bf14c9dL,0x2abeb1fedb8f0b77L,0x0000000000000115L },
  79934. { 0x8de7419c48073c55L,0x540008c26fbb1768L,0x579ae6d9610d5a83L,
  79935. 0x7c2f90d43ca9c514L,0xf5bb5df4e078dcfdL,0x02cec780eae4e114L,
  79936. 0x5c4d230feb0c66f8L,0xce73ffc6c28bf3d5L,0x000000000000005fL } },
  79937. /* 22 << 399 */
  79938. { { 0x548235d6da309336L,0xdc058555d0ce4b03L,0x8103a260117d9fb1L,
  79939. 0x7aac6ea7962fbeaeL,0xdf219bc75f9f7c6fL,0xdb529bd239755a22L,
  79940. 0x7b68e00472676f34L,0x99590caac5011f75L,0x0000000000000027L },
  79941. { 0x8b591dde80e9bfe7L,0x510daa29259b4046L,0xa6f4c61f41cfdbd2L,
  79942. 0x6934a20ef175b862L,0x2a73244068cd3951L,0xcf3ca559d119730aL,
  79943. 0xb8aa2298df77ebfaL,0x8b85cd46f78ece91L,0x000000000000015cL } },
  79944. /* 23 << 399 */
  79945. { { 0x6f71753a499b06afL,0xe9d09e3f7221545bL,0x366a725173e4aa15L,
  79946. 0x1cf56688a241d729L,0x45f261b6b7beb74bL,0xb17277cd0d48498fL,
  79947. 0x7009afd203d67414L,0x26ebcdc5e9405ce7L,0x000000000000004aL },
  79948. { 0xc72b4a31cf1b5cadL,0x047ec0b68676686cL,0x3485799fc8b8098bL,
  79949. 0x62a31effc762e262L,0xf1402ccb07ea3b86L,0x6138f07fd91931f0L,
  79950. 0xa1b2834870baec3eL,0xe8735d8406e9de6bL,0x00000000000000d5L } },
  79951. /* 24 << 399 */
  79952. { { 0x5419ed9ae06fb3cfL,0xb454c6fb8e703ea5L,0x9670af86ac4c2649L,
  79953. 0x365e43f40db43887L,0x1ada3d8f00c320b4L,0x1d00cbe5aaffe3d9L,
  79954. 0x1e99987d211142b4L,0xb98381f79cb8bb86L,0x00000000000001bcL },
  79955. { 0xdd2388378b1718b2L,0xa8cb957e532daa33L,0x20a55f673b041a83L,
  79956. 0x973207121b075250L,0x5a70aa65b7ef4b51L,0xa33056613865f77fL,
  79957. 0x96bd1a89bd8a4303L,0x507d7779fdc197c0L,0x0000000000000048L } },
  79958. /* 25 << 399 */
  79959. { { 0x1fa5ad1177a5fbecL,0x8c566037b8b5655bL,0x52848f491321baecL,
  79960. 0x8305e20227f02ff4L,0xedada23bc276f11dL,0xba94317f8acd1abdL,
  79961. 0x8b125970e3edbcfaL,0x75e021d50f5643c8L,0x0000000000000042L },
  79962. { 0x9ed9e1e313be597eL,0xe271c2a6b74be691L,0xe249fdff2e52b57dL,
  79963. 0xae84ab19d18031b9L,0x7135760af49f27f3L,0x3c4775cc1cc28c5fL,
  79964. 0x49165948fdf0f394L,0xee56522b240d7f13L,0x00000000000000e3L } },
  79965. /* 26 << 399 */
  79966. { { 0x16aad8d873f397e2L,0x8cda09d440bb988bL,0xe351cd2da881cd6dL,
  79967. 0xb92fdda9c9a6fd41L,0x2298efad3932267aL,0x76546625a099bb25L,
  79968. 0xdc48a34858230b71L,0xd98ecaccc6ed085bL,0x0000000000000107L },
  79969. { 0xe3bd2de5dc95f5d1L,0xb890da1f2e2c2366L,0x7c6226a1c4f26cc0L,
  79970. 0xfc1f77bf00356c62L,0x0c8e11f7d87ee6f9L,0x84cc68aa0af9a4a1L,
  79971. 0x70eb714ace01ea76L,0xdc9e3c696ecdbdc4L,0x00000000000001faL } },
  79972. /* 27 << 399 */
  79973. { { 0xd3eba8f103dc76a9L,0x92dcb80109d7c9f2L,0x09a3edfb224325ddL,
  79974. 0x78d9b818c87e4b16L,0xbe607e9788d33a3cL,0xdf01263e152e6cf7L,
  79975. 0x49fd31ccb308c83cL,0xed94b658d68d6a82L,0x0000000000000161L },
  79976. { 0xbaad071e181669a3L,0x5f2e0a1dd54676d3L,0x96ea8e3e4a9ae061L,
  79977. 0x0d2e0ee8ba5bf8faL,0xc1892fe007bb010fL,0xa538bead73632f75L,
  79978. 0x6d794924378c2631L,0xa7c065460205723aL,0x0000000000000185L } },
  79979. /* 28 << 399 */
  79980. { { 0xc7f26a2fd5434124L,0x7629d62516380451L,0x8513932307858144L,
  79981. 0xfa1d44bd4627a0a0L,0xebd1be26b90a996bL,0x57baf49237f94e07L,
  79982. 0xabe9cf16d5ee67b3L,0x5ab3cb065fce9c53L,0x00000000000000c0L },
  79983. { 0x38a153713faee0a0L,0xfc98c0dfa1142d0cL,0x9320556353001436L,
  79984. 0x73acbb7da63e615bL,0x8204c993414da94bL,0x2fd26bc2e8622aebL,
  79985. 0x86a1eb1826467b86L,0xca554d782bd1a581L,0x0000000000000044L } },
  79986. /* 29 << 399 */
  79987. { { 0xe33762396cdd9921L,0x4398b198c6386361L,0x05002343551040a8L,
  79988. 0x0a82fca0be2ad7bbL,0x727e2d5f3c1acb10L,0xfcb0c12d4af46347L,
  79989. 0x01782a40ea661ccbL,0x6f1f3e45a49bea1cL,0x0000000000000123L },
  79990. { 0x3ee55592961c0cf4L,0x15cb90c37c19abf7L,0xad4e930d2ee5a6a0L,
  79991. 0x75b054aa3fa249ecL,0xcea656d85d005c47L,0xcab95ea1be507dbcL,
  79992. 0xda131e43dddfa969L,0xd508e708dfc6e136L,0x0000000000000149L } },
  79993. /* 30 << 399 */
  79994. { { 0x01fd929d48d5f1fbL,0x5fb11462724ad844L,0x29442573707ace9eL,
  79995. 0x38b790bcdef7dbd1L,0xb33eef7dd77c1c89L,0x952246e9f8b1403cL,
  79996. 0x11ab7ec0e78d9efeL,0x538af4c702c22634L,0x00000000000000aaL },
  79997. { 0x3827660d04c6eb59L,0x62a02de83cd9597bL,0x57fa76f246ece58bL,
  79998. 0x03b9fb533c21145eL,0x9e04ec45fa60662dL,0xc28cc184944a4a44L,
  79999. 0xf26c1df341ff380bL,0x6d48b57c13c7f613L,0x00000000000000d1L } },
  80000. /* 31 << 399 */
  80001. { { 0x971d5a7b786009e9L,0x846c3469783fdd9aL,0xd9a307cfb335a7b2L,
  80002. 0xd583b59ef86adb9eL,0x17dbcbe05b432839L,0xc67e7b0a35c6d202L,
  80003. 0xc617810a0d50e1daL,0x9c291e5b64bfda1aL,0x0000000000000129L },
  80004. { 0xcf6a1382ee444a83L,0x073decbf249c2c46L,0x974ad0d3b59b9474L,
  80005. 0xbfc44aa8440132b1L,0x9f959f7d692ea2ceL,0x6653be0fc93ef496L,
  80006. 0x8ed05d4c0b087a60L,0xdcc0c8ba573f0e2eL,0x0000000000000080L } },
  80007. /* 32 << 399 */
  80008. { { 0xfed9b067e2eca03cL,0x34ff6f2aeb3230b2L,0xda83b96a31bc82beL,
  80009. 0x3b138d2ccc89c862L,0xf4a27aeeebd59505L,0x29df153a8bb49ddaL,
  80010. 0x2dffec4650a555baL,0xc899108d0fec5d80L,0x00000000000000bfL },
  80011. { 0xc834e65988da1a0fL,0xb9bfba08eebe47a8L,0xf59d33937b3a2b73L,
  80012. 0xffc7cb5d8decf4e4L,0x72477dd583dc5f4eL,0x0a59e11e43ac64ebL,
  80013. 0xda8aa16ccb10a6abL,0xe571ec8c3759c37cL,0x0000000000000047L } },
  80014. /* 33 << 399 */
  80015. { { 0x2890f4b93d32bc1cL,0xf4e8332ac455d6e5L,0x7b1523c8c4d7c367L,
  80016. 0xd5006acba60d5778L,0xf958872021f34b5dL,0x8c36c23628d1d74fL,
  80017. 0xdd2ad5092d0b0f17L,0x1a895017b66a2e02L,0x000000000000014cL },
  80018. { 0xfe2eb1a11d8ec07eL,0x7d755399215e9267L,0x3cf9b914891f82b5L,
  80019. 0x0a77198f79aeb59dL,0xd71d06ce0acc8e55L,0x911f149d3b3c4c20L,
  80020. 0x86f130115d124fe4L,0x6972ef3ede4f5d98L,0x0000000000000084L } },
  80021. /* 34 << 399 */
  80022. { { 0x57459abcecbf10acL,0x2d399838f2c3c306L,0x6467c2753f9b1181L,
  80023. 0x58edac9c040e0722L,0x80cb5d10f23a50c7L,0x6db0315b304aab12L,
  80024. 0x7b662c951cbc56faL,0x421b1f244eaa55d6L,0x000000000000019aL },
  80025. { 0x0bd62b3f5c87fd33L,0xf309039dd7b12051L,0x155dee7fff9da505L,
  80026. 0x66ed5fe9e35d68fbL,0x5b9829227cd99f55L,0x1de7e5f1cebe48cfL,
  80027. 0x44308df3b0e2e114L,0xb2e026d92735bc27L,0x00000000000000d8L } },
  80028. /* 35 << 399 */
  80029. { { 0xa0f27eff25c2b290L,0x5496d39c3c7b110fL,0x96d99f277f278d2fL,
  80030. 0xc73da2d2f5de1a83L,0x77ad34919fe0a789L,0xa2a7bdc8f2e23c14L,
  80031. 0xbc162cebd10ff276L,0xdea043e2ce028697L,0x0000000000000121L },
  80032. { 0x909a4e1aa11a8d73L,0x985baa0e46b89908L,0x2054d790ac720559L,
  80033. 0xb6b4e53a1f8067faL,0x39b49b6b1e143560L,0xe96e6562581d42e0L,
  80034. 0x7a540841b920ef30L,0x34edae19ff2eccb2L,0x0000000000000196L } },
  80035. /* 36 << 399 */
  80036. { { 0xf4c48d376d17d9b5L,0x714b38acd9b7c9e8L,0xb332763c8e59bd23L,
  80037. 0x704ec12ed64f9bc6L,0xef738ab2c472c08eL,0x39d182692313abb9L,
  80038. 0x64b05426cd80c265L,0x0dc6c228345afb94L,0x00000000000001d2L },
  80039. { 0x7d51410b7a9c096aL,0x3acb41805f7d6f9aL,0x10559f44ecd13fc8L,
  80040. 0xfa6f5288446a07cbL,0x2799b503ded0e010L,0xdc865f094fad1e65L,
  80041. 0xf1de127e0e77baffL,0x25f090228bad6efcL,0x0000000000000198L } },
  80042. /* 37 << 399 */
  80043. { { 0x6e9dad7a10b10723L,0x4528b97a9561e0a4L,0xf6ce779cef7aa977L,
  80044. 0xd0a07355c09f82f6L,0xa519f70c6f5a96aaL,0x09917e5a0aa6d4ceL,
  80045. 0x261a96d028994835L,0x28e78eb2ec9a5868L,0x00000000000001e3L },
  80046. { 0x60efc88871882100L,0x795ce82f5fe4b377L,0x8e805c686f587d64L,
  80047. 0x3cd8bb97cae577abL,0xdfa751c31d8417c8L,0x940341deec17e1b7L,
  80048. 0x3e87a1fc1135e1a0L,0x94f8a8931cbee12dL,0x00000000000001c3L } },
  80049. /* 38 << 399 */
  80050. { { 0xf257b5cd9cec713fL,0x928b215a0356f001L,0xb2c44dd22b0a2d42L,
  80051. 0x62055ba191c318deL,0x0e298611dfc58d1eL,0x8840d79c383da28cL,
  80052. 0x324e3dcfb18554bfL,0xea84bee97fabced0L,0x0000000000000041L },
  80053. { 0xafef969437baed5eL,0xc04bdf2c2f5a6cfaL,0xf75197c07eb37653L,
  80054. 0xe5b011b029cdd976L,0x1f41be962c254ae4L,0xcc771ab718829595L,
  80055. 0xd1215bef12f64b06L,0x5e970494117f72fdL,0x000000000000016bL } },
  80056. /* 39 << 399 */
  80057. { { 0x83bb6de40bcda6cbL,0x90f2fbdc1e5fb277L,0x0f6f3261119a1e8dL,
  80058. 0x7f6434f8dc73b93aL,0x8a1b958a9158b9c6L,0x43fb60a45ce9133bL,
  80059. 0x9bd5bb0284d86dc4L,0x1e3a7ca06872b101L,0x00000000000000bcL },
  80060. { 0x8d2d115f230c41bfL,0x1e7df5d4916b43b7L,0x3815b3c724d94d99L,
  80061. 0xb463eb11ef11894dL,0xccf7ca983c63af75L,0x0bffd871dbaac87eL,
  80062. 0x267db8678dbe5699L,0xfe97d927bf6cff8bL,0x000000000000000eL } },
  80063. /* 40 << 399 */
  80064. { { 0xe32ddade157a2ae6L,0xcfc8bf7c0e6e08e9L,0x35f750f3bc2e3f23L,
  80065. 0xbfa297a200d897acL,0xf3283590b52421c5L,0x1f2b851222bf59afL,
  80066. 0x7f63809d62e5d037L,0xc33dc13581ee5e5eL,0x0000000000000022L },
  80067. { 0x04b006db4bff94b5L,0x373fdb9ab2cee9beL,0x39e63eb4cb8d9886L,
  80068. 0x4b371662202592c1L,0x1f5f94a4f6935600L,0x6f7103c47eefd53cL,
  80069. 0x0db5f837a02bf79fL,0x29cb566178a72ceaL,0x000000000000004cL } },
  80070. /* 41 << 399 */
  80071. { { 0x34338894e3f3888fL,0xcd26ba945a0ca66bL,0xef170a1c666f902bL,
  80072. 0x34f0dd0554012d0fL,0x4c8744603ff21e0dL,0xfdfa53e5f2384339L,
  80073. 0xdd11e707557da25aL,0x9cdc67f0075996ebL,0x000000000000009dL },
  80074. { 0xbe8e6f5910ed53a7L,0xcee1132182822051L,0x3bc4f5f9b57cdbe0L,
  80075. 0xa83b5947d318ec78L,0xc841ef967a0a6d8bL,0x689ee84e011639c6L,
  80076. 0xf07f99d813ee15cfL,0xc49549ad5a0ea35bL,0x00000000000001b8L } },
  80077. /* 42 << 399 */
  80078. { { 0x4f2333e5efc1df8cL,0xbd1683fbcf67e9a5L,0x8c867003532ed940L,
  80079. 0x8178b176f39d6717L,0x789e5a65e8865f2fL,0xa288918433099d45L,
  80080. 0x136d38ce4d8936faL,0x3920c375950ac39bL,0x000000000000005fL },
  80081. { 0x33bcf75a182da275L,0x3b42095667577d3aL,0xe6dd20f8f6767c3aL,
  80082. 0x8dab007359b27062L,0x5186bec68f34af3cL,0xf084043d42d72626L,
  80083. 0x50fbd81a90cd4665L,0xb932207e385b29f3L,0x00000000000000ccL } },
  80084. /* 43 << 399 */
  80085. { { 0x3e2481ddcca46795L,0x2ad212182d2f1511L,0xe81633a7aea3821bL,
  80086. 0x60ed6123ca636678L,0x2af841042b8c035eL,0xe4c0875e9f7cd940L,
  80087. 0xeeb262546d649c9aL,0x9c1dba6f70179ed5L,0x00000000000001c5L },
  80088. { 0x1acf2025e719d7e0L,0x27ac0cb7bca64a98L,0x1a4f58f5f9a54bc0L,
  80089. 0x3c2fc7016a743761L,0xa916ab7a0767dd6aL,0x8953314117fdfe8fL,
  80090. 0x5eef51dc4a7d6265L,0x1a1890e548920a64L,0x0000000000000177L } },
  80091. /* 44 << 399 */
  80092. { { 0x7772aad1a323089bL,0x1c3eba0a917ff79cL,0x8b9da0870fc8b113L,
  80093. 0xbe669dc94e5c0c10L,0x3ad27c13cac54859L,0xdb835b140cfda5f2L,
  80094. 0xfca9e3fef20ee2dfL,0x80870761674b7ebeL,0x0000000000000167L },
  80095. { 0x788ed1db4356cc9dL,0xaa557f015b5c9608L,0x62c22482cd869134L,
  80096. 0xd0ec45740dff5303L,0x3df51b9f5389ca31L,0x59a6e53145b54873L,
  80097. 0xe6052b072df10bc5L,0xcb7107d41f4cd861L,0x000000000000018fL } },
  80098. /* 45 << 399 */
  80099. { { 0x24d270b0a2c5f6cfL,0x97246482f54bdbe0L,0x2b71247a8ae3277bL,
  80100. 0x3273c1c9a45552f9L,0x6187912dda706e75L,0xc43665644e2903a3L,
  80101. 0x9243d5b29348f72eL,0xfb5aac5ba7b876e9L,0x0000000000000070L },
  80102. { 0xe9b247659aab621cL,0x378e7c849cff96f7L,0x794aea34d6ebe2d4L,
  80103. 0x4eadc9d51661a8d9L,0x48c7c8058a105436L,0xcd852b6dd8d196c5L,
  80104. 0x40a4c838d2c05f91L,0x60b4425eab562273L,0x000000000000008fL } },
  80105. /* 46 << 399 */
  80106. { { 0x68143217fc5598cbL,0x55f45fe3ecb8be5bL,0xdc707a143627496fL,
  80107. 0x5a60f85e9665cf29L,0xbfa30147a13782ccL,0xcecb4dc9e6496833L,
  80108. 0xa712fe79bd9761a5L,0xcbfbb56a078c3e11L,0x0000000000000030L },
  80109. { 0xb0a421291e0066d8L,0x23f10112fdd822f2L,0xb83cbe5147e7d2afL,
  80110. 0xf5d65634852e2252L,0x6223702b277cc79bL,0x1bb298814b2433f5L,
  80111. 0xf8ba03fcca6ccb00L,0x0859156462e0a22fL,0x000000000000000dL } },
  80112. /* 47 << 399 */
  80113. { { 0x2b6f7947ec51092cL,0xacd21ef95149fc12L,0x5f45cff7fb65ce50L,
  80114. 0x1f51d19eed597402L,0x8b5ddce12b9e93a9L,0xd47f7ace6c0ec08bL,
  80115. 0x7e2e638e2f64a0d8L,0x734b83b65e71988aL,0x000000000000014bL },
  80116. { 0x4f6e691930b08bf1L,0x7dce78e400390037L,0x22ff88f758d11de7L,
  80117. 0x758620d621202d1fL,0xb94a535664939469L,0x17da7341acee471cL,
  80118. 0x2d37a341fd2310eeL,0xa8601bc372a3c4eeL,0x0000000000000078L } },
  80119. /* 48 << 399 */
  80120. { { 0xc0c5b4a6fd219d25L,0x52c7f6ed058ff8a7L,0x1fe69b86b6e0acfdL,
  80121. 0xd1e3e73b52a447c1L,0x31537c0968054dfbL,0xc312a9a53edbbcf9L,
  80122. 0x893237de8b0f13bfL,0x1784bade6ea4ce95L,0x0000000000000191L },
  80123. { 0x112af36812489269L,0x49acfb797f0d7098L,0x94f9883080743844L,
  80124. 0x46a890ed1c9b2deeL,0x7874e2973b42178dL,0x026f247f131ffe31L,
  80125. 0x9f9e06e01658f803L,0x8beebca7b4c25ec0L,0x00000000000000ddL } },
  80126. /* 49 << 399 */
  80127. { { 0xff25d39a56fcbb0fL,0xf3167cd6767aff46L,0x0d149e1fe37f1498L,
  80128. 0x5cc5476e4ef8353dL,0xf483af728a100b6aL,0xdff90a5a5e61a9ccL,
  80129. 0xef06ad071b8683c9L,0x1a51a840f21160b5L,0x00000000000000c5L },
  80130. { 0x0cf4a4f250535795L,0x6465217feb140724L,0x39b30eb481336b95L,
  80131. 0x4d6808ed2ff959b5L,0xd2cbd262102f0eb9L,0x81a05ea2401e2b5cL,
  80132. 0x1c88cf3f90e33b3eL,0x0e5da177bf342b81L,0x00000000000001f0L } },
  80133. /* 50 << 399 */
  80134. { { 0x692d5ad031e4d9f9L,0x404aeda94c975f59L,0x774d5f574567894cL,
  80135. 0x9384a6d394c384b5L,0x5640862431f1ade9L,0xc7fec784ec664a1cL,
  80136. 0x1855d29dd8daa744L,0x215688b92cb5ac77L,0x00000000000001baL },
  80137. { 0x941ccf2069ed9766L,0xbe0bc408bb264b33L,0xaf690b685fc53f91L,
  80138. 0x2d3d6a0d402b1ca7L,0x15f7858d0d0bbad4L,0xd4107f9a09001d66L,
  80139. 0x5d39101058f42888L,0x6dbab76e1957a5e3L,0x00000000000001aeL } },
  80140. /* 51 << 399 */
  80141. { { 0x45213613b7e2c6ecL,0x40eba404231a4131L,0xb6fefe73a732bae9L,
  80142. 0xa1e9bbf5dad5d26aL,0xd4292e9b3754d63cL,0xfa2f7d163b4afd0aL,
  80143. 0x101c23ab45993a58L,0xef2e6c2e76be32b6L,0x00000000000000a7L },
  80144. { 0x39ab0b2e91c2102dL,0x08c2853a38a0dc87L,0x0bf44cb5fc98a8c2L,
  80145. 0x3944bcc04053d1dcL,0xc58245c95a4c6921L,0x727b1481097fd198L,
  80146. 0x65aeacda0fd2d648L,0x39f714eab57be657L,0x000000000000010aL } },
  80147. /* 52 << 399 */
  80148. { { 0x63b6bb80bd8a172bL,0xa4fcf17c5dbcddfaL,0x20d9c687abd07afaL,
  80149. 0xd2c3d30414609e55L,0x54f385032006d72eL,0x26b914c24df39b12L,
  80150. 0x27f45ab386f0c497L,0x3dcc1ec688f50651L,0x0000000000000073L },
  80151. { 0xdeb2636533f06be4L,0xfcf1a35db48f3d92L,0x7fe1fd3af7cc2a73L,
  80152. 0x41ca3e11e6aa5884L,0x164881a8cdc21e13L,0x8cad911a03484874L,
  80153. 0x767521e9e9c3025dL,0xde97f814218da4baL,0x00000000000000d6L } },
  80154. /* 53 << 399 */
  80155. { { 0xd3ecaad9f421e457L,0xa1343944abcd6bdaL,0x5e3976b4ef498da9L,
  80156. 0xb3b59e1df3f12ba3L,0x07bfc03c8e4490c0L,0xd5fa985d5b53f101L,
  80157. 0x715822a34bbf7797L,0xbd2d7345fe9453b0L,0x0000000000000147L },
  80158. { 0xee1ec3a72f095506L,0x1fcc2581a4577097L,0x8c650b965b1bb6c7L,
  80159. 0xc19686238a67baedL,0x6105e80775b944f9L,0x45b830e0d8ad554cL,
  80160. 0x4bebdb941e52e028L,0x5fb560dfd302d75dL,0x00000000000001e1L } },
  80161. /* 54 << 399 */
  80162. { { 0x41cdf0a8090e62c4L,0xc203cf661a389c50L,0x08873cd92fb0e7b4L,
  80163. 0xfb7d8fd2849e2c3cL,0xbf0ecf0abf15a0daL,0xcff06a5ba3288614L,
  80164. 0x3ea4f678a5a1bd6bL,0xd07f4fea5a0b447eL,0x00000000000001e9L },
  80165. { 0x7bde418b0072eb53L,0xc497b7d7c895370cL,0x360c81eebfb58e0cL,
  80166. 0x4db855d7ca0d8993L,0x21da05101cffe5c2L,0x4e6c55e431da01b2L,
  80167. 0xab33e450a177a1caL,0x4e024158c8d9d072L,0x00000000000000c7L } },
  80168. /* 55 << 399 */
  80169. { { 0xf01997349c89c37fL,0x422e2013e23346feL,0x872234bc0fa240cfL,
  80170. 0x073c9ec935c98044L,0xc5f576844da45c45L,0xd9f227f2e036eaffL,
  80171. 0xd624bcb8753152bdL,0x63adde436cdfed8eL,0x000000000000004fL },
  80172. { 0x6ed39da2e48f14f6L,0x7e044ac48399ed5fL,0x3d32aa1ccadb8a57L,
  80173. 0xb17680e165432f64L,0xd1ac87201062afbaL,0x2977e3c2ea64a181L,
  80174. 0x3c50ec594f5ebbd5L,0x06d71e4b8c0f88e2L,0x0000000000000116L } },
  80175. /* 56 << 399 */
  80176. { { 0xb3329e3168581a3aL,0x432c15f5e718d540L,0x50fb0773b5405fb7L,
  80177. 0xd422287361b9c0e3L,0x3a53d3dbae54be89L,0xb7f9d1e582601b93L,
  80178. 0x33d9cabdaefe244dL,0x90c3764d347640a4L,0x00000000000001d1L },
  80179. { 0x8e0fbf2c912d5804L,0x3b9f0ab36fd05d70L,0xdd8c3192b7d09ac8L,
  80180. 0xf44cab3e47c16785L,0x7de9fd5b35549cfeL,0x38dfdf50eb615262L,
  80181. 0x57e912f224dc69caL,0x69f6970490ea604aL,0x0000000000000199L } },
  80182. /* 57 << 399 */
  80183. { { 0x4687247eabad6418L,0x4f83495ac51d51ffL,0xfce781bec0aef136L,
  80184. 0x8abed322580cb513L,0xb85782d6a24589daL,0xb8f7c3ad9c8640c8L,
  80185. 0xa669aef661539d62L,0x9379601cb4477f5aL,0x00000000000001b7L },
  80186. { 0x332b9e9b0f7d41a3L,0xe7bcdba572f306caL,0xed16c9e3263c7286L,
  80187. 0x5e47df68f8fe3510L,0xf0d18d39e3726bd2L,0xacb28a51274ae3f8L,
  80188. 0xd0de1a497de215c6L,0x4b050057a1b3fd99L,0x000000000000014fL } },
  80189. /* 58 << 399 */
  80190. { { 0xc060c814721192ccL,0x1f3185a112876e37L,0x114f15d65821223eL,
  80191. 0x391814b09bd49029L,0x21cb9042f69f5c98L,0x9788e3395a9b2f4aL,
  80192. 0x7b0dfabe54926a1aL,0xbcfa4d6051cd489cL,0x000000000000014bL },
  80193. { 0x19829a11c90ff321L,0xf6ca593932b21fe7L,0x6d858a7cf4f5aae5L,
  80194. 0x0dca676f9e7b2f50L,0x000990c44b9f09d5L,0x5b89da9c85dfbfe2L,
  80195. 0x3d5e0e8eabe8b3c1L,0x1346693456230753L,0x0000000000000006L } },
  80196. /* 59 << 399 */
  80197. { { 0x850d86e94937892bL,0x07fee7bb2443a2b3L,0x33ba4ac4e1cb6357L,
  80198. 0x9d14b81d36923302L,0xe15ac9c895ada402L,0x567bfcd1ac08b951L,
  80199. 0xded4973cab9f0cc8L,0x3b9d665fbe68ffd1L,0x000000000000019aL },
  80200. { 0x58fbfb85882a8c22L,0x1d20051a57a91ae7L,0xa817c3921ffb42d0L,
  80201. 0xa547264cbd43f75dL,0x5c2c5689eaf301f5L,0x9a6180df6567fe83L,
  80202. 0x3f0b7e47edbc4659L,0x3a74b5825cca8bd2L,0x00000000000000d1L } },
  80203. /* 60 << 399 */
  80204. { { 0x8a8d4ca6d8dd2438L,0xd4f4c7bae21c7f82L,0x2146e9df4456d737L,
  80205. 0x99e44513b7846ee4L,0xa1c33ee7dbe655f3L,0x3f9e32737648952eL,
  80206. 0xb2ab63292d2542faL,0xbbd56f29ab7433d8L,0x00000000000000d8L },
  80207. { 0x9324ab77baf53306L,0x41c9e3370caf808eL,0x29ba5468377d0a1eL,
  80208. 0x20d49c30208ae032L,0x9ed653f68abe7fa3L,0xf31a73b7496e497bL,
  80209. 0x88f1357835532c73L,0x7ae79b0e55591f20L,0x00000000000001f8L } },
  80210. /* 61 << 399 */
  80211. { { 0x830254cde199ec6fL,0x0faa16580c6aad81L,0x37a327a5fcd2e4e5L,
  80212. 0xb414910976c46adfL,0x944b4fb9218ba402L,0x4abcc3e5c5df6891L,
  80213. 0x578b24b904111a63L,0xf2d5e4003e278bbaL,0x0000000000000032L },
  80214. { 0x857d53702414469bL,0x94d6f875d8b14839L,0x83561fe4c13ba3e5L,
  80215. 0x87995be649f39edaL,0x0438cd3e7a4cdaefL,0x56fc49eaa9282dc2L,
  80216. 0x1e7e40c6786edabbL,0x6d7f686a469d086cL,0x000000000000006cL } },
  80217. /* 62 << 399 */
  80218. { { 0x73a04d03a28b455fL,0xc84e719cbf57585cL,0xd6d9911fd35e53e1L,
  80219. 0x331034c059f94f9cL,0xadb8fdd3875393a0L,0x3be757f899a478c0L,
  80220. 0x4a62214fe02466a7L,0x18913f0488f2c28bL,0x00000000000001a2L },
  80221. { 0x952c4e67ff257bf8L,0xf85960a2b4000ba2L,0xb767ebc447e9be29L,
  80222. 0xb4cb73f318047110L,0x2f53d6f5cecc7f40L,0x6d4f9956feaae016L,
  80223. 0x1e8432279badee98L,0x568ef329a23ddf3aL,0x0000000000000141L } },
  80224. /* 63 << 399 */
  80225. { { 0x3a99f756c26395e6L,0x4bfbc2e0527eb51eL,0x2e37039c79f00878L,
  80226. 0x78e08d275e6b1e6dL,0x6f6f335145d74f43L,0xbcc475bfc6a9906cL,
  80227. 0x5c60a9a9b8a7301bL,0x0204a0a3d640cb3aL,0x000000000000002aL },
  80228. { 0xd378e362c2ba81fbL,0x110becf374d1d5d9L,0x14fb5720abb529c2L,
  80229. 0x923d0d28d9b58c66L,0x59d4651aeab145c9L,0x5a9178553c90bf08L,
  80230. 0x5b33d118c24717b3L,0x5142b895dc818c38L,0x0000000000000164L } },
  80231. /* 64 << 399 */
  80232. { { 0xb4c4ac143ffe4858L,0x3d9c1b48baab1296L,0xb28b5f0a5791e378L,
  80233. 0x3aa34de82a5d32caL,0x8e90308ae76fb3f0L,0xb74a7ed3c85d002bL,
  80234. 0x48a246ab65840cd3L,0xc8494718771d3f2cL,0x00000000000001b8L },
  80235. { 0xb3f57d14a28da023L,0xdbc8b8d91d078f91L,0xfa5f5a7aba67f27fL,
  80236. 0x4908adc3fc60df70L,0x4fcdd3e0618486cfL,0x2e725571eb3c5855L,
  80237. 0xdafd1ef5c5d9dd01L,0x806554ee19b9cfb7L,0x0000000000000125L } },
  80238. /* 0 << 406 */
  80239. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  80240. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  80241. /* 1 << 406 */
  80242. { { 0xc5f56d18fdb2dd1dL,0xcb31387972b373e7L,0x2fbfa499d85c69fcL,
  80243. 0x49ef4e5504211367L,0x307a9a329f9f852bL,0x00be68013d586d9aL,
  80244. 0x6ab9c6709bea9584L,0xbcb478e24b06f588L,0x00000000000001faL },
  80245. { 0xb6d095562b1e18c4L,0x2af8b9233a783993L,0xafcf8ae678ca9e44L,
  80246. 0x9139a8376cfec34bL,0xce8cd219583ef0dbL,0x8bf49e56abe307edL,
  80247. 0x89ba853be83c9968L,0xc5694a20008b52d3L,0x0000000000000063L } },
  80248. /* 2 << 406 */
  80249. { { 0xc3974b7675276d10L,0xb6e1836c07bb3d19L,0x2b1ba75db1619e9eL,
  80250. 0x1e89c2bd5c4a2ebfL,0x4c2ef54b7285eb6eL,0xba22a605df72938aL,
  80251. 0x51152a2657474591L,0x70c745ff997713f2L,0x000000000000006bL },
  80252. { 0xa7ab63790835db88L,0x2a6d5526753370f0L,0x157e790a4b2e4edcL,
  80253. 0x0b56220a911f4047L,0xdedaa43bd7c0fb09L,0xc6ff25e35a31e2daL,
  80254. 0x6b0ee7bfa78ab4a8L,0xcbafb78836d00945L,0x0000000000000165L } },
  80255. /* 3 << 406 */
  80256. { { 0x537b5f578e6ee46fL,0xf204223120f5b371L,0xaa0921a6b9156758L,
  80257. 0x8e7aa4907ae36aacL,0xdbbfc95da650c738L,0x652cc382eb9c38f2L,
  80258. 0x224f35e15f0d2472L,0x7768c4358367e668L,0x00000000000000a6L },
  80259. { 0xe0d7b3cfdaef3c5fL,0x4dad6270a0c5684aL,0x24b2fca0e9360710L,
  80260. 0xfd91b89a3e763d1fL,0x822b00bff598fd98L,0xdab869207bca6f89L,
  80261. 0x34db8325c7996505L,0x6e88215523f32f05L,0x0000000000000060L } },
  80262. /* 4 << 406 */
  80263. { { 0xbca656eb512e743fL,0xcd94fc24ba4f85ecL,0xf4383ad0048bdf6fL,
  80264. 0xdb10e381587f47a6L,0x47f244e7da3ec391L,0x5f337e380c33624bL,
  80265. 0x9259425f82a3c375L,0x509e56c3f276bf73L,0x0000000000000014L },
  80266. { 0x2d65148dd94cb899L,0xcac386303b28185eL,0xa36bb7bde102adb5L,
  80267. 0xa1e7e0b5ff3fffb6L,0xc842ceace628e1afL,0x8e6dfa7c8647613eL,
  80268. 0xeafd758584ade38bL,0x7c4c0b0a00188d5eL,0x0000000000000151L } },
  80269. /* 5 << 406 */
  80270. { { 0xecb8fc22d872682eL,0xcee69ae9a340ad2eL,0x8aab065f725233efL,
  80271. 0x3314af1015860444L,0xafea039307d4218cL,0x83860c75b56d7265L,
  80272. 0x045d08732f402749L,0xc14d6ebb50676c29L,0x000000000000011cL },
  80273. { 0x7018485cecc303f1L,0x2c88f82b189755b4L,0xa7d21cd59574649bL,
  80274. 0xff5ce29da5c77fd2L,0xf06a468a58da370dL,0x50d800934a5fd275L,
  80275. 0xcba539d8b69ee483L,0x170868f7f2ee3b38L,0x00000000000001bfL } },
  80276. /* 6 << 406 */
  80277. { { 0x21f9e41cf53fcab5L,0x7bf9f35165adec42L,0x6b26bbd558bb94cfL,
  80278. 0x3f786272c6324c08L,0xc4a2eac0f2b7a273L,0xa13f661eac22a668L,
  80279. 0x68b9afc47fe9399dL,0x1b92202959664de3L,0x000000000000009cL },
  80280. { 0x17c1b9a418a2fe9dL,0x2ba8744435cbdc79L,0xf4a4e0ce0b5f43b1L,
  80281. 0xcf17bf66e7569a01L,0xca184ac9c510d6eaL,0xb90fa4fc1c25e88eL,
  80282. 0xde8a6e1935d88156L,0x1546d7b58d8dc62bL,0x0000000000000122L } },
  80283. /* 7 << 406 */
  80284. { { 0xba45c8f36c94382bL,0xc1be84a34e796905L,0xa70a60a281b19d43L,
  80285. 0x5a333dd0a47323edL,0x7b28b6af0b27ff7eL,0x35c03b9fdea38355L,
  80286. 0xb95af1386ae6bcf1L,0xc9ef2a5a2b8ab4d0L,0x00000000000001adL },
  80287. { 0x324116b7e42a4135L,0xe6f37e6ce3fd98a2L,0x9fd3f19f7c76568eL,
  80288. 0x22b20731515dc1b8L,0x9723434fdb8e80ddL,0x60e6c8e242232789L,
  80289. 0x9716ad2c04d7423cL,0x66529fe435216302L,0x000000000000010bL } },
  80290. /* 8 << 406 */
  80291. { { 0xe5d4defb5b3e313bL,0xa821692c272ac52dL,0x63e8db0d853d75ebL,
  80292. 0xe135b25b774da98dL,0x5019813bc0ea0962L,0xa03d6d8f93d92bddL,
  80293. 0x63ad9b320ec90c8fL,0x674e973c21967233L,0x000000000000002eL },
  80294. { 0x6cfdfea798494014L,0xb9f9c0ce4f03d4bcL,0xb30273db8a4cde4eL,
  80295. 0x81dfaa1b3c413325L,0xf7bc31e7b3964d85L,0xf73996c8fa47fcd0L,
  80296. 0x1d5fe418a94e35b2L,0x7cd3986e9fa4f44bL,0x000000000000017eL } },
  80297. /* 9 << 406 */
  80298. { { 0x1b7980a57834d697L,0x9a3aa459c73206aeL,0xe10df0f1912aafe1L,
  80299. 0x3c252699cd81194fL,0x11c78b3f5fa93a50L,0x88c38a165c535f44L,
  80300. 0x33b2a6c905dc99e8L,0xf9a8a90d1ea49641L,0x00000000000001a2L },
  80301. { 0x96a8c21569486979L,0x97f6097999b6ccb9L,0xfe3df60d18d3f89eL,
  80302. 0x83dfff4ef064bd18L,0x49b4057d54fcb9f0L,0xeab1e88c3f088687L,
  80303. 0xa1765be041072587L,0xf99b2779acf46728L,0x000000000000012eL } },
  80304. /* 10 << 406 */
  80305. { { 0x8128204a9a214c96L,0x0e0a82b44882a079L,0x33e5d6b9b27a35b4L,
  80306. 0xab4c56c097462902L,0xe54b628e5b19e791L,0xdf29b1f5d64e8065L,
  80307. 0x6a2862e6ade36f00L,0xcba66d7ddf61110eL,0x0000000000000107L },
  80308. { 0x76cc421fda5c2464L,0x0c4f2a6322f3528dL,0x2eeb70f2c54214f3L,
  80309. 0x58be1b09eb798dedL,0x2415a2c156bb8dc1L,0xf9c7fd5ca298c0b0L,
  80310. 0xdc7d1ae628082c59L,0xc4ec983d05a44844L,0x0000000000000192L } },
  80311. /* 11 << 406 */
  80312. { { 0xa04e47c0c9ed9d3aL,0xed1a5bfaec3716ccL,0xe70c47c1a2e4d7f0L,
  80313. 0x05931685553e5305L,0xa90e6d16c73eb2d4L,0x17058be63459f194L,
  80314. 0xcf1b93fa0e76af5aL,0xbe38213c93f26b0dL,0x0000000000000009L },
  80315. { 0xa56996c75a0f2a52L,0x9fe2e1846badad6fL,0x64a6ae0d70ff96cbL,
  80316. 0x835954857b77aa01L,0x9910099ceeda6f38L,0x64b3d7f42c333e54L,
  80317. 0x6b13aeb23721114fL,0x791d073c90ca8602L,0x000000000000018bL } },
  80318. /* 12 << 406 */
  80319. { { 0x72b023245e3f9a6fL,0xc889374508defdb5L,0xab7235362acd0af4L,
  80320. 0x7ce916a85d02baceL,0xb2abe9dd96314ae6L,0x6b664d88cc74749eL,
  80321. 0x59f417bea5595e97L,0xe77f2e3b52ef341aL,0x000000000000003cL },
  80322. { 0x1f57cebbe3aa5b6dL,0x870522a68901cd97L,0x926ce7d957cf5e3aL,
  80323. 0x2d8fc69331e15a34L,0xc3a756ad009b6274L,0x498748f3f82857a8L,
  80324. 0x7b27d095b5531159L,0xe2783284c7e359a7L,0x0000000000000082L } },
  80325. /* 13 << 406 */
  80326. { { 0xc09185da7e0f6976L,0xd8a1091ec4a3a6c3L,0x7f7a1bdf331817e9L,
  80327. 0x95893105a21b71e6L,0x529b76e0031bc2c0L,0x899c9c15f486e501L,
  80328. 0xa1c9b18f67318b39L,0x2c05bb6aadc3ac81L,0x0000000000000087L },
  80329. { 0xf051133eb2a8d83bL,0x8b7c0690cecad4bfL,0xcdc32d5c3836511cL,
  80330. 0xf17df7ec1fde03acL,0x65dae2a3603ce6cdL,0x7711a540f1ccc60aL,
  80331. 0x391a3d1b3d8a3950L,0x640a6d5ab3cf9141L,0x0000000000000148L } },
  80332. /* 14 << 406 */
  80333. { { 0xcfe4526c7deb11f7L,0x67b27a2787647f71L,0x07eca87da3dfbbb1L,
  80334. 0x6173cd9ab9440d12L,0x0ca8bb2b40f2e74dL,0x3d83a719d740cbe1L,
  80335. 0x0fc562e81d080dcdL,0x16cb8f6f65d8140bL,0x0000000000000117L },
  80336. { 0x505508d0e8ddf98aL,0xe0d08e494e83c1ccL,0x24215a4d2db487d7L,
  80337. 0x5b91a9b5a9d15e5eL,0xb4d85a71e56eb130L,0x0e03cbc65d7390a2L,
  80338. 0xb43f2613963f58cfL,0x1cb92acaf93a024eL,0x00000000000001d8L } },
  80339. /* 15 << 406 */
  80340. { { 0x0b93b131dbe1d1eeL,0xef971fbcfe0effe4L,0xaf4b85c708d49697L,
  80341. 0x497ffb799eb46f2aL,0xb35cd96addc0ccebL,0xd5a55094303e4c0cL,
  80342. 0x3af23c7d86e7b58eL,0xaaed08ec9efb4691L,0x0000000000000099L },
  80343. { 0xe9dd554da84a6620L,0x87891bcd36fa1b27L,0x8f0d90c7e8344fa9L,
  80344. 0x8342943413b112a7L,0xbc8d11749c77efcfL,0x8a33437af15a8f25L,
  80345. 0x664c7908683b532eL,0x374dc6569c90903fL,0x0000000000000129L } },
  80346. /* 16 << 406 */
  80347. { { 0x78d9e7f446045461L,0x841c793e7430d61eL,0xf77b63b8dd245666L,
  80348. 0x4b39bdd5844f837fL,0xce7bb287ab70f0f5L,0xef4b6aa274b7cbc6L,
  80349. 0x9821f978981fdf5cL,0xb63e67a8e506a31cL,0x000000000000012eL },
  80350. { 0x1d2296041fc1da54L,0xa5b7e873d0c4b6bdL,0xeb72b87bf59127b7L,
  80351. 0x8db0f3859fbc54b7L,0x534ebf9461462a53L,0x97099e7580b9d20bL,
  80352. 0x0ed2d96a88aaa712L,0x415ca08a6a1b85d7L,0x0000000000000091L } },
  80353. /* 17 << 406 */
  80354. { { 0xb379144aeb469a20L,0xc5437f8f1cbea72aL,0x7728e8b42b9ec8acL,
  80355. 0x606e8adf8a15a0e9L,0x8d8e962ac004f3a3L,0xd5df086da85ebf2cL,
  80356. 0xd33bcdaafb6dcbb0L,0x0fdb0c9f07f2cc3eL,0x00000000000001e6L },
  80357. { 0xce44c6c293c2da62L,0x378521fae38bba04L,0x82a8e500db763d85L,
  80358. 0xe78e38955ed8824fL,0x8fbaa40d1538bad9L,0x868f1eba0248ad8aL,
  80359. 0xa6c1a139cd968348L,0xd2778c4b0a2b9761L,0x000000000000002eL } },
  80360. /* 18 << 406 */
  80361. { { 0x48e4c0f3361ae7cdL,0x6b7984948046cd5cL,0x12f157df00f16183L,
  80362. 0x3597a186c382bdb3L,0xcd0b5a6b021194ebL,0xc207ed009af8a87aL,
  80363. 0xe4393bc184dc124aL,0x11f71411e91afc32L,0x000000000000015fL },
  80364. { 0x579a5046c1866867L,0xd866aa1655c785e3L,0x2f76a8d43cf758adL,
  80365. 0x32ac9a89b0d31de5L,0x4962fdef2a973d93L,0xd7187c2b4ac6ff65L,
  80366. 0x7b1c92bfee83ecebL,0xa56863b534638002L,0x0000000000000053L } },
  80367. /* 19 << 406 */
  80368. { { 0x25efb568dfc25ec5L,0xd1189d0e1b0e7079L,0x5072903088a9eb91L,
  80369. 0xd590fca710d3bcabL,0xf9c0a5d7df6bea0bL,0x0bf708746efeb1beL,
  80370. 0x42747b384fb6a9a7L,0x2f14f557f56a702eL,0x0000000000000156L },
  80371. { 0xb9090e1e348c7f6bL,0x922e69d7d7496d2dL,0x6349d2ca92bf15e0L,
  80372. 0x94de29b2129013e6L,0x6e89ee99ec7bb7b1L,0x68ee23481ac1ffb8L,
  80373. 0x60be6017a20aa6baL,0x91a224fc79b16d91L,0x00000000000001b3L } },
  80374. /* 20 << 406 */
  80375. { { 0x039c81f5b6501dc3L,0xbeaed737d507075bL,0x080ba34a5c367a46L,
  80376. 0x06a583c5ecd54633L,0x2085119b20eff4cbL,0x26f27b7aa193a015L,
  80377. 0xa2dd99c937b34fb1L,0x99227938fff66c7fL,0x0000000000000107L },
  80378. { 0xee87c18e1cec40f8L,0x760e880d65532da1L,0x78d00f69be9ed489L,
  80379. 0xf61114948cc9be51L,0x79d826abaafd71e2L,0x831bc3059f39cd9fL,
  80380. 0xfffebc7ec214629cL,0xab14a5cdc0a202e7L,0x0000000000000083L } },
  80381. /* 21 << 406 */
  80382. { { 0x85252463481afc74L,0x7b71451828c701eaL,0xc439fd69861bf548L,
  80383. 0x071f8693e3d11f33L,0x6225ebd572e2305dL,0x4ef519ad0d1f6093L,
  80384. 0x1b0453e06ca1c580L,0xb7319f2fb740aabeL,0x00000000000001c8L },
  80385. { 0xf21d026d84604fd4L,0x1b1b306011b08033L,0x649ad1d36fd4ad38L,
  80386. 0x33f1d68714abb62aL,0x0e7f376997abee33L,0x530e818370a2952bL,
  80387. 0x98a0a545fc905c8aL,0xe6ec2b5559af7273L,0x000000000000007aL } },
  80388. /* 22 << 406 */
  80389. { { 0x6cf8f7069c217921L,0xc42e41d7b075c03bL,0x6375246a68982f40L,
  80390. 0x8669580151954ce8L,0xf5310da9a3a60bedL,0x0abca274b68cc2a2L,
  80391. 0xc0ec033b6851665eL,0xb783a62aa463f268L,0x000000000000008aL },
  80392. { 0x262a839eacc800edL,0x23a464a8b7a47436L,0x48a5d2ba302d2f36L,
  80393. 0xdcc0964d853ccb63L,0x326373ba856a8728L,0x135e2dfce81f2a09L,
  80394. 0x75387e9ce2d61167L,0x2d4026dd77466495L,0x000000000000018bL } },
  80395. /* 23 << 406 */
  80396. { { 0x15f1ae548997be68L,0x90aa75ea279fae38L,0x8e6704c0bf52607eL,
  80397. 0xdbdd9e471515aebbL,0x3f13153cfb9d9d6dL,0x6783f0c749f2b830L,
  80398. 0x933ddbd70938f0f2L,0x8c4b834cd7669424L,0x00000000000000a9L },
  80399. { 0x195637299d946809L,0x9946ba9bbc29db9cL,0x6f9e27fb6cb8b988L,
  80400. 0x3294b03efccfc99eL,0x33374610f7141a54L,0x28f868ffc7673c30L,
  80401. 0x43dc3427bb2c289bL,0x029e076fb96395c0L,0x00000000000001e5L } },
  80402. /* 24 << 406 */
  80403. { { 0xc1b7a8f704de7536L,0x4b9e69438570da46L,0x7724c0c2337106bdL,
  80404. 0x6f1367d3054b2f07L,0xd7d30e2004200225L,0xd722d2ff8573567cL,
  80405. 0x3b1a8a31741d03aeL,0x41474e1b878ff79aL,0x0000000000000059L },
  80406. { 0x3ce983c9fcf8a2fbL,0xe3c71ed67940d19eL,0x7347af8b434df786L,
  80407. 0xa187aa1d08d0762aL,0x618fc81d48cc16f9L,0xfecc62573b0e7f5dL,
  80408. 0xcb1f9e26fe7d47e5L,0x9ddb1566ce3918a5L,0x0000000000000047L } },
  80409. /* 25 << 406 */
  80410. { { 0xa7bf65565cdd5de1L,0xd91a3b5ad0299c7dL,0x34ad344fb621c69bL,
  80411. 0x0eaa0119ff537f66L,0xd06eaa83437158b3L,0xc8ef03821b5a588bL,
  80412. 0xc42cdd179a13f8c3L,0xb8bc70a25e7488b7L,0x0000000000000152L },
  80413. { 0xb571425067a283dfL,0x71221b8349a9b640L,0x84b743d5e5009d45L,
  80414. 0xc7150aa8fc207d0cL,0x5146ec3777f5ee74L,0x64856c0e9cd38d8eL,
  80415. 0x3c6544b4ada269a4L,0x3321ddf10a505d47L,0x0000000000000083L } },
  80416. /* 26 << 406 */
  80417. { { 0x679fec081ac21f3aL,0x8e69d49664fd0330L,0x4d520cf622381900L,
  80418. 0xfe8843f23cdada22L,0x9ae1a7245fc715c4L,0x2551beb61c16d5d7L,
  80419. 0x6feb8481d00fcf9cL,0xcaa2b375c91e52b7L,0x0000000000000184L },
  80420. { 0x24be593ab64e1524L,0x4e1cee9d7332b856L,0x131c5e6a797daf76L,
  80421. 0xc663eb2e75ce3e6cL,0x03ef6a7909834ac9L,0x7d7aa414c52b3350L,
  80422. 0xd66cb98f1430ff4dL,0x8aa042bdd5ceed07L,0x0000000000000084L } },
  80423. /* 27 << 406 */
  80424. { { 0x5c157e7b6deb0864L,0xf9d82ac58bbf2f15L,0x8078defe946d3ad0L,
  80425. 0x0202531b76b4ef19L,0x91b204164639bde2L,0x266d4ddbabeb6f8aL,
  80426. 0x099e2d193c697956L,0x622d9fc056634b3cL,0x00000000000000fdL },
  80427. { 0xb40778e6a1d7b58eL,0xe7e73d837e8f2b8aL,0x1079ead85b307ff5L,
  80428. 0x6edaef3415ec5733L,0xf0af7d8875239c59L,0x2c12598569c78449L,
  80429. 0x0ddb52fddbdb0499L,0x3659ab877726d11bL,0x00000000000000a9L } },
  80430. /* 28 << 406 */
  80431. { { 0x810305ab4f244783L,0x99471c5a0e2c1a83L,0xbb3beeb39bd2ba8dL,
  80432. 0xe7fe7b929c189a01L,0x0f5a31c9667f8683L,0x28ee1a59fb7bfbb0L,
  80433. 0x4cb86e098e14240eL,0x47039ec29bab970cL,0x0000000000000183L },
  80434. { 0x09b761f8f4ea7190L,0x5b109e93637f19c3L,0xe40aa435edd588d7L,
  80435. 0x6b25737881a3b4aeL,0xf5b5cc60591f5caeL,0x2e787d34811b80feL,
  80436. 0x28be1db7b0d84075L,0x2579d623a4db6982L,0x00000000000000b8L } },
  80437. /* 29 << 406 */
  80438. { { 0xebfd47a0f3c9663cL,0x5bd6c124fcc1ebacL,0x7a72f2629e4fbc0cL,
  80439. 0x8e12014b04da3327L,0x1644293ff16aee24L,0x51c99ce93d9cbff4L,
  80440. 0x3e202a2905ac2f77L,0xdc053a471a547c46L,0x00000000000000b5L },
  80441. { 0x33432716d62c57c5L,0xb6a806d7fd1c2525L,0x8fad574efa0879bdL,
  80442. 0xb155c4592f8f0fb0L,0x1164655e58d81213L,0xe11727e694a07b4fL,
  80443. 0xff4b7575c7036122L,0xcb353944c198f11aL,0x00000000000000a8L } },
  80444. /* 30 << 406 */
  80445. { { 0x0aba20f753d66edaL,0xa3aeae3b7e525dfeL,0x7b988a6199e675dbL,
  80446. 0x944ca69614798f05L,0x42277a4775fddd0fL,0x281cc5692e466789L,
  80447. 0x3292cdab72d85db1L,0xdfff0593e12591ecL,0x0000000000000079L },
  80448. { 0x1c2f7a8c0b87e726L,0xc9c4e2867c08d0f1L,0x7244fb70add49ccfL,
  80449. 0x2f9a917876dce245L,0x60d895eb97836a0fL,0x97fdb433fbcd00e2L,
  80450. 0x83017090f2aacd14L,0x292faa800e939a1dL,0x00000000000001dbL } },
  80451. /* 31 << 406 */
  80452. { { 0x5a7a6424e3f6f82cL,0xbd371425726aed2fL,0x2f56a6db5da92b20L,
  80453. 0x40dea40847e9f8e5L,0xd214c17ba447c6d6L,0xfc2fc25418e56c61L,
  80454. 0xf21df2b42ba5ffabL,0x38ed181e0c4b74d7L,0x0000000000000116L },
  80455. { 0xcc7b32aa60988f29L,0x86934d213fb6f043L,0x2f3259e3a7e17064L,
  80456. 0xdd355633aae0132bL,0x6b351d3f58a51724L,0x174aa7de5d3513b9L,
  80457. 0x5ffb74678e5b7018L,0xcfc563cd0b563426L,0x000000000000012dL } },
  80458. /* 32 << 406 */
  80459. { { 0x48a6060b5244adf3L,0x196c42f99f9c1646L,0x1dea9fac3946d4dbL,
  80460. 0x30563642183c46daL,0xe5c58915c9e4a634L,0x3e71b542cce36f63L,
  80461. 0x4d91d55c39eaada5L,0xd3f5af0f1c43907fL,0x00000000000000c4L },
  80462. { 0x1152f1413080db73L,0x3d5031a2b4bda7abL,0x0df9c2bcd0f0daf0L,
  80463. 0xaf4aa1f30d01895aL,0xfe8281302b137acdL,0xfcdbfefff072eda7L,
  80464. 0x8f3e313911d578dfL,0x37d9ce5b92662c8eL,0x0000000000000086L } },
  80465. /* 33 << 406 */
  80466. { { 0x87e7f88cc5bed943L,0xfd2e6b03aad8bc5eL,0xf24d94389e249c9aL,
  80467. 0xe47161cb7c008e8cL,0x19d22f2831d8c40cL,0x0671ba709fffd96aL,
  80468. 0x31a6f3ad74d609e7L,0xf90ddf84b6905c30L,0x000000000000009eL },
  80469. { 0x404c5574e9f17126L,0xafd37819604fb843L,0x4d1d2b92b00db9eaL,
  80470. 0x4a242643a7ecb8e1L,0x23c70b6e8b66b49dL,0xcbd1e9f75995098dL,
  80471. 0x62ee997d643f5b38L,0x2c7285da63549975L,0x000000000000007bL } },
  80472. /* 34 << 406 */
  80473. { { 0x70bd76a983f34ba3L,0x372227ca7eca3199L,0x4cc896ce4e57aed0L,
  80474. 0x142d290f0ddd2f05L,0x867a1f6fd6612f3eL,0xcf2e8ca14ebc7530L,
  80475. 0x1d15b0252bdf257dL,0x1b6ea850fcb53380L,0x0000000000000110L },
  80476. { 0x38c505c3e561bf5eL,0xb5c5b048ae44566cL,0x902051d06c45aaa1L,
  80477. 0x619fec981ea9caacL,0xec4ca3f013e5e007L,0x899d203208bc5341L,
  80478. 0x5869d8e09361ca4bL,0x1850a711fe357cd8L,0x000000000000014cL } },
  80479. /* 35 << 406 */
  80480. { { 0xe9d78d73c5fe4cb1L,0x65d4973e63669b5bL,0xf8f26e6758db5d06L,
  80481. 0x1fe46740a5bea178L,0x22e30d273d9d53efL,0xf9c3e1132d740fdeL,
  80482. 0x0eaf2c3782ad4253L,0x1c0a8f57afffe82fL,0x0000000000000083L },
  80483. { 0xe04ad02fea374c3bL,0xbfebd3637e1ae7deL,0x2f496f966970176fL,
  80484. 0x10eb48976106472bL,0x9ab8cc2922481fc5L,0x806a32fb795e47dfL,
  80485. 0x3920421e8a79c1aeL,0x17c4253868d45930L,0x000000000000009aL } },
  80486. /* 36 << 406 */
  80487. { { 0x164a9e29d07b0d60L,0x7d9325bc4a4ced37L,0x389846410a22ea31L,
  80488. 0xc33e1fc1659c12aeL,0x7609475678cc3ad9L,0x3c30033a4cf14874L,
  80489. 0x6c7ed92d23f58493L,0x0040c6d99a41b806L,0x00000000000000c8L },
  80490. { 0xe9652d66a4f89d26L,0x97aca7ae1e56daa6L,0xa1650f15b8b76045L,
  80491. 0x2f2338b3fc159585L,0x9af48930f243cf7fL,0xdd333c3d923de549L,
  80492. 0x415a035f3083991dL,0x0257bcf5b8f179d8L,0x00000000000001b8L } },
  80493. /* 37 << 406 */
  80494. { { 0x785ceb0e60a23046L,0x06693923da26f777L,0x4cfd41e2f6347cc4L,
  80495. 0x375228c909f95926L,0x5f3dff336d32813bL,0x3becb638dd9b1ce3L,
  80496. 0x7e9b3e1160c02110L,0xc46e496d72e500fdL,0x0000000000000003L },
  80497. { 0x15d186e9c39eede8L,0x00d45c82e2cbe492L,0xcb0430b0e656d2edL,
  80498. 0x52592855cbf91059L,0xed3f498d7ebbb6c0L,0xf537912d8c448093L,
  80499. 0xd02e28094a50080aL,0xde023ed27507fb99L,0x00000000000001c9L } },
  80500. /* 38 << 406 */
  80501. { { 0x9189e6492b66dcb3L,0xbd9d89446e0a16c1L,0x7183787c8fbf21b9L,
  80502. 0x48b9a986c84a07e0L,0xc7951767bd3f75ceL,0xfd74f40c709029ebL,
  80503. 0x8e0d48faee163d0fL,0x583247acea13c411L,0x0000000000000029L },
  80504. { 0x544713627200e61fL,0x43a5caa69151f221L,0x88e1d04480dfe2d7L,
  80505. 0xe166419a814a432fL,0x47d7a7324998873eL,0x06abfc47d649229aL,
  80506. 0x38759e7b790a1bb9L,0x2aade3423d87e983L,0x0000000000000083L } },
  80507. /* 39 << 406 */
  80508. { { 0x814f5c1eed4cb90eL,0xc27974eb37f64e46L,0x1ab1171566cd615eL,
  80509. 0x27e7e0d98a254731L,0x1756745a1520a956L,0x4a8d601258af427dL,
  80510. 0x430761eb1c0eee1bL,0x6bbfb93438874a9fL,0x00000000000000d7L },
  80511. { 0x9f48d4ca3a8603b8L,0xdedd50492e5be7c0L,0xe088e3bdf54289d5L,
  80512. 0x0a3ee65da44290e6L,0x8ab9a318bb9114a0L,0xbbb8fc213ba90e93L,
  80513. 0xbd87016b28aa8d97L,0xf467d852c050a231L,0x00000000000000d7L } },
  80514. /* 40 << 406 */
  80515. { { 0xfe306ca855a073ebL,0x35543d282dcab16bL,0xd66bc457a45d0b9cL,
  80516. 0x3fdc1cc24be414daL,0x781093ded7d9bb1aL,0x6b5f2c375d2031a6L,
  80517. 0x9b6b4ba38a23513fL,0x6fe788858f5a91f0L,0x0000000000000188L },
  80518. { 0x0f952fdeaa340993L,0x860ad393381382b9L,0xf0f1878aa611333cL,
  80519. 0x9d53e1f9fe29f16fL,0xc371ba5fa0d105e9L,0xedf4adf826128fd8L,
  80520. 0x4f4e22ffdaeb10c8L,0x0d27b149d9544e7aL,0x000000000000009aL } },
  80521. /* 41 << 406 */
  80522. { { 0x384e080421facdb7L,0x6c8b7244e2b7b131L,0x05f1dd47ad8a4fe3L,
  80523. 0xeb2e048dd4649216L,0x9f1bc2b7ec853458L,0x386f3d5798115589L,
  80524. 0x8c02c32e6fd93252L,0xd1a9526bbd686fe7L,0x00000000000000cdL },
  80525. { 0x0a4bc5e2a6384682L,0x8281608a042b55caL,0xa41505532a528bb0L,
  80526. 0x96b9f2e72217abd8L,0x9f019996e3251a18L,0x7aa51a6a79a88c6fL,
  80527. 0x90d8c8ad98fa880fL,0x2dd166cf45076ac6L,0x00000000000000e6L } },
  80528. /* 42 << 406 */
  80529. { { 0x7ba7b06a5826d6caL,0x42257d9c430621c6L,0xe5dc2c8f02dcf96cL,
  80530. 0x1b63d8ce16550605L,0x9e6341345cde8df3L,0xf9781f21809d18a4L,
  80531. 0x2de5477650c12248L,0x915e036c94f60a0aL,0x0000000000000149L },
  80532. { 0xe8a91619a2d29974L,0x67a70872b420db3aL,0xb24abe92e50beb4aL,
  80533. 0x760b7119dc0a98c1L,0x1519d8aea70e0dc1L,0x33f102a2679c49e2L,
  80534. 0x5123d8c2c1c358a8L,0xc928fda8bb7899a4L,0x00000000000001b9L } },
  80535. /* 43 << 406 */
  80536. { { 0xd2601167ad233a91L,0xc8d9884dcdc5862fL,0x01a22fe0a648ba05L,
  80537. 0xbb3b9e3c515c1511L,0x18c06c97ea8c7464L,0xf20adb09be2c8395L,
  80538. 0xb2f3dd6d371f7631L,0x2e4fe2c91fa77646L,0x0000000000000128L },
  80539. { 0x9732c4edfed3264cL,0x81acaedb4d287a1cL,0x736e2ee565d0497dL,
  80540. 0xe8b4f6fa9ca05e5fL,0x76f8565567f63d25L,0x3622850f9569a822L,
  80541. 0x4213d66b43a8a078L,0xc601ed61e323d282L,0x0000000000000185L } },
  80542. /* 44 << 406 */
  80543. { { 0xc0135e27beb6745bL,0x1fa3e9d57ac01e8bL,0xa713ccd34efaa6adL,
  80544. 0x6b82414232492fa1L,0x1e3dc6b3c5a1550aL,0xe3c7ea75429f42c3L,
  80545. 0x93f0cadbd1d97acaL,0x7b23ee53f7091927L,0x00000000000001afL },
  80546. { 0x708dc83aecb37a50L,0x802e69b38f9edcaaL,0x02abcd3cc66d3a68L,
  80547. 0x814ec38b1101afaaL,0x20e5d950a1b52623L,0x0ac6ea5fd4dd624eL,
  80548. 0xab26008227a0c3b4L,0x577f5ca09368736bL,0x000000000000001fL } },
  80549. /* 45 << 406 */
  80550. { { 0x6d42774c21bf0842L,0x2a4da71bd4d1ea75L,0xc2cedd0cf4d653b0L,
  80551. 0x7d94db7211d82f3dL,0xfaf1ca20a8c32913L,0x9b0c6b3563841938L,
  80552. 0x1ddacce9cf9b706cL,0xb204884772b2c899L,0x00000000000000b9L },
  80553. { 0x4e7adf267aedf83bL,0x8ded9b05be0cdec7L,0xe5f546d3b5c0649dL,
  80554. 0x270504c8e19891ddL,0xa92e7b14a7261c10L,0xd14be6d3b8f9ebccL,
  80555. 0x7a89d993eccfecebL,0x4ce0afa5ae754f25L,0x0000000000000074L } },
  80556. /* 46 << 406 */
  80557. { { 0xcb677986904f5312L,0xe7d62adb29dfabc6L,0x93e4e87b3e4e42beL,
  80558. 0x19bca6264069b407L,0x328eab93ad8142e1L,0x2e7c1a5d52672bedL,
  80559. 0xa5fd1db730aef66bL,0x12ac39b7fb19bf54L,0x00000000000001beL },
  80560. { 0x01c76a76b5b5ec2cL,0x64de1b6a0861dab1L,0x3258296d637140a4L,
  80561. 0xbda2cb733b3679c1L,0x0041da437024d813L,0x4303794de9a0ce74L,
  80562. 0xf8ee8193c0529c15L,0x53feedc587074b7fL,0x0000000000000115L } },
  80563. /* 47 << 406 */
  80564. { { 0xa6ba5b160c617119L,0x204e68fb438beefeL,0x7a20a3972ada8708L,
  80565. 0xdedf232d508368bbL,0xe096d0bc104f521bL,0x7a6b16d711269c40L,
  80566. 0x55d4ed46914143d9L,0xba5c71c427d395ecL,0x00000000000000caL },
  80567. { 0xa821bc5010cb008aL,0x48052c133adc6d77L,0xd0408c0f53ba3178L,
  80568. 0xd60edcdef9fbd6c5L,0x3cfa4536eeebb802L,0xcababb7b03709682L,
  80569. 0x13ee6a48bce9c097L,0xbd0ef6510d1b0bebL,0x00000000000001d8L } },
  80570. /* 48 << 406 */
  80571. { { 0x57b087c3722f09b6L,0x1702ccf501659998L,0xf3e88554769ff3b4L,
  80572. 0x0ceaa311b9b58b5fL,0x3200928faf05be70L,0xd7254305405c2f75L,
  80573. 0xd48bc6c28cff9a05L,0xc951c65d71aaf653L,0x00000000000001e0L },
  80574. { 0xb1c60c62e06a762bL,0x95d42294d121d094L,0x16b88a5dd0a2ec1bL,
  80575. 0xe5baf8f2f27ab833L,0x81982eb5a7742d30L,0x0244c5595e8d4a52L,
  80576. 0xae2e0d639ff0933bL,0xcac9c143c0641fdcL,0x00000000000000dfL } },
  80577. /* 49 << 406 */
  80578. { { 0x0729d23aaf7d4710L,0xcc26cbbed18d4ee5L,0xbbad9a780031ac64L,
  80579. 0x4cf6f0857d9c26d5L,0x4f7a82d40d1a7532L,0xbe268e66d13e2a2dL,
  80580. 0x14bae8a771bdd2ceL,0x3c3d7fae6b5df00bL,0x000000000000008bL },
  80581. { 0xee205513e5ea848eL,0x3b6a3e27dd421986L,0x21485c6e461b7f1bL,
  80582. 0xa62bc7b5b14b5037L,0xd6372abf560b7bafL,0xaa6228c9c962a69cL,
  80583. 0xdf2b172bb089d815L,0x7d1775058d97fc0fL,0x0000000000000167L } },
  80584. /* 50 << 406 */
  80585. { { 0x1b2752ec9c586918L,0xb3fb67c153a201efL,0x105199bdd73f0eb0L,
  80586. 0xae01712810aeafdfL,0x1426b2b52a519a78L,0x68e86c5a1ea4f48cL,
  80587. 0x98699970a6f22d9cL,0xc80564d51a9de939L,0x0000000000000000L },
  80588. { 0x41f8c7fc85bb70b5L,0x4bdf510c78874a6cL,0x836e36477192332fL,
  80589. 0xe71580260d3877cbL,0x76eab30d9db5fe34L,0x5cf92e6aacafab64L,
  80590. 0x9dfe39041fedad0eL,0xa9be6419c83bcb00L,0x00000000000001d2L } },
  80591. /* 51 << 406 */
  80592. { { 0xef6dd59eb9490407L,0x40b3ffc7cce5657cL,0x303b86892997c881L,
  80593. 0x10ba288bac9e88b3L,0x0598dc047e06cbddL,0x6b6070f9b8f3fdc5L,
  80594. 0x1b6e0bf0bf167eb0L,0x832f256f61823b3aL,0x0000000000000066L },
  80595. { 0xcaa38eb16ba2d1a7L,0x0e9eb2b5e34c102fL,0x45d0a0412f3f191fL,
  80596. 0x1883b65b78e42f37L,0x106790f4b3d340d5L,0x5bbca96e950faf87L,
  80597. 0xa5b7401125d0e75bL,0xbf6a2e4aa9a5b37eL,0x000000000000004aL } },
  80598. /* 52 << 406 */
  80599. { { 0x66cb0db47c4f8f4eL,0x81ae6d75fc21f5f6L,0x19e8fb8714951a87L,
  80600. 0x52ecee54602c5224L,0x50a823a8e408b25eL,0x32aad7d9e372c922L,
  80601. 0x80a117c8e03a5ce6L,0x9b62059c2ca7f6b5L,0x00000000000001b2L },
  80602. { 0xc50397739d676975L,0x6959c6b5becfc0f0L,0x7b73318a43d30b32L,
  80603. 0x0c0aac5b6048cafdL,0x77f3201dba7d3c59L,0xa5a05d3e09004fddL,
  80604. 0x711b1b17ada3810bL,0x0b9f7679a6eb6d1eL,0x000000000000017bL } },
  80605. /* 53 << 406 */
  80606. { { 0xb111d5049113f1d0L,0xaca7880f301363d8L,0xd1a3a3a0715d0296L,
  80607. 0x7c7131450ef65ed6L,0x66eaa22b454a687dL,0x3818b9757349a9fbL,
  80608. 0x5062a36e0d2022d4L,0x528e46da2ff88497L,0x000000000000010fL },
  80609. { 0x32a84b8a5de50ae0L,0x76263a196884f659L,0xfd8bb04c315d19aaL,
  80610. 0x949d5c4b8c484043L,0xa6b46b769af8ac6dL,0x30ceb799b23ae2b3L,
  80611. 0x0ea36685daf44f51L,0xebf5489e57d1f2cbL,0x0000000000000179L } },
  80612. /* 54 << 406 */
  80613. { { 0x72ba03aae5c32db9L,0x674c55738d0d3eecL,0x80208af9ccce2df7L,
  80614. 0xa35d4b811c853818L,0x9c9e525e4027990fL,0x1d4307391f2d304fL,
  80615. 0x557a34c0e56780b1L,0xd88631e7384f416dL,0x00000000000001dcL },
  80616. { 0xe13dbdcc305ed92cL,0x7344f3ebfb1445b9L,0xe84a2541d10d4b7bL,
  80617. 0xc0063b826bc03673L,0xa46a733bf4f6b339L,0xa6c0138431320032L,
  80618. 0x3b6f5b9634212c42L,0x445752ddb9601168L,0x00000000000000b5L } },
  80619. /* 55 << 406 */
  80620. { { 0xebcab29ffe8e565bL,0x7b04357f43480e76L,0x153ea7357ce43f36L,
  80621. 0x04ce126da3cf5166L,0x3eb43a6e0f412fffL,0x4ede4ce058733496L,
  80622. 0xe90b4291aec2250bL,0x35811220bc4b63d6L,0x000000000000005fL },
  80623. { 0x2a1d458659ff9b9aL,0x61d60d77a684082cL,0x3bcdaeb53ca06170L,
  80624. 0xe5793487801582c8L,0x73754dacbdc327b7L,0x4e9f7a1aa91091d6L,
  80625. 0xb1dcf63b688c3076L,0xf781dda2a455387dL,0x00000000000001a7L } },
  80626. /* 56 << 406 */
  80627. { { 0x3f28171bd3179895L,0x91ec9bdd6470fbe0L,0xd6713024aa1ab0a3L,
  80628. 0xbdb9e60388393838L,0x29c6d976170ffe51L,0xb415ce2c20c85e4eL,
  80629. 0xc816b042aa9a7f5aL,0x0f7257df41dcb044L,0x0000000000000139L },
  80630. { 0x16044c1463dbe97cL,0xc36a41e8dca02de3L,0x7c9403766849e580L,
  80631. 0x77b372d1d1bf053bL,0x539e249d175c2a6aL,0xebd056bbf0e17332L,
  80632. 0xf7b71bf6e62c02a3L,0x8e8636d754ee354cL,0x000000000000014aL } },
  80633. /* 57 << 406 */
  80634. { { 0x23975ca006ea445dL,0xc8c0af23792afff3L,0x648b22a1089f7960L,
  80635. 0x38be1485789e86a1L,0x09c7f82c8e403792L,0x00e6a9750da77f58L,
  80636. 0x89ff11bfbbabdde6L,0xdd065345ccf6e66aL,0x0000000000000017L },
  80637. { 0x8c47de427496b1c2L,0x4c7e85508ad8e562L,0x27bf92564ec11ed0L,
  80638. 0x0764d014f7290f77L,0x02a78a70c49b97deL,0xa88a1ccf1ddbbd5bL,
  80639. 0xe42270462e9e274aL,0xba580882466c1d4fL,0x0000000000000159L } },
  80640. /* 58 << 406 */
  80641. { { 0xcc1838a04d0dec13L,0x2d4bdfbc97bd2484L,0x3f6defdb8e61f25eL,
  80642. 0x7f6f45104ea8dedaL,0x013f14a40425fa58L,0x956254689d7d619bL,
  80643. 0x5115c63b5bda4f78L,0xea1900e7fa6e1bf0L,0x00000000000001d0L },
  80644. { 0xa17989e0363fe2daL,0x2cfd22dfca53cb24L,0x45f91d59881a474eL,
  80645. 0x0e4ab11250329824L,0x8ac28370b72739d1L,0x1b310d913b6d9b75L,
  80646. 0x6ec4da965c56e9e9L,0x0671aae0ffc656cbL,0x0000000000000042L } },
  80647. /* 59 << 406 */
  80648. { { 0xb3ab40eb790b8e7eL,0x8eb63013d4788dceL,0xbccc0ef6934a5525L,
  80649. 0x680e70c725f88ec4L,0xd485afdbdb65760bL,0x5d426a75efc322d2L,
  80650. 0x0f83571f2e4bf148L,0x91ccb5dabbec6361L,0x0000000000000169L },
  80651. { 0xd8887e8d1c57d73cL,0x236b0f805f5fd2d4L,0xb63c2775875a5803L,
  80652. 0x414fc01a4a8803ecL,0x52d5e443d98a3657L,0x18a2f004211e0a47L,
  80653. 0x692f1862d077952dL,0xebb3821e3543f3b3L,0x000000000000002dL } },
  80654. /* 60 << 406 */
  80655. { { 0xc543163d23d30fa4L,0x45cc53a2b32b27c9L,0x894b9ca07953c4b4L,
  80656. 0xaabba057bba613a7L,0xc50371ae6ccbb39dL,0x610cdcf53fd4f3c3L,
  80657. 0xad08443a19a9d357L,0xabf74787d519c9cdL,0x0000000000000076L },
  80658. { 0x4ee3a817e5502ae4L,0x7ab2462d8b39a71dL,0xd6736eabfcfe642bL,
  80659. 0x77479bae25c914e3L,0x95fb92af2a14e2c0L,0xcd33464758bd112cL,
  80660. 0x3165b9a35bc0ed8bL,0x980f3176d89bf952L,0x000000000000006fL } },
  80661. /* 61 << 406 */
  80662. { { 0xcce789470c205347L,0x2cdc9548317b0bb3L,0x91761877eb18287eL,
  80663. 0x5da4b78d6fe20d46L,0xaa5a0e4c56abc91cL,0x20d5e538f880504fL,
  80664. 0xc8b49ff54cf760dcL,0x84ce19efc16bc484L,0x0000000000000055L },
  80665. { 0x26ddf4fc8277a9a9L,0x1084e9e795284106L,0x4ae96058d6f31a98L,
  80666. 0x8768d94c4ca76957L,0xabe0c7dc4291c752L,0x742e8a5c902ed035L,
  80667. 0xb19d63427e0da040L,0x8340b9aae19b885eL,0x0000000000000089L } },
  80668. /* 62 << 406 */
  80669. { { 0x1db573165a1c76bfL,0xff18d5ec4afc3851L,0x2c1949939579a536L,
  80670. 0x18b565e4bbffa98dL,0x446f6b2146c634e5L,0x7c8e557e54f8c188L,
  80671. 0x0bd678caf2a2547fL,0x3898e9617c679a91L,0x0000000000000195L },
  80672. { 0xc9629fbf5b94cca3L,0x4f2c7c0bc3a4b9fbL,0xb497be19d7c9194fL,
  80673. 0x7342f77aef265586L,0xaacd585fdb0e0ce7L,0xa4cc7b4bf17cef46L,
  80674. 0x72e0c651d630df1bL,0x39514c9d4e7fd042L,0x0000000000000163L } },
  80675. /* 63 << 406 */
  80676. { { 0xf81da77e080bdb19L,0x42e0d16218eff3daL,0xaecdeb9ed5246df2L,
  80677. 0x4bb5a16667f90950L,0x9eea36f3914df6afL,0x92f0cc9b6bd50255L,
  80678. 0xe1756a88acf4b34aL,0xa30cabc40a3069a1L,0x00000000000000ddL },
  80679. { 0xc407225c59098bcbL,0x957308996d9a4295L,0xb4e208abe995c4f4L,
  80680. 0x42560e5040f907e8L,0x0e6c38dbc174276cL,0x2360c05488cff7dfL,
  80681. 0x31e7aa6539f892a2L,0x4ffde5e9b9592227L,0x000000000000009bL } },
  80682. /* 64 << 406 */
  80683. { { 0xf7593760e63885d6L,0xce5054bb86e546caL,0x5910ad526e9567b2L,
  80684. 0xe812cf7be420aff3L,0x266049fd904e9676L,0x42d0e2ab2c8b34adL,
  80685. 0xf79f8f91a4382f29L,0xf8cde3ed41d531deL,0x0000000000000035L },
  80686. { 0xe514497fb16cc1f3L,0xbc044f39627db2f6L,0x76fa5148a1fa2bdcL,
  80687. 0xcf7eb72e5fe3fd7aL,0x83236c11ee3d45e6L,0xa02d7e92c4eddb54L,
  80688. 0xcfb5bb894d4982a5L,0xee6ac2a27c217ea5L,0x00000000000000bdL } },
  80689. /* 0 << 413 */
  80690. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  80691. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  80692. /* 1 << 413 */
  80693. { { 0x1e5e42932f3cdb19L,0x9920316787214e3bL,0xba80fbfe93d885a3L,
  80694. 0x58f3ecacb25a2700L,0x2c4a14d369f5d172L,0x478313d4816ebaf0L,
  80695. 0x41018d31c93f7738L,0x5db7131e06ac6002L,0x00000000000001b4L },
  80696. { 0xa5d3687295b8edbcL,0x47931810945b9473L,0xea5b3ffea82c5f49L,
  80697. 0x5ed84f08f491bc9bL,0x1492e5349b3b994dL,0x4788372dda6c1225L,
  80698. 0xfda4521440022d06L,0xfb0bcf49fbca3d03L,0x00000000000000a5L } },
  80699. /* 2 << 413 */
  80700. { { 0x8a4af8ae25144121L,0xd89467b7ec215026L,0x3ab6cb7fe013fba2L,
  80701. 0xc15a056935f18f1eL,0x8bd48a1d70933beaL,0x6a40474a5b8c61f6L,
  80702. 0xad967b15b5158afcL,0x119a0ee96d7f6e5fL,0x000000000000010bL },
  80703. { 0x895e3e94a548551eL,0xfcfe2882eb65fa7eL,0xafa1800f3582920bL,
  80704. 0x5cda388ebf58e02eL,0xe7aad6f7fb270f11L,0x95a2636fb7e27667L,
  80705. 0xdec591d7a3be4195L,0xde0e7440808c1315L,0x00000000000001b5L } },
  80706. /* 3 << 413 */
  80707. { { 0x57b9da073a771403L,0xde6ee702ab21fe58L,0x60d32de6843aacabL,
  80708. 0xe522b9569064dfbbL,0xb4b429207ea0dcadL,0x4222697aa3f46a45L,
  80709. 0x1557d30b3be7a95bL,0x712ca7479fa83859L,0x0000000000000153L },
  80710. { 0x162516d415fb1ac0L,0x44b19cb0ee7be87aL,0xce8815eb3d9d86b1L,
  80711. 0xce8f13f957331615L,0x78e8539ef71faac1L,0x29154b098e5ca8bcL,
  80712. 0x45b36262312e4c96L,0x2e03ee8680940f73L,0x00000000000001c2L } },
  80713. /* 4 << 413 */
  80714. { { 0xe95ab9e7ef05ef2dL,0x29ec067ffd5cc417L,0x67c10bc739402b0aL,
  80715. 0x109f7d511e9ca8acL,0x0b10550bf8efe529L,0x0bf3624cf18c8decL,
  80716. 0x42f686f33746474aL,0x0f8a831140052446L,0x00000000000001f4L },
  80717. { 0x56303452329ed806L,0x1d80c752654f22d9L,0xf41fe1729f61f3ecL,
  80718. 0x7d4ad71e0cd5fe42L,0xffda94addd164da0L,0x260a2bdf7f19c583L,
  80719. 0x8e8673245d6229daL,0x1d13d05c2fc87ae8L,0x00000000000000baL } },
  80720. /* 5 << 413 */
  80721. { { 0x5750d281b1734753L,0x0146bc94d4a13019L,0x44c6f69714e0f6a7L,
  80722. 0xbe893e5aed528e03L,0x1e980b908750b50aL,0x7edaf7fca9de6cc1L,
  80723. 0x093cd32faee636cfL,0x293d801a61a0b0deL,0x00000000000000d6L },
  80724. { 0x154f8d1810a54f0eL,0x8a0e70ea4a976afaL,0xb2fe0d041d2e4d9aL,
  80725. 0xc6c5afbc6229b256L,0x8d0ca0e734bc3bc8L,0x93d5a4cf47a7a58fL,
  80726. 0x5413ec8faa6e0b8fL,0x1df389c48d831011L,0x0000000000000099L } },
  80727. /* 6 << 413 */
  80728. { { 0xe4f52ec5ba7dcf59L,0x345c1385d5dba9c9L,0x67084813d49a6201L,
  80729. 0x0c8c4fc84ee78000L,0xbe78c6a4e17b9868L,0x6698156608377738L,
  80730. 0x1afdbf526012a726L,0xa884b8f7d2127133L,0x00000000000001a0L },
  80731. { 0xa4aa47b66590bde1L,0x32398ff9823ee7cdL,0x3f1f7e49967c860fL,
  80732. 0x0ac197d796a0e601L,0xfc6a28c6e61a3207L,0xbe5cb223fbe09f61L,
  80733. 0xe83db350d54bd1b9L,0x44334c2baca898f2L,0x0000000000000024L } },
  80734. /* 7 << 413 */
  80735. { { 0xdc7ed009b224af29L,0xc73de9d40e9acb64L,0x81fba2d377629ec2L,
  80736. 0x2f41756aa44ae9b4L,0x7c839101311c713aL,0x608ec3d486c4c015L,
  80737. 0x6a8379c0ee544e59L,0xecd19a437a67b442L,0x0000000000000062L },
  80738. { 0x05112f63cad5be69L,0x9b97a7f150c4e5d0L,0x8744e98ae7e2d407L,
  80739. 0x9359564016ab7f96L,0x87dcf03cdb24a32bL,0x2f9216bbabf80ae0L,
  80740. 0x38dc2b86701a21e2L,0x60a15b35e64ec8ddL,0x000000000000005cL } },
  80741. /* 8 << 413 */
  80742. { { 0x141838bf8fe6f511L,0x8e9ff343ee745e2eL,0x71da9fd502325306L,
  80743. 0xa527b9baf0d0d68eL,0xce19b22c31144649L,0xca9b778b0bfaa46cL,
  80744. 0x66e689a76ce31145L,0xed43460dd8d1da21L,0x00000000000000bfL },
  80745. { 0x241323f7c1669168L,0x9934b3de79b94b5aL,0xd332c1a2d9f9a406L,
  80746. 0xbe3ebe21e4a49eacL,0x4a00648e678be3edL,0xc9f534eaff09db31L,
  80747. 0x2de774065efdd859L,0x2c218cd800f5c7a5L,0x0000000000000152L } },
  80748. /* 9 << 413 */
  80749. { { 0xb1f44e10e8216c49L,0x8242ce59391c90c6L,0xbd3ec80b1e6415dfL,
  80750. 0x8055d00e364ed350L,0xc0499dd8eecef27cL,0x6fd2d8c71658459dL,
  80751. 0xaff8a01800a6c15aL,0xa2f028d8406e8a9aL,0x00000000000001a0L },
  80752. { 0xc752503f42bd3f43L,0x87e708599710bbddL,0xcda119c090e6eed2L,
  80753. 0xf1a7a1b2596ec879L,0x479f3fec24fd1933L,0x717a613abb82f79dL,
  80754. 0xaae73616faf9c1b5L,0x865e91b7cf129fbfL,0x00000000000001c2L } },
  80755. /* 10 << 413 */
  80756. { { 0x9a111bb32120bf4eL,0x18c2fc772458882eL,0x0c3480d8e24ebc99L,
  80757. 0x1832974652cc401eL,0xb424bd884fd6a487L,0x5838dc6a822adf42L,
  80758. 0xf5a46a3cdb196a29L,0xce7baaade6640b4dL,0x00000000000000e0L },
  80759. { 0x231ac4cdc62a4ac7L,0xa25cea601851842aL,0x5ad82748d7a79770L,
  80760. 0x8fbffa6ebb164240L,0xb64ecaea85db52c0L,0x4ed71ef3b05a83a0L,
  80761. 0xb1a5c366f87d6991L,0x52f4a0043ccb2067L,0x00000000000001b1L } },
  80762. /* 11 << 413 */
  80763. { { 0x4d6fd5b3a11c9d5bL,0x423db5f508656d72L,0xb0f9e57833051a59L,
  80764. 0xa6e49ec8797e73aaL,0xd2c1bf6eccc0d215L,0x4b3dd3e2d320576eL,
  80765. 0x317f7ca5d773e88dL,0xc37a7f0f5f88be68L,0x0000000000000114L },
  80766. { 0x033fd47e1b2e6090L,0x297dbc0e211a3ba1L,0x8808924481671ba6L,
  80767. 0xd2f3670ba568cc06L,0xf41dff3d58ff526cL,0xd9ce52f41a33b324L,
  80768. 0x2e0d362c12adc150L,0x8da85adff5f36b5fL,0x000000000000000cL } },
  80769. /* 12 << 413 */
  80770. { { 0x876382e3b6899299L,0x0b4845d3c420faf5L,0x6e09254c04b364c6L,
  80771. 0xdbf5ee2fc3ee3781L,0x518c5aaff1a2f07bL,0x48e496f4e09ca02bL,
  80772. 0x325878764d599f03L,0xedf96e075a7941bfL,0x000000000000005bL },
  80773. { 0x38dd2793981bdbc6L,0x9b21020129395b8aL,0x924ded1bd1678774L,
  80774. 0x7a77150735ded04eL,0x2275228145c78fe2L,0x8e500fde9ce86720L,
  80775. 0x5998350640caf83eL,0x38ff8869b773ada9L,0x0000000000000173L } },
  80776. /* 13 << 413 */
  80777. { { 0xe8ff5ac6ed7cf572L,0x7f686a590f1e28a2L,0x62427eac20faa4deL,
  80778. 0xb6209fe31ad4d13dL,0xd2e05eb22ffba92bL,0x2c9345eae68093a7L,
  80779. 0x281b99996eec4207L,0x7ea83de8e452091aL,0x0000000000000123L },
  80780. { 0x923bd3311639d5d4L,0x68c713339a8bf71eL,0x4d9d8d20c6a51254L,
  80781. 0x81954588c3eeaf0cL,0x5cab2bcdb7fc166cL,0x0375c8b7c95eddfbL,
  80782. 0xaa864a1f451c9fc1L,0x0c658f1f7b744928L,0x0000000000000058L } },
  80783. /* 14 << 413 */
  80784. { { 0xef5c1e91a73432dbL,0xdf98b1e4b4f36c7eL,0x68b70bc8d61583a3L,
  80785. 0x0c8264e2ed0b2c62L,0x2b2c0770ea80cdbaL,0xf057643161bb4804L,
  80786. 0x66e3ebbbc240ceceL,0xf34eada0354bd699L,0x00000000000001c0L },
  80787. { 0x6134da4fd4514eabL,0xff414ddaca338f1fL,0x588506f10fc1b9aaL,
  80788. 0x5bb66b45bb21daf2L,0x093354525824998dL,0x2c9c4959a8e47c78L,
  80789. 0xf7e6339c6269c6c0L,0x5551260b237e9835L,0x00000000000000c5L } },
  80790. /* 15 << 413 */
  80791. { { 0xf4f12f1396123090L,0x471d20baf841a4f6L,0x2086017985371d0fL,
  80792. 0xe655cf99bb77de97L,0x246595b0761430d0L,0x4361b05f54503716L,
  80793. 0xebdb356a33210d4fL,0xc429076db67e1961L,0x0000000000000072L },
  80794. { 0x3a611d84c57d8e8fL,0xc0bc94ea1b749a8dL,0xd8ce81683a51b900L,
  80795. 0xd595034f38d06f25L,0xc649def4bfc48667L,0x755726c0ee42d04eL,
  80796. 0x100a8ceff26eff8aL,0x6d43ef9ff86d056bL,0x0000000000000112L } },
  80797. /* 16 << 413 */
  80798. { { 0xfe1b039aefd5cf86L,0xc7fbca26c0945b5aL,0x6b30e2e0887a27a1L,
  80799. 0x0883a38be7cc98d9L,0xa646c35bfb2138f5L,0x735769df74f0c200L,
  80800. 0x9fcdf60a2ab20e1dL,0x4e0acc801f2e11dcL,0x000000000000013aL },
  80801. { 0x00caf22515abd8eaL,0xe5f47384cb2e6e92L,0xa9186f93be14ff19L,
  80802. 0x4620d2c916ca5bb6L,0x22d4fc0ebddde27bL,0xd6f04a09a1c81269L,
  80803. 0x25d65811fac277d4L,0x803293db322ab775L,0x00000000000001e4L } },
  80804. /* 17 << 413 */
  80805. { { 0xb3ebf1380ba381bcL,0x7289d26e159f83acL,0xd45884b4642425deL,
  80806. 0x644daeecebfd5e89L,0x22c6df37f5f65270L,0x376b8127b6bcf3aaL,
  80807. 0xbda049d4f4ec524fL,0xfd412add737fba08L,0x00000000000001ecL },
  80808. { 0x060c42cd0ffa17fcL,0xf6e37fbf8b4e9a97L,0x7681530396b17356L,
  80809. 0x92c4519627ef9df3L,0xd048c276a0fb6660L,0xb69785e8b4f971c5L,
  80810. 0x6f2a394cfc90d573L,0x2ff151e18d0558cbL,0x000000000000011cL } },
  80811. /* 18 << 413 */
  80812. { { 0x7a118320596008e4L,0x7f469890b45b8849L,0xd05018829fd8988dL,
  80813. 0xdba0b02ec8fc3c87L,0xc10a7d57333e0ac7L,0x63c960014e554169L,
  80814. 0xbbde212e773150ebL,0xb654d3d86d7967aaL,0x000000000000017bL },
  80815. { 0x8e3087977a2e5d76L,0x8e58379ea352086cL,0x8f9c8c8c4797c0a5L,
  80816. 0x329c35097c491506L,0xe43fc3699312118fL,0x0d96ba0101989af1L,
  80817. 0x60b3e701d8dd5e74L,0xe2954b8011364c68L,0x000000000000018bL } },
  80818. /* 19 << 413 */
  80819. { { 0x89318598abb6095eL,0xf838078254f1abd2L,0xbcc578dd4150e804L,
  80820. 0x751c7bdf9c394104L,0x563688d2b10220b8L,0x8f371472362c10faL,
  80821. 0x28e0a341ff5248b0L,0xe79232df6b59cfb1L,0x0000000000000025L },
  80822. { 0xc7fae1d695e6f9bfL,0xfd2bc6d21b4cb12dL,0x1a67033c7a9fcb6cL,
  80823. 0xe2741449e7f5f237L,0x7bf33fb4c5e0cd46L,0x2bb0a260011b6c96L,
  80824. 0x55b14f8b11c51582L,0x861b24259938fe56L,0x000000000000000eL } },
  80825. /* 20 << 413 */
  80826. { { 0xbb34d7849d0d6a8eL,0x181372ae5249d4aaL,0x70542a6f2a73950fL,
  80827. 0x74b04f0ccdf2e96dL,0xfd9cae5b3fecace5L,0x22fb4d8d19fb6b62L,
  80828. 0x3252d045e69c55fdL,0x7290f7fac2bc4211L,0x0000000000000148L },
  80829. { 0x10d8e574ec7e23eeL,0x8d6c5a23c7a555e7L,0xd583c8aa140a4f49L,
  80830. 0x0de3c0d4f10191c9L,0x985e0201d4d1e937L,0xb5dee6abc3a7e70fL,
  80831. 0xc212b74b44de1f4dL,0x1f745d35ef35b040L,0x00000000000001fcL } },
  80832. /* 21 << 413 */
  80833. { { 0x622c60244c78f076L,0x6aeae9383019aef8L,0xdbb4d128ff3e8a56L,
  80834. 0xeedc83ec8eff26c1L,0x3cfe10dfe4beda18L,0xeb555398b2972b48L,
  80835. 0xb79caa949ebce9fcL,0xb0425e6716bc49b2L,0x000000000000007dL },
  80836. { 0xe7d34bbe0e8a5400L,0x5f50f6422d2e374cL,0xaaa6e26d82100013L,
  80837. 0xa79dfb31cb6bd0d0L,0x81573d70aca0982bL,0xeedac6643d0964ceL,
  80838. 0xf1b12fb1a8f4ea97L,0xf9885103b636c8e3L,0x00000000000001e6L } },
  80839. /* 22 << 413 */
  80840. { { 0x6a3f3b0cf066b354L,0x58cc7cfecdf5d33fL,0x299206fb3b7bbe62L,
  80841. 0x590ee606197b5384L,0x09ca781aa8bf219fL,0xd2bb936cc54c6d12L,
  80842. 0x3053151291abf037L,0x5d04db05244e2825L,0x00000000000001faL },
  80843. { 0x31e28fef6017bd41L,0x44fc27841c446006L,0x6265b3097dfb20a1L,
  80844. 0xb460776dd6aebeb7L,0x3c2abf087b9a1601L,0xac3464126c7f692fL,
  80845. 0x8fef9006b988eb33L,0xad7ea2997832d27dL,0x0000000000000053L } },
  80846. /* 23 << 413 */
  80847. { { 0xd5d2fa1109089d81L,0xb4399d888abd7968L,0xc1716638eb869300L,
  80848. 0xd993cdb9e1cd6275L,0x241d4c2ab8310dd0L,0x031e500abe369875L,
  80849. 0x5a6ed301297c9a3bL,0xf2435b9230b41f99L,0x00000000000000c2L },
  80850. { 0x08100d2cdf2c3657L,0xa6ac7c13b29b6405L,0xc3a7b5461f343164L,
  80851. 0x8fd10a6b9665ca07L,0xfbfeed84171e0f50L,0xa7d5c01d4f409d69L,
  80852. 0xdb8be8f366209239L,0x68e69ee888fa3ee3L,0x00000000000001f4L } },
  80853. /* 24 << 413 */
  80854. { { 0x323e1b7f0a823516L,0x8f4e9152673254f7L,0x5e5d719041599b9cL,
  80855. 0x96bfba24a1198accL,0xb1b6e75bbbfcd72cL,0xfd5955f2f4894626L,
  80856. 0x109edfea898bbbfdL,0xd36929041f468074L,0x000000000000016aL },
  80857. { 0x089d12a99bb7d749L,0x893ebf254ffc33d9L,0x6ed72c609097ff49L,
  80858. 0x9291e1eeb4e1d91dL,0x0dbfe58272a07882L,0xac41065fbe0636ecL,
  80859. 0x43d74f8bf4234bd5L,0x01bfb0850a28fdefL,0x00000000000000b5L } },
  80860. /* 25 << 413 */
  80861. { { 0x01eebda491b42f54L,0x891ca7438f8e24d8L,0x98ff0a26d2362d60L,
  80862. 0x82147d21085b187bL,0x469ab10225f97fb1L,0xc404bd2bd0280e20L,
  80863. 0x292592698ecdb68eL,0x570b7a92d5f50c44L,0x000000000000010fL },
  80864. { 0x381f68256c856631L,0x4c3d2172fb2c1f40L,0xc1beda5173da2dfdL,
  80865. 0x442095377d9d1ad6L,0xe94807503a33e01dL,0x697d86895fcfeaa8L,
  80866. 0x5d933887a8b9155aL,0x2582c294d2a8f48bL,0x0000000000000064L } },
  80867. /* 26 << 413 */
  80868. { { 0x03ba5094920b66a3L,0x65239fc4ebe42bebL,0x68c63f3dc4ce1efeL,
  80869. 0x33084ea54ad8b52aL,0x28873c93b9e33e89L,0x00d6e65e1410a1ecL,
  80870. 0x21cc87d07e79c97fL,0x32bb9986b1277db9L,0x00000000000000daL },
  80871. { 0x659619b4c1ae88c5L,0xef1b0ea112d24497L,0xc0646672983fec9aL,
  80872. 0xb105138fb42b7079L,0xe0a6eccec2900a1eL,0x5e2eac870b094635L,
  80873. 0x8750a30ab8659fc0L,0xc3aa9a0f9b73a020L,0x0000000000000024L } },
  80874. /* 27 << 413 */
  80875. { { 0xf6cd90c7b7e01593L,0x3c0e6245c0096352L,0xb55ed8331cf5a335L,
  80876. 0x480e68de18962d59L,0x83d09d6992f059beL,0xcbd11b027f28d3deL,
  80877. 0xdc5b2e864e26e34cL,0x66e2f6e9eac14dddL,0x00000000000000bfL },
  80878. { 0x1c0928fba612de24L,0x407a55a5d1db9f9bL,0xa64ea668b6f50f0aL,
  80879. 0x7d1c14e9ede7c9d9L,0xef7fb4b775353ab5L,0x7cc7e66146f1bc70L,
  80880. 0x73dc29babf7e44d5L,0x26b2e00643e6f0beL,0x0000000000000146L } },
  80881. /* 28 << 413 */
  80882. { { 0x3463165d755e8efdL,0x96650fb2ac359a78L,0x1059dde3f00748afL,
  80883. 0x0e20212f58e38d2fL,0xda345fe4debdfa10L,0xdf920bc8667e54c1L,
  80884. 0x03953f8ba4dfa4edL,0xc7638154ebb27882L,0x0000000000000110L },
  80885. { 0x950085ee132434eaL,0x8a2bdab57120a652L,0x28ded0be42ab161bL,
  80886. 0x9b55dc39bf1c6faaL,0x71e94dc9261ea91bL,0xe52990b0c6996959L,
  80887. 0x62bd7c41582570a0L,0x61d8fc99be597471L,0x00000000000001deL } },
  80888. /* 29 << 413 */
  80889. { { 0x6dab19378a42408dL,0xc005cc1ff3a80b5aL,0x0a1030f0b8a2cb36L,
  80890. 0x171576f06fc3169aL,0x0b7dc150952294e9L,0xf506b4c3053cf79cL,
  80891. 0x417ca443c70ed2aeL,0x80bbc72684c09424L,0x0000000000000113L },
  80892. { 0x6ecc2c85cfe818a1L,0x9610f7d24e78801bL,0x8c33fe9336b49aa4L,
  80893. 0x10eda040e5b58e18L,0xd58d1b7b2a8213fcL,0x4db6dc12d932602dL,
  80894. 0xb3a161343b1df67eL,0x734f2ef4b1746724L,0x00000000000000a0L } },
  80895. /* 30 << 413 */
  80896. { { 0x37ab4d79ce269559L,0x80ffc5068ba6574dL,0xbcddc7871b2a6d07L,
  80897. 0x8d2f43928c76de3aL,0xfd6347a2f6c3616fL,0x2c47372d5d8a2a7dL,
  80898. 0x246d8873d86e2015L,0x265dc733e339dc8cL,0x0000000000000172L },
  80899. { 0xa0c9d81159538718L,0x0f7fb3fc26e1da06L,0xa5aaacf82c28577cL,
  80900. 0xfd956a4de59804bfL,0x2046deb77de0e903L,0x7388e7374774c173L,
  80901. 0xcce82ee06107d1aaL,0x2c3d2f51b2eca2deL,0x000000000000012cL } },
  80902. /* 31 << 413 */
  80903. { { 0x4294d5f39a9fc27fL,0xfca710b946c678aaL,0x34fbc512549d8927L,
  80904. 0x918de41068015dd0L,0x7c2cf8de5260a6f3L,0x4b248ddb0523096aL,
  80905. 0x7b8493dcb1a42b11L,0x5fe79c0650631110L,0x000000000000016cL },
  80906. { 0x3dd89707a7ed1ec3L,0xfcc8bb190042f593L,0xedfd3f0813a4e462L,
  80907. 0x33ea61fa56ec2b76L,0x56cd7669dd665c93L,0x62ea3ebdcd19b6eeL,
  80908. 0xa312ca02426ceb4fL,0x7b3645d0137b2440L,0x00000000000001a6L } },
  80909. /* 32 << 413 */
  80910. { { 0x9d0dbabb1ec238d2L,0x3f6c4af337e67e7eL,0xf7a6b09464dec6e9L,
  80911. 0x1f53fd502c2724ccL,0x5f333d4751bcaa0cL,0x63cc89baebae3589L,
  80912. 0x2b90af90f0632831L,0x8f6af6cd4d18cfd3L,0x00000000000001ceL },
  80913. { 0x8b34e44576940e65L,0x264a0d8fc1c34c11L,0xd433303f4120afc2L,
  80914. 0x240a12d6f7e738b8L,0x574fa7156e921883L,0x6b2bb33c02d74e8cL,
  80915. 0x7b193e240fe8e9b8L,0xbe954bad506cc6d4L,0x000000000000011eL } },
  80916. /* 33 << 413 */
  80917. { { 0x63299f8ad1979cd4L,0x76ce11cd53a8f2ceL,0x8f5247314756f0e4L,
  80918. 0xb360ef86d6312ae0L,0x26b6aa23146945f7L,0xfc5e0b3453c2b57eL,
  80919. 0x41cf74a99e4fa20eL,0xbc94194f872c03ecL,0x0000000000000179L },
  80920. { 0x30c171bd96d3ac18L,0x6a93906b7a26ef90L,0x60f1820bf5a6d675L,
  80921. 0x2abec262860a7536L,0x82a44ef7a356d631L,0xa00527c8dd13a5b5L,
  80922. 0x009955617328996bL,0x8e004ab9a0e8f5ddL,0x00000000000000faL } },
  80923. /* 34 << 413 */
  80924. { { 0x591f47c9c2db5c7bL,0x83799ff638afcd10L,0x02aca0a07a4fbfe6L,
  80925. 0xe2cf1215d818414dL,0x46330ef3f9419a89L,0xe57b3b7dfcacb608L,
  80926. 0xe2af0b7111de170cL,0xb3dae14ca9f7cb22L,0x0000000000000001L },
  80927. { 0xf518e5500ae03740L,0xaf9575680d43e335L,0xf341260f5fda61ddL,
  80928. 0xf7fabc68d815ff6bL,0x446f516f11bba091L,0x7b6a7a028c2cbe3aL,
  80929. 0x3ef55ec98ead682fL,0xfa11057b08472496L,0x0000000000000105L } },
  80930. /* 35 << 413 */
  80931. { { 0x2ef8dcb991d78c71L,0xea57b096b79b7989L,0xd9cf5cb49b8be524L,
  80932. 0x692d270c0fa151a8L,0xfdd28e1b32b69968L,0xcd3323ae8d8d1e47L,
  80933. 0xfa44d78f4c086337L,0x756f8b1c42359ab6L,0x00000000000000a9L },
  80934. { 0x5d2941884498e4d3L,0x486cc3fb4a2e8a97L,0xb3629ceb4420f08bL,
  80935. 0x23cb3922a710733cL,0x17ad6e1a321478b0L,0xfe521732df1ff995L,
  80936. 0xdc11dffc4dffeff1L,0x5ae4b2e2957afd54L,0x00000000000001f1L } },
  80937. /* 36 << 413 */
  80938. { { 0x4b597ec0dba12c57L,0xb3b2dc7de1fc4b5dL,0x4752e40f15050e90L,
  80939. 0x1fd86c1acda9bff2L,0x5a398964f73d82ccL,0x1f59263b323ec620L,
  80940. 0x350c881919bf5ae6L,0x6736c9f029ecb6c0L,0x000000000000003fL },
  80941. { 0x4c7f061a627720abL,0xc5011823b7be99bcL,0x5ad5f70496a77f9bL,
  80942. 0x9843b728a8f8d2d5L,0x82d03acee3a8b30cL,0xd03952fe2b786acbL,
  80943. 0xe01b07d58d17f32aL,0x21a6c2baa479b6f1L,0x0000000000000156L } },
  80944. /* 37 << 413 */
  80945. { { 0xbd4996a6408964b4L,0xd39f56b289c25effL,0x4b58c175a1935189L,
  80946. 0xeeeb51b457351b32L,0xbad2424c58c15022L,0x88532ce5e3ac5df4L,
  80947. 0x297db1951a613b42L,0xa9826d4bc9b4b0f6L,0x00000000000001faL },
  80948. { 0xf487960c57881c0fL,0x1b67319734f10432L,0x484f2a40f6a2141fL,
  80949. 0xfb9e8fd2449bdb38L,0x088d6e6184f4e1adL,0x93b7cb1a2e4ac094L,
  80950. 0x855999084b9fb3bbL,0x6f601e992f3be966L,0x00000000000000e6L } },
  80951. /* 38 << 413 */
  80952. { { 0x24993c953bb81c62L,0x93e513dfff3eb22eL,0xf23a18b7b756ddd6L,
  80953. 0xa6cfc668247dea49L,0xc2aa1665cd3a8b9dL,0xb5a556189fa99e24L,
  80954. 0x615682b309f23beaL,0x1d669c5bc44b4017L,0x00000000000000a8L },
  80955. { 0x605339e218b6f759L,0x624202ff67b89ad5L,0x679698559145a96dL,
  80956. 0x6ddb181c7e1ba76aL,0x437631e06eb22bbfL,0x41c8c70078e93567L,
  80957. 0xee67a9ae5e3003f0L,0xeadb9626981a58dfL,0x00000000000001a2L } },
  80958. /* 39 << 413 */
  80959. { { 0x47340a8dff6e5e58L,0x597caab368c8ad6dL,0xde8c32ae6b628a7cL,
  80960. 0x694f8cf92168a60bL,0xe41264649434c688L,0x4849f57ba8be6f19L,
  80961. 0x5ed6e3517879dbf8L,0xeaabde98d33e7390L,0x00000000000000b5L },
  80962. { 0xde51fff7393a3029L,0x40930f72b285d593L,0x6cd65dc0ee41a1bfL,
  80963. 0x77c5681d80dfeed0L,0x8f33ecee8afd229dL,0x137a4d675cf8d15cL,
  80964. 0xa7855f8aa67e504aL,0xb9a6700bb52b6c48L,0x000000000000012fL } },
  80965. /* 40 << 413 */
  80966. { { 0x4054b365d1a4a65eL,0xfa395e2aa04b2f59L,0x1c6c3b41bf63d17aL,
  80967. 0xa639fb26abe2aad0L,0x008f81600c9a565dL,0xf5efa9e691061e61L,
  80968. 0x7731c2f76e881f7fL,0x3623cd7c9074b4aaL,0x0000000000000016L },
  80969. { 0x20ba924b1037873eL,0x7b7107acabcfd34eL,0xb492ebb905e13406L,
  80970. 0x6dcc3342f08fd2faL,0x08f3a1d364126080L,0x8fb54869fb5bf009L,
  80971. 0x5e66163282442dcdL,0xbab2d8dd5c21d62aL,0x000000000000003dL } },
  80972. /* 41 << 413 */
  80973. { { 0x526bab49e03531dbL,0x6c2eb8722e649aacL,0x96751e97a364a699L,
  80974. 0xcfffdf6e00d01fc2L,0x40861a4b3d572fa7L,0xfccb951f606b2b3fL,
  80975. 0xf8659daa1950c2bbL,0xb436a4638af98008L,0x00000000000000e9L },
  80976. { 0x35d0267b9b0b76eaL,0xc4c6961226bd292cL,0x098afee2f060dd93L,
  80977. 0xc7cbd9c79843bd5eL,0x137f8b62152e8229L,0x81825a8462142fffL,
  80978. 0x5b25f6e808d3a5a4L,0xdaab67c3384476afL,0x0000000000000058L } },
  80979. /* 42 << 413 */
  80980. { { 0x989bda89821ccd3eL,0xeddc91644cdc3d8dL,0x6a06cd546cf20b6fL,
  80981. 0xf53d75fcb49b3f50L,0x18e2b09f8e214907L,0xff1c4a578857d58fL,
  80982. 0xd2ea3b54af88ce82L,0xc40ea7f424289152L,0x000000000000010cL },
  80983. { 0x6e9760861ae764a2L,0x79aa8d11fad90855L,0x4e04c7c51ac4067dL,
  80984. 0x4e48d0714b54abd3L,0xc15e12f487c57ef4L,0xcf0dc49e73dea84aL,
  80985. 0x87d2022055e54611L,0x20aa68d70b68bb26L,0x000000000000017dL } },
  80986. /* 43 << 413 */
  80987. { { 0x90ddc3205b3c6e1cL,0xaa2d087cbff4a8c1L,0xbdb8dcf2062349a6L,
  80988. 0x06b762825d602038L,0x9f0411cf6739dce2L,0x603ecc513feeaa4fL,
  80989. 0x8b86e3803aba1b86L,0xfdbeff61e0da26dbL,0x0000000000000050L },
  80990. { 0xd403b2587366a1ebL,0xfdd4afc3fe7e6844L,0xc55a20ed2e8391dfL,
  80991. 0x31d85dd7c875e460L,0x50afaf2183d6c41fL,0x0ddb52a859e9a2b0L,
  80992. 0x5481ec9d971ed465L,0xdd22f0619de7c8d1L,0x000000000000011dL } },
  80993. /* 44 << 413 */
  80994. { { 0xa62823964d464d88L,0x4723b946caeab8f1L,0xe68a25c31a3f1da7L,
  80995. 0xb8c1bae54696044bL,0x7cdc5fa6c27e2468L,0xd54c65dc55d7b1c5L,
  80996. 0x9fe5872486b67022L,0xe4e5bf99be39934fL,0x0000000000000069L },
  80997. { 0x1e79773b464a3c68L,0xbbdccc3899fcf4caL,0xa3023f20e69d9927L,
  80998. 0x39de0edb203fce2aL,0xebfd0e18fab9a998L,0x14b7b1e1bc60d079L,
  80999. 0xfa9a20add10760c5L,0x5050fd3e820f2a0eL,0x00000000000000a8L } },
  81000. /* 45 << 413 */
  81001. { { 0x4d4028e3962d3e22L,0x221795bb8df85019L,0x3e93eba3b7f3dda7L,
  81002. 0x18d2aa25ba5f7d48L,0x5811dbcf5b36ec49L,0x74878d24bec9449bL,
  81003. 0xb331d19575d88654L,0x68d14252ee93f20fL,0x00000000000001f6L },
  81004. { 0x4c3947ef517f4d8fL,0xac81ff08fd781b82L,0xa8183a60afd02499L,
  81005. 0xf11fcac98cbf1552L,0x639c9edd2464822eL,0xa6a0974551617891L,
  81006. 0xf475d74536c25dc9L,0x0e2df3059e3de853L,0x0000000000000133L } },
  81007. /* 46 << 413 */
  81008. { { 0xc412881ffe8e6e27L,0xad72506e12423bbaL,0x557e822a887695eeL,
  81009. 0x42741b0e91b1f6c8L,0xcd108283790a1959L,0x526c066463986f8eL,
  81010. 0x7b3c480388675baaL,0x7c7a94618d2b8f28L,0x000000000000012bL },
  81011. { 0xf3b31c681f34e4e2L,0xe27f6de0d22cec8eL,0x3cb7d2770a843a7dL,
  81012. 0xab143cbe02ae4431L,0x9b786935cce27ca6L,0x63c73cde9c515282L,
  81013. 0x0b6854a1f1ef32f1L,0x843fc37eb5d08cddL,0x00000000000001e8L } },
  81014. /* 47 << 413 */
  81015. { { 0x81d165c841a1e954L,0xba30ab7ad97a9a90L,0xebe7c890998f67d2L,
  81016. 0x972185aa63216872L,0xf9859ed7eb4ff20dL,0x13dcc62399e6f6a8L,
  81017. 0x5d2cf8ce47a6b661L,0x2260e1445fa93eaeL,0x000000000000004dL },
  81018. { 0x062cb12721186595L,0x15bb3dad9cdbfe1aL,0xad2bae7b944c54b3L,
  81019. 0x0dfa4da0ba724aacL,0x6b342cc6bfe51025L,0x4d8bf909d9c2630bL,
  81020. 0xb374c6c6131de964L,0x475e6872835f73c1L,0x00000000000000e1L } },
  81021. /* 48 << 413 */
  81022. { { 0xc296b1f684c1985aL,0x971547c5aa4f7132L,0xe3705e1183e168cfL,
  81023. 0x8d00e588c935a3deL,0x853154235262789bL,0x46f2c2ca005f7c35L,
  81024. 0xfbfbadd217ea733eL,0xb32a38b6c9e496a6L,0x00000000000000d8L },
  81025. { 0xa82e95e5cec8d3f9L,0x8a1efca3e378be9dL,0x6e114d078080d874L,
  81026. 0x514dc754fb9c056aL,0x5781be8966ef6c48L,0x0586bd3834b1ebe3L,
  81027. 0x0e31b44f8a8b161eL,0x20c2b78ad4d62dd5L,0x00000000000001dbL } },
  81028. /* 49 << 413 */
  81029. { { 0x97a8c5a9870c8cf3L,0xe01acc6f904f3673L,0x42ee78a16905580cL,
  81030. 0x237eb3fb4e2f3c90L,0xab1806eabe2deba1L,0xf2b6643f66c68eb3L,
  81031. 0x75e0a1d4a509adf3L,0x7a7dfcb64779af07L,0x000000000000000eL },
  81032. { 0x951ef5e34263b572L,0xe203f49b636a5067L,0x8d229b333377c5f1L,
  81033. 0xd3427aa4c030994eL,0xdc7861d91a84d51cL,0x6454562f195e282cL,
  81034. 0x74a7c351f6882e78L,0x4eaefb0f0798f8c2L,0x000000000000018eL } },
  81035. /* 50 << 413 */
  81036. { { 0x2b2188b680f1f0b3L,0xefed65ae394debd7L,0xbeda0fe75d7c51b5L,
  81037. 0x3989a2b6cd0db074L,0x0f5406253d9437f6L,0xf58203c70c0169a0L,
  81038. 0x400e35e9bbc38332L,0x3ea9b7a961baeca4L,0x00000000000001b1L },
  81039. { 0x58cc97c45059b23bL,0x8f5e67fccf7bd0e2L,0x6baec2aedfc1882fL,
  81040. 0xa0f796283aa69ec4L,0xed7986f2a6d520cfL,0x5fa28f4ac454e929L,
  81041. 0x5835f87541151c50L,0xa3d1fdce3143de1eL,0x000000000000002fL } },
  81042. /* 51 << 413 */
  81043. { { 0xea6629b82b899daeL,0xb372b86257edbb50L,0x053f9c62cd45f9f8L,
  81044. 0x395c0f8529604bb2L,0x24100041a1e9e16aL,0xd89d20d72b979b9cL,
  81045. 0x4ff39f96845213e8L,0x077d286e70ca9f63L,0x00000000000001d5L },
  81046. { 0xa250b87c56f1bcacL,0x9d71c979886fd8b6L,0x079a52682c052432L,
  81047. 0x80d965ccbce043bdL,0xb7590694806ee3e3L,0xa829475e77f75c78L,
  81048. 0x6311b404667c2bffL,0x88343a1c8aa15256L,0x000000000000012fL } },
  81049. /* 52 << 413 */
  81050. { { 0x10e4b5a2ad1c282eL,0x6f768a2376e6a2a4L,0xd92b73cdcb93da72L,
  81051. 0x477c839eecc382a3L,0x761d18d5a70b8e5cL,0xd09779d2270ba0e8L,
  81052. 0xc2c8eedfb2ea6bbfL,0xeadbb724599593b9L,0x0000000000000026L },
  81053. { 0x6eb0aa1c8ec01fdfL,0x3dc88cd0b3ded71eL,0x8c4bcd807bc58ea5L,
  81054. 0xea9404def976a709L,0x97e33a53d73a2a75L,0x8c20e2ea165b3e6fL,
  81055. 0x4193a051ef0c6a5bL,0x1edf6f8c3fb398d6L,0x0000000000000016L } },
  81056. /* 53 << 413 */
  81057. { { 0xa1718bfdb4a3de01L,0xe962902ea830bb59L,0xf25d70441a38302dL,
  81058. 0x285917cd4c16cb5aL,0x0b86ce611be8e2e7L,0xb1f2900c6e96d268L,
  81059. 0x18d5185e834190f9L,0x96c4db4bdacbe228L,0x00000000000000afL },
  81060. { 0x7b57f2eeec9822c2L,0x36ceebfd9b46f49dL,0xb11fa678043a7394L,
  81061. 0x75a9f067e86cb17dL,0xd13a22746e1185b4L,0xa7137a6a24b92829L,
  81062. 0x30f74cfc2edb7707L,0xaa14984f56fca5beL,0x00000000000001eeL } },
  81063. /* 54 << 413 */
  81064. { { 0x85d2856b0231dafaL,0xd7fabb5108028fbbL,0xca0066e8602a5eb9L,
  81065. 0xc6d7512e885466e4L,0xe5d1fea841615e58L,0xa2de9d5f996b2a88L,
  81066. 0x0cbd9831554a3c32L,0xabb8d9cbd675917eL,0x000000000000003dL },
  81067. { 0x10fd5eb68255009fL,0x47fd9bb733d24399L,0x4a4d9629ac5cd8b4L,
  81068. 0xae5aa75cbb1b9747L,0xa6f7516e98397c51L,0x38d011e92ed7e028L,
  81069. 0x3e2e3a3357c86547L,0x13f713fa701e9db9L,0x0000000000000122L } },
  81070. /* 55 << 413 */
  81071. { { 0x2662f1810115f051L,0x7e2fe420aa76e71aL,0xe198883adf6a9851L,
  81072. 0x9e4698fb250b8ce0L,0xa9c27caec73858a0L,0xba746550df3344aeL,
  81073. 0xc7c7a7a7a6e81567L,0x942c6f66e35727b5L,0x0000000000000187L },
  81074. { 0x08a018d6e8a4fbddL,0xfc08d2fd6798242aL,0x093b8894b21316baL,
  81075. 0x4320f88aea4ef1adL,0x28fe97c8e6141abbL,0x50ad5c65d21bc6d8L,
  81076. 0x0840a2a4473c5901L,0x20297e1baf604adcL,0x00000000000000a7L } },
  81077. /* 56 << 413 */
  81078. { { 0xea6e467aaeb0d0f0L,0x9fa030d9eb5ee813L,0x9be99873515cdbf8L,
  81079. 0xe608db63a805d16aL,0x5e6255dd9ce2f64bL,0x2d88fb427418bb31L,
  81080. 0x147c74fee7ac60bfL,0x34df0171672b0f90L,0x000000000000004dL },
  81081. { 0x6c1f267177f1f4feL,0xf64d4242138fa188L,0x55ab5ddd4c0097caL,
  81082. 0x354bb5f3bdbdb465L,0xad6142d579060e68L,0xd9adc1101017b5fbL,
  81083. 0x656ffc3a9f510299L,0x568945bd741ebe49L,0x000000000000009fL } },
  81084. /* 57 << 413 */
  81085. { { 0x3b3b40ee0d593a59L,0xd8655c25b704b4d9L,0x58d47bae4ce690aeL,
  81086. 0xe99ebb1f44bfd996L,0x5039cb719e993a47L,0x0e30fe78f47ed3a0L,
  81087. 0xf73f450b5bd344f2L,0x35a41fc7ca7179a1L,0x0000000000000053L },
  81088. { 0xc9b89a7d4b94e4a7L,0xf84e3eae978f1d58L,0x18ac261b1ea29601L,
  81089. 0x004424d32d91713eL,0x61bfe2f4e594f2ecL,0x444d234da62b8403L,
  81090. 0x77c35ae6dc6b4b34L,0x75fbae457da07a2aL,0x00000000000000deL } },
  81091. /* 58 << 413 */
  81092. { { 0x42c072b856afffc1L,0xecf5aac3405b1205L,0xe64a6af0f8f4c098L,
  81093. 0xb29e488cc9cdf82fL,0xa859c42dabc487e7L,0xfe6bd7e9464bdd74L,
  81094. 0xdee72074eafd8d10L,0xa9da876d40f4074fL,0x0000000000000020L },
  81095. { 0x733dfb9a970d4e05L,0x1560161d4e08df26L,0xadf0d94e3675567fL,
  81096. 0x0e063d520703fd74L,0x91f7dfdb32500e7dL,0x4d20c3881456db62L,
  81097. 0x49311bdb8b5ddfe7L,0x6e844794f76e2067L,0x0000000000000071L } },
  81098. /* 59 << 413 */
  81099. { { 0x31c81bd38d139215L,0xb2e03ba0aa31ea08L,0xe8e0824db68f165aL,
  81100. 0xfea377926694a8d8L,0x3f967e438274eb91L,0xe4bd0c82cca1557aL,
  81101. 0x1daa85547bcd3067L,0xd3334fc48baaaa35L,0x0000000000000141L },
  81102. { 0x9281ae374fe8c1f5L,0x91fe949cdc284160L,0xb50a91b15fc70688L,
  81103. 0xbffd0e40b7ec7809L,0x2ec95feacf809d19L,0xbfa250a6f70c5c78L,
  81104. 0x3c3111505dccc3e7L,0xd2d9107cbddae7f0L,0x0000000000000136L } },
  81105. /* 60 << 413 */
  81106. { { 0x30a7aebd85a53d34L,0xf42e79a34ffe774dL,0x60e6bbffd567b09cL,
  81107. 0x30c427bee46a553eL,0x3083088d3ef4ab24L,0xa2959e2b8411405aL,
  81108. 0x72732346f6ec7452L,0x260a48eb44d2b722L,0x00000000000001c9L },
  81109. { 0xb5f775e0b1160f42L,0xd7b0ebb4266a2d91L,0xf66d1fec455c9e75L,
  81110. 0xbb3adc9e66d89a69L,0x0c49158dd66a3216L,0x5eab18da51e0df4bL,
  81111. 0xc008165e7ca542dbL,0x6007ee56065967f6L,0x00000000000001afL } },
  81112. /* 61 << 413 */
  81113. { { 0x3e43fea8d59d042dL,0x826f5eccd135dcddL,0x937fac11e783cd85L,
  81114. 0xe514de033495a28fL,0x16da07dc0217f127L,0xdd4edb0f9f1049e6L,
  81115. 0xf4bab49015317cc4L,0x8a4d5834510edce9L,0x0000000000000048L },
  81116. { 0x3daca528a6ab3760L,0x4a210108aa22cdb0L,0x8f7d2289cd53851dL,
  81117. 0x494ff277eaf66a0dL,0x406301d01b33a9d5L,0x1993932f8d87f67eL,
  81118. 0x20ae660e73829af3L,0x3bb045bf23729097L,0x00000000000000eeL } },
  81119. /* 62 << 413 */
  81120. { { 0x3131547bdda780aaL,0xec4bbfd7618a818bL,0x06a9305b376c9580L,
  81121. 0x7af0133e4068efa0L,0x089725c5c0dd9815L,0x41620e90380fc678L,
  81122. 0x3e93df46704179fdL,0x350b0a9f498b064aL,0x00000000000001c4L },
  81123. { 0x46d40dfd908a6651L,0xe872529e45405cb1L,0x71f9883ba68ee627L,
  81124. 0x77732ecd56e0c803L,0xcab27f558c00c613L,0xd74f55bc6d431b96L,
  81125. 0x84426040a332bb37L,0x9f1aca8ac247e7adL,0x00000000000001f4L } },
  81126. /* 63 << 413 */
  81127. { { 0xd491491efd080c64L,0xfb48d7df52544552L,0x2dc3bca98e495dc7L,
  81128. 0x4a82f1464dd3d735L,0xcd7034f325427421L,0xf25d1072fc1e5323L,
  81129. 0x1d90639574c48551L,0xd3383ab8d11bc0e8L,0x00000000000001eaL },
  81130. { 0x9b2bcccbe3d16f54L,0xa1f4b6eb85354b8cL,0x4c6a0456950886a1L,
  81131. 0xa36a9009f5394ac9L,0xcfd0a2a221950a10L,0xf4ca275ede4cff54L,
  81132. 0xe755c08c693839a3L,0x4f04cd6185190443L,0x0000000000000190L } },
  81133. /* 64 << 413 */
  81134. { { 0x61d252da63d7540bL,0x5977687dba87605eL,0x53be7d04f8f3558eL,
  81135. 0x76c4c49c99f1aaf0L,0x129e0bffce8bf731L,0xcdde32a166a1555bL,
  81136. 0xedb9e9e5d4bc5b6aL,0x675b5d1252bc3c6fL,0x0000000000000130L },
  81137. { 0xfb3dabae91b491f4L,0xef1967c39ea0b6d1L,0xb68a0e75e6370d8eL,
  81138. 0x6dd017fce2ffb7b5L,0x7e3dc82606d66169L,0x802b269056271658L,
  81139. 0x117a4ee3c3da3c9fL,0x80bb9fcf167d09afL,0x00000000000000d0L } },
  81140. /* 0 << 420 */
  81141. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  81142. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  81143. /* 1 << 420 */
  81144. { { 0x73a6ba3810a8c4fbL,0x5153d959ecc93e5dL,0x7ca58012b59e9871L,
  81145. 0xedc0dbefafd442f1L,0xb9050a22b9cf7691L,0x3d1e96fe464d017dL,
  81146. 0x541781a482074dcaL,0xedce0db38b355413L,0x000000000000006bL },
  81147. { 0x1a13e3eeae2b39c2L,0xc431081d3c218179L,0x5cbc14c1ae68b7c6L,
  81148. 0xcf2559bb9005a304L,0x14d7c1e92ec7aed5L,0x5c379bfe1e2e2f0dL,
  81149. 0xfc33e4d2886f0cf9L,0x2f14e7d0ac4e1d17L,0x0000000000000071L } },
  81150. /* 2 << 420 */
  81151. { { 0x27e639c92c82d5c0L,0x035527b8104b9d44L,0xd0a7f3c88a17be05L,
  81152. 0x3c529b91813cb246L,0x296074b2b8e54b08L,0x660118578dca703cL,
  81153. 0xfa30e9de41606a8dL,0x2652c08c9ad1d94aL,0x000000000000006eL },
  81154. { 0x09724ba6d42d26b2L,0xc0a02c2e25eecab7L,0xb004174845e7fb83L,
  81155. 0x24e80b604503354eL,0x4f3045f9da55516dL,0x97d76335cc7b2627L,
  81156. 0xc8bfd79bb380f10fL,0x987396522becbc27L,0x0000000000000146L } },
  81157. /* 3 << 420 */
  81158. { { 0x9394910f0093fd88L,0xff7760d2547fc3e1L,0x7b81fcf5a904c24eL,
  81159. 0x120a558dfd80644cL,0xfad07009a715d6fcL,0x24bd3ad8abf6246fL,
  81160. 0x7c5b04c779c968a7L,0xc7df9266108ad586L,0x00000000000000d3L },
  81161. { 0xe37db2e0b655b6e1L,0x0a029277568c6373L,0x0bd0526f428a6b69L,
  81162. 0x54bd7b9b3d4f3847L,0x42caca2fcb6bd60fL,0x657b0f1f6d10bfa6L,
  81163. 0x97f9f99d0fef238dL,0x93171b4dcc3795a8L,0x000000000000009dL } },
  81164. /* 4 << 420 */
  81165. { { 0x83fa275b0ddd2ba9L,0x71f5b43dbaddbdeeL,0xb67814112244290bL,
  81166. 0x075580601244c56cL,0xfdd85cce2ce4fc6bL,0x7fc52dace53b1502L,
  81167. 0x3243b95255a68467L,0x06ef6a6540900cefL,0x000000000000009fL },
  81168. { 0x562d06ac65457f82L,0x9dbd63519a9e8e58L,0x0d218265496d9349L,
  81169. 0x940bf3f4a218ec30L,0x1e9c0aa3d605883dL,0x2cb9bcc6427f8a5cL,
  81170. 0xba3119b23685376cL,0xfc2c2f0df0c5783fL,0x00000000000000dcL } },
  81171. /* 5 << 420 */
  81172. { { 0xb7b63d0fa73a1aa4L,0xfadba5955532ec0fL,0x19a61405ff9e47d6L,
  81173. 0xd9a44ef1aa210afcL,0xcab8bd2c3c3e2b07L,0xdd8f8d154e1428a8L,
  81174. 0xa5eabcc591f63ff2L,0x7dd9635666f368c9L,0x000000000000018aL },
  81175. { 0xb35c9e17d84c056dL,0x0f27cd01eddff5deL,0x855c10a92c0d1066L,
  81176. 0xc7aee7feb4bfb648L,0x9f9d978d5803338bL,0xfca5a25f4f4f2b95L,
  81177. 0x9d5d5fbfadf37f8aL,0x13482b1e5059c65cL,0x00000000000001a4L } },
  81178. /* 6 << 420 */
  81179. { { 0x6e95a3aefda1ffdfL,0xc4014ebcea5aed3bL,0x915719f862b64816L,
  81180. 0x2ea08a71de90b2f6L,0xd2b45d301b4836dfL,0x5647580021840212L,
  81181. 0x169110f6ffca7e1aL,0xb32ee8a9f5f43dfdL,0x00000000000001bbL },
  81182. { 0x7ba4dcd71962c792L,0x539fabac5fddda2dL,0x48913d37cfc7b6c2L,
  81183. 0xaa2e0fb009d93b9fL,0xa625455b63f79f1eL,0x0f26f80b7c45060aL,
  81184. 0xdba77c6793ee96fbL,0x54ba37408711afcbL,0x00000000000001eeL } },
  81185. /* 7 << 420 */
  81186. { { 0x95da54447500f10aL,0x6935ca2aa6b14d2aL,0x58f4555c30dc9660L,
  81187. 0x949ec82aac954b30L,0x94027576e7fa5c4dL,0x035d525a21960c7fL,
  81188. 0xe3ed1e66c2092c76L,0xbd151aa3df9779a1L,0x000000000000012cL },
  81189. { 0xda7d7c3de59368feL,0xb4c240648ddce4fcL,0x05360bf847eb7a34L,
  81190. 0xe0889804700d30fdL,0x99e1add207f447f6L,0x30e5b7574a4e8762L,
  81191. 0xee9f06953329b2fdL,0xbb6fd0fc6894a597L,0x00000000000001a6L } },
  81192. /* 8 << 420 */
  81193. { { 0xb70f255cee12880eL,0x0fcff02402831c27L,0xd92706fe87241978L,
  81194. 0x75c7a550fb475daaL,0x128971bb889e3be2L,0x032c8d2651f95444L,
  81195. 0xabe4d7dd7251b1c7L,0x8c903fae332e627cL,0x00000000000001faL },
  81196. { 0xd00f7bfc32b6fc85L,0x33ebf5c256e1cd16L,0x0cb224fd42b24457L,
  81197. 0xfd0d2136a0ec189cL,0x4718b1736cce225dL,0x403528f6e04d9e2dL,
  81198. 0xc7312b00e6e6e81dL,0x3d146f6002202a72L,0x00000000000001b1L } },
  81199. /* 9 << 420 */
  81200. { { 0x1a20556e1034bea2L,0xd717d9172be51df5L,0xe95f091286ac317dL,
  81201. 0xf3923fbec1304ee3L,0x3f763629e240f768L,0xcbf933bcc8c2af96L,
  81202. 0x0e7cbef612c667f3L,0x6f01599295d25e69L,0x000000000000012fL },
  81203. { 0xf941627f4b56bdafL,0x06ee3b59eec4ed47L,0xb2c0882e4d951b00L,
  81204. 0xf5304c7c8652dbcdL,0xf59e2884a6245127L,0x2f9752c14e4444a4L,
  81205. 0x91d5fa7af8ded8f5L,0xe5bde5985c3a5632L,0x000000000000003dL } },
  81206. /* 10 << 420 */
  81207. { { 0xd9e55a11a0d1be9cL,0x4c3bfaf24c1c1b10L,0xb0d8ba7d2e8bdca5L,
  81208. 0xd67631c3e2b2f07eL,0xa7bc810f085dc2acL,0x0df53d51ea54ed35L,
  81209. 0x09cf707235ba17f4L,0xd6bd518ebe70853dL,0x000000000000004aL },
  81210. { 0xa7cd3940b78c4776L,0x9ba0f564e9be7ca5L,0xc40944c61c45432eL,
  81211. 0x44fff573472b1abcL,0x80ebafa1c1ec6836L,0xff7eb86e0c55f71fL,
  81212. 0x20c8e2695b805b7cL,0xdf0e571b16aa5eefL,0x0000000000000199L } },
  81213. /* 11 << 420 */
  81214. { { 0xb765a24b2af340d9L,0x958178050b487cdeL,0xf2b88c2cf47f322aL,
  81215. 0x7fa33ce51ee6fa6cL,0x98002c9a11a0096eL,0x5507eb0bbb6e514dL,
  81216. 0x7b3dd65c1a52bdceL,0x80a29cc867bdeb7fL,0x0000000000000069L },
  81217. { 0x0cdc241d6d7c8921L,0xb1506bfc039a455fL,0x14ecf2f7ee18c2bfL,
  81218. 0x3317ba71027f00feL,0x2c12d6706662fd91L,0xe9cedbfd87d5376fL,
  81219. 0x3e0f51b5b3bc972bL,0x2450c347b2c1a068L,0x00000000000001e7L } },
  81220. /* 12 << 420 */
  81221. { { 0x484732401f8815a7L,0x46168826199e1b61L,0xbb9a52bc07807f97L,
  81222. 0x7b3824d9ba31351cL,0x67cd58b460a2da3cL,0x0d99d6d621957903L,
  81223. 0x7c3380d37b459b99L,0xdd0a602353b07588L,0x000000000000010cL },
  81224. { 0xebc49bc0ab2213b8L,0x540f6fc558615ccaL,0xe873ee56d8bc64cfL,
  81225. 0xaed30c80ffe085b5L,0x03d39214d0de645dL,0xc6ec44b959f64e2bL,
  81226. 0xffafef87c7f37e31L,0xef7985a21ea39c70L,0x0000000000000159L } },
  81227. /* 13 << 420 */
  81228. { { 0xcddb65c37f55b79aL,0x6e26c45f5d85b33eL,0x111919ceb1470acaL,
  81229. 0x7aa294e0e6c06007L,0x35207de63c009509L,0xcf119448ddd0c472L,
  81230. 0xc01bf29c3c05546dL,0xadf8465854126fe9L,0x0000000000000054L },
  81231. { 0x2c13d69dfef83427L,0xe539c2da0960af28L,0xbe374a8297ccc699L,
  81232. 0x8020d224523d7f91L,0xdab7f7d6531b6154L,0x37ae51127cfaaf1bL,
  81233. 0xb5e3e2036f69e8a9L,0x4291b0454b708b58L,0x00000000000000e9L } },
  81234. /* 14 << 420 */
  81235. { { 0x4c085162a78092beL,0xcf80206180d90634L,0x95c122b69f81ff39L,
  81236. 0x5c936cacaf784312L,0x9f4796ae350bde15L,0x0fd2eacad138a2f3L,
  81237. 0x5764f1cec825ae43L,0xc9b9d5ec9b4f1332L,0x00000000000001adL },
  81238. { 0x3049e55456c15c19L,0x61c0dd81e3fcab36L,0x2132d9b2376e573bL,
  81239. 0x875184b1c05ee74cL,0xc37f8e51a427b9e5L,0x6a2fb427e6c5b9d5L,
  81240. 0xcf13c1ef7b754328L,0x146447f8d1749292L,0x00000000000001e3L } },
  81241. /* 15 << 420 */
  81242. { { 0xeb3388479418ced8L,0x68f55b32506ed21cL,0xccdb0bd335ec2dfdL,
  81243. 0x63b075e8b65f515eL,0xd3d07af8f6905524L,0xad5a170ad1589131L,
  81244. 0x97ffc56d61582a3cL,0xf15add9a34c2d2e4L,0x00000000000000e0L },
  81245. { 0x79d0330ef5d91b62L,0xf3e8f69ce46eb580L,0x1b5ea4a8067e7599L,
  81246. 0x425084336b335559L,0x85863c2eb4ad41bdL,0x9572cd16aa1db8fdL,
  81247. 0x55756be84f205835L,0x82ed485f53de8f6aL,0x0000000000000049L } },
  81248. /* 16 << 420 */
  81249. { { 0x7d6e42404e1080a4L,0x5cf6c427e1adb078L,0xe74ec6033d594e28L,
  81250. 0xc0185404bdf853f2L,0x287d94dec3335717L,0xf735656ac3179807L,
  81251. 0xd356f2bf604e93f7L,0xb1fdc2f2cbe27815L,0x0000000000000151L },
  81252. { 0x7b17e356da1d3ea1L,0x0ed57d7ea7af9610L,0x4a6ac3e53ae89c0eL,
  81253. 0xc8f722b85f82b4a3L,0x453d5a4a7f0850faL,0xd6f79d237b3ac4a3L,
  81254. 0xe1c9dfc20dbae800L,0x56e4f0f5c4b9258eL,0x00000000000001caL } },
  81255. /* 17 << 420 */
  81256. { { 0xe80852c1ddc395faL,0xe58da639cf6e9427L,0x2d80ef4ccf9f6f4fL,
  81257. 0xfc2bc3b9469f9ec9L,0x90dd2047b5059098L,0xbc7dc5b8a38a135dL,
  81258. 0xba7a504e14d5187dL,0x1e5cea620bf39092L,0x000000000000016dL },
  81259. { 0x71afc93587e487e0L,0x5ecc86b7ef01d44fL,0x0987add313d2d4e4L,
  81260. 0xf64716e189b1c583L,0x2ef8a366b9927a7fL,0x83bf2fb6a43e9f9cL,
  81261. 0x16f2b1856dfd62d8L,0x0720e52aeae049a7L,0x0000000000000027L } },
  81262. /* 18 << 420 */
  81263. { { 0xb372ca6459f57bf1L,0xd71dd5777941180cL,0x71685edf4e9ff4caL,
  81264. 0xe587c1c10ea50561L,0xa8807733b4de6fa7L,0x37fd0baaf54d261bL,
  81265. 0xbd41723b63d60c25L,0x1db8a7d40ee723b6L,0x00000000000001d2L },
  81266. { 0x4ed434f57731688eL,0xcd0b204990872443L,0xf1cf19d6f08bcd59L,
  81267. 0x0a2421868d0e3d48L,0x05071d83631b9d75L,0xe6c824d71f5ea438L,
  81268. 0xee72e77f733eab36L,0xa2edb32480653b67L,0x00000000000000efL } },
  81269. /* 19 << 420 */
  81270. { { 0x3c66f086179844eaL,0xa6a8ea1bd3130343L,0x392cdad799fc9f0bL,
  81271. 0x3394632e63b0b646L,0x29bf4836f7748943L,0xff18e250c24214deL,
  81272. 0x6758a91d0c636fd6L,0xd2cc47e168fee4d3L,0x000000000000013bL },
  81273. { 0xd6d1f413ef6d4af9L,0x0092046fc87c16e4L,0x93d8aa9f3ce6f5d9L,
  81274. 0x8f7642089eeb6b0dL,0xb40ff54c3cf6b39eL,0xafa404ed994e9d85L,
  81275. 0xe0aaa8228a7a8b6fL,0x74e6a937fd01cbb6L,0x00000000000000c6L } },
  81276. /* 20 << 420 */
  81277. { { 0xf52e68cc04a4640fL,0x469ce7167a073c4bL,0x3ef46bb0bba28a24L,
  81278. 0xb963bc66d966a270L,0x5195fa9dcac49906L,0x3265912718c2f3bbL,
  81279. 0x5bb5b809a43a8d57L,0x654653503806ba70L,0x0000000000000163L },
  81280. { 0xb3ddf2d683ef27eaL,0xc490dbad6a698a1fL,0xa13676175dbef692L,
  81281. 0x2a41f99f4a8d7af3L,0x3a6ed906f7cd77e5L,0xc842b863533e5cfcL,
  81282. 0xc098708ee1bec806L,0x9c21e280e32088cfL,0x0000000000000000L } },
  81283. /* 21 << 420 */
  81284. { { 0x8404d82c0f06d9bcL,0x547289a5294acf16L,0xb468ae64c502621dL,
  81285. 0x985c267fb3b353a2L,0x4e11dd3e5721f0b2L,0x2f5cd568ce1a24f1L,
  81286. 0x1dedf5ebb5fb7148L,0x42a82389c1626fbcL,0x0000000000000110L },
  81287. { 0x8543730601bfc317L,0x7f7784a2e5cae3adL,0xf3dacc6469be54d6L,
  81288. 0x038528a3c9d9e32fL,0xf98309683a6f6357L,0xf325307d3f837cfeL,
  81289. 0xe805afa33af3d0c6L,0x275272065252e357L,0x0000000000000078L } },
  81290. /* 22 << 420 */
  81291. { { 0x0aaa344b99371256L,0x0a066fe2d37c69aaL,0xdf78a35d25e09230L,
  81292. 0x53c1bd11d8dc7960L,0x02a2444bc9fce3efL,0xad94f6321b02c0f9L,
  81293. 0x827e0e363ab86bb1L,0x378fd466c7c1a0a4L,0x00000000000000ffL },
  81294. { 0x94780574032e1eeaL,0xc220064001cb9b20L,0xa27c53bbaa195a72L,
  81295. 0x41cfa39c1fd255aeL,0x0727c31a99f3b693L,0xea608501ae941816L,
  81296. 0xf6f564d91ffecb1bL,0x78a17e5e5f980bddL,0x0000000000000188L } },
  81297. /* 23 << 420 */
  81298. { { 0x8bb946e2dfa393a4L,0x08fb2f81f615c758L,0x1db09d68b2e74865L,
  81299. 0x470d784d3fb6b0f4L,0xd7e9135501b6735bL,0x8b7d570a051cba9dL,
  81300. 0xfc3e0b2c70b205c5L,0x06869d5e1e7cbb3aL,0x00000000000001adL },
  81301. { 0x55ca4fd936ef4edbL,0x69d852beecc47c2cL,0x1bb04f285c5b235aL,
  81302. 0xbc4ab04d098a7ba8L,0xcc8ac9027b5f540eL,0xf538468155d8047bL,
  81303. 0xe494d2587ade6e54L,0x7f6619105cd2e315L,0x0000000000000134L } },
  81304. /* 24 << 420 */
  81305. { { 0x9f89d5bb56aa4115L,0x63fbfdcac2d35218L,0x595276045879b205L,
  81306. 0x546e9805863191fdL,0x01d6bb2b492bbed9L,0x837d7e9c73daa6dcL,
  81307. 0x3d3a90f2363a7a49L,0xb50a603d703ec617L,0x0000000000000160L },
  81308. { 0xc7d60aa51d767edeL,0x78b275545178ee0eL,0x45d33bfbc598f46aL,
  81309. 0xdb05f976bf59b320L,0x4d4d3206f704d3a5L,0x883fada582590e40L,
  81310. 0xe9369fe09ef9a17eL,0xc1d11e068661cad5L,0x000000000000009dL } },
  81311. /* 25 << 420 */
  81312. { { 0x76b3e52bd80b2b0eL,0x1ddeab08d57b3e26L,0xadeee95e05d4095cL,
  81313. 0x8a441ed876b470c5L,0xb40ea63b598bb942L,0x7a69955764e9311fL,
  81314. 0xf41e2dbda3b34c65L,0x36041d213038b04cL,0x00000000000001a0L },
  81315. { 0xa8630639aff87e50L,0xcf330929a9050224L,0xe1343f8f9555f24fL,
  81316. 0x7b2b57fd4486e5beL,0x901a1fa3892f8985L,0x48ecf1c0ba0578f9L,
  81317. 0x062036a458c5803bL,0x64db8ad3d495e812L,0x00000000000000b5L } },
  81318. /* 26 << 420 */
  81319. { { 0xd828a1eea7cd3d7cL,0xa39918741c46e505L,0x2907f22b977a89dfL,
  81320. 0x1a97284ea8bda785L,0x3be00be53e2c7eb8L,0xa09b9df661392237L,
  81321. 0xad6d2e582734a180L,0x9c8fad43f305fea8L,0x00000000000001b1L },
  81322. { 0xdf8354b4d3157befL,0x1bbbb2ea3fff9736L,0xd875650ab541b7d2L,
  81323. 0xa219b4ff11f808dfL,0x8fddc92292b811e6L,0x8ae8e5e556e34e2fL,
  81324. 0x9c90ed9d431f2ef4L,0xb83c8e8d6e5aeb06L,0x0000000000000033L } },
  81325. /* 27 << 420 */
  81326. { { 0xab542a3bec6d5a30L,0xf3a89c0cbcedbe21L,0x06d93f10f42b171fL,
  81327. 0xc05c30b19b2f005bL,0x4402de5b488c69b1L,0xc4fb5dac03bff7ceL,
  81328. 0x8cd55dad7ab06022L,0x52af902df9b2cfafL,0x0000000000000193L },
  81329. { 0x16f1519f32e721a4L,0x868f20628f21c68dL,0xd0af3d8f1d1b6568L,
  81330. 0x476cabdc0655b4e2L,0x180bc7c910912bd7L,0xccbe77e248758e83L,
  81331. 0x5248fe84c984174fL,0xe69a6bcc64f9eeb5L,0x0000000000000073L } },
  81332. /* 28 << 420 */
  81333. { { 0xf736440000feca1dL,0x037b3d49852c31b8L,0xea78fd256c6687b5L,
  81334. 0x2ebe2e7bf447b783L,0x654f16b156d7f1a6L,0x8f71c03583b9bec7L,
  81335. 0x26211de5f46e3a73L,0x64c26d1d9d823907L,0x00000000000000d4L },
  81336. { 0xf055c6a0dd7faf2eL,0x0f98d13a2ca825c0L,0x539a62a67bc8d8dbL,
  81337. 0xadc25a49b69842dcL,0x8a5f304557914947L,0x9c8541cfdc1ddb47L,
  81338. 0x9e133348f4ec01faL,0xd0fe103be3eba2fdL,0x00000000000000c1L } },
  81339. /* 29 << 420 */
  81340. { { 0x5b1d13ec418a83dfL,0xe9288a19dd578685L,0x8c90adfff1199fd2L,
  81341. 0x535f7ff5c9dfea76L,0x2bc4a3dbf0846631L,0x36a1bd74a6b94ae2L,
  81342. 0x5c61d3a32c51a655L,0xf03d31519da1a40bL,0x0000000000000118L },
  81343. { 0x4deee9fda7c44cecL,0x4d3cba4911e4cca1L,0xeb066f59b33266dfL,
  81344. 0x45b3856fb3d19c6eL,0x3ac917f0cc142930L,0x8d067ea4a5cc182aL,
  81345. 0x1dbbb1c652ee009cL,0xd5769d6027ff54c7L,0x0000000000000110L } },
  81346. /* 30 << 420 */
  81347. { { 0xa15a7bbf8eefad48L,0xe6e89e742651197fL,0xa61a3e84bd94ed51L,
  81348. 0x0d244f552b588bf5L,0x65a05bcd083d4e00L,0x439c2e1c135d813fL,
  81349. 0x48e05e558b3ffcb7L,0x215bb215254e73dfL,0x000000000000010cL },
  81350. { 0x240758f78096e07dL,0xd60bf24f18137989L,0x0b8be39738a3a7f1L,
  81351. 0xad8e978490bed9d6L,0x292131c39b75ec5aL,0x1159fdc879cc4fdeL,
  81352. 0x42fa8c1f64454a70L,0xc8c4d18461a34ddbL,0x0000000000000053L } },
  81353. /* 31 << 420 */
  81354. { { 0xf64f3d95dfb33552L,0x4f52fde0ae6e4644L,0x43ae88ccd887707cL,
  81355. 0x0873f0578ffac488L,0x39fae3481d00f41eL,0x9f0f2187f47c974aL,
  81356. 0x5e63a28114aa2ad1L,0xe12e811cc6985285L,0x0000000000000196L },
  81357. { 0xab5ae9ccac35731eL,0x8967bfb5bed4d30cL,0x92ae61f5c2ed4d32L,
  81358. 0xde3ec6960ad912a8L,0xc931c7b5cf649a14L,0x5588d02492043e7bL,
  81359. 0x19c4fe955cc40a0fL,0x9709c5ab8e76d659L,0x000000000000018aL } },
  81360. /* 32 << 420 */
  81361. { { 0xc3c84fd2b5f54682L,0x3488244e32c3a3d6L,0x08c89d9ec1f6e2a1L,
  81362. 0x9a8aadac957ef7deL,0x0a54f7fa07cca3e8L,0x42ad7295ba97bb36L,
  81363. 0xd82cae54871ae976L,0x0eb9357204bf46d8L,0x000000000000009cL },
  81364. { 0x2a3aa55f45ae741dL,0x9b2168b79034b489L,0x66c66f0921f91264L,
  81365. 0x6823b0fb70703195L,0x5e43efad96e215b9L,0xe1940d5a4ca42901L,
  81366. 0x792cdc63294ccde6L,0x5be5af8a4446ebb1L,0x00000000000000b8L } },
  81367. /* 33 << 420 */
  81368. { { 0x34fc69cbeb2f5277L,0xc7e5637326425593L,0xb0a2de928f05fc88L,
  81369. 0x143963814468bb18L,0x926b5160a3b0a9d2L,0x8af3d2af44487fc9L,
  81370. 0xf93e45cc3bea6d12L,0x6a8eaa6a97905e78L,0x0000000000000184L },
  81371. { 0xe3d982841f13bdd8L,0x8a93c07ad628c0c2L,0x12ff398667d10ab3L,
  81372. 0x9de71f1a25b30544L,0x4193e07914788cedL,0xa297bf3b8979e06fL,
  81373. 0xaaf8e7c8a5c33e4fL,0x996bad366c986dbbL,0x0000000000000192L } },
  81374. /* 34 << 420 */
  81375. { { 0x3cc8f593e5967354L,0x6526ed4871aed083L,0x6ed8306e8209df3fL,
  81376. 0x3b6811db26d0cc40L,0xfecb44243ef4bfc4L,0x7b1d0c977c380292L,
  81377. 0x5f8d1053f3155334L,0xd5a6671d57606f5fL,0x000000000000018aL },
  81378. { 0x91a333f78ca15d85L,0xe401daa9ccaff56bL,0xecfc424a3642272bL,
  81379. 0x293bac7dc265dabaL,0x3728937d35176032L,0x32095630b8dc5e90L,
  81380. 0xa7e40a33fa3238b2L,0x800e51aed54ae7b0L,0x0000000000000112L } },
  81381. /* 35 << 420 */
  81382. { { 0x5e9ddc946cfe150dL,0xe80cdf7de931ae6dL,0xd653e42269e75084L,
  81383. 0x5f2457112d80bb7eL,0xdf34a45bbaa1ff31L,0x4aa1544db4555a76L,
  81384. 0xbe131a26420ba11cL,0xeef42ea9df8e840cL,0x0000000000000075L },
  81385. { 0x0954b8900447d3b2L,0xb56748258273dd87L,0x4e475be49554e8abL,
  81386. 0x9565d985123d94dbL,0x5c2d1bcec2abae12L,0xe74826e441d39436L,
  81387. 0x0a61e8d6e5c430daL,0xa6db3e630f131767L,0x000000000000012bL } },
  81388. /* 36 << 420 */
  81389. { { 0x48ac5636f221fa1aL,0x8b75f29afa87732aL,0xa56becb1ba0db0ceL,
  81390. 0x372230897daf8fc9L,0xe2569a163d2f2365L,0x52509c3fe5a4b5a5L,
  81391. 0x78158611cfa993eaL,0x9935db074f0642b2L,0x0000000000000099L },
  81392. { 0xbef1547fa883def9L,0x5ea9d1b0c3ffcd28L,0x4aa992f9e8cd0500L,
  81393. 0xc259eb625a46f7beL,0x242f5516e7d4212bL,0x7abf19ecd6fbd446L,
  81394. 0xc95987380d54d6a5L,0x5622a0476a7b5e9bL,0x0000000000000190L } },
  81395. /* 37 << 420 */
  81396. { { 0x0f55ed468bf89a5eL,0x1cfc2ac48952261fL,0x9c3c347ee4cba9c5L,
  81397. 0xc308a0f46c3adde6L,0x01054a9145571f72L,0x1cd4829193982030L,
  81398. 0x74fc84ff51306753L,0xdab8cd4e8cfdaa2fL,0x00000000000001a3L },
  81399. { 0xa224dad5cded7237L,0x49d51a129bdf65aaL,0x09a36334a4f5586cL,
  81400. 0xba0faddf2ae77a6bL,0x07b748b72f29e747L,0x9623f46e3478ff8eL,
  81401. 0x518b3bbe8b3af3d8L,0xc4fee8ad78840f15L,0x000000000000017aL } },
  81402. /* 38 << 420 */
  81403. { { 0x5650b564bd61ce2bL,0x7eaef69224f299e2L,0x2a0df96fe6d4489cL,
  81404. 0x812d43518ce9d28dL,0x0815a72b59e9646fL,0xd7c2973b017708e9L,
  81405. 0xbb2ff9abd4d799b6L,0x2801293e04228a85L,0x0000000000000120L },
  81406. { 0x509c20ae3c5f9553L,0x0b59b77c393ba611L,0x2635f780da2c8feeL,
  81407. 0x8f2a267b41f93f7aL,0xff6659a7537ae88bL,0x9a224d7a7fa76913L,
  81408. 0x191113ed42cad3dcL,0x0fc807e43f06db46L,0x000000000000015eL } },
  81409. /* 39 << 420 */
  81410. { { 0xc1ce03c9b0f7ddc4L,0xe9c3a1f6b5545247L,0x45e0feb9c1c782f7L,
  81411. 0xe2c1170d5fa69f36L,0x155bf55e15407d53L,0x54d33d0902d578d2L,
  81412. 0xf566ec081442a6ddL,0x4a144739f67fe9abL,0x00000000000001edL },
  81413. { 0xfb449e2032d83f99L,0x3efebd58fbbaf71fL,0xbeae9abcf8b67d53L,
  81414. 0x64c6c39a442e271aL,0xed0b3ffbd8510f0aL,0x778a250b882c28cbL,
  81415. 0x8924bca243ed493eL,0xffbe451e7e1b7b11L,0x00000000000001bdL } },
  81416. /* 40 << 420 */
  81417. { { 0x75b27730fe4c5bdbL,0x00613beabd678c1eL,0xb12a8fe817d6e608L,
  81418. 0x5c6ce1ae0158785fL,0x72f9e5dc1ed9f069L,0xde5caa848a05f3d6L,
  81419. 0xccfb76716536f0b2L,0xe7378e81b634be60L,0x0000000000000045L },
  81420. { 0x61d85c77f724dd8aL,0x91b6e75dcbe10dadL,0x382bab75adeb3740L,
  81421. 0xafa638046b3b344cL,0x136d755fe8d2f35cL,0x45416ba496ee3d72L,
  81422. 0x92533b2be175a63dL,0x51facb6560cbc9c8L,0x000000000000001fL } },
  81423. /* 41 << 420 */
  81424. { { 0xa9020bb2bf0ca667L,0x2433b9c5d9660317L,0xde04b705f3de0b9aL,
  81425. 0x46fd25b653ec2cd6L,0x0448e5dd4960b51aL,0x4c06d6a16721a33fL,
  81426. 0x19f91ed6655171b5L,0xe5974b3f78df179aL,0x000000000000002eL },
  81427. { 0x77b2230d27199e71L,0x3a655385f30abd35L,0xf5e630e34fcdf51dL,
  81428. 0xd65f90c494535658L,0x01b3c3083f9ebddcL,0x209f2e378f886a9fL,
  81429. 0xc6145c12d24b1178L,0x1431a5087dc07344L,0x0000000000000119L } },
  81430. /* 42 << 420 */
  81431. { { 0xee3406d1e638a4aaL,0xd688467a2fffd8d4L,0xe56cbf66141afb81L,
  81432. 0xa3b39278d2093407L,0x4e0e475b63f0a6a5L,0x0cde9be59e82370bL,
  81433. 0xb20476e7f6a08824L,0xc9193506ccbbb74cL,0x00000000000000caL },
  81434. { 0xe4d9074c6fa10c37L,0x4519eecae5095ad7L,0xfc5f4e21a6b9417dL,
  81435. 0x14bafee71076f557L,0xf6999f8b3b0d7e6cL,0x0fff28293d147610L,
  81436. 0x9db346f7c1dde148L,0xc3648d0cbb06be0cL,0x00000000000000adL } },
  81437. /* 43 << 420 */
  81438. { { 0xd9b2900c41e98124L,0x535389b81e5e8d0eL,0x1eafd301052df92aL,
  81439. 0x6fb1af8781c04ce8L,0xbf53896454faf2a5L,0xa6d771c9c33d4cd5L,
  81440. 0x3cbc0b99b7985721L,0xa8fc80fb4bffec76L,0x000000000000001bL },
  81441. { 0x669d9031eb22ffc9L,0xff1d9af297694f7eL,0xa9583293f7b30304L,
  81442. 0x8c0ec270de3e2e04L,0x6e6490c9ac3051afL,0xe554e8fdb77d165cL,
  81443. 0x2fe899dbd7547c9fL,0xbcd900fc5d034decL,0x00000000000001ccL } },
  81444. /* 44 << 420 */
  81445. { { 0xcd1ed5190f67298eL,0xbd6ec57814d77ae9L,0x6d8b2ab4f38a5da3L,
  81446. 0x55d9555be9a51909L,0xc4988f443f290779L,0x403297f645c00586L,
  81447. 0x1df14102017a5468L,0x81aba58618d98daeL,0x00000000000000e8L },
  81448. { 0x8fccd75d3d78fc68L,0x727adeed26fb1966L,0x1e7cd41598a17cb8L,
  81449. 0xba026b83de88062cL,0xc11e4bfe933e04c7L,0xece90a097abd303aL,
  81450. 0xf09a827b0b73aa6bL,0x31e7471f9fe9d6deL,0x000000000000005eL } },
  81451. /* 45 << 420 */
  81452. { { 0x65d2e86156ac524bL,0xa0f398c44dbd7a05L,0xb51e471f247e0ebaL,
  81453. 0x6fb7515e1cd2b3c5L,0x8d4129cc4019d508L,0x1523c52fe21dad33L,
  81454. 0xe929492f2319f582L,0x76c5862899d946d3L,0x0000000000000160L },
  81455. { 0x4cc4e9553641774aL,0x469e1d4c39518dd0L,0x679e1cf2dbb4dd35L,
  81456. 0x5a34378a7e756f2cL,0x09fe4915534df7d3L,0xbf6a2c47eb2dd58eL,
  81457. 0x073d3889e26761b2L,0xa6edc4da1ba2ad04L,0x0000000000000133L } },
  81458. /* 46 << 420 */
  81459. { { 0xa43aa7fb067722b4L,0xc7bd872e2d19638eL,0x04d8838d6683f1acL,
  81460. 0x6df5e4441167542eL,0x7aa48da719d4b02fL,0x81f9fd58f6237d71L,
  81461. 0x91f5815c17ba998eL,0xb9613d178d8d72faL,0x00000000000000a7L },
  81462. { 0xf529d3986a6a407fL,0x6d22899caccae345L,0xd126146a563863dfL,
  81463. 0xec3241f617f1f2efL,0xe09a57205e69f591L,0x8ef992d3c00ffad8L,
  81464. 0x872822af82dd79dcL,0xa8cc65a6adf02b46L,0x00000000000001e3L } },
  81465. /* 47 << 420 */
  81466. { { 0x67777d056c680d36L,0xcee0e9eb765a8da6L,0x8e18422e2410bd23L,
  81467. 0x087b9b2bd73057baL,0xf6ed0c4373a435b8L,0xbae2117c0aa2620fL,
  81468. 0xb97d1cb5d9ba7028L,0x417aa6bec3f20528L,0x00000000000001d8L },
  81469. { 0xa6daa33f114871ffL,0x889c853e69e3c506L,0xfb5cef1de42b8ed3L,
  81470. 0x249b0fe7e2ec351fL,0xbb94de883fcae45dL,0xfbfa5c9f3a94cc20L,
  81471. 0xb80b5bba253c1736L,0xb23924460770b8ccL,0x0000000000000171L } },
  81472. /* 48 << 420 */
  81473. { { 0xc7d454186a52747dL,0x034cb6d1523d74d6L,0x073a404e0e2b859bL,
  81474. 0x9a38e6d89345da73L,0x4c4771d5c7fdcce3L,0xaee8c00c025c1423L,
  81475. 0x10c94e72d7203e0cL,0xea9f58bb4547289cL,0x000000000000000aL },
  81476. { 0x030c1df531b952a7L,0x8177a6e11d47e37eL,0x9e2222b0de6f3c0eL,
  81477. 0x1ed75c871399560fL,0x9b818c5d829af1e8L,0x75c7751945db80a1L,
  81478. 0xfac13445d73c446aL,0x91a2741362844292L,0x0000000000000027L } },
  81479. /* 49 << 420 */
  81480. { { 0xcb7db4ccc19e2d86L,0x829ccd00df87335cL,0x8d2d73e940ed4392L,
  81481. 0x926cdff5b78c8289L,0x1c76f094e7cc750eL,0xadeb089fa3a6923dL,
  81482. 0x1d1946c3167dc508L,0xca796f6852a57472L,0x00000000000000baL },
  81483. { 0x94ba42d7a1526724L,0xee549d5ca5fd1158L,0x9e5da9d47645a4d0L,
  81484. 0x05d4d6efcdd6a638L,0x5619dcf729ddb41fL,0x34ae766d98d04e6bL,
  81485. 0x125b901956b51686L,0x5127a0b08ce76994L,0x00000000000000fcL } },
  81486. /* 50 << 420 */
  81487. { { 0x8040cbe83e0a2ad9L,0x8be1ff91e6cf93d6L,0x03b887834d371ee5L,
  81488. 0xd70eb00752a3f93aL,0xc3cdb6cfd333a1a4L,0x5edbb599b8f27078L,
  81489. 0x339236a4e1faa8f0L,0x70c8fb9a461463d7L,0x000000000000014fL },
  81490. { 0xd55dbd41033fc6e4L,0xb53ee32b3a7e3f55L,0x2274a2d905b7e980L,
  81491. 0x9b037c48b27fa57bL,0xb0584718ce3683cbL,0xfe230ee62cfae448L,
  81492. 0xe3f0c7eb7fdef3bfL,0x5c3af24ba17e64d1L,0x000000000000016fL } },
  81493. /* 51 << 420 */
  81494. { { 0xe08921a1d2295f2dL,0x7b16da7bc2d62e51L,0xab35c918b7fa9ea8L,
  81495. 0x809eb392dc39f49cL,0xf094f0be00be5695L,0x1a7d60ef782f29ebL,
  81496. 0xf0a9dd07968759d0L,0xdff0d6565ada0b06L,0x000000000000014fL },
  81497. { 0x0875da554d4c798fL,0xbe726982435ee34eL,0x1e880746a069c9e9L,
  81498. 0x0ea957f7eb120213L,0x5f88c63e19f064ebL,0xe07a2047c8a7d994L,
  81499. 0xafd33fef4aeb2130L,0x4b7ad49154e880eaL,0x00000000000000ceL } },
  81500. /* 52 << 420 */
  81501. { { 0xf090e674c02453a8L,0x95c5135eb672a218L,0x5cfa269b7ad4f0b4L,
  81502. 0x35da68b2c36c7952L,0xa8fbb5981f48b8f3L,0xbe2cf8255897269aL,
  81503. 0x503c997f3d216a5dL,0x365f223401fba58dL,0x000000000000008aL },
  81504. { 0xac2cc265454cbfadL,0x36c3406228c1232aL,0x55d6f9f6d9c91dc5L,
  81505. 0x7ee8f96e911d7488L,0x7f9b42d548f93862L,0xd6e242b2add639dcL,
  81506. 0x03131280d2d1eba6L,0xaa3096d2db5b01c7L,0x000000000000009dL } },
  81507. /* 53 << 420 */
  81508. { { 0xce23ccbc11c799f0L,0xb09e370e6d8105a7L,0x05002372a187616aL,
  81509. 0xc34d46e4f41c6585L,0x365fdffff1641b50L,0xd78b6bd5d5283ee4L,
  81510. 0xd5855eced0d84ea5L,0xf3490e30a484c1d3L,0x0000000000000093L },
  81511. { 0x03d85dfff30302e3L,0x800f89f9fbcd54feL,0x75a431e4a8a7bb3aL,
  81512. 0x46a785f87b30b1ecL,0xe90e2b361de5152cL,0xb5b65fcde4ed0df0L,
  81513. 0xd8682ed77fd1e92cL,0x805419c72392b876L,0x0000000000000177L } },
  81514. /* 54 << 420 */
  81515. { { 0x036072e3602365d6L,0x0eb6814b499d5b3aL,0x02dabe21585e81b9L,
  81516. 0xe58f4a6353272f40L,0x442c5511aed0d19aL,0x8c880c028d85cbd2L,
  81517. 0x187265ff24a978b1L,0xcdd62d82452fcf0bL,0x000000000000014eL },
  81518. { 0x8142a2909cd1eeedL,0xeb03b362317c3443L,0x7814dac5d2cf66e1L,
  81519. 0x3d24c15dcdd1a642L,0x1579027d89e46eb8L,0x25bc682cc0c6830fL,
  81520. 0x952370e314712b5dL,0x579a2c0fa50221c1L,0x0000000000000071L } },
  81521. /* 55 << 420 */
  81522. { { 0x3a88a023b129f90aL,0xaf0c62ef2525b31aL,0x89e75e13756fc51dL,
  81523. 0xb3ae0d9d7e69c4ffL,0xf8cd4b08756c7379L,0xbfb1d6468d905b47L,
  81524. 0x35b759f3abfd39c6L,0x67ec7a6a8607a1fcL,0x0000000000000053L },
  81525. { 0x524ec8171b34aa5eL,0xcf1f37cbcce1b38dL,0xdab23e703413c644L,
  81526. 0x4463a1e986c8f8fcL,0xfbb14a202b600686L,0x98b964a57c7bbd38L,
  81527. 0x1fe6c9397c1dce81L,0x5ae65ee42a9950afL,0x00000000000000bdL } },
  81528. /* 56 << 420 */
  81529. { { 0xcf77ab4e7c68e159L,0x941498eb23a412baL,0xddd4b9272ac19495L,
  81530. 0x516bfa1b32e1f686L,0xcd8eb8a8702d0649L,0xf0563debe4f963a0L,
  81531. 0x1bf5e540fcd5127bL,0x0d588b6454eaa78fL,0x00000000000001f0L },
  81532. { 0xfa0dcab27de22d97L,0xc5760a0f5f48ea48L,0x0f8b46db3d33e0e8L,
  81533. 0xa7a1f86fac66a28bL,0xbf23e7cb64923dfaL,0x8a7bdc180ee51801L,
  81534. 0xd4d0d78ef5ffe76dL,0x54edfe409408a217L,0x00000000000000aeL } },
  81535. /* 57 << 420 */
  81536. { { 0x55f79f5cb58dd212L,0xf4801c93dc1260adL,0x658b2bf530175013L,
  81537. 0x5d2a2e5fb90c6463L,0x8adcc6414c2f1448L,0xf4fc68fc1898dc30L,
  81538. 0x04b471f888c1b9f0L,0xe70fe4ba798487fdL,0x00000000000000fdL },
  81539. { 0x24ccae8d0d4d95d4L,0x3be4976338fc4b49L,0x9586e6997912aedcL,
  81540. 0xb3aa52bfb74cc6b2L,0xd96d0f460cc9b267L,0xf02f4f5a27bfd74aL,
  81541. 0xb23ab22c46682e37L,0x9fefdfba01157990L,0x00000000000001fbL } },
  81542. /* 58 << 420 */
  81543. { { 0xc90121b8f156217bL,0xaaf825757939b674L,0xf60bf6a8dda00f0aL,
  81544. 0x5d5e16d8eafba2edL,0xe920fa52f2b9d2b9L,0x4128025e7b9fd078L,
  81545. 0x9abb0d5d331b9fdbL,0xaecee7f1b6dad1b1L,0x000000000000003fL },
  81546. { 0x4441c32ff77c8fe4L,0x3896a2fa0b254727L,0x2fa20f175bf54dabL,
  81547. 0xaef65731d543e3feL,0x2fd6c568ba9dd36bL,0xcf4d161a1fa960f2L,
  81548. 0xdb09ef161aa90dd4L,0xcec37c14a86b9292L,0x00000000000000f1L } },
  81549. /* 59 << 420 */
  81550. { { 0xd9f6ad7dad254f14L,0xf94afff19d0754d7L,0xc7fcf1aa7390a63fL,
  81551. 0x3e1401b4dafaca98L,0x23119a5fb1b00455L,0x2748906273ba24dfL,
  81552. 0x1786deafa8263814L,0x147175799fc6cbbbL,0x000000000000017fL },
  81553. { 0x79696e9e66467ce5L,0xbf7b7b6a3df74e9aL,0x9f13032837bfea44L,
  81554. 0x63fac8d5afcbe8dfL,0x0b3aea515eca7aa6L,0x77a62c62deeb47b2L,
  81555. 0x0afe2fa8ed28a210L,0x1a7e4b557e34cfc2L,0x0000000000000146L } },
  81556. /* 60 << 420 */
  81557. { { 0x2d1c3c48a6c00b46L,0x8e2190ddd2e6f87aL,0x3a98a1d1a272ae2eL,
  81558. 0x38ee3366d3fe5d39L,0x57fc9b50c56eaf4aL,0x8593e95fc6fe6f1cL,
  81559. 0xae51c967e1d59d7eL,0x2a5dbf23f599aa76L,0x00000000000001deL },
  81560. { 0xaedd9ccf7307c238L,0xb26cc95d943b18afL,0x58338caf644bef84L,
  81561. 0xdae311b916f04018L,0x6ba2c14073b20692L,0x7d1e2f7269fcd5dfL,
  81562. 0xf9a0763ce750776cL,0x17496ac5f959c158L,0x00000000000001b5L } },
  81563. /* 61 << 420 */
  81564. { { 0x6cd44056369b1126L,0x76163c1b5053300bL,0x9ea62d1ee93928b5L,
  81565. 0xb19ad078adeb0c1eL,0x0df14acad93446b9L,0xbeb6ed1725011b4eL,
  81566. 0xb1cb0790181ae9ebL,0x39777187d2012ffdL,0x0000000000000084L },
  81567. { 0x7017109513039577L,0xf2401d4a070d136dL,0xe313554aa0841a4eL,
  81568. 0x0fa389e5e8d0c631L,0x2ddd35cd89da61a3L,0x0baa99b9c6d8d4b8L,
  81569. 0xc10864df82dbd5cfL,0x45d1a07927e73c87L,0x000000000000014fL } },
  81570. /* 62 << 420 */
  81571. { { 0x2b23cfa513f0114fL,0x150fd33dbc4f0b34L,0x12c3170a9ad79bb6L,
  81572. 0x46d0cb95b1beb85bL,0xfb7ffa77416e67a0L,0x342c023411484398L,
  81573. 0x7a141e512f2b0cbfL,0xb78b3cfa27ab4f9bL,0x000000000000010bL },
  81574. { 0xb5e185cacd2372daL,0x6c10c435389aafc8L,0xf00d3d16deebb0a3L,
  81575. 0x15de86422e5f7c40L,0xe3855c8935e337bbL,0x400e20877cfc7e5aL,
  81576. 0x8ee2550c2e37e8b1L,0xd0621db2323e0fb9L,0x0000000000000083L } },
  81577. /* 63 << 420 */
  81578. { { 0xa8116eb9db8f861cL,0xf130b16a474aad84L,0xaa22dbec029b6996L,
  81579. 0xd71690ff74108051L,0xc18b20fbc8203260L,0x4768ee8e652d96b6L,
  81580. 0x6533a2229ca212b8L,0x282f0d5a448c7ce1L,0x0000000000000155L },
  81581. { 0x8dcbf8c7a62c88b9L,0x899d99fa49028cc9L,0x6b585197d1d43367L,
  81582. 0xf977bac51bc4e9beL,0x9a829b1ce9a20a04L,0x2ae79e6892febd86L,
  81583. 0x688bf2ee19feb821L,0x3e7f2232c81dfa25L,0x00000000000001f1L } },
  81584. /* 64 << 420 */
  81585. { { 0x3d239c6b6a81c377L,0xbf4d092e7bcf552fL,0x3d2af909abd2cae8L,
  81586. 0x3d5ae04cebef1533L,0x9c57ddd8c7d656ceL,0xa345ac44c552693eL,
  81587. 0xc66e8710b604ff42L,0x5743b43318cb68b4L,0x0000000000000170L },
  81588. { 0x2ae332c9427e80c7L,0xc3c529d4dcaed647L,0x1d1a183473f44043L,
  81589. 0x4f5155d63b71f27dL,0x4239074473ee7e4cL,0xb23433b84e09e697L,
  81590. 0x9a4264daa60c57c2L,0xa7f72ff8486992ebL,0x00000000000000b7L } },
  81591. /* 0 << 427 */
  81592. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  81593. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  81594. /* 1 << 427 */
  81595. { { 0x1352b764a2839e80L,0x61a50d9716058b22L,0xbd02c6879d6ae08dL,
  81596. 0x1349ee8b6679516fL,0x3d7e69c9bc4c2fa2L,0x4c2e12a10d24e1fcL,
  81597. 0xc69535a147436039L,0xa477f86b0ca25c70L,0x000000000000011dL },
  81598. { 0x756e379c2a4c1871L,0x4d0b08b35943df83L,0xd8a9b302cd8f5abbL,
  81599. 0x53865d1e8c240617L,0xd422a9b114a2e093L,0xbdbc3d7d03014fdfL,
  81600. 0xa4c8b35a11578dd8L,0xe4427ef87a3afbc1L,0x00000000000001c1L } },
  81601. /* 2 << 427 */
  81602. { { 0x8af346c57d874400L,0xd9e98cb571098f45L,0xdb40081079565740L,
  81603. 0x0f7625ebed9a7dcfL,0x5d1415d0c93d2542L,0xf87f74b4688d0692L,
  81604. 0x9fa2e31b9f648523L,0x4e505024cb387129L,0x0000000000000006L },
  81605. { 0xe2087f9c446e7206L,0x60f69447b48bb585L,0xda3658622020bbf2L,
  81606. 0xc8a263673cd51256L,0x8cc663b1c62f7c5eL,0xc86d4165e72bbd20L,
  81607. 0xffce9039aac68be3L,0x6c6c747cc3c360a8L,0x00000000000001d4L } },
  81608. /* 3 << 427 */
  81609. { { 0xa74637fe39b2b1cbL,0xe81e51e9f280efdeL,0x450ba9ae6356c12aL,
  81610. 0x0d23bf43d9768f5cL,0x686e344b1c4fa118L,0x3b6f0edf9ecf4874L,
  81611. 0xf51830635a22fdd0L,0x6ef7d57de9ae039aL,0x0000000000000046L },
  81612. { 0xa6a7f6f54fa66238L,0xd61028909787026dL,0x12e10e29801cc4bfL,
  81613. 0x660a4c82e98a16b5L,0xc22e4d53415ec2e6L,0x4c0ac2c10e64c2faL,
  81614. 0x2d2d2bc87c576994L,0x843f23adfaafdf3cL,0x000000000000009fL } },
  81615. /* 4 << 427 */
  81616. { { 0x290e4ff1781f48a0L,0x020d9e3d66d6f7ebL,0x1c0da98e084d19d4L,
  81617. 0x42c64660030dd190L,0x996602dd29aa0eb8L,0x7719fb105d0d86e5L,
  81618. 0xe20032629145140aL,0xd2dc210c97e687a2L,0x00000000000001e3L },
  81619. { 0xe704ecdb18c76449L,0x30a4377044131380L,0xaec3cf4b372cf9a8L,
  81620. 0x4033c8c03df882a5L,0xa5e23683969af81fL,0xf42c5b9580263b3aL,
  81621. 0xbff4ed559323c9c4L,0xa1d992b800ef132eL,0x0000000000000100L } },
  81622. /* 5 << 427 */
  81623. { { 0xc9701a1591849a47L,0x05a00e8ceb572ad1L,0x0d5062393cf6f9dcL,
  81624. 0x6434131bb421b5ceL,0x1142248aa0c289e7L,0x9b5a89d75735da7fL,
  81625. 0xbf8377d6e3ff625eL,0x076cc0af36a7fa2eL,0x0000000000000173L },
  81626. { 0x8e8aab15aa837baeL,0x96c61e2b389fb0b3L,0xe4f00866954a8633L,
  81627. 0x9db8fd3f8311855fL,0x317810367e76eae0L,0x4633933d1aeb3b62L,
  81628. 0xc47a2dc1cec925d4L,0xae1c392369aa084bL,0x0000000000000002L } },
  81629. /* 6 << 427 */
  81630. { { 0xad854bde1842eb75L,0x52d44a39fd913403L,0xde2d5fdd964bf528L,
  81631. 0x00fc48b0be2d138fL,0x497778287968e858L,0x326f8a6379b5f778L,
  81632. 0xb093b6d8026ee753L,0x36bd9300067c336fL,0x00000000000000b7L },
  81633. { 0xf63d269d3d3b0373L,0x7fd4555e8901ce7aL,0xfeb8a5abf0c00754L,
  81634. 0x2b855524d1e4f38aL,0xeb245c9a10593ea9L,0x8d0428915303ae29L,
  81635. 0xcc86c4617be4ec45L,0xd05d843bb1a35c03L,0x00000000000001a0L } },
  81636. /* 7 << 427 */
  81637. { { 0x2c5034d201ceebebL,0xe55562ee8a5f5149L,0x72de18472b04dec6L,
  81638. 0x59f580cc12742363L,0xefc95b49fe90504cL,0x1f7355ee93d13fb9L,
  81639. 0x2ea3bb73ec8811e6L,0x8f5c272a92208e52L,0x0000000000000068L },
  81640. { 0xeba0c66dc7f8b064L,0xda096db86441a58eL,0x345dce44b56dd9d4L,
  81641. 0x4adfaf2326fd92a4L,0x35c0f9a74a8d2df2L,0xa2a0f0cf8a6afa89L,
  81642. 0x05a14a6862097318L,0xb10a3b7dd8a0bf21L,0x00000000000000dcL } },
  81643. /* 8 << 427 */
  81644. { { 0x4a3ba7d35a80eea6L,0xafabc45f138ed8a4L,0x8500a36b08955eb2L,
  81645. 0x3d6b2ec617a6c2afL,0x23470f5958d5e66dL,0x5db86555a1df0eacL,
  81646. 0x3a2e16179974c9bcL,0x08480d1eb4dfe2e6L,0x00000000000001d8L },
  81647. { 0x89ec8a91c3dca584L,0x6c06d419f2aac2beL,0x427cea3ca57e58c9L,
  81648. 0x54ae1a697b0b1b12L,0x40b5c77e3965ce2bL,0x3223c7e53ce07598L,
  81649. 0xc2df893146948ff6L,0xfd997c8655d12af0L,0x0000000000000155L } },
  81650. /* 9 << 427 */
  81651. { { 0xcdba58e2ed6d1a95L,0x345e6a00b4ca1bdaL,0x1c65f4f8b08907d1L,
  81652. 0x99506f0ad15a285cL,0x602479cf8c31df19L,0x935e607397b6aa05L,
  81653. 0x57d3627e1d814bf3L,0x4161619e26d070f0L,0x0000000000000085L },
  81654. { 0x5ef502f18fefd13fL,0xc0a551ba2241012fL,0x655978a86c235318L,
  81655. 0xf708895cca82f195L,0xdf32de1a7c5dc00aL,0x53014f9711d92fa8L,
  81656. 0xcae56947517ce815L,0x58e0469551904244L,0x0000000000000014L } },
  81657. /* 10 << 427 */
  81658. { { 0x615a13d91bf64aabL,0xad0c56a0ee125e48L,0x5622df0d2f1ab618L,
  81659. 0x7331c9b97e465f36L,0xe9f79f235e69238fL,0xe71d8ade22200715L,
  81660. 0x0f2c7539c1111751L,0x0a3e1894b9287b5eL,0x0000000000000172L },
  81661. { 0x20e9e6d2311c0623L,0x2d2ea9d91cc824f0L,0x4f188539344e1b73L,
  81662. 0x468983b4a32ce555L,0x5a610f7ab185efc3L,0xa65ed115dff9f69bL,
  81663. 0x61f20b69f79d8be4L,0xa496802121d50124L,0x0000000000000036L } },
  81664. /* 11 << 427 */
  81665. { { 0x6e2e5357dec7c016L,0x4331a55e19d6b3bdL,0x03e618cbb8047f97L,
  81666. 0xcacb5933d8cd8c09L,0x0121db5bae62c20dL,0x7347fc4d471bd47bL,
  81667. 0x1dbed250b2369abcL,0x1385da8b0b503a86L,0x0000000000000184L },
  81668. { 0x05b1de38c3dbed55L,0xb9e877fc80818aecL,0x28143964ac119fb7L,
  81669. 0xce773a4ccc648a43L,0x1f71b5d4d0138213L,0x0029fab77e42530eL,
  81670. 0x789aefc3fa18d353L,0xd6a441614d6b5903L,0x000000000000007aL } },
  81671. /* 12 << 427 */
  81672. { { 0xf393bdb41c4e903aL,0x7c7be529356e8b65L,0x17cb86bb5b85085bL,
  81673. 0xda6493819224b373L,0x53b88eb810832b05L,0xfc02cb4798c0250aL,
  81674. 0xf46c49940f0221ecL,0x28376e37eac2ffc9L,0x000000000000002dL },
  81675. { 0x2f6c2ff9afc8827cL,0x12ff0f5917ef8723L,0xac1aa2d22455917dL,
  81676. 0xad3764b0f8910f17L,0x5d4a355c3bdf893dL,0x7387c7a3eeee0b8fL,
  81677. 0x9b3e2f884356038eL,0xf4affafdc75003b5L,0x00000000000001aaL } },
  81678. /* 13 << 427 */
  81679. { { 0xc1e3b4605aaf5b29L,0x81e82a8aae180dafL,0xf37efa0d445e87c0L,
  81680. 0x599a537e16e6330cL,0x85bc6d9706c410f0L,0x28d5a15fb362500aL,
  81681. 0x2ff92fb621b87c85L,0xebba633facf33979L,0x0000000000000105L },
  81682. { 0x7fc199a9dec8dbeeL,0xef2e49ebc489b71aL,0xd7f6fce89a528946L,
  81683. 0x169d0a2ef358dc52L,0x6a61d2c891922c6cL,0xd2aef478e59327faL,
  81684. 0x6def24948ef04d83L,0x253711d72f66173aL,0x0000000000000092L } },
  81685. /* 14 << 427 */
  81686. { { 0xd7de8cd0fc9be442L,0x0a52e40fc9dde6a1L,0x05a4ff641c7149bcL,
  81687. 0xcc966d0d5f2f3aa5L,0x5ece6a196e2d25cdL,0xcd0a1086f6441a77L,
  81688. 0x1c27360085904d79L,0x44a59f2ecf8c85acL,0x00000000000000aaL },
  81689. { 0x266fa397db6bfcdeL,0xf68d7a368bf6394fL,0x0d19162214a079d4L,
  81690. 0x3fc59bd33f93fde7L,0x9edbb13e691c417fL,0x50a5045a4b6d9aa9L,
  81691. 0xf5f738d8a35b9642L,0xd0fab4f3471d4f3cL,0x000000000000013aL } },
  81692. /* 15 << 427 */
  81693. { { 0xdf87750b40973d15L,0xbaf02e703fa8caecL,0x7020957bc8144da8L,
  81694. 0xaf4275cbd2578871L,0xe669df8d0500056dL,0xa432b1d84391f122L,
  81695. 0x576be73ea4c4e08dL,0x63de36a3db2e9164L,0x0000000000000025L },
  81696. { 0x5e3a636c0af7f448L,0x7abe9a07bd788577L,0x6a39bb248b212db0L,
  81697. 0x1d99e0a5aa72098cL,0x75df398dc0ed5bccL,0x730e175316ac1e36L,
  81698. 0x5029aa6376079634L,0x30538a42216528faL,0x000000000000004fL } },
  81699. /* 16 << 427 */
  81700. { { 0x85c4bd23ad5b7e60L,0x9a21b0b0f41a63b8L,0x368399f11991539dL,
  81701. 0x67f2c9217b2b3b1aL,0x7dc0513338b4a267L,0x3ebee98741104a8fL,
  81702. 0xe73da9a9f8687167L,0x04b9f294155f4eb5L,0x000000000000007fL },
  81703. { 0x1adb7a1453dcbf7eL,0xfbc526ae08b7789eL,0x004fbf8fa1f9c5cdL,
  81704. 0x7ca3ff9b48b46608L,0x08a90d3083829a47L,0x90a442adfe3c66daL,
  81705. 0x36d2d6bd4c69b3fbL,0xd5307e6b67675cc3L,0x000000000000000aL } },
  81706. /* 17 << 427 */
  81707. { { 0x8523cc86f38cc458L,0x6f95b125c82eb162L,0xde7e9372e4770eb9L,
  81708. 0x20f67d244ffcff31L,0x88c19b6d857e009eL,0xa6e94060846c385bL,
  81709. 0x9b4a3fcbf5f6e292L,0xfd730d62d494452dL,0x0000000000000053L },
  81710. { 0xf1d11d02d9c01d92L,0xbee1f672d81f0bacL,0x43333ad7d8fa5d6cL,
  81711. 0x3ea8f6fe8014dbc4L,0xe69afa5323c7799fL,0x1a60df1e437b3c02L,
  81712. 0x3449cba2fdfeb094L,0x79636fbbe1d7af5aL,0x00000000000001bdL } },
  81713. /* 18 << 427 */
  81714. { { 0x38d50ae2b1340c26L,0x98d9a11bbd6c48bdL,0x71342c9d2a770fb2L,
  81715. 0x641b25aad42c16b6L,0x9b9caa6900a7b958L,0xb2e0f3d21c6f21faL,
  81716. 0xcaa3c0854ebdff9eL,0x907443377ff33500L,0x00000000000000a5L },
  81717. { 0x680bfb3c9295497eL,0xcd4c1cc25be8f97dL,0xfe7dee3bcb911f56L,
  81718. 0xabbdfd216980d877L,0xc134efd566109f84L,0x83200bc03adbce88L,
  81719. 0x1ae3359ddecbf40aL,0x4f63adbe2135d328L,0x00000000000000aaL } },
  81720. /* 19 << 427 */
  81721. { { 0x0afeb995ee429693L,0x1a1793aed33c2875L,0x3011c348aff376dcL,
  81722. 0xe14d4d40fa291a4dL,0x2bc85ccc328ce212L,0x51afc390ca16ac0dL,
  81723. 0x7f1f2524cea3c7a8L,0xfad2721775fcaef7L,0x00000000000001f3L },
  81724. { 0x23419bb74f5163b4L,0xe4520607ab546931L,0xb6f171a4246b5851L,
  81725. 0xf6f00f0a4c8e6602L,0x4a84dc07f25bba45L,0x9f1eff155959d040L,
  81726. 0x686a15867d49ceadL,0xec9e5a8da8990689L,0x0000000000000173L } },
  81727. /* 20 << 427 */
  81728. { { 0xd35b9e3138ccdc36L,0x193d19235b283364L,0x3f11086716ac2730L,
  81729. 0xc858771ef63f67b4L,0xfa465ba5426ad999L,0x2f23aeb634208c28L,
  81730. 0x1804c3f488e3b573L,0xd40adabed5865046L,0x000000000000018fL },
  81731. { 0x43f3fab933b8a100L,0x854d92b7b1bdaae0L,0x71b54f79564bdc47L,
  81732. 0x45a21a1a1a5ba2b9L,0x34e2636ab2f40276L,0x30a97302e43c1e12L,
  81733. 0x1c8b46c36422eed8L,0x788d649283623652L,0x0000000000000055L } },
  81734. /* 21 << 427 */
  81735. { { 0x9fe3e597bad87407L,0xbcc2af4e9450ec40L,0x45a510949f71d8dfL,
  81736. 0x5209eee4afaf3e95L,0x029c59ab77b5c348L,0x16f2acc25e10ee90L,
  81737. 0x640a7d135b710171L,0x51eff75a282ebe98L,0x00000000000001f0L },
  81738. { 0x38626ea764fe09f8L,0x8503a9d745408d36L,0xeff27b96d1a3ecf8L,
  81739. 0x549fbb5cd78b52d2L,0x95215d10884f4653L,0x2d1fdb98b1ae33ebL,
  81740. 0x0e0cd5f91008a6a2L,0x43c9181326d87e9cL,0x0000000000000031L } },
  81741. /* 22 << 427 */
  81742. { { 0x13cc8a3798a740faL,0xc99aa3ed2632ece5L,0xeaaeecd6b9e1c72bL,
  81743. 0x3aec5c4956487374L,0x89a403cc14674797L,0xca0ea19a6e0c69ecL,
  81744. 0x86b528a68ed9f435L,0x06be957dbce563b4L,0x000000000000005dL },
  81745. { 0x35d9c838ca34abfbL,0x0dd8cb6d4f813c5eL,0xaac57a0356dfecfdL,
  81746. 0x0f11909337223e93L,0x5f8781c95b447b8eL,0xab2f96c0ed13b66bL,
  81747. 0xd38636ebe3af9074L,0x296c578268da2b8aL,0x00000000000000e1L } },
  81748. /* 23 << 427 */
  81749. { { 0x4a1ed69265e97671L,0xcda466e2890bce4fL,0x3dd5210c31b4d676L,
  81750. 0x7061885e97026fe6L,0x5f50b6f7541cdf81L,0x1c1c3fd8fcdec849L,
  81751. 0x77e19a9781cedc49L,0x35c05a1359b27262L,0x000000000000016cL },
  81752. { 0xe74e401b05aba6e3L,0x1da6d83aaca696c5L,0x6e9d07b3549455e5L,
  81753. 0x5a121ee1c7dcb5d0L,0x34346781d46f00c7L,0x534b1136ecacb619L,
  81754. 0xf196cbf3b24e6e3eL,0x7a31c822aecc0b23L,0x000000000000011eL } },
  81755. /* 24 << 427 */
  81756. { { 0xdfd43ebda9f23142L,0x707183f61ace42feL,0x2db54733954f2170L,
  81757. 0x1a10e785e3a33da2L,0xef315020b848d1cdL,0x179454ce5ecdc048L,
  81758. 0x845369cf13e1aee8L,0xb924faa0b536990dL,0x0000000000000012L },
  81759. { 0xecf9a0ef7d22a7b1L,0xc8dc42e20e95f354L,0x2db31a2ff194a767L,
  81760. 0x31063e42b67924efL,0xebc3ca6c48537ba1L,0xc59746eba8363616L,
  81761. 0x6c45f60203d2c783L,0xefc327471e59fd7eL,0x00000000000001a0L } },
  81762. /* 25 << 427 */
  81763. { { 0x38709b4b8eb4707eL,0xa07de12525ca12f8L,0x0cd83aa26c2d4220L,
  81764. 0xb916ea38f1853536L,0x8d2d7f602bcb2378L,0xc7f353c265863a3bL,
  81765. 0xef8293aab05aa95dL,0xc99ce91fdb80d1c3L,0x0000000000000077L },
  81766. { 0x66feb65f5751344eL,0x89587ddf80016cccL,0x9732106be14e338fL,
  81767. 0xa0cd0f26164039f5L,0x3a4ac3f1c656cfdbL,0xe91d606cef332647L,
  81768. 0x7c8dfb2328e19b43L,0x6d94937494d26529L,0x000000000000006eL } },
  81769. /* 26 << 427 */
  81770. { { 0x393a7dcbd3c3aa79L,0x8a3a2240a23c9656L,0xdbc3a5f8cf3eefeeL,
  81771. 0x128e5df243801f53L,0x2915bd679f3b1e81L,0x9c317104741c8852L,
  81772. 0xdad2c02867107eb1L,0x17c5c24994300eacL,0x00000000000000ddL },
  81773. { 0x8e33383090087c9cL,0x3b477580533f2a2cL,0xb6395d04a0b8fc27L,
  81774. 0xe16f86d626ac5091L,0x376968721370dd63L,0x17277a7f0dbda08bL,
  81775. 0x7cc056e800825ec2L,0xa37c952239724e7bL,0x000000000000002dL } },
  81776. /* 27 << 427 */
  81777. { { 0x16df84f88cdcb3d8L,0x08e2203eaa095d0eL,0x60356444b912565dL,
  81778. 0xdb9fa32bdf68d347L,0x37a7a24fddb99999L,0xbec968d30327527dL,
  81779. 0x9ced58e7e0d299c0L,0x3ec26b36eb40f891L,0x00000000000001a4L },
  81780. { 0x51fe548e3cbcb1dbL,0x9c7b645212019828L,0xafece3855d8853f8L,
  81781. 0xa5b7e31c373f3ce3L,0xfe574de1a56827e6L,0x6b717d575b124f35L,
  81782. 0x3478142156048b07L,0x2d0f9a599d2a86c8L,0x0000000000000131L } },
  81783. /* 28 << 427 */
  81784. { { 0xa8d55ba1f6f83320L,0xe7493496c4ee60d0L,0x55a0e10fe16bb4e8L,
  81785. 0x7da768acaf161711L,0xeea132c0be96a3b5L,0x4a09ffff7fb41dcaL,
  81786. 0xbd69c04713f6bf90L,0x4aeb854a82509b35L,0x0000000000000156L },
  81787. { 0xcb9c060d70f0c260L,0x91fab0dbf52f971dL,0xd2fac4c89dbcd806L,
  81788. 0x92f23fa3266b3438L,0x01bb7d4b56ad0784L,0x0216d0acc864ea06L,
  81789. 0x8c126be50b55df14L,0x9541a18baa2a1f85L,0x00000000000000fbL } },
  81790. /* 29 << 427 */
  81791. { { 0x10ed68cf51480510L,0xfa750fc26cccef7eL,0xc0a95e54120622e6L,
  81792. 0xa7b8a3eb98cb5878L,0x67b9482d47b7a85aL,0x7ccc6eaafec17f20L,
  81793. 0x0556723dce3e75baL,0x3e047342181e55baL,0x000000000000006fL },
  81794. { 0x58094d0329e6c93fL,0x3fc1c1fa454c358aL,0x303c9624fe9d019bL,
  81795. 0xfec90ff16d018035L,0xf15f05418266f9bdL,0xf3fdb456cacd7be8L,
  81796. 0xdf7d1fc03dd66192L,0x2b9617b8c3f9acddL,0x0000000000000027L } },
  81797. /* 30 << 427 */
  81798. { { 0x3f8344d51426b278L,0x8f7ddf8a9a9b479bL,0x1a964eb3c669901cL,
  81799. 0x6fa4cd8fcaccb2c3L,0x65facc3706e7ad1fL,0xf29ffbb490a7f25aL,
  81800. 0x3d1ad490e68a505eL,0x5a5cd3fa88d6e4e6L,0x00000000000000baL },
  81801. { 0x9ca4b1fbb503a9c8L,0x94938bf8ad8685f3L,0xe9c8fb4af178c339L,
  81802. 0xbfc000d25ed5928fL,0x7b8b0f6ee7298bf4L,0x46c7096a7fba0571L,
  81803. 0xde65dc553dd656a8L,0xee6b622341a31a9dL,0x0000000000000196L } },
  81804. /* 31 << 427 */
  81805. { { 0x17deaa271ffd501eL,0x2376a41b0d4ff4daL,0x35928095d8cf506bL,
  81806. 0x1b4ccb2aa9312ac8L,0xd971fc980fc0131bL,0xff85e073c4e30e91L,
  81807. 0x82420dfdf59f79d9L,0x81961c5f5d12f268L,0x00000000000000bfL },
  81808. { 0xa3167cadbc31557aL,0x5e3000588089f9cbL,0xf3b49fcaf6ada736L,
  81809. 0xcf3a28d0502a7f0fL,0x547068bd5e020aa5L,0x9a8d88ed5537e4fbL,
  81810. 0xfe8a3d5693f0d6adL,0xf8e02f75d71aa5a6L,0x00000000000000c6L } },
  81811. /* 32 << 427 */
  81812. { { 0xa66cccc8d6e1bd72L,0x1ea4e9214ae2fa5cL,0x66775af22d021fa7L,
  81813. 0x6d711dfb2a4c4677L,0xddaae8bb5ae380b3L,0x53158994600f11fcL,
  81814. 0xfeb122dbda94d443L,0x7cbf1afadffc21ddL,0x0000000000000006L },
  81815. { 0x03cfa731834bf891L,0x4e016085630b8032L,0x90cf9b5949db4d96L,
  81816. 0x96fd2614335c9dddL,0xc02145108e3b98fbL,0x6ded06331da2ea2fL,
  81817. 0x2bda6d769d0ead76L,0x4ba00e99f3e4fbf2L,0x0000000000000169L } },
  81818. /* 33 << 427 */
  81819. { { 0x92de07fbfbf8e53fL,0x73ac4f82b63807fcL,0xcc4f442b27affccbL,
  81820. 0x2d62daf18bb57cefL,0xa7d49c8d70519e9aL,0x0c4b3d051b5b5b71L,
  81821. 0xa157cc8f70d64bd3L,0xd127d42ce74f2b2aL,0x00000000000001cfL },
  81822. { 0x79eb99c7cb079cc9L,0xbdc25d7fb011154dL,0x872b357c399ce92cL,
  81823. 0x3e6cddea714f21cdL,0x9f6164964b06671bL,0xb1830b11fb8072d4L,
  81824. 0xf2fa236813044f12L,0x1ac80049e95ad608L,0x000000000000010dL } },
  81825. /* 34 << 427 */
  81826. { { 0x9269dc702740d740L,0xff34da75c999e65bL,0xff47227b44d3a050L,
  81827. 0xa32b5a8c6930d914L,0x06a3fa67b194ccf2L,0x21f0ff632045ff06L,
  81828. 0x76f08dc2f25f41baL,0x0effecd5071e60bfL,0x00000000000001ccL },
  81829. { 0x509f29ba52771829L,0x9c992d40f2b740d5L,0xd62799bdfa7f8244L,
  81830. 0xb403785ce16a20e6L,0xe1a98c8c9e156027L,0x0d397dcdc18b859fL,
  81831. 0xbac3cb83c9d70388L,0xc5316eadfb7d5568L,0x00000000000000f3L } },
  81832. /* 35 << 427 */
  81833. { { 0xc856f24cf4a0af77L,0x43161834b585a74aL,0xaa1b75e173f7cb2dL,
  81834. 0x8349aa98061aefbcL,0x2e5847d2c610cfd9L,0xf1e0b1d393bd106bL,
  81835. 0x6d239a5e14efc60fL,0xe7a6418f1e30dbfbL,0x00000000000001cbL },
  81836. { 0x8258a5df6955a0b2L,0x832126776e90817eL,0x63a78ff5110e989eL,
  81837. 0x84dbefcc96ab15e3L,0x7d0a08c003ac922dL,0xbba5ae39a50d0bbcL,
  81838. 0xe480626e9c7466f2L,0x278bc8daaa73d0feL,0x000000000000005fL } },
  81839. /* 36 << 427 */
  81840. { { 0x2df7a47e6a625873L,0x30bf6394d0cc5aedL,0x44f942da51af3189L,
  81841. 0x2b700239ea2b12f4L,0xb5aea5e8e9af1742L,0x948b6b30dd4d5386L,
  81842. 0x5eca1a7bab06b047L,0x19ab42c24f3f2baeL,0x000000000000013bL },
  81843. { 0x903986b0f22488a3L,0x9ccce9ec066ff5deL,0x8149450d08e6babbL,
  81844. 0x176b2286cd8884f1L,0xa328bdd3c05b78d6L,0xdbaf8ea4d0b14a6cL,
  81845. 0x139734eca2e92cecL,0x453c8e96dfbee5b5L,0x0000000000000049L } },
  81846. /* 37 << 427 */
  81847. { { 0x3e36dae1b3de3ea9L,0x4d67dc22b1048176L,0x9c3f39b27ca60a49L,
  81848. 0xd4a75e25f7600352L,0x03dc181cd298be2fL,0x18ae60f43016d93dL,
  81849. 0x871f677ca3a7aeaaL,0x1977f85af92c5d38L,0x0000000000000055L },
  81850. { 0xa51c1634692bb41eL,0xca455e9dc37c90ddL,0xf48be721c7a8731dL,
  81851. 0xaa030d88b9da10cdL,0x35029fd9ed039c9eL,0xb3d2e1e89423f362L,
  81852. 0x555246ed4ee59557L,0x292a8be6905a0decL,0x0000000000000088L } },
  81853. /* 38 << 427 */
  81854. { { 0xbfe67c557a8d10f9L,0x1e8167b2f54e78dbL,0x01cdca1f4234bfe6L,
  81855. 0xbbd9a3acd655fafdL,0x02bf164c7854f6f2L,0x8241f9ff52ce9fc5L,
  81856. 0x2fc147122689e156L,0x527855adbd0e10cbL,0x0000000000000143L },
  81857. { 0x8adcba30f57d2022L,0x95093ae15fc652deL,0x4d830641ad841830L,
  81858. 0x702148f87da2878eL,0xf47d81009531f234L,0xd6391216ee253ee4L,
  81859. 0x99e201a00732fabbL,0x693327a7a11d3ef4L,0x0000000000000037L } },
  81860. /* 39 << 427 */
  81861. { { 0x257b2c08a87a1545L,0xe1e118548a4a4ccbL,0x099d563158109e59L,
  81862. 0xe395c06560d8cf6dL,0x2da7e6dbdac91c22L,0x113bd02ee0632099L,
  81863. 0xcc7111b98d953366L,0xb76e6af3a5983204L,0x0000000000000047L },
  81864. { 0x0c44689c7bbce3a7L,0x26bc71a8fcb6c961L,0xf34027d8f31cdad5L,
  81865. 0x1fddc33cd929cc3cL,0xeb5682a0eb37a1ccL,0x4755ba0df7ec039dL,
  81866. 0x0a94d4aaf33d0836L,0x19e00d7947a72a04L,0x000000000000016dL } },
  81867. /* 40 << 427 */
  81868. { { 0x2cf3b1fa322864adL,0xe2206b9b9e3f46a3L,0x76348b0f41d0ce6aL,
  81869. 0xd41b3ed8a4325cccL,0x9d9ccbb21d3405a8L,0x65abee1b7f11ee03L,
  81870. 0xd977c7ab0aa890a0L,0x220e26661a890787L,0x0000000000000052L },
  81871. { 0x136e9c9769519db4L,0x2e563a4757f5ccccL,0xad3a43887feb68ecL,
  81872. 0x5e71644ebca01b85L,0x45a4cd156a97b3f3L,0x3c8779307e5e79cdL,
  81873. 0xf104f21a4ff32d62L,0x656dca67ee2e827dL,0x00000000000001c5L } },
  81874. /* 41 << 427 */
  81875. { { 0x538e141005d2dce4L,0xc517290ecb65b292L,0x171cde90f26b5fcaL,
  81876. 0x0f58cb2f09e7a385L,0xe0c681b758c62021L,0x0f7f0891acc7ceeaL,
  81877. 0xe8edc977a5872183L,0x073a1069d7756934L,0x00000000000000a5L },
  81878. { 0xbc2a3fc512d27ad9L,0x0207f142076be131L,0xa72fea2658f61ae5L,
  81879. 0xb74a4667c5878639L,0x08b02b75d3027808L,0x06cc19d64340d00fL,
  81880. 0x957bc371e56573d7L,0x97f805cca8bb03c9L,0x00000000000001f6L } },
  81881. /* 42 << 427 */
  81882. { { 0x942815d76ea3d821L,0x8881dd1046468a84L,0x30aeb26b67e28444L,
  81883. 0xcc1f79d53d0d7f04L,0xe66ba1e36db5fadbL,0x307dc24b821415f6L,
  81884. 0x3ca98ae0f143a003L,0x461e517a9e4c0596L,0x000000000000010cL },
  81885. { 0xf6873034c32523baL,0xacf66d608fc9f270L,0xa7bbe4df9e29d4b8L,
  81886. 0x06382f3fe4866269L,0xd02b5fe55bd0878cL,0x313d61815536ac79L,
  81887. 0x4ef5bc9b92c66a64L,0xdf2cb0b4c6507408L,0x0000000000000108L } },
  81888. /* 43 << 427 */
  81889. { { 0xe64eab7050f2ad0aL,0xb0836a25989d3480L,0x646266df62a0e974L,
  81890. 0xe31a0fcd0786a00bL,0xeb3ce16c8d094173L,0xe027c0361b383372L,
  81891. 0x4b98279927e50720L,0xe1be59ddd0db5c1cL,0x0000000000000191L },
  81892. { 0x251b4415aa8b2696L,0x7c76e719cd241ccfL,0xa927921cd20b8c2cL,
  81893. 0x3bab44460e5395caL,0x085f53b8b4f6fd5eL,0xfdc7d362585747a4L,
  81894. 0xe01aa6f8b49df12eL,0x98b64a06cd96102eL,0x000000000000013cL } },
  81895. /* 44 << 427 */
  81896. { { 0x97cb33b1a4555f7dL,0x43df1ab01b9e2de5L,0x786a7bb7783d728dL,
  81897. 0xcecfdcdc0ed18d15L,0x1d7d0ef878175e9fL,0x688a6a93ae2d03e3L,
  81898. 0x86370b065f8b6e9eL,0x430bbf48dbd9c4faL,0x00000000000000f7L },
  81899. { 0x2edf29360f7eb5a7L,0xf5420a13cf6ad480L,0xda6ab6be65d089f6L,
  81900. 0x596de3a24a8d9ab7L,0xae767579b2c581aaL,0xaab09d434572bb0bL,
  81901. 0x112a1f2b4928b1f5L,0x38e069e2f93ad7a1L,0x0000000000000021L } },
  81902. /* 45 << 427 */
  81903. { { 0x941ca2415ca5585bL,0xd923343df644f5f8L,0x71a7d718b18c3e17L,
  81904. 0xed8dd0de99436ddbL,0xe1fac7baba2f9c39L,0x34358aaef116190eL,
  81905. 0x403bac20e41c6b1dL,0xabc6637b3b26b4f4L,0x000000000000007eL },
  81906. { 0xd117748197fb706fL,0xe41b34db815019bfL,0xb5228a6772199b3aL,
  81907. 0xf022c6474d89f217L,0x00696885d7150cf3L,0x1f655091377a6789L,
  81908. 0x6cf689158649e629L,0x3219372d4b28e7efL,0x0000000000000171L } },
  81909. /* 46 << 427 */
  81910. { { 0x2fb27dbb68b4cf14L,0x83cf08a47542d4c2L,0xedea4b048059f2e3L,
  81911. 0x1222f64a6f67d4a5L,0x1d790b02e6c04450L,0xcfe52ec5cf4dc563L,
  81912. 0xb42d56e9a5fa0b1aL,0x2ef31effc3d864f0L,0x00000000000001c4L },
  81913. { 0xd62492da6114eaf0L,0x04f4c8d4d40afeddL,0xfaca6c0a08af05adL,
  81914. 0x7171982cce26c849L,0xa7bc880548e683a7L,0xc150763774d06896L,
  81915. 0x0f49ea72c3fcef58L,0x8c32076913cf0f49L,0x00000000000001f5L } },
  81916. /* 47 << 427 */
  81917. { { 0xaf181e82985582d4L,0xcdcd966e4e992b86L,0xfb5402b6a35ca1b2L,
  81918. 0xf74d80512add6ba5L,0xb7895c4f41091b8cL,0xde51f53e3a6355afL,
  81919. 0x050164b1ed0a60ebL,0xcd62660cbd2047c7L,0x000000000000015fL },
  81920. { 0x38f3d8571cbd7da3L,0x24586de2b9f659bdL,0xd8110d99860eb4a7L,
  81921. 0x44464b4562cf6fbbL,0x7eed4e2a0144bba3L,0x3e54c13af303cbfbL,
  81922. 0x30ac8c5f15d1fa60L,0x64450110a92fa2aeL,0x0000000000000035L } },
  81923. /* 48 << 427 */
  81924. { { 0xb24539ba81c69120L,0x04505ebccfb6ad04L,0xc834374bfb3dab0bL,
  81925. 0x1387d634c6993dd4L,0xc2e664886b2f12dbL,0x96ddf76e8b1f1c7aL,
  81926. 0x0af8836d0c73112eL,0x60fc8d5c87471da5L,0x0000000000000160L },
  81927. { 0xbb469810eaf8f9a1L,0x578f6ab463f8ee9dL,0xc94a65ed62b399f4L,
  81928. 0x7dbe97209ed6026dL,0x33fb692d4dd7fec0L,0x1809935aec02996dL,
  81929. 0xeb564aa5b4362311L,0x7721c318a6eaa32cL,0x00000000000000f4L } },
  81930. /* 49 << 427 */
  81931. { { 0x6fe34646132b6d6cL,0xe8ad45578b5df74bL,0x5edbe10544181a9cL,
  81932. 0x876ad5acade27e8eL,0x709d9c087a2bc939L,0x8e3fc5dcaf2cc6faL,
  81933. 0x69f278e6f034d895L,0x76f09ec5c27e1c76L,0x00000000000001bfL },
  81934. { 0x4cc16808db60bb50L,0x8783bcabc0049677L,0x26987cfac55833d9L,
  81935. 0x68a244380dcdb1c2L,0x7c83c14a42bb8497L,0x6b582da63e47412aL,
  81936. 0x3b7e4b7eceb07167L,0x6b8a30351c1bb2e8L,0x00000000000000a9L } },
  81937. /* 50 << 427 */
  81938. { { 0x7fc67685987b0150L,0xa8abf2f762b4cd90L,0x115c21725726f489L,
  81939. 0x861ab367948a78f9L,0xbfb4d3a1804286c7L,0xa4512b172771cb85L,
  81940. 0x48d255811beb89b0L,0xbe78f826daa51a26L,0x000000000000014cL },
  81941. { 0xe2829f61644031e8L,0x80de3e3475877fdeL,0xbcb6bf9527c7a40cL,
  81942. 0xc823751734abfa0cL,0xc476ed04d4a33668L,0x715393764f9017b7L,
  81943. 0x085bb25f90ecddf7L,0xe63273c0a6f3dbd0L,0x00000000000000feL } },
  81944. /* 51 << 427 */
  81945. { { 0x06a48d0bbf507ffeL,0x59caa8e90b047e91L,0xa10f715478b708dfL,
  81946. 0xee72692a5cb625c7L,0x1fec6d20c83e6aaaL,0xcfba2c7a3532329eL,
  81947. 0x83970bffa919b5eeL,0xbe15513c6a2a46c1L,0x00000000000001d6L },
  81948. { 0xfa14892670cb9e0dL,0xa56e8b43ad374337L,0x7d18381ec20e39c8L,
  81949. 0xc7022ca35b739c55L,0xe8d0c9d08ec3667cL,0xf7ee5edaf4244d4aL,
  81950. 0x501af624a2c20c8aL,0x55699815ee5cccc3L,0x000000000000011dL } },
  81951. /* 52 << 427 */
  81952. { { 0xa2d0161263e5d445L,0x318c60fb81a2b810L,0x4564edf6ab744edfL,
  81953. 0x21cbb72b7129260aL,0x7ab39feca9d01ee0L,0x9b4d0991aad2d43aL,
  81954. 0x5bf41341e8c8f5dbL,0x61002ceb83ee50daL,0x000000000000017dL },
  81955. { 0x94b575db1c891b7aL,0x348538dcb7f8b85dL,0x91503a10c1877296L,
  81956. 0x9ff573b2503b002bL,0x4886698ecbd46aa7L,0x6564266de31a6020L,
  81957. 0xfa1da81ee61a1eb7L,0x2df2b1604e03554dL,0x00000000000001e0L } },
  81958. /* 53 << 427 */
  81959. { { 0xf8a6c112818062f9L,0x8d08a4ddb301afb9L,0x6d7305c20b074bc5L,
  81960. 0x279f7e4c3470f4bdL,0x59f3f94b6e8c4a0dL,0x680a11913e917609L,
  81961. 0xdd6758459621dd8aL,0x1ab73dc00bc5e395L,0x00000000000000d8L },
  81962. { 0x2dd9e1385f223a32L,0x4d87bf99ccdf9a1fL,0x8a67b8908a2f1b38L,
  81963. 0x329c08b5969b592fL,0x9f15de53e70135edL,0x537ad5329408ce34L,
  81964. 0x00f468c6d91dd253L,0x07514043d47da37eL,0x0000000000000138L } },
  81965. /* 54 << 427 */
  81966. { { 0x26144feeeb6e7d44L,0xa3d0e47b419d7a27L,0xc97f088e22e55c60L,
  81967. 0x611ff17696306002L,0x5be12ad9e06949d3L,0xa044ae3d199da892L,
  81968. 0x3e45377b9337f515L,0x6c3d1a82b9c008f3L,0x00000000000000ceL },
  81969. { 0x7576e2901950a782L,0x0f137065091e8675L,0x32b05e3c59703452L,
  81970. 0x0ea85fa33e8a80aaL,0xad2e35276f9bff8dL,0x50cbed34efae1927L,
  81971. 0xb7dc26ee13ac433eL,0x42b282472925f0ddL,0x000000000000011cL } },
  81972. /* 55 << 427 */
  81973. { { 0x2e49ba37ff3d2c8eL,0x8b7eb6db17f31cdaL,0x81fe046de11d97c9L,
  81974. 0xed15756eda082707L,0x685e44031195a75aL,0x56e7aab54492062eL,
  81975. 0x5ca5797e3a978f5fL,0x4591a8bdeca382e2L,0x0000000000000097L },
  81976. { 0x4fb2fb61ee14d996L,0x4723a61f5803e9a0L,0xed2c32c01740f872L,
  81977. 0x9cfb2e942c46e342L,0xf664be63842b362aL,0x4ab1e9d06d396a61L,
  81978. 0xb0930e94a2fe10a7L,0xdc17d952a8fe6f70L,0x0000000000000110L } },
  81979. /* 56 << 427 */
  81980. { { 0x586c6846413b14edL,0x936bb2927edcbc73L,0x893e795583cf2054L,
  81981. 0x386a770bab5def06L,0xe753fc8a28830523L,0x3e651f83a9e5952cL,
  81982. 0x42c2d31ebddb4b3eL,0xb9ebb8c23d9485e4L,0x0000000000000130L },
  81983. { 0xd0f7512dfdd9c07eL,0xdb9b61d37c17370bL,0x1d5542e40e023630L,
  81984. 0xd7367ec1e751a8b2L,0x3ee2c75913e4ec75L,0x331c85fa9cb027a4L,
  81985. 0x9b1d0f016fc9c60bL,0x7e6a19cf34080c71L,0x0000000000000142L } },
  81986. /* 57 << 427 */
  81987. { { 0xe6bb0584e75480b4L,0xb3a154d2cc7fb34aL,0xb297a7260d5ac90bL,
  81988. 0x46cd0c4f19075d40L,0xc3375c6733a6825cL,0x64904deac9512c02L,
  81989. 0x4f17c760ce09f4e9L,0xde401d3cf301d829L,0x00000000000000adL },
  81990. { 0x89155ce8d39f2376L,0x39a8df112371e03fL,0x65d702536fee325bL,
  81991. 0x54ff235708ed7dfbL,0xc19258ca932476b6L,0x13cc49b26dfeddf1L,
  81992. 0xa2b26c3c850f96daL,0xde83c98d86e4d2fcL,0x000000000000002dL } },
  81993. /* 58 << 427 */
  81994. { { 0xc4f1693f0af0d7d1L,0x04df4ffe075feb82L,0x4f818a9543f8745bL,
  81995. 0x3f8bdedd8c94b232L,0xa4af5aa35314fd6eL,0xf4911b6bc3ca1b45L,
  81996. 0x9924adf319e2f569L,0xa7794358dd09e72dL,0x000000000000006dL },
  81997. { 0x4f87908e973ff83fL,0xcac68ed2bbcb94e6L,0x99c8c1d8689acda0L,
  81998. 0xb0d9d2a9e581b37dL,0x413d1edfe1ec4002L,0x1585f1cce9fabb62L,
  81999. 0xbbeff8aca026d8f9L,0xfee19657d13ced0fL,0x00000000000001faL } },
  82000. /* 59 << 427 */
  82001. { { 0x2b24b3c019ce885aL,0xb53de0cbb854a17fL,0x9a0df03ecf26c32dL,
  82002. 0xe6e276ff18141773L,0x29033b53711c8b3cL,0x367c7c6827b85921L,
  82003. 0x8a0f8999c6f4439eL,0x7dabbad4a3d38307L,0x00000000000001a1L },
  82004. { 0x88b4790caaaabfb9L,0x39726e9aee90a6c2L,0xbc324a8c2a08e052L,
  82005. 0x5044c686f2835310L,0xb4b2ee401a62e2a6L,0xb5bb8ea4715a09faL,
  82006. 0x4ba0b1caa2406da1L,0xee2a9ea4066a2a26L,0x00000000000000b7L } },
  82007. /* 60 << 427 */
  82008. { { 0x244f7e0c14c92774L,0x0e07d01007243141L,0xc07fc4185d862fe2L,
  82009. 0x052eb9b39eff52e1L,0xa39dcf3e79cb7730L,0xd4bc1e0ada1a0cd7L,
  82010. 0xcbcbed4ed398b073L,0x466686ba732f9530L,0x0000000000000110L },
  82011. { 0x67d348f78f15b8cdL,0xa681bab6d8cca9bfL,0x5dea910aba84678aL,
  82012. 0xb89d861524525de1L,0x7536a8e711faeef7L,0xcb049dfaaeeb1f92L,
  82013. 0x647de8ded21f0b55L,0xc2e8852ffb9fd11aL,0x00000000000000b8L } },
  82014. /* 61 << 427 */
  82015. { { 0x53e4c63ab7849f04L,0x065e74bdc84a5960L,0x4c437df833b4638aL,
  82016. 0x3e8046b785eb9a9aL,0xbf96115d5136388aL,0x7682edd57d6ea4beL,
  82017. 0x4939f243b3c638fcL,0x71d0774fb46c9fadL,0x000000000000012eL },
  82018. { 0xe57fa566f6f9843fL,0xfc6102e7f9b4659eL,0x51279da3ee351e88L,
  82019. 0x1913f351622fb01dL,0x5a1ada08ec899057L,0xca36809acf2110feL,
  82020. 0x58afbe7f68df1b01L,0x025adf57f30e4d6eL,0x00000000000000b7L } },
  82021. /* 62 << 427 */
  82022. { { 0x66de14604a32d769L,0x7085c561b00b7baaL,0xf3781f27ca887f70L,
  82023. 0x067b88390f609588L,0x4dde43f9de1aa960L,0xdf0d5c73246e1756L,
  82024. 0xfb7e6cf0e32b6b74L,0x832383085785f432L,0x000000000000017eL },
  82025. { 0x85244d7e30556b4fL,0x7d7ae5c25f2b01dfL,0x6d217088afca87aaL,
  82026. 0xcce2eb33c6746f35L,0xa214db754c48ee16L,0x7075d0059af9c236L,
  82027. 0x05acfa551dcb066cL,0x51808254399e0cadL,0x000000000000002bL } },
  82028. /* 63 << 427 */
  82029. { { 0x37140db02c17ece8L,0x67c86862a2f14a31L,0x8661ca8b7f2ebba1L,
  82030. 0x44ea992a1592fbe6L,0x23c0aa41dbb650d2L,0x7e3b31be84e08d74L,
  82031. 0xdc2437d958374fe6L,0x7080a4802a00d6dfL,0x0000000000000084L },
  82032. { 0xcf036b4f784a660cL,0x368783d64202a5eaL,0x70f9ea976ab86497L,
  82033. 0x10e443598d9be8d3L,0x804e0b878e0a9738L,0x7251be8c013faba3L,
  82034. 0xbf2df4fc39e0f147L,0x0b31ef1115f25948L,0x000000000000000cL } },
  82035. /* 64 << 427 */
  82036. { { 0x5fbf73adee70e781L,0x29a81e4f67793cf9L,0xd7e9ccdf80bf503eL,
  82037. 0x6c06d49cd6edda9dL,0xc33c7ee6d96e70f7L,0x30d7d644ef6114b1L,
  82038. 0x0615b576ab81af49L,0x56b8af445a09a31fL,0x0000000000000076L },
  82039. { 0x32e0b33475cac764L,0x0b123da0dc2d7e31L,0x67d72e7ad11b58eaL,
  82040. 0x93165a21961098edL,0x4ae95e5add1d2b8cL,0xc26794a07ee3715fL,
  82041. 0x6887f532cd333782L,0x67e608d5af37aedeL,0x0000000000000179L } },
  82042. /* 0 << 434 */
  82043. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  82044. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  82045. /* 1 << 434 */
  82046. { { 0xac333e4aecfa8831L,0x9d08f6ef8a6d6e93L,0xf2eed835ea97fb6aL,
  82047. 0xddf44417070c46f2L,0x1e3159bf37694ea3L,0xb0c4319c8b7d6a05L,
  82048. 0x0abc757261f314fbL,0x0057f6c701a6047eL,0x00000000000001e7L },
  82049. { 0x204cb3dd6af8283bL,0x4eedfa1644ab9ea7L,0x79f1569993b7d9e5L,
  82050. 0xaac8f0c7d29dcc8aL,0xe293fd274800f5e5L,0x6ec0a739e22da004L,
  82051. 0x8cbee62fb903094cL,0x86dcb1fda88c3bceL,0x00000000000001ccL } },
  82052. /* 2 << 434 */
  82053. { { 0x3a44dde085f45eddL,0xc543bb6498309156L,0x82d1ce827597d0d0L,
  82054. 0xb2dc0f228106ca3eL,0x66f394472c3a313aL,0xd8f6fcdaa6cf2e03L,
  82055. 0xed6e0e279e6bf40bL,0x7dcd3a305b9a41afL,0x0000000000000095L },
  82056. { 0x0a870cec12be5b78L,0x912c21c51406e140L,0x977417fdd5e13ca1L,
  82057. 0x9edbae8ab9e21e28L,0x9fce45ea13b2f069L,0x25bd760b84f3cbf2L,
  82058. 0x29e0c3ce2489fd01L,0xe16d31c1ec62a766L,0x0000000000000061L } },
  82059. /* 3 << 434 */
  82060. { { 0x9badc953ab98f2bfL,0x867b5f5e6f45ec55L,0x36c30111539ab291L,
  82061. 0xc663fbe74feeef3cL,0xb2da1de355213dd8L,0x2c3e4a54a8f58884L,
  82062. 0x2c2794c713f166adL,0x1b31c3a69bb7b65bL,0x000000000000018eL },
  82063. { 0x1a866f47b06e4f37L,0xbbe067a17a609c0dL,0x83073920151f64fbL,
  82064. 0x899421eebba549b1L,0xa2145adf91f21d16L,0xbd5f420952c37c74L,
  82065. 0xbf18214c7c7afc51L,0x917e6547b69ba831L,0x000000000000013eL } },
  82066. /* 4 << 434 */
  82067. { { 0x6985bbd6ee32e2ffL,0xe69f0f223c35a00bL,0xb1abb4ae0ede3c1bL,
  82068. 0xa3d7ecde93d96532L,0x69eae2594f693cabL,0x52e38b65fe3665f9L,
  82069. 0x17664e93f2fa7a85L,0xe1a2febfa5300907L,0x0000000000000000L },
  82070. { 0xbb35ef0ca538774aL,0xac9aa3ce2b28e6fbL,0x57e02d060a801edbL,
  82071. 0x6977544394847324L,0xb526bb1929dd0a3bL,0xaed93900c468815fL,
  82072. 0x3eb1b9b2221df814L,0xe421e27ad9472dafL,0x00000000000000b9L } },
  82073. /* 5 << 434 */
  82074. { { 0x86c72d693a4d1314L,0x8a0b4b5a5c7db07eL,0xb77d353706fde68fL,
  82075. 0xcb5446077f5e412aL,0xb399cf67eebefcd0L,0x8b1f0e0a274fa0ddL,
  82076. 0xbf0e6dc875a8fa65L,0x1c405959c78432ebL,0x00000000000000cdL },
  82077. { 0x50aef83472b78101L,0xf4477ba98ad40428L,0xffafa24a11d9b90aL,
  82078. 0x41b8927e81c56505L,0x0f9920639e742b07L,0x1e7d380631dbf256L,
  82079. 0xd4c41bf666ba635aL,0x895bd3de14246d32L,0x0000000000000179L } },
  82080. /* 6 << 434 */
  82081. { { 0x4ca733dff28aebc3L,0x408d980ed8f0c8feL,0x64cff1fd113fe1beL,
  82082. 0x3ecc3e9706c2bdc4L,0xfa7cd864c6e6802eL,0x728c7528d9975387L,
  82083. 0x96ae9f3bd6abcb5fL,0x24a5251a89ee857bL,0x000000000000009fL },
  82084. { 0xe49c9cc6c5a6f9b0L,0xdd026901c60fb1c2L,0xc0c58dacc212b65bL,
  82085. 0xf2ea35783677c2b2L,0x7d2c7e6de6ca86aeL,0x8ca90cffdc0561a1L,
  82086. 0xa4e849704061a2ebL,0x852086dafe948ce5L,0x0000000000000135L } },
  82087. /* 7 << 434 */
  82088. { { 0x64d982d29e4a102cL,0x4526200619d68225L,0xce9edcab495a7a30L,
  82089. 0x49255fd1405baf0eL,0xd9e98392b5055fa9L,0x5deb038d3910964fL,
  82090. 0x3c53120d8c7d1e1aL,0x4690a6be39ee8dbcL,0x000000000000003dL },
  82091. { 0xcbd6c1035f941144L,0x0cc8a7b3d72dba80L,0x09d89abc286785b6L,
  82092. 0x7f545c4c4d52dde7L,0x1f0b173d3212b0c7L,0xc82280472dacdc27L,
  82093. 0xd9a295be16301255L,0x75cf7419ed5f40ecL,0x000000000000005dL } },
  82094. /* 8 << 434 */
  82095. { { 0x823a3093dcc0c55dL,0x48e4f42c8667bd82L,0x6483b8acdd036949L,
  82096. 0x0d3f6e52154b38e9L,0x713a6450cb96db0aL,0x791efd97ac907250L,
  82097. 0xe491a5192130c99cL,0x333277e57df593fdL,0x00000000000000ceL },
  82098. { 0x4deb4d72d7d90a84L,0x7f39203ea13778c5L,0x2308cd8a7bb79168L,
  82099. 0x470cef35a710bd28L,0x6db6b1a213ba5c45L,0xe35b95dde9e55ec1L,
  82100. 0x68f023ab7819af5bL,0x50d449896770441fL,0x0000000000000187L } },
  82101. /* 9 << 434 */
  82102. { { 0x4710bb318de4fd4eL,0x169135edf00d87afL,0x36bd504900a94292L,
  82103. 0x90c1c9c2ee73e959L,0x604cdf4c627461f3L,0xf123980795d64fa6L,
  82104. 0xa60a3fb61f64ccc9L,0xdff7fc6e358d52d3L,0x00000000000001d6L },
  82105. { 0xa97592eec296e9a0L,0xcfda4984fbc367ffL,0xa22077102957a911L,
  82106. 0x596f1f66ca8ec572L,0x7bb35c4f4723310bL,0xb8f39027336b3010L,
  82107. 0x4c2ad1f39d1bfbccL,0x99f721ababd1e48aL,0x0000000000000103L } },
  82108. /* 10 << 434 */
  82109. { { 0x761d77943135f08aL,0xc8ea69f3c9ff4b0bL,0x3a427a226d6f567cL,
  82110. 0x4f8fbd235866181cL,0x4ab492868b5a14d5L,0x2cf7fb42ad46afe0L,
  82111. 0xfe411657b6759dc7L,0x9610138134a7b11bL,0x00000000000001b4L },
  82112. { 0x1c306fff2d0bc15bL,0x23830bab33793532L,0x959e8e6406ebcd49L,
  82113. 0x8ed9b284f60bceb3L,0x7d9c5d2acba1b607L,0x8aa698e5ea1a280eL,
  82114. 0x75025662502aa440L,0xe1b6a557d8462948L,0x000000000000004eL } },
  82115. /* 11 << 434 */
  82116. { { 0x1bcd8a7db6ef3dafL,0x12c9d413f4253275L,0xba8941d2eff8e698L,
  82117. 0x3c29be9700772aabL,0x4d3932bc466ddc96L,0x9d8f7ea612b8dbceL,
  82118. 0x54b26ab2e90a0e8bL,0x28ecc5262ab562e3L,0x00000000000001d0L },
  82119. { 0xef47706ebc52c73fL,0x88ac550f31ca0b88L,0xefc0b9993f371074L,
  82120. 0xf757ea265a09d4dbL,0x4f614d7d4eca4514L,0x3b597b46bc70e805L,
  82121. 0x5f65ff72861a04c5L,0xa2fa0cd6a07d93a0L,0x00000000000000cdL } },
  82122. /* 12 << 434 */
  82123. { { 0xfd2c6ba8c03c8a93L,0x6287baae255a51a6L,0x6cde095efc336858L,
  82124. 0x668c6f54acb5fb8cL,0x26b65582568a5789L,0xd51684effcfeb7baL,
  82125. 0xb5d91d3d8dfe63fdL,0xd366cae7560188b9L,0x00000000000001c6L },
  82126. { 0x587d06cc9844367eL,0x527a075f589d9acaL,0xd581ad9f4f88ccdbL,
  82127. 0x3499e8073a56ca59L,0x50b8b14dd6328d96L,0x9b06ce845936a744L,
  82128. 0xab46f398e693da36L,0x4c5e0d9abc55f498L,0x00000000000001e0L } },
  82129. /* 13 << 434 */
  82130. { { 0x35e6f3aeedd8cdd5L,0xe7d1f84e3c70eda1L,0x2fa8a57c99601b6bL,
  82131. 0xf4cd235a499f2353L,0x9200190c848ec0f4L,0xd8e57c44524a27b7L,
  82132. 0x5a32ea3b935a4f48L,0xd31839aa14181ffaL,0x00000000000001ffL },
  82133. { 0xe60c02142be2e8d7L,0x4149c75ebc31b48bL,0x87917bef8716d826L,
  82134. 0x70259495ce66f29bL,0x457f892b3868150dL,0x8f604f018c143012L,
  82135. 0x802b15781b1338e7L,0xb8e25cdbe0d1d962L,0x0000000000000116L } },
  82136. /* 14 << 434 */
  82137. { { 0x8f89563d4f5a170bL,0x9b4bedca2a08933eL,0x270d697123bf430bL,
  82138. 0x589177b13db77dcdL,0x2c7fe43654015de9L,0xa190fe6f76847478L,
  82139. 0x161fb872744696e7L,0xa272a78c692f59d0L,0x00000000000000deL },
  82140. { 0xdd80e1522a95538aL,0x2d9da36b70fe17caL,0xfe5bfe5823144f73L,
  82141. 0xd3239a7c02c3a576L,0x01efa88bd359a33dL,0xe6af55f7269d3166L,
  82142. 0x15e3f06e0b135041L,0x20be0cf9492369fdL,0x00000000000000bfL } },
  82143. /* 15 << 434 */
  82144. { { 0x76c2738f4e339d8bL,0x2f6527a787c02e91L,0xc39a95b131e5a030L,
  82145. 0x8a733cc6c748a0f8L,0xd9ddf3065851fca7L,0x0cc640146e2fa015L,
  82146. 0x39d03d51fd0aa84fL,0xaaaa83861c8f6581L,0x0000000000000138L },
  82147. { 0x750194db2640d9c0L,0x3415c97add9e522bL,0x002ae6be920d5398L,
  82148. 0xf544445d80534cabL,0x3c62a5dc6f30a7c8L,0x26b9e329a45929c2L,
  82149. 0x7675e5d566978e76L,0x905599fbb8d851c6L,0x0000000000000198L } },
  82150. /* 16 << 434 */
  82151. { { 0x6cdf7285e8cf496bL,0xa27becaee1460283L,0x0291e5e3a8331004L,
  82152. 0x436d8dea957e58fcL,0x52ade5768f6a37b3L,0x4c31e9eb08ca0bf7L,
  82153. 0xd918c8a0547bb960L,0x85ceb1004394f6d3L,0x000000000000007bL },
  82154. { 0xf796100862db1e32L,0x875fa000c20f8b1eL,0xbd4bb865e621e53eL,
  82155. 0x9346c7c57235cf42L,0x8ae88a5692cd8c70L,0x06b82e3ac68ab6d4L,
  82156. 0xd0dea99a736a6b71L,0xa54ceaa48c6a1235L,0x000000000000012dL } },
  82157. /* 17 << 434 */
  82158. { { 0x0fa6807fc5da532bL,0x55d9934a4ff8c1faL,0x2eb4a07eebdcf033L,
  82159. 0x4b02434624189b33L,0x2ac6561b755eb9fbL,0xaea6cd0ad3eb3456L,
  82160. 0xa36e3823c15ba5acL,0x94b73998c83d3098L,0x00000000000001e0L },
  82161. { 0x7fc341f11f8b078cL,0x713203356df305b0L,0x37a2030430ec9e60L,
  82162. 0x7999cd74c660bafaL,0x7521e720ec45a6f7L,0x6fa8a84d4fb05d84L,
  82163. 0x16e0315c1f4f5dfcL,0xdd5cfcc90cd47592L,0x000000000000008fL } },
  82164. /* 18 << 434 */
  82165. { { 0x7ca1ffa7541e8082L,0x00f359827383faaaL,0x04a27995ddbea281L,
  82166. 0x11cb61e87b84e2aeL,0xb22cabebc2411c38L,0x684f6d0266eb6691L,
  82167. 0x712d6e1f4d7d1723L,0x5717734104bda106L,0x00000000000000e4L },
  82168. { 0x72616b593feb0af8L,0x6e76d929924cd70aL,0xf6d917784239138dL,
  82169. 0xfa7bd85f84918a4eL,0xb90ba79df7073d27L,0x4edf2a217e42f694L,
  82170. 0xb4840c74e1064c54L,0xdbcefd0b133a8f82L,0x00000000000000d9L } },
  82171. /* 19 << 434 */
  82172. { { 0x74207ef458e13084L,0x64cd272b775520dcL,0xfd6c279b16d75480L,
  82173. 0x0de0dfa321b58672L,0xd156b0bdaa4fe111L,0xa006bb34bdc41a5bL,
  82174. 0x586bb1e3f7423cb5L,0x39ffa18d5c61fd49L,0x000000000000011eL },
  82175. { 0xe3f73412ec60c0b7L,0x7a6bc1434ab8bd9aL,0x935d3e7ac11d433eL,
  82176. 0x1559ebf9dc6e4b07L,0x6a4fbf74d1ff2ce8L,0x58526dc6fa40bacbL,
  82177. 0x36abb094c5a9d599L,0x4ce17b30e5b1452bL,0x00000000000000cfL } },
  82178. /* 20 << 434 */
  82179. { { 0x14de106989b694f7L,0xfa202a91453ed74eL,0x19344093b7c462b0L,
  82180. 0xddb9f1159d5f7733L,0x6110f1cd6e71efcbL,0xe9dbc336d27d9f95L,
  82181. 0xd9b29e011ba3bb66L,0x7b218536a9677cf4L,0x0000000000000178L },
  82182. { 0x7fe687840eafdb07L,0xde335a451c0d642fL,0x11b4b98a208d5237L,
  82183. 0x53f2c20236b0801dL,0xf07f20935cde08e1L,0x5e0e5d3a0f34078dL,
  82184. 0xf1fc7f3480286b22L,0x4c305a8bc48e9216L,0x00000000000000f4L } },
  82185. /* 21 << 434 */
  82186. { { 0xd6df42236705ed72L,0x370df16b66596b1dL,0xcfd44ffd24fd4817L,
  82187. 0x3d6143cddc924183L,0x26b486833c93f868L,0x54926c39c19a83d5L,
  82188. 0x3d07a6ae95119375L,0xb882bdf8d83bcc99L,0x0000000000000034L },
  82189. { 0x3cffe30d64e14848L,0x0dec1cdaa7c2b18aL,0x22757d5836be59cdL,
  82190. 0x7ddacf11d39f6627L,0x83237713e4a0e59fL,0x755523683e890a59L,
  82191. 0x6473baf3ff8e3c4aL,0xf8a58f623318c5f3L,0x000000000000013aL } },
  82192. /* 22 << 434 */
  82193. { { 0x3fb7ab81dd8b0441L,0x9b12b4f4080198a6L,0x765ab538611543c5L,
  82194. 0xd1b6ca116043b1e1L,0xe8e0c15a1e579bbcL,0xc9005a7fb00fd558L,
  82195. 0xb0ee75168c91ddfcL,0x85c607eb8506ec71L,0x00000000000000daL },
  82196. { 0xf9016a2cc0ae0796L,0x1cc194908bddc9bfL,0xb49f46aff31a5da5L,
  82197. 0x172441592beef5bfL,0xd8596e0bb4e4021aL,0x272d8334936dbec1L,
  82198. 0x6b819cc236552640L,0xf6bf179cdf801f6aL,0x000000000000018dL } },
  82199. /* 23 << 434 */
  82200. { { 0x2ae917945ba71ac1L,0x8812d26b5fb18507L,0x50d7c5af4e8f8ab4L,
  82201. 0xcbab980b252f505bL,0x53ef95460538a252L,0xbaa38f3b2c7e3061L,
  82202. 0x6227e7032ced0186L,0x3eff1b0b81e073ccL,0x0000000000000184L },
  82203. { 0xcb8042e53e110191L,0x8b718b8d844874b5L,0xec43894e2c55ef49L,
  82204. 0x089d49b33c1b5249L,0x431cfb0951502463L,0xbd443d7152d52366L,
  82205. 0x6d21c0b3b0e9dce1L,0xca17c72c4b785911L,0x00000000000000ceL } },
  82206. /* 24 << 434 */
  82207. { { 0xdb8a02d18294cc29L,0x6aca02ec9a9a5709L,0xee2b10e6d554c17cL,
  82208. 0x29aa181881c661ccL,0xbe522af71fd10eaeL,0x3c4bb5242b5589f7L,
  82209. 0x5a5600b1681236a9L,0xf7ffd0917f235a88L,0x0000000000000007L },
  82210. { 0xfdfb09268ad17511L,0xc8964821ba2b0a60L,0xa6edc26433608d96L,
  82211. 0xd98937de18d1b857L,0x0feecaad85a5a3b9L,0x567bbb021f102192L,
  82212. 0x89147837441b4a0aL,0xaa4716104e0f3d86L,0x00000000000001b9L } },
  82213. /* 25 << 434 */
  82214. { { 0x93f9cccf7863976aL,0xfdbab5361c91781eL,0x6774ae57904d212eL,
  82215. 0x6cbfac24eb9ead07L,0xbd90380ba53968deL,0x0fde4f3a0a3b43b9L,
  82216. 0x4c738cf2096efa0cL,0x1a3a02b223c171f1L,0x00000000000001d6L },
  82217. { 0xecd4893c71151a16L,0xb6a710f6c733301aL,0x28758b01587eec91L,
  82218. 0xb131f8b73bcdc933L,0xd5f86b40871cd739L,0x2ee24f351b13cde0L,
  82219. 0x743cf511dc7a4ae4L,0x88f47ad7177a75e7L,0x00000000000000c1L } },
  82220. /* 26 << 434 */
  82221. { { 0xfd8ed032796edb60L,0x24d59d721ecab1efL,0x34dfd046f4ff8f0cL,
  82222. 0x8606b5075706fce9L,0xc97ed07d35c5b36bL,0x7f4f2338c412e11bL,
  82223. 0xd071191ded311016L,0x2df826748840bf8bL,0x0000000000000192L },
  82224. { 0x9225258095905d12L,0xae0da381a714a1f6L,0x59c89c85914bcea5L,
  82225. 0x625501930a6928b0L,0xdeaa1009b4cc872cL,0x1c66457791b860e9L,
  82226. 0xe52c89f4cd323335L,0x1b163d294211ab43L,0x0000000000000082L } },
  82227. /* 27 << 434 */
  82228. { { 0xc9e03c6c0eb94372L,0x8a373721b3f7a044L,0xb81c3b953e48abc0L,
  82229. 0xb4a8a4b733c5a6f5L,0x5e4f35752c6ffb15L,0x369c3d68d3cd8567L,
  82230. 0xad684b69cd922456L,0xfc195cb8ca0961abL,0x0000000000000083L },
  82231. { 0xb54609c5e604a834L,0x028b402f975cb6a1L,0xd61cec8482493224L,
  82232. 0xc0d930d5d339794aL,0xb86c38891b9a3b61L,0x7d2eff3793827f00L,
  82233. 0x7ff8c2bf9ab658a2L,0xe7f3aea8cfdd8fc3L,0x0000000000000156L } },
  82234. /* 28 << 434 */
  82235. { { 0xe030feb9814abc1cL,0xaa7ef7427387fcfdL,0x134e4ea847e5ce93L,
  82236. 0xce9f3cb52949ffb0L,0xa83252a83e11a1c5L,0x2b308229ba0f2644L,
  82237. 0x1eb76fb7ea75a292L,0x0d9bd36b73cf1481L,0x0000000000000021L },
  82238. { 0x45bdd68dc50e223bL,0xc6a83635a6c0be76L,0xaa61ea3fc0e1f910L,
  82239. 0x7ad38095e8fd27fbL,0x2deaa3b2796c8efeL,0x9ad0a578d099bcdaL,
  82240. 0x5819856a2a953ea1L,0x2b7b7793593d3e2dL,0x00000000000000ddL } },
  82241. /* 29 << 434 */
  82242. { { 0x5d863e60fd21235eL,0x1737c3f3325a1732L,0x6d933847ccc5bf11L,
  82243. 0x00a192d493e00d81L,0x89a45bfac2c643ceL,0x02a13ad00765649dL,
  82244. 0x26458f12fa509f47L,0x74c8aa2d16f09353L,0x000000000000013dL },
  82245. { 0x3fb91bb9f034a301L,0xc374e95b48dd0af7L,0xe1b0cc306d83c081L,
  82246. 0xbbd70743e19f9a52L,0xd036958d37f45c9aL,0x02e6c68263326db0L,
  82247. 0x65b7b79941872949L,0xa2e9e2dc4a5cd039L,0x000000000000016bL } },
  82248. /* 30 << 434 */
  82249. { { 0x68dc9f921bdf35d8L,0x037282cfa1a62dc9L,0xdca2ce576cb7d912L,
  82250. 0xd565f7f06dd74592L,0x33e5cd32c2cf6a12L,0x86e50fbbd1ce584eL,
  82251. 0xdec9cac5a91b3424L,0xb0c5e080b9b711e9L,0x0000000000000170L },
  82252. { 0x76d0834ade8dc323L,0xc7c54d2e20e86b82L,0x262b43488d8a41f7L,
  82253. 0x35d84018b7751aebL,0xbf41d90a5e4cb30cL,0x3561f5f7c0cd08eeL,
  82254. 0x0da722077b161b52L,0x6dae1a62cd604660L,0x0000000000000169L } },
  82255. /* 31 << 434 */
  82256. { { 0x8a4f3392d8eac947L,0x6c5c77fb762e311fL,0x29873696050f18eeL,
  82257. 0x1736f47d8bf20331L,0x6a7e4e5256b5a106L,0xabdc39f8b502e6deL,
  82258. 0x92d66f5e192b6aaeL,0x81266111e45b2f7bL,0x0000000000000038L },
  82259. { 0x12c3d68218222288L,0x2619aee789444667L,0x15c4af7dde3e55b6L,
  82260. 0x3ea45634f3cf8dd1L,0xa4ec538f4dea2c6aL,0x8a5698ec39ce9315L,
  82261. 0x3748d917aeb0b056L,0x1698cc83705362a5L,0x0000000000000007L } },
  82262. /* 32 << 434 */
  82263. { { 0x88fbc549470d7e36L,0xf091232ae079762fL,0x8e84ce7e027a4477L,
  82264. 0x21e570dfb704f424L,0x51e89ca1d36fc205L,0x52451d98cb04c0f3L,
  82265. 0x4233a3569a256b13L,0x42f33c2422636d07L,0x0000000000000186L },
  82266. { 0x88d6f4d60445345aL,0x8b03b9f60c2faa71L,0xa45ab219c3baf6d7L,
  82267. 0x67c7eba1b9beb6d6L,0x3eb7beb99c8fcf22L,0xb35dfc4371d9a1aeL,
  82268. 0xc1204af558436e2fL,0x543e4f318dd710f6L,0x0000000000000096L } },
  82269. /* 33 << 434 */
  82270. { { 0x4e2ab19ccecc8f96L,0x4b5b98ba2dc2c44cL,0x0b69cf0a14cf2ddcL,
  82271. 0x109772e225a59fbdL,0x14e18ca6dc1ce60cL,0x8d542628d9b88c07L,
  82272. 0x088494bb355c86c7L,0x6ead45471c0ca228L,0x00000000000001bdL },
  82273. { 0xcac21f389be7431dL,0xd238795012a91cbdL,0xa719bcba717b6555L,
  82274. 0x5df1906c4b27ec0aL,0x489f2341704016b9L,0x7a6b8295439665b3L,
  82275. 0xd48a672f6bd0e2d9L,0x7c109dfc85d4da53L,0x0000000000000062L } },
  82276. /* 34 << 434 */
  82277. { { 0x95923905c4e86d59L,0x03d679ea822fe184L,0xd620a19613200a7eL,
  82278. 0x9e83b378747e1eb6L,0x39596aa1709c1988L,0xcc66a5db1570d652L,
  82279. 0x3e97c888759f7faaL,0x7a97227391133073L,0x000000000000009fL },
  82280. { 0x044c93fdf39e6260L,0x152909941bb2cfa6L,0xcb1274af09a76fc4L,
  82281. 0x430e3da16de5dad0L,0xc91bf14c1fb5f32fL,0xc2b6692c0587e533L,
  82282. 0xd318416f41343775L,0x55ab5e96b0acf93dL,0x0000000000000098L } },
  82283. /* 35 << 434 */
  82284. { { 0xb847386fa177d3dcL,0x06d3c04864062f50L,0xe818655887c6c7f0L,
  82285. 0xc72485a20bbe2d45L,0x36e906749ebc1de9L,0x02ea3f0a95c940b8L,
  82286. 0x32502e0f9de384a7L,0x412d534093bc0c9dL,0x00000000000000a3L },
  82287. { 0x234b35877cbee5d8L,0xc8b3c8b7715bd276L,0x64efc64eede0417aL,
  82288. 0x76fd0880130a4b05L,0x7629e3ac5d8dc2f6L,0x3d1bb123377d965cL,
  82289. 0x672bac542c2bd073L,0xd6de18f0763028d5L,0x00000000000000deL } },
  82290. /* 36 << 434 */
  82291. { { 0x8c0fbbd4799716a6L,0xcc051818aa53a2afL,0xbca333e86044b4d4L,
  82292. 0x119f4ff585c795f0L,0x4b480cb57ea3cadeL,0xced7fb1dc4c1c28fL,
  82293. 0xcb53655dccc703ceL,0x1fe0b7538c5540d0L,0x00000000000001ccL },
  82294. { 0xd937f3957c5bc459L,0xb6756328ad67f0a0L,0x3a5bc8d0fe7c0533L,
  82295. 0x796ac0b0e4565f1eL,0x8377d5884913c2c0L,0x2faa11ac7d65704aL,
  82296. 0xe207ffd25e625bdeL,0xbf3d689068bd440aL,0x0000000000000147L } },
  82297. /* 37 << 434 */
  82298. { { 0x36917a0fc5d50ee8L,0xf67584a91182034cL,0x6e3f6816ddab541fL,
  82299. 0x252c3846fb4383f3L,0xd486c56a79135f2bL,0x5cf7ae823a7b6256L,
  82300. 0xc903396746135cd4L,0xfa78d00cc9fdfe0dL,0x0000000000000007L },
  82301. { 0xaa198a27acef8834L,0xbc5b9d6f97b2f05fL,0x9f0aba712c3f6799L,
  82302. 0x11990d450c5baaabL,0xee42d800d468664cL,0x5d20517f8cd348edL,
  82303. 0x4e5cd17de02cc9e5L,0x2cc4892c040e5585L,0x00000000000000b4L } },
  82304. /* 38 << 434 */
  82305. { { 0xd9bda3f36d9412caL,0x759172bde7d5a033L,0x9162350fe29748cdL,
  82306. 0xea7e260f7ce78177L,0x6630e96465a27eb5L,0x2745ab185575a078L,
  82307. 0x197118fac60ec2b2L,0xcfdc1b2b7b511ae9L,0x00000000000001e4L },
  82308. { 0x3f09c640ee1c385eL,0x64473a006dbb4205L,0x6bed5856526fa99bL,
  82309. 0xfd8ca51fdce3dcc1L,0x5f5bf3dfc76817deL,0xc19d1b50e480b4b7L,
  82310. 0x1028a8009198a639L,0xd505d500a57b69ecL,0x000000000000009bL } },
  82311. /* 39 << 434 */
  82312. { { 0xf9a3263685b14170L,0xfaaea08426db6ffbL,0x84a477d90e115823L,
  82313. 0x922ce22b3f333890L,0xc0386be7cd7d2d74L,0x10ea11cc30d0eb44L,
  82314. 0x85207d417dbb318dL,0x7194658ad2411ca4L,0x0000000000000039L },
  82315. { 0xdb898a4506da169eL,0x0aa090c2467b64c3L,0x2cd2e8360970b9fdL,
  82316. 0xaa6c8478f176f199L,0x176a0fc397e78d6fL,0x70e4e4b0f93e0f7dL,
  82317. 0x184642658f26159aL,0xc7cbb454e455ffd3L,0x0000000000000058L } },
  82318. /* 40 << 434 */
  82319. { { 0x2f7b339b2b037a05L,0xe42f3e95c499d10aL,0x0160d72e07be03b4L,
  82320. 0x153548a37a4601d1L,0xb0fc5c52ea960842L,0x275739870fe92d67L,
  82321. 0x4c0862b5dea7eac0L,0xcd613cde55b71eb2L,0x0000000000000023L },
  82322. { 0x28530abf98a98d28L,0x85a1af53cb349226L,0xdf816addeea21f09L,
  82323. 0xa9b60f768c0d127eL,0x508a88e61a151e50L,0x25ac746c3d750f33L,
  82324. 0x5011a102a225271aL,0x3b5029b548113215L,0x0000000000000037L } },
  82325. /* 41 << 434 */
  82326. { { 0x38c9b635309d5353L,0xcb77df72ff53eabfL,0xe116962d62804686L,
  82327. 0x6949fbe02faf8d17L,0x7899699b97f3100aL,0xcf94c761b8ef13fbL,
  82328. 0xbca74d760416373dL,0x4ca1c8e9b9562432L,0x0000000000000068L },
  82329. { 0xed281e63efb5a925L,0x67e0fa020dd70085L,0x01ca8b2cc32e60e8L,
  82330. 0xa78c502dcacbb1a5L,0x8cf30c5145222199L,0x306de139ace8b1b5L,
  82331. 0x3614b36b961f8addL,0xe3ee448a204661cfL,0x00000000000000f4L } },
  82332. /* 42 << 434 */
  82333. { { 0xed6f4f24b9102544L,0xf209b09d85d70bd4L,0xd7e7b9b1c727863bL,
  82334. 0xa52ecaaf946895adL,0x4128d7380b92132aL,0x02b9b836f0afd5ebL,
  82335. 0xbff72d5e25e0c7ddL,0x67eabf0bae65295cL,0x00000000000001aaL },
  82336. { 0x210820f484bb95b5L,0xd5e78b484e691cc3L,0x6ac799475179f470L,
  82337. 0xf1bafa8f493c2266L,0xd772f2b402acc5caL,0x25c600fff28c1f86L,
  82338. 0xe57413f85ba4a90bL,0x1040f65dc9237b57L,0x000000000000008bL } },
  82339. /* 43 << 434 */
  82340. { { 0x721a88c5f4a96867L,0x1a6f08e0c7e3964aL,0x0c702afe5874917cL,
  82341. 0x3660b192488af1a6L,0x4cb5255f1d7d5ca9L,0x1f31efeb4121bb44L,
  82342. 0x6853d58c5cc7c475L,0xe222fcb5a50c5a86L,0x0000000000000104L },
  82343. { 0xa10d5a0167ca5d9eL,0xa5000c01b40801afL,0x7621eed07bad8270L,
  82344. 0x36a455c869afadccL,0xe7659c2588f3d64aL,0x2e81486da9d2e3f5L,
  82345. 0x4a64f4cf9dd9834aL,0x32a3821eeb0c3985L,0x0000000000000176L } },
  82346. /* 44 << 434 */
  82347. { { 0x32269c1bdc9fc49bL,0xad26e06e9fc27f50L,0x40d2a97d6b4e84a9L,
  82348. 0x736b98d4910ef791L,0xc48559b078702918L,0xb38b860861be6975L,
  82349. 0xcc86b5ac35b00e9cL,0xf06c1fb5335d2dcfL,0x0000000000000177L },
  82350. { 0x24bfe015658a4588L,0xbcf3af27ab32678aL,0x55e6b2e160abc5b8L,
  82351. 0x55fb213b917c8360L,0x9e981ed52f427c30L,0x43665885c4fab94cL,
  82352. 0xbf8864fac0afabe4L,0xcabd2939cee3a355L,0x00000000000000fcL } },
  82353. /* 45 << 434 */
  82354. { { 0x3501e6801439c78bL,0x45a176bc14dee0d4L,0x5d33c48ecdc93ed4L,
  82355. 0xca8d913e0f11febeL,0xf9553c9ae595b009L,0xc546040165fd9c88L,
  82356. 0x1d88fd1c067148d3L,0x05d5e73168c32d38L,0x00000000000000ebL },
  82357. { 0x57df5f2ac01721c8L,0x46eea36794fc35b6L,0x1a80221d3532fe8dL,
  82358. 0x58a569de2fe6110bL,0xd58d99cb9d006486L,0x01a70beac7d58257L,
  82359. 0x0f7676b2d56eb44eL,0xb503c4212bb311c9L,0x00000000000001dbL } },
  82360. /* 46 << 434 */
  82361. { { 0x48b2eb5bb8f016ccL,0xe1f7acad2889fcbfL,0xe2fbd9c195de450fL,
  82362. 0xa2ae397601759f50L,0x03e182f9966abb7bL,0x6b87622f15f8b8a8L,
  82363. 0x8234b5a6559f8478L,0xc3eac3da12e79b2aL,0x000000000000014eL },
  82364. { 0x98d557a4bf09ce09L,0xfe2e1a6e9b890fd4L,0x773b8fee056880b1L,
  82365. 0xb7df5bfa733d34d7L,0x9ae1466b7dc667edL,0x1f3c57ef1db24478L,
  82366. 0xcf7a87b31c706e65L,0x52bf0e2a08204e04L,0x0000000000000108L } },
  82367. /* 47 << 434 */
  82368. { { 0x12dcc5ed7de6a415L,0xc2d54417adf91247L,0xa5b6b79c9cd65815L,
  82369. 0xc89a400c59c0db1bL,0xb11b7522837951e2L,0xf50d64cba967c6d2L,
  82370. 0xed1de5b667ad5dbdL,0xb0188dfbdfdf950fL,0x000000000000006cL },
  82371. { 0xe590422636ce4973L,0x62d15372ee9e7e8eL,0xe03a02160bc5bf10L,
  82372. 0x594b360ec424638cL,0x9631644a46e4980eL,0xb4c6d0935ce887f0L,
  82373. 0x34e073072af0a673L,0xd1c705e7cd22b648L,0x0000000000000076L } },
  82374. /* 48 << 434 */
  82375. { { 0x83fe2ac97051ea31L,0xa76b3ac1b39476f3L,0xee45d2e03e2433edL,
  82376. 0x606db8a30d999a0bL,0x12be94ba99c5c5b2L,0xe2231745695b061fL,
  82377. 0x0aff87140392ef4cL,0xbdc82de6e03641b7L,0x0000000000000172L },
  82378. { 0xc9a067a61e4ddb23L,0x924466e6c5fe49e1L,0x56c25e66498a09a8L,
  82379. 0x2ff93349603dd109L,0x6173e4ef0cfe1653L,0x486c08b8861e5694L,
  82380. 0x675b2d4e4460ca71L,0x9ac71cb2dd05403bL,0x00000000000001f0L } },
  82381. /* 49 << 434 */
  82382. { { 0x594bee43add1ffa3L,0x81b3f78384ba86a8L,0x4d4d314504753e0cL,
  82383. 0x86918b199618ea5dL,0x4342ac93de51e92cL,0xedc80f689d28bd5eL,
  82384. 0x4d3cffa667558269L,0x8d61908adbd3cef6L,0x000000000000011bL },
  82385. { 0x4b24dc12ddfdca3dL,0x27f4baafe5dcba84L,0xf6a5bb67d4f24194L,
  82386. 0x704e87a577187a98L,0xd69baff3c81d6027L,0xf0695b948d86bf10L,
  82387. 0xb60137a1a2c69accL,0x0854af7a4dd76e60L,0x000000000000007dL } },
  82388. /* 50 << 434 */
  82389. { { 0x28c546ab91960c2fL,0x6c1382d2d67d35b5L,0xf1fd4ece5c68d954L,
  82390. 0x2dadd781a99cf73fL,0xa97a79671519360eL,0x87392a02f36e5f39L,
  82391. 0xd3ba240d4d75be7dL,0x1ec49cacecaf25eaL,0x0000000000000087L },
  82392. { 0x8aa2388cf7daf8baL,0xf19bb702c9b04b01L,0xacc01044bc682431L,
  82393. 0x3d7bfffca43a6b52L,0x73468005d108c945L,0x6ca56166f402b740L,
  82394. 0xbda45ddecd486b57L,0x9f26b50036456623L,0x000000000000005aL } },
  82395. /* 51 << 434 */
  82396. { { 0x5248a930a805fa39L,0xafa9a623ee9049b6L,0x32d8272bf57b62caL,
  82397. 0xc57c6742ac33b6adL,0xe67e374781628ffbL,0x12efe0414055d283L,
  82398. 0x85c2388a6afc546bL,0x3e7454dd2325904fL,0x00000000000000dfL },
  82399. { 0x27113ea3bad0b4a3L,0x23c3a6b6c7bb4233L,0xeaebb97bacb43960L,
  82400. 0x751bf53c12765e44L,0x5a5843830c3d1a27L,0xc6e8bc1baa75a625L,
  82401. 0x1cc8684bb84e4b2fL,0xcca40425c687f410L,0x000000000000017aL } },
  82402. /* 52 << 434 */
  82403. { { 0xeefc28baa0c707cbL,0x610a0bf5b5e8a4b1L,0xd74559f39b53d25eL,
  82404. 0xb987896d504c5e8bL,0xae65dd137b25a6b9L,0x967698fecf659983L,
  82405. 0xa10cf8fc302cb07bL,0xc116f1c94447f110L,0x000000000000019aL },
  82406. { 0xca833c3f74b590eeL,0x6099ad10a90703dbL,0x1b05eb478dc0a094L,
  82407. 0x8e611a9ffd61f58bL,0x220f8e3cb6376b63L,0xd3ef40d06276c206L,
  82408. 0xb496ed2c80be240cL,0xcc1e4fee4c62d68fL,0x00000000000001e9L } },
  82409. /* 53 << 434 */
  82410. { { 0x0aa9cafcfb53fdb6L,0x9bc4068864ad41f1L,0x89f2ed95361e5281L,
  82411. 0x93721ee2d3ebc5c5L,0x099676e1059cbaf0L,0x32034ec33ba1925fL,
  82412. 0xa372ccabe58c5408L,0x4198c3ba3a1925acL,0x00000000000000eaL },
  82413. { 0xd573dd0472e39b81L,0xbd53680227fb43eeL,0xb4a9b13773ac68b2L,
  82414. 0xecc58184afc54cd5L,0x0f4ef62140216af3L,0x37a4d9e63ab7f116L,
  82415. 0x7c3b8e87fc8e3ff0L,0x7860d91b2112304fL,0x00000000000000f9L } },
  82416. /* 54 << 434 */
  82417. { { 0x8b8684e1d9f5da59L,0xc52ddfcb3bbccec8L,0xf37f477d0614edf9L,
  82418. 0xa6f89b1dfbf73c9bL,0x65e2b9fdbd39f9f3L,0x9b027ba9bd91c4ceL,
  82419. 0x4178ae818da1ecd5L,0xe926bc1bf8108614L,0x000000000000003dL },
  82420. { 0x9b622c1d398d43a0L,0x56774237f050f68aL,0x599aa2b9c376824aL,
  82421. 0x8e56adb3e4f31fbeL,0x62af9ad61d87cfb6L,0x2340d1df8baee620L,
  82422. 0x378bbe281fd803a0L,0xfb8fee939543c614L,0x000000000000005aL } },
  82423. /* 55 << 434 */
  82424. { { 0x771a68f7d2aa178aL,0xb95ab9c4b8c86d0dL,0xc305c165d1780b7dL,
  82425. 0x495d129eebede15fL,0xf84a588398216869L,0xf5bf03808faecf27L,
  82426. 0x3a6f8a73c8709373L,0x49cc5d0f53b3905dL,0x0000000000000046L },
  82427. { 0x170add44ffbb3294L,0x723db04c457403f2L,0x0f6c3750bc22011dL,
  82428. 0x56e0e96571df11c9L,0x9a9d1508fa898187L,0x35699de6bde2d196L,
  82429. 0x5c63eef632409db2L,0x4041e690bdd73fd7L,0x00000000000000ddL } },
  82430. /* 56 << 434 */
  82431. { { 0xbae333cec37cc3eeL,0xf3c270f736721328L,0x42ca9e1c3e762919L,
  82432. 0xe58208bda33ea0c4L,0x659c9e0588a736a2L,0xe4aafabff2ce2fd5L,
  82433. 0x6c42985d2fc82799L,0xa83e18ea7bcaca5dL,0x0000000000000074L },
  82434. { 0xa94f77548e8fd835L,0x2d730134babc4dd1L,0xdf79c84dd9fd0a30L,
  82435. 0x642756577b1061cdL,0xa8a2a2dcdfb545c5L,0xbd5248e2b32e562cL,
  82436. 0x09c33229db76e132L,0x70f63a074ff616ffL,0x000000000000005fL } },
  82437. /* 57 << 434 */
  82438. { { 0xea1693d10689fb01L,0xeef647104d87521dL,0x382fc26cd4fe6b97L,
  82439. 0xc179b949f19e86b8L,0xe3084066a88d4985L,0x9e590678bf8727baL,
  82440. 0x23cf020a5de7c97aL,0xca99cdefd686a87bL,0x0000000000000183L },
  82441. { 0xd268f2d96478339bL,0x54a2403255ea7d66L,0x85f864bdc95560c2L,
  82442. 0x86abfd934597c282L,0x1279888901f25eebL,0x1a9d8482c2eb4653L,
  82443. 0xb1312836217a63faL,0xc33f92ee8f733178L,0x0000000000000196L } },
  82444. /* 58 << 434 */
  82445. { { 0xa0d7c4edaded1585L,0x8d4ea04dbf7fb3faL,0xb25ba60333e42c20L,
  82446. 0x660a0b5a73d754b5L,0xb84c5639c6a35d0fL,0x7efc0030cf59e3c0L,
  82447. 0x32417038868c3823L,0xd0e71cc934586091L,0x00000000000001bcL },
  82448. { 0x9b28a972202e4521L,0x5846906ce6d90c80L,0xd3d25ef2b38d46cfL,
  82449. 0xcebe3581c209c445L,0xb36008a1d1a0e99fL,0x21f0df426da9da35L,
  82450. 0x5f5f088dcf6b4935L,0xc6eeb3a8447a39cbL,0x0000000000000187L } },
  82451. /* 59 << 434 */
  82452. { { 0x85ef589cda7fff0cL,0xbb7d2d187aaac2c9L,0x62da1c79861a01c1L,
  82453. 0x20c960dfa6a290c3L,0xe3e5fa87b841bb53L,0x56f776ed030b234cL,
  82454. 0xe3ea771922aee8c3L,0x562e9d08df60618eL,0x0000000000000003L },
  82455. { 0xaa56fbb1be6ba82cL,0x052d23638f908eb6L,0xd0f896afd5cfa9deL,
  82456. 0x1c90749369f1787eL,0x634393c8e73e153eL,0x6d1a88b10383a7f4L,
  82457. 0x9e56e70c59aeb927L,0x43f825ccce34cb9fL,0x0000000000000096L } },
  82458. /* 60 << 434 */
  82459. { { 0x6a2d32b0f3338f86L,0x4a5c3db2c9710433L,0xd298f3b0a5f68f1aL,
  82460. 0xae78b804732d40d5L,0x860d74d8dc109412L,0x0f3d42ce2c898732L,
  82461. 0x63e5cb193d321599L,0x796c17cf1462a77eL,0x000000000000003cL },
  82462. { 0xbb71e1b917837e4bL,0x9711dff889cf36deL,0xdf6c0a2ab1fd56b7L,
  82463. 0x6f07fdd1d7e8e866L,0xecfc1ba5b4f1bd81L,0x4ac6b88a29db023bL,
  82464. 0x2bb7f22a6de37b7cL,0x86e37d902c35fa00L,0x0000000000000113L } },
  82465. /* 61 << 434 */
  82466. { { 0x5126634734a859fcL,0xf9f2b2e478f47a8aL,0xd8391cff0044a94bL,
  82467. 0x6f2eb81f2357b297L,0x1c4f2bbbc7ef458bL,0x3a1d92225e46dc98L,
  82468. 0xf97b3e71727a61f8L,0x8edeab095546e3caL,0x000000000000014dL },
  82469. { 0x8cc6143e4b4de1e6L,0x78fcfad7fc1524c6L,0xc805ef2343fca983L,
  82470. 0x37753cf32b7fb591L,0x8269ad972df94bfdL,0x2768ac2617382c88L,
  82471. 0x28767bc5589bd8f7L,0x7d96d75f12aecb9aL,0x00000000000000f6L } },
  82472. /* 62 << 434 */
  82473. { { 0x8460354fb970b064L,0x4da9baa59ad28208L,0x81f9b7fb546876e0L,
  82474. 0xee7368f787933e9fL,0x95f61bae3d91b713L,0x29ecf884ab29d102L,
  82475. 0x61a68fc2ba02eeb7L,0x2a62ecc38eecd5a5L,0x000000000000017cL },
  82476. { 0xcca8a64d65fc05daL,0x04e1b84433befb34L,0xc799d13c1aaaa85dL,
  82477. 0x431d1495bb40bffdL,0xfb991dce7dd23e02L,0x9944de58a4ce9e1dL,
  82478. 0xf5ca8246b3b4700eL,0xa2307905364d87f4L,0x000000000000015cL } },
  82479. /* 63 << 434 */
  82480. { { 0xfad3776ab2c1d16aL,0xd0885428474617b3L,0x09f73d4268c33a2dL,
  82481. 0x0a00131a4f77e376L,0x92cb3f114947663fL,0xbae96a84fed01f57L,
  82482. 0xb5b55e2bba697677L,0x6f1a684cc671ff81L,0x0000000000000088L },
  82483. { 0x1f41fe2e1931053bL,0x9745971032a2249eL,0x180bcd1c3c403728L,
  82484. 0x422195462474f7fbL,0x7917cd1812f67c1cL,0xfab12214316ab5b2L,
  82485. 0x6415634ac6d0c5bdL,0x0ecd28b49e499fc3L,0x000000000000011eL } },
  82486. /* 64 << 434 */
  82487. { { 0xa0f946b34c7f31f1L,0x122b97ec004b810dL,0x98f876d1831a9cb2L,
  82488. 0x6690030aaebd922bL,0x12a235d1a21b0412L,0x5ced8104e097208fL,
  82489. 0x049b33ed49d32fb6L,0x2e88d76287b187ebL,0x000000000000007fL },
  82490. { 0x08801d4eaeaaa0d2L,0x3b052b0a6fc2830aL,0x4e02318f6fef40c1L,
  82491. 0x5a24478a06f38abbL,0xc90c53926dedd4f3L,0x402e4a9eff07397bL,
  82492. 0xde13d7bff1bdec37L,0x8a363ccb727eb837L,0x000000000000014dL } },
  82493. /* 0 << 441 */
  82494. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  82495. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  82496. /* 1 << 441 */
  82497. { { 0xa749f2661accb5d0L,0x8ee12c7ebcc9460eL,0xf3a52fdf3d25e73cL,
  82498. 0x187bbe7100c5540fL,0xcdcc3cc1561beb89L,0xe54df2b48eacfcabL,
  82499. 0xbe6d1874cda02530L,0xbb717f8fd072a684L,0x00000000000000bbL },
  82500. { 0x79de2d6504bd7407L,0xd8ae0921ccea6b74L,0x358cf798695de295L,
  82501. 0x004e73b2b81c02a2L,0xd252441e9e6caea2L,0x557f228caaaf568bL,
  82502. 0x6f92ec1d357d9e37L,0x31efd9bfe91fd306L,0x00000000000000dfL } },
  82503. /* 2 << 441 */
  82504. { { 0x650e3a2694a7efd8L,0x0e18083dc739b54fL,0x4ef3232e9367e306L,
  82505. 0x2de3d70cf0838edbL,0x1364e843ca8715d2L,0x854dca361c25b1c8L,
  82506. 0x73c011bcbc117070L,0xe83bd36f051286e9L,0x000000000000019bL },
  82507. { 0xf1226611c0f59bfdL,0xb910f5b64287520cL,0xa408790bffcdbb02L,
  82508. 0x9d56f34d1a0bc553L,0x1530c726ce9a67a7L,0x96f5fa25dce794f5L,
  82509. 0xd5a224c8077377aaL,0x2e9d8e98d016e05dL,0x0000000000000093L } },
  82510. /* 3 << 441 */
  82511. { { 0x3e884116e71bedebL,0xc43114f0d8e683d2L,0xc65277b4709db235L,
  82512. 0x135e623363401611L,0x5e6cc4ca4ceccd3cL,0x9d481fa0f73e6e64L,
  82513. 0xd52236235c253aecL,0xd60d849991f70b82L,0x00000000000001c4L },
  82514. { 0x5db01dd6632f8eb2L,0xc4695bbfa948669bL,0x143ae7567fef1ac0L,
  82515. 0x3958cd3f21487ff3L,0x00c79f337da2ec59L,0xce54451e07f9a8bdL,
  82516. 0xfc1017fb62f7eea0L,0x6bb256b462f0f204L,0x0000000000000008L } },
  82517. /* 4 << 441 */
  82518. { { 0x3e9a969a777a2dd1L,0xa928fca6f0b88aa3L,0x7282de355f56eec8L,
  82519. 0x6fc69cd1076833b3L,0xb082ae0411751566L,0x09a31956ceee94fcL,
  82520. 0x6d3a6221158a2cb5L,0xb29c6ae7788752efL,0x0000000000000105L },
  82521. { 0x44ee879abd125523L,0x8297eaa04e8990b5L,0x9deee7c4d7723740L,
  82522. 0x3c6037179a8bf178L,0xa851306b1207191fL,0x13eee334bebcb461L,
  82523. 0xc13d695eb8cce34cL,0xf3f594a50ff4755bL,0x0000000000000196L } },
  82524. /* 5 << 441 */
  82525. { { 0xd370ca154611d4ddL,0xdca296e58f40e4ecL,0xc2c0a54fbb7413e0L,
  82526. 0x99064624c90f6194L,0xfa357ce2798e03acL,0xf782d7099c6ba76fL,
  82527. 0xc3718575129fbaf7L,0x9275ddcf09ad3f74L,0x000000000000016aL },
  82528. { 0x6ee77b4cc4919031L,0xb09eec783947c6c5L,0xbd8f2eb86a83f5bcL,
  82529. 0x2584dfcffbfd128eL,0x11f97bd08c68c3adL,0x157420d05f2133d1L,
  82530. 0x8f3c1815d1dd4835L,0x11e09e8f326d9859L,0x000000000000015dL } },
  82531. /* 6 << 441 */
  82532. { { 0xbe0ae36cd038af41L,0xc3e663659074c082L,0xf3a754972111b39fL,
  82533. 0x853840556be5e224L,0xe6a841a8fdc29253L,0x6f242df76886082cL,
  82534. 0x4de2664606880770L,0xa8d7ab3e57695441L,0x0000000000000105L },
  82535. { 0x452fa47042fb45c1L,0xcd54e43102d65857L,0xf6439594c6aa1fcaL,
  82536. 0x910ff5bfca2c8838L,0x5db4b1df093db021L,0xc6c529725d06ce9fL,
  82537. 0xed40a0482981de06L,0x394308e642e75708L,0x00000000000000a5L } },
  82538. /* 7 << 441 */
  82539. { { 0x1140d1b13f7e1b85L,0xe5d9542e558f5a89L,0xf01590081347e2eeL,
  82540. 0xf4140adaa83cd3eeL,0x1388e29d1f9958dfL,0x177f13dff1d926eaL,
  82541. 0x5aac4c2037209003L,0x46bed0a6cb9e0456L,0x0000000000000165L },
  82542. { 0x635535b494312d7aL,0x662149bfa396a95dL,0xb23c59dd4348ab81L,
  82543. 0xa059d555cf24fb7dL,0x3dc39dbfbe9011a6L,0x7e11b9d98d1ed5a6L,
  82544. 0xde503b26a1fb4b12L,0x04d12ec729aa2854L,0x00000000000000ceL } },
  82545. /* 8 << 441 */
  82546. { { 0xbf07e90d8114885dL,0x76d513b29f39a562L,0xd98ae4f77e5446a1L,
  82547. 0x7e3314e96264b6c0L,0xe634dee76f3a7560L,0x1dfa2392a08d539eL,
  82548. 0x45764812bdae3c53L,0x858b836fd824e9acL,0x000000000000003eL },
  82549. { 0x9bdd0365e324ea11L,0x9625d01b1117cdc2L,0x491ea6427f6c259cL,
  82550. 0x61b79486125826f0L,0x573debc818a56486L,0xe224dd3b0d31132aL,
  82551. 0x075c3bf780be8263L,0x0eced67ab84a07faL,0x000000000000010eL } },
  82552. /* 9 << 441 */
  82553. { { 0xe937531c77ee5e92L,0x2a248ed6cde38019L,0x9d56715bf16bcb1bL,
  82554. 0xb232a0b13682fee6L,0x50adcfb76062ba66L,0x853ecaafc15a8617L,
  82555. 0xe2ae82eafbf86cb2L,0x2387b9e996e5d5d9L,0x0000000000000126L },
  82556. { 0x2c949e78d1ad4cedL,0x2dbb570f7e1df51aL,0xb3b00e4a1f09cb9dL,
  82557. 0xd50d45499ddc5774L,0x22bc724199ed1407L,0x0c6b49fea2462565L,
  82558. 0xb7ea7261ad2bb7a2L,0x14edf03146fa95baL,0x00000000000000aaL } },
  82559. /* 10 << 441 */
  82560. { { 0x0c0d310cf9039efdL,0x954127e0be623269L,0x2c8de379ad37d5f1L,
  82561. 0xc88058c24ae1e101L,0x953cced393612558L,0x6f795799562ff195L,
  82562. 0x04b43800f75dc91fL,0xc388110878a305a3L,0x0000000000000023L },
  82563. { 0x3a910a199d0e636bL,0x8fd231dea9233a03L,0x61c5a3511799791bL,
  82564. 0x0f6e33cf24e1aa4aL,0x99fcbe6d24c1749fL,0x6d6dc4ff29e84e10L,
  82565. 0xdfd3919445a30b2cL,0x551811cf3d438976L,0x0000000000000042L } },
  82566. /* 11 << 441 */
  82567. { { 0x19fa754692c76a06L,0x09b44b739cdf4192L,0xdd474e2429a471ffL,
  82568. 0xb33d4b633c1f2efbL,0x352bb3c87b6ba5bbL,0x33be999f7a25c837L,
  82569. 0x455849c9708753a5L,0x4bebf7228c356712L,0x0000000000000082L },
  82570. { 0x491c083d1c932272L,0x53e741ac7902ce78L,0x3e913b13cc553480L,
  82571. 0x28d36b5162b46cafL,0xdaa8df3ec5c92702L,0x1b8ce0face5b521eL,
  82572. 0xc3a12ef4346a9c86L,0xa88531c1af543e95L,0x00000000000001b4L } },
  82573. /* 12 << 441 */
  82574. { { 0x225c4d89218083c9L,0xc8ca7c0bd951e863L,0xc48c23d1ae8d2aedL,
  82575. 0x2e5a185d12f3fdbfL,0xd459188cb12bf51fL,0x42707a3376a84f56L,
  82576. 0xe647d5ba0c5646f1L,0xa18986803140e000L,0x0000000000000132L },
  82577. { 0xdf3b68773acdacf7L,0x2e2ce1ead81dab2fL,0xd3a3397dffa2aa06L,
  82578. 0xcc9192cb2a580c69L,0xc171c2ba6291b080L,0xa886917af908ea1eL,
  82579. 0xd49b41cab0ee690eL,0x53d75ee28a4699a0L,0x0000000000000055L } },
  82580. /* 13 << 441 */
  82581. { { 0xad0120df46dc9f05L,0x9dece9ccd80e1f06L,0xb55d9ea96661d61aL,
  82582. 0x3bcc804d06e86dc4L,0x711a39a0a1fd8a7fL,0x5dc5752e514bb596L,
  82583. 0xbd07dc9cdc01996bL,0x745d1b95166bb5c5L,0x000000000000009cL },
  82584. { 0x896d26ee45568558L,0x995524f1c875e781L,0xdd27fb7f85ae1606L,
  82585. 0x6d2a995ab6ce93a4L,0xfdde5c2a6bfab47aL,0x6cf168956a8f8625L,
  82586. 0xf36f40b9c9697605L,0xd85528d7a2ac13adL,0x0000000000000123L } },
  82587. /* 14 << 441 */
  82588. { { 0x245c6974e996e859L,0x18140823357fffc4L,0xbbeaf2d9268c0e61L,
  82589. 0x84c491bf1ec3a60aL,0x92519cd3932c2143L,0x2f8026a50e9c23bbL,
  82590. 0xb3ea1321fad88c26L,0x253e9873ca612741L,0x00000000000001afL },
  82591. { 0x96ac89af04eb167cL,0x1d51ede280839911L,0x0ea85b4126be1ea8L,
  82592. 0x2d788d0d3e5c6fd0L,0xc0565fec84fef7ffL,0x605449368a5337f4L,
  82593. 0x8eebabc69bfcd3e4L,0x0e0fb4da4a66bbf1L,0x0000000000000059L } },
  82594. /* 15 << 441 */
  82595. { { 0xd3bf69da0970051dL,0x93f43d8c436c6222L,0xe07658e68ef8f7aaL,
  82596. 0x0644fc85e0da692dL,0x5b21003afa44ed0cL,0x7a63520b55fd30cdL,
  82597. 0x2e494a11c200c9f1L,0xa3c6951d20e8ddaaL,0x000000000000007bL },
  82598. { 0x4af75dab2fc74e40L,0x1413b04a35e18492L,0x3a5ca7ae646c012aL,
  82599. 0xdf45e095444c9da3L,0x28ad4ce37723586cL,0xe7d27e128baf9d42L,
  82600. 0x41f7f06f8ec93610L,0x0636c501c7c2f47bL,0x000000000000000aL } },
  82601. /* 16 << 441 */
  82602. { { 0x486d3c489c4cd8ddL,0x2ceed6f8f7e8160bL,0xfb38315da76fc3c5L,
  82603. 0x521ac7bb7863c459L,0x17252331576f783dL,0xf0fcaaf23e6d4bcaL,
  82604. 0x8db1cffce6f8e385L,0x2e2ef7f478c49eebL,0x000000000000001aL },
  82605. { 0xa3c3c341f690d5aaL,0xc14cffb041e05923L,0x2c7e4bcba2c02f22L,
  82606. 0x79352516c38aafe2L,0x67bf3709daf3e5f9L,0xfd7c30a974d2aad4L,
  82607. 0xb46886878b971591L,0x7adf565ab5f34fd8L,0x0000000000000132L } },
  82608. /* 17 << 441 */
  82609. { { 0xc6f3ddbf3ee1b1b6L,0x3ae199de367775f7L,0x869e3f277b5c2062L,
  82610. 0x01adf55de699e103L,0x6fa9b9ca3efcf30eL,0x60babac333616bd0L,
  82611. 0x619cb20628f783fbL,0x0d5cc6775ed241ffL,0x0000000000000124L },
  82612. { 0x7906ac2d14876366L,0x5182e7f2bc304f89L,0x2252436f2139416bL,
  82613. 0x80955cfe62bb6596L,0xa097c5da2ccc76c8L,0xbe48d244b6a4de18L,
  82614. 0x4a6ab624ffe47914L,0xca10c376f974a0a3L,0x00000000000001f9L } },
  82615. /* 18 << 441 */
  82616. { { 0x8fbb3cd7496cb13eL,0x107cdb9a258b584bL,0x5d0e6918a848ca32L,
  82617. 0x73891c7cbcd21ce5L,0x3ea57b2c791d65dcL,0x6c5e0cd6d9b5669dL,
  82618. 0xd81229f8f1321da6L,0x8b9972dfb0b17706L,0x00000000000001e3L },
  82619. { 0x8939d7a7d6e10f59L,0xe160bd16cbbe5271L,0x3348b4f04fbb8a8eL,
  82620. 0x147e36393fd01b59L,0xbcc1210d7ee93c4fL,0x949ce71dfc4dd8e6L,
  82621. 0x1436c0f549890833L,0x4cdcee717273ac5fL,0x000000000000019bL } },
  82622. /* 19 << 441 */
  82623. { { 0x512a10934e9a039aL,0xb6470fb2e0c95392L,0x7dba72fa82400a70L,
  82624. 0xd3dd821930685212L,0xcbfb1de9ac7a38d6L,0x4146c087c670cf2cL,
  82625. 0xee1e0ca179e513c0L,0x1b5015d74d53c35eL,0x00000000000001fdL },
  82626. { 0x601cc1e63cf7333cL,0xf1f4c134f785b4caL,0xbd1aa34463f3fdacL,
  82627. 0x221f0a2573056a6aL,0x197d6ab8e6aba28aL,0xbc0019e0a3d17004L,
  82628. 0xd18a3b87825d6d76L,0x5178300e5f4e4796L,0x0000000000000072L } },
  82629. /* 20 << 441 */
  82630. { { 0xd01fff9dcc045310L,0x937dcc6f352c1840L,0xb17d2b6f355c78afL,
  82631. 0x42e3d467a1b4c507L,0x9007d976d1ec1c6cL,0x04e44bd51c604ac7L,
  82632. 0xac5f6d35f3c28e52L,0x6f9382f57c78a5e7L,0x0000000000000197L },
  82633. { 0x8f6894774e717f2cL,0xc59589f0279c36e0L,0xe4b11ec19dac55aaL,
  82634. 0x37ecce34b2301ce6L,0x396745a27ab894dcL,0xbae3de55fcf34e70L,
  82635. 0x3f670dd62158968bL,0x9b8ef31efc1f9ab2L,0x00000000000001b0L } },
  82636. /* 21 << 441 */
  82637. { { 0x89402e7a36636861L,0x0e121ba28da879c7L,0x824ec11d9caa72c4L,
  82638. 0xb03d625b90ee0713L,0x16b477525af76e3dL,0x314d2daffc116c0dL,
  82639. 0x00e42bbcca591142L,0xebd124bc2a28d332L,0x00000000000000c7L },
  82640. { 0xfbb0938305f3a77bL,0x5478a7d2fa1f96c8L,0x2f04b86dcbab30deL,
  82641. 0xaf1c81f41d38bcaeL,0x873794acb0e3391eL,0xe5234d10d1ba629aL,
  82642. 0x7854ab94fdb4901fL,0x447d05a5f48ba9e2L,0x00000000000001bdL } },
  82643. /* 22 << 441 */
  82644. { { 0xb3dfccf01d967d35L,0xa68315ea3f71108fL,0x928e15c2837a8c3dL,
  82645. 0x6f2114c3085d00efL,0x77d86e5e1a86a583L,0x3d97e64935f597cbL,
  82646. 0x9c729cbcfb5a4d92L,0x7c99562d7d946695L,0x000000000000011eL },
  82647. { 0x41632d38aabbfae3L,0x48793078c835493cL,0x8e90be311d5f8e61L,
  82648. 0xa09b5add33bda788L,0x3dd23a2e80c7b31fL,0x9a46ee40f7657031L,
  82649. 0x7b4d15e30b070becL,0xf2071f44878a2010L,0x00000000000001eaL } },
  82650. /* 23 << 441 */
  82651. { { 0x06cfb330d10147efL,0xe756da6b749d4ad2L,0xf6fcb9200f956530L,
  82652. 0x7c3bdafe04cdc530L,0xc89aae334e3f46f9L,0x0dce363962eaae49L,
  82653. 0x267909518d9133a2L,0x0f27bbe5e46de833L,0x0000000000000087L },
  82654. { 0x8cf40e37bfe09ceaL,0x09cc65b1e1f4df2dL,0xf964911777cb793aL,
  82655. 0x78e249ee3fbc5ea1L,0x305049579084b235L,0xc008de498a39b17fL,
  82656. 0x6e0117bc4ac4f445L,0x34fa696658aac50fL,0x000000000000001bL } },
  82657. /* 24 << 441 */
  82658. { { 0x82e9010daffbd971L,0xab6fea0bc7ac3199L,0x8d38894050383d27L,
  82659. 0xc37ab3b3be775398L,0x8ef10af154bf74aaL,0xa1c39ed452aeaf9bL,
  82660. 0xcd2b6ee670f42d7aL,0xcb57643738a53a34L,0x0000000000000087L },
  82661. { 0x5a1416996f80e03fL,0x0d7a7ab1408678e3L,0x33db44d87d279aa8L,
  82662. 0x25e82c9032a33193L,0xc68f43737fa96201L,0x4e2fbe8a1c15c8c4L,
  82663. 0x5b5ce8055429a403L,0x1dc2f304f6543e19L,0x00000000000000d0L } },
  82664. /* 25 << 441 */
  82665. { { 0xfd27036f6249d4a0L,0x80732c4c05aaaf64L,0x13a02ccb3aa41caeL,
  82666. 0xd2d117204bac8ecfL,0x33b4f7e4e0b47969L,0xe9719c3634ffcd7eL,
  82667. 0x0b5584bef041a2bcL,0xad35638388240cd1L,0x000000000000008cL },
  82668. { 0x4597cab65d253821L,0x136b4eea8621290eL,0x1a053fee74cfbd39L,
  82669. 0x38390a30e8ce29f9L,0x85008d8de17589d6L,0xc9a9b0bf3a55618cL,
  82670. 0x21247a63adcf68f9L,0x6353a40ac8eaa840L,0x0000000000000072L } },
  82671. /* 26 << 441 */
  82672. { { 0x2a84edeb611dbd82L,0x928512d7250d7b4cL,0x26101f84bfe2aa8bL,
  82673. 0x2e79ff22920044b1L,0x2e23d451e99667cbL,0xfef41352f63db866L,
  82674. 0x17db59799385090bL,0xee24e159c43db739L,0x00000000000000feL },
  82675. { 0x3a23eb35c2fc1ff6L,0x2ecd2057897f8b11L,0x0b94433b2cfc90d8L,
  82676. 0x625b69a8345d638fL,0x04830925115fbab8L,0xc73ec42631db6ec8L,
  82677. 0x7bff020d32aa0c57L,0xf097aa60d3ae8c0cL,0x0000000000000001L } },
  82678. /* 27 << 441 */
  82679. { { 0x8261b41492e7787cL,0x46a920b300919d6eL,0x0a5ac766ca0174d7L,
  82680. 0x2dd5584380d01c6dL,0x27104845253c74dbL,0x2e86fc89511c661cL,
  82681. 0xc24fe84d2d4623ccL,0xfed49394f8d720f0L,0x0000000000000084L },
  82682. { 0xe3246ec04a711e6dL,0x5aaec97fcb25754fL,0x33571e67eb2598fcL,
  82683. 0x90f4667029ad653eL,0x3885ac625aacd507L,0x9c7106c4000bf4aeL,
  82684. 0xdfd9bec142352fbeL,0x0cd94630dcd3b524L,0x000000000000003eL } },
  82685. /* 28 << 441 */
  82686. { { 0x265e7e144a61c8cfL,0x7108ac8e9c01168dL,0x8c00c591c1db0c2fL,
  82687. 0x4fd76164c7eb2880L,0xee207ae8072c9afeL,0xf291ac662af4f872L,
  82688. 0xd556354e38e6ceb5L,0xd1ff944a901b9c88L,0x00000000000001a2L },
  82689. { 0xf058a1e5ea374b44L,0xcdd1f0b7d282af39L,0x5095378c3ba681b3L,
  82690. 0x2da2db904e8befbfL,0xd73223a361edb289L,0x305ec380221d18bcL,
  82691. 0x5b191c1ca45ed6b2L,0xf28be70a0e63d2a1L,0x000000000000005eL } },
  82692. /* 29 << 441 */
  82693. { { 0x293d2e8a6dd376faL,0x400a186e9918b3c5L,0x693265b7a7483fc8L,
  82694. 0x0f38d5e1dba14394L,0xfcad07b3d554e653L,0x9536e6a909d37398L,
  82695. 0x0c20469422b5fb0cL,0x4d22c2e77593be0cL,0x000000000000016cL },
  82696. { 0x320a27ff4e8770f9L,0x341f5628e9b27b2dL,0x13c713b8d7797f73L,
  82697. 0xac4636d2bd4289a6L,0xc6cd28cf096621efL,0xe866b2e9f1dddce5L,
  82698. 0x36872e001add8506L,0x7a82493c1835b90fL,0x00000000000001a0L } },
  82699. /* 30 << 441 */
  82700. { { 0x0efb34abc520c268L,0x2ef017b00b3ae7a8L,0xd8ba2baef1f916ceL,
  82701. 0x495b8a2801a2e8bbL,0x76c86a31e37fe26bL,0xbdddbdcd2787c00eL,
  82702. 0xc2d98c35f431de88L,0x7642a3382953f309L,0x0000000000000112L },
  82703. { 0x10436513df59f330L,0x2a63f6ca21d133ffL,0x01f2b7e8d8e16c98L,
  82704. 0xacab87a5b3b1c312L,0xff9c344c37aec499L,0xabe46f7b4afed453L,
  82705. 0x826c9894c1feed8cL,0xb89d0a04aa543610L,0x00000000000000fdL } },
  82706. /* 31 << 441 */
  82707. { { 0x85d18171c9e4a7cbL,0x54d525b7d2a22758L,0x1abc342ccd696c36L,
  82708. 0x812a42651c781fa1L,0xbcbc450635f8c1b1L,0x97c302369fb7c9d6L,
  82709. 0x705db3f328bb1e6fL,0x24bdcfb4a6df36e9L,0x0000000000000107L },
  82710. { 0x09eaef27e74ec8e7L,0x367427963e1028f1L,0x6e525404023c3e4cL,
  82711. 0x0c8eca526ede11eeL,0x502e86b6184a8d28L,0xcf8ba9d9125dce7fL,
  82712. 0xd4e534c610b11eccL,0xc9a33890effe448bL,0x0000000000000116L } },
  82713. /* 32 << 441 */
  82714. { { 0x074092b0518c2b4eL,0x4efd0358226849ecL,0x384ec468c8582d0fL,
  82715. 0x6348e93a1b6530ecL,0x752f051586723e53L,0xc0124a0a18b6d228L,
  82716. 0x8e61db8af16144b5L,0xa3b3bcdbc57ad828L,0x0000000000000096L },
  82717. { 0x7b5eaac0d5d72677L,0xc6a4fd2fc826acdcL,0x06f1269583835c84L,
  82718. 0x287eb11866c70474L,0x824e4c576fb32f64L,0x6aab90483326b6d2L,
  82719. 0xefef96e49dddf339L,0x8e113990df13705dL,0x00000000000000feL } },
  82720. /* 33 << 441 */
  82721. { { 0xe2accf1d679c7a0bL,0xd91d0623370058d5L,0x838dfaf51c44effbL,
  82722. 0x478d6317c891c192L,0x9a1d69833bcdbdf2L,0xa2adcb29206a78daL,
  82723. 0xf032d6439ecf90b5L,0x998eeb68b6f4b66aL,0x00000000000000ffL },
  82724. { 0x3ce5d445246d19c5L,0xafeef35bf2be8053L,0x1cd93d149c3354f6L,
  82725. 0xab8d758584c1d532L,0x67887e7fd06af98bL,0xdae0dd587ecc066eL,
  82726. 0x37f0c7cd24990908L,0x2a9a78c654a855f5L,0x000000000000017aL } },
  82727. /* 34 << 441 */
  82728. { { 0x14518e8d2e7f1be7L,0xddf58460b39604b7L,0xb9b7abcc97a83cffL,
  82729. 0xc23ed4b77e595bfcL,0xb83200b68301e5caL,0x593a1e9dc5460472L,
  82730. 0x344bb417a4aa1ee2L,0x7e005a7b53932656L,0x00000000000000c0L },
  82731. { 0x0d7d26803f56e1f2L,0x22f567b107fff8aeL,0x99b49f32be054a82L,
  82732. 0xa94832d6275528d9L,0x997fdac4842ed9cdL,0x476353ac85fd9ec5L,
  82733. 0x515f0503ca503c68L,0x9571eec431a59bf2L,0x000000000000001cL } },
  82734. /* 35 << 441 */
  82735. { { 0xf5b648deca4167daL,0x3f3046dd2c8f0e2eL,0xc4e0c6b4038d24c8L,
  82736. 0x3c16985789b7da6bL,0x4d3649863cfe2320L,0x2fe23040c895aad8L,
  82737. 0x786f1a119f4272abL,0xf91aa91a9fb42f8bL,0x00000000000001e9L },
  82738. { 0x93e6c70ea114a55bL,0xa6a07aaaf46f5649L,0x3ac845724b626a02L,
  82739. 0x63d936001650bd78L,0x80ef98cb58064535L,0x3994f55051c8d7b8L,
  82740. 0xdac64abc01b4971bL,0x1165fb7be97d3193L,0x0000000000000051L } },
  82741. /* 36 << 441 */
  82742. { { 0x79f135f005771675L,0x398910e27008ba42L,0x72f9a899e2cfb304L,
  82743. 0x0e7448ed51bf359cL,0x814a9f6453d82f6dL,0x02cc1df8cc0bd057L,
  82744. 0x03a77c0a754becd3L,0xde0385b37427d79eL,0x000000000000013fL },
  82745. { 0xc3aedfb3b5cf64bcL,0xba344d912f11967eL,0xd269443db9dfc1a2L,
  82746. 0x1ab57001a5a70140L,0x414cf58ef408fe92L,0x7b9adfb6d890280eL,
  82747. 0x705bb16539242a3bL,0x66db67486bad4596L,0x0000000000000150L } },
  82748. /* 37 << 441 */
  82749. { { 0x2c3cd5a0108c9893L,0x8a240794bac6cc23L,0xaeeb36df823fe6fbL,
  82750. 0x9c2476d068aab363L,0x8b9d9703c0cc02fdL,0xa8e483fdb8d2a4ccL,
  82751. 0x0e3cb987fb774e3bL,0xedd76b875f1f80c4L,0x0000000000000036L },
  82752. { 0xd7ee3e4719615126L,0x2afa7e8df5547692L,0xe7d92c2f2133f245L,
  82753. 0x3005e6e925c73cdbL,0x3efc8169ab362edcL,0xdb546c5d06b3dc8fL,
  82754. 0xcb75f0d88067855aL,0x03189f39698a4373L,0x000000000000010aL } },
  82755. /* 38 << 441 */
  82756. { { 0x77f6a34facbfb019L,0x0bd1100e4518a2ccL,0x96b927d7ca8c27e2L,
  82757. 0x5ada2880718c432bL,0x09765ed620641c90L,0x6e516e8b3f7090c3L,
  82758. 0xb27c6c5f5bbe4811L,0x0268577d3b1eab5aL,0x0000000000000187L },
  82759. { 0x8da5cea7c1571bf7L,0x6c28d100cb30dfe8L,0x94f462ac40839b28L,
  82760. 0x84e174469893e5e6L,0x632d3f321f4e932cL,0xa791cf199cb57b35L,
  82761. 0x17cfc8606d58252aL,0x8b93b8cf95d09a97L,0x00000000000001b4L } },
  82762. /* 39 << 441 */
  82763. { { 0x3406f11d524f9da8L,0x162475082c9d9f83L,0xcd6306049ad35aecL,
  82764. 0x4a06fd2a9377e247L,0xaedf8263836a2ea5L,0x2e23b143be771b59L,
  82765. 0x53a8aebc67330056L,0x6a01eb9620b8fbd7L,0x0000000000000164L },
  82766. { 0xac3ffdedaea4e0b8L,0x15c59c69ad153673L,0xcee2f459856f7af1L,
  82767. 0x654725f8f84e2d29L,0x36ce53ad68875b2fL,0x5fecc9d05e8dd247L,
  82768. 0x9fd2d8b73100f3caL,0xcd28d36c030be688L,0x000000000000001fL } },
  82769. /* 40 << 441 */
  82770. { { 0x75605b034319c263L,0x887fdfbb9e4740e2L,0xde488a31d43f9b89L,
  82771. 0xb0e691668e84f79cL,0x8ad2cf6570a03015L,0x20c0c8a49151cb55L,
  82772. 0x9c4d58100538315fL,0x18b7eb2712204fa8L,0x00000000000001c0L },
  82773. { 0x2701f40ccd3d6255L,0xb6302374684db0fbL,0x1934bd385986c5a4L,
  82774. 0x277ca623ac3eb927L,0x1f8e83f33c9260caL,0x1d42b0b1cdd488c6L,
  82775. 0x03dd506202069bedL,0x1edf5be80713fb4cL,0x000000000000012dL } },
  82776. /* 41 << 441 */
  82777. { { 0xbd340554f68cd488L,0x5ba629fe4c4e9de7L,0xbf0904b5598a592aL,
  82778. 0x090d3b7797f22215L,0x35271f6f32f10ce9L,0x5ba1143f4ee5ff39L,
  82779. 0xeca98e4948f5e741L,0x312c71324d4fc387L,0x000000000000005dL },
  82780. { 0x9a42c0a19f83c1ceL,0x070c9ff00c8a3828L,0x8c0ec42d1a0dfae4L,
  82781. 0xeb0739df69b7ea10L,0x19e3841e3fda056eL,0x967531161e991eabL,
  82782. 0xf304dfd98ce9c7bcL,0x3ef71431a70d2876L,0x0000000000000002L } },
  82783. /* 42 << 441 */
  82784. { { 0x1b85459bf86e2a23L,0xd7b46e148126f294L,0x547e1e6613227f84L,
  82785. 0xe520b291a8600d75L,0x8836425dca9aefb9L,0xfb12993c3089b09eL,
  82786. 0x38e644f9963654d8L,0x115bfcb733b309adL,0x00000000000000e1L },
  82787. { 0xed33a090771004f4L,0xc97174545f405e28L,0x055b8e0e983ff84eL,
  82788. 0x43b21455945a54afL,0xf5ece9981da15a4cL,0x0135baaddbb0512bL,
  82789. 0x09832d2c97dbecc2L,0x142102fad396c4e1L,0x0000000000000022L } },
  82790. /* 43 << 441 */
  82791. { { 0x56c6e12ff218d75eL,0x82ae876717040ba5L,0xde953898ec9ae18dL,
  82792. 0x74801498c973dc1aL,0xb8fe18b74ddfbe5eL,0xcc2fabfc221a12f0L,
  82793. 0xdf3d3ce3095717b2L,0x063315b301674069L,0x0000000000000166L },
  82794. { 0xbb0b8502a5d6015fL,0x0319da6b3267e7eeL,0x8a3f055b330a7d42L,
  82795. 0x24633fbb578d3e0fL,0x42b3d57732d001e9L,0x6b4bd31841c3de6fL,
  82796. 0xf67e14de7674f280L,0x872c31500945d653L,0x0000000000000113L } },
  82797. /* 44 << 441 */
  82798. { { 0x79dc032fd1ddcb83L,0x9502a00f09f7b95bL,0xcea6cdc8719ad453L,
  82799. 0xe631629a13c95a17L,0x6e0bd6783e242b36L,0xd5a4ce6070adda24L,
  82800. 0xeb16526ecf9c3e3bL,0x6b56885de376134dL,0x0000000000000046L },
  82801. { 0xcefbb6e0ee1a7e20L,0x55931c877bbba16fL,0xbef858780527496bL,
  82802. 0xefe470f2fc66b0ebL,0x10170d9f357e9f6aL,0xdc427c1534bcabf8L,
  82803. 0xa2fafe51543ad6c4L,0x9a3ca5f80bac368fL,0x000000000000003aL } },
  82804. /* 45 << 441 */
  82805. { { 0x6f7e38cb4a64ba29L,0x0274530761def10bL,0x4a7875c1777d5a43L,
  82806. 0xe8288a8a30046b61L,0xcd56398ef4e306c4L,0x13546b98f0619a51L,
  82807. 0x7d5b477d91c8e36eL,0xad040ea782ee4243L,0x00000000000001b4L },
  82808. { 0x3bd14037cebf5073L,0xc9278b5deb3e67f6L,0x0a6920c3c29f3e6eL,
  82809. 0x98866c9e93420540L,0xfd3ad7f76b32119dL,0x1a6a91e1261778f9L,
  82810. 0xa97267d7a571a92dL,0x8b2ba189dc9a6d11L,0x00000000000000a7L } },
  82811. /* 46 << 441 */
  82812. { { 0x8d51e510e5ca5d70L,0x2d5791140c52c1b5L,0x82eb4358c0cb0f63L,
  82813. 0x8f2f681264a008a8L,0x58a8e17648b6cb17L,0xa9471be2b8a072d7L,
  82814. 0xbacadbb5268eb661L,0xd461695702720623L,0x000000000000006aL },
  82815. { 0x1087e596bf609130L,0xcfdadd188556e863L,0x5352546b03f39394L,
  82816. 0xb427f549781817f6L,0x67901c47b7016c1eL,0xfa4bdbad16c8cb78L,
  82817. 0x17210e07e949f687L,0xfa9d5907476f0c79L,0x0000000000000035L } },
  82818. /* 47 << 441 */
  82819. { { 0x328e727f9b8c2326L,0x7012c2200d0a3acbL,0x282ccb9b33f31c09L,
  82820. 0x90c088dfe8610f6aL,0xda4af662c6723acaL,0x60a4df7eb50061c2L,
  82821. 0xc523af09bf77cd76L,0x58c1d1d6440105b3L,0x0000000000000048L },
  82822. { 0x608a3ccb2ebf4a7cL,0xdc6f70652e90faefL,0x5af50c8330229489L,
  82823. 0x2ae1f05a455c5d97L,0x04e6c953ef78a185L,0x64bfebe30e773105L,
  82824. 0xb4e9e049b897d690L,0x324bccaf6141dd22L,0x00000000000001edL } },
  82825. /* 48 << 441 */
  82826. { { 0x3fe0adaca4c2a3f0L,0xe8679478929e1f33L,0x4779b883705b8214L,
  82827. 0x00776735e23c0cffL,0xf663f8158f766bd9L,0xaab22b6bc30b548aL,
  82828. 0x089032b0d56597daL,0xd72918f251d92e66L,0x000000000000004cL },
  82829. { 0x152af75d026ccd7fL,0x9e12b11ddc3e849eL,0x5d6f7b8664244b05L,
  82830. 0xbc9c468b1d80629bL,0xa14ed1a1f2f109c9L,0x49e6d42cab8403f8L,
  82831. 0xbfe90229e34a6f68L,0xecec84484234d819L,0x0000000000000101L } },
  82832. /* 49 << 441 */
  82833. { { 0x35fe58b55f58fe63L,0xd274d4931f30f4f7L,0xc54580b42d20dcbbL,
  82834. 0x8a45c948af35249fL,0x7b282280b07c25e0L,0xae3d9c8104da51d4L,
  82835. 0xf0c972129f58356aL,0xaf7b07f069e61c0fL,0x00000000000001b3L },
  82836. { 0x194629861f68b78cL,0x6f8829503105a795L,0xfbd30e3501f044eaL,
  82837. 0x6df976b2f89de7f1L,0x83d9fcee5548ff7aL,0x45975517820607e9L,
  82838. 0xd30cfc72254a1342L,0x9886898289c44b4fL,0x00000000000000a5L } },
  82839. /* 50 << 441 */
  82840. { { 0x500057ba7e564993L,0xd7526cfb59e53d40L,0xb633fe53c5af2433L,
  82841. 0x18e8adb2dc8a9738L,0x6f81b8dc6b666052L,0x1d2f08b8451c8fa7L,
  82842. 0x7bfdc1f3d8f33d9fL,0xd07b2ed6d86f41b4L,0x0000000000000005L },
  82843. { 0xc652298baaf2a31cL,0x9bae8c281463ddaeL,0x54a4159ae1af0d62L,
  82844. 0x61b847dae074c303L,0xde70d48e4f1a52bbL,0x0b208a372feb1c68L,
  82845. 0xc2b2b3a4963d5fd7L,0x05ca95d478706fffL,0x000000000000003fL } },
  82846. /* 51 << 441 */
  82847. { { 0x7a722f7f0095970cL,0xc5f0befac60f55dbL,0xc5afa461df29f5ecL,
  82848. 0xf01bbf1161ac1f57L,0xdc6ec1e80bc3b86dL,0x321a34a437f04963L,
  82849. 0xdb0512a25c6ed011L,0xa104cdabac1a345bL,0x000000000000003aL },
  82850. { 0xe9a1eca87437f0aeL,0x54ef25424d949bf6L,0xca3300f0039a9770L,
  82851. 0x648c20a304bdae20L,0x3655df9fbeb0d46eL,0xfcf7a10c95f888e5L,
  82852. 0x1e19fef16e669132L,0xced02e38218c93bdL,0x00000000000001d8L } },
  82853. /* 52 << 441 */
  82854. { { 0x366152e3aa65ddbfL,0xfc53f8af6a5fe671L,0xc7cad59195c7f6abL,
  82855. 0xe9c3b6d552052ed7L,0x31c94766e4b302ccL,0x2bcb7ddf7477506eL,
  82856. 0x0cfae42e86ee3dd5L,0x1de11cf355923fa9L,0x00000000000001f3L },
  82857. { 0x43018d98df6d337aL,0x1f679cebc484673bL,0x341c38cc6acce244L,
  82858. 0xa732e5782edf01b3L,0x8d0b29601551ae1bL,0x0dbaec30509d1fcfL,
  82859. 0x5655b3dc5c9679abL,0x45b3c31b63161444L,0x00000000000000f3L } },
  82860. /* 53 << 441 */
  82861. { { 0xc4ec1f1acc4d57ecL,0x7c006c3aa3f8581eL,0x94f683110ccebe4fL,
  82862. 0xfece2dbd68be3d0aL,0x51affa5406d27f4bL,0x3bb8b836fbec32aaL,
  82863. 0x908bbbeab2a0e297L,0xcb7ebbf201196d89L,0x0000000000000078L },
  82864. { 0x0e3185e9ce461e7dL,0xd6931227013e20abL,0x64313c538c85e000L,
  82865. 0x00fea6dbff7cbb26L,0xb8bed8fa5b26b6e2L,0x91bf6292dba94d45L,
  82866. 0x6816ab5998d8c01aL,0x01a52687eab4002bL,0x0000000000000033L } },
  82867. /* 54 << 441 */
  82868. { { 0xf6a61a467f854608L,0x5e7417c80bcf85b0L,0x9000efbc1cde2bf0L,
  82869. 0x2ef0c39edf86fd2eL,0xf494697a18a12510L,0x425c1fd09ed7398cL,
  82870. 0x0bdcf04f27afee20L,0xbc353a89282a8863L,0x0000000000000161L },
  82871. { 0x7f643929a58a4e6bL,0xe899530b7ce61fa8L,0x8d07cf175ffa47f4L,
  82872. 0x572269977e217444L,0x789a6625526bf412L,0x656ad4358df93bc2L,
  82873. 0xc6d0fb0b46868e2cL,0xccfaf97090b50ea3L,0x00000000000000dfL } },
  82874. /* 55 << 441 */
  82875. { { 0x1dad0dade6860303L,0xd9126836c7e91c97L,0x9855fb600feec65fL,
  82876. 0x5ad336976c9564e7L,0x81a2f362d8548916L,0x642b4014ee4a88fdL,
  82877. 0x9c23de5ee3e3e988L,0x19c510415a0e4881L,0x000000000000015aL },
  82878. { 0x27f5a80c00aaf668L,0x296827e796728192L,0x165a649e4e124c4eL,
  82879. 0x3268bb940f8e937dL,0x69f171678b9d4987L,0x3ce36b905e06f20eL,
  82880. 0x97287b68cbbd791bL,0xc1a6fd4c18564d91L,0x0000000000000181L } },
  82881. /* 56 << 441 */
  82882. { { 0x8c466ec6afa6274eL,0x935ac8e6e57d9338L,0x3ffe008e7b5ca188L,
  82883. 0xffd8ba41dfbb530aL,0x9504dbc067d0b3e8L,0x95ebde8c622f0b00L,
  82884. 0x984bc63c209c6309L,0xb2bdaf4a6b23d9dbL,0x00000000000001f8L },
  82885. { 0x248363240e2bb6e9L,0xcef90f5c65cc3116L,0x4c71c80816bbf8ddL,
  82886. 0x0d6ccbc38de8d626L,0x6e51fc2960c000d7L,0x1e3116e3dfff70d3L,
  82887. 0xf3d91182dd570c6eL,0xf02fbb1b6827d006L,0x0000000000000191L } },
  82888. /* 57 << 441 */
  82889. { { 0xc81bd2b8decb7c02L,0x956e27a4b894def6L,0x0311fa9403356805L,
  82890. 0x0e13ccd322aae58cL,0x0196f20f3ac70b3eL,0x7d4bb4e1a7b2c93cL,
  82891. 0x10fb01386510c50dL,0xd031b898e8f926c1L,0x000000000000003fL },
  82892. { 0xf46543b5f8f5dc8aL,0x4233ee03e330d2b5L,0x1c13f707c81f39f7L,
  82893. 0xb5894eec28d508e9L,0x0ce78fe7eaaa453cL,0x4ee0ea5a0b2c7d8cL,
  82894. 0xc96edb248034a086L,0xd935778349cd9be2L,0x00000000000000a0L } },
  82895. /* 58 << 441 */
  82896. { { 0x871955d28b93f569L,0xf05605295a48b689L,0x0820a8aa467e5891L,
  82897. 0x7a4f5cb3f58b25d1L,0xc94ed47f8587a84eL,0xa99cd056fe982ec2L,
  82898. 0x371cbf3fd1d06d5fL,0x491d9acaf90440a1L,0x0000000000000179L },
  82899. { 0x9df7fa8740a5fe24L,0x942fe6b1d96d3e57L,0x0f21d3127c7497f8L,
  82900. 0x7a28f02bb1685a0bL,0x45264d84fdb0e456L,0x08b20dbf95f14f94L,
  82901. 0xf36dbdd57b299fa9L,0x644f73a96dd0a74aL,0x0000000000000136L } },
  82902. /* 59 << 441 */
  82903. { { 0x4e0aa1cac34f2a7dL,0xd00ee2d1c4678255L,0xc74603ad187fc9f6L,
  82904. 0x6aab1d2ece9d3267L,0xb74dd371f511fcb5L,0x8b822e5c8836ab61L,
  82905. 0xc504820cb338d04fL,0x247e13889d12238fL,0x000000000000012fL },
  82906. { 0x421d4c327f6e0a6bL,0x82a8854ba04228dfL,0x6003515d12b7fe81L,
  82907. 0xabe47e71d0a397feL,0x59feb1eb6aaca148L,0x45bd603375a8831dL,
  82908. 0xd4612d5917d1ccb3L,0x1b89ba9c74ee1027L,0x0000000000000042L } },
  82909. /* 60 << 441 */
  82910. { { 0x03e7026b3fc38c51L,0x43eb0760581918a8L,0x2229030dfb2b26dbL,
  82911. 0x178bb4bca8973dfeL,0x79204ab49902d625L,0x9dfd5966e57d8747L,
  82912. 0xcae096fd8b664963L,0xc3b1fc25fb1dc64cL,0x00000000000001d6L },
  82913. { 0x7f136d66e577916bL,0x11834be442bf8511L,0xbdc623e83428bb9bL,
  82914. 0x14f10cad49c2d303L,0xd2e47e509dd1bcbbL,0x79bb7eb356290215L,
  82915. 0x7a2500b36d356e99L,0x6d01df1e1f30e17dL,0x0000000000000158L } },
  82916. /* 61 << 441 */
  82917. { { 0xf99cd5725ba74517L,0x93baaf6e166dcce8L,0xac938b88601599d6L,
  82918. 0x30f247f47404a032L,0xeb3d46c03b10dbb2L,0x414e0218371dd7faL,
  82919. 0xf1164440ef4849faL,0x86420604faf4e6d6L,0x000000000000005aL },
  82920. { 0x3376a08ebc96ecfeL,0xec288c773697c3ddL,0x6f6c6e24447a27a4L,
  82921. 0x31711e8947104345L,0x21a2e7cb8188d79cL,0x4e0ea8809c2385b1L,
  82922. 0x59d2c5af1e7a9f39L,0x644fe4e08e884dcfL,0x00000000000000a7L } },
  82923. /* 62 << 441 */
  82924. { { 0x7c8c7f684dd64f0cL,0xc7820e341855ce9dL,0x1544117d323f6ce5L,
  82925. 0xcb768820e373e48aL,0x464428b73c3c4c90L,0x4cd0e1ceaae35437L,
  82926. 0xd25046831ceb2a4cL,0x0e3338ccdf439915L,0x000000000000017bL },
  82927. { 0x865ba7db6618c759L,0xca0a323710e77d05L,0x9d13842b2b28085fL,
  82928. 0xf941b5fa9fea876fL,0x041d0845e6d70255L,0x4c1a7d64428b57ccL,
  82929. 0x33f6bd2429ebd1a4L,0xe80522479a17c0d0L,0x00000000000000e4L } },
  82930. /* 63 << 441 */
  82931. { { 0x267820c97c2cf8a4L,0xaf23c49e7d43b5b6L,0xe83af4497452297dL,
  82932. 0x406618b2ddbb37c2L,0xfa481044f0cfb99bL,0x237d923c37e98319L,
  82933. 0xdbdc034a9ab1956fL,0x30ec502ebd6f3826L,0x0000000000000176L },
  82934. { 0xe63ad325815972a5L,0x1f1cd2b8cfd1b1e1L,0xcc91e37e0c0b11acL,
  82935. 0xbc62347cbcc8f659L,0xb6a838e80fc52227L,0x1975db004cfa70bdL,
  82936. 0x7c4bd8bca73d6fe5L,0xef91ced9ad2e5c83L,0x0000000000000029L } },
  82937. /* 64 << 441 */
  82938. { { 0x560ed5e263840645L,0xac6c9d02b99ffe18L,0x0510a7b7bf7b7fe0L,
  82939. 0xe1dc108356aec190L,0x29b4ad9527581115L,0xa8021a6026a12461L,
  82940. 0xfbbccee845144aa0L,0x2c93ced8ded40b1cL,0x00000000000001e3L },
  82941. { 0x2c841a6ef3fb0d14L,0xe8b8b8ecb1f67b7cL,0xbd4c9a2219e26083L,
  82942. 0xece8dc33c1c6a093L,0xfb47210f948aeae7L,0x98a8b0211569c5fcL,
  82943. 0xc92cb9c7399c9d0eL,0xdaa97144b0f6f23aL,0x0000000000000145L } },
  82944. /* 0 << 448 */
  82945. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  82946. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  82947. /* 1 << 448 */
  82948. { { 0x6d7eedc48f69079eL,0xf02e8e404f03b92fL,0xdf751116cb76b181L,
  82949. 0xc255eb2c234c1925L,0xaf997d5ea94af9b2L,0x797f3df0d1374a41L,
  82950. 0x357fd20b23986cdaL,0xf1caccda1540adb8L,0x000000000000007dL },
  82951. { 0x2a04363cc01605a9L,0x0d7cc0d87d7d1e54L,0x0515eb70a0f9fd2bL,
  82952. 0x725d12a9bb4ec5e8L,0xd1b5b8a33a6eb09aL,0xb6c836b187027d7bL,
  82953. 0xf4773322aaf9cd03L,0x2fb3354e2500c647L,0x0000000000000081L } },
  82954. /* 2 << 448 */
  82955. { { 0x83da529b41750b74L,0x9e431a5c76e28bf5L,0x225e2eb97fde2491L,
  82956. 0x951e2cede7c469bcL,0x35f384caf0e10c32L,0xb8ed4a312b1aadbcL,
  82957. 0xd39393ba7b797492L,0xc82685f847597f4bL,0x00000000000000c9L },
  82958. { 0xb04e1261436e2563L,0xdc3e83052de3e4e7L,0xa32102bdee3dbbf4L,
  82959. 0xdfb5378945f15efbL,0x34904b0b6246965eL,0xcd645c46aac06ca8L,
  82960. 0xd4e3f322358398f3L,0xaebfe7c7a54f3311L,0x00000000000001f3L } },
  82961. /* 3 << 448 */
  82962. { { 0xff2fa49cf2afae47L,0xa2c86068f9f2b257L,0x73dd56a446cb76eeL,
  82963. 0xbffb9f017dc0a64cL,0x0ee2b60d44b4a4eeL,0x49939f0837c5959fL,
  82964. 0xb302fcd178603de3L,0x03c2a2204017c122L,0x00000000000000a7L },
  82965. { 0x48acda9757413107L,0xbd8f584d4c01caf8L,0x38f448a71ac29755L,
  82966. 0xcc3884836d29bf3eL,0x15c4baf974401fedL,0x7826e5cd9023bc05L,
  82967. 0xc7a70d094f459413L,0x1de803c631896429L,0x00000000000000b8L } },
  82968. /* 4 << 448 */
  82969. { { 0xabb0d91dcef34144L,0xbc5903fa42b2a8bbL,0xe279ef5638e4c5faL,
  82970. 0xb3416e9e6d5b04ebL,0x447819187bb923ceL,0x58fefa212914a3a4L,
  82971. 0xb0456b2ee2c19f36L,0x176361bbe92c1e50L,0x00000000000000b3L },
  82972. { 0xbc56a1af824fde34L,0x33bfbfb3098a50fcL,0x6e720f55ab9cfa73L,
  82973. 0xf1e104b908e4dfa2L,0xb96b8abd77865b2fL,0x69eb257aa36740d1L,
  82974. 0xd73b946d26a50f43L,0x588e4a1470cd91e7L,0x000000000000007aL } },
  82975. /* 5 << 448 */
  82976. { { 0xd1da41a113dc8b45L,0xf4886d248a639b8dL,0xf3431ccedef9c5c3L,
  82977. 0xae07317d8c204a2fL,0xcbbd49a1f3d6383aL,0x43d3593229bbe61eL,
  82978. 0x6bfa06099643a1a8L,0x391499b22005a71fL,0x0000000000000188L },
  82979. { 0x40774a7e79d0771bL,0x31987151595038a1L,0xff6df557c48b5063L,
  82980. 0x26c03269c3751769L,0x660c36ced2d0ce99L,0x71378e21d3d79ea0L,
  82981. 0x7b2ec7ea30be88eaL,0x1b342d41eaed0f73L,0x000000000000016dL } },
  82982. /* 6 << 448 */
  82983. { { 0x0f1b2a0ee2c08642L,0xc110227519fbfff6L,0x3e49142104574825L,
  82984. 0x058232d599552fdfL,0xa83f1a2f0e083797L,0x7c387d90860acbcdL,
  82985. 0x7d8440d7d59d4ffeL,0x45111fc778f12d73L,0x00000000000000a5L },
  82986. { 0x77acf98e28e9b450L,0x0823b735a8129a6eL,0x1abaa0f98d1f0ef3L,
  82987. 0xc2fb1108dec36172L,0x4d486fd4855585e0L,0x27d002549d440b52L,
  82988. 0xc2b556135b964bacL,0x251ad413a29f6fdeL,0x0000000000000142L } },
  82989. /* 7 << 448 */
  82990. { { 0x47de9d47e138d37eL,0x7387f3693e7e1c87L,0x9c00813e0a48af71L,
  82991. 0x9df47c63e8829fcdL,0x7dc7c04819e24a68L,0x3d1823e16942e130L,
  82992. 0x2f4440ffa2cd6199L,0xebf60be098168aa8L,0x0000000000000049L },
  82993. { 0x989690073b5f346cL,0x00a0ecf9b79ae683L,0x1b6f0ddbf8fb676fL,
  82994. 0xd536d3717998c836L,0xe1dbda549c4bc7cdL,0x2b752ca371e12239L,
  82995. 0xd633d0eec296c03dL,0x548b37c59f6a0015L,0x000000000000003fL } },
  82996. /* 8 << 448 */
  82997. { { 0x6ed1bbb76ed0892bL,0x4921306bb788bef7L,0x7200d473bf3cdbdbL,
  82998. 0xf1cb448feefdce6cL,0x199b07a2836591b0L,0x804ff00948fc6659L,
  82999. 0x697600593b8f405aL,0x14755be59ef63732L,0x0000000000000103L },
  83000. { 0xd0a6d1b323383b1aL,0x50c7e33bae42ca1eL,0x564b46552563bd12L,
  83001. 0x48640d21fe7baf1eL,0x6a0b495ef7717825L,0x9e4ad9aec7df9fc0L,
  83002. 0x4ceea6a6e038e19eL,0xea0e3bf8010887deL,0x00000000000001ddL } },
  83003. /* 9 << 448 */
  83004. { { 0x4da845a0a4851434L,0x75176aa6ec7c655cL,0xcb64f9e9f093c7daL,
  83005. 0xf80504e644bf8c6eL,0x13958864001ac4a3L,0x067e1167de28fbb9L,
  83006. 0x0ee319d6708782ddL,0x90e661f3f0a8a799L,0x00000000000001c5L },
  83007. { 0xa161caa15db20757L,0x2adaf4e05350825aL,0x5e2bd35abcc582c0L,
  83008. 0x9989c8fe71a3bc28L,0x454827e228898a24L,0xa7108d022fd729feL,
  83009. 0xeb2b76ad8c310f5cL,0xeafd847e634c3d7eL,0x00000000000001aeL } },
  83010. /* 10 << 448 */
  83011. { { 0x46e47ecff0136b5cL,0xf17ab7f6344965a0L,0xf3faf3b354e24a42L,
  83012. 0xee7c7b5b6e7035e7L,0x78529226908afe39L,0x440aefb22e64eef4L,
  83013. 0x08ac260a1849e45bL,0x7203a8f76fc7bc4fL,0x00000000000000a9L },
  83014. { 0xf36d34eb171f3c98L,0x4a2e2716e65bea70L,0xa7387fbbf8f31760L,
  83015. 0x9e33161eb9cc24f3L,0x808d8d2957715f35L,0x5bca0410150ba9fbL,
  83016. 0xe8823a72d019f4a9L,0x5e14abe756165147L,0x00000000000001d7L } },
  83017. /* 11 << 448 */
  83018. { { 0xd7f60f17d77089e3L,0xb68b3c61a10cb23fL,0x72a83575094e8bd2L,
  83019. 0xd9a28d29915a575dL,0xb30e811f211c2f4bL,0x3a62fcf658119ebfL,
  83020. 0xb692e3bb679eaa2aL,0x2375e13c3fe29c8aL,0x0000000000000069L },
  83021. { 0xd613b9ea2b8b53c8L,0x6ad8d6eeaefe8d7cL,0x25163969b1d6fb5bL,
  83022. 0x6b37519e76a6f0d4L,0x8fc9208359eaa8eaL,0xd2a15a1d560539cfL,
  83023. 0x35d7a7b70f7e555cL,0x590426c042a30fbbL,0x000000000000015aL } },
  83024. /* 12 << 448 */
  83025. { { 0xdc6fd0b27ff5fdd9L,0x663c5481fab729baL,0xf70938531fde9e82L,
  83026. 0x293d27fa71f684c1L,0xc05cb3d07fcf66fcL,0x709d86ba11cd0445L,
  83027. 0x1cd6d595497fa0b1L,0x5eabd8a0d47408ffL,0x00000000000000c6L },
  83028. { 0x001ea477b6b64713L,0x148f2b5049fa00dcL,0x00106f97efce2ec6L,
  83029. 0xaca11586e205cc9cL,0x60d70881a6d874acL,0x37dd5c14d29f29c1L,
  83030. 0x586ac6c8e11191b1L,0x96470f229677b2d0L,0x00000000000001eaL } },
  83031. /* 13 << 448 */
  83032. { { 0x179058303a7f3608L,0x172de35e26f0fc61L,0x323d2d7334d7c1a1L,
  83033. 0x464cd498aec45adfL,0xc4f38d5062ae054fL,0x3f016202a66711e2L,
  83034. 0xd105f907e8d33e40L,0x3a102b6a75225100L,0x00000000000000fdL },
  83035. { 0xc754a811dd02719aL,0xe4a5ea1f4bcc6cefL,0x3d64cba45fcc954dL,
  83036. 0xefe41b2c12cf1ec0L,0xa8e5b613969c79ceL,0x42e6fb9b288a3a37L,
  83037. 0x1c9e65a6aac4dca8L,0x160703b36bd7bc54L,0x000000000000013fL } },
  83038. /* 14 << 448 */
  83039. { { 0x4888c71de2f66bcaL,0x548a0a8f8ade3531L,0x0162233c6638686fL,
  83040. 0x4d2c6af83c30e52cL,0x62124a0fc19a0df8L,0xfce8188dcc7c56f3L,
  83041. 0x6da68920b8b77752L,0x370dc630b622bf61L,0x0000000000000044L },
  83042. { 0xe3072dc65b51fb0dL,0xa06bd9c232cc673bL,0xe374dd3e991c7eb1L,
  83043. 0x1052bbee887d8d76L,0x9b43d6dd897746d0L,0xfb7797ed6cc50b4fL,
  83044. 0x83d30a082bf11803L,0x24d36df97d78f93fL,0x00000000000000efL } },
  83045. /* 15 << 448 */
  83046. { { 0x0158728662e9c602L,0xe3f31aa9c7803839L,0xecd16d810cea9177L,
  83047. 0xe203943e82b139b5L,0xcdae675da59ea3aeL,0xacafc1fd79b0b7afL,
  83048. 0x1f3ff6b96d0e87efL,0x3c52993bd84b4b55L,0x0000000000000172L },
  83049. { 0xc8fcf451415e906cL,0xf25cc44fcc223afcL,0xa0fb3f66f80c4a7dL,
  83050. 0x6c936445ebeec08eL,0x35215495a50739c8L,0x9c197b15d8322e65L,
  83051. 0xe263f119ecc81fb0L,0xeeea2e6f37bd4d5aL,0x0000000000000148L } },
  83052. /* 16 << 448 */
  83053. { { 0xd7c0efa36ea09a93L,0x95f69e09fb01c2b3L,0x021b1721d43150e2L,
  83054. 0x39ff07e05879bc51L,0x0dd73c326cf50ce3L,0x9d69d32a5758870fL,
  83055. 0x5df4cc8c1c0e91d9L,0x0033508815df54abL,0x0000000000000182L },
  83056. { 0xbb656a89f2dc12f5L,0x6c4a32bb5c46fcf4L,0xf324462c70e7a152L,
  83057. 0x4b1d509a1f7eaad2L,0x3da87fa776e51583L,0x9a435e2019fc86ccL,
  83058. 0xb97d3f449eab8de3L,0xc56c7c988f92304bL,0x00000000000000a8L } },
  83059. /* 17 << 448 */
  83060. { { 0x46beca92c9464906L,0x620775e18f2f81e0L,0x767f4266c5771682L,
  83061. 0x6c6dde810bbc65ecL,0xfd8fabfbc405cc39L,0x5d9b8d18643e0d72L,
  83062. 0x30303e19109ea8dfL,0xefea4ab30929cd4bL,0x00000000000000a6L },
  83063. { 0x993ca142b25badb6L,0xb647dc6d2880eb4eL,0x2d6e2faa551f13fcL,
  83064. 0x444f2ea3ba3e00d7L,0x3c89c8af62c6bf24L,0x1e2b1b9993ff5675L,
  83065. 0x9f2809305dbdf81cL,0xa0c0b2c11618ab5eL,0x0000000000000076L } },
  83066. /* 18 << 448 */
  83067. { { 0x8814ee08f2ff8ee7L,0xed9db8fd0c8aca2bL,0x36967aed6b8d81d3L,
  83068. 0x1a937d3f5cf2ff0aL,0xbedf97c9461382b2L,0x29bf2b30aa5a5388L,
  83069. 0xa5b6918fa8796dfbL,0x76662a2b2df5c39bL,0x0000000000000050L },
  83070. { 0xb8157fbbb44fc79fL,0x17c3ad0b40212b26L,0x06bfa618e49dee6eL,
  83071. 0x81a338f1422b2017L,0x200f6dcd203fb523L,0xa904931782a544bcL,
  83072. 0x9d12fa1489795453L,0x92997d54910f9258L,0x00000000000000d4L } },
  83073. /* 19 << 448 */
  83074. { { 0x958450c54ec281fcL,0x5cf3bd6193c614acL,0x99919178a2759a65L,
  83075. 0x256015282dc88c30L,0xf3a2766a8f15f90eL,0x12362084c8a6e56cL,
  83076. 0x4359fa34ee82faf9L,0x492b73c91c03100fL,0x0000000000000000L },
  83077. { 0x1467c71469f444baL,0xe10379562d904cd4L,0xabc81c9a648ab04eL,
  83078. 0x4c0ad4f7910123e9L,0x7bfb6a0943b8ac8eL,0xb51f3de73934362dL,
  83079. 0x70d304aba030cab7L,0x577cebb04e8b0148L,0x000000000000009dL } },
  83080. /* 20 << 448 */
  83081. { { 0xe16f41aa44be78bdL,0xb5436f21e014c4aeL,0x9711718156ea17d7L,
  83082. 0x77eb089b37c05237L,0xde53fd3bf974ea0dL,0x27c4c2e9c84daec0L,
  83083. 0xa7c70452639b53a2L,0xab34cef9122cac08L,0x00000000000001cdL },
  83084. { 0x45942b2b520fed74L,0xe339e2ec18185e32L,0xef29fc70799a5848L,
  83085. 0x81cd214092bc0623L,0x56f9ba7d7502fd5eL,0x8c0c55507d06b23fL,
  83086. 0x4835f4e6f6780730L,0xe0c0adc9f3b8b6a4L,0x0000000000000078L } },
  83087. /* 21 << 448 */
  83088. { { 0x93c6329431a43160L,0x19f6aa9bf70fdafaL,0x74922f2451c93c44L,
  83089. 0x2771a1d8a482a3bcL,0xdab23427ffc50d8fL,0xb06ca094a3138e86L,
  83090. 0xdef003634bc843a1L,0xd6bf9e1228d99dc8L,0x000000000000014cL },
  83091. { 0xc618a4c3d49e9c02L,0x202558298a891299L,0x8acb42a297e53ed0L,
  83092. 0x012a299092167efcL,0xfde4d81cc425cb45L,0xa7a4f2b788705295L,
  83093. 0x958260fb365f6d39L,0x24d12f9c7281e7d2L,0x0000000000000039L } },
  83094. /* 22 << 448 */
  83095. { { 0x51fbbf5fdb40af14L,0x0e795ad376869107L,0x353827bd99d8accbL,
  83096. 0x41b9b0f3f0a03c54L,0xdf2e0c6ea3a0f1bcL,0x80c2b91e83d84847L,
  83097. 0x28240a87333924fcL,0x0cc6dc8139166ac9L,0x000000000000019bL },
  83098. { 0x150e42b72c3c6ba1L,0x165bafd96b10b2d6L,0x990f141114a18123L,
  83099. 0xe89b21600746c897L,0xfbc4fc51f7efda9fL,0xf2e2285526fc48e5L,
  83100. 0x95ea0ba212346b4bL,0xfc5b414977e223ceL,0x0000000000000186L } },
  83101. /* 23 << 448 */
  83102. { { 0x0be0a5de07a16d69L,0x9ef32d03e11ca186L,0xccda2049a9ffe33eL,
  83103. 0x3470ac5a4b670afeL,0x8770a1ef74a0d67bL,0xe7011ca9df62093eL,
  83104. 0xe08c557ac48bddc9L,0xd458493937876750L,0x00000000000001f9L },
  83105. { 0x8a93b565a84fca82L,0x4db14cc9c6be1ba6L,0x06cf1b331830b8d7L,
  83106. 0x048707b3eb991fd7L,0x005ef51378b92e81L,0x444b5dbbbf444785L,
  83107. 0x158fec89923f5885L,0x2a681a4a1900dfb9L,0x00000000000000abL } },
  83108. /* 24 << 448 */
  83109. { { 0x22a96092b0fef65aL,0x75400e255b4b6264L,0x2d6bf21fcf25cbb8L,
  83110. 0x2fd07e1c9289dbf3L,0xe56e840c6814e503L,0x15063366005f14d4L,
  83111. 0xf156222e66516b79L,0x56d9d1fbf5167303L,0x000000000000002bL },
  83112. { 0x9c095b7cbe93ea4eL,0xbc26271f7eff54ceL,0xfdca10ae48cb19cdL,
  83113. 0x7c582ed41967cc71L,0xd5de0048870d2bd6L,0x92973e875914e7cfL,
  83114. 0x56e0b7a321edd49bL,0x1bea592023d39a84L,0x00000000000001d3L } },
  83115. /* 25 << 448 */
  83116. { { 0x830fb6b0b22e2bddL,0xeecc9175ec46dddeL,0xbc5653dc92ba4ea2L,
  83117. 0xda57d028df0f6920L,0x0b6373b613d599b4L,0xe3408fbe5a64be7aL,
  83118. 0x835d777666ee7d46L,0x2410f0dcd60a8af2L,0x0000000000000116L },
  83119. { 0x74a4658a92a29714L,0xf8a8f1fe844af49bL,0x15d77ccca2b02157L,
  83120. 0xa33511645b5c9343L,0x2bd68a266e54c8c5L,0x88d773dd041c6279L,
  83121. 0x4aee4590d6a3c00fL,0xa1697b605166b43bL,0x00000000000000fdL } },
  83122. /* 26 << 448 */
  83123. { { 0x08757c74ec97eeeaL,0x27e8eb74fd3c52b8L,0x2809524d010a4f7eL,
  83124. 0xc9e0dd4a1377b31aL,0x9cb226d1e082c564L,0x901073ed5af132e3L,
  83125. 0x8ce944c8188dfe5fL,0x347892858c5260a5L,0x00000000000000c1L },
  83126. { 0xe363f14e1cc9ba1aL,0xd4d8c73f194037afL,0xc9b307c79c2f34d7L,
  83127. 0xf02b5ddb947966b6L,0xbaa7d2e0b7ff7f37L,0x78c228d0f6991d25L,
  83128. 0x9bd96a4c0aa5bae4L,0x93155e7c16f862c3L,0x000000000000019dL } },
  83129. /* 27 << 448 */
  83130. { { 0x3a730ac01ccc9a22L,0xe876db8a07b71c34L,0x5a4aa392fe69aae3L,
  83131. 0x502aa22d9db171d2L,0x7c5fb005ad0f33ebL,0x5a2169a88c3bec21L,
  83132. 0x76efaee9781c7629L,0xfb933efd72fb60dfL,0x00000000000000b8L },
  83133. { 0x1d4fca2eb1e91e17L,0x7187a86f864fd2a9L,0x896e3acbd37c6e14L,
  83134. 0xb10aef2d42cb0645L,0x5c0c4b235e72c54aL,0xec0ae29ed1e2f299L,
  83135. 0xb72c7f4c77e91c26L,0x41c241c4f37a54f7L,0x00000000000000a8L } },
  83136. /* 28 << 448 */
  83137. { { 0xca49e4056736b7a8L,0xbae02b57f438c9a8L,0x871ecf1d8dd5bd49L,
  83138. 0x46b05ef1974903f5L,0x549128c348aa1a22L,0xe8f8d085ef5b4439L,
  83139. 0x62fbea2fefee9906L,0xecd06f55c49261ffL,0x00000000000000f8L },
  83140. { 0x603a56fe1def19d6L,0x48d65f1d3e4cf99eL,0x6b92c5694559a51cL,
  83141. 0xd133cca108c45240L,0x9656a7c46c134b2fL,0x7e407c2907d6c7f7L,
  83142. 0xc346409adbb7cdf8L,0x4ebc0b91eec47250L,0x00000000000000aeL } },
  83143. /* 29 << 448 */
  83144. { { 0x04b789f81da8a341L,0x81827ac482bac9afL,0x85a2510cc0a342a4L,
  83145. 0xe3d17837200d2557L,0xf951b01ff55cceb7L,0xa00d66f41472e87aL,
  83146. 0xfe101e3e0a0b1ff6L,0xfc4b05f60f9e8587L,0x0000000000000173L },
  83147. { 0xd64fdd33fbea0ce4L,0x8aa0680aedb5fcdfL,0x78876c00e08cda89L,
  83148. 0x9c3424f9034f2cbcL,0xea7170d1a86845c8L,0xd36a89c084650b43L,
  83149. 0xfa5ef9e6ab2a83ccL,0x0458b4b756c03914L,0x000000000000000cL } },
  83150. /* 30 << 448 */
  83151. { { 0xef816b5cbca24a14L,0xe56ef49d80999021L,0x5724b7fc5984a0c4L,
  83152. 0xdf9250fc23c4f692L,0x05b5d16a4a329eceL,0x389dd3268f017928L,
  83153. 0x49cce29d7376ef1fL,0xd005fcf9adbb3387L,0x00000000000000ddL },
  83154. { 0xf7d7a2da1919ee1bL,0x99312ba17108fc88L,0x6e0fd013819b2ab5L,
  83155. 0xac6dde9ca0415b09L,0x76aa7ad61116cb56L,0xa4164cb64d7e2873L,
  83156. 0x25a4982b00d5204bL,0x3d528fb42ca1bc08L,0x000000000000011eL } },
  83157. /* 31 << 448 */
  83158. { { 0x7eaa6f4f202177aaL,0x407c3797edda27a9L,0xd1cc20254d51d733L,
  83159. 0xc7950454c1c04a95L,0xb657108ffbb858fdL,0x6068f5a94b7af32dL,
  83160. 0xbe741bb72701b289L,0xe786ab377dca6c64L,0x00000000000001f8L },
  83161. { 0x9f04d1950f884ecaL,0x036589956f965937L,0x62e3afa42c33ebc6L,
  83162. 0xa2b8ba656f0e5fbbL,0x798f812abbc0c7c6L,0x7cc29ea1537a5d81L,
  83163. 0xccd03bf8f1509aafL,0x3cf256c590799937L,0x000000000000013fL } },
  83164. /* 32 << 448 */
  83165. { { 0x30b495ff9b09ac83L,0x7767e8a105d9c9ebL,0xb15ecb0a1690a79eL,
  83166. 0xa7b87cce1b301763L,0xc6849deaf28b14d2L,0x16d0b1585e5c94f2L,
  83167. 0xbfda45241aee3ca8L,0xe52961635d737c3eL,0x00000000000001f1L },
  83168. { 0x339f76cc589b8ae6L,0xa133954ae02ea428L,0xf11e77f7980481acL,
  83169. 0x890c3c2c87596275L,0xe0cfdace80b79bf7L,0x0031db26a3e3906bL,
  83170. 0xedf2e3dda1c31197L,0x888f12192bc3f1a4L,0x000000000000006fL } },
  83171. /* 33 << 448 */
  83172. { { 0xfa11efb73c598a06L,0x1a9de85eaf29fc12L,0x9e436a4a3a85a95eL,
  83173. 0x169c615c9e3c41d4L,0x2b29db6bf79e4c98L,0x22a26e1e1a467ad5L,
  83174. 0x14e86abf782ac769L,0xfeed751a0e260ce6L,0x00000000000001e9L },
  83175. { 0xd4355ffdfe99690eL,0x186ec88dcf7d461dL,0x8422a8fed2d736f2L,
  83176. 0x18f55e53ad868624L,0x1020ec9fbc659311L,0x86ddcc05affee0adL,
  83177. 0x06931cb237608917L,0x850013ff1ef526c7L,0x000000000000002cL } },
  83178. /* 34 << 448 */
  83179. { { 0x125c5fab85fdc7f1L,0x78c6271112df7083L,0x2fd974779a17dfc1L,
  83180. 0xafce9bff8de8fb96L,0x7a45cc8723fd724fL,0xfd1522f2de2fe1f5L,
  83181. 0xbc1eceafbe939d20L,0xe8f9b64c5d35cbe2L,0x00000000000001a1L },
  83182. { 0xcebe167b4e9edaf5L,0xc40095abd68c6c3eL,0x5cbd305e44500fa1L,
  83183. 0x52d56df841fc36ecL,0xc6dcaf21a267407eL,0xbef96b050a0d5c0eL,
  83184. 0xd6cca309cf13700cL,0xe1efd83734b2d474L,0x00000000000000eaL } },
  83185. /* 35 << 448 */
  83186. { { 0x47d2bcbb3a59d179L,0x84c060960c814989L,0x25021261b2543f3cL,
  83187. 0x5a894a77824a6674L,0xa80055cff8a90d72L,0xb67da52c3bbd3840L,
  83188. 0x41b6cf441d172937L,0xaecb4a0fd0c7f2f9L,0x0000000000000184L },
  83189. { 0x4112abfdadec6f45L,0xec2292fd5af997b9L,0xec81483ea66da6b0L,
  83190. 0x2d788ca6bf6e9369L,0xee6d66d64c9df525L,0x652248dfc233275eL,
  83191. 0x26ab55ff60d792dbL,0xed6c78699d30d510L,0x00000000000000e3L } },
  83192. /* 36 << 448 */
  83193. { { 0x2827f5a2cfacc519L,0xfa201f6328fe5462L,0xd12ba386e76d1ed1L,
  83194. 0x4eecc04b3f1857b2L,0xab2d2292bac8e16cL,0x94ff8f3ddc3f22dbL,
  83195. 0x63248a3603b56f1cL,0x391de5d28c4539e2L,0x0000000000000100L },
  83196. { 0x58dda167baea3e6eL,0xc9c93a6d88e1646aL,0x16c540b124b20d76L,
  83197. 0x9cfbc92113a036b6L,0x2c3b07ec6322b9ccL,0x88c8cdf43f0fcf9aL,
  83198. 0xfd62cb99da598c89L,0xd6a4bbf8fa164bd8L,0x0000000000000146L } },
  83199. /* 37 << 448 */
  83200. { { 0xc393c42ce88d83acL,0x5c8b69266733c944L,0xda086abbca3012b9L,
  83201. 0xff283a9b5acae577L,0x61bd875c3059cf58L,0x994aa16617621d60L,
  83202. 0x519f8cd8be49f68bL,0x3a0a9a9e98e2cb2dL,0x0000000000000154L },
  83203. { 0xf9b9bd45dc4fa221L,0x0ace7ab384d38b83L,0x88d9fc2be55c1c3cL,
  83204. 0x84905b18c6565620L,0x55c76c803bf25fe7L,0x96c9375fcd06b977L,
  83205. 0xf890bfe99ce18390L,0xa6d94dbb19361d60L,0x0000000000000001L } },
  83206. /* 38 << 448 */
  83207. { { 0x708f272f49cf39c0L,0x10a48d4cc2ee3fa0L,0xab1e16f901c642baL,
  83208. 0xb5eedde41983ee46L,0xe3c55cd6899e461dL,0x23000eba18d744d0L,
  83209. 0x2276e90d9eca5818L,0x28ba08fea79959bdL,0x0000000000000174L },
  83210. { 0x19c844006e8985cfL,0x8c47325f19c95cd8L,0x8ce8f9be8cc20f75L,
  83211. 0x5c1f05f4ccbe5f74L,0xc7611000293f57a9L,0xdf4273f284dad825L,
  83212. 0xd90562d63ba6f844L,0x70362280592e0687L,0x00000000000000d3L } },
  83213. /* 39 << 448 */
  83214. { { 0xff33e72ebc72e5fbL,0xbf62bd87e7d6882aL,0xda5147fdb89aef99L,
  83215. 0xb6f32dbd17a2f509L,0x9bd0eddfb286a468L,0xdd4d1b28b31307b0L,
  83216. 0x4866ded9c76ded47L,0x22513a3a1ab2e1a8L,0x00000000000000ebL },
  83217. { 0x89e2f77acc1225a9L,0x6557eb9ce8a4d6a7L,0xd06696e55d2b30d3L,
  83218. 0xffdbd1fa38241fb1L,0xece18f786da9b3a1L,0xc7be81d7f3778b45L,
  83219. 0x551942079c94ba90L,0x4a4151d863583b90L,0x0000000000000165L } },
  83220. /* 40 << 448 */
  83221. { { 0x482c4b824cb11206L,0x2201973cda6ac67fL,0x90df76215995d743L,
  83222. 0xee362af67e7b155dL,0x7f3893b65997d300L,0x9cb6280f48c1f500L,
  83223. 0x334dcc96c04921e6L,0xd657696028bcbad5L,0x0000000000000182L },
  83224. { 0x9dd406cb615b1c61L,0x7de33627d9cd2e7bL,0x7bb1260c8775b9c3L,
  83225. 0x8660e68e17b15699L,0x679fda73ed79d75fL,0x10d1c3e755a10c2fL,
  83226. 0xc4a3f01c652e4c33L,0x34c91d58b7c42d3eL,0x000000000000002bL } },
  83227. /* 41 << 448 */
  83228. { { 0x9747a5bd85fa2a0dL,0xe15ad21ed11886aeL,0x2eef7ba93a2651f0L,
  83229. 0x9e77aa5962686644L,0x9e7b79d4fb694bafL,0x3a430ea7a6b0849aL,
  83230. 0xfb6f511c8c34f2b0L,0xd5c58ed10140425dL,0x0000000000000166L },
  83231. { 0x98c16d41e9539297L,0x287e5e5f403d122aL,0x52ded89abda5f4e9L,
  83232. 0xa541ea800d429eb4L,0x763796a0dd2eb689L,0x5e35cb2d2001730fL,
  83233. 0xfe0f4cade305badfL,0xd110a0cf2ee75cc5L,0x0000000000000029L } },
  83234. /* 42 << 448 */
  83235. { { 0x516e69a0c5a71125L,0x998a22f25c95ad7aL,0x8a14544f648f80ccL,
  83236. 0xa59f36584ed65117L,0x4b5a92a85dd7e675L,0xd262307ac9fa87afL,
  83237. 0x936957f30fdc3362L,0x994f83054b783d0bL,0x000000000000006bL },
  83238. { 0x56d8d538ab411cbbL,0x6c3be61485d78e8dL,0x4234020c833fc8e1L,
  83239. 0xe4fdbf97b41ed949L,0x8c36618c0f3a1f2fL,0xe7dae0ee58f49465L,
  83240. 0xe5b2b939b6a95411L,0x822fe9e126a6e121L,0x0000000000000094L } },
  83241. /* 43 << 448 */
  83242. { { 0x9cebe2a9d059f7d5L,0xb4c8f6deabc86eafL,0x7dacabf6c6e5ffdcL,
  83243. 0xd8b22f229922c453L,0x676154f2174ea57dL,0x4d7ce6fdf9819e39L,
  83244. 0xb19bc1bbd47ebfc5L,0x24383cd04709da01L,0x00000000000000abL },
  83245. { 0x8d5e8f8a3cb2e7eaL,0x2899be2733d8d462L,0x5e6e982153eb2879L,
  83246. 0x04637531a17178c2L,0x8ce508f1f4495e86L,0xbbcc3223935c7f1eL,
  83247. 0x72c33d4fd2e53b1cL,0x3f02c919bab47cdbL,0x0000000000000056L } },
  83248. /* 44 << 448 */
  83249. { { 0xf25929a379c36058L,0x6d0eaa35a743c8a3L,0x24943137c5850310L,
  83250. 0xb78fcdc74d01efb0L,0xdf7a2cbd2a5e9f3cL,0x6d8c2cb9df226a5fL,
  83251. 0x32f82caaedfffa33L,0xb520a44381c3f37fL,0x000000000000018dL },
  83252. { 0x477f91b7e71efa02L,0x9bdb34a93e3ca801L,0x29bdb247fbaa8273L,
  83253. 0x1094b513dd94b717L,0x97c93aa247d54bfaL,0x8899075c84807d06L,
  83254. 0x6cb0824b57f6ae04L,0x5d1def90e6c92379L,0x00000000000001a0L } },
  83255. /* 45 << 448 */
  83256. { { 0xa9abb86dc72edfbfL,0x976e9021ac090215L,0x045277f4e22e6e61L,
  83257. 0xc7659062b8e5caa4L,0xfb951c4a8313d948L,0x5cf7b980aab03d43L,
  83258. 0x638ad72853011671L,0x8982856158bf9edcL,0x00000000000000b6L },
  83259. { 0xa9f8e9d5670893a0L,0x950c5bd4695bfd4dL,0x9385ed198b1c6915L,
  83260. 0xe65fea3ce8a000c3L,0xf115e65f45299c03L,0x5ea19e3260785ed1L,
  83261. 0x68335fb1829d2dc5L,0x486ac0a949a1c2d0L,0x00000000000001baL } },
  83262. /* 46 << 448 */
  83263. { { 0xd1b72ef8e18d7e88L,0xe97656fb4c48d545L,0x72f28d05eb70cd01L,
  83264. 0xace95a386825c358L,0xfa20240fed25cc72L,0x4bcd0bba8fc571c9L,
  83265. 0xa8a77a6940165a4fL,0xaa0d24d5f1a5e08aL,0x0000000000000046L },
  83266. { 0xb2704a1a257cb8cbL,0x0606229140b7acd7L,0x3fced7fc0418bc8fL,
  83267. 0x1d063bf612b0ffd4L,0x7f35d6845b8c2990L,0x11d5f9a3e8035f81L,
  83268. 0xa8eb0824708300e7L,0x8bbae009cdff1bddL,0x00000000000001d8L } },
  83269. /* 47 << 448 */
  83270. { { 0xc98465cf1e099827L,0x231b39ff67a1f512L,0xb71a173966598bdaL,
  83271. 0xaec36ef7b70b4422L,0x6115ba31fc2de257L,0x2caff11ae2fe1837L,
  83272. 0xd1e8fe55a0aab548L,0xdbc7863b19ef5f6eL,0x0000000000000011L },
  83273. { 0xde6a08d39bd49a13L,0xa9b22ee15b3da1eaL,0x69f16ae2b6f6a425L,
  83274. 0x81647bfef93b2684L,0xb20f7c385a5214b6L,0x9f3e7078d7dee661L,
  83275. 0xd03efad577719f99L,0x58a09d6e42df766dL,0x0000000000000020L } },
  83276. /* 48 << 448 */
  83277. { { 0xba0a5d23dc831ac0L,0xcf0fe6fcbd41cfa5L,0x11d490d3adee7925L,
  83278. 0xa8c359fc491d988aL,0xb97a48a53ff98345L,0x6c8ac5f21b8bb845L,
  83279. 0xa9c9f2a85f157746L,0x79125887cf6ad9a4L,0x00000000000001aaL },
  83280. { 0x3dc5db89e8469532L,0xa9610220639df36bL,0x5806f730828bababL,
  83281. 0x5ad5e58f60ef0fbeL,0xbcdfe863aad0a654L,0x818cdc6134f936daL,
  83282. 0x3b6839b4d47dd376L,0x80db0098be99035fL,0x000000000000002aL } },
  83283. /* 49 << 448 */
  83284. { { 0x57e66d8002ac31a1L,0x7cfa3c5249aa4fa7L,0xfa49bed0cbe9b21eL,
  83285. 0x52cb15789db98c26L,0x1d47d195301a3fe4L,0xdeb6e083d69b7093L,
  83286. 0x1f5ff8447d4af7a7L,0x1d5de0701e12a92dL,0x0000000000000035L },
  83287. { 0xd78224473e451fa1L,0x604c458c535301ecL,0x25c9c867dd8c2390L,
  83288. 0x1810f8d0aa93f0a7L,0xc2210ddb316fefb5L,0x25a94d5b68af35f8L,
  83289. 0x53300a3e4a46f220L,0x53cd0eff6567eb3cL,0x0000000000000107L } },
  83290. /* 50 << 448 */
  83291. { { 0x463a0c31858ac43fL,0xf4549a21501dc385L,0x349e94abe9aa4f09L,
  83292. 0x3e0650cb6df0e53eL,0x266d445b8a31d2d6L,0xe9bcccfe8740fae4L,
  83293. 0x2497641bf4678f4cL,0x1399e0a702904c35L,0x00000000000001f4L },
  83294. { 0x2b3fa40fe14ed6faL,0x6cfd3a80a2d6adfaL,0x69b4e928f0fd74f4L,
  83295. 0xc1392f2469c56022L,0xfa22fb98a24b1facL,0x5f69d1a2a25757a0L,
  83296. 0xabd01cd5c5482128L,0x8c45115297d5a39eL,0x00000000000000adL } },
  83297. /* 51 << 448 */
  83298. { { 0xb0dcdad079443d3dL,0x2d9a42fe3a52d58fL,0x7955958903b2d65dL,
  83299. 0xf1b0c12f8a0b9cd0L,0xbd734262222bdb0fL,0xb035bc18d2f0707cL,
  83300. 0xaa3516119c456cf1L,0x46f91b9228a7d3fcL,0x000000000000018cL },
  83301. { 0x32b8a62934c1eda1L,0x0ecc02bd130644a8L,0x23d8ce282bfee465L,
  83302. 0xbb8a3ed82e8997bbL,0xc46d3480432ff8c3L,0xfc2ebc497233d495L,
  83303. 0xe55621e587b0b6f9L,0x928ca258af75145bL,0x0000000000000129L } },
  83304. /* 52 << 448 */
  83305. { { 0xf49c63f00ddef055L,0x48aa7a19d452b85eL,0x2e25071477b7fa65L,
  83306. 0x214846773c8ecc33L,0x0bb90b9b9f3eaf10L,0x37b1620414c4c51dL,
  83307. 0xc872bb78a1a5a425L,0x9346566a2f80d134L,0x00000000000000c4L },
  83308. { 0x68ac1057a1a2f1bdL,0x12c6c5bcfd33db61L,0x99298470a35fa26dL,
  83309. 0x54af5dbf7dfb15c5L,0xca576278357de229L,0x003d3219872e6db0L,
  83310. 0xbf3420e5722a6d5eL,0xe3256c9ec29eaf3fL,0x0000000000000024L } },
  83311. /* 53 << 448 */
  83312. { { 0x1bf4838b2a29f47fL,0xfbdc24b3518d9454L,0x75a3de3cf8240b38L,
  83313. 0x6da0b6f7893631d1L,0xdfa309cac90586f7L,0xaf89f6d1801d0c3fL,
  83314. 0x37544bb8ccddc955L,0x8b20db078bbcf759L,0x000000000000014aL },
  83315. { 0x3ad9424106b6601bL,0xf26564e2d069e9c7L,0x9370b0d5417b0b98L,
  83316. 0x572bdd32e88921edL,0x2468cb1b6b12f081L,0xabedc7f96d585c3dL,
  83317. 0xdd6625e6956519e4L,0x39d98d7bd3896f1cL,0x0000000000000012L } },
  83318. /* 54 << 448 */
  83319. { { 0xb8bdf12a5e0dafd5L,0xc84b1a43242f9295L,0x7b2ce3ced23a98f3L,
  83320. 0xddc3cd517ac86f66L,0x53c1528aa5228de5L,0x8d1ff4e4ba69123fL,
  83321. 0x32f4bc01b5ce90d4L,0xad5158cc8cb1409eL,0x00000000000001f6L },
  83322. { 0xb5ffd15aab839bdaL,0xd4652cb2f6c03850L,0x5ed9ea35ba6cdf1aL,
  83323. 0x6963ebc45529204aL,0x7f5c0d7f3cbe2e09L,0xf7aa9f58878afde6L,
  83324. 0x078e5e24e9c780a6L,0x78da0aee78a975adL,0x00000000000001c5L } },
  83325. /* 55 << 448 */
  83326. { { 0x071cf98df7134d20L,0x707f5869578e1b0aL,0x07a11e13a0c74aedL,
  83327. 0x1c32de4466086da0L,0x0ce4c3dc156e6365L,0x3ca495174ca4ea96L,
  83328. 0x929409321b049f10L,0xcdc6c5e45549420bL,0x00000000000001d5L },
  83329. { 0x11092c8b111881e5L,0xfd4467c943845ac7L,0x43a474e99b0dccc1L,
  83330. 0xb3eb7612ed69f0cbL,0xc5ea3915e920a3faL,0xa80778f17580cc78L,
  83331. 0x58bf893d588d51bcL,0x3ea95a47c036844fL,0x000000000000018cL } },
  83332. /* 56 << 448 */
  83333. { { 0x5f8fb091c8a11088L,0xc528c08244a8e84dL,0x2a38b398f419ab48L,
  83334. 0x3e6a4d574f9e3fffL,0x84dbeb5e0f91941aL,0xa5d2364e8df0b630L,
  83335. 0xbd79a9f578edc885L,0x20cca408771efab1L,0x000000000000000fL },
  83336. { 0x92c00dd612581153L,0x76a00a16d160483aL,0xc5f2f97ef8b8c8cfL,
  83337. 0x9c51e9949039fc0aL,0x9ae8239115a1e161L,0x611f60f3f04c80b7L,
  83338. 0x7ddee53b5930f39fL,0x139e22293734c045L,0x0000000000000169L } },
  83339. /* 57 << 448 */
  83340. { { 0x492a0d612b8f7df4L,0x9e5938bfdaddc812L,0x270ed13acd3591a1L,
  83341. 0x96c535ad5b526ef5L,0x3fe87cb1c08417a5L,0x535abbcbcafeb810L,
  83342. 0x682cfa1029bb9f46L,0x5cb429b34e142fe8L,0x00000000000000ffL },
  83343. { 0x3daac71ed0634825L,0xcf6e237fe85711fdL,0x804f34c977556d5bL,
  83344. 0xe34f12c3f521b81eL,0x9f4c137f292e32a0L,0x3a8a1ccac9694a76L,
  83345. 0x6e2378c78c3b70deL,0xbe0f52a6c07fe2ccL,0x00000000000000d8L } },
  83346. /* 58 << 448 */
  83347. { { 0x118fab8d79a79a9cL,0xbc2c9888bd218b46L,0x4ea3bd8c096a5354L,
  83348. 0x75a99a2783850578L,0x2498a867b61ed37dL,0xd99eca87a1b4d8cbL,
  83349. 0x78069810e502e8c5L,0xe124a2b0c1ee2bc0L,0x00000000000000f7L },
  83350. { 0x0fb991f57ea8324fL,0x5d03f2fc1b2fa900L,0xd7aecc39a2afaf48L,
  83351. 0x6f5834408f8eae4eL,0xcbaf72380821726bL,0x5bac3a5826891763L,
  83352. 0xb032fffce3476ef7L,0x5cbb984b60c21791L,0x0000000000000037L } },
  83353. /* 59 << 448 */
  83354. { { 0xa2cdcf6fc7a6656cL,0x3890d3dd2a668d45L,0x234f2e594925e5c5L,
  83355. 0xee308962c91f5611L,0xa5c2244dafd2a34cL,0xe1f87b4883b55aa4L,
  83356. 0x073efb988e8d2151L,0xf5a2060add8c1fd4L,0x000000000000010fL },
  83357. { 0xb36704d4f67f4c92L,0x5187b6fa3cf744ebL,0xe9e542fd24e4a727L,
  83358. 0x80e7047c49cfad5fL,0x289d555413901f7fL,0xb3aa2b678638b4c1L,
  83359. 0xf849ebf97ec3d745L,0xbf3ae59d9d645f83L,0x00000000000000ddL } },
  83360. /* 60 << 448 */
  83361. { { 0x62e3e3726899a80aL,0x84d09be49df44b97L,0x6e05ba9f147b7cc7L,
  83362. 0xdbc7ebb4786f89e1L,0x59bd342f5fd35148L,0x74ff10abf21cd7bdL,
  83363. 0xe9adec9a4963a567L,0xdf49024bbcf19942L,0x000000000000016aL },
  83364. { 0x583ad342e4e67976L,0x384f24864b4036acL,0x2d1de0460fded50aL,
  83365. 0x5979c2d3231e9f33L,0x4357f19a6f1f6362L,0x03dc0490c7206d38L,
  83366. 0x0a809b04d1f6a3d0L,0xb86a36390dad4ae4L,0x00000000000001f7L } },
  83367. /* 61 << 448 */
  83368. { { 0x4a43f2f8ab33fe25L,0x9b5f5c47cd37c48bL,0x9638182e53cd35b8L,
  83369. 0x15080c5a2a01d11eL,0xa2ad1d1681cbdad0L,0x4d368c121388f3d9L,
  83370. 0xa52874d32b5fca12L,0x3144ef491c9937e7L,0x00000000000001e4L },
  83371. { 0xaf4c873c1bef2db1L,0x854dbb8b41802396L,0x04ed772d8a107858L,
  83372. 0xc302309c9922bb22L,0x8934bf22f903f12fL,0x1895a13453ac5388L,
  83373. 0x4e3a136f9795b063L,0x132201f7ed77451cL,0x00000000000000cfL } },
  83374. /* 62 << 448 */
  83375. { { 0x3af5f35a9f1ead38L,0x2251fb919de293edL,0x35e60ce0549a3799L,
  83376. 0x2daca779449e2012L,0xfbe464d153de4a11L,0xfc18cb66fec4b981L,
  83377. 0xcdcc49d118082f41L,0xe06054d362025456L,0x0000000000000008L },
  83378. { 0x5402f1bd9bd9602bL,0x2f1c926627c3b232L,0x06b4503e2de448d5L,
  83379. 0xbbeede93092ef103L,0x266cb7d16ba9f227L,0xaca181901b3802f8L,
  83380. 0x358cf8b0902424a3L,0x03288ff4cfc7b845L,0x00000000000001e4L } },
  83381. /* 63 << 448 */
  83382. { { 0xd647fd5243cd6708L,0x3f6caa7ce80ca7a4L,0x446fbd00d53a4555L,
  83383. 0x50e707aaf87efc06L,0x6194ffea631474abL,0xe59478e2846b6fd2L,
  83384. 0x589039414b8854f7L,0x3b3c679daccf580bL,0x0000000000000034L },
  83385. { 0x3388ccd6d6d55e6dL,0x4f1e9f0c878cd970L,0xc2f128f4c7501b77L,
  83386. 0x69d023525f9082d3L,0x350954abbe02b4baL,0x1d5f5bc828f937dbL,
  83387. 0x9b01373dc36b85acL,0x0f3810828be8c7d0L,0x000000000000001fL } },
  83388. /* 64 << 448 */
  83389. { { 0x394cdaf5af579e74L,0x892cb4839f0656a6L,0x0ecd401f3e8e1495L,
  83390. 0x655f01524caf97c0L,0x9712d15881912568L,0xd16e997a89dbdb52L,
  83391. 0xeec17a551a8c4097L,0xbc19e865322bbb31L,0x000000000000003dL },
  83392. { 0x6b181fb67cfb9654L,0x3afdca352d651201L,0x19d26af461453278L,
  83393. 0xeba73d693ebeaf7eL,0x39f7171e1832e1e3L,0x84b46c0e31a9f559L,
  83394. 0xaea096cdd89db3c3L,0x193c91e76c409761L,0x00000000000001fdL } },
  83395. /* 0 << 455 */
  83396. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  83397. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  83398. /* 1 << 455 */
  83399. { { 0xfb24c5b4c56caae5L,0x3855473b71a1a7f6L,0x225a79370cf6ff1dL,
  83400. 0x3cdb0634b5ace9e5L,0x46de798d26b6384fL,0xf1ede134ebc11704L,
  83401. 0xe80e4e37554519f9L,0x812e76db6349eebfL,0x0000000000000179L },
  83402. { 0xb0b69f323b354956L,0x27c782ecfc0d2a5dL,0x2bb2ebefa0dff80fL,
  83403. 0xae8e58262c887ac2L,0x2e4886170ca3bf38L,0x77b1b7b434c9e517L,
  83404. 0x5d42ca18db708de3L,0xc1b0482a4305eac5L,0x0000000000000091L } },
  83405. /* 2 << 455 */
  83406. { { 0x4331cdcdd6a37babL,0x67b8913785c741c8L,0xaeffcbdb4fc72389L,
  83407. 0xcc12e59a1c7ae6ddL,0x4a35540bee1e838bL,0x6148fb60ecd3e84dL,
  83408. 0x7319e868b2290730L,0x4321baae4de5208bL,0x0000000000000160L },
  83409. { 0x10c813e987717bb9L,0xd9e1f5a8cfb9252aL,0x0983c1f7d7bde47cL,
  83410. 0x7446023b5474e52dL,0x1f189de81941b518L,0x1997c69bb425810aL,
  83411. 0xe15b5f1e58bca332L,0x715da4c949092985L,0x0000000000000076L } },
  83412. /* 3 << 455 */
  83413. { { 0x384e3f6f58451e49L,0xaeb80f831e31dd0dL,0x4533e3674b9d5a8dL,
  83414. 0x531d29f192c91343L,0x3ad61300badb78f7L,0x9430ca90b88c7e34L,
  83415. 0xb29faff5d04c4cb7L,0xd1d5172032b962a8L,0x0000000000000037L },
  83416. { 0x15e09965dec37027L,0xd2cb9e7ef367e0baL,0x64c02f1bee17c9d0L,
  83417. 0x64a78127eb7a74d4L,0x94bd3d97e2733ab3L,0xefbac0a22548d742L,
  83418. 0x1834dd09691ced31L,0x5cd623906f6cbf38L,0x0000000000000193L } },
  83419. /* 4 << 455 */
  83420. { { 0x3e5927537600c9f1L,0x115da68ae4653acaL,0xa83d3cdea21c03b3L,
  83421. 0x5821515780477c90L,0x876e0150c43df921L,0x176767d6410801f2L,
  83422. 0x95e1b6c9b0b638edL,0xcda8e401979e84c6L,0x000000000000001eL },
  83423. { 0x5500c69c85cb274fL,0x5f2d975bde004d59L,0xcd545d2aa005b4deL,
  83424. 0x4d3d02ae4e3b1b94L,0x53e64ccdb8ec522bL,0xacc3386f12efbb9eL,
  83425. 0xc8f529c21cbd540fL,0x8428942d2f854a91L,0x0000000000000182L } },
  83426. /* 5 << 455 */
  83427. { { 0x52ac93ab9d106cc0L,0x6ade3bb2a1a00a39L,0xa6de45cbfe378be1L,
  83428. 0x77ad40dcd0670c0dL,0xf86878493a2759c5L,0x483cea2b331d66d3L,
  83429. 0xbf7da5e30c0a8a8fL,0xb6ae584ae13ed38bL,0x000000000000011dL },
  83430. { 0x80e9d0a253710983L,0xf52a813a2499bdeeL,0x3abc9538b0a63f6fL,
  83431. 0x1abbdb5e88454852L,0x42562c99b16c6366L,0xb320389a1fe20061L,
  83432. 0x3dc5368a0aafe965L,0x22165cb8786c4c36L,0x00000000000001a0L } },
  83433. /* 6 << 455 */
  83434. { { 0x2cda398733430edbL,0x7f0593f8ee487eb9L,0xe458e275d8765895L,
  83435. 0x45c2e09311be3df5L,0x32545b1e51450f54L,0xf35bc1ee49d52cfaL,
  83436. 0x59b8b719da91cec2L,0x4426171bab7fe631L,0x0000000000000135L },
  83437. { 0x17c4e11ce00a5618L,0x7a6ff5b1fe8be941L,0x72e91c8c2c90c5d3L,
  83438. 0x9f45087980cfdf98L,0xb0d5d0d106ce62fbL,0xd9deb71557fa7188L,
  83439. 0xf1d09702ac85d50bL,0x65ab22b5a170e75eL,0x000000000000018cL } },
  83440. /* 7 << 455 */
  83441. { { 0x8dad33f0dc5d94abL,0xf4db966bfac13747L,0x8a77811c06e37e4eL,
  83442. 0xf9363ed30c3604e7L,0x90756e243ba7fce8L,0x3696963496b80bedL,
  83443. 0xee684c2077d60148L,0xa5c2fb34655054d6L,0x000000000000015bL },
  83444. { 0xc3add12d16926ab2L,0x05ec8eafff3a3fb8L,0x0d04206ee9427d91L,
  83445. 0xbeb4f190129e73b0L,0x17261339c4d688a5L,0x24dad00d6ed53db0L,
  83446. 0x2528c44d45319ea2L,0x934c89cf849c5440L,0x0000000000000018L } },
  83447. /* 8 << 455 */
  83448. { { 0x92c099d20bec2201L,0x364fa15ab67ff463L,0xfb32ffd0b02f7e0bL,
  83449. 0x5b57f9939d4c9f2aL,0xba5f437e4996b151L,0x961bd5fc431462e9L,
  83450. 0x1fda019fdcd39411L,0x8ff5288eccdfbe62L,0x00000000000000ddL },
  83451. { 0x43f49a318ef349acL,0xe4f5a626301bae8fL,0x945e6a62d2681847L,
  83452. 0x8ef66b51857c09beL,0xdaff64743f15435dL,0x215793cd3db84e5dL,
  83453. 0xb2044d4bab1bb6c2L,0x4c7ac000580855ceL,0x00000000000001b8L } },
  83454. /* 9 << 455 */
  83455. { { 0xa136b9c582159046L,0x140057f04c4ead62L,0x8ca6289ebc981d19L,
  83456. 0x4d649954c7decb99L,0xe5a5dd22865132baL,0x997c4359c0ac595dL,
  83457. 0x0de89fbab741c450L,0x88ff00d621eaec9cL,0x00000000000000c4L },
  83458. { 0x588c3562c9825937L,0x36715b023cee8780L,0x2a36c31fbc044ec4L,
  83459. 0x3122c43ddc1830c2L,0x502d3747d0ad0521L,0x0154ba8f1f2a32daL,
  83460. 0x81ba266bb3b79bb3L,0x20f1812f498a41f2L,0x00000000000001b3L } },
  83461. /* 10 << 455 */
  83462. { { 0x52bea9dbc2a1b7edL,0x7844cd85e0d786e2L,0x17168d7a4d565a2eL,
  83463. 0x1213c72b155affb4L,0x26a4857d606a308eL,0x6f0560d6b55b0018L,
  83464. 0x7c8549e874e1b9cdL,0x322ba0629deeec3dL,0x00000000000001cfL },
  83465. { 0x0a7016b8f59fd1d3L,0xa81ce2f8aeebdf96L,0x3ac89a8a0f7e145aL,
  83466. 0x3fe8a38d70351907L,0xa636fd48bf10697aL,0x4c0f860d7f93878cL,
  83467. 0x546e63f5957d25e3L,0x1fd01e4a1df8262aL,0x00000000000001baL } },
  83468. /* 11 << 455 */
  83469. { { 0x247a1ac087e07d2eL,0xb3ba31de267cec57L,0x70c28376dfdff923L,
  83470. 0xa5b0933e98010a4aL,0xe8a5384f36233cf8L,0x629f4df7bb8d7c34L,
  83471. 0x08d3ce1f86e72077L,0x42d10ace698660b6L,0x00000000000000bbL },
  83472. { 0xcb6f4d27db329183L,0x702ddbde1d7d2f87L,0x3b33b2b0efbfd731L,
  83473. 0xecbd887c8623c86dL,0x33cb70623a026857L,0x37e317913b7ed919L,
  83474. 0x51936c18079f2a15L,0x7118bad7bc8668cfL,0x000000000000002cL } },
  83475. /* 12 << 455 */
  83476. { { 0x37e766a6c64f9c9bL,0x6cf5e0b616c4ce5aL,0x31a2b1e27bbe708eL,
  83477. 0xf784a55291e24f0fL,0x1cdf807a1fd25709L,0x2669d80270ced72fL,
  83478. 0x79e4492dd49751dfL,0x7fe014d87e7f3162L,0x00000000000000b4L },
  83479. { 0xe0a2be33ada43f51L,0xbc88356945f6e16cL,0xb3d2248ec5873251L,
  83480. 0xd1118266e3f9b61fL,0xc427e30bf6d1dd12L,0x43f0925b0d8313a1L,
  83481. 0x729dfe2a39edf59dL,0x7189f5a4ff4b7293L,0x00000000000000b1L } },
  83482. /* 13 << 455 */
  83483. { { 0x39502a01368c3556L,0xb35130c9e9123869L,0xe3134618586c2e0fL,
  83484. 0xdd3442cf24f259d3L,0xf57c35ec40687844L,0xe90532e576f52793L,
  83485. 0x55fc2464359633b4L,0xcae06ebd1dbc4636L,0x00000000000000b1L },
  83486. { 0x5489517f5b600d27L,0xc219eb240984d56eL,0x7b016f7ed9384e65L,
  83487. 0xfb57337cb879d9a8L,0xb449a322baf2c015L,0x023817267f138634L,
  83488. 0x1368bf27c9b321fcL,0x6385cb06247247faL,0x0000000000000004L } },
  83489. /* 14 << 455 */
  83490. { { 0xe4ea02cf8f3110b8L,0xfed60231de50a1e9L,0x62bda5e80a8fe01aL,
  83491. 0x882f5313ade31339L,0x30102cb926f12837L,0xbbfcd761c1851e44L,
  83492. 0x6e1c5d2b073b2ae5L,0x1542324c357ad561L,0x00000000000000faL },
  83493. { 0xa8eac464c37d1a01L,0x8e5b465daeedd902L,0x7f7b68f5fdaf7257L,
  83494. 0xd88a2cf6b4badb28L,0xe0dfde89e4102b12L,0x9ed8dab7ab851c47L,
  83495. 0xbb44bd5db4865d1eL,0x0c6d69d57f2f666aL,0x000000000000004bL } },
  83496. /* 15 << 455 */
  83497. { { 0xf1db7612f8af29f4L,0x0da52d90eec6ab10L,0xd16bfb69b851b5f3L,
  83498. 0x8c660efa6c961596L,0x3f6f6951bea2c3ebL,0xfdf53cb06ee47dd0L,
  83499. 0x305e36d03805cb39L,0xb02da6181c1bebf2L,0x00000000000001b0L },
  83500. { 0xfefb61ddd5edce86L,0x2f7081225cd97a1eL,0x120d97f785787836L,
  83501. 0x10ba1b5da5c3f3feL,0xbf2320827474dcf2L,0x94f2cfe21431647cL,
  83502. 0xcf6e137c7d9e88bcL,0x77f6796bcb8d5d69L,0x00000000000001d0L } },
  83503. /* 16 << 455 */
  83504. { { 0x9fb0a0d27a2ae93eL,0x89c9dfa314d3224aL,0xe70f39ef1ec1ea92L,
  83505. 0x8c7c0024ad2dfd78L,0xc285ed1c3c5b7c09L,0xce6436d11fb27511L,
  83506. 0x65f427ade3d07577L,0x22ae30d26827554fL,0x00000000000001dbL },
  83507. { 0x35ab2a33fe772f97L,0xb26d3f9db6b12767L,0x0a55e68e6c9da0fcL,
  83508. 0xb481a8f865d2662bL,0xa670cb04ed1fc69aL,0x77e568a7f1c98c0cL,
  83509. 0x85c30516952db9e8L,0x8a4ea765f15c664aL,0x000000000000012aL } },
  83510. /* 17 << 455 */
  83511. { { 0x24b51a35aef7687cL,0x77bcd6cd1d943eabL,0xf969c9d01f866f56L,
  83512. 0xf7027c8e59f4f482L,0x1261f7e83e164d3cL,0x41ca85ec8188b6c7L,
  83513. 0x6958934e4e646b45L,0x26a31442b45b4318L,0x00000000000001a5L },
  83514. { 0xffa95fba76172fe7L,0x8f3bf348c7dfc41fL,0x7b47ee9d9a3249b5L,
  83515. 0x91b2331ee3041b11L,0xa8e47621c81d85ffL,0x69c6e66a7d34d69dL,
  83516. 0x746f8fa00228f5a7L,0x49b1ab297ad79030L,0x0000000000000117L } },
  83517. /* 18 << 455 */
  83518. { { 0x3346c5da3b8d5865L,0xf9e603778f785ca1L,0xcd7267d26d5dc885L,
  83519. 0x96ddf769d69ccfafL,0x2d6dbb25d9594959L,0xa04cb2836b6f3992L,
  83520. 0x1a525509f70ba665L,0xd92bb7dc62535572L,0x0000000000000089L },
  83521. { 0x11ced4d3d325263cL,0x7722335f67a97800L,0xc5a85f2dffdb96cbL,
  83522. 0x1f96d41972f44be4L,0xc1d49b3ab9261115L,0x0e5855b52419b535L,
  83523. 0xd30bc50e4ba83be2L,0xc32fc472bf33f0dcL,0x00000000000001eaL } },
  83524. /* 19 << 455 */
  83525. { { 0xd22d064fd55dd06cL,0x8c131707554e5c06L,0xd0834b1c5ab31d71L,
  83526. 0x068e97c08a8ec55dL,0xb354b9fbf2c24393L,0x68526695f43824caL,
  83527. 0xeca17949714f7eb9L,0x3bac155a28673581L,0x000000000000016bL },
  83528. { 0xd623a454e1405449L,0x6f6344968257e0a5L,0x48a6f559686924d4L,
  83529. 0x183eafd0b335dae6L,0xb0016fca611ff16dL,0x415cb8b78b736901L,
  83530. 0x5613c8cb24ce9cd5L,0x923c4567f82c8007L,0x00000000000001b3L } },
  83531. /* 20 << 455 */
  83532. { { 0x5c720be258ab3605L,0x2820c97e11919f9aL,0xa4bc44dbebae5562L,
  83533. 0x8d6d08d350fb9167L,0xde7d84ec8006e434L,0xb6e321bd9a42fff2L,
  83534. 0x70071b01de4127fdL,0xbb67a667f73c64a0L,0x000000000000013fL },
  83535. { 0xfb25e553f31d98b8L,0x70c787fbe10132d0L,0xf28de5cf258b7508L,
  83536. 0x709924fbf8b95916L,0x78ee0fef73060a42L,0x94eba1441ca70596L,
  83537. 0x1d9405604113ad0eL,0x6ebaeb9d5eb59b5eL,0x00000000000001deL } },
  83538. /* 21 << 455 */
  83539. { { 0x8f3c34038513ad8eL,0x23d1068ce02335e8L,0x4df15aa26c8c07faL,
  83540. 0xc8c79d63208b6e5cL,0x3baba1b5694025f4L,0x7537c5fcfc644cfdL,
  83541. 0x67a988643eddd726L,0x5e802190290837ccL,0x00000000000000faL },
  83542. { 0xc972581abbdecc67L,0x1d388e42d42df1edL,0xa36e26d73014b6bfL,
  83543. 0x68e7d409c17eb104L,0x1fba2f37c9bd416cL,0xa70c61d86280285eL,
  83544. 0x1cca0fba92a82faeL,0x6b7f1886957ab120L,0x0000000000000156L } },
  83545. /* 22 << 455 */
  83546. { { 0xd55a28a7dc10eb96L,0xad0d50f0b772c881L,0xe1574305f391a2ccL,
  83547. 0x0406799baf3c73f6L,0xadb82a35b80d865dL,0xc4aa10c63e74ddb2L,
  83548. 0x0f9fa673a31c89b4L,0x134b2949ab05eb58L,0x0000000000000101L },
  83549. { 0xd3718bcacd00f753L,0xa01c7f4c5581cdc6L,0x25e7432b8ae54a23L,
  83550. 0x9f1f4be4a8864359L,0x2578e281ba8918f6L,0x3df9ca3b8527e2adL,
  83551. 0xcf13344198b23373L,0x32ad0ce945d70a62L,0x000000000000010bL } },
  83552. /* 23 << 455 */
  83553. { { 0xebf15c12cd6df125L,0xf8742bede0c3bb09L,0x7400e7b42949e0acL,
  83554. 0x25ebe2a5b908bebcL,0x06c181ac9088df95L,0x17250bead541a8aaL,
  83555. 0x3b57a812cae85f6eL,0x675f0f006d47478dL,0x00000000000000dbL },
  83556. { 0xff41c2f7a425450dL,0x7e448c6ef6b5814aL,0xc18ac9561125f917L,
  83557. 0xc9b09818cf6dc728L,0x0ffb8f8ba74b6314L,0xbd600655ccdd3a35L,
  83558. 0x5abf65d02dc8b7d4L,0x3ab6cecdb06470ceL,0x00000000000001e7L } },
  83559. /* 24 << 455 */
  83560. { { 0x4fb8b429f594dbfeL,0xc57ec74f3702a306L,0xa88664eb38a5e224L,
  83561. 0x03bd2d507529c812L,0xb4890478fee034deL,0x77840108a3b354aeL,
  83562. 0xffb76cdc93f4eb36L,0x0c211ef043c4667aL,0x00000000000000eaL },
  83563. { 0xc3e39ee2336294afL,0xc13f4a278b47f0bdL,0x90c93312fe8d9430L,
  83564. 0x23e4f98c8899a8b5L,0x4e623a41007c34a9L,0x22f9e5d9bad91217L,
  83565. 0xdace8fffcc6f1916L,0x49cdd45f2be203b1L,0x0000000000000166L } },
  83566. /* 25 << 455 */
  83567. { { 0xd62f4e0bf838c030L,0x5ee8619eff5e4c04L,0x573f6322f2ae5f65L,
  83568. 0xf521755a815f196aL,0x52ddf3b992e013edL,0x9b1832f75789e543L,
  83569. 0xb79c173b1aa8ee89L,0x6387e6de7a2a6291L,0x0000000000000141L },
  83570. { 0x2851d4792e19982dL,0xb824811991e95866L,0x986123011f6a3323L,
  83571. 0xc3acf6105e17b5efL,0x3fc21269157bf97bL,0xacb8c9fe75aaf98aL,
  83572. 0x6b4d228c3c3bdfa3L,0x4baf44ceabe5622bL,0x0000000000000189L } },
  83573. /* 26 << 455 */
  83574. { { 0xa8228eb3494ec6d4L,0xf4c3f2df66e6036dL,0x4a0bcbe1987742cfL,
  83575. 0xc95b99a8e26fc56aL,0xc97d73eabc55ac05L,0x4ed64770e346b78aL,
  83576. 0x3be208dfff5ba2d8L,0xdd2b3048d9de7d1cL,0x0000000000000134L },
  83577. { 0xba1c047088c3bbb7L,0xec2a0e1b7a3f7f2dL,0x6714b1767a37c017L,
  83578. 0xf37978ebfca5dcd1L,0xe12941486fe75a3dL,0x563cb5467b5a6d85L,
  83579. 0x730a871ae6255730L,0x0526e4aa06b13c50L,0x00000000000000b0L } },
  83580. /* 27 << 455 */
  83581. { { 0xe6e5671391d9ff3dL,0xde573dad43ff0f2bL,0xff2b0f78ead1ef3aL,
  83582. 0x65d277c1a953c752L,0x86b27d0729c92783L,0x115d71bbaac092adL,
  83583. 0x49abda98f48e8e98L,0x4a8dd8b689b41f8eL,0x00000000000000e9L },
  83584. { 0x3cb6410a0ba5dbe6L,0x59714ff58f9c260aL,0x76c17272988b3f5fL,
  83585. 0x82cb77d8e171e7d7L,0x736ad952e19f1172L,0x4440cf6ffc6650a3L,
  83586. 0x1dedd658fd78e3b5L,0x44cf2b3b8e33297eL,0x00000000000001a4L } },
  83587. /* 28 << 455 */
  83588. { { 0x71eb9485fb8547b3L,0xaf1da3442e086ab2L,0x6dbd491639614d0cL,
  83589. 0x612a6ca365e06d5dL,0x2707f1b2e07c53ffL,0x790f26d549783b98L,
  83590. 0xa940f16e94bad8e8L,0x2e1a7bcadb6ca03aL,0x00000000000000b6L },
  83591. { 0x3546c7ffccafca6bL,0x63272d70e14ce7d3L,0x27bf1e92de8a95b7L,
  83592. 0xa8f658b4e40923ffL,0xe7e7d90319aaa4c2L,0x31419704616938f0L,
  83593. 0x60badb4c73607bafL,0xf5a8c9f71a7f8968L,0x000000000000009eL } },
  83594. /* 29 << 455 */
  83595. { { 0xe8a1be53f7cf8076L,0x835d75075ed17febL,0xdd4e7d82a137d007L,
  83596. 0x034b4a4ebec4128cL,0x97a6e77869848477L,0xf5f497447b7cd22eL,
  83597. 0x7ebcd6f2e4ae90c3L,0x639a23d313d1fe20L,0x000000000000009cL },
  83598. { 0x63a94a750b5a12eaL,0x5ed1316535a18dbeL,0x108f40b1250766a5L,
  83599. 0x0699fd0f3be758a6L,0xef0651edf555cef4L,0xc7cddb0991e0d002L,
  83600. 0xd812e01ecc15cb77L,0x45a3ead3ae02880cL,0x000000000000016eL } },
  83601. /* 30 << 455 */
  83602. { { 0xd958953f38053cfeL,0xd0dca4087982a66eL,0xd1e7e8ffedf296d7L,
  83603. 0x89403f2546c71095L,0xf9dd442a2197e27eL,0x04c09109a1856828L,
  83604. 0xe0f10851c30471fcL,0x9845881cc5fbddfdL,0x0000000000000024L },
  83605. { 0x296b2075de6d1a79L,0x31700b8125baf333L,0x7eacd4191e723113L,
  83606. 0xe296b9124dd7b2f2L,0xec4a609c3284a3d7L,0x20d5b58c0edcd7dfL,
  83607. 0x4ae17e8562a0a946L,0x05db3034acd03e7bL,0x0000000000000037L } },
  83608. /* 31 << 455 */
  83609. { { 0xe117f7c6c77ec006L,0x52aa819720d4293eL,0xa513494e12cb1789L,
  83610. 0x6bc91133c8458cfaL,0xef421ded0667ad04L,0x383dbeb1edea9c8cL,
  83611. 0xd47d49b59db7b079L,0xa39d6cb4a990d3b3L,0x000000000000013fL },
  83612. { 0xc7d38b61e69c3f9aL,0x851ecd8f6b0830b7L,0x8a4086e71e5c2abeL,
  83613. 0x3a717b444f21af8cL,0x15b162ef29f03bd4L,0x046ebf9d8bff7773L,
  83614. 0xdaf386f8c226205fL,0x3b6c08c60f50c5c5L,0x0000000000000098L } },
  83615. /* 32 << 455 */
  83616. { { 0x6ad03106c4dd900cL,0x8227fb5d7ca08923L,0x2e3c1e7f863ba5d9L,
  83617. 0x5f76d6bfb5be20d0L,0x841dc1d29492569aL,0xfda5b20e47e0dc0dL,
  83618. 0x65aba1062d720dc5L,0x9eab8ffb03e6765eL,0x0000000000000046L },
  83619. { 0x32d92252497da0c6L,0xa2d4c8b1beb7b1f1L,0xede29968f01c7409L,
  83620. 0xad902eb5da06607fL,0x2c60236c5c1e7d9eL,0x51f51ddd17a3b1f0L,
  83621. 0xb71b393f40ab7cb8L,0x710fc9f9a16ac6bdL,0x00000000000001ccL } },
  83622. /* 33 << 455 */
  83623. { { 0x17a9f511c817a522L,0x43a3b550007aece4L,0x96a038d0c081e0b5L,
  83624. 0xbe555f9fabc7c9fbL,0x3d97da9bd3f2d813L,0x924e5ed26daa6206L,
  83625. 0x6060389e149fdfb2L,0x63405c57e663161fL,0x000000000000012cL },
  83626. { 0x1d535749a4996c62L,0x154d702fb7d9b367L,0x0683f9a7958437ecL,
  83627. 0xed90375c67c11730L,0x25ec469479487577L,0x63d81f9ff945815dL,
  83628. 0x62fa26f1ad0df408L,0x443de5eb41432e39L,0x00000000000000a0L } },
  83629. /* 34 << 455 */
  83630. { { 0x9a7ae6cf1937fbdfL,0xe520bc25b3b127d6L,0xbecbb9ad3f934c09L,
  83631. 0x4eea4a4bad3dfdb0L,0x44a3e5454d6092d7L,0x79f2a6084b131c63L,
  83632. 0xacdc5157338e48b2L,0x5895180b31633996L,0x0000000000000034L },
  83633. { 0x53d6e9a967add219L,0xdbda58e57a0acb39L,0x2beb62a9a501e4fcL,
  83634. 0x09ae642eb8bcd189L,0xd99bd74cd3070382L,0x818602ea5fa033d6L,
  83635. 0x2c7a8b66bd6174efL,0xc528911ad73d7039L,0x0000000000000107L } },
  83636. /* 35 << 455 */
  83637. { { 0xb097a9c2f6574536L,0x01dfb1ead319bb2eL,0x919b41fd10b8126cL,
  83638. 0xd387f3fadafc4fccL,0xf07fe9237b4b8b0dL,0xaca2f681bfdbb170L,
  83639. 0x2e229073a14a8bbcL,0x1e583333a004c3e1L,0x0000000000000121L },
  83640. { 0xe9c44b5713153005L,0x74f67017e0319549L,0x893b54f0aaafa8d1L,
  83641. 0x61f414ef72b64577L,0xebe1f4aa89e38aecL,0xeebee7400152e2c0L,
  83642. 0x63822c46e22b96e1L,0x8145b880f9e04ea4L,0x00000000000001f6L } },
  83643. /* 36 << 455 */
  83644. { { 0x70f229cbb6f71f93L,0x527c300f096b2a6dL,0x7eb15fc35d2b2a1eL,
  83645. 0x073037886bf3f2b3L,0x09f662c4d861d407L,0xd56f054e95f869cbL,
  83646. 0x2bff96ccdb9ac292L,0xee2d64d25e9b133dL,0x000000000000014fL },
  83647. { 0x5369672b2305675fL,0xeeee27df7c52d654L,0x3e3f0183901109b6L,
  83648. 0xf71689afd656a411L,0x7c3d84abc38b5e62L,0xcea0ef8521a746b3L,
  83649. 0xc5bcfd6af0d2c28aL,0x90cb94f6898a7fa9L,0x00000000000001c9L } },
  83650. /* 37 << 455 */
  83651. { { 0xaba2f77640133b1aL,0x9114351127a6fef9L,0x31687b81884480c7L,
  83652. 0x6c7052c84c380de0L,0x7dfebacf0c44050dL,0x29a6e20b301d0518L,
  83653. 0x83f7b2ef05e760cfL,0xa7761fa0e4c7bda3L,0x00000000000001f3L },
  83654. { 0x5e81cf8f5f22a316L,0x0eb5cd7a5b6e2718L,0x311f1e41a7c3b19fL,
  83655. 0xfc878ca8e0c1b8adL,0x9ba4b865dce88c89L,0x42170861e7a6c11dL,
  83656. 0xc302bd176a3c551eL,0x981f282f0b95bda8L,0x00000000000001c5L } },
  83657. /* 38 << 455 */
  83658. { { 0x45e81509e8e44c3bL,0xb45241a79f5ecaa8L,0x07e66b9bb2dcacc3L,
  83659. 0x40043c9c19768addL,0xbc8029652dd99cf9L,0xfab3cdfb005a5e9eL,
  83660. 0x36e1d42bed774e95L,0x76967c78d3e4bd9aL,0x000000000000002bL },
  83661. { 0xfbae6c36ce44de1aL,0x0fc8f7010721ad16L,0xde6105a31dd0cfc6L,
  83662. 0xb7a3f2c209ad74b6L,0x516e7cf8fcf82cecL,0xd836e0e6b5552158L,
  83663. 0x3eb895880579b9dfL,0x2fc2edd075f65cb0L,0x000000000000005fL } },
  83664. /* 39 << 455 */
  83665. { { 0x209fd86fc4137737L,0x34bf527b978a68f4L,0x567eb20b0524f6b9L,
  83666. 0x86c410e79eea1c80L,0x97dee397954cc697L,0xc18b5bd59a84dd36L,
  83667. 0x2a2da3a7ee023a11L,0x86a285102dbc351bL,0x0000000000000093L },
  83668. { 0xfbcf67f59f2e22b7L,0xfd1c4381e2309b87L,0x70afab784b2ef658L,
  83669. 0x97e54cad9d17cb2fL,0xb0c6b4df35aa6422L,0x83fa36a31237f048L,
  83670. 0x9ad8104a331e9c53L,0x8bb00b123d97ab25L,0x00000000000001b4L } },
  83671. /* 40 << 455 */
  83672. { { 0x918afde6dd0f65e6L,0x667ac91da60ee85fL,0x0b1a2ad0f5ff339dL,
  83673. 0x3a6125964b0cfab3L,0xaa581d090d017c03L,0xbeddacc0fb5e501cL,
  83674. 0x55b8408587c6b6c1L,0x00f407609e6153d0L,0x000000000000010fL },
  83675. { 0x205043e2c8e8cb57L,0x3d3727c5823a3034L,0x23370101d9e5df15L,
  83676. 0xf731c40fc5114c53L,0x8e75d60430a82cc0L,0xd37ccfb8121c66f7L,
  83677. 0xedf7a2a6c8593bd5L,0xbbf51d6535e1fb10L,0x00000000000001deL } },
  83678. /* 41 << 455 */
  83679. { { 0xa17bb177dc0e1ef8L,0xf584de3446ed722bL,0x4b0603607255afe5L,
  83680. 0x6d3f576ca596d508L,0x48631ef184744e19L,0xd46c50ad0ef56fe3L,
  83681. 0x6ddb4398ea9feb8dL,0x5657e597d644bcb2L,0x000000000000005eL },
  83682. { 0x70c62c4674ceb129L,0xaa4fb4f7f7dc52e2L,0x0d4c8ffe05ec9b3cL,
  83683. 0x99df5287e6ec0a63L,0x3113604225242ecdL,0xcd6a183fe5a9f9d5L,
  83684. 0xd637a75ce46032a7L,0x3d1a48b60ab918b9L,0x000000000000003bL } },
  83685. /* 42 << 455 */
  83686. { { 0xc171893ab62f6307L,0x79d5af9085ab06e0L,0x9c3679f3599351c4L,
  83687. 0x736031906d60ff6eL,0x2c98c205c5148a73L,0xe81ca4cb9f935ffbL,
  83688. 0x5101448879df55ceL,0x10d3424ab4c0e674L,0x000000000000014dL },
  83689. { 0x00aeb5cbe469eef0L,0x07c01cfc0f37d3e4L,0x4e267bc688ced992L,
  83690. 0x237d6f19027453a6L,0x6ce9a46ca02dff38L,0xb48c2de3e9b59a51L,
  83691. 0xf35d0e66ddf74ad1L,0x86f7437185cd3698L,0x000000000000000aL } },
  83692. /* 43 << 455 */
  83693. { { 0x263bf75377aee0e3L,0x5b295858c1eedb82L,0x5331a56b952329a5L,
  83694. 0x48a0796cf6a59c36L,0xe85f29551b055becL,0xf93e92e2d0dbccc0L,
  83695. 0x3ef186a50aa5763aL,0xb29991763e1eaa92L,0x0000000000000038L },
  83696. { 0xf79fdc4de38ccabaL,0xe7b0c6558caf6844L,0x296cce34714fcdd3L,
  83697. 0x1a48345621cfec87L,0x2a8312d2358e9594L,0x610e6381a0afd4dfL,
  83698. 0x89e6492a8e1029e6L,0x21374b02a785d5a7L,0x000000000000015dL } },
  83699. /* 44 << 455 */
  83700. { { 0x2861a30eb68c0635L,0xc2129da0128d086cL,0x71851e3d95fb00d8L,
  83701. 0x6be824592c8800ceL,0x5521a722ce3a6551L,0x695af21cf0572143L,
  83702. 0x1b01ba0f9a2b9d06L,0xc7a637ebc61d4109L,0x0000000000000176L },
  83703. { 0xde540faa89107147L,0xa69764f80cc6d6dcL,0x81569f23de0c90d9L,
  83704. 0x517113424a2222f3L,0x0c490876bbbe9e08L,0xb218ae1da3475159L,
  83705. 0x0eadae96c8e51833L,0x7993eb897570ca6fL,0x0000000000000003L } },
  83706. /* 45 << 455 */
  83707. { { 0xe9d8cf2d8785a41cL,0x36959f1c8d4f1dcaL,0xb0f16556f44c8f0cL,
  83708. 0xf788aaac699f6e69L,0x8abb277294c578f9L,0x8c38c394dfc06c9eL,
  83709. 0xdfafe95575442f3cL,0x2d9e16378435de99L,0x000000000000007dL },
  83710. { 0x774db458e4ef85edL,0x198e3637ea0e6694L,0xa5e77830e40e988aL,
  83711. 0x180c3b5b74b081e6L,0xa39ebb6fe5bc23f9L,0x5c98492369c1387bL,
  83712. 0x0d9d7416587975baL,0x424b5201488c1367L,0x00000000000001ecL } },
  83713. /* 46 << 455 */
  83714. { { 0xff5a55c214efd7e6L,0x1adca75e365a094dL,0xafa2b130605e96adL,
  83715. 0x4aaf11849898ced8L,0x5599ad68f50c7414L,0x94be391326bd2eabL,
  83716. 0x54ec8fa2f0cb23abL,0xf5920c89b6d8b96dL,0x000000000000012fL },
  83717. { 0x017d7945611261a3L,0x542c34269a3b84e9L,0xe2f9e3b19aa43757L,
  83718. 0x75f2e88847f67da4L,0x64eb39e58eeee318L,0xdd8fb1eab23b0d46L,
  83719. 0x0971767d60e07045L,0xf8c25ba53967eedfL,0x0000000000000036L } },
  83720. /* 47 << 455 */
  83721. { { 0x7ac23ed5462ca57aL,0x859f1e17b839657cL,0xfd9e2e325a5e48a8L,
  83722. 0x45bbd738aeeb1b7aL,0x1786362c8e2b75c2L,0xcb5a7415854623e0L,
  83723. 0x1b71ca28e753b2d4L,0x92dfa281fb021727L,0x0000000000000070L },
  83724. { 0x0af516c1c9ffa091L,0x42980007ddbf8d4fL,0x3a9df51f9a67fae2L,
  83725. 0xa984f61c8383e456L,0x6eba62bcde9db2f5L,0x612efdba5b905e6cL,
  83726. 0xfe1e383995aae128L,0x75a64613ed632571L,0x0000000000000015L } },
  83727. /* 48 << 455 */
  83728. { { 0x2ada7940334d380eL,0x02f067bd7076d98fL,0xbe6af9ceb6975322L,
  83729. 0x1d145ee3dc8fec6aL,0xa222be87758076e9L,0x1a8e5d43b84e9fedL,
  83730. 0x137692d4ddf34cbbL,0x6dfdb9297eae4ae1L,0x00000000000001d2L },
  83731. { 0x7e231c00d1551943L,0xcc44391628a2f7e0L,0xeecf6cb476040912L,
  83732. 0x6d4c14e8be5a22d9L,0xf90d649d3282241dL,0xb5419dc2e561a554L,
  83733. 0x4b69138e82ab84efL,0x5224b9b561afd072L,0x00000000000000adL } },
  83734. /* 49 << 455 */
  83735. { { 0xce08fcf6d04171b8L,0x4470ba5dab720d25L,0x2e7666ad5071f025L,
  83736. 0x15f9107c0490cfbfL,0x03786dfbf7edec5aL,0xa3ab26f2371f6194L,
  83737. 0x665c2e17943af89cL,0x181c21f31c3493cfL,0x00000000000000a3L },
  83738. { 0x9a689ec87ca04084L,0xbc10f3e5a1b7ad4fL,0x3848a05d0e4629c1L,
  83739. 0x5d1524e1594465a3L,0xe73e3208939b6dfeL,0x394cab75dcea7042L,
  83740. 0x4e6325fcf6c3716fL,0x68a3e3ed7796be72L,0x0000000000000176L } },
  83741. /* 50 << 455 */
  83742. { { 0x599cd0ec19878894L,0xe7143cbef201ce5eL,0x10da3714a5fb9cf7L,
  83743. 0x1c9122b2773764c3L,0x4635467e2027dfaaL,0x891a7d9dcd55ed99L,
  83744. 0xf343aec526f12cdaL,0x12c08f3a438e2784L,0x0000000000000179L },
  83745. { 0x8e2ef2fe5bae4783L,0x9d7cef170232cbbaL,0x083db67c52253a59L,
  83746. 0x37e59d4263da345dL,0xa8e574ea3d0d079cL,0x86ef4870a66d7cc2L,
  83747. 0xe52c34274734a3c0L,0xbb6fbdb41bcd144dL,0x00000000000001d3L } },
  83748. /* 51 << 455 */
  83749. { { 0xa00168b412379ad3L,0xa2868b5b4a48c0e5L,0x3e403c86504a9c17L,
  83750. 0x75b6907209543de1L,0xb75b42c499043a93L,0xa2e009d45e566fb8L,
  83751. 0x11d754e0a583b69dL,0xbe0fa1b4de63df49L,0x000000000000015aL },
  83752. { 0x612814a12c6aae03L,0x408b7372915e29d1L,0x61f61e12e73428dcL,
  83753. 0x2085d678f7e77717L,0xb1029211f963b36cL,0x25bd69c89327c6e2L,
  83754. 0x7dd7d1a1c981dcbaL,0x2d539c7ce37c6a61L,0x0000000000000022L } },
  83755. /* 52 << 455 */
  83756. { { 0x8d21680e0728f4ffL,0xf7fcafebd3f8ff89L,0xd2d0f396fc6b6546L,
  83757. 0x8cf7d514e633a609L,0xeec1ab0faa3e51acL,0x0a48bf23f0f80226L,
  83758. 0x4cac2e1fc760431cL,0xcfdea2348ed7cb1aL,0x00000000000000d1L },
  83759. { 0xe9f93bca5750470cL,0x152b0ce438fc7e24L,0x1ef36c9ed4a355beL,
  83760. 0x749ecc7dc9cca53dL,0x4ef6355437f7c108L,0xd52c4ba48aedf964L,
  83761. 0x8b7ea74c64626574L,0x932ea2a11b2b87f5L,0x0000000000000164L } },
  83762. /* 53 << 455 */
  83763. { { 0x9ff3327685f612fdL,0xdf4f0b6dc3c52e70L,0xa1a1e4a964bb28a6L,
  83764. 0x36d03f2ef1d7d1c3L,0x713fb6f44ae93407L,0x0c2663100ec30593L,
  83765. 0x66aca9e329b5d9c3L,0x7d37a8fc0a1def97L,0x000000000000000cL },
  83766. { 0x98796288fb425696L,0xff1a6d29cfefe3a4L,0xcfa5943801fd64baL,
  83767. 0x6a4024ce28438b13L,0x7f2c7ef6301c73c1L,0x5157f61082d44729L,
  83768. 0x9cba0eb974e95fbaL,0x2af6f3c9da31cc7eL,0x0000000000000164L } },
  83769. /* 54 << 455 */
  83770. { { 0xff6f5774e9c6175cL,0xb2021f132c173fc7L,0xc83a71f46216e5f5L,
  83771. 0x92cdfd754c193206L,0xde732cde4d22b91bL,0x4cc370e5d7a01b58L,
  83772. 0xbfa177b448ea185eL,0xbf12228870f5f0acL,0x000000000000017bL },
  83773. { 0xd724f42f8316c8efL,0x6905c0c0ac459200L,0xab0cbe91dbc7be67L,
  83774. 0xf06b9cbae5fef79aL,0xd7a0f1a2cb237962L,0xf69b237bb47d05aeL,
  83775. 0x8a81d536c2c53527L,0x51225080b0f26302L,0x00000000000001d5L } },
  83776. /* 55 << 455 */
  83777. { { 0xfea9cc0820d402a1L,0x509a70ebc76080f2L,0x7580e94558aa7d0fL,
  83778. 0x6471e00c8d610043L,0xf7c55c9f0fb867ecL,0x7d6d03dd6b89866dL,
  83779. 0x3fc18d3420c4eff8L,0xe3dbea145d1d2313L,0x0000000000000179L },
  83780. { 0xb2c10b3c736797f4L,0x9c095e9dd5fb62feL,0x743ddb07edfd0c2eL,
  83781. 0xa8800366fa8d5851L,0x29347e8eb6cfa213L,0x42ad89046c7c633dL,
  83782. 0xed00235329db442aL,0xad54d66623a2dc5bL,0x000000000000003aL } },
  83783. /* 56 << 455 */
  83784. { { 0x2ebae39103bd7a6fL,0x13ff72a0140373b3L,0xa5b141a530872b9cL,
  83785. 0x61ac67b5d9c814ceL,0x6e6ab6920438b9b0L,0x6f4aa29364f88c78L,
  83786. 0x72d11944e9552beeL,0x7d9f109277e33318L,0x0000000000000054L },
  83787. { 0x1c5268b29acfdd22L,0x228c8fc024fac5bbL,0x016752ec0ec7ed62L,
  83788. 0xd8ef13a7b5a87ec9L,0x9bc2ae729b4b08cbL,0xd893fd89557487eeL,
  83789. 0xafa93167c5392bc1L,0xd9c4fb99ab6145d8L,0x000000000000005eL } },
  83790. /* 57 << 455 */
  83791. { { 0x1149336e72ac95d1L,0x4c91f13b36a6036bL,0x225902f97996e931L,
  83792. 0xc909dad12d1a49cbL,0xa04dd8823e602465L,0xaa74cf8f81ad983bL,
  83793. 0x763f241dc0602498L,0x01e44d072ee437faL,0x00000000000000a4L },
  83794. { 0xb3db828d8f95d8d9L,0xe9b27a3e4450b812L,0x52d0967e11b19723L,
  83795. 0xbd50c86ce35c5c80L,0xdb536850b0b1f3efL,0xf5ac19c371efd402L,
  83796. 0x54bef49e59cd819bL,0x290ad09a7465ee11L,0x0000000000000082L } },
  83797. /* 58 << 455 */
  83798. { { 0x8c81d20117796415L,0x96df8961a41a5c87L,0x2f683ed593038a8eL,
  83799. 0x716a79c9ed5e731fL,0xe68ef96066ac1e81L,0xc9bebccec524da56L,
  83800. 0xf4b5d4a9177bbe84L,0x6ce36c9ce6186b68L,0x000000000000014eL },
  83801. { 0x161dc2e2883dff67L,0x51307f27eb431a89L,0xde5d4eb546e62c45L,
  83802. 0x8fe6dd46e534d7ccL,0x36425cca2c53c201L,0x415b963968c204e7L,
  83803. 0x89e7bdcd9f23732dL,0xfe64f5cfe68f1042L,0x0000000000000173L } },
  83804. /* 59 << 455 */
  83805. { { 0x5435603769b30790L,0x51ed00912f5b77d6L,0x6b54b15b131a7282L,
  83806. 0x211ad378cbd36a8cL,0x34c16f4bed3eecbbL,0xc24f076bd9171627L,
  83807. 0xd886847908657939L,0x244ec1baafebdba7L,0x0000000000000192L },
  83808. { 0x1b800e47fd724355L,0xcaa24c65dcc4bcf3L,0xeaa8571a7e3df4ecL,
  83809. 0x2dcdbb0c5958fc6eL,0x2b1576b4cdd587e0L,0xf4e38c6cf3704941L,
  83810. 0xe8e9bc2cc74de3a0L,0xd8594532fa4c5a2dL,0x00000000000000c7L } },
  83811. /* 60 << 455 */
  83812. { { 0x1a2de621d3f97283L,0x6490069191ca7921L,0x8ccc97d8fc69ccc1L,
  83813. 0xae42e47f82a38371L,0x6903459a7e1d913eL,0x195ce6e4a78938d8L,
  83814. 0x166416eb2712a0d2L,0xfc643243186b4b06L,0x000000000000019bL },
  83815. { 0xd54ca42aeee3a04dL,0x2d541413d5efca8eL,0x49115fe689fbe015L,
  83816. 0xbf27d2678dd0851dL,0xbe50e034bc0281a7L,0x3f4e7ff1ca2d692dL,
  83817. 0xd14dce191ca3c7b1L,0x27f9941a395f0b98L,0x00000000000001b4L } },
  83818. /* 61 << 455 */
  83819. { { 0xeef667b0e59502baL,0x7004ebb230c2dc42L,0x7dde5dc19816002fL,
  83820. 0xcabedadd130cdbe2L,0xd3e313886b61a332L,0x9361770331e77c39L,
  83821. 0xe152f854d2e9a54cL,0xf692b0e0409b7761L,0x000000000000006bL },
  83822. { 0xcdf2a769675db132L,0x9cf60fb4c021c4b5L,0x85ae29ccc6f8ab53L,
  83823. 0x3f2604555d8ba929L,0xf12440613a526ab4L,0x07f6786582d7e4a0L,
  83824. 0x1ee6dc4a196b3b01L,0x63d990fbfe1ddb4fL,0x00000000000000a2L } },
  83825. /* 62 << 455 */
  83826. { { 0x1582b86eb4498ac2L,0xf11f80e2ee605f5fL,0xb7c8dc4e60dcd7f9L,
  83827. 0x2a06825b4b80356fL,0x41bb0da77e959943L,0xc0d5e398b4590db2L,
  83828. 0xcb3232f28756eab9L,0x9d4ceef76e88c536L,0x00000000000001e5L },
  83829. { 0x73935b8f4dcbc4afL,0x5695ec670d9f27f0L,0x53a03172d530386bL,
  83830. 0x51b1e293a6e98f81L,0x1ad5c0e0dc3e5b39L,0xa5414a2128acb62bL,
  83831. 0x96a450f791d1f852L,0x398f2a08aa5db342L,0x000000000000014bL } },
  83832. /* 63 << 455 */
  83833. { { 0x25e1f974e7957ba7L,0x2926ba4a36f165afL,0x92eada47e14be343L,
  83834. 0xc7acd9f7d2eb5160L,0xf2f1c7004a2f58e3L,0x991e3726c2d83bf9L,
  83835. 0x3526d6bb8b367f2aL,0xad87a25e2365148fL,0x000000000000010aL },
  83836. { 0x04bb40a8f2902a8cL,0x69316b4a004e47eeL,0xaf8f683e1259c9dbL,
  83837. 0x36f36eff9ce6b2c9L,0x061325ecb4327f6fL,0x4d8a6a22ba5f20a6L,
  83838. 0x7ac29df33e3eab51L,0x0cb65295d4063ef3L,0x000000000000009dL } },
  83839. /* 64 << 455 */
  83840. { { 0x8a3e381ccdcd741bL,0x2c5acc0b14e8f964L,0x209d040429621441L,
  83841. 0xd27a65cb2995c3b4L,0x3a776ff06ec13968L,0xa2d95ca7db4f8a0bL,
  83842. 0xfdbc547d6c04ea3bL,0x30ba75a8db40f58cL,0x00000000000001adL },
  83843. { 0xf6406a6b84115d90L,0x7d2e26ac0f228b65L,0x1e17672b9029a8abL,
  83844. 0xeaa84d813ecf05fbL,0x9e16e91db5f5b798L,0x7287dbd5e978749dL,
  83845. 0x85880f457fe092aaL,0x80b3126c514afdcaL,0x00000000000000e0L } },
  83846. /* 0 << 462 */
  83847. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  83848. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  83849. /* 1 << 462 */
  83850. { { 0xadbf4f9faf2ed12fL,0xce1d19e4f380fd8aL,0x0957bdb5a39e81aeL,
  83851. 0xf9833321626ef6bcL,0x110ae5ea0cf5b28dL,0xab15945020392cd4L,
  83852. 0x67c498876bc67855L,0xce7e5938a3fd61c6L,0x000000000000004aL },
  83853. { 0x59c5b9ef28c7dea9L,0xd02f95ba0a6a7184L,0x034dc2578202769cL,
  83854. 0x213b0b0894dd6896L,0x03730b7fb5dea95aL,0xfe243ed0617ca889L,
  83855. 0x16cf4d17fb1ba052L,0xd8691d6b226f96daL,0x00000000000001c0L } },
  83856. /* 2 << 462 */
  83857. { { 0x15a257c527a668abL,0xa437f499c920d8dfL,0x297b6764d4cd271aL,
  83858. 0xcbedd33b87ce8d52L,0x4ab3b76110385c75L,0xca68612323436b58L,
  83859. 0x44d5a94d8d52f4e5L,0xd125e021605bba0eL,0x000000000000001eL },
  83860. { 0x578cd28335e40c74L,0x898f4684244ea58eL,0x158ae785154fc334L,
  83861. 0x466c1c29d8d62231L,0xef781790c48b1013L,0x7a902e83c3253275L,
  83862. 0xd0aab751b1aeae85L,0x89248d120ecd9b0eL,0x00000000000000e7L } },
  83863. /* 3 << 462 */
  83864. { { 0x92e5bc5c8c7671dcL,0x0eda1a20215e6b5fL,0x158462923104e97dL,
  83865. 0xd0513d5868bfd00cL,0x3439d9cdbd88796aL,0xb3d0c7919ec37b3dL,
  83866. 0x8e0ac88900c49d4fL,0x3ee90cb4441e1f08L,0x0000000000000079L },
  83867. { 0x24c36d60fe7e66eeL,0xff0aae245f990abbL,0x78308e0d041b19c4L,
  83868. 0xecaa1b05c7ed7c0eL,0xd1d45e1cd86c1272L,0xff74e3e91b7ddd34L,
  83869. 0x17b6d9984948d333L,0x1d2c2bae12ead07aL,0x00000000000000c2L } },
  83870. /* 4 << 462 */
  83871. { { 0xe12d8922cd5f918fL,0xec7c176349f73f1bL,0xcc5a3a14c744eb3dL,
  83872. 0x2b96f342782dbda1L,0x87284905ab68dde4L,0x647354b9e720668aL,
  83873. 0xe07da694739c4393L,0xbae499bf2cc145f9L,0x00000000000001aeL },
  83874. { 0x74eeeaa477c16db0L,0x297624e8eb22ce92L,0x9d3944bc45098c91L,
  83875. 0x6ff31fa0fa4dc50cL,0x3c7fb6dacc40c211L,0x74d95dec96b4cd1cL,
  83876. 0x829423dba6388941L,0xaa2b7d45fc3123b5L,0x0000000000000119L } },
  83877. /* 5 << 462 */
  83878. { { 0x90a1a0ec3f49a005L,0xacb7506b94508ef3L,0x3e44866b8af044beL,
  83879. 0x00240490deda67cdL,0x88a83372b773399aL,0x84c5c9ab2969b007L,
  83880. 0x9fab80da8cc3eb59L,0x55b3ceef0472347bL,0x00000000000001b7L },
  83881. { 0x886acce0c83ffd24L,0xcba2aa08a61f2f61L,0xf4ff7cecbc7ab151L,
  83882. 0xc825c0ae23a23bb1L,0x4bbe707cd3b316b7L,0xcab4a987ca9bbd00L,
  83883. 0x4cb9d017a4741041L,0x3e5014b4718db768L,0x00000000000000b1L } },
  83884. /* 6 << 462 */
  83885. { { 0x3f614850400ed29aL,0x6ff097c0d252cdb3L,0xafbeb6cb589c3201L,
  83886. 0x0f900ae78d3782d5L,0x69902554ce4bfee8L,0x91d1ce3e51965228L,
  83887. 0x61c93b4ae8630088L,0x066dbdd793d1c0beL,0x00000000000001adL },
  83888. { 0xf65ac289fc255d76L,0x1ad9d35d122e0cd0L,0x3b29d3fe4f08dde9L,
  83889. 0xa1a3a083d1829c0eL,0xc7500da1469b3ce2L,0x8cba6c9931ea259dL,
  83890. 0x6724d90dc78af820L,0x0be3b075170d6e15L,0x00000000000000dfL } },
  83891. /* 7 << 462 */
  83892. { { 0x108c69d8ffdb2cdfL,0x95008e039022f9dcL,0x9206904662c29258L,
  83893. 0xc388264486233b0bL,0x79862fb5f196c059L,0xe47b071f515c7d8bL,
  83894. 0x019d7c9a96ef0fb7L,0xef99e754d21aa1a0L,0x0000000000000068L },
  83895. { 0xfb114e4348013bcfL,0xd510664864739742L,0x4a4f811b623625f2L,
  83896. 0x7f36f16b9c64ea5fL,0xe829e645bd173948L,0xfde730475af3200aL,
  83897. 0x8bbe62cffc337d06L,0x98549a55c985b1aeL,0x00000000000001b7L } },
  83898. /* 8 << 462 */
  83899. { { 0x404216db33849ba6L,0x7979ab027b42813fL,0xb0cabf29117e27aaL,
  83900. 0x3e449cb65a0ab76dL,0x34efba77460b6964L,0x7553e0a66fead00bL,
  83901. 0x8ac8857116963cf0L,0x01716cbe017ad9d1L,0x00000000000001f8L },
  83902. { 0x30cfe5c1d21fbd36L,0xc7a0e466df1fe3b4L,0xca38fd1cc8ea2c29L,
  83903. 0xde2e20394e54630fL,0x3b152ec3885b124fL,0x704a1d76d39818c8L,
  83904. 0x0e74a9825207d2c2L,0x2b2dc7c8ec4d71a5L,0x00000000000001f8L } },
  83905. /* 9 << 462 */
  83906. { { 0x4e5c2656a20ee12dL,0xc4beb2bbf38239bdL,0x8911466401e32b71L,
  83907. 0x9282668c52808f4bL,0x99825c89586715f7L,0x73e4d0b0f6760accL,
  83908. 0xf24743d27956e8dbL,0x219289ab9074bb3bL,0x0000000000000147L },
  83909. { 0x0ce42484e18d70c0L,0x865b0a12ed9a8b42L,0xe9e2c3a206e2060dL,
  83910. 0x11ad93e462d02433L,0xf9faceca382d0deaL,0x13fdae7bc2f70442L,
  83911. 0xd5ecf82693862d21L,0x3286fd7361440676L,0x00000000000000d1L } },
  83912. /* 10 << 462 */
  83913. { { 0x9059c13b115d7186L,0x42c5cbffaee2253fL,0xb326c80627914590L,
  83914. 0xd78cd2604c197c2eL,0x076b4d3c84d14e78L,0xc75fba4cbe666d35L,
  83915. 0xe564935922126692L,0x62773e9a1d415c9aL,0x0000000000000144L },
  83916. { 0x39518f5ffba49366L,0x15a2865a6a82670eL,0xe6e08537e05bc13fL,
  83917. 0xd69de2c00bf3f3a0L,0x75096c76d362830eL,0xf3744a2e0177a66aL,
  83918. 0x3de2a9ddc9baf0e6L,0x3c0f980fb6d810d5L,0x00000000000001b4L } },
  83919. /* 11 << 462 */
  83920. { { 0xcc94284db189ddb8L,0xb485dd3e810cb5b3L,0x7962589cac622d13L,
  83921. 0x66d67d6807da5abfL,0x159b0de064fac523L,0xfb87c9e036ee4172L,
  83922. 0x8efdd2605f67a45cL,0x967626223addee84L,0x0000000000000185L },
  83923. { 0x612588e0207d2d04L,0xfcea78b33a859390L,0x73e90526997cba0eL,
  83924. 0x805d7844afdcc542L,0xc3f76999e81e478bL,0x9cdebd300a4966e3L,
  83925. 0xbf267a7251a2070aL,0x36c52bf4cd0f0a22L,0x000000000000006dL } },
  83926. /* 12 << 462 */
  83927. { { 0x01ef33cf16e0f612L,0xbccc51c3eeb7a33dL,0xcc35c1e346a12c50L,
  83928. 0xd2151223b915b370L,0xb03030143aff625fL,0xb7e34e67b76ed5c4L,
  83929. 0xd5b48e2210b988f7L,0x5edada0557f1882fL,0x00000000000001eeL },
  83930. { 0x70919a6126a93c88L,0x2729baf111491a74L,0x895470b5541b2e39L,
  83931. 0x88e52a03c85fef39L,0x605d48085b35ad5aL,0x3203783c87561036L,
  83932. 0xac1c8568546e9de2L,0x61c5703c62d3bc75L,0x0000000000000192L } },
  83933. /* 13 << 462 */
  83934. { { 0x0f55f94ed641f8ddL,0xb2dec9ebc1daf64eL,0x5bcf6cb3f70c3974L,
  83935. 0xc0e4304c24e93de0L,0xf3d5cea7b59b116dL,0x34a1d943e9dfdb47L,
  83936. 0x908d0e134f9d468aL,0x52b536cb61c837e5L,0x00000000000000d2L },
  83937. { 0xff2678be174d1c4dL,0x952da2e880b4eb5cL,0x474b27b13e739143L,
  83938. 0xfc9871cd70a02e7eL,0xcfd72308c6d5fbdaL,0x0a9812e6ecee2813L,
  83939. 0x1461ce73b4f29fc9L,0x2f643e82c08cc647L,0x0000000000000131L } },
  83940. /* 14 << 462 */
  83941. { { 0xc1ab1a2af439f3f8L,0xc1aaac5405a1ec00L,0x5df5d950abab5451L,
  83942. 0x13114abf23f29c1fL,0x0cdd9aade17cf9b0L,0xd16efb64b78fcf8cL,
  83943. 0x9fd47a7ac0d274b0L,0x9bab71c2fa1da55cL,0x0000000000000095L },
  83944. { 0xdccdab46293e406aL,0x40e3b0cc310ece4dL,0xd18c09e52463ace2L,
  83945. 0x65122363364dc7ffL,0x77fc1848657b65f0L,0x422392cfc4011670L,
  83946. 0x382cd9ee2bb61fa4L,0xdcb156d14558bb3eL,0x000000000000003bL } },
  83947. /* 15 << 462 */
  83948. { { 0x8e96bef0dccad82aL,0x0ff19a8e4919f552L,0x9dd5e116498d3dc5L,
  83949. 0x5d25b8a36173057dL,0xdbef9c9586f15c1aL,0x445d807d6f12eaa2L,
  83950. 0xe494386943108eceL,0x5736908d88b2f68eL,0x00000000000001eaL },
  83951. { 0x9757f44fbc6b53c9L,0x61faaf06c2072e4eL,0x9fba7b4bd5ac4681L,
  83952. 0x130e8e184ecba083L,0x9c12e614b297edbfL,0x746c82a360efb65eL,
  83953. 0xb42ca8c31cfe64c2L,0xaabb762ffac5abb1L,0x00000000000001b7L } },
  83954. /* 16 << 462 */
  83955. { { 0x493d8a3fce43380aL,0x27d1657b1511e823L,0xf09125a7e6112eceL,
  83956. 0xafd3f48218c2ddc1L,0xc1207ac1602ab092L,0x22fdfe83f80fe3f9L,
  83957. 0x736ad27ff479c304L,0xd1fc1905784ca960L,0x000000000000008fL },
  83958. { 0xe87798d27fb35409L,0x86b0257161cffd40L,0x12d991f963058303L,
  83959. 0xef9e933e033f10c9L,0x8221774cb298a118L,0x95dcfd1080dc2858L,
  83960. 0x83747d7168bfaa1fL,0x03567035a213129bL,0x00000000000001dcL } },
  83961. /* 17 << 462 */
  83962. { { 0xeeaaf96644dfbf9bL,0x86df2b8af44c56c0L,0x2bf28ec1976c6682L,
  83963. 0x50c5528dcb7a8ff3L,0xcf2be4a643420ec8L,0x4c214e8984341eedL,
  83964. 0x7b65e1aa232ab304L,0x02622feebbffdf3aL,0x0000000000000077L },
  83965. { 0x907131fff1637afdL,0x51693f9b107885e0L,0x7035ec8c41aee9aeL,
  83966. 0xa45531d5f94a191fL,0xf3556642188aa104L,0x58aee7a7d7992ed8L,
  83967. 0xc1bde242750e9e10L,0xa2bee7d8b6ac4e78L,0x00000000000000edL } },
  83968. /* 18 << 462 */
  83969. { { 0x7ff30e30b92acd78L,0xf64e2e1e397f204eL,0x85ceca93595a69aeL,
  83970. 0x82d987dd4dfec414L,0x41e53688f2448e97L,0x9024642e5a064c46L,
  83971. 0x706066f5e60807e3L,0xa8743118e8cea80aL,0x0000000000000167L },
  83972. { 0x3a88f81b112ee142L,0x1d43947513e86304L,0x73ce796df75c9d7fL,
  83973. 0xfa5edc926cc4a9ddL,0x2b1bbc20981ed026L,0xb632ae87c6a7a48cL,
  83974. 0x27425c2d622960f3L,0x4501465610fc0860L,0x0000000000000072L } },
  83975. /* 19 << 462 */
  83976. { { 0xd10883102f412cedL,0xeafe72656e718a1cL,0xb632786f6f5a00a5L,
  83977. 0xfb0909685048cf77L,0xf80eaeceeb8fc82fL,0x3a6ecdf3610279c9L,
  83978. 0xefa7c7b42855c157L,0x46a8af036abf4d8eL,0x000000000000011fL },
  83979. { 0x492ffe9726805929L,0x1619613e41e559e7L,0x97e9a4f38e33bd9aL,
  83980. 0x9ad49693091798d5L,0x356bebd74653b12cL,0xfcc7f27e9fcfd552L,
  83981. 0x5ed9331c742cd38dL,0x1645ed1198af87e3L,0x0000000000000088L } },
  83982. /* 20 << 462 */
  83983. { { 0x15aea420d5ac5d48L,0x6e11bf30178c5a77L,0x01f1180d2651dee6L,
  83984. 0xd7602ed459e7a8f6L,0x5d3ec901de3746deL,0x314d1580e2400304L,
  83985. 0x08f8259265f15588L,0x22e8ff88d9ffe64cL,0x00000000000001d2L },
  83986. { 0xf3f23abc99e0f136L,0xef5d94840f1ae78cL,0x616e957ff6e34ca1L,
  83987. 0xe2e237b080b7054aL,0x7987761592baa214L,0xcd321299dd291296L,
  83988. 0xf9b74adb20d8bcf6L,0xefcf323631661404L,0x00000000000000e6L } },
  83989. /* 21 << 462 */
  83990. { { 0x91e0a5c0c94fba83L,0x367b5806dc42c01fL,0xe88e6ae4b4373ef2L,
  83991. 0x3f51875cd7874231L,0xcfcb6890f984b4a4L,0x8da4e461d4276ba2L,
  83992. 0xe47110934f261c73L,0xf8e578b314cbc501L,0x000000000000005bL },
  83993. { 0xea568d5507f17331L,0x4a2e61fe70a5e9ceL,0x1df72d8e970cba01L,
  83994. 0xd03d5d92c8f4777aL,0xde53ef7f2e2d88f7L,0x32e0862d4fab2632L,
  83995. 0xbd0feb3e82194583L,0x2f2def128b4b82d7L,0x000000000000004eL } },
  83996. /* 22 << 462 */
  83997. { { 0xba8ee1394fa0962aL,0x0f568c5be733014eL,0x5a16b363ffb66b9fL,
  83998. 0xcf83600ddb746ec8L,0xaa67a3d2e6bc9390L,0x801fa15f8930fcddL,
  83999. 0xfb374cf0005c0eafL,0x66552348ffad00ebL,0x000000000000006eL },
  84000. { 0xb8529088874d7ed9L,0x64a7e8e0843ddc7aL,0x26a9496205980ec7L,
  84001. 0x6e219d44341b4fa3L,0xe07b2068161ef467L,0xe6d89d6d3e504a9aL,
  84002. 0xf473ae9c290f40dbL,0x250a539ef51dcc67L,0x0000000000000018L } },
  84003. /* 23 << 462 */
  84004. { { 0x8f3d851cbc598deaL,0x95c3f4fb968d82cdL,0xb406ff2f644e4030L,
  84005. 0x8b084b6cfb0c34c7L,0x978c1241d9b9337cL,0xdd156dc3d2d630b2L,
  84006. 0x976b5a2df1795879L,0x5a188835753b7f8eL,0x000000000000013aL },
  84007. { 0xeb5df8ff0100cfd2L,0xbf96012da14b7ddeL,0x9228c2c593a9a2f4L,
  84008. 0x66ea58ffc695a320L,0x5c370488bebf78ceL,0x14c0ab834750ca0bL,
  84009. 0x0beb6f8e8fc91786L,0x714eb7802291fce2L,0x00000000000001eeL } },
  84010. /* 24 << 462 */
  84011. { { 0xeaa89410f084380fL,0x9491f70e458ab9e4L,0x6b6772051d8ec684L,
  84012. 0x1a9fc7951ef7e9edL,0xc47e84efb05c41efL,0xee377f78c6014e09L,
  84013. 0x91d14a75521171ebL,0x1b11fbbc32361217L,0x0000000000000111L },
  84014. { 0xf789cc6ba63bc7a1L,0xbbd74f359393b5cbL,0xb43ff6170bb024a4L,
  84015. 0x73800410a844508cL,0x93a28632c5468780L,0xc96c62e52aefa8c1L,
  84016. 0xa500ce0b7df9b61fL,0xb59527f2369f304aL,0x0000000000000172L } },
  84017. /* 25 << 462 */
  84018. { { 0x8674334a8ccadedfL,0x2d016c2b11f6012aL,0x4ec4ee5ac3a12902L,
  84019. 0x26217299b221e73bL,0xdf28bb47a5f9357aL,0x3676902cba35c37bL,
  84020. 0x90e2f3cd24232740L,0xa30b34e8d62d95beL,0x00000000000000bdL },
  84021. { 0x1671d5affeef8af1L,0xbcd9d2aa4c3a31f3L,0xa38ec0bab0adaed1L,
  84022. 0xa2cf817f0bd7172dL,0xa30940a00f887402L,0xba1b3af828713fe4L,
  84023. 0xb837467dd1b89a24L,0x13361a345c6d8b94L,0x0000000000000103L } },
  84024. /* 26 << 462 */
  84025. { { 0x3f3f51f3dc8fbec3L,0xe7b0c2ea83a6a2b8L,0xcbf7b399a2b70075L,
  84026. 0x74e2302823ca18faL,0x0c1600f1e46c6cddL,0x5434852363af7990L,
  84027. 0x10506b67950245b6L,0x9d277adb7ecb14fdL,0x00000000000000dfL },
  84028. { 0x9f8cd4536be91611L,0x362a07d783e99454L,0x9e89aa5e1065da40L,
  84029. 0xf7f67219c5087c27L,0x1a0dd1c0a36553f4L,0xcb8da38dfbbc5aaaL,
  84030. 0xd43603bfe8784073L,0x9354aa7e0acbeb25L,0x00000000000000fcL } },
  84031. /* 27 << 462 */
  84032. { { 0xa7f369b6a543148bL,0x08eb19b28b24443fL,0xca61b0501b1d7de5L,
  84033. 0xa17e2e434d630122L,0x77ece0be0b065578L,0x85337244b4997376L,
  84034. 0xac8d2abab970ee48L,0x724afcfed85c9efdL,0x00000000000000a2L },
  84035. { 0xaba323225c2cb2b7L,0x63f1f3f64757f00fL,0xf1be3eff90e18446L,
  84036. 0x3e5a2a9a9a238a61L,0xfbb3e075a135b254L,0x7187eb847361e1e6L,
  84037. 0x340db506c881addfL,0xcb356eac5468e658L,0x00000000000000b0L } },
  84038. /* 28 << 462 */
  84039. { { 0x68b81be9052d2ea5L,0xeadfb53105294d6eL,0xcd41f773a3258647L,
  84040. 0xf6b1c867d70fd9d0L,0x9a89cc017be523e7L,0x2499d793487ebf56L,
  84041. 0xc82cefe8c0d072a2L,0x91c2bfbbe82cb4f8L,0x0000000000000105L },
  84042. { 0xd705cf5a6705dce5L,0xfcbe204e4462a67cL,0x5e198bc3430d627fL,
  84043. 0xe13da562e765991fL,0xb6cfca287032c5f8L,0x0868d9ab1783308aL,
  84044. 0xc5b628c6c8050c8cL,0x243e2ec13a93a8deL,0x0000000000000139L } },
  84045. /* 29 << 462 */
  84046. { { 0x98d6256c20245960L,0x457d105137b7415aL,0x0cb5d0dc767184c0L,
  84047. 0x8652a67b5bde6afaL,0x42679642e838bb0dL,0x0b577bc7178558efL,
  84048. 0x1e03da5c14212285L,0xa591ff706f6c2a33L,0x0000000000000031L },
  84049. { 0x49a0d6f9f68489d7L,0x87763a7005cbcc01L,0x7843af2c848170ceL,
  84050. 0x9f7c25bea45226c2L,0xfe56752466707eecL,0xea029f2f0db1412aL,
  84051. 0x4f2c2e5d93a8d4f9L,0x405015ba0b3b9910L,0x000000000000013bL } },
  84052. /* 30 << 462 */
  84053. { { 0xa4dcc51572a88c35L,0x132016d41a8ac7d6L,0x65acb09f7a272350L,
  84054. 0xc77cc6401ff191caL,0x3fa4c8e460673588L,0x4770229b646a14f3L,
  84055. 0x8dbfb85fd19872edL,0x0fade56dd7f01b99L,0x000000000000019aL },
  84056. { 0xbd59629410a943ffL,0x74b893733857ba32L,0xd22c2856fc1ff38aL,
  84057. 0xa8f2aa31b1c6c561L,0x033a7f8b5d322178L,0x3efb1ee6a075bde1L,
  84058. 0xd9ff5d90aff85287L,0x1c909307f8075ebfL,0x00000000000001e8L } },
  84059. /* 31 << 462 */
  84060. { { 0xd8e925414f766448L,0x06618fed856b424eL,0x25293a2cc4774117L,
  84061. 0x0fe866dedcd89015L,0xd06fe1e1625164bdL,0xa5be1bcaca21865fL,
  84062. 0xa15048438449a87dL,0x1342fd55911a905dL,0x0000000000000069L },
  84063. { 0xf90da038d98d58c1L,0x69444f7f114e147cL,0x42211c1da866632cL,
  84064. 0x78828291b657d2c1L,0x014c0cb987bb87f0L,0xed3d697194d14553L,
  84065. 0x5b9df642dbbedc15L,0xcb94c1f3ff65dc9bL,0x00000000000001dbL } },
  84066. /* 32 << 462 */
  84067. { { 0x461c1512910f4978L,0x8ca7f0dd63d2ec28L,0xda9297d2607ce3c5L,
  84068. 0x592ba13f81bb2dbbL,0x157d4ac7f740c331L,0x1d5311e782c49ae7L,
  84069. 0x5c3046713bec9a94L,0xd81fa25b0a23ab8dL,0x00000000000001eeL },
  84070. { 0x6d8c6efaf51614ffL,0x20cfd353868b4fbcL,0x9b9dba152201aac2L,
  84071. 0x6bbd8ded8d1900d7L,0x6ca3e71afa946925L,0x7381e45aa0c3735aL,
  84072. 0xcd9db7a2b93d4feeL,0xae40115145bdce69L,0x00000000000001bbL } },
  84073. /* 33 << 462 */
  84074. { { 0xa6dbe971dda4b355L,0x8f07b76adbb73b5aL,0x1aa44431454114d1L,
  84075. 0xbc540435c1036c8cL,0x79b688ef916b6533L,0x47a020d49bf029e2L,
  84076. 0xa669d577c093a75cL,0x734c102c6a6c09b3L,0x0000000000000184L },
  84077. { 0xc90106c15b9211b4L,0xf076663eef5e999bL,0x50143616d8aaa415L,
  84078. 0x62e33d915dfa07afL,0xd0bbb32724d176b2L,0x091bb80a291db76fL,
  84079. 0xddfe277c8c809e75L,0x4c890027e3160b27L,0x0000000000000063L } },
  84080. /* 34 << 462 */
  84081. { { 0x30f1ef52ad35c0c9L,0x612892843c67bce8L,0x139970fcd128fe01L,
  84082. 0xf5b1d3cf33cc222fL,0x972e134b9547e5eeL,0x5d32f64d19aecc5aL,
  84083. 0x5172742be7c61b95L,0xd64abb911323f811L,0x000000000000005cL },
  84084. { 0x16463fb98f92a5bbL,0xd32f5194b1fc0a53L,0xf36b396b4bfefde2L,
  84085. 0x83eec78ac9f4aa74L,0x1e4f3f25af333f1bL,0xc5f9a8710407544eL,
  84086. 0xe2268d05367d93f1L,0x6634b2c450c02febL,0x00000000000000a6L } },
  84087. /* 35 << 462 */
  84088. { { 0x4dab3300137a409aL,0x045e43dd13a206c0L,0xea9f0e00a76a7c9cL,
  84089. 0xcdddc2b562c647a7L,0xaf673bf31d6f043dL,0x7d16a2d372adb549L,
  84090. 0xe25427e8edd38a7fL,0x090e5b177a9e105aL,0x000000000000010fL },
  84091. { 0x2f64bf1100d25195L,0x6439c231eed4846dL,0xad6c59f7318ab661L,
  84092. 0xb9883d0585cb9b6cL,0x646d32e70d3f1dfaL,0x8165416abd4a686eL,
  84093. 0x4b7f45101d638a74L,0x4d3d143be8dae5c7L,0x0000000000000094L } },
  84094. /* 36 << 462 */
  84095. { { 0xb20d7fef01dd7411L,0x9f9a104047aa41c0L,0x37677f41aaedbfb3L,
  84096. 0xe3e23e4722350c64L,0x93964e8a30ff0ceaL,0x956a88124b5b4758L,
  84097. 0x6bad595e7552aff2L,0x0de81b3d2b93308bL,0x0000000000000199L },
  84098. { 0x64899c662f0bd592L,0x41616275f3969762L,0x8cfc9ddac434793aL,
  84099. 0xeeeba2d4cdf048f3L,0x6f2d05b12b87e0c5L,0x1abf46121bf8117bL,
  84100. 0x674deca6b630a10aL,0x061cca5779acde0dL,0x000000000000006eL } },
  84101. /* 37 << 462 */
  84102. { { 0xbf73223a615df738L,0xb0f9d8e26e8ee169L,0x7f7aaed7a4f7f685L,
  84103. 0x7e16553a207bca3dL,0x29893c7c9342b6dfL,0x6a4b16aa6e7f48e4L,
  84104. 0x4ea7fa828eb3893eL,0x53e4146d6dc5de8aL,0x000000000000004bL },
  84105. { 0x51549c3a9eceaebcL,0xf7484acb280d64edL,0xa5a7b9319947daccL,
  84106. 0x949b17ca4b59849aL,0x52689f53bd033b58L,0x23696fa3f648f6d2L,
  84107. 0x1081e1fb55ab3259L,0xb240a833ece6561aL,0x00000000000001f2L } },
  84108. /* 38 << 462 */
  84109. { { 0x000b7bdfb3e1b3beL,0x612d3ff2b5bc3fb2L,0xa3d0960b093edcadL,
  84110. 0x3b256f3bb671e1faL,0x97c8e0f576a1f2faL,0x7ed1db11a5c9641aL,
  84111. 0xb46ccc7d006051bcL,0x932c2d1a403a21c8L,0x0000000000000063L },
  84112. { 0x81a9d8e2ad21fcacL,0x1a1ad119061dc386L,0x1cfdb59dd2c66b25L,
  84113. 0x80a2f73d5b1d3223L,0xd214b239a132a94aL,0xfd263d6816369c47L,
  84114. 0x511bfed818c54c13L,0xdb57736c68a9b65cL,0x0000000000000044L } },
  84115. /* 39 << 462 */
  84116. { { 0x254c45f5fc8a16bfL,0x0998c4a73e0e13feL,0x3678d827444e685fL,
  84117. 0x7e81038b391118bbL,0x1b49935aa752e752L,0x3c3d9ce4e799cad9L,
  84118. 0xed9bc30f2b1b2569L,0x8e4faddb0dd293c2L,0x00000000000001f0L },
  84119. { 0xf6d16e3934933756L,0x5949198eab748e09L,0x5e5accbad4b3d3fcL,
  84120. 0xa96f70b6f0177d5fL,0x226abfa1a0e50e79L,0x8ea06e063323f2adL,
  84121. 0xb05b8c59c31da2faL,0x7cd44db8c6e09ee3L,0x0000000000000135L } },
  84122. /* 40 << 462 */
  84123. { { 0x19f565b51420debdL,0x9a19ab6e5291fe77L,0xd729fff2b428ae74L,
  84124. 0xe237994c6d8256beL,0xb74f543cd93d3e98L,0xc460e7cfd599c9ffL,
  84125. 0x6bd6d31f7924ebf9L,0xad07316cceacb2b2L,0x00000000000001e6L },
  84126. { 0x1436f3231735fe0bL,0x2e13910896a8983fL,0xb18c48fc100cdb54L,
  84127. 0xd777496c81e38ca4L,0x9dbc2d4457bba02eL,0x0b5949a121c1d384L,
  84128. 0xd1cdb9b170e6d68dL,0xc6b803539621e4c9L,0x0000000000000164L } },
  84129. /* 41 << 462 */
  84130. { { 0x6da3a967d08f917eL,0x090db6a01bdb8109L,0xd087e8ad559a4ee1L,
  84131. 0x5e3104faf6af44a6L,0x15104cf52a8bbfbcL,0x5af76555ef32bd3aL,
  84132. 0x165a9153f38429cbL,0x03ff29aa3eaa52d2L,0x00000000000000a9L },
  84133. { 0xb841ae420ca5f75aL,0xd119e95ff2f4063dL,0xbe45f4d88e1dcd37L,
  84134. 0x56ca9d99446b1fe3L,0x1c796119161e7c84L,0x91b1ea75a6098a52L,
  84135. 0xa2248d4a4c94a9c7L,0x4b86cac0e9cb5d3cL,0x00000000000001e5L } },
  84136. /* 42 << 462 */
  84137. { { 0x8970aacb2a4748e7L,0x6887665163ba1e04L,0x08e1037e56a8f850L,
  84138. 0x88edd5d94a14780cL,0xf85dc5e2d01fb425L,0x41ea90dd96ebecf4L,
  84139. 0x052996e99442c9f3L,0x3ca7dddba5fcdb15L,0x0000000000000034L },
  84140. { 0xd541059044b9fc63L,0x9f546de20a523dfbL,0xe1d18513d39a6bcbL,
  84141. 0x830c4a77e61b66c3L,0xdf0da6545a4d1d7cL,0x620c1d84287aba62L,
  84142. 0xa0941743ba971acdL,0x28b96fff367a1d57L,0x0000000000000075L } },
  84143. /* 43 << 462 */
  84144. { { 0x0125e7cb3d67d593L,0x948900e272eb89e6L,0x4cf465978810287dL,
  84145. 0x086d2b5bc21c7406L,0x996874adcf082ce7L,0xb72176f2b8523d29L,
  84146. 0x6be04d3184c4a83dL,0xe407ada12517a615L,0x00000000000001deL },
  84147. { 0x35ef6a5d0d931f5fL,0x55f15fdd69c1db16L,0x43d2e66069c6bfc8L,
  84148. 0xb67513ea8993e68eL,0xd0591d864892844fL,0xc530cb5925b1216dL,
  84149. 0xbc971e9a92a1390bL,0x5ad3d777b5efa5d7L,0x00000000000000beL } },
  84150. /* 44 << 462 */
  84151. { { 0x8aa2fd3a0324bbaaL,0xfb02da2e28cb3ea1L,0x938876146493b3fdL,
  84152. 0x68c6a8a4da6d66b5L,0x31477d83222398fcL,0x9498701a98da59d1L,
  84153. 0x73eafd532bdd61a1L,0x6dea3d8cd8b1b1bcL,0x000000000000005eL },
  84154. { 0x30d3c83a929e403eL,0xffd69ca5c2c1881eL,0x36e2dd8f21383e3aL,
  84155. 0xc0702450c42cd33bL,0xdc2ba2ae01146955L,0x74ae932a3060efd3L,
  84156. 0x1f01d81b1f96136cL,0xed2a00caa434d7d4L,0x0000000000000121L } },
  84157. /* 45 << 462 */
  84158. { { 0x1aa3adde98e3be01L,0x11b63a1782d4a9a6L,0x48452f3d8f8d8fd7L,
  84159. 0xa83c3daffd794b08L,0x9cc7138f1149204eL,0xbac5f41644e190a0L,
  84160. 0x1b835e8d2533b4b8L,0x1486716a654cf4e9L,0x000000000000013fL },
  84161. { 0xbb1300a807389decL,0xf4d28849eab42f87L,0x0cbde28ea8e39949L,
  84162. 0x3837fddab7a80ec2L,0xee970327aa8141f1L,0xc204fa0442caaee8L,
  84163. 0xe516c2275a08d44fL,0x7b706f80ff20b54fL,0x000000000000017dL } },
  84164. /* 46 << 462 */
  84165. { { 0x96c595d04345853aL,0xe761a852cdbb2404L,0x2a83d0fab05cd025L,
  84166. 0x067908543d1728d6L,0x0cc868e988564b8dL,0x72a369ffe715f13bL,
  84167. 0x4a09518266b3aea0L,0xe4498f3188a89d31L,0x0000000000000186L },
  84168. { 0x669bd0b549234ea0L,0xee783a18c484a4f8L,0x1219541596adeaf0L,
  84169. 0xb1b395886a1084e2L,0x9c553221983d47a4L,0x97bd48e4e145793aL,
  84170. 0xee9bc1d4d465ffb1L,0x81a0e9d512deb77dL,0x0000000000000189L } },
  84171. /* 47 << 462 */
  84172. { { 0xff7a3b81c38382d0L,0x0e47569c54b9c17eL,0x9d9bb42f06eed152L,
  84173. 0x0f584d32ba6d6964L,0x1a73edeef6aafa41L,0x1a9ae3e5b4442b3aL,
  84174. 0xa70e0e98592269a5L,0xa91be178c77cb2f9L,0x00000000000001c1L },
  84175. { 0xcc0528718ca1e18dL,0xa2f8ec2d89bc1ec0L,0xa4f2de28a1dd1f74L,
  84176. 0x93f7e481a49289f5L,0xcedad21b51007754L,0x5b2cfc40f9df77aeL,
  84177. 0x77d5bd687e39e15eL,0xe3d5331f241cc064L,0x0000000000000195L } },
  84178. /* 48 << 462 */
  84179. { { 0x90d2dcf1251fe06aL,0x4a9e61312213edb2L,0xa86cc889db34c6beL,
  84180. 0xc7c9ef492fc20da6L,0x62831aa947aad9d8L,0xb8ef1f7f79aa0e99L,
  84181. 0x4d8254a91e016254L,0xaaeb6757c5cea077L,0x000000000000011dL },
  84182. { 0xa8f5e18502f4709bL,0x3cc2096d28f8fd0cL,0x6d384ee1bbabbcdbL,
  84183. 0xaa16805edc2fdc58L,0xd5a61658a4d13408L,0xae9c4071255c1b61L,
  84184. 0x1588a828a6436d33L,0x0e07bad24e74d1a7L,0x00000000000000c5L } },
  84185. /* 49 << 462 */
  84186. { { 0x6940796af899523eL,0x94846b1d315ec56fL,0x025781d6859d96c5L,
  84187. 0xe016820639653920L,0xf4ec2f4e51ad51d9L,0x225ee1b72ec9bcffL,
  84188. 0xdeb2e6d76317aad0L,0xcee9b056541569b7L,0x00000000000001b9L },
  84189. { 0x2c60d275d2a7a25fL,0x09200147306bb343L,0x8b3bdbf0178a2c60L,
  84190. 0x1abb7417cc0cb699L,0x50f8f8200976f08cL,0xbf142ef66273fba0L,
  84191. 0x1eea00f53268f7abL,0x141ecaa300cfd5dcL,0x000000000000003cL } },
  84192. /* 50 << 462 */
  84193. { { 0x6f522b1b2190c116L,0x77a85bf90072e3f0L,0x7bbb62f976b08b4eL,
  84194. 0xab4878bd0c4970b8L,0x758b6e91dd7752ecL,0x3979894756baec80L,
  84195. 0xc8860bb4aea97d48L,0xfc446d97154895f4L,0x00000000000001b3L },
  84196. { 0x8d8f9950072c678dL,0x3b46c8529ace0a49L,0x356b87c69f2f64c6L,
  84197. 0x2f0e47accf59cf99L,0x73c0fea460efde36L,0x64ea7c7f00aa8852L,
  84198. 0xb6f020820d9b7b8aL,0x1edc53d62f92a2a8L,0x0000000000000057L } },
  84199. /* 51 << 462 */
  84200. { { 0x8d66caaa357071a4L,0x635b07527ee00192L,0x517a6792c818c034L,
  84201. 0xf93830a391d08486L,0x1368f7b673d5b938L,0x077f9d50cb4ebfa5L,
  84202. 0x8a7855ecce5a34dfL,0xffa4063f122de424L,0x0000000000000171L },
  84203. { 0x1410dc66ab6a99feL,0xfa2c782485c80476L,0x4fa85fa6b00bd91bL,
  84204. 0x9fa465c2e83c2beaL,0x866e4cd18c657a22L,0x0c49aaa1995f77e7L,
  84205. 0xf7e5521b2b0e30c9L,0xdac4d4b507f7b749L,0x0000000000000128L } },
  84206. /* 52 << 462 */
  84207. { { 0x3ac08717b8501555L,0x884c3347812fbee3L,0xa934580777363609L,
  84208. 0xdb4de6841aede158L,0x6d3850ea6312d55aL,0xd4247574a47c5a6eL,
  84209. 0xb5cd31b2047c8ebfL,0xcca5ed851d8cefe6L,0x0000000000000124L },
  84210. { 0x4afe51372a51a7cdL,0xd28b0d5de510ba3bL,0x1ac5ade85d1c1d2bL,
  84211. 0xddecd8024d330dddL,0x7f03c6419259bc0fL,0x9901f74bb3cc0e2aL,
  84212. 0x997b76d0adee582fL,0x4562419478dff0f3L,0x00000000000000adL } },
  84213. /* 53 << 462 */
  84214. { { 0x0a05118e4f11ecf4L,0x0f0df5d498d05869L,0x0703359921333009L,
  84215. 0xcfcd5c427de5b677L,0xdcec94971bb48849L,0xab4f855137e51f02L,
  84216. 0x0ff5e9dc686f1e15L,0xce51572a73711fd2L,0x0000000000000053L },
  84217. { 0xedc9c0318dc19110L,0xf701cf6e9516787bL,0xef8846d98b359d47L,
  84218. 0x59c48207309176deL,0x2b820298bda74af1L,0xbfdaf25de022e2ddL,
  84219. 0x906a64e0a21e66dcL,0x35b661b622569e50L,0x000000000000002fL } },
  84220. /* 54 << 462 */
  84221. { { 0x3d2a23547d37e036L,0x15fa6258b069c547L,0x971084595a585197L,
  84222. 0xa1ffc74e71f550fbL,0x1fd862279a2a1355L,0xeebca426540f8363L,
  84223. 0x9511a7b70357d4f4L,0xf55a55a2786a3114L,0x000000000000005dL },
  84224. { 0x4d95d924d2dfc1dcL,0x02bea96358f88b67L,0xb29bb82aa213c829L,
  84225. 0x5c334c6c4fb103c7L,0x1788c6f3237b3fdfL,0xe04ca128ff38a49bL,
  84226. 0x657435fcec49e78aL,0x86cb93b2b77ff94fL,0x00000000000000d1L } },
  84227. /* 55 << 462 */
  84228. { { 0x09336b9eb22a4bc2L,0xe5b69e8454d2cd44L,0x21f75483f29260f4L,
  84229. 0x95aeabdb24e2ab76L,0xb2d234334ee7e921L,0xb989e4477eb10e8bL,
  84230. 0x11f2aca492c511a1L,0x2fa2108fb4411745L,0x00000000000001c5L },
  84231. { 0x9ba0fa7de8e834d5L,0xcde5ab91e5fb25ccL,0x064eba31b24855ccL,
  84232. 0xe6c909ff648d6e5aL,0x937bb03c03acf9a0L,0x2e8988a3193b5fc2L,
  84233. 0x670a1f72fc822accL,0xdbf52ce2aee811a1L,0x00000000000000b5L } },
  84234. /* 56 << 462 */
  84235. { { 0x0261a6571304c934L,0x86e5b425f4254d3dL,0xd6b8c7293330a402L,
  84236. 0x67ee96544281090dL,0x3056a9113a1d5fbfL,0x7dfc3e9e98494b38L,
  84237. 0x12c53a18777cea04L,0x2cc4ffec23165e61L,0x0000000000000005L },
  84238. { 0xf16c1e271d3c8db7L,0xc4954310ab46ca93L,0x1a5a066b158cfe00L,
  84239. 0x62b499a9f192e1feL,0x0c9a5e489a9bb573L,0x2907b4fb630008c1L,
  84240. 0x9c832da019ae083aL,0x6159daa1c26961f7L,0x00000000000001f5L } },
  84241. /* 57 << 462 */
  84242. { { 0x73cf6f1f0a7cff9dL,0x5990e7855d970d95L,0xb0a27227d43818a1L,
  84243. 0x8416719cc806298dL,0x9b9c4684a499cd3dL,0x80e188e59dae634fL,
  84244. 0x96d56fd6999b8803L,0x25747b11714423c0L,0x000000000000000fL },
  84245. { 0x109847c5145aa843L,0xb4610155b5c2d75cL,0x9193c45dd9014b50L,
  84246. 0x8102f8118a050159L,0x46c50351e1d9e3b2L,0xb7992a3b0535b00fL,
  84247. 0x416cc678dafb0a88L,0xda1554890526c87eL,0x00000000000000cfL } },
  84248. /* 58 << 462 */
  84249. { { 0x3b96330d5a106b1eL,0x4261e39e301af093L,0x96b81a66369534d3L,
  84250. 0xea444b4a97b9861dL,0x19a98ade47fae332L,0xb540c85ebf30cbf7L,
  84251. 0xbd205dd1bd6a3c2aL,0x53606fc7d30e5984L,0x0000000000000193L },
  84252. { 0x43f3560d4cc4d643L,0xd02e6d1ed892f3afL,0x410d637e8680b671L,
  84253. 0x91cc5b1bb60494edL,0x6a19cc7f1044ee62L,0x378962fc56a89c1aL,
  84254. 0x4c9eb689adadce81L,0x4f9ffad100d88194L,0x0000000000000147L } },
  84255. /* 59 << 462 */
  84256. { { 0xef4f9fa755ae6dccL,0xec7bf270f1f5304cL,0x2bc4d7a9401b4a40L,
  84257. 0xd0cd7b680044f20fL,0x0e0e7f8dd324e238L,0x2c13feb72fcdc80eL,
  84258. 0xf1a695f47f4d3dbfL,0x931c17b7233a8395L,0x0000000000000048L },
  84259. { 0x3e5b9691f598ebb0L,0xf343309a57eacadaL,0x5ff3a06acce81fccL,
  84260. 0x2bbd1f7dfad4a66cL,0xa3185537e78d466fL,0x69121af74d50571bL,
  84261. 0xce3f6351d8d90fbaL,0x2e89c90e992614dcL,0x00000000000001e1L } },
  84262. /* 60 << 462 */
  84263. { { 0xbf9c09d3e9b072d5L,0x627e64871aceaf57L,0x21938240829175eeL,
  84264. 0x781ea3f25bc4d226L,0x996532aca6726027L,0x567da8151177e922L,
  84265. 0x9b3fec8aee0ea637L,0x793f1038091eeef4L,0x00000000000000deL },
  84266. { 0x30a23a7581d2a890L,0x41f22a0c973e9ba3L,0xda3e78685c1a136bL,
  84267. 0xbe524c93084420d6L,0x53518e4026661908L,0x7bd7c768fa169b4bL,
  84268. 0x0477e8834709e45cL,0x41b66d3827ed78a7L,0x00000000000001a0L } },
  84269. /* 61 << 462 */
  84270. { { 0xf684635ac1aff7f3L,0x815ad1a840c52364L,0x1aa44c22ee68d865L,
  84271. 0xd4ccb5a9d42e7c4cL,0x280ee2b19a67bd2eL,0x8eb3e67583e89a28L,
  84272. 0x7adfd31240147486L,0x5297a92c030f6dbdL,0x0000000000000074L },
  84273. { 0x93f574b97ddac781L,0xb60f1f78431eb598L,0x76ce97fd505b1c12L,
  84274. 0xf129e08ef9584629L,0x99d5c2eb189756f2L,0x077576da3f376986L,
  84275. 0xebac685cf932a27dL,0x22bf40db85bfc6b6L,0x00000000000000c4L } },
  84276. /* 62 << 462 */
  84277. { { 0x1d9044cd1279e866L,0x124f41d1376eb5c4L,0x5ea4fb8d97030140L,
  84278. 0x38339643a1412be1L,0x5dc984b181b0ca10L,0x3caca47205353734L,
  84279. 0x6cc45d1cc111cd9cL,0x27abce536b44e337L,0x00000000000001a8L },
  84280. { 0xde5d6867c8beb49dL,0x1fe2ba1f6e6747d7L,0x0c6ea670fec38d24L,
  84281. 0x28b701a08091cf52L,0xca72ca34ef2c8462L,0xd6e8d3fd9fb18624L,
  84282. 0xbb1c102467c9700bL,0xb78362320eeea37dL,0x0000000000000118L } },
  84283. /* 63 << 462 */
  84284. { { 0xd32c1d2cc13c0d24L,0x03a69200a8085693L,0xf18102e90989d81aL,
  84285. 0x0d57994b8af284d3L,0x54a3c55b2ac803f0L,0xc43f6f5ae4601c43L,
  84286. 0xb3184a8f59c5c667L,0xd8052c20a179b319L,0x00000000000000fbL },
  84287. { 0x78b9d9197a9af989L,0x5df6c709c925390cL,0xb442eaf5e4846e5bL,
  84288. 0x680158b4316ff4e8L,0x528f587fa99e1dc6L,0x3788609a6fb34357L,
  84289. 0xbb9ea9c9d901d43dL,0x09cb2dae346643c0L,0x00000000000001ceL } },
  84290. /* 64 << 462 */
  84291. { { 0x2bf35f94ab7a841fL,0xdcbda33878e3fb0dL,0xb913947aa0195f98L,
  84292. 0xc8e30a9c4370e51dL,0x8a403e1ff0e558eeL,0x7dd167c4606db1dcL,
  84293. 0xaa343cbe5827ef91L,0x1404f2d6aace0f43L,0x00000000000001acL },
  84294. { 0xdfe19ea53db1c500L,0xdd04717148ef4a56L,0x38ab939eb9a5ec76L,
  84295. 0x8f2d56855648f852L,0x7f81313f2726f67eL,0x41cf3794f68f54bbL,
  84296. 0x9d400e52de14d6ecL,0xc046fda14c9eb1baL,0x000000000000008aL } },
  84297. /* 0 << 469 */
  84298. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  84299. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  84300. /* 1 << 469 */
  84301. { { 0x563f57ff87744684L,0xd8f2f1476562ce2cL,0xbf323b07ce7b4b70L,
  84302. 0x67b2111a9098ed36L,0x0c8a85c10b687259L,0x23a569d745d51e50L,
  84303. 0x6643f19b88d97057L,0x1eab273a875181d0L,0x000000000000013eL },
  84304. { 0xbd33de9418a1bffbL,0x3edd0df89700ac60L,0x3757dbeb61839145L,
  84305. 0xd31a9aab1a59a97cL,0xcaffafa2faf790ebL,0x9f36c13414676e8bL,
  84306. 0xef6eda5b18545787L,0x806a74c509ac46a4L,0x000000000000005dL } },
  84307. /* 2 << 469 */
  84308. { { 0xe6b236300de2a07cL,0x64d219926e52ba0eL,0xe5786eda68d1e768L,
  84309. 0xad163f8ecb6a04f5L,0x5a09908a101039e2L,0x8708327611a5f49eL,
  84310. 0x231d61fb5446a61aL,0x39e98ad1e7ddbba8L,0x0000000000000185L },
  84311. { 0x54ca5f0f3861f6e7L,0x0e0f1667d20d86e6L,0xcf229fd613d9adaeL,
  84312. 0xc8852aedc488ec9fL,0xfee0c03dee1061e2L,0x7167271a35298521L,
  84313. 0xf4fcf268fc0cfd1cL,0x645a9d2fdf809af6L,0x0000000000000057L } },
  84314. /* 3 << 469 */
  84315. { { 0x38c2b6bca021ca92L,0x715f2bf72d1c900fL,0x79d4428f5dce0826L,
  84316. 0x7466180355b0f95aL,0x59d9ba60059f6b0cL,0xa3a157eb1cad0687L,
  84317. 0xcb4e3f7aeacfd2e4L,0xdea5cbcb1e36ad17L,0x0000000000000090L },
  84318. { 0x49b0c5be4040f60eL,0xd354d658cadc11bbL,0xb17f1aa48b5ab35fL,
  84319. 0x09956859856bdc09L,0x4bdd06fff18da95bL,0xbf66d16d235e890aL,
  84320. 0x57d83d0076201868L,0x0bb0291f91e1a0c3L,0x00000000000000e6L } },
  84321. /* 4 << 469 */
  84322. { { 0x7a6b3fcb3b407efcL,0x05f6d0a3063ced31L,0x4a79c880f3f03bf3L,
  84323. 0x94181fff7a1438c8L,0x47fa4e4956106ed0L,0xaa97355dfaf7201fL,
  84324. 0x1264069e02f7c119L,0xf702c7f04d06b273L,0x0000000000000187L },
  84325. { 0x368dcb7ae7e258bfL,0x5f8a64eae8e4597bL,0x98bbcf2b6f13bcceL,
  84326. 0xc00c8e627d099f3aL,0x4803c4005e326891L,0x229deec9342badbbL,
  84327. 0x3b810a6f49e0992cL,0xfb55c6cd63758695L,0x000000000000002fL } },
  84328. /* 5 << 469 */
  84329. { { 0x07da16efbb07562bL,0xb7f9c5dbde14c8a6L,0xe687783fb79d420bL,
  84330. 0x14fec271567ceec8L,0xd765d3336d608c4bL,0x70e67e3a92960599L,
  84331. 0x24060de6d9a5a16bL,0xadc2fcf91c6f83b5L,0x000000000000014aL },
  84332. { 0xb78d9ad205aaecb1L,0x8e984114bcdeedc1L,0x0bd480509394336bL,
  84333. 0xfb533f263a0aea2cL,0x6308aa76b8c58b3cL,0x80124d89f64d3a4fL,
  84334. 0x58064b407bc9e04dL,0x64e21d55adbeb1b6L,0x00000000000001bfL } },
  84335. /* 6 << 469 */
  84336. { { 0xe0096d0f5c98771eL,0x05c2327096228ce9L,0xb38f45accbc9c99cL,
  84337. 0xf44d39cbb7abd830L,0x583a57461600275bL,0xe7911b696bd758e9L,
  84338. 0x54545d59b691c578L,0x0b03c85c8394c30eL,0x000000000000002aL },
  84339. { 0x988ac22042c8fe20L,0xde56a00b7832fc78L,0x8ea363bae0cd6d15L,
  84340. 0xfdcaee21cf51cea7L,0x104bd64ccfee6e76L,0xd9a935a575e0cdddL,
  84341. 0x775cbdf5da1bdc5cL,0x019215c361758097L,0x0000000000000113L } },
  84342. /* 7 << 469 */
  84343. { { 0x26ad960425b64fa7L,0x65d59abea783eacdL,0xa2c81fe86f55f993L,
  84344. 0xdb6068b8fed6d301L,0x52f76e9add95612bL,0xce2060f002858a68L,
  84345. 0x369c2092ff3912cdL,0xdc2d072aeac4c085L,0x0000000000000117L },
  84346. { 0xf6142267de8e4075L,0x74ffa58005e07abeL,0x13331f5dbec8999fL,
  84347. 0x08c7046124188d1dL,0x63a12765a9375cd0L,0x5afe946f3b9f95caL,
  84348. 0x2ced26b921e69960L,0x614458d7512f10cfL,0x00000000000000f4L } },
  84349. /* 8 << 469 */
  84350. { { 0x02fb84fd5f7abaeaL,0xa238ad04e991e445L,0x0d9b2d417c972addL,
  84351. 0xac2439f9478c558aL,0xc3c78a2c1ec86ed8L,0x3735839b2d3b2f29L,
  84352. 0x259728d450317454L,0x7b53a9cbe2377abaL,0x0000000000000179L },
  84353. { 0x95f44add5e4846ceL,0x85d2a8e87211225eL,0xcbf0abd8091a6646L,
  84354. 0x9d8b3475102deeaaL,0xe2a0a4ab602ba91cL,0xa6276d7f131de0d4L,
  84355. 0xbb90d1175f215c70L,0x49a60e3e07e3aa82L,0x0000000000000019L } },
  84356. /* 9 << 469 */
  84357. { { 0xeb40bcc4be860ee5L,0x47622caebabd1dbbL,0x5b4881286df7411eL,
  84358. 0xbb0a57dc8e4ae017L,0xdecd1b251a27c9ebL,0x9c33044ebd3d1b20L,
  84359. 0xd9e1d80e3205ffddL,0xa5f51d61a07581caL,0x0000000000000096L },
  84360. { 0x51a3a0a4441ea9b2L,0x0034263f805898deL,0x20ffe434628e71e1L,
  84361. 0x51b50e3897075cf1L,0x556732f72ae952c2L,0xcae37d27433977e5L,
  84362. 0xa79160c2bde9cfafL,0x2dd6cce9b25d68e5L,0x000000000000014fL } },
  84363. /* 10 << 469 */
  84364. { { 0xc5edbc6f85e4dc22L,0xc5933f26efc6be8eL,0xfd818a793f5edbf6L,
  84365. 0x09af29cde4c05b4bL,0x386ed43c5cb088d5L,0xa50a8e572fbfa65dL,
  84366. 0xfc3e90492effb79bL,0x8aced5f19883127dL,0x00000000000001e0L },
  84367. { 0x8aa6a432b05205a4L,0x7d5100c71ab38cdcL,0xed0d59ae9f026787L,
  84368. 0xf9812b5d04497c3bL,0x66ed8c8cfbcc0dbdL,0x9597f83779f6138cL,
  84369. 0x076883cd899808c8L,0x9884a305f4024d9dL,0x0000000000000118L } },
  84370. /* 11 << 469 */
  84371. { { 0x87d449701c005da6L,0x109fc435e49f09ceL,0x3070e9b5df09fb82L,
  84372. 0x6627c2c8fb79e375L,0x23c488d5aacf7040L,0xf7d96b62c4f9bd5bL,
  84373. 0x54e5c4d917734569L,0x02d5cee9240dce26L,0x0000000000000152L },
  84374. { 0xb4f24ee03d62aa32L,0x41ebe4e11051470dL,0xfc3a01594ef1cf93L,
  84375. 0x80efd898e64e8687L,0xd9b3993e8daa3365L,0xc0de82692618ee26L,
  84376. 0x461447cb4c5e1d3eL,0xa28313e53e23eb2eL,0x000000000000016dL } },
  84377. /* 12 << 469 */
  84378. { { 0xd898aad7aa89f44eL,0xa62a2d93c518f791L,0x6acbea45ad2d934eL,
  84379. 0x4dedeab78d3bd1f7L,0x072894788c0ff7e9L,0x11a995f7e6828443L,
  84380. 0xf0c92ed4d44b4181L,0xb7440b69416d7dd7L,0x0000000000000121L },
  84381. { 0xe800b3c21e920c11L,0x5c7dc454e9d3af72L,0xb2211645283116e5L,
  84382. 0x71675dff4ad35006L,0x2a8783eb5231dea8L,0xf79c777c659a3cb6L,
  84383. 0x1e8eadecee43df0aL,0x7ba45eb224be6f96L,0x0000000000000001L } },
  84384. /* 13 << 469 */
  84385. { { 0x4044fb9aa0e53379L,0xd71b9050787f853cL,0xd87e57ee44779c58L,
  84386. 0x5f3009e4470fb0ebL,0x378b1a209941a1c6L,0xa677ef62504924faL,
  84387. 0x7be3f1274b7545a1L,0x3ff5508eb5960cd7L,0x00000000000000f2L },
  84388. { 0x4cef6ffac4fc4869L,0x6898cb2900c32214L,0xdd8345ec9f931b5fL,
  84389. 0xd0a51e6c1777d16dL,0x4e3f7a028833256bL,0xf2eec60d0be037ddL,
  84390. 0x8ebf92143a28cb07L,0xfe94e5812e9a7bd7L,0x00000000000000f0L } },
  84391. /* 14 << 469 */
  84392. { { 0x9cfd0d70379920ffL,0x5b138849a7d11592L,0xfa3e1debda21ceb3L,
  84393. 0x65a7da37afbce19cL,0xad36c1e2ac24e4d2L,0xe82248727b2f4c24L,
  84394. 0x6b62f348d52a2de0L,0xf6e56f5762566193L,0x0000000000000018L },
  84395. { 0x5231f0dff354e7b4L,0x677e082ce7a8c0c9L,0x8d3b59ca91e10de4L,
  84396. 0xc8b5d573099d1495L,0x33ace8529f6dc625L,0x78bba7b132668cb4L,
  84397. 0x20f626184a9b0c01L,0x641ba19c9de82920L,0x0000000000000078L } },
  84398. /* 15 << 469 */
  84399. { { 0x701b527393cf6217L,0x1cb48f663555e29bL,0x22181c63c8f9bf06L,
  84400. 0x12da892bdc0c2b3cL,0x57522bc3cf766a0dL,0x521ffabc04f79b89L,
  84401. 0x1d10e64ec217b9a3L,0xf613de04359f3d30L,0x000000000000006fL },
  84402. { 0xeb657ed419c0bf3dL,0xa9ccee58bb8fd14dL,0x27bc141e9e50598dL,
  84403. 0x6b5e14c593fc9ab0L,0xd050fbb65ae50f0eL,0xf9f8760fa0521b92L,
  84404. 0x1ff8bff96c853693L,0xbe061e788df6d469L,0x000000000000010bL } },
  84405. /* 16 << 469 */
  84406. { { 0xcb30076118e71dd8L,0x01d2684604886b27L,0x22871d7b7cc1d69eL,
  84407. 0x1d138a47d0b3caf9L,0x53aeb97400a7c0b0L,0x712aa1a2262f9366L,
  84408. 0x58c84da46bcae07aL,0x521b7dbcae8708b5L,0x0000000000000045L },
  84409. { 0x03bd36438d3cd884L,0x20a737ee1d62a335L,0x37e1775f904f5c53L,
  84410. 0xb76783dd3baa91fdL,0x7c5521189a84e971L,0xd085796e4488ede7L,
  84411. 0xb418e7085068d6dcL,0x4417e81ae5275a73L,0x00000000000000d2L } },
  84412. /* 17 << 469 */
  84413. { { 0x81c12b63e30e72b8L,0x354fe20db4ad0c2cL,0x3bd33ee584fb3da9L,
  84414. 0x80c265beab0605a9L,0x4652ec39d3ab432bL,0x85b6357af4ac355aL,
  84415. 0x824d9e895096834cL,0x5b6886fce0e0bd26L,0x00000000000000a7L },
  84416. { 0x9747dd8b530ba303L,0xca95b8cff5a8cf9eL,0xcf0766268c2ca53fL,
  84417. 0xd62aa41a2f2b99fcL,0x21b4c001ead7300dL,0x536b0a59e026d010L,
  84418. 0xcb625f1b66ca8331L,0xcb613a3a56b6f938L,0x00000000000000ceL } },
  84419. /* 18 << 469 */
  84420. { { 0x1e26efcad3dad3b5L,0xc3f580c0ec404efeL,0x63e4f54bba07fc5fL,
  84421. 0x2c208d6c1655cb23L,0xb10a1a18e482f788L,0x7f6fd02dcd7f89f3L,
  84422. 0x5411e0380743db4cL,0x0e22bd76ce4efb17L,0x00000000000000a2L },
  84423. { 0x873c0af60d01af74L,0x2f4a0ec9ba060e1aL,0xded0dfbdaf48d8baL,
  84424. 0x5d2b528d780ec754L,0x42a02e2dbadf7060L,0x90d1c9a037ba2665L,
  84425. 0xb002f7c4a1007a96L,0xfff6be26355ad02aL,0x000000000000008dL } },
  84426. /* 19 << 469 */
  84427. { { 0x0bd4a3f0f9bb7cfbL,0x8d61b1c4087487ccL,0x9fc2ea4af9c93934L,
  84428. 0x77ae38d82326e828L,0x0c0ae32cd531fc73L,0x46b6a9c04b35fa57L,
  84429. 0x36798f1570f76923L,0x3941fd5cf13b2b6bL,0x0000000000000047L },
  84430. { 0xfa79c31c97ad3427L,0xae83362f4b6a8c6aL,0x19da33c36893337fL,
  84431. 0x15d666fcd8edfad6L,0x378ad97ba6648fe5L,0xba2d4463ff23dd7cL,
  84432. 0x687e42e6868e99d5L,0xf6c5d9dd88f69974L,0x000000000000000fL } },
  84433. /* 20 << 469 */
  84434. { { 0x14d14f636b330a4eL,0xf943c489289430d8L,0xc220f9b3dacb5aa6L,
  84435. 0x5f64ce3dbbdbc661L,0x32bdc1d5ebf6d100L,0x6d2cefa026f8304eL,
  84436. 0x55bc066635196423L,0x099f19e813c68f56L,0x000000000000017aL },
  84437. { 0xf8898c0067fd6808L,0xc9fcdd64aedb5d38L,0x141911bc93ecf107L,
  84438. 0x7e2034093432891cL,0xdd9f385e1b9f5f0eL,0x61b231e96f97e818L,
  84439. 0xec1dd4b9e8cc8371L,0x4e0a1cb9f44505a4L,0x0000000000000127L } },
  84440. /* 21 << 469 */
  84441. { { 0x929bafeded53c5e0L,0x14ddb02139df049fL,0x06226f149b246597L,
  84442. 0xf60eb64085bee3faL,0x37606f309b15a907L,0xf5b90ecde7fbb734L,
  84443. 0x038410daf9e730afL,0x4e2ee195f5d72e08L,0x0000000000000134L },
  84444. { 0x461c2d552cebcef1L,0xa43f38b5a32863ddL,0xfc3a8ded6b8d3365L,
  84445. 0x03b48889360f80bdL,0xd22be91598cbea9dL,0xc32a9ab72557b88aL,
  84446. 0x2ce4a476ae78f249L,0xae5831e640f9bf03L,0x0000000000000095L } },
  84447. /* 22 << 469 */
  84448. { { 0x41b796bf4796af15L,0x177d42f351a325a2L,0x487f3715601c15d9L,
  84449. 0x15ca3b1b40649c1fL,0xb06abca7f36a5e64L,0x14bad851e4b57bafL,
  84450. 0x2d42059d1862f500L,0xd2bf6d28db084902L,0x0000000000000186L },
  84451. { 0x128345b83e7774bcL,0x4598fe8563520a7aL,0x444316e72587d345L,
  84452. 0xc44643f03c926f91L,0x1ee021d93f3cfca1L,0xf5c84920bda26ccaL,
  84453. 0x673620287af1bb9cL,0xe05d4e740075bde9L,0x0000000000000061L } },
  84454. /* 23 << 469 */
  84455. { { 0xedd410e397f8467fL,0xf16210b41a5ccaa8L,0x2f078b037f73dd71L,
  84456. 0x2c2a5f448e99ae3cL,0xb2bf1970b7dfc8fbL,0xf37185b250883783L,
  84457. 0x7d5412a36a24e693L,0x18ee647497be701aL,0x00000000000001b1L },
  84458. { 0xdf6b6594435265b4L,0x876e6a7a9004e6a7L,0xe3ac6f6873cf7ae0L,
  84459. 0x965460544bda6cceL,0x84e762aca94218f7L,0x06425f2496b3336bL,
  84460. 0x569da13247d63056L,0xb4cb63d0b2d5a789L,0x0000000000000135L } },
  84461. /* 24 << 469 */
  84462. { { 0xee2ca82b76f521d5L,0x404c95b98d54184cL,0x7ef78330d43e178eL,
  84463. 0xed67f94305f36bd2L,0xd734f6b845f09837L,0x8760f0f7bd8f5a29L,
  84464. 0x2e7cf02112059285L,0x8d0be801ec54d3afL,0x00000000000000a6L },
  84465. { 0x51ba60c971042440L,0xea9c35ae614a4512L,0x006bbca51d410f81L,
  84466. 0x3d31ac431170157dL,0x69b0be25fc7e723bL,0x6da152ba38276789L,
  84467. 0xbe486c0593492808L,0x3fd119d980afa598L,0x000000000000008cL } },
  84468. /* 25 << 469 */
  84469. { { 0x8c94532ffb7677d0L,0x397f7f18f8a5be84L,0x94356c7499cce279L,
  84470. 0xb334201593980d55L,0xbf6ef9d18cb8520aL,0xfb28b68edd535916L,
  84471. 0x9cb149ed4dd8cc9bL,0xb97ea42aa9e2c064L,0x0000000000000035L },
  84472. { 0x9171a89ad37f9c82L,0xddc272092d5c7bf1L,0xadc3af681b9e94b7L,
  84473. 0x613f81ca5682caf4L,0xaedd0d66e3453e90L,0x651161a92971b9f3L,
  84474. 0x0399d25284688cecL,0x40d177e41be785fcL,0x00000000000000a7L } },
  84475. /* 26 << 469 */
  84476. { { 0x6871be7478d0c1f5L,0xf6c364f7456a1d88L,0xee53602c1666ff19L,
  84477. 0x8b0a05995621622eL,0x8937537341feb4d2L,0xf34622cf94a0e8f0L,
  84478. 0xeb9e1ee76efcc350L,0x1312f3a350063323L,0x0000000000000055L },
  84479. { 0x2fc73efe356883d3L,0x62a03b106d884fb7L,0x901bc04d7cabf01cL,
  84480. 0x2511c5e129ebb711L,0xf94d884739bf842cL,0xe50486da63edc964L,
  84481. 0x8cb348db60b10d7fL,0xe29a998c08ede95bL,0x0000000000000174L } },
  84482. /* 27 << 469 */
  84483. { { 0x3f8ddcd46347473cL,0xc61ed0f9a7e239f6L,0x45dbea9289ccadc2L,
  84484. 0x2c5683f3cef07a9bL,0x51df4da3df13c487L,0xd78c61c30a089e81L,
  84485. 0x47302b22831fa26aL,0xe3a79e8940504a7bL,0x0000000000000088L },
  84486. { 0x16d3f12ba4b11470L,0xa70377ad6ea07a36L,0x959342d5cc15cad5L,
  84487. 0x1fd7d8cd8e4d42b7L,0x70696e3cb694988aL,0x7c73847433e52d9fL,
  84488. 0xe96d5471c41dc241L,0x49cb9b9ca6f8eb8cL,0x00000000000001a7L } },
  84489. /* 28 << 469 */
  84490. { { 0x29dac47503b83778L,0x13fdb36b56f8223fL,0x15108cf7b189bf97L,
  84491. 0x04cb678c3d959be9L,0xbfb72511cddec7cdL,0xd255fb17b2a649f7L,
  84492. 0xe7b7616ff0210128L,0x49891af158674716L,0x00000000000001dbL },
  84493. { 0x5fa647c585e511daL,0xe6d774239b517adfL,0x131596649e9e0ed5L,
  84494. 0x6a090a1234cbf60cL,0xc213cfe51b5cd8e9L,0x152c5434d7236d27L,
  84495. 0xfc7df774944f90c9L,0xb1890bc9c119589bL,0x0000000000000167L } },
  84496. /* 29 << 469 */
  84497. { { 0x9b16f2144a14d787L,0x1036d9fa52079b2aL,0xa83ff9ecce07e344L,
  84498. 0xddfeb66c46311e85L,0xbf554a70cfb9513fL,0x467bab678b31b889L,
  84499. 0xdfae7a0fe9372329L,0xe4f2f5917e51c8f8L,0x00000000000001f2L },
  84500. { 0xc486a286d75feb83L,0x69c676f3087f2443L,0xbfb329c2ad4f54e1L,
  84501. 0x301e122a09a7f840L,0xdc1ed7aab169543eL,0x3ae1310799c64627L,
  84502. 0xdfbfa25ca5c949fbL,0x6eb39e641b020190L,0x00000000000000e5L } },
  84503. /* 30 << 469 */
  84504. { { 0x4d98b2ac32d8dbe8L,0xace115d91cc99ad7L,0xb8f9b3315543aef7L,
  84505. 0x7d65d76b79819d68L,0xe70fa04ca7b35f9cL,0xf0679fe75fbe62b6L,
  84506. 0x8e878e2f00de3fc4L,0x1a90ed223a42887dL,0x00000000000000caL },
  84507. { 0xd80cbfe401063d2dL,0x6cdc0a2c27cf1c3aL,0x447c49dcc0141542L,
  84508. 0x98f2ec0c0cb0cf80L,0x07549703ff297bd2L,0x833c79f2a23585e4L,
  84509. 0x4224adb3ddf0936fL,0xecb57a5a699ea6eaL,0x0000000000000018L } },
  84510. /* 31 << 469 */
  84511. { { 0x56e17019ff059f29L,0x002581359d92fa55L,0xfc9b7a6925777d70L,
  84512. 0x9870806ae3f5ce87L,0x99e086f26d73ecc3L,0x3b2e4d9fa35841dcL,
  84513. 0x485817f1b62ce114L,0x0bac63bdb5c1be62L,0x000000000000018eL },
  84514. { 0xcffa5dc1b9ac6c2bL,0xc3a26fdd56f9eb8aL,0xcaef1a4f3898781fL,
  84515. 0x426a86c5a8cd88d0L,0x1716fd7cab614e6eL,0xe12c9101c06bbbb7L,
  84516. 0x63e9171f62757ef1L,0x4cec09acd1f320f6L,0x00000000000001a4L } },
  84517. /* 32 << 469 */
  84518. { { 0x099c2888d6c5b0b9L,0xe35ce1381ffe8a3bL,0x133c35ca74939411L,
  84519. 0x13521b322ff27ae3L,0xbde73625f760a06eL,0x199340715ee54408L,
  84520. 0x69db07e102f9b217L,0x1389c23586a5e6a5L,0x0000000000000112L },
  84521. { 0xcf5b0e89ca1aa74fL,0x0cfa76325d844ccfL,0x04be199c65c3286fL,
  84522. 0x483e0ff9d204e249L,0x9df8ce9704c424b5L,0xe35cda3ec05c0793L,
  84523. 0x8a595df3f2798180L,0x7522b808fbe7f5c9L,0x000000000000009cL } },
  84524. /* 33 << 469 */
  84525. { { 0xcadd02a27d7784aeL,0xcce86dfea7fcf493L,0x87cd6f95bdc14ad8L,
  84526. 0x27d2fe24611512f7L,0x9bc408a777dfbb5eL,0x9cb1f6603e961625L,
  84527. 0x08542ccc1c253a6aL,0x1ec8713fa541f855L,0x00000000000000edL },
  84528. { 0xc358a687448cd884L,0xb75d140050d6ba88L,0x137a7569196b52c7L,
  84529. 0x0cc62c0712f61a5aL,0xaa3653cf8d2497abL,0x9c79351e5d45d412L,
  84530. 0xecababc65af55894L,0xc409198b52097ed1L,0x00000000000001c6L } },
  84531. /* 34 << 469 */
  84532. { { 0x0e472757f7011a71L,0xcebb0eba09da90e8L,0x933ee6b4aef7b7d2L,
  84533. 0x0d2e742cb68ae8c6L,0xf373fc3f32de83bfL,0x0b51f343d249eaa0L,
  84534. 0xef0bd45abab03af6L,0x965b8fefa1c07e8cL,0x00000000000000cbL },
  84535. { 0x571817f5ed0017b4L,0x6aee829608047226L,0xf4334820a389806fL,
  84536. 0x2e0c2dab167c885fL,0x2c1894f48d6c34fbL,0xcba4358013ce3154L,
  84537. 0x816b7e7132649e05L,0x3b02046e20aebd59L,0x000000000000019dL } },
  84538. /* 35 << 469 */
  84539. { { 0xa949bdcc0216439dL,0x72e5adadad102c3fL,0xaa9183ba0af396b9L,
  84540. 0x41a83eacadac5678L,0xda7577495ea96f88L,0xac27f511f7e5d25fL,
  84541. 0xbc92e35389a6c9eeL,0x472b947c1dd5234dL,0x00000000000001c9L },
  84542. { 0x1c9d64a4fcb14344L,0xa6d842b3c98a85e8L,0x1b4fb2636cd3f69cL,
  84543. 0xc484dcfa2189d8c3L,0xe4e45792e280a9eeL,0x65da8ef6202443b7L,
  84544. 0x2ee30251e71dd154L,0xf650203adea3ba9dL,0x000000000000016eL } },
  84545. /* 36 << 469 */
  84546. { { 0x0fd34803710bfda8L,0x697671fd37d08a77L,0x61590350952da84aL,
  84547. 0x6355b6ef4eaffb94L,0xa654647f3712f7deL,0xf7d3db844bf5551dL,
  84548. 0x803b4b6f92e47512L,0x2dac8ff69e3838c8L,0x0000000000000109L },
  84549. { 0x55e242b9515c2e04L,0x6802de1d9eead096L,0x3e2098970399ca1cL,
  84550. 0x62dd1077a4ef1ac0L,0xb89f5b0c24e1d439L,0x8ff7dc3093678ea4L,
  84551. 0x9858576394713929L,0xc14b25abdc8d0a7fL,0x0000000000000042L } },
  84552. /* 37 << 469 */
  84553. { { 0x7e70f8794d7f6f2bL,0x419829cc4a31a41aL,0xb4eeaa99324fd76dL,
  84554. 0x95c37844d200095dL,0x95873b642c3e8cf4L,0x9fc8600ff3733834L,
  84555. 0x13ea6eba7403564cL,0x2d4f9ec2f93389fbL,0x00000000000000d6L },
  84556. { 0x4e0f87b3220667ecL,0xbe666aacc0f871aaL,0xe22ba2305c46c0a9L,
  84557. 0x3f7f397cc2fb5d1bL,0x701ca7f8a310ab98L,0xf561043c97da4402L,
  84558. 0x9d7d99c7dc5e2e08L,0x854db674bbd1ff7eL,0x0000000000000065L } },
  84559. /* 38 << 469 */
  84560. { { 0x48b0c44b10fbb232L,0x23efcb9474bb12cfL,0x2283fd4289254aaaL,
  84561. 0xf824e6cfafc254f8L,0xcaac3118aebd820eL,0x9a69ec62a1e6b686L,
  84562. 0x50ccc5245df7b70eL,0x2bf74a2119c0ef11L,0x0000000000000097L },
  84563. { 0x1cb448466450f3d1L,0x316968226ff2a91cL,0xa32c75e1e3e83f42L,
  84564. 0x45cdb5ddc766d607L,0x44e4f4644405a2eaL,0x1ce0895a2af43ed5L,
  84565. 0x546bcf8f5d4fabddL,0x2ae184db680ad728L,0x00000000000001eaL } },
  84566. /* 39 << 469 */
  84567. { { 0xf873545aadd1bb8aL,0x6df75855b3381916L,0x85a46959282f5600L,
  84568. 0x7f63ee00cab1b8d7L,0x61d5dc47e3960f89L,0x2ec0164befcfb0d7L,
  84569. 0x05fe38cf325dbeaaL,0x786e7fa34b0292e5L,0x000000000000008bL },
  84570. { 0x29c1395fce8b30e7L,0x0aaff0c90c3ea317L,0x3b0ef202a4dfab3eL,
  84571. 0x675cd59aac01dacfL,0x8a22b232aebb8ca6L,0x552271b7f28586ddL,
  84572. 0x2a23a56dfd03890bL,0xbdc3ca28de16b4e5L,0x00000000000000eeL } },
  84573. /* 40 << 469 */
  84574. { { 0x14596043e92e85b5L,0xe3caa4f1309bcc86L,0x0946eecd6a004131L,
  84575. 0xa8f39a0a5d559370L,0x2907f0fb9dd39852L,0xd26639c2b3624b6cL,
  84576. 0xb45f0d32034709b8L,0x0ae962d48065c9d8L,0x0000000000000144L },
  84577. { 0x3de036a5d521ed0eL,0x5ce0990022e88bedL,0x2170357d527f6be6L,
  84578. 0x7cc9e9ff5b47a6c2L,0x801ff33b9748eb94L,0xcb3961d6372d1840L,
  84579. 0xc3db0b3bbda53a97L,0xfff1a0789bd74f00L,0x0000000000000127L } },
  84580. /* 41 << 469 */
  84581. { { 0xe2beef9875c4e3d5L,0x6e2985be41385dfcL,0x3dc139491d5be62cL,
  84582. 0x421ad84a59db88a2L,0xe290f65ef1cd9c62L,0x8cad81dd031fdf5aL,
  84583. 0x2ffff38b7a70772bL,0xdbcae403aed61b17L,0x000000000000003aL },
  84584. { 0x685cff22a6961366L,0x46543384b061a17aL,0x1d93260699b2b99dL,
  84585. 0x115b73e62486c41dL,0x6cbea3427fea8a8cL,0x21e238b85fb70622L,
  84586. 0x13df7dc40dadf79dL,0x89b2c737bb4fed33L,0x0000000000000008L } },
  84587. /* 42 << 469 */
  84588. { { 0xe470a3f68811f377L,0x8389beb00236aa7dL,0xf0f6c917982f42daL,
  84589. 0xa8d017fca5e6a3dfL,0x00a281a86f6c2422L,0x5a713942a6cdb487L,
  84590. 0x4a1b57083f4d0029L,0x64d0114ab2000863L,0x0000000000000145L },
  84591. { 0x842dd8a0569a9ca2L,0xb55b007b3b347c48L,0xba12f822b3667837L,
  84592. 0x67579db2bbe1a4b3L,0xee34c780b2ee7cd0L,0x08c9f20244fcd799L,
  84593. 0x592790de609495baL,0x6c279b065fb8bc01L,0x000000000000009bL } },
  84594. /* 43 << 469 */
  84595. { { 0xd9ec089d45a61664L,0x6adda151ef4d7edfL,0x788c96573e74cdaaL,
  84596. 0x2b73df110162a42eL,0x70fa479627178991L,0xc028dde06b7360eeL,
  84597. 0x683cb8de527692e6L,0xb06c972e4039737bL,0x00000000000000aaL },
  84598. { 0x6ecd795e03cf1545L,0x4cb6ef7ca49d14f6L,0xe7d26ea24c9f0793L,
  84599. 0x74f86a00c5bb3a0cL,0x2f029188b022a7c1L,0x1f5a67a5d11a7ac5L,
  84600. 0xac81b2fe6a5724bbL,0x8c149f3d175d86e0L,0x000000000000019fL } },
  84601. /* 44 << 469 */
  84602. { { 0xec1c52dfbcd98d89L,0x311fa61f10eefe3bL,0xc46f60f85e624ea6L,
  84603. 0x30c2171be17a2b62L,0xb12102e30b8729aeL,0x8be6c0ceb4723895L,
  84604. 0xde06c2aaee640520L,0xa71ec10da86e11baL,0x0000000000000051L },
  84605. { 0x73019b3097a7bd73L,0xa01007744052d44aL,0x52cd660f34686dd3L,
  84606. 0xd02b71fee0879244L,0x8efc04c0f2266eeeL,0x1ee192c7b71ba925L,
  84607. 0xa6d63f084408ef54L,0x23adc3915c77390fL,0x000000000000003cL } },
  84608. /* 45 << 469 */
  84609. { { 0x84ba05e3bd62d818L,0xfa9746922dfb9f05L,0x6b15453937718201L,
  84610. 0xa6624bf9106687d4L,0xe09a44c3d9f29e00L,0x87d2e4bc137d2f83L,
  84611. 0xff90b283b9b00e40L,0xcfb6978b87df7a57L,0x0000000000000129L },
  84612. { 0x4aa5e02c503bd70cL,0xc985efc743315974L,0x61e2ef6999fd881dL,
  84613. 0x8ddec42d5c84dcd1L,0x4eb1d068f6d37ccfL,0x39e186198b84a79fL,
  84614. 0xf3924d7f4a78ec0eL,0xbb702e055c90b885L,0x00000000000001e1L } },
  84615. /* 46 << 469 */
  84616. { { 0x2885ea42d044abd7L,0x13f7e9191c8843b4L,0xae0401519f420498L,
  84617. 0x8829dba445329e31L,0xd1a19fcf17754079L,0x367b6764c564ea64L,
  84618. 0x5f27569de885a386L,0x660bc6bb97b48147L,0x000000000000000bL },
  84619. { 0x5936d68d04ab459dL,0xe45234d817c2a65bL,0xd76cb1fef46a84eeL,
  84620. 0xc310f74af3bcd4a2L,0x605f3f125c2dacf8L,0x3e533d128bef904dL,
  84621. 0xd389dd9b76ea5518L,0x7fb8d72eebce15a8L,0x00000000000001bcL } },
  84622. /* 47 << 469 */
  84623. { { 0x1b39356dadbcad10L,0x611d06efd2c02a3eL,0xce5b763a4c497670L,
  84624. 0x48fc1378ab055283L,0x46b39cb9678c2c83L,0x03a783b393eb7d11L,
  84625. 0x72b6d5f8f5a13b37L,0xe69316dfa85fe503L,0x00000000000001b7L },
  84626. { 0xabf89b61520f51b5L,0x93e7cdc45db81dc7L,0xc4be33eef9ee3d28L,
  84627. 0xe1e43f98d5983740L,0x8f37e5a35ad31353L,0x97083b97a896a61eL,
  84628. 0xd117eb5e292c0624L,0xba08108c874f328dL,0x0000000000000081L } },
  84629. /* 48 << 469 */
  84630. { { 0xb758f2cd23509208L,0xd4f7af5088ba1557L,0x8ff26bbde472d9feL,
  84631. 0x071723868960ac4aL,0xf63e404e9025de52L,0x05053c3fcacbca10L,
  84632. 0x55ad71f0e90cdfb2L,0x25d5716580e65089L,0x0000000000000125L },
  84633. { 0x5de6508419a94651L,0x9aa2dbc01bf9c999L,0xc97a237737d94752L,
  84634. 0x9963d33ca4d21f9cL,0x679f837fd92c494aL,0x1876a9cc69fc4047L,
  84635. 0x028e4edfca690225L,0xa49474168359a44bL,0x000000000000004bL } },
  84636. /* 49 << 469 */
  84637. { { 0xade71ac8fea31c97L,0xcc8f381103919f2eL,0x066d7a1c0fd575abL,
  84638. 0x5c1bb1f252a3e9d5L,0x830ae9819689a600L,0xac9bb5b66763b7c2L,
  84639. 0x40db293aab2e1ad9L,0x8f0de39f530fa624L,0x00000000000000cfL },
  84640. { 0xc963031f35628945L,0x9a2e7f3e99ea6df7L,0x8b759a2fd3491ee5L,
  84641. 0x88136e3f009653aaL,0x48198194c5239084L,0x9fef1f19e4af6853L,
  84642. 0x42cd9f4adaab6571L,0xd834784943ac38daL,0x000000000000010bL } },
  84643. /* 50 << 469 */
  84644. { { 0x77b95920abd07a42L,0x66ae951e1b05f9d9L,0xa0b29e1f1b845797L,
  84645. 0x460087bdea66fa1eL,0xfca234ff973965e8L,0x4ef0d58742218113L,
  84646. 0xbb90f9c0e58e2ba6L,0x2106ece57a1ded9eL,0x0000000000000004L },
  84647. { 0xa9d190182787b7aeL,0xb127a7d318cc1c8dL,0x46455feadf775a3fL,
  84648. 0x4bc1973ab91f6f24L,0x2941ac6d1a3e4cbdL,0xedc8328bf1740029L,
  84649. 0xe4068b2e54ed0273L,0xa7228a7e8c23a1d4L,0x000000000000019aL } },
  84650. /* 51 << 469 */
  84651. { { 0x957939dae7894375L,0x1b2775f257816ca9L,0xf67d7c380004bfe9L,
  84652. 0x4582ae0821eb8de4L,0x55df582abcbb4aa4L,0x30e5b50b16723f24L,
  84653. 0x91f672daa350f89dL,0xb77fe0544be6380fL,0x0000000000000117L },
  84654. { 0x1710653ceeb1c98cL,0xf82be08c6ae35cc8L,0xdbcdf1421680e596L,
  84655. 0x2032b7410227e6c9L,0xe478bd37f07adb40L,0xc8b549c8aecc5475L,
  84656. 0xff5f364c7ba0a27fL,0x654355061768ee6bL,0x0000000000000042L } },
  84657. /* 52 << 469 */
  84658. { { 0x22fe2e191a3ccdfdL,0x55f8139c13a8c7cfL,0xedc73b1c01e0f56eL,
  84659. 0x5a9c1968a3fec725L,0x782182d6f8ae2cd5L,0x5f66b8c17f9f64b4L,
  84660. 0x17a2bb332c101e97L,0x187ef5a232a96850L,0x0000000000000197L },
  84661. { 0x5d5fb38747d1be1bL,0x3713edbf1de57442L,0xb04956d328a92374L,
  84662. 0x9c92546515debd61L,0x0e0f52fec13defccL,0x891c71261307bbbdL,
  84663. 0xa772556bc296d5aaL,0xd7eb1d8ea8f6b37fL,0x000000000000018dL } },
  84664. /* 53 << 469 */
  84665. { { 0xf241efe3e318cb2aL,0x03033711ac571aa6L,0xe3efeeae1b42ad11L,
  84666. 0x49bed2b2dcf40cd9L,0x3c9fd4976f2832c9L,0x598a96e609c7dc68L,
  84667. 0xfbf270ecf5686223L,0x3c0871ee7cbf72a3L,0x00000000000001e3L },
  84668. { 0x477eda86b7fefe1aL,0xd36256c26d037d5eL,0xb0df707391f39886L,
  84669. 0xbf2c97fbaa590f83L,0x7b8e2aa452150aefL,0x1d0fcc93482aeb90L,
  84670. 0x5086665c90256ba7L,0x90a4de3f64e6ee28L,0x00000000000000e3L } },
  84671. /* 54 << 469 */
  84672. { { 0x9880edbb634779f8L,0xa78c28e60c979f1dL,0xe94854d81204dd29L,
  84673. 0xf4a09ef365453269L,0x8015c054bc074682L,0x3648356358d5013eL,
  84674. 0x0d2b20adf0cf4a28L,0xb96421ac0a192c94L,0x000000000000017dL },
  84675. { 0x923b881f9418af47L,0x5f86d74cd0744d6dL,0x9bbc2f0317c2ede0L,
  84676. 0x2ff3016d4d7f81f2L,0xf7e99bdc588dd88bL,0x60988dfd36e09430L,
  84677. 0x7fcd2c1911cc41eeL,0x7dbb6444436063b6L,0x00000000000001bbL } },
  84678. /* 55 << 469 */
  84679. { { 0x13a7925b4f357fe8L,0x54250aaab46ba080L,0x6b75101f52792018L,
  84680. 0xc1f2737f27e87303L,0x8496a09b7abc0687L,0x36a23d44f65d79fcL,
  84681. 0x1079339f87d831eeL,0x529ae62aa07364ecL,0x00000000000001caL },
  84682. { 0x2742ce4c81b0623aL,0x513a65fa584a9f69L,0xe5b6b1ece25bd3f5L,
  84683. 0x1a6a7359d5883ef7L,0xd5a90c6dec6efe65L,0x5db42aea38802659L,
  84684. 0x31671373bff583dfL,0x9fccd94f6920e040L,0x00000000000000dfL } },
  84685. /* 56 << 469 */
  84686. { { 0xcc51cb4b1aa88055L,0x55c2dfc46dac9c77L,0x4e0019affb5e8de9L,
  84687. 0xd686f86dd0d60937L,0xfe4bcb522f3ac7dbL,0x102adf661cbd8b5bL,
  84688. 0xfe830c11f89ad228L,0xb635e0e1969b169bL,0x00000000000001a6L },
  84689. { 0x6b51c9abd5b1c229L,0x1d2912be9ee262caL,0x6208f3dd838c6d6eL,
  84690. 0xc3b9a9e5d6e11544L,0xb88e99336a2696e9L,0x81b5b9c8ea9d3206L,
  84691. 0xa7f2f30243123369L,0xbb51e48673bc3a3bL,0x0000000000000113L } },
  84692. /* 57 << 469 */
  84693. { { 0xdd0f189b4c77e727L,0xfe4cd2f6d9bd0fe2L,0x6454e3cd94c2a526L,
  84694. 0xdff102f317ad2166L,0x461734c46191e95cL,0x04cc3f496c830f05L,
  84695. 0xa8740c863dd2ed7bL,0x5dca654622703431L,0x0000000000000019L },
  84696. { 0xa80ffaa51518d57eL,0x9e1fcde11f48dd75L,0xb0498a4b829f4b88L,
  84697. 0x4823bb28b7f05dd1L,0xd9c6f5d262938b03L,0x4d1660c414d15f13L,
  84698. 0x444a74a0a0fd9a40L,0xd764f15e3770cf5fL,0x000000000000014eL } },
  84699. /* 58 << 469 */
  84700. { { 0x7c62a8d4146c122cL,0xe575b2ca1799b0a5L,0xe5195dae1b06ffeeL,
  84701. 0x5f0dc83a847f27fcL,0xcc10735305898b9dL,0x7f2ef8ec4713c3b5L,
  84702. 0x653844ca4760afe0L,0xc6d972950f6152b1L,0x0000000000000065L },
  84703. { 0x996a0d1a59bd137bL,0x6511d7685abb04b7L,0xb916dc2f78ef48c9L,
  84704. 0xf46d1bf3de129423L,0x3f7f3de897ac10d1L,0xa37c5c11676afc7dL,
  84705. 0x39dbdf85d2671f5fL,0x2b5607945657c0f2L,0x0000000000000088L } },
  84706. /* 59 << 469 */
  84707. { { 0xb24089fa6d540d96L,0x77c1e4b018a57d1fL,0x1c62eb46e056b93cL,
  84708. 0xb98bc55624e9658fL,0xf225c49850aaadb8L,0x9843ca5ece753e67L,
  84709. 0x27f231f12c66df92L,0x9825c25b34934cb3L,0x000000000000001dL },
  84710. { 0xf92f334c84795c3dL,0xc1f54e7b36b19eb7L,0xe891a3cc496b86deL,
  84711. 0x405cac982f43e3a1L,0x319c8569e8d9c821L,0x8ce93789ca7db1bdL,
  84712. 0xa4a4227155c7920dL,0xf63a98e73fb59f04L,0x0000000000000088L } },
  84713. /* 60 << 469 */
  84714. { { 0x3d9e327a3dffaccdL,0x23e7de91b57be47cL,0x34af6490996a4df3L,
  84715. 0x9024fdcd23d46ef7L,0x9b55c37bef6749e8L,0xcc0e2ea4750217ccL,
  84716. 0x9c0aa3a54f07fee1L,0x678db2f28154dfc2L,0x0000000000000007L },
  84717. { 0x3ca56f0f1355da47L,0x7ab6eb7d4cc64fbcL,0xd68b2467a367d8dcL,
  84718. 0x908dadb995cbc15fL,0x0694c136c5ca5ea6L,0xc444772432837dbeL,
  84719. 0xb29f989c23df02d4L,0x43a6d58a7d60fe91L,0x0000000000000103L } },
  84720. /* 61 << 469 */
  84721. { { 0xaf60ddd4fd331e77L,0xdb2b23b6e4bda275L,0x50de018692fabaf2L,
  84722. 0x18f4ee1e439f1467L,0x1d6ad1c55f41e1d8L,0x1870539a6185d956L,
  84723. 0xa469cd954b7c195bL,0x0512eee3a8f71640L,0x00000000000000c0L },
  84724. { 0x649527de55b56f56L,0xb6c666f14fa873e2L,0x8c12fcc042440b9bL,
  84725. 0xe44ce0c97ddb3192L,0x5c9d67f0c5e1f50fL,0x4d2e9d041c957109L,
  84726. 0xece745bf334a3f13L,0x4c0fdc639473d8cfL,0x00000000000001b9L } },
  84727. /* 62 << 469 */
  84728. { { 0x214dd24ea5dda3ffL,0x4423c61b58d48ab1L,0xed596e642546d55cL,
  84729. 0x3e0c6b0726ca41edL,0x47b13e973bd71b9cL,0xdca94741169e56c3L,
  84730. 0x6c380c7598078a65L,0x364caeb1ab093024L,0x00000000000001ecL },
  84731. { 0xf5dd2e474ea3d662L,0xaadb18becc01369cL,0xbedca5296be99116L,
  84732. 0x4dca80e0934f07a8L,0x99adb72766b0b50cL,0xb478a6f79766ca8eL,
  84733. 0x771ac1e2d3573d18L,0x0c64c745619fd002L,0x000000000000014bL } },
  84734. /* 63 << 469 */
  84735. { { 0x1ff694760c4e06f6L,0x00e69af1532a26ceL,0xf86f1f52c6b2dd00L,
  84736. 0xfdf77e8a92114d6dL,0xf5d2ac406197eb57L,0x66465d59ca274247L,
  84737. 0x708608a82c41da24L,0x3f3d3a4afc46e7dcL,0x000000000000000bL },
  84738. { 0xbf456142b8e1680aL,0xe98df23e3d5d3376L,0x4e0c78faea79d6a5L,
  84739. 0x1e7cfeb16436e15fL,0xf7ba6fef589b8115L,0x1cee877d7b5d2271L,
  84740. 0x1a9a5e2faa96639aL,0x1b756ea93bd35dc4L,0x0000000000000171L } },
  84741. /* 64 << 469 */
  84742. { { 0x5ea6d7ec70be25d7L,0x7123951418497519L,0x86ec4211661279b0L,
  84743. 0x3c673364d41deb71L,0xc7f5bf951884db68L,0x17eb082e77ecec04L,
  84744. 0xec159bb14ccef5a8L,0x630d61dcee69d948L,0x0000000000000130L },
  84745. { 0x0d0db8b4c1a69df7L,0x28590b46cfc11acfL,0x5137b85bb19d5a7dL,
  84746. 0x6069874da376813aL,0x871126092ab28149L,0xddc1900069e6d09cL,
  84747. 0x7b3544c70114f9bbL,0xae2d081fe842291eL,0x0000000000000110L } },
  84748. /* 0 << 476 */
  84749. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  84750. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  84751. /* 1 << 476 */
  84752. { { 0xc7cc50fb09b5947bL,0xe166a9afd5eae02fL,0x47c7953fda349c90L,
  84753. 0xc3d4bcae21c0984dL,0xcee13c2f45ff2419L,0x334cc1f147780ddcL,
  84754. 0x21381fb6f1157180L,0x28ff4f86eaede87bL,0x000000000000017dL },
  84755. { 0x10c72b8260e096a3L,0xc73306ec5ff796baL,0xb3f60666fecc17ecL,
  84756. 0xb9e0d51f46f82c8dL,0x6cbe5c7e296da50cL,0x87cb11044fa6c1ceL,
  84757. 0x5d5e0f6d491f9b8bL,0x187baf6970eb3d18L,0x0000000000000103L } },
  84758. /* 2 << 476 */
  84759. { { 0x2fafc73f189a0360L,0xe08428f1a68509e8L,0x4700e3eb3a2af597L,
  84760. 0x143c0bf14b298188L,0x9fb03775f0b9b8f6L,0x7c9e5a3a2653d193L,
  84761. 0x41109c62d1f8ab93L,0x8ad7cb71434536b8L,0x0000000000000073L },
  84762. { 0x82c43b2daa844eddL,0xad5be7ac3cafb62dL,0x8dd99c5b4a5b4b0cL,
  84763. 0x2a11dc4131c113aaL,0xe62332e93390e968L,0xa912cdea4b073b39L,
  84764. 0xbb0b8141bc11cb2cL,0x504272d1c9dca239L,0x000000000000007fL } },
  84765. /* 3 << 476 */
  84766. { { 0xde0324030689ca3fL,0x4584fd9714fd0202L,0xbea63186c84bfe39L,
  84767. 0x0e579aadaba48f51L,0xcda28545c1a4c309L,0x33629507fd645c90L,
  84768. 0x0c77cd5627b58e13L,0x4d84313664dda00fL,0x000000000000016cL },
  84769. { 0x281cddf1e91a439cL,0xaedc15d538bf386bL,0xf2f22343f35ea657L,
  84770. 0xf9fe82ea18a01f1fL,0x04f9f4730b5a27bdL,0xd296626d025df338L,
  84771. 0x45b950ba633dca68L,0xeeef58ad19f73b2eL,0x0000000000000008L } },
  84772. /* 4 << 476 */
  84773. { { 0xd92a04c26573f504L,0xb69c2dbb85de7ce9L,0xb2b82853a2a36153L,
  84774. 0x2899bd376af7feb5L,0x301805e5433c9010L,0x5bed8acab616d5dfL,
  84775. 0xc8afda4270e4b63eL,0x496eb13248cce468L,0x0000000000000103L },
  84776. { 0x6ebcd0500973771cL,0x6377d971474e651bL,0x7d0a936b0f6dea19L,
  84777. 0xf7cf4fce0aeaf504L,0xcee2076c170c2fbaL,0x158448263af78646L,
  84778. 0x67737e06e27f2225L,0xdfff84af4601bd5bL,0x00000000000000c1L } },
  84779. /* 5 << 476 */
  84780. { { 0x035d0a019df3894bL,0xfcfb77c6c2f36a07L,0x04957358c9319662L,
  84781. 0x52fb2c650e0fbe5bL,0x26d1fb01cf3ebed5L,0x3a417dc06f338b83L,
  84782. 0xfb234b48d11a9621L,0xbba96393db3f5cbbL,0x00000000000000d1L },
  84783. { 0x78b95f1495129ff9L,0x10504de14d5f0abeL,0xe8c7250d3f4dde14L,
  84784. 0x20c04ab4ea00ac99L,0xfaed11686eb2143bL,0x23e32bf4544284b5L,
  84785. 0x0512a28dbad3acb7L,0xaa1926aa86d008a6L,0x0000000000000192L } },
  84786. /* 6 << 476 */
  84787. { { 0x81f919bc75e0a1f7L,0x89de5dd7cd6a017dL,0x14d88451c9a96fcfL,
  84788. 0xf3f61d046c5b2967L,0xd21b7e9c453a4189L,0x18e9c74dc8b7bf46L,
  84789. 0xf8903f4f63921ee6L,0x1cabb3f025060de5L,0x000000000000006aL },
  84790. { 0xf15cd5c8c291f1cbL,0x26c8a484d0311e2dL,0x1e5d93b9d9e366c1L,
  84791. 0xb037cbdd812fd505L,0x8614127c0c567514L,0x4125bc9b4256930aL,
  84792. 0x84f62f976a0a82acL,0x5b12e21e8dbd5c67L,0x0000000000000192L } },
  84793. /* 7 << 476 */
  84794. { { 0xbe5764c9caf7fff7L,0x16cc873d6d606b04L,0x6a6f20784268cdfbL,
  84795. 0x06cd7ce627bd5738L,0x532d5c4242e47936L,0x704f0b2a7d0f8758L,
  84796. 0x6046d9f36d2e977aL,0x53feb41a1327c874L,0x00000000000000fbL },
  84797. { 0x9425b4d1013ef2beL,0x98b50c6e98a45194L,0xbf181a2b9df34265L,
  84798. 0x39c40ce4c2de575cL,0x6757daeb883b4dccL,0xcb224d4bf8b5efbcL,
  84799. 0x2dcf10aeed49a2a0L,0x9c1fff7a9ffda898L,0x00000000000000ecL } },
  84800. /* 8 << 476 */
  84801. { { 0x7d2636053e0c991eL,0xee3ed571275db80fL,0xf20cf648561dd429L,
  84802. 0xed7ea515f12bddc2L,0xb84130bd0a544f33L,0xd56fb7297832d23aL,
  84803. 0x728ebeec0bbd7452L,0x6006394d28216463L,0x00000000000000d2L },
  84804. { 0x43b5561b228b41f1L,0x90eba77819b17767L,0xca1ac49ea2533ac2L,
  84805. 0x23b080f75ee9175aL,0x98a9470773a70bb7L,0x4ca74d0815cecbebL,
  84806. 0x5141db56b4a97b7cL,0x758fe34ef1450caeL,0x0000000000000111L } },
  84807. /* 9 << 476 */
  84808. { { 0xd2b17efdc9bf0c9bL,0x79352df94a3175e0L,0xde19af86841b5f46L,
  84809. 0xd2bdefc98317fe9fL,0x4349c726a5ae3bc1L,0x9991211e43cad229L,
  84810. 0x3245ce6ef16a1f19L,0xb7a43c99f6b0a022L,0x0000000000000027L },
  84811. { 0xa0d43e88bfdd7fa5L,0xb9fdb126a56aef59L,0xe36fedb3eb1646b9L,
  84812. 0xc2a5b17fb2d25b2aL,0xd1db0f0f7526ee70L,0x526e46c6739fe3b6L,
  84813. 0x5cfa3185a6320001L,0x908282721717cee8L,0x0000000000000054L } },
  84814. /* 10 << 476 */
  84815. { { 0x61ed6a7f6e9e6e88L,0x0456d4c464e89e5aL,0xea5fc9d8f9e17ed0L,
  84816. 0x2dc7dfafcb542d12L,0xca40f95c8c90f19dL,0x347f0c9f375c2872L,
  84817. 0x3a5e1ff600f96cd2L,0xe3442888a9fb6359L,0x00000000000000f9L },
  84818. { 0x16e56ae6a6743465L,0xc9e24ada478dfe6fL,0x298ff6dfe42d5813L,
  84819. 0xfacb1cf51531c516L,0x9b778fde097be036L,0xaa17ea655155b221L,
  84820. 0x8fad7e57c8266064L,0xcbb079a05536759fL,0x000000000000013aL } },
  84821. /* 11 << 476 */
  84822. { { 0xbc23aeb2d1fc50f7L,0x5a63b2379b184c0cL,0xbc43ff0ee6794086L,
  84823. 0x64713b62031f0138L,0x3db4b0bd81da7dacL,0x4d6a996b36d6fb58L,
  84824. 0x6b064df122b4e62aL,0x0612931c7f6b9cbeL,0x00000000000001c8L },
  84825. { 0x55503228462bbc5cL,0x5651ec3a244999ccL,0x93b5b3d709872c80L,
  84826. 0x8cf163af070882c7L,0x7a2923223b30afe3L,0x8d92b4aaee45a4faL,
  84827. 0x94646bd3697a47b4L,0x99bde8f96423023bL,0x00000000000001feL } },
  84828. /* 12 << 476 */
  84829. { { 0xb627fdfbc0062d02L,0xa527c2db7c3ecc6eL,0xbd959f5d49faa954L,
  84830. 0x5e110744f6c6a3c9L,0x40f10e096d3907ebL,0xa94e585ee27341f6L,
  84831. 0x8f0e11851cb56481L,0x0f687b831cec3022L,0x00000000000001b3L },
  84832. { 0x5f8c166d962a12d0L,0x00b41edad2445d5fL,0x2b259ccee9690a54L,
  84833. 0xe4bdac1d6bfe61bdL,0x30cf14bcf51dc15bL,0x43e72573c600759bL,
  84834. 0x0bea781ff86f10c8L,0x3259d6086a363f83L,0x00000000000000c1L } },
  84835. /* 13 << 476 */
  84836. { { 0xc288ee74cdf30f6cL,0xa8fa52b3d8b19859L,0x1ff94a3023f725acL,
  84837. 0xf02bef5b58b44ec1L,0x0af81bdfb862bec6L,0xcb19979d38d65bb7L,
  84838. 0x4469bcf7c662adf9L,0x6f29e33195e8305fL,0x00000000000000bcL },
  84839. { 0x72244e292093d379L,0x590c16a0ec9d9897L,0xc635439ee45d50c3L,
  84840. 0x5b5562779b40b375L,0x9c9c449643d0381eL,0xd61c59c2378d8002L,
  84841. 0xf0811d15ac014d42L,0x37da2de58afa297cL,0x00000000000000f3L } },
  84842. /* 14 << 476 */
  84843. { { 0xdd15b8890006da10L,0x415306bf6643193fL,0x79036f1f242d9d57L,
  84844. 0x6c9d5588b36f9ecdL,0x58305c8bf19d2f9eL,0x383d6245f5c17b58L,
  84845. 0x9c6af8d8640cabedL,0xe8d10e728adb59ddL,0x00000000000001d5L },
  84846. { 0x5490f2f98e99708cL,0x5373965efdd3f754L,0xade0363389e6bff2L,
  84847. 0x59d82f758ea6e9dcL,0x3ddb97148ca95fb3L,0x25bc3b9a85713ed3L,
  84848. 0x0b118e05090cf1b8L,0xd95ea9cfc707cd92L,0x0000000000000028L } },
  84849. /* 15 << 476 */
  84850. { { 0x73bbc51cec9886f0L,0x6d91832d76c9105aL,0x3a4938ff7734de0dL,
  84851. 0x68613d279f71510fL,0xecc8b09f9c201233L,0x2b426b0d02f20792L,
  84852. 0x917bab5133f87aebL,0x21014269b921e7e8L,0x0000000000000139L },
  84853. { 0x366b3a8b91a3cef2L,0xbf63ed9910bba815L,0x98143ae944329e33L,
  84854. 0x7bf47db912c92e6fL,0x3e298e35de7bf2e6L,0x517d6a51770daa8dL,
  84855. 0x80a04c0e85e292c7L,0x252aac413a6ce0a0L,0x000000000000009dL } },
  84856. /* 16 << 476 */
  84857. { { 0x62a1f73e3fbadc57L,0xeabf4b68b1ba2d35L,0x711d7f6376f3bde7L,
  84858. 0x162f5183b31c3fb3L,0x0dcd66fed7d716f7L,0x6e1dbb78e46816d9L,
  84859. 0x532831b8f833a6f7L,0x64191ccb4cfed0cfL,0x0000000000000190L },
  84860. { 0xdb3763396d7824adL,0x6b948aefb16a391bL,0x2d174fd64ae9013eL,
  84861. 0x9b5c22ee16a57de2L,0x3bfed1da9e857a25L,0x635187a64d644bbdL,
  84862. 0x94786e3a6fe288acL,0x827c8b03ece25962L,0x0000000000000092L } },
  84863. /* 17 << 476 */
  84864. { { 0xdb67687a67d36ad4L,0x3d1af6ac40f1e687L,0x2c71a3ddae798682L,
  84865. 0x645140cad7a2071fL,0xc3517c50eb0d963fL,0x355c6438ab08414eL,
  84866. 0x4cc8ac9e0180c6cbL,0x561c7ca326fbc369L,0x000000000000006fL },
  84867. { 0x0342d1496e7e396dL,0x5a5cd24a1ba4fac5L,0xdaee6359a50d62beL,
  84868. 0x05d3140c9f8ec814L,0x1468a0a3faaf4476L,0x57b01227507375b4L,
  84869. 0x4577d26211476222L,0x6b9ff34821fcaf64L,0x0000000000000169L } },
  84870. /* 18 << 476 */
  84871. { { 0x053b265090739d6cL,0x81b004bd712093bfL,0x7f50af875afe50a8L,
  84872. 0x9b5ffb5e616741b8L,0x681137aceb3c3a6dL,0x69b12c2245ec1c2eL,
  84873. 0x43bf3b334d35bbdeL,0xd78593fe2a340a3cL,0x00000000000000d1L },
  84874. { 0x995af65a2422397bL,0x832b654bd1e5f2efL,0xdbde76cee8f57027L,
  84875. 0xbf107d39ac9d310aL,0x028a3faf7ef5943cL,0x2a51126a9db46e73L,
  84876. 0xaaf481c0b65d02dfL,0x6c0678a8cdd9a840L,0x00000000000001abL } },
  84877. /* 19 << 476 */
  84878. { { 0x7509b5b0a968ac0fL,0xd55260f8c75e5f25L,0xb517c59a16a4515fL,
  84879. 0x85e826661c3270d8L,0xf42ef8d3b92dcd94L,0x0cf375adc36f162dL,
  84880. 0x4335872c0da09278L,0xe1256b6a06d898e1L,0x000000000000011cL },
  84881. { 0xbed033f087f764ceL,0x55e48707aed0398eL,0x721335dc155cc588L,
  84882. 0x97b2e056d98215c1L,0x6348051fb6149163L,0x005844d2ea832fe4L,
  84883. 0xec5b0eb5c8d9470fL,0xd89a66da78fa2054L,0x000000000000019fL } },
  84884. /* 20 << 476 */
  84885. { { 0x4fe79ab617384010L,0x0113f08cf667c198L,0xacb83a5dc1b7d603L,
  84886. 0x3894655a113e8492L,0x4198a4dda53d7e23L,0x4154cb63a659d9b2L,
  84887. 0x87dc05902048cc45L,0x75bd93c9c871f14aL,0x000000000000017cL },
  84888. { 0xc5d2c8571c27cd43L,0x63c9590620c15abaL,0xb7338ea047b68435L,
  84889. 0xa328b780f45c64d9L,0x5830791649070f2eL,0x00fcabc4434c1e1bL,
  84890. 0x49af9ad69c28099eL,0xf45e8e264cb91946L,0x000000000000012aL } },
  84891. /* 21 << 476 */
  84892. { { 0xa566513cd10f4d45L,0x96be203262cf6caeL,0x3c901109bed653c4L,
  84893. 0xc9ddc6f5c9e6aac3L,0xd71c7f5cdf7736dfL,0x8e668bacc14d30f1L,
  84894. 0x8472c592082aa9f9L,0xa956d0c59e379045L,0x000000000000009dL },
  84895. { 0x2a30d8f689f409f5L,0x959721c74f2040f2L,0x4f2e28eccab44c6eL,
  84896. 0xd03ad278fa69fdbdL,0xf23605b67d5434e3L,0x5b23a0fb99dfd293L,
  84897. 0xbc9005f5cd1aa7b2L,0x9b380071de406705L,0x000000000000003eL } },
  84898. /* 22 << 476 */
  84899. { { 0x9cd76d418f852e50L,0xe53ef54d74e73fedL,0x719560097ff71362L,
  84900. 0x7063bd9fb11e07eaL,0x612e763de01438fbL,0xec67b225fea1f881L,
  84901. 0x689a7e7f935b985bL,0x32110c564098c919L,0x0000000000000052L },
  84902. { 0xa6f57214c1811d27L,0x72f18b108b658477L,0x24c30d8cf4eeab7bL,
  84903. 0xaa6d60131c6f8ab5L,0xea6b996378dba5ceL,0xdb404acebca2295eL,
  84904. 0xfe583aab514c8334L,0x6497bb4d15394b37L,0x00000000000000acL } },
  84905. /* 23 << 476 */
  84906. { { 0x199de705d09dce53L,0x3677a5add36a0a45L,0x1f052544a09d949cL,
  84907. 0x79cd422fda21efadL,0x01669ab6f92c9479L,0xec05bcd94b070ffdL,
  84908. 0x78cd06d3915dd773L,0x657eac7820febb9eL,0x0000000000000078L },
  84909. { 0xdbc2430b4f4fde91L,0xd68c37e8d9330002L,0xe37f66a0a1ca0636L,
  84910. 0x42420f8b219f789dL,0xddaae3cfc9391916L,0x964b9ea1de5040b8L,
  84911. 0xba0d5701f5637d90L,0x2433cff430254a91L,0x0000000000000136L } },
  84912. /* 24 << 476 */
  84913. { { 0x19427f7c3a0dd44fL,0x2422033f899cb9bbL,0xca5616531c414cdaL,
  84914. 0x2a6dd24ff611151cL,0x785ac036cb1ae063L,0x523c8d8947ed9de5L,
  84915. 0xa73e893cd2a988cbL,0x2c3013cce4b8ed7dL,0x00000000000001a6L },
  84916. { 0x4eecf37e9d92a8f3L,0x5e624fc1a23ca927L,0x4093ed7b54675ceaL,
  84917. 0x0ab770fc3071943fL,0x2d70962e31069eeaL,0xb1f1c5acae0038d5L,
  84918. 0x1b3164d04aa60fcfL,0x941eb6e60de4061fL,0x00000000000000daL } },
  84919. /* 25 << 476 */
  84920. { { 0x3dd4ee8e19a73314L,0xfe0237c31ee71340L,0x304ef3c4dabd8295L,
  84921. 0xa470f16e2b0e401fL,0x9b9b18bda90af043L,0x16879d527d4b1066L,
  84922. 0xa64163238a3d7f8dL,0xaa9ccc7e65ace4acL,0x0000000000000026L },
  84923. { 0x57dfdb26efd2582aL,0x31a4cbd5816472adL,0x3696706110bc7c16L,
  84924. 0x5a4b9b40653ced98L,0xdb6ebf15a0a04521L,0x7837ec24873b5291L,
  84925. 0xa7e51a29a5790ea5L,0x4fe225932c1f90a3L,0x00000000000000a7L } },
  84926. /* 26 << 476 */
  84927. { { 0xe04751fd84b60e15L,0x907bdd54dfdb9fc8L,0xde29491fccea9731L,
  84928. 0x08b53084558b3469L,0x932829537bf3fe60L,0x9542d0cc571d9a75L,
  84929. 0x3e280110dcd0424dL,0x1c653fd7f1fffe62L,0x00000000000000ecL },
  84930. { 0x0fe3420222f47f20L,0xc55aa305727b5ca5L,0xda700ec9cb053631L,
  84931. 0x5b540840d29a3db8L,0xa3215fb991f76098L,0xfd43d98f587dce0cL,
  84932. 0xaf9356d4b0186f34L,0x42fae7d342631c7cL,0x00000000000001d5L } },
  84933. /* 27 << 476 */
  84934. { { 0x809a4ee19e29d9bcL,0xca98f3eb866d85ddL,0x8b012a73c6076d52L,
  84935. 0x2d3c172d25f44794L,0x9c51f8b7aaba69c6L,0x0d8418773aaf1dfdL,
  84936. 0x9f8d5aea3aca08b2L,0x2d259c4d82594f4bL,0x000000000000016bL },
  84937. { 0xbb8f9a9ec0d718f2L,0x6731472692f7dd58L,0x30d7fb584429c13bL,
  84938. 0xbbb606d88a6127bcL,0x40e9739fe02e8f49L,0xc14feea8cd2d0037L,
  84939. 0xd08e46c31c288befL,0xad94174d58456ddbL,0x000000000000004fL } },
  84940. /* 28 << 476 */
  84941. { { 0x918ddc53c03584e2L,0x63792fc32a8e3474L,0x8f62970f8d6bf25aL,
  84942. 0xa865f2e231898fe8L,0x39dc06d1ded08fd0L,0xee1d4e6f603536e0L,
  84943. 0xcd4951727a60552fL,0x427b8e9eb63f05a9L,0x0000000000000045L },
  84944. { 0x2229440303fced47L,0xec0db4da27fc6286L,0x0ec8947b4f7f7b5fL,
  84945. 0xea2cae19d7dbce85L,0x9bcf3f58900d2b20L,0xc8688ae67529f727L,
  84946. 0xd45e9ee17169208dL,0x1b6c3acc1513e205L,0x0000000000000080L } },
  84947. /* 29 << 476 */
  84948. { { 0xc9ea814896361293L,0x7e8dc3b2cbe8593fL,0x133f210f3a9b8cb6L,
  84949. 0x90a01852e96e46b4L,0x5075484c849ce67fL,0xb452de9c8e5b2fc1L,
  84950. 0x0a3a41c03efc8f60L,0x2466d6310970d1beL,0x0000000000000056L },
  84951. { 0x3ef2e84ffc6a068bL,0xe878a857b90a37d2L,0x983320953070a043L,
  84952. 0x3a884fcd9a96f4a2L,0x023ece985cfe8c13L,0x5d397f8566a6e2bcL,
  84953. 0x566cb17a6e325e8cL,0x8583e930d325b396L,0x00000000000001b7L } },
  84954. /* 30 << 476 */
  84955. { { 0xe4e1585378ad5c40L,0x88bb989adac2b22aL,0x0640a72813d25937L,
  84956. 0x453c268adc17fe6cL,0x1405015ffff90425L,0x6df4af98c282227aL,
  84957. 0xe903cd7dcd424986L,0x3a642d65ddbe81a6L,0x000000000000009fL },
  84958. { 0xf69256ff0b072bbeL,0x025e83d594792f5dL,0xfae73b56e1a0d4c8L,
  84959. 0x41b4794fd773135cL,0xbf533baefa6a7c6eL,0x8d10d72c9370e86cL,
  84960. 0xaf4005bb45c5b34fL,0xc929d758bc34a7d8L,0x0000000000000149L } },
  84961. /* 31 << 476 */
  84962. { { 0x4595f8cce9d67ceaL,0x6943ca4166942ca4L,0x53b1cac7945ab052L,
  84963. 0xc6c82175cf0ab86cL,0xabf93f532f16a36eL,0x29a01d58ccc0db55L,
  84964. 0x71cc7e2b2e389be1L,0xef5bd8ce5f396997L,0x00000000000001e9L },
  84965. { 0x2344a22bfd5a46d3L,0x0e4804a34e184097L,0xb24186d5ae5021caL,
  84966. 0x7688f016081e9625L,0xb42d53683dbc5299L,0xeb8db964fc0f984dL,
  84967. 0xb4ef82a2421e1f8cL,0x1af0710a07050a74L,0x00000000000001caL } },
  84968. /* 32 << 476 */
  84969. { { 0x027f4ff2d35b5acdL,0x0e0fec359eee8cafL,0xa99aa6e2544c2a44L,
  84970. 0x0548945fa9de5ee3L,0x02ee7fb3c4c5263fL,0x3fae05eec75a400dL,
  84971. 0x50ecff533640dfc6L,0xe57c180fc0cecb87L,0x00000000000000c2L },
  84972. { 0x22b3504387ba8e83L,0x6c47f5d21c652199L,0x2ec15d3d19f3260dL,
  84973. 0xcf9e5050e95faea6L,0x7adc35cca4f5d193L,0xa7b0f1f33ddee652L,
  84974. 0xdfb751246e213c07L,0xe33a115a7946ddc3L,0x000000000000009fL } },
  84975. /* 33 << 476 */
  84976. { { 0xbad8626ba00b3223L,0x28f525c1276bf50eL,0x5473d3efd0d599f9L,
  84977. 0x8327c435483a8f1cL,0x0d6bd8e891b88a89L,0x3ed2f18bb691fa7aL,
  84978. 0x4bb37c999089f2dcL,0x7872a7d971139d0fL,0x0000000000000073L },
  84979. { 0x5075c85dce1794aeL,0xc677297b24378c22L,0x9f7ff8617d981d06L,
  84980. 0xdff027c8defa63c3L,0xebe3157882b6ae41L,0xad2afc54c16e74baL,
  84981. 0x29f51ea9c2b7ede2L,0x8af4f36efdc2ad9dL,0x00000000000000eaL } },
  84982. /* 34 << 476 */
  84983. { { 0xaeedb8fff0380ebdL,0xb4c5f02397de16e4L,0x6d48399034558657L,
  84984. 0x7c35f8d58dde237cL,0xf6476a21ade8cc2fL,0x610f9504bf380f9cL,
  84985. 0x66d63301ba054ee0L,0x2f1bcb891340be68L,0x000000000000019bL },
  84986. { 0x4a514ab9bfab6e8bL,0x6602369b2eb7baf6L,0x6642e1f1c7c4bd05L,
  84987. 0xaf22b1bfc31de5beL,0xac45bff337ba8dfeL,0xd3d3be278a0f3484L,
  84988. 0x39ad805e35d3e9cbL,0x5cad4328fc61a017L,0x00000000000000a1L } },
  84989. /* 35 << 476 */
  84990. { { 0xb485946aa3d8dfadL,0x1e0ef60f4d09e4edL,0x2465fb251f947cd4L,
  84991. 0x86ac22024f26eb6bL,0x1ef5a7e60ade65acL,0x7e9e1e9ad1343201L,
  84992. 0xaac3955c7be0aaf2L,0x59c532f852752348L,0x0000000000000136L },
  84993. { 0x502f0d9b95d6df86L,0x695153fdc8819108L,0x46488395b504460bL,
  84994. 0x0dd02f9d7f9bedf1L,0xd03f5b64be406a37L,0x81ca920f0d3f5fa5L,
  84995. 0xabc154fa56564543L,0xf7e482f6ad9dd5cbL,0x00000000000001c5L } },
  84996. /* 36 << 476 */
  84997. { { 0xed7c87484052967dL,0x539e1bc034ec54e2L,0x45a999801315ccc6L,
  84998. 0x6ebab37dfd3c16fdL,0x35c88fd9776a636aL,0x1d5074b9545a61bbL,
  84999. 0xe13c2ef55e5fa705L,0x161fe458b33824eeL,0x00000000000000f3L },
  85000. { 0x6e403b0577aa5135L,0xf830daa6bc413029L,0x778b4c30533435acL,
  85001. 0xd8436f9421a4dbf3L,0xfb75c9677ef5d437L,0xbf31e122f1c93e89L,
  85002. 0xeba1e3bc524a71d9L,0x68458dac4b75e86cL,0x000000000000006fL } },
  85003. /* 37 << 476 */
  85004. { { 0x6f4f3dd0662499e4L,0x52fc1991d3366014L,0xf3e18982832a72b8L,
  85005. 0x139e6a0aa61c4ed6L,0x30f28391fc271a46L,0x0567b845d969103fL,
  85006. 0xa37f178406ccbc6bL,0xef56b5fda5093031L,0x00000000000001deL },
  85007. { 0x1254563e29bdc854L,0x51dffa0a17e7bfeeL,0xeb23b7b813055a8eL,
  85008. 0x6a0c00672f115b69L,0xfde42254f5451cf4L,0xfad70d3250091f5cL,
  85009. 0x8e3344f7169ff7dfL,0x509c843aa437d427L,0x0000000000000195L } },
  85010. /* 38 << 476 */
  85011. { { 0x34a512a52212da86L,0x35e49c33dc085fa5L,0x67559f2c3268fb8fL,
  85012. 0x5a0e4c28fa04bd3eL,0xcc71661f406b00b9L,0x10b53ac137f6f369L,
  85013. 0x322427439de56f17L,0x50992ef21074232dL,0x0000000000000086L },
  85014. { 0x2710c0242e9778bbL,0x6a445e195e6730f9L,0xe9db7c6b182bcf75L,
  85015. 0xcc2c0c169cff3237L,0x38495c929e91016bL,0x14a3999b65c4b494L,
  85016. 0xb94667e0ab92f8ddL,0xc52df245a2e4dddcL,0x00000000000000a7L } },
  85017. /* 39 << 476 */
  85018. { { 0x24b43f0449465931L,0xe9846e833c923c39L,0x640cf800272924aaL,
  85019. 0xc9b6037cebb88275L,0x3e920427a1656018L,0x7cb62370b8f85c77L,
  85020. 0xa9df472ad4347c6bL,0xe438aa66e042c30aL,0x0000000000000031L },
  85021. { 0x853f201d6011ebd8L,0x065d9edd4ce480a2L,0xc2eabdfcee6a18d9L,
  85022. 0x9a03831d83905426L,0x09d2b3fc3a039862L,0x75040f7227c291b3L,
  85023. 0x77dcba094598435dL,0x1391704ac9b9e54dL,0x000000000000018fL } },
  85024. /* 40 << 476 */
  85025. { { 0x0cfe94974ad63b91L,0x39411a2cadcc08d6L,0x198aa66d98605b89L,
  85026. 0x0c1153da708841cbL,0x7edd21f29e46a446L,0xa45f38dce62221fbL,
  85027. 0x9cf28ee83580482bL,0x06aeba1fa674e7a4L,0x000000000000015aL },
  85028. { 0x38e7fd4db449387fL,0x6179190109421a33L,0x65c1a5844fe13330L,
  85029. 0x6fbf269567144a82L,0xa06241c4d40afbe0L,0x9af35b88eff6a461L,
  85030. 0x001b6b24e2be2435L,0xf1ec4414905dddc1L,0x000000000000000fL } },
  85031. /* 41 << 476 */
  85032. { { 0x00de445f7006f9feL,0x0786824e311bf00dL,0x8206644605c0fce0L,
  85033. 0x25cc4fd9905278f0L,0x1882ee6eaa7c33ffL,0xcd1577bc651cdc8dL,
  85034. 0xd31936e360161788L,0x9ab9852fc5fa4f46L,0x0000000000000170L },
  85035. { 0xc3979e72c25c1871L,0xe6ab079252c82442L,0xa1da5c25e8949acbL,
  85036. 0xd91b3d9bf02b7d0eL,0x54fa0575516699a2L,0x8efb5dfc11397f0aL,
  85037. 0xa694a0446f27a9ddL,0xd776b8b7635f3527L,0x000000000000009eL } },
  85038. /* 42 << 476 */
  85039. { { 0x18ceeb27896f7815L,0x2e6a7298196a8bdeL,0x3a104d3eacbe43a9L,
  85040. 0xcc207227823bbaa8L,0x6d905c49f492f53aL,0xe6ff675f6839c256L,
  85041. 0x0458eb94c0dd385bL,0x0fdda10a3f558bdaL,0x00000000000000c3L },
  85042. { 0xaf516cffa8da33b6L,0x1ed91b01df22270bL,0xb11f0c5561393addL,
  85043. 0x44c5ae29d31390f1L,0x5b2b530a894ae78fL,0x4dbdca81df45dc47L,
  85044. 0x5f0834c94e3827d0L,0x302a6a06ea2a27c6L,0x00000000000001d3L } },
  85045. /* 43 << 476 */
  85046. { { 0xbd2cdcafcbac1d22L,0x8b67a628bbf18095L,0x8360fbd4b99755deL,
  85047. 0xaa3c1abd36b6a3d7L,0x90258eccaa6f0471L,0x75df5700a954109eL,
  85048. 0x6ed4ac78486b2593L,0xb456ccbf8b51a370L,0x00000000000000d0L },
  85049. { 0xa6aa0ad865cf6c0aL,0x3b1965ac95863b68L,0x129262647c831811L,
  85050. 0xb02283d73e9eed94L,0x7314ae01b2126091L,0x39219a7287aa13ddL,
  85051. 0x2ee49375c32a59baL,0xcb689e7335851c67L,0x0000000000000109L } },
  85052. /* 44 << 476 */
  85053. { { 0x75c28be714a5265aL,0x8dd13c72b4c7802dL,0x26d2cee7c8d89192L,
  85054. 0x83c5d55d24272316L,0x882f4e1c4c5b6041L,0x477bbf51d3237af9L,
  85055. 0x929ad1da89e4635aL,0x462e54e4440dcf82L,0x0000000000000115L },
  85056. { 0x92e86b7bd6710cc8L,0x9ae2cb4c210a3bdbL,0x5e366b0765cc970fL,
  85057. 0xe0c9c82b7713075fL,0x4fe46ed1410513e1L,0x655944acf5b5edc8L,
  85058. 0x328afb24e3986180L,0x2c86c170ec210c87L,0x00000000000001afL } },
  85059. /* 45 << 476 */
  85060. { { 0xdf078ff3615fae7bL,0xbd1e1ff130dfd4aaL,0xb5acc56700ef9988L,
  85061. 0xc8deb6c5e593e61dL,0x9705431612ce76fdL,0x466d5faedc8235fdL,
  85062. 0xa7887816e3802e8bL,0x8c477b7168cee998L,0x00000000000000caL },
  85063. { 0xf7f7097b7146d6d2L,0xbf5012c5ede058c0L,0xf093ce34a1cd690aL,
  85064. 0x6412920239deeba9L,0xfad016ef45d0ec64L,0xb8006ac513ce1bc2L,
  85065. 0x519ff55a527f8971L,0x8203739fdf660805L,0x00000000000000d2L } },
  85066. /* 46 << 476 */
  85067. { { 0x589116a0f1e8c56fL,0x6ea85ed6cd20d5b0L,0x5f1f5d6832ad1f37L,
  85068. 0xf98c761eba7ec611L,0xf5295fcd103f1f7aL,0x26b7bb746cd41f07L,
  85069. 0xd8ab44aaa0d20471L,0xbf4002f4cac0098dL,0x0000000000000182L },
  85070. { 0xc6e82ac8c6c269e5L,0x5140dd2468160d85L,0x98e7440ceaed9d4fL,
  85071. 0x72eb1107ba61a8c7L,0xced4753f28c51ea0L,0xfbae3303b6a8c96dL,
  85072. 0x2b03bdff7c3e52e5L,0xefe149227825d3dbL,0x000000000000002bL } },
  85073. /* 47 << 476 */
  85074. { { 0x42359d455c79dd95L,0xc58e19f927540084L,0x430f0e5278fe7d63L,
  85075. 0x16a8589a0faf615dL,0x3839b8a7503a9f7fL,0x0310ebe623e6b6b5L,
  85076. 0x2c585bbb62de235eL,0x91cdb04da2d3388eL,0x0000000000000035L },
  85077. { 0x31b09c074ccae626L,0xbad7e2a38eb5fd2bL,0x609f75e05bed3b8cL,
  85078. 0x61ae6c2b8b23d6a9L,0x7f9c74bb2b493455L,0xa7ca5bb0beb78ac5L,
  85079. 0xb2413a13d4af6a09L,0x23169f3e554697ddL,0x00000000000000baL } },
  85080. /* 48 << 476 */
  85081. { { 0x6e965255ef4b1b98L,0x3f63b6bd8ba97bf6L,0xc6cacadb19bb0ba0L,
  85082. 0x9f88f0c83c8edcc4L,0x3a2d4bc51a489aceL,0xaa3075b75529bb67L,
  85083. 0xcdb0c4d6ffbbd2bfL,0x4a3b41d33a568fd4L,0x0000000000000146L },
  85084. { 0x46442711effa56aeL,0x941858d847acc062L,0x9480d79c7434d565L,
  85085. 0xa92e885943322eccL,0x650cd6de5f82931eL,0x4ef5d48397876156L,
  85086. 0x04ca704aaaf946f4L,0x75258aac0a95e02cL,0x0000000000000132L } },
  85087. /* 49 << 476 */
  85088. { { 0x2544f5d10856d9fcL,0x29678dabe80f610dL,0x0987e134066ea695L,
  85089. 0xa208023070fe1ac3L,0xc65df557fb51ba2bL,0x60a2d5693320b29dL,
  85090. 0xd097f83de67d902dL,0x7f92f3d3d76522f8L,0x000000000000005fL },
  85091. { 0x7ecc057cbd6ff176L,0x5abcb1d0d907062dL,0xc49f4bed9fd1bcf9L,
  85092. 0x4042dd6399c27c6eL,0x1b1a7480a867644fL,0x8d65632c49d3134dL,
  85093. 0x6f31a12a548695a9L,0xa0abbea7be0ed228L,0x0000000000000170L } },
  85094. /* 50 << 476 */
  85095. { { 0x16e0e933c494da37L,0x3018f05aa75b90ceL,0xa382c38aa8dffc72L,
  85096. 0x66775c45f105047bL,0xd4f234b08929555fL,0xfc5c829646525c45L,
  85097. 0xf65136353442a793L,0xcf862712fbdc67ebL,0x00000000000001adL },
  85098. { 0xa1afce91c8e7f888L,0x23a79d7eefd25a7bL,0x36d5b89881e2f333L,
  85099. 0x4e9f1db4e12880deL,0x4ae2df6b6ea83f9eL,0x3dacb4b7f81caaf5L,
  85100. 0x03d46680fb01b238L,0x3b6ef2c1077e2c41L,0x0000000000000104L } },
  85101. /* 51 << 476 */
  85102. { { 0xb5549eaaade2d6e8L,0xecee8b8177078851L,0x75f43854e0913393L,
  85103. 0x5752bf7208c25924L,0xcf0f36aa1873d036L,0x6fb99df52d814f28L,
  85104. 0x12fcade24f4460c7L,0x1f39dfc0d1ff8940L,0x0000000000000073L },
  85105. { 0xc4821f9e1f3474cdL,0x52eae506d410f535L,0xe5fdda1f337122f1L,
  85106. 0x7436c966551d7704L,0xb1315a9b7e5d83ebL,0xb47b7fa163dbe687L,
  85107. 0x9de3f163e1ad5528L,0x4eab78571865d6caL,0x00000000000001e9L } },
  85108. /* 52 << 476 */
  85109. { { 0x4e989dfe03410c9dL,0x33cba247a0b9dc26L,0x00a287260ec09c0fL,
  85110. 0x5ef32ea9166a3d1bL,0x11acc0b22efa02c9L,0x78780ccbc37bb3a9L,
  85111. 0x80695d7957cd294dL,0x2d2fcf8d22a843baL,0x00000000000001e3L },
  85112. { 0x01b2f4a035455b91L,0x0501fad5292c8300L,0x1d2c358027a13460L,
  85113. 0xc58b09314cdbe18cL,0xa00615bb09c40371L,0xc07dc42a31e3bb1eL,
  85114. 0xb85f8730f5bd0e84L,0x9f6fbbfff41772afL,0x0000000000000030L } },
  85115. /* 53 << 476 */
  85116. { { 0xd09c91bc77553a15L,0x361e49601bd5da39L,0xd3980e9f72042f3aL,
  85117. 0xfcd4543d671a9b4bL,0xe0f776a8a6acfc0bL,0xca99229a69a5624aL,
  85118. 0x831862aaa1f64885L,0x5883a7af179436caL,0x000000000000019dL },
  85119. { 0xc40411817d06a8c9L,0x8a0941ef8965fae2L,0x6150d992eb25d71bL,
  85120. 0xfbaf356ee2350cd8L,0x5cffc7c6a439b155L,0xc3566052a70c21ecL,
  85121. 0x9d4432847f016d22L,0x30295f053f58948bL,0x00000000000000ecL } },
  85122. /* 54 << 476 */
  85123. { { 0x6f279f62ede689e7L,0x9b66e05622e958e0L,0xbf0df539b143ca4cL,
  85124. 0x945ffe3c094f5f2bL,0x425a9a9008dcd6e5L,0xef36de89a6fbae42L,
  85125. 0x9e5291e573bb2760L,0x93b5925a57d1173aL,0x0000000000000183L },
  85126. { 0x4dda1a9760968355L,0x7c45e7440760b638L,0xa80c805f102af8e2L,
  85127. 0x3b784e7d0d1802b6L,0xae9196a070c07c40L,0xdec2da01ef7d0af9L,
  85128. 0x0159c65e60349221L,0xea3091d6801d78d6L,0x0000000000000080L } },
  85129. /* 55 << 476 */
  85130. { { 0xa09d33ba8c2aa8bbL,0xa73e2da2a4db5575L,0x62caaad1556990feL,
  85131. 0xdaffaed72d31b382L,0x8504f2e08be1f79cL,0x15f8630b9a60fca3L,
  85132. 0xa2ac9180540630ccL,0x1190d92dd7720e42L,0x00000000000000d9L },
  85133. { 0x208070c9c36d06deL,0x1b195581806e6fc5L,0xe358e901b6f52524L,
  85134. 0xdc2bebf342ab3a2eL,0x4825f836a7a28526L,0x64ea6668c0a29d15L,
  85135. 0x8c66792927af62bbL,0x3b9b031889fd3214L,0x000000000000005eL } },
  85136. /* 56 << 476 */
  85137. { { 0xa901a71312538fe5L,0xce0c9871f2f66dccL,0x05e90fbadbfa8c57L,
  85138. 0x82626b4d4a84065aL,0x95101f3bcec2fdc0L,0x00fedbd1c2389459L,
  85139. 0xc38e00945c1ce6acL,0x07d68900b4ef5efcL,0x00000000000001c7L },
  85140. { 0xbee9a6aacab8c27bL,0x5a8c52d998486109L,0x68351a08da2cf44fL,
  85141. 0x83e72bad29e7f1a4L,0xf6397648b1220a5cL,0x791fb8c6230e46b3L,
  85142. 0xab83c6386b1dfa43L,0x8b7d1b711d99ac55L,0x00000000000000f8L } },
  85143. /* 57 << 476 */
  85144. { { 0x765aa8e7876c772bL,0xe6843325b5b97f6eL,0xfe9fd6c58ab54c16L,
  85145. 0xd6a1e62441d8de82L,0x42a5842800260cb5L,0x407b0e42520aab9fL,
  85146. 0x039d551ec8ce6af2L,0xa884cf26f0a5f4d6L,0x0000000000000155L },
  85147. { 0xc32e89bf69c53346L,0xeaabbd18c5e05a39L,0x88520159b89c3d28L,
  85148. 0x9d7431d255e2270eL,0x6a27c977c289dff5L,0xfcd3b6da33729f3dL,
  85149. 0x30a1e20283c7398bL,0x19f5f537da4e5125L,0x00000000000001dfL } },
  85150. /* 58 << 476 */
  85151. { { 0xd6b1be19b2227e11L,0x089708a5103e4640L,0x234103f813d0eaa9L,
  85152. 0xcad17afd3fe18f65L,0x86b69be58933c95fL,0x3cb944820cbde5b2L,
  85153. 0x63ef96ce553e46ecL,0xfcc54f027ee7ab01L,0x00000000000001edL },
  85154. { 0x6c85f7c1b24788e5L,0x3b7135a7ed618715L,0x7cbeed1899453d4fL,
  85155. 0x2494a201ee56ea6fL,0x718327b3cff78c9cL,0x0b51a87c87f006c6L,
  85156. 0x0da34203f2a2a6e4L,0xdef43eb70f3d8ddbL,0x0000000000000118L } },
  85157. /* 59 << 476 */
  85158. { { 0x5660ef89fca5e4dbL,0x147cb2c562b1adafL,0x656e8f4565f6200dL,
  85159. 0xed790c437415cb36L,0xe9edf21257aa09adL,0xbc19c5fc95d36d02L,
  85160. 0x43f17f8678de47e7L,0x2850fe7691b3b0c6L,0x00000000000001f9L },
  85161. { 0x5d9cf8962551c84dL,0x66bba935edaea8e2L,0xa8ad879ddd2adb96L,
  85162. 0x332b3b65a8ecffc5L,0x598adbd76449ab1bL,0x92d14bb3e3ab3305L,
  85163. 0x5288b2dff02d0b51L,0x63556a666aa36025L,0x000000000000008aL } },
  85164. /* 60 << 476 */
  85165. { { 0x26693bfd33fd2555L,0xc6ffca6e0d7d3eebL,0x3df570919647dcb9L,
  85166. 0x05ee7744cd5235acL,0x4f33bcbd0acccf3fL,0x10ff4e69e5176e6aL,
  85167. 0x059a1dbefd230eecL,0x1589dce81c63e145L,0x00000000000001d0L },
  85168. { 0x283ef53ad892bae1L,0x25787ebb1e7b35adL,0xe4d612fe84ddaa2bL,
  85169. 0x1350f60986da9a4aL,0x0daf1a86d28940d9L,0xb58efecedc742269L,
  85170. 0xb316aea1c05daa85L,0xfc0c48a1c8adb92fL,0x00000000000000caL } },
  85171. /* 61 << 476 */
  85172. { { 0xc8e460eb5db3df35L,0x4a3b8c99fc914e7fL,0xf8352c30e961adfeL,
  85173. 0x2c2fe81b2f9c30f6L,0x3f8d9d32676a3d21L,0x663e1dea77a990a5L,
  85174. 0x54974a741998b5f5L,0x78968bd0304b02c2L,0x00000000000001afL },
  85175. { 0xf07c9eb52479b8baL,0x90a4eb34b2f78c13L,0x8d4c1421d769cdf8L,
  85176. 0xc2ff257feac177e7L,0x5a7f84c740363d1bL,0x845c7d87cf3e6f23L,
  85177. 0x0801827661f1cc24L,0xa6f875b23bf25783L,0x000000000000019cL } },
  85178. /* 62 << 476 */
  85179. { { 0xf9fefec9d7a4cf66L,0x38ce98608bfc8387L,0xd72acfec1c10d914L,
  85180. 0xc98c23e6f2daea2fL,0x9395abfe41cec6a9L,0xedde92f2ecab3380L,
  85181. 0x403c12cfece67cd5L,0xdc77f38e72ef3b83L,0x000000000000015cL },
  85182. { 0x05d31e27bdbfeae2L,0xeed3521c3cbc6102L,0xdae5b97d85b16c89L,
  85183. 0x2211c4770d03349eL,0x8de8a13fd5f6ba3cL,0x769676f194a76b70L,
  85184. 0xd7487982a0097db3L,0x39c43746da241827L,0x00000000000000cdL } },
  85185. /* 63 << 476 */
  85186. { { 0x5c311656b5797336L,0xe90cb3caa840d076L,0x20bbd61e2cf37453L,
  85187. 0xa0d0e7e30487e7aaL,0x56ab5c950c73dd7cL,0xd239c650a42de3c7L,
  85188. 0xf6bcaab92e59b709L,0xfcd8f1277623641cL,0x0000000000000162L },
  85189. { 0x6025552300cd2ba8L,0x95be73bfe5ad4751L,0xac7188bc800a9c4bL,
  85190. 0x7f30bcb9e920f752L,0xc9b970f03e122bbdL,0xb95efc15eb82e5bfL,
  85191. 0xed09e0d7aecce9f3L,0xa75e92cdb123af88L,0x000000000000002cL } },
  85192. /* 64 << 476 */
  85193. { { 0x7aaa8f37d3cb8e9fL,0x8f3b48a91a73d853L,0x783ebbe7ef285a53L,
  85194. 0x4f9d97291c3ef389L,0x130f276c6453da69L,0x76683273834facedL,
  85195. 0x026a3722af5af17cL,0xd588aa37f08a5e50L,0x000000000000016dL },
  85196. { 0x81b6610bbbdc76b3L,0x406785dd563a6902L,0xe0755f6ced775283L,
  85197. 0x08d6c84753b16d0aL,0x48ebb570654f906aL,0x3f0c62b7184b373cL,
  85198. 0xd6bb91b6314d776aL,0xab9bfb3a224744a7L,0x000000000000012fL } },
  85199. /* 0 << 483 */
  85200. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  85201. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  85202. /* 1 << 483 */
  85203. { { 0x5abd70212d7e7be5L,0x5ae72dd6b01cca76L,0xba2a179499fa6345L,
  85204. 0xbd22d699b5d0cb9bL,0xde336adffce9c6b9L,0x602dc43cfb816436L,
  85205. 0x9d86318f33b17e66L,0x43f8ee75dcdd628dL,0x00000000000000e6L },
  85206. { 0x1bf13bba3d223930L,0xd77bbb123b6b0034L,0xa4ea21c4be34bac8L,
  85207. 0x95e5f221aab61589L,0xb4494eb79d411c28L,0xa423c6f5cbe6faa1L,
  85208. 0xab882ee7a6e4e735L,0xb36eacdb546545b3L,0x00000000000000c2L } },
  85209. /* 2 << 483 */
  85210. { { 0x651b47c813b42e63L,0xe705441316bee2b6L,0xdcf60ca386a71ac0L,
  85211. 0xabddb357e3baf787L,0x99d631d181a2db2dL,0x3f1e3c7fc8c9b834L,
  85212. 0x3b30fa1861adf4d7L,0xd1d8d98014b9f46bL,0x0000000000000139L },
  85213. { 0xae6f6b72f6af1252L,0x0fc583984ff8a00bL,0x1b2c0cc5a81fd641L,
  85214. 0xbdcaabe6e68b6fbaL,0xd1af82fe70b14e44L,0xe9c35419e55ce735L,
  85215. 0x3c83d9dc01dcefb9L,0x42604200fb5824c9L,0x000000000000011fL } },
  85216. /* 3 << 483 */
  85217. { { 0x83b863c448455ab7L,0x76d7a946b45ec4d2L,0x3a26946f1a9dbb92L,
  85218. 0x3912023daae7ac94L,0xa55fdf4ab43e7baaL,0x0b84464b5164d35bL,
  85219. 0xdafbaecd58ac3925L,0xcf5aa8cb1f7b30bdL,0x0000000000000089L },
  85220. { 0xb3fa2268858cb669L,0xd325b4a6074aafacL,0xe364297587e39973L,
  85221. 0x1d9aac78d8125423L,0x205ae65940a7d2d6L,0x102e8f88220f449bL,
  85222. 0x5b98b50f429d6d97L,0xef341ac978674bafL,0x000000000000002dL } },
  85223. /* 4 << 483 */
  85224. { { 0xc4c1d5064d245501L,0xc7c62e341083602aL,0xd5d6895961f152c7L,
  85225. 0x3b142866906e6f00L,0xfa4d7aec3468335bL,0x6c36da5cf4687f7fL,
  85226. 0x6643389b0dc658daL,0x99cb5866d8447de8L,0x0000000000000037L },
  85227. { 0x0fecfbab807a703eL,0xeca0bd01ee68c875L,0x375589c920d8bdd0L,
  85228. 0xc0fbd62f14025692L,0xbf5a0c1ee6b70d27L,0xf9630aed9cbbb1aeL,
  85229. 0x9776abebba99b392L,0x883c8b53c97978c6L,0x0000000000000095L } },
  85230. /* 5 << 483 */
  85231. { { 0xe79aa3fb79b1fd27L,0xf4613c54cb46f207L,0x9a56f2c3b0a5bcd7L,
  85232. 0xf6ce188a5ecd38d4L,0xfd52c36f90250becL,0x182bd1b97d054438L,
  85233. 0xb1401bdf2586edc0L,0xe147512afa989224L,0x0000000000000044L },
  85234. { 0x68fea57855a2d55cL,0x547f9129b57a7470L,0x4627c2ca8df3b0d9L,
  85235. 0x4ef699bee8aad7cfL,0x62677d53f996c4f1L,0x7f79982e924cf349L,
  85236. 0xbd5db9da4d785216L,0x2554390fe96df8acL,0x00000000000000baL } },
  85237. /* 6 << 483 */
  85238. { { 0x753ce74ae22f1171L,0xae29377f15f959eeL,0x90d8c9c5dace4bdcL,
  85239. 0x45f210f7ab4dcffcL,0x32135e10e1283166L,0x23a0610932072197L,
  85240. 0x4d3cccb74d767572L,0xccdc43a3807a50d1L,0x00000000000000e5L },
  85241. { 0x6a5534206880d712L,0x92b60f04dd80c4cbL,0xf3538ba2dcc9d35dL,
  85242. 0xd3166fafd0787305L,0xd2a1b177b7d68560L,0x847aaf905e9f7915L,
  85243. 0x210046e55b83cc7aL,0xd26ce0bdb4964926L,0x0000000000000179L } },
  85244. /* 7 << 483 */
  85245. { { 0x2a569603208e6bcfL,0x8d08f4df9f8f8597L,0xc13bef95f9d62574L,
  85246. 0xc17f7fae4fdec97bL,0x7810ce14a511c162L,0x10fa0d23941c7cd4L,
  85247. 0x2f41e9f76aff6e68L,0x70665ea2ffb8f648L,0x000000000000000aL },
  85248. { 0x0b5f267fff4baad5L,0xf1f79c10cb85a780L,0xd2003dee61e33305L,
  85249. 0xda556c2fbc3b90cdL,0xbb799f45e116a936L,0xc6183fd80ce85ebeL,
  85250. 0x57b3224fa035eef6L,0xf6840485e96bc901L,0x00000000000001baL } },
  85251. /* 8 << 483 */
  85252. { { 0xdcbfbb8be5f5826eL,0x31fbd1c02954969bL,0x452c254d09536e44L,
  85253. 0x6b733e3b36cd821cL,0x8fdfe02f2d8260f9L,0x26163d810e2a44e3L,
  85254. 0x23e435a33e2e3a4fL,0xcd8529b5777baa61L,0x00000000000001c0L },
  85255. { 0x634dd97aa246d14eL,0xdfed13a7d443a978L,0x4668e97a8752bec5L,
  85256. 0x1f52f42826a0f8e7L,0x0d69a760308ddff1L,0x54602bf7591ed51eL,
  85257. 0x223e342b3bbab1b8L,0x1cf905cbd5003ef7L,0x0000000000000132L } },
  85258. /* 9 << 483 */
  85259. { { 0x070339e46d0ba610L,0x57de05dccb0e3fccL,0xb4f1cd37d61a1266L,
  85260. 0x92ca341caa4f2316L,0x4ae641fc258976faL,0xdb7cb7cb079c8bcfL,
  85261. 0x88c11cb58ec68df1L,0x42cb801909df9b8bL,0x0000000000000198L },
  85262. { 0x3cd7238e57aded5eL,0x0773bd3cf50528f0L,0x4c2b4f24c93b6753L,
  85263. 0xcbd40a940481c43dL,0xf37fc077262905a7L,0xf079fd24bcc8664cL,
  85264. 0x6e7453fd34a874d0L,0x41d6bcfaae635cd9L,0x00000000000000f7L } },
  85265. /* 10 << 483 */
  85266. { { 0xdebd96ecded7931aL,0x409a230cdfdb9955L,0x0eae02d5b65c48e6L,
  85267. 0x3ab3dff83515edc3L,0x0440a0c53d119f82L,0x7601d278f7b8048fL,
  85268. 0x3e0da58153655d73L,0xa04162f342c66d32L,0x00000000000000b9L },
  85269. { 0xdc305022e0d030b2L,0xb812c6a1af7d339eL,0xf845455f91973a30L,
  85270. 0x3a40c4d454ade939L,0x7d5b0f691e0972bfL,0x7eadf7a28839861aL,
  85271. 0x87a2e7067d36e5a8L,0xa25554c5d13c7670L,0x0000000000000055L } },
  85272. /* 11 << 483 */
  85273. { { 0x2f313869d8f59e86L,0xab16466f00c93e40L,0x534952a8f5901890L,
  85274. 0x597b8bbfd3e7e334L,0x2a1d5909bf2e93e8L,0x74910268a78e52c2L,
  85275. 0x3c2077e0e09c8fbcL,0x36e2b7500dd6ec37L,0x0000000000000168L },
  85276. { 0x21c2d362c58660b7L,0xcf97b440205ece90L,0x81e5da200af6629aL,
  85277. 0x285fd88ad30ea06dL,0x9da2d653cf67478fL,0x6cb24c21fc1128d3L,
  85278. 0xc32d0dc119cc5d3aL,0xffc4fcd6ca1c7866L,0x0000000000000113L } },
  85279. /* 12 << 483 */
  85280. { { 0xfc6e3abd7e791a5fL,0x8b60a8b7394f9865L,0xf07f164cb0f31984L,
  85281. 0x3b0f7be135fbcdd5L,0xfa914a53c372e0ecL,0x6142002a0392f749L,
  85282. 0x8f7ddc3b952ccab5L,0xcec17ddfa5e85e1dL,0x00000000000001a1L },
  85283. { 0x376e182e3bfb6450L,0x34275e3b5874742eL,0xc6c3bbc436fd4d5bL,
  85284. 0xd5359a5f17024a3fL,0x690901d1be783d99L,0xd98f0714be92b949L,
  85285. 0xd7ff8e0ffa44b971L,0xae0b1ea4a248a978L,0x00000000000000a5L } },
  85286. /* 13 << 483 */
  85287. { { 0xf6f8b353b1fa4f9dL,0xbc0ae01304d67400L,0x95e7d657984c5864L,
  85288. 0x6e6799c1923cd2bfL,0xa98f35f7c07c86a9L,0x5149ab912c79f53eL,
  85289. 0xb8219f4e278fa756L,0xfc6562d707de4775L,0x000000000000007eL },
  85290. { 0x92731c6de48adba4L,0x479c5d6bec0f7335L,0x8cf900f0a1d5e919L,
  85291. 0x4bf6c08bfc45f29dL,0xee14bfe8c59cdc1dL,0x134bf2088cb8a93bL,
  85292. 0x8d9f4d2221f26bfeL,0x602528a79bebee86L,0x00000000000000f4L } },
  85293. /* 14 << 483 */
  85294. { { 0x8ec2bc822c79e1e7L,0xec5c692cffb8b4d4L,0xa0d4d5090846b9f3L,
  85295. 0x41eaccac33456629L,0x43e23429d484f510L,0x0bf959d35018896dL,
  85296. 0xa817bfedf257daf3L,0xcd04bc49a1fb8e26L,0x00000000000000bcL },
  85297. { 0xda060441d92bced4L,0x278c04c95d4ef4f0L,0x8b6f0231396b753dL,
  85298. 0xf68caa504533e041L,0x49d2f5f1d52bc9bcL,0x83ac55150141e329L,
  85299. 0x453951c6c866b038L,0x09b032d479acdc69L,0x0000000000000196L } },
  85300. /* 15 << 483 */
  85301. { { 0x067e44283cbbdce6L,0xb8ebf52529eab785L,0xc28bb79079474bdcL,
  85302. 0xc29cfe635c83856dL,0xd95ac7b911322ac1L,0x8e3d2b8879c119f1L,
  85303. 0x9870c2c572896608L,0x2adcb4c763374d0cL,0x000000000000005bL },
  85304. { 0x2dd8023e63551e79L,0x5ae537db0a8e6116L,0x4fd274598917909cL,
  85305. 0x5e805e1cb79a58c9L,0x12d0b7a853b21d48L,0xf80dca62cba9f1baL,
  85306. 0xf90fe39681b2231fL,0x552083b960bab640L,0x0000000000000170L } },
  85307. /* 16 << 483 */
  85308. { { 0x1ae0819be9933309L,0xdf8bdb84232a74bfL,0xe0cd42ac756981f5L,
  85309. 0x658128186734b942L,0x6b63d0a2f4accf5fL,0x4dc5d87a55294162L,
  85310. 0x0ba927b230bc9a8aL,0xcdaae01ed8e36a78L,0x000000000000013bL },
  85311. { 0xbb632bfe8e1f565fL,0x29ebfdda53e94443L,0x1f98a0d3e10d165bL,
  85312. 0x9f82830c637c795fL,0x3b33128740e0c47bL,0x8940d375f4bee639L,
  85313. 0x05cc4dc38b8ad839L,0x3b4d9dbe10d505eaL,0x0000000000000117L } },
  85314. /* 17 << 483 */
  85315. { { 0x7549c45aa2216b1aL,0x221596f16518866eL,0x4f8ca3c1fe5fd8e9L,
  85316. 0xb78df22a96363b34L,0xd189cef05ae37982L,0xc157b84591a02318L,
  85317. 0xe1b74e4197511a4aL,0x5877f96c53320c2fL,0x0000000000000025L },
  85318. { 0x12689dc6861c57bfL,0x598b361ad283a108L,0x939b82fb7fa13a89L,
  85319. 0x311cca2a36cfe81dL,0xec335b17bab0c07eL,0x440b8c5c65642a12L,
  85320. 0x813884de04a2ed28L,0x7d19429e87290a2bL,0x0000000000000069L } },
  85321. /* 18 << 483 */
  85322. { { 0x5753bbb8a848cf13L,0x82b32a43d90c938dL,0x7f5770d7e6faa6e2L,
  85323. 0xc7cbcaf37d684cbcL,0xcf943b1b2e7b48a1L,0xd1a7ee6f8d5c5321L,
  85324. 0x1ab34e2d15cc06dcL,0x27d2cfbb74b5a5cdL,0x000000000000006eL },
  85325. { 0x022c5255ad3c3bf9L,0x3026a8b4f744d697L,0x5cfb32d674b6a2ceL,
  85326. 0x8df70a0b5e50e51fL,0x8c9156a9ace784b5L,0x2efad6cd487c3a9bL,
  85327. 0xf5e804c0aa2cec88L,0x5780cc59f9bd480cL,0x0000000000000035L } },
  85328. /* 19 << 483 */
  85329. { { 0x89c3d30477369722L,0xae2ecb09201a68c2L,0x8d5769fecab6da8cL,
  85330. 0x6782778b33aa7ec0L,0xc74ec1254fc65e80L,0x72cc87bf6bdfc390L,
  85331. 0xc8689471ddc0391fL,0x6f58f3f3482baac6L,0x00000000000001e2L },
  85332. { 0x27ccce608b129566L,0x41008f6064f9fa40L,0x2aa9067f4fa0a001L,
  85333. 0xa1f2ba9a46716791L,0x2d4d15cf3a5e32e4L,0xdc75218aa4f0884bL,
  85334. 0x349e45bfcf86c131L,0x1e11015c3228a631L,0x00000000000001aeL } },
  85335. /* 20 << 483 */
  85336. { { 0xf240d36be4ab3d55L,0x7acb5bf0593c4a6fL,0xb7456194130fdfbcL,
  85337. 0x3d3af6220ec1bca5L,0x14a5cbd878b4f4deL,0xde12e1cd6c32e96dL,
  85338. 0x5063ff425b7bce8fL,0x37efaca1003dc72aL,0x00000000000001b0L },
  85339. { 0x4274de57ccda7e54L,0xff66c962086c6d20L,0xca33121d4c9071d9L,
  85340. 0x97b4200b3e732b5eL,0xec371b1543208ba0L,0xf6aaeaece25d09ffL,
  85341. 0x226e14d2e18bab6eL,0xda5464f9459a3df6L,0x0000000000000130L } },
  85342. /* 21 << 483 */
  85343. { { 0x017af4517f7b8b0fL,0x0dfc68bca4a49a70L,0x789e4ac8e231f9d6L,
  85344. 0x20db8ef6065ede81L,0xb739cb55d638a77dL,0x79d863e1184c2b26L,
  85345. 0xca7312bbc0240acbL,0xf300fb15d3645326L,0x00000000000001beL },
  85346. { 0x1d991e4e459dc169L,0x7000c7d42cd45ebeL,0x96e9b26038f97f29L,
  85347. 0x0c3f5c5fddb39121L,0xabdfe949839ccf8fL,0xa5c2a20559df3d2eL,
  85348. 0x39295c3c114de48aL,0xbf438537678d7b4eL,0x0000000000000158L } },
  85349. /* 22 << 483 */
  85350. { { 0x9e96ebde76178c94L,0xb30646eb53081e92L,0xb2541cf8f47b37ceL,
  85351. 0xf5899b4a72cdfe16L,0xe86f9bebbc9855dfL,0xcd97de762a3c7176L,
  85352. 0xe792c9ccad4af521L,0xf4efad3de059fcecL,0x0000000000000153L },
  85353. { 0xad541c6a53a88fbbL,0x817ceac1fb7c79b5L,0xa4a04dac7daa33c6L,
  85354. 0xfa09f56ff3d2d674L,0x9f53ef31eec7d069L,0xad1e5af49211cd93L,
  85355. 0x0ff0a6dc959d77d0L,0xcb232def76ed9affL,0x000000000000002eL } },
  85356. /* 23 << 483 */
  85357. { { 0x9d7f958a886f6543L,0x0cfd178d4b11f4f2L,0xbccf93cb83966213L,
  85358. 0xa733d7f47868f2bbL,0x35b2cefc80a83472L,0x791fd530e3108c17L,
  85359. 0xd8b2fc0e8366c15eL,0x4aa1a7a237d4c1f1L,0x000000000000014dL },
  85360. { 0x965850c704d1e2acL,0x0cb5a3c0a6d83cc9L,0x1e354634a97bdc9eL,
  85361. 0xc40e3a6cc4361defL,0xf5383a2d1945be19L,0xe2b5c363e4245615L,
  85362. 0x685cd8c1716af301L,0xb0817184a59dc09cL,0x000000000000005cL } },
  85363. /* 24 << 483 */
  85364. { { 0x9134dac8966dd7c6L,0xb53909cb72bfde57L,0xa06f7191d2a4fae0L,
  85365. 0xb22a5d860d8aded5L,0x9b0869337ba88547L,0x6a027da5ca1b3e75L,
  85366. 0x55e8542182831df6L,0x52811cacca4fd543L,0x00000000000001d1L },
  85367. { 0x9184b34252d1a260L,0x046f70f2d4ae87f3L,0x75f0132452052638L,
  85368. 0x9476a1609a4e8cadL,0x1485632621396b03L,0x381f263ff5af85aeL,
  85369. 0x8e77b921f7010305L,0x7fab4d8838f30a00L,0x0000000000000072L } },
  85370. /* 25 << 483 */
  85371. { { 0x1ba8c7879deee4caL,0x0de11c34b39ac162L,0xe3c13cf606577091L,
  85372. 0x4afa40f1069ce9c3L,0x8c4c9362c9588cb5L,0x70cefa89fd8388d2L,
  85373. 0x5b93bd0bae70801dL,0xbf19651b29e3f773L,0x0000000000000173L },
  85374. { 0xcc716100d6635a0bL,0x785ab9e497770cd3L,0x97ad8f05f2d3d0f4L,
  85375. 0x9153f661210b85efL,0x6ea72d9be05e09b7L,0x674d169512a35919L,
  85376. 0x734afc5174d1756fL,0x685d097d4e4a7d3bL,0x000000000000011aL } },
  85377. /* 26 << 483 */
  85378. { { 0x586a5a4f92f845ffL,0x4181e8bf433b9969L,0x8ca665031bb30e35L,
  85379. 0xddb8880029ef7c76L,0x91ec943993a91394L,0xa102438734acf11fL,
  85380. 0xb31bab71e3a99420L,0x46671df0823803acL,0x0000000000000182L },
  85381. { 0x4311612323967817L,0x10bcc7e1d83add78L,0x5cb65ce01b4d7ea3L,
  85382. 0xc204e7395fc7aacfL,0x138fd0eb0df86632L,0x5a7f3bf92920e7aeL,
  85383. 0x323b55da74fb04a2L,0x87a1cd2dcf6b4579L,0x0000000000000105L } },
  85384. /* 27 << 483 */
  85385. { { 0x99426408c2095c41L,0x77924d94d2203699L,0x63282e3b8ad5282cL,
  85386. 0x0e342f0a9c3dddd2L,0x0ab9c156579aa49dL,0xfd67a28d49baf18eL,
  85387. 0x9dec1fc0f0ff38bcL,0x2120dfdf91e8bd79L,0x0000000000000038L },
  85388. { 0xc33a4e7791297f43L,0x90d0ca4fd1d21410L,0xf5e6111862b0ce45L,
  85389. 0xc99e5063601631abL,0x3d22412ec894eb2cL,0x78ce86202ddc8d51L,
  85390. 0x38961c0bdfc1a41aL,0x2b435857e1b449f2L,0x0000000000000190L } },
  85391. /* 28 << 483 */
  85392. { { 0x7df95a3c1b3f5cf1L,0x3b30e0f2ea0077fcL,0x733880b50aabcc34L,
  85393. 0x2050bc2701193010L,0x2dd36def5c80fe3eL,0xf2e14b2be8e228d6L,
  85394. 0xf13a348574802ebdL,0xf08bb1ef17f57cb1L,0x0000000000000087L },
  85395. { 0x4f81dad0a662456aL,0x8c645bb185f5b388L,0xa39acf0e19503f7aL,
  85396. 0x214d1956d7530999L,0x2dfb62dec339d2aaL,0x9c54f1a27a04264aL,
  85397. 0xde5e1fa9bb74e313L,0x3fb024216dcdac67L,0x00000000000000b0L } },
  85398. /* 29 << 483 */
  85399. { { 0x23b886a9393c3fe7L,0x7408b94f4b1b33b0L,0x01c0254af542525eL,
  85400. 0x4ce60b318ddf1982L,0x97a6fee7ddee6485L,0xa2f7d7b2a99f2778L,
  85401. 0xe685a50bbaa0ffe9L,0xbb82afef930aaf29L,0x00000000000000d2L },
  85402. { 0x32e878790644ee4eL,0xf736c70517d83725L,0x44c56e15b3b2e87aL,
  85403. 0xd3eec9133baeb44dL,0xbc10fa0741ad6c2dL,0x26c8d0c696115e03L,
  85404. 0x8d826950a411254cL,0xdde6af743abd2faaL,0x00000000000001bbL } },
  85405. /* 30 << 483 */
  85406. { { 0x28702dc496ab1d1bL,0x2dbd79460dc11ba4L,0x0956696b883faf9fL,
  85407. 0xcdb23f5f227932d1L,0x34957d5e0de851edL,0x40065b9ed930f741L,
  85408. 0x1be825122138d1e5L,0xb9f0d75934c7c9b7L,0x00000000000001e3L },
  85409. { 0xbaf4143b567ead92L,0x5eef3357fb9cc866L,0x4095892ccb122a8bL,
  85410. 0xa3e50ae814b8aa9fL,0x72024c42376f6b0bL,0x6c63ee2ddae219e2L,
  85411. 0xbba101782069c115L,0x3ba8834d7f96def1L,0x000000000000015dL } },
  85412. /* 31 << 483 */
  85413. { { 0x2f7beb7f56438c0cL,0x42a16fa2ab4f67d3L,0xbc8d85f6e40ce460L,
  85414. 0x3428e0fb2f34378dL,0xea54de6ddc41a2f3L,0x5ccf4b0d17ba5e5aL,
  85415. 0xe27843c9abf87924L,0xcf117ea6101dab80L,0x0000000000000082L },
  85416. { 0xc340c90e1e82611fL,0xb894452a8e4173a1L,0x9a4b787ab9afa27cL,
  85417. 0x417736a5d0f14693L,0x5f1a49924ae95026L,0x1206bbd394734633L,
  85418. 0x5dede89ad6f4a4c9L,0xb766440df1f24b1dL,0x00000000000001a6L } },
  85419. /* 32 << 483 */
  85420. { { 0x8dd33d1c66bc31a5L,0x80a074959d19c1c0L,0xda13c485e03a1ee5L,
  85421. 0x316d85f968acfd38L,0x8617c80d0d9d6273L,0x6ddebb71f94d5f22L,
  85422. 0x1c3452038efd0a44L,0x7ca0b4067b3746e3L,0x000000000000007bL },
  85423. { 0xbec7b15087436d56L,0x07cf1192a01f6c04L,0x047b37f6f73971b0L,
  85424. 0x7e7d8b9b5ae1f9d4L,0x0e311b4fca1a9900L,0x5dc55f3d6a81fb38L,
  85425. 0xe257401a2956af04L,0x90c2ad09f66ae95fL,0x000000000000016bL } },
  85426. /* 33 << 483 */
  85427. { { 0x6f3e5a621a735a98L,0xf17c344e4c0f9811L,0x0985657887068d99L,
  85428. 0x3c9e47d0fdd2aac0L,0x9ef34869797f8a14L,0xbb27f6da4ee23bbfL,
  85429. 0x51b7f59c213596cfL,0x60aed74c54a4b339L,0x000000000000012fL },
  85430. { 0xbc361782384a09baL,0x6fb5c273ea0b54d1L,0x41d2c9755423bc32L,
  85431. 0x5938aef020a6d38dL,0x07e0841a132dc550L,0x0b8fe98196944602L,
  85432. 0x77ce11d1eff12314L,0x13b30d3f01450ca9L,0x0000000000000127L } },
  85433. /* 34 << 483 */
  85434. { { 0x6167ce3b4c38b2f0L,0x78bfe46ccf1a74b9L,0x40519177b17eb1c4L,
  85435. 0x5379831fa2ea88f5L,0xc7aa54520f90d032L,0x1b77f1a1b1ad4c9bL,
  85436. 0x1456a598aa55a518L,0x638b62720114002aL,0x00000000000000afL },
  85437. { 0x2c04235caac99882L,0xbf34e8dd41d65ef0L,0x49e51a8c79af103bL,
  85438. 0xce352f3a901a1a57L,0x00e123f6a49e5646L,0x351a25801d22efc8L,
  85439. 0x883f53b385bbb439L,0x7ad4f5539780ce59L,0x00000000000000afL } },
  85440. /* 35 << 483 */
  85441. { { 0x317db0ef6b43f86dL,0x187e452ec376cdd6L,0x1ee31d29b1c17bc5L,
  85442. 0xf0c4ae43e8a19f7bL,0x71525f553e9bc311L,0xe948de7a66d91aafL,
  85443. 0x947a0c70638f5b34L,0x8affa837e7c40657L,0x00000000000000e6L },
  85444. { 0xc76f3535c3acf132L,0x6066128710d80c77L,0x55db52e39cfad0bfL,
  85445. 0x9d65e598c72d88a7L,0xffe8b7d5a016cceaL,0x73cd6e7bfcc198bbL,
  85446. 0x90142e63f7277c8aL,0x73d673ffedace584L,0x000000000000009eL } },
  85447. /* 36 << 483 */
  85448. { { 0xfa1c0bda6a639f04L,0x0d34fc8850a3c441L,0x0e2d322ad15965adL,
  85449. 0x700433af853b1f5dL,0xce7454a25cafcb5aL,0x2201bc0473b16a2fL,
  85450. 0xc178af49986e01feL,0x00383c44f4196a72L,0x00000000000000c1L },
  85451. { 0x26951af44027cbd8L,0x0a64b5bd58133d67L,0x55c70f8bf9edd0ebL,
  85452. 0x43762ee7c4ebeb49L,0x5d5b9d8b33a6b1c1L,0x1446f8bcbdc002f1L,
  85453. 0xab85db78ce19c7e4L,0x4daf43d163f0ad8eL,0x00000000000001b8L } },
  85454. /* 37 << 483 */
  85455. { { 0x3afd28b85d94ef9fL,0x81257a58c3177e20L,0x38dfaf6c65eb35a5L,
  85456. 0xe6f3ef64288e980aL,0xb97158885cedaa77L,0xe99de3f8a7eb0cdbL,
  85457. 0x81059e958eac3ddeL,0xf37c0a32c9c83c67L,0x00000000000001faL },
  85458. { 0x1823b2fcd4f70ceeL,0x57762228e9c5bd49L,0xa17f38348a42a86bL,
  85459. 0x1cb50d437b41063aL,0x12a24600639b5b82L,0x70cead17dc2a9befL,
  85460. 0x8604e4aa0bcaa435L,0x8425f4b68890b5c5L,0x0000000000000059L } },
  85461. /* 38 << 483 */
  85462. { { 0x9b9bed42938f1c9eL,0x3d20941e97fd1135L,0x441f7e6ef64abe42L,
  85463. 0x1def7b3f0e07fdd7L,0xcc052cc7ba19fac0L,0xad9a823b94b5a3e5L,
  85464. 0x76a1332af3b3bf6bL,0xe7f4dea925d8294bL,0x000000000000008bL },
  85465. { 0x1327bf2381bf2ae5L,0xda8af8f9c5ae36bcL,0x5a03be7b253aa57eL,
  85466. 0x16c4d1e0d8673996L,0xdf37a5c5ade6c913L,0x326cea3193cd3c79L,
  85467. 0xd5bfca3f8b2ce002L,0xde1ef94ad2966ee8L,0x000000000000016eL } },
  85468. /* 39 << 483 */
  85469. { { 0xe848a22c8a20f973L,0x7d4838938707d89dL,0x743e47af3a602f42L,
  85470. 0xa793999ee80346e6L,0x70c2abb4072cf57dL,0x10de7dd0f254926cL,
  85471. 0xac0465d0b3f05ba4L,0x37222ff549ebdf47L,0x00000000000000adL },
  85472. { 0x84a14bc688843ac5L,0x251de0ffa7cc807bL,0x81df07af0e43fdfdL,
  85473. 0x6b799a7269b2f867L,0xa4a0f81fe9f40220L,0xa4d91dc17e0d6fbdL,
  85474. 0xec9940f238cb4a33L,0xb802f2e17771ac3dL,0x00000000000000c4L } },
  85475. /* 40 << 483 */
  85476. { { 0x82fb9f71437c9b3cL,0x8f892941aa7bbbd8L,0x8c0f30acb4aef227L,
  85477. 0xbcddb282afb0ffd0L,0xd6ac26bf9835b70cL,0x2a2483ff28422e87L,
  85478. 0x3839a2cbbffd1ff1L,0xa3c660355b9cd379L,0x000000000000006bL },
  85479. { 0xe6dc8fb8e50a7d38L,0xdca90512836bfcc1L,0x7688a1b3e4e9ce06L,
  85480. 0x1740f1a5f17e5457L,0x697380917ded4120L,0x33d97aa918814d34L,
  85481. 0x530cfc7af7927f48L,0xe6d6c9ec929172b2L,0x00000000000001b0L } },
  85482. /* 41 << 483 */
  85483. { { 0x428216a6c2b89eaaL,0x80af7400c889421bL,0xdbf3e6d5ab483733L,
  85484. 0xa174a26fc80b04a0L,0xf43d9f300a0a9600L,0xf6bc9b055a36c398L,
  85485. 0xeec10bbaaecb2d9bL,0x4b6343a90db85b00L,0x000000000000019bL },
  85486. { 0x8f3b5dc05b69a5fbL,0xfe36ce3f962d1949L,0xb1ed23e1b901c965L,
  85487. 0xa27d8354310d5c7aL,0x8d8cd709cf1c8261L,0xde318e922ec59425L,
  85488. 0xcd74892887cdd65cL,0xd5000ab0cc3df271L,0x0000000000000145L } },
  85489. /* 42 << 483 */
  85490. { { 0x70d80c68accc8cddL,0xf18270444d36dae4L,0x1de1d63c5c1b23dcL,
  85491. 0x3f692f0db6af112dL,0x90be5f8cd1627389L,0x269bcd96e3cb096eL,
  85492. 0xdb3da141e52f7191L,0x020fd372236f6719L,0x0000000000000026L },
  85493. { 0x32d2aa912e6b5359L,0xc69d58b61355b897L,0x019f986593f03d9dL,
  85494. 0xcd3ab51998cc76f4L,0x0a8d4dabe1f31d9bL,0x13fb607b605b601aL,
  85495. 0x3412ab49d1b0a857L,0x9d4f6cc56a59c8e9L,0x0000000000000024L } },
  85496. /* 43 << 483 */
  85497. { { 0xa4ff17fb90aa8d12L,0x4b11676ffe3b60e5L,0x4b6736d5520b491eL,
  85498. 0x111ed0242549df91L,0xcd9a9f14e120c6a2L,0xe9a1ab1a16e281bcL,
  85499. 0xa8c787c8464e5043L,0x7b8ba81beb71f3faL,0x000000000000008aL },
  85500. { 0x9b0a74f9ee5f33f4L,0x1387695a7e5e34afL,0x378e761f008494b0L,
  85501. 0xa9497876b556e962L,0xaa58debd121a018fL,0x97f52405a924e778L,
  85502. 0x432f362dcd07aedfL,0xab22f4c6f814c3caL,0x00000000000001cfL } },
  85503. /* 44 << 483 */
  85504. { { 0x75a95d201ba19e5aL,0xc4ac280da7814129L,0x39d17e5a0053757dL,
  85505. 0x8b5fe8f5c29a489eL,0x2616039717aace25L,0x561c8f439652ddaaL,
  85506. 0x61822a50f5c95227L,0x072f8e5dc007cc38L,0x0000000000000152L },
  85507. { 0x9ff7313cc50fad23L,0x8092be14bb03aff1L,0x922d11fc480cb8dcL,
  85508. 0x9c2524ddf22d2e95L,0x5b2ab1f4f8672817L,0xb77fe4669b52a810L,
  85509. 0x09ad0883f510b41aL,0x302b7c261b4138d2L,0x000000000000013fL } },
  85510. /* 45 << 483 */
  85511. { { 0x18e8c1d2b312d646L,0x00e3253bceda36afL,0x45d2d5d0752540a0L,
  85512. 0x87a38fc7a3d85d35L,0x2c3862aefd90f76cL,0x5af9307c79fe8ba8L,
  85513. 0x35214c7c8d686649L,0xa7fba7f225ef82e4L,0x00000000000001faL },
  85514. { 0x66014ff18124515aL,0xde9da3353fced30cL,0xac96a6ac7f50e6ddL,
  85515. 0x0f96e01a39abdad2L,0x67a39cb6b46bae57L,0x596edccd2fc272dfL,
  85516. 0x4ebdfecfb15ca893L,0x3e5f5903e0b3c942L,0x000000000000006aL } },
  85517. /* 46 << 483 */
  85518. { { 0xb17ba42760f48d19L,0xa4ef46ab969dcc37L,0xee09b13a004629c2L,
  85519. 0x7936d9b1947f6795L,0x7b0167f8ed153962L,0xb3dd551c1b18a245L,
  85520. 0xb15372159f7517f8L,0x3f6cdd5d9f9aa1ebL,0x000000000000018eL },
  85521. { 0xf72f53d22ff0201cL,0xf072228ac9d861c2L,0xe35876de8febce56L,
  85522. 0x5fc283033c8f7bffL,0xa12b0a81d2893b8bL,0x57ded7bde89263f6L,
  85523. 0x81494bfcabb2822bL,0xdb399fa9f2c8ec57L,0x00000000000000dfL } },
  85524. /* 47 << 483 */
  85525. { { 0xaefa7fb0808cd5d5L,0xe80f21e484884ca0L,0x9d0486cfae65b5faL,
  85526. 0x4b54c759e8168cc8L,0xfd1c1a068ddd9c6aL,0x8c04efb02a8d8bebL,
  85527. 0x33d61fb78b5ab913L,0x4fafce55715f0cedL,0x00000000000000e6L },
  85528. { 0xb9c352f46c0d348fL,0xc60a94bb45bc984dL,0x9f743556605c71a8L,
  85529. 0x176de676067997e0L,0x7ddd2aec7d72394cL,0x3de5a535411ef5c2L,
  85530. 0x818a2fb45e052585L,0xadf2f7ea83ce38d1L,0x000000000000018bL } },
  85531. /* 48 << 483 */
  85532. { { 0x15f956694d4a5461L,0x56f1b9232775dac2L,0xa4f77a80b3028c01L,
  85533. 0x4c7c09f84a216681L,0x1469e858444401beL,0x9bbe83c5f4fd909fL,
  85534. 0x3f52c7eb914d3efdL,0x769e218db97ccb6dL,0x00000000000001b4L },
  85535. { 0xca757e3b80dd9fbcL,0x741fee50f5fe9f79L,0x8a7bb30cbab00224L,
  85536. 0xa33bcefe4ec16137L,0x62d0604c2fdaf3e9L,0xad66f9f66d7376b3L,
  85537. 0xca856f8d02c9ab0dL,0xaad774a6df87aa79L,0x00000000000000e3L } },
  85538. /* 49 << 483 */
  85539. { { 0xf446887e5b80ef17L,0xeef1494d936989d3L,0x6058c0405f82a6f1L,
  85540. 0x6f97d2f5624c5294L,0x4772ad1a59e08502L,0x41ca4882993ec149L,
  85541. 0x4890ef7309e3ec9eL,0xe1843ede041133feL,0x000000000000012bL },
  85542. { 0x42d78ebb7b2f37e1L,0xd130e9a18b4ea8c7L,0x002cc021fa9d9adbL,
  85543. 0xf26e382454996fd5L,0x206eda2db4ee2ad9L,0x95e069ea3a1147e9L,
  85544. 0x8f1ce0085798b869L,0x96f99e7fc24b7809L,0x0000000000000131L } },
  85545. /* 50 << 483 */
  85546. { { 0x74bc731aa521a2dfL,0x2a7dad589ca35915L,0x24ba1b555ce46968L,
  85547. 0x1c00375723481711L,0xd1b381c6e1986244L,0xb2c4710846b9c4c0L,
  85548. 0x11ef4e90a2ed3152L,0x4c1c7086f0863dafL,0x000000000000003eL },
  85549. { 0x795131fe66eb30a2L,0x0ea3589b94b68f85L,0xdc7e3fd070ef34d4L,
  85550. 0x14a5499a44df4e9fL,0x9b340e60a69e2691L,0x91c5e50752f35777L,
  85551. 0x7582716785c69903L,0x547f96ecd8536e21L,0x00000000000001a3L } },
  85552. /* 51 << 483 */
  85553. { { 0x96fe0761a501282dL,0x79bd2cbe04a97c94L,0xb2445622206c0bf9L,
  85554. 0xfa2bd5260a8c8b82L,0xc22acd0c7aa2cd47L,0xd541785b67bd2672L,
  85555. 0x5644081f97b909d2L,0x97ba1dd70779b879L,0x000000000000003dL },
  85556. { 0x3586ceff5a15e6adL,0x347005ce76b70d67L,0xafe431e24ae4b2b5L,
  85557. 0x6de0cdb6183abbf0L,0xca058f19fb220de0L,0xb6284b1d1e1dbd82L,
  85558. 0x81c3068ccde36a43L,0xf45a2d76aebf2615L,0x0000000000000197L } },
  85559. /* 52 << 483 */
  85560. { { 0x2fed71ab13191ef0L,0x4d093b4bcbc0201fL,0x04d6d7b64e54b64bL,
  85561. 0x335641e3afaeeab7L,0x36a8bf03f565f906L,0xe0a1162706db040aL,
  85562. 0xfa9564f345ce75e7L,0x62220cd0d1651390L,0x0000000000000172L },
  85563. { 0xb86f0816fe6efb3aL,0xbe06aa2752ca0a50L,0xfe5aff01ca6a34bcL,
  85564. 0xf1d3f54920f73725L,0x16db75d8f822f3e8L,0x3aac55a586dea1b2L,
  85565. 0xb4e6e8f2e6a3437cL,0xa8239de5f86343ecL,0x00000000000001bfL } },
  85566. /* 53 << 483 */
  85567. { { 0x8d18bf08a3bf7997L,0x391cf08b6fade171L,0x7991a05de5ca321cL,
  85568. 0x23ece7ee451ce87eL,0xa6362e03a977f619L,0xade9302513907e13L,
  85569. 0xd91cc1f52e2e9088L,0x44e5824df58e5620L,0x00000000000000baL },
  85570. { 0xf8e7816527b063b9L,0xbe43d2c36eb79697L,0xcf36bc31c97e543bL,
  85571. 0xb2051af018cd43abL,0x9ed9341dcdd344e4L,0x30701b2957da9489L,
  85572. 0xdad39c53f3b5d5ddL,0xa2116edac4c47541L,0x0000000000000047L } },
  85573. /* 54 << 483 */
  85574. { { 0xdeb91f90da9ab6daL,0xcb56bf2e406a3cd9L,0x58b62e487e8b0b3eL,
  85575. 0x48b2605634436be3L,0xd6cbd675edbbccf2L,0x84ca877854f9a5d2L,
  85576. 0xb63f26c8f06dc3e5L,0x9d447a727c79478bL,0x00000000000000c8L },
  85577. { 0xbe4c5f568720253cL,0xd4079cf2a66930ecL,0x262b2dd86742b311L,
  85578. 0xf72c0a9437c98222L,0xb375cb9908db8f62L,0x034efaa36502ab48L,
  85579. 0x2f679b5720420bffL,0x0834c67ae890bc7cL,0x00000000000000acL } },
  85580. /* 55 << 483 */
  85581. { { 0x2f056bb90280425eL,0xc045a362804b751fL,0x8267e19fb9b62232L,
  85582. 0xd25162b3f6b83e5aL,0x4bd3f73c52872a79L,0xbea0f70e2c4d8454L,
  85583. 0x93630251bdc7bb71L,0x62421c79d6eb5964L,0x0000000000000152L },
  85584. { 0xc6ef31326a4c9b1fL,0x10407eace4383f40L,0x40efa08cf6ba160aL,
  85585. 0x61931947438f0e09L,0x083519fa2b79a0ccL,0x1323a71d85b17aafL,
  85586. 0x3c745547b5841d46L,0xd3b26e8bb60d1f8fL,0x000000000000013cL } },
  85587. /* 56 << 483 */
  85588. { { 0xbc02d7b5a958b119L,0xa924be8546b327caL,0x5964c5e9b0a46409L,
  85589. 0xac8450ca97d92118L,0x693b41b24e926688L,0x03099cabb8d094b0L,
  85590. 0x02b779c117d76963L,0x92e5b73f8eb4ddc8L,0x00000000000000a8L },
  85591. { 0x36c561713f20d59dL,0x12f7a1815115b8b4L,0xf6e1be6845535c8dL,
  85592. 0x7706701a41ec92d7L,0x7569d232e849b822L,0xf6adae238fe67de8L,
  85593. 0xe43d347c6d2f8982L,0x734a8be36cc683e1L,0x00000000000000a0L } },
  85594. /* 57 << 483 */
  85595. { { 0x715334a7e1a910e1L,0xa92a800408ac113eL,0x8bb38d39d14c4a79L,
  85596. 0xfbc37ee2a2f2932bL,0x3e57033229575dceL,0xeafb135a22021b9bL,
  85597. 0x72efc8661066b3ebL,0x03b2dbf7b7719907L,0x000000000000014dL },
  85598. { 0x7e7331c7f6d4e630L,0x1e13582ade86bf74L,0x18907e4bc3b9eed0L,
  85599. 0x79374dc6003080b7L,0xcbf4f614c62cd738L,0xccd41e459f20a97bL,
  85600. 0x96f32f37ffcf7fc3L,0xd1e204949781c875L,0x0000000000000035L } },
  85601. /* 58 << 483 */
  85602. { { 0x9643c5266c6ea0b3L,0x4702ff43bd69bee2L,0x2670cb7e6cc182faL,
  85603. 0xe98e50f972705286L,0xbec3b5a84fdd27e1L,0x72f1a20be3ef8bfcL,
  85604. 0x918033ccd2ba4245L,0x0e41de68e1b00b7eL,0x0000000000000127L },
  85605. { 0xc0ed8187396b5808L,0xca20ef18132aab1aL,0xfbb1f99a81240c77L,
  85606. 0x2e7e99c89dc5003dL,0xe0bf0f3d599c63d9L,0x5caf5b2cf267734aL,
  85607. 0xa22e005dcd02332aL,0x4e905dc503980512L,0x0000000000000096L } },
  85608. /* 59 << 483 */
  85609. { { 0xd2169049caab35deL,0x6c5528742823e046L,0x9a79cc29108047a6L,
  85610. 0x97bbf70d9d8ede4eL,0x977167668212110cL,0x33e99c39371101edL,
  85611. 0x09d4af70ecaba866L,0x3d862acf46064375L,0x00000000000001acL },
  85612. { 0xac064f7c335c3c36L,0x6407ec11432968baL,0x440593247aaaddd5L,
  85613. 0x3d2a9b26f25718f9L,0x03aa5c73ce3da559L,0x40154af74b8098cfL,
  85614. 0x14ef244fc84d6eb4L,0xce11d75ca4fb0dffL,0x00000000000001a8L } },
  85615. /* 60 << 483 */
  85616. { { 0xdf396a64435e6567L,0x515561def1b4f6f0L,0xa2f3488c17f354c4L,
  85617. 0xa93b55f2015e8c9fL,0xba4caa85f6e40c57L,0x540a0df42dc22395L,
  85618. 0x09d3208e4d93e932L,0x53902eee0a578b7aL,0x0000000000000123L },
  85619. { 0x431a21ddaa811b87L,0xf7dfaa57e535f1f4L,0x76ec86761a516854L,
  85620. 0x914cdc51a55047d5L,0x8ca17868e13643f4L,0x2e0d6bbe3507d525L,
  85621. 0x614677534be4b04cL,0x66fa0a07d060337dL,0x00000000000000b0L } },
  85622. /* 61 << 483 */
  85623. { { 0x6d505ed813aee1c7L,0xadb253ecb510cac1L,0x799dc47e52df92e0L,
  85624. 0xe4a6f8667e721b9cL,0xcc769496928e3833L,0x77f90f407b701ed8L,
  85625. 0xad4605cb6c36f3d9L,0x396b31b5fd3dcf33L,0x0000000000000129L },
  85626. { 0x01a28e7ce5e1e93bL,0x72105a72947e6131L,0x1ced05353a4700e4L,
  85627. 0x3a2868be782e5b4cL,0x4b8a224e7e1f4bf0L,0xc984bd6aeb002e28L,
  85628. 0x75ff62558ae5757aL,0x573907a8f4b0f10eL,0x00000000000000a0L } },
  85629. /* 62 << 483 */
  85630. { { 0x7435bf81b0aba4d2L,0x2f9cf230a9304dc5L,0x8d2a2f7efef7bca2L,
  85631. 0x6a7bc8be83196a5eL,0xf1307d2a3fc22eadL,0x40ec9e45e1063531L,
  85632. 0x663d9867fefecd17L,0x0b271efb3c0bbb6bL,0x00000000000001c7L },
  85633. { 0x7c694979933db66bL,0x962d1c3acae9cbc9L,0xbbaa0d5b73298f99L,
  85634. 0x950dde19bf0c7515L,0x3689529e6f23e672L,0xe9ba0a528e7c9720L,
  85635. 0x98841855b3d3fb27L,0x9fb4812a1b62a7e0L,0x0000000000000026L } },
  85636. /* 63 << 483 */
  85637. { { 0xffc68ca0becea497L,0x67aad6d19361196bL,0xf73b3170f64ff2eeL,
  85638. 0xd6cd04b308cf964eL,0x6f025d2f2af74054L,0x6a75708d110f5de6L,
  85639. 0x459a54092f314ddbL,0x8b546498a68bdd6bL,0x0000000000000053L },
  85640. { 0x2ecc3c54d94ad9c3L,0xb4aa6c1674d8ee26L,0xab443dd9a6e38149L,
  85641. 0x1fa9aa6983111140L,0x416ce37bb0d97e03L,0xb4058478f2437c90L,
  85642. 0x8fca985139e81813L,0x0a0454b3c956b700L,0x00000000000000a4L } },
  85643. /* 64 << 483 */
  85644. { { 0xa949016c027effaaL,0xd4fb4288e691a213L,0xd18a53b17fcdfd96L,
  85645. 0x6808bf4c0ce4cac9L,0x7e7dc551bed1f520L,0xb84f242f2db78ffeL,
  85646. 0x7e6d15d34261fdbdL,0x836f8254a8ffc498L,0x00000000000000f0L },
  85647. { 0x029233daabe4e4f2L,0x9617f000d0327536L,0x444fdc65de62e889L,
  85648. 0xf9170a9969512dc4L,0xa37edb8d4e765028L,0x7c003ad00852dc5dL,
  85649. 0x628756447cdf14efL,0x87ae7bb59b509913L,0x00000000000000a5L } },
  85650. /* 0 << 490 */
  85651. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  85652. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  85653. /* 1 << 490 */
  85654. { { 0x51199e42088a01d8L,0xa9c970190e6c6197L,0xcc8bba8aec9f00dfL,
  85655. 0xdb0e728aa3534e0aL,0x4f130e04b74d62e5L,0x3e26abba0368bf53L,
  85656. 0xf97571a599d4743fL,0x64863a87c7eb2500L,0x000000000000003aL },
  85657. { 0x0cbb2434a3d02698L,0x3c37545572eb32aeL,0xf8555f578806b951L,
  85658. 0x11215434ce2dbe0aL,0xf0d7a7f00470fb38L,0xc4e0ad472707cb8eL,
  85659. 0x4caef200c03c9c3eL,0x5ba3893846612de4L,0x00000000000001b2L } },
  85660. /* 2 << 490 */
  85661. { { 0x4f3c3bc3a1e703a9L,0x134edac80f4d9e8bL,0x55da5480fe4727cdL,
  85662. 0xa8f98d584c37a7b2L,0x06bc173cc5f9592aL,0xd1f2103c5220ee93L,
  85663. 0x956efef67acf01bbL,0x55746c426c878b89L,0x00000000000001a2L },
  85664. { 0x1927395435dd9b7bL,0xb81ef6482a61252bL,0x508f2cb818236f94L,
  85665. 0x655ec86d31b04f92L,0xdc06ce6a381743aeL,0x46059e3637e92347L,
  85666. 0x6dac815fbe6a29d8L,0x4b4fcf720b369888L,0x0000000000000181L } },
  85667. /* 3 << 490 */
  85668. { { 0xf8106d6fdb1a83c1L,0xc55816668a3b992fL,0x30be609761e65036L,
  85669. 0xb7e260eded1ad38fL,0xe51ec351f98254fcL,0xfd1e301827f9210fL,
  85670. 0xc209ab2533522612L,0xf68c7a487baaa1d8L,0x000000000000007cL },
  85671. { 0x6677dc5814fc9ff1L,0xe57b02bb6a95a729L,0xf520b6157618c694L,
  85672. 0x61b4174f60b020afL,0xa0f2cb83185d0531L,0x647a5daa640f434cL,
  85673. 0x1b1ea4352d853d74L,0x222ea56cd31bcdceL,0x00000000000001bdL } },
  85674. /* 4 << 490 */
  85675. { { 0x6106402972e2518aL,0xfacd33fa7b5fbfc1L,0xd50f77717632ad67L,
  85676. 0xba8688071f0d2282L,0xacacd91104d90803L,0xf94b3e0f51496ee8L,
  85677. 0xfb8a5406ece3c365L,0x96f5c5e7620400f2L,0x0000000000000109L },
  85678. { 0x7389f3dd36988cbaL,0x4ab5c460762ca5f4L,0x9b96cf82b5cf8989L,
  85679. 0x2ffa0db5158a4c79L,0xb5821b1a3a3d24f4L,0x17771cb7f8c464d0L,
  85680. 0x9ffd764662c59a09L,0x0eefa35fdc162385L,0x00000000000001e1L } },
  85681. /* 5 << 490 */
  85682. { { 0x020e0b3723563c41L,0x51cb4e065011a829L,0xd4ce6fbaac22f4c8L,
  85683. 0x953bdb3db2415370L,0x316a668da8bbc065L,0x6b97ad5dee418011L,
  85684. 0xc595b7d16c4bab89L,0xd5a5e27163504ba4L,0x0000000000000104L },
  85685. { 0x9325755d1808ab7cL,0x89bae8ad5bc9c781L,0x690f475bbe6cfdb1L,
  85686. 0x12c3ce21a07a4c3fL,0xf71a959da04a872fL,0xcf877db397297763L,
  85687. 0xc7549bfa18e0c680L,0x98e9a6092fc07c3cL,0x000000000000001eL } },
  85688. /* 6 << 490 */
  85689. { { 0x9a672f1d10413087L,0x411e1e5bf1f3ff42L,0xe82c5986273d35f7L,
  85690. 0x92e879a6b685dbadL,0xdecbf5453ddb51bbL,0x9ff90e3a39eec3d5L,
  85691. 0x08a257ea40810789L,0x62bf063097c15f38L,0x00000000000000a0L },
  85692. { 0xadbc2699525f4599L,0x431b2afdef56cc0eL,0xbbf0c5497df748d6L,
  85693. 0xf68f2e050031a3d8L,0x30e5621f74d09f61L,0xfac58606bf9b7376L,
  85694. 0x83216950be2ea8e4L,0xf039db24af8340a5L,0x0000000000000187L } },
  85695. /* 7 << 490 */
  85696. { { 0x741ab54678b66b18L,0x1c5f59b4e9fa653aL,0x9e0085be4e2c1d9eL,
  85697. 0x69c5ed9c89b83f53L,0xee80d5102b74ebf3L,0xf1ac08ba53fdaee3L,
  85698. 0x89551a3689f58574L,0x55298a412d97b54aL,0x000000000000000bL },
  85699. { 0xc12b2160a54c169eL,0x557ac5fad1ba765dL,0x8fc94a99af6d1ff0L,
  85700. 0x01ffeb4f50587c6eL,0x030b43f838ef4acbL,0x0f9f1e53091d7b0fL,
  85701. 0x2a6e11c6edd00a6aL,0x6a611260fa85f47aL,0x00000000000000a8L } },
  85702. /* 8 << 490 */
  85703. { { 0xfa050bbd035b25a2L,0x2a14076e36ee92fbL,0x3e95a7eb2f514218L,
  85704. 0x8a67615dea3b77d3L,0xe2764f071da9263eL,0x47bbf1ff92b51d79L,
  85705. 0x82cd065659df9eacL,0xc80bb0f05e020e6fL,0x00000000000000b2L },
  85706. { 0x7dac49e7a7560919L,0x7238fa6ec82b9da0L,0x3ffcf645ff7cacecL,
  85707. 0x72087198be9302ceL,0x13094b5c513ba920L,0x8cca51f343eb77deL,
  85708. 0xeffe0e7d60b89283L,0x036368bfdf9075deL,0x000000000000019dL } },
  85709. /* 9 << 490 */
  85710. { { 0xae445f227b4593b8L,0xef35356ad4842ce6L,0x2db43c86bf3bac89L,
  85711. 0x414690ed7dc182c6L,0x84a514a50ae14289L,0x5ecc2b3c805b103fL,
  85712. 0x0bd5f847fad21f5bL,0xee1dd686b358a036L,0x0000000000000000L },
  85713. { 0x22052b302fee1645L,0x84910ab0d993b563L,0x58431b24c62691faL,
  85714. 0x0d573a5ad696d720L,0xdf3b69ed9c571a76L,0xef2bdca8814c3185L,
  85715. 0x35e2a1ce22a6530dL,0xc3d59a8c72873a48L,0x000000000000013aL } },
  85716. /* 10 << 490 */
  85717. { { 0xea12baba36c07770L,0x7149b07d7aa338dcL,0x7dd392b45d156c18L,
  85718. 0x84a12f7cc4365ee0L,0xb44e45db4084be8cL,0x5d54b2fd5fe57a77L,
  85719. 0x302ac5bb71c43590L,0xe66a79c59fde373eL,0x0000000000000134L },
  85720. { 0x2bfd7beab5bca463L,0x928522e5980a8823L,0x00a2c869b924694aL,
  85721. 0xdd8a185649d07554L,0x16b0b4c34cec885cL,0x37f1fc54599c8460L,
  85722. 0x7d27418a7d607e4aL,0x8fb68d5ebd28f94aL,0x000000000000004cL } },
  85723. /* 11 << 490 */
  85724. { { 0x9f19c16c46720d7aL,0xf378e65e2c7603f1L,0x4767d22438b49a6fL,
  85725. 0x54745d098b03e0e9L,0x4b04b342d735cda5L,0x4f2b0ea305c600f4L,
  85726. 0xa951a8762c6442daL,0x306df593775e0120L,0x0000000000000114L },
  85727. { 0x626a917bf58d9acaL,0xcb451ec176b10f78L,0x93da7a771559c731L,
  85728. 0x7fbec23ebbdac761L,0x5fdd3a75a36dfd28L,0xbf715077d53ec252L,
  85729. 0x0b7d2f675fe204ecL,0xe2d696507278bc38L,0x0000000000000008L } },
  85730. /* 12 << 490 */
  85731. { { 0x2ff0f1cbea39d3beL,0xa756a96ec7f3195bL,0x1dfbdedfdeb42713L,
  85732. 0x7cb9e1be4a87567aL,0x64541aa30d2cec73L,0x8eec22690a0327b0L,
  85733. 0x967b1bc10c157f20L,0x2a6f1a402d8969e0L,0x0000000000000181L },
  85734. { 0x42547f4cc471c0cbL,0xb990b1a2815ef0f1L,0x672398cbfbc29aabL,
  85735. 0xfb7e649b104ac38fL,0xf0ba1354e9cf1e5aL,0xb0c191da2cd48a07L,
  85736. 0x1fc70fcdb41854f5L,0xf11295462504091bL,0x0000000000000195L } },
  85737. /* 13 << 490 */
  85738. { { 0xac46f9b5cb50100dL,0x515da1b65497f79aL,0x5e5cd6053fdc142cL,
  85739. 0x40b22f9fd29696b7L,0x6f54de30d431a575L,0xf031047cc22eccdfL,
  85740. 0xb93ab0eb3686ff2fL,0x2916ce36d93d864bL,0x0000000000000060L },
  85741. { 0x09309e3b78bcbe2dL,0xedaa63647012435cL,0xadca8f2837274001L,
  85742. 0xaf2ddf5fb46f8b32L,0x1cee73d6478e7979L,0x76de95d86428aba3L,
  85743. 0x13e5f39308dd313eL,0xcff92fc04cf616f8L,0x00000000000001b5L } },
  85744. /* 14 << 490 */
  85745. { { 0x3546089d84333088L,0x60abe80c5c2a72d2L,0x1c1c8e6a1698cfadL,
  85746. 0xcd2fcdddc6364862L,0x858e2049539275c2L,0xf238daa1d1452d8eL,
  85747. 0x6c50daa23fe94cbeL,0xebaf801da026f28aL,0x00000000000001f5L },
  85748. { 0x28bdb6603bf45e6dL,0x44465513fedab00eL,0x0a86e5a08f0bf163L,
  85749. 0x6d14d86fc43eca4fL,0x0c6eaaad4aebdd05L,0xb974e68bd4a58166L,
  85750. 0x7208623eb468b01cL,0x56cf14ab87826367L,0x000000000000009aL } },
  85751. /* 15 << 490 */
  85752. { { 0x51531ee8e746180bL,0x43121900720c9cb4L,0x2e2dd6ab3e0d0ed3L,
  85753. 0xd8c964b4d1bb19beL,0x693688ccbf410642L,0x5cc38a4f81ef0113L,
  85754. 0xe4564abcafc1e72aL,0xdf8f203c9c2ebf93L,0x0000000000000099L },
  85755. { 0xea13eb46763e5b3bL,0x945069aa4cc61cddL,0x3758dc5ce40e7f01L,
  85756. 0x7ec20717b8a812aaL,0xbc5492e988dd7752L,0x993eb9cc2d7336f1L,
  85757. 0xe10cbab49e4ff77aL,0xd4ca5b63e32f8934L,0x0000000000000197L } },
  85758. /* 16 << 490 */
  85759. { { 0xb8a3f6bda1bd56ccL,0x3b8f16bd2e598d13L,0x304cd218dc92bf6dL,
  85760. 0xec30d12dac0b947eL,0xf7fa65eccf12510bL,0x9c45d10c7f2df1dbL,
  85761. 0xaf49aac9cc89cbbdL,0x7771c58aa3936ff0L,0x0000000000000141L },
  85762. { 0x486b202acd4e00aaL,0xd4ce59c3e9cc0cffL,0xdc299e6110dcc4f2L,
  85763. 0x64f83481559569cbL,0x005fda65297ad136L,0x929eb2207cad3258L,
  85764. 0xfd85773d62647bf0L,0x776fbaff177af6a3L,0x00000000000001a4L } },
  85765. /* 17 << 490 */
  85766. { { 0xe79e46cd5fc30347L,0x674285a267e94f51L,0xd31d7d420c5dd942L,
  85767. 0x7172dd7f3a511c36L,0x765b80b7db09bf5cL,0x5c13a3197e80a403L,
  85768. 0xbc4af3e874c08746L,0xe103ca58fd80a7f5L,0x0000000000000025L },
  85769. { 0x8ca87d3999ca3f40L,0x9db2fd4e540cb22dL,0x757103a3d792fc7eL,
  85770. 0xffe2bc304dd1afbcL,0x9d12a8273ed96ed3L,0x2e3ce176b658113cL,
  85771. 0x95938a67fc9f6e7fL,0x9794212ca41fb2ddL,0x00000000000001d4L } },
  85772. /* 18 << 490 */
  85773. { { 0xd361033049be3163L,0xa62047a34d55201bL,0x6a4e87786f886ff0L,
  85774. 0x604ce4c96b10def2L,0x786a6da1db90c42dL,0xb8d75e55c29e737cL,
  85775. 0x1c19c2d0b9a6bf51L,0xe444d64f8fc3a7a8L,0x00000000000000d4L },
  85776. { 0x7853870ac196ee6eL,0x1be278b5c127bc47L,0xdcb5a00c50ac1962L,
  85777. 0x37bd8ee5ff0e97bcL,0x88847dbd1907b331L,0x66c67e868ec11029L,
  85778. 0x0e664bb33a23b51dL,0x3b9552ac67489da6L,0x0000000000000185L } },
  85779. /* 19 << 490 */
  85780. { { 0xb21548262e25f5c0L,0xd2ec6bc2992d921eL,0x2dc4a7a869093ae0L,
  85781. 0xfa7d331b63a7e7daL,0x625d366c96e835f2L,0x796cd894f83cce59L,
  85782. 0x296bd295152b78f7L,0xaa68fb2b0807b951L,0x0000000000000150L },
  85783. { 0x7f6be3866d0cd79dL,0x04e17e832b100dc2L,0x34edaf1a36c37de2L,
  85784. 0xaee7d6ac66758307L,0x0cd64d977e13f95dL,0x94ec5730a07f1e19L,
  85785. 0x5bd6888ac4aa4311L,0xc81682ecfd0c4555L,0x00000000000000b1L } },
  85786. /* 20 << 490 */
  85787. { { 0x49082b82f794bfedL,0x090ad58da7508ba4L,0x016c6c61abf36de8L,
  85788. 0x69744e76c17d97e8L,0x64ba471f5087cce7L,0x45bac2bbf3fd22daL,
  85789. 0x1bbc08f0e8f6671eL,0x6e45905d268427beL,0x000000000000007cL },
  85790. { 0xfdc632d4d810ab70L,0x2d68f73cf9546668L,0xf506ef8b178148abL,
  85791. 0x95db78df162c23c7L,0x4df86cb933dbae55L,0xe47825b77d81edc1L,
  85792. 0xbe78419056e1496eL,0xd707fa3a48f497ecL,0x0000000000000008L } },
  85793. /* 21 << 490 */
  85794. { { 0x02255e039c52c74fL,0x9d3fcbd7f200eb00L,0x16aa73a9acbf4abbL,
  85795. 0x70e1ca461687653aL,0x2756e86c3bab9f5aL,0x4443f19c6e3180d7L,
  85796. 0xf6da43fedebf5b52L,0x8c4901ec7788d048L,0x0000000000000172L },
  85797. { 0xb9d9e5d51277636aL,0x0277a4d11a31a1f7L,0x5f4b0a7c948ccda6L,
  85798. 0x1548a1eb9a6c4ddeL,0x8ccec5bceb7e26b2L,0x955a00b8ae69a2f1L,
  85799. 0x4cf07abc10fc1875L,0xebcffdabf4395ff8L,0x000000000000013fL } },
  85800. /* 22 << 490 */
  85801. { { 0xac56388e6483d8a4L,0xfdfe4569e227c038L,0x450294e22eb72fabL,
  85802. 0x88409dce0fe1329bL,0x29fcce43fe7f2e69L,0xde4876f54b1a398eL,
  85803. 0x3801bc1a201ae634L,0x0fb643e1c7b52ec9L,0x0000000000000126L },
  85804. { 0xa11b43e67ca49857L,0x23d4c95c7a771e14L,0xbe8fcfac9bae2b51L,
  85805. 0x777f2e78be5a50fcL,0xb8cb4c6fcb75d302L,0x270687f1d494af8dL,
  85806. 0xb2c986981e494043L,0x2b6e60e78a8179f4L,0x00000000000000b0L } },
  85807. /* 23 << 490 */
  85808. { { 0xe6bdf3b488959264L,0x5542a7fd644ce746L,0x63ab33f2dce11936L,
  85809. 0x3553de8e474efdefL,0x8af61691c83e85a7L,0xc884742bd56fe2c5L,
  85810. 0x3f040aca37f03427L,0xb60c9b41263319d9L,0x00000000000001daL },
  85811. { 0x2c57b645883caaf9L,0xcf22170bd9ae6a66L,0xd9df329915b5c403L,
  85812. 0x9a8e8a4aa5c81461L,0x48a6ea41145a6d0dL,0x82539f6ad425ace1L,
  85813. 0x79d9a233ad3a89f9L,0xc7f8856bdc08a1e9L,0x00000000000000b4L } },
  85814. /* 24 << 490 */
  85815. { { 0xc2ec5aee77528da4L,0x3c8c6f50b12e7da5L,0xe36d0b4775e8fd04L,
  85816. 0x49affce87e0189c5L,0x2c23922de166e234L,0x44f5033a7e52c62fL,
  85817. 0x1d3b1a480e1dd67dL,0xc530693580ff9f3aL,0x000000000000012fL },
  85818. { 0xfacfb18bf94695a9L,0xda2ea3903a8c9298L,0xf8a29d06b18c310aL,
  85819. 0x10bee839046bd445L,0xa78643a0094093bcL,0x77cd1796a2c10fcaL,
  85820. 0x5fcfed6a5ac6c799L,0x8331b5b782907caeL,0x00000000000000a7L } },
  85821. /* 25 << 490 */
  85822. { { 0x782b00c9ff08cd68L,0x3bebf3ecb5c82844L,0x0db519c634fbe0edL,
  85823. 0xc6d0b96b80968dd2L,0xca8a16449fd14732L,0xdbc7ba82770939aaL,
  85824. 0x57b96f47947233f8L,0x94cc0ccd686cb7d3L,0x0000000000000092L },
  85825. { 0xa1ec820aaecee40fL,0x81fee315a9e2e645L,0x4794883f242620acL,
  85826. 0x68adbdd9890be143L,0x1dceec7b76458c1dL,0x90737afab7c270a6L,
  85827. 0x640520d1c504fec9L,0x7db9a04721283767L,0x000000000000014dL } },
  85828. /* 26 << 490 */
  85829. { { 0xdc7ea260fb335eecL,0xf4fb771645e4162fL,0x83083490caf2fe89L,
  85830. 0x236f08720175995cL,0x36111ad435504affL,0x0071b03ff342248aL,
  85831. 0xafa645143c794f89L,0x81caa96447a160d2L,0x00000000000000e1L },
  85832. { 0x3dbacd20ac902e52L,0xf65e2a91a533f9c5L,0x6cb5952b31b56177L,
  85833. 0xb9d864204aed174bL,0xdad31e286f481fd0L,0x47018a784b45b876L,
  85834. 0x2de43a62934e6063L,0x8893fc2e48f73becL,0x000000000000018bL } },
  85835. /* 27 << 490 */
  85836. { { 0xf3a63c14bdae5604L,0xe11ed2086d3e10efL,0x10639e5e6021fbffL,
  85837. 0x6b6f4e5d76c3b6f2L,0x153e9ad8ae20d93dL,0xa0d205d3a3c51052L,
  85838. 0x84802526d77f38d5L,0xd14890d7bf780614L,0x00000000000001c3L },
  85839. { 0x9aa8671588be4774L,0xa877900f0edbc5e3L,0x1106cd8a0231c6c9L,
  85840. 0x2a08b3dc26146217L,0xa98a1202f7041571L,0x2352cf2fec9e24dfL,
  85841. 0x990d2feb89c59932L,0xaca88d14d00fbc45L,0x00000000000001b9L } },
  85842. /* 28 << 490 */
  85843. { { 0x9a9d1b1914198957L,0x09272b36b8b27468L,0xa8adb29478d8695eL,
  85844. 0xb2a77ef928e6b551L,0xb92c59a171983bbdL,0xae27218037661116L,
  85845. 0x8aedb3dd9058858fL,0x2ea5bebd716b7a4dL,0x0000000000000188L },
  85846. { 0x43bcd03eb534ac3fL,0x0a3a64298d025a80L,0x3e6a0674dcaa5ea0L,
  85847. 0xa0b446922a7bed53L,0x962c45437d1d2fdcL,0x4651ccf2e3ec4a2cL,
  85848. 0xaa08f169a883b3f8L,0xbcd939e4513a5d60L,0x00000000000001b8L } },
  85849. /* 29 << 490 */
  85850. { { 0x3ebb07d66165d930L,0x8e91d5450ae51c2eL,0x3583819e644fcafcL,
  85851. 0xa50fc18d091544e9L,0xc0d83ac6d906526bL,0x8dda11369adafa5eL,
  85852. 0x641ec76d47b69511L,0x4a8c8b3c9b78be9bL,0x00000000000001d4L },
  85853. { 0x9bf7a595b578fba5L,0xd19f5d5b35363b48L,0x59ffc205b60d4397L,
  85854. 0x566d5dc8405a1ad8L,0x6fefa0d077eb44b3L,0xe541d6ce224d90b8L,
  85855. 0x2ed4482e17f7feb9L,0x7f19a002fa2bcbbcL,0x0000000000000027L } },
  85856. /* 30 << 490 */
  85857. { { 0x547c70b4548ca6d2L,0xd6a7a51ebce5664dL,0x92e8ccd00472cd19L,
  85858. 0xbb32b3050441f3e0L,0x9ba8b75a17a40be2L,0x544c456d08adeea8L,
  85859. 0x37972d606ad0417aL,0x812b7c83d87711afL,0x00000000000000f2L },
  85860. { 0xdc0584d5f57681f0L,0x4a450ce001727532L,0xbeeb07d401eb264eL,
  85861. 0x0d6b72c444f15915L,0xebf41a6f2ce8922fL,0xf342d770f71b84a9L,
  85862. 0x45e38af44fa730c9L,0xc65be7b2ae916caeL,0x0000000000000168L } },
  85863. /* 31 << 490 */
  85864. { { 0x346422ccd8be3ef4L,0x78e55bbd6b6397c3L,0x1122c7c23eb94d9fL,
  85865. 0xe335c88d6ebd1011L,0x5d69022902d6a508L,0x32404617bae4b52eL,
  85866. 0x4105738dbe1bbbf4L,0x4633d69992bb6653L,0x000000000000007fL },
  85867. { 0xecdb3d91f642459dL,0xda072b00b406bec3L,0x15c08fda4b06ff3bL,
  85868. 0x8a66e8cdafcfb908L,0x4f142a2cb4892aabL,0xf6c64b9220d47b2bL,
  85869. 0xfdf4c62737194064L,0xd8ab8881d881142aL,0x00000000000000bcL } },
  85870. /* 32 << 490 */
  85871. { { 0xaf9bf352b2648196L,0x00a9569d042fe760L,0x43854e69b9d94444L,
  85872. 0xa01a26456e3392b7L,0x43d8ae3686c0702cL,0xb658edeedd0f9617L,
  85873. 0x0676b0ef8b270ab3L,0x71ceba8f02072f7cL,0x00000000000001daL },
  85874. { 0xaf1b398d4d9bc7bbL,0xe6f033c930e4a71eL,0x38919b421c8d3fd5L,
  85875. 0x4dca8a1f31065bb9L,0xba5a637e0bd4bea3L,0x30f886eb9a42d432L,
  85876. 0x1e7c0fa3000fcd13L,0x9dffac1d7299786bL,0x00000000000000daL } },
  85877. /* 33 << 490 */
  85878. { { 0x9c6981caa81142f7L,0xfda7dbd4fd156b03L,0xb55db395f9ad1b37L,
  85879. 0xd7614d623bc530f7L,0x0cdae9d22c905663L,0xbf9d97cec181cc24L,
  85880. 0x84e1995a0462b7d2L,0x02eb429532ed0544L,0x000000000000016dL },
  85881. { 0x37f3da4c8f85488bL,0xdd74c11700010fdfL,0xd73da972faa1b459L,
  85882. 0xcfa6099fc4fee2aaL,0x831e38705c0b914aL,0x0c7e3a8fd4a13005L,
  85883. 0x4b0c86e03a3d633cL,0x9c104f0720231bfaL,0x00000000000001d1L } },
  85884. /* 34 << 490 */
  85885. { { 0x2c6420ccdc38445bL,0xf8636ca67fa9a5cdL,0x4222168ede7cafe0L,
  85886. 0xbf9f6254f0e34b77L,0xdfcc8d0688f9e0ecL,0x06d3252d988e02aeL,
  85887. 0x56557b2ce3609068L,0xc4d157a4b96068e1L,0x0000000000000032L },
  85888. { 0xf1135648cf72d12fL,0x37e911e5811b868cL,0x2cb5772f4b7bcabbL,
  85889. 0xddf409b0c02c026aL,0xdfcb7373a6c344d6L,0x2b71c0dedf718cfeL,
  85890. 0x8107675ff9043a2bL,0xc4cdb35c04f0f193L,0x00000000000000d0L } },
  85891. /* 35 << 490 */
  85892. { { 0x677701ccd5a7e191L,0xab23235dd26500eeL,0x0802b5f4f83e8885L,
  85893. 0x0113e7f2072026edL,0x343f785ff5757027L,0xcf49e2e57b6406ecL,
  85894. 0x5fe76f7dd846655aL,0x13a05fec06dd0b73L,0x00000000000001c9L },
  85895. { 0x3ced3cbe8b640e13L,0x945068dbd6b72e95L,0x2181cee07981bb0aL,
  85896. 0xdf3fb0d3fe9aca7fL,0x4b29a06f1a49a253L,0x4f29456252436f51L,
  85897. 0x50798afd75f5ae8eL,0xeb4fb55d4b0e21c9L,0x00000000000001cfL } },
  85898. /* 36 << 490 */
  85899. { { 0x35900c17f31f03e4L,0xd46ab57ecacb20d0L,0x346e2e7d1f2ec957L,
  85900. 0xcc002ceded3e9556L,0x34af851dd2729afcL,0x38f4c7007ef8ad10L,
  85901. 0x9383b41e2514f43aL,0x41f5a0c43156a417L,0x00000000000000c9L },
  85902. { 0x0430eb170573cf6eL,0x75cc52b227b7f3d0L,0xa0306601a0c813bdL,
  85903. 0x202894d4bf1a5bc9L,0xaa87196d9ce7d613L,0x23a3fb14644485acL,
  85904. 0x5d9b9f3ae9854099L,0x76d3383791c4b3daL,0x000000000000007bL } },
  85905. /* 37 << 490 */
  85906. { { 0x7be352469c44d309L,0x864ae27e8f4e2484L,0x9f457a4f3af5a594L,
  85907. 0xf215103c858aec93L,0x792d6a3f138244e1L,0x6bb16e51920ab210L,
  85908. 0x2560020ece573467L,0x2d6e20b5bc565058L,0x000000000000011dL },
  85909. { 0x429c2f1cb8826bb4L,0xfb092daa14d953aeL,0x70d6a39a9ea3076bL,
  85910. 0x8bbad6153bc68687L,0x1f429219a3f6d0b1L,0xe335739bd50a3ca8L,
  85911. 0xfb76e216b8f25500L,0x55e606b970172ee4L,0x000000000000009eL } },
  85912. /* 38 << 490 */
  85913. { { 0xfbdc60f37bf5b26cL,0xe42fed785e165d3dL,0x8eae9ace8103041eL,
  85914. 0x68c8d798e97cbf71L,0x4d7dc5156fbd8c5aL,0xa047cf13f473bce5L,
  85915. 0xc7e18565a71c679cL,0x12c321ccfaae7237L,0x00000000000000daL },
  85916. { 0x896bf0d3e357c359L,0xb05051dcd83f4e44L,0x2cacb7bf71a73589L,
  85917. 0x7418b85011c1aa4eL,0xf5780ebd98f16d37L,0x01ea234502b2e8acL,
  85918. 0xc4210ee8ca205ac8L,0x4e166dcb055d8862L,0x0000000000000077L } },
  85919. /* 39 << 490 */
  85920. { { 0x4926e24e5b63b15eL,0xfb0ad1e7ccca4dc5L,0x13c006d3529ecf40L,
  85921. 0x03ef68cb6fd4c202L,0x56267eb15fce340aL,0x116fb062ca544956L,
  85922. 0xc318e26a69799c4fL,0xe700e63ac7b0e582L,0x00000000000001cdL },
  85923. { 0x492f4fc30a8acdc6L,0x58dbc159ca8e09a4L,0x837eff9405a42e25L,
  85924. 0x2ab5849271b0ae77L,0xbbc2c2541b9eae08L,0xf7ce5295b6fd5969L,
  85925. 0x7358028beaee4711L,0xb2b7233552b004d5L,0x0000000000000046L } },
  85926. /* 40 << 490 */
  85927. { { 0x295b183393dc69c5L,0x8eb4b6ab3c37e07aL,0xa6e07d0f04408713L,
  85928. 0x2cc845f2c69254d1L,0x93f7aee14396112eL,0x44c963cc55c306dbL,
  85929. 0x7e18cecdd5eab009L,0x4397a27ff9a2c2d3L,0x00000000000001e2L },
  85930. { 0xadb5af020031c31dL,0xe273ade87aa7656bL,0x3c97406a8cf07d6cL,
  85931. 0x348d729e460e4aafL,0xae24daeeb2373a39L,0xef275cb1b3b2264aL,
  85932. 0x947252cfed43148eL,0x4237243e33c44033L,0x0000000000000105L } },
  85933. /* 41 << 490 */
  85934. { { 0x6a9270fdb51c81c3L,0xd9e2b1e12e4b9a01L,0x303aa12d63918a66L,
  85935. 0xf5128af5ef62e4c4L,0x91518d003bdbfe66L,0xe877b72a2e705e37L,
  85936. 0x5825aef41e608e82L,0xdb47715ea274cdfbL,0x00000000000000bcL },
  85937. { 0x8e760b7fbc4f794aL,0xfed90cdb13aa043bL,0x2e34fab55f258013L,
  85938. 0xba455f09e6282952L,0xb2a41de10be69b3fL,0x6a1d3f45312ba3f5L,
  85939. 0xd92e0895e78874c2L,0x77439f3ab99cb460L,0x00000000000001c5L } },
  85940. /* 42 << 490 */
  85941. { { 0xad16ea1a15f7f16eL,0x7536eaeaf0d41825L,0xc8db9cb5e341f9caL,
  85942. 0x4f565eb5627278b9L,0x2016945238adfec5L,0x754261a91855a678L,
  85943. 0x8b8e9eb9b6341562L,0x55119faaecb6f837L,0x00000000000000aeL },
  85944. { 0x06bd4c7f758c138bL,0x859730874ae4e99dL,0xfeb70bbc6eba9b30L,
  85945. 0xb5e394a4d593b54eL,0xc54ceab4e18068aeL,0xd9d13043702dad7eL,
  85946. 0xa822afc22d6a1621L,0xebce87fe99b2c7edL,0x0000000000000057L } },
  85947. /* 43 << 490 */
  85948. { { 0x210636ee6e2f194eL,0x653d19cccd3aa630L,0x1211c87bc72f054cL,
  85949. 0xaadb7dd07de52f23L,0x3ac4892a014a9826L,0xfc871d728c3dfe32L,
  85950. 0x453434ea1acc75ebL,0x15668e025611b7a1L,0x0000000000000060L },
  85951. { 0x1e4c1d7254f88188L,0x06891c05992e686cL,0xb8b93008914cae00L,
  85952. 0x2e1a4ca56e494b72L,0x63a4fdaa50f56be5L,0x9059e7c4b2d616c6L,
  85953. 0x586aee6d4bda7608L,0x90428414735778caL,0x00000000000001f1L } },
  85954. /* 44 << 490 */
  85955. { { 0x3aedec9f37932307L,0xc90ba7cc3c278c5cL,0x2172d22004be1c8aL,
  85956. 0x9d9943b37ce8e3f3L,0xbfec2077211548bcL,0x938e1d2f1d011ee4L,
  85957. 0xac9bb9d5f14f2246L,0x44152b2dad89a636L,0x0000000000000182L },
  85958. { 0xee7da6c1c7e6c8a8L,0x3c6d8dbf61fd9a43L,0xbf8daaec74a9c52fL,
  85959. 0xf71e888e9bfad08dL,0xb16028e58aad6006L,0x203343ca89a9ef88L,
  85960. 0xb218490db9b624adL,0x8b7ba480d01f5fa5L,0x00000000000000e0L } },
  85961. /* 45 << 490 */
  85962. { { 0x36196133272975fbL,0x01384c75cb6a974aL,0x7fa975c36340a057L,
  85963. 0xc24df57784a3583dL,0x2da75192bb84c62cL,0xf1f3a70b14579cf1L,
  85964. 0xd50474daa2e588a4L,0x4aabd6d26f1e9de5L,0x000000000000018cL },
  85965. { 0x76e60ea6fab24b05L,0xf42bbbd2df7d817eL,0x3520cef607b34b07L,
  85966. 0x2def153d9996c9c2L,0x179dce6195252be7L,0x34a49977959fb4f2L,
  85967. 0xbb05b0c6414e4630L,0x582b85ee8e51ba0bL,0x000000000000010aL } },
  85968. /* 46 << 490 */
  85969. { { 0xb3f85e6bdcb0257fL,0x9f7c94610db3ae5aL,0xd1309e33f7db50ceL,
  85970. 0xe6be4681d69ff6cdL,0xabcfb97f45b3e25cL,0x611bde5acf2cbfa2L,
  85971. 0xcbebd63d8a0ee819L,0x84f589922a881952L,0x00000000000001daL },
  85972. { 0x375d99a15eafd5b1L,0x1624edfd343c8399L,0xcb922ca0486cb49eL,
  85973. 0xda5bf79afb059ddbL,0xfbd112db909e0533L,0xe45142308e9322c1L,
  85974. 0x4e4484879fe403eaL,0x90fa5474a20f933bL,0x0000000000000148L } },
  85975. /* 47 << 490 */
  85976. { { 0x2f0d4c3b48d8f2cfL,0xe7c0c77e31ac3990L,0x8ecc391aaa04fe9cL,
  85977. 0x6de447a596d400f8L,0x1e4e295ef1a240d8L,0x68850f917621d6d9L,
  85978. 0x56018d58316c4b1fL,0x814b364b00c15d95L,0x00000000000001acL },
  85979. { 0x5bef4d63f3de314fL,0x396301ec89c3021cL,0x248f51e95efc1e80L,
  85980. 0x1e9acc4af7b3209fL,0x17094679973357c4L,0x7ce6f1b39506621eL,
  85981. 0x564fd1c1b2bdc480L,0x574423eb3a4c1975L,0x0000000000000177L } },
  85982. /* 48 << 490 */
  85983. { { 0x7078a5f8c793fc62L,0x5ed9d1d57dfa971bL,0xe1f701b4a25cdee9L,
  85984. 0x362b88524b57f87eL,0x2448012320869233L,0x025ff4771481f116L,
  85985. 0x3ca9f2f68a6275deL,0x562666c7da246190L,0x0000000000000086L },
  85986. { 0xb5cb110004d25dafL,0xc869f7b3748d3d45L,0xa68f07320c847ab3L,
  85987. 0xe03e1ae202c1d0a9L,0xb4f46c5ec2a80ef6L,0x79b46f90606e1371L,
  85988. 0x0bc1f2a0a728979aL,0x9e8f17833037fe72L,0x00000000000001a1L } },
  85989. /* 49 << 490 */
  85990. { { 0x92c876eaba57a5ecL,0x91b9ccc35f0a0aaaL,0x6a208e24040313faL,
  85991. 0xbac2e28d87983b26L,0x5956ba23851ee137L,0x6efec8e850c067c9L,
  85992. 0x7bd5118ae2dc92d8L,0xc88977760dd4481fL,0x000000000000002eL },
  85993. { 0x170d9e4bebf66902L,0x7dc58ca4351c94c8L,0xf0338c8a9f4bf58bL,
  85994. 0x54dab2aea52e0c73L,0x0f4a6a5177eda7a7L,0x5356635827e03485L,
  85995. 0xa43fa520a87f96d9L,0x8b82a2dc026c86a0L,0x00000000000001e5L } },
  85996. /* 50 << 490 */
  85997. { { 0x9a17a22e28c209c3L,0x4c3776f5275c7b6dL,0x2b78c520e4b62488L,
  85998. 0xef7cf9ba8b99989dL,0x540c3a11a7883805L,0x314401635fcc1197L,
  85999. 0x27a51e77406245d2L,0xfeb5c66a87da3cc5L,0x00000000000000adL },
  86000. { 0x2406a28ff97dc5c0L,0xc44de6717cc0304bL,0xd8b8c3a7a893730eL,
  86001. 0x1755fec500c14fcfL,0x34e16a56e61a6b56L,0x936f471d8469199dL,
  86002. 0xeee12092ddfd51c6L,0x912b3141617a3645L,0x0000000000000112L } },
  86003. /* 51 << 490 */
  86004. { { 0xe68216c4acabfc0bL,0x575047098206f7b7L,0xeeacfd72278d0fd6L,
  86005. 0x26009914125b3bffL,0xf2c4d59974430c62L,0xa883c18c6576fecdL,
  86006. 0xe8c29e2b58f5c1abL,0x19715f47d63f80ebL,0x0000000000000136L },
  86007. { 0xf1fbd8413907f8e8L,0x3b6d0ee100b6840bL,0x582779a8e7ea2006L,
  86008. 0x24d05b01c79c4ba1L,0xc11c23d1e48ed567L,0x31ca1d96ca92fcd6L,
  86009. 0xfbae1fdfdc9f7647L,0x47d7d61d94549301L,0x0000000000000035L } },
  86010. /* 52 << 490 */
  86011. { { 0x31da39dbb68cf907L,0xb02e9060d1e99729L,0xadd55a9689bb1507L,
  86012. 0xecc7856a4b5470a1L,0x40a83460eab8cb1fL,0x1c1f3c112b2c9159L,
  86013. 0x7b97b58f7883ff7aL,0xe7e97a4abde1caa7L,0x0000000000000139L },
  86014. { 0xfa1da9d4b8ecc0d1L,0xe6212df16e7641b3L,0x828c55c6ebb36f6aL,
  86015. 0x5b7ead1609d6a861L,0xdb35a05fc2844248L,0x3c5089b2776dd2cbL,
  86016. 0x2b6595bfed9eb5b0L,0xbddfaf004d176cc9L,0x000000000000008fL } },
  86017. /* 53 << 490 */
  86018. { { 0xbcd382ebea56a75aL,0x53e072c1532eddfbL,0xf9e876e05394a791L,
  86019. 0x8d1b21bc90cd2760L,0xf1dfbd70d35c0c7fL,0x5f974acd25822227L,
  86020. 0xb7f59ce3ad8a5cbbL,0xdf4c1e5a5266c9abL,0x00000000000000d7L },
  86021. { 0x49c8ff4e5896a558L,0x38da671d1b3eec29L,0xe8ad9b620128778aL,
  86022. 0x99478bf41d53b8daL,0xe0196e99b521a1c4L,0x9075689f5ed4551dL,
  86023. 0xa89983aed3b8db57L,0xbf2e18e0920ed9beL,0x00000000000000b8L } },
  86024. /* 54 << 490 */
  86025. { { 0x0f498b6bab33f9d8L,0x4ad288a62ccfc0fbL,0x7115968d312aaf15L,
  86026. 0x3c01241a2ecffcc8L,0x80f841855f6704e8L,0xbfec176e279033b9L,
  86027. 0xa72fec76e9634860L,0xb3b673afafa844ccL,0x000000000000009eL },
  86028. { 0x0c0409d7f67aa5c3L,0x06d70f351f87efb6L,0xb203904279578f67L,
  86029. 0xd72c5ae7d4a73775L,0x15146ae382883850L,0x368d7af83f25050aL,
  86030. 0x1fbedcfc4025b2b7L,0xb75fc92f5ab52601L,0x00000000000001f8L } },
  86031. /* 55 << 490 */
  86032. { { 0xbcea48fce7f90fefL,0x2948f00104a5cad2L,0x741f5fd7381f63c2L,
  86033. 0x2480d66320c40d0cL,0xcc71dd56fa3933c6L,0x32537996b42aaccfL,
  86034. 0x2058a90ec1de949fL,0x8cddb8a4337c3d9cL,0x0000000000000118L },
  86035. { 0xbec707c69f6d7d34L,0x3961a86455e2adacL,0x6ef452a7e74039a5L,
  86036. 0xc7dc50b0ad925d03L,0x9abece09b0c3266bL,0x7099d99a9bed8b60L,
  86037. 0xcf86e9b4dddc307fL,0x4b55f07acff68c17L,0x00000000000001d5L } },
  86038. /* 56 << 490 */
  86039. { { 0x3e39683dcd351b10L,0xe16197210a895f34L,0x252e80da411d3459L,
  86040. 0x1cf1f5433456c4a8L,0x7d561558fbe9379bL,0xb851ccfa95445524L,
  86041. 0x63047f7cd73af554L,0x9414829ccd036021L,0x0000000000000138L },
  86042. { 0x1a267c2a72c27112L,0xa663014f7031c061L,0x6c342632bdb60991L,
  86043. 0xeabab7ce0d230b20L,0x0bb0e281c3bae5dbL,0xc46b86b7d63a462bL,
  86044. 0x1964d38cb34aeafdL,0xc165169bb2548043L,0x00000000000001e1L } },
  86045. /* 57 << 490 */
  86046. { { 0x0069f78595054d41L,0x1915d067ffb41edfL,0xd2a26117106803ecL,
  86047. 0x01aee38f45acc15fL,0xc17f9a13e5e0ca69L,0x9650dd183b3c005eL,
  86048. 0x80dcb7b979ea11a4L,0x8016e13f161b05b1L,0x0000000000000005L },
  86049. { 0xc34447de63240c80L,0x7055b0885924cfd7L,0x0827c7ddbd76a15aL,
  86050. 0x2c0986b73aa18316L,0xa6c6a88f2ac32019L,0x0738b1b3cf9a7941L,
  86051. 0x7b55ebfc25337538L,0x533fcc0a015f8678L,0x000000000000014eL } },
  86052. /* 58 << 490 */
  86053. { { 0x1a96801aadb8bfe3L,0xe75278daf390769aL,0xcb8de5149bc85577L,
  86054. 0x26d506ca59959b5eL,0x134f13278a3ecd50L,0x990cb7b3bf13e3c4L,
  86055. 0xd2c83b2625b4cab7L,0x762f5e88306fda07L,0x00000000000001f4L },
  86056. { 0x4c07d7fbada306d4L,0x4bec248d3e507275L,0xd2e58fd9b23246baL,
  86057. 0x9cd7d608419a7944L,0x85b076b56ff066e8L,0x75815995ad21887fL,
  86058. 0x898f9f2d778e8eb2L,0xda74a1c47d16b4e7L,0x000000000000010bL } },
  86059. /* 59 << 490 */
  86060. { { 0x5a99a36a89e67b6eL,0x6a9fadb934faa0e1L,0xbff8efff81886662L,
  86061. 0x6d30dbba5e4281dbL,0x793e30fec50c8b7bL,0xcd8b5ca3d31f298bL,
  86062. 0xc3618e2f8b3ab7b9L,0x6d9afdddb566cbf6L,0x0000000000000192L },
  86063. { 0x588a45bf8c86b790L,0xe384791ccbcc0262L,0x94dcfb139220da30L,
  86064. 0x0a11742af8a98f9dL,0x8b32affa180b4e5eL,0x009e3017900f981bL,
  86065. 0xdc0cdb67077045ebL,0x6370593425e84b0bL,0x00000000000000deL } },
  86066. /* 60 << 490 */
  86067. { { 0xd8a907f1495af650L,0xbcb3f6e27a3ac35dL,0x1aced00f606706adL,
  86068. 0x8ce32c00a2e1cf9dL,0x1e0e979705f91cacL,0xab21e96b9e98af3aL,
  86069. 0x92f4e6dbbbe3c415L,0xfd9b407646c929afL,0x0000000000000097L },
  86070. { 0x5da0209deee8423fL,0xa22af5cf098eeb14L,0x5e379be216e722beL,
  86071. 0xe06cda5b9680b5acL,0x832c5aeb311d0269L,0x7471c5d7e4943d03L,
  86072. 0x148e2ef20776d3ecL,0x658a17b50c51efc3L,0x00000000000001f2L } },
  86073. /* 61 << 490 */
  86074. { { 0x661c9b4356ddaea0L,0x293c59e2922d963eL,0xc4cde92daaebd3afL,
  86075. 0xab071b5f1d039ea1L,0x001a3455800846aaL,0xed60d946be47068eL,
  86076. 0xae57d28e81e38d14L,0xc1ebaf7aea1b4b13L,0x00000000000000d7L },
  86077. { 0x813636f2f6189471L,0x18081bb61053facfL,0x5df021c61a72f2bdL,
  86078. 0x95867c61e6221fb5L,0x98230da20f68c36aL,0xf8a71504bb930cb1L,
  86079. 0xc66f68c49206110aL,0x6d859d5b4a9704b4L,0x0000000000000107L } },
  86080. /* 62 << 490 */
  86081. { { 0x945527c00753ebb0L,0x58d67d3c66168307L,0x0ec55d7dcc6d285eL,
  86082. 0x53f3f9edfd180ff3L,0x862c163e841badf8L,0x3a283e8fe6405388L,
  86083. 0x1f21be3ca83e0e8aL,0xc8be2fba8d854e58L,0x000000000000015eL },
  86084. { 0x9f10d5bcb68293e1L,0x634a08d72787aaceL,0x29edab8649be3cd9L,
  86085. 0xbdaa11c791666966L,0x42a13787d7f98440L,0xbeca84bfcccbc458L,
  86086. 0x7c9e9a69a565c2eeL,0x1a0af783e8b2bb1cL,0x00000000000001d9L } },
  86087. /* 63 << 490 */
  86088. { { 0xab166e77803ef03eL,0x02c155561695a136L,0x0d569bf059f0a685L,
  86089. 0x71c9d373fe7d3aa6L,0xb0560c7ae92b0c1fL,0x0f31f03af89493abL,
  86090. 0x9a403a9f2e67af99L,0x39d67688b84fd6dfL,0x0000000000000079L },
  86091. { 0xa1544f774f550f0fL,0x4dde151021bdfcabL,0xb20ff20adc61a321L,
  86092. 0xd7762640a6b40f30L,0x1ceca244750f159fL,0xebdcad0d46ce6583L,
  86093. 0xae45629873f0b152L,0xa7d11d19be995716L,0x0000000000000141L } },
  86094. /* 64 << 490 */
  86095. { { 0x0ce1f2d1945039acL,0x1d1e6504fdf94d41L,0xf36eafd58752d630L,
  86096. 0x24477f7fefbf0132L,0xae8fba2cc02bf85bL,0x53a24ca8eb510e61L,
  86097. 0xeadbc7f79c2c453dL,0xcfdbc9dc310eda46L,0x00000000000001a9L },
  86098. { 0xfbf287c8d8f82b51L,0xb7ca60967f0ecadaL,0x1dc411b715242666L,
  86099. 0xebf82d6c3dc6ed96L,0x8f82229dd0a92b49L,0x75a6a4a79dac585aL,
  86100. 0x443ae75ec839248aL,0x4defb89f1ba7c9c3L,0x00000000000001b5L } },
  86101. /* 0 << 497 */
  86102. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  86103. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  86104. /* 1 << 497 */
  86105. { { 0x20e2fe1972925756L,0x4815ae3332ce7832L,0x183d90c3eb8f4eb7L,
  86106. 0x0e088af52a8045d9L,0xf8232956da04790fL,0xc24661b5ea0118c0L,
  86107. 0xe4152695a72924a6L,0xffcb277840ab56b7L,0x0000000000000120L },
  86108. { 0x1c766208aae9af57L,0x21769dda239689e7L,0x9dc2194a235ecf56L,
  86109. 0x930e993fcf83a067L,0xb6725ad332913e2aL,0x09bd9ff9fc942b50L,
  86110. 0xdfb47d67600d426dL,0x4cc06c589def7175L,0x000000000000003bL } },
  86111. /* 2 << 497 */
  86112. { { 0x9c3f082939926493L,0x6bf1089ee3d0f530L,0x3e91285d7d7d5b4cL,
  86113. 0xd8d70f1b02bb958aL,0xe4b0e8c1bdbd2b6eL,0xea70f1079239f187L,
  86114. 0xd30f4ada27d37ca6L,0x0358f6b3c88eda99L,0x000000000000010cL },
  86115. { 0x8957ea97e385ac45L,0x707e7445b4ff3d17L,0x4a6d4dc840a361cfL,
  86116. 0xd086353b13aae7dbL,0xd856f4c9a478b479L,0xf687400f4d7cf67dL,
  86117. 0xfa3000b6ce52336bL,0x805459d7d0b88a94L,0x00000000000001ecL } },
  86118. /* 3 << 497 */
  86119. { { 0x96632b75abe029fdL,0x38280dbd57aaa853L,0x2a49ff1956556bf7L,
  86120. 0x76af8029017ad9e7L,0xe231979265ea6edfL,0x71b0793c9cbb4069L,
  86121. 0x1f89d54df62d86ddL,0x48601cbd52809190L,0x0000000000000116L },
  86122. { 0x825a9ec295f5317cL,0x9af044995b568f34L,0x0a74e92670c96172L,
  86123. 0xa87fcc849cbe4ca2L,0x409e58c017b5587bL,0xae221d81686599f1L,
  86124. 0xdb87c25e9b04ae84L,0x2a847873f9a49cb1L,0x000000000000019aL } },
  86125. /* 4 << 497 */
  86126. { { 0xe862a17bbeb4f9f1L,0x5e701369310c4b65L,0x01ef66253377f678L,
  86127. 0x56157709da8beb61L,0x7ca21b049ef7da41L,0x9f776dac88e486a6L,
  86128. 0x53dd04cf8aed6f6cL,0x4a7df43e953c2d95L,0x0000000000000158L },
  86129. { 0xe5bc0ded1fcc4484L,0xb337eb4eef6d0e8aL,0x02208b42dabf0d9eL,
  86130. 0xe64c8529467bfc55L,0x0cf409592e141810L,0xa34af9d656fa0badL,
  86131. 0xf3471d5a5345141cL,0x89a7a82c1ff7597eL,0x000000000000014eL } },
  86132. /* 5 << 497 */
  86133. { { 0x3fe4077368245bb9L,0x89a284bba3626a8bL,0x73c190915a9d7ff6L,
  86134. 0x8e3baf6fcef0b5ebL,0xe3d8006921aa008aL,0xaa3f179932b686a5L,
  86135. 0xd20cfb52eb1ea953L,0xd62b692f360c2ac8L,0x0000000000000050L },
  86136. { 0xb1b8bf37f4c933e6L,0x090d3bdd5af935bcL,0x8e4854d2ad9d74e0L,
  86137. 0x5b38d8eba00bf5f8L,0x837582475f478824L,0x5c7e2413f71a8d3aL,
  86138. 0x955642770665c873L,0x37d95026d1f7a638L,0x000000000000013fL } },
  86139. /* 6 << 497 */
  86140. { { 0x10459adc9fae827dL,0xb9c6d71d622dae77L,0x8d379015bed58a7eL,
  86141. 0xe6b71390b90143c2L,0x08eb29c40a8985f3L,0x30c331ff08db169eL,
  86142. 0xbe336067077fcc98L,0xaf6477724e16c914L,0x00000000000000bcL },
  86143. { 0x1836d521e134601fL,0x8365f5c7a58ceda3L,0xc4c114f6a6fe142fL,
  86144. 0x4651388d461a4d3bL,0x1b4cf10a639f7948L,0x140f9efd361665e3L,
  86145. 0x436f20b0c743b8c7L,0x4e1d732d710cc0a6L,0x0000000000000186L } },
  86146. /* 7 << 497 */
  86147. { { 0xbd6db523c85a0848L,0x987c70fddacb2b06L,0x3dbaa519b16e9914L,
  86148. 0x14205aef40b2923dL,0x5d09323ec1d161dbL,0xa68b68850e462298L,
  86149. 0x0eecab4fdb91ceb8L,0x10ff0480339fb226L,0x0000000000000099L },
  86150. { 0x4bfe6f364def0c94L,0x21b3cd30ae7c0ceeL,0x2396ba6610b510caL,
  86151. 0x2c9b665184b52fbfL,0x25e93bef7a84e6afL,0x83846a6623f7a204L,
  86152. 0xf5eb2e3e5da84c02L,0x73e65cc62c870984L,0x00000000000000a3L } },
  86153. /* 8 << 497 */
  86154. { { 0x4270a7973c80f820L,0xe1455e1cd8e3db55L,0xfc7d04b5c31eea36L,
  86155. 0x86d4b43d8237619eL,0xca90fead5696ac8bL,0xd1df350dbe0a5d49L,
  86156. 0x844e818faea06270L,0xfa19b70bd89cc1dcL,0x00000000000000fbL },
  86157. { 0xbae72ff552fe816fL,0x7b5d9e529a5a3747L,0x7a7eadcca689a68aL,
  86158. 0x18dec239330ba649L,0xafc49e4ceb30bd8fL,0x2504271680c1a715L,
  86159. 0x4d5aafffbf6e92d9L,0x94af51fb7577cc4fL,0x00000000000001b9L } },
  86160. /* 9 << 497 */
  86161. { { 0xbb49e8054732030bL,0x0829d482bd03cd5fL,0xb9a6136c5f6950e0L,
  86162. 0xfc781907dd4f9182L,0x9b4141a166ec206aL,0x3577a8fe18a46639L,
  86163. 0xd1aadfcc28960c88L,0x0b13bc74f4dd4d20L,0x0000000000000142L },
  86164. { 0x99edf0c678898705L,0x9177bd2fb71bce68L,0xe0ce6c6305ba1470L,
  86165. 0xab99c6573f5fe41cL,0x437f2df7367dd373L,0x240fe1bf4d543d1fL,
  86166. 0xd4f2abbfc0ddf245L,0xf230491ad6da4440L,0x00000000000001e0L } },
  86167. /* 10 << 497 */
  86168. { { 0xeb2ac3780ca7c04aL,0x6503ef0d2c07f4ddL,0x25f353f3eab6a53dL,
  86169. 0x53d58f68879a37d4L,0xc63460daf7a73064L,0xf6d94b623ebc4da3L,
  86170. 0xd32258dbc810cff9L,0x3aaa05f66f1b0c2aL,0x00000000000000ddL },
  86171. { 0xb16bf6925cdb2275L,0x3de2596915cdac6bL,0x9e073ef027ab70e2L,
  86172. 0xe343955416e91fc5L,0xbf3afa34b457e4b9L,0x4f7538f76659f402L,
  86173. 0x0eee4ca52c76dd2aL,0x4d756cfb8c55212cL,0x000000000000014dL } },
  86174. /* 11 << 497 */
  86175. { { 0x909a8cb6915e964cL,0xba20835036b97440L,0xa316b2e155cffb24L,
  86176. 0x86b2afd21b6c690eL,0x8d3121b8ef32a58eL,0x243e5a3755faf21bL,
  86177. 0x86a70ccd48e1eb3fL,0x7fb7ab7b856482a1L,0x000000000000017dL },
  86178. { 0x9c565882ab37df1aL,0x2c2e3f640ceb193eL,0xde7462f66fa488a9L,
  86179. 0x9505158bc0a49496L,0xf8c7087263ed98fcL,0x90d169ed35962a1aL,
  86180. 0x9c5a71216e74e666L,0xd0276edf3a407e03L,0x0000000000000005L } },
  86181. /* 12 << 497 */
  86182. { { 0xd8e41426a9df462dL,0xb74954b0ed2c3482L,0xa89b9b49cd400ca3L,
  86183. 0x300d10c3ca71c044L,0x6a7d6d0c3f027519L,0xbff329d8daab84adL,
  86184. 0x9df171a25a1bd3caL,0x4d3ac287f908de36L,0x0000000000000155L },
  86185. { 0x3c39aaacf399d7fbL,0x155af8e309b50490L,0xf1c274c44e8b235bL,
  86186. 0x80dc35149732546aL,0x17bf13806555e151L,0xc41ea61064ee4231L,
  86187. 0x997707e1a29c4555L,0x7c29fdf3658270b8L,0x0000000000000039L } },
  86188. /* 13 << 497 */
  86189. { { 0x4470a10c15b5487fL,0x59e0034abf2901ebL,0xa004882f96f26b66L,
  86190. 0xf0747b1f55ac9ec0L,0x00b2726126587c55L,0x08a8217ef3a868f2L,
  86191. 0xc138619039ab6420L,0x75a2f37063ef87ffL,0x000000000000015dL },
  86192. { 0x31e93fe5ca9cf04aL,0x86cea3141ab48f4eL,0x61576808902a3aa7L,
  86193. 0xdb2d78c451cebc3aL,0xb20d8a8239946890L,0xff048d9292b61791L,
  86194. 0x87a1e8d88e48280cL,0x09921ba4db22a5e1L,0x00000000000001aeL } },
  86195. /* 14 << 497 */
  86196. { { 0xf4390ba3fa83b37cL,0xcb3a94f06e227864L,0xd13f93362d54afc0L,
  86197. 0x734b02866bf22e28L,0x027d32d36ecd5c60L,0xb7c8a2936ea8017fL,
  86198. 0x9001729bbbfee411L,0xedc83e030bc69acbL,0x0000000000000042L },
  86199. { 0xc848406df076c0ffL,0xa7a5157da1258854L,0xe68222a851655acbL,
  86200. 0xd63300044c79c785L,0x4bae7f1b974690d6L,0x934fac86bb32fc1fL,
  86201. 0x8ebf3a73e88a72d7L,0xadac779440b91c50L,0x00000000000001f1L } },
  86202. /* 15 << 497 */
  86203. { { 0x3b64a126b7335d8dL,0x2961ee1ba9248dddL,0x640c9146e01dbb47L,
  86204. 0x0b7a2164c2ff9613L,0x5056eb03fdbd4002L,0x0ccaec0a02c765a2L,
  86205. 0x20064fd4a46f0c72L,0x0f0710b082b4ef91L,0x0000000000000067L },
  86206. { 0xff5d6b7ce04b5b0bL,0xfba3d44ac1f15aecL,0x89765ae5ce66d753L,
  86207. 0x65b3330be6e0a598L,0xd5f357987e388524L,0x1fedce600b10eceaL,
  86208. 0xa49a65d453659065L,0x685a55643162e5ebL,0x00000000000001edL } },
  86209. /* 16 << 497 */
  86210. { { 0x513a0c6260637ab1L,0x4a25bee092c5b308L,0xcd3dde9265d8b6a4L,
  86211. 0xce8ece9b60ea70d4L,0x289b7557af5d779fL,0x1df029a4ff6459cfL,
  86212. 0xd00ac6d5ce09288bL,0x9a9f96859a9f5b92L,0x000000000000006fL },
  86213. { 0x18cb0922b5b63cd8L,0xd4753ff126fd1c21L,0xa4d1f3571080dac9L,
  86214. 0x7fe4f3ac24de88c3L,0x4ba767da3e60655cL,0xaf4a647436c75e45L,
  86215. 0x4854eb2195f2505fL,0x831446cffe3b33efL,0x000000000000016dL } },
  86216. /* 17 << 497 */
  86217. { { 0x4fc3ceb50d704c8bL,0x76277d00511f43f0L,0x81319fed1acdcf62L,
  86218. 0x9e45ed07c9e7557aL,0x57486b5372a27c01L,0x37dde1bf44718054L,
  86219. 0xf299012b5f67b6d2L,0xf611272d52b4570aL,0x0000000000000119L },
  86220. { 0x4e9f26295623b9e1L,0x5e63fd62e8c47729L,0x31c312230ecddef0L,
  86221. 0x5ab7172a2ddf7e5dL,0x916a08f99de4622dL,0xf70f248bc8f3a4bcL,
  86222. 0xe90e066fcce7573eL,0x4a8d09745854a217L,0x00000000000001a7L } },
  86223. /* 18 << 497 */
  86224. { { 0x35ce884eef326466L,0x12ea07254fd35784L,0xa8eda224b6c12e71L,
  86225. 0xcd4088a98fca4b4fL,0x2c65668458e0c8fdL,0xa1992c076c3e0026L,
  86226. 0x4585191b0de1ff73L,0x41e41c18b945e9d5L,0x000000000000015bL },
  86227. { 0x95d265696d686841L,0xc3b5ec5b7c82209eL,0x708412906b2f6dd1L,
  86228. 0x62711988377ec7f0L,0xc5a41362f8044572L,0x5c152ddc6c97a652L,
  86229. 0x315a403c78043e3fL,0x00f750863cae2d02L,0x0000000000000041L } },
  86230. /* 19 << 497 */
  86231. { { 0x69eaa031e84a32efL,0xf64318511f18bdb0L,0x45a72bae00ea0ec0L,
  86232. 0xa58114764f8cd7e5L,0xa2d4f720df207a7cL,0x10f9d9582e4b3929L,
  86233. 0x1919647cafd9a331L,0x932093227bb3b2d1L,0x000000000000002bL },
  86234. { 0x1a489aa9999524adL,0x461e5e8f47ccbca6L,0xb112fa557218dd85L,
  86235. 0x8d6a44e90f5f41bcL,0x8b5dc510de9a654cL,0xe03a3eb28069bb7aL,
  86236. 0xe4c8200320045ff5L,0x683271bdfa37db56L,0x0000000000000085L } },
  86237. /* 20 << 497 */
  86238. { { 0x3bf023ad4af30875L,0x618ff68809817545L,0x07d4ead2451da716L,
  86239. 0x794aa49829eb0835L,0xbd59562f42924bccL,0xafcf72eb72e399c9L,
  86240. 0x8bf1a1a963e80b19L,0xbf8bee820f4c4aa8L,0x0000000000000161L },
  86241. { 0x020961f55448c727L,0xa703507a4eb32427L,0xe1778e68d45d8b76L,
  86242. 0xe649604ffad79eb2L,0x61f41e6254ad0127L,0x0b54947fa01b89d7L,
  86243. 0x5642af5b120716e9L,0xd9aafd3ed0876d5cL,0x000000000000004fL } },
  86244. /* 21 << 497 */
  86245. { { 0x24b368c4c9fc49d8L,0x5901a2196ffababbL,0x2b27398ff8d51ee7L,
  86246. 0x7bbbafa1e07890acL,0x4e54902636dc7e93L,0xb9b7f2be5c0aa112L,
  86247. 0x4ef4a83c5f948620L,0x851400c7ba7ecc64L,0x00000000000001e1L },
  86248. { 0x8e5ca181b6067620L,0x5793d961496faf2cL,0x8ac484364996f453L,
  86249. 0x8df70948137517bfL,0x90cf159779458200L,0x949c38c4aca5b183L,
  86250. 0x319b3c666211c917L,0x57bf88e3500ca01aL,0x0000000000000098L } },
  86251. /* 22 << 497 */
  86252. { { 0x78811b6e05fddb66L,0x5658f3a212a3cc05L,0x5b35c76238f7cbe2L,
  86253. 0x57f36fb154f22cdeL,0x4a825341f83dca4cL,0x87e1c04e42965f1fL,
  86254. 0x2791df2518daad8dL,0x14132863a8944d8eL,0x0000000000000194L },
  86255. { 0x41bb6a0bc1925507L,0x045af8dcd773e57eL,0x19c14986fff5e4c3L,
  86256. 0xdc7c96ca0f7586c0L,0xf37a6e7b439c87c4L,0x1e4e93876e166cffL,
  86257. 0x2111c8ab6872cc08L,0xc078f60d86c301fcL,0x00000000000001d6L } },
  86258. /* 23 << 497 */
  86259. { { 0xd79e9b9fa38e1f16L,0xc8ee2fbd74b510ffL,0x9be3175ac09d14f6L,
  86260. 0x417030d3d350614bL,0xb90492c8d8dd55f7L,0x00bd5e70d09ee667L,
  86261. 0x144eab3f9c4f5197L,0xa066177fd1ad6d51L,0x0000000000000149L },
  86262. { 0x20db4c6c0879aa61L,0x5ff9dc7d1071725aL,0x1d80ccd2b39e07feL,
  86263. 0x3bd60188b3f048d7L,0x5f60142b994c914eL,0x5e858454058ef641L,
  86264. 0x02e1e4a5ff4ae974L,0xc5f4e021399f23b0L,0x00000000000000e1L } },
  86265. /* 24 << 497 */
  86266. { { 0x8e1a6c2f3e0bef3fL,0xb715403e14018b23L,0xefc99827613f0c37L,
  86267. 0x92437b5613170a30L,0xe84cbe8f9468e300L,0xe69b08f14bab3970L,
  86268. 0xfcb78f771558e9d6L,0xc0140529af25ed50L,0x000000000000017eL },
  86269. { 0xff3fa668168134c6L,0x46e8edc72bcc2e99L,0xbbebb21c86bfbf06L,
  86270. 0x6b7d6159f204dd32L,0x75bb85ec1fc7e40aL,0x0f3e1043ad14c187L,
  86271. 0x44187117000a86baL,0x556420bb13d09defL,0x0000000000000177L } },
  86272. /* 25 << 497 */
  86273. { { 0x554448c0fba3377fL,0xe136db9d3902cdbaL,0xd47511ebad6e52e8L,
  86274. 0x7339fa6cd9b3e28dL,0xb7642d4a6ca6868dL,0x943007ad8c8fde03L,
  86275. 0x9cc9807a123d09e7L,0x841e97739beae0eeL,0x00000000000001cfL },
  86276. { 0xe7a94fa8789a0156L,0x76bbe08089619245L,0x0a7314b211444aa3L,
  86277. 0x8984ef43d2639f78L,0xd5a4a5e517699a5aL,0x6c3988ba314c3535L,
  86278. 0x7c82b93ebfc25e87L,0x857f7c3cba2d2b98L,0x0000000000000039L } },
  86279. /* 26 << 497 */
  86280. { { 0x7426610eae8eb2f9L,0x2e63e518ed0157abL,0xf4cf1d37ec0141d1L,
  86281. 0x1fa5a97754c8a497L,0x90e2750c50f7cbc3L,0x2465f6e651392c9fL,
  86282. 0x9d19fff295ceed17L,0x13020fb3d3023087L,0x00000000000000faL },
  86283. { 0x56de6ae0065bf7eaL,0x793e1c385c37fa6bL,0xff3c043b4b74f191L,
  86284. 0x8d7ad72faf2ea8a7L,0xe606b3fde9a85535L,0x6167d112c411751cL,
  86285. 0xe594b53785ed0344L,0x5d10ae657197503dL,0x000000000000000dL } },
  86286. /* 27 << 497 */
  86287. { { 0xd75d6bcc525a4ba7L,0x75831970ff5192dbL,0x2881fed46ebf94b9L,
  86288. 0x9287616b74c60c34L,0xbca8e1929750259cL,0x5f06620d9cce8056L,
  86289. 0x88a1cdbdec42039bL,0xd2d7f35782851092L,0x0000000000000194L },
  86290. { 0x6f7297c9e99faef8L,0xce5aefa067ca905bL,0x8aea3927825cf9abL,
  86291. 0xc61c45a46c6b844bL,0x218b1a55c21688ebL,0x84f51d90b50e00c0L,
  86292. 0xab5528156920a836L,0x19900cfa6be8182eL,0x0000000000000125L } },
  86293. /* 28 << 497 */
  86294. { { 0xe27b7fffcdfd27a0L,0x081213e1de02dddfL,0x0506179a90c68515L,
  86295. 0x91f33ddac6979fdbL,0x7a7b766f6c075aeeL,0xf5e9f6bf4f16c84dL,
  86296. 0xa1502a0ec8fb6599L,0xba8682718ed8bdb3L,0x0000000000000182L },
  86297. { 0xcd8039b45e609153L,0x45112e760e819341L,0xc2dc373c023ea208L,
  86298. 0xe45a2f499dba881cL,0x50b2e55ad8dee4dfL,0xd15b89ba99ccc4e8L,
  86299. 0x943358a9fa42dc9dL,0x73659482f0193e0bL,0x00000000000000d9L } },
  86300. /* 29 << 497 */
  86301. { { 0x99aad65bbb3bb203L,0xe0310f2e07991fe0L,0x528a081533b4e15cL,
  86302. 0x342e836e408a61c5L,0x7cfb0b0fe062a87fL,0xee028eecbd81b770L,
  86303. 0xdb3ba8f9f978510fL,0xd5a19a2c8beac70fL,0x0000000000000052L },
  86304. { 0xc7cc2ec1a4e6baedL,0xf1f5e6088ede29c6L,0x9ab7a0251f2a4e0aL,
  86305. 0x0938e50c2216f6fcL,0xd3fbf3a2d36da4dcL,0x14eb4e27d87198d4L,
  86306. 0xef09f9566a7d394eL,0x82f28f877059da0aL,0x000000000000005fL } },
  86307. /* 30 << 497 */
  86308. { { 0x39e766d6fc267beeL,0x21eaa063a51bef4aL,0x04b31088d5b1da6cL,
  86309. 0xa9fb47bdb21fa3e9L,0x2f50eb96cbd14de7L,0x14de2d69f6109a85L,
  86310. 0x00dd17255716845aL,0xb8edfda66e70389aL,0x00000000000001bfL },
  86311. { 0x1032c9f212d25839L,0xee5027717e862a70L,0xabb31c0594b14062L,
  86312. 0xd9ab09d45d063501L,0x96ff13a5130e8e50L,0xa6c8803b27ba8876L,
  86313. 0xd2e3e7f07dfbbefeL,0x9d2e5ac4eb8ec9eaL,0x0000000000000026L } },
  86314. /* 31 << 497 */
  86315. { { 0xe9d412ef1bbceb78L,0xfcf978bd208b992aL,0x6a53da6f703e13e1L,
  86316. 0xaf8956f7a8424181L,0x81a70a68e97cb9e6L,0xed0fbc16341b2d69L,
  86317. 0x70cf66385192869eL,0xbf9dd960f5a0dd0bL,0x00000000000000b8L },
  86318. { 0xee6e26feea5c7ed1L,0x81c271315321b93bL,0xc66fa92b7608aba7L,
  86319. 0xb63345cbeeef7219L,0x4ae5e8c22895ec0dL,0xeeb3fb467f3b6e74L,
  86320. 0xeaff7601191adf9bL,0x44eab56470dc9ef1L,0x000000000000010dL } },
  86321. /* 32 << 497 */
  86322. { { 0xedbb59dca9aff80cL,0xb32f9f1d305107ccL,0x7a0de3d199d4d1f8L,
  86323. 0x701b04850637729eL,0x13d85cc4b86c08afL,0xfe4b62a8cd43b0e7L,
  86324. 0xba8ba3f38a012627L,0xa589240b2168bdf6L,0x0000000000000073L },
  86325. { 0x028c8c11d8f16b56L,0xff6f2aa753816648L,0x677b98ab29bbd5abL,
  86326. 0x492513b8221f17f2L,0x828fa4baa5eca5aaL,0x15b65b2b560d8196L,
  86327. 0x737cdf4377fe2f2dL,0xcb1bc918c044cc80L,0x0000000000000138L } },
  86328. /* 33 << 497 */
  86329. { { 0x0c11966e4353dc79L,0xf39bf5ae84b26b86L,0x9b07118314d565e4L,
  86330. 0xaa9f8c5664977731L,0x12340d1b899b8932L,0x81b43cd0222df038L,
  86331. 0xebacd57fa96f4f7dL,0xd38b93c8e704f11aL,0x000000000000019bL },
  86332. { 0x485e1ba6836402e1L,0x6f34201901bd178aL,0xf342b57ed7c7d3d6L,
  86333. 0xceb499c57de7c78bL,0xf3be5233a4ad7926L,0x217081dd11cc5b51L,
  86334. 0xc0f92f053c9437d8L,0x38b2b045c0e420bfL,0x0000000000000124L } },
  86335. /* 34 << 497 */
  86336. { { 0x82c834ecced14849L,0x35a0e1c96e2ad702L,0x9bce8fc925afa4afL,
  86337. 0x0c78ec0dff85e7caL,0x754f5c1a18db20caL,0xf112798679e6b204L,
  86338. 0xb5148832e6a42b51L,0x9db5ac23ecbdf889L,0x0000000000000180L },
  86339. { 0x4d07cefb65b7214cL,0x7ef0f7670a8db016L,0x2f7db6ecc9f8d9c4L,
  86340. 0x754299113c619d3bL,0xf8c6e1ea36619891L,0xc016f4c409d50a59L,
  86341. 0xe36545e182b52f78L,0xed17d9dbbacaf6d2L,0x0000000000000052L } },
  86342. /* 35 << 497 */
  86343. { { 0x5d1c2189b589ab22L,0xd05f29db8f8c11bbL,0x445edffb8eff8657L,
  86344. 0x3fdad8e54cbc6627L,0x1ee7e60dd2a3383cL,0x7e31b910991ad078L,
  86345. 0x65bd80d5b1a278fbL,0x352d10928e03512cL,0x000000000000000aL },
  86346. { 0xc726086490b1b600L,0x4d4152ece639a6ddL,0xbd35547f41c4017bL,
  86347. 0xa1d24f1cf1c023eaL,0x8a536e83e7d8082bL,0x8689dd3fbf567013L,
  86348. 0x3c3538ae5cea1147L,0x9ab19fa10c5438c3L,0x0000000000000136L } },
  86349. /* 36 << 497 */
  86350. { { 0xe364461feceb36f5L,0xa2c2b4407c5572d3L,0x30e788e4db92e5a2L,
  86351. 0xf3efe8fa6d4ad73cL,0x621f4fd368d3b7b1L,0x0bd9693c3fb46615L,
  86352. 0x52da482fd34f2a58L,0x888f46b79880fd28L,0x00000000000000d0L },
  86353. { 0x8a0ec5cf1a628d9aL,0x7205caf0c8e29f23L,0x274d619a16f112beL,
  86354. 0x79041e561bf69ac1L,0x5b17ee9cc5ef616cL,0xa66c9d83bf671d10L,
  86355. 0x7bf826d41abdf2ddL,0xfb3391f2135cc6d5L,0x00000000000000e5L } },
  86356. /* 37 << 497 */
  86357. { { 0xe7bddcc19fcd4762L,0xb029f4697c5390ddL,0x98ef31963fac7209L,
  86358. 0x4840f8f3513e4762L,0xb6e1f35152698b01L,0x699aba9e4bc640dcL,
  86359. 0x9ea16ea460648961L,0xe6a218fc9a46a0a2L,0x00000000000001c1L },
  86360. { 0x27371dd1727b38f8L,0x338bed65e0b7a0ecL,0x2e333657c0ba0c0fL,
  86361. 0xc6e7f81340196865L,0x87158160bb8bbb34L,0x179fbf852dce1880L,
  86362. 0xe3b4f4ef9f2c7923L,0x73795470316d5fa5L,0x0000000000000020L } },
  86363. /* 38 << 497 */
  86364. { { 0x19712908cce1861fL,0x0359fd743717f4efL,0x9a092879bd3a53e2L,
  86365. 0x97aa8533f6854d5cL,0xc4163cb6d12cf988L,0x80025aec03691f95L,
  86366. 0xb62cf9e5276fcea3L,0xf1ed5103e50af5b5L,0x0000000000000114L },
  86367. { 0xcc7c15357ba70e60L,0xdbc285f899e1824dL,0x2bb06046666906d3L,
  86368. 0xefdb9e5ecbd68ec3L,0xaccfb9c45061c150L,0xc0107ff714434399L,
  86369. 0x3ee3636f3e9f6b0aL,0x23b13a8fc2a10c8cL,0x0000000000000162L } },
  86370. /* 39 << 497 */
  86371. { { 0x995ac8a670b17352L,0x7cf059b2d9d4f826L,0xa82b0722bf98b787L,
  86372. 0x1532410d612d9a79L,0x75668bc2b44ae70fL,0x63cc756cbaf63a0fL,
  86373. 0x5499dfcf97a52695L,0x541e7a68c40906e7L,0x000000000000002bL },
  86374. { 0xc02c4aac17f7b128L,0x9c456b93a171c241L,0x931d09919b48b980L,
  86375. 0x52cccfad3e0c0ed6L,0xf23004085968a6e5L,0x93a8b420bd3d48a6L,
  86376. 0xb3ca08bda2bd79d3L,0xe02f0782d018ad6fL,0x000000000000014fL } },
  86377. /* 40 << 497 */
  86378. { { 0xf0fa90d83b50a230L,0xdd15885ffd95910fL,0x4105a4e148038a64L,
  86379. 0x2f69d817ae07fcd1L,0x0536353fd0484f76L,0xb3beb1eeb8d64baaL,
  86380. 0x2ff37ff558adc510L,0x5677b99149f78e1fL,0x00000000000001b0L },
  86381. { 0xe22bf1ce43b8275eL,0x5ec18f04b7bc2931L,0xcb53d3e0f01fa620L,
  86382. 0x49db793f9587e525L,0x7f1e4ca35c884f2dL,0x5ad4e4c459437624L,
  86383. 0xa1e3329f4994207aL,0xe4cb938f88594aefL,0x00000000000001ceL } },
  86384. /* 41 << 497 */
  86385. { { 0x68609efdc4fbbccbL,0x55975ca04dc6e8ccL,0x54f541b358d63323L,
  86386. 0x6564edb1bc8620afL,0xbe0e1fb6bc6a6d58L,0x78d76d4cc87ed075L,
  86387. 0xe4942b1c177dcb48L,0x382da425ff82d99bL,0x000000000000001eL },
  86388. { 0xe06e7855568fded1L,0x560b408d0a5c74deL,0x7b77bbb3945fc598L,
  86389. 0xa8c08370cfe47a88L,0xb0616cd18fb375ecL,0x2a0b5ad9ad76d748L,
  86390. 0xd30413703f493011L,0xa69e11003e55d3cbL,0x00000000000000a4L } },
  86391. /* 42 << 497 */
  86392. { { 0x7fecf0a771bdf609L,0x3c77f17427388d48L,0xd8a52ea544c38321L,
  86393. 0x5132ddff7ff0262eL,0xdd5b822ebe8e4bcdL,0x2e4ab4a7c6632ea0L,
  86394. 0x58056a95d5597f97L,0x99b300e1b6f7252fL,0x000000000000005bL },
  86395. { 0x2bb664009a2f2222L,0xe57e826211c55fc9L,0xd9b16efe6529c0aaL,
  86396. 0x2d86e6845811abd9L,0xcaf181305148e5ecL,0xc049a71a5bdfb7b4L,
  86397. 0xa11cd09454df8687L,0xd598e94d69b7f051L,0x00000000000000b7L } },
  86398. /* 43 << 497 */
  86399. { { 0x74d7cb89a20d45d0L,0x88bcd5d4b12515adL,0x1faeb941f345ea8dL,
  86400. 0x999006026ef7c319L,0xdeec886fb57ca7e1L,0x8db761df7067b2d9L,
  86401. 0xb2e6ae1ab260579cL,0x64e68265cb5a69eaL,0x00000000000001c7L },
  86402. { 0x6f3bb54959212b50L,0x821d528591a39e68L,0x1e218e8723df1378L,
  86403. 0xc9ea11eed526496cL,0xca9a1e7dcd9e2d41L,0x3204aad9b1d36251L,
  86404. 0x99e0255efb37b606L,0xd1284e4d5a48ed5dL,0x0000000000000191L } },
  86405. /* 44 << 497 */
  86406. { { 0xf1c9da6a27ad2ec5L,0xfd11d5bedb7fb650L,0xa0ed1c2d92df8304L,
  86407. 0x5b74a2fff7e7e732L,0x6cc6fae21e467b7dL,0x8f630f200311f271L,
  86408. 0xcfeaa597c30da635L,0xeef29453958354c7L,0x000000000000014fL },
  86409. { 0xb228c7be4e6c4c35L,0x4f8071a6ec861995L,0xec449886cad11591L,
  86410. 0x521916a7d12c188fL,0xfe72b9341387b0bcL,0x5c68a3203b91d2aeL,
  86411. 0xf5726b473e702af5L,0x07251e98f461f30bL,0x00000000000000a9L } },
  86412. /* 45 << 497 */
  86413. { { 0x535fb2d6ca7b48ceL,0x002b9584f7d6cc4fL,0x52f45ad33a95248cL,
  86414. 0x7501b7a02ea66d7eL,0x9feb38ab7345a8acL,0x4a90561945016598L,
  86415. 0x1e0b2082228eb380L,0xcfacf4979a84068fL,0x0000000000000148L },
  86416. { 0xe41b7cb46b84c609L,0x8acb9f4520274dcdL,0xa965f88974d7d8a1L,
  86417. 0x9143c0be2ea1e86dL,0x8efcc7e8ec08a1b0L,0xa10dceafa60bea94L,
  86418. 0x38a2118b077b69f8L,0x9f3b1129ec56b981L,0x000000000000009bL } },
  86419. /* 46 << 497 */
  86420. { { 0xcc62a4fd61016fa8L,0x34ba576fbcf14171L,0x4f276a77b50a1ac1L,
  86421. 0x55b7c1f3dbf3ec85L,0xddf585ff68176817L,0x09f83a7f463b7850L,
  86422. 0x23001f87d980c554L,0xd119b8c6d12ea1f6L,0x000000000000015bL },
  86423. { 0x3ca9eef95c1b985dL,0x11c46468ec7fa0d8L,0xc91bf9bb7b7e67e5L,
  86424. 0x2f745795894a4c24L,0xe927075a2d6f2a3cL,0x16334965df569634L,
  86425. 0x95e8b1156cf5f8d2L,0xb1498e3675502a1cL,0x0000000000000147L } },
  86426. /* 47 << 497 */
  86427. { { 0x8bbde2c84b59597aL,0x2cf819ee0ecf18f3L,0x98960e16463a1dd5L,
  86428. 0x69ac53598837c406L,0x375c963416a0917bL,0x5688d330d9b9a5b7L,
  86429. 0xc204410d1cbcef2cL,0xaa89d49bc57e3a50L,0x00000000000001c4L },
  86430. { 0x314671e4520b4cddL,0xae039a6c4844a7f3L,0x8504d47e7244c720L,
  86431. 0x23761b887653a33bL,0xa019334b492e2ce9L,0x238325d889d81fd3L,
  86432. 0xab0d048b2a6d5e42L,0xa279aee301f953d3L,0x0000000000000143L } },
  86433. /* 48 << 497 */
  86434. { { 0x00a2ad7eaafd5467L,0xa8290d94f9741f30L,0x6173f2e7a3d3adc7L,
  86435. 0x0ad6ab5468875a74L,0x48e49f0324328133L,0x2d2d704a19e27e19L,
  86436. 0x3bd63d36de1ed374L,0xdebc4384c0ac7774L,0x0000000000000195L },
  86437. { 0xeabafce86fd61140L,0xef8c38af22938df5L,0x407c6d243c98d287L,
  86438. 0x75bc698685564dd7L,0x240a470c4c9d6c14L,0x9cdc41ff8aeca79eL,
  86439. 0xcf08acaee1dd8f22L,0x2d99cbe50d69225aL,0x00000000000000dfL } },
  86440. /* 49 << 497 */
  86441. { { 0xa7c51b21072d7fdeL,0x527140744830f224L,0xf2bcee38e86c8630L,
  86442. 0x2ae48a3607a11ce1L,0x5d88a9a479f6305bL,0xe2cc312d9e125713L,
  86443. 0x90af98b3735bbaaeL,0xf5c2758b2a9a7a92L,0x000000000000008dL },
  86444. { 0xd0b7dcbbca0b4267L,0x462becdeb843a792L,0x5f0837cabbfd7278L,
  86445. 0x4033b03b9db29327L,0x19050f0d9a038b59L,0x920cf7fbbcad1171L,
  86446. 0x2b588f590ae5890fL,0xa0d6a15e8c69264dL,0x000000000000006eL } },
  86447. /* 50 << 497 */
  86448. { { 0x256d92b449692cd8L,0x16f7806ac8753022L,0xdfc975c9ad8910a9L,
  86449. 0x291e020a38d4c11eL,0xa2bf3aafcd6bc9dfL,0x93188d8b6859ced2L,
  86450. 0xf9a0f5634267273aL,0x1f02826bd0aca382L,0x0000000000000037L },
  86451. { 0x7d4e7d11495e0018L,0x69a51736af7093d8L,0x9cb0839c29b16fecL,
  86452. 0x2bd6421bed5e6623L,0x29fb37de288b50d3L,0x046755a28942d297L,
  86453. 0x7b68173a922a5964L,0x13ae2a14617887a4L,0x00000000000000ffL } },
  86454. /* 51 << 497 */
  86455. { { 0x37f2f1bd1008aa59L,0xebbe4ee8d7877405L,0x6534b8205e1dfa69L,
  86456. 0xffd83302ab461e03L,0x220833bf46370ac6L,0x0c809ad6ed94ac0fL,
  86457. 0xe9b985e776abecf9L,0xcb9f63a464052dd1L,0x000000000000008aL },
  86458. { 0x16a0502cc177e4f5L,0xb2021209c8a5268eL,0x89d764aeccb9dc38L,
  86459. 0xc0971fe940f39ed6L,0x1692bb66210ff610L,0x7c43540c6b860ad0L,
  86460. 0xc27a870f92c90811L,0x0af5c7b08874ba9aL,0x000000000000000bL } },
  86461. /* 52 << 497 */
  86462. { { 0x0c160909c0fddb5bL,0x20b497a4723ded94L,0x5798938ff2559f5fL,
  86463. 0x1f08e0b26fd8f7c6L,0x91734f0ea9ea8a83L,0x190d5cd5fd9ec96fL,
  86464. 0x0039942a156842a1L,0xf2dd3eeb57f5b843L,0x00000000000001ddL },
  86465. { 0x8fbf191fc432fde3L,0xccc105d79b2e7247L,0x13e19408d412c84dL,
  86466. 0xd109e1b8955eb313L,0x32248ed7d485a078L,0x6f869288f7d20534L,
  86467. 0x16335bb41aadb56dL,0x156ee1e9c93ea83bL,0x0000000000000079L } },
  86468. /* 53 << 497 */
  86469. { { 0x6b27600514d5cf52L,0x26d3dd2557bf242dL,0xfcb2ad25e77b65aeL,
  86470. 0xa2696c484496d9d8L,0x40fb884bbed1711aL,0x5ab56199af6676e3L,
  86471. 0x3489a42d1d50bc5dL,0x267f4b1a5dd94b04L,0x000000000000000dL },
  86472. { 0xd0cb67206cd4c268L,0x7a304e3241bd7e32L,0xe9e0393e3385b3b0L,
  86473. 0xc5af909585f2bf82L,0x5e6518cd54b9fa71L,0xb0a424955fea5182L,
  86474. 0x51454d1a5db5447cL,0x78d932d27470d4e9L,0x000000000000013bL } },
  86475. /* 54 << 497 */
  86476. { { 0x4fa2b894e601946aL,0x7fe34aecc58937c0L,0x0ece9764fb14315bL,
  86477. 0xe99a9966ad9c094cL,0x1b6c9df4c2636283L,0xab8675e311af1698L,
  86478. 0x5089ae244644775fL,0xf61c9b6ad97a729eL,0x0000000000000146L },
  86479. { 0x9708305696c187d2L,0xce73fe18ef43b92fL,0x9430722d10aa21e7L,
  86480. 0xe6678192d9d6566fL,0x20774c5d8c1b282dL,0x18d835b6a31caaa9L,
  86481. 0x5f0210647dc2591cL,0xe78685554b424eeaL,0x00000000000000c8L } },
  86482. /* 55 << 497 */
  86483. { { 0x5af375ed01d68e46L,0xaa1a3ae3693092efL,0x0fb33f563388045dL,
  86484. 0xe142b8de023fbb2fL,0x20abf7183d17e8a8L,0xbe65e5a0c20f91fbL,
  86485. 0x387c242d053bc18cL,0x7aeef64a0e658156L,0x000000000000014fL },
  86486. { 0x8f4db305913dcd07L,0xdb17ccfdc527b72cL,0x5cb063552d09ad07L,
  86487. 0x9af5f2abf21ac13fL,0x76960c0cb12dfa2dL,0x0091281b7edbfb4cL,
  86488. 0xe6bb97f288dbd682L,0xfb0ec5e6d6444d47L,0x000000000000012cL } },
  86489. /* 56 << 497 */
  86490. { { 0xcd2cdd2e734c5662L,0x086508dd52fcd5a2L,0xd1789e1f65545779L,
  86491. 0xa3e5a37a3ebf0e2eL,0xa648b51121f33614L,0xc1b816d4000154beL,
  86492. 0x7d9c4292a8f82a71L,0xf0f81cb86f43867bL,0x000000000000001bL },
  86493. { 0x1fe1f9962b51c7d5L,0x5c77e78006a54f1cL,0x79dc60e2dcfa901bL,
  86494. 0x2c548507bbd1244eL,0x59cce9c315ca7601L,0x2ec825718f106b96L,
  86495. 0xc1ebcf8df5dc4e24L,0xb785ee5f1448c529L,0x00000000000000d5L } },
  86496. /* 57 << 497 */
  86497. { { 0x3bf38b30bdd410d9L,0x1418a30dfbac23c4L,0x9bd796936f78ea59L,
  86498. 0xc439273c741242f5L,0xb82a4e2943963c86L,0x7da09c8b0c12438dL,
  86499. 0xc4f95cbc28340db6L,0xb5d5f1b32ee06cc3L,0x00000000000000c3L },
  86500. { 0x68715c7d4916e9f8L,0x762df94538b674f1L,0xd2cd99ba52df5f98L,
  86501. 0xbdc945e1a4ed2f3dL,0x2470084a3226802cL,0xf2198726336db006L,
  86502. 0x281c597cb7580370L,0x152de2640a85f991L,0x0000000000000076L } },
  86503. /* 58 << 497 */
  86504. { { 0x6a2a065186b12001L,0x85e1b44db31c50f1L,0xb529629443af7c4bL,
  86505. 0xb17bcd8ff5f5d300L,0x886b618135999ea7L,0x1e7b5f91221fab4dL,
  86506. 0x5e542fe3e0933741L,0x8480aafe1c2cf270L,0x000000000000014cL },
  86507. { 0xd0d34bb30eb3e31aL,0xdba2b2f352cefa30L,0xdccdf0c8be98f160L,
  86508. 0x06a9e3f7c6700364L,0x751a1bf37b35ae43L,0xef2b6388718b6c06L,
  86509. 0xcae98c2a20384ab3L,0x6d888903192eea76L,0x0000000000000017L } },
  86510. /* 59 << 497 */
  86511. { { 0xdaed4f22f9c98384L,0x54a1d279de9d7aa7L,0xdad853c369e40ef9L,
  86512. 0xed2d7bcc72c325b2L,0xd4917c6ccac877c1L,0x8b1ab23c20238c1eL,
  86513. 0x82238d3d304f3c1bL,0x0c40a679c838bc69L,0x00000000000000d9L },
  86514. { 0xd8c865944347dc9fL,0x7b5ec837488b47f6L,0x4e13c2451871b524L,
  86515. 0xfcc994a13ab456ebL,0x25d937b72a177a59L,0x149f53800e48d935L,
  86516. 0x27a91603d014aa99L,0x0da2ba0f7132ac64L,0x00000000000001b8L } },
  86517. /* 60 << 497 */
  86518. { { 0x0e040aa82121e195L,0xc5c6b8ebe60295fbL,0x6373b8e834e041adL,
  86519. 0xee6f882377096ac9L,0x9725bc9eb85d2c70L,0x72adf47e6c4bc9e7L,
  86520. 0xd4927a8002819598L,0x6888aba6a37d446bL,0x00000000000001dbL },
  86521. { 0x06bf993746fc5462L,0x301d1031e41eaeb5L,0xf7db3c5128914430L,
  86522. 0x0fcdd9a2b00293b3L,0xb2cbbcf0a1adf14fL,0xc5da67fe89c9b883L,
  86523. 0x2f06cac6303fb018L,0x3b56905f892a426eL,0x00000000000001e6L } },
  86524. /* 61 << 497 */
  86525. { { 0x7351dfd061af0e72L,0x8c0280a7c4ce075fL,0xdc7bcf53d2b4d750L,
  86526. 0x302914d4a13c3af3L,0xad93d8e6eb3856e3L,0xac0833fd710879ddL,
  86527. 0xa18ecda6b53eade5L,0x8857fc9d4a68e884L,0x00000000000001b7L },
  86528. { 0xcf85f1cdaa81a0ddL,0x115857a3492a9569L,0x44815c1fd4e35cd7L,
  86529. 0x00ea5f0f3910e239L,0x526bf994ab96b0ceL,0x73e9c0578a5314e2L,
  86530. 0xa77a5d00a17ebb49L,0xfaa340bba606f00cL,0x0000000000000032L } },
  86531. /* 62 << 497 */
  86532. { { 0xecd039c8b79b0b50L,0x3e979b0d7669260dL,0x9f4a0105a2946901L,
  86533. 0x9108708a15e67e45L,0x947bb04c64fd7c28L,0xa5575a2d0b583d41L,
  86534. 0x8e63253dd6b1f55fL,0xa61f3c5f117fc622L,0x000000000000013bL },
  86535. { 0x499d5c08dca3362cL,0x1e6712a4655bc057L,0xcee49de8531b83bcL,
  86536. 0x26be0a09a3cce725L,0xe3a9b79f0de01b60L,0xcd70dd0de7e3f04fL,
  86537. 0xd7d6cb72b1a3e8aaL,0x9eef0dc3addcaaf9L,0x00000000000001e9L } },
  86538. /* 63 << 497 */
  86539. { { 0xc272ae2e41f1a555L,0x60d289f28ec78c74L,0xec1ec46cc2733581L,
  86540. 0x9b5e503e1072df26L,0x20ef9df8dd04b6c1L,0x3f912a7e098645abL,
  86541. 0xaa73fe18f541328cL,0x15319a5c09b4185cL,0x0000000000000031L },
  86542. { 0x0ed3c388229ef248L,0x73fd903ccc1aac19L,0x4fd6dab3c863e1efL,
  86543. 0x9dd6b78894ceda3bL,0x8056b1eaf09fc3c1L,0x4c69a9ca6985a660L,
  86544. 0x7054de2ef0c22c86L,0x6ab6c43a9688cf95L,0x00000000000001a7L } },
  86545. /* 64 << 497 */
  86546. { { 0xbf2b204cdb0e34f0L,0x177ee402b55297cfL,0x1008722a0905589dL,
  86547. 0x92be4754965ef825L,0x4ce902bdeeef76a6L,0x55b910714f318009L,
  86548. 0x96beae611484b98fL,0x5d84b61535b88659L,0x000000000000015aL },
  86549. { 0x43c74ce31d78d96aL,0x131fbc58a17753baL,0x4e430af6dc789aacL,
  86550. 0x31f38805e9af4951L,0x834de4aaa61cbb24L,0x8437617ef678c74aL,
  86551. 0x411e5009e030372eL,0xbe15903ca2047bcfL,0x000000000000001aL } },
  86552. /* 0 << 504 */
  86553. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  86554. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  86555. /* 1 << 504 */
  86556. { { 0xfc5ba8d59da7bb54L,0x29f3e817a7c7fbcbL,0x31a34412a40ad3fcL,
  86557. 0xe17b93692d1711b0L,0x41c7bc1716ee6505L,0x5feecffd3d1db8caL,
  86558. 0xcbb9337802f9e04eL,0xaeb67b8b091db41eL,0x0000000000000187L },
  86559. { 0x611fe09d4c695615L,0x087334f6323b6dccL,0xf7bd51bbd53bcfdcL,
  86560. 0x98ab5c925a8bcdb4L,0xe7e9d273cccd6f6aL,0x2582b21924b4a3eaL,
  86561. 0xf8fea0e3f22c4405L,0x42c0f700d3e5a701L,0x000000000000006dL } },
  86562. /* 2 << 504 */
  86563. { { 0xe9f67439cf6368a6L,0xf570101a4c1c8628L,0xf3cce189c652a95dL,
  86564. 0x85a1af6b75cedbf5L,0x8b7f513d68d0ffbcL,0xc71778fb136394beL,
  86565. 0xd0e7f981d99c9f74L,0x6a4ae0f46471443bL,0x000000000000018eL },
  86566. { 0x702bf6631f3f2c6dL,0xc1233cdecedad859L,0xa8ea4a8398c674eaL,
  86567. 0x338b3334f3c423c5L,0xbea2bbf7dc103dc3L,0xd49c4a620fbd8a4cL,
  86568. 0xa73566de57b93da1L,0x0ad24597f56838b4L,0x0000000000000127L } },
  86569. /* 3 << 504 */
  86570. { { 0x38e5b06f76f468b8L,0xeab47690c79fa86dL,0x990e59de6ef8cd4aL,
  86571. 0x826c78e86884d059L,0x951732fe341b20f7L,0xf249fae4449ddae6L,
  86572. 0x32c4b1e5a30a08afL,0x79fb2cab15be777bL,0x0000000000000027L },
  86573. { 0x1c65411bc3f609d4L,0x4a8ec1376194fa7eL,0x025dd9caa41c5f89L,
  86574. 0x878f8d01e9d5aa4bL,0x34c9e12e0f364d3bL,0x5f4403d0344cf712L,
  86575. 0xe66bb7825bea60c3L,0x4dc50e44d40e673aL,0x0000000000000125L } },
  86576. /* 4 << 504 */
  86577. { { 0x104e0c37f8cb0cdfL,0xba344bc4b934f03fL,0xf963fc250a5aa9d6L,
  86578. 0x8bbf6e9e662e69cbL,0x5b9945c916fca9b1L,0x6805abd3682c739fL,
  86579. 0x3d1ee371c3f18432L,0x4708b55c05e69189L,0x00000000000001e8L },
  86580. { 0x9682d9d3143ec89cL,0x519a8b7ab2b5914fL,0x7fb197f1fa9d63c6L,
  86581. 0x6c4d61eed19fd1d8L,0x3a2a488ed637793dL,0x1dbb1b1a1ffc620dL,
  86582. 0x66eab0524b551244L,0x290e50fd434c6cc1L,0x00000000000000cfL } },
  86583. /* 5 << 504 */
  86584. { { 0x4515da106221c6f8L,0xbf5fd8e5bd34caf6L,0x9174ad19c7a869a1L,
  86585. 0x3e327c1357152ef1L,0x58656b31222cbbe4L,0x111892141c4191efL,
  86586. 0xa5e5ad3eb7143ec8L,0xe0646afa4536e2fdL,0x00000000000000e9L },
  86587. { 0xb13d24486d16bae5L,0x42431b34af57b380L,0xcafe41015e097fd6L,
  86588. 0x5f794cd6e5b0937fL,0x4de1813d55270a50L,0xca0a5c09b660bc2bL,
  86589. 0x08f20f6b76579886L,0x21268e682ada1c30L,0x00000000000000b1L } },
  86590. /* 6 << 504 */
  86591. { { 0x9793778b98c439d0L,0x79788f592af8ce86L,0xc1520a86146d0c4fL,
  86592. 0x541063da596b5b59L,0x47823a1e9eba6471L,0x7f66a3891d23923fL,
  86593. 0x4b23c930452ecbdbL,0x40c7d3dde30657beL,0x00000000000000f0L },
  86594. { 0xb63d974a77d535c7L,0x2e16ac32ca31932fL,0x68da3cd12b8664b1L,
  86595. 0xc895a61fcee5478dL,0x34bbac9042c0ac31L,0x5cdbd70da3267f5eL,
  86596. 0x8b4d75beb4a7ae31L,0x1555caf3f43c9c86L,0x0000000000000039L } },
  86597. /* 7 << 504 */
  86598. { { 0x50714fb3c0d037f7L,0x071bfa5b8c050618L,0x7f1798269d15e2f1L,
  86599. 0x2081039729e730faL,0x7948c181b45794d1L,0xc8fbdee3171227acL,
  86600. 0x1faa467045da4e9cL,0x565405c00d3fe74bL,0x000000000000007cL },
  86601. { 0x353fc94a3f42236aL,0x684a11c27bc40d6cL,0x182ca3af52826e75L,
  86602. 0x7b24ecccd4058f7fL,0x6cadb9ba82386f7bL,0xeebcdeb53567d0eaL,
  86603. 0x904fd55c1e8c8ce2L,0x43fd20db6b578b37L,0x00000000000000a5L } },
  86604. /* 8 << 504 */
  86605. { { 0x842e5742310be81bL,0x9cd6a5ac815531f2L,0x1c8179b837f9f02fL,
  86606. 0x009cfa294fac713bL,0x091f5101d2aa2c79L,0x70360695ef9256c6L,
  86607. 0xd8d52d11fad0a22aL,0xf395fef240ff5ee7L,0x00000000000001abL },
  86608. { 0xfbd0e2d746cccde9L,0x8e8a81f7f8d82fe8L,0x63bb8ce1c0766bf2L,
  86609. 0x917ba75ac70e96e5L,0x2baf9fa493d4d0feL,0xa203f382c28324d4L,
  86610. 0x36385f59b1b2c7d3L,0x746bce122c80ee37L,0x00000000000001e1L } },
  86611. /* 9 << 504 */
  86612. { { 0xec99f07e8b313476L,0x9856c5b352530de1L,0x08ca437cf2693956L,
  86613. 0x990f6a868f4122aaL,0xa36c9d84d76bb2abL,0x6004fbbf1e657ef9L,
  86614. 0x6c64f52f4108d873L,0xe3e589a670224f93L,0x00000000000001a4L },
  86615. { 0xae219487d6132691L,0xb26711505bb911e5L,0xcdd0bc5f15177196L,
  86616. 0xb093aae02605fd89L,0x26d1c416c319a26eL,0xe8916e3d6ef59cb6L,
  86617. 0xb05a13d56e79807dL,0x8a178214c039cd95L,0x00000000000000b6L } },
  86618. /* 10 << 504 */
  86619. { { 0x7282c91615fead87L,0xbc1aaf596565472fL,0x5a7bbfc458b387f5L,
  86620. 0x665eb3b16defa8e5L,0x1944cfc86da1ca94L,0x41aaff4d2a2de565L,
  86621. 0x4497cdbab7311f8cL,0x129ecc29f2264d67L,0x00000000000000e5L },
  86622. { 0xa0e20df230229efbL,0x7c4e6966bf174745L,0xe96f0ab07c0177fcL,
  86623. 0x221d8cb684fd2c4fL,0xccf21ec330689b70L,0xd7daa585f24cf84cL,
  86624. 0xccc2582b438b0f34L,0x6940385ed02cce0bL,0x000000000000011fL } },
  86625. /* 11 << 504 */
  86626. { { 0x6e985fdcf7286539L,0xbf44ae0526699adfL,0xbfe83f9d751da127L,
  86627. 0x7df2f5c0d22871d2L,0x61a184da09f210a7L,0x69b4001a9e56e9bcL,
  86628. 0x3f48dc50f5801782L,0x114fb0a2e0bc2f08L,0x000000000000002bL },
  86629. { 0x44eb8f92011d6de8L,0x3e0fe24320df8124L,0x494b83e071b8153aL,
  86630. 0x6b50c1e31cbc91e6L,0x260d1694b8f14373L,0xf12e1b9298782cd5L,
  86631. 0xb8bc2afe7211a9deL,0x3604c2396ebbad8bL,0x0000000000000123L } },
  86632. /* 12 << 504 */
  86633. { { 0x5f9a4772e44f4ddbL,0xff089398a0479feeL,0xc7984a9a309c362dL,
  86634. 0xc8858f6c2ecf134dL,0xfc9c56401a56d029L,0xd77e773207b47628L,
  86635. 0x36bb84d6d5d61144L,0x8d6e8e0df628bb09L,0x0000000000000171L },
  86636. { 0xfd69c84a1b585b76L,0x2fe3fc195bfe6558L,0x9365c43c978729f7L,
  86637. 0x3bea9b49b368b24aL,0xb6fef7db69a7b390L,0xc85c1d51848bd710L,
  86638. 0x7b3a49fa90bbc984L,0xd65e2e2d651df377L,0x00000000000001bbL } },
  86639. /* 13 << 504 */
  86640. { { 0xe8eaa2b093ee1688L,0xab51392f1bd7b754L,0x70faaf847f0113f0L,
  86641. 0x0b68566cccdfa903L,0xbd54a08c9114d07dL,0x4370af4a2eb3d473L,
  86642. 0x6f5596b430650b8eL,0x1d9d998ebdaeebbbL,0x000000000000009bL },
  86643. { 0x1e07aab3eb570ca0L,0x6cc5717883d78d65L,0x5c13b03927e07ba1L,
  86644. 0x4a8db7258593acf1L,0xf2fbba8b4560970bL,0xa7ee45fb79fe5510L,
  86645. 0x8defa4ec7df14edaL,0x664e0d14f6249cacL,0x000000000000005aL } },
  86646. /* 14 << 504 */
  86647. { { 0xfe6bc737ba913d04L,0x5356a7c0e8d667f3L,0x71d72789c6a981fdL,
  86648. 0x7b33cccc1d45cea8L,0xec69e42ad2f757c8L,0x3e228959a5590d96L,
  86649. 0xc04189aa63be779eL,0x2649054dc984b85aL,0x0000000000000188L },
  86650. { 0x332af6f228fb3abdL,0xe8de53e45031c4cfL,0x881f78f7363bb9f8L,
  86651. 0xffd28eaa31d76d0fL,0xf618633502723c25L,0xcc4d0074e497dd32L,
  86652. 0x7c24a1c114be4804L,0xfefeea3e5150ca3dL,0x00000000000000b7L } },
  86653. /* 15 << 504 */
  86654. { { 0x93d8a6cc1cba39aeL,0xc09391f078b306ebL,0xc50192796bbe7209L,
  86655. 0xae87581b69c4000fL,0xaaca7f02e29cde0cL,0xf495236787d2f7b9L,
  86656. 0x831f4d68d01d00d5L,0x17c135acbae32d64L,0x000000000000002aL },
  86657. { 0xe83e6bbefa7a973eL,0xaa3d68978ed040daL,0xb2915bb0b7726a22L,
  86658. 0x84c84815c39a8a47L,0x42fb407eb29908b3L,0x9a5be91841b90531L,
  86659. 0xd534b5ce6025ec50L,0x56f74c30bd08106dL,0x00000000000000acL } },
  86660. /* 16 << 504 */
  86661. { { 0x312dc896a3a2be76L,0x9e77c0c361da109bL,0xb1c5379dbf0993beL,
  86662. 0x9272b9e8b7bcc4ddL,0x5437f62509337d54L,0x5c897a61cf735302L,
  86663. 0x368e21ca002db288L,0x33197cc1184aee4aL,0x00000000000001afL },
  86664. { 0x76ec7312e5c35f69L,0x6832a65ac07874d4L,0x398dab5ac121e8c9L,
  86665. 0xf88aa2c897b47c38L,0xfc77e1c007678cf3L,0x7327a90f345a9b89L,
  86666. 0x267417a049240b3eL,0x3aa3ea97e3912921L,0x0000000000000116L } },
  86667. /* 17 << 504 */
  86668. { { 0x16517bb959607b44L,0x58608704772ed61bL,0x32fef9718443087dL,
  86669. 0x9f12aefdc264831eL,0x2c40d8ec3f264eaeL,0x958ef2e1822e53fdL,
  86670. 0xb4538e5fa48195deL,0x5af48f9e914ed410L,0x000000000000019dL },
  86671. { 0x6495c1c2ac7152deL,0xd4f608df5b546ddeL,0x91ae22e465f6c27dL,
  86672. 0xf35827bfd2b14d0fL,0xdd6bb7ba3ef928d6L,0xcdb8ffc3fe3f1e15L,
  86673. 0x7d86649006bf8de0L,0x23bccaed54c4f18bL,0x00000000000000faL } },
  86674. /* 18 << 504 */
  86675. { { 0x34a26ac92efd1575L,0xd3cdf9b63ddc81daL,0x54f503deb2b82effL,
  86676. 0x76470a9ae9dd4f78L,0x4cdda269f255e55fL,0x4a41053e48c647ffL,
  86677. 0x2034a1a932ab5322L,0xad82c6c2573c0345L,0x0000000000000083L },
  86678. { 0x9bb0cb5cc498d833L,0x7593917eee4055e6L,0xe3d6061ad2555ed9L,
  86679. 0x16a5ed5c5fedc448L,0x6ce815f86f54029dL,0x844b1cb950a4ef2dL,
  86680. 0x80f5a634cd8ee69fL,0x94429987738e45afL,0x000000000000009aL } },
  86681. /* 19 << 504 */
  86682. { { 0x6b26293c55373725L,0x44d86d44d9b7d4d2L,0x63bb25dd8c19dcdfL,
  86683. 0xed80dfdf15e7ee04L,0x0d41bb216778dd90L,0x2247af2ff3835136L,
  86684. 0x4661b4c1c2b2770dL,0x97c716acebf37b12L,0x00000000000000ffL },
  86685. { 0xbce5ea8d1257f979L,0xef5854b4cc612fabL,0x484669d15cf5f330L,
  86686. 0x036ff03ac916d5c7L,0x199255965a0316e8L,0x527fa32eef2b4e43L,
  86687. 0x35b5691a24cc4432L,0xbc3f392ba525aa00L,0x00000000000000e9L } },
  86688. /* 20 << 504 */
  86689. { { 0x6be6e36a4e67687dL,0x769be7472011695bL,0x7874176fbdc16d7dL,
  86690. 0xe1d4d7112ecfd4d9L,0xcf6d7df697d9c412L,0x55f8bd12161eeafeL,
  86691. 0x2771d1072a331bceL,0x8f5e36f2560bc2d8L,0x00000000000001edL },
  86692. { 0xda8a3b0ae614739aL,0x5a6beb773bbf6fa2L,0x9998ec8de200b58bL,
  86693. 0x35b43df935407009L,0xe1417a07ede69a33L,0x655b564015528691L,
  86694. 0xe358cd067124064aL,0xf9274d0801093150L,0x0000000000000165L } },
  86695. /* 21 << 504 */
  86696. { { 0x0833c14b828446b5L,0xb5eb590f3df9e196L,0x1ecd9d2eaa99ebc2L,
  86697. 0xf09914d0f3d5ee35L,0xed839373970b266fL,0x47cdf5303cbbe599L,
  86698. 0x53aae86c3c9d6be5L,0x48397114d01a4f2fL,0x00000000000000bbL },
  86699. { 0x49a7d8895bd1e0edL,0x7529cb4958c666c4L,0x93dd25d1d5ede656L,
  86700. 0x6e221d6536276585L,0xcd09546ffa0d3db0L,0x4d4eaa62fe48abeaL,
  86701. 0xf0ec27945bc60c2aL,0x2955763602052899L,0x00000000000000adL } },
  86702. /* 22 << 504 */
  86703. { { 0xea3bdb8c7886dba1L,0x59aa2a6c8d15be37L,0x17527731f8bc12e3L,
  86704. 0xd61af3db387439e9L,0xc21f6203738ae818L,0x13d3ed72d0333648L,
  86705. 0xcec655779c9e07c4L,0x58d6b0692a992bddL,0x000000000000006dL },
  86706. { 0x81abbd9c660424f8L,0x38d2ee2d29992dd6L,0x483a59bbe9f85330L,
  86707. 0x5efa6313f18f1b3dL,0x93a79facf698990dL,0xf9ed5f5b3c66a3e5L,
  86708. 0x99a61ee05582b82dL,0x5630acce3ba9602dL,0x00000000000000c8L } },
  86709. /* 23 << 504 */
  86710. { { 0x6711c3b83bc0738bL,0x1a48588a747bb955L,0x64cd7a5d64fa3ea8L,
  86711. 0xd63b165af7ac67e6L,0x019bad5ab2a7d054L,0x13d53c68a775a2bbL,
  86712. 0xac13f9da74aab4e2L,0xbe3d79dd84f166f0L,0x00000000000001a1L },
  86713. { 0x5d591f141d79ec2aL,0x310a04bcf86e3b5eL,0x3219ccae81f9ba7fL,
  86714. 0x3058a5646f69a5d8L,0xba6d658a17b969ebL,0x04d9596f48efab07L,
  86715. 0x47608a070cf8472aL,0x443c8a3f122ffa4aL,0x00000000000001b6L } },
  86716. /* 24 << 504 */
  86717. { { 0x372fa55f96c43863L,0x7395007ecbdc87d3L,0x77261a297e9a1418L,
  86718. 0x9009f7081fe5569dL,0x43644eecf3186f12L,0xab5348754d413313L,
  86719. 0x7d795ade94cdd269L,0xb9c7bcce390cb5baL,0x0000000000000061L },
  86720. { 0x70e879398b2a76c7L,0xcf9a990b4d0a94d8L,0xd8bf89e734eb7c11L,
  86721. 0xe2b79ff8f33be326L,0x62f7f2e73ccd3327L,0x6e64a25cb871bc98L,
  86722. 0x0fd70684f42448dbL,0x162769cc7f3e6d46L,0x0000000000000098L } },
  86723. /* 25 << 504 */
  86724. { { 0x929dec7dda33404cL,0x68dd0e8c9b6afedeL,0x610dbd629e32f8aaL,
  86725. 0xad0a251f30192ce9L,0x6b9aeb4328e01611L,0x9c984eecb9d4a292L,
  86726. 0xb53bec5485ebd1a3L,0x765ae5798458714eL,0x0000000000000116L },
  86727. { 0x622071df31ed5307L,0x38945da1f6fa8116L,0xe1e1d1f3ca229eaaL,
  86728. 0xf8959af5acf489e5L,0x0816a41eb2abe438L,0xb00f3a2e251aa88eL,
  86729. 0x6aae71efe018e553L,0x2cdc74d817357be4L,0x00000000000000aaL } },
  86730. /* 26 << 504 */
  86731. { { 0x9767c342cd3915b8L,0x52206babc8b72893L,0xbe65a1ce6c589a4dL,
  86732. 0x69e29cc876ef527bL,0x8d656d54b58e124fL,0x0e645dfdaa0b6624L,
  86733. 0x89808ac8e7f38d9dL,0xed9ea95e458a43ffL,0x000000000000001dL },
  86734. { 0xbff236387d49f886L,0x20d403d22a2ed0f3L,0x7755c59da90909d0L,
  86735. 0xecd97f616c5555a5L,0x815f269fa6ec5bd8L,0xe2cd2c32d3ec306eL,
  86736. 0xee1816903d1a8ddfL,0x94e7e62fecf72211L,0x0000000000000003L } },
  86737. /* 27 << 504 */
  86738. { { 0x5d3d66768d1f4d27L,0x12f0837d7b1cd52eL,0xebc608c48838c280L,
  86739. 0x66689d737564013dL,0xe48e496f630cae1bL,0x8693853fef551190L,
  86740. 0x9db620a86f7855d3L,0x51bc8e485658469dL,0x00000000000000f3L },
  86741. { 0x55fb173c5ae32677L,0x287c372d09d83dc1L,0x5faea3396768dc7aL,
  86742. 0x3f0b476886a95fa8L,0xfd22197742d617b6L,0xe12ab48537728980L,
  86743. 0x5f458000fecafdc6L,0x86f0eaa95ba83a8eL,0x0000000000000065L } },
  86744. /* 28 << 504 */
  86745. { { 0x71f1dfa99806b3cdL,0xed41b6d4f784cfbdL,0x1e803f9dd8f8bb61L,
  86746. 0x4106986517cb357dL,0x2f389dd4d4040c02L,0x27693585e59684b7L,
  86747. 0xfd400b8e04e1c8cdL,0xff53e1e1a9c47d96L,0x0000000000000193L },
  86748. { 0x358de8b359771fb2L,0x87ec3a6fa7e440eeL,0xde6391d307c30cbeL,
  86749. 0xcf9116cc866e2bc3L,0x293676994011f5caL,0x1303ce2c9f52929fL,
  86750. 0x85e2c0ab4dedfcfeL,0x612d08a650f8610bL,0x00000000000000f3L } },
  86751. /* 29 << 504 */
  86752. { { 0xa143f0e16750e3aeL,0xda58596363f7e043L,0xc393fb468a82e2dbL,
  86753. 0x152e78159c18b33aL,0x07690241c322bfd1L,0xb7d34430f9a7c039L,
  86754. 0x30a02eacd91a3b33L,0x0333b1c5fe1f5e15L,0x00000000000001f7L },
  86755. { 0x892ecd1b3a10dff1L,0xecac73e2d7792032L,0xda8792e443089985L,
  86756. 0xe921f6f77e8b9e6cL,0xad5ca8d078844200L,0xd08b2c0ec4902474L,
  86757. 0xfa5928ee76ecb1c4L,0xa6f32e2284703e74L,0x00000000000001faL } },
  86758. /* 30 << 504 */
  86759. { { 0x6b83ceef1e86021fL,0xc4500e85fe4f727aL,0x45a925374e43e89cL,
  86760. 0xf73d7392cc6c3522L,0x3f7d2f0484cbe016L,0x02584521b02203aeL,
  86761. 0x901c127550206becL,0x0c55c247de3580efL,0x0000000000000198L },
  86762. { 0x7fd8681dba78f98aL,0x5084bad583d1e7a9L,0xd6024a7bf5fed50cL,
  86763. 0x9605ea57ae4b56ddL,0xc2bb29d60451b3e5L,0x339a6c82b1280ec7L,
  86764. 0x5711b1280c3cf155L,0x20308f7a86c613f1L,0x0000000000000188L } },
  86765. /* 31 << 504 */
  86766. { { 0xbd43c00d79623d05L,0x8d6020e28c78137aL,0x38c6c2126fb0dd3bL,
  86767. 0x9cdf9293666d2d43L,0x0f0d17dd3331b5daL,0x9e3fc10de29bf866L,
  86768. 0xdc2b1a910c04d32aL,0x94f8f744755315e1L,0x000000000000009aL },
  86769. { 0x4dce110b54f9068cL,0x2584dfc82e106069L,0xebc73668a694f59eL,
  86770. 0x4610b4b2512ecff4L,0x6afdf6064cd507f0L,0xf7b208d6fda16ccbL,
  86771. 0xfa72234c123b45ceL,0x474e7152c4e7c78cL,0x000000000000016eL } },
  86772. /* 32 << 504 */
  86773. { { 0x11771bfc92e6cd70L,0xf5bd487f65c65a34L,0x1b3cb720081b98d1L,
  86774. 0x32485ec4026b378fL,0xe3c71a99529c1313L,0xc85bde7d3526ef07L,
  86775. 0xa85c138b84e3dbebL,0xe6e886afa239b5a7L,0x00000000000000f4L },
  86776. { 0xf65240a56e2040feL,0x1596f10816af1685L,0x20b38d3eb90b3a9cL,
  86777. 0x81a30feb9c3fdf7aL,0x04031bb33731c3bfL,0xadfe3fb3ad2b6d6eL,
  86778. 0x243b36230fee06e0L,0x2bc6df9225d016e6L,0x0000000000000053L } },
  86779. /* 33 << 504 */
  86780. { { 0x6aacd1b33a694c8eL,0xda4292439920facdL,0x8eeaf582b2d8d80bL,
  86781. 0xa03afa0b32a1c52eL,0xab7822fea3b16c64L,0x415e3dfd85cd40a4L,
  86782. 0xba75e4d576958759L,0xec9a95e88e58d2eaL,0x00000000000000a7L },
  86783. { 0xa096ee7bbebf8902L,0x799d6979afd1460dL,0xd1b8d605ebc51254L,
  86784. 0xb077aa8e1c2cb180L,0xc31759f4f8fd1e58L,0x704f588bdd1bcd8aL,
  86785. 0xc22ab0d67ddf1e1dL,0x8f5d78d3968074beL,0x00000000000001b2L } },
  86786. /* 34 << 504 */
  86787. { { 0xc5daabcd932ff166L,0x7f5eea67a8d77d4aL,0x3d6d04eeb62e5ee7L,
  86788. 0x4736983815707ed7L,0x05738964e8183517L,0x3537ccc50255f489L,
  86789. 0x156ef32d9b13c129L,0xc2a62d7eb3002c45L,0x00000000000001a2L },
  86790. { 0x37e128bda21b49cbL,0xd2bb496ef8dea102L,0xba43bd9cd8814cbfL,
  86791. 0xcc475dfa3707a908L,0xa86675a1ef5c5c74L,0x321544dd25ba90fbL,
  86792. 0x65ebc4bbe77d6fd6L,0xdd5e75955fcf3feaL,0x0000000000000070L } },
  86793. /* 35 << 504 */
  86794. { { 0x6c474c2718234b72L,0x3631873d1ba8afc2L,0x4fff947bfc6cd2d0L,
  86795. 0x91a95c6aa6187a12L,0xc18812d51a5161ceL,0xf8182c4728ba5591L,
  86796. 0xfa08a35ae05abb0bL,0x49a5f3a0f3fc003aL,0x000000000000003cL },
  86797. { 0x1f2fc52f0253b00bL,0xdce041369e3ebd22L,0x6b326cbb0b545102L,
  86798. 0xe06e27cfc2b15e4bL,0x96294d881cb480fdL,0x62add48fc24a99c3L,
  86799. 0x8b5f2549ebbc3afeL,0xf7108acacd6c9533L,0x000000000000011cL } },
  86800. /* 36 << 504 */
  86801. { { 0xe928f1ace4606931L,0x2fb928a4fc874afeL,0x87ed3480ac730690L,
  86802. 0x18c8bac63f3b5593L,0x870d817bba8f50c7L,0x37b17f1e1dc4f816L,
  86803. 0x14ac19394828b6d8L,0xb66131579f7594fbL,0x0000000000000055L },
  86804. { 0x59887289d3e0d261L,0x2e38efc348aee80aL,0x8362fe6d1c19065cL,
  86805. 0x714d078031d57631L,0xd38e42dd96f0ad85L,0x2ba3990c16bb603eL,
  86806. 0xc79e2fcf756396a7L,0x3897420f536c1994L,0x00000000000001ebL } },
  86807. /* 37 << 504 */
  86808. { { 0xa7d5782fa86ba30cL,0xfe671190e309d5a5L,0x2b8d391effa437d8L,
  86809. 0xccf1231d4ed20668L,0xcb2e725ba841c8ccL,0x8551c6a6d12c0043L,
  86810. 0x40b6efb484751314L,0x4cd15f5ec044b80eL,0x000000000000004bL },
  86811. { 0x3d0f897b73ea15ccL,0xa5d6c44dacae986dL,0x82b035b4e098f68bL,
  86812. 0x2e004b3153e48458L,0x4033ced959c997e8L,0x45fb094539c64c7dL,
  86813. 0x244ba9c3d1ac61b4L,0xe05fdc81367bdaafL,0x0000000000000083L } },
  86814. /* 38 << 504 */
  86815. { { 0xc7a406be012b5684L,0x1652b7ff5d60f261L,0xc2d4d16178843bc5L,
  86816. 0x3f50380e1a1955bfL,0xb2d8f5d2368f254bL,0x14b0b3f931c0c910L,
  86817. 0x7587bd7a099232e9L,0xf29fea7c7a379369L,0x0000000000000014L },
  86818. { 0x92c5844ae54bc692L,0x0798175cf2c3171fL,0x177ef51601a94811L,
  86819. 0xe5632d4aaad297a0L,0x7069e9fe58584a58L,0x6eb4de9187428d96L,
  86820. 0x8354ca18d1679a12L,0xd296dc08a7660684L,0x0000000000000025L } },
  86821. /* 39 << 504 */
  86822. { { 0x1a42f1615e99315eL,0x84762c55407122fbL,0xc46bc953c8d0f1a5L,
  86823. 0x2523a0261be38aa8L,0x274145a1b36d1ab8L,0xc0d9a5f585c407a8L,
  86824. 0xa8b0e1afd8dfec41L,0x8c5bb30851100703L,0x00000000000000dbL },
  86825. { 0x843a2657aae55c46L,0xc92b3449d905af3aL,0x6ac9ef1d9775d9ddL,
  86826. 0xf6c822000e3b1212L,0x85f51f8cdce6fe66L,0x5349a598c92594b4L,
  86827. 0x6f61700302270118L,0x70f2c99de38d8200L,0x000000000000006dL } },
  86828. /* 40 << 504 */
  86829. { { 0xd636d4c4da43d267L,0xa3b87528e75bbb4aL,0xa60189a1f2246ad7L,
  86830. 0xe8904e536635c4e7L,0xbf1af52d8a2dcd98L,0x7b93a05344fac70aL,
  86831. 0x8bb6fc09d73a81a4L,0x05536fb265f165fbL,0x00000000000000cfL },
  86832. { 0xe366e5dacb409af6L,0x755696bfff43ee63L,0x3a97d43e3709ed1cL,
  86833. 0x644438f85e58f866L,0xdebd5495e8fe5577L,0x6e84a3b5375bfa1bL,
  86834. 0x987b5dd1202c78b0L,0xfc3e4908b822d808L,0x0000000000000150L } },
  86835. /* 41 << 504 */
  86836. { { 0x73ecabcf3acbb512L,0x9533fc1e8997573cL,0x5d5c5e92f163c949L,
  86837. 0x525a58a51ee35ab5L,0xbbd9e4986db9fa29L,0xf3233214954015cdL,
  86838. 0x710635f82ae6ad57L,0xe2dc148513b93e37L,0x00000000000001b6L },
  86839. { 0x0b972426c062c228L,0xf68356f3c831fedaL,0xdbca88e0294d3418L,
  86840. 0xa0b2ccfb74891390L,0x15a50844452848bcL,0x3d40a30bf020c354L,
  86841. 0x78654b100f743e38L,0x5830b682071e5c54L,0x0000000000000024L } },
  86842. /* 42 << 504 */
  86843. { { 0xdc7e268751b64c15L,0xd64e9963851661d3L,0x6dd6e61155c36ceaL,
  86844. 0xc9dda78f95af04eaL,0x0e36204b717529d6L,0x18307d7b1a934b4dL,
  86845. 0x9a2d9ccab18f8a3eL,0xbef73bc2a39cfa59L,0x0000000000000014L },
  86846. { 0x0ea74fcba1a4ca75L,0xea6233eedca12c9aL,0xd189f92afec9fb84L,
  86847. 0x4b60da2d2d6bc935L,0xec09409fae1a492bL,0x2eaf3c6a96ecef1aL,
  86848. 0xbd5744de79cc9c96L,0x137f9e124b817ef3L,0x00000000000001b5L } },
  86849. /* 43 << 504 */
  86850. { { 0x501c4b77a206d5d0L,0xeb9e35026823bdb1L,0x9c630625e12d89b0L,
  86851. 0xe907a0599c9efd7cL,0x2fd286f722eacdd9L,0x6816d3af1bbf7f70L,
  86852. 0xf28d01cd148540fcL,0x494b69af35e1db97L,0x00000000000000b5L },
  86853. { 0x27a04d983ee774f8L,0x7429986edfe44dc9L,0xe9ced611c5d67f13L,
  86854. 0x3064c8278e8f1883L,0xe355a38fc6690faaL,0x8f46002a56ae4f60L,
  86855. 0x2a02daedda54740cL,0xb7c3b9dad082c12eL,0x0000000000000182L } },
  86856. /* 44 << 504 */
  86857. { { 0x0a6349315830d60dL,0xd8eb73b8bbe24eeaL,0x0e5c491d01d78f8fL,
  86858. 0x6a64025fc3741449L,0x3cd080c70e2ed20dL,0x2daabc21d2898b84L,
  86859. 0x66dc0235f4c36524L,0x9327c374780d6ea5L,0x0000000000000180L },
  86860. { 0x3d37d86133febf4dL,0xc14534786988a93cL,0x3f74774eec0ab171L,
  86861. 0xa3404c1e3cfac694L,0x045db8c32f3b022eL,0x8eabe9f35c01b893L,
  86862. 0x61d83f12a7ed9fa8L,0x99bcee45a35d2628L,0x0000000000000005L } },
  86863. /* 45 << 504 */
  86864. { { 0x762ef77032a8e116L,0xd143a6c5fdcb778bL,0xda97c9de66b5309aL,
  86865. 0x30a842f58e90a23eL,0x49c70a68e1a6b687L,0xc075044167230ac7L,
  86866. 0x95a702baf0cd790aL,0x40a23752b7e6f3f6L,0x00000000000000efL },
  86867. { 0x7ad3f0231b216453L,0x8848cf889478adf8L,0xb59a0b8a73ffc8a6L,
  86868. 0x3890a4b18886ef88L,0x01f563b7721c750aL,0x27200ccef586d6a6L,
  86869. 0x3a00ef84acb996e1L,0xaf308a0d87ae84faL,0x0000000000000082L } },
  86870. /* 46 << 504 */
  86871. { { 0xed73a960cecaf2c6L,0xe3e2fc9f72f3e432L,0xe342c3c4b43440a3L,
  86872. 0xcffcd0b38eb23a04L,0x97c0e69ae0230013L,0x8240dd50988f4aa3L,
  86873. 0x450801c0934df0e7L,0x2ae8732d8b5e1134L,0x0000000000000185L },
  86874. { 0x88e7c72895bdb2feL,0x8b89c3a481110a0aL,0xd5c325dc38403b6dL,
  86875. 0x8c9981cf462fb4caL,0x8d8ee77b4bc4127eL,0x66f0849209dd6dd8L,
  86876. 0xae3c2cf2156f42e3L,0x05a9a2f7624bcdd3L,0x0000000000000188L } },
  86877. /* 47 << 504 */
  86878. { { 0x4b2cede9736d1080L,0xf3493b40f7a20cedL,0xd2ae2b575506f48aL,
  86879. 0xbf15b5f1b26852fdL,0xbabf030c296d9bdeL,0xca059522434de93fL,
  86880. 0x05e285648bfbf1f2L,0x6f3025ec7358ef2aL,0x00000000000000f6L },
  86881. { 0xf58301b7edfb2019L,0x66fd8abe39bc999dL,0xde69e5c9fa32955fL,
  86882. 0xa238f72ae59bc937L,0x895f843786635c79L,0x26699c76bfaf8f08L,
  86883. 0xc17214b9136b91b5L,0x362d2e7465ecc70cL,0x0000000000000113L } },
  86884. /* 48 << 504 */
  86885. { { 0x29d30ccfdba3263aL,0x3ddec6f458f319d0L,0x6859be59aa8889deL,
  86886. 0xd21b5a3f37e57788L,0x0bc2f50b8e56e5f0L,0xb76d24e42b8c2b6dL,
  86887. 0xd7b4c5575731d66fL,0x59d33a6e8a0e50a1L,0x00000000000001e3L },
  86888. { 0x4decdb8e57dc5e0bL,0xe1fd10aed8e33978L,0xbc70d10b17f26c32L,
  86889. 0x15026720a9d2255dL,0x68a1e644fb625ffaL,0xdd3dca9f0b24bb44L,
  86890. 0x3a192d90f8932bc0L,0x0f7120b476268713L,0x00000000000000d5L } },
  86891. /* 49 << 504 */
  86892. { { 0x40b536383a312500L,0x3583ad2393dd5ce9L,0x9edc8f2c2a6c32bfL,
  86893. 0x331d9f888a7af41aL,0x8c2e24be679248b8L,0xfaaddcec55d3d6baL,
  86894. 0x5389eeb3d7f4b6f2L,0xcfba884a6dbc261eL,0x000000000000009bL },
  86895. { 0xd297f9d412c86f42L,0xb1efdde1bf731999L,0x83e2c8ec1c74c90dL,
  86896. 0x25172953e1a86c88L,0xe085e66d3ad7c757L,0x6a4205165f2264acL,
  86897. 0xfec41f5ae94c09d2L,0x7b04d8889fc2520eL,0x00000000000000d3L } },
  86898. /* 50 << 504 */
  86899. { { 0x780729c7cc378344L,0x57e5492132481eabL,0xed30489faeff7f7fL,
  86900. 0x915fbf7ce5f1c7e5L,0xa447efaf62b8497eL,0xfa764a3273aa8012L,
  86901. 0xb1a75f1ec5f79a73L,0x904bbface55412abL,0x00000000000000feL },
  86902. { 0xedf27e0035d70f3dL,0x7403d8160c686661L,0x780f88caf8226941L,
  86903. 0x0f3dba77374750dbL,0x22f036ec463ef54bL,0x05c98a11b4bcd349L,
  86904. 0x0b9c1e1066c6c48cL,0xf97542e3aa4d23d8L,0x00000000000001ddL } },
  86905. /* 51 << 504 */
  86906. { { 0x8eb6298bd1c2340fL,0xa69b2a078c93effbL,0xa0fff41717e5cac5L,
  86907. 0x4dbda6416788219cL,0x67ff5f5b77ee2712L,0x798d318757e8c5e9L,
  86908. 0xcac3a4211adcedfaL,0xb77a995db508dd1dL,0x00000000000000ecL },
  86909. { 0xf5fabda250f13f9eL,0x2d3248164ab98a01L,0xef848f30862ec877L,
  86910. 0xdccc661edb74997aL,0x6f1f9efcccc7a331L,0x03d6e862bc776e7aL,
  86911. 0xd178f910bdea3158L,0xb6608ef07b9f535eL,0x00000000000000c6L } },
  86912. /* 52 << 504 */
  86913. { { 0xea95917775247610L,0xc03f4326d5528775L,0x8d46289b5b48a156L,
  86914. 0x9447bc35cdcd8d8eL,0xc5688f26210bbfa1L,0x539bc76734f83af5L,
  86915. 0x371c1bf9804413d9L,0xd38c342187de862eL,0x000000000000001bL },
  86916. { 0xb2a00040b183085eL,0x43f284af2524738cL,0x361c7e8eb6834e75L,
  86917. 0xfe4ea9ff720b8af1L,0x87c7eac60299f9b7L,0x7f6f668ea0c54c54L,
  86918. 0xe4e14938275b843eL,0xbf786cd0274de49fL,0x000000000000009bL } },
  86919. /* 53 << 504 */
  86920. { { 0x7b47c51e6e8c29baL,0xe8b5828112556021L,0x7b9996154cccd41eL,
  86921. 0x80829cb5a6bd4f11L,0x8165e02b4261a0a9L,0x94c3b0b10516943aL,
  86922. 0xb81de83d0a6c224dL,0x91d8d20a87625a2bL,0x00000000000001b6L },
  86923. { 0x3f36fec901bee5b2L,0x9f393611070292c9L,0xd54c6d895f498ab5L,
  86924. 0x398e1f9042264500L,0xbbfaaf64ca95ca7cL,0x6cd5062414ab92a7L,
  86925. 0x44ac4b76fb688987L,0x7bd8192888a78c22L,0x0000000000000077L } },
  86926. /* 54 << 504 */
  86927. { { 0x90ff1fe8d54b0174L,0xb2ebfbb8684f403aL,0x30d99502f405689fL,
  86928. 0xd5ccc821baa34800L,0xdf3b996ca272984bL,0xe27f1378e9d1ef86L,
  86929. 0x0a411e3fadf082d3L,0x54a704968bbf2c2aL,0x00000000000001d7L },
  86930. { 0x08cd18eaba4c82e3L,0x5487015aafe09e1fL,0x4036ec0feb49e0edL,
  86931. 0xe5c93ba052d7820bL,0x6abbbbf084b8e6c0L,0x9303cf2644072ab0L,
  86932. 0xe680096617b73ea2L,0xd0910a6b92c47ac1L,0x000000000000001dL } },
  86933. /* 55 << 504 */
  86934. { { 0x07c321cd72888b9dL,0xffdbfd2032dfac5fL,0x18e938cb5e246911L,
  86935. 0x01e54403d22c20d9L,0x8a61ba0678040df9L,0x29b01d78b68c8c8fL,
  86936. 0x52a16c436254a93bL,0xfe54503959f8cef2L,0x0000000000000133L },
  86937. { 0x9af34c9a1c33772aL,0x0c558a079c3fbb98L,0x91c66b9709f6ec94L,
  86938. 0xdd67fd474a98dcddL,0xe6e210db396eacafL,0x14b35f752518c8d3L,
  86939. 0x5094c31a411c5a07L,0x80aa1b8a6623c16dL,0x00000000000001bfL } },
  86940. /* 56 << 504 */
  86941. { { 0x9aa63d02cdcf2ceaL,0x5723ddf40c02861fL,0xe2642a0fb5f899a2L,
  86942. 0x2066e595ff9a8295L,0x09a1e790cab91b8dL,0x01ce51d5dd4de2dfL,
  86943. 0x661e1d8ba91a7c90L,0xad71031cabcc182aL,0x0000000000000002L },
  86944. { 0x374339b7290a7058L,0x42e89d09a15f4303L,0x8ec108f35cf10478L,
  86945. 0xc13a2d048f10111eL,0x98a8386ba87259eaL,0x2039e70ef38794edL,
  86946. 0x5d142439e8b922faL,0xf9af7e06caa6f96fL,0x000000000000010aL } },
  86947. /* 57 << 504 */
  86948. { { 0x04879dfe6a2ed236L,0x77038ae59d6d8c40L,0x2bd91ed47b88661bL,
  86949. 0x7d66fdd1efec46eaL,0xc25adcbe1c315781L,0xc26b39782b2936f5L,
  86950. 0xe88f1265bd9c530bL,0xdf6dc2bfadd1306eL,0x00000000000000ddL },
  86951. { 0xb105f92eb6bf1010L,0xff5971d686b2fb4eL,0x57dcbd9c796d21d9L,
  86952. 0xca5e8768c6ca78a2L,0xd45c6f483a77d271L,0x87510561077977e3L,
  86953. 0x50a4d3b1f03a3df7L,0x6d6487051a921d24L,0x00000000000001d8L } },
  86954. /* 58 << 504 */
  86955. { { 0xeefdb850013f564dL,0x10005fb12555de7fL,0xa2974fb059b20bc5L,
  86956. 0x12544629137bfcb1L,0x8825f36f940b7f02L,0x628241621e47d20dL,
  86957. 0xcf8c26e06e353253L,0x9abafc166e5e0754L,0x00000000000000b1L },
  86958. { 0xbde39c9a360d199fL,0x51dbeeca981c811fL,0x221f8008941f52acL,
  86959. 0xf807c3dd0759984aL,0xa8fe7157b30a65e2L,0x4e3a799cd1894cacL,
  86960. 0xf4b935eb2164eb00L,0x6c3792c0bdce96feL,0x0000000000000014L } },
  86961. /* 59 << 504 */
  86962. { { 0x1fd42bbda9198a11L,0xacddf8f2753687f0L,0x43d36ae6608ff4a8L,
  86963. 0x216457684c59d30bL,0x93bcac7770397bbdL,0x8e90bc116c01a663L,
  86964. 0x95771938531cc0e4L,0x2075e6e5ba8ec166L,0x0000000000000115L },
  86965. { 0x06c9883d44df0f72L,0xcba38ada86240567L,0x8b1d6a7a6765cca4L,
  86966. 0xba76644c5013d624L,0x4e1261cb40b8f5fdL,0x0d0f9598c47fbe89L,
  86967. 0x6ab7a704f44977e6L,0xd07aa31acc08c06bL,0x000000000000006aL } },
  86968. /* 60 << 504 */
  86969. { { 0x7b8418f213402889L,0xc8b3b1fbffc1d05bL,0xc3746149da384c02L,
  86970. 0x3ea1be4b2491f86eL,0x694ebec1df96386bL,0x16e114752f4f39abL,
  86971. 0xa042cdd70b357d4cL,0xc769a1b67fa71919L,0x0000000000000077L },
  86972. { 0xa51c483cabd2c768L,0x1cf05c6c7b0db8d0L,0x8ae60ab9eb16bb67L,
  86973. 0xd2d75ed8531d5cd3L,0x5e9c20a46c476eceL,0x794a41fc8209e94fL,
  86974. 0x0da3bd97c01ab9f8L,0x83682c72b3a18c74L,0x000000000000013bL } },
  86975. /* 61 << 504 */
  86976. { { 0x6dfdecfaed5deee9L,0x09adb9fae0897b6aL,0x9291b38089b471d0L,
  86977. 0x2f2df6bfd95ba0b4L,0xbc44d08fb5564882L,0x2217b76cda298b3bL,
  86978. 0x3cd6025f972f3b35L,0x9f6daa7db04ed8c2L,0x000000000000005dL },
  86979. { 0xb08ea52022feb51aL,0x40dde4545059e8f9L,0x47d16db04a9e1b07L,
  86980. 0x47d4d1d19faa1affL,0xcc720686bd48f06dL,0xce3ffd573ce5f368L,
  86981. 0x03789475048a878cL,0x163c7421eb4ac6c4L,0x0000000000000088L } },
  86982. /* 62 << 504 */
  86983. { { 0x097575c0b0812157L,0xb6c24f4ccdf6b760L,0x8ae073f297c5e905L,
  86984. 0xfde1488d6ca3a648L,0xb758040f8987147cL,0x6f894fdd869e28f3L,
  86985. 0x123cc1be7110e0c8L,0x039fa2bee9e9a359L,0x000000000000010dL },
  86986. { 0x92986cb50a63a55cL,0xb7669237de5e1cfdL,0xd6a1c865196de727L,
  86987. 0x10345506215d79beL,0xa398a1557075f3ccL,0x82fdd1af7bfa5d76L,
  86988. 0xe8e47652a81532acL,0xe5a95521bff4cc65L,0x000000000000003eL } },
  86989. /* 63 << 504 */
  86990. { { 0x9b578eaff318749eL,0xf68770442b6052c7L,0xb3d507b51cb82483L,
  86991. 0x25504c1ca62c3df6L,0x57caf5be0a74d81eL,0x09fa69a1666c57ecL,
  86992. 0xdf66521cb8e4c36bL,0x02a68a2f0dd04c8eL,0x00000000000000b0L },
  86993. { 0x928aa60db5b35d53L,0x10e8be306c50bae7L,0x361aaed1f0adf725L,
  86994. 0x01168db479a6b055L,0xb9e4511c0bc87e60L,0xbae0e9bff45879e4L,
  86995. 0xe55823837ab6e8e5L,0x4bcb4072658c5b05L,0x00000000000001dcL } },
  86996. /* 64 << 504 */
  86997. { { 0xfa5944257d7d3912L,0x208af690f57dc595L,0xa277e9808287e9a5L,
  86998. 0xfe15c6e2d556fa0bL,0x4b4612ee81a8260cL,0x6e171bd7cda05ab2L,
  86999. 0xc417d3d1de584e28L,0xaff5e9b98eff9ff5L,0x0000000000000188L },
  87000. { 0xb0700568c6c3151aL,0xccd55dc01f049293L,0x7c6e61ab443d10a0L,
  87001. 0x9c2c964b0a4546a9L,0xf470d97e7fa4474dL,0x378d416f74b749fdL,
  87002. 0xc821766f1d9fea8fL,0x71c9fab02e3d8dd9L,0x0000000000000027L } },
  87003. /* 0 << 511 */
  87004. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  87005. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  87006. /* 1 << 511 */
  87007. { { 0xbba0d1f988468571L,0x4b15325d14edf415L,0xba40ad2e5b315437L,
  87008. 0x4cce24b45214deb0L,0x33ccc948f3217ca3L,0xc9a387c88d2d7d56L,
  87009. 0x19c908921569445eL,0x6b925ff0c50a9417L,0x00000000000001afL },
  87010. { 0x55fcfc767fa33215L,0x2b7b66383e2b25b5L,0xb765a15b602d0860L,
  87011. 0xefdebace1a252b65L,0x8117e367f315947eL,0xbdd3a76a501fa6a2L,
  87012. 0x0f224474f4b0cc16L,0x694e2254515f0dcbL,0x000000000000013eL } },
  87013. /* 2 << 511 */
  87014. { { 0x22b8eccb56b092a2L,0x0a47d70e736ea9aaL,0x3eefc772d64a7d08L,
  87015. 0x85408cecbb2e0f14L,0x73047afd285cb70eL,0x1732f01663297a2aL,
  87016. 0x4dfe656a4cf37eacL,0x147d6d66c0ec357bL,0x00000000000000c7L },
  87017. { 0x1f3e59103c115125L,0x0d2d18fcbfb07241L,0x5d6aa860ba4b009dL,
  87018. 0x8d0d9368806ff8edL,0xcc5ca3701a05c049L,0x7bf21caee9ab4c41L,
  87019. 0x6632c3e0001d5ccaL,0x3a4f99b6b60e5593L,0x0000000000000008L } },
  87020. /* 3 << 511 */
  87021. { { 0x67f918a4e83a74c7L,0xb5b93d318aeeb8daL,0x04f033bddf8b5ab2L,
  87022. 0x8625cb2864df3389L,0xeeec07936b2c8470L,0x7af4facc85a3edf6L,
  87023. 0x3c591c09ce38c9fdL,0x56714b52dc84e5aaL,0x000000000000000dL },
  87024. { 0xa6fa0f8d93455dfcL,0x9436150e130b8d9fL,0xf87d15ea9c4e016cL,
  87025. 0x9845852f510467aaL,0xe512bdcfb63d9a99L,0x820a8b737c6c01ffL,
  87026. 0x30dcf512698b9654L,0x3917e6a8bc52d8e3L,0x0000000000000062L } },
  87027. /* 4 << 511 */
  87028. { { 0xaed7666ae6b2853fL,0xa1fc0332be96140bL,0xb99a5dc81c1e38b1L,
  87029. 0x56194675f38c5243L,0x16c6f80e80d38681L,0x1117841314205f46L,
  87030. 0xd2dc67bc6ee03089L,0x5e18245ed3dad965L,0x00000000000001e3L },
  87031. { 0x389e59cafda7741eL,0xf341d649259e4dcbL,0xec15d27a260b32b0L,
  87032. 0xf3a1a08207640ceaL,0x15ac31456e811313L,0xb9027ce47cf68896L,
  87033. 0xb43e4fd77008a356L,0x541aa5b4640c2c60L,0x00000000000001c3L } },
  87034. /* 5 << 511 */
  87035. { { 0x9a29c770d75994f6L,0x324345412f6c1df7L,0x8339d6aef2b285a4L,
  87036. 0x8bb1ff0a6feaab2dL,0x8f9137cbcc3a0a42L,0x19e09b7c1e385985L,
  87037. 0x8ca610ef45e2f771L,0x8482833a4b37ae8fL,0x000000000000003eL },
  87038. { 0xa305da774a619736L,0x9f3bb1d47475f158L,0x5b30ac0741aa2ff4L,
  87039. 0x19963057a9bfc2f6L,0x89a3d94d1f12dadbL,0xb5da354359d81991L,
  87040. 0xcaa559b88668161fL,0x2cbb1a1af8ddae34L,0x000000000000006cL } },
  87041. /* 6 << 511 */
  87042. { { 0x3c32f4e34cb99695L,0x0db56646c1241e0cL,0xa4cea13b28515d66L,
  87043. 0x1c8f63975f3ab5dcL,0xd466a1b34defd3ebL,0xcdbb66b5e6d860d2L,
  87044. 0x26fc2fd5fe87183eL,0x02d81a03d18233a9L,0x00000000000000d2L },
  87045. { 0xdc570644caa08959L,0x7791cc35cf763c20L,0x3c0dc132272a1068L,
  87046. 0xd7ad702cc8a74578L,0x7689c46eada1d72cL,0xbfc2e06f2b8b4369L,
  87047. 0xde85e36ec0bbd6c4L,0xd879e086f9849084L,0x0000000000000077L } },
  87048. /* 7 << 511 */
  87049. { { 0x35702db34e0b5199L,0xbb02636c273c5fdeL,0xf73cabb563fc329fL,
  87050. 0x1a280b288c1addefL,0x4844dcd4422f07d6L,0xdd6851167518acd7L,
  87051. 0x9ff8c1efd2bd73e5L,0x9465a3b26afb5416L,0x0000000000000194L },
  87052. { 0x1d68a6e413b729ccL,0x10758206a54e8db6L,0x20f8fbba9708de79L,
  87053. 0x1c5eefd2c1abd968L,0x3c7742c2525f1fe4L,0x3175190b2c612f17L,
  87054. 0x4020af7742207e24L,0xde4bed37fa5fa6c2L,0x00000000000001a9L } },
  87055. /* 8 << 511 */
  87056. { { 0xef192aeddba16581L,0xff1342112e8db0fdL,0x32551c61bdca8d0dL,
  87057. 0x96e1ff06c55b9aa3L,0xa211b1107e4c635fL,0x2708e5427c4b6b4aL,
  87058. 0x70ff7c3fa6575526L,0xd26e2db636092ec8L,0x00000000000001aeL },
  87059. { 0x1fafd3c2533251d0L,0x1602462d8a9a439dL,0xc057595a1cc5af27L,
  87060. 0xa27197f3be839c9aL,0x03c1cc4bbfc1318aL,0xb78c7b7f34d0a378L,
  87061. 0x0f9d754e161b4257L,0x8dcf43cbf355d916L,0x0000000000000194L } },
  87062. /* 9 << 511 */
  87063. { { 0x9181244f3e0d4347L,0xb189acf795b45d19L,0x8877efde70a55c91L,
  87064. 0x924b0d70c1d9c777L,0x7c3a5a49b703ad70L,0x72c4fad3e44f1b1eL,
  87065. 0xc1efa48525544d96L,0x1f6ee5617af50683L,0x000000000000000eL },
  87066. { 0x518630dd1fa2e8dcL,0x3507130b38be0359L,0x989190f52993ccfcL,
  87067. 0x793361df738a29bbL,0x44700a46d43eebf6L,0x03622bdca60b214bL,
  87068. 0x956992cddd6703c9L,0xd85935a3d7ee66dcL,0x0000000000000148L } },
  87069. /* 10 << 511 */
  87070. { { 0x51df490ddc3577ecL,0x6d8a70e97e28be3eL,0xd87a7ed31de95e73L,
  87071. 0xf97c968da6c7086eL,0xc47b64dc6b4afe00L,0x489f1d988b432676L,
  87072. 0x9f2b7996f72c2153L,0x4acd5ae8f820af70L,0x00000000000001a9L },
  87073. { 0xa5cc854bd7263fcfL,0x7bd94b2f864febf7L,0xb3def0ff9460c5d4L,
  87074. 0x5f0766b5042d47b5L,0x9e8484f28ae51b32L,0x26ec4ea6f8c729e7L,
  87075. 0xf279d7336c2ad315L,0xb2d22e6edac3e8d0L,0x00000000000000f6L } },
  87076. /* 11 << 511 */
  87077. { { 0xc9b6366728cbdea1L,0x6920862b9e8756dcL,0xd522608028c90b04L,
  87078. 0x52f9c421f5bde803L,0xe075ad1141b5ce80L,0x2aeee7e51c04e56dL,
  87079. 0xcc6053a428eb7657L,0xb523d16d4cfcb113L,0x0000000000000041L },
  87080. { 0x33028ceb6e812f6eL,0x654b5ffcc2cc46ceL,0xc9d28de56f143379L,
  87081. 0x6ce0fd8343a626dbL,0xbcc0a10be9fdcf7eL,0x50b2f0747119a936L,
  87082. 0x91b1782d11f4af5cL,0x7472e053ed0b5481L,0x00000000000001edL } },
  87083. /* 12 << 511 */
  87084. { { 0xb2b4d4085967b43cL,0xc660c6c1f35923d2L,0x696d9140a27fde01L,
  87085. 0xfcd766eb259432a9L,0x6831fde1cad2a4e0L,0xa157be88928838eaL,
  87086. 0x4b31c1d6791d2740L,0xf1958bba850a1760L,0x0000000000000085L },
  87087. { 0x23a6800ed777e0d8L,0x84d2780d71cb04d2L,0x691076f7d7a8f688L,
  87088. 0xcff1a453e2237b7fL,0xb1d9dd8f0a9037d4L,0xface3a31d9199814L,
  87089. 0xff7bfc81da563993L,0xa0f655abc61dd36eL,0x0000000000000111L } },
  87090. /* 13 << 511 */
  87091. { { 0x9199785a30677670L,0xc74d3404c0ade42eL,0x8ce0d96b0613519fL,
  87092. 0x3c7c64533e40200cL,0x02cd19101dbe0935L,0x0c37218968cc3a24L,
  87093. 0x51887d02a1588133L,0x33757613c105adcfL,0x0000000000000032L },
  87094. { 0x74a955d103f1fa25L,0x518b2de6fb22b0d7L,0xfa48229fdfe08961L,
  87095. 0x47df7eebb4cb58d9L,0x5b9c683f4601e92aL,0x4a3a2c3f81d5dfd8L,
  87096. 0x15d6b44f4a5c99edL,0x6646f77e020eb968L,0x00000000000001c5L } },
  87097. /* 14 << 511 */
  87098. { { 0x43c5bdf15d73ed9aL,0xe3766738e71c6e7fL,0x625cb8c43947ea97L,
  87099. 0xadf7ccc082241ba7L,0x629f45b307329130L,0x9cfac1748d0c281aL,
  87100. 0x92069e577d14ca06L,0xca121495dc9f83a5L,0x00000000000000cfL },
  87101. { 0xf4e6da377de97fccL,0xd3a271b7025d39dfL,0xbf2ebfe8389e12eaL,
  87102. 0xf434f29932f184f2L,0xfbc3ccb9366ef539L,0x4e159cdacdef4a8fL,
  87103. 0xc311bd82b0f0bb8eL,0x380b2eb1779669adL,0x00000000000000b8L } },
  87104. /* 15 << 511 */
  87105. { { 0xfdaa86c09b3aac40L,0x7dad3911133885d4L,0x09897075e7c6b586L,
  87106. 0x79f816ab78daf275L,0x914786aab75eab7aL,0x7713bfd59584eaa4L,
  87107. 0xa7e01a7440496a4bL,0x165c6601831641c8L,0x000000000000010cL },
  87108. { 0x73be34b6f05c5a20L,0x7ef7738886b6d280L,0x872cfe9eaa2fc4c6L,
  87109. 0xa56cb3513c57c990L,0x7b533f43964fd18fL,0x036822e86d1c2d7eL,
  87110. 0xf59ffb19ddce594aL,0x823a71fd3d012d0dL,0x00000000000001f3L } },
  87111. /* 16 << 511 */
  87112. { { 0x9a0062d31c2df559L,0xc130a85d2d4e9996L,0xb226e6cf370a02f6L,
  87113. 0x3fa94ade7386b10fL,0xddec1e75d4576547L,0x0251109d1dba7f8fL,
  87114. 0x9a3f5313c3a003a9L,0x4742778bab26e65eL,0x0000000000000094L },
  87115. { 0x828ca5adfb997e14L,0x3826b0be65001ed7L,0x53fb9cd3cfec55a5L,
  87116. 0x53e96d2831a1b7e7L,0xb5cbfde924f2dfb5L,0x3a26a665e944f4a4L,
  87117. 0xd637639834e527b2L,0x709e156dedadf5b8L,0x000000000000018aL } },
  87118. /* 17 << 511 */
  87119. { { 0x35cf82a447dc8eecL,0x321037e6a09222b5L,0x27a2eded92b90121L,
  87120. 0x27f5b4de081ba487L,0xc7855daee753515dL,0x4454e808f3591d41L,
  87121. 0xb0b1bac6d009559eL,0x89b3ca825e2e4cd7L,0x00000000000001e9L },
  87122. { 0xb84d611afe9e0356L,0x1c90bc63e04ffc14L,0xf6a8250546133950L,
  87123. 0x95c570d8599722d8L,0x6bda993379908046L,0xde91eb54417a3742L,
  87124. 0xb87c0e1adedebb29L,0xe1a3b0370fc4207fL,0x0000000000000166L } },
  87125. /* 18 << 511 */
  87126. { { 0x412eb9d00d3825aeL,0xed91e11c20b658ebL,0x0da403aee6918918L,
  87127. 0x8ec67ea3b084b920L,0xa213aa3a1f3d3ff2L,0x21dfb5519efc3cadL,
  87128. 0x30ee2a8a19845c68L,0x07b47d281835550aL,0x00000000000000b6L },
  87129. { 0xb3ef46192657bec2L,0x607d10122cc2c528L,0xa86d31edc07db93eL,
  87130. 0xc07b3da980c25cf2L,0x5c56cd075c83c1f7L,0xf32a98b3a0d7ea59L,
  87131. 0x5f1e6fe10cef77c1L,0xfad8a85ec5b5a9b7L,0x00000000000001d5L } },
  87132. /* 19 << 511 */
  87133. { { 0x31a101bb4067b430L,0x5c825d7d1311d821L,0xcd7b3b4589274960L,
  87134. 0x3d1a68f1f9774bd2L,0xb0807f2674397634L,0xa36f44f5f95f9f93L,
  87135. 0x55f6d9fbd1943507L,0x2f86208dec85260fL,0x00000000000001c9L },
  87136. { 0x3dc94ef8f634d6fdL,0xb924b8297d89b934L,0x2479d0aa6b8f4da3L,
  87137. 0xd6c651f63d5f8200L,0x43215c18aa04ae4aL,0x76dcb5b5408f7727L,
  87138. 0xae66f252907a0f8eL,0xf528e4222387bab1L,0x0000000000000046L } },
  87139. /* 20 << 511 */
  87140. { { 0xab146802bc0d4745L,0xf767df8ffe603917L,0x2bbae80c1988e88dL,
  87141. 0x69e9c7e1cfde1857L,0x25a609f58a7c8c60L,0x46bcbd1b57cf84d4L,
  87142. 0x89ae0be245c52763L,0x13482d1d98558305L,0x000000000000003aL },
  87143. { 0x66ac9ee936a3d944L,0x6822ce1171ec895fL,0x8c5f2551938d1792L,
  87144. 0x7d5157bcdc481d3bL,0x0aab532d63fa5debL,0xad1fb55b99adbfe7L,
  87145. 0x5338d6ca9fcc46deL,0x84b2a63bae3aa998L,0x000000000000018eL } },
  87146. /* 21 << 511 */
  87147. { { 0xb2dcb83ac5a10aa8L,0x93a449f901878026L,0x91f2d986f475e7a7L,
  87148. 0xc6a6be5fdd461273L,0x8dcbd0524f0e65daL,0x48d908800b3a8247L,
  87149. 0xd0306f8630fc4481L,0xa4ed5cbd7f05a36aL,0x00000000000001edL },
  87150. { 0xe6a4688114185d74L,0xd20cfe6e0d17aaa9L,0x48b5ebf4b67cbf53L,
  87151. 0x00ed88d0eca0b0e5L,0xa184ea8a01795a9eL,0x2a26f41a8b1e4ab4L,
  87152. 0x1640fbfcf7e86bf4L,0x49379fd35b08a012L,0x0000000000000160L } },
  87153. /* 22 << 511 */
  87154. { { 0x220024890128270fL,0x60df1294574584f3L,0x80da07d1339afaa1L,
  87155. 0x49cb3fb54873bbe5L,0x5e274ce99e32907eL,0x2ab695c69c2bd23bL,
  87156. 0x63a53145084084b6L,0x881ea559b7c43b59L,0x00000000000000faL },
  87157. { 0x3d9de6ffec7f7938L,0x1b40e323c53223bdL,0x2b6f33785d3fce2bL,
  87158. 0x5a16083f94bf2ff0L,0x4da0ae8fc30458b5L,0x743dfc12f0d0b1c2L,
  87159. 0xffe8b8591863d312L,0x1fcba995114da460L,0x0000000000000065L } },
  87160. /* 23 << 511 */
  87161. { { 0x0ef498c2fda0bc58L,0x84f03c51e18d1f4eL,0xada00b832b89b834L,
  87162. 0x2ac43953cbf7d8fdL,0x8a7a37ddec0eba45L,0x24ed7dcfadafee4dL,
  87163. 0x2e900677c0a554d5L,0xc961ce69f179b0c6L,0x00000000000000c5L },
  87164. { 0x21769ee979d32556L,0x14c417fb317b715dL,0xa2848ec69b034410L,
  87165. 0x651c9465f29126dcL,0x08446de16d88dbd4L,0x3b03622149b26d96L,
  87166. 0x2d9102293b1512a3L,0xc909f04560ab613aL,0x0000000000000032L } },
  87167. /* 24 << 511 */
  87168. { { 0x119638ae44d87d78L,0x8980cddeff77f891L,0xb001aa0f2e3c9f32L,
  87169. 0x8cc959d96c93b9a3L,0x3889ddd42516f042L,0x390fb5c1b2d34007L,
  87170. 0xa39b106f093e4a57L,0xcb1856652168bca7L,0x0000000000000015L },
  87171. { 0x85adb26d33e39fbfL,0x68b6c5946ed3932cL,0x320813886ff4fb12L,
  87172. 0x24b50dda14c7e9f7L,0x3e84edee6eb8db2cL,0x0d0879a304222282L,
  87173. 0xd091b141db79827fL,0x41c1ea1c63d30563L,0x00000000000000c5L } },
  87174. /* 25 << 511 */
  87175. { { 0x33b7058ab3cb6db3L,0xe247bc85c826ca4dL,0x430cecac23018f67L,
  87176. 0x2d633897b9e1fe93L,0x93de63d283b8bac6L,0x84deea4de2294567L,
  87177. 0x9116e7bfd9d60cf1L,0x32715396bb9627e7L,0x0000000000000020L },
  87178. { 0x49452782bbea6240L,0xa0247a9b29a23527L,0x7576093c9e6ad610L,
  87179. 0x3d7cce9ba983807cL,0x3cae59f6e5b737c7L,0xec383fbf5090c8caL,
  87180. 0x3c09262f7fb72ae4L,0x3cd1a9d116ad7cceL,0x00000000000000a7L } },
  87181. /* 26 << 511 */
  87182. { { 0x394547b643684ad6L,0x27c93a87a4efc0b7L,0x97914b633832c7ecL,
  87183. 0x89291edd995801b4L,0x1b7e633b9ed8dfb4L,0xa2a21e650cf5637cL,
  87184. 0x4afebef08428be9aL,0x527fc65f42269b08L,0x000000000000011bL },
  87185. { 0x30099375278302baL,0x0b15cc9a6b1ade38L,0x6b6ad14ea4bb5288L,
  87186. 0xc0dbbe3f6425657eL,0xa611247f7bc91657L,0x0ff0aa026ba54b82L,
  87187. 0xa695a6941a44fa38L,0x7ff5f88e2e491f15L,0x000000000000005fL } },
  87188. /* 27 << 511 */
  87189. { { 0x98fbc213d8430bb6L,0x785226503a768732L,0xc44c1313c77b0847L,
  87190. 0x61de63d2a21a8f5cL,0xc57d7ad64ee27d3cL,0x0d70a8414f19405fL,
  87191. 0x696647aa7f6721ecL,0x067d6891c409e1e9L,0x0000000000000025L },
  87192. { 0x4188632f2b8f5085L,0x8e9b1a3789693e29L,0xd12668d218a2eb06L,
  87193. 0xf3aed630596b2ef8L,0x1f8368bbc0589c86L,0x4722d8261eb0b305L,
  87194. 0x797cf073488c1be0L,0x835aba08032ba315L,0x0000000000000154L } },
  87195. /* 28 << 511 */
  87196. { { 0x6994d68d7acdb128L,0xea6c1bcaf3e42194L,0x45b4e1e5c14a3782L,
  87197. 0xc1d3ff5ca5089907L,0xc7d8b8bab2ecc0c8L,0x5756897b8af09517L,
  87198. 0x54248bc42d37631bL,0x4ec2b153748dc34dL,0x0000000000000018L },
  87199. { 0x0be76102bcd4b8f5L,0xf59b6d2fae1fbc73L,0x3a82d42614de6312L,
  87200. 0x603fd1ba99d221deL,0x31371c44349ada8dL,0xecb2cfab22e3eea0L,
  87201. 0x5134413e744a9e46L,0x1d91fe459e0de97eL,0x0000000000000042L } },
  87202. /* 29 << 511 */
  87203. { { 0xbe0d267fabe7ca12L,0x00aa0e5de45c1440L,0x3f943a133936bcebL,
  87204. 0xbe7e6ee2c10a5afaL,0x9a05de6433854a57L,0xd2635265bd538c38L,
  87205. 0x2d8b1ee1bc23b270L,0x1b817b956662d16dL,0x000000000000005bL },
  87206. { 0x0b34b0d6993f32abL,0xd29e841ca594d824L,0x659f13d59ae853cdL,
  87207. 0x50bd99b1f134a1ebL,0x96185d6777657f3bL,0x9866e7a14b16d264L,
  87208. 0xd6f7f2ac20d2efc8L,0x27030aa51ea5a842L,0x00000000000000c1L } },
  87209. /* 30 << 511 */
  87210. { { 0xca2a69328e4c1bb9L,0x5406d95b89a810adL,0x181690a007059605L,
  87211. 0xf6b80571db36c201L,0xcdb7ceefc0da0fb1L,0x0e0f2c08382dd238L,
  87212. 0x530c9a2e943fd3d9L,0xc14d7c55a5f3e1f4L,0x000000000000005fL },
  87213. { 0x38c5afdfccf6ebc7L,0x9f2e2d25f0d0c1b8L,0xcb96d5873af9bf69L,
  87214. 0x150f940c89391daaL,0x5d80c9765901c338L,0xca2c7c5f7134a0b6L,
  87215. 0x615abd199a37b224L,0x03504959e2b8790aL,0x0000000000000067L } },
  87216. /* 31 << 511 */
  87217. { { 0x99d98ce9c151c763L,0x45d75a156c9f8403L,0x398ca5858ad4d96cL,
  87218. 0x5aea77ac7ab5a6e2L,0x31daacac60ca3cd8L,0x0be70a0c33089a45L,
  87219. 0x37d11b417ae57ec8L,0x0daa79b92b36c7a1L,0x00000000000000fcL },
  87220. { 0x86fe4b66e6bfbeedL,0x471e1284dbc755aeL,0x93f985d974ad1658L,
  87221. 0xfc9301d7c5cfe717L,0xcdfec01a08b28faeL,0x38a8a97d15684b4cL,
  87222. 0xef3c8e4da413cd92L,0xa3a9ea581f848825L,0x0000000000000038L } },
  87223. /* 32 << 511 */
  87224. { { 0x1d45c5c8dd04afceL,0xce141a50bbd9c392L,0x44ca5fa5c9e0fc05L,
  87225. 0x4b9496ff60ccfb3cL,0xbe260bc6db5552a6L,0xa0eabfdd7d3a7a09L,
  87226. 0xe9cc06ae1c77c1f9L,0xfa792d042aabee9eL,0x00000000000001dbL },
  87227. { 0xf2224e6f72765171L,0x3f9ea54811b89e04L,0x1e07c6eb138f1a43L,
  87228. 0xd9b61817621f1f7eL,0x08e851aa2f69af1aL,0x3e75da6fc0d63f32L,
  87229. 0x49a72d31f0f0d74dL,0xfccfc561c516a10cL,0x000000000000009fL } },
  87230. /* 33 << 511 */
  87231. { { 0x50f7e4f10a927e25L,0x21a09f957b043982L,0xe57eb5d0a7f4ae19L,
  87232. 0xaa5f21c688c23fa0L,0x345eb906b671a416L,0x3f75a771e1cd246eL,
  87233. 0xdcb1400211d9833bL,0xcf9f9effd4757fadL,0x0000000000000027L },
  87234. { 0x8cc47957a51fbfd0L,0xf2f7514db21b49dcL,0x342c1525b167a27fL,
  87235. 0xd9189df73bfe544bL,0xf1e992d72ef945cfL,0xbdb74deff88ba1f9L,
  87236. 0xfd978291b82afc9fL,0x64c2d06b8072b2ccL,0x000000000000004eL } },
  87237. /* 34 << 511 */
  87238. { { 0x02b8ce6504071b42L,0x846c0eca3f395d37L,0x5f02aa27aa3c2f7dL,
  87239. 0x6812ff735c5b86fdL,0x617425a2fed24a25L,0x8c4aa371a388dc78L,
  87240. 0x866aabc850041de7L,0x8634b3cbd1ff9bdeL,0x0000000000000193L },
  87241. { 0x0b64b43ea717f98aL,0xfc2f70a8c9b0fe04L,0x00811a41e3545cc7L,
  87242. 0xe073c45bc396da28L,0x56fe07f4905ade48L,0xb123dab359ca3c9bL,
  87243. 0x155282356f0803e0L,0xd66e80e281b40eb2L,0x0000000000000141L } },
  87244. /* 35 << 511 */
  87245. { { 0xe6df057a87307af0L,0x57673587e4a49774L,0xb4626535243828f5L,
  87246. 0x74f829480d6b51b3L,0xcb1c59f43de3f59dL,0x34e8ac234df85c57L,
  87247. 0x363c7f11a6d0c631L,0x050904e0163f8845L,0x00000000000000ecL },
  87248. { 0xa2d31e7ae522c580L,0x2192828a1418a8e4L,0x8bf7419f81f5c03bL,
  87249. 0x610522a6cf674c6eL,0xd038897d6b1d1b0cL,0x3ecb81e6b9a1192aL,
  87250. 0x0e88a8d53e80564bL,0x395f9bf85d76c33cL,0x0000000000000032L } },
  87251. /* 36 << 511 */
  87252. { { 0x5390df114314f744L,0x545733637f8ff5eeL,0x22442fa33849bbf4L,
  87253. 0x1c462aadb46045f4L,0x2b0758050817d8a3L,0xffd73fc3f5669e27L,
  87254. 0x546917fa1aa20f00L,0xb7143ce6713fb9a7L,0x00000000000000b5L },
  87255. { 0xa4c372206dd0bf11L,0x52731f73af632b4bL,0x7c309663118ea369L,
  87256. 0x076a35880a8a687bL,0x07e93992e0a835c4L,0x7e5f1bbd4bea801cL,
  87257. 0x3b3f6fdc83bc661aL,0xdb55c7e2364cf3a1L,0x0000000000000039L } },
  87258. /* 37 << 511 */
  87259. { { 0x4f6b908de90be946L,0xe1f9650ffb405564L,0x1db8139fdd3a7d6bL,
  87260. 0x71d6a50705d77cd1L,0x3b858f748f73a748L,0x217b6c7d9298eb99L,
  87261. 0xbb713b613fca2518L,0x676e6f89d0dea256L,0x000000000000016cL },
  87262. { 0x05c293ef29c8372aL,0xd3f26db950326885L,0x66177b402cea076cL,
  87263. 0x5e590103c94a3e60L,0x12f5268c5f24c0e7L,0x79cb7296cd30051dL,
  87264. 0xc7c9b49b4b77f8fdL,0x8a19a8c92fa04a11L,0x0000000000000002L } },
  87265. /* 38 << 511 */
  87266. { { 0x22401bc6535dfb08L,0x893c44e95b4abfddL,0x3ea62c91a4e38edbL,
  87267. 0x5b2bc290ca12f3ffL,0xec707dd69051cbf2L,0xb07a24f8e229c022L,
  87268. 0x30ef2af96883d74eL,0x2ff30fbdcb8b1f4aL,0x0000000000000108L },
  87269. { 0xdeda6c35fb49ddd0L,0xcbd14fcfe75c49cfL,0x1e4bc372ab2fbcccL,
  87270. 0x9b3a3efac145242fL,0x6ce05f8162c39e2bL,0xa5bc8d92adbfae6aL,
  87271. 0x171424988855b100L,0x29892ee2b0f012b1L,0x0000000000000056L } },
  87272. /* 39 << 511 */
  87273. { { 0xeeb9875d19d809c6L,0x8dd24196e2064977L,0xabf1f5c25807f8cdL,
  87274. 0x317fcb9d75d9af79L,0x0bd27847641a0dd7L,0x52fdf8fddfc25539L,
  87275. 0x0bb20880b72d79b4L,0x7403cab9b050f06dL,0x000000000000008cL },
  87276. { 0x39ac8805f83224eeL,0xe74625294c06d65cL,0x9dd00df370d5aae3L,
  87277. 0x8ddaf294a460289eL,0xaad00c0b8c2b12c8L,0x897fb3d5c570bcabL,
  87278. 0x7f069c7b7d06c691L,0x40f5a2d2f44b375fL,0x0000000000000147L } },
  87279. /* 40 << 511 */
  87280. { { 0x66fba7b2e7441cb4L,0x9703fa4d0edf3396L,0xff524baf4f3a5b75L,
  87281. 0x9a8f25db1d173b34L,0x29d81a1a1cdb278aL,0x4cffa124a410cdeeL,
  87282. 0x5388c4036feec1d2L,0xcd9411a470cc643fL,0x00000000000000cfL },
  87283. { 0x7b229e6550e05667L,0x3175d10dbbdddf46L,0x9dfefe2390b31338L,
  87284. 0xf97db78253a89eeaL,0xcb8acd29da67068cL,0x61c34b5725f19838L,
  87285. 0x856cf76a6c605d31L,0xf4ae77b201effc73L,0x00000000000000d0L } },
  87286. /* 41 << 511 */
  87287. { { 0xaf3cf777a26b8056L,0x5c43dd61241360a6L,0x58b083c67fdb2f60L,
  87288. 0xd2e7c4c8d351c4e3L,0x3dd61d56f94892e7L,0x195876a7e8995a49L,
  87289. 0x01a0a17dabe083d9L,0x52beb3136552590eL,0x0000000000000066L },
  87290. { 0x1a3347effc405688L,0x26bd6de805ecb62cL,0x857d636da52f40baL,
  87291. 0x58a784783188a7a7L,0xe0ea2b9cfce84abfL,0x2fdf6d3e5a673decL,
  87292. 0xa18d4112bde7405cL,0x4271c5f9c015e112L,0x000000000000010bL } },
  87293. /* 42 << 511 */
  87294. { { 0xf370ed52a459ca74L,0x7cf21ea4025cd3f2L,0xf925a200a1bbac0aL,
  87295. 0x3abcad9afbc36076L,0x10ff56a08e382f60L,0x2f72b3e29adb35bfL,
  87296. 0x57e668316c2a7131L,0x6201c63b1cfb3b53L,0x00000000000001e6L },
  87297. { 0x6fc57e654e3919cdL,0x5d34bc0e789ab429L,0x0f1401b897c4f56bL,
  87298. 0x1ab6888a8678c37cL,0x90c07e9d168f4c19L,0x9c4fbaadf2f7efa0L,
  87299. 0xd917c926142b5340L,0xd92f2667a5ca3f5dL,0x0000000000000173L } },
  87300. /* 43 << 511 */
  87301. { { 0xc8625d648fa89b66L,0xd7a2e7ef484c0085L,0x296d5cec57a26972L,
  87302. 0x624e03edc087e675L,0x3eaedbd4bcc8ccf4L,0x24267aa04f5cab98L,
  87303. 0x494f2a3554d6a0c3L,0x4782932db4554a33L,0x00000000000001deL },
  87304. { 0xf2ea212c17c4784aL,0xdbfc5551c152619cL,0x2643df61118f875dL,
  87305. 0x6577ff540fb8865dL,0x2653fc8fabd035f6L,0xc1ae1c669ed7ef7bL,
  87306. 0x4d602fb24a25ccd2L,0x6391a7332afe8120L,0x00000000000001e8L } },
  87307. /* 44 << 511 */
  87308. { { 0x04b2f9f2ccbe7de0L,0x8870c0dae6c58facL,0x69fceb5b23174377L,
  87309. 0x8f1ad157f12131c8L,0x3e925501ee3048cdL,0x96a0b31e386d5003L,
  87310. 0x586a530340e9c76eL,0x517d83e314857a31L,0x0000000000000115L },
  87311. { 0x4d02d42902d8ecbbL,0x68b811f62e9c8238L,0xe213c3949310f7b5L,
  87312. 0x200ec52ba8d8187eL,0xd80c192da0fb4110L,0x35c985ff7c450678L,
  87313. 0x43577470db1e8f13L,0x6810ef036900807cL,0x000000000000012eL } },
  87314. /* 45 << 511 */
  87315. { { 0x379ee09f103bd6f9L,0xc6455764cd4b3d01L,0x785ac6571d53dda2L,
  87316. 0xb6c194c93eba3017L,0x6aec6839ee84180fL,0xc94dff5ad09c51bdL,
  87317. 0x933c64be4038c3caL,0xfb3e230565c87b9fL,0x0000000000000077L },
  87318. { 0x04b71ef8ac8ab240L,0x6a16d0e5193fd7e0L,0x86fcef220c40a10dL,
  87319. 0x28228cc910f211c4L,0x5ede88e706ae9d8fL,0x67067909a5f0e8feL,
  87320. 0xad79f0c8df338ba8L,0xe39836048ee0c62eL,0x00000000000001f7L } },
  87321. /* 46 << 511 */
  87322. { { 0x7d703295f5e4f7f8L,0xc3fdc161143af599L,0x25ae8c6d10a6b4ecL,
  87323. 0x8f3ffce44eda9576L,0xa2383338f649674fL,0x38642f550eb3892eL,
  87324. 0xeabb7046f0cb8779L,0x57dabaa2dee84d91L,0x0000000000000154L },
  87325. { 0xbb850ab36173a285L,0xbca5655928b6fb38L,0x8e3428380df79eeeL,
  87326. 0xe52853dffecc7940L,0x792e753ad9dd12adL,0x7e2cb3406420ebd6L,
  87327. 0xb585ab566d827017L,0x2dc2202c5a41aa40L,0x000000000000008eL } },
  87328. /* 47 << 511 */
  87329. { { 0x23845c7c715a4da2L,0xb337c0ba6e0aff7aL,0x41b68812f9a9f520L,
  87330. 0x4a10ab9bad1a5c83L,0xd8fcea40ccc1a37cL,0x51d69fdfb25a1b3eL,
  87331. 0x83ce07a3022b27b1L,0x762e56c9f29621f0L,0x0000000000000017L },
  87332. { 0xc193077f19482f39L,0xcd5eeec001d3bf64L,0xb2d5f8a51d7e8890L,
  87333. 0xf63d9476672f223eL,0x6cee15df7c3f98abL,0x17e3a150da97838eL,
  87334. 0xcedd10e73c50762eL,0x22d5f479795cd480L,0x000000000000018cL } },
  87335. /* 48 << 511 */
  87336. { { 0xf854e6e695c41349L,0xe7d4dcb0476ad721L,0xcaf79afb764dcaecL,
  87337. 0x99a065a2e85595acL,0xcb613dd111beed86L,0x1ec36351b5a4d300L,
  87338. 0xa1acae740f8b5580L,0x6d6bd5a7708071a2L,0x00000000000001a9L },
  87339. { 0xfcac06c11f4f15a1L,0x75a9003c1050adf6L,0x61b71ef7ea874ec8L,
  87340. 0x0de589f5ba499bebL,0xc1470e300d93fee4L,0xc981a814d175ce74L,
  87341. 0x2549b4a3bc96e422L,0x14d44f006728ed6aL,0x0000000000000085L } },
  87342. /* 49 << 511 */
  87343. { { 0x798a73bec4e4028bL,0x6388051a3353c08cL,0x028b0677e9ede279L,
  87344. 0xcc3d488cf6339bcdL,0x87c818187e5ccd8cL,0x4e7186598c7b25c7L,
  87345. 0x4196e50586f7ef16L,0x9b107e634d57b458L,0x0000000000000061L },
  87346. { 0x4d6c0c1fef82fb6eL,0x8c244a96888b56dcL,0x8b464d425577066bL,
  87347. 0xf7ecc8ca8261ddb0L,0x3570d8a77002aa15L,0x8e694bd46197aea4L,
  87348. 0xff32a72d301d8b31L,0x8e7f4f8ce64abfd9L,0x000000000000008cL } },
  87349. /* 50 << 511 */
  87350. { { 0x4192297482a6c06dL,0x5d74d871af00d803L,0x8d08becbbb060085L,
  87351. 0x73c0f98f88c68d5fL,0x57ab930e1eee2808L,0x58bce0b0994c1dedL,
  87352. 0x84b44834720f64a7L,0x026e1e6cb2fbd380L,0x0000000000000001L },
  87353. { 0x80b288943d2bd6f1L,0xdecf8fc035fca89dL,0xae9673adc3dbebccL,
  87354. 0x52b2a6114c7205c0L,0xbf9efb9567a057eeL,0x55e70e9e8da648dcL,
  87355. 0x4497e043e39ba91dL,0x12b586111fccb6d0L,0x0000000000000143L } },
  87356. /* 51 << 511 */
  87357. { { 0x1375591eb29c6942L,0x558b9028695298ffL,0xd72d549d7f26580fL,
  87358. 0x499eb5853b5c56a0L,0x2f077d8fb9ce1359L,0x1262a69d0d7ba25cL,
  87359. 0xbf740566f77d49ddL,0xb61e1de4089024f2L,0x0000000000000031L },
  87360. { 0x9600de6a5cea3678L,0x369af7f9e5016941L,0x4ed8550d502f6ecbL,
  87361. 0x6dc1c264ad1f1bbbL,0x9f0c69ee1f11dae6L,0xb5f7f9e25a6587b8L,
  87362. 0x4213ef97bc54eabeL,0xbe9a1fda336d54a4L,0x0000000000000079L } },
  87363. /* 52 << 511 */
  87364. { { 0xbc149ee5e49ef413L,0x39b60fa4d360cf79L,0x2e8d787ba5ac8562L,
  87365. 0x49c84eb7f42102ebL,0x648e9db745aaaa29L,0xc425b3d214ab53acL,
  87366. 0x76ae3baa7dc413f2L,0xd2d1545197d30a00L,0x00000000000001fbL },
  87367. { 0xdc8dee9ab8b66612L,0xa4158d3140baa079L,0xad72d22df0cba4fcL,
  87368. 0x8086cf0dbf8743a7L,0xd3f991da2520bd39L,0x97506e140f96e56cL,
  87369. 0x552b394be00ac04fL,0x51565a258066c1ffL,0x0000000000000046L } },
  87370. /* 53 << 511 */
  87371. { { 0x6c3d617801a96295L,0x43814219fd3c708aL,0x5c897caed13c8708L,
  87372. 0x9f5aeb293f89dd2eL,0x9b939a34a97dfc4eL,0x6ab7bf493c11ac17L,
  87373. 0xe4361a842a64d18aL,0x4e403a2ce2e79fe2L,0x000000000000018eL },
  87374. { 0x799b8d70aa46cf1cL,0x6c2ea52272cbe39fL,0xbe454c9d7f37d359L,
  87375. 0x4d467bcf8dc10196L,0xb2ff7e3b3592d9c8L,0xeea5653d9533501fL,
  87376. 0xd5ffd9b567a4b6f9L,0xfde6e9228a137ffeL,0x000000000000001aL } },
  87377. /* 54 << 511 */
  87378. { { 0x1e3ce488a047b061L,0xbc63c1934dd0b80bL,0x215eb936521502deL,
  87379. 0x9783e9936f19aa62L,0x619021eb9f16efd8L,0xec8ec3c5369a3bf0L,
  87380. 0x1676e68515ae4400L,0xe53e62515b175359L,0x00000000000001a7L },
  87381. { 0xdfa54a3b97edcc3aL,0x09008a0bf05833c1L,0x977fd92b8a8da5aaL,
  87382. 0xf7fad1857cfe5d6dL,0xe2fa47a6dc11ca11L,0x24bd7530d9ebf4bfL,
  87383. 0x7cebf5a35680963fL,0x4fb7ab14c8665ef7L,0x0000000000000005L } },
  87384. /* 55 << 511 */
  87385. { { 0x7e11d9fb45a8dc00L,0x3d5367616a5d6065L,0xe6e07b82e29c3187L,
  87386. 0x4bec2dd98770e1b7L,0x68475bdfcd079a33L,0x16b08e0e6e3f02d2L,
  87387. 0xed11161910a457f2L,0xb0e36f686f05051aL,0x000000000000005fL },
  87388. { 0xc0029dee068f8671L,0xc4040ef2ff0a6398L,0x87250bb6bc66c114L,
  87389. 0x76a6bb7afcc07b67L,0x8bc7c85758b6b874L,0x83aac6467921d89cL,
  87390. 0x134f5777e7990ddbL,0xb1b5da6baf81c59fL,0x0000000000000024L } },
  87391. /* 56 << 511 */
  87392. { { 0x49e0ca1c42892d9aL,0x5b0338a5f1dd866dL,0x9f891dc9ebce0673L,
  87393. 0x9956c1820b302606L,0x2957d2bb088fc616L,0x1ac5570417b75077L,
  87394. 0x5f5910069b67b533L,0x1bf9b4bd69acf0dbL,0x00000000000001dcL },
  87395. { 0x46de5fe669353a7cL,0xc4ad8307318c6934L,0x155bb477e235ca27L,
  87396. 0xea4bdc8302c92a8dL,0x71120f8c44755470L,0x84db9f10d607e3f1L,
  87397. 0xaa26e77d2f3256c9L,0x33a5a253d015112dL,0x000000000000007aL } },
  87398. /* 57 << 511 */
  87399. { { 0x20aec1362116051eL,0xffe2bc551b94c19dL,0xd91e5b74fb20a2f4L,
  87400. 0x08e0eb8f1f337f79L,0x74358d40020a9b71L,0x6c116399a54a0ff8L,
  87401. 0xe6090ccb58499d38L,0x52b4fbfff1be7a36L,0x00000000000001f2L },
  87402. { 0xe6139d12f1cb27f3L,0x5320639cc84a439eL,0xb9d97a6f588c93dcL,
  87403. 0x47fe72529320567cL,0x978d888735525e0eL,0x9c71616fab85c178L,
  87404. 0x97b0f1a987dd691fL,0x8000752a1ea5c4d1L,0x000000000000017aL } },
  87405. /* 58 << 511 */
  87406. { { 0x018d394f82f47082L,0x5c3822d7194a5bcbL,0xcbaa36177f696c2eL,
  87407. 0xa479f542c7ee38baL,0x02ffb8f005e0bee0L,0x96e989ab54c7af79L,
  87408. 0xdc095377118fec7eL,0x1889c6bf473a5d75L,0x00000000000001bbL },
  87409. { 0xc23dff30186f12dfL,0x2c1e5b533938ea78L,0xf84dec6083271f8bL,
  87410. 0x400b2677699a9bf1L,0x71e646bf1763cb95L,0x049bd5253dc8bd13L,
  87411. 0xca6987502cebc746L,0xe5faa8e720df2537L,0x000000000000011bL } },
  87412. /* 59 << 511 */
  87413. { { 0x5795aaa1d72a699eL,0x6ff9310c36c48097L,0xef3f26293739ff45L,
  87414. 0x6963009f1b69c613L,0xe589566bf41adbc2L,0x8519ded7ad44ff6aL,
  87415. 0x962ea751d15b222bL,0xe6fa540cfcca0dddL,0x0000000000000070L },
  87416. { 0xedab4d678df09693L,0x764b38f4a3f32f76L,0x2acd5a3b31b914ceL,
  87417. 0x1233395075acb244L,0xced00b66c3e58eb8L,0xe3689850bc11b028L,
  87418. 0x94f3e782819636a8L,0x8c95e7bb036dd494L,0x00000000000000c7L } },
  87419. /* 60 << 511 */
  87420. { { 0x37439521cea7af22L,0x74ab19d02610baf9L,0xef7e24aa2c3ac33dL,
  87421. 0x3b42932bc1eae083L,0x91478ba263b52bceL,0x125d1d70532e30b3L,
  87422. 0x67ceccc80ae01dddL,0x74c6bb6376afb79fL,0x00000000000001edL },
  87423. { 0xfc4cc8c83a4adb6bL,0x2e4071bef2fc358aL,0xd81bdde4d9c36d33L,
  87424. 0xd2a33e71c35dc1ccL,0x24eba4f21c1a3d49L,0x04f116a9177f3f5eL,
  87425. 0xd63a542d1eab2502L,0x2fc261c6ba83beb5L,0x00000000000000c5L } },
  87426. /* 61 << 511 */
  87427. { { 0xdb557ff48802382fL,0xeae38177f1567c96L,0xa9dbea24f20baedcL,
  87428. 0xce9397baee7504ccL,0xa4442b0a42df93b4L,0x3d7fc49deee5363eL,
  87429. 0x9ee9c35c98da97b1L,0x5d01da6517432d14L,0x0000000000000036L },
  87430. { 0xf420abf84f2df80eL,0x99f61a31dd55807fL,0x3fc70210891bdc0cL,
  87431. 0x6c61798be047b64dL,0xc154a33bf7ac51e8L,0x5f3b12819fdfc99aL,
  87432. 0x43046ba63397a668L,0xe140dbe79e0355fcL,0x0000000000000156L } },
  87433. /* 62 << 511 */
  87434. { { 0xa0c1806642c1f473L,0xbcf0d250eda4e7d2L,0x1cd8ef91b57c4d80L,
  87435. 0x16d95785698e4de7L,0x9239a410825f5b62L,0xba5862c29c45add9L,
  87436. 0xf7f39ffcc844573dL,0xbc4bb8be6d3c4492L,0x00000000000001d2L },
  87437. { 0x918841a7413d3afaL,0xd46614bf35d3c789L,0xd31164d43ae4637fL,
  87438. 0x62ec57268c2d1641L,0x54745b91bd87cd4fL,0xe3a32720b8ed340eL,
  87439. 0xfffbaeaff90a1288L,0xc61ae40a5c850d7fL,0x00000000000000a9L } },
  87440. /* 63 << 511 */
  87441. { { 0x77ecdd788ded8d98L,0x5c4f7da4f3a901caL,0x3f93175b91c2a241L,
  87442. 0x4c0b8664749141d4L,0x6961df53fc600db2L,0x6aee2d3b899f23e4L,
  87443. 0x4396c817fc67b9a2L,0x71043f9a1c33877aL,0x000000000000017dL },
  87444. { 0x67d33824044cb54dL,0x8623a36b7b85049cL,0x88bfdcb338c9d75bL,
  87445. 0xb861f7b06c3dbb25L,0xd539f69f52a24d72L,0x60428e5b5dc11fa1L,
  87446. 0x3ee93ffb4f13f4ffL,0x04018a96e18516d9L,0x0000000000000101L } },
  87447. /* 64 << 511 */
  87448. { { 0x41b3eb86bc1bd2eeL,0x71e8430c50368484L,0xb214e9cbf2b93ad3L,
  87449. 0x13f89335138e0ebfL,0xec96c9c25e690118L,0xde786d182c22cd4cL,
  87450. 0x5b1554abe819e310L,0x399bfab4d01892d1L,0x00000000000000c5L },
  87451. { 0x2efaee912005a9f2L,0x9cb43e2eb39471d0L,0x0b0d1b565ceb35c2L,
  87452. 0x3bff194056825120L,0xad49b05739a0dd54L,0x35dec8af0e83d425L,
  87453. 0x50b91634687d1ac8L,0x2fb0d9e42f25a98dL,0x000000000000007dL } },
  87454. /* 0 << 518 */
  87455. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  87456. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  87457. /* 1 << 518 */
  87458. { { 0x58333c8c9c13146eL,0x213c8896d5d37a5dL,0x18e2132d8fd07282L,
  87459. 0x606e8133cd7d66c7L,0x21c19a128743874bL,0xe375d1f56dd96309L,
  87460. 0xe0c48d6d3e1d629cL,0xed6ada6cdee22453L,0x000000000000015cL },
  87461. { 0xea1c974547b194a6L,0xdd549898850241e9L,0x0e225368407cb796L,
  87462. 0x17b59edb427ad8d3L,0x08d4629ec43f0a43L,0x27f4063d5201d0a4L,
  87463. 0xf6e1518fa5003274L,0xb6196e3ea3286e2cL,0x00000000000001b8L } },
  87464. /* 2 << 518 */
  87465. { { 0x593cf4108e41277fL,0x3ae7db6e925c9d91L,0x68519ca7a37a388eL,
  87466. 0xa93a2e815bd94e48L,0x2b8cdbac00ef816fL,0x6fc3cae6eb2796f5L,
  87467. 0x253fe0d4f8dedde4L,0x38405b3095ecc14fL,0x0000000000000092L },
  87468. { 0x27a7d0f67882df12L,0x14b3264246332549L,0xb8d8c3e6eda10498L,
  87469. 0x6861e53c2aa1cc1aL,0xf2bd03e3a37d7254L,0x175c04f6d78b5623L,
  87470. 0xb3d5202f0b18c14fL,0x30b9b0f6967f2b7bL,0x000000000000012fL } },
  87471. /* 3 << 518 */
  87472. { { 0x3b770280731e2b92L,0xd8c7870c7ee974f8L,0xd6fe928343da91b3L,
  87473. 0x563cad012b7968b3L,0x48333ac2d845b648L,0xf1753bdbc02af5d4L,
  87474. 0x48cf506f04a647afL,0xac9f1d5bddcd3a9aL,0x00000000000000fcL },
  87475. { 0xf9b4124bcb40d52dL,0xc39a85654cb0ab5bL,0xeee9291114c56558L,
  87476. 0xd5182186ff5602fbL,0x32d3441623f351ffL,0xde81de053e387e04L,
  87477. 0x19b6666948aa0ac1L,0x4cd3b987782c2ca2L,0x000000000000018cL } },
  87478. /* 4 << 518 */
  87479. { { 0x61829972ce8f9a17L,0x2d21913ce0fda47eL,0x84cb9da252466c05L,
  87480. 0xfcc4eaab9fd85710L,0xab1ec5412f56fb90L,0xbb435bec6a231d4aL,
  87481. 0xe1fffeaee16d3c47L,0xa7db02840f023a36L,0x000000000000002dL },
  87482. { 0x7259e71938d77a9eL,0xcd2278b1a3661199L,0xcf7fdf77bf6dfc59L,
  87483. 0x6265f9cb96a2b632L,0x1365e44a4eb09c8aL,0xc1ac30542b23bf87L,
  87484. 0x3161a2c05aaec208L,0x1af3a61455db8ae9L,0x0000000000000098L } },
  87485. /* 5 << 518 */
  87486. { { 0x60e8e4d3ea396a57L,0xa56c78e0378519fdL,0x783fd1661fd3ee35L,
  87487. 0xf465f7d7174f5564L,0x6e3d2bd397a58ecaL,0x9ddc5d888ed910a7L,
  87488. 0x46b9f89cc0b9158cL,0x1d6995655fae4fa7L,0x0000000000000033L },
  87489. { 0x8475d7fc10440e6dL,0x048d912b8c257698L,0x536c9062e7c97954L,
  87490. 0x067523a8d0f61df0L,0xfd233e353e97f9fbL,0x38b8db0ed3613d1aL,
  87491. 0xd071e57d61810f87L,0x1f4d1b2e97415a56L,0x000000000000018bL } },
  87492. /* 6 << 518 */
  87493. { { 0x129f3f88a1e73627L,0x4d4f1e3abc64f2ebL,0x365c51c94a97ebd4L,
  87494. 0xa681acfc1c60b2b8L,0x98bda6049c22ac9fL,0xc337336f7a3c06d8L,
  87495. 0xb706c685153282dfL,0x4217adc8eb1ce0feL,0x00000000000001f7L },
  87496. { 0x1d147cd08ca52a15L,0x2fb7fa8e6c45139bL,0x36db6e625c7ec355L,
  87497. 0x603450e0f1b9c840L,0x46181b26f6f43cf9L,0xbe2fa18c68c6844bL,
  87498. 0xc6eb676678305319L,0x47ccf36ff7f05252L,0x00000000000000f4L } },
  87499. /* 7 << 518 */
  87500. { { 0x765a6a6afc884a2eL,0xb079d52bbabdf029L,0x9441e6f06f3b9515L,
  87501. 0x524cc31db56d96ddL,0xd9129ecef245efaaL,0x48c3b03bc906f1d2L,
  87502. 0xb2f379fff6334489L,0xea50ce556c3d05beL,0x00000000000001daL },
  87503. { 0xa23e9095a8b173f3L,0x1163236c0cae0acaL,0xbad7a4ced2fe7ed3L,
  87504. 0xc96b59a64397acc1L,0xa330281002b1f51fL,0xabe9c10cf3c0800fL,
  87505. 0xc0480be858f37470L,0xbc4b63ae0678686fL,0x000000000000000dL } },
  87506. /* 8 << 518 */
  87507. { { 0x82e051426b4c3f67L,0x830492593fc34315L,0x2b17027d972d1c60L,
  87508. 0x650bd0df06941699L,0xc960bca9bf06dea4L,0xc9b131eef6bf6453L,
  87509. 0xc7865c906e2a0bd0L,0xffb964e05d5f6799L,0x0000000000000033L },
  87510. { 0x32db85f6e9fa9189L,0x3f0deb0eb5544031L,0x848456bd704e30bdL,
  87511. 0xade1bb0e862032ccL,0x8deae33afcf305adL,0x918cea68c089cd96L,
  87512. 0xea115fb805a4a146L,0x978f3a2f3633d8a2L,0x0000000000000083L } },
  87513. /* 9 << 518 */
  87514. { { 0x62982ababf590757L,0x112fefd670d2e25eL,0xd6f63c34ed861469L,
  87515. 0x626af4f7f78223d9L,0xd26df9887581ae71L,0x884869f820b93f27L,
  87516. 0x5308341576b8e53bL,0x42c0e46f9225dabdL,0x000000000000005dL },
  87517. { 0xe6610850fd4f594dL,0xe4be8fa1fd6f9d30L,0x5f5f5c2d554a978dL,
  87518. 0x91ba562503eff7b1L,0x278af3e2c0b61678L,0xdcec232f4bc1b63aL,
  87519. 0x05d3b83ce67e86e2L,0x2e7cfb29b15ea746L,0x0000000000000120L } },
  87520. /* 10 << 518 */
  87521. { { 0x868efb5c1517a09bL,0x20bfbd8722919dbcL,0x11bf475b6e776274L,
  87522. 0xef04a4135ade4e48L,0xe5b721d41702befaL,0x6613ef46c010811aL,
  87523. 0x8a70cf720286df5bL,0x31a364139961089fL,0x00000000000000cdL },
  87524. { 0x0ff8f787313062e8L,0x6a9c58a1c7c7876bL,0x3767da6e73cfd9bfL,
  87525. 0x59569e705f92c89fL,0xd2b5ae8f16d2a77eL,0xe287323d9756a091L,
  87526. 0x4f40fefcb0114e2eL,0x5a51851d8f4adeb4L,0x00000000000000f0L } },
  87527. /* 11 << 518 */
  87528. { { 0x5037561bac8ebe24L,0xe7ee25348366bd2aL,0x772837d6841bae82L,
  87529. 0x08eb7b46e0ff68c5L,0x8c92b3f60c31b9dcL,0xf87d90b768dc21e4L,
  87530. 0xa6c7c9d70770b025L,0x53c3c5f384510727L,0x0000000000000047L },
  87531. { 0xde80f1b74569f57bL,0xf3d6318e62b8842dL,0xfa2eb7e2c819f5f8L,
  87532. 0x0faa86691d96d0daL,0xf45e324d3751f6f7L,0xb12f32807a8f2951L,
  87533. 0xc455c3d540edba34L,0xc4624175f5c78269L,0x00000000000000fcL } },
  87534. /* 12 << 518 */
  87535. { { 0x93012bbdb3f18230L,0x69b59c81be563374L,0x0fccc9418fbd8070L,
  87536. 0xb2e3e5fddd353c6dL,0x290f2d4065dce413L,0xb79d87416598620eL,
  87537. 0x855eca8c0cfa916cL,0x45029ea197efebb1L,0x0000000000000051L },
  87538. { 0x7c09eef390438baeL,0x898440c59ec6217dL,0x89f1331330d90670L,
  87539. 0x1588728726ae644cL,0x353e5bfae83d85f0L,0xe8f21860456b1253L,
  87540. 0xeb0fedeacc75e379L,0x215ac25219348cecL,0x0000000000000057L } },
  87541. /* 13 << 518 */
  87542. { { 0xc4fc152cdf7adcf8L,0xf1731d853aac8ef5L,0x755b049dd1463ed9L,
  87543. 0xb2584ead794d041dL,0xc6cbad77a4598004L,0x1baf02531eb28df8L,
  87544. 0x972ea8693d442d21L,0xcf1de4ab9d17f0c7L,0x000000000000002fL },
  87545. { 0x175ee1ac772076f6L,0x8afe0a0b98a219bfL,0x23350b21cf7072b6L,
  87546. 0x255372ec66d6bfcdL,0xc0e878e4ca347854L,0x45943a9fc266b8c5L,
  87547. 0x8e0b70f802304611L,0x7c1914054c1a0ad8L,0x0000000000000129L } },
  87548. /* 14 << 518 */
  87549. { { 0xb009865603ff1b77L,0x0c3e56c816d480dfL,0x03cb7430b25b7ef4L,
  87550. 0xc1a1d84f29530ba1L,0x91ea3813a687e8a3L,0x36d765625e955cf5L,
  87551. 0x9791cbeb9871c033L,0x25ed155b29271a7eL,0x0000000000000046L },
  87552. { 0x0201ae83b863fe15L,0x577c28d5533caf59L,0xa000a53862886d5eL,
  87553. 0xe400a338683c5322L,0x4dbecfe561107162L,0xaa3a88bcbb5603f4L,
  87554. 0x48714504ec53c8aaL,0xc5c8b13a63f8c036L,0x00000000000001beL } },
  87555. /* 15 << 518 */
  87556. { { 0xa1ba19f667cf8ca1L,0x71b5032e6aefd0b4L,0xeee3be6cc1649bc2L,
  87557. 0x630e7b8664949a27L,0x5c9b815b9f8d970aL,0x582c63862439a25aL,
  87558. 0xe2acb5564443a504L,0x8ce90b34e50d00ffL,0x0000000000000004L },
  87559. { 0xd96814912a56ca70L,0x39d0c795ed552ae7L,0xf666288a8d6c3cefL,
  87560. 0x71fb44903f030a8dL,0x20a8dbdf22b5414dL,0xcfc31a6ac244c07aL,
  87561. 0xf6cba0448ef206e9L,0xe2987b8b8f2d974aL,0x000000000000004eL } },
  87562. /* 16 << 518 */
  87563. { { 0xfd4abdb4f6f04de3L,0x2d3399bb2708b32fL,0xe3f7a82fae7ea987L,
  87564. 0x63f0093e11c3b0b2L,0x4e771ccb50e1dc6cL,0xed3655479b91c6a3L,
  87565. 0x97c1fd0b332028a9L,0xe8199fe24a65acb3L,0x0000000000000137L },
  87566. { 0xff2f102fed4f5410L,0xe2ec543cbed8c3c0L,0x7c79a798d4bbff64L,
  87567. 0x5baa5d12bd61bebaL,0xa4766859accb68ddL,0x79fe67260f18b724L,
  87568. 0xfbaa1890c404245dL,0xebae71de1e4be8eeL,0x000000000000016fL } },
  87569. /* 17 << 518 */
  87570. { { 0x7a581bdc7e2afe12L,0x8cff83cf14fb3fd1L,0xcba840cc429779e8L,
  87571. 0xf7bd183f9e5201e8L,0xc2c4a1a9fd6d9790L,0x9da08423ef26b1bfL,
  87572. 0x5291a5eee224c1f9L,0xd2fef1565468dfdfL,0x00000000000000ceL },
  87573. { 0xccae68d1f8e2c083L,0x2b020fcdb6a2be21L,0x0369059c53f70413L,
  87574. 0x1e7d130d80ff6c07L,0x3a0bcee3ae669b29L,0x2f8501f7a3d96b7aL,
  87575. 0x37a337a485e110a0L,0x5496623a30441bd0L,0x0000000000000022L } },
  87576. /* 18 << 518 */
  87577. { { 0x66a32a2ff9805932L,0x2ec549c5bef0740bL,0x4e144029127ed87fL,
  87578. 0x34f547eab1728cafL,0x89a0c9026066be92L,0x2acf5a05f15277a9L,
  87579. 0x78de46f40120d365L,0xe9b87d4a61f5eed1L,0x0000000000000163L },
  87580. { 0x2f0c42289ff30d07L,0xc2f06ed849a8b586L,0x08d431a31b47a0e0L,
  87581. 0x9b88a9bb1e3ef583L,0xc9ca97883a415e81L,0x321cd03e6b091374L,
  87582. 0xb176a99a65091a1bL,0x1be3de61e7dc0e5aL,0x0000000000000120L } },
  87583. /* 19 << 518 */
  87584. { { 0xedda4f501a0ce34eL,0x92df6948bf73ec51L,0xc28a8e4c1a72e03cL,
  87585. 0x2af289b610e4eb04L,0x07c600e6b91a74a4L,0x4bb54ad4f0b6a952L,
  87586. 0x13c1236dd1de5b10L,0xb8e9c19bf544bbbbL,0x00000000000001c7L },
  87587. { 0xe7b10240b7f3dff6L,0xb54fa2387ef42552L,0x928e15bbde030c69L,
  87588. 0x86839d49beeb87f9L,0xc72c04e8fe6a4e35L,0x0bd28b2333a42b3dL,
  87589. 0x78c05d19cf75a3b7L,0x57db32cb05bedd16L,0x00000000000001b1L } },
  87590. /* 20 << 518 */
  87591. { { 0x895a36231bdd31fcL,0x3ff4b814a499d99fL,0x3b0b3bc1ae8418daL,
  87592. 0x3f6e8a895eaaa723L,0xf4f87e1303adbdf0L,0x989fcecd01852f42L,
  87593. 0x6dcaf5eda4426bc1L,0x36f55efea43a2bbcL,0x00000000000000ffL },
  87594. { 0xc7180d5818832a17L,0x47d76d9329c58f84L,0xe54eca936eb5288aL,
  87595. 0x4e7a0ae6621c57b6L,0x475c9919cdad70afL,0x5e0d5c8613d73c3cL,
  87596. 0xee24c9f315db8108L,0x80ff5e2c286ddbdbL,0x000000000000002bL } },
  87597. /* 21 << 518 */
  87598. { { 0xe6bb9caf41166535L,0xee910574729bbb65L,0x196bc7188a30dbcbL,
  87599. 0xf5c06afb6b669532L,0x95a6445352798e9dL,0x54310e3293028bb3L,
  87600. 0x2c980460a192c5e2L,0x3e71aa09f1d44ba5L,0x000000000000004fL },
  87601. { 0x0189f4680f956b70L,0x5d67b04a8f6b209bL,0xf82daa27b3529f92L,
  87602. 0xc4e8d5d18d611d16L,0xc0824d25adcbbbc4L,0xa3151a908a4b37a5L,
  87603. 0x570c39a5eb1b3b77L,0x4e04c57294a2bcddL,0x00000000000000c4L } },
  87604. /* 22 << 518 */
  87605. { { 0x817eebab56b577a7L,0x0a56039bdf679d07L,0x66bf1a96f0d319e5L,
  87606. 0xfe007b76ba26cee6L,0x55836ee4d1a82640L,0x2b123a6f568d16a7L,
  87607. 0xc55d3c2bd51ce671L,0x1e0eece0277b1fd7L,0x0000000000000074L },
  87608. { 0x32629cda26a51b9eL,0xff08209c84140e1eL,0x6b6333578da237ebL,
  87609. 0x33c6765e901d98e4L,0xa3e1409a633fa3b5L,0xa44024d2365a82c2L,
  87610. 0x1f90df3aed9a4771L,0x22a587e4ab00783fL,0x00000000000001d3L } },
  87611. /* 23 << 518 */
  87612. { { 0x013713ea9be05096L,0x3843a8fdf3f844efL,0x1e5b0c16555986bdL,
  87613. 0x873570a4fe2ddef4L,0xdbd38a931534c642L,0x2cfb55c0dd37641bL,
  87614. 0xa022f3cf4c9cc92cL,0x8e68f725fec4ae5dL,0x000000000000011aL },
  87615. { 0x174fd4dfda88abadL,0x471a712bbd3638c8L,0x78120e3fc36f3380L,
  87616. 0x0d306f6e4f257b7cL,0x3b5d78fcc2c7e110L,0xce9f9636a954a62cL,
  87617. 0xaa64c8d8bbf8bb14L,0x11f083636854bbd1L,0x00000000000001f8L } },
  87618. /* 24 << 518 */
  87619. { { 0x2e6ad1a9871f197cL,0x0af63210b4a58092L,0xcb9252c242a3b0faL,
  87620. 0x06dbc3149d528c5bL,0xdc5216150601bb88L,0x9db07c32aa3178b4L,
  87621. 0xbb13186bc4212f12L,0x18bdfe06eef4e9b1L,0x000000000000011fL },
  87622. { 0xf7e64b81713bbfa1L,0x26344818b932b514L,0x3316dd2ae7ca294aL,
  87623. 0x4b266d272f30f1cbL,0xa2642af20de790f7L,0xcb11421279d5abfeL,
  87624. 0x780790487785c36eL,0x8b8a691d9db40ab5L,0x00000000000001bbL } },
  87625. /* 25 << 518 */
  87626. { { 0xa6f7435bfa4bffebL,0xd6e291f42bfa469aL,0x58f691c576f06844L,
  87627. 0x46c100d0ebbb4c34L,0x9c11ffde0a546878L,0x0236adb05accddeeL,
  87628. 0x2b5adb70a872847cL,0x75592f462320b5c4L,0x0000000000000173L },
  87629. { 0xc0a19f24fddf6f87L,0x6abf006e83e9fbd2L,0x0af2d4414bf49193L,
  87630. 0xe97288f52a6dcd30L,0xb13a5e18156a6b6eL,0x250d944ec97de15fL,
  87631. 0x542ce0281d12789dL,0x7f18a27398252875L,0x0000000000000084L } },
  87632. /* 26 << 518 */
  87633. { { 0xe082423c26ee9683L,0x26a715041594a61fL,0x137bbd6e6ef85629L,
  87634. 0x2e75b833bf8e7d4aL,0x8912d175a0bf520fL,0x197a7b40d35ab75dL,
  87635. 0x55a51a2208213620L,0x9319af9f0a9a003eL,0x00000000000000a3L },
  87636. { 0x82740b1ad685067bL,0xd727f51e66fec58eL,0x7f230a384522eac5L,
  87637. 0x9b2472ae2422eea7L,0xacb24446168e9049L,0x995eaf82f8b24133L,
  87638. 0xd4d63051f8b37f7bL,0xb36021bc4d003ccaL,0x00000000000000e5L } },
  87639. /* 27 << 518 */
  87640. { { 0x0ea8d0af43da1485L,0x229bd2eee356a58eL,0x766352201eae3818L,
  87641. 0xb1cc532299644ed3L,0x2b29d1889fe0cc0eL,0xbce5b5e6303000ffL,
  87642. 0xb035f61989e0f826L,0x510c51d80e591febL,0x0000000000000187L },
  87643. { 0x7b2b6f57c1e35d21L,0xbe7100b1b78bcf87L,0x7a4dcd2b1764611eL,
  87644. 0xc3abd1efe0659593L,0xdee37f042bd73310L,0x83d81872a65875a4L,
  87645. 0x324574a77b7a1222L,0xcb0d36670b9b276aL,0x0000000000000108L } },
  87646. /* 28 << 518 */
  87647. { { 0x971696469a44620fL,0x3523058dfcfa2ea4L,0x8c3e30d1167c4c8dL,
  87648. 0xf3de3d61e93a3a6aL,0x56e42c97642614f1L,0x3c9c8d2480cc3dceL,
  87649. 0x68d62a528ce9a9d8L,0x482041d2df7be32aL,0x0000000000000127L },
  87650. { 0xeb4439ea67c7fd4bL,0x350117320a384db6L,0x19f9a3382046f5d4L,
  87651. 0x5dbf9fcc72cacc46L,0x732caa319bb26921L,0xcd7c2088ca05b118L,
  87652. 0x6c815494dbc0ca1bL,0x5334afab825890f6L,0x0000000000000053L } },
  87653. /* 29 << 518 */
  87654. { { 0xb38b3455cf0b627cL,0x9e5ecaf020af8835L,0x5e15ceeeea2dd64eL,
  87655. 0xb99b86fad1f8ee12L,0x87af57750227a645L,0x0ee3dab2f604b581L,
  87656. 0x473b2504e5187026L,0x00b2e9d3e92eae4dL,0x000000000000013eL },
  87657. { 0x609dd618331d29eeL,0x38cd2b0b4b99e2fbL,0xde71fb3f9242cff0L,
  87658. 0x67ac8f5862f6689eL,0x0a99984caefeabbeL,0x6f5dfca538b281acL,
  87659. 0x4a2a46d24dcbc8a0L,0xd595b07e6fed4a26L,0x000000000000016dL } },
  87660. /* 30 << 518 */
  87661. { { 0xff258a5138d1847dL,0x713ef4bd7f5e74f6L,0xe56ce9e3e0a0f09aL,
  87662. 0x88f07760772a9159L,0xbc42bf932fb37fc9L,0xb8d9041cf0f2cba3L,
  87663. 0x59dae6249a50cf7cL,0xb7546cb5920f1729L,0x0000000000000145L },
  87664. { 0xe310812c92011458L,0x9ef42383f158e9beL,0xb3b060fe5311f175L,
  87665. 0x29af47ec20c5da5aL,0xd75668ccc0381df5L,0x6cdb1a0cf1bf133eL,
  87666. 0x6abfb17042c02d7cL,0xf5984d2fd856c84bL,0x0000000000000169L } },
  87667. /* 31 << 518 */
  87668. { { 0xbaf9ebcc00544abaL,0x250f8366fe960dcfL,0xa0d3d15d76c4500aL,
  87669. 0x858ea0e985f1322eL,0x443d0aadeaffd468L,0xda9043a709256191L,
  87670. 0x4b83a0035aa2afa6L,0xed05f5bffe5f1395L,0x0000000000000004L },
  87671. { 0x50934ea9608abffcL,0x1299ef11a883495cL,0xb72333689792ef29L,
  87672. 0xc7074a39f05483b7L,0x06ef2784274fa92bL,0x64e7feb67c864a48L,
  87673. 0xf5fac1f878ca9ce3L,0x595b60d700b935dbL,0x0000000000000033L } },
  87674. /* 32 << 518 */
  87675. { { 0xdcd089e5c0f8abecL,0x2d11032081f91ec5L,0x244cef5d8d76055eL,
  87676. 0x7202652d1c9bdd43L,0x396ebf25643f3ca7L,0x811a3695c983ac57L,
  87677. 0x7d1f29a41e6e64caL,0x7cb13cec80827ae1L,0x00000000000000c5L },
  87678. { 0x16b59e9c2d5c560bL,0x18b069a09dd105e4L,0xb7fc826bb6bc0c3fL,
  87679. 0xf6ab6c7485ea8193L,0x9c768ea01c4cdc7eL,0xa7a149b4d223cca5L,
  87680. 0xa54dafdc8789b618L,0x2656cb46b17328c0L,0x0000000000000100L } },
  87681. /* 33 << 518 */
  87682. { { 0xe6ce0ca2ccc0b2a1L,0x3d569ba1cd0023f7L,0x41aecfdb81bb3a84L,
  87683. 0x51d0e514bc37ca47L,0xcd8ea6a433b95775L,0x4bc287d36a213c69L,
  87684. 0x25543e3133ecd721L,0x73b370fd37ccf58aL,0x00000000000001f8L },
  87685. { 0xc5f14160b6d87edcL,0xd2ad1fce324d39f3L,0x252c0755b8f7bbf5L,
  87686. 0x9a0f47dec97f5775L,0x1d026aebd617bfd4L,0x63ba7c6abc086d63L,
  87687. 0x6dc68bf907845053L,0x5a1ba87296198bb4L,0x00000000000000efL } },
  87688. /* 34 << 518 */
  87689. { { 0x71710160519269efL,0xf17dec367f1d6361L,0xf6dd6e7fcf9de894L,
  87690. 0x9f85f14c98a3c278L,0xbf7a86440e5e618bL,0xfbbea240f4f1a389L,
  87691. 0xc762aca8fedf3526L,0xec54e3323a3a1b77L,0x00000000000001daL },
  87692. { 0x1852de066a518668L,0xd05e9eef6cfab15dL,0xb13386cd6b10958bL,
  87693. 0x793f12b5144bb551L,0x3ec0f36514ff524cL,0xc642095686e2cb96L,
  87694. 0x926456f12381598bL,0xc5508ab0e8c1e2ddL,0x000000000000008dL } },
  87695. /* 35 << 518 */
  87696. { { 0x308b59c8e3990529L,0x58f149af2d350a55L,0x6b5f70129bf20ff0L,
  87697. 0x07c324620658a155L,0xcace2e408f753462L,0xf9616b76e31fc89bL,
  87698. 0xad31cff4b6013839L,0xdf2c921ab244102bL,0x000000000000015eL },
  87699. { 0xb8b3e02b30f6f32aL,0x072935e1835853fbL,0xd7d687c87364fa89L,
  87700. 0x5109c823998e7aceL,0x9e821b0ba8d3f444L,0x75d6211efe652482L,
  87701. 0x690314094b3f5025L,0xf8bf959ff42e9c5cL,0x000000000000002aL } },
  87702. /* 36 << 518 */
  87703. { { 0x7ea34b836dd01befL,0xc36e2120effab7a5L,0x1357672fb8845894L,
  87704. 0x7f462c580162aa61L,0xb00958815bae0512L,0x55e27b8ef30be373L,
  87705. 0x3b0b6882a1a367bfL,0x9177f7351f66d95fL,0x00000000000001c0L },
  87706. { 0xeef0eba1bfbe7524L,0x0cf73ed68025aa0dL,0xae531a884d9267fcL,
  87707. 0x29042ea6a78a045dL,0xecebf42adb2582cfL,0x041babdc566d1be1L,
  87708. 0x55c1d466cfe83774L,0x751c932b40e305abL,0x0000000000000162L } },
  87709. /* 37 << 518 */
  87710. { { 0x59d2d2af2193cc13L,0x0321329b5b8746b1L,0x5afef594d22686f7L,
  87711. 0xb66fa579bf1807c2L,0xe3233a19a636faa9L,0x7e39da2f7c82dc5cL,
  87712. 0x24967121715dbaddL,0x0010e24a686dd74cL,0x0000000000000055L },
  87713. { 0xaf5aa87ac1ab62b3L,0xdaec05ece1a7d955L,0x87e93b656fadda7cL,
  87714. 0x12393f01825da2a4L,0x08ee17429d2b4552L,0xd83408c0f9e092fdL,
  87715. 0x17e78cccf594ebb8L,0x26a3963bff074050L,0x000000000000012cL } },
  87716. /* 38 << 518 */
  87717. { { 0x43015ef7328a8d9aL,0xff26649d8c81d304L,0xfeba7112e6c1da31L,
  87718. 0x0303b542f80a8273L,0xaff964a4d5d19085L,0x4060a313fce30f5bL,
  87719. 0x85a6401a3f081f0eL,0x7aa4d2dacc3420a0L,0x000000000000008eL },
  87720. { 0x3d81528e43a2e0baL,0x749c5e9b3b58a1ceL,0x16e5014642f8c0e0L,
  87721. 0x82223528dacd54e0L,0xe40c5e2bac8d0aabL,0x2e9c3c61230895d8L,
  87722. 0x1644c4f2646b2a74L,0x2eafbc8ea5310192L,0x0000000000000159L } },
  87723. /* 39 << 518 */
  87724. { { 0xc16ec56246c1b5b8L,0x677befb255de0e93L,0x764c01d2d18a1543L,
  87725. 0x4b979f483926716aL,0x9be5e4238be326dfL,0x147f78a5b3a2af6eL,
  87726. 0x75629177f36fef7bL,0x3a96d62f01823e00L,0x00000000000000e8L },
  87727. { 0x286128a697b62907L,0x48c2f245fdb9850bL,0xe233637ed229d254L,
  87728. 0xfb4df7ec5ae54770L,0x387dc9882a0a3a7cL,0x604f12b1f105eb2eL,
  87729. 0x398f6905bef07679L,0x5083751a2d7f18b0L,0x0000000000000012L } },
  87730. /* 40 << 518 */
  87731. { { 0xad32e836a56a26ebL,0xad1e697d62485f0eL,0x4cd629607caa8694L,
  87732. 0xdbab5d8129e36b0dL,0x6588f4fb48b7bd27L,0x19c33f2c0923c25fL,
  87733. 0x0a630f121df8f0cfL,0xfeefce53333c63e9L,0x0000000000000045L },
  87734. { 0x241237a74ae15886L,0x5d11a892c355d430L,0x67ceab2fba945fa6L,
  87735. 0xdb2b516730eaa436L,0x6f9cb6cd2cc960f3L,0x3419806b09e68210L,
  87736. 0x52059822c4cd6e7fL,0xd0bdda660229c0c9L,0x000000000000018dL } },
  87737. /* 41 << 518 */
  87738. { { 0xec861da3ab5d5cf0L,0xc7af1e4ad923888dL,0xe0c32502daab79acL,
  87739. 0xf178cf648a4086bbL,0x9a99b8ffd5c7079fL,0x0a2df19d05819dc9L,
  87740. 0x12e792933db59087L,0xc125b64b6ce54c4bL,0x0000000000000102L },
  87741. { 0xf1961f714feacf50L,0xf969a84656d8ccd6L,0xa1efae3d911b043eL,
  87742. 0xf62c80e1692f7287L,0xc117caea48a190a4L,0x0777c46d14839864L,
  87743. 0x2899245a5a1d7208L,0x489b93c85e329852L,0x0000000000000105L } },
  87744. /* 42 << 518 */
  87745. { { 0x67d06d04789228a4L,0x51788e82bdc230afL,0xb7dcd90b32e890c4L,
  87746. 0x1e5d0a7db5d4c8f4L,0x0a9e15ce595e67fdL,0x90b3c15dcf4e9fd4L,
  87747. 0x49753038242e113dL,0xebadd5b8a2416549L,0x0000000000000118L },
  87748. { 0x45821571dfe7fc21L,0x1363988e803172ffL,0xc5a06b7ae06df609L,
  87749. 0x24aaabec5b40db00L,0x6871707a9340097cL,0x47b919267335f997L,
  87750. 0x785da39e65bde875L,0xf47f662e7fef2231L,0x0000000000000047L } },
  87751. /* 43 << 518 */
  87752. { { 0x84be109c1190402cL,0x66ecab5ef20a1cafL,0x1a4e611f0fa6f66cL,
  87753. 0x195629f2aaf23b97L,0xd813525d7ebe9a01L,0x8f628e487ee7212eL,
  87754. 0xb12fdfb811fce1e9L,0x94ed86ec2d2f395bL,0x00000000000001b6L },
  87755. { 0xaa6a3e5e3b167bccL,0xd70639961f5d7a11L,0xe4017cb2f17395a8L,
  87756. 0xeaff0282476d9f46L,0x1831263f6eb0ac26L,0x04ac0c75bd7aec11L,
  87757. 0x5e0d613a027c01fcL,0x2f4d1bd35bb6ae43L,0x00000000000001caL } },
  87758. /* 44 << 518 */
  87759. { { 0x08a92760d317c60cL,0x730d73839529b4b8L,0xfcf81c9d1a050f05L,
  87760. 0x6b2cb8059f9e8bf5L,0xd7d7c79e30ff7124L,0x572a3a7f7206c662L,
  87761. 0xe2052b8c4915d988L,0xa685a31e3d6cf04cL,0x0000000000000183L },
  87762. { 0x14408f423e71c584L,0x8f24d13415998073L,0x1ec3ad1995f62f3cL,
  87763. 0xf2d8ea1803f06c8dL,0x8ddc0fd6087730a5L,0x7755ed4b280b7d59L,
  87764. 0x26c885dbba67938cL,0x2559753627e81374L,0x000000000000013cL } },
  87765. /* 45 << 518 */
  87766. { { 0xfaff0f70b8eed132L,0x45e36c7d284499edL,0x0cb980c3774b8605L,
  87767. 0x217eb3dc7c70ffa7L,0xc0f46f96c3c4a55bL,0x88d3b5cf8c437e4fL,
  87768. 0x7cfcbf0e650eaf40L,0xad4698af733e59daL,0x000000000000017fL },
  87769. { 0x8b8c1f42717f2813L,0xaf5b8b163b4c78a2L,0x88db88f5c15667ffL,
  87770. 0xf9c0433c0e0eff6cL,0xb9aab9524af85387L,0xfdc7d7932bde3019L,
  87771. 0xdceb1293eb5d10baL,0xa7ee9901c53209e9L,0x00000000000001e2L } },
  87772. /* 46 << 518 */
  87773. { { 0x02c71a57c628f1c9L,0xd6b1756a6a8b91c6L,0xc5bec6323a95cbaeL,
  87774. 0x788e2eb0d9409c68L,0x086d6859d7c3fbabL,0x3be49bdb1b498ad5L,
  87775. 0x63f6e76e47bc20aaL,0x3b8aaea41745e23aL,0x0000000000000126L },
  87776. { 0xbdc9b39f76962e66L,0xad6828ee49abdb3dL,0x6fcb091222df1a3dL,
  87777. 0x1efa4c062f1370b5L,0xff596ee1630b67e7L,0x03e4620cc21c76ffL,
  87778. 0x2cb83ef480982394L,0x65937797baa10144L,0x000000000000002cL } },
  87779. /* 47 << 518 */
  87780. { { 0xd09c1c996956b64dL,0xa7fd39df54e71d6dL,0xb63b0c76d813eb3cL,
  87781. 0xe6da21e09a7ccfe9L,0x1d15005aa5502e51L,0xd5358b4110306e2fL,
  87782. 0x6abc6b4667ef79a8L,0x9b5b0ad67c7376efL,0x0000000000000055L },
  87783. { 0x31bf44b672e5d085L,0x561698e245ee9faeL,0x207d7fe17f532f76L,
  87784. 0xde53af5d389577bbL,0x931929f2a9530967L,0x428e13ee8099f9c1L,
  87785. 0xa20e4bfeabb6b4e6L,0x87d77ad792e6c4b7L,0x0000000000000165L } },
  87786. /* 48 << 518 */
  87787. { { 0xa779463d63ea6586L,0x055ac074f5dd2077L,0x5e63875b2be5d611L,
  87788. 0x8261be993b1c53bbL,0x86137b7ba28e14b3L,0xf706d3c77e729ef5L,
  87789. 0xb30413db74902555L,0xed91b88c4e15d0feL,0x00000000000000edL },
  87790. { 0x0cbbfb03cee5f36bL,0xb210122bb6bab7f4L,0xffa46c283d0cf2fcL,
  87791. 0xa42293e28c05ff89L,0x014f499fa5642b7eL,0x80db63809c6e0d8aL,
  87792. 0xa819787c51d901c9L,0x17662fa8a3201327L,0x0000000000000154L } },
  87793. /* 49 << 518 */
  87794. { { 0xdb65de61d1446dc2L,0xa3bdc9d05d8a4c19L,0x2701196f5c624bafL,
  87795. 0x9bda0a41ef24ce3dL,0x9fb34528041c3b08L,0x7b5dbbf4242a51caL,
  87796. 0x336ce5613766cfd8L,0x172c43d2641e0b85L,0x000000000000002eL },
  87797. { 0x996f146778312bf1L,0x3b4e1fd7426ce268L,0xcbb357014b673861L,
  87798. 0x30c2caa09146cb8eL,0x9b4a4587e6a8d053L,0x6b1a1c3f252a928cL,
  87799. 0xcce378f9f163f641L,0x82a416d80ce8fe1dL,0x00000000000000b2L } },
  87800. /* 50 << 518 */
  87801. { { 0x09dc0454add144caL,0x281f6fd9cd8ab4aeL,0xaf4cfdfcb0f1c86aL,
  87802. 0x439e1747e494b168L,0x3e49a5b3e4c400b5L,0x9757873935ded33aL,
  87803. 0xab59dd9ec2a6a22aL,0x4922cb7ceac1e123L,0x00000000000001b7L },
  87804. { 0xccd8982904d455c4L,0xffafdce83923bdd5L,0xd2a6a8fcbf1c6558L,
  87805. 0xd17a45eaf484c27bL,0x2c39c953d970815fL,0x8fb6670af00d8f91L,
  87806. 0x62182f42a31b339cL,0x5cc40112d38c0768L,0x000000000000012aL } },
  87807. /* 51 << 518 */
  87808. { { 0xb308f945331cb928L,0x602999521379ba9fL,0x20f27b4cd0fa31adL,
  87809. 0x88eb30063b553ecfL,0x5c19d8c07231e4bbL,0x9c5844dbc4b5961eL,
  87810. 0x9a5e28be582da2d3L,0x4d9a6de0e85fbb1bL,0x00000000000001dfL },
  87811. { 0xc22621adab9cc6e0L,0x4679d909c4d8e5e2L,0x917e8cff3e8c3c9eL,
  87812. 0xd9b13e821a1925d6L,0x0c173503c81d5d3bL,0x8cb10799e7e3931eL,
  87813. 0xa1e340b7315c7107L,0x0337254e99f39258L,0x000000000000013dL } },
  87814. /* 52 << 518 */
  87815. { { 0x525c70348e080aa6L,0xfb65650b703a31d0L,0xb3c9fc909708778bL,
  87816. 0x712babdd5c0de950L,0x2336b614cf922a9cL,0xc9c01fdb2d1541ccL,
  87817. 0x3b0b5acdda984124L,0xc16edb3e5ca5237eL,0x0000000000000031L },
  87818. { 0x16d195dcba96a3b1L,0xaeb795135b2d839eL,0xff7ca75c3f468379L,
  87819. 0x195ebf452f7a4eccL,0x368bf1ac2cba9fc8L,0x282778c5ad79da65L,
  87820. 0x1ae709a382204582L,0x60da306180e162fcL,0x00000000000000a7L } },
  87821. /* 53 << 518 */
  87822. { { 0xc5c076fd98c1993dL,0x7c963fe6af6e50a2L,0x39921d140591b832L,
  87823. 0xaf817e598e6e78b6L,0x7d20b47053141d98L,0x80209dde2675b748L,
  87824. 0x9784d850f911da2eL,0x10d14b67cc679952L,0x0000000000000024L },
  87825. { 0xf6f7b8551a80d7cdL,0x68fb06ce0d84480fL,0x9d0df3bf450048d6L,
  87826. 0x14848bbe6d416a5aL,0x3191edc563436e69L,0x53daff59f90fac77L,
  87827. 0x331714fb6c2043f8L,0xb67695bf641cb68fL,0x00000000000001bbL } },
  87828. /* 54 << 518 */
  87829. { { 0x2568730c4e5e6dbdL,0x81765faf80c64f5cL,0xbf19f28c6c1e36c7L,
  87830. 0x0530e9a6294bd1c2L,0x80e2e102e4043658L,0x0af1e3845ac951ddL,
  87831. 0x37d8ca04a7cc44b8L,0xf767884a3d138475L,0x0000000000000189L },
  87832. { 0x8ab296a48ae43c93L,0xc0bda5e841f22f63L,0xb61e12430abf701fL,
  87833. 0xa2d6b5360284b234L,0xb417271d9c8e1f29L,0x9377f53ad346e17bL,
  87834. 0xc9410ca7a8843d62L,0x1d304904fe0dd739L,0x0000000000000118L } },
  87835. /* 55 << 518 */
  87836. { { 0x42e9239b9ab2b245L,0x2d966c1a1f9e9cddL,0xa2798c7ef19af9a5L,
  87837. 0xde254ef83c79337eL,0x07c5da22f1db6f95L,0x50875be600a3c98cL,
  87838. 0x2bfa5c26b48438f3L,0xb0ad90e5ab0a8365L,0x00000000000000c1L },
  87839. { 0x83161fcd3bd1626eL,0xa7863bf855e209d5L,0x9d6ecef0d103b98bL,
  87840. 0x885bdf21f0c55498L,0xbe3cc09af953d02cL,0x7fe7985326d91204L,
  87841. 0x9016e8e4f2f0e08aL,0x051fa6822376d502L,0x0000000000000001L } },
  87842. /* 56 << 518 */
  87843. { { 0xcab77140311cc347L,0xab8125d2c64bb9ebL,0x834317210e447719L,
  87844. 0x1b072b94ad7f9bc5L,0xdb70c295ccff1aa9L,0x174b731e8969d354L,
  87845. 0x70c0a462f5761c43L,0x14790895dff9a408L,0x000000000000006eL },
  87846. { 0xefc566d58f909123L,0x2775b7a810896ca6L,0xfe6927ca0b71973bL,
  87847. 0x40babac2b4c9929aL,0x9610d5214bd6f041L,0x82b6d9da8f075949L,
  87848. 0xcb2129e21e7a406cL,0x85389f05106af2acL,0x00000000000000cbL } },
  87849. /* 57 << 518 */
  87850. { { 0x30525170711ceca4L,0x754f1f1fba0c3956L,0x5d7049a8c91b73f8L,
  87851. 0xda62d9a77e22f0b1L,0xcd64a052ed6bda8eL,0x174eca531b83dc5dL,
  87852. 0xb4d7576bd3a8c49bL,0x172d6c7526d15902L,0x00000000000000f7L },
  87853. { 0x88267b378585b54eL,0x8715a8b010b85121L,0xc944f85d6db0be9eL,
  87854. 0x6ca6dec0e92656b0L,0xa141e7cb217c6ed3L,0xd12f342527240ab2L,
  87855. 0x8529f959942ffa5dL,0x4a1a975915792f32L,0x00000000000001c4L } },
  87856. /* 58 << 518 */
  87857. { { 0xfb2ad1ae78825be2L,0xb9c0cfcb5f9f377eL,0xb4cd68b823ec81dfL,
  87858. 0xe48d71227620fa13L,0xf0292c9ccfeafd26L,0xd9e5e727625273a6L,
  87859. 0x7aaf3da42a9aafd3L,0x072f0f48a3df15deL,0x000000000000009eL },
  87860. { 0x623b2ce93036834dL,0x85e00d655518c1c9L,0xcdb55dcfda8ec9c0L,
  87861. 0xe4cfb058df8e18e1L,0xb10fe1db3f381211L,0x26a05c013c5387ddL,
  87862. 0x6860765d2cd4e482L,0xada5d4823d37a01fL,0x0000000000000018L } },
  87863. /* 59 << 518 */
  87864. { { 0xe08a1d582f54610aL,0x0aa2efe66ea27082L,0xf32250e8475f591aL,
  87865. 0x38be597af2bdfed6L,0xf13a28e9717532d1L,0xc01feb0de7c1df76L,
  87866. 0xdb9be38e8b96c944L,0xf0700bfe26ea3f6dL,0x000000000000016dL },
  87867. { 0x963cd0aa82274bcdL,0xc1ed66e6de2ab836L,0x81c6f2e2cc08c42dL,
  87868. 0xed9224a1e00d896eL,0x0ebe4ff069747a38L,0x2e70f9a40130a3a7L,
  87869. 0xeb9cc3eb55451096L,0xa84de8cfa12cec75L,0x0000000000000145L } },
  87870. /* 60 << 518 */
  87871. { { 0x28b801584810ce1dL,0xa18f01cf9cd2a530L,0x3f882662bbacc56bL,
  87872. 0x25a09082c8de9031L,0xee333f92c75a3487L,0xc3f231d78c93dc3cL,
  87873. 0x6d53379ad94c4907L,0x1176368211f2d227L,0x00000000000001acL },
  87874. { 0x137ae216ab84de42L,0xbc00a7c1e4ee4c73L,0x8a42aeb8fc12b03cL,
  87875. 0x9a717ff1cf6a0950L,0x18cbebe30158b96cL,0x0184646550953719L,
  87876. 0x2c73bd13194fdb1eL,0xbd52a1cf3b0d2c34L,0x0000000000000022L } },
  87877. /* 61 << 518 */
  87878. { { 0x5da94915f61f7493L,0x661d3e6efe554d0dL,0x1853f3fd93d6395eL,
  87879. 0x917faaca248a6a8fL,0x31e81318e038ae34L,0xd2cf0cefafe38491L,
  87880. 0x49a2e5083c999b79L,0xd5ba94f8a42b9ea7L,0x000000000000000cL },
  87881. { 0x0bf5a0fd34c430a3L,0x4cb5013ee01f0d5cL,0x7ea690e6337f036cL,
  87882. 0x128d92118d55e026L,0x1d2e25df6ab8ed2dL,0x95e530878237cd22L,
  87883. 0xba3649ec2875bcd7L,0x6b2be67f654dcff2L,0x00000000000001f2L } },
  87884. /* 62 << 518 */
  87885. { { 0x421f3e959e2146f0L,0x3a7b0161b2e052acL,0xefd12db1a6cb7e61L,
  87886. 0x887566316bd4bed8L,0x8bc563448c568736L,0xd0ae1019a26bac6bL,
  87887. 0x678f366193311795L,0x11bc3650f625f4a2L,0x00000000000001a8L },
  87888. { 0x50c943cc23ab8aa1L,0x6aaba8bf2d3b3339L,0x6727f7ffac79f93eL,
  87889. 0x130c2153cba525a4L,0x6759f8f842058fc0L,0x356b182901c30b3bL,
  87890. 0x0bd3aa809078f323L,0x70cd052134621f20L,0x0000000000000071L } },
  87891. /* 63 << 518 */
  87892. { { 0xf124aa8bfa466654L,0xf48e0a111882da37L,0x57ea7b2bd0aa1f09L,
  87893. 0x1936fe19589bd6a7L,0xe9f2fb054bd7d150L,0x390250f71df9add6L,
  87894. 0xd69670f24f8651e8L,0xbc7b1bf3e03566c0L,0x00000000000000c4L },
  87895. { 0xc3b757b4b30e6c6bL,0xdb2c75c2e95c319bL,0x2790396f3aab64b1L,
  87896. 0x9709df8df6768599L,0xc2a91d3204ced567L,0x561cef3c43ead6e4L,
  87897. 0xea56fb57983d1f3eL,0x2f15dfabc0b397f3L,0x0000000000000076L } },
  87898. /* 64 << 518 */
  87899. { { 0xcd6151c20e6a4eceL,0x884e5e75a2840752L,0xa6752672c41b64b7L,
  87900. 0x7585f7cbd5cd2b79L,0xac8f7a1c892fb84dL,0xfdb20c7432a80f6fL,
  87901. 0xaec2531339c7ecfeL,0xc84d7c5c93b1e75bL,0x000000000000011bL },
  87902. { 0x30ab00a3bc363066L,0xd9a0ab44d371d11cL,0x13697c6aab047490L,
  87903. 0x1adffb54a57574cdL,0x753eafa0e548b99bL,0x51abf774a7f0df39L,
  87904. 0xe8fab02c903eaee9L,0xdf2f5e8af7542020L,0x00000000000000faL } },
  87905. };
  87906. /* Multiply the point by the scalar and return the result.
  87907. * If map is true then convert result to affine coordinates.
  87908. *
  87909. * Pre-computed table containing multiples of g times powers of 2.
  87910. * Width between powers is 7 bits.
  87911. * Accumulate into the result.
  87912. *
  87913. * r Resulting point.
  87914. * g Point to scalar multiply.
  87915. * k Scalar to multiply by.
  87916. * table Pre-computed table of points.
  87917. * map Indicates whether to convert result to affine.
  87918. * ct Constant time required.
  87919. * heap Heap to use for allocation.
  87920. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  87921. */
  87922. static int sp_521_ecc_mulmod_add_only_9(sp_point_521* r, const sp_point_521* g,
  87923. const sp_table_entry_521* table, const sp_digit* k, int map,
  87924. int ct, void* heap)
  87925. {
  87926. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  87927. sp_point_521* rt = NULL;
  87928. sp_digit* tmp = NULL;
  87929. #else
  87930. sp_point_521 rt[2];
  87931. sp_digit tmp[2 * 9 * 6];
  87932. #endif
  87933. sp_point_521* p = NULL;
  87934. sp_digit* negy = NULL;
  87935. int i;
  87936. ecc_recode_521 v[75];
  87937. int err = MP_OKAY;
  87938. (void)g;
  87939. (void)ct;
  87940. (void)heap;
  87941. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  87942. rt = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  87943. DYNAMIC_TYPE_ECC);
  87944. if (rt == NULL)
  87945. err = MEMORY_E;
  87946. if (err == MP_OKAY) {
  87947. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 6, heap,
  87948. DYNAMIC_TYPE_ECC);
  87949. if (tmp == NULL)
  87950. err = MEMORY_E;
  87951. }
  87952. #endif
  87953. if (err == MP_OKAY) {
  87954. negy = tmp;
  87955. p = rt + 1;
  87956. }
  87957. if (err == MP_OKAY) {
  87958. sp_521_ecc_recode_7_9(k, v);
  87959. XMEMCPY(p->z, p521_norm_mod, sizeof(p521_norm_mod));
  87960. XMEMCPY(rt->z, p521_norm_mod, sizeof(p521_norm_mod));
  87961. i = 74;
  87962. #ifndef WC_NO_CACHE_RESISTANT
  87963. if (ct) {
  87964. sp_521_get_entry_65_9(rt, &table[i * 65], v[i].i);
  87965. }
  87966. else
  87967. #endif
  87968. {
  87969. XMEMCPY(rt->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  87970. XMEMCPY(rt->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  87971. }
  87972. rt->infinity = !v[i].i;
  87973. for (--i; i>=0; i--) {
  87974. #ifndef WC_NO_CACHE_RESISTANT
  87975. if (ct) {
  87976. sp_521_get_entry_65_9(p, &table[i * 65], v[i].i);
  87977. }
  87978. else
  87979. #endif
  87980. {
  87981. XMEMCPY(p->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  87982. XMEMCPY(p->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  87983. }
  87984. p->infinity = !v[i].i;
  87985. sp_521_sub_9(negy, p521_mod, p->y);
  87986. sp_521_norm_9(negy);
  87987. sp_521_cond_copy_9(p->y, negy, 0 - v[i].neg);
  87988. sp_521_proj_point_add_qz1_9(rt, rt, p, tmp);
  87989. }
  87990. if (map != 0) {
  87991. sp_521_map_9(r, rt, tmp);
  87992. }
  87993. else {
  87994. XMEMCPY(r, rt, sizeof(sp_point_521));
  87995. }
  87996. }
  87997. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  87998. if (tmp != NULL)
  87999. #endif
  88000. {
  88001. ForceZero(tmp, sizeof(sp_digit) * 2 * 9 * 6);
  88002. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88003. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  88004. #endif
  88005. }
  88006. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88007. if (rt != NULL)
  88008. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  88009. #endif
  88010. return err;
  88011. }
  88012. /* Multiply the base point of P521 by the scalar and return the result.
  88013. * If map is true then convert result to affine coordinates.
  88014. *
  88015. * r Resulting point.
  88016. * k Scalar to multiply by.
  88017. * map Indicates whether to convert result to affine.
  88018. * ct Constant time required.
  88019. * heap Heap to use for allocation.
  88020. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  88021. */
  88022. static int sp_521_ecc_mulmod_base_9(sp_point_521* r, const sp_digit* k,
  88023. int map, int ct, void* heap)
  88024. {
  88025. return sp_521_ecc_mulmod_add_only_9(r, NULL, p521_table,
  88026. k, map, ct, heap);
  88027. }
  88028. #ifdef HAVE_INTEL_AVX2
  88029. /* Multiply the point by the scalar and return the result.
  88030. * If map is true then convert result to affine coordinates.
  88031. *
  88032. * Pre-computed table containing multiples of g times powers of 2.
  88033. * Width between powers is 7 bits.
  88034. * Accumulate into the result.
  88035. *
  88036. * r Resulting point.
  88037. * g Point to scalar multiply.
  88038. * k Scalar to multiply by.
  88039. * table Pre-computed table of points.
  88040. * map Indicates whether to convert result to affine.
  88041. * ct Constant time required.
  88042. * heap Heap to use for allocation.
  88043. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  88044. */
  88045. static int sp_521_ecc_mulmod_add_only_avx2_9(sp_point_521* r, const sp_point_521* g,
  88046. const sp_table_entry_521* table, const sp_digit* k, int map,
  88047. int ct, void* heap)
  88048. {
  88049. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88050. sp_point_521* rt = NULL;
  88051. sp_digit* tmp = NULL;
  88052. #else
  88053. sp_point_521 rt[2];
  88054. sp_digit tmp[2 * 9 * 6];
  88055. #endif
  88056. sp_point_521* p = NULL;
  88057. sp_digit* negy = NULL;
  88058. int i;
  88059. ecc_recode_521 v[75];
  88060. int err = MP_OKAY;
  88061. (void)g;
  88062. (void)ct;
  88063. (void)heap;
  88064. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88065. rt = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  88066. DYNAMIC_TYPE_ECC);
  88067. if (rt == NULL)
  88068. err = MEMORY_E;
  88069. if (err == MP_OKAY) {
  88070. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 6, heap,
  88071. DYNAMIC_TYPE_ECC);
  88072. if (tmp == NULL)
  88073. err = MEMORY_E;
  88074. }
  88075. #endif
  88076. if (err == MP_OKAY) {
  88077. negy = tmp;
  88078. p = rt + 1;
  88079. }
  88080. if (err == MP_OKAY) {
  88081. sp_521_ecc_recode_7_9(k, v);
  88082. XMEMCPY(p->z, p521_norm_mod, sizeof(p521_norm_mod));
  88083. XMEMCPY(rt->z, p521_norm_mod, sizeof(p521_norm_mod));
  88084. i = 74;
  88085. #ifndef WC_NO_CACHE_RESISTANT
  88086. if (ct) {
  88087. sp_521_get_entry_65_avx2_9(rt, &table[i * 65], v[i].i);
  88088. }
  88089. else
  88090. #endif
  88091. {
  88092. XMEMCPY(rt->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  88093. XMEMCPY(rt->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  88094. }
  88095. rt->infinity = !v[i].i;
  88096. for (--i; i>=0; i--) {
  88097. #ifndef WC_NO_CACHE_RESISTANT
  88098. if (ct) {
  88099. sp_521_get_entry_65_avx2_9(p, &table[i * 65], v[i].i);
  88100. }
  88101. else
  88102. #endif
  88103. {
  88104. XMEMCPY(p->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  88105. XMEMCPY(p->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  88106. }
  88107. p->infinity = !v[i].i;
  88108. sp_521_sub_9(negy, p521_mod, p->y);
  88109. sp_521_norm_9(negy);
  88110. sp_521_cond_copy_9(p->y, negy, 0 - v[i].neg);
  88111. sp_521_proj_point_add_qz1_avx2_9(rt, rt, p, tmp);
  88112. }
  88113. if (map != 0) {
  88114. sp_521_map_avx2_9(r, rt, tmp);
  88115. }
  88116. else {
  88117. XMEMCPY(r, rt, sizeof(sp_point_521));
  88118. }
  88119. }
  88120. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88121. if (tmp != NULL)
  88122. #endif
  88123. {
  88124. ForceZero(tmp, sizeof(sp_digit) * 2 * 9 * 6);
  88125. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88126. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  88127. #endif
  88128. }
  88129. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88130. if (rt != NULL)
  88131. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  88132. #endif
  88133. return err;
  88134. }
  88135. /* Multiply the base point of P521 by the scalar and return the result.
  88136. * If map is true then convert result to affine coordinates.
  88137. *
  88138. * r Resulting point.
  88139. * k Scalar to multiply by.
  88140. * map Indicates whether to convert result to affine.
  88141. * ct Constant time required.
  88142. * heap Heap to use for allocation.
  88143. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  88144. */
  88145. static int sp_521_ecc_mulmod_base_avx2_9(sp_point_521* r, const sp_digit* k,
  88146. int map, int ct, void* heap)
  88147. {
  88148. return sp_521_ecc_mulmod_add_only_avx2_9(r, NULL, p521_table,
  88149. k, map, ct, heap);
  88150. }
  88151. #endif /* HAVE_INTEL_AVX2 */
  88152. #endif /* WOLFSSL_SP_SMALL */
  88153. /* Multiply the base point of P521 by the scalar and return the result.
  88154. * If map is true then convert result to affine coordinates.
  88155. *
  88156. * km Scalar to multiply by.
  88157. * r Resulting point.
  88158. * map Indicates whether to convert result to affine.
  88159. * heap Heap to use for allocation.
  88160. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  88161. */
  88162. int sp_ecc_mulmod_base_521(const mp_int* km, ecc_point* r, int map, void* heap)
  88163. {
  88164. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88165. sp_point_521* point = NULL;
  88166. sp_digit* k = NULL;
  88167. #else
  88168. sp_point_521 point[1];
  88169. sp_digit k[9];
  88170. #endif
  88171. int err = MP_OKAY;
  88172. #ifdef HAVE_INTEL_AVX2
  88173. word32 cpuid_flags = cpuid_get_flags();
  88174. #endif
  88175. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88176. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521), heap,
  88177. DYNAMIC_TYPE_ECC);
  88178. if (point == NULL)
  88179. err = MEMORY_E;
  88180. if (err == MP_OKAY) {
  88181. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9, heap,
  88182. DYNAMIC_TYPE_ECC);
  88183. if (k == NULL)
  88184. err = MEMORY_E;
  88185. }
  88186. #endif
  88187. if (err == MP_OKAY) {
  88188. sp_521_from_mp(k, 9, km);
  88189. #ifdef HAVE_INTEL_AVX2
  88190. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  88191. err = sp_521_ecc_mulmod_base_avx2_9(point, k, map, 1, heap);
  88192. else
  88193. #endif
  88194. err = sp_521_ecc_mulmod_base_9(point, k, map, 1, heap);
  88195. }
  88196. if (err == MP_OKAY) {
  88197. err = sp_521_point_to_ecc_point_9(point, r);
  88198. }
  88199. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88200. if (k != NULL)
  88201. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  88202. if (point != NULL)
  88203. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  88204. #endif
  88205. return err;
  88206. }
  88207. /* Multiply the base point of P521 by the scalar, add point a and return
  88208. * the result. If map is true then convert result to affine coordinates.
  88209. *
  88210. * km Scalar to multiply by.
  88211. * am Point to add to scalar mulitply result.
  88212. * inMont Point to add is in montgomery form.
  88213. * r Resulting point.
  88214. * map Indicates whether to convert result to affine.
  88215. * heap Heap to use for allocation.
  88216. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  88217. */
  88218. int sp_ecc_mulmod_base_add_521(const mp_int* km, const ecc_point* am,
  88219. int inMont, ecc_point* r, int map, void* heap)
  88220. {
  88221. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88222. sp_point_521* point = NULL;
  88223. sp_digit* k = NULL;
  88224. #else
  88225. sp_point_521 point[2];
  88226. sp_digit k[9 + 9 * 2 * 6];
  88227. #endif
  88228. sp_point_521* addP = NULL;
  88229. sp_digit* tmp = NULL;
  88230. int err = MP_OKAY;
  88231. #ifdef HAVE_INTEL_AVX2
  88232. word32 cpuid_flags = cpuid_get_flags();
  88233. #endif
  88234. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88235. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  88236. DYNAMIC_TYPE_ECC);
  88237. if (point == NULL)
  88238. err = MEMORY_E;
  88239. if (err == MP_OKAY) {
  88240. k = (sp_digit*)XMALLOC(
  88241. sizeof(sp_digit) * (9 + 9 * 2 * 6),
  88242. heap, DYNAMIC_TYPE_ECC);
  88243. if (k == NULL)
  88244. err = MEMORY_E;
  88245. }
  88246. #endif
  88247. if (err == MP_OKAY) {
  88248. addP = point + 1;
  88249. tmp = k + 9;
  88250. sp_521_from_mp(k, 9, km);
  88251. sp_521_point_from_ecc_point_9(addP, am);
  88252. }
  88253. if ((err == MP_OKAY) && (!inMont)) {
  88254. err = sp_521_mod_mul_norm_9(addP->x, addP->x, p521_mod);
  88255. }
  88256. if ((err == MP_OKAY) && (!inMont)) {
  88257. err = sp_521_mod_mul_norm_9(addP->y, addP->y, p521_mod);
  88258. }
  88259. if ((err == MP_OKAY) && (!inMont)) {
  88260. err = sp_521_mod_mul_norm_9(addP->z, addP->z, p521_mod);
  88261. }
  88262. if (err == MP_OKAY) {
  88263. #ifdef HAVE_INTEL_AVX2
  88264. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  88265. err = sp_521_ecc_mulmod_base_avx2_9(point, k, 0, 0, heap);
  88266. else
  88267. #endif
  88268. err = sp_521_ecc_mulmod_base_9(point, k, 0, 0, heap);
  88269. }
  88270. if (err == MP_OKAY) {
  88271. #ifdef HAVE_INTEL_AVX2
  88272. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  88273. sp_521_proj_point_add_avx2_9(point, point, addP, tmp);
  88274. else
  88275. #endif
  88276. sp_521_proj_point_add_9(point, point, addP, tmp);
  88277. if (map) {
  88278. #ifdef HAVE_INTEL_AVX2
  88279. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  88280. sp_521_map_avx2_9(point, point, tmp);
  88281. else
  88282. #endif
  88283. sp_521_map_9(point, point, tmp);
  88284. }
  88285. err = sp_521_point_to_ecc_point_9(point, r);
  88286. }
  88287. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88288. if (k != NULL)
  88289. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  88290. if (point)
  88291. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  88292. #endif
  88293. return err;
  88294. }
  88295. #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \
  88296. defined(HAVE_ECC_VERIFY)
  88297. #endif /* WOLFSSL_VALIDATE_ECC_KEYGEN | HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
  88298. #ifdef __cplusplus
  88299. extern "C" {
  88300. #endif
  88301. extern void sp_521_add_one_9(sp_digit* a);
  88302. #ifdef __cplusplus
  88303. }
  88304. #endif
  88305. #ifdef __cplusplus
  88306. extern "C" {
  88307. #endif
  88308. extern void sp_521_from_bin_bswap(sp_digit* r, int size, const byte* a, int n);
  88309. #ifdef __cplusplus
  88310. }
  88311. #endif
  88312. #ifdef __cplusplus
  88313. extern "C" {
  88314. #endif
  88315. extern void sp_521_from_bin_movbe(sp_digit* r, int size, const byte* a, int n);
  88316. #ifdef __cplusplus
  88317. }
  88318. #endif
  88319. /* Read big endian unsigned byte array into r.
  88320. *
  88321. * r A single precision integer.
  88322. * size Maximum number of bytes to convert
  88323. * a Byte array.
  88324. * n Number of bytes in array to read.
  88325. */
  88326. static void sp_521_from_bin(sp_digit* r, int size, const byte* a, int n)
  88327. {
  88328. #ifndef NO_MOVBE_SUPPORT
  88329. word32 cpuid_flags = cpuid_get_flags();
  88330. if (IS_INTEL_MOVBE(cpuid_flags)) {
  88331. sp_521_from_bin_movbe(r, size, a, n);
  88332. }
  88333. else
  88334. #endif
  88335. {
  88336. sp_521_from_bin_bswap(r, size, a, n);
  88337. }
  88338. }
  88339. /* Generates a scalar that is in the range 1..order-1.
  88340. *
  88341. * rng Random number generator.
  88342. * k Scalar value.
  88343. * returns RNG failures, MEMORY_E when memory allocation fails and
  88344. * MP_OKAY on success.
  88345. */
  88346. static int sp_521_ecc_gen_k_9(WC_RNG* rng, sp_digit* k)
  88347. {
  88348. int err;
  88349. byte buf[66];
  88350. do {
  88351. err = wc_RNG_GenerateBlock(rng, buf, sizeof(buf));
  88352. if (err == 0) {
  88353. buf[0] &= 0x1;
  88354. sp_521_from_bin(k, 9, buf, (int)sizeof(buf));
  88355. if (sp_521_cmp_9(k, p521_order2) <= 0) {
  88356. sp_521_add_one_9(k);
  88357. break;
  88358. }
  88359. }
  88360. }
  88361. while (err == 0);
  88362. return err;
  88363. }
  88364. /* Makes a random EC key pair.
  88365. *
  88366. * rng Random number generator.
  88367. * priv Generated private value.
  88368. * pub Generated public point.
  88369. * heap Heap to use for allocation.
  88370. * returns ECC_INF_E when the point does not have the correct order, RNG
  88371. * failures, MEMORY_E when memory allocation fails and MP_OKAY on success.
  88372. */
  88373. int sp_ecc_make_key_521(WC_RNG* rng, mp_int* priv, ecc_point* pub, void* heap)
  88374. {
  88375. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88376. sp_point_521* point = NULL;
  88377. sp_digit* k = NULL;
  88378. #else
  88379. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  88380. sp_point_521 point[2];
  88381. #else
  88382. sp_point_521 point[1];
  88383. #endif
  88384. sp_digit k[9];
  88385. #endif
  88386. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  88387. sp_point_521* infinity = NULL;
  88388. #endif
  88389. int err = MP_OKAY;
  88390. #ifdef HAVE_INTEL_AVX2
  88391. word32 cpuid_flags = cpuid_get_flags();
  88392. #endif
  88393. (void)heap;
  88394. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88395. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  88396. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap, DYNAMIC_TYPE_ECC);
  88397. #else
  88398. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521), heap, DYNAMIC_TYPE_ECC);
  88399. #endif
  88400. if (point == NULL)
  88401. err = MEMORY_E;
  88402. if (err == MP_OKAY) {
  88403. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9, heap,
  88404. DYNAMIC_TYPE_ECC);
  88405. if (k == NULL)
  88406. err = MEMORY_E;
  88407. }
  88408. #endif
  88409. if (err == MP_OKAY) {
  88410. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  88411. infinity = point + 1;
  88412. #endif
  88413. err = sp_521_ecc_gen_k_9(rng, k);
  88414. }
  88415. if (err == MP_OKAY) {
  88416. #ifdef HAVE_INTEL_AVX2
  88417. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  88418. err = sp_521_ecc_mulmod_base_avx2_9(point, k, 1, 1, NULL);
  88419. else
  88420. #endif
  88421. err = sp_521_ecc_mulmod_base_9(point, k, 1, 1, NULL);
  88422. }
  88423. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  88424. if (err == MP_OKAY) {
  88425. #ifdef HAVE_INTEL_AVX2
  88426. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  88427. err = sp_521_ecc_mulmod_avx2_9(infinity, point, p521_order, 1, 1,
  88428. NULL);
  88429. }
  88430. else
  88431. #endif
  88432. err = sp_521_ecc_mulmod_9(infinity, point, p521_order, 1, 1, NULL);
  88433. }
  88434. if (err == MP_OKAY) {
  88435. if (sp_521_iszero_9(point->x) || sp_521_iszero_9(point->y)) {
  88436. err = ECC_INF_E;
  88437. }
  88438. }
  88439. #endif
  88440. if (err == MP_OKAY) {
  88441. err = sp_521_to_mp(k, priv);
  88442. }
  88443. if (err == MP_OKAY) {
  88444. err = sp_521_point_to_ecc_point_9(point, pub);
  88445. }
  88446. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88447. if (k != NULL)
  88448. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  88449. if (point != NULL) {
  88450. /* point is not sensitive, so no need to zeroize */
  88451. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  88452. }
  88453. #endif
  88454. return err;
  88455. }
  88456. #ifdef HAVE_ECC_DHE
  88457. #ifdef __cplusplus
  88458. extern "C" {
  88459. #endif
  88460. extern void sp_521_to_bin_bswap_9(sp_digit* r, byte* a);
  88461. #ifdef __cplusplus
  88462. }
  88463. #endif
  88464. #ifdef __cplusplus
  88465. extern "C" {
  88466. #endif
  88467. extern void sp_521_to_bin_movbe_9(sp_digit* r, byte* a);
  88468. #ifdef __cplusplus
  88469. }
  88470. #endif
  88471. /* Write r as big endian to byte array.
  88472. * Fixed length number of bytes written: 66
  88473. *
  88474. * r A single precision integer.
  88475. * a Byte array.
  88476. */
  88477. static void sp_521_to_bin_9(sp_digit* r, byte* a)
  88478. {
  88479. #ifndef NO_MOVBE_SUPPORT
  88480. word32 cpuid_flags = cpuid_get_flags();
  88481. if (IS_INTEL_MOVBE(cpuid_flags)) {
  88482. sp_521_to_bin_movbe_9(r, a);
  88483. }
  88484. else
  88485. #endif
  88486. {
  88487. sp_521_to_bin_bswap_9(r, a);
  88488. }
  88489. }
  88490. /* Multiply the point by the scalar and serialize the X ordinate.
  88491. * The number is 0 padded to maximum size on output.
  88492. *
  88493. * priv Scalar to multiply the point by.
  88494. * pub Point to multiply.
  88495. * out Buffer to hold X ordinate.
  88496. * outLen On entry, size of the buffer in bytes.
  88497. * On exit, length of data in buffer in bytes.
  88498. * heap Heap to use for allocation.
  88499. * returns BUFFER_E if the buffer is to small for output size,
  88500. * MEMORY_E when memory allocation fails and MP_OKAY on success.
  88501. */
  88502. int sp_ecc_secret_gen_521(const mp_int* priv, const ecc_point* pub, byte* out,
  88503. word32* outLen, void* heap)
  88504. {
  88505. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88506. sp_point_521* point = NULL;
  88507. sp_digit* k = NULL;
  88508. #else
  88509. sp_point_521 point[1];
  88510. sp_digit k[9];
  88511. #endif
  88512. int err = MP_OKAY;
  88513. #ifdef HAVE_INTEL_AVX2
  88514. word32 cpuid_flags = cpuid_get_flags();
  88515. #endif
  88516. if (*outLen < 65U) {
  88517. err = BUFFER_E;
  88518. }
  88519. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88520. if (err == MP_OKAY) {
  88521. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521), heap,
  88522. DYNAMIC_TYPE_ECC);
  88523. if (point == NULL)
  88524. err = MEMORY_E;
  88525. }
  88526. if (err == MP_OKAY) {
  88527. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9, heap,
  88528. DYNAMIC_TYPE_ECC);
  88529. if (k == NULL)
  88530. err = MEMORY_E;
  88531. }
  88532. #endif
  88533. if (err == MP_OKAY) {
  88534. sp_521_from_mp(k, 9, priv);
  88535. sp_521_point_from_ecc_point_9(point, pub);
  88536. #ifdef HAVE_INTEL_AVX2
  88537. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  88538. err = sp_521_ecc_mulmod_avx2_9(point, point, k, 1, 1, heap);
  88539. else
  88540. #endif
  88541. err = sp_521_ecc_mulmod_9(point, point, k, 1, 1, heap);
  88542. }
  88543. if (err == MP_OKAY) {
  88544. sp_521_to_bin_9(point->x, out);
  88545. *outLen = 66;
  88546. }
  88547. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  88548. if (k != NULL)
  88549. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  88550. if (point != NULL)
  88551. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  88552. #endif
  88553. return err;
  88554. }
  88555. #endif /* HAVE_ECC_DHE */
  88556. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  88557. #ifdef __cplusplus
  88558. extern "C" {
  88559. #endif
  88560. extern void sp_521_rshift_9(sp_digit* r, const sp_digit* a, int n);
  88561. #ifdef __cplusplus
  88562. }
  88563. #endif
  88564. #endif
  88565. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  88566. #ifdef __cplusplus
  88567. extern "C" {
  88568. #endif
  88569. extern void sp_521_lshift_9(sp_digit* r, const sp_digit* a, int n);
  88570. #ifdef __cplusplus
  88571. }
  88572. #endif
  88573. #ifdef __cplusplus
  88574. extern "C" {
  88575. #endif
  88576. extern void sp_521_lshift_18(sp_digit* r, const sp_digit* a, int n);
  88577. #ifdef __cplusplus
  88578. }
  88579. #endif
  88580. #ifdef __cplusplus
  88581. extern "C" {
  88582. #endif
  88583. extern sp_digit sp_521_sub_in_place_9(sp_digit* a, const sp_digit* b);
  88584. #ifdef __cplusplus
  88585. }
  88586. #endif
  88587. #ifdef __cplusplus
  88588. extern "C" {
  88589. #endif
  88590. extern void sp_521_mul_d_9(sp_digit* r, const sp_digit* a, sp_digit b);
  88591. #ifdef __cplusplus
  88592. }
  88593. #endif
  88594. #ifdef __cplusplus
  88595. extern "C" {
  88596. #endif
  88597. extern void sp_521_mul_d_avx2_9(sp_digit* r, const sp_digit* a, const sp_digit b);
  88598. #ifdef __cplusplus
  88599. }
  88600. #endif
  88601. #if defined(_WIN64) && !defined(__clang__)
  88602. #if _MSC_VER < 1920
  88603. #ifdef __cplusplus
  88604. extern "C" {
  88605. #endif
  88606. extern sp_digit div_521_word_asm_9(sp_digit d1, sp_digit d0, sp_digit div);
  88607. #ifdef __cplusplus
  88608. }
  88609. #endif
  88610. #endif /* _MSC_VER < 1920 */
  88611. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  88612. *
  88613. * d1 The high order half of the number to divide.
  88614. * d0 The low order half of the number to divide.
  88615. * div The dividend.
  88616. * returns the result of the division.
  88617. */
  88618. static WC_INLINE sp_digit div_521_word_9(sp_digit d1, sp_digit d0,
  88619. sp_digit div)
  88620. {
  88621. ASSERT_SAVED_VECTOR_REGISTERS();
  88622. #if _MSC_VER >= 1920
  88623. return _udiv128(d1, d0, div, NULL);
  88624. #else
  88625. return div_521_word_asm_9(d1, d0, div);
  88626. #endif
  88627. }
  88628. #else
  88629. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  88630. *
  88631. * d1 The high order half of the number to divide.
  88632. * d0 The low order half of the number to divide.
  88633. * div The dividend.
  88634. * returns the result of the division.
  88635. */
  88636. static WC_INLINE sp_digit div_521_word_9(sp_digit d1, sp_digit d0,
  88637. sp_digit div)
  88638. {
  88639. ASSERT_SAVED_VECTOR_REGISTERS();
  88640. register sp_digit r asm("rax");
  88641. __asm__ __volatile__ (
  88642. "divq %3"
  88643. : "=a" (r)
  88644. : "d" (d1), "a" (d0), "r" (div)
  88645. :
  88646. );
  88647. return r;
  88648. }
  88649. #endif /* _WIN64 && !__clang__ */
  88650. /* AND m into each word of a and store in r.
  88651. *
  88652. * r A single precision integer.
  88653. * a A single precision integer.
  88654. * m Mask to AND against each digit.
  88655. */
  88656. static void sp_521_mask_9(sp_digit* r, const sp_digit* a, sp_digit m)
  88657. {
  88658. #ifdef WOLFSSL_SP_SMALL
  88659. int i;
  88660. for (i=0; i<9; i++) {
  88661. r[i] = a[i] & m;
  88662. }
  88663. #else
  88664. r[0] = a[0] & m;
  88665. r[1] = a[1] & m;
  88666. r[2] = a[2] & m;
  88667. r[3] = a[3] & m;
  88668. r[4] = a[4] & m;
  88669. r[5] = a[5] & m;
  88670. r[6] = a[6] & m;
  88671. r[7] = a[7] & m;
  88672. r[8] = a[8] & m;
  88673. #endif
  88674. }
  88675. /* Divide d in a and put remainder into r (m*d + r = a)
  88676. * m is not calculated as it is not needed at this time.
  88677. *
  88678. * a Number to be divided.
  88679. * d Number to divide with.
  88680. * m Multiplier result.
  88681. * r Remainder from the division.
  88682. * returns MP_OKAY indicating success.
  88683. */
  88684. static WC_INLINE int sp_521_div_9(const sp_digit* a, const sp_digit* d, sp_digit* m,
  88685. sp_digit* r)
  88686. {
  88687. sp_digit t1[19];
  88688. sp_digit t2[10];
  88689. sp_digit sd[10];
  88690. sp_digit div;
  88691. sp_digit r1;
  88692. int i;
  88693. #ifdef HAVE_INTEL_AVX2
  88694. word32 cpuid_flags = cpuid_get_flags();
  88695. #endif
  88696. ASSERT_SAVED_VECTOR_REGISTERS();
  88697. (void)m;
  88698. div = (d[8] << 55) | (d[7] >> 9);
  88699. XMEMCPY(t1, a, sizeof(*t1) * 2 * 9);
  88700. r1 = sp_521_cmp_9(&t1[9], d) >= 0;
  88701. #ifdef HAVE_INTEL_AVX2
  88702. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  88703. sp_521_cond_sub_avx2_9(&t1[9], &t1[9], d, (sp_digit)0 - r1);
  88704. else
  88705. #endif
  88706. sp_521_cond_sub_9(&t1[9], &t1[9], d, (sp_digit)0 - r1);
  88707. sp_521_lshift_9(sd, d, 55);
  88708. sp_521_lshift_18(t1, t1, 55);
  88709. for (i = 8; i >= 0; i--) {
  88710. sp_digit hi = t1[9 + i] - (t1[9 + i] == div);
  88711. r1 = div_521_word_9(hi, t1[9 + i - 1], div);
  88712. #ifdef HAVE_INTEL_AVX2
  88713. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  88714. sp_521_mul_d_avx2_9(t2, sd, r1);
  88715. else
  88716. #endif
  88717. sp_521_mul_d_9(t2, sd, r1);
  88718. t1[9 + i] += sp_521_sub_in_place_9(&t1[i], t2);
  88719. t1[9 + i] -= t2[9];
  88720. sp_521_mask_9(t2, sd, t1[9 + i]);
  88721. t1[9 + i] += sp_521_add_9(&t1[i], &t1[i], t2);
  88722. sp_521_mask_9(t2, sd, t1[9 + i]);
  88723. t1[9 + i] += sp_521_add_9(&t1[i], &t1[i], t2);
  88724. }
  88725. r1 = sp_521_cmp_9(t1, sd) >= 0;
  88726. #ifdef HAVE_INTEL_AVX2
  88727. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  88728. sp_521_cond_sub_avx2_9(r, t1, sd, (sp_digit)0 - r1);
  88729. else
  88730. #endif
  88731. sp_521_cond_sub_9(r, t1, sd, (sp_digit)0 - r1);
  88732. sp_521_rshift_9(r, r, 55);
  88733. return MP_OKAY;
  88734. }
  88735. /* Reduce a modulo m into r. (r = a mod m)
  88736. *
  88737. * r A single precision number that is the reduced result.
  88738. * a A single precision number that is to be reduced.
  88739. * m A single precision number that is the modulus to reduce with.
  88740. * returns MP_OKAY indicating success.
  88741. */
  88742. static WC_INLINE int sp_521_mod_9(sp_digit* r, const sp_digit* a,
  88743. const sp_digit* m)
  88744. {
  88745. ASSERT_SAVED_VECTOR_REGISTERS();
  88746. return sp_521_div_9(a, m, NULL, r);
  88747. }
  88748. #endif
  88749. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  88750. /* Multiply two number mod the order of P521 curve. (r = a * b mod order)
  88751. *
  88752. * r Result of the multiplication.
  88753. * a First operand of the multiplication.
  88754. * b Second operand of the multiplication.
  88755. */
  88756. static void sp_521_mont_mul_order_9(sp_digit* r, const sp_digit* a, const sp_digit* b)
  88757. {
  88758. sp_521_mul_9(r, a, b);
  88759. sp_521_mont_reduce_order_9(r, p521_order, p521_mp_order);
  88760. }
  88761. #if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
  88762. #ifdef WOLFSSL_SP_SMALL
  88763. /* Order-2 for the P521 curve. */
  88764. static const uint64_t p521_order_minus_2[9] = {
  88765. 0xbb6fb71e91386407U,0x3bb5c9b8899c47aeU,0x7fcc0148f709a5d0U,
  88766. 0x51868783bf2f966bU,0xfffffffffffffffaU,0xffffffffffffffffU,
  88767. 0xffffffffffffffffU,0xffffffffffffffffU,0x00000000000001ffU
  88768. };
  88769. #else
  88770. /* The low half of the order-2 of the P521 curve. */
  88771. static const uint64_t p521_order_low[5] = {
  88772. 0xbb6fb71e91386407U,0x3bb5c9b8899c47aeU,0x7fcc0148f709a5d0U,
  88773. 0x51868783bf2f966bU,0xfffffffffffffffaU
  88774. };
  88775. #endif /* WOLFSSL_SP_SMALL */
  88776. /* Square number mod the order of P521 curve. (r = a * a mod order)
  88777. *
  88778. * r Result of the squaring.
  88779. * a Number to square.
  88780. */
  88781. static void sp_521_mont_sqr_order_9(sp_digit* r, const sp_digit* a)
  88782. {
  88783. sp_521_sqr_9(r, a);
  88784. sp_521_mont_reduce_order_9(r, p521_order, p521_mp_order);
  88785. }
  88786. #ifndef WOLFSSL_SP_SMALL
  88787. /* Square number mod the order of P521 curve a number of times.
  88788. * (r = a ^ n mod order)
  88789. *
  88790. * r Result of the squaring.
  88791. * a Number to square.
  88792. */
  88793. static void sp_521_mont_sqr_n_order_9(sp_digit* r, const sp_digit* a, int n)
  88794. {
  88795. int i;
  88796. sp_521_mont_sqr_order_9(r, a);
  88797. for (i=1; i<n; i++) {
  88798. sp_521_mont_sqr_order_9(r, r);
  88799. }
  88800. }
  88801. #endif /* !WOLFSSL_SP_SMALL */
  88802. /* Invert the number, in Montgomery form, modulo the order of the P521 curve.
  88803. * (r = 1 / a mod order)
  88804. *
  88805. * r Inverse result.
  88806. * a Number to invert.
  88807. * td Temporary data.
  88808. */
  88809. #ifdef WOLFSSL_SP_NONBLOCK
  88810. typedef struct sp_521_mont_inv_order_9_ctx {
  88811. int state;
  88812. int i;
  88813. } sp_521_mont_inv_order_9_ctx;
  88814. static int sp_521_mont_inv_order_9_nb(sp_ecc_ctx_t* sp_ctx, sp_digit* r, const sp_digit* a,
  88815. sp_digit* t)
  88816. {
  88817. int err = FP_WOULDBLOCK;
  88818. sp_521_mont_inv_order_9_ctx* ctx = (sp_521_mont_inv_order_9_ctx*)sp_ctx;
  88819. typedef char ctx_size_test[sizeof(sp_521_mont_inv_order_9_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  88820. (void)sizeof(ctx_size_test);
  88821. switch (ctx->state) {
  88822. case 0:
  88823. XMEMCPY(t, a, sizeof(sp_digit) * 9);
  88824. ctx->i = 519;
  88825. ctx->state = 1;
  88826. break;
  88827. case 1:
  88828. sp_521_mont_sqr_order_9(t, t);
  88829. ctx->state = 2;
  88830. break;
  88831. case 2:
  88832. if ((p521_order_minus_2[ctx->i / 64] & ((sp_int_digit)1 << (ctx->i % 64))) != 0) {
  88833. sp_521_mont_mul_order_9(t, t, a);
  88834. }
  88835. ctx->i--;
  88836. ctx->state = (ctx->i == 0) ? 3 : 1;
  88837. break;
  88838. case 3:
  88839. XMEMCPY(r, t, sizeof(sp_digit) * 9U);
  88840. err = MP_OKAY;
  88841. break;
  88842. }
  88843. return err;
  88844. }
  88845. #endif /* WOLFSSL_SP_NONBLOCK */
  88846. static void sp_521_mont_inv_order_9(sp_digit* r, const sp_digit* a,
  88847. sp_digit* td)
  88848. {
  88849. #ifdef WOLFSSL_SP_SMALL
  88850. sp_digit* t = td;
  88851. int i;
  88852. XMEMCPY(t, a, sizeof(sp_digit) * 9);
  88853. for (i=519; i>=0; i--) {
  88854. sp_521_mont_sqr_order_9(t, t);
  88855. if ((p521_order_minus_2[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  88856. sp_521_mont_mul_order_9(t, t, a);
  88857. }
  88858. }
  88859. XMEMCPY(r, t, sizeof(sp_digit) * 9U);
  88860. #else
  88861. sp_digit* t = td;
  88862. sp_digit* t2 = td + 2 * 9;
  88863. sp_digit* t3 = td + 4 * 9;
  88864. int i;
  88865. /* t = a^2 */
  88866. sp_521_mont_sqr_order_9(t, a);
  88867. /* t = a^3 = t * a */
  88868. sp_521_mont_mul_order_9(t, t, a);
  88869. /* t= a^c = t ^ 2 ^ 2 */
  88870. sp_521_mont_sqr_n_order_9(t2, t, 2);
  88871. /* t = a^f = t2 * t */
  88872. sp_521_mont_mul_order_9(t, t2, t);
  88873. /* t3 = a^1e */
  88874. sp_521_mont_sqr_order_9(t3, t);
  88875. /* t3 = a^1f = t3 * a */
  88876. sp_521_mont_mul_order_9(t3, t3, a);
  88877. /* t2= a^f0 = t ^ 2 ^ 4 */
  88878. sp_521_mont_sqr_n_order_9(t2, t, 4);
  88879. /* t = a^ff = t2 * t */
  88880. sp_521_mont_mul_order_9(t, t2, t);
  88881. /* t2= a^ff00 = t ^ 2 ^ 8 */
  88882. sp_521_mont_sqr_n_order_9(t2, t, 8);
  88883. /* t3= a^ffff = t2 * t */
  88884. sp_521_mont_mul_order_9(t, t2, t);
  88885. /* t2= a^ffff0000 = t ^ 2 ^ 16 */
  88886. sp_521_mont_sqr_n_order_9(t2, t, 16);
  88887. /* t = a^ffffffff = t2 * t */
  88888. sp_521_mont_mul_order_9(t, t2, t);
  88889. /* t2= a^ffffffff00000000 = t ^ 2 ^ 32 */
  88890. sp_521_mont_sqr_n_order_9(t2, t, 32);
  88891. /* t = a^ffffffffffffffff = t2 * t */
  88892. sp_521_mont_mul_order_9(t, t2, t);
  88893. /* t2= a^ffffffffffffffff0000000000000000 = t ^ 2 ^ 64 */
  88894. sp_521_mont_sqr_n_order_9(t2, t, 64);
  88895. /* t = a^ffffffffffffffffffffffffffffffff = t2 * t */
  88896. sp_521_mont_mul_order_9(t, t2, t);
  88897. /* t2= a^ffffffffffffffffffffffffffffffff00000000000000000000000000000000 = t ^ 2 ^ 128 */
  88898. sp_521_mont_sqr_n_order_9(t2, t, 128);
  88899. /* t = a^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = t2 * t */
  88900. sp_521_mont_mul_order_9(t, t2, t);
  88901. /* t2 = a^1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 */
  88902. sp_521_mont_sqr_n_order_9(t2, t, 5);
  88903. /* t2 = a^1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = t * t3 */
  88904. sp_521_mont_mul_order_9(t2, t2, t3);
  88905. for (i=259; i>=1; i--) {
  88906. sp_521_mont_sqr_order_9(t2, t2);
  88907. if ((p521_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  88908. sp_521_mont_mul_order_9(t2, t2, a);
  88909. }
  88910. }
  88911. sp_521_mont_sqr_order_9(t2, t2);
  88912. sp_521_mont_mul_order_9(r, t2, a);
  88913. #endif /* WOLFSSL_SP_SMALL */
  88914. }
  88915. #endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
  88916. #ifdef HAVE_INTEL_AVX2
  88917. /* Multiply two number mod the order of P521 curve. (r = a * b mod order)
  88918. *
  88919. * r Result of the multiplication.
  88920. * a First operand of the multiplication.
  88921. * b Second operand of the multiplication.
  88922. */
  88923. static void sp_521_mont_mul_order_avx2_9(sp_digit* r, const sp_digit* a, const sp_digit* b)
  88924. {
  88925. sp_521_mul_avx2_9(r, a, b);
  88926. sp_521_mont_reduce_order_avx2_9(r, p521_order, p521_mp_order);
  88927. }
  88928. #if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
  88929. /* Square number mod the order of P521 curve. (r = a * a mod order)
  88930. *
  88931. * r Result of the squaring.
  88932. * a Number to square.
  88933. */
  88934. static void sp_521_mont_sqr_order_avx2_9(sp_digit* r, const sp_digit* a)
  88935. {
  88936. sp_521_sqr_avx2_9(r, a);
  88937. sp_521_mont_reduce_order_avx2_9(r, p521_order, p521_mp_order);
  88938. }
  88939. #ifndef WOLFSSL_SP_SMALL
  88940. /* Square number mod the order of P521 curve a number of times.
  88941. * (r = a ^ n mod order)
  88942. *
  88943. * r Result of the squaring.
  88944. * a Number to square.
  88945. */
  88946. static void sp_521_mont_sqr_n_order_avx2_9(sp_digit* r, const sp_digit* a, int n)
  88947. {
  88948. int i;
  88949. sp_521_mont_sqr_order_avx2_9(r, a);
  88950. for (i=1; i<n; i++) {
  88951. sp_521_mont_sqr_order_avx2_9(r, r);
  88952. }
  88953. }
  88954. #endif /* !WOLFSSL_SP_SMALL */
  88955. /* Invert the number, in Montgomery form, modulo the order of the P521 curve.
  88956. * (r = 1 / a mod order)
  88957. *
  88958. * r Inverse result.
  88959. * a Number to invert.
  88960. * td Temporary data.
  88961. */
  88962. #ifdef WOLFSSL_SP_NONBLOCK
  88963. typedef struct sp_521_mont_inv_order_avx2_9_ctx {
  88964. int state;
  88965. int i;
  88966. } sp_521_mont_inv_order_avx2_9_ctx;
  88967. static int sp_521_mont_inv_order_avx2_9_nb(sp_ecc_ctx_t* sp_ctx, sp_digit* r, const sp_digit* a,
  88968. sp_digit* t)
  88969. {
  88970. int err = FP_WOULDBLOCK;
  88971. sp_521_mont_inv_order_avx2_9_ctx* ctx = (sp_521_mont_inv_order_avx2_9_ctx*)sp_ctx;
  88972. typedef char ctx_size_test[sizeof(sp_521_mont_inv_order_avx2_9_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  88973. (void)sizeof(ctx_size_test);
  88974. switch (ctx->state) {
  88975. case 0:
  88976. XMEMCPY(t, a, sizeof(sp_digit) * 9);
  88977. ctx->i = 519;
  88978. ctx->state = 1;
  88979. break;
  88980. case 1:
  88981. sp_521_mont_sqr_order_avx2_9(t, t);
  88982. ctx->state = 2;
  88983. break;
  88984. case 2:
  88985. if ((p521_order_minus_2[ctx->i / 64] & ((sp_int_digit)1 << (ctx->i % 64))) != 0) {
  88986. sp_521_mont_mul_order_avx2_9(t, t, a);
  88987. }
  88988. ctx->i--;
  88989. ctx->state = (ctx->i == 0) ? 3 : 1;
  88990. break;
  88991. case 3:
  88992. XMEMCPY(r, t, sizeof(sp_digit) * 9U);
  88993. err = MP_OKAY;
  88994. break;
  88995. }
  88996. return err;
  88997. }
  88998. #endif /* WOLFSSL_SP_NONBLOCK */
  88999. static void sp_521_mont_inv_order_avx2_9(sp_digit* r, const sp_digit* a,
  89000. sp_digit* td)
  89001. {
  89002. #ifdef WOLFSSL_SP_SMALL
  89003. sp_digit* t = td;
  89004. int i;
  89005. XMEMCPY(t, a, sizeof(sp_digit) * 9);
  89006. for (i=519; i>=0; i--) {
  89007. sp_521_mont_sqr_order_avx2_9(t, t);
  89008. if ((p521_order_minus_2[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  89009. sp_521_mont_mul_order_avx2_9(t, t, a);
  89010. }
  89011. }
  89012. XMEMCPY(r, t, sizeof(sp_digit) * 9U);
  89013. #else
  89014. sp_digit* t = td;
  89015. sp_digit* t2 = td + 2 * 9;
  89016. sp_digit* t3 = td + 4 * 9;
  89017. int i;
  89018. /* t = a^2 */
  89019. sp_521_mont_sqr_order_avx2_9(t, a);
  89020. /* t = a^3 = t * a */
  89021. sp_521_mont_mul_order_avx2_9(t, t, a);
  89022. /* t= a^c = t ^ 2 ^ 2 */
  89023. sp_521_mont_sqr_n_order_avx2_9(t2, t, 2);
  89024. /* t = a^f = t2 * t */
  89025. sp_521_mont_mul_order_avx2_9(t, t2, t);
  89026. /* t3 = a^1e */
  89027. sp_521_mont_sqr_order_avx2_9(t3, t);
  89028. /* t3 = a^1f = t3 * a */
  89029. sp_521_mont_mul_order_avx2_9(t3, t3, a);
  89030. /* t2= a^f0 = t ^ 2 ^ 4 */
  89031. sp_521_mont_sqr_n_order_avx2_9(t2, t, 4);
  89032. /* t = a^ff = t2 * t */
  89033. sp_521_mont_mul_order_avx2_9(t, t2, t);
  89034. /* t2= a^ff00 = t ^ 2 ^ 8 */
  89035. sp_521_mont_sqr_n_order_avx2_9(t2, t, 8);
  89036. /* t3= a^ffff = t2 * t */
  89037. sp_521_mont_mul_order_avx2_9(t, t2, t);
  89038. /* t2= a^ffff0000 = t ^ 2 ^ 16 */
  89039. sp_521_mont_sqr_n_order_avx2_9(t2, t, 16);
  89040. /* t = a^ffffffff = t2 * t */
  89041. sp_521_mont_mul_order_avx2_9(t, t2, t);
  89042. /* t2= a^ffffffff00000000 = t ^ 2 ^ 32 */
  89043. sp_521_mont_sqr_n_order_avx2_9(t2, t, 32);
  89044. /* t = a^ffffffffffffffff = t2 * t */
  89045. sp_521_mont_mul_order_avx2_9(t, t2, t);
  89046. /* t2= a^ffffffffffffffff0000000000000000 = t ^ 2 ^ 64 */
  89047. sp_521_mont_sqr_n_order_avx2_9(t2, t, 64);
  89048. /* t = a^ffffffffffffffffffffffffffffffff = t2 * t */
  89049. sp_521_mont_mul_order_avx2_9(t, t2, t);
  89050. /* t2= a^ffffffffffffffffffffffffffffffff00000000000000000000000000000000 = t ^ 2 ^ 128 */
  89051. sp_521_mont_sqr_n_order_avx2_9(t2, t, 128);
  89052. /* t = a^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = t2 * t */
  89053. sp_521_mont_mul_order_avx2_9(t, t2, t);
  89054. /* t2 = a^1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 */
  89055. sp_521_mont_sqr_n_order_avx2_9(t2, t, 5);
  89056. /* t2 = a^1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = t * t3 */
  89057. sp_521_mont_mul_order_avx2_9(t2, t2, t3);
  89058. for (i=259; i>=1; i--) {
  89059. sp_521_mont_sqr_order_avx2_9(t2, t2);
  89060. if ((p521_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  89061. sp_521_mont_mul_order_avx2_9(t2, t2, a);
  89062. }
  89063. }
  89064. sp_521_mont_sqr_order_avx2_9(t2, t2);
  89065. sp_521_mont_mul_order_avx2_9(r, t2, a);
  89066. #endif /* WOLFSSL_SP_SMALL */
  89067. }
  89068. #endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
  89069. #endif /* HAVE_INTEL_AVX2 */
  89070. #endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
  89071. #ifdef HAVE_ECC_SIGN
  89072. #ifndef SP_ECC_MAX_SIG_GEN
  89073. #define SP_ECC_MAX_SIG_GEN 64
  89074. #endif
  89075. /* Calculate second signature value S from R, k and private value.
  89076. *
  89077. * s = (r * x + e) / k
  89078. *
  89079. * s Signature value.
  89080. * r First signature value.
  89081. * k Ephemeral private key.
  89082. * x Private key as a number.
  89083. * e Hash of message as a number.
  89084. * tmp Temporary storage for intermediate numbers.
  89085. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  89086. */
  89087. static int sp_521_calc_s_9(sp_digit* s, const sp_digit* r, sp_digit* k,
  89088. sp_digit* x, const sp_digit* e, sp_digit* tmp)
  89089. {
  89090. int err;
  89091. sp_digit carry;
  89092. sp_int64 c;
  89093. sp_digit* kInv = k;
  89094. #ifdef HAVE_INTEL_AVX2
  89095. word32 cpuid_flags = cpuid_get_flags();
  89096. #endif
  89097. /* Conv k to Montgomery form (mod order) */
  89098. #ifdef HAVE_INTEL_AVX2
  89099. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  89100. sp_521_mul_avx2_9(k, k, p521_norm_order);
  89101. else
  89102. #endif
  89103. sp_521_mul_9(k, k, p521_norm_order);
  89104. err = sp_521_mod_9(k, k, p521_order);
  89105. if (err == MP_OKAY) {
  89106. sp_521_norm_9(k);
  89107. /* kInv = 1/k mod order */
  89108. #ifdef HAVE_INTEL_AVX2
  89109. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  89110. sp_521_mont_inv_order_avx2_9(kInv, k, tmp);
  89111. else
  89112. #endif
  89113. sp_521_mont_inv_order_9(kInv, k, tmp);
  89114. sp_521_norm_9(kInv);
  89115. /* s = r * x + e */
  89116. #ifdef HAVE_INTEL_AVX2
  89117. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  89118. sp_521_mul_avx2_9(x, x, r);
  89119. else
  89120. #endif
  89121. sp_521_mul_9(x, x, r);
  89122. err = sp_521_mod_9(x, x, p521_order);
  89123. }
  89124. if (err == MP_OKAY) {
  89125. sp_521_norm_9(x);
  89126. carry = sp_521_add_9(s, e, x);
  89127. sp_521_cond_sub_9(s, s, p521_order, 0 - carry);
  89128. sp_521_norm_9(s);
  89129. c = sp_521_cmp_9(s, p521_order);
  89130. sp_521_cond_sub_9(s, s, p521_order,
  89131. (sp_digit)0 - (sp_digit)(c >= 0));
  89132. sp_521_norm_9(s);
  89133. /* s = s * k^-1 mod order */
  89134. #ifdef HAVE_INTEL_AVX2
  89135. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  89136. sp_521_mont_mul_order_avx2_9(s, s, kInv);
  89137. else
  89138. #endif
  89139. sp_521_mont_mul_order_9(s, s, kInv);
  89140. sp_521_norm_9(s);
  89141. }
  89142. return err;
  89143. }
  89144. /* Sign the hash using the private key.
  89145. * e = [hash, 521 bits] from binary
  89146. * r = (k.G)->x mod order
  89147. * s = (r * x + e) / k mod order
  89148. * The hash is truncated to the first 521 bits.
  89149. *
  89150. * hash Hash to sign.
  89151. * hashLen Length of the hash data.
  89152. * rng Random number generator.
  89153. * priv Private part of key - scalar.
  89154. * rm First part of result as an mp_int.
  89155. * sm Sirst part of result as an mp_int.
  89156. * heap Heap to use for allocation.
  89157. * returns RNG failures, MEMORY_E when memory allocation fails and
  89158. * MP_OKAY on success.
  89159. */
  89160. #ifdef WOLFSSL_SP_NONBLOCK
  89161. typedef struct sp_ecc_sign_521_ctx {
  89162. int state;
  89163. union {
  89164. sp_521_ecc_mulmod_9_ctx mulmod_ctx;
  89165. sp_521_mont_inv_order_9_ctx mont_inv_order_ctx;
  89166. };
  89167. sp_digit e[2*9];
  89168. sp_digit x[2*9];
  89169. sp_digit k[2*9];
  89170. sp_digit r[2*9];
  89171. sp_digit tmp[3 * 2*9];
  89172. sp_point_521 point;
  89173. sp_digit* s;
  89174. sp_digit* kInv;
  89175. int i;
  89176. } sp_ecc_sign_521_ctx;
  89177. int sp_ecc_sign_521_nb(sp_ecc_ctx_t* sp_ctx, const byte* hash, word32 hashLen, WC_RNG* rng,
  89178. mp_int* priv, mp_int* rm, mp_int* sm, mp_int* km, void* heap)
  89179. {
  89180. int err = FP_WOULDBLOCK;
  89181. sp_ecc_sign_521_ctx* ctx = (sp_ecc_sign_521_ctx*)sp_ctx->data;
  89182. typedef char ctx_size_test[sizeof(sp_ecc_sign_521_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  89183. (void)sizeof(ctx_size_test);
  89184. (void)heap;
  89185. switch (ctx->state) {
  89186. case 0: /* INIT */
  89187. ctx->s = ctx->e;
  89188. ctx->kInv = ctx->k;
  89189. ctx->i = SP_ECC_MAX_SIG_GEN;
  89190. ctx->state = 1;
  89191. break;
  89192. case 1: /* GEN */
  89193. /* New random point. */
  89194. if (km == NULL || mp_iszero(km)) {
  89195. err = sp_521_ecc_gen_k_9(rng, ctx->k);
  89196. }
  89197. else {
  89198. sp_521_from_mp(ctx->k, 9, km);
  89199. mp_zero(km);
  89200. }
  89201. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  89202. ctx->state = 2;
  89203. break;
  89204. case 2: /* MULMOD */
  89205. err = sp_521_ecc_mulmod_9_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx,
  89206. &ctx->point, &p521_base, ctx->k, 1, 1, heap);
  89207. if (err == MP_OKAY) {
  89208. ctx->state = 3;
  89209. }
  89210. break;
  89211. case 3: /* MODORDER */
  89212. {
  89213. sp_int64 c;
  89214. /* r = point->x mod order */
  89215. XMEMCPY(ctx->r, ctx->point.x, sizeof(sp_digit) * 9U);
  89216. sp_521_norm_9(ctx->r);
  89217. c = sp_521_cmp_9(ctx->r, p521_order);
  89218. sp_521_cond_sub_9(ctx->r, ctx->r, p521_order,
  89219. (sp_digit)0 - (sp_digit)(c >= 0));
  89220. sp_521_norm_9(ctx->r);
  89221. if (hashLen > 66U) {
  89222. hashLen = 66U;
  89223. }
  89224. sp_521_from_mp(ctx->x, 9, priv);
  89225. sp_521_from_bin(ctx->e, 9, hash, (int)hashLen);
  89226. if (hashLen == 66U) {
  89227. sp_521_rshift_9(ctx->e, ctx->e, 7);
  89228. }
  89229. ctx->state = 4;
  89230. break;
  89231. }
  89232. case 4: /* KMODORDER */
  89233. /* Conv k to Montgomery form (mod order) */
  89234. sp_521_mul_9(ctx->k, ctx->k, p521_norm_order);
  89235. err = sp_521_mod_9(ctx->k, ctx->k, p521_order);
  89236. if (err == MP_OKAY) {
  89237. sp_521_norm_9(ctx->k);
  89238. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  89239. ctx->state = 5;
  89240. }
  89241. break;
  89242. case 5: /* KINV */
  89243. /* kInv = 1/k mod order */
  89244. err = sp_521_mont_inv_order_9_nb((sp_ecc_ctx_t*)&ctx->mont_inv_order_ctx, ctx->kInv, ctx->k, ctx->tmp);
  89245. if (err == MP_OKAY) {
  89246. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  89247. ctx->state = 6;
  89248. }
  89249. break;
  89250. case 6: /* KINVNORM */
  89251. sp_521_norm_9(ctx->kInv);
  89252. ctx->state = 7;
  89253. break;
  89254. case 7: /* R */
  89255. /* s = r * x + e */
  89256. sp_521_mul_9(ctx->x, ctx->x, ctx->r);
  89257. ctx->state = 8;
  89258. break;
  89259. case 8: /* S1 */
  89260. err = sp_521_mod_9(ctx->x, ctx->x, p521_order);
  89261. if (err == MP_OKAY)
  89262. ctx->state = 9;
  89263. break;
  89264. case 9: /* S2 */
  89265. {
  89266. sp_digit carry;
  89267. sp_int64 c;
  89268. sp_521_norm_9(ctx->x);
  89269. carry = sp_521_add_9(ctx->s, ctx->e, ctx->x);
  89270. sp_521_cond_sub_9(ctx->s, ctx->s,
  89271. p521_order, 0 - carry);
  89272. sp_521_norm_9(ctx->s);
  89273. c = sp_521_cmp_9(ctx->s, p521_order);
  89274. sp_521_cond_sub_9(ctx->s, ctx->s, p521_order,
  89275. (sp_digit)0 - (sp_digit)(c >= 0));
  89276. sp_521_norm_9(ctx->s);
  89277. /* s = s * k^-1 mod order */
  89278. sp_521_mont_mul_order_9(ctx->s, ctx->s, ctx->kInv);
  89279. sp_521_norm_9(ctx->s);
  89280. /* Check that signature is usable. */
  89281. if (sp_521_iszero_9(ctx->s) == 0) {
  89282. ctx->state = 10;
  89283. break;
  89284. }
  89285. #ifdef WOLFSSL_ECDSA_SET_K_ONE_LOOP
  89286. ctx->i = 1;
  89287. #endif
  89288. /* not usable gen, try again */
  89289. ctx->i--;
  89290. if (ctx->i == 0) {
  89291. err = RNG_FAILURE_E;
  89292. }
  89293. ctx->state = 1;
  89294. break;
  89295. }
  89296. case 10: /* RES */
  89297. err = sp_521_to_mp(ctx->r, rm);
  89298. if (err == MP_OKAY) {
  89299. err = sp_521_to_mp(ctx->s, sm);
  89300. }
  89301. break;
  89302. }
  89303. if (err == MP_OKAY && ctx->state != 10) {
  89304. err = FP_WOULDBLOCK;
  89305. }
  89306. if (err != FP_WOULDBLOCK) {
  89307. XMEMSET(ctx->e, 0, sizeof(sp_digit) * 2U * 9U);
  89308. XMEMSET(ctx->x, 0, sizeof(sp_digit) * 2U * 9U);
  89309. XMEMSET(ctx->k, 0, sizeof(sp_digit) * 2U * 9U);
  89310. XMEMSET(ctx->r, 0, sizeof(sp_digit) * 2U * 9U);
  89311. XMEMSET(ctx->tmp, 0, sizeof(sp_digit) * 3U * 2U * 9U);
  89312. }
  89313. return err;
  89314. }
  89315. #endif /* WOLFSSL_SP_NONBLOCK */
  89316. int sp_ecc_sign_521(const byte* hash, word32 hashLen, WC_RNG* rng,
  89317. const mp_int* priv, mp_int* rm, mp_int* sm, mp_int* km, void* heap)
  89318. {
  89319. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  89320. sp_digit* e = NULL;
  89321. sp_point_521* point = NULL;
  89322. #else
  89323. sp_digit e[7 * 2 * 9];
  89324. sp_point_521 point[1];
  89325. #endif
  89326. sp_digit* x = NULL;
  89327. sp_digit* k = NULL;
  89328. sp_digit* r = NULL;
  89329. sp_digit* tmp = NULL;
  89330. sp_digit* s = NULL;
  89331. sp_int64 c;
  89332. int err = MP_OKAY;
  89333. int i;
  89334. #ifdef HAVE_INTEL_AVX2
  89335. word32 cpuid_flags = cpuid_get_flags();
  89336. #endif
  89337. (void)heap;
  89338. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  89339. if (err == MP_OKAY) {
  89340. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521), heap,
  89341. DYNAMIC_TYPE_ECC);
  89342. if (point == NULL)
  89343. err = MEMORY_E;
  89344. }
  89345. if (err == MP_OKAY) {
  89346. e = (sp_digit*)XMALLOC(sizeof(sp_digit) * 7 * 2 * 9, heap,
  89347. DYNAMIC_TYPE_ECC);
  89348. if (e == NULL)
  89349. err = MEMORY_E;
  89350. }
  89351. #endif
  89352. if (err == MP_OKAY) {
  89353. x = e + 2 * 9;
  89354. k = e + 4 * 9;
  89355. r = e + 6 * 9;
  89356. tmp = e + 8 * 9;
  89357. s = e;
  89358. if (hashLen > 66U) {
  89359. hashLen = 66U;
  89360. }
  89361. }
  89362. for (i = SP_ECC_MAX_SIG_GEN; err == MP_OKAY && i > 0; i--) {
  89363. /* New random point. */
  89364. if (km == NULL || mp_iszero(km)) {
  89365. err = sp_521_ecc_gen_k_9(rng, k);
  89366. }
  89367. else {
  89368. sp_521_from_mp(k, 9, km);
  89369. mp_zero(km);
  89370. }
  89371. if (err == MP_OKAY) {
  89372. #ifdef HAVE_INTEL_AVX2
  89373. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  89374. err = sp_521_ecc_mulmod_base_avx2_9(point, k, 1, 1, heap);
  89375. else
  89376. #endif
  89377. err = sp_521_ecc_mulmod_base_9(point, k, 1, 1, heap);
  89378. }
  89379. if (err == MP_OKAY) {
  89380. /* r = point->x mod order */
  89381. XMEMCPY(r, point->x, sizeof(sp_digit) * 9U);
  89382. sp_521_norm_9(r);
  89383. c = sp_521_cmp_9(r, p521_order);
  89384. sp_521_cond_sub_9(r, r, p521_order,
  89385. (sp_digit)0 - (sp_digit)(c >= 0));
  89386. sp_521_norm_9(r);
  89387. sp_521_from_mp(x, 9, priv);
  89388. sp_521_from_bin(e, 9, hash, (int)hashLen);
  89389. if (hashLen == 66U) {
  89390. sp_521_rshift_9(e, e, 7);
  89391. }
  89392. err = sp_521_calc_s_9(s, r, k, x, e, tmp);
  89393. }
  89394. /* Check that signature is usable. */
  89395. if ((err == MP_OKAY) && (sp_521_iszero_9(s) == 0)) {
  89396. break;
  89397. }
  89398. #ifdef WOLFSSL_ECDSA_SET_K_ONE_LOOP
  89399. i = 1;
  89400. #endif
  89401. }
  89402. if (i == 0) {
  89403. err = RNG_FAILURE_E;
  89404. }
  89405. if (err == MP_OKAY) {
  89406. err = sp_521_to_mp(r, rm);
  89407. }
  89408. if (err == MP_OKAY) {
  89409. err = sp_521_to_mp(s, sm);
  89410. }
  89411. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  89412. if (e != NULL)
  89413. #endif
  89414. {
  89415. ForceZero(e, sizeof(sp_digit) * 7 * 2 * 9);
  89416. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  89417. XFREE(e, heap, DYNAMIC_TYPE_ECC);
  89418. #endif
  89419. }
  89420. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  89421. if (point != NULL)
  89422. #endif
  89423. {
  89424. ForceZero(point, sizeof(sp_point_521));
  89425. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  89426. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  89427. #endif
  89428. }
  89429. return err;
  89430. }
  89431. #endif /* HAVE_ECC_SIGN */
  89432. #ifndef WOLFSSL_SP_SMALL
  89433. #ifdef __cplusplus
  89434. extern "C" {
  89435. #endif
  89436. extern void sp_521_rshift1_9(sp_digit* r, const sp_digit* a);
  89437. #ifdef __cplusplus
  89438. }
  89439. #endif
  89440. #ifdef __cplusplus
  89441. extern "C" {
  89442. #endif
  89443. extern void sp_521_div2_mod_9(sp_digit* r, const sp_digit* a, const sp_digit* m);
  89444. #ifdef __cplusplus
  89445. }
  89446. #endif
  89447. #ifdef __cplusplus
  89448. extern "C" {
  89449. #endif
  89450. extern int sp_521_num_bits_9(const sp_digit * a);
  89451. #ifdef __cplusplus
  89452. }
  89453. #endif
  89454. /* Non-constant time modular inversion.
  89455. *
  89456. * @param [out] r Resulting number.
  89457. * @param [in] a Number to invert.
  89458. * @param [in] m Modulus.
  89459. * @return MP_OKAY on success.
  89460. */
  89461. static int sp_521_mod_inv_9(sp_digit* r, const sp_digit* a, const sp_digit* m)
  89462. {
  89463. sp_digit u[9];
  89464. sp_digit v[9];
  89465. sp_digit b[9];
  89466. sp_digit d[9];
  89467. int ut, vt;
  89468. sp_digit o;
  89469. XMEMCPY(u, m, sizeof(u));
  89470. XMEMCPY(v, a, sizeof(v));
  89471. ut = sp_521_num_bits_9(u);
  89472. vt = sp_521_num_bits_9(v);
  89473. XMEMSET(b, 0, sizeof(b));
  89474. if ((v[0] & 1) == 0) {
  89475. sp_521_rshift1_9(v, v);
  89476. XMEMCPY(d, m, sizeof(u));
  89477. d[0] += 1;
  89478. sp_521_rshift1_9(d, d);
  89479. vt--;
  89480. while ((v[0] & 1) == 0) {
  89481. sp_521_rshift1_9(v, v);
  89482. sp_521_div2_mod_9(d, d, m);
  89483. vt--;
  89484. }
  89485. }
  89486. else {
  89487. XMEMSET(d+1, 0, sizeof(d)-sizeof(sp_digit));
  89488. d[0] = 1;
  89489. }
  89490. while (ut > 1 && vt > 1) {
  89491. if (ut > vt || (ut == vt && sp_521_cmp_9(u, v) >= 0)) {
  89492. sp_521_sub_9(u, u, v);
  89493. o = sp_521_sub_9(b, b, d);
  89494. if (o != 0)
  89495. sp_521_add_9(b, b, m);
  89496. ut = sp_521_num_bits_9(u);
  89497. do {
  89498. sp_521_rshift1_9(u, u);
  89499. sp_521_div2_mod_9(b, b, m);
  89500. ut--;
  89501. }
  89502. while (ut > 0 && (u[0] & 1) == 0);
  89503. }
  89504. else {
  89505. sp_521_sub_9(v, v, u);
  89506. o = sp_521_sub_9(d, d, b);
  89507. if (o != 0)
  89508. sp_521_add_9(d, d, m);
  89509. vt = sp_521_num_bits_9(v);
  89510. do {
  89511. sp_521_rshift1_9(v, v);
  89512. sp_521_div2_mod_9(d, d, m);
  89513. vt--;
  89514. }
  89515. while (vt > 0 && (v[0] & 1) == 0);
  89516. }
  89517. }
  89518. if (ut == 1)
  89519. XMEMCPY(r, b, sizeof(b));
  89520. else
  89521. XMEMCPY(r, d, sizeof(d));
  89522. return MP_OKAY;
  89523. }
  89524. #endif /* WOLFSSL_SP_SMALL */
  89525. /* Add point p1 into point p2. Handles p1 == p2 and result at infinity.
  89526. *
  89527. * p1 First point to add and holds result.
  89528. * p2 Second point to add.
  89529. * tmp Temporary storage for intermediate numbers.
  89530. */
  89531. static void sp_521_add_points_9(sp_point_521* p1, const sp_point_521* p2,
  89532. sp_digit* tmp)
  89533. {
  89534. #ifdef HAVE_INTEL_AVX2
  89535. word32 cpuid_flags = cpuid_get_flags();
  89536. #endif
  89537. #ifdef HAVE_INTEL_AVX2
  89538. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  89539. sp_521_proj_point_add_avx2_9(p1, p1, p2, tmp);
  89540. }
  89541. else
  89542. #endif
  89543. sp_521_proj_point_add_9(p1, p1, p2, tmp);
  89544. if (sp_521_iszero_9(p1->z)) {
  89545. if (sp_521_iszero_9(p1->x) && sp_521_iszero_9(p1->y)) {
  89546. #ifdef HAVE_INTEL_AVX2
  89547. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  89548. sp_521_proj_point_dbl_avx2_9(p1, p2, tmp);
  89549. }
  89550. else
  89551. #endif
  89552. sp_521_proj_point_dbl_9(p1, p2, tmp);
  89553. }
  89554. else {
  89555. /* Y ordinate is not used from here - don't set. */
  89556. p1->x[0] = 0;
  89557. p1->x[1] = 0;
  89558. p1->x[2] = 0;
  89559. p1->x[3] = 0;
  89560. p1->x[4] = 0;
  89561. p1->x[5] = 0;
  89562. p1->x[6] = 0;
  89563. p1->x[7] = 0;
  89564. p1->x[8] = 0;
  89565. XMEMCPY(p1->z, p521_norm_mod, sizeof(p521_norm_mod));
  89566. }
  89567. }
  89568. }
  89569. /* Calculate the verification point: [e/s]G + [r/s]Q
  89570. *
  89571. * p1 Calculated point.
  89572. * p2 Public point and temporary.
  89573. * s Second part of signature as a number.
  89574. * u1 Temporary number.
  89575. * u2 Temproray number.
  89576. * heap Heap to use for allocation.
  89577. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  89578. */
  89579. static int sp_521_calc_vfy_point_9(sp_point_521* p1, sp_point_521* p2,
  89580. sp_digit* s, sp_digit* u1, sp_digit* u2, sp_digit* tmp, void* heap)
  89581. {
  89582. int err;
  89583. #ifdef HAVE_INTEL_AVX2
  89584. word32 cpuid_flags = cpuid_get_flags();
  89585. #endif
  89586. #ifndef WOLFSSL_SP_SMALL
  89587. err = sp_521_mod_inv_9(s, s, p521_order);
  89588. if (err == MP_OKAY)
  89589. #endif /* !WOLFSSL_SP_SMALL */
  89590. {
  89591. #ifdef HAVE_INTEL_AVX2
  89592. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  89593. sp_521_mul_avx2_9(s, s, p521_norm_order);
  89594. }
  89595. else
  89596. #endif
  89597. {
  89598. sp_521_mul_9(s, s, p521_norm_order);
  89599. }
  89600. err = sp_521_mod_9(s, s, p521_order);
  89601. }
  89602. if (err == MP_OKAY) {
  89603. sp_521_norm_9(s);
  89604. #ifdef WOLFSSL_SP_SMALL
  89605. #ifdef HAVE_INTEL_AVX2
  89606. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  89607. sp_521_mont_inv_order_avx2_9(s, s, tmp);
  89608. sp_521_mont_mul_order_avx2_9(u1, u1, s);
  89609. sp_521_mont_mul_order_avx2_9(u2, u2, s);
  89610. }
  89611. else
  89612. #endif
  89613. {
  89614. sp_521_mont_inv_order_9(s, s, tmp);
  89615. sp_521_mont_mul_order_9(u1, u1, s);
  89616. sp_521_mont_mul_order_9(u2, u2, s);
  89617. }
  89618. #else
  89619. #ifdef HAVE_INTEL_AVX2
  89620. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  89621. sp_521_mont_mul_order_avx2_9(u1, u1, s);
  89622. sp_521_mont_mul_order_avx2_9(u2, u2, s);
  89623. }
  89624. else
  89625. #endif
  89626. {
  89627. sp_521_mont_mul_order_9(u1, u1, s);
  89628. sp_521_mont_mul_order_9(u2, u2, s);
  89629. }
  89630. #endif /* WOLFSSL_SP_SMALL */
  89631. #ifdef HAVE_INTEL_AVX2
  89632. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  89633. err = sp_521_ecc_mulmod_base_avx2_9(p1, u1, 0, 0, heap);
  89634. }
  89635. else
  89636. #endif
  89637. {
  89638. err = sp_521_ecc_mulmod_base_9(p1, u1, 0, 0, heap);
  89639. }
  89640. }
  89641. if ((err == MP_OKAY) && sp_521_iszero_9(p1->z)) {
  89642. p1->infinity = 1;
  89643. }
  89644. if (err == MP_OKAY) {
  89645. #ifdef HAVE_INTEL_AVX2
  89646. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  89647. err = sp_521_ecc_mulmod_avx2_9(p2, p2, u2, 0, 0, heap);
  89648. else
  89649. #endif
  89650. err = sp_521_ecc_mulmod_9(p2, p2, u2, 0, 0, heap);
  89651. }
  89652. if ((err == MP_OKAY) && sp_521_iszero_9(p2->z)) {
  89653. p2->infinity = 1;
  89654. }
  89655. if (err == MP_OKAY) {
  89656. sp_521_add_points_9(p1, p2, tmp);
  89657. }
  89658. return err;
  89659. }
  89660. #ifdef HAVE_ECC_VERIFY
  89661. /* Verify the signature values with the hash and public key.
  89662. * e = Truncate(hash, 521)
  89663. * u1 = e/s mod order
  89664. * u2 = r/s mod order
  89665. * r == (u1.G + u2.Q)->x mod order
  89666. * Optimization: Leave point in projective form.
  89667. * (x, y, 1) == (x' / z'*z', y' / z'*z'*z', z' / z')
  89668. * (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x'
  89669. * The hash is truncated to the first 521 bits.
  89670. *
  89671. * hash Hash to sign.
  89672. * hashLen Length of the hash data.
  89673. * rng Random number generator.
  89674. * priv Private part of key - scalar.
  89675. * rm First part of result as an mp_int.
  89676. * sm Sirst part of result as an mp_int.
  89677. * heap Heap to use for allocation.
  89678. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  89679. */
  89680. #ifdef WOLFSSL_SP_NONBLOCK
  89681. typedef struct sp_ecc_verify_521_ctx {
  89682. int state;
  89683. union {
  89684. sp_521_ecc_mulmod_9_ctx mulmod_ctx;
  89685. sp_521_mont_inv_order_9_ctx mont_inv_order_ctx;
  89686. sp_521_proj_point_dbl_9_ctx dbl_ctx;
  89687. sp_521_proj_point_add_9_ctx add_ctx;
  89688. };
  89689. sp_digit u1[2*9];
  89690. sp_digit u2[2*9];
  89691. sp_digit s[2*9];
  89692. sp_digit tmp[2*9 * 6];
  89693. sp_point_521 p1;
  89694. sp_point_521 p2;
  89695. } sp_ecc_verify_521_ctx;
  89696. int sp_ecc_verify_521_nb(sp_ecc_ctx_t* sp_ctx, const byte* hash,
  89697. word32 hashLen, const mp_int* pX, const mp_int* pY, const mp_int* pZ,
  89698. const mp_int* rm, const mp_int* sm, int* res, void* heap)
  89699. {
  89700. int err = FP_WOULDBLOCK;
  89701. sp_ecc_verify_521_ctx* ctx = (sp_ecc_verify_521_ctx*)sp_ctx->data;
  89702. typedef char ctx_size_test[sizeof(sp_ecc_verify_521_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  89703. (void)sizeof(ctx_size_test);
  89704. switch (ctx->state) {
  89705. case 0: /* INIT */
  89706. if (hashLen > 66U) {
  89707. hashLen = 66U;
  89708. }
  89709. sp_521_from_bin(ctx->u1, 9, hash, (int)hashLen);
  89710. sp_521_from_mp(ctx->u2, 9, rm);
  89711. sp_521_from_mp(ctx->s, 9, sm);
  89712. sp_521_from_mp(ctx->p2.x, 9, pX);
  89713. sp_521_from_mp(ctx->p2.y, 9, pY);
  89714. sp_521_from_mp(ctx->p2.z, 9, pZ);
  89715. if (hashLen == 66U) {
  89716. sp_521_rshift_9(ctx->u1, ctx->u1, 7);
  89717. }
  89718. ctx->state = 1;
  89719. break;
  89720. case 1: /* NORMS0 */
  89721. sp_521_mul_9(ctx->s, ctx->s, p521_norm_order);
  89722. err = sp_521_mod_9(ctx->s, ctx->s, p521_order);
  89723. if (err == MP_OKAY)
  89724. ctx->state = 2;
  89725. break;
  89726. case 2: /* NORMS1 */
  89727. sp_521_norm_9(ctx->s);
  89728. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  89729. ctx->state = 3;
  89730. break;
  89731. case 3: /* NORMS2 */
  89732. err = sp_521_mont_inv_order_9_nb((sp_ecc_ctx_t*)&ctx->mont_inv_order_ctx, ctx->s, ctx->s, ctx->tmp);
  89733. if (err == MP_OKAY) {
  89734. ctx->state = 4;
  89735. }
  89736. break;
  89737. case 4: /* NORMS3 */
  89738. sp_521_mont_mul_order_9(ctx->u1, ctx->u1, ctx->s);
  89739. ctx->state = 5;
  89740. break;
  89741. case 5: /* NORMS4 */
  89742. sp_521_mont_mul_order_9(ctx->u2, ctx->u2, ctx->s);
  89743. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  89744. ctx->state = 6;
  89745. break;
  89746. case 6: /* MULBASE */
  89747. err = sp_521_ecc_mulmod_9_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, &ctx->p1, &p521_base, ctx->u1, 0, 0, heap);
  89748. if (err == MP_OKAY) {
  89749. if (sp_521_iszero_9(ctx->p1.z)) {
  89750. ctx->p1.infinity = 1;
  89751. }
  89752. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  89753. ctx->state = 7;
  89754. }
  89755. break;
  89756. case 7: /* MULMOD */
  89757. err = sp_521_ecc_mulmod_9_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, &ctx->p2, &ctx->p2, ctx->u2, 0, 0, heap);
  89758. if (err == MP_OKAY) {
  89759. if (sp_521_iszero_9(ctx->p2.z)) {
  89760. ctx->p2.infinity = 1;
  89761. }
  89762. XMEMSET(&ctx->add_ctx, 0, sizeof(ctx->add_ctx));
  89763. ctx->state = 8;
  89764. }
  89765. break;
  89766. case 8: /* ADD */
  89767. err = sp_521_proj_point_add_9_nb((sp_ecc_ctx_t*)&ctx->add_ctx, &ctx->p1, &ctx->p1, &ctx->p2, ctx->tmp);
  89768. if (err == MP_OKAY)
  89769. ctx->state = 9;
  89770. break;
  89771. case 9: /* MONT */
  89772. /* (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x' */
  89773. /* Reload r and convert to Montgomery form. */
  89774. sp_521_from_mp(ctx->u2, 9, rm);
  89775. err = sp_521_mod_mul_norm_9(ctx->u2, ctx->u2, p521_mod);
  89776. if (err == MP_OKAY)
  89777. ctx->state = 10;
  89778. break;
  89779. case 10: /* SQR */
  89780. /* u1 = r.z'.z' mod prime */
  89781. sp_521_mont_sqr_9(ctx->p1.z, ctx->p1.z, p521_mod, p521_mp_mod);
  89782. ctx->state = 11;
  89783. break;
  89784. case 11: /* MUL */
  89785. sp_521_mont_mul_9(ctx->u1, ctx->u2, ctx->p1.z, p521_mod, p521_mp_mod);
  89786. ctx->state = 12;
  89787. break;
  89788. case 12: /* RES */
  89789. {
  89790. sp_int64 c = 0;
  89791. err = MP_OKAY; /* math okay, now check result */
  89792. *res = (int)(sp_521_cmp_9(ctx->p1.x, ctx->u1) == 0);
  89793. if (*res == 0) {
  89794. sp_digit carry;
  89795. /* Reload r and add order. */
  89796. sp_521_from_mp(ctx->u2, 9, rm);
  89797. carry = sp_521_add_9(ctx->u2, ctx->u2, p521_order);
  89798. /* Carry means result is greater than mod and is not valid. */
  89799. if (carry == 0) {
  89800. sp_521_norm_9(ctx->u2);
  89801. /* Compare with mod and if greater or equal then not valid. */
  89802. c = sp_521_cmp_9(ctx->u2, p521_mod);
  89803. }
  89804. }
  89805. if ((*res == 0) && (c < 0)) {
  89806. /* Convert to Montogomery form */
  89807. err = sp_521_mod_mul_norm_9(ctx->u2, ctx->u2, p521_mod);
  89808. if (err == MP_OKAY) {
  89809. /* u1 = (r + 1*order).z'.z' mod prime */
  89810. sp_521_mont_mul_9(ctx->u1, ctx->u2, ctx->p1.z, p521_mod,
  89811. p521_mp_mod);
  89812. *res = (int)(sp_521_cmp_9(ctx->p1.x, ctx->u1) == 0);
  89813. }
  89814. }
  89815. break;
  89816. }
  89817. } /* switch */
  89818. if (err == MP_OKAY && ctx->state != 12) {
  89819. err = FP_WOULDBLOCK;
  89820. }
  89821. return err;
  89822. }
  89823. #endif /* WOLFSSL_SP_NONBLOCK */
  89824. int sp_ecc_verify_521(const byte* hash, word32 hashLen, const mp_int* pX,
  89825. const mp_int* pY, const mp_int* pZ, const mp_int* rm, const mp_int* sm,
  89826. int* res, void* heap)
  89827. {
  89828. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  89829. sp_digit* u1 = NULL;
  89830. sp_point_521* p1 = NULL;
  89831. #else
  89832. sp_digit u1[18 * 9];
  89833. sp_point_521 p1[2];
  89834. #endif
  89835. sp_digit* u2 = NULL;
  89836. sp_digit* s = NULL;
  89837. sp_digit* tmp = NULL;
  89838. sp_point_521* p2 = NULL;
  89839. sp_digit carry;
  89840. sp_int64 c = 0;
  89841. int err = MP_OKAY;
  89842. #ifdef HAVE_INTEL_AVX2
  89843. word32 cpuid_flags = cpuid_get_flags();
  89844. #endif
  89845. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  89846. if (err == MP_OKAY) {
  89847. p1 = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  89848. DYNAMIC_TYPE_ECC);
  89849. if (p1 == NULL)
  89850. err = MEMORY_E;
  89851. }
  89852. if (err == MP_OKAY) {
  89853. u1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 18 * 9, heap,
  89854. DYNAMIC_TYPE_ECC);
  89855. if (u1 == NULL)
  89856. err = MEMORY_E;
  89857. }
  89858. #endif
  89859. if (err == MP_OKAY) {
  89860. u2 = u1 + 2 * 9;
  89861. s = u1 + 4 * 9;
  89862. tmp = u1 + 6 * 9;
  89863. p2 = p1 + 1;
  89864. if (hashLen > 66U) {
  89865. hashLen = 66U;
  89866. }
  89867. sp_521_from_bin(u1, 9, hash, (int)hashLen);
  89868. sp_521_from_mp(u2, 9, rm);
  89869. sp_521_from_mp(s, 9, sm);
  89870. sp_521_from_mp(p2->x, 9, pX);
  89871. sp_521_from_mp(p2->y, 9, pY);
  89872. sp_521_from_mp(p2->z, 9, pZ);
  89873. if (hashLen == 66U) {
  89874. sp_521_rshift_9(u1, u1, 7);
  89875. }
  89876. err = sp_521_calc_vfy_point_9(p1, p2, s, u1, u2, tmp, heap);
  89877. }
  89878. if (err == MP_OKAY) {
  89879. /* (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x' */
  89880. /* Reload r and convert to Montgomery form. */
  89881. sp_521_from_mp(u2, 9, rm);
  89882. err = sp_521_mod_mul_norm_9(u2, u2, p521_mod);
  89883. }
  89884. if (err == MP_OKAY) {
  89885. /* u1 = r.z'.z' mod prime */
  89886. #ifdef HAVE_INTEL_AVX2
  89887. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  89888. sp_521_mont_sqr_avx2_9(p1->z, p1->z, p521_mod, p521_mp_mod);
  89889. else
  89890. #endif
  89891. sp_521_mont_sqr_9(p1->z, p1->z, p521_mod, p521_mp_mod);
  89892. #ifdef HAVE_INTEL_AVX2
  89893. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  89894. sp_521_mont_mul_avx2_9(u1, u2, p1->z, p521_mod, p521_mp_mod);
  89895. else
  89896. #endif
  89897. sp_521_mont_mul_9(u1, u2, p1->z, p521_mod, p521_mp_mod);
  89898. *res = (int)(sp_521_cmp_9(p1->x, u1) == 0);
  89899. if (*res == 0) {
  89900. /* Reload r and add order. */
  89901. sp_521_from_mp(u2, 9, rm);
  89902. carry = sp_521_add_9(u2, u2, p521_order);
  89903. /* Carry means result is greater than mod and is not valid. */
  89904. if (carry == 0) {
  89905. sp_521_norm_9(u2);
  89906. /* Compare with mod and if greater or equal then not valid. */
  89907. c = sp_521_cmp_9(u2, p521_mod);
  89908. }
  89909. }
  89910. if ((*res == 0) && (c < 0)) {
  89911. /* Convert to Montogomery form */
  89912. err = sp_521_mod_mul_norm_9(u2, u2, p521_mod);
  89913. if (err == MP_OKAY) {
  89914. /* u1 = (r + 1*order).z'.z' mod prime */
  89915. #ifdef HAVE_INTEL_AVX2
  89916. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  89917. sp_521_mont_mul_avx2_9(u1, u2, p1->z, p521_mod,
  89918. p521_mp_mod);
  89919. }
  89920. else
  89921. #endif
  89922. {
  89923. sp_521_mont_mul_9(u1, u2, p1->z, p521_mod, p521_mp_mod);
  89924. }
  89925. *res = (sp_521_cmp_9(p1->x, u1) == 0);
  89926. }
  89927. }
  89928. }
  89929. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  89930. if (u1 != NULL)
  89931. XFREE(u1, heap, DYNAMIC_TYPE_ECC);
  89932. if (p1 != NULL)
  89933. XFREE(p1, heap, DYNAMIC_TYPE_ECC);
  89934. #endif
  89935. return err;
  89936. }
  89937. #endif /* HAVE_ECC_VERIFY */
  89938. #ifdef HAVE_ECC_CHECK_KEY
  89939. /* Check that the x and y oridinates are a valid point on the curve.
  89940. *
  89941. * point EC point.
  89942. * heap Heap to use if dynamically allocating.
  89943. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  89944. * not on the curve and MP_OKAY otherwise.
  89945. */
  89946. static int sp_521_ecc_is_point_9(const sp_point_521* point,
  89947. void* heap)
  89948. {
  89949. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  89950. sp_digit* t1 = NULL;
  89951. #else
  89952. sp_digit t1[9 * 4];
  89953. #endif
  89954. sp_digit* t2 = NULL;
  89955. int err = MP_OKAY;
  89956. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  89957. t1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9 * 4, heap, DYNAMIC_TYPE_ECC);
  89958. if (t1 == NULL)
  89959. err = MEMORY_E;
  89960. #endif
  89961. (void)heap;
  89962. if (err == MP_OKAY) {
  89963. t2 = t1 + 2 * 9;
  89964. sp_521_sqr_9(t1, point->y);
  89965. (void)sp_521_mod_9(t1, t1, p521_mod);
  89966. sp_521_sqr_9(t2, point->x);
  89967. (void)sp_521_mod_9(t2, t2, p521_mod);
  89968. sp_521_mul_9(t2, t2, point->x);
  89969. (void)sp_521_mod_9(t2, t2, p521_mod);
  89970. (void)sp_521_sub_9(t2, p521_mod, t2);
  89971. sp_521_mont_add_9(t1, t1, t2, p521_mod);
  89972. sp_521_mont_add_9(t1, t1, point->x, p521_mod);
  89973. sp_521_mont_add_9(t1, t1, point->x, p521_mod);
  89974. sp_521_mont_add_9(t1, t1, point->x, p521_mod);
  89975. if (sp_521_cmp_9(t1, p521_b) != 0) {
  89976. err = MP_VAL;
  89977. }
  89978. }
  89979. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  89980. if (t1 != NULL)
  89981. XFREE(t1, heap, DYNAMIC_TYPE_ECC);
  89982. #endif
  89983. return err;
  89984. }
  89985. /* Check that the x and y oridinates are a valid point on the curve.
  89986. *
  89987. * pX X ordinate of EC point.
  89988. * pY Y ordinate of EC point.
  89989. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  89990. * not on the curve and MP_OKAY otherwise.
  89991. */
  89992. int sp_ecc_is_point_521(const mp_int* pX, const mp_int* pY)
  89993. {
  89994. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  89995. sp_point_521* pub = NULL;
  89996. #else
  89997. sp_point_521 pub[1];
  89998. #endif
  89999. const byte one[1] = { 1 };
  90000. int err = MP_OKAY;
  90001. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90002. pub = (sp_point_521*)XMALLOC(sizeof(sp_point_521), NULL,
  90003. DYNAMIC_TYPE_ECC);
  90004. if (pub == NULL)
  90005. err = MEMORY_E;
  90006. #endif
  90007. if (err == MP_OKAY) {
  90008. sp_521_from_mp(pub->x, 9, pX);
  90009. sp_521_from_mp(pub->y, 9, pY);
  90010. sp_521_from_bin(pub->z, 9, one, (int)sizeof(one));
  90011. err = sp_521_ecc_is_point_9(pub, NULL);
  90012. }
  90013. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90014. if (pub != NULL)
  90015. XFREE(pub, NULL, DYNAMIC_TYPE_ECC);
  90016. #endif
  90017. return err;
  90018. }
  90019. /* Check that the private scalar generates the EC point (px, py), the point is
  90020. * on the curve and the point has the correct order.
  90021. *
  90022. * pX X ordinate of EC point.
  90023. * pY Y ordinate of EC point.
  90024. * privm Private scalar that generates EC point.
  90025. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  90026. * not on the curve, ECC_INF_E if the point does not have the correct order,
  90027. * ECC_PRIV_KEY_E when the private scalar doesn't generate the EC point and
  90028. * MP_OKAY otherwise.
  90029. */
  90030. int sp_ecc_check_key_521(const mp_int* pX, const mp_int* pY,
  90031. const mp_int* privm, void* heap)
  90032. {
  90033. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90034. sp_digit* priv = NULL;
  90035. sp_point_521* pub = NULL;
  90036. #else
  90037. sp_digit priv[9];
  90038. sp_point_521 pub[2];
  90039. #endif
  90040. sp_point_521* p = NULL;
  90041. const byte one[1] = { 1 };
  90042. int err = MP_OKAY;
  90043. #ifdef HAVE_INTEL_AVX2
  90044. word32 cpuid_flags = cpuid_get_flags();
  90045. #endif
  90046. /* Quick check the lengs of public key ordinates and private key are in
  90047. * range. Proper check later.
  90048. */
  90049. if (((mp_count_bits(pX) > 521) ||
  90050. (mp_count_bits(pY) > 521) ||
  90051. ((privm != NULL) && (mp_count_bits(privm) > 521)))) {
  90052. err = ECC_OUT_OF_RANGE_E;
  90053. }
  90054. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90055. if (err == MP_OKAY) {
  90056. pub = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  90057. DYNAMIC_TYPE_ECC);
  90058. if (pub == NULL)
  90059. err = MEMORY_E;
  90060. }
  90061. if (err == MP_OKAY && privm) {
  90062. priv = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9, heap,
  90063. DYNAMIC_TYPE_ECC);
  90064. if (priv == NULL)
  90065. err = MEMORY_E;
  90066. }
  90067. #endif
  90068. if (err == MP_OKAY) {
  90069. p = pub + 1;
  90070. sp_521_from_mp(pub->x, 9, pX);
  90071. sp_521_from_mp(pub->y, 9, pY);
  90072. sp_521_from_bin(pub->z, 9, one, (int)sizeof(one));
  90073. if (privm)
  90074. sp_521_from_mp(priv, 9, privm);
  90075. /* Check point at infinitiy. */
  90076. if ((sp_521_iszero_9(pub->x) != 0) &&
  90077. (sp_521_iszero_9(pub->y) != 0)) {
  90078. err = ECC_INF_E;
  90079. }
  90080. }
  90081. /* Check range of X and Y */
  90082. if ((err == MP_OKAY) &&
  90083. ((sp_521_cmp_9(pub->x, p521_mod) >= 0) ||
  90084. (sp_521_cmp_9(pub->y, p521_mod) >= 0))) {
  90085. err = ECC_OUT_OF_RANGE_E;
  90086. }
  90087. if (err == MP_OKAY) {
  90088. /* Check point is on curve */
  90089. err = sp_521_ecc_is_point_9(pub, heap);
  90090. }
  90091. if (err == MP_OKAY) {
  90092. /* Point * order = infinity */
  90093. #ifdef HAVE_INTEL_AVX2
  90094. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  90095. err = sp_521_ecc_mulmod_avx2_9(p, pub, p521_order, 1, 1, heap);
  90096. else
  90097. #endif
  90098. err = sp_521_ecc_mulmod_9(p, pub, p521_order, 1, 1, heap);
  90099. }
  90100. /* Check result is infinity */
  90101. if ((err == MP_OKAY) && ((sp_521_iszero_9(p->x) == 0) ||
  90102. (sp_521_iszero_9(p->y) == 0))) {
  90103. err = ECC_INF_E;
  90104. }
  90105. if (privm) {
  90106. if (err == MP_OKAY) {
  90107. /* Base * private = point */
  90108. #ifdef HAVE_INTEL_AVX2
  90109. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  90110. err = sp_521_ecc_mulmod_base_avx2_9(p, priv, 1, 1, heap);
  90111. else
  90112. #endif
  90113. err = sp_521_ecc_mulmod_base_9(p, priv, 1, 1, heap);
  90114. }
  90115. /* Check result is public key */
  90116. if ((err == MP_OKAY) &&
  90117. ((sp_521_cmp_9(p->x, pub->x) != 0) ||
  90118. (sp_521_cmp_9(p->y, pub->y) != 0))) {
  90119. err = ECC_PRIV_KEY_E;
  90120. }
  90121. }
  90122. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90123. if (pub != NULL)
  90124. XFREE(pub, heap, DYNAMIC_TYPE_ECC);
  90125. if (priv != NULL)
  90126. XFREE(priv, heap, DYNAMIC_TYPE_ECC);
  90127. #endif
  90128. return err;
  90129. }
  90130. #endif
  90131. #ifdef WOLFSSL_PUBLIC_ECC_ADD_DBL
  90132. /* Add two projective EC points together.
  90133. * (pX, pY, pZ) + (qX, qY, qZ) = (rX, rY, rZ)
  90134. *
  90135. * pX First EC point's X ordinate.
  90136. * pY First EC point's Y ordinate.
  90137. * pZ First EC point's Z ordinate.
  90138. * qX Second EC point's X ordinate.
  90139. * qY Second EC point's Y ordinate.
  90140. * qZ Second EC point's Z ordinate.
  90141. * rX Resultant EC point's X ordinate.
  90142. * rY Resultant EC point's Y ordinate.
  90143. * rZ Resultant EC point's Z ordinate.
  90144. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  90145. */
  90146. int sp_ecc_proj_add_point_521(mp_int* pX, mp_int* pY, mp_int* pZ,
  90147. mp_int* qX, mp_int* qY, mp_int* qZ,
  90148. mp_int* rX, mp_int* rY, mp_int* rZ)
  90149. {
  90150. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90151. sp_digit* tmp = NULL;
  90152. sp_point_521* p = NULL;
  90153. #else
  90154. sp_digit tmp[2 * 9 * 6];
  90155. sp_point_521 p[2];
  90156. #endif
  90157. sp_point_521* q = NULL;
  90158. int err = MP_OKAY;
  90159. #ifdef HAVE_INTEL_AVX2
  90160. word32 cpuid_flags = cpuid_get_flags();
  90161. #endif
  90162. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90163. if (err == MP_OKAY) {
  90164. p = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, NULL,
  90165. DYNAMIC_TYPE_ECC);
  90166. if (p == NULL)
  90167. err = MEMORY_E;
  90168. }
  90169. if (err == MP_OKAY) {
  90170. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 6, NULL,
  90171. DYNAMIC_TYPE_ECC);
  90172. if (tmp == NULL) {
  90173. err = MEMORY_E;
  90174. }
  90175. }
  90176. #endif
  90177. if (err == MP_OKAY) {
  90178. q = p + 1;
  90179. sp_521_from_mp(p->x, 9, pX);
  90180. sp_521_from_mp(p->y, 9, pY);
  90181. sp_521_from_mp(p->z, 9, pZ);
  90182. sp_521_from_mp(q->x, 9, qX);
  90183. sp_521_from_mp(q->y, 9, qY);
  90184. sp_521_from_mp(q->z, 9, qZ);
  90185. p->infinity = sp_521_iszero_9(p->x) &
  90186. sp_521_iszero_9(p->y);
  90187. q->infinity = sp_521_iszero_9(q->x) &
  90188. sp_521_iszero_9(q->y);
  90189. #ifdef HAVE_INTEL_AVX2
  90190. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  90191. sp_521_proj_point_add_avx2_9(p, p, q, tmp);
  90192. else
  90193. #endif
  90194. sp_521_proj_point_add_9(p, p, q, tmp);
  90195. }
  90196. if (err == MP_OKAY) {
  90197. err = sp_521_to_mp(p->x, rX);
  90198. }
  90199. if (err == MP_OKAY) {
  90200. err = sp_521_to_mp(p->y, rY);
  90201. }
  90202. if (err == MP_OKAY) {
  90203. err = sp_521_to_mp(p->z, rZ);
  90204. }
  90205. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90206. if (tmp != NULL)
  90207. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  90208. if (p != NULL)
  90209. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  90210. #endif
  90211. return err;
  90212. }
  90213. /* Double a projective EC point.
  90214. * (pX, pY, pZ) + (pX, pY, pZ) = (rX, rY, rZ)
  90215. *
  90216. * pX EC point's X ordinate.
  90217. * pY EC point's Y ordinate.
  90218. * pZ EC point's Z ordinate.
  90219. * rX Resultant EC point's X ordinate.
  90220. * rY Resultant EC point's Y ordinate.
  90221. * rZ Resultant EC point's Z ordinate.
  90222. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  90223. */
  90224. int sp_ecc_proj_dbl_point_521(mp_int* pX, mp_int* pY, mp_int* pZ,
  90225. mp_int* rX, mp_int* rY, mp_int* rZ)
  90226. {
  90227. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90228. sp_digit* tmp = NULL;
  90229. sp_point_521* p = NULL;
  90230. #else
  90231. sp_digit tmp[2 * 9 * 2];
  90232. sp_point_521 p[1];
  90233. #endif
  90234. int err = MP_OKAY;
  90235. #ifdef HAVE_INTEL_AVX2
  90236. word32 cpuid_flags = cpuid_get_flags();
  90237. #endif
  90238. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90239. if (err == MP_OKAY) {
  90240. p = (sp_point_521*)XMALLOC(sizeof(sp_point_521), NULL,
  90241. DYNAMIC_TYPE_ECC);
  90242. if (p == NULL)
  90243. err = MEMORY_E;
  90244. }
  90245. if (err == MP_OKAY) {
  90246. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 2, NULL,
  90247. DYNAMIC_TYPE_ECC);
  90248. if (tmp == NULL)
  90249. err = MEMORY_E;
  90250. }
  90251. #endif
  90252. if (err == MP_OKAY) {
  90253. sp_521_from_mp(p->x, 9, pX);
  90254. sp_521_from_mp(p->y, 9, pY);
  90255. sp_521_from_mp(p->z, 9, pZ);
  90256. p->infinity = sp_521_iszero_9(p->x) &
  90257. sp_521_iszero_9(p->y);
  90258. #ifdef HAVE_INTEL_AVX2
  90259. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  90260. sp_521_proj_point_dbl_avx2_9(p, p, tmp);
  90261. else
  90262. #endif
  90263. sp_521_proj_point_dbl_9(p, p, tmp);
  90264. }
  90265. if (err == MP_OKAY) {
  90266. err = sp_521_to_mp(p->x, rX);
  90267. }
  90268. if (err == MP_OKAY) {
  90269. err = sp_521_to_mp(p->y, rY);
  90270. }
  90271. if (err == MP_OKAY) {
  90272. err = sp_521_to_mp(p->z, rZ);
  90273. }
  90274. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90275. if (tmp != NULL)
  90276. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  90277. if (p != NULL)
  90278. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  90279. #endif
  90280. return err;
  90281. }
  90282. /* Map a projective EC point to affine in place.
  90283. * pZ will be one.
  90284. *
  90285. * pX EC point's X ordinate.
  90286. * pY EC point's Y ordinate.
  90287. * pZ EC point's Z ordinate.
  90288. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  90289. */
  90290. int sp_ecc_map_521(mp_int* pX, mp_int* pY, mp_int* pZ)
  90291. {
  90292. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90293. sp_digit* tmp = NULL;
  90294. sp_point_521* p = NULL;
  90295. #else
  90296. sp_digit tmp[2 * 9 * 5];
  90297. sp_point_521 p[1];
  90298. #endif
  90299. int err = MP_OKAY;
  90300. #ifdef HAVE_INTEL_AVX2
  90301. word32 cpuid_flags = cpuid_get_flags();
  90302. #endif
  90303. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90304. if (err == MP_OKAY) {
  90305. p = (sp_point_521*)XMALLOC(sizeof(sp_point_521), NULL,
  90306. DYNAMIC_TYPE_ECC);
  90307. if (p == NULL)
  90308. err = MEMORY_E;
  90309. }
  90310. if (err == MP_OKAY) {
  90311. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 5, NULL,
  90312. DYNAMIC_TYPE_ECC);
  90313. if (tmp == NULL)
  90314. err = MEMORY_E;
  90315. }
  90316. #endif
  90317. if (err == MP_OKAY) {
  90318. sp_521_from_mp(p->x, 9, pX);
  90319. sp_521_from_mp(p->y, 9, pY);
  90320. sp_521_from_mp(p->z, 9, pZ);
  90321. p->infinity = sp_521_iszero_9(p->x) &
  90322. sp_521_iszero_9(p->y);
  90323. #ifdef HAVE_INTEL_AVX2
  90324. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  90325. sp_521_map_avx2_9(p, p, tmp);
  90326. else
  90327. #endif
  90328. sp_521_map_9(p, p, tmp);
  90329. }
  90330. if (err == MP_OKAY) {
  90331. err = sp_521_to_mp(p->x, pX);
  90332. }
  90333. if (err == MP_OKAY) {
  90334. err = sp_521_to_mp(p->y, pY);
  90335. }
  90336. if (err == MP_OKAY) {
  90337. err = sp_521_to_mp(p->z, pZ);
  90338. }
  90339. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90340. if (tmp != NULL)
  90341. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  90342. if (p != NULL)
  90343. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  90344. #endif
  90345. return err;
  90346. }
  90347. #endif /* WOLFSSL_PUBLIC_ECC_ADD_DBL */
  90348. #ifdef HAVE_COMP_KEY
  90349. /* Square root power for the P521 curve. */
  90350. static const uint64_t p521_sqrt_power[9] = {
  90351. 0x0000000000000000,0x0000000000000000,0x0000000000000000,
  90352. 0x0000000000000000,0x0000000000000000,0x0000000000000000,0x0000000000000000,0x0000000000000000,
  90353. 0x0000000000000080
  90354. };
  90355. /* Find the square root of a number mod the prime of the curve.
  90356. *
  90357. * y The number to operate on and the result.
  90358. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  90359. */
  90360. static int sp_521_mont_sqrt_9(sp_digit* y)
  90361. {
  90362. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90363. sp_digit* t = NULL;
  90364. #else
  90365. sp_digit t[2 * 9];
  90366. #endif
  90367. int err = MP_OKAY;
  90368. #ifdef HAVE_INTEL_AVX2
  90369. word32 cpuid_flags = cpuid_get_flags();
  90370. #endif
  90371. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90372. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9, NULL, DYNAMIC_TYPE_ECC);
  90373. if (t == NULL)
  90374. err = MEMORY_E;
  90375. #endif
  90376. if (err == MP_OKAY) {
  90377. #ifdef HAVE_INTEL_AVX2
  90378. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  90379. int i;
  90380. XMEMCPY(t, y, sizeof(sp_digit) * 9);
  90381. for (i=518; i>=0; i--) {
  90382. sp_521_mont_sqr_avx2_9(t, t, p521_mod, p521_mp_mod);
  90383. if (p521_sqrt_power[i / 64] & ((sp_digit)1 << (i % 64)))
  90384. sp_521_mont_mul_avx2_9(t, t, y, p521_mod, p521_mp_mod);
  90385. }
  90386. XMEMCPY(y, t, sizeof(sp_digit) * 9);
  90387. }
  90388. else
  90389. #endif
  90390. {
  90391. int i;
  90392. XMEMCPY(t, y, sizeof(sp_digit) * 9);
  90393. for (i=518; i>=0; i--) {
  90394. sp_521_mont_sqr_9(t, t, p521_mod, p521_mp_mod);
  90395. if (p521_sqrt_power[i / 64] & ((sp_digit)1 << (i % 64)))
  90396. sp_521_mont_mul_9(t, t, y, p521_mod, p521_mp_mod);
  90397. }
  90398. XMEMCPY(y, t, sizeof(sp_digit) * 9);
  90399. }
  90400. }
  90401. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90402. if (t != NULL)
  90403. XFREE(t, NULL, DYNAMIC_TYPE_ECC);
  90404. #endif
  90405. return err;
  90406. }
  90407. /* Uncompress the point given the X ordinate.
  90408. *
  90409. * xm X ordinate.
  90410. * odd Whether the Y ordinate is odd.
  90411. * ym Calculated Y ordinate.
  90412. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  90413. */
  90414. int sp_ecc_uncompress_521(mp_int* xm, int odd, mp_int* ym)
  90415. {
  90416. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90417. sp_digit* x = NULL;
  90418. #else
  90419. sp_digit x[4 * 9];
  90420. #endif
  90421. sp_digit* y = NULL;
  90422. int err = MP_OKAY;
  90423. #ifdef HAVE_INTEL_AVX2
  90424. word32 cpuid_flags = cpuid_get_flags();
  90425. #endif
  90426. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90427. x = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 9, NULL, DYNAMIC_TYPE_ECC);
  90428. if (x == NULL)
  90429. err = MEMORY_E;
  90430. #endif
  90431. if (err == MP_OKAY) {
  90432. y = x + 2 * 9;
  90433. sp_521_from_mp(x, 9, xm);
  90434. err = sp_521_mod_mul_norm_9(x, x, p521_mod);
  90435. }
  90436. if (err == MP_OKAY) {
  90437. /* y = x^3 */
  90438. #ifdef HAVE_INTEL_AVX2
  90439. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  90440. sp_521_mont_sqr_avx2_9(y, x, p521_mod, p521_mp_mod);
  90441. sp_521_mont_mul_avx2_9(y, y, x, p521_mod, p521_mp_mod);
  90442. }
  90443. else
  90444. #endif
  90445. {
  90446. sp_521_mont_sqr_9(y, x, p521_mod, p521_mp_mod);
  90447. sp_521_mont_mul_9(y, y, x, p521_mod, p521_mp_mod);
  90448. }
  90449. /* y = x^3 - 3x */
  90450. sp_521_mont_sub_9(y, y, x, p521_mod);
  90451. sp_521_mont_sub_9(y, y, x, p521_mod);
  90452. sp_521_mont_sub_9(y, y, x, p521_mod);
  90453. /* y = x^3 - 3x + b */
  90454. err = sp_521_mod_mul_norm_9(x, p521_b, p521_mod);
  90455. }
  90456. if (err == MP_OKAY) {
  90457. sp_521_mont_add_9(y, y, x, p521_mod);
  90458. /* y = sqrt(x^3 - 3x + b) */
  90459. err = sp_521_mont_sqrt_9(y);
  90460. }
  90461. if (err == MP_OKAY) {
  90462. XMEMSET(y + 9, 0, 9U * sizeof(sp_digit));
  90463. sp_521_mont_reduce_9(y, p521_mod, p521_mp_mod);
  90464. if ((((word32)y[0] ^ (word32)odd) & 1U) != 0U) {
  90465. sp_521_mont_sub_9(y, p521_mod, y, p521_mod);
  90466. }
  90467. err = sp_521_to_mp(y, ym);
  90468. }
  90469. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  90470. if (x != NULL)
  90471. XFREE(x, NULL, DYNAMIC_TYPE_ECC);
  90472. #endif
  90473. return err;
  90474. }
  90475. #endif
  90476. #endif /* WOLFSSL_SP_521 */
  90477. #ifdef WOLFSSL_SP_1024
  90478. /* Point structure to use. */
  90479. typedef struct sp_point_1024 {
  90480. /* X ordinate of point. */
  90481. sp_digit x[2 * 16];
  90482. /* Y ordinate of point. */
  90483. sp_digit y[2 * 16];
  90484. /* Z ordinate of point. */
  90485. sp_digit z[2 * 16];
  90486. /* Indicates point is at infinity. */
  90487. int infinity;
  90488. } sp_point_1024;
  90489. #ifdef __cplusplus
  90490. extern "C" {
  90491. #endif
  90492. extern void sp_1024_mul_16(sp_digit* r, const sp_digit* a, const sp_digit* b);
  90493. #ifdef __cplusplus
  90494. }
  90495. #endif
  90496. #ifdef __cplusplus
  90497. extern "C" {
  90498. #endif
  90499. extern void sp_1024_sqr_16(sp_digit* r, const sp_digit* a);
  90500. #ifdef __cplusplus
  90501. }
  90502. #endif
  90503. #ifdef __cplusplus
  90504. extern "C" {
  90505. #endif
  90506. extern void sp_1024_mul_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit* b);
  90507. #ifdef __cplusplus
  90508. }
  90509. #endif
  90510. #ifdef __cplusplus
  90511. extern "C" {
  90512. #endif
  90513. extern void sp_1024_sqr_avx2_16(sp_digit* r, const sp_digit* a);
  90514. #ifdef __cplusplus
  90515. }
  90516. #endif
  90517. /* The modulus (prime) of the curve P1024. */
  90518. static const sp_digit p1024_mod[16] = {
  90519. 0x666d807afea85febL,0x80c5df10ac7ace87L,0xfce3e82389857db0L,
  90520. 0x9f94d6af56971f1fL,0xa7cf3c521c3c09aaL,0xb6aff4a831852a82L,
  90521. 0x512ac5cd65681ce1L,0xe26c6487326b4cd4L,0x356d27f4a666a6d0L,
  90522. 0xe791b39ff7c88a19L,0x228730d531a59cb0L,0xf40aab27e2fc0f1bL,
  90523. 0xbe9ae358b3e01a2eL,0x416c0ce19cb48261L,0x65c61198dad0657aL,
  90524. 0x997abb1f0a563fdaL
  90525. };
  90526. /* The Montgomery normalizer for modulus of the curve P1024. */
  90527. static const sp_digit p1024_norm_mod[16] = {
  90528. 0x99927f850157a015L,0x7f3a20ef53853178L,0x031c17dc767a824fL,
  90529. 0x606b2950a968e0e0L,0x5830c3ade3c3f655L,0x49500b57ce7ad57dL,
  90530. 0xaed53a329a97e31eL,0x1d939b78cd94b32bL,0xca92d80b5999592fL,
  90531. 0x186e4c60083775e6L,0xdd78cf2ace5a634fL,0x0bf554d81d03f0e4L,
  90532. 0x41651ca74c1fe5d1L,0xbe93f31e634b7d9eL,0x9a39ee67252f9a85L,
  90533. 0x668544e0f5a9c025L
  90534. };
  90535. /* The Montgomery multiplier for modulus of the curve P1024. */
  90536. static sp_digit p1024_mp_mod = 0x290420077c8f2f3d;
  90537. #if defined(WOLFSSL_SP_SMALL) || defined(HAVE_ECC_CHECK_KEY)
  90538. /* The order of the curve P1024. */
  90539. static const sp_digit p1024_order[16] = {
  90540. 0xd99b601ebfaa17fbL,0x203177c42b1eb3a1L,0xff38fa08e2615f6cL,
  90541. 0xa7e535abd5a5c7c7L,0xa9f3cf14870f026aL,0x6dabfd2a0c614aa0L,
  90542. 0x144ab173595a0738L,0x389b1921cc9ad335L,0x4d5b49fd2999a9b4L,
  90543. 0x39e46ce7fdf22286L,0xc8a1cc354c69672cL,0xbd02aac9f8bf03c6L,
  90544. 0x6fa6b8d62cf8068bL,0x905b0338672d2098L,0x9971846636b4195eL,
  90545. 0x265eaec7c2958ff6L
  90546. };
  90547. #endif
  90548. /* The base point of curve P1024. */
  90549. static const sp_point_1024 p1024_base = {
  90550. /* X ordinate */
  90551. {
  90552. 0x880dc8abeae63895L,0x80ec46c4967e0979L,0xee9163a5b63f73ecL,
  90553. 0xd5cfb4cc80728d87L,0xa7c1514dba66910dL,0xa702c3397a60de74L,
  90554. 0x337c86548b72f2e1L,0x9760af765dd5bccbL,0x718bd9e7406ce890L,
  90555. 0x43d5f22cdb9dfa55L,0xab10db9030b09e10L,0xb5edb6c0f6ce2308L,
  90556. 0x98b2f204b6ff7cbfL,0x2b1a2fd60aec69c6L,0x0a7990053ed9b52aL,
  90557. 0x53fc09ee332c29adL,
  90558. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  90559. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  90560. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  90561. (sp_digit)0
  90562. },
  90563. /* Y ordinate */
  90564. {
  90565. 0x75573fd71bef16d7L,0xadb9b5706a67dcdeL,0x80bdad5ad5bb4636L,
  90566. 0x13515ad7e9cb99a9L,0x492d979fc5a4d5f2L,0xac6f1e80164aa989L,
  90567. 0xcad696b5b7652fe0L,0x70dae117ad547c6cL,0x416cff0ca9e032b9L,
  90568. 0x6b598ccf9a140b2eL,0xe7f7f5e5f0de55f6L,0xf5ea69f4654ec2b9L,
  90569. 0x3d778d821e141178L,0xd3e8201602990696L,0xf9f1f0533634a135L,
  90570. 0x0a8249063f6009f1L,
  90571. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  90572. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  90573. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  90574. (sp_digit)0
  90575. },
  90576. /* Z ordinate */
  90577. {
  90578. 0x0000000000000001L,0x0000000000000000L,0x0000000000000000L,
  90579. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  90580. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  90581. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  90582. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  90583. 0x0000000000000000L,
  90584. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  90585. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  90586. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  90587. (sp_digit)0
  90588. },
  90589. /* infinity */
  90590. 0
  90591. };
  90592. #ifdef __cplusplus
  90593. extern "C" {
  90594. #endif
  90595. extern sp_digit sp_1024_add_16(sp_digit* r, const sp_digit* a, const sp_digit* b);
  90596. #ifdef __cplusplus
  90597. }
  90598. #endif
  90599. #ifdef __cplusplus
  90600. extern "C" {
  90601. #endif
  90602. extern sp_digit sp_1024_sub_in_place_16(sp_digit* a, const sp_digit* b);
  90603. #ifdef __cplusplus
  90604. }
  90605. #endif
  90606. #ifdef __cplusplus
  90607. extern "C" {
  90608. #endif
  90609. extern sp_digit sp_1024_cond_sub_16(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  90610. #ifdef __cplusplus
  90611. }
  90612. #endif
  90613. #ifdef __cplusplus
  90614. extern "C" {
  90615. #endif
  90616. extern sp_digit sp_1024_cond_sub_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m);
  90617. #ifdef __cplusplus
  90618. }
  90619. #endif
  90620. #ifdef __cplusplus
  90621. extern "C" {
  90622. #endif
  90623. extern void sp_1024_mul_d_16(sp_digit* r, const sp_digit* a, sp_digit b);
  90624. #ifdef __cplusplus
  90625. }
  90626. #endif
  90627. #ifdef __cplusplus
  90628. extern "C" {
  90629. #endif
  90630. extern void sp_1024_mul_d_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit b);
  90631. #ifdef __cplusplus
  90632. }
  90633. #endif
  90634. #if defined(_WIN64) && !defined(__clang__)
  90635. #if _MSC_VER < 1920
  90636. #ifdef __cplusplus
  90637. extern "C" {
  90638. #endif
  90639. extern sp_digit div_1024_word_asm_16(sp_digit d1, sp_digit d0, sp_digit div);
  90640. #ifdef __cplusplus
  90641. }
  90642. #endif
  90643. #endif /* _MSC_VER < 1920 */
  90644. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  90645. *
  90646. * d1 The high order half of the number to divide.
  90647. * d0 The low order half of the number to divide.
  90648. * div The dividend.
  90649. * returns the result of the division.
  90650. */
  90651. static WC_INLINE sp_digit div_1024_word_16(sp_digit d1, sp_digit d0,
  90652. sp_digit div)
  90653. {
  90654. ASSERT_SAVED_VECTOR_REGISTERS();
  90655. #if _MSC_VER >= 1920
  90656. return _udiv128(d1, d0, div, NULL);
  90657. #else
  90658. return div_1024_word_asm_16(d1, d0, div);
  90659. #endif
  90660. }
  90661. #else
  90662. /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div)
  90663. *
  90664. * d1 The high order half of the number to divide.
  90665. * d0 The low order half of the number to divide.
  90666. * div The dividend.
  90667. * returns the result of the division.
  90668. */
  90669. static WC_INLINE sp_digit div_1024_word_16(sp_digit d1, sp_digit d0,
  90670. sp_digit div)
  90671. {
  90672. ASSERT_SAVED_VECTOR_REGISTERS();
  90673. register sp_digit r asm("rax");
  90674. __asm__ __volatile__ (
  90675. "divq %3"
  90676. : "=a" (r)
  90677. : "d" (d1), "a" (d0), "r" (div)
  90678. :
  90679. );
  90680. return r;
  90681. }
  90682. #endif /* _WIN64 && !__clang__ */
  90683. /* AND m into each word of a and store in r.
  90684. *
  90685. * r A single precision integer.
  90686. * a A single precision integer.
  90687. * m Mask to AND against each digit.
  90688. */
  90689. static void sp_1024_mask_16(sp_digit* r, const sp_digit* a, sp_digit m)
  90690. {
  90691. #ifdef WOLFSSL_SP_SMALL
  90692. int i;
  90693. for (i=0; i<16; i++) {
  90694. r[i] = a[i] & m;
  90695. }
  90696. #else
  90697. int i;
  90698. for (i = 0; i < 16; i += 8) {
  90699. r[i+0] = a[i+0] & m;
  90700. r[i+1] = a[i+1] & m;
  90701. r[i+2] = a[i+2] & m;
  90702. r[i+3] = a[i+3] & m;
  90703. r[i+4] = a[i+4] & m;
  90704. r[i+5] = a[i+5] & m;
  90705. r[i+6] = a[i+6] & m;
  90706. r[i+7] = a[i+7] & m;
  90707. }
  90708. #endif
  90709. }
  90710. #ifdef __cplusplus
  90711. extern "C" {
  90712. #endif
  90713. extern sp_int64 sp_1024_cmp_16(const sp_digit* a, const sp_digit* b);
  90714. #ifdef __cplusplus
  90715. }
  90716. #endif
  90717. /* Divide d in a and put remainder into r (m*d + r = a)
  90718. * m is not calculated as it is not needed at this time.
  90719. *
  90720. * a Number to be divided.
  90721. * d Number to divide with.
  90722. * m Multiplier result.
  90723. * r Remainder from the division.
  90724. * returns MP_OKAY indicating success.
  90725. */
  90726. static WC_INLINE int sp_1024_div_16(const sp_digit* a, const sp_digit* d, sp_digit* m,
  90727. sp_digit* r)
  90728. {
  90729. sp_digit t1[32];
  90730. sp_digit t2[17];
  90731. sp_digit div;
  90732. sp_digit r1;
  90733. int i;
  90734. #ifdef HAVE_INTEL_AVX2
  90735. word32 cpuid_flags = cpuid_get_flags();
  90736. #endif
  90737. ASSERT_SAVED_VECTOR_REGISTERS();
  90738. (void)m;
  90739. div = d[15];
  90740. XMEMCPY(t1, a, sizeof(*t1) * 2 * 16);
  90741. r1 = sp_1024_cmp_16(&t1[16], d) >= 0;
  90742. #ifdef HAVE_INTEL_AVX2
  90743. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  90744. sp_1024_cond_sub_avx2_16(&t1[16], &t1[16], d, (sp_digit)0 - r1);
  90745. else
  90746. #endif
  90747. sp_1024_cond_sub_16(&t1[16], &t1[16], d, (sp_digit)0 - r1);
  90748. for (i = 15; i >= 0; i--) {
  90749. sp_digit mask = 0 - (t1[16 + i] == div);
  90750. sp_digit hi = t1[16 + i] + mask;
  90751. r1 = div_1024_word_16(hi, t1[16 + i - 1], div);
  90752. r1 |= mask;
  90753. #ifdef HAVE_INTEL_AVX2
  90754. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  90755. sp_1024_mul_d_avx2_16(t2, d, r1);
  90756. else
  90757. #endif
  90758. sp_1024_mul_d_16(t2, d, r1);
  90759. t1[16 + i] += sp_1024_sub_in_place_16(&t1[i], t2);
  90760. t1[16 + i] -= t2[16];
  90761. sp_1024_mask_16(t2, d, t1[16 + i]);
  90762. t1[16 + i] += sp_1024_add_16(&t1[i], &t1[i], t2);
  90763. sp_1024_mask_16(t2, d, t1[16 + i]);
  90764. t1[16 + i] += sp_1024_add_16(&t1[i], &t1[i], t2);
  90765. }
  90766. r1 = sp_1024_cmp_16(t1, d) >= 0;
  90767. #ifdef HAVE_INTEL_AVX2
  90768. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  90769. sp_1024_cond_sub_avx2_16(r, t1, d, (sp_digit)0 - r1);
  90770. else
  90771. #endif
  90772. sp_1024_cond_sub_16(r, t1, d, (sp_digit)0 - r1);
  90773. return MP_OKAY;
  90774. }
  90775. /* Reduce a modulo m into r. (r = a mod m)
  90776. *
  90777. * r A single precision number that is the reduced result.
  90778. * a A single precision number that is to be reduced.
  90779. * m A single precision number that is the modulus to reduce with.
  90780. * returns MP_OKAY indicating success.
  90781. */
  90782. static WC_INLINE int sp_1024_mod_16(sp_digit* r, const sp_digit* a,
  90783. const sp_digit* m)
  90784. {
  90785. ASSERT_SAVED_VECTOR_REGISTERS();
  90786. return sp_1024_div_16(a, m, NULL, r);
  90787. }
  90788. /* Multiply a number by Montgomery normalizer mod modulus (prime).
  90789. *
  90790. * r The resulting Montgomery form number.
  90791. * a The number to convert.
  90792. * m The modulus (prime).
  90793. * returns MEMORY_E when memory allocation fails and MP_OKAY otherwise.
  90794. */
  90795. static int sp_1024_mod_mul_norm_16(sp_digit* r, const sp_digit* a, const sp_digit* m)
  90796. {
  90797. sp_1024_mul_16(r, a, p1024_norm_mod);
  90798. return sp_1024_mod_16(r, r, m);
  90799. }
  90800. #ifdef HAVE_INTEL_AVX2
  90801. /* Multiply a number by Montgomery normalizer mod modulus (prime).
  90802. *
  90803. * r The resulting Montgomery form number.
  90804. * a The number to convert.
  90805. * m The modulus (prime).
  90806. * returns MEMORY_E when memory allocation fails and MP_OKAY otherwise.
  90807. */
  90808. static int sp_1024_mod_mul_norm_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit* m)
  90809. {
  90810. sp_1024_mul_avx2_16(r, a, p1024_norm_mod);
  90811. return sp_1024_mod_16(r, r, m);
  90812. }
  90813. #endif /* HAVE_INTEL_AVX2 */
  90814. #ifdef WOLFCRYPT_HAVE_SAKKE
  90815. /* Create a new point.
  90816. *
  90817. * heap [in] Buffer to allocate dynamic memory from.
  90818. * sp [in] Data for point - only if not allocating.
  90819. * p [out] New point.
  90820. * returns MEMORY_E when dynamic memory allocation fails and 0 otherwise.
  90821. */
  90822. static int sp_1024_point_new_ex_16(void* heap, sp_point_1024* sp,
  90823. sp_point_1024** p)
  90824. {
  90825. int ret = MP_OKAY;
  90826. (void)heap;
  90827. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && !defined(WOLFSSL_SP_NO_MALLOC)
  90828. (void)sp;
  90829. *p = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024), heap, DYNAMIC_TYPE_ECC);
  90830. #else
  90831. *p = sp;
  90832. #endif
  90833. if (*p == NULL) {
  90834. ret = MEMORY_E;
  90835. }
  90836. return ret;
  90837. }
  90838. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && !defined(WOLFSSL_SP_NO_MALLOC)
  90839. /* Allocate memory for point and return error. */
  90840. #define sp_1024_point_new_16(heap, sp, p) sp_1024_point_new_ex_16((heap), NULL, &(p))
  90841. #else
  90842. /* Set pointer to data and return no error. */
  90843. #define sp_1024_point_new_16(heap, sp, p) sp_1024_point_new_ex_16((heap), &(sp), &(p))
  90844. #endif
  90845. #endif /* WOLFCRYPT_HAVE_SAKKE */
  90846. #ifdef WOLFCRYPT_HAVE_SAKKE
  90847. /* Free the point.
  90848. *
  90849. * p [in,out] Point to free.
  90850. * clear [in] Indicates whether to zeroize point.
  90851. * heap [in] Buffer from which dynamic memory was allocate from.
  90852. */
  90853. static void sp_1024_point_free_16(sp_point_1024* p, int clear, void* heap)
  90854. {
  90855. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && !defined(WOLFSSL_SP_NO_MALLOC)
  90856. /* If valid pointer then clear point data if requested and free data. */
  90857. if (p != NULL) {
  90858. if (clear != 0) {
  90859. XMEMSET(p, 0, sizeof(*p));
  90860. }
  90861. XFREE(p, heap, DYNAMIC_TYPE_ECC);
  90862. }
  90863. #else
  90864. /* Clear point data if requested. */
  90865. if ((p != NULL) && (clear != 0)) {
  90866. XMEMSET(p, 0, sizeof(*p));
  90867. }
  90868. #endif
  90869. (void)heap;
  90870. }
  90871. #endif /* WOLFCRYPT_HAVE_SAKKE */
  90872. /* Convert an mp_int to an array of sp_digit.
  90873. *
  90874. * r A single precision integer.
  90875. * size Maximum number of bytes to convert
  90876. * a A multi-precision integer.
  90877. */
  90878. static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
  90879. {
  90880. #if DIGIT_BIT == 64
  90881. int j;
  90882. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  90883. for (j = a->used; j < size; j++) {
  90884. r[j] = 0;
  90885. }
  90886. #elif DIGIT_BIT > 64
  90887. int i;
  90888. int j = 0;
  90889. word32 s = 0;
  90890. r[0] = 0;
  90891. for (i = 0; i < a->used && j < size; i++) {
  90892. r[j] |= ((sp_digit)a->dp[i] << s);
  90893. r[j] &= 0xffffffffffffffffl;
  90894. s = 64U - s;
  90895. if (j + 1 >= size) {
  90896. break;
  90897. }
  90898. /* lint allow cast of mismatch word32 and mp_digit */
  90899. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  90900. while ((s + 64U) <= (word32)DIGIT_BIT) {
  90901. s += 64U;
  90902. r[j] &= 0xffffffffffffffffl;
  90903. if (j + 1 >= size) {
  90904. break;
  90905. }
  90906. if (s < (word32)DIGIT_BIT) {
  90907. /* lint allow cast of mismatch word32 and mp_digit */
  90908. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  90909. }
  90910. else {
  90911. r[++j] = (sp_digit)0;
  90912. }
  90913. }
  90914. s = (word32)DIGIT_BIT - s;
  90915. }
  90916. for (j++; j < size; j++) {
  90917. r[j] = 0;
  90918. }
  90919. #else
  90920. int i;
  90921. int j = 0;
  90922. int s = 0;
  90923. r[0] = 0;
  90924. for (i = 0; i < a->used && j < size; i++) {
  90925. r[j] |= ((sp_digit)a->dp[i]) << s;
  90926. if (s + DIGIT_BIT >= 64) {
  90927. r[j] &= 0xffffffffffffffffl;
  90928. if (j + 1 >= size) {
  90929. break;
  90930. }
  90931. s = 64 - s;
  90932. if (s == DIGIT_BIT) {
  90933. r[++j] = 0;
  90934. s = 0;
  90935. }
  90936. else {
  90937. r[++j] = a->dp[i] >> s;
  90938. s = DIGIT_BIT - s;
  90939. }
  90940. }
  90941. else {
  90942. s += DIGIT_BIT;
  90943. }
  90944. }
  90945. for (j++; j < size; j++) {
  90946. r[j] = 0;
  90947. }
  90948. #endif
  90949. }
  90950. /* Convert a point of type ecc_point to type sp_point_1024.
  90951. *
  90952. * p Point of type sp_point_1024 (result).
  90953. * pm Point of type ecc_point.
  90954. */
  90955. static void sp_1024_point_from_ecc_point_16(sp_point_1024* p,
  90956. const ecc_point* pm)
  90957. {
  90958. XMEMSET(p->x, 0, sizeof(p->x));
  90959. XMEMSET(p->y, 0, sizeof(p->y));
  90960. XMEMSET(p->z, 0, sizeof(p->z));
  90961. sp_1024_from_mp(p->x, 16, pm->x);
  90962. sp_1024_from_mp(p->y, 16, pm->y);
  90963. sp_1024_from_mp(p->z, 16, pm->z);
  90964. p->infinity = 0;
  90965. }
  90966. /* Convert an array of sp_digit to an mp_int.
  90967. *
  90968. * a A single precision integer.
  90969. * r A multi-precision integer.
  90970. */
  90971. static int sp_1024_to_mp(const sp_digit* a, mp_int* r)
  90972. {
  90973. int err;
  90974. err = mp_grow(r, (1024 + DIGIT_BIT - 1) / DIGIT_BIT);
  90975. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  90976. #if DIGIT_BIT == 64
  90977. XMEMCPY(r->dp, a, sizeof(sp_digit) * 16);
  90978. r->used = 16;
  90979. mp_clamp(r);
  90980. #elif DIGIT_BIT < 64
  90981. int i;
  90982. int j = 0;
  90983. int s = 0;
  90984. r->dp[0] = 0;
  90985. for (i = 0; i < 16; i++) {
  90986. r->dp[j] |= (mp_digit)(a[i] << s);
  90987. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  90988. s = DIGIT_BIT - s;
  90989. r->dp[++j] = (mp_digit)(a[i] >> s);
  90990. while (s + DIGIT_BIT <= 64) {
  90991. s += DIGIT_BIT;
  90992. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  90993. if (s == SP_WORD_SIZE) {
  90994. r->dp[j] = 0;
  90995. }
  90996. else {
  90997. r->dp[j] = (mp_digit)(a[i] >> s);
  90998. }
  90999. }
  91000. s = 64 - s;
  91001. }
  91002. r->used = (1024 + DIGIT_BIT - 1) / DIGIT_BIT;
  91003. mp_clamp(r);
  91004. #else
  91005. int i;
  91006. int j = 0;
  91007. int s = 0;
  91008. r->dp[0] = 0;
  91009. for (i = 0; i < 16; i++) {
  91010. r->dp[j] |= ((mp_digit)a[i]) << s;
  91011. if (s + 64 >= DIGIT_BIT) {
  91012. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  91013. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  91014. #endif
  91015. s = DIGIT_BIT - s;
  91016. r->dp[++j] = a[i] >> s;
  91017. s = 64 - s;
  91018. }
  91019. else {
  91020. s += 64;
  91021. }
  91022. }
  91023. r->used = (1024 + DIGIT_BIT - 1) / DIGIT_BIT;
  91024. mp_clamp(r);
  91025. #endif
  91026. }
  91027. return err;
  91028. }
  91029. /* Convert a point of type sp_point_1024 to type ecc_point.
  91030. *
  91031. * p Point of type sp_point_1024.
  91032. * pm Point of type ecc_point (result).
  91033. * returns MEMORY_E when allocation of memory in ecc_point fails otherwise
  91034. * MP_OKAY.
  91035. */
  91036. static int sp_1024_point_to_ecc_point_16(const sp_point_1024* p, ecc_point* pm)
  91037. {
  91038. int err;
  91039. err = sp_1024_to_mp(p->x, pm->x);
  91040. if (err == MP_OKAY) {
  91041. err = sp_1024_to_mp(p->y, pm->y);
  91042. }
  91043. if (err == MP_OKAY) {
  91044. err = sp_1024_to_mp(p->z, pm->z);
  91045. }
  91046. return err;
  91047. }
  91048. #ifdef __cplusplus
  91049. extern "C" {
  91050. #endif
  91051. extern void sp_1024_cond_copy_16(sp_digit* r, const sp_digit* a, sp_digit m);
  91052. #ifdef __cplusplus
  91053. }
  91054. #endif
  91055. #ifdef __cplusplus
  91056. extern "C" {
  91057. #endif
  91058. extern void sp_1024_mont_reduce_16(sp_digit* a, const sp_digit* m, sp_digit mp);
  91059. #ifdef __cplusplus
  91060. }
  91061. #endif
  91062. /* Multiply two Montgomery form numbers mod the modulus (prime).
  91063. * (r = a * b mod m)
  91064. *
  91065. * r Result of multiplication.
  91066. * a First number to multiply in Montgomery form.
  91067. * b Second number to multiply in Montgomery form.
  91068. * m Modulus (prime).
  91069. * mp Montgomery mulitplier.
  91070. */
  91071. SP_NOINLINE static void sp_1024_mont_mul_16(sp_digit* r, const sp_digit* a,
  91072. const sp_digit* b, const sp_digit* m, sp_digit mp)
  91073. {
  91074. sp_1024_mul_16(r, a, b);
  91075. sp_1024_mont_reduce_16(r, m, mp);
  91076. }
  91077. /* Square the Montgomery form number. (r = a * a mod m)
  91078. *
  91079. * r Result of squaring.
  91080. * a Number to square in Montgomery form.
  91081. * m Modulus (prime).
  91082. * mp Montgomery mulitplier.
  91083. */
  91084. SP_NOINLINE static void sp_1024_mont_sqr_16(sp_digit* r, const sp_digit* a,
  91085. const sp_digit* m, sp_digit mp)
  91086. {
  91087. sp_1024_sqr_16(r, a);
  91088. sp_1024_mont_reduce_16(r, m, mp);
  91089. }
  91090. /* Mod-2 for the P1024 curve. */
  91091. static const uint8_t p1024_mod_minus_2[] = {
  91092. 6,0x06, 7,0x0f, 7,0x0b, 6,0x0c, 7,0x1e, 9,0x09, 7,0x0c, 7,0x1f,
  91093. 6,0x16, 6,0x06, 7,0x0e, 8,0x10, 6,0x03, 8,0x11, 6,0x0d, 7,0x14,
  91094. 9,0x12, 6,0x0f, 7,0x04, 9,0x0d, 6,0x00, 7,0x13, 6,0x01, 6,0x07,
  91095. 8,0x0d, 8,0x00, 6,0x06, 9,0x17, 6,0x14, 6,0x15, 6,0x11, 6,0x0b,
  91096. 9,0x0c, 6,0x1e, 13,0x14, 7,0x0e, 6,0x1d, 12,0x0a, 6,0x0b, 8,0x07,
  91097. 6,0x18, 6,0x0f, 6,0x10, 8,0x1c, 7,0x16, 7,0x02, 6,0x01, 6,0x13,
  91098. 10,0x15, 7,0x06, 8,0x14, 6,0x0c, 6,0x19, 7,0x10, 6,0x19, 6,0x19,
  91099. 9,0x16, 7,0x19, 6,0x1f, 6,0x17, 6,0x12, 8,0x02, 6,0x01, 6,0x04,
  91100. 6,0x15, 7,0x16, 6,0x04, 6,0x1f, 6,0x09, 7,0x06, 7,0x13, 7,0x09,
  91101. 6,0x0d, 10,0x18, 6,0x06, 6,0x11, 6,0x04, 6,0x01, 6,0x13, 8,0x06,
  91102. 6,0x0d, 8,0x13, 7,0x08, 6,0x08, 6,0x05, 7,0x0c, 7,0x0e, 7,0x15,
  91103. 6,0x05, 7,0x14, 10,0x19, 6,0x10, 6,0x16, 6,0x15, 7,0x1f, 6,0x14,
  91104. 6,0x0a, 10,0x11, 6,0x01, 7,0x05, 7,0x08, 8,0x0a, 7,0x1e, 7,0x1c,
  91105. 6,0x1c, 7,0x09, 10,0x18, 7,0x1c, 10,0x06, 6,0x0a, 6,0x07, 6,0x19,
  91106. 7,0x06, 6,0x0d, 7,0x0f, 7,0x0b, 7,0x05, 6,0x11, 6,0x1c, 7,0x1f,
  91107. 6,0x1e, 7,0x18, 6,0x1e, 6,0x00, 6,0x03, 6,0x02, 7,0x10, 6,0x0b,
  91108. 6,0x1b, 7,0x10, 6,0x00, 8,0x11, 7,0x1b, 6,0x18, 6,0x01, 7,0x0c,
  91109. 7,0x1d, 7,0x13, 6,0x08, 7,0x1b, 8,0x13, 7,0x16, 13,0x1d, 7,0x1f,
  91110. 6,0x0a, 6,0x01, 7,0x1f, 6,0x14, 1,0x01
  91111. };
  91112. /* Invert the number, in Montgomery form, modulo the modulus (prime) of the
  91113. * P1024 curve. (r = 1 / a mod m)
  91114. *
  91115. * r Inverse result.
  91116. * a Number to invert.
  91117. * td Temporary data.
  91118. */
  91119. static void sp_1024_mont_inv_16(sp_digit* r, const sp_digit* a,
  91120. sp_digit* td)
  91121. {
  91122. sp_digit* t = td;
  91123. int i;
  91124. int j;
  91125. sp_digit table[32][2 * 16];
  91126. XMEMCPY(table[0], a, sizeof(sp_digit) * 16);
  91127. for (i = 1; i < 6; i++) {
  91128. sp_1024_mont_sqr_16(table[0], table[0], p1024_mod, p1024_mp_mod);
  91129. }
  91130. for (i = 1; i < 32; i++) {
  91131. sp_1024_mont_mul_16(table[i], table[i-1], a, p1024_mod, p1024_mp_mod);
  91132. }
  91133. XMEMCPY(t, table[p1024_mod_minus_2[1]], sizeof(sp_digit) * 16);
  91134. for (i = 2; i < (int)sizeof(p1024_mod_minus_2) - 2; i += 2) {
  91135. for (j = 0; j < p1024_mod_minus_2[i]; j++) {
  91136. sp_1024_mont_sqr_16(t, t, p1024_mod, p1024_mp_mod);
  91137. }
  91138. sp_1024_mont_mul_16(t, t, table[p1024_mod_minus_2[i+1]], p1024_mod,
  91139. p1024_mp_mod);
  91140. }
  91141. sp_1024_mont_sqr_16(t, t, p1024_mod, p1024_mp_mod);
  91142. sp_1024_mont_mul_16(r, t, a, p1024_mod, p1024_mp_mod);
  91143. }
  91144. /* Normalize the values in each word to 64.
  91145. *
  91146. * a Array of sp_digit to normalize.
  91147. */
  91148. #define sp_1024_norm_16(a)
  91149. /* Map the Montgomery form projective coordinate point to an affine point.
  91150. *
  91151. * r Resulting affine coordinate point.
  91152. * p Montgomery form projective coordinate point.
  91153. * t Temporary ordinate data.
  91154. */
  91155. static void sp_1024_map_16(sp_point_1024* r, const sp_point_1024* p,
  91156. sp_digit* t)
  91157. {
  91158. sp_digit* t1 = t;
  91159. sp_digit* t2 = t + 2*16;
  91160. sp_int64 n;
  91161. sp_1024_mont_inv_16(t1, p->z, t + 2*16);
  91162. sp_1024_mont_sqr_16(t2, t1, p1024_mod, p1024_mp_mod);
  91163. sp_1024_mont_mul_16(t1, t2, t1, p1024_mod, p1024_mp_mod);
  91164. /* x /= z^2 */
  91165. sp_1024_mont_mul_16(r->x, p->x, t2, p1024_mod, p1024_mp_mod);
  91166. XMEMSET(r->x + 16, 0, sizeof(r->x) / 2U);
  91167. sp_1024_mont_reduce_16(r->x, p1024_mod, p1024_mp_mod);
  91168. /* Reduce x to less than modulus */
  91169. n = sp_1024_cmp_16(r->x, p1024_mod);
  91170. sp_1024_cond_sub_16(r->x, r->x, p1024_mod, ~(n >> 63));
  91171. sp_1024_norm_16(r->x);
  91172. /* y /= z^3 */
  91173. sp_1024_mont_mul_16(r->y, p->y, t1, p1024_mod, p1024_mp_mod);
  91174. XMEMSET(r->y + 16, 0, sizeof(r->y) / 2U);
  91175. sp_1024_mont_reduce_16(r->y, p1024_mod, p1024_mp_mod);
  91176. /* Reduce y to less than modulus */
  91177. n = sp_1024_cmp_16(r->y, p1024_mod);
  91178. sp_1024_cond_sub_16(r->y, r->y, p1024_mod, ~(n >> 63));
  91179. sp_1024_norm_16(r->y);
  91180. XMEMSET(r->z, 0, sizeof(r->z) / 2);
  91181. r->z[0] = 1;
  91182. }
  91183. #ifdef __cplusplus
  91184. extern "C" {
  91185. #endif
  91186. extern void sp_1024_mont_add_16(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  91187. #ifdef __cplusplus
  91188. }
  91189. #endif
  91190. #ifdef __cplusplus
  91191. extern "C" {
  91192. #endif
  91193. extern void sp_1024_mont_dbl_16(sp_digit* r, const sp_digit* a, const sp_digit* m);
  91194. #ifdef __cplusplus
  91195. }
  91196. #endif
  91197. #ifdef __cplusplus
  91198. extern "C" {
  91199. #endif
  91200. extern void sp_1024_mont_tpl_16(sp_digit* r, const sp_digit* a, const sp_digit* m);
  91201. #ifdef __cplusplus
  91202. }
  91203. #endif
  91204. #ifdef __cplusplus
  91205. extern "C" {
  91206. #endif
  91207. extern void sp_1024_mont_sub_16(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  91208. #ifdef __cplusplus
  91209. }
  91210. #endif
  91211. #define sp_1024_mont_sub_lower_16 sp_1024_mont_sub_16
  91212. #ifdef __cplusplus
  91213. extern "C" {
  91214. #endif
  91215. extern void sp_1024_div2_16(sp_digit* r, const sp_digit* a, const sp_digit* m);
  91216. #ifdef __cplusplus
  91217. }
  91218. #endif
  91219. /* Double the Montgomery form projective point p.
  91220. *
  91221. * r Result of doubling point.
  91222. * p Point to double.
  91223. * t Temporary ordinate data.
  91224. */
  91225. #ifdef WOLFSSL_SP_NONBLOCK
  91226. typedef struct sp_1024_proj_point_dbl_16_ctx {
  91227. int state;
  91228. sp_digit* t1;
  91229. sp_digit* t2;
  91230. sp_digit* x;
  91231. sp_digit* y;
  91232. sp_digit* z;
  91233. } sp_1024_proj_point_dbl_16_ctx;
  91234. static int sp_1024_proj_point_dbl_16_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, const sp_point_1024* p, sp_digit* t)
  91235. {
  91236. int err = FP_WOULDBLOCK;
  91237. sp_1024_proj_point_dbl_16_ctx* ctx = (sp_1024_proj_point_dbl_16_ctx*)sp_ctx->data;
  91238. typedef char ctx_size_test[sizeof(sp_1024_proj_point_dbl_16_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  91239. (void)sizeof(ctx_size_test);
  91240. switch (ctx->state) {
  91241. case 0:
  91242. ctx->t1 = t;
  91243. ctx->t2 = t + 2*16;
  91244. ctx->x = r->x;
  91245. ctx->y = r->y;
  91246. ctx->z = r->z;
  91247. /* Put infinity into result. */
  91248. if (r != p) {
  91249. r->infinity = p->infinity;
  91250. }
  91251. ctx->state = 1;
  91252. break;
  91253. case 1:
  91254. /* T1 = Z * Z */
  91255. sp_1024_mont_sqr_16(ctx->t1, p->z, p1024_mod, p1024_mp_mod);
  91256. ctx->state = 2;
  91257. break;
  91258. case 2:
  91259. /* Z = Y * Z */
  91260. sp_1024_mont_mul_16(ctx->z, p->y, p->z, p1024_mod, p1024_mp_mod);
  91261. ctx->state = 3;
  91262. break;
  91263. case 3:
  91264. /* Z = 2Z */
  91265. sp_1024_mont_dbl_16(ctx->z, ctx->z, p1024_mod);
  91266. ctx->state = 4;
  91267. break;
  91268. case 4:
  91269. /* T2 = X - T1 */
  91270. sp_1024_mont_sub_16(ctx->t2, p->x, ctx->t1, p1024_mod);
  91271. ctx->state = 5;
  91272. break;
  91273. case 5:
  91274. /* T1 = X + T1 */
  91275. sp_1024_mont_add_16(ctx->t1, p->x, ctx->t1, p1024_mod);
  91276. ctx->state = 6;
  91277. break;
  91278. case 6:
  91279. /* T2 = T1 * T2 */
  91280. sp_1024_mont_mul_16(ctx->t2, ctx->t1, ctx->t2, p1024_mod, p1024_mp_mod);
  91281. ctx->state = 7;
  91282. break;
  91283. case 7:
  91284. /* T1 = 3T2 */
  91285. sp_1024_mont_tpl_16(ctx->t1, ctx->t2, p1024_mod);
  91286. ctx->state = 8;
  91287. break;
  91288. case 8:
  91289. /* Y = 2Y */
  91290. sp_1024_mont_dbl_16(ctx->y, p->y, p1024_mod);
  91291. ctx->state = 9;
  91292. break;
  91293. case 9:
  91294. /* Y = Y * Y */
  91295. sp_1024_mont_sqr_16(ctx->y, ctx->y, p1024_mod, p1024_mp_mod);
  91296. ctx->state = 10;
  91297. break;
  91298. case 10:
  91299. /* T2 = Y * Y */
  91300. sp_1024_mont_sqr_16(ctx->t2, ctx->y, p1024_mod, p1024_mp_mod);
  91301. ctx->state = 11;
  91302. break;
  91303. case 11:
  91304. /* T2 = T2/2 */
  91305. sp_1024_div2_16(ctx->t2, ctx->t2, p1024_mod);
  91306. ctx->state = 12;
  91307. break;
  91308. case 12:
  91309. /* Y = Y * X */
  91310. sp_1024_mont_mul_16(ctx->y, ctx->y, p->x, p1024_mod, p1024_mp_mod);
  91311. ctx->state = 13;
  91312. break;
  91313. case 13:
  91314. /* X = T1 * T1 */
  91315. sp_1024_mont_sqr_16(ctx->x, ctx->t1, p1024_mod, p1024_mp_mod);
  91316. ctx->state = 14;
  91317. break;
  91318. case 14:
  91319. /* X = X - Y */
  91320. sp_1024_mont_sub_16(ctx->x, ctx->x, ctx->y, p1024_mod);
  91321. ctx->state = 15;
  91322. break;
  91323. case 15:
  91324. /* X = X - Y */
  91325. sp_1024_mont_sub_16(ctx->x, ctx->x, ctx->y, p1024_mod);
  91326. ctx->state = 16;
  91327. break;
  91328. case 16:
  91329. /* Y = Y - X */
  91330. sp_1024_mont_sub_lower_16(ctx->y, ctx->y, ctx->x, p1024_mod);
  91331. ctx->state = 17;
  91332. break;
  91333. case 17:
  91334. /* Y = Y * T1 */
  91335. sp_1024_mont_mul_16(ctx->y, ctx->y, ctx->t1, p1024_mod, p1024_mp_mod);
  91336. ctx->state = 18;
  91337. break;
  91338. case 18:
  91339. /* Y = Y - T2 */
  91340. sp_1024_mont_sub_16(ctx->y, ctx->y, ctx->t2, p1024_mod);
  91341. ctx->state = 19;
  91342. /* fall-through */
  91343. case 19:
  91344. err = MP_OKAY;
  91345. break;
  91346. }
  91347. if (err == MP_OKAY && ctx->state != 19) {
  91348. err = FP_WOULDBLOCK;
  91349. }
  91350. return err;
  91351. }
  91352. #endif /* WOLFSSL_SP_NONBLOCK */
  91353. static void sp_1024_proj_point_dbl_16(sp_point_1024* r, const sp_point_1024* p,
  91354. sp_digit* t)
  91355. {
  91356. sp_digit* t1 = t;
  91357. sp_digit* t2 = t + 2*16;
  91358. sp_digit* x;
  91359. sp_digit* y;
  91360. sp_digit* z;
  91361. x = r->x;
  91362. y = r->y;
  91363. z = r->z;
  91364. /* Put infinity into result. */
  91365. if (r != p) {
  91366. r->infinity = p->infinity;
  91367. }
  91368. /* T1 = Z * Z */
  91369. sp_1024_mont_sqr_16(t1, p->z, p1024_mod, p1024_mp_mod);
  91370. /* Z = Y * Z */
  91371. sp_1024_mont_mul_16(z, p->y, p->z, p1024_mod, p1024_mp_mod);
  91372. /* Z = 2Z */
  91373. sp_1024_mont_dbl_16(z, z, p1024_mod);
  91374. /* T2 = X - T1 */
  91375. sp_1024_mont_sub_16(t2, p->x, t1, p1024_mod);
  91376. /* T1 = X + T1 */
  91377. sp_1024_mont_add_16(t1, p->x, t1, p1024_mod);
  91378. /* T2 = T1 * T2 */
  91379. sp_1024_mont_mul_16(t2, t1, t2, p1024_mod, p1024_mp_mod);
  91380. /* T1 = 3T2 */
  91381. sp_1024_mont_tpl_16(t1, t2, p1024_mod);
  91382. /* Y = 2Y */
  91383. sp_1024_mont_dbl_16(y, p->y, p1024_mod);
  91384. /* Y = Y * Y */
  91385. sp_1024_mont_sqr_16(y, y, p1024_mod, p1024_mp_mod);
  91386. /* T2 = Y * Y */
  91387. sp_1024_mont_sqr_16(t2, y, p1024_mod, p1024_mp_mod);
  91388. /* T2 = T2/2 */
  91389. sp_1024_div2_16(t2, t2, p1024_mod);
  91390. /* Y = Y * X */
  91391. sp_1024_mont_mul_16(y, y, p->x, p1024_mod, p1024_mp_mod);
  91392. /* X = T1 * T1 */
  91393. sp_1024_mont_sqr_16(x, t1, p1024_mod, p1024_mp_mod);
  91394. /* X = X - Y */
  91395. sp_1024_mont_sub_16(x, x, y, p1024_mod);
  91396. /* X = X - Y */
  91397. sp_1024_mont_sub_16(x, x, y, p1024_mod);
  91398. /* Y = Y - X */
  91399. sp_1024_mont_sub_lower_16(y, y, x, p1024_mod);
  91400. /* Y = Y * T1 */
  91401. sp_1024_mont_mul_16(y, y, t1, p1024_mod, p1024_mp_mod);
  91402. /* Y = Y - T2 */
  91403. sp_1024_mont_sub_16(y, y, t2, p1024_mod);
  91404. }
  91405. #define sp_1024_mont_dbl_lower_16 sp_1024_mont_dbl_16
  91406. #define sp_1024_mont_tpl_lower_16 sp_1024_mont_tpl_16
  91407. /* Double the Montgomery form projective point p a number of times.
  91408. *
  91409. * r Result of repeated doubling of point.
  91410. * p Point to double.
  91411. * n Number of times to double
  91412. * t Temporary ordinate data.
  91413. */
  91414. static void sp_1024_proj_point_dbl_n_16(sp_point_1024* p, int i,
  91415. sp_digit* t)
  91416. {
  91417. sp_digit* w = t;
  91418. sp_digit* a = t + 2*16;
  91419. sp_digit* b = t + 4*16;
  91420. sp_digit* t1 = t + 6*16;
  91421. sp_digit* t2 = t + 8*16;
  91422. sp_digit* x;
  91423. sp_digit* y;
  91424. sp_digit* z;
  91425. volatile int n = i;
  91426. x = p->x;
  91427. y = p->y;
  91428. z = p->z;
  91429. /* Y = 2*Y */
  91430. sp_1024_mont_dbl_16(y, y, p1024_mod);
  91431. /* W = Z^4 */
  91432. sp_1024_mont_sqr_16(w, z, p1024_mod, p1024_mp_mod);
  91433. sp_1024_mont_sqr_16(w, w, p1024_mod, p1024_mp_mod);
  91434. #ifndef WOLFSSL_SP_SMALL
  91435. while (--n > 0)
  91436. #else
  91437. while (--n >= 0)
  91438. #endif
  91439. {
  91440. /* A = 3*(X^2 - W) */
  91441. sp_1024_mont_sqr_16(t1, x, p1024_mod, p1024_mp_mod);
  91442. sp_1024_mont_sub_16(t1, t1, w, p1024_mod);
  91443. sp_1024_mont_tpl_lower_16(a, t1, p1024_mod);
  91444. /* B = X*Y^2 */
  91445. sp_1024_mont_sqr_16(t1, y, p1024_mod, p1024_mp_mod);
  91446. sp_1024_mont_mul_16(b, t1, x, p1024_mod, p1024_mp_mod);
  91447. /* X = A^2 - 2B */
  91448. sp_1024_mont_sqr_16(x, a, p1024_mod, p1024_mp_mod);
  91449. sp_1024_mont_dbl_16(t2, b, p1024_mod);
  91450. sp_1024_mont_sub_16(x, x, t2, p1024_mod);
  91451. /* b = 2.(B - X) */
  91452. sp_1024_mont_sub_lower_16(t2, b, x, p1024_mod);
  91453. sp_1024_mont_dbl_lower_16(b, t2, p1024_mod);
  91454. /* Z = Z*Y */
  91455. sp_1024_mont_mul_16(z, z, y, p1024_mod, p1024_mp_mod);
  91456. /* t1 = Y^4 */
  91457. sp_1024_mont_sqr_16(t1, t1, p1024_mod, p1024_mp_mod);
  91458. #ifdef WOLFSSL_SP_SMALL
  91459. if (n != 0)
  91460. #endif
  91461. {
  91462. /* W = W*Y^4 */
  91463. sp_1024_mont_mul_16(w, w, t1, p1024_mod, p1024_mp_mod);
  91464. }
  91465. /* y = 2*A*(B - X) - Y^4 */
  91466. sp_1024_mont_mul_16(y, b, a, p1024_mod, p1024_mp_mod);
  91467. sp_1024_mont_sub_16(y, y, t1, p1024_mod);
  91468. }
  91469. #ifndef WOLFSSL_SP_SMALL
  91470. /* A = 3*(X^2 - W) */
  91471. sp_1024_mont_sqr_16(t1, x, p1024_mod, p1024_mp_mod);
  91472. sp_1024_mont_sub_16(t1, t1, w, p1024_mod);
  91473. sp_1024_mont_tpl_lower_16(a, t1, p1024_mod);
  91474. /* B = X*Y^2 */
  91475. sp_1024_mont_sqr_16(t1, y, p1024_mod, p1024_mp_mod);
  91476. sp_1024_mont_mul_16(b, t1, x, p1024_mod, p1024_mp_mod);
  91477. /* X = A^2 - 2B */
  91478. sp_1024_mont_sqr_16(x, a, p1024_mod, p1024_mp_mod);
  91479. sp_1024_mont_dbl_16(t2, b, p1024_mod);
  91480. sp_1024_mont_sub_16(x, x, t2, p1024_mod);
  91481. /* b = 2.(B - X) */
  91482. sp_1024_mont_sub_lower_16(t2, b, x, p1024_mod);
  91483. sp_1024_mont_dbl_lower_16(b, t2, p1024_mod);
  91484. /* Z = Z*Y */
  91485. sp_1024_mont_mul_16(z, z, y, p1024_mod, p1024_mp_mod);
  91486. /* t1 = Y^4 */
  91487. sp_1024_mont_sqr_16(t1, t1, p1024_mod, p1024_mp_mod);
  91488. /* y = 2*A*(B - X) - Y^4 */
  91489. sp_1024_mont_mul_16(y, b, a, p1024_mod, p1024_mp_mod);
  91490. sp_1024_mont_sub_16(y, y, t1, p1024_mod);
  91491. #endif
  91492. /* Y = Y/2 */
  91493. sp_1024_div2_16(y, y, p1024_mod);
  91494. }
  91495. #ifdef __cplusplus
  91496. extern "C" {
  91497. #endif
  91498. extern sp_digit sp_1024_sub_16(sp_digit* r, const sp_digit* a, const sp_digit* b);
  91499. #ifdef __cplusplus
  91500. }
  91501. #endif
  91502. /* Compare two numbers to determine if they are equal.
  91503. * Constant time implementation.
  91504. *
  91505. * a First number to compare.
  91506. * b Second number to compare.
  91507. * returns 1 when equal and 0 otherwise.
  91508. */
  91509. static int sp_1024_cmp_equal_16(const sp_digit* a, const sp_digit* b)
  91510. {
  91511. return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) |
  91512. (a[3] ^ b[3]) | (a[4] ^ b[4]) | (a[5] ^ b[5]) |
  91513. (a[6] ^ b[6]) | (a[7] ^ b[7]) | (a[8] ^ b[8]) |
  91514. (a[9] ^ b[9]) | (a[10] ^ b[10]) | (a[11] ^ b[11]) |
  91515. (a[12] ^ b[12]) | (a[13] ^ b[13]) | (a[14] ^ b[14]) |
  91516. (a[15] ^ b[15])) == 0;
  91517. }
  91518. /* Returns 1 if the number of zero.
  91519. * Implementation is constant time.
  91520. *
  91521. * a Number to check.
  91522. * returns 1 if the number is zero and 0 otherwise.
  91523. */
  91524. static int sp_1024_iszero_16(const sp_digit* a)
  91525. {
  91526. return (a[0] | a[1] | a[2] | a[3] | a[4] | a[5] | a[6] | a[7] |
  91527. a[8] | a[9] | a[10] | a[11] | a[12] | a[13] | a[14] | a[15]) == 0;
  91528. }
  91529. /* Add two Montgomery form projective points.
  91530. *
  91531. * r Result of addition.
  91532. * p First point to add.
  91533. * q Second point to add.
  91534. * t Temporary ordinate data.
  91535. */
  91536. #ifdef WOLFSSL_SP_NONBLOCK
  91537. typedef struct sp_1024_proj_point_add_16_ctx {
  91538. int state;
  91539. sp_1024_proj_point_dbl_16_ctx dbl_ctx;
  91540. const sp_point_1024* ap[2];
  91541. sp_point_1024* rp[2];
  91542. sp_digit* t1;
  91543. sp_digit* t2;
  91544. sp_digit* t3;
  91545. sp_digit* t4;
  91546. sp_digit* t5;
  91547. sp_digit* t6;
  91548. sp_digit* x;
  91549. sp_digit* y;
  91550. sp_digit* z;
  91551. } sp_1024_proj_point_add_16_ctx;
  91552. static int sp_1024_proj_point_add_16_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r,
  91553. const sp_point_1024* p, const sp_point_1024* q, sp_digit* t)
  91554. {
  91555. int err = FP_WOULDBLOCK;
  91556. sp_1024_proj_point_add_16_ctx* ctx = (sp_1024_proj_point_add_16_ctx*)sp_ctx->data;
  91557. /* Ensure only the first point is the same as the result. */
  91558. if (q == r) {
  91559. const sp_point_1024* a = p;
  91560. p = q;
  91561. q = a;
  91562. }
  91563. typedef char ctx_size_test[sizeof(sp_1024_proj_point_add_16_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  91564. (void)sizeof(ctx_size_test);
  91565. switch (ctx->state) {
  91566. case 0: /* INIT */
  91567. ctx->t1 = t;
  91568. ctx->t2 = t + 2*16;
  91569. ctx->t3 = t + 4*16;
  91570. ctx->t4 = t + 6*16;
  91571. ctx->t5 = t + 8*16;
  91572. ctx->t6 = t + 10*16;
  91573. ctx->x = ctx->t6;
  91574. ctx->y = ctx->t1;
  91575. ctx->z = ctx->t2;
  91576. ctx->state = 1;
  91577. break;
  91578. case 1:
  91579. /* Check double */
  91580. (void)sp_1024_sub_16(ctx->t1, p1024_mod, q->y);
  91581. sp_1024_norm_16(ctx->t1);
  91582. if ((~p->infinity & ~q->infinity &
  91583. sp_1024_cmp_equal_16(p->x, q->x) & sp_1024_cmp_equal_16(p->z, q->z) &
  91584. (sp_1024_cmp_equal_16(p->y, q->y) | sp_1024_cmp_equal_16(p->y, ctx->t1))) != 0)
  91585. {
  91586. XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx));
  91587. ctx->state = 2;
  91588. }
  91589. else {
  91590. ctx->state = 3;
  91591. }
  91592. break;
  91593. case 2:
  91594. err = sp_1024_proj_point_dbl_16_nb((sp_ecc_ctx_t*)&ctx->dbl_ctx, r, p, t);
  91595. if (err == MP_OKAY)
  91596. ctx->state = 27; /* done */
  91597. break;
  91598. case 3:
  91599. {
  91600. ctx->state = 4;
  91601. break;
  91602. }
  91603. case 4:
  91604. /* U1 = X1*Z2^2 */
  91605. sp_1024_mont_sqr_16(ctx->t1, q->z, p1024_mod, p1024_mp_mod);
  91606. ctx->state = 5;
  91607. break;
  91608. case 5:
  91609. sp_1024_mont_mul_16(ctx->t3, ctx->t1, q->z, p1024_mod, p1024_mp_mod);
  91610. ctx->state = 6;
  91611. break;
  91612. case 6:
  91613. sp_1024_mont_mul_16(ctx->t1, ctx->t1, p->x, p1024_mod, p1024_mp_mod);
  91614. ctx->state = 7;
  91615. break;
  91616. case 7:
  91617. /* U2 = X2*Z1^2 */
  91618. sp_1024_mont_sqr_16(ctx->t2, p->z, p1024_mod, p1024_mp_mod);
  91619. ctx->state = 8;
  91620. break;
  91621. case 8:
  91622. sp_1024_mont_mul_16(ctx->t4, ctx->t2, p->z, p1024_mod, p1024_mp_mod);
  91623. ctx->state = 9;
  91624. break;
  91625. case 9:
  91626. sp_1024_mont_mul_16(ctx->t2, ctx->t2, q->x, p1024_mod, p1024_mp_mod);
  91627. ctx->state = 10;
  91628. break;
  91629. case 10:
  91630. /* S1 = Y1*Z2^3 */
  91631. sp_1024_mont_mul_16(ctx->t3, ctx->t3, p->y, p1024_mod, p1024_mp_mod);
  91632. ctx->state = 11;
  91633. break;
  91634. case 11:
  91635. /* S2 = Y2*Z1^3 */
  91636. sp_1024_mont_mul_16(ctx->t4, ctx->t4, q->y, p1024_mod, p1024_mp_mod);
  91637. ctx->state = 12;
  91638. break;
  91639. case 12:
  91640. /* H = U2 - U1 */
  91641. sp_1024_mont_sub_16(ctx->t2, ctx->t2, ctx->t1, p1024_mod);
  91642. ctx->state = 13;
  91643. break;
  91644. case 13:
  91645. /* R = S2 - S1 */
  91646. sp_1024_mont_sub_16(ctx->t4, ctx->t4, ctx->t3, p1024_mod);
  91647. ctx->state = 14;
  91648. break;
  91649. case 14:
  91650. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  91651. sp_1024_mont_sqr_16(ctx->t5, ctx->t2, p1024_mod, p1024_mp_mod);
  91652. ctx->state = 15;
  91653. break;
  91654. case 15:
  91655. sp_1024_mont_mul_16(ctx->y, ctx->t1, ctx->t5, p1024_mod, p1024_mp_mod);
  91656. ctx->state = 16;
  91657. break;
  91658. case 16:
  91659. sp_1024_mont_mul_16(ctx->t5, ctx->t5, ctx->t2, p1024_mod, p1024_mp_mod);
  91660. ctx->state = 17;
  91661. break;
  91662. case 17:
  91663. /* Z3 = H*Z1*Z2 */
  91664. sp_1024_mont_mul_16(ctx->z, p->z, ctx->t2, p1024_mod, p1024_mp_mod);
  91665. ctx->state = 18;
  91666. break;
  91667. case 18:
  91668. sp_1024_mont_mul_16(ctx->z, ctx->z, q->z, p1024_mod, p1024_mp_mod);
  91669. ctx->state = 19;
  91670. break;
  91671. case 19:
  91672. sp_1024_mont_sqr_16(ctx->x, ctx->t4, p1024_mod, p1024_mp_mod);
  91673. ctx->state = 20;
  91674. break;
  91675. case 20:
  91676. sp_1024_mont_sub_16(ctx->x, ctx->x, ctx->t5, p1024_mod);
  91677. ctx->state = 21;
  91678. break;
  91679. case 21:
  91680. sp_1024_mont_mul_16(ctx->t5, ctx->t5, ctx->t3, p1024_mod, p1024_mp_mod);
  91681. ctx->state = 22;
  91682. break;
  91683. case 22:
  91684. sp_1024_mont_dbl_16(ctx->t3, ctx->y, p1024_mod);
  91685. ctx->state = 23;
  91686. break;
  91687. case 23:
  91688. sp_1024_mont_sub_16(ctx->x, ctx->x, ctx->t3, p1024_mod);
  91689. ctx->state = 24;
  91690. break;
  91691. case 24:
  91692. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  91693. sp_1024_mont_sub_lower_16(ctx->y, ctx->y, ctx->x, p1024_mod);
  91694. ctx->state = 25;
  91695. break;
  91696. case 25:
  91697. sp_1024_mont_mul_16(ctx->y, ctx->y, ctx->t4, p1024_mod, p1024_mp_mod);
  91698. ctx->state = 26;
  91699. break;
  91700. case 26:
  91701. sp_1024_mont_sub_16(ctx->y, ctx->y, ctx->t5, p1024_mod);
  91702. ctx->state = 27;
  91703. /* fall-through */
  91704. case 27:
  91705. {
  91706. int i;
  91707. sp_digit maskp = 0 - (q->infinity & (!p->infinity));
  91708. sp_digit maskq = 0 - (p->infinity & (!q->infinity));
  91709. sp_digit maskt = ~(maskp | maskq);
  91710. for (i = 0; i < 16; i++) {
  91711. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  91712. (ctx->x[i] & maskt);
  91713. }
  91714. for (i = 0; i < 16; i++) {
  91715. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  91716. (ctx->y[i] & maskt);
  91717. }
  91718. for (i = 0; i < 16; i++) {
  91719. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  91720. (ctx->z[i] & maskt);
  91721. }
  91722. r->z[0] |= p->infinity & q->infinity;
  91723. r->infinity = p->infinity & q->infinity;
  91724. err = MP_OKAY;
  91725. break;
  91726. }
  91727. }
  91728. if (err == MP_OKAY && ctx->state != 27) {
  91729. err = FP_WOULDBLOCK;
  91730. }
  91731. return err;
  91732. }
  91733. #endif /* WOLFSSL_SP_NONBLOCK */
  91734. static void sp_1024_proj_point_add_16(sp_point_1024* r,
  91735. const sp_point_1024* p, const sp_point_1024* q, sp_digit* t)
  91736. {
  91737. sp_digit* t1 = t;
  91738. sp_digit* t2 = t + 2*16;
  91739. sp_digit* t3 = t + 4*16;
  91740. sp_digit* t4 = t + 6*16;
  91741. sp_digit* t5 = t + 8*16;
  91742. sp_digit* t6 = t + 10*16;
  91743. /* Check double */
  91744. (void)sp_1024_mont_sub_16(t1, p1024_mod, q->y, p1024_mod);
  91745. sp_1024_norm_16(t1);
  91746. if ((~p->infinity & ~q->infinity &
  91747. sp_1024_cmp_equal_16(p->x, q->x) & sp_1024_cmp_equal_16(p->z, q->z) &
  91748. (sp_1024_cmp_equal_16(p->y, q->y) | sp_1024_cmp_equal_16(p->y, t1))) != 0) {
  91749. sp_1024_proj_point_dbl_16(r, p, t);
  91750. }
  91751. else {
  91752. sp_digit maskp;
  91753. sp_digit maskq;
  91754. sp_digit maskt;
  91755. sp_digit* x = t6;
  91756. sp_digit* y = t1;
  91757. sp_digit* z = t2;
  91758. int i;
  91759. maskp = 0 - (q->infinity & (!p->infinity));
  91760. maskq = 0 - (p->infinity & (!q->infinity));
  91761. maskt = ~(maskp | maskq);
  91762. /* U1 = X1*Z2^2 */
  91763. sp_1024_mont_sqr_16(t1, q->z, p1024_mod, p1024_mp_mod);
  91764. sp_1024_mont_mul_16(t3, t1, q->z, p1024_mod, p1024_mp_mod);
  91765. sp_1024_mont_mul_16(t1, t1, p->x, p1024_mod, p1024_mp_mod);
  91766. /* U2 = X2*Z1^2 */
  91767. sp_1024_mont_sqr_16(t2, p->z, p1024_mod, p1024_mp_mod);
  91768. sp_1024_mont_mul_16(t4, t2, p->z, p1024_mod, p1024_mp_mod);
  91769. sp_1024_mont_mul_16(t2, t2, q->x, p1024_mod, p1024_mp_mod);
  91770. /* S1 = Y1*Z2^3 */
  91771. sp_1024_mont_mul_16(t3, t3, p->y, p1024_mod, p1024_mp_mod);
  91772. /* S2 = Y2*Z1^3 */
  91773. sp_1024_mont_mul_16(t4, t4, q->y, p1024_mod, p1024_mp_mod);
  91774. /* H = U2 - U1 */
  91775. sp_1024_mont_sub_16(t2, t2, t1, p1024_mod);
  91776. /* R = S2 - S1 */
  91777. sp_1024_mont_sub_16(t4, t4, t3, p1024_mod);
  91778. if (~p->infinity & ~q->infinity &
  91779. sp_1024_iszero_16(t2) & sp_1024_iszero_16(t4) & maskt) {
  91780. sp_1024_proj_point_dbl_16(r, p, t);
  91781. }
  91782. else {
  91783. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  91784. sp_1024_mont_sqr_16(t5, t2, p1024_mod, p1024_mp_mod);
  91785. sp_1024_mont_mul_16(y, t1, t5, p1024_mod, p1024_mp_mod);
  91786. sp_1024_mont_mul_16(t5, t5, t2, p1024_mod, p1024_mp_mod);
  91787. /* Z3 = H*Z1*Z2 */
  91788. sp_1024_mont_mul_16(z, p->z, t2, p1024_mod, p1024_mp_mod);
  91789. sp_1024_mont_mul_16(z, z, q->z, p1024_mod, p1024_mp_mod);
  91790. sp_1024_mont_sqr_16(x, t4, p1024_mod, p1024_mp_mod);
  91791. sp_1024_mont_sub_16(x, x, t5, p1024_mod);
  91792. sp_1024_mont_mul_16(t5, t5, t3, p1024_mod, p1024_mp_mod);
  91793. sp_1024_mont_dbl_16(t3, y, p1024_mod);
  91794. sp_1024_mont_sub_16(x, x, t3, p1024_mod);
  91795. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  91796. sp_1024_mont_sub_lower_16(y, y, x, p1024_mod);
  91797. sp_1024_mont_mul_16(y, y, t4, p1024_mod, p1024_mp_mod);
  91798. sp_1024_mont_sub_16(y, y, t5, p1024_mod);
  91799. for (i = 0; i < 16; i++) {
  91800. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  91801. (x[i] & maskt);
  91802. }
  91803. for (i = 0; i < 16; i++) {
  91804. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  91805. (y[i] & maskt);
  91806. }
  91807. for (i = 0; i < 16; i++) {
  91808. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  91809. (z[i] & maskt);
  91810. }
  91811. r->z[0] |= p->infinity & q->infinity;
  91812. r->infinity = p->infinity & q->infinity;
  91813. }
  91814. }
  91815. }
  91816. /* Double the Montgomery form projective point p a number of times.
  91817. *
  91818. * r Result of repeated doubling of point.
  91819. * p Point to double.
  91820. * n Number of times to double
  91821. * t Temporary ordinate data.
  91822. */
  91823. static void sp_1024_proj_point_dbl_n_store_16(sp_point_1024* r,
  91824. const sp_point_1024* p, int n, int m, sp_digit* t)
  91825. {
  91826. sp_digit* w = t;
  91827. sp_digit* a = t + 2*16;
  91828. sp_digit* b = t + 4*16;
  91829. sp_digit* t1 = t + 6*16;
  91830. sp_digit* t2 = t + 8*16;
  91831. sp_digit* x = r[2*m].x;
  91832. sp_digit* y = r[(1<<n)*m].y;
  91833. sp_digit* z = r[2*m].z;
  91834. int i;
  91835. int j;
  91836. for (i=0; i<16; i++) {
  91837. x[i] = p->x[i];
  91838. }
  91839. for (i=0; i<16; i++) {
  91840. y[i] = p->y[i];
  91841. }
  91842. for (i=0; i<16; i++) {
  91843. z[i] = p->z[i];
  91844. }
  91845. /* Y = 2*Y */
  91846. sp_1024_mont_dbl_16(y, y, p1024_mod);
  91847. /* W = Z^4 */
  91848. sp_1024_mont_sqr_16(w, z, p1024_mod, p1024_mp_mod);
  91849. sp_1024_mont_sqr_16(w, w, p1024_mod, p1024_mp_mod);
  91850. j = m;
  91851. for (i=1; i<=n; i++) {
  91852. j *= 2;
  91853. /* A = 3*(X^2 - W) */
  91854. sp_1024_mont_sqr_16(t1, x, p1024_mod, p1024_mp_mod);
  91855. sp_1024_mont_sub_16(t1, t1, w, p1024_mod);
  91856. sp_1024_mont_tpl_lower_16(a, t1, p1024_mod);
  91857. /* B = X*Y^2 */
  91858. sp_1024_mont_sqr_16(t1, y, p1024_mod, p1024_mp_mod);
  91859. sp_1024_mont_mul_16(b, t1, x, p1024_mod, p1024_mp_mod);
  91860. x = r[j].x;
  91861. /* X = A^2 - 2B */
  91862. sp_1024_mont_sqr_16(x, a, p1024_mod, p1024_mp_mod);
  91863. sp_1024_mont_dbl_16(t2, b, p1024_mod);
  91864. sp_1024_mont_sub_16(x, x, t2, p1024_mod);
  91865. /* b = 2.(B - X) */
  91866. sp_1024_mont_sub_lower_16(t2, b, x, p1024_mod);
  91867. sp_1024_mont_dbl_lower_16(b, t2, p1024_mod);
  91868. /* Z = Z*Y */
  91869. sp_1024_mont_mul_16(r[j].z, z, y, p1024_mod, p1024_mp_mod);
  91870. z = r[j].z;
  91871. /* t1 = Y^4 */
  91872. sp_1024_mont_sqr_16(t1, t1, p1024_mod, p1024_mp_mod);
  91873. if (i != n) {
  91874. /* W = W*Y^4 */
  91875. sp_1024_mont_mul_16(w, w, t1, p1024_mod, p1024_mp_mod);
  91876. }
  91877. /* y = 2*A*(B - X) - Y^4 */
  91878. sp_1024_mont_mul_16(y, b, a, p1024_mod, p1024_mp_mod);
  91879. sp_1024_mont_sub_16(y, y, t1, p1024_mod);
  91880. /* Y = Y/2 */
  91881. sp_1024_div2_16(r[j].y, y, p1024_mod);
  91882. r[j].infinity = 0;
  91883. }
  91884. }
  91885. /* Add two Montgomery form projective points.
  91886. *
  91887. * ra Result of addition.
  91888. * rs Result of subtraction.
  91889. * p First point to add.
  91890. * q Second point to add.
  91891. * t Temporary ordinate data.
  91892. */
  91893. static void sp_1024_proj_point_add_sub_16(sp_point_1024* ra,
  91894. sp_point_1024* rs, const sp_point_1024* p, const sp_point_1024* q,
  91895. sp_digit* t)
  91896. {
  91897. sp_digit* t1 = t;
  91898. sp_digit* t2 = t + 2*16;
  91899. sp_digit* t3 = t + 4*16;
  91900. sp_digit* t4 = t + 6*16;
  91901. sp_digit* t5 = t + 8*16;
  91902. sp_digit* t6 = t + 10*16;
  91903. sp_digit* xa = ra->x;
  91904. sp_digit* ya = ra->y;
  91905. sp_digit* za = ra->z;
  91906. sp_digit* xs = rs->x;
  91907. sp_digit* ys = rs->y;
  91908. sp_digit* zs = rs->z;
  91909. XMEMCPY(xa, p->x, sizeof(p->x) / 2);
  91910. XMEMCPY(ya, p->y, sizeof(p->y) / 2);
  91911. XMEMCPY(za, p->z, sizeof(p->z) / 2);
  91912. ra->infinity = 0;
  91913. rs->infinity = 0;
  91914. /* U1 = X1*Z2^2 */
  91915. sp_1024_mont_sqr_16(t1, q->z, p1024_mod, p1024_mp_mod);
  91916. sp_1024_mont_mul_16(t3, t1, q->z, p1024_mod, p1024_mp_mod);
  91917. sp_1024_mont_mul_16(t1, t1, xa, p1024_mod, p1024_mp_mod);
  91918. /* U2 = X2*Z1^2 */
  91919. sp_1024_mont_sqr_16(t2, za, p1024_mod, p1024_mp_mod);
  91920. sp_1024_mont_mul_16(t4, t2, za, p1024_mod, p1024_mp_mod);
  91921. sp_1024_mont_mul_16(t2, t2, q->x, p1024_mod, p1024_mp_mod);
  91922. /* S1 = Y1*Z2^3 */
  91923. sp_1024_mont_mul_16(t3, t3, ya, p1024_mod, p1024_mp_mod);
  91924. /* S2 = Y2*Z1^3 */
  91925. sp_1024_mont_mul_16(t4, t4, q->y, p1024_mod, p1024_mp_mod);
  91926. /* H = U2 - U1 */
  91927. sp_1024_mont_sub_16(t2, t2, t1, p1024_mod);
  91928. /* RS = S2 + S1 */
  91929. sp_1024_mont_add_16(t6, t4, t3, p1024_mod);
  91930. /* R = S2 - S1 */
  91931. sp_1024_mont_sub_16(t4, t4, t3, p1024_mod);
  91932. /* Z3 = H*Z1*Z2 */
  91933. /* ZS = H*Z1*Z2 */
  91934. sp_1024_mont_mul_16(za, za, q->z, p1024_mod, p1024_mp_mod);
  91935. sp_1024_mont_mul_16(za, za, t2, p1024_mod, p1024_mp_mod);
  91936. XMEMCPY(zs, za, sizeof(p->z)/2);
  91937. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  91938. /* XS = RS^2 - H^3 - 2*U1*H^2 */
  91939. sp_1024_mont_sqr_16(xa, t4, p1024_mod, p1024_mp_mod);
  91940. sp_1024_mont_sqr_16(xs, t6, p1024_mod, p1024_mp_mod);
  91941. sp_1024_mont_sqr_16(t5, t2, p1024_mod, p1024_mp_mod);
  91942. sp_1024_mont_mul_16(ya, t1, t5, p1024_mod, p1024_mp_mod);
  91943. sp_1024_mont_mul_16(t5, t5, t2, p1024_mod, p1024_mp_mod);
  91944. sp_1024_mont_sub_16(xa, xa, t5, p1024_mod);
  91945. sp_1024_mont_sub_16(xs, xs, t5, p1024_mod);
  91946. sp_1024_mont_dbl_16(t1, ya, p1024_mod);
  91947. sp_1024_mont_sub_16(xa, xa, t1, p1024_mod);
  91948. sp_1024_mont_sub_16(xs, xs, t1, p1024_mod);
  91949. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  91950. /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */
  91951. sp_1024_mont_sub_lower_16(ys, ya, xs, p1024_mod);
  91952. sp_1024_mont_sub_lower_16(ya, ya, xa, p1024_mod);
  91953. sp_1024_mont_mul_16(ya, ya, t4, p1024_mod, p1024_mp_mod);
  91954. sp_1024_mont_sub_16(t6, p1024_mod, t6, p1024_mod);
  91955. sp_1024_mont_mul_16(ys, ys, t6, p1024_mod, p1024_mp_mod);
  91956. sp_1024_mont_mul_16(t5, t5, t3, p1024_mod, p1024_mp_mod);
  91957. sp_1024_mont_sub_16(ya, ya, t5, p1024_mod);
  91958. sp_1024_mont_sub_16(ys, ys, t5, p1024_mod);
  91959. }
  91960. /* Structure used to describe recoding of scalar multiplication. */
  91961. typedef struct ecc_recode_1024 {
  91962. /* Index into pre-computation table. */
  91963. uint8_t i;
  91964. /* Use the negative of the point. */
  91965. uint8_t neg;
  91966. } ecc_recode_1024;
  91967. /* The index into pre-computation table to use. */
  91968. static const uint8_t recode_index_16_7[130] = {
  91969. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  91970. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  91971. 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
  91972. 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
  91973. 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49,
  91974. 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33,
  91975. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  91976. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  91977. 0, 1,
  91978. };
  91979. /* Whether to negate y-ordinate. */
  91980. static const uint8_t recode_neg_16_7[130] = {
  91981. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  91982. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  91983. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  91984. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  91985. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  91986. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  91987. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  91988. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  91989. 0, 0,
  91990. };
  91991. /* Recode the scalar for multiplication using pre-computed values and
  91992. * subtraction.
  91993. *
  91994. * k Scalar to multiply by.
  91995. * v Vector of operations to perform.
  91996. */
  91997. static void sp_1024_ecc_recode_7_16(const sp_digit* k, ecc_recode_1024* v)
  91998. {
  91999. int i;
  92000. int j;
  92001. uint8_t y;
  92002. int carry = 0;
  92003. int o;
  92004. sp_digit n;
  92005. j = 0;
  92006. n = k[j];
  92007. o = 0;
  92008. for (i=0; i<147; i++) {
  92009. y = (int8_t)n;
  92010. if (o + 7 < 64) {
  92011. y &= 0x7f;
  92012. n >>= 7;
  92013. o += 7;
  92014. }
  92015. else if (o + 7 == 64) {
  92016. n >>= 7;
  92017. if (++j < 16)
  92018. n = k[j];
  92019. o = 0;
  92020. }
  92021. else if (++j < 16) {
  92022. n = k[j];
  92023. y |= (uint8_t)((n << (64 - o)) & 0x7f);
  92024. o -= 57;
  92025. n >>= o;
  92026. }
  92027. y += (uint8_t)carry;
  92028. v[i].i = recode_index_16_7[y];
  92029. v[i].neg = recode_neg_16_7[y];
  92030. carry = (y >> 7) + v[i].neg;
  92031. }
  92032. }
  92033. /* Multiply the point by the scalar and return the result.
  92034. * If map is true then convert result to affine coordinates.
  92035. *
  92036. * Window technique of 7 bits. (Add-Sub variation.)
  92037. * Calculate 0..64 times the point. Use function that adds and
  92038. * subtracts the same two points.
  92039. * Recode to add or subtract one of the computed points.
  92040. * Double to push up.
  92041. * NOT a sliding window.
  92042. *
  92043. * r Resulting point.
  92044. * g Point to multiply.
  92045. * k Scalar to multiply by.
  92046. * map Indicates whether to convert result to affine.
  92047. * ct Constant time required.
  92048. * heap Heap to use for allocation.
  92049. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  92050. */
  92051. static int sp_1024_ecc_mulmod_win_add_sub_16(sp_point_1024* r, const sp_point_1024* g,
  92052. const sp_digit* k, int map, int ct, void* heap)
  92053. {
  92054. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  92055. sp_point_1024* t = NULL;
  92056. sp_digit* tmp = NULL;
  92057. #else
  92058. sp_point_1024 t[65+2];
  92059. sp_digit tmp[2 * 16 * 6];
  92060. #endif
  92061. sp_point_1024* rt = NULL;
  92062. sp_point_1024* p = NULL;
  92063. sp_digit* negy;
  92064. int i;
  92065. ecc_recode_1024 v[147];
  92066. int err = MP_OKAY;
  92067. /* Constant time used for cache attack resistance implementation. */
  92068. (void)ct;
  92069. (void)heap;
  92070. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  92071. t = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024) *
  92072. (65+2), heap, DYNAMIC_TYPE_ECC);
  92073. if (t == NULL)
  92074. err = MEMORY_E;
  92075. if (err == MP_OKAY) {
  92076. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 16 * 6,
  92077. heap, DYNAMIC_TYPE_ECC);
  92078. if (tmp == NULL)
  92079. err = MEMORY_E;
  92080. }
  92081. #endif
  92082. if (err == MP_OKAY) {
  92083. rt = t + 65;
  92084. p = t + 65+1;
  92085. /* t[0] = {0, 0, 1} * norm */
  92086. XMEMSET(&t[0], 0, sizeof(t[0]));
  92087. t[0].infinity = 1;
  92088. /* t[1] = {g->x, g->y, g->z} * norm */
  92089. err = sp_1024_mod_mul_norm_16(t[1].x, g->x, p1024_mod);
  92090. }
  92091. if (err == MP_OKAY) {
  92092. err = sp_1024_mod_mul_norm_16(t[1].y, g->y, p1024_mod);
  92093. }
  92094. if (err == MP_OKAY) {
  92095. err = sp_1024_mod_mul_norm_16(t[1].z, g->z, p1024_mod);
  92096. }
  92097. if (err == MP_OKAY) {
  92098. t[1].infinity = 0;
  92099. /* t[2] ... t[64] */
  92100. sp_1024_proj_point_dbl_n_store_16(t, &t[ 1], 6, 1, tmp);
  92101. sp_1024_proj_point_add_16(&t[ 3], &t[ 2], &t[ 1], tmp);
  92102. sp_1024_proj_point_dbl_16(&t[ 6], &t[ 3], tmp);
  92103. sp_1024_proj_point_add_sub_16(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp);
  92104. sp_1024_proj_point_dbl_16(&t[10], &t[ 5], tmp);
  92105. sp_1024_proj_point_add_sub_16(&t[11], &t[ 9], &t[10], &t[ 1], tmp);
  92106. sp_1024_proj_point_dbl_16(&t[12], &t[ 6], tmp);
  92107. sp_1024_proj_point_dbl_16(&t[14], &t[ 7], tmp);
  92108. sp_1024_proj_point_add_sub_16(&t[15], &t[13], &t[14], &t[ 1], tmp);
  92109. sp_1024_proj_point_dbl_16(&t[18], &t[ 9], tmp);
  92110. sp_1024_proj_point_add_sub_16(&t[19], &t[17], &t[18], &t[ 1], tmp);
  92111. sp_1024_proj_point_dbl_16(&t[20], &t[10], tmp);
  92112. sp_1024_proj_point_dbl_16(&t[22], &t[11], tmp);
  92113. sp_1024_proj_point_add_sub_16(&t[23], &t[21], &t[22], &t[ 1], tmp);
  92114. sp_1024_proj_point_dbl_16(&t[24], &t[12], tmp);
  92115. sp_1024_proj_point_dbl_16(&t[26], &t[13], tmp);
  92116. sp_1024_proj_point_add_sub_16(&t[27], &t[25], &t[26], &t[ 1], tmp);
  92117. sp_1024_proj_point_dbl_16(&t[28], &t[14], tmp);
  92118. sp_1024_proj_point_dbl_16(&t[30], &t[15], tmp);
  92119. sp_1024_proj_point_add_sub_16(&t[31], &t[29], &t[30], &t[ 1], tmp);
  92120. sp_1024_proj_point_dbl_16(&t[34], &t[17], tmp);
  92121. sp_1024_proj_point_add_sub_16(&t[35], &t[33], &t[34], &t[ 1], tmp);
  92122. sp_1024_proj_point_dbl_16(&t[36], &t[18], tmp);
  92123. sp_1024_proj_point_dbl_16(&t[38], &t[19], tmp);
  92124. sp_1024_proj_point_add_sub_16(&t[39], &t[37], &t[38], &t[ 1], tmp);
  92125. sp_1024_proj_point_dbl_16(&t[40], &t[20], tmp);
  92126. sp_1024_proj_point_dbl_16(&t[42], &t[21], tmp);
  92127. sp_1024_proj_point_add_sub_16(&t[43], &t[41], &t[42], &t[ 1], tmp);
  92128. sp_1024_proj_point_dbl_16(&t[44], &t[22], tmp);
  92129. sp_1024_proj_point_dbl_16(&t[46], &t[23], tmp);
  92130. sp_1024_proj_point_add_sub_16(&t[47], &t[45], &t[46], &t[ 1], tmp);
  92131. sp_1024_proj_point_dbl_16(&t[48], &t[24], tmp);
  92132. sp_1024_proj_point_dbl_16(&t[50], &t[25], tmp);
  92133. sp_1024_proj_point_add_sub_16(&t[51], &t[49], &t[50], &t[ 1], tmp);
  92134. sp_1024_proj_point_dbl_16(&t[52], &t[26], tmp);
  92135. sp_1024_proj_point_dbl_16(&t[54], &t[27], tmp);
  92136. sp_1024_proj_point_add_sub_16(&t[55], &t[53], &t[54], &t[ 1], tmp);
  92137. sp_1024_proj_point_dbl_16(&t[56], &t[28], tmp);
  92138. sp_1024_proj_point_dbl_16(&t[58], &t[29], tmp);
  92139. sp_1024_proj_point_add_sub_16(&t[59], &t[57], &t[58], &t[ 1], tmp);
  92140. sp_1024_proj_point_dbl_16(&t[60], &t[30], tmp);
  92141. sp_1024_proj_point_dbl_16(&t[62], &t[31], tmp);
  92142. sp_1024_proj_point_add_sub_16(&t[63], &t[61], &t[62], &t[ 1], tmp);
  92143. negy = t[0].y;
  92144. sp_1024_ecc_recode_7_16(k, v);
  92145. i = 146;
  92146. XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_1024));
  92147. for (--i; i>=0; i--) {
  92148. sp_1024_proj_point_dbl_n_16(rt, 7, tmp);
  92149. XMEMCPY(p, &t[v[i].i], sizeof(sp_point_1024));
  92150. sp_1024_mont_sub_16(negy, p1024_mod, p->y, p1024_mod);
  92151. sp_1024_norm_16(negy);
  92152. sp_1024_cond_copy_16(p->y, negy, (sp_digit)0 - v[i].neg);
  92153. sp_1024_proj_point_add_16(rt, rt, p, tmp);
  92154. }
  92155. if (map != 0) {
  92156. sp_1024_map_16(r, rt, tmp);
  92157. }
  92158. else {
  92159. XMEMCPY(r, rt, sizeof(sp_point_1024));
  92160. }
  92161. }
  92162. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  92163. if (t != NULL)
  92164. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  92165. if (tmp != NULL)
  92166. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  92167. #endif
  92168. return err;
  92169. }
  92170. #ifdef HAVE_INTEL_AVX2
  92171. #ifdef HAVE_INTEL_AVX2
  92172. #ifdef __cplusplus
  92173. extern "C" {
  92174. #endif
  92175. extern void sp_1024_mont_reduce_avx2_16(sp_digit* a, const sp_digit* m, sp_digit mp);
  92176. #ifdef __cplusplus
  92177. }
  92178. #endif
  92179. /* Multiply two Montgomery form numbers mod the modulus (prime).
  92180. * (r = a * b mod m)
  92181. *
  92182. * r Result of multiplication.
  92183. * a First number to multiply in Montgomery form.
  92184. * b Second number to multiply in Montgomery form.
  92185. * m Modulus (prime).
  92186. * mp Montgomery mulitplier.
  92187. */
  92188. SP_NOINLINE static void sp_1024_mont_mul_avx2_16(sp_digit* r, const sp_digit* a,
  92189. const sp_digit* b, const sp_digit* m, sp_digit mp)
  92190. {
  92191. sp_1024_mul_avx2_16(r, a, b);
  92192. sp_1024_mont_reduce_avx2_16(r, m, mp);
  92193. }
  92194. #endif /* HAVE_INTEL_AVX2 */
  92195. #ifdef HAVE_INTEL_AVX2
  92196. /* Square the Montgomery form number. (r = a * a mod m)
  92197. *
  92198. * r Result of squaring.
  92199. * a Number to square in Montgomery form.
  92200. * m Modulus (prime).
  92201. * mp Montgomery mulitplier.
  92202. */
  92203. SP_NOINLINE static void sp_1024_mont_sqr_avx2_16(sp_digit* r, const sp_digit* a,
  92204. const sp_digit* m, sp_digit mp)
  92205. {
  92206. sp_1024_sqr_avx2_16(r, a);
  92207. sp_1024_mont_reduce_avx2_16(r, m, mp);
  92208. }
  92209. #endif /* HAVE_INTEL_AVX2 */
  92210. /* Invert the number, in Montgomery form, modulo the modulus (prime) of the
  92211. * P1024 curve. (r = 1 / a mod m)
  92212. *
  92213. * r Inverse result.
  92214. * a Number to invert.
  92215. * td Temporary data.
  92216. */
  92217. static void sp_1024_mont_inv_avx2_16(sp_digit* r, const sp_digit* a,
  92218. sp_digit* td)
  92219. {
  92220. sp_digit* t = td;
  92221. int i;
  92222. int j;
  92223. sp_digit table[32][2 * 16];
  92224. XMEMCPY(table[0], a, sizeof(sp_digit) * 16);
  92225. for (i = 1; i < 6; i++) {
  92226. sp_1024_mont_sqr_avx2_16(table[0], table[0], p1024_mod, p1024_mp_mod);
  92227. }
  92228. for (i = 1; i < 32; i++) {
  92229. sp_1024_mont_mul_avx2_16(table[i], table[i-1], a, p1024_mod, p1024_mp_mod);
  92230. }
  92231. XMEMCPY(t, table[p1024_mod_minus_2[1]], sizeof(sp_digit) * 16);
  92232. for (i = 2; i < (int)sizeof(p1024_mod_minus_2) - 2; i += 2) {
  92233. for (j = 0; j < p1024_mod_minus_2[i]; j++) {
  92234. sp_1024_mont_sqr_avx2_16(t, t, p1024_mod, p1024_mp_mod);
  92235. }
  92236. sp_1024_mont_mul_avx2_16(t, t, table[p1024_mod_minus_2[i+1]], p1024_mod,
  92237. p1024_mp_mod);
  92238. }
  92239. sp_1024_mont_sqr_avx2_16(t, t, p1024_mod, p1024_mp_mod);
  92240. sp_1024_mont_mul_avx2_16(r, t, a, p1024_mod, p1024_mp_mod);
  92241. }
  92242. /* Map the Montgomery form projective coordinate point to an affine point.
  92243. *
  92244. * r Resulting affine coordinate point.
  92245. * p Montgomery form projective coordinate point.
  92246. * t Temporary ordinate data.
  92247. */
  92248. static void sp_1024_map_avx2_16(sp_point_1024* r, const sp_point_1024* p,
  92249. sp_digit* t)
  92250. {
  92251. sp_digit* t1 = t;
  92252. sp_digit* t2 = t + 2*16;
  92253. sp_int64 n;
  92254. sp_1024_mont_inv_avx2_16(t1, p->z, t + 2*16);
  92255. sp_1024_mont_sqr_avx2_16(t2, t1, p1024_mod, p1024_mp_mod);
  92256. sp_1024_mont_mul_avx2_16(t1, t2, t1, p1024_mod, p1024_mp_mod);
  92257. /* x /= z^2 */
  92258. sp_1024_mont_mul_avx2_16(r->x, p->x, t2, p1024_mod, p1024_mp_mod);
  92259. XMEMSET(r->x + 16, 0, sizeof(r->x) / 2U);
  92260. sp_1024_mont_reduce_avx2_16(r->x, p1024_mod, p1024_mp_mod);
  92261. /* Reduce x to less than modulus */
  92262. n = sp_1024_cmp_16(r->x, p1024_mod);
  92263. sp_1024_cond_sub_16(r->x, r->x, p1024_mod, ~(n >> 63));
  92264. sp_1024_norm_16(r->x);
  92265. /* y /= z^3 */
  92266. sp_1024_mont_mul_avx2_16(r->y, p->y, t1, p1024_mod, p1024_mp_mod);
  92267. XMEMSET(r->y + 16, 0, sizeof(r->y) / 2U);
  92268. sp_1024_mont_reduce_avx2_16(r->y, p1024_mod, p1024_mp_mod);
  92269. /* Reduce y to less than modulus */
  92270. n = sp_1024_cmp_16(r->y, p1024_mod);
  92271. sp_1024_cond_sub_avx2_16(r->y, r->y, p1024_mod, ~(n >> 63));
  92272. sp_1024_norm_16(r->y);
  92273. XMEMSET(r->z, 0, sizeof(r->z) / 2);
  92274. r->z[0] = 1;
  92275. }
  92276. #ifdef __cplusplus
  92277. extern "C" {
  92278. #endif
  92279. extern void sp_1024_mont_add_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  92280. #ifdef __cplusplus
  92281. }
  92282. #endif
  92283. #ifdef __cplusplus
  92284. extern "C" {
  92285. #endif
  92286. extern void sp_1024_mont_dbl_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit* m);
  92287. #ifdef __cplusplus
  92288. }
  92289. #endif
  92290. #ifdef __cplusplus
  92291. extern "C" {
  92292. #endif
  92293. extern void sp_1024_mont_tpl_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit* m);
  92294. #ifdef __cplusplus
  92295. }
  92296. #endif
  92297. #ifdef __cplusplus
  92298. extern "C" {
  92299. #endif
  92300. extern void sp_1024_mont_sub_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m);
  92301. #ifdef __cplusplus
  92302. }
  92303. #endif
  92304. #define sp_1024_mont_sub_lower_avx2_16 sp_1024_mont_sub_avx2_16
  92305. #ifdef __cplusplus
  92306. extern "C" {
  92307. #endif
  92308. extern void sp_1024_div2_avx2_16(sp_digit* r, const sp_digit* a, const sp_digit* m);
  92309. #ifdef __cplusplus
  92310. }
  92311. #endif
  92312. /* Double the Montgomery form projective point p.
  92313. *
  92314. * r Result of doubling point.
  92315. * p Point to double.
  92316. * t Temporary ordinate data.
  92317. */
  92318. #ifdef WOLFSSL_SP_NONBLOCK
  92319. typedef struct sp_1024_proj_point_dbl_avx2_16_ctx {
  92320. int state;
  92321. sp_digit* t1;
  92322. sp_digit* t2;
  92323. sp_digit* x;
  92324. sp_digit* y;
  92325. sp_digit* z;
  92326. } sp_1024_proj_point_dbl_avx2_16_ctx;
  92327. static int sp_1024_proj_point_dbl_avx2_16_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, const sp_point_1024* p, sp_digit* t)
  92328. {
  92329. int err = FP_WOULDBLOCK;
  92330. sp_1024_proj_point_dbl_avx2_16_ctx* ctx = (sp_1024_proj_point_dbl_avx2_16_ctx*)sp_ctx->data;
  92331. typedef char ctx_size_test[sizeof(sp_1024_proj_point_dbl_avx2_16_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  92332. (void)sizeof(ctx_size_test);
  92333. switch (ctx->state) {
  92334. case 0:
  92335. ctx->t1 = t;
  92336. ctx->t2 = t + 2*16;
  92337. ctx->x = r->x;
  92338. ctx->y = r->y;
  92339. ctx->z = r->z;
  92340. /* Put infinity into result. */
  92341. if (r != p) {
  92342. r->infinity = p->infinity;
  92343. }
  92344. ctx->state = 1;
  92345. break;
  92346. case 1:
  92347. /* T1 = Z * Z */
  92348. sp_1024_mont_sqr_avx2_16(ctx->t1, p->z, p1024_mod, p1024_mp_mod);
  92349. ctx->state = 2;
  92350. break;
  92351. case 2:
  92352. /* Z = Y * Z */
  92353. sp_1024_mont_mul_avx2_16(ctx->z, p->y, p->z, p1024_mod, p1024_mp_mod);
  92354. ctx->state = 3;
  92355. break;
  92356. case 3:
  92357. /* Z = 2Z */
  92358. sp_1024_mont_dbl_avx2_16(ctx->z, ctx->z, p1024_mod);
  92359. ctx->state = 4;
  92360. break;
  92361. case 4:
  92362. /* T2 = X - T1 */
  92363. sp_1024_mont_sub_avx2_16(ctx->t2, p->x, ctx->t1, p1024_mod);
  92364. ctx->state = 5;
  92365. break;
  92366. case 5:
  92367. /* T1 = X + T1 */
  92368. sp_1024_mont_add_avx2_16(ctx->t1, p->x, ctx->t1, p1024_mod);
  92369. ctx->state = 6;
  92370. break;
  92371. case 6:
  92372. /* T2 = T1 * T2 */
  92373. sp_1024_mont_mul_avx2_16(ctx->t2, ctx->t1, ctx->t2, p1024_mod, p1024_mp_mod);
  92374. ctx->state = 7;
  92375. break;
  92376. case 7:
  92377. /* T1 = 3T2 */
  92378. sp_1024_mont_tpl_avx2_16(ctx->t1, ctx->t2, p1024_mod);
  92379. ctx->state = 8;
  92380. break;
  92381. case 8:
  92382. /* Y = 2Y */
  92383. sp_1024_mont_dbl_avx2_16(ctx->y, p->y, p1024_mod);
  92384. ctx->state = 9;
  92385. break;
  92386. case 9:
  92387. /* Y = Y * Y */
  92388. sp_1024_mont_sqr_avx2_16(ctx->y, ctx->y, p1024_mod, p1024_mp_mod);
  92389. ctx->state = 10;
  92390. break;
  92391. case 10:
  92392. /* T2 = Y * Y */
  92393. sp_1024_mont_sqr_avx2_16(ctx->t2, ctx->y, p1024_mod, p1024_mp_mod);
  92394. ctx->state = 11;
  92395. break;
  92396. case 11:
  92397. /* T2 = T2/2 */
  92398. sp_1024_div2_avx2_16(ctx->t2, ctx->t2, p1024_mod);
  92399. ctx->state = 12;
  92400. break;
  92401. case 12:
  92402. /* Y = Y * X */
  92403. sp_1024_mont_mul_avx2_16(ctx->y, ctx->y, p->x, p1024_mod, p1024_mp_mod);
  92404. ctx->state = 13;
  92405. break;
  92406. case 13:
  92407. /* X = T1 * T1 */
  92408. sp_1024_mont_sqr_avx2_16(ctx->x, ctx->t1, p1024_mod, p1024_mp_mod);
  92409. ctx->state = 14;
  92410. break;
  92411. case 14:
  92412. /* X = X - Y */
  92413. sp_1024_mont_sub_avx2_16(ctx->x, ctx->x, ctx->y, p1024_mod);
  92414. ctx->state = 15;
  92415. break;
  92416. case 15:
  92417. /* X = X - Y */
  92418. sp_1024_mont_sub_avx2_16(ctx->x, ctx->x, ctx->y, p1024_mod);
  92419. ctx->state = 16;
  92420. break;
  92421. case 16:
  92422. /* Y = Y - X */
  92423. sp_1024_mont_sub_lower_avx2_16(ctx->y, ctx->y, ctx->x, p1024_mod);
  92424. ctx->state = 17;
  92425. break;
  92426. case 17:
  92427. /* Y = Y * T1 */
  92428. sp_1024_mont_mul_avx2_16(ctx->y, ctx->y, ctx->t1, p1024_mod, p1024_mp_mod);
  92429. ctx->state = 18;
  92430. break;
  92431. case 18:
  92432. /* Y = Y - T2 */
  92433. sp_1024_mont_sub_avx2_16(ctx->y, ctx->y, ctx->t2, p1024_mod);
  92434. ctx->state = 19;
  92435. /* fall-through */
  92436. case 19:
  92437. err = MP_OKAY;
  92438. break;
  92439. }
  92440. if (err == MP_OKAY && ctx->state != 19) {
  92441. err = FP_WOULDBLOCK;
  92442. }
  92443. return err;
  92444. }
  92445. #endif /* WOLFSSL_SP_NONBLOCK */
  92446. static void sp_1024_proj_point_dbl_avx2_16(sp_point_1024* r, const sp_point_1024* p,
  92447. sp_digit* t)
  92448. {
  92449. sp_digit* t1 = t;
  92450. sp_digit* t2 = t + 2*16;
  92451. sp_digit* x;
  92452. sp_digit* y;
  92453. sp_digit* z;
  92454. x = r->x;
  92455. y = r->y;
  92456. z = r->z;
  92457. /* Put infinity into result. */
  92458. if (r != p) {
  92459. r->infinity = p->infinity;
  92460. }
  92461. /* T1 = Z * Z */
  92462. sp_1024_mont_sqr_avx2_16(t1, p->z, p1024_mod, p1024_mp_mod);
  92463. /* Z = Y * Z */
  92464. sp_1024_mont_mul_avx2_16(z, p->y, p->z, p1024_mod, p1024_mp_mod);
  92465. /* Z = 2Z */
  92466. sp_1024_mont_dbl_avx2_16(z, z, p1024_mod);
  92467. /* T2 = X - T1 */
  92468. sp_1024_mont_sub_avx2_16(t2, p->x, t1, p1024_mod);
  92469. /* T1 = X + T1 */
  92470. sp_1024_mont_add_avx2_16(t1, p->x, t1, p1024_mod);
  92471. /* T2 = T1 * T2 */
  92472. sp_1024_mont_mul_avx2_16(t2, t1, t2, p1024_mod, p1024_mp_mod);
  92473. /* T1 = 3T2 */
  92474. sp_1024_mont_tpl_avx2_16(t1, t2, p1024_mod);
  92475. /* Y = 2Y */
  92476. sp_1024_mont_dbl_avx2_16(y, p->y, p1024_mod);
  92477. /* Y = Y * Y */
  92478. sp_1024_mont_sqr_avx2_16(y, y, p1024_mod, p1024_mp_mod);
  92479. /* T2 = Y * Y */
  92480. sp_1024_mont_sqr_avx2_16(t2, y, p1024_mod, p1024_mp_mod);
  92481. /* T2 = T2/2 */
  92482. sp_1024_div2_avx2_16(t2, t2, p1024_mod);
  92483. /* Y = Y * X */
  92484. sp_1024_mont_mul_avx2_16(y, y, p->x, p1024_mod, p1024_mp_mod);
  92485. /* X = T1 * T1 */
  92486. sp_1024_mont_sqr_avx2_16(x, t1, p1024_mod, p1024_mp_mod);
  92487. /* X = X - Y */
  92488. sp_1024_mont_sub_avx2_16(x, x, y, p1024_mod);
  92489. /* X = X - Y */
  92490. sp_1024_mont_sub_avx2_16(x, x, y, p1024_mod);
  92491. /* Y = Y - X */
  92492. sp_1024_mont_sub_lower_avx2_16(y, y, x, p1024_mod);
  92493. /* Y = Y * T1 */
  92494. sp_1024_mont_mul_avx2_16(y, y, t1, p1024_mod, p1024_mp_mod);
  92495. /* Y = Y - T2 */
  92496. sp_1024_mont_sub_avx2_16(y, y, t2, p1024_mod);
  92497. }
  92498. #define sp_1024_mont_dbl_lower_avx2_16 sp_1024_mont_dbl_avx2_16
  92499. #define sp_1024_mont_tpl_lower_avx2_16 sp_1024_mont_tpl_avx2_16
  92500. /* Double the Montgomery form projective point p a number of times.
  92501. *
  92502. * r Result of repeated doubling of point.
  92503. * p Point to double.
  92504. * n Number of times to double
  92505. * t Temporary ordinate data.
  92506. */
  92507. static void sp_1024_proj_point_dbl_n_avx2_16(sp_point_1024* p, int i,
  92508. sp_digit* t)
  92509. {
  92510. sp_digit* w = t;
  92511. sp_digit* a = t + 2*16;
  92512. sp_digit* b = t + 4*16;
  92513. sp_digit* t1 = t + 6*16;
  92514. sp_digit* t2 = t + 8*16;
  92515. sp_digit* x;
  92516. sp_digit* y;
  92517. sp_digit* z;
  92518. volatile int n = i;
  92519. x = p->x;
  92520. y = p->y;
  92521. z = p->z;
  92522. /* Y = 2*Y */
  92523. sp_1024_mont_dbl_avx2_16(y, y, p1024_mod);
  92524. /* W = Z^4 */
  92525. sp_1024_mont_sqr_avx2_16(w, z, p1024_mod, p1024_mp_mod);
  92526. sp_1024_mont_sqr_avx2_16(w, w, p1024_mod, p1024_mp_mod);
  92527. #ifndef WOLFSSL_SP_SMALL
  92528. while (--n > 0)
  92529. #else
  92530. while (--n >= 0)
  92531. #endif
  92532. {
  92533. /* A = 3*(X^2 - W) */
  92534. sp_1024_mont_sqr_avx2_16(t1, x, p1024_mod, p1024_mp_mod);
  92535. sp_1024_mont_sub_avx2_16(t1, t1, w, p1024_mod);
  92536. sp_1024_mont_tpl_lower_avx2_16(a, t1, p1024_mod);
  92537. /* B = X*Y^2 */
  92538. sp_1024_mont_sqr_avx2_16(t1, y, p1024_mod, p1024_mp_mod);
  92539. sp_1024_mont_mul_avx2_16(b, t1, x, p1024_mod, p1024_mp_mod);
  92540. /* X = A^2 - 2B */
  92541. sp_1024_mont_sqr_avx2_16(x, a, p1024_mod, p1024_mp_mod);
  92542. sp_1024_mont_dbl_avx2_16(t2, b, p1024_mod);
  92543. sp_1024_mont_sub_avx2_16(x, x, t2, p1024_mod);
  92544. /* b = 2.(B - X) */
  92545. sp_1024_mont_sub_lower_avx2_16(t2, b, x, p1024_mod);
  92546. sp_1024_mont_dbl_lower_avx2_16(b, t2, p1024_mod);
  92547. /* Z = Z*Y */
  92548. sp_1024_mont_mul_avx2_16(z, z, y, p1024_mod, p1024_mp_mod);
  92549. /* t1 = Y^4 */
  92550. sp_1024_mont_sqr_avx2_16(t1, t1, p1024_mod, p1024_mp_mod);
  92551. #ifdef WOLFSSL_SP_SMALL
  92552. if (n != 0)
  92553. #endif
  92554. {
  92555. /* W = W*Y^4 */
  92556. sp_1024_mont_mul_avx2_16(w, w, t1, p1024_mod, p1024_mp_mod);
  92557. }
  92558. /* y = 2*A*(B - X) - Y^4 */
  92559. sp_1024_mont_mul_avx2_16(y, b, a, p1024_mod, p1024_mp_mod);
  92560. sp_1024_mont_sub_avx2_16(y, y, t1, p1024_mod);
  92561. }
  92562. #ifndef WOLFSSL_SP_SMALL
  92563. /* A = 3*(X^2 - W) */
  92564. sp_1024_mont_sqr_avx2_16(t1, x, p1024_mod, p1024_mp_mod);
  92565. sp_1024_mont_sub_avx2_16(t1, t1, w, p1024_mod);
  92566. sp_1024_mont_tpl_lower_avx2_16(a, t1, p1024_mod);
  92567. /* B = X*Y^2 */
  92568. sp_1024_mont_sqr_avx2_16(t1, y, p1024_mod, p1024_mp_mod);
  92569. sp_1024_mont_mul_avx2_16(b, t1, x, p1024_mod, p1024_mp_mod);
  92570. /* X = A^2 - 2B */
  92571. sp_1024_mont_sqr_avx2_16(x, a, p1024_mod, p1024_mp_mod);
  92572. sp_1024_mont_dbl_avx2_16(t2, b, p1024_mod);
  92573. sp_1024_mont_sub_avx2_16(x, x, t2, p1024_mod);
  92574. /* b = 2.(B - X) */
  92575. sp_1024_mont_sub_lower_avx2_16(t2, b, x, p1024_mod);
  92576. sp_1024_mont_dbl_lower_avx2_16(b, t2, p1024_mod);
  92577. /* Z = Z*Y */
  92578. sp_1024_mont_mul_avx2_16(z, z, y, p1024_mod, p1024_mp_mod);
  92579. /* t1 = Y^4 */
  92580. sp_1024_mont_sqr_avx2_16(t1, t1, p1024_mod, p1024_mp_mod);
  92581. /* y = 2*A*(B - X) - Y^4 */
  92582. sp_1024_mont_mul_avx2_16(y, b, a, p1024_mod, p1024_mp_mod);
  92583. sp_1024_mont_sub_avx2_16(y, y, t1, p1024_mod);
  92584. #endif
  92585. /* Y = Y/2 */
  92586. sp_1024_div2_avx2_16(y, y, p1024_mod);
  92587. }
  92588. /* Add two Montgomery form projective points.
  92589. *
  92590. * r Result of addition.
  92591. * p First point to add.
  92592. * q Second point to add.
  92593. * t Temporary ordinate data.
  92594. */
  92595. #ifdef WOLFSSL_SP_NONBLOCK
  92596. typedef struct sp_1024_proj_point_add_avx2_16_ctx {
  92597. int state;
  92598. sp_1024_proj_point_dbl_avx2_16_ctx dbl_ctx;
  92599. const sp_point_1024* ap[2];
  92600. sp_point_1024* rp[2];
  92601. sp_digit* t1;
  92602. sp_digit* t2;
  92603. sp_digit* t3;
  92604. sp_digit* t4;
  92605. sp_digit* t5;
  92606. sp_digit* t6;
  92607. sp_digit* x;
  92608. sp_digit* y;
  92609. sp_digit* z;
  92610. } sp_1024_proj_point_add_avx2_16_ctx;
  92611. static int sp_1024_proj_point_add_avx2_16_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r,
  92612. const sp_point_1024* p, const sp_point_1024* q, sp_digit* t)
  92613. {
  92614. int err = FP_WOULDBLOCK;
  92615. sp_1024_proj_point_add_avx2_16_ctx* ctx = (sp_1024_proj_point_add_avx2_16_ctx*)sp_ctx->data;
  92616. /* Ensure only the first point is the same as the result. */
  92617. if (q == r) {
  92618. const sp_point_1024* a = p;
  92619. p = q;
  92620. q = a;
  92621. }
  92622. typedef char ctx_size_test[sizeof(sp_1024_proj_point_add_avx2_16_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  92623. (void)sizeof(ctx_size_test);
  92624. switch (ctx->state) {
  92625. case 0: /* INIT */
  92626. ctx->t1 = t;
  92627. ctx->t2 = t + 2*16;
  92628. ctx->t3 = t + 4*16;
  92629. ctx->t4 = t + 6*16;
  92630. ctx->t5 = t + 8*16;
  92631. ctx->t6 = t + 10*16;
  92632. ctx->x = ctx->t6;
  92633. ctx->y = ctx->t1;
  92634. ctx->z = ctx->t2;
  92635. ctx->state = 1;
  92636. break;
  92637. case 1:
  92638. /* Check double */
  92639. (void)sp_1024_sub_avx2_16(ctx->t1, p1024_mod, q->y);
  92640. sp_1024_norm_avx2_16(ctx->t1);
  92641. if ((~p->infinity & ~q->infinity &
  92642. sp_1024_cmp_equal_avx2_16(p->x, q->x) & sp_1024_cmp_equal_avx2_16(p->z, q->z) &
  92643. (sp_1024_cmp_equal_avx2_16(p->y, q->y) | sp_1024_cmp_equal_avx2_16(p->y, ctx->t1))) != 0)
  92644. {
  92645. XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx));
  92646. ctx->state = 2;
  92647. }
  92648. else {
  92649. ctx->state = 3;
  92650. }
  92651. break;
  92652. case 2:
  92653. err = sp_1024_proj_point_dbl_avx2_16_nb((sp_ecc_ctx_t*)&ctx->dbl_ctx, r, p, t);
  92654. if (err == MP_OKAY)
  92655. ctx->state = 27; /* done */
  92656. break;
  92657. case 3:
  92658. {
  92659. ctx->state = 4;
  92660. break;
  92661. }
  92662. case 4:
  92663. /* U1 = X1*Z2^2 */
  92664. sp_1024_mont_sqr_avx2_16(ctx->t1, q->z, p1024_mod, p1024_mp_mod);
  92665. ctx->state = 5;
  92666. break;
  92667. case 5:
  92668. sp_1024_mont_mul_avx2_16(ctx->t3, ctx->t1, q->z, p1024_mod, p1024_mp_mod);
  92669. ctx->state = 6;
  92670. break;
  92671. case 6:
  92672. sp_1024_mont_mul_avx2_16(ctx->t1, ctx->t1, p->x, p1024_mod, p1024_mp_mod);
  92673. ctx->state = 7;
  92674. break;
  92675. case 7:
  92676. /* U2 = X2*Z1^2 */
  92677. sp_1024_mont_sqr_avx2_16(ctx->t2, p->z, p1024_mod, p1024_mp_mod);
  92678. ctx->state = 8;
  92679. break;
  92680. case 8:
  92681. sp_1024_mont_mul_avx2_16(ctx->t4, ctx->t2, p->z, p1024_mod, p1024_mp_mod);
  92682. ctx->state = 9;
  92683. break;
  92684. case 9:
  92685. sp_1024_mont_mul_avx2_16(ctx->t2, ctx->t2, q->x, p1024_mod, p1024_mp_mod);
  92686. ctx->state = 10;
  92687. break;
  92688. case 10:
  92689. /* S1 = Y1*Z2^3 */
  92690. sp_1024_mont_mul_avx2_16(ctx->t3, ctx->t3, p->y, p1024_mod, p1024_mp_mod);
  92691. ctx->state = 11;
  92692. break;
  92693. case 11:
  92694. /* S2 = Y2*Z1^3 */
  92695. sp_1024_mont_mul_avx2_16(ctx->t4, ctx->t4, q->y, p1024_mod, p1024_mp_mod);
  92696. ctx->state = 12;
  92697. break;
  92698. case 12:
  92699. /* H = U2 - U1 */
  92700. sp_1024_mont_sub_avx2_16(ctx->t2, ctx->t2, ctx->t1, p1024_mod);
  92701. ctx->state = 13;
  92702. break;
  92703. case 13:
  92704. /* R = S2 - S1 */
  92705. sp_1024_mont_sub_avx2_16(ctx->t4, ctx->t4, ctx->t3, p1024_mod);
  92706. ctx->state = 14;
  92707. break;
  92708. case 14:
  92709. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  92710. sp_1024_mont_sqr_avx2_16(ctx->t5, ctx->t2, p1024_mod, p1024_mp_mod);
  92711. ctx->state = 15;
  92712. break;
  92713. case 15:
  92714. sp_1024_mont_mul_avx2_16(ctx->y, ctx->t1, ctx->t5, p1024_mod, p1024_mp_mod);
  92715. ctx->state = 16;
  92716. break;
  92717. case 16:
  92718. sp_1024_mont_mul_avx2_16(ctx->t5, ctx->t5, ctx->t2, p1024_mod, p1024_mp_mod);
  92719. ctx->state = 17;
  92720. break;
  92721. case 17:
  92722. /* Z3 = H*Z1*Z2 */
  92723. sp_1024_mont_mul_avx2_16(ctx->z, p->z, ctx->t2, p1024_mod, p1024_mp_mod);
  92724. ctx->state = 18;
  92725. break;
  92726. case 18:
  92727. sp_1024_mont_mul_avx2_16(ctx->z, ctx->z, q->z, p1024_mod, p1024_mp_mod);
  92728. ctx->state = 19;
  92729. break;
  92730. case 19:
  92731. sp_1024_mont_sqr_avx2_16(ctx->x, ctx->t4, p1024_mod, p1024_mp_mod);
  92732. ctx->state = 20;
  92733. break;
  92734. case 20:
  92735. sp_1024_mont_sub_avx2_16(ctx->x, ctx->x, ctx->t5, p1024_mod);
  92736. ctx->state = 21;
  92737. break;
  92738. case 21:
  92739. sp_1024_mont_mul_avx2_16(ctx->t5, ctx->t5, ctx->t3, p1024_mod, p1024_mp_mod);
  92740. ctx->state = 22;
  92741. break;
  92742. case 22:
  92743. sp_1024_mont_dbl_avx2_16(ctx->t3, ctx->y, p1024_mod);
  92744. ctx->state = 23;
  92745. break;
  92746. case 23:
  92747. sp_1024_mont_sub_avx2_16(ctx->x, ctx->x, ctx->t3, p1024_mod);
  92748. ctx->state = 24;
  92749. break;
  92750. case 24:
  92751. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  92752. sp_1024_mont_sub_lower_avx2_16(ctx->y, ctx->y, ctx->x, p1024_mod);
  92753. ctx->state = 25;
  92754. break;
  92755. case 25:
  92756. sp_1024_mont_mul_avx2_16(ctx->y, ctx->y, ctx->t4, p1024_mod, p1024_mp_mod);
  92757. ctx->state = 26;
  92758. break;
  92759. case 26:
  92760. sp_1024_mont_sub_avx2_16(ctx->y, ctx->y, ctx->t5, p1024_mod);
  92761. ctx->state = 27;
  92762. /* fall-through */
  92763. case 27:
  92764. {
  92765. int i;
  92766. sp_digit maskp = 0 - (q->infinity & (!p->infinity));
  92767. sp_digit maskq = 0 - (p->infinity & (!q->infinity));
  92768. sp_digit maskt = ~(maskp | maskq);
  92769. for (i = 0; i < 16; i++) {
  92770. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  92771. (ctx->x[i] & maskt);
  92772. }
  92773. for (i = 0; i < 16; i++) {
  92774. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  92775. (ctx->y[i] & maskt);
  92776. }
  92777. for (i = 0; i < 16; i++) {
  92778. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  92779. (ctx->z[i] & maskt);
  92780. }
  92781. r->z[0] |= p->infinity & q->infinity;
  92782. r->infinity = p->infinity & q->infinity;
  92783. err = MP_OKAY;
  92784. break;
  92785. }
  92786. }
  92787. if (err == MP_OKAY && ctx->state != 27) {
  92788. err = FP_WOULDBLOCK;
  92789. }
  92790. return err;
  92791. }
  92792. #endif /* WOLFSSL_SP_NONBLOCK */
  92793. static void sp_1024_proj_point_add_avx2_16(sp_point_1024* r,
  92794. const sp_point_1024* p, const sp_point_1024* q, sp_digit* t)
  92795. {
  92796. sp_digit* t1 = t;
  92797. sp_digit* t2 = t + 2*16;
  92798. sp_digit* t3 = t + 4*16;
  92799. sp_digit* t4 = t + 6*16;
  92800. sp_digit* t5 = t + 8*16;
  92801. sp_digit* t6 = t + 10*16;
  92802. /* Check double */
  92803. (void)sp_1024_mont_sub_avx2_16(t1, p1024_mod, q->y, p1024_mod);
  92804. sp_1024_norm_16(t1);
  92805. if ((~p->infinity & ~q->infinity &
  92806. sp_1024_cmp_equal_16(p->x, q->x) & sp_1024_cmp_equal_16(p->z, q->z) &
  92807. (sp_1024_cmp_equal_16(p->y, q->y) | sp_1024_cmp_equal_16(p->y, t1))) != 0) {
  92808. sp_1024_proj_point_dbl_avx2_16(r, p, t);
  92809. }
  92810. else {
  92811. sp_digit maskp;
  92812. sp_digit maskq;
  92813. sp_digit maskt;
  92814. sp_digit* x = t6;
  92815. sp_digit* y = t1;
  92816. sp_digit* z = t2;
  92817. int i;
  92818. maskp = 0 - (q->infinity & (!p->infinity));
  92819. maskq = 0 - (p->infinity & (!q->infinity));
  92820. maskt = ~(maskp | maskq);
  92821. /* U1 = X1*Z2^2 */
  92822. sp_1024_mont_sqr_avx2_16(t1, q->z, p1024_mod, p1024_mp_mod);
  92823. sp_1024_mont_mul_avx2_16(t3, t1, q->z, p1024_mod, p1024_mp_mod);
  92824. sp_1024_mont_mul_avx2_16(t1, t1, p->x, p1024_mod, p1024_mp_mod);
  92825. /* U2 = X2*Z1^2 */
  92826. sp_1024_mont_sqr_avx2_16(t2, p->z, p1024_mod, p1024_mp_mod);
  92827. sp_1024_mont_mul_avx2_16(t4, t2, p->z, p1024_mod, p1024_mp_mod);
  92828. sp_1024_mont_mul_avx2_16(t2, t2, q->x, p1024_mod, p1024_mp_mod);
  92829. /* S1 = Y1*Z2^3 */
  92830. sp_1024_mont_mul_avx2_16(t3, t3, p->y, p1024_mod, p1024_mp_mod);
  92831. /* S2 = Y2*Z1^3 */
  92832. sp_1024_mont_mul_avx2_16(t4, t4, q->y, p1024_mod, p1024_mp_mod);
  92833. /* H = U2 - U1 */
  92834. sp_1024_mont_sub_avx2_16(t2, t2, t1, p1024_mod);
  92835. /* R = S2 - S1 */
  92836. sp_1024_mont_sub_avx2_16(t4, t4, t3, p1024_mod);
  92837. if (~p->infinity & ~q->infinity &
  92838. sp_1024_iszero_16(t2) & sp_1024_iszero_16(t4) & maskt) {
  92839. sp_1024_proj_point_dbl_avx2_16(r, p, t);
  92840. }
  92841. else {
  92842. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  92843. sp_1024_mont_sqr_avx2_16(t5, t2, p1024_mod, p1024_mp_mod);
  92844. sp_1024_mont_mul_avx2_16(y, t1, t5, p1024_mod, p1024_mp_mod);
  92845. sp_1024_mont_mul_avx2_16(t5, t5, t2, p1024_mod, p1024_mp_mod);
  92846. /* Z3 = H*Z1*Z2 */
  92847. sp_1024_mont_mul_avx2_16(z, p->z, t2, p1024_mod, p1024_mp_mod);
  92848. sp_1024_mont_mul_avx2_16(z, z, q->z, p1024_mod, p1024_mp_mod);
  92849. sp_1024_mont_sqr_avx2_16(x, t4, p1024_mod, p1024_mp_mod);
  92850. sp_1024_mont_sub_avx2_16(x, x, t5, p1024_mod);
  92851. sp_1024_mont_mul_avx2_16(t5, t5, t3, p1024_mod, p1024_mp_mod);
  92852. sp_1024_mont_dbl_avx2_16(t3, y, p1024_mod);
  92853. sp_1024_mont_sub_avx2_16(x, x, t3, p1024_mod);
  92854. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  92855. sp_1024_mont_sub_lower_avx2_16(y, y, x, p1024_mod);
  92856. sp_1024_mont_mul_avx2_16(y, y, t4, p1024_mod, p1024_mp_mod);
  92857. sp_1024_mont_sub_avx2_16(y, y, t5, p1024_mod);
  92858. for (i = 0; i < 16; i++) {
  92859. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  92860. (x[i] & maskt);
  92861. }
  92862. for (i = 0; i < 16; i++) {
  92863. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  92864. (y[i] & maskt);
  92865. }
  92866. for (i = 0; i < 16; i++) {
  92867. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  92868. (z[i] & maskt);
  92869. }
  92870. r->z[0] |= p->infinity & q->infinity;
  92871. r->infinity = p->infinity & q->infinity;
  92872. }
  92873. }
  92874. }
  92875. /* Double the Montgomery form projective point p a number of times.
  92876. *
  92877. * r Result of repeated doubling of point.
  92878. * p Point to double.
  92879. * n Number of times to double
  92880. * t Temporary ordinate data.
  92881. */
  92882. static void sp_1024_proj_point_dbl_n_store_avx2_16(sp_point_1024* r,
  92883. const sp_point_1024* p, int n, int m, sp_digit* t)
  92884. {
  92885. sp_digit* w = t;
  92886. sp_digit* a = t + 2*16;
  92887. sp_digit* b = t + 4*16;
  92888. sp_digit* t1 = t + 6*16;
  92889. sp_digit* t2 = t + 8*16;
  92890. sp_digit* x = r[2*m].x;
  92891. sp_digit* y = r[(1<<n)*m].y;
  92892. sp_digit* z = r[2*m].z;
  92893. int i;
  92894. int j;
  92895. for (i=0; i<16; i++) {
  92896. x[i] = p->x[i];
  92897. }
  92898. for (i=0; i<16; i++) {
  92899. y[i] = p->y[i];
  92900. }
  92901. for (i=0; i<16; i++) {
  92902. z[i] = p->z[i];
  92903. }
  92904. /* Y = 2*Y */
  92905. sp_1024_mont_dbl_avx2_16(y, y, p1024_mod);
  92906. /* W = Z^4 */
  92907. sp_1024_mont_sqr_avx2_16(w, z, p1024_mod, p1024_mp_mod);
  92908. sp_1024_mont_sqr_avx2_16(w, w, p1024_mod, p1024_mp_mod);
  92909. j = m;
  92910. for (i=1; i<=n; i++) {
  92911. j *= 2;
  92912. /* A = 3*(X^2 - W) */
  92913. sp_1024_mont_sqr_avx2_16(t1, x, p1024_mod, p1024_mp_mod);
  92914. sp_1024_mont_sub_avx2_16(t1, t1, w, p1024_mod);
  92915. sp_1024_mont_tpl_lower_avx2_16(a, t1, p1024_mod);
  92916. /* B = X*Y^2 */
  92917. sp_1024_mont_sqr_avx2_16(t1, y, p1024_mod, p1024_mp_mod);
  92918. sp_1024_mont_mul_avx2_16(b, t1, x, p1024_mod, p1024_mp_mod);
  92919. x = r[j].x;
  92920. /* X = A^2 - 2B */
  92921. sp_1024_mont_sqr_avx2_16(x, a, p1024_mod, p1024_mp_mod);
  92922. sp_1024_mont_dbl_avx2_16(t2, b, p1024_mod);
  92923. sp_1024_mont_sub_avx2_16(x, x, t2, p1024_mod);
  92924. /* b = 2.(B - X) */
  92925. sp_1024_mont_sub_lower_avx2_16(t2, b, x, p1024_mod);
  92926. sp_1024_mont_dbl_lower_avx2_16(b, t2, p1024_mod);
  92927. /* Z = Z*Y */
  92928. sp_1024_mont_mul_avx2_16(r[j].z, z, y, p1024_mod, p1024_mp_mod);
  92929. z = r[j].z;
  92930. /* t1 = Y^4 */
  92931. sp_1024_mont_sqr_avx2_16(t1, t1, p1024_mod, p1024_mp_mod);
  92932. if (i != n) {
  92933. /* W = W*Y^4 */
  92934. sp_1024_mont_mul_avx2_16(w, w, t1, p1024_mod, p1024_mp_mod);
  92935. }
  92936. /* y = 2*A*(B - X) - Y^4 */
  92937. sp_1024_mont_mul_avx2_16(y, b, a, p1024_mod, p1024_mp_mod);
  92938. sp_1024_mont_sub_avx2_16(y, y, t1, p1024_mod);
  92939. /* Y = Y/2 */
  92940. sp_1024_div2_avx2_16(r[j].y, y, p1024_mod);
  92941. r[j].infinity = 0;
  92942. }
  92943. }
  92944. /* Add two Montgomery form projective points.
  92945. *
  92946. * ra Result of addition.
  92947. * rs Result of subtraction.
  92948. * p First point to add.
  92949. * q Second point to add.
  92950. * t Temporary ordinate data.
  92951. */
  92952. static void sp_1024_proj_point_add_sub_avx2_16(sp_point_1024* ra,
  92953. sp_point_1024* rs, const sp_point_1024* p, const sp_point_1024* q,
  92954. sp_digit* t)
  92955. {
  92956. sp_digit* t1 = t;
  92957. sp_digit* t2 = t + 2*16;
  92958. sp_digit* t3 = t + 4*16;
  92959. sp_digit* t4 = t + 6*16;
  92960. sp_digit* t5 = t + 8*16;
  92961. sp_digit* t6 = t + 10*16;
  92962. sp_digit* xa = ra->x;
  92963. sp_digit* ya = ra->y;
  92964. sp_digit* za = ra->z;
  92965. sp_digit* xs = rs->x;
  92966. sp_digit* ys = rs->y;
  92967. sp_digit* zs = rs->z;
  92968. XMEMCPY(xa, p->x, sizeof(p->x) / 2);
  92969. XMEMCPY(ya, p->y, sizeof(p->y) / 2);
  92970. XMEMCPY(za, p->z, sizeof(p->z) / 2);
  92971. ra->infinity = 0;
  92972. rs->infinity = 0;
  92973. /* U1 = X1*Z2^2 */
  92974. sp_1024_mont_sqr_avx2_16(t1, q->z, p1024_mod, p1024_mp_mod);
  92975. sp_1024_mont_mul_avx2_16(t3, t1, q->z, p1024_mod, p1024_mp_mod);
  92976. sp_1024_mont_mul_avx2_16(t1, t1, xa, p1024_mod, p1024_mp_mod);
  92977. /* U2 = X2*Z1^2 */
  92978. sp_1024_mont_sqr_avx2_16(t2, za, p1024_mod, p1024_mp_mod);
  92979. sp_1024_mont_mul_avx2_16(t4, t2, za, p1024_mod, p1024_mp_mod);
  92980. sp_1024_mont_mul_avx2_16(t2, t2, q->x, p1024_mod, p1024_mp_mod);
  92981. /* S1 = Y1*Z2^3 */
  92982. sp_1024_mont_mul_avx2_16(t3, t3, ya, p1024_mod, p1024_mp_mod);
  92983. /* S2 = Y2*Z1^3 */
  92984. sp_1024_mont_mul_avx2_16(t4, t4, q->y, p1024_mod, p1024_mp_mod);
  92985. /* H = U2 - U1 */
  92986. sp_1024_mont_sub_avx2_16(t2, t2, t1, p1024_mod);
  92987. /* RS = S2 + S1 */
  92988. sp_1024_mont_add_avx2_16(t6, t4, t3, p1024_mod);
  92989. /* R = S2 - S1 */
  92990. sp_1024_mont_sub_avx2_16(t4, t4, t3, p1024_mod);
  92991. /* Z3 = H*Z1*Z2 */
  92992. /* ZS = H*Z1*Z2 */
  92993. sp_1024_mont_mul_avx2_16(za, za, q->z, p1024_mod, p1024_mp_mod);
  92994. sp_1024_mont_mul_avx2_16(za, za, t2, p1024_mod, p1024_mp_mod);
  92995. XMEMCPY(zs, za, sizeof(p->z)/2);
  92996. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  92997. /* XS = RS^2 - H^3 - 2*U1*H^2 */
  92998. sp_1024_mont_sqr_avx2_16(xa, t4, p1024_mod, p1024_mp_mod);
  92999. sp_1024_mont_sqr_avx2_16(xs, t6, p1024_mod, p1024_mp_mod);
  93000. sp_1024_mont_sqr_avx2_16(t5, t2, p1024_mod, p1024_mp_mod);
  93001. sp_1024_mont_mul_avx2_16(ya, t1, t5, p1024_mod, p1024_mp_mod);
  93002. sp_1024_mont_mul_avx2_16(t5, t5, t2, p1024_mod, p1024_mp_mod);
  93003. sp_1024_mont_sub_avx2_16(xa, xa, t5, p1024_mod);
  93004. sp_1024_mont_sub_avx2_16(xs, xs, t5, p1024_mod);
  93005. sp_1024_mont_dbl_avx2_16(t1, ya, p1024_mod);
  93006. sp_1024_mont_sub_avx2_16(xa, xa, t1, p1024_mod);
  93007. sp_1024_mont_sub_avx2_16(xs, xs, t1, p1024_mod);
  93008. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  93009. /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */
  93010. sp_1024_mont_sub_lower_avx2_16(ys, ya, xs, p1024_mod);
  93011. sp_1024_mont_sub_lower_avx2_16(ya, ya, xa, p1024_mod);
  93012. sp_1024_mont_mul_avx2_16(ya, ya, t4, p1024_mod, p1024_mp_mod);
  93013. sp_1024_mont_sub_avx2_16(t6, p1024_mod, t6, p1024_mod);
  93014. sp_1024_mont_mul_avx2_16(ys, ys, t6, p1024_mod, p1024_mp_mod);
  93015. sp_1024_mont_mul_avx2_16(t5, t5, t3, p1024_mod, p1024_mp_mod);
  93016. sp_1024_mont_sub_avx2_16(ya, ya, t5, p1024_mod);
  93017. sp_1024_mont_sub_avx2_16(ys, ys, t5, p1024_mod);
  93018. }
  93019. /* Multiply the point by the scalar and return the result.
  93020. * If map is true then convert result to affine coordinates.
  93021. *
  93022. * Window technique of 7 bits. (Add-Sub variation.)
  93023. * Calculate 0..64 times the point. Use function that adds and
  93024. * subtracts the same two points.
  93025. * Recode to add or subtract one of the computed points.
  93026. * Double to push up.
  93027. * NOT a sliding window.
  93028. *
  93029. * r Resulting point.
  93030. * g Point to multiply.
  93031. * k Scalar to multiply by.
  93032. * map Indicates whether to convert result to affine.
  93033. * ct Constant time required.
  93034. * heap Heap to use for allocation.
  93035. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  93036. */
  93037. static int sp_1024_ecc_mulmod_win_add_sub_avx2_16(sp_point_1024* r, const sp_point_1024* g,
  93038. const sp_digit* k, int map, int ct, void* heap)
  93039. {
  93040. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93041. sp_point_1024* t = NULL;
  93042. sp_digit* tmp = NULL;
  93043. #else
  93044. sp_point_1024 t[65+2];
  93045. sp_digit tmp[2 * 16 * 6];
  93046. #endif
  93047. sp_point_1024* rt = NULL;
  93048. sp_point_1024* p = NULL;
  93049. sp_digit* negy;
  93050. int i;
  93051. ecc_recode_1024 v[147];
  93052. int err = MP_OKAY;
  93053. /* Constant time used for cache attack resistance implementation. */
  93054. (void)ct;
  93055. (void)heap;
  93056. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93057. t = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024) *
  93058. (65+2), heap, DYNAMIC_TYPE_ECC);
  93059. if (t == NULL)
  93060. err = MEMORY_E;
  93061. if (err == MP_OKAY) {
  93062. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 16 * 6,
  93063. heap, DYNAMIC_TYPE_ECC);
  93064. if (tmp == NULL)
  93065. err = MEMORY_E;
  93066. }
  93067. #endif
  93068. if (err == MP_OKAY) {
  93069. rt = t + 65;
  93070. p = t + 65+1;
  93071. /* t[0] = {0, 0, 1} * norm */
  93072. XMEMSET(&t[0], 0, sizeof(t[0]));
  93073. t[0].infinity = 1;
  93074. /* t[1] = {g->x, g->y, g->z} * norm */
  93075. err = sp_1024_mod_mul_norm_avx2_16(t[1].x, g->x, p1024_mod);
  93076. }
  93077. if (err == MP_OKAY) {
  93078. err = sp_1024_mod_mul_norm_avx2_16(t[1].y, g->y, p1024_mod);
  93079. }
  93080. if (err == MP_OKAY) {
  93081. err = sp_1024_mod_mul_norm_avx2_16(t[1].z, g->z, p1024_mod);
  93082. }
  93083. if (err == MP_OKAY) {
  93084. t[1].infinity = 0;
  93085. /* t[2] ... t[64] */
  93086. sp_1024_proj_point_dbl_n_store_avx2_16(t, &t[ 1], 6, 1, tmp);
  93087. sp_1024_proj_point_add_avx2_16(&t[ 3], &t[ 2], &t[ 1], tmp);
  93088. sp_1024_proj_point_dbl_avx2_16(&t[ 6], &t[ 3], tmp);
  93089. sp_1024_proj_point_add_sub_avx2_16(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp);
  93090. sp_1024_proj_point_dbl_avx2_16(&t[10], &t[ 5], tmp);
  93091. sp_1024_proj_point_add_sub_avx2_16(&t[11], &t[ 9], &t[10], &t[ 1], tmp);
  93092. sp_1024_proj_point_dbl_avx2_16(&t[12], &t[ 6], tmp);
  93093. sp_1024_proj_point_dbl_avx2_16(&t[14], &t[ 7], tmp);
  93094. sp_1024_proj_point_add_sub_avx2_16(&t[15], &t[13], &t[14], &t[ 1], tmp);
  93095. sp_1024_proj_point_dbl_avx2_16(&t[18], &t[ 9], tmp);
  93096. sp_1024_proj_point_add_sub_avx2_16(&t[19], &t[17], &t[18], &t[ 1], tmp);
  93097. sp_1024_proj_point_dbl_avx2_16(&t[20], &t[10], tmp);
  93098. sp_1024_proj_point_dbl_avx2_16(&t[22], &t[11], tmp);
  93099. sp_1024_proj_point_add_sub_avx2_16(&t[23], &t[21], &t[22], &t[ 1], tmp);
  93100. sp_1024_proj_point_dbl_avx2_16(&t[24], &t[12], tmp);
  93101. sp_1024_proj_point_dbl_avx2_16(&t[26], &t[13], tmp);
  93102. sp_1024_proj_point_add_sub_avx2_16(&t[27], &t[25], &t[26], &t[ 1], tmp);
  93103. sp_1024_proj_point_dbl_avx2_16(&t[28], &t[14], tmp);
  93104. sp_1024_proj_point_dbl_avx2_16(&t[30], &t[15], tmp);
  93105. sp_1024_proj_point_add_sub_avx2_16(&t[31], &t[29], &t[30], &t[ 1], tmp);
  93106. sp_1024_proj_point_dbl_avx2_16(&t[34], &t[17], tmp);
  93107. sp_1024_proj_point_add_sub_avx2_16(&t[35], &t[33], &t[34], &t[ 1], tmp);
  93108. sp_1024_proj_point_dbl_avx2_16(&t[36], &t[18], tmp);
  93109. sp_1024_proj_point_dbl_avx2_16(&t[38], &t[19], tmp);
  93110. sp_1024_proj_point_add_sub_avx2_16(&t[39], &t[37], &t[38], &t[ 1], tmp);
  93111. sp_1024_proj_point_dbl_avx2_16(&t[40], &t[20], tmp);
  93112. sp_1024_proj_point_dbl_avx2_16(&t[42], &t[21], tmp);
  93113. sp_1024_proj_point_add_sub_avx2_16(&t[43], &t[41], &t[42], &t[ 1], tmp);
  93114. sp_1024_proj_point_dbl_avx2_16(&t[44], &t[22], tmp);
  93115. sp_1024_proj_point_dbl_avx2_16(&t[46], &t[23], tmp);
  93116. sp_1024_proj_point_add_sub_avx2_16(&t[47], &t[45], &t[46], &t[ 1], tmp);
  93117. sp_1024_proj_point_dbl_avx2_16(&t[48], &t[24], tmp);
  93118. sp_1024_proj_point_dbl_avx2_16(&t[50], &t[25], tmp);
  93119. sp_1024_proj_point_add_sub_avx2_16(&t[51], &t[49], &t[50], &t[ 1], tmp);
  93120. sp_1024_proj_point_dbl_avx2_16(&t[52], &t[26], tmp);
  93121. sp_1024_proj_point_dbl_avx2_16(&t[54], &t[27], tmp);
  93122. sp_1024_proj_point_add_sub_avx2_16(&t[55], &t[53], &t[54], &t[ 1], tmp);
  93123. sp_1024_proj_point_dbl_avx2_16(&t[56], &t[28], tmp);
  93124. sp_1024_proj_point_dbl_avx2_16(&t[58], &t[29], tmp);
  93125. sp_1024_proj_point_add_sub_avx2_16(&t[59], &t[57], &t[58], &t[ 1], tmp);
  93126. sp_1024_proj_point_dbl_avx2_16(&t[60], &t[30], tmp);
  93127. sp_1024_proj_point_dbl_avx2_16(&t[62], &t[31], tmp);
  93128. sp_1024_proj_point_add_sub_avx2_16(&t[63], &t[61], &t[62], &t[ 1], tmp);
  93129. negy = t[0].y;
  93130. sp_1024_ecc_recode_7_16(k, v);
  93131. i = 146;
  93132. XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_1024));
  93133. for (--i; i>=0; i--) {
  93134. sp_1024_proj_point_dbl_n_avx2_16(rt, 7, tmp);
  93135. XMEMCPY(p, &t[v[i].i], sizeof(sp_point_1024));
  93136. sp_1024_mont_sub_avx2_16(negy, p1024_mod, p->y, p1024_mod);
  93137. sp_1024_norm_16(negy);
  93138. sp_1024_cond_copy_16(p->y, negy, (sp_digit)0 - v[i].neg);
  93139. sp_1024_proj_point_add_avx2_16(rt, rt, p, tmp);
  93140. }
  93141. if (map != 0) {
  93142. sp_1024_map_avx2_16(r, rt, tmp);
  93143. }
  93144. else {
  93145. XMEMCPY(r, rt, sizeof(sp_point_1024));
  93146. }
  93147. }
  93148. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93149. if (t != NULL)
  93150. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  93151. if (tmp != NULL)
  93152. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  93153. #endif
  93154. return err;
  93155. }
  93156. #endif /* HAVE_INTEL_AVX2 */
  93157. /* A table entry for pre-computed points. */
  93158. typedef struct sp_table_entry_1024 {
  93159. sp_digit x[16];
  93160. sp_digit y[16];
  93161. } sp_table_entry_1024;
  93162. #ifdef FP_ECC
  93163. #endif /* FP_ECC */
  93164. /* Add two Montgomery form projective points. The second point has a q value of
  93165. * one.
  93166. * Only the first point can be the same pointer as the result point.
  93167. *
  93168. * r Result of addition.
  93169. * p First point to add.
  93170. * q Second point to add.
  93171. * t Temporary ordinate data.
  93172. */
  93173. static void sp_1024_proj_point_add_qz1_16(sp_point_1024* r, const sp_point_1024* p,
  93174. const sp_point_1024* q, sp_digit* t)
  93175. {
  93176. sp_digit* t1 = t;
  93177. sp_digit* t2 = t + 2*16;
  93178. sp_digit* t3 = t + 4*16;
  93179. sp_digit* t4 = t + 6*16;
  93180. sp_digit* t5 = t + 8*16;
  93181. sp_digit* t6 = t + 10*16;
  93182. /* Check double */
  93183. (void)sp_1024_mont_sub_16(t1, p1024_mod, q->y, p1024_mod);
  93184. sp_1024_norm_16(t1);
  93185. if ((~p->infinity & ~q->infinity &
  93186. sp_1024_cmp_equal_16(p->x, q->x) & sp_1024_cmp_equal_16(p->z, q->z) &
  93187. (sp_1024_cmp_equal_16(p->y, q->y) | sp_1024_cmp_equal_16(p->y, t1))) != 0) {
  93188. sp_1024_proj_point_dbl_16(r, p, t);
  93189. }
  93190. else {
  93191. sp_digit maskp;
  93192. sp_digit maskq;
  93193. sp_digit maskt;
  93194. sp_digit* x = t2;
  93195. sp_digit* y = t5;
  93196. sp_digit* z = t6;
  93197. int i;
  93198. /* U2 = X2*Z1^2 */
  93199. sp_1024_mont_sqr_16(t2, p->z, p1024_mod, p1024_mp_mod);
  93200. sp_1024_mont_mul_16(t4, t2, p->z, p1024_mod, p1024_mp_mod);
  93201. sp_1024_mont_mul_16(t2, t2, q->x, p1024_mod, p1024_mp_mod);
  93202. /* S2 = Y2*Z1^3 */
  93203. sp_1024_mont_mul_16(t4, t4, q->y, p1024_mod, p1024_mp_mod);
  93204. /* H = U2 - X1 */
  93205. sp_1024_mont_sub_16(t2, t2, p->x, p1024_mod);
  93206. /* R = S2 - Y1 */
  93207. sp_1024_mont_sub_16(t4, t4, p->y, p1024_mod);
  93208. /* Z3 = H*Z1 */
  93209. sp_1024_mont_mul_16(z, p->z, t2, p1024_mod, p1024_mp_mod);
  93210. /* X3 = R^2 - H^3 - 2*X1*H^2 */
  93211. sp_1024_mont_sqr_16(t1, t4, p1024_mod, p1024_mp_mod);
  93212. sp_1024_mont_sqr_16(t5, t2, p1024_mod, p1024_mp_mod);
  93213. sp_1024_mont_mul_16(t3, p->x, t5, p1024_mod, p1024_mp_mod);
  93214. sp_1024_mont_mul_16(t5, t5, t2, p1024_mod, p1024_mp_mod);
  93215. sp_1024_mont_sub_16(x, t1, t5, p1024_mod);
  93216. sp_1024_mont_dbl_16(t1, t3, p1024_mod);
  93217. sp_1024_mont_sub_16(x, x, t1, p1024_mod);
  93218. /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */
  93219. sp_1024_mont_sub_lower_16(t3, t3, x, p1024_mod);
  93220. sp_1024_mont_mul_16(t3, t3, t4, p1024_mod, p1024_mp_mod);
  93221. sp_1024_mont_mul_16(t5, t5, p->y, p1024_mod, p1024_mp_mod);
  93222. sp_1024_mont_sub_16(y, t3, t5, p1024_mod);
  93223. maskp = 0 - (q->infinity & (!p->infinity));
  93224. maskq = 0 - (p->infinity & (!q->infinity));
  93225. maskt = ~(maskp | maskq);
  93226. for (i = 0; i < 16; i++) {
  93227. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | (x[i] & maskt);
  93228. }
  93229. for (i = 0; i < 16; i++) {
  93230. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | (y[i] & maskt);
  93231. }
  93232. for (i = 0; i < 16; i++) {
  93233. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | (z[i] & maskt);
  93234. }
  93235. r->z[0] |= p->infinity & q->infinity;
  93236. r->infinity = p->infinity & q->infinity;
  93237. }
  93238. }
  93239. #if defined(FP_ECC) || !defined(WOLFSSL_SP_SMALL)
  93240. /* Convert the projective point to affine.
  93241. * Ordinates are in Montgomery form.
  93242. *
  93243. * a Point to convert.
  93244. * t Temporary data.
  93245. */
  93246. static void sp_1024_proj_to_affine_16(sp_point_1024* a, sp_digit* t)
  93247. {
  93248. sp_digit* t1 = t;
  93249. sp_digit* t2 = t + 2 * 16;
  93250. sp_digit* tmp = t + 4 * 16;
  93251. sp_1024_mont_inv_16(t1, a->z, tmp);
  93252. sp_1024_mont_sqr_16(t2, t1, p1024_mod, p1024_mp_mod);
  93253. sp_1024_mont_mul_16(t1, t2, t1, p1024_mod, p1024_mp_mod);
  93254. sp_1024_mont_mul_16(a->x, a->x, t2, p1024_mod, p1024_mp_mod);
  93255. sp_1024_mont_mul_16(a->y, a->y, t1, p1024_mod, p1024_mp_mod);
  93256. XMEMCPY(a->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  93257. }
  93258. /* Generate the pre-computed table of points for the base point.
  93259. *
  93260. * width = 8
  93261. * 256 entries
  93262. * 128 bits between
  93263. *
  93264. * a The base point.
  93265. * table Place to store generated point data.
  93266. * tmp Temporary data.
  93267. * heap Heap to use for allocation.
  93268. */
  93269. static int sp_1024_gen_stripe_table_16(const sp_point_1024* a,
  93270. sp_table_entry_1024* table, sp_digit* tmp, void* heap)
  93271. {
  93272. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93273. sp_point_1024* t = NULL;
  93274. #else
  93275. sp_point_1024 t[3];
  93276. #endif
  93277. sp_point_1024* s1 = NULL;
  93278. sp_point_1024* s2 = NULL;
  93279. int i;
  93280. int j;
  93281. int err = MP_OKAY;
  93282. (void)heap;
  93283. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93284. t = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024) * 3, heap,
  93285. DYNAMIC_TYPE_ECC);
  93286. if (t == NULL)
  93287. err = MEMORY_E;
  93288. #endif
  93289. if (err == MP_OKAY) {
  93290. s1 = t + 1;
  93291. s2 = t + 2;
  93292. err = sp_1024_mod_mul_norm_16(t->x, a->x, p1024_mod);
  93293. }
  93294. if (err == MP_OKAY) {
  93295. err = sp_1024_mod_mul_norm_16(t->y, a->y, p1024_mod);
  93296. }
  93297. if (err == MP_OKAY) {
  93298. err = sp_1024_mod_mul_norm_16(t->z, a->z, p1024_mod);
  93299. }
  93300. if (err == MP_OKAY) {
  93301. t->infinity = 0;
  93302. sp_1024_proj_to_affine_16(t, tmp);
  93303. XMEMCPY(s1->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  93304. s1->infinity = 0;
  93305. XMEMCPY(s2->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  93306. s2->infinity = 0;
  93307. /* table[0] = {0, 0, infinity} */
  93308. XMEMSET(&table[0], 0, sizeof(sp_table_entry_1024));
  93309. /* table[1] = Affine version of 'a' in Montgomery form */
  93310. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  93311. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  93312. for (i=1; i<8; i++) {
  93313. sp_1024_proj_point_dbl_n_16(t, 128, tmp);
  93314. sp_1024_proj_to_affine_16(t, tmp);
  93315. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  93316. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  93317. }
  93318. for (i=1; i<8; i++) {
  93319. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  93320. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  93321. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  93322. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  93323. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  93324. sp_1024_proj_point_add_qz1_16(t, s1, s2, tmp);
  93325. sp_1024_proj_to_affine_16(t, tmp);
  93326. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  93327. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  93328. }
  93329. }
  93330. }
  93331. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93332. if (t != NULL)
  93333. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  93334. #endif
  93335. return err;
  93336. }
  93337. #endif /* FP_ECC | !WOLFSSL_SP_SMALL */
  93338. /* Multiply the point by the scalar and return the result.
  93339. * If map is true then convert result to affine coordinates.
  93340. *
  93341. * Stripe implementation.
  93342. * Pre-generated: 2^0, 2^128, ...
  93343. * Pre-generated: products of all combinations of above.
  93344. * 8 doubles and adds (with qz=1)
  93345. *
  93346. * r Resulting point.
  93347. * k Scalar to multiply by.
  93348. * table Pre-computed table.
  93349. * map Indicates whether to convert result to affine.
  93350. * ct Constant time required.
  93351. * heap Heap to use for allocation.
  93352. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  93353. */
  93354. static int sp_1024_ecc_mulmod_stripe_16(sp_point_1024* r, const sp_point_1024* g,
  93355. const sp_table_entry_1024* table, const sp_digit* k, int map,
  93356. int ct, void* heap)
  93357. {
  93358. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93359. sp_point_1024* rt = NULL;
  93360. sp_digit* t = NULL;
  93361. #else
  93362. sp_point_1024 rt[2];
  93363. sp_digit t[2 * 16 * 6];
  93364. #endif
  93365. sp_point_1024* p = NULL;
  93366. int i;
  93367. int j;
  93368. int y;
  93369. int x;
  93370. int err = MP_OKAY;
  93371. (void)g;
  93372. /* Constant time used for cache attack resistance implementation. */
  93373. (void)ct;
  93374. (void)heap;
  93375. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93376. rt = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024) * 2, heap,
  93377. DYNAMIC_TYPE_ECC);
  93378. if (rt == NULL)
  93379. err = MEMORY_E;
  93380. if (err == MP_OKAY) {
  93381. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 16 * 6, heap,
  93382. DYNAMIC_TYPE_ECC);
  93383. if (t == NULL)
  93384. err = MEMORY_E;
  93385. }
  93386. #endif
  93387. if (err == MP_OKAY) {
  93388. p = rt + 1;
  93389. XMEMCPY(p->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  93390. XMEMCPY(rt->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  93391. y = 0;
  93392. x = 127;
  93393. for (j=0; j<8; j++) {
  93394. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  93395. x += 128;
  93396. }
  93397. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  93398. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  93399. rt->infinity = !y;
  93400. for (i=126; i>=0; i--) {
  93401. y = 0;
  93402. x = i;
  93403. for (j=0; j<8; j++) {
  93404. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  93405. x += 128;
  93406. }
  93407. sp_1024_proj_point_dbl_16(rt, rt, t);
  93408. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  93409. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  93410. p->infinity = !y;
  93411. sp_1024_proj_point_add_qz1_16(rt, rt, p, t);
  93412. }
  93413. if (map != 0) {
  93414. sp_1024_map_16(r, rt, t);
  93415. }
  93416. else {
  93417. XMEMCPY(r, rt, sizeof(sp_point_1024));
  93418. }
  93419. }
  93420. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93421. if (t != NULL)
  93422. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  93423. if (rt != NULL)
  93424. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  93425. #endif
  93426. return err;
  93427. }
  93428. #ifdef FP_ECC
  93429. #ifndef FP_ENTRIES
  93430. #define FP_ENTRIES 16
  93431. #endif
  93432. /* Cache entry - holds precomputation tables for a point. */
  93433. typedef struct sp_cache_1024_t {
  93434. /* X ordinate of point that table was generated from. */
  93435. sp_digit x[16];
  93436. /* Y ordinate of point that table was generated from. */
  93437. sp_digit y[16];
  93438. /* Precomputation table for point. */
  93439. sp_table_entry_1024 table[256];
  93440. /* Count of entries in table. */
  93441. uint32_t cnt;
  93442. /* Point and table set in entry. */
  93443. int set;
  93444. } sp_cache_1024_t;
  93445. /* Cache of tables. */
  93446. static THREAD_LS_T sp_cache_1024_t sp_cache_1024[FP_ENTRIES];
  93447. /* Index of last entry in cache. */
  93448. static THREAD_LS_T int sp_cache_1024_last = -1;
  93449. /* Cache has been initialized. */
  93450. static THREAD_LS_T int sp_cache_1024_inited = 0;
  93451. #ifndef HAVE_THREAD_LS
  93452. static volatile int initCacheMutex_1024 = 0;
  93453. static wolfSSL_Mutex sp_cache_1024_lock;
  93454. #endif
  93455. /* Get the cache entry for the point.
  93456. *
  93457. * g [in] Point scalar multipling.
  93458. * cache [out] Cache table to use.
  93459. */
  93460. static void sp_ecc_get_cache_1024(const sp_point_1024* g, sp_cache_1024_t** cache)
  93461. {
  93462. int i;
  93463. int j;
  93464. uint32_t least;
  93465. if (sp_cache_1024_inited == 0) {
  93466. for (i=0; i<FP_ENTRIES; i++) {
  93467. sp_cache_1024[i].set = 0;
  93468. }
  93469. sp_cache_1024_inited = 1;
  93470. }
  93471. /* Compare point with those in cache. */
  93472. for (i=0; i<FP_ENTRIES; i++) {
  93473. if (!sp_cache_1024[i].set)
  93474. continue;
  93475. if (sp_1024_cmp_equal_16(g->x, sp_cache_1024[i].x) &
  93476. sp_1024_cmp_equal_16(g->y, sp_cache_1024[i].y)) {
  93477. sp_cache_1024[i].cnt++;
  93478. break;
  93479. }
  93480. }
  93481. /* No match. */
  93482. if (i == FP_ENTRIES) {
  93483. /* Find empty entry. */
  93484. i = (sp_cache_1024_last + 1) % FP_ENTRIES;
  93485. for (; i != sp_cache_1024_last; i=(i+1)%FP_ENTRIES) {
  93486. if (!sp_cache_1024[i].set) {
  93487. break;
  93488. }
  93489. }
  93490. /* Evict least used. */
  93491. if (i == sp_cache_1024_last) {
  93492. least = sp_cache_1024[0].cnt;
  93493. for (j=1; j<FP_ENTRIES; j++) {
  93494. if (sp_cache_1024[j].cnt < least) {
  93495. i = j;
  93496. least = sp_cache_1024[i].cnt;
  93497. }
  93498. }
  93499. }
  93500. XMEMCPY(sp_cache_1024[i].x, g->x, sizeof(sp_cache_1024[i].x));
  93501. XMEMCPY(sp_cache_1024[i].y, g->y, sizeof(sp_cache_1024[i].y));
  93502. sp_cache_1024[i].set = 1;
  93503. sp_cache_1024[i].cnt = 1;
  93504. }
  93505. *cache = &sp_cache_1024[i];
  93506. sp_cache_1024_last = i;
  93507. }
  93508. #endif /* FP_ECC */
  93509. /* Multiply the base point of P1024 by the scalar and return the result.
  93510. * If map is true then convert result to affine coordinates.
  93511. *
  93512. * r Resulting point.
  93513. * g Point to multiply.
  93514. * k Scalar to multiply by.
  93515. * map Indicates whether to convert result to affine.
  93516. * ct Constant time required.
  93517. * heap Heap to use for allocation.
  93518. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  93519. */
  93520. static int sp_1024_ecc_mulmod_16(sp_point_1024* r, const sp_point_1024* g, const sp_digit* k,
  93521. int map, int ct, void* heap)
  93522. {
  93523. #ifndef FP_ECC
  93524. return sp_1024_ecc_mulmod_win_add_sub_16(r, g, k, map, ct, heap);
  93525. #else
  93526. sp_digit tmp[2 * 16 * 6];
  93527. sp_cache_1024_t* cache;
  93528. int err = MP_OKAY;
  93529. #ifndef HAVE_THREAD_LS
  93530. if (initCacheMutex_1024 == 0) {
  93531. wc_InitMutex(&sp_cache_1024_lock);
  93532. initCacheMutex_1024 = 1;
  93533. }
  93534. if (wc_LockMutex(&sp_cache_1024_lock) != 0)
  93535. err = BAD_MUTEX_E;
  93536. #endif /* HAVE_THREAD_LS */
  93537. if (err == MP_OKAY) {
  93538. sp_ecc_get_cache_1024(g, &cache);
  93539. if (cache->cnt == 2)
  93540. sp_1024_gen_stripe_table_16(g, cache->table, tmp, heap);
  93541. #ifndef HAVE_THREAD_LS
  93542. wc_UnLockMutex(&sp_cache_1024_lock);
  93543. #endif /* HAVE_THREAD_LS */
  93544. if (cache->cnt < 2) {
  93545. err = sp_1024_ecc_mulmod_win_add_sub_16(r, g, k, map, ct, heap);
  93546. }
  93547. else {
  93548. err = sp_1024_ecc_mulmod_stripe_16(r, g, cache->table, k,
  93549. map, ct, heap);
  93550. }
  93551. }
  93552. return err;
  93553. #endif
  93554. }
  93555. #ifdef HAVE_INTEL_AVX2
  93556. #ifdef FP_ECC
  93557. #endif /* FP_ECC */
  93558. /* Add two Montgomery form projective points. The second point has a q value of
  93559. * one.
  93560. * Only the first point can be the same pointer as the result point.
  93561. *
  93562. * r Result of addition.
  93563. * p First point to add.
  93564. * q Second point to add.
  93565. * t Temporary ordinate data.
  93566. */
  93567. static void sp_1024_proj_point_add_qz1_avx2_16(sp_point_1024* r, const sp_point_1024* p,
  93568. const sp_point_1024* q, sp_digit* t)
  93569. {
  93570. sp_digit* t1 = t;
  93571. sp_digit* t2 = t + 2*16;
  93572. sp_digit* t3 = t + 4*16;
  93573. sp_digit* t4 = t + 6*16;
  93574. sp_digit* t5 = t + 8*16;
  93575. sp_digit* t6 = t + 10*16;
  93576. /* Check double */
  93577. (void)sp_1024_mont_sub_avx2_16(t1, p1024_mod, q->y, p1024_mod);
  93578. sp_1024_norm_16(t1);
  93579. if ((~p->infinity & ~q->infinity &
  93580. sp_1024_cmp_equal_16(p->x, q->x) & sp_1024_cmp_equal_16(p->z, q->z) &
  93581. (sp_1024_cmp_equal_16(p->y, q->y) | sp_1024_cmp_equal_16(p->y, t1))) != 0) {
  93582. sp_1024_proj_point_dbl_avx2_16(r, p, t);
  93583. }
  93584. else {
  93585. sp_digit maskp;
  93586. sp_digit maskq;
  93587. sp_digit maskt;
  93588. sp_digit* x = t2;
  93589. sp_digit* y = t5;
  93590. sp_digit* z = t6;
  93591. int i;
  93592. /* U2 = X2*Z1^2 */
  93593. sp_1024_mont_sqr_avx2_16(t2, p->z, p1024_mod, p1024_mp_mod);
  93594. sp_1024_mont_mul_avx2_16(t4, t2, p->z, p1024_mod, p1024_mp_mod);
  93595. sp_1024_mont_mul_avx2_16(t2, t2, q->x, p1024_mod, p1024_mp_mod);
  93596. /* S2 = Y2*Z1^3 */
  93597. sp_1024_mont_mul_avx2_16(t4, t4, q->y, p1024_mod, p1024_mp_mod);
  93598. /* H = U2 - X1 */
  93599. sp_1024_mont_sub_avx2_16(t2, t2, p->x, p1024_mod);
  93600. /* R = S2 - Y1 */
  93601. sp_1024_mont_sub_avx2_16(t4, t4, p->y, p1024_mod);
  93602. /* Z3 = H*Z1 */
  93603. sp_1024_mont_mul_avx2_16(z, p->z, t2, p1024_mod, p1024_mp_mod);
  93604. /* X3 = R^2 - H^3 - 2*X1*H^2 */
  93605. sp_1024_mont_sqr_avx2_16(t1, t4, p1024_mod, p1024_mp_mod);
  93606. sp_1024_mont_sqr_avx2_16(t5, t2, p1024_mod, p1024_mp_mod);
  93607. sp_1024_mont_mul_avx2_16(t3, p->x, t5, p1024_mod, p1024_mp_mod);
  93608. sp_1024_mont_mul_avx2_16(t5, t5, t2, p1024_mod, p1024_mp_mod);
  93609. sp_1024_mont_sub_avx2_16(x, t1, t5, p1024_mod);
  93610. sp_1024_mont_dbl_avx2_16(t1, t3, p1024_mod);
  93611. sp_1024_mont_sub_avx2_16(x, x, t1, p1024_mod);
  93612. /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */
  93613. sp_1024_mont_sub_lower_avx2_16(t3, t3, x, p1024_mod);
  93614. sp_1024_mont_mul_avx2_16(t3, t3, t4, p1024_mod, p1024_mp_mod);
  93615. sp_1024_mont_mul_avx2_16(t5, t5, p->y, p1024_mod, p1024_mp_mod);
  93616. sp_1024_mont_sub_avx2_16(y, t3, t5, p1024_mod);
  93617. maskp = 0 - (q->infinity & (!p->infinity));
  93618. maskq = 0 - (p->infinity & (!q->infinity));
  93619. maskt = ~(maskp | maskq);
  93620. for (i = 0; i < 16; i++) {
  93621. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | (x[i] & maskt);
  93622. }
  93623. for (i = 0; i < 16; i++) {
  93624. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | (y[i] & maskt);
  93625. }
  93626. for (i = 0; i < 16; i++) {
  93627. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | (z[i] & maskt);
  93628. }
  93629. r->z[0] |= p->infinity & q->infinity;
  93630. r->infinity = p->infinity & q->infinity;
  93631. }
  93632. }
  93633. #if defined(FP_ECC) || !defined(WOLFSSL_SP_SMALL)
  93634. /* Convert the projective point to affine.
  93635. * Ordinates are in Montgomery form.
  93636. *
  93637. * a Point to convert.
  93638. * t Temporary data.
  93639. */
  93640. static void sp_1024_proj_to_affine_avx2_16(sp_point_1024* a, sp_digit* t)
  93641. {
  93642. sp_digit* t1 = t;
  93643. sp_digit* t2 = t + 2 * 16;
  93644. sp_digit* tmp = t + 4 * 16;
  93645. sp_1024_mont_inv_avx2_16(t1, a->z, tmp);
  93646. sp_1024_mont_sqr_avx2_16(t2, t1, p1024_mod, p1024_mp_mod);
  93647. sp_1024_mont_mul_avx2_16(t1, t2, t1, p1024_mod, p1024_mp_mod);
  93648. sp_1024_mont_mul_avx2_16(a->x, a->x, t2, p1024_mod, p1024_mp_mod);
  93649. sp_1024_mont_mul_avx2_16(a->y, a->y, t1, p1024_mod, p1024_mp_mod);
  93650. XMEMCPY(a->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  93651. }
  93652. /* Generate the pre-computed table of points for the base point.
  93653. *
  93654. * width = 8
  93655. * 256 entries
  93656. * 128 bits between
  93657. *
  93658. * a The base point.
  93659. * table Place to store generated point data.
  93660. * tmp Temporary data.
  93661. * heap Heap to use for allocation.
  93662. */
  93663. static int sp_1024_gen_stripe_table_avx2_16(const sp_point_1024* a,
  93664. sp_table_entry_1024* table, sp_digit* tmp, void* heap)
  93665. {
  93666. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93667. sp_point_1024* t = NULL;
  93668. #else
  93669. sp_point_1024 t[3];
  93670. #endif
  93671. sp_point_1024* s1 = NULL;
  93672. sp_point_1024* s2 = NULL;
  93673. int i;
  93674. int j;
  93675. int err = MP_OKAY;
  93676. (void)heap;
  93677. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93678. t = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024) * 3, heap,
  93679. DYNAMIC_TYPE_ECC);
  93680. if (t == NULL)
  93681. err = MEMORY_E;
  93682. #endif
  93683. if (err == MP_OKAY) {
  93684. s1 = t + 1;
  93685. s2 = t + 2;
  93686. err = sp_1024_mod_mul_norm_avx2_16(t->x, a->x, p1024_mod);
  93687. }
  93688. if (err == MP_OKAY) {
  93689. err = sp_1024_mod_mul_norm_avx2_16(t->y, a->y, p1024_mod);
  93690. }
  93691. if (err == MP_OKAY) {
  93692. err = sp_1024_mod_mul_norm_avx2_16(t->z, a->z, p1024_mod);
  93693. }
  93694. if (err == MP_OKAY) {
  93695. t->infinity = 0;
  93696. sp_1024_proj_to_affine_avx2_16(t, tmp);
  93697. XMEMCPY(s1->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  93698. s1->infinity = 0;
  93699. XMEMCPY(s2->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  93700. s2->infinity = 0;
  93701. /* table[0] = {0, 0, infinity} */
  93702. XMEMSET(&table[0], 0, sizeof(sp_table_entry_1024));
  93703. /* table[1] = Affine version of 'a' in Montgomery form */
  93704. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  93705. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  93706. for (i=1; i<8; i++) {
  93707. sp_1024_proj_point_dbl_n_avx2_16(t, 128, tmp);
  93708. sp_1024_proj_to_affine_avx2_16(t, tmp);
  93709. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  93710. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  93711. }
  93712. for (i=1; i<8; i++) {
  93713. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  93714. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  93715. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  93716. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  93717. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  93718. sp_1024_proj_point_add_qz1_avx2_16(t, s1, s2, tmp);
  93719. sp_1024_proj_to_affine_avx2_16(t, tmp);
  93720. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  93721. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  93722. }
  93723. }
  93724. }
  93725. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93726. if (t != NULL)
  93727. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  93728. #endif
  93729. return err;
  93730. }
  93731. #endif /* FP_ECC | !WOLFSSL_SP_SMALL */
  93732. /* Multiply the point by the scalar and return the result.
  93733. * If map is true then convert result to affine coordinates.
  93734. *
  93735. * Stripe implementation.
  93736. * Pre-generated: 2^0, 2^128, ...
  93737. * Pre-generated: products of all combinations of above.
  93738. * 8 doubles and adds (with qz=1)
  93739. *
  93740. * r Resulting point.
  93741. * k Scalar to multiply by.
  93742. * table Pre-computed table.
  93743. * map Indicates whether to convert result to affine.
  93744. * ct Constant time required.
  93745. * heap Heap to use for allocation.
  93746. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  93747. */
  93748. static int sp_1024_ecc_mulmod_stripe_avx2_16(sp_point_1024* r, const sp_point_1024* g,
  93749. const sp_table_entry_1024* table, const sp_digit* k, int map,
  93750. int ct, void* heap)
  93751. {
  93752. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93753. sp_point_1024* rt = NULL;
  93754. sp_digit* t = NULL;
  93755. #else
  93756. sp_point_1024 rt[2];
  93757. sp_digit t[2 * 16 * 6];
  93758. #endif
  93759. sp_point_1024* p = NULL;
  93760. int i;
  93761. int j;
  93762. int y;
  93763. int x;
  93764. int err = MP_OKAY;
  93765. (void)g;
  93766. /* Constant time used for cache attack resistance implementation. */
  93767. (void)ct;
  93768. (void)heap;
  93769. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93770. rt = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024) * 2, heap,
  93771. DYNAMIC_TYPE_ECC);
  93772. if (rt == NULL)
  93773. err = MEMORY_E;
  93774. if (err == MP_OKAY) {
  93775. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 16 * 6, heap,
  93776. DYNAMIC_TYPE_ECC);
  93777. if (t == NULL)
  93778. err = MEMORY_E;
  93779. }
  93780. #endif
  93781. if (err == MP_OKAY) {
  93782. p = rt + 1;
  93783. XMEMCPY(p->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  93784. XMEMCPY(rt->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  93785. y = 0;
  93786. x = 127;
  93787. for (j=0; j<8; j++) {
  93788. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  93789. x += 128;
  93790. }
  93791. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  93792. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  93793. rt->infinity = !y;
  93794. for (i=126; i>=0; i--) {
  93795. y = 0;
  93796. x = i;
  93797. for (j=0; j<8; j++) {
  93798. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  93799. x += 128;
  93800. }
  93801. sp_1024_proj_point_dbl_avx2_16(rt, rt, t);
  93802. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  93803. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  93804. p->infinity = !y;
  93805. sp_1024_proj_point_add_qz1_avx2_16(rt, rt, p, t);
  93806. }
  93807. if (map != 0) {
  93808. sp_1024_map_avx2_16(r, rt, t);
  93809. }
  93810. else {
  93811. XMEMCPY(r, rt, sizeof(sp_point_1024));
  93812. }
  93813. }
  93814. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93815. if (t != NULL)
  93816. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  93817. if (rt != NULL)
  93818. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  93819. #endif
  93820. return err;
  93821. }
  93822. /* Multiply the base point of P1024 by the scalar and return the result.
  93823. * If map is true then convert result to affine coordinates.
  93824. *
  93825. * r Resulting point.
  93826. * g Point to multiply.
  93827. * k Scalar to multiply by.
  93828. * map Indicates whether to convert result to affine.
  93829. * ct Constant time required.
  93830. * heap Heap to use for allocation.
  93831. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  93832. */
  93833. static int sp_1024_ecc_mulmod_avx2_16(sp_point_1024* r, const sp_point_1024* g, const sp_digit* k,
  93834. int map, int ct, void* heap)
  93835. {
  93836. #ifndef FP_ECC
  93837. return sp_1024_ecc_mulmod_win_add_sub_avx2_16(r, g, k, map, ct, heap);
  93838. #else
  93839. sp_digit tmp[2 * 16 * 6];
  93840. sp_cache_1024_t* cache;
  93841. int err = MP_OKAY;
  93842. #ifndef HAVE_THREAD_LS
  93843. if (initCacheMutex_1024 == 0) {
  93844. wc_InitMutex(&sp_cache_1024_lock);
  93845. initCacheMutex_1024 = 1;
  93846. }
  93847. if (wc_LockMutex(&sp_cache_1024_lock) != 0)
  93848. err = BAD_MUTEX_E;
  93849. #endif /* HAVE_THREAD_LS */
  93850. if (err == MP_OKAY) {
  93851. sp_ecc_get_cache_1024(g, &cache);
  93852. if (cache->cnt == 2)
  93853. sp_1024_gen_stripe_table_avx2_16(g, cache->table, tmp, heap);
  93854. #ifndef HAVE_THREAD_LS
  93855. wc_UnLockMutex(&sp_cache_1024_lock);
  93856. #endif /* HAVE_THREAD_LS */
  93857. if (cache->cnt < 2) {
  93858. err = sp_1024_ecc_mulmod_win_add_sub_avx2_16(r, g, k, map, ct, heap);
  93859. }
  93860. else {
  93861. err = sp_1024_ecc_mulmod_stripe_avx2_16(r, g, cache->table, k,
  93862. map, ct, heap);
  93863. }
  93864. }
  93865. return err;
  93866. #endif
  93867. }
  93868. #endif /* HAVE_INTEL_AVX2 */
  93869. /* Multiply the point by the scalar and return the result.
  93870. * If map is true then convert result to affine coordinates.
  93871. *
  93872. * km Scalar to multiply by.
  93873. * p Point to multiply.
  93874. * r Resulting point.
  93875. * map Indicates whether to convert result to affine.
  93876. * heap Heap to use for allocation.
  93877. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  93878. */
  93879. int sp_ecc_mulmod_1024(const mp_int* km, const ecc_point* gm, ecc_point* r,
  93880. int map, void* heap)
  93881. {
  93882. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93883. sp_point_1024* point = NULL;
  93884. sp_digit* k = NULL;
  93885. #else
  93886. sp_point_1024 point[1];
  93887. sp_digit k[16];
  93888. #endif
  93889. int err = MP_OKAY;
  93890. #ifdef HAVE_INTEL_AVX2
  93891. word32 cpuid_flags = cpuid_get_flags();
  93892. #endif
  93893. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93894. point = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024), heap,
  93895. DYNAMIC_TYPE_ECC);
  93896. if (point == NULL)
  93897. err = MEMORY_E;
  93898. if (err == MP_OKAY) {
  93899. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 16, heap,
  93900. DYNAMIC_TYPE_ECC);
  93901. if (k == NULL)
  93902. err = MEMORY_E;
  93903. }
  93904. #endif
  93905. if (err == MP_OKAY) {
  93906. sp_1024_from_mp(k, 16, km);
  93907. sp_1024_point_from_ecc_point_16(point, gm);
  93908. #ifdef HAVE_INTEL_AVX2
  93909. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  93910. err = sp_1024_ecc_mulmod_avx2_16(point, point, k, map, 1, heap);
  93911. else
  93912. #endif
  93913. err = sp_1024_ecc_mulmod_16(point, point, k, map, 1, heap);
  93914. }
  93915. if (err == MP_OKAY) {
  93916. err = sp_1024_point_to_ecc_point_16(point, r);
  93917. }
  93918. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  93919. if (k != NULL)
  93920. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  93921. if (point != NULL)
  93922. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  93923. #endif
  93924. return err;
  93925. }
  93926. /* Striping precomputation table.
  93927. * 8 points combined into a table of 256 points.
  93928. * Distance of 128 between points.
  93929. */
  93930. static const sp_table_entry_1024 p1024_table[256] = {
  93931. /* 0 */
  93932. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  93933. 0x00, 0x00, 0x00, 0x00 },
  93934. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  93935. 0x00, 0x00, 0x00, 0x00 } },
  93936. /* 1 */
  93937. { { 0xbf9c7ec6e0162bc2L,0xddecc6e310a89289L,0x5d599df09e499d81L,
  93938. 0x9a96ea286d358218L,0x01aec7d370c5f8dbL,0xe72e49958cf5d066L,
  93939. 0xc2e7297d3e91d7f8L,0x8621db92da9f2f5aL,0x4b26c8675a5679edL,
  93940. 0x233385df2c56aac1L,0xb88e74d4c6a13f99L,0x1214b173ffa8ec11L,
  93941. 0xa0386a271f3f9fefL,0xbd9b1b4ec0e7b44eL,0xafe528dceecd3496L,
  93942. 0x8dfff96a1c49f80bL },
  93943. { 0xb4a4753ac03c0c83L,0x68e69d18abcdcd75L,0xe3839b88f775b649L,
  93944. 0x803f949abf58f352L,0x5f702679bd0bc15cL,0x85bf5d168ff298c2L,
  93945. 0x3f6ebd98c6c7976eL,0x20618af445e3e1b4L,0x67d5598e54e64093L,
  93946. 0xb047283b504fed9eL,0x450cabfd70d87517L,0x47d628bf3f5addbeL,
  93947. 0x0037ef3078cb4ccaL,0x4e148d3c6b1c4908L,0xe256d3294fcfd837L,
  93948. 0x2aa1207bde3c01f3L } },
  93949. /* 2 */
  93950. { { 0xa95b6dae01900955L,0xa5dc9cc1ceb4656dL,0x50c78907e72fe95bL,
  93951. 0xa1ae5447a040c334L,0x911913707952ea6eL,0x54ff73436d097305L,
  93952. 0xa4db0074bda4d10fL,0xfd5306f191644070L,0x14b9fe738b24522cL,
  93953. 0x1468dad67849f762L,0x87b29a18b0dcd2e4L,0xadd7f1a15e1ad492L,
  93954. 0x9ac63a81dbba2a1aL,0x01379c5b81223379L,0xf402b2f0b0e53bc8L,
  93955. 0x8c3eb27f0bf13b61L },
  93956. { 0x9a4ad3e1e513696fL,0x0350ba5c18c81ffaL,0x1e2fc1363c033d13L,
  93957. 0x53da6e7117a531bcL,0x42ec64901aed610dL,0xd33e8df7e99ff567L,
  93958. 0xe4aad73e3deed12aL,0xd983b465180f4debL,0x99365269502f30b4L,
  93959. 0x7e2799aba8918d7fL,0x0ffe84b6700fc79aL,0x7b4400d640bfd8c2L,
  93960. 0xc3a21d215d2641bdL,0x79839442c32621cbL,0xace6500bb1401e83L,
  93961. 0x7bf4163e251c4310L } },
  93962. /* 3 */
  93963. { { 0x1c174f88e3fd589eL,0xdb501790df974a03L,0xd09623e33e70549fL,
  93964. 0x8d091eff15924f34L,0xeef79cadf9b65ac5L,0xd2cc42623f69c2cfL,
  93965. 0x817d903252cd82bcL,0xacf4f4d9a5f1ddddL,0xd06126355011b6bdL,
  93966. 0x9f74490d2ed140c9L,0x64092e8c4db686d2L,0x225eef16776b0fccL,
  93967. 0x0e8c01e9df16aeb6L,0x6283674184bbd82aL,0x757574e28956e337L,
  93968. 0x9871edc6705a7f07L },
  93969. { 0xbd0b76d5776535f7L,0x5214d6022635b3b8L,0xc0c25ad99d216f64L,
  93970. 0xfd4df3a75515bf75L,0x24a625bc5e9f1675L,0x3c35efb7406873e7L,
  93971. 0xef5c9a33bb2e5c4aL,0xa971b35e806b198aL,0x9f5c0ca5a3c690edL,
  93972. 0xa8d5dd898e1e2341L,0x4cecbcce955ad9e4L,0x2ecf4407248d3416L,
  93973. 0x1abb381145c0af6eL,0x3f4bee821c780fffL,0xd14df768c272ed57L,
  93974. 0x397ed10a371637adL } },
  93975. /* 4 */
  93976. { { 0xcf3e0bb2755c2a27L,0xd38e42f959585c44L,0x46b13e0f19285e60L,
  93977. 0xc3ecd0c076273d0fL,0x7800f085193c569aL,0xf04e74ab4351818aL,
  93978. 0x9258aa388496363bL,0x8456617cb8c894feL,0x8bc62aaa2af969a0L,
  93979. 0x66c2280b5a4668d9L,0xbc9df58ea992f4faL,0x5db0b7d93f401e99L,
  93980. 0xe0614fe1c4c38c0eL,0xd531151c2ccdf6b3L,0x1c7575ece143b618L,
  93981. 0x40247985df9398a4L },
  93982. { 0xfba251788f055746L,0xc5ba00400ab1e6e0L,0xe1b194fbac292697L,
  93983. 0x771521195b4f4740L,0x250091d09bb7ba54L,0x7a674861b9a139a4L,
  93984. 0xba8413b3f353aa7eL,0xafe771922443ceeeL,0x14468d363847bbd0L,
  93985. 0x61f79ff63da4942dL,0x1563a1c1d425b456L,0x3c270fcd75ff4630L,
  93986. 0x42072090eb2802c9L,0x68f0cdcbc85c7004L,0xca4372fbfa032e74L,
  93987. 0x1a6fd1e6c8b79d80L } },
  93988. /* 5 */
  93989. { { 0x967a901a8d5116a3L,0x0b844394b2f5f47fL,0xe39ad45260ebaf3bL,
  93990. 0x1e1be61760ccfc0cL,0xac07e3d2cc3f53f2L,0xdd838e0e1ed11bb6L,
  93991. 0x454753071c15b0c2L,0x70dd4748920fe5b8L,0x1a20be2de471896dL,
  93992. 0x3c3fad8a59276c7cL,0x026a1cc3c886ee07L,0x9fdb6f376e831ac4L,
  93993. 0x26a35d1aac501d65L,0x0ae9890540da8574L,0x65dde0a4abd734e5L,
  93994. 0x29b7d4dc15614750L },
  93995. { 0x44b3c2cbcbf4e20bL,0x1c3f548f58cc44c5L,0x39809b545b0cac1fL,
  93996. 0x0c0f02b500f80621L,0xe612b890066905e0L,0x8f158ed78350188cL,
  93997. 0xc01dc4583f5576b2L,0x29803272a45492e0L,0x77a5623a0ff92443L,
  93998. 0xd12a2b0029d0dc41L,0xb41254592780e87aL,0x1ebcf9030d53f272L,
  93999. 0xbae6ea4024301e8dL,0x1e5f3f2fa37d0798L,0x9342c31022b4126cL,
  94000. 0x5d0928025382497eL } },
  94001. /* 6 */
  94002. { { 0x583a2b7eff2f780dL,0x34d26820d7d76b1dL,0xe3c3284786f74aecL,
  94003. 0x0fd4221210823febL,0x227e417efb5e7bf4L,0x510d49b6a568f8cdL,
  94004. 0x53bce7d61781bbecL,0x9cfe3f222f3718b7L,0x7f44e89fd9de6c1fL,
  94005. 0xf1cc553f3fac9b55L,0x9d2d0846e6f300bcL,0x976c82a29f0ae6b1L,
  94006. 0xe63dbf5e24b8bbe0L,0x4cac7f45973a5aa7L,0xc6eb623784dd33c7L,
  94007. 0x0a26e434142fee5dL },
  94008. { 0x8081339facaa9a08L,0x40f311055246ece1L,0x892c817061393747L,
  94009. 0x8d8d4103242f02e1L,0x482bfd203b5de98aL,0x89ef946b5abbe952L,
  94010. 0xb8d218b937698249L,0xd5268e8966617c7aL,0x962e75518b7d2b91L,
  94011. 0x2c5c7973fe8d67c3L,0x42e3150a2b017c51L,0x6f4e5ebcc1a29469L,
  94012. 0xa39910ce531c7083L,0xaf4f6eb4b77b9e50L,0x68cbb175da120ad0L,
  94013. 0x19497c61b92636ecL } },
  94014. /* 7 */
  94015. { { 0x6920b0c6417659a8L,0xc77ab9c792cb28ffL,0x55b67180b687797fL,
  94016. 0x4caf58c1e7759363L,0x5155bdb65561b186L,0x2e64e355780f4946L,
  94017. 0xeb0ac9b7229a8b20L,0x88594d782571bd60L,0x5dcc0939e3fa78f9L,
  94018. 0x7b8b48302ac2d379L,0x505fbf60b90f1444L,0xac610e813ce4b3c1L,
  94019. 0x39a4f27ad59b5c18L,0x5fa339737cea0222L,0xe578730b8dff1c7bL,
  94020. 0x96b91b8b517bf7a6L },
  94021. { 0xc1a991f49aac087cL,0xce62f74e6cfdb28dL,0x08d6ff9a5f7600d6L,
  94022. 0xd781cd04f917f9c9L,0x7796f5f63de52dbfL,0xe7db64e02ed72180L,
  94023. 0x0f0876f66fa4137dL,0x3271ee643ca1f716L,0xcb9b20587c4ab8a3L,
  94024. 0xcba1710739481047L,0xdf9a190d598c5c37L,0x0cb6e72a6f20e125L,
  94025. 0xa3142204f4f2902dL,0x42d28cb97ce2dcfbL,0xdf261b8aa3d3c351L,
  94026. 0x73f3d315cffc249dL } },
  94027. /* 8 */
  94028. { { 0x5d86855be6fd3673L,0x309b70af9d214b7bL,0x8d332f90dcc46cd3L,
  94029. 0xe553c015595510deL,0x5746a09638c1251cL,0xcd7cea5b85cc1bc9L,
  94030. 0x4ffa1468002eba8fL,0x10a3cb7022fcd77cL,0xb6999dfbc4ea05e3L,
  94031. 0x3375a0d04efa756eL,0x4d90279edced5fd8L,0x48192403251fd56eL,
  94032. 0xe87633a482a4c5f1L,0x3170d1301b34105bL,0x93998b0f7247e578L,
  94033. 0x88934f64436ba1faL },
  94034. { 0xf09f43b04713eabcL,0x4ca7dd91accdc517L,0x27daa63bef13ca7cL,
  94035. 0x8b2e5a7a2588184bL,0x0a8cb612d95dc269L,0x346975a2e1f2f14cL,
  94036. 0x1f29b8ede172935cL,0xc3cbfd6ed40bc1e3L,0xd3f46b3f132623daL,
  94037. 0xc115be6dfb0b7681L,0x5e31c34556da4344L,0xa7c63f18a8e43d98L,
  94038. 0x55cb20834bddb4eaL,0xb16a0c384a54f58cL,0x74eacca246fd69d9L,
  94039. 0x0d1898bb153548e1L } },
  94040. /* 9 */
  94041. { { 0x4ea73461e35ef043L,0x107b67d93496b564L,0xd62c173bd0f83a3cL,
  94042. 0xfad4b03851d29c35L,0x3f42882a71b1c1a4L,0x5d2bcf6654b43b9eL,
  94043. 0xc77b15aa2abdf543L,0x5cb38a80dabe3dc1L,0x15fda0aea481673bL,
  94044. 0x86996b4de7b90ebeL,0x84f87e252bc8f3d8L,0xaded03d637c4e424L,
  94045. 0xe5ede666d7a7afd8L,0x80dd95a2a1ccb93aL,0xa55cfd2546fba391L,
  94046. 0x2bdab1dc46f82e60L },
  94047. { 0x7a4de22bfa6fed61L,0xca458aa5cc8dd94eL,0x3e372df1071222f5L,
  94048. 0x06a4b44fe5aff377L,0xbc2d0ba74a738e6dL,0x1a470e1d5f31f136L,
  94049. 0x77ff933ae102a911L,0x8b380a50310c7885L,0x9f3c0228783fc5acL,
  94050. 0xec66892544725d06L,0x878f0e165ac84221L,0x9a3af1afcfda6e8aL,
  94051. 0x0183ed3778cd2abaL,0x32cdbd60826d0eaeL,0xb3234661cbee6415L,
  94052. 0x353eb892b9c10120L } },
  94053. /* 10 */
  94054. { { 0xc8fdcad610b5521eL,0x1a11b44052e702f0L,0x6302680d8ffda49cL,
  94055. 0xcdb9654acbf36badL,0x7b58ce114c10a2d7L,0x1e5d1f7de630e7e0L,
  94056. 0x8cbe3d7d6760a813L,0xeb35866b6480d77fL,0x58728cf37f036219L,
  94057. 0xdd5865ed42a8a757L,0x283f1f1d906a2870L,0x79e23fa4a51f906bL,
  94058. 0xf2ac6e83543b20a8L,0x4f0b6379b81e7754L,0x57fbc0d4840016eeL,
  94059. 0x8da20771e621b67dL },
  94060. { 0x3c855004ecce65ecL,0x76d10d1fb748185eL,0x64be7bca78797ad2L,
  94061. 0x43444db077e54aadL,0x17b6b0c9be0df0ffL,0x8fc4256c055086a4L,
  94062. 0xf952c43bfd74d5a3L,0x501e005a01c4edb8L,0xd5172dfc4a57e328L,
  94063. 0xdb40ce4e535d6ee3L,0xbaef1e5c0c650918L,0xe85145e7857561fcL,
  94064. 0xe468536a34a224c6L,0x69a8e2270ec0e0a2L,0xb3f52247242b03fcL,
  94065. 0x862f55e2c3bebd5fL } },
  94066. /* 11 */
  94067. { { 0x2d6a390f226049feL,0xcc92a578dcbbc9fbL,0xa52feca497634fb7L,
  94068. 0x2b340cb63dea5893L,0xa39f338a2a49e916L,0x26b2df3d949e41f3L,
  94069. 0xc71c7cdb065a7e40L,0x4a9b84a0468281a2L,0x63eeb503731eeecaL,
  94070. 0xe6d0913476cbb725L,0x0cf979a9b94a678cL,0xb44d8c3b808fd9f1L,
  94071. 0xe60da613e0afc5b9L,0x52dce7de3ea5be69L,0x3a5d6864dc1ee74fL,
  94072. 0x71ab28913bc80790L },
  94073. { 0xcf618fc43b5b60adL,0x0afb5e304a0c3184L,0xd22381ccbc403302L,
  94074. 0x33cf8953db1c0c66L,0x9c994e4da6112a8dL,0xd7aae2c3d1967a86L,
  94075. 0xc28d54935b7acd29L,0x8075bd136c9a57fbL,0xc9c0373e9c8427f9L,
  94076. 0x2cbca18d193225f5L,0x73777d13442c018cL,0xebe5ed47fbb3a727L,
  94077. 0x70437d491962dc18L,0xf39c1e092dc08806L,0x03e9c6f715fff35cL,
  94078. 0x8d087bb65e360a65L } },
  94079. /* 12 */
  94080. { { 0xbe2123023fdc1844L,0x6eca27ef105eac56L,0x2183a606f168a348L,
  94081. 0x295f807de1d7a4cbL,0x7246a6327ef5d43eL,0xae143205c77025c7L,
  94082. 0x4bdfc7caf3484e3eL,0xec939895df52c075L,0x82e655f6d7a9cac0L,
  94083. 0x985dfe208baeddb0L,0x79c817e4527de731L,0x30ce0fbc313de1eaL,
  94084. 0x9df95b89cc4f6cbbL,0xf2aedf1ef5bb20cdL,0xfc1e0a891a8cfb01L,
  94085. 0x225ed34a63edb7ecL },
  94086. { 0x3e13154dbabb1a85L,0xd3d8dae71e6a565aL,0xd3217d56ab4b100fL,
  94087. 0xd44d934eebc78e1aL,0x0215321b48e73d37L,0xbbc90bfa201e43cbL,
  94088. 0x3c23f1d027500905L,0x2a2e5000c86691a1L,0x08b2bad26065841cL,
  94089. 0x15d41caf30026b60L,0x1712c2f45276ce61L,0x01c4c3e715932ffbL,
  94090. 0x7894e13d6a74caf2L,0x02d6f5df0c0537a4L,0xa8fb7602c2b1c97eL,
  94091. 0x612b60e5d0887c7bL } },
  94092. /* 13 */
  94093. { { 0xefd495cfba245d6bL,0x5cf0cbb7a2ce3ff6L,0x24da2ac0dff5feeeL,
  94094. 0x90c914f8cf28c6a3L,0x72fdb50d4308a56bL,0x03dbf77913d72034L,
  94095. 0xcfa5ec91822ac9e9L,0x0dde73c83aea3e81L,0x545ba96266289139L,
  94096. 0xa52f648bca6acbd3L,0xff6f276e98a0683aL,0x2536d3aca378ed52L,
  94097. 0x353c2c54885ac1d9L,0xcaff52da00bc84a7L,0x3971f81c37684167L,
  94098. 0x0f7334e1d2d7986eL },
  94099. { 0xafbb5c836596067eL,0x33e54e1938c19806L,0x8285d96739cb0dccL,
  94100. 0x2b53f43d424035f9L,0x38c531f8dfef9095L,0x90fbe8e4db0f571aL,
  94101. 0x9a0c1ed2a39ca787L,0x2fecc1d6606f2620L,0x9dc890b172b7cb4aL,
  94102. 0xc33ca6fbccbb7868L,0xd1b11082fe73ee49L,0x590b7d17fcb66c48L,
  94103. 0x9356b0a686e14573L,0x75d682c4053ead85L,0xb2ae55fac54d30fbL,
  94104. 0x67636a72f8aee949L } },
  94105. /* 14 */
  94106. { { 0x638063bcb91d6beaL,0xae263a2e923ecb96L,0x9d7b0992c627aca6L,
  94107. 0xc6ed001a77af9e7eL,0x9214accf24aafebbL,0xa3564b9678055a90L,
  94108. 0x00999b1ce027499dL,0xe413a4e1e46a06a5L,0xa05d13f62e51efe7L,
  94109. 0x35e87d349ba843beL,0x0a6338253183159eL,0x6023e8ba54601923L,
  94110. 0x9b107721b7fd1cf2L,0x46b5542bfdf2fd53L,0xb314f4f81c18af38L,
  94111. 0x086f987660ac8965L },
  94112. { 0x767019548cbb9850L,0x6210b730a20d2c8cL,0x4084d0575335670cL,
  94113. 0x3ecdc5950324baeaL,0x607fc5f2c76ee9b4L,0xf393d00f440ffa64L,
  94114. 0xe01117962dc1463cL,0xf00b82519c7725e7L,0x35e607365bd1d186L,
  94115. 0xf3d8554c2cf72aacL,0xb4dd0fdeefa3497dL,0xd712268cf646ad11L,
  94116. 0x07c20afb9f7b8eadL,0x630969d4fc06dfe5L,0x76b7df1c7245549aL,
  94117. 0x681f9403e61ae810L } },
  94118. /* 15 */
  94119. { { 0x7cad5163c9a0623bL,0xdbf8295767fab8d4L,0x2ccab0ec81af7c7cL,
  94120. 0x469e38c8e966d5c2L,0x34430d52f0d4e41cL,0x426075a2a52b359cL,
  94121. 0x242dd3e333bd0127L,0xcda3f6359fed2341L,0x4df33730d7d52ffaL,
  94122. 0x5fff56f07640c3efL,0x4783c21c1bbde57cL,0xd8784a2aeb8bb336L,
  94123. 0x1ec7c533ead08405L,0x4b7f1423f9b62bd4L,0x5543145c7075d4afL,
  94124. 0x0c9de94aba60590aL },
  94125. { 0x8ed7273595d5682bL,0x711c42832ec276edL,0xd1f4aed58b36a0d2L,
  94126. 0x62ab40c48498a88fL,0x58c8fc624480f451L,0x8bc8ca4bb79cffe2L,
  94127. 0x90ab583c701a359dL,0xaee31a733fd5d15dL,0x02a5597bc912333cL,
  94128. 0x1019cae4b6c3e3c2L,0xe513042c29938088L,0x0e00283df47c8199L,
  94129. 0x90d68e58f2a00e92L,0x69e2df41a775ae3bL,0xb8d2eca5871c30b2L,
  94130. 0x733dca0ebb1de396L } },
  94131. /* 16 */
  94132. { { 0xf5b495d04b59213aL,0xca6720398d70200eL,0x4bcb09a62b6771c1L,
  94133. 0x26adeed42b9eb0cbL,0xeb5447548cdba212L,0x0e1abfcdf08890d1L,
  94134. 0x52509963698e46b4L,0xe1bff0b082e9c138L,0xa189e4cd51099a71L,
  94135. 0x2360c9bcc9b91cc7L,0x9bd4d7dc137ec4beL,0xd0356521d1519f6eL,
  94136. 0xbf5f6d78cf832503L,0xe43010318deea2b4L,0xc3132494ef4c319cL,
  94137. 0x2ab3bd470f1fa7d7L },
  94138. { 0x5753b680922c9fbbL,0x869e7dc80f16c6d1L,0x83445135bac16efcL,
  94139. 0x4326a3b4846d1d9bL,0xb517fee3b2d62c21L,0x6905afa20b292ad5L,
  94140. 0x2a57131a2cadac13L,0xcd904d8febdbca8dL,0xdfeda86f3f365fb2L,
  94141. 0x7097b208dc7eaa1cL,0x89a35a84a45e77c0L,0x417a062ccf5d118eL,
  94142. 0x3c0c04a81f6e99e8L,0xc44704b0ba7a087dL,0x6f8a27d13ea22ad2L,
  94143. 0x93a4b4164c27d229L } },
  94144. /* 17 */
  94145. { { 0xd4271bc11f1efb7aL,0xae4e68e633fccc0dL,0x9d9bc8f1b11f50a8L,
  94146. 0x5430398faf076089L,0x45e242fb443d0e03L,0x73ec2519f6e3d4c1L,
  94147. 0xab70f790ba9bad09L,0xde612ad5f9add10fL,0xb837e54e14e942b4L,
  94148. 0x175a56d3ddb8b68aL,0xe85b233c1ac2a408L,0xf8ff6c30f0c80f94L,
  94149. 0x4b7f3fb7898db4f9L,0xa2c6044f45a7dcddL,0xf3abb2f6fe3d3895L,
  94150. 0x342ce0d732ee7763L },
  94151. { 0xeb261394cf491b1fL,0xdcaaeed71909e395L,0xdcc4055a9fe4dbeaL,
  94152. 0x17a6611d493d604dL,0xba445a3a1ce5ebefL,0xe82e2858e3989cb5L,
  94153. 0xb96f428283f58406L,0x99877b99a156cf55L,0xaf906a664e166a0eL,
  94154. 0xcea1d353b2976d13L,0xefc16f2736c61a01L,0xdb04c433b0f55d86L,
  94155. 0x3cb4b2698eb34c01L,0x38d07f782ae60280L,0x43ac3bcb43be3ec5L,
  94156. 0x455f4af3e156fd20L } },
  94157. /* 18 */
  94158. { { 0xc057f262754ec21cL,0x3eacd4c9e3a1ba38L,0x3a0210d1116c1fe9L,
  94159. 0xe4ea4e94eacc8ab6L,0x31c00c9aea6f32caL,0x5cb6239d86b975ceL,
  94160. 0x654d5d8ca14ea1e9L,0x230d31f45067fc8bL,0x48bb90cb6355fecbL,
  94161. 0x78f81ecedc172e8eL,0x288380a8cb006737L,0x19b02e01e162d012L,
  94162. 0x0e087a06c5af145cL,0xf04dc8b7b72dc354L,0xf70ef2148de3c066L,
  94163. 0x4f14824313009fb7L },
  94164. { 0x5e004fce6e2055e2L,0x89e247ea86c32067L,0x4ebcbd955f9daaa2L,
  94165. 0xd15f212fceb7f63bL,0x5ecc5c1f863784a0L,0x53b3800b75760251L,
  94166. 0xeb9301c38a6a2954L,0x0f16ba18a13cdd19L,0x8313d251887c2d24L,
  94167. 0xf99235859a9413f6L,0x423405e6fe3fd7c5L,0x678aeb3416e0ee05L,
  94168. 0x1f3be7bb3fadaab0L,0x7901fa2c82884471L,0xc950db304d662ff6L,
  94169. 0x74d5d2d43c01170bL } },
  94170. /* 19 */
  94171. { { 0xa3002dc02b5bfe11L,0x0733410d52d321e7L,0x15920f659679ba89L,
  94172. 0x0e248c14685b236eL,0x8cfab594346f6040L,0x9f57afb740c717f0L,
  94173. 0x0dbab28c66044576L,0x0fa099689cdc3247L,0x41e02ae2c230ed05L,
  94174. 0x0d961554e45bef74L,0x9688a982ce4d7b6fL,0xfadefac75e62d22eL,
  94175. 0xaf1512a6bd2cba28L,0x78868e62be7c749fL,0x88048d81ae9f5a6bL,
  94176. 0x6b1a5442c5857a29L },
  94177. { 0x9f5ab9ad43242066L,0x0afef1b52ccca2aeL,0xb1b43ec7988edc4eL,
  94178. 0x0d0c00f10341b0d5L,0x4d68b8f7b50aab37L,0x9a8e4e6ff3a64a99L,
  94179. 0x198338fb7f1a684eL,0x8bc0e748351a0f5cL,0x2cacf2cddac44515L,
  94180. 0xc14d39995e9ff76bL,0x54a01b3f16393055L,0x6ac3eea5888d8376L,
  94181. 0xb84d9a9a723277b1L,0x99132691e11dbbbfL,0x597717aeabb67178L,
  94182. 0x4c2135268bb14ac8L } },
  94183. /* 20 */
  94184. { { 0x2e6fe0a695532833L,0xabca228ed626d067L,0x22aef3d9649e73bdL,
  94185. 0x2083a87af03c4c0cL,0xe954e75d35169b45L,0x577509ee74506a89L,
  94186. 0x49cb276e2aeacf90L,0x08275d77fa409f91L,0x61eb6f3df0bbd6b9L,
  94187. 0x948202cbe4132704L,0x35f3fc21b1c498b1L,0x76c68ba8361fee59L,
  94188. 0xa18cbbd950e051f3L,0x2384a879318e7042L,0x292abead80dd1e8bL,
  94189. 0x65713c295c37c334L },
  94190. { 0xdccca8e9ceb77b9aL,0x2f97e72723b69469L,0xc76abee6a01d6b28L,
  94191. 0x3925203d5abecdfeL,0x8944808229290d70L,0xf9931424b0314438L,
  94192. 0x04209df17cd447c3L,0x7c6f2059c855c827L,0xd97d786256c0e069L,
  94193. 0x5a9db6fe412d94c4L,0x19a64591994c41ddL,0x12348aa1c89e21a3L,
  94194. 0xd6904b50c6a03f0eL,0x55c15156a616feacL,0x4e36d1b57cc7693bL,
  94195. 0x6b0e996c3bae3c38L } },
  94196. /* 21 */
  94197. { { 0x32789fabcceced00L,0x3237e71ae5b7aa66L,0x87b2e2692ddebcdfL,
  94198. 0xb7245120b61dad8fL,0xe11e5e48d35f803cL,0xfb4df5d798e50f0dL,
  94199. 0x60ee68b4bcd2ab92L,0x98ab2f5c1ce3363dL,0x15ba39da7cd42647L,
  94200. 0x1a6572eb83f4fb3fL,0x0f77de88e56f08dbL,0x1743761e172562c2L,
  94201. 0xbe349ff88a58f0f4L,0xe04da71b84d1d6e2L,0x368f03429e9ff3b4L,
  94202. 0x4022a205678223f8L },
  94203. { 0x527bbd0583847375L,0x3ae56b623f451af0L,0x6198f24d4b2c7f18L,
  94204. 0xee323f5b4525b98dL,0xa9d8d39a0e0884b5L,0xd005d7f6fb12c776L,
  94205. 0xd71c483e708bc154L,0x8ca6fd28742541bcL,0x0af3dccdf8397ddbL,
  94206. 0xb80d31253eccf243L,0xc743a10858d81b8dL,0x3f48eb2171391f68L,
  94207. 0x493aff8833bb657fL,0x1d15ed6607e47e31L,0x10159b11e08279f6L,
  94208. 0x312179cb24a6a956L } },
  94209. /* 22 */
  94210. { { 0xa94cc3ca07615ac2L,0x85865e64121ad581L,0xae47616fa7986b79L,
  94211. 0x395a40eb9d5e0f1dL,0xa91432643d9457eaL,0x8de6d6a3fa2865d9L,
  94212. 0x0771db961014ae8cL,0x77a7cce6976a87cbL,0xa7de42e1143a0f60L,
  94213. 0xe203cc09d993d934L,0x9201869398ec4c3dL,0xd77546d83a25df4bL,
  94214. 0x0ad9eb4762b02d6bL,0xfaaaf208d05a7189L,0x5238181f431221bbL,
  94215. 0x417d6c78733511eaL },
  94216. { 0x3cbd81b70e91e9a8L,0x73340418c370d6b3L,0x825db10a8eaa2373L,
  94217. 0x8f2b09e46c7d6756L,0xe288ee9b94c33dedL,0xcd8426bb1695e3fbL,
  94218. 0xa6176c86dce9e888L,0x3f4c89226165e362L,0x514e411f6063fb09L,
  94219. 0x6907ac20c8f9e04cL,0xcef7469cdfd2ad61L,0xba30bae48452199aL,
  94220. 0x3068129312ac3462L,0x011be873c92d482dL,0xff4cbf89e8330995L,
  94221. 0x02189d52d1470a0aL } },
  94222. /* 23 */
  94223. { { 0x73e419dd92599c69L,0x5b94221b7fec32caL,0xb2bf9bd209bbfbfdL,
  94224. 0x61ea97a463ed895bL,0x6609146b3f486f79L,0xbd1c7a05fd141a39L,
  94225. 0xc79ec8cf83d64135L,0x7f8fd42f9883507bL,0xafcb53b717b3d027L,
  94226. 0x86658dcd67ca5a21L,0xa6a6c0accd149786L,0x16f3d70e34b95067L,
  94227. 0x371208e3df44958cL,0xd2dd64e6ec280212L,0x33b2c4ab30782c71L,
  94228. 0x7bbf8abd521176faL },
  94229. { 0xbe9e4aafa78b981aL,0x788b4e36304ec828L,0x0c45cf393959dea3L,
  94230. 0x70a9bdd3240b39c7L,0x499cd7dd28383b7dL,0x30690b2e307a1026L,
  94231. 0x2262d598ee92f1b3L,0xc62d77deb4725a48L,0xa16f25bc7bc3aa0eL,
  94232. 0x62dd8b65d15ef7faL,0xd979221d0b96d68fL,0xb92885c3a00f1906L,
  94233. 0xfa476b9beb74c740L,0x217ddbb5c7576222L,0xc2782c305788504fL,
  94234. 0x860d096cf812716bL } },
  94235. /* 24 */
  94236. { { 0xfebc337d4d79bbf9L,0x5d53eab869f74f80L,0xff36a09533104d53L,
  94237. 0x2ab820da196f8b97L,0x961d3d1f75ce6909L,0xb197ec0404683754L,
  94238. 0xa68ce1bf93a6cb9bL,0x503456ffc5f021a3L,0xb50a2db18940ffdbL,
  94239. 0x77c50f8fef004209L,0xd635d17704965875L,0x725766d98bb8770aL,
  94240. 0x8e19b028a078e53eL,0x364d4ccaf9fc8378L,0x1a3df411f0dd39a0L,
  94241. 0x7e80e44203adf920L },
  94242. { 0x4b5f8a57539a1ddfL,0xd248e7aeee486562L,0x1c7b491d816021e1L,
  94243. 0x2e7b871bfd36d2c4L,0xda38b5040aec00d9L,0xf28276126193f1b3L,
  94244. 0x69c3fe86fb1f78d6L,0x56c8b786e827ac33L,0x1687f6c73487c8f7L,
  94245. 0xab8f221719dee5bcL,0x04e8473fff399418L,0xf384c014a9027c80L,
  94246. 0x9967be9aaa1d2e28L,0x869686d3e065eef1L,0x737c6b08c7bd837cL,
  94247. 0x5dcab5d19e8bd863L } },
  94248. /* 25 */
  94249. { { 0x0784283a9a7d772bL,0x6b49e525e540959bL,0x546bb00886414ab5L,
  94250. 0xd44481629d74b2a9L,0x267890ad203b0b1bL,0x1e7a82bcc8d3f86bL,
  94251. 0x1352bfb5d85a83c7L,0xf29f16e3fad07ccfL,0xc02a63b841e0c43fL,
  94252. 0x904f22c56b379fefL,0x19d8a653b1244f26L,0x6635b6df3a28bdeaL,
  94253. 0x18b68851f6d455ceL,0x74ac28189cff3735L,0xad40f9df8b2cbdabL,
  94254. 0x08cc2d9eadc9d498L },
  94255. { 0x2e6a6866c170c84bL,0xbb989e8b5a49a484L,0x7b0e00e0d04c8992L,
  94256. 0x55ad347861b3a423L,0x3c952450b0d01899L,0xe3922155e3100cb3L,
  94257. 0x19265b6ef03276d0L,0x0fe8595a76d42b53L,0x0a96dee0fc6353b6L,
  94258. 0x761e0dc8246f893eL,0x4ec902bef0a74cbaL,0x610086843fdfad9bL,
  94259. 0x5d6a60e44fdb6975L,0x3f53aac87ef7590aL,0xd29e6be012870a37L,
  94260. 0x991fadc155aa55b0L } },
  94261. /* 26 */
  94262. { { 0x82bc4b0fb4844ffeL,0x7392271460f8b871L,0x8ac000e24ce3f1f3L,
  94263. 0xf0d548b4163519ecL,0x7aaf842b88288b5fL,0x9e8b0c4c2bdc9a70L,
  94264. 0xa06d51524ba5fd67L,0xd0b1afa0f93cdec3L,0x280955badf89f8f0L,
  94265. 0x86cbe92deea32c92L,0x0cae3f993fe05be4L,0xf2607095fa6919aaL,
  94266. 0x0f54741e6e0f1b8bL,0x2aed1f7430ecf988L,0x9296f76b734991d7L,
  94267. 0x66cf8d28259f0fe9L },
  94268. { 0x9b01905b226f5868L,0xc102e88c16909e9eL,0x2bd089164a37eb54L,
  94269. 0xf72253e8c9816323L,0x37f84e9d86bac53cL,0x2e352454afeaaaf7L,
  94270. 0x67c86f772ca0046eL,0x86bce50e6663372eL,0xf6a3a960b6950a04L,
  94271. 0x61f994d7fc1aba93L,0x1957c12bc1326e6eL,0x9b658fe42e56b005L,
  94272. 0x9cd297fc8592740cL,0x7654ce9b177f26a5L,0xaaa699dba79d2ebbL,
  94273. 0x5fca0c5a0ecb6448L } },
  94274. /* 27 */
  94275. { { 0xe26e25f3569a6663L,0x09597ee7e6aa4ca7L,0x25a4cda68d18b80cL,
  94276. 0x450602b522926730L,0x9af5f65007387209L,0xfeeedb3426733a53L,
  94277. 0x0f5ce76886572951L,0x872a360b8398ae9aL,0x60347a802b30f6c3L,
  94278. 0xd2113b231a162158L,0x6fd9cf92ee6c6decL,0x85f0a5a85cbcf9e6L,
  94279. 0xd7a5a6e42ba3fe84L,0xaafe672051ecd727L,0xe09c6bb2a2081a10L,
  94280. 0x657acbf0b973b0b4L },
  94281. { 0x3130466fc274c8d4L,0x4276517630a994d1L,0x217258ca7079435fL,
  94282. 0x44850406eb897a06L,0xf38dfeee561ee130L,0x11f4facfaa1778bbL,
  94283. 0x765c6617b9abb9e9L,0xb135499bd8f10932L,0xc0eb6337a73b9159L,
  94284. 0xf2c1ccf16f7e8b6aL,0x5b32c03a187def53L,0x89ad1d49830b9c62L,
  94285. 0x1735eae32f10e538L,0xb1cbd9c29d5f55bcL,0x42428c47e539db0dL,
  94286. 0x3d2da412c852b3bbL } },
  94287. /* 28 */
  94288. { { 0x97702b6e871f2865L,0x56cb639f142920d6L,0x328522a045b58611L,
  94289. 0xf3943ad1f3b13812L,0xe6c2200a712206e8L,0xc2890e5aa34d59eaL,
  94290. 0xab52fd40f6b7f759L,0xf522c8de180bf567L,0x181e97b2accee396L,
  94291. 0xe0375819c4ea5cbbL,0x0d9985e8ab51d3efL,0xe26c96cabcb50fd8L,
  94292. 0xfb9d6b1397e1c80dL,0x582b1814f796357dL,0x89a7822107f4c7fbL,
  94293. 0x02aeef2dc0357e61L },
  94294. { 0x2ba7926f2c7ec9beL,0x292f307e7258b201L,0x74e62a10c6fa6b4aL,
  94295. 0x80c08549e2bcc5abL,0xb4160db87bb8c073L,0xd5ef0529329f194dL,
  94296. 0x0eb8da146dda4a9cL,0x0b5d43d215ea23d1L,0x6cebef02fc34bfaeL,
  94297. 0xacd364d0848757a7L,0xc14013682d34cca3L,0x09ca67421d2d95e2L,
  94298. 0xc3fd1d6e786eaa28L,0x9eb1136da2965fecL,0x48871baac0779203L,
  94299. 0x6b446c014b15aeb0L } },
  94300. /* 29 */
  94301. { { 0xc819eb2e25e8fe80L,0x2b5f790698238a17L,0xd6f1e99681e41849L,
  94302. 0x58ad8ad698ea6d45L,0x5bae5ad4bfd02e40L,0x016dc327a812416dL,
  94303. 0x8b31a985a3347ca1L,0x0b4da61082a65391L,0x1cb91b2db48c35fbL,
  94304. 0x9e96817cd2aaf8c4L,0x1a630483cdfdcdc0L,0x7055936112b69254L,
  94305. 0x5fdcd712f8a2a097L,0x59ab623a35cc5281L,0x30c8ebe0932b6095L,
  94306. 0x8613424bb08e052fL },
  94307. { 0x28902063b2231d8aL,0xb0f62329d9a61667L,0xaafa0fe7071a9f27L,
  94308. 0x6bcd8960603f047eL,0x118cca76fd92a1c3L,0x3414e62b71d483b6L,
  94309. 0xa123ccddba705262L,0x1a576437fd9b5c5aL,0xa5301bc24c8d0fa3L,
  94310. 0x96f0ad44102427cdL,0x0e6fb5e0d3aa6c02L,0xcd8c4880072a3996L,
  94311. 0x4dafca12840d3fadL,0x29f4ca3dde91d541L,0x0037c5988441734dL,
  94312. 0x86333a999ccfe57cL } },
  94313. /* 30 */
  94314. { { 0xd213a751ecf53b40L,0xcff2c6f22f78a542L,0x0f59f0e2f13ae56dL,
  94315. 0x91f8ccbf0e61748eL,0x0aadecb9d72c4145L,0x6b2ed8524c9cdcb7L,
  94316. 0x8e00b72c1eaffc70L,0x89b24285aa728102L,0xaa7ea7e0b679cafaL,
  94317. 0x5d2b8c264f0a6f6fL,0x7ed7b1730e804397L,0x5a93eb45c8573049L,
  94318. 0xc92bf5d40986e93eL,0x526b5a9c6a20c0afL,0x0adf47c9b99dc3afL,
  94319. 0x12b25fe2ba202cc9L },
  94320. { 0x09b8d78a33eea395L,0xc7a93618f633fc5cL,0x7e821629270eceefL,
  94321. 0x524779b8c628ed0cL,0x91db5ca1a1d68939L,0x8626e18e586edc90L,
  94322. 0xfe023e8bfeb3f3bfL,0x6279fde10250171cL,0xe52ec7dc55e172deL,
  94323. 0x445e8695c6d4ca45L,0x42de3878bdbc10f1L,0x2b114de86fc3835eL,
  94324. 0x9faba4567e10b652L,0x4111d82a390e78feL,0x576b61c2aedf0acaL,
  94325. 0x216279a974accb74L } },
  94326. /* 31 */
  94327. { { 0xc14cdabf4047f747L,0x03ca233dc1315a1eL,0x59e7cbd340e5d0a7L,
  94328. 0x1fd0c4e9bb413869L,0x189d08b10f01fbd8L,0x50449c42a76b823dL,
  94329. 0x81c224a1398b00a1L,0x08084e4f8e8179e4L,0xfd8af994698e41e9L,
  94330. 0x1e30e37c5610bf2eL,0x4e6a043fa7d2790fL,0x9d96e60cb3195388L,
  94331. 0xe75f986d03799dfdL,0x3b4a8f11f8ff902fL,0xfa9453787588416eL,
  94332. 0x20683e3f9827535eL },
  94333. { 0xcb582e26d0378878L,0x9e214c23a7945787L,0x13d000bf8f6688b3L,
  94334. 0x7548d4f540515270L,0x7113c15d40111f5dL,0x3bf5a526a8bff902L,
  94335. 0xbda6b0109b4945ccL,0x83dcc74ebc2f3a05L,0x2aef628443efdfa1L,
  94336. 0xd2e60ee9565c5bf4L,0x4f0fa10d592f243aL,0x6ae58b321bc3bf51L,
  94337. 0x813b086860576a74L,0x0bc023f84d73081aL,0x9fd03aa032dcee59L,
  94338. 0x5e416bf527d6c795L } },
  94339. /* 32 */
  94340. { { 0x24313760026cc23cL,0xf819aaeeb5b29058L,0xa92272f8c5d2ee17L,
  94341. 0x8048e7cbee5cc402L,0xdbc7d6ee77def07dL,0x61d69244f6af821eL,
  94342. 0x5f7966ed996cbb89L,0xf81b17ea96a155a4L,0xb2d9ef7003f3ed56L,
  94343. 0x5e6e5906e882a5b2L,0x86fa1072ae947180L,0x34d9fc51658c76f4L,
  94344. 0x9f603dc0cb035aa0L,0xb7b39feb75be6481L,0xca87554acf04a9efL,
  94345. 0x4ff682ec87b4fde3L },
  94346. { 0x3125627fd0a10ad5L,0x7fd45c72968e6f45L,0x2981bd6b806a1163L,
  94347. 0xb92de1cdde5033e3L,0x3b44b45ebf4f8988L,0xca1b9896dae7e1dcL,
  94348. 0x52166e5a0778d878L,0x82d472bea5116847L,0xfbdd382af2895445L,
  94349. 0x22ed16025d6ec4c9L,0x3614eb1cb6552b02L,0x63c5df73a1e6210fL,
  94350. 0xe9160285021a74a7L,0xa44ca400c65cbd4dL,0x48cb187e0f15e299L,
  94351. 0x51eb818e3402507cL } },
  94352. /* 33 */
  94353. { { 0x1fc1d178b92100abL,0xdf2e3d609605b839L,0x12a7c255b71e59d0L,
  94354. 0x3f8b667514fcbe04L,0x0e8a393559fd06afL,0x5632650212020d07L,
  94355. 0x6696fcd1528e7be5L,0x6588514b0c7b7654L,0x0cd80f8c5912a5b5L,
  94356. 0x8bafef04f324cb7fL,0x6b53eecfc6da3d75L,0xedef48d831d1df2fL,
  94357. 0xf336b96573812b6dL,0xc82eae4aee626031L,0x300abd32d244f09bL,
  94358. 0x8b0af95531d9647fL },
  94359. { 0xb770180a2e603544L,0x2b573ac3221acd9eL,0x3a17f66562407032L,
  94360. 0xad3e74adb89abc3dL,0x8a3d2e3ad793225aL,0x457bba04ef02564bL,
  94361. 0x8875652ffc2dd2b5L,0xd2905d15e67143e8L,0x6d884b4202e48d70L,
  94362. 0x06f99219c7636a57L,0xa8dc342135e378dfL,0x95c1d73d10c64a02L,
  94363. 0xcd6a4ececc157a66L,0xbadcc1c88e24a354L,0x8024f1b29839329dL,
  94364. 0x5363e5494da48ad0L } },
  94365. /* 34 */
  94366. { { 0x1f5523b7e23fc641L,0xfe54e72f86667063L,0x294a15f58e009d2fL,
  94367. 0xf203997f8c57f5e1L,0xa229724cb16d64dcL,0x697be4fd4baa2ffbL,
  94368. 0x3f507e460a6e8ed6L,0x0afe3a5d78508536L,0xeeef6cdd95408208L,
  94369. 0x701fd889f2c4237cL,0x496d883a5c385253L,0xe25c67ed72a212f1L,
  94370. 0x4b4167831ff78fcdL,0xe9967004c16f4146L,0xfa45c3a1c45b0697L,
  94371. 0x633340183fbd30c3L },
  94372. { 0x39c9a0cca2fbbbceL,0x876f6e5caa0cb744L,0x9ce6010e3438ece3L,
  94373. 0x0aad148e13802d82L,0x9c3e5c609cd45a1bL,0x875cb8597bcfc1e0L,
  94374. 0xb19ff790d8584dd0L,0x2598b81ed81c2a2bL,0x118bdf2f02be07e3L,
  94375. 0x074fc8eeb9765ce9L,0x125e9d88b24f95aeL,0x3bb12cdc0c98f09dL,
  94376. 0x4a6aee07a0b74b27L,0x4723d2f9c08077ceL,0x959447d6bea8026fL,
  94377. 0x93a7075c16280b73L } },
  94378. /* 35 */
  94379. { { 0x26bbefe2715b27f9L,0xa935a5e22a280923L,0x5ddf23affd58a26aL,
  94380. 0x54c83e167c138694L,0x44799bc9892a2153L,0x4e6e47109b8d09f5L,
  94381. 0xc63af616d588ea68L,0x5e896706883ab1b6L,0x3c1393a03d209336L,
  94382. 0xd02f292192c23ddaL,0xab70cb7adcf6ea43L,0x12434ea8791559e1L,
  94383. 0x040680db6d70ff0bL,0x1a10fe522832ba45L,0xd69f9c08e5f0cb8fL,
  94384. 0x1a7422ac44b141fdL },
  94385. { 0xc3a9dd2e9f40b675L,0x2a7c6603fcc71f39L,0x18939a611948e342L,
  94386. 0x8f3b6158ed0ab484L,0xa3aa7d97ee31ca6bL,0xbc1e865ef7a8db63L,
  94387. 0x315f8c092c7c62e4L,0xa260788f9f5c6d0fL,0xb18331294b6f3ec5L,
  94388. 0x73adbcd636b4d849L,0x66e14890bc699a9bL,0xbf3790d82a1175e7L,
  94389. 0x7f43605afc53ca4fL,0x577f6c4787ff6091L,0x827c7552600c82b6L,
  94390. 0x0944d6309d25599cL } },
  94391. /* 36 */
  94392. { { 0xcfdeb63ee6ab9620L,0xdff4fa6d786cd808L,0x145edd82456320b3L,
  94393. 0x2ae5f862c4943915L,0x9508e813b73b3f87L,0x3bd805f3e52f97a9L,
  94394. 0xf71b5c28c9829b62L,0xb394c70e86e0cefcL,0x534fb1a923bdb36eL,
  94395. 0xd64f5862dbe27e5aL,0xbae23df383ab6169L,0xdd6df1b127c828cbL,
  94396. 0x1901899f3a307a8aL,0x36cc8659811ddf66L,0xa3cb777479943b77L,
  94397. 0x7d89f3836fd86576L },
  94398. { 0xf8564242c9f92b2bL,0x700c6a75c46e32bdL,0x93e768b77f99a5c5L,
  94399. 0xb6efe85803149568L,0xbbfe8a19c2ce6709L,0x721a3b1bee6ec493L,
  94400. 0x26eeeea9c371c28dL,0xd798115e15177e1dL,0xd7bf3bceb068a5a5L,
  94401. 0xdf8da22046d2b4b2L,0x3df0995b59be9dfcL,0xc96897bc77640b79L,
  94402. 0xce0cf4c25a2bd3c5L,0x16f45d6e89afe744L,0xb53f3acb3a8509bbL,
  94403. 0x449af81f63f2a6e6L } },
  94404. /* 37 */
  94405. { { 0xc2fcf132a16d9377L,0x9ab377b37e1a2f9eL,0x72e1a12e86d19ae5L,
  94406. 0xd2b12e66d013bbb1L,0x0972e055cb5f66baL,0xd11de1c0399eab50L,
  94407. 0xc1f314fdc65f5ec2L,0xfc3118418a9ff593L,0xdf73c1ece05246e6L,
  94408. 0xc28d13631625056dL,0x30a9dbd76fb25e19L,0x049ed244845cd2d7L,
  94409. 0xc779b83fd36e852dL,0x85a35fc7f68c8a83L,0x299bf1e1c95e8033L,
  94410. 0x0e8617c320891af5L },
  94411. { 0x5372060267c81b5cL,0x2fa89dcde737873cL,0x2a7430b0a8144fd0L,
  94412. 0x3006c5a726208c83L,0x4e066660d8ea40f5L,0x9dd025f9896413a4L,
  94413. 0xbdf380cc46b9149fL,0x801566190a125cc2L,0x04d6a3b752793c37L,
  94414. 0xb60013746b7a62f2L,0xa9cfe268585d5978L,0xdcad0cb88395fe66L,
  94415. 0xbab468fc46b261f6L,0xca0ef5ef9d9d9218L,0xc507d4a85e452402L,
  94416. 0x6f4404f1326cf687L } },
  94417. /* 38 */
  94418. { { 0xa3e1920b4febd3ffL,0xca6234d8fdfd2bbaL,0xb7d1af2ae19a9829L,
  94419. 0x23de1610c6f5bc20L,0xe204dbf3daa39ca9L,0x2a2de9b86d8c70abL,
  94420. 0x272e0c377c9d370bL,0x80914c06e565510eL,0xb611e7a857cbb6b0L,
  94421. 0x076fc6efd8266a6eL,0xdfac34ee3095801cL,0x69ff40a2b9e24063L,
  94422. 0xa7ba31a9787aa5c5L,0x0e4d1fdf33c70cd2L,0x903e31326895f074L,
  94423. 0x905771f87fb671e2L },
  94424. { 0x5199ba0da4062beeL,0x18e7238c94d7d9f9L,0xf53f29bc1e0922c0L,
  94425. 0xde9b2a81b12d855fL,0x649f3eed6d68ca29L,0x64adfc34c50c097fL,
  94426. 0x81964ab99db398a0L,0x00d59c477a587224L,0x09fea39674c5903aL,
  94427. 0x6aafd8ee15043dd0L,0xc5721a6e5f1ecc20L,0xb6d6a4830db9b7b4L,
  94428. 0x06ffc61766c8d52aL,0x3de241d6acc82a27L,0x0605f05227f2f7a8L,
  94429. 0x6a22953b6404deccL } },
  94430. /* 39 */
  94431. { { 0x92452d8f74fce389L,0x059634c02afa5564L,0x9377ccbbf0ed7825L,
  94432. 0x89f4045b37718e0dL,0x11074e7d9fa69a4dL,0x5d70bb077295b0baL,
  94433. 0xb22d54adf107ede6L,0x5c39a3d8a1a29c7bL,0x37236c02d795e3abL,
  94434. 0xf7282d002b589951L,0x5e2265be5790bee2L,0x91e0ea11a8e65ea2L,
  94435. 0x0e71a7086001cebdL,0x16900f5a2c1c5402L,0xc3b2d5c0357f6981L,
  94436. 0x528c9ea0619e3427L },
  94437. { 0x1edc86b45f26c577L,0xf80747089438bd45L,0x2dfe1013792582a7L,
  94438. 0xe08eaca0de1e569fL,0x5f952efa9a55a356L,0xa4d80b53e4976216L,
  94439. 0xd2b65855cd5d71f2L,0x246704bf66cea3f0L,0x193f641f492323caL,
  94440. 0xa681855c9adb1325L,0x86d522ce2d19d652L,0x53609f105b82ed7bL,
  94441. 0x3b0f00948e150d29L,0x23ad8bfb0b13e891L,0xcbb1556cf794b449L,
  94442. 0x200f9093738bcf57L } },
  94443. /* 40 */
  94444. { { 0xf9b22fc58388387fL,0xcf26f17028e883c5L,0x447cab90d1b7973cL,
  94445. 0x8d5d4ea2f6ec9171L,0x2e16f498c30cdbc0L,0xdc92910c48623c2bL,
  94446. 0xeb1491b030dbc545L,0x631deb2e14de21b0L,0x04a210662fe830f4L,
  94447. 0xa4c6979c379c1f3fL,0x8a732b68fb06a795L,0x3a44327a1619dfa9L,
  94448. 0x91a307d38dbe2c9bL,0x939bc8d203989feaL,0x3daabaf20f4a331fL,
  94449. 0x5c307e98dd0f55dcL },
  94450. { 0xbbc4e0c435b233daL,0xe3d2908522f6f985L,0x99dd2d21a8b02468L,
  94451. 0x978f40e9a96916e7L,0x0327d86c614bccedL,0x95e95502b290762cL,
  94452. 0x0ffd2197a879f2edL,0xc436513750e0bd33L,0x26c3148a0827c4c4L,
  94453. 0xc79812a83fcfc0b2L,0xc3d8d17e31928589L,0x8b572cfe8830f42dL,
  94454. 0x7cd9ff924b07f83fL,0x331ca9500a51148fL,0xd0c539684c59f9acL,
  94455. 0x1df16dfac1434785L } },
  94456. /* 41 */
  94457. { { 0xcc7bb4ac68bcacc3L,0x06ded34f430f58cfL,0xc59f9f4fd461855aL,
  94458. 0xf549199445c9f0bcL,0xdc5f7ec64375c892L,0x1b8708f13c85983aL,
  94459. 0xb32a5cc482fcd087L,0xefdcdc352d6b4c0fL,0x4bb24f048ac6fb2dL,
  94460. 0x5982d4f533906471L,0x162eb52fb83a3ac4L,0x7130df282337a223L,
  94461. 0xdce7b802cbc3dbd3L,0x8b3959592467ac0eL,0x21d3d2e81b56717eL,
  94462. 0x729a7f5046512617L },
  94463. { 0x874ed1aa8420f90aL,0x6368e19e0fe4c855L,0xb62d4aaab0be74afL,
  94464. 0x76fcc4808ca60ca9L,0xf310b5a57645a867L,0x131bac9bddb1b24cL,
  94465. 0xef77d71d2dea5b44L,0x4706d21072fcc64eL,0x29b92691673d77f0L,
  94466. 0x22e00bf3e89e0663L,0x472d0cd374077d40L,0x3e21040d829232e2L,
  94467. 0x2f916dfb38dc8533L,0x48bbb59b14b8f667L,0x19de9f4ad44be19dL,
  94468. 0x7f6d3649232d9d5cL } },
  94469. /* 42 */
  94470. { { 0x3bd064de6e794819L,0x5a6b694ef82ebda1L,0x1f017fe0b91e2804L,
  94471. 0x190d31f307a43cd2L,0x6c26f226630433e9L,0xba488aa70abfdcb4L,
  94472. 0x418d9085a46411c0L,0x1b934fe6bffb5880L,0x75d1e237e200f849L,
  94473. 0xdf04d63fa55413dbL,0xe216ed75e23b3f77L,0xa05866cb0f91bd30L,
  94474. 0x84c395d97729c509L,0xec97e188452ab2d7L,0x8cb7c1f90093d686L,
  94475. 0x2d032395628f086cL },
  94476. { 0xa81c94074a44b4c5L,0xb9846879cc702c98L,0xcb502287ceb0dc97L,
  94477. 0x303011266e3aa321L,0xc0ac8763e4c256c2L,0x65034d20e55b4845L,
  94478. 0xaa96a040f240f35bL,0x046d26d37cf7eedcL,0x62a5a8e13b810656L,
  94479. 0x86044b9783d70c2bL,0x2fbaff8859e4da8fL,0x929d901a5457f5d1L,
  94480. 0xd29e1eb2b531b757L,0x214dabdc9e4e9739L,0x5bd724fc4eaa9bd9L,
  94481. 0x734c12b31ef9bb9bL } },
  94482. /* 43 */
  94483. { { 0x98fe3c2e92f9b086L,0x4641b93eb3fd4544L,0x47ce208b5c02c65cL,
  94484. 0x8a52dca1c4f03242L,0xb5ec17d9679d29f6L,0x11d2fed09406f5f4L,
  94485. 0x260f63dc0d9ba811L,0xde2b056f15472a3fL,0x1b170d9f007290e6L,
  94486. 0xa2e23e8db6b5c8f9L,0x345a2839cf34c3eeL,0x9bdc54611b973ee2L,
  94487. 0x65bda6c2bb24d1c5L,0x97d52ba33c6141a1L,0x47bb16129d2eb201L,
  94488. 0x7c558a8721fbe49fL },
  94489. { 0xb9485a523f350fecL,0x016678c56a38d4c0L,0x8ef346a20d5aa64dL,
  94490. 0xb85daa02d96da2e4L,0x845ec4ea4f647b3cL,0xc0d1a6ca0d5e946cL,
  94491. 0x41d8d1c14fa9f4abL,0x43972cc59c8b1303L,0x67e1f48d434ffbfbL,
  94492. 0x350ce93a819d2318L,0x49f530906ddef23fL,0x3c2e6cf9200cf12cL,
  94493. 0x42691cc1640432fcL,0xbfff74b472496b52L,0x44527c9f020a97beL,
  94494. 0x34cd7dca7b3c4348L } },
  94495. /* 44 */
  94496. { { 0xf031761a59e7fe87L,0xb1eae31a0047cd72L,0x27902e68fae30f62L,
  94497. 0xa666f48db71db143L,0x75ee66780e0038f4L,0x3b45ac6702bdd76dL,
  94498. 0x0d2fb828a0d6cd5cL,0x27ce7f1d9d8c5b11L,0x141fe0e4120b5e96L,
  94499. 0x95a1b984b9267c37L,0x5206e589d60312cdL,0x1867342eda549356L,
  94500. 0x374520b9070c74acL,0x2703cbb59557b0b3L,0xf621f59ca6ed8c14L,
  94501. 0x7ceb1cc2abf7b887L },
  94502. { 0x0647a5bbdb7fd65bL,0xd8d45cc036c9457cL,0xc6da99db9e12718aL,
  94503. 0xed1dbbf4e93a7fb1L,0x4512c95cbd1566a1L,0x4861ba00dbc0c919L,
  94504. 0x3c6cc2989e7f5269L,0x671961500941aaaeL,0xbfcf5d0fc8c538e3L,
  94505. 0xad6e9929a25a551fL,0x9071098517ca0f26L,0x743b78eafa89ef7eL,
  94506. 0x39d5ea3171ab4549L,0x7442f3f3e6d1c36dL,0x25a683e0059d568dL,
  94507. 0x1f629a99227ced5cL } },
  94508. /* 45 */
  94509. { { 0x8925ddace45a1c3eL,0x72d2936541f7545fL,0x45622fcb37e7f828L,
  94510. 0x882345133e4c79d2L,0x5dffaf849c2645d6L,0x3078f4dd994802b9L,
  94511. 0x566927f09d339fa0L,0x9a500a1e9fd91dccL,0xce0081800ab0abd7L,
  94512. 0xd97135a38194e5dfL,0x9e87630798adf088L,0x3baf01b89a45a2a7L,
  94513. 0x6fed6154788b4399L,0x980e5722e77a997dL,0xaac90ffa2a378eedL,
  94514. 0x4a75fda28bd805a2L },
  94515. { 0xd09a8fbb55e74cbcL,0x737738cefab18f25L,0x0fc23ad69764ec3aL,
  94516. 0xc5a7d35be7e0ad31L,0xe75e068ee481cc9bL,0xf0c2ea993d4aec34L,
  94517. 0xf1324fe80d4a63c4L,0x5dbb7c1699b0592cL,0x442d674da7e0f46bL,
  94518. 0x5a5d66c7a300faeaL,0xe83dc8213333ac83L,0x70ef812e8c408496L,
  94519. 0x96e1dcb699ef5fc1L,0x6e2b771b1734e862L,0x04629cdc583507d8L,
  94520. 0x5819f9ae23d8179aL } },
  94521. /* 46 */
  94522. { { 0xd99691216aa78811L,0xf64ee8f42103e7c3L,0xddf0107022b9e698L,
  94523. 0xe6001f9e4f582cdeL,0x24a608af2ecfac1aL,0x6ef4c78406393009L,
  94524. 0x5262eae6ebf72911L,0xddbd0af58c4ee5a0L,0x875aff90ecd87bc7L,
  94525. 0x2fddb34c6f24f114L,0x48104281e865f172L,0x95692426886c1b9aL,
  94526. 0x6f5f32089ef4231fL,0xaf587acfd0a7e82eL,0xd65719179ac395c8L,
  94527. 0x7459603c1364a750L },
  94528. { 0x1c2475bff41ae519L,0x34401fb14af8f251L,0x70ddfcd2aefb2c3dL,
  94529. 0x9b2d385b51cdaf08L,0x8531c2568208bb19L,0x16c89df64c33f3f6L,
  94530. 0xc23cfa9924571769L,0x2339b51e86d010baL,0x08db0e8d22638313L,
  94531. 0xf769e17900fedeb7L,0x3fd96dcba3687ef1L,0xcd046b2391476475L,
  94532. 0xf3ff20640c45c8ddL,0xefd167bdb8343d78L,0x493ccb6d4b77ee90L,
  94533. 0x33025513b3cf7b45L } },
  94534. /* 47 */
  94535. { { 0x36f0046935eaaca1L,0x0c384b7589119102L,0xcb375665e6d2954cL,
  94536. 0xcb9199b9b1e9d6d7L,0x75852349c29c2757L,0x89cbd1bab8e738d0L,
  94537. 0x9b8dbe905923a427L,0xa237793e18fe1889L,0xa4271757a742e083L,
  94538. 0x8c4979d24eebd613L,0x40325054d4f2cf77L,0xa3b8a091958705deL,
  94539. 0x1b191bd933d999baL,0xbafefba43b0fee1eL,0xb3bad1843facdf14L,
  94540. 0x9328adb04387561cL },
  94541. { 0xabe84e80f906b872L,0x705523a078262665L,0xd89c6a7e3398ccf7L,
  94542. 0x2fab551df55b5323L,0xa0578eca0554dea8L,0xef26523d375589cdL,
  94543. 0xd8fd6242864ad750L,0x93f27fc5178fe1feL,0x7b3e6f309df87422L,
  94544. 0x2862e49e3750d054L,0x7d90c6b25dc038a1L,0xc1a1ae2284db682bL,
  94545. 0x47f3dab79881930aL,0x30e6bd52baf3e0a4L,0x0680025bf62d25c5L,
  94546. 0x0aa1f3cfadd0d5e7L } },
  94547. /* 48 */
  94548. { { 0xa982219022a10453L,0xdd1eb91c2a03a10bL,0xafbb5d9596646f3bL,
  94549. 0xa58de344f38b6fc6L,0xce47c3e5b8cfca1dL,0xfcd8e16d0f70da04L,
  94550. 0xac44349bda262ed6L,0x9320d87bc56e2f8eL,0x9ce3ea0819138e58L,
  94551. 0xa5862dffa2b236c0L,0x6b0f9a5c8e7efb0dL,0x4b53432b16ac78ebL,
  94552. 0x6ff43105709b51afL,0x08e236f88f519628L,0x1f93f176eed403adL,
  94553. 0x559337e09636545eL },
  94554. { 0x30ddf738d8fd807aL,0xf4e0ec9dab131222L,0x14a2f4db625afbc3L,
  94555. 0xd5b706049f12f895L,0xb46f3c23ac3044fdL,0x1b232d1ff540148fL,
  94556. 0x61b458f539b4e554L,0xf694b24a0dd70b75L,0x0fc64299289581d9L,
  94557. 0xc05d49beee5fe22dL,0x7af3447f6a18bf63L,0xe96a1dc27f1929d6L,
  94558. 0x6afe6028c1551e8cL,0x27dacaf32b5d4fa2L,0x4a1631bc545c2cb4L,
  94559. 0x930070f9b0c914d3L } },
  94560. /* 49 */
  94561. { { 0xd2f32c5e69a9bc05L,0x0a5c19c6589c4b73L,0x095c9e5e94665f9cL,
  94562. 0x8ab0f293bcfb4c39L,0xb90708771ddb7c31L,0x894e965866b38048L,
  94563. 0xf19a90cf606bd9bdL,0xcc1d58dfb6fd2d69L,0x886dcc4e461d8a69L,
  94564. 0xc455c277f9ce4831L,0x749a5996765f8a82L,0x2ffc668cc3badc8dL,
  94565. 0x380183969112cdabL,0xa98795c3b243c7cbL,0x8775f310010a2224L,
  94566. 0x043a2141587b5e14L },
  94567. { 0x7bbe9dbc3a873752L,0xee1493f42f442feeL,0x981ca2c8c18c2181L,
  94568. 0x00ce3090e29769e7L,0xb4626ac8de768c5fL,0x33e9ce4634d7677eL,
  94569. 0xf89c2cade0fa94e6L,0x04f5cc1141f5b5bfL,0x2565f7362228c12cL,
  94570. 0xf1bf706a0c05cce5L,0x5d07ffffbe487c4fL,0x3ec43c09a499f1a4L,
  94571. 0x4f4e79bb98d94800L,0x8a335a16073f12f8L,0x4bb5eaf70f970d6dL,
  94572. 0x18d0747bf24d0ae8L } },
  94573. /* 50 */
  94574. { { 0x58d3c77c84601fafL,0xc9465be2af1c1f72L,0xff626798d116d806L,
  94575. 0x3996c0c6d5b0d93cL,0x2fa1ad755ec6723aL,0x966a814403ba5349L,
  94576. 0xdc4c94222ac34d8aL,0xddf471deed675865L,0xd8aca597953d528fL,
  94577. 0xb2e463b524ebf67dL,0x258248717e25b4d3L,0x23c5adba43159daaL,
  94578. 0x5458f9c683357540L,0xcf685da7f938b1a6L,0x981a4fdacefed231L,
  94579. 0x711093ed08bb5e59L },
  94580. { 0x12aa3fc6401f161aL,0xf7358560974c5e87L,0x4aa252fb17b5df82L,
  94581. 0xb0b82b07a48e6299L,0x0023415729dd847dL,0xf1e54d004529c5a6L,
  94582. 0xcc1c539e6d98f538L,0x36162b5328d3abcbL,0x75a379382a84f0cdL,
  94583. 0xf717a81b4dee7484L,0x16cf35fb4c23bf1bL,0x7fd1c29f787e8b3eL,
  94584. 0xb7da7e6859b79ab0L,0x072100a085f6c60bL,0x31840159e7ed48b5L,
  94585. 0x17898bda4d9c97d4L } },
  94586. /* 51 */
  94587. { { 0xcd8483d8ae1b8cf8L,0x323d4b42e9a28856L,0x7633584f204a4bc2L,
  94588. 0x4e0b2228ca7a69faL,0x8afbda8bf757bab2L,0x85b240886cc5f9caL,
  94589. 0x47fb4813d41a95c3L,0x3f1bc53cc2aabe6bL,0xf22cda3f1ad1599dL,
  94590. 0x1b2ec081c31ea9b1L,0x048f304b01614ac1L,0xce31cee9c6afa7abL,
  94591. 0x55af76334140dc3dL,0x84b7ab37dce8abbaL,0x50de7648c7cf3efeL,
  94592. 0x73a88dcf15356ab2L },
  94593. { 0x3f86828806e83b39L,0x477a44139f44037dL,0xf9058b0f17dbc841L,
  94594. 0x2db64f4f54d17549L,0xa23cea6af2307ffeL,0x393efd554f126261L,
  94595. 0x2f4e658a10f37f26L,0xa4437ce3f4ee1e35L,0x64ef42a7a93cde8bL,
  94596. 0x1debc9f4939aa901L,0x44223d6a3d7b5cd4L,0x789a6a11f88a3accL,
  94597. 0x56fb9df82c608a2dL,0xe79db8e3bbf56c06L,0x73c56af2668fa300L,
  94598. 0x52f32b17ae396a1eL } },
  94599. /* 52 */
  94600. { { 0x56f524c1e714f71aL,0xc1be12629add8519L,0xad9189d865cadbe3L,
  94601. 0xd88bf5c85a0fb649L,0x9efa6a9221d192d9L,0xe3fe83896f724b6fL,
  94602. 0xec3fae24b250119cL,0x4b6af9f62ae0d3c0L,0x8fceba0bd619624dL,
  94603. 0x7dc3092b2fdb6e3aL,0xc91da3763263cd29L,0x30c0761ef95c43bdL,
  94604. 0x89136400cdeb44d9L,0xfd7dce8443c0d31dL,0x78fec3b19871899fL,
  94605. 0x79e14d28efdf58c1L },
  94606. { 0xe38222359bb40c55L,0x0a27202d0ed07a42L,0x48e6c1a94838c1f4L,
  94607. 0x2b5f24a7d864a78eL,0x7e7f140a0c6c55c9L,0xe62c104ace12d508L,
  94608. 0x9b0a1a7ec11b1e10L,0xfd8a275fafbb3dd5L,0xdff354fe9a3b6b30L,
  94609. 0x5a105d9e46602a01L,0x3d371b4d93bb65f7L,0xda5cbf0b0f82fdebL,
  94610. 0x4601229bde468545L,0x505e10b9c73d517eL,0x77cfa541672ff492L,
  94611. 0x0d8ec28a99566ce2L } },
  94612. /* 53 */
  94613. { { 0x014cf73ecbeee995L,0xb2eb88bcd491e80cL,0x615a6cadd9aba5d4L,
  94614. 0x2f7d46339304c84dL,0xba0501d28ab03c9aL,0xc8f723de91babb94L,
  94615. 0xc885f97750405772L,0xb5e1d2b3c7fcb094L,0x61ee7995df96c71aL,
  94616. 0xb8c8daab3464499eL,0xdb425ddd5f607932L,0x70251ca1b1243587L,
  94617. 0x26d7d3be9fc74340L,0x8c179310c902ac89L,0x72522c154559a74fL,
  94618. 0x86001e27c3734afcL },
  94619. { 0x13b00ba5e7693947L,0x6478641e012c062bL,0xe1a438e0e85490a8L,
  94620. 0x5173dbbfd9574d5eL,0x9532eb8c9bd3ba61L,0x1f41bcb85f3ea075L,
  94621. 0xac1cc2478cbb92b9L,0x0f34648e1ef901b4L,0xdd929d1ed2b3b2eeL,
  94622. 0x470f1eabc3d75bfcL,0x5cdbc6f7139cf4d2L,0xcd86454df0424953L,
  94623. 0x1e07981247fcb383L,0xb9f209b417df930cL,0x4225fc31114ebc00L,
  94624. 0x020591cb347946c1L } },
  94625. /* 54 */
  94626. { { 0xe3003721275e0af4L,0x721141efe78a4a4bL,0x666cfcf6d1757485L,
  94627. 0x5fa1d737168e659eL,0x263e3e540e2842eeL,0xadecc3d4948bd5f6L,
  94628. 0x019de03d246b104aL,0xf8a9e903f343d818L,0xcb57ba4a5b0c0d31L,
  94629. 0x8246c50651e2765fL,0x80c5751f6519bf67L,0x5f05c200f2119a01L,
  94630. 0x7e6487b87821d4f4L,0x262f94aa261c3a06L,0x56cfe48972146052L,
  94631. 0x5119985fa1df05efL },
  94632. { 0x5819497db18586c0L,0x004415d6c6eeaa62L,0x7c6a46b697cda28bL,
  94633. 0x9a149b287c194594L,0xb56369fa4ed3a506L,0x7092aa6643c94cb4L,
  94634. 0x55bce73aa9e9eee2L,0x34bb287077893509L,0x8af95fb006eb5326L,
  94635. 0x87cd03239638f485L,0x293762685ba75bf8L,0xf32d6f3d9d42d581L,
  94636. 0xa4cad57465c6d64dL,0x985f50fbb2cded41L,0xcf34ce0e9006a067L,
  94637. 0x59eaf26558a57f9aL } },
  94638. /* 55 */
  94639. { { 0x7b407efb6ec3876fL,0x780c6123f0f48648L,0x2abb56ffbf893039L,
  94640. 0x9592eaa045a91ab0L,0xce5b84d778811b82L,0x86a71a341f9f3fc9L,
  94641. 0xc17fdd86f0e7e13bL,0x88ed8297655a0880L,0x75d6dc7481d5e666L,
  94642. 0xeffc9df61d171797L,0x36ad4c8de3f79e1fL,0xdb15317d2046192eL,
  94643. 0x78c9fa7a274fda62L,0x04ec924f82dd9914L,0x059d1e383a64971cL,
  94644. 0x3b4450ea2620bbfbL },
  94645. { 0x3db7a955c776dcdbL,0x35c4a57c81c8ba47L,0xae285003505760fbL,
  94646. 0xe3e80691b3aec353L,0x380335be47117be5L,0xe1c47e3a056ccf61L,
  94647. 0x253cfdeb33977916L,0x3decdfbaf5cb7ee1L,0xf3c9794f7cf4b704L,
  94648. 0x2401680c9ff81462L,0x4e440e11be3daa9fL,0xc5d0437769f91d8aL,
  94649. 0x4106c7a8cb5e9c5dL,0x191909a133b7d24dL,0xe893c8383764b4a2L,
  94650. 0x4a7fe30cc429b614L } },
  94651. /* 56 */
  94652. { { 0xe78f3a702455c7c5L,0x5b7636e870157754L,0xf32c45247623262cL,
  94653. 0x2c98b11e1bc780c7L,0xd48eaeac915ed877L,0xbb04d3c0199265f4L,
  94654. 0x6b52b19bcfa5200fL,0xc46a098193ea3fe8L,0xd82c733dba758059L,
  94655. 0xd324bbd61896aaccL,0xac09a2fcce8ecd51L,0x529918fd02fc44b3L,
  94656. 0xf0c45e4aaaa1784bL,0x35626340fe22085cL,0x53cbb676c50c7d61L,
  94657. 0x83fa1ea365126b23L },
  94658. { 0x60ac86da10ccc646L,0x2ce0637f7b0451e9L,0xbbbcf6308a088610L,
  94659. 0x23c1901920349982L,0x707fc39cfc0bcda0L,0x7f4d1f151bd4fd7dL,
  94660. 0xd6a64e7444713bbbL,0x57bdc676c5ac9e60L,0x456c530337b61169L,
  94661. 0xd3451396dcf40a1dL,0xf3edec254997d2c7L,0x534ae9a4c2c4a739L,
  94662. 0x1401397e6a6ad2e2L,0x20769d4d23e95f81L,0xcee007c6de98fabfL,
  94663. 0x61409779931c51e0L } },
  94664. /* 57 */
  94665. { { 0x3ddb32db15156623L,0x68137fbcab7a67c2L,0x26011f506f19e3c2L,
  94666. 0x34218b0289924c61L,0x492a0b0fc6804c1cL,0xd65be706afaae6a7L,
  94667. 0x3b13d23e0d01be61L,0x44545b47f87f4c69L,0xd42236e204dc1aa3L,
  94668. 0x6135261d3c5161ecL,0x1eb46a63bd88bc07L,0x78c6d8361599d720L,
  94669. 0xf6955fe169baf0f3L,0x467eebd617072820L,0x2f1b8a2a3e3a340aL,
  94670. 0x636dac762d0b5f88L },
  94671. { 0x94280db9b4c80af3L,0x9a189cd14e3892abL,0x26e702e0d1477ddcL,
  94672. 0xe91aee3868f9f14fL,0x2864f63a80baa0b2L,0xacd81f738b714a29L,
  94673. 0x30e1b870c5fe7cb6L,0x883ea1c3b10837fdL,0x2da279536b20489fL,
  94674. 0x3aeb2a6858a2da5fL,0xe2330bf203a8fa14L,0xb5c488b5dc70b1c4L,
  94675. 0x0a78c4d9299678f4L,0x233bd09825df675cL,0x37b5c0767b67d368L,
  94676. 0x2f6dbdfe4d0bef3fL } },
  94677. /* 58 */
  94678. { { 0x2f8472fd2e4da7c7L,0x708cfc91ae677932L,0x364af08a3dc268e2L,
  94679. 0x0f10dfe0799a2424L,0xef912d5871d58bffL,0x6bf35dfc988962e6L,
  94680. 0x28b96fa95f47ea0aL,0x734a79eaaad308c1L,0x957303379f437bbaL,
  94681. 0x002cbd8e6cf54f75L,0x47606dcfe7632eecL,0x404b5ecb53193104L,
  94682. 0x0ae0897c0acf729dL,0x89628b863bddf1deL,0xeced154ef87d7448L,
  94683. 0x5cb6e197458d5d4eL },
  94684. { 0x98cef197008c75edL,0x7cf49d3ef6eeaaf8L,0x1d6f9e021875e96dL,
  94685. 0xfcec2cfedd9b0d8aL,0x38a61cfeb9576daaL,0x10003f3936a7dbb8L,
  94686. 0xb37c386823b814f4L,0x9fb66dcbb80e3153L,0x9e7e2eba059847a8L,
  94687. 0xa4ec63fd35a72770L,0x311f3d91fc9e0ed0L,0x3c1dc094d515baa4L,
  94688. 0x75a06ebca08cd4e3L,0xab6172382ed5eeaaL,0x2e82bbb0e1f52c1fL,
  94689. 0x2149d6305175d6e5L } },
  94690. /* 59 */
  94691. { { 0xee1a8e6f5f9311f6L,0xc97e3c9fbabc1f85L,0x4fa7c52eb494209aL,
  94692. 0x04c2f51c19774fe1L,0x5cefd1228555844fL,0xb53862a3b5873ab3L,
  94693. 0x768efdd6cbed19fcL,0xcdc12479ee58469aL,0x11237e313d80c09cL,
  94694. 0xdd74a290c044c28cL,0x9ee6517abd47e287L,0xc2421228ad0ffeefL,
  94695. 0x4273088f818d281fL,0xebc744bc43ec0de1L,0x5b26eccfb415bd73L,
  94696. 0x14e2f350cb07c26cL },
  94697. { 0x548d2a104216946bL,0x6e801f077a4bd92dL,0x5996d0a343695160L,
  94698. 0x0f1b5c2f63a197c9L,0x79da3c4f061f77c9L,0x1c1cd63493ff7b22L,
  94699. 0x5e61b650a234123fL,0x826b34c5f284033cL,0x718b90e8c2f34214L,
  94700. 0xa5f35620ae806ec5L,0xa2fae345e324a9b4L,0x8c0bb95e8b53cb51L,
  94701. 0xc94f6ac2f9965778L,0x07ec607d6b9def32L,0x63bf1dbad0ed8f27L,
  94702. 0x58537e02dcb61e4fL } },
  94703. /* 60 */
  94704. { { 0x1f64b06464f80ba2L,0xe8e055e70559a45bL,0xc3262b34f1f4b634L,
  94705. 0xef4f7d5fde8c8482L,0x9d55dea0c30c780aL,0x1740afb9cfa1e693L,
  94706. 0x2cfe6a667460c34bL,0xf66959411187c1eeL,0x1382f2775f974d94L,
  94707. 0x1ca0ace4004549ebL,0xf8244b3fbabded02L,0xc36f4d064e3653eaL,
  94708. 0xeab9f0dcc55c5f83L,0xd93b9cefacebce90L,0x16658e7219061425L,
  94709. 0x4857835f82d7970dL },
  94710. { 0xdcd525bcd2576210L,0x9f378aa7d51b5443L,0xfe97bf171bd83994L,
  94711. 0x930d0f63f38ac621L,0xaf8f2c17818408ccL,0x2692c87e260f53f6L,
  94712. 0x0ee45407db0a75e4L,0x0ec47ae5ffdb1b37L,0x769129dc7aa6a44bL,
  94713. 0xb6f932b22e40b75dL,0xe06764d095ef3b77L,0x28fd47f568bc63e8L,
  94714. 0xd18104949c0014c0L,0x90e2d3fdd7995d8eL,0xeb39a05d6c2a85afL,
  94715. 0x6c0277bda21f3128L } },
  94716. /* 61 */
  94717. { { 0xe41b7086b509e7efL,0x8842ec7b3d7f9f91L,0xcd285f945526b88bL,
  94718. 0x6e44e064051dd0abL,0x90198c10774f1cebL,0x6ecabe98123e661bL,
  94719. 0x4481113632f647d9L,0x1dd82b4526c52aeeL,0xd650907f939dc9d5L,
  94720. 0xbd5eeef2fcd455bfL,0x7815a4dd8d2e5d7cL,0x5ad4ec9288bc9f2aL,
  94721. 0xc6f10d0b57a3b322L,0xe8d0c1e720b9cbdbL,0x5a0b071a9b774ee8L,
  94722. 0x3067bc9af22fcf8fL },
  94723. { 0xe0e589f2b7ca9326L,0x17a106fdb1224f63L,0xb2354521747a57bdL,
  94724. 0x2614982d62b0882eL,0x7f3af5444391ffcfL,0x1aaa337ba84e440dL,
  94725. 0x28ea37b0941bb071L,0xa957dcb42e4a7f54L,0xe7ab662c1a6ad5fbL,
  94726. 0xd135e381f7c36a20L,0x42e7980c9baa0b6bL,0x4237030c94e4671fL,
  94727. 0x24cc63ff8b0922e3L,0xd10d5279445a589fL,0xbb99d316a870ff6cL,
  94728. 0x390c83caa996c195L } },
  94729. /* 62 */
  94730. { { 0x50d3fa82ffc4a73fL,0x2665d6353bd53303L,0x80a06f8a264bb77dL,
  94731. 0x81c04a6e22d73d84L,0x2409cff50323b8aaL,0x31dce2178c4c4d5aL,
  94732. 0x374aa80e0c0f9c19L,0x0b25a38700186bb8L,0xd0b77a10aaf1487fL,
  94733. 0x15f39ad5ab498de1L,0x92e32da61aa0c116L,0x228e3dbd96e25ce8L,
  94734. 0xb57c88dc5e8646d1L,0x672b1164267b1c68L,0x5d0d807f600bdec5L,
  94735. 0x3ea4007d223e573aL },
  94736. { 0xd76debd0a595d0a3L,0xa6bd76cbaff0b3b4L,0xbf2c154f9b1bdb97L,
  94737. 0x62b19ab44c714c71L,0xc9bf33b9221af663L,0x23d87c498c941ef6L,
  94738. 0x255804c3d79f0f6dL,0x6f1a10052a7acbc1L,0x5dab79d9550528afL,
  94739. 0xfd77a6f0c8d16213L,0x40508b6dde5e1029L,0xd95ac0f2f95da12bL,
  94740. 0x8860af71758a8ba1L,0x0b194c837160c8fbL,0xa40e6c80ce004d34L,
  94741. 0x09f82a176b14aaa0L } },
  94742. /* 63 */
  94743. { { 0x60abe588c21366dcL,0x729c0a4faf75daf9L,0x70501fd9acb93ed4L,
  94744. 0xb97e744e87a16d70L,0xa42e0a7a98e7361bL,0x1acdaff228b54cf3L,
  94745. 0xf087ccbbb7bd9078L,0xda6f3983663250e7L,0x66d693eebaf07c09L,
  94746. 0x79baf4c38cbaf157L,0x5a984e07dfca99d0L,0xab4d3247f26d8dabL,
  94747. 0x4d0be7017eba36f9L,0x37bb9e650e8dd216L,0x72aa4e24531c4f03L,
  94748. 0x77d1e984b753d85aL },
  94749. { 0xd9373239d8e62367L,0x3361848bb9820cf1L,0x00c7e3445a9c97c4L,
  94750. 0x9a0ec9ae14f960fcL,0xcf41f0cf740474b5L,0xa5eede8fece065d5L,
  94751. 0xb1de5a4e9e808610L,0x17c44ae4ae0cf75dL,0x2fa563236b148d0bL,
  94752. 0x64fa740fd29ff2dcL,0xc605eb8a88cb212eL,0xf2c771ad6a863016L,
  94753. 0x6d6112e7607b4c17L,0xfe90ec0740d49785L,0x599be18be256e0e5L,
  94754. 0x4e6eabecca54adb0L } },
  94755. /* 64 */
  94756. { { 0x950323d3fb99cfe6L,0x7b09bc26c9334178L,0x64111e417cbdfb6fL,
  94757. 0x9114174489a75760L,0x4c633df910919cb0L,0x715fc7c7396bfd2fL,
  94758. 0x8ca195128cab62dbL,0x306724734db81aacL,0xe67a246bb4c4c54aL,
  94759. 0xd77ea0fabf229646L,0x5bed15f1fa5b5d70L,0xa5686da5c2f192f3L,
  94760. 0xdecac72a7f6690adL,0x0c4af2a2caa50b7dL,0xf44631c16049ad2fL,
  94761. 0x325d279604ecf056L },
  94762. { 0xee11fb554848c144L,0x4e062925b6a7af32L,0x125b68e1369e0f9aL,
  94763. 0xad9bdae6ca53b21eL,0xf50d605c2e98ea1bL,0xbdb9e1539f2fa395L,
  94764. 0x4570e32de91532f5L,0x810698ae46a250d7L,0x7fd9546cad9d9145L,
  94765. 0xabf6772111e97a5eL,0xca29f7d5249f82e9L,0xa9c539a99851df63L,
  94766. 0xfd84d54b71d0e3e5L,0xd1e0459c041d2b56L,0xceb3eb6efd80096aL,
  94767. 0x19d48546e32a79d3L } },
  94768. /* 65 */
  94769. { { 0xfe19ee8fb540f5e5L,0x86d2a52f04e68d17L,0xd2320db0adbdc871L,
  94770. 0xa83ad5a8d03a7fc8L,0x54bf83c708bcb916L,0x092133ea2e51e840L,
  94771. 0xbce38424cb52dddfL,0xd5c7be4031063583L,0xc1ebb9df458e3176L,
  94772. 0xafb19639bc4dabbfL,0x36350fe4c05725a8L,0xac4a063484e1cd24L,
  94773. 0xadf73154c145b8deL,0x0aa6dd9eb3483237L,0xa3345c3dcbff2720L,
  94774. 0x1b3ace6cb4e453b0L },
  94775. { 0x0343e5e990a8bdc5L,0xa203bf9d6306a089L,0x98489a358e48520eL,
  94776. 0xbd17debede7d1d06L,0x8fafa6d75f795d3fL,0xa4ceb630387b0a3fL,
  94777. 0xe0166b32ffddeafaL,0xa2fe20547e764e02L,0x55ab9824e871f304L,
  94778. 0xa2bd36bb952ec45eL,0x7b4c1484a90d20caL,0x5319f38775bcfb53L,
  94779. 0x34238a4a6982c4e5L,0xa2bb61c7a102921dL,0x1e061b64db3ab17eL,
  94780. 0x538ec33e192f0a14L } },
  94781. /* 66 */
  94782. { { 0x193496fea19b56cfL,0x663d77f47bb99acdL,0x8f04afa857d0a881L,
  94783. 0xcced3da2082835fdL,0x7e21faed5d82cec7L,0x6e175b99f8009c85L,
  94784. 0xd9c6e31b2d05a307L,0x96948d4a81487d82L,0x86ebd3f2d46f6655L,
  94785. 0x86851aa8773ccc49L,0x3e220f228b1640a6L,0x9f06e3a841a20b75L,
  94786. 0x2cfffe5e90ac0a6fL,0xf5a9b1da8ebeb3fbL,0x2587d9976e08e2c9L,
  94787. 0x6fd6029803e9f401L },
  94788. { 0x54709f8d8eb7516aL,0x83058a74bdc598abL,0xd234dd9887e801ceL,
  94789. 0xfd0f9d90d17b8a96L,0xaa1e549f6e90f6abL,0x2496ff805a7ed55bL,
  94790. 0x0d9f657a6c254c19L,0x3cdea49cb8962575L,0xb685a3f02dff27deL,
  94791. 0x3c50e7fddb8bc04bL,0x904ff0ff987236b0L,0x494298fdbb0d5055L,
  94792. 0x34b3386de14be8d0L,0x7ad34e9c7c3d30d6L,0x1f2b32bde159fdd9L,
  94793. 0x84cfa23cc761e5c0L } },
  94794. /* 67 */
  94795. { { 0x13bc11eb8b99b964L,0x8e280c0a58e2fc47L,0x870fbc49d4c9a54bL,
  94796. 0x37a334a2bf6e20faL,0xee583d0dd7c88cfaL,0x05e029a8ef4af1daL,
  94797. 0x6d55e2340c2ef8a6L,0x61b6fdfe209e9b62L,0x3b1dad26bb8e080fL,
  94798. 0x5adbc1629392fc1aL,0x02ac0fe60aae3f4eL,0x8d99801ac2bf4d5bL,
  94799. 0x2333f93fc282fed2L,0x16dcb10cb52db33fL,0x09f90f84c55752e7L,
  94800. 0x287d4c51c84a0d8eL },
  94801. { 0x5fa582010e9867daL,0x614589b31a874cdaL,0x005e27c5fbdee22eL,
  94802. 0xe357fef5e612bda8L,0x4e0dbedf2d3635f9L,0x62be70e46f125a86L,
  94803. 0xa09b98840d94a2e5L,0x7eb99a1528b5e5d1L,0x21b9416e751028b5L,
  94804. 0x1b137fd7e06d2cc4L,0x6fa1f517fea09845L,0x3ba1e966ffcecbd7L,
  94805. 0xd4c89a4a832f453eL,0x07b1e2afeca68fa1L,0xd0fb44534bd395a3L,
  94806. 0x0132a3dcd8ef9e13L } },
  94807. /* 68 */
  94808. { { 0xe53c7785576374c2L,0xe60526d184727040L,0x8a066dc8228ca044L,
  94809. 0x1fe1c1b2f1ce1313L,0x2aeec832cdeb0c5dL,0xa75966999cbf826fL,
  94810. 0xcd188e81de77a589L,0xe5ce0fe0118d1254L,0xa142a9840790b86aL,
  94811. 0xe28f043f39ac28ceL,0x4eef829087de5804L,0x83c31b32f639a8c5L,
  94812. 0xd70454a75887794fL,0xca635d5018b1b391L,0xcefea07631d9c795L,
  94813. 0x13cbee76b6f8aa25L },
  94814. { 0x79cabe0f8d3f34f3L,0xbda9c31ca3617fe3L,0xb26dee23dd9426a1L,
  94815. 0xe9dd9627f29c9104L,0x033eb169e2c6cd3bL,0x8a73f492fcba2196L,
  94816. 0x92e37e0bb858c83cL,0xe4f2aca623b3fbb7L,0x8101fb1e64be00a2L,
  94817. 0x91a7826a948f6448L,0x414067b4907260e7L,0xf774aa50e30bb835L,
  94818. 0xf922ca80c999c06eL,0x6b8635b90ba08511L,0xbf936b5c25fa04f0L,
  94819. 0x4e0a1adae02e8967L } },
  94820. /* 69 */
  94821. { { 0x00ca66708ba29c4dL,0xc08240ce22988094L,0x21c5ca6716dda752L,
  94822. 0x689c0e45abbbfa34L,0x1d7545fd3ed28b72L,0x5f221198d7c56ab4L,
  94823. 0x4b3d8f7438759d65L,0x93490dfb8fe50b89L,0xb641f5d7e80eba16L,
  94824. 0x7b0da5eb79acb537L,0xab6b14970c1d5e5eL,0x2338e68da5da429aL,
  94825. 0xe010c4372f6d2f25L,0x226f16d26530f3a7L,0xefb0f7b6cbef08bcL,
  94826. 0x733e30d99f99c999L },
  94827. { 0xecfe1582a42a38f9L,0xaec2d58e4730b500L,0x2ee2f2a7de976b2cL,
  94828. 0xf0539db5a969c1bbL,0x31954168fcecdb4aL,0xf2f7348ae7a8e902L,
  94829. 0x1d58d7cc3121541fL,0x5d25b75c2202ae52L,0xdea9965af40835a7L,
  94830. 0x3feb6a41529b4e46L,0x5c97fb6fbd27ad9bL,0xd87554c0261f900bL,
  94831. 0xb43031d904d5b19eL,0x33d5e9b8cb219b9cL,0x7a43d4923ee00bcfL,
  94832. 0x56facb39b79a5c0cL } },
  94833. /* 70 */
  94834. { { 0x019165a2a3018bfaL,0x100c6b249ffad984L,0xbbf1b1f655341a9bL,
  94835. 0xe6bd1d9725dc4cc9L,0x52850ed52bfffe60L,0x24e992cc7e5509abL,
  94836. 0xff6c502e4ceb59f1L,0x2f0b35731aa7d148L,0xe90c1ddde7e3aa46L,
  94837. 0xbaec9f45d1142880L,0x475cfd2665be5dd5L,0x83abb14e1febce13L,
  94838. 0x6aba482980942d30L,0x1e1b235d297e82c8L,0xb771cdbe50d8218dL,
  94839. 0x88599266d94d6cbbL },
  94840. { 0x08847290155ccaf2L,0x8679ebc77c5b773eL,0xa88b2dd1b2dd08edL,
  94841. 0x960a180e87d475dbL,0x80fdb6b76694d02aL,0x3e8758c93f3f9e96L,
  94842. 0xbda3f6fa4ad836c4L,0x9400c58132fb387dL,0x25a785422550200fL,
  94843. 0x2a97c351776ecf18L,0x03ebf46e566db59aL,0x4743a28026545edaL,
  94844. 0xed169d84cf74ab44L,0xbaab931d88cb3f69L,0x70ae932cd8257196L,
  94845. 0x797224a6a0c09719L } },
  94846. /* 71 */
  94847. { { 0x632923f8441f3567L,0xc11c31682e24bf1dL,0x4b97726bb7671fffL,
  94848. 0x601746a77a5e1a22L,0x53dddea03addb417L,0x57867a3c7f59b846L,
  94849. 0xb012a98756cd7ff7L,0x1bd5fec9f19ba9a8L,0x750379a2f8306748L,
  94850. 0x7763445dab8c05d1L,0x5d7f441b7903f42aL,0xc011674da903e46dL,
  94851. 0x1b1d3c4dadd126c1L,0xa2752aac61455b40L,0x4da42a68555c356eL,
  94852. 0x3ff09c15d820852cL },
  94853. { 0x4c0a1bcef9cb7784L,0xaec539bc2422f305L,0x5f40f9fd0c414aa7L,
  94854. 0xd3aa316cffd42bc4L,0x42f5a4c32f358e15L,0x00bdcd9ed6e27682L,
  94855. 0x069f789ff8a5eceeL,0x8078018e05e14f5dL,0x2bb3e4938b40c741L,
  94856. 0x5dbc8c1d7917f72dL,0xe0eea664cc57150cL,0xa25ecc5ac3fa8920L,
  94857. 0x3c21b0f51c797164L,0x8f09a2f2634ad16bL,0x8e730fc558391d9aL,
  94858. 0x47ef18054fdfae4cL } },
  94859. /* 72 */
  94860. { { 0x9965f3d13da285e4L,0xba7d4dba3a01e3f4L,0x4738413a61214ad0L,
  94861. 0xd3b7d53522397549L,0xa53dbdcf5a730b92L,0x3130d92b332d165dL,
  94862. 0x44a2854182f97ef4L,0xbf62221c44dce1b6L,0xbba138587e2a0ec9L,
  94863. 0x33f32c8dcbfad998L,0x409e5f3fb5fed44bL,0x5c328c65c66217bbL,
  94864. 0xb00db69ffcdf71a9L,0xa23c2a21b8920788L,0xf8ab28e63ae6464bL,
  94865. 0x1a6b6e9cb8de0861L },
  94866. { 0xaf6ec2b606af77aaL,0x2e60f5cda887f065L,0x87d214009f498c56L,
  94867. 0xdb595b59fcbaaf4bL,0x0fb592a1271ab855L,0xa0ce10e5d4349b0cL,
  94868. 0x9d6187d8887d8c9cL,0x03ee95f9154bd6dbL,0x8fe532135d06c999L,
  94869. 0xf4a7bc30fb6a64d0L,0x3d22af0d66a4cb60L,0x16952cef5d37367cL,
  94870. 0x6f0ea734997d8e55L,0xb447c70f731732d0L,0x00ab3034a9cb3942L,
  94871. 0x79dd018028510fd0L } },
  94872. /* 73 */
  94873. { { 0x04e0033a3ac7424eL,0xdb06b68860fda4d0L,0x236a9766bcb772fbL,
  94874. 0x294a8e2bf297cda4L,0x4b0aab85db013c6eL,0x3d2aec988723a3adL,
  94875. 0x0cae32cd13c84a6bL,0x21888f5e70ec169eL,0x739633bd42a88262L,
  94876. 0x68ac792e7b60d9b8L,0x89f2b72210769fe1L,0x8f3fcfe6d24bed34L,
  94877. 0xd35efb88a3eb24aaL,0xddecfa3f484c706bL,0x7cc119a9929ece0dL,
  94878. 0x87e5ad458d405436L },
  94879. { 0xba99aa9d7d1000a7L,0x8b94affcae823833L,0xc8229628dfb83dc5L,
  94880. 0x2f59fe11845a418dL,0xa8b970f85d417054L,0x8918c26572b71581L,
  94881. 0xe4ef477dc0d1dd17L,0xb50b4cf33afad7c0L,0x21baea7901870a5bL,
  94882. 0xc77087f9bb3a2868L,0x7857531e124a59cdL,0xed74c26f57f43239L,
  94883. 0xd5f5ae250164c94aL,0x6608b7e2f094bf74L,0xf4cdb5bafdceea32L,
  94884. 0x0b712519990cc045L } },
  94885. /* 74 */
  94886. { { 0x5a290ca188d5c64dL,0x0596d749a7492534L,0xa04b0d3d2a00e925L,
  94887. 0x082cd02ccaf7b66bL,0x912b50c2ecdded83L,0x813ce9deff31646eL,
  94888. 0x62ae70c7c75fff95L,0x6f6852e07e2a4615L,0x320fd7d003804fd1L,
  94889. 0xb1a2a4dd8218e8d9L,0x4918a6fbafc645d7L,0xfb080fa1e8d9fdbeL,
  94890. 0x33d4d08a4470b6eeL,0xd2ba20776d974ef7L,0x8ecb95a769dae5d2L,
  94891. 0x7a3f423a7d69596dL },
  94892. { 0x362d2ca69a929387L,0xabdb7581cb1c1fffL,0xd892ec9f7e51b6cbL,
  94893. 0xee8d86323a4e131fL,0x4680e3f15bd87561L,0xe3a597e1d4e7e732L,
  94894. 0x3cc72b7c5581fefeL,0xf3e77f8aca8cae0bL,0xfcc7d7dc5e2fd4afL,
  94895. 0xdd3a455221355b79L,0x546b24f2a2c07177L,0x415b532d0689621fL,
  94896. 0x2be9af513f78163eL,0x27d63b9b33d7ed21L,0xab019ef296802943L,
  94897. 0x2da5fc551623faf4L } },
  94898. /* 75 */
  94899. { { 0x62429cf3c8a5c600L,0xa7a80c223fe33e7cL,0x9ffda7400a57ddcbL,
  94900. 0xd1ae156d925b0c74L,0x097a43f96b100eb0L,0x169e945cef943c81L,
  94901. 0xa1f734e51128cf24L,0x04387c4a419f0133L,0xc007868b01044024L,
  94902. 0xe5416abf90359cf2L,0xf9c76fee478d54e3L,0x66219da642a2173eL,
  94903. 0x61e031569fe30141L,0xa0ff5ce393ef247eL,0x811792ba072b6592L,
  94904. 0x855f021970c854d3L },
  94905. { 0x61fbfb6c847314c4L,0x97906155eb45b96aL,0x7102e1466ba2afacL,
  94906. 0xed51f975ab949781L,0x9d2f5b17c110c4feL,0x7ac8ce70aff57667L,
  94907. 0xe7366a216eb244e7L,0xdd1bbcec551c65c7L,0xb525060ae1a859deL,
  94908. 0x7a0481748ba7d2e7L,0xe1a2c541ab8ea8c4L,0x6e7824c36fdff078L,
  94909. 0x79b49fc714874b04L,0x22ae337f06b1f733L,0x1c3521926f8fe6cfL,
  94910. 0x292236cf525d0797L } },
  94911. /* 76 */
  94912. { { 0xcdb8d80a7d8b29dcL,0xd17a202408ea648aL,0x7db12c5eae92be91L,
  94913. 0x1f347d18fda72fbcL,0x11374b409e760c6fL,0x7361e8f1d8e38d91L,
  94914. 0x7714be9d739ac1f4L,0xc1f9701cb4df5c4eL,0xd9138ed86f72cae1L,
  94915. 0x1c7fe1f76ad180c4L,0xf8c185be9e2dbf9cL,0x835db2697c70c44dL,
  94916. 0xf997cfeab0d15b5fL,0x5101445a61e6545eL,0x16b0688425184e5eL,
  94917. 0x7cfac3597521e7aaL },
  94918. { 0x811821673c0bc53aL,0x84b5ede37e751367L,0x3ca255fda3657a18L,
  94919. 0x096abbf4ba1fdd98L,0x9ce8369fc5da77d8L,0xf27b9ae7aab342c5L,
  94920. 0x06c91bd6972059f1L,0xee0dab30914ecfe9L,0xbb647fbb93f53f12L,
  94921. 0x30c38a7affa57e0eL,0x517d06ef9f2ad607L,0x49728d87bb99dcc9L,
  94922. 0xb0034af1446080a1L,0xcc810c3f12b9c17dL,0x7225f14f772a22a0L,
  94923. 0x6ce3dc7f1ddf82bdL } },
  94924. /* 77 */
  94925. { { 0xc07cd835a4397830L,0x4dd9290cf4733306L,0xdd35d3a829989e8cL,
  94926. 0x79902559563d8152L,0xf278d911e87de61bL,0x9c7340c71024e35cL,
  94927. 0x2d4444614a0d0e59L,0x63e7608ff32626a1L,0x627a37e9c4c9baa9L,
  94928. 0x0c56dc5176fffd25L,0xcb6defc8cef2a1cdL,0xcbcc0d56efc559d9L,
  94929. 0xe45f3fc5041cb692L,0xcd05c239e5161e09L,0x2a731ee95c3b559cL,
  94930. 0x85151122a3d0a16dL },
  94931. { 0x782d033586ff19e2L,0xc2c60daa1da28603L,0xb2e78cfe557c7eedL,
  94932. 0xa8f6f9841bc4e8b0L,0xcc1f9b4b3df35c67L,0x96e136034764462aL,
  94933. 0xbf910b977c7ae0b0L,0x27c7f30551435956L,0xc14db15cf631eae5L,
  94934. 0xa51d61427e69b34cL,0xdec828515fc12ff2L,0xfcceae13fb887162L,
  94935. 0xda332ac1de1488bdL,0xa20374e22ee3e74cL,0x597ea1a1f0ae069cL,
  94936. 0x8b1159f277bdec04L } },
  94937. /* 78 */
  94938. { { 0x4af71a442f961d30L,0xbdf968a87ac7248fL,0xd32df87cb1a906cdL,
  94939. 0x00c10e2604abf925L,0xb8711759b9f04d4cL,0x00d54e60939705daL,
  94940. 0xf7587433c9f80849L,0x2e9abade6a7a2375L,0x5676d47894ac17acL,
  94941. 0x4ca0525bc202d99cL,0x95b8bcadabfae73dL,0x2371ed383405991bL,
  94942. 0x2b69e47a458a99c3L,0x7cac0b182b78c866L,0x6ceaa79be0232c7cL,
  94943. 0x0bd86433588f7459L },
  94944. { 0xdea1a8b47e734189L,0x52c5ac88cfe5fa17L,0x444a4d4e11437664L,
  94945. 0xc2522308af9e9750L,0x78b1d0c3d30c6b3bL,0x2edae5f04c6df477L,
  94946. 0x53131d9a2ee88dd7L,0xc4e380eeacc93e34L,0xd499b1aca8db0e8eL,
  94947. 0x77348c167f5d49d7L,0xc96632571556ccd7L,0x65ce0e8c2611d13dL,
  94948. 0x2c95fe66b5a2fdccL,0x266988328658faa1L,0xda87d1f431c32c98L,
  94949. 0x46650598fcd91907L } },
  94950. /* 79 */
  94951. { { 0x4c6c13cc6b4a5efaL,0xc481989b1d07b265L,0x10b966ce8bdc69c0L,
  94952. 0xf54cfaa22c2531d4L,0xcb5f1808cad0a100L,0xbeb52538ee5da449L,
  94953. 0xa6240085bedd83ccL,0xe792dacfd6255c78L,0x883719062062058fL,
  94954. 0x96615e83ed1658c1L,0x4b549b277d28d542L,0xeaf127db83b75df3L,
  94955. 0x4f60df6d17fbb942L,0xd08631dbf6f7c930L,0x17c38f986018789fL,
  94956. 0x0c43574ab9a9280cL },
  94957. { 0x76eb324c1d20cad0L,0x90decb098c61108aL,0xa6e9d39c6f06d36dL,
  94958. 0x6cd978babc0da197L,0x5948b1c0507ac5ceL,0x2bd47164c5497eb5L,
  94959. 0x2a9c4c0f4d5914e3L,0x772c5046a759f03cL,0xe7d7328a69ac847eL,
  94960. 0xa8d57d0c3048b330L,0xe60034e040f7baceL,0x823d9193a85f1790L,
  94961. 0xa6e9b66c5c859736L,0x22ca2c7a679e1022L,0x00e7a19c09023fa4L,
  94962. 0x324999f12726d5b9L } },
  94963. /* 80 */
  94964. { { 0x667eaed67c834915L,0x9f77aa6abc5eb64dL,0x729ebcb625d62011L,
  94965. 0x0aee24f2699fd9c2L,0xe1eb58742b8d4f6cL,0x7f12710c14c976d6L,
  94966. 0x91390335f6d9ea65L,0x668b704906b50064L,0x65969a0e0876ee4fL,
  94967. 0xf901bf3f2f9d9360L,0xfb1a8651b499e3ceL,0x80b953fbf2dbcaaaL,
  94968. 0x312cc566973b06b6L,0x3534d9c33af36c64L,0xe4463a5210ffd815L,
  94969. 0x57ea2b4bf18c2b91L },
  94970. { 0x00f5e1628aa0f2f2L,0x8c7e75c50e46bcaaL,0x97ab479aa4a2c42dL,
  94971. 0xb4f308ea14baa202L,0xa901bd146943cc2eL,0xbb125feeeed58804L,
  94972. 0x6502c8f99d180f7cL,0xe53539191580c61cL,0x7e27806927101ee3L,
  94973. 0x7a0a40a1faa72717L,0x32edce024c75b153L,0xda23660b538f1c22L,
  94974. 0x4d511e98be307d2eL,0x24276e409baee0b4L,0xa78c39277ff1f307L,
  94975. 0x60480b46ea7935c9L } },
  94976. /* 81 */
  94977. { { 0x31087d663872ece3L,0x5f29be7d955b70f8L,0xb50b4fc79cf95bb8L,
  94978. 0xbae3b58ddbffa621L,0x0e61d280e022ba5dL,0x78ae51174181449cL,
  94979. 0x0b132840cf555485L,0x800ed1b6b8ce0b0eL,0x35dffdd578d5de3dL,
  94980. 0xf7e4237469a56b47L,0xd5e323698d910ae7L,0xb6ff52a06313c7c7L,
  94981. 0x5a2fe20da92de9e5L,0x41b347d3d12110bbL,0xc5905edb40c16f23L,
  94982. 0x0774a0d39a8f88ccL },
  94983. { 0x3ae181abe3b6c106L,0x4ebe163f8de150b7L,0xcf75b82f6f354836L,
  94984. 0xaa0d20633ac7ac16L,0x5c680668291722afL,0x73941e6111545553L,
  94985. 0x17127e38bf5de3f7L,0x32cfdf031afb41daL,0xc6893c9187bc8663L,
  94986. 0x75046744a62c9c99L,0x96866e2d962c1947L,0x489ec8df378cdf4cL,
  94987. 0x3a60709b3407fa32L,0xd37d2159551290d1L,0x9623d303bab92273L,
  94988. 0x081519542432014bL } },
  94989. /* 82 */
  94990. { { 0xf9236d89fb7b2108L,0x3ecc83ccad75f9aaL,0xf7c72b15b4e1da11L,
  94991. 0x552aeaef0315c362L,0x11e140edf272fe3fL,0x99d79bf687843ee8L,
  94992. 0xce6b54fd1d9bb25bL,0xb20b0e215b1bad74L,0x54a0214f5b84c90dL,
  94993. 0x459bbf52fca6cec9L,0xe363c48d9e4df76fL,0x3045f84ed64cf17eL,
  94994. 0x8402a167f62ada48L,0x2c9e1bf36a74ca01L,0xe8cf9d41f691c42dL,
  94995. 0x5abf2178c2c4b874L },
  94996. { 0x4777966bf3b3bccdL,0x0047e0f0be3e0caaL,0xcb8383b38c7d5043L,
  94997. 0xe77e3baf946fd5fcL,0x79baa785e9ec0e87L,0xd83c557cc8a18d25L,
  94998. 0x9b96e5af25befcfeL,0x4f05d15e98c71b61L,0x081f991a77e62da1L,
  94999. 0x1c6ec781cbaa3821L,0x7522f65de54d9bfbL,0xf5d0557344ed1430L,
  95000. 0x3035b31f95cafddaL,0x47e67f436378f5bfL,0x029f7cad5270b9d9L,
  95001. 0x15ad15874d916a48L } },
  95002. /* 83 */
  95003. { { 0x00de2eceaa588ae4L,0x552ebc58a371a232L,0xd00ea93471230444L,
  95004. 0xafbfa67de4b1832dL,0x29216341b689e843L,0x1f96bbbd61f4e2e8L,
  95005. 0x9542068404c29dc5L,0xc7fe382742317fd1L,0xe0a0aec663483162L,
  95006. 0xfc2b94d10700184fL,0x07219973fe1fbd85L,0x648b6ab1fb074352L,
  95007. 0x23bbdaadc46e5392L,0x0db8dd1f00fa56ffL,0x104815eb866725f6L,
  95008. 0x3f9c4cca52e81963L },
  95009. { 0xff36b29732ce637eL,0x81a15f2df5d25cddL,0x1a1d052d8b02ad97L,
  95010. 0x2e5f3bbccfbab3e9L,0x60d2cbd7614eeb75L,0xd4491843cd5a793aL,
  95011. 0x2242cf75cdba2144L,0xa20705e788b99766L,0x64e12cc0ec77e132L,
  95012. 0xb1c14df6b61a9b05L,0x8fd97f0474825b5aL,0x956048213da31223L,
  95013. 0xde4867274d30c70dL,0xbcab8f151c12ee69L,0x5dc638b4668d893dL,
  95014. 0x6479dad6223f574bL } },
  95015. /* 84 */
  95016. { { 0x569044f3b05f2b26L,0xb35a294a80b9f76cL,0x8839fe284290f6aeL,
  95017. 0x761cfb23026a5877L,0x768926b62e5ff9c3L,0xbae6cd200b11c576L,
  95018. 0xdc85775672a03efeL,0x0cae074ae1bad63aL,0x3fe491a1d709d99cL,
  95019. 0x76c5ded66501d9c1L,0x1da6eca1c32aeff7L,0x50849d55c57683e8L,
  95020. 0x9e392e9cdf98d847L,0xfad7982f64d9a564L,0xf7c3bdb7a37b98b2L,
  95021. 0x1fe09f94f0860497L },
  95022. { 0x49a7eaae7648cc63L,0x13ea251167cfa714L,0xfc8b923c653f4559L,
  95023. 0xd957619b81a16e86L,0x0c7e804b3c864674L,0xfc88134a1616599aL,
  95024. 0x366ea9690a652328L,0x415329604bc9029eL,0xef9e1994ae2aad2bL,
  95025. 0x9e2a8c527f10bef5L,0x73dcb586c67bf860L,0xf61a43fa844cc25dL,
  95026. 0xd74e7eea74eb3653L,0xf3356706dd240f02L,0xeec7694cfd83bcb4L,
  95027. 0x4de95786db62526aL } },
  95028. /* 85 */
  95029. { { 0x4867d3153deac2f7L,0xa084778ab61d9a8eL,0xf3b76f960ab7b2d5L,
  95030. 0x00b30056cfdf4f79L,0xd0701e1531ab8f4bL,0x07f948d59c779d01L,
  95031. 0x7c994ebc82675371L,0x1104d4ee48bad4c0L,0x798ce0b5bfc9d058L,
  95032. 0xc7ca898d309fa80bL,0x0244f225acb33eafL,0xd51e8dfc5b2f3175L,
  95033. 0x3e49ba6ba4d7be34L,0x1760f4c7bda02b43L,0x37e36a7e4435275aL,
  95034. 0x1c94418be636980cL },
  95035. { 0x43a2131309dc1414L,0x060765fc43c93537L,0x6ff3207adf5f79ceL,
  95036. 0x6f18b1fa85d4cfcaL,0xf5c4272e63e995abL,0x121a09e4a82b3002L,
  95037. 0x82b65d1b97147f16L,0x4993c20c20a7fe26L,0x99c9cb98e6716726L,
  95038. 0x5a02d673feb440a0L,0x3f3fa9e1251b4bc5L,0x75dbc474a05338eaL,
  95039. 0x3cb4044b7b09f6cbL,0x6767da1880434609L,0x97851422098ceac2L,
  95040. 0x611bfbb2b55235baL } },
  95041. /* 86 */
  95042. { { 0xbdbaa55ef00ad2a1L,0x29efa85e14a290d7L,0x3b4a4768e92b1694L,
  95043. 0x67111bcd11ec8130L,0x0e42570288bd27b2L,0xf28cf2a3d9a03c06L,
  95044. 0xbb7c8d2df318884aL,0xe2ea1462e3aaeb20L,0x3353580443b85d77L,
  95045. 0x81ee4482554ee9bdL,0xeb2eee9ee6aa198fL,0x7a5aa804c26c5944L,
  95046. 0xa0ef2da582ab167cL,0x5a2ab47602fe21a5L,0x169cb3b83370298eL,
  95047. 0x86e6c5440eb3aa8dL },
  95048. { 0xede033210b793d9bL,0xf79fade11ddb5eceL,0xf73fda9268930b64L,
  95049. 0x06aad97dfe4fd1b2L,0x073a5b1d92a4dc88L,0x8af8cbd8bc976d75L,
  95050. 0x60b4abb163ce26c0L,0x9c8300a9dcb1fb06L,0x335a594cda95b3d3L,
  95051. 0x1f97d7d4b37eac87L,0xa3d2eba220eefaabL,0x3258c906f3e828c8L,
  95052. 0xc832616f85ab7781L,0x725971928c28b617L,0xcd7196bc3233b82dL,
  95053. 0x83867eb919fa126dL } },
  95054. /* 87 */
  95055. { { 0x774fe73e22474edbL,0x2a7663941a84e1aeL,0x270329ad9c6dd6e3L,
  95056. 0x00c4a41514f8bf5dL,0x3ce2ea37d2267b90L,0x1275301511d24faeL,
  95057. 0x7c14d854263a1b78L,0x20c8401b1ae0b206L,0xf32a011b081f49fcL,
  95058. 0x1e8123fb959c6df8L,0xa328dc7c800e1d06L,0x5876a37824259a9aL,
  95059. 0x23ada8b5b7ef6c37L,0x023f6b6ea93d4c9fL,0x89f5414dffb6389fL,
  95060. 0x4b26bba2e628b39eL },
  95061. { 0xd30b1cb45d318454L,0x123b749fd7436cb6L,0x3110c726568a7461L,
  95062. 0xc85de1231c84fd1eL,0xa5f8d6e608403d55L,0x395b6e139b1fabf8L,
  95063. 0xfe6d68c33cfedce0L,0x1d90381f94b91110L,0xf0a8ea812dcc6eb7L,
  95064. 0x59e804137e90ca2bL,0xbeb5fc07c8a25c5aL,0x009c253a5d84663cL,
  95065. 0x00b15073910b6a7cL,0x8607da4c4108f8d5L,0x02c3d9c3cb901e65L,
  95066. 0x4d697bc52c9615c6L } },
  95067. /* 88 */
  95068. { { 0xe0db1ef0efa8fb40L,0x29021c5b5ba3989cL,0xa8d6fb15809d19dfL,
  95069. 0x6b787b734c1219e1L,0x6417e16814ef05e2L,0x449342db8f9796e2L,
  95070. 0x2f878a5ebf84421bL,0xe71916d7e94a4536L,0x9818bba3ae119693L,
  95071. 0xec674be95768804eL,0x0a26074cf8424f8aL,0xdbc93b9d466ce6abL,
  95072. 0xb3f15a98c920078bL,0x9d10fd0d3870f1a3L,0xa61241d9e4e785a7L,
  95073. 0x76ca87a1e6c8cd80L },
  95074. { 0x4357fb56e02e48b7L,0xfbd14b13cc09e9c6L,0xdb5f243524069cf0L,
  95075. 0xf878165c2c3b01a9L,0xe549e7c4e6956dadL,0xf2fe9538bbd60b68L,
  95076. 0x952f856b059dc653L,0xd3f60225b377fe9bL,0x6a0c7328bfe908c4L,
  95077. 0xce6aa2d3bc8f5f2dL,0xf721344324425050L,0x17e1266a3d3b3ce5L,
  95078. 0x75b5e43fc1677512L,0x1592706237fb894aL,0x152607532be3e375L,
  95079. 0x27e7f2c66da3b7beL } },
  95080. /* 89 */
  95081. { { 0x638f65ade6a15883L,0xd4a7e68c66afdb33L,0x6207b6abd3f12de5L,
  95082. 0x1c6ff95037b87810L,0xc0d44cb264acf6d3L,0x163ac601f2be78c2L,
  95083. 0x1c63cc5a1636980eL,0x3e92cfe895c9349bL,0x7738e0d841ec7220L,
  95084. 0x6169d7642d5fa961L,0x2aa776c1c3e028e9L,0x93dc5646b16d5409L,
  95085. 0xa0b27fb5706df4d9L,0x9e991170ce9c6b97L,0xea8e42be53c85f40L,
  95086. 0x02e9643783246528L },
  95087. { 0x91540addae78ea1fL,0x51a1b74d7b670e96L,0xf9936441f7006826L,
  95088. 0x8f97d6ea7d7520c7L,0x0faa6a0269ce12e1L,0x2590aca879208342L,
  95089. 0x7a48386375614436L,0x07c6149ef381408fL,0x733bf584d7853406L,
  95090. 0x8761b0109abbb6f7L,0xe4eb249ff528a09aL,0x08781ed82e00ae3cL,
  95091. 0x864c1b252178effaL,0xcc1e62a29d513a7eL,0xedb8b94e1919062fL,
  95092. 0x739f53da4f16527dL } },
  95093. /* 90 */
  95094. { { 0x7a5f4a88924adc5fL,0x95646c16a818f56dL,0x0ec491297795f954L,
  95095. 0x2b48753dd19c5400L,0x16fa236b205912b4L,0x6b3d65f3e87a4946L,
  95096. 0xa7174a01045fd066L,0xb635031312a5e140L,0xa79c4b44a96b8623L,
  95097. 0x7a339d659ab003d5L,0xc72f30c63826f31aL,0xb4e7390c6f7090cdL,
  95098. 0x59ac6c36906ebe24L,0x39a7f06dbba4505aL,0x839991e1c58c413aL,
  95099. 0x020c23ffa20e0e84L },
  95100. { 0x120e4adaafc74661L,0x37bbcf63277fc065L,0x41049cf6b6dce799L,
  95101. 0x5b8d6b537b161ba1L,0x22218431a9610fb2L,0xde9ec9d1dfdde769L,
  95102. 0xd32bfa4d42d80630L,0x3885702a6244df4bL,0xcdedd1ed45592dfbL,
  95103. 0x0e1df45bfb4e01b8L,0x8f4bded286e215b0L,0x809354876a937e6aL,
  95104. 0x415278ba8130f723L,0xc6dc469238a821f8L,0x2207b119fd8b4f8aL,
  95105. 0x76e7bf53f9269cefL } },
  95106. /* 91 */
  95107. { { 0x5f12842827ebd187L,0x8d3320abb65aadbbL,0xb042765a72258695L,
  95108. 0xda3f33f98f0986abL,0x411807a7aebff503L,0x25c776ca825f71a5L,
  95109. 0xc0de7bedff7df24bL,0xda8b0f42165f1fb4L,0x5f3ff737731f3ae3L,
  95110. 0x4cd1d7e7193e0a52L,0x8df84aa3b6b3ba46L,0xba84b897aa1f3782L,
  95111. 0x6e7960cce7733ac7L,0x4d46d6ab50981a21L,0x1ec12c257cbb80edL,
  95112. 0x79e7ad272b96ef09L },
  95113. { 0x3cd970dc8f30caaeL,0x85cabcf10a6ebef4L,0x63c1863ec714616dL,
  95114. 0x1c50db0b519e3a98L,0xf39b896364cb13d6L,0xdf67d81f22547b69L,
  95115. 0x7157abb9d67db0ccL,0xccca25ba889491b7L,0xf689207c7a27e0dcL,
  95116. 0x34ae8fbe0fd43281L,0xa5d91f735720ec09L,0xb2f61909cdfd7bedL,
  95117. 0x1ec102324a039e32L,0xd3c3d65edb0d8fdcL,0x32c916c84fe5005dL,
  95118. 0x7f8c37ac4c0bea94L } },
  95119. /* 92 */
  95120. { { 0x33ec1e5443ac05e5L,0xda4a4da4cd8d3825L,0x86d88c0b88bf9e2bL,
  95121. 0x34d71dd0b53811dcL,0x655040d2a3c3aba4L,0x2bc40949b61611beL,
  95122. 0x1c2d426e279a4fa0L,0x535a5aa23b065ac3L,0xdaa8a32fc52ea890L,
  95123. 0x5a5deca79fddad22L,0x911f05fd2ab3b26fL,0x5dace7dbf37cd81eL,
  95124. 0x0e0e44e790d16b8cL,0x15e68aede4f5894eL,0xafe04999fc92a74fL,
  95125. 0x1d7703aa970e7c2fL },
  95126. { 0xa8a4c81d3f0062a9L,0xe31eb2b8d96a20baL,0x66dd98df864bd101L,
  95127. 0xba05f5924413b614L,0x51a67a0de9a555f8L,0xacc2f0972e4b52d1L,
  95128. 0xab5daaec7184ab23L,0xce08b43e7c7f691bL,0x520e530b76c427f4L,
  95129. 0x7d352069e423ebdcL,0x6b5e39e834df14ceL,0x3dcbf295446305acL,
  95130. 0x682cb2e1fe34cdc1L,0xd4ac45d1111f5afbL,0xc5ef63cd47f296f9L,
  95131. 0x0a2c40ec93c20871L } },
  95132. /* 93 */
  95133. { { 0x09bc384faf5747dbL,0x3bad6086c06ab86bL,0xa406882e9e7c1547L,
  95134. 0x2d5326d155977abfL,0x063a9a05da81deb0L,0x9a86e4a7524b6111L,
  95135. 0x1402f87a4ab2eb90L,0x7d0721d4d5c600baL,0x1a2fd9a9f289fdbfL,
  95136. 0xf5dce66decde6f07L,0x62171277dab9fa73L,0x6d2dc49f6c474babL,
  95137. 0xdc017e1f76eed033L,0xb97175c04da825d3L,0x6c297e3d54b05e43L,
  95138. 0x2efb454656c9c87eL },
  95139. { 0xa4712b008b21c064L,0xd186fe424a70629eL,0x6435b3409b74f0afL,
  95140. 0x6965aa437ec9e629L,0xdda14673c4c60d08L,0x0b656670bf3057aaL,
  95141. 0x7f05e8403ce86f60L,0xc05073a904401a16L,0x16b1e638294e607eL,
  95142. 0x2078325269cf7046L,0x2941141be8ce7d3aL,0xd38ad8d37577053dL,
  95143. 0xdba68fb3caa6630dL,0xecbeaff1e9504350L,0x9f5166d51d2d760bL,
  95144. 0x337532ce462891e4L } },
  95145. /* 94 */
  95146. { { 0x3f1118533a00bb9bL,0x2d2ffbae45f66685L,0x9ae11a85d4aee24dL,
  95147. 0x18ba1e1b0341856eL,0xa9ac81782731349fL,0xc13dfd4a545715b5L,
  95148. 0xa5f7423c5daad2eaL,0x30a483b9535b76a7L,0x92e9ada4ff873e9bL,
  95149. 0x15662d84723a1055L,0xb935497b8edac4e0L,0x61b6441a39d8fa70L,
  95150. 0x1541d75640d1589fL,0x62994237f0a05f0aL,0xfd8b00346bb28908L,
  95151. 0x192a2b5dd4cd32bfL },
  95152. { 0x63576628365ced07L,0x029f32fb05de1d1fL,0x6d17b9bcbf40a7aaL,
  95153. 0x1b1b2a089bb50a47L,0x9389abbb795a6278L,0x52cff60fb34fc19bL,
  95154. 0xf3ab9492387d8739L,0xa8f053e66920ccd6L,0x3ef2dd4b63a9b4f0L,
  95155. 0x9ab0ede151e82129L,0xafba0c0b0838bfa1L,0x2bd5a7ac9ffc11beL,
  95156. 0x058bfd9595cc0878L,0x686d48a3f8c2f0c6L,0xc33abaaf1d9b31baL,
  95157. 0x632e22893bc0c268L } },
  95158. /* 95 */
  95159. { { 0x1c851d2015a1cccaL,0x4efe290c7e522bc3L,0x0b741d5518eab053L,
  95160. 0xae656197bc85e217L,0xae13141e01cf8b29L,0x2e2cb59366948478L,
  95161. 0xeb57bb0fc31bd8aeL,0xdecef5d6c264e788L,0x6fa856cc9cb96d86L,
  95162. 0x2db16813279183daL,0xf03f3820383d796aL,0x58a456ff1d0c6fedL,
  95163. 0x255898058a6abd9bL,0x339f52c583f96f19L,0xcf6ded8fda7e9ea7L,
  95164. 0x68c3d9c15d1ccd45L },
  95165. { 0x67e26265e6b392b7L,0xcec1d9bf775d9509L,0xe16abcd4d76514f7L,
  95166. 0xd86f59b20de72e1cL,0xa66e43cd1adfb033L,0xdb34434005e457ccL,
  95167. 0xb67a79165681daa2L,0xc32e7babf0114731L,0x066fe16ed3b1e961L,
  95168. 0x924e298ef63d26e6L,0x9bea0dd8541add6dL,0xef9500df9982f971L,
  95169. 0x5c876e63c5f076acL,0x55e12ae5b23d396bL,0x09efbb362ec6747aL,
  95170. 0x8f2055ee233286a5L } },
  95171. /* 96 */
  95172. { { 0x4a4ab9e3b82c1af0L,0xfc65e9e7f2cae264L,0x4feaac0a60187d46L,
  95173. 0x27d3f335e393b363L,0x9c9f7c00819bacceL,0x3f7418b5b8aa6611L,
  95174. 0xffa94557372aae95L,0x937d78048db38589L,0xd10c86df6f1fbc1cL,
  95175. 0x48aebd89a2f0a0ceL,0xae5d5fa2367439ebL,0x103a6a0b3f17d2d8L,
  95176. 0xf233f68a411d9894L,0x7fece8b3218b67a2L,0x0422540f2319bf06L,
  95177. 0x1292c8c9340d322eL },
  95178. { 0xf5eb55870386463dL,0xd4bbc2b20371d97fL,0x1b3645710b819c5aL,
  95179. 0x0cbb42d6cf04ad41L,0x5d819c7666939ec1L,0x8745ac13a01847e7L,
  95180. 0x4f704b021c7232e4L,0x2c9e58a0acb05780L,0x9523b8b3b561e295L,
  95181. 0x3384df0079f9ba35L,0x78231fc21eaa9628L,0xa2eac54f8aea2b90L,
  95182. 0x8075ed7730d1c263L,0xacb44ed5fb339000L,0x92546ac2f011293aL,
  95183. 0x7c78762beb821764L } },
  95184. /* 97 */
  95185. { { 0xb8f7d6fb067902b6L,0xb2823a43d1735980L,0x062cfb1259741dddL,
  95186. 0x6e391b074033f95cL,0x3831d0a368589b8cL,0xe3474d49522290f2L,
  95187. 0x4dab14d6222e1f3aL,0x8f00fcde53f08d39L,0x559917ae707f28f5L,
  95188. 0x166aa0ba068e607cL,0x602713e7d7e1f824L,0x7c2555404d6a328fL,
  95189. 0x0d2e32649890cd2aL,0xf2207944eca0b20aL,0x5c98dc0752f4e09cL,
  95190. 0x69403504d84de81dL },
  95191. { 0xf8b7b366e5407206L,0x1ecf54cf0d88fa8cL,0x6fefe548f7272e6fL,
  95192. 0xd653137281ab4468L,0x52cb5f0e4e474408L,0x9e426b3a6490737fL,
  95193. 0x2576c19b4980d071L,0x91f346280f272cafL,0x78e60a4f468f31c9L,
  95194. 0x8776a32990844d89L,0x8a55700cb951582bL,0xab1af36514b1adbfL,
  95195. 0x22ebff92fbd343efL,0x32f9fb01b7d81f34L,0xad850e06ba6b30e1L,
  95196. 0x6da9e027bc5f9546L } },
  95197. /* 98 */
  95198. { { 0x21eee4c25c9490ceL,0xa96ec4a30df68381L,0xe6c607e0a4a9368eL,
  95199. 0xd8b0492a4bc262f3L,0x0846a210460c34ffL,0xf7ff7a6428df33cdL,
  95200. 0x10c5504421827612L,0x9d25fce9149bcd01L,0x725611cdcfc613dcL,
  95201. 0x159f7e8897f51ce5L,0x3fa3bf314e8c08b5L,0xea15611575e7538fL,
  95202. 0xd1e0a95191c84020L,0x0d2268bacf02ad0aL,0xa04c6ac4058b8e5fL,
  95203. 0x773b40b9b3515912L },
  95204. { 0x00ff2cdc3631cfd2L,0x14c4c2d3807737bcL,0xd600616a338a5270L,
  95205. 0xd0e3306db32cabdeL,0x336738eaa70b17caL,0xf2f4aa8d79f353eeL,
  95206. 0x712f6ad9576f3ad3L,0xe427985289b2bce0L,0x05d8f94dda92ca30L,
  95207. 0x9891d475d8492dd9L,0x3e06a5ca4d15e4bdL,0x4725d4eb254eabbdL,
  95208. 0x31394acec0ed513cL,0x7e0f9859bbfaae6cL,0xdc125546833fd137L,
  95209. 0x12b46385c56c4f75L } },
  95210. /* 99 */
  95211. { { 0x810dbebd932951deL,0x96959d425aa69c94L,0x5fc49c04ecb2f08dL,
  95212. 0xac74f0cc2250b82cL,0x96a439a53aec4e1dL,0xc33cab9a90499acdL,
  95213. 0x2fccde6654d9b3afL,0xf4af285c3863ae8bL,0x2373373e46febf88L,
  95214. 0x751d672c3c9ab7edL,0xc1c51130fe12020cL,0xad82402f52f3e56eL,
  95215. 0x3489ab7aa4a64a81L,0x0a1fb661d9f163f2L,0x17c69be10e553317L,
  95216. 0x61c1935e7d88d417L },
  95217. { 0x2e722d9b3492ae43L,0x1ef89d950538f05aL,0xae77e588200aab63L,
  95218. 0x2872c120eba4b117L,0x5c2432c83a461cb8L,0x315b3434cb938f26L,
  95219. 0x05bf2ac58c4c7dc0L,0xd2e501dd596b378dL,0xa8506c9fcb890c30L,
  95220. 0x3d0af4617c361f0cL,0x21f7b7185a35cbaeL,0xbd1035f1f3fc0138L,
  95221. 0x74628af58b248edfL,0x8d6421d048c9cae0L,0x75e3da392ca18773L,
  95222. 0x27ad0df271d3db94L } },
  95223. /* 100 */
  95224. { { 0x9e3bda79305b5aedL,0x2c67d4a45998d6a7L,0xc855e1d30f7eb700L,
  95225. 0xc18a7e9e147d1c44L,0x3ea99618c89540edL,0xa53be20a7e6bfd20L,
  95226. 0xc9487e64ecc14437L,0x7297920734ef85c6L,0xfa0d4e71d5e1ebd5L,
  95227. 0xfda2b1e64d48d6b6L,0x782a1e0566e200d4L,0x2a3c70da5a5366a1L,
  95228. 0xfe3fbd2b1a473738L,0xd7ef8c067fe020e8L,0xec686fdeeacfb665L,
  95229. 0x5d9b5e276dd1542fL },
  95230. { 0x3637c5a5cb3e472eL,0x2153d92730a1405eL,0x009992e5b4498558L,
  95231. 0x18f00ccdf39a0851L,0x26237c11b5c6c560L,0x418ed4081343540eL,
  95232. 0xfef7cbf07e7f3184L,0xecd92366bf48576bL,0x1b75be1abc94c91aL,
  95233. 0x8e1778de4a162276L,0xc52e57d3c5c6bcb8L,0x5cc382c75ab71858L,
  95234. 0xe12c2c283f6e39f9L,0x4c7e0ef2d62735fcL,0xe071deb1835a5996L,
  95235. 0x24f891cdcbb8c766L } },
  95236. /* 101 */
  95237. { { 0x24ef60bf6778c1e2L,0xff49c03d00d5be5cL,0xec11986e2f01a09fL,
  95238. 0x59a728a4ae096e58L,0xaabbcedb7077984cL,0xfb473bd2870ca5a5L,
  95239. 0x8c928c614de30e3dL,0x3fae7f9a4f67abcaL,0x83c2b2ebec21a9cfL,
  95240. 0xafa70d629cd9b5deL,0xadeaea59c60b18dfL,0xd5fef7be4049b54cL,
  95241. 0xfceebc766dd310e3L,0x7748efe38f6321ccL,0xfe9c32b118ee8af5L,
  95242. 0x863ac3cfd42df612L },
  95243. { 0x0a36fca7b85a2fe2L,0xf3e70d08ee429dc6L,0x8c9ba209141c3944L,
  95244. 0x306a810667272a0aL,0xe69a1555f968bd06L,0xb86f7e47153c603dL,
  95245. 0x9706614aef56e4faL,0xc0dc36b898780b4cL,0x43657fe23a1d3263L,
  95246. 0x01f97a86435522c9L,0xd91897f6edfef679L,0xebbe31d46daa17a0L,
  95247. 0x6f17910085accfbdL,0xe0da6e328f9fc1deL,0x1c9d53dbe1e7142cL,
  95248. 0x3e3f1b1e8b86725aL } },
  95249. /* 102 */
  95250. { { 0xb7ea15c07b7fbf05L,0x992f11b61f1a3882L,0xc9ddd95ad1dcd1bcL,
  95251. 0x31f5b7faad0f7e8bL,0x2936e5ebfca7ab79L,0x30f417dc19a55be6L,
  95252. 0x1f6f4e4343cde554L,0x971f5e6582f044bfL,0x73c3b8e44288c408L,
  95253. 0x61aac59fb807f575L,0xa64ee2dd818b58f0L,0x6f7a0a6097a3b0d3L,
  95254. 0x8b85ecc80394b058L,0x9a059474bfb3517dL,0x89ad5977a79c3f06L,
  95255. 0x81208ed8700a8025L },
  95256. { 0x1093509914c4ce37L,0xf34bb843a1aa48a6L,0x86007024580d58e8L,
  95257. 0x6db42c49b375b8baL,0xac365524ed3bde83L,0x5521e1b4649233b6L,
  95258. 0xbc7cc5d564dd946fL,0x9c14b035bfb5b6aeL,0x7f22ba180146c1a3L,
  95259. 0x0b62fbbc872214f5L,0x3acfd7f7b4921764L,0x5ff10da1cb4d6df1L,
  95260. 0x660e262062600a91L,0x7ac7da9d81d9167fL,0x6e8e260cb6e7a199L,
  95261. 0x44383fb880deb3c2L } },
  95262. /* 103 */
  95263. { { 0xe107f01de44f9af6L,0x36381a4d8cb1fa1cL,0xe65be3ecfb7dd493L,
  95264. 0xd0b8435a26a8839fL,0xee60f9153ec789d8L,0xe25fea502bcc5e1fL,
  95265. 0x0477c0c57e44a81cL,0x349e9f83230ba5b8L,0xdd42f32fde180dd9L,
  95266. 0x8b039eaf64a3d11cL,0x80ef884ebeb7083aL,0x288e60c4f12742cbL,
  95267. 0x44156cc5720a0262L,0xcd547de67253b77fL,0x9829a6eca6013a59L,
  95268. 0x8aee708f0d548445L },
  95269. { 0x18f22d9c32c54409L,0xa9ebfa4675ebaac4L,0x90e2e92886284981L,
  95270. 0xd0201f6f6b3a8e0cL,0xc973016cbd77641eL,0xf926f2f070170575L,
  95271. 0x4984048ffec0ce01L,0xbf696211f319d304L,0x74b5c844c91a88c4L,
  95272. 0x4c40fbcee0030a82L,0xbed67525e4f6d521L,0xaf7e47cc29d67d1eL,
  95273. 0xfa307db8c21d3536L,0x56b6c46abbb29405L,0xf059a7e3033e805fL,
  95274. 0x970f61fe6096a5a0L } },
  95275. /* 104 */
  95276. { { 0x1bc53d231bec8e4aL,0x8809ac1435a6034cL,0x4ee081da509e464dL,
  95277. 0x496ae1fd8a488235L,0xa1ae9863325864b6L,0xbaca13e974cd069fL,
  95278. 0x3738cc58b1d8a6b4L,0x5fa71f58e76b9da4L,0xc919be88c7eb16fbL,
  95279. 0xf5c8f13fad4e429dL,0x4583b6712499f9edL,0xbce20115a10d8bd7L,
  95280. 0xf66d76055790bb7eL,0x9316aede482b78ddL,0xe0d8fb2d75f855faL,
  95281. 0x404b5b945a7dcca7L },
  95282. { 0xf9ee682a517a15c7L,0xaae4cfbcef880202L,0xcee2c1395106a354L,
  95283. 0x5de60192170febe7L,0x589e39fd73d0c54bL,0x195c71358c9092b7L,
  95284. 0xcb7ed53f0a7bfe5fL,0x2bd9242af61cc979L,0x8d2ef16c5395f7d9L,
  95285. 0x0d4ac1ca70b32f09L,0xa587526d52d185c1L,0x2932b04a942d6195L,
  95286. 0xfe25a979a500b0acL,0x5fa1f4ae562fd230L,0x60f55af220da253cL,
  95287. 0x7faa11b583146002L } },
  95288. /* 105 */
  95289. { { 0xb0ba4f0c6e402149L,0x3584cc1d963cc119L,0x7740dc1aa6527476L,
  95290. 0x3f77ff75c95715f2L,0xb2f234ad3f89fb0eL,0x55159032ef9be3ffL,
  95291. 0xfc9fb21d04237e82L,0xeb2eff38a153ed93L,0x89d53ae010041d13L,
  95292. 0xcf2e545b7f1bd828L,0xdd4a27ce43953ea5L,0x00d2e5d4d85e75c8L,
  95293. 0xeb93ed62241be1c3L,0x1e53f25f0242032dL,0xb9957636c3a4e701L,
  95294. 0x14b63a52ed98febfL },
  95295. { 0x7610b55371c43336L,0x19dfd4a623a4824bL,0x7b97a2e00286051bL,
  95296. 0x86abbb9c8f5f1edbL,0x67a57d779b67daadL,0x8ace506dcd5ffafbL,
  95297. 0x85da9f9589ac3c63L,0x081cbaa875a3d150L,0x03353d8fe9346ed2L,
  95298. 0xb2ab61f1a1f9a02dL,0xb0cb09373a659c71L,0xb7e0e30b4f5df8a1L,
  95299. 0x77c4c741eb7d5a1dL,0x8f046c9c728e5cf0L,0x32dd0bc7f7c171acL,
  95300. 0x02485873836d2655L } },
  95301. /* 106 */
  95302. { { 0xcd40dd2375a4cd8dL,0x132ca43397bcba78L,0x30c5cd84258d61f5L,
  95303. 0x0a7ec059da1e8e68L,0x07a8f1711d65d40aL,0x869e655ef4350d76L,
  95304. 0xb98ce6f05983ae42L,0x7b61391d9d8bebd0L,0x3a529e25b1ba5d49L,
  95305. 0x46f732e91f6b2cf6L,0xbd66ec6a3fa3b629L,0x397950ecc3ef0ed2L,
  95306. 0xee9008cb5f08b476L,0xfd6be425965a0e2eL,0x78ed513c1177bc87L,
  95307. 0x6798cedffe512daeL },
  95308. { 0x49e3f8fd1b97c5c6L,0x39fbab3e78c3b33fL,0x4427441240f595baL,
  95309. 0x174225b95d7d4376L,0x880b3fcc79c44777L,0xdc3aca833296b245L,
  95310. 0x55913df71734e184L,0xa4db23d39c934472L,0xcebb3733d1420a11L,
  95311. 0xb9d20cf9f3608bdcL,0xa618acf630cfe13fL,0x75f06b315f30874cL,
  95312. 0x506efe7f9f0005a5L,0x8aaea78c01bfc9dbL,0xf9179255f78e7c41L,
  95313. 0x3ea7aed252e96395L } },
  95314. /* 107 */
  95315. { { 0x98617e045b06ae25L,0xbcac148dcb5750efL,0x91ea2f0e604c2ba2L,
  95316. 0x00c19f6b76b78975L,0x79b9b6d0651da181L,0xf3225bebc945705bL,
  95317. 0x30b435f35c005bf1L,0x440b4482bc24d86dL,0x2b8f0996d6373777L,
  95318. 0x65fd6c561c44b4dcL,0xe9405ee630906999L,0x19ff092408aa1ec1L,
  95319. 0xeef3246a3d2f2895L,0x016c3765bc746797L,0x62d2569fd0705f7eL,
  95320. 0x6a8ad39c05250044L },
  95321. { 0xe45f020d46be7282L,0x9405afed21380f12L,0x4cdca5bdd5da6ad0L,
  95322. 0xc2d6f1847f8be61eL,0x20132953596b8178L,0x8d3b1e7b7a8df954L,
  95323. 0x757c61bb39572b4dL,0xd749b57b80cc3b56L,0x9590ff9337b3ffecL,
  95324. 0x39bbb653145dc94dL,0x70c1c6062335e573L,0x9c2e72d7f763febaL,
  95325. 0x4768e424cc61b732L,0x777d2fa6aa73f2caL,0xdee4dbaac5cb58cdL,
  95326. 0x1a1811799cfae1aaL } },
  95327. /* 108 */
  95328. { { 0x6f6ff62f77575ed0L,0x18f14fa97d1da99bL,0x2e72aefb69efd7f6L,
  95329. 0xc45ab4cbddc28633L,0xb0e20d48586c5834L,0xd397011a39775dd8L,
  95330. 0x0130c808f4134498L,0x2d408ebaf5115ed8L,0xc506a05c0260ded9L,
  95331. 0x9e5b736219cab911L,0x4cf508c6e8693a86L,0x4e71245fcc773617L,
  95332. 0x2f71aa1f95d89ca3L,0x4bba7c6a607bbc98L,0xf3a515e7212b7fd2L,
  95333. 0x7d2ddc759230f5a8L },
  95334. { 0x3d05816d4ed2cae8L,0x4cf6bc7db9c00377L,0xc23e98e6646b08d4L,
  95335. 0xf9ee6c614b9c0180L,0xe11c9a13ef9179c1L,0xa5b6147e8ed9688aL,
  95336. 0x7afeb648d06670a7L,0xd670333c17685275L,0xa89dd96975f9e8f2L,
  95337. 0xbb57228d37a68adeL,0x21a05d5e454cb186L,0x4810158f063dd550L,
  95338. 0x92dd4f084cb6caf3L,0x70c4d8527854abe7L,0x845969dc6e729d76L,
  95339. 0x5a52f87ab1bf40baL } },
  95340. /* 109 */
  95341. { { 0xed019e9109ecacbdL,0x6544023d7b89bdeaL,0x7cc51f0b5707371eL,
  95342. 0x14832b0416c8e217L,0xb1aa668281259ab5L,0x6e100f9223e361d4L,
  95343. 0xe593eee9e3a95c2aL,0x699b6bbd16c10e26L,0xad4878739473a13fL,
  95344. 0xf1c14dc5b274987cL,0x57dc00752559e2e9L,0x8449849dc3d47ad2L,
  95345. 0x83df278add527793L,0x770e3ec8eefd5b99L,0x2ae5844676bd02a0L,
  95346. 0x17f027643e705ffeL },
  95347. { 0xdda4010d29abea1fL,0x636b96952407ac4cL,0x96a601290433218bL,
  95348. 0xf221fc3b163d534aL,0x05ba15beccc20565L,0x1238e54d96285577L,
  95349. 0x1b144257878804d3L,0x96fbf304a89a9fe4L,0xc8a7f06c4be642b1L,
  95350. 0xdd1a20e86e2b085eL,0x8f7f27c2ff4a591dL,0xc17b0753a4a343b8L,
  95351. 0x684b1e88bb173d4dL,0x3accea443dc07bbeL,0xdb15c88d4c441d77L,
  95352. 0x0ef0309a53e5957eL } },
  95353. /* 110 */
  95354. { { 0x4fc25721fa8e5b60L,0x646938ad691c0bb2L,0xe46d4b760b0a2248L,
  95355. 0x863f9ac27de16877L,0x503bb6ef2721c630L,0xf8c199df0b67fb02L,
  95356. 0x78c1ed72e07abd39L,0xcf9deb7bb32f0ddaL,0xaff726f06c3c89f3L,
  95357. 0xb7008b2d1972225aL,0x8f5a61174f145f5cL,0x4e0e6f8c457c4f37L,
  95358. 0x8bbdaa441c453c64L,0x57be326da6e92c80L,0xa9bc3fd95d773561L,
  95359. 0x3d3b6cc6bb37b72aL },
  95360. { 0x6e6f12cc9722c880L,0x3a1b6ae7286b6889L,0xba1cc09bad2fafecL,
  95361. 0xad64ad7a43bb8befL,0xa5af6a0097c3f4c3L,0x2afcb0d9c353a91bL,
  95362. 0xca13fcab69ccbf6bL,0x699a1391f2abc190L,0x2dbd554223a247e5L,
  95363. 0xe206180f95488d9aL,0xba9e7bff1244cc3cL,0x29297abe87d3a365L,
  95364. 0x4054fa38fa4ca5e2L,0xb390623d67be1b6cL,0x1fa67c5778f41a44L,
  95365. 0x2e946e43c7b544e7L } },
  95366. /* 111 */
  95367. { { 0x2980fddfc60934aeL,0x2c3e7eff164206d1L,0xf75e7f96416ed75aL,
  95368. 0xfac60cf35cd0b2dcL,0xddc4bece1faad87bL,0x753fa87c9849e5ddL,
  95369. 0xc5d516a32c1bf1aeL,0x565dbea814732b4bL,0x007ebe3ace48696bL,
  95370. 0x40ca74d6cdb97694L,0x3f5cd27065e4e7beL,0x74847c013aac4ebcL,
  95371. 0x6762e03443d6c3a1L,0x690d8c95467a076aL,0x768d78d61eda677dL,
  95372. 0x0997ce550181d8c2L },
  95373. { 0x9297746c965a0b81L,0x48b58be6e5e12dfaL,0x5573b3c4715f437fL,
  95374. 0xe425e907b565c459L,0x4f43f5121582797cL,0xe5dafa6f8ea5474fL,
  95375. 0x2aeb8fbe13de04acL,0xed7f95f0e8a07c83L,0x3e012a6e662c09feL,
  95376. 0xbf96e9b8c742cf17L,0x8ea5759ae28a1c45L,0x475941b45cf4e2f3L,
  95377. 0x7dd3c02df901a019L,0xe7a4deea70916b2eL,0x50b272b52fa9b988L,
  95378. 0x96f9f09fd0917fe6L } },
  95379. /* 112 */
  95380. { { 0x78e8aac42c310a96L,0x32a98303f7a2a734L,0xc46ca83d23962207L,
  95381. 0xad131e6ed9541280L,0x5791fc5e2cabe911L,0x50cb77eb841b6c68L,
  95382. 0xaff93dea3d3c8878L,0x06541f1df1007bceL,0x4ee729c255cdf1fdL,
  95383. 0xe0f71317323e3972L,0xa2de7a41ad4d08c1L,0xa9912abfa35e22bfL,
  95384. 0xa050122b89b03325L,0x8b9e51f406514d4eL,0x423c7aad79d3e0abL,
  95385. 0x71998e2640b8fea5L },
  95386. { 0x40140fcdceb6ed78L,0x653cf37718534516L,0x0450b65ae8d60dccL,
  95387. 0xce6c1a769dac55f8L,0x8a96a92dae05686cL,0x2fe4476212712562L,
  95388. 0x747bcb50a4f39425L,0xf0ec6ff2fc531fc2L,0xc97c344710fe9ff0L,
  95389. 0xfb4887839c792cffL,0x552c5248026fb019L,0x4001a29cd804c290L,
  95390. 0x742b5ad835c8ca73L,0xc3781f176ee5dfa0L,0xca6b85f03dfa4ab1L,
  95391. 0x8389941a0b0d32acL } },
  95392. /* 113 */
  95393. { { 0xc0f062a2de067dffL,0xd4f32690bcb80162L,0x98cd990d0707a2bdL,
  95394. 0x5afc63b8fae4a391L,0x684f1b7bb32ad814L,0xb0a2dce2f199dfb1L,
  95395. 0x2260e17f48f25848L,0x7393db00c2d5e862L,0x9e88f854338cf171L,
  95396. 0x0067942902acf522L,0x19157cb86835af3dL,0x2faa6f92b8a2614cL,
  95397. 0x04ff95f5134ec46cL,0xcf00626efb7a8135L,0x454b3d05b37a4704L,
  95398. 0x1fbfda312694ec25L },
  95399. { 0xfdebb657c8f69c77L,0x92a8278ba3df88faL,0x463b5571c1fb78b4L,
  95400. 0xd2066a1a11c71a33L,0x10c88143089958b0L,0xb975c7e0cf9d67a6L,
  95401. 0xdaa5d20873037b8fL,0x5ee5005d40bf5861L,0x300e6ce77dba69a9L,
  95402. 0x893c3cb3c962cc74L,0x0ac986294cf84055L,0x0a7ef63a225c9d70L,
  95403. 0xfe184869b91e47e8L,0x1b9d7deb8c2f84beL,0x67788915c0e278bfL,
  95404. 0x4f9488cac426f19eL } },
  95405. /* 114 */
  95406. { { 0x610dfcd4dd51b8ceL,0x0857927836230e80L,0xedc7ff1c36599562L,
  95407. 0x905ead4be2cae877L,0xa1c325d9e7967608L,0x3e39edddbd38926cL,
  95408. 0xda92c8685f6f0a4eL,0xe16f800af47a0fa4L,0x50b4db5be5f60aabL,
  95409. 0x3665412f983853d3L,0x64b622509b79789cL,0xea5600584e0e72b2L,
  95410. 0xabbd4901e555c2bbL,0x378419a717292e11L,0x6e0b5aaae174218fL,
  95411. 0x688e06848f796b92L },
  95412. { 0xcdfef641313b8f64L,0xaef11b7b942c7462L,0x067cfb775c0d8abdL,
  95413. 0x608ea5f0af4041a9L,0x23d5bd826935210fL,0x5ab904fc27917a08L,
  95414. 0x85dbb1fe45d22d21L,0xc3d5e5094d36159fL,0xaebb528e1d39b8f2L,
  95415. 0xdd5ca828f44acef0L,0x24209adf20c57a54L,0x5742b43378f95f44L,
  95416. 0xd11fa7d9a9337d37L,0xd66a0c09c64cfdb7L,0x56e55b8f9bb817ecL,
  95417. 0x1723c7e3e4c41265L } },
  95418. /* 115 */
  95419. { { 0x9a6486d8dc8b43f3L,0xfc3e0e6126409e68L,0x1889c437d9b46003L,
  95420. 0x3a8503356284ec7bL,0x5a3665c46a9dbaeaL,0x7bf6941de978933cL,
  95421. 0x1ed5a51069341490L,0x664a7b7a8cb8002dL,0x603f76e460ed0a59L,
  95422. 0xc3e06ba31f4ebf27L,0x296ced41f2c38a7fL,0x2ac18f79cf1db08aL,
  95423. 0xc919e882cde7a3b6L,0x15e77d29dbf68b06L,0x21978baa4e947cb5L,
  95424. 0x84bf542b7630993aL },
  95425. { 0xc1decda9e364f21eL,0x0d6cf345012e557eL,0xba246848588f90e1L,
  95426. 0x9f6dda4be3b104b8L,0x6bf7a346e3aef57aL,0x210299fee8327ea9L,
  95427. 0xaa99f487da95e6c7L,0x24ff813ed2cdf645L,0xd1dbb2d28bd414b8L,
  95428. 0x065101afcafa1a61L,0x7d9f4b9a9cdebda4L,0xaf41b395e41039e4L,
  95429. 0xe3e9e6bac50adf42L,0x4f2133ae341e9e49L,0x4968c0f3cb157f23L,
  95430. 0x383f827bda068153L } },
  95431. /* 116 */
  95432. { { 0x2ec46a216583ff4cL,0x4e645a294ad709e7L,0xdc66e9cfc04ca12aL,
  95433. 0x82f128f49160a7e5L,0xbfb227b1569c762eL,0xf80c7963c2edb8e7L,
  95434. 0xa7dafe0649a0f688L,0xb7e417542d14b8ccL,0x3a0c5c5386de40beL,
  95435. 0xf0d052861db79331L,0xb902ce69fbfe071bL,0x61e46956210e9903L,
  95436. 0xfaef874ef703ebb8L,0xf668947edd5f78b6L,0x6fe865475af5ea3aL,
  95437. 0x3b121f1543f94625L },
  95438. { 0x5b26e847659275e9L,0x47581cfd6d0fce50L,0x55f5cbfd8aa3f1efL,
  95439. 0x1e7be315e484e60eL,0xd8f1a20ffe9698e4L,0x25d46da97ab04784L,
  95440. 0xa526db75834cdb3eL,0x1fd408d98d08a009L,0xfc004b205b5ca816L,
  95441. 0x5b3e3bb365e4bbe8L,0xf50cc125759bb6efL,0xf05fa817c2fac737L,
  95442. 0x9ee102d2d273951aL,0x2a8e540bfecb3367L,0x673446fb2a6a515fL,
  95443. 0x5505e1d137290c83L } },
  95444. /* 117 */
  95445. { { 0x0c3014a1d15e68a6L,0x6f9f0b2664dd35e5L,0x18c3742d03ad67f9L,
  95446. 0x74818c0ed2c14484L,0xc51811690d41a3cbL,0x65c8c83fc49f3e9eL,
  95447. 0x9b260c612c279386L,0xf6086faeced04e9cL,0xa7b2ccebfd7c4758L,
  95448. 0x4b3c313390297fd8L,0xca8264e809701ac8L,0x9f976a87508b3762L,
  95449. 0x5d582714983a8dfeL,0x350d2669d9d598e9L,0x85cb89cb0f6fd348L,
  95450. 0x617d80d4a574317cL },
  95451. { 0x4cef267e70022b67L,0x80536bb53768b94aL,0x3153a566d2784462L,
  95452. 0x49054d4438243919L,0x8d11e1725df78c4aL,0x9b252a71d5a1e35aL,
  95453. 0x07866c808171e31dL,0x0a8501db1b38a00eL,0x2ed932b8ce770236L,
  95454. 0xa2d776098edaf7d0L,0x3aee5dabb93006e9L,0xfaffc8c4bbfeb036L,
  95455. 0x077b96784e21b38bL,0x491fc59fdca8e069L,0x3f624f550e938471L,
  95456. 0x5156f5087cd1780bL } },
  95457. /* 118 */
  95458. { { 0x58234e220206e8d0L,0xf5f6f5d47f15af32L,0xafab7289d638950fL,
  95459. 0x66ec4d097d4495f4L,0xad890c5d68da80a9L,0xe4aa092064f8a36bL,
  95460. 0x799e257e0f4d5c5fL,0x44c677ae24495e31L,0x720387b3a5b8e352L,
  95461. 0x703790f475a287b9L,0x54895cc5c3c1f2f7L,0xb8680f9b41a7fa41L,
  95462. 0xfcd47458b00b008bL,0x149cc838ba6473cbL,0x78ed5f7aac9be19aL,
  95463. 0x5254599cb33765baL },
  95464. { 0x08739679a21b54c4L,0x029ece2ab6497d9dL,0xf14f1a92c8488640L,
  95465. 0xae48dcffe9fa79d9L,0x14b911c246c208dbL,0x5ab0fbf2dae3f69eL,
  95466. 0x180ac87ed1edb838L,0x146fd718188586bbL,0x210eb6545467cbd0L,
  95467. 0xaa2394081667cfeeL,0xdb125c1ab73d1a60L,0xde685300881c1cbeL,
  95468. 0xfe34c71337c30232L,0xc6c6070e6f3c8d18L,0x07e365bab4af4e83L,
  95469. 0x22f0a7eddcf82b45L } },
  95470. /* 119 */
  95471. { { 0xe262791fea7f1b7fL,0x9c3d8c5ddcff09d4L,0x86c2a9c339c7dc58L,
  95472. 0x4dad40174276e8c0L,0x0a918f59e9fe1d56L,0xb8d796702aa810c9L,
  95473. 0xeb7a88364aa5cdc4L,0xfc4c23bbe7afa72eL,0x4dbb5c9e4ac86908L,
  95474. 0x37e390136a0c7e6fL,0x855d700149c218d2L,0xe475bc6794b324a2L,
  95475. 0xc98a8dc66287a071L,0x395a299b5fb4323cL,0xe186c3ee0c0389e9L,
  95476. 0x79f81e6f16734c46L },
  95477. { 0x83f2c1f3364f3c4eL,0x536b2ac51367e14bL,0x44a6dcfc5933e43dL,
  95478. 0x34e5947510d961feL,0x08234ece7e3f2aaeL,0xcb92e00abdea7f25L,
  95479. 0x1efba4f0a791a124L,0xc2086fd21192d53aL,0xfec0d0fcb51c8af6L,
  95480. 0x48d1b2cadc0f1b5fL,0xb07a388f812dbe19L,0x40873a6adedbdd45L,
  95481. 0xbc2a1268d702589aL,0xbbf6e3a817e27b64L,0x73ee56636d386e85L,
  95482. 0x442ecd379de7c000L } },
  95483. /* 120 */
  95484. { { 0xb4cd1ae68a2f90a6L,0xf277d41d6f5ad0ccL,0x6a3828c4401d4b8eL,
  95485. 0xe817a134d8376631L,0x142b758df5e1124bL,0x25fbc69dfd6b95e4L,
  95486. 0xa30c9f5fd74a9e3eL,0x5ac0f163d89663ceL,0x32a9eef70ce6386dL,
  95487. 0x7a690ea5d8ed5544L,0x5de23ff09889427aL,0x75ad36a5eaaced58L,
  95488. 0x3514a6c1d3e18465L,0x3d9162c37f093910L,0x5c10add9e33d56e8L,
  95489. 0x85176b7306aa691eL },
  95490. { 0xa32110fa28a21e38L,0x97b6379d5773d538L,0xd3697bbf2d020dc4L,
  95491. 0x59177593961833cdL,0x6d7045fae5fa8516L,0x3390f29a786ab5d2L,
  95492. 0xac0bda30dc4f5b70L,0xcca0240adcc615c6L,0x8e1f1702c5146d91L,
  95493. 0xceb472d0a72cef87L,0x848407080b669ba1L,0x79b08f9d7e61aa0aL,
  95494. 0x388160be4669560bL,0x23935c2d948eb71eL,0xd7fd83c09431590cL,
  95495. 0x8ab154bb6e5768b3L } },
  95496. /* 121 */
  95497. { { 0x28686003353c4a96L,0x4e5c60e8905cd835L,0xbd5913648f66f8ccL,
  95498. 0xb6b80b989faccf9eL,0xbc1c1faee32639e5L,0x2f6396d2278aadebL,
  95499. 0x00a796d01898202dL,0x18ab548f3a474835L,0xacd056c3b31b0e3eL,
  95500. 0x15ba68dd0164512dL,0x203836d94b03f3bcL,0xd64eca6bd8f206c5L,
  95501. 0x931a361e9f1779b6L,0xd82690fc52ab34a8L,0x342bb8e092922e22L,
  95502. 0x1bfcdd84e00b02a9L },
  95503. { 0x310b9a4375a365d9L,0xd4ade15e08d8fb03L,0x9c9753d7d742df83L,
  95504. 0xcf7309d4de318742L,0x1228e2123360ace0L,0x1043d238f7669643L,
  95505. 0xfc2adbedf90f5a53L,0x41d64cb77b5f9397L,0x5200b30ac446d010L,
  95506. 0xc3c8642d231720feL,0xfcc0122db9aa2075L,0x856e3b12041eae47L,
  95507. 0x4586445568c876a4L,0x1a1c7842233606b1L,0x9b766d1f227757bfL,
  95508. 0x25b78a3bf7b9d4f1L } },
  95509. /* 122 */
  95510. { { 0x90835718156707ceL,0x9bdc23984314f90aL,0x017c885a8be57dbdL,
  95511. 0xd4bba225ad63a4b8L,0x5ce71b8615aacffdL,0x5f26647572954722L,
  95512. 0x0a80f1f74f0ad3ddL,0x010538a3fc352ed7L,0xf8a640454203c6caL,
  95513. 0x2b2c7a88330c73b4L,0xb3433ee602dcac1bL,0x2e0499cfed2b17c7L,
  95514. 0x9f8681a4bd6329c7L,0x3897994636fadc37L,0xdc5650c892b7895bL,
  95515. 0x70ab957065a51cf0L },
  95516. { 0x46778ec47b585d93L,0xca6d3610a633fe4eL,0x21da154e4ea0311aL,
  95517. 0xaf22190bbd64002fL,0x9e633ac7d91cb7a9L,0xed13c31fee6837d7L,
  95518. 0xda4a07d71616ee8aL,0xd78a27323afcd616L,0xc06696e5ba14d694L,
  95519. 0x733754d74df58420L,0xe85e504e2778e3c9L,0x3055aa0c55b5a5c2L,
  95520. 0x313df5388a3acb5cL,0x5896acb52a088edaL,0xfc8842a084c85ddeL,
  95521. 0x5fec9f7951dde6beL } },
  95522. /* 123 */
  95523. { { 0x5ebc2c7cfe519f99L,0xe396bd80e5410353L,0xaded94028a3988f3L,
  95524. 0x1c03b735d601bda1L,0xfd30203614ce64acL,0x5837ebe901240290L,
  95525. 0xcaaea1a3a554097dL,0xdce73d25b0b88139L,0x35ed412becb090b9L,
  95526. 0x99029ff7d63dab3cL,0x555437d9062db071L,0x277d2f5642a4c11dL,
  95527. 0x477fa64524fc9109L,0x7b12e9b72799254dL,0x7ad2ae22d84c618cL,
  95528. 0x0a8d5663ce8ed195L },
  95529. { 0x43ac51630a21fde1L,0xcfcf5dd66903d849L,0x6d2499ee5fdd6281L,
  95530. 0x4dedc6f077a49a34L,0x46bda2c02875c06fL,0xd0e0e0f6347b8046L,
  95531. 0x1058169b5e67836fL,0xc961912ade8a8042L,0xdf3fea0aa93b3d32L,
  95532. 0x9f138edb0c576bc5L,0x7971ad6ed8d37e47L,0xeab85739cce5e7cbL,
  95533. 0x88a4b4341d202b40L,0x5d842557e3a1fd26L,0x872fabd5b3a86f91L,
  95534. 0x95b934936aa4629fL } },
  95535. /* 124 */
  95536. { { 0x9998a70199f951deL,0x8fade596f058db45L,0x4d479c1ef3d03dd3L,
  95537. 0x6e928d5d33b141d3L,0x9a465800acfe8a40L,0xd108ad2fc1cefa3dL,
  95538. 0x64b96921e013726eL,0xb9b6a6b68e83bb9fL,0x29f1e6dc1242e544L,
  95539. 0xd3f8f6762f65966bL,0xa34dd0965e105b41L,0xd4e9139a16011e1cL,
  95540. 0xeea4dc682515541bL,0x6f8030acc822166dL,0xbdc7ae1d31d16124L,
  95541. 0x2e25ef51621afa7dL },
  95542. { 0x2533cf8fdd8e7357L,0x333ba218eaceddb8L,0x68e3e31d0784d2acL,
  95543. 0x1c927f36f2804ae2L,0x01433d2277e7ad7eL,0x0b401cf0587f78a0L,
  95544. 0x9dfcf036aa0027aeL,0xc9e46c8b1d9a46b5L,0xaa6de4861f288d32L,
  95545. 0xdd56da2f1b8a043dL,0x346230e5f2d0bb56L,0x19f0b6e419defb56L,
  95546. 0x55ec37cd21d2c874L,0x3dbf0397b70e45b3L,0xf0862a8dac7ce852L,
  95547. 0x87979ea7e141f3d6L } },
  95548. /* 125 */
  95549. { { 0x9b7e7b3f7f1c747fL,0x151a4c1dc6e63369L,0x4273ff70b372dba0L,
  95550. 0xca6d2234d3ee54feL,0x12fc8e0cd33cae0fL,0x273285385dd6f10cL,
  95551. 0xc86f3fbdf01a9cf9L,0x5322677fe36cae91L,0x39a700332fefea44L,
  95552. 0x2c9ca328ce8af217L,0xc0256776f6a731f4L,0xc687b3df66a96813L,
  95553. 0x194aab128db2eda8L,0xde30dc5aeec4febdL,0xc052236a979241b2L,
  95554. 0x3ec98802c23d4c16L },
  95555. { 0x0f9e760c4072f74dL,0xe78eb0deab594059L,0xdb3dea40c9b009c2L,
  95556. 0x47e875f038b59ae5L,0xf40eb4362b4daa06L,0x9a6a4f92090f3788L,
  95557. 0xefebe9afedbfaf8bL,0xf87f96a59867e256L,0x1e6fed2375ab6aebL,
  95558. 0x17f2782a3fdb13cbL,0x5102c71e70fa2621L,0x5d2b06ecfd4c0dbeL,
  95559. 0x537cc26830347297L,0x8dbf5e2b2b67e780L,0x2f633f3aba25da32L,
  95560. 0x3e9315e8efaec914L } },
  95561. /* 126 */
  95562. { { 0x9255cfa5239a9ea9L,0x20f3c6900be33a62L,0x759eeb4b9cb642bdL,
  95563. 0x3316c54600bae718L,0x874a76d5f3410f84L,0x123b502e90f129b6L,
  95564. 0xadc8f9a812851f1cL,0xf57b764a1b62408cL,0x116ec01f1a80777bL,
  95565. 0x746ecef21f0ddc5cL,0x3c49d47ce5a6a5a7L,0x1e15dbe706e955baL,
  95566. 0x629c0c79b45d79b0L,0x11278308778d1087L,0x22585dc78c6a22d7L,
  95567. 0x2ed02a0d0a682791L },
  95568. { 0x530434164daa2682L,0x0e26d32b01359625L,0x449c834abd867097L,
  95569. 0x11a19d2bee77ae2eL,0x39bd529a3af6c169L,0x36cca5c05cd61054L,
  95570. 0x6370a59bdc6c0fe1L,0xca420d27b93d5135L,0xd8730d45554c451aL,
  95571. 0xebd258c996cdebf2L,0x0cb1b990a50f9a05L,0x69a8c97a7b0f0151L,
  95572. 0x2cc36d3411d217e1L,0xf117688a752f75e8L,0x1db01394a09b2a61L,
  95573. 0x14627844a9efd7ddL } },
  95574. /* 127 */
  95575. { { 0x6bca3aed232803cfL,0xc1e4398b9a96ff34L,0xcaf6757f74ab788bL,
  95576. 0xc3a53e007e68c04dL,0x5f969c195cb7cd20L,0xf28b65a6dc068bcaL,
  95577. 0xe3ca01d31d863032L,0x9b733b8187808e14L,0xb5d704d9efe618beL,
  95578. 0x276f3542b01b946dL,0xe057e19efbedddbfL,0x7d182f2b903275ceL,
  95579. 0x3cdc5f77880f7bc6L,0xd6f03d3f78476c14L,0x035f5557a9ba5072L,
  95580. 0x7acb57b6b4029628L },
  95581. { 0xd241356944e6b07cL,0x451c4cc9e1c7345dL,0x407444d8e273b9fbL,
  95582. 0xfe496079b88e34fcL,0x77d184cff152776dL,0x6d1033b9c742299cL,
  95583. 0x29a0a68477bf2897L,0x59ffdf10ee8f0420L,0x4e17146c44bb56d6L,
  95584. 0x831d06c2fb9ae855L,0xb2cb82dbd93e7cd5L,0x83381c463c96b607L,
  95585. 0x06aed2517549e2a8L,0xef97891c774a21d4L,0xae9807c78675fbddL,
  95586. 0x6a5a05b96363516cL } },
  95587. /* 128 */
  95588. { { 0x92e71ea66a8f4f33L,0xf2fc6fc64dea8f4aL,0xd356252cfee88461L,
  95589. 0x59b0a83e08954d08L,0x5bd68c23468ab766L,0x40281357900f8d04L,
  95590. 0x181c19c052b867aeL,0x986a516918764c41L,0xcb01dfae13575d24L,
  95591. 0x17269ae5593677b7L,0xf6d1702546dc9b19L,0x8de68499c40097c8L,
  95592. 0x76df0032259c407bL,0x4091aad917d29d8bL,0xa7f46d214a7ab5f6L,
  95593. 0x688054b470ece48cL },
  95594. { 0xf0d168aa51a5b86cL,0x2437e4d895777247L,0xae844076f1720329L,
  95595. 0x0a7ac87d9647a54eL,0x1e597a4b0405622cL,0xedefe5c6f0a79f2fL,
  95596. 0xaf3ef0c24d55156dL,0x917fb04eef047cf6L,0x3792799f54b62137L,
  95597. 0x875ea32f314be0b8L,0xe157c65b0c466b0cL,0xd28c90ce7e218978L,
  95598. 0xb90fc3bacde587afL,0xdd32d71c8b877bedL,0x3b432200ca8e10cdL,
  95599. 0x0021f419d94f6e53L } },
  95600. /* 129 */
  95601. { { 0x2191122c43519d26L,0xbdafac1d40a51845L,0xcc6f71e9548bb89fL,
  95602. 0x9ef3375c16844bf9L,0xe7789f79178e8d55L,0x04f599b61f8be1c5L,
  95603. 0x8088c99a2cbbde40L,0x8939a260893206c9L,0xa1ae4bfffcd30851L,
  95604. 0x664cb3fee08feafeL,0x61f38099ff14aabcL,0x0d8394cc2a841ef9L,
  95605. 0x75fad8ad17f01db6L,0x6fc345766debb773L,0x1e716b05a4252512L,
  95606. 0x7985588029e1ed9fL },
  95607. { 0xa2cb3aaa95106473L,0x95fafa415a61da04L,0xfd3c9362539563c0L,
  95608. 0xbaa4809195312b87L,0x6c7e7582bf885c76L,0x70f6dab6230c78d5L,
  95609. 0x8ce3051c7747440dL,0x6dbebd14ffdb6186L,0xb0e041fa190e4096L,
  95610. 0xba10c4666ee62e2aL,0x93d57e2a74f333d6L,0x006aadc4fe7b9b66L,
  95611. 0xfaf72f6c06d2837dL,0x318cc5e6910741eaL,0x9c50260965692477L,
  95612. 0x95d823c31d0fb08dL } },
  95613. /* 130 */
  95614. { { 0x6aeebd86140528a5L,0xf268c2ba53979bc8L,0xb1bc9b8a4ec144abL,
  95615. 0x1efabb0d82a7d7edL,0xf12c70d14e0118d8L,0x31607168a1c1558eL,
  95616. 0x33e428b7e4b7e73eL,0x6317663783aec9ddL,0x5172ffbee12ac35cL,
  95617. 0x37df0bfbbc17b2a4L,0x4212f870741f812aL,0x3dcecbdbe2888f9cL,
  95618. 0xa9dc15aa756ca55dL,0xf31918ecb9028e41L,0x7ede02856aeadb03L,
  95619. 0x0e2708d578654f54L },
  95620. { 0x2270cc53cde20f88L,0x9338272c5f5b1039L,0x5042e19e5dcb1dbfL,
  95621. 0x4b3de219b72d74c1L,0x16c49a8b2aaaaa55L,0x008443e5bba86ba6L,
  95622. 0xee6bcd7220cf1695L,0x59ffac6ba89abd11L,0x2831217bf115639dL,
  95623. 0xe4d28af2f34cba52L,0xf27f03e70727a906L,0x6842c79f69017766L,
  95624. 0xcb3469bd7a81123eL,0x48c0f346a42973b8L,0xfc5784a623990dbdL,
  95625. 0x0d3dab3bfb299678L } },
  95626. /* 131 */
  95627. { { 0x8f8376e6ce29c3ccL,0xcb0507ecf016cbc6L,0xdebff9965e394ce1L,
  95628. 0x24fc526f73c50d41L,0x4edd5a542d16ce3dL,0xbb37bdd991c13141L,
  95629. 0xe3442ef2e33a8606L,0x2ae90337c0629da8L,0x57faec64592ab331L,
  95630. 0x1a938997d82b857bL,0xad6c8cb9a3373176L,0x82595de29086751fL,
  95631. 0xa81e97fb18c17196L,0xe4f48a13bf697357L,0xa1387c2e5cb89f69L,
  95632. 0x530b4eeb5874b426L },
  95633. { 0xe9f275a1bab7b5aeL,0xbb69dc4d03a57bf4L,0xc974dc4aa45c505bL,
  95634. 0x726369f3416ac402L,0x735e4e78aed985dcL,0x0548d879cdd446a1L,
  95635. 0x84ceb0699e16b02aL,0xf73f6fa4789b11a6L,0x6aa0c41fb2a4e784L,
  95636. 0xb1f7690293a9b697L,0x814cce00f03a8ab2L,0x64cb255b844d66c1L,
  95637. 0xb794e7d630952201L,0xe052d4e43da32271L,0x5278b2e708b6a4d9L,
  95638. 0x9094255280c6577fL } },
  95639. /* 132 */
  95640. { { 0xd269a14d0d5b4c2fL,0x2b8fc59b5c8a649cL,0x95becb3ab0e37d4aL,
  95641. 0xfda1a7689111037eL,0x5810e05a94e35322L,0xa24dcc12a178fafcL,
  95642. 0x5c2c63b28e3dce62L,0x995c3f179452c444L,0x35330ec342d45161L,
  95643. 0xa025a60ab4ef8129L,0x854932528bae9c13L,0x25d1a606e2e3caf8L,
  95644. 0xd44091ab3649bf47L,0xc7d0afbf704ec5f1L,0x27bd1d62bd8b3333L,
  95645. 0x50570111cfe616f5L },
  95646. { 0xd0084acef534356bL,0x9df1de054b4b0fbcL,0x021afe05cee04dc1L,
  95647. 0x64bde688361b78e1L,0xa324fcc7ef78d38bL,0xfeb372ceeb0a5e4eL,
  95648. 0xef04fcb365811996L,0x7dce5d505eb0ab4eL,0x1e29b588238c586eL,
  95649. 0xde5e3197bcd80037L,0x8bf5e4514806b9cfL,0x4330968bd18e67abL,
  95650. 0x26a7d04ef9f63fadL,0xa1c7f123b5c18bb4L,0x485b848225dce22cL,
  95651. 0x8ff0b36fd540e79fL } },
  95652. /* 133 */
  95653. { { 0x99f2e2f43ff42cffL,0xa3c19f9d1c35317cL,0xdb749392aba1b545L,
  95654. 0x84232b054afa9a32L,0x0b855d46d7dcd436L,0x8ac35e2045cf9915L,
  95655. 0xd7cf22c7f001a218L,0x057d35aeed408305L,0x25a4a519553ccfcdL,
  95656. 0x5e56579393e2b939L,0xa20332b03422ec27L,0x9b09005e3ac53958L,
  95657. 0x628051a379e9b163L,0xb4a0dc09fc6618d6L,0x9e0e857f6748e7afL,
  95658. 0x71b28eeec577d63eL },
  95659. { 0x4942b0cd99726bf8L,0x1290a3b91c208f3cL,0xfd7290e7b0598eaaL,
  95660. 0xc6a7791fa25a9128L,0x2d33db24c037d7daL,0xc21efeb070e2837bL,
  95661. 0xbf70d96ee3dae2a0L,0x43ed819185076027L,0x4aeb0aa84d4ad7e3L,
  95662. 0xbc75101fe8c5b74cL,0xdbfb2a6ead26ebddL,0xba8120686b78aa4eL,
  95663. 0xc94aa8f2e1159848L,0x0d10d9db3eba5c4eL,0xce7fec476318295aL,
  95664. 0x7294711a330d925aL } },
  95665. /* 134 */
  95666. { { 0xfce4590432bbd495L,0x330f4dd1be54973fL,0x006bee1d5d9c3f4eL,
  95667. 0x40ee607859ba7204L,0xc194fd3f42c2c768L,0xa0e76b12e9fe88beL,
  95668. 0x17cddddbec2b0210L,0x689d436b00811ec7L,0xa6a6ba37284be9e4L,
  95669. 0xabc395b2007d4114L,0xf8cdf9f30f11e744L,0xc5febec8e9396402L,
  95670. 0x8a751743eeb46285L,0x99bf8782c6e0d137L,0x3965e170beb292e3L,
  95671. 0x001c39d85801fd5fL },
  95672. { 0xf4805cb9da4a0912L,0xd27cb76a4410bca4L,0xef3dcb8eec71d65bL,
  95673. 0x780fbb2b4816849aL,0xef6a7026a8b24635L,0x15625c8812c44e68L,
  95674. 0x624c232c4d7a74a8L,0x81a770374b1631e4L,0x04e4f7f1db917c2eL,
  95675. 0x1d0465fd1f61ed95L,0xb1048049cbde6e3dL,0x637ce0c1d7131fcfL,
  95676. 0x22e4dbc28ada4715L,0xf7530c5cace99726L,0xa0160dccee287450L,
  95677. 0x9132e670bb91af13L } },
  95678. /* 135 */
  95679. { { 0x8057efe27996099dL,0xb72344dba06e608cL,0xeb4a8740d0958588L,
  95680. 0xe53daf0679e5aee9L,0xc9560a9a908a2fadL,0x7f4be131107e706aL,
  95681. 0x6d5f3d9b2830246aL,0xa5f8e8da27cca3e6L,0xeb51dca64c28f292L,
  95682. 0x4cfa310ef31dfd78L,0x92e0c7c22ca073e5L,0x102f1694a40da683L,
  95683. 0x16bb07cc750d38fcL,0x703e83e2badae035L,0xea93c066b4d3c9ddL,
  95684. 0x7d0b03e579940ed1L },
  95685. { 0x5fe7ea304dd94c63L,0x57ef01c5738b0b3aL,0x9534a78ca14e6b4bL,
  95686. 0x07622cdea5353276L,0xaf696a077c22d006L,0x733c18867d46b209L,
  95687. 0x9654ccbb626c2b4aL,0xa098d3a1a84f3c4cL,0x3596f9ed2d734b74L,
  95688. 0xdfd3021a5d551c90L,0xe2ba7d2f1ec5123fL,0xf9726925b2c1aa39L,
  95689. 0xd2e75d0ef8eb2927L,0xfaba712e19192a6fL,0xa606b43a9b83e50eL,
  95690. 0x31b1782fdab5de60L } },
  95691. /* 136 */
  95692. { { 0x878dba454034db92L,0xa39779018f34dc4dL,0x8d004f2edf754c33L,
  95693. 0xeaa5954acd563a88L,0xa29d6c89bb5ffad1L,0xa8adf655b0d8bdb8L,
  95694. 0xf7fb842d8cdbdb47L,0xb72e3a0380d3205bL,0xc335b0b27cac7ca9L,
  95695. 0xffc60bcbd8a5475dL,0x736f7719eba4d25fL,0x3d901c380c50fca6L,
  95696. 0x1fdacf7b80c01900L,0x75cf658f5681f84dL,0x57a7e6345cefbbc1L,
  95697. 0x6fc0fbe53e07ed1fL },
  95698. { 0x496d116bb81b0e5fL,0xd82dd2a52ac853b8L,0x357e22d4327387f0L,
  95699. 0x3e332a84ba912c59L,0x8b71c64349d5dcc1L,0x0c982ee9438d85d3L,
  95700. 0x90b9553cbf7fcd4eL,0x2cb39bbc38fed5e3L,0xa2c67c9c5ac42903L,
  95701. 0xebf21217bf07da55L,0x55ac05ada0b9e4eeL,0x10bb12c28ee9e0c6L,
  95702. 0x5cf3aee548bb6e3fL,0x4ae7269c8b046e91L,0xcb266012aa0e553fL,
  95703. 0x701935a1a94c8fc8L } },
  95704. /* 137 */
  95705. { { 0xde58d41da4626deaL,0x25ef66ca15b9039fL,0x99a810a43164e65bL,
  95706. 0x9fe6daad748cfccfL,0x7ab9a6bd2f142fa9L,0xa4cba1685d471796L,
  95707. 0x12d30b366bc3a39bL,0x1f46a5dc8bf45076L,0xb868e5291421ac0eL,
  95708. 0x7a68620659bba1c4L,0x2b4b552eda698b90L,0x5039dcd4e5453707L,
  95709. 0x42a07a9e9e90165fL,0xa838fff3d7d45dfcL,0x41991e5a3b5ceb30L,
  95710. 0x6c961ec8969ca600L },
  95711. { 0x703bdc1bc4e7eb46L,0xd6bac557596c7b48L,0x4f9917cd66afd74dL,
  95712. 0x56355105656ce6f3L,0x3d1fb50c32497175L,0xfda6783e63effb2dL,
  95713. 0xbd79f1f3eefaa2bdL,0xa4efbe5417af9ef7L,0x6cef64625a55b7a4L,
  95714. 0x116f32381a713304L,0xdb2a2a7fb95625a3L,0x6a0aa43a0b027e96L,
  95715. 0x458fe5d24832b3bcL,0x523418df5adfaac0L,0xc05a89cbc49e7f9aL,
  95716. 0x830883d869e24b53L } },
  95717. /* 138 */
  95718. { { 0x959b1c6202557389L,0x5fe5ce97adefc0bcL,0x893bbe7f8330f383L,
  95719. 0x27e0c6af16cfb81eL,0x6f64e65bd04428fdL,0x53de9245b79e6182L,
  95720. 0x08a313c1487e11caL,0x65cec3b9445bce93L,0x33bc0314d67ed49eL,
  95721. 0x69f36b2430782352L,0xd78e5daf93ad31d2L,0xf2682b70c780890cL,
  95722. 0x7015c34f9e45efe9L,0x135d4ba4e6cbafeaL,0x43a378a47e3fcc6cL,
  95723. 0x2376f97f96638f8cL },
  95724. { 0x0a6e1ec0ae575b99L,0x7e14cb4f81b970dcL,0xf00a3824d3a73947L,
  95725. 0x0b4b9c81fb235a9dL,0x8d15115f5bf62944L,0xcfd35b431e165d7aL,
  95726. 0x5d12fea2b2ee3e3bL,0x629984a6f5182e7bL,0x4e43e2f3c365d08eL,
  95727. 0x9932709130f36e72L,0x698b4a00fd345401L,0x23c4fd0ebaf96dceL,
  95728. 0xa60ba0ae23675554L,0x51bdac2db0325784L,0x8ab4190a215464a1L,
  95729. 0x8c4616616bf10296L } },
  95730. /* 139 */
  95731. { { 0xeffca2582d1f36a5L,0x0eded2b2894c5f2dL,0x35a5cdb843ced84fL,
  95732. 0x290f8982db0e3b9bL,0xcce0eaf00719a112L,0xd0e657e439a362d6L,
  95733. 0x5516a55d62697e47L,0x269e1f778e636514L,0x5e3dedcbd50269bcL,
  95734. 0xecec2300441c57c5L,0xdb83f31cc705578dL,0x1bdefb731e489eabL,
  95735. 0x20b678cf395fcdb4L,0x908cf91cff9db001L,0xcbebc6f455f52cc8L,
  95736. 0x155ea622b4c61162L },
  95737. { 0x94be2f1f876fa42eL,0xab5e87497fadeee7L,0x692e70f538c865afL,
  95738. 0x16e99b84df8059b0L,0x0ceb606e8b5a7ac9L,0xced233572d463d2bL,
  95739. 0x2d0f26232a9a09a0L,0x2529998c3861fbdfL,0x711888a7c1be310bL,
  95740. 0x9b1229c50d8aade3L,0xdbcf9b783b13533dL,0x3ca746f8ff029708L,
  95741. 0xa5a013a1da83ef88L,0x8e904d184ab28444L,0x2fe84b3dbcbd4abaL,
  95742. 0x8f570f24259058c3L } },
  95743. /* 140 */
  95744. { { 0xdeb66c8a2ca9c508L,0x2dc5bec269d6b780L,0x16d6126688ead600L,
  95745. 0x61841b9749d72614L,0x41e40e6cce472e6fL,0xada242641fa7a876L,
  95746. 0x45b9fd33cc3997a0L,0xb25e8fa97c15dcf4L,0x0124ceb212e9629dL,
  95747. 0x3a8c72c67db3d956L,0x8e2ded2b7c1a7844L,0x94ab09c66dd027ffL,
  95748. 0xf89a057d7e7a2bc6L,0xad8bf226cf70c763L,0x4cb268e7c8a26212L,
  95749. 0x3d171e87b2c44c1dL },
  95750. { 0x382ac16e8ce49820L,0x24ee45e2c0c44dc9L,0x0ec6791273e858c4L,
  95751. 0x918cb25c46327cf9L,0x43e3876bc6159c1fL,0xb6b6e0e037545cb3L,
  95752. 0x64b839ab5d12347eL,0x72e09274a300d541L,0x26ab28e6881c1169L,
  95753. 0x4a580fffeb75a843L,0x0a5802ca359120dfL,0x7fee82d03209f4a3L,
  95754. 0xb518016b8e6a9380L,0xb99c6c70c2ee11caL,0x16105af1ab9d4ec7L,
  95755. 0x234e98f834cd9004L } },
  95756. /* 141 */
  95757. { { 0xff43520814db9cdaL,0x99cfdc4796adec90L,0x843aaa6faf458b6dL,
  95758. 0x3f1f7415743eaa31L,0x915e192e61735d81L,0x3441a22d0ac595d5L,
  95759. 0x704bbf67c044bc8dL,0x2f960471be23a236L,0xcc32638815d1d557L,
  95760. 0x9410230b76b1dd94L,0xf2e5439f0c1c8a67L,0x56b141ac833c910dL,
  95761. 0x467c999f865b84dfL,0x1b0251fa21f02b7bL,0xde5b526096216950L,
  95762. 0x6a2130e3ce3a1e93L },
  95763. { 0xd21b67a04b3ca1a7L,0xaf42ed5300c0ce80L,0x22ccd368932cf07aL,
  95764. 0x36523a815c25c35aL,0xecdd39588dd04d06L,0x73da3502b2f93a3bL,
  95765. 0x4c5e0c3cd5e5b530L,0xef9f548613268777L,0xed87fefc1e742292L,
  95766. 0x6d9ac29ea24e5edeL,0x08abc9f033849f1aL,0xb09b229240f23905L,
  95767. 0x6791072c7f934353L,0x102a6381e6aeb550L,0x3ee0740996feb870L,
  95768. 0x34f06faa9c4d2830L } },
  95769. /* 142 */
  95770. { { 0x869dc79f2348f005L,0x9b5c5d71df4920b1L,0xfd1b57ca6dee64a4L,
  95771. 0x21b7f734e82a4fb4L,0x637cb834b9578366L,0xc934101b7d287d96L,
  95772. 0x1590f8ac0392ecabL,0x280dc3737f75f4e3L,0x8b36f50f6a61ac62L,
  95773. 0x74f58304a65568daL,0x80d792a9d930870aL,0x6d17b192fc8895ccL,
  95774. 0x498392fa4914939fL,0xaf36027dd41d5b9eL,0x452d79e25caa82b5L,
  95775. 0x764d47b1f4115d1aL },
  95776. { 0x5df22303a2ee8b9cL,0x1b9f72d385dfcd48L,0x6b42b98310813a37L,
  95777. 0xe28c523b3de741f5L,0x0857625af303bb5bL,0x926f299aac9bf9afL,
  95778. 0x21beac080d445b34L,0x6a523a02d6ba2c0eL,0xe302a1b17fce2864L,
  95779. 0x4516a235e300c1eaL,0x4543736a7b4a9311L,0xd3c0b9e8c0cc89f7L,
  95780. 0x0481904f40ed88deL,0x4f269b563cb7fc70L,0x09a1d53a321b9738L,
  95781. 0x1c0dd9c3230a3810L } },
  95782. /* 143 */
  95783. { { 0xffaa1f67c46a7d9aL,0x64743334bedf91ccL,0x45833a7447a42f2eL,
  95784. 0x67980051241ffaa9L,0x70979a84335efe6bL,0x5f0613f5f08b2403L,
  95785. 0x6bb22fcd64f211dcL,0xe1b8b2a3a0572cfcL,0x19e0eb417950a14aL,
  95786. 0xe634bb293eb6cd4cL,0x31a04b25470a25ffL,0xa41f7ac9a3d15a0aL,
  95787. 0xefed85ecbf2fede9L,0x1f581f5f81b94a00L,0xaa3996b09ef4a15cL,
  95788. 0x52d8be39b06041bcL },
  95789. { 0xbd1536f6fd631a2fL,0x91fae7f0b351a8dcL,0xd1a590c79b126212L,
  95790. 0x52d4875f2bd0f435L,0x9aedb6d392b0ea70L,0x0bd0abdcb83ab89eL,
  95791. 0x827a106289fe192cL,0x6566a960102a0bdaL,0xda083037ce036814L,
  95792. 0x30bed79f58639405L,0x972019b6dbca8df9L,0x89201286efdaa3f5L,
  95793. 0xb337b9965236b892L,0x11d3e38e28fc2e73L,0x70787f41880e8da3L,
  95794. 0x6cff6367dae4a45dL } },
  95795. /* 144 */
  95796. { { 0xbd3d0433f89a8bb4L,0x42144c3393b98f71L,0x82b616c803470a2dL,
  95797. 0x98fcc757e5da089eL,0x542354ef7bf5fda6L,0x1885c2539ebd34ccL,
  95798. 0x2e20b285bec5dd0dL,0xe71bbbe1782a1bcaL,0x959ded309b854ef0L,
  95799. 0x172499798997fa6aL,0x50cf8fa8d81f3c45L,0xa9a3b51760c11152L,
  95800. 0xc9b0ef7decf845eaL,0xc9339e23b9fed11bL,0xc93e9c5c28256080L,
  95801. 0x1d2c8217613ec1e7L },
  95802. { 0x7381347d987cfc93L,0x047603bbf187f810L,0x3fa6bc9d1250ca31L,
  95803. 0x480091e0bb055bf3L,0xbdf95f1a3a3af87cL,0xe2687770140540abL,
  95804. 0x998df730d7fe045bL,0xb398135fb723bc2dL,0xac230f8c15ebec46L,
  95805. 0xe08e18305f5561c0L,0x7c0fbf4cda60a47fL,0x06e95c24e16d4bfcL,
  95806. 0x7416349574617e92L,0x397198694ae0c20eL,0xfe2693122131e2b6L,
  95807. 0x25486e360a537722L } },
  95808. /* 145 */
  95809. { { 0x618795ca53572806L,0xb2c89449656968e1L,0x149c2c973fb323aeL,
  95810. 0xfb15de26409bc7d6L,0xa90cda72c79121b3L,0x6d2fa14e204cabbbL,
  95811. 0xcbcda6f791604125L,0x25086261b435f947L,0xdb686c38c282eb10L,
  95812. 0x51016d62f1a791cbL,0x6b1c7ed161a2266cL,0x26780666271d74a6L,
  95813. 0xb5ffeda1824287a4L,0xcbe503ffbbe4f0f3L,0xd7f7f0beb9482a74L,
  95814. 0x751b2358088493f1L },
  95815. { 0xd597b9d6e9c9be68L,0x1794b5c467d10c6cL,0xa88cdc3d7762b2f4L,
  95816. 0x6d94a63aa1b44e11L,0xfb0bbbb9aaa8eca8L,0xf4b0f2d0c963d87fL,
  95817. 0xb753062c5dc7075dL,0xfed726ac49933989L,0x5da6063857f9ccdeL,
  95818. 0x221c392a75f8c766L,0xcd264d955dc672caL,0x7004ff22b66ecc8dL,
  95819. 0xfb1aa9ae18a458baL,0xea9644df8babd653L,0xa9378e802ba0de7cL,
  95820. 0x144cc12dca2c6c75L } },
  95821. /* 146 */
  95822. { { 0x593a0a1d2989aa3aL,0xd83f228359e6e64dL,0xe938b0cbd32e732eL,
  95823. 0xf4c464c53c3cb249L,0x9750a5f8f89ea6acL,0x467e5bbf346cfc32L,
  95824. 0xc9bfab9d37b2b809L,0xf8eb74533b339c6dL,0x3fe01fbe3b766deeL,
  95825. 0xb3154254ef6aea27L,0x555c3df27be61b10L,0x70fb6d81dd818488L,
  95826. 0xda1af3a4bbe714f9L,0x575f20179d18f693L,0xdc08fc6b2465b839L,
  95827. 0x874ecf336b84a951L },
  95828. { 0x624af83ebbb3f6beL,0xf578fbb908bb423dL,0x5623b0bad7873527L,
  95829. 0xc3659bd8a62e0442L,0x2903b167fe236f79L,0x55a430c6e53f26a6L,
  95830. 0x222547ae3ad712cfL,0xb73890d776eb272bL,0x95b4f70b3d628df9L,
  95831. 0x9f0e13b053eae4acL,0x5b4f5138e7f2174eL,0x75482cf998dbae17L,
  95832. 0x2b69bbde44518480L,0x4f279652cafef15cL,0xa0a3ef2bb6bcaf19L,
  95833. 0x31fb8581ce4c634fL } },
  95834. /* 147 */
  95835. { { 0x398306d1615cd607L,0x680c9faaaa32c3a6L,0xe87a705b7779131dL,
  95836. 0x1031013a36708b00L,0x814fa0e19445297fL,0x70c5583aa6a79b56L,
  95837. 0x03039cbf4b16bed4L,0x18a7ca8daaaaf8d3L,0xf33159e75cdb68a5L,
  95838. 0xdea0e738d23814faL,0xeb3527188d0f4f9fL,0xb0b76609dcdff032L,
  95839. 0x65ba8ea93d48338bL,0x18044d8255dd507aL,0x844a223e4a4a50b4L,
  95840. 0x9832300018e19e54L },
  95841. { 0x28a2102757f3d5a6L,0xffce56486e8cadcdL,0x9590381b02551f3bL,
  95842. 0xb26cc64f935ebdf1L,0x60611291c083aa6eL,0xcd988a6688e4cf41L,
  95843. 0x581c3f73dd53b1b5L,0x78c804a977fc621dL,0x31874330fadca2faL,
  95844. 0xf7008da4c83ccf02L,0xc4122a1da79a4707L,0x9a8e0d3f4a915eb5L,
  95845. 0xa2de157dd0123660L,0x45ef43b265ead2a0L,0xd0a22ade188db285L,
  95846. 0x8abbe39e922e0caaL } },
  95847. /* 148 */
  95848. { { 0xb44469053a2d2f01L,0xd27c31935dc6685cL,0x6a908bbf1d74a027L,
  95849. 0x01da350f5b50ec1dL,0x1d3dd45e3f3c2e26L,0xf66e11d0b836ee92L,
  95850. 0x7e03908f474b979cL,0x19e7c5b998b87834L,0xa741d3febd3d1de9L,
  95851. 0x63c68e8d1ef6059bL,0x9b9ff9393674e247L,0x1d7d53e73e7e67f6L,
  95852. 0x698dc326aee9e248L,0x52f23edab3bd984cL,0xf95e31b06f8fe8a7L,
  95853. 0x0f15b4d0c3d0ba95L },
  95854. { 0x8f2f6635790a8d85L,0x51bffbaee2595af1L,0xd15b7ec624b51287L,
  95855. 0x7639b6ab3234715dL,0x0cdd52992bc5441dL,0x54800ea4f6d05833L,
  95856. 0x21efd752f6d6e360L,0xc0b7ffe519290613L,0xb68a5825eea898cdL,
  95857. 0xecedba9222982266L,0x678a91b0bbd06bb2L,0xb2436dc04bb6b0cbL,
  95858. 0xcf7a99e7caf8ea98L,0xb92d0e6e71aa05bbL,0xbf8d0471f5993eb1L,
  95859. 0x515db37820385ddbL } },
  95860. /* 149 */
  95861. { { 0xee43eaaa6f5bef22L,0x952d269820348712L,0x1e4c484e7a3af6c6L,
  95862. 0x18d434c69a8c9403L,0x63e5d7415001899aL,0x5238dbbcfe8ea40cL,
  95863. 0xca6cc8d296798721L,0x73db6aee04acbde8L,0xbf69328db7f993ceL,
  95864. 0xa3f79bbfad45e334L,0x8c51ec937c1f1630L,0x4907325f9b00a6deL,
  95865. 0x49e6acb412d82bc3L,0x5901b36d0ec59fc9L,0xcb09b7109cf34e3bL,
  95866. 0x2de0487e1abf4c02L },
  95867. { 0x18b722f38dd9d484L,0x833493937c77baccL,0x58dbb8f193d92b8aL,
  95868. 0x80d78d508e3fac25L,0xf0500981745f4a7dL,0xd072bfed877cc29dL,
  95869. 0x67abf8f2c30a89f8L,0x92c567ea9a0820d7L,0x425ab12e8a3a5738L,
  95870. 0xc162faebf055521bL,0xee1c4f26b94ea5e9L,0x1e4149943d71e546L,
  95871. 0x258183b843e8be1dL,0x44917c82ef9eae0bL,0x6813a45773874a30L,
  95872. 0x6f6ac071cc42f86eL } },
  95873. /* 150 */
  95874. { { 0xd38822ad4dd6e3b1L,0xfc78e1ccad620869L,0xe78438452cacde80L,
  95875. 0x121cc14aa8469fe3L,0x8e8f3da7e67e8ef2L,0xdb83d16e4d347448L,
  95876. 0x3ba1dd98798631f4L,0xdfab59770a4c4c17L,0x1f0a13063edc701fL,
  95877. 0x4649d6016cd8ff28L,0x2267230bbcc55bc9L,0x02a19c605760412aL,
  95878. 0xc719d5f1328faef6L,0x27cb969ef67eaad9L,0xf342530e719bafb5L,
  95879. 0x6e2c24ccff5a82cbL },
  95880. { 0x6313024badaf8793L,0x944bccf1035c948eL,0xe9a066b7953500bfL,
  95881. 0x7991a9461d116765L,0x95addb2e9fd93c78L,0x05d2c037e92e5495L,
  95882. 0xcb145b189f03e5cfL,0x81ae48ca95aa1f72L,0x203f2702135a6e4fL,
  95883. 0x2bcef5a249b2a7d5L,0x0687a90002d7f2a3L,0x2f7d32286c6745b0L,
  95884. 0x3da8a87586507305L,0xbe38b8842e8dc58fL,0x6b48bf34dbf11185L,
  95885. 0x5af7fd0d97c08f91L } },
  95886. /* 151 */
  95887. { { 0x55f9b950f4a224a5L,0x41904574cc50273aL,0x34f81330643f1fd5L,
  95888. 0x996801bb0e50f783L,0x866d740389581712L,0xdb9a405da4091d36L,
  95889. 0xf1e379df16a46fe7L,0x8d04a93f83bf9168L,0xae4c833532b20bcaL,
  95890. 0x99d334b1f72a1c10L,0x8fbc9977d8195db4L,0xcaeb3dfffba14b5dL,
  95891. 0x60fef02276daf476L,0x4b948dfedb5b72f4L,0x5185c925b6dfb062L,
  95892. 0x27a9c3819609d4aeL },
  95893. { 0x73c37346f12a93afL,0x028b707c5536634dL,0x8efa58d5498193d1L,
  95894. 0x4f83a5ccef21b69dL,0x05cbb0a3a788a0e2L,0x0103178165b13c98L,
  95895. 0xfea20e582b73784cL,0xdf9713a0e50361f2L,0x31449a0fd0cc22d9L,
  95896. 0x183752e77c5e2e1bL,0x6e44d6bdb67044cfL,0x012dde95733e177aL,
  95897. 0x68b4966908ee2c23L,0xd9bb05411f5f1949L,0x95182c716acd886fL,
  95898. 0x1c690694fbde9244L } },
  95899. /* 152 */
  95900. { { 0x5db67d173a880026L,0x89c4f0a0125d95f2L,0x290505513f6cb7a4L,
  95901. 0x3eb231d15cbbdca5L,0xf8cffc99972bcbd3L,0xcb4ef4d4ad55a03aL,
  95902. 0x944d47ca22867c2fL,0x96d885480ead1aa5L,0x76a57cf8cbc8b045L,
  95903. 0xdfe5844b005e55a0L,0x5e9e7e191d18a097L,0x957a26e852923c74L,
  95904. 0xd0867b797f5db339L,0x2553408e63bed0c8L,0x1596e5d5689ad23cL,
  95905. 0x7b8c13d6a504c339L },
  95906. { 0x2fc43aad52fb6901L,0x1c0313f916ca253bL,0x1475830a515aadc6L,
  95907. 0xc93d19267f577dc2L,0x26e52e8ef723c0ddL,0x2f1e0eb83eb9f6daL,
  95908. 0x9979de82f180376dL,0x43e28ecbb0834939L,0x9a2d51dca39c38e7L,
  95909. 0x6e6063a9a8e3f6b5L,0x4cf1da3a4b9b3270L,0x6e5348a2d2f8915dL,
  95910. 0x5e75e3e050507912L,0xaeffce5720d383faL,0x1d6d53cc8fd2fb29L,
  95911. 0x0e3c3ef6696f4cd0L } },
  95912. /* 153 */
  95913. { { 0x3bc337c121ee1d83L,0x97e08f6d787b7788L,0xbf709fcc138fa4ceL,
  95914. 0xbaf77647a0348e58L,0x04f8babca55e672dL,0x0ed2919d7d5ec5ddL,
  95915. 0x8ce64bff33e99218L,0xac09fc5724b059afL,0x506831f9dc5e32baL,
  95916. 0x26a22677465af6a9L,0x3c5efe66c97f1ff8L,0x1515e0d6bc6087fdL,
  95917. 0xb1a39c5eaa8edc6bL,0x3dd816bb0e79ed29L,0x6cc13769bc3788b8L,
  95918. 0x463098e3c092a51cL },
  95919. { 0x3a6408c7c8bd0fa7L,0xd1764311ce6bde49L,0xe315e108283ef7beL,
  95920. 0x8213cc7799b5d938L,0xaf7f158145a49a6bL,0xd00fdb0fe529e4d1L,
  95921. 0x55d38f77ce66c9d6L,0xb4f7ccc01bd4b952L,0x8d975b49af71f986L,
  95922. 0x12b59fcbcd64d00aL,0x1860e504a5a3bad7L,0x6d9760442b5c89f1L,
  95923. 0xfed0c6597a3e231fL,0x58114c33178cba92L,0xe2e74c066698e11eL,
  95924. 0x7f8fd093a348b85aL } },
  95925. /* 154 */
  95926. { { 0xf24592cac19428afL,0x192a1c813a308665L,0x42589812e30bbd7fL,
  95927. 0x10db0723836c6bb9L,0x9c7a41e9598e4987L,0x8aff179e6ead6f4bL,
  95928. 0x70f8f9b975862c44L,0x6b3b02376f21983eL,0x25d83e9b98e65152L,
  95929. 0x3b2d26a8d751218aL,0x9508281a9d6f1da6L,0x8df78d05a5a81f74L,
  95930. 0xd79ee559e4687471L,0x2060ca576787d8ccL,0x427a84ffa8476c95L,
  95931. 0x87b64c51e6435131L },
  95932. { 0x87f46f654b30d3c4L,0xcdec4c5c23b4ef14L,0xb3b7476663ca4d68L,
  95933. 0x1df34269cf3fb56dL,0xd4f139c40fd7d46aL,0xa3b7c7c76a69a8bdL,
  95934. 0xee56b4c9cbadd7d2L,0xb28ff342ac942334L,0x0046fdfa786f1da3L,
  95935. 0xce5d149cb700c82eL,0xca30ef8150966597L,0x44a20609fcff4bddL,
  95936. 0x0f2f65e744925268L,0xe5b6552cd4021f38L,0x77ea9c2a042dbbd0L,
  95937. 0x8c95267cd9c062f5L } },
  95938. /* 155 */
  95939. { { 0x6655032e5fc1abb1L,0x2215af5412fe4743L,0xfd65756029f05ef5L,
  95940. 0xb0e73325dc191be9L,0x7ab3c65ec08639b0L,0x67507f511c3e6673L,
  95941. 0x638befc3c8615555L,0x5d0188cf42f0c4adL,0x843a301cd896186dL,
  95942. 0x045603f7b2c6741eL,0xf7545c0cfa3cd1d0L,0xf612affd4a40672eL,
  95943. 0x56197c9f45b9e8ddL,0xb453237d87922d74L,0xbf132e3a4b2d59bfL,
  95944. 0x8afa1b73b84a6a16L },
  95945. { 0x6b3596eae793ac70L,0x4c94ef8eeef6dd10L,0x926b4fa270422e40L,
  95946. 0xc8c71dcee9e5d763L,0x352fcb70f512aadfL,0x1b7ba138a883975fL,
  95947. 0x57991390058c3b13L,0x9692092a97740fd1L,0x19ad945b160b0697L,
  95948. 0xbc63438810837ab2L,0x76ee11c4f174bb71L,0x6111bfc1ab1b80ebL,
  95949. 0xbc82bac870ec458aL,0xeee60127312d3325L,0xb4118b1ab240adc8L,
  95950. 0x672111912b5a093cL } },
  95951. /* 156 */
  95952. { { 0x91e99306f55cf9bfL,0x9b045308a46b96d9L,0xae3c1e1d9e7a65dfL,
  95953. 0x453cb151c731bcbbL,0x14be5227a4d58a61L,0x39dac92297c74cc2L,
  95954. 0x4d0f7a45822e00d6L,0xafeb1d51c62b03dfL,0xbb1dc3a4baa18b2dL,
  95955. 0x7f3c7178df2b74f0L,0xfcd328a6896b6a33L,0xe95ed4541dce055fL,
  95956. 0x97fbc76b6a4e2b87L,0xe5ec67f1fa59dce9L,0x052368accc0367c1L,
  95957. 0x7c86391654e4a3feL },
  95958. { 0x55e94b5eca7388cfL,0x17cc0a60c0335d38L,0x9b69b78b616f85baL,
  95959. 0x705d02ef10122980L,0x565a6e801cfd0a79L,0xeb74a96d7d1ee352L,
  95960. 0x5c8832ed427b9dadL,0x96ea8528e6d5330fL,0x30d8862b18d24ee8L,
  95961. 0x9cd38ed59ff939f7L,0x690fc9a201060252L,0xc62d88b82303b3ffL,
  95962. 0xfc42d7a4dd52b469L,0x06f8dfa28cad2d93L,0x5023609060920438L,
  95963. 0x32582758fce855adL } },
  95964. /* 157 */
  95965. { { 0xeb20e45f359e8c60L,0xc71bb8a5364ca186L,0x02b15071dff8e110L,
  95966. 0x074e91d34c93e578L,0xc0326e00b829d0d8L,0x3c192258626a83faL,
  95967. 0x387a64d5fb29a09eL,0xcaaa3d34e5ac5c82L,0x8ed685e5ada2da29L,
  95968. 0x92720267eb29650eL,0xf7184b19763802f3L,0x23f5dd0edf6b1aeaL,
  95969. 0xbe1fa34725e6125dL,0xd6287f9d0c872a1aL,0x49aa93d2ac57c3afL,
  95970. 0x1a4e6a715bda7656L },
  95971. { 0x1a126ede554d1267L,0x37f945331cd02b48L,0xd70af04cce31fb1dL,
  95972. 0xcf410b0b097dc012L,0x930e1d1736c7b6c5L,0x902fee41c6891085L,
  95973. 0x349ba4a779fb638fL,0xa16c5821acd6f8dfL,0xfb3b83c12e076aceL,
  95974. 0x6b8d033be501d14dL,0x0593d45220f2d2daL,0x3752526d99df1880L,
  95975. 0xca32351c9feb33a6L,0xd91343bc1f6ef456L,0xc74857db35b9dc8aL,
  95976. 0x856a7c9385b4e832L } },
  95977. /* 158 */
  95978. { { 0xa007d0020d0a5583L,0x2f1301ddeda4658aL,0x91c0796434d939beL,
  95979. 0xa0cb6780a70c0836L,0xc0b4df95be81e540L,0x6cbbcd345d4ac8b8L,
  95980. 0x57c52ed054756239L,0xcac2dca41805ceb6L,0x915ee6ab79344255L,
  95981. 0x366def3124c9a2a6L,0xbd3b962f8c12c674L,0xaab64f1b7dbb7c3bL,
  95982. 0x3c0e4553e22bb95bL,0x2408febac4c63b74L,0x3ca773122a4da631L,
  95983. 0x62889084c636da40L },
  95984. { 0xa457fd538cb8d208L,0x7a8f8009543f06d4L,0xb66de154f2eff2abL,
  95985. 0xfddb28ebf72517e7L,0x0149fe66f9389d2cL,0x79e8773fd85b88ceL,
  95986. 0x452e090b0ba543f7L,0xdeb9b5cfb0b03fc0L,0x3113448a6c5ed77bL,
  95987. 0x3609f3cf8ffc0372L,0x2bc9c46d5c1b4c4aL,0xe66f3bf38fa59be9L,
  95988. 0x1396bf5fcdb02691L,0xf1ec59d4009f88f9L,0xc29034562ad9dfe3L,
  95989. 0x79d8122c5ada4d58L } },
  95990. /* 159 */
  95991. { { 0x14d4e4ceaa529507L,0x056a081474655d00L,0xc0d30a384f0fc474L,
  95992. 0x8a8203ea3443cb8eL,0x33c62fb097f1728dL,0x8a38dcfdb520ef52L,
  95993. 0xa0f90d5d7cac9d3eL,0x28a7b0bf873cea50L,0xd115ae3a6c6c41cbL,
  95994. 0xa35171daa13812c1L,0x25d4bba5624d507eL,0x91dad2897e98f42fL,
  95995. 0xffd6b1e996a41371L,0xd46c2125b69e5b77L,0xc7d2b42420c4f707L,
  95996. 0x2ab3af958142557aL },
  95997. { 0x86ca074c6a5372a6L,0x728fb83e56292ba7L,0x745596dc77741cf5L,
  95998. 0x70b4cea1520ef49dL,0x1472fe3461e46472L,0xf4d6bd663fb8ac5dL,
  95999. 0x46e52cc9c10bc071L,0x28794efe371a3461L,0xa4850718276fe877L,
  96000. 0xedad57739bef5ab4L,0x24c2d9ff3f15c815L,0x188950e58f8395c3L,
  96001. 0xbae4099680b6a855L,0x4f53e22c8a8803e1L,0xaf233f61039d25eeL,
  96002. 0x07db2c35250409caL } },
  96003. /* 160 */
  96004. { { 0xc7f3b8db037d4703L,0xe83708dfc5f488b9L,0x1fba830f8471d402L,
  96005. 0xa55ee8d25a2faae9L,0xc2e5bf105404fc1eL,0x647d5027aa2d5651L,
  96006. 0x37a53c0c7ebaf5f9L,0x7adf0bb295b30abfL,0x5a62e1fed64c93baL,
  96007. 0x7ffc18c0e2ef4a78L,0x139dd9d94d2cd04fL,0x253fbab75ea0af02L,
  96008. 0x7c8100ea0fef9acfL,0x74c5384dc8615aa7L,0xcb28682d9fe52069L,
  96009. 0x08b6ca8fcf7dd759L },
  96010. { 0xe04e5bea036c3b5aL,0x387261027f9f2b4bL,0xa9fca57029797c0fL,
  96011. 0x1656180b82879ea3L,0x153389bb607f0ddfL,0x99a1223c67b0e087L,
  96012. 0x0d1808ec9d897fc7L,0x9470711a916edf19L,0xf8f52f2b07217118L,
  96013. 0x5d8b29ffd18888b6L,0xef1e22c54cc6f900L,0xc4036165eb24877fL,
  96014. 0xfda9523335479525L,0xd622a4216861468aL,0x5d043b0774faba08L,
  96015. 0x2c337b020d31a7d2L } },
  96016. /* 161 */
  96017. { { 0x7b2305bcea22fa65L,0xbe183ef4d159f63aL,0x3473d87d3f35923fL,
  96018. 0xb27fb306c11d7753L,0x702e7e6b2a054cffL,0x3ce9f97caf185619L,
  96019. 0x835502434e7d51c5L,0xa63e3d82f356ac5bL,0x867b7caad7645131L,
  96020. 0xee85e6afa671fc9dL,0x3b985ede2b07cd77L,0x07d598b0ffda5193L,
  96021. 0xb10eca39a942dc36L,0x17f3dcee506218a9L,0x3d94e8d106b7d5caL,
  96022. 0x509b2634ed8831c9L },
  96023. { 0xb1b9414e48caed54L,0x77a78c6ccbf51e97L,0xa4688c8d4de9b258L,
  96024. 0x0024137c91ee3d78L,0xa68f9234e30ee64cL,0x573255bc88190d78L,
  96025. 0x41e8e05fba80690bL,0x50038d84ec354f4cL,0xb18f02d6dfa52816L,
  96026. 0xc47f9007ccb63fdaL,0x29d480fbe98ae455L,0x4ac45d225d0e319dL,
  96027. 0xd06f3575026db719L,0x733b9e202c3587b9L,0x224839922c317727L,
  96028. 0x1592d5a754bb8752L } },
  96029. /* 162 */
  96030. { { 0x5778d9a2cf7453f0L,0xaffb899aed83c1f0L,0xae6506d3e0a82ba7L,
  96031. 0x32c84e1aea3d5081L,0x9ad528c0810aa38bL,0xb1fdb020bd37d041L,
  96032. 0x78d6cbe1d06ce41fL,0xd287f0f02e74b7f6L,0xf5cd2575c43bb022L,
  96033. 0x6d28f2f3f81a71b3L,0xe65bb1f5c633e7f4L,0x32e5fc1cc4fc580eL,
  96034. 0xcd55539fbb7b07a5L,0xb5a94471c3caaf3aL,0xb958bdf44cc22d2dL,
  96035. 0x1614bdbd77a2777cL },
  96036. { 0x4c1f0230ed0ab04dL,0xae347b006e2082eaL,0x9f10bc63c42c5b5fL,
  96037. 0xb0539e6fde019935L,0xd89bd4e765dd0825L,0x92260fefbbceda16L,
  96038. 0x8aaa755ce62aca32L,0xed762fa95ec82c5fL,0x99e64c0118650768L,
  96039. 0x57dd6245c92e348cL,0x0db88a7731ea6d68L,0xef0012ab07b44736L,
  96040. 0xb9356b94171d70feL,0xe68b062803f891b0L,0x3a54a53ab79c20a2L,
  96041. 0x489656c7b00b0728L } },
  96042. /* 163 */
  96043. { { 0xe43649ba71353c25L,0x517f27a113f67e24L,0x10bd333a1c1eb9e3L,
  96044. 0x94e1c05c78e29bf9L,0x84fe7d974743f15dL,0x9c87490890da2df0L,
  96045. 0x82403fa753673be1L,0x7ebf5db41baea1b1L,0xcfe0ae3524180eadL,
  96046. 0x1d15873fc2f50c3fL,0x16851ad670661cd9L,0x802968d9a51e8c2cL,
  96047. 0xe7d1a9cde0161099L,0x2b153c89a8a7ea56L,0x6d41b78906e3c498L,
  96048. 0x082bb2e9d6769dcbL },
  96049. { 0x6180ef46c4d6615fL,0xfc629dc101b9829cL,0xde222ec00fb264caL,
  96050. 0xc5457e0610ecc2c4L,0x95ce599f1eea2c4dL,0x0433fa728f9c5b2cL,
  96051. 0xee035462cd6310f9L,0x84c57c3bce2e2253L,0x6c8ec31a96d87e44L,
  96052. 0x30bfe393a452c5a7L,0xc592b140a047b235L,0x7bd8be18c018545eL,
  96053. 0x794e01075c178c46L,0x484719462e23005bL,0x2665e237622a54f3L,
  96054. 0x36451a46901c9042L } },
  96055. /* 164 */
  96056. { { 0x17802d1819893e71L,0xa1765d8b539a2082L,0xfc6aea012302ecfcL,
  96057. 0x8d4cf51b365bf59dL,0x87741d720d232a80L,0xac343eb318e80427L,
  96058. 0x553ecb2fe74739ecL,0xaeca79a81a8b07caL,0x089ff32256f4ab3aL,
  96059. 0x5e95d7293fa1d1f7L,0x260569aef62a9a16L,0x5e776232aa08ddc2L,
  96060. 0x93fabec31b7bb54aL,0x48a20956743d56e7L,0x749cdb12eb0ebeffL,
  96061. 0x705307a469b8fcf1L },
  96062. { 0x7a8e4c04e488310bL,0x12726e325325cd7bL,0x5d0fd8b04983efacL,
  96063. 0x796e552c02ddb913L,0x0eeca3f777b9685cL,0x9b766e89b15f24a3L,
  96064. 0x7c2736d648efc979L,0x3d619685a8021c6cL,0xfe33e278a0b2f1eaL,
  96065. 0x95c69879b676d6b0L,0xa07473191af4e0beL,0xa2fab5f136c4ee55L,
  96066. 0x6938b8ff59e5f3b9L,0x1e114da439cafe6eL,0xc9595ec36a6ad120L,
  96067. 0x80f79bd057e62aecL } },
  96068. /* 165 */
  96069. { { 0x3cef42a760af09b3L,0x3c016ebd933dfe14L,0x720cf1e0ed85eaa8L,
  96070. 0xd4f5e99fceaa3bc9L,0x7216b9d2b7106f97L,0x65f34c36c9668ad2L,
  96071. 0xa8fb82bc5b0c651fL,0x20f42f1cf2fda4deL,0xeb31ab2cd21f659eL,
  96072. 0xb7a776c7a13d1618L,0xec44102238662be5L,0xc825da70cad08e0bL,
  96073. 0x99299079022c0180L,0x7623bda02aef9ffdL,0xde84f4f3f5c58b50L,
  96074. 0x5f5a5da4d824ff19L },
  96075. { 0x5737257e7e8311dcL,0xdef94f51466cf136L,0xa73e1645b05ca21aL,
  96076. 0x38ea9b3c02e4ab37L,0x7760eac98579165bL,0xdffdd047c24b01a4L,
  96077. 0x188d4fd13fb95584L,0xfaac38b825548bdaL,0x1a79a6f059e9dcacL,
  96078. 0x983f720f09a2700fL,0x8cbba554fb8a7e48L,0x38a1996847a1fad5L,
  96079. 0x118565475abd6b5eL,0x75113d31f3716ec2L,0x1391e7814212907bL,
  96080. 0x5319c8010dc15889L } },
  96081. /* 166 */
  96082. { { 0x2320136e6b61c3afL,0x1d40f2de07b4bb68L,0x651dee7f380c97f0L,
  96083. 0xa978ba706a8c313aL,0x22c587d62011ca10L,0x48bba218ab1f445bL,
  96084. 0x8c5eaf07e50444e6L,0x5549f02a442fccf9L,0x2564746f3d80493dL,
  96085. 0x42d24f6179c04591L,0x1600fa18abdc8887L,0x5cb8600aded38f8fL,
  96086. 0xa4bf9b90923aeb46L,0xd63fee351e1c578aL,0xf3c9c5acebb9ea14L,
  96087. 0x3d13314df11a4ff0L },
  96088. { 0xe5cc662db4513d1eL,0xde78a8c5d55952bdL,0xe8a37a3fe7f86d0aL,
  96089. 0xca2d12a47a04f0c5L,0x4c6696e42e25d06cL,0x52614698b2136071L,
  96090. 0xf4d2701b89f6e1cbL,0xaafd617780efd95eL,0xe6d73ac4c5bb6907L,
  96091. 0x49e874ac420db35aL,0x11631de4f2751fa0L,0xb29f7336a1fa2eddL,
  96092. 0x4c406864b7fd794dL,0x73cb21d3e22f92a6L,0xeae904e62043cc76L,
  96093. 0x67f28a9fb322c6adL } },
  96094. /* 167 */
  96095. { { 0x7c17b258ca148ab5L,0xb9a1976fb3c60051L,0xea260698c8f28df9L,
  96096. 0x87b2cc74e8d45017L,0x372573290578a422L,0x81d5ee2517bec732L,
  96097. 0xd7411fcf1d48bbc4L,0x46217e6b487f5cfeL,0xcb007ac541eb8e1bL,
  96098. 0xc41c57a6e05a00c8L,0x1f954d2bd2f9fa99L,0x370bd5db40941cadL,
  96099. 0xe487879c3829509dL,0x4c1375525ceca5eeL,0xe8ef7fa4fd3efb9eL,
  96100. 0x5ff091741bd1bdb2L },
  96101. { 0x791912a4579c6632L,0xbb19a44fb8a20815L,0xf4f97b84535639d3L,
  96102. 0xe57e2bcbbc3c9bceL,0x122b3f2bf19e6410L,0x1f0189da1357d9adL,
  96103. 0x675573bb79e5ff66L,0x444e5c98ef2f3c4cL,0xd6f61e2004d10731L,
  96104. 0x0dfa366fac75d635L,0x9fc47c862c854f23L,0xc04ae43e0ad0850bL,
  96105. 0x5ce94f642f720c32L,0x67efae65a753bc9dL,0xc27d30d3b0373a63L,
  96106. 0x6681013a29721646L } },
  96107. /* 168 */
  96108. { { 0x1385d913e84509dfL,0xe978beddcf339376L,0x2df425d33423a148L,
  96109. 0x43fa0ae3ee8cb579L,0xf015369d31c4553cL,0x05cf08bbdfbf1d48L,
  96110. 0xadff4be69444244aL,0x01635f81a35dda33L,0x085c8949e76fab7cL,
  96111. 0x4bd7fcde16737783L,0xfd8cb52ca254f8d2L,0x62168a66413ec985L,
  96112. 0xf2db97417a9026ccL,0x3962ee5650e1e1b7L,0xbee0a346d3beffdeL,
  96113. 0x3b35b72f0bdfab1fL },
  96114. { 0xbff8de9f535c3749L,0x23c1f20f8add9c48L,0xa975b37bc8f8f663L,
  96115. 0x2529e475e8f3ae49L,0xc32f10d51d5e2628L,0x5ac0d29767862f1dL,
  96116. 0x13c79338854cbe36L,0x48f004ef4b67e462L,0xfa37a150e5d10ee1L,
  96117. 0x4974778dd28288a0L,0x96830a66cfb73f4dL,0x9f44401307804952L,
  96118. 0x8233c7099760b694L,0x8340cca525b75c99L,0x3f62e40bc771f99cL,
  96119. 0x47d0a1ebcd95c685L } },
  96120. /* 169 */
  96121. { { 0x266f4fff652811f1L,0xeaacaa9362ef3002L,0x6c387a5550cba0caL,
  96122. 0xa350142a007f5467L,0xc7fd102a202f2673L,0x5daee57033dc6e65L,
  96123. 0x60682ec3064a63d9L,0x46cf0bb0462b251eL,0x0e030ca55da936e7L,
  96124. 0xc87a60f2434265b5L,0x9637b2bb69b4e8f5L,0x601fb58c7ad7770aL,
  96125. 0x1f2147f6ed3a15a6L,0x05b47d5e2995e961L,0xcb0ca9b383213a16L,
  96126. 0x8f4b614a4995a85cL },
  96127. { 0x5aa8ec194b4eb3c1L,0x8c549ac420323a70L,0x00d493224f6cc6aaL,
  96128. 0x0e53b9bb45f9a5a3L,0xe46ef1100897abbbL,0xfe873e57d7acd7d0L,
  96129. 0x7cfccfe50f7cb588L,0x0ea53d65c85557d1L,0xfdd9eb447288f2e2L,
  96130. 0xab2dedfac0eb68a8L,0x5822147008603a0cL,0x6946468900feb06cL,
  96131. 0x804cf5bf25e5caacL,0xd85598589fc91ae9L,0xed9378b173c45eaeL,
  96132. 0x8f942d02524c9801L } },
  96133. /* 170 */
  96134. { { 0x1f1ec3028e845808L,0xc302bffab77abfc5L,0x26afd4b9f8d97dc7L,
  96135. 0x3d3a83c43aac594bL,0xe3b74bd1674d94dcL,0x4464b737caa5911cL,
  96136. 0x62925773871c2cd2L,0x419f24853b4440feL,0xdda6a0f3e052ad7dL,
  96137. 0x645280d6846c86c0L,0xa25689faf8324f42L,0xc74ad1e807cf117aL,
  96138. 0x5626dea08ddc9db7L,0x52620373966fc85dL,0xe0ad57c3f3b1eb53L,
  96139. 0x38300252949c1acbL },
  96140. { 0xa0ef5a405e744723L,0xdb5bcf751ae08481L,0xabfad8ccfec1f76fL,
  96141. 0xfba5d831fab37fc6L,0xbe39e248c8fedb78L,0xa5cfad5fad93f310L,
  96142. 0x747fdb1e913d5c24L,0x052a47c94518b7f5L,0x9e208d6c7cfb4327L,
  96143. 0xb135cb9c70e538beL,0x363527595bb17916L,0xa2c078805b3106c7L,
  96144. 0xd2d42a06c209bb06L,0xb525b471d3c504adL,0xc9f4b368822ce034L,
  96145. 0x15f18796eb4185a5L } },
  96146. /* 171 */
  96147. { { 0x094dea060aee4684L,0x42b21f067cdbdbc8L,0xa439e149b1931319L,
  96148. 0xea4bdd4181a7dba6L,0xc62137063c2ae80fL,0xb58b096712823dc2L,
  96149. 0x7443d515832611b1L,0x2e16f83113c20384L,0x0ce204d62bd992d2L,
  96150. 0x499dbcd6f419388bL,0x492ded1d1d3778c7L,0x9d5bd74fc5ddae73L,
  96151. 0xd4813d52994b6259L,0x191d9cf60e86ca68L,0x562179eaf3e9c2acL,
  96152. 0x6146f1f39fee1238L },
  96153. { 0xbd06d33e078e2aa6L,0x693af7f79dee9265L,0xd56e0f81daa40e84L,
  96154. 0x05fbbb889b9a407eL,0xdcf44adcede99519L,0x7f71f8d3092dba39L,
  96155. 0x675b5da54231774bL,0x7456a251a5f605ebL,0x9031d4af87a39a9eL,
  96156. 0xdb43000605b474bdL,0xbda5dbf2b665aa91L,0x5d1a3df56631eeb4L,
  96157. 0x028149ef62377c58L,0x2e1af4e9685d0bffL,0xe0ea087582a465deL,
  96158. 0x95543f9e06bd0050L } },
  96159. /* 172 */
  96160. { { 0xf7cbc6f485d7c6efL,0xcad8084d63b1bc24L,0xdf90ce88bf8cba62L,
  96161. 0x98e4b686b455c192L,0x6146b8d5774fc6edL,0x70e2389e7ae20077L,
  96162. 0x5241c47961c22529L,0x7d2215103884e5f5L,0xd6d20ce217e28273L,
  96163. 0xe3119f514f2674f8L,0x8545905570c011dbL,0xdfab75d9fcfb760eL,
  96164. 0x9546362a9e8c2a19L,0x4b6d3f8a4a7d4b27L,0xa5c87104ee5d698cL,
  96165. 0x6db434782ba296ffL },
  96166. { 0x064864935c3f0d95L,0x8917db824e748895L,0xf73fdf626b2f3e44L,
  96167. 0xc60edc542b7f574bL,0xbe1c09a2af732723L,0x7d34669d7cad114cL,
  96168. 0x9646600a321aaff9L,0xb94e2bbaed0cd61cL,0x866e1a41dec4750eL,
  96169. 0xa1be990db1a89f58L,0xc39e4d6cf2759693L,0x11cfb780c0e0dddfL,
  96170. 0xf0afcd7fd99c8a41L,0xcebffadb6e1c3050L,0x4f3981b096d2c6e4L,
  96171. 0x07a791e72ae27a94L } },
  96172. /* 173 */
  96173. { { 0xe70e90471e9f0300L,0xe0253ad9bccdf904L,0x51c0289dff053078L,
  96174. 0xf1ef092eae893462L,0x2c90a91aa4846845L,0x1946eda0f1dad4b4L,
  96175. 0xf07650f333df67b2L,0xc6e988db0b15a014L,0x72e0c66eb542f0f9L,
  96176. 0x5d4b6311e0c0378fL,0x548badaaae86950dL,0x6801638db35f1c8fL,
  96177. 0x129e3216944d1ad4L,0x9951bac840471d32L,0x03cc29f385e94ddeL,
  96178. 0x6d6acc2e4543ecacL },
  96179. { 0xeb999e9557b2d299L,0x3a2bcd9be3d721cdL,0x2e60384fbb4cb444L,
  96180. 0xae177709dc060faaL,0x74f0e6d38c987cdeL,0x9a237cf81076fbedL,
  96181. 0x69af15137983fbffL,0x6c3f7a1d323f9584L,0x3e21cacf6db64398L,
  96182. 0x7cd8134f96703d92L,0x0755898fb8393f76L,0x1b5b28bc2e825222L,
  96183. 0xb78799c17924aa7cL,0x1db378f281427a8aL,0xd5a451b1ff289492L,
  96184. 0x79d182123d3c46eeL } },
  96185. /* 174 */
  96186. { { 0x1a3edff9109d5589L,0xded52eb4029b4499L,0x13eb9d30b4b54adfL,
  96187. 0x4f9214c1a27bff67L,0x4c817ee767f0f460L,0xbadf8d83c3a50e28L,
  96188. 0xc5dc03c994026237L,0x5f29581b966647c1L,0x10b6a0898a0687f3L,
  96189. 0xae787cec31634517L,0x2001dba562e75188L,0x55d4e1a745e2c3fbL,
  96190. 0xbfcacdebb67d3395L,0xa1a0af9cbc6842eeL,0x50590a2b3e88580bL,
  96191. 0x73104491a784cdc8L },
  96192. { 0x44ca2cdf2648d676L,0x9a85eca54f1b12b1L,0x1b9dac942980e1ebL,
  96193. 0xf30d37091ac8aa89L,0x73072ab7c719e195L,0xba518c822f703797L,
  96194. 0xac090e14ac0067f6L,0x0e6cfc708dcd2927L,0x4f5889e221e7da63L,
  96195. 0xb4aaa40b8371c7c6L,0x1f9dabe28f7878c9L,0xf78aed6bd84caf3fL,
  96196. 0x3c39dd079e0e1d92L,0x680be5fb122424dcL,0xf41b214d0bdc0099L,
  96197. 0x6a8f8fc95180c54fL } },
  96198. /* 175 */
  96199. { { 0x62a1ed6353235132L,0x1db233f159dba88bL,0x85625452291efdd8L,
  96200. 0xc7505297b25111aeL,0xb5921af91d701bd8L,0xb4d05d729774f45dL,
  96201. 0x6e3d4c5ef18e73ffL,0x897d985f899b3038L,0x8a9c30fbc89b1558L,
  96202. 0x3c92d1a34d13181cL,0x292e86ba2223320eL,0xcf2454c201ceed02L,
  96203. 0x27a45f74583f309fL,0x75a6102cad0fd1a3L,0xdb4f45d2cb9c7538L,
  96204. 0x4752d8c1db283fd7L },
  96205. { 0x514d6cead5dff4d5L,0x74cd5fdb45a827f4L,0x1070a60c4fc7135eL,
  96206. 0xdec0bb781be5778eL,0x271e12cd58dc6b08L,0xb765089b54bc2496L,
  96207. 0x6ddf2c63619098acL,0xfd6ebac667528832L,0xeaa2d025c2508af1L,
  96208. 0x13c2cda84dcfc1f0L,0x1c7836a845510be0L,0x3904688d1a886801L,
  96209. 0x643132aaafaf2545L,0x496855772830a88dL,0x569491ca8744b470L,
  96210. 0x3a6518f375fb8552L } },
  96211. /* 176 */
  96212. { { 0xaaa8ed50224042a0L,0x6cb4e3b02452f1e6L,0xedca5f4c768211d8L,
  96213. 0x4e0fe3f9ef4d5d3fL,0x33a8e2a4522d46e5L,0x5998e21ff1446775L,
  96214. 0x1496c50ef592d01bL,0x69104c2f83a67739L,0x28670bcb472bbf00L,
  96215. 0x8ea883b2503177bdL,0xc5d8bc057d2712a2L,0x41ef9317b439c994L,
  96216. 0x9801d3a8dcda1affL,0xd686eeb57038f6fbL,0xe80c5cd0fbfbf820L,
  96217. 0x540ac363edc25817L },
  96218. { 0xa71969a9fe7f43dfL,0xe66538082c1b9e4cL,0xad9677d8859c2917L,
  96219. 0xbaca954596aa4404L,0x0e9d855fff1297daL,0x1f61897b22aea7deL,
  96220. 0x96edccfd36f13f8eL,0x627d307016e200dfL,0x729f0736c98988a4L,
  96221. 0x95e25e6097f231d2L,0xaf7f221bf6048752L,0xd66826094019b299L,
  96222. 0x1d99de0926b4b1d9L,0xec47cf661acdd7a3L,0x4de9f2b36ebe15e9L,
  96223. 0x17db32ecfa16974fL } },
  96224. /* 177 */
  96225. { { 0x75ef69196cf40599L,0x7ea10dfb00c020eaL,0x3da5ae7bfcaaf679L,
  96226. 0x0d663ca388ddd678L,0x5a21f8fe255bcfcdL,0xe9c3f538e344bc7eL,
  96227. 0x35f62b1d548e0632L,0x654f242543c6e64dL,0xc755a7a626993627L,
  96228. 0xa3b7c5f7b0f41324L,0x05697f793a2180f3L,0x6cf85fb11e81675bL,
  96229. 0x6d3cdb35e53428f5L,0xe3aa159152d28b02L,0xa8470255f7a3fb78L,
  96230. 0x460bd01ba194445dL },
  96231. { 0xbc34dc23c24d8077L,0x82f4b5804c720d2cL,0xa29da9116f5d1ffeL,
  96232. 0x578af52092783ce2L,0xe29f51abb5904af3L,0x46c570d7f7aa1190L,
  96233. 0x4a522fba571bddf0L,0xbf4e2a06ae89bb51L,0x799b35cc59f3444dL,
  96234. 0xc302836726cc2557L,0x94a4e985afcec177L,0xadaf7dcb7c36cbd0L,
  96235. 0xed31b78775d39077L,0x52d6904f2d3e24bcL,0xc5ca26691f95421bL,
  96236. 0x7d342c3c1734878dL } },
  96237. /* 178 */
  96238. { { 0xe5cf2c0a11fd127fL,0x66d36bb8119e4c5eL,0x621ab2526ef56ac3L,
  96239. 0x30cfeaeee5430675L,0x2ede27d2ac3e9619L,0x6413513af8fce671L,
  96240. 0x6159c61b075f4c3dL,0xd447efe959069d98L,0xaf8d6f68ea76aea9L,
  96241. 0xac5dc61b0f5bd164L,0xdbab446e1e88bb98L,0x618b8b161ba92320L,
  96242. 0xa0eafb3c78989865L,0x0c7abcc2c08b7e82L,0x10f09b6e20d160bbL,
  96243. 0x5be0afa68e4c63a7L },
  96244. { 0x82ab6d381bbbf49cL,0x3e09ce498c0703feL,0xeca58b5de10f4263L,
  96245. 0xd9cc6581da5a4532L,0x07e18876f618f7b7L,0x0419a5e3250f7fe7L,
  96246. 0xbb1a9e90de6b86beL,0x584a7deb37359169L,0x38eb34895149db2cL,
  96247. 0x14546a33b0ebabb8L,0x0067f0b0c2f88a92L,0xbde0dfe70a2db019L,
  96248. 0xba51b06cc63e6f3eL,0xa19127b9e9206fadL,0xe4eb5e87fe80dc0aL,
  96249. 0x1e6fccf5d4de30aeL } },
  96250. /* 179 */
  96251. { { 0xb57dff66aa8ac924L,0x06e9ad31c298b3e8L,0xd140e32965fb080cL,
  96252. 0x7dab211d1d95c93fL,0x6d68d8428a180caaL,0x1a929408a20ded69L,
  96253. 0xa815175338df461fL,0xff5604ae60eae932L,0x901b9e497dae4c0bL,
  96254. 0x4573a97fde262e89L,0xed69d9a4f1084983L,0x8ffa022f64724f1dL,
  96255. 0xd5f1c2e4ea85a15fL,0x4c626ce901453794L,0x80440cd6bf0907ddL,
  96256. 0x4522d4615ddaa837L },
  96257. { 0x8895f079ebfbe7c5L,0x30ea1ded84ef3446L,0x716a9eb6d4a1ab96L,
  96258. 0x1a4a5d2250a30c68L,0x5a16631c0043bbaaL,0xbd1075025010e5f5L,
  96259. 0xbffe3e9d3d8c0556L,0x31b30b1807772419L,0x90ff7ef084b82297L,
  96260. 0x00c37d75f21a18c3L,0x18d0a635565bb8f8L,0xbac1da2a45e3bcebL,
  96261. 0x1c38e90c23f0b08dL,0xf1ba1aa25fbc5ac5L,0x09d5256bdda71fc6L,
  96262. 0x346501a96d7e40baL } },
  96263. /* 180 */
  96264. { { 0x86be448ccc2b0f1dL,0xe3eb45c9ac4c3703L,0x5387f65d9fc96bbfL,
  96265. 0xcef3c4e95ae27fdaL,0xa008f7761bc18089L,0xf374a08422ca18a1L,
  96266. 0xee88284253b73371L,0xcb6fc6d87cc09354L,0x8489ec1b61496d6bL,
  96267. 0xa92c29b949e325c4L,0x15c6ca527bdec166L,0x95444eeedcea2813L,
  96268. 0x34683eb33a21154fL,0x8fb26f98d39061cfL,0xc3b08aa806c940bbL,
  96269. 0x7c1d42cfe554c96dL },
  96270. { 0x766e703fdc110aa7L,0xab7b79d7f362e378L,0xd259c75d5aadca3cL,
  96271. 0x2a6eca7960be3373L,0xf4744a4b06c4e8ffL,0xb2842ccef3b705bfL,
  96272. 0x1a3af5aaae304b53L,0x7bbfa2011b2d31b8L,0xc4ba6eba4bee88d9L,
  96273. 0x2d3565ce565cb839L,0x24808696daf7ece8L,0x2c7ccce7e6959745L,
  96274. 0xefd6eb3ce94f9837L,0x0a33b4cf3811a326L,0x14203f43fffa93a6L,
  96275. 0x031e982873c31d90L } },
  96276. /* 181 */
  96277. { { 0x4fefecfc765a17ffL,0xa09f3888d1290a65L,0xbf265c46938da038L,
  96278. 0x4bb6145da169ad46L,0x33cf821423a62fe8L,0x562df571abc860a5L,
  96279. 0xbf2a90fa815c38c4L,0x45ba1d6e17eda875L,0x799d881a946fa5e1L,
  96280. 0x6c1be784b90f5a3bL,0x0910a37cb10ff52aL,0xc38c1fe4a4f4fd36L,
  96281. 0xc3180fc58e2d3ba0L,0x3e2ff050b17a6187L,0x3a00059b943a35c2L,
  96282. 0x494d3645a28cc51cL },
  96283. { 0x398426b64ba021f8L,0xd14c9083796deb6cL,0x6d2e53957e36c762L,
  96284. 0x8f556eca751cf216L,0xdaca1e0019b24a19L,0x47887da44b20c2aeL,
  96285. 0x93ed4ccdff41a733L,0x8d717c445c7c0cd7L,0xcc48634a91bf7009L,
  96286. 0xa1f146f93b59bbafL,0xdd38bb39e5624f15L,0x96d41aad303f8443L,
  96287. 0x6b670f034bf104fcL,0x0503f9ed29706582L,0x768e1f47b34200f5L,
  96288. 0x3cfdcc5ebbd4c6f3L } },
  96289. /* 182 */
  96290. { { 0x536c2a86b523e13dL,0x1014a4582920d0a0L,0x3d52b478e7571296L,
  96291. 0x057460667eb51beaL,0x709f786187b0e919L,0x028aed88686888e8L,
  96292. 0x79a809d7d94afcd4L,0x50c6032fe2129af3L,0x75e4be72983c4082L,
  96293. 0x98331bbb7ab3be8eL,0xd31a032cb618c728L,0x36dd85a13f59c4a4L,
  96294. 0xdbece345ed4f61e2L,0xba7aaccd1e571715L,0x138c58da64a1ebd7L,
  96295. 0x89296d0f3d1aeea1L },
  96296. { 0xb165288fcca82c97L,0x26c6c12d1427e8dcL,0x66a94f074c3edda9L,
  96297. 0x94600e1eeaa01ebeL,0x14abce7c30f5e86dL,0x741d7020cb456a31L,
  96298. 0xab05aa13279f42c2L,0x70b60fafd4238468L,0xa18efec1318d39e6L,
  96299. 0xeb07f1ac8920b318L,0x01e3cba8d8399e03L,0x65f8932e3c81a301L,
  96300. 0xae8bca7dccc667d8L,0xcee1ae79a268607cL,0x3182e64ccac0a12cL,
  96301. 0x9233a2f72b1a4c54L } },
  96302. /* 183 */
  96303. { { 0x717e8df60acbee17L,0x0f0959c25c24fcdcL,0x46f09887e54ffcb0L,
  96304. 0xb993decad285116bL,0x0bfaa4f8bba1fa51L,0x9c9249efd0f2183eL,
  96305. 0xf93cb35896847779L,0x284bfb7f2322d421L,0x40cc709ad42af009L,
  96306. 0xc69f22749bb1d615L,0x76f50b3a717c3c6aL,0x8b21e985bb9c5eebL,
  96307. 0x58fb19aea4783b5fL,0x04c86b9b52e1c3e7L,0xaca59092f2971ac8L,
  96308. 0x2bb26a6921ed8291L },
  96309. { 0x98a3443515f81416L,0x086e72e7aaff5bb4L,0x3d1f64de0317261cL,
  96310. 0x31c0786c5c0a1cfeL,0x542ea4d8b3683401L,0x2f77273a1a39b4cdL,
  96311. 0x14fe7ee1cbef27f1L,0xee7fc09e16bb27dcL,0xc0dccc17410e5dc7L,
  96312. 0xa34667421943b3ddL,0x92934b603f31c1b7L,0x0186ded9c22c1070L,
  96313. 0xa37ee8ba799f966bL,0x0f3bfcb4249b0893L,0xbae614472e92d4deL,
  96314. 0x937cb3f8e196eb08L } },
  96315. /* 184 */
  96316. { { 0x57c0e77c16fbfdceL,0xea034cc9c98d4cc0L,0xe7606d7242572d20L,
  96317. 0x9861b55c0019a83cL,0x80ba2803f1597162L,0x0f4141dd05a0fd7bL,
  96318. 0x8865913b4b0daaa2L,0xe6685746aa3848ecL,0x16d15a5a3e0485d2L,
  96319. 0x81c0c7743b6905ddL,0xcec31b7d818af2baL,0x80d8f194d2b74b78L,
  96320. 0xca659db2543e2f28L,0x31b83a7d9fb07c1cL,0x86537fdc1f1048c0L,
  96321. 0x4d57bb0778586a11L },
  96322. { 0xbc4b768a53b396b6L,0xbc8b24c493b51dacL,0x33e511eba30ae1b3L,
  96323. 0x893bbd95945147c5L,0x6cc86031179fe3ceL,0x34b0a1673f920bd4L,
  96324. 0xb32912eb6b256160L,0xbc69a2a49d168d83L,0xb4949e7aef0dd128L,
  96325. 0x2613419a872699e1L,0x06c58477bf21376bL,0xe55b1909a4f97147L,
  96326. 0x63d6eb757b9b745fL,0xb5365b2908df3c85L,0x0e257e4355fcfae3L,
  96327. 0x1067c118979f2aa8L } },
  96328. /* 185 */
  96329. { { 0xc845508432bf8883L,0x4755286a6fd06667L,0xd70b0f8f77c2335dL,
  96330. 0x678e60da2f4a2c94L,0xa468d8acd118acf5L,0xce93830bbf5b90d9L,
  96331. 0xea4b1c74ed4e9104L,0xac67316d27776ea4L,0xb98ad75c361bab12L,
  96332. 0xc323d48299122451L,0x26440220530a43aeL,0x3a44532e3292d5a5L,
  96333. 0xdb48694b5fecf1bcL,0xe4e0516ec667b8b8L,0xb3aa595fa4306adeL,
  96334. 0x7e4f7091f34e9725L },
  96335. { 0x3f3816e9b7f70919L,0x765216ed16b003f5L,0x46c6cff4778c99e5L,
  96336. 0xe6a5abe830a51810L,0xef6f49e645e728dbL,0x6fdd73eacaccefd6L,
  96337. 0xec394e6f8c37f3f7L,0x73320802b6407fc3L,0x988e8f7a96625cbdL,
  96338. 0x832923637cabfb00L,0x258ba9df407f359aL,0xff01aee5ccbfae50L,
  96339. 0xfbeaeacefe251813L,0x9c69f16183f1cba1L,0x512c58ad9eadcdb5L,
  96340. 0x2ae49cd46ccce8bdL } },
  96341. /* 186 */
  96342. { { 0x1239b0e3c40849f2L,0x5136a4cda441098cL,0x61535a99e547f649L,
  96343. 0x92e4bdc47a9bbac6L,0x195a164653547af6L,0x85ecb3198b47a74aL,
  96344. 0x278553fc9de6a2b2L,0x471c038a0e2ba52dL,0x12ba1b8835bcba93L,
  96345. 0xd4bf50da6f31eca2L,0xd146e3f6802b32c6L,0x0c9c01313c64c8c4L,
  96346. 0xad30f12deed21297L,0x9b75bffb9c68530fL,0x23c0ad3e8918de51L,
  96347. 0x180e9d52a73771b7L },
  96348. { 0xc316542f29ab77b0L,0xdd411d9cf7aee628L,0x044c0685353c2f40L,
  96349. 0x638dc7e44b0ae4cfL,0xa092418595fc266fL,0x639da671fd2feb7dL,
  96350. 0x56858ed55ea39798L,0x7a694f3158f3832aL,0xa94233c6d316d831L,
  96351. 0x2fcacb2630a35a7bL,0xfef8f7ddf1ff713bL,0x8b9b452559eee2f3L,
  96352. 0xd1b4f91b156d064aL,0x177866c22f5cfcfcL,0x12bc25663777eb41L,
  96353. 0x21ca6f3cd8ab85b4L } },
  96354. /* 187 */
  96355. { { 0x0e162b13a3e66635L,0x1ef20a2b2a9f76afL,0xab473a3046db3356L,
  96356. 0x0840bd777802bb8dL,0x5b6baf5ea699b44cL,0xc6e119001b2207f1L,
  96357. 0xe5de16a9790b0105L,0x22b12f15db67f004L,0x185fad458a025d25L,
  96358. 0xbccf6953df0a1142L,0x4c42129bf45034c0L,0x0f7404001c277bffL,
  96359. 0x6e440b4c280a9e18L,0x767de8f5842aa2b4L,0x3de20ab805e8d94fL,
  96360. 0x5aff585920227635L },
  96361. { 0x805acd20a8458e40L,0x5a5557d8149732bdL,0xc70741315f1ca72dL,
  96362. 0x7f2e269c952b5323L,0x5c5925566494fadfL,0x153b7acd1a7d2666L,
  96363. 0xa6df063d86fe2865L,0x1e91db1357d53b6bL,0x9195bb89e93ead01L,
  96364. 0x3d71e1af2963bfe6L,0xfab2b9c288278886L,0x778366923b859b6fL,
  96365. 0x6e695174f7029dd1L,0xc79878767b984561L,0x64fb4f1d5907d849L,
  96366. 0x3eab7e1c88d8a977L } },
  96367. /* 188 */
  96368. { { 0xc73a94b652e5718bL,0xe3aefa54f4cee1e9L,0x654e9e63553eedeaL,
  96369. 0xf2541e1b5f3aca1aL,0xd71294890d083316L,0x7965af63fb7f950eL,
  96370. 0xd8fc9e0dc74e3e4aL,0xb4ee48d2eaf79ebcL,0xa458a86a8b7787e6L,
  96371. 0xd8c7621ff7cceaf0L,0x8228eeffdf67980dL,0x210d4742f9106727L,
  96372. 0x91f63501b07e3629L,0x441761c67971e29dL,0xc0ccc65f03a3b8a5L,
  96373. 0x3491da4f38e09544L },
  96374. { 0x6706d046cb062eaeL,0xee7db7355d08776dL,0x80de8052292315d2L,
  96375. 0x40785662c402bbdbL,0x5f93525c26ed3337L,0x6cea14d67d568ed3L,
  96376. 0x916a118966888b1eL,0x0fbd52055dc71675L,0x833d1077e4575df2L,
  96377. 0x4e93100aec092335L,0x2f9e1d016cd85389L,0xeebd372543226368L,
  96378. 0x401d172b1ba4cfd7L,0x377dab9d574c5838L,0xaeaa695880d517deL,
  96379. 0x0c843dfd6ad15a18L } },
  96380. /* 189 */
  96381. { { 0x455811ffc9373300L,0x1c39332a99fdc300L,0xe19bb81c353cb655L,
  96382. 0x774b924a96a83d27L,0xcbfc8fcbb2ee3f1aL,0xaf278ec4010d56c7L,
  96383. 0x6fde682fe0abaf79L,0x7566d0727339aebfL,0xbd35ad5d71205db6L,
  96384. 0xb5bbe6947051c9d0L,0x577db480d3a3067cL,0x2c70ff54572d7530L,
  96385. 0xe8615aece06d853dL,0x71999ccb05abfb5dL,0xeeefc96bea0a8ed7L,
  96386. 0x2dcc469d35f6df69L },
  96387. { 0xcca6cd06c65f0e77L,0xddcc7980bd71b14aL,0xb6221f8b3c93cc00L,
  96388. 0xddfcd5b3ae8cbf57L,0xbc92973f76f8e63fL,0xe9848a3406e132b7L,
  96389. 0x4cc59a03d51ec9e2L,0x9c9d32bb3a33081aL,0x0012105280e8466bL,
  96390. 0xc2b0032a1bbe7295L,0xdbfc657224938448L,0xe972a0ceb6bba0ffL,
  96391. 0xf60c0a4fc0a94802L,0xf62c41cc599d8bc7L,0x820c96ee312da0b8L,
  96392. 0x5a1a65dbcdbdf9fcL } },
  96393. /* 190 */
  96394. { { 0xbfba691a42485684L,0x613116b929c470c9L,0xb4b01971e62a0519L,
  96395. 0xf3245aa65ff499daL,0xc2ef87f4a5238effL,0xc16dc6bacc9d5515L,
  96396. 0x5a7f227e2dbdacacL,0x8dedaac4a9bbaecbL,0xff308a6d2e7c9885L,
  96397. 0x4c6f2fc2e6895593L,0x3655f285177e0611L,0xa63e8d06300b1beeL,
  96398. 0xbed0ce7913c17b54L,0xca4abe35c4974262L,0xf4b44a17bc4e4037L,
  96399. 0x5ae95099efe5fbd9L },
  96400. { 0x122e5ee7804f7455L,0x341a499722066682L,0x97d24c317795e333L,
  96401. 0x12f4123ce48efcedL,0xe8738d9219fbc21cL,0xbb3bdc610663a3aeL,
  96402. 0x3603d8c28593a6dbL,0x926227f2e3c1ac75L,0xfea92ac05eaae519L,
  96403. 0x5b596f0bfd6812acL,0x3ce7e844fc2a82dcL,0x3840481a63522b27L,
  96404. 0x836088b152867895L,0x21ffb7cc26588688L,0x0ca331612f4a7cacL,
  96405. 0x4110667ea3edd298L } },
  96406. /* 191 */
  96407. { { 0x81830357c2d04b63L,0x3fc5a34df4929a18L,0xc73bf6da22d195dfL,
  96408. 0x14df2f89cb432473L,0x345afe5ce997f138L,0xd8e3f5f98b9604f4L,
  96409. 0xad7942e950c10ae5L,0xcefd5447eed25ff3L,0xbf68e51e0e73c0ccL,
  96410. 0x5b1ad591ab54fa4cL,0x8bbc110512b61c8cL,0xbb932913b5abf760L,
  96411. 0xdb1231be01e79649L,0xd0a83e91040ccbe7L,0x3dde426f90a96db9L,
  96412. 0x1cceb64534df11eaL },
  96413. { 0x2d210c4f0c6d0f55L,0x6cadf61b9c673c9dL,0xdd7f9919a9ce3fbbL,
  96414. 0x135f494c93b063e4L,0x580bdb3c145a93beL,0x4d8723320f52ef7cL,
  96415. 0x74d876e88814bb6aL,0x4f6f723ac7a97deeL,0x7de2b8f03e3cd833L,
  96416. 0x6162f082ae720270L,0xe88ec2d4ddfa486eL,0xd965c8598d3a17c6L,
  96417. 0x62e59e543980171aL,0x0ab6285dbbef6b22L,0x3cf451954d48b203L,
  96418. 0x1f1752334ea25ea3L } },
  96419. /* 192 */
  96420. { { 0x808a765b3467ea91L,0x3f4632eefd2d9c45L,0x7b75dc6d9cf2bc6fL,
  96421. 0xefc8d240359813aeL,0x23ecb209e44cbd8dL,0x59ba10e321525622L,
  96422. 0xfa14d9343f1ee19aL,0xdf97c21bfb0c48f7L,0xc4e62890ea30d437L,
  96423. 0xb286e2a4651475c2L,0x291f01e4126672a5L,0x9c6fda5c31aab3b8L,
  96424. 0xb7277a5ae17d22ecL,0xbd88ed83914f0badL,0xd0b05d1b6a2392e1L,
  96425. 0x4cb8af9065893c2bL },
  96426. { 0xa2b02057bb4b1953L,0x4ce08b44f597f6eeL,0x854f5d9b5e6412c8L,
  96427. 0x1913262db3cd4919L,0x902762e46e42bb5dL,0x8355c8e6d78e7f60L,
  96428. 0x8efaa82438b6c16cL,0xd0173790e550f618L,0x118af462e57d778eL,
  96429. 0xa16ad5e8715b4714L,0x900596c341dea4f9L,0x2a957c32280ca610L,
  96430. 0x2faee800374c65a1L,0xdb10512750080414L,0x8c1db931ff080fa1L,
  96431. 0x486a5c25d79878fcL } },
  96432. /* 193 */
  96433. { { 0x0521e213941b4f36L,0xbaacfb14f803b4f9L,0xfdf1e22e52a54ba8L,
  96434. 0xacfabbba8fe4796cL,0xae0788db58dbacb6L,0xdf98d736c19dfa51L,
  96435. 0x155c286a35a716eeL,0xbe7d46769c86461bL,0x50b6380f63a64a5eL,
  96436. 0x14b419149f609262L,0x0919a7d0a2dfc5b3L,0xc454da55cef466acL,
  96437. 0x93fa4a246986aaecL,0x5090b17171a49cedL,0x602f1d6cc1fa75adL,
  96438. 0x5d269f8978e4c054L },
  96439. { 0x3a74030c14920419L,0x0845d86890968739L,0x81b994c4eeb70fa6L,
  96440. 0xabcaa06dd9fc5bcbL,0x06539427f58f8f2dL,0x35c85f67b1dc52aaL,
  96441. 0x5a7d8d722c911baaL,0x4041005caec2d834L,0xb5868a447a8e5347L,
  96442. 0x04ee180b8de512c3L,0x4daa66e5211168ebL,0xc0bd5dab2317cd8aL,
  96443. 0xa1d4185d61164df6L,0xacedca261dbad7c9L,0x0fe4b5ac09b02683L,
  96444. 0x8ac9995a26d9550fL } },
  96445. /* 194 */
  96446. { { 0xb2c8dc9b2640a39dL,0x21ff0b38ede0c9f9L,0x74f469bda1ecba0aL,
  96447. 0x8a902ccd080d0417L,0xe956fa32f4994604L,0x348f85cf9776ab15L,
  96448. 0xc21fc6ee0066f492L,0x35b1ebfefeeef367L,0x7804581c4613e5edL,
  96449. 0xcbdfe8e6ea6ba071L,0xddfcaa32950d73edL,0xc97479361da48889L,
  96450. 0xce867c8cdbaffbd1L,0xd267431f1cbaeae7L,0x68255045897912c8L,
  96451. 0x0c7c1ddcd7ea1e4dL },
  96452. { 0x53aa30cc1ce963a7L,0x7352f64cc4c5fadeL,0x2b9aa2f82828afbfL,
  96453. 0x64273c56ca212107L,0xaadd765485a576dcL,0x6196ac3e90b5c77cL,
  96454. 0x20d43e9fd1aaf39bL,0xfc392062cd05cbc4L,0x141638724c0ff2fdL,
  96455. 0xcf32b8d82ae821e6L,0x5f58f9433fa7a3f0L,0xaebf1d2df644ca92L,
  96456. 0x0c0615631918a75fL,0x7989b5ed6b876118L,0xbf342445ad412441L,
  96457. 0x24ffc9ae1df633abL } },
  96458. /* 195 */
  96459. { { 0x89fcdc0593c7cb2bL,0xc1243b95590053fbL,0x601debcf6182343cL,
  96460. 0x364546ef66c18a63L,0xa5290701ec913287L,0xc35b8026f9788c31L,
  96461. 0x852b862a92d1f7d7L,0x1809cb050aa79728L,0x897d467ca3cb2005L,
  96462. 0xf20c77c09ef5b946L,0xc3372c42f2241984L,0xda053e0df35bb206L,
  96463. 0xbc26c6d0a9c140b5L,0x61cfcc0ccb56fb33L,0x1c3cf9ef299b3968L,
  96464. 0x89e4d3d140621ba4L },
  96465. { 0xd35e80e7a45a9be3L,0xc4daa57807356fbdL,0x0186d62eb967bc2fL,
  96466. 0xa702679e47cd16e3L,0xca2f1c025f30ce9bL,0xf1205b461f864f50L,
  96467. 0x7fd6d79785061d66L,0x47edc4f68a08809eL,0x5dac04499a4d3ae2L,
  96468. 0xf844664a6d1f9da8L,0x9f30ce84d7a83a71L,0xe9382baceaac33f1L,
  96469. 0x1f033831948622abL,0xb037a4baf7681eb2L,0xd156a90899a1b5c7L,
  96470. 0x675d3e6fe6f1d0fbL } },
  96471. /* 196 */
  96472. { { 0xd9767ffd707193e5L,0xe478aa91810358e5L,0x5634f9ff328d8ef7L,
  96473. 0x913a0ee86dbbd9a7L,0x379b29687e215686L,0x903f410a89d9da38L,
  96474. 0xd9f8d7b91b1334d2L,0x9fe74229bd82efb5L,0xdb568b623803c778L,
  96475. 0x93e9a350d3d25344L,0x559c35b0724497e8L,0xc472d436a169e23bL,
  96476. 0x09864632cc5b4c69L,0x9f6d759d83c7f531L,0xa91cf1db1e497888L,
  96477. 0x5f7f92fe60af1a4bL },
  96478. { 0xf18a1cc60545167eL,0x55ee2e02affa88e0L,0x24cdff51432a7bcfL,
  96479. 0x7382da42a7510866L,0xe894c11f40511af7L,0xaa4e4e312aaf1423L,
  96480. 0x8c3d36f0f63dd2aeL,0xfc5c9550d7660635L,0x0125373137ea7eabL,
  96481. 0x2a5cd59839b950f6L,0x95a0f60140e63442L,0x905e238ef2ac7045L,
  96482. 0x44bacc0e446b0f73L,0x4cd4206ec448578aL,0x367b1aaaa5bd7803L,
  96483. 0x25beced90a2b458dL } },
  96484. /* 197 */
  96485. { { 0x079a73820c33a8fbL,0xcfbf6cd10f25dc1dL,0x4ffc73f8c6d482b6L,
  96486. 0x3e51f18c07bf844aL,0xa7651236599162f0L,0xac59a74e14013811L,
  96487. 0x957a6865e55018a0L,0xe1ec51bde3ca09b1L,0xbc0c7eb3a960253fL,
  96488. 0xe83bfd147de03f84L,0xc0540ed152fbdb09L,0x6ba52eddcea15ec1L,
  96489. 0xf3d30ed54b261307L,0x9bd7bae8e8397206L,0xf20d8692096373aaL,
  96490. 0x0a616a4bc3b0bf63L },
  96491. { 0x2075f3ed6e1339c9L,0x7afaa072bf8b00a6L,0xdfafec82bccd9b47L,
  96492. 0x4713158f00ca54c7L,0x449102f138bc31aeL,0xaf98f158310dfc8aL,
  96493. 0xc9ef207559e954d4L,0xe8021af9c527a0c4L,0x6e8012777a192023L,
  96494. 0x635f538c7fb02377L,0x5df1974fe8c9e951L,0x0287faed15cc9097L,
  96495. 0xfa0728f0f7a5115cL,0x90dbfbe60fac623dL,0xa8d40fd40311ba09L,
  96496. 0x876d154e07c6464cL } },
  96497. /* 198 */
  96498. { { 0xd3a4d6d2c2d3ea8aL,0x36be681ba842600eL,0xc53f100de4070672L,
  96499. 0xe3e5b6fe6a7d7a7bL,0x6e6994f95d5e1a83L,0x07cacd2276097c2aL,
  96500. 0x12d98dbaa6791011L,0xddfc4461102e0e24L,0x4815dbc2d493272aL,
  96501. 0x7e38e64ba9436696L,0x4960eb1a32b2bf90L,0xda457525d928e28bL,
  96502. 0x72f75b392a077c9eL,0x27760cbb7fd61d00L,0xaf235d1b0f4b1456L,
  96503. 0x3040c23be76d1700L },
  96504. { 0xb10dc55b4efa9a70L,0xd4de414f53e86610L,0x3d95c11309f8a27fL,
  96505. 0x505109a506661d3cL,0xcaa2994a60eb513eL,0x3ee415371e7d338bL,
  96506. 0x4fd145fc4651e71fL,0x51bbf838cbc313b4L,0xb039e0781eb92150L,
  96507. 0xe8696b4414bf5ac7L,0x2d6671888be0d48cL,0xbe93b2f5dd8f2b6fL,
  96508. 0xc1dfd1e7eb8a7f8aL,0x862b3dd990f751c5L,0x1eb1ad58a32a74beL,
  96509. 0x5486d79a1ebbc9a2L } },
  96510. /* 199 */
  96511. { { 0xcb2e34ffa1359e13L,0x202d8dbf28196051L,0xe95e023d23564b5eL,
  96512. 0xfb1340b642f6ac12L,0x543ba852b653725dL,0x81aedcd68d2466adL,
  96513. 0xbf780224547c728bL,0x559f8a119569fb65L,0x505b7a62dfb22ec9L,
  96514. 0x071075409eed5e52L,0x9c899288299f6f11L,0xa7d692613db6f8c7L,
  96515. 0x30eb7fb3b3ca79a9L,0xcab99bb8fb2160b0L,0xd2012568d28b409aL,
  96516. 0x380f1b0f5ac45f8bL },
  96517. { 0xc0b99e6be6a0068fL,0x4b67cf2ac8a73753L,0xa6c9a548b2faeb7cL,
  96518. 0x7f417f99340260c3L,0x8ee56855cc0f739eL,0xf08b510f780949daL,
  96519. 0xb1770fc28d5c6effL,0xb4f5abeefd96a7bbL,0xa07b1136f2665a2aL,
  96520. 0x2fb380a4b601dcf9L,0xcc803614162becc6L,0x3498fb96ee6b83b3L,
  96521. 0xea9b0fd6a8c17eebL,0x5834b5baa177efc2L,0x929044f55b110b3eL,
  96522. 0x4abeddedebd7285eL } },
  96523. /* 200 */
  96524. { { 0x3355e1b9700ef376L,0xd56e5d9a66cdabffL,0xb3dc257547e87646L,
  96525. 0x28f44b8a00f79369L,0x08c32b1ea0c52e29L,0x5a78de123729b392L,
  96526. 0x4184519ab26d239dL,0x23f6b4b7e0ce4a6bL,0x235f6f8aacb2a9f9L,
  96527. 0xbb8bc454e2064a59L,0x37efd0341bf3062eL,0x6bac683b94dff6f9L,
  96528. 0xc3364b1e8aa7fa06L,0x0616772ace0b3745L,0x46f08d08d1e3fb0fL,
  96529. 0x6a20abb318e132d3L },
  96530. { 0xea8310166a85cbc7L,0xd0990946934f9aa7L,0xc2211088e778f1b3L,
  96531. 0x7ea4ff8f2247b799L,0xb3171d71454484ceL,0x294039494f98c364L,
  96532. 0x5da911f397df1458L,0xa6b5809309439116L,0x75f9509a174238bcL,
  96533. 0xfeb518218209758dL,0xae0c6021a47925d0L,0x0e946694af8a315eL,
  96534. 0xae7af8a36bad04b7L,0x44c15e7ff072447dL,0x5184668aa5456ffeL,
  96535. 0x45e353a7bf36b977L } },
  96536. /* 201 */
  96537. { { 0x7605676493092f71L,0xeb66b6c2f5b92d71L,0x9db3149be2c8b6c5L,
  96538. 0xf62f583a20c0363eL,0x688acd3303cd7097L,0x85d0c0f8ebb916acL,
  96539. 0x1bf7462c84c19b0eL,0xc76ed5f97c4a6ad1L,0xec8b88bad119f369L,
  96540. 0x59b8371bebe50b83L,0x0cc69508866706a6L,0x531c75a3f8373d2cL,
  96541. 0x4e1cd3a32a5a02fbL,0xe8274778da39a1d0L,0xedfc5bbb75da333eL,
  96542. 0x15941f24ca79bd36L },
  96543. { 0x42e8c0f8a77dd512L,0xa91b59a71dc365f6L,0xe80d14cd08753862L,
  96544. 0x1624230dd272facaL,0xeea3ec164027cb5aL,0xc1700b59c1ef9f03L,
  96545. 0xd411c1270da3148dL,0x801ee448c4181af1L,0xedf285599e3a900bL,
  96546. 0x5d67b0bd0d09affdL,0xd839df968b370024L,0x3b6307e0e6f836b8L,
  96547. 0x5382e588bd3201c9L,0x636d8a6b7a1d02bbL,0x70b7db76968641e9L,
  96548. 0x6d17c34a118fad03L } },
  96549. /* 202 */
  96550. { { 0xcf608841c181c99bL,0xb65dc901c87bdcafL,0xb460b4473720dabeL,
  96551. 0x4c79c3965377515bL,0xd447f22e0a96c277L,0x0d9521302ac0f440L,
  96552. 0x8330b26bc90583adL,0xe25e977a928904a0L,0x1deaffd985c50b18L,
  96553. 0xcf4dbcb7a5ad5f6aL,0xcbcd0019c8a37ed5L,0x7846dd901e9850b6L,
  96554. 0x1ac8194ab0b8e605L,0xb972857134132f90L,0x4ce9f149f56ee28bL,
  96555. 0x1ab9b5a43e9e1d4eL },
  96556. { 0x206dab92314fa7a3L,0xcc4af0f0478ff963L,0x4cce1713904d9fdbL,
  96557. 0xac20a2eb12c045feL,0x44fc5478fd8f6d7dL,0x886e72c5ca7b6ffaL,
  96558. 0x7fa4529b6fd6f758L,0x4df1d1b192a820d5L,0x3d812f9f2789f149L,
  96559. 0x9842f083aabb53d2L,0x2648539b2a03ab32L,0x631ce090b1512502L,
  96560. 0xe1294d15731f6bd5L,0xb229361d9436e634L,0x8c4281c43ca966afL,
  96561. 0x24b34956c21ab3edL } },
  96562. /* 203 */
  96563. { { 0x49bdcb86659824e2L,0x6dc4ce484e13e74cL,0xa4c01a266bbe1eeaL,
  96564. 0x47b2b8e71e3ec457L,0x7e8b15e02f5a8e4bL,0xe81eb6e6e333530dL,
  96565. 0xacba369e17a45202L,0x81241431d70e4c9fL,0xc190af4b3e12beb8L,
  96566. 0x5327052311f486fdL,0x9f6c41e129fb2bceL,0xbe6287ebb70f6c08L,
  96567. 0x1479850a3feb4477L,0xfcfdfb119bcf18bbL,0x925c292fda80d040L,
  96568. 0x212d65e57e3c5bf9L },
  96569. { 0x23adb386ca15cf08L,0x4dfa4ac481e172ebL,0x9d1dbf934d42d0c0L,
  96570. 0xd9cf607374404dc7L,0x60508441e932bfcdL,0x9ae910ca1c682a98L,
  96571. 0x9528fc1841ac1cc0L,0xe6a120aedbbed630L,0x94e0e1ec30ccf250L,
  96572. 0xfe84ba54e58bbf2fL,0xc66d0b4f9faa4415L,0x0c58f1e7ecee7ce5L,
  96573. 0x7a1d43eb6fa6873aL,0x96c6c5a0399f1348L,0xe6ef9aaae6727ab7L,
  96574. 0x66afa5549a5c2447L } },
  96575. /* 204 */
  96576. { { 0xda5aaba8c980e91dL,0xa93cf5096ac98efaL,0xb0990e0a8da32662L,
  96577. 0x01d215300081453eL,0x2bb0d33e3d71de84L,0x465f6d803e19a012L,
  96578. 0x5902ff4c78a838e7L,0x74e2afb71931348cL,0xa49327579cfb057bL,
  96579. 0x761ea6423ad03f8fL,0xb7d4c24558ffa40aL,0xb5e9c0d977a87e30L,
  96580. 0xd1c5edbac9c84d26L,0xeca8839a3d1963a0L,0xbc6f2f35ebf6bf0dL,
  96581. 0x01ef06310d58abdfL },
  96582. { 0x2bf903163ecdcbb0L,0x19e2d72827c1c955L,0x9e5270309575c930L,
  96583. 0x0dc1c5a996983930L,0xef9f80ff7cd082dfL,0xcd915075df97e051L,
  96584. 0xf286fffe9cc61b55L,0x352db38f80f24cc4L,0xed9b99ec36523ae3L,
  96585. 0x109a8ca810b104a9L,0xc2700fe7305203adL,0x2a2ee24e769400f5L,
  96586. 0xd595d399ee0c452cL,0x0ab75d6af7f02a41L,0x341080990db730b7L,
  96587. 0x0e4f5ffd5e8d1202L } },
  96588. /* 205 */
  96589. { { 0xbd1c64440ff14c38L,0x9a5b59faaece11f2L,0xaa4605a722af6330L,
  96590. 0xddc9f65a82af24eeL,0xf4ee4bfeeb9a1159L,0x2463d07674e84eafL,
  96591. 0x88cbe1e00e0baaceL,0x7ca568ead5fabdcbL,0xbd80d524c57eb99dL,
  96592. 0x9c46572ce9be9873L,0x918a1dcd7300b85eL,0x4922131240f54176L,
  96593. 0xf7e324ffb5b14236L,0x40dda5012434f16aL,0x08833421a133d97cL,
  96594. 0x33d411610876f020L },
  96595. { 0x7531a36b9878e5ecL,0x5de3e32146918232L,0xd15f9a33d0a30464L,
  96596. 0x734c1b87aa173659L,0xac2094a2f925d4feL,0x43c965a1c262b0f4L,
  96597. 0x759c903e447d5cbcL,0x92af215e05239300L,0xfffb6d5f1f593f34L,
  96598. 0x65943b4bc3cddb5fL,0x9d03a29cbfdd5408L,0x8f7cda6b198d76c0L,
  96599. 0xc0790a22c0f27b59L,0xba557a848cb58ccfL,0x5922052d76c54fdcL,
  96600. 0x2d3de7aa47b6b466L } },
  96601. /* 206 */
  96602. { { 0xaade746265add3b7L,0xe5888f35abf24c2aL,0xd41549cae1a57d93L,
  96603. 0x0e22e18e2c76f7bfL,0x67f288eabe3202b3L,0xb79a66ba1d1d0f0aL,
  96604. 0x0e0ab7492881ad18L,0x7d424086c7adb0e9L,0x870c32c52842132fL,
  96605. 0x858477f158f9a09eL,0x422a9372ec025589L,0xbe428c5ca5098777L,
  96606. 0x45b7956457660058L,0x6c7fc631957f37cfL,0x8b7023ddd6316289L,
  96607. 0x47003bb65b1c12a6L },
  96608. { 0xd99401c1c91c1c96L,0xaa5dcdf927a12970L,0x3ab92e17c3c29107L,
  96609. 0x26fce8f7a3fe4710L,0xb0d09d5e4ee998eeL,0xafa622048e3a41f8L,
  96610. 0xb1c012a5a26ca506L,0x2c6f734c99b57252L,0x1093d79f512f7fe1L,
  96611. 0x2f30906eacee19a6L,0x6bff8381056d1ea6L,0x61c75856eff35f21L,
  96612. 0x6e07e978c1ad2224L,0x2cca6ca16b20fde8L,0xab4d6d2d633fe81bL,
  96613. 0x73dff504b06a2ce6L } },
  96614. /* 207 */
  96615. { { 0x8b615805d8e20fb8L,0x7c6873e482b533f0L,0x5205f00156a854caL,
  96616. 0x87fec6accb369211L,0x1fa3c0ecc7f092b7L,0x5b36647ee845fe4cL,
  96617. 0xd4781e85f8b1f112L,0xc65268398b0f1a6fL,0xceeb8c6cdcb8eb92L,
  96618. 0x133f0ead8e5f6d52L,0x31883e23c8d934dcL,0x214ed5bd428ac45aL,
  96619. 0xf77ca492dbbfca85L,0xdf4113fe07e5ae13L,0x63e4a0d272ab05fbL,
  96620. 0x7544d0b77148f535L },
  96621. { 0x4fe8d13480797aceL,0x216d6aa0af86d97eL,0xdbf0a688ef5a68fcL,
  96622. 0x18b26f459f9b2684L,0x52fefcfa8999d2fcL,0xd5af8d8262423955L,
  96623. 0x8f123469f63a3780L,0x2933454fdcd4feafL,0xba8018b7a73b5d09L,
  96624. 0x9af1f276e5552c18L,0xc5d4773dff26bb1cL,0x9ef4941006dd4f44L,
  96625. 0xad8f12f95f39ba49L,0x5767f6dcf66ca4f2L,0xba8773f17922f59aL,
  96626. 0x220081eac1e42d49L } },
  96627. /* 208 */
  96628. { { 0x3043d573ba37a0baL,0x05a431bcdd176df6L,0x03322cfcc42070f7L,
  96629. 0x5cabd30e67c2d109L,0x362c95decbf8bcfaL,0xd767d2777787b10bL,
  96630. 0x612c915e6ec05e64L,0x9e669631ce69c30eL,0x27c9dd8f682e2635L,
  96631. 0x79021f1295ffcc38L,0x06a8ee798a2adca2L,0x8e00e7844b5d500aL,
  96632. 0x87746fc78d80d6c5L,0x246053be915f10ccL,0x844e328b219f6fd8L,
  96633. 0x620541ac11bd3733L },
  96634. { 0x0f7fd382509e5a29L,0x8748d7d0b432531eL,0x8f749354cd3883b9L,
  96635. 0xc6b8ac748bfbb17aL,0xa4616a6605f2d2c5L,0xb3d966251bcb1b83L,
  96636. 0xcf7531042fee265aL,0xc70d73fbdb225058L,0x1211d434f0c2d556L,
  96637. 0x862061d854b259b3L,0xffe4606dc42b3f7dL,0x4c5c8585e86a4949L,
  96638. 0x04ddcc8b160eedacL,0x1804ce67568e2420L,0x91f3855a42141656L,
  96639. 0x7f378198f932be97L } },
  96640. /* 209 */
  96641. { { 0x9a374bdadfa6639aL,0x0cbd48d402ab7391L,0x5c5ef23647031e2dL,
  96642. 0xb49ee2bcd0599d1fL,0xd285eb60e0d38443L,0xdbbea92f269392e8L,
  96643. 0x91455fbfb8bc538fL,0xae259ff1e469b768L,0xc1cecb1f41de5682L,
  96644. 0xc876f0719952d1aeL,0x1ce25181e7bf7446L,0xcb93ad86282ad2f1L,
  96645. 0x8fa3cd316ba4ef67L,0xfce68a04e507aa3eL,0xced74170a61bb608L,
  96646. 0x6de716b3f6ac10d0L },
  96647. { 0xd4e58d04172d6dc5L,0xbed2cde66397c65cL,0x7ae77e180c9eb4e8L,
  96648. 0x5627546875fa2edbL,0x4b30324ea91e6738L,0x6023a856235c8b2eL,
  96649. 0x9df6d6c2a8f92887L,0xec2c185ff6f5e8b5L,0x7892e12b3ad5748aL,
  96650. 0x7aebb4f2d54aefbcL,0x14915448ee868821L,0xa26c5f71b1d9bd5bL,
  96651. 0xe5ccd1662ff00df7L,0xebc99f17b95b1deeL,0x909836163fe1f774L,
  96652. 0x51f90830bb3d25b0L } },
  96653. /* 210 */
  96654. { { 0x49376fa1f2922461L,0xdbb1b1c31650d0d1L,0x92b91c330dd8608dL,
  96655. 0x3e612c4b36b89906L,0xe1977b0bdf560052L,0xf8afff70636a2545L,
  96656. 0xcda7d27811723d8eL,0x0b0bc4bb81bde7baL,0x3cb080b2ed2a578eL,
  96657. 0x5bda0d0d171b2e02L,0xf6df38cf941bb9aeL,0x85dd81dbc14a65c5L,
  96658. 0x7f98c82dc19dd98eL,0xc613747f52206f93L,0x9e13a2c25f5bbe78L,
  96659. 0x5eed218e0aa34be7L },
  96660. { 0xe156575401d4dc0bL,0xa1ae5f27f566bb07L,0xe985ebebb82225d5L,
  96661. 0x5f3ad21c1189ec6bL,0x17da518cecce4d9dL,0xc84a2d3ed6b65b59L,
  96662. 0x7f9881758ffa771cL,0x50d6ae122ac69a7aL,0xcb7f30b1c6e6846dL,
  96663. 0x8c023a605bd0bb13L,0x9a10fecdd73f2407L,0x8c5158cce5f0a996L,
  96664. 0xd26bf615bd8f5806L,0xaf32ea87915a46e1L,0xeaf74e810287d308L,
  96665. 0x8c14ba06a6264254L } },
  96666. /* 211 */
  96667. { { 0x0c877895b17ee201L,0xc05aa47188e57a77L,0x19c3e76397822456L,
  96668. 0x0be6f8c0c9c3ba1dL,0xfe85f4ffb4389ebeL,0x538bccce0ce7fbb6L,
  96669. 0x876eab2a65266c64L,0x5c9ac690cf9a3842L,0x9f5cf3b1ccc8f981L,
  96670. 0xfa17be6a9cf687deL,0xfcfc10fc83835c15L,0x086b0fdb150ef2ebL,
  96671. 0x9f97ecd9884a52e6L,0x416e6fa2b0cd1eb8L,0xe2bd15993ecc03baL,
  96672. 0x645c0a5deabb165eL },
  96673. { 0xd94c420550aa7e31L,0xaec8df0c2f851da5L,0x996469093c726e6aL,
  96674. 0x72dbdc362619bf9aL,0x1b4260e0e253fbd5L,0x97c259fb8c709e06L,
  96675. 0xfabf7cbbcddaec5bL,0xb4d5e8b1e4b703e9L,0x1b06e56e0734efddL,
  96676. 0x02d4a4f91f55f8a5L,0x7f8608ba3f565c8dL,0x822f47d2816d1d94L,
  96677. 0x0cc361565ce7b136L,0xe46ee5ef31d04242L,0xb2a65f70683567f6L,
  96678. 0x27e9ff40d2fa6c91L } },
  96679. /* 212 */
  96680. { { 0x75251893d7e952e7L,0x15b30583c735bf18L,0x732b599296fe0491L,
  96681. 0x27451858806d2fcaL,0x71ab76a01b885ed9L,0xbdce9d976d9f55ecL,
  96682. 0x3da60b2048f2ba9cL,0x6977c086592b132bL,0xb6dca9cb099051d7L,
  96683. 0xd9c2ab23d188ae25L,0x9f469f3fe20aaf3dL,0xdbd1f7cf5aad74d0L,
  96684. 0x3d5efe5c22a9eb3bL,0x8c5edfa2137010c4L,0xada2217b57870260L,
  96685. 0x4feee5673dac9776L },
  96686. { 0x30e18d52b5d3d780L,0x4dadb5d307166744L,0x320d386e5a742156L,
  96687. 0x5d8c290e8d6bbb86L,0x981a43232d263dd1L,0x33d0e7ca98984636L,
  96688. 0x5138784da519acb1L,0x832e3fabdddc81ffL,0xfc2785943199a43aL,
  96689. 0x5b4cabcf32743163L,0x9fa010bd74f94fa7L,0xc28a743d5694a627L,
  96690. 0xc1d2a888cb657a24L,0x7eef2503e86a25eaL,0xed11a5d304c561ffL,
  96691. 0x4fe818e79c9ede0eL } },
  96692. /* 213 */
  96693. { { 0x00252c9d7fc1c7ffL,0xa9bd419d9fa89ad1L,0xc93a124a4064e9ccL,
  96694. 0x384cbcb843942eccL,0x004c21fd8749695bL,0x69c81d9f421165bfL,
  96695. 0xe2325628dde01102L,0xec9374575a9b004dL,0xfb3346bff6dcfc21L,
  96696. 0xac4da64b4d372c7dL,0xcecb7ad3f20494e2L,0x562c41b5e867c150L,
  96697. 0x299395cec2b723d8L,0xc91adfc57ee53231L,0xe06f1161f10b6597L,
  96698. 0x81915529b74d3ffcL },
  96699. { 0x8ec124316ed9d4eeL,0x3dffa154689aff01L,0x4aba349f2a89a3f4L,
  96700. 0x2db1e8e2d467efb2L,0x18dea354039102e2L,0x422ab853e52f082bL,
  96701. 0x7130a2c1ed36dd47L,0xca60e86d0295d1eeL,0xe6ac68087c7f5ad3L,
  96702. 0x0f83cecfde864658L,0x72e66c21461d1265L,0xfeef4150bd385099L,
  96703. 0x0f183f3aa6632289L,0x275454be792dc795L,0x2744c11b11367702L,
  96704. 0x7d06bcc7e8ea6ef3L } },
  96705. /* 214 */
  96706. { { 0x892859427090212fL,0x691b7d4c5521e844L,0x4c038422be2dbb92L,
  96707. 0x317721edbd81f880L,0xc136cbeeac89bc36L,0x4f71b60b7b8f004dL,
  96708. 0x269132d04e218ab8L,0xb0e2496ee6cc814dL,0x0b2ce31775fadc15L,
  96709. 0x82e3c08466d223c5L,0x9721caa64c612f8bL,0x59a751eba4b65355L,
  96710. 0x3433aad5c7d3d9d1L,0x1e61b9d2e80d4246L,0x149f655ffc673caaL,
  96711. 0x48b52b99d0f9cb92L },
  96712. { 0xa3915399efdc05beL,0xde70db1813e095e9L,0x447862e9cddb3fdaL,
  96713. 0xa2b031621a009451L,0x4b27980c23920ea3L,0xac5394f1a23b8febL,
  96714. 0x163f72563e5616d4L,0xaa0ff93fb714219aL,0xd26f96d293d62474L,
  96715. 0xdd212ea87dcfe276L,0xab27bf2f47038d15L,0xe58c8325f418168eL,
  96716. 0xe3704222b32a989aL,0xa3694390bfc9f13bL,0xf16e26060d0684adL,
  96717. 0x17c0de879d8c76ecL } },
  96718. /* 215 */
  96719. { { 0xbca5f453dcc01958L,0x7d9459541ce88393L,0x5e6350a1561f5b6dL,
  96720. 0x291c3c867e2d36bcL,0xf6c7ed84a5ac3a6cL,0x7913c40bd98006cdL,
  96721. 0xf78bb0875671ec3bL,0x1c928f6eb43e89a9L,0xfdf28df3ae1ea1edL,
  96722. 0x62bba5b1b924b2b5L,0x491d27051a116e05L,0x08ec02b7167ed3e3L,
  96723. 0xe291cf7b5bc0b046L,0x30e501698c5d7f59L,0x0c7c350df5c799b7L,
  96724. 0x6862b9e20ac6e1d7L },
  96725. { 0x56c6f4e79ffa1f64L,0xfed6a91aa1e24349L,0xe9a0ee0ccdb75232L,
  96726. 0xbfc90b370322d607L,0x29480ad2462fef87L,0xfc214969c2bfcf34L,
  96727. 0x6e5211e0a539e38fL,0x2a59ec2612a5149cL,0x195fe212d706b532L,
  96728. 0xf77fb108e99c8429L,0x74ceaea35dc80482L,0xa5a6030bbd92d298L,
  96729. 0xad42dca5aaea15eeL,0xd6ac3bc74987109cL,0xc64e1c40290af649L,
  96730. 0x5093fa2d51f8de6cL } },
  96731. /* 216 */
  96732. { { 0xc4cf32804c2d553bL,0xdc1abe223b966c29L,0x556a549c2296914aL,
  96733. 0xd8c9f8b5999976c9L,0xc22c57bd776e83f3L,0x4f2942ab7c85ec57L,
  96734. 0xef3407e56e2c61f5L,0xf005e8caf213db48L,0x470c853df32698c7L,
  96735. 0xe6f488d7cac0a54bL,0xb6bd6bed60b7501eL,0xf0103106714a4bd9L,
  96736. 0x5285bc3b6e098894L,0xec06741af5f92a00L,0x32f16426ef7ef24aL,
  96737. 0x12f9c44d6c77a438L },
  96738. { 0x1951e96483313a1cL,0x98edd3da33c58b37L,0x4edbbf52c7ac4044L,
  96739. 0x866ca6f70dcb5ee8L,0xec0ae8f56dd422f8L,0x1077bc540661ec2eL,
  96740. 0x6d39913ad422523cL,0xd105e1e858e7cb3eL,0x47c9397fc979bb45L,
  96741. 0x3221d4a90997b592L,0x0ef628a3e8952fe7L,0xd08d58274e946241L,
  96742. 0x64cbed0f59780f40L,0x13d7c22708e110ecL,0xd186d8667679b1a3L,
  96743. 0x02f75e4e26ae1d18L } },
  96744. /* 217 */
  96745. { { 0x1b637ebf47f307d7L,0x6b644a6ad0141477L,0x82a33d652e05a80cL,
  96746. 0xc8f1a0f3fed07b31L,0xc09ee7f93696e597L,0xcdaa7ec3c7ffc01eL,
  96747. 0x549f88fef8f373b9L,0xc88d1961c3bb8989L,0xd92a4fe9dfcaa7b7L,
  96748. 0x12ff9ee23ae4ab20L,0xf5aea641f5ecb1a5L,0xe769237fe32fb47dL,
  96749. 0x96a5c42025d085c0L,0xdc91255826c755a2L,0x580b985f9bce9723L,
  96750. 0x72b1b56663961941L },
  96751. { 0x9d708a08790e5558L,0x985360410689af80L,0xe85e7b8a42313b5fL,
  96752. 0xe6ba129255a49d1aL,0x5e76c4b0ac371b0bL,0x58504f39938e6e19L,
  96753. 0x8dd4142260ae9a21L,0xd8b04e9b968485ceL,0xf94c4ba5887efe43L,
  96754. 0x11268e67f11c5e73L,0x92623e28cf6b99c4L,0xf2d0aaa87a0a9662L,
  96755. 0xb266772a4ca02ed3L,0x68ee8e4e2d63b551L,0xcdebb2992e78b5b5L,
  96756. 0x5df19216e17225adL } },
  96757. /* 218 */
  96758. { { 0x20027e1e8df2e7e3L,0xb183cc68d8da07deL,0xce35ba694b4ae694L,
  96759. 0x896d97df3ca62e88L,0x3de4713b52efed2cL,0xd006c40e26bd084fL,
  96760. 0x1e9b71bbfc81923bL,0x9991c7b61aacc6b0L,0x650c93648f656840L,
  96761. 0x138561d187f47524L,0x610f2b11bffd3ca2L,0x96915faffa191418L,
  96762. 0x8f1236de955e5309L,0x613cbeeaa1872d79L,0x7f7b44ea66a2a48bL,
  96763. 0x452265c2e0a89c32L },
  96764. { 0x4ad5ec7925430010L,0xcac786ffebd090c0L,0xa5f9f4ff20a9d3f5L,
  96765. 0xfcbf4112a3edc65fL,0x8824839c0cf3eb11L,0xb8dd6d4e8aa5b700L,
  96766. 0xe2271dfdb7568ab8L,0xe43ec373b744560eL,0x78eaf9261cf75296L,
  96767. 0x1809ae0e3fa96d9bL,0x0b312d2ddc25dfd5L,0x6b8f78b46bab7711L,
  96768. 0x069efc8db5ecf1e4L,0xc1952bae609fecaaL,0x43e302ed5f4dbde1L,
  96769. 0x14b02bf91e078555L } },
  96770. /* 219 */
  96771. { { 0x2c71c768b87e5b57L,0x0bcc78f7f531a557L,0x4ff93f8bf7597dc8L,
  96772. 0xb28e026d139e175fL,0x6b83b727cb94ca6cL,0x2eafe3b20079f7fcL,
  96773. 0x2aca54decf3bd170L,0x17c4133c6af0dc6cL,0xbea1e665ccf5e35eL,
  96774. 0xa6691a48345505c6L,0x2633abd0e6100b89L,0x966c6706c17d0388L,
  96775. 0x7aefffbe1a0cf90cL,0x4d847be7d0add64cL,0xd49bcdfbaea2aa46L,
  96776. 0x85e07e742cc7d0a5L },
  96777. { 0x23aae0a60bc25bcaL,0x6e8e55f1e44f64ecL,0xe1e696d8b607b773L,
  96778. 0xaa90a746d3005909L,0x072b1ccd2cbc4990L,0x0d0fe6c6c68e2f5dL,
  96779. 0x920ec5f053e28ec9L,0x79b21fb4f0040cc1L,0xa7375bd3fcc4a2c7L,
  96780. 0xf5f5def9e1bac7ddL,0xdc315d7935c0f8d3L,0x7117c1702cacd318L,
  96781. 0x6f2823c4e926f71cL,0x38db58bbed02f39aL,0xe5b492317db69323L,
  96782. 0x0964039f8d49f430L } },
  96783. /* 220 */
  96784. { { 0x21774f1656999ebaL,0x3d8ee287b1de6305L,0xd81af726de0b2669L,
  96785. 0x374469393f8942a1L,0xbcf6b615ea03e13cL,0xd30c0c3594e273cfL,
  96786. 0x4fd33a56c6725c56L,0xa57534ada8be97a2L,0x799242a67c22a251L,
  96787. 0x4e51bdb59d0c5c49L,0xd7cd76ccc6a42768L,0x914097acd426bf59L,
  96788. 0x59404a2c66e9beb2L,0x4738fe985c96e3e9L,0xbcbb3e0eaad666d0L,
  96789. 0x626b0fd263bc5e56L },
  96790. { 0x47217dbae1a1ec42L,0xaa6ae7dbab5acc50L,0xb7e1ab1e865331d1L,
  96791. 0xb84530703d30126fL,0x280649e0dee61851L,0x8806f4a3ea689544L,
  96792. 0x4bbe43adcb56f632L,0x036b9bdabcaff94fL,0x0d941e65bd0637beL,
  96793. 0x82179d44686f3abbL,0x1486912caad6afd6L,0x9a3b891eff7e1534L,
  96794. 0x88c426ceeb86fd96L,0xb56e6a81117928c3L,0x933e713596399e00L,
  96795. 0x09bbddd9a17b6ac1L } },
  96796. /* 221 */
  96797. { { 0x75e39c1de4fd3673L,0xf880d9d1a65c8e07L,0x4725c1dc7289c7feL,
  96798. 0x5b6735ee3529d200L,0xc1f8f2ed3c747af3L,0x5cf3998f912efdf5L,
  96799. 0xed72261849859c39L,0x23793a2f0e69795dL,0x8a6ab8d686b1d2a7L,
  96800. 0x00c815de22a882e4L,0xbe77d6fcf9db8d7eL,0x0886fb3202267547L,
  96801. 0xb62687d449c10edcL,0x9f1c3e177c83ed4cL,0xe6d5d7f05af366eaL,
  96802. 0x2eaa01b8d1efad24L },
  96803. { 0x5e47fb701f357c74L,0x93085c4aa9e3b794L,0x4f0987336e85a905L,
  96804. 0xf53808ffbe0244c9L,0x91dddf93a3b5660dL,0x8b76377bf3b95ed6L,
  96805. 0x91b911b7bb3920d4L,0x7ccf08bf86a13cf3L,0x53ed8f97ea018e58L,
  96806. 0xb1ea434378c55194L,0x8e6adde9e0d2d5a6L,0xfc2b248f9b96259aL,
  96807. 0x96ebceaeeef17dddL,0xf694b443557f9c85L,0x48cd150f07d5bba8L,
  96808. 0x02d31de9b4c1986bL } },
  96809. /* 222 */
  96810. { { 0xa6bb9e1ede79499dL,0xf6ca8ff8fd0fc2adL,0xbec0f8e81a7d9356L,
  96811. 0xbc3d1c9fe8f06327L,0x805c72173b300bebL,0x00420a08413c181bL,
  96812. 0x9e9a167ef0ca9d01L,0x076c909d1aeeddd6L,0x64a1997f8e3a8a72L,
  96813. 0x3ce7f7a7a77b429eL,0xaac0fbf45c94d3e9L,0xf37694a7e6d48407L,
  96814. 0xf56679e2a91921e7L,0xf23fe0f3ee1dbbd6L,0xc7917566cbf9fa99L,
  96815. 0x965860f2e0f4d765L },
  96816. { 0xe734702b7fa5f79cL,0x930bd4265af2d26dL,0x45bd8b986c73e0ceL,
  96817. 0x7dbe7bed4ee44a2dL,0xc129e024956c8a1aL,0x6fdc05ac77cdf80eL,
  96818. 0x70a6ba2b589ca59bL,0xfc484021999825afL,0x1d284b547a23f0b6L,
  96819. 0xb1da10a428a0a8afL,0xb1eb1b312b2af6d8L,0xf051443a33935ee3L,
  96820. 0x7a07eb268effa6ecL,0x16ee4086d662654cL,0x7a7bc5014549ee4cL,
  96821. 0x650810321fa98a52L } },
  96822. /* 223 */
  96823. { { 0x49f0e460b67ed9b2L,0x0cda0fd0c36d93d2L,0xbb5963e988c75e1cL,
  96824. 0x757bbe93614bc0c9L,0x9a9b88019a768605L,0xa8b7e2af48edc544L,
  96825. 0x9e77ed9eb51a5985L,0xdd025274ebbf024cL,0x598b62881545c636L,
  96826. 0x39bdaed04800dba0L,0x7fc2013981e2a23aL,0xdc66fd5c550cb4f2L,
  96827. 0xad27032fb52068c7L,0xc9a0bcae8169fa15L,0x60606f213a7ca8a2L,
  96828. 0x982950469862652fL },
  96829. { 0x3e3746002e11c128L,0x80dfae5d0e6dca7eL,0xe44016e2d9552264L,
  96830. 0xf65f88f2880b7143L,0xca3d28d4526b881cL,0xf9c59dd1dfb86afeL,
  96831. 0x548860c24c74f958L,0xd06ea43c9cb69f4fL,0x5343c9ae7334ececL,
  96832. 0x5cc2ccd635329713L,0xa95ff4035f3a6c0cL,0x2e01a1ccb372653bL,
  96833. 0x31510fdfa250523dL,0xeee538e2a6227eb2L,0xeadfc8a0ca23cd10L,
  96834. 0x4b7e6e1b3e78f54bL } },
  96835. /* 224 */
  96836. { { 0x79c9076fdb5f928bL,0xe6250bb6b7347cecL,0x54b67798ac00ec41L,
  96837. 0x900d20ba9d9619c7L,0xed42c0d059e4343fL,0x3df39e85451935d7L,
  96838. 0x2639118264f701ceL,0xce8f2554e1f87aacL,0xfddd678965f91aaaL,
  96839. 0x96cd163fa324539fL,0x5c815f2c4bace995L,0xd78c8c2aa94f9ea5L,
  96840. 0x7ab2aff4ef24e455L,0xf0ed64091cddc26aL,0x954a420b00ca2822L,
  96841. 0x0611c4c5d3297658L },
  96842. { 0xf192001ca9e81829L,0xded3332008a282ccL,0x0bfd7de18f9ded9bL,
  96843. 0x6793ac0db7889003L,0xbb00d91d3577a5ddL,0xe17a23a7802d3c2bL,
  96844. 0xff95f88cfb549014L,0x7cd1bf4bc71b6e07L,0x2e3b24a023588c8bL,
  96845. 0x9b5335b8a4112076L,0x2481c05ec4056d30L,0x55c7410ce916a1b5L,
  96846. 0xbbe03271850179f4L,0x15e6c177b3cd1208L,0x509a24c090cbfe50L,
  96847. 0x820795291c108566L } },
  96848. /* 225 */
  96849. { { 0x5d2d3cff1c7d353eL,0xd5e7eccd7de0ce3bL,0xb4b1075f6ca87635L,
  96850. 0xda8404e025f9ad3eL,0x6b963e89205cb5aeL,0x9e5ee0d809f221a1L,
  96851. 0xd64c85d9ea41aca4L,0x6a46c4e934442a34L,0xac6ff97e3cf655a4L,
  96852. 0x76565c1ee5417d7cL,0x681009a9eebf9c4cL,0x95b61d3988da6388L,
  96853. 0x6402b46af6b472c6L,0x1fde51650b7f1171L,0x94f8f273be0c05e3L,
  96854. 0x7487b036a88344a7L },
  96855. { 0xa860e5759c3e2370L,0x19d58193f8048719L,0x3a0dbf3ca6e2f9aaL,
  96856. 0xb6c7e9596144719bL,0xa9049c74deffec21L,0x8ba064b23f50cebfL,
  96857. 0xb12822c049a1de15L,0xb654b7d9b1d527f2L,0xc470859d0ffd0430L,
  96858. 0x37c74a674f05446bL,0xe553251ba3add995L,0x4a3ed6cbe33533b5L,
  96859. 0x2f2f44d027e419ceL,0x2d84ee82a5d1b979L,0xcc76b123db6fa69fL,
  96860. 0x834f85c521fa3bddL } },
  96861. /* 226 */
  96862. { { 0x329347c12ce9b31aL,0x1d88522afe3fb3b7L,0x4bcefb4d52ff90fdL,
  96863. 0x53b173862b1a081dL,0x538c11ba2a411f08L,0x7895b93c141b603aL,
  96864. 0x2993b9aab10bd741L,0xccbbd04609912986L,0x669fafb0eea0aba5L,
  96865. 0xd484462235661897L,0x4a63b89c367ffa54L,0xcbad5d1d1c3478daL,
  96866. 0xc5339227aa6034f7L,0x0e6d705fe61b1391L,0xdd14b660f74ff515L,
  96867. 0x639d8b0a5332b54cL },
  96868. { 0xfa423162162217cdL,0x2e0e4a2a811c28e6L,0x68d9ce1821766dc0L,
  96869. 0x51263739046a06efL,0x44eea231dde92101L,0x0607c8f2114298d3L,
  96870. 0x27f272ba63d957e9L,0xe7ce80cca5e8cae1L,0x5816ebe224f7a63fL,
  96871. 0x4dece5a789673e34L,0x13756a22536babd4L,0x644d61aee3bf77afL,
  96872. 0x60b2bf6e2bcf98bcL,0x3b0b59f329fa962cL,0xb0769a1aabb50023L,
  96873. 0x409031360c75402cL } },
  96874. /* 227 */
  96875. { { 0x84d2873a1670433fL,0xc9394df625493dfcL,0xeb05a19a80fcf89eL,
  96876. 0xe39e4310db297616L,0x50742dc9d9e63046L,0xf31ad8c81de9ca9eL,
  96877. 0x86aabf94fb7b1d0dL,0x36cda27a1b3c82d1L,0xfb1a2ef439702d84L,
  96878. 0x280bfddc46081299L,0xe4b2b48dd2396238L,0x2db2c2f37b3c9353L,
  96879. 0xd5b5b31712fb8a69L,0xf9b87a3b08180474L,0xd85909861e952578L,
  96880. 0x80668eedf37a2bc8L },
  96881. { 0xe2edcd35b39a0249L,0xaf230cd4b2f8aeaeL,0x295b15e47223df05L,
  96882. 0xbb66982ae0e937f4L,0x019d2b728cbc9162L,0x5c512ae9cf49dca1L,
  96883. 0x11b491a7630f07b4L,0x48d4f34ca03874e9L,0xc1fd0ea644cb7433L,
  96884. 0x13f79ae1f95b30c3L,0x40362d4ded8b60acL,0x9e8314ff61ead81cL,
  96885. 0xed600dd4498c3d28L,0x5fcb1c19c2521702L,0x592329fc3a9c1f33L,
  96886. 0x046775481bde6ce9L } },
  96887. /* 228 */
  96888. { { 0xee3de56e39233c96L,0x868c409c80737eafL,0xacae11bd201abc68L,
  96889. 0x0f2cea9b2b486205L,0xe32387e16f19056cL,0xea75365aa5dc2a41L,
  96890. 0x76c29acc12b4be86L,0xa01fcab78d63294dL,0x81dbe88b0cab9f24L,
  96891. 0x76646e5bf414c054L,0xfe111893cb96b7aaL,0xb649f5b17664e097L,
  96892. 0xa196422e53fcf5a9L,0x5978c9bd0b7ff634L,0xb5feb38e3c229895L,
  96893. 0x038a49fb0833c456L },
  96894. { 0x35e3818c13e93257L,0x14cebc9da612741bL,0x4f6e92497caac06bL,
  96895. 0x82278e333daa1116L,0xe7cc565e4de2034aL,0xbb7dc95f0a1ba630L,
  96896. 0x81dd9f2366956fbdL,0xc63e6319bb132dd6L,0x6e22b022fc241337L,
  96897. 0x238481937e8beb1cL,0x83b1994dd8c938acL,0xb54cfacaa6bb5644L,
  96898. 0x1a7cd44e06f91807L,0x1dd439bba8f8d9f3L,0x660c2a787f74a8e6L,
  96899. 0x4bb76e22121b5660L } },
  96900. /* 229 */
  96901. { { 0x7a151e8ae6354817L,0x33d494eaf038b438L,0x4c86c68885958986L,
  96902. 0x721538271dcbac12L,0xf487af8cc0edad06L,0xad33051fe500e5d6L,
  96903. 0x0a711b1bd6e47f55L,0xa68709a78c746ad5L,0x27f172626402f35eL,
  96904. 0xc6d08efafb30c130L,0x9ef1c041c06c7497L,0xd0c74ecedcc3e2daL,
  96905. 0x30c5f96e092e1073L,0x0f1393cf2aa12b74L,0x245840162107eb02L,
  96906. 0x8843d25f7b76f98bL },
  96907. { 0x4e1501dcedb2a83eL,0xbcfe8fb02bb8d724L,0x09020659d925df62L,
  96908. 0x3c715dcf42ab6fc3L,0x73c05055a0f09dfdL,0x126745d8e3590aeaL,
  96909. 0x5382f4d876ff749eL,0xfc69feefa920c663L,0xde1602119fd711caL,
  96910. 0x4219c3bd9075c4d5L,0x3800cbd13ded6bf2L,0x8c7ea0eb6263a116L,
  96911. 0x35bd79587d264c37L,0x56e22e457159c98cL,0x71bf2a2dfa7373b5L,
  96912. 0x0503f9398935c949L } },
  96913. /* 230 */
  96914. { { 0x65addc6671dad4f6L,0x238e4889024bea1bL,0xfb76c8e2f605d3ddL,
  96915. 0x13d5f5deb0d96b89L,0xe0b5ba356601b2cbL,0xe37d491d83e3d254L,
  96916. 0xe8860423240c8ea7L,0x374182f3e91c99baL,0x26c2caf9a87ad919L,
  96917. 0x4b13040af574f295L,0x5b9bced1944000a3L,0x4ccc57be06df42e7L,
  96918. 0x22e8ec504bd1089dL,0x0c53177adddbb500L,0x690d31d29ecfeadbL,
  96919. 0x735778fe176668f9L },
  96920. { 0x0f86ee3e843c1137L,0x3c1c42fa3f0b73cdL,0x0e75679d8ab20e3aL,
  96921. 0x6f95f1f416242faeL,0x7b88e11c39b092e4L,0x1629403e4c236ac0L,
  96922. 0x66105f412dac02e6L,0x74dc28a7862e0632L,0x2118ffb2f3b23c8dL,
  96923. 0x1182417c0745ffbfL,0x49b55a044c05711eL,0x2c665b74cefbe4deL,
  96924. 0x1cc4c01d97bf7107L,0xb2ca06dac54f0676L,0xfc599daa7450d0f8L,
  96925. 0x52e637a61a3182a1L } },
  96926. /* 231 */
  96927. { { 0x481700f16bebc6dbL,0x4a6b45dbf9503d92L,0xc715cd3c5d153919L,
  96928. 0x942a1c05e5ad2abcL,0x36a82433ab7b466fL,0xba413bedba13918bL,
  96929. 0x698a562490f4e6ceL,0xbb720da6f3f1f3caL,0x2116d41d63471ab3L,
  96930. 0xe00d2227303d3609L,0x7fd4cc00463ba69eL,0xac609e4d62845fd1L,
  96931. 0x63603b2c80adc9c7L,0xbf16fc9a45fafbcaL,0x41007f7fc4bc94abL,
  96932. 0x7c916b4fa74b1698L },
  96933. { 0xc1026f9178bac2d4L,0x8a2e80982601a875L,0xad2f276e0073d640L,
  96934. 0x443610c4fcc1fb88L,0x5727b822ca6b291fL,0x0645532c88ec60fcL,
  96935. 0x51e48899ed9ad48bL,0x841b48b5f543f103L,0xa6ccb1bed591ceebL,
  96936. 0xfc4adf0f9dcf5a8bL,0x3a7ca020b347ddb4L,0xaa1accc2cb44c521L,
  96937. 0x773b68280527c0c4L,0xaa374c107023cf50L,0x733d10006b74c926L,
  96938. 0x1ff3916f77a8d07cL } },
  96939. /* 232 */
  96940. { { 0xaa218fe4f997939dL,0x3d4dfbbb791583b3L,0xb3a7b5da87f7560bL,
  96941. 0xa9c028015da92c98L,0xe1eb4aad46666f4aL,0x2eb17a5114ce9dd7L,
  96942. 0xf46a66a4ef8f3076L,0x900b45c6810e546eL,0xf7af22584baf04ddL,
  96943. 0x3cc1c8725c84d42fL,0x3093f2258e4c83deL,0x62fade41170d88b2L,
  96944. 0xe19612e4ac076e44L,0xf48d734632dd141bL,0xc1b1f759925e34daL,
  96945. 0x19ed1a56072b90c9L },
  96946. { 0x9cf7fcde6c735473L,0xaab88e676003bc3eL,0x12187cbcfb199bb8L,
  96947. 0xbb7304419accccbdL,0x214aff3cb0f65459L,0x6aec81a36f926282L,
  96948. 0xaa82cb329f9d20b8L,0x82f3f90f5773cc90L,0x4af60e6bf62257e1L,
  96949. 0xf18b44bfbd4762dfL,0x3948b129db970753L,0xc6e920e97c22c18eL,
  96950. 0x393d620857be97adL,0xe8d7382c46b637f9L,0xf6625ccbf1fed1d5L,
  96951. 0x6f31e0f968681599L } },
  96952. /* 233 */
  96953. { { 0xc45afe5582b8f204L,0xac0441b6d358b54aL,0x7213e7bfacd5f5edL,
  96954. 0x1914c70b139bcd93L,0x714b458196dbcbb0L,0xe9297d351ed35d21L,
  96955. 0x8f6408376a3e1f20L,0x150a8a9d2f3cd705L,0xfb36e801dcdd9f6dL,
  96956. 0x5a54eb655cf56d82L,0x7610500c92aa5a21L,0xd10d0ae23b089f03L,
  96957. 0x491b2079c42b66e8L,0x4af1ae3d0eee8d48L,0x137e4c2841556f45L,
  96958. 0x875e330863d8a7e6L },
  96959. { 0xdc80fddcaf6c0accL,0xd5ad1e66bb1e7c08L,0xdc717ae1828585adL,
  96960. 0xbdc54340275c7da6L,0xf4b4c852d26b9e15L,0x5f0a1fbf6a05fa50L,
  96961. 0xc6f81e47817bcb32L,0x2cbd432870ff2e1dL,0x8a24901667c7f7fcL,
  96962. 0xd045acb7b585a6c4L,0x2e972ad44666c057L,0xc74d87cfe6d7d63dL,
  96963. 0xf7067d870e274144L,0xb2ca157a8b2584aeL,0x495c5bfb75f0fdebL,
  96964. 0x5abb0581f386e009L } },
  96965. /* 234 */
  96966. { { 0x8be62d2bf0c97f57L,0x0fe04871962f28c7L,0xc548a46747b50abbL,
  96967. 0xf6b26e0344fa09edL,0xfd44c6e3ab05a96eL,0xedb0032c70e6ae82L,
  96968. 0x28bd402bd7e4899dL,0x43f2e9639b7c11c2L,0x0ec3fc0ece913716L,
  96969. 0x769b8bc902fd0f8cL,0x9d9cb3aa7cabc3acL,0xe88a889206924cc9L,
  96970. 0xa51461aa42609014L,0xc7f4aa8b962e79e0L,0x4ef0210a8b1b3e80L,
  96971. 0x705446801bfee4bcL },
  96972. { 0xfab3d713121901c1L,0xe90a2627fead54aaL,0x64f6d285bc08ba23L,
  96973. 0x8d99301536ec227eL,0x99a16ab906c191abL,0x86b1cf5bf649ce2cL,
  96974. 0x5920675966be3a80L,0x18836279ccba2cf0L,0x2c157b87eff53486L,
  96975. 0xbfac98964b223af2L,0xcd0fd4f00aae7a57L,0xdaddb94063218a80L,
  96976. 0x3844bb79df88f14eL,0xc1b3e3d4b71ed9fdL,0x6c634a13d6205036L,
  96977. 0x6f56aecfb8680a6bL } },
  96978. /* 235 */
  96979. { { 0xb01dc803d9205c5dL,0x68955f7d67123929L,0x3debbffd9d9b6565L,
  96980. 0xb844395ed3b1acfeL,0x04328b216094eeffL,0x6631ffa822991febL,
  96981. 0x0dde66e6190dd075L,0x75b03c55e8577c05L,0x6c91ce5f91722407L,
  96982. 0x9a288a408ebb3a3fL,0x1d376f8a058a1396L,0xf3a594579a6e0676L,
  96983. 0x103029c57b71d288L,0x0843f428b44c30c0L,0xd8e6aff8730e0b9cL,
  96984. 0x7b6be8114ed644adL },
  96985. { 0x3ec38e4a3d3aa54eL,0x10233943d83d509aL,0xf84aa621243955e2L,
  96986. 0x29104717f51d3d44L,0x62d2442c7eca4e37L,0x8c5a523d85fa55deL,
  96987. 0xc6f5ccda851da1b5L,0x044bcaa820001468L,0xf7501e68e01702e0L,
  96988. 0xf0819359e6a0acecL,0x33dda6adac0ef0b2L,0x97aeedc8fd964f01L,
  96989. 0x48dacd0e530b90d8L,0x4c5fad6fb84122ebL,0x2284ec1ed700a1deL,
  96990. 0x86f9a835dbca5474L } },
  96991. /* 236 */
  96992. { { 0x0e1d9055450cc69fL,0x50eb14bcc9edf98fL,0x1bb94e77ee7eba01L,
  96993. 0x5f7a6737998f8e53L,0x588384e31b16eef0L,0xbb928723d85c5e15L,
  96994. 0xfe51e345cbd952aaL,0xc5d0ee287e241674L,0xfdc146ef100182f0L,
  96995. 0x0f739e92e7f5be2cL,0x501ab3afb656bd3eL,0xb1552dde5168e289L,
  96996. 0x940dfe31b8ee104aL,0x42923603c4304475L,0x9306f114c460a913L,
  96997. 0x5bfa9faf03b51f86L },
  96998. { 0x2a23f52c107b258eL,0x989e82bbd66341dcL,0x54a3ced8823cff1aL,
  96999. 0xf45b7794719b491fL,0x898c22182433dfb8L,0x0f9dd91cc49250eeL,
  97000. 0x50c2a2ae4fa17655L,0xf7aa1ce42c327f45L,0x13a15ad6583b1e41L,
  97001. 0x9aa0d5a5a1bfad9eL,0x9b1caa288e1fbdcdL,0xaf9283b6915f7f87L,
  97002. 0xc10e4e0c87e81a1eL,0x04fdca561080d296L,0x6acc961612755bd8L,
  97003. 0x1b1266aa828feedaL } },
  97004. /* 237 */
  97005. { { 0x4ebc0a00774ee49cL,0x776f6852cb6237d7L,0xfc0544ac5df938a3L,
  97006. 0xc3388ec8b6fbfbbdL,0x84ac8bcd745f2eaeL,0xa9c56609b1ece937L,
  97007. 0x656fb6ac7de8fa13L,0x5f8ded74a532b871L,0xab0d428baa889f09L,
  97008. 0x43b27f2810b7aec2L,0x26426e1efeecb34cL,0x44431b6b9e89c2dbL,
  97009. 0xaac4bc5d39211090L,0x926f73684fd81058L,0x452fa691471ef60eL,
  97010. 0x33517fdb218d7a23L },
  97011. { 0xa9c33f46593c4a36L,0xac69d71836b1a9eeL,0x55a20c1d4277beecL,
  97012. 0x3e8ca24e7e4f179cL,0x57373369d46d88a2L,0x71ceb1cc730702f8L,
  97013. 0x8b184d9735eed574L,0x7f4517a20704cec2L,0x7f129d18d7062a53L,
  97014. 0x07a4571bb1d77e1cL,0x774ac3098350d8b2L,0x27b2919f61fab8efL,
  97015. 0xa7c4cc13b5dd801bL,0xe7e6255b1434591fL,0x349937b85a3592b3L,
  97016. 0x31fac63d30c77549L } },
  97017. /* 238 */
  97018. { { 0x2ee8cf1b04913fb6L,0x7e4013501769a6b3L,0x790ebb71783e61f0L,
  97019. 0x1e5107f9e27f2ffeL,0x124ba67fedaf89bfL,0x189200e1e58de68dL,
  97020. 0x962732a36df5abeeL,0x72cc37cfacbeb4aaL,0xb0c5fa96e93c5a76L,
  97021. 0x4c2a317cde63393bL,0x97f65e67830b2d6cL,0x4afc35041be5b96aL,
  97022. 0x0bf40a60730ce66dL,0x96a1ba799340d84fL,0x3ee1825407626b08L,
  97023. 0x01db35db7ab0cbf5L },
  97024. { 0x6e0fbc2dac0efee2L,0x8406ebcdd71dbb45L,0xe72bde3e19b69abeL,
  97025. 0x49cb7e6137e01822L,0xcbb8c01c11458b4cL,0x420b4847687c5d63L,
  97026. 0x1847dfa1454c6776L,0xbede911dd1839d18L,0x1b9dc9c9278df046L,
  97027. 0x294bd62b881a336cL,0x7f09687993e77adcL,0x7ac9066543ce3ba7L,
  97028. 0x148695fd7764eefcL,0xe0c20f0b9ac465cfL,0x636e8d28a6e2cdb1L,
  97029. 0x7b6ba98cd755341dL } },
  97030. /* 239 */
  97031. { { 0xcb1d9e03c1881ab4L,0x19c25d55b3168c88L,0xa82d3d47282364ceL,
  97032. 0x95994390f161aa24L,0x7838bc00e1ebb2c9L,0x8fd5dfccbdec7a75L,
  97033. 0x4dd203c24ff7220aL,0x5ec173b30efeff48L,0x99f1d2b316428b35L,
  97034. 0xc06bd9e5056e813fL,0x929172bac0b319f1L,0x6ae0e384fd223b15L,
  97035. 0xbd01059e98d091edL,0x6b3168e4a654648eL,0x2211447f3375e798L,
  97036. 0x47e8101971eb4508L },
  97037. { 0x7045d45abc8c290dL,0xa33d1355810fb33aL,0x2baf009246fbbf2fL,
  97038. 0xacff3f1b385c7cd9L,0xc5b150ece161985cL,0xc6ee0a7f2a888748L,
  97039. 0x9d888c8e5e88dcc8L,0x4dd735f2ccb86443L,0xcc1e13b73c40f6f2L,
  97040. 0xfc3a25fff3fed691L,0x4cb43b17257ee5c7L,0xaa654f93f32db135L,
  97041. 0x44f58d0a02dff2d3L,0x78e3f188a8ca6394L,0x39646ccef3e86697L,
  97042. 0x785b1902e0dce87bL } },
  97043. /* 240 */
  97044. { { 0xfcce2361a92f9a20L,0xb7bdca879d64540eL,0xd4739a851d00d7c5L,
  97045. 0x067ac8dc2e97c926L,0x2aea3ffe78da6a8bL,0x6828bf5463c51b69L,
  97046. 0x76f1c4797155141aL,0xf4bcbef63977d810L,0x75bc4949541bce7aL,
  97047. 0xe01f4066d17041a5L,0xd282d5bd87755eafL,0x6e2107dd59e7ae80L,
  97048. 0xaa56e166382ab36fL,0x65ee8ef6b9d1d634L,0x99a2160ace4ed844L,
  97049. 0x6557c367b7712c27L },
  97050. { 0x561b0268d75b6e52L,0xb0813640118d0e89L,0xcff533306a2eb1aeL,
  97051. 0x4e4622266d090894L,0xbb351227b5fc1d48L,0x9365ea0757a3062dL,
  97052. 0x4caca37bd66e2dc5L,0x220d7d23b9095887L,0x9c0fd3938c4473bfL,
  97053. 0xadff370a6787da4fL,0xef0aebccd057f4b8L,0x205e744c1173f33aL,
  97054. 0xb8d1f0a5925a26b4L,0xa9364f49722fbbfdL,0xc891ae778227d284L,
  97055. 0x15c40d04a0e08ab4L } },
  97056. /* 241 */
  97057. { { 0x9baf169a2a0e18d1L,0x9971c0174c0327c2L,0xd81a323f7bc262ceL,
  97058. 0x2099db8d818ff379L,0x663f663d4cd3c330L,0xef5325c3011a0553L,
  97059. 0x9cd70bdcf980a470L,0xe64452d11c9ed070L,0xafbf43f4ac676e13L,
  97060. 0x97bec0a6ae85c2a5L,0x2faae550470490c4L,0x0ab97a87491e6ba9L,
  97061. 0x4055f537aafa9914L,0xfc95adbb36726557L,0x646343b9d119d6bfL,
  97062. 0x788e94a09d341e37L },
  97063. { 0x053a6fe59c53461aL,0x75ec897e08e3b6edL,0xa8f5d2f30768d939L,
  97064. 0x9bd6bff6cc213d4fL,0x590c7b4105b0147cL,0x20a3628b7c7b8169L,
  97065. 0xc66a086e5bce78e9L,0x3dd4d2824dec1d8fL,0x890acf44c19dcce9L,
  97066. 0x6632d875d8435a7eL,0x590167c1ea6381b2L,0xb2259797f0dcc128L,
  97067. 0x91a612b446f8d463L,0x42185d78c15efa39L,0xdf55ec37119f6788L,
  97068. 0x91b19cc6780dea93L } },
  97069. /* 242 */
  97070. { { 0xebf2709dcb5d8b80L,0x03b96182fc35660eL,0xb873d991055ef969L,
  97071. 0xd1ea4b4de47c4342L,0xcc4b9244d54f8867L,0x93b1a2cafd8d77efL,
  97072. 0x068d24e7e8c1f563L,0x5f5fabb649973056L,0x83248c500542374fL,
  97073. 0xc36de2b53f38e913L,0xed07e8eb7bb680beL,0x964813d7d8f313b5L,
  97074. 0x7bb6a069afd2d392L,0xc06d848e0848a31aL,0x6867fb2fe4f0c325L,
  97075. 0x3c2ba834067343afL },
  97076. { 0xab62d7759d3ad63bL,0x3f9cab9759e0eb1fL,0x70332a633885e117L,
  97077. 0xf22cafcee20b2f9eL,0xb529ba7e49eca947L,0x249542166228d88dL,
  97078. 0x80ea23ec39239561L,0x1b8907e7d4370644L,0x4b7fa455563e4e44L,
  97079. 0xcca9829eb2a4b0faL,0xd0a720a448060792L,0x8ccdda0c246991ceL,
  97080. 0x37a2325b348d086bL,0x566ed509f60aee13L,0x3d30e091147f253fL,
  97081. 0x1fa627a5c1073bd8L } },
  97082. /* 243 */
  97083. { { 0xa11222a242478fd4L,0xacf4c6f1670b2000L,0xf71bb04f8359c6deL,
  97084. 0x618e28297b93cdbcL,0x96e1bae3230db60bL,0xf17fd3b4965b3b29L,
  97085. 0xa58639c6bc7055ddL,0xc3ea92ed4b817d7fL,0x9082b2a6d23b08a4L,
  97086. 0x8471228adc17010eL,0x753b9e4620e89d97L,0xcf7e4f9703ff77c9L,
  97087. 0x6c3f82452bbe60e5L,0x9e432cbcb80e017dL,0x150a5acdc0a45edbL,
  97088. 0x67b8bd054798743eL },
  97089. { 0xe66079b4f4797cf7L,0xe31c998ad03fde02L,0x5aa3763a54caaef1L,
  97090. 0x64d9a1fef7649711L,0x7ce0dc73af29b1a7L,0x6661b083fb66ca93L,
  97091. 0xbf4d74fe32fb6a78L,0x25f6ef09df00a561L,0x2bc4383f831d1159L,
  97092. 0x6d5cc10c536bde37L,0xd4945f9f882cc65bL,0x81f48f13451a99b8L,
  97093. 0x140161cd6bac11a4L,0x9d94d4edf18a4a0aL,0x65363165a467a824L,
  97094. 0x74297aa9a4c9aedfL } },
  97095. /* 244 */
  97096. { { 0xc49758a4e21124baL,0x99bd8198a87ffbd2L,0x45fbcdd13d6638a8L,
  97097. 0x94645ff815f7bf76L,0x5fa6736fc4e6d57eL,0x1eae647592e61db9L,
  97098. 0x79575c0ccbdf944aL,0xa3d1304725b31d74L,0x7881df224cab5ae6L,
  97099. 0x8dbfd2991a2887f2L,0x23d07590a26ac459L,0x2e589852d8661d4aL,
  97100. 0x37b5c13b8a0140f7L,0x0f94199e3fb3782aL,0x722aa0591bc14e90L,
  97101. 0x89aab7bad55bbb12L },
  97102. { 0x8b345a96d656bdc7L,0x43bdc8afe176cd3bL,0xd69518b632d64c43L,
  97103. 0xfcf364a779b82b41L,0x907b344effb0cf82L,0xf3d0c83c5101287bL,
  97104. 0xe9f26a5934cd90efL,0xe5f5aaf207082b5cL,0x4eb72c75ece7c165L,
  97105. 0xe9590a81be986cd6L,0xfeef498fff1536aaL,0x04560243a8263d5eL,
  97106. 0x940be14f54ae872bL,0xbee7bcc9e3207686L,0xd496a27dc1bc4d7aL,
  97107. 0x002dc2975940ab46L } },
  97108. /* 245 */
  97109. { { 0xee533937b69d60c3L,0x260be552fe972755L,0xb11fb78dc0c725a6L,
  97110. 0x6982c27ecab2e7c2L,0x4bceedd9ee2322cbL,0x952b19ed122704f7L,
  97111. 0x2df4c285854a6165L,0xba40b5bf7b192485L,0xfcbca9500119f52aL,
  97112. 0x7467d1cbe5add86fL,0x9bf536fbd9d0f2c1L,0x3c296e34b8d4ebc9L,
  97113. 0x0495f8f405a81317L,0x8c59e8d673335f76L,0x0b53d324e0542122L,
  97114. 0x4d5645353c3bda73L },
  97115. { 0x7322f8007e5c0877L,0x481b43e60ca9a764L,0x231f4f4ba2c12716L,
  97116. 0x09596857ed3136c2L,0xae82632238db30deL,0x652fad4099908ebcL,
  97117. 0x0b8d1814af0d231eL,0x2680c54b09cbc349L,0xfd4562f34bf3bf8eL,
  97118. 0x2985090b092b595fL,0xe6f39ca45e15fc34L,0x70175191bc378168L,
  97119. 0x906944b3845a4a87L,0xacc6d74a82a1541aL,0xadc9bab3b155c8b4L,
  97120. 0x1f2f89ce77306c62L } },
  97121. /* 246 */
  97122. { { 0x8253ef419affefdfL,0x05d7ece54cf9256bL,0x377002f2b444e483L,
  97123. 0xb189755fcba5471fL,0xc88483cbd5cbe015L,0x254f7c696a0b8429L,
  97124. 0x18850bd461f3f61dL,0x7ba210890a247157L,0x35abbc2ed92eeb0dL,
  97125. 0xfb56cabe965dec89L,0x9da23724bc55684aL,0xd8ba396f6a7a7492L,
  97126. 0xfcb90db72ef4ba46L,0xdd234fe09909b27aL,0xbdf3c16476f4366eL,
  97127. 0x09c8097f17e50d47L },
  97128. { 0x6a04b14060050c07L,0xc29e831843a8e37eL,0xcb9429b2bb55e41fL,
  97129. 0xed2fea5a2ce60e3aL,0xdc7b1ff3db9d82f4L,0x48ebecc3687d37faL,
  97130. 0x79153e32ecb07539L,0x6a60054f57075692L,0x3871cd0c800759baL,
  97131. 0x17a7386f30922df1L,0x4e9fc59e83357b7cL,0x1d26b3a939415186L,
  97132. 0x912a0222d34db889L,0x6672fcf459fcdb71L,0x5a3f268d44ff3036L,
  97133. 0x6f113ed36911e16cL } },
  97134. /* 247 */
  97135. { { 0x52a9df591836f1c9L,0xfa6519f54232307dL,0x8406c7015ded285aL,
  97136. 0x0a1545caaf627f75L,0xae1111eeace0417dL,0xfb28bdf6a6113443L,
  97137. 0xde9ef0ab52dbcbcbL,0xe9dc181b7813e658L,0x0b1dabdb99127225L,
  97138. 0x5f0598e322814c59L,0x5c3b966ed934ee7eL,0x4eb84edab99ba4bfL,
  97139. 0xb2919a343c1b55e7L,0xa9addb4994aa860fL,0x1b7220dff6811ff6L,
  97140. 0x6636a23bd1a183e2L },
  97141. { 0xdf5d5a2d20587283L,0x0b3822c9ef07fc5dL,0x1786bd550ef6de38L,
  97142. 0x163cf90725d1671dL,0x74bf971f1cdb1defL,0x5749e8300842fc4aL,
  97143. 0x0e2edbc727f854f7L,0xbb27bbdabce24acbL,0xc1b19cec05bed08dL,
  97144. 0xaada123ef7c904bcL,0x02429f1bd89982dbL,0x49d3616e65f6e632L,
  97145. 0xa3789fa8ee59fd32L,0x160ba3bafe9f29f5L,0x0f2d3b61af5378a0L,
  97146. 0x7aeecc7673c2a6f8L } },
  97147. /* 248 */
  97148. { { 0xf3a4757cdc43b0dbL,0x3d8a4e8598119cadL,0xf8095bf64616c156L,
  97149. 0x3e2a07bc4f533e97L,0xa982436739cfc5adL,0x18a6ba3acd68052cL,
  97150. 0xbd60e5908a1cec66L,0xae3841a502b1b695L,0x986dff12190a195bL,
  97151. 0x2df2beacad31fd9bL,0x7d893224cc728f7bL,0xc38ea7380cf0a992L,
  97152. 0xa8439a80586a44eaL,0xede7f7f01615f03cL,0x4824990827a1f885L,
  97153. 0x28ec4006b78a7645L },
  97154. { 0xe1820c2ea2fe0009L,0xe11ba5d2f13874e9L,0x97522454c524db52L,
  97155. 0x4d4774267fede529L,0x01d3419a9b2500d4L,0xce08a4921869244bL,
  97156. 0xba169023dd1be1b9L,0x242c3e5432a301e0L,0x9b56f7ba70906788L,
  97157. 0xf0ad2a09c74a8cc4L,0x99cd1841d76f9439L,0xeddafe0b621fb60eL,
  97158. 0x056bee54bc397634L,0x4653f860ff7f0a84L,0x6bd4876f2011c0afL,
  97159. 0x134f4cc70c9525c3L } },
  97160. /* 249 */
  97161. { { 0x9621a3ece938dff4L,0x7d101a7b486a79a3L,0xf2c4ef97de950537L,
  97162. 0xf3184099e65d87dbL,0xb89c7ffb373b8cfaL,0x68baa505e842916eL,
  97163. 0xa790fd094ebea764L,0x679df6d4e592892bL,0x2023331cfcfed741L,
  97164. 0x0bf4efd29880ff21L,0x7ca78dddd0344501L,0x2cb09ecb342858c8L,
  97165. 0x9e5eb6dc2575487aL,0x50675a15ebcb0491L,0x09d2e74f7381d471L,
  97166. 0x6ea3782983d3d6f4L },
  97167. { 0xc65c094b4e5cc40aL,0x7a2e3f6a1af37dfbL,0xef677e9df9026e44L,
  97168. 0xb7878c9593880f53L,0x4aa30b077f644aa9L,0xa0c516832f208c3cL,
  97169. 0x7c0277ae658d663bL,0xef0b3c38ae1d9130L,0x302f37a7695c3ea4L,
  97170. 0xe004c1c56a0c5e0dL,0x9fd495c420cbcf9fL,0x706d5b9d568a0e7cL,
  97171. 0x8b225dff59286454L,0x527d44658d9a709cL,0x47c558da87c08d68L,
  97172. 0x606ee6e6bb4ef07dL } },
  97173. /* 250 */
  97174. { { 0x02d99fc757c621f6L,0x292e40c17fe83d48L,0x1bdfc7a19ef199b0L,
  97175. 0x78a04102e62c7666L,0x16cda370e6738753L,0xbc81974d1e3a65afL,
  97176. 0x19742048f78fe209L,0xc83a058abf5981c6L,0xf26b24349c89702dL,
  97177. 0x988b2f1e9d1a678aL,0x472bf9b0ff29ae29L,0xa143e3981d7cf5ecL,
  97178. 0x9c9d7e45b268ddd8L,0x166cda555fc4ff76L,0x6044cdf0a4aa7673L,
  97179. 0x49dba6f7e9148707L },
  97180. { 0x20e47fb2a758e37aL,0xaf6b31d72d8eaf66L,0x352ad5f96f9c2210L,
  97181. 0x0093f72790efc32bL,0x435c99dc41e4b264L,0xbfa878e005b15795L,
  97182. 0x99c520a40e673575L,0xca68259487eea759L,0x029f7b81f12a348bL,
  97183. 0xa547cc182aa2ce35L,0xa11d874bead5e2c5L,0x9af0349b55682cdfL,
  97184. 0xf86ebfea8bbe8e66L,0x3dab8782f55394abL,0x458bf797ebc8eb8fL,
  97185. 0x4890a7a49b7de78cL } },
  97186. /* 251 */
  97187. { { 0xd72996898da995f6L,0xd39eaae7ec6156efL,0x6959040c356a82d5L,
  97188. 0xb2046b21c135bcfeL,0xea720b640f595c78L,0x02824efae7c5fb40L,
  97189. 0x97d8fd4c0edb3bfcL,0x12f0290579f24ebeL,0x16fc47cf187ea6b9L,
  97190. 0xc219fd27789d5c23L,0x233a6b6c89263eccL,0x823634b28b6d30a6L,
  97191. 0xca352e25c9b33680L,0x9388d6ca40c77456L,0xf8e55b0b3c92065bL,
  97192. 0x5c17474b02439a76L },
  97193. { 0xd888e7c28aaccab5L,0x18027836aaced05bL,0x185b877dccec0f65L,
  97194. 0x93cadc1c125c2882L,0x45df540a67fdc54cL,0x4f3c86e2c2788a33L,
  97195. 0x3e874469e3a0fa2cL,0xc59daa47273983cfL,0x3063c48b4a96d8a5L,
  97196. 0xc38d2bcfc2e58915L,0x90e78b8784e428c3L,0x900a292cf0c4fd53L,
  97197. 0xb7f92db7941e6005L,0x956792416ca53a1cL,0x35f6f31db1ab0fa7L,
  97198. 0x5d675eb47b58408cL } },
  97199. /* 252 */
  97200. { { 0xaeee1a77870c6025L,0xfc4a23b791a2dfcaL,0x7b0e60c4386b64c4L,
  97201. 0xd5d5b17de5ae72b1L,0x6dfc88ac9eefa212L,0x4feaefbed4038b96L,
  97202. 0x099ac3568e2d2eccL,0x548ea612012af207L,0x4ffed9db89c31218L,
  97203. 0x1c1e91c4e0e67331L,0x009bb64faf8300e0L,0x8780501c6773c3beL,
  97204. 0xe0cd6edec08219faL,0x7c055e07f81b06ffL,0x82b63f9ce080b36fL,
  97205. 0x02fccbaf0a9feca3L },
  97206. { 0x9991d4d1b47cac61L,0x2e9d1687ab86e12cL,0x8c6855ec2b94f042L,
  97207. 0xca40051948e648e5L,0x9ba91fb2ef89ac57L,0x4f4192061be792cdL,
  97208. 0x82d221cbbd0f1e15L,0x062eb13bfc444019L,0xf3a97c3299790fdcL,
  97209. 0x4e796d946067a64bL,0xc46dd3006d23775aL,0x8672c4d5ed7f0f23L,
  97210. 0x821851dc3b4f63d7L,0x50a3ae0cd26273f2L,0x800e58fceac60f6fL,
  97211. 0x56f1e45613845545L } },
  97212. /* 253 */
  97213. { { 0x01ccb3f632c24f3bL,0x99eb1c7f06d817e6L,0x8dc640bb6aa26776L,
  97214. 0x7838affe0845d5e0L,0xf34fecb1f81a79a8L,0x6a2e282d3e6819b0L,
  97215. 0xc4b977ce8237a4b8L,0x0f46b3db87636439L,0xa465f54097970497L,
  97216. 0xd7e087628791be43L,0x00220b6c34198ec6L,0x57b38637093d94bbL,
  97217. 0x84012e1629d690b2L,0x02ec9db520aad1a4L,0xafee2fc685dc34e3L,
  97218. 0x911d193625500cf8L },
  97219. { 0x13b1bd58f5e5af5bL,0xa7ca263b7b6a22a7L,0xab6bec4df3af2adcL,
  97220. 0x16651e59a04420bdL,0x3b448b3b4ba36c11L,0x3c62bfcdff424310L,
  97221. 0xde15c4a5f1a96cbbL,0xbe0ad8a1e4d1f980L,0x812bd14e36673a3aL,
  97222. 0x40303af69212acddL,0x8f6dab9c576095ceL,0x7df1882a107f5ca5L,
  97223. 0xb903e63c8896a3b0L,0xf5048544d863b3f0L,0x5e5019b9c09887deL,
  97224. 0x2be744fea0f53865L } },
  97225. /* 254 */
  97226. { { 0x054cd05f5b50f324L,0xb9b1eb241ea3c7a2L,0x4a858a5c7ff8e6b7L,
  97227. 0xd83902feec040882L,0x72b26494d0cba9bdL,0xd0176f90b29c9e1eL,
  97228. 0x05d4eb02cebadb81L,0x874405b1372b8bfcL,0x5c41288179ead190L,
  97229. 0xd44a3dd3ec2b48cdL,0x84499a773f4d5033L,0xb37b38cd564c3a09L,
  97230. 0x80e99497f42e803bL,0xc07b47a0b8f518b2L,0xc710e3c53568fde4L,
  97231. 0x735f542fcead0e7aL },
  97232. { 0xcaa9a17138380039L,0xadfafe17f74d19c8L,0x92d4393eccbc1a8bL,
  97233. 0x3c5dbf39fe029705L,0x4552b5ab930e9b36L,0x7ee630322afd494aL,
  97234. 0x826a9ad73f02ac43L,0x98c5356299356298L,0x0c869f877342bb39L,
  97235. 0xd7510020e4f9b79aL,0x6361d1a4d34789a9L,0xf0ded5bacfa85637L,
  97236. 0x407ee73f88ac07e4L,0xfac7d03f09ef1cbdL,0x25d697cb4d475badL,
  97237. 0x1e984c9d14bd399eL } },
  97238. /* 255 */
  97239. { { 0xc76d05614850c817L,0xb08a5b193489812dL,0x7273d1545e58cbbeL,
  97240. 0x8900b5fa4be61e5aL,0xaa088691d7aeb8e1L,0xe66666afd35a3d4bL,
  97241. 0x38a2c19957ec7d3dL,0xa0648e8f668d6f5cL,0x1f9fc92c7adc1746L,
  97242. 0x23a116c0843065c3L,0x36370a2061e6ae69L,0x626c37362aa47e73L,
  97243. 0x540c25f2deff6d84L,0x9804824ccdbed2d4L,0x4b5bfce0039a9492L,
  97244. 0x6c474a5676942e01L },
  97245. { 0x3aeb9a417d88e3a1L,0x105d3c88c484742aL,0xe59de8d13fe61131L,
  97246. 0x148f5b6b1a869e8bL,0x7a8abc59aa75d90aL,0x2f0c9bc762146013L,
  97247. 0x43faa747c3824cd9L,0x81763a186a5d0b92L,0xbbc341bc9bcbaebcL,
  97248. 0xe1813160f745d1ddL,0xa53ce52db75ce5f4L,0x15eae66cd50de4c2L,
  97249. 0x5ed8996c75d7656dL,0xe4ff5711c4ca552aL,0x215e985a3c5305b4L,
  97250. 0x6b258954fa1ba2ceL } },
  97251. };
  97252. /* Multiply the base point of P1024 by the scalar and return the result.
  97253. * If map is true then convert result to affine coordinates.
  97254. *
  97255. * Stripe implementation.
  97256. * Pre-generated: 2^0, 2^128, ...
  97257. * Pre-generated: products of all combinations of above.
  97258. * 8 doubles and adds (with qz=1)
  97259. *
  97260. * r Resulting point.
  97261. * k Scalar to multiply by.
  97262. * map Indicates whether to convert result to affine.
  97263. * ct Constant time required.
  97264. * heap Heap to use for allocation.
  97265. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  97266. */
  97267. static int sp_1024_ecc_mulmod_base_16(sp_point_1024* r, const sp_digit* k,
  97268. int map, int ct, void* heap)
  97269. {
  97270. return sp_1024_ecc_mulmod_stripe_16(r, &p1024_base, p1024_table,
  97271. k, map, ct, heap);
  97272. }
  97273. #ifdef HAVE_INTEL_AVX2
  97274. /* Multiply the base point of P1024 by the scalar and return the result.
  97275. * If map is true then convert result to affine coordinates.
  97276. *
  97277. * Stripe implementation.
  97278. * Pre-generated: 2^0, 2^128, ...
  97279. * Pre-generated: products of all combinations of above.
  97280. * 8 doubles and adds (with qz=1)
  97281. *
  97282. * r Resulting point.
  97283. * k Scalar to multiply by.
  97284. * map Indicates whether to convert result to affine.
  97285. * ct Constant time required.
  97286. * heap Heap to use for allocation.
  97287. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  97288. */
  97289. static int sp_1024_ecc_mulmod_base_avx2_16(sp_point_1024* r, const sp_digit* k,
  97290. int map, int ct, void* heap)
  97291. {
  97292. return sp_1024_ecc_mulmod_stripe_avx2_16(r, &p1024_base, p1024_table,
  97293. k, map, ct, heap);
  97294. }
  97295. #endif /* HAVE_INTEL_AVX2 */
  97296. /* Multiply the base point of P1024 by the scalar and return the result.
  97297. * If map is true then convert result to affine coordinates.
  97298. *
  97299. * km Scalar to multiply by.
  97300. * r Resulting point.
  97301. * map Indicates whether to convert result to affine.
  97302. * heap Heap to use for allocation.
  97303. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  97304. */
  97305. int sp_ecc_mulmod_base_1024(const mp_int* km, ecc_point* r, int map, void* heap)
  97306. {
  97307. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  97308. sp_point_1024* point = NULL;
  97309. sp_digit* k = NULL;
  97310. #else
  97311. sp_point_1024 point[1];
  97312. sp_digit k[16];
  97313. #endif
  97314. int err = MP_OKAY;
  97315. #ifdef HAVE_INTEL_AVX2
  97316. word32 cpuid_flags = cpuid_get_flags();
  97317. #endif
  97318. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  97319. point = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024), heap,
  97320. DYNAMIC_TYPE_ECC);
  97321. if (point == NULL)
  97322. err = MEMORY_E;
  97323. if (err == MP_OKAY) {
  97324. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 16, heap,
  97325. DYNAMIC_TYPE_ECC);
  97326. if (k == NULL)
  97327. err = MEMORY_E;
  97328. }
  97329. #endif
  97330. if (err == MP_OKAY) {
  97331. sp_1024_from_mp(k, 16, km);
  97332. #ifdef HAVE_INTEL_AVX2
  97333. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  97334. err = sp_1024_ecc_mulmod_base_avx2_16(point, k, map, 1, heap);
  97335. else
  97336. #endif
  97337. err = sp_1024_ecc_mulmod_base_16(point, k, map, 1, heap);
  97338. }
  97339. if (err == MP_OKAY) {
  97340. err = sp_1024_point_to_ecc_point_16(point, r);
  97341. }
  97342. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  97343. if (k != NULL)
  97344. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  97345. if (point != NULL)
  97346. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  97347. #endif
  97348. return err;
  97349. }
  97350. /* Multiply the base point of P1024 by the scalar, add point a and return
  97351. * the result. If map is true then convert result to affine coordinates.
  97352. *
  97353. * km Scalar to multiply by.
  97354. * am Point to add to scalar mulitply result.
  97355. * inMont Point to add is in montgomery form.
  97356. * r Resulting point.
  97357. * map Indicates whether to convert result to affine.
  97358. * heap Heap to use for allocation.
  97359. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  97360. */
  97361. int sp_ecc_mulmod_base_add_1024(const mp_int* km, const ecc_point* am,
  97362. int inMont, ecc_point* r, int map, void* heap)
  97363. {
  97364. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  97365. sp_point_1024* point = NULL;
  97366. sp_digit* k = NULL;
  97367. #else
  97368. sp_point_1024 point[2];
  97369. sp_digit k[16 + 16 * 2 * 6];
  97370. #endif
  97371. sp_point_1024* addP = NULL;
  97372. sp_digit* tmp = NULL;
  97373. int err = MP_OKAY;
  97374. #ifdef HAVE_INTEL_AVX2
  97375. word32 cpuid_flags = cpuid_get_flags();
  97376. #endif
  97377. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  97378. point = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024) * 2, heap,
  97379. DYNAMIC_TYPE_ECC);
  97380. if (point == NULL)
  97381. err = MEMORY_E;
  97382. if (err == MP_OKAY) {
  97383. k = (sp_digit*)XMALLOC(
  97384. sizeof(sp_digit) * (16 + 16 * 2 * 6),
  97385. heap, DYNAMIC_TYPE_ECC);
  97386. if (k == NULL)
  97387. err = MEMORY_E;
  97388. }
  97389. #endif
  97390. if (err == MP_OKAY) {
  97391. addP = point + 1;
  97392. tmp = k + 16;
  97393. sp_1024_from_mp(k, 16, km);
  97394. sp_1024_point_from_ecc_point_16(addP, am);
  97395. }
  97396. if ((err == MP_OKAY) && (!inMont)) {
  97397. err = sp_1024_mod_mul_norm_16(addP->x, addP->x, p1024_mod);
  97398. }
  97399. if ((err == MP_OKAY) && (!inMont)) {
  97400. err = sp_1024_mod_mul_norm_16(addP->y, addP->y, p1024_mod);
  97401. }
  97402. if ((err == MP_OKAY) && (!inMont)) {
  97403. err = sp_1024_mod_mul_norm_16(addP->z, addP->z, p1024_mod);
  97404. }
  97405. if (err == MP_OKAY) {
  97406. #ifdef HAVE_INTEL_AVX2
  97407. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  97408. err = sp_1024_ecc_mulmod_base_avx2_16(point, k, 0, 0, heap);
  97409. else
  97410. #endif
  97411. err = sp_1024_ecc_mulmod_base_16(point, k, 0, 0, heap);
  97412. }
  97413. if (err == MP_OKAY) {
  97414. #ifdef HAVE_INTEL_AVX2
  97415. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  97416. sp_1024_proj_point_add_avx2_16(point, point, addP, tmp);
  97417. else
  97418. #endif
  97419. sp_1024_proj_point_add_16(point, point, addP, tmp);
  97420. if (map) {
  97421. #ifdef HAVE_INTEL_AVX2
  97422. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  97423. sp_1024_map_avx2_16(point, point, tmp);
  97424. else
  97425. #endif
  97426. sp_1024_map_16(point, point, tmp);
  97427. }
  97428. err = sp_1024_point_to_ecc_point_16(point, r);
  97429. }
  97430. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  97431. if (k != NULL)
  97432. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  97433. if (point)
  97434. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  97435. #endif
  97436. return err;
  97437. }
  97438. #ifndef WOLFSSL_SP_SMALL
  97439. /* Generate a pre-computation table for the point.
  97440. *
  97441. * gm Point to generate table for.
  97442. * table Buffer to hold pre-computed points table.
  97443. * len Length of table.
  97444. * heap Heap to use for allocation.
  97445. * returns BAD_FUNC_ARG when gm or len is NULL, LENGTH_ONLY_E when table is
  97446. * NULL and length is returned, BUFFER_E if length is too small and 0 otherwise.
  97447. */
  97448. int sp_ecc_gen_table_1024(const ecc_point* gm, byte* table, word32* len,
  97449. void* heap)
  97450. {
  97451. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  97452. sp_point_1024* point = NULL;
  97453. sp_digit* t = NULL;
  97454. #else
  97455. sp_point_1024 point[1];
  97456. sp_digit t[6 * 2 * 16];
  97457. #endif
  97458. int err = MP_OKAY;
  97459. #ifdef HAVE_INTEL_AVX2
  97460. word32 cpuid_flags = cpuid_get_flags();
  97461. #endif
  97462. if ((gm == NULL) || (len == NULL)) {
  97463. err = BAD_FUNC_ARG;
  97464. }
  97465. if ((err == MP_OKAY) && (table == NULL)) {
  97466. *len = sizeof(sp_table_entry_1024) * 256;
  97467. err = LENGTH_ONLY_E;
  97468. }
  97469. if ((err == MP_OKAY) && (*len < (int)(sizeof(sp_table_entry_1024) * 256))) {
  97470. err = BUFFER_E;
  97471. }
  97472. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  97473. if (err == MP_OKAY) {
  97474. point = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024), heap,
  97475. DYNAMIC_TYPE_ECC);
  97476. if (point == NULL)
  97477. err = MEMORY_E;
  97478. }
  97479. if (err == MP_OKAY) {
  97480. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6 * 2 * 16, heap,
  97481. DYNAMIC_TYPE_ECC);
  97482. if (t == NULL)
  97483. err = MEMORY_E;
  97484. }
  97485. #endif
  97486. if (err == MP_OKAY) {
  97487. sp_1024_point_from_ecc_point_16(point, gm);
  97488. #ifdef HAVE_INTEL_AVX2
  97489. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  97490. err = sp_1024_gen_stripe_table_avx2_16(point,
  97491. (sp_table_entry_1024*)table, t, heap);
  97492. else
  97493. #endif
  97494. err = sp_1024_gen_stripe_table_16(point,
  97495. (sp_table_entry_1024*)table, t, heap);
  97496. }
  97497. if (err == 0) {
  97498. *len = sizeof(sp_table_entry_1024) * 256;
  97499. }
  97500. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  97501. if (t != NULL)
  97502. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  97503. if (point != NULL)
  97504. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  97505. #endif
  97506. return err;
  97507. }
  97508. #else
  97509. /* Generate a pre-computation table for the point.
  97510. *
  97511. * gm Point to generate table for.
  97512. * table Buffer to hold pre-computed points table.
  97513. * len Length of table.
  97514. * heap Heap to use for allocation.
  97515. * returns BAD_FUNC_ARG when gm or len is NULL, LENGTH_ONLY_E when table is
  97516. * NULL and length is returned, BUFFER_E if length is too small and 0 otherwise.
  97517. */
  97518. int sp_ecc_gen_table_1024(const ecc_point* gm, byte* table, word32* len,
  97519. void* heap)
  97520. {
  97521. int err = 0;
  97522. if ((gm == NULL) || (len == NULL)) {
  97523. err = BAD_FUNC_ARG;
  97524. }
  97525. if ((err == 0) && (table == NULL)) {
  97526. *len = 0;
  97527. err = LENGTH_ONLY_E;
  97528. }
  97529. if ((err == 0) && (*len != 0)) {
  97530. err = BUFFER_E;
  97531. }
  97532. if (err == 0) {
  97533. *len = 0;
  97534. }
  97535. (void)heap;
  97536. return err;
  97537. }
  97538. #endif
  97539. /* Multiply the point by the scalar and return the result.
  97540. * If map is true then convert result to affine coordinates.
  97541. *
  97542. * km Scalar to multiply by.
  97543. * gm Point to multiply.
  97544. * table Pre-computed points.
  97545. * r Resulting point.
  97546. * map Indicates whether to convert result to affine.
  97547. * heap Heap to use for allocation.
  97548. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  97549. */
  97550. int sp_ecc_mulmod_table_1024(const mp_int* km, const ecc_point* gm, byte* table,
  97551. ecc_point* r, int map, void* heap)
  97552. {
  97553. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  97554. sp_point_1024* point = NULL;
  97555. sp_digit* k = NULL;
  97556. #else
  97557. sp_point_1024 point[1];
  97558. sp_digit k[16];
  97559. #endif
  97560. int err = MP_OKAY;
  97561. #if defined(HAVE_INTEL_AVX2) && !defined(WOLFSSL_SP_SMALL)
  97562. word32 cpuid_flags = cpuid_get_flags();
  97563. #endif
  97564. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  97565. point = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024), heap,
  97566. DYNAMIC_TYPE_ECC);
  97567. if (point == NULL) {
  97568. err = MEMORY_E;
  97569. }
  97570. if (err == MP_OKAY) {
  97571. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 16, heap, DYNAMIC_TYPE_ECC);
  97572. if (k == NULL)
  97573. err = MEMORY_E;
  97574. }
  97575. #endif
  97576. if (err == MP_OKAY) {
  97577. sp_1024_from_mp(k, 16, km);
  97578. sp_1024_point_from_ecc_point_16(point, gm);
  97579. #ifndef WOLFSSL_SP_SMALL
  97580. #ifdef HAVE_INTEL_AVX2
  97581. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  97582. err = sp_1024_ecc_mulmod_stripe_avx2_16(point, point,
  97583. (const sp_table_entry_1024*)table, k, map, 0, heap);
  97584. else
  97585. #endif
  97586. err = sp_1024_ecc_mulmod_stripe_16(point, point,
  97587. (const sp_table_entry_1024*)table, k, map, 0, heap);
  97588. #else
  97589. (void)table;
  97590. err = sp_1024_ecc_mulmod_16(point, point, k, map, 0, heap);
  97591. #endif
  97592. }
  97593. if (err == MP_OKAY) {
  97594. err = sp_1024_point_to_ecc_point_16(point, r);
  97595. }
  97596. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  97597. if (k != NULL)
  97598. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  97599. if (point != NULL)
  97600. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  97601. #endif
  97602. return err;
  97603. }
  97604. /* Multiply p* in projective co-ordinates by q*.
  97605. *
  97606. * r.x = p.x - (p.y * q.y)
  97607. * r.y = (p.x * q.y) + p.y
  97608. *
  97609. * px [in,out] A single precision integer - X ordinate of number to multiply.
  97610. * py [in,out] A single precision integer - Y ordinate of number to multiply.
  97611. * q [in] A single precision integer - multiplier.
  97612. * t [in] Two single precision integers - temps.
  97613. */
  97614. static void sp_1024_proj_mul_qx1_16(sp_digit* px, sp_digit* py,
  97615. const sp_digit* q, sp_digit* t)
  97616. {
  97617. sp_digit* t1 = t;
  97618. sp_digit* t2 = t + 2 * 16;
  97619. /* t1 = p.x * q.y */
  97620. sp_1024_mont_mul_16(t1, px, q, p1024_mod, p1024_mp_mod);
  97621. /* t2 = p.y * q.y */
  97622. sp_1024_mont_mul_16(t2, py, q, p1024_mod, p1024_mp_mod);
  97623. /* r.x = p.x - (p.y * q.y) */
  97624. sp_1024_mont_sub_16(px, px, t2, p1024_mod);
  97625. /* r.y = (p.x * q.y) + p.y */
  97626. sp_1024_mont_add_16(py, t1, py, p1024_mod);
  97627. }
  97628. /* Square p* in projective co-ordinates.
  97629. *
  97630. * px' = (p.x + p.y) * (p.x - p.y) = p.x^2 - p.y^2
  97631. * py' = 2 * p.x * p.y
  97632. *
  97633. * px [in,out] A single precision integer - X ordinate of number to square.
  97634. * py [in,out] A single precision integer - Y ordinate of number to square.
  97635. * t [in] Two single precision integers - temps.
  97636. */
  97637. static void sp_1024_proj_sqr_16(sp_digit* px, sp_digit* py, sp_digit* t)
  97638. {
  97639. sp_digit* t1 = t;
  97640. sp_digit* t2 = t + 2 * 16;
  97641. /* t1 = p.x + p.y */
  97642. sp_1024_mont_add_16(t1, px, py, p1024_mod);
  97643. /* t2 = p.x - p.y */
  97644. sp_1024_mont_sub_16(t2, px, py, p1024_mod);
  97645. /* r.y = p.x * p.y */
  97646. sp_1024_mont_mul_16(py, px, py, p1024_mod, p1024_mp_mod);
  97647. /* r.x = (p.x + p.y) * (p.x - p.y) */
  97648. sp_1024_mont_mul_16(px, t1, t2, p1024_mod, p1024_mp_mod);
  97649. /* r.y = (p.x * p.y) * 2 */
  97650. sp_1024_mont_dbl_16(py, py, p1024_mod);
  97651. }
  97652. #ifdef WOLFSSL_SP_SMALL
  97653. /* Perform the modular exponentiation in Fp* for SAKKE.
  97654. *
  97655. * Simple square and multiply when expontent bit is one algorithm.
  97656. * Square and multiply performed in Fp*.
  97657. *
  97658. * base [in] Base. MP integer.
  97659. * exp [in] Exponent. MP integer.
  97660. * res [out] Result. MP integer.
  97661. * returns 0 on success and MEMORY_E if memory allocation fails.
  97662. */
  97663. static int sp_ModExp_Fp_star_x64_1024(const mp_int* base, mp_int* exp, mp_int* res)
  97664. {
  97665. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  97666. !defined(WOLFSSL_SP_NO_MALLOC)
  97667. sp_digit* td;
  97668. sp_digit* t;
  97669. sp_digit* tx;
  97670. sp_digit* ty;
  97671. sp_digit* b;
  97672. sp_digit* e;
  97673. #else
  97674. sp_digit t[4 * 2 * 16];
  97675. sp_digit tx[2 * 16];
  97676. sp_digit ty[2 * 16];
  97677. sp_digit b[2 * 16];
  97678. sp_digit e[2 * 16];
  97679. #endif
  97680. sp_digit* r;
  97681. int err = MP_OKAY;
  97682. int bits;
  97683. int i;
  97684. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  97685. !defined(WOLFSSL_SP_NO_MALLOC)
  97686. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 8 * 16 * 2, NULL,
  97687. DYNAMIC_TYPE_TMP_BUFFER);
  97688. if (td == NULL) {
  97689. err = MEMORY_E;
  97690. }
  97691. #endif
  97692. if (err == MP_OKAY) {
  97693. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  97694. !defined(WOLFSSL_SP_NO_MALLOC)
  97695. t = td;
  97696. tx = td + 4 * 16 * 2;
  97697. ty = td + 5 * 16 * 2;
  97698. b = td + 6 * 16 * 2;
  97699. e = td + 7 * 16 * 2;
  97700. #endif
  97701. r = ty;
  97702. bits = mp_count_bits(exp);
  97703. sp_1024_from_mp(b, 16, base);
  97704. sp_1024_from_mp(e, 16, exp);
  97705. XMEMCPY(tx, p1024_norm_mod, sizeof(sp_digit) * 16);
  97706. sp_1024_mul_16(b, b, p1024_norm_mod);
  97707. err = sp_1024_mod_16(b, b, p1024_mod);
  97708. }
  97709. if (err == MP_OKAY) {
  97710. XMEMCPY(ty, b, sizeof(sp_digit) * 16);
  97711. for (i = bits - 2; i >= 0; i--) {
  97712. sp_1024_proj_sqr_16(tx, ty, t);
  97713. if ((e[i / 64] >> (i % 64)) & 1) {
  97714. sp_1024_proj_mul_qx1_16(tx, ty, b, t);
  97715. }
  97716. }
  97717. }
  97718. if (err == MP_OKAY) {
  97719. sp_1024_mont_inv_16(tx, tx, t);
  97720. XMEMSET(tx + 16, 0, sizeof(sp_digit) * 16);
  97721. sp_1024_mont_reduce_16(tx, p1024_mod, p1024_mp_mod);
  97722. XMEMSET(ty + 16, 0, sizeof(sp_digit) * 16);
  97723. sp_1024_mont_reduce_16(ty, p1024_mod, p1024_mp_mod);
  97724. sp_1024_mul_16(r, tx, ty);
  97725. err = sp_1024_mod_16(r, r, p1024_mod);
  97726. }
  97727. if (err == MP_OKAY) {
  97728. err = sp_1024_to_mp(r, res);
  97729. }
  97730. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  97731. !defined(WOLFSSL_SP_NO_MALLOC)
  97732. if (td != NULL) {
  97733. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  97734. }
  97735. #endif
  97736. return err;
  97737. }
  97738. #else
  97739. /* Pre-computed table for exponentiating g.
  97740. * Striping: 8 points at a distance of (128 combined for
  97741. * a total of 256 points.
  97742. */
  97743. static const sp_digit sp_1024_g_table[256][16] = {
  97744. { 0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L,
  97745. 0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L,
  97746. 0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L,
  97747. 0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L,
  97748. 0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L,
  97749. 0x0000000000000000L },
  97750. { 0x170a46d2335c1685L, 0xeac9e971e1007a58L, 0x40e8f3df43ca4a73L,
  97751. 0x2646f81582642475L, 0x3af49bb4b36576d1L, 0xd89e2d1472bf1afbL,
  97752. 0x27be882c2fd151e6L, 0xaddedc858f88717cL, 0xd6d859bf16ac6c6fL,
  97753. 0x0e741a1b2d8eae58L, 0x6faf7a0061c1f30dL, 0x66dbd09a9b67e096L,
  97754. 0x21f11c067d3b4f7dL, 0x6152ba02c727c98eL, 0xafd58891e86cb221L,
  97755. 0x59e93c6a6bd3baf4L },
  97756. { 0xe54dd36f71dd4594L, 0xbbc9cc9f00aef1e6L, 0x9ea5a44ea19f6530L,
  97757. 0x8588aa993f520928L, 0x9753794c8f5c1418L, 0x118bd792c11399faL,
  97758. 0xb9bd3afdf5cb6ab5L, 0x813d1cb22ecb9652L, 0xfd45626740389813L,
  97759. 0x51f7119b4ac8431cL, 0xdd9f6a910a180eb6L, 0x13946d179f7bfa2eL,
  97760. 0x16f1863150a9d0d9L, 0x5f19c20d6f8373d3L, 0xbe85ac6a9b6a52b9L,
  97761. 0x63ef187b74f62e03L },
  97762. { 0x7c376b7f016f45e7L, 0x1c1bdb572bec82f8L, 0x7392f741ce429b60L,
  97763. 0x6fdbf0a2c7afd81dL, 0xbda41b1f7241098bL, 0x5b407474bb60f8cfL,
  97764. 0x933e0d41b330bc4dL, 0xae182830733fa3beL, 0xa0ed299b0f5c6cd1L,
  97765. 0x7ff3354e3f9860c8L, 0xb136098615559c41L, 0xab0cb63c129f85cbL,
  97766. 0x682ecc4947685fbeL, 0x505e8ec2eb199633L, 0x90dcc794ddac2cdaL,
  97767. 0x4fe6791cf192da23L },
  97768. { 0x94a423d505e8733cL, 0xcc845e651d5717c1L, 0x237c7e88e961b322L,
  97769. 0x0c4471c6db4181ccL, 0x00c875e2713bd721L, 0x9dfde9edb2c17b09L,
  97770. 0x430a6de5e88ceaf6L, 0xaaa7a61a7b81cea6L, 0xea52d026233f98d5L,
  97771. 0xb55efdd060689a9aL, 0x30cfa7ce5cac4aabL, 0xfa4db1148e950761L,
  97772. 0x309570c44e9a1e52L, 0x18c21f611a040170L, 0x555d1ffebe78d9d2L,
  97773. 0x04482a18561db297L },
  97774. { 0xe7758ac273d486d8L, 0x8169f94661cdc1e7L, 0x723c99fc2188ab4fL,
  97775. 0xa0e54f02f3373630L, 0x560bee25bd8c2260L, 0x28fc307c4531bc60L,
  97776. 0xd6f21f1a7e44feb5L, 0xc8e4499c57128d37L, 0x963b053ed7b2ea45L,
  97777. 0x40c27a0432a3d222L, 0x5b51854d35459668L, 0x66e1a49fd73557e9L,
  97778. 0x0d267fd98692077aL, 0xfa1350d3e7342702L, 0x1a9c3f2568ccdb44L,
  97779. 0x833a0ff8dedbf89fL },
  97780. { 0xa8c419c7ab376b76L, 0x3b7294f327d0f0ccL, 0xe56bb9e2a90c514dL,
  97781. 0x931ba51ea62575a6L, 0x56fee07b098c0a88L, 0x04be5aeeb4c16a2aL,
  97782. 0xe513350be6eb260bL, 0x339edad6a1d5c270L, 0xf366ed59e9dbadd1L,
  97783. 0x4213be882dd06ec0L, 0x22d639c8cb1187dbL, 0x1fec95e1d8a1058aL,
  97784. 0x03f73ea6a2b744f1L, 0x741fd51af4f05c0cL, 0x2e2df95a85f811a0L,
  97785. 0x692b3ce3eb24965fL },
  97786. { 0x0ce6cb72d2a127b4L, 0x66a46ea58f92816fL, 0x43ecf46347a37616L,
  97787. 0x163d9a01e0ab96eeL, 0xc8145c6db2edbe8cL, 0x2f426cae4de4e665L,
  97788. 0x174d0b4074e252f9L, 0x54c240d77d2af831L, 0x581fa3973d652936L,
  97789. 0x05b9491ca09d4695L, 0x8c4e85335452643cL, 0x32d64331d4128327L,
  97790. 0x6447903870361f25L, 0x774191b189ef09f2L, 0xc0cf0aaf81de5fe0L,
  97791. 0x333e430af40042d6L },
  97792. { 0x5df04de4cf26d3b7L, 0x57a77306b53f79beL, 0xa4013c5f1808b664L,
  97793. 0xef291ea485037360L, 0x1ffc9d7d0b061037L, 0xd9d04dd965c913bbL,
  97794. 0x948a37aff13b8587L, 0xb5443483fe3ee755L, 0x3fc21e7404631386L,
  97795. 0xb3a104e5cddeb58cL, 0x94fe18626572cd52L, 0xeb9a71a115aaa408L,
  97796. 0x8adc6fe5459ea462L, 0xbb18d1754aeb02a3L, 0xae1276362f7791d1L,
  97797. 0x10e8b31dd6bbd708L },
  97798. { 0xb87f03e53ed9f1afL, 0x03ad247756676166L, 0x38dcd63074ce15b8L,
  97799. 0x1877e2b026b1e85bL, 0xb1654d171af99c15L, 0x9782e9e49382547aL,
  97800. 0x6dc7fc7c26d55ef5L, 0x9038f95d2fbeb54cL, 0xfe590dfe036c0357L,
  97801. 0xcfcb6eae4fdc3f7fL, 0xcb1fbc54f35e1a88L, 0x3c8e1db2da0a5568L,
  97802. 0x9a87393f5b6f5557L, 0x38646b32e7ac0a06L, 0xfd261c832a8495abL,
  97803. 0x6485524c0cdcc4bcL },
  97804. { 0x1abfb3e2c4a6ff2aL, 0x2aa03fba35a6428aL, 0x884227f089aff742L,
  97805. 0x2337883aba5dbd93L, 0x38186ae9d2a182cbL, 0xb9f0764d49a01f05L,
  97806. 0x92411feb917b1e7aL, 0x700b1903570cbb5bL, 0x5d5181d5b914be7cL,
  97807. 0x135c44371981182dL, 0x32758d24574b9997L, 0xa650a8f5632d28b2L,
  97808. 0x24078bacfa383f09L, 0x6546a60c00a33d80L, 0xa4061c7a2df8b449L,
  97809. 0x1f76f3f2f234563cL },
  97810. { 0x9aa2c14344c436b0L, 0x790705561f69c87aL, 0x35f3117b5f6db2dfL,
  97811. 0x85761f41ed56ba82L, 0xf831464f7d0afa48L, 0xa99f29153adce71eL,
  97812. 0xb27bf693116b7488L, 0xa98a5a8c9bb9443aL, 0x7f8780262ee5fde8L,
  97813. 0x3a6f93dd1812acb7L, 0xaf92a4ccdc84bc92L, 0x3c2562aff1d4995aL,
  97814. 0xfd9fc33c04ed899dL, 0xc028ca944ed2a538L, 0xd0f367bb049ea726L,
  97815. 0x04924ffb3d108e05L },
  97816. { 0x06548e3dc673562fL, 0xd3b33025e2eae48cL, 0xe61fd32b5e1c6977L,
  97817. 0x424e20646ebe557bL, 0x767391c041d6e18eL, 0x4b8ebb8e14d7e95bL,
  97818. 0x4ae8b7d420991b8cL, 0xf8a0df66e01290d3L, 0xc97e24a3925e5f4eL,
  97819. 0x79a7b2cb1508272aL, 0xb40b072e25072661L, 0xdad9e1829062fa49L,
  97820. 0x8780a784f3c53bceL, 0x58a82b769f142799L, 0x08cd849cc1468426L,
  97821. 0x4dfce809c380ae35L },
  97822. { 0x45069cb2d527b780L, 0xd52da015977930ddL, 0x10cc600be27d0263L,
  97823. 0x34102c26bb2d1b2bL, 0x4c652623554adf3cL, 0xd689138245f0ff47L,
  97824. 0x83fa8cc5ca916e7cL, 0x1e10f139d15c8d8aL, 0xf173dc2e81dc56b3L,
  97825. 0x7fcecb045c4ed9baL, 0x307fd7d847d01228L, 0x24a571539f3a532fL,
  97826. 0x59e9e81de2153c22L, 0xc562595de428a408L, 0xdc7daff89339bd23L,
  97827. 0x0d075908b8a06802L },
  97828. { 0x870af2a7de085f2aL, 0x88fcd24fbe99b2e5L, 0x88c0d26159ca413bL,
  97829. 0x1f02a2e48559f851L, 0x83b96021f622da0dL, 0x5c05c2f56dca3615L,
  97830. 0x0148cf1c7910c682L, 0x392f2896272695beL, 0x883d0bb5a8d64ef6L,
  97831. 0xef0d22441cfcbc52L, 0xf5dafcec526117e5L, 0xb68612b9f04928e9L,
  97832. 0x283f744d393f2e2aL, 0xfbeed7ed700c1151L, 0xf2cde215a4360dfeL,
  97833. 0x24fa961c2f08535aL },
  97834. { 0x0767db3f616df7f6L, 0x643057d8fbd90326L, 0x174daa906e82d544L,
  97835. 0x2284f345689643dbL, 0x18b191dfcc89a060L, 0xbab46af4d6c27d12L,
  97836. 0x5a57f486c9895145L, 0xc03214e9cc942f9eL, 0x273e1c8f41950158L,
  97837. 0x8ceb759f39ad43abL, 0x5e1b8b7fe50ee173L, 0xf635b1fc8f4d7d4eL,
  97838. 0x8eff77e3755603f3L, 0x201f61d17752fa60L, 0x94d7a03d4a6fb6e1L,
  97839. 0x371cc23dfc4f0114L },
  97840. { 0x289b115dda90c351L, 0x6d196ebf364d9c06L, 0x77a89202f650b31bL,
  97841. 0xcc28c1646f57642fL, 0xdc4f7e3608100127L, 0x8836cd08dc4c807bL,
  97842. 0x1280f156e00240f2L, 0x3f9a6d7899cb3953L, 0x40a494d33a802038L,
  97843. 0x45697e91e87d3474L, 0x70d97d0726dde24aL, 0x06f6a58d7640c30eL,
  97844. 0x03c2c0e85ba6e6c6L, 0x330f6a7af1bc13e8L, 0x3e602e4fc9f4d78fL,
  97845. 0x92b6bca00c80fb7fL },
  97846. { 0x2e3d5c835f00822eL, 0x0e825712b8b16f12L, 0x81c329c492b0a330L,
  97847. 0x6b4e32ada7cc1954L, 0x0bee9cee1bb1413fL, 0xedfb7baa4a92ca27L,
  97848. 0xcd472afaea3b9153L, 0xe8f09e7e00f0c0f9L, 0xa4e1d8725cdebb70L,
  97849. 0xfe2bae084a9b63b6L, 0xf40141b83fd58f65L, 0xd7ec5edaa3b62759L,
  97850. 0x9aaf6e67790e3088L, 0x215ad8301f277e31L, 0xe7db4b98cf33871cL,
  97851. 0x71ff62c94f02f89dL },
  97852. { 0xaa4c71022a4a84d9L, 0xe2ee4acd5ebc71e6L, 0x3b11a8a5f1cd6578L,
  97853. 0x83f5ef9ffff120a5L, 0xa4c598e109e65033L, 0xe1e9f990ca044180L,
  97854. 0x8b832d46f59828c1L, 0x753f28a033af536bL, 0x92edc4b1b6d4f68aL,
  97855. 0xedde692a72ccd1f0L, 0xd3aa0f7dd2226432L, 0x38dbb63ea3d2661cL,
  97856. 0xf1e19fc6fdc37ddaL, 0x6c18b35084ef6b4cL, 0xe6a83fe9df1bba69L,
  97857. 0x40fd47e75f958273L },
  97858. { 0x5b88b746267140a4L, 0x6dbbfc1eeab6f2fbL, 0xdd9ec88e69862548L,
  97859. 0x69beeba12eb6efc2L, 0xcfc2214a8ac8ff88L, 0x95d5c96eb5a21950L,
  97860. 0x93389c054171fb69L, 0x2d85d4521b468337L, 0x14d68a084113425cL,
  97861. 0xe52c0139ec6c2174L, 0x20cf0b97f730084dL, 0x1ac16a261f578aa3L,
  97862. 0x18b9fab3f9b6ae43L, 0x68d82111d854a695L, 0x0b334d98dffbe286L,
  97863. 0x5b1c1157e639338cL },
  97864. { 0x90edaab172b6bb8fL, 0x8dc64ed202fc92c2L, 0xf42ba3c5fe694c73L,
  97865. 0x316dc65fcb54dce4L, 0xcb2d66a3632420dcL, 0x16e706e7056dcf94L,
  97866. 0x2809c764a4f32c9dL, 0xab18d830ea6edca8L, 0x4fd1ace681c65f57L,
  97867. 0x1f91651c7da12c10L, 0x0ac3bd66c7791a48L, 0xb6ad1cf4785e67a3L,
  97868. 0xe4d3fc44da0fd591L, 0xce1648016e1c6344L, 0x84de9cb833e50ab3L,
  97869. 0x963ab83aa756eef4L },
  97870. { 0x944b47d8df4ea5a3L, 0x965688155cfe45feL, 0xd16e7d588a3c3564L,
  97871. 0x84e55b3ee7c99e15L, 0x3fee204df55071bcL, 0x71006f2904057dceL,
  97872. 0xfe8c390dbba75570L, 0x3645bcb63319adacL, 0x8189e8b07c20bfd8L,
  97873. 0x8e5509697d7d9578L, 0x037d1321b99f4e3bL, 0x011b2521a60cfb6aL,
  97874. 0x66594aaa837382daL, 0xc89b91fd83c1dc07L, 0x6b82b899076b9884L,
  97875. 0x443480fcbe45c558L },
  97876. { 0xf8ffffb49114221aL, 0x4aec4f2e3e857a7aL, 0x42e2d0e40fa54787L,
  97877. 0xef3e6b31d6f96152L, 0xb2296537fbfe9b77L, 0xc2a9d0f2fb43a86aL,
  97878. 0x241284ed24572ac6L, 0xa3868917e721ba7bL, 0xdbef7c00c117a78dL,
  97879. 0x38149071d31605acL, 0xc2dada9e065a8ee9L, 0xd5b138d8c442be82L,
  97880. 0x9b6c224bf6d72b58L, 0xb9d355cf8eb03e6dL, 0xab6d1eb0a1700371L,
  97881. 0x97118a88cffaa7ebL },
  97882. { 0xbf9c59a2cdecb5d8L, 0x8083c81ba93a6866L, 0x24e0dd8104774fbfL,
  97883. 0xe779a3caa02070b4L, 0x9d352fbb0fbfb781L, 0xa8b0d8203ef2a1c4L,
  97884. 0xb858637b14b3e501L, 0x5ba70a498a882ff2L, 0xa27300833b06efa5L,
  97885. 0xa42c02f4102fee2aL, 0xe4e762998a0223a5L, 0xdba2ba2685c3fc72L,
  97886. 0x554fe763fe52eae7L, 0x30b5405a270f45f6L, 0xd56a177aa573387cL,
  97887. 0x17c0778d4b71fa82L },
  97888. { 0x0e6dff1d2735e37bL, 0xc9884e56656ec572L, 0xa2f5ac9d9ebba978L,
  97889. 0x40fa4518ba09f3c4L, 0x8c3fa177f5b04377L, 0xa1a1decd967a2ecaL,
  97890. 0x768bca700528bd40L, 0xf224952b18691c4aL, 0x16e12c45e86d5fd5L,
  97891. 0x7a0d915737859a6aL, 0x723f4309a0ffce0eL, 0x5a8db79ba96cc9a3L,
  97892. 0x6dd12ae01ad23a38L, 0x9ffec3a1e2bf5d84L, 0xd6ce84e1a452ed66L,
  97893. 0x1219d5c8571fe4c6L },
  97894. { 0x43eaa67f262969ebL, 0x3a3ab39d2f03e773L, 0xe6127e5157bb0909L,
  97895. 0x0f82b0ed8d150274L, 0xffffcad8e580bdbdL, 0x51d3d075a9743e6bL,
  97896. 0x1484bdb18bac11d6L, 0x95cd9990eb24c388L, 0x216a61d07fac67c6L,
  97897. 0x4308f762a04e6b87L, 0x2865dd61cba57cc8L, 0x3c296b0dd234a07aL,
  97898. 0x76f928393a0793f9L, 0x70b57e1f0be29eceL, 0x1314a82f7e626f42L,
  97899. 0x2c8d7ab2d657f230L },
  97900. { 0x67cf58920825e4d6L, 0xdf51eaa56ef83b44L, 0x63e665d81310108dL,
  97901. 0x229f89f58dd0963fL, 0x8c4b14dd9df6436aL, 0x99dae469d45ebba7L,
  97902. 0x118aab775a4df381L, 0xda8978bd29e37febL, 0x69ced5aaaca2d7efL,
  97903. 0x6c98d05dc67d6a8aL, 0x7474bf0d77f84a34L, 0xd4428b2eed8cd59aL,
  97904. 0xb0fd1cd5d1d398fbL, 0x596013db94a20b11L, 0x96eb705a1b404c44L,
  97905. 0x2299d2774b09d958L },
  97906. { 0x5b9cd58dc64397e6L, 0xac198f1ebf6dd31eL, 0x5866d8e13e9f1db2L,
  97907. 0x405ae2878fcdc68cL, 0xa4b280cde53c01fdL, 0xdc963f2d411db5f6L,
  97908. 0xed5d5189bec4f8a0L, 0x336fd13d916ee98bL, 0x6925b1b3042df48eL,
  97909. 0x0cf56291ace0074eL, 0xe8d38b4825317e95L, 0xc7ad1d2b821c446bL,
  97910. 0x71c44135f0b65934L, 0x971b736f52ca0d50L, 0xaf9ffa5727b46c26L,
  97911. 0x21ac67791936618eL },
  97912. { 0xab420e3f2d7fbcd2L, 0x1272247397bdfc18L, 0x492033f84df5d4b4L,
  97913. 0x6fcd42363807b7d3L, 0xdfc19b09b33c3625L, 0x13d6f375a0f22814L,
  97914. 0x70978a59037c19b8L, 0x4f3989970ff27b9cL, 0xfc0e1a45615a4389L,
  97915. 0xffa3496a3e602f74L, 0xc3f1c431b261ca1cL, 0x612211dbee0164cdL,
  97916. 0x30463ee4e7f7be9fL, 0x015f7e7892c2e1bbL, 0x663d88d624483a56L,
  97917. 0x0e8ec1e70e62d9d8L },
  97918. { 0xa88ccc298a0878ddL, 0x99ac175d6640071aL, 0x90344820a5173617L,
  97919. 0x316d023edd58a315L, 0x30785bd488d221a1L, 0xb74b3de7959c48e3L,
  97920. 0x42ee03824c67a771L, 0x59ef6cdde0b91453L, 0x7830ae289b237e91L,
  97921. 0xe1847a4c495d8325L, 0x67b1217ed0773666L, 0x58192c86a294a325L,
  97922. 0x76aa0f56864d8326L, 0xe2a2bd12f4b13e5bL, 0xd850c1c01b6b73fdL,
  97923. 0x653a795f5d103635L },
  97924. { 0xcfe2898550dcb199L, 0xb35b8e5e7fa02b60L, 0xbca7d7c3c97603d0L,
  97925. 0xb0e5288d27f131b5L, 0x3aa704dee2b12d52L, 0xe206b1d81db725c7L,
  97926. 0x0b12839ac5d1b113L, 0x14f970cbdb45d763L, 0xc997f93eb2125e8eL,
  97927. 0xbd75739cee7daa26L, 0x46ecbd3f1fef20e9L, 0xf994a1147c6a42b1L,
  97928. 0xd289eb4f27fb0fd1L, 0x11186d319a40da4bL, 0x083f65a5fb9d7976L,
  97929. 0x30dfc47bd444675eL },
  97930. { 0xbcfc5ae29eaadfe8L, 0x25027e54b4d4e812L, 0xab0702df8b533561L,
  97931. 0xa2b9c20456a6a214L, 0xb1a3df7a3059068eL, 0xa3514b219883110fL,
  97932. 0xb7be2336c4b78e1cL, 0x17073ce63e2f6984L, 0x86e114a62ddf7ac6L,
  97933. 0x276192bf07d7c3c8L, 0x5da69e0beb1ae289L, 0x983af17525184939L,
  97934. 0x9ac52a4d407a3aa0L, 0x1535c7daae0fe218L, 0xe16fe872397f2501L,
  97935. 0x572a591f54c212cfL },
  97936. { 0x4966841909a5553aL, 0x3f054318327733bcL, 0xf9ceb4b23eefd690L,
  97937. 0xbd3cbf9bf22126d4L, 0x6d9671c02fed9578L, 0xbba597ceca0306d8L,
  97938. 0xb705ed613d674fe5L, 0xf1d3622b67f33f76L, 0x15bcf3c611cb8c31L,
  97939. 0xa38467dce53d1aa9L, 0x902fe929f908ab43L, 0x6e3e499d8d15767aL,
  97940. 0x8142db5c90afd07bL, 0x120c6fbc6c8b190eL, 0x80c8655324919a4eL,
  97941. 0x65c2cbe1d8c82c3cL },
  97942. { 0x684cda20a660bb63L, 0x27dc3b0a86e86245L, 0x76472cf66ba0eed7L,
  97943. 0x79c162e5679dd158L, 0xb688427708452d44L, 0x829bc6b3413f579eL,
  97944. 0x92ea15ec95011770L, 0x5e34e30047738183L, 0x8c3ca34973e1d2f1L,
  97945. 0xa5c4f1dc229bd3deL, 0x783eff1b94ef7ed3L, 0x46db738ddfae7a1aL,
  97946. 0x4353d72e1a099852L, 0x2533ad58a0dcf4abL, 0xd80550160e7888b9L,
  97947. 0x831440d53ba77f66L },
  97948. { 0xf43e2e32f611b2daL, 0x5d066e29d0fa46acL, 0xe897f3e8820b3c0dL,
  97949. 0xc45c28e61d3e44f0L, 0x929d7f66dfd27a66L, 0x735b860a101e8517L,
  97950. 0xea3fce983de078ddL, 0xc9977db5638ce11aL, 0x0488382f48536b3bL,
  97951. 0x7e0c7a3c64cadfc6L, 0x3cd17f7f82147b71L, 0xe95663cc1b411e3eL,
  97952. 0x5739ac8f985fb46dL, 0x385399cdbcf119caL, 0x4a985a70e15a2815L,
  97953. 0x504c3a8a6d5f4566L },
  97954. { 0x00b55283b8fa53c7L, 0x985cff38509474e3L, 0x234d241c437ce25fL,
  97955. 0x29832430e5a129edL, 0x6ad38956aabcc674L, 0xa2dc001d7ee81ee1L,
  97956. 0x4c23c6b6670b2702L, 0xb35e567ea6e8a3bbL, 0xbc70b3cea69673eaL,
  97957. 0x85a7a9c3e6e28eacL, 0x2ae684de5537b7daL, 0x5ecac3e56de937dcL,
  97958. 0xbf2ea6c9f8430422L, 0x38caf7d077fdc520L, 0xc27af0b169f56addL,
  97959. 0x496e4699c71d21d2L },
  97960. { 0xba14fc829fa93467L, 0xc2e376840eb2a614L, 0x659bcfaf4833e09bL,
  97961. 0xbc8597523686bdccL, 0x40bfd08081f3216aL, 0xc463bda617c081b8L,
  97962. 0xbd01fa86bb04793bL, 0x5a21ece62cd640c5L, 0x97bf6a542203d5c4L,
  97963. 0xceb40edc951167b7L, 0xd67aacaf765ba268L, 0x8ba0d9e9aeab51f9L,
  97964. 0xc14b215eb0d6863aL, 0x354cdcdbe5f06952L, 0x4f2b5ccfcb3744b5L,
  97965. 0x1338917313037fe8L },
  97966. { 0xee68064045003cd1L, 0xfdac17bc44ae2ac6L, 0x4bcd419fde8e5314L,
  97967. 0x81e34eb9c7cea95cL, 0xbb57762d38f37e01L, 0xecc4cfb0260990c8L,
  97968. 0x0bc493f950a34a7bL, 0x68074172543304efL, 0xaec0fcb26bc8aa2aL,
  97969. 0x9e7a9b463b45fea5L, 0x4bb2952e55fbdbacL, 0x50f0c0a60485dff4L,
  97970. 0x02c5104d4dea4796L, 0xd2cefa09695e3a02L, 0x4c8102b46da1f345L,
  97971. 0x422eb573f3833fbdL },
  97972. { 0xac592eb6a6ad3f47L, 0xb0861f6d9714ba0eL, 0x57c1e91907281459L,
  97973. 0xcf7c94e264ea5803L, 0x725376ac54b12723L, 0xf2a6ba41dafb736aL,
  97974. 0xc89e8920cba03cdcL, 0xf2e20cb45b0fd3adL, 0x26ea5a54d66059feL,
  97975. 0xee63fa8b889df8bcL, 0x40f1c7e166a3f2bfL, 0x09febc9c747312e1L,
  97976. 0x7d19b9c2727999ffL, 0xa9fbbb4cb7fd2b05L, 0xcfba27d7a0da2dc6L,
  97977. 0x368541cf2c252582L },
  97978. { 0x510d3c9e22799d37L, 0x1b677de5acfa333aL, 0x4e6ae18f080f795bL,
  97979. 0x69b53c2aafc8dfc2L, 0x797541b60e842dc2L, 0xd5a6f2afac067fe8L,
  97980. 0xd0208a03bd07d877L, 0x34b473f0654be2f2L, 0xe67c102af515e23eL,
  97981. 0xb00dbf9d2ac1af48L, 0xe264fa41b6a13d00L, 0x1669786a97e94c11L,
  97982. 0x09d8cf2d86a586f4L, 0x073bf869c7f927e9L, 0xb89778802241a566L,
  97983. 0x59a5bf5922261334L },
  97984. { 0xe9d1c91e81347191L, 0x186c1abceb969972L, 0x07888767a9d46a7fL,
  97985. 0xda93cfccdaa7d397L, 0x08bee9f1d91b9aa0L, 0x8267fd78f8dd3c6cL,
  97986. 0xf93860d094228100L, 0x6a6a71aadadb47fbL, 0x9caa06b7a6156f8aL,
  97987. 0xaa1b05e039848bc9L, 0x36ddc2372aaa9135L, 0x77e7e079b13f3bd1L,
  97988. 0x8d0b5cbe4acc5f4dL, 0x04da45f8984cfd36L, 0xf14ef618d3d3e0f8L,
  97989. 0x467564c143eb799cL },
  97990. { 0x8d725904b6fff5d7L, 0x037f33af92dc4752L, 0x9095d5756d20b8aaL,
  97991. 0x32235fc143baec39L, 0xa2feb4af68a2b9b0L, 0x61c5031894d35c61L,
  97992. 0xac92b6a2ea877486L, 0x8eb48b15011bc6f3L, 0xa28fe128c79edcb2L,
  97993. 0x9f71bc0ca5d2a006L, 0xf31677322f15b850L, 0xfe8d728c7a036218L,
  97994. 0x068f39cb4f81e09eL, 0x1773f0167b7c50d9L, 0x0d0f7adbed6a1e03L,
  97995. 0x8a0dee164ee984d5L },
  97996. { 0x504991bf47366e6fL, 0xb8084d9fe86c3005L, 0x14c4c751a40cce36L,
  97997. 0xbbb46aa63f1961e2L, 0x56a785f940445e43L, 0xdb8d1b57c91e215fL,
  97998. 0x6a8e453ec7ee808dL, 0xc0367ef8bbaa1e8cL, 0x310d91f1e3e18109L,
  97999. 0xf97cfd0e7e20a2c3L, 0xf1e80c84554cc277L, 0xe89bbc1d7b628403L,
  98000. 0x7778a9663fe0a17cL, 0x9e9db19fc1f00073L, 0x2ce7fe7db6f6bed2L,
  98001. 0x7b04b5d2ee97ce23L },
  98002. { 0x5b546bc782c5faf8L, 0x1a734c5e8eb81097L, 0x3d566861e77851e0L,
  98003. 0x833a1013e956d51fL, 0xc7351731c3c3c37cL, 0x607738fbe0c148ecL,
  98004. 0x2ec6f0bbe1bbef41L, 0x0aa2ac6ecfa51857L, 0x072902d766e3adf0L,
  98005. 0xcd4d5089c622d6e3L, 0x3ae21b23a6dd802fL, 0xe5465a5533886372L,
  98006. 0xd85119a0a8d81822L, 0x4f14d0323786977aL, 0x515b081c9c7b272cL,
  98007. 0x1c6a95a4c99be31cL },
  98008. { 0xa6b14ad5c2821363L, 0x829c18234d17de1cL, 0xaef5d2c4ccade848L,
  98009. 0xf412ab3982489e27L, 0x92c9c098f081d927L, 0x6f87bdf475cbad1fL,
  98010. 0xf4aadab81a1d9fb1L, 0x475a7923b75f3b76L, 0x99dd0ad6dbbba8feL,
  98011. 0x836f61644b70ab45L, 0x2a46488134bd9af1L, 0x5c91226eba9abda3L,
  98012. 0x4cec8709e65625fbL, 0xd4b3919e0818e4beL, 0xa5c09c8414f6879cL,
  98013. 0x72708a0230a864c9L },
  98014. { 0x4f33c0b1f34a466cL, 0xa1bae09c7f9d45baL, 0xd70f0fee0e28785cL,
  98015. 0x824c714690880881L, 0xe2416c2abb043da3L, 0x733da713cec6f432L,
  98016. 0x2b590649c9793e1cL, 0xdb62d5b0b35c9365L, 0x355eb6e23e5c1b2aL,
  98017. 0xcfe8b5cebb16b515L, 0x9e081869f709691cL, 0xc865f9fb61a85bd5L,
  98018. 0xf169d3ccfae103f7L, 0x9525c47373467e9dL, 0x7db55c0b43695113L,
  98019. 0x7491c74c73265d21L },
  98020. { 0x312ed5bf80d2b94dL, 0x1b8ac633ba4b260bL, 0xac86c58cd62219a1L,
  98021. 0x317ccf6baeb82c8eL, 0x2dfb29ee59ef9cedL, 0xdaa7d898e42bcd5aL,
  98022. 0x93e295c85974b201L, 0x69e75784d9fc5adcL, 0xd6c4709f012aa3baL,
  98023. 0x1fda9f37c85d3cb9L, 0xe5487e25d3dd4abdL, 0x00fd4b010b3ba22eL,
  98024. 0xcb591493c6e8dcbbL, 0xb7329fabbce68664L, 0x6829d1c268906b76L,
  98025. 0x8bcfd3e574176841L },
  98026. { 0x06882734d3c8c314L, 0x95f0b2f111870833L, 0xb937f7c3c068ba16L,
  98027. 0x5365e0d877924787L, 0x15527e5e1f992227L, 0x0a06964827dffd4fL,
  98028. 0xd58b3df22f586389L, 0x83446b896af20eadL, 0x09d7970b50746257L,
  98029. 0xd9e8d2064022a691L, 0xd1e5f8af671ec379L, 0x6f542509057fe91eL,
  98030. 0xf14dda8152890418L, 0xbd78010e1db932adL, 0x3e18d1e4905a9378L,
  98031. 0x53cadcf7bd37ab49L },
  98032. { 0x1bb5edf75e53d0ffL, 0xd886606c888abf67L, 0x6491b0f812206d15L,
  98033. 0xb3018345e22b6a33L, 0xaba6794bb173b317L, 0x8c1e58677dc9e595L,
  98034. 0x4e106482239624d1L, 0x61752e59da55dd53L, 0x018b4eab9e42879cL,
  98035. 0xcaf6784b491f2bedL, 0x3dcdb9d21e79429eL, 0x3694148510f26224L,
  98036. 0x106f190aa650ec5cL, 0x7542a5aeb69a9760L, 0x69bd75e9c32d1046L,
  98037. 0x90849964bf8c62b1L },
  98038. { 0xb1390cf65a93c661L, 0x184862649db5f056L, 0x92a93a9da51a1788L,
  98039. 0x1b0cbb8f6772de9aL, 0x6e67febd7c71487cL, 0xf9b4382d4e62423eL,
  98040. 0x96fda50ebb5a42f8L, 0xc921b3376089a4f2L, 0x49d32d7b875ec516L,
  98041. 0xbd86d2cac410124bL, 0xf6862209c421fb7aL, 0x3e1949abf6b7de33L,
  98042. 0xcdee18f0e93c9268L, 0xd4edbd5e08dc4cc0L, 0xc2b75be473580d22L,
  98043. 0x3d7f6ffa468cd7e8L },
  98044. { 0xea7b290cdffbd5d1L, 0x9d759da6970338dfL, 0x56680b0890feedc9L,
  98045. 0xbc690af542dce68eL, 0x8519df2bb2ae4d82L, 0x5612467f7f195b60L,
  98046. 0x659a342cd83c21f4L, 0x55771bf555651633L, 0x5fc68935548ba562L,
  98047. 0xb54192039492f23aL, 0x567528e39c9c6017L, 0x3f064ed4511e6019L,
  98048. 0x303f9eb91d16a555L, 0x3e18c4fd2254abeeL, 0x40994d6ffd434e7cL,
  98049. 0x8fb12d3f6dde74e6L },
  98050. { 0x6c6381a2293cb7a4L, 0x453e09f0b87b7e4dL, 0x4f212823078ac3efL,
  98051. 0xe89ffad0578cae91L, 0x4a2b696a716ba4ddL, 0x14681a14f6f580a0L,
  98052. 0x1358f97b4c2f1307L, 0x878969962932fb89L, 0x29dd850a268a5af7L,
  98053. 0xaf771f6dfe239f83L, 0x5f20fd2e4f47499dL, 0x9b643e77867ca0e9L,
  98054. 0xe7858ecd375981ecL, 0xbe946a5919ab1c97L, 0x4f9303a206ff3453L,
  98055. 0x3fcc673175d237b1L },
  98056. { 0x509debd5df21f920L, 0xfaf70e1fc1401b90L, 0x2429cbfd95a64aafL,
  98057. 0xf21208552c37a122L, 0x1d4c93f47deb926bL, 0x12f3e4c09fb3f1dcL,
  98058. 0x56085a595b51bc46L, 0x2a2f5d62f10fdbd2L, 0x60dd62cfdf0cb3c2L,
  98059. 0x154424a36b0f254bL, 0xc3a5a05d564612b7L, 0xbebe30cfa1f5249cL,
  98060. 0x24ec69037e62a188L, 0x75f0fbacaf429939L, 0xd41345dcb3fa8685L,
  98061. 0x645146fdc7151c34L },
  98062. { 0xecec633aba1924f9L, 0xbba6f136006326e1L, 0x203757ac7e50fc17L,
  98063. 0xca531919ef3d8e00L, 0x9545a6aa51dc5a74L, 0x6e21d58fd31412b8L,
  98064. 0x01bc30057bb1d000L, 0xf1789c696ed1a9c3L, 0x7af2d35f9858fa48L,
  98065. 0x434d09b98197be85L, 0x1dc0775529aa265dL, 0xcad03be7c058fa80L,
  98066. 0x92d70a9f54ba14ceL, 0x6dc785056c050a74L, 0x2a7ca4a94d005ddaL,
  98067. 0x448d3d72abfb9f2eL },
  98068. { 0xdc56f14529b33989L, 0x868351bca9ae815aL, 0xb3f456134b074414L,
  98069. 0x955ce42a3cd9f33bL, 0x13ade4ec5ff6e4a3L, 0xd3aac715a50eaa91L,
  98070. 0x0c61ec995666efdfL, 0x108a28b8f6a4470aL, 0x402ef584e54844c9L,
  98071. 0xb825b162d0e2f337L, 0x3dcd131fb46f7cbcL, 0x208178ec96f2fd89L,
  98072. 0x4d8c5d6725928c78L, 0x285a33df9963c459L, 0x72497175d92a309fL,
  98073. 0x76881479cb7019a5L },
  98074. { 0xba43a11491767eedL, 0x5e11b9ad92bf65dbL, 0xe8a22ce003a5e21aL,
  98075. 0x636044212a335415L, 0xc2c563b44a9ead62L, 0x4bc06264a0b2aee5L,
  98076. 0x75b8d5758bf2e1d7L, 0x1cff0ee7d08a265dL, 0x17914e1db0b712a7L,
  98077. 0xc35925d04b18692dL, 0xde253f4c56cce815L, 0xa479241c9fff0e3aL,
  98078. 0x50b9d06eddabed19L, 0x6713526059fae506L, 0xf37600fb532ce180L,
  98079. 0x670eb01c5e5a8626L },
  98080. { 0xdf73c0af73cdbb43L, 0xcf08ecc57f2431adL, 0x917805412a1a3845L,
  98081. 0x69a104f29224ddf1L, 0x4352f38dbeac7effL, 0xfc3b3b4e7c2d1322L,
  98082. 0xa69e9430b5e4b476L, 0x7d932340975a46f0L, 0x8093899e5d64eeceL,
  98083. 0x7b821250db2345e9L, 0x235529327f4b796bL, 0x2ee9cc154bb90b1fL,
  98084. 0x1fa9c8f59112f7d6L, 0x2d0f2f981cbaae32L, 0xb77f03660075166aL,
  98085. 0x504852e7635dff27L },
  98086. { 0x2f0f3ce5a2f392faL, 0x326c076aec6c9078L, 0xad01de9284baaaf6L,
  98087. 0xb01b16d3cbe8e993L, 0x71305c242d950908L, 0xc66fd6173853af38L,
  98088. 0x7735140ed3c429a0L, 0x8a31b12a1fabf027L, 0xa0530002058b3177L,
  98089. 0xabffd9fca9c7deb9L, 0xd05ef69be8667d30L, 0x2f3a7308e9a9e13fL,
  98090. 0x3f4c9a19b91eae9cL, 0x50d0cee7618ce6c4L, 0xfb24dc405240f8b0L,
  98091. 0x992fe151f7e90cc4L },
  98092. { 0x4454db3138f197aaL, 0xa4ded69d87872f98L, 0x97b427b044f0a828L,
  98093. 0x9821e1aea31e48c6L, 0xe38cb09fdd98efecL, 0x20b84fa8480cb3aeL,
  98094. 0xba5bb4a847475573L, 0xa9be080acd50e96bL, 0xc4451e9cef103550L,
  98095. 0x626ee75fc441325cL, 0x6eea5e9838a5e33dL, 0x7321beb9a2b0abd2L,
  98096. 0xca92e4849b6082a9L, 0x1dc8168a992bcc2aL, 0x134ecf4b9c8eb9fbL,
  98097. 0x5a68bfa84c5b71e0L },
  98098. { 0xb4ff3b45ff0a2bfbL, 0xd105fff95502f8b0L, 0x14de58855b1c0c26L,
  98099. 0xed16865b0d3b9d04L, 0x2f5a2453026d3917L, 0x6a22f493f4db3c0eL,
  98100. 0x4871548ae2418f2eL, 0x6ab363a8509bef61L, 0x91ca1e3ab8cbbbecL,
  98101. 0x71e0dc984011a396L, 0xff982e0a0d5ca577L, 0xeb40b04581897bc1L,
  98102. 0x4bc24a46085ad5e7L, 0xd15c8fa0a6337b7cL, 0x56ce6ef7bef1628fL,
  98103. 0x78acfdf99f5ef439L },
  98104. { 0x45bf7f15f8520189L, 0x954202a0c77f61c4L, 0x39edc6b9dfa22e1bL,
  98105. 0xd2d602671f4a3487L, 0xcd9339294814cc52L, 0xde76a12405e9f123L,
  98106. 0xe2306ea0ae36b6f7L, 0x53815218b83a58e0L, 0x9862bb76a041231aL,
  98107. 0xe8da253cbf31be71L, 0x2dfc533237de861fL, 0xf25c93f690ae4890L,
  98108. 0x66bcb8f08baa6ed2L, 0x6f10ae0f908b4a29L, 0x8cb4b48cb061c949L,
  98109. 0x0ad92d73d075a366L },
  98110. { 0xbfb95fedc2ca548aL, 0x4778c62080cd89abL, 0xbe99154b3466c280L,
  98111. 0xea3be093d4be8902L, 0x847b799513e681edL, 0xf22a8f4b02f40161L,
  98112. 0x3ef2cb4d4aeb7fe8L, 0x9adc5151b3aed5f6L, 0xec1ccfd198c31163L,
  98113. 0xdc2ac17ba3d7d88fL, 0x08fa64d346421097L, 0x5ebf80b794b90bcfL,
  98114. 0x1b78b4ba0b50a9ebL, 0x1a4fe934279aa66bL, 0x8ef4dcaf075b3cedL,
  98115. 0x95bbd8a070a6e9aeL },
  98116. { 0x59f92495e614bbd0L, 0x7567a887b823e363L, 0xe247c9ecfc1bd6a7L,
  98117. 0x2bfaaf478e835c42L, 0x314ef4e0aade066aL, 0x072baa635c16d336L,
  98118. 0xfa429c71e2f0e389L, 0xcac1e5d0bd07d90fL, 0x69ff35ea514f5c04L,
  98119. 0x893053fcc0554ec1L, 0xab1d86b72a35947fL, 0xe29fb0602aebe487L,
  98120. 0xa0a10d6ddfb9cf21L, 0xad147059f20dfcf5L, 0x480dc66fb8867a2aL,
  98121. 0x375a884fc125a919L },
  98122. { 0x178cbe2e1217f7eaL, 0x1a161e2a875c6dabL, 0xf7707ec01bdb1a54L,
  98123. 0x678864a0e4fd73caL, 0xbaebc664d13a0d86L, 0x40325f99c8d30668L,
  98124. 0xb93ed9c92f1c5950L, 0xfdf36763541e0667L, 0xfd97fbb0b91a6763L,
  98125. 0x26aa69ea6079c9a0L, 0xc7303c801eaa8c47L, 0xdec75c81afa63c55L,
  98126. 0x01cdcde24fd12adbL, 0x9fe0dda71968838aL, 0x66bb093b38415379L,
  98127. 0x268d818b08cb84ecL },
  98128. { 0x73dae35841580555L, 0x4fc32e67473d103bL, 0x240c1013beccc1abL,
  98129. 0xda4099f2b24ee9deL, 0x37b0cb5b9fa8e066L, 0xb5ae04e46438d7eeL,
  98130. 0x7f7d31642b720140L, 0x86ef4edb339e4a78L, 0xa5e77eed3a7d8375L,
  98131. 0x883fad37bd707c2eL, 0x816b633a0f979189L, 0xe24c028a2e7a208eL,
  98132. 0x1171fe3c4435516aL, 0x3eb93b334f5f2bf5L, 0x8419ed4b01b53a56L,
  98133. 0x8b02735c056ca44bL },
  98134. { 0xb89bb464e1019195L, 0x1de4c026f3fc28c1L, 0xac120e6e2bfc3b21L,
  98135. 0xec71bc5a91bdf92fL, 0x485d7ab40d995bc9L, 0x97c6768ee6491ffeL,
  98136. 0xd9552d19afbce265L, 0xbae6c7fe8e1b76c2L, 0x167d8281d7e3ad1bL,
  98137. 0x3e149af95e989734L, 0xd1f0024c8a0c8182L, 0xf571ffdbc3006c0dL,
  98138. 0xb32ecf7e58773d4cL, 0x5822a782fd3540d8L, 0x5ab45c3f04365042L,
  98139. 0x400e3aa04b4d85feL },
  98140. { 0x473216495e46e4a2L, 0x37a2ed6424136074L, 0x659223b1c60ec77dL,
  98141. 0x5e13aac3e5e0ac2eL, 0xda17c41bc5107ab7L, 0x65b22ec973c253dbL,
  98142. 0xff3867b8a5012296L, 0xfed660d50621a99bL, 0xa3c28506c89fc3f5L,
  98143. 0x3ed350b9f16451a7L, 0x27c3e03267cb586fL, 0xc807c779967185b1L,
  98144. 0x09c157d44a13009bL, 0x362f7647adaf1f4dL, 0x4a42b9acf3a6a198L,
  98145. 0x131c3da28da6e039L },
  98146. { 0x4a785ff1a7da83baL, 0xf415b425d04f4436L, 0x7c0899bdec03f812L,
  98147. 0xc58d411a80f5f4a2L, 0x3d32d610fda251b9L, 0x99bb4504cd3b2f32L,
  98148. 0x198c444bf4c2083cL, 0x60c261af730e83fdL, 0x060ca4dfcb02db90L,
  98149. 0x0ff7838b9df1e7c8L, 0x6b79cf97c4c690c9L, 0x131514d75d75f154L,
  98150. 0xa7c074f11cb0e8ffL, 0xb920aac1b2c17615L, 0xde8098ad44aa0ff0L,
  98151. 0x71d1a46a34545ce9L },
  98152. { 0x76178f76fa1b382eL, 0xa0d8ecc3772dda0dL, 0xaa5aab2ac5d4d130L,
  98153. 0x27d38ba48d72622cL, 0xc5410db6ca3bed06L, 0xf637a588793ceccfL,
  98154. 0x1f65dafd6e65e3d7L, 0xc3b44a8560a45641L, 0x0f47b3a84f78540bL,
  98155. 0x824fdadd5e4d60f6L, 0xd8ccf90c17d3b6d5L, 0x008eabdf325fc13aL,
  98156. 0x3e90d7163648fab9L, 0x3964ff3a24c52d4bL, 0xb95cc416533d0acbL,
  98157. 0x6cd2699f1167f521L },
  98158. { 0x2d8c0b3b12f4f3acL, 0xb03dcfe299d1bdfbL, 0x540034f830f37326L,
  98159. 0x22dd68937c5a8c82L, 0xeb7093d0cd8f1442L, 0x892795a7585742f2L,
  98160. 0xe15f282c087adaddL, 0x7bbdc74916ab7b5eL, 0xd30fe40ba58acbb4L,
  98161. 0x0de417ebe2bac39bL, 0x4b4b19a6c61a04bcL, 0x9338c34df2735569L,
  98162. 0xe8f0374230ab196fL, 0xfa2efcb86c88c965L, 0x19eee274c7eeb826L,
  98163. 0x327c063fda345dc2L },
  98164. { 0xab399eff5b47cd53L, 0xbbe9869d1943aefeL, 0xe64ecc7b1402a866L,
  98165. 0xc3e7c2aab1c25a16L, 0xc4216b79022de271L, 0xe58dfcc8366d6a5fL,
  98166. 0xd159509eda813336L, 0x370400f2130bfb7cL, 0x1be4e05993b48780L,
  98167. 0x0623a1fe39f3cd22L, 0x72aa22b2eecb4f87L, 0x1af4c4966c27b83bL,
  98168. 0x7a42a94bda5fa5bfL, 0x9afba82248b01af2L, 0xeb6b9d2a3670112cL,
  98169. 0x020f19d1c0df6856L },
  98170. { 0x37051a86a4dbba20L, 0xb618ebc6db1de5c5L, 0x9a780a19e6525840L,
  98171. 0x9440302dd2bccc4dL, 0xe9ff023d10285a24L, 0x3b937ee33a486268L,
  98172. 0xe37ee2f24cd61147L, 0x79fbbfd3a3d057cfL, 0x5fba16d3ccddefceL,
  98173. 0x916058ec5b231727L, 0x47699ebe720c3adbL, 0x262743868b4f6bbaL,
  98174. 0x54b0092af18a0770L, 0x99d090ebacca1160L, 0xf757e1ff0c888f60L,
  98175. 0x79e72720b0050544L },
  98176. { 0x632acf252820a239L, 0xb1a3974eaae6b310L, 0xd61fd6ba48c0a1dfL,
  98177. 0xd2453c395a3ee7aaL, 0x548455a0b980446dL, 0x9f29d97bde16676fL,
  98178. 0xf252ca0c789375a1L, 0xe961af3e7743a985L, 0x70c79c5666cdbd8dL,
  98179. 0x14a3854ecbc538f9L, 0x58daa73aa126851cL, 0xe9b5bb452a9f558cL,
  98180. 0x37af7f83fbd15e05L, 0xa448792738a1939dL, 0xe428b2b59511a056L,
  98181. 0x001d3ce37015846dL },
  98182. { 0xd6be36b9e145b1d7L, 0xf3e3938a009c5664L, 0x2e562e7de7c0f6dbL,
  98183. 0x951044e6c343f539L, 0xa5ab62b8d90897b1L, 0xb1a1f70b512f797cL,
  98184. 0x91cdd754750f28e4L, 0xb4c80e2fffb8165dL, 0x65ed39c7594d02b3L,
  98185. 0xcc12a49d56833edcL, 0xe73694bcf3693a18L, 0x34cc134afcd2c404L,
  98186. 0x071bd5fc11d40194L, 0x05759047fc585e46L, 0xb3280360790b7a04L,
  98187. 0x4bb8c6fc40afc684L },
  98188. { 0x3120e2ddfd0f8796L, 0x6968a40db133c9deL, 0xfea366c0a9369c6eL,
  98189. 0x37e5b6d66007273bL, 0x39e4ecf08cb81439L, 0x487fe9cd9febc005L,
  98190. 0xeb8af4440199b53cL, 0x2f124e3b293519ebL, 0x860c218ac82c9c16L,
  98191. 0xacd1d6f2709dc590L, 0x5696d54536d50529L, 0xc03f5df959120bfcL,
  98192. 0x99a3e88d10ffa690L, 0xd4f9cfa56c432827L, 0x2e8fea9e9a135d89L,
  98193. 0x3699a881b6a77e78L },
  98194. { 0x5bca33721eb1c64dL, 0xe9cf3a2df1d28154L, 0xb7e2e9b36537106fL,
  98195. 0x06c171514f7cbf4dL, 0xcbde416e2058b37fL, 0x82c53a7e8834e9c5L,
  98196. 0x94dbdfe2e9ac3a75L, 0x795ec6cbc5e67c02L, 0x8c23c25f1426a80dL,
  98197. 0xee2cd20d6a8d4f9fL, 0x838daa54d3b7c235L, 0xb9e08ec03d7a4d52L,
  98198. 0xca9475e9781cb473L, 0x7271f39e5ec31caaL, 0x1df08e9f82535187L,
  98199. 0x4f3a4b03208aff8bL },
  98200. { 0x0f7b81071ed095f8L, 0x23e37fa6da226d4eL, 0x8b0f9852afb36d1dL,
  98201. 0xb114634e07d8e311L, 0xb9634a97e3e0f16eL, 0x2454bb9c421eec37L,
  98202. 0xb4ecd5dbd72b21c1L, 0xf96038686df20d7cL, 0x9f5359fddf86e0a2L,
  98203. 0xc43d54fa5ac488aaL, 0x56d714abd1049df4L, 0x13152b3eb020607aL,
  98204. 0x49be1c187a02325eL, 0x44f24f4a52ae84dbL, 0x9e525c030b5a7b80L,
  98205. 0x6d874446a6d179fdL },
  98206. { 0xd29d07aabe9a42f5L, 0x1fd5316c3781ccc8L, 0x71a75a6d9dc69ea1L,
  98207. 0x4e19e0df88fee91aL, 0x99c2b4dcf8d44f12L, 0x05f6df9231ae94e4L,
  98208. 0x27fba876cf28ccc2L, 0x6e1a0f01f57f7cebL, 0xe03f1f34f3fd3b74L,
  98209. 0xa0edc4a742c1d213L, 0x5caac2707deb8580L, 0x0f5d791faf0848bcL,
  98210. 0x17f514ad07ac759dL, 0x95a39734904fc531L, 0x95a4aca97bb70f3dL,
  98211. 0x3cf384c9ff9c5609L },
  98212. { 0x700506bace1fc9e3L, 0x49721742676b0399L, 0x2b4a1b8de72bf7b3L,
  98213. 0xca8602a879b209f7L, 0x90580b90ce26a8e1L, 0x1ef339b7fe24f39aL,
  98214. 0xb6c5d991629362e1L, 0x51174e1a577b24f4L, 0xf380fcb505e451e9L,
  98215. 0xf4d97afb148321bdL, 0x099806bb747e5d2aL, 0x85525d65be99a608L,
  98216. 0x264828d9d455e820L, 0x8c8c5405d8560a65L, 0x3c67e73c71030770L,
  98217. 0x2b248850ee73df26L },
  98218. { 0x2173cde68541159fL, 0x78224c184fb410b2L, 0x07a286191f2ca1c7L,
  98219. 0x52c207d6a8b23e40L, 0x071a0210a6b2344aL, 0xdb0e587cb5ed2945L,
  98220. 0x6c56b8ef810fcc6cL, 0x1248c58f62d843b9L, 0x4b90363d74c66975L,
  98221. 0x6348f7f2e66c66f6L, 0xb2f9d441c126bcbeL, 0xac07f2a373ce49e8L,
  98222. 0x52486758e81b0df0L, 0xa108b54d1d4621d1L, 0x17261ece74414a1cL,
  98223. 0x938b3bcc6a3ac215L },
  98224. { 0xa9e4a16be4ded340L, 0x8e65fb2a80e88036L, 0x97089606dcd73acbL,
  98225. 0x1c3a0434aaa657a9L, 0xf304fc5849101b06L, 0xe60fb61ada0bb64cL,
  98226. 0x818c2aecf5542df5L, 0x7402057656f76d5fL, 0xb566b79092533d97L,
  98227. 0xae4655e574d6eb5fL, 0x60f7a1b5a55b44b7L, 0x7970179b93747ea5L,
  98228. 0x8ae7e0e8f2dace56L, 0x9847460784e83c06L, 0x24e8c9ed15307341L,
  98229. 0x6cff58a5d9e89d6bL },
  98230. { 0x508c01b003e51f68L, 0xe1d1f2251d2fe7d6L, 0xf7998d0b09bd8805L,
  98231. 0x255e907a03e415b7L, 0xd148467d607d9798L, 0x055c3b1e9b453896L,
  98232. 0x35001013809f50f4L, 0xfbbb2fa6d0233fdcL, 0x0b680b0aff1820b8L,
  98233. 0xb1d404dc38d317e0L, 0x133d5444ccc8c7dfL, 0x7fa847e66ec13f84L,
  98234. 0xc33f83d8046e2e48L, 0x3c627fc54863b3acL, 0x5f67f8aaeb936af7L,
  98235. 0x5fe4ac8f31b79327L },
  98236. { 0x581aa4bf8b6f401eL, 0x05db12a3ad5c7ed4L, 0x7b0187266fb07b4aL,
  98237. 0xfdd11f049c22bcd4L, 0x5454a7d469371c95L, 0x066c55fb99a46eafL,
  98238. 0x18637c7c7fef96d0L, 0xbafc1d346b83e95cL, 0x55c3859300bb42dcL,
  98239. 0xdd8dec2b34e7e712L, 0x69c9cfb0b184cee8L, 0x8dcc0c4249a27864L,
  98240. 0x290d95f22010f2e7L, 0x86e254c96977a420L, 0x20931c89eb2abdadL,
  98241. 0x81377164121c0548L },
  98242. { 0x6266b25e9c5a8edfL, 0x6e1388c21078a7adL, 0x5f02737d4876eedfL,
  98243. 0x242fa7f962744617L, 0x3e2cfbd9b385382aL, 0xbadad7b102f71befL,
  98244. 0x562abcfa677d0a92L, 0x573ebd1751fdff34L, 0xd7f658527c250c78L,
  98245. 0xe0cf16eec47ca896L, 0x8ccd79b067622c9eL, 0x31fc5882f8f2c075L,
  98246. 0x9232b37ea6008515L, 0x4d7bb36182e8c5baL, 0xbf24735cd2f146feL,
  98247. 0x79c280ee9cd2db98L },
  98248. { 0xbdcc8203f2b48122L, 0xa8c04916b04ac48eL, 0xacf064dc9fc4885eL,
  98249. 0xab83899782c1001cL, 0x7339e721676de250L, 0x17aa5aea8e1ab820L,
  98250. 0x24d28ca06bc14b2eL, 0x570c5bb7816b6230L, 0x6c51235ccee6b606L,
  98251. 0x1b2bf89f183eae42L, 0x3e3af3c69c66274bL, 0xe0b04426b51e38bcL,
  98252. 0x26dbc58e73e40e3bL, 0x3f9dd578b5be5be4L, 0x9fd9f79152c8f408L,
  98253. 0x758073a4a9e3ff4fL },
  98254. { 0x7d27b0578691ca22L, 0xf206bfd613a2a1b6L, 0xe84bd385ac795413L,
  98255. 0xc5d18a2a75536607L, 0x2e166de7c8a0e24cL, 0x56d5750c3c474dbdL,
  98256. 0xdef444c11366843aL, 0x14646e53cf4b8432L, 0x4bc0d030a9fd9783L,
  98257. 0xbda4c824297ee203L, 0x3d0b10bffd7be6c7L, 0x2d21647608c7f3ffL,
  98258. 0x06e52599b4fd4c45L, 0xfbab9fa149e9e104L, 0x9342a7fa8661d32dL,
  98259. 0x3f3e3458faf66aa8L },
  98260. { 0x51ec35af951597aaL, 0xb677d4ac49df64ebL, 0x0276cd9c9bf4eff5L,
  98261. 0x423eca49515a2935L, 0x8a696553fd9bb9c3L, 0xf99ee9dfede1f09cL,
  98262. 0xb8fa2956199e5f98L, 0xb763875835292c32L, 0x8734eddcfc40e81bL,
  98263. 0xd82d5e9f65457d95L, 0xc8ee323e30c78d2bL, 0xe77b2e4cc1433d67L,
  98264. 0x56d9f8073c8314aeL, 0x441eede22a0e2f63L, 0x1e9e17ed6c48295eL,
  98265. 0x640d20c434c294efL },
  98266. { 0x4e9a0b8e3284d513L, 0x074c3545f315053aL, 0xb36e740745acd52aL,
  98267. 0xd80bdcfc1de50db7L, 0x8d9d47dc2549fc46L, 0x29b6ef13303f07a8L,
  98268. 0x4e461aca6d4ad4c2L, 0xca8e351dfc9f1b73L, 0x8bc4094d57460e65L,
  98269. 0xb6302b330f32d367L, 0x69a074b6285742e8L, 0xdfe52b11876c29c3L,
  98270. 0xf39e4609912bd17aL, 0x8ee40d66349aa639L, 0xb968902ac72e05c1L,
  98271. 0x0f9c1ca8c0d92816L },
  98272. { 0x1ebbaab367433df3L, 0xb6aa534715d3628cL, 0x13a320d897f0c5ccL,
  98273. 0x72c918cb65e408f9L, 0x4b638854d5373451L, 0x731399a30b4dca09L,
  98274. 0xcf2567300a3b1326L, 0x5ea60dfa6608b388L, 0x58ad74b07b290dfdL,
  98275. 0x83202789d7694f9bL, 0x48593db8b6630fb1L, 0x3db47f70c65e3eafL,
  98276. 0x63949c913e7263f8L, 0x9b9acec6e6e6ff33L, 0x34bd9ba7098a8240L,
  98277. 0x7e31c12f45d36ec5L },
  98278. { 0xbe281d680dfd2dd7L, 0x1efacb0024ab61d8L, 0xb9c3005f94431f97L,
  98279. 0x660c8dfa959cb3bcL, 0xfdd5fc30cffbb406L, 0x7a4631be7969a10dL,
  98280. 0x336e309ede13fd1bL, 0x76b3bfadfc947076L, 0xfa91925ddcc72223L,
  98281. 0x741f0d73156c4ee1L, 0x4f64ee410e2b3747L, 0x86be92d3efc4d93cL,
  98282. 0xc53b7e03fc4fbb2eL, 0xac196cf5337ca1bbL, 0x4de41a307e23ba60L,
  98283. 0x1a219c45326d5357L },
  98284. { 0xfdcf7ef8aa4db0bcL, 0x2e2318067b6c9963L, 0xc26390673d8a192fL,
  98285. 0xc0cec2e2ffdc7771L, 0x997c8e35a2fc0edbL, 0x78e10ec182cc6043L,
  98286. 0xfd0de2cb2b0c8120L, 0x4d6c457f69e57f8eL, 0x953e69b25b53f1c3L,
  98287. 0x422a330ac4f89cb8L, 0x92ff232995566be6L, 0x73cd502d437442d1L,
  98288. 0xf04ce590bea69403L, 0x6ac1537ef8030662L, 0xe02bcf77b6d0bf93L,
  98289. 0x17aaa999bc90192fL },
  98290. { 0x0d3d56438e55db2eL, 0x835dee433b946851L, 0x1a1440e55b88462fL,
  98291. 0xa6ff3b35ea17e27cL, 0x23f99c36dd95f7a9L, 0x7217fdd9bdd672cfL,
  98292. 0xf400ac1edd2045c0L, 0x94b55c874ff06b25L, 0x0a44a0e50e4a49beL,
  98293. 0xe8925e91b43b6813L, 0x78bedde1214f96c5L, 0x0f456a4c0f97fa97L,
  98294. 0xa28fd86ba5bfd267L, 0x3b4b2d8fbe7608efL, 0xfbd5ff8c226474bcL,
  98295. 0x6b282af0a5f3b24aL },
  98296. { 0x78fc025f6341a595L, 0x591c38d6a445e28cL, 0x72bd6e3deb446842L,
  98297. 0x3f9466d375547833L, 0x911414d3083e16c4L, 0x145d946695a7acb4L,
  98298. 0x102ddf098fd2fb64L, 0x2a2b2d2d0bfd87b1L, 0x69e9be5c59455088L,
  98299. 0xee378bf4a80245deL, 0x80b0bd68b2306b0eL, 0x76a545c6c2be9f3dL,
  98300. 0x429d167b4802c245L, 0x13e644272b412dfbL, 0xb664f529ee8d9762L,
  98301. 0x6d4f5d2354706ebfL },
  98302. { 0x35c8f2b600ba9f88L, 0xfdc807e07bb6d0bfL, 0x0a126d42b3b81e5bL,
  98303. 0x335ce6cea7ac781eL, 0x3e308e6ff37dcba6L, 0x028dca6263c96487L,
  98304. 0x72eba57e8818434dL, 0xa9e3d59f79b78a26L, 0xd2f0a7dd2f07aea3L,
  98305. 0xe0fe467824d05f74L, 0xb20851700116deb6L, 0x9c2a5e9258f37580L,
  98306. 0xe78bd7a574070bb3L, 0x551fc872b9977d90L, 0x6eda93c440db81b4L,
  98307. 0x4aaf0b4fd65d34adL },
  98308. { 0x9bef25063514c7afL, 0xb09e7dadbc181eadL, 0xef3cae878fa3ec58L,
  98309. 0xd8dbfab5173b8685L, 0xb2490fc0921d32ddL, 0x4eef386b8bd9c466L,
  98310. 0xc1cdd52fa061dbdbL, 0x64de989a25bc04dbL, 0x06f9836b85728636L,
  98311. 0x11a5a8048be44aa0L, 0x16dede4e097018c7L, 0x72aec577b2c11fb1L,
  98312. 0x144dade1a721ecd9L, 0xf99c526bd6ebf3a9L, 0xa1d4165b1c2e14d7L,
  98313. 0x8b2cbd3982bc6337L },
  98314. { 0x28ec1bf28a52e991L, 0x0ba202f6cf9d42ecL, 0x8307d130c634ea45L,
  98315. 0x3fc257b3c5762b9cL, 0xbd3298d1487c2a2dL, 0xca14f1a7a319488aL,
  98316. 0xc70ca93b06ba06d2L, 0x9aa3f4b3ee405e89L, 0xcc64eeb335deeae7L,
  98317. 0xd155f57803bf1d4cL, 0x041ec0b545616bfdL, 0x23df80e6086e33f6L,
  98318. 0x399a79c8f0243cf5L, 0x86c2824e874ccd58L, 0x220eeaec8fc5c831L,
  98319. 0x57e283047dbe3670L },
  98320. { 0x6e60b698fbcdf666L, 0xbdd06a998bebb1d2L, 0x4044adba80498436L,
  98321. 0xd76bf75e522bc88dL, 0x655c4b9b28423b20L, 0x65c0f49253398a72L,
  98322. 0x76d4f2b70ca37601L, 0x469899252030fa5aL, 0x96b37e87b6054705L,
  98323. 0xef96f73153de1b2fL, 0x5ecbbc8cad54ef05L, 0xeb289d0aa93617b0L,
  98324. 0x3ac0fbd57cba217dL, 0xd0d3cb5619d4a2d7L, 0xe8bee9d4c91d6063L,
  98325. 0x4f12e037696ffda6L },
  98326. { 0x4ccfa42215f1a610L, 0x804a5c553786519aL, 0x1246a45473838134L,
  98327. 0xfa15b4844b284e2aL, 0x36464c65146d1320L, 0xfb6ba88c70a8a0faL,
  98328. 0x74e7cee793c4804eL, 0x8c34d22cb95ae16aL, 0x9d9ed89ff9c1d4ddL,
  98329. 0x61a0866d32025371L, 0x45b232b29bd6444aL, 0xf888e92cf277bab1L,
  98330. 0x73e69c6ea9448b02L, 0x1a496ea95b521ecbL, 0xa8f78ea75858afb2L,
  98331. 0x83d2333eb1266f91L },
  98332. { 0x1c63328867b478d7L, 0xa1ee1ae150a2fc9cL, 0x05b6ab3018d2241bL,
  98333. 0x69f1f288893cd696L, 0x159d6660a8117a87L, 0xe812011970e73d77L,
  98334. 0x528fef0093f55f0aL, 0xb3978db8d854dfb2L, 0xd6b43ef6f45d9fbbL,
  98335. 0x17de4bfed5bee397L, 0xa01e0f596bf76dadL, 0x28b2280e3d40754cL,
  98336. 0x8edb6122f8e86ef3L, 0x8226b6afb7d1e586L, 0x463532152f40a55bL,
  98337. 0x7362f13ec5a31621L },
  98338. { 0x792eb27c73c0c430L, 0x8cc0a65fa51c3657L, 0x50a5ceced2194f1bL,
  98339. 0x18945688814b4947L, 0xbbf0a81a4b6fbbf4L, 0x376f4f58f0aa8608L,
  98340. 0xd9361d683987795eL, 0xb6510cd8e3a8d0d5L, 0x63e2fdbfb6c1a455L,
  98341. 0x2c91154eaec891f9L, 0x0eb1e715ff568f64L, 0xe7af9cd72f2b399eL,
  98342. 0x1fc39bac89f0bf0bL, 0xf0861d9290983695L, 0xd9b16f02da0a20a8L,
  98343. 0x2f10693fa38c0eadL },
  98344. { 0x07a6ce910c06ded2L, 0xf974842f2fd9087bL, 0xe468bfd6a9f635a6L,
  98345. 0x04b618911ed60626L, 0x1fb2f89f369ee548L, 0x9cbd1113dc96a201L,
  98346. 0x6759acfe10d633acL, 0x64ba66fc8faa629eL, 0xa686ae4947f38283L,
  98347. 0x828c3a05d59cda99L, 0x7c7afb1408ea2f6eL, 0x2551c8e4af3953c8L,
  98348. 0x5b53d2799daa9e4fL, 0x1eff68d4ad6f1940L, 0x2775dbdd96437cdbL,
  98349. 0x985f83e44fe7a043L },
  98350. { 0x89603c16eaf45294L, 0x70131160c24b5751L, 0x4c11201839d6b52dL,
  98351. 0x7079cf02ed943340L, 0x0c5b028b74f41b68L, 0x3dc3f0769c8ac1e1L,
  98352. 0x5ac5eea3f8b24f0eL, 0xee6684bae34c5c22L, 0xa5259e639abc452aL,
  98353. 0xb07d2cd1e9df45ccL, 0x07019c931a443cfaL, 0x68fddaa992c003b3L,
  98354. 0x2d9f179c0d8cbc2eL, 0xbbf15a6f1e781ca7L, 0x54d779d550dcc799L,
  98355. 0x0c88e5400fe962f1L },
  98356. { 0x84f71a6ae8f44357L, 0xf75b4bf63a3cab6aL, 0x334c9d9e5aebc680L,
  98357. 0xcecaf0848a753ef2L, 0xe28014c1075e3c8eL, 0xbb9d5a38f74f8d3aL,
  98358. 0x75988464b80e32aeL, 0x7b328e6ff2bc3792L, 0xebbb1fafeed0e197L,
  98359. 0x674eac955a33065aL, 0x8c19fd8f922dbce8L, 0x8c17ae85987b907aL,
  98360. 0x89f336273b3a2cd7L, 0xebaea019fa87772fL, 0x4e5de4993a25ced6L,
  98361. 0x8e2560b8af110715L },
  98362. { 0x56d3746c3141aba6L, 0x45a1079fbab2cf9eL, 0xb63828319cdd27c7L,
  98363. 0x222376329dfd950eL, 0x1e0b15cd3a9408ffL, 0x49a80200b1160118L,
  98364. 0x2719db5da383bba7L, 0x6078340a651046d5L, 0x8929d4de97523b1fL,
  98365. 0x4040345c8e0a28abL, 0x61275ac20adf09c7L, 0xb41ab2652331d611L,
  98366. 0x230cc77c5391ca50L, 0x88be0c928f922315L, 0xfef3d92b92fd9a29L,
  98367. 0x59005f228324f2e5L },
  98368. { 0x6bb1750c3c4c1c74L, 0xbe73aac0e966fb79L, 0x85a75d9266c5973fL,
  98369. 0x8c97f9323a8656b6L, 0x2b7043b150446cdeL, 0x548916f73ff3897fL,
  98370. 0x913dd01cb18b72b2L, 0xd0a751f1488c0de6L, 0x191757148558ca58L,
  98371. 0x9771430144a663daL, 0x2df190acb0e08618L, 0x0080fc0cf39ead9cL,
  98372. 0x0085ac6e17382da1L, 0xe97918513262a338L, 0xe4495936b43bae8dL,
  98373. 0x57a78e26d783df6eL },
  98374. { 0x161b346f40dbddd8L, 0x2b49a9279410c3acL, 0x8c5427831886cf3bL,
  98375. 0x72df323233b93debL, 0x9c8d59f540df579dL, 0xe5d7a67dc20ef500L,
  98376. 0xc46b391867f08643L, 0xecfa2445ad96adc3L, 0x658f589b0c4544d0L,
  98377. 0xe6ec9301e08417d7L, 0x6ca5ef6ac454e288L, 0x4191048fac0f462dL,
  98378. 0x852407d808d8a036L, 0xb4c533a7f6d35b7eL, 0x3251e4128f6ada87L,
  98379. 0x1ca370c581c472e8L },
  98380. { 0x94bd5171a801b68aL, 0x7312879cfd1998b3L, 0x4905aabf41163202L,
  98381. 0xb5fe87f4f5b01fdbL, 0x78de523a9cda128bL, 0x0bf161a1c7bd31f7L,
  98382. 0xb5decfd023904c35L, 0x224b2882e188f12dL, 0x0dd2801df99dae74L,
  98383. 0xcad467b508cd1cd2L, 0x6c311c3dc0867e39L, 0x71a117202b425072L,
  98384. 0x83bf464e2efd9003L, 0x53d0448a1dbd3b03L, 0x32db52f4e6265baaL,
  98385. 0x2584b34c4c33ac79L },
  98386. { 0x3cb863892aeec688L, 0xa5e740ba45fbe523L, 0x422e71f7fd60b5f8L,
  98387. 0x455d185c4874913dL, 0x04c2bb36fa17d80dL, 0x3f271854ac054524L,
  98388. 0x76dd3045a8b9a657L, 0x2e42c3e162ee7cc8L, 0x002667064df6c7d0L,
  98389. 0x5927dd51dc7cb488L, 0x6b3faabe187897e0L, 0xfe6ad22ef2d5737cL,
  98390. 0xafb60269ff51a9ffL, 0xe1c8354569807baaL, 0xacddb6ff951ca49aL,
  98391. 0x7e8113743f9ab085L },
  98392. { 0xad722a8b830a88b1L, 0x91918ea8ce1117e1L, 0x3e02d0b80409b47dL,
  98393. 0xb53812d36c46d1d3L, 0x2fd09db0e589669cL, 0x9845cd0615b0cd5eL,
  98394. 0x0c1c155a2386c453L, 0xda774de5f5ff43cbL, 0xbb076b98e391c0cdL,
  98395. 0x97d71eff5004f286L, 0x23e0b46caeec0bfeL, 0xe453866732a1ad94L,
  98396. 0xfe0c9f81396da422L, 0x6376c1a263db2bfeL, 0x001c7918ba56fa91L,
  98397. 0x436b8c64df8485a6L },
  98398. { 0x88117e9d8ab764bcL, 0xdfa61e94a077df84L, 0x5a7765d30c18eebdL,
  98399. 0x548916affc9451dcL, 0x01a52e33071a347aL, 0x633b95deb23b41dfL,
  98400. 0xdd7d68c943c8c286L, 0xe4f9d41e18d97068L, 0x79908b908c92799dL,
  98401. 0xe614148ed47394a3L, 0xe5018517cd51e53fL, 0x5060075e0243dcb6L,
  98402. 0xe5dcde6217954405L, 0x6f7c90e1537da5ffL, 0x1df7aae40768cb66L,
  98403. 0x5266ca9e6dbe95e1L },
  98404. { 0x84ddee6d1386b3dbL, 0xf9e4af5a7c38e540L, 0xb3418440eb04f49dL,
  98405. 0x2138a1e8fde5a4fdL, 0x3e6e692430257cfcL, 0x3519c6e319fd70c1L,
  98406. 0x8f34e17486c31ff0L, 0xf1e298fd940ce1e8L, 0x6fb8cb1d14960d7cL,
  98407. 0x207c13472b2f3bffL, 0x899a20b4146ef8ffL, 0x7dec362b7bd3e220L,
  98408. 0xa975044e626bea27L, 0x0f32b4494fb4cb67L, 0xc17a09201fc6703aL,
  98409. 0x41f325b99cd84a2bL },
  98410. { 0x312ed513ce2843a4L, 0xe748498e00728afcL, 0xa8ef28224d864ce5L,
  98411. 0x34064704a620083bL, 0x5905e1d94bed338dL, 0x2a578cb5063e7b38L,
  98412. 0x98276d96289e7bb9L, 0xdfe2dc47f17b7341L, 0x5923521f1dac8944L,
  98413. 0x3db6d28d23400aa7L, 0xc647705ea761ba43L, 0x8947ba6d9bfd07ddL,
  98414. 0x00f2e3ac242ca8fdL, 0x49ef4670eb8c3468L, 0x7db3d37bd9aa18fdL,
  98415. 0x56b30fb6e58cea9eL },
  98416. { 0x07ecdcaacd80a428L, 0x7af922dc8732c891L, 0x20d887983ada441fL,
  98417. 0x3bed9a44924b008aL, 0x2123533cb2e81c3aL, 0xc34e407565f807d3L,
  98418. 0x0bfaefa51f2faecbL, 0x78b634a5ade8a88dL, 0xc4e0b7f894392a91L,
  98419. 0x3092237790bb1cd8L, 0xdea9b4faf87204aeL, 0x3edf81f585d3cd83L,
  98420. 0x58f88c51c6523a79L, 0xe472fb8b17c0d969L, 0x899081e5dccf7f07L,
  98421. 0x1353cc5758bdd146L },
  98422. { 0x28a5649739bf6e18L, 0x59e8b5a2649b89c7L, 0x8d9434a0dce8b8e7L,
  98423. 0xd935bf512047040cL, 0x2ab3a1646a7b8e82L, 0xf1583ed627f81294L,
  98424. 0x8416a7e072d67297L, 0x49685d86cd39e42bL, 0x8a797fc7958ddbadL,
  98425. 0xa558f928155ce6deL, 0x75f4e570f8a36235L, 0xbc69cfc052877ae5L,
  98426. 0x8f4193a9a6b16ebdL, 0x8d1df43cbb1cc1f1L, 0x723a830e5a21e789L,
  98427. 0x3ec2185df451df58L },
  98428. { 0xb9d4c7d71f0bc2d7L, 0x6982c6cc6e51d412L, 0x92e02d93a09f80f6L,
  98429. 0xb7dd2d25047ae09cL, 0x3503149f37f351f9L, 0x69d49ce1c77850beL,
  98430. 0x60242acb12f0d2c8L, 0xba188c567bc28b9dL, 0x8e40612106bc0550L,
  98431. 0xb0d84b1f8d7d4329L, 0xb4a67ae7d38951e0L, 0xb527c57b8bc97607L,
  98432. 0xbc93c5f35497aa72L, 0x5f1de8cc39bdd666L, 0x3087dc5ce9d447a3L,
  98433. 0x89b356b6a211abe5L },
  98434. { 0xed6db0afdfdcc837L, 0x0fb80baaa871b7a9L, 0x413abfc91c1d4b72L,
  98435. 0xf5b56bf7adac9e5cL, 0x5664a2da8b8657a3L, 0x11b04f720e41d94eL,
  98436. 0x63e11d2637433658L, 0xee628ecef426daeaL, 0x011619c9cb162dc2L,
  98437. 0x9cf5817f87648643L, 0xe1bb97025584bc86L, 0x2cc27cef00bf7928L,
  98438. 0x4ef3a80edc60eee5L, 0x7e1202be87adc2f9L, 0x656f18e08a0d4f52L,
  98439. 0x39c4f10d57c5d126L },
  98440. { 0xb3a9b68ce88aecd3L, 0x555b0918a518aa9dL, 0xedc1cdad4bd4ee54L,
  98441. 0x79b68b6702068d84L, 0x7dac80d0811ac72dL, 0x6d1e6d35a81a0a78L,
  98442. 0xc841e9ea3bd16283L, 0xa7bc1775894c4444L, 0xf2b63725f1aa1202L,
  98443. 0xbec7767ec7d4c556L, 0x2817ebb3d46ff51bL, 0xfde5be8d73f7e339L,
  98444. 0x44c6c9775aed24c4L, 0x0b9a1707b6e579cfL, 0xcff164789069fbccL,
  98445. 0x414b542d49152b00L },
  98446. { 0x33c31e58606e173bL, 0x5b7f4e1b90e6713aL, 0x425fb512debb20afL,
  98447. 0xc788c61705120e70L, 0x3ef056029013e4ecL, 0x9f9d35ac81c6e6d7L,
  98448. 0xe131e88f9450690aL, 0x708f9b3244af082eL, 0xb2e4d66c1ba2aea9L,
  98449. 0xaf1f4a6e740db29cL, 0x74ab9248d1843007L, 0x13338ef8ed556a6cL,
  98450. 0xf48e623e270d17a6L, 0x3c7362fa9608f5bfL, 0x43977874444e8515L,
  98451. 0x52678d6ae00b8b2aL },
  98452. { 0x5dff1c59df36aeb4L, 0x52d6653ca92bc0abL, 0x0e03f496927a5f81L,
  98453. 0x8509d4142dfd491fL, 0x258c2c52a571f89bL, 0x2bd6180493334485L,
  98454. 0x1a33e94f3f7d9e09L, 0xfab418d32c1bf906L, 0xf39c490e5aa5695cL,
  98455. 0x0e41196ef6d2d7ffL, 0x3ecd40750f7948a9L, 0x4b58f9b2d3053b4fL,
  98456. 0xb8ee842a5d9974c9L, 0x23a59c1dbf22f682L, 0x045ac614c8efcea6L,
  98457. 0x7040ba5bc10ceeddL },
  98458. { 0x2c364f81515a1a96L, 0x31a63503184327e0L, 0x0a0966501ad93d4fL,
  98459. 0x9d7694f1273b6173L, 0x8886d876d2cda9d2L, 0x1e01a7422814c177L,
  98460. 0x3492276b8667696bL, 0x2fd4f0c65b25f006L, 0x6527349ffb294c4aL,
  98461. 0xc1fe0d8ade1d336fL, 0xaf9a23e8e7e3860eL, 0x97d2b721b774c31eL,
  98462. 0xfac3e5824365784aL, 0xff2dff4e70f4eaa3L, 0x3d281e1afe873248L,
  98463. 0x9043a6d60bd1c9c1L },
  98464. { 0x1511a0fe766c7937L, 0x1b2ded5cabbc3be3L, 0x2ac160cce00888acL,
  98465. 0x928754bd616200f3L, 0xb801c83d34a2ea06L, 0x8ad7a03a9cbe106fL,
  98466. 0x996b0822cedfcd94L, 0xc3c3463ae4069880L, 0xfb12ea4df597f663L,
  98467. 0x2c8d383440c92af9L, 0x79bc85c64e8da154L, 0x95771fa2db4e801aL,
  98468. 0x7bd2c1381e3579b2L, 0xe45c75dfffaad078L, 0xb0760a3cb73eac46L,
  98469. 0x26362b483a125f35L },
  98470. { 0x25c68d28eefc3e89L, 0x2d0ee87769e9ee71L, 0x8b07bb86af5e4b75L,
  98471. 0xdb709072cb86b333L, 0xfd3d20eaff552bacL, 0xa5eeb2b14c0da1e9L,
  98472. 0x391f688a44f97145L, 0x21fbd3101e06d485L, 0x45e4f2a5bea9cd49L,
  98473. 0x7b60d464a7bf21daL, 0x193f88c8054d5471L, 0x5ace53d1bee0f2e9L,
  98474. 0x92c26563c1439273L, 0x9c86e0b296c6b5eeL, 0x452fe23109ff59baL,
  98475. 0x2e952b20555c935eL },
  98476. { 0x2a846bcad75f886eL, 0xe68a5dbed43dfc58L, 0x103e45b6007b1b86L,
  98477. 0x580e2ec9355ff2b5L, 0xbc702f26a263ecc9L, 0x2835b386181e5e33L,
  98478. 0x025113ec6c122076L, 0xa5c26e3a7fbd856dL, 0x8ef83fb39d6ebcb1L,
  98479. 0x7aaa53f2a44d2fa8L, 0x7c14ef3353b1fa97L, 0xff604a1117559a30L,
  98480. 0x2bcd96b0b09377e0L, 0xa5c14896db2f0273L, 0x1c0a84c9eb53ef06L,
  98481. 0x1236d01730378e4bL },
  98482. { 0xd7481c8fc084373bL, 0x29ae4768646097aeL, 0x1300dfa0613bc34bL,
  98483. 0x3712714c934bc2b0L, 0x865246290e2be7e2L, 0x554fbb9fed010800L,
  98484. 0xf0ec0b3842314576L, 0x65baf594330a3282L, 0x3bdde1a8706ef817L,
  98485. 0x7d2c727dba7530e9L, 0xbb0c5d6674cc95cbL, 0xb3fcd3652438906dL,
  98486. 0x19881941d14658f3L, 0xe616f5556c97f0e9L, 0x353c2d854b9ec7eaL,
  98487. 0x02a48014620cb56eL },
  98488. { 0x11d6d23d506ccd38L, 0x229a1c549059baa6L, 0x717c9c2769d011c5L,
  98489. 0xe87e1b46d828937dL, 0xf5d63bbb83835083L, 0xf0a7b427aadac258L,
  98490. 0x99ab26bd9f154d1fL, 0xdec0ffbf8ec955fdL, 0xee957c6749fcb880L,
  98491. 0x32395dee1e0114deL, 0x192a64b7369f46c7L, 0x4304466091eb2599L,
  98492. 0xbe2da887a2e8c3daL, 0xa44e2c25c3556d18L, 0x31390414b55f75f3L,
  98493. 0x1d8bde6f8f217fe0L },
  98494. { 0x03cd39f8a2028924L, 0x6e54f19cb06ecb9fL, 0x862bbcb7d6f05846L,
  98495. 0xdbe067165a060776L, 0x9397c97ab10fec10L, 0xf42138266f1bb65cL,
  98496. 0x414deccba672ba38L, 0x594d4d43f88b05e6L, 0x7993f57aac94d4d1L,
  98497. 0x74fc2a6abfb17638L, 0xd8196b5bb6fc655aL, 0xdc375c84ee8d2139L,
  98498. 0xb9b00a02360d3a26L, 0xb36ed35cdeb93b87L, 0xf565b28bcc83209eL,
  98499. 0x349c6943c61013c1L },
  98500. { 0xd1b394444de6c88aL, 0xd5c2c4714700207eL, 0xb6f458a221c2b780L,
  98501. 0x749f75640850993eL, 0x400ba579baef0c18L, 0x2d742938737c70f0L,
  98502. 0xc5a8e2ec21467ebfL, 0x243a666e5337f453L, 0xc991f1c7ed0bd50aL,
  98503. 0x3a7f3e90f4bd1f91L, 0x96089e8a5f0e129bL, 0xd0d3a17707389635L,
  98504. 0x9cf842d527182ac9L, 0x211952990817c5c2L, 0xa32f327e87255769L,
  98505. 0x056587ab89c2d8faL },
  98506. { 0x008562ed1ce4733dL, 0x5faff7cb98e51444L, 0x5f03021fa9ab46b9L,
  98507. 0x89494c5eb61a8c13L, 0x57c9503636b35976L, 0x6be84c8f2ac2d2f6L,
  98508. 0x0e5b34d89bd2703eL, 0xc4ad918f7e872abbL, 0xc2a89e9fc4052ee1L,
  98509. 0xc2caee3f3190b51eL, 0x58fd14376fff254fL, 0x6f3c0d68883e0972L,
  98510. 0x63d0a0e90fb15438L, 0xc438764bf6caae00L, 0x815f15653f1d0f6cL,
  98511. 0x1b87f2edb86cdbdeL },
  98512. { 0x35792bbb2b0b15b1L, 0xa3e4b5a7ce6ba779L, 0xfbacffd9dd8f3779L,
  98513. 0x005450bdc298d1efL, 0x0e3f5556c47031c6L, 0x0770f07a95d68066L,
  98514. 0xce3e84e02d1052c2L, 0xb050791e7aa8cc54L, 0x4d621e73ba3223a3L,
  98515. 0x87b9b94d39632990L, 0x8df9cb477eb8056dL, 0xe2430de8edfca0ccL,
  98516. 0x374bf4169712a0caL, 0xbe3f3c7788848a99L, 0xb22b87b1c4a3e59eL,
  98517. 0x8e0227c43e95bc23L },
  98518. { 0x000e22a83210964dL, 0xdccd5df5ff056eebL, 0x02173a1fdaf1ead7L,
  98519. 0xd02833e067cdcae3L, 0x1cc574cb8bdcc90cL, 0x86eca7143224b4f5L,
  98520. 0xd00e603abb3f8298L, 0xb98ece1b0c1a8debL, 0x228a46e4378c261dL,
  98521. 0xc6f9dd0da6165e5dL, 0xb3ae38994b7ef0e2L, 0x3a3c16b3bda9f306L,
  98522. 0x5e9a26d338a084dbL, 0x528e59935394e950L, 0x848ecb114ea206bcL,
  98523. 0x14b15ab540545d6eL },
  98524. { 0x0f6d86c9664c59a2L, 0x3dfe2be160fd7aa5L, 0x33f9b5699072cb8eL,
  98525. 0x5f2325d98176a7e0L, 0x79a0d4e74587080bL, 0xa4ee0def0d5d4e05L,
  98526. 0xc0ad9ffac87b28e1L, 0xd6f18d2f3f09b4eeL, 0xcc896ae7292e9d87L,
  98527. 0xca88953d6094763cL, 0xdbee97a818fbf9faL, 0xdf20e0e94b63d701L,
  98528. 0xcbba6e3047ea722fL, 0xce57e1ca612b571fL, 0x1e16ac76009a55f5L,
  98529. 0x742bbed8c4389e2eL },
  98530. { 0x23ea86dcc1dc2c73L, 0x4bbbfd5bc1643abfL, 0x07f8fa1f24d8ca1fL,
  98531. 0xde68a6e08cb5cac7L, 0x7d54c64b54e66a7dL, 0x789dba22a9b7ad78L,
  98532. 0x4d88d540e364ab94L, 0xc8c2e02d1f72e011L, 0x4c82605746e2a278L,
  98533. 0xe6c35bb34b187c7dL, 0xed8b3dfeeb8fe0c9L, 0xb6bc34e87d11e415L,
  98534. 0xb3908bbfb865c7f9L, 0x717d1ce6e1ecc17cL, 0x151e3308f7cdd69bL,
  98535. 0x97bd5a14b5c94124L },
  98536. { 0xe01c62fe81e82861L, 0x703d4b6ddd42c40eL, 0x7e52e55be65e91e5L,
  98537. 0xb8b493745abbbfddL, 0xb4f15f52c72a45f4L, 0xce8435a8550f29d8L,
  98538. 0x9df76b9b582de75fL, 0x52e84c5fa20c8b96L, 0xaf77d2d10a8a0af4L,
  98539. 0x0389bbd8ca6013c3L, 0xb0d9b9ba26f8305fL, 0xf053e8480cec8b9aL,
  98540. 0x4d63367affabda18L, 0x50f53be4a6424c2aL, 0xf892c58c864fba2eL,
  98541. 0x317c6d3148cc5469L },
  98542. { 0x0c3525b02cb7d42bL, 0x55240bc9310facaeL, 0x8d5d2022ff20408fL,
  98543. 0x6b01402fe0c10ea0L, 0x7fbef68a718eb23dL, 0xa0146b5a41252a19L,
  98544. 0x59afce48110e0d6eL, 0xe9a1d27f022de181L, 0x6db96d16dc3f49daL,
  98545. 0xfc1ae3f5efbe4008L, 0xf9d70641eccbc11cL, 0x49022279525f8636L,
  98546. 0x3769796ac2763c30L, 0x9cc3483c1d90630bL, 0x451651f0ee3d3f17L,
  98547. 0x6ae597399da0b8fdL },
  98548. { 0x57b13bc7bff4d2eeL, 0x2075422930b173d8L, 0xb6254bd50794936cL,
  98549. 0x1d5f232a5efd55beL, 0xc06f4a854e0c3389L, 0xcf2c5b598e61f944L,
  98550. 0xc564861ffd5f87b7L, 0xee261fb15a2afa4cL, 0xb0ff72262d97a774L,
  98551. 0x1a89ae22d6cf007aL, 0x28880534d346f214L, 0x8fe73bff97b6497eL,
  98552. 0x8a8595b2fa2afffcL, 0x9ef9cf3ef151a726L, 0xa84ee5f1e744b82bL,
  98553. 0x6649048dbc63fe72L },
  98554. { 0x91b7bb781e8b760dL, 0xd47b0bd825aadaa0L, 0x81493d9ffab5226fL,
  98555. 0x4a6dd226bffc148eL, 0x5a032f8aa29be3dbL, 0x318dbc7034b0ab0bL,
  98556. 0xdcccbfb57d654868L, 0x8506ab379c581e46L, 0x09136a6e2830ece2L,
  98557. 0x48b79356cf6c80c7L, 0xfa176377ef6b1e86L, 0x2c9c1cc183f0f1c9L,
  98558. 0x96f0526d16abedddL, 0x3e0e98e2a93b0de4L, 0x6f2d7ada0f13873aL,
  98559. 0x4eb93b5cf3fa49ecL },
  98560. { 0xbd89f7e5e11fae32L, 0xd13d74f5c4023f51L, 0x1b0014df491c3f6fL,
  98561. 0x1d849a57555279b7L, 0xbb9e889705ba0068L, 0x82222419c13ca2caL,
  98562. 0xafbbb685fd33676fL, 0x931c3f5275878a2aL, 0x12aeefefef3d5173L,
  98563. 0x189a5cc8bd8a6878L, 0x82cffdb3d99f0c16L, 0xbf565406a19d48b6L,
  98564. 0x5605e223e9c6c4e0L, 0x53e781de86804172L, 0xcdf5c90bc7001cc8L,
  98565. 0x2b582d937c043f68L },
  98566. { 0xa1165c8281abc2aeL, 0xa73380f5e2b69ecaL, 0xc097b3d207fff66fL,
  98567. 0x5d60382654776506L, 0xdcbac9f3b57fa21cL, 0x78750db4c98dbdd5L,
  98568. 0x85e21103d9eff32aL, 0xceed172c2f11c41cL, 0xa8e392649e348c09L,
  98569. 0x71cb936b831eddfbL, 0x915c3d06f50864a3L, 0xfe8e33cde93acfcdL,
  98570. 0x4bee10d7b3f2f7aaL, 0xc1d8eb48eb7cee9aL, 0x4fa49ce3fa574afdL,
  98571. 0x78615109862db4c0L },
  98572. { 0x3fe3f4807ae72c21L, 0x631aa144fd0f0da5L, 0xc76ee1e8f8c3a454L,
  98573. 0x379ae09451b4f1abL, 0x2a3a4397d7cdbb24L, 0x7a14cffe82bd5fcdL,
  98574. 0xbbe4ed12f427ef5aL, 0x9b0a43ee284d3ccfL, 0x57b78b938eec6e1eL,
  98575. 0x18d404e467b8e87bL, 0x0c8adc0534374c20L, 0x643736055428deb5L,
  98576. 0xb4d80ec0c3afa2cfL, 0x6d51f93c3aa956f9L, 0x9f9a28ab84161c68L,
  98577. 0x540b6bb76bc9c025L },
  98578. { 0x04e1734c321d315dL, 0x4ef56612d86e05d0L, 0xeafae145bba8cd81L,
  98579. 0x1fb07a49acdc789aL, 0x6a21e9ad5877570fL, 0x2e4a837eb9bc53deL,
  98580. 0x436db2931d6298ebL, 0x43afbc78ea362f45L, 0x2a973d97aabf6585L,
  98581. 0xdce7dabe0c924d60L, 0xf69d98f07cadf0e9L, 0xe0b505a175020538L,
  98582. 0x3db7d1a34461cd29L, 0xe1c287765e20e818L, 0x2ca2586752dd50f6L,
  98583. 0x897cab1492e0388cL },
  98584. { 0x59ed38130d8bab8aL, 0xc11d364ca438200aL, 0x0687bf2c40581415L,
  98585. 0x86ad0d3a7ac89674L, 0x44928105b97411a0L, 0x74984b11f383371cL,
  98586. 0x70d2ed840d1a831eL, 0xd883628b6c912fe0L, 0x44f8f7fb14fa88d2L,
  98587. 0x564f2a4dcf0ac93eL, 0x82f629aaa6c24fa6L, 0xab906ba3bf6cd949L,
  98588. 0x2c822e6720a5182dL, 0x2ff47dac30eb93a5L, 0xdc62c4a4fff673aaL,
  98589. 0x64b00763476b0ec5L },
  98590. { 0x1e3f533eb3c9a404L, 0xb1db7f73b7ef9952L, 0xc7f13e296c253693L,
  98591. 0x7ce7f4c40738eed4L, 0xccfd3b33ce26cad0L, 0xd878493501ec5cf1L,
  98592. 0x3f8fc09ddc084e01L, 0x217cab32c39b5acfL, 0x42daf0bb9ef5551cL,
  98593. 0xfbc76f56e1217a95L, 0x80178b12c237002aL, 0x0b52c39fb070a293L,
  98594. 0xe3925153576ca964L, 0x2555942419d68e36L, 0x291fb82c09e50e84L,
  98595. 0x7dd22ea66618ed8cL },
  98596. { 0x7ffe844b49cbb3bfL, 0xde0cc7045562fb25L, 0x1e6ee5379f5a845aL,
  98597. 0x956d7f26e51277fcL, 0x2c75d4b930635718L, 0x39a1489296957f34L,
  98598. 0x8cf4eb3282e5742bL, 0x6b0d3ddd83247b72L, 0x67a9f633201a4237L,
  98599. 0x416403c11414a485L, 0x60afd447b6f6a916L, 0x95f94930dac6f790L,
  98600. 0x685ff94bbd3b9d82L, 0x5c8f98fc51cadf0fL, 0x9559c88ab13b7489L,
  98601. 0x31377c665f18fcc8L },
  98602. { 0x35c5de097dcfb35fL, 0x2dccca9f01cc36f8L, 0x7e93e85d7576cb63L,
  98603. 0x0c2dd48af7b4b375L, 0x9d95cd4fb09a19b5L, 0x752ed15971bfe607L,
  98604. 0x439880cf2596dad2L, 0xe52efb5369e90a6fL, 0x4409766303d3e60aL,
  98605. 0xfcf364faa95070e0L, 0xd8f993b605624dd2L, 0xb35a982400d5e467L,
  98606. 0xe289d0240c8f4524L, 0xef45423c648a0179L, 0x3a5fd695587edabdL,
  98607. 0x3dacc50ca11e5271L },
  98608. { 0xcb3e4f946499ae4cL, 0xa46dcbe17053c527L, 0x807f5ce9be782e8aL,
  98609. 0xb6c64d28d8481e45L, 0xf35e4518aa286fd0L, 0xf7b7b9badf1cdb49L,
  98610. 0xf3fb6210aec23eafL, 0x0a9ba385b9bfd2fbL, 0xe51a0d538807f3a0L,
  98611. 0x7ab24404b17b2842L, 0x6fd57687f9dd9f0aL, 0xcd1efdb4f3e9df64L,
  98612. 0x5dd2df7a60df194dL, 0xbed3f2c3e069df05L, 0x469b756123248a31L,
  98613. 0x866949e1694744f7L },
  98614. { 0x3a9a0da53f4ab07aL, 0x2cd6f333f54a6fbfL, 0x0c92e921b23cf290L,
  98615. 0xc9581c3e848e3d58L, 0x93af1fbdd3b218abL, 0x38598ea1066cb4d7L,
  98616. 0x5001394e990c03a0L, 0x3b664b1e7d0877b5L, 0xd79db1bbd74c7091L,
  98617. 0x852d44354e2d5dd0L, 0x0d2b841b3329db82L, 0xfa844eb07b96d480L,
  98618. 0x37a50569c295dc46L, 0xc2d3837394f7ec4eL, 0xdc3884ff5b083177L,
  98619. 0x574352b88b1fa598L },
  98620. { 0xed2193f70d5d7ce9L, 0x3c19fd260b487eafL, 0x7c44ab597be65fd0L,
  98621. 0xdd9da86078270d56L, 0x8a84ec00baa70198L, 0x2ec27e49285985dfL,
  98622. 0x996ccaf0de2028d8L, 0x4e7648c761c2201dL, 0xa96335bc091c19ebL,
  98623. 0x253a3a69f0d6782bL, 0x3f204340d2946493L, 0x444521a1099f6873L,
  98624. 0x5fcbcc096996011aL, 0x3884d5d8f853a94eL, 0x2418c624d3b6a3a1L,
  98625. 0x3e431af206ae3c4fL },
  98626. { 0xf967d93983d381f1L, 0x36501aaed0c033c3L, 0xbf3af4d054410768L,
  98627. 0xa86d15985093a6d3L, 0x43ae0741d92f2900L, 0xfeb2afa636f0b755L,
  98628. 0xd090a6a3aa456d6fL, 0x336a4fdaaefdb646L, 0xfd1bfe441a942f7dL,
  98629. 0x7fc2a3ed851ee41eL, 0x4f1c968611e935c5L, 0xcd57766653bbb343L,
  98630. 0xf26931baad896c2aL, 0x8a0fbbd186bbfa41L, 0x1c3d7d82a203cef1L,
  98631. 0x6dad3f15e2664d35L },
  98632. { 0xd1940b7d12ec35a1L, 0x6219c5b6e7dfb128L, 0x2cc278c6f13321d5L,
  98633. 0x5e76904a33c58eb6L, 0x15090f55d9903c43L, 0x061bc926c3d96a19L,
  98634. 0x974a9f038c0acba7L, 0x7a4140217198b21bL, 0xb069599df8958c6fL,
  98635. 0x517f2f1dbebd0129L, 0x1109a613df3a8dc3L, 0x08e58448672375c5L,
  98636. 0x56590ba49383d2d3L, 0xfc3ee7c60bff837cL, 0xc87a539027d2d55fL,
  98637. 0x2438e9d45f517a3fL },
  98638. { 0xc4a453088815af3cL, 0xe55f1a32f3c9bed5L, 0xaef1cdc997b65ddfL,
  98639. 0x61c61d9412e51eb5L, 0xbd0dac54e63f2490L, 0x6f14429cd0b3e231L,
  98640. 0xf737c3c2f1da6010L, 0x7150e04b6bbc4fb1L, 0x205b4c891be281cbL,
  98641. 0xf1b4633cd7701f5bL, 0x8b33ef462a513490L, 0xddb47c7368f1f7f2L,
  98642. 0xf4ada511bd416b67L, 0x9d2a97cdff795bb3L, 0x00a8b7b296200e67L,
  98643. 0x13f39011afe30e01L },
  98644. { 0x3dd296ef7bd0c827L, 0x506110f34a29ff46L, 0xf87930681c9a515aL,
  98645. 0xde8d8045268bca77L, 0xcbb83024998045dfL, 0x3f90d71068c0e584L,
  98646. 0x2a838ca8263b6062L, 0x293bb5e7535c5d0bL, 0xceea99d556415110L,
  98647. 0xfe311ad01bbda005L, 0x2497e0bfa4d8d018L, 0x33dd77a01cf2b866L,
  98648. 0xbc075b73d8c4ba8bL, 0x298466d4722b7bc9L, 0x17a7ce24cbda1b0bL,
  98649. 0x458d4b6b680703b6L },
  98650. { 0x8a26a20e4d54d8b2L, 0x05a5696e4d320a0dL, 0x698b5858f994f700L,
  98651. 0x7a4adc3c2f6549a8L, 0x1812e8193694d00dL, 0x46b9b000730402bdL,
  98652. 0xe10a1449a1b36410L, 0xeae95ea599230220L, 0x3efc2e9b1b4820c3L,
  98653. 0xfe5b5cb585c9eb8aL, 0x21ae031997847064L, 0x68ef0b708f27d49fL,
  98654. 0x3259ef182f72556bL, 0x00ae0457624db01aL, 0x628e3b065668f95cL,
  98655. 0x5f13f5fab6fbbf91L },
  98656. { 0x7c6ed9ae3a9b0dc6L, 0xaea1bde96f883ec8L, 0xea66bf88ea8b3677L,
  98657. 0xdefa6abc9a66e3abL, 0xc4d3317b68217ffdL, 0xf741c8f2290df05cL,
  98658. 0x1f0fdf177d11674eL, 0xfdf0ece7c35989caL, 0x0eed92df6b9c482dL,
  98659. 0x73713e6655bf1ca7L, 0x90acb29025cec99cL, 0x37c9e3a2e803e69cL,
  98660. 0x7c0a3c5317713a1aL, 0x350dc5656f5a174dL, 0x11625a4405f802f6L,
  98661. 0x2196495da37ba4a2L },
  98662. { 0x00cb2fd313142680L, 0xab9e91d765d14cf4L, 0xc6a0ceabdfe2669eL,
  98663. 0xbeefce580ae22bc5L, 0x3c2b7986cb6ec250L, 0x84adb1a2d738f1ffL,
  98664. 0x9709bc28516ec8ecL, 0xf36931298e8f7db5L, 0xc48efc6b95b197f9L,
  98665. 0x9ff109529aaaa404L, 0x2c3c8cbd144154b0L, 0x33ef7bc3427f3435L,
  98666. 0x04a17940d21897c1L, 0x5aa0c47d6ce548a0L, 0x2971cea73d56fa62L,
  98667. 0x93ad0eb004475f08L },
  98668. { 0x7a0b6967988a9963L, 0x61e477f76515e8ddL, 0x6274e3863b6b50f2L,
  98669. 0x63a9b8d5d33922deL, 0x3c38d3fb687a5b3dL, 0x18f6f09c1302e323L,
  98670. 0x254c05c3e02fcccfL, 0xc04ed0b726e662f7L, 0x1d5646b8143fe079L,
  98671. 0xef8a9448c9016c8cL, 0xe5674c4bf823d797L, 0x0586f72fbccde451L,
  98672. 0xc5fc88d54417eadeL, 0x2b952209576e588dL, 0x4408dd425844d1f9L,
  98673. 0x73f8c3f0ea41c034L },
  98674. { 0x89534fc85df763ddL, 0x3b1427f33ac71836L, 0x0db5be176e8f15a0L,
  98675. 0x1d390944cb20888eL, 0x7804c9ad857caea6L, 0xaa584428519f7bf3L,
  98676. 0x626eecf1293aa8cfL, 0x749e0d98ea36a015L, 0xefff6dae3321edcdL,
  98677. 0x963deea628b791ccL, 0xa14e05522d16e361L, 0xa2e058fcb15ae206L,
  98678. 0x0f268745fca325e4L, 0x7cf9d40721341a8aL, 0xdfed25d97caa51b8L,
  98679. 0x0108ae39adbedd75L },
  98680. { 0x54d178f3a9e88f63L, 0xaa05b11eab0c7325L, 0x773a53e6e261d8a6L,
  98681. 0x24db7dae8d0b91c8L, 0xde10b073e9bb004dL, 0xfc8befe754e3090bL,
  98682. 0x16af05990cc69c89L, 0xddc838039d59511aL, 0xc3f65b9946c5dafcL,
  98683. 0xfbbe4be81ee0a599L, 0x88891e36fb3a9b17L, 0x0c9aad75445dad00L,
  98684. 0xdffc46abd5097e1fL, 0x8848089bac85a4e1L, 0x348bb42fa0c45233L,
  98685. 0x807c06d8eb13c1dfL },
  98686. { 0x00a969ec98ee0ef6L, 0xba9d54838bb7b7afL, 0x24484c92a02f8fdbL,
  98687. 0x7bdb201a8b70557cL, 0xe59343e460ad1af2L, 0x53a9a942998c95fbL,
  98688. 0x974db3deda861d3bL, 0xce1525c9ed399c0eL, 0x89b56881f72109bdL,
  98689. 0x08ff7d15998211a4L, 0x5df76b3aef0f275aL, 0x93f180f7fa2f358bL,
  98690. 0xaac4ffcfc39b0634L, 0x2692c62617583b53L, 0xb2fdfa36b55399fcL,
  98691. 0x16424c6c99607a61L },
  98692. { 0x5dd65c55dd2744a9L, 0x2544c1c2fe3af418L, 0x32c82e99efe8b089L,
  98693. 0x30b7ab25a9df691aL, 0x983845509be99674L, 0xbcecd258caf2d122L,
  98694. 0x88ae4098bcc77272L, 0xd43961414b8efa0cL, 0x44ff67b9ed64d12cL,
  98695. 0xa9e655e42e7f3404L, 0x3d16fc4545b0e9ebL, 0x474a3e14f03ded28L,
  98696. 0xa3c9adffacccb85cL, 0x3dfe6bc17253a51bL, 0xdddaf4b9fb5831b1L,
  98697. 0x5544e602a4f4478aL },
  98698. { 0x897c5313baa80b4fL, 0x0122716f63bdc8efL, 0xae2742db7b42c5a8L,
  98699. 0xe9d9e1e90883308cL, 0x352c8c3f2d341ab1L, 0x163d0500ed945870L,
  98700. 0x8349dd73c290d9d8L, 0x2053c5e01f6c7d29L, 0x83107446cb42033cL,
  98701. 0x76c88bd209d09af1L, 0xd0f70e6eb2794681L, 0x720b59de19b1b540L,
  98702. 0x80b7ecdc22994b43L, 0xc1a4cdce2dec53cfL, 0xdd7d3edd1ed60f42L,
  98703. 0x5735995ce241d261L },
  98704. { 0xdc4ba3fba0237056L, 0x6856c16433ab3388L, 0xc01eebbd271ec612L,
  98705. 0xabdeb033e3031becL, 0x4eee44196118a1f5L, 0xec4974215b600f33L,
  98706. 0x1b7185cf08868773L, 0x7b0c46cd7c1b7dfdL, 0xd143b2da4a4c5e89L,
  98707. 0xdb9a5984bb1ff94dL, 0xac3904e4c9cf3465L, 0xf8729bc0eace64c9L,
  98708. 0x5cc22821768ad99aL, 0xbbd3b0818a9540c2L, 0xe468ed5f049a6917L,
  98709. 0x885486df3ec45ef0L },
  98710. { 0x6a942c934bdff464L, 0x3db2719f25a7b451L, 0xccb0070b325be324L,
  98711. 0x2055a31b19fe3339L, 0xaca69ae8241ee8ffL, 0x7607dd0855ef8defL,
  98712. 0x9e24960f1a1b73c6L, 0xbcb0e8a271d36810L, 0x29e11aa26885e6b9L,
  98713. 0x98b5d0ab185eae19L, 0x1a0b96e40f81f91cL, 0x4d0e8bcf994fc503L,
  98714. 0x33d81697f119d6e0L, 0x29083287aaa4ce0cL, 0xc5dd4d3ec91ff9d7L,
  98715. 0x31cecfe8d4ab962dL },
  98716. { 0x437bfd9afc8b21e8L, 0xe5dd32b3b19436dfL, 0xfe5902d4921c36a0L,
  98717. 0x8e9de84da3d0fa90L, 0x9663e6ad5bb523bdL, 0x9800a23faecd6975L,
  98718. 0x1009c0d9b4fbb59cL, 0x839aa7bdc9d20ff1L, 0xf502f66decd6fa3dL,
  98719. 0x480ed4fbc5516ca9L, 0x65ffa5f66c742ac4L, 0x2b7c7945ff3252f8L,
  98720. 0x72fefc0575d9cb3dL, 0x11b0863bd6d6f1d2L, 0x5d8f3cf09a6a4ec3L,
  98721. 0x6961b46ada2547b3L },
  98722. { 0xd07b587ecb35e2acL, 0x1ed5546b57af14d9L, 0xeca17a5bdb28a04cL,
  98723. 0xa1f91d44709d54f0L, 0xa6e719fd9c6f400eL, 0x4e4b88edfb8ce190L,
  98724. 0xf9781edd246e3fd2L, 0xd67120e6b655af5dL, 0xda782d1d93413ca7L,
  98725. 0x697e20a29707fa21L, 0x1eb51f3254e84123L, 0x2e254d9e36051f9fL,
  98726. 0xddaec42b73ce5be9L, 0x89a9a32ecd3f794fL, 0x1964e22f0781aad9L,
  98727. 0x6a63a90c53755212L },
  98728. { 0x76554e003d7acbbbL, 0x2c01668ab74f6108L, 0xe4a29672388c519bL,
  98729. 0x016677143eb94d4fL, 0x086a3cdf0cd6d2f6L, 0xf86580217b370f7fL,
  98730. 0x658880c15a4d3e7cL, 0xd6ed58165ba3f4a1L, 0xabcc78135ca471ddL,
  98731. 0x809bf074e844a576L, 0xa53a81b36ea502eaL, 0xc20b93070e021ed3L,
  98732. 0x8c27f8928617f165L, 0xa54764468235cd0bL, 0xffc89ffd82552961L,
  98733. 0x51ed4a22d151d90eL },
  98734. { 0x37d6963a449701b4L, 0xea8d91a3bb27caf2L, 0x3ef9be15b572965fL,
  98735. 0x75a7a055db50bf7dL, 0xfd67480ece643b9bL, 0xf2a60d2d6ceb5d5eL,
  98736. 0x68fc320c5ed7c897L, 0x41c53cf628ce685fL, 0x0e29711f7106615eL,
  98737. 0x7a87213823500eccL, 0xaf0a92606c29fe48L, 0x93df3f2ae1ef9712L,
  98738. 0x0d5f6fb1d2d169bfL, 0xeb7afe2674a9793cL, 0x4173d94ae9f49256L,
  98739. 0x2d6951bc2b8b5ce5L },
  98740. { 0xdd007d9f904e222eL, 0x333f248f86f4e109L, 0xd4994e8b8f429eeeL,
  98741. 0x29573415cfc77518L, 0x6e7fea3a0b0f42f1L, 0xc795cb7dc2743519L,
  98742. 0x820a8f66711e71a0L, 0x83d95d9c2b874f55L, 0xd4b64d78e70e1627L,
  98743. 0x924353f58b92a742L, 0x322048b1447b5e6dL, 0x0bad730cbcf931a0L,
  98744. 0x75c4d089a7af2268L, 0x464904c1b83b93f9L, 0xa24eba02165b3aeeL,
  98745. 0x65c48e78e08cc5f0L },
  98746. { 0x1a1c73cede222c22L, 0x5683d8cdfcea23b4L, 0x0301cb14b2143b06L,
  98747. 0x284adf8f59fcec77L, 0xfb1c581c31204cefL, 0xf54d3eee94735107L,
  98748. 0xdbf67f0b4d3188c0L, 0x76a3f2d110f18d12L, 0x3809fa2807d3e013L,
  98749. 0xf06f0a4625e7ece0L, 0xd82867edb2895d2eL, 0xe106f48908b0553aL,
  98750. 0xe2280fa6ef245445L, 0x402d5785a8d9a3cbL, 0xf63dd9ffd438ba2dL,
  98751. 0x36b5cd2c7a6b226fL },
  98752. { 0x87ff4e20545679a7L, 0x64d80b414520c750L, 0x90a357fa9b459cd8L,
  98753. 0xa19eaf39c85af1a3L, 0x0d475d798d935a5eL, 0x74501983781a678aL,
  98754. 0x748397790cc2e810L, 0xc6a21d112f412244L, 0x8d0e85f936a51a37L,
  98755. 0xff50151eeaa74df8L, 0x14e182a793cf99c4L, 0x45593df1376a9ab6L,
  98756. 0x18f73caf522389ffL, 0xd27cc960f7445e8aL, 0x0692f4c539a51dc8L,
  98757. 0x08d7c144db39bfd8L },
  98758. { 0x809c0d963ecca773L, 0x87ea9192d48c2156L, 0xf0eccd74db6bd641L,
  98759. 0x773123742a678cdfL, 0x7a966d8bd1587b7eL, 0xf3c1a1016130a4c6L,
  98760. 0x7cc6e8385fce17bdL, 0x95e95bb8a8de7aa4L, 0x3fe1e8b5898308e3L,
  98761. 0x0197243ee347694aL, 0xf3fe9c42bb0cd2bfL, 0xb59052640f9b2b49L,
  98762. 0x4c385e8bc7367d1fL, 0x1d3050aeb5ee147bL, 0x8e2c387904004ad9L,
  98763. 0x5f2aa8eebab70202L },
  98764. { 0xe208d4641266524bL, 0xb7bf3880d0a19f66L, 0xa5aa685eda106ebfL,
  98765. 0x0a69e8d3e642dd46L, 0xef349c61c682e4d6L, 0x26f6ee3b0fcb534cL,
  98766. 0x7daba12705eb67b8L, 0x2babb27e18be05f6L, 0x959afcba8e2d85d1L,
  98767. 0xedcf2d1ae2d9d386L, 0x59dc52e61ea6f06eL, 0xc28278b4866e5ae8L,
  98768. 0xd9ff034002bcd3c7L, 0xe884ac76784be82fL, 0xa316498083c9f224L,
  98769. 0x62501a98b46ff949L },
  98770. { 0x563f7d9aad264086L, 0xca6a33dba5e0e4bdL, 0xe82530028c8d3d67L,
  98771. 0xa288dac846e64b19L, 0xfa3c919720aa4536L, 0x8130c9b0ed553eacL,
  98772. 0x622806e02ea8abd3L, 0x52fbf54dceccfe77L, 0xbd9a8e314f0d1b70L,
  98773. 0x519d2133d59b1741L, 0xfd74101c9a6fea8aL, 0xd1acf7a0b5c4eb10L,
  98774. 0x78499b7391f9da5eL, 0xabaa4c49c0dea586L, 0xcc9c5f73a1f3531aL,
  98775. 0x497b15fefd3fc665L },
  98776. { 0x8a56cbaaf45568e9L, 0xf491a0fec7192a6fL, 0xdbb03dd39ab2539aL,
  98777. 0xc86522f84ac37da9L, 0x8c8cdba202a0f5b4L, 0x8109fc75a29c539fL,
  98778. 0x9cd06d31ca90f02eL, 0x8f31f0443e216dbfL, 0x99aa68acba3ebd91L,
  98779. 0x2a80d0d242c007f4L, 0xdd8dffbf86a9b7ceL, 0x405d3e84d6308edcL,
  98780. 0xdafa33fe068012caL, 0xc2eebd13edea1071L, 0xb7ae7e5c2ff637e6L,
  98781. 0x18d46a6c9e514cb7L },
  98782. { 0x868cbb22a78b7802L, 0x0745ddb2497cbaf4L, 0xc4eb2f3e42ae8addL,
  98783. 0xac0abcdab4ceb4e4L, 0x2e0d8325a325fd40L, 0x6cfe057113ac7345L,
  98784. 0x7407a788b14171b9L, 0x70eb06036da7a52bL, 0xab0b36f9d85176acL,
  98785. 0x14109d297c2954f3L, 0x370de9c8dcd705adL, 0x3f0db5cd7bb5e751L,
  98786. 0x45f93d41a06e708cL, 0x10d54f8a7e93050dL, 0x69e6f8e45a38fef9L,
  98787. 0x55044601d3f62e40L },
  98788. { 0xd1c5c91006cb9cc9L, 0x542074d741d00014L, 0x7cd8663e11236fb8L,
  98789. 0x39721ffe29ad5f82L, 0x1d21fbfa2951fc83L, 0x1cde06e7400d144fL,
  98790. 0x9042596b91792e6bL, 0x3365c8e529ad5166L, 0xe2220e859aeefe98L,
  98791. 0xbcb5318970c2aee3L, 0x477ca3db9ff100bcL, 0x27074176f532973fL,
  98792. 0xa12118ac9a2bd01bL, 0xf34252093dd79f93L, 0x563a8ff7c6f5d7dbL,
  98793. 0x0da313fcd7b0ec4fL },
  98794. { 0x37125a8c15aa2557L, 0xca21d70c00893e9cL, 0x4871399467b8a823L,
  98795. 0x0d3e9a747cb0042aL, 0x2d2bf4ffc9e2ce18L, 0xd5531a0d049aeac2L,
  98796. 0x4d29a616f03d0660L, 0x473d50d61f1b7f00L, 0x3af0ecbbca3de50cL,
  98797. 0xe2959bea09c28f27L, 0x6d7c2ea0f8704664L, 0xadfae4e1731083efL,
  98798. 0x50940c26941c2554L, 0x44167410a1162d03L, 0x620230d81e82290eL,
  98799. 0x63630be8db414accL },
  98800. { 0xbf8d52228a7d2e41L, 0x49e75823eb62f879L, 0x1b4d33dd6c402d89L,
  98801. 0x883e04d6de2c59adL, 0xbf3f38f449b9dc38L, 0x9d997d18b4b70c4cL,
  98802. 0x1f69b20c13cea045L, 0xca3d702558e2606dL, 0x3d4fd977261d1b79L,
  98803. 0x56aeafa85a1436faL, 0x369b3e98bb443c07L, 0xfce5186ce558f6beL,
  98804. 0xeb0cd478f8ac8f89L, 0x68074f37d5e5aa72L, 0x295845c068544eb0L,
  98805. 0x306a9871f16688edL },
  98806. { 0xbc451e9d634ec136L, 0x1edf27ca0e6f658fL, 0xa9be0152c0db4120L,
  98807. 0x87b6ef20c5bfee67L, 0x352832389a2d6023L, 0x60e564d8c7afb899L,
  98808. 0x4af22bc00ac9c2deL, 0x28e6f63182a9d22bL, 0xc075c701f532701bL,
  98809. 0xf6d418f882075f91L, 0xf9fa628d1beaa511L, 0x551e7a176e72a13dL,
  98810. 0x9306215b77f4c01cL, 0x71aba73193c9d588L, 0x6443ebe058e57cd4L,
  98811. 0x2833ac41e8103e37L },
  98812. { 0x7e564b868da5ec5cL, 0xac3d9da81c08db24L, 0x9d7c1f0b8c57a728L,
  98813. 0x3512afe79d343dc2L, 0xb438e4cffdc60339L, 0x7d5a2700dcfa1941L,
  98814. 0xd5f323f827320449L, 0x1b87a58e1393c6e6L, 0xecb68bd104baa431L,
  98815. 0xc09c1c5a4722b4d7L, 0xf42faa97206b5faaL, 0xe1dcbcd69976327eL,
  98816. 0x655ba9e4087787d9L, 0xbd59c757de5c0191L, 0x673020ed0bcf3538L,
  98817. 0x120cd454a49d6303L },
  98818. { 0xebfdb8f4cab0f9eeL, 0xbc003ef02cce58eeL, 0x9b6a68415a8d0665L,
  98819. 0x642ed3a69b957774L, 0x3de487f04721ab5cL, 0xef2ff38021a4f0d3L,
  98820. 0xbd16f55829dbddcdL, 0x2ef05b4b0e93dff2L, 0xde1faa120bc9aec1L,
  98821. 0x66dae2c2d467fa92L, 0x758daf645eb33e34L, 0xa67ad9f68f0103cbL,
  98822. 0x151f693a9be02430L, 0xd5698496eb4054bcL, 0x8ef1677e7019336eL,
  98823. 0x021cfd167fdeea3eL },
  98824. { 0x5c73715fdf5c36f3L, 0x703bde37d64ad254L, 0x55368d10f2cf7713L,
  98825. 0x1e5ec7b70f3993c8L, 0xfdb16776304ae4caL, 0x0d8f717e3d3bb18bL,
  98826. 0x5267073f66343d5aL, 0xfaeb52ef156008b5L, 0xb97ad5f9224a470fL,
  98827. 0xaf86e391ed2ab51aL, 0xdc0c7e579974302cL, 0xc88fa817fd0ae28aL,
  98828. 0x807c22dfbf8ed59cL, 0x5dedc231eb128bb6L, 0x71edcd9ca20595a3L,
  98829. 0x07265b46c73cf78eL },
  98830. { 0x73dd99f0bd66232fL, 0xc59aaf89c4027716L, 0xaf826dfa5b860fc4L,
  98831. 0x239ea8aa7a943f3bL, 0x0e0e1b1a523c428dL, 0x55ea0e3a6973b95aL,
  98832. 0xea399caa2557753bL, 0xf8adf72f06957b1fL, 0x0389f3413bd34302L,
  98833. 0x333f27d0f8a43a97L, 0xcd9c0c08adaf796fL, 0x6dcca49b49c12aa2L,
  98834. 0xdd88deee7a0ac6e9L, 0x8f47575d0644080eL, 0x6e9d667d0cc2f4bdL,
  98835. 0x36c5754b31d1496cL },
  98836. { 0x9120046ef323d84bL, 0xa69911227e789c4fL, 0x4b0eaf4e921b8055L,
  98837. 0x6339844a8079974eL, 0xc905466a740f8c79L, 0x1c18d0f7cd6def49L,
  98838. 0x5297da6b4b23e4baL, 0x1c09dff3c41800c5L, 0x6c49075b37ef6777L,
  98839. 0xa94c3a4050513dedL, 0x3d6742e96b0b1705L, 0xc0784494c48af5aeL,
  98840. 0x40c01532c95822deL, 0xa2ddade5c164d94fL, 0xfc8a8ac9a2975eb5L,
  98841. 0x06fbf8611946944eL },
  98842. { 0x2d65338e3f45aa97L, 0xd83b58c81d040febL, 0x05fef59b0fdef8b9L,
  98843. 0x7beb071ae4d7417cL, 0x982b61f5b30a1a23L, 0x4c5f2a2afb65bd03L,
  98844. 0xe40abc9d5cbf6bf3L, 0x422c326df06612a5L, 0xc921e69d9571ae28L,
  98845. 0x7c88b10b23d3434eL, 0x96d2e9579da07933L, 0x833d46a13619cf4dL,
  98846. 0xd9d19653d95eefa1L, 0x2a7d8411a03e8f0eL, 0x5e64295304bb5ab1L,
  98847. 0x5e9ca0fd1f0fa9eaL },
  98848. { 0x5bd54571197c5dc4L, 0xe2da40bfe78a95a2L, 0x65fb9efcffdb0eb2L,
  98849. 0xe952dc2c0d17467cL, 0xc1fc9c7bc758c6a3L, 0xfc79562cd4034a9aL,
  98850. 0x26e36fbe61f64b56L, 0x6adc4b9e1e84728bL, 0x7f165fd3a8f9ac8aL,
  98851. 0x7bc93a4503e3e013L, 0xeacc5513656478e3L, 0xd3391717064ddc77L,
  98852. 0x75b318dc76936914L, 0x69b1f1c7362424a6L, 0x8cc2045b49955f34L,
  98853. 0x940622b3c6836af8L },
  98854. { 0x4710ccb70d997973L, 0x3b29625dd3f8f115L, 0x8cf0c4d55b97abd5L,
  98855. 0xc6321e0a673e14a5L, 0x0541af9d3d262246L, 0xde6d87546fc83b11L,
  98856. 0x47e97da8f01652a4L, 0x0f82b3a6ad9802b6L, 0x69aa4075ae9c44b2L,
  98857. 0xaf3f5de2ced2bf77L, 0x1ef1ea8a497a40daL, 0x2e0f86083c23ba9cL,
  98858. 0xd8a998a4f190a2c8L, 0xe2b49c8ccfde3368L, 0xb9f49824bde6bd71L,
  98859. 0x80bb1664785bedb6L },
  98860. { 0x05e575fefd145cb5L, 0x155ee561ac5e6883L, 0x461e70cf8793b273L,
  98861. 0x9f1553de133b2338L, 0x2fb9e0c3a2a7ba07L, 0xc3bfd6a83e7086faL,
  98862. 0xb6ba85008bb4cb93L, 0x0b66d78976f82dbdL, 0x7d5a6ff654eb49ffL,
  98863. 0xcd65d2371f20b322L, 0x79ea49c254e29cdcL, 0x64975963cb118ff9L,
  98864. 0x969598ddcc58000bL, 0x95107918110c779cL, 0xedfc154863b85a35L,
  98865. 0x077ba5ea41212350L },
  98866. { 0x0b3a38d3cdd86f61L, 0x431214450502a0abL, 0x1912edc5806d0272L,
  98867. 0x01dc1f988a32f10fL, 0xbb1d31d10e80c760L, 0xd46ec7e5f464e8b3L,
  98868. 0xd569af369abf49eeL, 0x9d286ea72cdade77L, 0x2be7020d45ad5920L,
  98869. 0xabe5236e6299ae7fL, 0xc93179bdd3f55c07L, 0x8138995a52350e80L,
  98870. 0x0901265caff07586L, 0x5b3c81b2f4739653L, 0xbaf7581d9bc77d21L,
  98871. 0x6b2006df4591a2e2L },
  98872. { 0xb2fe50a8965b1bc1L, 0x931f536a962bb4fdL, 0xd5718d33000e7f99L,
  98873. 0x84728f2553d5125eL, 0x4f8a6184d2125cafL, 0x54f1a701357f679eL,
  98874. 0x70a9f40c1531c05aL, 0x10d0cb976fa8b775L, 0xb476f41e9dc12ce9L,
  98875. 0x5c8d7a752755f894L, 0xd6c12e10625741a4L, 0x262a6fb8c917b16cL,
  98876. 0x24d116e638d6b0a0L, 0x849540c032c38e83L, 0x855b911c66868afcL,
  98877. 0x53217ea6bd26b550L },
  98878. { 0xfc840473259f52b4L, 0x968da9cbe621146cL, 0x964eb85ecacbd26eL,
  98879. 0xab7daa2de4a54344L, 0x6dc3b848381a4ff7L, 0xa07a96b341c815efL,
  98880. 0xc4fae9e8c3d4b1e1L, 0x0f938d1e42ce9ea8L, 0xa727dacc35cc052fL,
  98881. 0xc81e01c9e9a06f07L, 0xa9e08dcb4a6d65a1L, 0xf8e2d1736044a9a6L,
  98882. 0x99893dd0f2bd295bL, 0xa08d3379f9781b12L, 0x64bd600161830ac2L,
  98883. 0x0386931ed9adbeefL },
  98884. { 0xd0d7abb3d09885a5L, 0xed9d2b67e355bb07L, 0x3bc238cf536ebaedL,
  98885. 0x61ca2e78699ce4d6L, 0x354ff447111594cdL, 0x55cbe70903316ad2L,
  98886. 0x418679fd49fff5c4L, 0x75bacd750f9c6c40L, 0x677edc882972721aL,
  98887. 0x82596887e5ef502fL, 0x459e9367bf320e0eL, 0x81ce36ef8bbdccb2L,
  98888. 0x1ba097fcb766863dL, 0xcd3a21d6d58c6db8L, 0x0e4967cdb4a8748bL,
  98889. 0x2caaf74915041c20L },
  98890. { 0x44f980066ed20424L, 0xb3e4ea2322471545L, 0x268ed1a5781a8c86L,
  98891. 0x48d0ab757ae5b70bL, 0x6ca8b320356d3982L, 0x9ce8e6812df31fa4L,
  98892. 0xb909d232d925dcf2L, 0x302c8f78f56723deL, 0x11725d69abac96f9L,
  98893. 0x656a47ca57d1a170L, 0x6bb5d511c18a2be7L, 0xb56e45f1ad50d9d9L,
  98894. 0x36e886e270b05518L, 0xc7c71f3d09d8ff91L, 0x65a1bbe29350361eL,
  98895. 0x86d7f53245fe3bd8L },
  98896. { 0x99f16eb6b0bf719aL, 0xb69750988bc3d913L, 0xfae50e5226cd01b4L,
  98897. 0xd3e3ac5490898d1cL, 0x4da3b9db887ec666L, 0x58300644fbea45b8L,
  98898. 0x369f3bd98355b058L, 0x0fb239a8579bcc13L, 0x4f5b45396e2bd811L,
  98899. 0x007f3baf24198fd2L, 0x68a676db8837d51dL, 0x68eeea62eae75b16L,
  98900. 0x5ffe5f943db6083cL, 0x52c94d0f7d836c5aL, 0x5a4c3c6fcbc1ff85L,
  98901. 0x682a55e386c0b4ddL },
  98902. { 0xc8f235a4587495aaL, 0x2276026c34c7245dL, 0xd6ae0cc5b75a46e3L,
  98903. 0x890d3965ecc3e5e7L, 0x1b13342f14296629L, 0xc89927e68a877227L,
  98904. 0x1543f27e2324a68bL, 0x6c44768449cdc21aL, 0x9bc7fd4f1452d0acL,
  98905. 0x2cc30a31ff4b045cL, 0x415d46a0852f7611L, 0xad737052c6fdd7a6L,
  98906. 0xdcecc3ab7b4c7c91L, 0xd2cdf01b7688d70cL, 0x054f2542e40d3905L,
  98907. 0x02227fa6fefe4dcdL },
  98908. { 0x1805efd9b751948bL, 0x8efeed46fdfd225dL, 0xcb128e094f2c8b22L,
  98909. 0x9d1090bf96f7c5e5L, 0x0959d044b4cbeca0L, 0x21c955f98e08cb04L,
  98910. 0xbc1f279d68fa4fceL, 0xb021e14e0710ae9aL, 0x64d16e9f881167f4L,
  98911. 0xf5a5c22ebbc9f1a5L, 0x5f3716dfe3420eeaL, 0x971eb915d5c4e843L,
  98912. 0x64fc55fc28ffba81L, 0x3427e54d7dd37578L, 0x446e6a6215ebc7d0L,
  98913. 0x547e249a29269778L },
  98914. { 0x4706868aa1ffda27L, 0xb4e6cdcc7955cf50L, 0xf65151e10a63f3d8L,
  98915. 0x5b4127ea9de5e70aL, 0x3d2c09baf9342823L, 0x18c99d83aa2f7d51L,
  98916. 0xa0c5bb1dddeec025L, 0x7ffddf8403dcf1ceL, 0xe57e4d29616fdedaL,
  98917. 0xd24565697932a1f0L, 0x7475e0e83191d4e3L, 0x3479bea1c220218bL,
  98918. 0xfceb5c908bcb2505L, 0x1c685cea3c6132e6L, 0xc42dc745bfe6c1ebL,
  98919. 0x45a41cc0d2b08eeaL },
  98920. { 0x3ea9b2c74dbbf0e1L, 0x41ff962fa17cf70eL, 0xdc1ea7585eeb4c66L,
  98921. 0x4f5412d2a9beb17eL, 0x2c9e4f52a285741aL, 0x93df7da4984fd11fL,
  98922. 0xb2afbddc0df3184eL, 0x96323d252421e375L, 0xc87be1e449df781eL,
  98923. 0x145601ed3d589beaL, 0x0f0bd9bd28fff6ddL, 0x2d3259d48a0f298cL,
  98924. 0x362d7a77d88e6944L, 0xa84c06b6b6ac2af6L, 0xba850ac9d087da02L,
  98925. 0x128763c942ee40c8L },
  98926. { 0x29a80f07acbac178L, 0x7cc2004434b08f6eL, 0xe9631d1470feded2L,
  98927. 0xb2115da386615767L, 0x7c75f5c4cb088548L, 0x5b29d2139a2e8e03L,
  98928. 0xfe9fda668b881752L, 0x3f1d8d88c1de7ebcL, 0xb476565e03218123L,
  98929. 0x07365561b1c995f3L, 0x2160cb18b13eb71bL, 0x7e8da51399b3a0ebL,
  98930. 0x5e8ca1f9b20fcd74L, 0x6a7e0067b4126d72L, 0x1e8204b768bb637fL,
  98931. 0x75e96bccfc4f74d2L },
  98932. { 0x189d1fdc0d19716eL, 0xdf5850587c384525L, 0x64a846d1ea987d2aL,
  98933. 0x12b6bf836c07150fL, 0x91d85d464d6fd5b7L, 0xa97888364f53f55fL,
  98934. 0x60083bd881509129L, 0xa7672683ea876f48L, 0xe80b2e7ac15b2489L,
  98935. 0x985ef8d242d1d992L, 0x9c57b029cf3de492L, 0xfe02f83cb1487627L,
  98936. 0xaeba4fe48ae5b687L, 0x8a86f09b5d6b8196L, 0xd88f566ba16e523dL,
  98937. 0x309a6e9aba268949L },
  98938. { 0xef27ee50bdfbe97aL, 0x1a5fe70fb8c50c4dL, 0xcc7beb017fe09f5cL,
  98939. 0x8fa15a85bed36cc5L, 0xc0c3acdb7550ed3aL, 0xc581ef87eb908681L,
  98940. 0xa15b3362c49d5ccbL, 0x0fbb17141fa264e8L, 0x267f8d8f8e1eee88L,
  98941. 0xd31ccfd621c2b63dL, 0x924dbe7d53be7efdL, 0xd42e877fdb2a358aL,
  98942. 0xcf9673c775d68ac1L, 0xe35978fd714fea55L, 0xeeb366535769b202L,
  98943. 0x0458258ad7593789L },
  98944. { 0x5df71a74a042dbdfL, 0x2d4058575779dfa2L, 0x0e66cba70d2e6657L,
  98945. 0x285d6745ca2e892eL, 0xf56a8def0f0e6b5fL, 0xe0ee851da30767c3L,
  98946. 0x98c0565843346b9cL, 0xb35fce26d6b3c742L, 0xc0895bff39777e00L,
  98947. 0x83c8f6a6e7b6d886L, 0xbee148434f02904bL, 0x7f74915b2e84ec34L,
  98948. 0xbaaf663c96d10991L, 0x004b8757e41facc0L, 0xa2b880e56f86c029L,
  98949. 0x53f4a3e095b77358L },
  98950. { 0x11bb08ce89fc48e7L, 0xba60c577afab5aebL, 0xf06bcbf8a0c1cb5aL,
  98951. 0x7d2efaea79757cb6L, 0xe26d90b176319160L, 0x42aa1ab62b77b7a9L,
  98952. 0x38eec0cd285df2bfL, 0xd35947f5f3a8f7f0L, 0x97c8dc0efc1cb5b5L,
  98953. 0xfeb8cca0c45845cfL, 0x16e8d989249e26f2L, 0x7c264e6d483ed89aL,
  98954. 0x13a3f14551d91073L, 0x8501562e305e99f0L, 0xaaf98d746908d563L,
  98955. 0x0a99e653d723d236L },
  98956. { 0x23536f46abbc0559L, 0xc163067b9aa1a160L, 0x229fd2290c1681b5L,
  98957. 0x61254be11378e907L, 0xc60ff57aab793a2dL, 0xa6f2df8b466552dbL,
  98958. 0x9ad318938c170a36L, 0xc5cd9abe29b74d9aL, 0xcf747273f7848523L,
  98959. 0xc126a93a0d0e3063L, 0xfe2021e34248e3d8L, 0xd97343ee8323ddfaL,
  98960. 0x9f768775332639e7L, 0x9650fc3175325548L, 0xb595dbd13eebf7eaL,
  98961. 0x3a95cb45010fcbc0L },
  98962. { 0x954e68cb39d7ff2eL, 0x8dd1cb4bc1d5c48fL, 0x02a92c777169438aL,
  98963. 0x7965c0b091cad8ceL, 0x0c5798ab32cd08d2L, 0x1a5bc3c3a6902bdaL,
  98964. 0x545d09255186d218L, 0xf0077cdbd27e64dbL, 0x0157caa48cd092daL,
  98965. 0x2a2fa3a024532ab3L, 0xa5fb639b41ccaba3L, 0x01702dc14744aee6L,
  98966. 0x485bb436cdba93daL, 0x93597f66329784f1L, 0x5d713c1ddad672c3L,
  98967. 0x366d222e030b7245L },
  98968. { 0xd50b4875573ea5b2L, 0x0fce401ba90da44dL, 0x7b53fa657a1a0310L,
  98969. 0x722a80a5cf114460L, 0x0b8ebf05a538bf49L, 0xae141147d32acd21L,
  98970. 0x6692712c7b5ad07dL, 0x6dc5fee73f48ca07L, 0x98ed14992b8a78d8L,
  98971. 0x4e8b3145dd2f1759L, 0x43408de15f971b8eL, 0x055ea6ddadf1b368L,
  98972. 0x4bb76e73e5932b7eL, 0x44287153d30893fdL, 0x173dccd20661bfdaL,
  98973. 0x9072ba9979defd25L },
  98974. { 0x474de4dd9620ea39L, 0xfbf1649fc831cee8L, 0x0b0e8bb1cd3a9c43L,
  98975. 0x6a38286f3f3df1d5L, 0x4ed072b38f0ec9b3L, 0xa6e4c987729c09e3L,
  98976. 0xea3e8ac68ad12242L, 0x6ae0e22bfbdfa5baL, 0x56171ecfb0a0f592L,
  98977. 0x33b2886d6b871f8dL, 0x6b19bea935e11bdaL, 0x4d815a407f0f153fL,
  98978. 0x7e608d977d6c02eeL, 0x7e8f23d9b6a88f46L, 0x26ac9652439d1654L,
  98979. 0x8d92c6bd35546c29L },
  98980. { 0xb3e0d7ceabeb0ff7L, 0xfbe352543e0e42f8L, 0x57d1b226de808499L,
  98981. 0x9ece2e1f1cd44bc3L, 0x1245adbc435cfee1L, 0x874ee840f93f581cL,
  98982. 0x916a779cbda0b947L, 0xabcc815afa57ae0aL, 0x97adec2df0a621b0L,
  98983. 0xbe6a502b81f90bdcL, 0x54bf9de153bde63dL, 0xa88fdabf78884c25L,
  98984. 0x30aa52b1cbbb5470L, 0xf805396c29053ef5L, 0x8d43d8988dd827eaL,
  98985. 0x4e4bec175c1ae5c0L },
  98986. { 0xbf8483a2fcc09676L, 0x457c4a3f19ea9a94L, 0xa6852ef3d702a5ddL,
  98987. 0xe7915fd2843fe7d8L, 0x644bba9816e35158L, 0x8d1b95d09ed746f0L,
  98988. 0x47704581b90af0b5L, 0x0bd4bc6bd4fd135eL, 0xa6dce067b4e833a5L,
  98989. 0x2c0e8f30ff56a9a1L, 0xa9c80800ec2c63feL, 0x449c20a598f508a8L,
  98990. 0x02b94cb33292813aL, 0x647e3d28ec7e81a2L, 0x72e67d1ab4877677L,
  98991. 0x7a4aa3f56f9ded24L },
  98992. { 0x559ef1bae27a0045L, 0xdc812d4fb242cb50L, 0x23a478e439cf8d24L,
  98993. 0x97544fc59b3f9c54L, 0x5ac68132affa1fcfL, 0x74f8fee034a2c83bL,
  98994. 0x96cc640fcd3f4bb7L, 0x775dce9db0512ea6L, 0x67dca19dcdce381eL,
  98995. 0xc1eeb3f3a9d3fe55L, 0x38e0bf421a19274fL, 0x15992fb428d69b12L,
  98996. 0x48fcebde9fd09df8L, 0xdc9dfa4fb41ab5dfL, 0x0cbd7dc8c0a269c5L,
  98997. 0x60282a7bf7f0ade1L },
  98998. { 0x7c07e538dceea2e7L, 0x38a322c83c42061dL, 0x676828f94f1f6516L,
  98999. 0xf21b69fbc7776a10L, 0xc63a3417b5e6b405L, 0x4c99f25891a7b642L,
  99000. 0x38692ca82cad1440L, 0xf1e82ffe00869bcdL, 0xc30b714e16fe466aL,
  99001. 0x5fb742f919019138L, 0xe90166d00fa516aeL, 0x5550f7acd8c73a43L,
  99002. 0x2d6a407dfbc5c372L, 0xe47a753968cc39edL, 0x3fd286d94a5fbe70L,
  99003. 0x5f4ae9c723c6b942L },
  99004. { 0xd96a2dda53f4d561L, 0x286d45d016da1992L, 0x449a01fbfdd4b051L,
  99005. 0x25488a0d9f2195eaL, 0xc4151b0aa37661b3L, 0xb98c471ef9e5ee02L,
  99006. 0xa4bca86ea8658817L, 0xbbcadb877a68fc0aL, 0x88b346496b7366a9L,
  99007. 0x32ee98d415661c2dL, 0xf5b3b4c6c901420cL, 0xa23527352f2752afL,
  99008. 0x2f64ce73510e4d9cL, 0x939a7f26aca4aa80L, 0x9cd3e291401aa503L,
  99009. 0x92a01423dc46afd2L },
  99010. { 0xe9f24be11c2f7dbdL, 0xda8c900fb7d527faL, 0x963e25bb8648f128L,
  99011. 0x9ab713e248141941L, 0xe87f7d017a6756fbL, 0x274dd85e058d90bdL,
  99012. 0x823fee7a82566abdL, 0x9f6230d774240195L, 0x04579f2cacb5e46eL,
  99013. 0x2a22626316a4c87eL, 0x9ca19a43d99b0857L, 0x86dc2ba3e488789eL,
  99014. 0xf960b5b99406c3bdL, 0x6f2c428b8960957eL, 0x90748706161c515bL,
  99015. 0x0fc8fe1eaa88cb9bL },
  99016. { 0x68ae1bedfeb90f2dL, 0xf393bb3ca48b1559L, 0x2be62f9cf64e9635L,
  99017. 0x354c2410f8be75c2L, 0xbd7ea7035e6f7529L, 0xc264868e162cab31L,
  99018. 0xb1391e70c860f3ffL, 0xdf367c751d89837eL, 0xe150b6b42bf32941L,
  99019. 0x95e8f46e78c1318fL, 0x2b3f1daba2c4b160L, 0xc6ccf5ce701afbf3L,
  99020. 0x3ad275305e8874c5L, 0x39285e515dc6dcbeL, 0x3c954d86d99892ddL,
  99021. 0x2d0ba862dfd3789fL },
  99022. { 0xeacd8ee8b472e1afL, 0xeb354eaeb76abbccL, 0x9b520bf8d0d93fbdL,
  99023. 0xfccd60d7fe6fc706L, 0xa9353ddea4ee2f39L, 0x5eb0925e9a81e51eL,
  99024. 0xee334da1d1366777L, 0xc1d28c9fd5354d69L, 0xb977175592a5ed54L,
  99025. 0x5d3e367fb7f70d81L, 0x7be7eecaa933ae7aL, 0x264cf1f9e23cfbb7L,
  99026. 0x0d129f4a89497681L, 0x705375a409b6235bL, 0xccf64c7548a376daL,
  99027. 0x963c87124d41dbfcL },
  99028. { 0xbae290cbde36a814L, 0x9bdb0195733b12b5L, 0x0ebad867f77fe0e1L,
  99029. 0x0a7d19fd29720ceaL, 0x434d76519029ec72L, 0x856aff17bb51911eL,
  99030. 0xd0a25d9ad80a7f60L, 0xffca86aff848c106L, 0x53e8bdf943ad749cL,
  99031. 0xfb9e0284e3e696bbL, 0x3eb6630aeeee4215L, 0x9d8fbb9e2ecf3c63L,
  99032. 0x71da4ffa4e00c0c0L, 0xb296be595d57beacL, 0x1751fbada8cec7efL,
  99033. 0x2d03eb3cff55d7bdL },
  99034. { 0xeb16925f04f2ec1dL, 0xa878f2760d147ee2L, 0x442df604aad9d9e0L,
  99035. 0x891df44b3f71035bL, 0xc28272b38cb95d5bL, 0x6f14efb55ee8ed23L,
  99036. 0xf3c4460f13b0f3e3L, 0x889f9bd76bd7335eL, 0x889ee771f755ba6eL,
  99037. 0x626984feed219b6cL, 0x2d44c737ec2ee411L, 0xb94385a263efcd37L,
  99038. 0xd909321b6637826bL, 0xc24f8a793ee6b7a7L, 0xa3ca8d24a7cf61b7L,
  99039. 0x842e40c1c54bacd9L },
  99040. { 0x5a268ed6a661d843L, 0x02328cca4f5b30cdL, 0x16e6fed11311e177L,
  99041. 0x690decb4c6695967L, 0xbdac5bf657b2e280L, 0x827f82ca1efe42d0L,
  99042. 0xc554ec0aca5fca2fL, 0xac5276c1dde45506L, 0xb7f4cb08e3077513L,
  99043. 0x8caf6d9acc8797ccL, 0xd59648140d9332d2L, 0xcc6ae297285a409fL,
  99044. 0x7773c2a56223d093L, 0x2d5266ac5128fc09L, 0xa596b7cbbc31fe6cL,
  99045. 0x0e63319acac91328L },
  99046. { 0xb5cd2fadf0360ac2L, 0x86b660de285e605aL, 0x82c6cf10e25b9b14L,
  99047. 0x9d5fa38daa9ac554L, 0x3dfcf1b8526c070eL, 0x0379a96b3fccc52dL,
  99048. 0xe3659c290bfcc7f5L, 0x5b1a3db569d3e6a1L, 0xb41528b59b7b42d5L,
  99049. 0x934defa49c22a006L, 0x90f380189b4ce3b6L, 0xb073bc04b3abaf32L,
  99050. 0x27a5a222ff8389e2L, 0x0b7a9d51ffa5a35bL, 0x4939ecef28e1a7c2L,
  99051. 0x88839da21872705aL },
  99052. { 0x56b66c30701ce29aL, 0x3acaf12658981d50L, 0xd4dafc0c105f9f21L,
  99053. 0xfee571e6373e3d13L, 0xe7269c86fa2ee3caL, 0xf5cca64add20385aL,
  99054. 0x217f27573000e9acL, 0xc934db470e7273efL, 0x4294f4f7355b6776L,
  99055. 0x1faa36b96fc05180L, 0x8f88b1dbb052190bL, 0x35791b90e9eaef52L,
  99056. 0xf37fb2ebdb681b90L, 0x39d0a51d4415c369L, 0xfc59cca71d2e21c9L,
  99057. 0x64128cfea1f50c26L },
  99058. { 0xf03678a2e8f5b0b5L, 0x5c7e249cd340f059L, 0x4144044193ca7cecL,
  99059. 0x075ca346bc83af98L, 0xf39f0033faa8bbb0L, 0x3d18f0edf38230f7L,
  99060. 0x78dff00cd448f345L, 0x849228c0d51aa475L, 0xdd4e270830c928d1L,
  99061. 0xc66ba6868f12cfd3L, 0x091049db88b3a206L, 0xd865d059016dae01L,
  99062. 0x4599e905e253e37dL, 0x322cf0c27ce9871bL, 0x014f54da174a132eL,
  99063. 0x93634a09bdabcbdaL },
  99064. { 0x62826b27a9a2e304L, 0xc57e1866c1a4c124L, 0x913ab83222381710L,
  99065. 0x7e9b6b85a9847cfeL, 0x29655cf12b5f46fdL, 0x7295572b8038e66dL,
  99066. 0xe4cba6016fa95eabL, 0xbbc11071b9deda81L, 0x97f0009a3f1cf61eL,
  99067. 0x5372777b373e0cfbL, 0x302f909cd139d63bL, 0x1ed672da4f87d78eL,
  99068. 0x362077a3b4048763L, 0xc408c32d9dcc22b2L, 0x4b4c5bf226deeee7L,
  99069. 0x266cb467bc06357eL },
  99070. { 0x6faa4154b56363e8L, 0x4b4fd0783c1aa4dbL, 0x14358dde2b9e6597L,
  99071. 0x5b34ae3efa004b84L, 0xcf44b2ecf19911a6L, 0x55caa833a536bf78L,
  99072. 0x606e1eb98870dc95L, 0xe3c3287d09f3511dL, 0x68b2f4eb9d5cf364L,
  99073. 0xc154e89263ab8c9eL, 0x1548828ec36ab611L, 0x0932bfcba1b7d120L,
  99074. 0x7ee7b5bc5315b8d7L, 0x782fd0d1f7473ac1L, 0xbcb029a83c8f2af3L,
  99075. 0x4b1d5a1b52454ee1L },
  99076. { 0x12fe517463d52c0cL, 0x3735525e188c099dL, 0x5c621563360e3956L,
  99077. 0x88b3f1caacfa5a43L, 0x90123a0a797e8107L, 0xba31f6b5b15e080aL,
  99078. 0xd7de5e12fca3dadaL, 0x3287361b0df511c8L, 0x7cc800d465757d4eL,
  99079. 0x10810f3d5207ec91L, 0x0d4e56f130eea0e3L, 0xbbf7ee133ea5a2ecL,
  99080. 0x6fc07762be6abbd0L, 0xc831fdce120bf619L, 0xe07439fab622d42aL,
  99081. 0x8186b93f508e4b27L },
  99082. { 0xc619d15409312867L, 0x7e042c05bfaf7db4L, 0xc1cf16681f5f5ddaL,
  99083. 0x50aa5057a4fc3d82L, 0xed30ed65ce68b8feL, 0xecb01c0bbeb4d644L,
  99084. 0x7b5dc444831c0497L, 0x351e6a009b7d9b1cL, 0x4bb863b9d9477c91L,
  99085. 0xaba6589105d4110aL, 0x30086cf443580b7aL, 0xb139c07690be357eL,
  99086. 0x12bfff1a27b5214eL, 0x79cfc6d722c3ab57L, 0x4743de57f34a9bfaL,
  99087. 0x0bf97e97c9ee2b2aL },
  99088. { 0x96ec4ec8dda19e96L, 0x54ce18ea6c306e8bL, 0x7e83612b65f6918aL,
  99089. 0x1ac6f68b0d9a0d99L, 0x98a697a462fdcc09L, 0x65ce25f195bc3e13L,
  99090. 0x1896ecdab3939730L, 0x9eb81a0f32f12806L, 0xd3d7416e1d2dc7dfL,
  99091. 0xe22c7976ad473599L, 0x3de37a9a9f5ef439L, 0x6b7ac0ab9e69d94eL,
  99092. 0xe6bfa9e00a9d0bc8L, 0x576a870d5676f120L, 0x3bd91bb4feaac23fL,
  99093. 0x8fe5482c3e40aabbL },
  99094. { 0x85ae67c2ce9a4d1eL, 0x4c3eb8034f1d2038L, 0x5c6c8f3a25d06192L,
  99095. 0x803de0ad308fb41cL, 0x9961f5bce71c294eL, 0xdc62078df02eb0daL,
  99096. 0xc87ef515b64ae8b6L, 0x69679f1e50b4d18fL, 0xc5c009a152199f43L,
  99097. 0xa7d484be0f640a5fL, 0x4c918bb123dab566L, 0xa67c114c64275d2cL,
  99098. 0x95a913b9cad2ded6L, 0x189ed18b6b4b5c8dL, 0x4aeb6206b42d3bf6L,
  99099. 0x3928c669bbc8bc3fL },
  99100. { 0xde4bea4adacb4b64L, 0x03f62a44f26179a1L, 0xf3aac94e7a9112a4L,
  99101. 0x90448fbdd36f331eL, 0x426042bc407b85c4L, 0x5ad8a5962121b77bL,
  99102. 0x31674a4f67cee984L, 0x7fae8bbe4e3b2f0dL, 0x681df6dda7c930ebL,
  99103. 0xadeefa98c259d0d4L, 0x1b14d9e6bea1c1fdL, 0x3baadc8b21d405d1L,
  99104. 0xf01dff9373892754L, 0x81c35b3ef071cde4L, 0x1704d2e19150d0d9L,
  99105. 0x6ccc888f355134f6L },
  99106. { 0xf8d36f0e7ad7504cL, 0xbca3265ff7959dddL, 0x0dcd1edefede67aaL,
  99107. 0x1276f4cebaebf32fL, 0x6825a6e6014edcfcL, 0x0b8c1a8299ad8eb7L,
  99108. 0x312024a909b8ce1eL, 0xcb8fd98b9cbd351aL, 0xa4841378fab1e8beL,
  99109. 0x17ed0f5d3973cacfL, 0xa17e1484259d5254L, 0x53d5b84374b91393L,
  99110. 0x8f792b211aca3ce9L, 0x035ff110c8c0f815L, 0x6afa6357ad4ed7bdL,
  99111. 0x2f151980b26faef9L },
  99112. { 0x0c8631da29d2d439L, 0x121fbbc2bc039955L, 0x3e5a97926c05b75bL,
  99113. 0x6d6cf4c0b6ce47ecL, 0xbaaa17679d88c658L, 0x031db9e7f3355a17L,
  99114. 0x8381e3d80aef5a85L, 0xc71db29015a31bdfL, 0x638f6b749498fd7dL,
  99115. 0x44edf3f913beeef6L, 0xe6173271f4ab67b3L, 0x3a202c70fd22df11L,
  99116. 0xf7be0389205c4e92L, 0x1c219085a8eb9920L, 0x6c805ce8beb54aaaL,
  99117. 0x354b05b70ac58d65L },
  99118. { 0x7171e2367a9170e9L, 0x01eec42d4cad50cdL, 0xffbe824f3cddccfbL,
  99119. 0xa73e8ce3a66cae1aL, 0xb7138a7f965c7d01L, 0x00058e3f5c3d971eL,
  99120. 0x52591ac32ff0a72bL, 0xa32fb5bcbbbce76fL, 0xf3241ab8a9f81a18L,
  99121. 0xf31d3332eca68630L, 0x847af9fc4482f13bL, 0x6196e217a4681be2L,
  99122. 0x9938f932e55efcf9L, 0x3e7dacb870acc705L, 0xd41be893cf09fac2L,
  99123. 0x48dc55c4ae3523a1L },
  99124. { 0x8e623826a5092193L, 0xe46ec3626898970cL, 0x2f1356af25c9eb41L,
  99125. 0x4178064083c7d245L, 0x982def6797d00e38L, 0x382eb6e7a512151cL,
  99126. 0x154e10778af58869L, 0x187070758a51cf02L, 0xcdeba9f771313c58L,
  99127. 0x5d67b973ba155904L, 0x851c9f4b1d0d7b3aL, 0x19f29d718b8af2cdL,
  99128. 0xcb94ccff986b8d62L, 0x8725e24bb93b9c33L, 0x405ce4c566e38c68L,
  99129. 0x5f6a8edd0b6dc021L },
  99130. { 0x83704ca58f9a8690L, 0x3f3697662f76a407L, 0xfbc12d8c69201028L,
  99131. 0x4cd58f16bce3a4cfL, 0x7804664a04aab26dL, 0x005cfbba4ea457a8L,
  99132. 0x537951b3b8a59794L, 0x4ca2b9e44fe1f739L, 0xe4428acddf325797L,
  99133. 0x648da3420ea243dbL, 0xcce6562bf43ce01eL, 0x840f0421f27db490L,
  99134. 0x156ccb708bfb7cf0L, 0x9b33480d5a8797d3L, 0x2e12e07a9eb814bbL,
  99135. 0x1ca65072ca7f87acL },
  99136. { 0xfbb321cf2b9d25a0L, 0x66affdca40a746dbL, 0xc1c1530e59e368b5L,
  99137. 0x56ed1ea47d80068fL, 0x9b74d8fe5647dd68L, 0x1d96b50789b78da8L,
  99138. 0x39b752438bbe3391L, 0xef8d443e0d858c5fL, 0x4dd2db499646aa34L,
  99139. 0x7fad3bd1e667543cL, 0xd0d710c068980985L, 0x9f7aff3249facabaL,
  99140. 0x055dec1c14f9a192L, 0xaca663991fb307a1L, 0xac44fd9135ffff64L,
  99141. 0x462cafb6cbad3ceeL },
  99142. { 0x1660a647de3237ddL, 0x95f735cc82b87404L, 0xf7879f59ddfa55f8L,
  99143. 0x15ef043e726b914aL, 0x1875393d1c93e298L, 0xa1a2be746ef18331L,
  99144. 0x4e7e8dfc25a9a12bL, 0xdfefc97da9c3917fL, 0xbc875d030a2ebe41L,
  99145. 0x0f75d235a732d1ccL, 0x06fee7fed9baa6d3L, 0xaa784fab65f48576L,
  99146. 0x23155e22513f83c0L, 0xd2fb77183e8f9d13L, 0x2a291503b546eafdL,
  99147. 0x1293c98c6cd93608L },
  99148. { 0x7278125149d53b77L, 0xa6ab403d96eafac7L, 0xb7d7c7db4a36b711L,
  99149. 0x8238c70887e771c1L, 0x495f6abf33b37522L, 0xb0b0289c8c87530dL,
  99150. 0xca83cb86e77b111aL, 0xbe1c0fb8a1bd189eL, 0x58cfb2fb1ae9d7c7L,
  99151. 0xd05c23c54940c3e8L, 0x16e79e4174ad9107L, 0xa0a47f05064e7142L,
  99152. 0xc6929cd4fdfd614fL, 0xedb2584c3946988bL, 0x73e4b5f3e46f8fb1L,
  99153. 0x53b79aa168ea94baL },
  99154. { 0x216fafce44bbb6a1L, 0xd3a5bba067821728L, 0xef1e4b30a9dd939aL,
  99155. 0x022eaf3df19efafeL, 0xfed5abce7b4ec014L, 0x64968ee6512c6738L,
  99156. 0x2311986929fe89a2L, 0x0d539d8d47397c05L, 0x6400bc54234596c4L,
  99157. 0xb9287f585346611dL, 0x04099903c9d5da0fL, 0xe5ef4997c83af2a8L,
  99158. 0xc89dc01b328151e1L, 0x150fb4a958401104L, 0x40a6f7d5f3872c9dL,
  99159. 0x8290d6d156c2e833L },
  99160. { 0xf84637c6d8546946L, 0xda134a3969ec57faL, 0xd42359a4d789007eL,
  99161. 0xb42557fe0dc7b809L, 0xe62ae52d2d6784a9L, 0xa2714ca60bcadb5fL,
  99162. 0xcc208de633aafca5L, 0x2380ed5ced967811L, 0x6e6b55e9db321660L,
  99163. 0x1bead02ca675235aL, 0x51cc6ef9b33fa0e1L, 0xfd223e26f06a2a08L,
  99164. 0x00f332e1ec47b3cfL, 0x459f297ba0aa984eL, 0x6fa1d969ee952e14L,
  99165. 0x506ef1ab304fabb0L },
  99166. { 0x11b4eb2735bff163L, 0x7130b96fea9fa984L, 0x66aceb3f9deb27ceL,
  99167. 0xa2daf1a59dd1c3d5L, 0xf5090a7ea73075aaL, 0x36a6af39e3071b58L,
  99168. 0xa28d633ddf73ad9cL, 0xdd354cacbdc89a16L, 0xdfea3423d4dcbc3cL,
  99169. 0x6eec74d2379d92d1L, 0xe14a456f8eed6765L, 0xfabe7743fa8feb1fL,
  99170. 0x1404ccf8b98fcbc7L, 0x6ccd2fbff71a706eL, 0xdaaf3fdb4d85c678L,
  99171. 0x415b7dbf15200344L },
  99172. { 0x970105867d8377a7L, 0x068a3d68cb803272L, 0xfd67d289f03a4c32L,
  99173. 0x4bc7095d93c8f290L, 0x712fa13ce9e5a2b8L, 0xfc6ac6c60feb9f3bL,
  99174. 0x0cda36d96e0e54c2L, 0x4549975186320a01L, 0xf9318c9197f00f11L,
  99175. 0x01dc4c3fe6936508L, 0x769a2ef985f068aaL, 0x3522cef0a2b5511cL,
  99176. 0x006965edb4122e05L, 0xfce0fafcc175d43fL, 0x525dc9bdec831d59L,
  99177. 0x1ec314f1af58879dL },
  99178. { 0x0663feef2c8310c2L, 0xaa7e14da457e3f74L, 0x392b10fce5346887L,
  99179. 0xcde4a38f637ec2c5L, 0x50773320b542f8dfL, 0x341302f9f7de1711L,
  99180. 0x018b1c63ae4b9bc6L, 0xf001c46edd2f9e6fL, 0xd3bb0a9726eccfa0L,
  99181. 0xa931b99d7746e0c7L, 0xe0c8b6f7f5875aecL, 0xbb32f17c96939c82L,
  99182. 0x765135d23de5a664L, 0x71936cb452abfa6bL, 0xad5cc08f2dc105deL,
  99183. 0x17e91d127fff5788L },
  99184. { 0xbe92ced3b7e051caL, 0xc644d4fd19c776d4L, 0xc8ab4b520086784bL,
  99185. 0x3ea66227ce9d6b31L, 0x395249a3d289e9c7L, 0x54509e65d12a19eeL,
  99186. 0xa7bd46928c365aecL, 0x354997e477963e0eL, 0x0d765957b599732dL,
  99187. 0x99584aeb91d4a3b6L, 0x6e653ea41deb3e28L, 0xca7c98ed572571dfL,
  99188. 0xf301a38fb18ae1f9L, 0x1629f7c263f7b97eL, 0xdf242282afc4a0d5L,
  99189. 0x118f3b4b3ddd0c01L },
  99190. { 0x74a0a0a87ad4762bL, 0x1aef84da8c58d175L, 0x16ff49604cf76d86L,
  99191. 0xc0be87867e60d98bL, 0x83637ffb3ecc1dbaL, 0xc244a6095dd6147aL,
  99192. 0xa3e178345b0846e5L, 0x735eb686e77a4c05L, 0x5bc18b4fdf758695L,
  99193. 0x15618d0b1bdfe52fL, 0x878ecc0d00715ba1L, 0x1dbdbd1ac2dd617fL,
  99194. 0x21d2b63121b61710L, 0x22ce8a7944f593c2L, 0x3b9b536a44f17024L,
  99195. 0x01d0a67c8d03e727L },
  99196. { 0x7b9642361e46533cL, 0xe9477990fb88c2aeL, 0x019b5d16a42c4a18L,
  99197. 0x7135e81dd83c7a45L, 0x74a69bdd4cb663e3L, 0x7b67ecdbe76c0d63L,
  99198. 0x03d5452111e68da6L, 0x596cceb5d2e8650aL, 0xcd572dfd2af03b37L,
  99199. 0x52364ba1fabd5952L, 0x7f47d456b4ed8569L, 0x5ad8b572c950d5d4L,
  99200. 0xcadd2dfa486e2f84L, 0xdd527b43c56bb044L, 0xc9adba24997c08e6L,
  99201. 0x1b625b067da6320fL },
  99202. { 0x44dfaa7b4fd8446dL, 0xc01b2f01af6febebL, 0xbf444388fe8838b5L,
  99203. 0xf33c434fbba9758bL, 0x2b971cba87156bc9L, 0x6b245e5c1f49098bL,
  99204. 0x87dcb5342b41c5ddL, 0xdb1f80c634d852d7L, 0x6d6e32582433da34L,
  99205. 0xf66820653f7df0c2L, 0xc4ca567c360cb365L, 0x321faac29826656aL,
  99206. 0x13f5ca6fbf069768L, 0x15397921a7076639L, 0xbdf143288400736eL,
  99207. 0x333eca9619fc948dL },
  99208. { 0x23337948ac775d81L, 0x38c2518fd41dbbcaL, 0x623c7a4fbcfce948L,
  99209. 0xaad3623654703fe7L, 0x2b3a13a413fb3b5bL, 0x5db3565a7f5c01f0L,
  99210. 0xd72408dc52359661L, 0x5a17f8e51d616e91L, 0x90c16eebcb25b999L,
  99211. 0xf35e8cf13393743eL, 0x987da74ae54b64a7L, 0x557b322a65cd449dL,
  99212. 0x765082a537e7b15dL, 0x4d25c742f2cd134fL, 0xae9d9c074ccf0746L,
  99213. 0x72fc21108728d135L },
  99214. { 0xa906b203f96004c8L, 0xd83f95cf458055ffL, 0xd77d586755f35909L,
  99215. 0x4a9ea6fbe550c8eeL, 0x91c8cca955a06081L, 0x4a1fee78bce82062L,
  99216. 0xeb9ade069a3df85eL, 0xfbbdcf0c7d3de666L, 0x228a391b5d336d51L,
  99217. 0x760f8d285c2ffc3cL, 0x1ee48de32f7b165bL, 0x03803d8456177040L,
  99218. 0xe573f6489deff9a0L, 0xe1a2738ea17e35a4L, 0x238ef17c8840a6c6L,
  99219. 0x480946f8b11ed92dL },
  99220. { 0x84c747a8fd71f119L, 0x19e65c5e53eb3695L, 0x0e2f67866298587aL,
  99221. 0x48a48899ab18d6f4L, 0xa1a99024c630b8c0L, 0x849750962caaf892L,
  99222. 0xc8869abae20fd624L, 0x3b72b04d6c2b7dd4L, 0xe2775eb60992f7d0L,
  99223. 0x0089c06e7d06e684L, 0xcb3b4361e4bbd007L, 0xa1ae666b4ba846e4L,
  99224. 0xc01c2eb246464d9eL, 0xf86f2be6c1f8539fL, 0x16e8e8aecf68afc7L,
  99225. 0x8dab61fdc7386902L },
  99226. { 0x42a5c903d54d1d45L, 0xacd4297eff4f9ba2L, 0x2d88b52034d478b4L,
  99227. 0x35b2ba2b08c4621aL, 0xd3d239bb34865402L, 0x1de76aed911f32e6L,
  99228. 0x877f8bcf3f06fdc2L, 0x802714c19ec51502L, 0xa10444eba590700dL,
  99229. 0x8694229f31dcc957L, 0x5ece77abb8169fedL, 0x55be8a152caf080eL,
  99230. 0x3eb21b14cbd7cef1L, 0x9def7ad167b97ee1L, 0xe03ca879118f690cL,
  99231. 0x6f77e62df99b29e7L },
  99232. { 0xa271bdede40bbf59L, 0x177ba4536401aad6L, 0x1755e03573541cd1L,
  99233. 0x3465b4664b71b02fL, 0x22eb7113a813359fL, 0x9792a8fd6f38eac7L,
  99234. 0x11aa012fff3bf3b5L, 0x99aafabff85c3fbfL, 0x91e0a2ef06c0cc42L,
  99235. 0x314d5d57773b7b3aL, 0xae5e2e76d669840aL, 0x861360732e5a8be6L,
  99236. 0xee6d7578c1cf5580L, 0x2344e00f68bed102L, 0x799d78868184f0ebL,
  99237. 0x63819c91c3d2cf80L },
  99238. { 0xca5392e17884b073L, 0x9ec3a1fceb1267eaL, 0x3d07f5f0907038a7L,
  99239. 0xcb2ac07ce4c47b70L, 0xf96664ee1bf96b91L, 0xebf575892aea4fbfL,
  99240. 0x5aabf391fade6500L, 0xc5b3376f171d1204L, 0x1ff60c51a0d3d81aL,
  99241. 0x10b2cfe7976a844bL, 0xe131cc9abda6125aL, 0xe0fc16d34ebd453eL,
  99242. 0xc0d0319a504b6bc1L, 0xe43a0be70a2f8cabL, 0xc80afeec55e49b47L,
  99243. 0x67d48d128265d7eeL },
  99244. { 0x068d59a7ea2d56d6L, 0xd71abd0e27480a63L, 0x6bd11db0ae7366cdL,
  99245. 0xfbb639ca07204ebcL, 0x89a242e7f77e6293L, 0xdee7ca2b75ba8c3dL,
  99246. 0x472ddc3d64a2f9a8L, 0x84229df47561a010L, 0x95f62c85c5b649d4L,
  99247. 0xfdd56b1b4dc927cdL, 0xfe8bb1205ee60596L, 0x3efcaa50abf29401L,
  99248. 0xd4900d0f10d1c184L, 0x2cf113a928b01df5L, 0xa3d7ebc31f0e43f5L,
  99249. 0x27950e38e8384dc7L },
  99250. { 0xeab21ff0e1d0fa79L, 0x4b9fd033048b5de9L, 0x4c9346892fe374cbL,
  99251. 0xbb4827fa4eb21f6bL, 0x46716f79a925e7e7L, 0x1442bf367dd4c531L,
  99252. 0x2073954cd2e96ddfL, 0x4e0141ae8502aa89L, 0x8ee00e1a8eef6cc9L,
  99253. 0x55ce84915880cdafL, 0xff3aba5c69628046L, 0x335cc4f85d15dfbfL,
  99254. 0xa7f0440c9f684f25L, 0xae80453fbb1e5bd8L, 0xa1c99813ff2225abL,
  99255. 0x54ff788479b25d71L },
  99256. { 0x27c6ee30de40b068L, 0x9226465be6f3a51eL, 0xe24a4604fa3b21f6L,
  99257. 0x50a5a5adc0418115L, 0xe32854418df90d2bL, 0xbb74e58fdcb0c00fL,
  99258. 0xc68f1b3b4a2c08e3L, 0x339df0810ccd9ec9L, 0x915362dcb786ea9fL,
  99259. 0x28945e31c955aeadL, 0xd6a2c01d8b6a6c6bL, 0x069e82dc3678a427L,
  99260. 0x1787550028c9302cL, 0x8acda9659fa101e6L, 0x4e4e4573ee30b286L,
  99261. 0x8adbad853f1830feL },
  99262. { 0x060ae11f0969d524L, 0xf42fdaf7f39bcc79L, 0x3cec67667cc1fcc2L,
  99263. 0x456b9cf2e2336d4fL, 0x6aa1f5de8e1c0f7fL, 0xcdbc2ad20984fb0eL,
  99264. 0x4090cfa61b464b28L, 0x40d86f301243f3efL, 0x95b16ccccd5e87e7L,
  99265. 0x403f168c3026cd41L, 0xdbe386cb816c0730L, 0x14eb86f358407a1dL,
  99266. 0xf588b4f81717e1afL, 0xb75c41a666cbc96cL, 0xf342c1aa027e71c1L,
  99267. 0x73930036c0945e5fL },
  99268. { 0x954f757d22cdaf42L, 0x788b591df4181aabL, 0x8b986819f5514f25L,
  99269. 0x69642e08f18fd5bcL, 0x92b305d1022ceb91L, 0x1715903e6a4f6985L,
  99270. 0x4bd7d69d61179caeL, 0xdacdfd5dd29c01aaL, 0x705ddd5ad91108ccL,
  99271. 0x434ac7b164ac8f15L, 0x61a514e1b524632fL, 0x45b9e61b731fc447L,
  99272. 0xcf561348e0961b31L, 0x9c28a96773eaf223L, 0x5bd10182aa7c99d3L,
  99273. 0x8bc6ec4ae42965e2L },
  99274. { 0xd096e5c0e7f2a32bL, 0xff54800c09388a30L, 0x06fe437c401e360cL,
  99275. 0x6655fc9cbb6054a6L, 0x510e18608457aa6eL, 0xa0acfca22b29b2b7L,
  99276. 0x732483e351b7da61L, 0xe31471ee6be6c8caL, 0xe565431c8b65c9a1L,
  99277. 0xfc9ac3b948d65cbbL, 0xd308fc21ae9b2aa8L, 0xd6a7df0daa60aa6aL,
  99278. 0x2844d96a982fc0d4L, 0xab012c2c5847a4d7L, 0x2b3c8f71dceb8955L,
  99279. 0x8e85437dbe9c7e15L },
  99280. };
  99281. /* Perform the modular exponentiation in Fp* for SAKKE.
  99282. *
  99283. * Base is fixed to be the g parameter - a precomputed table is used.
  99284. *
  99285. * Striping: 128 points at a distance of 8 combined.
  99286. * Total of 256 points in table.
  99287. * Square and multiply performed in Fp*.
  99288. *
  99289. * base [in] Base. MP integer.
  99290. * exp [in] Exponent. MP integer.
  99291. * res [out] Result. MP integer.
  99292. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  99293. * and MEMORY_E if memory allocation fails.
  99294. */
  99295. static int sp_ModExp_Fp_star_x64_1024(const mp_int* base, mp_int* exp, mp_int* res)
  99296. {
  99297. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99298. !defined(WOLFSSL_SP_NO_MALLOC)
  99299. sp_digit* td;
  99300. sp_digit* t;
  99301. sp_digit* tx;
  99302. sp_digit* ty;
  99303. #else
  99304. sp_digit t[4 * 2 * 16];
  99305. sp_digit tx[2 * 16];
  99306. sp_digit ty[2 * 16];
  99307. #endif
  99308. sp_digit* r = NULL;
  99309. unsigned char e[128];
  99310. int err = MP_OKAY;
  99311. int i;
  99312. int y;
  99313. (void)base;
  99314. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99315. !defined(WOLFSSL_SP_NO_MALLOC)
  99316. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6 * 16 * 2, NULL,
  99317. DYNAMIC_TYPE_TMP_BUFFER);
  99318. if (td == NULL) {
  99319. err = MEMORY_E;
  99320. }
  99321. #endif
  99322. if (err == MP_OKAY) {
  99323. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99324. !defined(WOLFSSL_SP_NO_MALLOC)
  99325. t = td;
  99326. tx = td + 4 * 16 * 2;
  99327. ty = td + 5 * 16 * 2;
  99328. #endif
  99329. r = ty;
  99330. (void)mp_to_unsigned_bin_len(exp, e, 128);
  99331. XMEMCPY(tx, p1024_norm_mod, sizeof(sp_digit) * 16);
  99332. y = e[112] >> 7;
  99333. y |= (e[96] >> 7) << 1;
  99334. y |= (e[80] >> 7) << 2;
  99335. y |= (e[64] >> 7) << 3;
  99336. y |= (e[48] >> 7) << 4;
  99337. y |= (e[32] >> 7) << 5;
  99338. y |= (e[16] >> 7) << 6;
  99339. y |= (e[0] >> 7) << 7;
  99340. XMEMCPY(ty, sp_1024_g_table[y], sizeof(sp_digit) * 16);
  99341. for (i = 126; i >= 0; i--) {
  99342. y = (e[127 - (i / 8)] >> (i & 0x7)) & 1;
  99343. y |= ((e[111 - (i / 8)] >> (i & 0x7)) & 1) << 1;
  99344. y |= ((e[95 - (i / 8)] >> (i & 0x7)) & 1) << 2;
  99345. y |= ((e[79 - (i / 8)] >> (i & 0x7)) & 1) << 3;
  99346. y |= ((e[63 - (i / 8)] >> (i & 0x7)) & 1) << 4;
  99347. y |= ((e[47 - (i / 8)] >> (i & 0x7)) & 1) << 5;
  99348. y |= ((e[31 - (i / 8)] >> (i & 0x7)) & 1) << 6;
  99349. y |= ((e[15 - (i / 8)] >> (i & 0x7)) & 1) << 7;
  99350. sp_1024_proj_sqr_16(tx, ty, t);
  99351. sp_1024_proj_mul_qx1_16(tx, ty, sp_1024_g_table[y], t);
  99352. }
  99353. }
  99354. if (err == MP_OKAY) {
  99355. sp_1024_mont_inv_16(tx, tx, t);
  99356. sp_1024_mont_mul_16(r, tx, ty, p1024_mod, p1024_mp_mod);
  99357. XMEMSET(r + 16, 0, sizeof(sp_digit) * 16);
  99358. sp_1024_mont_reduce_16(r, p1024_mod, p1024_mp_mod);
  99359. err = sp_1024_to_mp(r, res);
  99360. }
  99361. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99362. !defined(WOLFSSL_SP_NO_MALLOC)
  99363. if (td != NULL) {
  99364. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  99365. }
  99366. #endif
  99367. return err;
  99368. }
  99369. #endif /* WOLFSSL_SP_SMALL */
  99370. #ifdef HAVE_INTEL_AVX2
  99371. /* Multiply p* in projective co-ordinates by q*.
  99372. *
  99373. * r.x = p.x - (p.y * q.y)
  99374. * r.y = (p.x * q.y) + p.y
  99375. *
  99376. * px [in,out] A single precision integer - X ordinate of number to multiply.
  99377. * py [in,out] A single precision integer - Y ordinate of number to multiply.
  99378. * q [in] A single precision integer - multiplier.
  99379. * t [in] Two single precision integers - temps.
  99380. */
  99381. static void sp_1024_proj_mul_qx1_avx2_16(sp_digit* px, sp_digit* py,
  99382. const sp_digit* q, sp_digit* t)
  99383. {
  99384. sp_digit* t1 = t;
  99385. sp_digit* t2 = t + 2 * 16;
  99386. /* t1 = p.x * q.y */
  99387. sp_1024_mont_mul_avx2_16(t1, px, q, p1024_mod, p1024_mp_mod);
  99388. /* t2 = p.y * q.y */
  99389. sp_1024_mont_mul_avx2_16(t2, py, q, p1024_mod, p1024_mp_mod);
  99390. /* r.x = p.x - (p.y * q.y) */
  99391. sp_1024_mont_sub_avx2_16(px, px, t2, p1024_mod);
  99392. /* r.y = (p.x * q.y) + p.y */
  99393. sp_1024_mont_add_avx2_16(py, t1, py, p1024_mod);
  99394. }
  99395. /* Square p* in projective co-ordinates.
  99396. *
  99397. * px' = (p.x + p.y) * (p.x - p.y) = p.x^2 - p.y^2
  99398. * py' = 2 * p.x * p.y
  99399. *
  99400. * px [in,out] A single precision integer - X ordinate of number to square.
  99401. * py [in,out] A single precision integer - Y ordinate of number to square.
  99402. * t [in] Two single precision integers - temps.
  99403. */
  99404. static void sp_1024_proj_sqr_avx2_16(sp_digit* px, sp_digit* py, sp_digit* t)
  99405. {
  99406. sp_digit* t1 = t;
  99407. sp_digit* t2 = t + 2 * 16;
  99408. /* t1 = p.x + p.y */
  99409. sp_1024_mont_add_avx2_16(t1, px, py, p1024_mod);
  99410. /* t2 = p.x - p.y */
  99411. sp_1024_mont_sub_avx2_16(t2, px, py, p1024_mod);
  99412. /* r.y = p.x * p.y */
  99413. sp_1024_mont_mul_avx2_16(py, px, py, p1024_mod, p1024_mp_mod);
  99414. /* r.x = (p.x + p.y) * (p.x - p.y) */
  99415. sp_1024_mont_mul_avx2_16(px, t1, t2, p1024_mod, p1024_mp_mod);
  99416. /* r.y = (p.x * p.y) * 2 */
  99417. sp_1024_mont_dbl_avx2_16(py, py, p1024_mod);
  99418. }
  99419. #ifdef WOLFSSL_SP_SMALL
  99420. /* Perform the modular exponentiation in Fp* for SAKKE.
  99421. *
  99422. * Simple square and multiply when expontent bit is one algorithm.
  99423. * Square and multiply performed in Fp*.
  99424. *
  99425. * base [in] Base. MP integer.
  99426. * exp [in] Exponent. MP integer.
  99427. * res [out] Result. MP integer.
  99428. * returns 0 on success and MEMORY_E if memory allocation fails.
  99429. */
  99430. static int sp_ModExp_Fp_star_avx2_1024(const mp_int* base, mp_int* exp, mp_int* res)
  99431. {
  99432. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99433. !defined(WOLFSSL_SP_NO_MALLOC)
  99434. sp_digit* td;
  99435. sp_digit* t;
  99436. sp_digit* tx;
  99437. sp_digit* ty;
  99438. sp_digit* b;
  99439. sp_digit* e;
  99440. #else
  99441. sp_digit t[4 * 2 * 16];
  99442. sp_digit tx[2 * 16];
  99443. sp_digit ty[2 * 16];
  99444. sp_digit b[2 * 16];
  99445. sp_digit e[2 * 16];
  99446. #endif
  99447. sp_digit* r;
  99448. int err = MP_OKAY;
  99449. int bits;
  99450. int i;
  99451. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99452. !defined(WOLFSSL_SP_NO_MALLOC)
  99453. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 8 * 16 * 2, NULL,
  99454. DYNAMIC_TYPE_TMP_BUFFER);
  99455. if (td == NULL) {
  99456. err = MEMORY_E;
  99457. }
  99458. #endif
  99459. if (err == MP_OKAY) {
  99460. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99461. !defined(WOLFSSL_SP_NO_MALLOC)
  99462. t = td;
  99463. tx = td + 4 * 16 * 2;
  99464. ty = td + 5 * 16 * 2;
  99465. b = td + 6 * 16 * 2;
  99466. e = td + 7 * 16 * 2;
  99467. #endif
  99468. r = ty;
  99469. bits = mp_count_bits(exp);
  99470. sp_1024_from_mp(b, 16, base);
  99471. sp_1024_from_mp(e, 16, exp);
  99472. XMEMCPY(tx, p1024_norm_mod, sizeof(sp_digit) * 16);
  99473. sp_1024_mul_avx2_16(b, b, p1024_norm_mod);
  99474. err = sp_1024_mod_16(b, b, p1024_mod);
  99475. }
  99476. if (err == MP_OKAY) {
  99477. XMEMCPY(ty, b, sizeof(sp_digit) * 16);
  99478. for (i = bits - 2; i >= 0; i--) {
  99479. sp_1024_proj_sqr_avx2_16(tx, ty, t);
  99480. if ((e[i / 64] >> (i % 64)) & 1) {
  99481. sp_1024_proj_mul_qx1_avx2_16(tx, ty, b, t);
  99482. }
  99483. }
  99484. }
  99485. if (err == MP_OKAY) {
  99486. sp_1024_mont_inv_avx2_16(tx, tx, t);
  99487. XMEMSET(tx + 16, 0, sizeof(sp_digit) * 16);
  99488. sp_1024_mont_reduce_avx2_16(tx, p1024_mod, p1024_mp_mod);
  99489. XMEMSET(ty + 16, 0, sizeof(sp_digit) * 16);
  99490. sp_1024_mont_reduce_avx2_16(ty, p1024_mod, p1024_mp_mod);
  99491. sp_1024_mul_avx2_16(r, tx, ty);
  99492. err = sp_1024_mod_16(r, r, p1024_mod);
  99493. }
  99494. if (err == MP_OKAY) {
  99495. err = sp_1024_to_mp(r, res);
  99496. }
  99497. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99498. !defined(WOLFSSL_SP_NO_MALLOC)
  99499. if (td != NULL) {
  99500. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  99501. }
  99502. #endif
  99503. return err;
  99504. }
  99505. #else
  99506. /* Perform the modular exponentiation in Fp* for SAKKE.
  99507. *
  99508. * Base is fixed to be the g parameter - a precomputed table is used.
  99509. *
  99510. * Striping: 128 points at a distance of 8 combined.
  99511. * Total of 256 points in table.
  99512. * Square and multiply performed in Fp*.
  99513. *
  99514. * base [in] Base. MP integer.
  99515. * exp [in] Exponent. MP integer.
  99516. * res [out] Result. MP integer.
  99517. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  99518. * and MEMORY_E if memory allocation fails.
  99519. */
  99520. static int sp_ModExp_Fp_star_avx2_1024(const mp_int* base, mp_int* exp, mp_int* res)
  99521. {
  99522. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99523. !defined(WOLFSSL_SP_NO_MALLOC)
  99524. sp_digit* td;
  99525. sp_digit* t;
  99526. sp_digit* tx;
  99527. sp_digit* ty;
  99528. #else
  99529. sp_digit t[4 * 2 * 16];
  99530. sp_digit tx[2 * 16];
  99531. sp_digit ty[2 * 16];
  99532. #endif
  99533. sp_digit* r = NULL;
  99534. unsigned char e[128];
  99535. int err = MP_OKAY;
  99536. int i;
  99537. int y;
  99538. (void)base;
  99539. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99540. !defined(WOLFSSL_SP_NO_MALLOC)
  99541. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6 * 16 * 2, NULL,
  99542. DYNAMIC_TYPE_TMP_BUFFER);
  99543. if (td == NULL) {
  99544. err = MEMORY_E;
  99545. }
  99546. #endif
  99547. if (err == MP_OKAY) {
  99548. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99549. !defined(WOLFSSL_SP_NO_MALLOC)
  99550. t = td;
  99551. tx = td + 4 * 16 * 2;
  99552. ty = td + 5 * 16 * 2;
  99553. #endif
  99554. r = ty;
  99555. (void)mp_to_unsigned_bin_len(exp, e, 128);
  99556. XMEMCPY(tx, p1024_norm_mod, sizeof(sp_digit) * 16);
  99557. y = e[112] >> 7;
  99558. y |= (e[96] >> 7) << 1;
  99559. y |= (e[80] >> 7) << 2;
  99560. y |= (e[64] >> 7) << 3;
  99561. y |= (e[48] >> 7) << 4;
  99562. y |= (e[32] >> 7) << 5;
  99563. y |= (e[16] >> 7) << 6;
  99564. y |= (e[0] >> 7) << 7;
  99565. XMEMCPY(ty, sp_1024_g_table[y], sizeof(sp_digit) * 16);
  99566. for (i = 126; i >= 0; i--) {
  99567. y = (e[127 - (i / 8)] >> (i & 0x7)) & 1;
  99568. y |= ((e[111 - (i / 8)] >> (i & 0x7)) & 1) << 1;
  99569. y |= ((e[95 - (i / 8)] >> (i & 0x7)) & 1) << 2;
  99570. y |= ((e[79 - (i / 8)] >> (i & 0x7)) & 1) << 3;
  99571. y |= ((e[63 - (i / 8)] >> (i & 0x7)) & 1) << 4;
  99572. y |= ((e[47 - (i / 8)] >> (i & 0x7)) & 1) << 5;
  99573. y |= ((e[31 - (i / 8)] >> (i & 0x7)) & 1) << 6;
  99574. y |= ((e[15 - (i / 8)] >> (i & 0x7)) & 1) << 7;
  99575. sp_1024_proj_sqr_avx2_16(tx, ty, t);
  99576. sp_1024_proj_mul_qx1_avx2_16(tx, ty, sp_1024_g_table[y], t);
  99577. }
  99578. }
  99579. if (err == MP_OKAY) {
  99580. sp_1024_mont_inv_avx2_16(tx, tx, t);
  99581. sp_1024_mont_mul_avx2_16(r, tx, ty, p1024_mod, p1024_mp_mod);
  99582. XMEMSET(r + 16, 0, sizeof(sp_digit) * 16);
  99583. sp_1024_mont_reduce_avx2_16(r, p1024_mod, p1024_mp_mod);
  99584. err = sp_1024_to_mp(r, res);
  99585. }
  99586. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99587. !defined(WOLFSSL_SP_NO_MALLOC)
  99588. if (td != NULL) {
  99589. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  99590. }
  99591. #endif
  99592. return err;
  99593. }
  99594. #endif /* WOLFSSL_SP_SMALL */
  99595. #endif /* HAVE_INTEL_AVX2 */
  99596. /* Perform the modular exponentiation for SAKKE.
  99597. *
  99598. * base Base. MP integer.
  99599. * exp Exponent. MP integer.
  99600. * res Result. MP integer.
  99601. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  99602. * and MEMORY_E if memory allocation fails.
  99603. */
  99604. int sp_ModExp_Fp_star_1024(const mp_int* base, mp_int* exp, mp_int* res)
  99605. {
  99606. int err;
  99607. #ifdef HAVE_INTEL_AVX2
  99608. word32 cpuid_flags = cpuid_get_flags();
  99609. #endif
  99610. ASSERT_SAVED_VECTOR_REGISTERS();
  99611. #ifdef HAVE_INTEL_AVX2
  99612. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  99613. err = sp_ModExp_Fp_star_avx2_1024(base, exp, res);
  99614. }
  99615. else
  99616. #endif
  99617. {
  99618. err = sp_ModExp_Fp_star_x64_1024(base, exp, res);
  99619. }
  99620. return err;
  99621. }
  99622. /* Multiply p* by q* in projective co-ordinates.
  99623. *
  99624. * p.x' = (p.x * q.x) - (p.y * q.y)
  99625. * p.y' = (p.x * q.y) + (p.y * q.x)
  99626. * But applying Karatsuba:
  99627. * v0 = p.x * q.x
  99628. * v1 = p.y * q.y
  99629. * p.x' = v0 - v1
  99630. * p.y' = (px + py) * (qx + qy) - v0 - v1
  99631. *
  99632. * px [in,out] A single precision integer - X ordinate of number to multiply.
  99633. * py [in,out] A single precision integer - Y ordinate of number to multiply.
  99634. * qx [in] A single precision integer - X ordinate of number of
  99635. * multiplier.
  99636. * qy [in] A single precision integer - Y ordinate of number of
  99637. * multiplier.
  99638. * t [in] Two single precision integers - temps.
  99639. */
  99640. static void sp_1024_proj_mul_16(sp_digit* px, sp_digit* py,
  99641. const sp_digit* qx, const sp_digit* qy, sp_digit* t)
  99642. {
  99643. sp_digit* t1 = t;
  99644. sp_digit* t2 = t + 2 * 16;
  99645. /* t1 = px + py */
  99646. sp_1024_mont_add_16(t1, px, py, p1024_mod);
  99647. /* t2 = qx + qy */
  99648. sp_1024_mont_add_16(t2, qx, qy, p1024_mod);
  99649. /* t2 = (px + py) * (qx + qy) */
  99650. sp_1024_mont_mul_16(t2, t1, t2, p1024_mod, p1024_mp_mod);
  99651. /* t1 = py * qy */
  99652. sp_1024_mont_mul_16(t1, py, qy, p1024_mod, p1024_mp_mod);
  99653. /* t2 = (px + py) * (qx + qy) - (py * qy) */
  99654. sp_1024_mont_sub_16(t2, t2, t1, p1024_mod);
  99655. /* px = px * qx */
  99656. sp_1024_mont_mul_16(px, px, qx, p1024_mod, p1024_mp_mod);
  99657. /* py = (px + py) * (qx + qy) - (py * qy) - (px * qx) */
  99658. sp_1024_mont_sub_16(py, t2, px, p1024_mod);
  99659. /* px = (px * qx) - (py * qy)*/
  99660. sp_1024_mont_sub_16(px, px, t1, p1024_mod);
  99661. }
  99662. #ifndef WOLFSSL_SP_SMALL
  99663. /*
  99664. * Convert point from projective to affine but keep in Montgomery form.
  99665. *
  99666. * p [in,out] Point to convert.
  99667. * t [in] Temporary numbers: 2.
  99668. */
  99669. static void sp_1024_mont_map_16(sp_point_1024* p, sp_digit* t)
  99670. {
  99671. sp_digit* t1 = t;
  99672. sp_digit* t2 = t + 2 * 16;
  99673. sp_1024_mont_inv_16(t1, p->z, t2);
  99674. sp_1024_mont_sqr_16(t2, t1, p1024_mod, p1024_mp_mod);
  99675. sp_1024_mont_mul_16(t1, t2, t1, p1024_mod, p1024_mp_mod);
  99676. sp_1024_mont_mul_16(p->x, p->x, t2, p1024_mod, p1024_mp_mod);
  99677. sp_1024_mont_mul_16(p->y, p->y, t1, p1024_mod, p1024_mp_mod);
  99678. XMEMCPY(p->z, p1024_norm_mod, sizeof(sp_digit) * 16);
  99679. }
  99680. #endif /* WOLFSSL_SP_SMALL */
  99681. /*
  99682. * Calculate gradient of line through P, P and [-2]P, accumulate line and
  99683. * double P.
  99684. *
  99685. * Calculations:
  99686. * l = 3 * (p.x^2 - p.z^4) = 3 * (p.x - p.z^2) * (p.x + p.z^2)
  99687. * r.x = l * (p.x + q.x * p.z^2) - 2 * p.y^2
  99688. * r.y = 2 * p.y * p.z^3 * q.y (= p'.z * p.z^2 * q.y)
  99689. * v* = v*^2 * r*
  99690. * p'.x = l^2 - 8 * p.y^2 * p.x
  99691. * p'.y = (4 * p.y^2 * p.x - p'.x) * l - 8 * p.y^4
  99692. * p'.z = 2 * p.y * p.z
  99693. *
  99694. * @param [in,out] vx X-ordinate of projective value in F*.
  99695. * @param [in,out] vy Y-ordinate of projective value in F*.
  99696. * @param [in,out] p ECC point - point on E(F_p^2) to double.
  99697. * @param [in] q ECC point - second point on E(F_P^2).
  99698. * @param [in] t SP temporaries (6 used).
  99699. */
  99700. static void sp_1024_accumulate_line_dbl_16(sp_digit* vx, sp_digit* vy,
  99701. sp_point_1024* p, const sp_point_1024* q, sp_digit* t)
  99702. {
  99703. sp_digit* t1 = t + 0 * 16;
  99704. sp_digit* pz2 = t + 2 * 16;
  99705. sp_digit* rx = t + 4 * 16;
  99706. sp_digit* ry = t + 6 * 16;
  99707. sp_digit* l = t + 8 * 16;
  99708. sp_digit* ty = t + 10 * 16;
  99709. /* v = v^2 */
  99710. sp_1024_proj_sqr_16(vx, vy, t);
  99711. /* pz2 = p.z^2 */
  99712. sp_1024_mont_sqr_16(pz2, p->z, p1024_mod, p1024_mp_mod);
  99713. /* t1 = p.x + p.z^2 */
  99714. sp_1024_mont_add_16(ty, p->x, pz2, p1024_mod);
  99715. /* l = p.x - p.z^2 */
  99716. sp_1024_mont_sub_16(l, p->x, pz2, p1024_mod);
  99717. /* t1 = (p.x + p.z^2) * (p.x - p.z^2) = p.x^2 - p.z^4 */
  99718. sp_1024_mont_mul_16(t1, l, ty, p1024_mod, p1024_mp_mod);
  99719. /* l = 3 * (p.x^2 - p.z^4) */
  99720. sp_1024_mont_tpl_16(l, t1, p1024_mod);
  99721. /* t1 = q.x * p.z^2 */
  99722. sp_1024_mont_mul_16(t1, q->x, pz2, p1024_mod, p1024_mp_mod);
  99723. /* t1 = p.x + q.x * p.z^2 */
  99724. sp_1024_mont_add_16(t1, p->x, t1, p1024_mod);
  99725. /* r.x = l * (p.x + q.x * p.z^2) */
  99726. sp_1024_mont_mul_16(rx, l, t1, p1024_mod, p1024_mp_mod);
  99727. /* r.y = 2 * p.y */
  99728. sp_1024_mont_dbl_16(ry, p->y, p1024_mod);
  99729. /* ty = 4 * p.y ^ 2 */
  99730. sp_1024_mont_sqr_16(ty, ry, p1024_mod, p1024_mp_mod);
  99731. /* t1 = 2 * p.y ^ 2 */
  99732. sp_1024_div2_16(t1, ty, p1024_mod);
  99733. /* r.x -= 2 * (p.y ^ 2) */
  99734. sp_1024_mont_sub_16(rx, rx, t1, p1024_mod);
  99735. /* p'.z = p.y * 2 * p.z */
  99736. sp_1024_mont_mul_16(p->z, p->z, ry, p1024_mod, p1024_mp_mod);
  99737. /* r.y = p'.z * p.z^2 */
  99738. sp_1024_mont_mul_16(t1, p->z, pz2, p1024_mod, p1024_mp_mod);
  99739. /* r.y = p'.z * p.z^2 * q.y */
  99740. sp_1024_mont_mul_16(ry, t1, q->y, p1024_mod, p1024_mp_mod);
  99741. /* v = v^2 * r */
  99742. sp_1024_proj_mul_16(vx, vy, rx, ry, t);
  99743. /* Double point using previously calculated values
  99744. * l = 3 * (p.x - p.z^2).(p.x + p.z^2)
  99745. * ty = 4 * p.y^2
  99746. * p'.z = 2 * p.y * p.z
  99747. */
  99748. /* t1 = (4 * p.y^2) ^ 2 = 16 * p.y^4 */
  99749. sp_1024_mont_sqr_16(t1, ty, p1024_mod, p1024_mp_mod);
  99750. /* t1 = 16 * p.y^4 / 2 = 8 * p.y^4 */
  99751. sp_1024_div2_16(t1, t1, p1024_mod);
  99752. /* p'.y = 4 * p.y^2 * p.x */
  99753. sp_1024_mont_mul_16(p->y, ty, p->x, p1024_mod, p1024_mp_mod);
  99754. /* p'.x = l^2 */
  99755. sp_1024_mont_sqr_16(p->x, l, p1024_mod, p1024_mp_mod);
  99756. /* p'.x = l^2 - 4 * p.y^2 * p.x */
  99757. sp_1024_mont_sub_16(p->x, p->x, p->y, p1024_mod);
  99758. /* p'.x = l^2 - 8 * p.y^2 * p.x */
  99759. sp_1024_mont_sub_16(p->x, p->x, p->y, p1024_mod);
  99760. /* p'.y = 4 * p.y^2 * p.x - p.x' */
  99761. sp_1024_mont_sub_16(ty, p->y, p->x, p1024_mod);
  99762. /* p'.y = (4 * p.y^2 * p.x - p'.x) * l */
  99763. sp_1024_mont_mul_16(p->y, ty, l, p1024_mod, p1024_mp_mod);
  99764. /* p'.y = (4 * p.y^2 * p.x - p'.x) * l - 8 * p.y^4 */
  99765. sp_1024_mont_sub_16(p->y, p->y, t1, p1024_mod);
  99766. }
  99767. #ifdef WOLFSSL_SP_SMALL
  99768. /*
  99769. * Calculate gradient of line through C, P and -C-P, accumulate line and
  99770. * add P to C.
  99771. *
  99772. * Calculations:
  99773. * r.x = (q.x + p.x) * c.y - (q.x * c.z^2 + c.x) * p.y * c.z
  99774. * r.y = (c.x - p.x * c.z^2) * q.y * c.z
  99775. * v* = v* * r*
  99776. * r = p.y * c.z^3 - c.y
  99777. * c'.x = r^2 + h^3 - 2 * c.x * h^2
  99778. * c'.y = r * (c'.x - c.x * h^2) - c.y * h^3
  99779. * c'.z = (c.x - p.x * c.z^2) * c.z
  99780. *
  99781. * @param [in,out] vx X-ordinate of projective value in F*.
  99782. * @param [in,out] vy Y-ordinate of projective value in F*.
  99783. * @param [in,out] c ECC point - current point on E(F_p^2) to be added
  99784. * to.
  99785. * @param [in] p ECC point - point on E(F_p^2) to add.
  99786. * @param [in] q ECC point - second point on E(F_P^2).
  99787. * @param [in] qx_px SP that is a constant value across adds.
  99788. * @param [in] t SP temporaries (6 used).
  99789. */
  99790. static void sp_1024_accumulate_line_add_one_16(sp_digit* vx, sp_digit* vy,
  99791. sp_point_1024* c, sp_point_1024* p, sp_point_1024* q, sp_digit* qx_px,
  99792. sp_digit* t)
  99793. {
  99794. sp_digit* t1 = t;
  99795. sp_digit* t2 = t + 2 * 16;
  99796. sp_digit* rx = t + 4 * 16;
  99797. sp_digit* ry = t + 6 * 16;
  99798. sp_digit* h = t + 8 * 16;
  99799. sp_digit* r = t + 10 * 16;
  99800. /* r.x = (q.x + p.x) * c.y */
  99801. sp_1024_mont_mul_16(rx, qx_px, c->y, p1024_mod, p1024_mp_mod);
  99802. /* t2 = c.z^2 */
  99803. sp_1024_mont_sqr_16(t2, c->z, p1024_mod, p1024_mp_mod);
  99804. /* t1 = q.x * c.z^2 */
  99805. sp_1024_mont_mul_16(t1, q->x, t2, p1024_mod, p1024_mp_mod);
  99806. /* t1 = q.x * c.z^2 + c.x */
  99807. sp_1024_mont_add_16(h, t1, c->x, p1024_mod);
  99808. /* r = p.y * c.z */
  99809. sp_1024_mont_mul_16(ry, p->y, c->z, p1024_mod, p1024_mp_mod);
  99810. /* t1 = (q.x * c.z^2 + c.x) * p.y * c.z */
  99811. sp_1024_mont_mul_16(t1, h, ry, p1024_mod, p1024_mp_mod);
  99812. /* r = p.y * c.z * c.z^2 = p.y * c.z^3 */
  99813. sp_1024_mont_mul_16(r, ry, t2, p1024_mod, p1024_mp_mod);
  99814. /* r.x -= (q.x * c.z^2 + c.x) * p.y * c.z */
  99815. sp_1024_mont_sub_16(rx, rx, t1, p1024_mod);
  99816. /* t1 = p.x * c.z^2 */
  99817. sp_1024_mont_mul_16(t1, p->x, t2, p1024_mod, p1024_mp_mod);
  99818. /* h = c.x - p.x * c.z^2 */
  99819. sp_1024_mont_sub_16(h, c->x, t1, p1024_mod);
  99820. /* c'.z = (c.x - p.x * c.z^2) * c.z */
  99821. sp_1024_mont_mul_16(c->z, h, c->z, p1024_mod, p1024_mp_mod);
  99822. /* r.y = (c.x - p.x * c.z^2) * c.z * q.y */
  99823. sp_1024_mont_mul_16(ry, c->z, q->y, p1024_mod, p1024_mp_mod);
  99824. /* v = v * r */
  99825. sp_1024_proj_mul_16(vx, vy, rx, ry, t);
  99826. /* Add p to c using previously calculated values.
  99827. * h = c.x - p.x * c.z^2
  99828. * r = p.y * c.z^3
  99829. * c'.z = (c.x - p.x * c.z^2) * c.z
  99830. */
  99831. /* r = p.y * c.z^3 - c.y */
  99832. sp_1024_mont_sub_16(r, r, c->y, p1024_mod);
  99833. /* t1 = r^2 */
  99834. sp_1024_mont_sqr_16(t1, r, p1024_mod, p1024_mp_mod);
  99835. /* t2 = h^2 */
  99836. sp_1024_mont_sqr_16(rx, h, p1024_mod, p1024_mp_mod);
  99837. /* ry = c.x * h^2 */
  99838. sp_1024_mont_mul_16(ry, c->x, rx, p1024_mod, p1024_mp_mod);
  99839. /* t2 = h^3 */
  99840. sp_1024_mont_mul_16(t2, rx, h, p1024_mod, p1024_mp_mod);
  99841. /* c->x = r^2 + h^3 */
  99842. sp_1024_mont_add_16(c->x, t1, t2, p1024_mod);
  99843. /* t1 = 2 * c.x * h^2 */
  99844. sp_1024_mont_dbl_16(t1, ry, p1024_mod);
  99845. /* c'.x = r^2 + h^3 - 2 * c.x * h^2 */
  99846. sp_1024_mont_sub_16(c->x, c->x, t1, p1024_mod);
  99847. /* ry = c'.x - c.x * h^2 */
  99848. sp_1024_mont_sub_16(t1, c->x, ry, p1024_mod);
  99849. /* ry = r * (c'.x - c.x * h^2) */
  99850. sp_1024_mont_mul_16(ry, t1, r, p1024_mod, p1024_mp_mod);
  99851. /* t2 = c.y * h^3 */
  99852. sp_1024_mont_mul_16(t1, t2, c->y, p1024_mod, p1024_mp_mod);
  99853. /* c'.y = r * (c'.x - c.x * h^2) - c.y * h^3 */
  99854. sp_1024_mont_sub_16(c->y, ry, t1, p1024_mod);
  99855. }
  99856. /*
  99857. * Calculate r = pairing <P, Q>.
  99858. *
  99859. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  99860. *
  99861. * @param [in] key SAKKE key.
  99862. * @param [in] p First point on E(F_p)[q].
  99863. * @param [in] q Second point on E(F_p)[q].
  99864. * @param [in] r Result of calculation.
  99865. * @return 0 on success.
  99866. * @return MEMORY_E when dynamic memory allocation fails.
  99867. * @return Other -ve value on internal failure.
  99868. */
  99869. static int sp_Pairing_x64_1024(const ecc_point* pm, const ecc_point* qm, mp_int* res)
  99870. {
  99871. int err = MP_OKAY;
  99872. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99873. !defined(WOLFSSL_SP_NO_MALLOC)
  99874. sp_digit* td = NULL;
  99875. sp_digit* t;
  99876. sp_digit* vx;
  99877. sp_digit* vy;
  99878. sp_digit* qx_px;
  99879. #else
  99880. sp_digit t[6 * 2 * 16];
  99881. sp_digit vx[2 * 16];
  99882. sp_digit vy[2 * 16];
  99883. sp_digit qx_px[2 * 16];
  99884. sp_point_1024 pd;
  99885. sp_point_1024 qd;
  99886. sp_point_1024 cd;
  99887. #endif
  99888. sp_point_1024* p = NULL;
  99889. sp_point_1024* q = NULL;
  99890. sp_point_1024* c = NULL;
  99891. sp_digit* r = NULL;
  99892. int i;
  99893. err = sp_1024_point_new_16(NULL, pd, p);
  99894. if (err == MP_OKAY) {
  99895. err = sp_1024_point_new_16(NULL, qd, q);
  99896. }
  99897. if (err == MP_OKAY) {
  99898. err = sp_1024_point_new_16(NULL, cd, c);
  99899. }
  99900. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99901. !defined(WOLFSSL_SP_NO_MALLOC)
  99902. if (err == MP_OKAY) {
  99903. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9 * 16 * 2, NULL,
  99904. DYNAMIC_TYPE_TMP_BUFFER);
  99905. if (td == NULL) {
  99906. err = MEMORY_E;
  99907. }
  99908. }
  99909. #endif
  99910. if (err == MP_OKAY) {
  99911. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99912. !defined(WOLFSSL_SP_NO_MALLOC)
  99913. t = td;
  99914. vx = td + 6 * 16 * 2;
  99915. vy = td + 7 * 16 * 2;
  99916. qx_px = td + 8 * 16 * 2;
  99917. #endif
  99918. r = vy;
  99919. sp_1024_point_from_ecc_point_16(p, pm);
  99920. sp_1024_point_from_ecc_point_16(q, qm);
  99921. err = sp_1024_mod_mul_norm_16(p->x, p->x, p1024_mod);
  99922. }
  99923. if (err == MP_OKAY) {
  99924. err = sp_1024_mod_mul_norm_16(p->y, p->y, p1024_mod);
  99925. }
  99926. if (err == MP_OKAY) {
  99927. err = sp_1024_mod_mul_norm_16(p->z, p->z, p1024_mod);
  99928. }
  99929. if (err == MP_OKAY) {
  99930. err = sp_1024_mod_mul_norm_16(q->x, q->x, p1024_mod);
  99931. }
  99932. if (err == MP_OKAY) {
  99933. err = sp_1024_mod_mul_norm_16(q->y, q->y, p1024_mod);
  99934. }
  99935. if (err == MP_OKAY) {
  99936. XMEMCPY(c, p, sizeof(sp_point_1024));
  99937. XMEMSET(vx, 0, sizeof(sp_digit) * 2 * 16);
  99938. vx[0] = 1;
  99939. XMEMSET(vy, 0, sizeof(sp_digit) * 2 * 16);
  99940. sp_1024_mont_add_16(qx_px, q->x, p->x, p1024_mod);
  99941. for (i = 1020; i >= 0; i--) {
  99942. /* Accumulate line into v and double point. */
  99943. sp_1024_accumulate_line_dbl_16(vx, vy, c, q, t);
  99944. if ((i > 0) && ((p1024_order[i / 64] >> (i % 64)) & 1)) {
  99945. /* Accumulate line into v and add P into C. */
  99946. sp_1024_accumulate_line_add_one_16(vx, vy, c, p, q, qx_px, t);
  99947. }
  99948. }
  99949. /* Final exponentiation */
  99950. sp_1024_proj_sqr_16(vx, vy, t);
  99951. sp_1024_proj_sqr_16(vx, vy, t);
  99952. /* Convert from PF_p[q] to F_p */
  99953. sp_1024_mont_inv_16(vx, vx, t);
  99954. sp_1024_mont_mul_16(r, vx, vy, p1024_mod, p1024_mp_mod);
  99955. XMEMSET(r + 16, 0, sizeof(sp_digit) * 16);
  99956. sp_1024_mont_reduce_16(r, p1024_mod, p1024_mp_mod);
  99957. err = sp_1024_to_mp(r, res);
  99958. }
  99959. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  99960. !defined(WOLFSSL_SP_NO_MALLOC)
  99961. if (td != NULL) {
  99962. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  99963. }
  99964. #endif
  99965. sp_1024_point_free_16(c, 1, NULL);
  99966. sp_1024_point_free_16(q, 1, NULL);
  99967. sp_1024_point_free_16(p, 1, NULL);
  99968. return err;
  99969. }
  99970. #else
  99971. /*
  99972. * Calculate gradient of line through C, P and -C-P, accumulate line and
  99973. * add P to C.
  99974. *
  99975. * Both C and P have z ordinates to use in the calculation.
  99976. *
  99977. * Calculations:
  99978. * r.x = (q.x * c.z^2 + c.x) * p.y * c.z - (q.x * p.z^2 + p.x) * c.y * p.z
  99979. * r.y = (p.x * c.z^2 - c.x * p.z^2) * q.y * p.z * c.z
  99980. * v* = v* * r*
  99981. * h = p.x * c.z^2 - c.x * p.z^2
  99982. * r = p.y * c.z^3 - c.y * p.z^3
  99983. * c'.x = r^2 - h^3 - 2 * c.x * p.z^2 * h^2
  99984. * c'.y = r * (c.x * p.z^2 * h^2 - c'.x) - c.y * p.z^3 * h^3
  99985. * c'.z = (p.x * c.z^2 - c.x * p.z^2) * c.z
  99986. *
  99987. * @param [in,out] vx X-ordinate of projective value in F*.
  99988. * @param [in,out] vy Y-ordinate of projective value in F*.
  99989. * @param [in,out] c ECC point - current point on E(F_p^2) to be added
  99990. * to.
  99991. * @param [in,out] p ECC point - point on E(F_p^2) to add.
  99992. * @param [in,out] q ECC point - second point on E(F_P^2).
  99993. * @param [in,out] t SP temporaries (6 used).
  99994. * @param [in,out] neg Indicates to use negative P.
  99995. * @return 0 on success.
  99996. * @return MEMORY_E when dynamic memory allocation fails.
  99997. * @return Other -ve value on internal failure.
  99998. */
  99999. static void sp_1024_accumulate_line_add_n_16(sp_digit* vx, sp_digit* vy,
  100000. const sp_point_1024* p, const sp_point_1024* q,
  100001. sp_point_1024* c, sp_digit* t, int neg)
  100002. {
  100003. sp_digit* t1 = t;
  100004. sp_digit* t2 = t + 2 * 16;
  100005. sp_digit* rx = t + 4 * 16;
  100006. sp_digit* ry = t + 6 * 16;
  100007. sp_digit* h = t + 8 * 16;
  100008. sp_digit* r = t + 10 * 16;
  100009. /* h = p.z^2 */
  100010. sp_1024_mont_sqr_16(h, p->z, p1024_mod, p1024_mp_mod);
  100011. /* rx = q.x * p.z^2 */
  100012. sp_1024_mont_mul_16(rx, q->x, h, p1024_mod, p1024_mp_mod);
  100013. /* rx = q.x * p.z^2 + p.x */
  100014. sp_1024_mont_add_16(t2, rx, p->x, p1024_mod);
  100015. /* c.y = c.y * p.z */
  100016. sp_1024_mont_mul_16(t1, c->y, p->z, p1024_mod, p1024_mp_mod);
  100017. /* r.x = (q.x * p.z^2 + p.x) * c.y * p.z */
  100018. sp_1024_mont_mul_16(rx, t2, t1, p1024_mod, p1024_mp_mod);
  100019. /* c.y = c.y * p.z^3 */
  100020. sp_1024_mont_mul_16(c->y, t1, h, p1024_mod, p1024_mp_mod);
  100021. /* t2 = c.z^2 */
  100022. sp_1024_mont_sqr_16(t2, c->z, p1024_mod, p1024_mp_mod);
  100023. /* t1 = q.x * c.z^2 */
  100024. sp_1024_mont_mul_16(t1, q->x, t2, p1024_mod, p1024_mp_mod);
  100025. /* t1 = q.x * c.z^2 + c.x */
  100026. sp_1024_mont_add_16(t1, t1, c->x, p1024_mod);
  100027. /* c.x = c.x * p.z^2 */
  100028. sp_1024_mont_mul_16(c->x, c->x, h, p1024_mod, p1024_mp_mod);
  100029. /* r = p.y * c.z */
  100030. sp_1024_mont_mul_16(r, p->y, c->z, p1024_mod, p1024_mp_mod);
  100031. if (neg) {
  100032. /* r = -p.y * c.z */
  100033. sp_1024_mont_sub_16(r, p1024_mod, r, p1024_mod);
  100034. }
  100035. /* t1 = (q.x * c.z^2 + c.x) * p.y * c.z */
  100036. sp_1024_mont_mul_16(ry, t1, r, p1024_mod, p1024_mp_mod);
  100037. /* r.x -= (q.x * c.z^2 + c.x) * p.y * c.z */
  100038. sp_1024_mont_sub_16(rx, ry, rx, p1024_mod);
  100039. /* t1 = p.x * c.z^2 */
  100040. sp_1024_mont_mul_16(t1, p->x, t2, p1024_mod, p1024_mp_mod);
  100041. /* h = p.x * c.z^2 - c.x * p.z^2 */
  100042. sp_1024_mont_sub_16(h, t1, c->x, p1024_mod);
  100043. /* c'.z = (p.x * c.z^2 - c.x * p.z^2) * c.z */
  100044. sp_1024_mont_mul_16(t1, h, c->z, p1024_mod, p1024_mp_mod);
  100045. /* c'.z = (p.x * c.z^2 - c.x * p.z^2) * c.z * p.z */
  100046. sp_1024_mont_mul_16(c->z, t1, p->z, p1024_mod, p1024_mp_mod);
  100047. /* r.y = (p.x * c.z^2 - c.x * p.z^2) * c.z * p.z * q.y */
  100048. sp_1024_mont_mul_16(ry, c->z, q->y, p1024_mod, p1024_mp_mod);
  100049. /* r = p.y * c.z^3 */
  100050. sp_1024_mont_mul_16(t1, r, t2, p1024_mod, p1024_mp_mod);
  100051. /* r = p.y * c.z^3 - c.y * p.z^3 */
  100052. sp_1024_mont_sub_16(r, t1, c->y, p1024_mod);
  100053. /* v = v * r */
  100054. sp_1024_proj_mul_16(vx, vy, rx, ry, t);
  100055. /* Add p to c using previously calculated values.
  100056. * h = p.x * c.z^2 - c.x * p.z^2
  100057. * r = p.y * c.z^3 - c.y * p.z^3
  100058. * c'.z = (p.x * c.z^2 - c.x * p.z^2) * c.z
  100059. */
  100060. /* t1 = r^2 */
  100061. sp_1024_mont_sqr_16(t1, r, p1024_mod, p1024_mp_mod);
  100062. /* t2 = h^2 */
  100063. sp_1024_mont_sqr_16(rx, h, p1024_mod, p1024_mp_mod);
  100064. /* ry = c.x * p.z^2 * h^2 */
  100065. sp_1024_mont_mul_16(ry, rx, c->x, p1024_mod, p1024_mp_mod);
  100066. /* t2 = h^3 */
  100067. sp_1024_mont_mul_16(t2, rx, h, p1024_mod, p1024_mp_mod);
  100068. /* c'.x = r^2 - h^3 */
  100069. sp_1024_mont_sub_16(c->x, t1, t2, p1024_mod);
  100070. /* t1 = 2 * c.x * p.z^2 * h^2 */
  100071. sp_1024_mont_dbl_16(t1, ry, p1024_mod);
  100072. /* c'.x = r^2 - h^3 - 2 * c.x * p.z^2 * h^2 */
  100073. sp_1024_mont_sub_16(c->x, c->x, t1, p1024_mod);
  100074. /* ry = c.x * p.z^2 * h^2 - c'.x */
  100075. sp_1024_mont_sub_16(t1, ry, c->x, p1024_mod);
  100076. /* ry = r * (c.x * p.z^2 * h^2 - c'.x) */
  100077. sp_1024_mont_mul_16(ry, t1, r, p1024_mod, p1024_mp_mod);
  100078. /* t2 = c.y * p.z^3 * h^3 */
  100079. sp_1024_mont_mul_16(t1, t2, c->y, p1024_mod, p1024_mp_mod);
  100080. /* c'.y = r * (c.x * p.z^2 * h^2 - c'.x) - c.y * p.z^3 * h^3 */
  100081. sp_1024_mont_sub_16(c->y, ry, t1, p1024_mod);
  100082. }
  100083. /*
  100084. * Perform n accumulate doubles and doubles of P.
  100085. *
  100086. * py = 2 * p.y
  100087. *
  100088. * For each double:
  100089. * Calculate gradient of line through P, P and [-2]P, accumulate line and
  100090. * double P.
  100091. *
  100092. * Calculations:
  100093. * l = 3 * (p.x^2 - p.z^4) = 3 * (p.x - p.z^2) * (p.x + p.z^2)
  100094. * r.x = l * (p.x + q.x * p.z^2) - py^2 / 2
  100095. * r.y = py * p.z^3 * q.y (= p'.z * p.z^2 * q.y)
  100096. * v* = v*^2 * r*
  100097. * p'.x = l^2 - 2 * py^2 * p.x
  100098. * py' = (py^2 * p.x - p'.x) * l - py^4 (= 2 * p'.y)
  100099. * p'.z = py * p.z
  100100. *
  100101. * Finally:
  100102. * p'.y = py' / 2
  100103. *
  100104. * @param [in,out] vx X-ordinate of projective value in F*.
  100105. * @param [in,out] vy Y-ordinate of projective value in F*.
  100106. * @param [in,out] p ECC point - point on E(F_p^2) to double.
  100107. * @param [in] q ECC point - second point on E(F_P^2).
  100108. * @param [in] n Number of times to double.
  100109. * @param [in] t SP temporaries (6 used).
  100110. */
  100111. static void sp_1024_accumulate_line_dbl_n_16(sp_digit* vx, sp_digit* vy,
  100112. sp_point_1024* p, const sp_point_1024* q, int n, sp_digit* t)
  100113. {
  100114. sp_digit* t1 = t + 0 * 16;
  100115. sp_digit* pz2 = t + 2 * 16;
  100116. sp_digit* rx = t + 4 * 16;
  100117. sp_digit* ry = t + 6 * 16;
  100118. sp_digit* l = t + 8 * 16;
  100119. sp_digit* ty = t + 10 * 16;
  100120. int i;
  100121. /* py = 2 * p.y */
  100122. sp_1024_mont_dbl_16(p->y, p->y, p1024_mod);
  100123. for (i = 0; i < n; i++) {
  100124. /* v = v^2 */
  100125. sp_1024_proj_sqr_16(vx, vy, t);
  100126. /* pz2 = p.z^2 */
  100127. sp_1024_mont_sqr_16(pz2, p->z, p1024_mod, p1024_mp_mod);
  100128. /* t1 = p.x + p.z^2 */
  100129. sp_1024_mont_add_16(t1, p->x, pz2, p1024_mod);
  100130. /* l = p.x - p.z^2 */
  100131. sp_1024_mont_sub_16(l, p->x, pz2, p1024_mod);
  100132. /* t1 = (p.x + p.z^2) * (p.x - p.z^2) = p.x^2 - p.z^4 */
  100133. sp_1024_mont_mul_16(ty, l, t1, p1024_mod, p1024_mp_mod);
  100134. /* l = 3 * (p.x^2 - p.z^4) */
  100135. sp_1024_mont_tpl_16(l, ty, p1024_mod);
  100136. /* t1 = q.x * p.z^2 */
  100137. sp_1024_mont_mul_16(t1, q->x, pz2, p1024_mod, p1024_mp_mod);
  100138. /* t1 = p.x + q.x * p.z^2 */
  100139. sp_1024_mont_add_16(t1, p->x, t1, p1024_mod);
  100140. /* r.x = l * (p.x + q.x * p.z^2) */
  100141. sp_1024_mont_mul_16(rx, l, t1, p1024_mod, p1024_mp_mod);
  100142. /* ty = py ^ 2 */
  100143. sp_1024_mont_sqr_16(ty, p->y, p1024_mod, p1024_mp_mod);
  100144. /* t1 = py ^ 2 / 2 */
  100145. sp_1024_div2_16(t1, ty, p1024_mod);
  100146. /* r.x -= py ^ 2 / 2 */
  100147. sp_1024_mont_sub_16(rx, rx, t1, p1024_mod);
  100148. /* p'.z = py * pz */
  100149. sp_1024_mont_mul_16(p->z, p->z, p->y, p1024_mod, p1024_mp_mod);
  100150. /* r.y = p'.z * p.z^2 */
  100151. sp_1024_mont_mul_16(t1, p->z, pz2, p1024_mod, p1024_mp_mod);
  100152. /* r.y = p'.z * p.z^2 * q.y */
  100153. sp_1024_mont_mul_16(ry, t1, q->y, p1024_mod, p1024_mp_mod);
  100154. /* v = v^2 * r */
  100155. sp_1024_proj_mul_16(vx, vy, rx, ry, t);
  100156. /* Double point using previously calculated values
  100157. * l = 3 * (p.x - p.z^2).(p.x + p.z^2)
  100158. * ty = py^2
  100159. * p'.z = py * p.z
  100160. */
  100161. /* t1 = py^2 ^ 2 = py^4 */
  100162. sp_1024_mont_sqr_16(t1, ty, p1024_mod, p1024_mp_mod);
  100163. /* py' = py^2 * p. x */
  100164. sp_1024_mont_mul_16(p->y, ty, p->x, p1024_mod, p1024_mp_mod);
  100165. /* p'.x = l^2 */
  100166. sp_1024_mont_sqr_16(p->x, l, p1024_mod, p1024_mp_mod);
  100167. /* p'.x = l^2 - py^2 * p.x */
  100168. sp_1024_mont_sub_16(p->x, p->x, p->y, p1024_mod);
  100169. /* p'.x = l^2 - 2 * p.y^2 * p.x */
  100170. sp_1024_mont_sub_16(p->x, p->x, p->y, p1024_mod);
  100171. /* py' = py^2 * p.x - p.x' */
  100172. sp_1024_mont_sub_16(ty, p->y, p->x, p1024_mod);
  100173. /* py' = (p.y^2 * p.x - p'.x) * l */
  100174. sp_1024_mont_mul_16(p->y, ty, l, p1024_mod, p1024_mp_mod);
  100175. /* py' = (p.y^2 * p.x - p'.x) * l * 2 */
  100176. sp_1024_mont_dbl_16(p->y, p->y, p1024_mod);
  100177. /* py' = (p.y^2 * p.x - p'.x) * l * 2 - p.y^4 */
  100178. sp_1024_mont_sub_16(p->y, p->y, t1, p1024_mod);
  100179. }
  100180. /* p'.y = py' / 2 */
  100181. sp_1024_div2_16(p->y, p->y, p1024_mod);
  100182. }
  100183. /* Operations to perform based on order - 1.
  100184. * Sliding window. Start at bottom and stop when bottom bit is one.
  100185. * Subtract if top bit in window is one.
  100186. * Width of 6 bits.
  100187. * Pairs: #dbls, add/subtract window value
  100188. */
  100189. static const signed char sp_1024_order_op[] = {
  100190. 5, 6, -13, 9, -21, 6, -5, 8, 31, 6, 3, 6, -27, 6, 25, 9,
  100191. -1, 6, -11, 6, -13, 6, -7, 6, -15, 6, -29, 7, 25, 6, -9, 6,
  100192. -19, 7, 3, 6, 11, 9, -23, 6, 1, 6, 27, 6, 1, 7, -25, 8,
  100193. 13, 7, -13, 7, -23, 10, 19, 7, 7, 7, -3, 7, 27, 6, -7, 7,
  100194. -21, 7, 11, 7, 31, 8, 1, 7, -23, 6, -17, 6, -3, 10, 11, 6,
  100195. -21, 7, -27, 11, -29, 6, -1, 10, 15, 8, 27, 7, 17, 6, 17, 7,
  100196. -13, 8, 13, 6, 21, 7, -29, 6, 19, 7, -25, 6, 11, 9, 29, 7,
  100197. -7, 8, 27, 7, 29, 10, -1, 8, -7, 8, 17, 6, 17, 7, -27, 7,
  100198. -21, 6, -9, 6, -27, 12, -23, 6, 19, 6, 13, 6, -11, 7, 27, 6,
  100199. 17, 6, -7, 6, -25, 7, -29, 6, 9, 7, 7, 6, 13, 6, -25, 6,
  100200. -19, 6, 13, 6, -11, 6, 5, 8, 19, 6, -21, 8, 23, 7, 27, 6,
  100201. -13, 6, -19, 11, 29, 7, -15, 6, -9, 7, -21, 10, -3, 7, 21, 10,
  100202. 25, 6, -15, 6, -23, 6, 21, 6, 1, 6, 21, 7, -3, 6, -3, 7,
  100203. -7, 6, -23, 7, 7, 8, 15, 9, 5, 6, -11, 6, 21, 11, -27, 7,
  100204. 27, 6, -11, 6, 31, 6, -21, 6, 19, 6, -7, 8, -7, 13, -3, 6,
  100205. -7, 7, -3, 6, 1, 6, 7, 8, 19, 8, 11, 9, -9, 7, -31, 12,
  100206. 25, 6, -17, 9, -15, 7, 5, 6, 25, 7, -5, 7, -25, 6, 17, 8,
  100207. -19, 6, -13, 6, 27, 8, 1, 7, -5, 7, -1, 6, 21, 6, 3, 10,
  100208. -3, 1,
  100209. };
  100210. /*
  100211. * Calculate r = pairing <P, Q>.
  100212. *
  100213. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  100214. *
  100215. * Sliding window. Start at bottom and stop when bottom bit is one.
  100216. * Subtract if top bit in window is one.
  100217. * Width of 6 bits.
  100218. *
  100219. * @param [in] pm First point on E(F_p)[q].
  100220. * @param [in] qm Second point on E(F_p)[q].
  100221. * @param [in] res Result of calculation.
  100222. * @return 0 on success.
  100223. * @return MEMORY_E when dynamic memory allocation fails.
  100224. */
  100225. static int sp_Pairing_x64_1024(const ecc_point* pm, const ecc_point* qm, mp_int* res)
  100226. {
  100227. int err;
  100228. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  100229. !defined(WOLFSSL_SP_NO_MALLOC)
  100230. sp_digit* td = NULL;
  100231. sp_digit* t;
  100232. sp_digit* vx;
  100233. sp_digit* vy;
  100234. sp_digit (*pre_vx)[32];
  100235. sp_digit (*pre_vy)[32];
  100236. sp_digit (*pre_nvy)[32];
  100237. sp_point_1024* pre_p;
  100238. #else
  100239. sp_digit t[6 * 2 * 16];
  100240. sp_digit vx[2 * 16];
  100241. sp_digit vy[2 * 16];
  100242. sp_digit pre_vx[16][32];
  100243. sp_digit pre_vy[16][32];
  100244. sp_digit pre_nvy[16][32];
  100245. sp_point_1024 pre_p[16];
  100246. sp_point_1024 pd;
  100247. sp_point_1024 qd;
  100248. sp_point_1024 cd;
  100249. #endif
  100250. sp_point_1024* p = NULL;
  100251. sp_point_1024* q = NULL;
  100252. sp_point_1024* c = NULL;
  100253. sp_digit* r = NULL;
  100254. int i;
  100255. int j;
  100256. err = sp_1024_point_new_16(NULL, pd, p);
  100257. if (err == MP_OKAY) {
  100258. err = sp_1024_point_new_16(NULL, qd, q);
  100259. }
  100260. if (err == MP_OKAY) {
  100261. err = sp_1024_point_new_16(NULL, cd, c);
  100262. }
  100263. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  100264. !defined(WOLFSSL_SP_NO_MALLOC)
  100265. if (err == MP_OKAY) {
  100266. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 56 * 16 * 2 + 16 * sizeof(sp_point_1024), NULL,
  100267. DYNAMIC_TYPE_TMP_BUFFER);
  100268. if (td == NULL) {
  100269. err = MEMORY_E;
  100270. }
  100271. }
  100272. #endif
  100273. if (err == MP_OKAY) {
  100274. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  100275. !defined(WOLFSSL_SP_NO_MALLOC)
  100276. t = td;
  100277. vx = td + 6 * 16 * 2;
  100278. vy = td + 7 * 16 * 2;
  100279. pre_vx = (sp_digit(*)[32])(td + 8 * 16 * 2);
  100280. pre_vy = (sp_digit(*)[32])(td + 24 * 16 * 2);
  100281. pre_nvy = (sp_digit(*)[32])(td + 40 * 16 * 2);
  100282. pre_p = (sp_point_1024*)(td + 56 * 16 * 2);
  100283. #endif
  100284. r = vy;
  100285. sp_1024_point_from_ecc_point_16(p, pm);
  100286. sp_1024_point_from_ecc_point_16(q, qm);
  100287. err = sp_1024_mod_mul_norm_16(p->x, p->x, p1024_mod);
  100288. }
  100289. if (err == MP_OKAY) {
  100290. err = sp_1024_mod_mul_norm_16(p->y, p->y, p1024_mod);
  100291. }
  100292. if (err == MP_OKAY) {
  100293. err = sp_1024_mod_mul_norm_16(p->z, p->z, p1024_mod);
  100294. }
  100295. if (err == MP_OKAY) {
  100296. err = sp_1024_mod_mul_norm_16(q->x, q->x, p1024_mod);
  100297. }
  100298. if (err == MP_OKAY) {
  100299. err = sp_1024_mod_mul_norm_16(q->y, q->y, p1024_mod);
  100300. }
  100301. if (err == MP_OKAY) {
  100302. /* Generate pre-computation table: 1, 3, ... , 31 */
  100303. XMEMCPY(&pre_p[0], p, sizeof(sp_point_1024));
  100304. XMEMSET(pre_vx[0], 0, sizeof(sp_digit) * 2 * 16);
  100305. pre_vx[0][0] = 1;
  100306. XMEMSET(pre_vy[0], 0, sizeof(sp_digit) * 2 * 16);
  100307. sp_1024_mont_sub_16(pre_nvy[0], p1024_mod, pre_vy[0], p1024_mod);
  100308. /* [2]P for adding */
  100309. XMEMCPY(c, p, sizeof(sp_point_1024));
  100310. XMEMSET(vx, 0, sizeof(sp_digit) * 2 * 16);
  100311. vx[0] = 1;
  100312. XMEMSET(vy, 0, sizeof(sp_digit) * 2 * 16);
  100313. sp_1024_accumulate_line_dbl_16(vx, vy, c, q, t);
  100314. /* 3, 5, ... */
  100315. for (i = 1; i < 16; i++) {
  100316. XMEMCPY(&pre_p[i], &pre_p[i-1], sizeof(sp_point_1024));
  100317. XMEMCPY(pre_vx[i], pre_vx[i-1], sizeof(sp_digit) * 2 * 16);
  100318. XMEMCPY(pre_vy[i], pre_vy[i-1], sizeof(sp_digit) * 2 * 16);
  100319. sp_1024_proj_mul_16(pre_vx[i], pre_vy[i], vx, vy, t);
  100320. sp_1024_accumulate_line_add_n_16(pre_vx[i], pre_vy[i], c,
  100321. q, &pre_p[i], t, 0);
  100322. sp_1024_mont_sub_16(pre_nvy[i], p1024_mod, pre_vy[i], p1024_mod);
  100323. }
  100324. j = sp_1024_order_op[0] / 2;
  100325. XMEMCPY(c, &pre_p[j], sizeof(sp_point_1024));
  100326. XMEMCPY(vx, pre_vx[j], sizeof(sp_digit) * 2 * 16);
  100327. XMEMCPY(vy, pre_vy[j], sizeof(sp_digit) * 2 * 16);
  100328. /* Accumulate line into v and double point n times. */
  100329. sp_1024_accumulate_line_dbl_n_16(vx, vy, c, q,
  100330. sp_1024_order_op[1], t);
  100331. for (i = 2; i < 290; i += 2) {
  100332. j = sp_1024_order_op[i];
  100333. if (j > 0) {
  100334. j /= 2;
  100335. /* Accumulate line into v and add P into C. */
  100336. sp_1024_proj_mul_16(vx, vy, pre_vx[j], pre_vy[j], t);
  100337. sp_1024_accumulate_line_add_n_16(vx, vy, &pre_p[j], q, c,
  100338. t, 0);
  100339. }
  100340. else {
  100341. j = -j / 2;
  100342. /* Accumulate line into v and add P into C. */
  100343. sp_1024_proj_mul_16(vx, vy, pre_vx[j], pre_nvy[j], t);
  100344. sp_1024_accumulate_line_add_n_16(vx, vy, &pre_p[j], q, c,
  100345. t, 1);
  100346. }
  100347. /* Accumulate line into v and double point n times. */
  100348. sp_1024_accumulate_line_dbl_n_16(vx, vy, c, q,
  100349. sp_1024_order_op[i + 1], t);
  100350. }
  100351. /* Final exponentiation */
  100352. sp_1024_proj_sqr_16(vx, vy, t);
  100353. sp_1024_proj_sqr_16(vx, vy, t);
  100354. /* Convert from PF_p[q] to F_p */
  100355. sp_1024_mont_inv_16(vx, vx, t);
  100356. sp_1024_mont_mul_16(r, vx, vy, p1024_mod, p1024_mp_mod);
  100357. XMEMSET(r + 16, 0, sizeof(sp_digit) * 16);
  100358. sp_1024_mont_reduce_16(r, p1024_mod, p1024_mp_mod);
  100359. err = sp_1024_to_mp(r, res);
  100360. }
  100361. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  100362. !defined(WOLFSSL_SP_NO_MALLOC)
  100363. if (td != NULL) {
  100364. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  100365. }
  100366. #endif
  100367. sp_1024_point_free_16(c, 1, NULL);
  100368. sp_1024_point_free_16(q, 1, NULL);
  100369. sp_1024_point_free_16(p, 1, NULL);
  100370. return err;
  100371. }
  100372. #endif /* WOLFSSL_SP_SMALL */
  100373. #ifdef HAVE_INTEL_AVX2
  100374. /* Multiply p* by q* in projective co-ordinates.
  100375. *
  100376. * p.x' = (p.x * q.x) - (p.y * q.y)
  100377. * p.y' = (p.x * q.y) + (p.y * q.x)
  100378. * But applying Karatsuba:
  100379. * v0 = p.x * q.x
  100380. * v1 = p.y * q.y
  100381. * p.x' = v0 - v1
  100382. * p.y' = (px + py) * (qx + qy) - v0 - v1
  100383. *
  100384. * px [in,out] A single precision integer - X ordinate of number to multiply.
  100385. * py [in,out] A single precision integer - Y ordinate of number to multiply.
  100386. * qx [in] A single precision integer - X ordinate of number of
  100387. * multiplier.
  100388. * qy [in] A single precision integer - Y ordinate of number of
  100389. * multiplier.
  100390. * t [in] Two single precision integers - temps.
  100391. */
  100392. static void sp_1024_proj_mul_avx2_16(sp_digit* px, sp_digit* py,
  100393. const sp_digit* qx, const sp_digit* qy, sp_digit* t)
  100394. {
  100395. sp_digit* t1 = t;
  100396. sp_digit* t2 = t + 2 * 16;
  100397. /* t1 = px + py */
  100398. sp_1024_mont_add_avx2_16(t1, px, py, p1024_mod);
  100399. /* t2 = qx + qy */
  100400. sp_1024_mont_add_avx2_16(t2, qx, qy, p1024_mod);
  100401. /* t2 = (px + py) * (qx + qy) */
  100402. sp_1024_mont_mul_avx2_16(t2, t1, t2, p1024_mod, p1024_mp_mod);
  100403. /* t1 = py * qy */
  100404. sp_1024_mont_mul_avx2_16(t1, py, qy, p1024_mod, p1024_mp_mod);
  100405. /* t2 = (px + py) * (qx + qy) - (py * qy) */
  100406. sp_1024_mont_sub_avx2_16(t2, t2, t1, p1024_mod);
  100407. /* px = px * qx */
  100408. sp_1024_mont_mul_avx2_16(px, px, qx, p1024_mod, p1024_mp_mod);
  100409. /* py = (px + py) * (qx + qy) - (py * qy) - (px * qx) */
  100410. sp_1024_mont_sub_avx2_16(py, t2, px, p1024_mod);
  100411. /* px = (px * qx) - (py * qy)*/
  100412. sp_1024_mont_sub_avx2_16(px, px, t1, p1024_mod);
  100413. }
  100414. #ifndef WOLFSSL_SP_SMALL
  100415. /*
  100416. * Convert point from projective to affine but keep in Montgomery form.
  100417. *
  100418. * p [in,out] Point to convert.
  100419. * t [in] Temporary numbers: 2.
  100420. */
  100421. static void sp_1024_mont_map_avx2_16(sp_point_1024* p, sp_digit* t)
  100422. {
  100423. sp_digit* t1 = t;
  100424. sp_digit* t2 = t + 2 * 16;
  100425. sp_1024_mont_inv_avx2_16(t1, p->z, t2);
  100426. sp_1024_mont_sqr_avx2_16(t2, t1, p1024_mod, p1024_mp_mod);
  100427. sp_1024_mont_mul_avx2_16(t1, t2, t1, p1024_mod, p1024_mp_mod);
  100428. sp_1024_mont_mul_avx2_16(p->x, p->x, t2, p1024_mod, p1024_mp_mod);
  100429. sp_1024_mont_mul_avx2_16(p->y, p->y, t1, p1024_mod, p1024_mp_mod);
  100430. XMEMCPY(p->z, p1024_norm_mod, sizeof(sp_digit) * 16);
  100431. }
  100432. #endif /* WOLFSSL_SP_SMALL */
  100433. /*
  100434. * Calculate gradient of line through P, P and [-2]P, accumulate line and
  100435. * double P.
  100436. *
  100437. * Calculations:
  100438. * l = 3 * (p.x^2 - p.z^4) = 3 * (p.x - p.z^2) * (p.x + p.z^2)
  100439. * r.x = l * (p.x + q.x * p.z^2) - 2 * p.y^2
  100440. * r.y = 2 * p.y * p.z^3 * q.y (= p'.z * p.z^2 * q.y)
  100441. * v* = v*^2 * r*
  100442. * p'.x = l^2 - 8 * p.y^2 * p.x
  100443. * p'.y = (4 * p.y^2 * p.x - p'.x) * l - 8 * p.y^4
  100444. * p'.z = 2 * p.y * p.z
  100445. *
  100446. * @param [in,out] vx X-ordinate of projective value in F*.
  100447. * @param [in,out] vy Y-ordinate of projective value in F*.
  100448. * @param [in,out] p ECC point - point on E(F_p^2) to double.
  100449. * @param [in] q ECC point - second point on E(F_P^2).
  100450. * @param [in] t SP temporaries (6 used).
  100451. */
  100452. static void sp_1024_accumulate_line_dbl_avx2_16(sp_digit* vx, sp_digit* vy,
  100453. sp_point_1024* p, const sp_point_1024* q, sp_digit* t)
  100454. {
  100455. sp_digit* t1 = t + 0 * 16;
  100456. sp_digit* pz2 = t + 2 * 16;
  100457. sp_digit* rx = t + 4 * 16;
  100458. sp_digit* ry = t + 6 * 16;
  100459. sp_digit* l = t + 8 * 16;
  100460. sp_digit* ty = t + 10 * 16;
  100461. /* v = v^2 */
  100462. sp_1024_proj_sqr_avx2_16(vx, vy, t);
  100463. /* pz2 = p.z^2 */
  100464. sp_1024_mont_sqr_avx2_16(pz2, p->z, p1024_mod, p1024_mp_mod);
  100465. /* t1 = p.x + p.z^2 */
  100466. sp_1024_mont_add_avx2_16(ty, p->x, pz2, p1024_mod);
  100467. /* l = p.x - p.z^2 */
  100468. sp_1024_mont_sub_avx2_16(l, p->x, pz2, p1024_mod);
  100469. /* t1 = (p.x + p.z^2) * (p.x - p.z^2) = p.x^2 - p.z^4 */
  100470. sp_1024_mont_mul_avx2_16(t1, l, ty, p1024_mod, p1024_mp_mod);
  100471. /* l = 3 * (p.x^2 - p.z^4) */
  100472. sp_1024_mont_tpl_avx2_16(l, t1, p1024_mod);
  100473. /* t1 = q.x * p.z^2 */
  100474. sp_1024_mont_mul_avx2_16(t1, q->x, pz2, p1024_mod, p1024_mp_mod);
  100475. /* t1 = p.x + q.x * p.z^2 */
  100476. sp_1024_mont_add_avx2_16(t1, p->x, t1, p1024_mod);
  100477. /* r.x = l * (p.x + q.x * p.z^2) */
  100478. sp_1024_mont_mul_avx2_16(rx, l, t1, p1024_mod, p1024_mp_mod);
  100479. /* r.y = 2 * p.y */
  100480. sp_1024_mont_dbl_avx2_16(ry, p->y, p1024_mod);
  100481. /* ty = 4 * p.y ^ 2 */
  100482. sp_1024_mont_sqr_avx2_16(ty, ry, p1024_mod, p1024_mp_mod);
  100483. /* t1 = 2 * p.y ^ 2 */
  100484. sp_1024_div2_avx2_16(t1, ty, p1024_mod);
  100485. /* r.x -= 2 * (p.y ^ 2) */
  100486. sp_1024_mont_sub_avx2_16(rx, rx, t1, p1024_mod);
  100487. /* p'.z = p.y * 2 * p.z */
  100488. sp_1024_mont_mul_avx2_16(p->z, p->z, ry, p1024_mod, p1024_mp_mod);
  100489. /* r.y = p'.z * p.z^2 */
  100490. sp_1024_mont_mul_avx2_16(t1, p->z, pz2, p1024_mod, p1024_mp_mod);
  100491. /* r.y = p'.z * p.z^2 * q.y */
  100492. sp_1024_mont_mul_avx2_16(ry, t1, q->y, p1024_mod, p1024_mp_mod);
  100493. /* v = v^2 * r */
  100494. sp_1024_proj_mul_avx2_16(vx, vy, rx, ry, t);
  100495. /* Double point using previously calculated values
  100496. * l = 3 * (p.x - p.z^2).(p.x + p.z^2)
  100497. * ty = 4 * p.y^2
  100498. * p'.z = 2 * p.y * p.z
  100499. */
  100500. /* t1 = (4 * p.y^2) ^ 2 = 16 * p.y^4 */
  100501. sp_1024_mont_sqr_avx2_16(t1, ty, p1024_mod, p1024_mp_mod);
  100502. /* t1 = 16 * p.y^4 / 2 = 8 * p.y^4 */
  100503. sp_1024_div2_avx2_16(t1, t1, p1024_mod);
  100504. /* p'.y = 4 * p.y^2 * p.x */
  100505. sp_1024_mont_mul_avx2_16(p->y, ty, p->x, p1024_mod, p1024_mp_mod);
  100506. /* p'.x = l^2 */
  100507. sp_1024_mont_sqr_avx2_16(p->x, l, p1024_mod, p1024_mp_mod);
  100508. /* p'.x = l^2 - 4 * p.y^2 * p.x */
  100509. sp_1024_mont_sub_avx2_16(p->x, p->x, p->y, p1024_mod);
  100510. /* p'.x = l^2 - 8 * p.y^2 * p.x */
  100511. sp_1024_mont_sub_avx2_16(p->x, p->x, p->y, p1024_mod);
  100512. /* p'.y = 4 * p.y^2 * p.x - p.x' */
  100513. sp_1024_mont_sub_avx2_16(ty, p->y, p->x, p1024_mod);
  100514. /* p'.y = (4 * p.y^2 * p.x - p'.x) * l */
  100515. sp_1024_mont_mul_avx2_16(p->y, ty, l, p1024_mod, p1024_mp_mod);
  100516. /* p'.y = (4 * p.y^2 * p.x - p'.x) * l - 8 * p.y^4 */
  100517. sp_1024_mont_sub_avx2_16(p->y, p->y, t1, p1024_mod);
  100518. }
  100519. #ifdef WOLFSSL_SP_SMALL
  100520. /*
  100521. * Calculate gradient of line through C, P and -C-P, accumulate line and
  100522. * add P to C.
  100523. *
  100524. * Calculations:
  100525. * r.x = (q.x + p.x) * c.y - (q.x * c.z^2 + c.x) * p.y * c.z
  100526. * r.y = (c.x - p.x * c.z^2) * q.y * c.z
  100527. * v* = v* * r*
  100528. * r = p.y * c.z^3 - c.y
  100529. * c'.x = r^2 + h^3 - 2 * c.x * h^2
  100530. * c'.y = r * (c'.x - c.x * h^2) - c.y * h^3
  100531. * c'.z = (c.x - p.x * c.z^2) * c.z
  100532. *
  100533. * @param [in,out] vx X-ordinate of projective value in F*.
  100534. * @param [in,out] vy Y-ordinate of projective value in F*.
  100535. * @param [in,out] c ECC point - current point on E(F_p^2) to be added
  100536. * to.
  100537. * @param [in] p ECC point - point on E(F_p^2) to add.
  100538. * @param [in] q ECC point - second point on E(F_P^2).
  100539. * @param [in] qx_px SP that is a constant value across adds.
  100540. * @param [in] t SP temporaries (6 used).
  100541. */
  100542. static void sp_1024_accumulate_line_add_one_avx2_16(sp_digit* vx, sp_digit* vy,
  100543. sp_point_1024* c, sp_point_1024* p, sp_point_1024* q, sp_digit* qx_px,
  100544. sp_digit* t)
  100545. {
  100546. sp_digit* t1 = t;
  100547. sp_digit* t2 = t + 2 * 16;
  100548. sp_digit* rx = t + 4 * 16;
  100549. sp_digit* ry = t + 6 * 16;
  100550. sp_digit* h = t + 8 * 16;
  100551. sp_digit* r = t + 10 * 16;
  100552. /* r.x = (q.x + p.x) * c.y */
  100553. sp_1024_mont_mul_avx2_16(rx, qx_px, c->y, p1024_mod, p1024_mp_mod);
  100554. /* t2 = c.z^2 */
  100555. sp_1024_mont_sqr_avx2_16(t2, c->z, p1024_mod, p1024_mp_mod);
  100556. /* t1 = q.x * c.z^2 */
  100557. sp_1024_mont_mul_avx2_16(t1, q->x, t2, p1024_mod, p1024_mp_mod);
  100558. /* t1 = q.x * c.z^2 + c.x */
  100559. sp_1024_mont_add_avx2_16(h, t1, c->x, p1024_mod);
  100560. /* r = p.y * c.z */
  100561. sp_1024_mont_mul_avx2_16(ry, p->y, c->z, p1024_mod, p1024_mp_mod);
  100562. /* t1 = (q.x * c.z^2 + c.x) * p.y * c.z */
  100563. sp_1024_mont_mul_avx2_16(t1, h, ry, p1024_mod, p1024_mp_mod);
  100564. /* r = p.y * c.z * c.z^2 = p.y * c.z^3 */
  100565. sp_1024_mont_mul_avx2_16(r, ry, t2, p1024_mod, p1024_mp_mod);
  100566. /* r.x -= (q.x * c.z^2 + c.x) * p.y * c.z */
  100567. sp_1024_mont_sub_avx2_16(rx, rx, t1, p1024_mod);
  100568. /* t1 = p.x * c.z^2 */
  100569. sp_1024_mont_mul_avx2_16(t1, p->x, t2, p1024_mod, p1024_mp_mod);
  100570. /* h = c.x - p.x * c.z^2 */
  100571. sp_1024_mont_sub_avx2_16(h, c->x, t1, p1024_mod);
  100572. /* c'.z = (c.x - p.x * c.z^2) * c.z */
  100573. sp_1024_mont_mul_avx2_16(c->z, h, c->z, p1024_mod, p1024_mp_mod);
  100574. /* r.y = (c.x - p.x * c.z^2) * c.z * q.y */
  100575. sp_1024_mont_mul_avx2_16(ry, c->z, q->y, p1024_mod, p1024_mp_mod);
  100576. /* v = v * r */
  100577. sp_1024_proj_mul_avx2_16(vx, vy, rx, ry, t);
  100578. /* Add p to c using previously calculated values.
  100579. * h = c.x - p.x * c.z^2
  100580. * r = p.y * c.z^3
  100581. * c'.z = (c.x - p.x * c.z^2) * c.z
  100582. */
  100583. /* r = p.y * c.z^3 - c.y */
  100584. sp_1024_mont_sub_avx2_16(r, r, c->y, p1024_mod);
  100585. /* t1 = r^2 */
  100586. sp_1024_mont_sqr_avx2_16(t1, r, p1024_mod, p1024_mp_mod);
  100587. /* t2 = h^2 */
  100588. sp_1024_mont_sqr_avx2_16(rx, h, p1024_mod, p1024_mp_mod);
  100589. /* ry = c.x * h^2 */
  100590. sp_1024_mont_mul_avx2_16(ry, c->x, rx, p1024_mod, p1024_mp_mod);
  100591. /* t2 = h^3 */
  100592. sp_1024_mont_mul_avx2_16(t2, rx, h, p1024_mod, p1024_mp_mod);
  100593. /* c->x = r^2 + h^3 */
  100594. sp_1024_mont_add_avx2_16(c->x, t1, t2, p1024_mod);
  100595. /* t1 = 2 * c.x * h^2 */
  100596. sp_1024_mont_dbl_avx2_16(t1, ry, p1024_mod);
  100597. /* c'.x = r^2 + h^3 - 2 * c.x * h^2 */
  100598. sp_1024_mont_sub_avx2_16(c->x, c->x, t1, p1024_mod);
  100599. /* ry = c'.x - c.x * h^2 */
  100600. sp_1024_mont_sub_avx2_16(t1, c->x, ry, p1024_mod);
  100601. /* ry = r * (c'.x - c.x * h^2) */
  100602. sp_1024_mont_mul_avx2_16(ry, t1, r, p1024_mod, p1024_mp_mod);
  100603. /* t2 = c.y * h^3 */
  100604. sp_1024_mont_mul_avx2_16(t1, t2, c->y, p1024_mod, p1024_mp_mod);
  100605. /* c'.y = r * (c'.x - c.x * h^2) - c.y * h^3 */
  100606. sp_1024_mont_sub_avx2_16(c->y, ry, t1, p1024_mod);
  100607. }
  100608. /*
  100609. * Calculate r = pairing <P, Q>.
  100610. *
  100611. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  100612. *
  100613. * @param [in] key SAKKE key.
  100614. * @param [in] p First point on E(F_p)[q].
  100615. * @param [in] q Second point on E(F_p)[q].
  100616. * @param [in] r Result of calculation.
  100617. * @return 0 on success.
  100618. * @return MEMORY_E when dynamic memory allocation fails.
  100619. * @return Other -ve value on internal failure.
  100620. */
  100621. static int sp_Pairing_avx2_1024(const ecc_point* pm, const ecc_point* qm, mp_int* res)
  100622. {
  100623. int err = MP_OKAY;
  100624. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  100625. !defined(WOLFSSL_SP_NO_MALLOC)
  100626. sp_digit* td = NULL;
  100627. sp_digit* t;
  100628. sp_digit* vx;
  100629. sp_digit* vy;
  100630. sp_digit* qx_px;
  100631. #else
  100632. sp_digit t[6 * 2 * 16];
  100633. sp_digit vx[2 * 16];
  100634. sp_digit vy[2 * 16];
  100635. sp_digit qx_px[2 * 16];
  100636. sp_point_1024 pd;
  100637. sp_point_1024 qd;
  100638. sp_point_1024 cd;
  100639. #endif
  100640. sp_point_1024* p = NULL;
  100641. sp_point_1024* q = NULL;
  100642. sp_point_1024* c = NULL;
  100643. sp_digit* r = NULL;
  100644. int i;
  100645. err = sp_1024_point_new_16(NULL, pd, p);
  100646. if (err == MP_OKAY) {
  100647. err = sp_1024_point_new_16(NULL, qd, q);
  100648. }
  100649. if (err == MP_OKAY) {
  100650. err = sp_1024_point_new_16(NULL, cd, c);
  100651. }
  100652. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  100653. !defined(WOLFSSL_SP_NO_MALLOC)
  100654. if (err == MP_OKAY) {
  100655. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9 * 16 * 2, NULL,
  100656. DYNAMIC_TYPE_TMP_BUFFER);
  100657. if (td == NULL) {
  100658. err = MEMORY_E;
  100659. }
  100660. }
  100661. #endif
  100662. if (err == MP_OKAY) {
  100663. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  100664. !defined(WOLFSSL_SP_NO_MALLOC)
  100665. t = td;
  100666. vx = td + 6 * 16 * 2;
  100667. vy = td + 7 * 16 * 2;
  100668. qx_px = td + 8 * 16 * 2;
  100669. #endif
  100670. r = vy;
  100671. sp_1024_point_from_ecc_point_16(p, pm);
  100672. sp_1024_point_from_ecc_point_16(q, qm);
  100673. err = sp_1024_mod_mul_norm_avx2_16(p->x, p->x, p1024_mod);
  100674. }
  100675. if (err == MP_OKAY) {
  100676. err = sp_1024_mod_mul_norm_avx2_16(p->y, p->y, p1024_mod);
  100677. }
  100678. if (err == MP_OKAY) {
  100679. err = sp_1024_mod_mul_norm_avx2_16(p->z, p->z, p1024_mod);
  100680. }
  100681. if (err == MP_OKAY) {
  100682. err = sp_1024_mod_mul_norm_avx2_16(q->x, q->x, p1024_mod);
  100683. }
  100684. if (err == MP_OKAY) {
  100685. err = sp_1024_mod_mul_norm_avx2_16(q->y, q->y, p1024_mod);
  100686. }
  100687. if (err == MP_OKAY) {
  100688. XMEMCPY(c, p, sizeof(sp_point_1024));
  100689. XMEMSET(vx, 0, sizeof(sp_digit) * 2 * 16);
  100690. vx[0] = 1;
  100691. XMEMSET(vy, 0, sizeof(sp_digit) * 2 * 16);
  100692. sp_1024_mont_add_avx2_16(qx_px, q->x, p->x, p1024_mod);
  100693. for (i = 1020; i >= 0; i--) {
  100694. /* Accumulate line into v and double point. */
  100695. sp_1024_accumulate_line_dbl_avx2_16(vx, vy, c, q, t);
  100696. if ((i > 0) && ((p1024_order[i / 64] >> (i % 64)) & 1)) {
  100697. /* Accumulate line into v and add P into C. */
  100698. sp_1024_accumulate_line_add_one_avx2_16(vx, vy, c, p, q, qx_px, t);
  100699. }
  100700. }
  100701. /* Final exponentiation */
  100702. sp_1024_proj_sqr_avx2_16(vx, vy, t);
  100703. sp_1024_proj_sqr_avx2_16(vx, vy, t);
  100704. /* Convert from PF_p[q] to F_p */
  100705. sp_1024_mont_inv_avx2_16(vx, vx, t);
  100706. sp_1024_mont_mul_avx2_16(r, vx, vy, p1024_mod, p1024_mp_mod);
  100707. XMEMSET(r + 16, 0, sizeof(sp_digit) * 16);
  100708. sp_1024_mont_reduce_16(r, p1024_mod, p1024_mp_mod);
  100709. err = sp_1024_to_mp(r, res);
  100710. }
  100711. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  100712. !defined(WOLFSSL_SP_NO_MALLOC)
  100713. if (td != NULL) {
  100714. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  100715. }
  100716. #endif
  100717. sp_1024_point_free_16(c, 1, NULL);
  100718. sp_1024_point_free_16(q, 1, NULL);
  100719. sp_1024_point_free_16(p, 1, NULL);
  100720. return err;
  100721. }
  100722. #else
  100723. /*
  100724. * Calculate gradient of line through C, P and -C-P, accumulate line and
  100725. * add P to C.
  100726. *
  100727. * Both C and P have z ordinates to use in the calculation.
  100728. *
  100729. * Calculations:
  100730. * r.x = (q.x * c.z^2 + c.x) * p.y * c.z - (q.x * p.z^2 + p.x) * c.y * p.z
  100731. * r.y = (p.x * c.z^2 - c.x * p.z^2) * q.y * p.z * c.z
  100732. * v* = v* * r*
  100733. * h = p.x * c.z^2 - c.x * p.z^2
  100734. * r = p.y * c.z^3 - c.y * p.z^3
  100735. * c'.x = r^2 - h^3 - 2 * c.x * p.z^2 * h^2
  100736. * c'.y = r * (c.x * p.z^2 * h^2 - c'.x) - c.y * p.z^3 * h^3
  100737. * c'.z = (p.x * c.z^2 - c.x * p.z^2) * c.z
  100738. *
  100739. * @param [in,out] vx X-ordinate of projective value in F*.
  100740. * @param [in,out] vy Y-ordinate of projective value in F*.
  100741. * @param [in,out] c ECC point - current point on E(F_p^2) to be added
  100742. * to.
  100743. * @param [in,out] p ECC point - point on E(F_p^2) to add.
  100744. * @param [in,out] q ECC point - second point on E(F_P^2).
  100745. * @param [in,out] t SP temporaries (6 used).
  100746. * @param [in,out] neg Indicates to use negative P.
  100747. * @return 0 on success.
  100748. * @return MEMORY_E when dynamic memory allocation fails.
  100749. * @return Other -ve value on internal failure.
  100750. */
  100751. static void sp_1024_accumulate_line_add_n_avx2_16(sp_digit* vx, sp_digit* vy,
  100752. const sp_point_1024* p, const sp_point_1024* q,
  100753. sp_point_1024* c, sp_digit* t, int neg)
  100754. {
  100755. sp_digit* t1 = t;
  100756. sp_digit* t2 = t + 2 * 16;
  100757. sp_digit* rx = t + 4 * 16;
  100758. sp_digit* ry = t + 6 * 16;
  100759. sp_digit* h = t + 8 * 16;
  100760. sp_digit* r = t + 10 * 16;
  100761. /* h = p.z^2 */
  100762. sp_1024_mont_sqr_avx2_16(h, p->z, p1024_mod, p1024_mp_mod);
  100763. /* rx = q.x * p.z^2 */
  100764. sp_1024_mont_mul_avx2_16(rx, q->x, h, p1024_mod, p1024_mp_mod);
  100765. /* rx = q.x * p.z^2 + p.x */
  100766. sp_1024_mont_add_avx2_16(t2, rx, p->x, p1024_mod);
  100767. /* c.y = c.y * p.z */
  100768. sp_1024_mont_mul_avx2_16(t1, c->y, p->z, p1024_mod, p1024_mp_mod);
  100769. /* r.x = (q.x * p.z^2 + p.x) * c.y * p.z */
  100770. sp_1024_mont_mul_avx2_16(rx, t2, t1, p1024_mod, p1024_mp_mod);
  100771. /* c.y = c.y * p.z^3 */
  100772. sp_1024_mont_mul_avx2_16(c->y, t1, h, p1024_mod, p1024_mp_mod);
  100773. /* t2 = c.z^2 */
  100774. sp_1024_mont_sqr_avx2_16(t2, c->z, p1024_mod, p1024_mp_mod);
  100775. /* t1 = q.x * c.z^2 */
  100776. sp_1024_mont_mul_avx2_16(t1, q->x, t2, p1024_mod, p1024_mp_mod);
  100777. /* t1 = q.x * c.z^2 + c.x */
  100778. sp_1024_mont_add_avx2_16(t1, t1, c->x, p1024_mod);
  100779. /* c.x = c.x * p.z^2 */
  100780. sp_1024_mont_mul_avx2_16(c->x, c->x, h, p1024_mod, p1024_mp_mod);
  100781. /* r = p.y * c.z */
  100782. sp_1024_mont_mul_avx2_16(r, p->y, c->z, p1024_mod, p1024_mp_mod);
  100783. if (neg) {
  100784. /* r = -p.y * c.z */
  100785. sp_1024_mont_sub_avx2_16(r, p1024_mod, r, p1024_mod);
  100786. }
  100787. /* t1 = (q.x * c.z^2 + c.x) * p.y * c.z */
  100788. sp_1024_mont_mul_avx2_16(ry, t1, r, p1024_mod, p1024_mp_mod);
  100789. /* r.x -= (q.x * c.z^2 + c.x) * p.y * c.z */
  100790. sp_1024_mont_sub_avx2_16(rx, ry, rx, p1024_mod);
  100791. /* t1 = p.x * c.z^2 */
  100792. sp_1024_mont_mul_avx2_16(t1, p->x, t2, p1024_mod, p1024_mp_mod);
  100793. /* h = p.x * c.z^2 - c.x * p.z^2 */
  100794. sp_1024_mont_sub_avx2_16(h, t1, c->x, p1024_mod);
  100795. /* c'.z = (p.x * c.z^2 - c.x * p.z^2) * c.z */
  100796. sp_1024_mont_mul_avx2_16(t1, h, c->z, p1024_mod, p1024_mp_mod);
  100797. /* c'.z = (p.x * c.z^2 - c.x * p.z^2) * c.z * p.z */
  100798. sp_1024_mont_mul_avx2_16(c->z, t1, p->z, p1024_mod, p1024_mp_mod);
  100799. /* r.y = (p.x * c.z^2 - c.x * p.z^2) * c.z * p.z * q.y */
  100800. sp_1024_mont_mul_avx2_16(ry, c->z, q->y, p1024_mod, p1024_mp_mod);
  100801. /* r = p.y * c.z^3 */
  100802. sp_1024_mont_mul_avx2_16(t1, r, t2, p1024_mod, p1024_mp_mod);
  100803. /* r = p.y * c.z^3 - c.y * p.z^3 */
  100804. sp_1024_mont_sub_avx2_16(r, t1, c->y, p1024_mod);
  100805. /* v = v * r */
  100806. sp_1024_proj_mul_avx2_16(vx, vy, rx, ry, t);
  100807. /* Add p to c using previously calculated values.
  100808. * h = p.x * c.z^2 - c.x * p.z^2
  100809. * r = p.y * c.z^3 - c.y * p.z^3
  100810. * c'.z = (p.x * c.z^2 - c.x * p.z^2) * c.z
  100811. */
  100812. /* t1 = r^2 */
  100813. sp_1024_mont_sqr_avx2_16(t1, r, p1024_mod, p1024_mp_mod);
  100814. /* t2 = h^2 */
  100815. sp_1024_mont_sqr_avx2_16(rx, h, p1024_mod, p1024_mp_mod);
  100816. /* ry = c.x * p.z^2 * h^2 */
  100817. sp_1024_mont_mul_avx2_16(ry, rx, c->x, p1024_mod, p1024_mp_mod);
  100818. /* t2 = h^3 */
  100819. sp_1024_mont_mul_avx2_16(t2, rx, h, p1024_mod, p1024_mp_mod);
  100820. /* c'.x = r^2 - h^3 */
  100821. sp_1024_mont_sub_avx2_16(c->x, t1, t2, p1024_mod);
  100822. /* t1 = 2 * c.x * p.z^2 * h^2 */
  100823. sp_1024_mont_dbl_avx2_16(t1, ry, p1024_mod);
  100824. /* c'.x = r^2 - h^3 - 2 * c.x * p.z^2 * h^2 */
  100825. sp_1024_mont_sub_avx2_16(c->x, c->x, t1, p1024_mod);
  100826. /* ry = c.x * p.z^2 * h^2 - c'.x */
  100827. sp_1024_mont_sub_avx2_16(t1, ry, c->x, p1024_mod);
  100828. /* ry = r * (c.x * p.z^2 * h^2 - c'.x) */
  100829. sp_1024_mont_mul_avx2_16(ry, t1, r, p1024_mod, p1024_mp_mod);
  100830. /* t2 = c.y * p.z^3 * h^3 */
  100831. sp_1024_mont_mul_avx2_16(t1, t2, c->y, p1024_mod, p1024_mp_mod);
  100832. /* c'.y = r * (c.x * p.z^2 * h^2 - c'.x) - c.y * p.z^3 * h^3 */
  100833. sp_1024_mont_sub_avx2_16(c->y, ry, t1, p1024_mod);
  100834. }
  100835. /*
  100836. * Perform n accumulate doubles and doubles of P.
  100837. *
  100838. * py = 2 * p.y
  100839. *
  100840. * For each double:
  100841. * Calculate gradient of line through P, P and [-2]P, accumulate line and
  100842. * double P.
  100843. *
  100844. * Calculations:
  100845. * l = 3 * (p.x^2 - p.z^4) = 3 * (p.x - p.z^2) * (p.x + p.z^2)
  100846. * r.x = l * (p.x + q.x * p.z^2) - py^2 / 2
  100847. * r.y = py * p.z^3 * q.y (= p'.z * p.z^2 * q.y)
  100848. * v* = v*^2 * r*
  100849. * p'.x = l^2 - 2 * py^2 * p.x
  100850. * py' = (py^2 * p.x - p'.x) * l - py^4 (= 2 * p'.y)
  100851. * p'.z = py * p.z
  100852. *
  100853. * Finally:
  100854. * p'.y = py' / 2
  100855. *
  100856. * @param [in,out] vx X-ordinate of projective value in F*.
  100857. * @param [in,out] vy Y-ordinate of projective value in F*.
  100858. * @param [in,out] p ECC point - point on E(F_p^2) to double.
  100859. * @param [in] q ECC point - second point on E(F_P^2).
  100860. * @param [in] n Number of times to double.
  100861. * @param [in] t SP temporaries (6 used).
  100862. */
  100863. static void sp_1024_accumulate_line_dbl_n_avx2_16(sp_digit* vx, sp_digit* vy,
  100864. sp_point_1024* p, const sp_point_1024* q, int n, sp_digit* t)
  100865. {
  100866. sp_digit* t1 = t + 0 * 16;
  100867. sp_digit* pz2 = t + 2 * 16;
  100868. sp_digit* rx = t + 4 * 16;
  100869. sp_digit* ry = t + 6 * 16;
  100870. sp_digit* l = t + 8 * 16;
  100871. sp_digit* ty = t + 10 * 16;
  100872. int i;
  100873. /* py = 2 * p.y */
  100874. sp_1024_mont_dbl_avx2_16(p->y, p->y, p1024_mod);
  100875. for (i = 0; i < n; i++) {
  100876. /* v = v^2 */
  100877. sp_1024_proj_sqr_avx2_16(vx, vy, t);
  100878. /* pz2 = p.z^2 */
  100879. sp_1024_mont_sqr_avx2_16(pz2, p->z, p1024_mod, p1024_mp_mod);
  100880. /* t1 = p.x + p.z^2 */
  100881. sp_1024_mont_add_avx2_16(t1, p->x, pz2, p1024_mod);
  100882. /* l = p.x - p.z^2 */
  100883. sp_1024_mont_sub_avx2_16(l, p->x, pz2, p1024_mod);
  100884. /* t1 = (p.x + p.z^2) * (p.x - p.z^2) = p.x^2 - p.z^4 */
  100885. sp_1024_mont_mul_avx2_16(ty, l, t1, p1024_mod, p1024_mp_mod);
  100886. /* l = 3 * (p.x^2 - p.z^4) */
  100887. sp_1024_mont_tpl_avx2_16(l, ty, p1024_mod);
  100888. /* t1 = q.x * p.z^2 */
  100889. sp_1024_mont_mul_avx2_16(t1, q->x, pz2, p1024_mod, p1024_mp_mod);
  100890. /* t1 = p.x + q.x * p.z^2 */
  100891. sp_1024_mont_add_avx2_16(t1, p->x, t1, p1024_mod);
  100892. /* r.x = l * (p.x + q.x * p.z^2) */
  100893. sp_1024_mont_mul_avx2_16(rx, l, t1, p1024_mod, p1024_mp_mod);
  100894. /* ty = py ^ 2 */
  100895. sp_1024_mont_sqr_avx2_16(ty, p->y, p1024_mod, p1024_mp_mod);
  100896. /* t1 = py ^ 2 / 2 */
  100897. sp_1024_div2_avx2_16(t1, ty, p1024_mod);
  100898. /* r.x -= py ^ 2 / 2 */
  100899. sp_1024_mont_sub_avx2_16(rx, rx, t1, p1024_mod);
  100900. /* p'.z = py * pz */
  100901. sp_1024_mont_mul_avx2_16(p->z, p->z, p->y, p1024_mod, p1024_mp_mod);
  100902. /* r.y = p'.z * p.z^2 */
  100903. sp_1024_mont_mul_avx2_16(t1, p->z, pz2, p1024_mod, p1024_mp_mod);
  100904. /* r.y = p'.z * p.z^2 * q.y */
  100905. sp_1024_mont_mul_avx2_16(ry, t1, q->y, p1024_mod, p1024_mp_mod);
  100906. /* v = v^2 * r */
  100907. sp_1024_proj_mul_avx2_16(vx, vy, rx, ry, t);
  100908. /* Double point using previously calculated values
  100909. * l = 3 * (p.x - p.z^2).(p.x + p.z^2)
  100910. * ty = py^2
  100911. * p'.z = py * p.z
  100912. */
  100913. /* t1 = py^2 ^ 2 = py^4 */
  100914. sp_1024_mont_sqr_avx2_16(t1, ty, p1024_mod, p1024_mp_mod);
  100915. /* py' = py^2 * p. x */
  100916. sp_1024_mont_mul_avx2_16(p->y, ty, p->x, p1024_mod, p1024_mp_mod);
  100917. /* p'.x = l^2 */
  100918. sp_1024_mont_sqr_avx2_16(p->x, l, p1024_mod, p1024_mp_mod);
  100919. /* p'.x = l^2 - py^2 * p.x */
  100920. sp_1024_mont_sub_avx2_16(p->x, p->x, p->y, p1024_mod);
  100921. /* p'.x = l^2 - 2 * p.y^2 * p.x */
  100922. sp_1024_mont_sub_avx2_16(p->x, p->x, p->y, p1024_mod);
  100923. /* py' = py^2 * p.x - p.x' */
  100924. sp_1024_mont_sub_avx2_16(ty, p->y, p->x, p1024_mod);
  100925. /* py' = (p.y^2 * p.x - p'.x) * l */
  100926. sp_1024_mont_mul_avx2_16(p->y, ty, l, p1024_mod, p1024_mp_mod);
  100927. /* py' = (p.y^2 * p.x - p'.x) * l * 2 */
  100928. sp_1024_mont_dbl_avx2_16(p->y, p->y, p1024_mod);
  100929. /* py' = (p.y^2 * p.x - p'.x) * l * 2 - p.y^4 */
  100930. sp_1024_mont_sub_avx2_16(p->y, p->y, t1, p1024_mod);
  100931. }
  100932. /* p'.y = py' / 2 */
  100933. sp_1024_div2_avx2_16(p->y, p->y, p1024_mod);
  100934. }
  100935. /*
  100936. * Calculate r = pairing <P, Q>.
  100937. *
  100938. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  100939. *
  100940. * Sliding window. Start at bottom and stop when bottom bit is one.
  100941. * Subtract if top bit in window is one.
  100942. * Width of 6 bits.
  100943. *
  100944. * @param [in] pm First point on E(F_p)[q].
  100945. * @param [in] qm Second point on E(F_p)[q].
  100946. * @param [in] res Result of calculation.
  100947. * @return 0 on success.
  100948. * @return MEMORY_E when dynamic memory allocation fails.
  100949. */
  100950. static int sp_Pairing_avx2_1024(const ecc_point* pm, const ecc_point* qm, mp_int* res)
  100951. {
  100952. int err;
  100953. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  100954. !defined(WOLFSSL_SP_NO_MALLOC)
  100955. sp_digit* td = NULL;
  100956. sp_digit* t;
  100957. sp_digit* vx;
  100958. sp_digit* vy;
  100959. sp_digit (*pre_vx)[32];
  100960. sp_digit (*pre_vy)[32];
  100961. sp_digit (*pre_nvy)[32];
  100962. sp_point_1024* pre_p;
  100963. #else
  100964. sp_digit t[6 * 2 * 16];
  100965. sp_digit vx[2 * 16];
  100966. sp_digit vy[2 * 16];
  100967. sp_digit pre_vx[16][32];
  100968. sp_digit pre_vy[16][32];
  100969. sp_digit pre_nvy[16][32];
  100970. sp_point_1024 pre_p[16];
  100971. sp_point_1024 pd;
  100972. sp_point_1024 qd;
  100973. sp_point_1024 cd;
  100974. #endif
  100975. sp_point_1024* p = NULL;
  100976. sp_point_1024* q = NULL;
  100977. sp_point_1024* c = NULL;
  100978. sp_digit* r = NULL;
  100979. int i;
  100980. int j;
  100981. err = sp_1024_point_new_16(NULL, pd, p);
  100982. if (err == MP_OKAY) {
  100983. err = sp_1024_point_new_16(NULL, qd, q);
  100984. }
  100985. if (err == MP_OKAY) {
  100986. err = sp_1024_point_new_16(NULL, cd, c);
  100987. }
  100988. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  100989. !defined(WOLFSSL_SP_NO_MALLOC)
  100990. if (err == MP_OKAY) {
  100991. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 56 * 16 * 2 + 16 * sizeof(sp_point_1024), NULL,
  100992. DYNAMIC_TYPE_TMP_BUFFER);
  100993. if (td == NULL) {
  100994. err = MEMORY_E;
  100995. }
  100996. }
  100997. #endif
  100998. if (err == MP_OKAY) {
  100999. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101000. !defined(WOLFSSL_SP_NO_MALLOC)
  101001. t = td;
  101002. vx = td + 6 * 16 * 2;
  101003. vy = td + 7 * 16 * 2;
  101004. pre_vx = (sp_digit(*)[32])(td + 8 * 16 * 2);
  101005. pre_vy = (sp_digit(*)[32])(td + 24 * 16 * 2);
  101006. pre_nvy = (sp_digit(*)[32])(td + 40 * 16 * 2);
  101007. pre_p = (sp_point_1024*)(td + 56 * 16 * 2);
  101008. #endif
  101009. r = vy;
  101010. sp_1024_point_from_ecc_point_16(p, pm);
  101011. sp_1024_point_from_ecc_point_16(q, qm);
  101012. err = sp_1024_mod_mul_norm_avx2_16(p->x, p->x, p1024_mod);
  101013. }
  101014. if (err == MP_OKAY) {
  101015. err = sp_1024_mod_mul_norm_avx2_16(p->y, p->y, p1024_mod);
  101016. }
  101017. if (err == MP_OKAY) {
  101018. err = sp_1024_mod_mul_norm_avx2_16(p->z, p->z, p1024_mod);
  101019. }
  101020. if (err == MP_OKAY) {
  101021. err = sp_1024_mod_mul_norm_avx2_16(q->x, q->x, p1024_mod);
  101022. }
  101023. if (err == MP_OKAY) {
  101024. err = sp_1024_mod_mul_norm_avx2_16(q->y, q->y, p1024_mod);
  101025. }
  101026. if (err == MP_OKAY) {
  101027. /* Generate pre-computation table: 1, 3, ... , 31 */
  101028. XMEMCPY(&pre_p[0], p, sizeof(sp_point_1024));
  101029. XMEMSET(pre_vx[0], 0, sizeof(sp_digit) * 2 * 16);
  101030. pre_vx[0][0] = 1;
  101031. XMEMSET(pre_vy[0], 0, sizeof(sp_digit) * 2 * 16);
  101032. sp_1024_mont_sub_avx2_16(pre_nvy[0], p1024_mod, pre_vy[0], p1024_mod);
  101033. /* [2]P for adding */
  101034. XMEMCPY(c, p, sizeof(sp_point_1024));
  101035. XMEMSET(vx, 0, sizeof(sp_digit) * 2 * 16);
  101036. vx[0] = 1;
  101037. XMEMSET(vy, 0, sizeof(sp_digit) * 2 * 16);
  101038. sp_1024_accumulate_line_dbl_avx2_16(vx, vy, c, q, t);
  101039. /* 3, 5, ... */
  101040. for (i = 1; i < 16; i++) {
  101041. XMEMCPY(&pre_p[i], &pre_p[i-1], sizeof(sp_point_1024));
  101042. XMEMCPY(pre_vx[i], pre_vx[i-1], sizeof(sp_digit) * 2 * 16);
  101043. XMEMCPY(pre_vy[i], pre_vy[i-1], sizeof(sp_digit) * 2 * 16);
  101044. sp_1024_proj_mul_avx2_16(pre_vx[i], pre_vy[i], vx, vy, t);
  101045. sp_1024_accumulate_line_add_n_avx2_16(pre_vx[i], pre_vy[i], c,
  101046. q, &pre_p[i], t, 0);
  101047. sp_1024_mont_sub_avx2_16(pre_nvy[i], p1024_mod, pre_vy[i], p1024_mod);
  101048. }
  101049. j = sp_1024_order_op[0] / 2;
  101050. XMEMCPY(c, &pre_p[j], sizeof(sp_point_1024));
  101051. XMEMCPY(vx, pre_vx[j], sizeof(sp_digit) * 2 * 16);
  101052. XMEMCPY(vy, pre_vy[j], sizeof(sp_digit) * 2 * 16);
  101053. /* Accumulate line into v and double point n times. */
  101054. sp_1024_accumulate_line_dbl_n_avx2_16(vx, vy, c, q,
  101055. sp_1024_order_op[1], t);
  101056. for (i = 2; i < 290; i += 2) {
  101057. j = sp_1024_order_op[i];
  101058. if (j > 0) {
  101059. j /= 2;
  101060. /* Accumulate line into v and add P into C. */
  101061. sp_1024_proj_mul_avx2_16(vx, vy, pre_vx[j], pre_vy[j], t);
  101062. sp_1024_accumulate_line_add_n_avx2_16(vx, vy, &pre_p[j], q, c,
  101063. t, 0);
  101064. }
  101065. else {
  101066. j = -j / 2;
  101067. /* Accumulate line into v and add P into C. */
  101068. sp_1024_proj_mul_avx2_16(vx, vy, pre_vx[j], pre_nvy[j], t);
  101069. sp_1024_accumulate_line_add_n_avx2_16(vx, vy, &pre_p[j], q, c,
  101070. t, 1);
  101071. }
  101072. /* Accumulate line into v and double point n times. */
  101073. sp_1024_accumulate_line_dbl_n_avx2_16(vx, vy, c, q,
  101074. sp_1024_order_op[i + 1], t);
  101075. }
  101076. /* Final exponentiation */
  101077. sp_1024_proj_sqr_avx2_16(vx, vy, t);
  101078. sp_1024_proj_sqr_avx2_16(vx, vy, t);
  101079. /* Convert from PF_p[q] to F_p */
  101080. sp_1024_mont_inv_avx2_16(vx, vx, t);
  101081. sp_1024_mont_mul_avx2_16(r, vx, vy, p1024_mod, p1024_mp_mod);
  101082. XMEMSET(r + 16, 0, sizeof(sp_digit) * 16);
  101083. sp_1024_mont_reduce_avx2_16(r, p1024_mod, p1024_mp_mod);
  101084. err = sp_1024_to_mp(r, res);
  101085. }
  101086. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101087. !defined(WOLFSSL_SP_NO_MALLOC)
  101088. if (td != NULL) {
  101089. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  101090. }
  101091. #endif
  101092. sp_1024_point_free_16(c, 1, NULL);
  101093. sp_1024_point_free_16(q, 1, NULL);
  101094. sp_1024_point_free_16(p, 1, NULL);
  101095. return err;
  101096. }
  101097. #endif /* WOLFSSL_SP_SMALL */
  101098. #endif /* HAVE_INTEL_AVX2 */
  101099. /*
  101100. * Calculate r = pairing <P, Q>.
  101101. *
  101102. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  101103. *
  101104. * @param [in] key SAKKE key.
  101105. * @param [in] p First point on E(F_p)[q].
  101106. * @param [in] q Second point on E(F_p)[q].
  101107. * @param [in] r Result of calculation.
  101108. * @return 0 on success.
  101109. * @return MEMORY_E when dynamic memory allocation fails.
  101110. * @return Other -ve value on internal failure.
  101111. */
  101112. int sp_Pairing_1024(const ecc_point* pm, const ecc_point* qm, mp_int* res)
  101113. {
  101114. int err;
  101115. #ifdef HAVE_INTEL_AVX2
  101116. word32 cpuid_flags = cpuid_get_flags();
  101117. #endif
  101118. ASSERT_SAVED_VECTOR_REGISTERS();
  101119. #ifdef HAVE_INTEL_AVX2
  101120. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  101121. err = sp_Pairing_avx2_1024(pm, qm, res);
  101122. }
  101123. else
  101124. #endif
  101125. {
  101126. err = sp_Pairing_x64_1024(pm, qm, res);
  101127. }
  101128. return err;
  101129. }
  101130. #ifdef WOLFSSL_SP_SMALL
  101131. /*
  101132. * Generate table for pairing.
  101133. *
  101134. * Small implementation does not use a table - returns 0 length.
  101135. *
  101136. * pm [in] Point to generate table for.
  101137. * table [in] Generated table.
  101138. * len [in,out] On in, the size of the buffer.
  101139. * On out, length of table generated.
  101140. * @return 0 on success.
  101141. * LENGTH_ONLY_E when table is NULL and only length returned.
  101142. * BUFFER_E when len is too small.
  101143. */
  101144. static int sp_Pairing_gen_precomp_x64_1024(const ecc_point* pm, byte* table,
  101145. word32* len)
  101146. {
  101147. int err = 0;
  101148. if (table == NULL) {
  101149. *len = 0;
  101150. err = LENGTH_ONLY_E;
  101151. }
  101152. else if (*len != 0) {
  101153. err = BUFFER_E;
  101154. }
  101155. (void)*pm;
  101156. return err;
  101157. }
  101158. /*
  101159. * Calculate r = pairing <P, Q>.
  101160. *
  101161. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  101162. *
  101163. * Small implementation does not use a table - use the normal implementation.
  101164. *
  101165. * @param [in] pm First point on E(F_p)[q].
  101166. * @param [in] qm Second point on E(F_p)[q].
  101167. * @param [in] res Result of calculation.
  101168. * @param [in] table Precomputed table of values.
  101169. * @param [in] len Length of precomputed table of values in bytes.
  101170. * @return 0 on success.
  101171. * @return MEMORY_E when dynamic memory allocation fails.
  101172. */
  101173. static int sp_Pairing_precomp_x64_1024(const ecc_point* pm, const ecc_point* qm,
  101174. mp_int* res, const byte* table, word32 len)
  101175. {
  101176. (void)table;
  101177. (void)len;
  101178. return sp_Pairing_x64_1024(pm, qm, res);
  101179. }
  101180. #else
  101181. /*
  101182. * Calc l and c for the point when doubling p.
  101183. *
  101184. * l = 3 * (p.x^2 - 1) / (2 * p.y)
  101185. * c = l * p.x - p.y
  101186. *
  101187. * @param [out] lr Gradient result - table entry.
  101188. * @param [out] cr Constant result - table entry.
  101189. * @param [in] px X-ordinate of point to double.
  101190. * @param [in] py Y-ordinate of point to double.
  101191. * @param [in] t SP temporaries (3 used).
  101192. */
  101193. static void sp_1024_accum_dbl_calc_lc_16(sp_digit* lr, sp_digit* cr,
  101194. const sp_digit* px, const sp_digit* py, sp_digit* t)
  101195. {
  101196. sp_digit* t1 = t + 0 * 2 * 16;
  101197. sp_digit* t2 = t + 2 * 2 * 16;
  101198. sp_digit* l = t + 4 * 2 * 16;
  101199. /* l = 1 / 2 * p.y */
  101200. sp_1024_mont_dbl_16(l, py, p1024_mod);
  101201. sp_1024_mont_inv_16(l, l, t);
  101202. /* t1 = p.x^2 */
  101203. sp_1024_mont_sqr_16(t1, px, p1024_mod, p1024_mp_mod);
  101204. /* t1 = p.x - 1 */
  101205. sp_1024_mont_sub_16(t1, t1, p1024_norm_mod, p1024_mod);
  101206. /* t1 = 3 * (p.x^2 - 1) */
  101207. sp_1024_mont_dbl_16(t2, t1, p1024_mod);
  101208. sp_1024_mont_add_16(t1, t1, t2, p1024_mod);
  101209. /* t1 = 3 * (p.x^2 - 1) / (2 * p.y) */
  101210. sp_1024_mont_mul_16(l, l, t1, p1024_mod, p1024_mp_mod);
  101211. /* t2 = l * p.x */
  101212. sp_1024_mont_mul_16(t2, l, px, p1024_mod, p1024_mp_mod);
  101213. /* c = t2 = l * p.x - p.y */
  101214. sp_1024_mont_sub_16(t2, t2, py, p1024_mod);
  101215. XMEMCPY(lr, l, sizeof(sp_digit) * 16);
  101216. XMEMCPY(cr, t2, sizeof(sp_digit) * 16);
  101217. }
  101218. /*
  101219. * Calc l and c when adding p and c.
  101220. *
  101221. * l = (c.y - p.y) / (c.x - p.x)
  101222. * c = (p.x * c.y - cx * p.y) / (cx - p.x)
  101223. *
  101224. * @param [out] lr Gradient result - table entry.
  101225. * @param [out] cr Constant result - table entry.
  101226. * @param [in] px X-ordinate of point to add.
  101227. * @param [in] py Y-ordinate of point to add.
  101228. * @param [in] cx X-ordinate of current point.
  101229. * @param [in] cy Y-ordinate of current point.
  101230. * @param [in] t SP temporaries (3 used).
  101231. */
  101232. static void sp_1024_accum_add_calc_lc_16(sp_digit* lr, sp_digit* cr,
  101233. const sp_digit* px, const sp_digit* py, const sp_digit* cx,
  101234. const sp_digit* cy, sp_digit* t)
  101235. {
  101236. sp_digit* t1 = t + 0 * 2 * 16;
  101237. sp_digit* c = t + 2 * 2 * 16;
  101238. sp_digit* l = t + 4 * 2 * 16;
  101239. /* l = 1 / (c.x - p.x) */
  101240. sp_1024_mont_sub_16(l, cx, px, p1024_mod);
  101241. sp_1024_mont_inv_16(l, l, t);
  101242. /* c = p.x * c.y */
  101243. sp_1024_mont_mul_16(c, px, cy, p1024_mod, p1024_mp_mod);
  101244. /* t1 = c.x * p.y */
  101245. sp_1024_mont_mul_16(t1, cx, py, p1024_mod, p1024_mp_mod);
  101246. /* c = (p.x * c.y) - (c.x * p.y) */
  101247. sp_1024_mont_sub_16(c, c, t1, p1024_mod);
  101248. /* c = ((p.x * c.y) - (c.x * p.y)) / (c.x - p.x) */
  101249. sp_1024_mont_mul_16(c, c, l, p1024_mod, p1024_mp_mod);
  101250. /* t1 = c.y - p.y */
  101251. sp_1024_mont_sub_16(t1, cy, py, p1024_mod);
  101252. /* l = (c.y - p.y) / (c.x - p.x) */
  101253. sp_1024_mont_mul_16(l, t1, l, p1024_mod, p1024_mp_mod);
  101254. XMEMCPY(lr, l, sizeof(sp_digit) * 16);
  101255. XMEMCPY(cr, c, sizeof(sp_digit) * 16);
  101256. }
  101257. /*
  101258. * Calculate vx and vy given gradient l and constant c and point q.
  101259. *
  101260. * l is a the gradient and is multiplied by q->x.
  101261. * c is a the constant that is added to the multiplicative result.
  101262. * q->y is the y-ordinate in result to multiply.
  101263. *
  101264. * if dbl
  101265. * v* = v*^2
  101266. * r.x = l * q.x + c
  101267. * r.y = q->y
  101268. * v* = v* * r*
  101269. *
  101270. * @param [in,out] vx X-ordinate of projective value in F*.
  101271. * @param [in,out] vy Y-ordinate of projective value in F*.
  101272. * @param [in] l Gradient to multiply with.
  101273. * @param [in] c Constant to add with.
  101274. * @param [in] q ECC point - second point on E(F_P^2).
  101275. * @param [in] t SP temporaries (3 used).
  101276. * @param [in] dbl Indicates whether this is for doubling. Otherwise
  101277. * adding.
  101278. */
  101279. static void sp_1024_accumulate_line_lc_16(sp_digit* vx, sp_digit* vy,
  101280. const sp_digit* l, const sp_digit* c, const sp_point_1024* q,
  101281. sp_digit* t, int dbl)
  101282. {
  101283. sp_digit* rx = t + 4 * 2 * 16;
  101284. /* v = v^2 */
  101285. if (dbl) {
  101286. sp_1024_proj_sqr_16(vx, vy, t);
  101287. }
  101288. /* rx = l * q.x + c */
  101289. sp_1024_mont_mul_16(rx, l, q->x, p1024_mod, p1024_mp_mod);
  101290. sp_1024_mont_add_16(rx, rx, c, p1024_mod);
  101291. /* v = v^2 * r */
  101292. sp_1024_proj_mul_16(vx, vy, rx, q->y, t);
  101293. }
  101294. /* Operations to perform based on order - 1.
  101295. * Sliding window. Start at bottom and stop when bottom bit is one.
  101296. * Subtract if top bit in window is one.
  101297. * Width of 6 bits.
  101298. * Pairs: #dbls, add/subtract window value
  101299. */
  101300. static const signed char sp_1024_order_op_pre[] = {
  101301. 5, 6, -13, 9, -21, 6, -5, 8, 31, 6, 3, 6, -27, 6, 25, 9,
  101302. -1, 6, -11, 6, -13, 6, -7, 6, -15, 6, -29, 7, 25, 6, -9, 6,
  101303. -19, 7, 3, 6, 11, 9, -23, 6, 1, 6, 27, 6, 1, 7, -25, 8,
  101304. 13, 7, -13, 7, -23, 10, 19, 7, 7, 7, -3, 7, 27, 6, -7, 7,
  101305. -21, 7, 11, 7, 31, 8, 1, 7, -23, 6, -17, 6, -3, 10, 11, 6,
  101306. -21, 7, -27, 11, -29, 6, -1, 10, 15, 8, 27, 7, 17, 6, 17, 7,
  101307. -13, 8, 13, 6, 21, 7, -29, 6, 19, 7, -25, 6, 11, 9, 29, 7,
  101308. -7, 8, 27, 7, 29, 10, -1, 8, -7, 8, 17, 6, 17, 7, -27, 7,
  101309. -21, 6, -9, 6, -27, 12, -23, 6, 19, 6, 13, 6, -11, 7, 27, 6,
  101310. 17, 6, -7, 6, -25, 7, -29, 6, 9, 7, 7, 6, 13, 6, -25, 6,
  101311. -19, 6, 13, 6, -11, 6, 5, 8, 19, 6, -21, 8, 23, 7, 27, 6,
  101312. -13, 6, -19, 11, 29, 7, -15, 6, -9, 7, -21, 10, -3, 7, 21, 10,
  101313. 25, 6, -15, 6, -23, 6, 21, 6, 1, 6, 21, 7, -3, 6, -3, 7,
  101314. -7, 6, -23, 7, 7, 8, 15, 9, 5, 6, -11, 6, 21, 11, -27, 7,
  101315. 27, 6, -11, 6, 31, 6, -21, 6, 19, 6, -7, 8, -7, 13, -3, 6,
  101316. -7, 7, -3, 6, 1, 6, 7, 8, 19, 8, 11, 9, -9, 7, -31, 12,
  101317. 25, 6, -17, 9, -15, 7, 5, 6, 25, 7, -5, 7, -25, 6, 17, 8,
  101318. -19, 6, -13, 6, 27, 8, 1, 7, -5, 7, -1, 6, 21, 6, 3, 10,
  101319. -3, 1,
  101320. };
  101321. /*
  101322. * Generate table for pairing.
  101323. *
  101324. * Calculate the graident (l) and constant (c) at each step of the way.
  101325. * Sliding window. Start at bottom and stop when bottom bit is one.
  101326. * Subtract if top bit in window is one.
  101327. * Width of 6 bits.
  101328. *
  101329. * pm [in] Point to generate table for.
  101330. * table [in] Generated table.
  101331. * len [in,out] On in, the size of the buffer.
  101332. * On out, length of table generated.
  101333. * @return 0 on success.
  101334. * LENGTH_ONLY_E when table is NULL and only length returned.
  101335. * BUFFER_E when len is too small.
  101336. * MEMORY_E when dynamic memory allocation fauls.
  101337. */
  101338. static int sp_Pairing_gen_precomp_x64_1024(const ecc_point* pm, byte* table,
  101339. word32* len)
  101340. {
  101341. int err = 0;
  101342. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101343. !defined(WOLFSSL_SP_NO_MALLOC)
  101344. sp_digit* td = NULL;
  101345. sp_digit* t;
  101346. sp_point_1024* pre_p;
  101347. #else
  101348. sp_digit t[6 * 2 * 16];
  101349. sp_point_1024 pre_p[16];
  101350. sp_point_1024 pd;
  101351. sp_point_1024 cd;
  101352. sp_point_1024 negd;
  101353. #endif
  101354. sp_point_1024* p = NULL;
  101355. sp_point_1024* c = NULL;
  101356. sp_point_1024* neg = NULL;
  101357. int i;
  101358. int j;
  101359. int k;
  101360. sp_table_entry_1024* precomp = (sp_table_entry_1024*)table;
  101361. if (table == NULL) {
  101362. *len = sizeof(sp_table_entry_1024) * 1167;
  101363. err = LENGTH_ONLY_E;
  101364. }
  101365. if ((err == MP_OKAY) &&
  101366. (*len < (int)(sizeof(sp_table_entry_1024) * 1167))) {
  101367. err = BUFFER_E;
  101368. }
  101369. if (err == MP_OKAY) {
  101370. err = sp_1024_point_new_16(NULL, pd, p);
  101371. }
  101372. if (err == MP_OKAY) {
  101373. err = sp_1024_point_new_16(NULL, cd, c);
  101374. }
  101375. if (err == MP_OKAY) {
  101376. err = sp_1024_point_new_16(NULL, negd, neg);
  101377. }
  101378. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101379. !defined(WOLFSSL_SP_NO_MALLOC)
  101380. if (err == MP_OKAY) {
  101381. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6 * 16 * 2 + 16 * sizeof(sp_point_1024), NULL,
  101382. DYNAMIC_TYPE_TMP_BUFFER);
  101383. if (td == NULL) {
  101384. err = MEMORY_E;
  101385. }
  101386. }
  101387. #endif
  101388. if (err == MP_OKAY) {
  101389. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101390. !defined(WOLFSSL_SP_NO_MALLOC)
  101391. t = td;
  101392. pre_p = (sp_point_1024*)(td + 6 * 16 * 2);
  101393. #endif
  101394. sp_1024_point_from_ecc_point_16(p, pm);
  101395. err = sp_1024_mod_mul_norm_16(p->x, p->x, p1024_mod);
  101396. }
  101397. if (err == MP_OKAY) {
  101398. err = sp_1024_mod_mul_norm_16(p->y, p->y, p1024_mod);
  101399. }
  101400. if (err == MP_OKAY) {
  101401. XMEMCPY(p->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  101402. neg->infinity = 0;
  101403. c->infinity = 0;
  101404. /* Generate pre-computation table: 1, 3, ... , 31 */
  101405. XMEMCPY(&pre_p[0], p, sizeof(sp_point_1024));
  101406. /* [2]P for adding */
  101407. sp_1024_proj_point_dbl_16(c, p, t);
  101408. /* 1, 3, ... */
  101409. for (i = 1; i < 16; i++) {
  101410. sp_1024_proj_point_add_16(&pre_p[i], &pre_p[i-1], c, t);
  101411. sp_1024_mont_map_16(&pre_p[i], t);
  101412. }
  101413. k = 0;
  101414. j = sp_1024_order_op_pre[0] / 2;
  101415. XMEMCPY(c, &pre_p[j], sizeof(sp_point_1024));
  101416. for (j = 0; j < sp_1024_order_op_pre[1]; j++) {
  101417. sp_1024_accum_dbl_calc_lc_16(precomp[k].x, precomp[k].y, c->x, c->y, t);
  101418. k++;
  101419. sp_1024_proj_point_dbl_16(c, c, t);
  101420. sp_1024_mont_map_16(c, t);
  101421. }
  101422. for (i = 2; i < 290; i += 2) {
  101423. j = sp_1024_order_op_pre[i];
  101424. if (j > 0) {
  101425. sp_1024_accum_add_calc_lc_16(precomp[k].x, precomp[k].y,
  101426. pre_p[j/2].x, pre_p[j/2].y, c->x, c->y, t);
  101427. k++;
  101428. sp_1024_proj_point_add_16(c, c, &pre_p[j/2], t);
  101429. sp_1024_mont_map_16(c, t);
  101430. }
  101431. else {
  101432. XMEMCPY(neg->x, pre_p[-j / 2].x, sizeof(pre_p->x));
  101433. sp_1024_mont_sub_16(neg->y, p1024_mod, pre_p[-j / 2].y,
  101434. p1024_mod);
  101435. XMEMCPY(neg->z, pre_p[-j / 2].z, sizeof(pre_p->z));
  101436. sp_1024_accum_add_calc_lc_16(precomp[k].x, precomp[k].y,
  101437. neg->x, neg->y, c->x, c->y, t);
  101438. k++;
  101439. sp_1024_proj_point_add_16(c, c, neg, t);
  101440. sp_1024_mont_map_16(c, t);
  101441. }
  101442. for (j = 0; j < sp_1024_order_op_pre[i + 1]; j++) {
  101443. sp_1024_accum_dbl_calc_lc_16(precomp[k].x, precomp[k].y, c->x, c->y, t);
  101444. k++;
  101445. sp_1024_proj_point_dbl_16(c, c, t);
  101446. sp_1024_mont_map_16(c, t);
  101447. }
  101448. }
  101449. *len = sizeof(sp_table_entry_1024) * 1167;
  101450. }
  101451. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101452. !defined(WOLFSSL_SP_NO_MALLOC)
  101453. if (td != NULL) {
  101454. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  101455. }
  101456. #endif
  101457. sp_1024_point_free_16(neg, 1, NULL);
  101458. sp_1024_point_free_16(c, 1, NULL);
  101459. sp_1024_point_free_16(p, 1, NULL);
  101460. return err;
  101461. }
  101462. /*
  101463. * Calculate r = pairing <P, Q>.
  101464. *
  101465. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  101466. *
  101467. * Sliding window. Start at bottom and stop when bottom bit is one.
  101468. * Subtract if top bit in window is one.
  101469. * Width of 6 bits.
  101470. * Pre-generate values in window (1, 3, ...) - only V.
  101471. * Table contains all gradient l and a constant for each point on the path.
  101472. *
  101473. * @param [in] pm First point on E(F_p)[q].
  101474. * @param [in] qm Second point on E(F_p)[q].
  101475. * @param [in] res Result of calculation.
  101476. * @param [in] table Precomputed table of values.
  101477. * @param [in] len Length of precomputed table of values in bytes.
  101478. * @return 0 on success.
  101479. * @return MEMORY_E when dynamic memory allocation fails.
  101480. */
  101481. static int sp_Pairing_precomp_x64_1024(const ecc_point* pm, const ecc_point* qm,
  101482. mp_int* res, const byte* table, word32 len)
  101483. {
  101484. int err = 0;
  101485. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101486. !defined(WOLFSSL_SP_NO_MALLOC)
  101487. sp_digit* td = NULL;
  101488. sp_digit* t;
  101489. sp_digit* vx;
  101490. sp_digit* vy;
  101491. sp_digit (*pre_vx)[32];
  101492. sp_digit (*pre_vy)[32];
  101493. sp_digit (*pre_nvy)[32];
  101494. #else
  101495. sp_digit t[6 * 2 * 16];
  101496. sp_digit vx[2 * 16];
  101497. sp_digit vy[2 * 16];
  101498. sp_digit pre_vx[16][32];
  101499. sp_digit pre_vy[16][32];
  101500. sp_digit pre_nvy[16][32];
  101501. sp_point_1024 pd;
  101502. sp_point_1024 qd;
  101503. sp_point_1024 cd;
  101504. #endif
  101505. sp_point_1024* p = NULL;
  101506. sp_point_1024* q = NULL;
  101507. sp_point_1024* c = NULL;
  101508. sp_digit* r = NULL;
  101509. int i;
  101510. int j;
  101511. int k;
  101512. const sp_table_entry_1024* precomp = (const sp_table_entry_1024*)table;
  101513. if (len < (int)(sizeof(sp_table_entry_1024) * 1167)) {
  101514. err = BUFFER_E;
  101515. }
  101516. if (err == MP_OKAY) {
  101517. err = sp_1024_point_new_16(NULL, pd, p);
  101518. }
  101519. if (err == MP_OKAY) {
  101520. err = sp_1024_point_new_16(NULL, qd, q);
  101521. }
  101522. if (err == MP_OKAY) {
  101523. err = sp_1024_point_new_16(NULL, cd, c);
  101524. }
  101525. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101526. !defined(WOLFSSL_SP_NO_MALLOC)
  101527. if (err == MP_OKAY) {
  101528. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 56 * 16 * 2, NULL,
  101529. DYNAMIC_TYPE_TMP_BUFFER);
  101530. if (td == NULL) {
  101531. err = MEMORY_E;
  101532. }
  101533. }
  101534. #endif
  101535. if (err == MP_OKAY) {
  101536. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101537. !defined(WOLFSSL_SP_NO_MALLOC)
  101538. t = td;
  101539. vx = td + 6 * 16 * 2;
  101540. vy = td + 7 * 16 * 2;
  101541. pre_vx = (sp_digit(*)[32])(td + 8 * 16 * 2);
  101542. pre_vy = (sp_digit(*)[32])(td + 24 * 16 * 2);
  101543. pre_nvy = (sp_digit(*)[32])(td + 40 * 16 * 2);
  101544. #endif
  101545. r = vy;
  101546. sp_1024_point_from_ecc_point_16(p, pm);
  101547. sp_1024_point_from_ecc_point_16(q, qm);
  101548. err = sp_1024_mod_mul_norm_16(p->x, p->x, p1024_mod);
  101549. }
  101550. if (err == MP_OKAY) {
  101551. err = sp_1024_mod_mul_norm_16(p->y, p->y, p1024_mod);
  101552. }
  101553. if (err == MP_OKAY) {
  101554. err = sp_1024_mod_mul_norm_16(p->z, p->z, p1024_mod);
  101555. }
  101556. if (err == MP_OKAY) {
  101557. err = sp_1024_mod_mul_norm_16(q->x, q->x, p1024_mod);
  101558. }
  101559. if (err == MP_OKAY) {
  101560. err = sp_1024_mod_mul_norm_16(q->y, q->y, p1024_mod);
  101561. }
  101562. if (err == MP_OKAY) {
  101563. /* Generate pre-computation table: 1, 3, ... , 31 */
  101564. XMEMSET(pre_vx[0], 0, sizeof(sp_digit) * 2 * 16);
  101565. pre_vx[0][0] = 1;
  101566. XMEMSET(pre_vy[0], 0, sizeof(sp_digit) * 2 * 16);
  101567. sp_1024_mont_sub_16(pre_nvy[0], p1024_mod, pre_vy[0], p1024_mod);
  101568. /* [2]P for adding */
  101569. XMEMCPY(c, p, sizeof(sp_point_1024));
  101570. XMEMSET(vx, 0, sizeof(sp_digit) * 2 * 16);
  101571. vx[0] = 1;
  101572. XMEMSET(vy, 0, sizeof(sp_digit) * 2 * 16);
  101573. sp_1024_accumulate_line_dbl_16(vx, vy, c, q, t);
  101574. /* 3, 5, ... */
  101575. for (i = 1; i < 16; i++) {
  101576. XMEMCPY(pre_vx[i], pre_vx[i-1], sizeof(sp_digit) * 2 * 16);
  101577. XMEMCPY(pre_vy[i], pre_vy[i-1], sizeof(sp_digit) * 2 * 16);
  101578. sp_1024_proj_mul_16(pre_vx[i], pre_vy[i], vx, vy, t);
  101579. sp_1024_accumulate_line_add_n_16(pre_vx[i], pre_vy[i], c,
  101580. q, p, t, 0);
  101581. sp_1024_mont_sub_16(pre_nvy[i], p1024_mod, pre_vy[i],
  101582. p1024_mod);
  101583. }
  101584. XMEMCPY(c->z, p1024_norm_mod, sizeof(sp_digit) * 16);
  101585. c->infinity = 0;
  101586. j = sp_1024_order_op_pre[0] / 2;
  101587. XMEMCPY(vx, pre_vx[j], sizeof(sp_digit) * 2 * 16);
  101588. XMEMCPY(vy, pre_vy[j], sizeof(sp_digit) * 2 * 16);
  101589. k = 0;
  101590. for (j = 0; j < sp_1024_order_op_pre[1]; j++) {
  101591. /* Accumulate line into v and double point. */
  101592. sp_1024_accumulate_line_lc_16(vx, vy, precomp[k].x,
  101593. precomp[k].y, q, t, 1);
  101594. k++;
  101595. }
  101596. for (i = 2; i < 290; i += 2) {
  101597. sp_1024_accumulate_line_lc_16(vx, vy, precomp[k].x,
  101598. precomp[k].y, q, t, 0);
  101599. k++;
  101600. j = sp_1024_order_op_pre[i];
  101601. if (j > 0) {
  101602. j /= 2;
  101603. /* Accumulate line into v. */
  101604. sp_1024_proj_mul_16(vx, vy, pre_vx[j], pre_vy[j], t);
  101605. }
  101606. else {
  101607. j = -j / 2;
  101608. /* Accumulate line into v. */
  101609. sp_1024_proj_mul_16(vx, vy, pre_vx[j], pre_nvy[j], t);
  101610. }
  101611. for (j = 0; j < sp_1024_order_op_pre[i + 1]; j++) {
  101612. /* Accumulate line into v and double point. */
  101613. sp_1024_accumulate_line_lc_16(vx, vy, precomp[k].x,
  101614. precomp[k].y, q, t, 1);
  101615. k++;
  101616. }
  101617. }
  101618. /* Final exponentiation */
  101619. sp_1024_proj_sqr_16(vx, vy, t);
  101620. sp_1024_proj_sqr_16(vx, vy, t);
  101621. /* Convert from PF_p[q] to F_p */
  101622. sp_1024_mont_inv_16(vx, vx, t);
  101623. sp_1024_mont_mul_16(r, vx, vy, p1024_mod, p1024_mp_mod);
  101624. XMEMSET(r + 16, 0, sizeof(sp_digit) * 16);
  101625. sp_1024_mont_reduce_16(r, p1024_mod, p1024_mp_mod);
  101626. err = sp_1024_to_mp(r, res);
  101627. }
  101628. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101629. !defined(WOLFSSL_SP_NO_MALLOC)
  101630. if (td != NULL) {
  101631. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  101632. }
  101633. #endif
  101634. sp_1024_point_free_16(c, 1, NULL);
  101635. sp_1024_point_free_16(q, 1, NULL);
  101636. sp_1024_point_free_16(p, 1, NULL);
  101637. return err;
  101638. }
  101639. #endif /* WOLFSSL_SP_SMALL */
  101640. #ifdef HAVE_INTEL_AVX2
  101641. #ifdef WOLFSSL_SP_SMALL
  101642. /*
  101643. * Generate table for pairing.
  101644. *
  101645. * Small implementation does not use a table - returns 0 length.
  101646. *
  101647. * pm [in] Point to generate table for.
  101648. * table [in] Generated table.
  101649. * len [in,out] On in, the size of the buffer.
  101650. * On out, length of table generated.
  101651. * @return 0 on success.
  101652. * LENGTH_ONLY_E when table is NULL and only length returned.
  101653. * BUFFER_E when len is too small.
  101654. */
  101655. static int sp_Pairing_gen_precomp_avx2_1024(const ecc_point* pm, byte* table,
  101656. word32* len)
  101657. {
  101658. int err = 0;
  101659. if (table == NULL) {
  101660. *len = 0;
  101661. err = LENGTH_ONLY_E;
  101662. }
  101663. else if (*len != 0) {
  101664. err = BUFFER_E;
  101665. }
  101666. (void)*pm;
  101667. return err;
  101668. }
  101669. /*
  101670. * Calculate r = pairing <P, Q>.
  101671. *
  101672. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  101673. *
  101674. * Small implementation does not use a table - use the normal implementation.
  101675. *
  101676. * @param [in] pm First point on E(F_p)[q].
  101677. * @param [in] qm Second point on E(F_p)[q].
  101678. * @param [in] res Result of calculation.
  101679. * @param [in] table Precomputed table of values.
  101680. * @param [in] len Length of precomputed table of values in bytes.
  101681. * @return 0 on success.
  101682. * @return MEMORY_E when dynamic memory allocation fails.
  101683. */
  101684. static int sp_Pairing_precomp_avx2_1024(const ecc_point* pm, const ecc_point* qm,
  101685. mp_int* res, const byte* table, word32 len)
  101686. {
  101687. (void)table;
  101688. (void)len;
  101689. return sp_Pairing_avx2_1024(pm, qm, res);
  101690. }
  101691. #else
  101692. /*
  101693. * Calc l and c for the point when doubling p.
  101694. *
  101695. * l = 3 * (p.x^2 - 1) / (2 * p.y)
  101696. * c = l * p.x - p.y
  101697. *
  101698. * @param [out] lr Gradient result - table entry.
  101699. * @param [out] cr Constant result - table entry.
  101700. * @param [in] px X-ordinate of point to double.
  101701. * @param [in] py Y-ordinate of point to double.
  101702. * @param [in] t SP temporaries (3 used).
  101703. */
  101704. static void sp_1024_accum_dbl_calc_lc_avx2_16(sp_digit* lr, sp_digit* cr,
  101705. const sp_digit* px, const sp_digit* py, sp_digit* t)
  101706. {
  101707. sp_digit* t1 = t + 0 * 2 * 16;
  101708. sp_digit* t2 = t + 2 * 2 * 16;
  101709. sp_digit* l = t + 4 * 2 * 16;
  101710. /* l = 1 / 2 * p.y */
  101711. sp_1024_mont_dbl_avx2_16(l, py, p1024_mod);
  101712. sp_1024_mont_inv_avx2_16(l, l, t);
  101713. /* t1 = p.x^2 */
  101714. sp_1024_mont_sqr_avx2_16(t1, px, p1024_mod, p1024_mp_mod);
  101715. /* t1 = p.x - 1 */
  101716. sp_1024_mont_sub_avx2_16(t1, t1, p1024_norm_mod, p1024_mod);
  101717. /* t1 = 3 * (p.x^2 - 1) */
  101718. sp_1024_mont_dbl_avx2_16(t2, t1, p1024_mod);
  101719. sp_1024_mont_add_avx2_16(t1, t1, t2, p1024_mod);
  101720. /* t1 = 3 * (p.x^2 - 1) / (2 * p.y) */
  101721. sp_1024_mont_mul_avx2_16(l, l, t1, p1024_mod, p1024_mp_mod);
  101722. /* t2 = l * p.x */
  101723. sp_1024_mont_mul_avx2_16(t2, l, px, p1024_mod, p1024_mp_mod);
  101724. /* c = t2 = l * p.x - p.y */
  101725. sp_1024_mont_sub_avx2_16(t2, t2, py, p1024_mod);
  101726. XMEMCPY(lr, l, sizeof(sp_digit) * 16);
  101727. XMEMCPY(cr, t2, sizeof(sp_digit) * 16);
  101728. }
  101729. /*
  101730. * Calc l and c when adding p and c.
  101731. *
  101732. * l = (c.y - p.y) / (c.x - p.x)
  101733. * c = (p.x * c.y - cx * p.y) / (cx - p.x)
  101734. *
  101735. * @param [out] lr Gradient result - table entry.
  101736. * @param [out] cr Constant result - table entry.
  101737. * @param [in] px X-ordinate of point to add.
  101738. * @param [in] py Y-ordinate of point to add.
  101739. * @param [in] cx X-ordinate of current point.
  101740. * @param [in] cy Y-ordinate of current point.
  101741. * @param [in] t SP temporaries (3 used).
  101742. */
  101743. static void sp_1024_accum_add_calc_lc_avx2_16(sp_digit* lr, sp_digit* cr,
  101744. const sp_digit* px, const sp_digit* py, const sp_digit* cx,
  101745. const sp_digit* cy, sp_digit* t)
  101746. {
  101747. sp_digit* t1 = t + 0 * 2 * 16;
  101748. sp_digit* c = t + 2 * 2 * 16;
  101749. sp_digit* l = t + 4 * 2 * 16;
  101750. /* l = 1 / (c.x - p.x) */
  101751. sp_1024_mont_sub_avx2_16(l, cx, px, p1024_mod);
  101752. sp_1024_mont_inv_avx2_16(l, l, t);
  101753. /* c = p.x * c.y */
  101754. sp_1024_mont_mul_avx2_16(c, px, cy, p1024_mod, p1024_mp_mod);
  101755. /* t1 = c.x * p.y */
  101756. sp_1024_mont_mul_avx2_16(t1, cx, py, p1024_mod, p1024_mp_mod);
  101757. /* c = (p.x * c.y) - (c.x * p.y) */
  101758. sp_1024_mont_sub_avx2_16(c, c, t1, p1024_mod);
  101759. /* c = ((p.x * c.y) - (c.x * p.y)) / (c.x - p.x) */
  101760. sp_1024_mont_mul_avx2_16(c, c, l, p1024_mod, p1024_mp_mod);
  101761. /* t1 = c.y - p.y */
  101762. sp_1024_mont_sub_avx2_16(t1, cy, py, p1024_mod);
  101763. /* l = (c.y - p.y) / (c.x - p.x) */
  101764. sp_1024_mont_mul_avx2_16(l, t1, l, p1024_mod, p1024_mp_mod);
  101765. XMEMCPY(lr, l, sizeof(sp_digit) * 16);
  101766. XMEMCPY(cr, c, sizeof(sp_digit) * 16);
  101767. }
  101768. /*
  101769. * Calculate vx and vy given gradient l and constant c and point q.
  101770. *
  101771. * l is a the gradient and is multiplied by q->x.
  101772. * c is a the constant that is added to the multiplicative result.
  101773. * q->y is the y-ordinate in result to multiply.
  101774. *
  101775. * if dbl
  101776. * v* = v*^2
  101777. * r.x = l * q.x + c
  101778. * r.y = q->y
  101779. * v* = v* * r*
  101780. *
  101781. * @param [in,out] vx X-ordinate of projective value in F*.
  101782. * @param [in,out] vy Y-ordinate of projective value in F*.
  101783. * @param [in] l Gradient to multiply with.
  101784. * @param [in] c Constant to add with.
  101785. * @param [in] q ECC point - second point on E(F_P^2).
  101786. * @param [in] t SP temporaries (3 used).
  101787. * @param [in] dbl Indicates whether this is for doubling. Otherwise
  101788. * adding.
  101789. */
  101790. static void sp_1024_accumulate_line_lc_avx2_16(sp_digit* vx, sp_digit* vy,
  101791. const sp_digit* l, const sp_digit* c, const sp_point_1024* q,
  101792. sp_digit* t, int dbl)
  101793. {
  101794. sp_digit* rx = t + 4 * 2 * 16;
  101795. /* v = v^2 */
  101796. if (dbl) {
  101797. sp_1024_proj_sqr_avx2_16(vx, vy, t);
  101798. }
  101799. /* rx = l * q.x + c */
  101800. sp_1024_mont_mul_avx2_16(rx, l, q->x, p1024_mod, p1024_mp_mod);
  101801. sp_1024_mont_add_avx2_16(rx, rx, c, p1024_mod);
  101802. /* v = v^2 * r */
  101803. sp_1024_proj_mul_avx2_16(vx, vy, rx, q->y, t);
  101804. }
  101805. /*
  101806. * Generate table for pairing.
  101807. *
  101808. * Calculate the graident (l) and constant (c) at each step of the way.
  101809. * Sliding window. Start at bottom and stop when bottom bit is one.
  101810. * Subtract if top bit in window is one.
  101811. * Width of 6 bits.
  101812. *
  101813. * pm [in] Point to generate table for.
  101814. * table [in] Generated table.
  101815. * len [in,out] On in, the size of the buffer.
  101816. * On out, length of table generated.
  101817. * @return 0 on success.
  101818. * LENGTH_ONLY_E when table is NULL and only length returned.
  101819. * BUFFER_E when len is too small.
  101820. * MEMORY_E when dynamic memory allocation fauls.
  101821. */
  101822. static int sp_Pairing_gen_precomp_avx2_1024(const ecc_point* pm, byte* table,
  101823. word32* len)
  101824. {
  101825. int err = 0;
  101826. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101827. !defined(WOLFSSL_SP_NO_MALLOC)
  101828. sp_digit* td = NULL;
  101829. sp_digit* t;
  101830. sp_point_1024* pre_p;
  101831. #else
  101832. sp_digit t[6 * 2 * 16];
  101833. sp_point_1024 pre_p[16];
  101834. sp_point_1024 pd;
  101835. sp_point_1024 cd;
  101836. sp_point_1024 negd;
  101837. #endif
  101838. sp_point_1024* p = NULL;
  101839. sp_point_1024* c = NULL;
  101840. sp_point_1024* neg = NULL;
  101841. int i;
  101842. int j;
  101843. int k;
  101844. sp_table_entry_1024* precomp = (sp_table_entry_1024*)table;
  101845. if (table == NULL) {
  101846. *len = sizeof(sp_table_entry_1024) * 1167;
  101847. err = LENGTH_ONLY_E;
  101848. }
  101849. if ((err == MP_OKAY) &&
  101850. (*len < (int)(sizeof(sp_table_entry_1024) * 1167))) {
  101851. err = BUFFER_E;
  101852. }
  101853. if (err == MP_OKAY) {
  101854. err = sp_1024_point_new_16(NULL, pd, p);
  101855. }
  101856. if (err == MP_OKAY) {
  101857. err = sp_1024_point_new_16(NULL, cd, c);
  101858. }
  101859. if (err == MP_OKAY) {
  101860. err = sp_1024_point_new_16(NULL, negd, neg);
  101861. }
  101862. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101863. !defined(WOLFSSL_SP_NO_MALLOC)
  101864. if (err == MP_OKAY) {
  101865. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6 * 16 * 2 + 16 * sizeof(sp_point_1024), NULL,
  101866. DYNAMIC_TYPE_TMP_BUFFER);
  101867. if (td == NULL) {
  101868. err = MEMORY_E;
  101869. }
  101870. }
  101871. #endif
  101872. if (err == MP_OKAY) {
  101873. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101874. !defined(WOLFSSL_SP_NO_MALLOC)
  101875. t = td;
  101876. pre_p = (sp_point_1024*)(td + 6 * 16 * 2);
  101877. #endif
  101878. sp_1024_point_from_ecc_point_16(p, pm);
  101879. err = sp_1024_mod_mul_norm_avx2_16(p->x, p->x, p1024_mod);
  101880. }
  101881. if (err == MP_OKAY) {
  101882. err = sp_1024_mod_mul_norm_avx2_16(p->y, p->y, p1024_mod);
  101883. }
  101884. if (err == MP_OKAY) {
  101885. XMEMCPY(p->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  101886. neg->infinity = 0;
  101887. c->infinity = 0;
  101888. /* Generate pre-computation table: 1, 3, ... , 31 */
  101889. XMEMCPY(&pre_p[0], p, sizeof(sp_point_1024));
  101890. /* [2]P for adding */
  101891. sp_1024_proj_point_dbl_avx2_16(c, p, t);
  101892. /* 1, 3, ... */
  101893. for (i = 1; i < 16; i++) {
  101894. sp_1024_proj_point_add_avx2_16(&pre_p[i], &pre_p[i-1], c, t);
  101895. sp_1024_mont_map_avx2_16(&pre_p[i], t);
  101896. }
  101897. k = 0;
  101898. j = sp_1024_order_op_pre[0] / 2;
  101899. XMEMCPY(c, &pre_p[j], sizeof(sp_point_1024));
  101900. for (j = 0; j < sp_1024_order_op_pre[1]; j++) {
  101901. sp_1024_accum_dbl_calc_lc_avx2_16(precomp[k].x, precomp[k].y, c->x, c->y, t);
  101902. k++;
  101903. sp_1024_proj_point_dbl_avx2_16(c, c, t);
  101904. sp_1024_mont_map_avx2_16(c, t);
  101905. }
  101906. for (i = 2; i < 290; i += 2) {
  101907. j = sp_1024_order_op_pre[i];
  101908. if (j > 0) {
  101909. sp_1024_accum_add_calc_lc_avx2_16(precomp[k].x, precomp[k].y,
  101910. pre_p[j/2].x, pre_p[j/2].y, c->x, c->y, t);
  101911. k++;
  101912. sp_1024_proj_point_add_avx2_16(c, c, &pre_p[j/2], t);
  101913. sp_1024_mont_map_avx2_16(c, t);
  101914. }
  101915. else {
  101916. XMEMCPY(neg->x, pre_p[-j / 2].x, sizeof(pre_p->x));
  101917. sp_1024_mont_sub_avx2_16(neg->y, p1024_mod, pre_p[-j / 2].y,
  101918. p1024_mod);
  101919. XMEMCPY(neg->z, pre_p[-j / 2].z, sizeof(pre_p->z));
  101920. sp_1024_accum_add_calc_lc_avx2_16(precomp[k].x, precomp[k].y,
  101921. neg->x, neg->y, c->x, c->y, t);
  101922. k++;
  101923. sp_1024_proj_point_add_avx2_16(c, c, neg, t);
  101924. sp_1024_mont_map_avx2_16(c, t);
  101925. }
  101926. for (j = 0; j < sp_1024_order_op_pre[i + 1]; j++) {
  101927. sp_1024_accum_dbl_calc_lc_avx2_16(precomp[k].x, precomp[k].y, c->x, c->y, t);
  101928. k++;
  101929. sp_1024_proj_point_dbl_avx2_16(c, c, t);
  101930. sp_1024_mont_map_avx2_16(c, t);
  101931. }
  101932. }
  101933. *len = sizeof(sp_table_entry_1024) * 1167;
  101934. }
  101935. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101936. !defined(WOLFSSL_SP_NO_MALLOC)
  101937. if (td != NULL) {
  101938. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  101939. }
  101940. #endif
  101941. sp_1024_point_free_16(neg, 1, NULL);
  101942. sp_1024_point_free_16(c, 1, NULL);
  101943. sp_1024_point_free_16(p, 1, NULL);
  101944. return err;
  101945. }
  101946. /*
  101947. * Calculate r = pairing <P, Q>.
  101948. *
  101949. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  101950. *
  101951. * Sliding window. Start at bottom and stop when bottom bit is one.
  101952. * Subtract if top bit in window is one.
  101953. * Width of 6 bits.
  101954. * Pre-generate values in window (1, 3, ...) - only V.
  101955. * Table contains all gradient l and a constant for each point on the path.
  101956. *
  101957. * @param [in] pm First point on E(F_p)[q].
  101958. * @param [in] qm Second point on E(F_p)[q].
  101959. * @param [in] res Result of calculation.
  101960. * @param [in] table Precomputed table of values.
  101961. * @param [in] len Length of precomputed table of values in bytes.
  101962. * @return 0 on success.
  101963. * @return MEMORY_E when dynamic memory allocation fails.
  101964. */
  101965. static int sp_Pairing_precomp_avx2_1024(const ecc_point* pm, const ecc_point* qm,
  101966. mp_int* res, const byte* table, word32 len)
  101967. {
  101968. int err = 0;
  101969. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  101970. !defined(WOLFSSL_SP_NO_MALLOC)
  101971. sp_digit* td = NULL;
  101972. sp_digit* t;
  101973. sp_digit* vx;
  101974. sp_digit* vy;
  101975. sp_digit (*pre_vx)[32];
  101976. sp_digit (*pre_vy)[32];
  101977. sp_digit (*pre_nvy)[32];
  101978. #else
  101979. sp_digit t[6 * 2 * 16];
  101980. sp_digit vx[2 * 16];
  101981. sp_digit vy[2 * 16];
  101982. sp_digit pre_vx[16][32];
  101983. sp_digit pre_vy[16][32];
  101984. sp_digit pre_nvy[16][32];
  101985. sp_point_1024 pd;
  101986. sp_point_1024 qd;
  101987. sp_point_1024 cd;
  101988. #endif
  101989. sp_point_1024* p = NULL;
  101990. sp_point_1024* q = NULL;
  101991. sp_point_1024* c = NULL;
  101992. sp_digit* r = NULL;
  101993. int i;
  101994. int j;
  101995. int k;
  101996. const sp_table_entry_1024* precomp = (const sp_table_entry_1024*)table;
  101997. if (len < (int)(sizeof(sp_table_entry_1024) * 1167)) {
  101998. err = BUFFER_E;
  101999. }
  102000. if (err == MP_OKAY) {
  102001. err = sp_1024_point_new_16(NULL, pd, p);
  102002. }
  102003. if (err == MP_OKAY) {
  102004. err = sp_1024_point_new_16(NULL, qd, q);
  102005. }
  102006. if (err == MP_OKAY) {
  102007. err = sp_1024_point_new_16(NULL, cd, c);
  102008. }
  102009. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  102010. !defined(WOLFSSL_SP_NO_MALLOC)
  102011. if (err == MP_OKAY) {
  102012. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 56 * 16 * 2, NULL,
  102013. DYNAMIC_TYPE_TMP_BUFFER);
  102014. if (td == NULL) {
  102015. err = MEMORY_E;
  102016. }
  102017. }
  102018. #endif
  102019. if (err == MP_OKAY) {
  102020. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  102021. !defined(WOLFSSL_SP_NO_MALLOC)
  102022. t = td;
  102023. vx = td + 6 * 16 * 2;
  102024. vy = td + 7 * 16 * 2;
  102025. pre_vx = (sp_digit(*)[32])(td + 8 * 16 * 2);
  102026. pre_vy = (sp_digit(*)[32])(td + 24 * 16 * 2);
  102027. pre_nvy = (sp_digit(*)[32])(td + 40 * 16 * 2);
  102028. #endif
  102029. r = vy;
  102030. sp_1024_point_from_ecc_point_16(p, pm);
  102031. sp_1024_point_from_ecc_point_16(q, qm);
  102032. err = sp_1024_mod_mul_norm_avx2_16(p->x, p->x, p1024_mod);
  102033. }
  102034. if (err == MP_OKAY) {
  102035. err = sp_1024_mod_mul_norm_avx2_16(p->y, p->y, p1024_mod);
  102036. }
  102037. if (err == MP_OKAY) {
  102038. err = sp_1024_mod_mul_norm_avx2_16(p->z, p->z, p1024_mod);
  102039. }
  102040. if (err == MP_OKAY) {
  102041. err = sp_1024_mod_mul_norm_avx2_16(q->x, q->x, p1024_mod);
  102042. }
  102043. if (err == MP_OKAY) {
  102044. err = sp_1024_mod_mul_norm_avx2_16(q->y, q->y, p1024_mod);
  102045. }
  102046. if (err == MP_OKAY) {
  102047. /* Generate pre-computation table: 1, 3, ... , 31 */
  102048. XMEMSET(pre_vx[0], 0, sizeof(sp_digit) * 2 * 16);
  102049. pre_vx[0][0] = 1;
  102050. XMEMSET(pre_vy[0], 0, sizeof(sp_digit) * 2 * 16);
  102051. sp_1024_mont_sub_avx2_16(pre_nvy[0], p1024_mod, pre_vy[0], p1024_mod);
  102052. /* [2]P for adding */
  102053. XMEMCPY(c, p, sizeof(sp_point_1024));
  102054. XMEMSET(vx, 0, sizeof(sp_digit) * 2 * 16);
  102055. vx[0] = 1;
  102056. XMEMSET(vy, 0, sizeof(sp_digit) * 2 * 16);
  102057. sp_1024_accumulate_line_dbl_avx2_16(vx, vy, c, q, t);
  102058. /* 3, 5, ... */
  102059. for (i = 1; i < 16; i++) {
  102060. XMEMCPY(pre_vx[i], pre_vx[i-1], sizeof(sp_digit) * 2 * 16);
  102061. XMEMCPY(pre_vy[i], pre_vy[i-1], sizeof(sp_digit) * 2 * 16);
  102062. sp_1024_proj_mul_avx2_16(pre_vx[i], pre_vy[i], vx, vy, t);
  102063. sp_1024_accumulate_line_add_n_avx2_16(pre_vx[i], pre_vy[i], c,
  102064. q, p, t, 0);
  102065. sp_1024_mont_sub_avx2_16(pre_nvy[i], p1024_mod, pre_vy[i],
  102066. p1024_mod);
  102067. }
  102068. XMEMCPY(c->z, p1024_norm_mod, sizeof(sp_digit) * 16);
  102069. c->infinity = 0;
  102070. j = sp_1024_order_op_pre[0] / 2;
  102071. XMEMCPY(vx, pre_vx[j], sizeof(sp_digit) * 2 * 16);
  102072. XMEMCPY(vy, pre_vy[j], sizeof(sp_digit) * 2 * 16);
  102073. k = 0;
  102074. for (j = 0; j < sp_1024_order_op_pre[1]; j++) {
  102075. /* Accumulate line into v and double point. */
  102076. sp_1024_accumulate_line_lc_avx2_16(vx, vy, precomp[k].x,
  102077. precomp[k].y, q, t, 1);
  102078. k++;
  102079. }
  102080. for (i = 2; i < 290; i += 2) {
  102081. sp_1024_accumulate_line_lc_avx2_16(vx, vy, precomp[k].x,
  102082. precomp[k].y, q, t, 0);
  102083. k++;
  102084. j = sp_1024_order_op_pre[i];
  102085. if (j > 0) {
  102086. j /= 2;
  102087. /* Accumulate line into v. */
  102088. sp_1024_proj_mul_avx2_16(vx, vy, pre_vx[j], pre_vy[j], t);
  102089. }
  102090. else {
  102091. j = -j / 2;
  102092. /* Accumulate line into v. */
  102093. sp_1024_proj_mul_avx2_16(vx, vy, pre_vx[j], pre_nvy[j], t);
  102094. }
  102095. for (j = 0; j < sp_1024_order_op_pre[i + 1]; j++) {
  102096. /* Accumulate line into v and double point. */
  102097. sp_1024_accumulate_line_lc_avx2_16(vx, vy, precomp[k].x,
  102098. precomp[k].y, q, t, 1);
  102099. k++;
  102100. }
  102101. }
  102102. /* Final exponentiation */
  102103. sp_1024_proj_sqr_avx2_16(vx, vy, t);
  102104. sp_1024_proj_sqr_avx2_16(vx, vy, t);
  102105. /* Convert from PF_p[q] to F_p */
  102106. sp_1024_mont_inv_avx2_16(vx, vx, t);
  102107. sp_1024_mont_mul_avx2_16(r, vx, vy, p1024_mod, p1024_mp_mod);
  102108. XMEMSET(r + 16, 0, sizeof(sp_digit) * 16);
  102109. sp_1024_mont_reduce_avx2_16(r, p1024_mod, p1024_mp_mod);
  102110. err = sp_1024_to_mp(r, res);
  102111. }
  102112. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  102113. !defined(WOLFSSL_SP_NO_MALLOC)
  102114. if (td != NULL) {
  102115. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  102116. }
  102117. #endif
  102118. sp_1024_point_free_16(c, 1, NULL);
  102119. sp_1024_point_free_16(q, 1, NULL);
  102120. sp_1024_point_free_16(p, 1, NULL);
  102121. return err;
  102122. }
  102123. #endif /* WOLFSSL_SP_SMALL */
  102124. #endif /* HAVE_INTEL_AVX2 */
  102125. /*
  102126. * Generate table for pairing.
  102127. *
  102128. * pm [in] Point to generate table for.
  102129. * table [in] Generated table.
  102130. * len [in,out] On in, the size of the buffer.
  102131. * On out, length of table generated.
  102132. * @return 0 on success.
  102133. * Otherwise failure.
  102134. */
  102135. int sp_Pairing_gen_precomp_1024(const ecc_point* pm, byte* table, word32* len)
  102136. {
  102137. int err;
  102138. #ifdef HAVE_INTEL_AVX2
  102139. word32 cpuid_flags = cpuid_get_flags();
  102140. #endif
  102141. ASSERT_SAVED_VECTOR_REGISTERS();
  102142. #ifdef HAVE_INTEL_AVX2
  102143. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  102144. err = sp_Pairing_gen_precomp_avx2_1024(pm, table, len);
  102145. }
  102146. else
  102147. #endif
  102148. {
  102149. err = sp_Pairing_gen_precomp_x64_1024(pm, table, len);
  102150. }
  102151. return err;
  102152. }
  102153. /*
  102154. * Calculate r = pairing <P, Q>.
  102155. *
  102156. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  102157. *
  102158. * @param [in] key SAKKE key.
  102159. * @param [in] p First point on E(F_p)[q].
  102160. * @param [in] q Second point on E(F_p)[q].
  102161. * @param [in] r Result of calculation.
  102162. * @return 0 on success.
  102163. * @return MEMORY_E when dynamic memory allocation fails.
  102164. * @return Other -ve value on internal failure.
  102165. */
  102166. int sp_Pairing_precomp_1024(const ecc_point* pm, const ecc_point* qm, mp_int* res,
  102167. const byte* table, word32 len)
  102168. {
  102169. int err;
  102170. #ifdef HAVE_INTEL_AVX2
  102171. word32 cpuid_flags = cpuid_get_flags();
  102172. #endif
  102173. ASSERT_SAVED_VECTOR_REGISTERS();
  102174. #ifdef HAVE_INTEL_AVX2
  102175. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
  102176. err = sp_Pairing_precomp_avx2_1024(pm, qm, res, table, len);
  102177. }
  102178. else
  102179. #endif
  102180. {
  102181. err = sp_Pairing_precomp_x64_1024(pm, qm, res, table, len);
  102182. }
  102183. return err;
  102184. }
  102185. #ifdef HAVE_ECC_CHECK_KEY
  102186. #ifdef __cplusplus
  102187. extern "C" {
  102188. #endif
  102189. extern void sp_1024_from_bin_bswap(sp_digit* r, int size, const byte* a, int n);
  102190. #ifdef __cplusplus
  102191. }
  102192. #endif
  102193. #ifdef __cplusplus
  102194. extern "C" {
  102195. #endif
  102196. extern void sp_1024_from_bin_movbe(sp_digit* r, int size, const byte* a, int n);
  102197. #ifdef __cplusplus
  102198. }
  102199. #endif
  102200. /* Read big endian unsigned byte array into r.
  102201. *
  102202. * r A single precision integer.
  102203. * size Maximum number of bytes to convert
  102204. * a Byte array.
  102205. * n Number of bytes in array to read.
  102206. */
  102207. static void sp_1024_from_bin(sp_digit* r, int size, const byte* a, int n)
  102208. {
  102209. #ifndef NO_MOVBE_SUPPORT
  102210. word32 cpuid_flags = cpuid_get_flags();
  102211. if (IS_INTEL_MOVBE(cpuid_flags)) {
  102212. sp_1024_from_bin_movbe(r, size, a, n);
  102213. }
  102214. else
  102215. #endif
  102216. {
  102217. sp_1024_from_bin_bswap(r, size, a, n);
  102218. }
  102219. }
  102220. /* Check that the x and y oridinates are a valid point on the curve.
  102221. *
  102222. * point EC point.
  102223. * heap Heap to use if dynamically allocating.
  102224. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  102225. * not on the curve and MP_OKAY otherwise.
  102226. */
  102227. static int sp_1024_ecc_is_point_16(const sp_point_1024* point,
  102228. void* heap)
  102229. {
  102230. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  102231. sp_digit* t1 = NULL;
  102232. #else
  102233. sp_digit t1[16 * 4];
  102234. #endif
  102235. sp_digit* t2 = NULL;
  102236. sp_int64 n;
  102237. int err = MP_OKAY;
  102238. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  102239. t1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 16 * 4, heap, DYNAMIC_TYPE_ECC);
  102240. if (t1 == NULL)
  102241. err = MEMORY_E;
  102242. #endif
  102243. (void)heap;
  102244. if (err == MP_OKAY) {
  102245. t2 = t1 + 2 * 16;
  102246. sp_1024_sqr_16(t1, point->y);
  102247. (void)sp_1024_mod_16(t1, t1, p1024_mod);
  102248. sp_1024_sqr_16(t2, point->x);
  102249. (void)sp_1024_mod_16(t2, t2, p1024_mod);
  102250. sp_1024_mul_16(t2, t2, point->x);
  102251. (void)sp_1024_mod_16(t2, t2, p1024_mod);
  102252. (void)sp_1024_sub_16(t2, p1024_mod, t2);
  102253. sp_1024_mont_add_16(t1, t1, t2, p1024_mod);
  102254. sp_1024_mont_add_16(t1, t1, point->x, p1024_mod);
  102255. sp_1024_mont_add_16(t1, t1, point->x, p1024_mod);
  102256. sp_1024_mont_add_16(t1, t1, point->x, p1024_mod);
  102257. n = sp_1024_cmp_16(t1, p1024_mod);
  102258. sp_1024_cond_sub_16(t1, t1, p1024_mod, ~(n >> 63));
  102259. sp_1024_norm_16(t1);
  102260. if (!sp_1024_iszero_16(t1)) {
  102261. err = MP_VAL;
  102262. }
  102263. }
  102264. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  102265. if (t1 != NULL)
  102266. XFREE(t1, heap, DYNAMIC_TYPE_ECC);
  102267. #endif
  102268. return err;
  102269. }
  102270. /* Check that the x and y oridinates are a valid point on the curve.
  102271. *
  102272. * pX X ordinate of EC point.
  102273. * pY Y ordinate of EC point.
  102274. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  102275. * not on the curve and MP_OKAY otherwise.
  102276. */
  102277. int sp_ecc_is_point_1024(const mp_int* pX, const mp_int* pY)
  102278. {
  102279. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  102280. sp_point_1024* pub = NULL;
  102281. #else
  102282. sp_point_1024 pub[1];
  102283. #endif
  102284. const byte one[1] = { 1 };
  102285. int err = MP_OKAY;
  102286. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  102287. pub = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024), NULL,
  102288. DYNAMIC_TYPE_ECC);
  102289. if (pub == NULL)
  102290. err = MEMORY_E;
  102291. #endif
  102292. if (err == MP_OKAY) {
  102293. sp_1024_from_mp(pub->x, 16, pX);
  102294. sp_1024_from_mp(pub->y, 16, pY);
  102295. sp_1024_from_bin(pub->z, 16, one, (int)sizeof(one));
  102296. err = sp_1024_ecc_is_point_16(pub, NULL);
  102297. }
  102298. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  102299. if (pub != NULL)
  102300. XFREE(pub, NULL, DYNAMIC_TYPE_ECC);
  102301. #endif
  102302. return err;
  102303. }
  102304. /* Check that the private scalar generates the EC point (px, py), the point is
  102305. * on the curve and the point has the correct order.
  102306. *
  102307. * pX X ordinate of EC point.
  102308. * pY Y ordinate of EC point.
  102309. * privm Private scalar that generates EC point.
  102310. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  102311. * not on the curve, ECC_INF_E if the point does not have the correct order,
  102312. * ECC_PRIV_KEY_E when the private scalar doesn't generate the EC point and
  102313. * MP_OKAY otherwise.
  102314. */
  102315. int sp_ecc_check_key_1024(const mp_int* pX, const mp_int* pY,
  102316. const mp_int* privm, void* heap)
  102317. {
  102318. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  102319. sp_digit* priv = NULL;
  102320. sp_point_1024* pub = NULL;
  102321. #else
  102322. sp_digit priv[16];
  102323. sp_point_1024 pub[2];
  102324. #endif
  102325. sp_point_1024* p = NULL;
  102326. const byte one[1] = { 1 };
  102327. int err = MP_OKAY;
  102328. #ifdef HAVE_INTEL_AVX2
  102329. word32 cpuid_flags = cpuid_get_flags();
  102330. #endif
  102331. /* Quick check the lengs of public key ordinates and private key are in
  102332. * range. Proper check later.
  102333. */
  102334. if (((mp_count_bits(pX) > 1024) ||
  102335. (mp_count_bits(pY) > 1024) ||
  102336. ((privm != NULL) && (mp_count_bits(privm) > 1024)))) {
  102337. err = ECC_OUT_OF_RANGE_E;
  102338. }
  102339. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  102340. if (err == MP_OKAY) {
  102341. pub = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024) * 2, heap,
  102342. DYNAMIC_TYPE_ECC);
  102343. if (pub == NULL)
  102344. err = MEMORY_E;
  102345. }
  102346. if (err == MP_OKAY && privm) {
  102347. priv = (sp_digit*)XMALLOC(sizeof(sp_digit) * 16, heap,
  102348. DYNAMIC_TYPE_ECC);
  102349. if (priv == NULL)
  102350. err = MEMORY_E;
  102351. }
  102352. #endif
  102353. if (err == MP_OKAY) {
  102354. p = pub + 1;
  102355. sp_1024_from_mp(pub->x, 16, pX);
  102356. sp_1024_from_mp(pub->y, 16, pY);
  102357. sp_1024_from_bin(pub->z, 16, one, (int)sizeof(one));
  102358. if (privm)
  102359. sp_1024_from_mp(priv, 16, privm);
  102360. /* Check point at infinitiy. */
  102361. if ((sp_1024_iszero_16(pub->x) != 0) &&
  102362. (sp_1024_iszero_16(pub->y) != 0)) {
  102363. err = ECC_INF_E;
  102364. }
  102365. }
  102366. /* Check range of X and Y */
  102367. if ((err == MP_OKAY) &&
  102368. ((sp_1024_cmp_16(pub->x, p1024_mod) >= 0) ||
  102369. (sp_1024_cmp_16(pub->y, p1024_mod) >= 0))) {
  102370. err = ECC_OUT_OF_RANGE_E;
  102371. }
  102372. if (err == MP_OKAY) {
  102373. /* Check point is on curve */
  102374. err = sp_1024_ecc_is_point_16(pub, heap);
  102375. }
  102376. if (err == MP_OKAY) {
  102377. /* Point * order = infinity */
  102378. #ifdef HAVE_INTEL_AVX2
  102379. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  102380. err = sp_1024_ecc_mulmod_avx2_16(p, pub, p1024_order, 1, 1, heap);
  102381. else
  102382. #endif
  102383. err = sp_1024_ecc_mulmod_16(p, pub, p1024_order, 1, 1, heap);
  102384. }
  102385. /* Check result is infinity */
  102386. if ((err == MP_OKAY) && ((sp_1024_iszero_16(p->x) == 0) ||
  102387. (sp_1024_iszero_16(p->y) == 0))) {
  102388. err = ECC_INF_E;
  102389. }
  102390. if (privm) {
  102391. if (err == MP_OKAY) {
  102392. /* Base * private = point */
  102393. #ifdef HAVE_INTEL_AVX2
  102394. if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags))
  102395. err = sp_1024_ecc_mulmod_base_avx2_16(p, priv, 1, 1, heap);
  102396. else
  102397. #endif
  102398. err = sp_1024_ecc_mulmod_base_16(p, priv, 1, 1, heap);
  102399. }
  102400. /* Check result is public key */
  102401. if ((err == MP_OKAY) &&
  102402. ((sp_1024_cmp_16(p->x, pub->x) != 0) ||
  102403. (sp_1024_cmp_16(p->y, pub->y) != 0))) {
  102404. err = ECC_PRIV_KEY_E;
  102405. }
  102406. }
  102407. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  102408. if (pub != NULL)
  102409. XFREE(pub, heap, DYNAMIC_TYPE_ECC);
  102410. if (priv != NULL)
  102411. XFREE(priv, heap, DYNAMIC_TYPE_ECC);
  102412. #endif
  102413. return err;
  102414. }
  102415. #endif
  102416. #endif /* WOLFSSL_SP_1024 */
  102417. #endif /* WOLFSSL_HAVE_SP_ECC */
  102418. #endif /* WOLFSSL_SP_X86_64_ASM */
  102419. #endif /* WOLFSSL_HAVE_SP_RSA | WOLFSSL_HAVE_SP_DH | WOLFSSL_HAVE_SP_ECC */