ccgo_freebsd_amd64.go 787 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783
  1. // Code generated for freebsd/amd64 by 'generator --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-macro=m_ --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -extended-errors --libc modernc.org/libc --package-name=libz -o libz.a.go libz.a', DO NOT EDIT.
  2. //go:build freebsd && amd64
  3. package libz
  4. import (
  5. "reflect"
  6. "unsafe"
  7. "modernc.org/libc"
  8. )
  9. var _ reflect.Type
  10. var _ unsafe.Pointer
  11. const m_BASE = 65521
  12. const m_BC_BASE_MAX = 99
  13. const m_BC_DIM_MAX = 2048
  14. const m_BC_SCALE_MAX = 99
  15. const m_BC_STRING_MAX = 1000
  16. const m_BIG_ENDIAN = "_BIG_ENDIAN"
  17. const m_BYTE_ORDER = "_BYTE_ORDER"
  18. const m_CHARCLASS_NAME_MAX = 14
  19. const m_CHAR_BIT = "__CHAR_BIT"
  20. const m_CHAR_MAX = "SCHAR_MAX"
  21. const m_CHAR_MIN = "SCHAR_MIN"
  22. const m_CHILD_MAX = 40
  23. const m_COLL_WEIGHTS_MAX = 10
  24. const m_DEF_MEM_LEVEL = 8
  25. const m_DEF_WBITS = "MAX_WBITS"
  26. const m_DYN_TREES = 2
  27. const m_EXIT_FAILURE = 1
  28. const m_EXIT_SUCCESS = 0
  29. const m_EXPR_NEST_MAX = 32
  30. const m_FD_SETSIZE = 1024
  31. const m_F_LOCK = 1
  32. const m_F_OK = 0
  33. const m_F_TEST = 3
  34. const m_F_TLOCK = 2
  35. const m_F_ULOCK = 0
  36. const m_GID_MAX = "UINT_MAX"
  37. const m_HAVE_HIDDEN = 1
  38. const m_INT_MAX = "__INT_MAX"
  39. const m_INT_MIN = "__INT_MIN"
  40. const m_IOV_MAX = 1024
  41. const m_KCMP_FILE = 100
  42. const m_KCMP_FILEOBJ = 101
  43. const m_KCMP_FILES = 102
  44. const m_KCMP_SIGHAND = 103
  45. const m_KCMP_VM = 104
  46. const m_LINE_MAX = 2048
  47. const m_LITTLE_ENDIAN = "_LITTLE_ENDIAN"
  48. const m_LLONG_MAX = "__LLONG_MAX"
  49. const m_LLONG_MIN = "__LLONG_MIN"
  50. const m_LONG_BIT = "__LONG_BIT"
  51. const m_LONG_MAX = "__LONG_MAX"
  52. const m_LONG_MIN = "__LONG_MIN"
  53. const m_L_INCR = "SEEK_CUR"
  54. const m_L_SET = "SEEK_SET"
  55. const m_L_XTND = "SEEK_END"
  56. const m_MAX_CANON = 255
  57. const m_MAX_INPUT = 255
  58. const m_MAX_MATCH = 258
  59. const m_MAX_MEM_LEVEL = 9
  60. const m_MAX_WBITS = 15
  61. const m_MB_LEN_MAX = 6
  62. const m_MIN_MATCH = 3
  63. const m_MQ_PRIO_MAX = 64
  64. const m_NAME_MAX = 255
  65. const m_NDEBUG = 1
  66. const m_NFDBITS = "_NFDBITS"
  67. const m_NGROUPS_MAX = 1023
  68. const m_NL_ARGMAX = 4096
  69. const m_NL_LANGMAX = 31
  70. const m_NL_MSGMAX = 32767
  71. const m_NL_NMAX = 1
  72. const m_NL_SETMAX = 255
  73. const m_NL_TEXTMAX = 2048
  74. const m_NMAX = 5552
  75. const m_OFF_MAX = "__OFF_MAX"
  76. const m_OFF_MIN = "__OFF_MIN"
  77. const m_OPEN_MAX = 64
  78. const m_OS_CODE = 3
  79. const m_PASS_MAX = 128
  80. const m_PATH_MAX = 1024
  81. const m_PDP_ENDIAN = "_PDP_ENDIAN"
  82. const m_PIPE_BUF = 512
  83. const m_PRESET_DICT = 0x20
  84. const m_QUAD_MAX = "__QUAD_MAX"
  85. const m_QUAD_MIN = "__QUAD_MIN"
  86. const m_RAND_MAX = 0x7fffffff
  87. const m_RE_DUP_MAX = 255
  88. const m_RFTSIGMASK = 0xFF
  89. const m_RFTSIGSHIFT = 20
  90. const m_R_OK = 0x04
  91. const m_SCHAR_MAX = "__SCHAR_MAX"
  92. const m_SCHAR_MIN = "__SCHAR_MIN"
  93. const m_SEEK_CUR = 1
  94. const m_SEEK_DATA = 3
  95. const m_SEEK_END = 2
  96. const m_SEEK_HOLE = 4
  97. const m_SEEK_SET = 0
  98. const m_SHRT_MAX = "__SHRT_MAX"
  99. const m_SHRT_MIN = "__SHRT_MIN"
  100. const m_SIZE_T_MAX = "__SIZE_T_MAX"
  101. const m_SSIZE_MAX = "__SSIZE_MAX"
  102. const m_STATIC_TREES = 1
  103. const m_STDERR_FILENO = 2
  104. const m_STDIN_FILENO = 0
  105. const m_STDOUT_FILENO = 1
  106. const m_STORED_BLOCK = 0
  107. const m_SWAPOFF_FORCE = 0x00000001
  108. const m_UCHAR_MAX = "__UCHAR_MAX"
  109. const m_UID_MAX = "UINT_MAX"
  110. const m_UINT_MAX = "__UINT_MAX"
  111. const m_ULLONG_MAX = "__ULLONG_MAX"
  112. const m_ULONG_MAX = "__ULONG_MAX"
  113. const m_UQUAD_MAX = "__UQUAD_MAX"
  114. const m_USHRT_MAX = "__USHRT_MAX"
  115. const m_WORD_BIT = "__WORD_BIT"
  116. const m_W_OK = 0x02
  117. const m_X_OK = 0x01
  118. const m_ZEXTERN = "extern"
  119. const m_ZLIB_VERNUM = 0x1310
  120. const m_ZLIB_VERSION = "1.3.1"
  121. const m_ZLIB_VER_MAJOR = 1
  122. const m_ZLIB_VER_MINOR = 3
  123. const m_ZLIB_VER_REVISION = 1
  124. const m_ZLIB_VER_SUBREVISION = 0
  125. const m_Z_ASCII = "Z_TEXT"
  126. const m_Z_BEST_COMPRESSION = 9
  127. const m_Z_BEST_SPEED = 1
  128. const m_Z_BINARY = 0
  129. const m_Z_BLOCK = 5
  130. const m_Z_DEFAULT_STRATEGY = 0
  131. const m_Z_DEFLATED = 8
  132. const m_Z_FILTERED = 1
  133. const m_Z_FINISH = 4
  134. const m_Z_FIXED = 4
  135. const m_Z_FULL_FLUSH = 3
  136. const m_Z_HUFFMAN_ONLY = 2
  137. const m_Z_NEED_DICT = 2
  138. const m_Z_NO_COMPRESSION = 0
  139. const m_Z_NO_FLUSH = 0
  140. const m_Z_NULL = 0
  141. const m_Z_OK = 0
  142. const m_Z_PARTIAL_FLUSH = 1
  143. const m_Z_RLE = 3
  144. const m_Z_STREAM_END = 1
  145. const m_Z_SYNC_FLUSH = 2
  146. const m_Z_TEXT = 1
  147. const m_Z_TREES = 6
  148. const m_Z_U4 = "unsigned"
  149. const m_Z_UNKNOWN = 2
  150. const m__BYTE_ORDER = "__BYTE_ORDER__"
  151. const m__CS_PATH = 1
  152. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2
  153. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3
  154. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 4
  155. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5
  156. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6
  157. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7
  158. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 8
  159. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9
  160. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 10
  161. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11
  162. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12
  163. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13
  164. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14
  165. const m__LARGEFILE64_SOURCE = 1
  166. const m__LP64 = 1
  167. const m__PC_ACL_EXTENDED = 59
  168. const m__PC_ACL_NFS4 = 64
  169. const m__PC_ACL_PATH_MAX = 60
  170. const m__PC_ALLOC_SIZE_MIN = 10
  171. const m__PC_ASYNC_IO = 53
  172. const m__PC_CAP_PRESENT = 61
  173. const m__PC_CHOWN_RESTRICTED = 7
  174. const m__PC_DEALLOC_PRESENT = 65
  175. const m__PC_FILESIZEBITS = 12
  176. const m__PC_INF_PRESENT = 62
  177. const m__PC_LINK_MAX = 1
  178. const m__PC_MAC_PRESENT = 63
  179. const m__PC_MAX_CANON = 2
  180. const m__PC_MAX_INPUT = 3
  181. const m__PC_MIN_HOLE_SIZE = 21
  182. const m__PC_NAME_MAX = 4
  183. const m__PC_NO_TRUNC = 8
  184. const m__PC_PATH_MAX = 5
  185. const m__PC_PIPE_BUF = 6
  186. const m__PC_PRIO_IO = 54
  187. const m__PC_REC_INCR_XFER_SIZE = 14
  188. const m__PC_REC_MAX_XFER_SIZE = 15
  189. const m__PC_REC_MIN_XFER_SIZE = 16
  190. const m__PC_REC_XFER_ALIGN = 17
  191. const m__PC_SYMLINK_MAX = 18
  192. const m__PC_SYNC_IO = 55
  193. const m__PC_VDISABLE = 9
  194. const m__PDP_ENDIAN = "__ORDER_PDP_ENDIAN__"
  195. const m__POSIX2_BC_BASE_MAX = 99
  196. const m__POSIX2_BC_DIM_MAX = 2048
  197. const m__POSIX2_BC_SCALE_MAX = 99
  198. const m__POSIX2_BC_STRING_MAX = 1000
  199. const m__POSIX2_CHARCLASS_NAME_MAX = 14
  200. const m__POSIX2_CHAR_TERM = 1
  201. const m__POSIX2_COLL_WEIGHTS_MAX = 2
  202. const m__POSIX2_C_BIND = 200112
  203. const m__POSIX2_EQUIV_CLASS_MAX = 2
  204. const m__POSIX2_EXPR_NEST_MAX = 32
  205. const m__POSIX2_FORT_RUN = 200112
  206. const m__POSIX2_LINE_MAX = 2048
  207. const m__POSIX2_RE_DUP_MAX = 255
  208. const m__POSIX2_UPE = 200112
  209. const m__POSIX2_VERSION = 199212
  210. const m__POSIX_ADVISORY_INFO = 200112
  211. const m__POSIX_AIO_LISTIO_MAX = 2
  212. const m__POSIX_AIO_MAX = 1
  213. const m__POSIX_ARG_MAX = 4096
  214. const m__POSIX_ASYNCHRONOUS_IO = 200112
  215. const m__POSIX_BARRIERS = 200112
  216. const m__POSIX_CHILD_MAX = 25
  217. const m__POSIX_CHOWN_RESTRICTED = 1
  218. const m__POSIX_CLOCKRES_MIN = 20000000
  219. const m__POSIX_CPUTIME = 200112
  220. const m__POSIX_DELAYTIMER_MAX = 32
  221. const m__POSIX_FSYNC = 200112
  222. const m__POSIX_HOST_NAME_MAX = 255
  223. const m__POSIX_IPV6 = 0
  224. const m__POSIX_JOB_CONTROL = 1
  225. const m__POSIX_LINK_MAX = 8
  226. const m__POSIX_LOGIN_NAME_MAX = 9
  227. const m__POSIX_MAPPED_FILES = 200112
  228. const m__POSIX_MAX_CANON = 255
  229. const m__POSIX_MAX_INPUT = 255
  230. const m__POSIX_MEMLOCK_RANGE = 200112
  231. const m__POSIX_MEMORY_PROTECTION = 200112
  232. const m__POSIX_MESSAGE_PASSING = 200112
  233. const m__POSIX_MONOTONIC_CLOCK = 200112
  234. const m__POSIX_MQ_OPEN_MAX = 8
  235. const m__POSIX_MQ_PRIO_MAX = 32
  236. const m__POSIX_NAME_MAX = 14
  237. const m__POSIX_NGROUPS_MAX = 8
  238. const m__POSIX_NO_TRUNC = 1
  239. const m__POSIX_OPEN_MAX = 20
  240. const m__POSIX_PATH_MAX = 256
  241. const m__POSIX_PIPE_BUF = 512
  242. const m__POSIX_PRIORITY_SCHEDULING = 0
  243. const m__POSIX_RAW_SOCKETS = 200112
  244. const m__POSIX_READER_WRITER_LOCKS = 200112
  245. const m__POSIX_REALTIME_SIGNALS = 200112
  246. const m__POSIX_REGEXP = 1
  247. const m__POSIX_RE_DUP_MAX = "_POSIX2_RE_DUP_MAX"
  248. const m__POSIX_RTSIG_MAX = 8
  249. const m__POSIX_SEMAPHORES = 200112
  250. const m__POSIX_SEM_NSEMS_MAX = 256
  251. const m__POSIX_SEM_VALUE_MAX = 32767
  252. const m__POSIX_SHARED_MEMORY_OBJECTS = 200112
  253. const m__POSIX_SHELL = 1
  254. const m__POSIX_SIGQUEUE_MAX = 32
  255. const m__POSIX_SPAWN = 200112
  256. const m__POSIX_SPIN_LOCKS = 200112
  257. const m__POSIX_SSIZE_MAX = 32767
  258. const m__POSIX_SS_REPL_MAX = 4
  259. const m__POSIX_STREAM_MAX = 8
  260. const m__POSIX_SYMLINK_MAX = 255
  261. const m__POSIX_SYMLOOP_MAX = 8
  262. const m__POSIX_THREADS = 200112
  263. const m__POSIX_THREAD_ATTR_STACKADDR = 200112
  264. const m__POSIX_THREAD_ATTR_STACKSIZE = 200112
  265. const m__POSIX_THREAD_CPUTIME = 200112
  266. const m__POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
  267. const m__POSIX_THREAD_KEYS_MAX = 128
  268. const m__POSIX_THREAD_PRIORITY_SCHEDULING = 200112
  269. const m__POSIX_THREAD_PRIO_INHERIT = 200112
  270. const m__POSIX_THREAD_PRIO_PROTECT = 200112
  271. const m__POSIX_THREAD_PROCESS_SHARED = 200112
  272. const m__POSIX_THREAD_THREADS_MAX = 64
  273. const m__POSIX_TIMEOUTS = 200112
  274. const m__POSIX_TIMERS = 200112
  275. const m__POSIX_TIMER_MAX = 32
  276. const m__POSIX_TRACE_EVENT_NAME_MAX = 30
  277. const m__POSIX_TRACE_NAME_MAX = 8
  278. const m__POSIX_TRACE_SYS_MAX = 8
  279. const m__POSIX_TRACE_USER_EVENT_MAX = 32
  280. const m__POSIX_TTY_NAME_MAX = 9
  281. const m__POSIX_TZNAME_MAX = 6
  282. const m__POSIX_VDISABLE = 0xff
  283. const m__POSIX_VERSION = 200112
  284. const m__QUAD_HIGHWORD = 1
  285. const m__QUAD_LOWWORD = 0
  286. const m__SC_2_CHAR_TERM = 20
  287. const m__SC_2_C_BIND = 18
  288. const m__SC_2_C_DEV = 19
  289. const m__SC_2_FORT_DEV = 21
  290. const m__SC_2_FORT_RUN = 22
  291. const m__SC_2_LOCALEDEF = 23
  292. const m__SC_2_PBS = 59
  293. const m__SC_2_PBS_ACCOUNTING = 60
  294. const m__SC_2_PBS_CHECKPOINT = 61
  295. const m__SC_2_PBS_LOCATE = 62
  296. const m__SC_2_PBS_MESSAGE = 63
  297. const m__SC_2_PBS_TRACK = 64
  298. const m__SC_2_SW_DEV = 24
  299. const m__SC_2_UPE = 25
  300. const m__SC_2_VERSION = 17
  301. const m__SC_ADVISORY_INFO = 65
  302. const m__SC_AIO_LISTIO_MAX = 42
  303. const m__SC_AIO_MAX = 43
  304. const m__SC_AIO_PRIO_DELTA_MAX = 44
  305. const m__SC_ARG_MAX = 1
  306. const m__SC_ASYNCHRONOUS_IO = 28
  307. const m__SC_ATEXIT_MAX = 107
  308. const m__SC_BARRIERS = 66
  309. const m__SC_BC_BASE_MAX = 9
  310. const m__SC_BC_DIM_MAX = 10
  311. const m__SC_BC_SCALE_MAX = 11
  312. const m__SC_BC_STRING_MAX = 12
  313. const m__SC_CHILD_MAX = 2
  314. const m__SC_CLK_TCK = 3
  315. const m__SC_CLOCK_SELECTION = 67
  316. const m__SC_COLL_WEIGHTS_MAX = 13
  317. const m__SC_CPUSET_SIZE = 122
  318. const m__SC_CPUTIME = 68
  319. const m__SC_DELAYTIMER_MAX = 45
  320. const m__SC_EXPR_NEST_MAX = 14
  321. const m__SC_FILE_LOCKING = 69
  322. const m__SC_FSYNC = 38
  323. const m__SC_GETGR_R_SIZE_MAX = 70
  324. const m__SC_GETPW_R_SIZE_MAX = 71
  325. const m__SC_HOST_NAME_MAX = 72
  326. const m__SC_IOV_MAX = 56
  327. const m__SC_IPV6 = 118
  328. const m__SC_JOB_CONTROL = 6
  329. const m__SC_LINE_MAX = 15
  330. const m__SC_LOGIN_NAME_MAX = 73
  331. const m__SC_MAPPED_FILES = 29
  332. const m__SC_MEMLOCK = 30
  333. const m__SC_MEMLOCK_RANGE = 31
  334. const m__SC_MEMORY_PROTECTION = 32
  335. const m__SC_MESSAGE_PASSING = 33
  336. const m__SC_MONOTONIC_CLOCK = 74
  337. const m__SC_MQ_OPEN_MAX = 46
  338. const m__SC_MQ_PRIO_MAX = 75
  339. const m__SC_NGROUPS_MAX = 4
  340. const m__SC_NPROCESSORS_CONF = 57
  341. const m__SC_NPROCESSORS_ONLN = 58
  342. const m__SC_OPEN_MAX = 5
  343. const m__SC_PAGESIZE = 47
  344. const m__SC_PAGE_SIZE = "_SC_PAGESIZE"
  345. const m__SC_PHYS_PAGES = 121
  346. const m__SC_PRIORITIZED_IO = 34
  347. const m__SC_PRIORITY_SCHEDULING = 35
  348. const m__SC_RAW_SOCKETS = 119
  349. const m__SC_READER_WRITER_LOCKS = 76
  350. const m__SC_REALTIME_SIGNALS = 36
  351. const m__SC_REGEXP = 77
  352. const m__SC_RE_DUP_MAX = 16
  353. const m__SC_RTSIG_MAX = 48
  354. const m__SC_SAVED_IDS = 7
  355. const m__SC_SEMAPHORES = 37
  356. const m__SC_SEM_NSEMS_MAX = 49
  357. const m__SC_SEM_VALUE_MAX = 50
  358. const m__SC_SHARED_MEMORY_OBJECTS = 39
  359. const m__SC_SHELL = 78
  360. const m__SC_SIGQUEUE_MAX = 51
  361. const m__SC_SPAWN = 79
  362. const m__SC_SPIN_LOCKS = 80
  363. const m__SC_SPORADIC_SERVER = 81
  364. const m__SC_STREAM_MAX = 26
  365. const m__SC_SYMLOOP_MAX = 120
  366. const m__SC_SYNCHRONIZED_IO = 40
  367. const m__SC_THREADS = 96
  368. const m__SC_THREAD_ATTR_STACKADDR = 82
  369. const m__SC_THREAD_ATTR_STACKSIZE = 83
  370. const m__SC_THREAD_CPUTIME = 84
  371. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 85
  372. const m__SC_THREAD_KEYS_MAX = 86
  373. const m__SC_THREAD_PRIORITY_SCHEDULING = 89
  374. const m__SC_THREAD_PRIO_INHERIT = 87
  375. const m__SC_THREAD_PRIO_PROTECT = 88
  376. const m__SC_THREAD_PROCESS_SHARED = 90
  377. const m__SC_THREAD_SAFE_FUNCTIONS = 91
  378. const m__SC_THREAD_SPORADIC_SERVER = 92
  379. const m__SC_THREAD_STACK_MIN = 93
  380. const m__SC_THREAD_THREADS_MAX = 94
  381. const m__SC_TIMEOUTS = 95
  382. const m__SC_TIMERS = 41
  383. const m__SC_TIMER_MAX = 52
  384. const m__SC_TRACE = 97
  385. const m__SC_TRACE_EVENT_FILTER = 98
  386. const m__SC_TRACE_INHERIT = 99
  387. const m__SC_TRACE_LOG = 100
  388. const m__SC_TTY_NAME_MAX = 101
  389. const m__SC_TYPED_MEMORY_OBJECTS = 102
  390. const m__SC_TZNAME_MAX = 27
  391. const m__SC_V6_ILP32_OFF32 = 103
  392. const m__SC_V6_ILP32_OFFBIG = 104
  393. const m__SC_V6_LP64_OFF64 = 105
  394. const m__SC_V6_LPBIG_OFFBIG = 106
  395. const m__SC_VERSION = 8
  396. const m__SC_XOPEN_CRYPT = 108
  397. const m__SC_XOPEN_ENH_I18N = 109
  398. const m__SC_XOPEN_LEGACY = 110
  399. const m__SC_XOPEN_REALTIME = 111
  400. const m__SC_XOPEN_REALTIME_THREADS = 112
  401. const m__SC_XOPEN_SHM = 113
  402. const m__SC_XOPEN_STREAMS = 114
  403. const m__SC_XOPEN_UNIX = 115
  404. const m__SC_XOPEN_VERSION = 116
  405. const m__SC_XOPEN_XCU_VERSION = 117
  406. const m__SIG_MAXSIG = 128
  407. const m__SIG_WORDS = 4
  408. const m__V6_ILP32_OFFBIG = 0
  409. const m__V6_LP64_OFF64 = 0
  410. const m__XOPEN_IOV_MAX = 16
  411. const m__XOPEN_NAME_MAX = 255
  412. const m__XOPEN_PATH_MAX = 1024
  413. const m__XOPEN_SHM = 1
  414. const m___ATOMIC_ACQUIRE = 2
  415. const m___ATOMIC_ACQ_REL = 4
  416. const m___ATOMIC_CONSUME = 1
  417. const m___ATOMIC_RELAXED = 0
  418. const m___ATOMIC_RELEASE = 3
  419. const m___ATOMIC_SEQ_CST = 5
  420. const m___BIGGEST_ALIGNMENT__ = 16
  421. const m___BITINT_MAXWIDTH__ = 8388608
  422. const m___BOOL_WIDTH__ = 8
  423. const m___BSD_VISIBLE = 1
  424. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  425. const m___CCGO__ = 1
  426. const m___CC_SUPPORTS_DYNAMIC_ARRAY_INIT = 1
  427. const m___CC_SUPPORTS_INLINE = 1
  428. const m___CC_SUPPORTS_VARADIC_XXX = 1
  429. const m___CC_SUPPORTS_WARNING = 1
  430. const m___CC_SUPPORTS___FUNC__ = 1
  431. const m___CC_SUPPORTS___INLINE = 1
  432. const m___CC_SUPPORTS___INLINE__ = 1
  433. const m___CHAR_BIT = 8
  434. const m___CHAR_BIT__ = 8
  435. const m___CLANG_ATOMIC_BOOL_LOCK_FREE = 2
  436. const m___CLANG_ATOMIC_CHAR16_T_LOCK_FREE = 2
  437. const m___CLANG_ATOMIC_CHAR32_T_LOCK_FREE = 2
  438. const m___CLANG_ATOMIC_CHAR_LOCK_FREE = 2
  439. const m___CLANG_ATOMIC_INT_LOCK_FREE = 2
  440. const m___CLANG_ATOMIC_LLONG_LOCK_FREE = 2
  441. const m___CLANG_ATOMIC_LONG_LOCK_FREE = 2
  442. const m___CLANG_ATOMIC_POINTER_LOCK_FREE = 2
  443. const m___CLANG_ATOMIC_SHORT_LOCK_FREE = 2
  444. const m___CLANG_ATOMIC_WCHAR_T_LOCK_FREE = 2
  445. const m___CONSTANT_CFSTRINGS__ = 1
  446. const m___DBL_DECIMAL_DIG__ = 17
  447. const m___DBL_DENORM_MIN__ = 4.9406564584124654e-324
  448. const m___DBL_DIG__ = 15
  449. const m___DBL_EPSILON__ = 2.2204460492503131e-16
  450. const m___DBL_HAS_DENORM__ = 1
  451. const m___DBL_HAS_INFINITY__ = 1
  452. const m___DBL_HAS_QUIET_NAN__ = 1
  453. const m___DBL_MANT_DIG__ = 53
  454. const m___DBL_MAX_10_EXP__ = 308
  455. const m___DBL_MAX_EXP__ = 1024
  456. const m___DBL_MAX__ = 1.7976931348623157e+308
  457. const m___DBL_MIN__ = 2.2250738585072014e-308
  458. const m___DECIMAL_DIG__ = "__LDBL_DECIMAL_DIG__"
  459. const m___ELF__ = 1
  460. const m___EXT1_VISIBLE = 1
  461. const m___FINITE_MATH_ONLY__ = 0
  462. const m___FLOAT128__ = 1
  463. const m___FLT16_DECIMAL_DIG__ = 5
  464. const m___FLT16_DENORM_MIN__ = 5.9604644775390625e-8
  465. const m___FLT16_DIG__ = 3
  466. const m___FLT16_EPSILON__ = 9.765625e-4
  467. const m___FLT16_HAS_DENORM__ = 1
  468. const m___FLT16_HAS_INFINITY__ = 1
  469. const m___FLT16_HAS_QUIET_NAN__ = 1
  470. const m___FLT16_MANT_DIG__ = 11
  471. const m___FLT16_MAX_10_EXP__ = 4
  472. const m___FLT16_MAX_EXP__ = 16
  473. const m___FLT16_MAX__ = 6.5504e+4
  474. const m___FLT16_MIN__ = 6.103515625e-5
  475. const m___FLT_DECIMAL_DIG__ = 9
  476. const m___FLT_DENORM_MIN__ = 1.40129846e-45
  477. const m___FLT_DIG__ = 6
  478. const m___FLT_EPSILON__ = 1.19209290e-7
  479. const m___FLT_HAS_DENORM__ = 1
  480. const m___FLT_HAS_INFINITY__ = 1
  481. const m___FLT_HAS_QUIET_NAN__ = 1
  482. const m___FLT_MANT_DIG__ = 24
  483. const m___FLT_MAX_10_EXP__ = 38
  484. const m___FLT_MAX_EXP__ = 128
  485. const m___FLT_MAX__ = 3.40282347e+38
  486. const m___FLT_MIN__ = 1.17549435e-38
  487. const m___FLT_RADIX__ = 2
  488. const m___FPCLASS_NEGINF = 0x0004
  489. const m___FPCLASS_NEGNORMAL = 0x0008
  490. const m___FPCLASS_NEGSUBNORMAL = 0x0010
  491. const m___FPCLASS_NEGZERO = 0x0020
  492. const m___FPCLASS_POSINF = 0x0200
  493. const m___FPCLASS_POSNORMAL = 0x0100
  494. const m___FPCLASS_POSSUBNORMAL = 0x0080
  495. const m___FPCLASS_POSZERO = 0x0040
  496. const m___FPCLASS_QNAN = 0x0002
  497. const m___FPCLASS_SNAN = 0x0001
  498. const m___FUNCTION__ = "__func__"
  499. const m___FXSR__ = 1
  500. const m___FreeBSD__ = 14
  501. const m___FreeBSD_cc_version = 1400006
  502. const m___GCC_ASM_FLAG_OUTPUTS__ = 1
  503. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  504. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  505. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  506. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  507. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  508. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  509. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  510. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  511. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  512. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  513. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  514. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  515. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  516. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  517. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  518. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  519. const m___GNUCLIKE_ASM = 3
  520. const m___GNUCLIKE_BUILTIN_CONSTANT_P = 1
  521. const m___GNUCLIKE_BUILTIN_MEMCPY = 1
  522. const m___GNUCLIKE_BUILTIN_NEXT_ARG = 1
  523. const m___GNUCLIKE_BUILTIN_STDARG = 1
  524. const m___GNUCLIKE_BUILTIN_VAALIST = 1
  525. const m___GNUCLIKE_BUILTIN_VARARGS = 1
  526. const m___GNUCLIKE_CTOR_SECTION_HANDLING = 1
  527. const m___GNUCLIKE___SECTION = 1
  528. const m___GNUCLIKE___TYPEOF = 1
  529. const m___GNUC_MINOR__ = 2
  530. const m___GNUC_PATCHLEVEL__ = 1
  531. const m___GNUC_STDC_INLINE__ = 1
  532. const m___GNUC_VA_LIST_COMPATIBILITY = 1
  533. const m___GNUC__ = 4
  534. const m___GXX_ABI_VERSION = 1002
  535. const m___INT16_FMTd__ = "hd"
  536. const m___INT16_FMTi__ = "hi"
  537. const m___INT16_MAX__ = 32767
  538. const m___INT16_TYPE__ = "short"
  539. const m___INT32_FMTd__ = "d"
  540. const m___INT32_FMTi__ = "i"
  541. const m___INT32_MAX__ = 2147483647
  542. const m___INT32_TYPE__ = "int"
  543. const m___INT64_C_SUFFIX__ = "L"
  544. const m___INT64_FMTd__ = "ld"
  545. const m___INT64_FMTi__ = "li"
  546. const m___INT64_MAX__ = 9223372036854775807
  547. const m___INT8_FMTd__ = "hhd"
  548. const m___INT8_FMTi__ = "hhi"
  549. const m___INT8_MAX__ = 127
  550. const m___INTMAX_C_SUFFIX__ = "L"
  551. const m___INTMAX_FMTd__ = "ld"
  552. const m___INTMAX_FMTi__ = "li"
  553. const m___INTMAX_MAX__ = 9223372036854775807
  554. const m___INTMAX_WIDTH__ = 64
  555. const m___INTPTR_FMTd__ = "ld"
  556. const m___INTPTR_FMTi__ = "li"
  557. const m___INTPTR_MAX__ = 9223372036854775807
  558. const m___INTPTR_WIDTH__ = 64
  559. const m___INT_FAST16_FMTd__ = "hd"
  560. const m___INT_FAST16_FMTi__ = "hi"
  561. const m___INT_FAST16_MAX__ = 32767
  562. const m___INT_FAST16_TYPE__ = "short"
  563. const m___INT_FAST16_WIDTH__ = 16
  564. const m___INT_FAST32_FMTd__ = "d"
  565. const m___INT_FAST32_FMTi__ = "i"
  566. const m___INT_FAST32_MAX__ = 2147483647
  567. const m___INT_FAST32_TYPE__ = "int"
  568. const m___INT_FAST32_WIDTH__ = 32
  569. const m___INT_FAST64_FMTd__ = "ld"
  570. const m___INT_FAST64_FMTi__ = "li"
  571. const m___INT_FAST64_MAX__ = 9223372036854775807
  572. const m___INT_FAST64_WIDTH__ = 64
  573. const m___INT_FAST8_FMTd__ = "hhd"
  574. const m___INT_FAST8_FMTi__ = "hhi"
  575. const m___INT_FAST8_MAX__ = 127
  576. const m___INT_FAST8_WIDTH__ = 8
  577. const m___INT_LEAST16_FMTd__ = "hd"
  578. const m___INT_LEAST16_FMTi__ = "hi"
  579. const m___INT_LEAST16_MAX__ = 32767
  580. const m___INT_LEAST16_TYPE__ = "short"
  581. const m___INT_LEAST16_WIDTH__ = 16
  582. const m___INT_LEAST32_FMTd__ = "d"
  583. const m___INT_LEAST32_FMTi__ = "i"
  584. const m___INT_LEAST32_MAX__ = 2147483647
  585. const m___INT_LEAST32_TYPE__ = "int"
  586. const m___INT_LEAST32_WIDTH__ = 32
  587. const m___INT_LEAST64_FMTd__ = "ld"
  588. const m___INT_LEAST64_FMTi__ = "li"
  589. const m___INT_LEAST64_MAX__ = 9223372036854775807
  590. const m___INT_LEAST64_WIDTH__ = 64
  591. const m___INT_LEAST8_FMTd__ = "hhd"
  592. const m___INT_LEAST8_FMTi__ = "hhi"
  593. const m___INT_LEAST8_MAX__ = 127
  594. const m___INT_LEAST8_WIDTH__ = 8
  595. const m___INT_MAX = 0x7fffffff
  596. const m___INT_MAX__ = 2147483647
  597. const m___INT_WIDTH__ = 32
  598. const m___ISO_C_VISIBLE = 2011
  599. const m___KPRINTF_ATTRIBUTE__ = 1
  600. const m___LDBL_DECIMAL_DIG__ = 17
  601. const m___LDBL_DENORM_MIN__ = 4.9406564584124654e-324
  602. const m___LDBL_DIG__ = 15
  603. const m___LDBL_EPSILON__ = 2.2204460492503131e-16
  604. const m___LDBL_HAS_DENORM__ = 1
  605. const m___LDBL_HAS_INFINITY__ = 1
  606. const m___LDBL_HAS_QUIET_NAN__ = 1
  607. const m___LDBL_MANT_DIG__ = 53
  608. const m___LDBL_MAX_10_EXP__ = 308
  609. const m___LDBL_MAX_EXP__ = 1024
  610. const m___LDBL_MAX__ = 1.7976931348623157e+308
  611. const m___LDBL_MIN__ = 2.2250738585072014e-308
  612. const m___LITTLE_ENDIAN__ = 1
  613. const m___LLONG_MAX = 0x7fffffffffffffff
  614. const m___LLONG_WIDTH__ = 64
  615. const m___LONG_BIT = 64
  616. const m___LONG_LONG_MAX__ = 9223372036854775807
  617. const m___LONG_MAX = 0x7fffffffffffffff
  618. const m___LONG_MAX__ = 9223372036854775807
  619. const m___LONG_WIDTH__ = 64
  620. const m___LP64__ = 1
  621. const m___MEMORY_SCOPE_DEVICE = 1
  622. const m___MEMORY_SCOPE_SINGLE = 4
  623. const m___MEMORY_SCOPE_SYSTEM = 0
  624. const m___MEMORY_SCOPE_WRKGRP = 2
  625. const m___MEMORY_SCOPE_WVFRNT = 3
  626. const m___MMX__ = 1
  627. const m___NO_INLINE__ = 1
  628. const m___NO_MATH_ERRNO__ = 1
  629. const m___NO_MATH_INLINES = 1
  630. const m___OBJC_BOOL_IS_BOOL = 0
  631. const m___OFF_MAX = "__LONG_MAX"
  632. const m___OFF_MIN = "__LONG_MIN"
  633. const m___OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES = 3
  634. const m___OPENCL_MEMORY_SCOPE_DEVICE = 2
  635. const m___OPENCL_MEMORY_SCOPE_SUB_GROUP = 4
  636. const m___OPENCL_MEMORY_SCOPE_WORK_GROUP = 1
  637. const m___OPENCL_MEMORY_SCOPE_WORK_ITEM = 0
  638. const m___ORDER_BIG_ENDIAN__ = 4321
  639. const m___ORDER_LITTLE_ENDIAN__ = 1234
  640. const m___ORDER_PDP_ENDIAN__ = 3412
  641. const m___POINTER_WIDTH__ = 64
  642. const m___POSIX_VISIBLE = 200809
  643. const m___PRAGMA_REDEFINE_EXTNAME = 1
  644. const m___PRETTY_FUNCTION__ = "__func__"
  645. const m___PTRDIFF_FMTd__ = "ld"
  646. const m___PTRDIFF_FMTi__ = "li"
  647. const m___PTRDIFF_MAX__ = 9223372036854775807
  648. const m___PTRDIFF_WIDTH__ = 64
  649. const m___QUAD_MAX = "__LONG_MAX"
  650. const m___QUAD_MIN = "__LONG_MIN"
  651. const m___SCHAR_MAX = 0x7f
  652. const m___SCHAR_MAX__ = 127
  653. const m___SEG_FS = 1
  654. const m___SEG_GS = 1
  655. const m___SHRT_MAX = 0x7fff
  656. const m___SHRT_MAX__ = 32767
  657. const m___SHRT_WIDTH__ = 16
  658. const m___SIG_ATOMIC_MAX__ = 2147483647
  659. const m___SIG_ATOMIC_WIDTH__ = 32
  660. const m___SIZEOF_DOUBLE__ = 8
  661. const m___SIZEOF_FLOAT128__ = 16
  662. const m___SIZEOF_FLOAT__ = 4
  663. const m___SIZEOF_INT128__ = 16
  664. const m___SIZEOF_INT__ = 4
  665. const m___SIZEOF_LONG_DOUBLE__ = 8
  666. const m___SIZEOF_LONG_LONG__ = 8
  667. const m___SIZEOF_LONG__ = 8
  668. const m___SIZEOF_POINTER__ = 8
  669. const m___SIZEOF_PTRDIFF_T__ = 8
  670. const m___SIZEOF_SHORT__ = 2
  671. const m___SIZEOF_SIZE_T__ = 8
  672. const m___SIZEOF_WCHAR_T__ = 4
  673. const m___SIZEOF_WINT_T__ = 4
  674. const m___SIZE_FMTX__ = "lX"
  675. const m___SIZE_FMTo__ = "lo"
  676. const m___SIZE_FMTu__ = "lu"
  677. const m___SIZE_FMTx__ = "lx"
  678. const m___SIZE_MAX__ = 18446744073709551615
  679. const m___SIZE_T_MAX = "__ULONG_MAX"
  680. const m___SIZE_WIDTH__ = 64
  681. const m___SSE2_MATH__ = 1
  682. const m___SSE2__ = 1
  683. const m___SSE_MATH__ = 1
  684. const m___SSE__ = 1
  685. const m___SSIZE_MAX = "__LONG_MAX"
  686. const m___STDC_HOSTED__ = 1
  687. const m___STDC_MB_MIGHT_NEQ_WC__ = 1
  688. const m___STDC_UTF_16__ = 1
  689. const m___STDC_UTF_32__ = 1
  690. const m___STDC_VERSION__ = 201710
  691. const m___STDC__ = 1
  692. const m___UCHAR_MAX = 0xff
  693. const m___UINT16_FMTX__ = "hX"
  694. const m___UINT16_FMTo__ = "ho"
  695. const m___UINT16_FMTu__ = "hu"
  696. const m___UINT16_FMTx__ = "hx"
  697. const m___UINT16_MAX__ = 65535
  698. const m___UINT32_C_SUFFIX__ = "U"
  699. const m___UINT32_FMTX__ = "X"
  700. const m___UINT32_FMTo__ = "o"
  701. const m___UINT32_FMTu__ = "u"
  702. const m___UINT32_FMTx__ = "x"
  703. const m___UINT32_MAX__ = 4294967295
  704. const m___UINT64_C_SUFFIX__ = "UL"
  705. const m___UINT64_FMTX__ = "lX"
  706. const m___UINT64_FMTo__ = "lo"
  707. const m___UINT64_FMTu__ = "lu"
  708. const m___UINT64_FMTx__ = "lx"
  709. const m___UINT64_MAX__ = 18446744073709551615
  710. const m___UINT8_FMTX__ = "hhX"
  711. const m___UINT8_FMTo__ = "hho"
  712. const m___UINT8_FMTu__ = "hhu"
  713. const m___UINT8_FMTx__ = "hhx"
  714. const m___UINT8_MAX__ = 255
  715. const m___UINTMAX_C_SUFFIX__ = "UL"
  716. const m___UINTMAX_FMTX__ = "lX"
  717. const m___UINTMAX_FMTo__ = "lo"
  718. const m___UINTMAX_FMTu__ = "lu"
  719. const m___UINTMAX_FMTx__ = "lx"
  720. const m___UINTMAX_MAX__ = 18446744073709551615
  721. const m___UINTMAX_WIDTH__ = 64
  722. const m___UINTPTR_FMTX__ = "lX"
  723. const m___UINTPTR_FMTo__ = "lo"
  724. const m___UINTPTR_FMTu__ = "lu"
  725. const m___UINTPTR_FMTx__ = "lx"
  726. const m___UINTPTR_MAX__ = 18446744073709551615
  727. const m___UINTPTR_WIDTH__ = 64
  728. const m___UINT_FAST16_FMTX__ = "hX"
  729. const m___UINT_FAST16_FMTo__ = "ho"
  730. const m___UINT_FAST16_FMTu__ = "hu"
  731. const m___UINT_FAST16_FMTx__ = "hx"
  732. const m___UINT_FAST16_MAX__ = 65535
  733. const m___UINT_FAST32_FMTX__ = "X"
  734. const m___UINT_FAST32_FMTo__ = "o"
  735. const m___UINT_FAST32_FMTu__ = "u"
  736. const m___UINT_FAST32_FMTx__ = "x"
  737. const m___UINT_FAST32_MAX__ = 4294967295
  738. const m___UINT_FAST64_FMTX__ = "lX"
  739. const m___UINT_FAST64_FMTo__ = "lo"
  740. const m___UINT_FAST64_FMTu__ = "lu"
  741. const m___UINT_FAST64_FMTx__ = "lx"
  742. const m___UINT_FAST64_MAX__ = 18446744073709551615
  743. const m___UINT_FAST8_FMTX__ = "hhX"
  744. const m___UINT_FAST8_FMTo__ = "hho"
  745. const m___UINT_FAST8_FMTu__ = "hhu"
  746. const m___UINT_FAST8_FMTx__ = "hhx"
  747. const m___UINT_FAST8_MAX__ = 255
  748. const m___UINT_LEAST16_FMTX__ = "hX"
  749. const m___UINT_LEAST16_FMTo__ = "ho"
  750. const m___UINT_LEAST16_FMTu__ = "hu"
  751. const m___UINT_LEAST16_FMTx__ = "hx"
  752. const m___UINT_LEAST16_MAX__ = 65535
  753. const m___UINT_LEAST32_FMTX__ = "X"
  754. const m___UINT_LEAST32_FMTo__ = "o"
  755. const m___UINT_LEAST32_FMTu__ = "u"
  756. const m___UINT_LEAST32_FMTx__ = "x"
  757. const m___UINT_LEAST32_MAX__ = 4294967295
  758. const m___UINT_LEAST64_FMTX__ = "lX"
  759. const m___UINT_LEAST64_FMTo__ = "lo"
  760. const m___UINT_LEAST64_FMTu__ = "lu"
  761. const m___UINT_LEAST64_FMTx__ = "lx"
  762. const m___UINT_LEAST64_MAX__ = 18446744073709551615
  763. const m___UINT_LEAST8_FMTX__ = "hhX"
  764. const m___UINT_LEAST8_FMTo__ = "hho"
  765. const m___UINT_LEAST8_FMTu__ = "hhu"
  766. const m___UINT_LEAST8_FMTx__ = "hhx"
  767. const m___UINT_LEAST8_MAX__ = 255
  768. const m___UINT_MAX = 0xffffffff
  769. const m___ULLONG_MAX = "0xffffffffffffffffU"
  770. const m___ULONG_MAX = 0xffffffffffffffff
  771. const m___UQUAD_MAX = "__ULONG_MAX"
  772. const m___USHRT_MAX = 0xffff
  773. const m___VERSION__ = "FreeBSD Clang 18.1.6 (https://github.com/llvm/llvm-project.git llvmorg-18.1.6-0-g1118c2e05e67)"
  774. const m___WCHAR_MAX = "__INT_MAX"
  775. const m___WCHAR_MAX__ = 2147483647
  776. const m___WCHAR_MIN = "__INT_MIN"
  777. const m___WCHAR_TYPE__ = "int"
  778. const m___WCHAR_WIDTH__ = 32
  779. const m___WINT_MAX__ = 2147483647
  780. const m___WINT_TYPE__ = "int"
  781. const m___WINT_WIDTH__ = 32
  782. const m___WORD_BIT = 32
  783. const m___XSI_VISIBLE = 700
  784. const m___amd64 = 1
  785. const m___amd64__ = 1
  786. const m___clang__ = 1
  787. const m___clang_literal_encoding__ = "UTF-8"
  788. const m___clang_major__ = 18
  789. const m___clang_minor__ = 1
  790. const m___clang_patchlevel__ = 6
  791. const m___clang_version__ = "18.1.6 (https://github.com/llvm/llvm-project.git llvmorg-18.1.6-0-g1118c2e05e67)"
  792. const m___clang_wide_literal_encoding__ = "UTF-32"
  793. const m___code_model_small__ = 1
  794. const m___const = "const"
  795. const m___has_extension = "__has_feature"
  796. const m___k8 = 1
  797. const m___k8__ = 1
  798. const m___llvm__ = 1
  799. const m___restrict = "restrict"
  800. const m___restrict_arr = "restrict"
  801. const m___signed = "signed"
  802. const m___tune_k8__ = 1
  803. const m___unix = 1
  804. const m___unix__ = 1
  805. const m___volatile = "volatile"
  806. const m___writeonly = "__unused"
  807. const m___x86_64 = 1
  808. const m___x86_64__ = 1
  809. const m_fds_bits = "__fds_bits"
  810. const m_local = "static"
  811. const m_unix = 1
  812. const m_z_off64_t = "z_off_t"
  813. const m_z_off_t = "off_t"
  814. const m_zmemcmp = "memcmp"
  815. const m_zmemcpy = "memcpy"
  816. type t__builtin_va_list = uintptr
  817. type t__predefined_size_t = uint64
  818. type t__predefined_wchar_t = int32
  819. type t__predefined_ptrdiff_t = int64
  820. type t__int8_t = int8
  821. type t__uint8_t = uint8
  822. type t__int16_t = int16
  823. type t__uint16_t = uint16
  824. type t__int32_t = int32
  825. type t__uint32_t = uint32
  826. type t__int64_t = int64
  827. type t__uint64_t = uint64
  828. type t__int_least8_t = int8
  829. type t__int_least16_t = int16
  830. type t__int_least32_t = int32
  831. type t__int_least64_t = int64
  832. type t__intmax_t = int64
  833. type t__uint_least8_t = uint8
  834. type t__uint_least16_t = uint16
  835. type t__uint_least32_t = uint32
  836. type t__uint_least64_t = uint64
  837. type t__uintmax_t = uint64
  838. type t__intptr_t = int64
  839. type t__intfptr_t = int64
  840. type t__uintptr_t = uint64
  841. type t__uintfptr_t = uint64
  842. type t__vm_offset_t = uint64
  843. type t__vm_size_t = uint64
  844. type t__size_t = uint64
  845. type t__ssize_t = int64
  846. type t__ptrdiff_t = int64
  847. type t__clock_t = int32
  848. type t__critical_t = int64
  849. type t__double_t = float64
  850. type t__float_t = float32
  851. type t__int_fast8_t = int32
  852. type t__int_fast16_t = int32
  853. type t__int_fast32_t = int32
  854. type t__int_fast64_t = int64
  855. type t__register_t = int64
  856. type t__segsz_t = int64
  857. type t__time_t = int64
  858. type t__uint_fast8_t = uint32
  859. type t__uint_fast16_t = uint32
  860. type t__uint_fast32_t = uint32
  861. type t__uint_fast64_t = uint64
  862. type t__u_register_t = uint64
  863. type t__vm_paddr_t = uint64
  864. type T___wchar_t = int32
  865. type t__blksize_t = int32
  866. type t__blkcnt_t = int64
  867. type t__clockid_t = int32
  868. type t__fflags_t = uint32
  869. type t__fsblkcnt_t = uint64
  870. type t__fsfilcnt_t = uint64
  871. type t__gid_t = uint32
  872. type t__id_t = int64
  873. type t__ino_t = uint64
  874. type t__key_t = int64
  875. type t__lwpid_t = int32
  876. type t__mode_t = uint16
  877. type t__accmode_t = int32
  878. type t__nl_item = int32
  879. type t__nlink_t = uint64
  880. type t__off_t = int64
  881. type t__off64_t = int64
  882. type t__pid_t = int32
  883. type t__sbintime_t = int64
  884. type t__rlim_t = int64
  885. type t__sa_family_t = uint8
  886. type t__socklen_t = uint32
  887. type t__suseconds_t = int64
  888. type t__timer_t = uintptr
  889. type t__mqd_t = uintptr
  890. type t__uid_t = uint32
  891. type t__useconds_t = uint32
  892. type t__cpuwhich_t = int32
  893. type t__cpulevel_t = int32
  894. type t__cpusetid_t = int32
  895. type t__daddr_t = int64
  896. type t__ct_rune_t = int32
  897. type t__rune_t = int32
  898. type t__wint_t = int32
  899. type t__char16_t = uint16
  900. type t__char32_t = uint32
  901. type t__max_align_t = struct {
  902. F__max_align1 int64
  903. F__max_align2 float64
  904. }
  905. type t__dev_t = uint64
  906. type t__fixpt_t = uint32
  907. type t__mbstate_t = struct {
  908. F_mbstateL [0]t__int64_t
  909. F__mbstate8 [128]int8
  910. }
  911. type t__rman_res_t = uint64
  912. type t__va_list = uintptr
  913. type t__gnuc_va_list = uintptr
  914. type Tptrdiff_t = int64
  915. type Trune_t = int32
  916. type Tsize_t = uint64
  917. type Twchar_t = int32
  918. type Tmax_align_t = struct {
  919. F__max_align1 int64
  920. F__max_align2 float64
  921. }
  922. type Trsize_t = uint64
  923. type Tz_size_t = uint64
  924. type TByte = uint8
  925. type TuInt = uint32
  926. type TuLong = uint64
  927. type TBytef = uint8
  928. type Tcharf = int8
  929. type Tintf = int32
  930. type TuIntf = uint32
  931. type TuLongf = uint64
  932. type Tvoidpc = uintptr
  933. type Tvoidpf = uintptr
  934. type Tvoidp = uintptr
  935. type Tz_crc_t = uint32
  936. type Tpthread_once = struct {
  937. Fstate int32
  938. Fmutex Tpthread_mutex_t
  939. }
  940. type Tpthread_t = uintptr
  941. type Tpthread_attr_t = uintptr
  942. type Tpthread_mutex_t = uintptr
  943. type Tpthread_mutexattr_t = uintptr
  944. type Tpthread_cond_t = uintptr
  945. type Tpthread_condattr_t = uintptr
  946. type Tpthread_key_t = int32
  947. type Tpthread_once_t = struct {
  948. Fstate int32
  949. Fmutex Tpthread_mutex_t
  950. }
  951. type Tpthread_rwlock_t = uintptr
  952. type Tpthread_rwlockattr_t = uintptr
  953. type Tpthread_barrier_t = uintptr
  954. type Tpthread_barrierattr_t = uintptr
  955. type Tpthread_spinlock_t = uintptr
  956. type Tpthread_addr_t = uintptr
  957. type Tpthread_startroutine_t = uintptr
  958. type Tu_char = uint8
  959. type Tu_short = uint16
  960. type Tu_int = uint32
  961. type Tu_long = uint64
  962. type Tushort = uint16
  963. type Tuint = uint32
  964. type Tint8_t = int8
  965. type Tint16_t = int16
  966. type Tint32_t = int32
  967. type Tint64_t = int64
  968. type Tuint8_t = uint8
  969. type Tuint16_t = uint16
  970. type Tuint32_t = uint32
  971. type Tuint64_t = uint64
  972. type Tintptr_t = int64
  973. type Tuintptr_t = uint64
  974. type Tintmax_t = int64
  975. type Tuintmax_t = uint64
  976. type Tu_int8_t = uint8
  977. type Tu_int16_t = uint16
  978. type Tu_int32_t = uint32
  979. type Tu_int64_t = uint64
  980. type Tu_quad_t = uint64
  981. type Tquad_t = int64
  982. type Tqaddr_t = uintptr
  983. type Tcaddr_t = uintptr
  984. type Tc_caddr_t = uintptr
  985. type Tblksize_t = int32
  986. type Tcpuwhich_t = int32
  987. type Tcpulevel_t = int32
  988. type Tcpusetid_t = int32
  989. type Tblkcnt_t = int64
  990. type Tclock_t = int32
  991. type Tclockid_t = int32
  992. type Tcritical_t = int64
  993. type Tdaddr_t = int64
  994. type Tdev_t = uint64
  995. type Tfflags_t = uint32
  996. type Tfixpt_t = uint32
  997. type Tfsblkcnt_t = uint64
  998. type Tfsfilcnt_t = uint64
  999. type Tgid_t = uint32
  1000. type Tin_addr_t = uint32
  1001. type Tin_port_t = uint16
  1002. type Tid_t = int64
  1003. type Tino_t = uint64
  1004. type Tkey_t = int64
  1005. type Tlwpid_t = int32
  1006. type Tmode_t = uint16
  1007. type Taccmode_t = int32
  1008. type Tnlink_t = uint64
  1009. type Toff_t = int64
  1010. type Toff64_t = int64
  1011. type Tpid_t = int32
  1012. type Tregister_t = int64
  1013. type Trlim_t = int64
  1014. type Tsbintime_t = int64
  1015. type Tsegsz_t = int64
  1016. type Tssize_t = int64
  1017. type Tsuseconds_t = int64
  1018. type Ttime_t = int64
  1019. type Ttimer_t = uintptr
  1020. type Tmqd_t = uintptr
  1021. type Tu_register_t = uint64
  1022. type Tuid_t = uint32
  1023. type Tuseconds_t = uint32
  1024. type Tcap_ioctl_t = uint64
  1025. type Tkpaddr_t = uint64
  1026. type Tkvaddr_t = uint64
  1027. type Tksize_t = uint64
  1028. type Tkssize_t = int64
  1029. type Tvm_offset_t = uint64
  1030. type Tvm_ooffset_t = uint64
  1031. type Tvm_paddr_t = uint64
  1032. type Tvm_pindex_t = uint64
  1033. type Tvm_size_t = uint64
  1034. type Trman_res_t = uint64
  1035. type Tsyscallarg_t = int64
  1036. type t__sigset_t = struct {
  1037. F__bits [4]t__uint32_t
  1038. }
  1039. type t__sigset = t__sigset_t
  1040. type Ttimeval = struct {
  1041. Ftv_sec Ttime_t
  1042. Ftv_usec Tsuseconds_t
  1043. }
  1044. type Ttimespec = struct {
  1045. Ftv_sec Ttime_t
  1046. Ftv_nsec int64
  1047. }
  1048. type Titimerspec = struct {
  1049. Fit_interval Ttimespec
  1050. Fit_value Ttimespec
  1051. }
  1052. type t__fd_mask = uint64
  1053. type Tfd_mask = uint64
  1054. type Tsigset_t = struct {
  1055. F__bits [4]t__uint32_t
  1056. }
  1057. type Tfd_set = struct {
  1058. F__fds_bits [16]t__fd_mask
  1059. }
  1060. type Tva_list = uintptr
  1061. type Tcrypt_data = struct {
  1062. Finitialized int32
  1063. F__buf [256]int8
  1064. }
  1065. type Talloc_func = uintptr
  1066. type Tfree_func = uintptr
  1067. type Tz_stream = struct {
  1068. Fnext_in uintptr
  1069. Favail_in TuInt
  1070. Ftotal_in TuLong
  1071. Fnext_out uintptr
  1072. Favail_out TuInt
  1073. Ftotal_out TuLong
  1074. Fmsg uintptr
  1075. Fstate uintptr
  1076. Fzalloc Talloc_func
  1077. Fzfree Tfree_func
  1078. Fopaque Tvoidpf
  1079. Fdata_type int32
  1080. Fadler TuLong
  1081. Freserved TuLong
  1082. }
  1083. type Tz_stream_s = Tz_stream
  1084. type Tz_streamp = uintptr
  1085. type Tgz_header = struct {
  1086. Ftext int32
  1087. Ftime TuLong
  1088. Fxflags int32
  1089. Fos int32
  1090. Fextra uintptr
  1091. Fextra_len TuInt
  1092. Fextra_max TuInt
  1093. Fname uintptr
  1094. Fname_max TuInt
  1095. Fcomment uintptr
  1096. Fcomm_max TuInt
  1097. Fhcrc int32
  1098. Fdone int32
  1099. }
  1100. type Tgz_header_s = Tgz_header
  1101. type Tgz_headerp = uintptr
  1102. type Tin_func = uintptr
  1103. type Tout_func = uintptr
  1104. type TgzFile = uintptr
  1105. type TgzFile_s = struct {
  1106. Fhave uint32
  1107. Fnext uintptr
  1108. Fpos Toff_t
  1109. }
  1110. type Tlocale_t = uintptr
  1111. type Terrno_t = int32
  1112. type Tdiv_t = struct {
  1113. Fquot int32
  1114. Frem int32
  1115. }
  1116. type Tldiv_t = struct {
  1117. Fquot int64
  1118. Frem int64
  1119. }
  1120. type Tlldiv_t = struct {
  1121. Fquot int64
  1122. Frem int64
  1123. }
  1124. type Tconstraint_handler_t = uintptr
  1125. type Tuch = uint8
  1126. type Tuchf = uint8
  1127. type Tush = uint16
  1128. type Tushf = uint16
  1129. type Tulg = uint64
  1130. /* Reverse the bytes in a 32-bit value */
  1131. /* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
  1132. /* use NO_DIVIDE if your processor does not do division in hardware --
  1133. try it both ways to see which is faster */
  1134. // C documentation
  1135. //
  1136. // /* ========================================================================= */
  1137. func Xadler32_z(tls *libc.TLS, adler TuLong, buf uintptr, len1 Tz_size_t) (r TuLong) {
  1138. var n, v3 uint32
  1139. var sum2 uint64
  1140. var v1, v5 Tz_size_t
  1141. var v2, v6 uintptr
  1142. _, _, _, _, _, _, _ = n, sum2, v1, v2, v3, v5, v6
  1143. /* split Adler-32 into component sums */
  1144. sum2 = adler >> libc.Int32FromInt32(16) & uint64(0xffff)
  1145. adler &= uint64(0xffff)
  1146. /* in case user likes doing a byte at a time, keep it fast */
  1147. if len1 == uint64(1) {
  1148. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  1149. if adler >= uint64(65521) {
  1150. adler -= uint64(65521)
  1151. }
  1152. sum2 += adler
  1153. if sum2 >= uint64(65521) {
  1154. sum2 -= uint64(65521)
  1155. }
  1156. return adler | sum2<<int32(16)
  1157. }
  1158. /* initial Adler-32 value (deferred check for len == 1 speed) */
  1159. if buf == uintptr(m_Z_NULL) {
  1160. return uint64(1)
  1161. }
  1162. /* in case short lengths are provided, keep it somewhat fast */
  1163. if len1 < uint64(16) {
  1164. for {
  1165. v1 = len1
  1166. len1--
  1167. if !(v1 != 0) {
  1168. break
  1169. }
  1170. v2 = buf
  1171. buf++
  1172. adler += uint64(*(*TBytef)(unsafe.Pointer(v2)))
  1173. sum2 += adler
  1174. }
  1175. if adler >= uint64(65521) {
  1176. adler -= uint64(65521)
  1177. }
  1178. sum2 %= uint64(65521) /* only added so many BASE's */
  1179. return adler | sum2<<int32(16)
  1180. }
  1181. /* do length NMAX blocks -- requires just one modulo operation */
  1182. for len1 >= uint64(m_NMAX) {
  1183. len1 -= uint64(m_NMAX)
  1184. n = libc.Uint32FromInt32(libc.Int32FromInt32(m_NMAX) / libc.Int32FromInt32(16)) /* NMAX is divisible by 16 */
  1185. for {
  1186. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  1187. sum2 += adler
  1188. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
  1189. sum2 += adler
  1190. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
  1191. sum2 += adler
  1192. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1193. sum2 += adler
  1194. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
  1195. sum2 += adler
  1196. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1197. sum2 += adler
  1198. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1199. sum2 += adler
  1200. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1201. sum2 += adler
  1202. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
  1203. sum2 += adler
  1204. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
  1205. sum2 += adler
  1206. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
  1207. sum2 += adler
  1208. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1209. sum2 += adler
  1210. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
  1211. sum2 += adler
  1212. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1213. sum2 += adler
  1214. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1215. sum2 += adler
  1216. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1217. sum2 += adler /* 16 sums unrolled */
  1218. buf += uintptr(16)
  1219. goto _4
  1220. _4:
  1221. ;
  1222. n--
  1223. v3 = n
  1224. if !(v3 != 0) {
  1225. break
  1226. }
  1227. }
  1228. adler %= uint64(65521)
  1229. sum2 %= uint64(65521)
  1230. }
  1231. /* do remaining bytes (less than NMAX, still just one modulo) */
  1232. if len1 != 0 { /* avoid modulos if none remaining */
  1233. for len1 >= uint64(16) {
  1234. len1 -= uint64(16)
  1235. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  1236. sum2 += adler
  1237. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
  1238. sum2 += adler
  1239. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
  1240. sum2 += adler
  1241. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1242. sum2 += adler
  1243. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
  1244. sum2 += adler
  1245. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1246. sum2 += adler
  1247. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1248. sum2 += adler
  1249. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1250. sum2 += adler
  1251. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
  1252. sum2 += adler
  1253. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
  1254. sum2 += adler
  1255. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
  1256. sum2 += adler
  1257. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1258. sum2 += adler
  1259. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
  1260. sum2 += adler
  1261. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1262. sum2 += adler
  1263. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1264. sum2 += adler
  1265. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1266. sum2 += adler
  1267. buf += uintptr(16)
  1268. }
  1269. for {
  1270. v5 = len1
  1271. len1--
  1272. if !(v5 != 0) {
  1273. break
  1274. }
  1275. v6 = buf
  1276. buf++
  1277. adler += uint64(*(*TBytef)(unsafe.Pointer(v6)))
  1278. sum2 += adler
  1279. }
  1280. adler %= uint64(65521)
  1281. sum2 %= uint64(65521)
  1282. }
  1283. /* return recombined sums */
  1284. return adler | sum2<<int32(16)
  1285. }
  1286. // C documentation
  1287. //
  1288. // /* ========================================================================= */
  1289. func Xadler32(tls *libc.TLS, adler TuLong, buf uintptr, len1 TuInt) (r TuLong) {
  1290. return Xadler32_z(tls, adler, buf, uint64(len1))
  1291. }
  1292. // C documentation
  1293. //
  1294. // /* ========================================================================= */
  1295. func _adler32_combine_(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  1296. var rem uint32
  1297. var sum1, sum2 uint64
  1298. _, _, _ = rem, sum1, sum2
  1299. /* for negative len, return invalid adler32 as a clue for debugging */
  1300. if len2 < 0 {
  1301. return uint64(0xffffffff)
  1302. }
  1303. /* the derivation of this formula is left as an exercise for the reader */
  1304. len2 %= libc.Int64FromUint32(65521) /* assumes len2 >= 0 */
  1305. rem = libc.Uint32FromInt64(len2)
  1306. sum1 = adler1 & uint64(0xffff)
  1307. sum2 = uint64(rem) * sum1
  1308. sum2 %= uint64(65521)
  1309. sum1 += adler2&uint64(0xffff) + uint64(65521) - uint64(1)
  1310. sum2 += adler1>>libc.Int32FromInt32(16)&uint64(0xffff) + adler2>>libc.Int32FromInt32(16)&uint64(0xffff) + uint64(65521) - uint64(rem)
  1311. if sum1 >= uint64(65521) {
  1312. sum1 -= uint64(65521)
  1313. }
  1314. if sum1 >= uint64(65521) {
  1315. sum1 -= uint64(65521)
  1316. }
  1317. if sum2 >= libc.Uint64FromUint32(65521)<<libc.Int32FromInt32(1) {
  1318. sum2 -= libc.Uint64FromUint32(65521) << libc.Int32FromInt32(1)
  1319. }
  1320. if sum2 >= uint64(65521) {
  1321. sum2 -= uint64(65521)
  1322. }
  1323. return sum1 | sum2<<int32(16)
  1324. }
  1325. // C documentation
  1326. //
  1327. // /* ========================================================================= */
  1328. func Xadler32_combine(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  1329. return _adler32_combine_(tls, adler1, adler2, len2)
  1330. }
  1331. func Xadler32_combine64(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  1332. return _adler32_combine_(tls, adler1, adler2, len2)
  1333. }
  1334. const m_N = 5
  1335. const m_POLY = 3988292384
  1336. const m_W = 8
  1337. /* Reverse the bytes in a 32-bit value */
  1338. /*
  1339. A CRC of a message is computed on N braids of words in the message, where
  1340. each word consists of W bytes (4 or 8). If N is 3, for example, then three
  1341. running sparse CRCs are calculated respectively on each braid, at these
  1342. indices in the array of words: 0, 3, 6, ..., 1, 4, 7, ..., and 2, 5, 8, ...
  1343. This is done starting at a word boundary, and continues until as many blocks
  1344. of N * W bytes as are available have been processed. The results are combined
  1345. into a single CRC at the end. For this code, N must be in the range 1..6 and
  1346. W must be 4 or 8. The upper limit on N can be increased if desired by adding
  1347. more #if blocks, extending the patterns apparent in the code. In addition,
  1348. crc32.h would need to be regenerated, if the maximum N value is increased.
  1349. N and W are chosen empirically by benchmarking the execution time on a given
  1350. processor. The choices for N and W below were based on testing on Intel Kaby
  1351. Lake i7, AMD Ryzen 7, ARM Cortex-A57, Sparc64-VII, PowerPC POWER9, and MIPS64
  1352. Octeon II processors. The Intel, AMD, and ARM processors were all fastest
  1353. with N=5, W=8. The Sparc, PowerPC, and MIPS64 were all fastest at N=5, W=4.
  1354. They were all tested with either gcc or clang, all using the -O3 optimization
  1355. level. Your mileage may vary.
  1356. */
  1357. /* Define N */
  1358. /*
  1359. z_crc_t must be at least 32 bits. z_word_t must be at least as long as
  1360. z_crc_t. It is assumed here that z_word_t is either 32 bits or 64 bits, and
  1361. that bytes are eight bits.
  1362. */
  1363. // C documentation
  1364. //
  1365. // /*
  1366. // Define W and the associated z_word_t type. If W is not defined, then a
  1367. // braided calculation is not used, and the associated tables and code are not
  1368. // compiled.
  1369. // */
  1370. type Tz_word_t = uint64
  1371. /* If available, use the ARM processor CRC32 instruction. */
  1372. // C documentation
  1373. //
  1374. // /*
  1375. // Swap the bytes in a z_word_t to convert between little and big endian. Any
  1376. // self-respecting compiler will optimize this to a single machine byte-swap
  1377. // instruction, if one is available. This assumes that word_t is either 32 bits
  1378. // or 64 bits.
  1379. // */
  1380. func _byte_swap(tls *libc.TLS, word Tz_word_t) (r Tz_word_t) {
  1381. return word&uint64(0xff00000000000000)>>int32(56) | word&uint64(0xff000000000000)>>int32(40) | word&uint64(0xff0000000000)>>int32(24) | word&uint64(0xff00000000)>>int32(8) | word&uint64(0xff000000)<<int32(8) | word&uint64(0xff0000)<<int32(24) | word&uint64(0xff00)<<int32(40) | word&uint64(0xff)<<int32(56)
  1382. }
  1383. var _crc_table = [256]Tz_crc_t{
  1384. 1: uint32(0x77073096),
  1385. 2: uint32(0xee0e612c),
  1386. 3: uint32(0x990951ba),
  1387. 4: uint32(0x076dc419),
  1388. 5: uint32(0x706af48f),
  1389. 6: uint32(0xe963a535),
  1390. 7: uint32(0x9e6495a3),
  1391. 8: uint32(0x0edb8832),
  1392. 9: uint32(0x79dcb8a4),
  1393. 10: uint32(0xe0d5e91e),
  1394. 11: uint32(0x97d2d988),
  1395. 12: uint32(0x09b64c2b),
  1396. 13: uint32(0x7eb17cbd),
  1397. 14: uint32(0xe7b82d07),
  1398. 15: uint32(0x90bf1d91),
  1399. 16: uint32(0x1db71064),
  1400. 17: uint32(0x6ab020f2),
  1401. 18: uint32(0xf3b97148),
  1402. 19: uint32(0x84be41de),
  1403. 20: uint32(0x1adad47d),
  1404. 21: uint32(0x6ddde4eb),
  1405. 22: uint32(0xf4d4b551),
  1406. 23: uint32(0x83d385c7),
  1407. 24: uint32(0x136c9856),
  1408. 25: uint32(0x646ba8c0),
  1409. 26: uint32(0xfd62f97a),
  1410. 27: uint32(0x8a65c9ec),
  1411. 28: uint32(0x14015c4f),
  1412. 29: uint32(0x63066cd9),
  1413. 30: uint32(0xfa0f3d63),
  1414. 31: uint32(0x8d080df5),
  1415. 32: uint32(0x3b6e20c8),
  1416. 33: uint32(0x4c69105e),
  1417. 34: uint32(0xd56041e4),
  1418. 35: uint32(0xa2677172),
  1419. 36: uint32(0x3c03e4d1),
  1420. 37: uint32(0x4b04d447),
  1421. 38: uint32(0xd20d85fd),
  1422. 39: uint32(0xa50ab56b),
  1423. 40: uint32(0x35b5a8fa),
  1424. 41: uint32(0x42b2986c),
  1425. 42: uint32(0xdbbbc9d6),
  1426. 43: uint32(0xacbcf940),
  1427. 44: uint32(0x32d86ce3),
  1428. 45: uint32(0x45df5c75),
  1429. 46: uint32(0xdcd60dcf),
  1430. 47: uint32(0xabd13d59),
  1431. 48: uint32(0x26d930ac),
  1432. 49: uint32(0x51de003a),
  1433. 50: uint32(0xc8d75180),
  1434. 51: uint32(0xbfd06116),
  1435. 52: uint32(0x21b4f4b5),
  1436. 53: uint32(0x56b3c423),
  1437. 54: uint32(0xcfba9599),
  1438. 55: uint32(0xb8bda50f),
  1439. 56: uint32(0x2802b89e),
  1440. 57: uint32(0x5f058808),
  1441. 58: uint32(0xc60cd9b2),
  1442. 59: uint32(0xb10be924),
  1443. 60: uint32(0x2f6f7c87),
  1444. 61: uint32(0x58684c11),
  1445. 62: uint32(0xc1611dab),
  1446. 63: uint32(0xb6662d3d),
  1447. 64: uint32(0x76dc4190),
  1448. 65: uint32(0x01db7106),
  1449. 66: uint32(0x98d220bc),
  1450. 67: uint32(0xefd5102a),
  1451. 68: uint32(0x71b18589),
  1452. 69: uint32(0x06b6b51f),
  1453. 70: uint32(0x9fbfe4a5),
  1454. 71: uint32(0xe8b8d433),
  1455. 72: uint32(0x7807c9a2),
  1456. 73: uint32(0x0f00f934),
  1457. 74: uint32(0x9609a88e),
  1458. 75: uint32(0xe10e9818),
  1459. 76: uint32(0x7f6a0dbb),
  1460. 77: uint32(0x086d3d2d),
  1461. 78: uint32(0x91646c97),
  1462. 79: uint32(0xe6635c01),
  1463. 80: uint32(0x6b6b51f4),
  1464. 81: uint32(0x1c6c6162),
  1465. 82: uint32(0x856530d8),
  1466. 83: uint32(0xf262004e),
  1467. 84: uint32(0x6c0695ed),
  1468. 85: uint32(0x1b01a57b),
  1469. 86: uint32(0x8208f4c1),
  1470. 87: uint32(0xf50fc457),
  1471. 88: uint32(0x65b0d9c6),
  1472. 89: uint32(0x12b7e950),
  1473. 90: uint32(0x8bbeb8ea),
  1474. 91: uint32(0xfcb9887c),
  1475. 92: uint32(0x62dd1ddf),
  1476. 93: uint32(0x15da2d49),
  1477. 94: uint32(0x8cd37cf3),
  1478. 95: uint32(0xfbd44c65),
  1479. 96: uint32(0x4db26158),
  1480. 97: uint32(0x3ab551ce),
  1481. 98: uint32(0xa3bc0074),
  1482. 99: uint32(0xd4bb30e2),
  1483. 100: uint32(0x4adfa541),
  1484. 101: uint32(0x3dd895d7),
  1485. 102: uint32(0xa4d1c46d),
  1486. 103: uint32(0xd3d6f4fb),
  1487. 104: uint32(0x4369e96a),
  1488. 105: uint32(0x346ed9fc),
  1489. 106: uint32(0xad678846),
  1490. 107: uint32(0xda60b8d0),
  1491. 108: uint32(0x44042d73),
  1492. 109: uint32(0x33031de5),
  1493. 110: uint32(0xaa0a4c5f),
  1494. 111: uint32(0xdd0d7cc9),
  1495. 112: uint32(0x5005713c),
  1496. 113: uint32(0x270241aa),
  1497. 114: uint32(0xbe0b1010),
  1498. 115: uint32(0xc90c2086),
  1499. 116: uint32(0x5768b525),
  1500. 117: uint32(0x206f85b3),
  1501. 118: uint32(0xb966d409),
  1502. 119: uint32(0xce61e49f),
  1503. 120: uint32(0x5edef90e),
  1504. 121: uint32(0x29d9c998),
  1505. 122: uint32(0xb0d09822),
  1506. 123: uint32(0xc7d7a8b4),
  1507. 124: uint32(0x59b33d17),
  1508. 125: uint32(0x2eb40d81),
  1509. 126: uint32(0xb7bd5c3b),
  1510. 127: uint32(0xc0ba6cad),
  1511. 128: uint32(0xedb88320),
  1512. 129: uint32(0x9abfb3b6),
  1513. 130: uint32(0x03b6e20c),
  1514. 131: uint32(0x74b1d29a),
  1515. 132: uint32(0xead54739),
  1516. 133: uint32(0x9dd277af),
  1517. 134: uint32(0x04db2615),
  1518. 135: uint32(0x73dc1683),
  1519. 136: uint32(0xe3630b12),
  1520. 137: uint32(0x94643b84),
  1521. 138: uint32(0x0d6d6a3e),
  1522. 139: uint32(0x7a6a5aa8),
  1523. 140: uint32(0xe40ecf0b),
  1524. 141: uint32(0x9309ff9d),
  1525. 142: uint32(0x0a00ae27),
  1526. 143: uint32(0x7d079eb1),
  1527. 144: uint32(0xf00f9344),
  1528. 145: uint32(0x8708a3d2),
  1529. 146: uint32(0x1e01f268),
  1530. 147: uint32(0x6906c2fe),
  1531. 148: uint32(0xf762575d),
  1532. 149: uint32(0x806567cb),
  1533. 150: uint32(0x196c3671),
  1534. 151: uint32(0x6e6b06e7),
  1535. 152: uint32(0xfed41b76),
  1536. 153: uint32(0x89d32be0),
  1537. 154: uint32(0x10da7a5a),
  1538. 155: uint32(0x67dd4acc),
  1539. 156: uint32(0xf9b9df6f),
  1540. 157: uint32(0x8ebeeff9),
  1541. 158: uint32(0x17b7be43),
  1542. 159: uint32(0x60b08ed5),
  1543. 160: uint32(0xd6d6a3e8),
  1544. 161: uint32(0xa1d1937e),
  1545. 162: uint32(0x38d8c2c4),
  1546. 163: uint32(0x4fdff252),
  1547. 164: uint32(0xd1bb67f1),
  1548. 165: uint32(0xa6bc5767),
  1549. 166: uint32(0x3fb506dd),
  1550. 167: uint32(0x48b2364b),
  1551. 168: uint32(0xd80d2bda),
  1552. 169: uint32(0xaf0a1b4c),
  1553. 170: uint32(0x36034af6),
  1554. 171: uint32(0x41047a60),
  1555. 172: uint32(0xdf60efc3),
  1556. 173: uint32(0xa867df55),
  1557. 174: uint32(0x316e8eef),
  1558. 175: uint32(0x4669be79),
  1559. 176: uint32(0xcb61b38c),
  1560. 177: uint32(0xbc66831a),
  1561. 178: uint32(0x256fd2a0),
  1562. 179: uint32(0x5268e236),
  1563. 180: uint32(0xcc0c7795),
  1564. 181: uint32(0xbb0b4703),
  1565. 182: uint32(0x220216b9),
  1566. 183: uint32(0x5505262f),
  1567. 184: uint32(0xc5ba3bbe),
  1568. 185: uint32(0xb2bd0b28),
  1569. 186: uint32(0x2bb45a92),
  1570. 187: uint32(0x5cb36a04),
  1571. 188: uint32(0xc2d7ffa7),
  1572. 189: uint32(0xb5d0cf31),
  1573. 190: uint32(0x2cd99e8b),
  1574. 191: uint32(0x5bdeae1d),
  1575. 192: uint32(0x9b64c2b0),
  1576. 193: uint32(0xec63f226),
  1577. 194: uint32(0x756aa39c),
  1578. 195: uint32(0x026d930a),
  1579. 196: uint32(0x9c0906a9),
  1580. 197: uint32(0xeb0e363f),
  1581. 198: uint32(0x72076785),
  1582. 199: uint32(0x05005713),
  1583. 200: uint32(0x95bf4a82),
  1584. 201: uint32(0xe2b87a14),
  1585. 202: uint32(0x7bb12bae),
  1586. 203: uint32(0x0cb61b38),
  1587. 204: uint32(0x92d28e9b),
  1588. 205: uint32(0xe5d5be0d),
  1589. 206: uint32(0x7cdcefb7),
  1590. 207: uint32(0x0bdbdf21),
  1591. 208: uint32(0x86d3d2d4),
  1592. 209: uint32(0xf1d4e242),
  1593. 210: uint32(0x68ddb3f8),
  1594. 211: uint32(0x1fda836e),
  1595. 212: uint32(0x81be16cd),
  1596. 213: uint32(0xf6b9265b),
  1597. 214: uint32(0x6fb077e1),
  1598. 215: uint32(0x18b74777),
  1599. 216: uint32(0x88085ae6),
  1600. 217: uint32(0xff0f6a70),
  1601. 218: uint32(0x66063bca),
  1602. 219: uint32(0x11010b5c),
  1603. 220: uint32(0x8f659eff),
  1604. 221: uint32(0xf862ae69),
  1605. 222: uint32(0x616bffd3),
  1606. 223: uint32(0x166ccf45),
  1607. 224: uint32(0xa00ae278),
  1608. 225: uint32(0xd70dd2ee),
  1609. 226: uint32(0x4e048354),
  1610. 227: uint32(0x3903b3c2),
  1611. 228: uint32(0xa7672661),
  1612. 229: uint32(0xd06016f7),
  1613. 230: uint32(0x4969474d),
  1614. 231: uint32(0x3e6e77db),
  1615. 232: uint32(0xaed16a4a),
  1616. 233: uint32(0xd9d65adc),
  1617. 234: uint32(0x40df0b66),
  1618. 235: uint32(0x37d83bf0),
  1619. 236: uint32(0xa9bcae53),
  1620. 237: uint32(0xdebb9ec5),
  1621. 238: uint32(0x47b2cf7f),
  1622. 239: uint32(0x30b5ffe9),
  1623. 240: uint32(0xbdbdf21c),
  1624. 241: uint32(0xcabac28a),
  1625. 242: uint32(0x53b39330),
  1626. 243: uint32(0x24b4a3a6),
  1627. 244: uint32(0xbad03605),
  1628. 245: uint32(0xcdd70693),
  1629. 246: uint32(0x54de5729),
  1630. 247: uint32(0x23d967bf),
  1631. 248: uint32(0xb3667a2e),
  1632. 249: uint32(0xc4614ab8),
  1633. 250: uint32(0x5d681b02),
  1634. 251: uint32(0x2a6f2b94),
  1635. 252: uint32(0xb40bbe37),
  1636. 253: uint32(0xc30c8ea1),
  1637. 254: uint32(0x5a05df1b),
  1638. 255: uint32(0x2d02ef8d),
  1639. }
  1640. var _crc_big_table = [256]Tz_word_t{
  1641. 1: uint64(0x9630077700000000),
  1642. 2: uint64(0x2c610eee00000000),
  1643. 3: uint64(0xba51099900000000),
  1644. 4: uint64(0x19c46d0700000000),
  1645. 5: uint64(0x8ff46a7000000000),
  1646. 6: uint64(0x35a563e900000000),
  1647. 7: uint64(0xa395649e00000000),
  1648. 8: uint64(0x3288db0e00000000),
  1649. 9: uint64(0xa4b8dc7900000000),
  1650. 10: uint64(0x1ee9d5e000000000),
  1651. 11: uint64(0x88d9d29700000000),
  1652. 12: uint64(0x2b4cb60900000000),
  1653. 13: uint64(0xbd7cb17e00000000),
  1654. 14: uint64(0x072db8e700000000),
  1655. 15: uint64(0x911dbf9000000000),
  1656. 16: uint64(0x6410b71d00000000),
  1657. 17: uint64(0xf220b06a00000000),
  1658. 18: uint64(0x4871b9f300000000),
  1659. 19: uint64(0xde41be8400000000),
  1660. 20: uint64(0x7dd4da1a00000000),
  1661. 21: uint64(0xebe4dd6d00000000),
  1662. 22: uint64(0x51b5d4f400000000),
  1663. 23: uint64(0xc785d38300000000),
  1664. 24: uint64(0x56986c1300000000),
  1665. 25: uint64(0xc0a86b6400000000),
  1666. 26: uint64(0x7af962fd00000000),
  1667. 27: uint64(0xecc9658a00000000),
  1668. 28: uint64(0x4f5c011400000000),
  1669. 29: uint64(0xd96c066300000000),
  1670. 30: uint64(0x633d0ffa00000000),
  1671. 31: uint64(0xf50d088d00000000),
  1672. 32: uint64(0xc8206e3b00000000),
  1673. 33: uint64(0x5e10694c00000000),
  1674. 34: uint64(0xe44160d500000000),
  1675. 35: uint64(0x727167a200000000),
  1676. 36: uint64(0xd1e4033c00000000),
  1677. 37: uint64(0x47d4044b00000000),
  1678. 38: uint64(0xfd850dd200000000),
  1679. 39: uint64(0x6bb50aa500000000),
  1680. 40: uint64(0xfaa8b53500000000),
  1681. 41: uint64(0x6c98b24200000000),
  1682. 42: uint64(0xd6c9bbdb00000000),
  1683. 43: uint64(0x40f9bcac00000000),
  1684. 44: uint64(0xe36cd83200000000),
  1685. 45: uint64(0x755cdf4500000000),
  1686. 46: uint64(0xcf0dd6dc00000000),
  1687. 47: uint64(0x593dd1ab00000000),
  1688. 48: uint64(0xac30d92600000000),
  1689. 49: uint64(0x3a00de5100000000),
  1690. 50: uint64(0x8051d7c800000000),
  1691. 51: uint64(0x1661d0bf00000000),
  1692. 52: uint64(0xb5f4b42100000000),
  1693. 53: uint64(0x23c4b35600000000),
  1694. 54: uint64(0x9995bacf00000000),
  1695. 55: uint64(0x0fa5bdb800000000),
  1696. 56: uint64(0x9eb8022800000000),
  1697. 57: uint64(0x0888055f00000000),
  1698. 58: uint64(0xb2d90cc600000000),
  1699. 59: uint64(0x24e90bb100000000),
  1700. 60: uint64(0x877c6f2f00000000),
  1701. 61: uint64(0x114c685800000000),
  1702. 62: uint64(0xab1d61c100000000),
  1703. 63: uint64(0x3d2d66b600000000),
  1704. 64: uint64(0x9041dc7600000000),
  1705. 65: uint64(0x0671db0100000000),
  1706. 66: uint64(0xbc20d29800000000),
  1707. 67: uint64(0x2a10d5ef00000000),
  1708. 68: uint64(0x8985b17100000000),
  1709. 69: uint64(0x1fb5b60600000000),
  1710. 70: uint64(0xa5e4bf9f00000000),
  1711. 71: uint64(0x33d4b8e800000000),
  1712. 72: uint64(0xa2c9077800000000),
  1713. 73: uint64(0x34f9000f00000000),
  1714. 74: uint64(0x8ea8099600000000),
  1715. 75: uint64(0x18980ee100000000),
  1716. 76: uint64(0xbb0d6a7f00000000),
  1717. 77: uint64(0x2d3d6d0800000000),
  1718. 78: uint64(0x976c649100000000),
  1719. 79: uint64(0x015c63e600000000),
  1720. 80: uint64(0xf4516b6b00000000),
  1721. 81: uint64(0x62616c1c00000000),
  1722. 82: uint64(0xd830658500000000),
  1723. 83: uint64(0x4e0062f200000000),
  1724. 84: uint64(0xed95066c00000000),
  1725. 85: uint64(0x7ba5011b00000000),
  1726. 86: uint64(0xc1f4088200000000),
  1727. 87: uint64(0x57c40ff500000000),
  1728. 88: uint64(0xc6d9b06500000000),
  1729. 89: uint64(0x50e9b71200000000),
  1730. 90: uint64(0xeab8be8b00000000),
  1731. 91: uint64(0x7c88b9fc00000000),
  1732. 92: uint64(0xdf1ddd6200000000),
  1733. 93: uint64(0x492dda1500000000),
  1734. 94: uint64(0xf37cd38c00000000),
  1735. 95: uint64(0x654cd4fb00000000),
  1736. 96: uint64(0x5861b24d00000000),
  1737. 97: uint64(0xce51b53a00000000),
  1738. 98: uint64(0x7400bca300000000),
  1739. 99: uint64(0xe230bbd400000000),
  1740. 100: uint64(0x41a5df4a00000000),
  1741. 101: uint64(0xd795d83d00000000),
  1742. 102: uint64(0x6dc4d1a400000000),
  1743. 103: uint64(0xfbf4d6d300000000),
  1744. 104: uint64(0x6ae9694300000000),
  1745. 105: uint64(0xfcd96e3400000000),
  1746. 106: uint64(0x468867ad00000000),
  1747. 107: uint64(0xd0b860da00000000),
  1748. 108: uint64(0x732d044400000000),
  1749. 109: uint64(0xe51d033300000000),
  1750. 110: uint64(0x5f4c0aaa00000000),
  1751. 111: uint64(0xc97c0ddd00000000),
  1752. 112: uint64(0x3c71055000000000),
  1753. 113: uint64(0xaa41022700000000),
  1754. 114: uint64(0x10100bbe00000000),
  1755. 115: uint64(0x86200cc900000000),
  1756. 116: uint64(0x25b5685700000000),
  1757. 117: uint64(0xb3856f2000000000),
  1758. 118: uint64(0x09d466b900000000),
  1759. 119: uint64(0x9fe461ce00000000),
  1760. 120: uint64(0x0ef9de5e00000000),
  1761. 121: uint64(0x98c9d92900000000),
  1762. 122: uint64(0x2298d0b000000000),
  1763. 123: uint64(0xb4a8d7c700000000),
  1764. 124: uint64(0x173db35900000000),
  1765. 125: uint64(0x810db42e00000000),
  1766. 126: uint64(0x3b5cbdb700000000),
  1767. 127: uint64(0xad6cbac000000000),
  1768. 128: uint64(0x2083b8ed00000000),
  1769. 129: uint64(0xb6b3bf9a00000000),
  1770. 130: uint64(0x0ce2b60300000000),
  1771. 131: uint64(0x9ad2b17400000000),
  1772. 132: uint64(0x3947d5ea00000000),
  1773. 133: uint64(0xaf77d29d00000000),
  1774. 134: uint64(0x1526db0400000000),
  1775. 135: uint64(0x8316dc7300000000),
  1776. 136: uint64(0x120b63e300000000),
  1777. 137: uint64(0x843b649400000000),
  1778. 138: uint64(0x3e6a6d0d00000000),
  1779. 139: uint64(0xa85a6a7a00000000),
  1780. 140: uint64(0x0bcf0ee400000000),
  1781. 141: uint64(0x9dff099300000000),
  1782. 142: uint64(0x27ae000a00000000),
  1783. 143: uint64(0xb19e077d00000000),
  1784. 144: uint64(0x44930ff000000000),
  1785. 145: uint64(0xd2a3088700000000),
  1786. 146: uint64(0x68f2011e00000000),
  1787. 147: uint64(0xfec2066900000000),
  1788. 148: uint64(0x5d5762f700000000),
  1789. 149: uint64(0xcb67658000000000),
  1790. 150: uint64(0x71366c1900000000),
  1791. 151: uint64(0xe7066b6e00000000),
  1792. 152: uint64(0x761bd4fe00000000),
  1793. 153: uint64(0xe02bd38900000000),
  1794. 154: uint64(0x5a7ada1000000000),
  1795. 155: uint64(0xcc4add6700000000),
  1796. 156: uint64(0x6fdfb9f900000000),
  1797. 157: uint64(0xf9efbe8e00000000),
  1798. 158: uint64(0x43beb71700000000),
  1799. 159: uint64(0xd58eb06000000000),
  1800. 160: uint64(0xe8a3d6d600000000),
  1801. 161: uint64(0x7e93d1a100000000),
  1802. 162: uint64(0xc4c2d83800000000),
  1803. 163: uint64(0x52f2df4f00000000),
  1804. 164: uint64(0xf167bbd100000000),
  1805. 165: uint64(0x6757bca600000000),
  1806. 166: uint64(0xdd06b53f00000000),
  1807. 167: uint64(0x4b36b24800000000),
  1808. 168: uint64(0xda2b0dd800000000),
  1809. 169: uint64(0x4c1b0aaf00000000),
  1810. 170: uint64(0xf64a033600000000),
  1811. 171: uint64(0x607a044100000000),
  1812. 172: uint64(0xc3ef60df00000000),
  1813. 173: uint64(0x55df67a800000000),
  1814. 174: uint64(0xef8e6e3100000000),
  1815. 175: uint64(0x79be694600000000),
  1816. 176: uint64(0x8cb361cb00000000),
  1817. 177: uint64(0x1a8366bc00000000),
  1818. 178: uint64(0xa0d26f2500000000),
  1819. 179: uint64(0x36e2685200000000),
  1820. 180: uint64(0x95770ccc00000000),
  1821. 181: uint64(0x03470bbb00000000),
  1822. 182: uint64(0xb916022200000000),
  1823. 183: uint64(0x2f26055500000000),
  1824. 184: uint64(0xbe3bbac500000000),
  1825. 185: uint64(0x280bbdb200000000),
  1826. 186: uint64(0x925ab42b00000000),
  1827. 187: uint64(0x046ab35c00000000),
  1828. 188: uint64(0xa7ffd7c200000000),
  1829. 189: uint64(0x31cfd0b500000000),
  1830. 190: uint64(0x8b9ed92c00000000),
  1831. 191: uint64(0x1daede5b00000000),
  1832. 192: uint64(0xb0c2649b00000000),
  1833. 193: uint64(0x26f263ec00000000),
  1834. 194: uint64(0x9ca36a7500000000),
  1835. 195: uint64(0x0a936d0200000000),
  1836. 196: uint64(0xa906099c00000000),
  1837. 197: uint64(0x3f360eeb00000000),
  1838. 198: uint64(0x8567077200000000),
  1839. 199: uint64(0x1357000500000000),
  1840. 200: uint64(0x824abf9500000000),
  1841. 201: uint64(0x147ab8e200000000),
  1842. 202: uint64(0xae2bb17b00000000),
  1843. 203: uint64(0x381bb60c00000000),
  1844. 204: uint64(0x9b8ed29200000000),
  1845. 205: uint64(0x0dbed5e500000000),
  1846. 206: uint64(0xb7efdc7c00000000),
  1847. 207: uint64(0x21dfdb0b00000000),
  1848. 208: uint64(0xd4d2d38600000000),
  1849. 209: uint64(0x42e2d4f100000000),
  1850. 210: uint64(0xf8b3dd6800000000),
  1851. 211: uint64(0x6e83da1f00000000),
  1852. 212: uint64(0xcd16be8100000000),
  1853. 213: uint64(0x5b26b9f600000000),
  1854. 214: uint64(0xe177b06f00000000),
  1855. 215: uint64(0x7747b71800000000),
  1856. 216: uint64(0xe65a088800000000),
  1857. 217: uint64(0x706a0fff00000000),
  1858. 218: uint64(0xca3b066600000000),
  1859. 219: uint64(0x5c0b011100000000),
  1860. 220: uint64(0xff9e658f00000000),
  1861. 221: uint64(0x69ae62f800000000),
  1862. 222: uint64(0xd3ff6b6100000000),
  1863. 223: uint64(0x45cf6c1600000000),
  1864. 224: uint64(0x78e20aa000000000),
  1865. 225: uint64(0xeed20dd700000000),
  1866. 226: uint64(0x5483044e00000000),
  1867. 227: uint64(0xc2b3033900000000),
  1868. 228: uint64(0x612667a700000000),
  1869. 229: uint64(0xf71660d000000000),
  1870. 230: uint64(0x4d47694900000000),
  1871. 231: uint64(0xdb776e3e00000000),
  1872. 232: uint64(0x4a6ad1ae00000000),
  1873. 233: uint64(0xdc5ad6d900000000),
  1874. 234: uint64(0x660bdf4000000000),
  1875. 235: uint64(0xf03bd83700000000),
  1876. 236: uint64(0x53aebca900000000),
  1877. 237: uint64(0xc59ebbde00000000),
  1878. 238: uint64(0x7fcfb24700000000),
  1879. 239: uint64(0xe9ffb53000000000),
  1880. 240: uint64(0x1cf2bdbd00000000),
  1881. 241: uint64(0x8ac2baca00000000),
  1882. 242: uint64(0x3093b35300000000),
  1883. 243: uint64(0xa6a3b42400000000),
  1884. 244: uint64(0x0536d0ba00000000),
  1885. 245: uint64(0x9306d7cd00000000),
  1886. 246: uint64(0x2957de5400000000),
  1887. 247: uint64(0xbf67d92300000000),
  1888. 248: uint64(0x2e7a66b300000000),
  1889. 249: uint64(0xb84a61c400000000),
  1890. 250: uint64(0x021b685d00000000),
  1891. 251: uint64(0x942b6f2a00000000),
  1892. 252: uint64(0x37be0bb400000000),
  1893. 253: uint64(0xa18e0cc300000000),
  1894. 254: uint64(0x1bdf055a00000000),
  1895. 255: uint64(0x8def022d00000000),
  1896. }
  1897. var _crc_braid_table = [8][256]Tz_crc_t{
  1898. 0: {
  1899. 1: uint32(0xaf449247),
  1900. 2: uint32(0x85f822cf),
  1901. 3: uint32(0x2abcb088),
  1902. 4: uint32(0xd08143df),
  1903. 5: uint32(0x7fc5d198),
  1904. 6: uint32(0x55796110),
  1905. 7: uint32(0xfa3df357),
  1906. 8: uint32(0x7a7381ff),
  1907. 9: uint32(0xd53713b8),
  1908. 10: uint32(0xff8ba330),
  1909. 11: uint32(0x50cf3177),
  1910. 12: uint32(0xaaf2c220),
  1911. 13: uint32(0x05b65067),
  1912. 14: uint32(0x2f0ae0ef),
  1913. 15: uint32(0x804e72a8),
  1914. 16: uint32(0xf4e703fe),
  1915. 17: uint32(0x5ba391b9),
  1916. 18: uint32(0x711f2131),
  1917. 19: uint32(0xde5bb376),
  1918. 20: uint32(0x24664021),
  1919. 21: uint32(0x8b22d266),
  1920. 22: uint32(0xa19e62ee),
  1921. 23: uint32(0x0edaf0a9),
  1922. 24: uint32(0x8e948201),
  1923. 25: uint32(0x21d01046),
  1924. 26: uint32(0x0b6ca0ce),
  1925. 27: uint32(0xa4283289),
  1926. 28: uint32(0x5e15c1de),
  1927. 29: uint32(0xf1515399),
  1928. 30: uint32(0xdbede311),
  1929. 31: uint32(0x74a97156),
  1930. 32: uint32(0x32bf01bd),
  1931. 33: uint32(0x9dfb93fa),
  1932. 34: uint32(0xb7472372),
  1933. 35: uint32(0x1803b135),
  1934. 36: uint32(0xe23e4262),
  1935. 37: uint32(0x4d7ad025),
  1936. 38: uint32(0x67c660ad),
  1937. 39: uint32(0xc882f2ea),
  1938. 40: uint32(0x48cc8042),
  1939. 41: uint32(0xe7881205),
  1940. 42: uint32(0xcd34a28d),
  1941. 43: uint32(0x627030ca),
  1942. 44: uint32(0x984dc39d),
  1943. 45: uint32(0x370951da),
  1944. 46: uint32(0x1db5e152),
  1945. 47: uint32(0xb2f17315),
  1946. 48: uint32(0xc6580243),
  1947. 49: uint32(0x691c9004),
  1948. 50: uint32(0x43a0208c),
  1949. 51: uint32(0xece4b2cb),
  1950. 52: uint32(0x16d9419c),
  1951. 53: uint32(0xb99dd3db),
  1952. 54: uint32(0x93216353),
  1953. 55: uint32(0x3c65f114),
  1954. 56: uint32(0xbc2b83bc),
  1955. 57: uint32(0x136f11fb),
  1956. 58: uint32(0x39d3a173),
  1957. 59: uint32(0x96973334),
  1958. 60: uint32(0x6caac063),
  1959. 61: uint32(0xc3ee5224),
  1960. 62: uint32(0xe952e2ac),
  1961. 63: uint32(0x461670eb),
  1962. 64: uint32(0x657e037a),
  1963. 65: uint32(0xca3a913d),
  1964. 66: uint32(0xe08621b5),
  1965. 67: uint32(0x4fc2b3f2),
  1966. 68: uint32(0xb5ff40a5),
  1967. 69: uint32(0x1abbd2e2),
  1968. 70: uint32(0x3007626a),
  1969. 71: uint32(0x9f43f02d),
  1970. 72: uint32(0x1f0d8285),
  1971. 73: uint32(0xb04910c2),
  1972. 74: uint32(0x9af5a04a),
  1973. 75: uint32(0x35b1320d),
  1974. 76: uint32(0xcf8cc15a),
  1975. 77: uint32(0x60c8531d),
  1976. 78: uint32(0x4a74e395),
  1977. 79: uint32(0xe53071d2),
  1978. 80: uint32(0x91990084),
  1979. 81: uint32(0x3edd92c3),
  1980. 82: uint32(0x1461224b),
  1981. 83: uint32(0xbb25b00c),
  1982. 84: uint32(0x4118435b),
  1983. 85: uint32(0xee5cd11c),
  1984. 86: uint32(0xc4e06194),
  1985. 87: uint32(0x6ba4f3d3),
  1986. 88: uint32(0xebea817b),
  1987. 89: uint32(0x44ae133c),
  1988. 90: uint32(0x6e12a3b4),
  1989. 91: uint32(0xc15631f3),
  1990. 92: uint32(0x3b6bc2a4),
  1991. 93: uint32(0x942f50e3),
  1992. 94: uint32(0xbe93e06b),
  1993. 95: uint32(0x11d7722c),
  1994. 96: uint32(0x57c102c7),
  1995. 97: uint32(0xf8859080),
  1996. 98: uint32(0xd2392008),
  1997. 99: uint32(0x7d7db24f),
  1998. 100: uint32(0x87404118),
  1999. 101: uint32(0x2804d35f),
  2000. 102: uint32(0x02b863d7),
  2001. 103: uint32(0xadfcf190),
  2002. 104: uint32(0x2db28338),
  2003. 105: uint32(0x82f6117f),
  2004. 106: uint32(0xa84aa1f7),
  2005. 107: uint32(0x070e33b0),
  2006. 108: uint32(0xfd33c0e7),
  2007. 109: uint32(0x527752a0),
  2008. 110: uint32(0x78cbe228),
  2009. 111: uint32(0xd78f706f),
  2010. 112: uint32(0xa3260139),
  2011. 113: uint32(0x0c62937e),
  2012. 114: uint32(0x26de23f6),
  2013. 115: uint32(0x899ab1b1),
  2014. 116: uint32(0x73a742e6),
  2015. 117: uint32(0xdce3d0a1),
  2016. 118: uint32(0xf65f6029),
  2017. 119: uint32(0x591bf26e),
  2018. 120: uint32(0xd95580c6),
  2019. 121: uint32(0x76111281),
  2020. 122: uint32(0x5cada209),
  2021. 123: uint32(0xf3e9304e),
  2022. 124: uint32(0x09d4c319),
  2023. 125: uint32(0xa690515e),
  2024. 126: uint32(0x8c2ce1d6),
  2025. 127: uint32(0x23687391),
  2026. 128: uint32(0xcafc06f4),
  2027. 129: uint32(0x65b894b3),
  2028. 130: uint32(0x4f04243b),
  2029. 131: uint32(0xe040b67c),
  2030. 132: uint32(0x1a7d452b),
  2031. 133: uint32(0xb539d76c),
  2032. 134: uint32(0x9f8567e4),
  2033. 135: uint32(0x30c1f5a3),
  2034. 136: uint32(0xb08f870b),
  2035. 137: uint32(0x1fcb154c),
  2036. 138: uint32(0x3577a5c4),
  2037. 139: uint32(0x9a333783),
  2038. 140: uint32(0x600ec4d4),
  2039. 141: uint32(0xcf4a5693),
  2040. 142: uint32(0xe5f6e61b),
  2041. 143: uint32(0x4ab2745c),
  2042. 144: uint32(0x3e1b050a),
  2043. 145: uint32(0x915f974d),
  2044. 146: uint32(0xbbe327c5),
  2045. 147: uint32(0x14a7b582),
  2046. 148: uint32(0xee9a46d5),
  2047. 149: uint32(0x41ded492),
  2048. 150: uint32(0x6b62641a),
  2049. 151: uint32(0xc426f65d),
  2050. 152: uint32(0x446884f5),
  2051. 153: uint32(0xeb2c16b2),
  2052. 154: uint32(0xc190a63a),
  2053. 155: uint32(0x6ed4347d),
  2054. 156: uint32(0x94e9c72a),
  2055. 157: uint32(0x3bad556d),
  2056. 158: uint32(0x1111e5e5),
  2057. 159: uint32(0xbe5577a2),
  2058. 160: uint32(0xf8430749),
  2059. 161: uint32(0x5707950e),
  2060. 162: uint32(0x7dbb2586),
  2061. 163: uint32(0xd2ffb7c1),
  2062. 164: uint32(0x28c24496),
  2063. 165: uint32(0x8786d6d1),
  2064. 166: uint32(0xad3a6659),
  2065. 167: uint32(0x027ef41e),
  2066. 168: uint32(0x823086b6),
  2067. 169: uint32(0x2d7414f1),
  2068. 170: uint32(0x07c8a479),
  2069. 171: uint32(0xa88c363e),
  2070. 172: uint32(0x52b1c569),
  2071. 173: uint32(0xfdf5572e),
  2072. 174: uint32(0xd749e7a6),
  2073. 175: uint32(0x780d75e1),
  2074. 176: uint32(0x0ca404b7),
  2075. 177: uint32(0xa3e096f0),
  2076. 178: uint32(0x895c2678),
  2077. 179: uint32(0x2618b43f),
  2078. 180: uint32(0xdc254768),
  2079. 181: uint32(0x7361d52f),
  2080. 182: uint32(0x59dd65a7),
  2081. 183: uint32(0xf699f7e0),
  2082. 184: uint32(0x76d78548),
  2083. 185: uint32(0xd993170f),
  2084. 186: uint32(0xf32fa787),
  2085. 187: uint32(0x5c6b35c0),
  2086. 188: uint32(0xa656c697),
  2087. 189: uint32(0x091254d0),
  2088. 190: uint32(0x23aee458),
  2089. 191: uint32(0x8cea761f),
  2090. 192: uint32(0xaf82058e),
  2091. 193: uint32(0x00c697c9),
  2092. 194: uint32(0x2a7a2741),
  2093. 195: uint32(0x853eb506),
  2094. 196: uint32(0x7f034651),
  2095. 197: uint32(0xd047d416),
  2096. 198: uint32(0xfafb649e),
  2097. 199: uint32(0x55bff6d9),
  2098. 200: uint32(0xd5f18471),
  2099. 201: uint32(0x7ab51636),
  2100. 202: uint32(0x5009a6be),
  2101. 203: uint32(0xff4d34f9),
  2102. 204: uint32(0x0570c7ae),
  2103. 205: uint32(0xaa3455e9),
  2104. 206: uint32(0x8088e561),
  2105. 207: uint32(0x2fcc7726),
  2106. 208: uint32(0x5b650670),
  2107. 209: uint32(0xf4219437),
  2108. 210: uint32(0xde9d24bf),
  2109. 211: uint32(0x71d9b6f8),
  2110. 212: uint32(0x8be445af),
  2111. 213: uint32(0x24a0d7e8),
  2112. 214: uint32(0x0e1c6760),
  2113. 215: uint32(0xa158f527),
  2114. 216: uint32(0x2116878f),
  2115. 217: uint32(0x8e5215c8),
  2116. 218: uint32(0xa4eea540),
  2117. 219: uint32(0x0baa3707),
  2118. 220: uint32(0xf197c450),
  2119. 221: uint32(0x5ed35617),
  2120. 222: uint32(0x746fe69f),
  2121. 223: uint32(0xdb2b74d8),
  2122. 224: uint32(0x9d3d0433),
  2123. 225: uint32(0x32799674),
  2124. 226: uint32(0x18c526fc),
  2125. 227: uint32(0xb781b4bb),
  2126. 228: uint32(0x4dbc47ec),
  2127. 229: uint32(0xe2f8d5ab),
  2128. 230: uint32(0xc8446523),
  2129. 231: uint32(0x6700f764),
  2130. 232: uint32(0xe74e85cc),
  2131. 233: uint32(0x480a178b),
  2132. 234: uint32(0x62b6a703),
  2133. 235: uint32(0xcdf23544),
  2134. 236: uint32(0x37cfc613),
  2135. 237: uint32(0x988b5454),
  2136. 238: uint32(0xb237e4dc),
  2137. 239: uint32(0x1d73769b),
  2138. 240: uint32(0x69da07cd),
  2139. 241: uint32(0xc69e958a),
  2140. 242: uint32(0xec222502),
  2141. 243: uint32(0x4366b745),
  2142. 244: uint32(0xb95b4412),
  2143. 245: uint32(0x161fd655),
  2144. 246: uint32(0x3ca366dd),
  2145. 247: uint32(0x93e7f49a),
  2146. 248: uint32(0x13a98632),
  2147. 249: uint32(0xbced1475),
  2148. 250: uint32(0x9651a4fd),
  2149. 251: uint32(0x391536ba),
  2150. 252: uint32(0xc328c5ed),
  2151. 253: uint32(0x6c6c57aa),
  2152. 254: uint32(0x46d0e722),
  2153. 255: uint32(0xe9947565),
  2154. },
  2155. 1: {
  2156. 1: uint32(0x4e890ba9),
  2157. 2: uint32(0x9d121752),
  2158. 3: uint32(0xd39b1cfb),
  2159. 4: uint32(0xe15528e5),
  2160. 5: uint32(0xafdc234c),
  2161. 6: uint32(0x7c473fb7),
  2162. 7: uint32(0x32ce341e),
  2163. 8: uint32(0x19db578b),
  2164. 9: uint32(0x57525c22),
  2165. 10: uint32(0x84c940d9),
  2166. 11: uint32(0xca404b70),
  2167. 12: uint32(0xf88e7f6e),
  2168. 13: uint32(0xb60774c7),
  2169. 14: uint32(0x659c683c),
  2170. 15: uint32(0x2b156395),
  2171. 16: uint32(0x33b6af16),
  2172. 17: uint32(0x7d3fa4bf),
  2173. 18: uint32(0xaea4b844),
  2174. 19: uint32(0xe02db3ed),
  2175. 20: uint32(0xd2e387f3),
  2176. 21: uint32(0x9c6a8c5a),
  2177. 22: uint32(0x4ff190a1),
  2178. 23: uint32(0x01789b08),
  2179. 24: uint32(0x2a6df89d),
  2180. 25: uint32(0x64e4f334),
  2181. 26: uint32(0xb77fefcf),
  2182. 27: uint32(0xf9f6e466),
  2183. 28: uint32(0xcb38d078),
  2184. 29: uint32(0x85b1dbd1),
  2185. 30: uint32(0x562ac72a),
  2186. 31: uint32(0x18a3cc83),
  2187. 32: uint32(0x676d5e2c),
  2188. 33: uint32(0x29e45585),
  2189. 34: uint32(0xfa7f497e),
  2190. 35: uint32(0xb4f642d7),
  2191. 36: uint32(0x863876c9),
  2192. 37: uint32(0xc8b17d60),
  2193. 38: uint32(0x1b2a619b),
  2194. 39: uint32(0x55a36a32),
  2195. 40: uint32(0x7eb609a7),
  2196. 41: uint32(0x303f020e),
  2197. 42: uint32(0xe3a41ef5),
  2198. 43: uint32(0xad2d155c),
  2199. 44: uint32(0x9fe32142),
  2200. 45: uint32(0xd16a2aeb),
  2201. 46: uint32(0x02f13610),
  2202. 47: uint32(0x4c783db9),
  2203. 48: uint32(0x54dbf13a),
  2204. 49: uint32(0x1a52fa93),
  2205. 50: uint32(0xc9c9e668),
  2206. 51: uint32(0x8740edc1),
  2207. 52: uint32(0xb58ed9df),
  2208. 53: uint32(0xfb07d276),
  2209. 54: uint32(0x289cce8d),
  2210. 55: uint32(0x6615c524),
  2211. 56: uint32(0x4d00a6b1),
  2212. 57: uint32(0x0389ad18),
  2213. 58: uint32(0xd012b1e3),
  2214. 59: uint32(0x9e9bba4a),
  2215. 60: uint32(0xac558e54),
  2216. 61: uint32(0xe2dc85fd),
  2217. 62: uint32(0x31479906),
  2218. 63: uint32(0x7fce92af),
  2219. 64: uint32(0xcedabc58),
  2220. 65: uint32(0x8053b7f1),
  2221. 66: uint32(0x53c8ab0a),
  2222. 67: uint32(0x1d41a0a3),
  2223. 68: uint32(0x2f8f94bd),
  2224. 69: uint32(0x61069f14),
  2225. 70: uint32(0xb29d83ef),
  2226. 71: uint32(0xfc148846),
  2227. 72: uint32(0xd701ebd3),
  2228. 73: uint32(0x9988e07a),
  2229. 74: uint32(0x4a13fc81),
  2230. 75: uint32(0x049af728),
  2231. 76: uint32(0x3654c336),
  2232. 77: uint32(0x78ddc89f),
  2233. 78: uint32(0xab46d464),
  2234. 79: uint32(0xe5cfdfcd),
  2235. 80: uint32(0xfd6c134e),
  2236. 81: uint32(0xb3e518e7),
  2237. 82: uint32(0x607e041c),
  2238. 83: uint32(0x2ef70fb5),
  2239. 84: uint32(0x1c393bab),
  2240. 85: uint32(0x52b03002),
  2241. 86: uint32(0x812b2cf9),
  2242. 87: uint32(0xcfa22750),
  2243. 88: uint32(0xe4b744c5),
  2244. 89: uint32(0xaa3e4f6c),
  2245. 90: uint32(0x79a55397),
  2246. 91: uint32(0x372c583e),
  2247. 92: uint32(0x05e26c20),
  2248. 93: uint32(0x4b6b6789),
  2249. 94: uint32(0x98f07b72),
  2250. 95: uint32(0xd67970db),
  2251. 96: uint32(0xa9b7e274),
  2252. 97: uint32(0xe73ee9dd),
  2253. 98: uint32(0x34a5f526),
  2254. 99: uint32(0x7a2cfe8f),
  2255. 100: uint32(0x48e2ca91),
  2256. 101: uint32(0x066bc138),
  2257. 102: uint32(0xd5f0ddc3),
  2258. 103: uint32(0x9b79d66a),
  2259. 104: uint32(0xb06cb5ff),
  2260. 105: uint32(0xfee5be56),
  2261. 106: uint32(0x2d7ea2ad),
  2262. 107: uint32(0x63f7a904),
  2263. 108: uint32(0x51399d1a),
  2264. 109: uint32(0x1fb096b3),
  2265. 110: uint32(0xcc2b8a48),
  2266. 111: uint32(0x82a281e1),
  2267. 112: uint32(0x9a014d62),
  2268. 113: uint32(0xd48846cb),
  2269. 114: uint32(0x07135a30),
  2270. 115: uint32(0x499a5199),
  2271. 116: uint32(0x7b546587),
  2272. 117: uint32(0x35dd6e2e),
  2273. 118: uint32(0xe64672d5),
  2274. 119: uint32(0xa8cf797c),
  2275. 120: uint32(0x83da1ae9),
  2276. 121: uint32(0xcd531140),
  2277. 122: uint32(0x1ec80dbb),
  2278. 123: uint32(0x50410612),
  2279. 124: uint32(0x628f320c),
  2280. 125: uint32(0x2c0639a5),
  2281. 126: uint32(0xff9d255e),
  2282. 127: uint32(0xb1142ef7),
  2283. 128: uint32(0x46c47ef1),
  2284. 129: uint32(0x084d7558),
  2285. 130: uint32(0xdbd669a3),
  2286. 131: uint32(0x955f620a),
  2287. 132: uint32(0xa7915614),
  2288. 133: uint32(0xe9185dbd),
  2289. 134: uint32(0x3a834146),
  2290. 135: uint32(0x740a4aef),
  2291. 136: uint32(0x5f1f297a),
  2292. 137: uint32(0x119622d3),
  2293. 138: uint32(0xc20d3e28),
  2294. 139: uint32(0x8c843581),
  2295. 140: uint32(0xbe4a019f),
  2296. 141: uint32(0xf0c30a36),
  2297. 142: uint32(0x235816cd),
  2298. 143: uint32(0x6dd11d64),
  2299. 144: uint32(0x7572d1e7),
  2300. 145: uint32(0x3bfbda4e),
  2301. 146: uint32(0xe860c6b5),
  2302. 147: uint32(0xa6e9cd1c),
  2303. 148: uint32(0x9427f902),
  2304. 149: uint32(0xdaaef2ab),
  2305. 150: uint32(0x0935ee50),
  2306. 151: uint32(0x47bce5f9),
  2307. 152: uint32(0x6ca9866c),
  2308. 153: uint32(0x22208dc5),
  2309. 154: uint32(0xf1bb913e),
  2310. 155: uint32(0xbf329a97),
  2311. 156: uint32(0x8dfcae89),
  2312. 157: uint32(0xc375a520),
  2313. 158: uint32(0x10eeb9db),
  2314. 159: uint32(0x5e67b272),
  2315. 160: uint32(0x21a920dd),
  2316. 161: uint32(0x6f202b74),
  2317. 162: uint32(0xbcbb378f),
  2318. 163: uint32(0xf2323c26),
  2319. 164: uint32(0xc0fc0838),
  2320. 165: uint32(0x8e750391),
  2321. 166: uint32(0x5dee1f6a),
  2322. 167: uint32(0x136714c3),
  2323. 168: uint32(0x38727756),
  2324. 169: uint32(0x76fb7cff),
  2325. 170: uint32(0xa5606004),
  2326. 171: uint32(0xebe96bad),
  2327. 172: uint32(0xd9275fb3),
  2328. 173: uint32(0x97ae541a),
  2329. 174: uint32(0x443548e1),
  2330. 175: uint32(0x0abc4348),
  2331. 176: uint32(0x121f8fcb),
  2332. 177: uint32(0x5c968462),
  2333. 178: uint32(0x8f0d9899),
  2334. 179: uint32(0xc1849330),
  2335. 180: uint32(0xf34aa72e),
  2336. 181: uint32(0xbdc3ac87),
  2337. 182: uint32(0x6e58b07c),
  2338. 183: uint32(0x20d1bbd5),
  2339. 184: uint32(0x0bc4d840),
  2340. 185: uint32(0x454dd3e9),
  2341. 186: uint32(0x96d6cf12),
  2342. 187: uint32(0xd85fc4bb),
  2343. 188: uint32(0xea91f0a5),
  2344. 189: uint32(0xa418fb0c),
  2345. 190: uint32(0x7783e7f7),
  2346. 191: uint32(0x390aec5e),
  2347. 192: uint32(0x881ec2a9),
  2348. 193: uint32(0xc697c900),
  2349. 194: uint32(0x150cd5fb),
  2350. 195: uint32(0x5b85de52),
  2351. 196: uint32(0x694bea4c),
  2352. 197: uint32(0x27c2e1e5),
  2353. 198: uint32(0xf459fd1e),
  2354. 199: uint32(0xbad0f6b7),
  2355. 200: uint32(0x91c59522),
  2356. 201: uint32(0xdf4c9e8b),
  2357. 202: uint32(0x0cd78270),
  2358. 203: uint32(0x425e89d9),
  2359. 204: uint32(0x7090bdc7),
  2360. 205: uint32(0x3e19b66e),
  2361. 206: uint32(0xed82aa95),
  2362. 207: uint32(0xa30ba13c),
  2363. 208: uint32(0xbba86dbf),
  2364. 209: uint32(0xf5216616),
  2365. 210: uint32(0x26ba7aed),
  2366. 211: uint32(0x68337144),
  2367. 212: uint32(0x5afd455a),
  2368. 213: uint32(0x14744ef3),
  2369. 214: uint32(0xc7ef5208),
  2370. 215: uint32(0x896659a1),
  2371. 216: uint32(0xa2733a34),
  2372. 217: uint32(0xecfa319d),
  2373. 218: uint32(0x3f612d66),
  2374. 219: uint32(0x71e826cf),
  2375. 220: uint32(0x432612d1),
  2376. 221: uint32(0x0daf1978),
  2377. 222: uint32(0xde340583),
  2378. 223: uint32(0x90bd0e2a),
  2379. 224: uint32(0xef739c85),
  2380. 225: uint32(0xa1fa972c),
  2381. 226: uint32(0x72618bd7),
  2382. 227: uint32(0x3ce8807e),
  2383. 228: uint32(0x0e26b460),
  2384. 229: uint32(0x40afbfc9),
  2385. 230: uint32(0x9334a332),
  2386. 231: uint32(0xddbda89b),
  2387. 232: uint32(0xf6a8cb0e),
  2388. 233: uint32(0xb821c0a7),
  2389. 234: uint32(0x6bbadc5c),
  2390. 235: uint32(0x2533d7f5),
  2391. 236: uint32(0x17fde3eb),
  2392. 237: uint32(0x5974e842),
  2393. 238: uint32(0x8aeff4b9),
  2394. 239: uint32(0xc466ff10),
  2395. 240: uint32(0xdcc53393),
  2396. 241: uint32(0x924c383a),
  2397. 242: uint32(0x41d724c1),
  2398. 243: uint32(0x0f5e2f68),
  2399. 244: uint32(0x3d901b76),
  2400. 245: uint32(0x731910df),
  2401. 246: uint32(0xa0820c24),
  2402. 247: uint32(0xee0b078d),
  2403. 248: uint32(0xc51e6418),
  2404. 249: uint32(0x8b976fb1),
  2405. 250: uint32(0x580c734a),
  2406. 251: uint32(0x168578e3),
  2407. 252: uint32(0x244b4cfd),
  2408. 253: uint32(0x6ac24754),
  2409. 254: uint32(0xb9595baf),
  2410. 255: uint32(0xf7d05006),
  2411. },
  2412. 2: {
  2413. 1: uint32(0x8d88fde2),
  2414. 2: uint32(0xc060fd85),
  2415. 3: uint32(0x4de80067),
  2416. 4: uint32(0x5bb0fd4b),
  2417. 5: uint32(0xd63800a9),
  2418. 6: uint32(0x9bd000ce),
  2419. 7: uint32(0x1658fd2c),
  2420. 8: uint32(0xb761fa96),
  2421. 9: uint32(0x3ae90774),
  2422. 10: uint32(0x77010713),
  2423. 11: uint32(0xfa89faf1),
  2424. 12: uint32(0xecd107dd),
  2425. 13: uint32(0x6159fa3f),
  2426. 14: uint32(0x2cb1fa58),
  2427. 15: uint32(0xa13907ba),
  2428. 16: uint32(0xb5b2f36d),
  2429. 17: uint32(0x383a0e8f),
  2430. 18: uint32(0x75d20ee8),
  2431. 19: uint32(0xf85af30a),
  2432. 20: uint32(0xee020e26),
  2433. 21: uint32(0x638af3c4),
  2434. 22: uint32(0x2e62f3a3),
  2435. 23: uint32(0xa3ea0e41),
  2436. 24: uint32(0x02d309fb),
  2437. 25: uint32(0x8f5bf419),
  2438. 26: uint32(0xc2b3f47e),
  2439. 27: uint32(0x4f3b099c),
  2440. 28: uint32(0x5963f4b0),
  2441. 29: uint32(0xd4eb0952),
  2442. 30: uint32(0x99030935),
  2443. 31: uint32(0x148bf4d7),
  2444. 32: uint32(0xb014e09b),
  2445. 33: uint32(0x3d9c1d79),
  2446. 34: uint32(0x70741d1e),
  2447. 35: uint32(0xfdfce0fc),
  2448. 36: uint32(0xeba41dd0),
  2449. 37: uint32(0x662ce032),
  2450. 38: uint32(0x2bc4e055),
  2451. 39: uint32(0xa64c1db7),
  2452. 40: uint32(0x07751a0d),
  2453. 41: uint32(0x8afde7ef),
  2454. 42: uint32(0xc715e788),
  2455. 43: uint32(0x4a9d1a6a),
  2456. 44: uint32(0x5cc5e746),
  2457. 45: uint32(0xd14d1aa4),
  2458. 46: uint32(0x9ca51ac3),
  2459. 47: uint32(0x112de721),
  2460. 48: uint32(0x05a613f6),
  2461. 49: uint32(0x882eee14),
  2462. 50: uint32(0xc5c6ee73),
  2463. 51: uint32(0x484e1391),
  2464. 52: uint32(0x5e16eebd),
  2465. 53: uint32(0xd39e135f),
  2466. 54: uint32(0x9e761338),
  2467. 55: uint32(0x13feeeda),
  2468. 56: uint32(0xb2c7e960),
  2469. 57: uint32(0x3f4f1482),
  2470. 58: uint32(0x72a714e5),
  2471. 59: uint32(0xff2fe907),
  2472. 60: uint32(0xe977142b),
  2473. 61: uint32(0x64ffe9c9),
  2474. 62: uint32(0x2917e9ae),
  2475. 63: uint32(0xa49f144c),
  2476. 64: uint32(0xbb58c777),
  2477. 65: uint32(0x36d03a95),
  2478. 66: uint32(0x7b383af2),
  2479. 67: uint32(0xf6b0c710),
  2480. 68: uint32(0xe0e83a3c),
  2481. 69: uint32(0x6d60c7de),
  2482. 70: uint32(0x2088c7b9),
  2483. 71: uint32(0xad003a5b),
  2484. 72: uint32(0x0c393de1),
  2485. 73: uint32(0x81b1c003),
  2486. 74: uint32(0xcc59c064),
  2487. 75: uint32(0x41d13d86),
  2488. 76: uint32(0x5789c0aa),
  2489. 77: uint32(0xda013d48),
  2490. 78: uint32(0x97e93d2f),
  2491. 79: uint32(0x1a61c0cd),
  2492. 80: uint32(0x0eea341a),
  2493. 81: uint32(0x8362c9f8),
  2494. 82: uint32(0xce8ac99f),
  2495. 83: uint32(0x4302347d),
  2496. 84: uint32(0x555ac951),
  2497. 85: uint32(0xd8d234b3),
  2498. 86: uint32(0x953a34d4),
  2499. 87: uint32(0x18b2c936),
  2500. 88: uint32(0xb98bce8c),
  2501. 89: uint32(0x3403336e),
  2502. 90: uint32(0x79eb3309),
  2503. 91: uint32(0xf463ceeb),
  2504. 92: uint32(0xe23b33c7),
  2505. 93: uint32(0x6fb3ce25),
  2506. 94: uint32(0x225bce42),
  2507. 95: uint32(0xafd333a0),
  2508. 96: uint32(0x0b4c27ec),
  2509. 97: uint32(0x86c4da0e),
  2510. 98: uint32(0xcb2cda69),
  2511. 99: uint32(0x46a4278b),
  2512. 100: uint32(0x50fcdaa7),
  2513. 101: uint32(0xdd742745),
  2514. 102: uint32(0x909c2722),
  2515. 103: uint32(0x1d14dac0),
  2516. 104: uint32(0xbc2ddd7a),
  2517. 105: uint32(0x31a52098),
  2518. 106: uint32(0x7c4d20ff),
  2519. 107: uint32(0xf1c5dd1d),
  2520. 108: uint32(0xe79d2031),
  2521. 109: uint32(0x6a15ddd3),
  2522. 110: uint32(0x27fdddb4),
  2523. 111: uint32(0xaa752056),
  2524. 112: uint32(0xbefed481),
  2525. 113: uint32(0x33762963),
  2526. 114: uint32(0x7e9e2904),
  2527. 115: uint32(0xf316d4e6),
  2528. 116: uint32(0xe54e29ca),
  2529. 117: uint32(0x68c6d428),
  2530. 118: uint32(0x252ed44f),
  2531. 119: uint32(0xa8a629ad),
  2532. 120: uint32(0x099f2e17),
  2533. 121: uint32(0x8417d3f5),
  2534. 122: uint32(0xc9ffd392),
  2535. 123: uint32(0x44772e70),
  2536. 124: uint32(0x522fd35c),
  2537. 125: uint32(0xdfa72ebe),
  2538. 126: uint32(0x924f2ed9),
  2539. 127: uint32(0x1fc7d33b),
  2540. 128: uint32(0xadc088af),
  2541. 129: uint32(0x2048754d),
  2542. 130: uint32(0x6da0752a),
  2543. 131: uint32(0xe02888c8),
  2544. 132: uint32(0xf67075e4),
  2545. 133: uint32(0x7bf88806),
  2546. 134: uint32(0x36108861),
  2547. 135: uint32(0xbb987583),
  2548. 136: uint32(0x1aa17239),
  2549. 137: uint32(0x97298fdb),
  2550. 138: uint32(0xdac18fbc),
  2551. 139: uint32(0x5749725e),
  2552. 140: uint32(0x41118f72),
  2553. 141: uint32(0xcc997290),
  2554. 142: uint32(0x817172f7),
  2555. 143: uint32(0x0cf98f15),
  2556. 144: uint32(0x18727bc2),
  2557. 145: uint32(0x95fa8620),
  2558. 146: uint32(0xd8128647),
  2559. 147: uint32(0x559a7ba5),
  2560. 148: uint32(0x43c28689),
  2561. 149: uint32(0xce4a7b6b),
  2562. 150: uint32(0x83a27b0c),
  2563. 151: uint32(0x0e2a86ee),
  2564. 152: uint32(0xaf138154),
  2565. 153: uint32(0x229b7cb6),
  2566. 154: uint32(0x6f737cd1),
  2567. 155: uint32(0xe2fb8133),
  2568. 156: uint32(0xf4a37c1f),
  2569. 157: uint32(0x792b81fd),
  2570. 158: uint32(0x34c3819a),
  2571. 159: uint32(0xb94b7c78),
  2572. 160: uint32(0x1dd46834),
  2573. 161: uint32(0x905c95d6),
  2574. 162: uint32(0xddb495b1),
  2575. 163: uint32(0x503c6853),
  2576. 164: uint32(0x4664957f),
  2577. 165: uint32(0xcbec689d),
  2578. 166: uint32(0x860468fa),
  2579. 167: uint32(0x0b8c9518),
  2580. 168: uint32(0xaab592a2),
  2581. 169: uint32(0x273d6f40),
  2582. 170: uint32(0x6ad56f27),
  2583. 171: uint32(0xe75d92c5),
  2584. 172: uint32(0xf1056fe9),
  2585. 173: uint32(0x7c8d920b),
  2586. 174: uint32(0x3165926c),
  2587. 175: uint32(0xbced6f8e),
  2588. 176: uint32(0xa8669b59),
  2589. 177: uint32(0x25ee66bb),
  2590. 178: uint32(0x680666dc),
  2591. 179: uint32(0xe58e9b3e),
  2592. 180: uint32(0xf3d66612),
  2593. 181: uint32(0x7e5e9bf0),
  2594. 182: uint32(0x33b69b97),
  2595. 183: uint32(0xbe3e6675),
  2596. 184: uint32(0x1f0761cf),
  2597. 185: uint32(0x928f9c2d),
  2598. 186: uint32(0xdf679c4a),
  2599. 187: uint32(0x52ef61a8),
  2600. 188: uint32(0x44b79c84),
  2601. 189: uint32(0xc93f6166),
  2602. 190: uint32(0x84d76101),
  2603. 191: uint32(0x095f9ce3),
  2604. 192: uint32(0x16984fd8),
  2605. 193: uint32(0x9b10b23a),
  2606. 194: uint32(0xd6f8b25d),
  2607. 195: uint32(0x5b704fbf),
  2608. 196: uint32(0x4d28b293),
  2609. 197: uint32(0xc0a04f71),
  2610. 198: uint32(0x8d484f16),
  2611. 199: uint32(0x00c0b2f4),
  2612. 200: uint32(0xa1f9b54e),
  2613. 201: uint32(0x2c7148ac),
  2614. 202: uint32(0x619948cb),
  2615. 203: uint32(0xec11b529),
  2616. 204: uint32(0xfa494805),
  2617. 205: uint32(0x77c1b5e7),
  2618. 206: uint32(0x3a29b580),
  2619. 207: uint32(0xb7a14862),
  2620. 208: uint32(0xa32abcb5),
  2621. 209: uint32(0x2ea24157),
  2622. 210: uint32(0x634a4130),
  2623. 211: uint32(0xeec2bcd2),
  2624. 212: uint32(0xf89a41fe),
  2625. 213: uint32(0x7512bc1c),
  2626. 214: uint32(0x38fabc7b),
  2627. 215: uint32(0xb5724199),
  2628. 216: uint32(0x144b4623),
  2629. 217: uint32(0x99c3bbc1),
  2630. 218: uint32(0xd42bbba6),
  2631. 219: uint32(0x59a34644),
  2632. 220: uint32(0x4ffbbb68),
  2633. 221: uint32(0xc273468a),
  2634. 222: uint32(0x8f9b46ed),
  2635. 223: uint32(0x0213bb0f),
  2636. 224: uint32(0xa68caf43),
  2637. 225: uint32(0x2b0452a1),
  2638. 226: uint32(0x66ec52c6),
  2639. 227: uint32(0xeb64af24),
  2640. 228: uint32(0xfd3c5208),
  2641. 229: uint32(0x70b4afea),
  2642. 230: uint32(0x3d5caf8d),
  2643. 231: uint32(0xb0d4526f),
  2644. 232: uint32(0x11ed55d5),
  2645. 233: uint32(0x9c65a837),
  2646. 234: uint32(0xd18da850),
  2647. 235: uint32(0x5c0555b2),
  2648. 236: uint32(0x4a5da89e),
  2649. 237: uint32(0xc7d5557c),
  2650. 238: uint32(0x8a3d551b),
  2651. 239: uint32(0x07b5a8f9),
  2652. 240: uint32(0x133e5c2e),
  2653. 241: uint32(0x9eb6a1cc),
  2654. 242: uint32(0xd35ea1ab),
  2655. 243: uint32(0x5ed65c49),
  2656. 244: uint32(0x488ea165),
  2657. 245: uint32(0xc5065c87),
  2658. 246: uint32(0x88ee5ce0),
  2659. 247: uint32(0x0566a102),
  2660. 248: uint32(0xa45fa6b8),
  2661. 249: uint32(0x29d75b5a),
  2662. 250: uint32(0x643f5b3d),
  2663. 251: uint32(0xe9b7a6df),
  2664. 252: uint32(0xffef5bf3),
  2665. 253: uint32(0x7267a611),
  2666. 254: uint32(0x3f8fa676),
  2667. 255: uint32(0xb2075b94),
  2668. },
  2669. 3: {
  2670. 1: uint32(0x80f0171f),
  2671. 2: uint32(0xda91287f),
  2672. 3: uint32(0x5a613f60),
  2673. 4: uint32(0x6e5356bf),
  2674. 5: uint32(0xeea341a0),
  2675. 6: uint32(0xb4c27ec0),
  2676. 7: uint32(0x343269df),
  2677. 8: uint32(0xdca6ad7e),
  2678. 9: uint32(0x5c56ba61),
  2679. 10: uint32(0x06378501),
  2680. 11: uint32(0x86c7921e),
  2681. 12: uint32(0xb2f5fbc1),
  2682. 13: uint32(0x3205ecde),
  2683. 14: uint32(0x6864d3be),
  2684. 15: uint32(0xe894c4a1),
  2685. 16: uint32(0x623c5cbd),
  2686. 17: uint32(0xe2cc4ba2),
  2687. 18: uint32(0xb8ad74c2),
  2688. 19: uint32(0x385d63dd),
  2689. 20: uint32(0x0c6f0a02),
  2690. 21: uint32(0x8c9f1d1d),
  2691. 22: uint32(0xd6fe227d),
  2692. 23: uint32(0x560e3562),
  2693. 24: uint32(0xbe9af1c3),
  2694. 25: uint32(0x3e6ae6dc),
  2695. 26: uint32(0x640bd9bc),
  2696. 27: uint32(0xe4fbcea3),
  2697. 28: uint32(0xd0c9a77c),
  2698. 29: uint32(0x5039b063),
  2699. 30: uint32(0x0a588f03),
  2700. 31: uint32(0x8aa8981c),
  2701. 32: uint32(0xc478b97a),
  2702. 33: uint32(0x4488ae65),
  2703. 34: uint32(0x1ee99105),
  2704. 35: uint32(0x9e19861a),
  2705. 36: uint32(0xaa2befc5),
  2706. 37: uint32(0x2adbf8da),
  2707. 38: uint32(0x70bac7ba),
  2708. 39: uint32(0xf04ad0a5),
  2709. 40: uint32(0x18de1404),
  2710. 41: uint32(0x982e031b),
  2711. 42: uint32(0xc24f3c7b),
  2712. 43: uint32(0x42bf2b64),
  2713. 44: uint32(0x768d42bb),
  2714. 45: uint32(0xf67d55a4),
  2715. 46: uint32(0xac1c6ac4),
  2716. 47: uint32(0x2cec7ddb),
  2717. 48: uint32(0xa644e5c7),
  2718. 49: uint32(0x26b4f2d8),
  2719. 50: uint32(0x7cd5cdb8),
  2720. 51: uint32(0xfc25daa7),
  2721. 52: uint32(0xc817b378),
  2722. 53: uint32(0x48e7a467),
  2723. 54: uint32(0x12869b07),
  2724. 55: uint32(0x92768c18),
  2725. 56: uint32(0x7ae248b9),
  2726. 57: uint32(0xfa125fa6),
  2727. 58: uint32(0xa07360c6),
  2728. 59: uint32(0x208377d9),
  2729. 60: uint32(0x14b11e06),
  2730. 61: uint32(0x94410919),
  2731. 62: uint32(0xce203679),
  2732. 63: uint32(0x4ed02166),
  2733. 64: uint32(0x538074b5),
  2734. 65: uint32(0xd37063aa),
  2735. 66: uint32(0x89115cca),
  2736. 67: uint32(0x09e14bd5),
  2737. 68: uint32(0x3dd3220a),
  2738. 69: uint32(0xbd233515),
  2739. 70: uint32(0xe7420a75),
  2740. 71: uint32(0x67b21d6a),
  2741. 72: uint32(0x8f26d9cb),
  2742. 73: uint32(0x0fd6ced4),
  2743. 74: uint32(0x55b7f1b4),
  2744. 75: uint32(0xd547e6ab),
  2745. 76: uint32(0xe1758f74),
  2746. 77: uint32(0x6185986b),
  2747. 78: uint32(0x3be4a70b),
  2748. 79: uint32(0xbb14b014),
  2749. 80: uint32(0x31bc2808),
  2750. 81: uint32(0xb14c3f17),
  2751. 82: uint32(0xeb2d0077),
  2752. 83: uint32(0x6bdd1768),
  2753. 84: uint32(0x5fef7eb7),
  2754. 85: uint32(0xdf1f69a8),
  2755. 86: uint32(0x857e56c8),
  2756. 87: uint32(0x058e41d7),
  2757. 88: uint32(0xed1a8576),
  2758. 89: uint32(0x6dea9269),
  2759. 90: uint32(0x378bad09),
  2760. 91: uint32(0xb77bba16),
  2761. 92: uint32(0x8349d3c9),
  2762. 93: uint32(0x03b9c4d6),
  2763. 94: uint32(0x59d8fbb6),
  2764. 95: uint32(0xd928eca9),
  2765. 96: uint32(0x97f8cdcf),
  2766. 97: uint32(0x1708dad0),
  2767. 98: uint32(0x4d69e5b0),
  2768. 99: uint32(0xcd99f2af),
  2769. 100: uint32(0xf9ab9b70),
  2770. 101: uint32(0x795b8c6f),
  2771. 102: uint32(0x233ab30f),
  2772. 103: uint32(0xa3caa410),
  2773. 104: uint32(0x4b5e60b1),
  2774. 105: uint32(0xcbae77ae),
  2775. 106: uint32(0x91cf48ce),
  2776. 107: uint32(0x113f5fd1),
  2777. 108: uint32(0x250d360e),
  2778. 109: uint32(0xa5fd2111),
  2779. 110: uint32(0xff9c1e71),
  2780. 111: uint32(0x7f6c096e),
  2781. 112: uint32(0xf5c49172),
  2782. 113: uint32(0x7534866d),
  2783. 114: uint32(0x2f55b90d),
  2784. 115: uint32(0xafa5ae12),
  2785. 116: uint32(0x9b97c7cd),
  2786. 117: uint32(0x1b67d0d2),
  2787. 118: uint32(0x4106efb2),
  2788. 119: uint32(0xc1f6f8ad),
  2789. 120: uint32(0x29623c0c),
  2790. 121: uint32(0xa9922b13),
  2791. 122: uint32(0xf3f31473),
  2792. 123: uint32(0x7303036c),
  2793. 124: uint32(0x47316ab3),
  2794. 125: uint32(0xc7c17dac),
  2795. 126: uint32(0x9da042cc),
  2796. 127: uint32(0x1d5055d3),
  2797. 128: uint32(0xa700e96a),
  2798. 129: uint32(0x27f0fe75),
  2799. 130: uint32(0x7d91c115),
  2800. 131: uint32(0xfd61d60a),
  2801. 132: uint32(0xc953bfd5),
  2802. 133: uint32(0x49a3a8ca),
  2803. 134: uint32(0x13c297aa),
  2804. 135: uint32(0x933280b5),
  2805. 136: uint32(0x7ba64414),
  2806. 137: uint32(0xfb56530b),
  2807. 138: uint32(0xa1376c6b),
  2808. 139: uint32(0x21c77b74),
  2809. 140: uint32(0x15f512ab),
  2810. 141: uint32(0x950505b4),
  2811. 142: uint32(0xcf643ad4),
  2812. 143: uint32(0x4f942dcb),
  2813. 144: uint32(0xc53cb5d7),
  2814. 145: uint32(0x45cca2c8),
  2815. 146: uint32(0x1fad9da8),
  2816. 147: uint32(0x9f5d8ab7),
  2817. 148: uint32(0xab6fe368),
  2818. 149: uint32(0x2b9ff477),
  2819. 150: uint32(0x71fecb17),
  2820. 151: uint32(0xf10edc08),
  2821. 152: uint32(0x199a18a9),
  2822. 153: uint32(0x996a0fb6),
  2823. 154: uint32(0xc30b30d6),
  2824. 155: uint32(0x43fb27c9),
  2825. 156: uint32(0x77c94e16),
  2826. 157: uint32(0xf7395909),
  2827. 158: uint32(0xad586669),
  2828. 159: uint32(0x2da87176),
  2829. 160: uint32(0x63785010),
  2830. 161: uint32(0xe388470f),
  2831. 162: uint32(0xb9e9786f),
  2832. 163: uint32(0x39196f70),
  2833. 164: uint32(0x0d2b06af),
  2834. 165: uint32(0x8ddb11b0),
  2835. 166: uint32(0xd7ba2ed0),
  2836. 167: uint32(0x574a39cf),
  2837. 168: uint32(0xbfdefd6e),
  2838. 169: uint32(0x3f2eea71),
  2839. 170: uint32(0x654fd511),
  2840. 171: uint32(0xe5bfc20e),
  2841. 172: uint32(0xd18dabd1),
  2842. 173: uint32(0x517dbcce),
  2843. 174: uint32(0x0b1c83ae),
  2844. 175: uint32(0x8bec94b1),
  2845. 176: uint32(0x01440cad),
  2846. 177: uint32(0x81b41bb2),
  2847. 178: uint32(0xdbd524d2),
  2848. 179: uint32(0x5b2533cd),
  2849. 180: uint32(0x6f175a12),
  2850. 181: uint32(0xefe74d0d),
  2851. 182: uint32(0xb586726d),
  2852. 183: uint32(0x35766572),
  2853. 184: uint32(0xdde2a1d3),
  2854. 185: uint32(0x5d12b6cc),
  2855. 186: uint32(0x077389ac),
  2856. 187: uint32(0x87839eb3),
  2857. 188: uint32(0xb3b1f76c),
  2858. 189: uint32(0x3341e073),
  2859. 190: uint32(0x6920df13),
  2860. 191: uint32(0xe9d0c80c),
  2861. 192: uint32(0xf4809ddf),
  2862. 193: uint32(0x74708ac0),
  2863. 194: uint32(0x2e11b5a0),
  2864. 195: uint32(0xaee1a2bf),
  2865. 196: uint32(0x9ad3cb60),
  2866. 197: uint32(0x1a23dc7f),
  2867. 198: uint32(0x4042e31f),
  2868. 199: uint32(0xc0b2f400),
  2869. 200: uint32(0x282630a1),
  2870. 201: uint32(0xa8d627be),
  2871. 202: uint32(0xf2b718de),
  2872. 203: uint32(0x72470fc1),
  2873. 204: uint32(0x4675661e),
  2874. 205: uint32(0xc6857101),
  2875. 206: uint32(0x9ce44e61),
  2876. 207: uint32(0x1c14597e),
  2877. 208: uint32(0x96bcc162),
  2878. 209: uint32(0x164cd67d),
  2879. 210: uint32(0x4c2de91d),
  2880. 211: uint32(0xccddfe02),
  2881. 212: uint32(0xf8ef97dd),
  2882. 213: uint32(0x781f80c2),
  2883. 214: uint32(0x227ebfa2),
  2884. 215: uint32(0xa28ea8bd),
  2885. 216: uint32(0x4a1a6c1c),
  2886. 217: uint32(0xcaea7b03),
  2887. 218: uint32(0x908b4463),
  2888. 219: uint32(0x107b537c),
  2889. 220: uint32(0x24493aa3),
  2890. 221: uint32(0xa4b92dbc),
  2891. 222: uint32(0xfed812dc),
  2892. 223: uint32(0x7e2805c3),
  2893. 224: uint32(0x30f824a5),
  2894. 225: uint32(0xb00833ba),
  2895. 226: uint32(0xea690cda),
  2896. 227: uint32(0x6a991bc5),
  2897. 228: uint32(0x5eab721a),
  2898. 229: uint32(0xde5b6505),
  2899. 230: uint32(0x843a5a65),
  2900. 231: uint32(0x04ca4d7a),
  2901. 232: uint32(0xec5e89db),
  2902. 233: uint32(0x6cae9ec4),
  2903. 234: uint32(0x36cfa1a4),
  2904. 235: uint32(0xb63fb6bb),
  2905. 236: uint32(0x820ddf64),
  2906. 237: uint32(0x02fdc87b),
  2907. 238: uint32(0x589cf71b),
  2908. 239: uint32(0xd86ce004),
  2909. 240: uint32(0x52c47818),
  2910. 241: uint32(0xd2346f07),
  2911. 242: uint32(0x88555067),
  2912. 243: uint32(0x08a54778),
  2913. 244: uint32(0x3c972ea7),
  2914. 245: uint32(0xbc6739b8),
  2915. 246: uint32(0xe60606d8),
  2916. 247: uint32(0x66f611c7),
  2917. 248: uint32(0x8e62d566),
  2918. 249: uint32(0x0e92c279),
  2919. 250: uint32(0x54f3fd19),
  2920. 251: uint32(0xd403ea06),
  2921. 252: uint32(0xe03183d9),
  2922. 253: uint32(0x60c194c6),
  2923. 254: uint32(0x3aa0aba6),
  2924. 255: uint32(0xba50bcb9),
  2925. },
  2926. 4: {
  2927. 1: uint32(0x9570d495),
  2928. 2: uint32(0xf190af6b),
  2929. 3: uint32(0x64e07bfe),
  2930. 4: uint32(0x38505897),
  2931. 5: uint32(0xad208c02),
  2932. 6: uint32(0xc9c0f7fc),
  2933. 7: uint32(0x5cb02369),
  2934. 8: uint32(0x70a0b12e),
  2935. 9: uint32(0xe5d065bb),
  2936. 10: uint32(0x81301e45),
  2937. 11: uint32(0x1440cad0),
  2938. 12: uint32(0x48f0e9b9),
  2939. 13: uint32(0xdd803d2c),
  2940. 14: uint32(0xb96046d2),
  2941. 15: uint32(0x2c109247),
  2942. 16: uint32(0xe141625c),
  2943. 17: uint32(0x7431b6c9),
  2944. 18: uint32(0x10d1cd37),
  2945. 19: uint32(0x85a119a2),
  2946. 20: uint32(0xd9113acb),
  2947. 21: uint32(0x4c61ee5e),
  2948. 22: uint32(0x288195a0),
  2949. 23: uint32(0xbdf14135),
  2950. 24: uint32(0x91e1d372),
  2951. 25: uint32(0x049107e7),
  2952. 26: uint32(0x60717c19),
  2953. 27: uint32(0xf501a88c),
  2954. 28: uint32(0xa9b18be5),
  2955. 29: uint32(0x3cc15f70),
  2956. 30: uint32(0x5821248e),
  2957. 31: uint32(0xcd51f01b),
  2958. 32: uint32(0x19f3c2f9),
  2959. 33: uint32(0x8c83166c),
  2960. 34: uint32(0xe8636d92),
  2961. 35: uint32(0x7d13b907),
  2962. 36: uint32(0x21a39a6e),
  2963. 37: uint32(0xb4d34efb),
  2964. 38: uint32(0xd0333505),
  2965. 39: uint32(0x4543e190),
  2966. 40: uint32(0x695373d7),
  2967. 41: uint32(0xfc23a742),
  2968. 42: uint32(0x98c3dcbc),
  2969. 43: uint32(0x0db30829),
  2970. 44: uint32(0x51032b40),
  2971. 45: uint32(0xc473ffd5),
  2972. 46: uint32(0xa093842b),
  2973. 47: uint32(0x35e350be),
  2974. 48: uint32(0xf8b2a0a5),
  2975. 49: uint32(0x6dc27430),
  2976. 50: uint32(0x09220fce),
  2977. 51: uint32(0x9c52db5b),
  2978. 52: uint32(0xc0e2f832),
  2979. 53: uint32(0x55922ca7),
  2980. 54: uint32(0x31725759),
  2981. 55: uint32(0xa40283cc),
  2982. 56: uint32(0x8812118b),
  2983. 57: uint32(0x1d62c51e),
  2984. 58: uint32(0x7982bee0),
  2985. 59: uint32(0xecf26a75),
  2986. 60: uint32(0xb042491c),
  2987. 61: uint32(0x25329d89),
  2988. 62: uint32(0x41d2e677),
  2989. 63: uint32(0xd4a232e2),
  2990. 64: uint32(0x33e785f2),
  2991. 65: uint32(0xa6975167),
  2992. 66: uint32(0xc2772a99),
  2993. 67: uint32(0x5707fe0c),
  2994. 68: uint32(0x0bb7dd65),
  2995. 69: uint32(0x9ec709f0),
  2996. 70: uint32(0xfa27720e),
  2997. 71: uint32(0x6f57a69b),
  2998. 72: uint32(0x434734dc),
  2999. 73: uint32(0xd637e049),
  3000. 74: uint32(0xb2d79bb7),
  3001. 75: uint32(0x27a74f22),
  3002. 76: uint32(0x7b176c4b),
  3003. 77: uint32(0xee67b8de),
  3004. 78: uint32(0x8a87c320),
  3005. 79: uint32(0x1ff717b5),
  3006. 80: uint32(0xd2a6e7ae),
  3007. 81: uint32(0x47d6333b),
  3008. 82: uint32(0x233648c5),
  3009. 83: uint32(0xb6469c50),
  3010. 84: uint32(0xeaf6bf39),
  3011. 85: uint32(0x7f866bac),
  3012. 86: uint32(0x1b661052),
  3013. 87: uint32(0x8e16c4c7),
  3014. 88: uint32(0xa2065680),
  3015. 89: uint32(0x37768215),
  3016. 90: uint32(0x5396f9eb),
  3017. 91: uint32(0xc6e62d7e),
  3018. 92: uint32(0x9a560e17),
  3019. 93: uint32(0x0f26da82),
  3020. 94: uint32(0x6bc6a17c),
  3021. 95: uint32(0xfeb675e9),
  3022. 96: uint32(0x2a14470b),
  3023. 97: uint32(0xbf64939e),
  3024. 98: uint32(0xdb84e860),
  3025. 99: uint32(0x4ef43cf5),
  3026. 100: uint32(0x12441f9c),
  3027. 101: uint32(0x8734cb09),
  3028. 102: uint32(0xe3d4b0f7),
  3029. 103: uint32(0x76a46462),
  3030. 104: uint32(0x5ab4f625),
  3031. 105: uint32(0xcfc422b0),
  3032. 106: uint32(0xab24594e),
  3033. 107: uint32(0x3e548ddb),
  3034. 108: uint32(0x62e4aeb2),
  3035. 109: uint32(0xf7947a27),
  3036. 110: uint32(0x937401d9),
  3037. 111: uint32(0x0604d54c),
  3038. 112: uint32(0xcb552557),
  3039. 113: uint32(0x5e25f1c2),
  3040. 114: uint32(0x3ac58a3c),
  3041. 115: uint32(0xafb55ea9),
  3042. 116: uint32(0xf3057dc0),
  3043. 117: uint32(0x6675a955),
  3044. 118: uint32(0x0295d2ab),
  3045. 119: uint32(0x97e5063e),
  3046. 120: uint32(0xbbf59479),
  3047. 121: uint32(0x2e8540ec),
  3048. 122: uint32(0x4a653b12),
  3049. 123: uint32(0xdf15ef87),
  3050. 124: uint32(0x83a5ccee),
  3051. 125: uint32(0x16d5187b),
  3052. 126: uint32(0x72356385),
  3053. 127: uint32(0xe745b710),
  3054. 128: uint32(0x67cf0be4),
  3055. 129: uint32(0xf2bfdf71),
  3056. 130: uint32(0x965fa48f),
  3057. 131: uint32(0x032f701a),
  3058. 132: uint32(0x5f9f5373),
  3059. 133: uint32(0xcaef87e6),
  3060. 134: uint32(0xae0ffc18),
  3061. 135: uint32(0x3b7f288d),
  3062. 136: uint32(0x176fbaca),
  3063. 137: uint32(0x821f6e5f),
  3064. 138: uint32(0xe6ff15a1),
  3065. 139: uint32(0x738fc134),
  3066. 140: uint32(0x2f3fe25d),
  3067. 141: uint32(0xba4f36c8),
  3068. 142: uint32(0xdeaf4d36),
  3069. 143: uint32(0x4bdf99a3),
  3070. 144: uint32(0x868e69b8),
  3071. 145: uint32(0x13febd2d),
  3072. 146: uint32(0x771ec6d3),
  3073. 147: uint32(0xe26e1246),
  3074. 148: uint32(0xbede312f),
  3075. 149: uint32(0x2baee5ba),
  3076. 150: uint32(0x4f4e9e44),
  3077. 151: uint32(0xda3e4ad1),
  3078. 152: uint32(0xf62ed896),
  3079. 153: uint32(0x635e0c03),
  3080. 154: uint32(0x07be77fd),
  3081. 155: uint32(0x92cea368),
  3082. 156: uint32(0xce7e8001),
  3083. 157: uint32(0x5b0e5494),
  3084. 158: uint32(0x3fee2f6a),
  3085. 159: uint32(0xaa9efbff),
  3086. 160: uint32(0x7e3cc91d),
  3087. 161: uint32(0xeb4c1d88),
  3088. 162: uint32(0x8fac6676),
  3089. 163: uint32(0x1adcb2e3),
  3090. 164: uint32(0x466c918a),
  3091. 165: uint32(0xd31c451f),
  3092. 166: uint32(0xb7fc3ee1),
  3093. 167: uint32(0x228cea74),
  3094. 168: uint32(0x0e9c7833),
  3095. 169: uint32(0x9becaca6),
  3096. 170: uint32(0xff0cd758),
  3097. 171: uint32(0x6a7c03cd),
  3098. 172: uint32(0x36cc20a4),
  3099. 173: uint32(0xa3bcf431),
  3100. 174: uint32(0xc75c8fcf),
  3101. 175: uint32(0x522c5b5a),
  3102. 176: uint32(0x9f7dab41),
  3103. 177: uint32(0x0a0d7fd4),
  3104. 178: uint32(0x6eed042a),
  3105. 179: uint32(0xfb9dd0bf),
  3106. 180: uint32(0xa72df3d6),
  3107. 181: uint32(0x325d2743),
  3108. 182: uint32(0x56bd5cbd),
  3109. 183: uint32(0xc3cd8828),
  3110. 184: uint32(0xefdd1a6f),
  3111. 185: uint32(0x7aadcefa),
  3112. 186: uint32(0x1e4db504),
  3113. 187: uint32(0x8b3d6191),
  3114. 188: uint32(0xd78d42f8),
  3115. 189: uint32(0x42fd966d),
  3116. 190: uint32(0x261ded93),
  3117. 191: uint32(0xb36d3906),
  3118. 192: uint32(0x54288e16),
  3119. 193: uint32(0xc1585a83),
  3120. 194: uint32(0xa5b8217d),
  3121. 195: uint32(0x30c8f5e8),
  3122. 196: uint32(0x6c78d681),
  3123. 197: uint32(0xf9080214),
  3124. 198: uint32(0x9de879ea),
  3125. 199: uint32(0x0898ad7f),
  3126. 200: uint32(0x24883f38),
  3127. 201: uint32(0xb1f8ebad),
  3128. 202: uint32(0xd5189053),
  3129. 203: uint32(0x406844c6),
  3130. 204: uint32(0x1cd867af),
  3131. 205: uint32(0x89a8b33a),
  3132. 206: uint32(0xed48c8c4),
  3133. 207: uint32(0x78381c51),
  3134. 208: uint32(0xb569ec4a),
  3135. 209: uint32(0x201938df),
  3136. 210: uint32(0x44f94321),
  3137. 211: uint32(0xd18997b4),
  3138. 212: uint32(0x8d39b4dd),
  3139. 213: uint32(0x18496048),
  3140. 214: uint32(0x7ca91bb6),
  3141. 215: uint32(0xe9d9cf23),
  3142. 216: uint32(0xc5c95d64),
  3143. 217: uint32(0x50b989f1),
  3144. 218: uint32(0x3459f20f),
  3145. 219: uint32(0xa129269a),
  3146. 220: uint32(0xfd9905f3),
  3147. 221: uint32(0x68e9d166),
  3148. 222: uint32(0x0c09aa98),
  3149. 223: uint32(0x99797e0d),
  3150. 224: uint32(0x4ddb4cef),
  3151. 225: uint32(0xd8ab987a),
  3152. 226: uint32(0xbc4be384),
  3153. 227: uint32(0x293b3711),
  3154. 228: uint32(0x758b1478),
  3155. 229: uint32(0xe0fbc0ed),
  3156. 230: uint32(0x841bbb13),
  3157. 231: uint32(0x116b6f86),
  3158. 232: uint32(0x3d7bfdc1),
  3159. 233: uint32(0xa80b2954),
  3160. 234: uint32(0xcceb52aa),
  3161. 235: uint32(0x599b863f),
  3162. 236: uint32(0x052ba556),
  3163. 237: uint32(0x905b71c3),
  3164. 238: uint32(0xf4bb0a3d),
  3165. 239: uint32(0x61cbdea8),
  3166. 240: uint32(0xac9a2eb3),
  3167. 241: uint32(0x39eafa26),
  3168. 242: uint32(0x5d0a81d8),
  3169. 243: uint32(0xc87a554d),
  3170. 244: uint32(0x94ca7624),
  3171. 245: uint32(0x01baa2b1),
  3172. 246: uint32(0x655ad94f),
  3173. 247: uint32(0xf02a0dda),
  3174. 248: uint32(0xdc3a9f9d),
  3175. 249: uint32(0x494a4b08),
  3176. 250: uint32(0x2daa30f6),
  3177. 251: uint32(0xb8dae463),
  3178. 252: uint32(0xe46ac70a),
  3179. 253: uint32(0x711a139f),
  3180. 254: uint32(0x15fa6861),
  3181. 255: uint32(0x808abcf4),
  3182. },
  3183. 5: {
  3184. 1: uint32(0xcf9e17c8),
  3185. 2: uint32(0x444d29d1),
  3186. 3: uint32(0x8bd33e19),
  3187. 4: uint32(0x889a53a2),
  3188. 5: uint32(0x4704446a),
  3189. 6: uint32(0xccd77a73),
  3190. 7: uint32(0x03496dbb),
  3191. 8: uint32(0xca45a105),
  3192. 9: uint32(0x05dbb6cd),
  3193. 10: uint32(0x8e0888d4),
  3194. 11: uint32(0x41969f1c),
  3195. 12: uint32(0x42dff2a7),
  3196. 13: uint32(0x8d41e56f),
  3197. 14: uint32(0x0692db76),
  3198. 15: uint32(0xc90cccbe),
  3199. 16: uint32(0x4ffa444b),
  3200. 17: uint32(0x80645383),
  3201. 18: uint32(0x0bb76d9a),
  3202. 19: uint32(0xc4297a52),
  3203. 20: uint32(0xc76017e9),
  3204. 21: uint32(0x08fe0021),
  3205. 22: uint32(0x832d3e38),
  3206. 23: uint32(0x4cb329f0),
  3207. 24: uint32(0x85bfe54e),
  3208. 25: uint32(0x4a21f286),
  3209. 26: uint32(0xc1f2cc9f),
  3210. 27: uint32(0x0e6cdb57),
  3211. 28: uint32(0x0d25b6ec),
  3212. 29: uint32(0xc2bba124),
  3213. 30: uint32(0x49689f3d),
  3214. 31: uint32(0x86f688f5),
  3215. 32: uint32(0x9ff48896),
  3216. 33: uint32(0x506a9f5e),
  3217. 34: uint32(0xdbb9a147),
  3218. 35: uint32(0x1427b68f),
  3219. 36: uint32(0x176edb34),
  3220. 37: uint32(0xd8f0ccfc),
  3221. 38: uint32(0x5323f2e5),
  3222. 39: uint32(0x9cbde52d),
  3223. 40: uint32(0x55b12993),
  3224. 41: uint32(0x9a2f3e5b),
  3225. 42: uint32(0x11fc0042),
  3226. 43: uint32(0xde62178a),
  3227. 44: uint32(0xdd2b7a31),
  3228. 45: uint32(0x12b56df9),
  3229. 46: uint32(0x996653e0),
  3230. 47: uint32(0x56f84428),
  3231. 48: uint32(0xd00eccdd),
  3232. 49: uint32(0x1f90db15),
  3233. 50: uint32(0x9443e50c),
  3234. 51: uint32(0x5bddf2c4),
  3235. 52: uint32(0x58949f7f),
  3236. 53: uint32(0x970a88b7),
  3237. 54: uint32(0x1cd9b6ae),
  3238. 55: uint32(0xd347a166),
  3239. 56: uint32(0x1a4b6dd8),
  3240. 57: uint32(0xd5d57a10),
  3241. 58: uint32(0x5e064409),
  3242. 59: uint32(0x919853c1),
  3243. 60: uint32(0x92d13e7a),
  3244. 61: uint32(0x5d4f29b2),
  3245. 62: uint32(0xd69c17ab),
  3246. 63: uint32(0x19020063),
  3247. 64: uint32(0xe498176d),
  3248. 65: uint32(0x2b0600a5),
  3249. 66: uint32(0xa0d53ebc),
  3250. 67: uint32(0x6f4b2974),
  3251. 68: uint32(0x6c0244cf),
  3252. 69: uint32(0xa39c5307),
  3253. 70: uint32(0x284f6d1e),
  3254. 71: uint32(0xe7d17ad6),
  3255. 72: uint32(0x2eddb668),
  3256. 73: uint32(0xe143a1a0),
  3257. 74: uint32(0x6a909fb9),
  3258. 75: uint32(0xa50e8871),
  3259. 76: uint32(0xa647e5ca),
  3260. 77: uint32(0x69d9f202),
  3261. 78: uint32(0xe20acc1b),
  3262. 79: uint32(0x2d94dbd3),
  3263. 80: uint32(0xab625326),
  3264. 81: uint32(0x64fc44ee),
  3265. 82: uint32(0xef2f7af7),
  3266. 83: uint32(0x20b16d3f),
  3267. 84: uint32(0x23f80084),
  3268. 85: uint32(0xec66174c),
  3269. 86: uint32(0x67b52955),
  3270. 87: uint32(0xa82b3e9d),
  3271. 88: uint32(0x6127f223),
  3272. 89: uint32(0xaeb9e5eb),
  3273. 90: uint32(0x256adbf2),
  3274. 91: uint32(0xeaf4cc3a),
  3275. 92: uint32(0xe9bda181),
  3276. 93: uint32(0x2623b649),
  3277. 94: uint32(0xadf08850),
  3278. 95: uint32(0x626e9f98),
  3279. 96: uint32(0x7b6c9ffb),
  3280. 97: uint32(0xb4f28833),
  3281. 98: uint32(0x3f21b62a),
  3282. 99: uint32(0xf0bfa1e2),
  3283. 100: uint32(0xf3f6cc59),
  3284. 101: uint32(0x3c68db91),
  3285. 102: uint32(0xb7bbe588),
  3286. 103: uint32(0x7825f240),
  3287. 104: uint32(0xb1293efe),
  3288. 105: uint32(0x7eb72936),
  3289. 106: uint32(0xf564172f),
  3290. 107: uint32(0x3afa00e7),
  3291. 108: uint32(0x39b36d5c),
  3292. 109: uint32(0xf62d7a94),
  3293. 110: uint32(0x7dfe448d),
  3294. 111: uint32(0xb2605345),
  3295. 112: uint32(0x3496dbb0),
  3296. 113: uint32(0xfb08cc78),
  3297. 114: uint32(0x70dbf261),
  3298. 115: uint32(0xbf45e5a9),
  3299. 116: uint32(0xbc0c8812),
  3300. 117: uint32(0x73929fda),
  3301. 118: uint32(0xf841a1c3),
  3302. 119: uint32(0x37dfb60b),
  3303. 120: uint32(0xfed37ab5),
  3304. 121: uint32(0x314d6d7d),
  3305. 122: uint32(0xba9e5364),
  3306. 123: uint32(0x750044ac),
  3307. 124: uint32(0x76492917),
  3308. 125: uint32(0xb9d73edf),
  3309. 126: uint32(0x320400c6),
  3310. 127: uint32(0xfd9a170e),
  3311. 128: uint32(0x1241289b),
  3312. 129: uint32(0xdddf3f53),
  3313. 130: uint32(0x560c014a),
  3314. 131: uint32(0x99921682),
  3315. 132: uint32(0x9adb7b39),
  3316. 133: uint32(0x55456cf1),
  3317. 134: uint32(0xde9652e8),
  3318. 135: uint32(0x11084520),
  3319. 136: uint32(0xd804899e),
  3320. 137: uint32(0x179a9e56),
  3321. 138: uint32(0x9c49a04f),
  3322. 139: uint32(0x53d7b787),
  3323. 140: uint32(0x509eda3c),
  3324. 141: uint32(0x9f00cdf4),
  3325. 142: uint32(0x14d3f3ed),
  3326. 143: uint32(0xdb4de425),
  3327. 144: uint32(0x5dbb6cd0),
  3328. 145: uint32(0x92257b18),
  3329. 146: uint32(0x19f64501),
  3330. 147: uint32(0xd66852c9),
  3331. 148: uint32(0xd5213f72),
  3332. 149: uint32(0x1abf28ba),
  3333. 150: uint32(0x916c16a3),
  3334. 151: uint32(0x5ef2016b),
  3335. 152: uint32(0x97fecdd5),
  3336. 153: uint32(0x5860da1d),
  3337. 154: uint32(0xd3b3e404),
  3338. 155: uint32(0x1c2df3cc),
  3339. 156: uint32(0x1f649e77),
  3340. 157: uint32(0xd0fa89bf),
  3341. 158: uint32(0x5b29b7a6),
  3342. 159: uint32(0x94b7a06e),
  3343. 160: uint32(0x8db5a00d),
  3344. 161: uint32(0x422bb7c5),
  3345. 162: uint32(0xc9f889dc),
  3346. 163: uint32(0x06669e14),
  3347. 164: uint32(0x052ff3af),
  3348. 165: uint32(0xcab1e467),
  3349. 166: uint32(0x4162da7e),
  3350. 167: uint32(0x8efccdb6),
  3351. 168: uint32(0x47f00108),
  3352. 169: uint32(0x886e16c0),
  3353. 170: uint32(0x03bd28d9),
  3354. 171: uint32(0xcc233f11),
  3355. 172: uint32(0xcf6a52aa),
  3356. 173: uint32(0x00f44562),
  3357. 174: uint32(0x8b277b7b),
  3358. 175: uint32(0x44b96cb3),
  3359. 176: uint32(0xc24fe446),
  3360. 177: uint32(0x0dd1f38e),
  3361. 178: uint32(0x8602cd97),
  3362. 179: uint32(0x499cda5f),
  3363. 180: uint32(0x4ad5b7e4),
  3364. 181: uint32(0x854ba02c),
  3365. 182: uint32(0x0e989e35),
  3366. 183: uint32(0xc10689fd),
  3367. 184: uint32(0x080a4543),
  3368. 185: uint32(0xc794528b),
  3369. 186: uint32(0x4c476c92),
  3370. 187: uint32(0x83d97b5a),
  3371. 188: uint32(0x809016e1),
  3372. 189: uint32(0x4f0e0129),
  3373. 190: uint32(0xc4dd3f30),
  3374. 191: uint32(0x0b4328f8),
  3375. 192: uint32(0xf6d93ff6),
  3376. 193: uint32(0x3947283e),
  3377. 194: uint32(0xb2941627),
  3378. 195: uint32(0x7d0a01ef),
  3379. 196: uint32(0x7e436c54),
  3380. 197: uint32(0xb1dd7b9c),
  3381. 198: uint32(0x3a0e4585),
  3382. 199: uint32(0xf590524d),
  3383. 200: uint32(0x3c9c9ef3),
  3384. 201: uint32(0xf302893b),
  3385. 202: uint32(0x78d1b722),
  3386. 203: uint32(0xb74fa0ea),
  3387. 204: uint32(0xb406cd51),
  3388. 205: uint32(0x7b98da99),
  3389. 206: uint32(0xf04be480),
  3390. 207: uint32(0x3fd5f348),
  3391. 208: uint32(0xb9237bbd),
  3392. 209: uint32(0x76bd6c75),
  3393. 210: uint32(0xfd6e526c),
  3394. 211: uint32(0x32f045a4),
  3395. 212: uint32(0x31b9281f),
  3396. 213: uint32(0xfe273fd7),
  3397. 214: uint32(0x75f401ce),
  3398. 215: uint32(0xba6a1606),
  3399. 216: uint32(0x7366dab8),
  3400. 217: uint32(0xbcf8cd70),
  3401. 218: uint32(0x372bf369),
  3402. 219: uint32(0xf8b5e4a1),
  3403. 220: uint32(0xfbfc891a),
  3404. 221: uint32(0x34629ed2),
  3405. 222: uint32(0xbfb1a0cb),
  3406. 223: uint32(0x702fb703),
  3407. 224: uint32(0x692db760),
  3408. 225: uint32(0xa6b3a0a8),
  3409. 226: uint32(0x2d609eb1),
  3410. 227: uint32(0xe2fe8979),
  3411. 228: uint32(0xe1b7e4c2),
  3412. 229: uint32(0x2e29f30a),
  3413. 230: uint32(0xa5facd13),
  3414. 231: uint32(0x6a64dadb),
  3415. 232: uint32(0xa3681665),
  3416. 233: uint32(0x6cf601ad),
  3417. 234: uint32(0xe7253fb4),
  3418. 235: uint32(0x28bb287c),
  3419. 236: uint32(0x2bf245c7),
  3420. 237: uint32(0xe46c520f),
  3421. 238: uint32(0x6fbf6c16),
  3422. 239: uint32(0xa0217bde),
  3423. 240: uint32(0x26d7f32b),
  3424. 241: uint32(0xe949e4e3),
  3425. 242: uint32(0x629adafa),
  3426. 243: uint32(0xad04cd32),
  3427. 244: uint32(0xae4da089),
  3428. 245: uint32(0x61d3b741),
  3429. 246: uint32(0xea008958),
  3430. 247: uint32(0x259e9e90),
  3431. 248: uint32(0xec92522e),
  3432. 249: uint32(0x230c45e6),
  3433. 250: uint32(0xa8df7bff),
  3434. 251: uint32(0x67416c37),
  3435. 252: uint32(0x6408018c),
  3436. 253: uint32(0xab961644),
  3437. 254: uint32(0x2045285d),
  3438. 255: uint32(0xefdb3f95),
  3439. },
  3440. 6: {
  3441. 1: uint32(0x24825136),
  3442. 2: uint32(0x4904a26c),
  3443. 3: uint32(0x6d86f35a),
  3444. 4: uint32(0x920944d8),
  3445. 5: uint32(0xb68b15ee),
  3446. 6: uint32(0xdb0de6b4),
  3447. 7: uint32(0xff8fb782),
  3448. 8: uint32(0xff638ff1),
  3449. 9: uint32(0xdbe1dec7),
  3450. 10: uint32(0xb6672d9d),
  3451. 11: uint32(0x92e57cab),
  3452. 12: uint32(0x6d6acb29),
  3453. 13: uint32(0x49e89a1f),
  3454. 14: uint32(0x246e6945),
  3455. 15: uint32(0x00ec3873),
  3456. 16: uint32(0x25b619a3),
  3457. 17: uint32(0x01344895),
  3458. 18: uint32(0x6cb2bbcf),
  3459. 19: uint32(0x4830eaf9),
  3460. 20: uint32(0xb7bf5d7b),
  3461. 21: uint32(0x933d0c4d),
  3462. 22: uint32(0xfebbff17),
  3463. 23: uint32(0xda39ae21),
  3464. 24: uint32(0xdad59652),
  3465. 25: uint32(0xfe57c764),
  3466. 26: uint32(0x93d1343e),
  3467. 27: uint32(0xb7536508),
  3468. 28: uint32(0x48dcd28a),
  3469. 29: uint32(0x6c5e83bc),
  3470. 30: uint32(0x01d870e6),
  3471. 31: uint32(0x255a21d0),
  3472. 32: uint32(0x4b6c3346),
  3473. 33: uint32(0x6fee6270),
  3474. 34: uint32(0x0268912a),
  3475. 35: uint32(0x26eac01c),
  3476. 36: uint32(0xd965779e),
  3477. 37: uint32(0xfde726a8),
  3478. 38: uint32(0x9061d5f2),
  3479. 39: uint32(0xb4e384c4),
  3480. 40: uint32(0xb40fbcb7),
  3481. 41: uint32(0x908ded81),
  3482. 42: uint32(0xfd0b1edb),
  3483. 43: uint32(0xd9894fed),
  3484. 44: uint32(0x2606f86f),
  3485. 45: uint32(0x0284a959),
  3486. 46: uint32(0x6f025a03),
  3487. 47: uint32(0x4b800b35),
  3488. 48: uint32(0x6eda2ae5),
  3489. 49: uint32(0x4a587bd3),
  3490. 50: uint32(0x27de8889),
  3491. 51: uint32(0x035cd9bf),
  3492. 52: uint32(0xfcd36e3d),
  3493. 53: uint32(0xd8513f0b),
  3494. 54: uint32(0xb5d7cc51),
  3495. 55: uint32(0x91559d67),
  3496. 56: uint32(0x91b9a514),
  3497. 57: uint32(0xb53bf422),
  3498. 58: uint32(0xd8bd0778),
  3499. 59: uint32(0xfc3f564e),
  3500. 60: uint32(0x03b0e1cc),
  3501. 61: uint32(0x2732b0fa),
  3502. 62: uint32(0x4ab443a0),
  3503. 63: uint32(0x6e361296),
  3504. 64: uint32(0x96d8668c),
  3505. 65: uint32(0xb25a37ba),
  3506. 66: uint32(0xdfdcc4e0),
  3507. 67: uint32(0xfb5e95d6),
  3508. 68: uint32(0x04d12254),
  3509. 69: uint32(0x20537362),
  3510. 70: uint32(0x4dd58038),
  3511. 71: uint32(0x6957d10e),
  3512. 72: uint32(0x69bbe97d),
  3513. 73: uint32(0x4d39b84b),
  3514. 74: uint32(0x20bf4b11),
  3515. 75: uint32(0x043d1a27),
  3516. 76: uint32(0xfbb2ada5),
  3517. 77: uint32(0xdf30fc93),
  3518. 78: uint32(0xb2b60fc9),
  3519. 79: uint32(0x96345eff),
  3520. 80: uint32(0xb36e7f2f),
  3521. 81: uint32(0x97ec2e19),
  3522. 82: uint32(0xfa6add43),
  3523. 83: uint32(0xdee88c75),
  3524. 84: uint32(0x21673bf7),
  3525. 85: uint32(0x05e56ac1),
  3526. 86: uint32(0x6863999b),
  3527. 87: uint32(0x4ce1c8ad),
  3528. 88: uint32(0x4c0df0de),
  3529. 89: uint32(0x688fa1e8),
  3530. 90: uint32(0x050952b2),
  3531. 91: uint32(0x218b0384),
  3532. 92: uint32(0xde04b406),
  3533. 93: uint32(0xfa86e530),
  3534. 94: uint32(0x9700166a),
  3535. 95: uint32(0xb382475c),
  3536. 96: uint32(0xddb455ca),
  3537. 97: uint32(0xf93604fc),
  3538. 98: uint32(0x94b0f7a6),
  3539. 99: uint32(0xb032a690),
  3540. 100: uint32(0x4fbd1112),
  3541. 101: uint32(0x6b3f4024),
  3542. 102: uint32(0x06b9b37e),
  3543. 103: uint32(0x223be248),
  3544. 104: uint32(0x22d7da3b),
  3545. 105: uint32(0x06558b0d),
  3546. 106: uint32(0x6bd37857),
  3547. 107: uint32(0x4f512961),
  3548. 108: uint32(0xb0de9ee3),
  3549. 109: uint32(0x945ccfd5),
  3550. 110: uint32(0xf9da3c8f),
  3551. 111: uint32(0xdd586db9),
  3552. 112: uint32(0xf8024c69),
  3553. 113: uint32(0xdc801d5f),
  3554. 114: uint32(0xb106ee05),
  3555. 115: uint32(0x9584bf33),
  3556. 116: uint32(0x6a0b08b1),
  3557. 117: uint32(0x4e895987),
  3558. 118: uint32(0x230faadd),
  3559. 119: uint32(0x078dfbeb),
  3560. 120: uint32(0x0761c398),
  3561. 121: uint32(0x23e392ae),
  3562. 122: uint32(0x4e6561f4),
  3563. 123: uint32(0x6ae730c2),
  3564. 124: uint32(0x95688740),
  3565. 125: uint32(0xb1ead676),
  3566. 126: uint32(0xdc6c252c),
  3567. 127: uint32(0xf8ee741a),
  3568. 128: uint32(0xf6c1cb59),
  3569. 129: uint32(0xd2439a6f),
  3570. 130: uint32(0xbfc56935),
  3571. 131: uint32(0x9b473803),
  3572. 132: uint32(0x64c88f81),
  3573. 133: uint32(0x404adeb7),
  3574. 134: uint32(0x2dcc2ded),
  3575. 135: uint32(0x094e7cdb),
  3576. 136: uint32(0x09a244a8),
  3577. 137: uint32(0x2d20159e),
  3578. 138: uint32(0x40a6e6c4),
  3579. 139: uint32(0x6424b7f2),
  3580. 140: uint32(0x9bab0070),
  3581. 141: uint32(0xbf295146),
  3582. 142: uint32(0xd2afa21c),
  3583. 143: uint32(0xf62df32a),
  3584. 144: uint32(0xd377d2fa),
  3585. 145: uint32(0xf7f583cc),
  3586. 146: uint32(0x9a737096),
  3587. 147: uint32(0xbef121a0),
  3588. 148: uint32(0x417e9622),
  3589. 149: uint32(0x65fcc714),
  3590. 150: uint32(0x087a344e),
  3591. 151: uint32(0x2cf86578),
  3592. 152: uint32(0x2c145d0b),
  3593. 153: uint32(0x08960c3d),
  3594. 154: uint32(0x6510ff67),
  3595. 155: uint32(0x4192ae51),
  3596. 156: uint32(0xbe1d19d3),
  3597. 157: uint32(0x9a9f48e5),
  3598. 158: uint32(0xf719bbbf),
  3599. 159: uint32(0xd39bea89),
  3600. 160: uint32(0xbdadf81f),
  3601. 161: uint32(0x992fa929),
  3602. 162: uint32(0xf4a95a73),
  3603. 163: uint32(0xd02b0b45),
  3604. 164: uint32(0x2fa4bcc7),
  3605. 165: uint32(0x0b26edf1),
  3606. 166: uint32(0x66a01eab),
  3607. 167: uint32(0x42224f9d),
  3608. 168: uint32(0x42ce77ee),
  3609. 169: uint32(0x664c26d8),
  3610. 170: uint32(0x0bcad582),
  3611. 171: uint32(0x2f4884b4),
  3612. 172: uint32(0xd0c73336),
  3613. 173: uint32(0xf4456200),
  3614. 174: uint32(0x99c3915a),
  3615. 175: uint32(0xbd41c06c),
  3616. 176: uint32(0x981be1bc),
  3617. 177: uint32(0xbc99b08a),
  3618. 178: uint32(0xd11f43d0),
  3619. 179: uint32(0xf59d12e6),
  3620. 180: uint32(0x0a12a564),
  3621. 181: uint32(0x2e90f452),
  3622. 182: uint32(0x43160708),
  3623. 183: uint32(0x6794563e),
  3624. 184: uint32(0x67786e4d),
  3625. 185: uint32(0x43fa3f7b),
  3626. 186: uint32(0x2e7ccc21),
  3627. 187: uint32(0x0afe9d17),
  3628. 188: uint32(0xf5712a95),
  3629. 189: uint32(0xd1f37ba3),
  3630. 190: uint32(0xbc7588f9),
  3631. 191: uint32(0x98f7d9cf),
  3632. 192: uint32(0x6019add5),
  3633. 193: uint32(0x449bfce3),
  3634. 194: uint32(0x291d0fb9),
  3635. 195: uint32(0x0d9f5e8f),
  3636. 196: uint32(0xf210e90d),
  3637. 197: uint32(0xd692b83b),
  3638. 198: uint32(0xbb144b61),
  3639. 199: uint32(0x9f961a57),
  3640. 200: uint32(0x9f7a2224),
  3641. 201: uint32(0xbbf87312),
  3642. 202: uint32(0xd67e8048),
  3643. 203: uint32(0xf2fcd17e),
  3644. 204: uint32(0x0d7366fc),
  3645. 205: uint32(0x29f137ca),
  3646. 206: uint32(0x4477c490),
  3647. 207: uint32(0x60f595a6),
  3648. 208: uint32(0x45afb476),
  3649. 209: uint32(0x612de540),
  3650. 210: uint32(0x0cab161a),
  3651. 211: uint32(0x2829472c),
  3652. 212: uint32(0xd7a6f0ae),
  3653. 213: uint32(0xf324a198),
  3654. 214: uint32(0x9ea252c2),
  3655. 215: uint32(0xba2003f4),
  3656. 216: uint32(0xbacc3b87),
  3657. 217: uint32(0x9e4e6ab1),
  3658. 218: uint32(0xf3c899eb),
  3659. 219: uint32(0xd74ac8dd),
  3660. 220: uint32(0x28c57f5f),
  3661. 221: uint32(0x0c472e69),
  3662. 222: uint32(0x61c1dd33),
  3663. 223: uint32(0x45438c05),
  3664. 224: uint32(0x2b759e93),
  3665. 225: uint32(0x0ff7cfa5),
  3666. 226: uint32(0x62713cff),
  3667. 227: uint32(0x46f36dc9),
  3668. 228: uint32(0xb97cda4b),
  3669. 229: uint32(0x9dfe8b7d),
  3670. 230: uint32(0xf0787827),
  3671. 231: uint32(0xd4fa2911),
  3672. 232: uint32(0xd4161162),
  3673. 233: uint32(0xf0944054),
  3674. 234: uint32(0x9d12b30e),
  3675. 235: uint32(0xb990e238),
  3676. 236: uint32(0x461f55ba),
  3677. 237: uint32(0x629d048c),
  3678. 238: uint32(0x0f1bf7d6),
  3679. 239: uint32(0x2b99a6e0),
  3680. 240: uint32(0x0ec38730),
  3681. 241: uint32(0x2a41d606),
  3682. 242: uint32(0x47c7255c),
  3683. 243: uint32(0x6345746a),
  3684. 244: uint32(0x9ccac3e8),
  3685. 245: uint32(0xb84892de),
  3686. 246: uint32(0xd5ce6184),
  3687. 247: uint32(0xf14c30b2),
  3688. 248: uint32(0xf1a008c1),
  3689. 249: uint32(0xd52259f7),
  3690. 250: uint32(0xb8a4aaad),
  3691. 251: uint32(0x9c26fb9b),
  3692. 252: uint32(0x63a94c19),
  3693. 253: uint32(0x472b1d2f),
  3694. 254: uint32(0x2aadee75),
  3695. 255: uint32(0x0e2fbf43),
  3696. },
  3697. 7: {
  3698. 1: uint32(0x36f290f3),
  3699. 2: uint32(0x6de521e6),
  3700. 3: uint32(0x5b17b115),
  3701. 4: uint32(0xdbca43cc),
  3702. 5: uint32(0xed38d33f),
  3703. 6: uint32(0xb62f622a),
  3704. 7: uint32(0x80ddf2d9),
  3705. 8: uint32(0x6ce581d9),
  3706. 9: uint32(0x5a17112a),
  3707. 10: uint32(0x0100a03f),
  3708. 11: uint32(0x37f230cc),
  3709. 12: uint32(0xb72fc215),
  3710. 13: uint32(0x81dd52e6),
  3711. 14: uint32(0xdacae3f3),
  3712. 15: uint32(0xec387300),
  3713. 16: uint32(0xd9cb03b2),
  3714. 17: uint32(0xef399341),
  3715. 18: uint32(0xb42e2254),
  3716. 19: uint32(0x82dcb2a7),
  3717. 20: uint32(0x0201407e),
  3718. 21: uint32(0x34f3d08d),
  3719. 22: uint32(0x6fe46198),
  3720. 23: uint32(0x5916f16b),
  3721. 24: uint32(0xb52e826b),
  3722. 25: uint32(0x83dc1298),
  3723. 26: uint32(0xd8cba38d),
  3724. 27: uint32(0xee39337e),
  3725. 28: uint32(0x6ee4c1a7),
  3726. 29: uint32(0x58165154),
  3727. 30: uint32(0x0301e041),
  3728. 31: uint32(0x35f370b2),
  3729. 32: uint32(0x68e70125),
  3730. 33: uint32(0x5e1591d6),
  3731. 34: uint32(0x050220c3),
  3732. 35: uint32(0x33f0b030),
  3733. 36: uint32(0xb32d42e9),
  3734. 37: uint32(0x85dfd21a),
  3735. 38: uint32(0xdec8630f),
  3736. 39: uint32(0xe83af3fc),
  3737. 40: uint32(0x040280fc),
  3738. 41: uint32(0x32f0100f),
  3739. 42: uint32(0x69e7a11a),
  3740. 43: uint32(0x5f1531e9),
  3741. 44: uint32(0xdfc8c330),
  3742. 45: uint32(0xe93a53c3),
  3743. 46: uint32(0xb22de2d6),
  3744. 47: uint32(0x84df7225),
  3745. 48: uint32(0xb12c0297),
  3746. 49: uint32(0x87de9264),
  3747. 50: uint32(0xdcc92371),
  3748. 51: uint32(0xea3bb382),
  3749. 52: uint32(0x6ae6415b),
  3750. 53: uint32(0x5c14d1a8),
  3751. 54: uint32(0x070360bd),
  3752. 55: uint32(0x31f1f04e),
  3753. 56: uint32(0xddc9834e),
  3754. 57: uint32(0xeb3b13bd),
  3755. 58: uint32(0xb02ca2a8),
  3756. 59: uint32(0x86de325b),
  3757. 60: uint32(0x0603c082),
  3758. 61: uint32(0x30f15071),
  3759. 62: uint32(0x6be6e164),
  3760. 63: uint32(0x5d147197),
  3761. 64: uint32(0xd1ce024a),
  3762. 65: uint32(0xe73c92b9),
  3763. 66: uint32(0xbc2b23ac),
  3764. 67: uint32(0x8ad9b35f),
  3765. 68: uint32(0x0a044186),
  3766. 69: uint32(0x3cf6d175),
  3767. 70: uint32(0x67e16060),
  3768. 71: uint32(0x5113f093),
  3769. 72: uint32(0xbd2b8393),
  3770. 73: uint32(0x8bd91360),
  3771. 74: uint32(0xd0cea275),
  3772. 75: uint32(0xe63c3286),
  3773. 76: uint32(0x66e1c05f),
  3774. 77: uint32(0x501350ac),
  3775. 78: uint32(0x0b04e1b9),
  3776. 79: uint32(0x3df6714a),
  3777. 80: uint32(0x080501f8),
  3778. 81: uint32(0x3ef7910b),
  3779. 82: uint32(0x65e0201e),
  3780. 83: uint32(0x5312b0ed),
  3781. 84: uint32(0xd3cf4234),
  3782. 85: uint32(0xe53dd2c7),
  3783. 86: uint32(0xbe2a63d2),
  3784. 87: uint32(0x88d8f321),
  3785. 88: uint32(0x64e08021),
  3786. 89: uint32(0x521210d2),
  3787. 90: uint32(0x0905a1c7),
  3788. 91: uint32(0x3ff73134),
  3789. 92: uint32(0xbf2ac3ed),
  3790. 93: uint32(0x89d8531e),
  3791. 94: uint32(0xd2cfe20b),
  3792. 95: uint32(0xe43d72f8),
  3793. 96: uint32(0xb929036f),
  3794. 97: uint32(0x8fdb939c),
  3795. 98: uint32(0xd4cc2289),
  3796. 99: uint32(0xe23eb27a),
  3797. 100: uint32(0x62e340a3),
  3798. 101: uint32(0x5411d050),
  3799. 102: uint32(0x0f066145),
  3800. 103: uint32(0x39f4f1b6),
  3801. 104: uint32(0xd5cc82b6),
  3802. 105: uint32(0xe33e1245),
  3803. 106: uint32(0xb829a350),
  3804. 107: uint32(0x8edb33a3),
  3805. 108: uint32(0x0e06c17a),
  3806. 109: uint32(0x38f45189),
  3807. 110: uint32(0x63e3e09c),
  3808. 111: uint32(0x5511706f),
  3809. 112: uint32(0x60e200dd),
  3810. 113: uint32(0x5610902e),
  3811. 114: uint32(0x0d07213b),
  3812. 115: uint32(0x3bf5b1c8),
  3813. 116: uint32(0xbb284311),
  3814. 117: uint32(0x8ddad3e2),
  3815. 118: uint32(0xd6cd62f7),
  3816. 119: uint32(0xe03ff204),
  3817. 120: uint32(0x0c078104),
  3818. 121: uint32(0x3af511f7),
  3819. 122: uint32(0x61e2a0e2),
  3820. 123: uint32(0x57103011),
  3821. 124: uint32(0xd7cdc2c8),
  3822. 125: uint32(0xe13f523b),
  3823. 126: uint32(0xba28e32e),
  3824. 127: uint32(0x8cda73dd),
  3825. 128: uint32(0x78ed02d5),
  3826. 129: uint32(0x4e1f9226),
  3827. 130: uint32(0x15082333),
  3828. 131: uint32(0x23fab3c0),
  3829. 132: uint32(0xa3274119),
  3830. 133: uint32(0x95d5d1ea),
  3831. 134: uint32(0xcec260ff),
  3832. 135: uint32(0xf830f00c),
  3833. 136: uint32(0x1408830c),
  3834. 137: uint32(0x22fa13ff),
  3835. 138: uint32(0x79eda2ea),
  3836. 139: uint32(0x4f1f3219),
  3837. 140: uint32(0xcfc2c0c0),
  3838. 141: uint32(0xf9305033),
  3839. 142: uint32(0xa227e126),
  3840. 143: uint32(0x94d571d5),
  3841. 144: uint32(0xa1260167),
  3842. 145: uint32(0x97d49194),
  3843. 146: uint32(0xccc32081),
  3844. 147: uint32(0xfa31b072),
  3845. 148: uint32(0x7aec42ab),
  3846. 149: uint32(0x4c1ed258),
  3847. 150: uint32(0x1709634d),
  3848. 151: uint32(0x21fbf3be),
  3849. 152: uint32(0xcdc380be),
  3850. 153: uint32(0xfb31104d),
  3851. 154: uint32(0xa026a158),
  3852. 155: uint32(0x96d431ab),
  3853. 156: uint32(0x1609c372),
  3854. 157: uint32(0x20fb5381),
  3855. 158: uint32(0x7bece294),
  3856. 159: uint32(0x4d1e7267),
  3857. 160: uint32(0x100a03f0),
  3858. 161: uint32(0x26f89303),
  3859. 162: uint32(0x7def2216),
  3860. 163: uint32(0x4b1db2e5),
  3861. 164: uint32(0xcbc0403c),
  3862. 165: uint32(0xfd32d0cf),
  3863. 166: uint32(0xa62561da),
  3864. 167: uint32(0x90d7f129),
  3865. 168: uint32(0x7cef8229),
  3866. 169: uint32(0x4a1d12da),
  3867. 170: uint32(0x110aa3cf),
  3868. 171: uint32(0x27f8333c),
  3869. 172: uint32(0xa725c1e5),
  3870. 173: uint32(0x91d75116),
  3871. 174: uint32(0xcac0e003),
  3872. 175: uint32(0xfc3270f0),
  3873. 176: uint32(0xc9c10042),
  3874. 177: uint32(0xff3390b1),
  3875. 178: uint32(0xa42421a4),
  3876. 179: uint32(0x92d6b157),
  3877. 180: uint32(0x120b438e),
  3878. 181: uint32(0x24f9d37d),
  3879. 182: uint32(0x7fee6268),
  3880. 183: uint32(0x491cf29b),
  3881. 184: uint32(0xa524819b),
  3882. 185: uint32(0x93d61168),
  3883. 186: uint32(0xc8c1a07d),
  3884. 187: uint32(0xfe33308e),
  3885. 188: uint32(0x7eeec257),
  3886. 189: uint32(0x481c52a4),
  3887. 190: uint32(0x130be3b1),
  3888. 191: uint32(0x25f97342),
  3889. 192: uint32(0xa923009f),
  3890. 193: uint32(0x9fd1906c),
  3891. 194: uint32(0xc4c62179),
  3892. 195: uint32(0xf234b18a),
  3893. 196: uint32(0x72e94353),
  3894. 197: uint32(0x441bd3a0),
  3895. 198: uint32(0x1f0c62b5),
  3896. 199: uint32(0x29fef246),
  3897. 200: uint32(0xc5c68146),
  3898. 201: uint32(0xf33411b5),
  3899. 202: uint32(0xa823a0a0),
  3900. 203: uint32(0x9ed13053),
  3901. 204: uint32(0x1e0cc28a),
  3902. 205: uint32(0x28fe5279),
  3903. 206: uint32(0x73e9e36c),
  3904. 207: uint32(0x451b739f),
  3905. 208: uint32(0x70e8032d),
  3906. 209: uint32(0x461a93de),
  3907. 210: uint32(0x1d0d22cb),
  3908. 211: uint32(0x2bffb238),
  3909. 212: uint32(0xab2240e1),
  3910. 213: uint32(0x9dd0d012),
  3911. 214: uint32(0xc6c76107),
  3912. 215: uint32(0xf035f1f4),
  3913. 216: uint32(0x1c0d82f4),
  3914. 217: uint32(0x2aff1207),
  3915. 218: uint32(0x71e8a312),
  3916. 219: uint32(0x471a33e1),
  3917. 220: uint32(0xc7c7c138),
  3918. 221: uint32(0xf13551cb),
  3919. 222: uint32(0xaa22e0de),
  3920. 223: uint32(0x9cd0702d),
  3921. 224: uint32(0xc1c401ba),
  3922. 225: uint32(0xf7369149),
  3923. 226: uint32(0xac21205c),
  3924. 227: uint32(0x9ad3b0af),
  3925. 228: uint32(0x1a0e4276),
  3926. 229: uint32(0x2cfcd285),
  3927. 230: uint32(0x77eb6390),
  3928. 231: uint32(0x4119f363),
  3929. 232: uint32(0xad218063),
  3930. 233: uint32(0x9bd31090),
  3931. 234: uint32(0xc0c4a185),
  3932. 235: uint32(0xf6363176),
  3933. 236: uint32(0x76ebc3af),
  3934. 237: uint32(0x4019535c),
  3935. 238: uint32(0x1b0ee249),
  3936. 239: uint32(0x2dfc72ba),
  3937. 240: uint32(0x180f0208),
  3938. 241: uint32(0x2efd92fb),
  3939. 242: uint32(0x75ea23ee),
  3940. 243: uint32(0x4318b31d),
  3941. 244: uint32(0xc3c541c4),
  3942. 245: uint32(0xf537d137),
  3943. 246: uint32(0xae206022),
  3944. 247: uint32(0x98d2f0d1),
  3945. 248: uint32(0x74ea83d1),
  3946. 249: uint32(0x42181322),
  3947. 250: uint32(0x190fa237),
  3948. 251: uint32(0x2ffd32c4),
  3949. 252: uint32(0xaf20c01d),
  3950. 253: uint32(0x99d250ee),
  3951. 254: uint32(0xc2c5e1fb),
  3952. 255: uint32(0xf4377108),
  3953. },
  3954. }
  3955. var _crc_braid_big_table = [8][256]Tz_word_t{
  3956. 0: {
  3957. 1: uint64(0xf390f23600000000),
  3958. 2: uint64(0xe621e56d00000000),
  3959. 3: uint64(0x15b1175b00000000),
  3960. 4: uint64(0xcc43cadb00000000),
  3961. 5: uint64(0x3fd338ed00000000),
  3962. 6: uint64(0x2a622fb600000000),
  3963. 7: uint64(0xd9f2dd8000000000),
  3964. 8: uint64(0xd981e56c00000000),
  3965. 9: uint64(0x2a11175a00000000),
  3966. 10: uint64(0x3fa0000100000000),
  3967. 11: uint64(0xcc30f23700000000),
  3968. 12: uint64(0x15c22fb700000000),
  3969. 13: uint64(0xe652dd8100000000),
  3970. 14: uint64(0xf3e3cada00000000),
  3971. 15: uint64(0x007338ec00000000),
  3972. 16: uint64(0xb203cbd900000000),
  3973. 17: uint64(0x419339ef00000000),
  3974. 18: uint64(0x54222eb400000000),
  3975. 19: uint64(0xa7b2dc8200000000),
  3976. 20: uint64(0x7e40010200000000),
  3977. 21: uint64(0x8dd0f33400000000),
  3978. 22: uint64(0x9861e46f00000000),
  3979. 23: uint64(0x6bf1165900000000),
  3980. 24: uint64(0x6b822eb500000000),
  3981. 25: uint64(0x9812dc8300000000),
  3982. 26: uint64(0x8da3cbd800000000),
  3983. 27: uint64(0x7e3339ee00000000),
  3984. 28: uint64(0xa7c1e46e00000000),
  3985. 29: uint64(0x5451165800000000),
  3986. 30: uint64(0x41e0010300000000),
  3987. 31: uint64(0xb270f33500000000),
  3988. 32: uint64(0x2501e76800000000),
  3989. 33: uint64(0xd691155e00000000),
  3990. 34: uint64(0xc320020500000000),
  3991. 35: uint64(0x30b0f03300000000),
  3992. 36: uint64(0xe9422db300000000),
  3993. 37: uint64(0x1ad2df8500000000),
  3994. 38: uint64(0x0f63c8de00000000),
  3995. 39: uint64(0xfcf33ae800000000),
  3996. 40: uint64(0xfc80020400000000),
  3997. 41: uint64(0x0f10f03200000000),
  3998. 42: uint64(0x1aa1e76900000000),
  3999. 43: uint64(0xe931155f00000000),
  4000. 44: uint64(0x30c3c8df00000000),
  4001. 45: uint64(0xc3533ae900000000),
  4002. 46: uint64(0xd6e22db200000000),
  4003. 47: uint64(0x2572df8400000000),
  4004. 48: uint64(0x97022cb100000000),
  4005. 49: uint64(0x6492de8700000000),
  4006. 50: uint64(0x7123c9dc00000000),
  4007. 51: uint64(0x82b33bea00000000),
  4008. 52: uint64(0x5b41e66a00000000),
  4009. 53: uint64(0xa8d1145c00000000),
  4010. 54: uint64(0xbd60030700000000),
  4011. 55: uint64(0x4ef0f13100000000),
  4012. 56: uint64(0x4e83c9dd00000000),
  4013. 57: uint64(0xbd133beb00000000),
  4014. 58: uint64(0xa8a22cb000000000),
  4015. 59: uint64(0x5b32de8600000000),
  4016. 60: uint64(0x82c0030600000000),
  4017. 61: uint64(0x7150f13000000000),
  4018. 62: uint64(0x64e1e66b00000000),
  4019. 63: uint64(0x9771145d00000000),
  4020. 64: uint64(0x4a02ced100000000),
  4021. 65: uint64(0xb9923ce700000000),
  4022. 66: uint64(0xac232bbc00000000),
  4023. 67: uint64(0x5fb3d98a00000000),
  4024. 68: uint64(0x8641040a00000000),
  4025. 69: uint64(0x75d1f63c00000000),
  4026. 70: uint64(0x6060e16700000000),
  4027. 71: uint64(0x93f0135100000000),
  4028. 72: uint64(0x93832bbd00000000),
  4029. 73: uint64(0x6013d98b00000000),
  4030. 74: uint64(0x75a2ced000000000),
  4031. 75: uint64(0x86323ce600000000),
  4032. 76: uint64(0x5fc0e16600000000),
  4033. 77: uint64(0xac50135000000000),
  4034. 78: uint64(0xb9e1040b00000000),
  4035. 79: uint64(0x4a71f63d00000000),
  4036. 80: uint64(0xf801050800000000),
  4037. 81: uint64(0x0b91f73e00000000),
  4038. 82: uint64(0x1e20e06500000000),
  4039. 83: uint64(0xedb0125300000000),
  4040. 84: uint64(0x3442cfd300000000),
  4041. 85: uint64(0xc7d23de500000000),
  4042. 86: uint64(0xd2632abe00000000),
  4043. 87: uint64(0x21f3d88800000000),
  4044. 88: uint64(0x2180e06400000000),
  4045. 89: uint64(0xd210125200000000),
  4046. 90: uint64(0xc7a1050900000000),
  4047. 91: uint64(0x3431f73f00000000),
  4048. 92: uint64(0xedc32abf00000000),
  4049. 93: uint64(0x1e53d88900000000),
  4050. 94: uint64(0x0be2cfd200000000),
  4051. 95: uint64(0xf8723de400000000),
  4052. 96: uint64(0x6f0329b900000000),
  4053. 97: uint64(0x9c93db8f00000000),
  4054. 98: uint64(0x8922ccd400000000),
  4055. 99: uint64(0x7ab23ee200000000),
  4056. 100: uint64(0xa340e36200000000),
  4057. 101: uint64(0x50d0115400000000),
  4058. 102: uint64(0x4561060f00000000),
  4059. 103: uint64(0xb6f1f43900000000),
  4060. 104: uint64(0xb682ccd500000000),
  4061. 105: uint64(0x45123ee300000000),
  4062. 106: uint64(0x50a329b800000000),
  4063. 107: uint64(0xa333db8e00000000),
  4064. 108: uint64(0x7ac1060e00000000),
  4065. 109: uint64(0x8951f43800000000),
  4066. 110: uint64(0x9ce0e36300000000),
  4067. 111: uint64(0x6f70115500000000),
  4068. 112: uint64(0xdd00e26000000000),
  4069. 113: uint64(0x2e90105600000000),
  4070. 114: uint64(0x3b21070d00000000),
  4071. 115: uint64(0xc8b1f53b00000000),
  4072. 116: uint64(0x114328bb00000000),
  4073. 117: uint64(0xe2d3da8d00000000),
  4074. 118: uint64(0xf762cdd600000000),
  4075. 119: uint64(0x04f23fe000000000),
  4076. 120: uint64(0x0481070c00000000),
  4077. 121: uint64(0xf711f53a00000000),
  4078. 122: uint64(0xe2a0e26100000000),
  4079. 123: uint64(0x1130105700000000),
  4080. 124: uint64(0xc8c2cdd700000000),
  4081. 125: uint64(0x3b523fe100000000),
  4082. 126: uint64(0x2ee328ba00000000),
  4083. 127: uint64(0xdd73da8c00000000),
  4084. 128: uint64(0xd502ed7800000000),
  4085. 129: uint64(0x26921f4e00000000),
  4086. 130: uint64(0x3323081500000000),
  4087. 131: uint64(0xc0b3fa2300000000),
  4088. 132: uint64(0x194127a300000000),
  4089. 133: uint64(0xead1d59500000000),
  4090. 134: uint64(0xff60c2ce00000000),
  4091. 135: uint64(0x0cf030f800000000),
  4092. 136: uint64(0x0c83081400000000),
  4093. 137: uint64(0xff13fa2200000000),
  4094. 138: uint64(0xeaa2ed7900000000),
  4095. 139: uint64(0x19321f4f00000000),
  4096. 140: uint64(0xc0c0c2cf00000000),
  4097. 141: uint64(0x335030f900000000),
  4098. 142: uint64(0x26e127a200000000),
  4099. 143: uint64(0xd571d59400000000),
  4100. 144: uint64(0x670126a100000000),
  4101. 145: uint64(0x9491d49700000000),
  4102. 146: uint64(0x8120c3cc00000000),
  4103. 147: uint64(0x72b031fa00000000),
  4104. 148: uint64(0xab42ec7a00000000),
  4105. 149: uint64(0x58d21e4c00000000),
  4106. 150: uint64(0x4d63091700000000),
  4107. 151: uint64(0xbef3fb2100000000),
  4108. 152: uint64(0xbe80c3cd00000000),
  4109. 153: uint64(0x4d1031fb00000000),
  4110. 154: uint64(0x58a126a000000000),
  4111. 155: uint64(0xab31d49600000000),
  4112. 156: uint64(0x72c3091600000000),
  4113. 157: uint64(0x8153fb2000000000),
  4114. 158: uint64(0x94e2ec7b00000000),
  4115. 159: uint64(0x67721e4d00000000),
  4116. 160: uint64(0xf0030a1000000000),
  4117. 161: uint64(0x0393f82600000000),
  4118. 162: uint64(0x1622ef7d00000000),
  4119. 163: uint64(0xe5b21d4b00000000),
  4120. 164: uint64(0x3c40c0cb00000000),
  4121. 165: uint64(0xcfd032fd00000000),
  4122. 166: uint64(0xda6125a600000000),
  4123. 167: uint64(0x29f1d79000000000),
  4124. 168: uint64(0x2982ef7c00000000),
  4125. 169: uint64(0xda121d4a00000000),
  4126. 170: uint64(0xcfa30a1100000000),
  4127. 171: uint64(0x3c33f82700000000),
  4128. 172: uint64(0xe5c125a700000000),
  4129. 173: uint64(0x1651d79100000000),
  4130. 174: uint64(0x03e0c0ca00000000),
  4131. 175: uint64(0xf07032fc00000000),
  4132. 176: uint64(0x4200c1c900000000),
  4133. 177: uint64(0xb19033ff00000000),
  4134. 178: uint64(0xa42124a400000000),
  4135. 179: uint64(0x57b1d69200000000),
  4136. 180: uint64(0x8e430b1200000000),
  4137. 181: uint64(0x7dd3f92400000000),
  4138. 182: uint64(0x6862ee7f00000000),
  4139. 183: uint64(0x9bf21c4900000000),
  4140. 184: uint64(0x9b8124a500000000),
  4141. 185: uint64(0x6811d69300000000),
  4142. 186: uint64(0x7da0c1c800000000),
  4143. 187: uint64(0x8e3033fe00000000),
  4144. 188: uint64(0x57c2ee7e00000000),
  4145. 189: uint64(0xa4521c4800000000),
  4146. 190: uint64(0xb1e30b1300000000),
  4147. 191: uint64(0x4273f92500000000),
  4148. 192: uint64(0x9f0023a900000000),
  4149. 193: uint64(0x6c90d19f00000000),
  4150. 194: uint64(0x7921c6c400000000),
  4151. 195: uint64(0x8ab134f200000000),
  4152. 196: uint64(0x5343e97200000000),
  4153. 197: uint64(0xa0d31b4400000000),
  4154. 198: uint64(0xb5620c1f00000000),
  4155. 199: uint64(0x46f2fe2900000000),
  4156. 200: uint64(0x4681c6c500000000),
  4157. 201: uint64(0xb51134f300000000),
  4158. 202: uint64(0xa0a023a800000000),
  4159. 203: uint64(0x5330d19e00000000),
  4160. 204: uint64(0x8ac20c1e00000000),
  4161. 205: uint64(0x7952fe2800000000),
  4162. 206: uint64(0x6ce3e97300000000),
  4163. 207: uint64(0x9f731b4500000000),
  4164. 208: uint64(0x2d03e87000000000),
  4165. 209: uint64(0xde931a4600000000),
  4166. 210: uint64(0xcb220d1d00000000),
  4167. 211: uint64(0x38b2ff2b00000000),
  4168. 212: uint64(0xe14022ab00000000),
  4169. 213: uint64(0x12d0d09d00000000),
  4170. 214: uint64(0x0761c7c600000000),
  4171. 215: uint64(0xf4f135f000000000),
  4172. 216: uint64(0xf4820d1c00000000),
  4173. 217: uint64(0x0712ff2a00000000),
  4174. 218: uint64(0x12a3e87100000000),
  4175. 219: uint64(0xe1331a4700000000),
  4176. 220: uint64(0x38c1c7c700000000),
  4177. 221: uint64(0xcb5135f100000000),
  4178. 222: uint64(0xdee022aa00000000),
  4179. 223: uint64(0x2d70d09c00000000),
  4180. 224: uint64(0xba01c4c100000000),
  4181. 225: uint64(0x499136f700000000),
  4182. 226: uint64(0x5c2021ac00000000),
  4183. 227: uint64(0xafb0d39a00000000),
  4184. 228: uint64(0x76420e1a00000000),
  4185. 229: uint64(0x85d2fc2c00000000),
  4186. 230: uint64(0x9063eb7700000000),
  4187. 231: uint64(0x63f3194100000000),
  4188. 232: uint64(0x638021ad00000000),
  4189. 233: uint64(0x9010d39b00000000),
  4190. 234: uint64(0x85a1c4c000000000),
  4191. 235: uint64(0x763136f600000000),
  4192. 236: uint64(0xafc3eb7600000000),
  4193. 237: uint64(0x5c53194000000000),
  4194. 238: uint64(0x49e20e1b00000000),
  4195. 239: uint64(0xba72fc2d00000000),
  4196. 240: uint64(0x08020f1800000000),
  4197. 241: uint64(0xfb92fd2e00000000),
  4198. 242: uint64(0xee23ea7500000000),
  4199. 243: uint64(0x1db3184300000000),
  4200. 244: uint64(0xc441c5c300000000),
  4201. 245: uint64(0x37d137f500000000),
  4202. 246: uint64(0x226020ae00000000),
  4203. 247: uint64(0xd1f0d29800000000),
  4204. 248: uint64(0xd183ea7400000000),
  4205. 249: uint64(0x2213184200000000),
  4206. 250: uint64(0x37a20f1900000000),
  4207. 251: uint64(0xc432fd2f00000000),
  4208. 252: uint64(0x1dc020af00000000),
  4209. 253: uint64(0xee50d29900000000),
  4210. 254: uint64(0xfbe1c5c200000000),
  4211. 255: uint64(0x087137f400000000),
  4212. },
  4213. 1: {
  4214. 1: uint64(0x3651822400000000),
  4215. 2: uint64(0x6ca2044900000000),
  4216. 3: uint64(0x5af3866d00000000),
  4217. 4: uint64(0xd844099200000000),
  4218. 5: uint64(0xee158bb600000000),
  4219. 6: uint64(0xb4e60ddb00000000),
  4220. 7: uint64(0x82b78fff00000000),
  4221. 8: uint64(0xf18f63ff00000000),
  4222. 9: uint64(0xc7dee1db00000000),
  4223. 10: uint64(0x9d2d67b600000000),
  4224. 11: uint64(0xab7ce59200000000),
  4225. 12: uint64(0x29cb6a6d00000000),
  4226. 13: uint64(0x1f9ae84900000000),
  4227. 14: uint64(0x45696e2400000000),
  4228. 15: uint64(0x7338ec0000000000),
  4229. 16: uint64(0xa319b62500000000),
  4230. 17: uint64(0x9548340100000000),
  4231. 18: uint64(0xcfbbb26c00000000),
  4232. 19: uint64(0xf9ea304800000000),
  4233. 20: uint64(0x7b5dbfb700000000),
  4234. 21: uint64(0x4d0c3d9300000000),
  4235. 22: uint64(0x17ffbbfe00000000),
  4236. 23: uint64(0x21ae39da00000000),
  4237. 24: uint64(0x5296d5da00000000),
  4238. 25: uint64(0x64c757fe00000000),
  4239. 26: uint64(0x3e34d19300000000),
  4240. 27: uint64(0x086553b700000000),
  4241. 28: uint64(0x8ad2dc4800000000),
  4242. 29: uint64(0xbc835e6c00000000),
  4243. 30: uint64(0xe670d80100000000),
  4244. 31: uint64(0xd0215a2500000000),
  4245. 32: uint64(0x46336c4b00000000),
  4246. 33: uint64(0x7062ee6f00000000),
  4247. 34: uint64(0x2a91680200000000),
  4248. 35: uint64(0x1cc0ea2600000000),
  4249. 36: uint64(0x9e7765d900000000),
  4250. 37: uint64(0xa826e7fd00000000),
  4251. 38: uint64(0xf2d5619000000000),
  4252. 39: uint64(0xc484e3b400000000),
  4253. 40: uint64(0xb7bc0fb400000000),
  4254. 41: uint64(0x81ed8d9000000000),
  4255. 42: uint64(0xdb1e0bfd00000000),
  4256. 43: uint64(0xed4f89d900000000),
  4257. 44: uint64(0x6ff8062600000000),
  4258. 45: uint64(0x59a9840200000000),
  4259. 46: uint64(0x035a026f00000000),
  4260. 47: uint64(0x350b804b00000000),
  4261. 48: uint64(0xe52ada6e00000000),
  4262. 49: uint64(0xd37b584a00000000),
  4263. 50: uint64(0x8988de2700000000),
  4264. 51: uint64(0xbfd95c0300000000),
  4265. 52: uint64(0x3d6ed3fc00000000),
  4266. 53: uint64(0x0b3f51d800000000),
  4267. 54: uint64(0x51ccd7b500000000),
  4268. 55: uint64(0x679d559100000000),
  4269. 56: uint64(0x14a5b99100000000),
  4270. 57: uint64(0x22f43bb500000000),
  4271. 58: uint64(0x7807bdd800000000),
  4272. 59: uint64(0x4e563ffc00000000),
  4273. 60: uint64(0xcce1b00300000000),
  4274. 61: uint64(0xfab0322700000000),
  4275. 62: uint64(0xa043b44a00000000),
  4276. 63: uint64(0x9612366e00000000),
  4277. 64: uint64(0x8c66d89600000000),
  4278. 65: uint64(0xba375ab200000000),
  4279. 66: uint64(0xe0c4dcdf00000000),
  4280. 67: uint64(0xd6955efb00000000),
  4281. 68: uint64(0x5422d10400000000),
  4282. 69: uint64(0x6273532000000000),
  4283. 70: uint64(0x3880d54d00000000),
  4284. 71: uint64(0x0ed1576900000000),
  4285. 72: uint64(0x7de9bb6900000000),
  4286. 73: uint64(0x4bb8394d00000000),
  4287. 74: uint64(0x114bbf2000000000),
  4288. 75: uint64(0x271a3d0400000000),
  4289. 76: uint64(0xa5adb2fb00000000),
  4290. 77: uint64(0x93fc30df00000000),
  4291. 78: uint64(0xc90fb6b200000000),
  4292. 79: uint64(0xff5e349600000000),
  4293. 80: uint64(0x2f7f6eb300000000),
  4294. 81: uint64(0x192eec9700000000),
  4295. 82: uint64(0x43dd6afa00000000),
  4296. 83: uint64(0x758ce8de00000000),
  4297. 84: uint64(0xf73b672100000000),
  4298. 85: uint64(0xc16ae50500000000),
  4299. 86: uint64(0x9b99636800000000),
  4300. 87: uint64(0xadc8e14c00000000),
  4301. 88: uint64(0xdef00d4c00000000),
  4302. 89: uint64(0xe8a18f6800000000),
  4303. 90: uint64(0xb252090500000000),
  4304. 91: uint64(0x84038b2100000000),
  4305. 92: uint64(0x06b404de00000000),
  4306. 93: uint64(0x30e586fa00000000),
  4307. 94: uint64(0x6a16009700000000),
  4308. 95: uint64(0x5c4782b300000000),
  4309. 96: uint64(0xca55b4dd00000000),
  4310. 97: uint64(0xfc0436f900000000),
  4311. 98: uint64(0xa6f7b09400000000),
  4312. 99: uint64(0x90a632b000000000),
  4313. 100: uint64(0x1211bd4f00000000),
  4314. 101: uint64(0x24403f6b00000000),
  4315. 102: uint64(0x7eb3b90600000000),
  4316. 103: uint64(0x48e23b2200000000),
  4317. 104: uint64(0x3bdad72200000000),
  4318. 105: uint64(0x0d8b550600000000),
  4319. 106: uint64(0x5778d36b00000000),
  4320. 107: uint64(0x6129514f00000000),
  4321. 108: uint64(0xe39edeb000000000),
  4322. 109: uint64(0xd5cf5c9400000000),
  4323. 110: uint64(0x8f3cdaf900000000),
  4324. 111: uint64(0xb96d58dd00000000),
  4325. 112: uint64(0x694c02f800000000),
  4326. 113: uint64(0x5f1d80dc00000000),
  4327. 114: uint64(0x05ee06b100000000),
  4328. 115: uint64(0x33bf849500000000),
  4329. 116: uint64(0xb1080b6a00000000),
  4330. 117: uint64(0x8759894e00000000),
  4331. 118: uint64(0xddaa0f2300000000),
  4332. 119: uint64(0xebfb8d0700000000),
  4333. 120: uint64(0x98c3610700000000),
  4334. 121: uint64(0xae92e32300000000),
  4335. 122: uint64(0xf461654e00000000),
  4336. 123: uint64(0xc230e76a00000000),
  4337. 124: uint64(0x4087689500000000),
  4338. 125: uint64(0x76d6eab100000000),
  4339. 126: uint64(0x2c256cdc00000000),
  4340. 127: uint64(0x1a74eef800000000),
  4341. 128: uint64(0x59cbc1f600000000),
  4342. 129: uint64(0x6f9a43d200000000),
  4343. 130: uint64(0x3569c5bf00000000),
  4344. 131: uint64(0x0338479b00000000),
  4345. 132: uint64(0x818fc86400000000),
  4346. 133: uint64(0xb7de4a4000000000),
  4347. 134: uint64(0xed2dcc2d00000000),
  4348. 135: uint64(0xdb7c4e0900000000),
  4349. 136: uint64(0xa844a20900000000),
  4350. 137: uint64(0x9e15202d00000000),
  4351. 138: uint64(0xc4e6a64000000000),
  4352. 139: uint64(0xf2b7246400000000),
  4353. 140: uint64(0x7000ab9b00000000),
  4354. 141: uint64(0x465129bf00000000),
  4355. 142: uint64(0x1ca2afd200000000),
  4356. 143: uint64(0x2af32df600000000),
  4357. 144: uint64(0xfad277d300000000),
  4358. 145: uint64(0xcc83f5f700000000),
  4359. 146: uint64(0x9670739a00000000),
  4360. 147: uint64(0xa021f1be00000000),
  4361. 148: uint64(0x22967e4100000000),
  4362. 149: uint64(0x14c7fc6500000000),
  4363. 150: uint64(0x4e347a0800000000),
  4364. 151: uint64(0x7865f82c00000000),
  4365. 152: uint64(0x0b5d142c00000000),
  4366. 153: uint64(0x3d0c960800000000),
  4367. 154: uint64(0x67ff106500000000),
  4368. 155: uint64(0x51ae924100000000),
  4369. 156: uint64(0xd3191dbe00000000),
  4370. 157: uint64(0xe5489f9a00000000),
  4371. 158: uint64(0xbfbb19f700000000),
  4372. 159: uint64(0x89ea9bd300000000),
  4373. 160: uint64(0x1ff8adbd00000000),
  4374. 161: uint64(0x29a92f9900000000),
  4375. 162: uint64(0x735aa9f400000000),
  4376. 163: uint64(0x450b2bd000000000),
  4377. 164: uint64(0xc7bca42f00000000),
  4378. 165: uint64(0xf1ed260b00000000),
  4379. 166: uint64(0xab1ea06600000000),
  4380. 167: uint64(0x9d4f224200000000),
  4381. 168: uint64(0xee77ce4200000000),
  4382. 169: uint64(0xd8264c6600000000),
  4383. 170: uint64(0x82d5ca0b00000000),
  4384. 171: uint64(0xb484482f00000000),
  4385. 172: uint64(0x3633c7d000000000),
  4386. 173: uint64(0x006245f400000000),
  4387. 174: uint64(0x5a91c39900000000),
  4388. 175: uint64(0x6cc041bd00000000),
  4389. 176: uint64(0xbce11b9800000000),
  4390. 177: uint64(0x8ab099bc00000000),
  4391. 178: uint64(0xd0431fd100000000),
  4392. 179: uint64(0xe6129df500000000),
  4393. 180: uint64(0x64a5120a00000000),
  4394. 181: uint64(0x52f4902e00000000),
  4395. 182: uint64(0x0807164300000000),
  4396. 183: uint64(0x3e56946700000000),
  4397. 184: uint64(0x4d6e786700000000),
  4398. 185: uint64(0x7b3ffa4300000000),
  4399. 186: uint64(0x21cc7c2e00000000),
  4400. 187: uint64(0x179dfe0a00000000),
  4401. 188: uint64(0x952a71f500000000),
  4402. 189: uint64(0xa37bf3d100000000),
  4403. 190: uint64(0xf98875bc00000000),
  4404. 191: uint64(0xcfd9f79800000000),
  4405. 192: uint64(0xd5ad196000000000),
  4406. 193: uint64(0xe3fc9b4400000000),
  4407. 194: uint64(0xb90f1d2900000000),
  4408. 195: uint64(0x8f5e9f0d00000000),
  4409. 196: uint64(0x0de910f200000000),
  4410. 197: uint64(0x3bb892d600000000),
  4411. 198: uint64(0x614b14bb00000000),
  4412. 199: uint64(0x571a969f00000000),
  4413. 200: uint64(0x24227a9f00000000),
  4414. 201: uint64(0x1273f8bb00000000),
  4415. 202: uint64(0x48807ed600000000),
  4416. 203: uint64(0x7ed1fcf200000000),
  4417. 204: uint64(0xfc66730d00000000),
  4418. 205: uint64(0xca37f12900000000),
  4419. 206: uint64(0x90c4774400000000),
  4420. 207: uint64(0xa695f56000000000),
  4421. 208: uint64(0x76b4af4500000000),
  4422. 209: uint64(0x40e52d6100000000),
  4423. 210: uint64(0x1a16ab0c00000000),
  4424. 211: uint64(0x2c47292800000000),
  4425. 212: uint64(0xaef0a6d700000000),
  4426. 213: uint64(0x98a124f300000000),
  4427. 214: uint64(0xc252a29e00000000),
  4428. 215: uint64(0xf40320ba00000000),
  4429. 216: uint64(0x873bccba00000000),
  4430. 217: uint64(0xb16a4e9e00000000),
  4431. 218: uint64(0xeb99c8f300000000),
  4432. 219: uint64(0xddc84ad700000000),
  4433. 220: uint64(0x5f7fc52800000000),
  4434. 221: uint64(0x692e470c00000000),
  4435. 222: uint64(0x33ddc16100000000),
  4436. 223: uint64(0x058c434500000000),
  4437. 224: uint64(0x939e752b00000000),
  4438. 225: uint64(0xa5cff70f00000000),
  4439. 226: uint64(0xff3c716200000000),
  4440. 227: uint64(0xc96df34600000000),
  4441. 228: uint64(0x4bda7cb900000000),
  4442. 229: uint64(0x7d8bfe9d00000000),
  4443. 230: uint64(0x277878f000000000),
  4444. 231: uint64(0x1129fad400000000),
  4445. 232: uint64(0x621116d400000000),
  4446. 233: uint64(0x544094f000000000),
  4447. 234: uint64(0x0eb3129d00000000),
  4448. 235: uint64(0x38e290b900000000),
  4449. 236: uint64(0xba551f4600000000),
  4450. 237: uint64(0x8c049d6200000000),
  4451. 238: uint64(0xd6f71b0f00000000),
  4452. 239: uint64(0xe0a6992b00000000),
  4453. 240: uint64(0x3087c30e00000000),
  4454. 241: uint64(0x06d6412a00000000),
  4455. 242: uint64(0x5c25c74700000000),
  4456. 243: uint64(0x6a74456300000000),
  4457. 244: uint64(0xe8c3ca9c00000000),
  4458. 245: uint64(0xde9248b800000000),
  4459. 246: uint64(0x8461ced500000000),
  4460. 247: uint64(0xb2304cf100000000),
  4461. 248: uint64(0xc108a0f100000000),
  4462. 249: uint64(0xf75922d500000000),
  4463. 250: uint64(0xadaaa4b800000000),
  4464. 251: uint64(0x9bfb269c00000000),
  4465. 252: uint64(0x194ca96300000000),
  4466. 253: uint64(0x2f1d2b4700000000),
  4467. 254: uint64(0x75eead2a00000000),
  4468. 255: uint64(0x43bf2f0e00000000),
  4469. },
  4470. 2: {
  4471. 1: uint64(0xc8179ecf00000000),
  4472. 2: uint64(0xd1294d4400000000),
  4473. 3: uint64(0x193ed38b00000000),
  4474. 4: uint64(0xa2539a8800000000),
  4475. 5: uint64(0x6a44044700000000),
  4476. 6: uint64(0x737ad7cc00000000),
  4477. 7: uint64(0xbb6d490300000000),
  4478. 8: uint64(0x05a145ca00000000),
  4479. 9: uint64(0xcdb6db0500000000),
  4480. 10: uint64(0xd488088e00000000),
  4481. 11: uint64(0x1c9f964100000000),
  4482. 12: uint64(0xa7f2df4200000000),
  4483. 13: uint64(0x6fe5418d00000000),
  4484. 14: uint64(0x76db920600000000),
  4485. 15: uint64(0xbecc0cc900000000),
  4486. 16: uint64(0x4b44fa4f00000000),
  4487. 17: uint64(0x8353648000000000),
  4488. 18: uint64(0x9a6db70b00000000),
  4489. 19: uint64(0x527a29c400000000),
  4490. 20: uint64(0xe91760c700000000),
  4491. 21: uint64(0x2100fe0800000000),
  4492. 22: uint64(0x383e2d8300000000),
  4493. 23: uint64(0xf029b34c00000000),
  4494. 24: uint64(0x4ee5bf8500000000),
  4495. 25: uint64(0x86f2214a00000000),
  4496. 26: uint64(0x9fccf2c100000000),
  4497. 27: uint64(0x57db6c0e00000000),
  4498. 28: uint64(0xecb6250d00000000),
  4499. 29: uint64(0x24a1bbc200000000),
  4500. 30: uint64(0x3d9f684900000000),
  4501. 31: uint64(0xf588f68600000000),
  4502. 32: uint64(0x9688f49f00000000),
  4503. 33: uint64(0x5e9f6a5000000000),
  4504. 34: uint64(0x47a1b9db00000000),
  4505. 35: uint64(0x8fb6271400000000),
  4506. 36: uint64(0x34db6e1700000000),
  4507. 37: uint64(0xfcccf0d800000000),
  4508. 38: uint64(0xe5f2235300000000),
  4509. 39: uint64(0x2de5bd9c00000000),
  4510. 40: uint64(0x9329b15500000000),
  4511. 41: uint64(0x5b3e2f9a00000000),
  4512. 42: uint64(0x4200fc1100000000),
  4513. 43: uint64(0x8a1762de00000000),
  4514. 44: uint64(0x317a2bdd00000000),
  4515. 45: uint64(0xf96db51200000000),
  4516. 46: uint64(0xe053669900000000),
  4517. 47: uint64(0x2844f85600000000),
  4518. 48: uint64(0xddcc0ed000000000),
  4519. 49: uint64(0x15db901f00000000),
  4520. 50: uint64(0x0ce5439400000000),
  4521. 51: uint64(0xc4f2dd5b00000000),
  4522. 52: uint64(0x7f9f945800000000),
  4523. 53: uint64(0xb7880a9700000000),
  4524. 54: uint64(0xaeb6d91c00000000),
  4525. 55: uint64(0x66a147d300000000),
  4526. 56: uint64(0xd86d4b1a00000000),
  4527. 57: uint64(0x107ad5d500000000),
  4528. 58: uint64(0x0944065e00000000),
  4529. 59: uint64(0xc153989100000000),
  4530. 60: uint64(0x7a3ed19200000000),
  4531. 61: uint64(0xb2294f5d00000000),
  4532. 62: uint64(0xab179cd600000000),
  4533. 63: uint64(0x6300021900000000),
  4534. 64: uint64(0x6d1798e400000000),
  4535. 65: uint64(0xa500062b00000000),
  4536. 66: uint64(0xbc3ed5a000000000),
  4537. 67: uint64(0x74294b6f00000000),
  4538. 68: uint64(0xcf44026c00000000),
  4539. 69: uint64(0x07539ca300000000),
  4540. 70: uint64(0x1e6d4f2800000000),
  4541. 71: uint64(0xd67ad1e700000000),
  4542. 72: uint64(0x68b6dd2e00000000),
  4543. 73: uint64(0xa0a143e100000000),
  4544. 74: uint64(0xb99f906a00000000),
  4545. 75: uint64(0x71880ea500000000),
  4546. 76: uint64(0xcae547a600000000),
  4547. 77: uint64(0x02f2d96900000000),
  4548. 78: uint64(0x1bcc0ae200000000),
  4549. 79: uint64(0xd3db942d00000000),
  4550. 80: uint64(0x265362ab00000000),
  4551. 81: uint64(0xee44fc6400000000),
  4552. 82: uint64(0xf77a2fef00000000),
  4553. 83: uint64(0x3f6db12000000000),
  4554. 84: uint64(0x8400f82300000000),
  4555. 85: uint64(0x4c1766ec00000000),
  4556. 86: uint64(0x5529b56700000000),
  4557. 87: uint64(0x9d3e2ba800000000),
  4558. 88: uint64(0x23f2276100000000),
  4559. 89: uint64(0xebe5b9ae00000000),
  4560. 90: uint64(0xf2db6a2500000000),
  4561. 91: uint64(0x3accf4ea00000000),
  4562. 92: uint64(0x81a1bde900000000),
  4563. 93: uint64(0x49b6232600000000),
  4564. 94: uint64(0x5088f0ad00000000),
  4565. 95: uint64(0x989f6e6200000000),
  4566. 96: uint64(0xfb9f6c7b00000000),
  4567. 97: uint64(0x3388f2b400000000),
  4568. 98: uint64(0x2ab6213f00000000),
  4569. 99: uint64(0xe2a1bff000000000),
  4570. 100: uint64(0x59ccf6f300000000),
  4571. 101: uint64(0x91db683c00000000),
  4572. 102: uint64(0x88e5bbb700000000),
  4573. 103: uint64(0x40f2257800000000),
  4574. 104: uint64(0xfe3e29b100000000),
  4575. 105: uint64(0x3629b77e00000000),
  4576. 106: uint64(0x2f1764f500000000),
  4577. 107: uint64(0xe700fa3a00000000),
  4578. 108: uint64(0x5c6db33900000000),
  4579. 109: uint64(0x947a2df600000000),
  4580. 110: uint64(0x8d44fe7d00000000),
  4581. 111: uint64(0x455360b200000000),
  4582. 112: uint64(0xb0db963400000000),
  4583. 113: uint64(0x78cc08fb00000000),
  4584. 114: uint64(0x61f2db7000000000),
  4585. 115: uint64(0xa9e545bf00000000),
  4586. 116: uint64(0x12880cbc00000000),
  4587. 117: uint64(0xda9f927300000000),
  4588. 118: uint64(0xc3a141f800000000),
  4589. 119: uint64(0x0bb6df3700000000),
  4590. 120: uint64(0xb57ad3fe00000000),
  4591. 121: uint64(0x7d6d4d3100000000),
  4592. 122: uint64(0x64539eba00000000),
  4593. 123: uint64(0xac44007500000000),
  4594. 124: uint64(0x1729497600000000),
  4595. 125: uint64(0xdf3ed7b900000000),
  4596. 126: uint64(0xc600043200000000),
  4597. 127: uint64(0x0e179afd00000000),
  4598. 128: uint64(0x9b28411200000000),
  4599. 129: uint64(0x533fdfdd00000000),
  4600. 130: uint64(0x4a010c5600000000),
  4601. 131: uint64(0x8216929900000000),
  4602. 132: uint64(0x397bdb9a00000000),
  4603. 133: uint64(0xf16c455500000000),
  4604. 134: uint64(0xe85296de00000000),
  4605. 135: uint64(0x2045081100000000),
  4606. 136: uint64(0x9e8904d800000000),
  4607. 137: uint64(0x569e9a1700000000),
  4608. 138: uint64(0x4fa0499c00000000),
  4609. 139: uint64(0x87b7d75300000000),
  4610. 140: uint64(0x3cda9e5000000000),
  4611. 141: uint64(0xf4cd009f00000000),
  4612. 142: uint64(0xedf3d31400000000),
  4613. 143: uint64(0x25e44ddb00000000),
  4614. 144: uint64(0xd06cbb5d00000000),
  4615. 145: uint64(0x187b259200000000),
  4616. 146: uint64(0x0145f61900000000),
  4617. 147: uint64(0xc95268d600000000),
  4618. 148: uint64(0x723f21d500000000),
  4619. 149: uint64(0xba28bf1a00000000),
  4620. 150: uint64(0xa3166c9100000000),
  4621. 151: uint64(0x6b01f25e00000000),
  4622. 152: uint64(0xd5cdfe9700000000),
  4623. 153: uint64(0x1dda605800000000),
  4624. 154: uint64(0x04e4b3d300000000),
  4625. 155: uint64(0xccf32d1c00000000),
  4626. 156: uint64(0x779e641f00000000),
  4627. 157: uint64(0xbf89fad000000000),
  4628. 158: uint64(0xa6b7295b00000000),
  4629. 159: uint64(0x6ea0b79400000000),
  4630. 160: uint64(0x0da0b58d00000000),
  4631. 161: uint64(0xc5b72b4200000000),
  4632. 162: uint64(0xdc89f8c900000000),
  4633. 163: uint64(0x149e660600000000),
  4634. 164: uint64(0xaff32f0500000000),
  4635. 165: uint64(0x67e4b1ca00000000),
  4636. 166: uint64(0x7eda624100000000),
  4637. 167: uint64(0xb6cdfc8e00000000),
  4638. 168: uint64(0x0801f04700000000),
  4639. 169: uint64(0xc0166e8800000000),
  4640. 170: uint64(0xd928bd0300000000),
  4641. 171: uint64(0x113f23cc00000000),
  4642. 172: uint64(0xaa526acf00000000),
  4643. 173: uint64(0x6245f40000000000),
  4644. 174: uint64(0x7b7b278b00000000),
  4645. 175: uint64(0xb36cb94400000000),
  4646. 176: uint64(0x46e44fc200000000),
  4647. 177: uint64(0x8ef3d10d00000000),
  4648. 178: uint64(0x97cd028600000000),
  4649. 179: uint64(0x5fda9c4900000000),
  4650. 180: uint64(0xe4b7d54a00000000),
  4651. 181: uint64(0x2ca04b8500000000),
  4652. 182: uint64(0x359e980e00000000),
  4653. 183: uint64(0xfd8906c100000000),
  4654. 184: uint64(0x43450a0800000000),
  4655. 185: uint64(0x8b5294c700000000),
  4656. 186: uint64(0x926c474c00000000),
  4657. 187: uint64(0x5a7bd98300000000),
  4658. 188: uint64(0xe116908000000000),
  4659. 189: uint64(0x29010e4f00000000),
  4660. 190: uint64(0x303fddc400000000),
  4661. 191: uint64(0xf828430b00000000),
  4662. 192: uint64(0xf63fd9f600000000),
  4663. 193: uint64(0x3e28473900000000),
  4664. 194: uint64(0x271694b200000000),
  4665. 195: uint64(0xef010a7d00000000),
  4666. 196: uint64(0x546c437e00000000),
  4667. 197: uint64(0x9c7bddb100000000),
  4668. 198: uint64(0x85450e3a00000000),
  4669. 199: uint64(0x4d5290f500000000),
  4670. 200: uint64(0xf39e9c3c00000000),
  4671. 201: uint64(0x3b8902f300000000),
  4672. 202: uint64(0x22b7d17800000000),
  4673. 203: uint64(0xeaa04fb700000000),
  4674. 204: uint64(0x51cd06b400000000),
  4675. 205: uint64(0x99da987b00000000),
  4676. 206: uint64(0x80e44bf000000000),
  4677. 207: uint64(0x48f3d53f00000000),
  4678. 208: uint64(0xbd7b23b900000000),
  4679. 209: uint64(0x756cbd7600000000),
  4680. 210: uint64(0x6c526efd00000000),
  4681. 211: uint64(0xa445f03200000000),
  4682. 212: uint64(0x1f28b93100000000),
  4683. 213: uint64(0xd73f27fe00000000),
  4684. 214: uint64(0xce01f47500000000),
  4685. 215: uint64(0x06166aba00000000),
  4686. 216: uint64(0xb8da667300000000),
  4687. 217: uint64(0x70cdf8bc00000000),
  4688. 218: uint64(0x69f32b3700000000),
  4689. 219: uint64(0xa1e4b5f800000000),
  4690. 220: uint64(0x1a89fcfb00000000),
  4691. 221: uint64(0xd29e623400000000),
  4692. 222: uint64(0xcba0b1bf00000000),
  4693. 223: uint64(0x03b72f7000000000),
  4694. 224: uint64(0x60b72d6900000000),
  4695. 225: uint64(0xa8a0b3a600000000),
  4696. 226: uint64(0xb19e602d00000000),
  4697. 227: uint64(0x7989fee200000000),
  4698. 228: uint64(0xc2e4b7e100000000),
  4699. 229: uint64(0x0af3292e00000000),
  4700. 230: uint64(0x13cdfaa500000000),
  4701. 231: uint64(0xdbda646a00000000),
  4702. 232: uint64(0x651668a300000000),
  4703. 233: uint64(0xad01f66c00000000),
  4704. 234: uint64(0xb43f25e700000000),
  4705. 235: uint64(0x7c28bb2800000000),
  4706. 236: uint64(0xc745f22b00000000),
  4707. 237: uint64(0x0f526ce400000000),
  4708. 238: uint64(0x166cbf6f00000000),
  4709. 239: uint64(0xde7b21a000000000),
  4710. 240: uint64(0x2bf3d72600000000),
  4711. 241: uint64(0xe3e449e900000000),
  4712. 242: uint64(0xfada9a6200000000),
  4713. 243: uint64(0x32cd04ad00000000),
  4714. 244: uint64(0x89a04dae00000000),
  4715. 245: uint64(0x41b7d36100000000),
  4716. 246: uint64(0x588900ea00000000),
  4717. 247: uint64(0x909e9e2500000000),
  4718. 248: uint64(0x2e5292ec00000000),
  4719. 249: uint64(0xe6450c2300000000),
  4720. 250: uint64(0xff7bdfa800000000),
  4721. 251: uint64(0x376c416700000000),
  4722. 252: uint64(0x8c01086400000000),
  4723. 253: uint64(0x441696ab00000000),
  4724. 254: uint64(0x5d28452000000000),
  4725. 255: uint64(0x953fdbef00000000),
  4726. },
  4727. 3: {
  4728. 1: uint64(0x95d4709500000000),
  4729. 2: uint64(0x6baf90f100000000),
  4730. 3: uint64(0xfe7be06400000000),
  4731. 4: uint64(0x9758503800000000),
  4732. 5: uint64(0x028c20ad00000000),
  4733. 6: uint64(0xfcf7c0c900000000),
  4734. 7: uint64(0x6923b05c00000000),
  4735. 8: uint64(0x2eb1a07000000000),
  4736. 9: uint64(0xbb65d0e500000000),
  4737. 10: uint64(0x451e308100000000),
  4738. 11: uint64(0xd0ca401400000000),
  4739. 12: uint64(0xb9e9f04800000000),
  4740. 13: uint64(0x2c3d80dd00000000),
  4741. 14: uint64(0xd24660b900000000),
  4742. 15: uint64(0x4792102c00000000),
  4743. 16: uint64(0x5c6241e100000000),
  4744. 17: uint64(0xc9b6317400000000),
  4745. 18: uint64(0x37cdd11000000000),
  4746. 19: uint64(0xa219a18500000000),
  4747. 20: uint64(0xcb3a11d900000000),
  4748. 21: uint64(0x5eee614c00000000),
  4749. 22: uint64(0xa095812800000000),
  4750. 23: uint64(0x3541f1bd00000000),
  4751. 24: uint64(0x72d3e19100000000),
  4752. 25: uint64(0xe707910400000000),
  4753. 26: uint64(0x197c716000000000),
  4754. 27: uint64(0x8ca801f500000000),
  4755. 28: uint64(0xe58bb1a900000000),
  4756. 29: uint64(0x705fc13c00000000),
  4757. 30: uint64(0x8e24215800000000),
  4758. 31: uint64(0x1bf051cd00000000),
  4759. 32: uint64(0xf9c2f31900000000),
  4760. 33: uint64(0x6c16838c00000000),
  4761. 34: uint64(0x926d63e800000000),
  4762. 35: uint64(0x07b9137d00000000),
  4763. 36: uint64(0x6e9aa32100000000),
  4764. 37: uint64(0xfb4ed3b400000000),
  4765. 38: uint64(0x053533d000000000),
  4766. 39: uint64(0x90e1434500000000),
  4767. 40: uint64(0xd773536900000000),
  4768. 41: uint64(0x42a723fc00000000),
  4769. 42: uint64(0xbcdcc39800000000),
  4770. 43: uint64(0x2908b30d00000000),
  4771. 44: uint64(0x402b035100000000),
  4772. 45: uint64(0xd5ff73c400000000),
  4773. 46: uint64(0x2b8493a000000000),
  4774. 47: uint64(0xbe50e33500000000),
  4775. 48: uint64(0xa5a0b2f800000000),
  4776. 49: uint64(0x3074c26d00000000),
  4777. 50: uint64(0xce0f220900000000),
  4778. 51: uint64(0x5bdb529c00000000),
  4779. 52: uint64(0x32f8e2c000000000),
  4780. 53: uint64(0xa72c925500000000),
  4781. 54: uint64(0x5957723100000000),
  4782. 55: uint64(0xcc8302a400000000),
  4783. 56: uint64(0x8b11128800000000),
  4784. 57: uint64(0x1ec5621d00000000),
  4785. 58: uint64(0xe0be827900000000),
  4786. 59: uint64(0x756af2ec00000000),
  4787. 60: uint64(0x1c4942b000000000),
  4788. 61: uint64(0x899d322500000000),
  4789. 62: uint64(0x77e6d24100000000),
  4790. 63: uint64(0xe232a2d400000000),
  4791. 64: uint64(0xf285e73300000000),
  4792. 65: uint64(0x675197a600000000),
  4793. 66: uint64(0x992a77c200000000),
  4794. 67: uint64(0x0cfe075700000000),
  4795. 68: uint64(0x65ddb70b00000000),
  4796. 69: uint64(0xf009c79e00000000),
  4797. 70: uint64(0x0e7227fa00000000),
  4798. 71: uint64(0x9ba6576f00000000),
  4799. 72: uint64(0xdc34474300000000),
  4800. 73: uint64(0x49e037d600000000),
  4801. 74: uint64(0xb79bd7b200000000),
  4802. 75: uint64(0x224fa72700000000),
  4803. 76: uint64(0x4b6c177b00000000),
  4804. 77: uint64(0xdeb867ee00000000),
  4805. 78: uint64(0x20c3878a00000000),
  4806. 79: uint64(0xb517f71f00000000),
  4807. 80: uint64(0xaee7a6d200000000),
  4808. 81: uint64(0x3b33d64700000000),
  4809. 82: uint64(0xc548362300000000),
  4810. 83: uint64(0x509c46b600000000),
  4811. 84: uint64(0x39bff6ea00000000),
  4812. 85: uint64(0xac6b867f00000000),
  4813. 86: uint64(0x5210661b00000000),
  4814. 87: uint64(0xc7c4168e00000000),
  4815. 88: uint64(0x805606a200000000),
  4816. 89: uint64(0x1582763700000000),
  4817. 90: uint64(0xebf9965300000000),
  4818. 91: uint64(0x7e2de6c600000000),
  4819. 92: uint64(0x170e569a00000000),
  4820. 93: uint64(0x82da260f00000000),
  4821. 94: uint64(0x7ca1c66b00000000),
  4822. 95: uint64(0xe975b6fe00000000),
  4823. 96: uint64(0x0b47142a00000000),
  4824. 97: uint64(0x9e9364bf00000000),
  4825. 98: uint64(0x60e884db00000000),
  4826. 99: uint64(0xf53cf44e00000000),
  4827. 100: uint64(0x9c1f441200000000),
  4828. 101: uint64(0x09cb348700000000),
  4829. 102: uint64(0xf7b0d4e300000000),
  4830. 103: uint64(0x6264a47600000000),
  4831. 104: uint64(0x25f6b45a00000000),
  4832. 105: uint64(0xb022c4cf00000000),
  4833. 106: uint64(0x4e5924ab00000000),
  4834. 107: uint64(0xdb8d543e00000000),
  4835. 108: uint64(0xb2aee46200000000),
  4836. 109: uint64(0x277a94f700000000),
  4837. 110: uint64(0xd901749300000000),
  4838. 111: uint64(0x4cd5040600000000),
  4839. 112: uint64(0x572555cb00000000),
  4840. 113: uint64(0xc2f1255e00000000),
  4841. 114: uint64(0x3c8ac53a00000000),
  4842. 115: uint64(0xa95eb5af00000000),
  4843. 116: uint64(0xc07d05f300000000),
  4844. 117: uint64(0x55a9756600000000),
  4845. 118: uint64(0xabd2950200000000),
  4846. 119: uint64(0x3e06e59700000000),
  4847. 120: uint64(0x7994f5bb00000000),
  4848. 121: uint64(0xec40852e00000000),
  4849. 122: uint64(0x123b654a00000000),
  4850. 123: uint64(0x87ef15df00000000),
  4851. 124: uint64(0xeecca58300000000),
  4852. 125: uint64(0x7b18d51600000000),
  4853. 126: uint64(0x8563357200000000),
  4854. 127: uint64(0x10b745e700000000),
  4855. 128: uint64(0xe40bcf6700000000),
  4856. 129: uint64(0x71dfbff200000000),
  4857. 130: uint64(0x8fa45f9600000000),
  4858. 131: uint64(0x1a702f0300000000),
  4859. 132: uint64(0x73539f5f00000000),
  4860. 133: uint64(0xe687efca00000000),
  4861. 134: uint64(0x18fc0fae00000000),
  4862. 135: uint64(0x8d287f3b00000000),
  4863. 136: uint64(0xcaba6f1700000000),
  4864. 137: uint64(0x5f6e1f8200000000),
  4865. 138: uint64(0xa115ffe600000000),
  4866. 139: uint64(0x34c18f7300000000),
  4867. 140: uint64(0x5de23f2f00000000),
  4868. 141: uint64(0xc8364fba00000000),
  4869. 142: uint64(0x364dafde00000000),
  4870. 143: uint64(0xa399df4b00000000),
  4871. 144: uint64(0xb8698e8600000000),
  4872. 145: uint64(0x2dbdfe1300000000),
  4873. 146: uint64(0xd3c61e7700000000),
  4874. 147: uint64(0x46126ee200000000),
  4875. 148: uint64(0x2f31debe00000000),
  4876. 149: uint64(0xbae5ae2b00000000),
  4877. 150: uint64(0x449e4e4f00000000),
  4878. 151: uint64(0xd14a3eda00000000),
  4879. 152: uint64(0x96d82ef600000000),
  4880. 153: uint64(0x030c5e6300000000),
  4881. 154: uint64(0xfd77be0700000000),
  4882. 155: uint64(0x68a3ce9200000000),
  4883. 156: uint64(0x01807ece00000000),
  4884. 157: uint64(0x94540e5b00000000),
  4885. 158: uint64(0x6a2fee3f00000000),
  4886. 159: uint64(0xfffb9eaa00000000),
  4887. 160: uint64(0x1dc93c7e00000000),
  4888. 161: uint64(0x881d4ceb00000000),
  4889. 162: uint64(0x7666ac8f00000000),
  4890. 163: uint64(0xe3b2dc1a00000000),
  4891. 164: uint64(0x8a916c4600000000),
  4892. 165: uint64(0x1f451cd300000000),
  4893. 166: uint64(0xe13efcb700000000),
  4894. 167: uint64(0x74ea8c2200000000),
  4895. 168: uint64(0x33789c0e00000000),
  4896. 169: uint64(0xa6acec9b00000000),
  4897. 170: uint64(0x58d70cff00000000),
  4898. 171: uint64(0xcd037c6a00000000),
  4899. 172: uint64(0xa420cc3600000000),
  4900. 173: uint64(0x31f4bca300000000),
  4901. 174: uint64(0xcf8f5cc700000000),
  4902. 175: uint64(0x5a5b2c5200000000),
  4903. 176: uint64(0x41ab7d9f00000000),
  4904. 177: uint64(0xd47f0d0a00000000),
  4905. 178: uint64(0x2a04ed6e00000000),
  4906. 179: uint64(0xbfd09dfb00000000),
  4907. 180: uint64(0xd6f32da700000000),
  4908. 181: uint64(0x43275d3200000000),
  4909. 182: uint64(0xbd5cbd5600000000),
  4910. 183: uint64(0x2888cdc300000000),
  4911. 184: uint64(0x6f1addef00000000),
  4912. 185: uint64(0xfacead7a00000000),
  4913. 186: uint64(0x04b54d1e00000000),
  4914. 187: uint64(0x91613d8b00000000),
  4915. 188: uint64(0xf8428dd700000000),
  4916. 189: uint64(0x6d96fd4200000000),
  4917. 190: uint64(0x93ed1d2600000000),
  4918. 191: uint64(0x06396db300000000),
  4919. 192: uint64(0x168e285400000000),
  4920. 193: uint64(0x835a58c100000000),
  4921. 194: uint64(0x7d21b8a500000000),
  4922. 195: uint64(0xe8f5c83000000000),
  4923. 196: uint64(0x81d6786c00000000),
  4924. 197: uint64(0x140208f900000000),
  4925. 198: uint64(0xea79e89d00000000),
  4926. 199: uint64(0x7fad980800000000),
  4927. 200: uint64(0x383f882400000000),
  4928. 201: uint64(0xadebf8b100000000),
  4929. 202: uint64(0x539018d500000000),
  4930. 203: uint64(0xc644684000000000),
  4931. 204: uint64(0xaf67d81c00000000),
  4932. 205: uint64(0x3ab3a88900000000),
  4933. 206: uint64(0xc4c848ed00000000),
  4934. 207: uint64(0x511c387800000000),
  4935. 208: uint64(0x4aec69b500000000),
  4936. 209: uint64(0xdf38192000000000),
  4937. 210: uint64(0x2143f94400000000),
  4938. 211: uint64(0xb49789d100000000),
  4939. 212: uint64(0xddb4398d00000000),
  4940. 213: uint64(0x4860491800000000),
  4941. 214: uint64(0xb61ba97c00000000),
  4942. 215: uint64(0x23cfd9e900000000),
  4943. 216: uint64(0x645dc9c500000000),
  4944. 217: uint64(0xf189b95000000000),
  4945. 218: uint64(0x0ff2593400000000),
  4946. 219: uint64(0x9a2629a100000000),
  4947. 220: uint64(0xf30599fd00000000),
  4948. 221: uint64(0x66d1e96800000000),
  4949. 222: uint64(0x98aa090c00000000),
  4950. 223: uint64(0x0d7e799900000000),
  4951. 224: uint64(0xef4cdb4d00000000),
  4952. 225: uint64(0x7a98abd800000000),
  4953. 226: uint64(0x84e34bbc00000000),
  4954. 227: uint64(0x11373b2900000000),
  4955. 228: uint64(0x78148b7500000000),
  4956. 229: uint64(0xedc0fbe000000000),
  4957. 230: uint64(0x13bb1b8400000000),
  4958. 231: uint64(0x866f6b1100000000),
  4959. 232: uint64(0xc1fd7b3d00000000),
  4960. 233: uint64(0x54290ba800000000),
  4961. 234: uint64(0xaa52ebcc00000000),
  4962. 235: uint64(0x3f869b5900000000),
  4963. 236: uint64(0x56a52b0500000000),
  4964. 237: uint64(0xc3715b9000000000),
  4965. 238: uint64(0x3d0abbf400000000),
  4966. 239: uint64(0xa8decb6100000000),
  4967. 240: uint64(0xb32e9aac00000000),
  4968. 241: uint64(0x26faea3900000000),
  4969. 242: uint64(0xd8810a5d00000000),
  4970. 243: uint64(0x4d557ac800000000),
  4971. 244: uint64(0x2476ca9400000000),
  4972. 245: uint64(0xb1a2ba0100000000),
  4973. 246: uint64(0x4fd95a6500000000),
  4974. 247: uint64(0xda0d2af000000000),
  4975. 248: uint64(0x9d9f3adc00000000),
  4976. 249: uint64(0x084b4a4900000000),
  4977. 250: uint64(0xf630aa2d00000000),
  4978. 251: uint64(0x63e4dab800000000),
  4979. 252: uint64(0x0ac76ae400000000),
  4980. 253: uint64(0x9f131a7100000000),
  4981. 254: uint64(0x6168fa1500000000),
  4982. 255: uint64(0xf4bc8a8000000000),
  4983. },
  4984. 4: {
  4985. 1: uint64(0x1f17f08000000000),
  4986. 2: uint64(0x7f2891da00000000),
  4987. 3: uint64(0x603f615a00000000),
  4988. 4: uint64(0xbf56536e00000000),
  4989. 5: uint64(0xa041a3ee00000000),
  4990. 6: uint64(0xc07ec2b400000000),
  4991. 7: uint64(0xdf69323400000000),
  4992. 8: uint64(0x7eada6dc00000000),
  4993. 9: uint64(0x61ba565c00000000),
  4994. 10: uint64(0x0185370600000000),
  4995. 11: uint64(0x1e92c78600000000),
  4996. 12: uint64(0xc1fbf5b200000000),
  4997. 13: uint64(0xdeec053200000000),
  4998. 14: uint64(0xbed3646800000000),
  4999. 15: uint64(0xa1c494e800000000),
  5000. 16: uint64(0xbd5c3c6200000000),
  5001. 17: uint64(0xa24bcce200000000),
  5002. 18: uint64(0xc274adb800000000),
  5003. 19: uint64(0xdd635d3800000000),
  5004. 20: uint64(0x020a6f0c00000000),
  5005. 21: uint64(0x1d1d9f8c00000000),
  5006. 22: uint64(0x7d22fed600000000),
  5007. 23: uint64(0x62350e5600000000),
  5008. 24: uint64(0xc3f19abe00000000),
  5009. 25: uint64(0xdce66a3e00000000),
  5010. 26: uint64(0xbcd90b6400000000),
  5011. 27: uint64(0xa3cefbe400000000),
  5012. 28: uint64(0x7ca7c9d000000000),
  5013. 29: uint64(0x63b0395000000000),
  5014. 30: uint64(0x038f580a00000000),
  5015. 31: uint64(0x1c98a88a00000000),
  5016. 32: uint64(0x7ab978c400000000),
  5017. 33: uint64(0x65ae884400000000),
  5018. 34: uint64(0x0591e91e00000000),
  5019. 35: uint64(0x1a86199e00000000),
  5020. 36: uint64(0xc5ef2baa00000000),
  5021. 37: uint64(0xdaf8db2a00000000),
  5022. 38: uint64(0xbac7ba7000000000),
  5023. 39: uint64(0xa5d04af000000000),
  5024. 40: uint64(0x0414de1800000000),
  5025. 41: uint64(0x1b032e9800000000),
  5026. 42: uint64(0x7b3c4fc200000000),
  5027. 43: uint64(0x642bbf4200000000),
  5028. 44: uint64(0xbb428d7600000000),
  5029. 45: uint64(0xa4557df600000000),
  5030. 46: uint64(0xc46a1cac00000000),
  5031. 47: uint64(0xdb7dec2c00000000),
  5032. 48: uint64(0xc7e544a600000000),
  5033. 49: uint64(0xd8f2b42600000000),
  5034. 50: uint64(0xb8cdd57c00000000),
  5035. 51: uint64(0xa7da25fc00000000),
  5036. 52: uint64(0x78b317c800000000),
  5037. 53: uint64(0x67a4e74800000000),
  5038. 54: uint64(0x079b861200000000),
  5039. 55: uint64(0x188c769200000000),
  5040. 56: uint64(0xb948e27a00000000),
  5041. 57: uint64(0xa65f12fa00000000),
  5042. 58: uint64(0xc66073a000000000),
  5043. 59: uint64(0xd977832000000000),
  5044. 60: uint64(0x061eb11400000000),
  5045. 61: uint64(0x1909419400000000),
  5046. 62: uint64(0x793620ce00000000),
  5047. 63: uint64(0x6621d04e00000000),
  5048. 64: uint64(0xb574805300000000),
  5049. 65: uint64(0xaa6370d300000000),
  5050. 66: uint64(0xca5c118900000000),
  5051. 67: uint64(0xd54be10900000000),
  5052. 68: uint64(0x0a22d33d00000000),
  5053. 69: uint64(0x153523bd00000000),
  5054. 70: uint64(0x750a42e700000000),
  5055. 71: uint64(0x6a1db26700000000),
  5056. 72: uint64(0xcbd9268f00000000),
  5057. 73: uint64(0xd4ced60f00000000),
  5058. 74: uint64(0xb4f1b75500000000),
  5059. 75: uint64(0xabe647d500000000),
  5060. 76: uint64(0x748f75e100000000),
  5061. 77: uint64(0x6b98856100000000),
  5062. 78: uint64(0x0ba7e43b00000000),
  5063. 79: uint64(0x14b014bb00000000),
  5064. 80: uint64(0x0828bc3100000000),
  5065. 81: uint64(0x173f4cb100000000),
  5066. 82: uint64(0x77002deb00000000),
  5067. 83: uint64(0x6817dd6b00000000),
  5068. 84: uint64(0xb77eef5f00000000),
  5069. 85: uint64(0xa8691fdf00000000),
  5070. 86: uint64(0xc8567e8500000000),
  5071. 87: uint64(0xd7418e0500000000),
  5072. 88: uint64(0x76851aed00000000),
  5073. 89: uint64(0x6992ea6d00000000),
  5074. 90: uint64(0x09ad8b3700000000),
  5075. 91: uint64(0x16ba7bb700000000),
  5076. 92: uint64(0xc9d3498300000000),
  5077. 93: uint64(0xd6c4b90300000000),
  5078. 94: uint64(0xb6fbd85900000000),
  5079. 95: uint64(0xa9ec28d900000000),
  5080. 96: uint64(0xcfcdf89700000000),
  5081. 97: uint64(0xd0da081700000000),
  5082. 98: uint64(0xb0e5694d00000000),
  5083. 99: uint64(0xaff299cd00000000),
  5084. 100: uint64(0x709babf900000000),
  5085. 101: uint64(0x6f8c5b7900000000),
  5086. 102: uint64(0x0fb33a2300000000),
  5087. 103: uint64(0x10a4caa300000000),
  5088. 104: uint64(0xb1605e4b00000000),
  5089. 105: uint64(0xae77aecb00000000),
  5090. 106: uint64(0xce48cf9100000000),
  5091. 107: uint64(0xd15f3f1100000000),
  5092. 108: uint64(0x0e360d2500000000),
  5093. 109: uint64(0x1121fda500000000),
  5094. 110: uint64(0x711e9cff00000000),
  5095. 111: uint64(0x6e096c7f00000000),
  5096. 112: uint64(0x7291c4f500000000),
  5097. 113: uint64(0x6d86347500000000),
  5098. 114: uint64(0x0db9552f00000000),
  5099. 115: uint64(0x12aea5af00000000),
  5100. 116: uint64(0xcdc7979b00000000),
  5101. 117: uint64(0xd2d0671b00000000),
  5102. 118: uint64(0xb2ef064100000000),
  5103. 119: uint64(0xadf8f6c100000000),
  5104. 120: uint64(0x0c3c622900000000),
  5105. 121: uint64(0x132b92a900000000),
  5106. 122: uint64(0x7314f3f300000000),
  5107. 123: uint64(0x6c03037300000000),
  5108. 124: uint64(0xb36a314700000000),
  5109. 125: uint64(0xac7dc1c700000000),
  5110. 126: uint64(0xcc42a09d00000000),
  5111. 127: uint64(0xd355501d00000000),
  5112. 128: uint64(0x6ae900a700000000),
  5113. 129: uint64(0x75fef02700000000),
  5114. 130: uint64(0x15c1917d00000000),
  5115. 131: uint64(0x0ad661fd00000000),
  5116. 132: uint64(0xd5bf53c900000000),
  5117. 133: uint64(0xcaa8a34900000000),
  5118. 134: uint64(0xaa97c21300000000),
  5119. 135: uint64(0xb580329300000000),
  5120. 136: uint64(0x1444a67b00000000),
  5121. 137: uint64(0x0b5356fb00000000),
  5122. 138: uint64(0x6b6c37a100000000),
  5123. 139: uint64(0x747bc72100000000),
  5124. 140: uint64(0xab12f51500000000),
  5125. 141: uint64(0xb405059500000000),
  5126. 142: uint64(0xd43a64cf00000000),
  5127. 143: uint64(0xcb2d944f00000000),
  5128. 144: uint64(0xd7b53cc500000000),
  5129. 145: uint64(0xc8a2cc4500000000),
  5130. 146: uint64(0xa89dad1f00000000),
  5131. 147: uint64(0xb78a5d9f00000000),
  5132. 148: uint64(0x68e36fab00000000),
  5133. 149: uint64(0x77f49f2b00000000),
  5134. 150: uint64(0x17cbfe7100000000),
  5135. 151: uint64(0x08dc0ef100000000),
  5136. 152: uint64(0xa9189a1900000000),
  5137. 153: uint64(0xb60f6a9900000000),
  5138. 154: uint64(0xd6300bc300000000),
  5139. 155: uint64(0xc927fb4300000000),
  5140. 156: uint64(0x164ec97700000000),
  5141. 157: uint64(0x095939f700000000),
  5142. 158: uint64(0x696658ad00000000),
  5143. 159: uint64(0x7671a82d00000000),
  5144. 160: uint64(0x1050786300000000),
  5145. 161: uint64(0x0f4788e300000000),
  5146. 162: uint64(0x6f78e9b900000000),
  5147. 163: uint64(0x706f193900000000),
  5148. 164: uint64(0xaf062b0d00000000),
  5149. 165: uint64(0xb011db8d00000000),
  5150. 166: uint64(0xd02ebad700000000),
  5151. 167: uint64(0xcf394a5700000000),
  5152. 168: uint64(0x6efddebf00000000),
  5153. 169: uint64(0x71ea2e3f00000000),
  5154. 170: uint64(0x11d54f6500000000),
  5155. 171: uint64(0x0ec2bfe500000000),
  5156. 172: uint64(0xd1ab8dd100000000),
  5157. 173: uint64(0xcebc7d5100000000),
  5158. 174: uint64(0xae831c0b00000000),
  5159. 175: uint64(0xb194ec8b00000000),
  5160. 176: uint64(0xad0c440100000000),
  5161. 177: uint64(0xb21bb48100000000),
  5162. 178: uint64(0xd224d5db00000000),
  5163. 179: uint64(0xcd33255b00000000),
  5164. 180: uint64(0x125a176f00000000),
  5165. 181: uint64(0x0d4de7ef00000000),
  5166. 182: uint64(0x6d7286b500000000),
  5167. 183: uint64(0x7265763500000000),
  5168. 184: uint64(0xd3a1e2dd00000000),
  5169. 185: uint64(0xccb6125d00000000),
  5170. 186: uint64(0xac89730700000000),
  5171. 187: uint64(0xb39e838700000000),
  5172. 188: uint64(0x6cf7b1b300000000),
  5173. 189: uint64(0x73e0413300000000),
  5174. 190: uint64(0x13df206900000000),
  5175. 191: uint64(0x0cc8d0e900000000),
  5176. 192: uint64(0xdf9d80f400000000),
  5177. 193: uint64(0xc08a707400000000),
  5178. 194: uint64(0xa0b5112e00000000),
  5179. 195: uint64(0xbfa2e1ae00000000),
  5180. 196: uint64(0x60cbd39a00000000),
  5181. 197: uint64(0x7fdc231a00000000),
  5182. 198: uint64(0x1fe3424000000000),
  5183. 199: uint64(0x00f4b2c000000000),
  5184. 200: uint64(0xa130262800000000),
  5185. 201: uint64(0xbe27d6a800000000),
  5186. 202: uint64(0xde18b7f200000000),
  5187. 203: uint64(0xc10f477200000000),
  5188. 204: uint64(0x1e66754600000000),
  5189. 205: uint64(0x017185c600000000),
  5190. 206: uint64(0x614ee49c00000000),
  5191. 207: uint64(0x7e59141c00000000),
  5192. 208: uint64(0x62c1bc9600000000),
  5193. 209: uint64(0x7dd64c1600000000),
  5194. 210: uint64(0x1de92d4c00000000),
  5195. 211: uint64(0x02feddcc00000000),
  5196. 212: uint64(0xdd97eff800000000),
  5197. 213: uint64(0xc2801f7800000000),
  5198. 214: uint64(0xa2bf7e2200000000),
  5199. 215: uint64(0xbda88ea200000000),
  5200. 216: uint64(0x1c6c1a4a00000000),
  5201. 217: uint64(0x037beaca00000000),
  5202. 218: uint64(0x63448b9000000000),
  5203. 219: uint64(0x7c537b1000000000),
  5204. 220: uint64(0xa33a492400000000),
  5205. 221: uint64(0xbc2db9a400000000),
  5206. 222: uint64(0xdc12d8fe00000000),
  5207. 223: uint64(0xc305287e00000000),
  5208. 224: uint64(0xa524f83000000000),
  5209. 225: uint64(0xba3308b000000000),
  5210. 226: uint64(0xda0c69ea00000000),
  5211. 227: uint64(0xc51b996a00000000),
  5212. 228: uint64(0x1a72ab5e00000000),
  5213. 229: uint64(0x05655bde00000000),
  5214. 230: uint64(0x655a3a8400000000),
  5215. 231: uint64(0x7a4dca0400000000),
  5216. 232: uint64(0xdb895eec00000000),
  5217. 233: uint64(0xc49eae6c00000000),
  5218. 234: uint64(0xa4a1cf3600000000),
  5219. 235: uint64(0xbbb63fb600000000),
  5220. 236: uint64(0x64df0d8200000000),
  5221. 237: uint64(0x7bc8fd0200000000),
  5222. 238: uint64(0x1bf79c5800000000),
  5223. 239: uint64(0x04e06cd800000000),
  5224. 240: uint64(0x1878c45200000000),
  5225. 241: uint64(0x076f34d200000000),
  5226. 242: uint64(0x6750558800000000),
  5227. 243: uint64(0x7847a50800000000),
  5228. 244: uint64(0xa72e973c00000000),
  5229. 245: uint64(0xb83967bc00000000),
  5230. 246: uint64(0xd80606e600000000),
  5231. 247: uint64(0xc711f66600000000),
  5232. 248: uint64(0x66d5628e00000000),
  5233. 249: uint64(0x79c2920e00000000),
  5234. 250: uint64(0x19fdf35400000000),
  5235. 251: uint64(0x06ea03d400000000),
  5236. 252: uint64(0xd98331e000000000),
  5237. 253: uint64(0xc694c16000000000),
  5238. 254: uint64(0xa6aba03a00000000),
  5239. 255: uint64(0xb9bc50ba00000000),
  5240. },
  5241. 5: {
  5242. 1: uint64(0xe2fd888d00000000),
  5243. 2: uint64(0x85fd60c000000000),
  5244. 3: uint64(0x6700e84d00000000),
  5245. 4: uint64(0x4bfdb05b00000000),
  5246. 5: uint64(0xa90038d600000000),
  5247. 6: uint64(0xce00d09b00000000),
  5248. 7: uint64(0x2cfd581600000000),
  5249. 8: uint64(0x96fa61b700000000),
  5250. 9: uint64(0x7407e93a00000000),
  5251. 10: uint64(0x1307017700000000),
  5252. 11: uint64(0xf1fa89fa00000000),
  5253. 12: uint64(0xdd07d1ec00000000),
  5254. 13: uint64(0x3ffa596100000000),
  5255. 14: uint64(0x58fab12c00000000),
  5256. 15: uint64(0xba0739a100000000),
  5257. 16: uint64(0x6df3b2b500000000),
  5258. 17: uint64(0x8f0e3a3800000000),
  5259. 18: uint64(0xe80ed27500000000),
  5260. 19: uint64(0x0af35af800000000),
  5261. 20: uint64(0x260e02ee00000000),
  5262. 21: uint64(0xc4f38a6300000000),
  5263. 22: uint64(0xa3f3622e00000000),
  5264. 23: uint64(0x410eeaa300000000),
  5265. 24: uint64(0xfb09d30200000000),
  5266. 25: uint64(0x19f45b8f00000000),
  5267. 26: uint64(0x7ef4b3c200000000),
  5268. 27: uint64(0x9c093b4f00000000),
  5269. 28: uint64(0xb0f4635900000000),
  5270. 29: uint64(0x5209ebd400000000),
  5271. 30: uint64(0x3509039900000000),
  5272. 31: uint64(0xd7f48b1400000000),
  5273. 32: uint64(0x9be014b000000000),
  5274. 33: uint64(0x791d9c3d00000000),
  5275. 34: uint64(0x1e1d747000000000),
  5276. 35: uint64(0xfce0fcfd00000000),
  5277. 36: uint64(0xd01da4eb00000000),
  5278. 37: uint64(0x32e02c6600000000),
  5279. 38: uint64(0x55e0c42b00000000),
  5280. 39: uint64(0xb71d4ca600000000),
  5281. 40: uint64(0x0d1a750700000000),
  5282. 41: uint64(0xefe7fd8a00000000),
  5283. 42: uint64(0x88e715c700000000),
  5284. 43: uint64(0x6a1a9d4a00000000),
  5285. 44: uint64(0x46e7c55c00000000),
  5286. 45: uint64(0xa41a4dd100000000),
  5287. 46: uint64(0xc31aa59c00000000),
  5288. 47: uint64(0x21e72d1100000000),
  5289. 48: uint64(0xf613a60500000000),
  5290. 49: uint64(0x14ee2e8800000000),
  5291. 50: uint64(0x73eec6c500000000),
  5292. 51: uint64(0x91134e4800000000),
  5293. 52: uint64(0xbdee165e00000000),
  5294. 53: uint64(0x5f139ed300000000),
  5295. 54: uint64(0x3813769e00000000),
  5296. 55: uint64(0xdaeefe1300000000),
  5297. 56: uint64(0x60e9c7b200000000),
  5298. 57: uint64(0x82144f3f00000000),
  5299. 58: uint64(0xe514a77200000000),
  5300. 59: uint64(0x07e92fff00000000),
  5301. 60: uint64(0x2b1477e900000000),
  5302. 61: uint64(0xc9e9ff6400000000),
  5303. 62: uint64(0xaee9172900000000),
  5304. 63: uint64(0x4c149fa400000000),
  5305. 64: uint64(0x77c758bb00000000),
  5306. 65: uint64(0x953ad03600000000),
  5307. 66: uint64(0xf23a387b00000000),
  5308. 67: uint64(0x10c7b0f600000000),
  5309. 68: uint64(0x3c3ae8e000000000),
  5310. 69: uint64(0xdec7606d00000000),
  5311. 70: uint64(0xb9c7882000000000),
  5312. 71: uint64(0x5b3a00ad00000000),
  5313. 72: uint64(0xe13d390c00000000),
  5314. 73: uint64(0x03c0b18100000000),
  5315. 74: uint64(0x64c059cc00000000),
  5316. 75: uint64(0x863dd14100000000),
  5317. 76: uint64(0xaac0895700000000),
  5318. 77: uint64(0x483d01da00000000),
  5319. 78: uint64(0x2f3de99700000000),
  5320. 79: uint64(0xcdc0611a00000000),
  5321. 80: uint64(0x1a34ea0e00000000),
  5322. 81: uint64(0xf8c9628300000000),
  5323. 82: uint64(0x9fc98ace00000000),
  5324. 83: uint64(0x7d34024300000000),
  5325. 84: uint64(0x51c95a5500000000),
  5326. 85: uint64(0xb334d2d800000000),
  5327. 86: uint64(0xd4343a9500000000),
  5328. 87: uint64(0x36c9b21800000000),
  5329. 88: uint64(0x8cce8bb900000000),
  5330. 89: uint64(0x6e33033400000000),
  5331. 90: uint64(0x0933eb7900000000),
  5332. 91: uint64(0xebce63f400000000),
  5333. 92: uint64(0xc7333be200000000),
  5334. 93: uint64(0x25ceb36f00000000),
  5335. 94: uint64(0x42ce5b2200000000),
  5336. 95: uint64(0xa033d3af00000000),
  5337. 96: uint64(0xec274c0b00000000),
  5338. 97: uint64(0x0edac48600000000),
  5339. 98: uint64(0x69da2ccb00000000),
  5340. 99: uint64(0x8b27a44600000000),
  5341. 100: uint64(0xa7dafc5000000000),
  5342. 101: uint64(0x452774dd00000000),
  5343. 102: uint64(0x22279c9000000000),
  5344. 103: uint64(0xc0da141d00000000),
  5345. 104: uint64(0x7add2dbc00000000),
  5346. 105: uint64(0x9820a53100000000),
  5347. 106: uint64(0xff204d7c00000000),
  5348. 107: uint64(0x1dddc5f100000000),
  5349. 108: uint64(0x31209de700000000),
  5350. 109: uint64(0xd3dd156a00000000),
  5351. 110: uint64(0xb4ddfd2700000000),
  5352. 111: uint64(0x562075aa00000000),
  5353. 112: uint64(0x81d4febe00000000),
  5354. 113: uint64(0x6329763300000000),
  5355. 114: uint64(0x04299e7e00000000),
  5356. 115: uint64(0xe6d416f300000000),
  5357. 116: uint64(0xca294ee500000000),
  5358. 117: uint64(0x28d4c66800000000),
  5359. 118: uint64(0x4fd42e2500000000),
  5360. 119: uint64(0xad29a6a800000000),
  5361. 120: uint64(0x172e9f0900000000),
  5362. 121: uint64(0xf5d3178400000000),
  5363. 122: uint64(0x92d3ffc900000000),
  5364. 123: uint64(0x702e774400000000),
  5365. 124: uint64(0x5cd32f5200000000),
  5366. 125: uint64(0xbe2ea7df00000000),
  5367. 126: uint64(0xd92e4f9200000000),
  5368. 127: uint64(0x3bd3c71f00000000),
  5369. 128: uint64(0xaf88c0ad00000000),
  5370. 129: uint64(0x4d75482000000000),
  5371. 130: uint64(0x2a75a06d00000000),
  5372. 131: uint64(0xc88828e000000000),
  5373. 132: uint64(0xe47570f600000000),
  5374. 133: uint64(0x0688f87b00000000),
  5375. 134: uint64(0x6188103600000000),
  5376. 135: uint64(0x837598bb00000000),
  5377. 136: uint64(0x3972a11a00000000),
  5378. 137: uint64(0xdb8f299700000000),
  5379. 138: uint64(0xbc8fc1da00000000),
  5380. 139: uint64(0x5e72495700000000),
  5381. 140: uint64(0x728f114100000000),
  5382. 141: uint64(0x907299cc00000000),
  5383. 142: uint64(0xf772718100000000),
  5384. 143: uint64(0x158ff90c00000000),
  5385. 144: uint64(0xc27b721800000000),
  5386. 145: uint64(0x2086fa9500000000),
  5387. 146: uint64(0x478612d800000000),
  5388. 147: uint64(0xa57b9a5500000000),
  5389. 148: uint64(0x8986c24300000000),
  5390. 149: uint64(0x6b7b4ace00000000),
  5391. 150: uint64(0x0c7ba28300000000),
  5392. 151: uint64(0xee862a0e00000000),
  5393. 152: uint64(0x548113af00000000),
  5394. 153: uint64(0xb67c9b2200000000),
  5395. 154: uint64(0xd17c736f00000000),
  5396. 155: uint64(0x3381fbe200000000),
  5397. 156: uint64(0x1f7ca3f400000000),
  5398. 157: uint64(0xfd812b7900000000),
  5399. 158: uint64(0x9a81c33400000000),
  5400. 159: uint64(0x787c4bb900000000),
  5401. 160: uint64(0x3468d41d00000000),
  5402. 161: uint64(0xd6955c9000000000),
  5403. 162: uint64(0xb195b4dd00000000),
  5404. 163: uint64(0x53683c5000000000),
  5405. 164: uint64(0x7f95644600000000),
  5406. 165: uint64(0x9d68eccb00000000),
  5407. 166: uint64(0xfa68048600000000),
  5408. 167: uint64(0x18958c0b00000000),
  5409. 168: uint64(0xa292b5aa00000000),
  5410. 169: uint64(0x406f3d2700000000),
  5411. 170: uint64(0x276fd56a00000000),
  5412. 171: uint64(0xc5925de700000000),
  5413. 172: uint64(0xe96f05f100000000),
  5414. 173: uint64(0x0b928d7c00000000),
  5415. 174: uint64(0x6c92653100000000),
  5416. 175: uint64(0x8e6fedbc00000000),
  5417. 176: uint64(0x599b66a800000000),
  5418. 177: uint64(0xbb66ee2500000000),
  5419. 178: uint64(0xdc66066800000000),
  5420. 179: uint64(0x3e9b8ee500000000),
  5421. 180: uint64(0x1266d6f300000000),
  5422. 181: uint64(0xf09b5e7e00000000),
  5423. 182: uint64(0x979bb63300000000),
  5424. 183: uint64(0x75663ebe00000000),
  5425. 184: uint64(0xcf61071f00000000),
  5426. 185: uint64(0x2d9c8f9200000000),
  5427. 186: uint64(0x4a9c67df00000000),
  5428. 187: uint64(0xa861ef5200000000),
  5429. 188: uint64(0x849cb74400000000),
  5430. 189: uint64(0x66613fc900000000),
  5431. 190: uint64(0x0161d78400000000),
  5432. 191: uint64(0xe39c5f0900000000),
  5433. 192: uint64(0xd84f981600000000),
  5434. 193: uint64(0x3ab2109b00000000),
  5435. 194: uint64(0x5db2f8d600000000),
  5436. 195: uint64(0xbf4f705b00000000),
  5437. 196: uint64(0x93b2284d00000000),
  5438. 197: uint64(0x714fa0c000000000),
  5439. 198: uint64(0x164f488d00000000),
  5440. 199: uint64(0xf4b2c00000000000),
  5441. 200: uint64(0x4eb5f9a100000000),
  5442. 201: uint64(0xac48712c00000000),
  5443. 202: uint64(0xcb48996100000000),
  5444. 203: uint64(0x29b511ec00000000),
  5445. 204: uint64(0x054849fa00000000),
  5446. 205: uint64(0xe7b5c17700000000),
  5447. 206: uint64(0x80b5293a00000000),
  5448. 207: uint64(0x6248a1b700000000),
  5449. 208: uint64(0xb5bc2aa300000000),
  5450. 209: uint64(0x5741a22e00000000),
  5451. 210: uint64(0x30414a6300000000),
  5452. 211: uint64(0xd2bcc2ee00000000),
  5453. 212: uint64(0xfe419af800000000),
  5454. 213: uint64(0x1cbc127500000000),
  5455. 214: uint64(0x7bbcfa3800000000),
  5456. 215: uint64(0x994172b500000000),
  5457. 216: uint64(0x23464b1400000000),
  5458. 217: uint64(0xc1bbc39900000000),
  5459. 218: uint64(0xa6bb2bd400000000),
  5460. 219: uint64(0x4446a35900000000),
  5461. 220: uint64(0x68bbfb4f00000000),
  5462. 221: uint64(0x8a4673c200000000),
  5463. 222: uint64(0xed469b8f00000000),
  5464. 223: uint64(0x0fbb130200000000),
  5465. 224: uint64(0x43af8ca600000000),
  5466. 225: uint64(0xa152042b00000000),
  5467. 226: uint64(0xc652ec6600000000),
  5468. 227: uint64(0x24af64eb00000000),
  5469. 228: uint64(0x08523cfd00000000),
  5470. 229: uint64(0xeaafb47000000000),
  5471. 230: uint64(0x8daf5c3d00000000),
  5472. 231: uint64(0x6f52d4b000000000),
  5473. 232: uint64(0xd555ed1100000000),
  5474. 233: uint64(0x37a8659c00000000),
  5475. 234: uint64(0x50a88dd100000000),
  5476. 235: uint64(0xb255055c00000000),
  5477. 236: uint64(0x9ea85d4a00000000),
  5478. 237: uint64(0x7c55d5c700000000),
  5479. 238: uint64(0x1b553d8a00000000),
  5480. 239: uint64(0xf9a8b50700000000),
  5481. 240: uint64(0x2e5c3e1300000000),
  5482. 241: uint64(0xcca1b69e00000000),
  5483. 242: uint64(0xaba15ed300000000),
  5484. 243: uint64(0x495cd65e00000000),
  5485. 244: uint64(0x65a18e4800000000),
  5486. 245: uint64(0x875c06c500000000),
  5487. 246: uint64(0xe05cee8800000000),
  5488. 247: uint64(0x02a1660500000000),
  5489. 248: uint64(0xb8a65fa400000000),
  5490. 249: uint64(0x5a5bd72900000000),
  5491. 250: uint64(0x3d5b3f6400000000),
  5492. 251: uint64(0xdfa6b7e900000000),
  5493. 252: uint64(0xf35befff00000000),
  5494. 253: uint64(0x11a6677200000000),
  5495. 254: uint64(0x76a68f3f00000000),
  5496. 255: uint64(0x945b07b200000000),
  5497. },
  5498. 6: {
  5499. 1: uint64(0xa90b894e00000000),
  5500. 2: uint64(0x5217129d00000000),
  5501. 3: uint64(0xfb1c9bd300000000),
  5502. 4: uint64(0xe52855e100000000),
  5503. 5: uint64(0x4c23dcaf00000000),
  5504. 6: uint64(0xb73f477c00000000),
  5505. 7: uint64(0x1e34ce3200000000),
  5506. 8: uint64(0x8b57db1900000000),
  5507. 9: uint64(0x225c525700000000),
  5508. 10: uint64(0xd940c98400000000),
  5509. 11: uint64(0x704b40ca00000000),
  5510. 12: uint64(0x6e7f8ef800000000),
  5511. 13: uint64(0xc77407b600000000),
  5512. 14: uint64(0x3c689c6500000000),
  5513. 15: uint64(0x9563152b00000000),
  5514. 16: uint64(0x16afb63300000000),
  5515. 17: uint64(0xbfa43f7d00000000),
  5516. 18: uint64(0x44b8a4ae00000000),
  5517. 19: uint64(0xedb32de000000000),
  5518. 20: uint64(0xf387e3d200000000),
  5519. 21: uint64(0x5a8c6a9c00000000),
  5520. 22: uint64(0xa190f14f00000000),
  5521. 23: uint64(0x089b780100000000),
  5522. 24: uint64(0x9df86d2a00000000),
  5523. 25: uint64(0x34f3e46400000000),
  5524. 26: uint64(0xcfef7fb700000000),
  5525. 27: uint64(0x66e4f6f900000000),
  5526. 28: uint64(0x78d038cb00000000),
  5527. 29: uint64(0xd1dbb18500000000),
  5528. 30: uint64(0x2ac72a5600000000),
  5529. 31: uint64(0x83cca31800000000),
  5530. 32: uint64(0x2c5e6d6700000000),
  5531. 33: uint64(0x8555e42900000000),
  5532. 34: uint64(0x7e497ffa00000000),
  5533. 35: uint64(0xd742f6b400000000),
  5534. 36: uint64(0xc976388600000000),
  5535. 37: uint64(0x607db1c800000000),
  5536. 38: uint64(0x9b612a1b00000000),
  5537. 39: uint64(0x326aa35500000000),
  5538. 40: uint64(0xa709b67e00000000),
  5539. 41: uint64(0x0e023f3000000000),
  5540. 42: uint64(0xf51ea4e300000000),
  5541. 43: uint64(0x5c152dad00000000),
  5542. 44: uint64(0x4221e39f00000000),
  5543. 45: uint64(0xeb2a6ad100000000),
  5544. 46: uint64(0x1036f10200000000),
  5545. 47: uint64(0xb93d784c00000000),
  5546. 48: uint64(0x3af1db5400000000),
  5547. 49: uint64(0x93fa521a00000000),
  5548. 50: uint64(0x68e6c9c900000000),
  5549. 51: uint64(0xc1ed408700000000),
  5550. 52: uint64(0xdfd98eb500000000),
  5551. 53: uint64(0x76d207fb00000000),
  5552. 54: uint64(0x8dce9c2800000000),
  5553. 55: uint64(0x24c5156600000000),
  5554. 56: uint64(0xb1a6004d00000000),
  5555. 57: uint64(0x18ad890300000000),
  5556. 58: uint64(0xe3b112d000000000),
  5557. 59: uint64(0x4aba9b9e00000000),
  5558. 60: uint64(0x548e55ac00000000),
  5559. 61: uint64(0xfd85dce200000000),
  5560. 62: uint64(0x0699473100000000),
  5561. 63: uint64(0xaf92ce7f00000000),
  5562. 64: uint64(0x58bcdace00000000),
  5563. 65: uint64(0xf1b7538000000000),
  5564. 66: uint64(0x0aabc85300000000),
  5565. 67: uint64(0xa3a0411d00000000),
  5566. 68: uint64(0xbd948f2f00000000),
  5567. 69: uint64(0x149f066100000000),
  5568. 70: uint64(0xef839db200000000),
  5569. 71: uint64(0x468814fc00000000),
  5570. 72: uint64(0xd3eb01d700000000),
  5571. 73: uint64(0x7ae0889900000000),
  5572. 74: uint64(0x81fc134a00000000),
  5573. 75: uint64(0x28f79a0400000000),
  5574. 76: uint64(0x36c3543600000000),
  5575. 77: uint64(0x9fc8dd7800000000),
  5576. 78: uint64(0x64d446ab00000000),
  5577. 79: uint64(0xcddfcfe500000000),
  5578. 80: uint64(0x4e136cfd00000000),
  5579. 81: uint64(0xe718e5b300000000),
  5580. 82: uint64(0x1c047e6000000000),
  5581. 83: uint64(0xb50ff72e00000000),
  5582. 84: uint64(0xab3b391c00000000),
  5583. 85: uint64(0x0230b05200000000),
  5584. 86: uint64(0xf92c2b8100000000),
  5585. 87: uint64(0x5027a2cf00000000),
  5586. 88: uint64(0xc544b7e400000000),
  5587. 89: uint64(0x6c4f3eaa00000000),
  5588. 90: uint64(0x9753a57900000000),
  5589. 91: uint64(0x3e582c3700000000),
  5590. 92: uint64(0x206ce20500000000),
  5591. 93: uint64(0x89676b4b00000000),
  5592. 94: uint64(0x727bf09800000000),
  5593. 95: uint64(0xdb7079d600000000),
  5594. 96: uint64(0x74e2b7a900000000),
  5595. 97: uint64(0xdde93ee700000000),
  5596. 98: uint64(0x26f5a53400000000),
  5597. 99: uint64(0x8ffe2c7a00000000),
  5598. 100: uint64(0x91cae24800000000),
  5599. 101: uint64(0x38c16b0600000000),
  5600. 102: uint64(0xc3ddf0d500000000),
  5601. 103: uint64(0x6ad6799b00000000),
  5602. 104: uint64(0xffb56cb000000000),
  5603. 105: uint64(0x56bee5fe00000000),
  5604. 106: uint64(0xada27e2d00000000),
  5605. 107: uint64(0x04a9f76300000000),
  5606. 108: uint64(0x1a9d395100000000),
  5607. 109: uint64(0xb396b01f00000000),
  5608. 110: uint64(0x488a2bcc00000000),
  5609. 111: uint64(0xe181a28200000000),
  5610. 112: uint64(0x624d019a00000000),
  5611. 113: uint64(0xcb4688d400000000),
  5612. 114: uint64(0x305a130700000000),
  5613. 115: uint64(0x99519a4900000000),
  5614. 116: uint64(0x8765547b00000000),
  5615. 117: uint64(0x2e6edd3500000000),
  5616. 118: uint64(0xd57246e600000000),
  5617. 119: uint64(0x7c79cfa800000000),
  5618. 120: uint64(0xe91ada8300000000),
  5619. 121: uint64(0x401153cd00000000),
  5620. 122: uint64(0xbb0dc81e00000000),
  5621. 123: uint64(0x1206415000000000),
  5622. 124: uint64(0x0c328f6200000000),
  5623. 125: uint64(0xa539062c00000000),
  5624. 126: uint64(0x5e259dff00000000),
  5625. 127: uint64(0xf72e14b100000000),
  5626. 128: uint64(0xf17ec44600000000),
  5627. 129: uint64(0x58754d0800000000),
  5628. 130: uint64(0xa369d6db00000000),
  5629. 131: uint64(0x0a625f9500000000),
  5630. 132: uint64(0x145691a700000000),
  5631. 133: uint64(0xbd5d18e900000000),
  5632. 134: uint64(0x4641833a00000000),
  5633. 135: uint64(0xef4a0a7400000000),
  5634. 136: uint64(0x7a291f5f00000000),
  5635. 137: uint64(0xd322961100000000),
  5636. 138: uint64(0x283e0dc200000000),
  5637. 139: uint64(0x8135848c00000000),
  5638. 140: uint64(0x9f014abe00000000),
  5639. 141: uint64(0x360ac3f000000000),
  5640. 142: uint64(0xcd16582300000000),
  5641. 143: uint64(0x641dd16d00000000),
  5642. 144: uint64(0xe7d1727500000000),
  5643. 145: uint64(0x4edafb3b00000000),
  5644. 146: uint64(0xb5c660e800000000),
  5645. 147: uint64(0x1ccde9a600000000),
  5646. 148: uint64(0x02f9279400000000),
  5647. 149: uint64(0xabf2aeda00000000),
  5648. 150: uint64(0x50ee350900000000),
  5649. 151: uint64(0xf9e5bc4700000000),
  5650. 152: uint64(0x6c86a96c00000000),
  5651. 153: uint64(0xc58d202200000000),
  5652. 154: uint64(0x3e91bbf100000000),
  5653. 155: uint64(0x979a32bf00000000),
  5654. 156: uint64(0x89aefc8d00000000),
  5655. 157: uint64(0x20a575c300000000),
  5656. 158: uint64(0xdbb9ee1000000000),
  5657. 159: uint64(0x72b2675e00000000),
  5658. 160: uint64(0xdd20a92100000000),
  5659. 161: uint64(0x742b206f00000000),
  5660. 162: uint64(0x8f37bbbc00000000),
  5661. 163: uint64(0x263c32f200000000),
  5662. 164: uint64(0x3808fcc000000000),
  5663. 165: uint64(0x9103758e00000000),
  5664. 166: uint64(0x6a1fee5d00000000),
  5665. 167: uint64(0xc314671300000000),
  5666. 168: uint64(0x5677723800000000),
  5667. 169: uint64(0xff7cfb7600000000),
  5668. 170: uint64(0x046060a500000000),
  5669. 171: uint64(0xad6be9eb00000000),
  5670. 172: uint64(0xb35f27d900000000),
  5671. 173: uint64(0x1a54ae9700000000),
  5672. 174: uint64(0xe148354400000000),
  5673. 175: uint64(0x4843bc0a00000000),
  5674. 176: uint64(0xcb8f1f1200000000),
  5675. 177: uint64(0x6284965c00000000),
  5676. 178: uint64(0x99980d8f00000000),
  5677. 179: uint64(0x309384c100000000),
  5678. 180: uint64(0x2ea74af300000000),
  5679. 181: uint64(0x87acc3bd00000000),
  5680. 182: uint64(0x7cb0586e00000000),
  5681. 183: uint64(0xd5bbd12000000000),
  5682. 184: uint64(0x40d8c40b00000000),
  5683. 185: uint64(0xe9d34d4500000000),
  5684. 186: uint64(0x12cfd69600000000),
  5685. 187: uint64(0xbbc45fd800000000),
  5686. 188: uint64(0xa5f091ea00000000),
  5687. 189: uint64(0x0cfb18a400000000),
  5688. 190: uint64(0xf7e7837700000000),
  5689. 191: uint64(0x5eec0a3900000000),
  5690. 192: uint64(0xa9c21e8800000000),
  5691. 193: uint64(0x00c997c600000000),
  5692. 194: uint64(0xfbd50c1500000000),
  5693. 195: uint64(0x52de855b00000000),
  5694. 196: uint64(0x4cea4b6900000000),
  5695. 197: uint64(0xe5e1c22700000000),
  5696. 198: uint64(0x1efd59f400000000),
  5697. 199: uint64(0xb7f6d0ba00000000),
  5698. 200: uint64(0x2295c59100000000),
  5699. 201: uint64(0x8b9e4cdf00000000),
  5700. 202: uint64(0x7082d70c00000000),
  5701. 203: uint64(0xd9895e4200000000),
  5702. 204: uint64(0xc7bd907000000000),
  5703. 205: uint64(0x6eb6193e00000000),
  5704. 206: uint64(0x95aa82ed00000000),
  5705. 207: uint64(0x3ca10ba300000000),
  5706. 208: uint64(0xbf6da8bb00000000),
  5707. 209: uint64(0x166621f500000000),
  5708. 210: uint64(0xed7aba2600000000),
  5709. 211: uint64(0x4471336800000000),
  5710. 212: uint64(0x5a45fd5a00000000),
  5711. 213: uint64(0xf34e741400000000),
  5712. 214: uint64(0x0852efc700000000),
  5713. 215: uint64(0xa159668900000000),
  5714. 216: uint64(0x343a73a200000000),
  5715. 217: uint64(0x9d31faec00000000),
  5716. 218: uint64(0x662d613f00000000),
  5717. 219: uint64(0xcf26e87100000000),
  5718. 220: uint64(0xd112264300000000),
  5719. 221: uint64(0x7819af0d00000000),
  5720. 222: uint64(0x830534de00000000),
  5721. 223: uint64(0x2a0ebd9000000000),
  5722. 224: uint64(0x859c73ef00000000),
  5723. 225: uint64(0x2c97faa100000000),
  5724. 226: uint64(0xd78b617200000000),
  5725. 227: uint64(0x7e80e83c00000000),
  5726. 228: uint64(0x60b4260e00000000),
  5727. 229: uint64(0xc9bfaf4000000000),
  5728. 230: uint64(0x32a3349300000000),
  5729. 231: uint64(0x9ba8bddd00000000),
  5730. 232: uint64(0x0ecba8f600000000),
  5731. 233: uint64(0xa7c021b800000000),
  5732. 234: uint64(0x5cdcba6b00000000),
  5733. 235: uint64(0xf5d7332500000000),
  5734. 236: uint64(0xebe3fd1700000000),
  5735. 237: uint64(0x42e8745900000000),
  5736. 238: uint64(0xb9f4ef8a00000000),
  5737. 239: uint64(0x10ff66c400000000),
  5738. 240: uint64(0x9333c5dc00000000),
  5739. 241: uint64(0x3a384c9200000000),
  5740. 242: uint64(0xc124d74100000000),
  5741. 243: uint64(0x682f5e0f00000000),
  5742. 244: uint64(0x761b903d00000000),
  5743. 245: uint64(0xdf10197300000000),
  5744. 246: uint64(0x240c82a000000000),
  5745. 247: uint64(0x8d070bee00000000),
  5746. 248: uint64(0x18641ec500000000),
  5747. 249: uint64(0xb16f978b00000000),
  5748. 250: uint64(0x4a730c5800000000),
  5749. 251: uint64(0xe378851600000000),
  5750. 252: uint64(0xfd4c4b2400000000),
  5751. 253: uint64(0x5447c26a00000000),
  5752. 254: uint64(0xaf5b59b900000000),
  5753. 255: uint64(0x0650d0f700000000),
  5754. },
  5755. 7: {
  5756. 1: uint64(0x479244af00000000),
  5757. 2: uint64(0xcf22f88500000000),
  5758. 3: uint64(0x88b0bc2a00000000),
  5759. 4: uint64(0xdf4381d000000000),
  5760. 5: uint64(0x98d1c57f00000000),
  5761. 6: uint64(0x1061795500000000),
  5762. 7: uint64(0x57f33dfa00000000),
  5763. 8: uint64(0xff81737a00000000),
  5764. 9: uint64(0xb81337d500000000),
  5765. 10: uint64(0x30a38bff00000000),
  5766. 11: uint64(0x7731cf5000000000),
  5767. 12: uint64(0x20c2f2aa00000000),
  5768. 13: uint64(0x6750b60500000000),
  5769. 14: uint64(0xefe00a2f00000000),
  5770. 15: uint64(0xa8724e8000000000),
  5771. 16: uint64(0xfe03e7f400000000),
  5772. 17: uint64(0xb991a35b00000000),
  5773. 18: uint64(0x31211f7100000000),
  5774. 19: uint64(0x76b35bde00000000),
  5775. 20: uint64(0x2140662400000000),
  5776. 21: uint64(0x66d2228b00000000),
  5777. 22: uint64(0xee629ea100000000),
  5778. 23: uint64(0xa9f0da0e00000000),
  5779. 24: uint64(0x0182948e00000000),
  5780. 25: uint64(0x4610d02100000000),
  5781. 26: uint64(0xcea06c0b00000000),
  5782. 27: uint64(0x893228a400000000),
  5783. 28: uint64(0xdec1155e00000000),
  5784. 29: uint64(0x995351f100000000),
  5785. 30: uint64(0x11e3eddb00000000),
  5786. 31: uint64(0x5671a97400000000),
  5787. 32: uint64(0xbd01bf3200000000),
  5788. 33: uint64(0xfa93fb9d00000000),
  5789. 34: uint64(0x722347b700000000),
  5790. 35: uint64(0x35b1031800000000),
  5791. 36: uint64(0x62423ee200000000),
  5792. 37: uint64(0x25d07a4d00000000),
  5793. 38: uint64(0xad60c66700000000),
  5794. 39: uint64(0xeaf282c800000000),
  5795. 40: uint64(0x4280cc4800000000),
  5796. 41: uint64(0x051288e700000000),
  5797. 42: uint64(0x8da234cd00000000),
  5798. 43: uint64(0xca30706200000000),
  5799. 44: uint64(0x9dc34d9800000000),
  5800. 45: uint64(0xda51093700000000),
  5801. 46: uint64(0x52e1b51d00000000),
  5802. 47: uint64(0x1573f1b200000000),
  5803. 48: uint64(0x430258c600000000),
  5804. 49: uint64(0x04901c6900000000),
  5805. 50: uint64(0x8c20a04300000000),
  5806. 51: uint64(0xcbb2e4ec00000000),
  5807. 52: uint64(0x9c41d91600000000),
  5808. 53: uint64(0xdbd39db900000000),
  5809. 54: uint64(0x5363219300000000),
  5810. 55: uint64(0x14f1653c00000000),
  5811. 56: uint64(0xbc832bbc00000000),
  5812. 57: uint64(0xfb116f1300000000),
  5813. 58: uint64(0x73a1d33900000000),
  5814. 59: uint64(0x3433979600000000),
  5815. 60: uint64(0x63c0aa6c00000000),
  5816. 61: uint64(0x2452eec300000000),
  5817. 62: uint64(0xace252e900000000),
  5818. 63: uint64(0xeb70164600000000),
  5819. 64: uint64(0x7a037e6500000000),
  5820. 65: uint64(0x3d913aca00000000),
  5821. 66: uint64(0xb52186e000000000),
  5822. 67: uint64(0xf2b3c24f00000000),
  5823. 68: uint64(0xa540ffb500000000),
  5824. 69: uint64(0xe2d2bb1a00000000),
  5825. 70: uint64(0x6a62073000000000),
  5826. 71: uint64(0x2df0439f00000000),
  5827. 72: uint64(0x85820d1f00000000),
  5828. 73: uint64(0xc21049b000000000),
  5829. 74: uint64(0x4aa0f59a00000000),
  5830. 75: uint64(0x0d32b13500000000),
  5831. 76: uint64(0x5ac18ccf00000000),
  5832. 77: uint64(0x1d53c86000000000),
  5833. 78: uint64(0x95e3744a00000000),
  5834. 79: uint64(0xd27130e500000000),
  5835. 80: uint64(0x8400999100000000),
  5836. 81: uint64(0xc392dd3e00000000),
  5837. 82: uint64(0x4b22611400000000),
  5838. 83: uint64(0x0cb025bb00000000),
  5839. 84: uint64(0x5b43184100000000),
  5840. 85: uint64(0x1cd15cee00000000),
  5841. 86: uint64(0x9461e0c400000000),
  5842. 87: uint64(0xd3f3a46b00000000),
  5843. 88: uint64(0x7b81eaeb00000000),
  5844. 89: uint64(0x3c13ae4400000000),
  5845. 90: uint64(0xb4a3126e00000000),
  5846. 91: uint64(0xf33156c100000000),
  5847. 92: uint64(0xa4c26b3b00000000),
  5848. 93: uint64(0xe3502f9400000000),
  5849. 94: uint64(0x6be093be00000000),
  5850. 95: uint64(0x2c72d71100000000),
  5851. 96: uint64(0xc702c15700000000),
  5852. 97: uint64(0x809085f800000000),
  5853. 98: uint64(0x082039d200000000),
  5854. 99: uint64(0x4fb27d7d00000000),
  5855. 100: uint64(0x1841408700000000),
  5856. 101: uint64(0x5fd3042800000000),
  5857. 102: uint64(0xd763b80200000000),
  5858. 103: uint64(0x90f1fcad00000000),
  5859. 104: uint64(0x3883b22d00000000),
  5860. 105: uint64(0x7f11f68200000000),
  5861. 106: uint64(0xf7a14aa800000000),
  5862. 107: uint64(0xb0330e0700000000),
  5863. 108: uint64(0xe7c033fd00000000),
  5864. 109: uint64(0xa052775200000000),
  5865. 110: uint64(0x28e2cb7800000000),
  5866. 111: uint64(0x6f708fd700000000),
  5867. 112: uint64(0x390126a300000000),
  5868. 113: uint64(0x7e93620c00000000),
  5869. 114: uint64(0xf623de2600000000),
  5870. 115: uint64(0xb1b19a8900000000),
  5871. 116: uint64(0xe642a77300000000),
  5872. 117: uint64(0xa1d0e3dc00000000),
  5873. 118: uint64(0x29605ff600000000),
  5874. 119: uint64(0x6ef21b5900000000),
  5875. 120: uint64(0xc68055d900000000),
  5876. 121: uint64(0x8112117600000000),
  5877. 122: uint64(0x09a2ad5c00000000),
  5878. 123: uint64(0x4e30e9f300000000),
  5879. 124: uint64(0x19c3d40900000000),
  5880. 125: uint64(0x5e5190a600000000),
  5881. 126: uint64(0xd6e12c8c00000000),
  5882. 127: uint64(0x9173682300000000),
  5883. 128: uint64(0xf406fcca00000000),
  5884. 129: uint64(0xb394b86500000000),
  5885. 130: uint64(0x3b24044f00000000),
  5886. 131: uint64(0x7cb640e000000000),
  5887. 132: uint64(0x2b457d1a00000000),
  5888. 133: uint64(0x6cd739b500000000),
  5889. 134: uint64(0xe467859f00000000),
  5890. 135: uint64(0xa3f5c13000000000),
  5891. 136: uint64(0x0b878fb000000000),
  5892. 137: uint64(0x4c15cb1f00000000),
  5893. 138: uint64(0xc4a5773500000000),
  5894. 139: uint64(0x8337339a00000000),
  5895. 140: uint64(0xd4c40e6000000000),
  5896. 141: uint64(0x93564acf00000000),
  5897. 142: uint64(0x1be6f6e500000000),
  5898. 143: uint64(0x5c74b24a00000000),
  5899. 144: uint64(0x0a051b3e00000000),
  5900. 145: uint64(0x4d975f9100000000),
  5901. 146: uint64(0xc527e3bb00000000),
  5902. 147: uint64(0x82b5a71400000000),
  5903. 148: uint64(0xd5469aee00000000),
  5904. 149: uint64(0x92d4de4100000000),
  5905. 150: uint64(0x1a64626b00000000),
  5906. 151: uint64(0x5df626c400000000),
  5907. 152: uint64(0xf584684400000000),
  5908. 153: uint64(0xb2162ceb00000000),
  5909. 154: uint64(0x3aa690c100000000),
  5910. 155: uint64(0x7d34d46e00000000),
  5911. 156: uint64(0x2ac7e99400000000),
  5912. 157: uint64(0x6d55ad3b00000000),
  5913. 158: uint64(0xe5e5111100000000),
  5914. 159: uint64(0xa27755be00000000),
  5915. 160: uint64(0x490743f800000000),
  5916. 161: uint64(0x0e95075700000000),
  5917. 162: uint64(0x8625bb7d00000000),
  5918. 163: uint64(0xc1b7ffd200000000),
  5919. 164: uint64(0x9644c22800000000),
  5920. 165: uint64(0xd1d6868700000000),
  5921. 166: uint64(0x59663aad00000000),
  5922. 167: uint64(0x1ef47e0200000000),
  5923. 168: uint64(0xb686308200000000),
  5924. 169: uint64(0xf114742d00000000),
  5925. 170: uint64(0x79a4c80700000000),
  5926. 171: uint64(0x3e368ca800000000),
  5927. 172: uint64(0x69c5b15200000000),
  5928. 173: uint64(0x2e57f5fd00000000),
  5929. 174: uint64(0xa6e749d700000000),
  5930. 175: uint64(0xe1750d7800000000),
  5931. 176: uint64(0xb704a40c00000000),
  5932. 177: uint64(0xf096e0a300000000),
  5933. 178: uint64(0x78265c8900000000),
  5934. 179: uint64(0x3fb4182600000000),
  5935. 180: uint64(0x684725dc00000000),
  5936. 181: uint64(0x2fd5617300000000),
  5937. 182: uint64(0xa765dd5900000000),
  5938. 183: uint64(0xe0f799f600000000),
  5939. 184: uint64(0x4885d77600000000),
  5940. 185: uint64(0x0f1793d900000000),
  5941. 186: uint64(0x87a72ff300000000),
  5942. 187: uint64(0xc0356b5c00000000),
  5943. 188: uint64(0x97c656a600000000),
  5944. 189: uint64(0xd054120900000000),
  5945. 190: uint64(0x58e4ae2300000000),
  5946. 191: uint64(0x1f76ea8c00000000),
  5947. 192: uint64(0x8e0582af00000000),
  5948. 193: uint64(0xc997c60000000000),
  5949. 194: uint64(0x41277a2a00000000),
  5950. 195: uint64(0x06b53e8500000000),
  5951. 196: uint64(0x5146037f00000000),
  5952. 197: uint64(0x16d447d000000000),
  5953. 198: uint64(0x9e64fbfa00000000),
  5954. 199: uint64(0xd9f6bf5500000000),
  5955. 200: uint64(0x7184f1d500000000),
  5956. 201: uint64(0x3616b57a00000000),
  5957. 202: uint64(0xbea6095000000000),
  5958. 203: uint64(0xf9344dff00000000),
  5959. 204: uint64(0xaec7700500000000),
  5960. 205: uint64(0xe95534aa00000000),
  5961. 206: uint64(0x61e5888000000000),
  5962. 207: uint64(0x2677cc2f00000000),
  5963. 208: uint64(0x7006655b00000000),
  5964. 209: uint64(0x379421f400000000),
  5965. 210: uint64(0xbf249dde00000000),
  5966. 211: uint64(0xf8b6d97100000000),
  5967. 212: uint64(0xaf45e48b00000000),
  5968. 213: uint64(0xe8d7a02400000000),
  5969. 214: uint64(0x60671c0e00000000),
  5970. 215: uint64(0x27f558a100000000),
  5971. 216: uint64(0x8f87162100000000),
  5972. 217: uint64(0xc815528e00000000),
  5973. 218: uint64(0x40a5eea400000000),
  5974. 219: uint64(0x0737aa0b00000000),
  5975. 220: uint64(0x50c497f100000000),
  5976. 221: uint64(0x1756d35e00000000),
  5977. 222: uint64(0x9fe66f7400000000),
  5978. 223: uint64(0xd8742bdb00000000),
  5979. 224: uint64(0x33043d9d00000000),
  5980. 225: uint64(0x7496793200000000),
  5981. 226: uint64(0xfc26c51800000000),
  5982. 227: uint64(0xbbb481b700000000),
  5983. 228: uint64(0xec47bc4d00000000),
  5984. 229: uint64(0xabd5f8e200000000),
  5985. 230: uint64(0x236544c800000000),
  5986. 231: uint64(0x64f7006700000000),
  5987. 232: uint64(0xcc854ee700000000),
  5988. 233: uint64(0x8b170a4800000000),
  5989. 234: uint64(0x03a7b66200000000),
  5990. 235: uint64(0x4435f2cd00000000),
  5991. 236: uint64(0x13c6cf3700000000),
  5992. 237: uint64(0x54548b9800000000),
  5993. 238: uint64(0xdce437b200000000),
  5994. 239: uint64(0x9b76731d00000000),
  5995. 240: uint64(0xcd07da6900000000),
  5996. 241: uint64(0x8a959ec600000000),
  5997. 242: uint64(0x022522ec00000000),
  5998. 243: uint64(0x45b7664300000000),
  5999. 244: uint64(0x12445bb900000000),
  6000. 245: uint64(0x55d61f1600000000),
  6001. 246: uint64(0xdd66a33c00000000),
  6002. 247: uint64(0x9af4e79300000000),
  6003. 248: uint64(0x3286a91300000000),
  6004. 249: uint64(0x7514edbc00000000),
  6005. 250: uint64(0xfda4519600000000),
  6006. 251: uint64(0xba36153900000000),
  6007. 252: uint64(0xedc528c300000000),
  6008. 253: uint64(0xaa576c6c00000000),
  6009. 254: uint64(0x22e7d04600000000),
  6010. 255: uint64(0x657594e900000000),
  6011. },
  6012. }
  6013. var _x2n_table = [32]Tz_crc_t{
  6014. 0: uint32(0x40000000),
  6015. 1: uint32(0x20000000),
  6016. 2: uint32(0x08000000),
  6017. 3: uint32(0x00800000),
  6018. 4: uint32(0x00008000),
  6019. 5: uint32(0xedb88320),
  6020. 6: uint32(0xb1e6b092),
  6021. 7: uint32(0xa06a2517),
  6022. 8: uint32(0xed627dae),
  6023. 9: uint32(0x88d14467),
  6024. 10: uint32(0xd7bbfe6a),
  6025. 11: uint32(0xec447f11),
  6026. 12: uint32(0x8e7ea170),
  6027. 13: uint32(0x6427800e),
  6028. 14: uint32(0x4d47bae0),
  6029. 15: uint32(0x09fe548f),
  6030. 16: uint32(0x83852d0f),
  6031. 17: uint32(0x30362f1a),
  6032. 18: uint32(0x7b5a9cc3),
  6033. 19: uint32(0x31fec169),
  6034. 20: uint32(0x9fec022a),
  6035. 21: uint32(0x6c8dedc4),
  6036. 22: uint32(0x15d6874d),
  6037. 23: uint32(0x5fde7a4e),
  6038. 24: uint32(0xbad90e37),
  6039. 25: uint32(0x2e4e5eef),
  6040. 26: uint32(0x4eaba214),
  6041. 27: uint32(0xa8a472c0),
  6042. 28: uint32(0x429a969e),
  6043. 29: uint32(0x148d302a),
  6044. 30: uint32(0xc40ba6d0),
  6045. 31: uint32(0xc4e22c3c),
  6046. }
  6047. /* CRC polynomial. */
  6048. // C documentation
  6049. //
  6050. // /*
  6051. // Return a(x) multiplied by b(x) modulo p(x), where p(x) is the CRC polynomial,
  6052. // reflected. For speed, this requires that a not be zero.
  6053. // */
  6054. func _multmodp(tls *libc.TLS, a Tz_crc_t, b Tz_crc_t) (r Tz_crc_t) {
  6055. var m, p Tz_crc_t
  6056. var v2 uint32
  6057. _, _, _ = m, p, v2
  6058. m = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31)
  6059. p = uint32(0)
  6060. for {
  6061. if a&m != 0 {
  6062. p ^= b
  6063. if a&(m-uint32(1)) == uint32(0) {
  6064. break
  6065. }
  6066. }
  6067. m >>= uint32(1)
  6068. if b&uint32(1) != 0 {
  6069. v2 = b>>libc.Int32FromInt32(1) ^ uint32(m_POLY)
  6070. } else {
  6071. v2 = b >> int32(1)
  6072. }
  6073. b = v2
  6074. goto _1
  6075. _1:
  6076. }
  6077. return p
  6078. }
  6079. // C documentation
  6080. //
  6081. // /*
  6082. // Return x^(n * 2^k) modulo p(x). Requires that x2n_table[] has been
  6083. // initialized.
  6084. // */
  6085. func _x2nmodp(tls *libc.TLS, n Toff_t, k uint32) (r Tz_crc_t) {
  6086. var p Tz_crc_t
  6087. _ = p
  6088. p = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31) /* x^0 == 1 */
  6089. for n != 0 {
  6090. if n&int64(1) != 0 {
  6091. p = _multmodp(tls, _x2n_table[k&uint32(31)], p)
  6092. }
  6093. n >>= int64(1)
  6094. k++
  6095. }
  6096. return p
  6097. }
  6098. // C documentation
  6099. //
  6100. // /* =========================================================================
  6101. // * This function can be used by asm versions of crc32(), and to force the
  6102. // * generation of the CRC tables in a threaded application.
  6103. // */
  6104. func Xget_crc_table(tls *libc.TLS) (r uintptr) {
  6105. return uintptr(unsafe.Pointer(&_crc_table))
  6106. }
  6107. /* =========================================================================
  6108. * Use ARM machine instructions if available. This will compute the CRC about
  6109. * ten times faster than the braided calculation. This code does not check for
  6110. * the presence of the CRC instruction at run time. __ARM_FEATURE_CRC32 will
  6111. * only be defined if the compilation specifies an ARM processor architecture
  6112. * that has the instructions. For example, compiling with -march=armv8.1-a or
  6113. * -march=armv8-a+crc, or -march=native if the compile machine has the crc32
  6114. * instructions.
  6115. */
  6116. // C documentation
  6117. //
  6118. // /*
  6119. // Return the CRC of the W bytes in the word_t data, taking the
  6120. // least-significant byte of the word as the first byte of data, without any pre
  6121. // or post conditioning. This is used to combine the CRCs of each braid.
  6122. // */
  6123. func _crc_word(tls *libc.TLS, data Tz_word_t) (r Tz_crc_t) {
  6124. var k int32
  6125. _ = k
  6126. k = 0
  6127. for {
  6128. if !(k < int32(m_W)) {
  6129. break
  6130. }
  6131. data = data>>libc.Int32FromInt32(8) ^ uint64(_crc_table[data&uint64(0xff)])
  6132. goto _1
  6133. _1:
  6134. ;
  6135. k++
  6136. }
  6137. return uint32(data)
  6138. }
  6139. func _crc_word_big(tls *libc.TLS, data Tz_word_t) (r Tz_word_t) {
  6140. var k int32
  6141. _ = k
  6142. k = 0
  6143. for {
  6144. if !(k < int32(m_W)) {
  6145. break
  6146. }
  6147. data = data<<libc.Int32FromInt32(8) ^ _crc_big_table[data>>((libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1))<<libc.Int32FromInt32(3))&uint64(0xff)]
  6148. goto _1
  6149. _1:
  6150. ;
  6151. k++
  6152. }
  6153. return data
  6154. }
  6155. // C documentation
  6156. //
  6157. // /* ========================================================================= */
  6158. func Xcrc32_z(tls *libc.TLS, crc uint64, buf uintptr, len1 Tz_size_t) (r uint64) {
  6159. bp := tls.Alloc(16)
  6160. defer tls.Free(16)
  6161. var blks, v2, v4 Tz_size_t
  6162. var comb, crc01, crc11, crc21, crc31, crc41, word0, word01, word1, word11, word2, word21, word3, word31, word4, word41 Tz_word_t
  6163. var crc0, crc1, crc2, crc3, crc4 Tz_crc_t
  6164. var k int32
  6165. var words, v1, v10, v11, v12, v13, v14, v6, v7, v8, v9 uintptr
  6166. var _ /* endian at bp+0 */ uint32
  6167. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = blks, comb, crc0, crc01, crc1, crc11, crc2, crc21, crc3, crc31, crc4, crc41, k, word0, word01, word1, word11, word2, word21, word3, word31, word4, word41, words, v1, v10, v11, v12, v13, v14, v2, v4, v6, v7, v8, v9
  6168. /* Return initial CRC, if requested. */
  6169. if buf == uintptr(m_Z_NULL) {
  6170. return uint64(0)
  6171. }
  6172. /* Pre-condition the CRC */
  6173. crc = ^crc & uint64(0xffffffff)
  6174. /* If provided enough bytes, do a braided CRC calculation. */
  6175. if len1 >= libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(m_W)+libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1)) {
  6176. /* Compute the CRC up to a z_word_t boundary. */
  6177. for len1 != 0 && uint64(buf)&libc.Uint64FromInt32(libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1)) != uint64(0) {
  6178. len1--
  6179. v1 = buf
  6180. buf++
  6181. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v1))))&uint64(0xff)])
  6182. }
  6183. /* Compute the CRC on as many N z_word_t blocks as are available. */
  6184. blks = len1 / libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(m_W))
  6185. len1 -= blks * uint64(m_N) * uint64(m_W)
  6186. words = buf
  6187. /* Do endian check at execution time instead of compile time, since ARM
  6188. processors can change the endianness at execution time. If the
  6189. compiler knows what the endianness will be, it can optimize out the
  6190. check and the unused branch. */
  6191. *(*uint32)(unsafe.Pointer(bp)) = uint32(1)
  6192. if *(*uint8)(unsafe.Pointer(bp)) != 0 {
  6193. /* Initialize the CRC for each braid. */
  6194. crc0 = uint32(crc)
  6195. crc1 = uint32(0)
  6196. crc2 = uint32(0)
  6197. crc3 = uint32(0)
  6198. crc4 = uint32(0)
  6199. /*
  6200. Process the first blks-1 blocks, computing the CRCs on each braid
  6201. independently.
  6202. */
  6203. for {
  6204. blks--
  6205. v2 = blks
  6206. if !(v2 != 0) {
  6207. break
  6208. }
  6209. /* Load the word for each braid into registers. */
  6210. word0 = uint64(crc0) ^ *(*Tz_word_t)(unsafe.Pointer(words))
  6211. word1 = uint64(crc1) ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*8))
  6212. word2 = uint64(crc2) ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*8))
  6213. word3 = uint64(crc3) ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*8))
  6214. word4 = uint64(crc4) ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*8))
  6215. words += uintptr(m_N) * 8
  6216. /* Compute and update the CRC for each word. The loop should
  6217. get unrolled. */
  6218. crc0 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word0&uint64(0xff))*4))
  6219. crc1 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word1&uint64(0xff))*4))
  6220. crc2 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word2&uint64(0xff))*4))
  6221. crc3 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word3&uint64(0xff))*4))
  6222. crc4 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word4&uint64(0xff))*4))
  6223. k = int32(1)
  6224. for {
  6225. if !(k < int32(m_W)) {
  6226. break
  6227. }
  6228. crc0 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word0>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6229. crc1 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word1>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6230. crc2 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word2>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6231. crc3 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word3>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6232. crc4 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word4>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6233. goto _3
  6234. _3:
  6235. ;
  6236. k++
  6237. }
  6238. }
  6239. /*
  6240. Process the last block, combining the CRCs of the N braids at the
  6241. same time.
  6242. */
  6243. crc = uint64(_crc_word(tls, uint64(crc0)^*(*Tz_word_t)(unsafe.Pointer(words))))
  6244. crc = uint64(_crc_word(tls, uint64(crc1)^*(*Tz_word_t)(unsafe.Pointer(words + 1*8))^crc))
  6245. crc = uint64(_crc_word(tls, uint64(crc2)^*(*Tz_word_t)(unsafe.Pointer(words + 2*8))^crc))
  6246. crc = uint64(_crc_word(tls, uint64(crc3)^*(*Tz_word_t)(unsafe.Pointer(words + 3*8))^crc))
  6247. crc = uint64(_crc_word(tls, uint64(crc4)^*(*Tz_word_t)(unsafe.Pointer(words + 4*8))^crc))
  6248. words += uintptr(m_N) * 8
  6249. } else {
  6250. /* Initialize the CRC for each braid. */
  6251. crc01 = _byte_swap(tls, crc)
  6252. crc11 = uint64(0)
  6253. crc21 = uint64(0)
  6254. crc31 = uint64(0)
  6255. crc41 = uint64(0)
  6256. /*
  6257. Process the first blks-1 blocks, computing the CRCs on each braid
  6258. independently.
  6259. */
  6260. for {
  6261. blks--
  6262. v4 = blks
  6263. if !(v4 != 0) {
  6264. break
  6265. }
  6266. /* Load the word for each braid into registers. */
  6267. word01 = crc01 ^ *(*Tz_word_t)(unsafe.Pointer(words))
  6268. word11 = crc11 ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*8))
  6269. word21 = crc21 ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*8))
  6270. word31 = crc31 ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*8))
  6271. word41 = crc41 ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*8))
  6272. words += uintptr(m_N) * 8
  6273. /* Compute and update the CRC for each word. The loop should
  6274. get unrolled. */
  6275. crc01 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word01&uint64(0xff))*8))
  6276. crc11 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word11&uint64(0xff))*8))
  6277. crc21 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word21&uint64(0xff))*8))
  6278. crc31 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word31&uint64(0xff))*8))
  6279. crc41 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word41&uint64(0xff))*8))
  6280. k = int32(1)
  6281. for {
  6282. if !(k < int32(m_W)) {
  6283. break
  6284. }
  6285. crc01 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word01>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6286. crc11 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word11>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6287. crc21 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word21>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6288. crc31 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word31>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6289. crc41 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word41>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6290. goto _5
  6291. _5:
  6292. ;
  6293. k++
  6294. }
  6295. }
  6296. /*
  6297. Process the last block, combining the CRCs of the N braids at the
  6298. same time.
  6299. */
  6300. comb = _crc_word_big(tls, crc01^*(*Tz_word_t)(unsafe.Pointer(words)))
  6301. comb = _crc_word_big(tls, crc11^*(*Tz_word_t)(unsafe.Pointer(words + 1*8))^comb)
  6302. comb = _crc_word_big(tls, crc21^*(*Tz_word_t)(unsafe.Pointer(words + 2*8))^comb)
  6303. comb = _crc_word_big(tls, crc31^*(*Tz_word_t)(unsafe.Pointer(words + 3*8))^comb)
  6304. comb = _crc_word_big(tls, crc41^*(*Tz_word_t)(unsafe.Pointer(words + 4*8))^comb)
  6305. words += uintptr(m_N) * 8
  6306. crc = _byte_swap(tls, comb)
  6307. }
  6308. /*
  6309. Update the pointer to the remaining bytes to process.
  6310. */
  6311. buf = words
  6312. }
  6313. /* Complete the computation of the CRC on any remaining bytes. */
  6314. for len1 >= uint64(8) {
  6315. len1 -= uint64(8)
  6316. v6 = buf
  6317. buf++
  6318. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v6))))&uint64(0xff)])
  6319. v7 = buf
  6320. buf++
  6321. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v7))))&uint64(0xff)])
  6322. v8 = buf
  6323. buf++
  6324. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v8))))&uint64(0xff)])
  6325. v9 = buf
  6326. buf++
  6327. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v9))))&uint64(0xff)])
  6328. v10 = buf
  6329. buf++
  6330. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v10))))&uint64(0xff)])
  6331. v11 = buf
  6332. buf++
  6333. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v11))))&uint64(0xff)])
  6334. v12 = buf
  6335. buf++
  6336. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v12))))&uint64(0xff)])
  6337. v13 = buf
  6338. buf++
  6339. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v13))))&uint64(0xff)])
  6340. }
  6341. for len1 != 0 {
  6342. len1--
  6343. v14 = buf
  6344. buf++
  6345. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v14))))&uint64(0xff)])
  6346. }
  6347. /* Return the CRC, post-conditioned. */
  6348. return crc ^ uint64(0xffffffff)
  6349. }
  6350. // C documentation
  6351. //
  6352. // /* ========================================================================= */
  6353. func Xcrc32(tls *libc.TLS, crc uint64, buf uintptr, len1 TuInt) (r uint64) {
  6354. return Xcrc32_z(tls, crc, buf, uint64(len1))
  6355. }
  6356. // C documentation
  6357. //
  6358. // /* ========================================================================= */
  6359. func Xcrc32_combine64(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
  6360. return uint64(_multmodp(tls, _x2nmodp(tls, len2, uint32(3)), uint32(crc1))) ^ crc2&uint64(0xffffffff)
  6361. }
  6362. // C documentation
  6363. //
  6364. // /* ========================================================================= */
  6365. func Xcrc32_combine(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
  6366. return Xcrc32_combine64(tls, crc1, crc2, len2)
  6367. }
  6368. // C documentation
  6369. //
  6370. // /* ========================================================================= */
  6371. func Xcrc32_combine_gen64(tls *libc.TLS, len2 Toff_t) (r TuLong) {
  6372. return uint64(_x2nmodp(tls, len2, uint32(3)))
  6373. }
  6374. // C documentation
  6375. //
  6376. // /* ========================================================================= */
  6377. func Xcrc32_combine_gen(tls *libc.TLS, len2 Toff_t) (r TuLong) {
  6378. return Xcrc32_combine_gen64(tls, len2)
  6379. }
  6380. // C documentation
  6381. //
  6382. // /* ========================================================================= */
  6383. func Xcrc32_combine_op(tls *libc.TLS, crc1 TuLong, crc2 TuLong, op TuLong) (r TuLong) {
  6384. return uint64(_multmodp(tls, uint32(op), uint32(crc1))) ^ crc2&uint64(0xffffffff)
  6385. }
  6386. const m_BL_CODES = 19
  6387. const m_BUSY_STATE = 113
  6388. const m_Buf_size = 16
  6389. const m_COMMENT_STATE = 91
  6390. const m_D_CODES = 30
  6391. const m_EXTRA_STATE = 69
  6392. const m_FINISH_STATE = 666
  6393. const m_GZIP_STATE = 57
  6394. const m_HCRC_STATE = 103
  6395. const m_INIT_STATE = 42
  6396. const m_LENGTH_CODES = 29
  6397. const m_LITERALS = 256
  6398. const m_LIT_BUFS = 4
  6399. const m_MAX_BITS = 15
  6400. const m_MAX_STORED = 65535
  6401. const m_NAME_STATE = 73
  6402. const m_NIL = 0
  6403. const m_PRESET_DICT1 = 32
  6404. const m_TOO_FAR = 4096
  6405. const m_WIN_INIT = "MAX_MATCH"
  6406. const m_max_insert_length = "max_lazy_match"
  6407. type Tinternal_state = struct {
  6408. Fstrm Tz_streamp
  6409. Fstatus int32
  6410. Fpending_buf uintptr
  6411. Fpending_buf_size Tulg
  6412. Fpending_out uintptr
  6413. Fpending Tulg
  6414. Fwrap int32
  6415. Fgzhead Tgz_headerp
  6416. Fgzindex Tulg
  6417. Fmethod TByte
  6418. Flast_flush int32
  6419. Fw_size TuInt
  6420. Fw_bits TuInt
  6421. Fw_mask TuInt
  6422. Fwindow uintptr
  6423. Fwindow_size Tulg
  6424. Fprev uintptr
  6425. Fhead uintptr
  6426. Fins_h TuInt
  6427. Fhash_size TuInt
  6428. Fhash_bits TuInt
  6429. Fhash_mask TuInt
  6430. Fhash_shift TuInt
  6431. Fblock_start int64
  6432. Fmatch_length TuInt
  6433. Fprev_match TIPos
  6434. Fmatch_available int32
  6435. Fstrstart TuInt
  6436. Fmatch_start TuInt
  6437. Flookahead TuInt
  6438. Fprev_length TuInt
  6439. Fmax_chain_length TuInt
  6440. Fmax_lazy_match TuInt
  6441. Flevel int32
  6442. Fstrategy int32
  6443. Fgood_match TuInt
  6444. Fnice_match int32
  6445. Fdyn_ltree [573]Tct_data_s
  6446. Fdyn_dtree [61]Tct_data_s
  6447. Fbl_tree [39]Tct_data_s
  6448. Fl_desc Ttree_desc_s
  6449. Fd_desc Ttree_desc_s
  6450. Fbl_desc Ttree_desc_s
  6451. Fbl_count [16]Tush
  6452. Fheap [573]int32
  6453. Fheap_len int32
  6454. Fheap_max int32
  6455. Fdepth [573]Tuch
  6456. Fsym_buf uintptr
  6457. Flit_bufsize TuInt
  6458. Fsym_next TuInt
  6459. Fsym_end TuInt
  6460. Fopt_len Tulg
  6461. Fstatic_len Tulg
  6462. Fmatches TuInt
  6463. Finsert TuInt
  6464. Fbi_buf Tush
  6465. Fbi_valid int32
  6466. Fhigh_water Tulg
  6467. }
  6468. type Tct_data = struct {
  6469. Ffc struct {
  6470. Fcode [0]Tush
  6471. Ffreq Tush
  6472. }
  6473. Fdl struct {
  6474. Flen1 [0]Tush
  6475. Fdad Tush
  6476. }
  6477. }
  6478. type Tct_data_s = Tct_data
  6479. type Ttree_desc = struct {
  6480. Fdyn_tree uintptr
  6481. Fmax_code int32
  6482. Fstat_desc uintptr
  6483. }
  6484. type Ttree_desc_s = Ttree_desc
  6485. type TPos = uint16
  6486. type TPosf = uint16
  6487. type TIPos = uint32
  6488. type Tdeflate_state = struct {
  6489. Fstrm Tz_streamp
  6490. Fstatus int32
  6491. Fpending_buf uintptr
  6492. Fpending_buf_size Tulg
  6493. Fpending_out uintptr
  6494. Fpending Tulg
  6495. Fwrap int32
  6496. Fgzhead Tgz_headerp
  6497. Fgzindex Tulg
  6498. Fmethod TByte
  6499. Flast_flush int32
  6500. Fw_size TuInt
  6501. Fw_bits TuInt
  6502. Fw_mask TuInt
  6503. Fwindow uintptr
  6504. Fwindow_size Tulg
  6505. Fprev uintptr
  6506. Fhead uintptr
  6507. Fins_h TuInt
  6508. Fhash_size TuInt
  6509. Fhash_bits TuInt
  6510. Fhash_mask TuInt
  6511. Fhash_shift TuInt
  6512. Fblock_start int64
  6513. Fmatch_length TuInt
  6514. Fprev_match TIPos
  6515. Fmatch_available int32
  6516. Fstrstart TuInt
  6517. Fmatch_start TuInt
  6518. Flookahead TuInt
  6519. Fprev_length TuInt
  6520. Fmax_chain_length TuInt
  6521. Fmax_lazy_match TuInt
  6522. Flevel int32
  6523. Fstrategy int32
  6524. Fgood_match TuInt
  6525. Fnice_match int32
  6526. Fdyn_ltree [573]Tct_data_s
  6527. Fdyn_dtree [61]Tct_data_s
  6528. Fbl_tree [39]Tct_data_s
  6529. Fl_desc Ttree_desc_s
  6530. Fd_desc Ttree_desc_s
  6531. Fbl_desc Ttree_desc_s
  6532. Fbl_count [16]Tush
  6533. Fheap [573]int32
  6534. Fheap_len int32
  6535. Fheap_max int32
  6536. Fdepth [573]Tuch
  6537. Fsym_buf uintptr
  6538. Flit_bufsize TuInt
  6539. Fsym_next TuInt
  6540. Fsym_end TuInt
  6541. Fopt_len Tulg
  6542. Fstatic_len Tulg
  6543. Fmatches TuInt
  6544. Finsert TuInt
  6545. Fbi_buf Tush
  6546. Fbi_valid int32
  6547. Fhigh_water Tulg
  6548. }
  6549. /*
  6550. If you use the zlib library in a product, an acknowledgment is welcome
  6551. in the documentation of your product. If for some reason you cannot
  6552. include such an acknowledgment, I would appreciate that you keep this
  6553. copyright string in the executable of your product.
  6554. */
  6555. type Tblock_state = int32
  6556. const _need_more = 0
  6557. const /* block not completed, need more input or more output */
  6558. _block_done = 1
  6559. const /* block flush performed */
  6560. _finish_started = 2
  6561. const /* finish started, need only more output at next deflate */
  6562. _finish_done = 3
  6563. type Tcompress_func = uintptr
  6564. /* ===========================================================================
  6565. * Local data
  6566. */
  6567. /* Tail of hash chains */
  6568. /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
  6569. // C documentation
  6570. //
  6571. // /* Values for max_lazy_match, good_match and max_chain_length, depending on
  6572. // * the desired pack level (0..9). The values given below have been tuned to
  6573. // * exclude worst case performance for pathological files. Better values may be
  6574. // * found for specific files.
  6575. // */
  6576. type Tconfig = struct {
  6577. Fgood_length Tush
  6578. Fmax_lazy Tush
  6579. Fnice_length Tush
  6580. Fmax_chain Tush
  6581. Ffunc1 Tcompress_func
  6582. }
  6583. /* ===========================================================================
  6584. * Local data
  6585. */
  6586. /* Tail of hash chains */
  6587. /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
  6588. // C documentation
  6589. //
  6590. // /* Values for max_lazy_match, good_match and max_chain_length, depending on
  6591. // * the desired pack level (0..9). The values given below have been tuned to
  6592. // * exclude worst case performance for pathological files. Better values may be
  6593. // * found for specific files.
  6594. // */
  6595. type Tconfig_s = Tconfig
  6596. var _configuration_table = [10]Tconfig{
  6597. 0: {},
  6598. 1: {
  6599. Fgood_length: uint16(4),
  6600. Fmax_lazy: uint16(4),
  6601. Fnice_length: uint16(8),
  6602. Fmax_chain: uint16(4),
  6603. },
  6604. 2: {
  6605. Fgood_length: uint16(4),
  6606. Fmax_lazy: uint16(5),
  6607. Fnice_length: uint16(16),
  6608. Fmax_chain: uint16(8),
  6609. },
  6610. 3: {
  6611. Fgood_length: uint16(4),
  6612. Fmax_lazy: uint16(6),
  6613. Fnice_length: uint16(32),
  6614. Fmax_chain: uint16(32),
  6615. },
  6616. 4: {
  6617. Fgood_length: uint16(4),
  6618. Fmax_lazy: uint16(4),
  6619. Fnice_length: uint16(16),
  6620. Fmax_chain: uint16(16),
  6621. },
  6622. 5: {
  6623. Fgood_length: uint16(8),
  6624. Fmax_lazy: uint16(16),
  6625. Fnice_length: uint16(32),
  6626. Fmax_chain: uint16(32),
  6627. },
  6628. 6: {
  6629. Fgood_length: uint16(8),
  6630. Fmax_lazy: uint16(16),
  6631. Fnice_length: uint16(128),
  6632. Fmax_chain: uint16(128),
  6633. },
  6634. 7: {
  6635. Fgood_length: uint16(8),
  6636. Fmax_lazy: uint16(32),
  6637. Fnice_length: uint16(128),
  6638. Fmax_chain: uint16(256),
  6639. },
  6640. 8: {
  6641. Fgood_length: uint16(32),
  6642. Fmax_lazy: uint16(128),
  6643. Fnice_length: uint16(258),
  6644. Fmax_chain: uint16(1024),
  6645. },
  6646. 9: {
  6647. Fgood_length: uint16(32),
  6648. Fmax_lazy: uint16(258),
  6649. Fnice_length: uint16(258),
  6650. Fmax_chain: uint16(4096),
  6651. },
  6652. }
  6653. func init() {
  6654. p := unsafe.Pointer(&_configuration_table)
  6655. *(*uintptr)(unsafe.Add(p, 8)) = __ccgo_fp(_deflate_stored)
  6656. *(*uintptr)(unsafe.Add(p, 24)) = __ccgo_fp(_deflate_fast)
  6657. *(*uintptr)(unsafe.Add(p, 40)) = __ccgo_fp(_deflate_fast)
  6658. *(*uintptr)(unsafe.Add(p, 56)) = __ccgo_fp(_deflate_fast)
  6659. *(*uintptr)(unsafe.Add(p, 72)) = __ccgo_fp(_deflate_slow)
  6660. *(*uintptr)(unsafe.Add(p, 88)) = __ccgo_fp(_deflate_slow)
  6661. *(*uintptr)(unsafe.Add(p, 104)) = __ccgo_fp(_deflate_slow)
  6662. *(*uintptr)(unsafe.Add(p, 120)) = __ccgo_fp(_deflate_slow)
  6663. *(*uintptr)(unsafe.Add(p, 136)) = __ccgo_fp(_deflate_slow)
  6664. *(*uintptr)(unsafe.Add(p, 152)) = __ccgo_fp(_deflate_slow)
  6665. }
  6666. /* max compression */
  6667. /* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
  6668. * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
  6669. * meaning.
  6670. */
  6671. /* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */
  6672. /* ===========================================================================
  6673. * Update a hash value with the given input byte
  6674. * IN assertion: all calls to UPDATE_HASH are made with consecutive input
  6675. * characters, so that a running hash key can be computed from the previous
  6676. * key instead of complete recalculation each time.
  6677. */
  6678. /* ===========================================================================
  6679. * Insert string str in the dictionary and set match_head to the previous head
  6680. * of the hash chain (the most recent string with same hash key). Return
  6681. * the previous length of the hash chain.
  6682. * If this file is compiled with -DFASTEST, the compression level is forced
  6683. * to 1, and no hash chains are maintained.
  6684. * IN assertion: all calls to INSERT_STRING are made with consecutive input
  6685. * characters and the first MIN_MATCH bytes of str are valid (except for
  6686. * the last MIN_MATCH-1 bytes of the input file).
  6687. */
  6688. /* ===========================================================================
  6689. * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
  6690. * prev[] will be initialized on the fly.
  6691. */
  6692. // C documentation
  6693. //
  6694. // /* ===========================================================================
  6695. // * Slide the hash table when sliding the window down (could be avoided with 32
  6696. // * bit values at the expense of memory usage). We slide even when level == 0 to
  6697. // * keep the hash table consistent if we switch back to level > 0 later.
  6698. // */
  6699. func _slide_hash(tls *libc.TLS, s uintptr) {
  6700. var m, n, v1, v4, v5, v8 uint32
  6701. var p, v3, v7 uintptr
  6702. var wsize TuInt
  6703. _, _, _, _, _, _, _, _, _, _ = m, n, p, wsize, v1, v3, v4, v5, v7, v8
  6704. wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  6705. n = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size
  6706. p = (*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr(n)*2
  6707. for {
  6708. p -= 2
  6709. v3 = p
  6710. m = uint32(*(*TPosf)(unsafe.Pointer(v3)))
  6711. if m >= wsize {
  6712. v4 = m - wsize
  6713. } else {
  6714. v4 = uint32(m_NIL)
  6715. }
  6716. *(*TPosf)(unsafe.Pointer(p)) = uint16(v4)
  6717. goto _2
  6718. _2:
  6719. ;
  6720. n--
  6721. v1 = n
  6722. if !(v1 != 0) {
  6723. break
  6724. }
  6725. }
  6726. n = wsize
  6727. p = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(n)*2
  6728. for {
  6729. p -= 2
  6730. v7 = p
  6731. m = uint32(*(*TPosf)(unsafe.Pointer(v7)))
  6732. if m >= wsize {
  6733. v8 = m - wsize
  6734. } else {
  6735. v8 = uint32(m_NIL)
  6736. }
  6737. *(*TPosf)(unsafe.Pointer(p)) = uint16(v8)
  6738. /* If n is not on any hash chain, prev[n] is garbage but
  6739. * its value will never be used.
  6740. */
  6741. goto _6
  6742. _6:
  6743. ;
  6744. n--
  6745. v5 = n
  6746. if !(v5 != 0) {
  6747. break
  6748. }
  6749. }
  6750. }
  6751. // C documentation
  6752. //
  6753. // /* ===========================================================================
  6754. // * Read a new buffer from the current input stream, update the adler32
  6755. // * and total number of bytes read. All deflate() input goes through
  6756. // * this function so some applications may wish to modify it to avoid
  6757. // * allocating a large strm->next_in buffer and copying from it.
  6758. // * (See also flush_pending()).
  6759. // */
  6760. func _read_buf(tls *libc.TLS, strm Tz_streamp, buf uintptr, size uint32) (r uint32) {
  6761. var len1 uint32
  6762. _ = len1
  6763. len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  6764. if len1 > size {
  6765. len1 = size
  6766. }
  6767. if len1 == uint32(0) {
  6768. return uint32(0)
  6769. }
  6770. *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
  6771. libc.Xmemcpy(tls, buf, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(len1))
  6772. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(1) {
  6773. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
  6774. } else {
  6775. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(2) {
  6776. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
  6777. }
  6778. }
  6779. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
  6780. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
  6781. return len1
  6782. }
  6783. // C documentation
  6784. //
  6785. // /* ===========================================================================
  6786. // * Fill the window when the lookahead becomes insufficient.
  6787. // * Updates strstart and lookahead.
  6788. // *
  6789. // * IN assertion: lookahead < MIN_LOOKAHEAD
  6790. // * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
  6791. // * At least one byte has been read, or avail_in == 0; reads are
  6792. // * performed for at least two bytes (required for the zip translate_eol
  6793. // * option -- not supported here).
  6794. // */
  6795. func _fill_window(tls *libc.TLS, s uintptr) {
  6796. var curr, init1 Tulg
  6797. var more, n uint32
  6798. var str, wsize TuInt
  6799. _, _, _, _, _, _ = curr, init1, more, n, str, wsize /* Amount of free space at the end of the window. */
  6800. wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  6801. for cond := true; cond; cond = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in != uint32(0) {
  6802. more = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead) - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  6803. /* Deal with !@#$% 64K limit: */
  6804. if uint64(4) <= uint64(2) {
  6805. if more == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  6806. more = wsize
  6807. } else {
  6808. if more == libc.Uint32FromInt32(-libc.Int32FromInt32(1)) {
  6809. /* Very unlikely, but possible on 16 bit machine if
  6810. * strstart == 0 && lookahead == 1 (input done a byte at time)
  6811. */
  6812. more--
  6813. }
  6814. }
  6815. }
  6816. /* If the window is almost full and there is insufficient lookahead,
  6817. * move the upper half to the lower one to make room in the upper half.
  6818. */
  6819. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart >= wsize+((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1))) {
  6820. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(wsize), uint64(wsize-more))
  6821. *(*TuInt)(unsafe.Pointer(s + 176)) -= wsize
  6822. *(*TuInt)(unsafe.Pointer(s + 172)) -= wsize /* we now have strstart >= MAX_DIST */
  6823. *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32(wsize)
  6824. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  6825. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  6826. }
  6827. _slide_hash(tls, s)
  6828. more += wsize
  6829. }
  6830. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) {
  6831. break
  6832. }
  6833. /* If there was no sliding:
  6834. * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
  6835. * more == window_size - lookahead - strstart
  6836. * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
  6837. * => more >= window_size - 2*WSIZE + 2
  6838. * In the BIG_MEM or MMAP case (not yet supported),
  6839. * window_size == input_size + MIN_LOOKAHEAD &&
  6840. * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
  6841. * Otherwise, window_size == 2*WSIZE so more >= 2.
  6842. * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
  6843. */
  6844. n = _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead), more)
  6845. *(*TuInt)(unsafe.Pointer(s + 180)) += n
  6846. /* Initialize the hash value now that we have some input: */
  6847. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert >= uint32(m_MIN_MATCH) {
  6848. str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  6849. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str))))
  6850. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  6851. for (*Tdeflate_state)(unsafe.Pointer(s)).Finsert != 0 {
  6852. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+uint32(m_MIN_MATCH)-uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  6853. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(str&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  6854. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
  6855. str++
  6856. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert--
  6857. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert < uint32(m_MIN_MATCH) {
  6858. break
  6859. }
  6860. }
  6861. }
  6862. /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
  6863. * but this is not important since only literal bytes will be emitted.
  6864. */
  6865. }
  6866. /* If the WIN_INIT bytes after the end of the current data have never been
  6867. * written, then zero those bytes in order to avoid memory check reports of
  6868. * the use of uninitialized (or uninitialised as Julian writes) bytes by
  6869. * the longest match routines. Update the high water mark for the next
  6870. * time through here. WIN_INIT is set to MAX_MATCH since the longest match
  6871. * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.
  6872. */
  6873. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size {
  6874. curr = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
  6875. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr {
  6876. /* Previous high water mark below current data -- zero WIN_INIT
  6877. * bytes or up to end of window, whichever is less.
  6878. */
  6879. init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - curr
  6880. if init1 > uint64(m_MAX_MATCH) {
  6881. init1 = uint64(m_MAX_MATCH)
  6882. }
  6883. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(curr), 0, uint64(uint32(init1)))
  6884. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = curr + init1
  6885. } else {
  6886. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr+uint64(m_MAX_MATCH) {
  6887. /* High water mark at or above current data, but below current data
  6888. * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up
  6889. * to end of window, whichever is less.
  6890. */
  6891. init1 = curr + uint64(m_MAX_MATCH) - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
  6892. if init1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-(*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water {
  6893. init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
  6894. }
  6895. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water), 0, uint64(uint32(init1)))
  6896. *(*Tulg)(unsafe.Pointer(s + 5944)) += init1
  6897. }
  6898. }
  6899. }
  6900. }
  6901. // C documentation
  6902. //
  6903. // /* ========================================================================= */
  6904. func XdeflateInit_(tls *libc.TLS, strm Tz_streamp, level int32, version uintptr, stream_size int32) (r int32) {
  6905. return XdeflateInit2_(tls, strm, level, int32(m_Z_DEFLATED), int32(m_MAX_WBITS), int32(m_DEF_MEM_LEVEL), m_Z_DEFAULT_STRATEGY, version, stream_size)
  6906. /* To do: ignore strm->next_in if we use it as window */
  6907. }
  6908. // C documentation
  6909. //
  6910. // /* ========================================================================= */
  6911. func XdeflateInit2_(tls *libc.TLS, strm Tz_streamp, level int32, method int32, windowBits int32, memLevel int32, strategy int32, version uintptr, stream_size int32) (r int32) {
  6912. var s uintptr
  6913. var wrap int32
  6914. _, _ = s, wrap
  6915. wrap = int32(1)
  6916. if version == uintptr(m_Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(_my_version[0]) || libc.Uint64FromInt32(stream_size) != uint64(112) {
  6917. return -int32(6)
  6918. }
  6919. if strm == uintptr(m_Z_NULL) {
  6920. return -int32(2)
  6921. }
  6922. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  6923. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  6924. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  6925. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  6926. }
  6927. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  6928. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  6929. }
  6930. if level == -int32(1) {
  6931. level = int32(6)
  6932. }
  6933. if windowBits < 0 { /* suppress zlib wrapper */
  6934. wrap = 0
  6935. if windowBits < -int32(15) {
  6936. return -int32(2)
  6937. }
  6938. windowBits = -windowBits
  6939. } else {
  6940. if windowBits > int32(15) {
  6941. wrap = int32(2) /* write gzip wrapper instead */
  6942. windowBits -= int32(16)
  6943. }
  6944. }
  6945. if memLevel < int32(1) || memLevel > int32(m_MAX_MEM_LEVEL) || method != int32(m_Z_DEFLATED) || windowBits < int32(8) || windowBits > int32(15) || level < 0 || level > int32(9) || strategy < 0 || strategy > int32(m_Z_FIXED) || windowBits == int32(8) && wrap != int32(1) {
  6946. return -int32(2)
  6947. }
  6948. if windowBits == int32(8) {
  6949. windowBits = int32(9)
  6950. } /* until 256-byte window bug fixed */
  6951. s = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(5952)))
  6952. if s == uintptr(m_Z_NULL) {
  6953. return -int32(4)
  6954. }
  6955. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = s
  6956. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm = strm
  6957. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_INIT_STATE) /* to pass state test in deflateReset() */
  6958. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
  6959. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead = uintptr(m_Z_NULL)
  6960. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits = libc.Uint32FromInt32(windowBits)
  6961. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits)
  6962. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - uint32(1)
  6963. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits = libc.Uint32FromInt32(memLevel) + uint32(7)
  6964. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits)
  6965. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size - uint32(1)
  6966. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift = ((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits + libc.Uint32FromInt32(m_MIN_MATCH) - libc.Uint32FromInt32(1)) / libc.Uint32FromInt32(m_MIN_MATCH)
  6967. (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size, uint32(libc.Uint64FromInt32(2)*libc.Uint64FromInt64(1)))
  6968. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size, uint32(libc.Uint64FromInt64(2)))
  6969. (*Tdeflate_state)(unsafe.Pointer(s)).Fhead = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size, uint32(libc.Uint64FromInt64(2)))
  6970. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64(0) /* nothing written to s->window yet */
  6971. (*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize = libc.Uint32FromInt32(int32(1) << (memLevel + int32(6))) /* 16K elements by default */
  6972. /* We overlay pending_buf and sym_buf. This works since the average size
  6973. * for length/distance pairs over any compressed block is assured to be 31
  6974. * bits or less.
  6975. *
  6976. * Analysis: The longest fixed codes are a length code of 8 bits plus 5
  6977. * extra bits, for lengths 131 to 257. The longest fixed distance codes are
  6978. * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest
  6979. * possible fixed-codes length/distance pair is then 31 bits total.
  6980. *
  6981. * sym_buf starts one-fourth of the way into pending_buf. So there are
  6982. * three bytes in sym_buf for every four bytes in pending_buf. Each symbol
  6983. * in sym_buf is three bytes -- two for the distance and one for the
  6984. * literal/length. As each symbol is consumed, the pointer to the next
  6985. * sym_buf value to read moves forward three bytes. From that symbol, up to
  6986. * 31 bits are written to pending_buf. The closest the written pending_buf
  6987. * bits gets to the next sym_buf symbol to read is just before the last
  6988. * code is written. At that time, 31*(n - 2) bits have been written, just
  6989. * after 24*(n - 2) bits have been consumed from sym_buf. sym_buf starts at
  6990. * 8*n bits into pending_buf. (Note that the symbol buffer fills when n - 1
  6991. * symbols are written.) The closest the writing gets to what is unread is
  6992. * then n + 14 bits. Here n is lit_bufsize, which is 16384 by default, and
  6993. * can range from 128 to 32768.
  6994. *
  6995. * Therefore, at a minimum, there are 142 bits of space between what is
  6996. * written and what is read in the overlain buffers, so the symbols cannot
  6997. * be overwritten by the compressed data. That space is actually 139 bits,
  6998. * due to the three-bit fixed-code block header.
  6999. *
  7000. * That covers the case where either Z_FIXED is specified, forcing fixed
  7001. * codes, or when the use of fixed codes is chosen, because that choice
  7002. * results in a smaller compressed block than dynamic codes. That latter
  7003. * condition then assures that the above analysis also covers all dynamic
  7004. * blocks. A dynamic-code block will only be chosen to be emitted if it has
  7005. * fewer bits than a fixed-code block would for the same set of symbols.
  7006. * Therefore its average symbol length is assured to be less than 31. So
  7007. * the compressed data for a dynamic block also cannot overwrite the
  7008. * symbols from which it is being constructed.
  7009. */
  7010. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize, libc.Uint32FromInt32(libc.Int32FromInt32(m_LIT_BUFS)))
  7011. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize) * uint64(4)
  7012. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fprev == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fhead == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf == uintptr(m_Z_NULL) {
  7013. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
  7014. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(4)]
  7015. XdeflateEnd(tls, strm)
  7016. return -int32(4)
  7017. }
  7018. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize)
  7019. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end = ((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize - uint32(1)) * uint32(3)
  7020. /* We avoid equality with lit_bufsize*3 because of wraparound at 64K
  7021. * on 16 bit machines and because stored blocks are restricted to
  7022. * 64K-1 bytes.
  7023. */
  7024. (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
  7025. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
  7026. (*Tdeflate_state)(unsafe.Pointer(s)).Fmethod = libc.Uint8FromInt32(method)
  7027. return XdeflateReset(tls, strm)
  7028. }
  7029. var _my_version = [6]int8{'1', '.', '3', '.', '1'}
  7030. // C documentation
  7031. //
  7032. // /* =========================================================================
  7033. // * Check for a valid deflate stream state. Return 0 if ok, 1 if not.
  7034. // */
  7035. func _deflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
  7036. var s uintptr
  7037. _ = s
  7038. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  7039. return int32(1)
  7040. }
  7041. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7042. if s == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm != strm || (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_INIT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_GZIP_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_EXTRA_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_NAME_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_COMMENT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_HCRC_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_BUSY_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_FINISH_STATE) {
  7043. return int32(1)
  7044. }
  7045. return 0
  7046. }
  7047. // C documentation
  7048. //
  7049. // /* ========================================================================= */
  7050. func XdeflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
  7051. var avail uint32
  7052. var n, str, v1, v3 TuInt
  7053. var next, s uintptr
  7054. var wrap int32
  7055. _, _, _, _, _, _, _, _ = avail, n, next, s, str, wrap, v1, v3
  7056. if _deflateStateCheck(tls, strm) != 0 || dictionary == uintptr(m_Z_NULL) {
  7057. return -int32(2)
  7058. }
  7059. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7060. wrap = (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
  7061. if wrap == int32(2) || wrap == int32(1) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_INIT_STATE) || (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead != 0 {
  7062. return -int32(2)
  7063. }
  7064. /* when using zlib wrappers, compute Adler-32 for provided dictionary */
  7065. if wrap == int32(1) {
  7066. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, dictionary, dictLength)
  7067. }
  7068. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = 0 /* avoid computing Adler-32 in read_buf */
  7069. /* if dictionary would fill window, just replace the history */
  7070. if dictLength >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  7071. if wrap == 0 { /* already empty otherwise */
  7072. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7073. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
  7074. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  7075. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  7076. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  7077. }
  7078. dictionary += uintptr(dictLength - (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) /* use the tail */
  7079. dictLength = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  7080. }
  7081. /* insert dictionary into window and hash */
  7082. avail = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  7083. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  7084. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = dictLength
  7085. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = dictionary
  7086. _fill_window(tls, s)
  7087. for (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  7088. str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  7089. n = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))
  7090. for {
  7091. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+uint32(m_MIN_MATCH)-uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  7092. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(str&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  7093. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
  7094. str++
  7095. goto _2
  7096. _2:
  7097. ;
  7098. n--
  7099. v1 = n
  7100. if !(v1 != 0) {
  7101. break
  7102. }
  7103. }
  7104. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = str
  7105. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  7106. _fill_window(tls, s)
  7107. }
  7108. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  7109. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  7110. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  7111. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
  7112. v3 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  7113. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v3
  7114. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v3
  7115. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  7116. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  7117. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = avail
  7118. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
  7119. return m_Z_OK
  7120. }
  7121. // C documentation
  7122. //
  7123. // /* ========================================================================= */
  7124. func XdeflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
  7125. var len1 TuInt
  7126. var s uintptr
  7127. _, _ = len1, s
  7128. if _deflateStateCheck(tls, strm) != 0 {
  7129. return -int32(2)
  7130. }
  7131. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7132. len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  7133. if len1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  7134. len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  7135. }
  7136. if dictionary != uintptr(m_Z_NULL) && len1 != 0 {
  7137. libc.Xmemcpy(tls, dictionary, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)-uintptr(len1), uint64(len1))
  7138. }
  7139. if dictLength != uintptr(m_Z_NULL) {
  7140. *(*TuInt)(unsafe.Pointer(dictLength)) = len1
  7141. }
  7142. return m_Z_OK
  7143. }
  7144. // C documentation
  7145. //
  7146. // /* ========================================================================= */
  7147. func XdeflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
  7148. var s uintptr
  7149. var v1 TuLong
  7150. var v2 int32
  7151. var v3 uint64
  7152. _, _, _, _ = s, v1, v2, v3
  7153. if _deflateStateCheck(tls, strm) != 0 {
  7154. return -int32(2)
  7155. }
  7156. v1 = libc.Uint64FromInt32(0)
  7157. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
  7158. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
  7159. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* use zfree if we ever allocate msg dynamically */
  7160. (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = int32(m_Z_UNKNOWN)
  7161. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7162. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = uint64(0)
  7163. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
  7164. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap < 0 {
  7165. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap /* was made negative by deflate(..., Z_FINISH); */
  7166. }
  7167. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  7168. v2 = int32(m_GZIP_STATE)
  7169. } else {
  7170. v2 = int32(m_INIT_STATE)
  7171. }
  7172. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = v2
  7173. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  7174. v3 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7175. } else {
  7176. v3 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7177. }
  7178. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v3
  7179. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(2)
  7180. x__tr_init(tls, s)
  7181. return m_Z_OK
  7182. }
  7183. // C documentation
  7184. //
  7185. // /* ===========================================================================
  7186. // * Initialize the "longest match" routines for a new zlib stream
  7187. // */
  7188. func _lm_init(tls *libc.TLS, s uintptr) {
  7189. var v1 TuInt
  7190. _ = v1
  7191. (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size = libc.Uint64FromInt64(2) * uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  7192. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7193. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
  7194. /* Set the default configuration parameters:
  7195. */
  7196. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_lazy)
  7197. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fgood_length)
  7198. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fnice_length)
  7199. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_chain)
  7200. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  7201. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  7202. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
  7203. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  7204. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  7205. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v1
  7206. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v1
  7207. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  7208. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(0)
  7209. }
  7210. // C documentation
  7211. //
  7212. // /* ========================================================================= */
  7213. func XdeflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
  7214. var ret int32
  7215. _ = ret
  7216. ret = XdeflateResetKeep(tls, strm)
  7217. if ret == m_Z_OK {
  7218. _lm_init(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  7219. }
  7220. return ret
  7221. }
  7222. // C documentation
  7223. //
  7224. // /* ========================================================================= */
  7225. func XdeflateSetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
  7226. if _deflateStateCheck(tls, strm) != 0 || (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap != int32(2) {
  7227. return -int32(2)
  7228. }
  7229. (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fgzhead = head
  7230. return m_Z_OK
  7231. }
  7232. // C documentation
  7233. //
  7234. // /* ========================================================================= */
  7235. func XdeflatePending(tls *libc.TLS, strm Tz_streamp, pending uintptr, bits uintptr) (r int32) {
  7236. if _deflateStateCheck(tls, strm) != 0 {
  7237. return -int32(2)
  7238. }
  7239. if pending != uintptr(m_Z_NULL) {
  7240. *(*uint32)(unsafe.Pointer(pending)) = uint32((*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending)
  7241. }
  7242. if bits != uintptr(m_Z_NULL) {
  7243. *(*int32)(unsafe.Pointer(bits)) = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fbi_valid
  7244. }
  7245. return m_Z_OK
  7246. }
  7247. // C documentation
  7248. //
  7249. // /* ========================================================================= */
  7250. func XdeflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
  7251. var put int32
  7252. var s, p1 uintptr
  7253. _, _, _ = put, s, p1
  7254. if _deflateStateCheck(tls, strm) != 0 {
  7255. return -int32(2)
  7256. }
  7257. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7258. if bits < 0 || bits > int32(16) || (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf < (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out+uintptr((libc.Int32FromInt32(m_Buf_size)+libc.Int32FromInt32(7))>>libc.Int32FromInt32(3)) {
  7259. return -int32(5)
  7260. }
  7261. for cond := true; cond; cond = bits != 0 {
  7262. put = int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid
  7263. if put > bits {
  7264. put = bits
  7265. }
  7266. p1 = s + 5936
  7267. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(value&(libc.Int32FromInt32(1)<<put-libc.Int32FromInt32(1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)))
  7268. *(*int32)(unsafe.Pointer(s + 5940)) += put
  7269. x__tr_flush_bits(tls, s)
  7270. value >>= put
  7271. bits -= put
  7272. }
  7273. return m_Z_OK
  7274. }
  7275. // C documentation
  7276. //
  7277. // /* ========================================================================= */
  7278. func XdeflateParams(tls *libc.TLS, strm Tz_streamp, level int32, strategy int32) (r int32) {
  7279. var err int32
  7280. var func1 Tcompress_func
  7281. var s uintptr
  7282. _, _, _ = err, func1, s
  7283. if _deflateStateCheck(tls, strm) != 0 {
  7284. return -int32(2)
  7285. }
  7286. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7287. if level == -int32(1) {
  7288. level = int32(6)
  7289. }
  7290. if level < 0 || level > int32(9) || strategy < 0 || strategy > int32(m_Z_FIXED) {
  7291. return -int32(2)
  7292. }
  7293. func1 = _configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1
  7294. if (strategy != (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy || func1 != _configuration_table[level].Ffunc1) && (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush != -int32(2) {
  7295. /* Flush the last buffer: */
  7296. err = Xdeflate(tls, strm, int32(m_Z_BLOCK))
  7297. if err == -int32(2) {
  7298. return err
  7299. }
  7300. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 || libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start+libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead) != 0 {
  7301. return -int32(5)
  7302. }
  7303. }
  7304. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != level {
  7305. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches != uint32(0) {
  7306. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches == uint32(1) {
  7307. _slide_hash(tls, s)
  7308. } else {
  7309. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7310. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
  7311. }
  7312. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(0)
  7313. }
  7314. (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
  7315. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[level].Fmax_lazy)
  7316. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[level].Fgood_length)
  7317. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[level].Fnice_length)
  7318. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[level].Fmax_chain)
  7319. }
  7320. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
  7321. return m_Z_OK
  7322. }
  7323. // C documentation
  7324. //
  7325. // /* ========================================================================= */
  7326. func XdeflateTune(tls *libc.TLS, strm Tz_streamp, good_length int32, max_lazy int32, nice_length int32, max_chain int32) (r int32) {
  7327. var s uintptr
  7328. _ = s
  7329. if _deflateStateCheck(tls, strm) != 0 {
  7330. return -int32(2)
  7331. }
  7332. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7333. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = libc.Uint32FromInt32(good_length)
  7334. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = libc.Uint32FromInt32(max_lazy)
  7335. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = nice_length
  7336. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = libc.Uint32FromInt32(max_chain)
  7337. return m_Z_OK
  7338. }
  7339. // C documentation
  7340. //
  7341. // /* =========================================================================
  7342. // * For the default windowBits of 15 and memLevel of 8, this function returns a
  7343. // * close to exact, as well as small, upper bound on the compressed size. This
  7344. // * is an expansion of ~0.03%, plus a small constant.
  7345. // *
  7346. // * For any setting other than those defaults for windowBits and memLevel, one
  7347. // * of two worst case bounds is returned. This is at most an expansion of ~4% or
  7348. // * ~13%, plus a small constant.
  7349. // *
  7350. // * Both the 0.03% and 4% derive from the overhead of stored blocks. The first
  7351. // * one is for stored blocks of 16383 bytes (memLevel == 8), whereas the second
  7352. // * is for stored blocks of 127 bytes (the worst case memLevel == 1). The
  7353. // * expansion results from five bytes of header for each stored block.
  7354. // *
  7355. // * The larger expansion of 13% results from a window size less than or equal to
  7356. // * the symbols buffer size (windowBits <= memLevel + 7). In that case some of
  7357. // * the data being compressed may have slid out of the sliding window, impeding
  7358. // * a stored block from being emitted. Then the only choice is a fixed or
  7359. // * dynamic block, where a fixed block limits the maximum expansion to 9 bits
  7360. // * per 8-bit byte, plus 10 bits for every block. The smallest block size for
  7361. // * which this can occur is 255 (memLevel == 2).
  7362. // *
  7363. // * Shifts are used to approximate divisions, for speed.
  7364. // */
  7365. func XdeflateBound(tls *libc.TLS, strm Tz_streamp, sourceLen TuLong) (r TuLong) {
  7366. var fixedlen, storelen, wraplen TuLong
  7367. var s, str, v3, v5 uintptr
  7368. var v1, v7 uint64
  7369. var v2 int32
  7370. _, _, _, _, _, _, _, _, _, _ = fixedlen, s, storelen, str, wraplen, v1, v2, v3, v5, v7
  7371. /* upper bound for fixed blocks with 9-bit literals and length 255
  7372. (memLevel == 2, which is the lowest that may not use stored blocks) --
  7373. ~13% overhead plus a small constant */
  7374. fixedlen = sourceLen + sourceLen>>libc.Int32FromInt32(3) + sourceLen>>libc.Int32FromInt32(8) + sourceLen>>libc.Int32FromInt32(9) + uint64(4)
  7375. /* upper bound for stored blocks with length 127 (memLevel == 1) --
  7376. ~4% overhead plus a small constant */
  7377. storelen = sourceLen + sourceLen>>libc.Int32FromInt32(5) + sourceLen>>libc.Int32FromInt32(7) + sourceLen>>libc.Int32FromInt32(11) + uint64(7)
  7378. /* if can't get parameters, return larger bound plus a zlib wrapper */
  7379. if _deflateStateCheck(tls, strm) != 0 {
  7380. if fixedlen > storelen {
  7381. v1 = fixedlen
  7382. } else {
  7383. v1 = storelen
  7384. }
  7385. return v1 + uint64(6)
  7386. }
  7387. /* compute wrapper length */
  7388. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7389. switch (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap {
  7390. case 0: /* raw deflate */
  7391. wraplen = uint64(0)
  7392. case int32(1): /* zlib wrapper */
  7393. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != 0 {
  7394. v2 = int32(4)
  7395. } else {
  7396. v2 = 0
  7397. }
  7398. wraplen = libc.Uint64FromInt32(int32(6) + v2)
  7399. case int32(2): /* gzip wrapper */
  7400. wraplen = uint64(18)
  7401. if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead != uintptr(m_Z_NULL) {
  7402. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  7403. wraplen += uint64(uint32(2) + (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len)
  7404. }
  7405. str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname
  7406. if str != uintptr(m_Z_NULL) {
  7407. for {
  7408. wraplen++
  7409. goto _4
  7410. _4:
  7411. ;
  7412. v3 = str
  7413. str++
  7414. if !(*(*TBytef)(unsafe.Pointer(v3)) != 0) {
  7415. break
  7416. }
  7417. }
  7418. }
  7419. str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment
  7420. if str != uintptr(m_Z_NULL) {
  7421. for {
  7422. wraplen++
  7423. goto _6
  7424. _6:
  7425. ;
  7426. v5 = str
  7427. str++
  7428. if !(*(*TBytef)(unsafe.Pointer(v5)) != 0) {
  7429. break
  7430. }
  7431. }
  7432. }
  7433. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7434. wraplen += uint64(2)
  7435. }
  7436. }
  7437. default: /* for compiler happiness */
  7438. wraplen = uint64(6)
  7439. }
  7440. /* if not default parameters, return one of the conservative bounds */
  7441. if (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits != uint32(15) || (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits != libc.Uint32FromInt32(libc.Int32FromInt32(8)+libc.Int32FromInt32(7)) {
  7442. if (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits <= (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits && (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != 0 {
  7443. v7 = fixedlen
  7444. } else {
  7445. v7 = storelen
  7446. }
  7447. return v7 + wraplen
  7448. }
  7449. /* default settings: return tight bound for that case -- ~0.03% overhead
  7450. plus a small constant */
  7451. return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13) - uint64(6) + wraplen
  7452. }
  7453. // C documentation
  7454. //
  7455. // /* =========================================================================
  7456. // * Put a short in the pending buffer. The 16-bit value is put in MSB order.
  7457. // * IN assertion: the stream state is correct and there is enough room in
  7458. // * pending_buf.
  7459. // */
  7460. func _putShortMSB(tls *libc.TLS, s uintptr, b TuInt) {
  7461. var v1, v3 Tulg
  7462. var v2, v4 uintptr
  7463. _, _, _, _ = v1, v2, v3, v4
  7464. v2 = s + 40
  7465. v1 = *(*Tulg)(unsafe.Pointer(v2))
  7466. *(*Tulg)(unsafe.Pointer(v2))++
  7467. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = uint8(b >> libc.Int32FromInt32(8))
  7468. v4 = s + 40
  7469. v3 = *(*Tulg)(unsafe.Pointer(v4))
  7470. *(*Tulg)(unsafe.Pointer(v4))++
  7471. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = uint8(b & libc.Uint32FromInt32(0xff))
  7472. }
  7473. // C documentation
  7474. //
  7475. // /* =========================================================================
  7476. // * Flush as much pending output as possible. All deflate() output, except for
  7477. // * some deflate_stored() output, goes through this function so some
  7478. // * applications may wish to modify it to avoid allocating a large
  7479. // * strm->next_out buffer and copying into it. (See also read_buf()).
  7480. // */
  7481. func _flush_pending(tls *libc.TLS, strm Tz_streamp) {
  7482. var len1 uint32
  7483. var s uintptr
  7484. _, _ = len1, s
  7485. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7486. x__tr_flush_bits(tls, s)
  7487. len1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
  7488. if len1 > (*Tz_stream)(unsafe.Pointer(strm)).Favail_out {
  7489. len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  7490. }
  7491. if len1 == uint32(0) {
  7492. return
  7493. }
  7494. libc.Xmemcpy(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out, uint64(len1))
  7495. *(*uintptr)(unsafe.Pointer(strm + 24)) += uintptr(len1)
  7496. *(*uintptr)(unsafe.Pointer(s + 32)) += uintptr(len1)
  7497. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(len1)
  7498. *(*TuInt)(unsafe.Pointer(strm + 32)) -= len1
  7499. *(*Tulg)(unsafe.Pointer(s + 40)) -= uint64(len1)
  7500. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == uint64(0) {
  7501. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
  7502. }
  7503. }
  7504. /* ===========================================================================
  7505. * Update the header CRC with the bytes s->pending_buf[beg..s->pending - 1].
  7506. */
  7507. // C documentation
  7508. //
  7509. // /* ========================================================================= */
  7510. func Xdeflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
  7511. var beg, beg1, beg2, v10, v12, v14, v16, v18, v20, v24, v26, v33, v35, v37, v39, v4, v41, v45, v47, v49, v51, v53, v55, v57, v59, v6, v61, v66, v68, v70, v72, v74, v76, v78, v8, v80 Tulg
  7512. var bstate Tblock_state
  7513. var copy1, header, left, level_flags TuInt
  7514. var old_flush, val, val1, v1, v2, v22, v23, v28, v29, v30, v31, v32, v43, v44, v63, v64, v65, v82 int32
  7515. var s, v11, v13, v15, v17, v19, v21, v25, v27, v34, v36, v38, v40, v42, v46, v48, v5, v50, v52, v54, v56, v58, v60, v62, v67, v69, v7, v71, v73, v75, v77, v79, v81, v9 uintptr
  7516. var v3 bool
  7517. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = beg, beg1, beg2, bstate, copy1, header, left, level_flags, old_flush, s, val, val1, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v4, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v5, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v6, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v7, v70, v71, v72, v73, v74, v75, v76, v77, v78, v79, v8, v80, v81, v82, v9
  7518. if _deflateStateCheck(tls, strm) != 0 || flush > int32(m_Z_BLOCK) || flush < 0 {
  7519. return -int32(2)
  7520. }
  7521. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7522. if (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) && (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_FINISH_STATE) && flush != int32(m_Z_FINISH) {
  7523. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(2)]
  7524. return -libc.Int32FromInt32(2)
  7525. }
  7526. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7527. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  7528. return -libc.Int32FromInt32(5)
  7529. }
  7530. old_flush = (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush
  7531. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = flush
  7532. /* Flush as much pending output as possible */
  7533. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7534. _flush_pending(tls, strm)
  7535. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7536. /* Since avail_out is 0, deflate will be called again with
  7537. * more output space, but possibly with both pending and
  7538. * avail_in equal to zero. There won't be anything to do,
  7539. * but this is not an error situation so make sure we
  7540. * return OK instead of BUF_ERROR at next call of deflate:
  7541. */
  7542. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7543. return m_Z_OK
  7544. }
  7545. /* Make sure there is something to do and avoid duplicate consecutive
  7546. * flushes. For repeated and useless calls with Z_FINISH, we keep
  7547. * returning Z_STREAM_END instead of Z_BUF_ERROR.
  7548. */
  7549. } else {
  7550. if v3 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0); v3 {
  7551. if flush > int32(4) {
  7552. v1 = int32(9)
  7553. } else {
  7554. v1 = 0
  7555. }
  7556. if old_flush > int32(4) {
  7557. v2 = int32(9)
  7558. } else {
  7559. v2 = 0
  7560. }
  7561. }
  7562. if v3 && flush*int32(2)-v1 <= old_flush*int32(2)-v2 && flush != int32(m_Z_FINISH) {
  7563. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  7564. return -libc.Int32FromInt32(5)
  7565. }
  7566. }
  7567. /* User must not provide more input after the first FINISH: */
  7568. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_FINISH_STATE) && (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) {
  7569. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  7570. return -libc.Int32FromInt32(5)
  7571. }
  7572. /* Write the header */
  7573. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == 0 {
  7574. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7575. }
  7576. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) {
  7577. /* zlib header */
  7578. header = (uint32(m_Z_DEFLATED) + ((*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits-uint32(8))<<int32(4)) << int32(8)
  7579. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  7580. level_flags = uint32(0)
  7581. } else {
  7582. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(6) {
  7583. level_flags = uint32(1)
  7584. } else {
  7585. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(6) {
  7586. level_flags = uint32(2)
  7587. } else {
  7588. level_flags = uint32(3)
  7589. }
  7590. }
  7591. }
  7592. header |= level_flags << libc.Int32FromInt32(6)
  7593. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
  7594. header |= uint32(m_PRESET_DICT1)
  7595. }
  7596. header += uint32(31) - header%uint32(31)
  7597. _putShortMSB(tls, s, header)
  7598. /* Save the adler32 of the preset dictionary: */
  7599. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
  7600. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
  7601. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
  7602. }
  7603. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7604. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7605. /* Compression must start with an empty pending buffer */
  7606. _flush_pending(tls, strm)
  7607. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7608. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7609. return m_Z_OK
  7610. }
  7611. }
  7612. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_GZIP_STATE) {
  7613. /* gzip header */
  7614. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7615. v5 = s + 40
  7616. v4 = *(*Tulg)(unsafe.Pointer(v5))
  7617. *(*Tulg)(unsafe.Pointer(v5))++
  7618. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromInt32(31))
  7619. v7 = s + 40
  7620. v6 = *(*Tulg)(unsafe.Pointer(v7))
  7621. *(*Tulg)(unsafe.Pointer(v7))++
  7622. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v6))) = libc.Uint8FromInt32(libc.Int32FromInt32(139))
  7623. v9 = s + 40
  7624. v8 = *(*Tulg)(unsafe.Pointer(v9))
  7625. *(*Tulg)(unsafe.Pointer(v9))++
  7626. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromInt32(8))
  7627. if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead == uintptr(m_Z_NULL) {
  7628. v11 = s + 40
  7629. v10 = *(*Tulg)(unsafe.Pointer(v11))
  7630. *(*Tulg)(unsafe.Pointer(v11))++
  7631. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7632. v13 = s + 40
  7633. v12 = *(*Tulg)(unsafe.Pointer(v13))
  7634. *(*Tulg)(unsafe.Pointer(v13))++
  7635. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v12))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7636. v15 = s + 40
  7637. v14 = *(*Tulg)(unsafe.Pointer(v15))
  7638. *(*Tulg)(unsafe.Pointer(v15))++
  7639. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7640. v17 = s + 40
  7641. v16 = *(*Tulg)(unsafe.Pointer(v17))
  7642. *(*Tulg)(unsafe.Pointer(v17))++
  7643. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v16))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7644. v19 = s + 40
  7645. v18 = *(*Tulg)(unsafe.Pointer(v19))
  7646. *(*Tulg)(unsafe.Pointer(v19))++
  7647. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v18))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7648. v21 = s + 40
  7649. v20 = *(*Tulg)(unsafe.Pointer(v21))
  7650. *(*Tulg)(unsafe.Pointer(v21))++
  7651. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
  7652. v22 = int32(2)
  7653. } else {
  7654. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  7655. v23 = int32(4)
  7656. } else {
  7657. v23 = 0
  7658. }
  7659. v22 = v23
  7660. }
  7661. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v20))) = libc.Uint8FromInt32(v22)
  7662. v25 = s + 40
  7663. v24 = *(*Tulg)(unsafe.Pointer(v25))
  7664. *(*Tulg)(unsafe.Pointer(v25))++
  7665. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromInt32(m_OS_CODE))
  7666. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7667. /* Compression must start with an empty pending buffer */
  7668. _flush_pending(tls, strm)
  7669. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7670. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7671. return m_Z_OK
  7672. }
  7673. } else {
  7674. v27 = s + 40
  7675. v26 = *(*Tulg)(unsafe.Pointer(v27))
  7676. *(*Tulg)(unsafe.Pointer(v27))++
  7677. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftext != 0 {
  7678. v28 = int32(1)
  7679. } else {
  7680. v28 = 0
  7681. }
  7682. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7683. v29 = int32(2)
  7684. } else {
  7685. v29 = 0
  7686. }
  7687. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra == uintptr(m_Z_NULL) {
  7688. v30 = 0
  7689. } else {
  7690. v30 = int32(4)
  7691. }
  7692. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname == uintptr(m_Z_NULL) {
  7693. v31 = 0
  7694. } else {
  7695. v31 = int32(8)
  7696. }
  7697. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment == uintptr(m_Z_NULL) {
  7698. v32 = 0
  7699. } else {
  7700. v32 = int32(16)
  7701. }
  7702. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(v28 + v29 + v30 + v31 + v32)
  7703. v34 = s + 40
  7704. v33 = *(*Tulg)(unsafe.Pointer(v34))
  7705. *(*Tulg)(unsafe.Pointer(v34))++
  7706. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v33))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime & libc.Uint64FromInt32(0xff))
  7707. v36 = s + 40
  7708. v35 = *(*Tulg)(unsafe.Pointer(v36))
  7709. *(*Tulg)(unsafe.Pointer(v36))++
  7710. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v35))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  7711. v38 = s + 40
  7712. v37 = *(*Tulg)(unsafe.Pointer(v38))
  7713. *(*Tulg)(unsafe.Pointer(v38))++
  7714. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v37))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> libc.Int32FromInt32(16) & libc.Uint64FromInt32(0xff))
  7715. v40 = s + 40
  7716. v39 = *(*Tulg)(unsafe.Pointer(v40))
  7717. *(*Tulg)(unsafe.Pointer(v40))++
  7718. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v39))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> libc.Int32FromInt32(24) & libc.Uint64FromInt32(0xff))
  7719. v42 = s + 40
  7720. v41 = *(*Tulg)(unsafe.Pointer(v42))
  7721. *(*Tulg)(unsafe.Pointer(v42))++
  7722. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
  7723. v43 = int32(2)
  7724. } else {
  7725. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  7726. v44 = int32(4)
  7727. } else {
  7728. v44 = 0
  7729. }
  7730. v43 = v44
  7731. }
  7732. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v41))) = libc.Uint8FromInt32(v43)
  7733. v46 = s + 40
  7734. v45 = *(*Tulg)(unsafe.Pointer(v46))
  7735. *(*Tulg)(unsafe.Pointer(v46))++
  7736. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v45))) = libc.Uint8FromInt32((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fos & libc.Int32FromInt32(0xff))
  7737. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  7738. v48 = s + 40
  7739. v47 = *(*Tulg)(unsafe.Pointer(v48))
  7740. *(*Tulg)(unsafe.Pointer(v48))++
  7741. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v47))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len & libc.Uint32FromInt32(0xff))
  7742. v50 = s + 40
  7743. v49 = *(*Tulg)(unsafe.Pointer(v50))
  7744. *(*Tulg)(unsafe.Pointer(v50))++
  7745. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v49))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len >> libc.Int32FromInt32(8) & libc.Uint32FromInt32(0xff))
  7746. }
  7747. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7748. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf, uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending))
  7749. }
  7750. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  7751. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_EXTRA_STATE)
  7752. }
  7753. }
  7754. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_EXTRA_STATE) {
  7755. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  7756. beg = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending /* start of bytes to update crc */
  7757. left = uint32(uint64((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len&libc.Uint32FromInt32(0xffff)) - (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex)
  7758. for (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(left) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7759. copy1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
  7760. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(copy1))
  7761. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size
  7762. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
  7763. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg))
  7764. }
  7765. *(*Tulg)(unsafe.Pointer(s + 64)) += uint64(copy1)
  7766. _flush_pending(tls, strm)
  7767. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7768. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7769. return m_Z_OK
  7770. }
  7771. beg = uint64(0)
  7772. left -= copy1
  7773. }
  7774. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(left))
  7775. *(*Tulg)(unsafe.Pointer(s + 40)) += uint64(left)
  7776. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
  7777. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg))
  7778. }
  7779. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  7780. }
  7781. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_NAME_STATE)
  7782. }
  7783. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_NAME_STATE) {
  7784. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname != uintptr(m_Z_NULL) {
  7785. beg1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
  7786. for cond := true; cond; cond = val != 0 {
  7787. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7788. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
  7789. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg1), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg1))
  7790. }
  7791. _flush_pending(tls, strm)
  7792. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7793. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7794. return m_Z_OK
  7795. }
  7796. beg1 = uint64(0)
  7797. }
  7798. v52 = s + 64
  7799. v51 = *(*Tulg)(unsafe.Pointer(v52))
  7800. *(*Tulg)(unsafe.Pointer(v52))++
  7801. val = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname + uintptr(v51))))
  7802. v54 = s + 40
  7803. v53 = *(*Tulg)(unsafe.Pointer(v54))
  7804. *(*Tulg)(unsafe.Pointer(v54))++
  7805. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v53))) = libc.Uint8FromInt32(val)
  7806. }
  7807. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
  7808. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg1), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg1))
  7809. }
  7810. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  7811. }
  7812. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_COMMENT_STATE)
  7813. }
  7814. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_COMMENT_STATE) {
  7815. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment != uintptr(m_Z_NULL) {
  7816. beg2 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
  7817. for cond := true; cond; cond = val1 != 0 {
  7818. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7819. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
  7820. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg2), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg2))
  7821. }
  7822. _flush_pending(tls, strm)
  7823. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7824. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7825. return m_Z_OK
  7826. }
  7827. beg2 = uint64(0)
  7828. }
  7829. v56 = s + 64
  7830. v55 = *(*Tulg)(unsafe.Pointer(v56))
  7831. *(*Tulg)(unsafe.Pointer(v56))++
  7832. val1 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment + uintptr(v55))))
  7833. v58 = s + 40
  7834. v57 = *(*Tulg)(unsafe.Pointer(v58))
  7835. *(*Tulg)(unsafe.Pointer(v58))++
  7836. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v57))) = libc.Uint8FromInt32(val1)
  7837. }
  7838. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
  7839. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg2), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg2))
  7840. }
  7841. }
  7842. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_HCRC_STATE)
  7843. }
  7844. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_HCRC_STATE) {
  7845. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7846. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(2) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7847. _flush_pending(tls, strm)
  7848. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7849. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7850. return m_Z_OK
  7851. }
  7852. }
  7853. v60 = s + 40
  7854. v59 = *(*Tulg)(unsafe.Pointer(v60))
  7855. *(*Tulg)(unsafe.Pointer(v60))++
  7856. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v59))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
  7857. v62 = s + 40
  7858. v61 = *(*Tulg)(unsafe.Pointer(v62))
  7859. *(*Tulg)(unsafe.Pointer(v62))++
  7860. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v61))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  7861. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7862. }
  7863. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7864. /* Compression must start with an empty pending buffer */
  7865. _flush_pending(tls, strm)
  7866. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7867. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7868. return m_Z_OK
  7869. }
  7870. }
  7871. /* Start a new block or continue the current one.
  7872. */
  7873. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) || (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead != uint32(0) || flush != m_Z_NO_FLUSH && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_FINISH_STATE) {
  7874. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 {
  7875. v63 = _deflate_stored(tls, s, flush)
  7876. } else {
  7877. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_HUFFMAN_ONLY) {
  7878. v64 = _deflate_huff(tls, s, flush)
  7879. } else {
  7880. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_RLE) {
  7881. v65 = _deflate_rle(tls, s, flush)
  7882. } else {
  7883. v65 = (*(*func(*libc.TLS, uintptr, int32) Tblock_state)(unsafe.Pointer(&struct{ uintptr }{_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1})))(tls, s, flush)
  7884. }
  7885. v64 = v65
  7886. }
  7887. v63 = v64
  7888. }
  7889. bstate = v63
  7890. if bstate == int32(_finish_started) || bstate == int32(_finish_done) {
  7891. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
  7892. }
  7893. if bstate == int32(_need_more) || bstate == int32(_finish_started) {
  7894. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7895. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR next call, see above */
  7896. }
  7897. return m_Z_OK
  7898. /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
  7899. * of deflate should use the same flush parameter to make sure
  7900. * that the flush is complete. So we don't have to output an
  7901. * empty block here, this will be done at next call. This also
  7902. * ensures that for a very small output buffer, we emit at most
  7903. * one empty block.
  7904. */
  7905. }
  7906. if bstate == int32(_block_done) {
  7907. if flush == int32(m_Z_PARTIAL_FLUSH) {
  7908. x__tr_align(tls, s)
  7909. } else {
  7910. if flush != int32(m_Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */
  7911. x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), 0)
  7912. /* For a full flush, this empty block will be recognized
  7913. * as a special marker by inflate_sync().
  7914. */
  7915. if flush == int32(m_Z_FULL_FLUSH) {
  7916. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7917. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2)) /* forget history */
  7918. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  7919. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  7920. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  7921. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  7922. }
  7923. }
  7924. }
  7925. }
  7926. _flush_pending(tls, strm)
  7927. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7928. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR at next call, see above */
  7929. return m_Z_OK
  7930. }
  7931. }
  7932. }
  7933. if flush != int32(m_Z_FINISH) {
  7934. return m_Z_OK
  7935. }
  7936. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap <= 0 {
  7937. return int32(m_Z_STREAM_END)
  7938. }
  7939. /* Write the trailer */
  7940. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  7941. v67 = s + 40
  7942. v66 = *(*Tulg)(unsafe.Pointer(v67))
  7943. *(*Tulg)(unsafe.Pointer(v67))++
  7944. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v66))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
  7945. v69 = s + 40
  7946. v68 = *(*Tulg)(unsafe.Pointer(v69))
  7947. *(*Tulg)(unsafe.Pointer(v69))++
  7948. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v68))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  7949. v71 = s + 40
  7950. v70 = *(*Tulg)(unsafe.Pointer(v71))
  7951. *(*Tulg)(unsafe.Pointer(v71))++
  7952. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v70))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(16) & libc.Uint64FromInt32(0xff))
  7953. v73 = s + 40
  7954. v72 = *(*Tulg)(unsafe.Pointer(v73))
  7955. *(*Tulg)(unsafe.Pointer(v73))++
  7956. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v72))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(24) & libc.Uint64FromInt32(0xff))
  7957. v75 = s + 40
  7958. v74 = *(*Tulg)(unsafe.Pointer(v75))
  7959. *(*Tulg)(unsafe.Pointer(v75))++
  7960. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v74))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in & libc.Uint64FromInt32(0xff))
  7961. v77 = s + 40
  7962. v76 = *(*Tulg)(unsafe.Pointer(v77))
  7963. *(*Tulg)(unsafe.Pointer(v77))++
  7964. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v76))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  7965. v79 = s + 40
  7966. v78 = *(*Tulg)(unsafe.Pointer(v79))
  7967. *(*Tulg)(unsafe.Pointer(v79))++
  7968. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v78))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in >> libc.Int32FromInt32(16) & libc.Uint64FromInt32(0xff))
  7969. v81 = s + 40
  7970. v80 = *(*Tulg)(unsafe.Pointer(v81))
  7971. *(*Tulg)(unsafe.Pointer(v81))++
  7972. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v80))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in >> libc.Int32FromInt32(24) & libc.Uint64FromInt32(0xff))
  7973. } else {
  7974. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
  7975. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
  7976. }
  7977. _flush_pending(tls, strm)
  7978. /* If avail_out is zero, the application will call deflate again
  7979. * to flush the rest.
  7980. */
  7981. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap > 0 {
  7982. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
  7983. } /* write the trailer only once! */
  7984. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7985. v82 = m_Z_OK
  7986. } else {
  7987. v82 = int32(m_Z_STREAM_END)
  7988. }
  7989. return v82
  7990. }
  7991. // C documentation
  7992. //
  7993. // /* ========================================================================= */
  7994. func XdeflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  7995. var status, v1 int32
  7996. _, _ = status, v1
  7997. if _deflateStateCheck(tls, strm) != 0 {
  7998. return -int32(2)
  7999. }
  8000. status = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fstatus
  8001. /* Deallocate in reverse order of allocations: */
  8002. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf != 0 {
  8003. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf)
  8004. }
  8005. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fhead != 0 {
  8006. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fhead)
  8007. }
  8008. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fprev != 0 {
  8009. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fprev)
  8010. }
  8011. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow != 0 {
  8012. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow)
  8013. }
  8014. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  8015. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  8016. if status == int32(m_BUSY_STATE) {
  8017. v1 = -int32(3)
  8018. } else {
  8019. v1 = m_Z_OK
  8020. }
  8021. return v1
  8022. }
  8023. // C documentation
  8024. //
  8025. // /* =========================================================================
  8026. // * Copy the source state to the destination state.
  8027. // * To simplify the source, this is not supported for 16-bit MSDOS (which
  8028. // * doesn't have enough memory anyway to duplicate compression states).
  8029. // */
  8030. func XdeflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
  8031. var ds, ss uintptr
  8032. _, _ = ds, ss
  8033. if _deflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
  8034. return -int32(2)
  8035. }
  8036. ss = (*Tz_stream)(unsafe.Pointer(source)).Fstate
  8037. libc.Xmemcpy(tls, dest, source, uint64(112))
  8038. ds = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(5952)))
  8039. if ds == uintptr(m_Z_NULL) {
  8040. return -int32(4)
  8041. }
  8042. (*Tz_stream)(unsafe.Pointer(dest)).Fstate = ds
  8043. libc.Xmemcpy(tls, ds, ss, uint64(5952))
  8044. (*Tdeflate_state)(unsafe.Pointer(ds)).Fstrm = dest
  8045. (*Tdeflate_state)(unsafe.Pointer(ds)).Fwindow = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size, uint32(libc.Uint64FromInt32(2)*libc.Uint64FromInt64(1)))
  8046. (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size, uint32(libc.Uint64FromInt64(2)))
  8047. (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Fhash_size, uint32(libc.Uint64FromInt64(2)))
  8048. (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize, libc.Uint32FromInt32(libc.Int32FromInt32(m_LIT_BUFS)))
  8049. if (*Tdeflate_state)(unsafe.Pointer(ds)).Fwindow == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf == uintptr(m_Z_NULL) {
  8050. XdeflateEnd(tls, dest)
  8051. return -int32(4)
  8052. }
  8053. /* following zmemcpy do not work for 16-bit MSDOS */
  8054. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(ss)).Fwindow, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size*uint32(2))*uint64(1))
  8055. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev, (*Tdeflate_state)(unsafe.Pointer(ss)).Fprev, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size)*uint64(2))
  8056. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead, (*Tdeflate_state)(unsafe.Pointer(ss)).Fhead, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fhash_size)*uint64(2))
  8057. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf, (*Tdeflate_state)(unsafe.Pointer(ss)).Fpending_buf, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize*uint32(m_LIT_BUFS)))
  8058. (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr(int64((*Tdeflate_state)(unsafe.Pointer(ss)).Fpending_out)-int64((*Tdeflate_state)(unsafe.Pointer(ss)).Fpending_buf))
  8059. (*Tdeflate_state)(unsafe.Pointer(ds)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize)
  8060. (*Tdeflate_state)(unsafe.Pointer(ds)).Fl_desc.Fdyn_tree = ds + 212
  8061. (*Tdeflate_state)(unsafe.Pointer(ds)).Fd_desc.Fdyn_tree = ds + 2504
  8062. (*Tdeflate_state)(unsafe.Pointer(ds)).Fbl_desc.Fdyn_tree = ds + 2748
  8063. return m_Z_OK
  8064. }
  8065. // C documentation
  8066. //
  8067. // /* ===========================================================================
  8068. // * Set match_start to the longest match starting at the given string and
  8069. // * return its length. Matches shorter or equal to prev_length are discarded,
  8070. // * in which case the result is equal to prev_length and match_start is
  8071. // * garbage.
  8072. // * IN assertions: cur_match is the head of the hash chain for the current
  8073. // * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
  8074. // * OUT assertion: the match length is not greater than s->lookahead.
  8075. // */
  8076. func _longest_match(tls *libc.TLS, s uintptr, cur_match TIPos) (r TuInt) {
  8077. var best_len, len1, nice_match int32
  8078. var chain_length, v1, v3 uint32
  8079. var limit, v2 TIPos
  8080. var match, prev, scan, strend, v10, v11, v13, v14, v16, v17, v19, v20, v22, v23, v25, v26, v28, v29, v6, v8, v9 uintptr
  8081. var scan_end, scan_end1 TByte
  8082. var wmask TuInt
  8083. var v12, v15, v18, v21, v24, v27, v30, v4, v7 bool
  8084. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best_len, chain_length, len1, limit, match, nice_match, prev, scan, scan_end, scan_end1, strend, wmask, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v3, v30, v4, v6, v7, v8, v9
  8085. chain_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length /* max hash chain length */
  8086. scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) /* length of current match */
  8087. best_len = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length) /* best match length so far */
  8088. nice_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match
  8089. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8090. v1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - ((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)))
  8091. } else {
  8092. v1 = uint32(m_NIL)
  8093. } /* stop if match long enough */
  8094. limit = v1
  8095. /* Stop when cur_match becomes <= limit. To simplify the code,
  8096. * we prevent matches with the string of window index 0.
  8097. */
  8098. prev = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev
  8099. wmask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask
  8100. strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
  8101. scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
  8102. scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
  8103. /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
  8104. * It is easy to get rid of this optimization if necessary.
  8105. */
  8106. /* Do not waste too much time if we already have a good match: */
  8107. if (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length >= (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match {
  8108. chain_length >>= uint32(2)
  8109. }
  8110. /* Do not look for matches beyond the end of the input. This is necessary
  8111. * to make deflate deterministic.
  8112. */
  8113. if libc.Uint32FromInt32(nice_match) > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  8114. nice_match = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
  8115. }
  8116. for {
  8117. match = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(cur_match)
  8118. /* Skip to next match if the match length cannot increase
  8119. * or if the match length is less than 2. Note that the checks below
  8120. * for insufficient lookahead only occur occasionally for performance
  8121. * reasons. Therefore uninitialized memory will be accessed, and
  8122. * conditional jumps will be made that depend on those values.
  8123. * However the length of the match is limited to the lookahead, so
  8124. * the output of deflate is not affected by the uninitialized values.
  8125. */
  8126. if v7 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(match + uintptr(best_len)))) != libc.Int32FromUint8(scan_end) || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(match + uintptr(best_len-int32(1))))) != libc.Int32FromUint8(scan_end1) || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(match))) != libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(scan))); !v7 {
  8127. match++
  8128. v6 = match
  8129. }
  8130. if v7 || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v6))) != libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(scan + 1))) {
  8131. goto _5
  8132. }
  8133. /* The check at best_len - 1 can be removed because it will be made
  8134. * again later. (This heuristic is not always a win.)
  8135. * It is not necessary to compare scan[2] and match[2] since they
  8136. * are always equal when the other bytes match, given that
  8137. * the hash keys are equal and that HASH_BITS >= 8.
  8138. */
  8139. scan += uintptr(2)
  8140. /* The check at best_len - 1 can be removed because it will be made
  8141. * again later. (This heuristic is not always a win.)
  8142. * It is not necessary to compare scan[2] and match[2] since they
  8143. * are always equal when the other bytes match, given that
  8144. * the hash keys are equal and that HASH_BITS >= 8.
  8145. */
  8146. match++
  8147. /* We check for insufficient lookahead only every 8th comparison;
  8148. * the 256th check will be made at strstart + 258.
  8149. */
  8150. for {
  8151. goto _31
  8152. _31:
  8153. ;
  8154. scan++
  8155. v8 = scan
  8156. match++
  8157. v9 = match
  8158. if v12 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v8))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v9))); v12 {
  8159. scan++
  8160. v10 = scan
  8161. match++
  8162. v11 = match
  8163. }
  8164. if v15 = v12 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v10))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v11))); v15 {
  8165. scan++
  8166. v13 = scan
  8167. match++
  8168. v14 = match
  8169. }
  8170. if v18 = v15 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v13))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v14))); v18 {
  8171. scan++
  8172. v16 = scan
  8173. match++
  8174. v17 = match
  8175. }
  8176. if v21 = v18 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v16))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v17))); v21 {
  8177. scan++
  8178. v19 = scan
  8179. match++
  8180. v20 = match
  8181. }
  8182. if v24 = v21 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v19))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v20))); v24 {
  8183. scan++
  8184. v22 = scan
  8185. match++
  8186. v23 = match
  8187. }
  8188. if v27 = v24 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v22))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v23))); v27 {
  8189. scan++
  8190. v25 = scan
  8191. match++
  8192. v26 = match
  8193. }
  8194. if v30 = v27 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v25))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v26))); v30 {
  8195. scan++
  8196. v28 = scan
  8197. match++
  8198. v29 = match
  8199. }
  8200. if !(v30 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v28))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v29))) && scan < strend) {
  8201. break
  8202. }
  8203. }
  8204. len1 = int32(m_MAX_MATCH) - int32(int64(strend)-int64(scan))
  8205. scan = strend - uintptr(m_MAX_MATCH)
  8206. if len1 > best_len {
  8207. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start = cur_match
  8208. best_len = len1
  8209. if len1 >= nice_match {
  8210. break
  8211. }
  8212. scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
  8213. scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
  8214. }
  8215. goto _5
  8216. _5:
  8217. ;
  8218. v2 = uint32(*(*TPosf)(unsafe.Pointer(prev + uintptr(cur_match&wmask)*2)))
  8219. cur_match = v2
  8220. if v4 = v2 > limit; v4 {
  8221. chain_length--
  8222. v3 = chain_length
  8223. }
  8224. if !(v4 && v3 != uint32(0)) {
  8225. break
  8226. }
  8227. }
  8228. if libc.Uint32FromInt32(best_len) <= (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  8229. return libc.Uint32FromInt32(best_len)
  8230. }
  8231. return (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8232. }
  8233. /* ===========================================================================
  8234. * Flush the current block, with given end-of-file flag.
  8235. * IN assertion: strstart is set to the end of the current match.
  8236. */
  8237. /* Same but force premature exit if necessary. */
  8238. /* Maximum stored block length in deflate format (not including header). */
  8239. /* Minimum of a and b. */
  8240. // C documentation
  8241. //
  8242. // /* ===========================================================================
  8243. // * Copy without compression as much as possible from the input stream, return
  8244. // * the current block state.
  8245. // *
  8246. // * In case deflateParams() is used to later switch to a non-zero compression
  8247. // * level, s->matches (otherwise unused when storing) keeps track of the number
  8248. // * of hash table slides to perform. If s->matches is 1, then one hash table
  8249. // * slide will be done when switching. If s->matches is 2, the maximum value
  8250. // * allowed here, then the hash table will be cleared, since two or more slides
  8251. // * is the same as a clear.
  8252. // *
  8253. // * deflate_stored() is written to minimize the number of times an input byte is
  8254. // * copied. It is most efficient with large input and output buffers, which
  8255. // * maximizes the opportunities to have a single copy from next_in to next_out.
  8256. // */
  8257. func _deflate_stored(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8258. var have, last, left, len1, min_block, used, v3, v4, v6, v7 uint32
  8259. var v1, v5 uint64
  8260. var v2, v8, v9 int32
  8261. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = have, last, left, len1, min_block, used, v1, v2, v3, v4, v5, v6, v7, v8, v9
  8262. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(5) > uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) {
  8263. v1 = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  8264. } else {
  8265. v1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(5)
  8266. }
  8267. /* Smallest worthy block size when not flushing or finishing. By default
  8268. * this is 32K. This can be as small as 507 bytes for memLevel == 1. For
  8269. * large input and output buffers, the stored block size will be larger.
  8270. */
  8271. min_block = uint32(v1)
  8272. last = uint32(0)
  8273. used = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  8274. for cond := true; cond; cond = last == uint32(0) {
  8275. /* Set len to the maximum size block that we can copy directly with the
  8276. * available input data and output space. Set left to how much of that
  8277. * would be copied from what's left in the window.
  8278. */
  8279. len1 = uint32(m_MAX_STORED) /* maximum deflate stored block length */
  8280. have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
  8281. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out < have { /* need room for header */
  8282. break
  8283. }
  8284. /* maximum stored block length that will fit in avail_out: */
  8285. have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out - have
  8286. left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start) /* bytes left in window */
  8287. if uint64(len1) > uint64(left)+uint64((*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) {
  8288. len1 = left + (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  8289. } /* limit len to the input */
  8290. if len1 > have {
  8291. len1 = have
  8292. } /* limit len to the output */
  8293. /* If the stored block would be less than min_block in length, or if
  8294. * unable to copy all of the available input when flushing, then try
  8295. * copying to the window and the pending buffer instead. Also don't
  8296. * write an empty block when flushing -- deflate() does that.
  8297. */
  8298. if len1 < min_block && (len1 == uint32(0) && flush != int32(m_Z_FINISH) || flush == m_Z_NO_FLUSH || len1 != left+(*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) {
  8299. break
  8300. }
  8301. /* Make a dummy stored block in pending to get the header bytes,
  8302. * including any pending bits. This also updates the debugging counts.
  8303. */
  8304. if flush == int32(m_Z_FINISH) && len1 == left+(*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
  8305. v2 = int32(1)
  8306. } else {
  8307. v2 = 0
  8308. }
  8309. last = libc.Uint32FromInt32(v2)
  8310. x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), libc.Int32FromUint32(last))
  8311. /* Replace the lengths in the dummy stored block with len. */
  8312. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(4)))) = uint8(len1)
  8313. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(3)))) = uint8(len1 >> int32(8))
  8314. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(2)))) = uint8(^len1)
  8315. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(1)))) = uint8(^len1 >> int32(8))
  8316. /* Write the stored block header bytes. */
  8317. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8318. /* Copy uncompressed bytes from the window to next_out. */
  8319. if left != 0 {
  8320. if left > len1 {
  8321. left = len1
  8322. }
  8323. libc.Xmemcpy(tls, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), uint64(left))
  8324. *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(left)
  8325. *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= left
  8326. *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(left)
  8327. *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(left)
  8328. len1 -= left
  8329. }
  8330. /* Copy uncompressed bytes directly from next_in to next_out, updating
  8331. * the check value.
  8332. */
  8333. if len1 != 0 {
  8334. _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, len1)
  8335. *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(len1)
  8336. *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= len1
  8337. *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(len1)
  8338. }
  8339. }
  8340. /* Update the sliding window with the last s->w_size bytes of the copied
  8341. * data, or append all of the copied data to the existing window if less
  8342. * than s->w_size bytes were copied. Also update the number of bytes to
  8343. * insert in the hash tables, in the event that deflateParams() switches to
  8344. * a non-zero compression level.
  8345. */
  8346. used -= (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in /* number of input bytes directly copied */
  8347. if used != 0 {
  8348. /* If any input was used, then no unused input remains in the window,
  8349. * therefore s->block_start == s->strstart.
  8350. */
  8351. if used >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size { /* supplant the previous history */
  8352. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(2) /* clear hash */
  8353. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size))
  8354. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8355. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8356. } else {
  8357. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) <= uint64(used) {
  8358. /* Slide the window down. */
  8359. *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8360. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  8361. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
  8362. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  8363. } /* add a pending slide_hash() */
  8364. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  8365. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8366. }
  8367. }
  8368. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr(used), uint64(used))
  8369. *(*TuInt)(unsafe.Pointer(s + 172)) += used
  8370. if used > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
  8371. v3 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  8372. } else {
  8373. v3 = used
  8374. }
  8375. *(*TuInt)(unsafe.Pointer(s + 5932)) += v3
  8376. }
  8377. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8378. }
  8379. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
  8380. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8381. }
  8382. /* If the last block was written to next_out, then done. */
  8383. if last != 0 {
  8384. return int32(_finish_done)
  8385. }
  8386. /* If flushing and all input has been consumed, then done. */
  8387. if flush != m_Z_NO_FLUSH && flush != int32(m_Z_FINISH) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) == (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start {
  8388. return int32(_block_done)
  8389. }
  8390. /* Fill the window with any remaining input. */
  8391. have = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  8392. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in > have && (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) {
  8393. /* Slide the window down. */
  8394. *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  8395. *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8396. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  8397. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
  8398. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  8399. } /* add a pending slide_hash() */
  8400. have += (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size /* more space now */
  8401. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  8402. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8403. }
  8404. }
  8405. if have > (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
  8406. have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  8407. }
  8408. if have != 0 {
  8409. _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), have)
  8410. *(*TuInt)(unsafe.Pointer(s + 172)) += have
  8411. if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
  8412. v4 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  8413. } else {
  8414. v4 = have
  8415. }
  8416. *(*TuInt)(unsafe.Pointer(s + 5932)) += v4
  8417. }
  8418. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
  8419. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8420. }
  8421. /* There was not enough avail_out to write a complete worthy or flushed
  8422. * stored block to next_out. Write a stored block to pending instead, if we
  8423. * have enough input for a worthy block, or if flushing and there is enough
  8424. * room for the remaining input as a stored block in the pending buffer.
  8425. */
  8426. have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
  8427. /* maximum stored block length that will fit in pending: */
  8428. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(have) > libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED)) {
  8429. v5 = libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED))
  8430. } else {
  8431. v5 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(have)
  8432. }
  8433. have = uint32(v5)
  8434. if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  8435. v6 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8436. } else {
  8437. v6 = have
  8438. }
  8439. min_block = v6
  8440. left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start)
  8441. if left >= min_block || (left != 0 || flush == int32(m_Z_FINISH)) && flush != m_Z_NO_FLUSH && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && left <= have {
  8442. if left > have {
  8443. v7 = have
  8444. } else {
  8445. v7 = left
  8446. }
  8447. len1 = v7
  8448. if flush == int32(m_Z_FINISH) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && len1 == left {
  8449. v8 = int32(1)
  8450. } else {
  8451. v8 = 0
  8452. }
  8453. last = libc.Uint32FromInt32(v8)
  8454. x__tr_stored_block(tls, s, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), uint64(len1), libc.Int32FromUint32(last))
  8455. *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(len1)
  8456. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8457. }
  8458. /* We've done all we can with the available input and output. */
  8459. if last != 0 {
  8460. v9 = int32(_finish_started)
  8461. } else {
  8462. v9 = int32(_need_more)
  8463. }
  8464. return v9
  8465. }
  8466. // C documentation
  8467. //
  8468. // /* ===========================================================================
  8469. // * Compress as much as possible from the input stream, return the current
  8470. // * block state.
  8471. // * This function does not perform lazy evaluation of matches and inserts
  8472. // * new strings in the dictionary only for unmatched strings or for short
  8473. // * matches. It is used only for the fast compression options.
  8474. // */
  8475. func _deflate_fast(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8476. var bflush, v9 int32
  8477. var cc, len1 Tuch
  8478. var dist Tush
  8479. var hash_head TIPos
  8480. var v10, v14, v16, v18, v3, v5, v7 TuInt
  8481. var v11, v15, v17, v19, v20, v22, v23, v4, v6, v8 uintptr
  8482. var v13, v2 TPosf
  8483. var v21 uint32
  8484. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, dist, hash_head, len1, v10, v11, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v3, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  8485. for {
  8486. /* Make sure that we always have enough lookahead, except
  8487. * at the end of the input file. We need MAX_MATCH bytes
  8488. * for the next match, plus MIN_MATCH bytes to insert the
  8489. * string following the next match.
  8490. */
  8491. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8492. _fill_window(tls, s)
  8493. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) && flush == m_Z_NO_FLUSH {
  8494. return int32(_need_more)
  8495. }
  8496. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8497. break
  8498. } /* flush the current block */
  8499. }
  8500. /* Insert the string window[strstart .. strstart + 2] in the
  8501. * dictionary, and set hash_head to the head of the hash chain:
  8502. */
  8503. hash_head = uint32(m_NIL)
  8504. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  8505. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8506. v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8507. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v2
  8508. hash_head = uint32(v2)
  8509. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8510. }
  8511. /* Find the longest match, discarding those <= prev_length.
  8512. * At this point we have always match_length < MIN_MATCH
  8513. */
  8514. if hash_head != uint32(m_NIL) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-hash_head <= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8515. /* To simplify the code, we prevent matches with the string
  8516. * of window index 0 (in particular we have to avoid a match
  8517. * of the string with itself at the start of the input file).
  8518. */
  8519. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
  8520. /* longest_match() sets match_start */
  8521. }
  8522. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
  8523. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
  8524. dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start)
  8525. v4 = s + 5900
  8526. v3 = *(*TuInt)(unsafe.Pointer(v4))
  8527. *(*TuInt)(unsafe.Pointer(v4))++
  8528. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
  8529. v6 = s + 5900
  8530. v5 = *(*TuInt)(unsafe.Pointer(v6))
  8531. *(*TuInt)(unsafe.Pointer(v6))++
  8532. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  8533. v8 = s + 5900
  8534. v7 = *(*TuInt)(unsafe.Pointer(v8))
  8535. *(*TuInt)(unsafe.Pointer(v8))++
  8536. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
  8537. dist--
  8538. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  8539. if libc.Int32FromUint16(dist) < int32(256) {
  8540. v9 = libc.Int32FromUint8(x__dist_code[dist])
  8541. } else {
  8542. v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  8543. }
  8544. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
  8545. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8546. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8547. /* Insert new strings in the hash table only if the match length
  8548. * is not too large. This saves time but degrades compression.
  8549. */
  8550. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length <= (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match && (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  8551. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length-- /* string at strstart already in table */
  8552. for {
  8553. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8554. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8555. v13 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8556. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v13
  8557. hash_head = uint32(v13)
  8558. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8559. /* strstart never exceeds WSIZE-MAX_MATCH, so there are
  8560. * always MIN_MATCH bytes ahead.
  8561. */
  8562. goto _12
  8563. _12:
  8564. ;
  8565. v11 = s + 160
  8566. *(*TuInt)(unsafe.Pointer(v11))--
  8567. v10 = *(*TuInt)(unsafe.Pointer(v11))
  8568. if !(v10 != uint32(0)) {
  8569. break
  8570. }
  8571. }
  8572. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8573. } else {
  8574. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8575. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  8576. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))))
  8577. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8578. /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
  8579. * matter since it will be recomputed at next deflate call.
  8580. */
  8581. }
  8582. } else {
  8583. /* No match, output a literal byte */
  8584. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  8585. v15 = s + 5900
  8586. v14 = *(*TuInt)(unsafe.Pointer(v15))
  8587. *(*TuInt)(unsafe.Pointer(v15))++
  8588. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v14))) = uint8(0)
  8589. v17 = s + 5900
  8590. v16 = *(*TuInt)(unsafe.Pointer(v17))
  8591. *(*TuInt)(unsafe.Pointer(v17))++
  8592. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v16))) = uint8(0)
  8593. v19 = s + 5900
  8594. v18 = *(*TuInt)(unsafe.Pointer(v19))
  8595. *(*TuInt)(unsafe.Pointer(v19))++
  8596. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v18))) = cc
  8597. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  8598. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8599. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8600. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8601. }
  8602. if bflush != 0 {
  8603. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8604. v20 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8605. } else {
  8606. v20 = libc.UintptrFromInt32(m_Z_NULL)
  8607. }
  8608. x__tr_flush_block(tls, s, v20, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8609. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8610. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8611. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8612. return int32(_need_more)
  8613. }
  8614. }
  8615. goto _1
  8616. _1:
  8617. }
  8618. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
  8619. v21 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8620. } else {
  8621. v21 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8622. }
  8623. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v21
  8624. if flush == int32(m_Z_FINISH) {
  8625. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8626. v22 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8627. } else {
  8628. v22 = libc.UintptrFromInt32(m_Z_NULL)
  8629. }
  8630. x__tr_flush_block(tls, s, v22, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  8631. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8632. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8633. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8634. return int32(_finish_started)
  8635. }
  8636. return int32(_finish_done)
  8637. }
  8638. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  8639. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8640. v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8641. } else {
  8642. v23 = libc.UintptrFromInt32(m_Z_NULL)
  8643. }
  8644. x__tr_flush_block(tls, s, v23, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8645. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8646. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8647. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8648. return int32(_need_more)
  8649. }
  8650. }
  8651. return int32(_block_done)
  8652. }
  8653. // C documentation
  8654. //
  8655. // /* ===========================================================================
  8656. // * Same as above, but achieves better compression. We use a lazy
  8657. // * evaluation for matches: a match is finally adopted only if there is
  8658. // * no better match at the next window position.
  8659. // */
  8660. func _deflate_slow(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8661. var bflush, v9 int32
  8662. var cc, cc1, len1 Tuch
  8663. var dist Tush
  8664. var hash_head TIPos
  8665. var max_insert, v10, v13, v17, v19, v21, v24, v26, v28, v3, v5, v7 TuInt
  8666. var v11, v14, v16, v18, v20, v22, v23, v25, v27, v29, v31, v32, v4, v6, v8 uintptr
  8667. var v15, v2 TPosf
  8668. var v30 uint32
  8669. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, cc1, dist, hash_head, len1, max_insert, v10, v11, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  8670. /* Process the input block. */
  8671. for {
  8672. /* Make sure that we always have enough lookahead, except
  8673. * at the end of the input file. We need MAX_MATCH bytes
  8674. * for the next match, plus MIN_MATCH bytes to insert the
  8675. * string following the next match.
  8676. */
  8677. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8678. _fill_window(tls, s)
  8679. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) && flush == m_Z_NO_FLUSH {
  8680. return int32(_need_more)
  8681. }
  8682. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8683. break
  8684. } /* flush the current block */
  8685. }
  8686. /* Insert the string window[strstart .. strstart + 2] in the
  8687. * dictionary, and set hash_head to the head of the hash chain:
  8688. */
  8689. hash_head = uint32(m_NIL)
  8690. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  8691. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8692. v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8693. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v2
  8694. hash_head = uint32(v2)
  8695. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8696. }
  8697. /* Find the longest match, discarding those <= prev_length.
  8698. */
  8699. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8700. /* Find the longest match, discarding those <= prev_length.
  8701. */
  8702. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start
  8703. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8704. if hash_head != uint32(m_NIL) && (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length < (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-hash_head <= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8705. /* To simplify the code, we prevent matches with the string
  8706. * of window index 0 (in particular we have to avoid a match
  8707. * of the string with itself at the start of the input file).
  8708. */
  8709. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
  8710. /* longest_match() sets match_start */
  8711. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length <= uint32(5) && ((*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_FILTERED) || (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length == uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-(*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start > uint32(m_TOO_FAR)) {
  8712. /* If prev_match is also MIN_MATCH, match_start is garbage
  8713. * but we will ignore the current match anyway.
  8714. */
  8715. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8716. }
  8717. }
  8718. /* If there was a match at the previous step and the current
  8719. * match is not better, output the previous match:
  8720. */
  8721. if (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length >= uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length <= (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length {
  8722. max_insert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - uint32(m_MIN_MATCH)
  8723. /* Do not insert strings in hash table beyond this. */
  8724. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - libc.Uint32FromInt32(m_MIN_MATCH))
  8725. dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - libc.Uint32FromInt32(1) - (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match)
  8726. v4 = s + 5900
  8727. v3 = *(*TuInt)(unsafe.Pointer(v4))
  8728. *(*TuInt)(unsafe.Pointer(v4))++
  8729. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
  8730. v6 = s + 5900
  8731. v5 = *(*TuInt)(unsafe.Pointer(v6))
  8732. *(*TuInt)(unsafe.Pointer(v6))++
  8733. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  8734. v8 = s + 5900
  8735. v7 = *(*TuInt)(unsafe.Pointer(v8))
  8736. *(*TuInt)(unsafe.Pointer(v8))++
  8737. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
  8738. dist--
  8739. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  8740. if libc.Int32FromUint16(dist) < int32(256) {
  8741. v9 = libc.Int32FromUint8(x__dist_code[dist])
  8742. } else {
  8743. v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  8744. }
  8745. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
  8746. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8747. /* Insert in hash table all strings up to the end of the match.
  8748. * strstart - 1 and strstart are already inserted. If there is not
  8749. * enough lookahead, the last two strings are not inserted in
  8750. * the hash table.
  8751. */
  8752. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - uint32(1)
  8753. *(*TuInt)(unsafe.Pointer(s + 184)) -= uint32(2)
  8754. for {
  8755. v14 = s + 172
  8756. *(*TuInt)(unsafe.Pointer(v14))++
  8757. v13 = *(*TuInt)(unsafe.Pointer(v14))
  8758. if v13 <= max_insert {
  8759. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8760. v15 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8761. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v15
  8762. hash_head = uint32(v15)
  8763. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8764. }
  8765. goto _12
  8766. _12:
  8767. ;
  8768. v11 = s + 184
  8769. *(*TuInt)(unsafe.Pointer(v11))--
  8770. v10 = *(*TuInt)(unsafe.Pointer(v11))
  8771. if !(v10 != uint32(0)) {
  8772. break
  8773. }
  8774. }
  8775. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  8776. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8777. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8778. if bflush != 0 {
  8779. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8780. v16 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8781. } else {
  8782. v16 = libc.UintptrFromInt32(m_Z_NULL)
  8783. }
  8784. x__tr_flush_block(tls, s, v16, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8785. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8786. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8787. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8788. return int32(_need_more)
  8789. }
  8790. }
  8791. } else {
  8792. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
  8793. /* If there was no match at the previous position, output a
  8794. * single literal. If there was a match but the current match
  8795. * is longer, truncate the previous match to a single literal.
  8796. */
  8797. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
  8798. v18 = s + 5900
  8799. v17 = *(*TuInt)(unsafe.Pointer(v18))
  8800. *(*TuInt)(unsafe.Pointer(v18))++
  8801. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v17))) = uint8(0)
  8802. v20 = s + 5900
  8803. v19 = *(*TuInt)(unsafe.Pointer(v20))
  8804. *(*TuInt)(unsafe.Pointer(v20))++
  8805. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v19))) = uint8(0)
  8806. v22 = s + 5900
  8807. v21 = *(*TuInt)(unsafe.Pointer(v22))
  8808. *(*TuInt)(unsafe.Pointer(v22))++
  8809. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v21))) = cc
  8810. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  8811. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8812. if bflush != 0 {
  8813. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8814. v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8815. } else {
  8816. v23 = libc.UintptrFromInt32(m_Z_NULL)
  8817. }
  8818. x__tr_flush_block(tls, s, v23, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8819. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8820. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8821. }
  8822. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8823. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8824. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8825. return int32(_need_more)
  8826. }
  8827. } else {
  8828. /* There is no previous match to compare with, wait for
  8829. * the next step to decide.
  8830. */
  8831. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = int32(1)
  8832. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8833. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8834. }
  8835. }
  8836. goto _1
  8837. _1:
  8838. }
  8839. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
  8840. cc1 = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
  8841. v25 = s + 5900
  8842. v24 = *(*TuInt)(unsafe.Pointer(v25))
  8843. *(*TuInt)(unsafe.Pointer(v25))++
  8844. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v24))) = uint8(0)
  8845. v27 = s + 5900
  8846. v26 = *(*TuInt)(unsafe.Pointer(v27))
  8847. *(*TuInt)(unsafe.Pointer(v27))++
  8848. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v26))) = uint8(0)
  8849. v29 = s + 5900
  8850. v28 = *(*TuInt)(unsafe.Pointer(v29))
  8851. *(*TuInt)(unsafe.Pointer(v29))++
  8852. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v28))) = cc1
  8853. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc1)*4))++
  8854. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8855. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  8856. }
  8857. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
  8858. v30 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8859. } else {
  8860. v30 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8861. }
  8862. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v30
  8863. if flush == int32(m_Z_FINISH) {
  8864. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8865. v31 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8866. } else {
  8867. v31 = libc.UintptrFromInt32(m_Z_NULL)
  8868. }
  8869. x__tr_flush_block(tls, s, v31, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  8870. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8871. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8872. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8873. return int32(_finish_started)
  8874. }
  8875. return int32(_finish_done)
  8876. }
  8877. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  8878. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8879. v32 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8880. } else {
  8881. v32 = libc.UintptrFromInt32(m_Z_NULL)
  8882. }
  8883. x__tr_flush_block(tls, s, v32, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8884. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8885. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8886. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8887. return int32(_need_more)
  8888. }
  8889. }
  8890. return int32(_block_done)
  8891. }
  8892. // C documentation
  8893. //
  8894. // /* ===========================================================================
  8895. // * For Z_RLE, simply look for runs of bytes, generate matches only of distance
  8896. // * one. Do not maintain a hash table. (It will be regenerated if this run of
  8897. // * deflate switches away from Z_RLE.)
  8898. // */
  8899. func _deflate_rle(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8900. var bflush, v29 int32
  8901. var cc, len1 Tuch
  8902. var dist Tush
  8903. var prev, v23, v25, v27, v30, v32, v34 TuInt
  8904. var scan, strend, v10, v12, v14, v16, v18, v2, v20, v24, v26, v28, v3, v31, v33, v35, v36, v37, v38, v5, v7, v8 uintptr
  8905. var v11, v13, v15, v17, v19, v21, v4, v6, v9 bool
  8906. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, dist, len1, prev, scan, strend, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v4, v5, v6, v7, v8, v9 /* scan goes up to strend for length of run */
  8907. for {
  8908. /* Make sure that we always have enough lookahead, except
  8909. * at the end of the input file. We need MAX_MATCH bytes
  8910. * for the longest run, plus one for the unrolled loop.
  8911. */
  8912. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) {
  8913. _fill_window(tls, s)
  8914. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) && flush == m_Z_NO_FLUSH {
  8915. return int32(_need_more)
  8916. }
  8917. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8918. break
  8919. } /* flush the current block */
  8920. }
  8921. /* See how many times the previous byte repeats */
  8922. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  8923. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart > uint32(0) {
  8924. scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - uintptr(1)
  8925. prev = uint32(*(*TBytef)(unsafe.Pointer(scan)))
  8926. scan++
  8927. v2 = scan
  8928. if v4 = prev == uint32(*(*TBytef)(unsafe.Pointer(v2))); v4 {
  8929. scan++
  8930. v3 = scan
  8931. }
  8932. if v6 = v4 && prev == uint32(*(*TBytef)(unsafe.Pointer(v3))); v6 {
  8933. scan++
  8934. v5 = scan
  8935. }
  8936. if v6 && prev == uint32(*(*TBytef)(unsafe.Pointer(v5))) {
  8937. strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
  8938. for {
  8939. goto _22
  8940. _22:
  8941. ;
  8942. scan++
  8943. v7 = scan
  8944. if v9 = prev == uint32(*(*TBytef)(unsafe.Pointer(v7))); v9 {
  8945. scan++
  8946. v8 = scan
  8947. }
  8948. if v11 = v9 && prev == uint32(*(*TBytef)(unsafe.Pointer(v8))); v11 {
  8949. scan++
  8950. v10 = scan
  8951. }
  8952. if v13 = v11 && prev == uint32(*(*TBytef)(unsafe.Pointer(v10))); v13 {
  8953. scan++
  8954. v12 = scan
  8955. }
  8956. if v15 = v13 && prev == uint32(*(*TBytef)(unsafe.Pointer(v12))); v15 {
  8957. scan++
  8958. v14 = scan
  8959. }
  8960. if v17 = v15 && prev == uint32(*(*TBytef)(unsafe.Pointer(v14))); v17 {
  8961. scan++
  8962. v16 = scan
  8963. }
  8964. if v19 = v17 && prev == uint32(*(*TBytef)(unsafe.Pointer(v16))); v19 {
  8965. scan++
  8966. v18 = scan
  8967. }
  8968. if v21 = v19 && prev == uint32(*(*TBytef)(unsafe.Pointer(v18))); v21 {
  8969. scan++
  8970. v20 = scan
  8971. }
  8972. if !(v21 && prev == uint32(*(*TBytef)(unsafe.Pointer(v20))) && scan < strend) {
  8973. break
  8974. }
  8975. }
  8976. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(m_MAX_MATCH) - libc.Uint32FromInt64(int64(strend)-int64(scan))
  8977. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  8978. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8979. }
  8980. }
  8981. }
  8982. /* Emit match if have run of MIN_MATCH or longer, else emit literal */
  8983. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
  8984. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
  8985. dist = libc.Uint16FromInt32(libc.Int32FromInt32(1))
  8986. v24 = s + 5900
  8987. v23 = *(*TuInt)(unsafe.Pointer(v24))
  8988. *(*TuInt)(unsafe.Pointer(v24))++
  8989. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v23))) = uint8(dist)
  8990. v26 = s + 5900
  8991. v25 = *(*TuInt)(unsafe.Pointer(v26))
  8992. *(*TuInt)(unsafe.Pointer(v26))++
  8993. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v25))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  8994. v28 = s + 5900
  8995. v27 = *(*TuInt)(unsafe.Pointer(v28))
  8996. *(*TuInt)(unsafe.Pointer(v28))++
  8997. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v27))) = len1
  8998. dist--
  8999. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  9000. if libc.Int32FromUint16(dist) < int32(256) {
  9001. v29 = libc.Int32FromUint8(x__dist_code[dist])
  9002. } else {
  9003. v29 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  9004. }
  9005. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v29)*4))++
  9006. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  9007. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  9008. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  9009. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  9010. } else {
  9011. /* No match, output a literal byte */
  9012. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  9013. v31 = s + 5900
  9014. v30 = *(*TuInt)(unsafe.Pointer(v31))
  9015. *(*TuInt)(unsafe.Pointer(v31))++
  9016. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v30))) = uint8(0)
  9017. v33 = s + 5900
  9018. v32 = *(*TuInt)(unsafe.Pointer(v33))
  9019. *(*TuInt)(unsafe.Pointer(v33))++
  9020. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v32))) = uint8(0)
  9021. v35 = s + 5900
  9022. v34 = *(*TuInt)(unsafe.Pointer(v35))
  9023. *(*TuInt)(unsafe.Pointer(v35))++
  9024. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v34))) = cc
  9025. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  9026. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  9027. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  9028. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  9029. }
  9030. if bflush != 0 {
  9031. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9032. v36 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9033. } else {
  9034. v36 = libc.UintptrFromInt32(m_Z_NULL)
  9035. }
  9036. x__tr_flush_block(tls, s, v36, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  9037. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9038. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9039. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9040. return int32(_need_more)
  9041. }
  9042. }
  9043. goto _1
  9044. _1:
  9045. }
  9046. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  9047. if flush == int32(m_Z_FINISH) {
  9048. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9049. v37 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9050. } else {
  9051. v37 = libc.UintptrFromInt32(m_Z_NULL)
  9052. }
  9053. x__tr_flush_block(tls, s, v37, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  9054. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9055. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9056. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9057. return int32(_finish_started)
  9058. }
  9059. return int32(_finish_done)
  9060. }
  9061. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  9062. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9063. v38 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9064. } else {
  9065. v38 = libc.UintptrFromInt32(m_Z_NULL)
  9066. }
  9067. x__tr_flush_block(tls, s, v38, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  9068. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9069. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9070. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9071. return int32(_need_more)
  9072. }
  9073. }
  9074. return int32(_block_done)
  9075. }
  9076. // C documentation
  9077. //
  9078. // /* ===========================================================================
  9079. // * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.
  9080. // * (It will be regenerated if this run of deflate switches away from Huffman.)
  9081. // */
  9082. func _deflate_huff(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  9083. var bflush int32
  9084. var cc Tuch
  9085. var v10, v3, v5, v7, v8, v9 uintptr
  9086. var v2, v4, v6 TuInt
  9087. _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, v10, v2, v3, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  9088. for {
  9089. /* Make sure that we have a literal to write. */
  9090. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  9091. _fill_window(tls, s)
  9092. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  9093. if flush == m_Z_NO_FLUSH {
  9094. return int32(_need_more)
  9095. }
  9096. break /* flush the current block */
  9097. }
  9098. }
  9099. /* Output a literal byte */
  9100. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  9101. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  9102. v3 = s + 5900
  9103. v2 = *(*TuInt)(unsafe.Pointer(v3))
  9104. *(*TuInt)(unsafe.Pointer(v3))++
  9105. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))) = uint8(0)
  9106. v5 = s + 5900
  9107. v4 = *(*TuInt)(unsafe.Pointer(v5))
  9108. *(*TuInt)(unsafe.Pointer(v5))++
  9109. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v4))) = uint8(0)
  9110. v7 = s + 5900
  9111. v6 = *(*TuInt)(unsafe.Pointer(v7))
  9112. *(*TuInt)(unsafe.Pointer(v7))++
  9113. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v6))) = cc
  9114. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  9115. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  9116. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  9117. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  9118. if bflush != 0 {
  9119. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9120. v8 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9121. } else {
  9122. v8 = libc.UintptrFromInt32(m_Z_NULL)
  9123. }
  9124. x__tr_flush_block(tls, s, v8, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  9125. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9126. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9127. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9128. return int32(_need_more)
  9129. }
  9130. }
  9131. goto _1
  9132. _1:
  9133. }
  9134. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  9135. if flush == int32(m_Z_FINISH) {
  9136. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9137. v9 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9138. } else {
  9139. v9 = libc.UintptrFromInt32(m_Z_NULL)
  9140. }
  9141. x__tr_flush_block(tls, s, v9, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  9142. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9143. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9144. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9145. return int32(_finish_started)
  9146. }
  9147. return int32(_finish_done)
  9148. }
  9149. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  9150. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9151. v10 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9152. } else {
  9153. v10 = libc.UintptrFromInt32(m_Z_NULL)
  9154. }
  9155. x__tr_flush_block(tls, s, v10, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  9156. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9157. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9158. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9159. return int32(_need_more)
  9160. }
  9161. }
  9162. return int32(_block_done)
  9163. }
  9164. const m_ENOUGH_DISTS = 592
  9165. const m_ENOUGH_LENS = 852
  9166. const m_PRESET_DICT2 = 0x20
  9167. type Tcode = struct {
  9168. Fop uint8
  9169. Fbits uint8
  9170. Fval uint16
  9171. }
  9172. type Tcodetype = int32
  9173. const _CODES = 0
  9174. const _LENS = 1
  9175. const _DISTS = 2
  9176. type Tinflate_mode = int32
  9177. const _HEAD = 16180
  9178. const _FLAGS = 16181
  9179. const _TIME = 16182
  9180. const _OS = 16183
  9181. const _EXLEN = 16184
  9182. const _EXTRA = 16185
  9183. const _NAME = 16186
  9184. const _COMMENT = 16187
  9185. const _HCRC = 16188
  9186. const _DICTID = 16189
  9187. const _DICT = 16190
  9188. const _TYPE = 16191
  9189. const _TYPEDO = 16192
  9190. const _STORED = 16193
  9191. const _COPY_ = 16194
  9192. const _COPY = 16195
  9193. const _TABLE = 16196
  9194. const _LENLENS = 16197
  9195. const _CODELENS = 16198
  9196. const _LEN_ = 16199
  9197. const _LEN = 16200
  9198. const _LENEXT = 16201
  9199. const _DIST = 16202
  9200. const _DISTEXT = 16203
  9201. const _MATCH = 16204
  9202. const _LIT = 16205
  9203. const _CHECK = 16206
  9204. const _LENGTH = 16207
  9205. const _DONE = 16208
  9206. const _BAD = 16209
  9207. const _MEM = 16210
  9208. const _SYNC = 16211
  9209. type Tinflate_state = struct {
  9210. Fstrm Tz_streamp
  9211. Fmode Tinflate_mode
  9212. Flast int32
  9213. Fwrap int32
  9214. Fhavedict int32
  9215. Fflags int32
  9216. Fdmax uint32
  9217. Fcheck uint64
  9218. Ftotal uint64
  9219. Fhead Tgz_headerp
  9220. Fwbits uint32
  9221. Fwsize uint32
  9222. Fwhave uint32
  9223. Fwnext uint32
  9224. Fwindow uintptr
  9225. Fhold uint64
  9226. Fbits uint32
  9227. Flength uint32
  9228. Foffset uint32
  9229. Fextra uint32
  9230. Flencode uintptr
  9231. Fdistcode uintptr
  9232. Flenbits uint32
  9233. Fdistbits uint32
  9234. Fncode uint32
  9235. Fnlen uint32
  9236. Fndist uint32
  9237. Fhave uint32
  9238. Fnext uintptr
  9239. Flens [320]uint16
  9240. Fwork [288]uint16
  9241. Fcodes [1444]Tcode
  9242. Fsane int32
  9243. Fback int32
  9244. Fwas uint32
  9245. }
  9246. // C documentation
  9247. //
  9248. // /*
  9249. // strm provides memory allocation functions in zalloc and zfree, or
  9250. // Z_NULL to use the library memory allocation functions.
  9251. //
  9252. // windowBits is in the range 8..15, and window is a user-supplied
  9253. // window and output buffer that is 2**windowBits bytes.
  9254. // */
  9255. func XinflateBackInit_(tls *libc.TLS, strm Tz_streamp, windowBits int32, window uintptr, version uintptr, stream_size int32) (r int32) {
  9256. var state uintptr
  9257. _ = state
  9258. if version == uintptr(m_Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(*(*int8)(unsafe.Pointer(__ccgo_ts))) || stream_size != libc.Int32FromUint64(libc.Uint64FromInt64(112)) {
  9259. return -int32(6)
  9260. }
  9261. if strm == uintptr(m_Z_NULL) || window == uintptr(m_Z_NULL) || windowBits < int32(8) || windowBits > int32(15) {
  9262. return -int32(2)
  9263. }
  9264. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
  9265. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  9266. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  9267. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  9268. }
  9269. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  9270. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  9271. }
  9272. state = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(7160)))
  9273. if state == uintptr(m_Z_NULL) {
  9274. return -int32(4)
  9275. }
  9276. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
  9277. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
  9278. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
  9279. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << windowBits
  9280. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = window
  9281. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  9282. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  9283. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  9284. return m_Z_OK
  9285. }
  9286. // C documentation
  9287. //
  9288. // /*
  9289. // Return state with length and distance decoding tables and index sizes set to
  9290. // fixed code decoding. Normally this returns fixed tables from inffixed.h.
  9291. // If BUILDFIXED is defined, then instead this routine builds the tables the
  9292. // first time it's called, and returns those tables the first time and
  9293. // thereafter. This reduces the size of the code by about 2K bytes, in
  9294. // exchange for a little execution time. However, BUILDFIXED should not be
  9295. // used for threaded applications, since the rewriting of the tables and virgin
  9296. // may not be thread-safe.
  9297. // */
  9298. func _fixedtables(tls *libc.TLS, state uintptr) {
  9299. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix))
  9300. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  9301. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix))
  9302. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
  9303. }
  9304. var _lenfix = [512]Tcode{
  9305. 0: {
  9306. Fop: uint8(96),
  9307. Fbits: uint8(7),
  9308. },
  9309. 1: {
  9310. Fbits: uint8(8),
  9311. Fval: uint16(80),
  9312. },
  9313. 2: {
  9314. Fbits: uint8(8),
  9315. Fval: uint16(16),
  9316. },
  9317. 3: {
  9318. Fop: uint8(20),
  9319. Fbits: uint8(8),
  9320. Fval: uint16(115),
  9321. },
  9322. 4: {
  9323. Fop: uint8(18),
  9324. Fbits: uint8(7),
  9325. Fval: uint16(31),
  9326. },
  9327. 5: {
  9328. Fbits: uint8(8),
  9329. Fval: uint16(112),
  9330. },
  9331. 6: {
  9332. Fbits: uint8(8),
  9333. Fval: uint16(48),
  9334. },
  9335. 7: {
  9336. Fbits: uint8(9),
  9337. Fval: uint16(192),
  9338. },
  9339. 8: {
  9340. Fop: uint8(16),
  9341. Fbits: uint8(7),
  9342. Fval: uint16(10),
  9343. },
  9344. 9: {
  9345. Fbits: uint8(8),
  9346. Fval: uint16(96),
  9347. },
  9348. 10: {
  9349. Fbits: uint8(8),
  9350. Fval: uint16(32),
  9351. },
  9352. 11: {
  9353. Fbits: uint8(9),
  9354. Fval: uint16(160),
  9355. },
  9356. 12: {
  9357. Fbits: uint8(8),
  9358. },
  9359. 13: {
  9360. Fbits: uint8(8),
  9361. Fval: uint16(128),
  9362. },
  9363. 14: {
  9364. Fbits: uint8(8),
  9365. Fval: uint16(64),
  9366. },
  9367. 15: {
  9368. Fbits: uint8(9),
  9369. Fval: uint16(224),
  9370. },
  9371. 16: {
  9372. Fop: uint8(16),
  9373. Fbits: uint8(7),
  9374. Fval: uint16(6),
  9375. },
  9376. 17: {
  9377. Fbits: uint8(8),
  9378. Fval: uint16(88),
  9379. },
  9380. 18: {
  9381. Fbits: uint8(8),
  9382. Fval: uint16(24),
  9383. },
  9384. 19: {
  9385. Fbits: uint8(9),
  9386. Fval: uint16(144),
  9387. },
  9388. 20: {
  9389. Fop: uint8(19),
  9390. Fbits: uint8(7),
  9391. Fval: uint16(59),
  9392. },
  9393. 21: {
  9394. Fbits: uint8(8),
  9395. Fval: uint16(120),
  9396. },
  9397. 22: {
  9398. Fbits: uint8(8),
  9399. Fval: uint16(56),
  9400. },
  9401. 23: {
  9402. Fbits: uint8(9),
  9403. Fval: uint16(208),
  9404. },
  9405. 24: {
  9406. Fop: uint8(17),
  9407. Fbits: uint8(7),
  9408. Fval: uint16(17),
  9409. },
  9410. 25: {
  9411. Fbits: uint8(8),
  9412. Fval: uint16(104),
  9413. },
  9414. 26: {
  9415. Fbits: uint8(8),
  9416. Fval: uint16(40),
  9417. },
  9418. 27: {
  9419. Fbits: uint8(9),
  9420. Fval: uint16(176),
  9421. },
  9422. 28: {
  9423. Fbits: uint8(8),
  9424. Fval: uint16(8),
  9425. },
  9426. 29: {
  9427. Fbits: uint8(8),
  9428. Fval: uint16(136),
  9429. },
  9430. 30: {
  9431. Fbits: uint8(8),
  9432. Fval: uint16(72),
  9433. },
  9434. 31: {
  9435. Fbits: uint8(9),
  9436. Fval: uint16(240),
  9437. },
  9438. 32: {
  9439. Fop: uint8(16),
  9440. Fbits: uint8(7),
  9441. Fval: uint16(4),
  9442. },
  9443. 33: {
  9444. Fbits: uint8(8),
  9445. Fval: uint16(84),
  9446. },
  9447. 34: {
  9448. Fbits: uint8(8),
  9449. Fval: uint16(20),
  9450. },
  9451. 35: {
  9452. Fop: uint8(21),
  9453. Fbits: uint8(8),
  9454. Fval: uint16(227),
  9455. },
  9456. 36: {
  9457. Fop: uint8(19),
  9458. Fbits: uint8(7),
  9459. Fval: uint16(43),
  9460. },
  9461. 37: {
  9462. Fbits: uint8(8),
  9463. Fval: uint16(116),
  9464. },
  9465. 38: {
  9466. Fbits: uint8(8),
  9467. Fval: uint16(52),
  9468. },
  9469. 39: {
  9470. Fbits: uint8(9),
  9471. Fval: uint16(200),
  9472. },
  9473. 40: {
  9474. Fop: uint8(17),
  9475. Fbits: uint8(7),
  9476. Fval: uint16(13),
  9477. },
  9478. 41: {
  9479. Fbits: uint8(8),
  9480. Fval: uint16(100),
  9481. },
  9482. 42: {
  9483. Fbits: uint8(8),
  9484. Fval: uint16(36),
  9485. },
  9486. 43: {
  9487. Fbits: uint8(9),
  9488. Fval: uint16(168),
  9489. },
  9490. 44: {
  9491. Fbits: uint8(8),
  9492. Fval: uint16(4),
  9493. },
  9494. 45: {
  9495. Fbits: uint8(8),
  9496. Fval: uint16(132),
  9497. },
  9498. 46: {
  9499. Fbits: uint8(8),
  9500. Fval: uint16(68),
  9501. },
  9502. 47: {
  9503. Fbits: uint8(9),
  9504. Fval: uint16(232),
  9505. },
  9506. 48: {
  9507. Fop: uint8(16),
  9508. Fbits: uint8(7),
  9509. Fval: uint16(8),
  9510. },
  9511. 49: {
  9512. Fbits: uint8(8),
  9513. Fval: uint16(92),
  9514. },
  9515. 50: {
  9516. Fbits: uint8(8),
  9517. Fval: uint16(28),
  9518. },
  9519. 51: {
  9520. Fbits: uint8(9),
  9521. Fval: uint16(152),
  9522. },
  9523. 52: {
  9524. Fop: uint8(20),
  9525. Fbits: uint8(7),
  9526. Fval: uint16(83),
  9527. },
  9528. 53: {
  9529. Fbits: uint8(8),
  9530. Fval: uint16(124),
  9531. },
  9532. 54: {
  9533. Fbits: uint8(8),
  9534. Fval: uint16(60),
  9535. },
  9536. 55: {
  9537. Fbits: uint8(9),
  9538. Fval: uint16(216),
  9539. },
  9540. 56: {
  9541. Fop: uint8(18),
  9542. Fbits: uint8(7),
  9543. Fval: uint16(23),
  9544. },
  9545. 57: {
  9546. Fbits: uint8(8),
  9547. Fval: uint16(108),
  9548. },
  9549. 58: {
  9550. Fbits: uint8(8),
  9551. Fval: uint16(44),
  9552. },
  9553. 59: {
  9554. Fbits: uint8(9),
  9555. Fval: uint16(184),
  9556. },
  9557. 60: {
  9558. Fbits: uint8(8),
  9559. Fval: uint16(12),
  9560. },
  9561. 61: {
  9562. Fbits: uint8(8),
  9563. Fval: uint16(140),
  9564. },
  9565. 62: {
  9566. Fbits: uint8(8),
  9567. Fval: uint16(76),
  9568. },
  9569. 63: {
  9570. Fbits: uint8(9),
  9571. Fval: uint16(248),
  9572. },
  9573. 64: {
  9574. Fop: uint8(16),
  9575. Fbits: uint8(7),
  9576. Fval: uint16(3),
  9577. },
  9578. 65: {
  9579. Fbits: uint8(8),
  9580. Fval: uint16(82),
  9581. },
  9582. 66: {
  9583. Fbits: uint8(8),
  9584. Fval: uint16(18),
  9585. },
  9586. 67: {
  9587. Fop: uint8(21),
  9588. Fbits: uint8(8),
  9589. Fval: uint16(163),
  9590. },
  9591. 68: {
  9592. Fop: uint8(19),
  9593. Fbits: uint8(7),
  9594. Fval: uint16(35),
  9595. },
  9596. 69: {
  9597. Fbits: uint8(8),
  9598. Fval: uint16(114),
  9599. },
  9600. 70: {
  9601. Fbits: uint8(8),
  9602. Fval: uint16(50),
  9603. },
  9604. 71: {
  9605. Fbits: uint8(9),
  9606. Fval: uint16(196),
  9607. },
  9608. 72: {
  9609. Fop: uint8(17),
  9610. Fbits: uint8(7),
  9611. Fval: uint16(11),
  9612. },
  9613. 73: {
  9614. Fbits: uint8(8),
  9615. Fval: uint16(98),
  9616. },
  9617. 74: {
  9618. Fbits: uint8(8),
  9619. Fval: uint16(34),
  9620. },
  9621. 75: {
  9622. Fbits: uint8(9),
  9623. Fval: uint16(164),
  9624. },
  9625. 76: {
  9626. Fbits: uint8(8),
  9627. Fval: uint16(2),
  9628. },
  9629. 77: {
  9630. Fbits: uint8(8),
  9631. Fval: uint16(130),
  9632. },
  9633. 78: {
  9634. Fbits: uint8(8),
  9635. Fval: uint16(66),
  9636. },
  9637. 79: {
  9638. Fbits: uint8(9),
  9639. Fval: uint16(228),
  9640. },
  9641. 80: {
  9642. Fop: uint8(16),
  9643. Fbits: uint8(7),
  9644. Fval: uint16(7),
  9645. },
  9646. 81: {
  9647. Fbits: uint8(8),
  9648. Fval: uint16(90),
  9649. },
  9650. 82: {
  9651. Fbits: uint8(8),
  9652. Fval: uint16(26),
  9653. },
  9654. 83: {
  9655. Fbits: uint8(9),
  9656. Fval: uint16(148),
  9657. },
  9658. 84: {
  9659. Fop: uint8(20),
  9660. Fbits: uint8(7),
  9661. Fval: uint16(67),
  9662. },
  9663. 85: {
  9664. Fbits: uint8(8),
  9665. Fval: uint16(122),
  9666. },
  9667. 86: {
  9668. Fbits: uint8(8),
  9669. Fval: uint16(58),
  9670. },
  9671. 87: {
  9672. Fbits: uint8(9),
  9673. Fval: uint16(212),
  9674. },
  9675. 88: {
  9676. Fop: uint8(18),
  9677. Fbits: uint8(7),
  9678. Fval: uint16(19),
  9679. },
  9680. 89: {
  9681. Fbits: uint8(8),
  9682. Fval: uint16(106),
  9683. },
  9684. 90: {
  9685. Fbits: uint8(8),
  9686. Fval: uint16(42),
  9687. },
  9688. 91: {
  9689. Fbits: uint8(9),
  9690. Fval: uint16(180),
  9691. },
  9692. 92: {
  9693. Fbits: uint8(8),
  9694. Fval: uint16(10),
  9695. },
  9696. 93: {
  9697. Fbits: uint8(8),
  9698. Fval: uint16(138),
  9699. },
  9700. 94: {
  9701. Fbits: uint8(8),
  9702. Fval: uint16(74),
  9703. },
  9704. 95: {
  9705. Fbits: uint8(9),
  9706. Fval: uint16(244),
  9707. },
  9708. 96: {
  9709. Fop: uint8(16),
  9710. Fbits: uint8(7),
  9711. Fval: uint16(5),
  9712. },
  9713. 97: {
  9714. Fbits: uint8(8),
  9715. Fval: uint16(86),
  9716. },
  9717. 98: {
  9718. Fbits: uint8(8),
  9719. Fval: uint16(22),
  9720. },
  9721. 99: {
  9722. Fop: uint8(64),
  9723. Fbits: uint8(8),
  9724. },
  9725. 100: {
  9726. Fop: uint8(19),
  9727. Fbits: uint8(7),
  9728. Fval: uint16(51),
  9729. },
  9730. 101: {
  9731. Fbits: uint8(8),
  9732. Fval: uint16(118),
  9733. },
  9734. 102: {
  9735. Fbits: uint8(8),
  9736. Fval: uint16(54),
  9737. },
  9738. 103: {
  9739. Fbits: uint8(9),
  9740. Fval: uint16(204),
  9741. },
  9742. 104: {
  9743. Fop: uint8(17),
  9744. Fbits: uint8(7),
  9745. Fval: uint16(15),
  9746. },
  9747. 105: {
  9748. Fbits: uint8(8),
  9749. Fval: uint16(102),
  9750. },
  9751. 106: {
  9752. Fbits: uint8(8),
  9753. Fval: uint16(38),
  9754. },
  9755. 107: {
  9756. Fbits: uint8(9),
  9757. Fval: uint16(172),
  9758. },
  9759. 108: {
  9760. Fbits: uint8(8),
  9761. Fval: uint16(6),
  9762. },
  9763. 109: {
  9764. Fbits: uint8(8),
  9765. Fval: uint16(134),
  9766. },
  9767. 110: {
  9768. Fbits: uint8(8),
  9769. Fval: uint16(70),
  9770. },
  9771. 111: {
  9772. Fbits: uint8(9),
  9773. Fval: uint16(236),
  9774. },
  9775. 112: {
  9776. Fop: uint8(16),
  9777. Fbits: uint8(7),
  9778. Fval: uint16(9),
  9779. },
  9780. 113: {
  9781. Fbits: uint8(8),
  9782. Fval: uint16(94),
  9783. },
  9784. 114: {
  9785. Fbits: uint8(8),
  9786. Fval: uint16(30),
  9787. },
  9788. 115: {
  9789. Fbits: uint8(9),
  9790. Fval: uint16(156),
  9791. },
  9792. 116: {
  9793. Fop: uint8(20),
  9794. Fbits: uint8(7),
  9795. Fval: uint16(99),
  9796. },
  9797. 117: {
  9798. Fbits: uint8(8),
  9799. Fval: uint16(126),
  9800. },
  9801. 118: {
  9802. Fbits: uint8(8),
  9803. Fval: uint16(62),
  9804. },
  9805. 119: {
  9806. Fbits: uint8(9),
  9807. Fval: uint16(220),
  9808. },
  9809. 120: {
  9810. Fop: uint8(18),
  9811. Fbits: uint8(7),
  9812. Fval: uint16(27),
  9813. },
  9814. 121: {
  9815. Fbits: uint8(8),
  9816. Fval: uint16(110),
  9817. },
  9818. 122: {
  9819. Fbits: uint8(8),
  9820. Fval: uint16(46),
  9821. },
  9822. 123: {
  9823. Fbits: uint8(9),
  9824. Fval: uint16(188),
  9825. },
  9826. 124: {
  9827. Fbits: uint8(8),
  9828. Fval: uint16(14),
  9829. },
  9830. 125: {
  9831. Fbits: uint8(8),
  9832. Fval: uint16(142),
  9833. },
  9834. 126: {
  9835. Fbits: uint8(8),
  9836. Fval: uint16(78),
  9837. },
  9838. 127: {
  9839. Fbits: uint8(9),
  9840. Fval: uint16(252),
  9841. },
  9842. 128: {
  9843. Fop: uint8(96),
  9844. Fbits: uint8(7),
  9845. },
  9846. 129: {
  9847. Fbits: uint8(8),
  9848. Fval: uint16(81),
  9849. },
  9850. 130: {
  9851. Fbits: uint8(8),
  9852. Fval: uint16(17),
  9853. },
  9854. 131: {
  9855. Fop: uint8(21),
  9856. Fbits: uint8(8),
  9857. Fval: uint16(131),
  9858. },
  9859. 132: {
  9860. Fop: uint8(18),
  9861. Fbits: uint8(7),
  9862. Fval: uint16(31),
  9863. },
  9864. 133: {
  9865. Fbits: uint8(8),
  9866. Fval: uint16(113),
  9867. },
  9868. 134: {
  9869. Fbits: uint8(8),
  9870. Fval: uint16(49),
  9871. },
  9872. 135: {
  9873. Fbits: uint8(9),
  9874. Fval: uint16(194),
  9875. },
  9876. 136: {
  9877. Fop: uint8(16),
  9878. Fbits: uint8(7),
  9879. Fval: uint16(10),
  9880. },
  9881. 137: {
  9882. Fbits: uint8(8),
  9883. Fval: uint16(97),
  9884. },
  9885. 138: {
  9886. Fbits: uint8(8),
  9887. Fval: uint16(33),
  9888. },
  9889. 139: {
  9890. Fbits: uint8(9),
  9891. Fval: uint16(162),
  9892. },
  9893. 140: {
  9894. Fbits: uint8(8),
  9895. Fval: uint16(1),
  9896. },
  9897. 141: {
  9898. Fbits: uint8(8),
  9899. Fval: uint16(129),
  9900. },
  9901. 142: {
  9902. Fbits: uint8(8),
  9903. Fval: uint16(65),
  9904. },
  9905. 143: {
  9906. Fbits: uint8(9),
  9907. Fval: uint16(226),
  9908. },
  9909. 144: {
  9910. Fop: uint8(16),
  9911. Fbits: uint8(7),
  9912. Fval: uint16(6),
  9913. },
  9914. 145: {
  9915. Fbits: uint8(8),
  9916. Fval: uint16(89),
  9917. },
  9918. 146: {
  9919. Fbits: uint8(8),
  9920. Fval: uint16(25),
  9921. },
  9922. 147: {
  9923. Fbits: uint8(9),
  9924. Fval: uint16(146),
  9925. },
  9926. 148: {
  9927. Fop: uint8(19),
  9928. Fbits: uint8(7),
  9929. Fval: uint16(59),
  9930. },
  9931. 149: {
  9932. Fbits: uint8(8),
  9933. Fval: uint16(121),
  9934. },
  9935. 150: {
  9936. Fbits: uint8(8),
  9937. Fval: uint16(57),
  9938. },
  9939. 151: {
  9940. Fbits: uint8(9),
  9941. Fval: uint16(210),
  9942. },
  9943. 152: {
  9944. Fop: uint8(17),
  9945. Fbits: uint8(7),
  9946. Fval: uint16(17),
  9947. },
  9948. 153: {
  9949. Fbits: uint8(8),
  9950. Fval: uint16(105),
  9951. },
  9952. 154: {
  9953. Fbits: uint8(8),
  9954. Fval: uint16(41),
  9955. },
  9956. 155: {
  9957. Fbits: uint8(9),
  9958. Fval: uint16(178),
  9959. },
  9960. 156: {
  9961. Fbits: uint8(8),
  9962. Fval: uint16(9),
  9963. },
  9964. 157: {
  9965. Fbits: uint8(8),
  9966. Fval: uint16(137),
  9967. },
  9968. 158: {
  9969. Fbits: uint8(8),
  9970. Fval: uint16(73),
  9971. },
  9972. 159: {
  9973. Fbits: uint8(9),
  9974. Fval: uint16(242),
  9975. },
  9976. 160: {
  9977. Fop: uint8(16),
  9978. Fbits: uint8(7),
  9979. Fval: uint16(4),
  9980. },
  9981. 161: {
  9982. Fbits: uint8(8),
  9983. Fval: uint16(85),
  9984. },
  9985. 162: {
  9986. Fbits: uint8(8),
  9987. Fval: uint16(21),
  9988. },
  9989. 163: {
  9990. Fop: uint8(16),
  9991. Fbits: uint8(8),
  9992. Fval: uint16(258),
  9993. },
  9994. 164: {
  9995. Fop: uint8(19),
  9996. Fbits: uint8(7),
  9997. Fval: uint16(43),
  9998. },
  9999. 165: {
  10000. Fbits: uint8(8),
  10001. Fval: uint16(117),
  10002. },
  10003. 166: {
  10004. Fbits: uint8(8),
  10005. Fval: uint16(53),
  10006. },
  10007. 167: {
  10008. Fbits: uint8(9),
  10009. Fval: uint16(202),
  10010. },
  10011. 168: {
  10012. Fop: uint8(17),
  10013. Fbits: uint8(7),
  10014. Fval: uint16(13),
  10015. },
  10016. 169: {
  10017. Fbits: uint8(8),
  10018. Fval: uint16(101),
  10019. },
  10020. 170: {
  10021. Fbits: uint8(8),
  10022. Fval: uint16(37),
  10023. },
  10024. 171: {
  10025. Fbits: uint8(9),
  10026. Fval: uint16(170),
  10027. },
  10028. 172: {
  10029. Fbits: uint8(8),
  10030. Fval: uint16(5),
  10031. },
  10032. 173: {
  10033. Fbits: uint8(8),
  10034. Fval: uint16(133),
  10035. },
  10036. 174: {
  10037. Fbits: uint8(8),
  10038. Fval: uint16(69),
  10039. },
  10040. 175: {
  10041. Fbits: uint8(9),
  10042. Fval: uint16(234),
  10043. },
  10044. 176: {
  10045. Fop: uint8(16),
  10046. Fbits: uint8(7),
  10047. Fval: uint16(8),
  10048. },
  10049. 177: {
  10050. Fbits: uint8(8),
  10051. Fval: uint16(93),
  10052. },
  10053. 178: {
  10054. Fbits: uint8(8),
  10055. Fval: uint16(29),
  10056. },
  10057. 179: {
  10058. Fbits: uint8(9),
  10059. Fval: uint16(154),
  10060. },
  10061. 180: {
  10062. Fop: uint8(20),
  10063. Fbits: uint8(7),
  10064. Fval: uint16(83),
  10065. },
  10066. 181: {
  10067. Fbits: uint8(8),
  10068. Fval: uint16(125),
  10069. },
  10070. 182: {
  10071. Fbits: uint8(8),
  10072. Fval: uint16(61),
  10073. },
  10074. 183: {
  10075. Fbits: uint8(9),
  10076. Fval: uint16(218),
  10077. },
  10078. 184: {
  10079. Fop: uint8(18),
  10080. Fbits: uint8(7),
  10081. Fval: uint16(23),
  10082. },
  10083. 185: {
  10084. Fbits: uint8(8),
  10085. Fval: uint16(109),
  10086. },
  10087. 186: {
  10088. Fbits: uint8(8),
  10089. Fval: uint16(45),
  10090. },
  10091. 187: {
  10092. Fbits: uint8(9),
  10093. Fval: uint16(186),
  10094. },
  10095. 188: {
  10096. Fbits: uint8(8),
  10097. Fval: uint16(13),
  10098. },
  10099. 189: {
  10100. Fbits: uint8(8),
  10101. Fval: uint16(141),
  10102. },
  10103. 190: {
  10104. Fbits: uint8(8),
  10105. Fval: uint16(77),
  10106. },
  10107. 191: {
  10108. Fbits: uint8(9),
  10109. Fval: uint16(250),
  10110. },
  10111. 192: {
  10112. Fop: uint8(16),
  10113. Fbits: uint8(7),
  10114. Fval: uint16(3),
  10115. },
  10116. 193: {
  10117. Fbits: uint8(8),
  10118. Fval: uint16(83),
  10119. },
  10120. 194: {
  10121. Fbits: uint8(8),
  10122. Fval: uint16(19),
  10123. },
  10124. 195: {
  10125. Fop: uint8(21),
  10126. Fbits: uint8(8),
  10127. Fval: uint16(195),
  10128. },
  10129. 196: {
  10130. Fop: uint8(19),
  10131. Fbits: uint8(7),
  10132. Fval: uint16(35),
  10133. },
  10134. 197: {
  10135. Fbits: uint8(8),
  10136. Fval: uint16(115),
  10137. },
  10138. 198: {
  10139. Fbits: uint8(8),
  10140. Fval: uint16(51),
  10141. },
  10142. 199: {
  10143. Fbits: uint8(9),
  10144. Fval: uint16(198),
  10145. },
  10146. 200: {
  10147. Fop: uint8(17),
  10148. Fbits: uint8(7),
  10149. Fval: uint16(11),
  10150. },
  10151. 201: {
  10152. Fbits: uint8(8),
  10153. Fval: uint16(99),
  10154. },
  10155. 202: {
  10156. Fbits: uint8(8),
  10157. Fval: uint16(35),
  10158. },
  10159. 203: {
  10160. Fbits: uint8(9),
  10161. Fval: uint16(166),
  10162. },
  10163. 204: {
  10164. Fbits: uint8(8),
  10165. Fval: uint16(3),
  10166. },
  10167. 205: {
  10168. Fbits: uint8(8),
  10169. Fval: uint16(131),
  10170. },
  10171. 206: {
  10172. Fbits: uint8(8),
  10173. Fval: uint16(67),
  10174. },
  10175. 207: {
  10176. Fbits: uint8(9),
  10177. Fval: uint16(230),
  10178. },
  10179. 208: {
  10180. Fop: uint8(16),
  10181. Fbits: uint8(7),
  10182. Fval: uint16(7),
  10183. },
  10184. 209: {
  10185. Fbits: uint8(8),
  10186. Fval: uint16(91),
  10187. },
  10188. 210: {
  10189. Fbits: uint8(8),
  10190. Fval: uint16(27),
  10191. },
  10192. 211: {
  10193. Fbits: uint8(9),
  10194. Fval: uint16(150),
  10195. },
  10196. 212: {
  10197. Fop: uint8(20),
  10198. Fbits: uint8(7),
  10199. Fval: uint16(67),
  10200. },
  10201. 213: {
  10202. Fbits: uint8(8),
  10203. Fval: uint16(123),
  10204. },
  10205. 214: {
  10206. Fbits: uint8(8),
  10207. Fval: uint16(59),
  10208. },
  10209. 215: {
  10210. Fbits: uint8(9),
  10211. Fval: uint16(214),
  10212. },
  10213. 216: {
  10214. Fop: uint8(18),
  10215. Fbits: uint8(7),
  10216. Fval: uint16(19),
  10217. },
  10218. 217: {
  10219. Fbits: uint8(8),
  10220. Fval: uint16(107),
  10221. },
  10222. 218: {
  10223. Fbits: uint8(8),
  10224. Fval: uint16(43),
  10225. },
  10226. 219: {
  10227. Fbits: uint8(9),
  10228. Fval: uint16(182),
  10229. },
  10230. 220: {
  10231. Fbits: uint8(8),
  10232. Fval: uint16(11),
  10233. },
  10234. 221: {
  10235. Fbits: uint8(8),
  10236. Fval: uint16(139),
  10237. },
  10238. 222: {
  10239. Fbits: uint8(8),
  10240. Fval: uint16(75),
  10241. },
  10242. 223: {
  10243. Fbits: uint8(9),
  10244. Fval: uint16(246),
  10245. },
  10246. 224: {
  10247. Fop: uint8(16),
  10248. Fbits: uint8(7),
  10249. Fval: uint16(5),
  10250. },
  10251. 225: {
  10252. Fbits: uint8(8),
  10253. Fval: uint16(87),
  10254. },
  10255. 226: {
  10256. Fbits: uint8(8),
  10257. Fval: uint16(23),
  10258. },
  10259. 227: {
  10260. Fop: uint8(64),
  10261. Fbits: uint8(8),
  10262. },
  10263. 228: {
  10264. Fop: uint8(19),
  10265. Fbits: uint8(7),
  10266. Fval: uint16(51),
  10267. },
  10268. 229: {
  10269. Fbits: uint8(8),
  10270. Fval: uint16(119),
  10271. },
  10272. 230: {
  10273. Fbits: uint8(8),
  10274. Fval: uint16(55),
  10275. },
  10276. 231: {
  10277. Fbits: uint8(9),
  10278. Fval: uint16(206),
  10279. },
  10280. 232: {
  10281. Fop: uint8(17),
  10282. Fbits: uint8(7),
  10283. Fval: uint16(15),
  10284. },
  10285. 233: {
  10286. Fbits: uint8(8),
  10287. Fval: uint16(103),
  10288. },
  10289. 234: {
  10290. Fbits: uint8(8),
  10291. Fval: uint16(39),
  10292. },
  10293. 235: {
  10294. Fbits: uint8(9),
  10295. Fval: uint16(174),
  10296. },
  10297. 236: {
  10298. Fbits: uint8(8),
  10299. Fval: uint16(7),
  10300. },
  10301. 237: {
  10302. Fbits: uint8(8),
  10303. Fval: uint16(135),
  10304. },
  10305. 238: {
  10306. Fbits: uint8(8),
  10307. Fval: uint16(71),
  10308. },
  10309. 239: {
  10310. Fbits: uint8(9),
  10311. Fval: uint16(238),
  10312. },
  10313. 240: {
  10314. Fop: uint8(16),
  10315. Fbits: uint8(7),
  10316. Fval: uint16(9),
  10317. },
  10318. 241: {
  10319. Fbits: uint8(8),
  10320. Fval: uint16(95),
  10321. },
  10322. 242: {
  10323. Fbits: uint8(8),
  10324. Fval: uint16(31),
  10325. },
  10326. 243: {
  10327. Fbits: uint8(9),
  10328. Fval: uint16(158),
  10329. },
  10330. 244: {
  10331. Fop: uint8(20),
  10332. Fbits: uint8(7),
  10333. Fval: uint16(99),
  10334. },
  10335. 245: {
  10336. Fbits: uint8(8),
  10337. Fval: uint16(127),
  10338. },
  10339. 246: {
  10340. Fbits: uint8(8),
  10341. Fval: uint16(63),
  10342. },
  10343. 247: {
  10344. Fbits: uint8(9),
  10345. Fval: uint16(222),
  10346. },
  10347. 248: {
  10348. Fop: uint8(18),
  10349. Fbits: uint8(7),
  10350. Fval: uint16(27),
  10351. },
  10352. 249: {
  10353. Fbits: uint8(8),
  10354. Fval: uint16(111),
  10355. },
  10356. 250: {
  10357. Fbits: uint8(8),
  10358. Fval: uint16(47),
  10359. },
  10360. 251: {
  10361. Fbits: uint8(9),
  10362. Fval: uint16(190),
  10363. },
  10364. 252: {
  10365. Fbits: uint8(8),
  10366. Fval: uint16(15),
  10367. },
  10368. 253: {
  10369. Fbits: uint8(8),
  10370. Fval: uint16(143),
  10371. },
  10372. 254: {
  10373. Fbits: uint8(8),
  10374. Fval: uint16(79),
  10375. },
  10376. 255: {
  10377. Fbits: uint8(9),
  10378. Fval: uint16(254),
  10379. },
  10380. 256: {
  10381. Fop: uint8(96),
  10382. Fbits: uint8(7),
  10383. },
  10384. 257: {
  10385. Fbits: uint8(8),
  10386. Fval: uint16(80),
  10387. },
  10388. 258: {
  10389. Fbits: uint8(8),
  10390. Fval: uint16(16),
  10391. },
  10392. 259: {
  10393. Fop: uint8(20),
  10394. Fbits: uint8(8),
  10395. Fval: uint16(115),
  10396. },
  10397. 260: {
  10398. Fop: uint8(18),
  10399. Fbits: uint8(7),
  10400. Fval: uint16(31),
  10401. },
  10402. 261: {
  10403. Fbits: uint8(8),
  10404. Fval: uint16(112),
  10405. },
  10406. 262: {
  10407. Fbits: uint8(8),
  10408. Fval: uint16(48),
  10409. },
  10410. 263: {
  10411. Fbits: uint8(9),
  10412. Fval: uint16(193),
  10413. },
  10414. 264: {
  10415. Fop: uint8(16),
  10416. Fbits: uint8(7),
  10417. Fval: uint16(10),
  10418. },
  10419. 265: {
  10420. Fbits: uint8(8),
  10421. Fval: uint16(96),
  10422. },
  10423. 266: {
  10424. Fbits: uint8(8),
  10425. Fval: uint16(32),
  10426. },
  10427. 267: {
  10428. Fbits: uint8(9),
  10429. Fval: uint16(161),
  10430. },
  10431. 268: {
  10432. Fbits: uint8(8),
  10433. },
  10434. 269: {
  10435. Fbits: uint8(8),
  10436. Fval: uint16(128),
  10437. },
  10438. 270: {
  10439. Fbits: uint8(8),
  10440. Fval: uint16(64),
  10441. },
  10442. 271: {
  10443. Fbits: uint8(9),
  10444. Fval: uint16(225),
  10445. },
  10446. 272: {
  10447. Fop: uint8(16),
  10448. Fbits: uint8(7),
  10449. Fval: uint16(6),
  10450. },
  10451. 273: {
  10452. Fbits: uint8(8),
  10453. Fval: uint16(88),
  10454. },
  10455. 274: {
  10456. Fbits: uint8(8),
  10457. Fval: uint16(24),
  10458. },
  10459. 275: {
  10460. Fbits: uint8(9),
  10461. Fval: uint16(145),
  10462. },
  10463. 276: {
  10464. Fop: uint8(19),
  10465. Fbits: uint8(7),
  10466. Fval: uint16(59),
  10467. },
  10468. 277: {
  10469. Fbits: uint8(8),
  10470. Fval: uint16(120),
  10471. },
  10472. 278: {
  10473. Fbits: uint8(8),
  10474. Fval: uint16(56),
  10475. },
  10476. 279: {
  10477. Fbits: uint8(9),
  10478. Fval: uint16(209),
  10479. },
  10480. 280: {
  10481. Fop: uint8(17),
  10482. Fbits: uint8(7),
  10483. Fval: uint16(17),
  10484. },
  10485. 281: {
  10486. Fbits: uint8(8),
  10487. Fval: uint16(104),
  10488. },
  10489. 282: {
  10490. Fbits: uint8(8),
  10491. Fval: uint16(40),
  10492. },
  10493. 283: {
  10494. Fbits: uint8(9),
  10495. Fval: uint16(177),
  10496. },
  10497. 284: {
  10498. Fbits: uint8(8),
  10499. Fval: uint16(8),
  10500. },
  10501. 285: {
  10502. Fbits: uint8(8),
  10503. Fval: uint16(136),
  10504. },
  10505. 286: {
  10506. Fbits: uint8(8),
  10507. Fval: uint16(72),
  10508. },
  10509. 287: {
  10510. Fbits: uint8(9),
  10511. Fval: uint16(241),
  10512. },
  10513. 288: {
  10514. Fop: uint8(16),
  10515. Fbits: uint8(7),
  10516. Fval: uint16(4),
  10517. },
  10518. 289: {
  10519. Fbits: uint8(8),
  10520. Fval: uint16(84),
  10521. },
  10522. 290: {
  10523. Fbits: uint8(8),
  10524. Fval: uint16(20),
  10525. },
  10526. 291: {
  10527. Fop: uint8(21),
  10528. Fbits: uint8(8),
  10529. Fval: uint16(227),
  10530. },
  10531. 292: {
  10532. Fop: uint8(19),
  10533. Fbits: uint8(7),
  10534. Fval: uint16(43),
  10535. },
  10536. 293: {
  10537. Fbits: uint8(8),
  10538. Fval: uint16(116),
  10539. },
  10540. 294: {
  10541. Fbits: uint8(8),
  10542. Fval: uint16(52),
  10543. },
  10544. 295: {
  10545. Fbits: uint8(9),
  10546. Fval: uint16(201),
  10547. },
  10548. 296: {
  10549. Fop: uint8(17),
  10550. Fbits: uint8(7),
  10551. Fval: uint16(13),
  10552. },
  10553. 297: {
  10554. Fbits: uint8(8),
  10555. Fval: uint16(100),
  10556. },
  10557. 298: {
  10558. Fbits: uint8(8),
  10559. Fval: uint16(36),
  10560. },
  10561. 299: {
  10562. Fbits: uint8(9),
  10563. Fval: uint16(169),
  10564. },
  10565. 300: {
  10566. Fbits: uint8(8),
  10567. Fval: uint16(4),
  10568. },
  10569. 301: {
  10570. Fbits: uint8(8),
  10571. Fval: uint16(132),
  10572. },
  10573. 302: {
  10574. Fbits: uint8(8),
  10575. Fval: uint16(68),
  10576. },
  10577. 303: {
  10578. Fbits: uint8(9),
  10579. Fval: uint16(233),
  10580. },
  10581. 304: {
  10582. Fop: uint8(16),
  10583. Fbits: uint8(7),
  10584. Fval: uint16(8),
  10585. },
  10586. 305: {
  10587. Fbits: uint8(8),
  10588. Fval: uint16(92),
  10589. },
  10590. 306: {
  10591. Fbits: uint8(8),
  10592. Fval: uint16(28),
  10593. },
  10594. 307: {
  10595. Fbits: uint8(9),
  10596. Fval: uint16(153),
  10597. },
  10598. 308: {
  10599. Fop: uint8(20),
  10600. Fbits: uint8(7),
  10601. Fval: uint16(83),
  10602. },
  10603. 309: {
  10604. Fbits: uint8(8),
  10605. Fval: uint16(124),
  10606. },
  10607. 310: {
  10608. Fbits: uint8(8),
  10609. Fval: uint16(60),
  10610. },
  10611. 311: {
  10612. Fbits: uint8(9),
  10613. Fval: uint16(217),
  10614. },
  10615. 312: {
  10616. Fop: uint8(18),
  10617. Fbits: uint8(7),
  10618. Fval: uint16(23),
  10619. },
  10620. 313: {
  10621. Fbits: uint8(8),
  10622. Fval: uint16(108),
  10623. },
  10624. 314: {
  10625. Fbits: uint8(8),
  10626. Fval: uint16(44),
  10627. },
  10628. 315: {
  10629. Fbits: uint8(9),
  10630. Fval: uint16(185),
  10631. },
  10632. 316: {
  10633. Fbits: uint8(8),
  10634. Fval: uint16(12),
  10635. },
  10636. 317: {
  10637. Fbits: uint8(8),
  10638. Fval: uint16(140),
  10639. },
  10640. 318: {
  10641. Fbits: uint8(8),
  10642. Fval: uint16(76),
  10643. },
  10644. 319: {
  10645. Fbits: uint8(9),
  10646. Fval: uint16(249),
  10647. },
  10648. 320: {
  10649. Fop: uint8(16),
  10650. Fbits: uint8(7),
  10651. Fval: uint16(3),
  10652. },
  10653. 321: {
  10654. Fbits: uint8(8),
  10655. Fval: uint16(82),
  10656. },
  10657. 322: {
  10658. Fbits: uint8(8),
  10659. Fval: uint16(18),
  10660. },
  10661. 323: {
  10662. Fop: uint8(21),
  10663. Fbits: uint8(8),
  10664. Fval: uint16(163),
  10665. },
  10666. 324: {
  10667. Fop: uint8(19),
  10668. Fbits: uint8(7),
  10669. Fval: uint16(35),
  10670. },
  10671. 325: {
  10672. Fbits: uint8(8),
  10673. Fval: uint16(114),
  10674. },
  10675. 326: {
  10676. Fbits: uint8(8),
  10677. Fval: uint16(50),
  10678. },
  10679. 327: {
  10680. Fbits: uint8(9),
  10681. Fval: uint16(197),
  10682. },
  10683. 328: {
  10684. Fop: uint8(17),
  10685. Fbits: uint8(7),
  10686. Fval: uint16(11),
  10687. },
  10688. 329: {
  10689. Fbits: uint8(8),
  10690. Fval: uint16(98),
  10691. },
  10692. 330: {
  10693. Fbits: uint8(8),
  10694. Fval: uint16(34),
  10695. },
  10696. 331: {
  10697. Fbits: uint8(9),
  10698. Fval: uint16(165),
  10699. },
  10700. 332: {
  10701. Fbits: uint8(8),
  10702. Fval: uint16(2),
  10703. },
  10704. 333: {
  10705. Fbits: uint8(8),
  10706. Fval: uint16(130),
  10707. },
  10708. 334: {
  10709. Fbits: uint8(8),
  10710. Fval: uint16(66),
  10711. },
  10712. 335: {
  10713. Fbits: uint8(9),
  10714. Fval: uint16(229),
  10715. },
  10716. 336: {
  10717. Fop: uint8(16),
  10718. Fbits: uint8(7),
  10719. Fval: uint16(7),
  10720. },
  10721. 337: {
  10722. Fbits: uint8(8),
  10723. Fval: uint16(90),
  10724. },
  10725. 338: {
  10726. Fbits: uint8(8),
  10727. Fval: uint16(26),
  10728. },
  10729. 339: {
  10730. Fbits: uint8(9),
  10731. Fval: uint16(149),
  10732. },
  10733. 340: {
  10734. Fop: uint8(20),
  10735. Fbits: uint8(7),
  10736. Fval: uint16(67),
  10737. },
  10738. 341: {
  10739. Fbits: uint8(8),
  10740. Fval: uint16(122),
  10741. },
  10742. 342: {
  10743. Fbits: uint8(8),
  10744. Fval: uint16(58),
  10745. },
  10746. 343: {
  10747. Fbits: uint8(9),
  10748. Fval: uint16(213),
  10749. },
  10750. 344: {
  10751. Fop: uint8(18),
  10752. Fbits: uint8(7),
  10753. Fval: uint16(19),
  10754. },
  10755. 345: {
  10756. Fbits: uint8(8),
  10757. Fval: uint16(106),
  10758. },
  10759. 346: {
  10760. Fbits: uint8(8),
  10761. Fval: uint16(42),
  10762. },
  10763. 347: {
  10764. Fbits: uint8(9),
  10765. Fval: uint16(181),
  10766. },
  10767. 348: {
  10768. Fbits: uint8(8),
  10769. Fval: uint16(10),
  10770. },
  10771. 349: {
  10772. Fbits: uint8(8),
  10773. Fval: uint16(138),
  10774. },
  10775. 350: {
  10776. Fbits: uint8(8),
  10777. Fval: uint16(74),
  10778. },
  10779. 351: {
  10780. Fbits: uint8(9),
  10781. Fval: uint16(245),
  10782. },
  10783. 352: {
  10784. Fop: uint8(16),
  10785. Fbits: uint8(7),
  10786. Fval: uint16(5),
  10787. },
  10788. 353: {
  10789. Fbits: uint8(8),
  10790. Fval: uint16(86),
  10791. },
  10792. 354: {
  10793. Fbits: uint8(8),
  10794. Fval: uint16(22),
  10795. },
  10796. 355: {
  10797. Fop: uint8(64),
  10798. Fbits: uint8(8),
  10799. },
  10800. 356: {
  10801. Fop: uint8(19),
  10802. Fbits: uint8(7),
  10803. Fval: uint16(51),
  10804. },
  10805. 357: {
  10806. Fbits: uint8(8),
  10807. Fval: uint16(118),
  10808. },
  10809. 358: {
  10810. Fbits: uint8(8),
  10811. Fval: uint16(54),
  10812. },
  10813. 359: {
  10814. Fbits: uint8(9),
  10815. Fval: uint16(205),
  10816. },
  10817. 360: {
  10818. Fop: uint8(17),
  10819. Fbits: uint8(7),
  10820. Fval: uint16(15),
  10821. },
  10822. 361: {
  10823. Fbits: uint8(8),
  10824. Fval: uint16(102),
  10825. },
  10826. 362: {
  10827. Fbits: uint8(8),
  10828. Fval: uint16(38),
  10829. },
  10830. 363: {
  10831. Fbits: uint8(9),
  10832. Fval: uint16(173),
  10833. },
  10834. 364: {
  10835. Fbits: uint8(8),
  10836. Fval: uint16(6),
  10837. },
  10838. 365: {
  10839. Fbits: uint8(8),
  10840. Fval: uint16(134),
  10841. },
  10842. 366: {
  10843. Fbits: uint8(8),
  10844. Fval: uint16(70),
  10845. },
  10846. 367: {
  10847. Fbits: uint8(9),
  10848. Fval: uint16(237),
  10849. },
  10850. 368: {
  10851. Fop: uint8(16),
  10852. Fbits: uint8(7),
  10853. Fval: uint16(9),
  10854. },
  10855. 369: {
  10856. Fbits: uint8(8),
  10857. Fval: uint16(94),
  10858. },
  10859. 370: {
  10860. Fbits: uint8(8),
  10861. Fval: uint16(30),
  10862. },
  10863. 371: {
  10864. Fbits: uint8(9),
  10865. Fval: uint16(157),
  10866. },
  10867. 372: {
  10868. Fop: uint8(20),
  10869. Fbits: uint8(7),
  10870. Fval: uint16(99),
  10871. },
  10872. 373: {
  10873. Fbits: uint8(8),
  10874. Fval: uint16(126),
  10875. },
  10876. 374: {
  10877. Fbits: uint8(8),
  10878. Fval: uint16(62),
  10879. },
  10880. 375: {
  10881. Fbits: uint8(9),
  10882. Fval: uint16(221),
  10883. },
  10884. 376: {
  10885. Fop: uint8(18),
  10886. Fbits: uint8(7),
  10887. Fval: uint16(27),
  10888. },
  10889. 377: {
  10890. Fbits: uint8(8),
  10891. Fval: uint16(110),
  10892. },
  10893. 378: {
  10894. Fbits: uint8(8),
  10895. Fval: uint16(46),
  10896. },
  10897. 379: {
  10898. Fbits: uint8(9),
  10899. Fval: uint16(189),
  10900. },
  10901. 380: {
  10902. Fbits: uint8(8),
  10903. Fval: uint16(14),
  10904. },
  10905. 381: {
  10906. Fbits: uint8(8),
  10907. Fval: uint16(142),
  10908. },
  10909. 382: {
  10910. Fbits: uint8(8),
  10911. Fval: uint16(78),
  10912. },
  10913. 383: {
  10914. Fbits: uint8(9),
  10915. Fval: uint16(253),
  10916. },
  10917. 384: {
  10918. Fop: uint8(96),
  10919. Fbits: uint8(7),
  10920. },
  10921. 385: {
  10922. Fbits: uint8(8),
  10923. Fval: uint16(81),
  10924. },
  10925. 386: {
  10926. Fbits: uint8(8),
  10927. Fval: uint16(17),
  10928. },
  10929. 387: {
  10930. Fop: uint8(21),
  10931. Fbits: uint8(8),
  10932. Fval: uint16(131),
  10933. },
  10934. 388: {
  10935. Fop: uint8(18),
  10936. Fbits: uint8(7),
  10937. Fval: uint16(31),
  10938. },
  10939. 389: {
  10940. Fbits: uint8(8),
  10941. Fval: uint16(113),
  10942. },
  10943. 390: {
  10944. Fbits: uint8(8),
  10945. Fval: uint16(49),
  10946. },
  10947. 391: {
  10948. Fbits: uint8(9),
  10949. Fval: uint16(195),
  10950. },
  10951. 392: {
  10952. Fop: uint8(16),
  10953. Fbits: uint8(7),
  10954. Fval: uint16(10),
  10955. },
  10956. 393: {
  10957. Fbits: uint8(8),
  10958. Fval: uint16(97),
  10959. },
  10960. 394: {
  10961. Fbits: uint8(8),
  10962. Fval: uint16(33),
  10963. },
  10964. 395: {
  10965. Fbits: uint8(9),
  10966. Fval: uint16(163),
  10967. },
  10968. 396: {
  10969. Fbits: uint8(8),
  10970. Fval: uint16(1),
  10971. },
  10972. 397: {
  10973. Fbits: uint8(8),
  10974. Fval: uint16(129),
  10975. },
  10976. 398: {
  10977. Fbits: uint8(8),
  10978. Fval: uint16(65),
  10979. },
  10980. 399: {
  10981. Fbits: uint8(9),
  10982. Fval: uint16(227),
  10983. },
  10984. 400: {
  10985. Fop: uint8(16),
  10986. Fbits: uint8(7),
  10987. Fval: uint16(6),
  10988. },
  10989. 401: {
  10990. Fbits: uint8(8),
  10991. Fval: uint16(89),
  10992. },
  10993. 402: {
  10994. Fbits: uint8(8),
  10995. Fval: uint16(25),
  10996. },
  10997. 403: {
  10998. Fbits: uint8(9),
  10999. Fval: uint16(147),
  11000. },
  11001. 404: {
  11002. Fop: uint8(19),
  11003. Fbits: uint8(7),
  11004. Fval: uint16(59),
  11005. },
  11006. 405: {
  11007. Fbits: uint8(8),
  11008. Fval: uint16(121),
  11009. },
  11010. 406: {
  11011. Fbits: uint8(8),
  11012. Fval: uint16(57),
  11013. },
  11014. 407: {
  11015. Fbits: uint8(9),
  11016. Fval: uint16(211),
  11017. },
  11018. 408: {
  11019. Fop: uint8(17),
  11020. Fbits: uint8(7),
  11021. Fval: uint16(17),
  11022. },
  11023. 409: {
  11024. Fbits: uint8(8),
  11025. Fval: uint16(105),
  11026. },
  11027. 410: {
  11028. Fbits: uint8(8),
  11029. Fval: uint16(41),
  11030. },
  11031. 411: {
  11032. Fbits: uint8(9),
  11033. Fval: uint16(179),
  11034. },
  11035. 412: {
  11036. Fbits: uint8(8),
  11037. Fval: uint16(9),
  11038. },
  11039. 413: {
  11040. Fbits: uint8(8),
  11041. Fval: uint16(137),
  11042. },
  11043. 414: {
  11044. Fbits: uint8(8),
  11045. Fval: uint16(73),
  11046. },
  11047. 415: {
  11048. Fbits: uint8(9),
  11049. Fval: uint16(243),
  11050. },
  11051. 416: {
  11052. Fop: uint8(16),
  11053. Fbits: uint8(7),
  11054. Fval: uint16(4),
  11055. },
  11056. 417: {
  11057. Fbits: uint8(8),
  11058. Fval: uint16(85),
  11059. },
  11060. 418: {
  11061. Fbits: uint8(8),
  11062. Fval: uint16(21),
  11063. },
  11064. 419: {
  11065. Fop: uint8(16),
  11066. Fbits: uint8(8),
  11067. Fval: uint16(258),
  11068. },
  11069. 420: {
  11070. Fop: uint8(19),
  11071. Fbits: uint8(7),
  11072. Fval: uint16(43),
  11073. },
  11074. 421: {
  11075. Fbits: uint8(8),
  11076. Fval: uint16(117),
  11077. },
  11078. 422: {
  11079. Fbits: uint8(8),
  11080. Fval: uint16(53),
  11081. },
  11082. 423: {
  11083. Fbits: uint8(9),
  11084. Fval: uint16(203),
  11085. },
  11086. 424: {
  11087. Fop: uint8(17),
  11088. Fbits: uint8(7),
  11089. Fval: uint16(13),
  11090. },
  11091. 425: {
  11092. Fbits: uint8(8),
  11093. Fval: uint16(101),
  11094. },
  11095. 426: {
  11096. Fbits: uint8(8),
  11097. Fval: uint16(37),
  11098. },
  11099. 427: {
  11100. Fbits: uint8(9),
  11101. Fval: uint16(171),
  11102. },
  11103. 428: {
  11104. Fbits: uint8(8),
  11105. Fval: uint16(5),
  11106. },
  11107. 429: {
  11108. Fbits: uint8(8),
  11109. Fval: uint16(133),
  11110. },
  11111. 430: {
  11112. Fbits: uint8(8),
  11113. Fval: uint16(69),
  11114. },
  11115. 431: {
  11116. Fbits: uint8(9),
  11117. Fval: uint16(235),
  11118. },
  11119. 432: {
  11120. Fop: uint8(16),
  11121. Fbits: uint8(7),
  11122. Fval: uint16(8),
  11123. },
  11124. 433: {
  11125. Fbits: uint8(8),
  11126. Fval: uint16(93),
  11127. },
  11128. 434: {
  11129. Fbits: uint8(8),
  11130. Fval: uint16(29),
  11131. },
  11132. 435: {
  11133. Fbits: uint8(9),
  11134. Fval: uint16(155),
  11135. },
  11136. 436: {
  11137. Fop: uint8(20),
  11138. Fbits: uint8(7),
  11139. Fval: uint16(83),
  11140. },
  11141. 437: {
  11142. Fbits: uint8(8),
  11143. Fval: uint16(125),
  11144. },
  11145. 438: {
  11146. Fbits: uint8(8),
  11147. Fval: uint16(61),
  11148. },
  11149. 439: {
  11150. Fbits: uint8(9),
  11151. Fval: uint16(219),
  11152. },
  11153. 440: {
  11154. Fop: uint8(18),
  11155. Fbits: uint8(7),
  11156. Fval: uint16(23),
  11157. },
  11158. 441: {
  11159. Fbits: uint8(8),
  11160. Fval: uint16(109),
  11161. },
  11162. 442: {
  11163. Fbits: uint8(8),
  11164. Fval: uint16(45),
  11165. },
  11166. 443: {
  11167. Fbits: uint8(9),
  11168. Fval: uint16(187),
  11169. },
  11170. 444: {
  11171. Fbits: uint8(8),
  11172. Fval: uint16(13),
  11173. },
  11174. 445: {
  11175. Fbits: uint8(8),
  11176. Fval: uint16(141),
  11177. },
  11178. 446: {
  11179. Fbits: uint8(8),
  11180. Fval: uint16(77),
  11181. },
  11182. 447: {
  11183. Fbits: uint8(9),
  11184. Fval: uint16(251),
  11185. },
  11186. 448: {
  11187. Fop: uint8(16),
  11188. Fbits: uint8(7),
  11189. Fval: uint16(3),
  11190. },
  11191. 449: {
  11192. Fbits: uint8(8),
  11193. Fval: uint16(83),
  11194. },
  11195. 450: {
  11196. Fbits: uint8(8),
  11197. Fval: uint16(19),
  11198. },
  11199. 451: {
  11200. Fop: uint8(21),
  11201. Fbits: uint8(8),
  11202. Fval: uint16(195),
  11203. },
  11204. 452: {
  11205. Fop: uint8(19),
  11206. Fbits: uint8(7),
  11207. Fval: uint16(35),
  11208. },
  11209. 453: {
  11210. Fbits: uint8(8),
  11211. Fval: uint16(115),
  11212. },
  11213. 454: {
  11214. Fbits: uint8(8),
  11215. Fval: uint16(51),
  11216. },
  11217. 455: {
  11218. Fbits: uint8(9),
  11219. Fval: uint16(199),
  11220. },
  11221. 456: {
  11222. Fop: uint8(17),
  11223. Fbits: uint8(7),
  11224. Fval: uint16(11),
  11225. },
  11226. 457: {
  11227. Fbits: uint8(8),
  11228. Fval: uint16(99),
  11229. },
  11230. 458: {
  11231. Fbits: uint8(8),
  11232. Fval: uint16(35),
  11233. },
  11234. 459: {
  11235. Fbits: uint8(9),
  11236. Fval: uint16(167),
  11237. },
  11238. 460: {
  11239. Fbits: uint8(8),
  11240. Fval: uint16(3),
  11241. },
  11242. 461: {
  11243. Fbits: uint8(8),
  11244. Fval: uint16(131),
  11245. },
  11246. 462: {
  11247. Fbits: uint8(8),
  11248. Fval: uint16(67),
  11249. },
  11250. 463: {
  11251. Fbits: uint8(9),
  11252. Fval: uint16(231),
  11253. },
  11254. 464: {
  11255. Fop: uint8(16),
  11256. Fbits: uint8(7),
  11257. Fval: uint16(7),
  11258. },
  11259. 465: {
  11260. Fbits: uint8(8),
  11261. Fval: uint16(91),
  11262. },
  11263. 466: {
  11264. Fbits: uint8(8),
  11265. Fval: uint16(27),
  11266. },
  11267. 467: {
  11268. Fbits: uint8(9),
  11269. Fval: uint16(151),
  11270. },
  11271. 468: {
  11272. Fop: uint8(20),
  11273. Fbits: uint8(7),
  11274. Fval: uint16(67),
  11275. },
  11276. 469: {
  11277. Fbits: uint8(8),
  11278. Fval: uint16(123),
  11279. },
  11280. 470: {
  11281. Fbits: uint8(8),
  11282. Fval: uint16(59),
  11283. },
  11284. 471: {
  11285. Fbits: uint8(9),
  11286. Fval: uint16(215),
  11287. },
  11288. 472: {
  11289. Fop: uint8(18),
  11290. Fbits: uint8(7),
  11291. Fval: uint16(19),
  11292. },
  11293. 473: {
  11294. Fbits: uint8(8),
  11295. Fval: uint16(107),
  11296. },
  11297. 474: {
  11298. Fbits: uint8(8),
  11299. Fval: uint16(43),
  11300. },
  11301. 475: {
  11302. Fbits: uint8(9),
  11303. Fval: uint16(183),
  11304. },
  11305. 476: {
  11306. Fbits: uint8(8),
  11307. Fval: uint16(11),
  11308. },
  11309. 477: {
  11310. Fbits: uint8(8),
  11311. Fval: uint16(139),
  11312. },
  11313. 478: {
  11314. Fbits: uint8(8),
  11315. Fval: uint16(75),
  11316. },
  11317. 479: {
  11318. Fbits: uint8(9),
  11319. Fval: uint16(247),
  11320. },
  11321. 480: {
  11322. Fop: uint8(16),
  11323. Fbits: uint8(7),
  11324. Fval: uint16(5),
  11325. },
  11326. 481: {
  11327. Fbits: uint8(8),
  11328. Fval: uint16(87),
  11329. },
  11330. 482: {
  11331. Fbits: uint8(8),
  11332. Fval: uint16(23),
  11333. },
  11334. 483: {
  11335. Fop: uint8(64),
  11336. Fbits: uint8(8),
  11337. },
  11338. 484: {
  11339. Fop: uint8(19),
  11340. Fbits: uint8(7),
  11341. Fval: uint16(51),
  11342. },
  11343. 485: {
  11344. Fbits: uint8(8),
  11345. Fval: uint16(119),
  11346. },
  11347. 486: {
  11348. Fbits: uint8(8),
  11349. Fval: uint16(55),
  11350. },
  11351. 487: {
  11352. Fbits: uint8(9),
  11353. Fval: uint16(207),
  11354. },
  11355. 488: {
  11356. Fop: uint8(17),
  11357. Fbits: uint8(7),
  11358. Fval: uint16(15),
  11359. },
  11360. 489: {
  11361. Fbits: uint8(8),
  11362. Fval: uint16(103),
  11363. },
  11364. 490: {
  11365. Fbits: uint8(8),
  11366. Fval: uint16(39),
  11367. },
  11368. 491: {
  11369. Fbits: uint8(9),
  11370. Fval: uint16(175),
  11371. },
  11372. 492: {
  11373. Fbits: uint8(8),
  11374. Fval: uint16(7),
  11375. },
  11376. 493: {
  11377. Fbits: uint8(8),
  11378. Fval: uint16(135),
  11379. },
  11380. 494: {
  11381. Fbits: uint8(8),
  11382. Fval: uint16(71),
  11383. },
  11384. 495: {
  11385. Fbits: uint8(9),
  11386. Fval: uint16(239),
  11387. },
  11388. 496: {
  11389. Fop: uint8(16),
  11390. Fbits: uint8(7),
  11391. Fval: uint16(9),
  11392. },
  11393. 497: {
  11394. Fbits: uint8(8),
  11395. Fval: uint16(95),
  11396. },
  11397. 498: {
  11398. Fbits: uint8(8),
  11399. Fval: uint16(31),
  11400. },
  11401. 499: {
  11402. Fbits: uint8(9),
  11403. Fval: uint16(159),
  11404. },
  11405. 500: {
  11406. Fop: uint8(20),
  11407. Fbits: uint8(7),
  11408. Fval: uint16(99),
  11409. },
  11410. 501: {
  11411. Fbits: uint8(8),
  11412. Fval: uint16(127),
  11413. },
  11414. 502: {
  11415. Fbits: uint8(8),
  11416. Fval: uint16(63),
  11417. },
  11418. 503: {
  11419. Fbits: uint8(9),
  11420. Fval: uint16(223),
  11421. },
  11422. 504: {
  11423. Fop: uint8(18),
  11424. Fbits: uint8(7),
  11425. Fval: uint16(27),
  11426. },
  11427. 505: {
  11428. Fbits: uint8(8),
  11429. Fval: uint16(111),
  11430. },
  11431. 506: {
  11432. Fbits: uint8(8),
  11433. Fval: uint16(47),
  11434. },
  11435. 507: {
  11436. Fbits: uint8(9),
  11437. Fval: uint16(191),
  11438. },
  11439. 508: {
  11440. Fbits: uint8(8),
  11441. Fval: uint16(15),
  11442. },
  11443. 509: {
  11444. Fbits: uint8(8),
  11445. Fval: uint16(143),
  11446. },
  11447. 510: {
  11448. Fbits: uint8(8),
  11449. Fval: uint16(79),
  11450. },
  11451. 511: {
  11452. Fbits: uint8(9),
  11453. Fval: uint16(255),
  11454. },
  11455. }
  11456. var _distfix = [32]Tcode{
  11457. 0: {
  11458. Fop: uint8(16),
  11459. Fbits: uint8(5),
  11460. Fval: uint16(1),
  11461. },
  11462. 1: {
  11463. Fop: uint8(23),
  11464. Fbits: uint8(5),
  11465. Fval: uint16(257),
  11466. },
  11467. 2: {
  11468. Fop: uint8(19),
  11469. Fbits: uint8(5),
  11470. Fval: uint16(17),
  11471. },
  11472. 3: {
  11473. Fop: uint8(27),
  11474. Fbits: uint8(5),
  11475. Fval: uint16(4097),
  11476. },
  11477. 4: {
  11478. Fop: uint8(17),
  11479. Fbits: uint8(5),
  11480. Fval: uint16(5),
  11481. },
  11482. 5: {
  11483. Fop: uint8(25),
  11484. Fbits: uint8(5),
  11485. Fval: uint16(1025),
  11486. },
  11487. 6: {
  11488. Fop: uint8(21),
  11489. Fbits: uint8(5),
  11490. Fval: uint16(65),
  11491. },
  11492. 7: {
  11493. Fop: uint8(29),
  11494. Fbits: uint8(5),
  11495. Fval: uint16(16385),
  11496. },
  11497. 8: {
  11498. Fop: uint8(16),
  11499. Fbits: uint8(5),
  11500. Fval: uint16(3),
  11501. },
  11502. 9: {
  11503. Fop: uint8(24),
  11504. Fbits: uint8(5),
  11505. Fval: uint16(513),
  11506. },
  11507. 10: {
  11508. Fop: uint8(20),
  11509. Fbits: uint8(5),
  11510. Fval: uint16(33),
  11511. },
  11512. 11: {
  11513. Fop: uint8(28),
  11514. Fbits: uint8(5),
  11515. Fval: uint16(8193),
  11516. },
  11517. 12: {
  11518. Fop: uint8(18),
  11519. Fbits: uint8(5),
  11520. Fval: uint16(9),
  11521. },
  11522. 13: {
  11523. Fop: uint8(26),
  11524. Fbits: uint8(5),
  11525. Fval: uint16(2049),
  11526. },
  11527. 14: {
  11528. Fop: uint8(22),
  11529. Fbits: uint8(5),
  11530. Fval: uint16(129),
  11531. },
  11532. 15: {
  11533. Fop: uint8(64),
  11534. Fbits: uint8(5),
  11535. },
  11536. 16: {
  11537. Fop: uint8(16),
  11538. Fbits: uint8(5),
  11539. Fval: uint16(2),
  11540. },
  11541. 17: {
  11542. Fop: uint8(23),
  11543. Fbits: uint8(5),
  11544. Fval: uint16(385),
  11545. },
  11546. 18: {
  11547. Fop: uint8(19),
  11548. Fbits: uint8(5),
  11549. Fval: uint16(25),
  11550. },
  11551. 19: {
  11552. Fop: uint8(27),
  11553. Fbits: uint8(5),
  11554. Fval: uint16(6145),
  11555. },
  11556. 20: {
  11557. Fop: uint8(17),
  11558. Fbits: uint8(5),
  11559. Fval: uint16(7),
  11560. },
  11561. 21: {
  11562. Fop: uint8(25),
  11563. Fbits: uint8(5),
  11564. Fval: uint16(1537),
  11565. },
  11566. 22: {
  11567. Fop: uint8(21),
  11568. Fbits: uint8(5),
  11569. Fval: uint16(97),
  11570. },
  11571. 23: {
  11572. Fop: uint8(29),
  11573. Fbits: uint8(5),
  11574. Fval: uint16(24577),
  11575. },
  11576. 24: {
  11577. Fop: uint8(16),
  11578. Fbits: uint8(5),
  11579. Fval: uint16(4),
  11580. },
  11581. 25: {
  11582. Fop: uint8(24),
  11583. Fbits: uint8(5),
  11584. Fval: uint16(769),
  11585. },
  11586. 26: {
  11587. Fop: uint8(20),
  11588. Fbits: uint8(5),
  11589. Fval: uint16(49),
  11590. },
  11591. 27: {
  11592. Fop: uint8(28),
  11593. Fbits: uint8(5),
  11594. Fval: uint16(12289),
  11595. },
  11596. 28: {
  11597. Fop: uint8(18),
  11598. Fbits: uint8(5),
  11599. Fval: uint16(13),
  11600. },
  11601. 29: {
  11602. Fop: uint8(26),
  11603. Fbits: uint8(5),
  11604. Fval: uint16(3073),
  11605. },
  11606. 30: {
  11607. Fop: uint8(22),
  11608. Fbits: uint8(5),
  11609. Fval: uint16(193),
  11610. },
  11611. 31: {
  11612. Fop: uint8(64),
  11613. Fbits: uint8(5),
  11614. },
  11615. }
  11616. /* Macros for inflateBack(): */
  11617. /* Load returned state from inflate_fast() */
  11618. /* Set state from registers for inflate_fast() */
  11619. /* Clear the input bit accumulator */
  11620. /* Assure that some input is available. If input is requested, but denied,
  11621. then return a Z_BUF_ERROR from inflateBack(). */
  11622. /* Get a byte of input into the bit accumulator, or return from inflateBack()
  11623. with an error if there is no input available. */
  11624. /* Assure that there are at least n bits in the bit accumulator. If there is
  11625. not enough available input to do that, then return from inflateBack() with
  11626. an error. */
  11627. /* Return the low n bits of the bit accumulator (n < 16) */
  11628. /* Remove n bits from the bit accumulator */
  11629. /* Remove zero to seven bits as needed to go to a byte boundary */
  11630. /* Assure that some output space is available, by writing out the window
  11631. if it's full. If the write fails, return from inflateBack() with a
  11632. Z_BUF_ERROR. */
  11633. // C documentation
  11634. //
  11635. // /*
  11636. // strm provides the memory allocation functions and window buffer on input,
  11637. // and provides information on the unused input on return. For Z_DATA_ERROR
  11638. // returns, strm will also provide an error message.
  11639. //
  11640. // in() and out() are the call-back input and output functions. When
  11641. // inflateBack() needs more input, it calls in(). When inflateBack() has
  11642. // filled the window with output, or when it completes with data in the
  11643. // window, it calls out() to write out the data. The application must not
  11644. // change the provided input until in() is called again or inflateBack()
  11645. // returns. The application must not change the window/output buffer until
  11646. // inflateBack() returns.
  11647. //
  11648. // in() and out() are called with a descriptor parameter provided in the
  11649. // inflateBack() call. This parameter can be a structure that provides the
  11650. // information required to do the read or write, as well as accumulated
  11651. // information on the input and output such as totals and check values.
  11652. //
  11653. // in() should return zero on failure. out() should return non-zero on
  11654. // failure. If either in() or out() fails, than inflateBack() returns a
  11655. // Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it
  11656. // was in() or out() that caused in the error. Otherwise, inflateBack()
  11657. // returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format
  11658. // error, or Z_MEM_ERROR if it could not allocate memory for the state.
  11659. // inflateBack() can also return Z_STREAM_ERROR if the input parameters
  11660. // are not correct, i.e. strm is Z_NULL or the state was not initialized.
  11661. // */
  11662. func XinflateBack(tls *libc.TLS, strm Tz_streamp, in Tin_func, in_desc uintptr, out Tout_func, out_desc uintptr) (r int32) {
  11663. bp := tls.Alloc(16)
  11664. defer tls.Free(16)
  11665. var bits, copy1, have, left, len1, v1, v18, v20, v24, v29, v30, v43, v44 uint32
  11666. var from, put, state, v11, v15, v16, v17, v19, v21, v23, v25, v26, v27, v28, v31, v33, v35, v36, v37, v39, v41, v42, v46, v47 uintptr
  11667. var here, last Tcode
  11668. var hold uint64
  11669. var ret int32
  11670. var _ /* next at bp+0 */ uintptr
  11671. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bits, copy1, from, have, here, hold, last, left, len1, put, ret, state, v1, v11, v15, v16, v17, v18, v19, v20, v21, v23, v24, v25, v26, v27, v28, v29, v30, v31, v33, v35, v36, v37, v39, v41, v42, v43, v44, v46, v47 /* return code */
  11672. /* Check that the strm exists and that the state was initialized */
  11673. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fstate == uintptr(m_Z_NULL) {
  11674. return -int32(2)
  11675. }
  11676. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  11677. /* Reset the state */
  11678. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  11679. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  11680. (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
  11681. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  11682. *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  11683. if *(*uintptr)(unsafe.Pointer(bp)) != uintptr(m_Z_NULL) {
  11684. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  11685. } else {
  11686. v1 = uint32(0)
  11687. }
  11688. have = v1
  11689. hold = uint64(0)
  11690. bits = uint32(0)
  11691. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  11692. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  11693. /* Inflate until end of block marked as last */
  11694. for {
  11695. switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
  11696. case int32(_TYPE):
  11697. goto _3
  11698. case int32(_STORED):
  11699. goto _4
  11700. case int32(_TABLE):
  11701. goto _5
  11702. case int32(_LEN):
  11703. goto _6
  11704. case int32(_DONE):
  11705. goto _7
  11706. case int32(_BAD):
  11707. goto _8
  11708. default:
  11709. goto _9
  11710. }
  11711. goto _10
  11712. _3:
  11713. ;
  11714. /* determine and dispatch block type */
  11715. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  11716. hold >>= uint64(bits & uint32(7))
  11717. bits -= bits & uint32(7)
  11718. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
  11719. goto _10
  11720. }
  11721. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  11722. if have == uint32(0) {
  11723. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11724. if have == uint32(0) {
  11725. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11726. ret = -int32(5)
  11727. goto inf_leave
  11728. }
  11729. }
  11730. have--
  11731. v11 = *(*uintptr)(unsafe.Pointer(bp))
  11732. *(*uintptr)(unsafe.Pointer(bp))++
  11733. hold += uint64(*(*uint8)(unsafe.Pointer(v11))) << bits
  11734. bits += uint32(8)
  11735. }
  11736. (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
  11737. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
  11738. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
  11739. switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
  11740. case uint32(0): /* stored block */
  11741. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
  11742. case uint32(1): /* fixed block */
  11743. _fixedtables(tls, state)
  11744. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN) /* decode codes */
  11745. case uint32(2): /* dynamic block */
  11746. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
  11747. case uint32(3):
  11748. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
  11749. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11750. }
  11751. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  11752. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  11753. goto _10
  11754. _4:
  11755. ;
  11756. /* get and verify stored block length */
  11757. _14:
  11758. ;
  11759. hold >>= uint64(bits & uint32(7))
  11760. bits -= bits & uint32(7)
  11761. goto _13
  11762. _13:
  11763. ;
  11764. if 0 != 0 {
  11765. goto _14
  11766. }
  11767. goto _12
  11768. _12:
  11769. ; /* go to byte boundary */
  11770. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  11771. if have == uint32(0) {
  11772. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11773. if have == uint32(0) {
  11774. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11775. ret = -int32(5)
  11776. goto inf_leave
  11777. }
  11778. }
  11779. have--
  11780. v15 = *(*uintptr)(unsafe.Pointer(bp))
  11781. *(*uintptr)(unsafe.Pointer(bp))++
  11782. hold += uint64(*(*uint8)(unsafe.Pointer(v15))) << bits
  11783. bits += uint32(8)
  11784. }
  11785. if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
  11786. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
  11787. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11788. goto _10
  11789. }
  11790. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
  11791. hold = uint64(0)
  11792. bits = uint32(0)
  11793. /* copy stored block from input to output */
  11794. for (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
  11795. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  11796. if have == uint32(0) {
  11797. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11798. if have == uint32(0) {
  11799. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11800. ret = -int32(5)
  11801. goto inf_leave
  11802. }
  11803. }
  11804. if left == uint32(0) {
  11805. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  11806. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  11807. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  11808. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  11809. ret = -int32(5)
  11810. goto inf_leave
  11811. }
  11812. }
  11813. if copy1 > have {
  11814. copy1 = have
  11815. }
  11816. if copy1 > left {
  11817. copy1 = left
  11818. }
  11819. libc.Xmemcpy(tls, put, *(*uintptr)(unsafe.Pointer(bp)), uint64(copy1))
  11820. have -= copy1
  11821. *(*uintptr)(unsafe.Pointer(bp)) += uintptr(copy1)
  11822. left -= copy1
  11823. put += uintptr(copy1)
  11824. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  11825. }
  11826. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  11827. goto _10
  11828. _5:
  11829. ;
  11830. /* get dynamic table entries descriptor */
  11831. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
  11832. if have == uint32(0) {
  11833. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11834. if have == uint32(0) {
  11835. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11836. ret = -int32(5)
  11837. goto inf_leave
  11838. }
  11839. }
  11840. have--
  11841. v16 = *(*uintptr)(unsafe.Pointer(bp))
  11842. *(*uintptr)(unsafe.Pointer(bp))++
  11843. hold += uint64(*(*uint8)(unsafe.Pointer(v16))) << bits
  11844. bits += uint32(8)
  11845. }
  11846. (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
  11847. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  11848. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  11849. (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
  11850. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  11851. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  11852. (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
  11853. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  11854. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  11855. if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
  11856. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
  11857. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11858. goto _10
  11859. }
  11860. /* get code length code lengths (not a typo) */
  11861. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  11862. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
  11863. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  11864. if have == uint32(0) {
  11865. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11866. if have == uint32(0) {
  11867. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11868. ret = -int32(5)
  11869. goto inf_leave
  11870. }
  11871. }
  11872. have--
  11873. v17 = *(*uintptr)(unsafe.Pointer(bp))
  11874. *(*uintptr)(unsafe.Pointer(bp))++
  11875. hold += uint64(*(*uint8)(unsafe.Pointer(v17))) << bits
  11876. bits += uint32(8)
  11877. }
  11878. v19 = state + 140
  11879. v18 = *(*uint32)(unsafe.Pointer(v19))
  11880. *(*uint32)(unsafe.Pointer(v19))++
  11881. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v18])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
  11882. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  11883. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  11884. }
  11885. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
  11886. v21 = state + 140
  11887. v20 = *(*uint32)(unsafe.Pointer(v21))
  11888. *(*uint32)(unsafe.Pointer(v21))++
  11889. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v20])*2)) = uint16(0)
  11890. }
  11891. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  11892. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  11893. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
  11894. ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
  11895. if ret != 0 {
  11896. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
  11897. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11898. goto _10
  11899. }
  11900. /* get length and distance code code lengths */
  11901. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  11902. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  11903. for {
  11904. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  11905. if uint32(here.Fbits) <= bits {
  11906. break
  11907. }
  11908. if have == uint32(0) {
  11909. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11910. if have == uint32(0) {
  11911. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11912. ret = -int32(5)
  11913. goto inf_leave
  11914. }
  11915. }
  11916. have--
  11917. v23 = *(*uintptr)(unsafe.Pointer(bp))
  11918. *(*uintptr)(unsafe.Pointer(bp))++
  11919. hold += uint64(*(*uint8)(unsafe.Pointer(v23))) << bits
  11920. bits += uint32(8)
  11921. goto _22
  11922. _22:
  11923. }
  11924. if libc.Int32FromUint16(here.Fval) < int32(16) {
  11925. hold >>= uint64(here.Fbits)
  11926. bits -= uint32(here.Fbits)
  11927. v25 = state + 140
  11928. v24 = *(*uint32)(unsafe.Pointer(v25))
  11929. *(*uint32)(unsafe.Pointer(v25))++
  11930. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v24)*2)) = here.Fval
  11931. } else {
  11932. if libc.Int32FromUint16(here.Fval) == int32(16) {
  11933. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
  11934. if have == uint32(0) {
  11935. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11936. if have == uint32(0) {
  11937. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11938. ret = -int32(5)
  11939. goto inf_leave
  11940. }
  11941. }
  11942. have--
  11943. v26 = *(*uintptr)(unsafe.Pointer(bp))
  11944. *(*uintptr)(unsafe.Pointer(bp))++
  11945. hold += uint64(*(*uint8)(unsafe.Pointer(v26))) << bits
  11946. bits += uint32(8)
  11947. }
  11948. hold >>= uint64(here.Fbits)
  11949. bits -= uint32(here.Fbits)
  11950. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
  11951. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  11952. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11953. break
  11954. }
  11955. len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
  11956. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
  11957. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  11958. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  11959. } else {
  11960. if libc.Int32FromUint16(here.Fval) == int32(17) {
  11961. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
  11962. if have == uint32(0) {
  11963. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11964. if have == uint32(0) {
  11965. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11966. ret = -int32(5)
  11967. goto inf_leave
  11968. }
  11969. }
  11970. have--
  11971. v27 = *(*uintptr)(unsafe.Pointer(bp))
  11972. *(*uintptr)(unsafe.Pointer(bp))++
  11973. hold += uint64(*(*uint8)(unsafe.Pointer(v27))) << bits
  11974. bits += uint32(8)
  11975. }
  11976. hold >>= uint64(here.Fbits)
  11977. bits -= uint32(here.Fbits)
  11978. len1 = uint32(0)
  11979. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
  11980. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  11981. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  11982. } else {
  11983. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
  11984. if have == uint32(0) {
  11985. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11986. if have == uint32(0) {
  11987. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11988. ret = -int32(5)
  11989. goto inf_leave
  11990. }
  11991. }
  11992. have--
  11993. v28 = *(*uintptr)(unsafe.Pointer(bp))
  11994. *(*uintptr)(unsafe.Pointer(bp))++
  11995. hold += uint64(*(*uint8)(unsafe.Pointer(v28))) << bits
  11996. bits += uint32(8)
  11997. }
  11998. hold >>= uint64(here.Fbits)
  11999. bits -= uint32(here.Fbits)
  12000. len1 = uint32(0)
  12001. copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
  12002. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
  12003. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
  12004. }
  12005. }
  12006. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  12007. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  12008. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12009. break
  12010. }
  12011. for {
  12012. v29 = copy1
  12013. copy1--
  12014. if !(v29 != 0) {
  12015. break
  12016. }
  12017. v31 = state + 140
  12018. v30 = *(*uint32)(unsafe.Pointer(v31))
  12019. *(*uint32)(unsafe.Pointer(v31))++
  12020. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v30)*2)) = uint16(len1)
  12021. }
  12022. }
  12023. }
  12024. /* handle error breaks in while */
  12025. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
  12026. goto _10
  12027. }
  12028. /* check for end-of-block code (better have one) */
  12029. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
  12030. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
  12031. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12032. goto _10
  12033. }
  12034. /* build code tables -- note: do not change the lenbits or distbits
  12035. values here (9 and 6) without reading the comments in inftrees.h
  12036. concerning the ENOUGH constants, which depend on those values */
  12037. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  12038. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  12039. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  12040. ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
  12041. if ret != 0 {
  12042. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
  12043. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12044. goto _10
  12045. }
  12046. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  12047. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
  12048. ret = Xinflate_table(tls, int32(_DISTS), state+152+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fnlen)*2, (*Tinflate_state)(unsafe.Pointer(state)).Fndist, state+144, state+124, state+792)
  12049. if ret != 0 {
  12050. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
  12051. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12052. goto _10
  12053. }
  12054. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  12055. /* fallthrough */
  12056. _6:
  12057. ;
  12058. /* use inflate_fast() if we have enough input and output */
  12059. if have >= uint32(6) && left >= uint32(258) {
  12060. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  12061. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  12062. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
  12063. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  12064. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  12065. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  12066. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  12067. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - left
  12068. }
  12069. Xinflate_fast(tls, strm, (*Tinflate_state)(unsafe.Pointer(state)).Fwsize)
  12070. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  12071. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  12072. *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  12073. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  12074. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  12075. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  12076. goto _10
  12077. }
  12078. /* get a literal, length, or end-of-block code */
  12079. for {
  12080. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  12081. if uint32(here.Fbits) <= bits {
  12082. break
  12083. }
  12084. if have == uint32(0) {
  12085. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12086. if have == uint32(0) {
  12087. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12088. ret = -int32(5)
  12089. goto inf_leave
  12090. }
  12091. }
  12092. have--
  12093. v33 = *(*uintptr)(unsafe.Pointer(bp))
  12094. *(*uintptr)(unsafe.Pointer(bp))++
  12095. hold += uint64(*(*uint8)(unsafe.Pointer(v33))) << bits
  12096. bits += uint32(8)
  12097. goto _32
  12098. _32:
  12099. }
  12100. if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  12101. last = here
  12102. for {
  12103. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  12104. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  12105. break
  12106. }
  12107. if have == uint32(0) {
  12108. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12109. if have == uint32(0) {
  12110. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12111. ret = -int32(5)
  12112. goto inf_leave
  12113. }
  12114. }
  12115. have--
  12116. v35 = *(*uintptr)(unsafe.Pointer(bp))
  12117. *(*uintptr)(unsafe.Pointer(bp))++
  12118. hold += uint64(*(*uint8)(unsafe.Pointer(v35))) << bits
  12119. bits += uint32(8)
  12120. goto _34
  12121. _34:
  12122. }
  12123. hold >>= uint64(last.Fbits)
  12124. bits -= uint32(last.Fbits)
  12125. }
  12126. hold >>= uint64(here.Fbits)
  12127. bits -= uint32(here.Fbits)
  12128. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
  12129. /* process literal */
  12130. if libc.Int32FromUint8(here.Fop) == 0 {
  12131. if left == uint32(0) {
  12132. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  12133. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  12134. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  12135. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  12136. ret = -int32(5)
  12137. goto inf_leave
  12138. }
  12139. }
  12140. v36 = put
  12141. put++
  12142. *(*uint8)(unsafe.Pointer(v36)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
  12143. left--
  12144. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  12145. goto _10
  12146. }
  12147. /* process end of block */
  12148. if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
  12149. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  12150. goto _10
  12151. }
  12152. /* invalid code */
  12153. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  12154. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  12155. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12156. goto _10
  12157. }
  12158. /* length code -- get extra bits, if any */
  12159. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  12160. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
  12161. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  12162. if have == uint32(0) {
  12163. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12164. if have == uint32(0) {
  12165. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12166. ret = -int32(5)
  12167. goto inf_leave
  12168. }
  12169. }
  12170. have--
  12171. v37 = *(*uintptr)(unsafe.Pointer(bp))
  12172. *(*uintptr)(unsafe.Pointer(bp))++
  12173. hold += uint64(*(*uint8)(unsafe.Pointer(v37))) << bits
  12174. bits += uint32(8)
  12175. }
  12176. *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  12177. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  12178. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  12179. }
  12180. /* get distance code */
  12181. for {
  12182. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits-libc.Uint32FromInt32(1)))*4))
  12183. if uint32(here.Fbits) <= bits {
  12184. break
  12185. }
  12186. if have == uint32(0) {
  12187. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12188. if have == uint32(0) {
  12189. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12190. ret = -int32(5)
  12191. goto inf_leave
  12192. }
  12193. }
  12194. have--
  12195. v39 = *(*uintptr)(unsafe.Pointer(bp))
  12196. *(*uintptr)(unsafe.Pointer(bp))++
  12197. hold += uint64(*(*uint8)(unsafe.Pointer(v39))) << bits
  12198. bits += uint32(8)
  12199. goto _38
  12200. _38:
  12201. }
  12202. if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  12203. last = here
  12204. for {
  12205. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  12206. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  12207. break
  12208. }
  12209. if have == uint32(0) {
  12210. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12211. if have == uint32(0) {
  12212. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12213. ret = -int32(5)
  12214. goto inf_leave
  12215. }
  12216. }
  12217. have--
  12218. v41 = *(*uintptr)(unsafe.Pointer(bp))
  12219. *(*uintptr)(unsafe.Pointer(bp))++
  12220. hold += uint64(*(*uint8)(unsafe.Pointer(v41))) << bits
  12221. bits += uint32(8)
  12222. goto _40
  12223. _40:
  12224. }
  12225. hold >>= uint64(last.Fbits)
  12226. bits -= uint32(last.Fbits)
  12227. }
  12228. hold >>= uint64(here.Fbits)
  12229. bits -= uint32(here.Fbits)
  12230. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  12231. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  12232. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12233. goto _10
  12234. }
  12235. (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
  12236. /* get distance extra bits, if any */
  12237. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  12238. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
  12239. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  12240. if have == uint32(0) {
  12241. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12242. if have == uint32(0) {
  12243. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12244. ret = -int32(5)
  12245. goto inf_leave
  12246. }
  12247. }
  12248. have--
  12249. v42 = *(*uintptr)(unsafe.Pointer(bp))
  12250. *(*uintptr)(unsafe.Pointer(bp))++
  12251. hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
  12252. bits += uint32(8)
  12253. }
  12254. *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  12255. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  12256. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  12257. }
  12258. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  12259. v43 = left
  12260. } else {
  12261. v43 = uint32(0)
  12262. }
  12263. if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > (*Tinflate_state)(unsafe.Pointer(state)).Fwsize-v43 {
  12264. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  12265. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12266. goto _10
  12267. }
  12268. /* copy match from window to output */
  12269. for cond := true; cond; cond = (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
  12270. if left == uint32(0) {
  12271. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  12272. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  12273. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  12274. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  12275. ret = -int32(5)
  12276. goto inf_leave
  12277. }
  12278. }
  12279. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Foffset
  12280. if copy1 < left {
  12281. from = put + uintptr(copy1)
  12282. copy1 = left - copy1
  12283. } else {
  12284. from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
  12285. copy1 = left
  12286. }
  12287. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
  12288. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  12289. }
  12290. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  12291. left -= copy1
  12292. for {
  12293. v46 = put
  12294. put++
  12295. v47 = from
  12296. from++
  12297. *(*uint8)(unsafe.Pointer(v46)) = *(*uint8)(unsafe.Pointer(v47))
  12298. goto _45
  12299. _45:
  12300. ;
  12301. copy1--
  12302. v44 = copy1
  12303. if !(v44 != 0) {
  12304. break
  12305. }
  12306. }
  12307. }
  12308. goto _10
  12309. _7:
  12310. ;
  12311. /* inflate stream terminated properly */
  12312. ret = int32(m_Z_STREAM_END)
  12313. goto inf_leave
  12314. _8:
  12315. ;
  12316. ret = -int32(3)
  12317. goto inf_leave
  12318. _9:
  12319. ;
  12320. /* can't happen, but makes compilers happy */
  12321. ret = -int32(2)
  12322. goto inf_leave
  12323. _10:
  12324. ;
  12325. goto _2
  12326. _2:
  12327. }
  12328. /* Write leftover output and return unused input */
  12329. goto inf_leave
  12330. inf_leave:
  12331. ;
  12332. if left < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  12333. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, (*Tinflate_state)(unsafe.Pointer(state)).Fwsize-left) != 0 && ret == int32(m_Z_STREAM_END) {
  12334. ret = -int32(5)
  12335. }
  12336. }
  12337. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
  12338. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  12339. return ret
  12340. }
  12341. var _order = [19]uint16{
  12342. 0: uint16(16),
  12343. 1: uint16(17),
  12344. 2: uint16(18),
  12345. 4: uint16(8),
  12346. 5: uint16(7),
  12347. 6: uint16(9),
  12348. 7: uint16(6),
  12349. 8: uint16(10),
  12350. 9: uint16(5),
  12351. 10: uint16(11),
  12352. 11: uint16(4),
  12353. 12: uint16(12),
  12354. 13: uint16(3),
  12355. 14: uint16(13),
  12356. 15: uint16(2),
  12357. 16: uint16(14),
  12358. 17: uint16(1),
  12359. 18: uint16(15),
  12360. }
  12361. func XinflateBackEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12362. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fstate == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  12363. return -int32(2)
  12364. }
  12365. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  12366. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  12367. return m_Z_OK
  12368. }
  12369. // C documentation
  12370. //
  12371. // /*
  12372. // Decode literal, length, and distance codes and write out the resulting
  12373. // literal and match bytes until either not enough input or output is
  12374. // available, an end-of-block is encountered, or a data error is encountered.
  12375. // When large enough input and output buffers are supplied to inflate(), for
  12376. // example, a 16K input buffer and a 64K output buffer, more than 95% of the
  12377. // inflate execution time is spent in this routine.
  12378. //
  12379. // Entry assumptions:
  12380. //
  12381. // state->mode == LEN
  12382. // strm->avail_in >= 6
  12383. // strm->avail_out >= 258
  12384. // start >= strm->avail_out
  12385. // state->bits < 8
  12386. //
  12387. // On return, state->mode is one of:
  12388. //
  12389. // LEN -- ran out of enough output space or enough available input
  12390. // TYPE -- reached end of block code, inflate() to interpret next block
  12391. // BAD -- error in block data
  12392. //
  12393. // Notes:
  12394. //
  12395. // - The maximum input bits used by a length/distance pair is 15 bits for the
  12396. // length code, 5 bits for the length extra, 15 bits for the distance code,
  12397. // and 13 bits for the distance extra. This totals 48 bits, or six bytes.
  12398. // Therefore if strm->avail_in >= 6, then there is enough input to avoid
  12399. // checking for available input while decoding.
  12400. //
  12401. // - The maximum bytes that a single length/distance pair can output is 258
  12402. // bytes, which is the maximum length that can be coded. inflate_fast()
  12403. // requires strm->avail_out >= 258 for each loop to avoid checking for
  12404. // output space.
  12405. // */
  12406. func Xinflate_fast(tls *libc.TLS, strm Tz_streamp, start uint32) {
  12407. var beg, dcode, end, from, here, in, last, lcode, out, state, window, v1, v11, v12, v15, v16, v19, v2, v20, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v4, v40, v41, v42, v43, v44, v5, v6, v7, v8 uintptr
  12408. var bits, dist, dmask, len1, lmask, op, whave, wnext, wsize, v13, v17, v21, v9 uint32
  12409. var hold uint64
  12410. var v45, v46 int64
  12411. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = beg, bits, dcode, dist, dmask, end, from, here, hold, in, last, lcode, len1, lmask, op, out, state, whave, window, wnext, wsize, v1, v11, v12, v13, v15, v16, v17, v19, v2, v20, v21, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v4, v40, v41, v42, v43, v44, v45, v46, v5, v6, v7, v8, v9 /* where to copy match from */
  12412. /* copy state to local variables */
  12413. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12414. in = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  12415. last = in + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in-libc.Uint32FromInt32(5))
  12416. out = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  12417. beg = out - uintptr(start-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out)
  12418. end = out + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_out-libc.Uint32FromInt32(257))
  12419. wsize = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  12420. whave = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
  12421. wnext = (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  12422. window = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  12423. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  12424. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  12425. lcode = (*Tinflate_state)(unsafe.Pointer(state)).Flencode
  12426. dcode = (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode
  12427. lmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits - uint32(1)
  12428. dmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits - uint32(1)
  12429. /* decode literals and length/distances until end-of-block or not enough
  12430. input data or output space */
  12431. for cond := true; cond; cond = in < last && out < end {
  12432. if bits < uint32(15) {
  12433. v1 = in
  12434. in++
  12435. hold += uint64(*(*uint8)(unsafe.Pointer(v1))) << bits
  12436. bits += uint32(8)
  12437. v2 = in
  12438. in++
  12439. hold += uint64(*(*uint8)(unsafe.Pointer(v2))) << bits
  12440. bits += uint32(8)
  12441. }
  12442. here = lcode + uintptr(hold&uint64(lmask))*4
  12443. goto dolen
  12444. dolen:
  12445. ;
  12446. op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
  12447. hold >>= uint64(op)
  12448. bits -= op
  12449. op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
  12450. if op == uint32(0) { /* literal */
  12451. v3 = out
  12452. out++
  12453. *(*uint8)(unsafe.Pointer(v3)) = uint8((*Tcode)(unsafe.Pointer(here)).Fval)
  12454. } else {
  12455. if op&uint32(16) != 0 { /* length base */
  12456. len1 = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
  12457. op &= uint32(15) /* number of extra bits */
  12458. if op != 0 {
  12459. if bits < op {
  12460. v4 = in
  12461. in++
  12462. hold += uint64(*(*uint8)(unsafe.Pointer(v4))) << bits
  12463. bits += uint32(8)
  12464. }
  12465. len1 += uint32(hold) & (uint32(1)<<op - uint32(1))
  12466. hold >>= uint64(op)
  12467. bits -= op
  12468. }
  12469. if bits < uint32(15) {
  12470. v5 = in
  12471. in++
  12472. hold += uint64(*(*uint8)(unsafe.Pointer(v5))) << bits
  12473. bits += uint32(8)
  12474. v6 = in
  12475. in++
  12476. hold += uint64(*(*uint8)(unsafe.Pointer(v6))) << bits
  12477. bits += uint32(8)
  12478. }
  12479. here = dcode + uintptr(hold&uint64(dmask))*4
  12480. goto dodist
  12481. dodist:
  12482. ;
  12483. op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
  12484. hold >>= uint64(op)
  12485. bits -= op
  12486. op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
  12487. if op&uint32(16) != 0 { /* distance base */
  12488. dist = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
  12489. op &= uint32(15) /* number of extra bits */
  12490. if bits < op {
  12491. v7 = in
  12492. in++
  12493. hold += uint64(*(*uint8)(unsafe.Pointer(v7))) << bits
  12494. bits += uint32(8)
  12495. if bits < op {
  12496. v8 = in
  12497. in++
  12498. hold += uint64(*(*uint8)(unsafe.Pointer(v8))) << bits
  12499. bits += uint32(8)
  12500. }
  12501. }
  12502. dist += uint32(hold) & (uint32(1)<<op - uint32(1))
  12503. hold >>= uint64(op)
  12504. bits -= op
  12505. op = libc.Uint32FromInt64(int64(out) - int64(beg)) /* max distance in output */
  12506. if dist > op { /* see if copy from window */
  12507. op = dist - op /* distance back in window */
  12508. if op > whave {
  12509. if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
  12510. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  12511. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12512. break
  12513. }
  12514. }
  12515. from = window
  12516. if wnext == uint32(0) { /* very common case */
  12517. from += uintptr(wsize - op)
  12518. if op < len1 { /* some from window */
  12519. len1 -= op
  12520. for {
  12521. v11 = out
  12522. out++
  12523. v12 = from
  12524. from++
  12525. *(*uint8)(unsafe.Pointer(v11)) = *(*uint8)(unsafe.Pointer(v12))
  12526. goto _10
  12527. _10:
  12528. ;
  12529. op--
  12530. v9 = op
  12531. if !(v9 != 0) {
  12532. break
  12533. }
  12534. }
  12535. from = out - uintptr(dist) /* rest from output */
  12536. }
  12537. } else {
  12538. if wnext < op { /* wrap around window */
  12539. from += uintptr(wsize + wnext - op)
  12540. op -= wnext
  12541. if op < len1 { /* some from end of window */
  12542. len1 -= op
  12543. for {
  12544. v15 = out
  12545. out++
  12546. v16 = from
  12547. from++
  12548. *(*uint8)(unsafe.Pointer(v15)) = *(*uint8)(unsafe.Pointer(v16))
  12549. goto _14
  12550. _14:
  12551. ;
  12552. op--
  12553. v13 = op
  12554. if !(v13 != 0) {
  12555. break
  12556. }
  12557. }
  12558. from = window
  12559. if wnext < len1 { /* some from start of window */
  12560. op = wnext
  12561. len1 -= op
  12562. for {
  12563. v19 = out
  12564. out++
  12565. v20 = from
  12566. from++
  12567. *(*uint8)(unsafe.Pointer(v19)) = *(*uint8)(unsafe.Pointer(v20))
  12568. goto _18
  12569. _18:
  12570. ;
  12571. op--
  12572. v17 = op
  12573. if !(v17 != 0) {
  12574. break
  12575. }
  12576. }
  12577. from = out - uintptr(dist) /* rest from output */
  12578. }
  12579. }
  12580. } else { /* contiguous in window */
  12581. from += uintptr(wnext - op)
  12582. if op < len1 { /* some from window */
  12583. len1 -= op
  12584. for {
  12585. v23 = out
  12586. out++
  12587. v24 = from
  12588. from++
  12589. *(*uint8)(unsafe.Pointer(v23)) = *(*uint8)(unsafe.Pointer(v24))
  12590. goto _22
  12591. _22:
  12592. ;
  12593. op--
  12594. v21 = op
  12595. if !(v21 != 0) {
  12596. break
  12597. }
  12598. }
  12599. from = out - uintptr(dist) /* rest from output */
  12600. }
  12601. }
  12602. }
  12603. for len1 > uint32(2) {
  12604. v25 = out
  12605. out++
  12606. v26 = from
  12607. from++
  12608. *(*uint8)(unsafe.Pointer(v25)) = *(*uint8)(unsafe.Pointer(v26))
  12609. v27 = out
  12610. out++
  12611. v28 = from
  12612. from++
  12613. *(*uint8)(unsafe.Pointer(v27)) = *(*uint8)(unsafe.Pointer(v28))
  12614. v29 = out
  12615. out++
  12616. v30 = from
  12617. from++
  12618. *(*uint8)(unsafe.Pointer(v29)) = *(*uint8)(unsafe.Pointer(v30))
  12619. len1 -= uint32(3)
  12620. }
  12621. if len1 != 0 {
  12622. v31 = out
  12623. out++
  12624. v32 = from
  12625. from++
  12626. *(*uint8)(unsafe.Pointer(v31)) = *(*uint8)(unsafe.Pointer(v32))
  12627. if len1 > uint32(1) {
  12628. v33 = out
  12629. out++
  12630. v34 = from
  12631. from++
  12632. *(*uint8)(unsafe.Pointer(v33)) = *(*uint8)(unsafe.Pointer(v34))
  12633. }
  12634. }
  12635. } else {
  12636. from = out - uintptr(dist) /* copy direct from output */
  12637. for cond := true; cond; cond = len1 > uint32(2) { /* minimum length is three */
  12638. v35 = out
  12639. out++
  12640. v36 = from
  12641. from++
  12642. *(*uint8)(unsafe.Pointer(v35)) = *(*uint8)(unsafe.Pointer(v36))
  12643. v37 = out
  12644. out++
  12645. v38 = from
  12646. from++
  12647. *(*uint8)(unsafe.Pointer(v37)) = *(*uint8)(unsafe.Pointer(v38))
  12648. v39 = out
  12649. out++
  12650. v40 = from
  12651. from++
  12652. *(*uint8)(unsafe.Pointer(v39)) = *(*uint8)(unsafe.Pointer(v40))
  12653. len1 -= uint32(3)
  12654. }
  12655. if len1 != 0 {
  12656. v41 = out
  12657. out++
  12658. v42 = from
  12659. from++
  12660. *(*uint8)(unsafe.Pointer(v41)) = *(*uint8)(unsafe.Pointer(v42))
  12661. if len1 > uint32(1) {
  12662. v43 = out
  12663. out++
  12664. v44 = from
  12665. from++
  12666. *(*uint8)(unsafe.Pointer(v43)) = *(*uint8)(unsafe.Pointer(v44))
  12667. }
  12668. }
  12669. }
  12670. } else {
  12671. if op&uint32(64) == uint32(0) { /* 2nd level distance code */
  12672. here = dcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
  12673. goto dodist
  12674. } else {
  12675. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  12676. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12677. break
  12678. }
  12679. }
  12680. } else {
  12681. if op&uint32(64) == uint32(0) { /* 2nd level length code */
  12682. here = lcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
  12683. goto dolen
  12684. } else {
  12685. if op&uint32(32) != 0 { /* end-of-block */
  12686. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  12687. break
  12688. } else {
  12689. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  12690. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12691. break
  12692. }
  12693. }
  12694. }
  12695. }
  12696. }
  12697. /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
  12698. len1 = bits >> int32(3)
  12699. in -= uintptr(len1)
  12700. bits -= len1 << int32(3)
  12701. hold &= uint64(uint32(1)<<bits - uint32(1))
  12702. /* update state and return */
  12703. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = in
  12704. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = out
  12705. if in < last {
  12706. v45 = int64(5) + (int64(last) - int64(in))
  12707. } else {
  12708. v45 = int64(5) - (int64(in) - int64(last))
  12709. }
  12710. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = libc.Uint32FromInt64(v45)
  12711. if out < end {
  12712. v46 = int64(257) + (int64(end) - int64(out))
  12713. } else {
  12714. v46 = int64(257) - (int64(out) - int64(end))
  12715. }
  12716. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = libc.Uint32FromInt64(v46)
  12717. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  12718. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  12719. return
  12720. }
  12721. func _inflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12722. var state uintptr
  12723. _ = state
  12724. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  12725. return int32(1)
  12726. }
  12727. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12728. if state == uintptr(m_Z_NULL) || (*Tinflate_state)(unsafe.Pointer(state)).Fstrm != strm || (*Tinflate_state)(unsafe.Pointer(state)).Fmode < int32(_HEAD) || (*Tinflate_state)(unsafe.Pointer(state)).Fmode > int32(_SYNC) {
  12729. return int32(1)
  12730. }
  12731. return 0
  12732. }
  12733. func XinflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12734. var state, v3, v4 uintptr
  12735. var v1 TuLong
  12736. var v2 uint64
  12737. _, _, _, _, _ = state, v1, v2, v3, v4
  12738. if _inflateStateCheck(tls, strm) != 0 {
  12739. return -int32(2)
  12740. }
  12741. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12742. v2 = libc.Uint64FromInt32(0)
  12743. (*Tinflate_state)(unsafe.Pointer(state)).Ftotal = v2
  12744. v1 = v2
  12745. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
  12746. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
  12747. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  12748. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 { /* to support ill-conceived Java test suite */
  12749. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = libc.Uint64FromInt32((*Tinflate_state)(unsafe.Pointer(state)).Fwrap & int32(1))
  12750. }
  12751. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD)
  12752. (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
  12753. (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = 0
  12754. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = -int32(1)
  12755. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
  12756. (*Tinflate_state)(unsafe.Pointer(state)).Fhead = uintptr(m_Z_NULL)
  12757. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
  12758. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
  12759. v4 = state + 1368
  12760. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = v4
  12761. v3 = v4
  12762. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = v3
  12763. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = v3
  12764. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  12765. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  12766. return m_Z_OK
  12767. }
  12768. func XinflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12769. var state uintptr
  12770. _ = state
  12771. if _inflateStateCheck(tls, strm) != 0 {
  12772. return -int32(2)
  12773. }
  12774. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12775. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(0)
  12776. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  12777. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  12778. return XinflateResetKeep(tls, strm)
  12779. }
  12780. func XinflateReset2(tls *libc.TLS, strm Tz_streamp, windowBits int32) (r int32) {
  12781. var state uintptr
  12782. var wrap int32
  12783. _, _ = state, wrap
  12784. /* get the state */
  12785. if _inflateStateCheck(tls, strm) != 0 {
  12786. return -int32(2)
  12787. }
  12788. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12789. /* extract wrap request from windowBits parameter */
  12790. if windowBits < 0 {
  12791. if windowBits < -int32(15) {
  12792. return -int32(2)
  12793. }
  12794. wrap = 0
  12795. windowBits = -windowBits
  12796. } else {
  12797. wrap = windowBits>>int32(4) + int32(5)
  12798. if windowBits < int32(48) {
  12799. windowBits &= int32(15)
  12800. }
  12801. }
  12802. /* set number of window bits, free window if different */
  12803. if windowBits != 0 && (windowBits < int32(8) || windowBits > int32(15)) {
  12804. return -int32(2)
  12805. }
  12806. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Fwbits != libc.Uint32FromInt32(windowBits) {
  12807. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow)
  12808. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
  12809. }
  12810. /* update state and reset the rest of it */
  12811. (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = wrap
  12812. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
  12813. return XinflateReset(tls, strm)
  12814. }
  12815. func XinflateInit2_(tls *libc.TLS, strm Tz_streamp, windowBits int32, version uintptr, stream_size int32) (r int32) {
  12816. var ret int32
  12817. var state uintptr
  12818. _, _ = ret, state
  12819. if version == uintptr(m_Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(*(*int8)(unsafe.Pointer(__ccgo_ts))) || stream_size != libc.Int32FromUint64(libc.Uint64FromInt64(112)) {
  12820. return -int32(6)
  12821. }
  12822. if strm == uintptr(m_Z_NULL) {
  12823. return -int32(2)
  12824. }
  12825. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
  12826. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  12827. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  12828. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  12829. }
  12830. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  12831. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  12832. }
  12833. state = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(7160)))
  12834. if state == uintptr(m_Z_NULL) {
  12835. return -int32(4)
  12836. }
  12837. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
  12838. (*Tinflate_state)(unsafe.Pointer(state)).Fstrm = strm
  12839. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
  12840. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD) /* to pass state test in inflateReset2() */
  12841. ret = XinflateReset2(tls, strm, windowBits)
  12842. if ret != m_Z_OK {
  12843. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, state)
  12844. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  12845. }
  12846. return ret
  12847. }
  12848. func XinflateInit_(tls *libc.TLS, strm Tz_streamp, version uintptr, stream_size int32) (r int32) {
  12849. return XinflateInit2_(tls, strm, int32(m_MAX_WBITS), version, stream_size)
  12850. }
  12851. func XinflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
  12852. var state uintptr
  12853. _ = state
  12854. if _inflateStateCheck(tls, strm) != 0 {
  12855. return -int32(2)
  12856. }
  12857. if bits == 0 {
  12858. return m_Z_OK
  12859. }
  12860. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12861. if bits < 0 {
  12862. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
  12863. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
  12864. return m_Z_OK
  12865. }
  12866. if bits > int32(16) || (*Tinflate_state)(unsafe.Pointer(state)).Fbits+libc.Uint32FromInt32(bits) > uint32(32) {
  12867. return -int32(2)
  12868. }
  12869. value = int32(int64(value) & (libc.Int64FromInt64(1)<<bits - libc.Int64FromInt32(1)))
  12870. *(*uint64)(unsafe.Pointer(state + 80)) += uint64(libc.Uint32FromInt32(value) << (*Tinflate_state)(unsafe.Pointer(state)).Fbits)
  12871. *(*uint32)(unsafe.Pointer(state + 88)) += libc.Uint32FromInt32(bits)
  12872. return m_Z_OK
  12873. }
  12874. // C documentation
  12875. //
  12876. // /*
  12877. // Return state with length and distance decoding tables and index sizes set to
  12878. // fixed code decoding. Normally this returns fixed tables from inffixed.h.
  12879. // If BUILDFIXED is defined, then instead this routine builds the tables the
  12880. // first time it's called, and returns those tables the first time and
  12881. // thereafter. This reduces the size of the code by about 2K bytes, in
  12882. // exchange for a little execution time. However, BUILDFIXED should not be
  12883. // used for threaded applications, since the rewriting of the tables and virgin
  12884. // may not be thread-safe.
  12885. // */
  12886. func _fixedtables1(tls *libc.TLS, state uintptr) {
  12887. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix1))
  12888. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  12889. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix1))
  12890. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
  12891. }
  12892. var _lenfix1 = [512]Tcode{
  12893. 0: {
  12894. Fop: uint8(96),
  12895. Fbits: uint8(7),
  12896. },
  12897. 1: {
  12898. Fbits: uint8(8),
  12899. Fval: uint16(80),
  12900. },
  12901. 2: {
  12902. Fbits: uint8(8),
  12903. Fval: uint16(16),
  12904. },
  12905. 3: {
  12906. Fop: uint8(20),
  12907. Fbits: uint8(8),
  12908. Fval: uint16(115),
  12909. },
  12910. 4: {
  12911. Fop: uint8(18),
  12912. Fbits: uint8(7),
  12913. Fval: uint16(31),
  12914. },
  12915. 5: {
  12916. Fbits: uint8(8),
  12917. Fval: uint16(112),
  12918. },
  12919. 6: {
  12920. Fbits: uint8(8),
  12921. Fval: uint16(48),
  12922. },
  12923. 7: {
  12924. Fbits: uint8(9),
  12925. Fval: uint16(192),
  12926. },
  12927. 8: {
  12928. Fop: uint8(16),
  12929. Fbits: uint8(7),
  12930. Fval: uint16(10),
  12931. },
  12932. 9: {
  12933. Fbits: uint8(8),
  12934. Fval: uint16(96),
  12935. },
  12936. 10: {
  12937. Fbits: uint8(8),
  12938. Fval: uint16(32),
  12939. },
  12940. 11: {
  12941. Fbits: uint8(9),
  12942. Fval: uint16(160),
  12943. },
  12944. 12: {
  12945. Fbits: uint8(8),
  12946. },
  12947. 13: {
  12948. Fbits: uint8(8),
  12949. Fval: uint16(128),
  12950. },
  12951. 14: {
  12952. Fbits: uint8(8),
  12953. Fval: uint16(64),
  12954. },
  12955. 15: {
  12956. Fbits: uint8(9),
  12957. Fval: uint16(224),
  12958. },
  12959. 16: {
  12960. Fop: uint8(16),
  12961. Fbits: uint8(7),
  12962. Fval: uint16(6),
  12963. },
  12964. 17: {
  12965. Fbits: uint8(8),
  12966. Fval: uint16(88),
  12967. },
  12968. 18: {
  12969. Fbits: uint8(8),
  12970. Fval: uint16(24),
  12971. },
  12972. 19: {
  12973. Fbits: uint8(9),
  12974. Fval: uint16(144),
  12975. },
  12976. 20: {
  12977. Fop: uint8(19),
  12978. Fbits: uint8(7),
  12979. Fval: uint16(59),
  12980. },
  12981. 21: {
  12982. Fbits: uint8(8),
  12983. Fval: uint16(120),
  12984. },
  12985. 22: {
  12986. Fbits: uint8(8),
  12987. Fval: uint16(56),
  12988. },
  12989. 23: {
  12990. Fbits: uint8(9),
  12991. Fval: uint16(208),
  12992. },
  12993. 24: {
  12994. Fop: uint8(17),
  12995. Fbits: uint8(7),
  12996. Fval: uint16(17),
  12997. },
  12998. 25: {
  12999. Fbits: uint8(8),
  13000. Fval: uint16(104),
  13001. },
  13002. 26: {
  13003. Fbits: uint8(8),
  13004. Fval: uint16(40),
  13005. },
  13006. 27: {
  13007. Fbits: uint8(9),
  13008. Fval: uint16(176),
  13009. },
  13010. 28: {
  13011. Fbits: uint8(8),
  13012. Fval: uint16(8),
  13013. },
  13014. 29: {
  13015. Fbits: uint8(8),
  13016. Fval: uint16(136),
  13017. },
  13018. 30: {
  13019. Fbits: uint8(8),
  13020. Fval: uint16(72),
  13021. },
  13022. 31: {
  13023. Fbits: uint8(9),
  13024. Fval: uint16(240),
  13025. },
  13026. 32: {
  13027. Fop: uint8(16),
  13028. Fbits: uint8(7),
  13029. Fval: uint16(4),
  13030. },
  13031. 33: {
  13032. Fbits: uint8(8),
  13033. Fval: uint16(84),
  13034. },
  13035. 34: {
  13036. Fbits: uint8(8),
  13037. Fval: uint16(20),
  13038. },
  13039. 35: {
  13040. Fop: uint8(21),
  13041. Fbits: uint8(8),
  13042. Fval: uint16(227),
  13043. },
  13044. 36: {
  13045. Fop: uint8(19),
  13046. Fbits: uint8(7),
  13047. Fval: uint16(43),
  13048. },
  13049. 37: {
  13050. Fbits: uint8(8),
  13051. Fval: uint16(116),
  13052. },
  13053. 38: {
  13054. Fbits: uint8(8),
  13055. Fval: uint16(52),
  13056. },
  13057. 39: {
  13058. Fbits: uint8(9),
  13059. Fval: uint16(200),
  13060. },
  13061. 40: {
  13062. Fop: uint8(17),
  13063. Fbits: uint8(7),
  13064. Fval: uint16(13),
  13065. },
  13066. 41: {
  13067. Fbits: uint8(8),
  13068. Fval: uint16(100),
  13069. },
  13070. 42: {
  13071. Fbits: uint8(8),
  13072. Fval: uint16(36),
  13073. },
  13074. 43: {
  13075. Fbits: uint8(9),
  13076. Fval: uint16(168),
  13077. },
  13078. 44: {
  13079. Fbits: uint8(8),
  13080. Fval: uint16(4),
  13081. },
  13082. 45: {
  13083. Fbits: uint8(8),
  13084. Fval: uint16(132),
  13085. },
  13086. 46: {
  13087. Fbits: uint8(8),
  13088. Fval: uint16(68),
  13089. },
  13090. 47: {
  13091. Fbits: uint8(9),
  13092. Fval: uint16(232),
  13093. },
  13094. 48: {
  13095. Fop: uint8(16),
  13096. Fbits: uint8(7),
  13097. Fval: uint16(8),
  13098. },
  13099. 49: {
  13100. Fbits: uint8(8),
  13101. Fval: uint16(92),
  13102. },
  13103. 50: {
  13104. Fbits: uint8(8),
  13105. Fval: uint16(28),
  13106. },
  13107. 51: {
  13108. Fbits: uint8(9),
  13109. Fval: uint16(152),
  13110. },
  13111. 52: {
  13112. Fop: uint8(20),
  13113. Fbits: uint8(7),
  13114. Fval: uint16(83),
  13115. },
  13116. 53: {
  13117. Fbits: uint8(8),
  13118. Fval: uint16(124),
  13119. },
  13120. 54: {
  13121. Fbits: uint8(8),
  13122. Fval: uint16(60),
  13123. },
  13124. 55: {
  13125. Fbits: uint8(9),
  13126. Fval: uint16(216),
  13127. },
  13128. 56: {
  13129. Fop: uint8(18),
  13130. Fbits: uint8(7),
  13131. Fval: uint16(23),
  13132. },
  13133. 57: {
  13134. Fbits: uint8(8),
  13135. Fval: uint16(108),
  13136. },
  13137. 58: {
  13138. Fbits: uint8(8),
  13139. Fval: uint16(44),
  13140. },
  13141. 59: {
  13142. Fbits: uint8(9),
  13143. Fval: uint16(184),
  13144. },
  13145. 60: {
  13146. Fbits: uint8(8),
  13147. Fval: uint16(12),
  13148. },
  13149. 61: {
  13150. Fbits: uint8(8),
  13151. Fval: uint16(140),
  13152. },
  13153. 62: {
  13154. Fbits: uint8(8),
  13155. Fval: uint16(76),
  13156. },
  13157. 63: {
  13158. Fbits: uint8(9),
  13159. Fval: uint16(248),
  13160. },
  13161. 64: {
  13162. Fop: uint8(16),
  13163. Fbits: uint8(7),
  13164. Fval: uint16(3),
  13165. },
  13166. 65: {
  13167. Fbits: uint8(8),
  13168. Fval: uint16(82),
  13169. },
  13170. 66: {
  13171. Fbits: uint8(8),
  13172. Fval: uint16(18),
  13173. },
  13174. 67: {
  13175. Fop: uint8(21),
  13176. Fbits: uint8(8),
  13177. Fval: uint16(163),
  13178. },
  13179. 68: {
  13180. Fop: uint8(19),
  13181. Fbits: uint8(7),
  13182. Fval: uint16(35),
  13183. },
  13184. 69: {
  13185. Fbits: uint8(8),
  13186. Fval: uint16(114),
  13187. },
  13188. 70: {
  13189. Fbits: uint8(8),
  13190. Fval: uint16(50),
  13191. },
  13192. 71: {
  13193. Fbits: uint8(9),
  13194. Fval: uint16(196),
  13195. },
  13196. 72: {
  13197. Fop: uint8(17),
  13198. Fbits: uint8(7),
  13199. Fval: uint16(11),
  13200. },
  13201. 73: {
  13202. Fbits: uint8(8),
  13203. Fval: uint16(98),
  13204. },
  13205. 74: {
  13206. Fbits: uint8(8),
  13207. Fval: uint16(34),
  13208. },
  13209. 75: {
  13210. Fbits: uint8(9),
  13211. Fval: uint16(164),
  13212. },
  13213. 76: {
  13214. Fbits: uint8(8),
  13215. Fval: uint16(2),
  13216. },
  13217. 77: {
  13218. Fbits: uint8(8),
  13219. Fval: uint16(130),
  13220. },
  13221. 78: {
  13222. Fbits: uint8(8),
  13223. Fval: uint16(66),
  13224. },
  13225. 79: {
  13226. Fbits: uint8(9),
  13227. Fval: uint16(228),
  13228. },
  13229. 80: {
  13230. Fop: uint8(16),
  13231. Fbits: uint8(7),
  13232. Fval: uint16(7),
  13233. },
  13234. 81: {
  13235. Fbits: uint8(8),
  13236. Fval: uint16(90),
  13237. },
  13238. 82: {
  13239. Fbits: uint8(8),
  13240. Fval: uint16(26),
  13241. },
  13242. 83: {
  13243. Fbits: uint8(9),
  13244. Fval: uint16(148),
  13245. },
  13246. 84: {
  13247. Fop: uint8(20),
  13248. Fbits: uint8(7),
  13249. Fval: uint16(67),
  13250. },
  13251. 85: {
  13252. Fbits: uint8(8),
  13253. Fval: uint16(122),
  13254. },
  13255. 86: {
  13256. Fbits: uint8(8),
  13257. Fval: uint16(58),
  13258. },
  13259. 87: {
  13260. Fbits: uint8(9),
  13261. Fval: uint16(212),
  13262. },
  13263. 88: {
  13264. Fop: uint8(18),
  13265. Fbits: uint8(7),
  13266. Fval: uint16(19),
  13267. },
  13268. 89: {
  13269. Fbits: uint8(8),
  13270. Fval: uint16(106),
  13271. },
  13272. 90: {
  13273. Fbits: uint8(8),
  13274. Fval: uint16(42),
  13275. },
  13276. 91: {
  13277. Fbits: uint8(9),
  13278. Fval: uint16(180),
  13279. },
  13280. 92: {
  13281. Fbits: uint8(8),
  13282. Fval: uint16(10),
  13283. },
  13284. 93: {
  13285. Fbits: uint8(8),
  13286. Fval: uint16(138),
  13287. },
  13288. 94: {
  13289. Fbits: uint8(8),
  13290. Fval: uint16(74),
  13291. },
  13292. 95: {
  13293. Fbits: uint8(9),
  13294. Fval: uint16(244),
  13295. },
  13296. 96: {
  13297. Fop: uint8(16),
  13298. Fbits: uint8(7),
  13299. Fval: uint16(5),
  13300. },
  13301. 97: {
  13302. Fbits: uint8(8),
  13303. Fval: uint16(86),
  13304. },
  13305. 98: {
  13306. Fbits: uint8(8),
  13307. Fval: uint16(22),
  13308. },
  13309. 99: {
  13310. Fop: uint8(64),
  13311. Fbits: uint8(8),
  13312. },
  13313. 100: {
  13314. Fop: uint8(19),
  13315. Fbits: uint8(7),
  13316. Fval: uint16(51),
  13317. },
  13318. 101: {
  13319. Fbits: uint8(8),
  13320. Fval: uint16(118),
  13321. },
  13322. 102: {
  13323. Fbits: uint8(8),
  13324. Fval: uint16(54),
  13325. },
  13326. 103: {
  13327. Fbits: uint8(9),
  13328. Fval: uint16(204),
  13329. },
  13330. 104: {
  13331. Fop: uint8(17),
  13332. Fbits: uint8(7),
  13333. Fval: uint16(15),
  13334. },
  13335. 105: {
  13336. Fbits: uint8(8),
  13337. Fval: uint16(102),
  13338. },
  13339. 106: {
  13340. Fbits: uint8(8),
  13341. Fval: uint16(38),
  13342. },
  13343. 107: {
  13344. Fbits: uint8(9),
  13345. Fval: uint16(172),
  13346. },
  13347. 108: {
  13348. Fbits: uint8(8),
  13349. Fval: uint16(6),
  13350. },
  13351. 109: {
  13352. Fbits: uint8(8),
  13353. Fval: uint16(134),
  13354. },
  13355. 110: {
  13356. Fbits: uint8(8),
  13357. Fval: uint16(70),
  13358. },
  13359. 111: {
  13360. Fbits: uint8(9),
  13361. Fval: uint16(236),
  13362. },
  13363. 112: {
  13364. Fop: uint8(16),
  13365. Fbits: uint8(7),
  13366. Fval: uint16(9),
  13367. },
  13368. 113: {
  13369. Fbits: uint8(8),
  13370. Fval: uint16(94),
  13371. },
  13372. 114: {
  13373. Fbits: uint8(8),
  13374. Fval: uint16(30),
  13375. },
  13376. 115: {
  13377. Fbits: uint8(9),
  13378. Fval: uint16(156),
  13379. },
  13380. 116: {
  13381. Fop: uint8(20),
  13382. Fbits: uint8(7),
  13383. Fval: uint16(99),
  13384. },
  13385. 117: {
  13386. Fbits: uint8(8),
  13387. Fval: uint16(126),
  13388. },
  13389. 118: {
  13390. Fbits: uint8(8),
  13391. Fval: uint16(62),
  13392. },
  13393. 119: {
  13394. Fbits: uint8(9),
  13395. Fval: uint16(220),
  13396. },
  13397. 120: {
  13398. Fop: uint8(18),
  13399. Fbits: uint8(7),
  13400. Fval: uint16(27),
  13401. },
  13402. 121: {
  13403. Fbits: uint8(8),
  13404. Fval: uint16(110),
  13405. },
  13406. 122: {
  13407. Fbits: uint8(8),
  13408. Fval: uint16(46),
  13409. },
  13410. 123: {
  13411. Fbits: uint8(9),
  13412. Fval: uint16(188),
  13413. },
  13414. 124: {
  13415. Fbits: uint8(8),
  13416. Fval: uint16(14),
  13417. },
  13418. 125: {
  13419. Fbits: uint8(8),
  13420. Fval: uint16(142),
  13421. },
  13422. 126: {
  13423. Fbits: uint8(8),
  13424. Fval: uint16(78),
  13425. },
  13426. 127: {
  13427. Fbits: uint8(9),
  13428. Fval: uint16(252),
  13429. },
  13430. 128: {
  13431. Fop: uint8(96),
  13432. Fbits: uint8(7),
  13433. },
  13434. 129: {
  13435. Fbits: uint8(8),
  13436. Fval: uint16(81),
  13437. },
  13438. 130: {
  13439. Fbits: uint8(8),
  13440. Fval: uint16(17),
  13441. },
  13442. 131: {
  13443. Fop: uint8(21),
  13444. Fbits: uint8(8),
  13445. Fval: uint16(131),
  13446. },
  13447. 132: {
  13448. Fop: uint8(18),
  13449. Fbits: uint8(7),
  13450. Fval: uint16(31),
  13451. },
  13452. 133: {
  13453. Fbits: uint8(8),
  13454. Fval: uint16(113),
  13455. },
  13456. 134: {
  13457. Fbits: uint8(8),
  13458. Fval: uint16(49),
  13459. },
  13460. 135: {
  13461. Fbits: uint8(9),
  13462. Fval: uint16(194),
  13463. },
  13464. 136: {
  13465. Fop: uint8(16),
  13466. Fbits: uint8(7),
  13467. Fval: uint16(10),
  13468. },
  13469. 137: {
  13470. Fbits: uint8(8),
  13471. Fval: uint16(97),
  13472. },
  13473. 138: {
  13474. Fbits: uint8(8),
  13475. Fval: uint16(33),
  13476. },
  13477. 139: {
  13478. Fbits: uint8(9),
  13479. Fval: uint16(162),
  13480. },
  13481. 140: {
  13482. Fbits: uint8(8),
  13483. Fval: uint16(1),
  13484. },
  13485. 141: {
  13486. Fbits: uint8(8),
  13487. Fval: uint16(129),
  13488. },
  13489. 142: {
  13490. Fbits: uint8(8),
  13491. Fval: uint16(65),
  13492. },
  13493. 143: {
  13494. Fbits: uint8(9),
  13495. Fval: uint16(226),
  13496. },
  13497. 144: {
  13498. Fop: uint8(16),
  13499. Fbits: uint8(7),
  13500. Fval: uint16(6),
  13501. },
  13502. 145: {
  13503. Fbits: uint8(8),
  13504. Fval: uint16(89),
  13505. },
  13506. 146: {
  13507. Fbits: uint8(8),
  13508. Fval: uint16(25),
  13509. },
  13510. 147: {
  13511. Fbits: uint8(9),
  13512. Fval: uint16(146),
  13513. },
  13514. 148: {
  13515. Fop: uint8(19),
  13516. Fbits: uint8(7),
  13517. Fval: uint16(59),
  13518. },
  13519. 149: {
  13520. Fbits: uint8(8),
  13521. Fval: uint16(121),
  13522. },
  13523. 150: {
  13524. Fbits: uint8(8),
  13525. Fval: uint16(57),
  13526. },
  13527. 151: {
  13528. Fbits: uint8(9),
  13529. Fval: uint16(210),
  13530. },
  13531. 152: {
  13532. Fop: uint8(17),
  13533. Fbits: uint8(7),
  13534. Fval: uint16(17),
  13535. },
  13536. 153: {
  13537. Fbits: uint8(8),
  13538. Fval: uint16(105),
  13539. },
  13540. 154: {
  13541. Fbits: uint8(8),
  13542. Fval: uint16(41),
  13543. },
  13544. 155: {
  13545. Fbits: uint8(9),
  13546. Fval: uint16(178),
  13547. },
  13548. 156: {
  13549. Fbits: uint8(8),
  13550. Fval: uint16(9),
  13551. },
  13552. 157: {
  13553. Fbits: uint8(8),
  13554. Fval: uint16(137),
  13555. },
  13556. 158: {
  13557. Fbits: uint8(8),
  13558. Fval: uint16(73),
  13559. },
  13560. 159: {
  13561. Fbits: uint8(9),
  13562. Fval: uint16(242),
  13563. },
  13564. 160: {
  13565. Fop: uint8(16),
  13566. Fbits: uint8(7),
  13567. Fval: uint16(4),
  13568. },
  13569. 161: {
  13570. Fbits: uint8(8),
  13571. Fval: uint16(85),
  13572. },
  13573. 162: {
  13574. Fbits: uint8(8),
  13575. Fval: uint16(21),
  13576. },
  13577. 163: {
  13578. Fop: uint8(16),
  13579. Fbits: uint8(8),
  13580. Fval: uint16(258),
  13581. },
  13582. 164: {
  13583. Fop: uint8(19),
  13584. Fbits: uint8(7),
  13585. Fval: uint16(43),
  13586. },
  13587. 165: {
  13588. Fbits: uint8(8),
  13589. Fval: uint16(117),
  13590. },
  13591. 166: {
  13592. Fbits: uint8(8),
  13593. Fval: uint16(53),
  13594. },
  13595. 167: {
  13596. Fbits: uint8(9),
  13597. Fval: uint16(202),
  13598. },
  13599. 168: {
  13600. Fop: uint8(17),
  13601. Fbits: uint8(7),
  13602. Fval: uint16(13),
  13603. },
  13604. 169: {
  13605. Fbits: uint8(8),
  13606. Fval: uint16(101),
  13607. },
  13608. 170: {
  13609. Fbits: uint8(8),
  13610. Fval: uint16(37),
  13611. },
  13612. 171: {
  13613. Fbits: uint8(9),
  13614. Fval: uint16(170),
  13615. },
  13616. 172: {
  13617. Fbits: uint8(8),
  13618. Fval: uint16(5),
  13619. },
  13620. 173: {
  13621. Fbits: uint8(8),
  13622. Fval: uint16(133),
  13623. },
  13624. 174: {
  13625. Fbits: uint8(8),
  13626. Fval: uint16(69),
  13627. },
  13628. 175: {
  13629. Fbits: uint8(9),
  13630. Fval: uint16(234),
  13631. },
  13632. 176: {
  13633. Fop: uint8(16),
  13634. Fbits: uint8(7),
  13635. Fval: uint16(8),
  13636. },
  13637. 177: {
  13638. Fbits: uint8(8),
  13639. Fval: uint16(93),
  13640. },
  13641. 178: {
  13642. Fbits: uint8(8),
  13643. Fval: uint16(29),
  13644. },
  13645. 179: {
  13646. Fbits: uint8(9),
  13647. Fval: uint16(154),
  13648. },
  13649. 180: {
  13650. Fop: uint8(20),
  13651. Fbits: uint8(7),
  13652. Fval: uint16(83),
  13653. },
  13654. 181: {
  13655. Fbits: uint8(8),
  13656. Fval: uint16(125),
  13657. },
  13658. 182: {
  13659. Fbits: uint8(8),
  13660. Fval: uint16(61),
  13661. },
  13662. 183: {
  13663. Fbits: uint8(9),
  13664. Fval: uint16(218),
  13665. },
  13666. 184: {
  13667. Fop: uint8(18),
  13668. Fbits: uint8(7),
  13669. Fval: uint16(23),
  13670. },
  13671. 185: {
  13672. Fbits: uint8(8),
  13673. Fval: uint16(109),
  13674. },
  13675. 186: {
  13676. Fbits: uint8(8),
  13677. Fval: uint16(45),
  13678. },
  13679. 187: {
  13680. Fbits: uint8(9),
  13681. Fval: uint16(186),
  13682. },
  13683. 188: {
  13684. Fbits: uint8(8),
  13685. Fval: uint16(13),
  13686. },
  13687. 189: {
  13688. Fbits: uint8(8),
  13689. Fval: uint16(141),
  13690. },
  13691. 190: {
  13692. Fbits: uint8(8),
  13693. Fval: uint16(77),
  13694. },
  13695. 191: {
  13696. Fbits: uint8(9),
  13697. Fval: uint16(250),
  13698. },
  13699. 192: {
  13700. Fop: uint8(16),
  13701. Fbits: uint8(7),
  13702. Fval: uint16(3),
  13703. },
  13704. 193: {
  13705. Fbits: uint8(8),
  13706. Fval: uint16(83),
  13707. },
  13708. 194: {
  13709. Fbits: uint8(8),
  13710. Fval: uint16(19),
  13711. },
  13712. 195: {
  13713. Fop: uint8(21),
  13714. Fbits: uint8(8),
  13715. Fval: uint16(195),
  13716. },
  13717. 196: {
  13718. Fop: uint8(19),
  13719. Fbits: uint8(7),
  13720. Fval: uint16(35),
  13721. },
  13722. 197: {
  13723. Fbits: uint8(8),
  13724. Fval: uint16(115),
  13725. },
  13726. 198: {
  13727. Fbits: uint8(8),
  13728. Fval: uint16(51),
  13729. },
  13730. 199: {
  13731. Fbits: uint8(9),
  13732. Fval: uint16(198),
  13733. },
  13734. 200: {
  13735. Fop: uint8(17),
  13736. Fbits: uint8(7),
  13737. Fval: uint16(11),
  13738. },
  13739. 201: {
  13740. Fbits: uint8(8),
  13741. Fval: uint16(99),
  13742. },
  13743. 202: {
  13744. Fbits: uint8(8),
  13745. Fval: uint16(35),
  13746. },
  13747. 203: {
  13748. Fbits: uint8(9),
  13749. Fval: uint16(166),
  13750. },
  13751. 204: {
  13752. Fbits: uint8(8),
  13753. Fval: uint16(3),
  13754. },
  13755. 205: {
  13756. Fbits: uint8(8),
  13757. Fval: uint16(131),
  13758. },
  13759. 206: {
  13760. Fbits: uint8(8),
  13761. Fval: uint16(67),
  13762. },
  13763. 207: {
  13764. Fbits: uint8(9),
  13765. Fval: uint16(230),
  13766. },
  13767. 208: {
  13768. Fop: uint8(16),
  13769. Fbits: uint8(7),
  13770. Fval: uint16(7),
  13771. },
  13772. 209: {
  13773. Fbits: uint8(8),
  13774. Fval: uint16(91),
  13775. },
  13776. 210: {
  13777. Fbits: uint8(8),
  13778. Fval: uint16(27),
  13779. },
  13780. 211: {
  13781. Fbits: uint8(9),
  13782. Fval: uint16(150),
  13783. },
  13784. 212: {
  13785. Fop: uint8(20),
  13786. Fbits: uint8(7),
  13787. Fval: uint16(67),
  13788. },
  13789. 213: {
  13790. Fbits: uint8(8),
  13791. Fval: uint16(123),
  13792. },
  13793. 214: {
  13794. Fbits: uint8(8),
  13795. Fval: uint16(59),
  13796. },
  13797. 215: {
  13798. Fbits: uint8(9),
  13799. Fval: uint16(214),
  13800. },
  13801. 216: {
  13802. Fop: uint8(18),
  13803. Fbits: uint8(7),
  13804. Fval: uint16(19),
  13805. },
  13806. 217: {
  13807. Fbits: uint8(8),
  13808. Fval: uint16(107),
  13809. },
  13810. 218: {
  13811. Fbits: uint8(8),
  13812. Fval: uint16(43),
  13813. },
  13814. 219: {
  13815. Fbits: uint8(9),
  13816. Fval: uint16(182),
  13817. },
  13818. 220: {
  13819. Fbits: uint8(8),
  13820. Fval: uint16(11),
  13821. },
  13822. 221: {
  13823. Fbits: uint8(8),
  13824. Fval: uint16(139),
  13825. },
  13826. 222: {
  13827. Fbits: uint8(8),
  13828. Fval: uint16(75),
  13829. },
  13830. 223: {
  13831. Fbits: uint8(9),
  13832. Fval: uint16(246),
  13833. },
  13834. 224: {
  13835. Fop: uint8(16),
  13836. Fbits: uint8(7),
  13837. Fval: uint16(5),
  13838. },
  13839. 225: {
  13840. Fbits: uint8(8),
  13841. Fval: uint16(87),
  13842. },
  13843. 226: {
  13844. Fbits: uint8(8),
  13845. Fval: uint16(23),
  13846. },
  13847. 227: {
  13848. Fop: uint8(64),
  13849. Fbits: uint8(8),
  13850. },
  13851. 228: {
  13852. Fop: uint8(19),
  13853. Fbits: uint8(7),
  13854. Fval: uint16(51),
  13855. },
  13856. 229: {
  13857. Fbits: uint8(8),
  13858. Fval: uint16(119),
  13859. },
  13860. 230: {
  13861. Fbits: uint8(8),
  13862. Fval: uint16(55),
  13863. },
  13864. 231: {
  13865. Fbits: uint8(9),
  13866. Fval: uint16(206),
  13867. },
  13868. 232: {
  13869. Fop: uint8(17),
  13870. Fbits: uint8(7),
  13871. Fval: uint16(15),
  13872. },
  13873. 233: {
  13874. Fbits: uint8(8),
  13875. Fval: uint16(103),
  13876. },
  13877. 234: {
  13878. Fbits: uint8(8),
  13879. Fval: uint16(39),
  13880. },
  13881. 235: {
  13882. Fbits: uint8(9),
  13883. Fval: uint16(174),
  13884. },
  13885. 236: {
  13886. Fbits: uint8(8),
  13887. Fval: uint16(7),
  13888. },
  13889. 237: {
  13890. Fbits: uint8(8),
  13891. Fval: uint16(135),
  13892. },
  13893. 238: {
  13894. Fbits: uint8(8),
  13895. Fval: uint16(71),
  13896. },
  13897. 239: {
  13898. Fbits: uint8(9),
  13899. Fval: uint16(238),
  13900. },
  13901. 240: {
  13902. Fop: uint8(16),
  13903. Fbits: uint8(7),
  13904. Fval: uint16(9),
  13905. },
  13906. 241: {
  13907. Fbits: uint8(8),
  13908. Fval: uint16(95),
  13909. },
  13910. 242: {
  13911. Fbits: uint8(8),
  13912. Fval: uint16(31),
  13913. },
  13914. 243: {
  13915. Fbits: uint8(9),
  13916. Fval: uint16(158),
  13917. },
  13918. 244: {
  13919. Fop: uint8(20),
  13920. Fbits: uint8(7),
  13921. Fval: uint16(99),
  13922. },
  13923. 245: {
  13924. Fbits: uint8(8),
  13925. Fval: uint16(127),
  13926. },
  13927. 246: {
  13928. Fbits: uint8(8),
  13929. Fval: uint16(63),
  13930. },
  13931. 247: {
  13932. Fbits: uint8(9),
  13933. Fval: uint16(222),
  13934. },
  13935. 248: {
  13936. Fop: uint8(18),
  13937. Fbits: uint8(7),
  13938. Fval: uint16(27),
  13939. },
  13940. 249: {
  13941. Fbits: uint8(8),
  13942. Fval: uint16(111),
  13943. },
  13944. 250: {
  13945. Fbits: uint8(8),
  13946. Fval: uint16(47),
  13947. },
  13948. 251: {
  13949. Fbits: uint8(9),
  13950. Fval: uint16(190),
  13951. },
  13952. 252: {
  13953. Fbits: uint8(8),
  13954. Fval: uint16(15),
  13955. },
  13956. 253: {
  13957. Fbits: uint8(8),
  13958. Fval: uint16(143),
  13959. },
  13960. 254: {
  13961. Fbits: uint8(8),
  13962. Fval: uint16(79),
  13963. },
  13964. 255: {
  13965. Fbits: uint8(9),
  13966. Fval: uint16(254),
  13967. },
  13968. 256: {
  13969. Fop: uint8(96),
  13970. Fbits: uint8(7),
  13971. },
  13972. 257: {
  13973. Fbits: uint8(8),
  13974. Fval: uint16(80),
  13975. },
  13976. 258: {
  13977. Fbits: uint8(8),
  13978. Fval: uint16(16),
  13979. },
  13980. 259: {
  13981. Fop: uint8(20),
  13982. Fbits: uint8(8),
  13983. Fval: uint16(115),
  13984. },
  13985. 260: {
  13986. Fop: uint8(18),
  13987. Fbits: uint8(7),
  13988. Fval: uint16(31),
  13989. },
  13990. 261: {
  13991. Fbits: uint8(8),
  13992. Fval: uint16(112),
  13993. },
  13994. 262: {
  13995. Fbits: uint8(8),
  13996. Fval: uint16(48),
  13997. },
  13998. 263: {
  13999. Fbits: uint8(9),
  14000. Fval: uint16(193),
  14001. },
  14002. 264: {
  14003. Fop: uint8(16),
  14004. Fbits: uint8(7),
  14005. Fval: uint16(10),
  14006. },
  14007. 265: {
  14008. Fbits: uint8(8),
  14009. Fval: uint16(96),
  14010. },
  14011. 266: {
  14012. Fbits: uint8(8),
  14013. Fval: uint16(32),
  14014. },
  14015. 267: {
  14016. Fbits: uint8(9),
  14017. Fval: uint16(161),
  14018. },
  14019. 268: {
  14020. Fbits: uint8(8),
  14021. },
  14022. 269: {
  14023. Fbits: uint8(8),
  14024. Fval: uint16(128),
  14025. },
  14026. 270: {
  14027. Fbits: uint8(8),
  14028. Fval: uint16(64),
  14029. },
  14030. 271: {
  14031. Fbits: uint8(9),
  14032. Fval: uint16(225),
  14033. },
  14034. 272: {
  14035. Fop: uint8(16),
  14036. Fbits: uint8(7),
  14037. Fval: uint16(6),
  14038. },
  14039. 273: {
  14040. Fbits: uint8(8),
  14041. Fval: uint16(88),
  14042. },
  14043. 274: {
  14044. Fbits: uint8(8),
  14045. Fval: uint16(24),
  14046. },
  14047. 275: {
  14048. Fbits: uint8(9),
  14049. Fval: uint16(145),
  14050. },
  14051. 276: {
  14052. Fop: uint8(19),
  14053. Fbits: uint8(7),
  14054. Fval: uint16(59),
  14055. },
  14056. 277: {
  14057. Fbits: uint8(8),
  14058. Fval: uint16(120),
  14059. },
  14060. 278: {
  14061. Fbits: uint8(8),
  14062. Fval: uint16(56),
  14063. },
  14064. 279: {
  14065. Fbits: uint8(9),
  14066. Fval: uint16(209),
  14067. },
  14068. 280: {
  14069. Fop: uint8(17),
  14070. Fbits: uint8(7),
  14071. Fval: uint16(17),
  14072. },
  14073. 281: {
  14074. Fbits: uint8(8),
  14075. Fval: uint16(104),
  14076. },
  14077. 282: {
  14078. Fbits: uint8(8),
  14079. Fval: uint16(40),
  14080. },
  14081. 283: {
  14082. Fbits: uint8(9),
  14083. Fval: uint16(177),
  14084. },
  14085. 284: {
  14086. Fbits: uint8(8),
  14087. Fval: uint16(8),
  14088. },
  14089. 285: {
  14090. Fbits: uint8(8),
  14091. Fval: uint16(136),
  14092. },
  14093. 286: {
  14094. Fbits: uint8(8),
  14095. Fval: uint16(72),
  14096. },
  14097. 287: {
  14098. Fbits: uint8(9),
  14099. Fval: uint16(241),
  14100. },
  14101. 288: {
  14102. Fop: uint8(16),
  14103. Fbits: uint8(7),
  14104. Fval: uint16(4),
  14105. },
  14106. 289: {
  14107. Fbits: uint8(8),
  14108. Fval: uint16(84),
  14109. },
  14110. 290: {
  14111. Fbits: uint8(8),
  14112. Fval: uint16(20),
  14113. },
  14114. 291: {
  14115. Fop: uint8(21),
  14116. Fbits: uint8(8),
  14117. Fval: uint16(227),
  14118. },
  14119. 292: {
  14120. Fop: uint8(19),
  14121. Fbits: uint8(7),
  14122. Fval: uint16(43),
  14123. },
  14124. 293: {
  14125. Fbits: uint8(8),
  14126. Fval: uint16(116),
  14127. },
  14128. 294: {
  14129. Fbits: uint8(8),
  14130. Fval: uint16(52),
  14131. },
  14132. 295: {
  14133. Fbits: uint8(9),
  14134. Fval: uint16(201),
  14135. },
  14136. 296: {
  14137. Fop: uint8(17),
  14138. Fbits: uint8(7),
  14139. Fval: uint16(13),
  14140. },
  14141. 297: {
  14142. Fbits: uint8(8),
  14143. Fval: uint16(100),
  14144. },
  14145. 298: {
  14146. Fbits: uint8(8),
  14147. Fval: uint16(36),
  14148. },
  14149. 299: {
  14150. Fbits: uint8(9),
  14151. Fval: uint16(169),
  14152. },
  14153. 300: {
  14154. Fbits: uint8(8),
  14155. Fval: uint16(4),
  14156. },
  14157. 301: {
  14158. Fbits: uint8(8),
  14159. Fval: uint16(132),
  14160. },
  14161. 302: {
  14162. Fbits: uint8(8),
  14163. Fval: uint16(68),
  14164. },
  14165. 303: {
  14166. Fbits: uint8(9),
  14167. Fval: uint16(233),
  14168. },
  14169. 304: {
  14170. Fop: uint8(16),
  14171. Fbits: uint8(7),
  14172. Fval: uint16(8),
  14173. },
  14174. 305: {
  14175. Fbits: uint8(8),
  14176. Fval: uint16(92),
  14177. },
  14178. 306: {
  14179. Fbits: uint8(8),
  14180. Fval: uint16(28),
  14181. },
  14182. 307: {
  14183. Fbits: uint8(9),
  14184. Fval: uint16(153),
  14185. },
  14186. 308: {
  14187. Fop: uint8(20),
  14188. Fbits: uint8(7),
  14189. Fval: uint16(83),
  14190. },
  14191. 309: {
  14192. Fbits: uint8(8),
  14193. Fval: uint16(124),
  14194. },
  14195. 310: {
  14196. Fbits: uint8(8),
  14197. Fval: uint16(60),
  14198. },
  14199. 311: {
  14200. Fbits: uint8(9),
  14201. Fval: uint16(217),
  14202. },
  14203. 312: {
  14204. Fop: uint8(18),
  14205. Fbits: uint8(7),
  14206. Fval: uint16(23),
  14207. },
  14208. 313: {
  14209. Fbits: uint8(8),
  14210. Fval: uint16(108),
  14211. },
  14212. 314: {
  14213. Fbits: uint8(8),
  14214. Fval: uint16(44),
  14215. },
  14216. 315: {
  14217. Fbits: uint8(9),
  14218. Fval: uint16(185),
  14219. },
  14220. 316: {
  14221. Fbits: uint8(8),
  14222. Fval: uint16(12),
  14223. },
  14224. 317: {
  14225. Fbits: uint8(8),
  14226. Fval: uint16(140),
  14227. },
  14228. 318: {
  14229. Fbits: uint8(8),
  14230. Fval: uint16(76),
  14231. },
  14232. 319: {
  14233. Fbits: uint8(9),
  14234. Fval: uint16(249),
  14235. },
  14236. 320: {
  14237. Fop: uint8(16),
  14238. Fbits: uint8(7),
  14239. Fval: uint16(3),
  14240. },
  14241. 321: {
  14242. Fbits: uint8(8),
  14243. Fval: uint16(82),
  14244. },
  14245. 322: {
  14246. Fbits: uint8(8),
  14247. Fval: uint16(18),
  14248. },
  14249. 323: {
  14250. Fop: uint8(21),
  14251. Fbits: uint8(8),
  14252. Fval: uint16(163),
  14253. },
  14254. 324: {
  14255. Fop: uint8(19),
  14256. Fbits: uint8(7),
  14257. Fval: uint16(35),
  14258. },
  14259. 325: {
  14260. Fbits: uint8(8),
  14261. Fval: uint16(114),
  14262. },
  14263. 326: {
  14264. Fbits: uint8(8),
  14265. Fval: uint16(50),
  14266. },
  14267. 327: {
  14268. Fbits: uint8(9),
  14269. Fval: uint16(197),
  14270. },
  14271. 328: {
  14272. Fop: uint8(17),
  14273. Fbits: uint8(7),
  14274. Fval: uint16(11),
  14275. },
  14276. 329: {
  14277. Fbits: uint8(8),
  14278. Fval: uint16(98),
  14279. },
  14280. 330: {
  14281. Fbits: uint8(8),
  14282. Fval: uint16(34),
  14283. },
  14284. 331: {
  14285. Fbits: uint8(9),
  14286. Fval: uint16(165),
  14287. },
  14288. 332: {
  14289. Fbits: uint8(8),
  14290. Fval: uint16(2),
  14291. },
  14292. 333: {
  14293. Fbits: uint8(8),
  14294. Fval: uint16(130),
  14295. },
  14296. 334: {
  14297. Fbits: uint8(8),
  14298. Fval: uint16(66),
  14299. },
  14300. 335: {
  14301. Fbits: uint8(9),
  14302. Fval: uint16(229),
  14303. },
  14304. 336: {
  14305. Fop: uint8(16),
  14306. Fbits: uint8(7),
  14307. Fval: uint16(7),
  14308. },
  14309. 337: {
  14310. Fbits: uint8(8),
  14311. Fval: uint16(90),
  14312. },
  14313. 338: {
  14314. Fbits: uint8(8),
  14315. Fval: uint16(26),
  14316. },
  14317. 339: {
  14318. Fbits: uint8(9),
  14319. Fval: uint16(149),
  14320. },
  14321. 340: {
  14322. Fop: uint8(20),
  14323. Fbits: uint8(7),
  14324. Fval: uint16(67),
  14325. },
  14326. 341: {
  14327. Fbits: uint8(8),
  14328. Fval: uint16(122),
  14329. },
  14330. 342: {
  14331. Fbits: uint8(8),
  14332. Fval: uint16(58),
  14333. },
  14334. 343: {
  14335. Fbits: uint8(9),
  14336. Fval: uint16(213),
  14337. },
  14338. 344: {
  14339. Fop: uint8(18),
  14340. Fbits: uint8(7),
  14341. Fval: uint16(19),
  14342. },
  14343. 345: {
  14344. Fbits: uint8(8),
  14345. Fval: uint16(106),
  14346. },
  14347. 346: {
  14348. Fbits: uint8(8),
  14349. Fval: uint16(42),
  14350. },
  14351. 347: {
  14352. Fbits: uint8(9),
  14353. Fval: uint16(181),
  14354. },
  14355. 348: {
  14356. Fbits: uint8(8),
  14357. Fval: uint16(10),
  14358. },
  14359. 349: {
  14360. Fbits: uint8(8),
  14361. Fval: uint16(138),
  14362. },
  14363. 350: {
  14364. Fbits: uint8(8),
  14365. Fval: uint16(74),
  14366. },
  14367. 351: {
  14368. Fbits: uint8(9),
  14369. Fval: uint16(245),
  14370. },
  14371. 352: {
  14372. Fop: uint8(16),
  14373. Fbits: uint8(7),
  14374. Fval: uint16(5),
  14375. },
  14376. 353: {
  14377. Fbits: uint8(8),
  14378. Fval: uint16(86),
  14379. },
  14380. 354: {
  14381. Fbits: uint8(8),
  14382. Fval: uint16(22),
  14383. },
  14384. 355: {
  14385. Fop: uint8(64),
  14386. Fbits: uint8(8),
  14387. },
  14388. 356: {
  14389. Fop: uint8(19),
  14390. Fbits: uint8(7),
  14391. Fval: uint16(51),
  14392. },
  14393. 357: {
  14394. Fbits: uint8(8),
  14395. Fval: uint16(118),
  14396. },
  14397. 358: {
  14398. Fbits: uint8(8),
  14399. Fval: uint16(54),
  14400. },
  14401. 359: {
  14402. Fbits: uint8(9),
  14403. Fval: uint16(205),
  14404. },
  14405. 360: {
  14406. Fop: uint8(17),
  14407. Fbits: uint8(7),
  14408. Fval: uint16(15),
  14409. },
  14410. 361: {
  14411. Fbits: uint8(8),
  14412. Fval: uint16(102),
  14413. },
  14414. 362: {
  14415. Fbits: uint8(8),
  14416. Fval: uint16(38),
  14417. },
  14418. 363: {
  14419. Fbits: uint8(9),
  14420. Fval: uint16(173),
  14421. },
  14422. 364: {
  14423. Fbits: uint8(8),
  14424. Fval: uint16(6),
  14425. },
  14426. 365: {
  14427. Fbits: uint8(8),
  14428. Fval: uint16(134),
  14429. },
  14430. 366: {
  14431. Fbits: uint8(8),
  14432. Fval: uint16(70),
  14433. },
  14434. 367: {
  14435. Fbits: uint8(9),
  14436. Fval: uint16(237),
  14437. },
  14438. 368: {
  14439. Fop: uint8(16),
  14440. Fbits: uint8(7),
  14441. Fval: uint16(9),
  14442. },
  14443. 369: {
  14444. Fbits: uint8(8),
  14445. Fval: uint16(94),
  14446. },
  14447. 370: {
  14448. Fbits: uint8(8),
  14449. Fval: uint16(30),
  14450. },
  14451. 371: {
  14452. Fbits: uint8(9),
  14453. Fval: uint16(157),
  14454. },
  14455. 372: {
  14456. Fop: uint8(20),
  14457. Fbits: uint8(7),
  14458. Fval: uint16(99),
  14459. },
  14460. 373: {
  14461. Fbits: uint8(8),
  14462. Fval: uint16(126),
  14463. },
  14464. 374: {
  14465. Fbits: uint8(8),
  14466. Fval: uint16(62),
  14467. },
  14468. 375: {
  14469. Fbits: uint8(9),
  14470. Fval: uint16(221),
  14471. },
  14472. 376: {
  14473. Fop: uint8(18),
  14474. Fbits: uint8(7),
  14475. Fval: uint16(27),
  14476. },
  14477. 377: {
  14478. Fbits: uint8(8),
  14479. Fval: uint16(110),
  14480. },
  14481. 378: {
  14482. Fbits: uint8(8),
  14483. Fval: uint16(46),
  14484. },
  14485. 379: {
  14486. Fbits: uint8(9),
  14487. Fval: uint16(189),
  14488. },
  14489. 380: {
  14490. Fbits: uint8(8),
  14491. Fval: uint16(14),
  14492. },
  14493. 381: {
  14494. Fbits: uint8(8),
  14495. Fval: uint16(142),
  14496. },
  14497. 382: {
  14498. Fbits: uint8(8),
  14499. Fval: uint16(78),
  14500. },
  14501. 383: {
  14502. Fbits: uint8(9),
  14503. Fval: uint16(253),
  14504. },
  14505. 384: {
  14506. Fop: uint8(96),
  14507. Fbits: uint8(7),
  14508. },
  14509. 385: {
  14510. Fbits: uint8(8),
  14511. Fval: uint16(81),
  14512. },
  14513. 386: {
  14514. Fbits: uint8(8),
  14515. Fval: uint16(17),
  14516. },
  14517. 387: {
  14518. Fop: uint8(21),
  14519. Fbits: uint8(8),
  14520. Fval: uint16(131),
  14521. },
  14522. 388: {
  14523. Fop: uint8(18),
  14524. Fbits: uint8(7),
  14525. Fval: uint16(31),
  14526. },
  14527. 389: {
  14528. Fbits: uint8(8),
  14529. Fval: uint16(113),
  14530. },
  14531. 390: {
  14532. Fbits: uint8(8),
  14533. Fval: uint16(49),
  14534. },
  14535. 391: {
  14536. Fbits: uint8(9),
  14537. Fval: uint16(195),
  14538. },
  14539. 392: {
  14540. Fop: uint8(16),
  14541. Fbits: uint8(7),
  14542. Fval: uint16(10),
  14543. },
  14544. 393: {
  14545. Fbits: uint8(8),
  14546. Fval: uint16(97),
  14547. },
  14548. 394: {
  14549. Fbits: uint8(8),
  14550. Fval: uint16(33),
  14551. },
  14552. 395: {
  14553. Fbits: uint8(9),
  14554. Fval: uint16(163),
  14555. },
  14556. 396: {
  14557. Fbits: uint8(8),
  14558. Fval: uint16(1),
  14559. },
  14560. 397: {
  14561. Fbits: uint8(8),
  14562. Fval: uint16(129),
  14563. },
  14564. 398: {
  14565. Fbits: uint8(8),
  14566. Fval: uint16(65),
  14567. },
  14568. 399: {
  14569. Fbits: uint8(9),
  14570. Fval: uint16(227),
  14571. },
  14572. 400: {
  14573. Fop: uint8(16),
  14574. Fbits: uint8(7),
  14575. Fval: uint16(6),
  14576. },
  14577. 401: {
  14578. Fbits: uint8(8),
  14579. Fval: uint16(89),
  14580. },
  14581. 402: {
  14582. Fbits: uint8(8),
  14583. Fval: uint16(25),
  14584. },
  14585. 403: {
  14586. Fbits: uint8(9),
  14587. Fval: uint16(147),
  14588. },
  14589. 404: {
  14590. Fop: uint8(19),
  14591. Fbits: uint8(7),
  14592. Fval: uint16(59),
  14593. },
  14594. 405: {
  14595. Fbits: uint8(8),
  14596. Fval: uint16(121),
  14597. },
  14598. 406: {
  14599. Fbits: uint8(8),
  14600. Fval: uint16(57),
  14601. },
  14602. 407: {
  14603. Fbits: uint8(9),
  14604. Fval: uint16(211),
  14605. },
  14606. 408: {
  14607. Fop: uint8(17),
  14608. Fbits: uint8(7),
  14609. Fval: uint16(17),
  14610. },
  14611. 409: {
  14612. Fbits: uint8(8),
  14613. Fval: uint16(105),
  14614. },
  14615. 410: {
  14616. Fbits: uint8(8),
  14617. Fval: uint16(41),
  14618. },
  14619. 411: {
  14620. Fbits: uint8(9),
  14621. Fval: uint16(179),
  14622. },
  14623. 412: {
  14624. Fbits: uint8(8),
  14625. Fval: uint16(9),
  14626. },
  14627. 413: {
  14628. Fbits: uint8(8),
  14629. Fval: uint16(137),
  14630. },
  14631. 414: {
  14632. Fbits: uint8(8),
  14633. Fval: uint16(73),
  14634. },
  14635. 415: {
  14636. Fbits: uint8(9),
  14637. Fval: uint16(243),
  14638. },
  14639. 416: {
  14640. Fop: uint8(16),
  14641. Fbits: uint8(7),
  14642. Fval: uint16(4),
  14643. },
  14644. 417: {
  14645. Fbits: uint8(8),
  14646. Fval: uint16(85),
  14647. },
  14648. 418: {
  14649. Fbits: uint8(8),
  14650. Fval: uint16(21),
  14651. },
  14652. 419: {
  14653. Fop: uint8(16),
  14654. Fbits: uint8(8),
  14655. Fval: uint16(258),
  14656. },
  14657. 420: {
  14658. Fop: uint8(19),
  14659. Fbits: uint8(7),
  14660. Fval: uint16(43),
  14661. },
  14662. 421: {
  14663. Fbits: uint8(8),
  14664. Fval: uint16(117),
  14665. },
  14666. 422: {
  14667. Fbits: uint8(8),
  14668. Fval: uint16(53),
  14669. },
  14670. 423: {
  14671. Fbits: uint8(9),
  14672. Fval: uint16(203),
  14673. },
  14674. 424: {
  14675. Fop: uint8(17),
  14676. Fbits: uint8(7),
  14677. Fval: uint16(13),
  14678. },
  14679. 425: {
  14680. Fbits: uint8(8),
  14681. Fval: uint16(101),
  14682. },
  14683. 426: {
  14684. Fbits: uint8(8),
  14685. Fval: uint16(37),
  14686. },
  14687. 427: {
  14688. Fbits: uint8(9),
  14689. Fval: uint16(171),
  14690. },
  14691. 428: {
  14692. Fbits: uint8(8),
  14693. Fval: uint16(5),
  14694. },
  14695. 429: {
  14696. Fbits: uint8(8),
  14697. Fval: uint16(133),
  14698. },
  14699. 430: {
  14700. Fbits: uint8(8),
  14701. Fval: uint16(69),
  14702. },
  14703. 431: {
  14704. Fbits: uint8(9),
  14705. Fval: uint16(235),
  14706. },
  14707. 432: {
  14708. Fop: uint8(16),
  14709. Fbits: uint8(7),
  14710. Fval: uint16(8),
  14711. },
  14712. 433: {
  14713. Fbits: uint8(8),
  14714. Fval: uint16(93),
  14715. },
  14716. 434: {
  14717. Fbits: uint8(8),
  14718. Fval: uint16(29),
  14719. },
  14720. 435: {
  14721. Fbits: uint8(9),
  14722. Fval: uint16(155),
  14723. },
  14724. 436: {
  14725. Fop: uint8(20),
  14726. Fbits: uint8(7),
  14727. Fval: uint16(83),
  14728. },
  14729. 437: {
  14730. Fbits: uint8(8),
  14731. Fval: uint16(125),
  14732. },
  14733. 438: {
  14734. Fbits: uint8(8),
  14735. Fval: uint16(61),
  14736. },
  14737. 439: {
  14738. Fbits: uint8(9),
  14739. Fval: uint16(219),
  14740. },
  14741. 440: {
  14742. Fop: uint8(18),
  14743. Fbits: uint8(7),
  14744. Fval: uint16(23),
  14745. },
  14746. 441: {
  14747. Fbits: uint8(8),
  14748. Fval: uint16(109),
  14749. },
  14750. 442: {
  14751. Fbits: uint8(8),
  14752. Fval: uint16(45),
  14753. },
  14754. 443: {
  14755. Fbits: uint8(9),
  14756. Fval: uint16(187),
  14757. },
  14758. 444: {
  14759. Fbits: uint8(8),
  14760. Fval: uint16(13),
  14761. },
  14762. 445: {
  14763. Fbits: uint8(8),
  14764. Fval: uint16(141),
  14765. },
  14766. 446: {
  14767. Fbits: uint8(8),
  14768. Fval: uint16(77),
  14769. },
  14770. 447: {
  14771. Fbits: uint8(9),
  14772. Fval: uint16(251),
  14773. },
  14774. 448: {
  14775. Fop: uint8(16),
  14776. Fbits: uint8(7),
  14777. Fval: uint16(3),
  14778. },
  14779. 449: {
  14780. Fbits: uint8(8),
  14781. Fval: uint16(83),
  14782. },
  14783. 450: {
  14784. Fbits: uint8(8),
  14785. Fval: uint16(19),
  14786. },
  14787. 451: {
  14788. Fop: uint8(21),
  14789. Fbits: uint8(8),
  14790. Fval: uint16(195),
  14791. },
  14792. 452: {
  14793. Fop: uint8(19),
  14794. Fbits: uint8(7),
  14795. Fval: uint16(35),
  14796. },
  14797. 453: {
  14798. Fbits: uint8(8),
  14799. Fval: uint16(115),
  14800. },
  14801. 454: {
  14802. Fbits: uint8(8),
  14803. Fval: uint16(51),
  14804. },
  14805. 455: {
  14806. Fbits: uint8(9),
  14807. Fval: uint16(199),
  14808. },
  14809. 456: {
  14810. Fop: uint8(17),
  14811. Fbits: uint8(7),
  14812. Fval: uint16(11),
  14813. },
  14814. 457: {
  14815. Fbits: uint8(8),
  14816. Fval: uint16(99),
  14817. },
  14818. 458: {
  14819. Fbits: uint8(8),
  14820. Fval: uint16(35),
  14821. },
  14822. 459: {
  14823. Fbits: uint8(9),
  14824. Fval: uint16(167),
  14825. },
  14826. 460: {
  14827. Fbits: uint8(8),
  14828. Fval: uint16(3),
  14829. },
  14830. 461: {
  14831. Fbits: uint8(8),
  14832. Fval: uint16(131),
  14833. },
  14834. 462: {
  14835. Fbits: uint8(8),
  14836. Fval: uint16(67),
  14837. },
  14838. 463: {
  14839. Fbits: uint8(9),
  14840. Fval: uint16(231),
  14841. },
  14842. 464: {
  14843. Fop: uint8(16),
  14844. Fbits: uint8(7),
  14845. Fval: uint16(7),
  14846. },
  14847. 465: {
  14848. Fbits: uint8(8),
  14849. Fval: uint16(91),
  14850. },
  14851. 466: {
  14852. Fbits: uint8(8),
  14853. Fval: uint16(27),
  14854. },
  14855. 467: {
  14856. Fbits: uint8(9),
  14857. Fval: uint16(151),
  14858. },
  14859. 468: {
  14860. Fop: uint8(20),
  14861. Fbits: uint8(7),
  14862. Fval: uint16(67),
  14863. },
  14864. 469: {
  14865. Fbits: uint8(8),
  14866. Fval: uint16(123),
  14867. },
  14868. 470: {
  14869. Fbits: uint8(8),
  14870. Fval: uint16(59),
  14871. },
  14872. 471: {
  14873. Fbits: uint8(9),
  14874. Fval: uint16(215),
  14875. },
  14876. 472: {
  14877. Fop: uint8(18),
  14878. Fbits: uint8(7),
  14879. Fval: uint16(19),
  14880. },
  14881. 473: {
  14882. Fbits: uint8(8),
  14883. Fval: uint16(107),
  14884. },
  14885. 474: {
  14886. Fbits: uint8(8),
  14887. Fval: uint16(43),
  14888. },
  14889. 475: {
  14890. Fbits: uint8(9),
  14891. Fval: uint16(183),
  14892. },
  14893. 476: {
  14894. Fbits: uint8(8),
  14895. Fval: uint16(11),
  14896. },
  14897. 477: {
  14898. Fbits: uint8(8),
  14899. Fval: uint16(139),
  14900. },
  14901. 478: {
  14902. Fbits: uint8(8),
  14903. Fval: uint16(75),
  14904. },
  14905. 479: {
  14906. Fbits: uint8(9),
  14907. Fval: uint16(247),
  14908. },
  14909. 480: {
  14910. Fop: uint8(16),
  14911. Fbits: uint8(7),
  14912. Fval: uint16(5),
  14913. },
  14914. 481: {
  14915. Fbits: uint8(8),
  14916. Fval: uint16(87),
  14917. },
  14918. 482: {
  14919. Fbits: uint8(8),
  14920. Fval: uint16(23),
  14921. },
  14922. 483: {
  14923. Fop: uint8(64),
  14924. Fbits: uint8(8),
  14925. },
  14926. 484: {
  14927. Fop: uint8(19),
  14928. Fbits: uint8(7),
  14929. Fval: uint16(51),
  14930. },
  14931. 485: {
  14932. Fbits: uint8(8),
  14933. Fval: uint16(119),
  14934. },
  14935. 486: {
  14936. Fbits: uint8(8),
  14937. Fval: uint16(55),
  14938. },
  14939. 487: {
  14940. Fbits: uint8(9),
  14941. Fval: uint16(207),
  14942. },
  14943. 488: {
  14944. Fop: uint8(17),
  14945. Fbits: uint8(7),
  14946. Fval: uint16(15),
  14947. },
  14948. 489: {
  14949. Fbits: uint8(8),
  14950. Fval: uint16(103),
  14951. },
  14952. 490: {
  14953. Fbits: uint8(8),
  14954. Fval: uint16(39),
  14955. },
  14956. 491: {
  14957. Fbits: uint8(9),
  14958. Fval: uint16(175),
  14959. },
  14960. 492: {
  14961. Fbits: uint8(8),
  14962. Fval: uint16(7),
  14963. },
  14964. 493: {
  14965. Fbits: uint8(8),
  14966. Fval: uint16(135),
  14967. },
  14968. 494: {
  14969. Fbits: uint8(8),
  14970. Fval: uint16(71),
  14971. },
  14972. 495: {
  14973. Fbits: uint8(9),
  14974. Fval: uint16(239),
  14975. },
  14976. 496: {
  14977. Fop: uint8(16),
  14978. Fbits: uint8(7),
  14979. Fval: uint16(9),
  14980. },
  14981. 497: {
  14982. Fbits: uint8(8),
  14983. Fval: uint16(95),
  14984. },
  14985. 498: {
  14986. Fbits: uint8(8),
  14987. Fval: uint16(31),
  14988. },
  14989. 499: {
  14990. Fbits: uint8(9),
  14991. Fval: uint16(159),
  14992. },
  14993. 500: {
  14994. Fop: uint8(20),
  14995. Fbits: uint8(7),
  14996. Fval: uint16(99),
  14997. },
  14998. 501: {
  14999. Fbits: uint8(8),
  15000. Fval: uint16(127),
  15001. },
  15002. 502: {
  15003. Fbits: uint8(8),
  15004. Fval: uint16(63),
  15005. },
  15006. 503: {
  15007. Fbits: uint8(9),
  15008. Fval: uint16(223),
  15009. },
  15010. 504: {
  15011. Fop: uint8(18),
  15012. Fbits: uint8(7),
  15013. Fval: uint16(27),
  15014. },
  15015. 505: {
  15016. Fbits: uint8(8),
  15017. Fval: uint16(111),
  15018. },
  15019. 506: {
  15020. Fbits: uint8(8),
  15021. Fval: uint16(47),
  15022. },
  15023. 507: {
  15024. Fbits: uint8(9),
  15025. Fval: uint16(191),
  15026. },
  15027. 508: {
  15028. Fbits: uint8(8),
  15029. Fval: uint16(15),
  15030. },
  15031. 509: {
  15032. Fbits: uint8(8),
  15033. Fval: uint16(143),
  15034. },
  15035. 510: {
  15036. Fbits: uint8(8),
  15037. Fval: uint16(79),
  15038. },
  15039. 511: {
  15040. Fbits: uint8(9),
  15041. Fval: uint16(255),
  15042. },
  15043. }
  15044. var _distfix1 = [32]Tcode{
  15045. 0: {
  15046. Fop: uint8(16),
  15047. Fbits: uint8(5),
  15048. Fval: uint16(1),
  15049. },
  15050. 1: {
  15051. Fop: uint8(23),
  15052. Fbits: uint8(5),
  15053. Fval: uint16(257),
  15054. },
  15055. 2: {
  15056. Fop: uint8(19),
  15057. Fbits: uint8(5),
  15058. Fval: uint16(17),
  15059. },
  15060. 3: {
  15061. Fop: uint8(27),
  15062. Fbits: uint8(5),
  15063. Fval: uint16(4097),
  15064. },
  15065. 4: {
  15066. Fop: uint8(17),
  15067. Fbits: uint8(5),
  15068. Fval: uint16(5),
  15069. },
  15070. 5: {
  15071. Fop: uint8(25),
  15072. Fbits: uint8(5),
  15073. Fval: uint16(1025),
  15074. },
  15075. 6: {
  15076. Fop: uint8(21),
  15077. Fbits: uint8(5),
  15078. Fval: uint16(65),
  15079. },
  15080. 7: {
  15081. Fop: uint8(29),
  15082. Fbits: uint8(5),
  15083. Fval: uint16(16385),
  15084. },
  15085. 8: {
  15086. Fop: uint8(16),
  15087. Fbits: uint8(5),
  15088. Fval: uint16(3),
  15089. },
  15090. 9: {
  15091. Fop: uint8(24),
  15092. Fbits: uint8(5),
  15093. Fval: uint16(513),
  15094. },
  15095. 10: {
  15096. Fop: uint8(20),
  15097. Fbits: uint8(5),
  15098. Fval: uint16(33),
  15099. },
  15100. 11: {
  15101. Fop: uint8(28),
  15102. Fbits: uint8(5),
  15103. Fval: uint16(8193),
  15104. },
  15105. 12: {
  15106. Fop: uint8(18),
  15107. Fbits: uint8(5),
  15108. Fval: uint16(9),
  15109. },
  15110. 13: {
  15111. Fop: uint8(26),
  15112. Fbits: uint8(5),
  15113. Fval: uint16(2049),
  15114. },
  15115. 14: {
  15116. Fop: uint8(22),
  15117. Fbits: uint8(5),
  15118. Fval: uint16(129),
  15119. },
  15120. 15: {
  15121. Fop: uint8(64),
  15122. Fbits: uint8(5),
  15123. },
  15124. 16: {
  15125. Fop: uint8(16),
  15126. Fbits: uint8(5),
  15127. Fval: uint16(2),
  15128. },
  15129. 17: {
  15130. Fop: uint8(23),
  15131. Fbits: uint8(5),
  15132. Fval: uint16(385),
  15133. },
  15134. 18: {
  15135. Fop: uint8(19),
  15136. Fbits: uint8(5),
  15137. Fval: uint16(25),
  15138. },
  15139. 19: {
  15140. Fop: uint8(27),
  15141. Fbits: uint8(5),
  15142. Fval: uint16(6145),
  15143. },
  15144. 20: {
  15145. Fop: uint8(17),
  15146. Fbits: uint8(5),
  15147. Fval: uint16(7),
  15148. },
  15149. 21: {
  15150. Fop: uint8(25),
  15151. Fbits: uint8(5),
  15152. Fval: uint16(1537),
  15153. },
  15154. 22: {
  15155. Fop: uint8(21),
  15156. Fbits: uint8(5),
  15157. Fval: uint16(97),
  15158. },
  15159. 23: {
  15160. Fop: uint8(29),
  15161. Fbits: uint8(5),
  15162. Fval: uint16(24577),
  15163. },
  15164. 24: {
  15165. Fop: uint8(16),
  15166. Fbits: uint8(5),
  15167. Fval: uint16(4),
  15168. },
  15169. 25: {
  15170. Fop: uint8(24),
  15171. Fbits: uint8(5),
  15172. Fval: uint16(769),
  15173. },
  15174. 26: {
  15175. Fop: uint8(20),
  15176. Fbits: uint8(5),
  15177. Fval: uint16(49),
  15178. },
  15179. 27: {
  15180. Fop: uint8(28),
  15181. Fbits: uint8(5),
  15182. Fval: uint16(12289),
  15183. },
  15184. 28: {
  15185. Fop: uint8(18),
  15186. Fbits: uint8(5),
  15187. Fval: uint16(13),
  15188. },
  15189. 29: {
  15190. Fop: uint8(26),
  15191. Fbits: uint8(5),
  15192. Fval: uint16(3073),
  15193. },
  15194. 30: {
  15195. Fop: uint8(22),
  15196. Fbits: uint8(5),
  15197. Fval: uint16(193),
  15198. },
  15199. 31: {
  15200. Fop: uint8(64),
  15201. Fbits: uint8(5),
  15202. },
  15203. }
  15204. // C documentation
  15205. //
  15206. // /*
  15207. // Update the window with the last wsize (normally 32K) bytes written before
  15208. // returning. If window does not exist yet, create it. This is only called
  15209. // when a window is already in use, or when output has been written during this
  15210. // inflate call, but the end of the deflate stream has not been reached yet.
  15211. // It is also called to create a window for dictionary data when a dictionary
  15212. // is loaded.
  15213. //
  15214. // Providing output buffers larger than 32K to inflate() should provide a speed
  15215. // advantage, since only the last 32K of output is copied to the sliding window
  15216. // upon return from inflate(), and since all distances after the first 32K of
  15217. // output will fall in the output data, making match copies simpler and faster.
  15218. // The advantage may be dependent on the size of the processor's data caches.
  15219. // */
  15220. func _updatewindow(tls *libc.TLS, strm Tz_streamp, end uintptr, copy1 uint32) (r int32) {
  15221. var dist uint32
  15222. var state uintptr
  15223. _, _ = dist, state
  15224. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  15225. /* if it hasn't been done already, allocate space for the window */
  15226. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
  15227. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fwbits, uint32(libc.Uint64FromInt64(1)))
  15228. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
  15229. return int32(1)
  15230. }
  15231. }
  15232. /* if window not in use yet, initialize */
  15233. if (*Tinflate_state)(unsafe.Pointer(state)).Fwsize == uint32(0) {
  15234. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
  15235. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  15236. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  15237. }
  15238. /* copy state->wsize or less output bytes into the circular window */
  15239. if copy1 >= (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  15240. libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize), uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwsize))
  15241. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  15242. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  15243. } else {
  15244. dist = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  15245. if dist > copy1 {
  15246. dist = copy1
  15247. }
  15248. libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), end-uintptr(copy1), uint64(dist))
  15249. copy1 -= dist
  15250. if copy1 != 0 {
  15251. libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr(copy1), uint64(copy1))
  15252. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = copy1
  15253. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  15254. } else {
  15255. *(*uint32)(unsafe.Pointer(state + 68)) += dist
  15256. if (*Tinflate_state)(unsafe.Pointer(state)).Fwnext == (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  15257. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  15258. }
  15259. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  15260. *(*uint32)(unsafe.Pointer(state + 64)) += dist
  15261. }
  15262. }
  15263. }
  15264. return 0
  15265. }
  15266. /* Macros for inflate(): */
  15267. /* check function to use adler32() for zlib or crc32() for gzip */
  15268. /* check macros for header crc */
  15269. /* Load registers with state in inflate() for speed */
  15270. /* Restore state from registers in inflate() */
  15271. /* Clear the input bit accumulator */
  15272. /* Get a byte of input into the bit accumulator, or return from inflate()
  15273. if there is no input available. */
  15274. /* Assure that there are at least n bits in the bit accumulator. If there is
  15275. not enough available input to do that, then return from inflate(). */
  15276. /* Return the low n bits of the bit accumulator (n < 16) */
  15277. /* Remove n bits from the bit accumulator */
  15278. /* Remove zero to seven bits as needed to go to a byte boundary */
  15279. /*
  15280. inflate() uses a state machine to process as much input data and generate as
  15281. much output data as possible before returning. The state machine is
  15282. structured roughly as follows:
  15283. for (;;) switch (state) {
  15284. ...
  15285. case STATEn:
  15286. if (not enough input data or output space to make progress)
  15287. return;
  15288. ... make progress ...
  15289. state = STATEm;
  15290. break;
  15291. ...
  15292. }
  15293. so when inflate() is called again, the same case is attempted again, and
  15294. if the appropriate resources are provided, the machine proceeds to the
  15295. next state. The NEEDBITS() macro is usually the way the state evaluates
  15296. whether it can proceed or should return. NEEDBITS() does the return if
  15297. the requested bits are not available. The typical use of the BITS macros
  15298. is:
  15299. NEEDBITS(n);
  15300. ... do something with BITS(n) ...
  15301. DROPBITS(n);
  15302. where NEEDBITS(n) either returns from inflate() if there isn't enough
  15303. input left to load n bits into the accumulator, or it continues. BITS(n)
  15304. gives the low n bits in the accumulator. When done, DROPBITS(n) drops
  15305. the low n bits off the accumulator. INITBITS() clears the accumulator
  15306. and sets the number of available bits to zero. BYTEBITS() discards just
  15307. enough bits to put the accumulator on a byte boundary. After BYTEBITS()
  15308. and a NEEDBITS(8), then BITS(8) would return the next byte in the stream.
  15309. NEEDBITS(n) uses PULLBYTE() to get an available byte of input, or to return
  15310. if there is no input available. The decoding of variable length codes uses
  15311. PULLBYTE() directly in order to pull just enough bytes to decode the next
  15312. code, and no more.
  15313. Some states loop until they get enough input, making sure that enough
  15314. state information is maintained to continue the loop where it left off
  15315. if NEEDBITS() returns in the loop. For example, want, need, and keep
  15316. would all have to actually be part of the saved state in case NEEDBITS()
  15317. returns:
  15318. case STATEw:
  15319. while (want < need) {
  15320. NEEDBITS(n);
  15321. keep[want++] = BITS(n);
  15322. DROPBITS(n);
  15323. }
  15324. state = STATEx;
  15325. case STATEx:
  15326. As shown above, if the next state is also the next case, then the break
  15327. is omitted.
  15328. A state may also return if there is not enough output space available to
  15329. complete that state. Those states are copying stored data, writing a
  15330. literal byte, and copying a matching string.
  15331. When returning, a "goto inf_leave" is used to update the total counters,
  15332. update the check value, and determine whether any progress has been made
  15333. during that inflate() call in order to return the proper return code.
  15334. Progress is defined as a change in either strm->avail_in or strm->avail_out.
  15335. When there is a window, goto inf_leave will update the window with the last
  15336. output written. If a goto inf_leave occurs in the middle of decompression
  15337. and there is no window currently, goto inf_leave will create one and copy
  15338. output to the window for the next call of inflate().
  15339. In this implementation, the flush parameter of inflate() only affects the
  15340. return code (per zlib.h). inflate() always writes as much as possible to
  15341. strm->next_out, given the space available and the provided input--the effect
  15342. documented in zlib.h of Z_SYNC_FLUSH. Furthermore, inflate() always defers
  15343. the allocation of and copying into a sliding window until necessary, which
  15344. provides the effect documented in zlib.h for Z_FINISH when the entire input
  15345. stream available. So the only thing the flush parameter actually does is:
  15346. when flush is set to Z_FINISH, inflate() cannot return Z_OK. Instead it
  15347. will return Z_BUF_ERROR if it has not reached the end of the stream.
  15348. */
  15349. func Xinflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
  15350. bp := tls.Alloc(16)
  15351. defer tls.Free(16)
  15352. var bits, copy1, have, in, left, len1, out, v46, v48, v49, v50, v52, v53, v64, v66, v70, v75, v76, v90 uint32
  15353. var from, next, put, state, v100, v36, v42, v43, v44, v45, v51, v54, v55, v57, v60, v61, v62, v63, v65, v67, v69, v71, v72, v73, v74, v77, v79, v81, v82, v85, v87, v88, v92, v93, v94, v95, p83, p89 uintptr
  15354. var here, last Tcode
  15355. var hold, v101, v102, v37, v56, v58, v59, v96, v97, v98 uint64
  15356. var ret, v103, v104, v105, v38 int32
  15357. var v47, v99 bool
  15358. var _ /* hbuf at bp+0 */ [4]uint8
  15359. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bits, copy1, from, have, here, hold, in, last, left, len1, next, out, put, ret, state, v100, v101, v102, v103, v104, v105, v36, v37, v38, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63, v64, v65, v66, v67, v69, v70, v71, v72, v73, v74, v75, v76, v77, v79, v81, v82, v85, v87, v88, v90, v92, v93, v94, v95, v96, v97, v98, v99, p83, p89 /* buffer for gzip header crc calculation */
  15360. if _inflateStateCheck(tls, strm) != 0 || (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in == uintptr(m_Z_NULL) && (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) {
  15361. return -int32(2)
  15362. }
  15363. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  15364. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  15365. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
  15366. } /* skip check */
  15367. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  15368. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  15369. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  15370. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  15371. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  15372. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  15373. in = have
  15374. out = left
  15375. ret = m_Z_OK
  15376. for {
  15377. switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
  15378. case int32(_HEAD):
  15379. goto _2
  15380. case int32(_FLAGS):
  15381. goto _3
  15382. case int32(_TIME):
  15383. goto _4
  15384. case int32(_OS):
  15385. goto _5
  15386. case int32(_EXLEN):
  15387. goto _6
  15388. case int32(_EXTRA):
  15389. goto _7
  15390. case int32(_NAME):
  15391. goto _8
  15392. case int32(_COMMENT):
  15393. goto _9
  15394. case int32(_HCRC):
  15395. goto _10
  15396. case int32(_DICTID):
  15397. goto _11
  15398. case int32(_DICT):
  15399. goto _12
  15400. case int32(_TYPE):
  15401. goto _13
  15402. case int32(_TYPEDO):
  15403. goto _14
  15404. case int32(_STORED):
  15405. goto _15
  15406. case int32(_COPY_):
  15407. goto _16
  15408. case int32(_COPY):
  15409. goto _17
  15410. case int32(_TABLE):
  15411. goto _18
  15412. case int32(_LENLENS):
  15413. goto _19
  15414. case int32(_CODELENS):
  15415. goto _20
  15416. case int32(_LEN_):
  15417. goto _21
  15418. case int32(_LEN):
  15419. goto _22
  15420. case int32(_LENEXT):
  15421. goto _23
  15422. case int32(_DIST):
  15423. goto _24
  15424. case int32(_DISTEXT):
  15425. goto _25
  15426. case int32(_MATCH):
  15427. goto _26
  15428. case int32(_LIT):
  15429. goto _27
  15430. case int32(_CHECK):
  15431. goto _28
  15432. case int32(_LENGTH):
  15433. goto _29
  15434. case int32(_DONE):
  15435. goto _30
  15436. case int32(_BAD):
  15437. goto _31
  15438. case int32(_MEM):
  15439. goto _32
  15440. default:
  15441. goto _33
  15442. case int32(_SYNC):
  15443. goto _34
  15444. }
  15445. goto _35
  15446. _2:
  15447. ;
  15448. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap == 0 {
  15449. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
  15450. goto _35
  15451. }
  15452. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15453. if have == uint32(0) {
  15454. goto inf_leave
  15455. }
  15456. have--
  15457. v36 = next
  15458. next++
  15459. hold += uint64(*(*uint8)(unsafe.Pointer(v36))) << bits
  15460. bits += uint32(8)
  15461. }
  15462. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) != 0 && hold == uint64(0x8b1f) { /* gzip header */
  15463. if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
  15464. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = uint32(15)
  15465. }
  15466. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15467. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15468. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15469. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15470. hold = uint64(0)
  15471. bits = uint32(0)
  15472. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_FLAGS)
  15473. goto _35
  15474. }
  15475. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15476. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = -int32(1)
  15477. }
  15478. if !((*Tinflate_state)(unsafe.Pointer(state)).Fwrap&libc.Int32FromInt32(1) != 0) || (uint64(uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(8)-libc.Uint32FromInt32(1))<<libc.Int32FromInt32(8))+hold>>int32(8))%uint64(31) != 0 {
  15479. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 308
  15480. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15481. goto _35
  15482. }
  15483. if uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) != uint32(m_Z_DEFLATED) {
  15484. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
  15485. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15486. goto _35
  15487. }
  15488. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  15489. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  15490. len1 = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(8)
  15491. if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
  15492. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = len1
  15493. }
  15494. if len1 > uint32(15) || len1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwbits {
  15495. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 358
  15496. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15497. goto _35
  15498. }
  15499. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(1) << len1
  15500. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = 0 /* indicate zlib header */
  15501. v37 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15502. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v37
  15503. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v37
  15504. if hold&uint64(0x200) != 0 {
  15505. v38 = int32(_DICTID)
  15506. } else {
  15507. v38 = int32(_TYPE)
  15508. }
  15509. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = v38
  15510. hold = uint64(0)
  15511. bits = uint32(0)
  15512. goto _35
  15513. _3:
  15514. ;
  15515. _41:
  15516. ;
  15517. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15518. if have == uint32(0) {
  15519. goto inf_leave
  15520. }
  15521. have--
  15522. v42 = next
  15523. next++
  15524. hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
  15525. bits += uint32(8)
  15526. }
  15527. goto _40
  15528. _40:
  15529. ;
  15530. if 0 != 0 {
  15531. goto _41
  15532. }
  15533. goto _39
  15534. _39:
  15535. ;
  15536. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = libc.Int32FromUint64(hold)
  15537. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xff) != int32(m_Z_DEFLATED) {
  15538. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
  15539. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15540. goto _35
  15541. }
  15542. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xe000) != 0 {
  15543. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 378
  15544. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15545. goto _35
  15546. }
  15547. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15548. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftext = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(1))
  15549. }
  15550. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15551. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15552. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15553. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15554. }
  15555. hold = uint64(0)
  15556. bits = uint32(0)
  15557. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TIME)
  15558. /* fallthrough */
  15559. _4:
  15560. ;
  15561. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  15562. if have == uint32(0) {
  15563. goto inf_leave
  15564. }
  15565. have--
  15566. v43 = next
  15567. next++
  15568. hold += uint64(*(*uint8)(unsafe.Pointer(v43))) << bits
  15569. bits += uint32(8)
  15570. }
  15571. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15572. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftime = hold
  15573. }
  15574. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15575. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15576. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15577. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(2)] = uint8(hold >> libc.Int32FromInt32(16))
  15578. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(3)] = uint8(hold >> libc.Int32FromInt32(24))
  15579. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(4))
  15580. }
  15581. hold = uint64(0)
  15582. bits = uint32(0)
  15583. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_OS)
  15584. /* fallthrough */
  15585. _5:
  15586. ;
  15587. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15588. if have == uint32(0) {
  15589. goto inf_leave
  15590. }
  15591. have--
  15592. v44 = next
  15593. next++
  15594. hold += uint64(*(*uint8)(unsafe.Pointer(v44))) << bits
  15595. bits += uint32(8)
  15596. }
  15597. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15598. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fxflags = libc.Int32FromUint64(hold & libc.Uint64FromInt32(0xff))
  15599. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fos = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8))
  15600. }
  15601. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15602. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15603. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15604. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15605. }
  15606. hold = uint64(0)
  15607. bits = uint32(0)
  15608. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXLEN)
  15609. /* fallthrough */
  15610. _6:
  15611. ;
  15612. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
  15613. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15614. if have == uint32(0) {
  15615. goto inf_leave
  15616. }
  15617. have--
  15618. v45 = next
  15619. next++
  15620. hold += uint64(*(*uint8)(unsafe.Pointer(v45))) << bits
  15621. bits += uint32(8)
  15622. }
  15623. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold)
  15624. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15625. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len = uint32(hold)
  15626. }
  15627. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15628. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15629. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15630. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15631. }
  15632. hold = uint64(0)
  15633. bits = uint32(0)
  15634. } else {
  15635. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15636. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra = uintptr(m_Z_NULL)
  15637. }
  15638. }
  15639. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXTRA)
  15640. /* fallthrough */
  15641. _7:
  15642. ;
  15643. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
  15644. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  15645. if copy1 > have {
  15646. copy1 = have
  15647. }
  15648. if copy1 != 0 {
  15649. if v47 = (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) && (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra != uintptr(m_Z_NULL); v47 {
  15650. v46 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len - (*Tinflate_state)(unsafe.Pointer(state)).Flength
  15651. len1 = v46
  15652. }
  15653. if v47 && v46 < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
  15654. if len1+copy1 > (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
  15655. v48 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max - len1
  15656. } else {
  15657. v48 = copy1
  15658. }
  15659. libc.Xmemcpy(tls, (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra+uintptr(len1), next, uint64(v48))
  15660. }
  15661. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15662. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  15663. }
  15664. have -= copy1
  15665. next += uintptr(copy1)
  15666. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  15667. }
  15668. if (*Tinflate_state)(unsafe.Pointer(state)).Flength != 0 {
  15669. goto inf_leave
  15670. }
  15671. }
  15672. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
  15673. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_NAME)
  15674. /* fallthrough */
  15675. _8:
  15676. ;
  15677. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0800) != 0 {
  15678. if have == uint32(0) {
  15679. goto inf_leave
  15680. }
  15681. copy1 = uint32(0)
  15682. for cond := true; cond; cond = len1 != 0 && copy1 < have {
  15683. v49 = copy1
  15684. copy1++
  15685. len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v49))))
  15686. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) && (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Flength < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname_max {
  15687. v51 = state + 92
  15688. v50 = *(*uint32)(unsafe.Pointer(v51))
  15689. *(*uint32)(unsafe.Pointer(v51))++
  15690. *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname + uintptr(v50))) = uint8(len1)
  15691. }
  15692. }
  15693. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15694. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  15695. }
  15696. have -= copy1
  15697. next += uintptr(copy1)
  15698. if len1 != 0 {
  15699. goto inf_leave
  15700. }
  15701. } else {
  15702. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15703. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname = uintptr(m_Z_NULL)
  15704. }
  15705. }
  15706. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
  15707. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COMMENT)
  15708. /* fallthrough */
  15709. _9:
  15710. ;
  15711. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x1000) != 0 {
  15712. if have == uint32(0) {
  15713. goto inf_leave
  15714. }
  15715. copy1 = uint32(0)
  15716. for cond := true; cond; cond = len1 != 0 && copy1 < have {
  15717. v52 = copy1
  15718. copy1++
  15719. len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v52))))
  15720. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) && (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Flength < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomm_max {
  15721. v54 = state + 92
  15722. v53 = *(*uint32)(unsafe.Pointer(v54))
  15723. *(*uint32)(unsafe.Pointer(v54))++
  15724. *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment + uintptr(v53))) = uint8(len1)
  15725. }
  15726. }
  15727. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15728. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  15729. }
  15730. have -= copy1
  15731. next += uintptr(copy1)
  15732. if len1 != 0 {
  15733. goto inf_leave
  15734. }
  15735. } else {
  15736. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15737. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment = uintptr(m_Z_NULL)
  15738. }
  15739. }
  15740. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HCRC)
  15741. /* fallthrough */
  15742. _10:
  15743. ;
  15744. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 {
  15745. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15746. if have == uint32(0) {
  15747. goto inf_leave
  15748. }
  15749. have--
  15750. v55 = next
  15751. next++
  15752. hold += uint64(*(*uint8)(unsafe.Pointer(v55))) << bits
  15753. bits += uint32(8)
  15754. }
  15755. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck&uint64(0xffff) {
  15756. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 403
  15757. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15758. goto _35
  15759. }
  15760. hold = uint64(0)
  15761. bits = uint32(0)
  15762. }
  15763. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15764. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fhcrc = (*Tinflate_state)(unsafe.Pointer(state)).Fflags >> libc.Int32FromInt32(9) & libc.Int32FromInt32(1)
  15765. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = int32(1)
  15766. }
  15767. v56 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15768. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v56
  15769. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v56
  15770. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  15771. goto _35
  15772. _11:
  15773. ;
  15774. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  15775. if have == uint32(0) {
  15776. goto inf_leave
  15777. }
  15778. have--
  15779. v57 = next
  15780. next++
  15781. hold += uint64(*(*uint8)(unsafe.Pointer(v57))) << bits
  15782. bits += uint32(8)
  15783. }
  15784. v58 = hold>>libc.Int32FromInt32(24)&libc.Uint64FromInt32(0xff) + hold>>libc.Int32FromInt32(8)&libc.Uint64FromInt32(0xff00) + hold&libc.Uint64FromInt32(0xff00)<<libc.Int32FromInt32(8) + hold&libc.Uint64FromInt32(0xff)<<libc.Int32FromInt32(24)
  15785. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v58
  15786. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v58
  15787. hold = uint64(0)
  15788. bits = uint32(0)
  15789. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DICT)
  15790. /* fallthrough */
  15791. _12:
  15792. ;
  15793. if (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict == 0 {
  15794. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  15795. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  15796. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  15797. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  15798. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  15799. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  15800. return int32(m_Z_NEED_DICT)
  15801. }
  15802. v59 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15803. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v59
  15804. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v59
  15805. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  15806. /* fallthrough */
  15807. _13:
  15808. ;
  15809. if flush == int32(m_Z_BLOCK) || flush == int32(m_Z_TREES) {
  15810. goto inf_leave
  15811. }
  15812. /* fallthrough */
  15813. _14:
  15814. ;
  15815. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  15816. hold >>= uint64(bits & uint32(7))
  15817. bits -= bits & uint32(7)
  15818. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CHECK)
  15819. goto _35
  15820. }
  15821. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  15822. if have == uint32(0) {
  15823. goto inf_leave
  15824. }
  15825. have--
  15826. v60 = next
  15827. next++
  15828. hold += uint64(*(*uint8)(unsafe.Pointer(v60))) << bits
  15829. bits += uint32(8)
  15830. }
  15831. (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
  15832. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
  15833. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
  15834. switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
  15835. case uint32(0): /* stored block */
  15836. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
  15837. case uint32(1): /* fixed block */
  15838. _fixedtables1(tls, state)
  15839. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_) /* decode codes */
  15840. if flush == int32(m_Z_TREES) {
  15841. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  15842. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  15843. goto inf_leave
  15844. }
  15845. case uint32(2): /* dynamic block */
  15846. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
  15847. case uint32(3):
  15848. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
  15849. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15850. }
  15851. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  15852. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  15853. goto _35
  15854. _15:
  15855. ;
  15856. hold >>= uint64(bits & uint32(7))
  15857. bits -= bits & uint32(7) /* go to byte boundary */
  15858. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  15859. if have == uint32(0) {
  15860. goto inf_leave
  15861. }
  15862. have--
  15863. v61 = next
  15864. next++
  15865. hold += uint64(*(*uint8)(unsafe.Pointer(v61))) << bits
  15866. bits += uint32(8)
  15867. }
  15868. if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
  15869. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
  15870. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15871. goto _35
  15872. }
  15873. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
  15874. hold = uint64(0)
  15875. bits = uint32(0)
  15876. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY_)
  15877. if flush == int32(m_Z_TREES) {
  15878. goto inf_leave
  15879. }
  15880. /* fallthrough */
  15881. _16:
  15882. ;
  15883. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY)
  15884. /* fallthrough */
  15885. _17:
  15886. ;
  15887. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  15888. if copy1 != 0 {
  15889. if copy1 > have {
  15890. copy1 = have
  15891. }
  15892. if copy1 > left {
  15893. copy1 = left
  15894. }
  15895. if copy1 == uint32(0) {
  15896. goto inf_leave
  15897. }
  15898. libc.Xmemcpy(tls, put, next, uint64(copy1))
  15899. have -= copy1
  15900. next += uintptr(copy1)
  15901. left -= copy1
  15902. put += uintptr(copy1)
  15903. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  15904. goto _35
  15905. }
  15906. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  15907. goto _35
  15908. _18:
  15909. ;
  15910. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
  15911. if have == uint32(0) {
  15912. goto inf_leave
  15913. }
  15914. have--
  15915. v62 = next
  15916. next++
  15917. hold += uint64(*(*uint8)(unsafe.Pointer(v62))) << bits
  15918. bits += uint32(8)
  15919. }
  15920. (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
  15921. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  15922. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  15923. (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
  15924. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  15925. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  15926. (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
  15927. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  15928. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  15929. if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
  15930. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
  15931. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15932. goto _35
  15933. }
  15934. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  15935. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENLENS)
  15936. /* fallthrough */
  15937. _19:
  15938. ;
  15939. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
  15940. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  15941. if have == uint32(0) {
  15942. goto inf_leave
  15943. }
  15944. have--
  15945. v63 = next
  15946. next++
  15947. hold += uint64(*(*uint8)(unsafe.Pointer(v63))) << bits
  15948. bits += uint32(8)
  15949. }
  15950. v65 = state + 140
  15951. v64 = *(*uint32)(unsafe.Pointer(v65))
  15952. *(*uint32)(unsafe.Pointer(v65))++
  15953. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v64])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
  15954. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  15955. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  15956. }
  15957. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
  15958. v67 = state + 140
  15959. v66 = *(*uint32)(unsafe.Pointer(v67))
  15960. *(*uint32)(unsafe.Pointer(v67))++
  15961. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v66])*2)) = uint16(0)
  15962. }
  15963. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  15964. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  15965. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
  15966. ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
  15967. if ret != 0 {
  15968. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
  15969. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15970. goto _35
  15971. }
  15972. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  15973. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CODELENS)
  15974. /* fallthrough */
  15975. _20:
  15976. ;
  15977. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  15978. for {
  15979. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  15980. if uint32(here.Fbits) <= bits {
  15981. break
  15982. }
  15983. if have == uint32(0) {
  15984. goto inf_leave
  15985. }
  15986. have--
  15987. v69 = next
  15988. next++
  15989. hold += uint64(*(*uint8)(unsafe.Pointer(v69))) << bits
  15990. bits += uint32(8)
  15991. goto _68
  15992. _68:
  15993. }
  15994. if libc.Int32FromUint16(here.Fval) < int32(16) {
  15995. hold >>= uint64(here.Fbits)
  15996. bits -= uint32(here.Fbits)
  15997. v71 = state + 140
  15998. v70 = *(*uint32)(unsafe.Pointer(v71))
  15999. *(*uint32)(unsafe.Pointer(v71))++
  16000. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v70)*2)) = here.Fval
  16001. } else {
  16002. if libc.Int32FromUint16(here.Fval) == int32(16) {
  16003. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
  16004. if have == uint32(0) {
  16005. goto inf_leave
  16006. }
  16007. have--
  16008. v72 = next
  16009. next++
  16010. hold += uint64(*(*uint8)(unsafe.Pointer(v72))) << bits
  16011. bits += uint32(8)
  16012. }
  16013. hold >>= uint64(here.Fbits)
  16014. bits -= uint32(here.Fbits)
  16015. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
  16016. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  16017. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16018. break
  16019. }
  16020. len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
  16021. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
  16022. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  16023. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  16024. } else {
  16025. if libc.Int32FromUint16(here.Fval) == int32(17) {
  16026. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
  16027. if have == uint32(0) {
  16028. goto inf_leave
  16029. }
  16030. have--
  16031. v73 = next
  16032. next++
  16033. hold += uint64(*(*uint8)(unsafe.Pointer(v73))) << bits
  16034. bits += uint32(8)
  16035. }
  16036. hold >>= uint64(here.Fbits)
  16037. bits -= uint32(here.Fbits)
  16038. len1 = uint32(0)
  16039. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
  16040. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  16041. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  16042. } else {
  16043. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
  16044. if have == uint32(0) {
  16045. goto inf_leave
  16046. }
  16047. have--
  16048. v74 = next
  16049. next++
  16050. hold += uint64(*(*uint8)(unsafe.Pointer(v74))) << bits
  16051. bits += uint32(8)
  16052. }
  16053. hold >>= uint64(here.Fbits)
  16054. bits -= uint32(here.Fbits)
  16055. len1 = uint32(0)
  16056. copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
  16057. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
  16058. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
  16059. }
  16060. }
  16061. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  16062. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  16063. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16064. break
  16065. }
  16066. for {
  16067. v75 = copy1
  16068. copy1--
  16069. if !(v75 != 0) {
  16070. break
  16071. }
  16072. v77 = state + 140
  16073. v76 = *(*uint32)(unsafe.Pointer(v77))
  16074. *(*uint32)(unsafe.Pointer(v77))++
  16075. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v76)*2)) = uint16(len1)
  16076. }
  16077. }
  16078. }
  16079. /* handle error breaks in while */
  16080. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
  16081. goto _35
  16082. }
  16083. /* check for end-of-block code (better have one) */
  16084. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
  16085. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
  16086. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16087. goto _35
  16088. }
  16089. /* build code tables -- note: do not change the lenbits or distbits
  16090. values here (9 and 6) without reading the comments in inftrees.h
  16091. concerning the ENOUGH constants, which depend on those values */
  16092. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  16093. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  16094. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  16095. ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
  16096. if ret != 0 {
  16097. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
  16098. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16099. goto _35
  16100. }
  16101. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  16102. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
  16103. ret = Xinflate_table(tls, int32(_DISTS), state+152+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fnlen)*2, (*Tinflate_state)(unsafe.Pointer(state)).Fndist, state+144, state+124, state+792)
  16104. if ret != 0 {
  16105. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
  16106. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16107. goto _35
  16108. }
  16109. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_)
  16110. if flush == int32(m_Z_TREES) {
  16111. goto inf_leave
  16112. }
  16113. /* fallthrough */
  16114. _21:
  16115. ;
  16116. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  16117. /* fallthrough */
  16118. _22:
  16119. ;
  16120. if have >= uint32(6) && left >= uint32(258) {
  16121. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  16122. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  16123. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  16124. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  16125. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  16126. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  16127. Xinflate_fast(tls, strm, out)
  16128. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  16129. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  16130. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  16131. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  16132. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  16133. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  16134. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  16135. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  16136. }
  16137. goto _35
  16138. }
  16139. (*Tinflate_state)(unsafe.Pointer(state)).Fback = 0
  16140. for {
  16141. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  16142. if uint32(here.Fbits) <= bits {
  16143. break
  16144. }
  16145. if have == uint32(0) {
  16146. goto inf_leave
  16147. }
  16148. have--
  16149. v79 = next
  16150. next++
  16151. hold += uint64(*(*uint8)(unsafe.Pointer(v79))) << bits
  16152. bits += uint32(8)
  16153. goto _78
  16154. _78:
  16155. }
  16156. if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  16157. last = here
  16158. for {
  16159. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  16160. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  16161. break
  16162. }
  16163. if have == uint32(0) {
  16164. goto inf_leave
  16165. }
  16166. have--
  16167. v81 = next
  16168. next++
  16169. hold += uint64(*(*uint8)(unsafe.Pointer(v81))) << bits
  16170. bits += uint32(8)
  16171. goto _80
  16172. _80:
  16173. }
  16174. hold >>= uint64(last.Fbits)
  16175. bits -= uint32(last.Fbits)
  16176. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
  16177. }
  16178. hold >>= uint64(here.Fbits)
  16179. bits -= uint32(here.Fbits)
  16180. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
  16181. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
  16182. if libc.Int32FromUint8(here.Fop) == 0 {
  16183. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LIT)
  16184. goto _35
  16185. }
  16186. if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
  16187. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  16188. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  16189. goto _35
  16190. }
  16191. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  16192. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  16193. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16194. goto _35
  16195. }
  16196. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  16197. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENEXT)
  16198. /* fallthrough */
  16199. _23:
  16200. ;
  16201. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
  16202. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  16203. if have == uint32(0) {
  16204. goto inf_leave
  16205. }
  16206. have--
  16207. v82 = next
  16208. next++
  16209. hold += uint64(*(*uint8)(unsafe.Pointer(v82))) << bits
  16210. bits += uint32(8)
  16211. }
  16212. *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  16213. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16214. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  16215. p83 = state + 7148
  16216. *(*int32)(unsafe.Pointer(p83)) = int32(uint32(*(*int32)(unsafe.Pointer(p83))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16217. }
  16218. (*Tinflate_state)(unsafe.Pointer(state)).Fwas = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16219. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DIST)
  16220. /* fallthrough */
  16221. _24:
  16222. ;
  16223. for {
  16224. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits-libc.Uint32FromInt32(1)))*4))
  16225. if uint32(here.Fbits) <= bits {
  16226. break
  16227. }
  16228. if have == uint32(0) {
  16229. goto inf_leave
  16230. }
  16231. have--
  16232. v85 = next
  16233. next++
  16234. hold += uint64(*(*uint8)(unsafe.Pointer(v85))) << bits
  16235. bits += uint32(8)
  16236. goto _84
  16237. _84:
  16238. }
  16239. if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  16240. last = here
  16241. for {
  16242. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  16243. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  16244. break
  16245. }
  16246. if have == uint32(0) {
  16247. goto inf_leave
  16248. }
  16249. have--
  16250. v87 = next
  16251. next++
  16252. hold += uint64(*(*uint8)(unsafe.Pointer(v87))) << bits
  16253. bits += uint32(8)
  16254. goto _86
  16255. _86:
  16256. }
  16257. hold >>= uint64(last.Fbits)
  16258. bits -= uint32(last.Fbits)
  16259. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
  16260. }
  16261. hold >>= uint64(here.Fbits)
  16262. bits -= uint32(here.Fbits)
  16263. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
  16264. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  16265. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  16266. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16267. goto _35
  16268. }
  16269. (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
  16270. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  16271. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DISTEXT)
  16272. /* fallthrough */
  16273. _25:
  16274. ;
  16275. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
  16276. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  16277. if have == uint32(0) {
  16278. goto inf_leave
  16279. }
  16280. have--
  16281. v88 = next
  16282. next++
  16283. hold += uint64(*(*uint8)(unsafe.Pointer(v88))) << bits
  16284. bits += uint32(8)
  16285. }
  16286. *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  16287. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16288. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  16289. p89 = state + 7148
  16290. *(*int32)(unsafe.Pointer(p89)) = int32(uint32(*(*int32)(unsafe.Pointer(p89))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16291. }
  16292. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MATCH)
  16293. /* fallthrough */
  16294. _26:
  16295. ;
  16296. if left == uint32(0) {
  16297. goto inf_leave
  16298. }
  16299. copy1 = out - left
  16300. if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > copy1 { /* copy from window */
  16301. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Foffset - copy1
  16302. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwhave {
  16303. if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
  16304. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  16305. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16306. goto _35
  16307. }
  16308. }
  16309. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwnext {
  16310. copy1 -= (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  16311. from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize-copy1)
  16312. } else {
  16313. from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext-copy1)
  16314. }
  16315. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
  16316. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16317. }
  16318. } else { /* copy from output */
  16319. from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
  16320. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16321. }
  16322. if copy1 > left {
  16323. copy1 = left
  16324. }
  16325. left -= copy1
  16326. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  16327. for {
  16328. v92 = put
  16329. put++
  16330. v93 = from
  16331. from++
  16332. *(*uint8)(unsafe.Pointer(v92)) = *(*uint8)(unsafe.Pointer(v93))
  16333. goto _91
  16334. _91:
  16335. ;
  16336. copy1--
  16337. v90 = copy1
  16338. if !(v90 != 0) {
  16339. break
  16340. }
  16341. }
  16342. if (*Tinflate_state)(unsafe.Pointer(state)).Flength == uint32(0) {
  16343. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  16344. }
  16345. goto _35
  16346. _27:
  16347. ;
  16348. if left == uint32(0) {
  16349. goto inf_leave
  16350. }
  16351. v94 = put
  16352. put++
  16353. *(*uint8)(unsafe.Pointer(v94)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
  16354. left--
  16355. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  16356. goto _35
  16357. _28:
  16358. ;
  16359. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
  16360. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  16361. if have == uint32(0) {
  16362. goto inf_leave
  16363. }
  16364. have--
  16365. v95 = next
  16366. next++
  16367. hold += uint64(*(*uint8)(unsafe.Pointer(v95))) << bits
  16368. bits += uint32(8)
  16369. }
  16370. out -= left
  16371. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
  16372. *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
  16373. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
  16374. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16375. v97 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
  16376. } else {
  16377. v97 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
  16378. }
  16379. v96 = v97
  16380. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v96
  16381. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v96
  16382. }
  16383. out = left
  16384. if v99 = (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0; v99 {
  16385. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16386. v98 = hold
  16387. } else {
  16388. v98 = hold>>int32(24)&uint64(0xff) + hold>>int32(8)&uint64(0xff00) + hold&uint64(0xff00)<<int32(8) + hold&uint64(0xff)<<int32(24)
  16389. }
  16390. }
  16391. if v99 && v98 != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
  16392. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 423
  16393. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16394. goto _35
  16395. }
  16396. hold = uint64(0)
  16397. bits = uint32(0)
  16398. }
  16399. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENGTH)
  16400. /* fallthrough */
  16401. _29:
  16402. ;
  16403. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16404. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  16405. if have == uint32(0) {
  16406. goto inf_leave
  16407. }
  16408. have--
  16409. v100 = next
  16410. next++
  16411. hold += uint64(*(*uint8)(unsafe.Pointer(v100))) << bits
  16412. bits += uint32(8)
  16413. }
  16414. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Ftotal&uint64(0xffffffff) {
  16415. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 444
  16416. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16417. goto _35
  16418. }
  16419. hold = uint64(0)
  16420. bits = uint32(0)
  16421. }
  16422. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
  16423. /* fallthrough */
  16424. _30:
  16425. ;
  16426. ret = int32(m_Z_STREAM_END)
  16427. goto inf_leave
  16428. _31:
  16429. ;
  16430. ret = -int32(3)
  16431. goto inf_leave
  16432. _32:
  16433. ;
  16434. return -int32(4)
  16435. _34:
  16436. ;
  16437. /* fallthrough */
  16438. _33:
  16439. ;
  16440. return -int32(2)
  16441. _35:
  16442. ;
  16443. goto _1
  16444. _1:
  16445. }
  16446. /*
  16447. Return from inflate(), updating the total counts and the check value.
  16448. If there was no progress during the inflate() call, return a buffer
  16449. error. Call updatewindow() to create and/or update the window state.
  16450. Note: a memory error from inflate() is non-recoverable.
  16451. */
  16452. goto inf_leave
  16453. inf_leave:
  16454. ;
  16455. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  16456. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  16457. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  16458. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  16459. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  16460. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  16461. if (*Tinflate_state)(unsafe.Pointer(state)).Fwsize != 0 || out != (*Tz_stream)(unsafe.Pointer(strm)).Favail_out && (*Tinflate_state)(unsafe.Pointer(state)).Fmode < int32(_BAD) && ((*Tinflate_state)(unsafe.Pointer(state)).Fmode < int32(_CHECK) || flush != int32(m_Z_FINISH)) {
  16462. if _updatewindow(tls, strm, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, out-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out) != 0 {
  16463. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
  16464. return -int32(4)
  16465. }
  16466. }
  16467. in -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  16468. out -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  16469. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(in)
  16470. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
  16471. *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
  16472. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
  16473. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16474. v102 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
  16475. } else {
  16476. v102 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
  16477. }
  16478. v101 = v102
  16479. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v101
  16480. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v101
  16481. }
  16482. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  16483. v103 = int32(64)
  16484. } else {
  16485. v103 = 0
  16486. }
  16487. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  16488. v104 = int32(128)
  16489. } else {
  16490. v104 = 0
  16491. }
  16492. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_LEN_) || (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY_) {
  16493. v105 = int32(256)
  16494. } else {
  16495. v105 = 0
  16496. }
  16497. (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = libc.Int32FromUint32((*Tinflate_state)(unsafe.Pointer(state)).Fbits) + v103 + v104 + v105
  16498. if (in == uint32(0) && out == uint32(0) || flush == int32(m_Z_FINISH)) && ret == m_Z_OK {
  16499. ret = -int32(5)
  16500. }
  16501. return ret
  16502. }
  16503. var _order1 = [19]uint16{
  16504. 0: uint16(16),
  16505. 1: uint16(17),
  16506. 2: uint16(18),
  16507. 4: uint16(8),
  16508. 5: uint16(7),
  16509. 6: uint16(9),
  16510. 7: uint16(6),
  16511. 8: uint16(10),
  16512. 9: uint16(5),
  16513. 10: uint16(11),
  16514. 11: uint16(4),
  16515. 12: uint16(12),
  16516. 13: uint16(3),
  16517. 14: uint16(13),
  16518. 15: uint16(2),
  16519. 16: uint16(14),
  16520. 17: uint16(1),
  16521. 18: uint16(15),
  16522. }
  16523. func XinflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  16524. var state uintptr
  16525. _ = state
  16526. if _inflateStateCheck(tls, strm) != 0 {
  16527. return -int32(2)
  16528. }
  16529. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16530. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
  16531. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow)
  16532. }
  16533. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  16534. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  16535. return m_Z_OK
  16536. }
  16537. func XinflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
  16538. var state uintptr
  16539. _ = state
  16540. /* check state */
  16541. if _inflateStateCheck(tls, strm) != 0 {
  16542. return -int32(2)
  16543. }
  16544. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16545. /* copy dictionary */
  16546. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave != 0 && dictionary != uintptr(m_Z_NULL) {
  16547. libc.Xmemcpy(tls, dictionary, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwhave-(*Tinflate_state)(unsafe.Pointer(state)).Fwnext))
  16548. libc.Xmemcpy(tls, dictionary+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwhave)-uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwnext))
  16549. }
  16550. if dictLength != uintptr(m_Z_NULL) {
  16551. *(*TuInt)(unsafe.Pointer(dictLength)) = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
  16552. }
  16553. return m_Z_OK
  16554. }
  16555. func XinflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
  16556. var dictid uint64
  16557. var ret int32
  16558. var state uintptr
  16559. _, _, _ = dictid, ret, state
  16560. /* check state */
  16561. if _inflateStateCheck(tls, strm) != 0 {
  16562. return -int32(2)
  16563. }
  16564. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16565. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_DICT) {
  16566. return -int32(2)
  16567. }
  16568. /* check for correct dictionary identifier */
  16569. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_DICT) {
  16570. dictid = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  16571. dictid = Xadler32(tls, dictid, dictionary, dictLength)
  16572. if dictid != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
  16573. return -int32(3)
  16574. }
  16575. }
  16576. /* copy dictionary to window using updatewindow(), which will amend the
  16577. existing dictionary if appropriate */
  16578. ret = _updatewindow(tls, strm, dictionary+uintptr(dictLength), dictLength)
  16579. if ret != 0 {
  16580. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
  16581. return -int32(4)
  16582. }
  16583. (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = int32(1)
  16584. return m_Z_OK
  16585. }
  16586. func XinflateGetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
  16587. var state uintptr
  16588. _ = state
  16589. /* check state */
  16590. if _inflateStateCheck(tls, strm) != 0 {
  16591. return -int32(2)
  16592. }
  16593. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16594. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) == 0 {
  16595. return -int32(2)
  16596. }
  16597. /* save header structure */
  16598. (*Tinflate_state)(unsafe.Pointer(state)).Fhead = head
  16599. (*Tgz_header)(unsafe.Pointer(head)).Fdone = 0
  16600. return m_Z_OK
  16601. }
  16602. // C documentation
  16603. //
  16604. // /*
  16605. // Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff. Return when found
  16606. // or when out of input. When called, *have is the number of pattern bytes
  16607. // found in order so far, in 0..3. On return *have is updated to the new
  16608. // state. If on return *have equals four, then the pattern was found and the
  16609. // return value is how many bytes were read including the last byte of the
  16610. // pattern. If *have is less than four, then the pattern has not been found
  16611. // yet and the return value is len. In the latter case, syncsearch() can be
  16612. // called again with more data and the *have state. *have is initialized to
  16613. // zero for the first call.
  16614. // */
  16615. func _syncsearch(tls *libc.TLS, have uintptr, buf uintptr, len1 uint32) (r uint32) {
  16616. var got, next uint32
  16617. var v1 int32
  16618. _, _, _ = got, next, v1
  16619. got = *(*uint32)(unsafe.Pointer(have))
  16620. next = uint32(0)
  16621. for next < len1 && got < uint32(4) {
  16622. if got < uint32(2) {
  16623. v1 = 0
  16624. } else {
  16625. v1 = int32(0xff)
  16626. }
  16627. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(buf + uintptr(next)))) == v1 {
  16628. got++
  16629. } else {
  16630. if *(*uint8)(unsafe.Pointer(buf + uintptr(next))) != 0 {
  16631. got = uint32(0)
  16632. } else {
  16633. got = uint32(4) - got
  16634. }
  16635. }
  16636. next++
  16637. }
  16638. *(*uint32)(unsafe.Pointer(have)) = got
  16639. return next
  16640. }
  16641. func XinflateSync(tls *libc.TLS, strm Tz_streamp) (r int32) {
  16642. bp := tls.Alloc(16)
  16643. defer tls.Free(16)
  16644. var flags int32
  16645. var in, out uint64
  16646. var len1, v1 uint32
  16647. var state uintptr
  16648. var _ /* buf at bp+0 */ [4]uint8
  16649. _, _, _, _, _, _ = flags, in, len1, out, state, v1
  16650. /* check parameters */
  16651. if _inflateStateCheck(tls, strm) != 0 {
  16652. return -int32(2)
  16653. }
  16654. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16655. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits < uint32(8) {
  16656. return -int32(5)
  16657. }
  16658. /* if first time, start search in bit buffer */
  16659. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_SYNC) {
  16660. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_SYNC)
  16661. *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7))
  16662. *(*uint32)(unsafe.Pointer(state + 88)) -= (*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7)
  16663. len1 = uint32(0)
  16664. for (*Tinflate_state)(unsafe.Pointer(state)).Fbits >= uint32(8) {
  16665. v1 = len1
  16666. len1++
  16667. (*(*[4]uint8)(unsafe.Pointer(bp)))[v1] = uint8((*Tinflate_state)(unsafe.Pointer(state)).Fhold)
  16668. *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64(8)
  16669. *(*uint32)(unsafe.Pointer(state + 88)) -= uint32(8)
  16670. }
  16671. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  16672. _syncsearch(tls, state+140, bp, len1)
  16673. }
  16674. /* search available input */
  16675. len1 = _syncsearch(tls, state+140, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, (*Tz_stream)(unsafe.Pointer(strm)).Favail_in)
  16676. *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
  16677. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
  16678. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
  16679. /* return no joy or set up to restart inflate() on a new block */
  16680. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave != uint32(4) {
  16681. return -int32(3)
  16682. }
  16683. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags == -int32(1) {
  16684. (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = 0
  16685. } else {
  16686. *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
  16687. } /* no point in computing a check value now */
  16688. flags = (*Tinflate_state)(unsafe.Pointer(state)).Fflags
  16689. in = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in
  16690. out = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out
  16691. XinflateReset(tls, strm)
  16692. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = in
  16693. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = out
  16694. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = flags
  16695. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  16696. return m_Z_OK
  16697. }
  16698. // C documentation
  16699. //
  16700. // /*
  16701. // Returns true if inflate is currently at the end of a block generated by
  16702. // Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
  16703. // implementation to provide an additional safety check. PPP uses
  16704. // Z_SYNC_FLUSH but removes the length bytes of the resulting empty stored
  16705. // block. When decompressing, PPP checks that at the end of input packet,
  16706. // inflate is waiting for these length bytes.
  16707. // */
  16708. func XinflateSyncPoint(tls *libc.TLS, strm Tz_streamp) (r int32) {
  16709. var state uintptr
  16710. _ = state
  16711. if _inflateStateCheck(tls, strm) != 0 {
  16712. return -int32(2)
  16713. }
  16714. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16715. return libc.BoolInt32((*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_STORED) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits == uint32(0))
  16716. }
  16717. func XinflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
  16718. var copy1, state, window uintptr
  16719. var wsize uint32
  16720. _, _, _, _ = copy1, state, window, wsize
  16721. /* check input */
  16722. if _inflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
  16723. return -int32(2)
  16724. }
  16725. state = (*Tz_stream)(unsafe.Pointer(source)).Fstate
  16726. /* allocate space */
  16727. copy1 = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(7160)))
  16728. if copy1 == uintptr(m_Z_NULL) {
  16729. return -int32(4)
  16730. }
  16731. window = uintptr(m_Z_NULL)
  16732. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
  16733. window = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fwbits, uint32(libc.Uint64FromInt64(1)))
  16734. if window == uintptr(m_Z_NULL) {
  16735. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, copy1)
  16736. return -int32(4)
  16737. }
  16738. }
  16739. /* copy state */
  16740. libc.Xmemcpy(tls, dest, source, uint64(112))
  16741. libc.Xmemcpy(tls, copy1, state, uint64(7160))
  16742. (*Tinflate_state)(unsafe.Pointer(copy1)).Fstrm = dest
  16743. if (*Tinflate_state)(unsafe.Pointer(state)).Flencode >= state+1368 && (*Tinflate_state)(unsafe.Pointer(state)).Flencode <= state+1368+uintptr(libc.Int32FromInt32(m_ENOUGH_LENS)+libc.Int32FromInt32(m_ENOUGH_DISTS))*4-uintptr(1)*4 {
  16744. (*Tinflate_state)(unsafe.Pointer(copy1)).Flencode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Flencode)-t__predefined_ptrdiff_t(state+1368))/4)*4
  16745. (*Tinflate_state)(unsafe.Pointer(copy1)).Fdistcode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode)-t__predefined_ptrdiff_t(state+1368))/4)*4
  16746. }
  16747. (*Tinflate_state)(unsafe.Pointer(copy1)).Fnext = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext)-t__predefined_ptrdiff_t(state+1368))/4)*4
  16748. if window != uintptr(m_Z_NULL) {
  16749. wsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
  16750. libc.Xmemcpy(tls, window, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, uint64(wsize))
  16751. }
  16752. (*Tinflate_state)(unsafe.Pointer(copy1)).Fwindow = window
  16753. (*Tz_stream)(unsafe.Pointer(dest)).Fstate = copy1
  16754. return m_Z_OK
  16755. }
  16756. func XinflateUndermine(tls *libc.TLS, strm Tz_streamp, subvert int32) (r int32) {
  16757. var state uintptr
  16758. _ = state
  16759. if _inflateStateCheck(tls, strm) != 0 {
  16760. return -int32(2)
  16761. }
  16762. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16763. _ = subvert
  16764. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  16765. return -int32(3)
  16766. }
  16767. func XinflateValidate(tls *libc.TLS, strm Tz_streamp, check int32) (r int32) {
  16768. var state uintptr
  16769. _ = state
  16770. if _inflateStateCheck(tls, strm) != 0 {
  16771. return -int32(2)
  16772. }
  16773. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16774. if check != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
  16775. *(*int32)(unsafe.Pointer(state + 16)) |= int32(4)
  16776. } else {
  16777. *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
  16778. }
  16779. return m_Z_OK
  16780. }
  16781. func XinflateMark(tls *libc.TLS, strm Tz_streamp) (r int64) {
  16782. var state uintptr
  16783. var v1, v2 uint32
  16784. _, _, _ = state, v1, v2
  16785. if _inflateStateCheck(tls, strm) != 0 {
  16786. return -(libc.Int64FromInt64(1) << libc.Int32FromInt32(16))
  16787. }
  16788. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16789. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY) {
  16790. v1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16791. } else {
  16792. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_MATCH) {
  16793. v2 = (*Tinflate_state)(unsafe.Pointer(state)).Fwas - (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16794. } else {
  16795. v2 = uint32(0)
  16796. }
  16797. v1 = v2
  16798. }
  16799. return libc.Int64FromUint64(libc.Uint64FromInt64(int64((*Tinflate_state)(unsafe.Pointer(state)).Fback))<<libc.Int32FromInt32(16)) + libc.Int64FromUint32(v1)
  16800. }
  16801. func XinflateCodesUsed(tls *libc.TLS, strm Tz_streamp) (r uint64) {
  16802. var state uintptr
  16803. _ = state
  16804. if _inflateStateCheck(tls, strm) != 0 {
  16805. return libc.Uint64FromInt32(-libc.Int32FromInt32(1))
  16806. }
  16807. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16808. return libc.Uint64FromInt64((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext) - t__predefined_ptrdiff_t(state+1368)) / 4)
  16809. }
  16810. const m_MAXBITS = 15
  16811. /*
  16812. If you use the zlib library in a product, an acknowledgment is welcome
  16813. in the documentation of your product. If for some reason you cannot
  16814. include such an acknowledgment, I would appreciate that you keep this
  16815. copyright string in the executable of your product.
  16816. */
  16817. // C documentation
  16818. //
  16819. // /*
  16820. // Build a set of tables to decode the provided canonical Huffman code.
  16821. // The code lengths are lens[0..codes-1]. The result starts at *table,
  16822. // whose indices are 0..2^bits-1. work is a writable array of at least
  16823. // lens shorts, which is used as a work area. type is the type of code
  16824. // to be generated, CODES, LENS, or DISTS. On return, zero is success,
  16825. // -1 is an invalid code, and +1 means that ENOUGH isn't enough. table
  16826. // on return points to the next available entry's address. bits is the
  16827. // requested root table index bits, and on return it is the actual root
  16828. // table index bits. It will differ if the request is greater than the
  16829. // longest code or if it is less than the shortest code.
  16830. // */
  16831. func Xinflate_table(tls *libc.TLS, type1 Tcodetype, lens uintptr, codes uint32, table uintptr, bits uintptr, work uintptr) (r int32) {
  16832. bp := tls.Alloc(64)
  16833. defer tls.Free(64)
  16834. var base, extra, next, v13, v14, v17, v4, v5, v6, v7 uintptr
  16835. var curr, drop, fill, huff, incr, len1, low, mask, match, max, min, root, sym, used uint32
  16836. var here Tcode
  16837. var left int32
  16838. var v12, v16 uint16
  16839. var _ /* count at bp+0 */ [16]uint16
  16840. var _ /* offs at bp+32 */ [16]uint16
  16841. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, curr, drop, extra, fill, here, huff, incr, left, len1, low, mask, match, max, min, next, root, sym, used, v12, v13, v14, v16, v17, v4, v5, v6, v7 /* offsets in table for each length */
  16842. /*
  16843. Process a set of code lengths to create a canonical Huffman code. The
  16844. code lengths are lens[0..codes-1]. Each length corresponds to the
  16845. symbols 0..codes-1. The Huffman code is generated by first sorting the
  16846. symbols by length from short to long, and retaining the symbol order
  16847. for codes with equal lengths. Then the code starts with all zero bits
  16848. for the first code of the shortest length, and the codes are integer
  16849. increments for the same length, and zeros are appended as the length
  16850. increases. For the deflate format, these bits are stored backwards
  16851. from their more natural integer increment ordering, and so when the
  16852. decoding tables are built in the large loop below, the integer codes
  16853. are incremented backwards.
  16854. This routine assumes, but does not check, that all of the entries in
  16855. lens[] are in the range 0..MAXBITS. The caller must assure this.
  16856. 1..MAXBITS is interpreted as that code length. zero means that that
  16857. symbol does not occur in this code.
  16858. The codes are sorted by computing a count of codes for each length,
  16859. creating from that a table of starting indices for each length in the
  16860. sorted table, and then entering the symbols in order in the sorted
  16861. table. The sorted table is work[], with that space being provided by
  16862. the caller.
  16863. The length counts are used for other purposes as well, i.e. finding
  16864. the minimum and maximum length codes, determining if there are any
  16865. codes at all, checking for a valid set of lengths, and looking ahead
  16866. at length counts to determine sub-table sizes when building the
  16867. decoding tables.
  16868. */
  16869. /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
  16870. len1 = uint32(0)
  16871. for {
  16872. if !(len1 <= uint32(m_MAXBITS)) {
  16873. break
  16874. }
  16875. (*(*[16]uint16)(unsafe.Pointer(bp)))[len1] = uint16(0)
  16876. goto _1
  16877. _1:
  16878. ;
  16879. len1++
  16880. }
  16881. sym = uint32(0)
  16882. for {
  16883. if !(sym < codes) {
  16884. break
  16885. }
  16886. (*(*[16]uint16)(unsafe.Pointer(bp)))[*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))]++
  16887. goto _2
  16888. _2:
  16889. ;
  16890. sym++
  16891. }
  16892. /* bound code lengths, force root to be within code lengths */
  16893. root = *(*uint32)(unsafe.Pointer(bits))
  16894. max = uint32(m_MAXBITS)
  16895. for {
  16896. if !(max >= uint32(1)) {
  16897. break
  16898. }
  16899. if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[max]) != 0 {
  16900. break
  16901. }
  16902. goto _3
  16903. _3:
  16904. ;
  16905. max--
  16906. }
  16907. if root > max {
  16908. root = max
  16909. }
  16910. if max == uint32(0) { /* no symbols to code at all */
  16911. here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
  16912. here.Fbits = libc.Uint8FromInt32(1)
  16913. here.Fval = libc.Uint16FromInt32(0)
  16914. v5 = table
  16915. v4 = *(*uintptr)(unsafe.Pointer(v5))
  16916. *(*uintptr)(unsafe.Pointer(v5)) += 4
  16917. *(*Tcode)(unsafe.Pointer(v4)) = here /* make a table to force an error */
  16918. v7 = table
  16919. v6 = *(*uintptr)(unsafe.Pointer(v7))
  16920. *(*uintptr)(unsafe.Pointer(v7)) += 4
  16921. *(*Tcode)(unsafe.Pointer(v6)) = here
  16922. *(*uint32)(unsafe.Pointer(bits)) = uint32(1)
  16923. return 0 /* no symbols, but wait for decoding to report error */
  16924. }
  16925. min = uint32(1)
  16926. for {
  16927. if !(min < max) {
  16928. break
  16929. }
  16930. if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[min]) != 0 {
  16931. break
  16932. }
  16933. goto _8
  16934. _8:
  16935. ;
  16936. min++
  16937. }
  16938. if root < min {
  16939. root = min
  16940. }
  16941. /* check for an over-subscribed or incomplete set of lengths */
  16942. left = int32(1)
  16943. len1 = uint32(1)
  16944. for {
  16945. if !(len1 <= uint32(m_MAXBITS)) {
  16946. break
  16947. }
  16948. left <<= int32(1)
  16949. left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[len1])
  16950. if left < 0 {
  16951. return -int32(1)
  16952. } /* over-subscribed */
  16953. goto _9
  16954. _9:
  16955. ;
  16956. len1++
  16957. }
  16958. if left > 0 && (type1 == int32(_CODES) || max != uint32(1)) {
  16959. return -int32(1)
  16960. } /* incomplete set */
  16961. /* generate offsets into symbol table for each length for sorting */
  16962. (*(*[16]uint16)(unsafe.Pointer(bp + 32)))[int32(1)] = uint16(0)
  16963. len1 = uint32(1)
  16964. for {
  16965. if !(len1 < uint32(m_MAXBITS)) {
  16966. break
  16967. }
  16968. (*(*[16]uint16)(unsafe.Pointer(bp + 32)))[len1+uint32(1)] = libc.Uint16FromInt32(libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp + 32)))[len1]) + libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[len1]))
  16969. goto _10
  16970. _10:
  16971. ;
  16972. len1++
  16973. }
  16974. /* sort symbols by length, by symbol order within each length */
  16975. sym = uint32(0)
  16976. for {
  16977. if !(sym < codes) {
  16978. break
  16979. }
  16980. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))) != 0 {
  16981. v13 = bp + 32 + uintptr(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2)))*2
  16982. v12 = *(*uint16)(unsafe.Pointer(v13))
  16983. *(*uint16)(unsafe.Pointer(v13))++
  16984. *(*uint16)(unsafe.Pointer(work + uintptr(v12)*2)) = uint16(sym)
  16985. }
  16986. goto _11
  16987. _11:
  16988. ;
  16989. sym++
  16990. }
  16991. /*
  16992. Create and fill in decoding tables. In this loop, the table being
  16993. filled is at next and has curr index bits. The code being used is huff
  16994. with length len. That code is converted to an index by dropping drop
  16995. bits off of the bottom. For codes where len is less than drop + curr,
  16996. those top drop + curr - len bits are incremented through all values to
  16997. fill the table with replicated entries.
  16998. root is the number of index bits for the root table. When len exceeds
  16999. root, sub-tables are created pointed to by the root entry with an index
  17000. of the low root bits of huff. This is saved in low to check for when a
  17001. new sub-table should be started. drop is zero when the root table is
  17002. being filled, and drop is root when sub-tables are being filled.
  17003. When a new sub-table is needed, it is necessary to look ahead in the
  17004. code lengths to determine what size sub-table is needed. The length
  17005. counts are used for this, and so count[] is decremented as codes are
  17006. entered in the tables.
  17007. used keeps track of how many table entries have been allocated from the
  17008. provided *table space. It is checked for LENS and DIST tables against
  17009. the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
  17010. the initial root table size constants. See the comments in inftrees.h
  17011. for more information.
  17012. sym increments through all symbols, and the loop terminates when
  17013. all codes of length max, i.e. all codes, have been processed. This
  17014. routine permits incomplete codes, so another loop after this one fills
  17015. in the rest of the decoding tables with invalid code markers.
  17016. */
  17017. /* set up for code type */
  17018. switch type1 {
  17019. case int32(_CODES):
  17020. v14 = work
  17021. extra = v14
  17022. base = v14 /* dummy value--not used */
  17023. match = uint32(20)
  17024. case int32(_LENS):
  17025. base = uintptr(unsafe.Pointer(&_lbase))
  17026. extra = uintptr(unsafe.Pointer(&_lext))
  17027. match = uint32(257)
  17028. default: /* DISTS */
  17029. base = uintptr(unsafe.Pointer(&_dbase))
  17030. extra = uintptr(unsafe.Pointer(&_dext))
  17031. match = uint32(0)
  17032. }
  17033. /* initialize state for loop */
  17034. huff = uint32(0) /* starting code */
  17035. sym = uint32(0) /* starting code symbol */
  17036. len1 = min /* starting code length */
  17037. next = *(*uintptr)(unsafe.Pointer(table)) /* current table to fill in */
  17038. curr = root /* current table index bits */
  17039. drop = uint32(0) /* current bits to drop from code for index */
  17040. low = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* trigger new sub-table when len > root */
  17041. used = uint32(1) << root /* use root table entries */
  17042. mask = used - uint32(1) /* mask for comparing low */
  17043. /* check available table space */
  17044. if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
  17045. return int32(1)
  17046. }
  17047. /* process all codes and make table entries */
  17048. for {
  17049. /* create table entry */
  17050. here.Fbits = uint8(len1 - drop)
  17051. if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))+uint32(1) < match {
  17052. here.Fop = libc.Uint8FromInt32(0)
  17053. here.Fval = *(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))
  17054. } else {
  17055. if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))) >= match {
  17056. here.Fop = uint8(*(*uint16)(unsafe.Pointer(extra + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2)))
  17057. here.Fval = *(*uint16)(unsafe.Pointer(base + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2))
  17058. } else {
  17059. here.Fop = libc.Uint8FromInt32(libc.Int32FromInt32(32) + libc.Int32FromInt32(64)) /* end of block */
  17060. here.Fval = uint16(0)
  17061. }
  17062. }
  17063. /* replicate for those indices with low len bits equal to huff */
  17064. incr = uint32(1) << (len1 - drop)
  17065. fill = uint32(1) << curr
  17066. min = fill /* save offset to next table */
  17067. for cond := true; cond; cond = fill != uint32(0) {
  17068. fill -= incr
  17069. *(*Tcode)(unsafe.Pointer(next + uintptr(huff>>drop+fill)*4)) = here
  17070. }
  17071. /* backwards increment the len-bit code huff */
  17072. incr = uint32(1) << (len1 - uint32(1))
  17073. for huff&incr != 0 {
  17074. incr >>= uint32(1)
  17075. }
  17076. if incr != uint32(0) {
  17077. huff &= incr - uint32(1)
  17078. huff += incr
  17079. } else {
  17080. huff = uint32(0)
  17081. }
  17082. /* go to next symbol, update count, len */
  17083. sym++
  17084. v17 = bp + uintptr(len1)*2
  17085. *(*uint16)(unsafe.Pointer(v17))--
  17086. v16 = *(*uint16)(unsafe.Pointer(v17))
  17087. if libc.Int32FromUint16(v16) == 0 {
  17088. if len1 == max {
  17089. break
  17090. }
  17091. len1 = uint32(*(*uint16)(unsafe.Pointer(lens + uintptr(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))*2)))
  17092. }
  17093. /* create new sub-table if needed */
  17094. if len1 > root && huff&mask != low {
  17095. /* if first time, transition to sub-tables */
  17096. if drop == uint32(0) {
  17097. drop = root
  17098. }
  17099. /* increment past last table */
  17100. next += uintptr(min) * 4 /* here min is 1 << curr */
  17101. /* determine length of next table */
  17102. curr = len1 - drop
  17103. left = libc.Int32FromInt32(1) << curr
  17104. for curr+drop < max {
  17105. left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[curr+drop])
  17106. if left <= 0 {
  17107. break
  17108. }
  17109. curr++
  17110. left <<= int32(1)
  17111. }
  17112. /* check for enough space */
  17113. used += uint32(1) << curr
  17114. if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
  17115. return int32(1)
  17116. }
  17117. /* point entry in root table to sub-table */
  17118. low = huff & mask
  17119. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fop = uint8(curr)
  17120. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fbits = uint8(root)
  17121. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fval = libc.Uint16FromInt64((int64(next) - int64(*(*uintptr)(unsafe.Pointer(table)))) / 4)
  17122. }
  17123. goto _15
  17124. _15:
  17125. }
  17126. /* fill in remaining table entry if code is incomplete (guaranteed to have
  17127. at most one remaining entry, since if the code is incomplete, the
  17128. maximum code length that was allowed to get this far is one bit) */
  17129. if huff != uint32(0) {
  17130. here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
  17131. here.Fbits = uint8(len1 - drop)
  17132. here.Fval = libc.Uint16FromInt32(0)
  17133. *(*Tcode)(unsafe.Pointer(next + uintptr(huff)*4)) = here
  17134. }
  17135. /* set return parameters */
  17136. *(*uintptr)(unsafe.Pointer(table)) += uintptr(used) * 4
  17137. *(*uint32)(unsafe.Pointer(bits)) = root
  17138. return 0
  17139. }
  17140. var _lbase = [31]uint16{
  17141. 0: uint16(3),
  17142. 1: uint16(4),
  17143. 2: uint16(5),
  17144. 3: uint16(6),
  17145. 4: uint16(7),
  17146. 5: uint16(8),
  17147. 6: uint16(9),
  17148. 7: uint16(10),
  17149. 8: uint16(11),
  17150. 9: uint16(13),
  17151. 10: uint16(15),
  17152. 11: uint16(17),
  17153. 12: uint16(19),
  17154. 13: uint16(23),
  17155. 14: uint16(27),
  17156. 15: uint16(31),
  17157. 16: uint16(35),
  17158. 17: uint16(43),
  17159. 18: uint16(51),
  17160. 19: uint16(59),
  17161. 20: uint16(67),
  17162. 21: uint16(83),
  17163. 22: uint16(99),
  17164. 23: uint16(115),
  17165. 24: uint16(131),
  17166. 25: uint16(163),
  17167. 26: uint16(195),
  17168. 27: uint16(227),
  17169. 28: uint16(258),
  17170. }
  17171. var _lext = [31]uint16{
  17172. 0: uint16(16),
  17173. 1: uint16(16),
  17174. 2: uint16(16),
  17175. 3: uint16(16),
  17176. 4: uint16(16),
  17177. 5: uint16(16),
  17178. 6: uint16(16),
  17179. 7: uint16(16),
  17180. 8: uint16(17),
  17181. 9: uint16(17),
  17182. 10: uint16(17),
  17183. 11: uint16(17),
  17184. 12: uint16(18),
  17185. 13: uint16(18),
  17186. 14: uint16(18),
  17187. 15: uint16(18),
  17188. 16: uint16(19),
  17189. 17: uint16(19),
  17190. 18: uint16(19),
  17191. 19: uint16(19),
  17192. 20: uint16(20),
  17193. 21: uint16(20),
  17194. 22: uint16(20),
  17195. 23: uint16(20),
  17196. 24: uint16(21),
  17197. 25: uint16(21),
  17198. 26: uint16(21),
  17199. 27: uint16(21),
  17200. 28: uint16(16),
  17201. 29: uint16(203),
  17202. 30: uint16(77),
  17203. }
  17204. var _dbase = [32]uint16{
  17205. 0: uint16(1),
  17206. 1: uint16(2),
  17207. 2: uint16(3),
  17208. 3: uint16(4),
  17209. 4: uint16(5),
  17210. 5: uint16(7),
  17211. 6: uint16(9),
  17212. 7: uint16(13),
  17213. 8: uint16(17),
  17214. 9: uint16(25),
  17215. 10: uint16(33),
  17216. 11: uint16(49),
  17217. 12: uint16(65),
  17218. 13: uint16(97),
  17219. 14: uint16(129),
  17220. 15: uint16(193),
  17221. 16: uint16(257),
  17222. 17: uint16(385),
  17223. 18: uint16(513),
  17224. 19: uint16(769),
  17225. 20: uint16(1025),
  17226. 21: uint16(1537),
  17227. 22: uint16(2049),
  17228. 23: uint16(3073),
  17229. 24: uint16(4097),
  17230. 25: uint16(6145),
  17231. 26: uint16(8193),
  17232. 27: uint16(12289),
  17233. 28: uint16(16385),
  17234. 29: uint16(24577),
  17235. }
  17236. var _dext = [32]uint16{
  17237. 0: uint16(16),
  17238. 1: uint16(16),
  17239. 2: uint16(16),
  17240. 3: uint16(16),
  17241. 4: uint16(17),
  17242. 5: uint16(17),
  17243. 6: uint16(18),
  17244. 7: uint16(18),
  17245. 8: uint16(19),
  17246. 9: uint16(19),
  17247. 10: uint16(20),
  17248. 11: uint16(20),
  17249. 12: uint16(21),
  17250. 13: uint16(21),
  17251. 14: uint16(22),
  17252. 15: uint16(22),
  17253. 16: uint16(23),
  17254. 17: uint16(23),
  17255. 18: uint16(24),
  17256. 19: uint16(24),
  17257. 20: uint16(25),
  17258. 21: uint16(25),
  17259. 22: uint16(26),
  17260. 23: uint16(26),
  17261. 24: uint16(27),
  17262. 25: uint16(27),
  17263. 26: uint16(28),
  17264. 27: uint16(28),
  17265. 28: uint16(29),
  17266. 29: uint16(29),
  17267. 30: uint16(64),
  17268. 31: uint16(64),
  17269. }
  17270. const m_DIST_CODE_LEN = 512
  17271. const m_END_BLOCK = 256
  17272. const m_MAX_BL_BITS = 7
  17273. const m_REPZ_11_138 = 18
  17274. const m_REPZ_3_10 = 17
  17275. const m_REP_3_6 = 16
  17276. const m_SMALLEST = 1
  17277. const m_TCONST = "const"
  17278. type Tstatic_tree_desc = struct {
  17279. Fstatic_tree uintptr
  17280. Fextra_bits uintptr
  17281. Fextra_base int32
  17282. Felems int32
  17283. Fmax_length int32
  17284. }
  17285. type Tstatic_tree_desc_s = Tstatic_tree_desc
  17286. /* ===========================================================================
  17287. * Constants
  17288. */
  17289. /* Bit length codes must not exceed MAX_BL_BITS bits */
  17290. /* end of block literal code */
  17291. /* repeat previous bit length 3-6 times (2 bits of repeat count) */
  17292. /* repeat a zero length 3-10 times (3 bits of repeat count) */
  17293. /* repeat a zero length 11-138 times (7 bits of repeat count) */
  17294. var _extra_lbits = [29]int32{
  17295. 8: int32(1),
  17296. 9: int32(1),
  17297. 10: int32(1),
  17298. 11: int32(1),
  17299. 12: int32(2),
  17300. 13: int32(2),
  17301. 14: int32(2),
  17302. 15: int32(2),
  17303. 16: int32(3),
  17304. 17: int32(3),
  17305. 18: int32(3),
  17306. 19: int32(3),
  17307. 20: int32(4),
  17308. 21: int32(4),
  17309. 22: int32(4),
  17310. 23: int32(4),
  17311. 24: int32(5),
  17312. 25: int32(5),
  17313. 26: int32(5),
  17314. 27: int32(5),
  17315. }
  17316. var _extra_dbits = [30]int32{
  17317. 4: int32(1),
  17318. 5: int32(1),
  17319. 6: int32(2),
  17320. 7: int32(2),
  17321. 8: int32(3),
  17322. 9: int32(3),
  17323. 10: int32(4),
  17324. 11: int32(4),
  17325. 12: int32(5),
  17326. 13: int32(5),
  17327. 14: int32(6),
  17328. 15: int32(6),
  17329. 16: int32(7),
  17330. 17: int32(7),
  17331. 18: int32(8),
  17332. 19: int32(8),
  17333. 20: int32(9),
  17334. 21: int32(9),
  17335. 22: int32(10),
  17336. 23: int32(10),
  17337. 24: int32(11),
  17338. 25: int32(11),
  17339. 26: int32(12),
  17340. 27: int32(12),
  17341. 28: int32(13),
  17342. 29: int32(13),
  17343. }
  17344. var _extra_blbits = [19]int32{
  17345. 16: int32(2),
  17346. 17: int32(3),
  17347. 18: int32(7),
  17348. }
  17349. var _bl_order = [19]Tuch{
  17350. 0: uint8(16),
  17351. 1: uint8(17),
  17352. 2: uint8(18),
  17353. 4: uint8(8),
  17354. 5: uint8(7),
  17355. 6: uint8(9),
  17356. 7: uint8(6),
  17357. 8: uint8(10),
  17358. 9: uint8(5),
  17359. 10: uint8(11),
  17360. 11: uint8(4),
  17361. 12: uint8(12),
  17362. 13: uint8(3),
  17363. 14: uint8(13),
  17364. 15: uint8(2),
  17365. 16: uint8(14),
  17366. 17: uint8(1),
  17367. 18: uint8(15),
  17368. }
  17369. var _static_ltree = [288]Tct_data{
  17370. 0: {
  17371. Ffc: *(*struct {
  17372. Fcode [0]Tush
  17373. Ffreq Tush
  17374. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
  17375. Fdl: *(*struct {
  17376. Flen1 [0]Tush
  17377. Fdad Tush
  17378. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17379. },
  17380. 1: {
  17381. Ffc: *(*struct {
  17382. Fcode [0]Tush
  17383. Ffreq Tush
  17384. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(140)})),
  17385. Fdl: *(*struct {
  17386. Flen1 [0]Tush
  17387. Fdad Tush
  17388. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17389. },
  17390. 2: {
  17391. Ffc: *(*struct {
  17392. Fcode [0]Tush
  17393. Ffreq Tush
  17394. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(76)})),
  17395. Fdl: *(*struct {
  17396. Flen1 [0]Tush
  17397. Fdad Tush
  17398. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17399. },
  17400. 3: {
  17401. Ffc: *(*struct {
  17402. Fcode [0]Tush
  17403. Ffreq Tush
  17404. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(204)})),
  17405. Fdl: *(*struct {
  17406. Flen1 [0]Tush
  17407. Fdad Tush
  17408. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17409. },
  17410. 4: {
  17411. Ffc: *(*struct {
  17412. Fcode [0]Tush
  17413. Ffreq Tush
  17414. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(44)})),
  17415. Fdl: *(*struct {
  17416. Flen1 [0]Tush
  17417. Fdad Tush
  17418. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17419. },
  17420. 5: {
  17421. Ffc: *(*struct {
  17422. Fcode [0]Tush
  17423. Ffreq Tush
  17424. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(172)})),
  17425. Fdl: *(*struct {
  17426. Flen1 [0]Tush
  17427. Fdad Tush
  17428. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17429. },
  17430. 6: {
  17431. Ffc: *(*struct {
  17432. Fcode [0]Tush
  17433. Ffreq Tush
  17434. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(108)})),
  17435. Fdl: *(*struct {
  17436. Flen1 [0]Tush
  17437. Fdad Tush
  17438. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17439. },
  17440. 7: {
  17441. Ffc: *(*struct {
  17442. Fcode [0]Tush
  17443. Ffreq Tush
  17444. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(236)})),
  17445. Fdl: *(*struct {
  17446. Flen1 [0]Tush
  17447. Fdad Tush
  17448. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17449. },
  17450. 8: {
  17451. Ffc: *(*struct {
  17452. Fcode [0]Tush
  17453. Ffreq Tush
  17454. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
  17455. Fdl: *(*struct {
  17456. Flen1 [0]Tush
  17457. Fdad Tush
  17458. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17459. },
  17460. 9: {
  17461. Ffc: *(*struct {
  17462. Fcode [0]Tush
  17463. Ffreq Tush
  17464. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(156)})),
  17465. Fdl: *(*struct {
  17466. Flen1 [0]Tush
  17467. Fdad Tush
  17468. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17469. },
  17470. 10: {
  17471. Ffc: *(*struct {
  17472. Fcode [0]Tush
  17473. Ffreq Tush
  17474. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(92)})),
  17475. Fdl: *(*struct {
  17476. Flen1 [0]Tush
  17477. Fdad Tush
  17478. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17479. },
  17480. 11: {
  17481. Ffc: *(*struct {
  17482. Fcode [0]Tush
  17483. Ffreq Tush
  17484. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(220)})),
  17485. Fdl: *(*struct {
  17486. Flen1 [0]Tush
  17487. Fdad Tush
  17488. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17489. },
  17490. 12: {
  17491. Ffc: *(*struct {
  17492. Fcode [0]Tush
  17493. Ffreq Tush
  17494. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(60)})),
  17495. Fdl: *(*struct {
  17496. Flen1 [0]Tush
  17497. Fdad Tush
  17498. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17499. },
  17500. 13: {
  17501. Ffc: *(*struct {
  17502. Fcode [0]Tush
  17503. Ffreq Tush
  17504. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(188)})),
  17505. Fdl: *(*struct {
  17506. Flen1 [0]Tush
  17507. Fdad Tush
  17508. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17509. },
  17510. 14: {
  17511. Ffc: *(*struct {
  17512. Fcode [0]Tush
  17513. Ffreq Tush
  17514. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(124)})),
  17515. Fdl: *(*struct {
  17516. Flen1 [0]Tush
  17517. Fdad Tush
  17518. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17519. },
  17520. 15: {
  17521. Ffc: *(*struct {
  17522. Fcode [0]Tush
  17523. Ffreq Tush
  17524. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(252)})),
  17525. Fdl: *(*struct {
  17526. Flen1 [0]Tush
  17527. Fdad Tush
  17528. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17529. },
  17530. 16: {
  17531. Ffc: *(*struct {
  17532. Fcode [0]Tush
  17533. Ffreq Tush
  17534. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
  17535. Fdl: *(*struct {
  17536. Flen1 [0]Tush
  17537. Fdad Tush
  17538. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17539. },
  17540. 17: {
  17541. Ffc: *(*struct {
  17542. Fcode [0]Tush
  17543. Ffreq Tush
  17544. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(130)})),
  17545. Fdl: *(*struct {
  17546. Flen1 [0]Tush
  17547. Fdad Tush
  17548. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17549. },
  17550. 18: {
  17551. Ffc: *(*struct {
  17552. Fcode [0]Tush
  17553. Ffreq Tush
  17554. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(66)})),
  17555. Fdl: *(*struct {
  17556. Flen1 [0]Tush
  17557. Fdad Tush
  17558. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17559. },
  17560. 19: {
  17561. Ffc: *(*struct {
  17562. Fcode [0]Tush
  17563. Ffreq Tush
  17564. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(194)})),
  17565. Fdl: *(*struct {
  17566. Flen1 [0]Tush
  17567. Fdad Tush
  17568. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17569. },
  17570. 20: {
  17571. Ffc: *(*struct {
  17572. Fcode [0]Tush
  17573. Ffreq Tush
  17574. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(34)})),
  17575. Fdl: *(*struct {
  17576. Flen1 [0]Tush
  17577. Fdad Tush
  17578. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17579. },
  17580. 21: {
  17581. Ffc: *(*struct {
  17582. Fcode [0]Tush
  17583. Ffreq Tush
  17584. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(162)})),
  17585. Fdl: *(*struct {
  17586. Flen1 [0]Tush
  17587. Fdad Tush
  17588. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17589. },
  17590. 22: {
  17591. Ffc: *(*struct {
  17592. Fcode [0]Tush
  17593. Ffreq Tush
  17594. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(98)})),
  17595. Fdl: *(*struct {
  17596. Flen1 [0]Tush
  17597. Fdad Tush
  17598. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17599. },
  17600. 23: {
  17601. Ffc: *(*struct {
  17602. Fcode [0]Tush
  17603. Ffreq Tush
  17604. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(226)})),
  17605. Fdl: *(*struct {
  17606. Flen1 [0]Tush
  17607. Fdad Tush
  17608. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17609. },
  17610. 24: {
  17611. Ffc: *(*struct {
  17612. Fcode [0]Tush
  17613. Ffreq Tush
  17614. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
  17615. Fdl: *(*struct {
  17616. Flen1 [0]Tush
  17617. Fdad Tush
  17618. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17619. },
  17620. 25: {
  17621. Ffc: *(*struct {
  17622. Fcode [0]Tush
  17623. Ffreq Tush
  17624. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(146)})),
  17625. Fdl: *(*struct {
  17626. Flen1 [0]Tush
  17627. Fdad Tush
  17628. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17629. },
  17630. 26: {
  17631. Ffc: *(*struct {
  17632. Fcode [0]Tush
  17633. Ffreq Tush
  17634. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(82)})),
  17635. Fdl: *(*struct {
  17636. Flen1 [0]Tush
  17637. Fdad Tush
  17638. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17639. },
  17640. 27: {
  17641. Ffc: *(*struct {
  17642. Fcode [0]Tush
  17643. Ffreq Tush
  17644. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(210)})),
  17645. Fdl: *(*struct {
  17646. Flen1 [0]Tush
  17647. Fdad Tush
  17648. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17649. },
  17650. 28: {
  17651. Ffc: *(*struct {
  17652. Fcode [0]Tush
  17653. Ffreq Tush
  17654. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(50)})),
  17655. Fdl: *(*struct {
  17656. Flen1 [0]Tush
  17657. Fdad Tush
  17658. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17659. },
  17660. 29: {
  17661. Ffc: *(*struct {
  17662. Fcode [0]Tush
  17663. Ffreq Tush
  17664. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(178)})),
  17665. Fdl: *(*struct {
  17666. Flen1 [0]Tush
  17667. Fdad Tush
  17668. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17669. },
  17670. 30: {
  17671. Ffc: *(*struct {
  17672. Fcode [0]Tush
  17673. Ffreq Tush
  17674. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(114)})),
  17675. Fdl: *(*struct {
  17676. Flen1 [0]Tush
  17677. Fdad Tush
  17678. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17679. },
  17680. 31: {
  17681. Ffc: *(*struct {
  17682. Fcode [0]Tush
  17683. Ffreq Tush
  17684. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(242)})),
  17685. Fdl: *(*struct {
  17686. Flen1 [0]Tush
  17687. Fdad Tush
  17688. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17689. },
  17690. 32: {
  17691. Ffc: *(*struct {
  17692. Fcode [0]Tush
  17693. Ffreq Tush
  17694. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
  17695. Fdl: *(*struct {
  17696. Flen1 [0]Tush
  17697. Fdad Tush
  17698. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17699. },
  17700. 33: {
  17701. Ffc: *(*struct {
  17702. Fcode [0]Tush
  17703. Ffreq Tush
  17704. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(138)})),
  17705. Fdl: *(*struct {
  17706. Flen1 [0]Tush
  17707. Fdad Tush
  17708. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17709. },
  17710. 34: {
  17711. Ffc: *(*struct {
  17712. Fcode [0]Tush
  17713. Ffreq Tush
  17714. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(74)})),
  17715. Fdl: *(*struct {
  17716. Flen1 [0]Tush
  17717. Fdad Tush
  17718. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17719. },
  17720. 35: {
  17721. Ffc: *(*struct {
  17722. Fcode [0]Tush
  17723. Ffreq Tush
  17724. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(202)})),
  17725. Fdl: *(*struct {
  17726. Flen1 [0]Tush
  17727. Fdad Tush
  17728. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17729. },
  17730. 36: {
  17731. Ffc: *(*struct {
  17732. Fcode [0]Tush
  17733. Ffreq Tush
  17734. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(42)})),
  17735. Fdl: *(*struct {
  17736. Flen1 [0]Tush
  17737. Fdad Tush
  17738. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17739. },
  17740. 37: {
  17741. Ffc: *(*struct {
  17742. Fcode [0]Tush
  17743. Ffreq Tush
  17744. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(170)})),
  17745. Fdl: *(*struct {
  17746. Flen1 [0]Tush
  17747. Fdad Tush
  17748. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17749. },
  17750. 38: {
  17751. Ffc: *(*struct {
  17752. Fcode [0]Tush
  17753. Ffreq Tush
  17754. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(106)})),
  17755. Fdl: *(*struct {
  17756. Flen1 [0]Tush
  17757. Fdad Tush
  17758. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17759. },
  17760. 39: {
  17761. Ffc: *(*struct {
  17762. Fcode [0]Tush
  17763. Ffreq Tush
  17764. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(234)})),
  17765. Fdl: *(*struct {
  17766. Flen1 [0]Tush
  17767. Fdad Tush
  17768. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17769. },
  17770. 40: {
  17771. Ffc: *(*struct {
  17772. Fcode [0]Tush
  17773. Ffreq Tush
  17774. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
  17775. Fdl: *(*struct {
  17776. Flen1 [0]Tush
  17777. Fdad Tush
  17778. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17779. },
  17780. 41: {
  17781. Ffc: *(*struct {
  17782. Fcode [0]Tush
  17783. Ffreq Tush
  17784. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(154)})),
  17785. Fdl: *(*struct {
  17786. Flen1 [0]Tush
  17787. Fdad Tush
  17788. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17789. },
  17790. 42: {
  17791. Ffc: *(*struct {
  17792. Fcode [0]Tush
  17793. Ffreq Tush
  17794. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(90)})),
  17795. Fdl: *(*struct {
  17796. Flen1 [0]Tush
  17797. Fdad Tush
  17798. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17799. },
  17800. 43: {
  17801. Ffc: *(*struct {
  17802. Fcode [0]Tush
  17803. Ffreq Tush
  17804. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(218)})),
  17805. Fdl: *(*struct {
  17806. Flen1 [0]Tush
  17807. Fdad Tush
  17808. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17809. },
  17810. 44: {
  17811. Ffc: *(*struct {
  17812. Fcode [0]Tush
  17813. Ffreq Tush
  17814. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(58)})),
  17815. Fdl: *(*struct {
  17816. Flen1 [0]Tush
  17817. Fdad Tush
  17818. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17819. },
  17820. 45: {
  17821. Ffc: *(*struct {
  17822. Fcode [0]Tush
  17823. Ffreq Tush
  17824. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(186)})),
  17825. Fdl: *(*struct {
  17826. Flen1 [0]Tush
  17827. Fdad Tush
  17828. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17829. },
  17830. 46: {
  17831. Ffc: *(*struct {
  17832. Fcode [0]Tush
  17833. Ffreq Tush
  17834. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(122)})),
  17835. Fdl: *(*struct {
  17836. Flen1 [0]Tush
  17837. Fdad Tush
  17838. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17839. },
  17840. 47: {
  17841. Ffc: *(*struct {
  17842. Fcode [0]Tush
  17843. Ffreq Tush
  17844. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(250)})),
  17845. Fdl: *(*struct {
  17846. Flen1 [0]Tush
  17847. Fdad Tush
  17848. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17849. },
  17850. 48: {
  17851. Ffc: *(*struct {
  17852. Fcode [0]Tush
  17853. Ffreq Tush
  17854. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
  17855. Fdl: *(*struct {
  17856. Flen1 [0]Tush
  17857. Fdad Tush
  17858. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17859. },
  17860. 49: {
  17861. Ffc: *(*struct {
  17862. Fcode [0]Tush
  17863. Ffreq Tush
  17864. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(134)})),
  17865. Fdl: *(*struct {
  17866. Flen1 [0]Tush
  17867. Fdad Tush
  17868. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17869. },
  17870. 50: {
  17871. Ffc: *(*struct {
  17872. Fcode [0]Tush
  17873. Ffreq Tush
  17874. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(70)})),
  17875. Fdl: *(*struct {
  17876. Flen1 [0]Tush
  17877. Fdad Tush
  17878. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17879. },
  17880. 51: {
  17881. Ffc: *(*struct {
  17882. Fcode [0]Tush
  17883. Ffreq Tush
  17884. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(198)})),
  17885. Fdl: *(*struct {
  17886. Flen1 [0]Tush
  17887. Fdad Tush
  17888. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17889. },
  17890. 52: {
  17891. Ffc: *(*struct {
  17892. Fcode [0]Tush
  17893. Ffreq Tush
  17894. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(38)})),
  17895. Fdl: *(*struct {
  17896. Flen1 [0]Tush
  17897. Fdad Tush
  17898. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17899. },
  17900. 53: {
  17901. Ffc: *(*struct {
  17902. Fcode [0]Tush
  17903. Ffreq Tush
  17904. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(166)})),
  17905. Fdl: *(*struct {
  17906. Flen1 [0]Tush
  17907. Fdad Tush
  17908. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17909. },
  17910. 54: {
  17911. Ffc: *(*struct {
  17912. Fcode [0]Tush
  17913. Ffreq Tush
  17914. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(102)})),
  17915. Fdl: *(*struct {
  17916. Flen1 [0]Tush
  17917. Fdad Tush
  17918. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17919. },
  17920. 55: {
  17921. Ffc: *(*struct {
  17922. Fcode [0]Tush
  17923. Ffreq Tush
  17924. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(230)})),
  17925. Fdl: *(*struct {
  17926. Flen1 [0]Tush
  17927. Fdad Tush
  17928. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17929. },
  17930. 56: {
  17931. Ffc: *(*struct {
  17932. Fcode [0]Tush
  17933. Ffreq Tush
  17934. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
  17935. Fdl: *(*struct {
  17936. Flen1 [0]Tush
  17937. Fdad Tush
  17938. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17939. },
  17940. 57: {
  17941. Ffc: *(*struct {
  17942. Fcode [0]Tush
  17943. Ffreq Tush
  17944. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(150)})),
  17945. Fdl: *(*struct {
  17946. Flen1 [0]Tush
  17947. Fdad Tush
  17948. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17949. },
  17950. 58: {
  17951. Ffc: *(*struct {
  17952. Fcode [0]Tush
  17953. Ffreq Tush
  17954. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(86)})),
  17955. Fdl: *(*struct {
  17956. Flen1 [0]Tush
  17957. Fdad Tush
  17958. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17959. },
  17960. 59: {
  17961. Ffc: *(*struct {
  17962. Fcode [0]Tush
  17963. Ffreq Tush
  17964. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(214)})),
  17965. Fdl: *(*struct {
  17966. Flen1 [0]Tush
  17967. Fdad Tush
  17968. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17969. },
  17970. 60: {
  17971. Ffc: *(*struct {
  17972. Fcode [0]Tush
  17973. Ffreq Tush
  17974. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(54)})),
  17975. Fdl: *(*struct {
  17976. Flen1 [0]Tush
  17977. Fdad Tush
  17978. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17979. },
  17980. 61: {
  17981. Ffc: *(*struct {
  17982. Fcode [0]Tush
  17983. Ffreq Tush
  17984. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(182)})),
  17985. Fdl: *(*struct {
  17986. Flen1 [0]Tush
  17987. Fdad Tush
  17988. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17989. },
  17990. 62: {
  17991. Ffc: *(*struct {
  17992. Fcode [0]Tush
  17993. Ffreq Tush
  17994. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(118)})),
  17995. Fdl: *(*struct {
  17996. Flen1 [0]Tush
  17997. Fdad Tush
  17998. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17999. },
  18000. 63: {
  18001. Ffc: *(*struct {
  18002. Fcode [0]Tush
  18003. Ffreq Tush
  18004. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(246)})),
  18005. Fdl: *(*struct {
  18006. Flen1 [0]Tush
  18007. Fdad Tush
  18008. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18009. },
  18010. 64: {
  18011. Ffc: *(*struct {
  18012. Fcode [0]Tush
  18013. Ffreq Tush
  18014. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
  18015. Fdl: *(*struct {
  18016. Flen1 [0]Tush
  18017. Fdad Tush
  18018. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18019. },
  18020. 65: {
  18021. Ffc: *(*struct {
  18022. Fcode [0]Tush
  18023. Ffreq Tush
  18024. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(142)})),
  18025. Fdl: *(*struct {
  18026. Flen1 [0]Tush
  18027. Fdad Tush
  18028. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18029. },
  18030. 66: {
  18031. Ffc: *(*struct {
  18032. Fcode [0]Tush
  18033. Ffreq Tush
  18034. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(78)})),
  18035. Fdl: *(*struct {
  18036. Flen1 [0]Tush
  18037. Fdad Tush
  18038. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18039. },
  18040. 67: {
  18041. Ffc: *(*struct {
  18042. Fcode [0]Tush
  18043. Ffreq Tush
  18044. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(206)})),
  18045. Fdl: *(*struct {
  18046. Flen1 [0]Tush
  18047. Fdad Tush
  18048. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18049. },
  18050. 68: {
  18051. Ffc: *(*struct {
  18052. Fcode [0]Tush
  18053. Ffreq Tush
  18054. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(46)})),
  18055. Fdl: *(*struct {
  18056. Flen1 [0]Tush
  18057. Fdad Tush
  18058. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18059. },
  18060. 69: {
  18061. Ffc: *(*struct {
  18062. Fcode [0]Tush
  18063. Ffreq Tush
  18064. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(174)})),
  18065. Fdl: *(*struct {
  18066. Flen1 [0]Tush
  18067. Fdad Tush
  18068. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18069. },
  18070. 70: {
  18071. Ffc: *(*struct {
  18072. Fcode [0]Tush
  18073. Ffreq Tush
  18074. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(110)})),
  18075. Fdl: *(*struct {
  18076. Flen1 [0]Tush
  18077. Fdad Tush
  18078. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18079. },
  18080. 71: {
  18081. Ffc: *(*struct {
  18082. Fcode [0]Tush
  18083. Ffreq Tush
  18084. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(238)})),
  18085. Fdl: *(*struct {
  18086. Flen1 [0]Tush
  18087. Fdad Tush
  18088. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18089. },
  18090. 72: {
  18091. Ffc: *(*struct {
  18092. Fcode [0]Tush
  18093. Ffreq Tush
  18094. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
  18095. Fdl: *(*struct {
  18096. Flen1 [0]Tush
  18097. Fdad Tush
  18098. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18099. },
  18100. 73: {
  18101. Ffc: *(*struct {
  18102. Fcode [0]Tush
  18103. Ffreq Tush
  18104. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(158)})),
  18105. Fdl: *(*struct {
  18106. Flen1 [0]Tush
  18107. Fdad Tush
  18108. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18109. },
  18110. 74: {
  18111. Ffc: *(*struct {
  18112. Fcode [0]Tush
  18113. Ffreq Tush
  18114. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(94)})),
  18115. Fdl: *(*struct {
  18116. Flen1 [0]Tush
  18117. Fdad Tush
  18118. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18119. },
  18120. 75: {
  18121. Ffc: *(*struct {
  18122. Fcode [0]Tush
  18123. Ffreq Tush
  18124. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(222)})),
  18125. Fdl: *(*struct {
  18126. Flen1 [0]Tush
  18127. Fdad Tush
  18128. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18129. },
  18130. 76: {
  18131. Ffc: *(*struct {
  18132. Fcode [0]Tush
  18133. Ffreq Tush
  18134. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(62)})),
  18135. Fdl: *(*struct {
  18136. Flen1 [0]Tush
  18137. Fdad Tush
  18138. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18139. },
  18140. 77: {
  18141. Ffc: *(*struct {
  18142. Fcode [0]Tush
  18143. Ffreq Tush
  18144. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(190)})),
  18145. Fdl: *(*struct {
  18146. Flen1 [0]Tush
  18147. Fdad Tush
  18148. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18149. },
  18150. 78: {
  18151. Ffc: *(*struct {
  18152. Fcode [0]Tush
  18153. Ffreq Tush
  18154. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(126)})),
  18155. Fdl: *(*struct {
  18156. Flen1 [0]Tush
  18157. Fdad Tush
  18158. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18159. },
  18160. 79: {
  18161. Ffc: *(*struct {
  18162. Fcode [0]Tush
  18163. Ffreq Tush
  18164. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(254)})),
  18165. Fdl: *(*struct {
  18166. Flen1 [0]Tush
  18167. Fdad Tush
  18168. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18169. },
  18170. 80: {
  18171. Ffc: *(*struct {
  18172. Fcode [0]Tush
  18173. Ffreq Tush
  18174. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
  18175. Fdl: *(*struct {
  18176. Flen1 [0]Tush
  18177. Fdad Tush
  18178. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18179. },
  18180. 81: {
  18181. Ffc: *(*struct {
  18182. Fcode [0]Tush
  18183. Ffreq Tush
  18184. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(129)})),
  18185. Fdl: *(*struct {
  18186. Flen1 [0]Tush
  18187. Fdad Tush
  18188. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18189. },
  18190. 82: {
  18191. Ffc: *(*struct {
  18192. Fcode [0]Tush
  18193. Ffreq Tush
  18194. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(65)})),
  18195. Fdl: *(*struct {
  18196. Flen1 [0]Tush
  18197. Fdad Tush
  18198. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18199. },
  18200. 83: {
  18201. Ffc: *(*struct {
  18202. Fcode [0]Tush
  18203. Ffreq Tush
  18204. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(193)})),
  18205. Fdl: *(*struct {
  18206. Flen1 [0]Tush
  18207. Fdad Tush
  18208. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18209. },
  18210. 84: {
  18211. Ffc: *(*struct {
  18212. Fcode [0]Tush
  18213. Ffreq Tush
  18214. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(33)})),
  18215. Fdl: *(*struct {
  18216. Flen1 [0]Tush
  18217. Fdad Tush
  18218. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18219. },
  18220. 85: {
  18221. Ffc: *(*struct {
  18222. Fcode [0]Tush
  18223. Ffreq Tush
  18224. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(161)})),
  18225. Fdl: *(*struct {
  18226. Flen1 [0]Tush
  18227. Fdad Tush
  18228. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18229. },
  18230. 86: {
  18231. Ffc: *(*struct {
  18232. Fcode [0]Tush
  18233. Ffreq Tush
  18234. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(97)})),
  18235. Fdl: *(*struct {
  18236. Flen1 [0]Tush
  18237. Fdad Tush
  18238. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18239. },
  18240. 87: {
  18241. Ffc: *(*struct {
  18242. Fcode [0]Tush
  18243. Ffreq Tush
  18244. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(225)})),
  18245. Fdl: *(*struct {
  18246. Flen1 [0]Tush
  18247. Fdad Tush
  18248. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18249. },
  18250. 88: {
  18251. Ffc: *(*struct {
  18252. Fcode [0]Tush
  18253. Ffreq Tush
  18254. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
  18255. Fdl: *(*struct {
  18256. Flen1 [0]Tush
  18257. Fdad Tush
  18258. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18259. },
  18260. 89: {
  18261. Ffc: *(*struct {
  18262. Fcode [0]Tush
  18263. Ffreq Tush
  18264. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(145)})),
  18265. Fdl: *(*struct {
  18266. Flen1 [0]Tush
  18267. Fdad Tush
  18268. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18269. },
  18270. 90: {
  18271. Ffc: *(*struct {
  18272. Fcode [0]Tush
  18273. Ffreq Tush
  18274. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(81)})),
  18275. Fdl: *(*struct {
  18276. Flen1 [0]Tush
  18277. Fdad Tush
  18278. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18279. },
  18280. 91: {
  18281. Ffc: *(*struct {
  18282. Fcode [0]Tush
  18283. Ffreq Tush
  18284. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(209)})),
  18285. Fdl: *(*struct {
  18286. Flen1 [0]Tush
  18287. Fdad Tush
  18288. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18289. },
  18290. 92: {
  18291. Ffc: *(*struct {
  18292. Fcode [0]Tush
  18293. Ffreq Tush
  18294. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(49)})),
  18295. Fdl: *(*struct {
  18296. Flen1 [0]Tush
  18297. Fdad Tush
  18298. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18299. },
  18300. 93: {
  18301. Ffc: *(*struct {
  18302. Fcode [0]Tush
  18303. Ffreq Tush
  18304. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(177)})),
  18305. Fdl: *(*struct {
  18306. Flen1 [0]Tush
  18307. Fdad Tush
  18308. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18309. },
  18310. 94: {
  18311. Ffc: *(*struct {
  18312. Fcode [0]Tush
  18313. Ffreq Tush
  18314. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(113)})),
  18315. Fdl: *(*struct {
  18316. Flen1 [0]Tush
  18317. Fdad Tush
  18318. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18319. },
  18320. 95: {
  18321. Ffc: *(*struct {
  18322. Fcode [0]Tush
  18323. Ffreq Tush
  18324. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(241)})),
  18325. Fdl: *(*struct {
  18326. Flen1 [0]Tush
  18327. Fdad Tush
  18328. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18329. },
  18330. 96: {
  18331. Ffc: *(*struct {
  18332. Fcode [0]Tush
  18333. Ffreq Tush
  18334. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18335. Fdl: *(*struct {
  18336. Flen1 [0]Tush
  18337. Fdad Tush
  18338. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18339. },
  18340. 97: {
  18341. Ffc: *(*struct {
  18342. Fcode [0]Tush
  18343. Ffreq Tush
  18344. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(137)})),
  18345. Fdl: *(*struct {
  18346. Flen1 [0]Tush
  18347. Fdad Tush
  18348. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18349. },
  18350. 98: {
  18351. Ffc: *(*struct {
  18352. Fcode [0]Tush
  18353. Ffreq Tush
  18354. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(73)})),
  18355. Fdl: *(*struct {
  18356. Flen1 [0]Tush
  18357. Fdad Tush
  18358. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18359. },
  18360. 99: {
  18361. Ffc: *(*struct {
  18362. Fcode [0]Tush
  18363. Ffreq Tush
  18364. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(201)})),
  18365. Fdl: *(*struct {
  18366. Flen1 [0]Tush
  18367. Fdad Tush
  18368. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18369. },
  18370. 100: {
  18371. Ffc: *(*struct {
  18372. Fcode [0]Tush
  18373. Ffreq Tush
  18374. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(41)})),
  18375. Fdl: *(*struct {
  18376. Flen1 [0]Tush
  18377. Fdad Tush
  18378. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18379. },
  18380. 101: {
  18381. Ffc: *(*struct {
  18382. Fcode [0]Tush
  18383. Ffreq Tush
  18384. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(169)})),
  18385. Fdl: *(*struct {
  18386. Flen1 [0]Tush
  18387. Fdad Tush
  18388. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18389. },
  18390. 102: {
  18391. Ffc: *(*struct {
  18392. Fcode [0]Tush
  18393. Ffreq Tush
  18394. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(105)})),
  18395. Fdl: *(*struct {
  18396. Flen1 [0]Tush
  18397. Fdad Tush
  18398. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18399. },
  18400. 103: {
  18401. Ffc: *(*struct {
  18402. Fcode [0]Tush
  18403. Ffreq Tush
  18404. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(233)})),
  18405. Fdl: *(*struct {
  18406. Flen1 [0]Tush
  18407. Fdad Tush
  18408. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18409. },
  18410. 104: {
  18411. Ffc: *(*struct {
  18412. Fcode [0]Tush
  18413. Ffreq Tush
  18414. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
  18415. Fdl: *(*struct {
  18416. Flen1 [0]Tush
  18417. Fdad Tush
  18418. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18419. },
  18420. 105: {
  18421. Ffc: *(*struct {
  18422. Fcode [0]Tush
  18423. Ffreq Tush
  18424. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(153)})),
  18425. Fdl: *(*struct {
  18426. Flen1 [0]Tush
  18427. Fdad Tush
  18428. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18429. },
  18430. 106: {
  18431. Ffc: *(*struct {
  18432. Fcode [0]Tush
  18433. Ffreq Tush
  18434. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(89)})),
  18435. Fdl: *(*struct {
  18436. Flen1 [0]Tush
  18437. Fdad Tush
  18438. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18439. },
  18440. 107: {
  18441. Ffc: *(*struct {
  18442. Fcode [0]Tush
  18443. Ffreq Tush
  18444. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(217)})),
  18445. Fdl: *(*struct {
  18446. Flen1 [0]Tush
  18447. Fdad Tush
  18448. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18449. },
  18450. 108: {
  18451. Ffc: *(*struct {
  18452. Fcode [0]Tush
  18453. Ffreq Tush
  18454. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(57)})),
  18455. Fdl: *(*struct {
  18456. Flen1 [0]Tush
  18457. Fdad Tush
  18458. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18459. },
  18460. 109: {
  18461. Ffc: *(*struct {
  18462. Fcode [0]Tush
  18463. Ffreq Tush
  18464. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(185)})),
  18465. Fdl: *(*struct {
  18466. Flen1 [0]Tush
  18467. Fdad Tush
  18468. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18469. },
  18470. 110: {
  18471. Ffc: *(*struct {
  18472. Fcode [0]Tush
  18473. Ffreq Tush
  18474. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(121)})),
  18475. Fdl: *(*struct {
  18476. Flen1 [0]Tush
  18477. Fdad Tush
  18478. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18479. },
  18480. 111: {
  18481. Ffc: *(*struct {
  18482. Fcode [0]Tush
  18483. Ffreq Tush
  18484. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(249)})),
  18485. Fdl: *(*struct {
  18486. Flen1 [0]Tush
  18487. Fdad Tush
  18488. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18489. },
  18490. 112: {
  18491. Ffc: *(*struct {
  18492. Fcode [0]Tush
  18493. Ffreq Tush
  18494. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  18495. Fdl: *(*struct {
  18496. Flen1 [0]Tush
  18497. Fdad Tush
  18498. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18499. },
  18500. 113: {
  18501. Ffc: *(*struct {
  18502. Fcode [0]Tush
  18503. Ffreq Tush
  18504. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(133)})),
  18505. Fdl: *(*struct {
  18506. Flen1 [0]Tush
  18507. Fdad Tush
  18508. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18509. },
  18510. 114: {
  18511. Ffc: *(*struct {
  18512. Fcode [0]Tush
  18513. Ffreq Tush
  18514. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(69)})),
  18515. Fdl: *(*struct {
  18516. Flen1 [0]Tush
  18517. Fdad Tush
  18518. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18519. },
  18520. 115: {
  18521. Ffc: *(*struct {
  18522. Fcode [0]Tush
  18523. Ffreq Tush
  18524. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(197)})),
  18525. Fdl: *(*struct {
  18526. Flen1 [0]Tush
  18527. Fdad Tush
  18528. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18529. },
  18530. 116: {
  18531. Ffc: *(*struct {
  18532. Fcode [0]Tush
  18533. Ffreq Tush
  18534. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(37)})),
  18535. Fdl: *(*struct {
  18536. Flen1 [0]Tush
  18537. Fdad Tush
  18538. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18539. },
  18540. 117: {
  18541. Ffc: *(*struct {
  18542. Fcode [0]Tush
  18543. Ffreq Tush
  18544. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(165)})),
  18545. Fdl: *(*struct {
  18546. Flen1 [0]Tush
  18547. Fdad Tush
  18548. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18549. },
  18550. 118: {
  18551. Ffc: *(*struct {
  18552. Fcode [0]Tush
  18553. Ffreq Tush
  18554. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(101)})),
  18555. Fdl: *(*struct {
  18556. Flen1 [0]Tush
  18557. Fdad Tush
  18558. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18559. },
  18560. 119: {
  18561. Ffc: *(*struct {
  18562. Fcode [0]Tush
  18563. Ffreq Tush
  18564. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(229)})),
  18565. Fdl: *(*struct {
  18566. Flen1 [0]Tush
  18567. Fdad Tush
  18568. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18569. },
  18570. 120: {
  18571. Ffc: *(*struct {
  18572. Fcode [0]Tush
  18573. Ffreq Tush
  18574. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
  18575. Fdl: *(*struct {
  18576. Flen1 [0]Tush
  18577. Fdad Tush
  18578. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18579. },
  18580. 121: {
  18581. Ffc: *(*struct {
  18582. Fcode [0]Tush
  18583. Ffreq Tush
  18584. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(149)})),
  18585. Fdl: *(*struct {
  18586. Flen1 [0]Tush
  18587. Fdad Tush
  18588. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18589. },
  18590. 122: {
  18591. Ffc: *(*struct {
  18592. Fcode [0]Tush
  18593. Ffreq Tush
  18594. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(85)})),
  18595. Fdl: *(*struct {
  18596. Flen1 [0]Tush
  18597. Fdad Tush
  18598. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18599. },
  18600. 123: {
  18601. Ffc: *(*struct {
  18602. Fcode [0]Tush
  18603. Ffreq Tush
  18604. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(213)})),
  18605. Fdl: *(*struct {
  18606. Flen1 [0]Tush
  18607. Fdad Tush
  18608. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18609. },
  18610. 124: {
  18611. Ffc: *(*struct {
  18612. Fcode [0]Tush
  18613. Ffreq Tush
  18614. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(53)})),
  18615. Fdl: *(*struct {
  18616. Flen1 [0]Tush
  18617. Fdad Tush
  18618. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18619. },
  18620. 125: {
  18621. Ffc: *(*struct {
  18622. Fcode [0]Tush
  18623. Ffreq Tush
  18624. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(181)})),
  18625. Fdl: *(*struct {
  18626. Flen1 [0]Tush
  18627. Fdad Tush
  18628. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18629. },
  18630. 126: {
  18631. Ffc: *(*struct {
  18632. Fcode [0]Tush
  18633. Ffreq Tush
  18634. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(117)})),
  18635. Fdl: *(*struct {
  18636. Flen1 [0]Tush
  18637. Fdad Tush
  18638. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18639. },
  18640. 127: {
  18641. Ffc: *(*struct {
  18642. Fcode [0]Tush
  18643. Ffreq Tush
  18644. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(245)})),
  18645. Fdl: *(*struct {
  18646. Flen1 [0]Tush
  18647. Fdad Tush
  18648. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18649. },
  18650. 128: {
  18651. Ffc: *(*struct {
  18652. Fcode [0]Tush
  18653. Ffreq Tush
  18654. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
  18655. Fdl: *(*struct {
  18656. Flen1 [0]Tush
  18657. Fdad Tush
  18658. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18659. },
  18660. 129: {
  18661. Ffc: *(*struct {
  18662. Fcode [0]Tush
  18663. Ffreq Tush
  18664. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(141)})),
  18665. Fdl: *(*struct {
  18666. Flen1 [0]Tush
  18667. Fdad Tush
  18668. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18669. },
  18670. 130: {
  18671. Ffc: *(*struct {
  18672. Fcode [0]Tush
  18673. Ffreq Tush
  18674. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(77)})),
  18675. Fdl: *(*struct {
  18676. Flen1 [0]Tush
  18677. Fdad Tush
  18678. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18679. },
  18680. 131: {
  18681. Ffc: *(*struct {
  18682. Fcode [0]Tush
  18683. Ffreq Tush
  18684. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(205)})),
  18685. Fdl: *(*struct {
  18686. Flen1 [0]Tush
  18687. Fdad Tush
  18688. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18689. },
  18690. 132: {
  18691. Ffc: *(*struct {
  18692. Fcode [0]Tush
  18693. Ffreq Tush
  18694. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(45)})),
  18695. Fdl: *(*struct {
  18696. Flen1 [0]Tush
  18697. Fdad Tush
  18698. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18699. },
  18700. 133: {
  18701. Ffc: *(*struct {
  18702. Fcode [0]Tush
  18703. Ffreq Tush
  18704. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(173)})),
  18705. Fdl: *(*struct {
  18706. Flen1 [0]Tush
  18707. Fdad Tush
  18708. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18709. },
  18710. 134: {
  18711. Ffc: *(*struct {
  18712. Fcode [0]Tush
  18713. Ffreq Tush
  18714. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(109)})),
  18715. Fdl: *(*struct {
  18716. Flen1 [0]Tush
  18717. Fdad Tush
  18718. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18719. },
  18720. 135: {
  18721. Ffc: *(*struct {
  18722. Fcode [0]Tush
  18723. Ffreq Tush
  18724. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(237)})),
  18725. Fdl: *(*struct {
  18726. Flen1 [0]Tush
  18727. Fdad Tush
  18728. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18729. },
  18730. 136: {
  18731. Ffc: *(*struct {
  18732. Fcode [0]Tush
  18733. Ffreq Tush
  18734. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
  18735. Fdl: *(*struct {
  18736. Flen1 [0]Tush
  18737. Fdad Tush
  18738. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18739. },
  18740. 137: {
  18741. Ffc: *(*struct {
  18742. Fcode [0]Tush
  18743. Ffreq Tush
  18744. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(157)})),
  18745. Fdl: *(*struct {
  18746. Flen1 [0]Tush
  18747. Fdad Tush
  18748. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18749. },
  18750. 138: {
  18751. Ffc: *(*struct {
  18752. Fcode [0]Tush
  18753. Ffreq Tush
  18754. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(93)})),
  18755. Fdl: *(*struct {
  18756. Flen1 [0]Tush
  18757. Fdad Tush
  18758. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18759. },
  18760. 139: {
  18761. Ffc: *(*struct {
  18762. Fcode [0]Tush
  18763. Ffreq Tush
  18764. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(221)})),
  18765. Fdl: *(*struct {
  18766. Flen1 [0]Tush
  18767. Fdad Tush
  18768. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18769. },
  18770. 140: {
  18771. Ffc: *(*struct {
  18772. Fcode [0]Tush
  18773. Ffreq Tush
  18774. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(61)})),
  18775. Fdl: *(*struct {
  18776. Flen1 [0]Tush
  18777. Fdad Tush
  18778. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18779. },
  18780. 141: {
  18781. Ffc: *(*struct {
  18782. Fcode [0]Tush
  18783. Ffreq Tush
  18784. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(189)})),
  18785. Fdl: *(*struct {
  18786. Flen1 [0]Tush
  18787. Fdad Tush
  18788. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18789. },
  18790. 142: {
  18791. Ffc: *(*struct {
  18792. Fcode [0]Tush
  18793. Ffreq Tush
  18794. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(125)})),
  18795. Fdl: *(*struct {
  18796. Flen1 [0]Tush
  18797. Fdad Tush
  18798. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18799. },
  18800. 143: {
  18801. Ffc: *(*struct {
  18802. Fcode [0]Tush
  18803. Ffreq Tush
  18804. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(253)})),
  18805. Fdl: *(*struct {
  18806. Flen1 [0]Tush
  18807. Fdad Tush
  18808. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18809. },
  18810. 144: {
  18811. Ffc: *(*struct {
  18812. Fcode [0]Tush
  18813. Ffreq Tush
  18814. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
  18815. Fdl: *(*struct {
  18816. Flen1 [0]Tush
  18817. Fdad Tush
  18818. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18819. },
  18820. 145: {
  18821. Ffc: *(*struct {
  18822. Fcode [0]Tush
  18823. Ffreq Tush
  18824. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(275)})),
  18825. Fdl: *(*struct {
  18826. Flen1 [0]Tush
  18827. Fdad Tush
  18828. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18829. },
  18830. 146: {
  18831. Ffc: *(*struct {
  18832. Fcode [0]Tush
  18833. Ffreq Tush
  18834. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(147)})),
  18835. Fdl: *(*struct {
  18836. Flen1 [0]Tush
  18837. Fdad Tush
  18838. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18839. },
  18840. 147: {
  18841. Ffc: *(*struct {
  18842. Fcode [0]Tush
  18843. Ffreq Tush
  18844. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(403)})),
  18845. Fdl: *(*struct {
  18846. Flen1 [0]Tush
  18847. Fdad Tush
  18848. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18849. },
  18850. 148: {
  18851. Ffc: *(*struct {
  18852. Fcode [0]Tush
  18853. Ffreq Tush
  18854. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(83)})),
  18855. Fdl: *(*struct {
  18856. Flen1 [0]Tush
  18857. Fdad Tush
  18858. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18859. },
  18860. 149: {
  18861. Ffc: *(*struct {
  18862. Fcode [0]Tush
  18863. Ffreq Tush
  18864. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(339)})),
  18865. Fdl: *(*struct {
  18866. Flen1 [0]Tush
  18867. Fdad Tush
  18868. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18869. },
  18870. 150: {
  18871. Ffc: *(*struct {
  18872. Fcode [0]Tush
  18873. Ffreq Tush
  18874. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(211)})),
  18875. Fdl: *(*struct {
  18876. Flen1 [0]Tush
  18877. Fdad Tush
  18878. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18879. },
  18880. 151: {
  18881. Ffc: *(*struct {
  18882. Fcode [0]Tush
  18883. Ffreq Tush
  18884. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(467)})),
  18885. Fdl: *(*struct {
  18886. Flen1 [0]Tush
  18887. Fdad Tush
  18888. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18889. },
  18890. 152: {
  18891. Ffc: *(*struct {
  18892. Fcode [0]Tush
  18893. Ffreq Tush
  18894. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(51)})),
  18895. Fdl: *(*struct {
  18896. Flen1 [0]Tush
  18897. Fdad Tush
  18898. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18899. },
  18900. 153: {
  18901. Ffc: *(*struct {
  18902. Fcode [0]Tush
  18903. Ffreq Tush
  18904. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(307)})),
  18905. Fdl: *(*struct {
  18906. Flen1 [0]Tush
  18907. Fdad Tush
  18908. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18909. },
  18910. 154: {
  18911. Ffc: *(*struct {
  18912. Fcode [0]Tush
  18913. Ffreq Tush
  18914. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(179)})),
  18915. Fdl: *(*struct {
  18916. Flen1 [0]Tush
  18917. Fdad Tush
  18918. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18919. },
  18920. 155: {
  18921. Ffc: *(*struct {
  18922. Fcode [0]Tush
  18923. Ffreq Tush
  18924. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(435)})),
  18925. Fdl: *(*struct {
  18926. Flen1 [0]Tush
  18927. Fdad Tush
  18928. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18929. },
  18930. 156: {
  18931. Ffc: *(*struct {
  18932. Fcode [0]Tush
  18933. Ffreq Tush
  18934. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(115)})),
  18935. Fdl: *(*struct {
  18936. Flen1 [0]Tush
  18937. Fdad Tush
  18938. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18939. },
  18940. 157: {
  18941. Ffc: *(*struct {
  18942. Fcode [0]Tush
  18943. Ffreq Tush
  18944. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(371)})),
  18945. Fdl: *(*struct {
  18946. Flen1 [0]Tush
  18947. Fdad Tush
  18948. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18949. },
  18950. 158: {
  18951. Ffc: *(*struct {
  18952. Fcode [0]Tush
  18953. Ffreq Tush
  18954. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(243)})),
  18955. Fdl: *(*struct {
  18956. Flen1 [0]Tush
  18957. Fdad Tush
  18958. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18959. },
  18960. 159: {
  18961. Ffc: *(*struct {
  18962. Fcode [0]Tush
  18963. Ffreq Tush
  18964. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(499)})),
  18965. Fdl: *(*struct {
  18966. Flen1 [0]Tush
  18967. Fdad Tush
  18968. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18969. },
  18970. 160: {
  18971. Ffc: *(*struct {
  18972. Fcode [0]Tush
  18973. Ffreq Tush
  18974. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
  18975. Fdl: *(*struct {
  18976. Flen1 [0]Tush
  18977. Fdad Tush
  18978. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18979. },
  18980. 161: {
  18981. Ffc: *(*struct {
  18982. Fcode [0]Tush
  18983. Ffreq Tush
  18984. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(267)})),
  18985. Fdl: *(*struct {
  18986. Flen1 [0]Tush
  18987. Fdad Tush
  18988. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18989. },
  18990. 162: {
  18991. Ffc: *(*struct {
  18992. Fcode [0]Tush
  18993. Ffreq Tush
  18994. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(139)})),
  18995. Fdl: *(*struct {
  18996. Flen1 [0]Tush
  18997. Fdad Tush
  18998. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18999. },
  19000. 163: {
  19001. Ffc: *(*struct {
  19002. Fcode [0]Tush
  19003. Ffreq Tush
  19004. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(395)})),
  19005. Fdl: *(*struct {
  19006. Flen1 [0]Tush
  19007. Fdad Tush
  19008. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19009. },
  19010. 164: {
  19011. Ffc: *(*struct {
  19012. Fcode [0]Tush
  19013. Ffreq Tush
  19014. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(75)})),
  19015. Fdl: *(*struct {
  19016. Flen1 [0]Tush
  19017. Fdad Tush
  19018. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19019. },
  19020. 165: {
  19021. Ffc: *(*struct {
  19022. Fcode [0]Tush
  19023. Ffreq Tush
  19024. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(331)})),
  19025. Fdl: *(*struct {
  19026. Flen1 [0]Tush
  19027. Fdad Tush
  19028. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19029. },
  19030. 166: {
  19031. Ffc: *(*struct {
  19032. Fcode [0]Tush
  19033. Ffreq Tush
  19034. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(203)})),
  19035. Fdl: *(*struct {
  19036. Flen1 [0]Tush
  19037. Fdad Tush
  19038. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19039. },
  19040. 167: {
  19041. Ffc: *(*struct {
  19042. Fcode [0]Tush
  19043. Ffreq Tush
  19044. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(459)})),
  19045. Fdl: *(*struct {
  19046. Flen1 [0]Tush
  19047. Fdad Tush
  19048. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19049. },
  19050. 168: {
  19051. Ffc: *(*struct {
  19052. Fcode [0]Tush
  19053. Ffreq Tush
  19054. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(43)})),
  19055. Fdl: *(*struct {
  19056. Flen1 [0]Tush
  19057. Fdad Tush
  19058. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19059. },
  19060. 169: {
  19061. Ffc: *(*struct {
  19062. Fcode [0]Tush
  19063. Ffreq Tush
  19064. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(299)})),
  19065. Fdl: *(*struct {
  19066. Flen1 [0]Tush
  19067. Fdad Tush
  19068. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19069. },
  19070. 170: {
  19071. Ffc: *(*struct {
  19072. Fcode [0]Tush
  19073. Ffreq Tush
  19074. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(171)})),
  19075. Fdl: *(*struct {
  19076. Flen1 [0]Tush
  19077. Fdad Tush
  19078. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19079. },
  19080. 171: {
  19081. Ffc: *(*struct {
  19082. Fcode [0]Tush
  19083. Ffreq Tush
  19084. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(427)})),
  19085. Fdl: *(*struct {
  19086. Flen1 [0]Tush
  19087. Fdad Tush
  19088. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19089. },
  19090. 172: {
  19091. Ffc: *(*struct {
  19092. Fcode [0]Tush
  19093. Ffreq Tush
  19094. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(107)})),
  19095. Fdl: *(*struct {
  19096. Flen1 [0]Tush
  19097. Fdad Tush
  19098. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19099. },
  19100. 173: {
  19101. Ffc: *(*struct {
  19102. Fcode [0]Tush
  19103. Ffreq Tush
  19104. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(363)})),
  19105. Fdl: *(*struct {
  19106. Flen1 [0]Tush
  19107. Fdad Tush
  19108. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19109. },
  19110. 174: {
  19111. Ffc: *(*struct {
  19112. Fcode [0]Tush
  19113. Ffreq Tush
  19114. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(235)})),
  19115. Fdl: *(*struct {
  19116. Flen1 [0]Tush
  19117. Fdad Tush
  19118. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19119. },
  19120. 175: {
  19121. Ffc: *(*struct {
  19122. Fcode [0]Tush
  19123. Ffreq Tush
  19124. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(491)})),
  19125. Fdl: *(*struct {
  19126. Flen1 [0]Tush
  19127. Fdad Tush
  19128. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19129. },
  19130. 176: {
  19131. Ffc: *(*struct {
  19132. Fcode [0]Tush
  19133. Ffreq Tush
  19134. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
  19135. Fdl: *(*struct {
  19136. Flen1 [0]Tush
  19137. Fdad Tush
  19138. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19139. },
  19140. 177: {
  19141. Ffc: *(*struct {
  19142. Fcode [0]Tush
  19143. Ffreq Tush
  19144. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(283)})),
  19145. Fdl: *(*struct {
  19146. Flen1 [0]Tush
  19147. Fdad Tush
  19148. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19149. },
  19150. 178: {
  19151. Ffc: *(*struct {
  19152. Fcode [0]Tush
  19153. Ffreq Tush
  19154. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(155)})),
  19155. Fdl: *(*struct {
  19156. Flen1 [0]Tush
  19157. Fdad Tush
  19158. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19159. },
  19160. 179: {
  19161. Ffc: *(*struct {
  19162. Fcode [0]Tush
  19163. Ffreq Tush
  19164. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(411)})),
  19165. Fdl: *(*struct {
  19166. Flen1 [0]Tush
  19167. Fdad Tush
  19168. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19169. },
  19170. 180: {
  19171. Ffc: *(*struct {
  19172. Fcode [0]Tush
  19173. Ffreq Tush
  19174. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(91)})),
  19175. Fdl: *(*struct {
  19176. Flen1 [0]Tush
  19177. Fdad Tush
  19178. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19179. },
  19180. 181: {
  19181. Ffc: *(*struct {
  19182. Fcode [0]Tush
  19183. Ffreq Tush
  19184. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(347)})),
  19185. Fdl: *(*struct {
  19186. Flen1 [0]Tush
  19187. Fdad Tush
  19188. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19189. },
  19190. 182: {
  19191. Ffc: *(*struct {
  19192. Fcode [0]Tush
  19193. Ffreq Tush
  19194. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(219)})),
  19195. Fdl: *(*struct {
  19196. Flen1 [0]Tush
  19197. Fdad Tush
  19198. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19199. },
  19200. 183: {
  19201. Ffc: *(*struct {
  19202. Fcode [0]Tush
  19203. Ffreq Tush
  19204. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(475)})),
  19205. Fdl: *(*struct {
  19206. Flen1 [0]Tush
  19207. Fdad Tush
  19208. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19209. },
  19210. 184: {
  19211. Ffc: *(*struct {
  19212. Fcode [0]Tush
  19213. Ffreq Tush
  19214. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(59)})),
  19215. Fdl: *(*struct {
  19216. Flen1 [0]Tush
  19217. Fdad Tush
  19218. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19219. },
  19220. 185: {
  19221. Ffc: *(*struct {
  19222. Fcode [0]Tush
  19223. Ffreq Tush
  19224. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(315)})),
  19225. Fdl: *(*struct {
  19226. Flen1 [0]Tush
  19227. Fdad Tush
  19228. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19229. },
  19230. 186: {
  19231. Ffc: *(*struct {
  19232. Fcode [0]Tush
  19233. Ffreq Tush
  19234. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(187)})),
  19235. Fdl: *(*struct {
  19236. Flen1 [0]Tush
  19237. Fdad Tush
  19238. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19239. },
  19240. 187: {
  19241. Ffc: *(*struct {
  19242. Fcode [0]Tush
  19243. Ffreq Tush
  19244. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(443)})),
  19245. Fdl: *(*struct {
  19246. Flen1 [0]Tush
  19247. Fdad Tush
  19248. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19249. },
  19250. 188: {
  19251. Ffc: *(*struct {
  19252. Fcode [0]Tush
  19253. Ffreq Tush
  19254. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(123)})),
  19255. Fdl: *(*struct {
  19256. Flen1 [0]Tush
  19257. Fdad Tush
  19258. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19259. },
  19260. 189: {
  19261. Ffc: *(*struct {
  19262. Fcode [0]Tush
  19263. Ffreq Tush
  19264. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(379)})),
  19265. Fdl: *(*struct {
  19266. Flen1 [0]Tush
  19267. Fdad Tush
  19268. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19269. },
  19270. 190: {
  19271. Ffc: *(*struct {
  19272. Fcode [0]Tush
  19273. Ffreq Tush
  19274. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(251)})),
  19275. Fdl: *(*struct {
  19276. Flen1 [0]Tush
  19277. Fdad Tush
  19278. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19279. },
  19280. 191: {
  19281. Ffc: *(*struct {
  19282. Fcode [0]Tush
  19283. Ffreq Tush
  19284. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(507)})),
  19285. Fdl: *(*struct {
  19286. Flen1 [0]Tush
  19287. Fdad Tush
  19288. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19289. },
  19290. 192: {
  19291. Ffc: *(*struct {
  19292. Fcode [0]Tush
  19293. Ffreq Tush
  19294. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19295. Fdl: *(*struct {
  19296. Flen1 [0]Tush
  19297. Fdad Tush
  19298. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19299. },
  19300. 193: {
  19301. Ffc: *(*struct {
  19302. Fcode [0]Tush
  19303. Ffreq Tush
  19304. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(263)})),
  19305. Fdl: *(*struct {
  19306. Flen1 [0]Tush
  19307. Fdad Tush
  19308. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19309. },
  19310. 194: {
  19311. Ffc: *(*struct {
  19312. Fcode [0]Tush
  19313. Ffreq Tush
  19314. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(135)})),
  19315. Fdl: *(*struct {
  19316. Flen1 [0]Tush
  19317. Fdad Tush
  19318. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19319. },
  19320. 195: {
  19321. Ffc: *(*struct {
  19322. Fcode [0]Tush
  19323. Ffreq Tush
  19324. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(391)})),
  19325. Fdl: *(*struct {
  19326. Flen1 [0]Tush
  19327. Fdad Tush
  19328. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19329. },
  19330. 196: {
  19331. Ffc: *(*struct {
  19332. Fcode [0]Tush
  19333. Ffreq Tush
  19334. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(71)})),
  19335. Fdl: *(*struct {
  19336. Flen1 [0]Tush
  19337. Fdad Tush
  19338. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19339. },
  19340. 197: {
  19341. Ffc: *(*struct {
  19342. Fcode [0]Tush
  19343. Ffreq Tush
  19344. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(327)})),
  19345. Fdl: *(*struct {
  19346. Flen1 [0]Tush
  19347. Fdad Tush
  19348. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19349. },
  19350. 198: {
  19351. Ffc: *(*struct {
  19352. Fcode [0]Tush
  19353. Ffreq Tush
  19354. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(199)})),
  19355. Fdl: *(*struct {
  19356. Flen1 [0]Tush
  19357. Fdad Tush
  19358. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19359. },
  19360. 199: {
  19361. Ffc: *(*struct {
  19362. Fcode [0]Tush
  19363. Ffreq Tush
  19364. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(455)})),
  19365. Fdl: *(*struct {
  19366. Flen1 [0]Tush
  19367. Fdad Tush
  19368. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19369. },
  19370. 200: {
  19371. Ffc: *(*struct {
  19372. Fcode [0]Tush
  19373. Ffreq Tush
  19374. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(39)})),
  19375. Fdl: *(*struct {
  19376. Flen1 [0]Tush
  19377. Fdad Tush
  19378. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19379. },
  19380. 201: {
  19381. Ffc: *(*struct {
  19382. Fcode [0]Tush
  19383. Ffreq Tush
  19384. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(295)})),
  19385. Fdl: *(*struct {
  19386. Flen1 [0]Tush
  19387. Fdad Tush
  19388. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19389. },
  19390. 202: {
  19391. Ffc: *(*struct {
  19392. Fcode [0]Tush
  19393. Ffreq Tush
  19394. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(167)})),
  19395. Fdl: *(*struct {
  19396. Flen1 [0]Tush
  19397. Fdad Tush
  19398. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19399. },
  19400. 203: {
  19401. Ffc: *(*struct {
  19402. Fcode [0]Tush
  19403. Ffreq Tush
  19404. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(423)})),
  19405. Fdl: *(*struct {
  19406. Flen1 [0]Tush
  19407. Fdad Tush
  19408. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19409. },
  19410. 204: {
  19411. Ffc: *(*struct {
  19412. Fcode [0]Tush
  19413. Ffreq Tush
  19414. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(103)})),
  19415. Fdl: *(*struct {
  19416. Flen1 [0]Tush
  19417. Fdad Tush
  19418. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19419. },
  19420. 205: {
  19421. Ffc: *(*struct {
  19422. Fcode [0]Tush
  19423. Ffreq Tush
  19424. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(359)})),
  19425. Fdl: *(*struct {
  19426. Flen1 [0]Tush
  19427. Fdad Tush
  19428. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19429. },
  19430. 206: {
  19431. Ffc: *(*struct {
  19432. Fcode [0]Tush
  19433. Ffreq Tush
  19434. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(231)})),
  19435. Fdl: *(*struct {
  19436. Flen1 [0]Tush
  19437. Fdad Tush
  19438. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19439. },
  19440. 207: {
  19441. Ffc: *(*struct {
  19442. Fcode [0]Tush
  19443. Ffreq Tush
  19444. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(487)})),
  19445. Fdl: *(*struct {
  19446. Flen1 [0]Tush
  19447. Fdad Tush
  19448. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19449. },
  19450. 208: {
  19451. Ffc: *(*struct {
  19452. Fcode [0]Tush
  19453. Ffreq Tush
  19454. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
  19455. Fdl: *(*struct {
  19456. Flen1 [0]Tush
  19457. Fdad Tush
  19458. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19459. },
  19460. 209: {
  19461. Ffc: *(*struct {
  19462. Fcode [0]Tush
  19463. Ffreq Tush
  19464. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(279)})),
  19465. Fdl: *(*struct {
  19466. Flen1 [0]Tush
  19467. Fdad Tush
  19468. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19469. },
  19470. 210: {
  19471. Ffc: *(*struct {
  19472. Fcode [0]Tush
  19473. Ffreq Tush
  19474. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(151)})),
  19475. Fdl: *(*struct {
  19476. Flen1 [0]Tush
  19477. Fdad Tush
  19478. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19479. },
  19480. 211: {
  19481. Ffc: *(*struct {
  19482. Fcode [0]Tush
  19483. Ffreq Tush
  19484. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(407)})),
  19485. Fdl: *(*struct {
  19486. Flen1 [0]Tush
  19487. Fdad Tush
  19488. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19489. },
  19490. 212: {
  19491. Ffc: *(*struct {
  19492. Fcode [0]Tush
  19493. Ffreq Tush
  19494. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(87)})),
  19495. Fdl: *(*struct {
  19496. Flen1 [0]Tush
  19497. Fdad Tush
  19498. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19499. },
  19500. 213: {
  19501. Ffc: *(*struct {
  19502. Fcode [0]Tush
  19503. Ffreq Tush
  19504. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(343)})),
  19505. Fdl: *(*struct {
  19506. Flen1 [0]Tush
  19507. Fdad Tush
  19508. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19509. },
  19510. 214: {
  19511. Ffc: *(*struct {
  19512. Fcode [0]Tush
  19513. Ffreq Tush
  19514. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(215)})),
  19515. Fdl: *(*struct {
  19516. Flen1 [0]Tush
  19517. Fdad Tush
  19518. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19519. },
  19520. 215: {
  19521. Ffc: *(*struct {
  19522. Fcode [0]Tush
  19523. Ffreq Tush
  19524. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(471)})),
  19525. Fdl: *(*struct {
  19526. Flen1 [0]Tush
  19527. Fdad Tush
  19528. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19529. },
  19530. 216: {
  19531. Ffc: *(*struct {
  19532. Fcode [0]Tush
  19533. Ffreq Tush
  19534. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(55)})),
  19535. Fdl: *(*struct {
  19536. Flen1 [0]Tush
  19537. Fdad Tush
  19538. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19539. },
  19540. 217: {
  19541. Ffc: *(*struct {
  19542. Fcode [0]Tush
  19543. Ffreq Tush
  19544. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(311)})),
  19545. Fdl: *(*struct {
  19546. Flen1 [0]Tush
  19547. Fdad Tush
  19548. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19549. },
  19550. 218: {
  19551. Ffc: *(*struct {
  19552. Fcode [0]Tush
  19553. Ffreq Tush
  19554. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(183)})),
  19555. Fdl: *(*struct {
  19556. Flen1 [0]Tush
  19557. Fdad Tush
  19558. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19559. },
  19560. 219: {
  19561. Ffc: *(*struct {
  19562. Fcode [0]Tush
  19563. Ffreq Tush
  19564. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(439)})),
  19565. Fdl: *(*struct {
  19566. Flen1 [0]Tush
  19567. Fdad Tush
  19568. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19569. },
  19570. 220: {
  19571. Ffc: *(*struct {
  19572. Fcode [0]Tush
  19573. Ffreq Tush
  19574. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(119)})),
  19575. Fdl: *(*struct {
  19576. Flen1 [0]Tush
  19577. Fdad Tush
  19578. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19579. },
  19580. 221: {
  19581. Ffc: *(*struct {
  19582. Fcode [0]Tush
  19583. Ffreq Tush
  19584. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(375)})),
  19585. Fdl: *(*struct {
  19586. Flen1 [0]Tush
  19587. Fdad Tush
  19588. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19589. },
  19590. 222: {
  19591. Ffc: *(*struct {
  19592. Fcode [0]Tush
  19593. Ffreq Tush
  19594. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(247)})),
  19595. Fdl: *(*struct {
  19596. Flen1 [0]Tush
  19597. Fdad Tush
  19598. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19599. },
  19600. 223: {
  19601. Ffc: *(*struct {
  19602. Fcode [0]Tush
  19603. Ffreq Tush
  19604. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(503)})),
  19605. Fdl: *(*struct {
  19606. Flen1 [0]Tush
  19607. Fdad Tush
  19608. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19609. },
  19610. 224: {
  19611. Ffc: *(*struct {
  19612. Fcode [0]Tush
  19613. Ffreq Tush
  19614. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(15)})),
  19615. Fdl: *(*struct {
  19616. Flen1 [0]Tush
  19617. Fdad Tush
  19618. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19619. },
  19620. 225: {
  19621. Ffc: *(*struct {
  19622. Fcode [0]Tush
  19623. Ffreq Tush
  19624. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(271)})),
  19625. Fdl: *(*struct {
  19626. Flen1 [0]Tush
  19627. Fdad Tush
  19628. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19629. },
  19630. 226: {
  19631. Ffc: *(*struct {
  19632. Fcode [0]Tush
  19633. Ffreq Tush
  19634. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(143)})),
  19635. Fdl: *(*struct {
  19636. Flen1 [0]Tush
  19637. Fdad Tush
  19638. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19639. },
  19640. 227: {
  19641. Ffc: *(*struct {
  19642. Fcode [0]Tush
  19643. Ffreq Tush
  19644. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(399)})),
  19645. Fdl: *(*struct {
  19646. Flen1 [0]Tush
  19647. Fdad Tush
  19648. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19649. },
  19650. 228: {
  19651. Ffc: *(*struct {
  19652. Fcode [0]Tush
  19653. Ffreq Tush
  19654. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(79)})),
  19655. Fdl: *(*struct {
  19656. Flen1 [0]Tush
  19657. Fdad Tush
  19658. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19659. },
  19660. 229: {
  19661. Ffc: *(*struct {
  19662. Fcode [0]Tush
  19663. Ffreq Tush
  19664. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(335)})),
  19665. Fdl: *(*struct {
  19666. Flen1 [0]Tush
  19667. Fdad Tush
  19668. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19669. },
  19670. 230: {
  19671. Ffc: *(*struct {
  19672. Fcode [0]Tush
  19673. Ffreq Tush
  19674. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(207)})),
  19675. Fdl: *(*struct {
  19676. Flen1 [0]Tush
  19677. Fdad Tush
  19678. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19679. },
  19680. 231: {
  19681. Ffc: *(*struct {
  19682. Fcode [0]Tush
  19683. Ffreq Tush
  19684. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(463)})),
  19685. Fdl: *(*struct {
  19686. Flen1 [0]Tush
  19687. Fdad Tush
  19688. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19689. },
  19690. 232: {
  19691. Ffc: *(*struct {
  19692. Fcode [0]Tush
  19693. Ffreq Tush
  19694. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(47)})),
  19695. Fdl: *(*struct {
  19696. Flen1 [0]Tush
  19697. Fdad Tush
  19698. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19699. },
  19700. 233: {
  19701. Ffc: *(*struct {
  19702. Fcode [0]Tush
  19703. Ffreq Tush
  19704. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(303)})),
  19705. Fdl: *(*struct {
  19706. Flen1 [0]Tush
  19707. Fdad Tush
  19708. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19709. },
  19710. 234: {
  19711. Ffc: *(*struct {
  19712. Fcode [0]Tush
  19713. Ffreq Tush
  19714. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(175)})),
  19715. Fdl: *(*struct {
  19716. Flen1 [0]Tush
  19717. Fdad Tush
  19718. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19719. },
  19720. 235: {
  19721. Ffc: *(*struct {
  19722. Fcode [0]Tush
  19723. Ffreq Tush
  19724. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(431)})),
  19725. Fdl: *(*struct {
  19726. Flen1 [0]Tush
  19727. Fdad Tush
  19728. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19729. },
  19730. 236: {
  19731. Ffc: *(*struct {
  19732. Fcode [0]Tush
  19733. Ffreq Tush
  19734. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(111)})),
  19735. Fdl: *(*struct {
  19736. Flen1 [0]Tush
  19737. Fdad Tush
  19738. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19739. },
  19740. 237: {
  19741. Ffc: *(*struct {
  19742. Fcode [0]Tush
  19743. Ffreq Tush
  19744. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(367)})),
  19745. Fdl: *(*struct {
  19746. Flen1 [0]Tush
  19747. Fdad Tush
  19748. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19749. },
  19750. 238: {
  19751. Ffc: *(*struct {
  19752. Fcode [0]Tush
  19753. Ffreq Tush
  19754. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(239)})),
  19755. Fdl: *(*struct {
  19756. Flen1 [0]Tush
  19757. Fdad Tush
  19758. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19759. },
  19760. 239: {
  19761. Ffc: *(*struct {
  19762. Fcode [0]Tush
  19763. Ffreq Tush
  19764. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(495)})),
  19765. Fdl: *(*struct {
  19766. Flen1 [0]Tush
  19767. Fdad Tush
  19768. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19769. },
  19770. 240: {
  19771. Ffc: *(*struct {
  19772. Fcode [0]Tush
  19773. Ffreq Tush
  19774. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(31)})),
  19775. Fdl: *(*struct {
  19776. Flen1 [0]Tush
  19777. Fdad Tush
  19778. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19779. },
  19780. 241: {
  19781. Ffc: *(*struct {
  19782. Fcode [0]Tush
  19783. Ffreq Tush
  19784. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(287)})),
  19785. Fdl: *(*struct {
  19786. Flen1 [0]Tush
  19787. Fdad Tush
  19788. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19789. },
  19790. 242: {
  19791. Ffc: *(*struct {
  19792. Fcode [0]Tush
  19793. Ffreq Tush
  19794. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(159)})),
  19795. Fdl: *(*struct {
  19796. Flen1 [0]Tush
  19797. Fdad Tush
  19798. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19799. },
  19800. 243: {
  19801. Ffc: *(*struct {
  19802. Fcode [0]Tush
  19803. Ffreq Tush
  19804. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(415)})),
  19805. Fdl: *(*struct {
  19806. Flen1 [0]Tush
  19807. Fdad Tush
  19808. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19809. },
  19810. 244: {
  19811. Ffc: *(*struct {
  19812. Fcode [0]Tush
  19813. Ffreq Tush
  19814. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(95)})),
  19815. Fdl: *(*struct {
  19816. Flen1 [0]Tush
  19817. Fdad Tush
  19818. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19819. },
  19820. 245: {
  19821. Ffc: *(*struct {
  19822. Fcode [0]Tush
  19823. Ffreq Tush
  19824. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(351)})),
  19825. Fdl: *(*struct {
  19826. Flen1 [0]Tush
  19827. Fdad Tush
  19828. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19829. },
  19830. 246: {
  19831. Ffc: *(*struct {
  19832. Fcode [0]Tush
  19833. Ffreq Tush
  19834. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(223)})),
  19835. Fdl: *(*struct {
  19836. Flen1 [0]Tush
  19837. Fdad Tush
  19838. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19839. },
  19840. 247: {
  19841. Ffc: *(*struct {
  19842. Fcode [0]Tush
  19843. Ffreq Tush
  19844. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(479)})),
  19845. Fdl: *(*struct {
  19846. Flen1 [0]Tush
  19847. Fdad Tush
  19848. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19849. },
  19850. 248: {
  19851. Ffc: *(*struct {
  19852. Fcode [0]Tush
  19853. Ffreq Tush
  19854. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(63)})),
  19855. Fdl: *(*struct {
  19856. Flen1 [0]Tush
  19857. Fdad Tush
  19858. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19859. },
  19860. 249: {
  19861. Ffc: *(*struct {
  19862. Fcode [0]Tush
  19863. Ffreq Tush
  19864. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(319)})),
  19865. Fdl: *(*struct {
  19866. Flen1 [0]Tush
  19867. Fdad Tush
  19868. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19869. },
  19870. 250: {
  19871. Ffc: *(*struct {
  19872. Fcode [0]Tush
  19873. Ffreq Tush
  19874. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(191)})),
  19875. Fdl: *(*struct {
  19876. Flen1 [0]Tush
  19877. Fdad Tush
  19878. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19879. },
  19880. 251: {
  19881. Ffc: *(*struct {
  19882. Fcode [0]Tush
  19883. Ffreq Tush
  19884. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(447)})),
  19885. Fdl: *(*struct {
  19886. Flen1 [0]Tush
  19887. Fdad Tush
  19888. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19889. },
  19890. 252: {
  19891. Ffc: *(*struct {
  19892. Fcode [0]Tush
  19893. Ffreq Tush
  19894. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(127)})),
  19895. Fdl: *(*struct {
  19896. Flen1 [0]Tush
  19897. Fdad Tush
  19898. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19899. },
  19900. 253: {
  19901. Ffc: *(*struct {
  19902. Fcode [0]Tush
  19903. Ffreq Tush
  19904. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(383)})),
  19905. Fdl: *(*struct {
  19906. Flen1 [0]Tush
  19907. Fdad Tush
  19908. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19909. },
  19910. 254: {
  19911. Ffc: *(*struct {
  19912. Fcode [0]Tush
  19913. Ffreq Tush
  19914. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(255)})),
  19915. Fdl: *(*struct {
  19916. Flen1 [0]Tush
  19917. Fdad Tush
  19918. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19919. },
  19920. 255: {
  19921. Ffc: *(*struct {
  19922. Fcode [0]Tush
  19923. Ffreq Tush
  19924. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(511)})),
  19925. Fdl: *(*struct {
  19926. Flen1 [0]Tush
  19927. Fdad Tush
  19928. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19929. },
  19930. 256: {
  19931. Fdl: *(*struct {
  19932. Flen1 [0]Tush
  19933. Fdad Tush
  19934. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19935. },
  19936. 257: {
  19937. Ffc: *(*struct {
  19938. Fcode [0]Tush
  19939. Ffreq Tush
  19940. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(64)})),
  19941. Fdl: *(*struct {
  19942. Flen1 [0]Tush
  19943. Fdad Tush
  19944. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19945. },
  19946. 258: {
  19947. Ffc: *(*struct {
  19948. Fcode [0]Tush
  19949. Ffreq Tush
  19950. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(32)})),
  19951. Fdl: *(*struct {
  19952. Flen1 [0]Tush
  19953. Fdad Tush
  19954. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19955. },
  19956. 259: {
  19957. Ffc: *(*struct {
  19958. Fcode [0]Tush
  19959. Ffreq Tush
  19960. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(96)})),
  19961. Fdl: *(*struct {
  19962. Flen1 [0]Tush
  19963. Fdad Tush
  19964. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19965. },
  19966. 260: {
  19967. Ffc: *(*struct {
  19968. Fcode [0]Tush
  19969. Ffreq Tush
  19970. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
  19971. Fdl: *(*struct {
  19972. Flen1 [0]Tush
  19973. Fdad Tush
  19974. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19975. },
  19976. 261: {
  19977. Ffc: *(*struct {
  19978. Fcode [0]Tush
  19979. Ffreq Tush
  19980. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(80)})),
  19981. Fdl: *(*struct {
  19982. Flen1 [0]Tush
  19983. Fdad Tush
  19984. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19985. },
  19986. 262: {
  19987. Ffc: *(*struct {
  19988. Fcode [0]Tush
  19989. Ffreq Tush
  19990. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(48)})),
  19991. Fdl: *(*struct {
  19992. Flen1 [0]Tush
  19993. Fdad Tush
  19994. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19995. },
  19996. 263: {
  19997. Ffc: *(*struct {
  19998. Fcode [0]Tush
  19999. Ffreq Tush
  20000. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(112)})),
  20001. Fdl: *(*struct {
  20002. Flen1 [0]Tush
  20003. Fdad Tush
  20004. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20005. },
  20006. 264: {
  20007. Ffc: *(*struct {
  20008. Fcode [0]Tush
  20009. Ffreq Tush
  20010. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20011. Fdl: *(*struct {
  20012. Flen1 [0]Tush
  20013. Fdad Tush
  20014. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20015. },
  20016. 265: {
  20017. Ffc: *(*struct {
  20018. Fcode [0]Tush
  20019. Ffreq Tush
  20020. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(72)})),
  20021. Fdl: *(*struct {
  20022. Flen1 [0]Tush
  20023. Fdad Tush
  20024. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20025. },
  20026. 266: {
  20027. Ffc: *(*struct {
  20028. Fcode [0]Tush
  20029. Ffreq Tush
  20030. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(40)})),
  20031. Fdl: *(*struct {
  20032. Flen1 [0]Tush
  20033. Fdad Tush
  20034. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20035. },
  20036. 267: {
  20037. Ffc: *(*struct {
  20038. Fcode [0]Tush
  20039. Ffreq Tush
  20040. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(104)})),
  20041. Fdl: *(*struct {
  20042. Flen1 [0]Tush
  20043. Fdad Tush
  20044. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20045. },
  20046. 268: {
  20047. Ffc: *(*struct {
  20048. Fcode [0]Tush
  20049. Ffreq Tush
  20050. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
  20051. Fdl: *(*struct {
  20052. Flen1 [0]Tush
  20053. Fdad Tush
  20054. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20055. },
  20056. 269: {
  20057. Ffc: *(*struct {
  20058. Fcode [0]Tush
  20059. Ffreq Tush
  20060. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(88)})),
  20061. Fdl: *(*struct {
  20062. Flen1 [0]Tush
  20063. Fdad Tush
  20064. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20065. },
  20066. 270: {
  20067. Ffc: *(*struct {
  20068. Fcode [0]Tush
  20069. Ffreq Tush
  20070. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(56)})),
  20071. Fdl: *(*struct {
  20072. Flen1 [0]Tush
  20073. Fdad Tush
  20074. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20075. },
  20076. 271: {
  20077. Ffc: *(*struct {
  20078. Fcode [0]Tush
  20079. Ffreq Tush
  20080. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(120)})),
  20081. Fdl: *(*struct {
  20082. Flen1 [0]Tush
  20083. Fdad Tush
  20084. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20085. },
  20086. 272: {
  20087. Ffc: *(*struct {
  20088. Fcode [0]Tush
  20089. Ffreq Tush
  20090. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
  20091. Fdl: *(*struct {
  20092. Flen1 [0]Tush
  20093. Fdad Tush
  20094. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20095. },
  20096. 273: {
  20097. Ffc: *(*struct {
  20098. Fcode [0]Tush
  20099. Ffreq Tush
  20100. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(68)})),
  20101. Fdl: *(*struct {
  20102. Flen1 [0]Tush
  20103. Fdad Tush
  20104. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20105. },
  20106. 274: {
  20107. Ffc: *(*struct {
  20108. Fcode [0]Tush
  20109. Ffreq Tush
  20110. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(36)})),
  20111. Fdl: *(*struct {
  20112. Flen1 [0]Tush
  20113. Fdad Tush
  20114. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20115. },
  20116. 275: {
  20117. Ffc: *(*struct {
  20118. Fcode [0]Tush
  20119. Ffreq Tush
  20120. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(100)})),
  20121. Fdl: *(*struct {
  20122. Flen1 [0]Tush
  20123. Fdad Tush
  20124. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20125. },
  20126. 276: {
  20127. Ffc: *(*struct {
  20128. Fcode [0]Tush
  20129. Ffreq Tush
  20130. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(20)})),
  20131. Fdl: *(*struct {
  20132. Flen1 [0]Tush
  20133. Fdad Tush
  20134. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20135. },
  20136. 277: {
  20137. Ffc: *(*struct {
  20138. Fcode [0]Tush
  20139. Ffreq Tush
  20140. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(84)})),
  20141. Fdl: *(*struct {
  20142. Flen1 [0]Tush
  20143. Fdad Tush
  20144. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20145. },
  20146. 278: {
  20147. Ffc: *(*struct {
  20148. Fcode [0]Tush
  20149. Ffreq Tush
  20150. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(52)})),
  20151. Fdl: *(*struct {
  20152. Flen1 [0]Tush
  20153. Fdad Tush
  20154. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20155. },
  20156. 279: {
  20157. Ffc: *(*struct {
  20158. Fcode [0]Tush
  20159. Ffreq Tush
  20160. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(116)})),
  20161. Fdl: *(*struct {
  20162. Flen1 [0]Tush
  20163. Fdad Tush
  20164. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20165. },
  20166. 280: {
  20167. Ffc: *(*struct {
  20168. Fcode [0]Tush
  20169. Ffreq Tush
  20170. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
  20171. Fdl: *(*struct {
  20172. Flen1 [0]Tush
  20173. Fdad Tush
  20174. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20175. },
  20176. 281: {
  20177. Ffc: *(*struct {
  20178. Fcode [0]Tush
  20179. Ffreq Tush
  20180. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(131)})),
  20181. Fdl: *(*struct {
  20182. Flen1 [0]Tush
  20183. Fdad Tush
  20184. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20185. },
  20186. 282: {
  20187. Ffc: *(*struct {
  20188. Fcode [0]Tush
  20189. Ffreq Tush
  20190. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(67)})),
  20191. Fdl: *(*struct {
  20192. Flen1 [0]Tush
  20193. Fdad Tush
  20194. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20195. },
  20196. 283: {
  20197. Ffc: *(*struct {
  20198. Fcode [0]Tush
  20199. Ffreq Tush
  20200. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(195)})),
  20201. Fdl: *(*struct {
  20202. Flen1 [0]Tush
  20203. Fdad Tush
  20204. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20205. },
  20206. 284: {
  20207. Ffc: *(*struct {
  20208. Fcode [0]Tush
  20209. Ffreq Tush
  20210. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(35)})),
  20211. Fdl: *(*struct {
  20212. Flen1 [0]Tush
  20213. Fdad Tush
  20214. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20215. },
  20216. 285: {
  20217. Ffc: *(*struct {
  20218. Fcode [0]Tush
  20219. Ffreq Tush
  20220. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(163)})),
  20221. Fdl: *(*struct {
  20222. Flen1 [0]Tush
  20223. Fdad Tush
  20224. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20225. },
  20226. 286: {
  20227. Ffc: *(*struct {
  20228. Fcode [0]Tush
  20229. Ffreq Tush
  20230. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(99)})),
  20231. Fdl: *(*struct {
  20232. Flen1 [0]Tush
  20233. Fdad Tush
  20234. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20235. },
  20236. 287: {
  20237. Ffc: *(*struct {
  20238. Fcode [0]Tush
  20239. Ffreq Tush
  20240. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(227)})),
  20241. Fdl: *(*struct {
  20242. Flen1 [0]Tush
  20243. Fdad Tush
  20244. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20245. },
  20246. }
  20247. var _static_dtree = [30]Tct_data{
  20248. 0: {
  20249. Fdl: *(*struct {
  20250. Flen1 [0]Tush
  20251. Fdad Tush
  20252. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20253. },
  20254. 1: {
  20255. Ffc: *(*struct {
  20256. Fcode [0]Tush
  20257. Ffreq Tush
  20258. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
  20259. Fdl: *(*struct {
  20260. Flen1 [0]Tush
  20261. Fdad Tush
  20262. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20263. },
  20264. 2: {
  20265. Ffc: *(*struct {
  20266. Fcode [0]Tush
  20267. Ffreq Tush
  20268. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20269. Fdl: *(*struct {
  20270. Flen1 [0]Tush
  20271. Fdad Tush
  20272. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20273. },
  20274. 3: {
  20275. Ffc: *(*struct {
  20276. Fcode [0]Tush
  20277. Ffreq Tush
  20278. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
  20279. Fdl: *(*struct {
  20280. Flen1 [0]Tush
  20281. Fdad Tush
  20282. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20283. },
  20284. 4: {
  20285. Ffc: *(*struct {
  20286. Fcode [0]Tush
  20287. Ffreq Tush
  20288. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
  20289. Fdl: *(*struct {
  20290. Flen1 [0]Tush
  20291. Fdad Tush
  20292. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20293. },
  20294. 5: {
  20295. Ffc: *(*struct {
  20296. Fcode [0]Tush
  20297. Ffreq Tush
  20298. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(20)})),
  20299. Fdl: *(*struct {
  20300. Flen1 [0]Tush
  20301. Fdad Tush
  20302. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20303. },
  20304. 6: {
  20305. Ffc: *(*struct {
  20306. Fcode [0]Tush
  20307. Ffreq Tush
  20308. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
  20309. Fdl: *(*struct {
  20310. Flen1 [0]Tush
  20311. Fdad Tush
  20312. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20313. },
  20314. 7: {
  20315. Ffc: *(*struct {
  20316. Fcode [0]Tush
  20317. Ffreq Tush
  20318. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
  20319. Fdl: *(*struct {
  20320. Flen1 [0]Tush
  20321. Fdad Tush
  20322. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20323. },
  20324. 8: {
  20325. Ffc: *(*struct {
  20326. Fcode [0]Tush
  20327. Ffreq Tush
  20328. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
  20329. Fdl: *(*struct {
  20330. Flen1 [0]Tush
  20331. Fdad Tush
  20332. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20333. },
  20334. 9: {
  20335. Ffc: *(*struct {
  20336. Fcode [0]Tush
  20337. Ffreq Tush
  20338. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
  20339. Fdl: *(*struct {
  20340. Flen1 [0]Tush
  20341. Fdad Tush
  20342. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20343. },
  20344. 10: {
  20345. Ffc: *(*struct {
  20346. Fcode [0]Tush
  20347. Ffreq Tush
  20348. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
  20349. Fdl: *(*struct {
  20350. Flen1 [0]Tush
  20351. Fdad Tush
  20352. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20353. },
  20354. 11: {
  20355. Ffc: *(*struct {
  20356. Fcode [0]Tush
  20357. Ffreq Tush
  20358. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
  20359. Fdl: *(*struct {
  20360. Flen1 [0]Tush
  20361. Fdad Tush
  20362. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20363. },
  20364. 12: {
  20365. Ffc: *(*struct {
  20366. Fcode [0]Tush
  20367. Ffreq Tush
  20368. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
  20369. Fdl: *(*struct {
  20370. Flen1 [0]Tush
  20371. Fdad Tush
  20372. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20373. },
  20374. 13: {
  20375. Ffc: *(*struct {
  20376. Fcode [0]Tush
  20377. Ffreq Tush
  20378. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
  20379. Fdl: *(*struct {
  20380. Flen1 [0]Tush
  20381. Fdad Tush
  20382. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20383. },
  20384. 14: {
  20385. Ffc: *(*struct {
  20386. Fcode [0]Tush
  20387. Ffreq Tush
  20388. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
  20389. Fdl: *(*struct {
  20390. Flen1 [0]Tush
  20391. Fdad Tush
  20392. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20393. },
  20394. 15: {
  20395. Ffc: *(*struct {
  20396. Fcode [0]Tush
  20397. Ffreq Tush
  20398. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
  20399. Fdl: *(*struct {
  20400. Flen1 [0]Tush
  20401. Fdad Tush
  20402. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20403. },
  20404. 16: {
  20405. Ffc: *(*struct {
  20406. Fcode [0]Tush
  20407. Ffreq Tush
  20408. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
  20409. Fdl: *(*struct {
  20410. Flen1 [0]Tush
  20411. Fdad Tush
  20412. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20413. },
  20414. 17: {
  20415. Ffc: *(*struct {
  20416. Fcode [0]Tush
  20417. Ffreq Tush
  20418. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
  20419. Fdl: *(*struct {
  20420. Flen1 [0]Tush
  20421. Fdad Tush
  20422. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20423. },
  20424. 18: {
  20425. Ffc: *(*struct {
  20426. Fcode [0]Tush
  20427. Ffreq Tush
  20428. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20429. Fdl: *(*struct {
  20430. Flen1 [0]Tush
  20431. Fdad Tush
  20432. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20433. },
  20434. 19: {
  20435. Ffc: *(*struct {
  20436. Fcode [0]Tush
  20437. Ffreq Tush
  20438. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
  20439. Fdl: *(*struct {
  20440. Flen1 [0]Tush
  20441. Fdad Tush
  20442. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20443. },
  20444. 20: {
  20445. Ffc: *(*struct {
  20446. Fcode [0]Tush
  20447. Ffreq Tush
  20448. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20449. Fdl: *(*struct {
  20450. Flen1 [0]Tush
  20451. Fdad Tush
  20452. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20453. },
  20454. 21: {
  20455. Ffc: *(*struct {
  20456. Fcode [0]Tush
  20457. Ffreq Tush
  20458. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
  20459. Fdl: *(*struct {
  20460. Flen1 [0]Tush
  20461. Fdad Tush
  20462. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20463. },
  20464. 22: {
  20465. Ffc: *(*struct {
  20466. Fcode [0]Tush
  20467. Ffreq Tush
  20468. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
  20469. Fdl: *(*struct {
  20470. Flen1 [0]Tush
  20471. Fdad Tush
  20472. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20473. },
  20474. 23: {
  20475. Ffc: *(*struct {
  20476. Fcode [0]Tush
  20477. Ffreq Tush
  20478. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
  20479. Fdl: *(*struct {
  20480. Flen1 [0]Tush
  20481. Fdad Tush
  20482. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20483. },
  20484. 24: {
  20485. Ffc: *(*struct {
  20486. Fcode [0]Tush
  20487. Ffreq Tush
  20488. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
  20489. Fdl: *(*struct {
  20490. Flen1 [0]Tush
  20491. Fdad Tush
  20492. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20493. },
  20494. 25: {
  20495. Ffc: *(*struct {
  20496. Fcode [0]Tush
  20497. Ffreq Tush
  20498. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
  20499. Fdl: *(*struct {
  20500. Flen1 [0]Tush
  20501. Fdad Tush
  20502. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20503. },
  20504. 26: {
  20505. Ffc: *(*struct {
  20506. Fcode [0]Tush
  20507. Ffreq Tush
  20508. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
  20509. Fdl: *(*struct {
  20510. Flen1 [0]Tush
  20511. Fdad Tush
  20512. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20513. },
  20514. 27: {
  20515. Ffc: *(*struct {
  20516. Fcode [0]Tush
  20517. Ffreq Tush
  20518. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
  20519. Fdl: *(*struct {
  20520. Flen1 [0]Tush
  20521. Fdad Tush
  20522. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20523. },
  20524. 28: {
  20525. Ffc: *(*struct {
  20526. Fcode [0]Tush
  20527. Ffreq Tush
  20528. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20529. Fdl: *(*struct {
  20530. Flen1 [0]Tush
  20531. Fdad Tush
  20532. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20533. },
  20534. 29: {
  20535. Ffc: *(*struct {
  20536. Fcode [0]Tush
  20537. Ffreq Tush
  20538. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
  20539. Fdl: *(*struct {
  20540. Flen1 [0]Tush
  20541. Fdad Tush
  20542. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20543. },
  20544. }
  20545. var _base_length = [29]int32{
  20546. 1: int32(1),
  20547. 2: int32(2),
  20548. 3: int32(3),
  20549. 4: int32(4),
  20550. 5: int32(5),
  20551. 6: int32(6),
  20552. 7: int32(7),
  20553. 8: int32(8),
  20554. 9: int32(10),
  20555. 10: int32(12),
  20556. 11: int32(14),
  20557. 12: int32(16),
  20558. 13: int32(20),
  20559. 14: int32(24),
  20560. 15: int32(28),
  20561. 16: int32(32),
  20562. 17: int32(40),
  20563. 18: int32(48),
  20564. 19: int32(56),
  20565. 20: int32(64),
  20566. 21: int32(80),
  20567. 22: int32(96),
  20568. 23: int32(112),
  20569. 24: int32(128),
  20570. 25: int32(160),
  20571. 26: int32(192),
  20572. 27: int32(224),
  20573. }
  20574. var _base_dist = [30]int32{
  20575. 1: int32(1),
  20576. 2: int32(2),
  20577. 3: int32(3),
  20578. 4: int32(4),
  20579. 5: int32(6),
  20580. 6: int32(8),
  20581. 7: int32(12),
  20582. 8: int32(16),
  20583. 9: int32(24),
  20584. 10: int32(32),
  20585. 11: int32(48),
  20586. 12: int32(64),
  20587. 13: int32(96),
  20588. 14: int32(128),
  20589. 15: int32(192),
  20590. 16: int32(256),
  20591. 17: int32(384),
  20592. 18: int32(512),
  20593. 19: int32(768),
  20594. 20: int32(1024),
  20595. 21: int32(1536),
  20596. 22: int32(2048),
  20597. 23: int32(3072),
  20598. 24: int32(4096),
  20599. 25: int32(6144),
  20600. 26: int32(8192),
  20601. 27: int32(12288),
  20602. 28: int32(16384),
  20603. 29: int32(24576),
  20604. }
  20605. var _static_l_desc = Tstatic_tree_desc{
  20606. Fstatic_tree: uintptr(unsafe.Pointer(&_static_ltree)),
  20607. Fextra_bits: uintptr(unsafe.Pointer(&_extra_lbits)),
  20608. Fextra_base: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1),
  20609. Felems: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1) + libc.Int32FromInt32(m_LENGTH_CODES),
  20610. Fmax_length: int32(m_MAX_BITS),
  20611. }
  20612. var _static_d_desc = Tstatic_tree_desc{
  20613. Fstatic_tree: uintptr(unsafe.Pointer(&_static_dtree)),
  20614. Fextra_bits: uintptr(unsafe.Pointer(&_extra_dbits)),
  20615. Felems: int32(m_D_CODES),
  20616. Fmax_length: int32(m_MAX_BITS),
  20617. }
  20618. var _static_bl_desc = Tstatic_tree_desc{
  20619. Fextra_bits: uintptr(unsafe.Pointer(&_extra_blbits)),
  20620. Felems: int32(m_BL_CODES),
  20621. Fmax_length: int32(m_MAX_BL_BITS),
  20622. }
  20623. /* ===========================================================================
  20624. * Output a short LSB first on the stream.
  20625. * IN assertion: there is enough room in pendingBuf.
  20626. */
  20627. // C documentation
  20628. //
  20629. // /* ===========================================================================
  20630. // * Reverse the first len bits of a code, using straightforward code (a faster
  20631. // * method would use a table)
  20632. // * IN assertion: 1 <= len <= 15
  20633. // */
  20634. func _bi_reverse(tls *libc.TLS, code uint32, len1 int32) (r uint32) {
  20635. var res uint32
  20636. var v1 int32
  20637. _, _ = res, v1
  20638. res = uint32(0)
  20639. for {
  20640. res |= code & uint32(1)
  20641. code >>= uint32(1)
  20642. res <<= uint32(1)
  20643. goto _2
  20644. _2:
  20645. ;
  20646. len1--
  20647. v1 = len1
  20648. if !(v1 > 0) {
  20649. break
  20650. }
  20651. }
  20652. return res >> int32(1)
  20653. }
  20654. // C documentation
  20655. //
  20656. // /* ===========================================================================
  20657. // * Flush the bit buffer, keeping at most 7 bits in it.
  20658. // */
  20659. func _bi_flush(tls *libc.TLS, s uintptr) {
  20660. var v1, v3, v5 Tulg
  20661. var v2, v4, v6, p7 uintptr
  20662. _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, p7
  20663. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid == int32(16) {
  20664. v2 = s + 40
  20665. v1 = *(*Tulg)(unsafe.Pointer(v2))
  20666. *(*Tulg)(unsafe.Pointer(v2))++
  20667. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  20668. v4 = s + 40
  20669. v3 = *(*Tulg)(unsafe.Pointer(v4))
  20670. *(*Tulg)(unsafe.Pointer(v4))++
  20671. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  20672. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  20673. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  20674. } else {
  20675. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid >= int32(8) {
  20676. v6 = s + 40
  20677. v5 = *(*Tulg)(unsafe.Pointer(v6))
  20678. *(*Tulg)(unsafe.Pointer(v6))++
  20679. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
  20680. p7 = s + 5936
  20681. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) >> libc.Int32FromInt32(8))
  20682. *(*int32)(unsafe.Pointer(s + 5940)) -= int32(8)
  20683. }
  20684. }
  20685. }
  20686. // C documentation
  20687. //
  20688. // /* ===========================================================================
  20689. // * Flush the bit buffer and align the output on a byte boundary
  20690. // */
  20691. func _bi_windup(tls *libc.TLS, s uintptr) {
  20692. var v1, v3, v5 Tulg
  20693. var v2, v4, v6 uintptr
  20694. _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6
  20695. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > int32(8) {
  20696. v2 = s + 40
  20697. v1 = *(*Tulg)(unsafe.Pointer(v2))
  20698. *(*Tulg)(unsafe.Pointer(v2))++
  20699. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  20700. v4 = s + 40
  20701. v3 = *(*Tulg)(unsafe.Pointer(v4))
  20702. *(*Tulg)(unsafe.Pointer(v4))++
  20703. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  20704. } else {
  20705. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > 0 {
  20706. v6 = s + 40
  20707. v5 = *(*Tulg)(unsafe.Pointer(v6))
  20708. *(*Tulg)(unsafe.Pointer(v6))++
  20709. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
  20710. }
  20711. }
  20712. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  20713. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  20714. }
  20715. // C documentation
  20716. //
  20717. // /* ===========================================================================
  20718. // * Generate the codes for a given tree and bit counts (which need not be
  20719. // * optimal).
  20720. // * IN assertion: the array bl_count contains the bit length statistics for
  20721. // * the given tree and the field len is set for all tree elements.
  20722. // * OUT assertion: the field code is set for all tree elements of non
  20723. // * zero code length.
  20724. // */
  20725. func _gen_codes(tls *libc.TLS, tree uintptr, max_code int32, bl_count uintptr) {
  20726. bp := tls.Alloc(32)
  20727. defer tls.Free(32)
  20728. var bits, len1, n int32
  20729. var code uint32
  20730. var v3 Tush
  20731. var v4 uintptr
  20732. var _ /* next_code at bp+0 */ [16]Tush
  20733. _, _, _, _, _, _ = bits, code, len1, n, v3, v4 /* next code value for each bit length */
  20734. code = uint32(0) /* code index */
  20735. /* The distribution counts are first used to generate the code values
  20736. * without bit reversal.
  20737. */
  20738. bits = int32(1)
  20739. for {
  20740. if !(bits <= int32(m_MAX_BITS)) {
  20741. break
  20742. }
  20743. code = (code + uint32(*(*Tushf)(unsafe.Pointer(bl_count + uintptr(bits-int32(1))*2)))) << int32(1)
  20744. (*(*[16]Tush)(unsafe.Pointer(bp)))[bits] = uint16(code)
  20745. goto _1
  20746. _1:
  20747. ;
  20748. bits++
  20749. }
  20750. /* Check that the bit counts in bl_count are consistent. The last code
  20751. * must be all ones.
  20752. */
  20753. n = 0
  20754. for {
  20755. if !(n <= max_code) {
  20756. break
  20757. }
  20758. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))
  20759. if len1 == 0 {
  20760. goto _2
  20761. }
  20762. /* Now reverse the bits */
  20763. v4 = bp + uintptr(len1)*2
  20764. v3 = *(*Tush)(unsafe.Pointer(v4))
  20765. *(*Tush)(unsafe.Pointer(v4))++
  20766. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4)) = uint16(_bi_reverse(tls, uint32(v3), len1))
  20767. goto _2
  20768. _2:
  20769. ;
  20770. n++
  20771. }
  20772. }
  20773. /* Send a code of the given tree. c and tree must not have side effects */
  20774. /* ===========================================================================
  20775. * Send a value on a given number of bits.
  20776. * IN assertion: length <= 16 and value fits in length bits.
  20777. */
  20778. /* the arguments must not have side effects */
  20779. // C documentation
  20780. //
  20781. // /* ===========================================================================
  20782. // * Initialize the various 'constant' tables.
  20783. // */
  20784. func _tr_static_init(tls *libc.TLS) {
  20785. }
  20786. /* ===========================================================================
  20787. * Generate the file trees.h describing the static trees.
  20788. */
  20789. // C documentation
  20790. //
  20791. // /* ===========================================================================
  20792. // * Initialize a new block.
  20793. // */
  20794. func _init_block(tls *libc.TLS, s uintptr) {
  20795. var n int32
  20796. var v4 Tulg
  20797. var v5 TuInt
  20798. _, _, _ = n, v4, v5 /* iterates over tree elements */
  20799. /* Initialize the trees. */
  20800. n = 0
  20801. for {
  20802. if !(n < libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES)) {
  20803. break
  20804. }
  20805. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4)) = uint16(0)
  20806. goto _1
  20807. _1:
  20808. ;
  20809. n++
  20810. }
  20811. n = 0
  20812. for {
  20813. if !(n < int32(m_D_CODES)) {
  20814. break
  20815. }
  20816. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(n)*4)) = uint16(0)
  20817. goto _2
  20818. _2:
  20819. ;
  20820. n++
  20821. }
  20822. n = 0
  20823. for {
  20824. if !(n < int32(m_BL_CODES)) {
  20825. break
  20826. }
  20827. *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(n)*4)) = uint16(0)
  20828. goto _3
  20829. _3:
  20830. ;
  20831. n++
  20832. }
  20833. *(*Tush)(unsafe.Pointer(s + 212 + 256*4)) = uint16(1)
  20834. v4 = libc.Uint64FromInt64(0)
  20835. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len = v4
  20836. (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len = v4
  20837. v5 = libc.Uint32FromInt32(0)
  20838. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = v5
  20839. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next = v5
  20840. }
  20841. // C documentation
  20842. //
  20843. // /* ===========================================================================
  20844. // * Initialize the tree data structures for a new zlib stream.
  20845. // */
  20846. func x__tr_init(tls *libc.TLS, s uintptr) {
  20847. _tr_static_init(tls)
  20848. (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fdyn_tree = s + 212
  20849. (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_l_desc))
  20850. (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fdyn_tree = s + 2504
  20851. (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_d_desc))
  20852. (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fdyn_tree = s + 2748
  20853. (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_bl_desc))
  20854. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  20855. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  20856. /* Initialize the first block of the first file: */
  20857. _init_block(tls, s)
  20858. }
  20859. /* Index within the heap array of least frequent node in the Huffman tree */
  20860. /* ===========================================================================
  20861. * Remove the smallest element from the heap and recreate the heap with
  20862. * one less element. Updates heap and heap_len.
  20863. */
  20864. /* ===========================================================================
  20865. * Compares to subtrees, using the tree depth as tie breaker when
  20866. * the subtrees have equal frequency. This minimizes the worst case length.
  20867. */
  20868. // C documentation
  20869. //
  20870. // /* ===========================================================================
  20871. // * Restore the heap property by moving down the tree starting at node k,
  20872. // * exchanging a node with the smallest of its two sons if necessary, stopping
  20873. // * when the heap property is re-established (each father smaller than its
  20874. // * two sons).
  20875. // */
  20876. func _pqdownheap(tls *libc.TLS, s uintptr, tree uintptr, k int32) {
  20877. var j, v int32
  20878. _, _ = j, v
  20879. v = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4))
  20880. j = k << int32(1) /* left son of k */
  20881. for j <= (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len {
  20882. /* Set j to the smallest of the two sons: */
  20883. if j < (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len && (libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+int32(1))*4)))*4))) < libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+int32(1))*4)))*4))) == libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) && libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+int32(1))*4)))))) <= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))))))) {
  20884. j++
  20885. }
  20886. /* Exit if v is smaller than both sons */
  20887. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(v)*4))) < libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(v)*4))) == libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) && libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(v)))) <= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))))) {
  20888. break
  20889. }
  20890. /* Exchange v with the smallest son */
  20891. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))
  20892. k = j
  20893. /* And continue down the tree, setting j to the left son of k */
  20894. j <<= int32(1)
  20895. }
  20896. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = v
  20897. }
  20898. // C documentation
  20899. //
  20900. // /* ===========================================================================
  20901. // * Compute the optimal bit lengths for a tree and update the total bit length
  20902. // * for the current block.
  20903. // * IN assertion: the fields freq and dad are set, heap[heap_max] and
  20904. // * above are the tree nodes sorted by increasing frequency.
  20905. // * OUT assertions: the field len is set to the optimal bit length, the
  20906. // * array bl_count contains the frequencies for each bit length.
  20907. // * The length opt_len is updated; static_len is also updated if stree is
  20908. // * not null.
  20909. // */
  20910. func _gen_bitlen(tls *libc.TLS, s uintptr, desc uintptr) {
  20911. var base, bits, h, m, max_code, max_length, n, overflow, xbits, v5 int32
  20912. var extra, stree, tree, p3 uintptr
  20913. var f Tush
  20914. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, bits, extra, f, h, m, max_code, max_length, n, overflow, stree, tree, xbits, v5, p3
  20915. tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
  20916. max_code = (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code
  20917. stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
  20918. extra = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_bits
  20919. base = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_base
  20920. max_length = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fmax_length /* frequency */
  20921. overflow = 0 /* number of elements with bit length too large */
  20922. bits = 0
  20923. for {
  20924. if !(bits <= int32(m_MAX_BITS)) {
  20925. break
  20926. }
  20927. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)) = uint16(0)
  20928. goto _1
  20929. _1:
  20930. ;
  20931. bits++
  20932. }
  20933. /* In a first pass, compute the optimal bit lengths (which may
  20934. * overflow in the case of the bit length tree).
  20935. */
  20936. *(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max)*4)))*4 + 2)) = uint16(0) /* root of the heap */
  20937. h = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max + int32(1)
  20938. for {
  20939. if !(h < libc.Int32FromInt32(2)*(libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES))+libc.Int32FromInt32(1)) {
  20940. break
  20941. }
  20942. n = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(h)*4))
  20943. bits = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))*4 + 2))) + int32(1)
  20944. if bits > max_length {
  20945. bits = max_length
  20946. overflow++
  20947. }
  20948. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = libc.Uint16FromInt32(bits)
  20949. /* We overwrite tree[n].Dad which is no longer needed */
  20950. if n > max_code {
  20951. goto _2
  20952. } /* not a leaf node */
  20953. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))++
  20954. xbits = 0
  20955. if n >= base {
  20956. xbits = *(*Tintf)(unsafe.Pointer(extra + uintptr(n-base)*4))
  20957. }
  20958. f = *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))
  20959. *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(f) * uint64(libc.Uint32FromInt32(bits+xbits))
  20960. if stree != 0 {
  20961. *(*Tulg)(unsafe.Pointer(s + 5920)) += uint64(f) * uint64(libc.Uint32FromInt32(libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(stree + uintptr(n)*4 + 2)))+xbits))
  20962. }
  20963. goto _2
  20964. _2:
  20965. ;
  20966. h++
  20967. }
  20968. if overflow == 0 {
  20969. return
  20970. }
  20971. /* This happens for example on obj2 and pic of the Calgary corpus */
  20972. /* Find the first bit length which could increase: */
  20973. for cond := true; cond; cond = overflow > 0 {
  20974. bits = max_length - int32(1)
  20975. for libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))) == 0 {
  20976. bits--
  20977. }
  20978. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))-- /* move one leaf down the tree */
  20979. p3 = s + 2976 + uintptr(bits+int32(1))*2
  20980. *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + libc.Int32FromInt32(2)) /* move one overflow item as its brother */
  20981. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(max_length)*2))--
  20982. /* The brother of the overflow item also moves one step up,
  20983. * but this does not affect bl_count[max_length]
  20984. */
  20985. overflow -= int32(2)
  20986. }
  20987. /* Now recompute all bit lengths, scanning in increasing frequency.
  20988. * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
  20989. * lengths instead of fixing only the wrong ones. This idea is taken
  20990. * from 'ar' written by Haruhiko Okumura.)
  20991. */
  20992. bits = max_length
  20993. for {
  20994. if !(bits != 0) {
  20995. break
  20996. }
  20997. n = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)))
  20998. for n != 0 {
  20999. h--
  21000. v5 = h
  21001. m = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v5)*4))
  21002. if m > max_code {
  21003. continue
  21004. }
  21005. if uint32(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2))) != libc.Uint32FromInt32(bits) {
  21006. *(*Tulg)(unsafe.Pointer(s + 5912)) += (libc.Uint64FromInt32(bits) - uint64(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)))) * uint64(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4)))
  21007. *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = libc.Uint16FromInt32(bits)
  21008. }
  21009. n--
  21010. }
  21011. goto _4
  21012. _4:
  21013. ;
  21014. bits--
  21015. }
  21016. }
  21017. // C documentation
  21018. //
  21019. // /* ===========================================================================
  21020. // * Construct one Huffman tree and assigns the code bit strings and lengths.
  21021. // * Update the total bit length for the current block.
  21022. // * IN assertion: the field freq is set for all tree elements.
  21023. // * OUT assertions: the fields len and code are set to the optimal bit length
  21024. // * and corresponding code. The length opt_len is updated; static_len is
  21025. // * also updated if stree is not null. The field max_code is set.
  21026. // */
  21027. func _build_tree(tls *libc.TLS, s uintptr, desc uintptr) {
  21028. var elems, m, max_code, n, node, v11, v13, v15, v17, v19, v2, v20, v4, v5, v6, v7, v8 int32
  21029. var stree, tree, v12, v14, v16, v21, v3, v9 uintptr
  21030. var v18 Tush
  21031. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = elems, m, max_code, n, node, stree, tree, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v3, v4, v5, v6, v7, v8, v9
  21032. tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
  21033. stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
  21034. elems = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Felems /* iterate over heap elements */
  21035. max_code = -int32(1) /* new node being created */
  21036. /* Construct the initial heap, with least frequent element in
  21037. * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
  21038. * heap[0] is not used.
  21039. */
  21040. (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len = 0 /* new node being created */
  21041. /* Construct the initial heap, with least frequent element in
  21042. * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
  21043. * heap[0] is not used.
  21044. */
  21045. (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max = libc.Int32FromInt32(2)*(libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES)) + libc.Int32FromInt32(1)
  21046. n = 0
  21047. for {
  21048. if !(n < elems) {
  21049. break
  21050. }
  21051. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))) != 0 {
  21052. v3 = s + 5300
  21053. *(*int32)(unsafe.Pointer(v3))++
  21054. v2 = *(*int32)(unsafe.Pointer(v3))
  21055. v4 = n
  21056. max_code = v4
  21057. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v2)*4)) = v4
  21058. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))) = uint8(0)
  21059. } else {
  21060. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = uint16(0)
  21061. }
  21062. goto _1
  21063. _1:
  21064. ;
  21065. n++
  21066. }
  21067. /* The pkzip format requires that at least one distance code exists,
  21068. * and that at least one bit should be sent even if there is only one
  21069. * possible code. So to avoid special checks later on we force at least
  21070. * two codes of non zero frequency.
  21071. */
  21072. for (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len < int32(2) {
  21073. if max_code < int32(2) {
  21074. max_code++
  21075. v7 = max_code
  21076. v6 = v7
  21077. } else {
  21078. v6 = 0
  21079. }
  21080. v5 = v6
  21081. v9 = s + 5300
  21082. *(*int32)(unsafe.Pointer(v9))++
  21083. v8 = *(*int32)(unsafe.Pointer(v9))
  21084. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v8)*4)) = v5
  21085. node = v5
  21086. *(*Tush)(unsafe.Pointer(tree + uintptr(node)*4)) = uint16(1)
  21087. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = uint8(0)
  21088. (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len--
  21089. if stree != 0 {
  21090. *(*Tulg)(unsafe.Pointer(s + 5920)) -= uint64(*(*Tush)(unsafe.Pointer(stree + uintptr(node)*4 + 2)))
  21091. }
  21092. /* node is 0 or 1 so it does not have extra bits */
  21093. }
  21094. (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code = max_code
  21095. /* The elements heap[heap_len/2 + 1 .. heap_len] are leaves of the tree,
  21096. * establish sub-heaps of increasing lengths:
  21097. */
  21098. n = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len / int32(2)
  21099. for {
  21100. if !(n >= int32(1)) {
  21101. break
  21102. }
  21103. _pqdownheap(tls, s, tree, n)
  21104. goto _10
  21105. _10:
  21106. ;
  21107. n--
  21108. }
  21109. /* Construct the Huffman tree by repeatedly combining the least two
  21110. * frequent nodes.
  21111. */
  21112. node = elems /* next internal node of the tree */
  21113. for cond := true; cond; cond = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len >= int32(2) {
  21114. n = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
  21115. v12 = s + 5300
  21116. v11 = *(*int32)(unsafe.Pointer(v12))
  21117. *(*int32)(unsafe.Pointer(v12))--
  21118. *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v11)*4))
  21119. _pqdownheap(tls, s, tree, int32(m_SMALLEST)) /* n = node of least frequency */
  21120. m = *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) /* m = node of next least frequency */
  21121. v14 = s + 5304
  21122. *(*int32)(unsafe.Pointer(v14))--
  21123. v13 = *(*int32)(unsafe.Pointer(v14))
  21124. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v13)*4)) = n /* keep the nodes sorted by frequency */
  21125. v16 = s + 5304
  21126. *(*int32)(unsafe.Pointer(v16))--
  21127. v15 = *(*int32)(unsafe.Pointer(v16))
  21128. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v15)*4)) = m
  21129. /* Create a new node father of n and m */
  21130. *(*Tush)(unsafe.Pointer(tree + uintptr(node)*4)) = libc.Uint16FromInt32(libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))) + libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4))))
  21131. if libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n)))) >= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m)))) {
  21132. v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))))
  21133. } else {
  21134. v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m))))
  21135. }
  21136. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = libc.Uint8FromInt32(v17 + libc.Int32FromInt32(1))
  21137. v18 = libc.Uint16FromInt32(node)
  21138. *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = v18
  21139. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = v18
  21140. /* and insert the new node in the heap */
  21141. v19 = node
  21142. node++
  21143. *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = v19
  21144. _pqdownheap(tls, s, tree, int32(m_SMALLEST))
  21145. }
  21146. v21 = s + 5304
  21147. *(*int32)(unsafe.Pointer(v21))--
  21148. v20 = *(*int32)(unsafe.Pointer(v21))
  21149. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v20)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
  21150. /* At this point, the fields freq and dad are set. We can now
  21151. * generate the bit lengths.
  21152. */
  21153. _gen_bitlen(tls, s, desc)
  21154. /* The field len is now set, we can generate the bit codes */
  21155. _gen_codes(tls, tree, max_code, s+2976)
  21156. }
  21157. // C documentation
  21158. //
  21159. // /* ===========================================================================
  21160. // * Scan a literal or distance tree to determine the frequencies of the codes
  21161. // * in the bit length tree.
  21162. // */
  21163. func _scan_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
  21164. var count, curlen, max_count, min_count, n, nextlen, prevlen, v2 int32
  21165. var p3 uintptr
  21166. _, _, _, _, _, _, _, _, _ = count, curlen, max_count, min_count, n, nextlen, prevlen, v2, p3 /* iterates over all tree elements */
  21167. prevlen = -int32(1) /* length of current code */
  21168. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
  21169. count = 0 /* repeat count of the current code */
  21170. max_count = int32(7) /* max repeat count */
  21171. min_count = int32(4) /* min repeat count */
  21172. if nextlen == 0 {
  21173. max_count = int32(138)
  21174. min_count = libc.Int32FromInt32(3)
  21175. }
  21176. *(*Tush)(unsafe.Pointer(tree + uintptr(max_code+int32(1))*4 + 2)) = libc.Uint16FromInt32(0xffff) /* guard */
  21177. n = 0
  21178. for {
  21179. if !(n <= max_code) {
  21180. break
  21181. }
  21182. curlen = nextlen
  21183. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
  21184. count++
  21185. v2 = count
  21186. if v2 < max_count && curlen == nextlen {
  21187. goto _1
  21188. } else {
  21189. if count < min_count {
  21190. p3 = s + 2748 + uintptr(curlen)*4
  21191. *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + count)
  21192. } else {
  21193. if curlen != 0 {
  21194. if curlen != prevlen {
  21195. *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))++
  21196. }
  21197. *(*Tush)(unsafe.Pointer(s + 2748 + 16*4))++
  21198. } else {
  21199. if count <= int32(10) {
  21200. *(*Tush)(unsafe.Pointer(s + 2748 + 17*4))++
  21201. } else {
  21202. *(*Tush)(unsafe.Pointer(s + 2748 + 18*4))++
  21203. }
  21204. }
  21205. }
  21206. }
  21207. count = 0
  21208. prevlen = curlen
  21209. if nextlen == 0 {
  21210. max_count = int32(138)
  21211. min_count = libc.Int32FromInt32(3)
  21212. } else {
  21213. if curlen == nextlen {
  21214. max_count = int32(6)
  21215. min_count = libc.Int32FromInt32(3)
  21216. } else {
  21217. max_count = int32(7)
  21218. min_count = libc.Int32FromInt32(4)
  21219. }
  21220. }
  21221. goto _1
  21222. _1:
  21223. ;
  21224. n++
  21225. }
  21226. }
  21227. // C documentation
  21228. //
  21229. // /* ===========================================================================
  21230. // * Send a literal or distance tree in compressed form, using the codes in
  21231. // * bl_tree.
  21232. // */
  21233. func _send_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
  21234. var count, curlen, len1, len11, len2, len3, len4, len5, len6, len7, max_count, min_count, n, nextlen, prevlen, val, val1, val2, val3, val4, val5, val6, val7, v2, v3 int32
  21235. var v12, v14, v18, v20, v24, v26, v30, v32, v36, v38, v42, v44, v48, v50, v6, v8 Tulg
  21236. var v13, v15, v19, v21, v25, v27, v31, v33, v37, v39, v43, v45, v49, v51, v7, v9, p10, p11, p16, p17, p22, p23, p28, p29, p34, p35, p40, p41, p46, p47, p5, p52 uintptr
  21237. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = count, curlen, len1, len11, len2, len3, len4, len5, len6, len7, max_count, min_count, n, nextlen, prevlen, val, val1, val2, val3, val4, val5, val6, val7, v12, v13, v14, v15, v18, v19, v2, v20, v21, v24, v25, v26, v27, v3, v30, v31, v32, v33, v36, v37, v38, v39, v42, v43, v44, v45, v48, v49, v50, v51, v6, v7, v8, v9, p10, p11, p16, p17, p22, p23, p28, p29, p34, p35, p40, p41, p46, p47, p5, p52 /* iterates over all tree elements */
  21238. prevlen = -int32(1) /* length of current code */
  21239. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
  21240. count = 0 /* repeat count of the current code */
  21241. max_count = int32(7) /* max repeat count */
  21242. min_count = int32(4) /* min repeat count */
  21243. /* tree[max_code + 1].Len = -1; */ /* guard already set */
  21244. if nextlen == 0 {
  21245. max_count = int32(138)
  21246. min_count = libc.Int32FromInt32(3)
  21247. }
  21248. n = 0
  21249. for {
  21250. if !(n <= max_code) {
  21251. break
  21252. }
  21253. curlen = nextlen
  21254. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
  21255. count++
  21256. v2 = count
  21257. if v2 < max_count && curlen == nextlen {
  21258. goto _1
  21259. } else {
  21260. if count < min_count {
  21261. for {
  21262. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
  21263. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21264. val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
  21265. p5 = s + 5936
  21266. *(*Tush)(unsafe.Pointer(p5)) = Tush(int32(*(*Tush)(unsafe.Pointer(p5))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21267. v7 = s + 40
  21268. v6 = *(*Tulg)(unsafe.Pointer(v7))
  21269. *(*Tulg)(unsafe.Pointer(v7))++
  21270. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v6))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21271. v9 = s + 40
  21272. v8 = *(*Tulg)(unsafe.Pointer(v9))
  21273. *(*Tulg)(unsafe.Pointer(v9))++
  21274. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21275. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21276. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21277. } else {
  21278. p10 = s + 5936
  21279. *(*Tush)(unsafe.Pointer(p10)) = Tush(int32(*(*Tush)(unsafe.Pointer(p10))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21280. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21281. }
  21282. goto _4
  21283. _4:
  21284. ;
  21285. count--
  21286. v3 = count
  21287. if !(v3 != 0) {
  21288. break
  21289. }
  21290. }
  21291. } else {
  21292. if curlen != 0 {
  21293. if curlen != prevlen {
  21294. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
  21295. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21296. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
  21297. p11 = s + 5936
  21298. *(*Tush)(unsafe.Pointer(p11)) = Tush(int32(*(*Tush)(unsafe.Pointer(p11))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21299. v13 = s + 40
  21300. v12 = *(*Tulg)(unsafe.Pointer(v13))
  21301. *(*Tulg)(unsafe.Pointer(v13))++
  21302. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v12))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21303. v15 = s + 40
  21304. v14 = *(*Tulg)(unsafe.Pointer(v15))
  21305. *(*Tulg)(unsafe.Pointer(v15))++
  21306. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21307. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21308. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21309. } else {
  21310. p16 = s + 5936
  21311. *(*Tush)(unsafe.Pointer(p16)) = Tush(int32(*(*Tush)(unsafe.Pointer(p16))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21312. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21313. }
  21314. count--
  21315. }
  21316. len2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4 + 2)))
  21317. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  21318. val2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4)))
  21319. p17 = s + 5936
  21320. *(*Tush)(unsafe.Pointer(p17)) = Tush(int32(*(*Tush)(unsafe.Pointer(p17))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21321. v19 = s + 40
  21322. v18 = *(*Tulg)(unsafe.Pointer(v19))
  21323. *(*Tulg)(unsafe.Pointer(v19))++
  21324. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v18))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21325. v21 = s + 40
  21326. v20 = *(*Tulg)(unsafe.Pointer(v21))
  21327. *(*Tulg)(unsafe.Pointer(v21))++
  21328. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v20))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21329. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val2)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21330. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  21331. } else {
  21332. p22 = s + 5936
  21333. *(*Tush)(unsafe.Pointer(p22)) = Tush(int32(*(*Tush)(unsafe.Pointer(p22))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21334. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  21335. }
  21336. len3 = int32(2)
  21337. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  21338. val3 = count - int32(3)
  21339. p23 = s + 5936
  21340. *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21341. v25 = s + 40
  21342. v24 = *(*Tulg)(unsafe.Pointer(v25))
  21343. *(*Tulg)(unsafe.Pointer(v25))++
  21344. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21345. v27 = s + 40
  21346. v26 = *(*Tulg)(unsafe.Pointer(v27))
  21347. *(*Tulg)(unsafe.Pointer(v27))++
  21348. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21349. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val3)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21350. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  21351. } else {
  21352. p28 = s + 5936
  21353. *(*Tush)(unsafe.Pointer(p28)) = Tush(int32(*(*Tush)(unsafe.Pointer(p28))) | libc.Int32FromUint16(libc.Uint16FromInt32(count-libc.Int32FromInt32(3)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21354. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  21355. }
  21356. } else {
  21357. if count <= int32(10) {
  21358. len4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4 + 2)))
  21359. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
  21360. val4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4)))
  21361. p29 = s + 5936
  21362. *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21363. v31 = s + 40
  21364. v30 = *(*Tulg)(unsafe.Pointer(v31))
  21365. *(*Tulg)(unsafe.Pointer(v31))++
  21366. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v30))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21367. v33 = s + 40
  21368. v32 = *(*Tulg)(unsafe.Pointer(v33))
  21369. *(*Tulg)(unsafe.Pointer(v33))++
  21370. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v32))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21371. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val4)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21372. *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
  21373. } else {
  21374. p34 = s + 5936
  21375. *(*Tush)(unsafe.Pointer(p34)) = Tush(int32(*(*Tush)(unsafe.Pointer(p34))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21376. *(*int32)(unsafe.Pointer(s + 5940)) += len4
  21377. }
  21378. len5 = int32(3)
  21379. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
  21380. val5 = count - int32(3)
  21381. p35 = s + 5936
  21382. *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21383. v37 = s + 40
  21384. v36 = *(*Tulg)(unsafe.Pointer(v37))
  21385. *(*Tulg)(unsafe.Pointer(v37))++
  21386. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v36))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21387. v39 = s + 40
  21388. v38 = *(*Tulg)(unsafe.Pointer(v39))
  21389. *(*Tulg)(unsafe.Pointer(v39))++
  21390. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v38))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21391. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val5)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21392. *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
  21393. } else {
  21394. p40 = s + 5936
  21395. *(*Tush)(unsafe.Pointer(p40)) = Tush(int32(*(*Tush)(unsafe.Pointer(p40))) | libc.Int32FromUint16(libc.Uint16FromInt32(count-libc.Int32FromInt32(3)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21396. *(*int32)(unsafe.Pointer(s + 5940)) += len5
  21397. }
  21398. } else {
  21399. len6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4 + 2)))
  21400. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len6 {
  21401. val6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4)))
  21402. p41 = s + 5936
  21403. *(*Tush)(unsafe.Pointer(p41)) = Tush(int32(*(*Tush)(unsafe.Pointer(p41))) | libc.Int32FromUint16(libc.Uint16FromInt32(val6))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21404. v43 = s + 40
  21405. v42 = *(*Tulg)(unsafe.Pointer(v43))
  21406. *(*Tulg)(unsafe.Pointer(v43))++
  21407. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v42))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21408. v45 = s + 40
  21409. v44 = *(*Tulg)(unsafe.Pointer(v45))
  21410. *(*Tulg)(unsafe.Pointer(v45))++
  21411. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v44))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21412. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val6)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21413. *(*int32)(unsafe.Pointer(s + 5940)) += len6 - int32(m_Buf_size)
  21414. } else {
  21415. p46 = s + 5936
  21416. *(*Tush)(unsafe.Pointer(p46)) = Tush(int32(*(*Tush)(unsafe.Pointer(p46))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21417. *(*int32)(unsafe.Pointer(s + 5940)) += len6
  21418. }
  21419. len7 = int32(7)
  21420. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len7 {
  21421. val7 = count - int32(11)
  21422. p47 = s + 5936
  21423. *(*Tush)(unsafe.Pointer(p47)) = Tush(int32(*(*Tush)(unsafe.Pointer(p47))) | libc.Int32FromUint16(libc.Uint16FromInt32(val7))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21424. v49 = s + 40
  21425. v48 = *(*Tulg)(unsafe.Pointer(v49))
  21426. *(*Tulg)(unsafe.Pointer(v49))++
  21427. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v48))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21428. v51 = s + 40
  21429. v50 = *(*Tulg)(unsafe.Pointer(v51))
  21430. *(*Tulg)(unsafe.Pointer(v51))++
  21431. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v50))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21432. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val7)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21433. *(*int32)(unsafe.Pointer(s + 5940)) += len7 - int32(m_Buf_size)
  21434. } else {
  21435. p52 = s + 5936
  21436. *(*Tush)(unsafe.Pointer(p52)) = Tush(int32(*(*Tush)(unsafe.Pointer(p52))) | libc.Int32FromUint16(libc.Uint16FromInt32(count-libc.Int32FromInt32(11)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21437. *(*int32)(unsafe.Pointer(s + 5940)) += len7
  21438. }
  21439. }
  21440. }
  21441. }
  21442. }
  21443. count = 0
  21444. prevlen = curlen
  21445. if nextlen == 0 {
  21446. max_count = int32(138)
  21447. min_count = libc.Int32FromInt32(3)
  21448. } else {
  21449. if curlen == nextlen {
  21450. max_count = int32(6)
  21451. min_count = libc.Int32FromInt32(3)
  21452. } else {
  21453. max_count = int32(7)
  21454. min_count = libc.Int32FromInt32(4)
  21455. }
  21456. }
  21457. goto _1
  21458. _1:
  21459. ;
  21460. n++
  21461. }
  21462. }
  21463. // C documentation
  21464. //
  21465. // /* ===========================================================================
  21466. // * Construct the Huffman tree for the bit lengths and return the index in
  21467. // * bl_order of the last bit length code to send.
  21468. // */
  21469. func _build_bl_tree(tls *libc.TLS, s uintptr) (r int32) {
  21470. var max_blindex int32
  21471. _ = max_blindex /* index of last bit length code of non zero freq */
  21472. /* Determine the bit length frequencies for literal and distance trees */
  21473. _scan_tree(tls, s, s+212, (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code)
  21474. _scan_tree(tls, s, s+2504, (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code)
  21475. /* Build the bit length tree: */
  21476. _build_tree(tls, s, s+2952)
  21477. /* opt_len now includes the length of the tree representations, except the
  21478. * lengths of the bit lengths codes and the 5 + 5 + 4 bits for the counts.
  21479. */
  21480. /* Determine the number of bit length codes to send. The pkzip format
  21481. * requires that at least 4 bit length codes be sent. (appnote.txt says
  21482. * 3 but the actual value used is 4.)
  21483. */
  21484. max_blindex = libc.Int32FromInt32(m_BL_CODES) - libc.Int32FromInt32(1)
  21485. for {
  21486. if !(max_blindex >= int32(3)) {
  21487. break
  21488. }
  21489. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[max_blindex])*4 + 2))) != 0 {
  21490. break
  21491. }
  21492. goto _1
  21493. _1:
  21494. ;
  21495. max_blindex--
  21496. }
  21497. /* Update opt_len to include the bit length tree and counts */
  21498. *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(3)*(libc.Uint64FromInt32(max_blindex)+uint64(1)) + uint64(5) + uint64(5) + uint64(4)
  21499. return max_blindex
  21500. }
  21501. // C documentation
  21502. //
  21503. // /* ===========================================================================
  21504. // * Send the header for a block using dynamic Huffman trees: the counts, the
  21505. // * lengths of the bit length codes, the literal tree and the distance tree.
  21506. // * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
  21507. // */
  21508. func _send_all_trees(tls *libc.TLS, s uintptr, lcodes int32, dcodes int32, blcodes int32) {
  21509. var len1, len11, len2, len3, rank, val, val1, val2, val3 int32
  21510. var v10, v14, v16, v2, v21, v23, v4, v8 Tulg
  21511. var v11, v15, v17, v22, v24, v3, v5, v9, p1, p12, p13, p18, p20, p25, p6, p7 uintptr
  21512. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, len2, len3, rank, val, val1, val2, val3, v10, v11, v14, v15, v16, v17, v2, v21, v22, v23, v24, v3, v4, v5, v8, v9, p1, p12, p13, p18, p20, p25, p6, p7 /* index in bl_order */
  21513. len1 = int32(5)
  21514. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21515. val = lcodes - int32(257)
  21516. p1 = s + 5936
  21517. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21518. v3 = s + 40
  21519. v2 = *(*Tulg)(unsafe.Pointer(v3))
  21520. *(*Tulg)(unsafe.Pointer(v3))++
  21521. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v2))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21522. v5 = s + 40
  21523. v4 = *(*Tulg)(unsafe.Pointer(v5))
  21524. *(*Tulg)(unsafe.Pointer(v5))++
  21525. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21526. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21527. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21528. } else {
  21529. p6 = s + 5936
  21530. *(*Tush)(unsafe.Pointer(p6)) = Tush(int32(*(*Tush)(unsafe.Pointer(p6))) | libc.Int32FromUint16(libc.Uint16FromInt32(lcodes-libc.Int32FromInt32(257)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21531. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21532. } /* not +255 as stated in appnote.txt */
  21533. len11 = int32(5)
  21534. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21535. val1 = dcodes - int32(1)
  21536. p7 = s + 5936
  21537. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21538. v9 = s + 40
  21539. v8 = *(*Tulg)(unsafe.Pointer(v9))
  21540. *(*Tulg)(unsafe.Pointer(v9))++
  21541. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21542. v11 = s + 40
  21543. v10 = *(*Tulg)(unsafe.Pointer(v11))
  21544. *(*Tulg)(unsafe.Pointer(v11))++
  21545. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21546. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21547. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21548. } else {
  21549. p12 = s + 5936
  21550. *(*Tush)(unsafe.Pointer(p12)) = Tush(int32(*(*Tush)(unsafe.Pointer(p12))) | libc.Int32FromUint16(libc.Uint16FromInt32(dcodes-libc.Int32FromInt32(1)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21551. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21552. }
  21553. len2 = int32(4)
  21554. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  21555. val2 = blcodes - int32(4)
  21556. p13 = s + 5936
  21557. *(*Tush)(unsafe.Pointer(p13)) = Tush(int32(*(*Tush)(unsafe.Pointer(p13))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21558. v15 = s + 40
  21559. v14 = *(*Tulg)(unsafe.Pointer(v15))
  21560. *(*Tulg)(unsafe.Pointer(v15))++
  21561. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21562. v17 = s + 40
  21563. v16 = *(*Tulg)(unsafe.Pointer(v17))
  21564. *(*Tulg)(unsafe.Pointer(v17))++
  21565. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v16))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21566. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val2)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21567. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  21568. } else {
  21569. p18 = s + 5936
  21570. *(*Tush)(unsafe.Pointer(p18)) = Tush(int32(*(*Tush)(unsafe.Pointer(p18))) | libc.Int32FromUint16(libc.Uint16FromInt32(blcodes-libc.Int32FromInt32(4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21571. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  21572. } /* not -3 as stated in appnote.txt */
  21573. rank = 0
  21574. for {
  21575. if !(rank < blcodes) {
  21576. break
  21577. }
  21578. len3 = int32(3)
  21579. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  21580. val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[rank])*4 + 2)))
  21581. p20 = s + 5936
  21582. *(*Tush)(unsafe.Pointer(p20)) = Tush(int32(*(*Tush)(unsafe.Pointer(p20))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21583. v22 = s + 40
  21584. v21 = *(*Tulg)(unsafe.Pointer(v22))
  21585. *(*Tulg)(unsafe.Pointer(v22))++
  21586. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v21))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21587. v24 = s + 40
  21588. v23 = *(*Tulg)(unsafe.Pointer(v24))
  21589. *(*Tulg)(unsafe.Pointer(v24))++
  21590. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v23))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21591. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val3)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21592. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  21593. } else {
  21594. p25 = s + 5936
  21595. *(*Tush)(unsafe.Pointer(p25)) = Tush(int32(*(*Tush)(unsafe.Pointer(p25))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[rank])*4 + 2)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21596. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  21597. }
  21598. goto _19
  21599. _19:
  21600. ;
  21601. rank++
  21602. }
  21603. _send_tree(tls, s, s+212, lcodes-int32(1)) /* literal tree */
  21604. _send_tree(tls, s, s+2504, dcodes-int32(1)) /* distance tree */
  21605. }
  21606. // C documentation
  21607. //
  21608. // /* ===========================================================================
  21609. // * Send a stored block
  21610. // */
  21611. func x__tr_stored_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
  21612. var len1, val int32
  21613. var v10, v12, v14, v3, v5, v8, p1, p6 uintptr
  21614. var v11, v13, v2, v4, v7, v9 Tulg
  21615. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, val, v10, v11, v12, v13, v14, v2, v3, v4, v5, v7, v8, v9, p1, p6
  21616. len1 = int32(3)
  21617. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21618. val = libc.Int32FromInt32(m_STORED_BLOCK)<<libc.Int32FromInt32(1) + last
  21619. p1 = s + 5936
  21620. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21621. v3 = s + 40
  21622. v2 = *(*Tulg)(unsafe.Pointer(v3))
  21623. *(*Tulg)(unsafe.Pointer(v3))++
  21624. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v2))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21625. v5 = s + 40
  21626. v4 = *(*Tulg)(unsafe.Pointer(v5))
  21627. *(*Tulg)(unsafe.Pointer(v5))++
  21628. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21629. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21630. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21631. } else {
  21632. p6 = s + 5936
  21633. *(*Tush)(unsafe.Pointer(p6)) = Tush(int32(*(*Tush)(unsafe.Pointer(p6))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_STORED_BLOCK)<<libc.Int32FromInt32(1)+last))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21634. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21635. } /* send block type */
  21636. _bi_windup(tls, s) /* align on byte boundary */
  21637. v8 = s + 40
  21638. v7 = *(*Tulg)(unsafe.Pointer(v8))
  21639. *(*Tulg)(unsafe.Pointer(v8))++
  21640. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v7))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) & libc.Int32FromInt32(0xff))
  21641. v10 = s + 40
  21642. v9 = *(*Tulg)(unsafe.Pointer(v10))
  21643. *(*Tulg)(unsafe.Pointer(v10))++
  21644. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v9))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) >> libc.Int32FromInt32(8))
  21645. v12 = s + 40
  21646. v11 = *(*Tulg)(unsafe.Pointer(v12))
  21647. *(*Tulg)(unsafe.Pointer(v12))++
  21648. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) & libc.Int32FromInt32(0xff))
  21649. v14 = s + 40
  21650. v13 = *(*Tulg)(unsafe.Pointer(v14))
  21651. *(*Tulg)(unsafe.Pointer(v14))++
  21652. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v13))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) >> libc.Int32FromInt32(8))
  21653. if stored_len != 0 {
  21654. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), buf, stored_len)
  21655. }
  21656. *(*Tulg)(unsafe.Pointer(s + 40)) += stored_len
  21657. }
  21658. // C documentation
  21659. //
  21660. // /* ===========================================================================
  21661. // * Flush the bits in the bit buffer to pending output (leaves at most 7 bits)
  21662. // */
  21663. func x__tr_flush_bits(tls *libc.TLS, s uintptr) {
  21664. _bi_flush(tls, s)
  21665. }
  21666. // C documentation
  21667. //
  21668. // /* ===========================================================================
  21669. // * Send one empty static block to give enough lookahead for inflate.
  21670. // * This takes 10 bits, of which 7 may remain in the bit buffer.
  21671. // */
  21672. func x__tr_align(tls *libc.TLS, s uintptr) {
  21673. var len1, len11, val, val1 int32
  21674. var v10, v2, v4, v8 Tulg
  21675. var v11, v3, v5, v9, p1, p12, p6, p7 uintptr
  21676. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, val, val1, v10, v11, v2, v3, v4, v5, v8, v9, p1, p12, p6, p7
  21677. len1 = int32(3)
  21678. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21679. val = libc.Int32FromInt32(m_STATIC_TREES) << libc.Int32FromInt32(1)
  21680. p1 = s + 5936
  21681. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21682. v3 = s + 40
  21683. v2 = *(*Tulg)(unsafe.Pointer(v3))
  21684. *(*Tulg)(unsafe.Pointer(v3))++
  21685. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v2))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21686. v5 = s + 40
  21687. v4 = *(*Tulg)(unsafe.Pointer(v5))
  21688. *(*Tulg)(unsafe.Pointer(v5))++
  21689. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21690. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21691. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21692. } else {
  21693. p6 = s + 5936
  21694. *(*Tush)(unsafe.Pointer(p6)) = Tush(int32(*(*Tush)(unsafe.Pointer(p6))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21695. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21696. }
  21697. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4 + 2)))
  21698. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21699. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4)))
  21700. p7 = s + 5936
  21701. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21702. v9 = s + 40
  21703. v8 = *(*Tulg)(unsafe.Pointer(v9))
  21704. *(*Tulg)(unsafe.Pointer(v9))++
  21705. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21706. v11 = s + 40
  21707. v10 = *(*Tulg)(unsafe.Pointer(v11))
  21708. *(*Tulg)(unsafe.Pointer(v11))++
  21709. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21710. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21711. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21712. } else {
  21713. p12 = s + 5936
  21714. *(*Tush)(unsafe.Pointer(p12)) = Tush(int32(*(*Tush)(unsafe.Pointer(p12))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21715. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21716. }
  21717. _bi_flush(tls, s)
  21718. }
  21719. // C documentation
  21720. //
  21721. // /* ===========================================================================
  21722. // * Send the block data compressed using the given Huffman trees
  21723. // */
  21724. func _compress_block(tls *libc.TLS, s uintptr, ltree uintptr, dtree uintptr) {
  21725. var code, dist, sx, v1, v2, v3 uint32
  21726. var extra, lc, len1, len11, len2, len3, len4, len5, val, val1, val2, val3, val4, val5, v22 int32
  21727. var v11, v13, v17, v19, v24, v26, v30, v32, v36, v38, v5, v7 Tulg
  21728. var v12, v14, v18, v20, v25, v27, v31, v33, v37, v39, v6, v8, p10, p15, p16, p21, p23, p28, p29, p34, p35, p4, p40, p9 uintptr
  21729. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = code, dist, extra, lc, len1, len11, len2, len3, len4, len5, sx, val, val1, val2, val3, val4, val5, v1, v11, v12, v13, v14, v17, v18, v19, v2, v20, v22, v24, v25, v26, v27, v3, v30, v31, v32, v33, v36, v37, v38, v39, v5, v6, v7, v8, p10, p15, p16, p21, p23, p28, p29, p34, p35, p4, p40, p9 /* match length or unmatched char (if dist == 0) */
  21730. sx = uint32(0) /* number of extra bits to send */
  21731. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != uint32(0) {
  21732. for cond := true; cond; cond = sx < (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next {
  21733. v1 = sx
  21734. sx++
  21735. dist = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1)))) & int32(0xff))
  21736. v2 = sx
  21737. sx++
  21738. dist += libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))))&libc.Int32FromInt32(0xff)) << int32(8)
  21739. v3 = sx
  21740. sx++
  21741. lc = libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))))
  21742. if dist == uint32(0) {
  21743. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4 + 2)))
  21744. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21745. val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4)))
  21746. p4 = s + 5936
  21747. *(*Tush)(unsafe.Pointer(p4)) = Tush(int32(*(*Tush)(unsafe.Pointer(p4))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21748. v6 = s + 40
  21749. v5 = *(*Tulg)(unsafe.Pointer(v6))
  21750. *(*Tulg)(unsafe.Pointer(v6))++
  21751. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21752. v8 = s + 40
  21753. v7 = *(*Tulg)(unsafe.Pointer(v8))
  21754. *(*Tulg)(unsafe.Pointer(v8))++
  21755. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v7))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21756. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21757. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21758. } else {
  21759. p9 = s + 5936
  21760. *(*Tush)(unsafe.Pointer(p9)) = Tush(int32(*(*Tush)(unsafe.Pointer(p9))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21761. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21762. } /* send a literal byte */
  21763. } else {
  21764. /* Here, lc is the match length - MIN_MATCH */
  21765. code = uint32(x__length_code[lc])
  21766. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4 + 2)))
  21767. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21768. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4)))
  21769. p10 = s + 5936
  21770. *(*Tush)(unsafe.Pointer(p10)) = Tush(int32(*(*Tush)(unsafe.Pointer(p10))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21771. v12 = s + 40
  21772. v11 = *(*Tulg)(unsafe.Pointer(v12))
  21773. *(*Tulg)(unsafe.Pointer(v12))++
  21774. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21775. v14 = s + 40
  21776. v13 = *(*Tulg)(unsafe.Pointer(v14))
  21777. *(*Tulg)(unsafe.Pointer(v14))++
  21778. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v13))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21779. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21780. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21781. } else {
  21782. p15 = s + 5936
  21783. *(*Tush)(unsafe.Pointer(p15)) = Tush(int32(*(*Tush)(unsafe.Pointer(p15))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21784. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21785. } /* send length code */
  21786. extra = _extra_lbits[code]
  21787. if extra != 0 {
  21788. lc -= _base_length[code]
  21789. len2 = extra
  21790. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  21791. val2 = lc
  21792. p16 = s + 5936
  21793. *(*Tush)(unsafe.Pointer(p16)) = Tush(int32(*(*Tush)(unsafe.Pointer(p16))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21794. v18 = s + 40
  21795. v17 = *(*Tulg)(unsafe.Pointer(v18))
  21796. *(*Tulg)(unsafe.Pointer(v18))++
  21797. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v17))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21798. v20 = s + 40
  21799. v19 = *(*Tulg)(unsafe.Pointer(v20))
  21800. *(*Tulg)(unsafe.Pointer(v20))++
  21801. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v19))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21802. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val2)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21803. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  21804. } else {
  21805. p21 = s + 5936
  21806. *(*Tush)(unsafe.Pointer(p21)) = Tush(int32(*(*Tush)(unsafe.Pointer(p21))) | libc.Int32FromUint16(libc.Uint16FromInt32(lc))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21807. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  21808. } /* send the extra length bits */
  21809. }
  21810. dist-- /* dist is now the match distance - 1 */
  21811. if dist < uint32(256) {
  21812. v22 = libc.Int32FromUint8(x__dist_code[dist])
  21813. } else {
  21814. v22 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
  21815. }
  21816. code = libc.Uint32FromInt32(v22)
  21817. len3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4 + 2)))
  21818. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  21819. val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4)))
  21820. p23 = s + 5936
  21821. *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21822. v25 = s + 40
  21823. v24 = *(*Tulg)(unsafe.Pointer(v25))
  21824. *(*Tulg)(unsafe.Pointer(v25))++
  21825. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21826. v27 = s + 40
  21827. v26 = *(*Tulg)(unsafe.Pointer(v27))
  21828. *(*Tulg)(unsafe.Pointer(v27))++
  21829. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21830. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val3)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21831. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  21832. } else {
  21833. p28 = s + 5936
  21834. *(*Tush)(unsafe.Pointer(p28)) = Tush(int32(*(*Tush)(unsafe.Pointer(p28))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21835. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  21836. } /* send the distance code */
  21837. extra = _extra_dbits[code]
  21838. if extra != 0 {
  21839. dist -= libc.Uint32FromInt32(_base_dist[code])
  21840. len4 = extra
  21841. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
  21842. val4 = libc.Int32FromUint32(dist)
  21843. p29 = s + 5936
  21844. *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21845. v31 = s + 40
  21846. v30 = *(*Tulg)(unsafe.Pointer(v31))
  21847. *(*Tulg)(unsafe.Pointer(v31))++
  21848. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v30))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21849. v33 = s + 40
  21850. v32 = *(*Tulg)(unsafe.Pointer(v33))
  21851. *(*Tulg)(unsafe.Pointer(v33))++
  21852. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v32))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21853. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val4)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21854. *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
  21855. } else {
  21856. p34 = s + 5936
  21857. *(*Tush)(unsafe.Pointer(p34)) = Tush(int32(*(*Tush)(unsafe.Pointer(p34))) | libc.Int32FromUint16(uint16(dist))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21858. *(*int32)(unsafe.Pointer(s + 5940)) += len4
  21859. } /* send the extra distance bits */
  21860. }
  21861. } /* literal or match pair ? */
  21862. /* Check for no overlay of pending_buf on needed symbols */
  21863. }
  21864. }
  21865. len5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4 + 2)))
  21866. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
  21867. val5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4)))
  21868. p35 = s + 5936
  21869. *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21870. v37 = s + 40
  21871. v36 = *(*Tulg)(unsafe.Pointer(v37))
  21872. *(*Tulg)(unsafe.Pointer(v37))++
  21873. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v36))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21874. v39 = s + 40
  21875. v38 = *(*Tulg)(unsafe.Pointer(v39))
  21876. *(*Tulg)(unsafe.Pointer(v39))++
  21877. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v38))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21878. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val5)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21879. *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
  21880. } else {
  21881. p40 = s + 5936
  21882. *(*Tush)(unsafe.Pointer(p40)) = Tush(int32(*(*Tush)(unsafe.Pointer(p40))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21883. *(*int32)(unsafe.Pointer(s + 5940)) += len5
  21884. }
  21885. }
  21886. // C documentation
  21887. //
  21888. // /* ===========================================================================
  21889. // * Check if the data type is TEXT or BINARY, using the following algorithm:
  21890. // * - TEXT if the two conditions below are satisfied:
  21891. // * a) There are no non-portable control characters belonging to the
  21892. // * "block list" (0..6, 14..25, 28..31).
  21893. // * b) There is at least one printable character belonging to the
  21894. // * "allow list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
  21895. // * - BINARY otherwise.
  21896. // * - The following partially-portable control characters form a
  21897. // * "gray list" that is ignored in this detection algorithm:
  21898. // * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).
  21899. // * IN assertion: the fields Freq of dyn_ltree are set.
  21900. // */
  21901. func _detect_data_type(tls *libc.TLS, s uintptr) (r int32) {
  21902. var block_mask uint64
  21903. var n int32
  21904. _, _ = block_mask, n
  21905. /* block_mask is the bit mask of block-listed bytes
  21906. * set bits 0..6, 14..25, and 28..31
  21907. * 0xf3ffc07f = binary 11110011111111111100000001111111
  21908. */
  21909. block_mask = uint64(0xf3ffc07f)
  21910. /* Check for non-textual ("block-listed") bytes. */
  21911. n = 0
  21912. for {
  21913. if !(n <= int32(31)) {
  21914. break
  21915. }
  21916. if block_mask&uint64(1) != 0 && libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
  21917. return m_Z_BINARY
  21918. }
  21919. goto _1
  21920. _1:
  21921. ;
  21922. n++
  21923. block_mask >>= uint64(1)
  21924. }
  21925. /* Check for textual ("allow-listed") bytes. */
  21926. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + 9*4))) != 0 || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + 10*4))) != 0 || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + 13*4))) != 0 {
  21927. return int32(m_Z_TEXT)
  21928. }
  21929. n = int32(32)
  21930. for {
  21931. if !(n < int32(m_LITERALS)) {
  21932. break
  21933. }
  21934. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
  21935. return int32(m_Z_TEXT)
  21936. }
  21937. goto _2
  21938. _2:
  21939. ;
  21940. n++
  21941. }
  21942. /* There are no "block-listed" or "allow-listed" bytes:
  21943. * this stream either is empty or has tolerated ("gray-listed") bytes only.
  21944. */
  21945. return m_Z_BINARY
  21946. }
  21947. // C documentation
  21948. //
  21949. // /* ===========================================================================
  21950. // * Determine the best encoding for the current block: dynamic trees, static
  21951. // * trees or store, and write out the encoded block.
  21952. // */
  21953. func x__tr_flush_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
  21954. var len1, len11, max_blindex, val, val1 int32
  21955. var opt_lenb, static_lenb, v1, v11, v3, v5, v9 Tulg
  21956. var v10, v12, v4, v6, p13, p2, p7, p8 uintptr
  21957. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, max_blindex, opt_lenb, static_lenb, val, val1, v1, v10, v11, v12, v3, v4, v5, v6, v9, p13, p2, p7, p8 /* opt_len and static_len in bytes */
  21958. max_blindex = 0 /* index of last bit length code of non zero freq */
  21959. /* Build the Huffman trees unless a stored block is forced */
  21960. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel > 0 {
  21961. /* Check if the file is binary or text */
  21962. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type == int32(m_Z_UNKNOWN) {
  21963. (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type = _detect_data_type(tls, s)
  21964. }
  21965. /* Construct the literal and distance trees */
  21966. _build_tree(tls, s, s+2904)
  21967. _build_tree(tls, s, s+2928)
  21968. /* At this point, opt_len and static_len are the total bit lengths of
  21969. * the compressed block data, excluding the tree representations.
  21970. */
  21971. /* Build the bit length tree for the above two trees, and get the index
  21972. * in bl_order of the last bit length code to send.
  21973. */
  21974. max_blindex = _build_bl_tree(tls, s)
  21975. /* Determine the best encoding. Compute the block lengths in bytes. */
  21976. opt_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len + uint64(3) + uint64(7)) >> int32(3)
  21977. static_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len + uint64(3) + uint64(7)) >> int32(3)
  21978. if static_lenb <= opt_lenb || (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_FIXED) {
  21979. opt_lenb = static_lenb
  21980. }
  21981. } else {
  21982. v1 = stored_len + libc.Uint64FromInt32(5)
  21983. static_lenb = v1
  21984. opt_lenb = v1 /* force a stored block */
  21985. }
  21986. if stored_len+uint64(4) <= opt_lenb && buf != libc.UintptrFromInt32(0) {
  21987. /* 4: two words for the lengths */
  21988. /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
  21989. * Otherwise we can't have processed more than WSIZE input bytes since
  21990. * the last block flush, because compression would have been
  21991. * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
  21992. * transform a block into a stored block.
  21993. */
  21994. x__tr_stored_block(tls, s, buf, stored_len, last)
  21995. } else {
  21996. if static_lenb == opt_lenb {
  21997. len1 = int32(3)
  21998. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21999. val = libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1) + last
  22000. p2 = s + 5936
  22001. *(*Tush)(unsafe.Pointer(p2)) = Tush(int32(*(*Tush)(unsafe.Pointer(p2))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22002. v4 = s + 40
  22003. v3 = *(*Tulg)(unsafe.Pointer(v4))
  22004. *(*Tulg)(unsafe.Pointer(v4))++
  22005. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22006. v6 = s + 40
  22007. v5 = *(*Tulg)(unsafe.Pointer(v6))
  22008. *(*Tulg)(unsafe.Pointer(v6))++
  22009. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22010. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22011. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  22012. } else {
  22013. p7 = s + 5936
  22014. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1)+last))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22015. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  22016. }
  22017. _compress_block(tls, s, uintptr(unsafe.Pointer(&_static_ltree)), uintptr(unsafe.Pointer(&_static_dtree)))
  22018. } else {
  22019. len11 = int32(3)
  22020. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  22021. val1 = libc.Int32FromInt32(m_DYN_TREES)<<libc.Int32FromInt32(1) + last
  22022. p8 = s + 5936
  22023. *(*Tush)(unsafe.Pointer(p8)) = Tush(int32(*(*Tush)(unsafe.Pointer(p8))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22024. v10 = s + 40
  22025. v9 = *(*Tulg)(unsafe.Pointer(v10))
  22026. *(*Tulg)(unsafe.Pointer(v10))++
  22027. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v9))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22028. v12 = s + 40
  22029. v11 = *(*Tulg)(unsafe.Pointer(v12))
  22030. *(*Tulg)(unsafe.Pointer(v12))++
  22031. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22032. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22033. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  22034. } else {
  22035. p13 = s + 5936
  22036. *(*Tush)(unsafe.Pointer(p13)) = Tush(int32(*(*Tush)(unsafe.Pointer(p13))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_DYN_TREES)<<libc.Int32FromInt32(1)+last))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22037. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  22038. }
  22039. _send_all_trees(tls, s, (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code+int32(1), (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code+int32(1), max_blindex+int32(1))
  22040. _compress_block(tls, s, s+212, s+2504)
  22041. }
  22042. }
  22043. /* The above check is made mod 2^32, for files larger than 512 MB
  22044. * and uLong implemented on 32 bits.
  22045. */
  22046. _init_block(tls, s)
  22047. if last != 0 {
  22048. _bi_windup(tls, s)
  22049. }
  22050. }
  22051. // C documentation
  22052. //
  22053. // /* ===========================================================================
  22054. // * Save the match info and tally the frequency counts. Return true if
  22055. // * the current block must be flushed.
  22056. // */
  22057. func x__tr_tally(tls *libc.TLS, s uintptr, dist uint32, lc uint32) (r int32) {
  22058. var v1, v3, v5 TuInt
  22059. var v2, v4, v6 uintptr
  22060. var v7 int32
  22061. _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, v7
  22062. v2 = s + 5900
  22063. v1 = *(*TuInt)(unsafe.Pointer(v2))
  22064. *(*TuInt)(unsafe.Pointer(v2))++
  22065. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1))) = uint8(dist)
  22066. v4 = s + 5900
  22067. v3 = *(*TuInt)(unsafe.Pointer(v4))
  22068. *(*TuInt)(unsafe.Pointer(v4))++
  22069. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist >> libc.Int32FromInt32(8))
  22070. v6 = s + 5900
  22071. v5 = *(*TuInt)(unsafe.Pointer(v6))
  22072. *(*TuInt)(unsafe.Pointer(v6))++
  22073. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = uint8(lc)
  22074. if dist == uint32(0) {
  22075. /* lc is the unmatched char */
  22076. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(lc)*4))++
  22077. } else {
  22078. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  22079. /* Here, lc is the match length - MIN_MATCH */
  22080. dist-- /* dist = match distance - 1 */
  22081. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[lc])+int32(m_LITERALS)+int32(1))*4))++
  22082. if dist < uint32(256) {
  22083. v7 = libc.Int32FromUint8(x__dist_code[dist])
  22084. } else {
  22085. v7 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
  22086. }
  22087. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v7)*4))++
  22088. }
  22089. return libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  22090. }
  22091. const m_AT_EACCESS = 0x0100
  22092. const m_AT_EMPTY_PATH = 0x4000
  22093. const m_AT_REMOVEDIR = 0x0800
  22094. const m_AT_RESOLVE_BENEATH = 0x2000
  22095. const m_AT_SYMLINK_FOLLOW = 0x0400
  22096. const m_AT_SYMLINK_NOFOLLOW = 0x0200
  22097. const m_BUFSIZ = 1024
  22098. const m_COPY = 1
  22099. const m_E2BIG = 7
  22100. const m_EACCES = 13
  22101. const m_EAGAIN = 35
  22102. const m_EBADF = 9
  22103. const m_EBADMSG = 89
  22104. const m_EBUSY = 16
  22105. const m_ECHILD = 10
  22106. const m_EDEADLK = 11
  22107. const m_EDOM = 33
  22108. const m_EEXIST = 17
  22109. const m_EFAULT = 14
  22110. const m_EFBIG = 27
  22111. const m_EINTR = 4
  22112. const m_EINVAL = 22
  22113. const m_EIO = 5
  22114. const m_EISDIR = 21
  22115. const m_EMFILE = 24
  22116. const m_EMLINK = 31
  22117. const m_EMULTIHOP = 90
  22118. const m_ENAMETOOLONG = 63
  22119. const m_ENFILE = 23
  22120. const m_ENODEV = 19
  22121. const m_ENOENT = 2
  22122. const m_ENOEXEC = 8
  22123. const m_ENOLCK = 77
  22124. const m_ENOLINK = 91
  22125. const m_ENOMEM = 12
  22126. const m_ENOSPC = 28
  22127. const m_ENOSYS = 78
  22128. const m_ENOTDIR = 20
  22129. const m_ENOTEMPTY = 66
  22130. const m_ENOTTY = 25
  22131. const m_ENXIO = 6
  22132. const m_EPERM = 1
  22133. const m_EPIPE = 32
  22134. const m_EPROTO = 92
  22135. const m_ERANGE = 34
  22136. const m_EROFS = 30
  22137. const m_ESPIPE = 29
  22138. const m_ESRCH = 3
  22139. const m_EXDEV = 18
  22140. const m_FAPPEND = "O_APPEND"
  22141. const m_FASYNC = "O_ASYNC"
  22142. const m_FDSYNC = "O_DSYNC"
  22143. const m_FD_CLOEXEC = 1
  22144. const m_FFSYNC = "O_FSYNC"
  22145. const m_FILENAME_MAX = 1024
  22146. const m_FNDELAY = "O_NONBLOCK"
  22147. const m_FNONBLOCK = "O_NONBLOCK"
  22148. const m_FOPEN_MAX = 20
  22149. const m_FRDAHEAD = "O_CREAT"
  22150. const m_FREAD = 0x0001
  22151. const m_FWRITE = 0x0002
  22152. const m_F_ADD_SEALS = 19
  22153. const m_F_CANCEL = 5
  22154. const m_F_DUP2FD = 10
  22155. const m_F_DUP2FD_CLOEXEC = 18
  22156. const m_F_DUPFD = 0
  22157. const m_F_DUPFD_CLOEXEC = 17
  22158. const m_F_GETFD = 1
  22159. const m_F_GETFL = 3
  22160. const m_F_GETLK = 11
  22161. const m_F_GETOWN = 5
  22162. const m_F_GET_SEALS = 20
  22163. const m_F_ISUNIONSTACK = 21
  22164. const m_F_KINFO = 22
  22165. const m_F_OGETLK = 7
  22166. const m_F_OSETLK = 8
  22167. const m_F_OSETLKW = 9
  22168. const m_F_RDAHEAD = 16
  22169. const m_F_RDLCK = 1
  22170. const m_F_READAHEAD = 15
  22171. const m_F_SEAL_GROW = 0x0004
  22172. const m_F_SEAL_SEAL = 0x0001
  22173. const m_F_SEAL_SHRINK = 0x0002
  22174. const m_F_SEAL_WRITE = 0x0008
  22175. const m_F_SETFD = 2
  22176. const m_F_SETFL = 4
  22177. const m_F_SETLK = 12
  22178. const m_F_SETLKW = 13
  22179. const m_F_SETLK_REMOTE = 14
  22180. const m_F_SETOWN = 6
  22181. const m_F_UNLCK = 2
  22182. const m_F_UNLCKSYS = 4
  22183. const m_F_WRLCK = 3
  22184. const m_GZBUFSIZE = 8192
  22185. const m_GZIP = 2
  22186. const m_GZ_APPEND = 1
  22187. const m_GZ_NONE = 0
  22188. const m_GZ_READ = 7247
  22189. const m_GZ_WRITE = 31153
  22190. const m_LOCK_EX = 0x02
  22191. const m_LOCK_NB = 0x04
  22192. const m_LOCK_SH = 0x01
  22193. const m_LOCK_UN = 0x08
  22194. const m_LOOK = 0
  22195. const m_L_ctermid = 1024
  22196. const m_L_cuserid = 17
  22197. const m_L_tmpnam = 1024
  22198. const m_O_ACCMODE = 0x0003
  22199. const m_O_APPEND = 0x0008
  22200. const m_O_ASYNC = 0x0040
  22201. const m_O_CLOEXEC = 0x00100000
  22202. const m_O_CREAT = 0x0200
  22203. const m_O_DIRECT = 0x00010000
  22204. const m_O_DIRECTORY = 0x00020000
  22205. const m_O_DSYNC = 0x01000000
  22206. const m_O_EMPTY_PATH = 0x02000000
  22207. const m_O_EXCL = 0x0800
  22208. const m_O_EXEC = 0x00040000
  22209. const m_O_EXLOCK = 0x0020
  22210. const m_O_FSYNC = 0x0080
  22211. const m_O_NDELAY = "O_NONBLOCK"
  22212. const m_O_NOCTTY = 0x8000
  22213. const m_O_NOFOLLOW = 0x0100
  22214. const m_O_NONBLOCK = 0x0004
  22215. const m_O_PATH = 0x00400000
  22216. const m_O_RDONLY = 0x0000
  22217. const m_O_RDWR = 0x0002
  22218. const m_O_RESOLVE_BENEATH = 0x00800000
  22219. const m_O_SEARCH = "O_EXEC"
  22220. const m_O_SHLOCK = 0x0010
  22221. const m_O_SYNC = 0x0080
  22222. const m_O_TRUNC = 0x0400
  22223. const m_O_TTY_INIT = 0x00080000
  22224. const m_O_VERIFY = 0x00200000
  22225. const m_O_WRONLY = 0x0001
  22226. const m_POSIX_FADV_DONTNEED = 4
  22227. const m_POSIX_FADV_NOREUSE = 5
  22228. const m_POSIX_FADV_NORMAL = 0
  22229. const m_POSIX_FADV_RANDOM = 1
  22230. const m_POSIX_FADV_SEQUENTIAL = 2
  22231. const m_POSIX_FADV_WILLNEED = 3
  22232. const m_P_tmpdir = "/tmp/"
  22233. const m_SPACECTL_DEALLOC = 1
  22234. const m_SPACECTL_F_SUPPORTED = 0
  22235. const m_TMP_MAX = 308915776
  22236. const m__IOFBF = 0
  22237. const m__IOLBF = 1
  22238. const m__IONBF = 2
  22239. const m__LARGEFILE_SOURCE = 1
  22240. const m___S2OAP = 0x0001
  22241. const m___SALC = 0x4000
  22242. const m___SAPP = 0x0100
  22243. const m___SEOF = 0x0020
  22244. const m___SERR = 0x0040
  22245. const m___SIGN = 0x8000
  22246. const m___SLBF = 0x0001
  22247. const m___SMBF = 0x0080
  22248. const m___SMOD = 0x2000
  22249. const m___SNBF = 0x0002
  22250. const m___SNPT = 0x0800
  22251. const m___SOFF = 0x1000
  22252. const m___SOPT = 0x0400
  22253. const m___SRD = 0x0004
  22254. const m___SRW = 0x0010
  22255. const m___SSTR = 0x0200
  22256. const m___SWR = 0x0008
  22257. const m_stderr = "__stderrp"
  22258. const m_stdin = "__stdinp"
  22259. const m_stdout = "__stdoutp"
  22260. type Tfpos_t = int64
  22261. type t__sbuf = struct {
  22262. F_base uintptr
  22263. F_size int32
  22264. }
  22265. type t__sFILE = struct {
  22266. F_p uintptr
  22267. F_r int32
  22268. F_w int32
  22269. F_flags int16
  22270. F_file int16
  22271. F_bf t__sbuf
  22272. F_lbfsize int32
  22273. F_cookie uintptr
  22274. F_close uintptr
  22275. F_read uintptr
  22276. F_seek uintptr
  22277. F_write uintptr
  22278. F_ub t__sbuf
  22279. F_up uintptr
  22280. F_ur int32
  22281. F_ubuf [3]uint8
  22282. F_nbuf [1]uint8
  22283. F_lb t__sbuf
  22284. F_blksize int32
  22285. F_offset Tfpos_t
  22286. F_fl_mutex uintptr
  22287. F_fl_owner uintptr
  22288. F_fl_count int32
  22289. F_orientation int32
  22290. F_mbstate t__mbstate_t
  22291. F_flags2 int32
  22292. }
  22293. type TFILE = struct {
  22294. F_p uintptr
  22295. F_r int32
  22296. F_w int32
  22297. F_flags int16
  22298. F_file int16
  22299. F_bf t__sbuf
  22300. F_lbfsize int32
  22301. F_cookie uintptr
  22302. F_close uintptr
  22303. F_read uintptr
  22304. F_seek uintptr
  22305. F_write uintptr
  22306. F_ub t__sbuf
  22307. F_up uintptr
  22308. F_ur int32
  22309. F_ubuf [3]uint8
  22310. F_nbuf [1]uint8
  22311. F_lb t__sbuf
  22312. F_blksize int32
  22313. F_offset Tfpos_t
  22314. F_fl_mutex uintptr
  22315. F_fl_owner uintptr
  22316. F_fl_count int32
  22317. F_orientation int32
  22318. F_mbstate t__mbstate_t
  22319. F_flags2 int32
  22320. }
  22321. type Tcookie_io_functions_t = struct {
  22322. Fread uintptr
  22323. Fwrite uintptr
  22324. Fseek uintptr
  22325. Fclose1 uintptr
  22326. }
  22327. type Tflock = struct {
  22328. Fl_start Toff_t
  22329. Fl_len Toff_t
  22330. Fl_pid Tpid_t
  22331. Fl_type int16
  22332. Fl_whence int16
  22333. Fl_sysid int32
  22334. }
  22335. type t__oflock = struct {
  22336. Fl_start Toff_t
  22337. Fl_len Toff_t
  22338. Fl_pid Tpid_t
  22339. Fl_type int16
  22340. Fl_whence int16
  22341. }
  22342. type Tspacectl_range = struct {
  22343. Fr_offset Toff_t
  22344. Fr_len Toff_t
  22345. }
  22346. type Tgz_state = struct {
  22347. Fx TgzFile_s
  22348. Fmode int32
  22349. Ffd int32
  22350. Fpath uintptr
  22351. Fsize uint32
  22352. Fwant uint32
  22353. Fin uintptr
  22354. Fout uintptr
  22355. Fdirect int32
  22356. Fhow int32
  22357. Fstart Toff_t
  22358. Feof int32
  22359. Fpast int32
  22360. Flevel int32
  22361. Fstrategy int32
  22362. Freset int32
  22363. Fskip Toff_t
  22364. Fseek int32
  22365. Ferr int32
  22366. Fmsg uintptr
  22367. Fstrm Tz_stream
  22368. }
  22369. type Tgz_statep = uintptr
  22370. func XzlibVersion(tls *libc.TLS) (r uintptr) {
  22371. return __ccgo_ts
  22372. }
  22373. func XzlibCompileFlags(tls *libc.TLS) (r TuLong) {
  22374. var flags TuLong
  22375. _ = flags
  22376. flags = uint64(0)
  22377. switch libc.Int32FromUint64(libc.Uint64FromInt64(4)) {
  22378. case int32(2):
  22379. case int32(4):
  22380. flags += uint64(1)
  22381. case int32(8):
  22382. flags += uint64(2)
  22383. default:
  22384. flags += uint64(3)
  22385. }
  22386. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  22387. case int32(2):
  22388. case int32(4):
  22389. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(2))
  22390. case int32(8):
  22391. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(2))
  22392. default:
  22393. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(2))
  22394. }
  22395. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  22396. case int32(2):
  22397. case int32(4):
  22398. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(4))
  22399. case int32(8):
  22400. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(4))
  22401. default:
  22402. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(4))
  22403. }
  22404. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  22405. case int32(2):
  22406. case int32(4):
  22407. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(6))
  22408. case int32(8):
  22409. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(6))
  22410. default:
  22411. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(6))
  22412. }
  22413. /*
  22414. #if defined(ASMV) || defined(ASMINF)
  22415. flags += 1 << 9;
  22416. #endif
  22417. */
  22418. return flags
  22419. }
  22420. // C documentation
  22421. //
  22422. // /* exported to allow conversion of error code to string for compress() and
  22423. // * uncompress()
  22424. // */
  22425. func XzError(tls *libc.TLS, err int32) (r uintptr) {
  22426. var v1 int32
  22427. _ = v1
  22428. if err < -int32(6) || err > int32(2) {
  22429. v1 = int32(9)
  22430. } else {
  22431. v1 = int32(2) - err
  22432. }
  22433. return Xz_errmsg[v1]
  22434. }
  22435. func Xzcalloc(tls *libc.TLS, opaque Tvoidpf, items uint32, size uint32) (r Tvoidpf) {
  22436. _ = opaque
  22437. return libc.Xmalloc(tls, uint64(items*size))
  22438. }
  22439. func Xzcfree(tls *libc.TLS, opaque Tvoidpf, ptr Tvoidpf) {
  22440. _ = opaque
  22441. libc.Xfree(tls, ptr)
  22442. }
  22443. // C documentation
  22444. //
  22445. // /* ===========================================================================
  22446. // Compresses the source buffer into the destination buffer. The level
  22447. // parameter has the same meaning as in deflateInit. sourceLen is the byte
  22448. // length of the source buffer. Upon entry, destLen is the total size of the
  22449. // destination buffer, which must be at least 0.1% larger than sourceLen plus
  22450. // 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
  22451. //
  22452. // compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
  22453. // memory, Z_BUF_ERROR if there was not enough room in the output buffer,
  22454. // Z_STREAM_ERROR if the level parameter is invalid.
  22455. // */
  22456. func Xcompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong, level int32) (r int32) {
  22457. bp := tls.Alloc(112)
  22458. defer tls.Free(112)
  22459. var err, v3, v4 int32
  22460. var left TuLong
  22461. var max TuInt
  22462. var v1, v2 uint32
  22463. var _ /* stream at bp+0 */ Tz_stream
  22464. _, _, _, _, _, _, _ = err, left, max, v1, v2, v3, v4
  22465. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  22466. left = *(*TuLongf)(unsafe.Pointer(destLen))
  22467. *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
  22468. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
  22469. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
  22470. (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
  22471. err = XdeflateInit_(tls, bp, level, __ccgo_ts, libc.Int32FromInt64(112))
  22472. if err != m_Z_OK {
  22473. return err
  22474. }
  22475. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
  22476. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
  22477. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
  22478. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
  22479. for cond := true; cond; cond = err == m_Z_OK {
  22480. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
  22481. if left > uint64(max) {
  22482. v1 = max
  22483. } else {
  22484. v1 = uint32(left)
  22485. }
  22486. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
  22487. left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
  22488. }
  22489. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
  22490. if sourceLen > uint64(max) {
  22491. v2 = max
  22492. } else {
  22493. v2 = uint32(sourceLen)
  22494. }
  22495. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
  22496. sourceLen -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  22497. }
  22498. if sourceLen != 0 {
  22499. v3 = m_Z_NO_FLUSH
  22500. } else {
  22501. v3 = int32(m_Z_FINISH)
  22502. }
  22503. err = Xdeflate(tls, bp, v3)
  22504. }
  22505. *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
  22506. XdeflateEnd(tls, bp)
  22507. if err == int32(m_Z_STREAM_END) {
  22508. v4 = m_Z_OK
  22509. } else {
  22510. v4 = err
  22511. }
  22512. return v4
  22513. }
  22514. // C documentation
  22515. //
  22516. // /* ===========================================================================
  22517. // */
  22518. func Xcompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong) (r int32) {
  22519. return Xcompress2(tls, dest, destLen, source, sourceLen, -int32(1))
  22520. }
  22521. // C documentation
  22522. //
  22523. // /* ===========================================================================
  22524. // If the default memLevel or windowBits for deflateInit() is changed, then
  22525. // this function needs to be updated.
  22526. // */
  22527. func XcompressBound(tls *libc.TLS, sourceLen TuLong) (r TuLong) {
  22528. return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13)
  22529. }
  22530. // C documentation
  22531. //
  22532. // /* ===========================================================================
  22533. // Decompresses the source buffer into the destination buffer. *sourceLen is
  22534. // the byte length of the source buffer. Upon entry, *destLen is the total size
  22535. // of the destination buffer, which must be large enough to hold the entire
  22536. // uncompressed data. (The size of the uncompressed data must have been saved
  22537. // previously by the compressor and transmitted to the decompressor by some
  22538. // mechanism outside the scope of this compression library.) Upon exit,
  22539. // *destLen is the size of the decompressed data and *sourceLen is the number
  22540. // of source bytes consumed. Upon return, source + *sourceLen points to the
  22541. // first unused input byte.
  22542. //
  22543. // uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough
  22544. // memory, Z_BUF_ERROR if there was not enough room in the output buffer, or
  22545. // Z_DATA_ERROR if the input data was corrupted, including if the input data is
  22546. // an incomplete zlib stream.
  22547. // */
  22548. func Xuncompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen uintptr) (r int32) {
  22549. bp := tls.Alloc(128)
  22550. defer tls.Free(128)
  22551. var err, v3, v4, v5 int32
  22552. var left, len1 TuLong
  22553. var max TuInt
  22554. var v1, v2 uint32
  22555. var _ /* buf at bp+112 */ [1]TByte
  22556. var _ /* stream at bp+0 */ Tz_stream
  22557. _, _, _, _, _, _, _, _, _ = err, left, len1, max, v1, v2, v3, v4, v5
  22558. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* for detection of incomplete stream when *destLen == 0 */
  22559. len1 = *(*TuLong)(unsafe.Pointer(sourceLen))
  22560. if *(*TuLongf)(unsafe.Pointer(destLen)) != 0 {
  22561. left = *(*TuLongf)(unsafe.Pointer(destLen))
  22562. *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
  22563. } else {
  22564. left = uint64(1)
  22565. dest = bp + 112
  22566. }
  22567. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
  22568. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
  22569. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
  22570. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
  22571. (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
  22572. err = XinflateInit_(tls, bp, __ccgo_ts, libc.Int32FromInt64(112))
  22573. if err != m_Z_OK {
  22574. return err
  22575. }
  22576. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
  22577. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
  22578. for cond := true; cond; cond = err == m_Z_OK {
  22579. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
  22580. if left > uint64(max) {
  22581. v1 = max
  22582. } else {
  22583. v1 = uint32(left)
  22584. }
  22585. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
  22586. left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
  22587. }
  22588. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
  22589. if len1 > uint64(max) {
  22590. v2 = max
  22591. } else {
  22592. v2 = uint32(len1)
  22593. }
  22594. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
  22595. len1 -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  22596. }
  22597. err = Xinflate(tls, bp, m_Z_NO_FLUSH)
  22598. }
  22599. *(*TuLong)(unsafe.Pointer(sourceLen)) -= len1 + uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  22600. if dest != bp+112 {
  22601. *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
  22602. } else {
  22603. if (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out != 0 && err == -int32(5) {
  22604. left = uint64(1)
  22605. }
  22606. }
  22607. XinflateEnd(tls, bp)
  22608. if err == int32(m_Z_STREAM_END) {
  22609. v3 = m_Z_OK
  22610. } else {
  22611. if err == int32(m_Z_NEED_DICT) {
  22612. v4 = -int32(3)
  22613. } else {
  22614. if err == -int32(5) && left+uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out) != 0 {
  22615. v5 = -int32(3)
  22616. } else {
  22617. v5 = err
  22618. }
  22619. v4 = v5
  22620. }
  22621. v3 = v4
  22622. }
  22623. return v3
  22624. }
  22625. func Xuncompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, _sourceLen TuLong) (r int32) {
  22626. bp := tls.Alloc(16)
  22627. defer tls.Free(16)
  22628. *(*TuLong)(unsafe.Pointer(bp)) = _sourceLen
  22629. return Xuncompress2(tls, dest, destLen, source, bp)
  22630. }
  22631. // C documentation
  22632. //
  22633. // /* gzclose() is in a separate file so that it is linked in only if it is used.
  22634. // That way the other gzclose functions can be used instead to avoid linking in
  22635. // unneeded compression or decompression routines. */
  22636. func Xgzclose(tls *libc.TLS, file TgzFile) (r int32) {
  22637. var state Tgz_statep
  22638. var v1 int32
  22639. _, _ = state, v1
  22640. if file == libc.UintptrFromInt32(0) {
  22641. return -int32(2)
  22642. }
  22643. state = file
  22644. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22645. v1 = Xgzclose_r(tls, file)
  22646. } else {
  22647. v1 = Xgzclose_w(tls, file)
  22648. }
  22649. return v1
  22650. }
  22651. const m_LSEEK = "lseek"
  22652. const m_O_APPEND1 = 8
  22653. const m_O_CLOEXEC1 = 1048576
  22654. const m_O_CREAT1 = 512
  22655. const m_O_EXCL1 = 2048
  22656. const m_O_RDONLY1 = 0
  22657. const m_O_TRUNC1 = 1024
  22658. const m_O_WRONLY1 = 1
  22659. const m___INT_MAX1 = 2147483647
  22660. // C documentation
  22661. //
  22662. // /* Reset gzip file state */
  22663. func _gz_reset(tls *libc.TLS, state Tgz_statep) {
  22664. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0) /* no output data available */
  22665. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* for reading ... */
  22666. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0 /* not at end of file */
  22667. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0 /* have not read past end yet */
  22668. (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK /* look for gzip header */
  22669. } else { /* for writing ... */
  22670. (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
  22671. } /* no deflateReset pending */
  22672. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0 /* no seek request pending */
  22673. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0)) /* clear error */
  22674. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos = 0 /* no uncompressed data yet */
  22675. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0) /* no input data yet */
  22676. }
  22677. // C documentation
  22678. //
  22679. // /* Open a gzip file either by name or file descriptor. */
  22680. func _gz_open(tls *libc.TLS, path uintptr, fd int32, mode uintptr) (r TgzFile) {
  22681. bp := tls.Alloc(16)
  22682. defer tls.Free(16)
  22683. var cloexec, exclusive, oflag, v1, v2, v3, v4, v5 int32
  22684. var len1 Tz_size_t
  22685. var state Tgz_statep
  22686. _, _, _, _, _, _, _, _, _, _ = cloexec, exclusive, len1, oflag, state, v1, v2, v3, v4, v5
  22687. cloexec = 0
  22688. exclusive = 0
  22689. /* check input */
  22690. if path == libc.UintptrFromInt32(0) {
  22691. return libc.UintptrFromInt32(0)
  22692. }
  22693. /* allocate gzFile structure to return */
  22694. state = libc.Xmalloc(tls, uint64(240))
  22695. if state == libc.UintptrFromInt32(0) {
  22696. return libc.UintptrFromInt32(0)
  22697. }
  22698. (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0) /* no buffers allocated yet */
  22699. (*Tgz_state)(unsafe.Pointer(state)).Fwant = uint32(m_GZBUFSIZE) /* requested buffer size */
  22700. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0) /* no error message yet */
  22701. /* interpret mode */
  22702. (*Tgz_state)(unsafe.Pointer(state)).Fmode = m_GZ_NONE
  22703. (*Tgz_state)(unsafe.Pointer(state)).Flevel = -int32(1)
  22704. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = m_Z_DEFAULT_STRATEGY
  22705. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
  22706. for *(*int8)(unsafe.Pointer(mode)) != 0 {
  22707. if int32(*(*int8)(unsafe.Pointer(mode))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(mode))) <= int32('9') {
  22708. (*Tgz_state)(unsafe.Pointer(state)).Flevel = int32(*(*int8)(unsafe.Pointer(mode))) - int32('0')
  22709. } else {
  22710. switch int32(*(*int8)(unsafe.Pointer(mode))) {
  22711. case int32('r'):
  22712. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_READ)
  22713. case int32('w'):
  22714. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE)
  22715. case int32('a'):
  22716. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_APPEND)
  22717. case int32('+'): /* can't read and write at the same time */
  22718. libc.Xfree(tls, state)
  22719. return libc.UintptrFromInt32(0)
  22720. case int32('b'): /* ignore -- will request binary anyway */
  22721. case int32('e'):
  22722. cloexec = int32(1)
  22723. case int32('x'):
  22724. exclusive = int32(1)
  22725. case int32('f'):
  22726. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FILTERED)
  22727. case int32('h'):
  22728. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_HUFFMAN_ONLY)
  22729. case int32('R'):
  22730. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_RLE)
  22731. case int32('F'):
  22732. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FIXED)
  22733. case int32('T'):
  22734. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
  22735. default: /* could consider as an error, but just ignore */
  22736. }
  22737. }
  22738. mode++
  22739. }
  22740. /* must provide an "r", "w", or "a" */
  22741. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == m_GZ_NONE {
  22742. libc.Xfree(tls, state)
  22743. return libc.UintptrFromInt32(0)
  22744. }
  22745. /* can't force transparent read */
  22746. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22747. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  22748. libc.Xfree(tls, state)
  22749. return libc.UintptrFromInt32(0)
  22750. }
  22751. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1) /* for empty file */
  22752. }
  22753. /* save the path name for error messages */
  22754. len1 = libc.Xstrlen(tls, path)
  22755. (*Tgz_state)(unsafe.Pointer(state)).Fpath = libc.Xmalloc(tls, len1+uint64(1))
  22756. if (*Tgz_state)(unsafe.Pointer(state)).Fpath == libc.UintptrFromInt32(0) {
  22757. libc.Xfree(tls, state)
  22758. return libc.UintptrFromInt32(0)
  22759. }
  22760. libc.X__builtin_snprintf(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath, len1+uint64(1), __ccgo_ts+584, libc.VaList(bp+8, path))
  22761. /* compute the flags for open() */
  22762. if cloexec != 0 {
  22763. v1 = int32(m_O_CLOEXEC1)
  22764. } else {
  22765. v1 = 0
  22766. }
  22767. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22768. v2 = m_O_RDONLY1
  22769. } else {
  22770. if exclusive != 0 {
  22771. v3 = int32(m_O_EXCL1)
  22772. } else {
  22773. v3 = 0
  22774. }
  22775. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_WRITE) {
  22776. v4 = int32(m_O_TRUNC1)
  22777. } else {
  22778. v4 = int32(m_O_APPEND1)
  22779. }
  22780. v2 = libc.Int32FromInt32(m_O_WRONLY1) | libc.Int32FromInt32(m_O_CREAT1) | v3 | v4
  22781. }
  22782. oflag = v1 | v2
  22783. /* open the file with the appropriate flags (or just use fd) */
  22784. if fd > -int32(1) {
  22785. v5 = fd
  22786. } else {
  22787. v5 = libc.Xopen(tls, path, oflag, libc.VaList(bp+8, int32(0666)))
  22788. }
  22789. (*Tgz_state)(unsafe.Pointer(state)).Ffd = v5
  22790. if (*Tgz_state)(unsafe.Pointer(state)).Ffd == -int32(1) {
  22791. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  22792. libc.Xfree(tls, state)
  22793. return libc.UintptrFromInt32(0)
  22794. }
  22795. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_APPEND) {
  22796. libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(m_SEEK_END)) /* so gzoffset() is correct */
  22797. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE) /* simplify later checks */
  22798. }
  22799. /* save the current position for rewinding (only if reading) */
  22800. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22801. (*Tgz_state)(unsafe.Pointer(state)).Fstart = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(m_SEEK_CUR))
  22802. if (*Tgz_state)(unsafe.Pointer(state)).Fstart == int64(-int32(1)) {
  22803. (*Tgz_state)(unsafe.Pointer(state)).Fstart = 0
  22804. }
  22805. }
  22806. /* initialize stream */
  22807. _gz_reset(tls, state)
  22808. /* return stream */
  22809. return state
  22810. }
  22811. // C documentation
  22812. //
  22813. // /* -- see zlib.h -- */
  22814. func Xgzopen(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
  22815. return _gz_open(tls, path, -int32(1), mode)
  22816. }
  22817. // C documentation
  22818. //
  22819. // /* -- see zlib.h -- */
  22820. func Xgzopen64(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
  22821. return _gz_open(tls, path, -int32(1), mode)
  22822. }
  22823. // C documentation
  22824. //
  22825. // /* -- see zlib.h -- */
  22826. func Xgzdopen(tls *libc.TLS, fd int32, mode uintptr) (r TgzFile) {
  22827. bp := tls.Alloc(16)
  22828. defer tls.Free(16)
  22829. var gz TgzFile
  22830. var path, v1 uintptr
  22831. var v2 bool
  22832. _, _, _, _ = gz, path, v1, v2
  22833. if v2 = fd == -int32(1); !v2 {
  22834. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4))
  22835. path = v1
  22836. }
  22837. if v2 || v1 == libc.UintptrFromInt32(0) {
  22838. return libc.UintptrFromInt32(0)
  22839. }
  22840. libc.X__builtin_snprintf(tls, path, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4), __ccgo_ts+587, libc.VaList(bp+8, fd))
  22841. gz = _gz_open(tls, path, fd, mode)
  22842. libc.Xfree(tls, path)
  22843. return gz
  22844. }
  22845. /* -- see zlib.h -- */
  22846. // C documentation
  22847. //
  22848. // /* -- see zlib.h -- */
  22849. func Xgzbuffer(tls *libc.TLS, file TgzFile, size uint32) (r int32) {
  22850. var state Tgz_statep
  22851. _ = state
  22852. /* get internal structure and check integrity */
  22853. if file == libc.UintptrFromInt32(0) {
  22854. return -int32(1)
  22855. }
  22856. state = file
  22857. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  22858. return -int32(1)
  22859. }
  22860. /* make sure we haven't already allocated memory */
  22861. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != uint32(0) {
  22862. return -int32(1)
  22863. }
  22864. /* check and set requested size */
  22865. if size<<int32(1) < size {
  22866. return -int32(1)
  22867. } /* need to be able to double it */
  22868. if size < uint32(8) {
  22869. size = uint32(8)
  22870. } /* needed to behave well with flushing */
  22871. (*Tgz_state)(unsafe.Pointer(state)).Fwant = size
  22872. return 0
  22873. }
  22874. // C documentation
  22875. //
  22876. // /* -- see zlib.h -- */
  22877. func Xgzrewind(tls *libc.TLS, file TgzFile) (r int32) {
  22878. var state Tgz_statep
  22879. _ = state
  22880. /* get internal structure */
  22881. if file == libc.UintptrFromInt32(0) {
  22882. return -int32(1)
  22883. }
  22884. state = file
  22885. /* check that we're reading and that there's no error */
  22886. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  22887. return -int32(1)
  22888. }
  22889. /* back up and start over */
  22890. if libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fstart, m_SEEK_SET) == int64(-int32(1)) {
  22891. return -int32(1)
  22892. }
  22893. _gz_reset(tls, state)
  22894. return 0
  22895. }
  22896. // C documentation
  22897. //
  22898. // /* -- see zlib.h -- */
  22899. func Xgzseek64(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
  22900. var n, v1 uint32
  22901. var ret Toff_t
  22902. var state Tgz_statep
  22903. _, _, _, _ = n, ret, state, v1
  22904. /* get internal structure and check integrity */
  22905. if file == libc.UintptrFromInt32(0) {
  22906. return int64(-int32(1))
  22907. }
  22908. state = file
  22909. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  22910. return int64(-int32(1))
  22911. }
  22912. /* check that there's no error */
  22913. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  22914. return int64(-int32(1))
  22915. }
  22916. /* can only seek from start or relative to current position */
  22917. if whence != m_SEEK_SET && whence != int32(m_SEEK_CUR) {
  22918. return int64(-int32(1))
  22919. }
  22920. /* normalize offset to a SEEK_CUR specification */
  22921. if whence == m_SEEK_SET {
  22922. offset -= (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  22923. } else {
  22924. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  22925. offset += (*Tgz_state)(unsafe.Pointer(state)).Fskip
  22926. }
  22927. }
  22928. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  22929. /* if within raw area while reading, just go there */
  22930. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fhow == int32(m_COPY) && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos+offset >= 0 {
  22931. ret = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, offset-libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave), int32(m_SEEK_CUR))
  22932. if ret == int64(-int32(1)) {
  22933. return int64(-int32(1))
  22934. }
  22935. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  22936. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
  22937. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  22938. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  22939. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  22940. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
  22941. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += offset
  22942. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  22943. }
  22944. /* calculate skip amount, rewinding if needed for back seek when reading */
  22945. if offset < 0 {
  22946. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) { /* writing -- can't go backwards */
  22947. return int64(-int32(1))
  22948. }
  22949. offset += (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  22950. if offset < 0 { /* before start of file! */
  22951. return int64(-int32(1))
  22952. }
  22953. if Xgzrewind(tls, file) == -int32(1) { /* rewind, then skip to offset */
  22954. return int64(-int32(1))
  22955. }
  22956. }
  22957. /* if reading, skip what's in output buffer (one less gzgetc() check) */
  22958. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22959. if libc.Bool(libc.Bool(uint64(4) == uint64(8)) && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > Xgz_intmax(tls)) || libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave) > offset {
  22960. v1 = libc.Uint32FromInt64(offset)
  22961. } else {
  22962. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  22963. }
  22964. n = v1
  22965. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  22966. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  22967. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  22968. offset -= libc.Int64FromUint32(n)
  22969. }
  22970. /* request skip (if not zero) */
  22971. if offset != 0 {
  22972. (*Tgz_state)(unsafe.Pointer(state)).Fseek = int32(1)
  22973. (*Tgz_state)(unsafe.Pointer(state)).Fskip = offset
  22974. }
  22975. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + offset
  22976. }
  22977. // C documentation
  22978. //
  22979. // /* -- see zlib.h -- */
  22980. func Xgzseek(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
  22981. var ret Toff_t
  22982. var v1 int64
  22983. _, _ = ret, v1
  22984. ret = Xgzseek64(tls, file, offset, whence)
  22985. if ret == ret {
  22986. v1 = ret
  22987. } else {
  22988. v1 = int64(-int32(1))
  22989. }
  22990. return v1
  22991. }
  22992. // C documentation
  22993. //
  22994. // /* -- see zlib.h -- */
  22995. func Xgztell64(tls *libc.TLS, file TgzFile) (r Toff_t) {
  22996. var state Tgz_statep
  22997. var v1 int64
  22998. _, _ = state, v1
  22999. /* get internal structure and check integrity */
  23000. if file == libc.UintptrFromInt32(0) {
  23001. return int64(-int32(1))
  23002. }
  23003. state = file
  23004. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23005. return int64(-int32(1))
  23006. }
  23007. /* return position */
  23008. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23009. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fskip
  23010. } else {
  23011. v1 = 0
  23012. }
  23013. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + v1
  23014. }
  23015. // C documentation
  23016. //
  23017. // /* -- see zlib.h -- */
  23018. func Xgztell(tls *libc.TLS, file TgzFile) (r Toff_t) {
  23019. var ret Toff_t
  23020. var v1 int64
  23021. _, _ = ret, v1
  23022. ret = Xgztell64(tls, file)
  23023. if ret == ret {
  23024. v1 = ret
  23025. } else {
  23026. v1 = int64(-int32(1))
  23027. }
  23028. return v1
  23029. }
  23030. // C documentation
  23031. //
  23032. // /* -- see zlib.h -- */
  23033. func Xgzoffset64(tls *libc.TLS, file TgzFile) (r Toff_t) {
  23034. var offset Toff_t
  23035. var state Tgz_statep
  23036. _, _ = offset, state
  23037. /* get internal structure and check integrity */
  23038. if file == libc.UintptrFromInt32(0) {
  23039. return int64(-int32(1))
  23040. }
  23041. state = file
  23042. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23043. return int64(-int32(1))
  23044. }
  23045. /* compute and return effective offset in file */
  23046. offset = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(m_SEEK_CUR))
  23047. if offset == int64(-int32(1)) {
  23048. return int64(-int32(1))
  23049. }
  23050. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* reading */
  23051. offset -= libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)
  23052. } /* don't count buffered input */
  23053. return offset
  23054. }
  23055. // C documentation
  23056. //
  23057. // /* -- see zlib.h -- */
  23058. func Xgzoffset(tls *libc.TLS, file TgzFile) (r Toff_t) {
  23059. var ret Toff_t
  23060. var v1 int64
  23061. _, _ = ret, v1
  23062. ret = Xgzoffset64(tls, file)
  23063. if ret == ret {
  23064. v1 = ret
  23065. } else {
  23066. v1 = int64(-int32(1))
  23067. }
  23068. return v1
  23069. }
  23070. // C documentation
  23071. //
  23072. // /* -- see zlib.h -- */
  23073. func Xgzeof(tls *libc.TLS, file TgzFile) (r int32) {
  23074. var state Tgz_statep
  23075. var v1 int32
  23076. _, _ = state, v1
  23077. /* get internal structure and check integrity */
  23078. if file == libc.UintptrFromInt32(0) {
  23079. return 0
  23080. }
  23081. state = file
  23082. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23083. return 0
  23084. }
  23085. /* return end-of-file state */
  23086. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  23087. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fpast
  23088. } else {
  23089. v1 = 0
  23090. }
  23091. return v1
  23092. }
  23093. // C documentation
  23094. //
  23095. // /* -- see zlib.h -- */
  23096. func Xgzerror(tls *libc.TLS, file TgzFile, errnum uintptr) (r uintptr) {
  23097. var state Tgz_statep
  23098. var v1, v2 uintptr
  23099. _, _, _ = state, v1, v2
  23100. /* get internal structure and check integrity */
  23101. if file == libc.UintptrFromInt32(0) {
  23102. return libc.UintptrFromInt32(0)
  23103. }
  23104. state = file
  23105. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23106. return libc.UintptrFromInt32(0)
  23107. }
  23108. /* return error information */
  23109. if errnum != libc.UintptrFromInt32(0) {
  23110. *(*int32)(unsafe.Pointer(errnum)) = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  23111. }
  23112. if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(4) {
  23113. v1 = __ccgo_ts + 595
  23114. } else {
  23115. if (*Tgz_state)(unsafe.Pointer(state)).Fmsg == libc.UintptrFromInt32(0) {
  23116. v2 = __ccgo_ts + 494
  23117. } else {
  23118. v2 = (*Tgz_state)(unsafe.Pointer(state)).Fmsg
  23119. }
  23120. v1 = v2
  23121. }
  23122. return v1
  23123. }
  23124. // C documentation
  23125. //
  23126. // /* -- see zlib.h -- */
  23127. func Xgzclearerr(tls *libc.TLS, file TgzFile) {
  23128. var state Tgz_statep
  23129. _ = state
  23130. /* get internal structure and check integrity */
  23131. if file == libc.UintptrFromInt32(0) {
  23132. return
  23133. }
  23134. state = file
  23135. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23136. return
  23137. }
  23138. /* clear error and end-of-file */
  23139. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  23140. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
  23141. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  23142. }
  23143. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  23144. }
  23145. // C documentation
  23146. //
  23147. // /* Create an error message in allocated memory and set state->err and
  23148. // state->msg accordingly. Free any previous error message already there. Do
  23149. // not try to free or allocate space if the error is Z_MEM_ERROR (out of
  23150. // memory). Simply save the error message as a static string. If there is an
  23151. // allocation failure constructing the error message, then convert the error to
  23152. // out of memory. */
  23153. func Xgz_error(tls *libc.TLS, state Tgz_statep, err int32, msg uintptr) {
  23154. bp := tls.Alloc(32)
  23155. defer tls.Free(32)
  23156. var v1 uintptr
  23157. _ = v1
  23158. /* free previously allocated message and clear */
  23159. if (*Tgz_state)(unsafe.Pointer(state)).Fmsg != libc.UintptrFromInt32(0) {
  23160. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(4) {
  23161. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fmsg)
  23162. }
  23163. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0)
  23164. }
  23165. /* if fatal, set state->x.have to 0 so that the gzgetc() macro fails */
  23166. if err != m_Z_OK && err != -int32(5) {
  23167. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  23168. }
  23169. /* set error code, and if no message, then done */
  23170. (*Tgz_state)(unsafe.Pointer(state)).Ferr = err
  23171. if msg == libc.UintptrFromInt32(0) {
  23172. return
  23173. }
  23174. /* for an out of memory error, return literal string when requested */
  23175. if err == -int32(4) {
  23176. return
  23177. }
  23178. /* construct error message with path */
  23179. v1 = libc.Xmalloc(tls, libc.Xstrlen(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3))
  23180. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = v1
  23181. if v1 == libc.UintptrFromInt32(0) {
  23182. (*Tgz_state)(unsafe.Pointer(state)).Ferr = -int32(4)
  23183. return
  23184. }
  23185. libc.X__builtin_snprintf(tls, (*Tgz_state)(unsafe.Pointer(state)).Fmsg, libc.Xstrlen(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3), __ccgo_ts+609, libc.VaList(bp+8, (*Tgz_state)(unsafe.Pointer(state)).Fpath, __ccgo_ts+616, msg))
  23186. }
  23187. // C documentation
  23188. //
  23189. // /* portably return maximum value for an int (when limits.h presumed not
  23190. // available) -- we need to do this to cover cases where 2's complement not
  23191. // used, since C standard permits 1's complement and sign-bit representations,
  23192. // otherwise we could just use ((unsigned)-1) >> 1 */
  23193. func Xgz_intmax(tls *libc.TLS) (r uint32) {
  23194. return uint32(m___INT_MAX1)
  23195. }
  23196. const m_O_APPEND2 = 0x0008
  23197. const m_O_CLOEXEC2 = 0x00100000
  23198. const m_O_CREAT2 = 0x0200
  23199. const m_O_EXCL2 = 0x0800
  23200. const m_O_RDONLY2 = 0x0000
  23201. const m_O_TRUNC2 = 0x0400
  23202. const m_O_WRONLY2 = 0x0001
  23203. const m___INT_MAX2 = 0x7fffffff
  23204. // C documentation
  23205. //
  23206. // /* Use read() to load a buffer -- return -1 on error, otherwise 0. Read from
  23207. // state->fd, and update state->eof, state->err, and state->msg as appropriate.
  23208. // This function needs to loop on read(), since read() is not guaranteed to
  23209. // read the number of bytes requested, depending on the type of descriptor. */
  23210. func _gz_load(tls *libc.TLS, state Tgz_statep, buf uintptr, len1 uint32, have uintptr) (r int32) {
  23211. var get, max uint32
  23212. var ret int32
  23213. _, _, _ = get, max, ret
  23214. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
  23215. *(*uint32)(unsafe.Pointer(have)) = uint32(0)
  23216. for cond := true; cond; cond = *(*uint32)(unsafe.Pointer(have)) < len1 {
  23217. get = len1 - *(*uint32)(unsafe.Pointer(have))
  23218. if get > max {
  23219. get = max
  23220. }
  23221. ret = int32(libc.Xread(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, buf+uintptr(*(*uint32)(unsafe.Pointer(have))), uint64(get)))
  23222. if ret <= 0 {
  23223. break
  23224. }
  23225. *(*uint32)(unsafe.Pointer(have)) += libc.Uint32FromInt32(ret)
  23226. }
  23227. if ret < 0 {
  23228. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
  23229. return -int32(1)
  23230. }
  23231. if ret == 0 {
  23232. (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
  23233. }
  23234. return 0
  23235. }
  23236. // C documentation
  23237. //
  23238. // /* Load up input buffer and set eof flag if last data loaded -- return -1 on
  23239. // error, 0 otherwise. Note that the eof flag is set when the end of the input
  23240. // file is reached, even though there may be unused data in the buffer. Once
  23241. // that data has been used, no more attempts will be made to read the file.
  23242. // If strm->avail_in != 0, then the current data is moved to the beginning of
  23243. // the input buffer, and then the remainder of the buffer is loaded with the
  23244. // available data from the input file. */
  23245. func _gz_avail(tls *libc.TLS, state Tgz_statep) (r int32) {
  23246. bp := tls.Alloc(16)
  23247. defer tls.Free(16)
  23248. var n, v1 uint32
  23249. var p, q, v3, v4 uintptr
  23250. var strm Tz_streamp
  23251. var _ /* got at bp+0 */ uint32
  23252. _, _, _, _, _, _, _ = n, p, q, strm, v1, v3, v4
  23253. strm = state + 128
  23254. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23255. return -int32(1)
  23256. }
  23257. if (*Tgz_state)(unsafe.Pointer(state)).Feof == 0 {
  23258. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 { /* copy what's there to the start */
  23259. p = (*Tgz_state)(unsafe.Pointer(state)).Fin
  23260. q = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  23261. n = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  23262. for {
  23263. v3 = p
  23264. p++
  23265. v4 = q
  23266. q++
  23267. *(*uint8)(unsafe.Pointer(v3)) = *(*uint8)(unsafe.Pointer(v4))
  23268. goto _2
  23269. _2:
  23270. ;
  23271. n--
  23272. v1 = n
  23273. if !(v1 != 0) {
  23274. break
  23275. }
  23276. }
  23277. }
  23278. if _gz_load(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in), (*Tgz_state)(unsafe.Pointer(state)).Fsize-(*Tz_stream)(unsafe.Pointer(strm)).Favail_in, bp) == -int32(1) {
  23279. return -int32(1)
  23280. }
  23281. *(*TuInt)(unsafe.Pointer(strm + 8)) += *(*uint32)(unsafe.Pointer(bp))
  23282. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  23283. }
  23284. return 0
  23285. }
  23286. // C documentation
  23287. //
  23288. // /* Look for gzip header, set up for inflate or copy. state->x.have must be 0.
  23289. // If this is the first time in, allocate required memory. state->how will be
  23290. // left unchanged if there is no more input data available, will be set to COPY
  23291. // if there is no gzip header and direct copying will be performed, or it will
  23292. // be set to GZIP for decompression. If direct copying, then leftover input
  23293. // data from the input buffer will be copied to the output buffer. In that
  23294. // case, all further file reads will be directly to either the output buffer or
  23295. // a user buffer. If decompressing, the inflate state will be initialized.
  23296. // gz_look() will return 0 on success or -1 on failure. */
  23297. func _gz_look(tls *libc.TLS, state Tgz_statep) (r int32) {
  23298. var strm Tz_streamp
  23299. _ = strm
  23300. strm = state + 128
  23301. /* allocate read buffers and inflate memory */
  23302. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) {
  23303. /* allocate buffers */
  23304. (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
  23305. (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
  23306. if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) || (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
  23307. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23308. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23309. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23310. return -int32(1)
  23311. }
  23312. (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
  23313. /* allocate inflate memory */
  23314. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzalloc = uintptr(m_Z_NULL)
  23315. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzfree = uintptr(m_Z_NULL)
  23316. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fopaque = uintptr(m_Z_NULL)
  23317. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
  23318. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = uintptr(m_Z_NULL)
  23319. if XinflateInit2_(tls, state+128, libc.Int32FromInt32(15)+libc.Int32FromInt32(16), __ccgo_ts, libc.Int32FromInt64(112)) != m_Z_OK { /* gunzip */
  23320. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23321. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23322. (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0)
  23323. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23324. return -int32(1)
  23325. }
  23326. }
  23327. /* get at least the magic bytes in the input buffer */
  23328. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in < uint32(2) {
  23329. if _gz_avail(tls, state) == -int32(1) {
  23330. return -int32(1)
  23331. }
  23332. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  23333. return 0
  23334. }
  23335. }
  23336. /* look for gzip magic bytes -- if there, do gzip decoding (note: there is
  23337. a logical dilemma here when considering the case of a partially written
  23338. gzip file, to wit, if a single 31 byte is written, then we cannot tell
  23339. whether this is a single-byte file, or just a partially written gzip
  23340. file -- for here we assume that if a gzip file is being written, then
  23341. the header will be written in a single operation, so that reading a
  23342. single byte is sufficient indication that it is not a gzip file) */
  23343. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in > uint32(1) && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in))) == int32(31) && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in + 1))) == int32(139) {
  23344. XinflateReset(tls, strm)
  23345. (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_GZIP)
  23346. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
  23347. return 0
  23348. }
  23349. /* no gzip header -- if we were decoding gzip before, then this is trailing
  23350. garbage. Ignore the trailing garbage and finish. */
  23351. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect == 0 {
  23352. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
  23353. (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
  23354. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  23355. return 0
  23356. }
  23357. /* doing raw i/o, copy any leftover input to output -- this assumes that
  23358. the output buffer is larger than the input buffer, which also assures
  23359. space for gzungetc() */
  23360. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23361. libc.Xmemcpy(tls, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64((*Tz_stream)(unsafe.Pointer(strm)).Favail_in))
  23362. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  23363. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
  23364. (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_COPY)
  23365. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
  23366. return 0
  23367. }
  23368. // C documentation
  23369. //
  23370. // /* Decompress from input to the provided next_out and avail_out in the state.
  23371. // On return, state->x.have and state->x.next point to the just decompressed
  23372. // data. If the gzip stream completes, state->how is reset to LOOK to look for
  23373. // the next gzip stream or raw data, once state->x.have is depleted. Returns 0
  23374. // on success, -1 on failure. */
  23375. func _gz_decomp(tls *libc.TLS, state Tgz_statep) (r int32) {
  23376. var had uint32
  23377. var ret int32
  23378. var strm Tz_streamp
  23379. var v1 uintptr
  23380. _, _, _, _ = had, ret, strm, v1
  23381. ret = m_Z_OK
  23382. strm = state + 128
  23383. /* fill output buffer up to end of deflate stream */
  23384. had = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23385. for cond := true; cond; cond = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out != 0 && ret != int32(m_Z_STREAM_END) {
  23386. /* get more input for inflate() */
  23387. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && _gz_avail(tls, state) == -int32(1) {
  23388. return -int32(1)
  23389. }
  23390. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  23391. Xgz_error(tls, state, -int32(5), __ccgo_ts+619)
  23392. break
  23393. }
  23394. /* decompress and handle errors */
  23395. ret = Xinflate(tls, strm, m_Z_NO_FLUSH)
  23396. if ret == -int32(2) || ret == int32(m_Z_NEED_DICT) {
  23397. Xgz_error(tls, state, -int32(2), __ccgo_ts+642)
  23398. return -int32(1)
  23399. }
  23400. if ret == -int32(4) {
  23401. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23402. return -int32(1)
  23403. }
  23404. if ret == -int32(3) { /* deflate stream invalid */
  23405. if (*Tz_stream)(unsafe.Pointer(strm)).Fmsg == libc.UintptrFromInt32(0) {
  23406. v1 = __ccgo_ts + 681
  23407. } else {
  23408. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Fmsg
  23409. }
  23410. Xgz_error(tls, state, -int32(3), v1)
  23411. return -int32(1)
  23412. }
  23413. }
  23414. /* update available output */
  23415. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = had - (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23416. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out - uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
  23417. /* if the gzip stream completed successfully, look for another */
  23418. if ret == int32(m_Z_STREAM_END) {
  23419. (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK
  23420. }
  23421. /* good decompression */
  23422. return 0
  23423. }
  23424. // C documentation
  23425. //
  23426. // /* Fetch data and put it in the output buffer. Assumes state->x.have is 0.
  23427. // Data is either copied from the input file or decompressed from the input
  23428. // file depending on state->how. If state->how is LOOK, then a gzip header is
  23429. // looked for to determine whether to copy or decompress. Returns -1 on error,
  23430. // otherwise 0. gz_fetch() will leave state->how as COPY or GZIP unless the
  23431. // end of the input file has been reached and all data has been processed. */
  23432. func _gz_fetch(tls *libc.TLS, state Tgz_statep) (r int32) {
  23433. var strm Tz_streamp
  23434. _ = strm
  23435. strm = state + 128
  23436. for cond := true; cond; cond = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && (!((*Tgz_state)(unsafe.Pointer(state)).Feof != 0) || (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0) {
  23437. switch (*Tgz_state)(unsafe.Pointer(state)).Fhow {
  23438. case m_LOOK: /* -> LOOK, COPY (only if never GZIP), or GZIP */
  23439. if _gz_look(tls, state) == -int32(1) {
  23440. return -int32(1)
  23441. }
  23442. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK {
  23443. return 0
  23444. }
  23445. case int32(m_COPY): /* -> COPY */
  23446. if _gz_load(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fout, (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1), state) == -int32(1) {
  23447. return -int32(1)
  23448. }
  23449. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23450. return 0
  23451. case int32(m_GZIP): /* -> GZIP or LOOK (if end of gzip stream) */
  23452. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize << int32(1)
  23453. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23454. if _gz_decomp(tls, state) == -int32(1) {
  23455. return -int32(1)
  23456. }
  23457. }
  23458. }
  23459. return 0
  23460. }
  23461. // C documentation
  23462. //
  23463. // /* Skip len uncompressed bytes of output. Return -1 on error, 0 on success. */
  23464. func _gz_skip(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
  23465. var n, v1 uint32
  23466. _, _ = n, v1
  23467. /* skip over len bytes or reach end-of-file, whichever comes first */
  23468. for len1 != 0 {
  23469. /* skip over whatever is in output buffer */
  23470. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  23471. if libc.Bool(libc.Bool(uint64(4) == uint64(8)) && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > Xgz_intmax(tls)) || libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave) > len1 {
  23472. v1 = libc.Uint32FromInt64(len1)
  23473. } else {
  23474. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23475. }
  23476. n = v1
  23477. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  23478. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  23479. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  23480. len1 -= libc.Int64FromUint32(n)
  23481. } else {
  23482. if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  23483. break
  23484. } else {
  23485. /* get more output, looking for header if required */
  23486. if _gz_fetch(tls, state) == -int32(1) {
  23487. return -int32(1)
  23488. }
  23489. }
  23490. }
  23491. }
  23492. return 0
  23493. }
  23494. // C documentation
  23495. //
  23496. // /* Read len bytes into buf from file, or less than len up to the end of the
  23497. // input. Return the number of bytes read. If zero is returned, either the
  23498. // end of file was reached, or there was an error. state->err must be
  23499. // consulted in that case to determine which. */
  23500. func _gz_read(tls *libc.TLS, state Tgz_statep, buf Tvoidp, len1 Tz_size_t) (r Tz_size_t) {
  23501. bp := tls.Alloc(16)
  23502. defer tls.Free(16)
  23503. var got Tz_size_t
  23504. var _ /* n at bp+0 */ uint32
  23505. _ = got
  23506. /* if len is zero, avoid unnecessary operations */
  23507. if len1 == uint64(0) {
  23508. return uint64(0)
  23509. }
  23510. /* process a skip request */
  23511. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23512. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23513. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23514. return uint64(0)
  23515. }
  23516. }
  23517. /* get len bytes to buf, or less than len if at the end */
  23518. got = uint64(0)
  23519. for cond := true; cond; cond = len1 != 0 {
  23520. /* set n to the maximum amount of len that fits in an unsigned int */
  23521. *(*uint32)(unsafe.Pointer(bp)) = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  23522. if uint64(*(*uint32)(unsafe.Pointer(bp))) > len1 {
  23523. *(*uint32)(unsafe.Pointer(bp)) = uint32(len1)
  23524. }
  23525. /* first just try copying data from the output buffer */
  23526. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  23527. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave < *(*uint32)(unsafe.Pointer(bp)) {
  23528. *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23529. }
  23530. libc.Xmemcpy(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(*(*uint32)(unsafe.Pointer(bp))))
  23531. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(*(*uint32)(unsafe.Pointer(bp)))
  23532. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= *(*uint32)(unsafe.Pointer(bp))
  23533. } else {
  23534. if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  23535. (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* tried to read past end */
  23536. break
  23537. } else {
  23538. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK || *(*uint32)(unsafe.Pointer(bp)) < (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
  23539. /* get more output, looking for header if required */
  23540. if _gz_fetch(tls, state) == -int32(1) {
  23541. return uint64(0)
  23542. }
  23543. continue /* no progress yet -- go back to copy above */
  23544. /* the copy above assures that we will leave with space in the
  23545. output buffer, allowing at least one gzungetc() to succeed */
  23546. } else {
  23547. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == int32(m_COPY) { /* read directly */
  23548. if _gz_load(tls, state, buf, *(*uint32)(unsafe.Pointer(bp)), bp) == -int32(1) {
  23549. return uint64(0)
  23550. }
  23551. } else { /* state->how == GZIP */
  23552. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_out = *(*uint32)(unsafe.Pointer(bp))
  23553. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_out = buf
  23554. if _gz_decomp(tls, state) == -int32(1) {
  23555. return uint64(0)
  23556. }
  23557. *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23558. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  23559. }
  23560. }
  23561. }
  23562. }
  23563. /* update progress */
  23564. len1 -= uint64(*(*uint32)(unsafe.Pointer(bp)))
  23565. buf = buf + uintptr(*(*uint32)(unsafe.Pointer(bp)))
  23566. got += uint64(*(*uint32)(unsafe.Pointer(bp)))
  23567. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(*(*uint32)(unsafe.Pointer(bp)))
  23568. }
  23569. /* return number of bytes read into user buffer */
  23570. return got
  23571. }
  23572. // C documentation
  23573. //
  23574. // /* -- see zlib.h -- */
  23575. func Xgzread(tls *libc.TLS, file TgzFile, buf Tvoidp, len1 uint32) (r int32) {
  23576. var state Tgz_statep
  23577. _ = state
  23578. /* get internal structure */
  23579. if file == libc.UintptrFromInt32(0) {
  23580. return -int32(1)
  23581. }
  23582. state = file
  23583. /* check that we're reading and that there's no (serious) error */
  23584. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23585. return -int32(1)
  23586. }
  23587. /* since an int is returned, make sure len fits in one, otherwise return
  23588. with an error (this avoids a flaw in the interface) */
  23589. if libc.Int32FromUint32(len1) < 0 {
  23590. Xgz_error(tls, state, -int32(2), __ccgo_ts+703)
  23591. return -int32(1)
  23592. }
  23593. /* read len or fewer bytes to buf */
  23594. len1 = uint32(_gz_read(tls, state, buf, uint64(len1)))
  23595. /* check for an error */
  23596. if len1 == uint32(0) && (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23597. return -int32(1)
  23598. }
  23599. /* return the number of bytes read (this is assured to fit in an int) */
  23600. return libc.Int32FromUint32(len1)
  23601. }
  23602. // C documentation
  23603. //
  23604. // /* -- see zlib.h -- */
  23605. func Xgzfread(tls *libc.TLS, buf Tvoidp, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
  23606. var len1 Tz_size_t
  23607. var state Tgz_statep
  23608. var v1 uint64
  23609. _, _, _ = len1, state, v1
  23610. /* get internal structure */
  23611. if file == libc.UintptrFromInt32(0) {
  23612. return uint64(0)
  23613. }
  23614. state = file
  23615. /* check that we're reading and that there's no (serious) error */
  23616. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23617. return uint64(0)
  23618. }
  23619. /* compute bytes to read -- error on overflow */
  23620. len1 = nitems * size
  23621. if size != 0 && len1/size != nitems {
  23622. Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
  23623. return uint64(0)
  23624. }
  23625. /* read len or fewer bytes to buf, return the number of full items read */
  23626. if len1 != 0 {
  23627. v1 = _gz_read(tls, state, buf, len1) / size
  23628. } else {
  23629. v1 = uint64(0)
  23630. }
  23631. return v1
  23632. }
  23633. // C documentation
  23634. //
  23635. // /* -- see zlib.h -- */
  23636. func Xgzgetc(tls *libc.TLS, file TgzFile) (r int32) {
  23637. bp := tls.Alloc(16)
  23638. defer tls.Free(16)
  23639. var state Tgz_statep
  23640. var v1, v2 uintptr
  23641. var v3 int32
  23642. var _ /* buf at bp+0 */ [1]uint8
  23643. _, _, _, _ = state, v1, v2, v3
  23644. /* get internal structure */
  23645. if file == libc.UintptrFromInt32(0) {
  23646. return -int32(1)
  23647. }
  23648. state = file
  23649. /* check that we're reading and that there's no (serious) error */
  23650. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23651. return -int32(1)
  23652. }
  23653. /* try output buffer (no need to check for skip request) */
  23654. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  23655. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave--
  23656. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
  23657. v2 = state + 8
  23658. v1 = *(*uintptr)(unsafe.Pointer(v2))
  23659. *(*uintptr)(unsafe.Pointer(v2))++
  23660. return libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(v1)))
  23661. }
  23662. /* nothing there -- try gz_read() */
  23663. if _gz_read(tls, state, bp, uint64(1)) < uint64(1) {
  23664. v3 = -int32(1)
  23665. } else {
  23666. v3 = libc.Int32FromUint8((*(*[1]uint8)(unsafe.Pointer(bp)))[0])
  23667. }
  23668. return v3
  23669. }
  23670. func Xgzgetc_(tls *libc.TLS, file TgzFile) (r int32) {
  23671. return Xgzgetc(tls, file)
  23672. }
  23673. // C documentation
  23674. //
  23675. // /* -- see zlib.h -- */
  23676. func Xgzungetc(tls *libc.TLS, c int32, file TgzFile) (r int32) {
  23677. var dest, src, v1, v2 uintptr
  23678. var state Tgz_statep
  23679. _, _, _, _, _ = dest, src, state, v1, v2
  23680. /* get internal structure */
  23681. if file == libc.UintptrFromInt32(0) {
  23682. return -int32(1)
  23683. }
  23684. state = file
  23685. /* in case this was just opened, set up the input buffer */
  23686. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  23687. _gz_look(tls, state)
  23688. }
  23689. /* check that we're reading and that there's no (serious) error */
  23690. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23691. return -int32(1)
  23692. }
  23693. /* process a skip request */
  23694. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23695. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23696. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23697. return -int32(1)
  23698. }
  23699. }
  23700. /* can't push EOF */
  23701. if c < 0 {
  23702. return -int32(1)
  23703. }
  23704. /* if output buffer empty, put byte at end (allows more pushing) */
  23705. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  23706. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(1)
  23707. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize<<libc.Int32FromInt32(1)) - uintptr(1)
  23708. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
  23709. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
  23710. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  23711. return c
  23712. }
  23713. /* if no room, give up (must have already done a gzungetc()) */
  23714. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
  23715. Xgz_error(tls, state, -int32(3), __ccgo_ts+767)
  23716. return -int32(1)
  23717. }
  23718. /* slide output data if needed and insert byte before existing data */
  23719. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext == (*Tgz_state)(unsafe.Pointer(state)).Fout {
  23720. src = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
  23721. dest = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize<<libc.Int32FromInt32(1))
  23722. for src > (*Tgz_state)(unsafe.Pointer(state)).Fout {
  23723. dest--
  23724. v1 = dest
  23725. src--
  23726. v2 = src
  23727. *(*uint8)(unsafe.Pointer(v1)) = *(*uint8)(unsafe.Pointer(v2))
  23728. }
  23729. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = dest
  23730. }
  23731. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave++
  23732. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext--
  23733. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
  23734. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
  23735. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  23736. return c
  23737. }
  23738. // C documentation
  23739. //
  23740. // /* -- see zlib.h -- */
  23741. func Xgzgets(tls *libc.TLS, file TgzFile, buf uintptr, len1 int32) (r uintptr) {
  23742. var eol, str uintptr
  23743. var left, n, v1 uint32
  23744. var state Tgz_statep
  23745. _, _, _, _, _, _ = eol, left, n, state, str, v1
  23746. /* check parameters and get internal structure */
  23747. if file == libc.UintptrFromInt32(0) || buf == libc.UintptrFromInt32(0) || len1 < int32(1) {
  23748. return libc.UintptrFromInt32(0)
  23749. }
  23750. state = file
  23751. /* check that we're reading and that there's no (serious) error */
  23752. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23753. return libc.UintptrFromInt32(0)
  23754. }
  23755. /* process a skip request */
  23756. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23757. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23758. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23759. return libc.UintptrFromInt32(0)
  23760. }
  23761. }
  23762. /* copy output bytes up to new line or len - 1, whichever comes first --
  23763. append a terminating zero to the string (we don't check for a zero in
  23764. the contents, let the user worry about that) */
  23765. str = buf
  23766. left = libc.Uint32FromInt32(len1) - uint32(1)
  23767. if left != 0 {
  23768. for cond := true; cond; cond = left != 0 && eol == libc.UintptrFromInt32(0) {
  23769. /* assure that something is in the output buffer */
  23770. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && _gz_fetch(tls, state) == -int32(1) {
  23771. return libc.UintptrFromInt32(0)
  23772. } /* error */
  23773. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) { /* end of file */
  23774. (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* read past end */
  23775. break /* return what we have */
  23776. }
  23777. /* look for end-of-line in current output buffer */
  23778. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > left {
  23779. v1 = left
  23780. } else {
  23781. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23782. }
  23783. n = v1
  23784. eol = libc.Xmemchr(tls, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, int32('\n'), uint64(n))
  23785. if eol != libc.UintptrFromInt32(0) {
  23786. n = libc.Uint32FromInt64(int64(eol)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) + uint32(1)
  23787. }
  23788. /* copy through end-of-line, or remainder if not found */
  23789. libc.Xmemcpy(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(n))
  23790. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  23791. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  23792. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  23793. left -= n
  23794. buf += uintptr(n)
  23795. }
  23796. }
  23797. /* return terminated string, or if nothing, end of file */
  23798. if buf == str {
  23799. return libc.UintptrFromInt32(0)
  23800. }
  23801. *(*int8)(unsafe.Pointer(buf)) = 0
  23802. return str
  23803. }
  23804. // C documentation
  23805. //
  23806. // /* -- see zlib.h -- */
  23807. func Xgzdirect(tls *libc.TLS, file TgzFile) (r int32) {
  23808. var state Tgz_statep
  23809. _ = state
  23810. /* get internal structure */
  23811. if file == libc.UintptrFromInt32(0) {
  23812. return 0
  23813. }
  23814. state = file
  23815. /* if the state is not known, but we can find out, then do so (this is
  23816. mainly for right after a gzopen() or gzdopen()) */
  23817. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  23818. _gz_look(tls, state)
  23819. }
  23820. /* return 1 if transparent, 0 if processing a gzip stream */
  23821. return (*Tgz_state)(unsafe.Pointer(state)).Fdirect
  23822. }
  23823. // C documentation
  23824. //
  23825. // /* -- see zlib.h -- */
  23826. func Xgzclose_r(tls *libc.TLS, file TgzFile) (r int32) {
  23827. var err, ret, v1, v2 int32
  23828. var state Tgz_statep
  23829. _, _, _, _, _ = err, ret, state, v1, v2
  23830. /* get internal structure */
  23831. if file == libc.UintptrFromInt32(0) {
  23832. return -int32(2)
  23833. }
  23834. state = file
  23835. /* check that we're reading */
  23836. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) {
  23837. return -int32(2)
  23838. }
  23839. /* free memory and close file */
  23840. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  23841. XinflateEnd(tls, state+128)
  23842. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23843. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23844. }
  23845. if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(5) {
  23846. v1 = -int32(5)
  23847. } else {
  23848. v1 = m_Z_OK
  23849. }
  23850. err = v1
  23851. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  23852. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  23853. ret = libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd)
  23854. libc.Xfree(tls, state)
  23855. if ret != 0 {
  23856. v2 = -int32(1)
  23857. } else {
  23858. v2 = err
  23859. }
  23860. return v2
  23861. }
  23862. // C documentation
  23863. //
  23864. // /* Initialize state for writing a gzip file. Mark initialization by setting
  23865. // state->size to non-zero. Return -1 on a memory allocation failure, or 0 on
  23866. // success. */
  23867. func _gz_init(tls *libc.TLS, state Tgz_statep) (r int32) {
  23868. var ret int32
  23869. var strm Tz_streamp
  23870. _, _ = ret, strm
  23871. strm = state + 128
  23872. /* allocate input buffer (double size for gzprintf) */
  23873. (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
  23874. if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) {
  23875. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23876. return -int32(1)
  23877. }
  23878. /* only need output buffer and deflate state if compressing */
  23879. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  23880. /* allocate output buffer */
  23881. (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
  23882. if (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
  23883. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23884. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23885. return -int32(1)
  23886. }
  23887. /* allocate deflate memory, set up for gzip compression */
  23888. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = uintptr(m_Z_NULL)
  23889. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = uintptr(m_Z_NULL)
  23890. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = uintptr(m_Z_NULL)
  23891. ret = XdeflateInit2_(tls, strm, (*Tgz_state)(unsafe.Pointer(state)).Flevel, int32(m_Z_DEFLATED), libc.Int32FromInt32(m_MAX_WBITS)+libc.Int32FromInt32(16), int32(m_DEF_MEM_LEVEL), (*Tgz_state)(unsafe.Pointer(state)).Fstrategy, __ccgo_ts, libc.Int32FromInt64(112))
  23892. if ret != m_Z_OK {
  23893. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23894. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23895. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23896. return -int32(1)
  23897. }
  23898. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = libc.UintptrFromInt32(0)
  23899. }
  23900. /* mark state as initialized */
  23901. (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
  23902. /* initialize write buffer if compressing */
  23903. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  23904. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  23905. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23906. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  23907. }
  23908. return 0
  23909. }
  23910. // C documentation
  23911. //
  23912. // /* Compress whatever is at avail_in and next_in and write to the output file.
  23913. // Return -1 if there is an error writing to the output file or if gz_init()
  23914. // fails to allocate memory, otherwise 0. flush is assumed to be a valid
  23915. // deflate() flush value. If flush is Z_FINISH, then the deflate() state is
  23916. // reset to start a new gzip stream. If gz->direct is true, then simply write
  23917. // to the output file without compressing, and ignore flush. */
  23918. func _gz_comp(tls *libc.TLS, state Tgz_statep, flush int32) (r int32) {
  23919. var have, max, put, v1, v2 uint32
  23920. var ret, writ int32
  23921. var strm Tz_streamp
  23922. _, _, _, _, _, _, _, _ = have, max, put, ret, strm, writ, v1, v2
  23923. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
  23924. strm = state + 128
  23925. /* allocate memory if this is the first time through */
  23926. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  23927. return -int32(1)
  23928. }
  23929. /* write directly if requested */
  23930. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  23931. for (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 {
  23932. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in > max {
  23933. v1 = max
  23934. } else {
  23935. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  23936. }
  23937. put = v1
  23938. writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(put)))
  23939. if writ < 0 {
  23940. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
  23941. return -int32(1)
  23942. }
  23943. *(*TuInt)(unsafe.Pointer(strm + 8)) -= libc.Uint32FromInt32(writ)
  23944. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(writ)
  23945. }
  23946. return 0
  23947. }
  23948. /* check for a pending reset */
  23949. if (*Tgz_state)(unsafe.Pointer(state)).Freset != 0 {
  23950. /* don't start a new gzip member unless there is data to write */
  23951. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  23952. return 0
  23953. }
  23954. XdeflateReset(tls, strm)
  23955. (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
  23956. }
  23957. /* run deflate() on provided input until it produces no more output */
  23958. ret = m_Z_OK
  23959. for cond := true; cond; cond = have != 0 {
  23960. /* write out current buffer contents if full, or if flushing, but if
  23961. doing Z_FINISH then don't write until we get to Z_STREAM_END */
  23962. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) || flush != m_Z_NO_FLUSH && (flush != int32(m_Z_FINISH) || ret == int32(m_Z_STREAM_END)) {
  23963. for (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out > (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext {
  23964. if int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext) > int64(libc.Int32FromUint32(max)) {
  23965. v2 = max
  23966. } else {
  23967. v2 = libc.Uint32FromInt64(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out) - int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext))
  23968. }
  23969. put = v2
  23970. writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(put)))
  23971. if writ < 0 {
  23972. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
  23973. return -int32(1)
  23974. }
  23975. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(writ)
  23976. }
  23977. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  23978. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  23979. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23980. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23981. }
  23982. }
  23983. /* compress */
  23984. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23985. ret = Xdeflate(tls, strm, flush)
  23986. if ret == -int32(2) {
  23987. Xgz_error(tls, state, -int32(2), __ccgo_ts+798)
  23988. return -int32(1)
  23989. }
  23990. have -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23991. }
  23992. /* if that completed a deflate stream, allow another to start */
  23993. if flush == int32(m_Z_FINISH) {
  23994. (*Tgz_state)(unsafe.Pointer(state)).Freset = int32(1)
  23995. }
  23996. /* all done, no errors */
  23997. return 0
  23998. }
  23999. // C documentation
  24000. //
  24001. // /* Compress len zeros to output. Return -1 on a write error or memory
  24002. // allocation failure by gz_comp(), or 0 on success. */
  24003. func _gz_zero(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
  24004. var first int32
  24005. var n, v1 uint32
  24006. var strm Tz_streamp
  24007. _, _, _, _ = first, n, strm, v1
  24008. strm = state + 128
  24009. /* consume whatever's left in the input buffer */
  24010. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24011. return -int32(1)
  24012. }
  24013. /* compress len zeros (len guaranteed > 0) */
  24014. first = int32(1)
  24015. for len1 != 0 {
  24016. if libc.Bool(libc.Bool(uint64(4) == uint64(8)) && (*Tgz_state)(unsafe.Pointer(state)).Fsize > Xgz_intmax(tls)) || libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fsize) > len1 {
  24017. v1 = libc.Uint32FromInt64(len1)
  24018. } else {
  24019. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  24020. }
  24021. n = v1
  24022. if first != 0 {
  24023. libc.Xmemset(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, 0, uint64(n))
  24024. first = 0
  24025. }
  24026. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = n
  24027. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24028. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  24029. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24030. return -int32(1)
  24031. }
  24032. len1 -= libc.Int64FromUint32(n)
  24033. }
  24034. return 0
  24035. }
  24036. // C documentation
  24037. //
  24038. // /* Write len bytes from buf to file. Return the number of bytes written. If
  24039. // the returned value is less than len, then there was an error. */
  24040. func _gz_write(tls *libc.TLS, state Tgz_statep, buf Tvoidpc, len1 Tz_size_t) (r Tz_size_t) {
  24041. var copy1, have, n uint32
  24042. var put Tz_size_t
  24043. _, _, _, _ = copy1, have, n, put
  24044. put = len1
  24045. /* if len is zero, avoid unnecessary operations */
  24046. if len1 == uint64(0) {
  24047. return uint64(0)
  24048. }
  24049. /* allocate memory if this is the first time through */
  24050. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  24051. return uint64(0)
  24052. }
  24053. /* check for seek request */
  24054. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24055. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24056. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24057. return uint64(0)
  24058. }
  24059. }
  24060. /* for small len, copy to input buffer, otherwise compress directly */
  24061. if len1 < uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize) {
  24062. /* copy to input buffer, compress when full */
  24063. for cond := true; cond; cond = len1 != 0 {
  24064. if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  24065. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24066. }
  24067. have = libc.Uint32FromInt64(int64((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in+uintptr((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)) - int64((*Tgz_state)(unsafe.Pointer(state)).Fin))
  24068. copy1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize - have
  24069. if uint64(copy1) > len1 {
  24070. copy1 = uint32(len1)
  24071. }
  24072. libc.Xmemcpy(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr(have), buf, uint64(copy1))
  24073. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in += copy1
  24074. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(copy1)
  24075. buf = buf + uintptr(copy1)
  24076. len1 -= uint64(copy1)
  24077. if len1 != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24078. return uint64(0)
  24079. }
  24080. }
  24081. } else {
  24082. /* consume whatever's left in the input buffer */
  24083. if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24084. return uint64(0)
  24085. }
  24086. /* directly compress user buffer to file */
  24087. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = buf
  24088. for cond := true; cond; cond = len1 != 0 {
  24089. n = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  24090. if uint64(n) > len1 {
  24091. n = uint32(len1)
  24092. }
  24093. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = n
  24094. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  24095. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24096. return uint64(0)
  24097. }
  24098. len1 -= uint64(n)
  24099. }
  24100. }
  24101. /* input was all buffered or compressed */
  24102. return put
  24103. }
  24104. // C documentation
  24105. //
  24106. // /* -- see zlib.h -- */
  24107. func Xgzwrite(tls *libc.TLS, file TgzFile, buf Tvoidpc, len1 uint32) (r int32) {
  24108. var state Tgz_statep
  24109. _ = state
  24110. /* get internal structure */
  24111. if file == libc.UintptrFromInt32(0) {
  24112. return 0
  24113. }
  24114. state = file
  24115. /* check that we're writing and that there's no error */
  24116. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24117. return 0
  24118. }
  24119. /* since an int is returned, make sure len fits in one, otherwise return
  24120. with an error (this avoids a flaw in the interface) */
  24121. if libc.Int32FromUint32(len1) < 0 {
  24122. Xgz_error(tls, state, -int32(3), __ccgo_ts+837)
  24123. return 0
  24124. }
  24125. /* write len bytes from buf (the return value will fit in an int) */
  24126. return libc.Int32FromUint64(_gz_write(tls, state, buf, uint64(len1)))
  24127. }
  24128. // C documentation
  24129. //
  24130. // /* -- see zlib.h -- */
  24131. func Xgzfwrite(tls *libc.TLS, buf Tvoidpc, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
  24132. var len1 Tz_size_t
  24133. var state Tgz_statep
  24134. var v1 uint64
  24135. _, _, _ = len1, state, v1
  24136. /* get internal structure */
  24137. if file == libc.UintptrFromInt32(0) {
  24138. return uint64(0)
  24139. }
  24140. state = file
  24141. /* check that we're writing and that there's no error */
  24142. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24143. return uint64(0)
  24144. }
  24145. /* compute bytes to read -- error on overflow */
  24146. len1 = nitems * size
  24147. if size != 0 && len1/size != nitems {
  24148. Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
  24149. return uint64(0)
  24150. }
  24151. /* write len bytes to buf, return the number of full items written */
  24152. if len1 != 0 {
  24153. v1 = _gz_write(tls, state, buf, len1) / size
  24154. } else {
  24155. v1 = uint64(0)
  24156. }
  24157. return v1
  24158. }
  24159. // C documentation
  24160. //
  24161. // /* -- see zlib.h -- */
  24162. func Xgzputc(tls *libc.TLS, file TgzFile, c int32) (r int32) {
  24163. bp := tls.Alloc(16)
  24164. defer tls.Free(16)
  24165. var have uint32
  24166. var state Tgz_statep
  24167. var strm Tz_streamp
  24168. var _ /* buf at bp+0 */ [1]uint8
  24169. _, _, _ = have, state, strm
  24170. /* get internal structure */
  24171. if file == libc.UintptrFromInt32(0) {
  24172. return -int32(1)
  24173. }
  24174. state = file
  24175. strm = state + 128
  24176. /* check that we're writing and that there's no error */
  24177. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24178. return -int32(1)
  24179. }
  24180. /* check for seek request */
  24181. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24182. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24183. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24184. return -int32(1)
  24185. }
  24186. }
  24187. /* try writing to input buffer for speed (state->size == 0 if buffer not
  24188. initialized) */
  24189. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  24190. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  24191. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24192. }
  24193. have = libc.Uint32FromInt64(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in+uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in)) - int64((*Tgz_state)(unsafe.Pointer(state)).Fin))
  24194. if have < (*Tgz_state)(unsafe.Pointer(state)).Fsize {
  24195. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fin + uintptr(have))) = libc.Uint8FromInt32(c)
  24196. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in++
  24197. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
  24198. return c & int32(0xff)
  24199. }
  24200. }
  24201. /* no room in buffer or not initialized, use gz_write() */
  24202. (*(*[1]uint8)(unsafe.Pointer(bp)))[0] = libc.Uint8FromInt32(c)
  24203. if _gz_write(tls, state, bp, uint64(1)) != uint64(1) {
  24204. return -int32(1)
  24205. }
  24206. return c & int32(0xff)
  24207. }
  24208. // C documentation
  24209. //
  24210. // /* -- see zlib.h -- */
  24211. func Xgzputs(tls *libc.TLS, file TgzFile, s uintptr) (r int32) {
  24212. var len1, put Tz_size_t
  24213. var state Tgz_statep
  24214. var v1 int32
  24215. _, _, _, _ = len1, put, state, v1
  24216. /* get internal structure */
  24217. if file == libc.UintptrFromInt32(0) {
  24218. return -int32(1)
  24219. }
  24220. state = file
  24221. /* check that we're writing and that there's no error */
  24222. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24223. return -int32(1)
  24224. }
  24225. /* write string */
  24226. len1 = libc.Xstrlen(tls, s)
  24227. if libc.Int32FromUint64(len1) < 0 || uint64(uint32(len1)) != len1 {
  24228. Xgz_error(tls, state, -int32(2), __ccgo_ts+874)
  24229. return -int32(1)
  24230. }
  24231. put = _gz_write(tls, state, s, len1)
  24232. if put < len1 {
  24233. v1 = -int32(1)
  24234. } else {
  24235. v1 = libc.Int32FromUint64(len1)
  24236. }
  24237. return v1
  24238. }
  24239. /*-
  24240. * This file is in the public domain.
  24241. */
  24242. /*-
  24243. * SPDX-License-Identifier: BSD-2-Clause
  24244. *
  24245. * Copyright (c) 2017 Poul-Henning Kamp. All rights reserved.
  24246. *
  24247. * Redistribution and use in source and binary forms, with or without
  24248. * modification, are permitted provided that the following conditions
  24249. * are met:
  24250. * 1. Redistributions of source code must retain the above copyright
  24251. * notice, this list of conditions and the following disclaimer.
  24252. * 2. Redistributions in binary form must reproduce the above copyright
  24253. * notice, this list of conditions and the following disclaimer in the
  24254. * documentation and/or other materials provided with the distribution.
  24255. *
  24256. * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  24257. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  24258. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24259. * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  24260. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  24261. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  24262. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  24263. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  24264. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  24265. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  24266. * SUCH DAMAGE.
  24267. */
  24268. // C documentation
  24269. //
  24270. // /* -- see zlib.h -- */
  24271. func Xgzvprintf(tls *libc.TLS, file TgzFile, format uintptr, va Tva_list) (r int32) {
  24272. var left uint32
  24273. var len1 int32
  24274. var next uintptr
  24275. var state Tgz_statep
  24276. var strm Tz_streamp
  24277. _, _, _, _, _ = left, len1, next, state, strm
  24278. /* get internal structure */
  24279. if file == libc.UintptrFromInt32(0) {
  24280. return -int32(2)
  24281. }
  24282. state = file
  24283. strm = state + 128
  24284. /* check that we're writing and that there's no error */
  24285. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24286. return -int32(2)
  24287. }
  24288. /* make sure we have some buffer space */
  24289. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  24290. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24291. }
  24292. /* check for seek request */
  24293. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24294. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24295. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24296. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24297. }
  24298. }
  24299. /* do the printf() into the input buffer, put length in len -- the input
  24300. buffer is double-sized just for this function, so there is guaranteed to
  24301. be state->size bytes available after the current contents */
  24302. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  24303. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24304. }
  24305. next = (*Tgz_state)(unsafe.Pointer(state)).Fin + uintptr(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in)-int64((*Tgz_state)(unsafe.Pointer(state)).Fin)) + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in)
  24306. *(*int8)(unsafe.Pointer(next + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize-uint32(1)))) = 0
  24307. len1 = libc.X__builtin_vsnprintf(tls, next, uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize), format, va)
  24308. /* check that printf() results fit in buffer */
  24309. if len1 == 0 || libc.Uint32FromInt32(len1) >= (*Tgz_state)(unsafe.Pointer(state)).Fsize || int32(*(*int8)(unsafe.Pointer(next + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize-uint32(1))))) != 0 {
  24310. return 0
  24311. }
  24312. /* update buffer and position, compress first half if past that */
  24313. *(*TuInt)(unsafe.Pointer(strm + 8)) += libc.Uint32FromInt32(len1)
  24314. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += int64(len1)
  24315. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in >= (*Tgz_state)(unsafe.Pointer(state)).Fsize {
  24316. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in - (*Tgz_state)(unsafe.Pointer(state)).Fsize
  24317. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  24318. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24319. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24320. }
  24321. libc.Xmemmove(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize), uint64(left))
  24322. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24323. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = left
  24324. }
  24325. return len1
  24326. }
  24327. func Xgzprintf(tls *libc.TLS, file TgzFile, format uintptr, va1 uintptr) (r int32) {
  24328. var ret int32
  24329. var va Tva_list
  24330. _, _ = ret, va
  24331. va = va1
  24332. ret = Xgzvprintf(tls, file, format, va)
  24333. _ = va
  24334. return ret
  24335. }
  24336. // C documentation
  24337. //
  24338. // /* -- see zlib.h -- */
  24339. func Xgzflush(tls *libc.TLS, file TgzFile, flush int32) (r int32) {
  24340. var state Tgz_statep
  24341. _ = state
  24342. /* get internal structure */
  24343. if file == libc.UintptrFromInt32(0) {
  24344. return -int32(2)
  24345. }
  24346. state = file
  24347. /* check that we're writing and that there's no error */
  24348. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24349. return -int32(2)
  24350. }
  24351. /* check flush parameter */
  24352. if flush < 0 || flush > int32(m_Z_FINISH) {
  24353. return -int32(2)
  24354. }
  24355. /* check for seek request */
  24356. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24357. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24358. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24359. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24360. }
  24361. }
  24362. /* compress remaining data with requested flush */
  24363. _gz_comp(tls, state, flush)
  24364. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24365. }
  24366. // C documentation
  24367. //
  24368. // /* -- see zlib.h -- */
  24369. func Xgzsetparams(tls *libc.TLS, file TgzFile, level int32, strategy int32) (r int32) {
  24370. var state Tgz_statep
  24371. var strm Tz_streamp
  24372. _, _ = state, strm
  24373. /* get internal structure */
  24374. if file == libc.UintptrFromInt32(0) {
  24375. return -int32(2)
  24376. }
  24377. state = file
  24378. strm = state + 128
  24379. /* check that we're writing and that there's no error */
  24380. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK || (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  24381. return -int32(2)
  24382. }
  24383. /* if no change is requested, then do nothing */
  24384. if level == (*Tgz_state)(unsafe.Pointer(state)).Flevel && strategy == (*Tgz_state)(unsafe.Pointer(state)).Fstrategy {
  24385. return m_Z_OK
  24386. }
  24387. /* check for seek request */
  24388. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24389. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24390. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24391. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24392. }
  24393. }
  24394. /* change compression parameters for subsequent input */
  24395. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  24396. /* flush previous input with previous parameters before changing */
  24397. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, int32(m_Z_BLOCK)) == -int32(1) {
  24398. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24399. }
  24400. XdeflateParams(tls, strm, level, strategy)
  24401. }
  24402. (*Tgz_state)(unsafe.Pointer(state)).Flevel = level
  24403. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = strategy
  24404. return m_Z_OK
  24405. }
  24406. // C documentation
  24407. //
  24408. // /* -- see zlib.h -- */
  24409. func Xgzclose_w(tls *libc.TLS, file TgzFile) (r int32) {
  24410. var ret int32
  24411. var state Tgz_statep
  24412. _, _ = ret, state
  24413. ret = m_Z_OK
  24414. /* get internal structure */
  24415. if file == libc.UintptrFromInt32(0) {
  24416. return -int32(2)
  24417. }
  24418. state = file
  24419. /* check that we're writing */
  24420. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24421. return -int32(2)
  24422. }
  24423. /* check for seek request */
  24424. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24425. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24426. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24427. ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24428. }
  24429. }
  24430. /* flush, free memory, and close file */
  24431. if _gz_comp(tls, state, int32(m_Z_FINISH)) == -int32(1) {
  24432. ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24433. }
  24434. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  24435. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  24436. XdeflateEnd(tls, state+128)
  24437. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  24438. }
  24439. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  24440. }
  24441. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  24442. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  24443. if libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd) == -int32(1) {
  24444. ret = -int32(1)
  24445. }
  24446. libc.Xfree(tls, state)
  24447. return ret
  24448. }
  24449. func __ccgo_fp(f interface{}) uintptr {
  24450. type iface [2]uintptr
  24451. return (*iface)(unsafe.Pointer(&f))[1]
  24452. }
  24453. var x__dist_code = [512]Tuch{
  24454. 1: uint8(1),
  24455. 2: uint8(2),
  24456. 3: uint8(3),
  24457. 4: uint8(4),
  24458. 5: uint8(4),
  24459. 6: uint8(5),
  24460. 7: uint8(5),
  24461. 8: uint8(6),
  24462. 9: uint8(6),
  24463. 10: uint8(6),
  24464. 11: uint8(6),
  24465. 12: uint8(7),
  24466. 13: uint8(7),
  24467. 14: uint8(7),
  24468. 15: uint8(7),
  24469. 16: uint8(8),
  24470. 17: uint8(8),
  24471. 18: uint8(8),
  24472. 19: uint8(8),
  24473. 20: uint8(8),
  24474. 21: uint8(8),
  24475. 22: uint8(8),
  24476. 23: uint8(8),
  24477. 24: uint8(9),
  24478. 25: uint8(9),
  24479. 26: uint8(9),
  24480. 27: uint8(9),
  24481. 28: uint8(9),
  24482. 29: uint8(9),
  24483. 30: uint8(9),
  24484. 31: uint8(9),
  24485. 32: uint8(10),
  24486. 33: uint8(10),
  24487. 34: uint8(10),
  24488. 35: uint8(10),
  24489. 36: uint8(10),
  24490. 37: uint8(10),
  24491. 38: uint8(10),
  24492. 39: uint8(10),
  24493. 40: uint8(10),
  24494. 41: uint8(10),
  24495. 42: uint8(10),
  24496. 43: uint8(10),
  24497. 44: uint8(10),
  24498. 45: uint8(10),
  24499. 46: uint8(10),
  24500. 47: uint8(10),
  24501. 48: uint8(11),
  24502. 49: uint8(11),
  24503. 50: uint8(11),
  24504. 51: uint8(11),
  24505. 52: uint8(11),
  24506. 53: uint8(11),
  24507. 54: uint8(11),
  24508. 55: uint8(11),
  24509. 56: uint8(11),
  24510. 57: uint8(11),
  24511. 58: uint8(11),
  24512. 59: uint8(11),
  24513. 60: uint8(11),
  24514. 61: uint8(11),
  24515. 62: uint8(11),
  24516. 63: uint8(11),
  24517. 64: uint8(12),
  24518. 65: uint8(12),
  24519. 66: uint8(12),
  24520. 67: uint8(12),
  24521. 68: uint8(12),
  24522. 69: uint8(12),
  24523. 70: uint8(12),
  24524. 71: uint8(12),
  24525. 72: uint8(12),
  24526. 73: uint8(12),
  24527. 74: uint8(12),
  24528. 75: uint8(12),
  24529. 76: uint8(12),
  24530. 77: uint8(12),
  24531. 78: uint8(12),
  24532. 79: uint8(12),
  24533. 80: uint8(12),
  24534. 81: uint8(12),
  24535. 82: uint8(12),
  24536. 83: uint8(12),
  24537. 84: uint8(12),
  24538. 85: uint8(12),
  24539. 86: uint8(12),
  24540. 87: uint8(12),
  24541. 88: uint8(12),
  24542. 89: uint8(12),
  24543. 90: uint8(12),
  24544. 91: uint8(12),
  24545. 92: uint8(12),
  24546. 93: uint8(12),
  24547. 94: uint8(12),
  24548. 95: uint8(12),
  24549. 96: uint8(13),
  24550. 97: uint8(13),
  24551. 98: uint8(13),
  24552. 99: uint8(13),
  24553. 100: uint8(13),
  24554. 101: uint8(13),
  24555. 102: uint8(13),
  24556. 103: uint8(13),
  24557. 104: uint8(13),
  24558. 105: uint8(13),
  24559. 106: uint8(13),
  24560. 107: uint8(13),
  24561. 108: uint8(13),
  24562. 109: uint8(13),
  24563. 110: uint8(13),
  24564. 111: uint8(13),
  24565. 112: uint8(13),
  24566. 113: uint8(13),
  24567. 114: uint8(13),
  24568. 115: uint8(13),
  24569. 116: uint8(13),
  24570. 117: uint8(13),
  24571. 118: uint8(13),
  24572. 119: uint8(13),
  24573. 120: uint8(13),
  24574. 121: uint8(13),
  24575. 122: uint8(13),
  24576. 123: uint8(13),
  24577. 124: uint8(13),
  24578. 125: uint8(13),
  24579. 126: uint8(13),
  24580. 127: uint8(13),
  24581. 128: uint8(14),
  24582. 129: uint8(14),
  24583. 130: uint8(14),
  24584. 131: uint8(14),
  24585. 132: uint8(14),
  24586. 133: uint8(14),
  24587. 134: uint8(14),
  24588. 135: uint8(14),
  24589. 136: uint8(14),
  24590. 137: uint8(14),
  24591. 138: uint8(14),
  24592. 139: uint8(14),
  24593. 140: uint8(14),
  24594. 141: uint8(14),
  24595. 142: uint8(14),
  24596. 143: uint8(14),
  24597. 144: uint8(14),
  24598. 145: uint8(14),
  24599. 146: uint8(14),
  24600. 147: uint8(14),
  24601. 148: uint8(14),
  24602. 149: uint8(14),
  24603. 150: uint8(14),
  24604. 151: uint8(14),
  24605. 152: uint8(14),
  24606. 153: uint8(14),
  24607. 154: uint8(14),
  24608. 155: uint8(14),
  24609. 156: uint8(14),
  24610. 157: uint8(14),
  24611. 158: uint8(14),
  24612. 159: uint8(14),
  24613. 160: uint8(14),
  24614. 161: uint8(14),
  24615. 162: uint8(14),
  24616. 163: uint8(14),
  24617. 164: uint8(14),
  24618. 165: uint8(14),
  24619. 166: uint8(14),
  24620. 167: uint8(14),
  24621. 168: uint8(14),
  24622. 169: uint8(14),
  24623. 170: uint8(14),
  24624. 171: uint8(14),
  24625. 172: uint8(14),
  24626. 173: uint8(14),
  24627. 174: uint8(14),
  24628. 175: uint8(14),
  24629. 176: uint8(14),
  24630. 177: uint8(14),
  24631. 178: uint8(14),
  24632. 179: uint8(14),
  24633. 180: uint8(14),
  24634. 181: uint8(14),
  24635. 182: uint8(14),
  24636. 183: uint8(14),
  24637. 184: uint8(14),
  24638. 185: uint8(14),
  24639. 186: uint8(14),
  24640. 187: uint8(14),
  24641. 188: uint8(14),
  24642. 189: uint8(14),
  24643. 190: uint8(14),
  24644. 191: uint8(14),
  24645. 192: uint8(15),
  24646. 193: uint8(15),
  24647. 194: uint8(15),
  24648. 195: uint8(15),
  24649. 196: uint8(15),
  24650. 197: uint8(15),
  24651. 198: uint8(15),
  24652. 199: uint8(15),
  24653. 200: uint8(15),
  24654. 201: uint8(15),
  24655. 202: uint8(15),
  24656. 203: uint8(15),
  24657. 204: uint8(15),
  24658. 205: uint8(15),
  24659. 206: uint8(15),
  24660. 207: uint8(15),
  24661. 208: uint8(15),
  24662. 209: uint8(15),
  24663. 210: uint8(15),
  24664. 211: uint8(15),
  24665. 212: uint8(15),
  24666. 213: uint8(15),
  24667. 214: uint8(15),
  24668. 215: uint8(15),
  24669. 216: uint8(15),
  24670. 217: uint8(15),
  24671. 218: uint8(15),
  24672. 219: uint8(15),
  24673. 220: uint8(15),
  24674. 221: uint8(15),
  24675. 222: uint8(15),
  24676. 223: uint8(15),
  24677. 224: uint8(15),
  24678. 225: uint8(15),
  24679. 226: uint8(15),
  24680. 227: uint8(15),
  24681. 228: uint8(15),
  24682. 229: uint8(15),
  24683. 230: uint8(15),
  24684. 231: uint8(15),
  24685. 232: uint8(15),
  24686. 233: uint8(15),
  24687. 234: uint8(15),
  24688. 235: uint8(15),
  24689. 236: uint8(15),
  24690. 237: uint8(15),
  24691. 238: uint8(15),
  24692. 239: uint8(15),
  24693. 240: uint8(15),
  24694. 241: uint8(15),
  24695. 242: uint8(15),
  24696. 243: uint8(15),
  24697. 244: uint8(15),
  24698. 245: uint8(15),
  24699. 246: uint8(15),
  24700. 247: uint8(15),
  24701. 248: uint8(15),
  24702. 249: uint8(15),
  24703. 250: uint8(15),
  24704. 251: uint8(15),
  24705. 252: uint8(15),
  24706. 253: uint8(15),
  24707. 254: uint8(15),
  24708. 255: uint8(15),
  24709. 258: uint8(16),
  24710. 259: uint8(17),
  24711. 260: uint8(18),
  24712. 261: uint8(18),
  24713. 262: uint8(19),
  24714. 263: uint8(19),
  24715. 264: uint8(20),
  24716. 265: uint8(20),
  24717. 266: uint8(20),
  24718. 267: uint8(20),
  24719. 268: uint8(21),
  24720. 269: uint8(21),
  24721. 270: uint8(21),
  24722. 271: uint8(21),
  24723. 272: uint8(22),
  24724. 273: uint8(22),
  24725. 274: uint8(22),
  24726. 275: uint8(22),
  24727. 276: uint8(22),
  24728. 277: uint8(22),
  24729. 278: uint8(22),
  24730. 279: uint8(22),
  24731. 280: uint8(23),
  24732. 281: uint8(23),
  24733. 282: uint8(23),
  24734. 283: uint8(23),
  24735. 284: uint8(23),
  24736. 285: uint8(23),
  24737. 286: uint8(23),
  24738. 287: uint8(23),
  24739. 288: uint8(24),
  24740. 289: uint8(24),
  24741. 290: uint8(24),
  24742. 291: uint8(24),
  24743. 292: uint8(24),
  24744. 293: uint8(24),
  24745. 294: uint8(24),
  24746. 295: uint8(24),
  24747. 296: uint8(24),
  24748. 297: uint8(24),
  24749. 298: uint8(24),
  24750. 299: uint8(24),
  24751. 300: uint8(24),
  24752. 301: uint8(24),
  24753. 302: uint8(24),
  24754. 303: uint8(24),
  24755. 304: uint8(25),
  24756. 305: uint8(25),
  24757. 306: uint8(25),
  24758. 307: uint8(25),
  24759. 308: uint8(25),
  24760. 309: uint8(25),
  24761. 310: uint8(25),
  24762. 311: uint8(25),
  24763. 312: uint8(25),
  24764. 313: uint8(25),
  24765. 314: uint8(25),
  24766. 315: uint8(25),
  24767. 316: uint8(25),
  24768. 317: uint8(25),
  24769. 318: uint8(25),
  24770. 319: uint8(25),
  24771. 320: uint8(26),
  24772. 321: uint8(26),
  24773. 322: uint8(26),
  24774. 323: uint8(26),
  24775. 324: uint8(26),
  24776. 325: uint8(26),
  24777. 326: uint8(26),
  24778. 327: uint8(26),
  24779. 328: uint8(26),
  24780. 329: uint8(26),
  24781. 330: uint8(26),
  24782. 331: uint8(26),
  24783. 332: uint8(26),
  24784. 333: uint8(26),
  24785. 334: uint8(26),
  24786. 335: uint8(26),
  24787. 336: uint8(26),
  24788. 337: uint8(26),
  24789. 338: uint8(26),
  24790. 339: uint8(26),
  24791. 340: uint8(26),
  24792. 341: uint8(26),
  24793. 342: uint8(26),
  24794. 343: uint8(26),
  24795. 344: uint8(26),
  24796. 345: uint8(26),
  24797. 346: uint8(26),
  24798. 347: uint8(26),
  24799. 348: uint8(26),
  24800. 349: uint8(26),
  24801. 350: uint8(26),
  24802. 351: uint8(26),
  24803. 352: uint8(27),
  24804. 353: uint8(27),
  24805. 354: uint8(27),
  24806. 355: uint8(27),
  24807. 356: uint8(27),
  24808. 357: uint8(27),
  24809. 358: uint8(27),
  24810. 359: uint8(27),
  24811. 360: uint8(27),
  24812. 361: uint8(27),
  24813. 362: uint8(27),
  24814. 363: uint8(27),
  24815. 364: uint8(27),
  24816. 365: uint8(27),
  24817. 366: uint8(27),
  24818. 367: uint8(27),
  24819. 368: uint8(27),
  24820. 369: uint8(27),
  24821. 370: uint8(27),
  24822. 371: uint8(27),
  24823. 372: uint8(27),
  24824. 373: uint8(27),
  24825. 374: uint8(27),
  24826. 375: uint8(27),
  24827. 376: uint8(27),
  24828. 377: uint8(27),
  24829. 378: uint8(27),
  24830. 379: uint8(27),
  24831. 380: uint8(27),
  24832. 381: uint8(27),
  24833. 382: uint8(27),
  24834. 383: uint8(27),
  24835. 384: uint8(28),
  24836. 385: uint8(28),
  24837. 386: uint8(28),
  24838. 387: uint8(28),
  24839. 388: uint8(28),
  24840. 389: uint8(28),
  24841. 390: uint8(28),
  24842. 391: uint8(28),
  24843. 392: uint8(28),
  24844. 393: uint8(28),
  24845. 394: uint8(28),
  24846. 395: uint8(28),
  24847. 396: uint8(28),
  24848. 397: uint8(28),
  24849. 398: uint8(28),
  24850. 399: uint8(28),
  24851. 400: uint8(28),
  24852. 401: uint8(28),
  24853. 402: uint8(28),
  24854. 403: uint8(28),
  24855. 404: uint8(28),
  24856. 405: uint8(28),
  24857. 406: uint8(28),
  24858. 407: uint8(28),
  24859. 408: uint8(28),
  24860. 409: uint8(28),
  24861. 410: uint8(28),
  24862. 411: uint8(28),
  24863. 412: uint8(28),
  24864. 413: uint8(28),
  24865. 414: uint8(28),
  24866. 415: uint8(28),
  24867. 416: uint8(28),
  24868. 417: uint8(28),
  24869. 418: uint8(28),
  24870. 419: uint8(28),
  24871. 420: uint8(28),
  24872. 421: uint8(28),
  24873. 422: uint8(28),
  24874. 423: uint8(28),
  24875. 424: uint8(28),
  24876. 425: uint8(28),
  24877. 426: uint8(28),
  24878. 427: uint8(28),
  24879. 428: uint8(28),
  24880. 429: uint8(28),
  24881. 430: uint8(28),
  24882. 431: uint8(28),
  24883. 432: uint8(28),
  24884. 433: uint8(28),
  24885. 434: uint8(28),
  24886. 435: uint8(28),
  24887. 436: uint8(28),
  24888. 437: uint8(28),
  24889. 438: uint8(28),
  24890. 439: uint8(28),
  24891. 440: uint8(28),
  24892. 441: uint8(28),
  24893. 442: uint8(28),
  24894. 443: uint8(28),
  24895. 444: uint8(28),
  24896. 445: uint8(28),
  24897. 446: uint8(28),
  24898. 447: uint8(28),
  24899. 448: uint8(29),
  24900. 449: uint8(29),
  24901. 450: uint8(29),
  24902. 451: uint8(29),
  24903. 452: uint8(29),
  24904. 453: uint8(29),
  24905. 454: uint8(29),
  24906. 455: uint8(29),
  24907. 456: uint8(29),
  24908. 457: uint8(29),
  24909. 458: uint8(29),
  24910. 459: uint8(29),
  24911. 460: uint8(29),
  24912. 461: uint8(29),
  24913. 462: uint8(29),
  24914. 463: uint8(29),
  24915. 464: uint8(29),
  24916. 465: uint8(29),
  24917. 466: uint8(29),
  24918. 467: uint8(29),
  24919. 468: uint8(29),
  24920. 469: uint8(29),
  24921. 470: uint8(29),
  24922. 471: uint8(29),
  24923. 472: uint8(29),
  24924. 473: uint8(29),
  24925. 474: uint8(29),
  24926. 475: uint8(29),
  24927. 476: uint8(29),
  24928. 477: uint8(29),
  24929. 478: uint8(29),
  24930. 479: uint8(29),
  24931. 480: uint8(29),
  24932. 481: uint8(29),
  24933. 482: uint8(29),
  24934. 483: uint8(29),
  24935. 484: uint8(29),
  24936. 485: uint8(29),
  24937. 486: uint8(29),
  24938. 487: uint8(29),
  24939. 488: uint8(29),
  24940. 489: uint8(29),
  24941. 490: uint8(29),
  24942. 491: uint8(29),
  24943. 492: uint8(29),
  24944. 493: uint8(29),
  24945. 494: uint8(29),
  24946. 495: uint8(29),
  24947. 496: uint8(29),
  24948. 497: uint8(29),
  24949. 498: uint8(29),
  24950. 499: uint8(29),
  24951. 500: uint8(29),
  24952. 501: uint8(29),
  24953. 502: uint8(29),
  24954. 503: uint8(29),
  24955. 504: uint8(29),
  24956. 505: uint8(29),
  24957. 506: uint8(29),
  24958. 507: uint8(29),
  24959. 508: uint8(29),
  24960. 509: uint8(29),
  24961. 510: uint8(29),
  24962. 511: uint8(29),
  24963. }
  24964. var x__length_code = [256]Tuch{
  24965. 1: uint8(1),
  24966. 2: uint8(2),
  24967. 3: uint8(3),
  24968. 4: uint8(4),
  24969. 5: uint8(5),
  24970. 6: uint8(6),
  24971. 7: uint8(7),
  24972. 8: uint8(8),
  24973. 9: uint8(8),
  24974. 10: uint8(9),
  24975. 11: uint8(9),
  24976. 12: uint8(10),
  24977. 13: uint8(10),
  24978. 14: uint8(11),
  24979. 15: uint8(11),
  24980. 16: uint8(12),
  24981. 17: uint8(12),
  24982. 18: uint8(12),
  24983. 19: uint8(12),
  24984. 20: uint8(13),
  24985. 21: uint8(13),
  24986. 22: uint8(13),
  24987. 23: uint8(13),
  24988. 24: uint8(14),
  24989. 25: uint8(14),
  24990. 26: uint8(14),
  24991. 27: uint8(14),
  24992. 28: uint8(15),
  24993. 29: uint8(15),
  24994. 30: uint8(15),
  24995. 31: uint8(15),
  24996. 32: uint8(16),
  24997. 33: uint8(16),
  24998. 34: uint8(16),
  24999. 35: uint8(16),
  25000. 36: uint8(16),
  25001. 37: uint8(16),
  25002. 38: uint8(16),
  25003. 39: uint8(16),
  25004. 40: uint8(17),
  25005. 41: uint8(17),
  25006. 42: uint8(17),
  25007. 43: uint8(17),
  25008. 44: uint8(17),
  25009. 45: uint8(17),
  25010. 46: uint8(17),
  25011. 47: uint8(17),
  25012. 48: uint8(18),
  25013. 49: uint8(18),
  25014. 50: uint8(18),
  25015. 51: uint8(18),
  25016. 52: uint8(18),
  25017. 53: uint8(18),
  25018. 54: uint8(18),
  25019. 55: uint8(18),
  25020. 56: uint8(19),
  25021. 57: uint8(19),
  25022. 58: uint8(19),
  25023. 59: uint8(19),
  25024. 60: uint8(19),
  25025. 61: uint8(19),
  25026. 62: uint8(19),
  25027. 63: uint8(19),
  25028. 64: uint8(20),
  25029. 65: uint8(20),
  25030. 66: uint8(20),
  25031. 67: uint8(20),
  25032. 68: uint8(20),
  25033. 69: uint8(20),
  25034. 70: uint8(20),
  25035. 71: uint8(20),
  25036. 72: uint8(20),
  25037. 73: uint8(20),
  25038. 74: uint8(20),
  25039. 75: uint8(20),
  25040. 76: uint8(20),
  25041. 77: uint8(20),
  25042. 78: uint8(20),
  25043. 79: uint8(20),
  25044. 80: uint8(21),
  25045. 81: uint8(21),
  25046. 82: uint8(21),
  25047. 83: uint8(21),
  25048. 84: uint8(21),
  25049. 85: uint8(21),
  25050. 86: uint8(21),
  25051. 87: uint8(21),
  25052. 88: uint8(21),
  25053. 89: uint8(21),
  25054. 90: uint8(21),
  25055. 91: uint8(21),
  25056. 92: uint8(21),
  25057. 93: uint8(21),
  25058. 94: uint8(21),
  25059. 95: uint8(21),
  25060. 96: uint8(22),
  25061. 97: uint8(22),
  25062. 98: uint8(22),
  25063. 99: uint8(22),
  25064. 100: uint8(22),
  25065. 101: uint8(22),
  25066. 102: uint8(22),
  25067. 103: uint8(22),
  25068. 104: uint8(22),
  25069. 105: uint8(22),
  25070. 106: uint8(22),
  25071. 107: uint8(22),
  25072. 108: uint8(22),
  25073. 109: uint8(22),
  25074. 110: uint8(22),
  25075. 111: uint8(22),
  25076. 112: uint8(23),
  25077. 113: uint8(23),
  25078. 114: uint8(23),
  25079. 115: uint8(23),
  25080. 116: uint8(23),
  25081. 117: uint8(23),
  25082. 118: uint8(23),
  25083. 119: uint8(23),
  25084. 120: uint8(23),
  25085. 121: uint8(23),
  25086. 122: uint8(23),
  25087. 123: uint8(23),
  25088. 124: uint8(23),
  25089. 125: uint8(23),
  25090. 126: uint8(23),
  25091. 127: uint8(23),
  25092. 128: uint8(24),
  25093. 129: uint8(24),
  25094. 130: uint8(24),
  25095. 131: uint8(24),
  25096. 132: uint8(24),
  25097. 133: uint8(24),
  25098. 134: uint8(24),
  25099. 135: uint8(24),
  25100. 136: uint8(24),
  25101. 137: uint8(24),
  25102. 138: uint8(24),
  25103. 139: uint8(24),
  25104. 140: uint8(24),
  25105. 141: uint8(24),
  25106. 142: uint8(24),
  25107. 143: uint8(24),
  25108. 144: uint8(24),
  25109. 145: uint8(24),
  25110. 146: uint8(24),
  25111. 147: uint8(24),
  25112. 148: uint8(24),
  25113. 149: uint8(24),
  25114. 150: uint8(24),
  25115. 151: uint8(24),
  25116. 152: uint8(24),
  25117. 153: uint8(24),
  25118. 154: uint8(24),
  25119. 155: uint8(24),
  25120. 156: uint8(24),
  25121. 157: uint8(24),
  25122. 158: uint8(24),
  25123. 159: uint8(24),
  25124. 160: uint8(25),
  25125. 161: uint8(25),
  25126. 162: uint8(25),
  25127. 163: uint8(25),
  25128. 164: uint8(25),
  25129. 165: uint8(25),
  25130. 166: uint8(25),
  25131. 167: uint8(25),
  25132. 168: uint8(25),
  25133. 169: uint8(25),
  25134. 170: uint8(25),
  25135. 171: uint8(25),
  25136. 172: uint8(25),
  25137. 173: uint8(25),
  25138. 174: uint8(25),
  25139. 175: uint8(25),
  25140. 176: uint8(25),
  25141. 177: uint8(25),
  25142. 178: uint8(25),
  25143. 179: uint8(25),
  25144. 180: uint8(25),
  25145. 181: uint8(25),
  25146. 182: uint8(25),
  25147. 183: uint8(25),
  25148. 184: uint8(25),
  25149. 185: uint8(25),
  25150. 186: uint8(25),
  25151. 187: uint8(25),
  25152. 188: uint8(25),
  25153. 189: uint8(25),
  25154. 190: uint8(25),
  25155. 191: uint8(25),
  25156. 192: uint8(26),
  25157. 193: uint8(26),
  25158. 194: uint8(26),
  25159. 195: uint8(26),
  25160. 196: uint8(26),
  25161. 197: uint8(26),
  25162. 198: uint8(26),
  25163. 199: uint8(26),
  25164. 200: uint8(26),
  25165. 201: uint8(26),
  25166. 202: uint8(26),
  25167. 203: uint8(26),
  25168. 204: uint8(26),
  25169. 205: uint8(26),
  25170. 206: uint8(26),
  25171. 207: uint8(26),
  25172. 208: uint8(26),
  25173. 209: uint8(26),
  25174. 210: uint8(26),
  25175. 211: uint8(26),
  25176. 212: uint8(26),
  25177. 213: uint8(26),
  25178. 214: uint8(26),
  25179. 215: uint8(26),
  25180. 216: uint8(26),
  25181. 217: uint8(26),
  25182. 218: uint8(26),
  25183. 219: uint8(26),
  25184. 220: uint8(26),
  25185. 221: uint8(26),
  25186. 222: uint8(26),
  25187. 223: uint8(26),
  25188. 224: uint8(27),
  25189. 225: uint8(27),
  25190. 226: uint8(27),
  25191. 227: uint8(27),
  25192. 228: uint8(27),
  25193. 229: uint8(27),
  25194. 230: uint8(27),
  25195. 231: uint8(27),
  25196. 232: uint8(27),
  25197. 233: uint8(27),
  25198. 234: uint8(27),
  25199. 235: uint8(27),
  25200. 236: uint8(27),
  25201. 237: uint8(27),
  25202. 238: uint8(27),
  25203. 239: uint8(27),
  25204. 240: uint8(27),
  25205. 241: uint8(27),
  25206. 242: uint8(27),
  25207. 243: uint8(27),
  25208. 244: uint8(27),
  25209. 245: uint8(27),
  25210. 246: uint8(27),
  25211. 247: uint8(27),
  25212. 248: uint8(27),
  25213. 249: uint8(27),
  25214. 250: uint8(27),
  25215. 251: uint8(27),
  25216. 252: uint8(27),
  25217. 253: uint8(27),
  25218. 254: uint8(27),
  25219. 255: uint8(28),
  25220. }
  25221. var Xdeflate_copyright = [68]int8{' ', 'd', 'e', 'f', 'l', 'a', 't', 'e', ' ', '1', '.', '3', '.', '1', ' ', 'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', ' ', '1', '9', '9', '5', '-', '2', '0', '2', '4', ' ', 'J', 'e', 'a', 'n', '-', 'l', 'o', 'u', 'p', ' ', 'G', 'a', 'i', 'l', 'l', 'y', ' ', 'a', 'n', 'd', ' ', 'M', 'a', 'r', 'k', ' ', 'A', 'd', 'l', 'e', 'r', ' '}
  25222. var Xinflate_copyright = [47]int8{' ', 'i', 'n', 'f', 'l', 'a', 't', 'e', ' ', '1', '.', '3', '.', '1', ' ', 'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', ' ', '1', '9', '9', '5', '-', '2', '0', '2', '4', ' ', 'M', 'a', 'r', 'k', ' ', 'A', 'd', 'l', 'e', 'r', ' '}
  25223. var Xz_errmsg = [10]uintptr{
  25224. 0: __ccgo_ts + 467,
  25225. 1: __ccgo_ts + 483,
  25226. 2: __ccgo_ts + 494,
  25227. 3: __ccgo_ts + 495,
  25228. 4: __ccgo_ts + 506,
  25229. 5: __ccgo_ts + 519,
  25230. 6: __ccgo_ts + 530,
  25231. 7: __ccgo_ts + 550,
  25232. 8: __ccgo_ts + 563,
  25233. 9: __ccgo_ts + 494,
  25234. }
  25235. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  25236. var __ccgo_ts1 = "1.3.1\x00invalid block type\x00invalid stored block lengths\x00too many length or distance symbols\x00invalid code lengths set\x00invalid bit length repeat\x00invalid code -- missing end-of-block\x00invalid literal/lengths set\x00invalid distances set\x00invalid literal/length code\x00invalid distance code\x00invalid distance too far back\x00incorrect header check\x00unknown compression method\x00invalid window size\x00unknown header flags set\x00header crc mismatch\x00incorrect data check\x00incorrect length check\x00need dictionary\x00stream end\x00\x00file error\x00stream error\x00data error\x00insufficient memory\x00buffer error\x00incompatible version\x00%s\x00<fd:%d>\x00out of memory\x00%s%s%s\x00: \x00unexpected end of file\x00internal error: inflate stream corrupt\x00compressed data error\x00request does not fit in an int\x00request does not fit in a size_t\x00out of room to push characters\x00internal error: deflate stream corrupt\x00requested length does not fit in int\x00string length does not fit in int\x00"